Check-in [4e2933c620]

Not logged in
Overview
SHA1 Hash:4e2933c620d993725457347b81bc7d34e2a8738f
Date: 2015-04-21 10:46:55
User: kinaba
Comment:Rebased to the latest verson dmd 2.067. Not yet verified the outcome.
Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | manifest
Tags And Properties
Changes
hide diffs side-by-side diffs patch

Modified readme.txt from [0d3d287f0db238f3] to [1b96be90cbb7f76b].

58 58 src/libbz2ディレクトリの中身は、 59 59 libbzip2 60 60 http://sources.redhat.com/bzip2/ 61 61 をビルドしたライブラリなどです。この部分は 62 62 Copyright (C) 1996-2002 Julian R Seward. All rights reserved. 63 63 で。 64 64 65 - win32.lib と win32 ディレクトリの中身は 66 - windows.h for D 67 - http://hp.vector.co.jp/authors/VA028375/d/windows.h.html 65 + dmd_win32.lib と win32 ディレクトリの中身は 66 + DWinProgramming 67 + https://github.com/AndrejMitrovic/DWinProgramming 68 68 を利用しています。 69 69 70 70 他は NYSL 0.9982 ( http://www.kmonos.net/nysl/ )に基づいてご自由に。

Modified src/Makefile from [0e4ee8cbc0d43860] to [771cea5a31d0f506].

1 1 SRCFILES = qbga32.def qbga32.d util.d bga_melter.d hack.d windll.d qbga_gui.d 2 2 BZ2FILES = libbz2\\bzlib.d libbz2\\libbz2.lib 3 -DEPLIBS = win32a.lib 4 -OPTS = -release 3 +DEPLIBS = dmd_win32.lib 4 +OPTS = -release -shared 5 5 #OPTS = -unittest 6 6 7 7 QBga32.dll: $(SRCFILES) $(BZ2FILES) 8 8 dmd.exe $(OPTS) -ofQBga32.dll $(SRCFILES) $(BZ2FILES) $(DEPLIBS) 9 9 10 10 clean: 11 11 del *.map 12 12 del *.obj

Modified src/bga_melter.d from [9075347c70b2342c] to [3b6f189d5603825c].

1 -サソprivate import std.string; 1 +サソprivate import win32.windows; 2 +private import std.string; 2 3 private import std.file; 3 4 private import std.c.stdio; 5 +private import std.string; 4 6 private import etc.c.zlib; 5 -private import win32.ansi.windows; 6 7 private import libbz2.bzlib; 7 8 private import util; 8 9 9 10 //---------------------------------------------------------------- 10 11 // Bga譖ク蠎ォ縺ョ繝輔ぃ繧、繝ォ繝倥ャ繝蠖「蠑 11 12 //---------------------------------------------------------------- 12 13 ................................................................................ 23 24 ubyte header_type; // 繝倥ャ繝縺ョ遞ョ鬘( 迴セ蝨ィ縺ッ蟶ク縺ォ 0 ) 24 25 ushort arc_type; // 繧「繝シ繧ォ繧、繝悶ち繧、繝 25 26 // 0:(ext==竊?髱槫悸邵ョ:蝨ァ邵ョ) 1:蝨ァ邵ョ 2:髱槫悸邵ョ 26 27 // .ARC, .ARJ, .BZ2, .BZA, .CAB, .GZ, .GZA, .LZH, 27 28 // .LZS, .PAK, .RAR, .TAZ, .TBZ, .TGZ, .Z, .ZIP, .ZOO 28 29 ushort dir_name_len; // 繝繧」繝ャ繧ッ繝医Μ蜷阪ョ髟キ縺 29 30 ushort file_name_len; // 繝輔ぃ繧、繝ォ蜷阪ョ髟キ縺 30 - char[] fname; // dir_name_len + file_name_len ( no '\0' ) 31 + string fname; // dir_name_len + file_name_len ( no '\0' ) 31 32 } 32 33 33 34 //---------------------------------------------------------------- 34 35 // 繧ィ繝ゥ繝シ逋コ逕滓凾縺ォ謚輔£繧倶セ句、 35 36 //---------------------------------------------------------------- 36 37 37 38 class BgaMelterError : Error ................................................................................ 90 91 } 91 92 92 93 class Filep 93 94 { 94 95 private FILE* fp; 95 96 private this( FILE* p ) { fp = p; } 96 97 97 - static Filep open( char[] filename, bool read ) 98 + static Filep open( string filename, bool read ) 98 99 { 99 100 FILE* fp = fopen( toStringz(filename), read?"rb":"wb" ); 100 101 return (fp ? new Filep(fp) : null); 101 102 } 102 103 103 104 int dup_han() 104 105 { ................................................................................ 106 107 lseek( fd, cur(), 0 ); 107 108 return fd; 108 109 } 109 110 110 111 void[] read( int siz ) 111 112 { 112 113 char[] buf; buf.length = siz; 113 - int rsiz = fread( buf, 1, siz, fp ); 114 + int rsiz = fread( buf.ptr, 1, siz, fp ); 114 115 if( rsiz < 0 ) 115 116 throw new BgaMelterError(ERROR_FILE_OPEN); 116 117 buf.length = rsiz; 117 118 return buf; 118 119 } 119 120 120 121 void write( void[] buf ) 121 122 { 122 123 while( buf.length > 0 ) 123 124 { 124 - int rsiz = fwrite( buf, 1, buf.length, fp ); 125 + int rsiz = fwrite( buf.ptr, 1, buf.length, fp ); 125 126 if( rsiz < 0 ) return; 126 - buf = buf[rsiz .. length]; 127 + buf = buf[rsiz .. $]; 127 128 } 128 129 } 129 130 130 131 int cur() 131 132 { 132 133 return ftell(fp); 133 134 } ................................................................................ 151 152 152 153 //---------------------------------------------------------------- 153 154 // 繝。繧、繝ウ繧ッ繝ゥ繧ケ 154 155 //---------------------------------------------------------------- 155 156 156 157 class BgaMelter 157 158 { 158 - alias BgaAnswer delegate(inout BgaHeader) FileHandler; 159 + alias BgaAnswer delegate(ref BgaHeader) FileHandler; 159 160 alias BgaAnswer delegate(int, int) ProgressHandler; 160 161 161 162 private Filep fp = null; 162 163 163 - this( char[] arc_name ) 164 + this( string arc_name ) 164 165 { 165 166 fp = Filep.open( arc_name, true ); 166 167 if( fp is null ) 167 168 throw new BgaMelterError(ERROR_FILE_OPEN); 168 169 } 169 170 170 171 void close() ................................................................................ 212 213 bContinue = GzDec( hdr.compressed_size, hdr.original_size, outf, ph ); 213 214 else if( hdr.method == "BZ2\0" ) 214 215 bContinue = BzDec( hdr.original_size, outf, ph ); 215 216 216 217 // 髢峨§縺ヲ螻樊ァ險ュ螳 217 218 outf.close(); 218 219 dosSetFTime( hdr.fname, hdr.date, hdr.time ); 219 - SetFileAttributes( hdr.fname, hdr.attrib ); 220 + SetFileAttributesA( toStringz(hdr.fname), hdr.attrib ); 220 221 if( !bContinue ) 221 222 return; 222 223 } 223 224 finally { fp.seek_to(nextpos); } 224 225 } 225 226 } 226 227 finally { close(); } ................................................................................ 230 231 { 231 232 int cn = c; 232 233 return (cn>=0x80 ? cn|0xffffff00 : cn); 233 234 } 234 235 235 236 private int find_header() 236 237 { 237 - char[] dat = cast(char[]) fp.read(0x10000); 238 + string dat = cast(string) fp.read(0x10000); 238 239 239 240 for( int i=0; i<dat.length-28; ++i ) 240 241 { 241 242 if( dat[i+4]!='G' && dat[i+4]!='B' ) continue; 242 243 if( dat[i+5]!='Z' ) continue; 243 244 if( dat[i+6]!='I' && dat[i+6]!='2' ) continue; 244 245 if( dat[i+7]!='P' && dat[i+7]!='\0') continue; ................................................................................ 256 257 257 258 return -1; 258 259 } 259 260 260 261 private bool read_header( out BgaHeader hdr ) 261 262 { 262 263 // 繝ェ繝医Ν繧ィ繝ウ繝繧」繧「繝ウ繧剃サョ螳壹ゅ倥ャ繝隱ュ縺ソ霎シ縺ソ 263 - char[] buf = cast(char[]) fp.read(28); 264 + string buf = cast(string) fp.read(28); 264 265 if( buf.length < 28 ) return false; 265 266 buf.length = BgaHeader.sizeof; 266 267 hdr = (cast(BgaHeader[]) buf)[0]; 267 268 hdr.fname = ""; 268 269 269 270 // 繝輔ぃ繧、繝ォ蜷 270 - hdr.fname = cast(char[]) fp.read(hdr.dir_name_len + hdr.file_name_len); 271 + hdr.fname = cast(string) fp.read(hdr.dir_name_len + hdr.file_name_len); 271 272 if( hdr.fname.length < hdr.dir_name_len + hdr.file_name_len ) return false; 272 273 273 274 // 繝√ぉ繝繧ッ繧オ繝 274 275 int sum = 0; 275 276 for( int i=4; i!=28; ++i ) sum += signed_char(buf[i]); 276 277 foreach( char c ; hdr.fname ) sum += signed_char(c); 277 278 return (sum == hdr.checksum); 278 279 } 279 280 280 - private bool is_compressed( inout BgaHeader hdr ) // inout=just for optimization 281 + private bool is_compressed( ref BgaHeader hdr ) // ref=just for optimization 281 282 { 282 283 // 繝倥ャ繝縺九i縲√ヵ繧。繧、繝ォ縺悟悸邵ョ譬シ邏阪&繧後※縺繧九°縺ゥ縺縺九r蛻、螳 283 284 if( hdr.arc_type==2 ) 284 285 return false; 285 286 if( hdr.arc_type==0 && hdr.compressed_size==hdr.original_size ) 286 287 { 287 - int x = rfind( hdr.fname, '.' ); 288 + int x = hdr.fname.lastIndexOf('.'); 288 289 if( x == -1 ) 289 290 return true; 290 - char[] ext = tolower(hdr.fname[x+1 .. length]); 291 + string ext = toLower(hdr.fname[x+1 .. $]); 291 292 if( ext=="arc" || ext=="arj" || ext=="bz2" || ext=="bza" 292 293 || ext=="cab" || ext=="gz" || ext=="gza" || ext=="lzh" 293 294 || ext=="lzs" || ext=="pak" || ext=="rar" || ext=="taz" 294 295 || ext=="tbz" || ext=="tgz" || ext=="z" || ext=="zip" 295 296 || ext=="zoo" ) 296 297 return false; 297 298 } 298 299 return true; 299 300 } 300 301 301 - static char[] pathMake( char[] path ) 302 + static string pathMake( string path ) 302 303 { 303 - char* ps = toStringz(path); 304 + char* ps = cast(char*)toStringz(path); 304 305 for(char* p=ps;;) 305 306 { 306 - for(; *p!=0&&*p!='\\'&&*p!='/'; p=CharNext(p)) {} 307 + for(; *p!=0&&*p!='\\'&&*p!='/'; p=CharNextA(p)) {} 307 308 if( *p==0 ) 308 309 break; 309 - CreateDirectory( toStringz(ps[0..(p-ps)]), null ); 310 + CreateDirectoryA( toStringz(ps[0..(p-ps)]), null ); 310 311 ++p; 311 312 } 312 313 return path; 313 314 } 314 315 315 316 enum { BUFSIZ = 65536 } 316 317 ................................................................................ 317 318 private bool NcDec( uint usiz, Filep outf, ProgressHandler ph ) 318 319 { 319 320 uint init_usiz = usiz; 320 321 321 322 // 髱槫悸邵ョ縲ゅさ繝斐シ縺吶k縺縺 322 323 while( usiz ) 323 324 { 324 - char[] r = cast(char[]) fp.read( BUFSIZ<usiz?BUFSIZ:usiz ); 325 + string r = cast(string) fp.read( BUFSIZ<usiz?BUFSIZ:usiz ); 325 326 usiz -= r.length; 326 - outf.write(r); 327 + outf.write(cast(char[])r); 327 328 328 329 // dlg 329 330 if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 330 331 } 331 332 332 333 // dlg 333 334 if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; ................................................................................ 346 347 347 348 // zlib貅門y 348 349 z_stream zs; 349 350 zs.zalloc = null; 350 351 zs.zfree = null; 351 352 352 353 // 蜃コ蜉帙ヰ繝繝輔ぃ 353 - zs.next_out = outbuf; 354 + zs.next_out = outbuf.ptr; 354 355 zs.avail_out = outbuf.length; 355 356 356 357 // 蜈・蜉帙ヰ繝繝輔ぃ 357 358 inbuf = cast(ubyte[]) fp.read( csiz<65536 ? csiz : 65536 ); 358 359 csiz -= inbuf.length; 359 - zs.next_in = inbuf; 360 + zs.next_in = inbuf.ptr; 360 361 zs.avail_in = inbuf.length; 361 362 362 363 // 繧ケ繧ソ繝シ繝 363 364 inflateInit2( &zs, -15 ); 364 365 try { 365 366 366 367 // 譖ク蠎ォ縺九i蜈・蜉帙@邨ゅo繧九∪縺ァ繝ォ繝シ繝 ................................................................................ 375 376 if( !csiz ) 376 377 break; 377 378 378 379 if( zs.avail_in<=0 ) 379 380 { 380 381 inbuf = cast(ubyte[]) fp.read( csiz<65536 ? csiz : 65536 ); 381 382 csiz -= inbuf.length; 382 - zs.next_in = inbuf; 383 + zs.next_in = inbuf.ptr; 383 384 zs.avail_in = inbuf.length; 384 385 385 386 if( inbuf.length==0 ) 386 387 { 387 388 err = Z_STREAM_END; 388 389 csiz = 0; 389 390 break; ................................................................................ 391 392 } 392 393 } 393 394 394 395 int written = outbuf.length - zs.avail_out; 395 396 if( usiz < written ) written = usiz; 396 397 usiz -= written; 397 398 outf.write( outbuf[0..written] ); 398 - zs.next_out = outbuf; 399 + zs.next_out = outbuf.ptr; 399 400 zs.avail_out = outbuf.length; 400 401 401 402 // dlg 402 403 if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 403 404 } 404 405 405 406 // 蜃コ蜉帶ョ九@繧堤┌縺上☆縲 ................................................................................ 409 410 if( err!=Z_STREAM_END && err!=Z_OK ) 410 411 break; 411 412 412 413 int written = outbuf.length - zs.avail_out; 413 414 if( usiz < written ) written = usiz; 414 415 usiz -= written; 415 416 outf.write( outbuf[0..written] ); 416 - zs.next_out = outbuf; 417 + zs.next_out = outbuf.ptr; 417 418 zs.avail_out = outbuf.length; 418 419 419 420 // dlg 420 421 if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 421 422 } 422 423 423 424 // 邨ゆコ ................................................................................ 430 431 431 432 private bool BzDec( uint usiz, Filep outf, ProgressHandler ph ) 432 433 { 433 434 uint init_usiz = usiz; 434 435 435 436 // libbz2縺ァ螻暮幕 436 437 int err; 437 - BZFILE* b = BZ2_bzReadOpen( &err, fp.get_fp(), 0, 0, NULL, 0 ); 438 + BZFILE* b = BZ2_bzReadOpen( &err, fp.get_fp(), 0, 0, null, 0 ); 438 439 if( err!=BZ_OK || b is null ) 439 440 return true; 440 441 441 442 try 442 443 { 443 444 char[] buf; buf.length = BUFSIZ; 444 445 int len; 445 - while( 0<(len=BZ2_bzRead( &err, b, buf, BUFSIZ<usiz?BUFSIZ:usiz )) ) 446 + while( 0<(len=BZ2_bzRead( &err, b, buf.ptr, BUFSIZ<usiz?BUFSIZ:usiz )) ) 446 447 { 447 448 outf.write( buf[0..len] ); 448 449 usiz -= len; 449 450 if( err != BZ_OK ) 450 451 break; 451 452 452 453 // dlg

Added src/dmd_win32.lib version [f1588214ab26ab00]

cannot compute difference between binary files

Modified src/hack.d from [3a5fb6fa17d9e24a] to [23c3e51375a8c6a1].

1 -private import win32.ansi.windows; 1 +private import core.sys.windows.windows; 2 2 3 3 // Hack! 4 4 // 5 5 // _acrtused_dll縺悟享謇九↓邨ゆコ譎ゅ↓讓呎コ門・蜃コ蜉帙ワ繝ウ繝峨Ν繧 6 6 // 髢峨§縺。繧縺」縺ヲ蝗ー繧九ョ縺ァ縲√◎縺ョ霎コ繧翫□縺代ッ髢峨§縺ェ縺繧医≧縺ェ 7 7 // CloseHandle繧堤ェ√▲霎シ繧薙〒蝗樣∩縲ゅ>縺縺ョ縺九%繧後 8 8 ................................................................................ 22 22 return Real_CloseHandle(h); 23 23 } 24 24 } 25 25 26 26 static this() 27 27 { 28 28 Real_CloseHandle = cast(ClHnT) 29 - GetProcAddress( GetModuleHandle("kernel32.dll"), "CloseHandle" ); 29 + GetProcAddress( GetModuleHandleA("kernel32.dll"), "CloseHandle" ); 30 30 stdin = GetStdHandle(STD_INPUT_HANDLE ); 31 31 stdout = GetStdHandle(STD_OUTPUT_HANDLE); 32 32 stderr = GetStdHandle(STD_ERROR_HANDLE ); 33 33 }

Modified src/libbz2/bzlib.d from [cc821f48ad26f7f1] to [c4a299078e088cf2].

97 97 char *next_out; 98 98 uint avail_out; 99 99 uint total_out_lo32; 100 100 uint total_out_hi32; 101 101 102 102 void *state; 103 103 104 - void *(*bzalloc)(void *,int,int); 105 - void (*bzfree)(void *,void *); 104 + void* function(void *,int,int) bzalloc; 105 + void function(void *,void *) bzfree; 106 106 void *opaque; 107 107 } 108 108 109 109 extern(Windows) 110 110 { 111 111 /*-- Core (low-level) library functions --*/ 112 112

Modified src/qbga32.d from [f1f9b8362f0839ce] to [bcd83037acfbb1eb].

1 +private import core.sys.windows.dll; 2 +private import win32.windows; 3 +private import win32.winuser; 1 4 private import std.string; 2 5 private import std.file; 3 -private import win32.ansi.windows; 4 6 private import util; 5 7 private import windll; 6 8 private import bga_melter; 7 9 private import qbga_gui; 8 10 9 11 //---------------------------------------------------------------- 10 12 // 縺翫″縺セ繧翫ョDLL蛻晄悄蛹悶Ν繝シ繝√Φ 11 13 //---------------------------------------------------------------- 12 14 13 -HINSTANCE g_hinst; 14 - 15 -extern(C) 16 -{ 17 - void gc_init(); 18 - void gc_term(); 19 - void _minit(); 20 - void _moduleCtor(); 21 - void _moduleDtor(); 22 - void _moduleUnitTests(); 23 -} 15 +__gshared HINSTANCE g_hinst; 24 16 25 17 extern (Windows) 26 18 BOOL DllMain( HINSTANCE inst, ULONG reason, void* reserved ) 27 19 { 28 20 switch( reason ) 29 21 { 30 22 case DLL_PROCESS_ATTACH: 31 23 g_hinst = inst; 32 - gc_init(); // GC蛻晄悄蛹 33 - _minit(); // 繝「繧ク繝・繝シ繝ォ繝ェ繧ケ繝亥晄悄蛹 34 - _moduleCtor(); // 繝「繧ク繝・繝シ繝ォ繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ螳溯。 35 - _moduleUnitTests(); // 蜊倅ス薙ユ繧ケ繝亥ョ溯。 24 + dll_process_attach( inst, true ); 36 25 if( g_orig_dll is null ) 37 26 return false; 38 27 break; 39 28 40 29 case DLL_PROCESS_DETACH: 41 - _moduleDtor(); 42 - gc_term(); // GC邨ゆコ 30 + dll_process_detach( inst, true ); 31 + break; 32 + 33 + case DLL_THREAD_ATTACH: 34 + dll_thread_attach( true, true ); 35 + break; 36 + 37 + case DLL_THREAD_DETACH: 38 + dll_thread_detach( true, true ); 43 39 break; 44 40 45 41 default: 46 - case DLL_THREAD_ATTACH: 47 - case DLL_THREAD_DETACH: 48 - break; 49 42 } 50 43 return true; 51 44 } 52 45 53 46 //---------------------------------------------------------------- 54 47 // API霆「騾∝ヲ逅 55 48 //---------------------------------------------------------------- 56 49 57 -WinDLL g_orig_dll = null; 58 -UINT WM_ARCEXTRACT; 50 +__gshared WinDLL g_orig_dll = null; 51 +__gshared UINT WM_ARCEXTRACT; 59 52 60 53 static this() 61 54 { 62 55 g_orig_dll = WinDLL.load( "_Bga32.DLL" ); 63 56 WM_ARCEXTRACT = RegisterWindowMessage("wm_arcextract"); 64 57 } 65 58 ................................................................................ 66 59 static ~this() 67 60 { 68 61 g_orig_dll.close(); 69 62 } 70 63 71 64 template api(FnT) 72 65 { 73 - FnT api( char[] name ) 66 + FnT api( string name ) 74 67 { 75 68 return g_orig_dll.get_api!(FnT)( name ); 76 69 } 77 70 } 78 71 79 72 //---------------------------------------------------------------- 80 73 // 邨ア蜷医い繝シ繧ォ繧、繝植PIシ夊サ「騾 81 74 //---------------------------------------------------------------- 82 75 83 76 extern(Windows) 84 77 { 85 - int Bga( HWND a, char* b, char* c, DWORD d ) 78 + int Bga( HWND a, immutable char* b, char* c, DWORD d ) 86 79 { 87 - int r = Bga_impl( a, toString(b) ); 80 + int r = Bga_impl( a, b.fromStringz() ); 88 81 if( r < 0 ) // 縺薙ョ繝繝溘シDLL縺ァ縺ッ蜃ヲ逅縺ァ縺阪↑縺繧ウ繝槭Φ繝峨□縺」縺滓凾 89 82 return api!(typeof(&Bga))("Bga")(a,b,c,d); 90 83 return r; 91 84 } 92 85 93 86 WORD QBgaGetVersion() 94 87 { ................................................................................ 203 196 } 204 197 } 205 198 206 199 //---------------------------------------------------------------- 207 200 // 邨ア蜷医い繝シ繧ォ繧、繝植PIシ壼ョ溯」( Bga ) 208 201 //---------------------------------------------------------------- 209 202 210 -int Bga_impl( HWND wnd, char[] cmd_str ) 203 +int Bga_impl( HWND wnd, string cmd_str ) 211 204 { 212 205 enum { UNSUPPORTED = -1 } 213 206 214 207 // 215 208 // 繧ウ繝槭Φ繝峨Λ繧、繝ウ隗」譫 216 209 // 217 - char[][] cmd = cmd_parse(cmd_str); 210 + string[] cmd = cmd_parse(cmd_str); 218 211 219 212 // x莉・螟悶ョ繧ウ繝槭Φ繝峨ッ謇ア繧上↑縺縺ァ譛ャ迚ゥDLL縺ォ蝗槭@縺セ縺吶よウィ諢冗せ縺ィ縺励※シ 220 213 // > command 縺ッ繧ウ繝槭Φ繝峨Λ繧、繝ウ縺ョ譛蛻昴ョ蠑墓焚縺ィ縺励※縺上□縺輔>縲ゅ↑縺翫…ommand 繧堤怐逡・ 221 214 // > 縺励◆蝣エ蜷医ッ 'x' command 縺梧欠螳壹&繧後◆繧ゅョ縺ィ縺ソ縺ェ縺励∪縺吶 222 215 if( cmd.length == 0 ) 223 216 return UNSUPPORTED; 224 217 if( cmd[0].length == 1 ) 225 218 { 226 - if( 0 <= find("adjlmnstvADJLMNSTV", cmd[0][0]) ) 219 + if( 0 <= "adjlmnstvADJLMNSTV".indexOf(cmd[0][0]) ) 227 220 return UNSUPPORTED; 228 221 if( cmd[0][0]=='x' || cmd[0][0]=='X' ) 229 - cmd = cmd[1 .. length]; 222 + cmd = cmd[1 .. $]; 230 223 } 231 224 232 - // 窶サ 縺薙ョ譎らせ縺ァ縲…md縺ォ縺ッcommand繧帝勁縺縺滓ョ九j縺ョ蠑墓焚縺悟・縺」縺ヲ縺繧九ッ縺 225 + // 窶サ 縺薙ョ譎らせ縺ァ縲…md縺ォ縺ッcommand繧帝勁縺縺滓ョ九j縺ョ蠑墓焚縺悟・縺」縺ヲ縺繧九ッ縺 233 226 234 227 // 235 228 // 繧ケ繧、繝繝∬ァ」譫舌∝シ墓焚隗」譫 236 229 // 237 230 bool all_attrs = false; // -a 238 231 bool silent = false; // -i 239 232 bool ignore_dir = false; // -j 240 233 bool newfile_only = false; // -n 241 234 bool force_overwrite = false; // -o 242 235 bool recursive = false; // -r 243 236 bool sanitize_path = true; 244 237 245 - char[] arc_name = null; 246 - char[] base_dir = null; 247 - char[][] paths; 238 + string arc_name = null; 239 + string base_dir = null; 240 + string[] paths; 248 241 249 - foreach( char[] param ; cmd ) 242 + foreach( string param ; cmd ) 250 243 if( param[0] == '-' ) 251 244 switch( param[1] ) 252 245 { 253 246 case 'a','A': all_attrs = true; break; 254 247 case 'i','I': silent = true; break; 255 248 case 'j','J': ignore_dir = true; break; 256 249 case 'n','N': newfile_only = true; break; ................................................................................ 263 256 arc_name = param; 264 257 } 265 258 else if( base_dir is null ) 266 259 { 267 260 if( lastChar(param) == '\\' ) 268 261 base_dir = param; 269 262 else { 270 - base_dir.length = GetCurrentDirectory(0,null)+1; 271 - GetCurrentDirectory(base_dir.length, base_dir); 272 - base_dir.length = strlen(base_dir); 263 + char[] buf; 264 + buf.length = GetCurrentDirectoryA(0,null)+1; 265 + GetCurrentDirectoryA(buf.length, buf.ptr); 266 + base_dir = buf.ptr.fromStringz().idup; 273 267 if( lastChar(base_dir) != '\\' ) 274 268 base_dir ~= '\\'; 275 269 } 276 270 } 277 271 else 278 272 paths ~= param; 279 273 ................................................................................ 289 283 if( !silent && g_handler is null ) // -i / OwnerWndProc 290 284 { 291 285 dlg = new ProgressDlg( 292 286 cast(DLGTEMPLATE*) g_orig_dll.load_dialog("#2025"), wnd ); 293 287 dlg.set_arcname(arc_name); 294 288 } 295 289 296 - char[] src_fname; // OwnerWndProc髢「菫 290 + string src_fname; // OwnerWndProc髢「菫 297 291 BgaHeader cur_hdr; // OwnerWndProc髢「菫 298 292 299 - BgaAnswer handler( inout BgaHeader hdr ) 293 + BgaAnswer handler( ref BgaHeader hdr ) 300 294 { 301 295 src_fname = hdr.fname; 302 296 process_messages(); 303 297 304 298 // paths 305 299 if( paths.length > 0 ) 306 300 { 307 - char[] fname = // -r 308 - (recursive ? hdr.fname[hdr.dir_name_len..length] 309 - : hdr.fname); 310 - foreach( char[] w ; paths ) 301 + string fname = // -r 302 + (recursive ? hdr.fname[hdr.dir_name_len..$] : hdr.fname); 303 + foreach( string w ; paths ) 311 304 if( wild_match( w, fname ) ) 312 305 goto ok; 313 306 return BgaAnswer.SkipIt; 314 307 ok:; 315 308 } 316 309 // -a 317 310 if( !all_attrs && (hdr.attrib&6) ) 318 311 return BgaAnswer.SkipIt; 319 312 // dialog 320 313 if( dlg ) 321 314 if( dlg.closed ) 322 315 return BgaAnswer.Abort; 323 316 else 324 - dlg.set_filename( hdr.fname[hdr.dir_name_len .. length] ); 317 + dlg.set_filename( hdr.fname[hdr.dir_name_len..$] ); 325 318 // -j 326 319 if( ignore_dir ) 327 - hdr.fname = hdr.fname[hdr.dir_name_len .. length]; 320 + hdr.fname = hdr.fname[hdr.dir_name_len .. $]; 328 321 // sanitize 329 322 if( sanitize_path ) 330 323 hdr.fname = check_path(hdr.fname); 331 324 // base_dir 332 - hdr.fname = base_dir ~ hdr.fname; 325 + hdr.fname = (base_dir ~ hdr.fname).dup; 333 326 // -o 334 327 if( !force_overwrite ) 335 328 try { 336 - if( std.file.exists(hdr.fname) && std.file.isfile(hdr.fname) ) 329 + if( std.file.exists(hdr.fname) && std.file.isFile(hdr.fname) ) 337 330 // -n 338 331 if( newfile_only ) 339 332 { 340 333 if( newer_than(hdr.date,hdr.time,hdr.fname) ) 341 334 return BgaAnswer.SkipIt; 342 335 } 343 336 else 344 337 { 345 - int r = MessageBox( dlg?dlg.hwnd:wnd, 338 + int r = MessageBoxA( dlg?dlg.hwnd:wnd, 346 339 toStringz("Overwrite "~hdr.fname~" ?"), 347 340 "QBga32.dll", MB_YESNOCANCEL ); 348 341 if( r == IDNO ) return BgaAnswer.SkipIt; 349 342 if( r == IDCANCEL ) return BgaAnswer.Abort; 350 343 } 351 344 } catch {} 352 345 ................................................................................ 410 403 char szMode[8]; 411 404 } 412 405 413 406 HWND g_owner_window; 414 407 extern(Windows) BOOL function(HWND,UINT,UINT,EXTRACTINGINFOEX*) g_handler; 415 408 extern(Windows) BOOL noex_handler( HWND w,UINT m,UINT s, EXTRACTINGINFOEX* e ) 416 409 { 417 - return !SendMessage( w, m, s, cast(LPARAM) &e.exinfo ); 410 + return !SendMessageA( w, m, s, cast(LPARAM) &e.exinfo ); 418 411 } 419 412 420 413 void BgaSetOwnerWindow_impl( HWND wnd ) 421 414 { 422 415 g_owner_window = wnd; 423 416 g_handler = &noex_handler; 424 417 } ................................................................................ 432 425 void BgaSetOwnerWindowEx_impl( HWND wnd, ARCHIVERPROC* proc ) 433 426 { 434 427 g_owner_window = wnd; 435 428 g_handler = *proc; 436 429 } 437 430 438 431 enum { OP_FILE_BEGIN, OP_FILE_MIDDLE, OP_ARC_END, OP_ARC_BEGIN } 439 -bool do_ownerwnd_proc( UINT uState, BgaHeader* hdr, int cur, char[] src_fname ) 432 +bool do_ownerwnd_proc( UINT uState, BgaHeader* hdr, int cur, string src_fname ) 440 433 { 441 434 if( g_handler is null ) 442 435 return true; 443 436 EXTRACTINGINFOEX ex; 444 437 if( uState == OP_ARC_BEGIN || uState == OP_ARC_END ) 445 438 { 446 - lstrcpyn( ex.exinfo.szSourceFileName, toStringz(src_fname), 512 ); 439 + lstrcpynA( ex.exinfo.szSourceFileName.ptr, toStringz(src_fname), 512 ); 447 440 } 448 441 else 449 442 { 450 443 ex.exinfo.dwFileSize = hdr.original_size; 451 444 ex.exinfo.dwWriteSize = cur; 452 - lstrcpyn( ex.exinfo.szSourceFileName, toStringz(src_fname), 512 ); 453 - lstrcpyn( ex.exinfo.szDestFileName, toStringz(hdr.fname), 512 ); 445 + lstrcpynA( ex.exinfo.szSourceFileName.ptr, toStringz(src_fname), 512 ); 446 + lstrcpynA( ex.exinfo.szDestFileName.ptr, toStringz(hdr.fname), 512 ); 454 447 ex.dwCompressedSize = hdr.compressed_size; 455 - ex.wRatio = cast(int)( (cast(real)hdr.compressed_size)/hdr.original_size*1000 ); 448 + ex.wRatio = cast(ushort)( (cast(real)hdr.compressed_size)/hdr.original_size*1000 ); 456 449 ex.wDate = hdr.date; 457 450 ex.wTime = hdr.time; 458 451 ex.szAttribute[0] = (hdr.attrib&32 ? 'A': '-'); 459 452 ex.szAttribute[1] = (hdr.attrib&1 ? 'R': '-'); 460 453 ex.szAttribute[2] = (hdr.attrib&2 ? 'H': '-'); 461 454 ex.szAttribute[3] = (hdr.attrib&4 ? 'S': '-'); 462 455 ex.szAttribute[4] = (hdr.attrib&16 ? 'D': '-'); 463 456 ex.szAttribute[5] = '\0'; 464 457 if( hdr.method[0]=='G' ) 465 - lstrcpy(ex.szMode,"-gzip-"); 458 + lstrcpyA(ex.szMode.ptr,"-gzip-"); 466 459 else 467 - lstrcpy(ex.szMode,"-bzip2-"); 460 + lstrcpyA(ex.szMode.ptr,"-bzip2-"); 468 461 } 469 462 470 463 return false != g_handler( g_owner_window, WM_ARCEXTRACT, uState, &ex ); 471 464 } 472 465 473 466 //---------------------------------------------------------------- 474 467 // 繝代せ讀懈渊邉サ 475 468 //---------------------------------------------------------------- 476 469 477 -alias std.c.windows.windows.IsDBCSLeadByte isDL; 478 -char[] replace_yen( char[] s ) 470 +alias core.sys.windows.windows.IsDBCSLeadByte isDL; 471 +string replace_yen( string s ) 479 472 { 480 - char[] ans; 473 + string ans; 481 474 int j=0; 482 475 for(int i=0; i!=s.length; i=i+(isDL(s[i])?2:1)) 483 476 if( s[i] == '\\' ) 484 477 ans~=s[j .. i], ans~='/', j=i+1; 485 - ans ~= s[j .. length]; 478 + ans ~= s[j .. $]; 486 479 return ans; 487 480 } 488 481 489 -bool wild_match( char[] wild, char[] name ) 482 +bool wild_match( string wild, string name ) 490 483 { 491 - bool wild_match_nopath( char[] w, char[] s ) 484 + bool wild_match_nopath( string w, string s ) 492 485 { 493 - char[] advance( char[] s ) 486 + string advance( string s ) 494 487 { 495 - return s[(IsDBCSLeadByte(s[0])?2:1) .. length]; 488 + return s[(IsDBCSLeadByte(s[0])?2:1) .. $]; 496 489 } 497 490 498 491 while( w.length>0 ) 499 492 switch( w[0] ) 500 493 { 501 494 case '?': 502 495 if( s.length==0 ) ................................................................................ 527 520 } 528 521 return s.length==0; 529 522 } 530 523 531 524 if( wild=="" || wild=="*.*" || wild=="*" || wild=="**" ) 532 525 return true; 533 526 534 - char[][] wilds = split( replace_yen( tolower(wild) ), "/" ); 535 - char[][] names = split( replace_yen( tolower(name) ), "/" ); 527 + string[] wilds = split( replace_yen( toLower(wild) ), "/" ); 528 + string[] names = split( replace_yen( toLower(name) ), "/" ); 536 529 537 530 if( wilds.length != names.length ) 538 531 return false; 539 532 for(int i=0; i!=wilds.length; ++i) 540 533 if( wilds[i]!="*.*" && wilds[i]!="*" && wilds[i]!="**" ) 541 534 if( !wild_match_nopath( wilds[i], names[i] ) ) 542 535 return false; 543 536 return true; 544 537 } 545 538 546 -char[] check_path( char[] path ) 539 +string check_path( string in_path ) 547 540 { 541 + char[] path = in_path.dup; 542 + 548 543 // C:\ ==> C_\ 549 544 if( path.length>=2 && path[1]==':' ) 550 - path = path.dup, path[1] = '_'; 545 + path[1] = '_'; 551 546 552 547 // \\hoge ==> hoge 553 548 // /hoge ==> hoge 554 549 while( path.length>0 && (path[0]=='\\'||path[0]=='/') ) 555 - path = path[1..length]; 550 + path = path[1..$]; 556 551 557 552 // .. ==> __ 558 - char[][] paths = split( replace_yen(path), "/" ); 553 + string[] paths = split( replace_yen(path.idup), "/" ); 559 554 L1: 560 - foreach( inout char[] pc ; paths ) 555 + foreach( ref string pc ; paths ) 561 556 if( pc.length >= 2 ) 562 557 { 563 558 foreach( char c ; pc ) 564 559 if( c != '.' ) 565 560 continue L1; 566 561 pc = replace( pc, ".", "_" ); 567 562 }

Modified src/qbga_gui.d from [983218cb4853f610] to [36c6085700197d43].

1 -サソprivate import std.string; 2 -private import win32.ansi.windows; 3 -private import win32.ansi.commctrl; 1 +サソprivate import win32.windows; 2 +private import win32.commctrl; 3 +private import std.string; 4 4 private import qbga32; 5 5 6 6 void process_messages() 7 7 { 8 - for( MSG msg; PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ); ) 8 + for( MSG msg; PeekMessageA( &msg, null, 0, 0, PM_REMOVE ); ) 9 9 { 10 10 TranslateMessage( &msg ); 11 - DispatchMessage( &msg ); 11 + DispatchMessageA( &msg ); 12 12 } 13 13 } 14 14 15 15 // 螳溯」邯呎価(w 16 16 17 17 class Dialog 18 18 { ................................................................................ 19 19 public: 20 20 HWND hwnd() 21 21 { 22 22 return handle; 23 23 } 24 24 25 25 protected: 26 - void on_init() { MessageBox(null,"xxx",null,MB_OK); } 26 + void on_init() { MessageBoxA(null,"xxx",null,MB_OK); } 27 27 bool on_ok() { return false; } 28 28 bool on_cancel() { return false; } 29 29 bool on_command( UINT cmd ) { return false; } 30 30 bool on_message( UINT msg, WPARAM wp, LPARAM lp ) { return false; } 31 31 32 32 extern(Windows) private static BOOL 33 33 static_dlg_proc( HWND dlg, UINT msg, WPARAM wp, LPARAM lp ) ................................................................................ 76 76 dlg_template, 77 77 parent, 78 78 &static_dlg_proc, 79 79 cast(LPARAM) cast(Dialog*) this 80 80 ); 81 81 } 82 82 83 - void set_item_text( int ID, char[] str ) 83 + void set_item_text( int ID, string str ) 84 84 { 85 - SetDlgItemText( handle, ID, toStringz(str) ); 85 + SetDlgItemTextA( handle, ID, toStringz(str) ); 86 86 } 87 87 88 88 int send_item_msg( int ID, UINT msg, WPARAM wp=0, LPARAM lp=0 ) 89 89 { 90 90 return SendDlgItemMessage( handle, ID, msg, wp, lp ); 91 91 } 92 92 } ................................................................................ 102 102 class ProgressDlg : Dialog 103 103 { 104 104 this( DLGTEMPLATE* dlg_template, HWND parent ) 105 105 { 106 106 BeginModeless( dlg_template, parent ); 107 107 } 108 108 109 - void set_arcname ( char[] str ){ set_item_text( 2006, str ); } 110 - void set_filename( char[] str ){ set_item_text( 2007, str ); } 109 + void set_arcname ( string str ){ set_item_text( 2006, str ); } 110 + void set_filename( string str ){ set_item_text( 2007, str ); } 111 111 void set_max( real m ) { max = m; } 112 112 void set_pos( real p ) { send_item_msg(2024,PBM_SETPOS,cast(int)(p/max*65535),0); } 113 113 114 114 bool closed() 115 115 { 116 116 return !alive; 117 117 }

Modified src/util.d from [97a142a9264ab72a] to [9a6609551ad86e62].

1 -サソprivate import std.string; 1 +サソprivate import win32.windows; 2 +private import std.string; 2 3 private import std.file; 3 -private import win32.ansi.windows; 4 4 5 -char lastChar( char[] s ) 6 - { return *CharPrev(s, cast(char*)s+s.length); } 5 +char lastChar( string s ) 6 + { return *CharPrevA(cast(char*)s.ptr, cast(char*)s.ptr+s.length); } 7 7 8 8 //---------------------------------------------------------------- 9 9 // int do_opApply!(E, C)( collection, delegate ); 10 10 // int do_opApply!(E) ( array, delegate ); 11 11 // forwarding the opApply call to another collection 12 12 //---------------------------------------------------------------- 13 13 ................................................................................ 67 67 foreach( int t ; x ) assert( t==2 ); 68 68 } 69 69 70 70 //---------------------------------------------------------------- 71 71 // 繧ウ繝槭Φ繝峨Λ繧、繝ウ隗」譫 72 72 //---------------------------------------------------------------- 73 73 74 -char[][] cmd_parse( char[] str, bool in_resp=false ) 74 +string[] cmd_parse( string str, bool in_resp=false ) 75 75 { 76 - char[][] ans; 76 + string[] ans; 77 77 char resp_char = '@'; 78 78 79 79 for(int i=0; i!=str.length; ) 80 80 { 81 81 // 遨コ逋ス繧ケ繧ュ繝繝 82 82 while( i!=str.length && 0<=str[i] && str[i]<=' ' ) 83 83 ++i; 84 84 if( i == str.length ) 85 85 break; 86 86 87 87 // ""繧定諷ョ縺励※荳蛟九ヱ繝ゥ繝。繧ソ蛻繧雁コ縺 88 - char[] param; 88 + string param; 89 89 if( str[i] == '"' ) 90 90 { 91 91 int j = ++i; 92 92 while( j!=str.length ) 93 93 { 94 94 if( str[j]=='"' && 95 95 (j+1==str.length || 0<=str[j+1] && str[j+1]<=' ') ) ................................................................................ 108 108 i = j; 109 109 } 110 110 111 111 // 繝ャ繧ケ繝昴Φ繧ケ繝輔ぃ繧、繝ォ髢「騾」縺ョ蜃ヲ逅 112 112 if( !in_resp && param[0]==resp_char ) 113 113 { 114 114 try { 115 - char[] rsp = cast(char[]) std.file.read( param[1 .. param.length] ); 115 + string rsp = cast(string) std.file.read( param[1 .. param.length] ); 116 116 ans ~= cmd_parse(rsp,true); 117 117 } catch( FileException e ) {} 118 118 } 119 119 else if( param.length>=2 && param[0..2]=="--" ) 120 120 { 121 121 resp_char = (param.length==2 ? '\0' : param[2]); 122 122 } ................................................................................ 128 128 return ans; 129 129 } 130 130 131 131 //---------------------------------------------------------------- 132 132 // DOS蠖「蠑上〒繝輔ぃ繧、繝ォ髻ウ譖エ譁ー譎ょ綾繧呈嶌縺肴鋤縺 133 133 //---------------------------------------------------------------- 134 134 135 -void dosSetFTime( char[] fname, ushort date, ushort time ) 135 +void dosSetFTime( string fname, ushort date, ushort time ) 136 136 { 137 137 FILETIME ft,lc; 138 138 if( DosDateTimeToFileTime( date, time, &lc ) ) 139 139 if( LocalFileTimeToFileTime( &lc, &ft ) ) 140 140 { 141 - HANDLE han = CreateFile( toStringz(fname), 142 - GENERIC_READ | GENERIC_WRITE, 143 - FILE_SHARE_READ,NULL, 144 - OPEN_EXISTING, 145 - FILE_ATTRIBUTE_NORMAL, 146 - NULL ); 141 + HANDLE han = CreateFileA( toStringz(fname), 142 + GENERIC_READ | GENERIC_WRITE, 143 + FILE_SHARE_READ,null, 144 + OPEN_EXISTING, 145 + FILE_ATTRIBUTE_NORMAL, 146 + null ); 147 147 if( han==INVALID_HANDLE_VALUE ) 148 148 return; 149 149 150 - SetFileTime( han,&ft,NULL,&ft ); 150 + SetFileTime( han,&ft,null,&ft ); 151 151 CloseHandle( han ); 152 152 } 153 153 } 154 154 155 155 //---------------------------------------------------------------- 156 156 // 謖螳壽凾蛻サ(DOS蠖「蠑)繧医j譁ー縺励>繝輔ぃ繧、繝ォ縺具シ 157 157 //---------------------------------------------------------------- 158 158 159 -bool newer_than( ushort d1, ushort t1, char[] fname ) 159 +bool newer_than( ushort d1, ushort t1, string fname ) 160 160 { 161 - HANDLE han = CreateFile( toStringz(fname), 162 - GENERIC_READ | GENERIC_WRITE, 163 - FILE_SHARE_READ,NULL, 164 - OPEN_EXISTING, 165 - FILE_ATTRIBUTE_NORMAL, 166 - NULL ); 161 + HANDLE han = CreateFileA( toStringz(fname), 162 + GENERIC_READ | GENERIC_WRITE, 163 + FILE_SHARE_READ,null, 164 + OPEN_EXISTING, 165 + FILE_ATTRIBUTE_NORMAL, 166 + null ); 167 167 if( han==INVALID_HANDLE_VALUE ) 168 168 return false; 169 169 FILETIME ft; 170 170 GetFileTime( han, null, null, &ft ); 171 171 CloseHandle( han ); 172 172 173 173 FILETIME lc;

Added src/win32/accctrl.d version [e316536fe0a88b95]

1 +/***********************************************************************\ 2 +* accctrl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.accctrl; 12 + 13 +private import win32.basetyps, win32.w32api, win32.winbase, win32.windef; 14 + 15 +// FIXME: check types and grouping of constants 16 +// FIXME: check Windows version support 17 + 18 +static assert (_WIN32_WINNT_ONLY, 19 + "win32.accctrl is available only if version WindowsNTonly, WindowsXP, " 20 + "Windows2003 or WindowsVista is set"); 21 + 22 +alias LocalFree AccFree; 23 + 24 +const uint 25 + ACTRL_RESERVED = 0x00000000, 26 + ACTRL_ACCESS_PROTECTED = 0x00000001, 27 + ACTRL_ACCESS_ALLOWED = 0x00000001, 28 + ACTRL_ACCESS_DENIED = 0x00000002, 29 + ACTRL_AUDIT_SUCCESS = 0x00000004, 30 + ACTRL_AUDIT_FAILURE = 0x00000008, 31 + ACTRL_SYSTEM_ACCESS = 0x04000000, 32 + ACTRL_DELETE = 0x08000000, 33 + ACTRL_READ_CONTROL = 0x10000000, 34 + ACTRL_CHANGE_ACCESS = 0x20000000, 35 + ACTRL_CHANGE_OWNER = 0x40000000, 36 + ACTRL_SYNCHRONIZE = 0x80000000, 37 + ACTRL_STD_RIGHTS_ALL = 0xf8000000; 38 + 39 +const uint 40 + ACTRL_FILE_READ = 0x00000001, 41 + ACTRL_FILE_WRITE = 0x00000002, 42 + ACTRL_FILE_APPEND = 0x00000004, 43 + ACTRL_FILE_READ_PROP = 0x00000008, 44 + ACTRL_FILE_WRITE_PROP = 0x00000010, 45 + ACTRL_FILE_EXECUTE = 0x00000020, 46 + ACTRL_FILE_READ_ATTRIB = 0x00000080, 47 + ACTRL_FILE_WRITE_ATTRIB = 0x00000100, 48 + ACTRL_FILE_CREATE_PIPE = 0x00000200; 49 + 50 +const uint 51 + ACTRL_DIR_LIST = 0x00000001, 52 + ACTRL_DIR_CREATE_OBJECT = 0x00000002, 53 + ACTRL_DIR_CREATE_CHILD = 0x00000004, 54 + ACTRL_DIR_DELETE_CHILD = 0x00000040, 55 + ACTRL_DIR_TRAVERSE = 0x00000020; 56 + 57 +const uint 58 + ACTRL_KERNEL_TERMINATE = 0x00000001, 59 + ACTRL_KERNEL_THREAD = 0x00000002, 60 + ACTRL_KERNEL_VM = 0x00000004, 61 + ACTRL_KERNEL_VM_READ = 0x00000008, 62 + ACTRL_KERNEL_VM_WRITE = 0x00000010, 63 + ACTRL_KERNEL_DUP_HANDLE = 0x00000020, 64 + ACTRL_KERNEL_PROCESS = 0x00000040, 65 + ACTRL_KERNEL_SET_INFO = 0x00000080, 66 + ACTRL_KERNEL_GET_INFO = 0x00000100, 67 + ACTRL_KERNEL_CONTROL = 0x00000200, 68 + ACTRL_KERNEL_ALERT = 0x00000400, 69 + ACTRL_KERNEL_GET_CONTEXT = 0x00000800, 70 + ACTRL_KERNEL_SET_CONTEXT = 0x00001000, 71 + ACTRL_KERNEL_TOKEN = 0x00002000, 72 + ACTRL_KERNEL_IMPERSONATE = 0x00004000, 73 + ACTRL_KERNEL_DIMPERSONATE = 0x00008000; 74 + 75 +const uint 76 + ACTRL_PRINT_SADMIN = 0x00000001, 77 + ACTRL_PRINT_SLIST = 0x00000002, 78 + ACTRL_PRINT_PADMIN = 0x00000004, 79 + ACTRL_PRINT_PUSE = 0x00000008, 80 + ACTRL_PRINT_JADMIN = 0x00000010; 81 + 82 +const uint 83 + ACTRL_SVC_GET_INFO = 0x00000001, 84 + ACTRL_SVC_SET_INFO = 0x00000002, 85 + ACTRL_SVC_STATUS = 0x00000004, 86 + ACTRL_SVC_LIST = 0x00000008, 87 + ACTRL_SVC_START = 0x00000010, 88 + ACTRL_SVC_STOP = 0x00000020, 89 + ACTRL_SVC_PAUSE = 0x00000040, 90 + ACTRL_SVC_INTERROGATE = 0x00000080, 91 + ACTRL_SVC_UCONTROL = 0x00000100; 92 + 93 +const uint 94 + ACTRL_REG_QUERY = 0x00000001, 95 + ACTRL_REG_SET = 0x00000002, 96 + ACTRL_REG_CREATE_CHILD = 0x00000004, 97 + ACTRL_REG_LIST = 0x00000008, 98 + ACTRL_REG_NOTIFY = 0x00000010, 99 + ACTRL_REG_LINK = 0x00000020; 100 + 101 +const uint 102 + ACTRL_WIN_CLIPBRD = 0x00000001, 103 + ACTRL_WIN_GLOBAL_ATOMS = 0x00000002, 104 + ACTRL_WIN_CREATE = 0x00000004, 105 + ACTRL_WIN_LIST_DESK = 0x00000008, 106 + ACTRL_WIN_LIST = 0x00000010, 107 + ACTRL_WIN_READ_ATTRIBS = 0x00000020, 108 + ACTRL_WIN_WRITE_ATTRIBS = 0x00000040, 109 + ACTRL_WIN_SCREEN = 0x00000080, 110 + ACTRL_WIN_EXIT = 0x00000100; 111 + 112 +enum : uint { 113 + ACTRL_ACCESS_NO_OPTIONS = 0x00000000, 114 + ACTRL_ACCESS_SUPPORTS_OBJECT_ENTRIES = 0x00000001 115 +} 116 + 117 +const TCHAR[] ACCCTRL_DEFAULT_PROVIDER = "Windows NT Access Provider"; 118 + 119 +const uint 120 + TRUSTEE_ACCESS_ALLOWED = 0x00000001, 121 + TRUSTEE_ACCESS_READ = 0x00000002, 122 + TRUSTEE_ACCESS_WRITE = 0x00000004, 123 + TRUSTEE_ACCESS_EXPLICIT = 0x00000001, 124 + TRUSTEE_ACCESS_READ_WRITE = 0x00000006, 125 + TRUSTEE_ACCESS_ALL = 0xFFFFFFFF; 126 + 127 +const uint 128 + NO_INHERITANCE = 0x0, 129 + SUB_OBJECTS_ONLY_INHERIT = 0x1, 130 + SUB_CONTAINERS_ONLY_INHERIT = 0x2, 131 + SUB_CONTAINERS_AND_OBJECTS_INHERIT = 0x3, 132 + INHERIT_NO_PROPAGATE = 0x4, 133 + INHERIT_ONLY = 0x8, 134 + INHERITED_ACCESS_ENTRY = 0x10, 135 + INHERITED_PARENT = 0x10000000, 136 + INHERITED_GRANDPARENT = 0x20000000; 137 + 138 +alias ULONG INHERIT_FLAGS, ACCESS_RIGHTS; 139 +alias ULONG* PINHERIT_FLAGS, PACCESS_RIGHTS; 140 + 141 +enum ACCESS_MODE { 142 + NOT_USED_ACCESS, 143 + GRANT_ACCESS, 144 + SET_ACCESS, 145 + DENY_ACCESS, 146 + REVOKE_ACCESS, 147 + SET_AUDIT_SUCCESS, 148 + SET_AUDIT_FAILURE 149 +} 150 + 151 +enum SE_OBJECT_TYPE { 152 + SE_UNKNOWN_OBJECT_TYPE, 153 + SE_FILE_OBJECT, 154 + SE_SERVICE, 155 + SE_PRINTER, 156 + SE_REGISTRY_KEY, 157 + SE_LMSHARE, 158 + SE_KERNEL_OBJECT, 159 + SE_WINDOW_OBJECT, 160 + SE_DS_OBJECT, 161 + SE_DS_OBJECT_ALL, 162 + SE_PROVIDER_DEFINED_OBJECT, 163 + SE_WMIGUID_OBJECT, 164 + SE_REGISTRY_WOW64_32KEY 165 +} 166 + 167 +enum TRUSTEE_TYPE { 168 + TRUSTEE_IS_UNKNOWN, 169 + TRUSTEE_IS_USER, 170 + TRUSTEE_IS_GROUP, 171 + TRUSTEE_IS_DOMAIN, 172 + TRUSTEE_IS_ALIAS, 173 + TRUSTEE_IS_WELL_KNOWN_GROUP, 174 + TRUSTEE_IS_DELETED, 175 + TRUSTEE_IS_INVALID, 176 + TRUSTEE_IS_COMPUTER 177 +} 178 + 179 +enum TRUSTEE_FORM { 180 + TRUSTEE_IS_SID, 181 + TRUSTEE_IS_NAME, 182 + TRUSTEE_BAD_FORM, 183 + TRUSTEE_IS_OBJECTS_AND_SID, 184 + TRUSTEE_IS_OBJECTS_AND_NAME 185 +} 186 + 187 +enum MULTIPLE_TRUSTEE_OPERATION { 188 + NO_MULTIPLE_TRUSTEE, 189 + TRUSTEE_IS_IMPERSONATE 190 +} 191 + 192 +struct TRUSTEE_A { 193 + TRUSTEE_A* pMultipleTrustee; 194 + MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation; 195 + TRUSTEE_FORM TrusteeForm; 196 + TRUSTEE_TYPE TrusteeType; 197 + LPSTR ptstrName; 198 +} 199 +alias TRUSTEE_A TRUSTEEA; 200 +alias TRUSTEE_A* PTRUSTEE_A, PTRUSTEEA; 201 + 202 +struct TRUSTEE_W { 203 + TRUSTEE_W* pMultipleTrustee; 204 + MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation; 205 + TRUSTEE_FORM TrusteeForm; 206 + TRUSTEE_TYPE TrusteeType; 207 + LPWSTR ptstrName; 208 +} 209 +alias TRUSTEE_W TRUSTEEW; 210 +alias TRUSTEEW* PTRUSTEE_W, PTRUSTEEW; 211 + 212 +struct ACTRL_ACCESS_ENTRYA { 213 + TRUSTEE_A Trustee; 214 + ULONG fAccessFlags; 215 + ACCESS_RIGHTS Access; 216 + ACCESS_RIGHTS ProvSpecificAccess; 217 + INHERIT_FLAGS Inheritance; 218 + LPCSTR lpInheritProperty; 219 +} 220 +alias ACTRL_ACCESS_ENTRYA* PACTRL_ACCESS_ENTRYA; 221 + 222 +struct ACTRL_ACCESS_ENTRYW { 223 + TRUSTEE_W Trustee; 224 + ULONG fAccessFlags; 225 + ACCESS_RIGHTS Access; 226 + ACCESS_RIGHTS ProvSpecificAccess; 227 + INHERIT_FLAGS Inheritance; 228 + LPCWSTR lpInheritProperty; 229 +} 230 +alias ACTRL_ACCESS_ENTRYW* PACTRL_ACCESS_ENTRYW; 231 + 232 +struct ACTRL_ACCESS_ENTRY_LISTA { 233 + ULONG cEntries; 234 + ACTRL_ACCESS_ENTRYA* pAccessList; 235 +} 236 +alias ACTRL_ACCESS_ENTRY_LISTA* PACTRL_ACCESS_ENTRY_LISTA; 237 + 238 +struct ACTRL_ACCESS_ENTRY_LISTW { 239 + ULONG cEntries; 240 + ACTRL_ACCESS_ENTRYW* pAccessList; 241 +} 242 +alias ACTRL_ACCESS_ENTRY_LISTW* PACTRL_ACCESS_ENTRY_LISTW; 243 + 244 +struct ACTRL_PROPERTY_ENTRYA { 245 + LPCSTR lpProperty; 246 + PACTRL_ACCESS_ENTRY_LISTA pAccessEntryList; 247 + ULONG fListFlags; 248 +} 249 +alias ACTRL_PROPERTY_ENTRYA* PACTRL_PROPERTY_ENTRYA; 250 + 251 +struct ACTRL_PROPERTY_ENTRYW { 252 + LPCWSTR lpProperty; 253 + PACTRL_ACCESS_ENTRY_LISTW pAccessEntryList; 254 + ULONG fListFlags; 255 +} 256 +alias ACTRL_PROPERTY_ENTRYW* PACTRL_PROPERTY_ENTRYW; 257 + 258 +struct ACTRL_ACCESSA { 259 + ULONG cEntries; 260 + PACTRL_PROPERTY_ENTRYA pPropertyAccessList; 261 +} 262 +alias ACTRL_ACCESSA ACTRL_AUDITA; 263 +alias ACTRL_ACCESSA* PACTRL_ACCESSA, PACTRL_AUDITA; 264 + 265 +struct ACTRL_ACCESSW { 266 + ULONG cEntries; 267 + PACTRL_PROPERTY_ENTRYW pPropertyAccessList; 268 +} 269 +alias ACTRL_ACCESSW ACTRL_AUDITW; 270 +alias ACTRL_ACCESSW* PACTRL_ACCESSW, PACTRL_AUDITW; 271 + 272 +struct TRUSTEE_ACCESSA { 273 + LPSTR lpProperty; 274 + ACCESS_RIGHTS Access; 275 + ULONG fAccessFlags; 276 + ULONG fReturnedAccess; 277 +} 278 +alias TRUSTEE_ACCESSA* PTRUSTEE_ACCESSA; 279 + 280 +struct TRUSTEE_ACCESSW { 281 + LPWSTR lpProperty; 282 + ACCESS_RIGHTS Access; 283 + ULONG fAccessFlags; 284 + ULONG fReturnedAccess; 285 +} 286 +alias TRUSTEE_ACCESSW* PTRUSTEE_ACCESSW; 287 + 288 +struct ACTRL_OVERLAPPED { 289 + union { 290 + PVOID Provider; 291 + ULONG Reserved1; 292 + } 293 + ULONG Reserved2; 294 + HANDLE hEvent; 295 +} 296 +alias ACTRL_OVERLAPPED* PACTRL_OVERLAPPED; 297 + 298 +struct ACTRL_ACCESS_INFOA { 299 + ULONG fAccessPermission; 300 + LPSTR lpAccessPermissionName; 301 +} 302 +alias ACTRL_ACCESS_INFOA* PACTRL_ACCESS_INFOA; 303 + 304 +struct ACTRL_ACCESS_INFOW { 305 + ULONG fAccessPermission; 306 + LPWSTR lpAccessPermissionName; 307 +} 308 +alias ACTRL_ACCESS_INFOW* PACTRL_ACCESS_INFOW; 309 + 310 +struct ACTRL_CONTROL_INFOA { 311 + LPSTR lpControlId; 312 + LPSTR lpControlName; 313 +} 314 +alias ACTRL_CONTROL_INFOA* PACTRL_CONTROL_INFOA; 315 + 316 +struct ACTRL_CONTROL_INFOW { 317 + LPWSTR lpControlId; 318 + LPWSTR lpControlName; 319 +} 320 +alias ACTRL_CONTROL_INFOW* PACTRL_CONTROL_INFOW; 321 + 322 +struct EXPLICIT_ACCESS_A { 323 + DWORD grfAccessPermissions; 324 + ACCESS_MODE grfAccessMode; 325 + DWORD grfInheritance; 326 + TRUSTEE_A Trustee; 327 +} 328 +alias EXPLICIT_ACCESS_A EXPLICIT_ACCESSA; 329 +alias EXPLICIT_ACCESS_A* PEXPLICIT_ACCESS_A, PEXPLICIT_ACCESSA; 330 + 331 +struct EXPLICIT_ACCESS_W { 332 + DWORD grfAccessPermissions; 333 + ACCESS_MODE grfAccessMode; 334 + DWORD grfInheritance; 335 + TRUSTEE_W Trustee; 336 +} 337 +alias EXPLICIT_ACCESS_W EXPLICIT_ACCESSW; 338 +alias EXPLICIT_ACCESS_W* PEXPLICIT_ACCESS_W, PEXPLICIT_ACCESSW; 339 + 340 +struct OBJECTS_AND_SID { 341 + DWORD ObjectsPresent; 342 + GUID ObjectTypeGuid; 343 + GUID InheritedObjectTypeGuid; 344 + SID* pSid; 345 +} 346 +alias OBJECTS_AND_SID* POBJECTS_AND_SID; 347 + 348 +struct OBJECTS_AND_NAME_A { 349 + DWORD ObjectsPresent; 350 + SE_OBJECT_TYPE ObjectType; 351 + LPSTR ObjectTypeName; 352 + LPSTR InheritedObjectTypeName; 353 + LPSTR ptstrName; 354 +} 355 +alias OBJECTS_AND_NAME_A* POBJECTS_AND_NAME_A; 356 + 357 +struct OBJECTS_AND_NAME_W { 358 + DWORD ObjectsPresent; 359 + SE_OBJECT_TYPE ObjectType; 360 + LPWSTR ObjectTypeName; 361 + LPWSTR InheritedObjectTypeName; 362 + LPWSTR ptstrName; 363 +} 364 +alias OBJECTS_AND_NAME_W* POBJECTS_AND_NAME_W; 365 + 366 +static if (WINVER >= 0x501) { 367 + struct INHERITED_FROMA { 368 + LONG GenerationGap; 369 + LPSTR AncestorName; 370 + } 371 + alias INHERITED_FROMA* PINHERITED_FROMA; 372 + 373 + struct INHERITED_FROMW { 374 + LONG GenerationGap; 375 + LPWSTR AncestorName; 376 + } 377 + alias INHERITED_FROMW* PINHERITED_FROMW; 378 +} 379 + 380 +version (Unicode) { 381 + alias TRUSTEEW TRUSTEE; 382 + alias ACTRL_ACCESSW ACTRL_ACCESS; 383 + alias ACTRL_ACCESS_ENTRY_LISTW ACTRL_ACCESS_ENTRY_LIST; 384 + alias ACTRL_ACCESS_INFOW ACTRL_ACCESS_INFO; 385 + alias ACTRL_ACCESS_ENTRYW ACTRL_ACCESS_ENTRY; 386 + alias ACTRL_AUDITW ACTRL_AUDIT; 387 + alias ACTRL_CONTROL_INFOW ACTRL_CONTROL_INFO; 388 + alias EXPLICIT_ACCESSW EXPLICIT_ACCESS; 389 + alias TRUSTEE_ACCESSW TRUSTEE_ACCESS; 390 + alias OBJECTS_AND_NAME_W OBJECTS_AND_NAME_; 391 + static if (WINVER >= 0x501) { 392 + alias INHERITED_FROMW INHERITED_FROM; 393 + } 394 +} else { 395 + alias TRUSTEEA TRUSTEE; 396 + alias ACTRL_ACCESSA ACTRL_ACCESS; 397 + alias ACTRL_ACCESS_ENTRY_LISTA ACTRL_ACCESS_ENTRY_LIST; 398 + alias ACTRL_ACCESS_INFOA ACTRL_ACCESS_INFO; 399 + alias ACTRL_ACCESS_ENTRYA ACTRL_ACCESS_ENTRY; 400 + alias ACTRL_AUDITA ACTRL_AUDIT; 401 + alias ACTRL_CONTROL_INFOA ACTRL_CONTROL_INFO; 402 + alias EXPLICIT_ACCESSA EXPLICIT_ACCESS; 403 + alias TRUSTEE_ACCESSA TRUSTEE_ACCESS; 404 + alias OBJECTS_AND_NAME_A OBJECTS_AND_NAME_; 405 + static if (WINVER >= 0x501) { 406 + alias INHERITED_FROMA INHERITED_FROM; 407 + } 408 +} 409 + 410 +alias TRUSTEE TRUSTEE_; 411 +alias TRUSTEE* PTRUSTEE, PTRUSTEE_; 412 +alias ACTRL_ACCESS* PACTRL_ACCESS; 413 +alias ACTRL_ACCESS_ENTRY_LIST* PACTRL_ACCESS_ENTRY_LIST; 414 +alias ACTRL_ACCESS_INFO* PACTRL_ACCESS_INFO; 415 +alias ACTRL_ACCESS_ENTRY* PACTRL_ACCESS_ENTRY; 416 +alias ACTRL_AUDIT* PACTRL_AUDIT; 417 +alias ACTRL_CONTROL_INFO* PACTRL_CONTROL_INFO; 418 +alias EXPLICIT_ACCESS EXPLICIT_ACCESS_; 419 +alias EXPLICIT_ACCESS* PEXPLICIT_ACCESS, PEXPLICIT_ACCESS_; 420 +alias TRUSTEE_ACCESS* PTRUSTEE_ACCESS; 421 +alias OBJECTS_AND_NAME_* POBJECTS_AND_NAME_; 422 +static if (WINVER >= 0x501) { 423 + alias INHERITED_FROM* PINHERITED_FROM; 424 +}

Added src/win32/aclapi.d version [dc98e950dc2783b3]

1 +/***********************************************************************\ 2 +* aclapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.aclapi; 12 +pragma(lib, "advapi32.lib"); 13 + 14 +import win32.windows, win32.accctrl; 15 + 16 +static assert (_WIN32_WINNT_ONLY, 17 + "win32.aclapi is available only if version WindowsNTonly, WindowsXP, " 18 + "Windows2003 or WindowsVista is set"); 19 + 20 +extern (Windows) { 21 + VOID BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, DWORD, 22 + ACCESS_MODE, DWORD); 23 + VOID BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR, DWORD, 24 + ACCESS_MODE, DWORD); 25 + DWORD BuildSecurityDescriptorA(PTRUSTEE_A, PTRUSTEE_A , ULONG, 26 + PEXPLICIT_ACCESS_A, ULONG, PEXPLICIT_ACCESS_A, PSECURITY_DESCRIPTOR, 27 + PULONG, PSECURITY_DESCRIPTOR*); 28 + DWORD BuildSecurityDescriptorW(PTRUSTEE_W, PTRUSTEE_W , ULONG, 29 + PEXPLICIT_ACCESS_W, ULONG, PEXPLICIT_ACCESS_W, PSECURITY_DESCRIPTOR, 30 + PULONG, PSECURITY_DESCRIPTOR*); 31 + VOID BuildTrusteeWithNameA(PTRUSTEE_A, LPSTR); 32 + VOID BuildTrusteeWithNameW(PTRUSTEE_W, LPWSTR); 33 + VOID BuildTrusteeWithObjectsAndNameA(PTRUSTEE_A, POBJECTS_AND_NAME_A, 34 + SE_OBJECT_TYPE, LPSTR, LPSTR, LPSTR); 35 + VOID BuildTrusteeWithObjectsAndNameW(PTRUSTEE_W, POBJECTS_AND_NAME_W, 36 + SE_OBJECT_TYPE, LPWSTR, LPWSTR, LPWSTR); 37 + VOID BuildTrusteeWithObjectsAndSidA(PTRUSTEE_A, POBJECTS_AND_SID, 38 + GUID*, GUID*, PSID); 39 + VOID BuildTrusteeWithObjectsAndSidW(PTRUSTEE_W, POBJECTS_AND_SID, 40 + GUID*, GUID*, PSID); 41 + VOID BuildTrusteeWithSidA(PTRUSTEE_A, PSID); 42 + VOID BuildTrusteeWithSidW(PTRUSTEE_W, PSID); 43 + DWORD GetAuditedPermissionsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK, 44 + PACCESS_MASK); 45 + DWORD GetAuditedPermissionsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK, 46 + PACCESS_MASK); 47 + DWORD GetEffectiveRightsFromAclA(PACL, PTRUSTEE_A, PACCESS_MASK); 48 + DWORD GetEffectiveRightsFromAclW(PACL, PTRUSTEE_W, PACCESS_MASK); 49 + DWORD GetExplicitEntriesFromAclA(PACL, PULONG, PEXPLICIT_ACCESS_A*); 50 + DWORD GetExplicitEntriesFromAclW(PACL, PULONG, PEXPLICIT_ACCESS_W*); 51 + static if (WINVER >= 0x501) { 52 + DWORD GetInheritanceSourceA(LPSTR, SE_OBJECT_TYPE, 53 + SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*, 54 + PGENERIC_MAPPING, PINHERITED_FROMA); 55 + DWORD GetInheritanceSourceW(LPWSTR, SE_OBJECT_TYPE, 56 + SECURITY_INFORMATION, BOOL, GUID**, DWORD, PACL, void*, 57 + PGENERIC_MAPPING, PINHERITED_FROMW); 58 + } 59 + DWORD GetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, 60 + PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*); 61 + DWORD GetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, 62 + PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*); 63 + DWORD GetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, 64 + PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*); 65 + TRUSTEE_FORM GetTrusteeFormA(PTRUSTEE_A); 66 + TRUSTEE_FORM GetTrusteeFormW(PTRUSTEE_W); 67 + LPSTR GetTrusteeNameA(PTRUSTEE_A); 68 + LPWSTR GetTrusteeNameW(PTRUSTEE_W); 69 + TRUSTEE_TYPE GetTrusteeTypeA(PTRUSTEE_A); 70 + TRUSTEE_TYPE GetTrusteeTypeW(PTRUSTEE_W); 71 + DWORD LookupSecurityDescriptorPartsA(PTRUSTEE_A*, PTRUSTEE_A*, PULONG, 72 + PEXPLICIT_ACCESS_A*, PULONG, PEXPLICIT_ACCESS_A*, 73 + PSECURITY_DESCRIPTOR); 74 + DWORD LookupSecurityDescriptorPartsW(PTRUSTEE_W*, PTRUSTEE_W*, PULONG, 75 + PEXPLICIT_ACCESS_W*, PULONG, PEXPLICIT_ACCESS_W*, 76 + PSECURITY_DESCRIPTOR); 77 + DWORD SetEntriesInAclA(ULONG, PEXPLICIT_ACCESS_A, PACL, PACL*); 78 + DWORD SetEntriesInAclW(ULONG, PEXPLICIT_ACCESS_W, PACL, PACL*); 79 + DWORD SetNamedSecurityInfoA(LPSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, 80 + PSID, PSID, PACL, PACL); 81 + DWORD SetNamedSecurityInfoW(LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, 82 + PSID, PSID, PACL, PACL); 83 + DWORD SetSecurityInfo(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, PSID, 84 + PSID, PACL, PACL); 85 + VOID BuildImpersonateExplicitAccessWithNameA(PEXPLICIT_ACCESS_A, LPSTR, 86 + PTRUSTEE_A, DWORD, ACCESS_MODE, DWORD); 87 + VOID BuildImpersonateExplicitAccessWithNameW(PEXPLICIT_ACCESS_W, LPWSTR, 88 + PTRUSTEE_W, DWORD, ACCESS_MODE, DWORD); 89 + VOID BuildImpersonateTrusteeA(PTRUSTEE_A, PTRUSTEE_A); 90 + VOID BuildImpersonateTrusteeW(PTRUSTEE_W, PTRUSTEE_W); 91 + PTRUSTEE_A GetMultipleTrusteeA(PTRUSTEE_A); 92 + PTRUSTEE_W GetMultipleTrusteeW(PTRUSTEE_W); 93 + MULTIPLE_TRUSTEE_OPERATION GetMultipleTrusteeOperationA(PTRUSTEE_A); 94 + MULTIPLE_TRUSTEE_OPERATION GetMultipleTrusteeOperationW(PTRUSTEE_W); 95 +} 96 + 97 +version (Unicode) { 98 + alias BuildExplicitAccessWithNameW BuildExplicitAccessWithName; 99 + alias BuildSecurityDescriptorW BuildSecurityDescriptor; 100 + alias BuildTrusteeWithNameW BuildTrusteeWithName; 101 + alias BuildTrusteeWithObjectsAndNameW BuildTrusteeWithObjectsAndName; 102 + alias BuildTrusteeWithObjectsAndSidW BuildTrusteeWithObjectsAndSid; 103 + alias BuildTrusteeWithSidW BuildTrusteeWithSid; 104 + alias GetAuditedPermissionsFromAclW GetAuditedPermissionsFromAcl; 105 + alias GetEffectiveRightsFromAclW GetEffectiveRightsFromAcl; 106 + alias GetExplicitEntriesFromAclW GetExplicitEntriesFromAcl; 107 + alias GetNamedSecurityInfoW GetNamedSecurityInfo; 108 + alias GetTrusteeFormW GetTrusteeForm; 109 + alias GetTrusteeNameW GetTrusteeName; 110 + alias GetTrusteeTypeW GetTrusteeType; 111 + alias LookupSecurityDescriptorPartsW LookupSecurityDescriptorParts; 112 + alias SetEntriesInAclW SetEntriesInAcl; 113 + alias SetNamedSecurityInfoW SetNamedSecurityInfo; 114 + alias BuildImpersonateExplicitAccessWithNameW 115 + BuildImpersonateExplicitAccessWithName; 116 + alias BuildImpersonateTrusteeW BuildImpersonateTrustee; 117 + alias GetMultipleTrusteeW GetMultipleTrustee; 118 + alias GetMultipleTrusteeOperationW GetMultipleTrusteeOperation; 119 +} else { 120 + alias BuildExplicitAccessWithNameA BuildExplicitAccessWithName; 121 + alias BuildSecurityDescriptorA BuildSecurityDescriptor; 122 + alias BuildTrusteeWithNameA BuildTrusteeWithName; 123 + alias BuildTrusteeWithObjectsAndNameA BuildTrusteeWithObjectsAndName; 124 + alias BuildTrusteeWithObjectsAndSidA BuildTrusteeWithObjectsAndSid; 125 + alias BuildTrusteeWithSidA BuildTrusteeWithSid; 126 + alias GetAuditedPermissionsFromAclA GetAuditedPermissionsFromAcl; 127 + alias GetEffectiveRightsFromAclA GetEffectiveRightsFromAcl; 128 + alias GetExplicitEntriesFromAclA GetExplicitEntriesFromAcl; 129 + alias GetNamedSecurityInfoA GetNamedSecurityInfo; 130 + alias GetTrusteeFormA GetTrusteeForm; 131 + alias GetTrusteeNameA GetTrusteeName; 132 + alias GetTrusteeTypeA GetTrusteeType; 133 + alias LookupSecurityDescriptorPartsA LookupSecurityDescriptorParts; 134 + alias SetEntriesInAclA SetEntriesInAcl; 135 + alias SetNamedSecurityInfoA SetNamedSecurityInfo; 136 + alias BuildImpersonateExplicitAccessWithNameA 137 + BuildImpersonateExplicitAccessWithName; 138 + alias BuildImpersonateTrusteeA BuildImpersonateTrustee; 139 + alias GetMultipleTrusteeA GetMultipleTrustee; 140 + alias GetMultipleTrusteeOperationA GetMultipleTrusteeOperation; 141 +}

Added src/win32/aclui.d version [817cc0a842105b34]

1 +/***********************************************************************\ 2 +* aclui.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.aclui; 12 +pragma(lib, "aclui.lib"); 13 + 14 +private import win32.w32api; 15 + 16 +static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500, 17 + "win32.aclui is available only if version WindowsXP, Windows2003 " 18 + "or WindowsVista is set, or both Windows2000 and WindowsNTonly are set"); 19 + 20 +import win32.accctrl, win32.commctrl, win32.objbase; 21 +private import win32.basetyps, win32.prsht, win32.unknwn, win32.windef, 22 + win32.winuser; 23 + 24 + 25 +struct SI_OBJECT_INFO { 26 + DWORD dwFlags; 27 + HINSTANCE hInstance; 28 + LPWSTR pszServerName; 29 + LPWSTR pszObjectName; 30 + LPWSTR pszPageTitle; 31 + GUID guidObjectType; 32 +} 33 +alias SI_OBJECT_INFO* PSI_OBJECT_INFO; 34 + 35 +// values for SI_OBJECT_INFO.dwFlags 36 +const DWORD 37 + SI_EDIT_PERMS = 0x00000000, 38 + SI_EDIT_OWNER = 0x00000001, 39 + SI_EDIT_AUDITS = 0x00000002, 40 + SI_CONTAINER = 0x00000004, 41 + SI_READONLY = 0x00000008, 42 + SI_ADVANCED = 0x00000010, 43 + SI_RESET = 0x00000020, 44 + SI_OWNER_READONLY = 0x00000040, 45 + SI_EDIT_PROPERTIES = 0x00000080, 46 + SI_OWNER_RECURSE = 0x00000100, 47 + SI_NO_ACL_PROTECT = 0x00000200, 48 + SI_NO_TREE_APPLY = 0x00000400, 49 + SI_PAGE_TITLE = 0x00000800, 50 + SI_SERVER_IS_DC = 0x00001000, 51 + SI_RESET_DACL_TREE = 0x00004000, 52 + SI_RESET_SACL_TREE = 0x00008000, 53 + SI_OBJECT_GUID = 0x00010000, 54 + SI_EDIT_EFFECTIVE = 0x00020000, 55 + SI_RESET_DACL = 0x00040000, 56 + SI_RESET_SACL = 0x00080000, 57 + SI_RESET_OWNER = 0x00100000, 58 + SI_NO_ADDITIONAL_PERMISSION = 0x00200000, 59 + SI_MAY_WRITE = 0x10000000, 60 + SI_EDIT_ALL = SI_EDIT_PERMS | SI_EDIT_OWNER 61 + | SI_EDIT_AUDITS; 62 + 63 +struct SI_ACCESS { 64 + CPtr!(GUID) pguid; 65 + ACCESS_MASK mask; 66 + LPCWSTR pszName; 67 + DWORD dwFlags; 68 +} 69 +alias SI_ACCESS* PSI_ACCESS; 70 + 71 +// values for SI_ACCESS.dwFlags 72 +const DWORD 73 + SI_ACCESS_SPECIFIC = 0x00010000, 74 + SI_ACCESS_GENERAL = 0x00020000, 75 + SI_ACCESS_CONTAINER = 0x00040000, 76 + SI_ACCESS_PROPERTY = 0x00080000; 77 + 78 + 79 +struct SI_INHERIT_TYPE { 80 + CPtr!(GUID) pguid; 81 + ULONG dwFlags; 82 + LPCWSTR pszName; 83 +} 84 +alias SI_INHERIT_TYPE* PSI_INHERIT_TYPE; 85 + 86 +/* values for SI_INHERIT_TYPE.dwFlags 87 + INHERIT_ONLY_ACE, CONTAINER_INHERIT_ACE, OBJECT_INHERIT_ACE 88 + defined elsewhere */ 89 + 90 +enum SI_PAGE_TYPE { 91 + SI_PAGE_PERM, 92 + SI_PAGE_ADVPERM, 93 + SI_PAGE_AUDIT, 94 + SI_PAGE_OWNER 95 +} 96 + 97 +const uint PSPCB_SI_INITDIALOG = WM_USER + 1; 98 + 99 +interface ISecurityInformation : IUnknown { 100 + HRESULT GetObjectInformation(PSI_OBJECT_INFO); 101 + HRESULT GetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR*, BOOL); 102 + HRESULT SetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 103 + HRESULT GetAccessRights(CPtr!(GUID), DWORD, PSI_ACCESS*, ULONG*, ULONG*); 104 + HRESULT MapGeneric(CPtr!(GUID), UCHAR*, ACCESS_MASK*); 105 + HRESULT GetInheritTypes(PSI_INHERIT_TYPE*, ULONG*); 106 + HRESULT PropertySheetPageCallback(HWND, UINT, SI_PAGE_TYPE); 107 +} 108 +alias ISecurityInformation* LPSECURITYINFO; 109 + 110 +/* Comment from MinGW 111 + * TODO: ISecurityInformation2, IEffectivePermission, ISecurityObjectTypeInfo 112 + */ 113 + 114 +// FIXME: linkage attribute? 115 +extern (C) /+DECLSPEC_IMPORT+/ extern const IID IID_ISecurityInformation; 116 + 117 +extern (Windows) { 118 + HPROPSHEETPAGE CreateSecurityPage(LPSECURITYINFO psi); 119 + BOOL EditSecurity(HWND hwndOwner, LPSECURITYINFO psi); 120 +}

Deleted src/win32/ansi/commctrl.d version [fd91582c043f20e0]

1 -module win32.ansi.commctrl; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winuser; 7 -alias void _PSP; 8 -alias void _IMAGELIST; 9 -alias void _TREEITEM; 10 -alias LPTBSAVEPARAMW LPTBSAVEPARAMSW; 11 -alias PCCOMBOEXITEMA PCCOMBOBOXEXITEMA; 12 -alias PCCOMBOEXITEMW PCCOMBOBOXEXITEMW; 13 -enum : uint { 14 - NM_FIRST = 0, 15 - SB_SETTIPTEXTA = WM_USER + 16, 16 - SB_SETTIPTEXTW = WM_USER + 17, 17 - SB_GETTIPTEXTA = WM_USER + 18, 18 - SB_GETTIPTEXTW = WM_USER + 19, 19 - TVHT_ONITEMSTATEICON = 0x0040, 20 - CBEN_FIRST = 0U - 800U, 21 - CBEN_GETDISPINFOA = CBEN_FIRST - 0, 22 - CBEN_GETDISPINFOW = CBEN_FIRST - 7 23 -} 24 -// inline #include <prsht.h> 25 -// ---- 26 - 27 -// #ifndef _PRSHT_H_ 28 -// #define _PRSHT_H_ 29 - 30 -// #ifndef _WINRESRC_ 31 -// #ifndef _WIN32_IE 32 -// #... 33 -// #else 34 -// #if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500) 35 -// #... 36 -// #endif 37 -// #endif 38 -// #endif 39 - 40 -// #ifndef WINCOMMCTRLAPI 41 -// #if !defined(_COMCTL32_) && defined(_WIN32) 42 -// #define WINCOMMCTRLAPI DECLSPEC_IMPORT 43 -// #else 44 -// #... 45 -// #endif 46 -// #endif // WINCOMMCTRLAPI 47 - 48 -// #ifndef CCSIZEOF_STRUCT 49 -// #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) 50 -// #endif 51 - 52 -// #ifndef DUMMYUNIONNAME 53 -// #ifdef NONAMELESSUNION 54 -// #... 55 -// #... 56 -// #... 57 -// #... 58 -// #... 59 -// #else 60 -// #define DUMMYUNIONNAME 61 -// #define DUMMYUNIONNAME2 62 -// #define DUMMYUNIONNAME3 63 -// #define DUMMYUNIONNAME4 64 -// #define DUMMYUNIONNAME5 65 -// #endif 66 -// #endif // DUMMYUNIONNAME 67 - 68 -// #ifdef _WIN64 69 -// #... 70 -// #else 71 -align(4): 72 -// #endif 73 - 74 -// #ifdef __cplusplus 75 -// extern "C" { 76 -// #endif 77 - 78 -// #ifndef SNDMSG 79 -// #ifdef __cplusplus 80 -// #ifndef _MAC 81 -// #define SNDMSG ::SendMessage 82 -// #else 83 -// #... 84 -// #endif 85 -// #else 86 -// #ifndef _MAC 87 -// #... 88 -// #else 89 -// #... 90 -// #endif 91 -// #endif 92 -// #endif // ifndef SNDMSG 93 - 94 -enum : uint { MAXPROPPAGES = 100 } 95 - 96 -// struct _PSP; 97 -alias _PSP* HPROPSHEETPAGE; 98 - 99 -// #ifndef MIDL_PASS 100 -// struct _PROPSHEETPAGEA; 101 -// struct _PROPSHEETPAGEW; 102 -// #endif 103 - 104 -extern(Windows) alias UINT function(HWND hwnd, UINT uMsg, _PROPSHEETPAGEA *ppsp) LPFNPSPCALLBACKA; 105 -extern(Windows) alias UINT function(HWND hwnd, UINT uMsg, _PROPSHEETPAGEW *ppsp) LPFNPSPCALLBACKW; 106 - 107 -// #ifdef UNICODE 108 -// #... 109 -// #else 110 -alias LPFNPSPCALLBACKA LPFNPSPCALLBACK; 111 -// #endif 112 - 113 -enum : uint { PSP_DEFAULT = 0x00000000 } 114 -enum : uint { PSP_DLGINDIRECT = 0x00000001 } 115 -enum : uint { PSP_USEHICON = 0x00000002 } 116 -enum : uint { PSP_USEICONID = 0x00000004 } 117 -enum : uint { PSP_USETITLE = 0x00000008 } 118 -enum : uint { PSP_RTLREADING = 0x00000010 } 119 - 120 -enum : uint { PSP_HASHELP = 0x00000020 } 121 -enum : uint { PSP_USEREFPARENT = 0x00000040 } 122 -enum : uint { PSP_USECALLBACK = 0x00000080 } 123 -enum : uint { PSP_PREMATURE = 0x00000400 } 124 - 125 -// #if (_WIN32_IE >= 0x0400) 126 - 127 -enum : uint { PSP_HIDEHEADER = 0x00000800 } 128 -enum : uint { PSP_USEHEADERTITLE = 0x00001000 } 129 -enum : uint { PSP_USEHEADERSUBTITLE = 0x00002000 } 130 - 131 -// #endif 132 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED 133 -enum : uint { PSP_USEFUSIONCONTEXT = 0x00004000 } 134 -// #endif 135 - 136 -// #if (_WIN32_IE >= 0x0500) 137 -enum : uint { PSPCB_ADDREF = 0 } 138 -// #endif 139 -enum : uint { PSPCB_RELEASE = 1 } 140 -enum : uint { PSPCB_CREATE = 2 } 141 - 142 -// #define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pcRefParent) 143 -// #define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pcRefParent) 144 - 145 -// #define PROPSHEETPAGEA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pszHeaderSubTitle) 146 -// #define PROPSHEETPAGEW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pszHeaderSubTitle) 147 - 148 -// #ifdef _WIN32 149 -alias LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE; 150 -// #else 151 -// ... 152 -// #endif 153 - 154 -// #define PROPSHEETPAGEA_V1_FIELDS DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } DUMMYUNIONNAME; union { HICON hIcon; LPCSTR pszIcon; } DUMMYUNIONNAME2; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent; 155 -// #define PROPSHEETPAGEW_V1_FIELDS DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } DUMMYUNIONNAME; union { HICON hIcon; LPCWSTR pszIcon; } DUMMYUNIONNAME2; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent; 156 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED 157 -alias _PROPSHEETPAGEA_V3 _PROPSHEETPAGEA; 158 -alias _PROPSHEETPAGEW_V3 _PROPSHEETPAGEW; 159 -// #elif (_WIN32_IE >= 0x0400) 160 -// #... 161 -// #... 162 -// #else 163 -// #... 164 -// #... 165 -// #endif 166 - 167 -struct _PROPSHEETPAGEA_V1 { 168 - DWORD dwSize; 169 - DWORD dwFlags; 170 - HINSTANCE hInstance; 171 - union { 172 - LPCSTR pszTemplate; 173 - PROPSHEETPAGE_RESOURCE pResource; 174 - } 175 - union { 176 - HICON hIcon; 177 - LPCSTR pszIcon; 178 - } 179 - LPCSTR pszTitle; 180 - DLGPROC pfnDlgProc; 181 - LPARAM lParam; 182 - LPFNPSPCALLBACKA pfnCallback; 183 - UINT* pcRefParent; 184 -} 185 -alias _PROPSHEETPAGEA_V1 PROPSHEETPAGEA_V1; 186 -alias _PROPSHEETPAGEA_V1* LPPROPSHEETPAGEA_V1; 187 - 188 -alias PROPSHEETPAGEA_V1* LPCPROPSHEETPAGEA_V1; 189 - 190 -struct _PROPSHEETPAGEA_V2 { 191 - DWORD dwSize; 192 - DWORD dwFlags; 193 - HINSTANCE hInstance; 194 - union { 195 - LPCSTR pszTemplate; 196 - PROPSHEETPAGE_RESOURCE pResource; 197 - } 198 - union { 199 - HICON hIcon; 200 - LPCSTR pszIcon; 201 - } 202 - LPCSTR pszTitle; 203 - DLGPROC pfnDlgProc; 204 - LPARAM lParam; 205 - LPFNPSPCALLBACKA pfnCallback; 206 - UINT* pcRefParent; 207 - 208 - LPCSTR pszHeaderTitle; 209 - LPCSTR pszHeaderSubTitle; 210 -} 211 -alias _PROPSHEETPAGEA_V2 PROPSHEETPAGEA_V2; 212 -alias _PROPSHEETPAGEA_V2* LPPROPSHEETPAGEA_V2; 213 - 214 -alias PROPSHEETPAGEA_V2* LPCPROPSHEETPAGEA_V2; 215 - 216 -struct _PROPSHEETPAGEA_V3 { 217 - DWORD dwSize; 218 - DWORD dwFlags; 219 - HINSTANCE hInstance; 220 - union { 221 - LPCSTR pszTemplate; 222 - PROPSHEETPAGE_RESOURCE pResource; 223 - } 224 - union { 225 - HICON hIcon; 226 - LPCSTR pszIcon; 227 - } 228 - LPCSTR pszTitle; 229 - DLGPROC pfnDlgProc; 230 - LPARAM lParam; 231 - LPFNPSPCALLBACKA pfnCallback; 232 - UINT* pcRefParent; 233 - 234 - LPCSTR pszHeaderTitle; 235 - LPCSTR pszHeaderSubTitle; 236 - 237 - HANDLE hActCtx; 238 -} 239 -alias _PROPSHEETPAGEA_V3 PROPSHEETPAGEA_V3; 240 -alias _PROPSHEETPAGEA_V3* LPPROPSHEETPAGEA_V3; 241 - 242 -alias PROPSHEETPAGEA_V3* LPCPROPSHEETPAGEA_V3; 243 - 244 -struct _PROPSHEETPAGEW_V1 { 245 - DWORD dwSize; 246 - DWORD dwFlags; 247 - HINSTANCE hInstance; 248 - union { 249 - LPCWSTR pszTemplate; 250 - PROPSHEETPAGE_RESOURCE pResource; 251 - } 252 - union { 253 - HICON hIcon; 254 - LPCWSTR pszIcon; 255 - } 256 - LPCWSTR pszTitle; 257 - DLGPROC pfnDlgProc; 258 - LPARAM lParam; 259 - LPFNPSPCALLBACKW pfnCallback; 260 - UINT* pcRefParent; 261 -} 262 -alias _PROPSHEETPAGEW_V1 PROPSHEETPAGEW_V1; 263 -alias _PROPSHEETPAGEW_V1* LPPROPSHEETPAGEW_V1; 264 - 265 -alias PROPSHEETPAGEW_V1* LPCPROPSHEETPAGEW_V1; 266 - 267 -struct _PROPSHEETPAGEW_V2 { 268 - DWORD dwSize; 269 - DWORD dwFlags; 270 - HINSTANCE hInstance; 271 - union { 272 - LPCWSTR pszTemplate; 273 - PROPSHEETPAGE_RESOURCE pResource; 274 - } 275 - union { 276 - HICON hIcon; 277 - LPCWSTR pszIcon; 278 - } 279 - LPCWSTR pszTitle; 280 - DLGPROC pfnDlgProc; 281 - LPARAM lParam; 282 - LPFNPSPCALLBACKW pfnCallback; 283 - UINT* pcRefParent; 284 - 285 - LPCWSTR pszHeaderTitle; 286 - LPCWSTR pszHeaderSubTitle; 287 -} 288 -alias _PROPSHEETPAGEW_V2 PROPSHEETPAGEW_V2; 289 -alias _PROPSHEETPAGEW_V2* LPPROPSHEETPAGEW_V2; 290 - 291 -alias PROPSHEETPAGEW_V2* LPCPROPSHEETPAGEW_V2; 292 - 293 -struct _PROPSHEETPAGEW_V3 { 294 - DWORD dwSize; 295 - DWORD dwFlags; 296 - HINSTANCE hInstance; 297 - union { 298 - LPCWSTR pszTemplate; 299 - PROPSHEETPAGE_RESOURCE pResource; 300 - } 301 - union { 302 - HICON hIcon; 303 - LPCWSTR pszIcon; 304 - } 305 - LPCWSTR pszTitle; 306 - DLGPROC pfnDlgProc; 307 - LPARAM lParam; 308 - LPFNPSPCALLBACKW pfnCallback; 309 - UINT* pcRefParent; 310 - 311 - LPCWSTR pszHeaderTitle; 312 - LPCWSTR pszHeaderSubTitle; 313 - 314 - HANDLE hActCtx; 315 -} 316 -alias _PROPSHEETPAGEW_V3 PROPSHEETPAGEW_V3; 317 -alias _PROPSHEETPAGEW_V3* LPPROPSHEETPAGEW_V3; 318 - 319 -alias PROPSHEETPAGEW_V3* LPCPROPSHEETPAGEW_V3; 320 - 321 -alias PROPSHEETPAGEA_V3 PROPSHEETPAGEA_LATEST; 322 -alias PROPSHEETPAGEW_V3 PROPSHEETPAGEW_LATEST; 323 -alias LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA_LATEST; 324 -alias LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW_LATEST; 325 -alias LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST; 326 -alias LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST; 327 - 328 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED 329 -alias PROPSHEETPAGEA_V3 PROPSHEETPAGEA; 330 -alias PROPSHEETPAGEW_V3 PROPSHEETPAGEW; 331 -alias LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA; 332 -alias LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW; 333 -alias LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA; 334 -alias LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW; 335 -// #elif (_WIN32_IE >= 0x0400) 336 -// ... 337 -// #else 338 -// ... 339 -// #endif 340 - 341 -// #if 0 // IEUNIX reserved. 342 - 343 -// #if __STDC__ || defined (NONAMELESSUNION) 344 -// #... 345 -// #else 346 -// #... 347 -// #endif 348 -// #endif 349 - 350 -// #ifdef UNICODE 351 -// #... 352 -// #... 353 -// #... 354 -// #... 355 -// #... 356 -// #... 357 -// #... 358 -// #... 359 -// #... 360 -// #... 361 -// #... 362 -// #... 363 -// #... 364 -// #... 365 -// #... 366 -// #... 367 -// #... 368 -// #else 369 -alias PROPSHEETPAGEA PROPSHEETPAGE; 370 -alias LPPROPSHEETPAGEA LPPROPSHEETPAGE; 371 -alias LPCPROPSHEETPAGEA LPCPROPSHEETPAGE; 372 -// #define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEA_V1_SIZE 373 -// #define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEA_V2_SIZE 374 -alias PROPSHEETPAGEA_V1 PROPSHEETPAGE_V1; 375 -alias LPPROPSHEETPAGEA_V1 LPPROPSHEETPAGE_V1; 376 -alias LPCPROPSHEETPAGEA_V1 LPCPROPSHEETPAGE_V1; 377 -alias PROPSHEETPAGEA_V2 PROPSHEETPAGE_V2; 378 -alias LPPROPSHEETPAGEA_V2 LPPROPSHEETPAGE_V2; 379 -alias LPCPROPSHEETPAGEA_V2 LPCPROPSHEETPAGE_V2; 380 -alias PROPSHEETPAGEA_V3 PROPSHEETPAGE_V3; 381 -alias LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGE_V3; 382 -alias LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGE_V3; 383 -alias PROPSHEETPAGEA_LATEST PROPSHEETPAGE_LATEST; 384 -alias LPPROPSHEETPAGEA_LATEST LPPROPSHEETPAGE_LATEST; 385 -alias LPCPROPSHEETPAGEA_LATEST LPCPROPSHEETPAGE_LATEST; 386 -// #endif 387 - 388 -enum : uint { PSH_DEFAULT = 0x00000000 } 389 -enum : uint { PSH_PROPTITLE = 0x00000001 } 390 -enum : uint { PSH_USEHICON = 0x00000002 } 391 -enum : uint { PSH_USEICONID = 0x00000004 } 392 -enum : uint { PSH_PROPSHEETPAGE = 0x00000008 } 393 -enum : uint { PSH_WIZARDHASFINISH = 0x00000010 } 394 -enum : uint { PSH_WIZARD = 0x00000020 } 395 -enum : uint { PSH_USEPSTARTPAGE = 0x00000040 } 396 -enum : uint { PSH_NOAPPLYNOW = 0x00000080 } 397 -enum : uint { PSH_USECALLBACK = 0x00000100 } 398 -enum : uint { PSH_HASHELP = 0x00000200 } 399 -enum : uint { PSH_MODELESS = 0x00000400 } 400 -enum : uint { PSH_RTLREADING = 0x00000800 } 401 -enum : uint { PSH_WIZARDCONTEXTHELP = 0x00001000 } 402 - 403 -// #if (_WIN32_IE >= 0x0400) 404 - 405 -// #if (_WIN32_IE < 0x0500) 406 -// #... 407 -// #else 408 -enum : uint { PSH_WIZARD97 = 0x01000000 } 409 -// #endif 410 - 411 -enum : uint { PSH_WATERMARK = 0x00008000 } 412 -enum : uint { PSH_USEHBMWATERMARK = 0x00010000 } 413 -enum : uint { PSH_USEHPLWATERMARK = 0x00020000 } 414 -enum : uint { PSH_STRETCHWATERMARK = 0x00040000 } 415 -enum : uint { PSH_HEADER = 0x00080000 } 416 -enum : uint { PSH_USEHBMHEADER = 0x00100000 } 417 -enum : uint { PSH_USEPAGELANG = 0x00200000 } 418 - 419 -// #endif 420 - 421 -// #if (_WIN32_IE >= 0x0500) 422 - 423 -enum : uint { PSH_WIZARD_LITE = 0x00400000 } 424 -enum : uint { PSH_NOCONTEXTHELP = 0x02000000 } 425 - 426 -// #endif 427 - 428 -extern(Windows) alias int function(HWND, UINT, LPARAM) PFNPROPSHEETCALLBACK; 429 - 430 -// #define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, pfnCallback) 431 -// #define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, pfnCallback) 432 - 433 -// #define PROPSHEETHEADERA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, DUMMYUNION5_MEMBER(hbmHeader)) 434 -// #define PROPSHEETHEADERW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, DUMMYUNION5_MEMBER(hbmHeader)) 435 - 436 -struct _PROPSHEETHEADERA { 437 - DWORD dwSize; 438 - DWORD dwFlags; 439 - HWND hwndParent; 440 - HINSTANCE hInstance; 441 -union { 442 - HICON hIcon; 443 - LPCSTR pszIcon; 444 -} 445 - 446 - LPCSTR pszCaption; 447 - UINT nPages; 448 -union { 449 - UINT nStartPage; 450 - LPCSTR pStartPage; 451 -} 452 - 453 -union { 454 - LPCPROPSHEETPAGEA ppsp; 455 - HPROPSHEETPAGE *phpage; 456 -} 457 - 458 - PFNPROPSHEETCALLBACK pfnCallback; 459 -// #if (_WIN32_IE >= 0x0400) 460 -union { 461 - HBITMAP hbmWatermark; 462 - LPCSTR pszbmWatermark; 463 -} 464 - 465 - HPALETTE hplWatermark; 466 -union { 467 - HBITMAP hbmHeader; 468 - LPCSTR pszbmHeader; 469 -} 470 - 471 -// #endif 472 -} 473 -alias _PROPSHEETHEADERA PROPSHEETHEADERA; 474 -alias _PROPSHEETHEADERA* LPPROPSHEETHEADERA; 475 - 476 -alias PROPSHEETHEADERA* LPCPROPSHEETHEADERA; 477 - 478 -struct _PROPSHEETHEADERW { 479 - DWORD dwSize; 480 - DWORD dwFlags; 481 - HWND hwndParent; 482 - HINSTANCE hInstance; 483 -union { 484 - HICON hIcon; 485 - LPCWSTR pszIcon; 486 -} 487 - 488 - LPCWSTR pszCaption; 489 - UINT nPages; 490 -union { 491 - UINT nStartPage; 492 - LPCWSTR pStartPage; 493 -} 494 - 495 -union { 496 - LPCPROPSHEETPAGEW ppsp; 497 - HPROPSHEETPAGE *phpage; 498 -} 499 - 500 - PFNPROPSHEETCALLBACK pfnCallback; 501 -// #if (_WIN32_IE >= 0x0400) 502 -union { 503 - HBITMAP hbmWatermark; 504 - LPCWSTR pszbmWatermark; 505 -} 506 - 507 - HPALETTE hplWatermark; 508 -union { 509 - HBITMAP hbmHeader; 510 - LPCWSTR pszbmHeader; 511 -} 512 - 513 -// #endif 514 -} 515 -alias _PROPSHEETHEADERW PROPSHEETHEADERW; 516 -alias _PROPSHEETHEADERW* LPPROPSHEETHEADERW; 517 - 518 -alias PROPSHEETHEADERW* LPCPROPSHEETHEADERW; 519 - 520 -// #if 0 //IEUNIX reserved. 521 - 522 -// #if __STDC__ || defined (NONAMELESSUNION) 523 -// #... 524 -// #... 525 -// #else 526 -// #... 527 -// #... 528 -// #endif 529 -// #endif 530 - 531 -// #ifdef UNICODE 532 -// #... 533 -// #... 534 -// #... 535 -// #... 536 -// #... 537 -// #else 538 -alias PROPSHEETHEADERA PROPSHEETHEADER; 539 -alias LPPROPSHEETHEADERA LPPROPSHEETHEADER; 540 -alias LPCPROPSHEETHEADERA LPCPROPSHEETHEADER; 541 -// #define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERA_V1_SIZE 542 -// #define PROPSHEETHEADER_V2_SIZE PROPSHEETHEADERA_V2_SIZE 543 -// #endif 544 - 545 -enum : uint { PSCB_INITIALIZED = 1 } 546 -enum : uint { PSCB_PRECREATE = 2 } 547 - 548 -// #if (_WIN32_IE >= 0x560) 549 - 550 -enum : uint { PSCB_BUTTONPRESSED = 3 } 551 -// #endif // _WIN32_IE >= 0x560 552 - 553 -extern(Windows) export HPROPSHEETPAGE CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer); 554 -extern(Windows) export HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer); 555 -extern(Windows) export BOOL DestroyPropertySheetPage(HPROPSHEETPAGE); 556 - 557 -extern(Windows) export INT_PTR PropertySheetA(LPCPROPSHEETHEADERA); 558 - 559 -extern(Windows) export INT_PTR PropertySheetW(LPCPROPSHEETHEADERW); 560 - 561 -// #ifdef UNICODE 562 -// #... 563 -// #... 564 -// #else 565 -alias CreatePropertySheetPageA CreatePropertySheetPage; 566 -alias PropertySheetA PropertySheet; 567 -// #endif 568 - 569 -extern(Windows) alias BOOL function(HPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGE; 570 -extern(Windows) alias BOOL function(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGES; 571 - 572 -struct _PSHNOTIFY { 573 - NMHDR hdr; 574 - LPARAM lParam; 575 -} 576 -alias _PSHNOTIFY PSHNOTIFY; 577 -alias _PSHNOTIFY* LPPSHNOTIFY; 578 - 579 -enum : uint { PSN_FIRST = 0U-200U } 580 -enum : uint { PSN_LAST = 0U-299U } 581 - 582 -enum : uint { PSN_SETACTIVE = PSN_FIRST-0 } 583 -enum : uint { PSN_KILLACTIVE = PSN_FIRST-1 } 584 - 585 -enum : uint { PSN_APPLY = PSN_FIRST-2 } 586 -enum : uint { PSN_RESET = PSN_FIRST-3 } 587 - 588 -enum : uint { PSN_HELP = PSN_FIRST-5 } 589 -enum : uint { PSN_WIZBACK = PSN_FIRST-6 } 590 -enum : uint { PSN_WIZNEXT = PSN_FIRST-7 } 591 -enum : uint { PSN_WIZFINISH = PSN_FIRST-8 } 592 -enum : uint { PSN_QUERYCANCEL = PSN_FIRST-9 } 593 -// #if (_WIN32_IE >= 0x0400) 594 -enum : uint { PSN_GETOBJECT = PSN_FIRST-10 } 595 -// #endif // 0x0400 596 -// #if (_WIN32_IE >= 0x0500) 597 -enum : uint { PSN_TRANSLATEACCELERATOR = PSN_FIRST-12 } 598 -enum : uint { PSN_QUERYINITIALFOCUS = PSN_FIRST-13 } 599 -// #endif // 0x0500 600 - 601 -enum : uint { PSNRET_NOERROR = 0 } 602 -enum : uint { PSNRET_INVALID = 1 } 603 -enum : uint { PSNRET_INVALID_NOCHANGEPAGE = 2 } 604 -enum : uint { PSNRET_MESSAGEHANDLED = 3 } 605 - 606 -enum : uint { PSM_SETCURSEL = WM_USER + 101 } 607 -// #define PropSheet_SetCurSel(hDlg, hpage, index) SNDMSG(hDlg, PSM_SETCURSEL, (WPARAM)index, (LPARAM)hpage) 608 - 609 -enum : uint { PSM_REMOVEPAGE = WM_USER + 102 } 610 -// #define PropSheet_RemovePage(hDlg, index, hpage) SNDMSG(hDlg, PSM_REMOVEPAGE, index, (LPARAM)hpage) 611 - 612 -enum : uint { PSM_ADDPAGE = WM_USER + 103 } 613 -// #define PropSheet_AddPage(hDlg, hpage) SNDMSG(hDlg, PSM_ADDPAGE, 0, (LPARAM)hpage) 614 - 615 -enum : uint { PSM_CHANGED = WM_USER + 104 } 616 -// #define PropSheet_Changed(hDlg, hwnd) SNDMSG(hDlg, PSM_CHANGED, (WPARAM)hwnd, 0L) 617 - 618 -enum : uint { PSM_RESTARTWINDOWS = WM_USER + 105 } 619 -// #define PropSheet_RestartWindows(hDlg) SNDMSG(hDlg, PSM_RESTARTWINDOWS, 0, 0L) 620 - 621 -enum : uint { PSM_REBOOTSYSTEM = WM_USER + 106 } 622 -// #define PropSheet_RebootSystem(hDlg) SNDMSG(hDlg, PSM_REBOOTSYSTEM, 0, 0L) 623 - 624 -enum : uint { PSM_CANCELTOCLOSE = WM_USER + 107 } 625 -// #define PropSheet_CancelToClose(hDlg) PostMessage(hDlg, PSM_CANCELTOCLOSE, 0, 0L) 626 - 627 -enum : uint { PSM_QUERYSIBLINGS = WM_USER + 108 } 628 -// #define PropSheet_QuerySiblings(hDlg, wParam, lParam) SNDMSG(hDlg, PSM_QUERYSIBLINGS, wParam, lParam) 629 - 630 -enum : uint { PSM_UNCHANGED = WM_USER + 109 } 631 -// #define PropSheet_UnChanged(hDlg, hwnd) SNDMSG(hDlg, PSM_UNCHANGED, (WPARAM)hwnd, 0L) 632 - 633 -enum : uint { PSM_APPLY = WM_USER + 110 } 634 -// #define PropSheet_Apply(hDlg) SNDMSG(hDlg, PSM_APPLY, 0, 0L) 635 - 636 -enum : uint { PSM_SETTITLEA = WM_USER + 111 } 637 -enum : uint { PSM_SETTITLEW = WM_USER + 120 } 638 - 639 -// #ifdef UNICODE 640 -// #... 641 -// #else 642 -alias PSM_SETTITLEA PSM_SETTITLE; 643 -// #endif 644 - 645 -// #define PropSheet_SetTitle(hDlg, wStyle, lpszText) SNDMSG(hDlg, PSM_SETTITLE, wStyle, (LPARAM)(LPCTSTR)(lpszText)) 646 - 647 -enum : uint { PSM_SETWIZBUTTONS = WM_USER + 112 } 648 -// #define PropSheet_SetWizButtons(hDlg, dwFlags) PostMessage(hDlg, PSM_SETWIZBUTTONS, 0, (LPARAM)dwFlags) 649 - 650 -enum : uint { PSWIZB_BACK = 0x00000001 } 651 -enum : uint { PSWIZB_NEXT = 0x00000002 } 652 -enum : uint { PSWIZB_FINISH = 0x00000004 } 653 -enum : uint { PSWIZB_DISABLEDFINISH = 0x00000008 } 654 - 655 -enum : uint { PSM_PRESSBUTTON = WM_USER + 113 } 656 -// #define PropSheet_PressButton(hDlg, iButton) PostMessage(hDlg, PSM_PRESSBUTTON, (WPARAM)iButton, 0) 657 - 658 -enum : uint { PSBTN_BACK = 0 } 659 -enum : uint { PSBTN_NEXT = 1 } 660 -enum : uint { PSBTN_FINISH = 2 } 661 -enum : uint { PSBTN_OK = 3 } 662 -enum : uint { PSBTN_APPLYNOW = 4 } 663 -enum : uint { PSBTN_CANCEL = 5 } 664 -enum : uint { PSBTN_HELP = 6 } 665 -enum : uint { PSBTN_MAX = 6 } 666 - 667 -enum : uint { PSM_SETCURSELID = WM_USER + 114 } 668 -// #define PropSheet_SetCurSelByID(hDlg, id) SNDMSG(hDlg, PSM_SETCURSELID, 0, (LPARAM)id) 669 - 670 -enum : uint { PSM_SETFINISHTEXTA = WM_USER + 115 } 671 -enum : uint { PSM_SETFINISHTEXTW = WM_USER + 121 } 672 - 673 -// #ifdef UNICODE 674 -// #... 675 -// #else 676 -alias PSM_SETFINISHTEXTA PSM_SETFINISHTEXT; 677 -// #endif 678 - 679 -// #define PropSheet_SetFinishText(hDlg, lpszText) SNDMSG(hDlg, PSM_SETFINISHTEXT, 0, (LPARAM)lpszText) 680 - 681 -enum : uint { PSM_GETTABCONTROL = WM_USER + 116 } 682 -// #define PropSheet_GetTabControl(hDlg) (HWND)SNDMSG(hDlg, PSM_GETTABCONTROL, 0, 0) 683 - 684 -enum : uint { PSM_ISDIALOGMESSAGE = WM_USER + 117 } 685 -// #define PropSheet_IsDialogMessage(hDlg, pMsg) (BOOL)SNDMSG(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)pMsg) 686 - 687 -enum : uint { PSM_GETCURRENTPAGEHWND = WM_USER + 118 } 688 -// #define PropSheet_GetCurrentPageHwnd(hDlg) (HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0L) 689 - 690 -enum : uint { PSM_INSERTPAGE = WM_USER + 119 } 691 -// #define PropSheet_InsertPage(hDlg, index, hpage) SNDMSG(hDlg, PSM_INSERTPAGE, (WPARAM)(index), (LPARAM)(hpage)) 692 - 693 -// #if (_WIN32_IE >= 0x0500) 694 -enum : uint { PSM_SETHEADERTITLEA = WM_USER + 125 } 695 -enum : uint { PSM_SETHEADERTITLEW = WM_USER + 126 } 696 - 697 -// #ifdef UNICODE 698 -// #... 699 -// #else 700 -alias PSM_SETHEADERTITLEA PSM_SETHEADERTITLE; 701 -// #endif 702 - 703 -// #define PropSheet_SetHeaderTitle(hDlg, index, lpszText) SNDMSG(hDlg, PSM_SETHEADERTITLE, (WPARAM)(index), (LPARAM)(lpszText)) 704 - 705 -enum : uint { PSM_SETHEADERSUBTITLEA = WM_USER + 127 } 706 -enum : uint { PSM_SETHEADERSUBTITLEW = WM_USER + 128 } 707 - 708 -// #ifdef UNICODE 709 -// #... 710 -// #else 711 -alias PSM_SETHEADERSUBTITLEA PSM_SETHEADERSUBTITLE; 712 -// #endif 713 - 714 -// #define PropSheet_SetHeaderSubTitle(hDlg, index, lpszText) SNDMSG(hDlg, PSM_SETHEADERSUBTITLE, (WPARAM)(index), (LPARAM)(lpszText)) 715 - 716 -enum : uint { PSM_HWNDTOINDEX = WM_USER + 129 } 717 -// #define PropSheet_HwndToIndex(hDlg, hwnd) (int)SNDMSG(hDlg, PSM_HWNDTOINDEX, (WPARAM)(hwnd), 0) 718 - 719 -enum : uint { PSM_INDEXTOHWND = WM_USER + 130 } 720 -// #define PropSheet_IndexToHwnd(hDlg, i) (HWND)SNDMSG(hDlg, PSM_INDEXTOHWND, (WPARAM)(i), 0) 721 - 722 -enum : uint { PSM_PAGETOINDEX = WM_USER + 131 } 723 -// #define PropSheet_PageToIndex(hDlg, hpage) (int)SNDMSG(hDlg, PSM_PAGETOINDEX, 0, (LPARAM)(hpage)) 724 - 725 -enum : uint { PSM_INDEXTOPAGE = WM_USER + 132 } 726 -// #define PropSheet_IndexToPage(hDlg, i) (HPROPSHEETPAGE)SNDMSG(hDlg, PSM_INDEXTOPAGE, (WPARAM)(i), 0) 727 - 728 -enum : uint { PSM_IDTOINDEX = WM_USER + 133 } 729 -// #define PropSheet_IdToIndex(hDlg, id) (int)SNDMSG(hDlg, PSM_IDTOINDEX, 0, (LPARAM)(id)) 730 - 731 -enum : uint { PSM_INDEXTOID = WM_USER + 134 } 732 -// #define PropSheet_IndexToId(hDlg, i) SNDMSG(hDlg, PSM_INDEXTOID, (WPARAM)(i), 0) 733 - 734 -enum : uint { PSM_GETRESULT = WM_USER + 135 } 735 -// #define PropSheet_GetResult(hDlg) SNDMSG(hDlg, PSM_GETRESULT, 0, 0) 736 - 737 -enum : uint { PSM_RECALCPAGESIZES = WM_USER + 136 } 738 -// #define PropSheet_RecalcPageSizes(hDlg) SNDMSG(hDlg, PSM_RECALCPAGESIZES, 0, 0) 739 -// #endif // 0x0500 740 - 741 -enum : uint { ID_PSRESTARTWINDOWS = 0x2 } 742 -enum : uint { ID_PSREBOOTSYSTEM = ID_PSRESTARTWINDOWS | 0x1 } 743 - 744 -enum : uint { WIZ_CXDLG = 276 } 745 -enum : uint { WIZ_CYDLG = 140 } 746 - 747 -enum : uint { WIZ_CXBMP = 80 } 748 - 749 -enum : uint { WIZ_BODYX = 92 } 750 -enum : uint { WIZ_BODYCX = 184 } 751 - 752 -enum : uint { PROP_SM_CXDLG = 212 } 753 -enum : uint { PROP_SM_CYDLG = 188 } 754 - 755 -enum : uint { PROP_MED_CXDLG = 227 } 756 -enum : uint { PROP_MED_CYDLG = 215 } 757 - 758 -enum : uint { PROP_LG_CXDLG = 252 } 759 -enum : uint { PROP_LG_CYDLG = 218 } 760 - 761 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 762 -// #if ISOLATION_AWARE_ENABLED 763 - 764 -// #if !defined(ISOLATION_AWARE_INLINE) 765 -// #if defined(__cplusplus) 766 -// #... 767 -// #else 768 -// #... 769 -// #endif 770 -// #endif 771 - 772 -// ... 773 - 774 -// #ifndef CCSIZEOF_STRUCT 775 -// #... 776 -// #endif 777 - 778 -// ... 779 - 780 -// #if defined(UNICODE) 781 - 782 -// #... 783 -// #... 784 - 785 -// #else /* UNICODE */ 786 - 787 -// #... 788 -// #... 789 - 790 -// #endif /* UNICODE */ 791 - 792 -// ... 793 - 794 -// ... 795 - 796 -// ... 797 - 798 -// ... 799 - 800 -// ... 801 - 802 -// ... 803 - 804 -// ... 805 - 806 -// ... 807 - 808 -// ... 809 - 810 -// ... 811 - 812 -// #... 813 -// #... 814 -// #... 815 -// #... 816 -// #... 817 - 818 -// #endif /* ISOLATION_AWARE_ENABLED */ 819 -// #endif /* RC */ 820 - 821 -// #ifdef __cplusplus 822 -// } 823 -// #endif 824 - 825 -align: 826 - 827 -// #endif // _PRSHT_H_ 828 - 829 -// ---- 830 - 831 -// #ifndef _INC_COMMCTRL 832 -// #define _INC_COMMCTRL 833 - 834 -// #ifndef _WINRESRC_ 835 -// #ifndef _WIN32_IE 836 -// #... 837 -// #else 838 -// #if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500) 839 -// #... 840 -// #endif 841 -// #endif 842 -// #endif 843 - 844 -// #ifndef _HRESULT_DEFINED 845 -// #define _HRESULT_DEFINED 846 -alias LONG HRESULT; 847 -// #endif // _HRESULT_DEFINED 848 - 849 -// #ifndef NOUSER 850 - 851 -// #ifndef WINCOMMCTRLAPI 852 -// #if !defined(_COMCTL32_) && defined(_WIN32) 853 -// #define WINCOMMCTRLAPI DECLSPEC_IMPORT 854 -// #else 855 -// #... 856 -// #endif 857 -// #endif // WINCOMMCTRLAPI 858 - 859 -// #ifndef DUMMYUNIONNAME 860 -// #ifdef NONAMELESSUNION 861 -// #... 862 -// #... 863 -// #... 864 -// #... 865 -// #... 866 -// #else 867 -// #define DUMMYUNIONNAME 868 -// #define DUMMYUNIONNAME2 869 -// #define DUMMYUNIONNAME3 870 -// #define DUMMYUNIONNAME4 871 -// #define DUMMYUNIONNAME5 872 -// #endif 873 -// #endif // DUMMYUNIONNAME 874 - 875 -// #ifdef __cplusplus 876 -// extern "C" { 877 -// #endif 878 - 879 -// #include <prsht.h> 880 - 881 -// #ifndef SNDMSG 882 -// #ifdef __cplusplus 883 -// #ifndef _MAC 884 -// #define SNDMSG ::SendMessage 885 -// #else 886 -// #... 887 -// #endif 888 -// #else 889 -// #ifndef _MAC 890 -// #... 891 -// #else 892 -// #... 893 -// #endif //_MAC 894 -// #endif 895 -// #endif // ifndef SNDMSG 896 - 897 -// #ifdef _MAC 898 -// #ifndef RC_INVOKED 899 -// #ifndef _WLM_NOFORCE_LIBS 900 - 901 -// #ifndef _WLMDLL 902 -// #ifdef _DEBUG 903 -// #... 904 -// #else 905 -// #... 906 -// #endif 907 -// #... 908 -// #else 909 -// #ifdef _DEBUG 910 -// #... 911 -// #else 912 -// #... 913 -// #endif 914 -// #endif // _WLMDLL 915 - 916 -// #endif // _WLM_NOFORCE_LIBS 917 -// #endif // RC_INVOKED 918 -// #endif //_MAC 919 - 920 -extern(Windows) export void InitCommonControls(); 921 - 922 -// #if (_WIN32_IE >= 0x0300) 923 -struct tagINITCOMMONCONTROLSEX { 924 - DWORD dwSize; 925 - DWORD dwICC; 926 -} 927 -alias tagINITCOMMONCONTROLSEX INITCOMMONCONTROLSEX; 928 -alias tagINITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX; 929 - 930 -enum : uint { ICC_LISTVIEW_CLASSES = 0x00000001 } 931 -enum : uint { ICC_TREEVIEW_CLASSES = 0x00000002 } 932 -enum : uint { ICC_BAR_CLASSES = 0x00000004 } 933 -enum : uint { ICC_TAB_CLASSES = 0x00000008 } 934 -enum : uint { ICC_UPDOWN_CLASS = 0x00000010 } 935 -enum : uint { ICC_PROGRESS_CLASS = 0x00000020 } 936 -enum : uint { ICC_HOTKEY_CLASS = 0x00000040 } 937 -enum : uint { ICC_ANIMATE_CLASS = 0x00000080 } 938 -enum : uint { ICC_WIN95_CLASSES = 0x000000FF } 939 -enum : uint { ICC_DATE_CLASSES = 0x00000100 } 940 -enum : uint { ICC_USEREX_CLASSES = 0x00000200 } 941 -enum : uint { ICC_COOL_CLASSES = 0x00000400 } 942 -// #if (_WIN32_IE >= 0x0400) 943 -enum : uint { ICC_INTERNET_CLASSES = 0x00000800 } 944 -enum : uint { ICC_PAGESCROLLER_CLASS = 0x00001000 } 945 -enum : uint { ICC_NATIVEFNTCTL_CLASS = 0x00002000 } 946 -// #endif 947 -// #if (_WIN32_WINNT >= 0x501) 948 -enum : uint { ICC_STANDARD_CLASSES = 0x00004000 } 949 -enum : uint { ICC_LINK_CLASS = 0x00008000 } 950 -// #endif 951 - 952 -extern(Windows) export BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX); 953 -// #endif // _WIN32_IE >= 0x0300 954 - 955 -enum : uint { ODT_HEADER = 100 } 956 -enum : uint { ODT_TAB = 101 } 957 -enum : uint { ODT_LISTVIEW = 102 } 958 - 959 -enum : uint { LVM_FIRST = 0x1000 } 960 -enum : uint { TV_FIRST = 0x1100 } 961 -enum : uint { HDM_FIRST = 0x1200 } 962 -enum : uint { TCM_FIRST = 0x1300 } 963 - 964 -// #if (_WIN32_IE >= 0x0400) 965 -enum : uint { PGM_FIRST = 0x1400 } 966 -// #if (_WIN32_WINNT >= 0x501) 967 -enum : uint { ECM_FIRST = 0x1500 } 968 -enum : uint { BCM_FIRST = 0x1600 } 969 -enum : uint { CBM_FIRST = 0x1700 } 970 -// #endif 971 -enum : uint { CCM_FIRST = 0x2000 } 972 -enum : uint { CCM_LAST = CCM_FIRST + 0x200 } 973 - 974 -enum : uint { CCM_SETBKCOLOR = CCM_FIRST + 1 } 975 - 976 -struct tagCOLORSCHEME { 977 - DWORD dwSize; 978 - COLORREF clrBtnHighlight; 979 - COLORREF clrBtnShadow; 980 -} 981 -alias tagCOLORSCHEME COLORSCHEME; 982 -alias tagCOLORSCHEME* LPCOLORSCHEME; 983 - 984 -enum : uint { CCM_SETCOLORSCHEME = CCM_FIRST + 2 } 985 -enum : uint { CCM_GETCOLORSCHEME = CCM_FIRST + 3 } 986 -enum : uint { CCM_GETDROPTARGET = CCM_FIRST + 4 } 987 -enum : uint { CCM_SETUNICODEFORMAT = CCM_FIRST + 5 } 988 -enum : uint { CCM_GETUNICODEFORMAT = CCM_FIRST + 6 } 989 - 990 -// #if (_WIN32_IE >= 0x0500) 991 -// #if (_WIN32_WINNT >= 0x501) 992 -enum : uint { COMCTL32_VERSION = 6 } 993 -// #else 994 -// #... 995 -// #endif 996 - 997 -enum : uint { CCM_SETVERSION = CCM_FIRST + 0x7 } 998 -enum : uint { CCM_GETVERSION = CCM_FIRST + 0x8 } 999 -enum : uint { CCM_SETNOTIFYWINDOW = CCM_FIRST + 0x9 } 1000 -// #if (_WIN32_WINNT >= 0x501) 1001 -enum : uint { CCM_SETWINDOWTHEME = CCM_FIRST + 0xb } 1002 -enum : uint { CCM_DPISCALE = CCM_FIRST + 0xc } 1003 -// #endif 1004 -// #endif // (_WIN32_IE >= 0x0500) 1005 - 1006 -// #endif // (_WIN32_IE >= 0x0400) 1007 - 1008 -// #if (_WIN32_IE >= 0x0400) 1009 - 1010 -enum : uint { INFOTIPSIZE = 1024 } 1011 -// #endif 1012 - 1013 -// #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) (fn)((hwnd), (int)(wParam), (NMHDR *)(lParam)) 1014 -// #define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) (LRESULT)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(idFrom), (LPARAM)(NMHDR *)(pnmhdr)) 1015 - 1016 -enum : uint { NM_OUTOFMEMORY = NM_FIRST-1 } 1017 -enum : uint { NM_CLICK = NM_FIRST-2 } 1018 -enum : uint { NM_DBLCLK = NM_FIRST-3 } 1019 -enum : uint { NM_RETURN = NM_FIRST-4 } 1020 -enum : uint { NM_RCLICK = NM_FIRST-5 } 1021 -enum : uint { NM_RDBLCLK = NM_FIRST-6 } 1022 -enum : uint { NM_SETFOCUS = NM_FIRST-7 } 1023 -enum : uint { NM_KILLFOCUS = NM_FIRST-8 } 1024 -// #if (_WIN32_IE >= 0x0300) 1025 -enum : uint { NM_CUSTOMDRAW = NM_FIRST-12 } 1026 -enum : uint { NM_HOVER = NM_FIRST-13 } 1027 -// #endif 1028 -// #if (_WIN32_IE >= 0x0400) 1029 -enum : uint { NM_NCHITTEST = NM_FIRST-14 } 1030 -enum : uint { NM_KEYDOWN = NM_FIRST-15 } 1031 -enum : uint { NM_RELEASEDCAPTURE = NM_FIRST-16 } 1032 -enum : uint { NM_SETCURSOR = NM_FIRST-17 } 1033 -enum : uint { NM_CHAR = NM_FIRST-18 } 1034 -// #endif 1035 -// #if (_WIN32_IE >= 0x0401) 1036 -enum : uint { NM_TOOLTIPSCREATED = NM_FIRST-19 } 1037 -// #endif 1038 -// #if (_WIN32_IE >= 0x0500) 1039 -enum : uint { NM_LDOWN = NM_FIRST-20 } 1040 -enum : uint { NM_RDOWN = NM_FIRST-21 } 1041 -enum : uint { NM_THEMECHANGED = NM_FIRST-22 } 1042 -// #endif 1043 - 1044 -// #ifndef CCSIZEOF_STRUCT 1045 -// #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) 1046 -// #endif 1047 - 1048 -// #if (_WIN32_IE >= 0x0401) 1049 -struct tagNMTOOLTIPSCREATED { 1050 - NMHDR hdr; 1051 - HWND hwndToolTips; 1052 -} 1053 -alias tagNMTOOLTIPSCREATED NMTOOLTIPSCREATED; 1054 -alias tagNMTOOLTIPSCREATED* LPNMTOOLTIPSCREATED; 1055 - 1056 -// #endif 1057 - 1058 -// #if (_WIN32_IE >= 0x0400) 1059 -struct tagNMMOUSE { 1060 - NMHDR hdr; 1061 - DWORD_PTR dwItemSpec; 1062 - DWORD_PTR dwItemData; 1063 - POINT pt; 1064 - LPARAM dwHitInfo; 1065 -} 1066 -alias tagNMMOUSE NMMOUSE; 1067 -alias tagNMMOUSE* LPNMMOUSE; 1068 - 1069 -alias NMMOUSE NMCLICK; 1070 -alias LPNMMOUSE LPNMCLICK; 1071 - 1072 -struct tagNMOBJECTNOTIFY { 1073 - NMHDR hdr; 1074 - int iItem; 1075 -// #ifdef __IID_DEFINED__ 1076 - IID* piid; 1077 -// #else 1078 -// ... 1079 -// #endif 1080 - void *pObject; 1081 - HRESULT hResult; 1082 - DWORD dwFlags; 1083 -} 1084 -alias tagNMOBJECTNOTIFY NMOBJECTNOTIFY; 1085 -alias tagNMOBJECTNOTIFY* LPNMOBJECTNOTIFY; 1086 - 1087 -struct tagNMKEY { 1088 - NMHDR hdr; 1089 - UINT nVKey; 1090 - UINT uFlags; 1091 -} 1092 -alias tagNMKEY NMKEY; 1093 -alias tagNMKEY* LPNMKEY; 1094 - 1095 -struct tagNMCHAR { 1096 - NMHDR hdr; 1097 - UINT ch; 1098 - DWORD dwItemPrev; 1099 - DWORD dwItemNext; 1100 -} 1101 -alias tagNMCHAR NMCHAR; 1102 -alias tagNMCHAR* LPNMCHAR; 1103 - 1104 -// #endif // _WIN32_IE >= 0x0400 1105 - 1106 -// #define NM_FIRST (0U- 0U) 1107 -enum : uint { NM_LAST = 0U- 99U } 1108 - 1109 -enum : uint { LVN_FIRST = 0U-100U } 1110 -enum : uint { LVN_LAST = 0U-199U } 1111 - 1112 -enum : uint { HDN_FIRST = 0U-300U } 1113 -enum : uint { HDN_LAST = 0U-399U } 1114 - 1115 -enum : uint { TVN_FIRST = 0U-400U } 1116 -enum : uint { TVN_LAST = 0U-499U } 1117 - 1118 -enum : uint { TTN_FIRST = 0U-520U } 1119 -enum : uint { TTN_LAST = 0U-549U } 1120 - 1121 -enum : uint { TCN_FIRST = 0U-550U } 1122 -enum : uint { TCN_LAST = 0U-580U } 1123 - 1124 -enum : uint { CDN_FIRST = 0U-601U } 1125 -enum : uint { CDN_LAST = 0U-699U } 1126 - 1127 -enum : uint { TBN_FIRST = 0U-700U } 1128 -enum : uint { TBN_LAST = 0U-720U } 1129 - 1130 -enum : uint { UDN_FIRST = 0U-721 } 1131 -enum : uint { UDN_LAST = 0U-740 } 1132 -// #if (_WIN32_IE >= 0x0300) 1133 -enum : uint { MCN_FIRST = 0U-750U } 1134 -enum : uint { MCN_LAST = 0U-759U } 1135 - 1136 -enum : uint { DTN_FIRST = 0U-760U } 1137 -enum : uint { DTN_LAST = 0U-799U } 1138 - 1139 -// #define CBEN_FIRST (0U-800U) 1140 -enum : uint { CBEN_LAST = 0U-830U } 1141 - 1142 -enum : uint { RBN_FIRST = 0U-831U } 1143 -enum : uint { RBN_LAST = 0U-859U } 1144 -// #endif 1145 - 1146 -// #if (_WIN32_IE >= 0x0400) 1147 -enum : uint { IPN_FIRST = 0U-860U } 1148 -enum : uint { IPN_LAST = 0U-879U } 1149 - 1150 -enum : uint { SBN_FIRST = 0U-880U } 1151 -enum : uint { SBN_LAST = 0U-899U } 1152 - 1153 -enum : uint { PGN_FIRST = 0U-900U } 1154 -enum : uint { PGN_LAST = 0U-950U } 1155 - 1156 -// #endif 1157 - 1158 -// #if (_WIN32_IE >= 0x0500) 1159 -// #ifndef WMN_FIRST 1160 -enum : uint { WMN_FIRST = 0U-1000U } 1161 -enum : uint { WMN_LAST = 0U-1200U } 1162 -// #endif 1163 -// #endif 1164 - 1165 -// #if (_WIN32_WINNT >= 0x0501) 1166 -enum : uint { BCN_FIRST = 0U-1250U } 1167 -enum : uint { BCN_LAST = 0U-1350U } 1168 -// #endif 1169 - 1170 -enum : uint { MSGF_COMMCTRL_BEGINDRAG = 0x4200 } 1171 -enum : uint { MSGF_COMMCTRL_SIZEHEADER = 0x4201 } 1172 -enum : uint { MSGF_COMMCTRL_DRAGSELECT = 0x4202 } 1173 -enum : uint { MSGF_COMMCTRL_TOOLBARCUST = 0x4203 } 1174 - 1175 -// #if (_WIN32_IE >= 0x0300) 1176 - 1177 -enum : uint { CDRF_DODEFAULT = 0x00000000 } 1178 -enum : uint { CDRF_NEWFONT = 0x00000002 } 1179 -enum : uint { CDRF_SKIPDEFAULT = 0x00000004 } 1180 - 1181 -enum : uint { CDRF_NOTIFYPOSTPAINT = 0x00000010 } 1182 -enum : uint { CDRF_NOTIFYITEMDRAW = 0x00000020 } 1183 -// #if (_WIN32_IE >= 0x0400) 1184 -enum : uint { CDRF_NOTIFYSUBITEMDRAW = 0x00000020 } 1185 -// #endif 1186 -enum : uint { CDRF_NOTIFYPOSTERASE = 0x00000040 } 1187 - 1188 -enum : uint { CDDS_PREPAINT = 0x00000001 } 1189 -enum : uint { CDDS_POSTPAINT = 0x00000002 } 1190 -enum : uint { CDDS_PREERASE = 0x00000003 } 1191 -enum : uint { CDDS_POSTERASE = 0x00000004 } 1192 - 1193 -enum : uint { CDDS_ITEM = 0x00010000 } 1194 -enum : uint { CDDS_ITEMPREPAINT = CDDS_ITEM | CDDS_PREPAINT } 1195 -enum : uint { CDDS_ITEMPOSTPAINT = CDDS_ITEM | CDDS_POSTPAINT } 1196 -enum : uint { CDDS_ITEMPREERASE = CDDS_ITEM | CDDS_PREERASE } 1197 -enum : uint { CDDS_ITEMPOSTERASE = CDDS_ITEM | CDDS_POSTERASE } 1198 -// #if (_WIN32_IE >= 0x0400) 1199 -enum : uint { CDDS_SUBITEM = 0x00020000 } 1200 -// #endif 1201 - 1202 -enum : uint { CDIS_SELECTED = 0x0001 } 1203 -enum : uint { CDIS_GRAYED = 0x0002 } 1204 -enum : uint { CDIS_DISABLED = 0x0004 } 1205 -enum : uint { CDIS_CHECKED = 0x0008 } 1206 -enum : uint { CDIS_FOCUS = 0x0010 } 1207 -enum : uint { CDIS_DEFAULT = 0x0020 } 1208 -enum : uint { CDIS_HOT = 0x0040 } 1209 -enum : uint { CDIS_MARKED = 0x0080 } 1210 -enum : uint { CDIS_INDETERMINATE = 0x0100 } 1211 -// #if (_WIN32_WINNT >= 0x501) 1212 -enum : uint { CDIS_SHOWKEYBOARDCUES = 0x0200 } 1213 -// #endif 1214 - 1215 -struct tagNMCUSTOMDRAWINFO { 1216 - NMHDR hdr; 1217 - DWORD dwDrawStage; 1218 - HDC hdc; 1219 - RECT rc; 1220 - DWORD_PTR dwItemSpec; 1221 - UINT uItemState; 1222 - LPARAM lItemlParam; 1223 -} 1224 -alias tagNMCUSTOMDRAWINFO NMCUSTOMDRAW; 1225 -alias tagNMCUSTOMDRAWINFO* LPNMCUSTOMDRAW; 1226 - 1227 -struct tagNMTTCUSTOMDRAW { 1228 - NMCUSTOMDRAW nmcd; 1229 - UINT uDrawFlags; 1230 -} 1231 -alias tagNMTTCUSTOMDRAW NMTTCUSTOMDRAW; 1232 -alias tagNMTTCUSTOMDRAW* LPNMTTCUSTOMDRAW; 1233 - 1234 -// #endif // _WIN32_IE >= 0x0300 1235 - 1236 -// #ifndef NOIMAGEAPIS 1237 - 1238 -enum : uint { CLR_NONE = 0xFFFFFFFF } 1239 -enum : uint { CLR_DEFAULT = 0xFF000000 } 1240 - 1241 -// #ifndef HIMAGELIST 1242 -// struct _IMAGELIST; 1243 -alias _IMAGELIST* HIMAGELIST; 1244 -// #endif 1245 - 1246 -// #ifndef IMAGELISTDRAWPARAMS 1247 -// #if (_WIN32_IE >= 0x0300) 1248 -struct _IMAGELISTDRAWPARAMS { 1249 - DWORD cbSize; 1250 - HIMAGELIST himl; 1251 - int i; 1252 - HDC hdcDst; 1253 - int x; 1254 - int y; 1255 - int cx; 1256 - int cy; 1257 - int xBitmap; 1258 - int yBitmap; 1259 - COLORREF rgbBk; 1260 - COLORREF rgbFg; 1261 - UINT fStyle; 1262 - DWORD dwRop; 1263 -// #if (_WIN32_WINNT >= 0x501) 1264 - DWORD fState; 1265 - DWORD Frame; 1266 - COLORREF crEffect; 1267 -// #endif 1268 -} 1269 -alias _IMAGELISTDRAWPARAMS IMAGELISTDRAWPARAMS; 1270 -alias _IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS; 1271 - 1272 -// #define IMAGELISTDRAWPARAMS_V3_SIZE CCSIZEOF_STRUCT(IMAGELISTDRAWPARAMS, dwRop) 1273 - 1274 -// #endif // _WIN32_IE >= 0x0300 1275 -// #endif 1276 - 1277 -enum : uint { ILC_MASK = 0x00000001 } 1278 -enum : uint { ILC_COLOR = 0x00000000 } 1279 -enum : uint { ILC_COLORDDB = 0x000000FE } 1280 -enum : uint { ILC_COLOR4 = 0x00000004 } 1281 -enum : uint { ILC_COLOR8 = 0x00000008 } 1282 -enum : uint { ILC_COLOR16 = 0x00000010 } 1283 -enum : uint { ILC_COLOR24 = 0x00000018 } 1284 -enum : uint { ILC_COLOR32 = 0x00000020 } 1285 -enum : uint { ILC_PALETTE = 0x00000800 } 1286 -// #if (_WIN32_WINNT >= 0x501) 1287 -enum : uint { ILC_MIRROR = 0x00002000 } 1288 -enum : uint { ILC_PERITEMMIRROR = 0x00008000 } 1289 -// #endif 1290 -extern(Windows) export HIMAGELIST ImageList_Create(int cx, int cy, UINT flags, int cInitial, int cGrow); 1291 -extern(Windows) export BOOL ImageList_Destroy(HIMAGELIST himl); 1292 - 1293 -extern(Windows) export int ImageList_GetImageCount(HIMAGELIST himl); 1294 -// #if (_WIN32_IE >= 0x0300) 1295 -extern(Windows) export BOOL ImageList_SetImageCount(HIMAGELIST himl, UINT uNewCount); 1296 -// #endif 1297 - 1298 -extern(Windows) export int ImageList_Add(HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask); 1299 - 1300 -extern(Windows) export int ImageList_ReplaceIcon(HIMAGELIST himl, int i, HICON hicon); 1301 -extern(Windows) export COLORREF ImageList_SetBkColor(HIMAGELIST himl, COLORREF clrBk); 1302 -extern(Windows) export COLORREF ImageList_GetBkColor(HIMAGELIST himl); 1303 -extern(Windows) export BOOL ImageList_SetOverlayImage(HIMAGELIST himl, int iImage, int iOverlay); 1304 - 1305 -// #define ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon) 1306 - 1307 -enum : uint { ILD_NORMAL = 0x00000000 } 1308 -enum : uint { ILD_TRANSPARENT = 0x00000001 } 1309 -enum : uint { ILD_MASK = 0x00000010 } 1310 -enum : uint { ILD_IMAGE = 0x00000020 } 1311 -// #if (_WIN32_IE >= 0x0300) 1312 -enum : uint { ILD_ROP = 0x00000040 } 1313 -// #endif 1314 -enum : uint { ILD_BLEND25 = 0x00000002 } 1315 -enum : uint { ILD_BLEND50 = 0x00000004 } 1316 -enum : uint { ILD_OVERLAYMASK = 0x00000F00 } 1317 -uint INDEXTOOVERLAYMASK(uint i){ return i << 8; } 1318 -enum : uint { ILD_PRESERVEALPHA = 0x00001000 } 1319 -enum : uint { ILD_SCALE = 0x00002000 } 1320 -enum : uint { ILD_DPISCALE = 0x00004000 } 1321 - 1322 -alias ILD_BLEND50 ILD_SELECTED; 1323 -alias ILD_BLEND25 ILD_FOCUS; 1324 -alias ILD_BLEND50 ILD_BLEND; 1325 -alias CLR_DEFAULT CLR_HILIGHT; 1326 - 1327 -enum : uint { ILS_NORMAL = 0x00000000 } 1328 -enum : uint { ILS_GLOW = 0x00000001 } 1329 -enum : uint { ILS_SHADOW = 0x00000002 } 1330 -enum : uint { ILS_SATURATE = 0x00000004 } 1331 -enum : uint { ILS_ALPHA = 0x00000008 } 1332 - 1333 -extern(Windows) export BOOL ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle); 1334 - 1335 -// #ifdef _WIN32 1336 - 1337 -extern(Windows) export BOOL ImageList_Replace(HIMAGELIST himl, int i, HBITMAP hbmImage, HBITMAP hbmMask); 1338 - 1339 -extern(Windows) export int ImageList_AddMasked(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask); 1340 -extern(Windows) export BOOL ImageList_DrawEx(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle); 1341 -// #if (_WIN32_IE >= 0x0300) 1342 -extern(Windows) export BOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS* pimldp); 1343 -// #endif 1344 -extern(Windows) export BOOL ImageList_Remove(HIMAGELIST himl, int i); 1345 -extern(Windows) export HICON ImageList_GetIcon(HIMAGELIST himl, int i, UINT flags); 1346 -extern(Windows) export HIMAGELIST ImageList_LoadImageA(HINSTANCE hi, LPCSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); 1347 -extern(Windows) export HIMAGELIST ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); 1348 - 1349 -// #ifdef UNICODE 1350 -// #... 1351 -// #else 1352 -alias ImageList_LoadImageA ImageList_LoadImage; 1353 -// #endif 1354 - 1355 -// #if (_WIN32_IE >= 0x0300) 1356 -enum : uint { ILCF_MOVE = 0x00000000 } 1357 -enum : uint { ILCF_SWAP = 0x00000001 } 1358 -extern(Windows) export BOOL ImageList_Copy(HIMAGELIST himlDst, int iDst, HIMAGELIST himlSrc, int iSrc, UINT uFlags); 1359 -// #endif 1360 - 1361 -extern(Windows) export BOOL ImageList_BeginDrag(HIMAGELIST himlTrack, int iTrack, int dxHotspot, int dyHotspot); 1362 -extern(Windows) export void ImageList_EndDrag(); 1363 -extern(Windows) export BOOL ImageList_DragEnter(HWND hwndLock, int x, int y); 1364 -extern(Windows) export BOOL ImageList_DragLeave(HWND hwndLock); 1365 -extern(Windows) export BOOL ImageList_DragMove(int x, int y); 1366 -extern(Windows) export BOOL ImageList_SetDragCursorImage(HIMAGELIST himlDrag, int iDrag, int dxHotspot, int dyHotspot); 1367 - 1368 -extern(Windows) export BOOL ImageList_DragShowNolock(BOOL fShow); 1369 -extern(Windows) export HIMAGELIST ImageList_GetDragImage(POINT *ppt,POINT *pptHotspot); 1370 - 1371 -// #define ImageList_RemoveAll(himl) ImageList_Remove(himl, -1) 1372 -// #define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0) 1373 -// #define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask) ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0) 1374 - 1375 -// #ifdef __IStream_INTERFACE_DEFINED__ 1376 - 1377 -// ... 1378 - 1379 -// #if (_WIN32_WINNT >= 0x0501) 1380 -// #... 1381 -// #... 1382 - 1383 -// ... 1384 -// #endif 1385 - 1386 -// #endif 1387 - 1388 -// #ifndef IMAGEINFO 1389 -struct _IMAGEINFO { 1390 - HBITMAP hbmImage; 1391 - HBITMAP hbmMask; 1392 - int Unused1; 1393 - int Unused2; 1394 - RECT rcImage; 1395 -} 1396 -alias _IMAGEINFO IMAGEINFO; 1397 -alias _IMAGEINFO* LPIMAGEINFO; 1398 - 1399 -// #endif 1400 - 1401 -extern(Windows) export BOOL ImageList_GetIconSize(HIMAGELIST himl, int *cx, int *cy); 1402 -extern(Windows) export BOOL ImageList_SetIconSize(HIMAGELIST himl, int cx, int cy); 1403 -extern(Windows) export BOOL ImageList_GetImageInfo(HIMAGELIST himl, int i, IMAGEINFO *pImageInfo); 1404 -extern(Windows) export HIMAGELIST ImageList_Merge(HIMAGELIST himl1, int i1, HIMAGELIST himl2, int i2, int dx, int dy); 1405 -// #if (_WIN32_IE >= 0x0400) 1406 -extern(Windows) export HIMAGELIST ImageList_Duplicate(HIMAGELIST himl); 1407 -// #endif 1408 - 1409 -// #endif 1410 - 1411 -// #endif 1412 - 1413 -// #ifndef NOHEADER 1414 - 1415 -// #ifdef _WIN32 1416 -const char[] WC_HEADERA = "SysHeader32"; 1417 -const wchar[] WC_HEADERW = "SysHeader32"; 1418 - 1419 -// #ifdef UNICODE 1420 -// #... 1421 -// #else 1422 -alias WC_HEADERA WC_HEADER; 1423 -// #endif 1424 - 1425 -// #else 1426 -// #... 1427 -// #endif 1428 - 1429 -enum : uint { HDS_HORZ = 0x0000 } 1430 -enum : uint { HDS_BUTTONS = 0x0002 } 1431 -// #if (_WIN32_IE >= 0x0300) 1432 -enum : uint { HDS_HOTTRACK = 0x0004 } 1433 -// #endif 1434 -enum : uint { HDS_HIDDEN = 0x0008 } 1435 - 1436 -// #if (_WIN32_IE >= 0x0300) 1437 -enum : uint { HDS_DRAGDROP = 0x0040 } 1438 -enum : uint { HDS_FULLDRAG = 0x0080 } 1439 -// #endif 1440 -// #if (_WIN32_IE >= 0x0500) 1441 -enum : uint { HDS_FILTERBAR = 0x0100 } 1442 -// #endif 1443 - 1444 -// #if (_WIN32_WINNT >= 0x501) 1445 -enum : uint { HDS_FLAT = 0x0200 } 1446 -// #endif 1447 - 1448 -// #if (_WIN32_IE >= 0x0500) 1449 - 1450 -enum : uint { HDFT_ISSTRING = 0x0000 } 1451 -enum : uint { HDFT_ISNUMBER = 0x0001 } 1452 - 1453 -enum : uint { HDFT_HASNOVALUE = 0x8000 } 1454 - 1455 -// #ifdef UNICODE 1456 -// #... 1457 -// #... 1458 -// #... 1459 -// #... 1460 -// #else 1461 -alias HD_TEXTFILTERA HD_TEXTFILTER; 1462 -alias HD_TEXTFILTERA HDTEXTFILTER; 1463 -alias LPHD_TEXTFILTERA LPHD_TEXTFILTER; 1464 -alias LPHD_TEXTFILTERA LPHDTEXTFILTER; 1465 -// #endif 1466 - 1467 -struct _HD_TEXTFILTERA { 1468 - LPSTR pszText; 1469 - INT cchTextMax; 1470 -} 1471 -alias _HD_TEXTFILTERA HD_TEXTFILTERA; 1472 -alias _HD_TEXTFILTERA* LPHD_TEXTFILTERA; 1473 - 1474 -struct _HD_TEXTFILTERW { 1475 - LPWSTR pszText; 1476 - INT cchTextMax; 1477 -} 1478 -alias _HD_TEXTFILTERW HD_TEXTFILTERW; 1479 -alias _HD_TEXTFILTERW* LPHD_TEXTFILTERW; 1480 - 1481 -// #endif // _WIN32_IE >= 0x0500 1482 - 1483 -// #if (_WIN32_IE >= 0x0300) 1484 -alias HDITEMA HD_ITEMA; 1485 -alias HDITEMW HD_ITEMW; 1486 -// #else 1487 -// #... 1488 -// #... 1489 -// #endif 1490 -alias HDITEM HD_ITEM; 1491 - 1492 -struct _HD_ITEMA { 1493 - UINT mask; 1494 - int cxy; 1495 - LPSTR pszText; 1496 - HBITMAP hbm; 1497 - int cchTextMax; 1498 - int fmt; 1499 - LPARAM lParam; 1500 -// #if (_WIN32_IE >= 0x0300) 1501 - int iImage; 1502 - int iOrder; 1503 -// #endif 1504 -// #if (_WIN32_IE >= 0x0500) 1505 - UINT type; 1506 - void * pvFilter; 1507 -// #endif 1508 -} 1509 -alias _HD_ITEMA HDITEMA; 1510 -alias _HD_ITEMA* LPHDITEMA; 1511 - 1512 -// #define HDITEMA_V1_SIZE CCSIZEOF_STRUCT(HDITEMA, lParam) 1513 -// #define HDITEMW_V1_SIZE CCSIZEOF_STRUCT(HDITEMW, lParam) 1514 - 1515 -struct _HD_ITEMW { 1516 - UINT mask; 1517 - int cxy; 1518 - LPWSTR pszText; 1519 - HBITMAP hbm; 1520 - int cchTextMax; 1521 - int fmt; 1522 - LPARAM lParam; 1523 -// #if (_WIN32_IE >= 0x0300) 1524 - int iImage; 1525 - int iOrder; 1526 -// #endif 1527 -// #if (_WIN32_IE >= 0x0500) 1528 - UINT type; 1529 - void * pvFilter; 1530 -// #endif 1531 -} 1532 -alias _HD_ITEMW HDITEMW; 1533 -alias _HD_ITEMW* LPHDITEMW; 1534 - 1535 -// #ifdef UNICODE 1536 -// #... 1537 -// #... 1538 -// #... 1539 -// #else 1540 -alias HDITEMA HDITEM; 1541 -alias LPHDITEMA LPHDITEM; 1542 -// #define HDITEM_V1_SIZE HDITEMA_V1_SIZE 1543 -// #endif 1544 - 1545 -enum : uint { HDI_WIDTH = 0x0001 } 1546 -alias HDI_WIDTH HDI_HEIGHT; 1547 -enum : uint { HDI_TEXT = 0x0002 } 1548 -enum : uint { HDI_FORMAT = 0x0004 } 1549 -enum : uint { HDI_LPARAM = 0x0008 } 1550 -enum : uint { HDI_BITMAP = 0x0010 } 1551 -// #if (_WIN32_IE >= 0x0300) 1552 -enum : uint { HDI_IMAGE = 0x0020 } 1553 -enum : uint { HDI_DI_SETITEM = 0x0040 } 1554 -enum : uint { HDI_ORDER = 0x0080 } 1555 -// #endif 1556 -// #if (_WIN32_IE >= 0x0500) 1557 -enum : uint { HDI_FILTER = 0x0100 } 1558 -// #endif 1559 - 1560 -enum : uint { HDF_LEFT = 0x0000 } 1561 -enum : uint { HDF_RIGHT = 0x0001 } 1562 -enum : uint { HDF_CENTER = 0x0002 } 1563 -enum : uint { HDF_JUSTIFYMASK = 0x0003 } 1564 -enum : uint { HDF_RTLREADING = 0x0004 } 1565 - 1566 -enum : uint { HDF_OWNERDRAW = 0x8000 } 1567 -enum : uint { HDF_STRING = 0x4000 } 1568 -enum : uint { HDF_BITMAP = 0x2000 } 1569 -// #if (_WIN32_IE >= 0x0300) 1570 -enum : uint { HDF_BITMAP_ON_RIGHT = 0x1000 } 1571 -enum : uint { HDF_IMAGE = 0x0800 } 1572 -// #endif 1573 - 1574 -// #if (_WIN32_WINNT >= 0x501) 1575 -enum : uint { HDF_SORTUP = 0x0400 } 1576 -enum : uint { HDF_SORTDOWN = 0x0200 } 1577 -// #endif 1578 - 1579 -enum : uint { HDM_GETITEMCOUNT = HDM_FIRST + 0 } 1580 -// #define Header_GetItemCount(hwndHD) (int)SNDMSG((hwndHD), HDM_GETITEMCOUNT, 0, 0L) 1581 - 1582 -enum : uint { HDM_INSERTITEMA = HDM_FIRST + 1 } 1583 -enum : uint { HDM_INSERTITEMW = HDM_FIRST + 10 } 1584 - 1585 -// #ifdef UNICODE 1586 -// #... 1587 -// #else 1588 -alias HDM_INSERTITEMA HDM_INSERTITEM; 1589 -// #endif 1590 - 1591 -// #define Header_InsertItem(hwndHD, i, phdi) (int)SNDMSG((hwndHD), HDM_INSERTITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi)) 1592 - 1593 -enum : uint { HDM_DELETEITEM = HDM_FIRST + 2 } 1594 -// #define Header_DeleteItem(hwndHD, i) (BOOL)SNDMSG((hwndHD), HDM_DELETEITEM, (WPARAM)(int)(i), 0L) 1595 - 1596 -enum : uint { HDM_GETITEMA = HDM_FIRST + 3 } 1597 -enum : uint { HDM_GETITEMW = HDM_FIRST + 11 } 1598 - 1599 -// #ifdef UNICODE 1600 -// #... 1601 -// #else 1602 -alias HDM_GETITEMA HDM_GETITEM; 1603 -// #endif 1604 - 1605 -// #define Header_GetItem(hwndHD, i, phdi) (BOOL)SNDMSG((hwndHD), HDM_GETITEM, (WPARAM)(int)(i), (LPARAM)(HD_ITEM *)(phdi)) 1606 - 1607 -enum : uint { HDM_SETITEMA = HDM_FIRST + 4 } 1608 -enum : uint { HDM_SETITEMW = HDM_FIRST + 12 } 1609 - 1610 -// #ifdef UNICODE 1611 -// #... 1612 -// #else 1613 -alias HDM_SETITEMA HDM_SETITEM; 1614 -// #endif 1615 - 1616 -// #define Header_SetItem(hwndHD, i, phdi) (BOOL)SNDMSG((hwndHD), HDM_SETITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi)) 1617 - 1618 -// #if (_WIN32_IE >= 0x0300) 1619 -alias HDLAYOUT HD_LAYOUT; 1620 -// #else 1621 -// #... 1622 -// #endif 1623 - 1624 -struct _HD_LAYOUT { 1625 - RECT *prc; 1626 - WINDOWPOS *pwpos; 1627 -} 1628 -alias _HD_LAYOUT HDLAYOUT; 1629 -alias _HD_LAYOUT* LPHDLAYOUT; 1630 - 1631 -enum : uint { HDM_LAYOUT = HDM_FIRST + 5 } 1632 -// #define Header_Layout(hwndHD, playout) (BOOL)SNDMSG((hwndHD), HDM_LAYOUT, 0, (LPARAM)(HD_LAYOUT *)(playout)) 1633 - 1634 -enum : uint { HHT_NOWHERE = 0x0001 } 1635 -enum : uint { HHT_ONHEADER = 0x0002 } 1636 -enum : uint { HHT_ONDIVIDER = 0x0004 } 1637 -enum : uint { HHT_ONDIVOPEN = 0x0008 } 1638 -// #if (_WIN32_IE >= 0x0500) 1639 -enum : uint { HHT_ONFILTER = 0x0010 } 1640 -enum : uint { HHT_ONFILTERBUTTON = 0x0020 } 1641 -// #endif 1642 -enum : uint { HHT_ABOVE = 0x0100 } 1643 -enum : uint { HHT_BELOW = 0x0200 } 1644 -enum : uint { HHT_TORIGHT = 0x0400 } 1645 -enum : uint { HHT_TOLEFT = 0x0800 } 1646 - 1647 -// #if (_WIN32_IE >= 0x0300) 1648 -alias HDHITTESTINFO HD_HITTESTINFO; 1649 -// #else 1650 -// #... 1651 -// #endif 1652 - 1653 -struct _HD_HITTESTINFO { 1654 - POINT pt; 1655 - UINT flags; 1656 - int iItem; 1657 -} 1658 -alias _HD_HITTESTINFO HDHITTESTINFO; 1659 -alias _HD_HITTESTINFO* LPHDHITTESTINFO; 1660 - 1661 -enum : uint { HDM_HITTEST = HDM_FIRST + 6 } 1662 - 1663 -// #if (_WIN32_IE >= 0x0300) 1664 - 1665 -enum : uint { HDM_GETITEMRECT = HDM_FIRST + 7 } 1666 -// #define Header_GetItemRect(hwnd, iItem, lprc) (BOOL)SNDMSG((hwnd), HDM_GETITEMRECT, (WPARAM)(iItem), (LPARAM)(lprc)) 1667 - 1668 -enum : uint { HDM_SETIMAGELIST = HDM_FIRST + 8 } 1669 -// #define Header_SetImageList(hwnd, himl) (HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, 0, (LPARAM)(himl)) 1670 - 1671 -enum : uint { HDM_GETIMAGELIST = HDM_FIRST + 9 } 1672 -// #define Header_GetImageList(hwnd) (HIMAGELIST)SNDMSG((hwnd), HDM_GETIMAGELIST, 0, 0) 1673 - 1674 -enum : uint { HDM_ORDERTOINDEX = HDM_FIRST + 15 } 1675 -// #define Header_OrderToIndex(hwnd, i) (int)SNDMSG((hwnd), HDM_ORDERTOINDEX, (WPARAM)(i), 0) 1676 - 1677 -enum : uint { HDM_CREATEDRAGIMAGE = HDM_FIRST + 16 } 1678 -// #define Header_CreateDragImage(hwnd, i) (HIMAGELIST)SNDMSG((hwnd), HDM_CREATEDRAGIMAGE, (WPARAM)(i), 0) 1679 - 1680 -enum : uint { HDM_GETORDERARRAY = HDM_FIRST + 17 } 1681 -// #define Header_GetOrderArray(hwnd, iCount, lpi) (BOOL)SNDMSG((hwnd), HDM_GETORDERARRAY, (WPARAM)(iCount), (LPARAM)(lpi)) 1682 - 1683 -enum : uint { HDM_SETORDERARRAY = HDM_FIRST + 18 } 1684 -// #define Header_SetOrderArray(hwnd, iCount, lpi) (BOOL)SNDMSG((hwnd), HDM_SETORDERARRAY, (WPARAM)(iCount), (LPARAM)(lpi)) 1685 - 1686 -enum : uint { HDM_SETHOTDIVIDER = HDM_FIRST + 19 } 1687 -// #define Header_SetHotDivider(hwnd, fPos, dw) (int)SNDMSG((hwnd), HDM_SETHOTDIVIDER, (WPARAM)(fPos), (LPARAM)(dw)) 1688 - 1689 -// #endif // _WIN32_IE >= 0x0300 1690 - 1691 -// #if (_WIN32_IE >= 0x0500) 1692 - 1693 -enum : uint { HDM_SETBITMAPMARGIN = HDM_FIRST + 20 } 1694 -// #define Header_SetBitmapMargin(hwnd, iWidth) (int)SNDMSG((hwnd), HDM_SETBITMAPMARGIN, (WPARAM)(iWidth), 0) 1695 - 1696 -enum : uint { HDM_GETBITMAPMARGIN = HDM_FIRST + 21 } 1697 -// #define Header_GetBitmapMargin(hwnd) (int)SNDMSG((hwnd), HDM_GETBITMAPMARGIN, 0, 0) 1698 -// #endif 1699 - 1700 -// #if (_WIN32_IE >= 0x0400) 1701 -alias CCM_SETUNICODEFORMAT HDM_SETUNICODEFORMAT; 1702 -// #define Header_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), HDM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 1703 - 1704 -alias CCM_GETUNICODEFORMAT HDM_GETUNICODEFORMAT; 1705 -// #define Header_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), HDM_GETUNICODEFORMAT, 0, 0) 1706 -// #endif 1707 - 1708 -// #if (_WIN32_IE >= 0x0500) 1709 -enum : uint { HDM_SETFILTERCHANGETIMEOUT = HDM_FIRST+22 } 1710 -// #define Header_SetFilterChangeTimeout(hwnd, i) (int)SNDMSG((hwnd), HDM_SETFILTERCHANGETIMEOUT, 0, (LPARAM)(i)) 1711 - 1712 -enum : uint { HDM_EDITFILTER = HDM_FIRST+23 } 1713 -// #define Header_EditFilter(hwnd, i, fDiscardChanges) (int)SNDMSG((hwnd), HDM_EDITFILTER, (WPARAM)(i), MAKELPARAM(fDiscardChanges, 0)) 1714 - 1715 -enum : uint { HDM_CLEARFILTER = HDM_FIRST+24 } 1716 -// #define Header_ClearFilter(hwnd, i) (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)(i), 0) 1717 -// #define Header_ClearAllFilters(hwnd) (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)-1, 0) 1718 -// #endif 1719 - 1720 -enum : uint { HDN_ITEMCHANGINGA = HDN_FIRST-0 } 1721 -enum : uint { HDN_ITEMCHANGINGW = HDN_FIRST-20 } 1722 -enum : uint { HDN_ITEMCHANGEDA = HDN_FIRST-1 } 1723 -enum : uint { HDN_ITEMCHANGEDW = HDN_FIRST-21 } 1724 -enum : uint { HDN_ITEMCLICKA = HDN_FIRST-2 } 1725 -enum : uint { HDN_ITEMCLICKW = HDN_FIRST-22 } 1726 -enum : uint { HDN_ITEMDBLCLICKA = HDN_FIRST-3 } 1727 -enum : uint { HDN_ITEMDBLCLICKW = HDN_FIRST-23 } 1728 -enum : uint { HDN_DIVIDERDBLCLICKA = HDN_FIRST-5 } 1729 -enum : uint { HDN_DIVIDERDBLCLICKW = HDN_FIRST-25 } 1730 -enum : uint { HDN_BEGINTRACKA = HDN_FIRST-6 } 1731 -enum : uint { HDN_BEGINTRACKW = HDN_FIRST-26 } 1732 -enum : uint { HDN_ENDTRACKA = HDN_FIRST-7 } 1733 -enum : uint { HDN_ENDTRACKW = HDN_FIRST-27 } 1734 -enum : uint { HDN_TRACKA = HDN_FIRST-8 } 1735 -enum : uint { HDN_TRACKW = HDN_FIRST-28 } 1736 -// #if (_WIN32_IE >= 0x0300) 1737 -enum : uint { HDN_GETDISPINFOA = HDN_FIRST-9 } 1738 -enum : uint { HDN_GETDISPINFOW = HDN_FIRST-29 } 1739 -enum : uint { HDN_BEGINDRAG = HDN_FIRST-10 } 1740 -enum : uint { HDN_ENDDRAG = HDN_FIRST-11 } 1741 -// #endif 1742 -// #if (_WIN32_IE >= 0x0500) 1743 -enum : uint { HDN_FILTERCHANGE = HDN_FIRST-12 } 1744 -enum : uint { HDN_FILTERBTNCLICK = HDN_FIRST-13 } 1745 -// #endif 1746 - 1747 -// #ifdef UNICODE 1748 -// #... 1749 -// #... 1750 -// #... 1751 -// #... 1752 -// #... 1753 -// #... 1754 -// #... 1755 -// #... 1756 -// #if (_WIN32_IE >= 0x0300) 1757 -// #... 1758 -// #endif 1759 -// #else 1760 -alias HDN_ITEMCHANGINGA HDN_ITEMCHANGING; 1761 -alias HDN_ITEMCHANGEDA HDN_ITEMCHANGED; 1762 -alias HDN_ITEMCLICKA HDN_ITEMCLICK; 1763 -alias HDN_ITEMDBLCLICKA HDN_ITEMDBLCLICK; 1764 -alias HDN_DIVIDERDBLCLICKA HDN_DIVIDERDBLCLICK; 1765 -alias HDN_BEGINTRACKA HDN_BEGINTRACK; 1766 -alias HDN_ENDTRACKA HDN_ENDTRACK; 1767 -alias HDN_TRACKA HDN_TRACK; 1768 -// #if (_WIN32_IE >= 0x0300) 1769 -alias HDN_GETDISPINFOA HDN_GETDISPINFO; 1770 -// #endif 1771 -// #endif 1772 - 1773 -// #if (_WIN32_IE >= 0x0300) 1774 -alias NMHEADERA HD_NOTIFYA; 1775 -alias NMHEADERW HD_NOTIFYW; 1776 -// #else 1777 -// #... 1778 -// #... 1779 -// #... 1780 -// #... 1781 -// #endif 1782 -alias NMHEADER HD_NOTIFY; 1783 - 1784 -struct tagNMHEADERA { 1785 - NMHDR hdr; 1786 - int iItem; 1787 - int iButton; 1788 - HDITEMA *pitem; 1789 -} 1790 -alias tagNMHEADERA NMHEADERA; 1791 -alias tagNMHEADERA* LPNMHEADERA; 1792 - 1793 -struct tagNMHEADERW { 1794 - NMHDR hdr; 1795 - int iItem; 1796 - int iButton; 1797 - HDITEMW *pitem; 1798 -} 1799 -alias tagNMHEADERW NMHEADERW; 1800 -alias tagNMHEADERW* LPNMHEADERW; 1801 - 1802 -// #ifdef UNICODE 1803 -// #... 1804 -// #... 1805 -// #else 1806 -alias NMHEADERA NMHEADER; 1807 -alias LPNMHEADERA LPNMHEADER; 1808 -// #endif 1809 - 1810 -struct tagNMHDDISPINFOW { 1811 - NMHDR hdr; 1812 - int iItem; 1813 - UINT mask; 1814 - LPWSTR pszText; 1815 - int cchTextMax; 1816 - int iImage; 1817 - LPARAM lParam; 1818 -} 1819 -alias tagNMHDDISPINFOW NMHDDISPINFOW; 1820 -alias tagNMHDDISPINFOW* LPNMHDDISPINFOW; 1821 - 1822 -struct tagNMHDDISPINFOA { 1823 - NMHDR hdr; 1824 - int iItem; 1825 - UINT mask; 1826 - LPSTR pszText; 1827 - int cchTextMax; 1828 - int iImage; 1829 - LPARAM lParam; 1830 -} 1831 -alias tagNMHDDISPINFOA NMHDDISPINFOA; 1832 -alias tagNMHDDISPINFOA* LPNMHDDISPINFOA; 1833 - 1834 -// #ifdef UNICODE 1835 -// #... 1836 -// #... 1837 -// #else 1838 -alias NMHDDISPINFOA NMHDDISPINFO; 1839 -alias LPNMHDDISPINFOA LPNMHDDISPINFO; 1840 -// #endif 1841 - 1842 -// #if (_WIN32_IE >= 0x0500) 1843 -struct tagNMHDFILTERBTNCLICK { 1844 - NMHDR hdr; 1845 - INT iItem; 1846 - RECT rc; 1847 -} 1848 -alias tagNMHDFILTERBTNCLICK NMHDFILTERBTNCLICK; 1849 -alias tagNMHDFILTERBTNCLICK* LPNMHDFILTERBTNCLICK; 1850 - 1851 -// #endif 1852 - 1853 -// #endif // NOHEADER 1854 - 1855 -// #ifndef NOTOOLBAR 1856 - 1857 -// #ifdef _WIN32 1858 -const wchar[] TOOLBARCLASSNAMEW = "ToolbarWindow32"; 1859 -const char[] TOOLBARCLASSNAMEA = "ToolbarWindow32"; 1860 - 1861 -// #ifdef UNICODE 1862 -// #... 1863 -// #else 1864 -alias TOOLBARCLASSNAMEA TOOLBARCLASSNAME; 1865 -// #endif 1866 - 1867 -// #else 1868 -// #... 1869 -// #endif 1870 - 1871 -struct _TBBUTTON { 1872 - int iBitmap; 1873 - int idCommand; 1874 - BYTE fsState; 1875 - BYTE fsStyle; 1876 -// #ifdef _WIN64 1877 -// ... 1878 -// #elif defined(_WIN32) 1879 - BYTE bReserved[2]; 1880 -// #endif 1881 - DWORD_PTR dwData; 1882 - INT_PTR iString; 1883 -} 1884 -alias _TBBUTTON TBBUTTON; 1885 -alias _TBBUTTON* PTBBUTTON; 1886 -alias _TBBUTTON* LPTBBUTTON; 1887 - 1888 -alias TBBUTTON* LPCTBBUTTON; 1889 - 1890 -struct _COLORMAP { 1891 - COLORREF from; 1892 - COLORREF to; 1893 -} 1894 -alias _COLORMAP COLORMAP; 1895 -alias _COLORMAP* LPCOLORMAP; 1896 - 1897 -extern(Windows) export HWND CreateToolbarEx(HWND hwnd, DWORD ws, UINT wID, int nBitmaps, 1898 - HINSTANCE hBMInst, UINT_PTR wBMID, LPCTBBUTTON lpButtons, 1899 - int iNumButtons, int dxButton, int dyButton, 1900 - int dxBitmap, int dyBitmap, UINT uStructSize); 1901 - 1902 -extern(Windows) export HBITMAP CreateMappedBitmap(HINSTANCE hInstance, INT_PTR idBitmap, 1903 - UINT wFlags, LPCOLORMAP lpColorMap, 1904 - int iNumMaps); 1905 - 1906 -enum : uint { CMB_MASKED = 0x02 } 1907 -enum : uint { TBSTATE_CHECKED = 0x01 } 1908 -enum : uint { TBSTATE_PRESSED = 0x02 } 1909 -enum : uint { TBSTATE_ENABLED = 0x04 } 1910 -enum : uint { TBSTATE_HIDDEN = 0x08 } 1911 -enum : uint { TBSTATE_INDETERMINATE = 0x10 } 1912 -enum : uint { TBSTATE_WRAP = 0x20 } 1913 -// #if (_WIN32_IE >= 0x0300) 1914 -enum : uint { TBSTATE_ELLIPSES = 0x40 } 1915 -// #endif 1916 -// #if (_WIN32_IE >= 0x0400) 1917 -enum : uint { TBSTATE_MARKED = 0x80 } 1918 -// #endif 1919 - 1920 -enum : uint { TBSTYLE_BUTTON = 0x0000 } 1921 -enum : uint { TBSTYLE_SEP = 0x0001 } 1922 -enum : uint { TBSTYLE_CHECK = 0x0002 } 1923 -enum : uint { TBSTYLE_GROUP = 0x0004 } 1924 -enum : uint { TBSTYLE_CHECKGROUP = TBSTYLE_GROUP | TBSTYLE_CHECK } 1925 -// #if (_WIN32_IE >= 0x0300) 1926 -enum : uint { TBSTYLE_DROPDOWN = 0x0008 } 1927 -// #endif 1928 -// #if (_WIN32_IE >= 0x0400) 1929 -enum : uint { TBSTYLE_AUTOSIZE = 0x0010 } 1930 -enum : uint { TBSTYLE_NOPREFIX = 0x0020 } 1931 -// #endif 1932 - 1933 -enum : uint { TBSTYLE_TOOLTIPS = 0x0100 } 1934 -enum : uint { TBSTYLE_WRAPABLE = 0x0200 } 1935 -enum : uint { TBSTYLE_ALTDRAG = 0x0400 } 1936 -// #if (_WIN32_IE >= 0x0300) 1937 -enum : uint { TBSTYLE_FLAT = 0x0800 } 1938 -enum : uint { TBSTYLE_LIST = 0x1000 } 1939 -enum : uint { TBSTYLE_CUSTOMERASE = 0x2000 } 1940 -// #endif 1941 -// #if (_WIN32_IE >= 0x0400) 1942 -enum : uint { TBSTYLE_REGISTERDROP = 0x4000 } 1943 -enum : uint { TBSTYLE_TRANSPARENT = 0x8000 } 1944 -enum : uint { TBSTYLE_EX_DRAWDDARROWS = 0x00000001 } 1945 -// #endif 1946 - 1947 -// #if (_WIN32_IE >= 0x0500) 1948 -alias TBSTYLE_BUTTON BTNS_BUTTON; 1949 -alias TBSTYLE_SEP BTNS_SEP; 1950 -alias TBSTYLE_CHECK BTNS_CHECK; 1951 -alias TBSTYLE_GROUP BTNS_GROUP; 1952 -alias TBSTYLE_CHECKGROUP BTNS_CHECKGROUP; 1953 -alias TBSTYLE_DROPDOWN BTNS_DROPDOWN; 1954 -alias TBSTYLE_AUTOSIZE BTNS_AUTOSIZE; 1955 -alias TBSTYLE_NOPREFIX BTNS_NOPREFIX; 1956 -// #if (_WIN32_IE >= 0x0501) 1957 -enum : uint { BTNS_SHOWTEXT = 0x0040 } 1958 -// #endif // 0x0501 1959 -enum : uint { BTNS_WHOLEDROPDOWN = 0x0080 } 1960 -// #endif 1961 - 1962 -// #if (_WIN32_IE >= 0x0501) 1963 -enum : uint { TBSTYLE_EX_MIXEDBUTTONS = 0x00000008 } 1964 -enum : uint { TBSTYLE_EX_HIDECLIPPEDBUTTONS = 0x00000010 } 1965 -// #endif // 0x0501 1966 - 1967 -// #if (_WIN32_WINNT >= 0x501) 1968 -enum : uint { TBSTYLE_EX_DOUBLEBUFFER = 0x00000080 } 1969 -// #endif 1970 - 1971 -// #if (_WIN32_IE >= 0x0400) 1972 - 1973 -struct _NMTBCUSTOMDRAW { 1974 - NMCUSTOMDRAW nmcd; 1975 - HBRUSH hbrMonoDither; 1976 - HBRUSH hbrLines; 1977 - HPEN hpenLines; 1978 - 1979 - COLORREF clrText; 1980 - COLORREF clrMark; 1981 - COLORREF clrTextHighlight; 1982 - COLORREF clrBtnFace; 1983 - COLORREF clrBtnHighlight; 1984 - COLORREF clrHighlightHotTrack; 1985 - 1986 - RECT rcText; 1987 - 1988 - int nStringBkMode; 1989 - int nHLStringBkMode; 1990 -// #if (_WIN32_WINNT >= 0x501) 1991 - int iListGap; 1992 -// #endif 1993 -} 1994 -alias _NMTBCUSTOMDRAW NMTBCUSTOMDRAW; 1995 -alias _NMTBCUSTOMDRAW* LPNMTBCUSTOMDRAW; 1996 - 1997 -enum : uint { TBCDRF_NOEDGES = 0x00010000 } 1998 -enum : uint { TBCDRF_HILITEHOTTRACK = 0x00020000 } 1999 -enum : uint { TBCDRF_NOOFFSET = 0x00040000 } 2000 -enum : uint { TBCDRF_NOMARK = 0x00080000 } 2001 -enum : uint { TBCDRF_NOETCHEDEFFECT = 0x00100000 } 2002 -// #endif 2003 - 2004 -// #if (_WIN32_IE >= 0x0500) 2005 -enum : uint { TBCDRF_BLENDICON = 0x00200000 } 2006 -enum : uint { TBCDRF_NOBACKGROUND = 0x00400000 } 2007 -// #endif 2008 - 2009 -enum : uint { TB_ENABLEBUTTON = WM_USER + 1 } 2010 -enum : uint { TB_CHECKBUTTON = WM_USER + 2 } 2011 -enum : uint { TB_PRESSBUTTON = WM_USER + 3 } 2012 -enum : uint { TB_HIDEBUTTON = WM_USER + 4 } 2013 -enum : uint { TB_INDETERMINATE = WM_USER + 5 } 2014 -// #if (_WIN32_IE >= 0x0400) 2015 -enum : uint { TB_MARKBUTTON = WM_USER + 6 } 2016 -// #endif 2017 -enum : uint { TB_ISBUTTONENABLED = WM_USER + 9 } 2018 -enum : uint { TB_ISBUTTONCHECKED = WM_USER + 10 } 2019 -enum : uint { TB_ISBUTTONPRESSED = WM_USER + 11 } 2020 -enum : uint { TB_ISBUTTONHIDDEN = WM_USER + 12 } 2021 -enum : uint { TB_ISBUTTONINDETERMINATE = WM_USER + 13 } 2022 -// #if (_WIN32_IE >= 0x0400) 2023 -enum : uint { TB_ISBUTTONHIGHLIGHTED = WM_USER + 14 } 2024 -// #endif 2025 -enum : uint { TB_SETSTATE = WM_USER + 17 } 2026 -enum : uint { TB_GETSTATE = WM_USER + 18 } 2027 -enum : uint { TB_ADDBITMAP = WM_USER + 19 } 2028 - 2029 -// #ifdef _WIN32 2030 -struct tagTBADDBITMAP { 2031 - HINSTANCE hInst; 2032 - UINT_PTR nID; 2033 -} 2034 -alias tagTBADDBITMAP TBADDBITMAP; 2035 -alias tagTBADDBITMAP* LPTBADDBITMAP; 2036 - 2037 -HINSTANCE HINST_COMMCTRL = cast(HINSTANCE)(-1); 2038 -enum : uint { IDB_STD_SMALL_COLOR = 0 } 2039 -enum : uint { IDB_STD_LARGE_COLOR = 1 } 2040 -enum : uint { IDB_VIEW_SMALL_COLOR = 4 } 2041 -enum : uint { IDB_VIEW_LARGE_COLOR = 5 } 2042 -// #if (_WIN32_IE >= 0x0300) 2043 -enum : uint { IDB_HIST_SMALL_COLOR = 8 } 2044 -enum : uint { IDB_HIST_LARGE_COLOR = 9 } 2045 -// #endif 2046 - 2047 -enum : uint { STD_CUT = 0 } 2048 -enum : uint { STD_COPY = 1 } 2049 -enum : uint { STD_PASTE = 2 } 2050 -enum : uint { STD_UNDO = 3 } 2051 -enum : uint { STD_REDOW = 4 } 2052 -enum : uint { STD_DELETE = 5 } 2053 -enum : uint { STD_FILENEW = 6 } 2054 -enum : uint { STD_FILEOPEN = 7 } 2055 -enum : uint { STD_FILESAVE = 8 } 2056 -enum : uint { STD_PRINTPRE = 9 } 2057 -enum : uint { STD_PROPERTIES = 10 } 2058 -enum : uint { STD_HELP = 11 } 2059 -enum : uint { STD_FIND = 12 } 2060 -enum : uint { STD_REPLACE = 13 } 2061 -enum : uint { STD_PRINT = 14 } 2062 - 2063 -enum : uint { VIEW_LARGEICONS = 0 } 2064 -enum : uint { VIEW_SMALLICONS = 1 } 2065 -enum : uint { VIEW_LIST = 2 } 2066 -enum : uint { VIEW_DETAILS = 3 } 2067 -enum : uint { VIEW_SORTNAME = 4 } 2068 -enum : uint { VIEW_SORTSIZE = 5 } 2069 -enum : uint { VIEW_SORTDATE = 6 } 2070 -enum : uint { VIEW_SORTTYPE = 7 } 2071 -enum : uint { VIEW_PARENTFOLDER = 8 } 2072 -enum : uint { VIEW_NETCONNECT = 9 } 2073 -enum : uint { VIEW_NETDISCONNECT = 10 } 2074 -enum : uint { VIEW_NEWFOLDER = 11 } 2075 -// #if (_WIN32_IE >= 0x0400) 2076 -enum : uint { VIEW_VIEWMENU = 12 } 2077 -// #endif 2078 - 2079 -// #if (_WIN32_IE >= 0x0300) 2080 -enum : uint { HIST_BACK = 0 } 2081 -enum : uint { HIST_FORWARD = 1 } 2082 -enum : uint { HIST_FAVORITES = 2 } 2083 -enum : uint { HIST_ADDTOFAVORITES = 3 } 2084 -enum : uint { HIST_VIEWTREE = 4 } 2085 -// #endif 2086 - 2087 -// #endif 2088 - 2089 -// #if (_WIN32_IE >= 0x0400) 2090 -enum : uint { TB_ADDBUTTONSA = WM_USER + 20 } 2091 -enum : uint { TB_INSERTBUTTONA = WM_USER + 21 } 2092 -// #else 2093 -// #... 2094 -// #... 2095 -// #endif 2096 - 2097 -enum : uint { TB_DELETEBUTTON = WM_USER + 22 } 2098 -enum : uint { TB_GETBUTTON = WM_USER + 23 } 2099 -enum : uint { TB_BUTTONCOUNT = WM_USER + 24 } 2100 -enum : uint { TB_COMMANDTOINDEX = WM_USER + 25 } 2101 - 2102 -// #ifdef _WIN32 2103 - 2104 -struct tagTBSAVEPARAMSA { 2105 - HKEY hkr; 2106 - LPCSTR pszSubKey; 2107 - LPCSTR pszValueName; 2108 -} 2109 -alias tagTBSAVEPARAMSA TBSAVEPARAMSA; 2110 -alias tagTBSAVEPARAMSA* LPTBSAVEPARAMSA; 2111 - 2112 -struct tagTBSAVEPARAMSW { 2113 - HKEY hkr; 2114 - LPCWSTR pszSubKey; 2115 - LPCWSTR pszValueName; 2116 -} 2117 -alias tagTBSAVEPARAMSW TBSAVEPARAMSW; 2118 -alias tagTBSAVEPARAMSW* LPTBSAVEPARAMW; 2119 - 2120 -// #ifdef UNICODE 2121 -// #... 2122 -// #... 2123 -// #else 2124 -alias TBSAVEPARAMSA TBSAVEPARAMS; 2125 -alias LPTBSAVEPARAMSA LPTBSAVEPARAMS; 2126 -// #endif 2127 - 2128 -// #endif // _WIN32 2129 - 2130 -enum : uint { TB_SAVERESTOREA = WM_USER + 26 } 2131 -enum : uint { TB_SAVERESTOREW = WM_USER + 76 } 2132 -enum : uint { TB_CUSTOMIZE = WM_USER + 27 } 2133 -enum : uint { TB_ADDSTRINGA = WM_USER + 28 } 2134 -enum : uint { TB_ADDSTRINGW = WM_USER + 77 } 2135 -enum : uint { TB_GETITEMRECT = WM_USER + 29 } 2136 -enum : uint { TB_BUTTONSTRUCTSIZE = WM_USER + 30 } 2137 -enum : uint { TB_SETBUTTONSIZE = WM_USER + 31 } 2138 -enum : uint { TB_SETBITMAPSIZE = WM_USER + 32 } 2139 -enum : uint { TB_AUTOSIZE = WM_USER + 33 } 2140 -enum : uint { TB_GETTOOLTIPS = WM_USER + 35 } 2141 -enum : uint { TB_SETTOOLTIPS = WM_USER + 36 } 2142 -enum : uint { TB_SETPARENT = WM_USER + 37 } 2143 -enum : uint { TB_SETROWS = WM_USER + 39 } 2144 -enum : uint { TB_GETROWS = WM_USER + 40 } 2145 -enum : uint { TB_SETCMDID = WM_USER + 42 } 2146 -enum : uint { TB_CHANGEBITMAP = WM_USER + 43 } 2147 -enum : uint { TB_GETBITMAP = WM_USER + 44 } 2148 -enum : uint { TB_GETBUTTONTEXTA = WM_USER + 45 } 2149 -enum : uint { TB_GETBUTTONTEXTW = WM_USER + 75 } 2150 -enum : uint { TB_REPLACEBITMAP = WM_USER + 46 } 2151 -// #if (_WIN32_IE >= 0x0300) 2152 -enum : uint { TB_SETINDENT = WM_USER + 47 } 2153 -enum : uint { TB_SETIMAGELIST = WM_USER + 48 } 2154 -enum : uint { TB_GETIMAGELIST = WM_USER + 49 } 2155 -enum : uint { TB_LOADIMAGES = WM_USER + 50 } 2156 -enum : uint { TB_GETRECT = WM_USER + 51 } 2157 -enum : uint { TB_SETHOTIMAGELIST = WM_USER + 52 } 2158 -enum : uint { TB_GETHOTIMAGELIST = WM_USER + 53 } 2159 -enum : uint { TB_SETDISABLEDIMAGELIST = WM_USER + 54 } 2160 -enum : uint { TB_GETDISABLEDIMAGELIST = WM_USER + 55 } 2161 -enum : uint { TB_SETSTYLE = WM_USER + 56 } 2162 -enum : uint { TB_GETSTYLE = WM_USER + 57 } 2163 -enum : uint { TB_GETBUTTONSIZE = WM_USER + 58 } 2164 -enum : uint { TB_SETBUTTONWIDTH = WM_USER + 59 } 2165 -enum : uint { TB_SETMAXTEXTROWS = WM_USER + 60 } 2166 -enum : uint { TB_GETTEXTROWS = WM_USER + 61 } 2167 -// #endif // _WIN32_IE >= 0x0300 2168 - 2169 -// #ifdef UNICODE 2170 -// #... 2171 -// #... 2172 -// #... 2173 -// #else 2174 -alias TB_GETBUTTONTEXTA TB_GETBUTTONTEXT; 2175 -alias TB_SAVERESTOREA TB_SAVERESTORE; 2176 -alias TB_ADDSTRINGA TB_ADDSTRING; 2177 -// #endif 2178 -// #if (_WIN32_IE >= 0x0400) 2179 -enum : uint { TB_GETOBJECT = WM_USER + 62 } 2180 -enum : uint { TB_GETHOTITEM = WM_USER + 71 } 2181 -enum : uint { TB_SETHOTITEM = WM_USER + 72 } 2182 -enum : uint { TB_SETANCHORHIGHLIGHT = WM_USER + 73 } 2183 -enum : uint { TB_GETANCHORHIGHLIGHT = WM_USER + 74 } 2184 -enum : uint { TB_MAPACCELERATORA = WM_USER + 78 } 2185 - 2186 -struct _0 { 2187 - int iButton; 2188 - DWORD dwFlags; 2189 -} 2190 -alias _0 TBINSERTMARK; 2191 -alias _0* LPTBINSERTMARK; 2192 - 2193 -enum : uint { TBIMHT_AFTER = 0x00000001 } 2194 -enum : uint { TBIMHT_BACKGROUND = 0x00000002 } 2195 - 2196 -enum : uint { TB_GETINSERTMARK = WM_USER + 79 } 2197 -enum : uint { TB_SETINSERTMARK = WM_USER + 80 } 2198 -enum : uint { TB_INSERTMARKHITTEST = WM_USER + 81 } 2199 -enum : uint { TB_MOVEBUTTON = WM_USER + 82 } 2200 -enum : uint { TB_GETMAXSIZE = WM_USER + 83 } 2201 -enum : uint { TB_SETEXTENDEDSTYLE = WM_USER + 84 } 2202 -enum : uint { TB_GETEXTENDEDSTYLE = WM_USER + 85 } 2203 -enum : uint { TB_GETPADDING = WM_USER + 86 } 2204 -enum : uint { TB_SETPADDING = WM_USER + 87 } 2205 -enum : uint { TB_SETINSERTMARKCOLOR = WM_USER + 88 } 2206 -enum : uint { TB_GETINSERTMARKCOLOR = WM_USER + 89 } 2207 - 2208 -alias CCM_SETCOLORSCHEME TB_SETCOLORSCHEME; 2209 -alias CCM_GETCOLORSCHEME TB_GETCOLORSCHEME; 2210 - 2211 -alias CCM_SETUNICODEFORMAT TB_SETUNICODEFORMAT; 2212 -alias CCM_GETUNICODEFORMAT TB_GETUNICODEFORMAT; 2213 - 2214 -enum : uint { TB_MAPACCELERATORW = WM_USER + 90 } 2215 -// #ifdef UNICODE 2216 -// #... 2217 -// #else 2218 -alias TB_MAPACCELERATORA TB_MAPACCELERATOR; 2219 -// #endif 2220 - 2221 -// #endif // _WIN32_IE >= 0x0400 2222 - 2223 -struct _1 { 2224 - HINSTANCE hInstOld; 2225 - UINT_PTR nIDOld; 2226 - HINSTANCE hInstNew; 2227 - UINT_PTR nIDNew; 2228 - int nButtons; 2229 -} 2230 -alias _1 TBREPLACEBITMAP; 2231 -alias _1* LPTBREPLACEBITMAP; 2232 - 2233 -// #ifdef _WIN32 2234 - 2235 -enum : uint { TBBF_LARGE = 0x0001 } 2236 - 2237 -enum : uint { TB_GETBITMAPFLAGS = WM_USER + 41 } 2238 - 2239 -// #if (_WIN32_IE >= 0x0400) 2240 -enum : uint { TBIF_IMAGE = 0x00000001 } 2241 -enum : uint { TBIF_TEXT = 0x00000002 } 2242 -enum : uint { TBIF_STATE = 0x00000004 } 2243 -enum : uint { TBIF_STYLE = 0x00000008 } 2244 -enum : uint { TBIF_LPARAM = 0x00000010 } 2245 -enum : uint { TBIF_COMMAND = 0x00000020 } 2246 -enum : uint { TBIF_SIZE = 0x00000040 } 2247 - 2248 -// #if (_WIN32_IE >= 0x0500) 2249 -enum : uint { TBIF_BYINDEX = 0x80000000 } 2250 -// #endif 2251 - 2252 -struct _2 { 2253 - UINT cbSize; 2254 - DWORD dwMask; 2255 - int idCommand; 2256 - int iImage; 2257 - BYTE fsState; 2258 - BYTE fsStyle; 2259 - WORD cx; 2260 - DWORD_PTR lParam; 2261 - LPSTR pszText; 2262 - int cchText; 2263 -} 2264 -alias _2 TBBUTTONINFOA; 2265 -alias _2* LPTBBUTTONINFOA; 2266 - 2267 -struct _3 { 2268 - UINT cbSize; 2269 - DWORD dwMask; 2270 - int idCommand; 2271 - int iImage; 2272 - BYTE fsState; 2273 - BYTE fsStyle; 2274 - WORD cx; 2275 - DWORD_PTR lParam; 2276 - LPWSTR pszText; 2277 - int cchText; 2278 -} 2279 -alias _3 TBBUTTONINFOW; 2280 -alias _3* LPTBBUTTONINFOW; 2281 - 2282 -// #ifdef UNICODE 2283 -// #... 2284 -// #... 2285 -// #else 2286 -alias TBBUTTONINFOA TBBUTTONINFO; 2287 -alias LPTBBUTTONINFOA LPTBBUTTONINFO; 2288 -// #endif 2289 - 2290 -enum : uint { TB_GETBUTTONINFOW = WM_USER + 63 } 2291 -enum : uint { TB_SETBUTTONINFOW = WM_USER + 64 } 2292 -enum : uint { TB_GETBUTTONINFOA = WM_USER + 65 } 2293 -enum : uint { TB_SETBUTTONINFOA = WM_USER + 66 } 2294 -// #ifdef UNICODE 2295 -// #... 2296 -// #... 2297 -// #else 2298 -alias TB_GETBUTTONINFOA TB_GETBUTTONINFO; 2299 -alias TB_SETBUTTONINFOA TB_SETBUTTONINFO; 2300 -// #endif 2301 - 2302 -enum : uint { TB_INSERTBUTTONW = WM_USER + 67 } 2303 -enum : uint { TB_ADDBUTTONSW = WM_USER + 68 } 2304 - 2305 -enum : uint { TB_HITTEST = WM_USER + 69 } 2306 - 2307 -// #ifdef UNICODE 2308 -// #... 2309 -// #... 2310 -// #else 2311 -alias TB_INSERTBUTTONA TB_INSERTBUTTON; 2312 -alias TB_ADDBUTTONSA TB_ADDBUTTONS; 2313 -// #endif 2314 - 2315 -enum : uint { TB_SETDRAWTEXTFLAGS = WM_USER + 70 } 2316 - 2317 -// #endif // _WIN32_IE >= 0x0400 2318 - 2319 -// #if (_WIN32_IE >= 0x0500) 2320 - 2321 -enum : uint { TB_GETSTRINGW = WM_USER + 91 } 2322 -enum : uint { TB_GETSTRINGA = WM_USER + 92 } 2323 -// #ifdef UNICODE 2324 -// #... 2325 -// #else 2326 -alias TB_GETSTRINGA TB_GETSTRING; 2327 -// #endif 2328 - 2329 -// #endif // _WIN32_IE >= 0x0500 2330 - 2331 -// #if (_WIN32_WINNT >= 0x501) 2332 -enum : uint { TBMF_PAD = 0x00000001 } 2333 -enum : uint { TBMF_BARPAD = 0x00000002 } 2334 -enum : uint { TBMF_BUTTONSPACING = 0x00000004 } 2335 - 2336 -struct _4 { 2337 - UINT cbSize; 2338 - DWORD dwMask; 2339 - int cxPad; 2340 - int cyPad; 2341 - int cxBarPad; 2342 - int cyBarPad; 2343 - int cxButtonSpacing; 2344 - int cyButtonSpacing; 2345 -} 2346 -alias _4 TBMETRICS; 2347 -alias _4* LPTBMETRICS; 2348 - 2349 -enum : uint { TB_GETMETRICS = WM_USER + 101 } 2350 -enum : uint { TB_SETMETRICS = WM_USER + 102 } 2351 -// #endif 2352 - 2353 -// #if (_WIN32_WINNT >= 0x501) 2354 -alias CCM_SETWINDOWTHEME TB_SETWINDOWTHEME; 2355 -// #endif 2356 - 2357 -enum : uint { TBN_GETBUTTONINFOA = TBN_FIRST-0 } 2358 -enum : uint { TBN_BEGINDRAG = TBN_FIRST-1 } 2359 -enum : uint { TBN_ENDDRAG = TBN_FIRST-2 } 2360 -enum : uint { TBN_BEGINADJUST = TBN_FIRST-3 } 2361 -enum : uint { TBN_ENDADJUST = TBN_FIRST-4 } 2362 -enum : uint { TBN_RESET = TBN_FIRST-5 } 2363 -enum : uint { TBN_QUERYINSERT = TBN_FIRST-6 } 2364 -enum : uint { TBN_QUERYDELETE = TBN_FIRST-7 } 2365 -enum : uint { TBN_TOOLBARCHANGE = TBN_FIRST-8 } 2366 -enum : uint { TBN_CUSTHELP = TBN_FIRST-9 } 2367 -// #if (_WIN32_IE >= 0x0300) 2368 -enum : uint { TBN_DROPDOWN = TBN_FIRST - 10 } 2369 -// #endif 2370 -// #if (_WIN32_IE >= 0x0400) 2371 -enum : uint { TBN_GETOBJECT = TBN_FIRST - 12 } 2372 - 2373 -struct tagNMTBHOTITEM { 2374 - NMHDR hdr; 2375 - int idOld; 2376 - int idNew; 2377 - DWORD dwFlags; 2378 -} 2379 -alias tagNMTBHOTITEM NMTBHOTITEM; 2380 -alias tagNMTBHOTITEM* LPNMTBHOTITEM; 2381 - 2382 -enum : uint { HICF_OTHER = 0x00000000 } 2383 -enum : uint { HICF_MOUSE = 0x00000001 } 2384 -enum : uint { HICF_ARROWKEYS = 0x00000002 } 2385 -enum : uint { HICF_ACCELERATOR = 0x00000004 } 2386 -enum : uint { HICF_DUPACCEL = 0x00000008 } 2387 -enum : uint { HICF_ENTERING = 0x00000010 } 2388 -enum : uint { HICF_LEAVING = 0x00000020 } 2389 -enum : uint { HICF_RESELECT = 0x00000040 } 2390 -enum : uint { HICF_LMOUSE = 0x00000080 } 2391 -enum : uint { HICF_TOGGLEDROPDOWN = 0x00000100 } 2392 - 2393 -enum : uint { TBN_HOTITEMCHANGE = TBN_FIRST - 13 } 2394 -enum : uint { TBN_DRAGOUT = TBN_FIRST - 14 } 2395 -enum : uint { TBN_DELETINGBUTTON = TBN_FIRST - 15 } 2396 -enum : uint { TBN_GETDISPINFOA = TBN_FIRST - 16 } 2397 -enum : uint { TBN_GETDISPINFOW = TBN_FIRST - 17 } 2398 -enum : uint { TBN_GETINFOTIPA = TBN_FIRST - 18 } 2399 -enum : uint { TBN_GETINFOTIPW = TBN_FIRST - 19 } 2400 -enum : uint { TBN_GETBUTTONINFOW = TBN_FIRST - 20 } 2401 -// #if (_WIN32_IE >= 0x0500) 2402 -enum : uint { TBN_RESTORE = TBN_FIRST - 21 } 2403 -enum : uint { TBN_SAVE = TBN_FIRST - 22 } 2404 -enum : uint { TBN_INITCUSTOMIZE = TBN_FIRST - 23 } 2405 -enum : uint { TBNRF_HIDEHELP = 0x00000001 } 2406 -enum : uint { TBNRF_ENDCUSTOMIZE = 0x00000002 } 2407 -// #endif // (_WIN32_IE >= 0x0500) 2408 - 2409 -// #if (_WIN32_IE >= 0x0500) 2410 - 2411 -struct tagNMTBSAVE { 2412 - NMHDR hdr; 2413 - DWORD * pData; 2414 - DWORD * pCurrent; 2415 - UINT cbData; 2416 - int iItem; 2417 - int cButtons; 2418 - TBBUTTON tbButton; 2419 -} 2420 -alias tagNMTBSAVE NMTBSAVE; 2421 -alias tagNMTBSAVE* LPNMTBSAVE; 2422 - 2423 -struct tagNMTBRESTORE { 2424 - NMHDR hdr; 2425 - DWORD * pData; 2426 - DWORD * pCurrent; 2427 - UINT cbData; 2428 - int iItem; 2429 - int cButtons; 2430 - int cbBytesPerRecord; 2431 - TBBUTTON tbButton; 2432 -} 2433 -alias tagNMTBRESTORE NMTBRESTORE; 2434 -alias tagNMTBRESTORE* LPNMTBRESTORE; 2435 - 2436 -// #endif // (_WIN32_IE >= 0x0500) 2437 - 2438 -struct tagNMTBGETINFOTIPA { 2439 - NMHDR hdr; 2440 - LPSTR pszText; 2441 - int cchTextMax; 2442 - int iItem; 2443 - LPARAM lParam; 2444 -} 2445 -alias tagNMTBGETINFOTIPA NMTBGETINFOTIPA; 2446 -alias tagNMTBGETINFOTIPA* LPNMTBGETINFOTIPA; 2447 - 2448 -struct tagNMTBGETINFOTIPW { 2449 - NMHDR hdr; 2450 - LPWSTR pszText; 2451 - int cchTextMax; 2452 - int iItem; 2453 - LPARAM lParam; 2454 -} 2455 -alias tagNMTBGETINFOTIPW NMTBGETINFOTIPW; 2456 -alias tagNMTBGETINFOTIPW* LPNMTBGETINFOTIPW; 2457 - 2458 -// #ifdef UNICODE 2459 -// #... 2460 -// #... 2461 -// #... 2462 -// #else 2463 -alias TBN_GETINFOTIPA TBN_GETINFOTIP; 2464 -alias NMTBGETINFOTIPA NMTBGETINFOTIP; 2465 -alias LPNMTBGETINFOTIPA LPNMTBGETINFOTIP; 2466 -// #endif 2467 - 2468 -enum : uint { TBNF_IMAGE = 0x00000001 } 2469 -enum : uint { TBNF_TEXT = 0x00000002 } 2470 -enum : uint { TBNF_DI_SETITEM = 0x10000000 } 2471 - 2472 -struct _5 { 2473 - NMHDR hdr; 2474 - DWORD dwMask; 2475 - int idCommand; 2476 - DWORD_PTR lParam; 2477 - int iImage; 2478 - LPSTR pszText; 2479 - int cchText; 2480 -} 2481 -alias _5 NMTBDISPINFOA; 2482 -alias _5* LPNMTBDISPINFOA; 2483 - 2484 -struct _6 { 2485 - NMHDR hdr; 2486 - DWORD dwMask; 2487 - int idCommand; 2488 - DWORD_PTR lParam; 2489 - int iImage; 2490 - LPWSTR pszText; 2491 - int cchText; 2492 -} 2493 -alias _6 NMTBDISPINFOW; 2494 -alias _6* LPNMTBDISPINFOW; 2495 - 2496 -// #ifdef UNICODE 2497 -// #... 2498 -// #... 2499 -// #... 2500 -// #else 2501 -alias TBN_GETDISPINFOA TBN_GETDISPINFO; 2502 -alias NMTBDISPINFOA NMTBDISPINFO; 2503 -alias LPNMTBDISPINFOA LPNMTBDISPINFO; 2504 -// #endif 2505 - 2506 -enum : uint { TBDDRET_DEFAULT = 0 } 2507 -enum : uint { TBDDRET_NODEFAULT = 1 } 2508 -enum : uint { TBDDRET_TREATPRESSED = 2 } 2509 - 2510 -// #endif 2511 - 2512 -// #ifdef UNICODE 2513 -// #... 2514 -// #else 2515 -alias TBN_GETBUTTONINFOA TBN_GETBUTTONINFO; 2516 -// #endif 2517 - 2518 -// #if (_WIN32_IE >= 0x0300) 2519 -alias NMTOOLBARA TBNOTIFYA; 2520 -alias NMTOOLBARW TBNOTIFYW; 2521 -alias LPNMTOOLBARA LPTBNOTIFYA; 2522 -alias LPNMTOOLBARW LPTBNOTIFYW; 2523 -// #else 2524 -// #... 2525 -// #... 2526 -// #... 2527 -// #... 2528 -// #... 2529 -// #... 2530 -// #endif 2531 - 2532 -alias NMTOOLBAR TBNOTIFY; 2533 -alias LPNMTOOLBAR LPTBNOTIFY; 2534 - 2535 -// #if (_WIN32_IE >= 0x0300) 2536 -struct tagNMTOOLBARA { 2537 - NMHDR hdr; 2538 - int iItem; 2539 - TBBUTTON tbButton; 2540 - int cchText; 2541 - LPSTR pszText; 2542 -// #if (_WIN32_IE >= 0x500) 2543 - RECT rcButton; 2544 -// #endif 2545 -} 2546 -alias tagNMTOOLBARA NMTOOLBARA; 2547 -alias tagNMTOOLBARA* LPNMTOOLBARA; 2548 - 2549 -// #endif 2550 - 2551 -// #if (_WIN32_IE >= 0x0300) 2552 -struct tagNMTOOLBARW { 2553 - NMHDR hdr; 2554 - int iItem; 2555 - TBBUTTON tbButton; 2556 - int cchText; 2557 - LPWSTR pszText; 2558 -// #if (_WIN32_IE >= 0x500) 2559 - RECT rcButton; 2560 -// #endif 2561 -} 2562 -alias tagNMTOOLBARW NMTOOLBARW; 2563 -alias tagNMTOOLBARW* LPNMTOOLBARW; 2564 - 2565 -// #endif 2566 - 2567 -// #ifdef UNICODE 2568 -// #... 2569 -// #... 2570 -// #else 2571 -alias NMTOOLBARA NMTOOLBAR; 2572 -alias LPNMTOOLBARA LPNMTOOLBAR; 2573 -// #endif 2574 - 2575 -// #endif 2576 - 2577 -// #endif // NOTOOLBAR 2578 - 2579 -// #if (_WIN32_IE >= 0x0300) 2580 - 2581 -// #ifndef NOREBAR 2582 - 2583 -// #ifdef _WIN32 2584 -const wchar[] REBARCLASSNAMEW = "ReBarWindow32"; 2585 -const char[] REBARCLASSNAMEA = "ReBarWindow32"; 2586 - 2587 -// #ifdef UNICODE 2588 -// #... 2589 -// #else 2590 -alias REBARCLASSNAMEA REBARCLASSNAME; 2591 -// #endif 2592 - 2593 -// #else 2594 -// #... 2595 -// #endif 2596 - 2597 -enum : uint { RBIM_IMAGELIST = 0x00000001 } 2598 - 2599 -// #if (_WIN32_IE >= 0x0400) 2600 -enum : uint { RBS_TOOLTIPS = 0x0100 } 2601 -enum : uint { RBS_VARHEIGHT = 0x0200 } 2602 -enum : uint { RBS_BANDBORDERS = 0x0400 } 2603 -enum : uint { RBS_FIXEDORDER = 0x0800 } 2604 -enum : uint { RBS_REGISTERDROP = 0x1000 } 2605 -enum : uint { RBS_AUTOSIZE = 0x2000 } 2606 -enum : uint { RBS_VERTICALGRIPPER = 0x4000 } 2607 -enum : uint { RBS_DBLCLKTOGGLE = 0x8000 } 2608 -// #else 2609 -// #... 2610 -// #... 2611 -// #... 2612 -// #... 2613 -// #endif // _WIN32_IE >= 0x0400 2614 - 2615 -struct tagREBARINFO { 2616 - UINT cbSize; 2617 - UINT fMask; 2618 -// #ifndef NOIMAGEAPIS 2619 - HIMAGELIST himl; 2620 -// #else 2621 -// ... 2622 -// #endif 2623 -} 2624 -alias tagREBARINFO REBARINFO; 2625 -alias tagREBARINFO* LPREBARINFO; 2626 - 2627 -enum : uint { RBBS_BREAK = 0x00000001 } 2628 -enum : uint { RBBS_FIXEDSIZE = 0x00000002 } 2629 -enum : uint { RBBS_CHILDEDGE = 0x00000004 } 2630 -enum : uint { RBBS_HIDDEN = 0x00000008 } 2631 -enum : uint { RBBS_NOVERT = 0x00000010 } 2632 -enum : uint { RBBS_FIXEDBMP = 0x00000020 } 2633 -// #if (_WIN32_IE >= 0x0400) // 2634 -enum : uint { RBBS_VARIABLEHEIGHT = 0x00000040 } 2635 -enum : uint { RBBS_GRIPPERALWAYS = 0x00000080 } 2636 -enum : uint { RBBS_NOGRIPPER = 0x00000100 } 2637 -// #if (_WIN32_IE >= 0x0500) // 2638 -enum : uint { RBBS_USECHEVRON = 0x00000200 } 2639 -// #if (_WIN32_IE >= 0x0501) // 2640 -enum : uint { RBBS_HIDETITLE = 0x00000400 } 2641 -enum : uint { RBBS_TOPALIGN = 0x00000800 } 2642 -// #endif // 0x0501 // 2643 -// #endif // 0x0500 // 2644 -// #endif // 0x0400 // 2645 - 2646 -enum : uint { RBBIM_STYLE = 0x00000001 } 2647 -enum : uint { RBBIM_COLORS = 0x00000002 } 2648 -enum : uint { RBBIM_TEXT = 0x00000004 } 2649 -enum : uint { RBBIM_IMAGE = 0x00000008 } 2650 -enum : uint { RBBIM_CHILD = 0x00000010 } 2651 -enum : uint { RBBIM_CHILDSIZE = 0x00000020 } 2652 -enum : uint { RBBIM_SIZE = 0x00000040 } 2653 -enum : uint { RBBIM_BACKGROUND = 0x00000080 } 2654 -enum : uint { RBBIM_ID = 0x00000100 } 2655 -// #if (_WIN32_IE >= 0x0400) 2656 -enum : uint { RBBIM_IDEALSIZE = 0x00000200 } 2657 -enum : uint { RBBIM_LPARAM = 0x00000400 } 2658 -enum : uint { RBBIM_HEADERSIZE = 0x00000800 } 2659 -// #endif 2660 - 2661 -struct tagREBARBANDINFOA { 2662 - UINT cbSize; 2663 - UINT fMask; 2664 - UINT fStyle; 2665 - COLORREF clrFore; 2666 - COLORREF clrBack; 2667 - LPSTR lpText; 2668 - UINT cch; 2669 - int iImage; 2670 - HWND hwndChild; 2671 - UINT cxMinChild; 2672 - UINT cyMinChild; 2673 - UINT cx; 2674 - HBITMAP hbmBack; 2675 - UINT wID; 2676 -// #if (_WIN32_IE >= 0x0400) 2677 - UINT cyChild; 2678 - UINT cyMaxChild; 2679 - UINT cyIntegral; 2680 - UINT cxIdeal; 2681 - LPARAM lParam; 2682 - UINT cxHeader; 2683 -// #endif 2684 -} 2685 -alias tagREBARBANDINFOA REBARBANDINFOA; 2686 -alias tagREBARBANDINFOA* LPREBARBANDINFOA; 2687 - 2688 -alias REBARBANDINFOA* LPCREBARBANDINFOA; 2689 - 2690 -// #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, wID) 2691 -// #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID) 2692 - 2693 -struct tagREBARBANDINFOW { 2694 - UINT cbSize; 2695 - UINT fMask; 2696 - UINT fStyle; 2697 - COLORREF clrFore; 2698 - COLORREF clrBack; 2699 - LPWSTR lpText; 2700 - UINT cch; 2701 - int iImage; 2702 - HWND hwndChild; 2703 - UINT cxMinChild; 2704 - UINT cyMinChild; 2705 - UINT cx; 2706 - HBITMAP hbmBack; 2707 - UINT wID; 2708 -// #if (_WIN32_IE >= 0x0400) 2709 - UINT cyChild; 2710 - UINT cyMaxChild; 2711 - UINT cyIntegral; 2712 - UINT cxIdeal; 2713 - LPARAM lParam; 2714 - UINT cxHeader; 2715 -// #endif 2716 -} 2717 -alias tagREBARBANDINFOW REBARBANDINFOW; 2718 -alias tagREBARBANDINFOW* LPREBARBANDINFOW; 2719 - 2720 -alias REBARBANDINFOW* LPCREBARBANDINFOW; 2721 - 2722 -// #ifdef UNICODE 2723 -// #... 2724 -// #... 2725 -// #... 2726 -// #... 2727 -// #else 2728 -alias REBARBANDINFOA REBARBANDINFO; 2729 -alias LPREBARBANDINFOA LPREBARBANDINFO; 2730 -alias LPCREBARBANDINFOA LPCREBARBANDINFO; 2731 -// #define REBARBANDINFO_V3_SIZE REBARBANDINFOA_V3_SIZE 2732 -// #endif 2733 - 2734 -enum : uint { RB_INSERTBANDA = WM_USER + 1 } 2735 -enum : uint { RB_DELETEBAND = WM_USER + 2 } 2736 -enum : uint { RB_GETBARINFO = WM_USER + 3 } 2737 -enum : uint { RB_SETBARINFO = WM_USER + 4 } 2738 -// #if (_WIN32_IE < 0x0400) 2739 -// #... 2740 -// #endif 2741 -enum : uint { RB_SETBANDINFOA = WM_USER + 6 } 2742 -enum : uint { RB_SETPARENT = WM_USER + 7 } 2743 -// #if (_WIN32_IE >= 0x0400) 2744 -enum : uint { RB_HITTEST = WM_USER + 8 } 2745 -enum : uint { RB_GETRECT = WM_USER + 9 } 2746 -// #endif 2747 -enum : uint { RB_INSERTBANDW = WM_USER + 10 } 2748 -enum : uint { RB_SETBANDINFOW = WM_USER + 11 } 2749 -enum : uint { RB_GETBANDCOUNT = WM_USER + 12 } 2750 -enum : uint { RB_GETROWCOUNT = WM_USER + 13 } 2751 -enum : uint { RB_GETROWHEIGHT = WM_USER + 14 } 2752 -// #if (_WIN32_IE >= 0x0400) 2753 -enum : uint { RB_IDTOINDEX = WM_USER + 16 } 2754 -enum : uint { RB_GETTOOLTIPS = WM_USER + 17 } 2755 -enum : uint { RB_SETTOOLTIPS = WM_USER + 18 } 2756 -enum : uint { RB_SETBKCOLOR = WM_USER + 19 } 2757 -enum : uint { RB_GETBKCOLOR = WM_USER + 20 } 2758 -enum : uint { RB_SETTEXTCOLOR = WM_USER + 21 } 2759 -enum : uint { RB_GETTEXTCOLOR = WM_USER + 22 } 2760 - 2761 -// #if (_WIN32_WINNT >= 0x0501) 2762 -enum : uint { RBSTR_CHANGERECT = 0x0001 } 2763 -// #endif 2764 - 2765 -enum : uint { RB_SIZETORECT = WM_USER + 23 } 2766 -// #endif // _WIN32_IE >= 0x0400 2767 - 2768 -alias CCM_SETCOLORSCHEME RB_SETCOLORSCHEME; 2769 -alias CCM_GETCOLORSCHEME RB_GETCOLORSCHEME; 2770 - 2771 -// #ifdef UNICODE 2772 -// #... 2773 -// #... 2774 -// #else 2775 -alias RB_INSERTBANDA RB_INSERTBAND; 2776 -alias RB_SETBANDINFOA RB_SETBANDINFO; 2777 -// #endif 2778 - 2779 -// #if (_WIN32_IE >= 0x0400) 2780 - 2781 -enum : uint { RB_BEGINDRAG = WM_USER + 24 } 2782 -enum : uint { RB_ENDDRAG = WM_USER + 25 } 2783 -enum : uint { RB_DRAGMOVE = WM_USER + 26 } 2784 -enum : uint { RB_GETBARHEIGHT = WM_USER + 27 } 2785 -enum : uint { RB_GETBANDINFOW = WM_USER + 28 } 2786 -enum : uint { RB_GETBANDINFOA = WM_USER + 29 } 2787 - 2788 -// #ifdef UNICODE 2789 -// #... 2790 -// #else 2791 -alias RB_GETBANDINFOA RB_GETBANDINFO; 2792 -// #endif 2793 - 2794 -enum : uint { RB_MINIMIZEBAND = WM_USER + 30 } 2795 -enum : uint { RB_MAXIMIZEBAND = WM_USER + 31 } 2796 - 2797 -enum : uint { RB_GETDROPTARGET = CCM_GETDROPTARGET } 2798 - 2799 -enum : uint { RB_GETBANDBORDERS = WM_USER + 34 } 2800 - 2801 -enum : uint { RB_SHOWBAND = WM_USER + 35 } 2802 -enum : uint { RB_SETPALETTE = WM_USER + 37 } 2803 -enum : uint { RB_GETPALETTE = WM_USER + 38 } 2804 -enum : uint { RB_MOVEBAND = WM_USER + 39 } 2805 - 2806 -alias CCM_SETUNICODEFORMAT RB_SETUNICODEFORMAT; 2807 -alias CCM_GETUNICODEFORMAT RB_GETUNICODEFORMAT; 2808 - 2809 -// #endif // _WIN32_IE >= 0x0400 2810 - 2811 -// #if (_WIN32_WINNT >= 0x501) 2812 -enum : uint { RB_GETBANDMARGINS = WM_USER + 40 } 2813 -alias CCM_SETWINDOWTHEME RB_SETWINDOWTHEME; 2814 -// #endif 2815 - 2816 -// #if (_WIN32_IE >= 0x0500) 2817 -enum : uint { RB_PUSHCHEVRON = WM_USER + 43 } 2818 -// #endif // _WIN32_IE >= 0x0500 2819 - 2820 -enum : uint { RBN_HEIGHTCHANGE = RBN_FIRST - 0 } 2821 - 2822 -// #if (_WIN32_IE >= 0x0400) 2823 -enum : uint { RBN_GETOBJECT = RBN_FIRST - 1 } 2824 -enum : uint { RBN_LAYOUTCHANGED = RBN_FIRST - 2 } 2825 -enum : uint { RBN_AUTOSIZE = RBN_FIRST - 3 } 2826 -enum : uint { RBN_BEGINDRAG = RBN_FIRST - 4 } 2827 -enum : uint { RBN_ENDDRAG = RBN_FIRST - 5 } 2828 -enum : uint { RBN_DELETINGBAND = RBN_FIRST - 6 } 2829 -enum : uint { RBN_DELETEDBAND = RBN_FIRST - 7 } 2830 -enum : uint { RBN_CHILDSIZE = RBN_FIRST - 8 } 2831 - 2832 -// #if (_WIN32_IE >= 0x0500) 2833 -enum : uint { RBN_CHEVRONPUSHED = RBN_FIRST - 10 } 2834 -// #endif // _WIN32_IE >= 0x0500 2835 - 2836 -// #if (_WIN32_IE >= 0x0500) 2837 -enum : uint { RBN_MINMAX = RBN_FIRST - 21 } 2838 -// #endif 2839 - 2840 -// #if (_WIN32_WINNT >= 0x0501) 2841 -enum : uint { RBN_AUTOBREAK = RBN_FIRST - 22 } 2842 -// #endif 2843 - 2844 -struct tagNMREBARCHILDSIZE { 2845 - NMHDR hdr; 2846 - UINT uBand; 2847 - UINT wID; 2848 - RECT rcChild; 2849 - RECT rcBand; 2850 -} 2851 -alias tagNMREBARCHILDSIZE NMREBARCHILDSIZE; 2852 -alias tagNMREBARCHILDSIZE* LPNMREBARCHILDSIZE; 2853 - 2854 -struct tagNMREBAR { 2855 - NMHDR hdr; 2856 - DWORD dwMask; 2857 - UINT uBand; 2858 - UINT fStyle; 2859 - UINT wID; 2860 - LPARAM lParam; 2861 -} 2862 -alias tagNMREBAR NMREBAR; 2863 -alias tagNMREBAR* LPNMREBAR; 2864 - 2865 -enum : uint { RBNM_ID = 0x00000001 } 2866 -enum : uint { RBNM_STYLE = 0x00000002 } 2867 -enum : uint { RBNM_LPARAM = 0x00000004 } 2868 - 2869 -struct tagNMRBAUTOSIZE { 2870 - NMHDR hdr; 2871 - BOOL fChanged; 2872 - RECT rcTarget; 2873 - RECT rcActual; 2874 -} 2875 -alias tagNMRBAUTOSIZE NMRBAUTOSIZE; 2876 -alias tagNMRBAUTOSIZE* LPNMRBAUTOSIZE; 2877 - 2878 -// #if (_WIN32_IE >= 0x0500) 2879 -struct tagNMREBARCHEVRON { 2880 - NMHDR hdr; 2881 - UINT uBand; 2882 - UINT wID; 2883 - LPARAM lParam; 2884 - RECT rc; 2885 - LPARAM lParamNM; 2886 -} 2887 -alias tagNMREBARCHEVRON NMREBARCHEVRON; 2888 -alias tagNMREBARCHEVRON* LPNMREBARCHEVRON; 2889 - 2890 -// #endif 2891 - 2892 -// #if (_WIN32_WINNT >= 0x0501) 2893 -enum : uint { RBAB_AUTOSIZE = 0x0001 } 2894 -enum : uint { RBAB_ADDBAND = 0x0002 } 2895 - 2896 -struct tagNMREBARAUTOBREAK { 2897 - NMHDR hdr; 2898 - UINT uBand; 2899 - UINT wID; 2900 - LPARAM lParam; 2901 - UINT uMsg; 2902 - UINT fStyleCurrent; 2903 - BOOL fAutoBreak; 2904 -} 2905 -alias tagNMREBARAUTOBREAK NMREBARAUTOBREAK; 2906 -alias tagNMREBARAUTOBREAK* LPNMREBARAUTOBREAK; 2907 - 2908 -// #endif 2909 - 2910 -enum : uint { RBHT_NOWHERE = 0x0001 } 2911 -enum : uint { RBHT_CAPTION = 0x0002 } 2912 -enum : uint { RBHT_CLIENT = 0x0003 } 2913 -enum : uint { RBHT_GRABBER = 0x0004 } 2914 -// #if (_WIN32_IE >= 0x0500) 2915 -enum : uint { RBHT_CHEVRON = 0x0008 } 2916 -// #endif 2917 - 2918 -struct _RB_HITTESTINFO { 2919 - POINT pt; 2920 - UINT flags; 2921 - int iBand; 2922 -} 2923 -alias _RB_HITTESTINFO RBHITTESTINFO; 2924 -alias _RB_HITTESTINFO* LPRBHITTESTINFO; 2925 - 2926 -// #endif // _WIN32_IE >= 0x0400 2927 - 2928 -// #endif // NOREBAR 2929 - 2930 -// #endif // _WIN32_IE >= 0x0300 2931 - 2932 -// #ifndef NOTOOLTIPS 2933 - 2934 -// #ifdef _WIN32 2935 - 2936 -const wchar[] TOOLTIPS_CLASSW = "tooltips_class32"; 2937 -const char[] TOOLTIPS_CLASSA = "tooltips_class32"; 2938 - 2939 -// #ifdef UNICODE 2940 -// #... 2941 -// #else 2942 -alias TOOLTIPS_CLASSA TOOLTIPS_CLASS; 2943 -// #endif 2944 - 2945 -// #else 2946 -// #... 2947 -// #endif 2948 - 2949 -// #if (_WIN32_IE >= 0x0300) 2950 -alias LPTTTOOLINFOA LPTOOLINFOA; 2951 -alias LPTTTOOLINFOW LPTOOLINFOW; 2952 -alias TTTOOLINFOA TOOLINFOA; 2953 -alias TTTOOLINFOW TOOLINFOW; 2954 -// #else 2955 -// #... 2956 -// #... 2957 -// #... 2958 -// #... 2959 -// #endif 2960 - 2961 -alias LPTTTOOLINFO LPTOOLINFO; 2962 -alias TTTOOLINFO TOOLINFO; 2963 - 2964 -// #define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText) 2965 -// #define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText) 2966 -// #define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam) 2967 -// #define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam) 2968 -// #define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved) 2969 -// #define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved) 2970 - 2971 -struct tagTOOLINFOA { 2972 - UINT cbSize; 2973 - UINT uFlags; 2974 - HWND hwnd; 2975 - UINT_PTR uId; 2976 - RECT rect; 2977 - HINSTANCE hinst; 2978 - LPSTR lpszText; 2979 -// #if (_WIN32_IE >= 0x0300) 2980 - LPARAM lParam; 2981 -// #endif 2982 -// #if (_WIN32_WINNT >= 0x0501) 2983 - void *lpReserved; 2984 -// #endif 2985 -} 2986 -alias tagTOOLINFOA TTTOOLINFOA; 2987 -alias tagTOOLINFOA* PTOOLINFOA; 2988 -alias tagTOOLINFOA* LPTTTOOLINFOA; 2989 - 2990 -struct tagTOOLINFOW { 2991 - UINT cbSize; 2992 - UINT uFlags; 2993 - HWND hwnd; 2994 - UINT_PTR uId; 2995 - RECT rect; 2996 - HINSTANCE hinst; 2997 - LPWSTR lpszText; 2998 -// #if (_WIN32_IE >= 0x0300) 2999 - LPARAM lParam; 3000 -// #endif 3001 -// #if (_WIN32_WINNT >= 0x0501) 3002 - void *lpReserved; 3003 -// #endif 3004 -} 3005 -alias tagTOOLINFOW TTTOOLINFOW; 3006 -alias tagTOOLINFOW* PTOOLINFOW; 3007 -alias tagTOOLINFOW* LPTTTOOLINFOW; 3008 - 3009 -// #ifdef UNICODE 3010 -// #... 3011 -// #... 3012 -// #... 3013 -// #... 3014 -// #else 3015 -alias PTOOLINFOA PTOOLINFO; 3016 -alias TTTOOLINFOA TTTOOLINFO; 3017 -alias LPTTTOOLINFOA LPTTTOOLINFO; 3018 -// #define TTTOOLINFO_V1_SIZE TTTOOLINFOA_V1_SIZE 3019 -// #endif 3020 - 3021 -enum : uint { TTS_ALWAYSTIP = 0x01 } 3022 -enum : uint { TTS_NOPREFIX = 0x02 } 3023 -// #if (_WIN32_IE >= 0x0500) 3024 -enum : uint { TTS_NOANIMATE = 0x10 } 3025 -enum : uint { TTS_NOFADE = 0x20 } 3026 -enum : uint { TTS_BALLOON = 0x40 } 3027 -enum : uint { TTS_CLOSE = 0x80 } 3028 -// #endif 3029 - 3030 -enum : uint { TTF_IDISHWND = 0x0001 } 3031 - 3032 -enum : uint { TTF_CENTERTIP = 0x0002 } 3033 -enum : uint { TTF_RTLREADING = 0x0004 } 3034 -enum : uint { TTF_SUBCLASS = 0x0010 } 3035 -// #if (_WIN32_IE >= 0x0300) 3036 -enum : uint { TTF_TRACK = 0x0020 } 3037 -enum : uint { TTF_ABSOLUTE = 0x0080 } 3038 -enum : uint { TTF_TRANSPARENT = 0x0100 } 3039 -// #if (_WIN32_IE >= 0x0501) 3040 -enum : uint { TTF_PARSELINKS = 0x1000 } 3041 -// #endif // _WIN32_IE >= 0x0501 3042 -enum : uint { TTF_DI_SETITEM = 0x8000 } 3043 -// #endif // _WIN32_IE >= 0x0300 3044 - 3045 -enum : uint { TTDT_AUTOMATIC = 0 } 3046 -enum : uint { TTDT_RESHOW = 1 } 3047 -enum : uint { TTDT_AUTOPOP = 2 } 3048 -enum : uint { TTDT_INITIAL = 3 } 3049 - 3050 -enum : uint { TTI_NONE = 0 } 3051 -enum : uint { TTI_INFO = 1 } 3052 -enum : uint { TTI_WARNING = 2 } 3053 -enum : uint { TTI_ERROR = 3 } 3054 - 3055 -enum : uint { TTM_ACTIVATE = WM_USER + 1 } 3056 -enum : uint { TTM_SETDELAYTIME = WM_USER + 3 } 3057 -enum : uint { TTM_ADDTOOLA = WM_USER + 4 } 3058 -enum : uint { TTM_ADDTOOLW = WM_USER + 50 } 3059 -enum : uint { TTM_DELTOOLA = WM_USER + 5 } 3060 -enum : uint { TTM_DELTOOLW = WM_USER + 51 } 3061 -enum : uint { TTM_NEWTOOLRECTA = WM_USER + 6 } 3062 -enum : uint { TTM_NEWTOOLRECTW = WM_USER + 52 } 3063 -enum : uint { TTM_RELAYEVENT = WM_USER + 7 } 3064 - 3065 -enum : uint { TTM_GETTOOLINFOA = WM_USER + 8 } 3066 -enum : uint { TTM_GETTOOLINFOW = WM_USER + 53 } 3067 - 3068 -enum : uint { TTM_SETTOOLINFOA = WM_USER + 9 } 3069 -enum : uint { TTM_SETTOOLINFOW = WM_USER + 54 } 3070 - 3071 -enum : uint { TTM_HITTESTA = WM_USER +10 } 3072 -enum : uint { TTM_HITTESTW = WM_USER +55 } 3073 -enum : uint { TTM_GETTEXTA = WM_USER +11 } 3074 -enum : uint { TTM_GETTEXTW = WM_USER +56 } 3075 -enum : uint { TTM_UPDATETIPTEXTA = WM_USER +12 } 3076 -enum : uint { TTM_UPDATETIPTEXTW = WM_USER +57 } 3077 -enum : uint { TTM_GETTOOLCOUNT = WM_USER +13 } 3078 -enum : uint { TTM_ENUMTOOLSA = WM_USER +14 } 3079 -enum : uint { TTM_ENUMTOOLSW = WM_USER +58 } 3080 -enum : uint { TTM_GETCURRENTTOOLA = WM_USER + 15 } 3081 -enum : uint { TTM_GETCURRENTTOOLW = WM_USER + 59 } 3082 -enum : uint { TTM_WINDOWFROMPOINT = WM_USER + 16 } 3083 -// #if (_WIN32_IE >= 0x0300) 3084 -enum : uint { TTM_TRACKACTIVATE = WM_USER + 17 } 3085 -enum : uint { TTM_TRACKPOSITION = WM_USER + 18 } 3086 -enum : uint { TTM_SETTIPBKCOLOR = WM_USER + 19 } 3087 -enum : uint { TTM_SETTIPTEXTCOLOR = WM_USER + 20 } 3088 -enum : uint { TTM_GETDELAYTIME = WM_USER + 21 } 3089 -enum : uint { TTM_GETTIPBKCOLOR = WM_USER + 22 } 3090 -enum : uint { TTM_GETTIPTEXTCOLOR = WM_USER + 23 } 3091 -enum : uint { TTM_SETMAXTIPWIDTH = WM_USER + 24 } 3092 -enum : uint { TTM_GETMAXTIPWIDTH = WM_USER + 25 } 3093 -enum : uint { TTM_SETMARGIN = WM_USER + 26 } 3094 -enum : uint { TTM_GETMARGIN = WM_USER + 27 } 3095 -enum : uint { TTM_POP = WM_USER + 28 } 3096 -// #endif 3097 -// #if (_WIN32_IE >= 0x0400) 3098 -enum : uint { TTM_UPDATE = WM_USER + 29 } 3099 -// #endif 3100 -// #if (_WIN32_IE >= 0x0500) 3101 -enum : uint { TTM_GETBUBBLESIZE = WM_USER + 30 } 3102 -enum : uint { TTM_ADJUSTRECT = WM_USER + 31 } 3103 -enum : uint { TTM_SETTITLEA = WM_USER + 32 } 3104 -enum : uint { TTM_SETTITLEW = WM_USER + 33 } 3105 -// #endif 3106 - 3107 -// #if (_WIN32_WINNT >= 0x0501) 3108 -enum : uint { TTM_POPUP = WM_USER + 34 } 3109 -enum : uint { TTM_GETTITLE = WM_USER + 35 } 3110 - 3111 -struct _TTGETTITLE { 3112 - DWORD dwSize; 3113 - UINT uTitleBitmap; 3114 - UINT cch; 3115 - WCHAR * pszTitle; 3116 -} 3117 -alias _TTGETTITLE TTGETTITLE; 3118 -alias _TTGETTITLE* PTTGETTITLE; 3119 - 3120 -// #endif 3121 - 3122 -// #ifdef UNICODE 3123 -// #... 3124 -// #... 3125 -// #... 3126 -// #... 3127 -// #... 3128 -// #... 3129 -// #... 3130 -// #... 3131 -// #... 3132 -// #... 3133 -// #if (_WIN32_IE >= 0x0500) 3134 -// #... 3135 -// #endif 3136 -// #else 3137 -alias TTM_ADDTOOLA TTM_ADDTOOL; 3138 -alias TTM_DELTOOLA TTM_DELTOOL; 3139 -alias TTM_NEWTOOLRECTA TTM_NEWTOOLRECT; 3140 -alias TTM_GETTOOLINFOA TTM_GETTOOLINFO; 3141 -alias TTM_SETTOOLINFOA TTM_SETTOOLINFO; 3142 -alias TTM_HITTESTA TTM_HITTEST; 3143 -alias TTM_GETTEXTA TTM_GETTEXT; 3144 -alias TTM_UPDATETIPTEXTA TTM_UPDATETIPTEXT; 3145 -alias TTM_ENUMTOOLSA TTM_ENUMTOOLS; 3146 -alias TTM_GETCURRENTTOOLA TTM_GETCURRENTTOOL; 3147 -// #if (_WIN32_IE >= 0x0500) 3148 -alias TTM_SETTITLEA TTM_SETTITLE; 3149 -// #endif 3150 -// #endif 3151 - 3152 -// #if (_WIN32_WINNT >= 0x501) 3153 -alias CCM_SETWINDOWTHEME TTM_SETWINDOWTHEME; 3154 -// #endif 3155 - 3156 -// #if (_WIN32_IE >= 0x0300) 3157 -alias LPTTHITTESTINFOW LPHITTESTINFOW; 3158 -alias LPTTHITTESTINFOA LPHITTESTINFOA; 3159 -// #else 3160 -// #... 3161 -// #... 3162 -// #endif 3163 - 3164 -alias LPTTHITTESTINFO LPHITTESTINFO; 3165 - 3166 -struct _TT_HITTESTINFOA { 3167 - HWND hwnd; 3168 - POINT pt; 3169 - TTTOOLINFOA ti; 3170 -} 3171 -alias _TT_HITTESTINFOA TTHITTESTINFOA; 3172 -alias _TT_HITTESTINFOA* LPTTHITTESTINFOA; 3173 - 3174 -struct _TT_HITTESTINFOW { 3175 - HWND hwnd; 3176 - POINT pt; 3177 - TTTOOLINFOW ti; 3178 -} 3179 -alias _TT_HITTESTINFOW TTHITTESTINFOW; 3180 -alias _TT_HITTESTINFOW* LPTTHITTESTINFOW; 3181 - 3182 -// #ifdef UNICODE 3183 -// #... 3184 -// #... 3185 -// #else 3186 -alias TTHITTESTINFOA TTHITTESTINFO; 3187 -alias LPTTHITTESTINFOA LPTTHITTESTINFO; 3188 -// #endif 3189 - 3190 -enum : uint { TTN_GETDISPINFOA = TTN_FIRST - 0 } 3191 -enum : uint { TTN_GETDISPINFOW = TTN_FIRST - 10 } 3192 -enum : uint { TTN_SHOW = TTN_FIRST - 1 } 3193 -enum : uint { TTN_POP = TTN_FIRST - 2 } 3194 -enum : uint { TTN_LINKCLICK = TTN_FIRST - 3 } 3195 - 3196 -// #ifdef UNICODE 3197 -// #... 3198 -// #else 3199 -alias TTN_GETDISPINFOA TTN_GETDISPINFO; 3200 -// #endif 3201 - 3202 -alias TTN_GETDISPINFO TTN_NEEDTEXT; 3203 -alias TTN_GETDISPINFOA TTN_NEEDTEXTA; 3204 -alias TTN_GETDISPINFOW TTN_NEEDTEXTW; 3205 - 3206 -// #if (_WIN32_IE >= 0x0300) 3207 -alias NMTTDISPINFOW TOOLTIPTEXTW; 3208 -alias NMTTDISPINFOA TOOLTIPTEXTA; 3209 -alias LPNMTTDISPINFOA LPTOOLTIPTEXTA; 3210 -alias LPNMTTDISPINFOW LPTOOLTIPTEXTW; 3211 -// #else 3212 -// #... 3213 -// #... 3214 -// #... 3215 -// #... 3216 -// #... 3217 -// #... 3218 -// #endif 3219 - 3220 -alias NMTTDISPINFO TOOLTIPTEXT; 3221 -alias LPNMTTDISPINFO LPTOOLTIPTEXT; 3222 - 3223 -// #define NMTTDISPINFOA_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOA, uFlags) 3224 -// #define NMTTDISPINFOW_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOW, uFlags) 3225 - 3226 -struct tagNMTTDISPINFOA { 3227 - NMHDR hdr; 3228 - LPSTR lpszText; 3229 - char szText[80]; 3230 - HINSTANCE hinst; 3231 - UINT uFlags; 3232 -// #if (_WIN32_IE >= 0x0300) 3233 - LPARAM lParam; 3234 -// #endif 3235 -} 3236 -alias tagNMTTDISPINFOA NMTTDISPINFOA; 3237 -alias tagNMTTDISPINFOA* LPNMTTDISPINFOA; 3238 - 3239 -struct tagNMTTDISPINFOW { 3240 - NMHDR hdr; 3241 - LPWSTR lpszText; 3242 - WCHAR szText[80]; 3243 - HINSTANCE hinst; 3244 - UINT uFlags; 3245 -// #if (_WIN32_IE >= 0x0300) 3246 - LPARAM lParam; 3247 -// #endif 3248 -} 3249 -alias tagNMTTDISPINFOW NMTTDISPINFOW; 3250 -alias tagNMTTDISPINFOW* LPNMTTDISPINFOW; 3251 - 3252 -// #ifdef UNICODE 3253 -// #... 3254 -// #... 3255 -// #... 3256 -// #else 3257 -alias NMTTDISPINFOA NMTTDISPINFO; 3258 -alias LPNMTTDISPINFOA LPNMTTDISPINFO; 3259 -// #define NMTTDISPINFO_V1_SIZE NMTTDISPINFOA_V1_SIZE 3260 -// #endif 3261 - 3262 -// #endif // NOTOOLTIPS 3263 - 3264 -// #ifndef NOSTATUSBAR 3265 - 3266 -enum : uint { SBARS_SIZEGRIP = 0x0100 } 3267 -// #if (_WIN32_IE >= 0x0500) 3268 -enum : uint { SBARS_TOOLTIPS = 0x0800 } 3269 -// #endif 3270 - 3271 -// #if (_WIN32_IE >= 0x0400) 3272 - 3273 -enum : uint { SBT_TOOLTIPS = 0x0800 } 3274 -// #endif 3275 - 3276 -extern(Windows) export void DrawStatusTextA(HDC hDC, LPRECT lprc, LPCSTR pszText, UINT uFlags); 3277 -extern(Windows) export void DrawStatusTextW(HDC hDC, LPRECT lprc, LPCWSTR pszText, UINT uFlags); 3278 - 3279 -extern(Windows) export HWND CreateStatusWindowA(LONG style, LPCSTR lpszText, HWND hwndParent, UINT wID); 3280 -extern(Windows) export HWND CreateStatusWindowW(LONG style, LPCWSTR lpszText, HWND hwndParent, UINT wID); 3281 - 3282 -// #ifdef UNICODE 3283 -// #... 3284 -// #... 3285 -// #else 3286 -alias CreateStatusWindowA CreateStatusWindow; 3287 -alias DrawStatusTextA DrawStatusText; 3288 -// #endif 3289 - 3290 -// #ifdef _WIN32 3291 -const wchar[] STATUSCLASSNAMEW = "msctls_statusbar32"; 3292 -const char[] STATUSCLASSNAMEA = "msctls_statusbar32"; 3293 - 3294 -// #ifdef UNICODE 3295 -// #... 3296 -// #else 3297 -alias STATUSCLASSNAMEA STATUSCLASSNAME; 3298 -// #endif 3299 - 3300 -// #else 3301 -// #... 3302 -// #endif 3303 - 3304 -enum : uint { SB_SETTEXTA = WM_USER+1 } 3305 -enum : uint { SB_SETTEXTW = WM_USER+11 } 3306 -enum : uint { SB_GETTEXTA = WM_USER+2 } 3307 -enum : uint { SB_GETTEXTW = WM_USER+13 } 3308 -enum : uint { SB_GETTEXTLENGTHA = WM_USER+3 } 3309 -enum : uint { SB_GETTEXTLENGTHW = WM_USER+12 } 3310 - 3311 -// #ifdef UNICODE 3312 -// #... 3313 -// #... 3314 -// #... 3315 -// #if (_WIN32_IE >= 0x0400) 3316 -// #... 3317 -// #... 3318 -// #endif 3319 -// #else 3320 -alias SB_GETTEXTA SB_GETTEXT; 3321 -alias SB_SETTEXTA SB_SETTEXT; 3322 -alias SB_GETTEXTLENGTHA SB_GETTEXTLENGTH; 3323 -// #if (_WIN32_IE >= 0x0400) 3324 -alias SB_SETTIPTEXTA SB_SETTIPTEXT; 3325 -alias SB_GETTIPTEXTA SB_GETTIPTEXT; 3326 -// #endif 3327 -// #endif 3328 - 3329 -enum : uint { SB_SETPARTS = WM_USER+4 } 3330 -enum : uint { SB_GETPARTS = WM_USER+6 } 3331 -enum : uint { SB_GETBORDERS = WM_USER+7 } 3332 -enum : uint { SB_SETMINHEIGHT = WM_USER+8 } 3333 -enum : uint { SB_SIMPLE = WM_USER+9 } 3334 -enum : uint { SB_GETRECT = WM_USER+10 } 3335 -// #if (_WIN32_IE >= 0x0300) 3336 -enum : uint { SB_ISSIMPLE = WM_USER+14 } 3337 -// #endif 3338 -// #if (_WIN32_IE >= 0x0400) 3339 -enum : uint { SB_SETICON = WM_USER+15 } 3340 -// #define SB_SETTIPTEXTA (WM_USER+16) 3341 -// #define SB_SETTIPTEXTW (WM_USER+17) 3342 -// #define SB_GETTIPTEXTA (WM_USER+18) 3343 -// #define SB_GETTIPTEXTW (WM_USER+19) 3344 -enum : uint { SB_GETICON = WM_USER+20 } 3345 -alias CCM_SETUNICODEFORMAT SB_SETUNICODEFORMAT; 3346 -alias CCM_GETUNICODEFORMAT SB_GETUNICODEFORMAT; 3347 -// #endif 3348 - 3349 -enum : uint { SBT_OWNERDRAW = 0x1000 } 3350 -enum : uint { SBT_NOBORDERS = 0x0100 } 3351 -enum : uint { SBT_POPOUT = 0x0200 } 3352 -enum : uint { SBT_RTLREADING = 0x0400 } 3353 -// #if (_WIN32_IE >= 0x0500) 3354 -enum : uint { SBT_NOTABPARSING = 0x0800 } 3355 -// #endif 3356 - 3357 -alias CCM_SETBKCOLOR SB_SETBKCOLOR; 3358 - 3359 -// #if (_WIN32_IE >= 0x0400) 3360 -enum : uint { SBN_SIMPLEMODECHANGE = SBN_FIRST - 0 } 3361 -// #endif 3362 - 3363 -// #if (_WIN32_IE >= 0x0500) 3364 - 3365 -enum : uint { SB_SIMPLEID = 0x00ff } 3366 -// #endif 3367 - 3368 -// #endif // NOSTATUSBAR 3369 - 3370 -// #ifndef NOMENUHELP 3371 - 3372 -extern(Windows) export void MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HMENU hMainMenu, HINSTANCE hInst, HWND hwndStatus, UINT *lpwIDs); 3373 -extern(Windows) export BOOL ShowHideMenuCtl(HWND hWnd, UINT_PTR uFlags, LPINT lpInfo); 3374 -extern(Windows) export void GetEffectiveClientRect(HWND hWnd, LPRECT lprc, LPINT lpInfo); 3375 - 3376 -alias SC_SIZE MINSYSCOMMAND; 3377 - 3378 -// #endif 3379 - 3380 -// #ifndef NOTRACKBAR 3381 - 3382 -// #ifdef _WIN32 3383 - 3384 -const char[] TRACKBAR_CLASSA = "msctls_trackbar32"; 3385 -const wchar[] TRACKBAR_CLASSW = "msctls_trackbar32"; 3386 - 3387 -// #ifdef UNICODE 3388 -// #... 3389 -// #else 3390 -alias TRACKBAR_CLASSA TRACKBAR_CLASS; 3391 -// #endif 3392 - 3393 -// #else 3394 -// #... 3395 -// #endif 3396 - 3397 -enum : uint { TBS_AUTOTICKS = 0x0001 } 3398 -enum : uint { TBS_VERT = 0x0002 } 3399 -enum : uint { TBS_HORZ = 0x0000 } 3400 -enum : uint { TBS_TOP = 0x0004 } 3401 -enum : uint { TBS_BOTTOM = 0x0000 } 3402 -enum : uint { TBS_LEFT = 0x0004 } 3403 -enum : uint { TBS_RIGHT = 0x0000 } 3404 -enum : uint { TBS_BOTH = 0x0008 } 3405 -enum : uint { TBS_NOTICKS = 0x0010 } 3406 -enum : uint { TBS_ENABLESELRANGE = 0x0020 } 3407 -enum : uint { TBS_FIXEDLENGTH = 0x0040 } 3408 -enum : uint { TBS_NOTHUMB = 0x0080 } 3409 -// #if (_WIN32_IE >= 0x0300) 3410 -enum : uint { TBS_TOOLTIPS = 0x0100 } 3411 -// #endif 3412 -// #if (_WIN32_IE >= 0x0500) 3413 -enum : uint { TBS_REVERSED = 0x0200 } 3414 -// #endif 3415 - 3416 -// #if (_WIN32_IE >= 0x0501) 3417 -enum : uint { TBS_DOWNISLEFT = 0x0400 } 3418 -// #endif 3419 - 3420 -enum : uint { TBM_GETPOS = WM_USER } 3421 -enum : uint { TBM_GETRANGEMIN = WM_USER+1 } 3422 -enum : uint { TBM_GETRANGEMAX = WM_USER+2 } 3423 -enum : uint { TBM_GETTIC = WM_USER+3 } 3424 -enum : uint { TBM_SETTIC = WM_USER+4 } 3425 -enum : uint { TBM_SETPOS = WM_USER+5 } 3426 -enum : uint { TBM_SETRANGE = WM_USER+6 } 3427 -enum : uint { TBM_SETRANGEMIN = WM_USER+7 } 3428 -enum : uint { TBM_SETRANGEMAX = WM_USER+8 } 3429 -enum : uint { TBM_CLEARTICS = WM_USER+9 } 3430 -enum : uint { TBM_SETSEL = WM_USER+10 } 3431 -enum : uint { TBM_SETSELSTART = WM_USER+11 } 3432 -enum : uint { TBM_SETSELEND = WM_USER+12 } 3433 -enum : uint { TBM_GETPTICS = WM_USER+14 } 3434 -enum : uint { TBM_GETTICPOS = WM_USER+15 } 3435 -enum : uint { TBM_GETNUMTICS = WM_USER+16 } 3436 -enum : uint { TBM_GETSELSTART = WM_USER+17 } 3437 -enum : uint { TBM_GETSELEND = WM_USER+18 } 3438 -enum : uint { TBM_CLEARSEL = WM_USER+19 } 3439 -enum : uint { TBM_SETTICFREQ = WM_USER+20 } 3440 -enum : uint { TBM_SETPAGESIZE = WM_USER+21 } 3441 -enum : uint { TBM_GETPAGESIZE = WM_USER+22 } 3442 -enum : uint { TBM_SETLINESIZE = WM_USER+23 } 3443 -enum : uint { TBM_GETLINESIZE = WM_USER+24 } 3444 -enum : uint { TBM_GETTHUMBRECT = WM_USER+25 } 3445 -enum : uint { TBM_GETCHANNELRECT = WM_USER+26 } 3446 -enum : uint { TBM_SETTHUMBLENGTH = WM_USER+27 } 3447 -enum : uint { TBM_GETTHUMBLENGTH = WM_USER+28 } 3448 -// #if (_WIN32_IE >= 0x0300) 3449 -enum : uint { TBM_SETTOOLTIPS = WM_USER+29 } 3450 -enum : uint { TBM_GETTOOLTIPS = WM_USER+30 } 3451 -enum : uint { TBM_SETTIPSIDE = WM_USER+31 } 3452 - 3453 -enum : uint { TBTS_TOP = 0 } 3454 -enum : uint { TBTS_LEFT = 1 } 3455 -enum : uint { TBTS_BOTTOM = 2 } 3456 -enum : uint { TBTS_RIGHT = 3 } 3457 - 3458 -enum : uint { TBM_SETBUDDY = WM_USER+32 } 3459 -enum : uint { TBM_GETBUDDY = WM_USER+33 } 3460 -// #endif 3461 -// #if (_WIN32_IE >= 0x0400) 3462 -alias CCM_SETUNICODEFORMAT TBM_SETUNICODEFORMAT; 3463 -alias CCM_GETUNICODEFORMAT TBM_GETUNICODEFORMAT; 3464 -// #endif 3465 - 3466 -enum : uint { TB_LINEUP = 0 } 3467 -enum : uint { TB_LINEDOWN = 1 } 3468 -enum : uint { TB_PAGEUP = 2 } 3469 -enum : uint { TB_PAGEDOWN = 3 } 3470 -enum : uint { TB_THUMBPOSITION = 4 } 3471 -enum : uint { TB_THUMBTRACK = 5 } 3472 -enum : uint { TB_TOP = 6 } 3473 -enum : uint { TB_BOTTOM = 7 } 3474 -enum : uint { TB_ENDTRACK = 8 } 3475 - 3476 -// #if (_WIN32_IE >= 0x0300) 3477 - 3478 -enum : uint { TBCD_TICS = 0x0001 } 3479 -enum : uint { TBCD_THUMB = 0x0002 } 3480 -enum : uint { TBCD_CHANNEL = 0x0003 } 3481 -// #endif 3482 - 3483 -// #endif // trackbar 3484 - 3485 -// #ifndef NODRAGLIST 3486 - 3487 -struct tagDRAGLISTINFO { 3488 - UINT uNotification; 3489 - HWND hWnd; 3490 - POINT ptCursor; 3491 -} 3492 -alias tagDRAGLISTINFO DRAGLISTINFO; 3493 -alias tagDRAGLISTINFO* LPDRAGLISTINFO; 3494 - 3495 -enum : uint { DL_BEGINDRAG = WM_USER+133 } 3496 -enum : uint { DL_DRAGGING = WM_USER+134 } 3497 -enum : uint { DL_DROPPED = WM_USER+135 } 3498 -enum : uint { DL_CANCELDRAG = WM_USER+136 } 3499 - 3500 -enum : uint { DL_CURSORSET = 0 } 3501 -enum : uint { DL_STOPCURSOR = 1 } 3502 -enum : uint { DL_COPYCURSOR = 2 } 3503 -enum : uint { DL_MOVECURSOR = 3 } 3504 - 3505 -const TCHAR[] DRAGLISTMSGSTRING = "commctrl_DragListMsg"; 3506 - 3507 -extern(Windows) export BOOL MakeDragList(HWND hLB); 3508 -extern(Windows) export void DrawInsert(HWND handParent, HWND hLB, int nItem); 3509 - 3510 -extern(Windows) export int LBItemFromPt(HWND hLB, POINT pt, BOOL bAutoScroll); 3511 - 3512 -// #endif 3513 - 3514 -// #ifndef NOUPDOWN 3515 - 3516 -// #ifdef _WIN32 3517 - 3518 -const char[] UPDOWN_CLASSA = "msctls_updown32"; 3519 -const wchar[] UPDOWN_CLASSW = "msctls_updown32"; 3520 - 3521 -// #ifdef UNICODE 3522 -// #... 3523 -// #else 3524 -alias UPDOWN_CLASSA UPDOWN_CLASS; 3525 -// #endif 3526 - 3527 -// #else 3528 -// #... 3529 -// #endif 3530 - 3531 -struct _UDACCEL { 3532 - UINT nSec; 3533 - UINT nInc; 3534 -} 3535 -alias _UDACCEL UDACCEL; 3536 -alias _UDACCEL* LPUDACCEL; 3537 - 3538 -enum : uint { UD_MAXVAL = 0x7fff } 3539 -enum : uint { UD_MINVAL = -UD_MAXVAL } 3540 - 3541 -enum : uint { UDS_WRAP = 0x0001 } 3542 -enum : uint { UDS_SETBUDDYINT = 0x0002 } 3543 -enum : uint { UDS_ALIGNRIGHT = 0x0004 } 3544 -enum : uint { UDS_ALIGNLEFT = 0x0008 } 3545 -enum : uint { UDS_AUTOBUDDY = 0x0010 } 3546 -enum : uint { UDS_ARROWKEYS = 0x0020 } 3547 -enum : uint { UDS_HORZ = 0x0040 } 3548 -enum : uint { UDS_NOTHOUSANDS = 0x0080 } 3549 -// #if (_WIN32_IE >= 0x0300) 3550 -enum : uint { UDS_HOTTRACK = 0x0100 } 3551 -// #endif 3552 - 3553 -enum : uint { UDM_SETRANGE = WM_USER+101 } 3554 -enum : uint { UDM_GETRANGE = WM_USER+102 } 3555 -enum : uint { UDM_SETPOS = WM_USER+103 } 3556 -enum : uint { UDM_GETPOS = WM_USER+104 } 3557 -enum : uint { UDM_SETBUDDY = WM_USER+105 } 3558 -enum : uint { UDM_GETBUDDY = WM_USER+106 } 3559 -enum : uint { UDM_SETACCEL = WM_USER+107 } 3560 -enum : uint { UDM_GETACCEL = WM_USER+108 } 3561 -enum : uint { UDM_SETBASE = WM_USER+109 } 3562 -enum : uint { UDM_GETBASE = WM_USER+110 } 3563 -// #if (_WIN32_IE >= 0x0400) 3564 -enum : uint { UDM_SETRANGE32 = WM_USER+111 } 3565 -enum : uint { UDM_GETRANGE32 = WM_USER+112 } 3566 -alias CCM_SETUNICODEFORMAT UDM_SETUNICODEFORMAT; 3567 -alias CCM_GETUNICODEFORMAT UDM_GETUNICODEFORMAT; 3568 -// #endif 3569 -// #if (_WIN32_IE >= 0x0500) 3570 -enum : uint { UDM_SETPOS32 = WM_USER+113 } 3571 -enum : uint { UDM_GETPOS32 = WM_USER+114 } 3572 -// #endif 3573 - 3574 -extern(Windows) export HWND CreateUpDownControl(DWORD dwStyle, int x, int y, int cx, int cy, 3575 - HWND hParent, int nID, HINSTANCE hInst, 3576 - HWND hBuddy, 3577 - int nUpper, int nLower, int nPos); 3578 - 3579 -// #if (_WIN32_IE >= 0x0300) 3580 -alias NMUPDOWN NM_UPDOWN; 3581 -alias LPNMUPDOWN LPNM_UPDOWN; 3582 -// #else 3583 -// #... 3584 -// #... 3585 -// #endif 3586 - 3587 -struct _NM_UPDOWN { 3588 - NMHDR hdr; 3589 - int iPos; 3590 - int iDelta; 3591 -} 3592 -alias _NM_UPDOWN NMUPDOWN; 3593 -alias _NM_UPDOWN* LPNMUPDOWN; 3594 - 3595 -enum : uint { UDN_DELTAPOS = UDN_FIRST - 1 } 3596 - 3597 -// #endif // NOUPDOWN 3598 - 3599 -// #ifndef NOPROGRESS 3600 - 3601 -// #ifdef _WIN32 3602 - 3603 -const char[] PROGRESS_CLASSA = "msctls_progress32"; 3604 -const wchar[] PROGRESS_CLASSW = "msctls_progress32"; 3605 - 3606 -// #ifdef UNICODE 3607 -// #... 3608 -// #else 3609 -alias PROGRESS_CLASSA PROGRESS_CLASS; 3610 -// #endif 3611 - 3612 -// #else 3613 -// #... 3614 -// #endif 3615 - 3616 -// #if (_WIN32_IE >= 0x0300) 3617 -enum : uint { PBS_SMOOTH = 0x01 } 3618 -enum : uint { PBS_VERTICAL = 0x04 } 3619 -// #endif 3620 - 3621 -enum : uint { PBM_SETRANGE = WM_USER+1 } 3622 -enum : uint { PBM_SETPOS = WM_USER+2 } 3623 -enum : uint { PBM_DELTAPOS = WM_USER+3 } 3624 -enum : uint { PBM_SETSTEP = WM_USER+4 } 3625 -enum : uint { PBM_STEPIT = WM_USER+5 } 3626 -// #if (_WIN32_IE >= 0x0300) 3627 -enum : uint { PBM_SETRANGE32 = WM_USER+6 } 3628 -struct _7 { 3629 - int iLow; 3630 - int iHigh; 3631 -} 3632 -alias _7 PBRANGE; 3633 -alias _7* PPBRANGE; 3634 - 3635 -enum : uint { PBM_GETRANGE = WM_USER+7 } 3636 -enum : uint { PBM_GETPOS = WM_USER+8 } 3637 -// #if (_WIN32_IE >= 0x0400) 3638 -enum : uint { PBM_SETBARCOLOR = WM_USER+9 } 3639 -// #endif // _WIN32_IE >= 0x0400 3640 -alias CCM_SETBKCOLOR PBM_SETBKCOLOR; 3641 -// #endif // _WIN32_IE >= 0x0300 3642 - 3643 -// #endif // NOPROGRESS 3644 - 3645 -// #ifndef NOHOTKEY 3646 - 3647 -enum : uint { HOTKEYF_SHIFT = 0x01 } 3648 -enum : uint { HOTKEYF_CONTROL = 0x02 } 3649 -enum : uint { HOTKEYF_ALT = 0x04 } 3650 -// #ifdef _MAC 3651 -// #... 3652 -// #else 3653 -enum : uint { HOTKEYF_EXT = 0x08 } 3654 -// #endif 3655 - 3656 -enum : uint { HKCOMB_NONE = 0x0001 } 3657 -enum : uint { HKCOMB_S = 0x0002 } 3658 -enum : uint { HKCOMB_C = 0x0004 } 3659 -enum : uint { HKCOMB_A = 0x0008 } 3660 -enum : uint { HKCOMB_SC = 0x0010 } 3661 -enum : uint { HKCOMB_SA = 0x0020 } 3662 -enum : uint { HKCOMB_CA = 0x0040 } 3663 -enum : uint { HKCOMB_SCA = 0x0080 } 3664 - 3665 -enum : uint { HKM_SETHOTKEY = WM_USER+1 } 3666 -enum : uint { HKM_GETHOTKEY = WM_USER+2 } 3667 -enum : uint { HKM_SETRULES = WM_USER+3 } 3668 - 3669 -// #ifdef _WIN32 3670 - 3671 -const char[] HOTKEY_CLASSA = "msctls_hotkey32"; 3672 -const wchar[] HOTKEY_CLASSW = "msctls_hotkey32"; 3673 - 3674 -// #ifdef UNICODE 3675 -// #... 3676 -// #else 3677 -alias HOTKEY_CLASSA HOTKEY_CLASS; 3678 -// #endif 3679 - 3680 -// #else 3681 -// #... 3682 -// #endif 3683 - 3684 -// #endif // NOHOTKEY 3685 - 3686 -enum : uint { CCS_TOP = 0x00000001 } 3687 -enum : uint { CCS_NOMOVEY = 0x00000002 } 3688 -enum : uint { CCS_BOTTOM = 0x00000003 } 3689 -enum : uint { CCS_NORESIZE = 0x00000004 } 3690 -enum : uint { CCS_NOPARENTALIGN = 0x00000008 } 3691 -enum : uint { CCS_ADJUSTABLE = 0x00000020 } 3692 -enum : uint { CCS_NODIVIDER = 0x00000040 } 3693 -// #if (_WIN32_IE >= 0x0300) 3694 -enum : uint { CCS_VERT = 0x00000080 } 3695 -enum : uint { CCS_LEFT = CCS_VERT | CCS_TOP } 3696 -enum : uint { CCS_RIGHT = CCS_VERT | CCS_BOTTOM } 3697 -enum : uint { CCS_NOMOVEX = CCS_VERT | CCS_NOMOVEY } 3698 -// #endif 3699 - 3700 -// #ifndef NOLISTVIEW 3701 - 3702 -// #ifdef _WIN32 3703 - 3704 -const char[] WC_LISTVIEWA = "SysListView32"; 3705 -const wchar[] WC_LISTVIEWW = "SysListView32"; 3706 - 3707 -// #ifdef UNICODE 3708 -// #... 3709 -// #else 3710 -alias WC_LISTVIEWA WC_LISTVIEW; 3711 -// #endif 3712 - 3713 -// #else 3714 -// #... 3715 -// #endif 3716 - 3717 -enum : uint { LVS_ICON = 0x0000 } 3718 -enum : uint { LVS_REPORT = 0x0001 } 3719 -enum : uint { LVS_SMALLICON = 0x0002 } 3720 -enum : uint { LVS_LIST = 0x0003 } 3721 -enum : uint { LVS_TYPEMASK = 0x0003 } 3722 -enum : uint { LVS_SINGLESEL = 0x0004 } 3723 -enum : uint { LVS_SHOWSELALWAYS = 0x0008 } 3724 -enum : uint { LVS_SORTASCENDING = 0x0010 } 3725 -enum : uint { LVS_SORTDESCENDING = 0x0020 } 3726 -enum : uint { LVS_SHAREIMAGELISTS = 0x0040 } 3727 -enum : uint { LVS_NOLABELWRAP = 0x0080 } 3728 -enum : uint { LVS_AUTOARRANGE = 0x0100 } 3729 -enum : uint { LVS_EDITLABELS = 0x0200 } 3730 -// #if (_WIN32_IE >= 0x0300) 3731 -enum : uint { LVS_OWNERDATA = 0x1000 } 3732 -// #endif 3733 -enum : uint { LVS_NOSCROLL = 0x2000 } 3734 - 3735 -enum : uint { LVS_TYPESTYLEMASK = 0xfc00 } 3736 - 3737 -enum : uint { LVS_ALIGNTOP = 0x0000 } 3738 -enum : uint { LVS_ALIGNLEFT = 0x0800 } 3739 -enum : uint { LVS_ALIGNMASK = 0x0c00 } 3740 - 3741 -enum : uint { LVS_OWNERDRAWFIXED = 0x0400 } 3742 -enum : uint { LVS_NOCOLUMNHEADER = 0x4000 } 3743 -enum : uint { LVS_NOSORTHEADER = 0x8000 } 3744 - 3745 -// #if (_WIN32_IE >= 0x0400) 3746 -alias CCM_SETUNICODEFORMAT LVM_SETUNICODEFORMAT; 3747 -// #define ListView_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), LVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 3748 - 3749 -alias CCM_GETUNICODEFORMAT LVM_GETUNICODEFORMAT; 3750 -// #define ListView_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), LVM_GETUNICODEFORMAT, 0, 0) 3751 -// #endif 3752 - 3753 -enum : uint { LVM_GETBKCOLOR = LVM_FIRST + 0 } 3754 -// #define ListView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETBKCOLOR, 0, 0L) 3755 - 3756 -enum : uint { LVM_SETBKCOLOR = LVM_FIRST + 1 } 3757 -// #define ListView_SetBkColor(hwnd, clrBk) (BOOL)SNDMSG((hwnd), LVM_SETBKCOLOR, 0, (LPARAM)(COLORREF)(clrBk)) 3758 - 3759 -enum : uint { LVM_GETIMAGELIST = LVM_FIRST + 2 } 3760 -// #define ListView_GetImageList(hwnd, iImageList) (HIMAGELIST)SNDMSG((hwnd), LVM_GETIMAGELIST, (WPARAM)(INT)(iImageList), 0L) 3761 - 3762 -enum : uint { LVSIL_NORMAL = 0 } 3763 -enum : uint { LVSIL_SMALL = 1 } 3764 -enum : uint { LVSIL_STATE = 2 } 3765 - 3766 -enum : uint { LVM_SETIMAGELIST = LVM_FIRST + 3 } 3767 -// #define ListView_SetImageList(hwnd, himl, iImageList) (HIMAGELIST)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM)(iImageList), (LPARAM)(HIMAGELIST)(himl)) 3768 - 3769 -enum : uint { LVM_GETITEMCOUNT = LVM_FIRST + 4 } 3770 -// #define ListView_GetItemCount(hwnd) (int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, 0L) 3771 - 3772 -enum : uint { LVIF_TEXT = 0x0001 } 3773 -enum : uint { LVIF_IMAGE = 0x0002 } 3774 -enum : uint { LVIF_PARAM = 0x0004 } 3775 -enum : uint { LVIF_STATE = 0x0008 } 3776 -// #if (_WIN32_IE >= 0x0300) 3777 -enum : uint { LVIF_INDENT = 0x0010 } 3778 -enum : uint { LVIF_NORECOMPUTE = 0x0800 } 3779 -// #endif 3780 -// #if (_WIN32_WINNT >= 0x501) 3781 -enum : uint { LVIF_GROUPID = 0x0100 } 3782 -enum : uint { LVIF_COLUMNS = 0x0200 } 3783 -// #endif 3784 - 3785 -enum : uint { LVIS_FOCUSED = 0x0001 } 3786 -enum : uint { LVIS_SELECTED = 0x0002 } 3787 -enum : uint { LVIS_CUT = 0x0004 } 3788 -enum : uint { LVIS_DROPHILITED = 0x0008 } 3789 -enum : uint { LVIS_GLOW = 0x0010 } 3790 -enum : uint { LVIS_ACTIVATING = 0x0020 } 3791 - 3792 -enum : uint { LVIS_OVERLAYMASK = 0x0F00 } 3793 -enum : uint { LVIS_STATEIMAGEMASK = 0xF000 } 3794 - 3795 -uint INDEXTOSTATEIMAGEMASK(uint i){ return i << 12; } 3796 - 3797 -// #if (_WIN32_IE >= 0x0300) 3798 -enum { I_INDENTCALLBACK = -1 } 3799 -alias LVITEMA LV_ITEMA; 3800 -alias LVITEMW LV_ITEMW; 3801 -// #else 3802 -// #... 3803 -// #... 3804 -// #... 3805 -// #... 3806 -// #endif 3807 - 3808 -// #if (_WIN32_WINNT >= 0x501) 3809 -enum { I_GROUPIDCALLBACK = -1 } 3810 -enum { I_GROUPIDNONE = -2 } 3811 -// #endif 3812 -alias LVITEM LV_ITEM; 3813 - 3814 -// #define LVITEMA_V1_SIZE CCSIZEOF_STRUCT(LVITEMA, lParam) 3815 -// #define LVITEMW_V1_SIZE CCSIZEOF_STRUCT(LVITEMW, lParam) 3816 - 3817 -struct tagLVITEMA { 3818 - UINT mask; 3819 - int iItem; 3820 - int iSubItem; 3821 - UINT state; 3822 - UINT stateMask; 3823 - LPSTR pszText; 3824 - int cchTextMax; 3825 - int iImage; 3826 - LPARAM lParam; 3827 -// #if (_WIN32_IE >= 0x0300) 3828 - int iIndent; 3829 -// #endif 3830 -// #if (_WIN32_WINNT >= 0x501) 3831 - int iGroupId; 3832 - UINT cColumns; 3833 - PUINT puColumns; 3834 -// #endif 3835 -} 3836 -alias tagLVITEMA LVITEMA; 3837 -alias tagLVITEMA* LPLVITEMA; 3838 - 3839 -struct tagLVITEMW { 3840 - UINT mask; 3841 - int iItem; 3842 - int iSubItem; 3843 - UINT state; 3844 - UINT stateMask; 3845 - LPWSTR pszText; 3846 - int cchTextMax; 3847 - int iImage; 3848 - LPARAM lParam; 3849 -// #if (_WIN32_IE >= 0x0300) 3850 - int iIndent; 3851 -// #endif 3852 -// #if (_WIN32_WINNT >= 0x501) 3853 - int iGroupId; 3854 - UINT cColumns; 3855 - PUINT puColumns; 3856 -// #endif 3857 -} 3858 -alias tagLVITEMW LVITEMW; 3859 -alias tagLVITEMW* LPLVITEMW; 3860 - 3861 -// #ifdef UNICODE 3862 -// #... 3863 -// #... 3864 -// #... 3865 -// #else 3866 -alias LVITEMA LVITEM; 3867 -alias LPLVITEMA LPLVITEM; 3868 -// #define LVITEM_V1_SIZE LVITEMA_V1_SIZE 3869 -// #endif 3870 - 3871 -const LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR)-1; 3872 -const LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR)-1; 3873 -// #ifdef UNICODE 3874 -// #... 3875 -// #else 3876 -alias LPSTR_TEXTCALLBACKA LPSTR_TEXTCALLBACK; 3877 -// #endif 3878 - 3879 -enum { I_IMAGECALLBACK = -1 } 3880 -// #if (_WIN32_IE >= 0x0501) 3881 -enum { I_IMAGENONE = -2 } 3882 -// #endif // 0x0501 3883 - 3884 -// #if (_WIN32_WINNT >= 0x501) 3885 - 3886 -enum : uint { I_COLUMNSCALLBACK = cast(UINT)-1 } 3887 -// #endif 3888 - 3889 -enum : uint { LVM_GETITEMA = LVM_FIRST + 5 } 3890 -enum : uint { LVM_GETITEMW = LVM_FIRST + 75 } 3891 -// #ifdef UNICODE 3892 -// #... 3893 -// #else 3894 -alias LVM_GETITEMA LVM_GETITEM; 3895 -// #endif 3896 - 3897 -// #define ListView_GetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), LVM_GETITEM, 0, (LPARAM)(LV_ITEM *)(pitem)) 3898 - 3899 -enum : uint { LVM_SETITEMA = LVM_FIRST + 6 } 3900 -enum : uint { LVM_SETITEMW = LVM_FIRST + 76 } 3901 -// #ifdef UNICODE 3902 -// #... 3903 -// #else 3904 -alias LVM_SETITEMA LVM_SETITEM; 3905 -// #endif 3906 - 3907 -// #define ListView_SetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), LVM_SETITEM, 0, (LPARAM)(const LV_ITEM *)(pitem)) 3908 - 3909 -enum : uint { LVM_INSERTITEMA = LVM_FIRST + 7 } 3910 -enum : uint { LVM_INSERTITEMW = LVM_FIRST + 77 } 3911 -// #ifdef UNICODE 3912 -// #... 3913 -// #else 3914 -alias LVM_INSERTITEMA LVM_INSERTITEM; 3915 -// #endif 3916 -// #define ListView_InsertItem(hwnd, pitem) (int)SNDMSG((hwnd), LVM_INSERTITEM, 0, (LPARAM)(const LV_ITEM *)(pitem)) 3917 - 3918 -enum : uint { LVM_DELETEITEM = LVM_FIRST + 8 } 3919 -// #define ListView_DeleteItem(hwnd, i) (BOOL)SNDMSG((hwnd), LVM_DELETEITEM, (WPARAM)(int)(i), 0L) 3920 - 3921 -enum : uint { LVM_DELETEALLITEMS = LVM_FIRST + 9 } 3922 -// #define ListView_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), LVM_DELETEALLITEMS, 0, 0L) 3923 - 3924 -enum : uint { LVM_GETCALLBACKMASK = LVM_FIRST + 10 } 3925 -// #define ListView_GetCallbackMask(hwnd) (BOOL)SNDMSG((hwnd), LVM_GETCALLBACKMASK, 0, 0) 3926 - 3927 -enum : uint { LVM_SETCALLBACKMASK = LVM_FIRST + 11 } 3928 -// #define ListView_SetCallbackMask(hwnd, mask) (BOOL)SNDMSG((hwnd), LVM_SETCALLBACKMASK, (WPARAM)(UINT)(mask), 0) 3929 - 3930 -enum : uint { LVNI_ALL = 0x0000 } 3931 -enum : uint { LVNI_FOCUSED = 0x0001 } 3932 -enum : uint { LVNI_SELECTED = 0x0002 } 3933 -enum : uint { LVNI_CUT = 0x0004 } 3934 -enum : uint { LVNI_DROPHILITED = 0x0008 } 3935 - 3936 -enum : uint { LVNI_ABOVE = 0x0100 } 3937 -enum : uint { LVNI_BELOW = 0x0200 } 3938 -enum : uint { LVNI_TOLEFT = 0x0400 } 3939 -enum : uint { LVNI_TORIGHT = 0x0800 } 3940 - 3941 -enum : uint { LVM_GETNEXTITEM = LVM_FIRST + 12 } 3942 -// #define ListView_GetNextItem(hwnd, i, flags) (int)SNDMSG((hwnd), LVM_GETNEXTITEM, (WPARAM)(int)(i), MAKELPARAM((flags), 0)) 3943 - 3944 -enum : uint { LVFI_PARAM = 0x0001 } 3945 -enum : uint { LVFI_STRING = 0x0002 } 3946 -enum : uint { LVFI_PARTIAL = 0x0008 } 3947 -enum : uint { LVFI_WRAP = 0x0020 } 3948 -enum : uint { LVFI_NEARESTXY = 0x0040 } 3949 - 3950 -// #if (_WIN32_IE >= 0x0300) 3951 -alias LVFINDINFOA LV_FINDINFOA; 3952 -alias LVFINDINFOW LV_FINDINFOW; 3953 -// #else 3954 -// #... 3955 -// #... 3956 -// #... 3957 -// #... 3958 -// #endif 3959 - 3960 -alias LVFINDINFO LV_FINDINFO; 3961 - 3962 -struct tagLVFINDINFOA { 3963 - UINT flags; 3964 - LPCSTR psz; 3965 - LPARAM lParam; 3966 - POINT pt; 3967 - UINT vkDirection; 3968 -} 3969 -alias tagLVFINDINFOA LVFINDINFOA; 3970 -alias tagLVFINDINFOA* LPFINDINFOA; 3971 - 3972 -struct tagLVFINDINFOW { 3973 - UINT flags; 3974 - LPCWSTR psz; 3975 - LPARAM lParam; 3976 - POINT pt; 3977 - UINT vkDirection; 3978 -} 3979 -alias tagLVFINDINFOW LVFINDINFOW; 3980 -alias tagLVFINDINFOW* LPFINDINFOW; 3981 - 3982 -// #ifdef UNICODE 3983 -// #... 3984 -// #else 3985 -alias LVFINDINFOA LVFINDINFO; 3986 -// #endif 3987 - 3988 -enum : uint { LVM_FINDITEMA = LVM_FIRST + 13 } 3989 -enum : uint { LVM_FINDITEMW = LVM_FIRST + 83 } 3990 -// #ifdef UNICODE 3991 -// #... 3992 -// #else 3993 -alias LVM_FINDITEMA LVM_FINDITEM; 3994 -// #endif 3995 - 3996 -// #define ListView_FindItem(hwnd, iStart, plvfi) (int)SNDMSG((hwnd), LVM_FINDITEM, (WPARAM)(int)(iStart), (LPARAM)(const LV_FINDINFO *)(plvfi)) 3997 - 3998 -enum : uint { LVIR_BOUNDS = 0 } 3999 -enum : uint { LVIR_ICON = 1 } 4000 -enum : uint { LVIR_LABEL = 2 } 4001 -enum : uint { LVIR_SELECTBOUNDS = 3 } 4002 - 4003 -enum : uint { LVM_GETITEMRECT = LVM_FIRST + 14 } 4004 -// #define ListView_GetItemRect(hwnd, i, prc, code) (BOOL)SNDMSG((hwnd), LVM_GETITEMRECT, (WPARAM)(int)(i), ((prc) ? (((RECT *)(prc))->left = (code),(LPARAM)(RECT *)(prc)) : (LPARAM)(RECT *)NULL)) 4005 - 4006 -enum : uint { LVM_SETITEMPOSITION = LVM_FIRST + 15 } 4007 -// #define ListView_SetItemPosition(hwndLV, i, x, y) (BOOL)SNDMSG((hwndLV), LVM_SETITEMPOSITION, (WPARAM)(int)(i), MAKELPARAM((x), (y))) 4008 - 4009 -enum : uint { LVM_GETITEMPOSITION = LVM_FIRST + 16 } 4010 -// #define ListView_GetItemPosition(hwndLV, i, ppt) (BOOL)SNDMSG((hwndLV), LVM_GETITEMPOSITION, (WPARAM)(int)(i), (LPARAM)(POINT *)(ppt)) 4011 - 4012 -enum : uint { LVM_GETSTRINGWIDTHA = LVM_FIRST + 17 } 4013 -enum : uint { LVM_GETSTRINGWIDTHW = LVM_FIRST + 87 } 4014 -// #ifdef UNICODE 4015 -// #... 4016 -// #else 4017 -alias LVM_GETSTRINGWIDTHA LVM_GETSTRINGWIDTH; 4018 -// #endif 4019 - 4020 -// #define ListView_GetStringWidth(hwndLV, psz) (int)SNDMSG((hwndLV), LVM_GETSTRINGWIDTH, 0, (LPARAM)(LPCTSTR)(psz)) 4021 - 4022 -enum : uint { LVHT_NOWHERE = 0x0001 } 4023 -enum : uint { LVHT_ONITEMICON = 0x0002 } 4024 -enum : uint { LVHT_ONITEMLABEL = 0x0004 } 4025 -enum : uint { LVHT_ONITEMSTATEICON = 0x0008 } 4026 -enum : uint { LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON } 4027 - 4028 -enum : uint { LVHT_ABOVE = 0x0008 } 4029 -enum : uint { LVHT_BELOW = 0x0010 } 4030 -enum : uint { LVHT_TORIGHT = 0x0020 } 4031 -enum : uint { LVHT_TOLEFT = 0x0040 } 4032 - 4033 -// #if (_WIN32_IE >= 0x0300) 4034 -alias LVHITTESTINFO LV_HITTESTINFO; 4035 -// #else 4036 -// #... 4037 -// #... 4038 -// #endif 4039 - 4040 -// #define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO, iItem) 4041 - 4042 -struct tagLVHITTESTINFO { 4043 - POINT pt; 4044 - UINT flags; 4045 - int iItem; 4046 -// #if (_WIN32_IE >= 0x0300) 4047 - int iSubItem; 4048 -// #endif 4049 -} 4050 -alias tagLVHITTESTINFO LVHITTESTINFO; 4051 -alias tagLVHITTESTINFO* LPLVHITTESTINFO; 4052 - 4053 -enum : uint { LVM_HITTEST = LVM_FIRST + 18 } 4054 -// #define ListView_HitTest(hwndLV, pinfo) (int)SNDMSG((hwndLV), LVM_HITTEST, 0, (LPARAM)(LV_HITTESTINFO *)(pinfo)) 4055 - 4056 -enum : uint { LVM_ENSUREVISIBLE = LVM_FIRST + 19 } 4057 -// #define ListView_EnsureVisible(hwndLV, i, fPartialOK) (BOOL)SNDMSG((hwndLV), LVM_ENSUREVISIBLE, (WPARAM)(int)(i), MAKELPARAM((fPartialOK), 0)) 4058 - 4059 -enum : uint { LVM_SCROLL = LVM_FIRST + 20 } 4060 -// #define ListView_Scroll(hwndLV, dx, dy) (BOOL)SNDMSG((hwndLV), LVM_SCROLL, (WPARAM)(int)(dx), (LPARAM)(int)(dy)) 4061 - 4062 -enum : uint { LVM_REDRAWITEMS = LVM_FIRST + 21 } 4063 -// #define ListView_RedrawItems(hwndLV, iFirst, iLast) (BOOL)SNDMSG((hwndLV), LVM_REDRAWITEMS, (WPARAM)(int)(iFirst), (LPARAM)(int)(iLast)) 4064 - 4065 -enum : uint { LVA_DEFAULT = 0x0000 } 4066 -enum : uint { LVA_ALIGNLEFT = 0x0001 } 4067 -enum : uint { LVA_ALIGNTOP = 0x0002 } 4068 -enum : uint { LVA_SNAPTOGRID = 0x0005 } 4069 - 4070 -enum : uint { LVM_ARRANGE = LVM_FIRST + 22 } 4071 -// #define ListView_Arrange(hwndLV, code) (BOOL)SNDMSG((hwndLV), LVM_ARRANGE, (WPARAM)(UINT)(code), 0L) 4072 - 4073 -enum : uint { LVM_EDITLABELA = LVM_FIRST + 23 } 4074 -enum : uint { LVM_EDITLABELW = LVM_FIRST + 118 } 4075 -// #ifdef UNICODE 4076 -// #... 4077 -// #else 4078 -alias LVM_EDITLABELA LVM_EDITLABEL; 4079 -// #endif 4080 - 4081 -// #define ListView_EditLabel(hwndLV, i) (HWND)SNDMSG((hwndLV), LVM_EDITLABEL, (WPARAM)(int)(i), 0L) 4082 - 4083 -enum : uint { LVM_GETEDITCONTROL = LVM_FIRST + 24 } 4084 -// #define ListView_GetEditControl(hwndLV) (HWND)SNDMSG((hwndLV), LVM_GETEDITCONTROL, 0, 0L) 4085 - 4086 -// #if (_WIN32_IE >= 0x0300) 4087 -alias LVCOLUMNA LV_COLUMNA; 4088 -alias LVCOLUMNW LV_COLUMNW; 4089 -// #else 4090 -// #... 4091 -// #... 4092 -// #... 4093 -// #... 4094 -// #endif 4095 - 4096 -alias LVCOLUMN LV_COLUMN; 4097 - 4098 -// #define LVCOLUMNA_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNA, iSubItem) 4099 -// #define LVCOLUMNW_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNW, iSubItem) 4100 - 4101 -struct tagLVCOLUMNA { 4102 - UINT mask; 4103 - int fmt; 4104 - int cx; 4105 - LPSTR pszText; 4106 - int cchTextMax; 4107 - int iSubItem; 4108 -// #if (_WIN32_IE >= 0x0300) 4109 - int iImage; 4110 - int iOrder; 4111 -// #endif 4112 -} 4113 -alias tagLVCOLUMNA LVCOLUMNA; 4114 -alias tagLVCOLUMNA* LPLVCOLUMNA; 4115 - 4116 -struct tagLVCOLUMNW { 4117 - UINT mask; 4118 - int fmt; 4119 - int cx; 4120 - LPWSTR pszText; 4121 - int cchTextMax; 4122 - int iSubItem; 4123 -// #if (_WIN32_IE >= 0x0300) 4124 - int iImage; 4125 - int iOrder; 4126 -// #endif 4127 -} 4128 -alias tagLVCOLUMNW LVCOLUMNW; 4129 -alias tagLVCOLUMNW* LPLVCOLUMNW; 4130 - 4131 -// #ifdef UNICODE 4132 -// #... 4133 -// #... 4134 -// #... 4135 -// #else 4136 -alias LVCOLUMNA LVCOLUMN; 4137 -alias LPLVCOLUMNA LPLVCOLUMN; 4138 -// #define LVCOLUMN_V1_SIZE LVCOLUMNA_V1_SIZE 4139 -// #endif 4140 - 4141 -enum : uint { LVCF_FMT = 0x0001 } 4142 -enum : uint { LVCF_WIDTH = 0x0002 } 4143 -enum : uint { LVCF_TEXT = 0x0004 } 4144 -enum : uint { LVCF_SUBITEM = 0x0008 } 4145 -// #if (_WIN32_IE >= 0x0300) 4146 -enum : uint { LVCF_IMAGE = 0x0010 } 4147 -enum : uint { LVCF_ORDER = 0x0020 } 4148 -// #endif 4149 - 4150 -enum : uint { LVCFMT_LEFT = 0x0000 } 4151 -enum : uint { LVCFMT_RIGHT = 0x0001 } 4152 -enum : uint { LVCFMT_CENTER = 0x0002 } 4153 -enum : uint { LVCFMT_JUSTIFYMASK = 0x0003 } 4154 - 4155 -// #if (_WIN32_IE >= 0x0300) 4156 -enum : uint { LVCFMT_IMAGE = 0x0800 } 4157 -enum : uint { LVCFMT_BITMAP_ON_RIGHT = 0x1000 } 4158 -enum : uint { LVCFMT_COL_HAS_IMAGES = 0x8000 } 4159 -// #endif 4160 - 4161 -enum : uint { LVM_GETCOLUMNA = LVM_FIRST + 25 } 4162 -enum : uint { LVM_GETCOLUMNW = LVM_FIRST + 95 } 4163 -// #ifdef UNICODE 4164 -// #... 4165 -// #else 4166 -alias LVM_GETCOLUMNA LVM_GETCOLUMN; 4167 -// #endif 4168 - 4169 -// #define ListView_GetColumn(hwnd, iCol, pcol) (BOOL)SNDMSG((hwnd), LVM_GETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(LV_COLUMN *)(pcol)) 4170 - 4171 -enum : uint { LVM_SETCOLUMNA = LVM_FIRST + 26 } 4172 -enum : uint { LVM_SETCOLUMNW = LVM_FIRST + 96 } 4173 -// #ifdef UNICODE 4174 -// #... 4175 -// #else 4176 -alias LVM_SETCOLUMNA LVM_SETCOLUMN; 4177 -// #endif 4178 - 4179 -// #define ListView_SetColumn(hwnd, iCol, pcol) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol)) 4180 - 4181 -enum : uint { LVM_INSERTCOLUMNA = LVM_FIRST + 27 } 4182 -enum : uint { LVM_INSERTCOLUMNW = LVM_FIRST + 97 } 4183 -// #ifdef UNICODE 4184 -// #... 4185 -// #else 4186 -alias LVM_INSERTCOLUMNA LVM_INSERTCOLUMN; 4187 -// #endif 4188 - 4189 -// #define ListView_InsertColumn(hwnd, iCol, pcol) (int)SNDMSG((hwnd), LVM_INSERTCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol)) 4190 - 4191 -enum : uint { LVM_DELETECOLUMN = LVM_FIRST + 28 } 4192 -// #define ListView_DeleteColumn(hwnd, iCol) (BOOL)SNDMSG((hwnd), LVM_DELETECOLUMN, (WPARAM)(int)(iCol), 0) 4193 - 4194 -enum : uint { LVM_GETCOLUMNWIDTH = LVM_FIRST + 29 } 4195 -// #define ListView_GetColumnWidth(hwnd, iCol) (int)SNDMSG((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0) 4196 - 4197 -enum { LVSCW_AUTOSIZE = -1 } 4198 -enum { LVSCW_AUTOSIZE_USEHEADER = -2 } 4199 -enum : uint { LVM_SETCOLUMNWIDTH = LVM_FIRST + 30 } 4200 - 4201 -// #define ListView_SetColumnWidth(hwnd, iCol, cx) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol), MAKELPARAM((cx), 0)) 4202 - 4203 -// #if (_WIN32_IE >= 0x0300) 4204 -enum : uint { LVM_GETHEADER = LVM_FIRST + 31 } 4205 -// #define ListView_GetHeader(hwnd) (HWND)SNDMSG((hwnd), LVM_GETHEADER, 0, 0L) 4206 -// #endif 4207 - 4208 -enum : uint { LVM_CREATEDRAGIMAGE = LVM_FIRST + 33 } 4209 -// #define ListView_CreateDragImage(hwnd, i, lpptUpLeft) (HIMAGELIST)SNDMSG((hwnd), LVM_CREATEDRAGIMAGE, (WPARAM)(int)(i), (LPARAM)(LPPOINT)(lpptUpLeft)) 4210 - 4211 -enum : uint { LVM_GETVIEWRECT = LVM_FIRST + 34 } 4212 -// #define ListView_GetViewRect(hwnd, prc) (BOOL)SNDMSG((hwnd), LVM_GETVIEWRECT, 0, (LPARAM)(RECT *)(prc)) 4213 - 4214 -enum : uint { LVM_GETTEXTCOLOR = LVM_FIRST + 35 } 4215 -// #define ListView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETTEXTCOLOR, 0, 0L) 4216 - 4217 -enum : uint { LVM_SETTEXTCOLOR = LVM_FIRST + 36 } 4218 -// #define ListView_SetTextColor(hwnd, clrText) (BOOL)SNDMSG((hwnd), LVM_SETTEXTCOLOR, 0, (LPARAM)(COLORREF)(clrText)) 4219 - 4220 -enum : uint { LVM_GETTEXTBKCOLOR = LVM_FIRST + 37 } 4221 -// #define ListView_GetTextBkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETTEXTBKCOLOR, 0, 0L) 4222 - 4223 -enum : uint { LVM_SETTEXTBKCOLOR = LVM_FIRST + 38 } 4224 -// #define ListView_SetTextBkColor(hwnd, clrTextBk) (BOOL)SNDMSG((hwnd), LVM_SETTEXTBKCOLOR, 0, (LPARAM)(COLORREF)(clrTextBk)) 4225 - 4226 -enum : uint { LVM_GETTOPINDEX = LVM_FIRST + 39 } 4227 -// #define ListView_GetTopIndex(hwndLV) (int)SNDMSG((hwndLV), LVM_GETTOPINDEX, 0, 0) 4228 - 4229 -enum : uint { LVM_GETCOUNTPERPAGE = LVM_FIRST + 40 } 4230 -// #define ListView_GetCountPerPage(hwndLV) (int)SNDMSG((hwndLV), LVM_GETCOUNTPERPAGE, 0, 0) 4231 - 4232 -enum : uint { LVM_GETORIGIN = LVM_FIRST + 41 } 4233 -// #define ListView_GetOrigin(hwndLV, ppt) (BOOL)SNDMSG((hwndLV), LVM_GETORIGIN, (WPARAM)0, (LPARAM)(POINT *)(ppt)) 4234 - 4235 -enum : uint { LVM_UPDATE = LVM_FIRST + 42 } 4236 -// #define ListView_Update(hwndLV, i) (BOOL)SNDMSG((hwndLV), LVM_UPDATE, (WPARAM)(i), 0L) 4237 - 4238 -enum : uint { LVM_SETITEMSTATE = LVM_FIRST + 43 } 4239 -// #define ListView_SetItemState(hwndLV, i, data, mask) { LV_ITEM _ms_lvi; _ms_lvi.stateMask = mask; _ms_lvi.state = data; SNDMSG((hwndLV), LVM_SETITEMSTATE, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); } 4240 - 4241 -// #if (_WIN32_IE >= 0x0300) 4242 -// #define ListView_SetCheckState(hwndLV, i, fCheck) ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), LVIS_STATEIMAGEMASK) 4243 -// #endif 4244 - 4245 -enum : uint { LVM_GETITEMSTATE = LVM_FIRST + 44 } 4246 -// #define ListView_GetItemState(hwndLV, i, mask) (UINT)SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), (LPARAM)(mask)) 4247 - 4248 -// #if (_WIN32_IE >= 0x0300) 4249 -// #define ListView_GetCheckState(hwndLV, i) ((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), LVIS_STATEIMAGEMASK))) >> 12) -1) 4250 -// #endif 4251 - 4252 -enum : uint { LVM_GETITEMTEXTA = LVM_FIRST + 45 } 4253 -enum : uint { LVM_GETITEMTEXTW = LVM_FIRST + 115 } 4254 - 4255 -// #ifdef UNICODE 4256 -// #... 4257 -// #else 4258 -alias LVM_GETITEMTEXTA LVM_GETITEMTEXT; 4259 -// #endif 4260 - 4261 -// #define ListView_GetItemText(hwndLV, i, iSubItem_, pszText_, cchTextMax_) { LV_ITEM _ms_lvi; _ms_lvi.iSubItem = iSubItem_; _ms_lvi.cchTextMax = cchTextMax_; _ms_lvi.pszText = pszText_; SNDMSG((hwndLV), LVM_GETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); } 4262 - 4263 -enum : uint { LVM_SETITEMTEXTA = LVM_FIRST + 46 } 4264 -enum : uint { LVM_SETITEMTEXTW = LVM_FIRST + 116 } 4265 - 4266 -// #ifdef UNICODE 4267 -// #... 4268 -// #else 4269 -alias LVM_SETITEMTEXTA LVM_SETITEMTEXT; 4270 -// #endif 4271 - 4272 -// #define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_) { LV_ITEM _ms_lvi; _ms_lvi.iSubItem = iSubItem_; _ms_lvi.pszText = pszText_; SNDMSG((hwndLV), LVM_SETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); } 4273 - 4274 -// #if (_WIN32_IE >= 0x0300) 4275 - 4276 -enum : uint { LVSICF_NOINVALIDATEALL = 0x00000001 } 4277 -enum : uint { LVSICF_NOSCROLL = 0x00000002 } 4278 -// #endif 4279 - 4280 -enum : uint { LVM_SETITEMCOUNT = LVM_FIRST + 47 } 4281 -// #define ListView_SetItemCount(hwndLV, cItems) SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), 0) 4282 - 4283 -// #if (_WIN32_IE >= 0x0300) 4284 -// #define ListView_SetItemCountEx(hwndLV, cItems, dwFlags) SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), (LPARAM)(dwFlags)) 4285 -// #endif 4286 - 4287 -extern(Windows) alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE; 4288 - 4289 -enum : uint { LVM_SORTITEMS = LVM_FIRST + 48 } 4290 -// #define ListView_SortItems(hwndLV, _pfnCompare, _lPrm) (BOOL)SNDMSG((hwndLV), LVM_SORTITEMS, (WPARAM)(LPARAM)(_lPrm), (LPARAM)(PFNLVCOMPARE)(_pfnCompare)) 4291 - 4292 -enum : uint { LVM_SETITEMPOSITION32 = LVM_FIRST + 49 } 4293 -// #define ListView_SetItemPosition32(hwndLV, i, x0, y0) { POINT ptNewPos; ptNewPos.x = x0; ptNewPos.y = y0; SNDMSG((hwndLV), LVM_SETITEMPOSITION32, (WPARAM)(int)(i), (LPARAM)&ptNewPos); } 4294 - 4295 -enum : uint { LVM_GETSELECTEDCOUNT = LVM_FIRST + 50 } 4296 -// #define ListView_GetSelectedCount(hwndLV) (UINT)SNDMSG((hwndLV), LVM_GETSELECTEDCOUNT, 0, 0L) 4297 - 4298 -enum : uint { LVM_GETITEMSPACING = LVM_FIRST + 51 } 4299 -// #define ListView_GetItemSpacing(hwndLV, fSmall) (DWORD)SNDMSG((hwndLV), LVM_GETITEMSPACING, fSmall, 0L) 4300 - 4301 -enum : uint { LVM_GETISEARCHSTRINGA = LVM_FIRST + 52 } 4302 -enum : uint { LVM_GETISEARCHSTRINGW = LVM_FIRST + 117 } 4303 - 4304 -// #ifdef UNICODE 4305 -// #... 4306 -// #else 4307 -alias LVM_GETISEARCHSTRINGA LVM_GETISEARCHSTRING; 4308 -// #endif 4309 - 4310 -// #define ListView_GetISearchString(hwndLV, lpsz) (BOOL)SNDMSG((hwndLV), LVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz)) 4311 - 4312 -// #if (_WIN32_IE >= 0x0300) 4313 -enum : uint { LVM_SETICONSPACING = LVM_FIRST + 53 } 4314 - 4315 -// #define ListView_SetIconSpacing(hwndLV, cx, cy) (DWORD)SNDMSG((hwndLV), LVM_SETICONSPACING, 0, MAKELONG(cx,cy)) 4316 - 4317 -enum : uint { LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54 } 4318 -// #define ListView_SetExtendedListViewStyle(hwndLV, dw) (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw) 4319 -// #if (_WIN32_IE >= 0x0400) 4320 -// #define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw) (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw) 4321 -// #endif 4322 - 4323 -enum : uint { LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55 } 4324 -// #define ListView_GetExtendedListViewStyle(hwndLV) (DWORD)SNDMSG((hwndLV), LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0) 4325 - 4326 -enum : uint { LVS_EX_GRIDLINES = 0x00000001 } 4327 -enum : uint { LVS_EX_SUBITEMIMAGES = 0x00000002 } 4328 -enum : uint { LVS_EX_CHECKBOXES = 0x00000004 } 4329 -enum : uint { LVS_EX_TRACKSELECT = 0x00000008 } 4330 -enum : uint { LVS_EX_HEADERDRAGDROP = 0x00000010 } 4331 -enum : uint { LVS_EX_FULLROWSELECT = 0x00000020 } 4332 -enum : uint { LVS_EX_ONECLICKACTIVATE = 0x00000040 } 4333 -enum : uint { LVS_EX_TWOCLICKACTIVATE = 0x00000080 } 4334 -// #if (_WIN32_IE >= 0x0400) 4335 -enum : uint { LVS_EX_FLATSB = 0x00000100 } 4336 -enum : uint { LVS_EX_REGIONAL = 0x00000200 } 4337 -enum : uint { LVS_EX_INFOTIP = 0x00000400 } 4338 -enum : uint { LVS_EX_UNDERLINEHOT = 0x00000800 } 4339 -enum : uint { LVS_EX_UNDERLINECOLD = 0x00001000 } 4340 -enum : uint { LVS_EX_MULTIWORKAREAS = 0x00002000 } 4341 -// #endif 4342 -// #if (_WIN32_IE >= 0x0500) 4343 -enum : uint { LVS_EX_LABELTIP = 0x00004000 } 4344 -enum : uint { LVS_EX_BORDERSELECT = 0x00008000 } 4345 -// #endif // End (_WIN32_IE >= 0x0500) 4346 -// #if (_WIN32_WINNT >= 0x501) 4347 -enum : uint { LVS_EX_DOUBLEBUFFER = 0x00010000 } 4348 -enum : uint { LVS_EX_HIDELABELS = 0x00020000 } 4349 -enum : uint { LVS_EX_SINGLEROW = 0x00040000 } 4350 -enum : uint { LVS_EX_SNAPTOGRID = 0x00080000 } 4351 -enum : uint { LVS_EX_SIMPLESELECT = 0x00100000 } 4352 -// #endif 4353 - 4354 -enum : uint { LVM_GETSUBITEMRECT = LVM_FIRST + 56 } 4355 -// #define ListView_GetSubItemRect(hwnd, iItem, iSubItem, code, prc) (BOOL)SNDMSG((hwnd), LVM_GETSUBITEMRECT, (WPARAM)(int)(iItem), ((prc) ? ((((LPRECT)(prc))->top = iSubItem), (((LPRECT)(prc))->left = code), (LPARAM)(prc)) : (LPARAM)(LPRECT)NULL)) 4356 - 4357 -enum : uint { LVM_SUBITEMHITTEST = LVM_FIRST + 57 } 4358 -// #define ListView_SubItemHitTest(hwnd, plvhti) (int)SNDMSG((hwnd), LVM_SUBITEMHITTEST, 0, (LPARAM)(LPLVHITTESTINFO)(plvhti)) 4359 - 4360 -enum : uint { LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58 } 4361 -// #define ListView_SetColumnOrderArray(hwnd, iCount, pi) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNORDERARRAY, (WPARAM)(iCount), (LPARAM)(LPINT)(pi)) 4362 - 4363 -enum : uint { LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59 } 4364 -// #define ListView_GetColumnOrderArray(hwnd, iCount, pi) (BOOL)SNDMSG((hwnd), LVM_GETCOLUMNORDERARRAY, (WPARAM)(iCount), (LPARAM)(LPINT)(pi)) 4365 - 4366 -enum : uint { LVM_SETHOTITEM = LVM_FIRST + 60 } 4367 -// #define ListView_SetHotItem(hwnd, i) (int)SNDMSG((hwnd), LVM_SETHOTITEM, (WPARAM)(i), 0) 4368 - 4369 -enum : uint { LVM_GETHOTITEM = LVM_FIRST + 61 } 4370 -// #define ListView_GetHotItem(hwnd) (int)SNDMSG((hwnd), LVM_GETHOTITEM, 0, 0) 4371 - 4372 -enum : uint { LVM_SETHOTCURSOR = LVM_FIRST + 62 } 4373 -// #define ListView_SetHotCursor(hwnd, hcur) (HCURSOR)SNDMSG((hwnd), LVM_SETHOTCURSOR, 0, (LPARAM)(hcur)) 4374 - 4375 -enum : uint { LVM_GETHOTCURSOR = LVM_FIRST + 63 } 4376 -// #define ListView_GetHotCursor(hwnd) (HCURSOR)SNDMSG((hwnd), LVM_GETHOTCURSOR, 0, 0) 4377 - 4378 -enum : uint { LVM_APPROXIMATEVIEWRECT = LVM_FIRST + 64 } 4379 -// #define ListView_ApproximateViewRect(hwnd, iWidth, iHeight, iCount) (DWORD)SNDMSG((hwnd), LVM_APPROXIMATEVIEWRECT, iCount, MAKELPARAM(iWidth, iHeight)) 4380 -// #endif // _WIN32_IE >= 0x0300 4381 - 4382 -// #if (_WIN32_IE >= 0x0400) 4383 - 4384 -enum : uint { LV_MAX_WORKAREAS = 16 } 4385 -enum : uint { LVM_SETWORKAREAS = LVM_FIRST + 65 } 4386 -// #define ListView_SetWorkAreas(hwnd, nWorkAreas, prc) (BOOL)SNDMSG((hwnd), LVM_SETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(RECT *)(prc)) 4387 - 4388 -enum : uint { LVM_GETWORKAREAS = LVM_FIRST + 70 } 4389 -// #define ListView_GetWorkAreas(hwnd, nWorkAreas, prc) (BOOL)SNDMSG((hwnd), LVM_GETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(RECT *)(prc)) 4390 - 4391 -enum : uint { LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73 } 4392 -// #define ListView_GetNumberOfWorkAreas(hwnd, pnWorkAreas) (BOOL)SNDMSG((hwnd), LVM_GETNUMBEROFWORKAREAS, 0, (LPARAM)(UINT *)(pnWorkAreas)) 4393 - 4394 -enum : uint { LVM_GETSELECTIONMARK = LVM_FIRST + 66 } 4395 -// #define ListView_GetSelectionMark(hwnd) (int)SNDMSG((hwnd), LVM_GETSELECTIONMARK, 0, 0) 4396 - 4397 -enum : uint { LVM_SETSELECTIONMARK = LVM_FIRST + 67 } 4398 -// #define ListView_SetSelectionMark(hwnd, i) (int)SNDMSG((hwnd), LVM_SETSELECTIONMARK, 0, (LPARAM)(i)) 4399 - 4400 -enum : uint { LVM_SETHOVERTIME = LVM_FIRST + 71 } 4401 -// #define ListView_SetHoverTime(hwndLV, dwHoverTimeMs) (DWORD)SNDMSG((hwndLV), LVM_SETHOVERTIME, 0, (LPARAM)(dwHoverTimeMs)) 4402 - 4403 -enum : uint { LVM_GETHOVERTIME = LVM_FIRST + 72 } 4404 -// #define ListView_GetHoverTime(hwndLV) (DWORD)SNDMSG((hwndLV), LVM_GETHOVERTIME, 0, 0) 4405 - 4406 -enum : uint { LVM_SETTOOLTIPS = LVM_FIRST + 74 } 4407 -// #define ListView_SetToolTips(hwndLV, hwndNewHwnd) (HWND)SNDMSG((hwndLV), LVM_SETTOOLTIPS, (WPARAM)(hwndNewHwnd), 0) 4408 - 4409 -enum : uint { LVM_GETTOOLTIPS = LVM_FIRST + 78 } 4410 -// #define ListView_GetToolTips(hwndLV) (HWND)SNDMSG((hwndLV), LVM_GETTOOLTIPS, 0, 0) 4411 - 4412 -enum : uint { LVM_SORTITEMSEX = LVM_FIRST + 81 } 4413 -// #define ListView_SortItemsEx(hwndLV, _pfnCompare, _lPrm) (BOOL)SNDMSG((hwndLV), LVM_SORTITEMSEX, (WPARAM)(LPARAM)(_lPrm), (LPARAM)(PFNLVCOMPARE)(_pfnCompare)) 4414 - 4415 -struct tagLVBKIMAGEA { 4416 - ULONG ulFlags; 4417 - HBITMAP hbm; 4418 - LPSTR pszImage; 4419 - UINT cchImageMax; 4420 - int xOffsetPercent; 4421 - int yOffsetPercent; 4422 -} 4423 -alias tagLVBKIMAGEA LVBKIMAGEA; 4424 -alias tagLVBKIMAGEA* LPLVBKIMAGEA; 4425 - 4426 -struct tagLVBKIMAGEW { 4427 - ULONG ulFlags; 4428 - HBITMAP hbm; 4429 - LPWSTR pszImage; 4430 - UINT cchImageMax; 4431 - int xOffsetPercent; 4432 - int yOffsetPercent; 4433 -} 4434 -alias tagLVBKIMAGEW LVBKIMAGEW; 4435 -alias tagLVBKIMAGEW* LPLVBKIMAGEW; 4436 - 4437 -enum : uint { LVBKIF_SOURCE_NONE = 0x00000000 } 4438 -enum : uint { LVBKIF_SOURCE_HBITMAP = 0x00000001 } 4439 -enum : uint { LVBKIF_SOURCE_URL = 0x00000002 } 4440 -enum : uint { LVBKIF_SOURCE_MASK = 0x00000003 } 4441 -enum : uint { LVBKIF_STYLE_NORMAL = 0x00000000 } 4442 -enum : uint { LVBKIF_STYLE_TILE = 0x00000010 } 4443 -enum : uint { LVBKIF_STYLE_MASK = 0x00000010 } 4444 -// #if (_WIN32_WINNT >= 0x501) 4445 -enum : uint { LVBKIF_FLAG_TILEOFFSET = 0x00000100 } 4446 -enum : uint { LVBKIF_TYPE_WATERMARK = 0x10000000 } 4447 -// #endif 4448 - 4449 -enum : uint { LVM_SETBKIMAGEA = LVM_FIRST + 68 } 4450 -enum : uint { LVM_SETBKIMAGEW = LVM_FIRST + 138 } 4451 -enum : uint { LVM_GETBKIMAGEA = LVM_FIRST + 69 } 4452 -enum : uint { LVM_GETBKIMAGEW = LVM_FIRST + 139 } 4453 - 4454 -// #if (_WIN32_WINNT >= 0x501) 4455 -enum : uint { LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140 } 4456 -// #define ListView_SetSelectedColumn(hwnd, iCol) SNDMSG((hwnd), LVM_SETSELECTEDCOLUMN, (WPARAM)iCol, 0) 4457 - 4458 -enum : uint { LVM_SETTILEWIDTH = LVM_FIRST + 141 } 4459 -// #define ListView_SetTileWidth(hwnd, cpWidth) SNDMSG((hwnd), LVM_SETTILEWIDTH, (WPARAM)cpWidth, 0) 4460 - 4461 -enum : uint { LV_VIEW_ICON = 0x0000 } 4462 -enum : uint { LV_VIEW_DETAILS = 0x0001 } 4463 -enum : uint { LV_VIEW_SMALLICON = 0x0002 } 4464 -enum : uint { LV_VIEW_LIST = 0x0003 } 4465 -enum : uint { LV_VIEW_TILE = 0x0004 } 4466 -enum : uint { LV_VIEW_MAX = 0x0004 } 4467 - 4468 -enum : uint { LVM_SETVIEW = LVM_FIRST + 142 } 4469 -// #define ListView_SetView(hwnd, iView) (DWORD)SNDMSG((hwnd), LVM_SETVIEW, (WPARAM)(DWORD)iView, 0) 4470 - 4471 -enum : uint { LVM_GETVIEW = LVM_FIRST + 143 } 4472 -// #define ListView_GetView(hwnd) (DWORD)SNDMSG((hwnd), LVM_GETVIEW, 0, 0) 4473 - 4474 -enum : uint { LVGF_NONE = 0x00000000 } 4475 -enum : uint { LVGF_HEADER = 0x00000001 } 4476 -enum : uint { LVGF_FOOTER = 0x00000002 } 4477 -enum : uint { LVGF_STATE = 0x00000004 } 4478 -enum : uint { LVGF_ALIGN = 0x00000008 } 4479 -enum : uint { LVGF_GROUPID = 0x00000010 } 4480 - 4481 -enum : uint { LVGS_NORMAL = 0x00000000 } 4482 -enum : uint { LVGS_COLLAPSED = 0x00000001 } 4483 -enum : uint { LVGS_HIDDEN = 0x00000002 } 4484 - 4485 -enum : uint { LVGA_HEADER_LEFT = 0x00000001 } 4486 -enum : uint { LVGA_HEADER_CENTER = 0x00000002 } 4487 -enum : uint { LVGA_HEADER_RIGHT = 0x00000004 } 4488 -enum : uint { LVGA_FOOTER_LEFT = 0x00000008 } 4489 -enum : uint { LVGA_FOOTER_CENTER = 0x00000010 } 4490 -enum : uint { LVGA_FOOTER_RIGHT = 0x00000020 } 4491 - 4492 -struct tagLVGROUP { 4493 - UINT cbSize; 4494 - UINT mask; 4495 - LPWSTR pszHeader; 4496 - int cchHeader; 4497 - LPWSTR pszFooter; 4498 - int cchFooter; 4499 - int iGroupId; 4500 - UINT stateMask; 4501 - UINT state; 4502 - UINT uAlign; 4503 -} 4504 -alias tagLVGROUP LVGROUP; 4505 -alias tagLVGROUP* PLVGROUP; 4506 - 4507 -enum : uint { LVM_INSERTGROUP = LVM_FIRST + 145 } 4508 -// #define ListView_InsertGroup(hwnd, index, pgrp) SNDMSG((hwnd), LVM_INSERTGROUP, (WPARAM)index, (LPARAM)pgrp) 4509 - 4510 -enum : uint { LVM_SETGROUPINFO = LVM_FIRST + 147 } 4511 -// #define ListView_SetGroupInfo(hwnd, iGroupId, pgrp) SNDMSG((hwnd), LVM_SETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp) 4512 - 4513 -enum : uint { LVM_GETGROUPINFO = LVM_FIRST + 149 } 4514 -// #define ListView_GetGroupInfo(hwnd, iGroupId, pgrp) SNDMSG((hwnd), LVM_GETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp) 4515 - 4516 -enum : uint { LVM_REMOVEGROUP = LVM_FIRST + 150 } 4517 -// #define ListView_RemoveGroup(hwnd, iGroupId) SNDMSG((hwnd), LVM_REMOVEGROUP, (WPARAM)iGroupId, 0) 4518 - 4519 -enum : uint { LVM_MOVEGROUP = LVM_FIRST + 151 } 4520 -// #define ListView_MoveGroup(hwnd, iGroupId, toIndex) SNDMSG((hwnd), LVM_MOVEGROUP, (WPARAM)iGroupId, (LPARAM)toIndex) 4521 - 4522 -enum : uint { LVM_MOVEITEMTOGROUP = LVM_FIRST + 154 } 4523 -// #define ListView_MoveItemToGroup(hwnd, idItemFrom, idGroupTo) SNDMSG((hwnd), LVM_MOVEITEMTOGROUP, (WPARAM)idItemFrom, (LPARAM)idGroupTo) 4524 - 4525 -enum : uint { LVGMF_NONE = 0x00000000 } 4526 -enum : uint { LVGMF_BORDERSIZE = 0x00000001 } 4527 -enum : uint { LVGMF_BORDERCOLOR = 0x00000002 } 4528 -enum : uint { LVGMF_TEXTCOLOR = 0x00000004 } 4529 - 4530 -struct tagLVGROUPMETRICS { 4531 - UINT cbSize; 4532 - UINT mask; 4533 - UINT Left; 4534 - UINT Top; 4535 - UINT Right; 4536 - UINT Bottom; 4537 - COLORREF crLeft; 4538 - COLORREF crTop; 4539 - COLORREF crRight; 4540 - COLORREF crBottom; 4541 - COLORREF crHeader; 4542 - COLORREF crFooter; 4543 -} 4544 -alias tagLVGROUPMETRICS LVGROUPMETRICS; 4545 -alias tagLVGROUPMETRICS* PLVGROUPMETRICS; 4546 - 4547 -enum : uint { LVM_SETGROUPMETRICS = LVM_FIRST + 155 } 4548 -// #define ListView_SetGroupMetrics(hwnd, pGroupMetrics) SNDMSG((hwnd), LVM_SETGROUPMETRICS, 0, (LPARAM)pGroupMetrics) 4549 - 4550 -enum : uint { LVM_GETGROUPMETRICS = LVM_FIRST + 156 } 4551 -// #define ListView_GetGroupMetrics(hwnd, pGroupMetrics) SNDMSG((hwnd), LVM_GETGROUPMETRICS, 0, (LPARAM)pGroupMetrics) 4552 - 4553 -enum : uint { LVM_ENABLEGROUPVIEW = LVM_FIRST + 157 } 4554 -// #define ListView_EnableGroupView(hwnd, fEnable) SNDMSG((hwnd), LVM_ENABLEGROUPVIEW, (WPARAM)fEnable, 0) 4555 - 4556 -extern(Windows) alias int function(int, int, void *) PFNLVGROUPCOMPARE; 4557 - 4558 -enum : uint { LVM_SORTGROUPS = LVM_FIRST + 158 } 4559 -// #define ListView_SortGroups(hwnd, _pfnGroupCompate, _plv) SNDMSG((hwnd), LVM_SORTGROUPS, (WPARAM)_pfnGroupCompate, (LPARAM)_plv) 4560 - 4561 -struct tagLVINSERTGROUPSORTED { 4562 - PFNLVGROUPCOMPARE pfnGroupCompare; 4563 - void *pvData; 4564 - LVGROUP lvGroup; 4565 -} 4566 -alias tagLVINSERTGROUPSORTED LVINSERTGROUPSORTED; 4567 -alias tagLVINSERTGROUPSORTED* PLVINSERTGROUPSORTED; 4568 - 4569 -enum : uint { LVM_INSERTGROUPSORTED = LVM_FIRST + 159 } 4570 -// #define ListView_InsertGroupSorted(hwnd, structInsert) SNDMSG((hwnd), LVM_INSERTGROUPSORTED, (WPARAM)structInsert, 0) 4571 - 4572 -enum : uint { LVM_REMOVEALLGROUPS = LVM_FIRST + 160 } 4573 -// #define ListView_RemoveAllGroups(hwnd) SNDMSG((hwnd), LVM_REMOVEALLGROUPS, 0, 0) 4574 - 4575 -enum : uint { LVM_HASGROUP = LVM_FIRST + 161 } 4576 -// #define ListView_HasGroup(hwnd, dwGroupId) SNDMSG((hwnd), LVM_HASGROUP, dwGroupId, 0) 4577 - 4578 -enum : uint { LVTVIF_AUTOSIZE = 0x00000000 } 4579 -enum : uint { LVTVIF_FIXEDWIDTH = 0x00000001 } 4580 -enum : uint { LVTVIF_FIXEDHEIGHT = 0x00000002 } 4581 -enum : uint { LVTVIF_FIXEDSIZE = 0x00000003 } 4582 - 4583 -enum : uint { LVTVIM_TILESIZE = 0x00000001 } 4584 -enum : uint { LVTVIM_COLUMNS = 0x00000002 } 4585 -enum : uint { LVTVIM_LABELMARGIN = 0x00000004 } 4586 - 4587 -struct tagLVTILEVIEWINFO { 4588 - UINT cbSize; 4589 - DWORD dwMask; 4590 - DWORD dwFlags; 4591 - SIZE sizeTile; 4592 - int cLines; 4593 - RECT rcLabelMargin; 4594 -} 4595 -alias tagLVTILEVIEWINFO LVTILEVIEWINFO; 4596 -alias tagLVTILEVIEWINFO* PLVTILEVIEWINFO; 4597 - 4598 -struct tagLVTILEINFO { 4599 - UINT cbSize; 4600 - int iItem; 4601 - UINT cColumns; 4602 - PUINT puColumns; 4603 -} 4604 -alias tagLVTILEINFO LVTILEINFO; 4605 -alias tagLVTILEINFO* PLVTILEINFO; 4606 - 4607 -enum : uint { LVM_SETTILEVIEWINFO = LVM_FIRST + 162 } 4608 -// #define ListView_SetTileViewInfo(hwnd, ptvi) SNDMSG((hwnd), LVM_SETTILEVIEWINFO, 0, (LPARAM)ptvi) 4609 - 4610 -enum : uint { LVM_GETTILEVIEWINFO = LVM_FIRST + 163 } 4611 -// #define ListView_GetTileViewInfo(hwnd, ptvi) SNDMSG((hwnd), LVM_GETTILEVIEWINFO, 0, (LPARAM)ptvi) 4612 - 4613 -enum : uint { LVM_SETTILEINFO = LVM_FIRST + 164 } 4614 -// #define ListView_SetTileInfo(hwnd, pti) SNDMSG((hwnd), LVM_SETTILEINFO, 0, (LPARAM)pti) 4615 - 4616 -enum : uint { LVM_GETTILEINFO = LVM_FIRST + 165 } 4617 -// #define ListView_GetTileInfo(hwnd, pti) SNDMSG((hwnd), LVM_GETTILEINFO, 0, (LPARAM)pti) 4618 - 4619 -struct _8 { 4620 - UINT cbSize; 4621 - DWORD dwFlags; 4622 - int iItem; 4623 - DWORD dwReserved; 4624 -} 4625 -alias _8 LVINSERTMARK; 4626 -alias _8* LPLVINSERTMARK; 4627 - 4628 -enum : uint { LVIM_AFTER = 0x00000001 } 4629 - 4630 -enum : uint { LVM_SETINSERTMARK = LVM_FIRST + 166 } 4631 -// #define ListView_SetInsertMark(hwnd, lvim) (BOOL)SNDMSG((hwnd), LVM_SETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim)) 4632 - 4633 -enum : uint { LVM_GETINSERTMARK = LVM_FIRST + 167 } 4634 -// #define ListView_GetInsertMark(hwnd, lvim) (BOOL)SNDMSG((hwnd), LVM_GETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim)) 4635 - 4636 -enum : uint { LVM_INSERTMARKHITTEST = LVM_FIRST + 168 } 4637 -// #define ListView_InsertMarkHitTest(hwnd, point, lvim) (int)SNDMSG((hwnd), LVM_INSERTMARKHITTEST, (WPARAM)(LPPOINT)(point), (LPARAM)(LPLVINSERTMARK)(lvim)) 4638 - 4639 -enum : uint { LVM_GETINSERTMARKRECT = LVM_FIRST + 169 } 4640 -// #define ListView_GetInsertMarkRect(hwnd, rc) (int)SNDMSG((hwnd), LVM_GETINSERTMARKRECT, (WPARAM)0, (LPARAM)(LPRECT)(rc)) 4641 - 4642 -enum : uint { LVM_SETINSERTMARKCOLOR = LVM_FIRST + 170 } 4643 -// #define ListView_SetInsertMarkColor(hwnd, color) (COLORREF)SNDMSG((hwnd), LVM_SETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color)) 4644 - 4645 -enum : uint { LVM_GETINSERTMARKCOLOR = LVM_FIRST + 171 } 4646 -// #define ListView_GetInsertMarkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)0) 4647 - 4648 -struct tagLVSETINFOTIP { 4649 - UINT cbSize; 4650 - DWORD dwFlags; 4651 - LPWSTR pszText; 4652 - int iItem; 4653 - int iSubItem; 4654 -} 4655 -alias tagLVSETINFOTIP LVSETINFOTIP; 4656 -alias tagLVSETINFOTIP* PLVSETINFOTIP; 4657 - 4658 -enum : uint { LVM_SETINFOTIP = LVM_FIRST + 173 } 4659 - 4660 -// #define ListView_SetInfoTip(hwndLV, plvInfoTip) (BOOL)SNDMSG((hwndLV), LVM_SETINFOTIP, (WPARAM)0, (LPARAM)plvInfoTip) 4661 - 4662 -enum : uint { LVM_GETSELECTEDCOLUMN = LVM_FIRST + 174 } 4663 -// #define ListView_GetSelectedColumn(hwnd) (UINT)SNDMSG((hwnd), LVM_GETSELECTEDCOLUMN, 0, 0) 4664 - 4665 -enum : uint { LVM_ISGROUPVIEWENABLED = LVM_FIRST + 175 } 4666 -// #define ListView_IsGroupViewEnabled(hwnd) (BOOL)SNDMSG((hwnd), LVM_ISGROUPVIEWENABLED, 0, 0) 4667 - 4668 -enum : uint { LVM_GETOUTLINECOLOR = LVM_FIRST + 176 } 4669 -// #define ListView_GetOutlineColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETOUTLINECOLOR, 0, 0) 4670 - 4671 -enum : uint { LVM_SETOUTLINECOLOR = LVM_FIRST + 177 } 4672 -// #define ListView_SetOutlineColor(hwnd, color) (COLORREF)SNDMSG((hwnd), LVM_SETOUTLINECOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color)) 4673 - 4674 -enum : uint { LVM_CANCELEDITLABEL = LVM_FIRST + 179 } 4675 -// #define ListView_CancelEditLabel(hwnd) (VOID)SNDMSG((hwnd), LVM_CANCELEDITLABEL, (WPARAM)0, (LPARAM)0) 4676 - 4677 -enum : uint { LVM_MAPINDEXTOID = LVM_FIRST + 180 } 4678 -// #define ListView_MapIndexToID(hwnd, index) (UINT)SNDMSG((hwnd), LVM_MAPINDEXTOID, (WPARAM)index, (LPARAM)0) 4679 - 4680 -enum : uint { LVM_MAPIDTOINDEX = LVM_FIRST + 181 } 4681 -// #define ListView_MapIDToIndex(hwnd, id) (UINT)SNDMSG((hwnd), LVM_MAPIDTOINDEX, (WPARAM)id, (LPARAM)0) 4682 - 4683 -// #endif 4684 - 4685 -// #ifdef UNICODE 4686 -// #... 4687 -// #... 4688 -// #... 4689 -// #... 4690 -// #else 4691 -alias LVBKIMAGEA LVBKIMAGE; 4692 -alias LPLVBKIMAGEA LPLVBKIMAGE; 4693 -alias LVM_SETBKIMAGEA LVM_SETBKIMAGE; 4694 -alias LVM_GETBKIMAGEA LVM_GETBKIMAGE; 4695 -// #endif 4696 - 4697 -// #define ListView_SetBkImage(hwnd, plvbki) (BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki)) 4698 - 4699 -// #define ListView_GetBkImage(hwnd, plvbki) (BOOL)SNDMSG((hwnd), LVM_GETBKIMAGE, 0, (LPARAM)(plvbki)) 4700 - 4701 -// #endif // _WIN32_IE >= 0x0400 4702 - 4703 -// #if (_WIN32_IE >= 0x0300) 4704 -alias LPNMLISTVIEW LPNM_LISTVIEW; 4705 -alias NMLISTVIEW NM_LISTVIEW; 4706 -// #else 4707 -// #... 4708 -// #... 4709 -// #... 4710 -// #endif 4711 - 4712 -struct tagNMLISTVIEW { 4713 - NMHDR hdr; 4714 - int iItem; 4715 - int iSubItem; 4716 - UINT uNewState; 4717 - UINT uOldState; 4718 - UINT uChanged; 4719 - POINT ptAction; 4720 - LPARAM lParam; 4721 -} 4722 -alias tagNMLISTVIEW NMLISTVIEW; 4723 -alias tagNMLISTVIEW* LPNMLISTVIEW; 4724 - 4725 -// #if (_WIN32_IE >= 0x400) 4726 - 4727 -struct tagNMITEMACTIVATE { 4728 - NMHDR hdr; 4729 - int iItem; 4730 - int iSubItem; 4731 - UINT uNewState; 4732 - UINT uOldState; 4733 - UINT uChanged; 4734 - POINT ptAction; 4735 - LPARAM lParam; 4736 - UINT uKeyFlags; 4737 -} 4738 -alias tagNMITEMACTIVATE NMITEMACTIVATE; 4739 -alias tagNMITEMACTIVATE* LPNMITEMACTIVATE; 4740 - 4741 -enum : uint { LVKF_ALT = 0x0001 } 4742 -enum : uint { LVKF_CONTROL = 0x0002 } 4743 -enum : uint { LVKF_SHIFT = 0x0004 } 4744 -// #endif //(_WIN32_IE >= 0x0400) 4745 - 4746 -// #if (_WIN32_IE >= 0x0300) 4747 -// #define NMLVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMLVCUSTOMDRW, clrTextBk) 4748 - 4749 -struct tagNMLVCUSTOMDRAW { 4750 - NMCUSTOMDRAW nmcd; 4751 - COLORREF clrText; 4752 - COLORREF clrTextBk; 4753 -// #if (_WIN32_IE >= 0x0400) 4754 - int iSubItem; 4755 -// #endif 4756 -// #if (_WIN32_WINNT >= 0x501) 4757 - DWORD dwItemType; 4758 - COLORREF clrFace; 4759 - int iIconEffect; 4760 - int iIconPhase; 4761 - int iPartId; 4762 - int iStateId; 4763 - RECT rcText; 4764 - UINT uAlign; 4765 -// #endif 4766 -} 4767 -alias tagNMLVCUSTOMDRAW NMLVCUSTOMDRAW; 4768 -alias tagNMLVCUSTOMDRAW* LPNMLVCUSTOMDRAW; 4769 - 4770 -enum : uint { LVCDI_ITEM = 0x00000000 } 4771 -enum : uint { LVCDI_GROUP = 0x00000001 } 4772 - 4773 -enum : uint { LVCDRF_NOSELECT = 0x00010000 } 4774 -enum : uint { LVCDRF_NOGROUPFRAME = 0x00020000 } 4775 - 4776 -struct tagNMLVCACHEHINT { 4777 - NMHDR hdr; 4778 - int iFrom; 4779 - int iTo; 4780 -} 4781 -alias tagNMLVCACHEHINT NMLVCACHEHINT; 4782 -alias tagNMLVCACHEHINT* LPNMLVCACHEHINT; 4783 - 4784 -alias LPNMLVCACHEHINT LPNM_CACHEHINT; 4785 -alias LPNMLVCACHEHINT PNM_CACHEHINT; 4786 -alias NMLVCACHEHINT NM_CACHEHINT; 4787 - 4788 -struct tagNMLVFINDITEMA { 4789 - NMHDR hdr; 4790 - int iStart; 4791 - LVFINDINFOA lvfi; 4792 -} 4793 -alias tagNMLVFINDITEMA NMLVFINDITEMA; 4794 -alias tagNMLVFINDITEMA* LPNMLVFINDITEMA; 4795 - 4796 -struct tagNMLVFINDITEMW { 4797 - NMHDR hdr; 4798 - int iStart; 4799 - LVFINDINFOW lvfi; 4800 -} 4801 -alias tagNMLVFINDITEMW NMLVFINDITEMW; 4802 -alias tagNMLVFINDITEMW* LPNMLVFINDITEMW; 4803 - 4804 -alias LPNMLVFINDITEMA PNM_FINDITEMA; 4805 -alias LPNMLVFINDITEMA LPNM_FINDITEMA; 4806 -alias NMLVFINDITEMA NM_FINDITEMA; 4807 - 4808 -alias LPNMLVFINDITEMW PNM_FINDITEMW; 4809 -alias LPNMLVFINDITEMW LPNM_FINDITEMW; 4810 -alias NMLVFINDITEMW NM_FINDITEMW; 4811 - 4812 -// #ifdef UNICODE 4813 -// #... 4814 -// #... 4815 -// #... 4816 -// #... 4817 -// #... 4818 -// #else 4819 -alias PNM_FINDITEMA PNM_FINDITEM; 4820 -alias LPNM_FINDITEMA LPNM_FINDITEM; 4821 -alias NM_FINDITEMA NM_FINDITEM; 4822 -alias NMLVFINDITEMA NMLVFINDITEM; 4823 -alias LPNMLVFINDITEMA LPNMLVFINDITEM; 4824 -// #endif 4825 - 4826 -struct tagNMLVODSTATECHANGE { 4827 - NMHDR hdr; 4828 - int iFrom; 4829 - int iTo; 4830 - UINT uNewState; 4831 - UINT uOldState; 4832 -} 4833 -alias tagNMLVODSTATECHANGE NMLVODSTATECHANGE; 4834 -alias tagNMLVODSTATECHANGE* LPNMLVODSTATECHANGE; 4835 - 4836 -alias LPNMLVODSTATECHANGE PNM_ODSTATECHANGE; 4837 -alias LPNMLVODSTATECHANGE LPNM_ODSTATECHANGE; 4838 -alias NMLVODSTATECHANGE NM_ODSTATECHANGE; 4839 -// #endif // _WIN32_IE >= 0x0300 4840 - 4841 -enum : uint { LVN_ITEMCHANGING = LVN_FIRST-0 } 4842 -enum : uint { LVN_ITEMCHANGED = LVN_FIRST-1 } 4843 -enum : uint { LVN_INSERTITEM = LVN_FIRST-2 } 4844 -enum : uint { LVN_DELETEITEM = LVN_FIRST-3 } 4845 -enum : uint { LVN_DELETEALLITEMS = LVN_FIRST-4 } 4846 -enum : uint { LVN_BEGINLABELEDITA = LVN_FIRST-5 } 4847 -enum : uint { LVN_BEGINLABELEDITW = LVN_FIRST-75 } 4848 -enum : uint { LVN_ENDLABELEDITA = LVN_FIRST-6 } 4849 -enum : uint { LVN_ENDLABELEDITW = LVN_FIRST-76 } 4850 -enum : uint { LVN_COLUMNCLICK = LVN_FIRST-8 } 4851 -enum : uint { LVN_BEGINDRAG = LVN_FIRST-9 } 4852 -enum : uint { LVN_BEGINRDRAG = LVN_FIRST-11 } 4853 - 4854 -// #if (_WIN32_IE >= 0x0300) 4855 -enum : uint { LVN_ODCACHEHINT = LVN_FIRST-13 } 4856 -enum : uint { LVN_ODFINDITEMA = LVN_FIRST-52 } 4857 -enum : uint { LVN_ODFINDITEMW = LVN_FIRST-79 } 4858 - 4859 -enum : uint { LVN_ITEMACTIVATE = LVN_FIRST-14 } 4860 -enum : uint { LVN_ODSTATECHANGED = LVN_FIRST-15 } 4861 - 4862 -// #ifdef UNICODE 4863 -// #... 4864 -// #else 4865 -alias LVN_ODFINDITEMA LVN_ODFINDITEM; 4866 -// #endif 4867 -// #endif // _WIN32_IE >= 0x0300 4868 - 4869 -// #if (_WIN32_IE >= 0x0400) 4870 -enum : uint { LVN_HOTTRACK = LVN_FIRST-21 } 4871 -// #endif 4872 - 4873 -enum : uint { LVN_GETDISPINFOA = LVN_FIRST-50 } 4874 -enum : uint { LVN_GETDISPINFOW = LVN_FIRST-77 } 4875 -enum : uint { LVN_SETDISPINFOA = LVN_FIRST-51 } 4876 -enum : uint { LVN_SETDISPINFOW = LVN_FIRST-78 } 4877 - 4878 -// #ifdef UNICODE 4879 -// #... 4880 -// #... 4881 -// #... 4882 -// #... 4883 -// #else 4884 -alias LVN_BEGINLABELEDITA LVN_BEGINLABELEDIT; 4885 -alias LVN_ENDLABELEDITA LVN_ENDLABELEDIT; 4886 -alias LVN_GETDISPINFOA LVN_GETDISPINFO; 4887 -alias LVN_SETDISPINFOA LVN_SETDISPINFO; 4888 -// #endif 4889 - 4890 -enum : uint { LVIF_DI_SETITEM = 0x1000 } 4891 - 4892 -// #if (_WIN32_IE >= 0x0300) 4893 -alias NMLVDISPINFOA LV_DISPINFOA; 4894 -alias NMLVDISPINFOW LV_DISPINFOW; 4895 -// #else 4896 -// #... 4897 -// #... 4898 -// #... 4899 -// #... 4900 -// #endif 4901 - 4902 -alias NMLVDISPINFO LV_DISPINFO; 4903 - 4904 -struct tagLVDISPINFO { 4905 - NMHDR hdr; 4906 - LVITEMA item; 4907 -} 4908 -alias tagLVDISPINFO NMLVDISPINFOA; 4909 -alias tagLVDISPINFO* LPNMLVDISPINFOA; 4910 - 4911 -struct tagLVDISPINFOW { 4912 - NMHDR hdr; 4913 - LVITEMW item; 4914 -} 4915 -alias tagLVDISPINFOW NMLVDISPINFOW; 4916 -alias tagLVDISPINFOW* LPNMLVDISPINFOW; 4917 - 4918 -// #ifdef UNICODE 4919 -// #... 4920 -// #else 4921 -alias NMLVDISPINFOA NMLVDISPINFO; 4922 -// #endif 4923 - 4924 -enum : uint { LVN_KEYDOWN = LVN_FIRST-55 } 4925 - 4926 -// #if (_WIN32_IE >= 0x0300) 4927 -alias NMLVKEYDOWN LV_KEYDOWN; 4928 -// #else 4929 -// #... 4930 -// #... 4931 -// #endif 4932 - 4933 -// #ifdef _WIN32 4934 -align(1): 4935 -// #endif 4936 - 4937 -struct tagLVKEYDOWN { 4938 - NMHDR hdr; 4939 - WORD wVKey; 4940 - UINT flags; 4941 -} 4942 -alias tagLVKEYDOWN NMLVKEYDOWN; 4943 -alias tagLVKEYDOWN* LPNMLVKEYDOWN; 4944 - 4945 -// #ifdef _WIN32 4946 -align: 4947 -// #endif 4948 - 4949 -// #if (_WIN32_IE >= 0x0300) 4950 -enum : uint { LVN_MARQUEEBEGIN = LVN_FIRST-56 } 4951 -// #endif 4952 - 4953 -// #if (_WIN32_IE >= 0x0400) 4954 -struct tagNMLVGETINFOTIPA { 4955 - NMHDR hdr; 4956 - DWORD dwFlags; 4957 - LPSTR pszText; 4958 - int cchTextMax; 4959 - int iItem; 4960 - int iSubItem; 4961 - LPARAM lParam; 4962 -} 4963 -alias tagNMLVGETINFOTIPA NMLVGETINFOTIPA; 4964 -alias tagNMLVGETINFOTIPA* LPNMLVGETINFOTIPA; 4965 - 4966 -struct tagNMLVGETINFOTIPW { 4967 - NMHDR hdr; 4968 - DWORD dwFlags; 4969 - LPWSTR pszText; 4970 - int cchTextMax; 4971 - int iItem; 4972 - int iSubItem; 4973 - LPARAM lParam; 4974 -} 4975 -alias tagNMLVGETINFOTIPW NMLVGETINFOTIPW; 4976 -alias tagNMLVGETINFOTIPW* LPNMLVGETINFOTIPW; 4977 - 4978 -enum : uint { LVGIT_UNFOLDED = 0x0001 } 4979 - 4980 -enum : uint { LVN_GETINFOTIPA = LVN_FIRST-57 } 4981 -enum : uint { LVN_GETINFOTIPW = LVN_FIRST-58 } 4982 - 4983 -// #ifdef UNICODE 4984 -// #... 4985 -// #... 4986 -// #... 4987 -// #else 4988 -alias LVN_GETINFOTIPA LVN_GETINFOTIP; 4989 -alias NMLVGETINFOTIPA NMLVGETINFOTIP; 4990 -alias LPNMLVGETINFOTIPA LPNMLVGETINFOTIP; 4991 -// #endif 4992 - 4993 -// #endif // _WIN32_IE >= 0x0400 4994 - 4995 -// #if (_WIN32_WINNT >= 0x501) 4996 -struct tagNMLVSCROLL { 4997 - NMHDR hdr; 4998 - int dx; 4999 - int dy; 5000 -} 5001 -alias tagNMLVSCROLL NMLVSCROLL; 5002 -alias tagNMLVSCROLL* LPNMLVSCROLL; 5003 - 5004 -enum : uint { LVN_BEGINSCROLL = LVN_FIRST-80 } 5005 -enum : uint { LVN_ENDSCROLL = LVN_FIRST-81 } 5006 -// #endif 5007 - 5008 -// #endif // NOLISTVIEW 5009 - 5010 -// #ifndef NOTREEVIEW 5011 - 5012 -// #ifdef _WIN32 5013 -const char[] WC_TREEVIEWA = "SysTreeView32"; 5014 -const wchar[] WC_TREEVIEWW = "SysTreeView32"; 5015 - 5016 -// #ifdef UNICODE 5017 -// #... 5018 -// #else 5019 -alias WC_TREEVIEWA WC_TREEVIEW; 5020 -// #endif 5021 - 5022 -// #else 5023 -// #... 5024 -// #endif 5025 - 5026 -enum : uint { TVS_HASBUTTONS = 0x0001 } 5027 -enum : uint { TVS_HASLINES = 0x0002 } 5028 -enum : uint { TVS_LINESATROOT = 0x0004 } 5029 -enum : uint { TVS_EDITLABELS = 0x0008 } 5030 -enum : uint { TVS_DISABLEDRAGDROP = 0x0010 } 5031 -enum : uint { TVS_SHOWSELALWAYS = 0x0020 } 5032 -// #if (_WIN32_IE >= 0x0300) 5033 -enum : uint { TVS_RTLREADING = 0x0040 } 5034 - 5035 -enum : uint { TVS_NOTOOLTIPS = 0x0080 } 5036 -enum : uint { TVS_CHECKBOXES = 0x0100 } 5037 -enum : uint { TVS_TRACKSELECT = 0x0200 } 5038 -// #if (_WIN32_IE >= 0x0400) 5039 -enum : uint { TVS_SINGLEEXPAND = 0x0400 } 5040 -enum : uint { TVS_INFOTIP = 0x0800 } 5041 -enum : uint { TVS_FULLROWSELECT = 0x1000 } 5042 -enum : uint { TVS_NOSCROLL = 0x2000 } 5043 -enum : uint { TVS_NONEVENHEIGHT = 0x4000 } 5044 -// #endif 5045 -// #if (_WIN32_IE >= 0x500) 5046 -enum : uint { TVS_NOHSCROLL = 0x8000 } 5047 -// #endif 5048 -// #endif 5049 - 5050 -alias _TREEITEM* HTREEITEM; 5051 - 5052 -enum : uint { TVIF_TEXT = 0x0001 } 5053 -enum : uint { TVIF_IMAGE = 0x0002 } 5054 -enum : uint { TVIF_PARAM = 0x0004 } 5055 -enum : uint { TVIF_STATE = 0x0008 } 5056 -enum : uint { TVIF_HANDLE = 0x0010 } 5057 -enum : uint { TVIF_SELECTEDIMAGE = 0x0020 } 5058 -enum : uint { TVIF_CHILDREN = 0x0040 } 5059 -// #if (_WIN32_IE >= 0x0400) 5060 -enum : uint { TVIF_INTEGRAL = 0x0080 } 5061 -// #endif 5062 -enum : uint { TVIS_SELECTED = 0x0002 } 5063 -enum : uint { TVIS_CUT = 0x0004 } 5064 -enum : uint { TVIS_DROPHILITED = 0x0008 } 5065 -enum : uint { TVIS_BOLD = 0x0010 } 5066 -enum : uint { TVIS_EXPANDED = 0x0020 } 5067 -enum : uint { TVIS_EXPANDEDONCE = 0x0040 } 5068 -// #if (_WIN32_IE >= 0x0300) 5069 -enum : uint { TVIS_EXPANDPARTIAL = 0x0080 } 5070 -// #endif 5071 - 5072 -enum : uint { TVIS_OVERLAYMASK = 0x0F00 } 5073 -enum : uint { TVIS_STATEIMAGEMASK = 0xF000 } 5074 -enum : uint { TVIS_USERMASK = 0xF000 } 5075 - 5076 -enum { I_CHILDRENCALLBACK = -1 } 5077 - 5078 -// #if (_WIN32_IE >= 0x0300) 5079 -alias LPTVITEMW LPTV_ITEMW; 5080 -alias LPTVITEMA LPTV_ITEMA; 5081 -alias TVITEMW TV_ITEMW; 5082 -alias TVITEMA TV_ITEMA; 5083 -// #else 5084 -// #... 5085 -// #... 5086 -// #... 5087 -// #... 5088 -// #... 5089 -// #... 5090 -// #endif 5091 - 5092 -alias LPTVITEM LPTV_ITEM; 5093 -alias TVITEM TV_ITEM; 5094 - 5095 -struct tagTVITEMA { 5096 - UINT mask; 5097 - HTREEITEM hItem; 5098 - UINT state; 5099 - UINT stateMask; 5100 - LPSTR pszText; 5101 - int cchTextMax; 5102 - int iImage; 5103 - int iSelectedImage; 5104 - int cChildren; 5105 - LPARAM lParam; 5106 -} 5107 -alias tagTVITEMA TVITEMA; 5108 -alias tagTVITEMA* LPTVITEMA; 5109 - 5110 -struct tagTVITEMW { 5111 - UINT mask; 5112 - HTREEITEM hItem; 5113 - UINT state; 5114 - UINT stateMask; 5115 - LPWSTR pszText; 5116 - int cchTextMax; 5117 - int iImage; 5118 - int iSelectedImage; 5119 - int cChildren; 5120 - LPARAM lParam; 5121 -} 5122 -alias tagTVITEMW TVITEMW; 5123 -alias tagTVITEMW* LPTVITEMW; 5124 - 5125 -// #if (_WIN32_IE >= 0x0400) 5126 - 5127 -struct tagTVITEMEXA { 5128 - UINT mask; 5129 - HTREEITEM hItem; 5130 - UINT state; 5131 - UINT stateMask; 5132 - LPSTR pszText; 5133 - int cchTextMax; 5134 - int iImage; 5135 - int iSelectedImage; 5136 - int cChildren; 5137 - LPARAM lParam; 5138 - int iIntegral; 5139 -} 5140 -alias tagTVITEMEXA TVITEMEXA; 5141 -alias tagTVITEMEXA* LPTVITEMEXA; 5142 - 5143 -struct tagTVITEMEXW { 5144 - UINT mask; 5145 - HTREEITEM hItem; 5146 - UINT state; 5147 - UINT stateMask; 5148 - LPWSTR pszText; 5149 - int cchTextMax; 5150 - int iImage; 5151 - int iSelectedImage; 5152 - int cChildren; 5153 - LPARAM lParam; 5154 - int iIntegral; 5155 -} 5156 -alias tagTVITEMEXW TVITEMEXW; 5157 -alias tagTVITEMEXW* LPTVITEMEXW; 5158 - 5159 -// #ifdef UNICODE 5160 -// ... 5161 -// #else 5162 -alias TVITEMEXA TVITEMEX; 5163 -alias LPTVITEMEXA LPTVITEMEX; 5164 -// #endif // UNICODE 5165 - 5166 -// #endif 5167 - 5168 -// #ifdef UNICODE 5169 -// #... 5170 -// #... 5171 -// #else 5172 -alias TVITEMA TVITEM; 5173 -alias LPTVITEMA LPTVITEM; 5174 -// #endif 5175 - 5176 -const HTREEITEM TVI_ROOT = cast(HTREEITEM)(-0x10000); 5177 -const HTREEITEM TVI_FIRST = cast(HTREEITEM)(-0x0FFFF); 5178 -const HTREEITEM TVI_LAST = cast(HTREEITEM)(-0x0FFFE); 5179 -const HTREEITEM TVI_SORT = cast(HTREEITEM)(-0x0FFFD); 5180 - 5181 -// #if (_WIN32_IE >= 0x0300) 5182 -alias LPTVINSERTSTRUCTA LPTV_INSERTSTRUCTA; 5183 -alias LPTVINSERTSTRUCTW LPTV_INSERTSTRUCTW; 5184 -alias TVINSERTSTRUCTA TV_INSERTSTRUCTA; 5185 -alias TVINSERTSTRUCTW TV_INSERTSTRUCTW; 5186 -// #else 5187 -// #... 5188 -// #... 5189 -// #... 5190 -// #... 5191 -// #... 5192 -// #... 5193 -// #endif 5194 - 5195 -alias TVINSERTSTRUCT TV_INSERTSTRUCT; 5196 -alias LPTVINSERTSTRUCT LPTV_INSERTSTRUCT; 5197 - 5198 -// #define TVINSERTSTRUCTA_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTA, item) 5199 -// #define TVINSERTSTRUCTW_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTW, item) 5200 - 5201 -struct tagTVINSERTSTRUCTA { 5202 - HTREEITEM hParent; 5203 - HTREEITEM hInsertAfter; 5204 -// #if (_WIN32_IE >= 0x0400) 5205 -union { 5206 - TVITEMEXA itemex; 5207 - TV_ITEMA item; 5208 -} 5209 - 5210 -// #else 5211 -// ... 5212 -// #endif 5213 -} 5214 -alias tagTVINSERTSTRUCTA TVINSERTSTRUCTA; 5215 -alias tagTVINSERTSTRUCTA* LPTVINSERTSTRUCTA; 5216 - 5217 -struct tagTVINSERTSTRUCTW { 5218 - HTREEITEM hParent; 5219 - HTREEITEM hInsertAfter; 5220 -// #if (_WIN32_IE >= 0x0400) 5221 -union { 5222 - TVITEMEXW itemex; 5223 - TV_ITEMW item; 5224 -} 5225 - 5226 -// #else 5227 -// ... 5228 -// #endif 5229 -} 5230 -alias tagTVINSERTSTRUCTW TVINSERTSTRUCTW; 5231 -alias tagTVINSERTSTRUCTW* LPTVINSERTSTRUCTW; 5232 - 5233 -// #ifdef UNICODE 5234 -// #... 5235 -// #... 5236 -// #... 5237 -// #else 5238 -alias TVINSERTSTRUCTA TVINSERTSTRUCT; 5239 -alias LPTVINSERTSTRUCTA LPTVINSERTSTRUCT; 5240 -// #define TVINSERTSTRUCT_V1_SIZE TVINSERTSTRUCTA_V1_SIZE 5241 -// #endif 5242 - 5243 -enum : uint { TVM_INSERTITEMA = TV_FIRST + 0 } 5244 -enum : uint { TVM_INSERTITEMW = TV_FIRST + 50 } 5245 -// #ifdef UNICODE 5246 -// #... 5247 -// #else 5248 -alias TVM_INSERTITEMA TVM_INSERTITEM; 5249 -// #endif 5250 - 5251 -// #define TreeView_InsertItem(hwnd, lpis) (HTREEITEM)SNDMSG((hwnd), TVM_INSERTITEM, 0, (LPARAM)(LPTV_INSERTSTRUCT)(lpis)) 5252 - 5253 -enum : uint { TVM_DELETEITEM = TV_FIRST + 1 } 5254 -// #define TreeView_DeleteItem(hwnd, hitem) (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)(HTREEITEM)(hitem)) 5255 - 5256 -// #define TreeView_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT) 5257 - 5258 -enum : uint { TVM_EXPAND = TV_FIRST + 2 } 5259 -// #define TreeView_Expand(hwnd, hitem, code) (BOOL)SNDMSG((hwnd), TVM_EXPAND, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) 5260 - 5261 -enum : uint { TVE_COLLAPSE = 0x0001 } 5262 -enum : uint { TVE_EXPAND = 0x0002 } 5263 -enum : uint { TVE_TOGGLE = 0x0003 } 5264 -// #if (_WIN32_IE >= 0x0300) 5265 -enum : uint { TVE_EXPANDPARTIAL = 0x4000 } 5266 -// #endif 5267 -enum : uint { TVE_COLLAPSERESET = 0x8000 } 5268 - 5269 -enum : uint { TVM_GETITEMRECT = TV_FIRST + 4 } 5270 -// #define TreeView_GetItemRect(hwnd, hitem, prc, code) (*(HTREEITEM *)prc = (hitem), (BOOL)SNDMSG((hwnd), TVM_GETITEMRECT, (WPARAM)(code), (LPARAM)(RECT *)(prc))) 5271 - 5272 -enum : uint { TVM_GETCOUNT = TV_FIRST + 5 } 5273 -// #define TreeView_GetCount(hwnd) (UINT)SNDMSG((hwnd), TVM_GETCOUNT, 0, 0) 5274 - 5275 -enum : uint { TVM_GETINDENT = TV_FIRST + 6 } 5276 -// #define TreeView_GetIndent(hwnd) (UINT)SNDMSG((hwnd), TVM_GETINDENT, 0, 0) 5277 - 5278 -enum : uint { TVM_SETINDENT = TV_FIRST + 7 } 5279 -// #define TreeView_SetIndent(hwnd, indent) (BOOL)SNDMSG((hwnd), TVM_SETINDENT, (WPARAM)(indent), 0) 5280 - 5281 -enum : uint { TVM_GETIMAGELIST = TV_FIRST + 8 } 5282 -// #define TreeView_GetImageList(hwnd, iImage) (HIMAGELIST)SNDMSG((hwnd), TVM_GETIMAGELIST, iImage, 0) 5283 - 5284 -enum : uint { TVSIL_NORMAL = 0 } 5285 -enum : uint { TVSIL_STATE = 2 } 5286 - 5287 -enum : uint { TVM_SETIMAGELIST = TV_FIRST + 9 } 5288 -// #define TreeView_SetImageList(hwnd, himl, iImage) (HIMAGELIST)SNDMSG((hwnd), TVM_SETIMAGELIST, iImage, (LPARAM)(HIMAGELIST)(himl)) 5289 - 5290 -enum : uint { TVM_GETNEXTITEM = TV_FIRST + 10 } 5291 -// #define TreeView_GetNextItem(hwnd, hitem, code) (HTREEITEM)SNDMSG((hwnd), TVM_GETNEXTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) 5292 - 5293 -enum : uint { TVGN_ROOT = 0x0000 } 5294 -enum : uint { TVGN_NEXT = 0x0001 } 5295 -enum : uint { TVGN_PREVIOUS = 0x0002 } 5296 -enum : uint { TVGN_PARENT = 0x0003 } 5297 -enum : uint { TVGN_CHILD = 0x0004 } 5298 -enum : uint { TVGN_FIRSTVISIBLE = 0x0005 } 5299 -enum : uint { TVGN_NEXTVISIBLE = 0x0006 } 5300 -enum : uint { TVGN_PREVIOUSVISIBLE = 0x0007 } 5301 -enum : uint { TVGN_DROPHILITE = 0x0008 } 5302 -enum : uint { TVGN_CARET = 0x0009 } 5303 -// #if (_WIN32_IE >= 0x0400) 5304 -enum : uint { TVGN_LASTVISIBLE = 0x000A } 5305 -// #endif // _WIN32_IE >= 0x0400 5306 - 5307 -// #if (_WIN32_WINNT >= 0x501) 5308 -enum : uint { TVSI_NOSINGLEEXPAND = 0x8000 } 5309 -// #endif 5310 - 5311 -// #define TreeView_GetChild(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_CHILD) 5312 -// #define TreeView_GetNextSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXT) 5313 -// #define TreeView_GetPrevSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUS) 5314 -// #define TreeView_GetParent(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PARENT) 5315 -// #define TreeView_GetFirstVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_FIRSTVISIBLE) 5316 -// #define TreeView_GetNextVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTVISIBLE) 5317 -// #define TreeView_GetPrevVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUSVISIBLE) 5318 -// #define TreeView_GetSelection(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_CARET) 5319 -// #define TreeView_GetDropHilight(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_DROPHILITE) 5320 -// #define TreeView_GetRoot(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_ROOT) 5321 -// #if (_WIN32_IE >= 0x0400) 5322 -// #define TreeView_GetLastVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE) 5323 -// #endif // _WIN32_IE >= 0x0400 5324 - 5325 -enum : uint { TVM_SELECTITEM = TV_FIRST + 11 } 5326 -// #define TreeView_Select(hwnd, hitem, code) (BOOL)SNDMSG((hwnd), TVM_SELECTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) 5327 - 5328 -// #define TreeView_SelectItem(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_CARET) 5329 -// #define TreeView_SelectDropTarget(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_DROPHILITE) 5330 -// #define TreeView_SelectSetFirstVisible(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE) 5331 - 5332 -enum : uint { TVM_GETITEMA = TV_FIRST + 12 } 5333 -enum : uint { TVM_GETITEMW = TV_FIRST + 62 } 5334 - 5335 -// #ifdef UNICODE 5336 -// #... 5337 -// #else 5338 -alias TVM_GETITEMA TVM_GETITEM; 5339 -// #endif 5340 - 5341 -// #define TreeView_GetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), TVM_GETITEM, 0, (LPARAM)(TV_ITEM *)(pitem)) 5342 - 5343 -enum : uint { TVM_SETITEMA = TV_FIRST + 13 } 5344 -enum : uint { TVM_SETITEMW = TV_FIRST + 63 } 5345 - 5346 -// #ifdef UNICODE 5347 -// #... 5348 -// #else 5349 -alias TVM_SETITEMA TVM_SETITEM; 5350 -// #endif 5351 - 5352 -// #define TreeView_SetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), TVM_SETITEM, 0, (LPARAM)(const TV_ITEM *)(pitem)) 5353 - 5354 -enum : uint { TVM_EDITLABELA = TV_FIRST + 14 } 5355 -enum : uint { TVM_EDITLABELW = TV_FIRST + 65 } 5356 -// #ifdef UNICODE 5357 -// #... 5358 -// #else 5359 -alias TVM_EDITLABELA TVM_EDITLABEL; 5360 -// #endif 5361 - 5362 -// #define TreeView_EditLabel(hwnd, hitem) (HWND)SNDMSG((hwnd), TVM_EDITLABEL, 0, (LPARAM)(HTREEITEM)(hitem)) 5363 - 5364 -enum : uint { TVM_GETEDITCONTROL = TV_FIRST + 15 } 5365 -// #define TreeView_GetEditControl(hwnd) (HWND)SNDMSG((hwnd), TVM_GETEDITCONTROL, 0, 0) 5366 - 5367 -enum : uint { TVM_GETVISIBLECOUNT = TV_FIRST + 16 } 5368 -// #define TreeView_GetVisibleCount(hwnd) (UINT)SNDMSG((hwnd), TVM_GETVISIBLECOUNT, 0, 0) 5369 - 5370 -enum : uint { TVM_HITTEST = TV_FIRST + 17 } 5371 -// #define TreeView_HitTest(hwnd, lpht) (HTREEITEM)SNDMSG((hwnd), TVM_HITTEST, 0, (LPARAM)(LPTV_HITTESTINFO)(lpht)) 5372 - 5373 -// #if (_WIN32_IE >= 0x0300) 5374 -alias LPTVHITTESTINFO LPTV_HITTESTINFO; 5375 -alias TVHITTESTINFO TV_HITTESTINFO; 5376 -// #else 5377 -// #... 5378 -// #... 5379 -// #... 5380 -// #endif 5381 - 5382 -struct tagTVHITTESTINFO { 5383 - POINT pt; 5384 - UINT flags; 5385 - HTREEITEM hItem; 5386 -} 5387 -alias tagTVHITTESTINFO TVHITTESTINFO; 5388 -alias tagTVHITTESTINFO* LPTVHITTESTINFO; 5389 - 5390 -enum : uint { TVHT_NOWHERE = 0x0001 } 5391 -enum : uint { TVHT_ONITEMICON = 0x0002 } 5392 -enum : uint { TVHT_ONITEMLABEL = 0x0004 } 5393 -enum : uint { TVHT_ONITEM = TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON } 5394 -enum : uint { TVHT_ONITEMINDENT = 0x0008 } 5395 -enum : uint { TVHT_ONITEMBUTTON = 0x0010 } 5396 -enum : uint { TVHT_ONITEMRIGHT = 0x0020 } 5397 -// #define TVHT_ONITEMSTATEICON 0x0040 5398 - 5399 -enum : uint { TVHT_ABOVE = 0x0100 } 5400 -enum : uint { TVHT_BELOW = 0x0200 } 5401 -enum : uint { TVHT_TORIGHT = 0x0400 } 5402 -enum : uint { TVHT_TOLEFT = 0x0800 } 5403 - 5404 -enum : uint { TVM_CREATEDRAGIMAGE = TV_FIRST + 18 } 5405 -// #define TreeView_CreateDragImage(hwnd, hitem) (HIMAGELIST)SNDMSG((hwnd), TVM_CREATEDRAGIMAGE, 0, (LPARAM)(HTREEITEM)(hitem)) 5406 - 5407 -enum : uint { TVM_SORTCHILDREN = TV_FIRST + 19 } 5408 -// #define TreeView_SortChildren(hwnd, hitem, recurse) (BOOL)SNDMSG((hwnd), TVM_SORTCHILDREN, (WPARAM)(recurse), (LPARAM)(HTREEITEM)(hitem)) 5409 - 5410 -enum : uint { TVM_ENSUREVISIBLE = TV_FIRST + 20 } 5411 -// #define TreeView_EnsureVisible(hwnd, hitem) (BOOL)SNDMSG((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(HTREEITEM)(hitem)) 5412 - 5413 -enum : uint { TVM_SORTCHILDRENCB = TV_FIRST + 21 } 5414 -// #define TreeView_SortChildrenCB(hwnd, psort, recurse) (BOOL)SNDMSG((hwnd), TVM_SORTCHILDRENCB, (WPARAM)(recurse), (LPARAM)(LPTV_SORTCB)(psort)) 5415 - 5416 -enum : uint { TVM_ENDEDITLABELNOW = TV_FIRST + 22 } 5417 -// #define TreeView_EndEditLabelNow(hwnd, fCancel) (BOOL)SNDMSG((hwnd), TVM_ENDEDITLABELNOW, (WPARAM)(fCancel), 0) 5418 - 5419 -enum : uint { TVM_GETISEARCHSTRINGA = TV_FIRST + 23 } 5420 -enum : uint { TVM_GETISEARCHSTRINGW = TV_FIRST + 64 } 5421 - 5422 -// #ifdef UNICODE 5423 -// #... 5424 -// #else 5425 -alias TVM_GETISEARCHSTRINGA TVM_GETISEARCHSTRING; 5426 -// #endif 5427 - 5428 -// #if (_WIN32_IE >= 0x0300) 5429 -enum : uint { TVM_SETTOOLTIPS = TV_FIRST + 24 } 5430 -// #define TreeView_SetToolTips(hwnd, hwndTT) (HWND)SNDMSG((hwnd), TVM_SETTOOLTIPS, (WPARAM)(hwndTT), 0) 5431 -enum : uint { TVM_GETTOOLTIPS = TV_FIRST + 25 } 5432 -// #define TreeView_GetToolTips(hwnd) (HWND)SNDMSG((hwnd), TVM_GETTOOLTIPS, 0, 0) 5433 -// #endif 5434 - 5435 -// #define TreeView_GetISearchString(hwndTV, lpsz) (BOOL)SNDMSG((hwndTV), TVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz)) 5436 - 5437 -// #if (_WIN32_IE >= 0x0400) 5438 -enum : uint { TVM_SETINSERTMARK = TV_FIRST + 26 } 5439 -// #define TreeView_SetInsertMark(hwnd, hItem, fAfter) (BOOL)SNDMSG((hwnd), TVM_SETINSERTMARK, (WPARAM) (fAfter), (LPARAM) (hItem)) 5440 - 5441 -alias CCM_SETUNICODEFORMAT TVM_SETUNICODEFORMAT; 5442 -// #define TreeView_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), TVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 5443 - 5444 -alias CCM_GETUNICODEFORMAT TVM_GETUNICODEFORMAT; 5445 -// #define TreeView_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), TVM_GETUNICODEFORMAT, 0, 0) 5446 - 5447 -// #endif 5448 - 5449 -// #if (_WIN32_IE >= 0x0400) 5450 -enum : uint { TVM_SETITEMHEIGHT = TV_FIRST + 27 } 5451 -// #define TreeView_SetItemHeight(hwnd, iHeight) (int)SNDMSG((hwnd), TVM_SETITEMHEIGHT, (WPARAM)(iHeight), 0) 5452 -enum : uint { TVM_GETITEMHEIGHT = TV_FIRST + 28 } 5453 -// #define TreeView_GetItemHeight(hwnd) (int)SNDMSG((hwnd), TVM_GETITEMHEIGHT, 0, 0) 5454 - 5455 -enum : uint { TVM_SETBKCOLOR = TV_FIRST + 29 } 5456 -// #define TreeView_SetBkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)(clr)) 5457 - 5458 -enum : uint { TVM_SETTEXTCOLOR = TV_FIRST + 30 } 5459 -// #define TreeView_SetTextColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETTEXTCOLOR, 0, (LPARAM)(clr)) 5460 - 5461 -enum : uint { TVM_GETBKCOLOR = TV_FIRST + 31 } 5462 -// #define TreeView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETBKCOLOR, 0, 0) 5463 - 5464 -enum : uint { TVM_GETTEXTCOLOR = TV_FIRST + 32 } 5465 -// #define TreeView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETTEXTCOLOR, 0, 0) 5466 - 5467 -enum : uint { TVM_SETSCROLLTIME = TV_FIRST + 33 } 5468 -// #define TreeView_SetScrollTime(hwnd, uTime) (UINT)SNDMSG((hwnd), TVM_SETSCROLLTIME, uTime, 0) 5469 - 5470 -enum : uint { TVM_GETSCROLLTIME = TV_FIRST + 34 } 5471 -// #define TreeView_GetScrollTime(hwnd) (UINT)SNDMSG((hwnd), TVM_GETSCROLLTIME, 0, 0) 5472 - 5473 -enum : uint { TVM_SETINSERTMARKCOLOR = TV_FIRST + 37 } 5474 -// #define TreeView_SetInsertMarkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)(clr)) 5475 -enum : uint { TVM_GETINSERTMARKCOLOR = TV_FIRST + 38 } 5476 -// #define TreeView_GetInsertMarkColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0) 5477 - 5478 -// #endif /* (_WIN32_IE >= 0x0400) */ 5479 - 5480 -// #if (_WIN32_IE >= 0x0500) 5481 - 5482 -// #define TreeView_SetItemState(hwndTV, hti, data, _mask) { TVITEM _ms_TVi; _ms_TVi.mask = TVIF_STATE; _ms_TVi.hItem = hti; _ms_TVi.stateMask = _mask; _ms_TVi.state = data; SNDMSG((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_ms_TVi); } 5483 - 5484 -// #define TreeView_SetCheckState(hwndTV, hti, fCheck) TreeView_SetItemState(hwndTV, hti, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), TVIS_STATEIMAGEMASK) 5485 - 5486 -enum : uint { TVM_GETITEMSTATE = TV_FIRST + 39 } 5487 -// #define TreeView_GetItemState(hwndTV, hti, mask) (UINT)SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), (LPARAM)(mask)) 5488 - 5489 -// #define TreeView_GetCheckState(hwndTV, hti) ((((UINT)(SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), TVIS_STATEIMAGEMASK))) >> 12) -1) 5490 - 5491 -enum : uint { TVM_SETLINECOLOR = TV_FIRST + 40 } 5492 -// #define TreeView_SetLineColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETLINECOLOR, 0, (LPARAM)(clr)) 5493 - 5494 -enum : uint { TVM_GETLINECOLOR = TV_FIRST + 41 } 5495 -// #define TreeView_GetLineColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETLINECOLOR, 0, 0) 5496 - 5497 -// #endif 5498 - 5499 -// #if (_WIN32_WINNT >= 0x0501) 5500 -enum : uint { TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42 } 5501 -// #define TreeView_MapAccIDToHTREEITEM(hwnd, id) (HTREEITEM)SNDMSG((hwnd), TVM_MAPACCIDTOHTREEITEM, id, 0) 5502 - 5503 -enum : uint { TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43 } 5504 -// #define TreeView_MapHTREEITEMToAccID(hwnd, htreeitem) (UINT)SNDMSG((hwnd), TVM_MAPHTREEITEMTOACCID, (WPARAM)htreeitem, 0) 5505 - 5506 -// #endif 5507 - 5508 -extern(Windows) alias int function(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) PFNTVCOMPARE; 5509 - 5510 -// #if (_WIN32_IE >= 0x0300) 5511 -alias LPTVSORTCB LPTV_SORTCB; 5512 -alias TVSORTCB TV_SORTCB; 5513 -// #else 5514 -// #... 5515 -// #... 5516 -// #... 5517 -// #endif 5518 - 5519 -struct tagTVSORTCB { 5520 - HTREEITEM hParent; 5521 - PFNTVCOMPARE lpfnCompare; 5522 - LPARAM lParam; 5523 -} 5524 -alias tagTVSORTCB TVSORTCB; 5525 -alias tagTVSORTCB* LPTVSORTCB; 5526 - 5527 -// #if (_WIN32_IE >= 0x0300) 5528 -alias LPNMTREEVIEWA LPNM_TREEVIEWA; 5529 -alias LPNMTREEVIEWW LPNM_TREEVIEWW; 5530 -alias NMTREEVIEWW NM_TREEVIEWW; 5531 -alias NMTREEVIEWA NM_TREEVIEWA; 5532 -// #else 5533 -// #... 5534 -// #... 5535 -// #... 5536 -// #... 5537 -// #... 5538 -// #... 5539 -// #endif 5540 - 5541 -alias LPNMTREEVIEW LPNM_TREEVIEW; 5542 -alias NMTREEVIEW NM_TREEVIEW; 5543 - 5544 -struct tagNMTREEVIEWA { 5545 - NMHDR hdr; 5546 - UINT action; 5547 - TVITEMA itemOld; 5548 - TVITEMA itemNew; 5549 - POINT ptDrag; 5550 -} 5551 -alias tagNMTREEVIEWA NMTREEVIEWA; 5552 -alias tagNMTREEVIEWA* LPNMTREEVIEWA; 5553 - 5554 -struct tagNMTREEVIEWW { 5555 - NMHDR hdr; 5556 - UINT action; 5557 - TVITEMW itemOld; 5558 - TVITEMW itemNew; 5559 - POINT ptDrag; 5560 -} 5561 -alias tagNMTREEVIEWW NMTREEVIEWW; 5562 -alias tagNMTREEVIEWW* LPNMTREEVIEWW; 5563 - 5564 -// #ifdef UNICODE 5565 -// #... 5566 -// #... 5567 -// #else 5568 -alias NMTREEVIEWA NMTREEVIEW; 5569 -alias LPNMTREEVIEWA LPNMTREEVIEW; 5570 -// #endif 5571 - 5572 -enum : uint { TVN_SELCHANGINGA = TVN_FIRST-1 } 5573 -enum : uint { TVN_SELCHANGINGW = TVN_FIRST-50 } 5574 -enum : uint { TVN_SELCHANGEDA = TVN_FIRST-2 } 5575 -enum : uint { TVN_SELCHANGEDW = TVN_FIRST-51 } 5576 - 5577 -enum : uint { TVC_UNKNOWN = 0x0000 } 5578 -enum : uint { TVC_BYMOUSE = 0x0001 } 5579 -enum : uint { TVC_BYKEYBOARD = 0x0002 } 5580 - 5581 -enum : uint { TVN_GETDISPINFOA = TVN_FIRST-3 } 5582 -enum : uint { TVN_GETDISPINFOW = TVN_FIRST-52 } 5583 -enum : uint { TVN_SETDISPINFOA = TVN_FIRST-4 } 5584 -enum : uint { TVN_SETDISPINFOW = TVN_FIRST-53 } 5585 - 5586 -enum : uint { TVIF_DI_SETITEM = 0x1000 } 5587 - 5588 -// #if (_WIN32_IE >= 0x0300) 5589 -alias NMTVDISPINFOA TV_DISPINFOA; 5590 -alias NMTVDISPINFOW TV_DISPINFOW; 5591 -// #else 5592 -// #... 5593 -// #... 5594 -// #... 5595 -// #... 5596 -// #endif 5597 - 5598 -alias NMTVDISPINFO TV_DISPINFO; 5599 - 5600 -struct tagTVDISPINFOA { 5601 - NMHDR hdr; 5602 - TVITEMA item; 5603 -} 5604 -alias tagTVDISPINFOA NMTVDISPINFOA; 5605 -alias tagTVDISPINFOA* LPNMTVDISPINFOA; 5606 - 5607 -struct tagTVDISPINFOW { 5608 - NMHDR hdr; 5609 - TVITEMW item; 5610 -} 5611 -alias tagTVDISPINFOW NMTVDISPINFOW; 5612 -alias tagTVDISPINFOW* LPNMTVDISPINFOW; 5613 - 5614 -// #ifdef UNICODE 5615 -// #... 5616 -// #... 5617 -// #else 5618 -alias NMTVDISPINFOA NMTVDISPINFO; 5619 -alias LPNMTVDISPINFOA LPNMTVDISPINFO; 5620 -// #endif 5621 - 5622 -enum : uint { TVN_ITEMEXPANDINGA = TVN_FIRST-5 } 5623 -enum : uint { TVN_ITEMEXPANDINGW = TVN_FIRST-54 } 5624 -enum : uint { TVN_ITEMEXPANDEDA = TVN_FIRST-6 } 5625 -enum : uint { TVN_ITEMEXPANDEDW = TVN_FIRST-55 } 5626 -enum : uint { TVN_BEGINDRAGA = TVN_FIRST-7 } 5627 -enum : uint { TVN_BEGINDRAGW = TVN_FIRST-56 } 5628 -enum : uint { TVN_BEGINRDRAGA = TVN_FIRST-8 } 5629 -enum : uint { TVN_BEGINRDRAGW = TVN_FIRST-57 } 5630 -enum : uint { TVN_DELETEITEMA = TVN_FIRST-9 } 5631 -enum : uint { TVN_DELETEITEMW = TVN_FIRST-58 } 5632 -enum : uint { TVN_BEGINLABELEDITA = TVN_FIRST-10 } 5633 -enum : uint { TVN_BEGINLABELEDITW = TVN_FIRST-59 } 5634 -enum : uint { TVN_ENDLABELEDITA = TVN_FIRST-11 } 5635 -enum : uint { TVN_ENDLABELEDITW = TVN_FIRST-60 } 5636 -enum : uint { TVN_KEYDOWN = TVN_FIRST-12 } 5637 - 5638 -// #if (_WIN32_IE >= 0x0400) 5639 -enum : uint { TVN_GETINFOTIPA = TVN_FIRST-13 } 5640 -enum : uint { TVN_GETINFOTIPW = TVN_FIRST-14 } 5641 -enum : uint { TVN_SINGLEEXPAND = TVN_FIRST-15 } 5642 - 5643 -enum : uint { TVNRET_DEFAULT = 0 } 5644 -enum : uint { TVNRET_SKIPOLD = 1 } 5645 -enum : uint { TVNRET_SKIPNEW = 2 } 5646 - 5647 -// #endif // 0x400 5648 - 5649 -// #if (_WIN32_IE >= 0x0300) 5650 -alias NMTVKEYDOWN TV_KEYDOWN; 5651 -// #else 5652 -// #... 5653 -// #... 5654 -// #endif 5655 - 5656 -// #ifdef _WIN32 5657 -align(1): 5658 -// #endif 5659 - 5660 -struct tagTVKEYDOWN { 5661 - NMHDR hdr; 5662 - WORD wVKey; 5663 - UINT flags; 5664 -} 5665 -alias tagTVKEYDOWN NMTVKEYDOWN; 5666 -alias tagTVKEYDOWN* LPNMTVKEYDOWN; 5667 - 5668 -// #ifdef _WIN32 5669 -align: 5670 -// #endif 5671 - 5672 -// #ifdef UNICODE 5673 -// #... 5674 -// #... 5675 -// #... 5676 -// #... 5677 -// #... 5678 -// #... 5679 -// #... 5680 -// #... 5681 -// #... 5682 -// #... 5683 -// #... 5684 -// #else 5685 -alias TVN_SELCHANGINGA TVN_SELCHANGING; 5686 -alias TVN_SELCHANGEDA TVN_SELCHANGED; 5687 -alias TVN_GETDISPINFOA TVN_GETDISPINFO; 5688 -alias TVN_SETDISPINFOA TVN_SETDISPINFO; 5689 -alias TVN_ITEMEXPANDINGA TVN_ITEMEXPANDING; 5690 -alias TVN_ITEMEXPANDEDA TVN_ITEMEXPANDED; 5691 -alias TVN_BEGINDRAGA TVN_BEGINDRAG; 5692 -alias TVN_BEGINRDRAGA TVN_BEGINRDRAG; 5693 -alias TVN_DELETEITEMA TVN_DELETEITEM; 5694 -alias TVN_BEGINLABELEDITA TVN_BEGINLABELEDIT; 5695 -alias TVN_ENDLABELEDITA TVN_ENDLABELEDIT; 5696 -// #endif 5697 - 5698 -// #if (_WIN32_IE >= 0x0300) 5699 -// #define NMTVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMTVCUSTOMDRAW, clrTextBk) 5700 - 5701 -struct tagNMTVCUSTOMDRAW { 5702 - NMCUSTOMDRAW nmcd; 5703 - COLORREF clrText; 5704 - COLORREF clrTextBk; 5705 -// #if (_WIN32_IE >= 0x0400) 5706 - int iLevel; 5707 -// #endif 5708 -} 5709 -alias tagNMTVCUSTOMDRAW NMTVCUSTOMDRAW; 5710 -alias tagNMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW; 5711 - 5712 -// #endif 5713 - 5714 -// #if (_WIN32_IE >= 0x0400) 5715 - 5716 -struct tagNMTVGETINFOTIPA { 5717 - NMHDR hdr; 5718 - LPSTR pszText; 5719 - int cchTextMax; 5720 - HTREEITEM hItem; 5721 - LPARAM lParam; 5722 -} 5723 -alias tagNMTVGETINFOTIPA NMTVGETINFOTIPA; 5724 -alias tagNMTVGETINFOTIPA* LPNMTVGETINFOTIPA; 5725 - 5726 -struct tagNMTVGETINFOTIPW { 5727 - NMHDR hdr; 5728 - LPWSTR pszText; 5729 - int cchTextMax; 5730 - HTREEITEM hItem; 5731 - LPARAM lParam; 5732 -} 5733 -alias tagNMTVGETINFOTIPW NMTVGETINFOTIPW; 5734 -alias tagNMTVGETINFOTIPW* LPNMTVGETINFOTIPW; 5735 - 5736 -// #ifdef UNICODE 5737 -// #... 5738 -// #... 5739 -// #... 5740 -// #else 5741 -alias TVN_GETINFOTIPA TVN_GETINFOTIP; 5742 -alias NMTVGETINFOTIPA NMTVGETINFOTIP; 5743 -alias LPNMTVGETINFOTIPA LPNMTVGETINFOTIP; 5744 -// #endif 5745 - 5746 -enum : uint { TVCDRF_NOIMAGES = 0x00010000 } 5747 - 5748 -// #endif // _WIN32_IE >= 0x0400 5749 - 5750 -// #endif // NOTREEVIEW 5751 - 5752 -// #if (_WIN32_IE >= 0x0300) 5753 - 5754 -// #ifndef NOUSEREXCONTROLS 5755 - 5756 -const wchar[] WC_COMBOBOXEXW = "ComboBoxEx32"; 5757 -const char[] WC_COMBOBOXEXA = "ComboBoxEx32"; 5758 - 5759 -// #ifdef UNICODE 5760 -// #... 5761 -// #else 5762 -alias WC_COMBOBOXEXA WC_COMBOBOXEX; 5763 -// #endif 5764 - 5765 -enum : uint { CBEIF_TEXT = 0x00000001 } 5766 -enum : uint { CBEIF_IMAGE = 0x00000002 } 5767 -enum : uint { CBEIF_SELECTEDIMAGE = 0x00000004 } 5768 -enum : uint { CBEIF_OVERLAY = 0x00000008 } 5769 -enum : uint { CBEIF_INDENT = 0x00000010 } 5770 -enum : uint { CBEIF_LPARAM = 0x00000020 } 5771 - 5772 -enum : uint { CBEIF_DI_SETITEM = 0x10000000 } 5773 - 5774 -struct tagCOMBOBOXEXITEMA { 5775 - UINT mask; 5776 - INT_PTR iItem; 5777 - LPSTR pszText; 5778 - int cchTextMax; 5779 - int iImage; 5780 - int iSelectedImage; 5781 - int iOverlay; 5782 - int iIndent; 5783 - LPARAM lParam; 5784 -} 5785 -alias tagCOMBOBOXEXITEMA COMBOBOXEXITEMA; 5786 -alias tagCOMBOBOXEXITEMA* PCOMBOBOXEXITEMA; 5787 - 5788 -alias COMBOBOXEXITEMA* PCCOMBOEXITEMA; 5789 - 5790 -struct tagCOMBOBOXEXITEMW { 5791 - UINT mask; 5792 - INT_PTR iItem; 5793 - LPWSTR pszText; 5794 - int cchTextMax; 5795 - int iImage; 5796 - int iSelectedImage; 5797 - int iOverlay; 5798 - int iIndent; 5799 - LPARAM lParam; 5800 -} 5801 -alias tagCOMBOBOXEXITEMW COMBOBOXEXITEMW; 5802 -alias tagCOMBOBOXEXITEMW* PCOMBOBOXEXITEMW; 5803 - 5804 -alias COMBOBOXEXITEMW* PCCOMBOEXITEMW; 5805 - 5806 -// #ifdef UNICODE 5807 -// #... 5808 -// #... 5809 -// #... 5810 -// #else 5811 -alias COMBOBOXEXITEMA COMBOBOXEXITEM; 5812 -alias PCOMBOBOXEXITEMA PCOMBOBOXEXITEM; 5813 -alias PCCOMBOBOXEXITEMA PCCOMBOBOXEXITEM; 5814 -// #endif 5815 - 5816 -enum : uint { CBEM_INSERTITEMA = WM_USER + 1 } 5817 -enum : uint { CBEM_SETIMAGELIST = WM_USER + 2 } 5818 -enum : uint { CBEM_GETIMAGELIST = WM_USER + 3 } 5819 -enum : uint { CBEM_GETITEMA = WM_USER + 4 } 5820 -enum : uint { CBEM_SETITEMA = WM_USER + 5 } 5821 -alias CB_DELETESTRING CBEM_DELETEITEM; 5822 -enum : uint { CBEM_GETCOMBOCONTROL = WM_USER + 6 } 5823 -enum : uint { CBEM_GETEDITCONTROL = WM_USER + 7 } 5824 -// #if (_WIN32_IE >= 0x0400) 5825 -enum : uint { CBEM_SETEXSTYLE = WM_USER + 8 } 5826 -enum : uint { CBEM_SETEXTENDEDSTYLE = WM_USER + 14 } 5827 -enum : uint { CBEM_GETEXSTYLE = WM_USER + 9 } 5828 -enum : uint { CBEM_GETEXTENDEDSTYLE = WM_USER + 9 } 5829 -alias CCM_SETUNICODEFORMAT CBEM_SETUNICODEFORMAT; 5830 -alias CCM_GETUNICODEFORMAT CBEM_GETUNICODEFORMAT; 5831 -// #else 5832 -// #... 5833 -// #... 5834 -// #endif 5835 -enum : uint { CBEM_HASEDITCHANGED = WM_USER + 10 } 5836 -enum : uint { CBEM_INSERTITEMW = WM_USER + 11 } 5837 -enum : uint { CBEM_SETITEMW = WM_USER + 12 } 5838 -enum : uint { CBEM_GETITEMW = WM_USER + 13 } 5839 - 5840 -// #ifdef UNICODE 5841 -// #... 5842 -// #... 5843 -// #... 5844 -// #else 5845 -alias CBEM_INSERTITEMA CBEM_INSERTITEM; 5846 -alias CBEM_SETITEMA CBEM_SETITEM; 5847 -alias CBEM_GETITEMA CBEM_GETITEM; 5848 -// #endif 5849 - 5850 -// #if (_WIN32_WINNT >= 0x501) 5851 -alias CCM_SETWINDOWTHEME CBEM_SETWINDOWTHEME; 5852 -// #endif 5853 - 5854 -enum : uint { CBES_EX_NOEDITIMAGE = 0x00000001 } 5855 -enum : uint { CBES_EX_NOEDITIMAGEINDENT = 0x00000002 } 5856 -enum : uint { CBES_EX_PATHWORDBREAKPROC = 0x00000004 } 5857 -// #if (_WIN32_IE >= 0x0400) 5858 -enum : uint { CBES_EX_NOSIZELIMIT = 0x00000008 } 5859 -enum : uint { CBES_EX_CASESENSITIVE = 0x00000010 } 5860 - 5861 -struct _9 { 5862 - NMHDR hdr; 5863 - COMBOBOXEXITEMA ceItem; 5864 -} 5865 -alias _9 NMCOMBOBOXEXA; 5866 -alias _9* PNMCOMBOBOXEXA; 5867 - 5868 -struct _10 { 5869 - NMHDR hdr; 5870 - COMBOBOXEXITEMW ceItem; 5871 -} 5872 -alias _10 NMCOMBOBOXEXW; 5873 -alias _10* PNMCOMBOBOXEXW; 5874 - 5875 -// #ifdef UNICODE 5876 -// #... 5877 -// #... 5878 -// #... 5879 -// #else 5880 -alias NMCOMBOBOXEXA NMCOMBOBOXEX; 5881 -alias PNMCOMBOBOXEXA PNMCOMBOBOXEX; 5882 -alias CBEN_GETDISPINFOA CBEN_GETDISPINFO; 5883 -// #endif 5884 - 5885 -// #else 5886 -// ... 5887 - 5888 -// #... 5889 - 5890 -// #endif // _WIN32_IE >= 0x0400 5891 - 5892 -// #if (_WIN32_IE >= 0x0400) 5893 -// #define CBEN_GETDISPINFOA (CBEN_FIRST - 0) 5894 -// #endif 5895 -enum : uint { CBEN_INSERTITEM = CBEN_FIRST - 1 } 5896 -enum : uint { CBEN_DELETEITEM = CBEN_FIRST - 2 } 5897 -enum : uint { CBEN_BEGINEDIT = CBEN_FIRST - 4 } 5898 -enum : uint { CBEN_ENDEDITA = CBEN_FIRST - 5 } 5899 -enum : uint { CBEN_ENDEDITW = CBEN_FIRST - 6 } 5900 - 5901 -// #if (_WIN32_IE >= 0x0400) 5902 -// #define CBEN_GETDISPINFOW (CBEN_FIRST - 7) 5903 -// #endif 5904 - 5905 -// #if (_WIN32_IE >= 0x0400) 5906 -enum : uint { CBEN_DRAGBEGINA = CBEN_FIRST - 8 } 5907 -enum : uint { CBEN_DRAGBEGINW = CBEN_FIRST - 9 } 5908 - 5909 -// #ifdef UNICODE 5910 -// #... 5911 -// #else 5912 -alias CBEN_DRAGBEGINA CBEN_DRAGBEGIN; 5913 -// #endif 5914 - 5915 -// #endif //(_WIN32_IE >= 0x0400) 5916 - 5917 -// #ifdef UNICODE 5918 -// #... 5919 -// #else 5920 -alias CBEN_ENDEDITA CBEN_ENDEDIT; 5921 -// #endif 5922 - 5923 -enum : uint { CBENF_KILLFOCUS = 1 } 5924 -enum : uint { CBENF_RETURN = 2 } 5925 -enum : uint { CBENF_ESCAPE = 3 } 5926 -enum : uint { CBENF_DROPDOWN = 4 } 5927 - 5928 -enum : uint { CBEMAXSTRLEN = 260 } 5929 - 5930 -// #if (_WIN32_IE >= 0x0400) 5931 - 5932 -struct _11 { 5933 - NMHDR hdr; 5934 - int iItemid; 5935 - WCHAR szText[CBEMAXSTRLEN]; 5936 -} 5937 -alias _11 NMCBEDRAGBEGINW; 5938 -alias _11* LPNMCBEDRAGBEGINW; 5939 -alias _11* PNMCBEDRAGBEGINW; 5940 - 5941 -struct _12 { 5942 - NMHDR hdr; 5943 - int iItemid; 5944 - char szText[CBEMAXSTRLEN]; 5945 -} 5946 -alias _12 NMCBEDRAGBEGINA; 5947 -alias _12* LPNMCBEDRAGBEGINA; 5948 -alias _12* PNMCBEDRAGBEGINA; 5949 - 5950 -// #ifdef UNICODE 5951 -// #... 5952 -// #... 5953 -// #... 5954 -// #else 5955 -alias NMCBEDRAGBEGINA NMCBEDRAGBEGIN; 5956 -alias LPNMCBEDRAGBEGINA LPNMCBEDRAGBEGIN; 5957 -alias PNMCBEDRAGBEGINA PNMCBEDRAGBEGIN; 5958 -// #endif 5959 -// #endif // _WIN32_IE >= 0x0400 5960 - 5961 -struct _13 { 5962 - NMHDR hdr; 5963 - BOOL fChanged; 5964 - int iNewSelection; 5965 - WCHAR szText[CBEMAXSTRLEN]; 5966 - int iWhy; 5967 -} 5968 -alias _13 NMCBEENDEDITW; 5969 -alias _13* LPNMCBEENDEDITW; 5970 -alias _13* PNMCBEENDEDITW; 5971 - 5972 -struct _14 { 5973 - NMHDR hdr; 5974 - BOOL fChanged; 5975 - int iNewSelection; 5976 - char szText[CBEMAXSTRLEN]; 5977 - int iWhy; 5978 -} 5979 -alias _14 NMCBEENDEDITA; 5980 -alias _14* LPNMCBEENDEDITA; 5981 -alias _14* PNMCBEENDEDITA; 5982 - 5983 -// #ifdef UNICODE 5984 -// #... 5985 -// #... 5986 -// #... 5987 -// #else 5988 -alias NMCBEENDEDITA NMCBEENDEDIT; 5989 -alias LPNMCBEENDEDITA LPNMCBEENDEDIT; 5990 -alias PNMCBEENDEDITA PNMCBEENDEDIT; 5991 -// #endif 5992 - 5993 -// #endif 5994 - 5995 -// #endif // _WIN32_IE >= 0x0300 5996 - 5997 -// #ifndef NOTABCONTROL 5998 - 5999 -// #ifdef _WIN32 6000 - 6001 -const char[] WC_TABCONTROLA = "SysTabControl32"; 6002 -const wchar[] WC_TABCONTROLW = "SysTabControl32"; 6003 - 6004 -// #ifdef UNICODE 6005 -// #... 6006 -// #else 6007 -alias WC_TABCONTROLA WC_TABCONTROL; 6008 -// #endif 6009 - 6010 -// #else 6011 -// #... 6012 -// #endif 6013 - 6014 -// #if (_WIN32_IE >= 0x0300) 6015 -enum : uint { TCS_SCROLLOPPOSITE = 0x0001 } 6016 -enum : uint { TCS_BOTTOM = 0x0002 } 6017 -enum : uint { TCS_RIGHT = 0x0002 } 6018 -enum : uint { TCS_MULTISELECT = 0x0004 } 6019 -// #endif 6020 -// #if (_WIN32_IE >= 0x0400) 6021 -enum : uint { TCS_FLATBUTTONS = 0x0008 } 6022 -// #endif 6023 -enum : uint { TCS_FORCEICONLEFT = 0x0010 } 6024 -enum : uint { TCS_FORCELABELLEFT = 0x0020 } 6025 -// #if (_WIN32_IE >= 0x0300) 6026 -enum : uint { TCS_HOTTRACK = 0x0040 } 6027 -enum : uint { TCS_VERTICAL = 0x0080 } 6028 -// #endif 6029 -enum : uint { TCS_TABS = 0x0000 } 6030 -enum : uint { TCS_BUTTONS = 0x0100 } 6031 -enum : uint { TCS_SINGLELINE = 0x0000 } 6032 -enum : uint { TCS_MULTILINE = 0x0200 } 6033 -enum : uint { TCS_RIGHTJUSTIFY = 0x0000 } 6034 -enum : uint { TCS_FIXEDWIDTH = 0x0400 } 6035 -enum : uint { TCS_RAGGEDRIGHT = 0x0800 } 6036 -enum : uint { TCS_FOCUSONBUTTONDOWN = 0x1000 } 6037 -enum : uint { TCS_OWNERDRAWFIXED = 0x2000 } 6038 -enum : uint { TCS_TOOLTIPS = 0x4000 } 6039 -enum : uint { TCS_FOCUSNEVER = 0x8000 } 6040 - 6041 -// #if (_WIN32_IE >= 0x0400) 6042 - 6043 -enum : uint { TCS_EX_FLATSEPARATORS = 0x00000001 } 6044 -enum : uint { TCS_EX_REGISTERDROP = 0x00000002 } 6045 -// #endif 6046 - 6047 -enum : uint { TCM_GETIMAGELIST = TCM_FIRST + 2 } 6048 -// #define TabCtrl_GetImageList(hwnd) (HIMAGELIST)SNDMSG((hwnd), TCM_GETIMAGELIST, 0, 0L) 6049 - 6050 -enum : uint { TCM_SETIMAGELIST = TCM_FIRST + 3 } 6051 -// #define TabCtrl_SetImageList(hwnd, himl) (HIMAGELIST)SNDMSG((hwnd), TCM_SETIMAGELIST, 0, (LPARAM)(HIMAGELIST)(himl)) 6052 - 6053 -enum : uint { TCM_GETITEMCOUNT = TCM_FIRST + 4 } 6054 -// #define TabCtrl_GetItemCount(hwnd) (int)SNDMSG((hwnd), TCM_GETITEMCOUNT, 0, 0L) 6055 - 6056 -enum : uint { TCIF_TEXT = 0x0001 } 6057 -enum : uint { TCIF_IMAGE = 0x0002 } 6058 -enum : uint { TCIF_RTLREADING = 0x0004 } 6059 -enum : uint { TCIF_PARAM = 0x0008 } 6060 -// #if (_WIN32_IE >= 0x0300) 6061 -enum : uint { TCIF_STATE = 0x0010 } 6062 - 6063 -enum : uint { TCIS_BUTTONPRESSED = 0x0001 } 6064 -// #endif 6065 -// #if (_WIN32_IE >= 0x0400) 6066 -enum : uint { TCIS_HIGHLIGHTED = 0x0002 } 6067 -// #endif 6068 - 6069 -// #if (_WIN32_IE >= 0x0300) 6070 -alias TCITEMHEADERA TC_ITEMHEADERA; 6071 -alias TCITEMHEADERW TC_ITEMHEADERW; 6072 -// #else 6073 -// #... 6074 -// #... 6075 -// #... 6076 -// #... 6077 -// #endif 6078 -alias TCITEMHEADER TC_ITEMHEADER; 6079 - 6080 -struct tagTCITEMHEADERA { 6081 - UINT mask; 6082 - UINT lpReserved1; 6083 - UINT lpReserved2; 6084 - LPSTR pszText; 6085 - int cchTextMax; 6086 - int iImage; 6087 -} 6088 -alias tagTCITEMHEADERA TCITEMHEADERA; 6089 -alias tagTCITEMHEADERA* LPTCITEMHEADERA; 6090 - 6091 -struct tagTCITEMHEADERW { 6092 - UINT mask; 6093 - UINT lpReserved1; 6094 - UINT lpReserved2; 6095 - LPWSTR pszText; 6096 - int cchTextMax; 6097 - int iImage; 6098 -} 6099 -alias tagTCITEMHEADERW TCITEMHEADERW; 6100 -alias tagTCITEMHEADERW* LPTCITEMHEADERW; 6101 - 6102 -// #ifdef UNICODE 6103 -// #... 6104 -// #... 6105 -// #else 6106 -alias TCITEMHEADERA TCITEMHEADER; 6107 -alias LPTCITEMHEADERA LPTCITEMHEADER; 6108 -// #endif 6109 - 6110 -// #if (_WIN32_IE >= 0x0300) 6111 -alias TCITEMA TC_ITEMA; 6112 -alias TCITEMW TC_ITEMW; 6113 -// #else 6114 -// #... 6115 -// #... 6116 -// #... 6117 -// #... 6118 -// #endif 6119 -alias TCITEM TC_ITEM; 6120 - 6121 -struct tagTCITEMA { 6122 - UINT mask; 6123 -// #if (_WIN32_IE >= 0x0300) 6124 - DWORD dwState; 6125 - DWORD dwStateMask; 6126 -// #else 6127 -// ... 6128 -// #endif 6129 - LPSTR pszText; 6130 - int cchTextMax; 6131 - int iImage; 6132 - LPARAM lParam; 6133 -} 6134 -alias tagTCITEMA TCITEMA; 6135 -alias tagTCITEMA* LPTCITEMA; 6136 - 6137 -struct tagTCITEMW { 6138 - UINT mask; 6139 -// #if (_WIN32_IE >= 0x0300) 6140 - DWORD dwState; 6141 - DWORD dwStateMask; 6142 -// #else 6143 -// ... 6144 -// #endif 6145 - LPWSTR pszText; 6146 - int cchTextMax; 6147 - int iImage; 6148 - LPARAM lParam; 6149 -} 6150 -alias tagTCITEMW TCITEMW; 6151 -alias tagTCITEMW* LPTCITEMW; 6152 - 6153 -// #ifdef UNICODE 6154 -// #... 6155 -// #... 6156 -// #else 6157 -alias TCITEMA TCITEM; 6158 -alias LPTCITEMA LPTCITEM; 6159 -// #endif 6160 - 6161 -enum : uint { TCM_GETITEMA = TCM_FIRST + 5 } 6162 -enum : uint { TCM_GETITEMW = TCM_FIRST + 60 } 6163 - 6164 -// #ifdef UNICODE 6165 -// #... 6166 -// #else 6167 -alias TCM_GETITEMA TCM_GETITEM; 6168 -// #endif 6169 - 6170 -// #define TabCtrl_GetItem(hwnd, iItem, pitem) (BOOL)SNDMSG((hwnd), TCM_GETITEM, (WPARAM)(int)(iItem), (LPARAM)(TC_ITEM *)(pitem)) 6171 - 6172 -enum : uint { TCM_SETITEMA = TCM_FIRST + 6 } 6173 -enum : uint { TCM_SETITEMW = TCM_FIRST + 61 } 6174 - 6175 -// #ifdef UNICODE 6176 -// #... 6177 -// #else 6178 -alias TCM_SETITEMA TCM_SETITEM; 6179 -// #endif 6180 - 6181 -// #define TabCtrl_SetItem(hwnd, iItem, pitem) (BOOL)SNDMSG((hwnd), TCM_SETITEM, (WPARAM)(int)(iItem), (LPARAM)(TC_ITEM *)(pitem)) 6182 - 6183 -enum : uint { TCM_INSERTITEMA = TCM_FIRST + 7 } 6184 -enum : uint { TCM_INSERTITEMW = TCM_FIRST + 62 } 6185 - 6186 -// #ifdef UNICODE 6187 -// #... 6188 -// #else 6189 -alias TCM_INSERTITEMA TCM_INSERTITEM; 6190 -// #endif 6191 - 6192 -// #define TabCtrl_InsertItem(hwnd, iItem, pitem) (int)SNDMSG((hwnd), TCM_INSERTITEM, (WPARAM)(int)(iItem), (LPARAM)(const TC_ITEM *)(pitem)) 6193 - 6194 -enum : uint { TCM_DELETEITEM = TCM_FIRST + 8 } 6195 -// #define TabCtrl_DeleteItem(hwnd, i) (BOOL)SNDMSG((hwnd), TCM_DELETEITEM, (WPARAM)(int)(i), 0L) 6196 - 6197 -enum : uint { TCM_DELETEALLITEMS = TCM_FIRST + 9 } 6198 -// #define TabCtrl_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), TCM_DELETEALLITEMS, 0, 0L) 6199 - 6200 -enum : uint { TCM_GETITEMRECT = TCM_FIRST + 10 } 6201 -// #define TabCtrl_GetItemRect(hwnd, i, prc) (BOOL)SNDMSG((hwnd), TCM_GETITEMRECT, (WPARAM)(int)(i), (LPARAM)(RECT *)(prc)) 6202 - 6203 -enum : uint { TCM_GETCURSEL = TCM_FIRST + 11 } 6204 -// #define TabCtrl_GetCurSel(hwnd) (int)SNDMSG((hwnd), TCM_GETCURSEL, 0, 0) 6205 - 6206 -enum : uint { TCM_SETCURSEL = TCM_FIRST + 12 } 6207 -// #define TabCtrl_SetCurSel(hwnd, i) (int)SNDMSG((hwnd), TCM_SETCURSEL, (WPARAM)(i), 0) 6208 - 6209 -enum : uint { TCHT_NOWHERE = 0x0001 } 6210 -enum : uint { TCHT_ONITEMICON = 0x0002 } 6211 -enum : uint { TCHT_ONITEMLABEL = 0x0004 } 6212 -enum : uint { TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL } 6213 - 6214 -// #if (_WIN32_IE >= 0x0300) 6215 -alias LPTCHITTESTINFO LPTC_HITTESTINFO; 6216 -alias TCHITTESTINFO TC_HITTESTINFO; 6217 -// #else 6218 -// #... 6219 -// #... 6220 -// #... 6221 -// #endif 6222 - 6223 -struct tagTCHITTESTINFO { 6224 - POINT pt; 6225 - UINT flags; 6226 -} 6227 -alias tagTCHITTESTINFO TCHITTESTINFO; 6228 -alias tagTCHITTESTINFO* LPTCHITTESTINFO; 6229 - 6230 -enum : uint { TCM_HITTEST = TCM_FIRST + 13 } 6231 -// #define TabCtrl_HitTest(hwndTC, pinfo) (int)SNDMSG((hwndTC), TCM_HITTEST, 0, (LPARAM)(TC_HITTESTINFO *)(pinfo)) 6232 - 6233 -enum : uint { TCM_SETITEMEXTRA = TCM_FIRST + 14 } 6234 -// #define TabCtrl_SetItemExtra(hwndTC, cb) (BOOL)SNDMSG((hwndTC), TCM_SETITEMEXTRA, (WPARAM)(cb), 0L) 6235 - 6236 -enum : uint { TCM_ADJUSTRECT = TCM_FIRST + 40 } 6237 -// #define TabCtrl_AdjustRect(hwnd, bLarger, prc) (int)SNDMSG(hwnd, TCM_ADJUSTRECT, (WPARAM)(BOOL)(bLarger), (LPARAM)(RECT *)prc) 6238 - 6239 -enum : uint { TCM_SETITEMSIZE = TCM_FIRST + 41 } 6240 -// #define TabCtrl_SetItemSize(hwnd, x, y) (DWORD)SNDMSG((hwnd), TCM_SETITEMSIZE, 0, MAKELPARAM(x,y)) 6241 - 6242 -enum : uint { TCM_REMOVEIMAGE = TCM_FIRST + 42 } 6243 -// #define TabCtrl_RemoveImage(hwnd, i) (void)SNDMSG((hwnd), TCM_REMOVEIMAGE, i, 0L) 6244 - 6245 -enum : uint { TCM_SETPADDING = TCM_FIRST + 43 } 6246 -// #define TabCtrl_SetPadding(hwnd, cx, cy) (void)SNDMSG((hwnd), TCM_SETPADDING, 0, MAKELPARAM(cx, cy)) 6247 - 6248 -enum : uint { TCM_GETROWCOUNT = TCM_FIRST + 44 } 6249 -// #define TabCtrl_GetRowCount(hwnd) (int)SNDMSG((hwnd), TCM_GETROWCOUNT, 0, 0L) 6250 - 6251 -enum : uint { TCM_GETTOOLTIPS = TCM_FIRST + 45 } 6252 -// #define TabCtrl_GetToolTips(hwnd) (HWND)SNDMSG((hwnd), TCM_GETTOOLTIPS, 0, 0L) 6253 - 6254 -enum : uint { TCM_SETTOOLTIPS = TCM_FIRST + 46 } 6255 -// #define TabCtrl_SetToolTips(hwnd, hwndTT) (void)SNDMSG((hwnd), TCM_SETTOOLTIPS, (WPARAM)(hwndTT), 0L) 6256 - 6257 -enum : uint { TCM_GETCURFOCUS = TCM_FIRST + 47 } 6258 -// #define TabCtrl_GetCurFocus(hwnd) (int)SNDMSG((hwnd), TCM_GETCURFOCUS, 0, 0) 6259 - 6260 -enum : uint { TCM_SETCURFOCUS = TCM_FIRST + 48 } 6261 -// #define TabCtrl_SetCurFocus(hwnd, i) SNDMSG((hwnd),TCM_SETCURFOCUS, i, 0) 6262 - 6263 -// #if (_WIN32_IE >= 0x0300) 6264 -enum : uint { TCM_SETMINTABWIDTH = TCM_FIRST + 49 } 6265 -// #define TabCtrl_SetMinTabWidth(hwnd, x) (int)SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x) 6266 - 6267 -enum : uint { TCM_DESELECTALL = TCM_FIRST + 50 } 6268 -// #define TabCtrl_DeselectAll(hwnd, fExcludeFocus) (void)SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0) 6269 -// #endif 6270 - 6271 -// #if (_WIN32_IE >= 0x0400) 6272 - 6273 -enum : uint { TCM_HIGHLIGHTITEM = TCM_FIRST + 51 } 6274 -// #define TabCtrl_HighlightItem(hwnd, i, fHighlight) (BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)(i), (LPARAM)MAKELONG (fHighlight, 0)) 6275 - 6276 -enum : uint { TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52 } 6277 -// #define TabCtrl_SetExtendedStyle(hwnd, dw) (DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw) 6278 - 6279 -enum : uint { TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53 } 6280 -// #define TabCtrl_GetExtendedStyle(hwnd) (DWORD)SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0) 6281 - 6282 -alias CCM_SETUNICODEFORMAT TCM_SETUNICODEFORMAT; 6283 -// #define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 6284 - 6285 -alias CCM_GETUNICODEFORMAT TCM_GETUNICODEFORMAT; 6286 -// #define TabCtrl_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), TCM_GETUNICODEFORMAT, 0, 0) 6287 - 6288 -// #endif // _WIN32_IE >= 0x0400 6289 - 6290 -enum : uint { TCN_KEYDOWN = TCN_FIRST - 0 } 6291 - 6292 -// #if (_WIN32_IE >= 0x0300) 6293 -alias NMTCKEYDOWN TC_KEYDOWN; 6294 -// #else 6295 -// #... 6296 -// #... 6297 -// #endif 6298 - 6299 -// #ifdef _WIN32 6300 -align(1): 6301 -// #endif 6302 - 6303 -struct tagTCKEYDOWN { 6304 - NMHDR hdr; 6305 - WORD wVKey; 6306 - UINT flags; 6307 -} 6308 -alias tagTCKEYDOWN NMTCKEYDOWN; 6309 - 6310 -// #ifdef _WIN32 6311 -align: 6312 -// #endif 6313 - 6314 -enum : uint { TCN_SELCHANGE = TCN_FIRST - 1 } 6315 -enum : uint { TCN_SELCHANGING = TCN_FIRST - 2 } 6316 -// #if (_WIN32_IE >= 0x0400) 6317 -enum : uint { TCN_GETOBJECT = TCN_FIRST - 3 } 6318 -// #endif // _WIN32_IE >= 0x0400 6319 -// #if (_WIN32_IE >= 0x0500) 6320 -enum : uint { TCN_FOCUSCHANGE = TCN_FIRST - 4 } 6321 -// #endif // _WIN32_IE >= 0x0500 6322 -// #endif // NOTABCONTROL 6323 - 6324 -// #ifndef NOANIMATE 6325 - 6326 -// #ifdef _WIN32 6327 - 6328 -const wchar[] ANIMATE_CLASSW = "SysAnimate32"; 6329 -const char[] ANIMATE_CLASSA = "SysAnimate32"; 6330 - 6331 -// #ifdef UNICODE 6332 -// #... 6333 -// #else 6334 -alias ANIMATE_CLASSA ANIMATE_CLASS; 6335 -// #endif 6336 - 6337 -enum : uint { ACS_CENTER = 0x0001 } 6338 -enum : uint { ACS_TRANSPARENT = 0x0002 } 6339 -enum : uint { ACS_AUTOPLAY = 0x0004 } 6340 -// #if (_WIN32_IE >= 0x0300) 6341 -enum : uint { ACS_TIMER = 0x0008 } 6342 -// #endif 6343 - 6344 -enum : uint { ACM_OPENA = WM_USER+100 } 6345 -enum : uint { ACM_OPENW = WM_USER+103 } 6346 - 6347 -// #ifdef UNICODE 6348 -// #... 6349 -// #else 6350 -alias ACM_OPENA ACM_OPEN; 6351 -// #endif 6352 - 6353 -enum : uint { ACM_PLAY = WM_USER+101 } 6354 -enum : uint { ACM_STOP = WM_USER+102 } 6355 - 6356 -enum : uint { ACN_START = 1 } 6357 -enum : uint { ACN_STOP = 2 } 6358 - 6359 -// #define Animate_Create(hwndP, id, dwStyle, hInstance) CreateWindow(ANIMATE_CLASS, NULL, dwStyle, 0, 0, 0, 0, hwndP, (HMENU)(id), hInstance, NULL) 6360 - 6361 -// #define Animate_Open(hwnd, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, 0, (LPARAM)(LPTSTR)(szName)) 6362 -// #define Animate_OpenEx(hwnd, hInst, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, (WPARAM)(hInst), (LPARAM)(LPTSTR)(szName)) 6363 -// #define Animate_Play(hwnd, from, to, rep) (BOOL)SNDMSG(hwnd, ACM_PLAY, (WPARAM)(rep), (LPARAM)MAKELONG(from, to)) 6364 -// #define Animate_Stop(hwnd) (BOOL)SNDMSG(hwnd, ACM_STOP, 0, 0) 6365 -// #define Animate_Close(hwnd) Animate_Open(hwnd, NULL) 6366 -// #define Animate_Seek(hwnd, frame) Animate_Play(hwnd, frame, frame, 1) 6367 -// #endif 6368 - 6369 -// #endif // NOANIMATE 6370 - 6371 -// #if (_WIN32_IE >= 0x0300) 6372 - 6373 -// #ifndef NOMONTHCAL 6374 -// #ifdef _WIN32 6375 - 6376 -const wchar[] MONTHCAL_CLASSW = "SysMonthCal32"; 6377 -const char[] MONTHCAL_CLASSA = "SysMonthCal32"; 6378 - 6379 -// #ifdef UNICODE 6380 -// #... 6381 -// #else 6382 -alias MONTHCAL_CLASSA MONTHCAL_CLASS; 6383 -// #endif 6384 - 6385 -alias DWORD MONTHDAYSTATE; 6386 -alias DWORD* LPMONTHDAYSTATE; 6387 - 6388 -enum : uint { MCM_FIRST = 0x1000 } 6389 - 6390 -enum : uint { MCM_GETCURSEL = MCM_FIRST + 1 } 6391 -// #define MonthCal_GetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETCURSEL, 0, (LPARAM)(pst)) 6392 - 6393 -enum : uint { MCM_SETCURSEL = MCM_FIRST + 2 } 6394 -// #define MonthCal_SetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_SETCURSEL, 0, (LPARAM)(pst)) 6395 - 6396 -enum : uint { MCM_GETMAXSELCOUNT = MCM_FIRST + 3 } 6397 -// #define MonthCal_GetMaxSelCount(hmc) (DWORD)SNDMSG(hmc, MCM_GETMAXSELCOUNT, 0, 0L) 6398 - 6399 -enum : uint { MCM_SETMAXSELCOUNT = MCM_FIRST + 4 } 6400 -// #define MonthCal_SetMaxSelCount(hmc, n) (BOOL)SNDMSG(hmc, MCM_SETMAXSELCOUNT, (WPARAM)(n), 0L) 6401 - 6402 -enum : uint { MCM_GETSELRANGE = MCM_FIRST + 5 } 6403 -// #define MonthCal_GetSelRange(hmc, rgst) SNDMSG(hmc, MCM_GETSELRANGE, 0, (LPARAM)(rgst)) 6404 - 6405 -enum : uint { MCM_SETSELRANGE = MCM_FIRST + 6 } 6406 -// #define MonthCal_SetSelRange(hmc, rgst) SNDMSG(hmc, MCM_SETSELRANGE, 0, (LPARAM)(rgst)) 6407 - 6408 -enum : uint { MCM_GETMONTHRANGE = MCM_FIRST + 7 } 6409 -// #define MonthCal_GetMonthRange(hmc, gmr, rgst) (DWORD)SNDMSG(hmc, MCM_GETMONTHRANGE, (WPARAM)(gmr), (LPARAM)(rgst)) 6410 - 6411 -enum : uint { MCM_SETDAYSTATE = MCM_FIRST + 8 } 6412 -// #define MonthCal_SetDayState(hmc, cbds, rgds) SNDMSG(hmc, MCM_SETDAYSTATE, (WPARAM)(cbds), (LPARAM)(rgds)) 6413 - 6414 -enum : uint { MCM_GETMINREQRECT = MCM_FIRST + 9 } 6415 -// #define MonthCal_GetMinReqRect(hmc, prc) SNDMSG(hmc, MCM_GETMINREQRECT, 0, (LPARAM)(prc)) 6416 - 6417 -enum : uint { MCM_SETCOLOR = MCM_FIRST + 10 } 6418 -// #define MonthCal_SetColor(hmc, iColor, clr) SNDMSG(hmc, MCM_SETCOLOR, iColor, clr) 6419 - 6420 -enum : uint { MCM_GETCOLOR = MCM_FIRST + 11 } 6421 -// #define MonthCal_GetColor(hmc, iColor) SNDMSG(hmc, MCM_GETCOLOR, iColor, 0) 6422 - 6423 -enum : uint { MCSC_BACKGROUND = 0 } 6424 -enum : uint { MCSC_TEXT = 1 } 6425 -enum : uint { MCSC_TITLEBK = 2 } 6426 -enum : uint { MCSC_TITLETEXT = 3 } 6427 -enum : uint { MCSC_MONTHBK = 4 } 6428 -enum : uint { MCSC_TRAILINGTEXT = 5 } 6429 - 6430 -enum : uint { MCM_SETTODAY = MCM_FIRST + 12 } 6431 -// #define MonthCal_SetToday(hmc, pst) SNDMSG(hmc, MCM_SETTODAY, 0, (LPARAM)(pst)) 6432 - 6433 -enum : uint { MCM_GETTODAY = MCM_FIRST + 13 } 6434 -// #define MonthCal_GetToday(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETTODAY, 0, (LPARAM)(pst)) 6435 - 6436 -enum : uint { MCM_HITTEST = MCM_FIRST + 14 } 6437 -// #define MonthCal_HitTest(hmc, pinfo) SNDMSG(hmc, MCM_HITTEST, 0, (LPARAM)(PMCHITTESTINFO)(pinfo)) 6438 - 6439 -struct _15 { 6440 - UINT cbSize; 6441 - POINT pt; 6442 - UINT uHit; 6443 - SYSTEMTIME st; 6444 -} 6445 -alias _15 MCHITTESTINFO; 6446 -alias _15* PMCHITTESTINFO; 6447 - 6448 -enum : uint { MCHT_TITLE = 0x00010000 } 6449 -enum : uint { MCHT_CALENDAR = 0x00020000 } 6450 -enum : uint { MCHT_TODAYLINK = 0x00030000 } 6451 - 6452 -enum : uint { MCHT_NEXT = 0x01000000 } 6453 -enum : uint { MCHT_PREV = 0x02000000 } 6454 - 6455 -enum : uint { MCHT_NOWHERE = 0x00000000 } 6456 - 6457 -enum : uint { MCHT_TITLEBK = MCHT_TITLE } 6458 -enum : uint { MCHT_TITLEMONTH = MCHT_TITLE | 0x0001 } 6459 -enum : uint { MCHT_TITLEYEAR = MCHT_TITLE | 0x0002 } 6460 -enum : uint { MCHT_TITLEBTNNEXT = MCHT_TITLE | MCHT_NEXT | 0x0003 } 6461 -enum : uint { MCHT_TITLEBTNPREV = MCHT_TITLE | MCHT_PREV | 0x0003 } 6462 - 6463 -enum : uint { MCHT_CALENDARBK = MCHT_CALENDAR } 6464 -enum : uint { MCHT_CALENDARDATE = MCHT_CALENDAR | 0x0001 } 6465 -enum : uint { MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE | MCHT_NEXT } 6466 -enum : uint { MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE | MCHT_PREV } 6467 -enum : uint { MCHT_CALENDARDAY = MCHT_CALENDAR | 0x0002 } 6468 -enum : uint { MCHT_CALENDARWEEKNUM = MCHT_CALENDAR | 0x0003 } 6469 - 6470 -enum : uint { MCM_SETFIRSTDAYOFWEEK = MCM_FIRST + 15 } 6471 -// #define MonthCal_SetFirstDayOfWeek(hmc, iDay) SNDMSG(hmc, MCM_SETFIRSTDAYOFWEEK, 0, iDay) 6472 - 6473 -enum : uint { MCM_GETFIRSTDAYOFWEEK = MCM_FIRST + 16 } 6474 -// #define MonthCal_GetFirstDayOfWeek(hmc) (DWORD)SNDMSG(hmc, MCM_GETFIRSTDAYOFWEEK, 0, 0) 6475 - 6476 -enum : uint { MCM_GETRANGE = MCM_FIRST + 17 } 6477 -// #define MonthCal_GetRange(hmc, rgst) (DWORD)SNDMSG(hmc, MCM_GETRANGE, 0, (LPARAM)(rgst)) 6478 - 6479 -enum : uint { MCM_SETRANGE = MCM_FIRST + 18 } 6480 -// #define MonthCal_SetRange(hmc, gd, rgst) (BOOL)SNDMSG(hmc, MCM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) 6481 - 6482 -enum : uint { MCM_GETMONTHDELTA = MCM_FIRST + 19 } 6483 -// #define MonthCal_GetMonthDelta(hmc) (int)SNDMSG(hmc, MCM_GETMONTHDELTA, 0, 0) 6484 - 6485 -enum : uint { MCM_SETMONTHDELTA = MCM_FIRST + 20 } 6486 -// #define MonthCal_SetMonthDelta(hmc, n) (int)SNDMSG(hmc, MCM_SETMONTHDELTA, n, 0) 6487 - 6488 -enum : uint { MCM_GETMAXTODAYWIDTH = MCM_FIRST + 21 } 6489 -// #define MonthCal_GetMaxTodayWidth(hmc) (DWORD)SNDMSG(hmc, MCM_GETMAXTODAYWIDTH, 0, 0) 6490 - 6491 -// #if (_WIN32_IE >= 0x0400) 6492 -alias CCM_SETUNICODEFORMAT MCM_SETUNICODEFORMAT; 6493 -// #define MonthCal_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), MCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 6494 - 6495 -alias CCM_GETUNICODEFORMAT MCM_GETUNICODEFORMAT; 6496 -// #define MonthCal_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), MCM_GETUNICODEFORMAT, 0, 0) 6497 -// #endif 6498 - 6499 -struct tagNMSELCHANGE { 6500 - NMHDR nmhdr; 6501 - 6502 - SYSTEMTIME stSelStart; 6503 - SYSTEMTIME stSelEnd; 6504 -} 6505 -alias tagNMSELCHANGE NMSELCHANGE; 6506 -alias tagNMSELCHANGE* LPNMSELCHANGE; 6507 - 6508 -enum : uint { MCN_SELCHANGE = MCN_FIRST + 1 } 6509 - 6510 -struct tagNMDAYSTATE { 6511 - NMHDR nmhdr; 6512 - 6513 - SYSTEMTIME stStart; 6514 - int cDayState; 6515 - LPMONTHDAYSTATE prgDayState; 6516 -} 6517 -alias tagNMDAYSTATE NMDAYSTATE; 6518 -alias tagNMDAYSTATE* LPNMDAYSTATE; 6519 - 6520 -enum : uint { MCN_GETDAYSTATE = MCN_FIRST + 3 } 6521 - 6522 -alias NMSELCHANGE NMSELECT; 6523 -alias NMSELCHANGE* LPNMSELECT; 6524 - 6525 -enum : uint { MCN_SELECT = MCN_FIRST + 4 } 6526 - 6527 -enum : uint { MCS_DAYSTATE = 0x0001 } 6528 -enum : uint { MCS_MULTISELECT = 0x0002 } 6529 -enum : uint { MCS_WEEKNUMBERS = 0x0004 } 6530 -// #if (_WIN32_IE >= 0x0400) 6531 -enum : uint { MCS_NOTODAYCIRCLE = 0x0008 } 6532 -enum : uint { MCS_NOTODAY = 0x0010 } 6533 -// #else 6534 -// #... 6535 -// #endif 6536 - 6537 -enum : uint { GMR_VISIBLE = 0 } 6538 -enum : uint { GMR_DAYSTATE = 1 } 6539 - 6540 -// #endif // _WIN32 6541 -// #endif // NOMONTHCAL 6542 - 6543 -// #ifndef NODATETIMEPICK 6544 -// #ifdef _WIN32 6545 - 6546 -const wchar[] DATETIMEPICK_CLASSW = "SysDateTimePick32"; 6547 -const char[] DATETIMEPICK_CLASSA = "SysDateTimePick32"; 6548 - 6549 -// #ifdef UNICODE 6550 -// #... 6551 -// #else 6552 -alias DATETIMEPICK_CLASSA DATETIMEPICK_CLASS; 6553 -// #endif 6554 - 6555 -enum : uint { DTM_FIRST = 0x1000 } 6556 - 6557 -enum : uint { DTM_GETSYSTEMTIME = DTM_FIRST + 1 } 6558 -// #define DateTime_GetSystemtime(hdp, pst) (DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME, 0, (LPARAM)(pst)) 6559 - 6560 -enum : uint { DTM_SETSYSTEMTIME = DTM_FIRST + 2 } 6561 -// #define DateTime_SetSystemtime(hdp, gd, pst) (BOOL)SNDMSG(hdp, DTM_SETSYSTEMTIME, (WPARAM)(gd), (LPARAM)(pst)) 6562 - 6563 -enum : uint { DTM_GETRANGE = DTM_FIRST + 3 } 6564 -// #define DateTime_GetRange(hdp, rgst) (DWORD)SNDMSG(hdp, DTM_GETRANGE, 0, (LPARAM)(rgst)) 6565 - 6566 -enum : uint { DTM_SETRANGE = DTM_FIRST + 4 } 6567 -// #define DateTime_SetRange(hdp, gd, rgst) (BOOL)SNDMSG(hdp, DTM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) 6568 - 6569 -enum : uint { DTM_SETFORMATA = DTM_FIRST + 5 } 6570 -enum : uint { DTM_SETFORMATW = DTM_FIRST + 50 } 6571 - 6572 -// #ifdef UNICODE 6573 -// #... 6574 -// #else 6575 -alias DTM_SETFORMATA DTM_SETFORMAT; 6576 -// #endif 6577 - 6578 -// #define DateTime_SetFormat(hdp, sz) (BOOL)SNDMSG(hdp, DTM_SETFORMAT, 0, (LPARAM)(sz)) 6579 - 6580 -enum : uint { DTM_SETMCCOLOR = DTM_FIRST + 6 } 6581 -// #define DateTime_SetMonthCalColor(hdp, iColor, clr) SNDMSG(hdp, DTM_SETMCCOLOR, iColor, clr) 6582 - 6583 -enum : uint { DTM_GETMCCOLOR = DTM_FIRST + 7 } 6584 -// #define DateTime_GetMonthCalColor(hdp, iColor) SNDMSG(hdp, DTM_GETMCCOLOR, iColor, 0) 6585 - 6586 -enum : uint { DTM_GETMONTHCAL = DTM_FIRST + 8 } 6587 -// #define DateTime_GetMonthCal(hdp) (HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0) 6588 - 6589 -// #if (_WIN32_IE >= 0x0400) 6590 - 6591 -enum : uint { DTM_SETMCFONT = DTM_FIRST + 9 } 6592 -// #define DateTime_SetMonthCalFont(hdp, hfont, fRedraw) SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw)) 6593 - 6594 -enum : uint { DTM_GETMCFONT = DTM_FIRST + 10 } 6595 -// #define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp, DTM_GETMCFONT, 0, 0) 6596 - 6597 -// #endif // _WIN32_IE >= 0x0400 6598 - 6599 -enum : uint { DTS_UPDOWN = 0x0001 } 6600 -enum : uint { DTS_SHOWNONE = 0x0002 } 6601 -enum : uint { DTS_SHORTDATEFORMAT = 0x0000 } 6602 -enum : uint { DTS_LONGDATEFORMAT = 0x0004 } 6603 -// #if (_WIN32_IE >= 0x500) 6604 -enum : uint { DTS_SHORTDATECENTURYFORMAT = 0x000C } 6605 -// #endif // (_WIN32_IE >= 0x500) 6606 -enum : uint { DTS_TIMEFORMAT = 0x0009 } 6607 -enum : uint { DTS_APPCANPARSE = 0x0010 } 6608 -enum : uint { DTS_RIGHTALIGN = 0x0020 } 6609 - 6610 -enum : uint { DTN_DATETIMECHANGE = DTN_FIRST + 1 } 6611 -struct tagNMDATETIMECHANGE { 6612 - NMHDR nmhdr; 6613 - DWORD dwFlags; 6614 - SYSTEMTIME st; 6615 -} 6616 -alias tagNMDATETIMECHANGE NMDATETIMECHANGE; 6617 -alias tagNMDATETIMECHANGE* LPNMDATETIMECHANGE; 6618 - 6619 -enum : uint { DTN_USERSTRINGA = DTN_FIRST + 2 } 6620 -enum : uint { DTN_USERSTRINGW = DTN_FIRST + 15 } 6621 -struct tagNMDATETIMESTRINGA { 6622 - NMHDR nmhdr; 6623 - LPCSTR pszUserString; 6624 - SYSTEMTIME st; 6625 - DWORD dwFlags; 6626 -} 6627 -alias tagNMDATETIMESTRINGA NMDATETIMESTRINGA; 6628 -alias tagNMDATETIMESTRINGA* LPNMDATETIMESTRINGA; 6629 - 6630 -struct tagNMDATETIMESTRINGW { 6631 - NMHDR nmhdr; 6632 - LPCWSTR pszUserString; 6633 - SYSTEMTIME st; 6634 - DWORD dwFlags; 6635 -} 6636 -alias tagNMDATETIMESTRINGW NMDATETIMESTRINGW; 6637 -alias tagNMDATETIMESTRINGW* LPNMDATETIMESTRINGW; 6638 - 6639 -// #ifdef UNICODE 6640 -// #... 6641 -// #... 6642 -// #... 6643 -// #else 6644 -alias DTN_USERSTRINGA DTN_USERSTRING; 6645 -alias NMDATETIMESTRINGA NMDATETIMESTRING; 6646 -alias LPNMDATETIMESTRINGA LPNMDATETIMESTRING; 6647 -// #endif 6648 - 6649 -enum : uint { DTN_WMKEYDOWNA = DTN_FIRST + 3 } 6650 -enum : uint { DTN_WMKEYDOWNW = DTN_FIRST + 16 } 6651 -struct tagNMDATETIMEWMKEYDOWNA { 6652 - NMHDR nmhdr; 6653 - int nVirtKey; 6654 - LPCSTR pszFormat; 6655 - SYSTEMTIME st; 6656 -} 6657 -alias tagNMDATETIMEWMKEYDOWNA NMDATETIMEWMKEYDOWNA; 6658 -alias tagNMDATETIMEWMKEYDOWNA* LPNMDATETIMEWMKEYDOWNA; 6659 - 6660 -struct tagNMDATETIMEWMKEYDOWNW { 6661 - NMHDR nmhdr; 6662 - int nVirtKey; 6663 - LPCWSTR pszFormat; 6664 - SYSTEMTIME st; 6665 -} 6666 -alias tagNMDATETIMEWMKEYDOWNW NMDATETIMEWMKEYDOWNW; 6667 -alias tagNMDATETIMEWMKEYDOWNW* LPNMDATETIMEWMKEYDOWNW; 6668 - 6669 -// #ifdef UNICODE 6670 -// #... 6671 -// #... 6672 -// #... 6673 -// #else 6674 -alias DTN_WMKEYDOWNA DTN_WMKEYDOWN; 6675 -alias NMDATETIMEWMKEYDOWNA NMDATETIMEWMKEYDOWN; 6676 -alias LPNMDATETIMEWMKEYDOWNA LPNMDATETIMEWMKEYDOWN; 6677 -// #endif 6678 - 6679 -enum : uint { DTN_FORMATA = DTN_FIRST + 4 } 6680 -enum : uint { DTN_FORMATW = DTN_FIRST + 17 } 6681 -struct tagNMDATETIMEFORMATA { 6682 - NMHDR nmhdr; 6683 - LPCSTR pszFormat; 6684 - SYSTEMTIME st; 6685 - LPCSTR pszDisplay; 6686 - CHAR szDisplay[64]; 6687 -} 6688 -alias tagNMDATETIMEFORMATA NMDATETIMEFORMATA; 6689 -alias tagNMDATETIMEFORMATA* LPNMDATETIMEFORMATA; 6690 - 6691 -struct tagNMDATETIMEFORMATW { 6692 - NMHDR nmhdr; 6693 - LPCWSTR pszFormat; 6694 - SYSTEMTIME st; 6695 - LPCWSTR pszDisplay; 6696 - WCHAR szDisplay[64]; 6697 -} 6698 -alias tagNMDATETIMEFORMATW NMDATETIMEFORMATW; 6699 -alias tagNMDATETIMEFORMATW* LPNMDATETIMEFORMATW; 6700 - 6701 -// #ifdef UNICODE 6702 -// #... 6703 -// #... 6704 -// #... 6705 -// #else 6706 -alias DTN_FORMATA DTN_FORMAT; 6707 -alias NMDATETIMEFORMATA NMDATETIMEFORMAT; 6708 -alias LPNMDATETIMEFORMATA LPNMDATETIMEFORMAT; 6709 -// #endif 6710 - 6711 -enum : uint { DTN_FORMATQUERYA = DTN_FIRST + 5 } 6712 -enum : uint { DTN_FORMATQUERYW = DTN_FIRST + 18 } 6713 -struct tagNMDATETIMEFORMATQUERYA { 6714 - NMHDR nmhdr; 6715 - LPCSTR pszFormat; 6716 - SIZE szMax; 6717 -} 6718 -alias tagNMDATETIMEFORMATQUERYA NMDATETIMEFORMATQUERYA; 6719 -alias tagNMDATETIMEFORMATQUERYA* LPNMDATETIMEFORMATQUERYA; 6720 - 6721 -struct tagNMDATETIMEFORMATQUERYW { 6722 - NMHDR nmhdr; 6723 - LPCWSTR pszFormat; 6724 - SIZE szMax; 6725 -} 6726 -alias tagNMDATETIMEFORMATQUERYW NMDATETIMEFORMATQUERYW; 6727 -alias tagNMDATETIMEFORMATQUERYW* LPNMDATETIMEFORMATQUERYW; 6728 - 6729 -// #ifdef UNICODE 6730 -// #... 6731 -// #... 6732 -// #... 6733 -// #else 6734 -alias DTN_FORMATQUERYA DTN_FORMATQUERY; 6735 -alias NMDATETIMEFORMATQUERYA NMDATETIMEFORMATQUERY; 6736 -alias LPNMDATETIMEFORMATQUERYA LPNMDATETIMEFORMATQUERY; 6737 -// #endif 6738 - 6739 -enum : uint { DTN_DROPDOWN = DTN_FIRST + 6 } 6740 -enum : uint { DTN_CLOSEUP = DTN_FIRST + 7 } 6741 - 6742 -enum : uint { GDTR_MIN = 0x0001 } 6743 -enum : uint { GDTR_MAX = 0x0002 } 6744 - 6745 -enum { GDT_ERROR = -1 } 6746 -enum : uint { GDT_VALID = 0 } 6747 -enum : uint { GDT_NONE = 1 } 6748 - 6749 -// #endif // _WIN32 6750 -// #endif // NODATETIMEPICK 6751 - 6752 -// #if (_WIN32_IE >= 0x0400) 6753 - 6754 -// #ifndef NOIPADDRESS 6755 - 6756 -enum : uint { IPM_CLEARADDRESS = WM_USER+100 } 6757 -enum : uint { IPM_SETADDRESS = WM_USER+101 } 6758 -enum : uint { IPM_GETADDRESS = WM_USER+102 } 6759 -enum : uint { IPM_SETRANGE = WM_USER+103 } 6760 -enum : uint { IPM_SETFOCUS = WM_USER+104 } 6761 -enum : uint { IPM_ISBLANK = WM_USER+105 } 6762 - 6763 -const wchar[] WC_IPADDRESSW = "SysIPAddress32"; 6764 -const char[] WC_IPADDRESSA = "SysIPAddress32"; 6765 - 6766 -// #ifdef UNICODE 6767 -// #... 6768 -// #else 6769 -alias WC_IPADDRESSA WC_IPADDRESS; 6770 -// #endif 6771 - 6772 -enum : uint { IPN_FIELDCHANGED = IPN_FIRST - 0 } 6773 -struct tagNMIPADDRESS { 6774 - NMHDR hdr; 6775 - int iField; 6776 - int iValue; 6777 -} 6778 -alias tagNMIPADDRESS NMIPADDRESS; 6779 -alias tagNMIPADDRESS* LPNMIPADDRESS; 6780 - 6781 -// #define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low))) 6782 - 6783 -// #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) 6784 - 6785 -// #define FIRST_IPADDRESS(x) ((x>>24) & 0xff) 6786 -// #define SECOND_IPADDRESS(x) ((x>>16) & 0xff) 6787 -// #define THIRD_IPADDRESS(x) ((x>>8) & 0xff) 6788 -// #define FOURTH_IPADDRESS(x) (x & 0xff) 6789 - 6790 -// #endif // NOIPADDRESS 6791 - 6792 -// #ifndef NOPAGESCROLLER 6793 - 6794 -const wchar[] WC_PAGESCROLLERW = "SysPager"; 6795 -const char[] WC_PAGESCROLLERA = "SysPager"; 6796 - 6797 -// #ifdef UNICODE 6798 -// #... 6799 -// #else 6800 -alias WC_PAGESCROLLERA WC_PAGESCROLLER; 6801 -// #endif 6802 - 6803 -enum : uint { PGS_VERT = 0x00000000 } 6804 -enum : uint { PGS_HORZ = 0x00000001 } 6805 -enum : uint { PGS_AUTOSCROLL = 0x00000002 } 6806 -enum : uint { PGS_DRAGNDROP = 0x00000004 } 6807 - 6808 -enum : uint { PGF_INVISIBLE = 0 } 6809 -enum : uint { PGF_NORMAL = 1 } 6810 -enum : uint { PGF_GRAYED = 2 } 6811 -enum : uint { PGF_DEPRESSED = 4 } 6812 -enum : uint { PGF_HOT = 8 } 6813 - 6814 -enum : uint { PGB_TOPORLEFT = 0 } 6815 -enum : uint { PGB_BOTTOMORRIGHT = 1 } 6816 - 6817 -enum : uint { PGM_SETCHILD = PGM_FIRST + 1 } 6818 -// #define Pager_SetChild(hwnd, hwndChild) (void)SNDMSG((hwnd), PGM_SETCHILD, 0, (LPARAM)(hwndChild)) 6819 - 6820 -enum : uint { PGM_RECALCSIZE = PGM_FIRST + 2 } 6821 -// #define Pager_RecalcSize(hwnd) (void)SNDMSG((hwnd), PGM_RECALCSIZE, 0, 0) 6822 - 6823 -enum : uint { PGM_FORWARDMOUSE = PGM_FIRST + 3 } 6824 -// #define Pager_ForwardMouse(hwnd, bForward) (void)SNDMSG((hwnd), PGM_FORWARDMOUSE, (WPARAM)(bForward), 0) 6825 - 6826 -enum : uint { PGM_SETBKCOLOR = PGM_FIRST + 4 } 6827 -// #define Pager_SetBkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), PGM_SETBKCOLOR, 0, (LPARAM)(clr)) 6828 - 6829 -enum : uint { PGM_GETBKCOLOR = PGM_FIRST + 5 } 6830 -// #define Pager_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), PGM_GETBKCOLOR, 0, 0) 6831 - 6832 -enum : uint { PGM_SETBORDER = PGM_FIRST + 6 } 6833 -// #define Pager_SetBorder(hwnd, iBorder) (int)SNDMSG((hwnd), PGM_SETBORDER, 0, (LPARAM)(iBorder)) 6834 - 6835 -enum : uint { PGM_GETBORDER = PGM_FIRST + 7 } 6836 -// #define Pager_GetBorder(hwnd) (int)SNDMSG((hwnd), PGM_GETBORDER, 0, 0) 6837 - 6838 -enum : uint { PGM_SETPOS = PGM_FIRST + 8 } 6839 -// #define Pager_SetPos(hwnd, iPos) (int)SNDMSG((hwnd), PGM_SETPOS, 0, (LPARAM)(iPos)) 6840 - 6841 -enum : uint { PGM_GETPOS = PGM_FIRST + 9 } 6842 -// #define Pager_GetPos(hwnd) (int)SNDMSG((hwnd), PGM_GETPOS, 0, 0) 6843 - 6844 -enum : uint { PGM_SETBUTTONSIZE = PGM_FIRST + 10 } 6845 -// #define Pager_SetButtonSize(hwnd, iSize) (int)SNDMSG((hwnd), PGM_SETBUTTONSIZE, 0, (LPARAM)(iSize)) 6846 - 6847 -enum : uint { PGM_GETBUTTONSIZE = PGM_FIRST + 11 } 6848 -// #define Pager_GetButtonSize(hwnd) (int)SNDMSG((hwnd), PGM_GETBUTTONSIZE, 0,0) 6849 - 6850 -enum : uint { PGM_GETBUTTONSTATE = PGM_FIRST + 12 } 6851 -// #define Pager_GetButtonState(hwnd, iButton) (DWORD)SNDMSG((hwnd), PGM_GETBUTTONSTATE, 0, (LPARAM)(iButton)) 6852 - 6853 -alias CCM_GETDROPTARGET PGM_GETDROPTARGET; 6854 -// #define Pager_GetDropTarget(hwnd, ppdt) (void)SNDMSG((hwnd), PGM_GETDROPTARGET, 0, (LPARAM)(ppdt)) 6855 - 6856 -enum : uint { PGN_SCROLL = PGN_FIRST-1 } 6857 - 6858 -enum : uint { PGF_SCROLLUP = 1 } 6859 -enum : uint { PGF_SCROLLDOWN = 2 } 6860 -enum : uint { PGF_SCROLLLEFT = 4 } 6861 -enum : uint { PGF_SCROLLRIGHT = 8 } 6862 - 6863 -enum : uint { PGK_SHIFT = 1 } 6864 -enum : uint { PGK_CONTROL = 2 } 6865 -enum : uint { PGK_MENU = 4 } 6866 - 6867 -// #ifdef _WIN32 6868 -align(1): 6869 -// #endif 6870 - 6871 -struct _16 { 6872 - NMHDR hdr; 6873 - WORD fwKeys; 6874 - RECT rcParent; 6875 - int iDir; 6876 - int iXpos; 6877 - int iYpos; 6878 - int iScroll; 6879 -} 6880 -alias _16 NMPGSCROLL; 6881 -alias _16* LPNMPGSCROLL; 6882 - 6883 -// #ifdef _WIN32 6884 -align: 6885 -// #endif 6886 - 6887 -enum : uint { PGN_CALCSIZE = PGN_FIRST-2 } 6888 - 6889 -enum : uint { PGF_CALCWIDTH = 1 } 6890 -enum : uint { PGF_CALCHEIGHT = 2 } 6891 - 6892 -struct _17 { 6893 - NMHDR hdr; 6894 - DWORD dwFlag; 6895 - int iWidth; 6896 - int iHeight; 6897 -} 6898 -alias _17 NMPGCALCSIZE; 6899 -alias _17* LPNMPGCALCSIZE; 6900 - 6901 -enum : uint { PGN_HOTITEMCHANGE = PGN_FIRST-3 } 6902 - 6903 -struct tagNMPGHOTITEM { 6904 - NMHDR hdr; 6905 - int idOld; 6906 - int idNew; 6907 - DWORD dwFlags; 6908 -} 6909 -alias tagNMPGHOTITEM NMPGHOTITEM; 6910 -alias tagNMPGHOTITEM* LPNMPGHOTITEM; 6911 - 6912 -// #endif // NOPAGESCROLLER 6913 - 6914 -// #ifndef NONATIVEFONTCTL 6915 - 6916 -const wchar[] WC_NATIVEFONTCTLW = "NativeFontCtl"; 6917 -const char[] WC_NATIVEFONTCTLA = "NativeFontCtl"; 6918 - 6919 -// #ifdef UNICODE 6920 -// #... 6921 -// #else 6922 -alias WC_NATIVEFONTCTLA WC_NATIVEFONTCTL; 6923 -// #endif 6924 - 6925 -enum : uint { NFS_EDIT = 0x0001 } 6926 -enum : uint { NFS_STATIC = 0x0002 } 6927 -enum : uint { NFS_LISTCOMBO = 0x0004 } 6928 -enum : uint { NFS_BUTTON = 0x0008 } 6929 -enum : uint { NFS_ALL = 0x0010 } 6930 -enum : uint { NFS_USEFONTASSOC = 0x0020 } 6931 - 6932 -// #endif // NONATIVEFONTCTL 6933 - 6934 -// #ifndef NOBUTTON 6935 - 6936 -// #ifdef _WIN32 6937 - 6938 -const char[] WC_BUTTONA = "Button"; 6939 -const wchar[] WC_BUTTONW = "Button"; 6940 - 6941 -// #ifdef UNICODE 6942 -// #... 6943 -// #else 6944 -alias WC_BUTTONA WC_BUTTON; 6945 -// #endif 6946 - 6947 -// #else 6948 -// #... 6949 -// #endif 6950 - 6951 -// #if (_WIN32_WINNT >= 0x501) 6952 -enum : uint { BUTTON_IMAGELIST_ALIGN_LEFT = 0 } 6953 -enum : uint { BUTTON_IMAGELIST_ALIGN_RIGHT = 1 } 6954 -enum : uint { BUTTON_IMAGELIST_ALIGN_TOP = 2 } 6955 -enum : uint { BUTTON_IMAGELIST_ALIGN_BOTTOM = 3 } 6956 -enum : uint { BUTTON_IMAGELIST_ALIGN_CENTER = 4 } 6957 - 6958 -struct _18 { 6959 - HIMAGELIST himl; 6960 - RECT margin; 6961 - UINT uAlign; 6962 -} 6963 -alias _18 BUTTON_IMAGELIST; 6964 -alias _18* PBUTTON_IMAGELIST; 6965 - 6966 -enum : uint { BCM_GETIDEALSIZE = BCM_FIRST + 0x0001 } 6967 -// #define Button_GetIdealSize(hwnd, psize) (BOOL)SNDMSG((hwnd), BCM_GETIDEALSIZE, 0, (LPARAM)(psize)) 6968 - 6969 -enum : uint { BCM_SETIMAGELIST = BCM_FIRST + 0x0002 } 6970 -// #define Button_SetImageList(hwnd, pbuttonImagelist) (BOOL)SNDMSG((hwnd), BCM_SETIMAGELIST, 0, (LPARAM)(pbuttonImagelist)) 6971 - 6972 -enum : uint { BCM_GETIMAGELIST = BCM_FIRST + 0x0003 } 6973 -// #define Button_GetImageList(hwnd, pbuttonImagelist) (BOOL)SNDMSG((hwnd), BCM_GETIMAGELIST, 0, (LPARAM)(pbuttonImagelist)) 6974 - 6975 -enum : uint { BCM_SETTEXTMARGIN = BCM_FIRST + 0x0004 } 6976 -// #define Button_SetTextMargin(hwnd, pmargin) (BOOL)SNDMSG((hwnd), BCM_SETTEXTMARGIN, 0, (LPARAM)(pmargin)) 6977 -enum : uint { BCM_GETTEXTMARGIN = BCM_FIRST + 0x0005 } 6978 -// #define Button_GetTextMargin(hwnd, pmargin) (BOOL)SNDMSG((hwnd), BCM_GETTEXTMARGIN, 0, (LPARAM)(pmargin)) 6979 - 6980 -struct tagNMBCHOTITEM { 6981 - NMHDR hdr; 6982 - DWORD dwFlags; 6983 -} 6984 -alias tagNMBCHOTITEM NMBCHOTITEM; 6985 -alias tagNMBCHOTITEM* LPNMBCHOTITEM; 6986 - 6987 -enum : uint { BCN_HOTITEMCHANGE = BCN_FIRST + 0x0001 } 6988 - 6989 -enum : uint { BST_HOT = 0x0200 } 6990 - 6991 -// #endif 6992 - 6993 -// #endif // NOBUTTON 6994 - 6995 -// #ifndef NOSTATIC 6996 - 6997 -// #ifdef _WIN32 6998 - 6999 -const char[] WC_STATICA = "Static"; 7000 -const wchar[] WC_STATICW = "Static"; 7001 - 7002 -// #ifdef UNICODE 7003 -// #... 7004 -// #else 7005 -alias WC_STATICA WC_STATIC; 7006 -// #endif 7007 - 7008 -// #else 7009 -// #... 7010 -// #endif 7011 - 7012 -// #endif // NOSTATIC 7013 - 7014 -// #ifndef NOEDIT 7015 - 7016 -// #ifdef _WIN32 7017 - 7018 -const char[] WC_EDITA = "Edit"; 7019 -const wchar[] WC_EDITW = "Edit"; 7020 - 7021 -// #ifdef UNICODE 7022 -// #... 7023 -// #else 7024 -alias WC_EDITA WC_EDIT; 7025 -// #endif 7026 - 7027 -// #else 7028 -// #... 7029 -// #endif 7030 - 7031 -// #if (_WIN32_WINNT >= 0x501) 7032 -enum : uint { EM_SETCUEBANNER = ECM_FIRST + 1 } 7033 -// #define Edit_SetCueBannerText(hwnd, lpcwText) (BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, 0, (LPARAM)(lpcwText)) 7034 -enum : uint { EM_GETCUEBANNER = ECM_FIRST + 2 } 7035 -// #define Edit_GetCueBannerText(hwnd, lpwText, cchText) (BOOL)SNDMSG((hwnd), EM_GETCUEBANNER, (WPARAM)(lpwText), (LPARAM)(cchText)) 7036 - 7037 -struct _tagEDITBALLOONTIP { 7038 - DWORD cbStruct; 7039 - LPCWSTR pszTitle; 7040 - LPCWSTR pszText; 7041 - INT ttiIcon; 7042 -} 7043 -alias _tagEDITBALLOONTIP EDITBALLOONTIP; 7044 -alias _tagEDITBALLOONTIP* PEDITBALLOONTIP; 7045 - 7046 -enum : uint { EM_SHOWBALLOONTIP = ECM_FIRST + 3 } 7047 -// #define Edit_ShowBalloonTip(hwnd, peditballoontip) (BOOL)SNDMSG((hwnd), EM_SHOWBALLOONTIP, 0, (LPARAM)(peditballoontip)) 7048 -enum : uint { EM_HIDEBALLOONTIP = ECM_FIRST + 4 } 7049 -// #define Edit_HideBalloonTip(hwnd) (BOOL)SNDMSG((hwnd), EM_HIDEBALLOONTIP, 0, 0) 7050 -// #endif 7051 - 7052 -// #endif // NOEDIT 7053 - 7054 -// #ifndef NOLISTBOX 7055 - 7056 -// #ifdef _WIN32 7057 - 7058 -const char[] WC_LISTBOXA = "ListBox"; 7059 -const wchar[] WC_LISTBOXW = "ListBox"; 7060 - 7061 -// #ifdef UNICODE 7062 -// #... 7063 -// #else 7064 -alias WC_LISTBOXA WC_LISTBOX; 7065 -// #endif 7066 - 7067 -// #else 7068 -// #... 7069 -// #endif 7070 - 7071 -// #endif // NOLISTBOX 7072 - 7073 -// #ifndef NOCOMBOBOX 7074 - 7075 -// #ifdef _WIN32 7076 - 7077 -const char[] WC_COMBOBOXA = "ComboBox"; 7078 -const wchar[] WC_COMBOBOXW = "ComboBox"; 7079 - 7080 -// #ifdef UNICODE 7081 -// #... 7082 -// #else 7083 -alias WC_COMBOBOXA WC_COMBOBOX; 7084 -// #endif 7085 - 7086 -// #else 7087 -// #... 7088 -// #endif 7089 - 7090 -// #endif // NOCOMBOBOX 7091 - 7092 -// #if (_WIN32_WINNT >= 0x501) 7093 - 7094 -enum : uint { CB_SETMINVISIBLE = CBM_FIRST + 1 } 7095 -enum : uint { CB_GETMINVISIBLE = CBM_FIRST + 2 } 7096 - 7097 -// #define ComboBox_SetMinVisible(hwnd, iMinVisible) (BOOL)SNDMSG((hwnd), CB_SETMINVISIBLE, (WPARAM)iMinVisible, 0) 7098 - 7099 -// #define ComboBox_GetMinVisible(hwnd) (int)SNDMSG((hwnd), CB_GETMINVISIBLE, 0, 0) 7100 - 7101 -// #endif 7102 - 7103 -// #ifndef NOSCROLLBAR 7104 - 7105 -// #ifdef _WIN32 7106 - 7107 -const char[] WC_SCROLLBARA = "ScrollBar"; 7108 -const wchar[] WC_SCROLLBARW = "ScrollBar"; 7109 - 7110 -// #ifdef UNICODE 7111 -// #... 7112 -// #else 7113 -alias WC_SCROLLBARA WC_SCROLLBAR; 7114 -// #endif 7115 - 7116 -// #else 7117 -// #... 7118 -// #endif 7119 - 7120 -// #endif // NOSCROLLBAR 7121 - 7122 -// #ifdef _WIN32 7123 -// #if (_WIN32_WINNT >= 0x501) 7124 - 7125 -enum { INVALID_LINK_INDEX = -1 } 7126 -enum : uint { MAX_LINKID_TEXT = 48 } 7127 -enum { L_MAX_URL_LENGTH = 2048 + 32 + 4 } 7128 - 7129 -const wchar[] WC_LINK = "SysLink"; 7130 - 7131 -enum : uint { LWS_TRANSPARENT = 0x0001 } 7132 -enum : uint { LWS_IGNORERETURN = 0x0002 } 7133 - 7134 -enum : uint { LIF_ITEMINDEX = 0x00000001 } 7135 -enum : uint { LIF_STATE = 0x00000002 } 7136 -enum : uint { LIF_ITEMID = 0x00000004 } 7137 -enum : uint { LIF_URL = 0x00000008 } 7138 - 7139 -enum : uint { LIS_FOCUSED = 0x00000001 } 7140 -enum : uint { LIS_ENABLED = 0x00000002 } 7141 -enum : uint { LIS_VISITED = 0x00000004 } 7142 - 7143 -struct tagLITEM { 7144 - UINT mask ; 7145 - int iLink ; 7146 - UINT state ; 7147 - UINT stateMask ; 7148 - WCHAR szID[MAX_LINKID_TEXT] ; 7149 - WCHAR szUrl[L_MAX_URL_LENGTH] ; 7150 -} 7151 -alias tagLITEM LITEM; 7152 -alias tagLITEM* PLITEM; 7153 - 7154 -struct tagLHITTESTINFO { 7155 - POINT pt ; 7156 - LITEM item ; 7157 -} 7158 -alias tagLHITTESTINFO LHITTESTINFO; 7159 -alias tagLHITTESTINFO* PLHITTESTINFO; 7160 - 7161 -struct tagNMLINK { 7162 - NMHDR hdr; 7163 - LITEM item ; 7164 -} 7165 -alias tagNMLINK NMLINK; 7166 -alias tagNMLINK* PNMLINK; 7167 - 7168 -enum : uint { LM_HITTEST = WM_USER+0x300 } 7169 -enum : uint { LM_GETIDEALHEIGHT = WM_USER+0x301 } 7170 -enum : uint { LM_SETITEM = WM_USER+0x302 } 7171 -enum : uint { LM_GETITEM = WM_USER+0x303 } 7172 - 7173 -// #endif 7174 -// #endif // _WIN32 7175 - 7176 -// #ifndef NOMUI 7177 -extern(Windows) export void InitMUILanguage(LANGID uiLang); 7178 - 7179 -extern(Windows) export LANGID GetMUILanguage(); 7180 -// #endif // NOMUI 7181 - 7182 -// #endif // _WIN32_IE >= 0x0400 7183 - 7184 -// #ifdef _WIN32 7185 - 7186 -// #ifndef NOTRACKMOUSEEVENT 7187 - 7188 -// #ifndef WM_MOUSEHOVER 7189 -// #... 7190 -// #... 7191 -// #endif 7192 - 7193 -// #ifndef TME_HOVER 7194 - 7195 -enum : uint { TME_HOVER = 0x00000001 } 7196 -enum : uint { TME_LEAVE = 0x00000002 } 7197 -// #if (WINVER >= 0x0500) 7198 -enum : uint { TME_NONCLIENT = 0x00000010 } 7199 -// #endif /* WINVER >= 0x0500 */ 7200 -enum : uint { TME_QUERY = 0x40000000 } 7201 -enum : uint { TME_CANCEL = 0x80000000 } 7202 - 7203 -enum : uint { HOVER_DEFAULT = 0xFFFFFFFF } 7204 - 7205 -struct tagTRACKMOUSEEVENT { 7206 - DWORD cbSize; 7207 - DWORD dwFlags; 7208 - HWND hwndTrack; 7209 - DWORD dwHoverTime; 7210 -} 7211 -alias tagTRACKMOUSEEVENT TRACKMOUSEEVENT; 7212 -alias tagTRACKMOUSEEVENT* LPTRACKMOUSEEVENT; 7213 - 7214 -// #endif // !TME_HOVER 7215 - 7216 -extern(Windows) export BOOL _TrackMouseEvent( 7217 - LPTRACKMOUSEEVENT lpEventTrack); 7218 - 7219 -// #endif // !NOTRACKMOUSEEVENT 7220 - 7221 -// #if (_WIN32_IE >= 0x0400) 7222 - 7223 -// #ifndef NOFLATSBAPIS 7224 - 7225 -enum : uint { WSB_PROP_CYVSCROLL = 0x00000001 } 7226 -enum : uint { WSB_PROP_CXHSCROLL = 0x00000002 } 7227 -enum : uint { WSB_PROP_CYHSCROLL = 0x00000004 } 7228 -enum : uint { WSB_PROP_CXVSCROLL = 0x00000008 } 7229 -enum : uint { WSB_PROP_CXHTHUMB = 0x00000010 } 7230 -enum : uint { WSB_PROP_CYVTHUMB = 0x00000020 } 7231 -enum : uint { WSB_PROP_VBKGCOLOR = 0x00000040 } 7232 -enum : uint { WSB_PROP_HBKGCOLOR = 0x00000080 } 7233 -enum : uint { WSB_PROP_VSTYLE = 0x00000100 } 7234 -enum : uint { WSB_PROP_HSTYLE = 0x00000200 } 7235 -enum : uint { WSB_PROP_WINSTYLE = 0x00000400 } 7236 -enum : uint { WSB_PROP_PALETTE = 0x00000800 } 7237 -enum : uint { WSB_PROP_MASK = 0x00000FFF } 7238 - 7239 -enum : uint { FSB_FLAT_MODE = 2 } 7240 -enum : uint { FSB_ENCARTA_MODE = 1 } 7241 -enum : uint { FSB_REGULAR_MODE = 0 } 7242 - 7243 -extern(Windows) export BOOL FlatSB_EnableScrollBar(HWND, int, UINT); 7244 -extern(Windows) export BOOL FlatSB_ShowScrollBar(HWND, int code, BOOL); 7245 - 7246 -extern(Windows) export BOOL FlatSB_GetScrollRange(HWND, int code, LPINT, LPINT); 7247 -extern(Windows) export BOOL FlatSB_GetScrollInfo(HWND, int code, LPSCROLLINFO); 7248 - 7249 -extern(Windows) export int FlatSB_GetScrollPos(HWND, int code); 7250 - 7251 -extern(Windows) export BOOL FlatSB_GetScrollProp(HWND, int propIndex, LPINT); 7252 -// #ifdef _WIN64 7253 -// ... 7254 -// #else 7255 -alias FlatSB_GetScrollProp FlatSB_GetScrollPropPtr; 7256 -// #endif 7257 - 7258 -extern(Windows) export int FlatSB_SetScrollPos(HWND, int code, int pos, BOOL fRedraw); 7259 - 7260 -extern(Windows) export int FlatSB_SetScrollInfo(HWND, int code, LPSCROLLINFO, BOOL fRedraw); 7261 - 7262 -extern(Windows) export int FlatSB_SetScrollRange(HWND, int code, int min, int max, BOOL fRedraw); 7263 -extern(Windows) export BOOL FlatSB_SetScrollProp(HWND, UINT index, INT_PTR newValue, BOOL); 7264 -alias FlatSB_SetScrollProp FlatSB_SetScrollPropPtr; 7265 - 7266 -extern(Windows) export BOOL InitializeFlatSB(HWND); 7267 -extern(Windows) export HRESULT UninitializeFlatSB(HWND); 7268 - 7269 -// #endif // NOFLATSBAPIS 7270 - 7271 -// #endif // _WIN32_IE >= 0x0400 7272 - 7273 -// #endif /* _WIN32 */ 7274 - 7275 -// #endif // _WIN32_IE >= 0x0300 7276 - 7277 -// #if (_WIN32_WINNT >= 0x501) 7278 - 7279 -extern(Windows) alias LRESULT function(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData) SUBCLASSPROC; 7280 - 7281 -extern(Windows) export BOOL SetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass, 7282 - DWORD_PTR dwRefData); 7283 -extern(Windows) export BOOL GetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass, 7284 - DWORD_PTR *pdwRefData); 7285 -extern(Windows) export BOOL RemoveWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, 7286 - UINT_PTR uIdSubclass); 7287 - 7288 -extern(Windows) export LRESULT DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); 7289 -// #endif 7290 - 7291 -// #if (_WIN32_WINNT >= 0x501) 7292 - 7293 -extern(Windows) export int DrawShadowText(HDC hdc, LPCWSTR pszText, UINT cch, RECT* prc, DWORD dwFlags, COLORREF crText, COLORREF crShadow, 7294 - int ixOffset, int iyOffset); 7295 -// #endif 7296 - 7297 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 7298 -// #if ISOLATION_AWARE_ENABLED 7299 - 7300 -// #if !defined(ISOLATION_AWARE_INLINE) 7301 -// #if defined(__cplusplus) 7302 -// #... 7303 -// #else 7304 -// #... 7305 -// #endif 7306 -// #endif 7307 - 7308 -// ... 7309 - 7310 -// ... 7311 -// #if defined(__IStream_INTERFACE_DEFINED__) 7312 -// ... 7313 -// #if defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) 7314 -// ... 7315 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) */ 7316 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) */ 7317 -// ... 7318 -// #if !defined(NOTRACKMOUSEEVENT) 7319 -// ... 7320 -// #endif /* !defined(NOTRACKMOUSEEVENT) */ 7321 -// ... 7322 -// #if (_WIN32_IE >= 0x560) 7323 -// ... 7324 -// #endif /* (_WIN32_IE >= 0x560) */ 7325 -// ... 7326 - 7327 -// #if defined(UNICODE) 7328 - 7329 -// #... 7330 -// #... 7331 -// #... 7332 - 7333 -// #else /* UNICODE */ 7334 - 7335 -// #... 7336 -// #... 7337 -// #... 7338 - 7339 -// #endif /* UNICODE */ 7340 - 7341 -// ... 7342 - 7343 -// ... 7344 - 7345 -// ... 7346 - 7347 -// ... 7348 - 7349 -// ... 7350 - 7351 -// ... 7352 - 7353 -// ... 7354 - 7355 -// ... 7356 - 7357 -// ... 7358 - 7359 -// ... 7360 - 7361 -// ... 7362 - 7363 -// ... 7364 - 7365 -// ... 7366 - 7367 -// ... 7368 - 7369 -// ... 7370 - 7371 -// ... 7372 - 7373 -// ... 7374 - 7375 -// ... 7376 - 7377 -// ... 7378 - 7379 -// ... 7380 - 7381 -// ... 7382 - 7383 -// ... 7384 - 7385 -// ... 7386 - 7387 -// ... 7388 - 7389 -// ... 7390 - 7391 -// ... 7392 - 7393 -// ... 7394 - 7395 -// ... 7396 - 7397 -// ... 7398 - 7399 -// #if defined(__IStream_INTERFACE_DEFINED__) 7400 - 7401 -// ... 7402 - 7403 -// ... 7404 - 7405 -// #if defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) 7406 - 7407 -// ... 7408 - 7409 -// ... 7410 - 7411 -// ... 7412 - 7413 -// ... 7414 - 7415 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) */ 7416 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) */ 7417 - 7418 -// ... 7419 - 7420 -// ... 7421 - 7422 -// ... 7423 - 7424 -// ... 7425 - 7426 -// ... 7427 - 7428 -// ... 7429 - 7430 -// ... 7431 - 7432 -// ... 7433 - 7434 -// ... 7435 - 7436 -// ... 7437 - 7438 -// ... 7439 - 7440 -// ... 7441 - 7442 -// ... 7443 - 7444 -// ... 7445 - 7446 -// ... 7447 - 7448 -// ... 7449 - 7450 -// ... 7451 - 7452 -// ... 7453 - 7454 -// ... 7455 - 7456 -// ... 7457 - 7458 -// #if !defined(NOTRACKMOUSEEVENT) 7459 - 7460 -// ... 7461 - 7462 -// #endif /* !defined(NOTRACKMOUSEEVENT) */ 7463 - 7464 -// ... 7465 - 7466 -// ... 7467 - 7468 -// ... 7469 - 7470 -// ... 7471 - 7472 -// ... 7473 - 7474 -// ... 7475 - 7476 -// ... 7477 -// #if defined(_WIN64) 7478 -// ... 7479 -// #else 7480 -// ... 7481 -// #endif 7482 -// ... 7483 - 7484 -// ... 7485 - 7486 -// ... 7487 - 7488 -// ... 7489 - 7490 -// ... 7491 - 7492 -// ... 7493 - 7494 -// ... 7495 - 7496 -// ... 7497 - 7498 -// #if (_WIN32_IE >= 0x560) 7499 - 7500 -// ... 7501 - 7502 -// ... 7503 - 7504 -// ... 7505 - 7506 -// #endif /* (_WIN32_IE >= 0x560) */ 7507 - 7508 -// ... 7509 - 7510 -// ... 7511 - 7512 -// ... 7513 - 7514 -// #... 7515 -// #... 7516 -// #... 7517 -// #... 7518 -// #... 7519 -// #... 7520 -// #... 7521 -// #... 7522 -// #... 7523 -// #... 7524 -// #... 7525 -// #... 7526 -// #... 7527 -// #... 7528 -// #if defined(FlatSB_GetScrollPropPtr) 7529 -// #... 7530 -// #endif 7531 -// #... 7532 -// #... 7533 -// #... 7534 -// #... 7535 -// #... 7536 -// #... 7537 -// #... 7538 -// #... 7539 -// #... 7540 -// #... 7541 -// #... 7542 -// #... 7543 -// #... 7544 -// #... 7545 -// #... 7546 -// #... 7547 -// #... 7548 -// #... 7549 -// #... 7550 -// #... 7551 -// #... 7552 -// #... 7553 -// #... 7554 -// #... 7555 -// #... 7556 -// #... 7557 -// #... 7558 -// #... 7559 -// #... 7560 -// #... 7561 -// #... 7562 -// #... 7563 -// #... 7564 -// #... 7565 -// #... 7566 -// #... 7567 -// #... 7568 -// #... 7569 -// #... 7570 -// #... 7571 -// #... 7572 -// #... 7573 -// #... 7574 -// #... 7575 -// #... 7576 -// #... 7577 -// #... 7578 -// #... 7579 -// #... 7580 -// #... 7581 -// #... 7582 -// #... 7583 -// #... 7584 -// #... 7585 -// #... 7586 -// #... 7587 -// #... 7588 -// #... 7589 - 7590 -// #endif /* ISOLATION_AWARE_ENABLED */ 7591 -// #endif /* RC */ 7592 - 7593 -// #ifdef __cplusplus 7594 -// } 7595 -// #endif 7596 - 7597 -// #endif 7598 - 7599 -// #endif // _INC_COMMCTRL 7600 -

Deleted src/win32/ansi/commdlg.d version [8d4bc5a2189cdef3]

1 -module win32.ansi.commdlg; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winuser; 7 -// inline #include <cderr.h> 8 -// ---- 9 - 10 -// #ifndef _INC_CDERR 11 -// #define _INC_CDERR 12 - 13 -// #if _MSC_VER > 1000 14 -// #pragma once 15 -// #endif 16 - 17 -enum : uint { CDERR_DIALOGFAILURE = 0xFFFF } 18 - 19 -enum : uint { CDERR_GENERALCODES = 0x0000 } 20 -enum : uint { CDERR_STRUCTSIZE = 0x0001 } 21 -enum : uint { CDERR_INITIALIZATION = 0x0002 } 22 -enum : uint { CDERR_NOTEMPLATE = 0x0003 } 23 -enum : uint { CDERR_NOHINSTANCE = 0x0004 } 24 -enum : uint { CDERR_LOADSTRFAILURE = 0x0005 } 25 -enum : uint { CDERR_FINDRESFAILURE = 0x0006 } 26 -enum : uint { CDERR_LOADRESFAILURE = 0x0007 } 27 -enum : uint { CDERR_LOCKRESFAILURE = 0x0008 } 28 -enum : uint { CDERR_MEMALLOCFAILURE = 0x0009 } 29 -enum : uint { CDERR_MEMLOCKFAILURE = 0x000A } 30 -enum : uint { CDERR_NOHOOK = 0x000B } 31 -enum : uint { CDERR_REGISTERMSGFAIL = 0x000C } 32 - 33 -enum : uint { PDERR_PRINTERCODES = 0x1000 } 34 -enum : uint { PDERR_SETUPFAILURE = 0x1001 } 35 -enum : uint { PDERR_PARSEFAILURE = 0x1002 } 36 -enum : uint { PDERR_RETDEFFAILURE = 0x1003 } 37 -enum : uint { PDERR_LOADDRVFAILURE = 0x1004 } 38 -enum : uint { PDERR_GETDEVMODEFAIL = 0x1005 } 39 -enum : uint { PDERR_INITFAILURE = 0x1006 } 40 -enum : uint { PDERR_NODEVICES = 0x1007 } 41 -enum : uint { PDERR_NODEFAULTPRN = 0x1008 } 42 -enum : uint { PDERR_DNDMMISMATCH = 0x1009 } 43 -enum : uint { PDERR_CREATEICFAILURE = 0x100A } 44 -enum : uint { PDERR_PRINTERNOTFOUND = 0x100B } 45 -enum : uint { PDERR_DEFAULTDIFFERENT = 0x100C } 46 - 47 -enum : uint { CFERR_CHOOSEFONTCODES = 0x2000 } 48 -enum : uint { CFERR_NOFONTS = 0x2001 } 49 -enum : uint { CFERR_MAXLESSTHANMIN = 0x2002 } 50 - 51 -enum : uint { FNERR_FILENAMECODES = 0x3000 } 52 -enum : uint { FNERR_SUBCLASSFAILURE = 0x3001 } 53 -enum : uint { FNERR_INVALIDFILENAME = 0x3002 } 54 -enum : uint { FNERR_BUFFERTOOSMALL = 0x3003 } 55 - 56 -enum : uint { FRERR_FINDREPLACECODES = 0x4000 } 57 -enum : uint { FRERR_BUFFERLENGTHZERO = 0x4001 } 58 - 59 -enum : uint { CCERR_CHOOSECOLORCODES = 0x5000 } 60 - 61 -// #endif /* !_INC_CDERR */ 62 -// ---- 63 - 64 -// #ifndef _INC_COMMDLG 65 -// #define _INC_COMMDLG 66 - 67 -// #if(WINVER >= 0x0500) 68 - 69 -// #ifdef DEFINE_GUID 70 - 71 -// ... 72 - 73 -// ... 74 - 75 -// #endif 76 - 77 -// #endif /* WINVER >= 0x0500 */ 78 - 79 -// #ifndef GUID_DEFS_ONLY 80 - 81 -// #include <prsht.h> 82 - 83 -// #if !defined(_WIN64) 84 -align(1): 85 -// #endif 86 - 87 -// #ifdef __cplusplus 88 -// extern "C" { /* Assume C declarations for C++ */ 89 -// #endif /* __cplusplus */ 90 - 91 -// #ifndef WINCOMMDLGAPI 92 -// #if !defined(_COMDLG32_) 93 -// #define WINCOMMDLGAPI DECLSPEC_IMPORT 94 -// #else 95 -// #... 96 -// #endif 97 -// #endif // WINCOMMDLGAPI 98 - 99 -// #if(WINVER >= 0x0400) 100 -// #ifndef SNDMSG 101 -// #ifdef __cplusplus 102 -// #ifndef _MAC 103 -// #define SNDMSG ::SendMessage 104 -// #else 105 -// #... 106 -// #endif 107 -// #else /* __cplusplus */ 108 -// #ifndef _MAC 109 -// #... 110 -// #else 111 -// #... 112 -// #endif 113 -// #endif /* __cplusplus */ 114 -// #endif // ifndef SNDMSG 115 -// #endif /* WINVER >= 0x0400 */ 116 - 117 -// #ifdef _MAC 118 -// ... 119 -// #endif 120 - 121 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPOFNHOOKPROC; 122 - 123 -// #ifndef CDSIZEOF_STRUCT 124 -// #define CDSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) 125 -// #endif 126 - 127 -// #ifndef DUMMYUNIONNAME 128 -// #ifdef NONAMELESSUNION 129 -// #... 130 -// #endif // NONAMELESSUNION 131 -// #endif // DUMMYUNIONNAME 132 - 133 -struct tagOFN_NT4A { 134 - DWORD lStructSize; 135 - HWND hwndOwner; 136 - HINSTANCE hInstance; 137 - LPCSTR lpstrFilter; 138 - LPSTR lpstrCustomFilter; 139 - DWORD nMaxCustFilter; 140 - DWORD nFilterIndex; 141 - LPSTR lpstrFile; 142 - DWORD nMaxFile; 143 - LPSTR lpstrFileTitle; 144 - DWORD nMaxFileTitle; 145 - LPCSTR lpstrInitialDir; 146 - LPCSTR lpstrTitle; 147 - DWORD Flags; 148 - WORD nFileOffset; 149 - WORD nFileExtension; 150 - LPCSTR lpstrDefExt; 151 - LPARAM lCustData; 152 - LPOFNHOOKPROC lpfnHook; 153 - LPCSTR lpTemplateName; 154 -} 155 -alias tagOFN_NT4A OPENFILENAME_NT4A; 156 -alias tagOFN_NT4A* LPOPENFILENAME_NT4A; 157 - 158 -struct tagOFN_NT4W { 159 - DWORD lStructSize; 160 - HWND hwndOwner; 161 - HINSTANCE hInstance; 162 - LPCWSTR lpstrFilter; 163 - LPWSTR lpstrCustomFilter; 164 - DWORD nMaxCustFilter; 165 - DWORD nFilterIndex; 166 - LPWSTR lpstrFile; 167 - DWORD nMaxFile; 168 - LPWSTR lpstrFileTitle; 169 - DWORD nMaxFileTitle; 170 - LPCWSTR lpstrInitialDir; 171 - LPCWSTR lpstrTitle; 172 - DWORD Flags; 173 - WORD nFileOffset; 174 - WORD nFileExtension; 175 - LPCWSTR lpstrDefExt; 176 - LPARAM lCustData; 177 - LPOFNHOOKPROC lpfnHook; 178 - LPCWSTR lpTemplateName; 179 -} 180 -alias tagOFN_NT4W OPENFILENAME_NT4W; 181 -alias tagOFN_NT4W* LPOPENFILENAME_NT4W; 182 - 183 -// #ifdef UNICODE 184 -// ... 185 -// #else 186 -alias OPENFILENAME_NT4A OPENFILENAME_NT4; 187 -alias LPOPENFILENAME_NT4A LPOPENFILENAME_NT4; 188 -// #endif // UNICODE 189 - 190 -struct tagOFNA { 191 - DWORD lStructSize; 192 - HWND hwndOwner; 193 - HINSTANCE hInstance; 194 - LPCSTR lpstrFilter; 195 - LPSTR lpstrCustomFilter; 196 - DWORD nMaxCustFilter; 197 - DWORD nFilterIndex; 198 - LPSTR lpstrFile; 199 - DWORD nMaxFile; 200 - LPSTR lpstrFileTitle; 201 - DWORD nMaxFileTitle; 202 - LPCSTR lpstrInitialDir; 203 - LPCSTR lpstrTitle; 204 - DWORD Flags; 205 - WORD nFileOffset; 206 - WORD nFileExtension; 207 - LPCSTR lpstrDefExt; 208 - LPARAM lCustData; 209 - LPOFNHOOKPROC lpfnHook; 210 - LPCSTR lpTemplateName; 211 -// #ifdef _MAC 212 -// ... 213 -// #endif 214 -// #if (_WIN32_WINNT >= 0x0500) 215 - void * pvReserved; 216 - DWORD dwReserved; 217 - DWORD FlagsEx; 218 -// #endif // (_WIN32_WINNT >= 0x0500) 219 -} 220 -alias tagOFNA OPENFILENAMEA; 221 -alias tagOFNA* LPOPENFILENAMEA; 222 - 223 -struct tagOFNW { 224 - DWORD lStructSize; 225 - HWND hwndOwner; 226 - HINSTANCE hInstance; 227 - LPCWSTR lpstrFilter; 228 - LPWSTR lpstrCustomFilter; 229 - DWORD nMaxCustFilter; 230 - DWORD nFilterIndex; 231 - LPWSTR lpstrFile; 232 - DWORD nMaxFile; 233 - LPWSTR lpstrFileTitle; 234 - DWORD nMaxFileTitle; 235 - LPCWSTR lpstrInitialDir; 236 - LPCWSTR lpstrTitle; 237 - DWORD Flags; 238 - WORD nFileOffset; 239 - WORD nFileExtension; 240 - LPCWSTR lpstrDefExt; 241 - LPARAM lCustData; 242 - LPOFNHOOKPROC lpfnHook; 243 - LPCWSTR lpTemplateName; 244 -// #ifdef _MAC 245 -// ... 246 -// #endif 247 -// #if (_WIN32_WINNT >= 0x0500) 248 - void * pvReserved; 249 - DWORD dwReserved; 250 - DWORD FlagsEx; 251 -// #endif // (_WIN32_WINNT >= 0x0500) 252 -} 253 -alias tagOFNW OPENFILENAMEW; 254 -alias tagOFNW* LPOPENFILENAMEW; 255 - 256 -// #ifdef UNICODE 257 -// ... 258 -// #else 259 -alias OPENFILENAMEA OPENFILENAME; 260 -alias LPOPENFILENAMEA LPOPENFILENAME; 261 -// #endif // UNICODE 262 - 263 -// #if (_WIN32_WINNT >= 0x0500) 264 -// #define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName) 265 -// #define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName) 266 -// #ifdef UNICODE 267 -// #... 268 -// #else 269 -// #define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400A 270 -// #endif // !UNICODE 271 -// #endif // (_WIN32_WINNT >= 0x0500) 272 - 273 -extern(Windows) export BOOL GetOpenFileNameA(LPOPENFILENAMEA); 274 -extern(Windows) export BOOL GetOpenFileNameW(LPOPENFILENAMEW); 275 -// #ifdef UNICODE 276 -// #... 277 -// #else 278 -alias GetOpenFileNameA GetOpenFileName; 279 -// #endif // !UNICODE 280 -extern(Windows) export BOOL GetSaveFileNameA(LPOPENFILENAMEA); 281 -extern(Windows) export BOOL GetSaveFileNameW(LPOPENFILENAMEW); 282 -// #ifdef UNICODE 283 -// #... 284 -// #else 285 -alias GetSaveFileNameA GetSaveFileName; 286 -// #endif // !UNICODE 287 - 288 -extern(Windows) export short GetFileTitleA(LPCSTR, LPSTR, WORD); 289 -extern(Windows) export short GetFileTitleW(LPCWSTR, LPWSTR, WORD); 290 -// #ifdef UNICODE 291 -// #... 292 -// #else 293 -alias GetFileTitleA GetFileTitle; 294 -// #endif // !UNICODE 295 - 296 -enum : uint { OFN_READONLY = 0x00000001 } 297 -enum : uint { OFN_OVERWRITEPROMPT = 0x00000002 } 298 -enum : uint { OFN_HIDEREADONLY = 0x00000004 } 299 -enum : uint { OFN_NOCHANGEDIR = 0x00000008 } 300 -enum : uint { OFN_SHOWHELP = 0x00000010 } 301 -enum : uint { OFN_ENABLEHOOK = 0x00000020 } 302 -enum : uint { OFN_ENABLETEMPLATE = 0x00000040 } 303 -enum : uint { OFN_ENABLETEMPLATEHANDLE = 0x00000080 } 304 -enum : uint { OFN_NOVALIDATE = 0x00000100 } 305 -enum : uint { OFN_ALLOWMULTISELECT = 0x00000200 } 306 -enum : uint { OFN_EXTENSIONDIFFERENT = 0x00000400 } 307 -enum : uint { OFN_PATHMUSTEXIST = 0x00000800 } 308 -enum : uint { OFN_FILEMUSTEXIST = 0x00001000 } 309 -enum : uint { OFN_CREATEPROMPT = 0x00002000 } 310 -enum : uint { OFN_SHAREAWARE = 0x00004000 } 311 -enum : uint { OFN_NOREADONLYRETURN = 0x00008000 } 312 -enum : uint { OFN_NOTESTFILECREATE = 0x00010000 } 313 -enum : uint { OFN_NONETWORKBUTTON = 0x00020000 } 314 -enum : uint { OFN_NOLONGNAMES = 0x00040000 } 315 -// #if(WINVER >= 0x0400) 316 -enum : uint { OFN_EXPLORER = 0x00080000 } 317 -enum : uint { OFN_NODEREFERENCELINKS = 0x00100000 } 318 -enum : uint { OFN_LONGNAMES = 0x00200000 } 319 -enum : uint { OFN_ENABLEINCLUDENOTIFY = 0x00400000 } 320 -enum : uint { OFN_ENABLESIZING = 0x00800000 } 321 -// #endif /* WINVER >= 0x0400 */ 322 -// #if (_WIN32_WINNT >= 0x0500) 323 -enum : uint { OFN_DONTADDTORECENT = 0x02000000 } 324 -enum : uint { OFN_FORCESHOWHIDDEN = 0x10000000 } 325 -// #endif // (_WIN32_WINNT >= 0x0500) 326 - 327 -// #if (_WIN32_WINNT >= 0x0500) 328 -enum : uint { OFN_EX_NOPLACESBAR = 0x00000001 } 329 -// #endif // (_WIN32_WINNT >= 0x0500) 330 - 331 -enum : uint { OFN_SHAREFALLTHROUGH = 2 } 332 -enum : uint { OFN_SHARENOWARN = 1 } 333 -enum : uint { OFN_SHAREWARN = 0 } 334 - 335 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPCCHOOKPROC; 336 - 337 -// #if(WINVER >= 0x0400) 338 - 339 -struct _OFNOTIFYA { 340 - NMHDR hdr; 341 - LPOPENFILENAMEA lpOFN; 342 - LPSTR pszFile; 343 -} 344 -alias _OFNOTIFYA OFNOTIFYA; 345 -alias _OFNOTIFYA* LPOFNOTIFYA; 346 - 347 -struct _OFNOTIFYW { 348 - NMHDR hdr; 349 - LPOPENFILENAMEW lpOFN; 350 - LPWSTR pszFile; 351 -} 352 -alias _OFNOTIFYW OFNOTIFYW; 353 -alias _OFNOTIFYW* LPOFNOTIFYW; 354 - 355 -// #ifdef UNICODE 356 -// ... 357 -// #else 358 -alias OFNOTIFYA OFNOTIFY; 359 -alias LPOFNOTIFYA LPOFNOTIFY; 360 -// #endif // UNICODE 361 - 362 -struct _OFNOTIFYEXA { 363 - NMHDR hdr; 364 - LPOPENFILENAMEA lpOFN; 365 - LPVOID psf; 366 - LPVOID pidl; 367 -} 368 -alias _OFNOTIFYEXA OFNOTIFYEXA; 369 -alias _OFNOTIFYEXA* LPOFNOTIFYEXA; 370 - 371 -struct _OFNOTIFYEXW { 372 - NMHDR hdr; 373 - LPOPENFILENAMEW lpOFN; 374 - LPVOID psf; 375 - LPVOID pidl; 376 -} 377 -alias _OFNOTIFYEXW OFNOTIFYEXW; 378 -alias _OFNOTIFYEXW* LPOFNOTIFYEXW; 379 - 380 -// #ifdef UNICODE 381 -// ... 382 -// #else 383 -alias OFNOTIFYEXA OFNOTIFYEX; 384 -alias LPOFNOTIFYEXA LPOFNOTIFYEX; 385 -// #endif // UNICODE 386 - 387 -enum : uint { CDN_FIRST = 0U-601U } 388 -enum : uint { CDN_LAST = 0U-699U } 389 - 390 -enum : uint { CDN_INITDONE = CDN_FIRST - 0x0000 } 391 -enum : uint { CDN_SELCHANGE = CDN_FIRST - 0x0001 } 392 -enum : uint { CDN_FOLDERCHANGE = CDN_FIRST - 0x0002 } 393 -enum : uint { CDN_SHAREVIOLATION = CDN_FIRST - 0x0003 } 394 -enum : uint { CDN_HELP = CDN_FIRST - 0x0004 } 395 -enum : uint { CDN_FILEOK = CDN_FIRST - 0x0005 } 396 -enum : uint { CDN_TYPECHANGE = CDN_FIRST - 0x0006 } 397 -enum : uint { CDN_INCLUDEITEM = CDN_FIRST - 0x0007 } 398 - 399 -enum : uint { CDM_FIRST = WM_USER + 100 } 400 -enum : uint { CDM_LAST = WM_USER + 200 } 401 - 402 -enum : uint { CDM_GETSPEC = CDM_FIRST + 0x0000 } 403 -// #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 404 -// #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 405 -// #ifdef UNICODE 406 -// #... 407 -// #else 408 -// #define CommDlg_OpenSave_GetSpec CommDlg_OpenSave_GetSpecA 409 -// #endif // !UNICODE 410 - 411 -enum : uint { CDM_GETFILEPATH = CDM_FIRST + 0x0001 } 412 -// #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 413 -// #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 414 -// #ifdef UNICODE 415 -// #... 416 -// #else 417 -// #define CommDlg_OpenSave_GetFilePath CommDlg_OpenSave_GetFilePathA 418 -// #endif // !UNICODE 419 - 420 -enum : uint { CDM_GETFOLDERPATH = CDM_FIRST + 0x0002 } 421 -// #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 422 -// #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 423 -// #ifdef UNICODE 424 -// #... 425 -// #else 426 -// #define CommDlg_OpenSave_GetFolderPath CommDlg_OpenSave_GetFolderPathA 427 -// #endif // !UNICODE 428 - 429 -enum : uint { CDM_GETFOLDERIDLIST = CDM_FIRST + 0x0003 } 430 -// #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl) 431 - 432 -enum : uint { CDM_SETCONTROLTEXT = CDM_FIRST + 0x0004 } 433 -// #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text) 434 - 435 -enum : uint { CDM_HIDECONTROL = CDM_FIRST + 0x0005 } 436 -// #define CommDlg_OpenSave_HideControl(_hdlg, _id) (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0) 437 - 438 -enum : uint { CDM_SETDEFEXT = CDM_FIRST + 0x0006 } 439 -// #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext) 440 -// #endif /* WINVER >= 0x0400 */ 441 - 442 -// #ifndef _MAC 443 -struct tagCHOOSECOLORA { 444 - DWORD lStructSize; 445 - HWND hwndOwner; 446 - HWND hInstance; 447 - COLORREF rgbResult; 448 - COLORREF * lpCustColors; 449 - DWORD Flags; 450 - LPARAM lCustData; 451 - LPCCHOOKPROC lpfnHook; 452 - LPCSTR lpTemplateName; 453 -} 454 -alias tagCHOOSECOLORA CHOOSECOLORA; 455 -alias tagCHOOSECOLORA* LPCHOOSECOLORA; 456 - 457 -struct tagCHOOSECOLORW { 458 - DWORD lStructSize; 459 - HWND hwndOwner; 460 - HWND hInstance; 461 - COLORREF rgbResult; 462 - COLORREF * lpCustColors; 463 - DWORD Flags; 464 - LPARAM lCustData; 465 - LPCCHOOKPROC lpfnHook; 466 - LPCWSTR lpTemplateName; 467 -} 468 -alias tagCHOOSECOLORW CHOOSECOLORW; 469 -alias tagCHOOSECOLORW* LPCHOOSECOLORW; 470 - 471 -// #ifdef UNICODE 472 -// ... 473 -// #else 474 -alias CHOOSECOLORA CHOOSECOLOR; 475 -alias LPCHOOSECOLORA LPCHOOSECOLOR; 476 -// #endif // UNICODE 477 -// #else 478 -// ... 479 -// #ifdef UNICODE 480 -// ... 481 -// #else 482 -// ... 483 -// #endif // UNICODE 484 -// #endif //_MAC 485 - 486 -extern(Windows) export BOOL ChooseColorA(LPCHOOSECOLORA); 487 -extern(Windows) export BOOL ChooseColorW(LPCHOOSECOLORW); 488 -// #ifdef UNICODE 489 -// #... 490 -// #else 491 -alias ChooseColorA ChooseColor; 492 -// #endif // !UNICODE 493 - 494 -enum : uint { CC_RGBINIT = 0x00000001 } 495 -enum : uint { CC_FULLOPEN = 0x00000002 } 496 -enum : uint { CC_PREVENTFULLOPEN = 0x00000004 } 497 -enum : uint { CC_SHOWHELP = 0x00000008 } 498 -enum : uint { CC_ENABLEHOOK = 0x00000010 } 499 -enum : uint { CC_ENABLETEMPLATE = 0x00000020 } 500 -enum : uint { CC_ENABLETEMPLATEHANDLE = 0x00000040 } 501 -// #if(WINVER >= 0x0400) 502 -enum : uint { CC_SOLIDCOLOR = 0x00000080 } 503 -enum : uint { CC_ANYCOLOR = 0x00000100 } 504 -// #endif /* WINVER >= 0x0400 */ 505 - 506 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPFRHOOKPROC; 507 - 508 -struct tagFINDREPLACEA { 509 - DWORD lStructSize; 510 - HWND hwndOwner; 511 - HINSTANCE hInstance; 512 - 513 - DWORD Flags; 514 - LPSTR lpstrFindWhat; 515 - LPSTR lpstrReplaceWith; 516 - WORD wFindWhatLen; 517 - WORD wReplaceWithLen; 518 - LPARAM lCustData; 519 - LPFRHOOKPROC lpfnHook; 520 - LPCSTR lpTemplateName; 521 -} 522 -alias tagFINDREPLACEA FINDREPLACEA; 523 -alias tagFINDREPLACEA* LPFINDREPLACEA; 524 - 525 -struct tagFINDREPLACEW { 526 - DWORD lStructSize; 527 - HWND hwndOwner; 528 - HINSTANCE hInstance; 529 - 530 - DWORD Flags; 531 - LPWSTR lpstrFindWhat; 532 - LPWSTR lpstrReplaceWith; 533 - WORD wFindWhatLen; 534 - WORD wReplaceWithLen; 535 - LPARAM lCustData; 536 - LPFRHOOKPROC lpfnHook; 537 - LPCWSTR lpTemplateName; 538 -} 539 -alias tagFINDREPLACEW FINDREPLACEW; 540 -alias tagFINDREPLACEW* LPFINDREPLACEW; 541 - 542 -// #ifdef UNICODE 543 -// ... 544 -// #else 545 -alias FINDREPLACEA FINDREPLACE; 546 -alias LPFINDREPLACEA LPFINDREPLACE; 547 -// #endif // UNICODE 548 - 549 -enum : uint { FR_DOWN = 0x00000001 } 550 -enum : uint { FR_WHOLEWORD = 0x00000002 } 551 -enum : uint { FR_MATCHCASE = 0x00000004 } 552 -enum : uint { FR_FINDNEXT = 0x00000008 } 553 -enum : uint { FR_REPLACE = 0x00000010 } 554 -enum : uint { FR_REPLACEALL = 0x00000020 } 555 -enum : uint { FR_DIALOGTERM = 0x00000040 } 556 -enum : uint { FR_SHOWHELP = 0x00000080 } 557 -enum : uint { FR_ENABLEHOOK = 0x00000100 } 558 -enum : uint { FR_ENABLETEMPLATE = 0x00000200 } 559 -enum : uint { FR_NOUPDOWN = 0x00000400 } 560 -enum : uint { FR_NOMATCHCASE = 0x00000800 } 561 -enum : uint { FR_NOWHOLEWORD = 0x00001000 } 562 -enum : uint { FR_ENABLETEMPLATEHANDLE = 0x00002000 } 563 -enum : uint { FR_HIDEUPDOWN = 0x00004000 } 564 -enum : uint { FR_HIDEMATCHCASE = 0x00008000 } 565 -enum : uint { FR_HIDEWHOLEWORD = 0x00010000 } 566 -enum : uint { FR_RAW = 0x00020000 } 567 -enum : uint { FR_MATCHDIAC = 0x20000000 } 568 -enum : uint { FR_MATCHKASHIDA = 0x40000000 } 569 -enum : uint { FR_MATCHALEFHAMZA = 0x80000000 } 570 - 571 -extern(Windows) export HWND FindTextA(LPFINDREPLACEA); 572 -extern(Windows) export HWND FindTextW(LPFINDREPLACEW); 573 -// #ifdef UNICODE 574 -// #... 575 -// #else 576 -alias FindTextA FindText; 577 -// #endif // !UNICODE 578 -// #ifndef _MAC 579 -extern(Windows) export HWND ReplaceTextA(LPFINDREPLACEA); 580 -extern(Windows) export HWND ReplaceTextW(LPFINDREPLACEW); 581 -// #ifdef UNICODE 582 -// #... 583 -// #else 584 -alias ReplaceTextA ReplaceText; 585 -// #endif // !UNICODE 586 -// #else 587 -// ... 588 -// #ifdef UNICODE 589 -// #... 590 -// #else 591 -// #... 592 -// #endif // !UNICODE 593 -// #endif 594 - 595 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPCFHOOKPROC; 596 - 597 -struct tagCHOOSEFONTA { 598 - DWORD lStructSize; 599 - HWND hwndOwner; 600 - HDC hDC; 601 - LPLOGFONTA lpLogFont; 602 - INT iPointSize; 603 - DWORD Flags; 604 - COLORREF rgbColors; 605 - LPARAM lCustData; 606 - LPCFHOOKPROC lpfnHook; 607 - LPCSTR lpTemplateName; 608 - HINSTANCE hInstance; 609 - 610 - LPSTR lpszStyle; 611 - 612 - WORD nFontType; 613 - 614 - WORD ___MISSING_ALIGNMENT__; 615 - INT nSizeMin; 616 - INT nSizeMax; 617 - 618 -} 619 -alias tagCHOOSEFONTA CHOOSEFONTA; 620 -alias tagCHOOSEFONTA* LPCHOOSEFONTA; 621 - 622 -struct tagCHOOSEFONTW { 623 - DWORD lStructSize; 624 - HWND hwndOwner; 625 - HDC hDC; 626 - LPLOGFONTW lpLogFont; 627 - INT iPointSize; 628 - DWORD Flags; 629 - COLORREF rgbColors; 630 - LPARAM lCustData; 631 - LPCFHOOKPROC lpfnHook; 632 - LPCWSTR lpTemplateName; 633 - HINSTANCE hInstance; 634 - 635 - LPWSTR lpszStyle; 636 - 637 - WORD nFontType; 638 - 639 - WORD ___MISSING_ALIGNMENT__; 640 - INT nSizeMin; 641 - INT nSizeMax; 642 - 643 -} 644 -alias tagCHOOSEFONTW CHOOSEFONTW; 645 -alias tagCHOOSEFONTW* LPCHOOSEFONTW; 646 - 647 -// #ifdef UNICODE 648 -// ... 649 -// #else 650 -alias CHOOSEFONTA CHOOSEFONT; 651 -alias LPCHOOSEFONTA LPCHOOSEFONT; 652 -// #endif // UNICODE 653 - 654 -extern(Windows) export BOOL ChooseFontA(LPCHOOSEFONTA); 655 -extern(Windows) export BOOL ChooseFontW(LPCHOOSEFONTW); 656 -// #ifdef UNICODE 657 -// #... 658 -// #else 659 -alias ChooseFontA ChooseFont; 660 -// #endif // !UNICODE 661 - 662 -enum : uint { CF_SCREENFONTS = 0x00000001 } 663 -enum : uint { CF_PRINTERFONTS = 0x00000002 } 664 -enum : uint { CF_BOTH = CF_SCREENFONTS | CF_PRINTERFONTS } 665 -enum : uint { CF_SHOWHELP = 0x00000004 } 666 -enum : uint { CF_ENABLEHOOK = 0x00000008 } 667 -enum : uint { CF_ENABLETEMPLATE = 0x00000010 } 668 -enum : uint { CF_ENABLETEMPLATEHANDLE = 0x00000020 } 669 -enum : uint { CF_INITTOLOGFONTSTRUCT = 0x00000040 } 670 -enum : uint { CF_USESTYLE = 0x00000080 } 671 -enum : uint { CF_EFFECTS = 0x00000100 } 672 -enum : uint { CF_APPLY = 0x00000200 } 673 -enum : uint { CF_ANSIONLY = 0x00000400 } 674 -// #if(WINVER >= 0x0400) 675 -alias CF_ANSIONLY CF_SCRIPTSONLY; 676 -// #endif /* WINVER >= 0x0400 */ 677 -enum : uint { CF_NOVECTORFONTS = 0x00000800 } 678 -alias CF_NOVECTORFONTS CF_NOOEMFONTS; 679 -enum : uint { CF_NOSIMULATIONS = 0x00001000 } 680 -enum : uint { CF_LIMITSIZE = 0x00002000 } 681 -enum : uint { CF_FIXEDPITCHONLY = 0x00004000 } 682 -enum : uint { CF_WYSIWYG = 0x00008000 } 683 -enum : uint { CF_FORCEFONTEXIST = 0x00010000 } 684 -enum : uint { CF_SCALABLEONLY = 0x00020000 } 685 -enum : uint { CF_TTONLY = 0x00040000 } 686 -enum : uint { CF_NOFACESEL = 0x00080000 } 687 -enum : uint { CF_NOSTYLESEL = 0x00100000 } 688 -enum : uint { CF_NOSIZESEL = 0x00200000 } 689 -// #if(WINVER >= 0x0400) 690 -enum : uint { CF_SELECTSCRIPT = 0x00400000 } 691 -enum : uint { CF_NOSCRIPTSEL = 0x00800000 } 692 -enum : uint { CF_NOVERTFONTS = 0x01000000 } 693 -// #endif /* WINVER >= 0x0400 */ 694 - 695 -enum : uint { SIMULATED_FONTTYPE = 0x8000 } 696 -enum : uint { PRINTER_FONTTYPE = 0x4000 } 697 -enum : uint { SCREEN_FONTTYPE = 0x2000 } 698 -enum : uint { BOLD_FONTTYPE = 0x0100 } 699 -enum : uint { ITALIC_FONTTYPE = 0x0200 } 700 -enum : uint { REGULAR_FONTTYPE = 0x0400 } 701 - 702 -// #ifdef WINNT 703 -// #... 704 -// #... 705 -// #... 706 -// #endif 707 - 708 -enum : uint { WM_CHOOSEFONT_GETLOGFONT = WM_USER + 1 } 709 -enum : uint { WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101 } 710 -enum : uint { WM_CHOOSEFONT_SETFLAGS = WM_USER + 102 } 711 - 712 -const char[] LBSELCHSTRINGA = "commdlg_LBSelChangedNotify"; 713 -const char[] SHAREVISTRINGA = "commdlg_ShareViolation"; 714 -const char[] FILEOKSTRINGA = "commdlg_FileNameOK"; 715 -const char[] COLOROKSTRINGA = "commdlg_ColorOK"; 716 -const char[] SETRGBSTRINGA = "commdlg_SetRGBColor"; 717 -const char[] HELPMSGSTRINGA = "commdlg_help"; 718 -const char[] FINDMSGSTRINGA = "commdlg_FindReplace"; 719 - 720 -const wchar[] LBSELCHSTRINGW = "commdlg_LBSelChangedNotify"; 721 -const wchar[] SHAREVISTRINGW = "commdlg_ShareViolation"; 722 -const wchar[] FILEOKSTRINGW = "commdlg_FileNameOK"; 723 -const wchar[] COLOROKSTRINGW = "commdlg_ColorOK"; 724 -const wchar[] SETRGBSTRINGW = "commdlg_SetRGBColor"; 725 -const wchar[] HELPMSGSTRINGW = "commdlg_help"; 726 -const wchar[] FINDMSGSTRINGW = "commdlg_FindReplace"; 727 - 728 -// #ifdef UNICODE 729 -// #... 730 -// #... 731 -// #... 732 -// #... 733 -// #... 734 -// #... 735 -// #... 736 -// #else 737 -alias LBSELCHSTRINGA LBSELCHSTRING; 738 -alias SHAREVISTRINGA SHAREVISTRING; 739 -alias FILEOKSTRINGA FILEOKSTRING; 740 -alias COLOROKSTRINGA COLOROKSTRING; 741 -alias SETRGBSTRINGA SETRGBSTRING; 742 -alias HELPMSGSTRINGA HELPMSGSTRING; 743 -alias FINDMSGSTRINGA FINDMSGSTRING; 744 -// #endif 745 - 746 -enum { CD_LBSELNOITEMS = -1 } 747 -enum : uint { CD_LBSELCHANGE = 0 } 748 -enum : uint { CD_LBSELSUB = 1 } 749 -enum : uint { CD_LBSELADD = 2 } 750 - 751 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPPRINTHOOKPROC; 752 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPSETUPHOOKPROC; 753 - 754 -struct tagPDA { 755 - DWORD lStructSize; 756 - HWND hwndOwner; 757 - HGLOBAL hDevMode; 758 - HGLOBAL hDevNames; 759 - HDC hDC; 760 - DWORD Flags; 761 - WORD nFromPage; 762 - WORD nToPage; 763 - WORD nMinPage; 764 - WORD nMaxPage; 765 - WORD nCopies; 766 - HINSTANCE hInstance; 767 - LPARAM lCustData; 768 - LPPRINTHOOKPROC lpfnPrintHook; 769 - LPSETUPHOOKPROC lpfnSetupHook; 770 - LPCSTR lpPrintTemplateName; 771 - LPCSTR lpSetupTemplateName; 772 - HGLOBAL hPrintTemplate; 773 - HGLOBAL hSetupTemplate; 774 -} 775 -alias tagPDA PRINTDLGA; 776 -alias tagPDA* LPPRINTDLGA; 777 - 778 -struct tagPDW { 779 - DWORD lStructSize; 780 - HWND hwndOwner; 781 - HGLOBAL hDevMode; 782 - HGLOBAL hDevNames; 783 - HDC hDC; 784 - DWORD Flags; 785 - WORD nFromPage; 786 - WORD nToPage; 787 - WORD nMinPage; 788 - WORD nMaxPage; 789 - WORD nCopies; 790 - HINSTANCE hInstance; 791 - LPARAM lCustData; 792 - LPPRINTHOOKPROC lpfnPrintHook; 793 - LPSETUPHOOKPROC lpfnSetupHook; 794 - LPCWSTR lpPrintTemplateName; 795 - LPCWSTR lpSetupTemplateName; 796 - HGLOBAL hPrintTemplate; 797 - HGLOBAL hSetupTemplate; 798 -} 799 -alias tagPDW PRINTDLGW; 800 -alias tagPDW* LPPRINTDLGW; 801 - 802 -// #ifdef UNICODE 803 -// ... 804 -// #else 805 -alias PRINTDLGA PRINTDLG; 806 -alias LPPRINTDLGA LPPRINTDLG; 807 -// #endif // UNICODE 808 - 809 -extern(Windows) export BOOL PrintDlgA(LPPRINTDLGA); 810 -extern(Windows) export BOOL PrintDlgW(LPPRINTDLGW); 811 -// #ifdef UNICODE 812 -// #... 813 -// #else 814 -alias PrintDlgA PrintDlg; 815 -// #endif // !UNICODE 816 - 817 -// #if(WINVER >= 0x0500) 818 - 819 -// #ifdef STDMETHOD 820 - 821 -// #... 822 -// #... 823 - 824 -// ... 825 - 826 -// ... 827 - 828 -// #... 829 -// #... 830 - 831 -// ... 832 - 833 -// ... 834 - 835 -// ... 836 - 837 -// ... 838 -// #ifdef UNICODE 839 -// ... 840 -// #else 841 -// ... 842 -// #endif // UNICODE 843 - 844 -// ... 845 -// #ifdef UNICODE 846 -// #... 847 -// #else 848 -// #... 849 -// #endif // !UNICODE 850 - 851 -// #endif 852 - 853 -// #endif /* WINVER >= 0x0500 */ 854 - 855 -enum : uint { PD_ALLPAGES = 0x00000000 } 856 -enum : uint { PD_SELECTION = 0x00000001 } 857 -enum : uint { PD_PAGENUMS = 0x00000002 } 858 -enum : uint { PD_NOSELECTION = 0x00000004 } 859 -enum : uint { PD_NOPAGENUMS = 0x00000008 } 860 -enum : uint { PD_COLLATE = 0x00000010 } 861 -enum : uint { PD_PRINTTOFILE = 0x00000020 } 862 -enum : uint { PD_PRINTSETUP = 0x00000040 } 863 -enum : uint { PD_NOWARNING = 0x00000080 } 864 -enum : uint { PD_RETURNDC = 0x00000100 } 865 -enum : uint { PD_RETURNIC = 0x00000200 } 866 -enum : uint { PD_RETURNDEFAULT = 0x00000400 } 867 -enum : uint { PD_SHOWHELP = 0x00000800 } 868 -enum : uint { PD_ENABLEPRINTHOOK = 0x00001000 } 869 -enum : uint { PD_ENABLESETUPHOOK = 0x00002000 } 870 -enum : uint { PD_ENABLEPRINTTEMPLATE = 0x00004000 } 871 -enum : uint { PD_ENABLESETUPTEMPLATE = 0x00008000 } 872 -enum : uint { PD_ENABLEPRINTTEMPLATEHANDLE = 0x00010000 } 873 -enum : uint { PD_ENABLESETUPTEMPLATEHANDLE = 0x00020000 } 874 -enum : uint { PD_USEDEVMODECOPIES = 0x00040000 } 875 -enum : uint { PD_USEDEVMODECOPIESANDCOLLATE = 0x00040000 } 876 -enum : uint { PD_DISABLEPRINTTOFILE = 0x00080000 } 877 -enum : uint { PD_HIDEPRINTTOFILE = 0x00100000 } 878 -enum : uint { PD_NONETWORKBUTTON = 0x00200000 } 879 -// #if(WINVER >= 0x0500) 880 -enum : uint { PD_CURRENTPAGE = 0x00400000 } 881 -enum : uint { PD_NOCURRENTPAGE = 0x00800000 } 882 -enum : uint { PD_EXCLUSIONFLAGS = 0x01000000 } 883 -enum : uint { PD_USELARGETEMPLATE = 0x10000000 } 884 -// #endif /* WINVER >= 0x0500 */ 885 - 886 -// #if(WINVER >= 0x0500) 887 - 888 -enum : uint { PD_EXCL_COPIESANDCOLLATE = DM_COPIES | DM_COLLATE } 889 - 890 -enum : uint { START_PAGE_GENERAL = 0xffffffff } 891 - 892 -enum : uint { PD_RESULT_CANCEL = 0 } 893 -enum : uint { PD_RESULT_PRINT = 1 } 894 -enum : uint { PD_RESULT_APPLY = 2 } 895 - 896 -// #endif /* WINVER >= 0x0500 */ 897 - 898 -struct tagDEVNAMES { 899 - WORD wDriverOffset; 900 - WORD wDeviceOffset; 901 - WORD wOutputOffset; 902 - WORD wDefault; 903 -} 904 -alias tagDEVNAMES DEVNAMES; 905 -alias tagDEVNAMES* LPDEVNAMES; 906 - 907 -enum : uint { DN_DEFAULTPRN = 0x0001 } 908 - 909 -extern(Windows) export DWORD CommDlgExtendedError(); 910 - 911 -// #if(WINVER >= 0x0400) 912 -enum : uint { WM_PSD_PAGESETUPDLG = WM_USER } 913 -enum : uint { WM_PSD_FULLPAGERECT = WM_USER+1 } 914 -enum : uint { WM_PSD_MINMARGINRECT = WM_USER+2 } 915 -enum : uint { WM_PSD_MARGINRECT = WM_USER+3 } 916 -enum : uint { WM_PSD_GREEKTEXTRECT = WM_USER+4 } 917 -enum : uint { WM_PSD_ENVSTAMPRECT = WM_USER+5 } 918 -enum : uint { WM_PSD_YAFULLPAGERECT = WM_USER+6 } 919 - 920 -extern(Windows) alias UINT_PTR function( HWND, UINT, WPARAM, LPARAM ) LPPAGEPAINTHOOK; 921 -extern(Windows) alias UINT_PTR function( HWND, UINT, WPARAM, LPARAM ) LPPAGESETUPHOOK; 922 - 923 -struct tagPSDA { 924 - DWORD lStructSize; 925 - HWND hwndOwner; 926 - HGLOBAL hDevMode; 927 - HGLOBAL hDevNames; 928 - DWORD Flags; 929 - POINT ptPaperSize; 930 - RECT rtMinMargin; 931 - RECT rtMargin; 932 - HINSTANCE hInstance; 933 - LPARAM lCustData; 934 - LPPAGESETUPHOOK lpfnPageSetupHook; 935 - LPPAGEPAINTHOOK lpfnPagePaintHook; 936 - LPCSTR lpPageSetupTemplateName; 937 - HGLOBAL hPageSetupTemplate; 938 -} 939 -alias tagPSDA PAGESETUPDLGA; 940 -alias tagPSDA* LPPAGESETUPDLGA; 941 - 942 -struct tagPSDW { 943 - DWORD lStructSize; 944 - HWND hwndOwner; 945 - HGLOBAL hDevMode; 946 - HGLOBAL hDevNames; 947 - DWORD Flags; 948 - POINT ptPaperSize; 949 - RECT rtMinMargin; 950 - RECT rtMargin; 951 - HINSTANCE hInstance; 952 - LPARAM lCustData; 953 - LPPAGESETUPHOOK lpfnPageSetupHook; 954 - LPPAGEPAINTHOOK lpfnPagePaintHook; 955 - LPCWSTR lpPageSetupTemplateName; 956 - HGLOBAL hPageSetupTemplate; 957 -} 958 -alias tagPSDW PAGESETUPDLGW; 959 -alias tagPSDW* LPPAGESETUPDLGW; 960 - 961 -// #ifdef UNICODE 962 -// ... 963 -// #else 964 -alias PAGESETUPDLGA PAGESETUPDLG; 965 -alias LPPAGESETUPDLGA LPPAGESETUPDLG; 966 -// #endif // UNICODE 967 - 968 -extern(Windows) export BOOL PageSetupDlgA( LPPAGESETUPDLGA ); 969 -extern(Windows) export BOOL PageSetupDlgW( LPPAGESETUPDLGW ); 970 -// #ifdef UNICODE 971 -// #... 972 -// #else 973 -alias PageSetupDlgA PageSetupDlg; 974 -// #endif // !UNICODE 975 - 976 -enum : uint { PSD_DEFAULTMINMARGINS = 0x00000000 } 977 -enum : uint { PSD_INWININIINTLMEASURE = 0x00000000 } 978 - 979 -enum : uint { PSD_MINMARGINS = 0x00000001 } 980 -enum : uint { PSD_MARGINS = 0x00000002 } 981 -enum : uint { PSD_INTHOUSANDTHSOFINCHES = 0x00000004 } 982 -enum : uint { PSD_INHUNDREDTHSOFMILLIMETERS = 0x00000008 } 983 -enum : uint { PSD_DISABLEMARGINS = 0x00000010 } 984 -enum : uint { PSD_DISABLEPRINTER = 0x00000020 } 985 -enum : uint { PSD_NOWARNING = 0x00000080 } 986 -enum : uint { PSD_DISABLEORIENTATION = 0x00000100 } 987 -enum : uint { PSD_RETURNDEFAULT = 0x00000400 } 988 -enum : uint { PSD_DISABLEPAPER = 0x00000200 } 989 -enum : uint { PSD_SHOWHELP = 0x00000800 } 990 -enum : uint { PSD_ENABLEPAGESETUPHOOK = 0x00002000 } 991 -enum : uint { PSD_ENABLEPAGESETUPTEMPLATE = 0x00008000 } 992 -enum : uint { PSD_ENABLEPAGESETUPTEMPLATEHANDLE = 0x00020000 } 993 -enum : uint { PSD_ENABLEPAGEPAINTHOOK = 0x00040000 } 994 -enum : uint { PSD_DISABLEPAGEPAINTING = 0x00080000 } 995 -enum : uint { PSD_NONETWORKBUTTON = 0x00200000 } 996 -// #endif /* WINVER >= 0x0400 */ 997 - 998 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 999 -// #if ISOLATION_AWARE_ENABLED 1000 - 1001 -// #if !defined(ISOLATION_AWARE_INLINE) 1002 -// #if defined(__cplusplus) 1003 -// #... 1004 -// #else 1005 -// #... 1006 -// #endif 1007 -// #endif 1008 - 1009 -// ... 1010 - 1011 -// ... 1012 -// #if defined(STDMETHOD) && (WINVER >= 0x0500) 1013 -// ... 1014 -// #endif /* defined(STDMETHOD) && (WINVER >= 0x0500) */ 1015 -// ... 1016 - 1017 -// #if defined(UNICODE) 1018 - 1019 -// #... 1020 -// #... 1021 -// #... 1022 -// #... 1023 -// #... 1024 -// #... 1025 -// #... 1026 -// #... 1027 -// #... 1028 -// #... 1029 - 1030 -// #else /* UNICODE */ 1031 - 1032 -// #... 1033 -// #... 1034 -// #... 1035 -// #... 1036 -// #... 1037 -// #... 1038 -// #... 1039 -// #... 1040 -// #... 1041 -// #... 1042 - 1043 -// #endif /* UNICODE */ 1044 - 1045 -// ... 1046 - 1047 -// ... 1048 - 1049 -// ... 1050 - 1051 -// ... 1052 - 1053 -// ... 1054 - 1055 -// ... 1056 - 1057 -// ... 1058 - 1059 -// ... 1060 - 1061 -// ... 1062 - 1063 -// ... 1064 - 1065 -// ... 1066 - 1067 -// ... 1068 - 1069 -// ... 1070 - 1071 -// ... 1072 - 1073 -// ... 1074 - 1075 -// ... 1076 - 1077 -// #if defined(STDMETHOD) && (WINVER >= 0x0500) 1078 - 1079 -// ... 1080 - 1081 -// ... 1082 - 1083 -// ... 1084 - 1085 -// ... 1086 - 1087 -// #endif /* defined(STDMETHOD) && (WINVER >= 0x0500) */ 1088 - 1089 -// ... 1090 - 1091 -// ... 1092 - 1093 -// ... 1094 - 1095 -// ... 1096 - 1097 -// #... 1098 -// #... 1099 -// #... 1100 -// #... 1101 -// #... 1102 -// #... 1103 -// #... 1104 -// #... 1105 -// #... 1106 -// #... 1107 -// #... 1108 -// #... 1109 -// #... 1110 -// #... 1111 -// #... 1112 -// #... 1113 -// #... 1114 -// #... 1115 -// #... 1116 -// #... 1117 -// #... 1118 - 1119 -// #endif /* ISOLATION_AWARE_ENABLED */ 1120 -// #endif /* RC */ 1121 - 1122 -// #ifdef __cplusplus 1123 -// } 1124 -// #endif /* __cplusplus */ 1125 - 1126 -// #if !defined(_WIN64) 1127 -align: 1128 -// #endif 1129 -// #endif /* GUID_DEFS_ONLY */ 1130 -// #endif /* !_INC_COMMDLG */ 1131 -

Deleted src/win32/ansi/dde.d version [53a6e51f4ede22d2]

1 -module win32.ansi.dde; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 - 7 -// #ifndef _DDEHEADER_INCLUDED_ 8 -// #define _DDEHEADER_INCLUDED_ 9 - 10 -// #if _MSC_VER > 1000 11 -// #pragma once 12 -// #endif 13 - 14 -// #ifndef _WINDEF_ 15 -import win32.ansi.windef; 16 -// #endif 17 - 18 -// #ifdef __cplusplus 19 -// extern "C" { 20 -// #endif 21 - 22 -enum : uint { WM_DDE_FIRST = 0x03E0 } 23 -enum : uint { WM_DDE_INITIATE = WM_DDE_FIRST } 24 -enum : uint { WM_DDE_TERMINATE = WM_DDE_FIRST+1 } 25 -enum : uint { WM_DDE_ADVISE = WM_DDE_FIRST+2 } 26 -enum : uint { WM_DDE_UNADVISE = WM_DDE_FIRST+3 } 27 -enum : uint { WM_DDE_ACK = WM_DDE_FIRST+4 } 28 -enum : uint { WM_DDE_DATA = WM_DDE_FIRST+5 } 29 -enum : uint { WM_DDE_REQUEST = WM_DDE_FIRST+6 } 30 -enum : uint { WM_DDE_POKE = WM_DDE_FIRST+7 } 31 -enum : uint { WM_DDE_EXECUTE = WM_DDE_FIRST+8 } 32 -enum : uint { WM_DDE_LAST = WM_DDE_FIRST+8 } 33 - 34 -struct _0 { 35 -// #ifndef _MAC 36 -// unsigned short bAppReturnCode:8, 37 -// reserved:6, 38 -// fBusy:1, 39 -// fAck:1; 40 -// #else 41 -// ... 42 -// #endif 43 -} 44 -alias _0 DDEACK; 45 - 46 -struct _1 { 47 -// #ifndef _MAC 48 -// unsigned short reserved:14, 49 -// fDeferUpd:1, 50 -// fAckReq:1; 51 -// #else 52 -// ... 53 -// #endif 54 - short cfFormat; 55 -} 56 -alias _1 DDEADVISE; 57 - 58 -struct _2 { 59 -// #ifndef _MAC 60 -// unsigned short unused:12, 61 -// fResponse:1, 62 -// fRelease:1, 63 -// reserved:1, 64 -// fAckReq:1; 65 -// #else 66 -// ... 67 -// #endif 68 - short cfFormat; 69 - BYTE Value[1]; 70 -} 71 -alias _2 DDEDATA; 72 - 73 -struct _3 { 74 -// #ifndef _MAC 75 -// unsigned short unused:13, 76 - 77 -// fRelease:1, 78 -// fReserved:2; 79 -// #else 80 -// ... 81 -// #endif 82 - short cfFormat; 83 - BYTE Value[1]; 84 - 85 -} 86 -alias _3 DDEPOKE; 87 - 88 -struct _4 { 89 -// #ifndef _MAC 90 -// unsigned short unused:13, 91 -// fRelease:1, 92 -// fDeferUpd:1, 93 -// fAckReq:1; 94 -// #else 95 -// ... 96 -// #endif 97 - short cfFormat; 98 -} 99 -alias _4 DDELN; 100 - 101 -struct _5 { 102 -// #ifndef _MAC 103 -// unsigned short unused:12, 104 -// fAck:1, 105 -// fRelease:1, 106 -// fReserved:1, 107 -// fAckReq:1; 108 -// #else 109 -// ... 110 -// #endif 111 - short cfFormat; 112 - BYTE rgb[1]; 113 -} 114 -alias _5 DDEUP; 115 - 116 -extern(Windows) export BOOL DdeSetQualityOfService( 117 - HWND hwndClient, 118 - SECURITY_QUALITY_OF_SERVICE *pqosNew, 119 - PSECURITY_QUALITY_OF_SERVICE pqosPrev); 120 - 121 -extern(Windows) export BOOL ImpersonateDdeClientWindow( 122 - HWND hWndClient, 123 - HWND hWndServer); 124 - 125 -extern(Windows) export LPARAM PackDDElParam(UINT msg, UINT_PTR uiLo, UINT_PTR uiHi); 126 -extern(Windows) export BOOL UnpackDDElParam(UINT msg, LPARAM lParam, PUINT_PTR puiLo, PUINT_PTR puiHi); 127 -extern(Windows) export BOOL FreeDDElParam(UINT msg, LPARAM lParam); 128 -extern(Windows) export LPARAM ReuseDDElParam(LPARAM lParam, UINT msgIn, UINT msgOut, UINT_PTR uiLo, UINT_PTR uiHi); 129 - 130 -// #ifdef __cplusplus 131 -// } 132 -// #endif 133 - 134 -// #endif // _DDEHEADER_INCLUDED_

Deleted src/win32/ansi/ddeml.d version [558019d8860e0eea]

1 -module win32.ansi.ddeml; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.windef; 7 - 8 -// #ifndef _INC_DDEMLH 9 -// #define _INC_DDEMLH 10 - 11 -// #ifdef __cplusplus 12 -// extern "C" { 13 -// #endif /* __cplusplus */ 14 - 15 -alias void* HCONVLIST; 16 -alias void* HCONV; 17 -alias void* HSZ; 18 -alias void* HDDEDATA; 19 -// #define EXPENTRY CALLBACK 20 - 21 -struct tagHSZPAIR { 22 - HSZ hszSvc; 23 - HSZ hszTopic; 24 -} 25 -alias tagHSZPAIR HSZPAIR; 26 - 27 -alias HSZPAIR* PHSZPAIR; 28 - 29 -struct tagCONVCONTEXT { 30 - UINT cb; 31 - UINT wFlags; 32 - UINT wCountryID; 33 - int iCodePage; 34 - DWORD dwLangID; 35 - DWORD dwSecurity; 36 - SECURITY_QUALITY_OF_SERVICE qos; 37 -} 38 -alias tagCONVCONTEXT CONVCONTEXT; 39 - 40 -alias CONVCONTEXT* PCONVCONTEXT; 41 - 42 -struct tagCONVINFO { 43 - DWORD cb; 44 - DWORD_PTR hUser; 45 - HCONV hConvPartner; 46 - HSZ hszSvcPartner; 47 - HSZ hszServiceReq; 48 - HSZ hszTopic; 49 - HSZ hszItem; 50 - UINT wFmt; 51 - UINT wType; 52 - UINT wStatus; 53 - UINT wConvst; 54 - UINT wLastError; 55 - HCONVLIST hConvList; 56 - CONVCONTEXT ConvCtxt; 57 - HWND hwnd; 58 - HWND hwndPartner; 59 -} 60 -alias tagCONVINFO CONVINFO; 61 - 62 -alias CONVINFO* PCONVINFO; 63 - 64 -enum : uint { XST_NULL = 0 } 65 -enum : uint { XST_INCOMPLETE = 1 } 66 -enum : uint { XST_CONNECTED = 2 } 67 -enum : uint { XST_INIT1 = 3 } 68 -enum : uint { XST_INIT2 = 4 } 69 -enum : uint { XST_REQSENT = 5 } 70 -enum : uint { XST_DATARCVD = 6 } 71 -enum : uint { XST_POKESENT = 7 } 72 -enum : uint { XST_POKEACKRCVD = 8 } 73 -enum : uint { XST_EXECSENT = 9 } 74 -enum : uint { XST_EXECACKRCVD = 10 } 75 -enum : uint { XST_ADVSENT = 11 } 76 -enum : uint { XST_UNADVSENT = 12 } 77 -enum : uint { XST_ADVACKRCVD = 13 } 78 -enum : uint { XST_UNADVACKRCVD = 14 } 79 -enum : uint { XST_ADVDATASENT = 15 } 80 -enum : uint { XST_ADVDATAACKRCVD = 16 } 81 - 82 -enum : uint { CADV_LATEACK = 0xFFFF } 83 - 84 -enum : uint { ST_CONNECTED = 0x0001 } 85 -enum : uint { ST_ADVISE = 0x0002 } 86 -enum : uint { ST_ISLOCAL = 0x0004 } 87 -enum : uint { ST_BLOCKED = 0x0008 } 88 -enum : uint { ST_CLIENT = 0x0010 } 89 -enum : uint { ST_TERMINATED = 0x0020 } 90 -enum : uint { ST_INLIST = 0x0040 } 91 -enum : uint { ST_BLOCKNEXT = 0x0080 } 92 -enum : uint { ST_ISSELF = 0x0100 } 93 - 94 -enum : uint { DDE_FACK = 0x8000 } 95 -enum : uint { DDE_FBUSY = 0x4000 } 96 -enum : uint { DDE_FDEFERUPD = 0x4000 } 97 -enum : uint { DDE_FACKREQ = 0x8000 } 98 -enum : uint { DDE_FRELEASE = 0x2000 } 99 -enum : uint { DDE_FREQUESTED = 0x1000 } 100 -enum : uint { DDE_FAPPSTATUS = 0x00ff } 101 -enum : uint { DDE_FNOTPROCESSED = 0x0000 } 102 - 103 -enum : uint { DDE_FACKRESERVED = ~(DDE_FACK | DDE_FBUSY | DDE_FAPPSTATUS) } 104 -enum : uint { DDE_FADVRESERVED = ~(DDE_FACKREQ | DDE_FDEFERUPD) } 105 -enum : uint { DDE_FDATRESERVED = ~(DDE_FACKREQ | DDE_FRELEASE | DDE_FREQUESTED) } 106 -enum : uint { DDE_FPOKRESERVED = ~(DDE_FRELEASE) } 107 - 108 -enum : uint { MSGF_DDEMGR = 0x8001 } 109 - 110 -enum : uint { CP_WINANSI = 1004 } 111 -enum : uint { CP_WINUNICODE = 1200 } 112 -// #ifdef UNICODE 113 -// #... 114 -// #else // !UNICODE 115 -alias CP_WINANSI CP_WINNEUTRAL; 116 -// #endif // !UNICODE 117 - 118 -enum : uint { XTYPF_NOBLOCK = 0x0002 } 119 -enum : uint { XTYPF_NODATA = 0x0004 } 120 -enum : uint { XTYPF_ACKREQ = 0x0008 } 121 - 122 -enum : uint { XCLASS_MASK = 0xFC00 } 123 -enum : uint { XCLASS_BOOL = 0x1000 } 124 -enum : uint { XCLASS_DATA = 0x2000 } 125 -enum : uint { XCLASS_FLAGS = 0x4000 } 126 -enum : uint { XCLASS_NOTIFICATION = 0x8000 } 127 - 128 -enum : uint { XTYP_ERROR = 0x0000 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK } 129 -enum : uint { XTYP_ADVDATA = 0x0010 | XCLASS_FLAGS } 130 -enum : uint { XTYP_ADVREQ = 0x0020 | XCLASS_DATA | XTYPF_NOBLOCK } 131 -enum : uint { XTYP_ADVSTART = 0x0030 | XCLASS_BOOL } 132 -enum : uint { XTYP_ADVSTOP = 0x0040 | XCLASS_NOTIFICATION } 133 -enum : uint { XTYP_EXECUTE = 0x0050 | XCLASS_FLAGS } 134 -enum : uint { XTYP_CONNECT = 0x0060 | XCLASS_BOOL | XTYPF_NOBLOCK } 135 -enum : uint { XTYP_CONNECT_CONFIRM = 0x0070 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK } 136 -enum : uint { XTYP_XACT_COMPLETE = 0x0080 | XCLASS_NOTIFICATION } 137 -enum : uint { XTYP_POKE = 0x0090 | XCLASS_FLAGS } 138 -enum : uint { XTYP_REGISTER = 0x00A0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK } 139 -enum : uint { XTYP_REQUEST = 0x00B0 | XCLASS_DATA } 140 -enum : uint { XTYP_DISCONNECT = 0x00C0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK } 141 -enum : uint { XTYP_UNREGISTER = 0x00D0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK } 142 -enum : uint { XTYP_WILDCONNECT = 0x00E0 | XCLASS_DATA | XTYPF_NOBLOCK } 143 - 144 -enum : uint { XTYP_MASK = 0x00F0 } 145 -enum : uint { XTYP_SHIFT = 4 } 146 - 147 -enum : uint { TIMEOUT_ASYNC = 0xFFFFFFFF } 148 - 149 -enum : uint { QID_SYNC = 0xFFFFFFFF } 150 - 151 -// #ifdef UNICODE 152 -// #... 153 -// #... 154 -// #... 155 -// #... 156 -// #... 157 -// #... 158 -// #... 159 -// #... 160 -// #else 161 -const char[] SZDDESYS_TOPIC = "System"; 162 -const char[] SZDDESYS_ITEM_TOPICS = "Topics"; 163 -const char[] SZDDESYS_ITEM_SYSITEMS = "SysItems"; 164 -const char[] SZDDESYS_ITEM_RTNMSG = "ReturnMessage"; 165 -const char[] SZDDESYS_ITEM_STATUS = "Status"; 166 -const char[] SZDDESYS_ITEM_FORMATS = "Formats"; 167 -const char[] SZDDESYS_ITEM_HELP = "Help"; 168 -const char[] SZDDE_ITEM_ITEMLIST = "TopicItemList"; 169 -// #endif 170 - 171 -// typedef HDDEDATA CALLBACK FNCALLBACK(UINT wType, UINT wFmt, HCONV hConv, HSZ hsz1, HSZ hsz2, HDDEDATA hData, ULONG_PTR dwData1, ULONG_PTR dwData2); 172 -extern(Windows) alias HDDEDATA function(UINT wType, UINT wFmt, HCONV hConv, HSZ hsz1, HSZ hsz2, HDDEDATA hData, ULONG_PTR dwData1, ULONG_PTR dwData2) PFNCALLBACK; 173 - 174 -const HDDEDATA CBR_BLOCK = cast(HDDEDATA)-1; 175 - 176 -extern(Windows) export UINT DdeInitializeA( LPDWORD pidInst, PFNCALLBACK pfnCallback, 177 - DWORD afCmd, DWORD ulRes); 178 -extern(Windows) export UINT DdeInitializeW( LPDWORD pidInst, PFNCALLBACK pfnCallback, 179 - DWORD afCmd, DWORD ulRes); 180 -// #ifdef UNICODE 181 -// #... 182 -// #else 183 -alias DdeInitializeA DdeInitialize; 184 -// #endif // !UNICODE 185 - 186 -enum : uint { CBF_FAIL_SELFCONNECTIONS = 0x00001000 } 187 -enum : uint { CBF_FAIL_CONNECTIONS = 0x00002000 } 188 -enum : uint { CBF_FAIL_ADVISES = 0x00004000 } 189 -enum : uint { CBF_FAIL_EXECUTES = 0x00008000 } 190 -enum : uint { CBF_FAIL_POKES = 0x00010000 } 191 -enum : uint { CBF_FAIL_REQUESTS = 0x00020000 } 192 -enum : uint { CBF_FAIL_ALLSVRXACTIONS = 0x0003f000 } 193 - 194 -enum : uint { CBF_SKIP_CONNECT_CONFIRMS = 0x00040000 } 195 -enum : uint { CBF_SKIP_REGISTRATIONS = 0x00080000 } 196 -enum : uint { CBF_SKIP_UNREGISTRATIONS = 0x00100000 } 197 -enum : uint { CBF_SKIP_DISCONNECTS = 0x00200000 } 198 -enum : uint { CBF_SKIP_ALLNOTIFICATIONS = 0x003c0000 } 199 - 200 -enum : uint { APPCMD_CLIENTONLY = 0x00000010 } 201 -enum : uint { APPCMD_FILTERINITS = 0x00000020 } 202 -enum : uint { APPCMD_MASK = 0x00000FF0 } 203 - 204 -enum : uint { APPCLASS_STANDARD = 0x00000000 } 205 -enum : uint { APPCLASS_MASK = 0x0000000F } 206 - 207 -extern(Windows) export BOOL DdeUninitialize( DWORD idInst); 208 - 209 -extern(Windows) export HCONVLIST DdeConnectList( DWORD idInst, HSZ hszService, HSZ hszTopic, 210 - HCONVLIST hConvList, PCONVCONTEXT pCC); 211 -extern(Windows) export HCONV DdeQueryNextServer( HCONVLIST hConvList, HCONV hConvPrev); 212 -extern(Windows) export BOOL DdeDisconnectList( HCONVLIST hConvList); 213 - 214 -extern(Windows) export HCONV DdeConnect( DWORD idInst, HSZ hszService, HSZ hszTopic, 215 - PCONVCONTEXT pCC); 216 -extern(Windows) export BOOL DdeDisconnect( HCONV hConv); 217 -extern(Windows) export HCONV DdeReconnect( HCONV hConv); 218 -extern(Windows) export UINT DdeQueryConvInfo( HCONV hConv, DWORD idTransaction, PCONVINFO pConvInfo); 219 -extern(Windows) export BOOL DdeSetUserHandle( HCONV hConv, DWORD id, DWORD_PTR hUser); 220 -extern(Windows) export BOOL DdeAbandonTransaction( DWORD idInst, HCONV hConv, DWORD idTransaction); 221 - 222 -extern(Windows) export BOOL DdePostAdvise( DWORD idInst, HSZ hszTopic, HSZ hszItem); 223 -extern(Windows) export BOOL DdeEnableCallback( DWORD idInst, HCONV hConv, UINT wCmd); 224 -extern(Windows) export BOOL DdeImpersonateClient( HCONV hConv); 225 - 226 -enum : uint { EC_ENABLEALL = 0 } 227 -alias ST_BLOCKNEXT EC_ENABLEONE; 228 -alias ST_BLOCKED EC_DISABLE; 229 -enum : uint { EC_QUERYWAITING = 2 } 230 - 231 -extern(Windows) export HDDEDATA DdeNameService( DWORD idInst, HSZ hsz1, HSZ hsz2, UINT afCmd); 232 - 233 -enum : uint { DNS_REGISTER = 0x0001 } 234 -enum : uint { DNS_UNREGISTER = 0x0002 } 235 -enum : uint { DNS_FILTERON = 0x0004 } 236 -enum : uint { DNS_FILTEROFF = 0x0008 } 237 - 238 -extern(Windows) export HDDEDATA DdeClientTransaction( LPBYTE pData, DWORD cbData, 239 - HCONV hConv, HSZ hszItem, UINT wFmt, UINT wType, 240 - DWORD dwTimeout, LPDWORD pdwResult); 241 - 242 -extern(Windows) export HDDEDATA DdeCreateDataHandle( DWORD idInst, LPBYTE pSrc, DWORD cb, 243 - DWORD cbOff, HSZ hszItem, UINT wFmt, UINT afCmd); 244 -extern(Windows) export HDDEDATA DdeAddData( HDDEDATA hData, LPBYTE pSrc, DWORD cb, DWORD cbOff); 245 -extern(Windows) export DWORD DdeGetData( HDDEDATA hData, LPBYTE pDst, DWORD cbMax, DWORD cbOff); 246 -extern(Windows) export LPBYTE DdeAccessData( HDDEDATA hData, LPDWORD pcbDataSize); 247 -extern(Windows) export BOOL DdeUnaccessData( HDDEDATA hData); 248 -extern(Windows) export BOOL DdeFreeDataHandle( HDDEDATA hData); 249 - 250 -enum : uint { HDATA_APPOWNED = 0x0001 } 251 - 252 -extern(Windows) export UINT DdeGetLastError( DWORD idInst); 253 - 254 -enum : uint { DMLERR_NO_ERROR = 0 } 255 - 256 -enum : uint { DMLERR_FIRST = 0x4000 } 257 - 258 -enum : uint { DMLERR_ADVACKTIMEOUT = 0x4000 } 259 -enum : uint { DMLERR_BUSY = 0x4001 } 260 -enum : uint { DMLERR_DATAACKTIMEOUT = 0x4002 } 261 -enum : uint { DMLERR_DLL_NOT_INITIALIZED = 0x4003 } 262 -enum : uint { DMLERR_DLL_USAGE = 0x4004 } 263 -enum : uint { DMLERR_EXECACKTIMEOUT = 0x4005 } 264 -enum : uint { DMLERR_INVALIDPARAMETER = 0x4006 } 265 -enum : uint { DMLERR_LOW_MEMORY = 0x4007 } 266 -enum : uint { DMLERR_MEMORY_ERROR = 0x4008 } 267 -enum : uint { DMLERR_NOTPROCESSED = 0x4009 } 268 -enum : uint { DMLERR_NO_CONV_ESTABLISHED = 0x400a } 269 -enum : uint { DMLERR_POKEACKTIMEOUT = 0x400b } 270 -enum : uint { DMLERR_POSTMSG_FAILED = 0x400c } 271 -enum : uint { DMLERR_REENTRANCY = 0x400d } 272 -enum : uint { DMLERR_SERVER_DIED = 0x400e } 273 -enum : uint { DMLERR_SYS_ERROR = 0x400f } 274 -enum : uint { DMLERR_UNADVACKTIMEOUT = 0x4010 } 275 -enum : uint { DMLERR_UNFOUND_QUEUE_ID = 0x4011 } 276 - 277 -enum : uint { DMLERR_LAST = 0x4011 } 278 - 279 -extern(Windows) export HSZ DdeCreateStringHandleA( DWORD idInst, LPCSTR psz, int iCodePage); 280 -extern(Windows) export HSZ DdeCreateStringHandleW( DWORD idInst, LPCWSTR psz, int iCodePage); 281 -// #ifdef UNICODE 282 -// #... 283 -// #else 284 -alias DdeCreateStringHandleA DdeCreateStringHandle; 285 -// #endif // !UNICODE 286 -extern(Windows) export DWORD DdeQueryStringA( DWORD idInst, HSZ hsz, LPSTR psz, DWORD cchMax, int iCodePage); 287 -extern(Windows) export DWORD DdeQueryStringW( DWORD idInst, HSZ hsz, LPWSTR psz, DWORD cchMax, int iCodePage); 288 -// #ifdef UNICODE 289 -// #... 290 -// #else 291 -alias DdeQueryStringA DdeQueryString; 292 -// #endif // !UNICODE 293 -extern(Windows) export BOOL DdeFreeStringHandle( DWORD idInst, HSZ hsz); 294 -extern(Windows) export BOOL DdeKeepStringHandle( DWORD idInst, HSZ hsz); 295 -extern(Windows) export int DdeCmpStringHandles( HSZ hsz1, HSZ hsz2); 296 - 297 -// #ifndef NODDEMLSPY 298 - 299 -struct tagDDEML_MSG_HOOK_DATA { 300 - UINT_PTR uiLo; 301 - UINT_PTR uiHi; 302 - DWORD cbData; 303 - DWORD Data[8]; 304 -} 305 -alias tagDDEML_MSG_HOOK_DATA DDEML_MSG_HOOK_DATA; 306 -alias tagDDEML_MSG_HOOK_DATA* PDDEML_MSG_HOOK_DATA; 307 - 308 -struct tagMONMSGSTRUCT { 309 - UINT cb; 310 - HWND hwndTo; 311 - DWORD dwTime; 312 - HANDLE hTask; 313 - UINT wMsg; 314 - WPARAM wParam; 315 - LPARAM lParam; 316 - DDEML_MSG_HOOK_DATA dmhd; 317 -} 318 -alias tagMONMSGSTRUCT MONMSGSTRUCT; 319 -alias tagMONMSGSTRUCT* PMONMSGSTRUCT; 320 - 321 -struct tagMONCBSTRUCT { 322 - UINT cb; 323 - DWORD dwTime; 324 - HANDLE hTask; 325 - DWORD dwRet; 326 - UINT wType; 327 - UINT wFmt; 328 - HCONV hConv; 329 - HSZ hsz1; 330 - HSZ hsz2; 331 - HDDEDATA hData; 332 - ULONG_PTR dwData1; 333 - ULONG_PTR dwData2; 334 - CONVCONTEXT cc; 335 - DWORD cbData; 336 - DWORD Data[8]; 337 -} 338 -alias tagMONCBSTRUCT MONCBSTRUCT; 339 -alias tagMONCBSTRUCT* PMONCBSTRUCT; 340 - 341 -struct tagMONHSZSTRUCTA { 342 - UINT cb; 343 - BOOL fsAction; 344 - DWORD dwTime; 345 - HSZ hsz; 346 - HANDLE hTask; 347 - CHAR str[1]; 348 -} 349 -alias tagMONHSZSTRUCTA MONHSZSTRUCTA; 350 -alias tagMONHSZSTRUCTA* PMONHSZSTRUCTA; 351 - 352 -struct tagMONHSZSTRUCTW { 353 - UINT cb; 354 - BOOL fsAction; 355 - DWORD dwTime; 356 - HSZ hsz; 357 - HANDLE hTask; 358 - WCHAR str[1]; 359 -} 360 -alias tagMONHSZSTRUCTW MONHSZSTRUCTW; 361 -alias tagMONHSZSTRUCTW* PMONHSZSTRUCTW; 362 - 363 -// #ifdef UNICODE 364 -// ... 365 -// #else 366 -alias MONHSZSTRUCTA MONHSZSTRUCT; 367 -alias PMONHSZSTRUCTA PMONHSZSTRUCT; 368 -// #endif // UNICODE 369 - 370 -enum : uint { MH_CREATE = 1 } 371 -enum : uint { MH_KEEP = 2 } 372 -enum : uint { MH_DELETE = 3 } 373 -enum : uint { MH_CLEANUP = 4 } 374 - 375 -struct tagMONERRSTRUCT { 376 - UINT cb; 377 - UINT wLastError; 378 - DWORD dwTime; 379 - HANDLE hTask; 380 -} 381 -alias tagMONERRSTRUCT MONERRSTRUCT; 382 -alias tagMONERRSTRUCT* PMONERRSTRUCT; 383 - 384 -struct tagMONLINKSTRUCT { 385 - UINT cb; 386 - DWORD dwTime; 387 - HANDLE hTask; 388 - BOOL fEstablished; 389 - BOOL fNoData; 390 - HSZ hszSvc; 391 - HSZ hszTopic; 392 - HSZ hszItem; 393 - UINT wFmt; 394 - BOOL fServer; 395 - HCONV hConvServer; 396 - HCONV hConvClient; 397 -} 398 -alias tagMONLINKSTRUCT MONLINKSTRUCT; 399 -alias tagMONLINKSTRUCT* PMONLINKSTRUCT; 400 - 401 -struct tagMONCONVSTRUCT { 402 - UINT cb; 403 - BOOL fConnect; 404 - DWORD dwTime; 405 - HANDLE hTask; 406 - HSZ hszSvc; 407 - HSZ hszTopic; 408 - HCONV hConvClient; 409 - HCONV hConvServer; 410 -} 411 -alias tagMONCONVSTRUCT MONCONVSTRUCT; 412 -alias tagMONCONVSTRUCT* PMONCONVSTRUCT; 413 - 414 -enum : uint { MAX_MONITORS = 4 } 415 -enum : uint { APPCLASS_MONITOR = 0x00000001 } 416 -enum : uint { XTYP_MONITOR = 0x00F0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK } 417 - 418 -enum : uint { MF_HSZ_INFO = 0x01000000 } 419 -enum : uint { MF_SENDMSGS = 0x02000000 } 420 -enum : uint { MF_POSTMSGS = 0x04000000 } 421 -enum : uint { MF_CALLBACKS = 0x08000000 } 422 -enum : uint { MF_ERRORS = 0x10000000 } 423 -enum : uint { MF_LINKS = 0x20000000 } 424 -enum : uint { MF_CONV = 0x40000000 } 425 - 426 -enum : uint { MF_MASK = 0xFF000000 } 427 -// #endif /* NODDEMLSPY */ 428 - 429 -// #ifdef __cplusplus 430 -// } 431 -// #endif /* __cplusplus */ 432 - 433 -// #endif /* _INC_DDEMLH */ 434 -

Deleted src/win32/ansi/dlgs.d version [d7c0ac02d037bdc4]

1 -module win32.ansi.dlgs; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.windef; 7 - 8 -// #ifndef _DLGSH_INCLUDED_ 9 -// #define _DLGSH_INCLUDED_ 10 - 11 -enum : uint { ctlFirst = 0x0400 } 12 -enum : uint { ctlLast = 0x04ff } 13 - 14 -enum : uint { psh1 = 0x0400 } 15 -enum : uint { psh2 = 0x0401 } 16 -enum : uint { psh3 = 0x0402 } 17 -enum : uint { psh4 = 0x0403 } 18 -enum : uint { psh5 = 0x0404 } 19 -enum : uint { psh6 = 0x0405 } 20 -enum : uint { psh7 = 0x0406 } 21 -enum : uint { psh8 = 0x0407 } 22 -enum : uint { psh9 = 0x0408 } 23 -enum : uint { psh10 = 0x0409 } 24 -enum : uint { psh11 = 0x040a } 25 -enum : uint { psh12 = 0x040b } 26 -enum : uint { psh13 = 0x040c } 27 -enum : uint { psh14 = 0x040d } 28 -enum : uint { psh15 = 0x040e } 29 -alias psh15 pshHelp; 30 -enum : uint { psh16 = 0x040f } 31 - 32 -enum : uint { chx1 = 0x0410 } 33 -enum : uint { chx2 = 0x0411 } 34 -enum : uint { chx3 = 0x0412 } 35 -enum : uint { chx4 = 0x0413 } 36 -enum : uint { chx5 = 0x0414 } 37 -enum : uint { chx6 = 0x0415 } 38 -enum : uint { chx7 = 0x0416 } 39 -enum : uint { chx8 = 0x0417 } 40 -enum : uint { chx9 = 0x0418 } 41 -enum : uint { chx10 = 0x0419 } 42 -enum : uint { chx11 = 0x041a } 43 -enum : uint { chx12 = 0x041b } 44 -enum : uint { chx13 = 0x041c } 45 -enum : uint { chx14 = 0x041d } 46 -enum : uint { chx15 = 0x041e } 47 -enum : uint { chx16 = 0x041f } 48 - 49 -enum : uint { rad1 = 0x0420 } 50 -enum : uint { rad2 = 0x0421 } 51 -enum : uint { rad3 = 0x0422 } 52 -enum : uint { rad4 = 0x0423 } 53 -enum : uint { rad5 = 0x0424 } 54 -enum : uint { rad6 = 0x0425 } 55 -enum : uint { rad7 = 0x0426 } 56 -enum : uint { rad8 = 0x0427 } 57 -enum : uint { rad9 = 0x0428 } 58 -enum : uint { rad10 = 0x0429 } 59 -enum : uint { rad11 = 0x042a } 60 -enum : uint { rad12 = 0x042b } 61 -enum : uint { rad13 = 0x042c } 62 -enum : uint { rad14 = 0x042d } 63 -enum : uint { rad15 = 0x042e } 64 -enum : uint { rad16 = 0x042f } 65 - 66 -enum : uint { grp1 = 0x0430 } 67 -enum : uint { grp2 = 0x0431 } 68 -enum : uint { grp3 = 0x0432 } 69 -enum : uint { grp4 = 0x0433 } 70 -enum : uint { frm1 = 0x0434 } 71 -enum : uint { frm2 = 0x0435 } 72 -enum : uint { frm3 = 0x0436 } 73 -enum : uint { frm4 = 0x0437 } 74 -enum : uint { rct1 = 0x0438 } 75 -enum : uint { rct2 = 0x0439 } 76 -enum : uint { rct3 = 0x043a } 77 -enum : uint { rct4 = 0x043b } 78 -enum : uint { ico1 = 0x043c } 79 -enum : uint { ico2 = 0x043d } 80 -enum : uint { ico3 = 0x043e } 81 -enum : uint { ico4 = 0x043f } 82 - 83 -enum : uint { stc1 = 0x0440 } 84 -enum : uint { stc2 = 0x0441 } 85 -enum : uint { stc3 = 0x0442 } 86 -enum : uint { stc4 = 0x0443 } 87 -enum : uint { stc5 = 0x0444 } 88 -enum : uint { stc6 = 0x0445 } 89 -enum : uint { stc7 = 0x0446 } 90 -enum : uint { stc8 = 0x0447 } 91 -enum : uint { stc9 = 0x0448 } 92 -enum : uint { stc10 = 0x0449 } 93 -enum : uint { stc11 = 0x044a } 94 -enum : uint { stc12 = 0x044b } 95 -enum : uint { stc13 = 0x044c } 96 -enum : uint { stc14 = 0x044d } 97 -enum : uint { stc15 = 0x044e } 98 -enum : uint { stc16 = 0x044f } 99 -enum : uint { stc17 = 0x0450 } 100 -enum : uint { stc18 = 0x0451 } 101 -enum : uint { stc19 = 0x0452 } 102 -enum : uint { stc20 = 0x0453 } 103 -enum : uint { stc21 = 0x0454 } 104 -enum : uint { stc22 = 0x0455 } 105 -enum : uint { stc23 = 0x0456 } 106 -enum : uint { stc24 = 0x0457 } 107 -enum : uint { stc25 = 0x0458 } 108 -enum : uint { stc26 = 0x0459 } 109 -enum : uint { stc27 = 0x045a } 110 -enum : uint { stc28 = 0x045b } 111 -enum : uint { stc29 = 0x045c } 112 -enum : uint { stc30 = 0x045d } 113 -enum : uint { stc31 = 0x045e } 114 -enum : uint { stc32 = 0x045f } 115 - 116 -enum : uint { lst1 = 0x0460 } 117 -enum : uint { lst2 = 0x0461 } 118 -enum : uint { lst3 = 0x0462 } 119 -enum : uint { lst4 = 0x0463 } 120 -enum : uint { lst5 = 0x0464 } 121 -enum : uint { lst6 = 0x0465 } 122 -enum : uint { lst7 = 0x0466 } 123 -enum : uint { lst8 = 0x0467 } 124 -enum : uint { lst9 = 0x0468 } 125 -enum : uint { lst10 = 0x0469 } 126 -enum : uint { lst11 = 0x046a } 127 -enum : uint { lst12 = 0x046b } 128 -enum : uint { lst13 = 0x046c } 129 -enum : uint { lst14 = 0x046d } 130 -enum : uint { lst15 = 0x046e } 131 -enum : uint { lst16 = 0x046f } 132 - 133 -enum : uint { cmb1 = 0x0470 } 134 -enum : uint { cmb2 = 0x0471 } 135 -enum : uint { cmb3 = 0x0472 } 136 -enum : uint { cmb4 = 0x0473 } 137 -enum : uint { cmb5 = 0x0474 } 138 -enum : uint { cmb6 = 0x0475 } 139 -enum : uint { cmb7 = 0x0476 } 140 -enum : uint { cmb8 = 0x0477 } 141 -enum : uint { cmb9 = 0x0478 } 142 -enum : uint { cmb10 = 0x0479 } 143 -enum : uint { cmb11 = 0x047a } 144 -enum : uint { cmb12 = 0x047b } 145 -enum : uint { cmb13 = 0x047c } 146 -enum : uint { cmb14 = 0x047d } 147 -enum : uint { cmb15 = 0x047e } 148 -enum : uint { cmb16 = 0x047f } 149 - 150 -enum : uint { edt1 = 0x0480 } 151 -enum : uint { edt2 = 0x0481 } 152 -enum : uint { edt3 = 0x0482 } 153 -enum : uint { edt4 = 0x0483 } 154 -enum : uint { edt5 = 0x0484 } 155 -enum : uint { edt6 = 0x0485 } 156 -enum : uint { edt7 = 0x0486 } 157 -enum : uint { edt8 = 0x0487 } 158 -enum : uint { edt9 = 0x0488 } 159 -enum : uint { edt10 = 0x0489 } 160 -enum : uint { edt11 = 0x048a } 161 -enum : uint { edt12 = 0x048b } 162 -enum : uint { edt13 = 0x048c } 163 -enum : uint { edt14 = 0x048d } 164 -enum : uint { edt15 = 0x048e } 165 -enum : uint { edt16 = 0x048f } 166 - 167 -enum : uint { scr1 = 0x0490 } 168 -enum : uint { scr2 = 0x0491 } 169 -enum : uint { scr3 = 0x0492 } 170 -enum : uint { scr4 = 0x0493 } 171 -enum : uint { scr5 = 0x0494 } 172 -enum : uint { scr6 = 0x0495 } 173 -enum : uint { scr7 = 0x0496 } 174 -enum : uint { scr8 = 0x0497 } 175 - 176 -enum : uint { ctl1 = 0x04A0 } 177 - 178 -// #ifdef UNIX 179 - 180 -// #... 181 -// #... 182 - 183 -// #... 184 -// #... 185 -// #... 186 -// #endif 187 - 188 -enum : uint { FILEOPENORD = 1536 } 189 -enum : uint { MULTIFILEOPENORD = 1537 } 190 -enum : uint { PRINTDLGORD = 1538 } 191 -enum : uint { PRNSETUPDLGORD = 1539 } 192 -enum : uint { FINDDLGORD = 1540 } 193 -enum : uint { REPLACEDLGORD = 1541 } 194 -enum : uint { FONTDLGORD = 1542 } 195 -enum : uint { FORMATDLGORD31 = 1543 } 196 -enum : uint { FORMATDLGORD30 = 1544 } 197 -enum : uint { RUNDLGORD = 1545 } 198 - 199 -// #if (WINVER >= 0x400) 200 -enum : uint { PAGESETUPDLGORD = 1546 } 201 -enum : uint { NEWFILEOPENORD = 1547 } 202 -enum : uint { PRINTDLGEXORD = 1549 } 203 -enum : uint { PAGESETUPDLGORDMOTIF = 1550 } 204 -enum : uint { COLORMGMTDLGORD = 1551 } 205 -enum : uint { NEWFILEOPENV2ORD = 1552 } 206 -// #endif /* WINVER >= 0x400) */ 207 - 208 -struct tagCRGB { 209 - BYTE bRed; 210 - BYTE bGreen; 211 - BYTE bBlue; 212 - BYTE bExtra; 213 -} 214 -alias tagCRGB CRGB; 215 - 216 -// #endif // _DLGSH_INCLUDED_

Deleted src/win32/ansi/guiddef.d version [639c4976c767b026]

1 -module win32.ansi.guiddef; 2 -import win32.ansi.windef; 3 - 4 -// Handwriting... 5 - 6 -align(1) struct GUID 7 -{ 8 - DWORD Data1; 9 - WORD Data2; 10 - WORD Data3; 11 - BYTE Data4[8]; 12 -} 13 - 14 -alias GUID CLSID; 15 -alias GUID IID; 16 -alias GUID* REFGUID; 17 -alias GUID* REFCLSID; 18 -alias GUID* REFIID; 19 -alias CLSID* LPCLSID; 20 -alias IID* LPIID; 21 - 22 -bit IsEqualGUID(in GUID rguid1, in GUID rguid2) 23 -{ 24 - return 25 - (cast(uint*)&rguid1)[0] == (cast(uint*)&rguid2)[0] && 26 - (cast(uint*)&rguid1)[1] == (cast(uint*)&rguid2)[1] && 27 - (cast(uint*)&rguid1)[2] == (cast(uint*)&rguid2)[2] && 28 - (cast(uint*)&rguid1)[3] == (cast(uint*)&rguid2)[3]; 29 -} 30 -

Deleted src/win32/ansi/imm.d version [9541f37a98b1f966]

1 -module win32.ansi.imm; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winuser; 7 - 8 -// #ifndef _IMM_ 9 -// #define _IMM_ 10 - 11 -// #ifdef __cplusplus 12 -// extern "C" { 13 -// #endif 14 - 15 -// #ifndef _IMM_SDK_DEFINED_ 16 -// #define _IMM_SDK_DEFINED_ 17 - 18 -// #if (WINVER >= 0x040A) 19 -alias void* HIMC; 20 -alias void* HIMCC; 21 -// #else 22 -// ... 23 -// #endif /* WINVER >= 0x040A */ 24 - 25 -alias HKL* LPHKL; 26 -alias UINT* LPUINT; 27 - 28 -struct tagCOMPOSITIONFORM { 29 - DWORD dwStyle; 30 - POINT ptCurrentPos; 31 - RECT rcArea; 32 -} 33 -alias tagCOMPOSITIONFORM COMPOSITIONFORM; 34 -alias tagCOMPOSITIONFORM* PCOMPOSITIONFORM; 35 -alias tagCOMPOSITIONFORM* NPCOMPOSITIONFORM; 36 -alias tagCOMPOSITIONFORM* LPCOMPOSITIONFORM; 37 - 38 -struct tagCANDIDATEFORM { 39 - DWORD dwIndex; 40 - DWORD dwStyle; 41 - POINT ptCurrentPos; 42 - RECT rcArea; 43 -} 44 -alias tagCANDIDATEFORM CANDIDATEFORM; 45 -alias tagCANDIDATEFORM* PCANDIDATEFORM; 46 -alias tagCANDIDATEFORM* NPCANDIDATEFORM; 47 -alias tagCANDIDATEFORM* LPCANDIDATEFORM; 48 - 49 -struct tagCANDIDATELIST { 50 - DWORD dwSize; 51 - DWORD dwStyle; 52 - DWORD dwCount; 53 - DWORD dwSelection; 54 - DWORD dwPageStart; 55 - DWORD dwPageSize; 56 - DWORD dwOffset[1]; 57 -} 58 -alias tagCANDIDATELIST CANDIDATELIST; 59 -alias tagCANDIDATELIST* PCANDIDATELIST; 60 -alias tagCANDIDATELIST* NPCANDIDATELIST; 61 -alias tagCANDIDATELIST* LPCANDIDATELIST; 62 - 63 -struct tagREGISTERWORDA { 64 - LPSTR lpReading; 65 - LPSTR lpWord; 66 -} 67 -alias tagREGISTERWORDA REGISTERWORDA; 68 -alias tagREGISTERWORDA* PREGISTERWORDA; 69 -alias tagREGISTERWORDA* NPREGISTERWORDA; 70 -alias tagREGISTERWORDA* LPREGISTERWORDA; 71 - 72 -struct tagREGISTERWORDW { 73 - LPWSTR lpReading; 74 - LPWSTR lpWord; 75 -} 76 -alias tagREGISTERWORDW REGISTERWORDW; 77 -alias tagREGISTERWORDW* PREGISTERWORDW; 78 -alias tagREGISTERWORDW* NPREGISTERWORDW; 79 -alias tagREGISTERWORDW* LPREGISTERWORDW; 80 - 81 -// #ifdef UNICODE 82 -// ... 83 -// #else 84 -alias REGISTERWORDA REGISTERWORD; 85 -alias PREGISTERWORDA PREGISTERWORD; 86 -alias NPREGISTERWORDA NPREGISTERWORD; 87 -alias LPREGISTERWORDA LPREGISTERWORD; 88 -// #endif // UNICODE 89 - 90 -// #if (WINVER >= 0x040A) 91 - 92 -struct tagRECONVERTSTRING { 93 - DWORD dwSize; 94 - DWORD dwVersion; 95 - DWORD dwStrLen; 96 - DWORD dwStrOffset; 97 - DWORD dwCompStrLen; 98 - DWORD dwCompStrOffset; 99 - DWORD dwTargetStrLen; 100 - DWORD dwTargetStrOffset; 101 -} 102 -alias tagRECONVERTSTRING RECONVERTSTRING; 103 -alias tagRECONVERTSTRING* PRECONVERTSTRING; 104 -alias tagRECONVERTSTRING* NPRECONVERTSTRING; 105 -alias tagRECONVERTSTRING* LPRECONVERTSTRING; 106 - 107 -// #endif /* WINVER >= 0x040A */ 108 - 109 -enum : uint { STYLE_DESCRIPTION_SIZE = 32 } 110 - 111 -struct tagSTYLEBUFA { 112 - DWORD dwStyle; 113 - CHAR szDescription[STYLE_DESCRIPTION_SIZE]; 114 -} 115 -alias tagSTYLEBUFA STYLEBUFA; 116 -alias tagSTYLEBUFA* PSTYLEBUFA; 117 -alias tagSTYLEBUFA* NPSTYLEBUFA; 118 -alias tagSTYLEBUFA* LPSTYLEBUFA; 119 - 120 -struct tagSTYLEBUFW { 121 - DWORD dwStyle; 122 - WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; 123 -} 124 -alias tagSTYLEBUFW STYLEBUFW; 125 -alias tagSTYLEBUFW* PSTYLEBUFW; 126 -alias tagSTYLEBUFW* NPSTYLEBUFW; 127 -alias tagSTYLEBUFW* LPSTYLEBUFW; 128 - 129 -// #ifdef UNICODE 130 -// ... 131 -// #else 132 -alias STYLEBUFA STYLEBUF; 133 -alias PSTYLEBUFA PSTYLEBUF; 134 -alias NPSTYLEBUFA NPSTYLEBUF; 135 -alias LPSTYLEBUFA LPSTYLEBUF; 136 -// #endif // UNICODE 137 - 138 -// #if (WINVER >= 0x040A) 139 - 140 -enum : uint { IMEMENUITEM_STRING_SIZE = 80 } 141 - 142 -struct tagIMEMENUITEMINFOA { 143 - UINT cbSize; 144 - UINT fType; 145 - UINT fState; 146 - UINT wID; 147 - HBITMAP hbmpChecked; 148 - HBITMAP hbmpUnchecked; 149 - DWORD dwItemData; 150 - CHAR szString[IMEMENUITEM_STRING_SIZE]; 151 - HBITMAP hbmpItem; 152 -} 153 -alias tagIMEMENUITEMINFOA IMEMENUITEMINFOA; 154 -alias tagIMEMENUITEMINFOA* PIMEMENUITEMINFOA; 155 -alias tagIMEMENUITEMINFOA* NPIMEMENUITEMINFOA; 156 -alias tagIMEMENUITEMINFOA* LPIMEMENUITEMINFOA; 157 - 158 -struct tagIMEMENUITEMINFOW { 159 - UINT cbSize; 160 - UINT fType; 161 - UINT fState; 162 - UINT wID; 163 - HBITMAP hbmpChecked; 164 - HBITMAP hbmpUnchecked; 165 - DWORD dwItemData; 166 - WCHAR szString[IMEMENUITEM_STRING_SIZE]; 167 - HBITMAP hbmpItem; 168 -} 169 -alias tagIMEMENUITEMINFOW IMEMENUITEMINFOW; 170 -alias tagIMEMENUITEMINFOW* PIMEMENUITEMINFOW; 171 -alias tagIMEMENUITEMINFOW* NPIMEMENUITEMINFOW; 172 -alias tagIMEMENUITEMINFOW* LPIMEMENUITEMINFOW; 173 - 174 -// #ifdef UNICODE 175 -// ... 176 -// #else 177 -alias IMEMENUITEMINFOA IMEMENUITEMINFO; 178 -alias PIMEMENUITEMINFOA PIMEMENUITEMINFO; 179 -alias NPIMEMENUITEMINFOA NPIMEMENUITEMINFO; 180 -alias LPIMEMENUITEMINFOA LPIMEMENUITEMINFO; 181 -// #endif // UNICODE 182 - 183 -struct tagIMECHARPOSITION { 184 - DWORD dwSize; 185 - DWORD dwCharPos; 186 - POINT pt; 187 - UINT cLineHeight; 188 - RECT rcDocument; 189 -} 190 -alias tagIMECHARPOSITION IMECHARPOSITION; 191 -alias tagIMECHARPOSITION* PIMECHARPOSITION; 192 -alias tagIMECHARPOSITION* NPIMECHARPOSITION; 193 -alias tagIMECHARPOSITION* LPIMECHARPOSITION; 194 - 195 -extern(Windows) alias BOOL function(HIMC, LPARAM) IMCENUMPROC; 196 - 197 -// #endif /* WINVER >= 0x040A */ 198 - 199 -extern(Windows) export HKL ImmInstallIMEA( LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText); 200 -extern(Windows) export HKL ImmInstallIMEW( LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText); 201 -// #ifdef UNICODE 202 -// #... 203 -// #else 204 -alias ImmInstallIMEA ImmInstallIME; 205 -// #endif // !UNICODE 206 - 207 -extern(Windows) export HWND ImmGetDefaultIMEWnd( HWND); 208 - 209 -extern(Windows) export UINT ImmGetDescriptionA( HKL, LPSTR, UINT uBufLen); 210 -extern(Windows) export UINT ImmGetDescriptionW( HKL, LPWSTR, UINT uBufLen); 211 -// #ifdef UNICODE 212 -// #... 213 -// #else 214 -alias ImmGetDescriptionA ImmGetDescription; 215 -// #endif // !UNICODE 216 - 217 -extern(Windows) export UINT ImmGetIMEFileNameA( HKL, LPSTR, UINT uBufLen); 218 -extern(Windows) export UINT ImmGetIMEFileNameW( HKL, LPWSTR, UINT uBufLen); 219 -// #ifdef UNICODE 220 -// #... 221 -// #else 222 -alias ImmGetIMEFileNameA ImmGetIMEFileName; 223 -// #endif // !UNICODE 224 - 225 -extern(Windows) export DWORD ImmGetProperty( HKL, DWORD); 226 - 227 -extern(Windows) export BOOL ImmIsIME( HKL); 228 - 229 -extern(Windows) export BOOL ImmSimulateHotKey( HWND, DWORD); 230 - 231 -extern(Windows) export HIMC ImmCreateContext(); 232 -extern(Windows) export BOOL ImmDestroyContext( HIMC); 233 -extern(Windows) export HIMC ImmGetContext( HWND); 234 -extern(Windows) export BOOL ImmReleaseContext( HWND, HIMC); 235 -extern(Windows) export HIMC ImmAssociateContext( HWND, HIMC); 236 -// #if (WINVER >= 0x040A) 237 -extern(Windows) export BOOL ImmAssociateContextEx( HWND, HIMC, DWORD); 238 -// #endif /* WINVER >= 0x040A */ 239 - 240 -extern(Windows) export LONG ImmGetCompositionStringA( HIMC, DWORD, LPVOID, DWORD); 241 -extern(Windows) export LONG ImmGetCompositionStringW( HIMC, DWORD, LPVOID, DWORD); 242 -// #ifdef UNICODE 243 -// #... 244 -// #else 245 -alias ImmGetCompositionStringA ImmGetCompositionString; 246 -// #endif // !UNICODE 247 - 248 -extern(Windows) export BOOL ImmSetCompositionStringA( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD); 249 -extern(Windows) export BOOL ImmSetCompositionStringW( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD); 250 -// #ifdef UNICODE 251 -// #... 252 -// #else 253 -alias ImmSetCompositionStringA ImmSetCompositionString; 254 -// #endif // !UNICODE 255 - 256 -extern(Windows) export DWORD ImmGetCandidateListCountA( HIMC, LPDWORD lpdwListCount); 257 -extern(Windows) export DWORD ImmGetCandidateListCountW( HIMC, LPDWORD lpdwListCount); 258 -// #ifdef UNICODE 259 -// #... 260 -// #else 261 -alias ImmGetCandidateListCountA ImmGetCandidateListCount; 262 -// #endif // !UNICODE 263 - 264 -extern(Windows) export DWORD ImmGetCandidateListA( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen); 265 -extern(Windows) export DWORD ImmGetCandidateListW( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen); 266 -// #ifdef UNICODE 267 -// #... 268 -// #else 269 -alias ImmGetCandidateListA ImmGetCandidateList; 270 -// #endif // !UNICODE 271 - 272 -extern(Windows) export DWORD ImmGetGuideLineA( HIMC, DWORD dwIndex, LPSTR, DWORD dwBufLen); 273 -extern(Windows) export DWORD ImmGetGuideLineW( HIMC, DWORD dwIndex, LPWSTR, DWORD dwBufLen); 274 -// #ifdef UNICODE 275 -// #... 276 -// #else 277 -alias ImmGetGuideLineA ImmGetGuideLine; 278 -// #endif // !UNICODE 279 - 280 -extern(Windows) export BOOL ImmGetConversionStatus( HIMC, LPDWORD, LPDWORD); 281 -extern(Windows) export BOOL ImmSetConversionStatus( HIMC, DWORD, DWORD); 282 -extern(Windows) export BOOL ImmGetOpenStatus( HIMC); 283 -extern(Windows) export BOOL ImmSetOpenStatus( HIMC, BOOL); 284 - 285 -// #if defined(_WINGDI_) && !defined(NOGDI) 286 -// ... 287 -// #ifdef UNICODE 288 -// #... 289 -// #else 290 -// #... 291 -// #endif // !UNICODE 292 - 293 -// ... 294 -// #ifdef UNICODE 295 -// #... 296 -// #else 297 -// #... 298 -// #endif // !UNICODE 299 -// #endif // defined(_WINGDI_) && !defined(NOGDI) 300 - 301 -extern(Windows) export BOOL ImmConfigureIMEA( HKL, HWND, DWORD, LPVOID); 302 -extern(Windows) export BOOL ImmConfigureIMEW( HKL, HWND, DWORD, LPVOID); 303 -// #ifdef UNICODE 304 -// #... 305 -// #else 306 -alias ImmConfigureIMEA ImmConfigureIME; 307 -// #endif // !UNICODE 308 - 309 -extern(Windows) export LRESULT ImmEscapeA( HKL, HIMC, UINT, LPVOID); 310 -extern(Windows) export LRESULT ImmEscapeW( HKL, HIMC, UINT, LPVOID); 311 -// #ifdef UNICODE 312 -// #... 313 -// #else 314 -alias ImmEscapeA ImmEscape; 315 -// #endif // !UNICODE 316 - 317 -extern(Windows) export DWORD ImmGetConversionListA( HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag); 318 -extern(Windows) export DWORD ImmGetConversionListW( HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag); 319 -// #ifdef UNICODE 320 -// #... 321 -// #else 322 -alias ImmGetConversionListA ImmGetConversionList; 323 -// #endif // !UNICODE 324 - 325 -extern(Windows) export BOOL ImmNotifyIME( HIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue); 326 - 327 -extern(Windows) export BOOL ImmGetStatusWindowPos( HIMC, LPPOINT); 328 -extern(Windows) export BOOL ImmSetStatusWindowPos( HIMC, LPPOINT); 329 -extern(Windows) export BOOL ImmGetCompositionWindow( HIMC, LPCOMPOSITIONFORM); 330 -extern(Windows) export BOOL ImmSetCompositionWindow( HIMC, LPCOMPOSITIONFORM); 331 -extern(Windows) export BOOL ImmGetCandidateWindow( HIMC, DWORD, LPCANDIDATEFORM); 332 -extern(Windows) export BOOL ImmSetCandidateWindow( HIMC, LPCANDIDATEFORM); 333 - 334 -extern(Windows) export BOOL ImmIsUIMessageA( HWND, UINT, WPARAM, LPARAM); 335 -extern(Windows) export BOOL ImmIsUIMessageW( HWND, UINT, WPARAM, LPARAM); 336 -// #ifdef UNICODE 337 -// #... 338 -// #else 339 -alias ImmIsUIMessageA ImmIsUIMessage; 340 -// #endif // !UNICODE 341 - 342 -extern(Windows) export UINT ImmGetVirtualKey( HWND); 343 - 344 -extern(Windows) alias int function(LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA; 345 -extern(Windows) alias int function(LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW; 346 -// #ifdef UNICODE 347 -// #... 348 -// #else 349 -alias REGISTERWORDENUMPROCA REGISTERWORDENUMPROC; 350 -// #endif // !UNICODE 351 - 352 -extern(Windows) export BOOL ImmRegisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister); 353 -extern(Windows) export BOOL ImmRegisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister); 354 -// #ifdef UNICODE 355 -// #... 356 -// #else 357 -alias ImmRegisterWordA ImmRegisterWord; 358 -// #endif // !UNICODE 359 - 360 -extern(Windows) export BOOL ImmUnregisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszUnregister); 361 -extern(Windows) export BOOL ImmUnregisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszUnregister); 362 -// #ifdef UNICODE 363 -// #... 364 -// #else 365 -alias ImmUnregisterWordA ImmUnregisterWord; 366 -// #endif // !UNICODE 367 - 368 -extern(Windows) export UINT ImmGetRegisterWordStyleA( HKL, UINT nItem, LPSTYLEBUFA); 369 -extern(Windows) export UINT ImmGetRegisterWordStyleW( HKL, UINT nItem, LPSTYLEBUFW); 370 -// #ifdef UNICODE 371 -// #... 372 -// #else 373 -alias ImmGetRegisterWordStyleA ImmGetRegisterWordStyle; 374 -// #endif // !UNICODE 375 - 376 -extern(Windows) export UINT ImmEnumRegisterWordA( HKL, REGISTERWORDENUMPROCA, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister, LPVOID); 377 -extern(Windows) export UINT ImmEnumRegisterWordW( HKL, REGISTERWORDENUMPROCW, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister, LPVOID); 378 -// #ifdef UNICODE 379 -// #... 380 -// #else 381 -alias ImmEnumRegisterWordA ImmEnumRegisterWord; 382 -// #endif // !UNICODE 383 - 384 -// #if (WINVER >= 0x040A) 385 -extern(Windows) export BOOL ImmDisableIME( DWORD); 386 -extern(Windows) export BOOL ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn, LPARAM lParam); 387 -extern(Windows) export DWORD ImmGetImeMenuItemsA( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD); 388 -extern(Windows) export DWORD ImmGetImeMenuItemsW( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD); 389 -// #ifdef UNICODE 390 -// #... 391 -// #else 392 -alias ImmGetImeMenuItemsA ImmGetImeMenuItems; 393 -// #endif // !UNICODE 394 -// #endif /* WINVER >= 0x040A */ 395 - 396 -enum : uint { IMC_GETCANDIDATEPOS = 0x0007 } 397 -enum : uint { IMC_SETCANDIDATEPOS = 0x0008 } 398 -enum : uint { IMC_GETCOMPOSITIONFONT = 0x0009 } 399 -enum : uint { IMC_SETCOMPOSITIONFONT = 0x000A } 400 -enum : uint { IMC_GETCOMPOSITIONWINDOW = 0x000B } 401 -enum : uint { IMC_SETCOMPOSITIONWINDOW = 0x000C } 402 -enum : uint { IMC_GETSTATUSWINDOWPOS = 0x000F } 403 -enum : uint { IMC_SETSTATUSWINDOWPOS = 0x0010 } 404 -enum : uint { IMC_CLOSESTATUSWINDOW = 0x0021 } 405 -enum : uint { IMC_OPENSTATUSWINDOW = 0x0022 } 406 - 407 -enum : uint { NI_OPENCANDIDATE = 0x0010 } 408 -enum : uint { NI_CLOSECANDIDATE = 0x0011 } 409 -enum : uint { NI_SELECTCANDIDATESTR = 0x0012 } 410 -enum : uint { NI_CHANGECANDIDATELIST = 0x0013 } 411 -enum : uint { NI_FINALIZECONVERSIONRESULT = 0x0014 } 412 -enum : uint { NI_COMPOSITIONSTR = 0x0015 } 413 -enum : uint { NI_SETCANDIDATE_PAGESTART = 0x0016 } 414 -enum : uint { NI_SETCANDIDATE_PAGESIZE = 0x0017 } 415 -enum : uint { NI_IMEMENUSELECTED = 0x0018 } 416 - 417 -enum : uint { ISC_SHOWUICANDIDATEWINDOW = 0x00000001 } 418 -enum : uint { ISC_SHOWUICOMPOSITIONWINDOW = 0x80000000 } 419 -enum : uint { ISC_SHOWUIGUIDELINE = 0x40000000 } 420 -enum : uint { ISC_SHOWUIALLCANDIDATEWINDOW = 0x0000000F } 421 -enum : uint { ISC_SHOWUIALL = 0xC000000F } 422 - 423 -enum : uint { CPS_COMPLETE = 0x0001 } 424 -enum : uint { CPS_CONVERT = 0x0002 } 425 -enum : uint { CPS_REVERT = 0x0003 } 426 -enum : uint { CPS_CANCEL = 0x0004 } 427 - 428 -enum : uint { MOD_ALT = 0x0001 } 429 -enum : uint { MOD_CONTROL = 0x0002 } 430 -enum : uint { MOD_SHIFT = 0x0004 } 431 - 432 -enum : uint { MOD_LEFT = 0x8000 } 433 -enum : uint { MOD_RIGHT = 0x4000 } 434 - 435 -enum : uint { MOD_ON_KEYUP = 0x0800 } 436 -enum : uint { MOD_IGNORE_ALL_MODIFIER = 0x0400 } 437 - 438 -enum : uint { IME_CHOTKEY_IME_NONIME_TOGGLE = 0x10 } 439 -enum : uint { IME_CHOTKEY_SHAPE_TOGGLE = 0x11 } 440 -enum : uint { IME_CHOTKEY_SYMBOL_TOGGLE = 0x12 } 441 - 442 -enum : uint { IME_JHOTKEY_CLOSE_OPEN = 0x30 } 443 - 444 -enum : uint { IME_KHOTKEY_SHAPE_TOGGLE = 0x50 } 445 -enum : uint { IME_KHOTKEY_HANJACONVERT = 0x51 } 446 -enum : uint { IME_KHOTKEY_ENGLISH = 0x52 } 447 - 448 -enum : uint { IME_THOTKEY_IME_NONIME_TOGGLE = 0x70 } 449 -enum : uint { IME_THOTKEY_SHAPE_TOGGLE = 0x71 } 450 -enum : uint { IME_THOTKEY_SYMBOL_TOGGLE = 0x72 } 451 - 452 -enum : uint { IME_HOTKEY_DSWITCH_FIRST = 0x100 } 453 -enum : uint { IME_HOTKEY_DSWITCH_LAST = 0x11F } 454 - 455 -enum : uint { IME_HOTKEY_PRIVATE_FIRST = 0x200 } 456 -enum : uint { IME_ITHOTKEY_RESEND_RESULTSTR = 0x200 } 457 -enum : uint { IME_ITHOTKEY_PREVIOUS_COMPOSITION = 0x201 } 458 -enum : uint { IME_ITHOTKEY_UISTYLE_TOGGLE = 0x202 } 459 -enum : uint { IME_ITHOTKEY_RECONVERTSTRING = 0x203 } 460 -enum : uint { IME_HOTKEY_PRIVATE_LAST = 0x21F } 461 - 462 -enum : uint { GCS_COMPREADSTR = 0x0001 } 463 -enum : uint { GCS_COMPREADATTR = 0x0002 } 464 -enum : uint { GCS_COMPREADCLAUSE = 0x0004 } 465 -enum : uint { GCS_COMPSTR = 0x0008 } 466 -enum : uint { GCS_COMPATTR = 0x0010 } 467 -enum : uint { GCS_COMPCLAUSE = 0x0020 } 468 -enum : uint { GCS_CURSORPOS = 0x0080 } 469 -enum : uint { GCS_DELTASTART = 0x0100 } 470 -enum : uint { GCS_RESULTREADSTR = 0x0200 } 471 -enum : uint { GCS_RESULTREADCLAUSE = 0x0400 } 472 -enum : uint { GCS_RESULTSTR = 0x0800 } 473 -enum : uint { GCS_RESULTCLAUSE = 0x1000 } 474 - 475 -enum : uint { CS_INSERTCHAR = 0x2000 } 476 -enum : uint { CS_NOMOVECARET = 0x4000 } 477 - 478 -enum : uint { IMEVER_0310 = 0x0003000A } 479 -enum : uint { IMEVER_0400 = 0x00040000 } 480 - 481 -enum : uint { IME_PROP_AT_CARET = 0x00010000 } 482 -enum : uint { IME_PROP_SPECIAL_UI = 0x00020000 } 483 -enum : uint { IME_PROP_CANDLIST_START_FROM_1 = 0x00040000 } 484 -enum : uint { IME_PROP_UNICODE = 0x00080000 } 485 -enum : uint { IME_PROP_COMPLETE_ON_UNSELECT = 0x00100000 } 486 - 487 -enum : uint { UI_CAP_2700 = 0x00000001 } 488 -enum : uint { UI_CAP_ROT90 = 0x00000002 } 489 -enum : uint { UI_CAP_ROTANY = 0x00000004 } 490 - 491 -enum : uint { SCS_CAP_COMPSTR = 0x00000001 } 492 -enum : uint { SCS_CAP_MAKEREAD = 0x00000002 } 493 -enum : uint { SCS_CAP_SETRECONVERTSTRING = 0x00000004 } 494 - 495 -enum : uint { SELECT_CAP_CONVERSION = 0x00000001 } 496 -enum : uint { SELECT_CAP_SENTENCE = 0x00000002 } 497 - 498 -enum : uint { GGL_LEVEL = 0x00000001 } 499 -enum : uint { GGL_INDEX = 0x00000002 } 500 -enum : uint { GGL_STRING = 0x00000003 } 501 -enum : uint { GGL_PRIVATE = 0x00000004 } 502 - 503 -enum : uint { GL_LEVEL_NOGUIDELINE = 0x00000000 } 504 -enum : uint { GL_LEVEL_FATAL = 0x00000001 } 505 -enum : uint { GL_LEVEL_ERROR = 0x00000002 } 506 -enum : uint { GL_LEVEL_WARNING = 0x00000003 } 507 -enum : uint { GL_LEVEL_INFORMATION = 0x00000004 } 508 - 509 -enum : uint { GL_ID_UNKNOWN = 0x00000000 } 510 -enum : uint { GL_ID_NOMODULE = 0x00000001 } 511 -enum : uint { GL_ID_NODICTIONARY = 0x00000010 } 512 -enum : uint { GL_ID_CANNOTSAVE = 0x00000011 } 513 -enum : uint { GL_ID_NOCONVERT = 0x00000020 } 514 -enum : uint { GL_ID_TYPINGERROR = 0x00000021 } 515 -enum : uint { GL_ID_TOOMANYSTROKE = 0x00000022 } 516 -enum : uint { GL_ID_READINGCONFLICT = 0x00000023 } 517 -enum : uint { GL_ID_INPUTREADING = 0x00000024 } 518 -enum : uint { GL_ID_INPUTRADICAL = 0x00000025 } 519 -enum : uint { GL_ID_INPUTCODE = 0x00000026 } 520 -enum : uint { GL_ID_INPUTSYMBOL = 0x00000027 } 521 -enum : uint { GL_ID_CHOOSECANDIDATE = 0x00000028 } 522 -enum : uint { GL_ID_REVERSECONVERSION = 0x00000029 } 523 -enum : uint { GL_ID_PRIVATE_FIRST = 0x00008000 } 524 -enum : uint { GL_ID_PRIVATE_LAST = 0x0000FFFF } 525 - 526 -enum : DWORD { IGP_GETIMEVERSION = cast(DWORD)-4 } 527 -enum : uint { IGP_PROPERTY = 0x00000004 } 528 -enum : uint { IGP_CONVERSION = 0x00000008 } 529 -enum : uint { IGP_SENTENCE = 0x0000000c } 530 -enum : uint { IGP_UI = 0x00000010 } 531 -enum : uint { IGP_SETCOMPSTR = 0x00000014 } 532 -enum : uint { IGP_SELECT = 0x00000018 } 533 - 534 -enum : uint { SCS_SETSTR = GCS_COMPREADSTR|GCS_COMPSTR } 535 -enum : uint { SCS_CHANGEATTR = GCS_COMPREADATTR|GCS_COMPATTR } 536 -enum : uint { SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE } 537 -enum : uint { SCS_SETRECONVERTSTRING = 0x00010000 } 538 -enum : uint { SCS_QUERYRECONVERTSTRING = 0x00020000 } 539 - 540 -enum : uint { ATTR_INPUT = 0x00 } 541 -enum : uint { ATTR_TARGET_CONVERTED = 0x01 } 542 -enum : uint { ATTR_CONVERTED = 0x02 } 543 -enum : uint { ATTR_TARGET_NOTCONVERTED = 0x03 } 544 -enum : uint { ATTR_INPUT_ERROR = 0x04 } 545 -enum : uint { ATTR_FIXEDCONVERTED = 0x05 } 546 - 547 -enum : uint { CFS_DEFAULT = 0x0000 } 548 -enum : uint { CFS_RECT = 0x0001 } 549 -enum : uint { CFS_POINT = 0x0002 } 550 -enum : uint { CFS_FORCE_POSITION = 0x0020 } 551 -enum : uint { CFS_CANDIDATEPOS = 0x0040 } 552 -enum : uint { CFS_EXCLUDE = 0x0080 } 553 - 554 -enum : uint { GCL_CONVERSION = 0x0001 } 555 -enum : uint { GCL_REVERSECONVERSION = 0x0002 } 556 -enum : uint { GCL_REVERSE_LENGTH = 0x0003 } 557 - 558 -enum : uint { IME_CMODE_ALPHANUMERIC = 0x0000 } 559 -enum : uint { IME_CMODE_NATIVE = 0x0001 } 560 -alias IME_CMODE_NATIVE IME_CMODE_CHINESE; 561 - 562 -alias IME_CMODE_NATIVE IME_CMODE_HANGEUL; 563 -alias IME_CMODE_NATIVE IME_CMODE_HANGUL; 564 -alias IME_CMODE_NATIVE IME_CMODE_JAPANESE; 565 -enum : uint { IME_CMODE_KATAKANA = 0x0002 } 566 -enum : uint { IME_CMODE_LANGUAGE = 0x0003 } 567 -enum : uint { IME_CMODE_FULLSHAPE = 0x0008 } 568 -enum : uint { IME_CMODE_ROMAN = 0x0010 } 569 -enum : uint { IME_CMODE_CHARCODE = 0x0020 } 570 -enum : uint { IME_CMODE_HANJACONVERT = 0x0040 } 571 -enum : uint { IME_CMODE_SOFTKBD = 0x0080 } 572 -enum : uint { IME_CMODE_NOCONVERSION = 0x0100 } 573 -enum : uint { IME_CMODE_EUDC = 0x0200 } 574 -enum : uint { IME_CMODE_SYMBOL = 0x0400 } 575 -enum : uint { IME_CMODE_FIXED = 0x0800 } 576 - 577 -enum : uint { IME_SMODE_NONE = 0x0000 } 578 -enum : uint { IME_SMODE_PLAURALCLAUSE = 0x0001 } 579 -enum : uint { IME_SMODE_SINGLECONVERT = 0x0002 } 580 -enum : uint { IME_SMODE_AUTOMATIC = 0x0004 } 581 -enum : uint { IME_SMODE_PHRASEPREDICT = 0x0008 } 582 -enum : uint { IME_SMODE_CONVERSATION = 0x0010 } 583 - 584 -enum : uint { IME_CAND_UNKNOWN = 0x0000 } 585 -enum : uint { IME_CAND_READ = 0x0001 } 586 -enum : uint { IME_CAND_CODE = 0x0002 } 587 -enum : uint { IME_CAND_MEANING = 0x0003 } 588 -enum : uint { IME_CAND_RADICAL = 0x0004 } 589 -enum : uint { IME_CAND_STROKE = 0x0005 } 590 - 591 -enum : uint { IMN_CLOSESTATUSWINDOW = 0x0001 } 592 -enum : uint { IMN_OPENSTATUSWINDOW = 0x0002 } 593 -enum : uint { IMN_CHANGECANDIDATE = 0x0003 } 594 -enum : uint { IMN_CLOSECANDIDATE = 0x0004 } 595 -enum : uint { IMN_OPENCANDIDATE = 0x0005 } 596 -enum : uint { IMN_SETCONVERSIONMODE = 0x0006 } 597 -enum : uint { IMN_SETSENTENCEMODE = 0x0007 } 598 -enum : uint { IMN_SETOPENSTATUS = 0x0008 } 599 -enum : uint { IMN_SETCANDIDATEPOS = 0x0009 } 600 -enum : uint { IMN_SETCOMPOSITIONFONT = 0x000A } 601 -enum : uint { IMN_SETCOMPOSITIONWINDOW = 0x000B } 602 -enum : uint { IMN_SETSTATUSWINDOWPOS = 0x000C } 603 -enum : uint { IMN_GUIDELINE = 0x000D } 604 -enum : uint { IMN_PRIVATE = 0x000E } 605 - 606 -// #if (WINVER >= 0x040A) 607 - 608 -enum : uint { IMR_COMPOSITIONWINDOW = 0x0001 } 609 -enum : uint { IMR_CANDIDATEWINDOW = 0x0002 } 610 -enum : uint { IMR_COMPOSITIONFONT = 0x0003 } 611 -enum : uint { IMR_RECONVERTSTRING = 0x0004 } 612 -enum : uint { IMR_CONFIRMRECONVERTSTRING = 0x0005 } 613 -enum : uint { IMR_QUERYCHARPOSITION = 0x0006 } 614 -enum : uint { IMR_DOCUMENTFEED = 0x0007 } 615 -// #endif /* WINVER >= 0x040A */ 616 - 617 -enum { IMM_ERROR_NODATA = -1 } 618 -enum { IMM_ERROR_GENERAL = -2 } 619 - 620 -enum : uint { IME_CONFIG_GENERAL = 1 } 621 -enum : uint { IME_CONFIG_REGISTERWORD = 2 } 622 -enum : uint { IME_CONFIG_SELECTDICTIONARY = 3 } 623 - 624 -enum : uint { IME_ESC_QUERY_SUPPORT = 0x0003 } 625 -enum : uint { IME_ESC_RESERVED_FIRST = 0x0004 } 626 -enum : uint { IME_ESC_RESERVED_LAST = 0x07FF } 627 -enum : uint { IME_ESC_PRIVATE_FIRST = 0x0800 } 628 -enum : uint { IME_ESC_PRIVATE_LAST = 0x0FFF } 629 - 630 -enum : uint { IME_ESC_SEQUENCE_TO_INTERNAL = 0x1001 } 631 -enum : uint { IME_ESC_GET_EUDC_DICTIONARY = 0x1003 } 632 -enum : uint { IME_ESC_SET_EUDC_DICTIONARY = 0x1004 } 633 -enum : uint { IME_ESC_MAX_KEY = 0x1005 } 634 -enum : uint { IME_ESC_IME_NAME = 0x1006 } 635 -enum : uint { IME_ESC_SYNC_HOTKEY = 0x1007 } 636 -enum : uint { IME_ESC_HANJA_MODE = 0x1008 } 637 -enum : uint { IME_ESC_AUTOMATA = 0x1009 } 638 -enum : uint { IME_ESC_PRIVATE_HOTKEY = 0x100a } 639 -enum : uint { IME_ESC_GETHELPFILENAME = 0x100b } 640 - 641 -enum : uint { IME_REGWORD_STYLE_EUDC = 0x00000001 } 642 -enum : uint { IME_REGWORD_STYLE_USER_FIRST = 0x80000000 } 643 -enum : uint { IME_REGWORD_STYLE_USER_LAST = 0xFFFFFFFF } 644 - 645 -// #if (WINVER >= 0x040A) 646 - 647 -enum : uint { IACE_CHILDREN = 0x0001 } 648 -enum : uint { IACE_DEFAULT = 0x0010 } 649 -enum : uint { IACE_IGNORENOCONTEXT = 0x0020 } 650 - 651 -enum : uint { IGIMIF_RIGHTMENU = 0x0001 } 652 - 653 -enum : uint { IGIMII_CMODE = 0x0001 } 654 -enum : uint { IGIMII_SMODE = 0x0002 } 655 -enum : uint { IGIMII_CONFIGURE = 0x0004 } 656 -enum : uint { IGIMII_TOOLS = 0x0008 } 657 -enum : uint { IGIMII_HELP = 0x0010 } 658 -enum : uint { IGIMII_OTHER = 0x0020 } 659 -enum : uint { IGIMII_INPUTTOOLS = 0x0040 } 660 - 661 -enum : uint { IMFT_RADIOCHECK = 0x00001 } 662 -enum : uint { IMFT_SEPARATOR = 0x00002 } 663 -enum : uint { IMFT_SUBMENU = 0x00004 } 664 - 665 -alias MFS_GRAYED IMFS_GRAYED; 666 -alias MFS_DISABLED IMFS_DISABLED; 667 -alias MFS_CHECKED IMFS_CHECKED; 668 -alias MFS_HILITE IMFS_HILITE; 669 -alias MFS_ENABLED IMFS_ENABLED; 670 -alias MFS_UNCHECKED IMFS_UNCHECKED; 671 -alias MFS_UNHILITE IMFS_UNHILITE; 672 -alias MFS_DEFAULT IMFS_DEFAULT; 673 - 674 -// #endif /* WINVER >= 0x040A */ 675 - 676 -enum : uint { SOFTKEYBOARD_TYPE_T1 = 0x0001 } 677 - 678 -enum : uint { SOFTKEYBOARD_TYPE_C1 = 0x0002 } 679 - 680 -// #endif // _IMM_SDK_DEFINED_ 681 - 682 -// #ifdef __cplusplus 683 -// } 684 -// #endif 685 - 686 -// #endif // _IMM_

Deleted src/win32/ansi/mmsystem.d version [7155f134df58e8aa]

1 -module win32.ansi.mmsystem; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winbase; 7 - 8 -// #ifndef _INC_MMSYSTEM 9 -// #define _INC_MMSYSTEM 10 - 11 -// #ifdef _WIN32 12 -align(1): 13 -// #else 14 -// #ifndef RC_INVOKED 15 -// #... 16 -// #endif 17 -// #endif 18 - 19 -// #ifdef __cplusplus 20 -// extern "C" { /* Assume C declarations for C++ */ 21 -// #endif /* __cplusplus */ 22 - 23 -// #ifdef _WIN32 24 -// #ifndef _WINMM_ 25 -// #define WINMMAPI DECLSPEC_IMPORT 26 -// #else 27 -// #... 28 -// #endif 29 -// #define _loadds 30 -// #define _huge 31 -// #else 32 -// #... 33 -// #endif 34 - 35 -// #ifdef _MAC 36 -// #... 37 -// #endif //_MAC 38 - 39 -enum : uint { MAXPNAMELEN = 32 } 40 -enum : uint { MAXERRORLENGTH = 256 } 41 -enum : uint { MAX_JOYSTICKOEMVXDNAME = 260 } 42 - 43 -// #if (WINVER <= 0x0400) 44 -// #ifndef MM_MICROSOFT 45 -// #... 46 -// #endif 47 - 48 -// #ifndef MM_MIDI_MAPPER 49 -// #... 50 -// #... 51 -// #... 52 -// #... 53 -// #... 54 -// #... 55 -// #... 56 -// #... 57 -// #... 58 -// #... 59 -// #... 60 -// #endif 61 -// #endif 62 - 63 -// #ifdef _WIN32 64 -alias UINT MMVERSION; 65 -// #else 66 -// ... 67 -// #endif 68 -alias UINT MMRESULT; 69 - 70 -// #define _MMRESULT_ 71 - 72 -alias UINT* LPUINT; 73 - 74 -struct mmtime_tag { 75 - UINT wType; 76 -union { 77 - DWORD ms; 78 - DWORD sample; 79 - DWORD cb; 80 - DWORD ticks; 81 - 82 -struct { 83 - BYTE hour; 84 - BYTE min; 85 - BYTE sec; 86 - BYTE frame; 87 - BYTE fps; 88 - BYTE dummy; 89 -// #ifdef _WIN32 90 - BYTE pad[2]; 91 -// #endif 92 -} 93 - 94 -struct { 95 - DWORD songptrpos; 96 -} 97 - 98 -} 99 - 100 -} 101 -alias mmtime_tag MMTIME; 102 -alias mmtime_tag* PMMTIME; 103 -alias mmtime_tag* NPMMTIME; 104 -alias mmtime_tag* LPMMTIME; 105 - 106 -enum : uint { TIME_MS = 0x0001 } 107 -enum : uint { TIME_SAMPLES = 0x0002 } 108 -enum : uint { TIME_BYTES = 0x0004 } 109 -enum : uint { TIME_SMPTE = 0x0008 } 110 -enum : uint { TIME_MIDI = 0x0010 } 111 -enum : uint { TIME_TICKS = 0x0020 } 112 - 113 -uint MAKEFOURCC(ubyte ch0, ubyte ch1, ubyte ch2, ubyte ch3){ return ch0 | (ch1 << 8) | (ch2 << 16) | (ch3 << 24); } 114 - 115 -enum : uint { MM_JOY1MOVE = 0x3A0 } 116 -enum : uint { MM_JOY2MOVE = 0x3A1 } 117 -enum : uint { MM_JOY1ZMOVE = 0x3A2 } 118 -enum : uint { MM_JOY2ZMOVE = 0x3A3 } 119 -enum : uint { MM_JOY1BUTTONDOWN = 0x3B5 } 120 -enum : uint { MM_JOY2BUTTONDOWN = 0x3B6 } 121 -enum : uint { MM_JOY1BUTTONUP = 0x3B7 } 122 -enum : uint { MM_JOY2BUTTONUP = 0x3B8 } 123 - 124 -enum : uint { MM_MCINOTIFY = 0x3B9 } 125 - 126 -enum : uint { MM_WOM_OPEN = 0x3BB } 127 -enum : uint { MM_WOM_CLOSE = 0x3BC } 128 -enum : uint { MM_WOM_DONE = 0x3BD } 129 - 130 -enum : uint { MM_WIM_OPEN = 0x3BE } 131 -enum : uint { MM_WIM_CLOSE = 0x3BF } 132 -enum : uint { MM_WIM_DATA = 0x3C0 } 133 - 134 -enum : uint { MM_MIM_OPEN = 0x3C1 } 135 -enum : uint { MM_MIM_CLOSE = 0x3C2 } 136 -enum : uint { MM_MIM_DATA = 0x3C3 } 137 -enum : uint { MM_MIM_LONGDATA = 0x3C4 } 138 -enum : uint { MM_MIM_ERROR = 0x3C5 } 139 -enum : uint { MM_MIM_LONGERROR = 0x3C6 } 140 - 141 -enum : uint { MM_MOM_OPEN = 0x3C7 } 142 -enum : uint { MM_MOM_CLOSE = 0x3C8 } 143 -enum : uint { MM_MOM_DONE = 0x3C9 } 144 - 145 -// #ifndef MM_DRVM_OPEN 146 -enum : uint { MM_DRVM_OPEN = 0x3D0 } 147 -enum : uint { MM_DRVM_CLOSE = 0x3D1 } 148 -enum : uint { MM_DRVM_DATA = 0x3D2 } 149 -enum : uint { MM_DRVM_ERROR = 0x3D3 } 150 -// #endif 151 - 152 -enum : uint { MM_STREAM_OPEN = 0x3D4 } 153 -enum : uint { MM_STREAM_CLOSE = 0x3D5 } 154 -enum : uint { MM_STREAM_DONE = 0x3D6 } 155 -enum : uint { MM_STREAM_ERROR = 0x3D7 } 156 - 157 -// #if(WINVER >= 0x0400) 158 -enum : uint { MM_MOM_POSITIONCB = 0x3CA } 159 - 160 -// #ifndef MM_MCISIGNAL 161 -enum : uint { MM_MCISIGNAL = 0x3CB } 162 -// #endif 163 - 164 -enum : uint { MM_MIM_MOREDATA = 0x3CC } 165 - 166 -// #endif /* WINVER >= 0x0400 */ 167 -enum : uint { MM_MIXM_LINE_CHANGE = 0x3D0 } 168 -enum : uint { MM_MIXM_CONTROL_CHANGE = 0x3D1 } 169 - 170 -enum : uint { MMSYSERR_BASE = 0 } 171 -enum : uint { WAVERR_BASE = 32 } 172 -enum : uint { MIDIERR_BASE = 64 } 173 -enum : uint { TIMERR_BASE = 96 } 174 -enum : uint { JOYERR_BASE = 160 } 175 -enum : uint { MCIERR_BASE = 256 } 176 -enum : uint { MIXERR_BASE = 1024 } 177 - 178 -enum : uint { MCI_STRING_OFFSET = 512 } 179 -enum : uint { MCI_VD_OFFSET = 1024 } 180 -enum : uint { MCI_CD_OFFSET = 1088 } 181 -enum : uint { MCI_WAVE_OFFSET = 1152 } 182 -enum : uint { MCI_SEQ_OFFSET = 1216 } 183 - 184 -enum : uint { MMSYSERR_NOERROR = 0 } 185 -enum : uint { MMSYSERR_ERROR = MMSYSERR_BASE + 1 } 186 -enum : uint { MMSYSERR_BADDEVICEID = MMSYSERR_BASE + 2 } 187 -enum : uint { MMSYSERR_NOTENABLED = MMSYSERR_BASE + 3 } 188 -enum : uint { MMSYSERR_ALLOCATED = MMSYSERR_BASE + 4 } 189 -enum : uint { MMSYSERR_INVALHANDLE = MMSYSERR_BASE + 5 } 190 -enum : uint { MMSYSERR_NODRIVER = MMSYSERR_BASE + 6 } 191 -enum : uint { MMSYSERR_NOMEM = MMSYSERR_BASE + 7 } 192 -enum : uint { MMSYSERR_NOTSUPPORTED = MMSYSERR_BASE + 8 } 193 -enum : uint { MMSYSERR_BADERRNUM = MMSYSERR_BASE + 9 } 194 -enum : uint { MMSYSERR_INVALFLAG = MMSYSERR_BASE + 10 } 195 -enum : uint { MMSYSERR_INVALPARAM = MMSYSERR_BASE + 11 } 196 -enum : uint { MMSYSERR_HANDLEBUSY = MMSYSERR_BASE + 12 } 197 - 198 -enum : uint { MMSYSERR_INVALIDALIAS = MMSYSERR_BASE + 13 } 199 -enum : uint { MMSYSERR_BADDB = MMSYSERR_BASE + 14 } 200 -enum : uint { MMSYSERR_KEYNOTFOUND = MMSYSERR_BASE + 15 } 201 -enum : uint { MMSYSERR_READERROR = MMSYSERR_BASE + 16 } 202 -enum : uint { MMSYSERR_WRITEERROR = MMSYSERR_BASE + 17 } 203 -enum : uint { MMSYSERR_DELETEERROR = MMSYSERR_BASE + 18 } 204 -enum : uint { MMSYSERR_VALNOTFOUND = MMSYSERR_BASE + 19 } 205 -enum : uint { MMSYSERR_NODRIVERCB = MMSYSERR_BASE + 20 } 206 -enum : uint { MMSYSERR_MOREDATA = MMSYSERR_BASE + 21 } 207 -enum : uint { MMSYSERR_LASTERROR = MMSYSERR_BASE + 21 } 208 - 209 -// #if (WINVER < 0x030a) || defined(_WIN32) 210 -alias void* HDRVR; 211 -// #endif /* ifdef WINVER < 0x030a */ 212 - 213 -// #ifndef MMNODRV 214 - 215 -// #ifdef _WIN32 216 -struct DRVCONFIGINFOEX { 217 - DWORD dwDCISize; 218 - LPCWSTR lpszDCISectionName; 219 - LPCWSTR lpszDCIAliasName; 220 - DWORD dnDevNode; 221 -} 222 -alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX; 223 -alias DRVCONFIGINFOEX* NPDRVCONFIGINFOEX; 224 -alias DRVCONFIGINFOEX* LPDRVCONFIGINFOEX; 225 - 226 -// #else 227 -// ... 228 -// #endif 229 - 230 -// #if (WINVER < 0x030a) || defined(_WIN32) 231 - 232 -// #ifndef DRV_LOAD 233 - 234 -enum : uint { DRV_LOAD = 0x0001 } 235 -enum : uint { DRV_ENABLE = 0x0002 } 236 -enum : uint { DRV_OPEN = 0x0003 } 237 -enum : uint { DRV_CLOSE = 0x0004 } 238 -enum : uint { DRV_DISABLE = 0x0005 } 239 -enum : uint { DRV_FREE = 0x0006 } 240 -enum : uint { DRV_CONFIGURE = 0x0007 } 241 -enum : uint { DRV_QUERYCONFIGURE = 0x0008 } 242 -enum : uint { DRV_INSTALL = 0x0009 } 243 -enum : uint { DRV_REMOVE = 0x000A } 244 -enum : uint { DRV_EXITSESSION = 0x000B } 245 -enum : uint { DRV_POWER = 0x000F } 246 -enum : uint { DRV_RESERVED = 0x0800 } 247 -enum : uint { DRV_USER = 0x4000 } 248 - 249 -// #ifdef _WIN32 250 -struct tagDRVCONFIGINFO { 251 - DWORD dwDCISize; 252 - LPCWSTR lpszDCISectionName; 253 - LPCWSTR lpszDCIAliasName; 254 -} 255 -alias tagDRVCONFIGINFO DRVCONFIGINFO; 256 -alias tagDRVCONFIGINFO* PDRVCONFIGINFO; 257 -alias tagDRVCONFIGINFO* NPDRVCONFIGINFO; 258 -alias tagDRVCONFIGINFO* LPDRVCONFIGINFO; 259 - 260 -// #else 261 -// ... 262 -// #endif 263 - 264 -enum : uint { DRVCNF_CANCEL = 0x0000 } 265 -enum : uint { DRVCNF_OK = 0x0001 } 266 -enum : uint { DRVCNF_RESTART = 0x0002 } 267 - 268 -// #ifdef _WIN32 269 - 270 -extern(Windows) alias LRESULT function(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM) DRIVERPROC; 271 - 272 -extern(Windows) export LRESULT CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM lParam2); 273 -extern(Windows) export HDRVR OpenDriver(LPCWSTR szDriverName, LPCWSTR szSectionName, LPARAM lParam2); 274 -extern(Windows) export LRESULT SendDriverMessage(HDRVR hDriver, UINT message, LPARAM lParam1, LPARAM lParam2); 275 -extern(Windows) export HMODULE DrvGetModuleHandle(HDRVR hDriver); 276 -extern(Windows) export HMODULE GetDriverModuleHandle(HDRVR hDriver); 277 -extern(Windows) export LRESULT DefDriverProc(DWORD_PTR dwDriverIdentifier, HDRVR hdrvr, UINT uMsg, LPARAM lParam1, LPARAM lParam2); 278 -// #else 279 -// ... 280 -// #... 281 -// #endif /* ifdef _WIN32 */ 282 -// #endif /* DRV_LOAD */ 283 -// #endif /* ifdef (WINVER < 0x030a) || defined(_WIN32) */ 284 - 285 -// #if (WINVER >= 0x030a) 286 - 287 -alias DRVCNF_CANCEL DRV_CANCEL; 288 -alias DRVCNF_OK DRV_OK; 289 -alias DRVCNF_RESTART DRV_RESTART; 290 - 291 -// #endif /* ifdef WINVER >= 0x030a */ 292 - 293 -alias DRV_RESERVED DRV_MCI_FIRST; 294 -enum : uint { DRV_MCI_LAST = DRV_RESERVED + 0xFFF } 295 - 296 -// #endif /* ifndef MMNODRV */ 297 - 298 -enum : uint { CALLBACK_TYPEMASK = 0x00070000 } 299 -enum : uint { CALLBACK_NULL = 0x00000000 } 300 -enum : uint { CALLBACK_WINDOW = 0x00010000 } 301 -enum : uint { CALLBACK_TASK = 0x00020000 } 302 -enum : uint { CALLBACK_FUNCTION = 0x00030000 } 303 -// #ifdef _WIN32 304 -enum : uint { CALLBACK_THREAD = CALLBACK_TASK } 305 -enum : uint { CALLBACK_EVENT = 0x00050000 } 306 -// #endif 307 -// typedef void (CALLBACK DRVCALLBACK)(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2); 308 - 309 -extern(Windows) alias void function(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) LPDRVCALLBACK; 310 -// #ifdef _WIN32 311 -alias LPDRVCALLBACK PDRVCALLBACK; 312 -// #endif 313 - 314 -// #ifndef MMNOMMSYSTEM 315 - 316 -// #if (WINVER <= 0x030A) 317 -// ... 318 -// #endif 319 -// #ifdef _WIN32 320 -alias OutputDebugString OutputDebugStr; 321 -// #else 322 -// ... 323 -// #endif 324 - 325 -// #endif /* ifndef MMNOMMSYSTEM */ 326 - 327 -// #ifndef MMNOSOUND 328 - 329 -// #ifdef _WIN32 330 - 331 -extern(Windows) export BOOL sndPlaySoundA(LPCSTR pszSound, UINT fuSound); 332 -extern(Windows) export BOOL sndPlaySoundW(LPCWSTR pszSound, UINT fuSound); 333 -// #ifdef UNICODE 334 -// #... 335 -// #else 336 -alias sndPlaySoundA sndPlaySound; 337 -// #endif // !UNICODE 338 - 339 -// #else 340 -// ... 341 -// #endif 342 - 343 -enum : uint { SND_SYNC = 0x0000 } 344 -enum : uint { SND_ASYNC = 0x0001 } 345 -enum : uint { SND_NODEFAULT = 0x0002 } 346 -enum : uint { SND_MEMORY = 0x0004 } 347 -enum : uint { SND_LOOP = 0x0008 } 348 -enum : uint { SND_NOSTOP = 0x0010 } 349 - 350 -enum : uint { SND_NOWAIT = 0x00002000 } 351 -enum : uint { SND_ALIAS = 0x00010000 } 352 -enum : uint { SND_ALIAS_ID = 0x00110000 } 353 -enum : uint { SND_FILENAME = 0x00020000 } 354 -enum : uint { SND_RESOURCE = 0x00040004 } 355 -// #if(WINVER >= 0x0400) 356 -enum : uint { SND_PURGE = 0x0040 } 357 -enum : uint { SND_APPLICATION = 0x0080 } 358 -// #endif /* WINVER >= 0x0400 */ 359 - 360 -enum : uint { SND_ALIAS_START = 0 } 361 - 362 -// #ifdef _WIN32 363 -// #define sndAlias(ch0, ch1) (SND_ALIAS_START + (DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8)) 364 - 365 -// #define SND_ALIAS_SYSTEMASTERISK sndAlias('S', '*') 366 -// #define SND_ALIAS_SYSTEMQUESTION sndAlias('S', '?') 367 -// #define SND_ALIAS_SYSTEMHAND sndAlias('S', 'H') 368 -// #define SND_ALIAS_SYSTEMEXIT sndAlias('S', 'E') 369 -// #define SND_ALIAS_SYSTEMSTART sndAlias('S', 'S') 370 -// #define SND_ALIAS_SYSTEMWELCOME sndAlias('S', 'W') 371 -// #define SND_ALIAS_SYSTEMEXCLAMATION sndAlias('S', '!') 372 -// #define SND_ALIAS_SYSTEMDEFAULT sndAlias('S', 'D') 373 - 374 -extern(Windows) export BOOL PlaySoundA(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound); 375 -extern(Windows) export BOOL PlaySoundW(LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound); 376 -// #ifdef UNICODE 377 -// #... 378 -// #else 379 -alias PlaySoundA PlaySound; 380 -// #endif // !UNICODE 381 - 382 -// #else 383 -// ... 384 -// #endif 385 - 386 -// #endif /* ifndef MMNOSOUND */ 387 - 388 -// #ifndef MMNOWAVE 389 - 390 -enum : uint { WAVERR_BADFORMAT = WAVERR_BASE + 0 } 391 -enum : uint { WAVERR_STILLPLAYING = WAVERR_BASE + 1 } 392 -enum : uint { WAVERR_UNPREPARED = WAVERR_BASE + 2 } 393 -enum : uint { WAVERR_SYNC = WAVERR_BASE + 3 } 394 -enum : uint { WAVERR_LASTERROR = WAVERR_BASE + 3 } 395 - 396 -alias void* HWAVE; 397 -alias void* HWAVEIN; 398 -alias void* HWAVEOUT; 399 -alias HWAVEIN* LPHWAVEIN; 400 -alias HWAVEOUT* LPHWAVEOUT; 401 -// typedef DRVCALLBACK WAVECALLBACK; 402 -alias LPDRVCALLBACK LPWAVECALLBACK; 403 - 404 -alias MM_WOM_OPEN WOM_OPEN; 405 -alias MM_WOM_CLOSE WOM_CLOSE; 406 -alias MM_WOM_DONE WOM_DONE; 407 -alias MM_WIM_OPEN WIM_OPEN; 408 -alias MM_WIM_CLOSE WIM_CLOSE; 409 -alias MM_WIM_DATA WIM_DATA; 410 - 411 -enum : uint { WAVE_MAPPER = cast(UINT)-1 } 412 - 413 -enum : uint { WAVE_FORMAT_QUERY = 0x0001 } 414 -enum : uint { WAVE_ALLOWSYNC = 0x0002 } 415 -// #if(WINVER >= 0x0400) 416 -enum : uint { WAVE_MAPPED = 0x0004 } 417 -enum : uint { WAVE_FORMAT_DIRECT = 0x0008 } 418 -enum : uint { WAVE_FORMAT_DIRECT_QUERY = WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT } 419 -// #endif /* WINVER >= 0x0400 */ 420 - 421 -struct wavehdr_tag { 422 - LPSTR lpData; 423 - DWORD dwBufferLength; 424 - DWORD dwBytesRecorded; 425 - DWORD_PTR dwUser; 426 - DWORD dwFlags; 427 - DWORD dwLoops; 428 - wavehdr_tag *lpNext; 429 - DWORD_PTR reserved; 430 -} 431 -alias wavehdr_tag WAVEHDR; 432 -alias wavehdr_tag* PWAVEHDR; 433 -alias wavehdr_tag* NPWAVEHDR; 434 -alias wavehdr_tag* LPWAVEHDR; 435 - 436 -enum : uint { WHDR_DONE = 0x00000001 } 437 -enum : uint { WHDR_PREPARED = 0x00000002 } 438 -enum : uint { WHDR_BEGINLOOP = 0x00000004 } 439 -enum : uint { WHDR_ENDLOOP = 0x00000008 } 440 -enum : uint { WHDR_INQUEUE = 0x00000010 } 441 - 442 -// #ifdef _WIN32 443 - 444 -struct tagWAVEOUTCAPSA { 445 - WORD wMid; 446 - WORD wPid; 447 - MMVERSION vDriverVersion; 448 - CHAR szPname[MAXPNAMELEN]; 449 - DWORD dwFormats; 450 - WORD wChannels; 451 - WORD wReserved1; 452 - DWORD dwSupport; 453 -} 454 -alias tagWAVEOUTCAPSA WAVEOUTCAPSA; 455 -alias tagWAVEOUTCAPSA* PWAVEOUTCAPSA; 456 -alias tagWAVEOUTCAPSA* NPWAVEOUTCAPSA; 457 -alias tagWAVEOUTCAPSA* LPWAVEOUTCAPSA; 458 - 459 -struct tagWAVEOUTCAPSW { 460 - WORD wMid; 461 - WORD wPid; 462 - MMVERSION vDriverVersion; 463 - WCHAR szPname[MAXPNAMELEN]; 464 - DWORD dwFormats; 465 - WORD wChannels; 466 - WORD wReserved1; 467 - DWORD dwSupport; 468 -} 469 -alias tagWAVEOUTCAPSW WAVEOUTCAPSW; 470 -alias tagWAVEOUTCAPSW* PWAVEOUTCAPSW; 471 -alias tagWAVEOUTCAPSW* NPWAVEOUTCAPSW; 472 -alias tagWAVEOUTCAPSW* LPWAVEOUTCAPSW; 473 - 474 -// #ifdef UNICODE 475 -// ... 476 -// #else 477 -alias WAVEOUTCAPSA WAVEOUTCAPS; 478 -alias PWAVEOUTCAPSA PWAVEOUTCAPS; 479 -alias NPWAVEOUTCAPSA NPWAVEOUTCAPS; 480 -alias LPWAVEOUTCAPSA LPWAVEOUTCAPS; 481 -// #endif // UNICODE 482 -struct tagWAVEOUTCAPS2A { 483 - WORD wMid; 484 - WORD wPid; 485 - MMVERSION vDriverVersion; 486 - CHAR szPname[MAXPNAMELEN]; 487 - DWORD dwFormats; 488 - WORD wChannels; 489 - WORD wReserved1; 490 - DWORD dwSupport; 491 - GUID ManufacturerGuid; 492 - GUID ProductGuid; 493 - GUID NameGuid; 494 -} 495 -alias tagWAVEOUTCAPS2A WAVEOUTCAPS2A; 496 -alias tagWAVEOUTCAPS2A* PWAVEOUTCAPS2A; 497 -alias tagWAVEOUTCAPS2A* NPWAVEOUTCAPS2A; 498 -alias tagWAVEOUTCAPS2A* LPWAVEOUTCAPS2A; 499 - 500 -struct tagWAVEOUTCAPS2W { 501 - WORD wMid; 502 - WORD wPid; 503 - MMVERSION vDriverVersion; 504 - WCHAR szPname[MAXPNAMELEN]; 505 - DWORD dwFormats; 506 - WORD wChannels; 507 - WORD wReserved1; 508 - DWORD dwSupport; 509 - GUID ManufacturerGuid; 510 - GUID ProductGuid; 511 - GUID NameGuid; 512 -} 513 -alias tagWAVEOUTCAPS2W WAVEOUTCAPS2W; 514 -alias tagWAVEOUTCAPS2W* PWAVEOUTCAPS2W; 515 -alias tagWAVEOUTCAPS2W* NPWAVEOUTCAPS2W; 516 -alias tagWAVEOUTCAPS2W* LPWAVEOUTCAPS2W; 517 - 518 -// #ifdef UNICODE 519 -// ... 520 -// #else 521 -alias WAVEOUTCAPS2A WAVEOUTCAPS2; 522 -alias PWAVEOUTCAPS2A PWAVEOUTCAPS2; 523 -alias NPWAVEOUTCAPS2A NPWAVEOUTCAPS2; 524 -alias LPWAVEOUTCAPS2A LPWAVEOUTCAPS2; 525 -// #endif // UNICODE 526 - 527 -// #else 528 -// ... 529 -// #endif 530 - 531 -enum : uint { WAVECAPS_PITCH = 0x0001 } 532 -enum : uint { WAVECAPS_PLAYBACKRATE = 0x0002 } 533 -enum : uint { WAVECAPS_VOLUME = 0x0004 } 534 -enum : uint { WAVECAPS_LRVOLUME = 0x0008 } 535 -enum : uint { WAVECAPS_SYNC = 0x0010 } 536 -enum : uint { WAVECAPS_SAMPLEACCURATE = 0x0020 } 537 - 538 -// #ifdef _WIN32 539 - 540 -struct tagWAVEINCAPSA { 541 - WORD wMid; 542 - WORD wPid; 543 - MMVERSION vDriverVersion; 544 - CHAR szPname[MAXPNAMELEN]; 545 - DWORD dwFormats; 546 - WORD wChannels; 547 - WORD wReserved1; 548 -} 549 -alias tagWAVEINCAPSA WAVEINCAPSA; 550 -alias tagWAVEINCAPSA* PWAVEINCAPSA; 551 -alias tagWAVEINCAPSA* NPWAVEINCAPSA; 552 -alias tagWAVEINCAPSA* LPWAVEINCAPSA; 553 - 554 -struct tagWAVEINCAPSW { 555 - WORD wMid; 556 - WORD wPid; 557 - MMVERSION vDriverVersion; 558 - WCHAR szPname[MAXPNAMELEN]; 559 - DWORD dwFormats; 560 - WORD wChannels; 561 - WORD wReserved1; 562 -} 563 -alias tagWAVEINCAPSW WAVEINCAPSW; 564 -alias tagWAVEINCAPSW* PWAVEINCAPSW; 565 -alias tagWAVEINCAPSW* NPWAVEINCAPSW; 566 -alias tagWAVEINCAPSW* LPWAVEINCAPSW; 567 - 568 -// #ifdef UNICODE 569 -// ... 570 -// #else 571 -alias WAVEINCAPSA WAVEINCAPS; 572 -alias PWAVEINCAPSA PWAVEINCAPS; 573 -alias NPWAVEINCAPSA NPWAVEINCAPS; 574 -alias LPWAVEINCAPSA LPWAVEINCAPS; 575 -// #endif // UNICODE 576 -struct tagWAVEINCAPS2A { 577 - WORD wMid; 578 - WORD wPid; 579 - MMVERSION vDriverVersion; 580 - CHAR szPname[MAXPNAMELEN]; 581 - DWORD dwFormats; 582 - WORD wChannels; 583 - WORD wReserved1; 584 - GUID ManufacturerGuid; 585 - GUID ProductGuid; 586 - GUID NameGuid; 587 -} 588 -alias tagWAVEINCAPS2A WAVEINCAPS2A; 589 -alias tagWAVEINCAPS2A* PWAVEINCAPS2A; 590 -alias tagWAVEINCAPS2A* NPWAVEINCAPS2A; 591 -alias tagWAVEINCAPS2A* LPWAVEINCAPS2A; 592 - 593 -struct tagWAVEINCAPS2W { 594 - WORD wMid; 595 - WORD wPid; 596 - MMVERSION vDriverVersion; 597 - WCHAR szPname[MAXPNAMELEN]; 598 - DWORD dwFormats; 599 - WORD wChannels; 600 - WORD wReserved1; 601 - GUID ManufacturerGuid; 602 - GUID ProductGuid; 603 - GUID NameGuid; 604 -} 605 -alias tagWAVEINCAPS2W WAVEINCAPS2W; 606 -alias tagWAVEINCAPS2W* PWAVEINCAPS2W; 607 -alias tagWAVEINCAPS2W* NPWAVEINCAPS2W; 608 -alias tagWAVEINCAPS2W* LPWAVEINCAPS2W; 609 - 610 -// #ifdef UNICODE 611 -// ... 612 -// #else 613 -alias WAVEINCAPS2A WAVEINCAPS2; 614 -alias PWAVEINCAPS2A PWAVEINCAPS2; 615 -alias NPWAVEINCAPS2A NPWAVEINCAPS2; 616 -alias LPWAVEINCAPS2A LPWAVEINCAPS2; 617 -// #endif // UNICODE 618 - 619 -// #else 620 -// ... 621 -// #endif 622 - 623 -enum : uint { WAVE_INVALIDFORMAT = 0x00000000 } 624 -enum : uint { WAVE_FORMAT_1M08 = 0x00000001 } 625 -enum : uint { WAVE_FORMAT_1S08 = 0x00000002 } 626 -enum : uint { WAVE_FORMAT_1M16 = 0x00000004 } 627 -enum : uint { WAVE_FORMAT_1S16 = 0x00000008 } 628 -enum : uint { WAVE_FORMAT_2M08 = 0x00000010 } 629 -enum : uint { WAVE_FORMAT_2S08 = 0x00000020 } 630 -enum : uint { WAVE_FORMAT_2M16 = 0x00000040 } 631 -enum : uint { WAVE_FORMAT_2S16 = 0x00000080 } 632 -enum : uint { WAVE_FORMAT_4M08 = 0x00000100 } 633 -enum : uint { WAVE_FORMAT_4S08 = 0x00000200 } 634 -enum : uint { WAVE_FORMAT_4M16 = 0x00000400 } 635 -enum : uint { WAVE_FORMAT_4S16 = 0x00000800 } 636 - 637 -enum : uint { WAVE_FORMAT_44M08 = 0x00000100 } 638 -enum : uint { WAVE_FORMAT_44S08 = 0x00000200 } 639 -enum : uint { WAVE_FORMAT_44M16 = 0x00000400 } 640 -enum : uint { WAVE_FORMAT_44S16 = 0x00000800 } 641 -enum : uint { WAVE_FORMAT_48M08 = 0x00001000 } 642 -enum : uint { WAVE_FORMAT_48S08 = 0x00002000 } 643 -enum : uint { WAVE_FORMAT_48M16 = 0x00004000 } 644 -enum : uint { WAVE_FORMAT_48S16 = 0x00008000 } 645 -enum : uint { WAVE_FORMAT_96M08 = 0x00010000 } 646 -enum : uint { WAVE_FORMAT_96S08 = 0x00020000 } 647 -enum : uint { WAVE_FORMAT_96M16 = 0x00040000 } 648 -enum : uint { WAVE_FORMAT_96S16 = 0x00080000 } 649 - 650 -// #ifndef WAVE_FORMAT_PCM 651 - 652 -struct waveformat_tag { 653 - WORD wFormatTag; 654 - WORD nChannels; 655 - DWORD nSamplesPerSec; 656 - DWORD nAvgBytesPerSec; 657 - WORD nBlockAlign; 658 -} 659 -alias waveformat_tag WAVEFORMAT; 660 -alias waveformat_tag* PWAVEFORMAT; 661 -alias waveformat_tag* NPWAVEFORMAT; 662 -alias waveformat_tag* LPWAVEFORMAT; 663 - 664 -enum : uint { WAVE_FORMAT_PCM = 1 } 665 - 666 -struct pcmwaveformat_tag { 667 - WAVEFORMAT wf; 668 - WORD wBitsPerSample; 669 -} 670 -alias pcmwaveformat_tag PCMWAVEFORMAT; 671 -alias pcmwaveformat_tag* PPCMWAVEFORMAT; 672 -alias pcmwaveformat_tag* NPPCMWAVEFORMAT; 673 -alias pcmwaveformat_tag* LPPCMWAVEFORMAT; 674 - 675 -// #endif /* WAVE_FORMAT_PCM */ 676 - 677 -// #ifndef _WAVEFORMATEX_ 678 -// #define _WAVEFORMATEX_ 679 - 680 -struct tWAVEFORMATEX { 681 - WORD wFormatTag; 682 - WORD nChannels; 683 - DWORD nSamplesPerSec; 684 - DWORD nAvgBytesPerSec; 685 - WORD nBlockAlign; 686 - WORD wBitsPerSample; 687 - WORD cbSize; 688 - 689 -} 690 -alias tWAVEFORMATEX WAVEFORMATEX; 691 -alias tWAVEFORMATEX* PWAVEFORMATEX; 692 -alias tWAVEFORMATEX* NPWAVEFORMATEX; 693 -alias tWAVEFORMATEX* LPWAVEFORMATEX; 694 - 695 -// #endif /* _WAVEFORMATEX_ */ 696 -alias WAVEFORMATEX* LPCWAVEFORMATEX; 697 - 698 -extern(Windows) export UINT waveOutGetNumDevs(); 699 - 700 -// #ifdef _WIN32 701 - 702 -extern(Windows) export MMRESULT waveOutGetDevCapsA(UINT_PTR uDeviceID, LPWAVEOUTCAPSA pwoc, UINT cbwoc); 703 -extern(Windows) export MMRESULT waveOutGetDevCapsW(UINT_PTR uDeviceID, LPWAVEOUTCAPSW pwoc, UINT cbwoc); 704 -// #ifdef UNICODE 705 -// #... 706 -// #else 707 -alias waveOutGetDevCapsA waveOutGetDevCaps; 708 -// #endif // !UNICODE 709 - 710 -// #else 711 -// ... 712 -// #endif 713 - 714 -// #if (WINVER >= 0x0400) 715 -extern(Windows) export MMRESULT waveOutGetVolume(HWAVEOUT hwo, LPDWORD pdwVolume); 716 -extern(Windows) export MMRESULT waveOutSetVolume(HWAVEOUT hwo, DWORD dwVolume); 717 -// #else 718 -// ... 719 -// #endif 720 - 721 -// #ifdef _WIN32 722 - 723 -extern(Windows) export MMRESULT waveOutGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText); 724 -extern(Windows) export MMRESULT waveOutGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText); 725 -// #ifdef UNICODE 726 -// #... 727 -// #else 728 -alias waveOutGetErrorTextA waveOutGetErrorText; 729 -// #endif // !UNICODE 730 - 731 -// #else 732 -// ... 733 -// #endif 734 - 735 -extern(Windows) export MMRESULT waveOutOpen(LPHWAVEOUT phwo, UINT uDeviceID, 736 - LPCWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 737 - 738 -extern(Windows) export MMRESULT waveOutClose(HWAVEOUT hwo); 739 -extern(Windows) export MMRESULT waveOutPrepareHeader(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh); 740 -extern(Windows) export MMRESULT waveOutUnprepareHeader(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh); 741 -extern(Windows) export MMRESULT waveOutWrite(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh); 742 -extern(Windows) export MMRESULT waveOutPause(HWAVEOUT hwo); 743 -extern(Windows) export MMRESULT waveOutRestart(HWAVEOUT hwo); 744 -extern(Windows) export MMRESULT waveOutReset(HWAVEOUT hwo); 745 -extern(Windows) export MMRESULT waveOutBreakLoop(HWAVEOUT hwo); 746 -extern(Windows) export MMRESULT waveOutGetPosition(HWAVEOUT hwo, LPMMTIME pmmt, UINT cbmmt); 747 -extern(Windows) export MMRESULT waveOutGetPitch(HWAVEOUT hwo, LPDWORD pdwPitch); 748 -extern(Windows) export MMRESULT waveOutSetPitch(HWAVEOUT hwo, DWORD dwPitch); 749 -extern(Windows) export MMRESULT waveOutGetPlaybackRate(HWAVEOUT hwo, LPDWORD pdwRate); 750 -extern(Windows) export MMRESULT waveOutSetPlaybackRate(HWAVEOUT hwo, DWORD dwRate); 751 -extern(Windows) export MMRESULT waveOutGetID(HWAVEOUT hwo, LPUINT puDeviceID); 752 - 753 -// #if (WINVER >= 0x030a) 754 -// #ifdef _WIN32 755 -extern(Windows) export MMRESULT waveOutMessage(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 756 -// #else 757 -// ... 758 -// #endif 759 -// #endif /* ifdef WINVER >= 0x030a */ 760 - 761 -extern(Windows) export UINT waveInGetNumDevs(); 762 - 763 -// #ifdef _WIN32 764 - 765 -extern(Windows) export MMRESULT waveInGetDevCapsA(UINT_PTR uDeviceID, LPWAVEINCAPSA pwic, UINT cbwic); 766 -extern(Windows) export MMRESULT waveInGetDevCapsW(UINT_PTR uDeviceID, LPWAVEINCAPSW pwic, UINT cbwic); 767 -// #ifdef UNICODE 768 -// #... 769 -// #else 770 -alias waveInGetDevCapsA waveInGetDevCaps; 771 -// #endif // !UNICODE 772 - 773 -// #else 774 -// ... 775 -// #endif 776 - 777 -// #ifdef _WIN32 778 - 779 -extern(Windows) export MMRESULT waveInGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText); 780 -extern(Windows) export MMRESULT waveInGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText); 781 -// #ifdef UNICODE 782 -// #... 783 -// #else 784 -alias waveInGetErrorTextA waveInGetErrorText; 785 -// #endif // !UNICODE 786 - 787 -// #else 788 -// ... 789 -// #endif 790 - 791 -extern(Windows) export MMRESULT waveInOpen(LPHWAVEIN phwi, UINT uDeviceID, 792 - LPCWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 793 - 794 -extern(Windows) export MMRESULT waveInClose(HWAVEIN hwi); 795 -extern(Windows) export MMRESULT waveInPrepareHeader(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh); 796 -extern(Windows) export MMRESULT waveInUnprepareHeader(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh); 797 -extern(Windows) export MMRESULT waveInAddBuffer(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh); 798 -extern(Windows) export MMRESULT waveInStart(HWAVEIN hwi); 799 -extern(Windows) export MMRESULT waveInStop(HWAVEIN hwi); 800 -extern(Windows) export MMRESULT waveInReset(HWAVEIN hwi); 801 -extern(Windows) export MMRESULT waveInGetPosition(HWAVEIN hwi, LPMMTIME pmmt, UINT cbmmt); 802 -extern(Windows) export MMRESULT waveInGetID(HWAVEIN hwi, LPUINT puDeviceID); 803 - 804 -// #if (WINVER >= 0x030a) 805 -// #ifdef _WIN32 806 -extern(Windows) export MMRESULT waveInMessage(HWAVEIN hwi, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 807 -// #else 808 -// ... 809 -// #endif 810 -// #endif /* ifdef WINVER >= 0x030a */ 811 - 812 -// #endif /* ifndef MMNOWAVE */ 813 - 814 -// #ifndef MMNOMIDI 815 - 816 -enum : uint { MIDIERR_UNPREPARED = MIDIERR_BASE + 0 } 817 -enum : uint { MIDIERR_STILLPLAYING = MIDIERR_BASE + 1 } 818 -enum : uint { MIDIERR_NOMAP = MIDIERR_BASE + 2 } 819 -enum : uint { MIDIERR_NOTREADY = MIDIERR_BASE + 3 } 820 -enum : uint { MIDIERR_NODEVICE = MIDIERR_BASE + 4 } 821 -enum : uint { MIDIERR_INVALIDSETUP = MIDIERR_BASE + 5 } 822 -enum : uint { MIDIERR_BADOPENMODE = MIDIERR_BASE + 6 } 823 -enum : uint { MIDIERR_DONT_CONTINUE = MIDIERR_BASE + 7 } 824 -enum : uint { MIDIERR_LASTERROR = MIDIERR_BASE + 7 } 825 - 826 -alias void* HMIDI; 827 -alias void* HMIDIIN; 828 -alias void* HMIDIOUT; 829 -alias void* HMIDISTRM; 830 -alias HMIDI* LPHMIDI; 831 -alias HMIDIIN* LPHMIDIIN; 832 -alias HMIDIOUT* LPHMIDIOUT; 833 -alias HMIDISTRM* LPHMIDISTRM; 834 -// typedef DRVCALLBACK MIDICALLBACK; 835 -alias LPDRVCALLBACK LPMIDICALLBACK; 836 -enum : uint { MIDIPATCHSIZE = 128 } 837 -alias WORD PATCHARRAY[MIDIPATCHSIZE]; 838 -alias WORD* LPPATCHARRAY; 839 -alias WORD KEYARRAY[MIDIPATCHSIZE]; 840 -alias WORD* LPKEYARRAY; 841 - 842 -alias MM_MIM_OPEN MIM_OPEN; 843 -alias MM_MIM_CLOSE MIM_CLOSE; 844 -alias MM_MIM_DATA MIM_DATA; 845 -alias MM_MIM_LONGDATA MIM_LONGDATA; 846 -alias MM_MIM_ERROR MIM_ERROR; 847 -alias MM_MIM_LONGERROR MIM_LONGERROR; 848 -alias MM_MOM_OPEN MOM_OPEN; 849 -alias MM_MOM_CLOSE MOM_CLOSE; 850 -alias MM_MOM_DONE MOM_DONE; 851 - 852 -// #if(WINVER >= 0x0400) 853 -alias MM_MIM_MOREDATA MIM_MOREDATA; 854 -alias MM_MOM_POSITIONCB MOM_POSITIONCB; 855 -// #endif /* WINVER >= 0x0400 */ 856 - 857 -enum : uint { MIDIMAPPER = cast(UINT)-1 } 858 -enum : uint { MIDI_MAPPER = cast(UINT)-1 } 859 - 860 -// #if(WINVER >= 0x0400) 861 - 862 -enum : uint { MIDI_IO_STATUS = 0x00000020 } 863 -// #endif /* WINVER >= 0x0400 */ 864 - 865 -enum : uint { MIDI_CACHE_ALL = 1 } 866 -enum : uint { MIDI_CACHE_BESTFIT = 2 } 867 -enum : uint { MIDI_CACHE_QUERY = 3 } 868 -enum : uint { MIDI_UNCACHE = 4 } 869 - 870 -// #ifdef _WIN32 871 - 872 -struct tagMIDIOUTCAPSA { 873 - WORD wMid; 874 - WORD wPid; 875 - MMVERSION vDriverVersion; 876 - CHAR szPname[MAXPNAMELEN]; 877 - WORD wTechnology; 878 - WORD wVoices; 879 - WORD wNotes; 880 - WORD wChannelMask; 881 - DWORD dwSupport; 882 -} 883 -alias tagMIDIOUTCAPSA MIDIOUTCAPSA; 884 -alias tagMIDIOUTCAPSA* PMIDIOUTCAPSA; 885 -alias tagMIDIOUTCAPSA* NPMIDIOUTCAPSA; 886 -alias tagMIDIOUTCAPSA* LPMIDIOUTCAPSA; 887 - 888 -struct tagMIDIOUTCAPSW { 889 - WORD wMid; 890 - WORD wPid; 891 - MMVERSION vDriverVersion; 892 - WCHAR szPname[MAXPNAMELEN]; 893 - WORD wTechnology; 894 - WORD wVoices; 895 - WORD wNotes; 896 - WORD wChannelMask; 897 - DWORD dwSupport; 898 -} 899 -alias tagMIDIOUTCAPSW MIDIOUTCAPSW; 900 -alias tagMIDIOUTCAPSW* PMIDIOUTCAPSW; 901 -alias tagMIDIOUTCAPSW* NPMIDIOUTCAPSW; 902 -alias tagMIDIOUTCAPSW* LPMIDIOUTCAPSW; 903 - 904 -// #ifdef UNICODE 905 -// ... 906 -// #else 907 -alias MIDIOUTCAPSA MIDIOUTCAPS; 908 -alias PMIDIOUTCAPSA PMIDIOUTCAPS; 909 -alias NPMIDIOUTCAPSA NPMIDIOUTCAPS; 910 -alias LPMIDIOUTCAPSA LPMIDIOUTCAPS; 911 -// #endif // UNICODE 912 -struct tagMIDIOUTCAPS2A { 913 - WORD wMid; 914 - WORD wPid; 915 - MMVERSION vDriverVersion; 916 - CHAR szPname[MAXPNAMELEN]; 917 - WORD wTechnology; 918 - WORD wVoices; 919 - WORD wNotes; 920 - WORD wChannelMask; 921 - DWORD dwSupport; 922 - GUID ManufacturerGuid; 923 - GUID ProductGuid; 924 - GUID NameGuid; 925 -} 926 -alias tagMIDIOUTCAPS2A MIDIOUTCAPS2A; 927 -alias tagMIDIOUTCAPS2A* PMIDIOUTCAPS2A; 928 -alias tagMIDIOUTCAPS2A* NPMIDIOUTCAPS2A; 929 -alias tagMIDIOUTCAPS2A* LPMIDIOUTCAPS2A; 930 - 931 -struct tagMIDIOUTCAPS2W { 932 - WORD wMid; 933 - WORD wPid; 934 - MMVERSION vDriverVersion; 935 - WCHAR szPname[MAXPNAMELEN]; 936 - WORD wTechnology; 937 - WORD wVoices; 938 - WORD wNotes; 939 - WORD wChannelMask; 940 - DWORD dwSupport; 941 - GUID ManufacturerGuid; 942 - GUID ProductGuid; 943 - GUID NameGuid; 944 -} 945 -alias tagMIDIOUTCAPS2W MIDIOUTCAPS2W; 946 -alias tagMIDIOUTCAPS2W* PMIDIOUTCAPS2W; 947 -alias tagMIDIOUTCAPS2W* NPMIDIOUTCAPS2W; 948 -alias tagMIDIOUTCAPS2W* LPMIDIOUTCAPS2W; 949 - 950 -// #ifdef UNICODE 951 -// ... 952 -// #else 953 -alias MIDIOUTCAPS2A MIDIOUTCAPS2; 954 -alias PMIDIOUTCAPS2A PMIDIOUTCAPS2; 955 -alias NPMIDIOUTCAPS2A NPMIDIOUTCAPS2; 956 -alias LPMIDIOUTCAPS2A LPMIDIOUTCAPS2; 957 -// #endif // UNICODE 958 - 959 -// #else 960 -// ... 961 -// #endif 962 - 963 -enum : uint { MOD_MIDIPORT = 1 } 964 -enum : uint { MOD_SYNTH = 2 } 965 -enum : uint { MOD_SQSYNTH = 3 } 966 -enum : uint { MOD_FMSYNTH = 4 } 967 -enum : uint { MOD_MAPPER = 5 } 968 -enum : uint { MOD_WAVETABLE = 6 } 969 -enum : uint { MOD_SWSYNTH = 7 } 970 - 971 -enum : uint { MIDICAPS_VOLUME = 0x0001 } 972 -enum : uint { MIDICAPS_LRVOLUME = 0x0002 } 973 -enum : uint { MIDICAPS_CACHE = 0x0004 } 974 -// #if(WINVER >= 0x0400) 975 -enum : uint { MIDICAPS_STREAM = 0x0008 } 976 -// #endif /* WINVER >= 0x0400 */ 977 - 978 -// #ifdef _WIN32 979 - 980 -struct tagMIDIINCAPSA { 981 - WORD wMid; 982 - WORD wPid; 983 - MMVERSION vDriverVersion; 984 - CHAR szPname[MAXPNAMELEN]; 985 -// #if (WINVER >= 0x0400) 986 - DWORD dwSupport; 987 -// #endif 988 -} 989 -alias tagMIDIINCAPSA MIDIINCAPSA; 990 -alias tagMIDIINCAPSA* PMIDIINCAPSA; 991 -alias tagMIDIINCAPSA* NPMIDIINCAPSA; 992 -alias tagMIDIINCAPSA* LPMIDIINCAPSA; 993 - 994 -struct tagMIDIINCAPSW { 995 - WORD wMid; 996 - WORD wPid; 997 - MMVERSION vDriverVersion; 998 - WCHAR szPname[MAXPNAMELEN]; 999 -// #if (WINVER >= 0x0400) 1000 - DWORD dwSupport; 1001 -// #endif 1002 -} 1003 -alias tagMIDIINCAPSW MIDIINCAPSW; 1004 -alias tagMIDIINCAPSW* PMIDIINCAPSW; 1005 -alias tagMIDIINCAPSW* NPMIDIINCAPSW; 1006 -alias tagMIDIINCAPSW* LPMIDIINCAPSW; 1007 - 1008 -// #ifdef UNICODE 1009 -// ... 1010 -// #else 1011 -alias MIDIINCAPSA MIDIINCAPS; 1012 -alias PMIDIINCAPSA PMIDIINCAPS; 1013 -alias NPMIDIINCAPSA NPMIDIINCAPS; 1014 -alias LPMIDIINCAPSA LPMIDIINCAPS; 1015 -// #endif // UNICODE 1016 -struct tagMIDIINCAPS2A { 1017 - WORD wMid; 1018 - WORD wPid; 1019 - MMVERSION vDriverVersion; 1020 - CHAR szPname[MAXPNAMELEN]; 1021 -// #if (WINVER >= 0x0400) 1022 - DWORD dwSupport; 1023 -// #endif 1024 - GUID ManufacturerGuid; 1025 - GUID ProductGuid; 1026 - GUID NameGuid; 1027 -} 1028 -alias tagMIDIINCAPS2A MIDIINCAPS2A; 1029 -alias tagMIDIINCAPS2A* PMIDIINCAPS2A; 1030 -alias tagMIDIINCAPS2A* NPMIDIINCAPS2A; 1031 -alias tagMIDIINCAPS2A* LPMIDIINCAPS2A; 1032 - 1033 -struct tagMIDIINCAPS2W { 1034 - WORD wMid; 1035 - WORD wPid; 1036 - MMVERSION vDriverVersion; 1037 - WCHAR szPname[MAXPNAMELEN]; 1038 -// #if (WINVER >= 0x0400) 1039 - DWORD dwSupport; 1040 -// #endif 1041 - GUID ManufacturerGuid; 1042 - GUID ProductGuid; 1043 - GUID NameGuid; 1044 -} 1045 -alias tagMIDIINCAPS2W MIDIINCAPS2W; 1046 -alias tagMIDIINCAPS2W* PMIDIINCAPS2W; 1047 -alias tagMIDIINCAPS2W* NPMIDIINCAPS2W; 1048 -alias tagMIDIINCAPS2W* LPMIDIINCAPS2W; 1049 - 1050 -// #ifdef UNICODE 1051 -// ... 1052 -// #else 1053 -alias MIDIINCAPS2A MIDIINCAPS2; 1054 -alias PMIDIINCAPS2A PMIDIINCAPS2; 1055 -alias NPMIDIINCAPS2A NPMIDIINCAPS2; 1056 -alias LPMIDIINCAPS2A LPMIDIINCAPS2; 1057 -// #endif // UNICODE 1058 - 1059 -// #else 1060 -// ... 1061 -// #if (WINVER >= 0x0400) 1062 -// ... 1063 -// #endif 1064 -// ... 1065 -// #endif 1066 - 1067 -struct midihdr_tag { 1068 - LPSTR lpData; 1069 - DWORD dwBufferLength; 1070 - DWORD dwBytesRecorded; 1071 - DWORD_PTR dwUser; 1072 - DWORD dwFlags; 1073 - midihdr_tag *lpNext; 1074 - DWORD_PTR reserved; 1075 -// #if (WINVER >= 0x0400) 1076 - DWORD dwOffset; 1077 - DWORD_PTR dwReserved[8]; 1078 -// #endif 1079 -} 1080 -alias midihdr_tag MIDIHDR; 1081 -alias midihdr_tag* PMIDIHDR; 1082 -alias midihdr_tag* NPMIDIHDR; 1083 -alias midihdr_tag* LPMIDIHDR; 1084 - 1085 -// #if(WINVER >= 0x0400) 1086 -struct midievent_tag { 1087 - DWORD dwDeltaTime; 1088 - DWORD dwStreamID; 1089 - DWORD dwEvent; 1090 - DWORD dwParms[1]; 1091 -} 1092 -alias midievent_tag MIDIEVENT; 1093 - 1094 -struct midistrmbuffver_tag { 1095 - DWORD dwVersion; 1096 - DWORD dwMid; 1097 - DWORD dwOEMVersion; 1098 -} 1099 -alias midistrmbuffver_tag MIDISTRMBUFFVER; 1100 - 1101 -// #endif /* WINVER >= 0x0400 */ 1102 - 1103 -enum : uint { MHDR_DONE = 0x00000001 } 1104 -enum : uint { MHDR_PREPARED = 0x00000002 } 1105 -enum : uint { MHDR_INQUEUE = 0x00000004 } 1106 -enum : uint { MHDR_ISSTRM = 0x00000008 } 1107 -// #if(WINVER >= 0x0400) 1108 - 1109 -enum : uint { MEVT_F_SHORT = 0x00000000 } 1110 -enum : uint { MEVT_F_LONG = 0x80000000 } 1111 -enum : uint { MEVT_F_CALLBACK = 0x40000000 } 1112 - 1113 -// #define MEVT_EVENTTYPE(x) ((BYTE)(((x)>>24)&0xFF)) 1114 -// #define MEVT_EVENTPARM(x) ((DWORD)((x)&0x00FFFFFFL)) 1115 - 1116 -enum : BYTE { MEVT_SHORTMSG = 0x00 } 1117 -enum : BYTE { MEVT_TEMPO = 0x01 } 1118 -enum : BYTE { MEVT_NOP = 0x02 } 1119 - 1120 -enum : BYTE { MEVT_LONGMSG = 0x80 } 1121 -enum : BYTE { MEVT_COMMENT = 0x82 } 1122 -enum : BYTE { MEVT_VERSION = 0x84 } 1123 - 1124 -enum { MIDISTRM_ERROR = -2 } 1125 - 1126 -enum : uint { MIDIPROP_SET = 0x80000000 } 1127 -enum : uint { MIDIPROP_GET = 0x40000000 } 1128 - 1129 -enum : uint { MIDIPROP_TIMEDIV = 0x00000001 } 1130 -enum : uint { MIDIPROP_TEMPO = 0x00000002 } 1131 - 1132 -struct midiproptimediv_tag { 1133 - DWORD cbStruct; 1134 - DWORD dwTimeDiv; 1135 -} 1136 -alias midiproptimediv_tag MIDIPROPTIMEDIV; 1137 -alias midiproptimediv_tag* LPMIDIPROPTIMEDIV; 1138 - 1139 -struct midiproptempo_tag { 1140 - DWORD cbStruct; 1141 - DWORD dwTempo; 1142 -} 1143 -alias midiproptempo_tag MIDIPROPTEMPO; 1144 -alias midiproptempo_tag* LPMIDIPROPTEMPO; 1145 - 1146 -// #endif /* WINVER >= 0x0400 */ 1147 - 1148 -extern(Windows) export UINT midiOutGetNumDevs(); 1149 -// #if(WINVER >= 0x0400) 1150 -extern(Windows) export MMRESULT midiStreamOpen(LPHMIDISTRM phms, LPUINT puDeviceID, DWORD cMidi, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 1151 -extern(Windows) export MMRESULT midiStreamClose(HMIDISTRM hms); 1152 - 1153 -extern(Windows) export MMRESULT midiStreamProperty(HMIDISTRM hms, LPBYTE lppropdata, DWORD dwProperty); 1154 -extern(Windows) export MMRESULT midiStreamPosition(HMIDISTRM hms, LPMMTIME lpmmt, UINT cbmmt); 1155 - 1156 -extern(Windows) export MMRESULT midiStreamOut(HMIDISTRM hms, LPMIDIHDR pmh, UINT cbmh); 1157 -extern(Windows) export MMRESULT midiStreamPause(HMIDISTRM hms); 1158 -extern(Windows) export MMRESULT midiStreamRestart(HMIDISTRM hms); 1159 -extern(Windows) export MMRESULT midiStreamStop(HMIDISTRM hms); 1160 - 1161 -// #ifdef _WIN32 1162 -extern(Windows) export MMRESULT midiConnect(HMIDI hmi, HMIDIOUT hmo, LPVOID pReserved); 1163 -extern(Windows) export MMRESULT midiDisconnect(HMIDI hmi, HMIDIOUT hmo, LPVOID pReserved); 1164 -// #endif 1165 -// #endif /* WINVER >= 0x0400 */ 1166 - 1167 -// #ifdef _WIN32 1168 - 1169 -extern(Windows) export MMRESULT midiOutGetDevCapsA(UINT_PTR uDeviceID, LPMIDIOUTCAPSA pmoc, UINT cbmoc); 1170 -extern(Windows) export MMRESULT midiOutGetDevCapsW(UINT_PTR uDeviceID, LPMIDIOUTCAPSW pmoc, UINT cbmoc); 1171 -// #ifdef UNICODE 1172 -// #... 1173 -// #else 1174 -alias midiOutGetDevCapsA midiOutGetDevCaps; 1175 -// #endif // !UNICODE 1176 - 1177 -// #else 1178 -// ... 1179 -// #endif 1180 - 1181 -// #if (WINVER >= 0x0400) 1182 -extern(Windows) export MMRESULT midiOutGetVolume(HMIDIOUT hmo, LPDWORD pdwVolume); 1183 -extern(Windows) export MMRESULT midiOutSetVolume(HMIDIOUT hmo, DWORD dwVolume); 1184 -// #else 1185 -// ... 1186 -// #endif 1187 - 1188 -// #ifdef _WIN32 1189 - 1190 -extern(Windows) export MMRESULT midiOutGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText); 1191 -extern(Windows) export MMRESULT midiOutGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText); 1192 -// #ifdef UNICODE 1193 -// #... 1194 -// #else 1195 -alias midiOutGetErrorTextA midiOutGetErrorText; 1196 -// #endif // !UNICODE 1197 - 1198 -// #else 1199 -// ... 1200 -// #endif 1201 - 1202 -extern(Windows) export MMRESULT midiOutOpen(LPHMIDIOUT phmo, UINT uDeviceID, 1203 - DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 1204 -extern(Windows) export MMRESULT midiOutClose(HMIDIOUT hmo); 1205 -extern(Windows) export MMRESULT midiOutPrepareHeader(HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh); 1206 -extern(Windows) export MMRESULT midiOutUnprepareHeader(HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh); 1207 -extern(Windows) export MMRESULT midiOutShortMsg(HMIDIOUT hmo, DWORD dwMsg); 1208 -extern(Windows) export MMRESULT midiOutLongMsg(HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh); 1209 -extern(Windows) export MMRESULT midiOutReset(HMIDIOUT hmo); 1210 -extern(Windows) export MMRESULT midiOutCachePatches(HMIDIOUT hmo, UINT uBank, LPWORD pwpa, UINT fuCache); 1211 -extern(Windows) export MMRESULT midiOutCacheDrumPatches(HMIDIOUT hmo, UINT uPatch, LPWORD pwkya, UINT fuCache); 1212 -extern(Windows) export MMRESULT midiOutGetID(HMIDIOUT hmo, LPUINT puDeviceID); 1213 - 1214 -// #if (WINVER >= 0x030a) 1215 -// #ifdef _WIN32 1216 -extern(Windows) export MMRESULT midiOutMessage(HMIDIOUT hmo, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 1217 -// #else 1218 -// ... 1219 -// #endif 1220 -// #endif /* ifdef WINVER >= 0x030a */ 1221 - 1222 -extern(Windows) export UINT midiInGetNumDevs(); 1223 - 1224 -// #ifdef _WIN32 1225 - 1226 -extern(Windows) export MMRESULT midiInGetDevCapsA(UINT_PTR uDeviceID, LPMIDIINCAPSA pmic, UINT cbmic); 1227 -extern(Windows) export MMRESULT midiInGetDevCapsW(UINT_PTR uDeviceID, LPMIDIINCAPSW pmic, UINT cbmic); 1228 -// #ifdef UNICODE 1229 -// #... 1230 -// #else 1231 -alias midiInGetDevCapsA midiInGetDevCaps; 1232 -// #endif // !UNICODE 1233 -extern(Windows) export MMRESULT midiInGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText); 1234 -extern(Windows) export MMRESULT midiInGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText); 1235 -// #ifdef UNICODE 1236 -// #... 1237 -// #else 1238 -alias midiInGetErrorTextA midiInGetErrorText; 1239 -// #endif // !UNICODE 1240 - 1241 -// #else 1242 -// ... 1243 -// #endif 1244 - 1245 -extern(Windows) export MMRESULT midiInOpen(LPHMIDIIN phmi, UINT uDeviceID, 1246 - DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 1247 -extern(Windows) export MMRESULT midiInClose(HMIDIIN hmi); 1248 -extern(Windows) export MMRESULT midiInPrepareHeader(HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh); 1249 -extern(Windows) export MMRESULT midiInUnprepareHeader(HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh); 1250 -extern(Windows) export MMRESULT midiInAddBuffer(HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh); 1251 -extern(Windows) export MMRESULT midiInStart(HMIDIIN hmi); 1252 -extern(Windows) export MMRESULT midiInStop(HMIDIIN hmi); 1253 -extern(Windows) export MMRESULT midiInReset(HMIDIIN hmi); 1254 -extern(Windows) export MMRESULT midiInGetID(HMIDIIN hmi, LPUINT puDeviceID); 1255 - 1256 -// #if (WINVER >= 0x030a) 1257 -// #ifdef _WIN32 1258 -extern(Windows) export MMRESULT midiInMessage(HMIDIIN hmi, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 1259 -// #else 1260 -// ... 1261 -// #endif 1262 -// #endif /* ifdef WINVER >= 0x030a */ 1263 - 1264 -// #endif /* ifndef MMNOMIDI */ 1265 - 1266 -// #ifndef MMNOAUX 1267 - 1268 -enum : uint { AUX_MAPPER = cast(UINT)-1 } 1269 - 1270 -// #ifdef _WIN32 1271 - 1272 -struct tagAUXCAPSA { 1273 - WORD wMid; 1274 - WORD wPid; 1275 - MMVERSION vDriverVersion; 1276 - CHAR szPname[MAXPNAMELEN]; 1277 - WORD wTechnology; 1278 - WORD wReserved1; 1279 - DWORD dwSupport; 1280 -} 1281 -alias tagAUXCAPSA AUXCAPSA; 1282 -alias tagAUXCAPSA* PAUXCAPSA; 1283 -alias tagAUXCAPSA* NPAUXCAPSA; 1284 -alias tagAUXCAPSA* LPAUXCAPSA; 1285 - 1286 -struct tagAUXCAPSW { 1287 - WORD wMid; 1288 - WORD wPid; 1289 - MMVERSION vDriverVersion; 1290 - WCHAR szPname[MAXPNAMELEN]; 1291 - WORD wTechnology; 1292 - WORD wReserved1; 1293 - DWORD dwSupport; 1294 -} 1295 -alias tagAUXCAPSW AUXCAPSW; 1296 -alias tagAUXCAPSW* PAUXCAPSW; 1297 -alias tagAUXCAPSW* NPAUXCAPSW; 1298 -alias tagAUXCAPSW* LPAUXCAPSW; 1299 - 1300 -// #ifdef UNICODE 1301 -// ... 1302 -// #else 1303 -alias AUXCAPSA AUXCAPS; 1304 -alias PAUXCAPSA PAUXCAPS; 1305 -alias NPAUXCAPSA NPAUXCAPS; 1306 -alias LPAUXCAPSA LPAUXCAPS; 1307 -// #endif // UNICODE 1308 -struct tagAUXCAPS2A { 1309 - WORD wMid; 1310 - WORD wPid; 1311 - MMVERSION vDriverVersion; 1312 - CHAR szPname[MAXPNAMELEN]; 1313 - WORD wTechnology; 1314 - WORD wReserved1; 1315 - DWORD dwSupport; 1316 - GUID ManufacturerGuid; 1317 - GUID ProductGuid; 1318 - GUID NameGuid; 1319 -} 1320 -alias tagAUXCAPS2A AUXCAPS2A; 1321 -alias tagAUXCAPS2A* PAUXCAPS2A; 1322 -alias tagAUXCAPS2A* NPAUXCAPS2A; 1323 -alias tagAUXCAPS2A* LPAUXCAPS2A; 1324 - 1325 -struct tagAUXCAPS2W { 1326 - WORD wMid; 1327 - WORD wPid; 1328 - MMVERSION vDriverVersion; 1329 - WCHAR szPname[MAXPNAMELEN]; 1330 - WORD wTechnology; 1331 - WORD wReserved1; 1332 - DWORD dwSupport; 1333 - GUID ManufacturerGuid; 1334 - GUID ProductGuid; 1335 - GUID NameGuid; 1336 -} 1337 -alias tagAUXCAPS2W AUXCAPS2W; 1338 -alias tagAUXCAPS2W* PAUXCAPS2W; 1339 -alias tagAUXCAPS2W* NPAUXCAPS2W; 1340 -alias tagAUXCAPS2W* LPAUXCAPS2W; 1341 - 1342 -// #ifdef UNICODE 1343 -// ... 1344 -// #else 1345 -alias AUXCAPS2A AUXCAPS2; 1346 -alias PAUXCAPS2A PAUXCAPS2; 1347 -alias NPAUXCAPS2A NPAUXCAPS2; 1348 -alias LPAUXCAPS2A LPAUXCAPS2; 1349 -// #endif // UNICODE 1350 - 1351 -// #else 1352 -// ... 1353 -// #endif 1354 - 1355 -enum : uint { AUXCAPS_CDAUDIO = 1 } 1356 -enum : uint { AUXCAPS_AUXIN = 2 } 1357 - 1358 -enum : uint { AUXCAPS_VOLUME = 0x0001 } 1359 -enum : uint { AUXCAPS_LRVOLUME = 0x0002 } 1360 - 1361 -extern(Windows) export UINT auxGetNumDevs(); 1362 -// #ifdef _WIN32 1363 - 1364 -extern(Windows) export MMRESULT auxGetDevCapsA(UINT_PTR uDeviceID, LPAUXCAPSA pac, UINT cbac); 1365 -extern(Windows) export MMRESULT auxGetDevCapsW(UINT_PTR uDeviceID, LPAUXCAPSW pac, UINT cbac); 1366 -// #ifdef UNICODE 1367 -// #... 1368 -// #else 1369 -alias auxGetDevCapsA auxGetDevCaps; 1370 -// #endif // !UNICODE 1371 - 1372 -// #else 1373 -// ... 1374 -// #endif 1375 -extern(Windows) export MMRESULT auxSetVolume(UINT uDeviceID, DWORD dwVolume); 1376 -extern(Windows) export MMRESULT auxGetVolume(UINT uDeviceID, LPDWORD pdwVolume); 1377 - 1378 -// #if (WINVER >= 0x030a) 1379 -// #ifdef _WIN32 1380 -extern(Windows) export MMRESULT auxOutMessage(UINT uDeviceID, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 1381 -// #else 1382 -// ... 1383 -// #endif 1384 -// #endif /* ifdef WINVER >= 0x030a */ 1385 - 1386 -// #endif /* ifndef MMNOAUX */ 1387 - 1388 -// #ifndef MMNOMIXER 1389 - 1390 -alias void* HMIXEROBJ; 1391 -alias HMIXEROBJ* LPHMIXEROBJ; 1392 - 1393 -alias void* HMIXER; 1394 -alias HMIXER* LPHMIXER; 1395 - 1396 -enum : uint { MIXER_SHORT_NAME_CHARS = 16 } 1397 -enum : uint { MIXER_LONG_NAME_CHARS = 64 } 1398 - 1399 -enum : uint { MIXERR_INVALLINE = MIXERR_BASE + 0 } 1400 -enum : uint { MIXERR_INVALCONTROL = MIXERR_BASE + 1 } 1401 -enum : uint { MIXERR_INVALVALUE = MIXERR_BASE + 2 } 1402 -enum : uint { MIXERR_LASTERROR = MIXERR_BASE + 2 } 1403 - 1404 -enum : uint { MIXER_OBJECTF_HANDLE = 0x80000000 } 1405 -enum : uint { MIXER_OBJECTF_MIXER = 0x00000000 } 1406 -enum : uint { MIXER_OBJECTF_HMIXER = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER } 1407 -enum : uint { MIXER_OBJECTF_WAVEOUT = 0x10000000 } 1408 -enum : uint { MIXER_OBJECTF_HWAVEOUT = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT } 1409 -enum : uint { MIXER_OBJECTF_WAVEIN = 0x20000000 } 1410 -enum : uint { MIXER_OBJECTF_HWAVEIN = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN } 1411 -enum : uint { MIXER_OBJECTF_MIDIOUT = 0x30000000 } 1412 -enum : uint { MIXER_OBJECTF_HMIDIOUT = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT } 1413 -enum : uint { MIXER_OBJECTF_MIDIIN = 0x40000000 } 1414 -enum : uint { MIXER_OBJECTF_HMIDIIN = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN } 1415 -enum : uint { MIXER_OBJECTF_AUX = 0x50000000 } 1416 - 1417 -extern(Windows) export UINT mixerGetNumDevs(); 1418 - 1419 -// #ifdef _WIN32 1420 - 1421 -struct tagMIXERCAPSA { 1422 - WORD wMid; 1423 - WORD wPid; 1424 - MMVERSION vDriverVersion; 1425 - CHAR szPname[MAXPNAMELEN]; 1426 - DWORD fdwSupport; 1427 - DWORD cDestinations; 1428 -} 1429 -alias tagMIXERCAPSA MIXERCAPSA; 1430 -alias tagMIXERCAPSA* PMIXERCAPSA; 1431 -alias tagMIXERCAPSA* LPMIXERCAPSA; 1432 - 1433 -struct tagMIXERCAPSW { 1434 - WORD wMid; 1435 - WORD wPid; 1436 - MMVERSION vDriverVersion; 1437 - WCHAR szPname[MAXPNAMELEN]; 1438 - DWORD fdwSupport; 1439 - DWORD cDestinations; 1440 -} 1441 -alias tagMIXERCAPSW MIXERCAPSW; 1442 -alias tagMIXERCAPSW* PMIXERCAPSW; 1443 -alias tagMIXERCAPSW* LPMIXERCAPSW; 1444 - 1445 -// #ifdef UNICODE 1446 -// ... 1447 -// #else 1448 -alias MIXERCAPSA MIXERCAPS; 1449 -alias PMIXERCAPSA PMIXERCAPS; 1450 -alias LPMIXERCAPSA LPMIXERCAPS; 1451 -// #endif // UNICODE 1452 -struct tagMIXERCAPS2A { 1453 - WORD wMid; 1454 - WORD wPid; 1455 - MMVERSION vDriverVersion; 1456 - CHAR szPname[MAXPNAMELEN]; 1457 - DWORD fdwSupport; 1458 - DWORD cDestinations; 1459 - GUID ManufacturerGuid; 1460 - GUID ProductGuid; 1461 - GUID NameGuid; 1462 -} 1463 -alias tagMIXERCAPS2A MIXERCAPS2A; 1464 -alias tagMIXERCAPS2A* PMIXERCAPS2A; 1465 -alias tagMIXERCAPS2A* LPMIXERCAPS2A; 1466 - 1467 -struct tagMIXERCAPS2W { 1468 - WORD wMid; 1469 - WORD wPid; 1470 - MMVERSION vDriverVersion; 1471 - WCHAR szPname[MAXPNAMELEN]; 1472 - DWORD fdwSupport; 1473 - DWORD cDestinations; 1474 - GUID ManufacturerGuid; 1475 - GUID ProductGuid; 1476 - GUID NameGuid; 1477 -} 1478 -alias tagMIXERCAPS2W MIXERCAPS2W; 1479 -alias tagMIXERCAPS2W* PMIXERCAPS2W; 1480 -alias tagMIXERCAPS2W* LPMIXERCAPS2W; 1481 - 1482 -// #ifdef UNICODE 1483 -// ... 1484 -// #else 1485 -alias MIXERCAPS2A MIXERCAPS2; 1486 -alias PMIXERCAPS2A PMIXERCAPS2; 1487 -alias LPMIXERCAPS2A LPMIXERCAPS2; 1488 -// #endif // UNICODE 1489 - 1490 -// #else 1491 -// ... 1492 -// #endif 1493 - 1494 -// #ifdef _WIN32 1495 - 1496 -extern(Windows) export MMRESULT mixerGetDevCapsA(UINT_PTR uMxId, LPMIXERCAPSA pmxcaps, UINT cbmxcaps); 1497 -extern(Windows) export MMRESULT mixerGetDevCapsW(UINT_PTR uMxId, LPMIXERCAPSW pmxcaps, UINT cbmxcaps); 1498 -// #ifdef UNICODE 1499 -// #... 1500 -// #else 1501 -alias mixerGetDevCapsA mixerGetDevCaps; 1502 -// #endif // !UNICODE 1503 - 1504 -// #else 1505 -// ... 1506 -// #endif 1507 - 1508 -extern(Windows) export MMRESULT mixerOpen(LPHMIXER phmx, UINT uMxId, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 1509 - 1510 -extern(Windows) export MMRESULT mixerClose(HMIXER hmx); 1511 - 1512 -extern(Windows) export DWORD mixerMessage(HMIXER hmx, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2); 1513 - 1514 -// #ifdef _WIN32 1515 - 1516 -struct tagMIXERLINEA { 1517 - DWORD cbStruct; 1518 - DWORD dwDestination; 1519 - DWORD dwSource; 1520 - DWORD dwLineID; 1521 - DWORD fdwLine; 1522 - DWORD_PTR dwUser; 1523 - DWORD dwComponentType; 1524 - DWORD cChannels; 1525 - DWORD cConnections; 1526 - DWORD cControls; 1527 - CHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1528 - CHAR szName[MIXER_LONG_NAME_CHARS]; 1529 -struct { 1530 - DWORD dwType; 1531 - DWORD dwDeviceID; 1532 - WORD wMid; 1533 - WORD wPid; 1534 - MMVERSION vDriverVersion; 1535 - CHAR szPname[MAXPNAMELEN]; 1536 -} 1537 - 1538 -} 1539 -alias tagMIXERLINEA MIXERLINEA; 1540 -alias tagMIXERLINEA* PMIXERLINEA; 1541 -alias tagMIXERLINEA* LPMIXERLINEA; 1542 - 1543 -struct tagMIXERLINEW { 1544 - DWORD cbStruct; 1545 - DWORD dwDestination; 1546 - DWORD dwSource; 1547 - DWORD dwLineID; 1548 - DWORD fdwLine; 1549 - DWORD_PTR dwUser; 1550 - DWORD dwComponentType; 1551 - DWORD cChannels; 1552 - DWORD cConnections; 1553 - DWORD cControls; 1554 - WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1555 - WCHAR szName[MIXER_LONG_NAME_CHARS]; 1556 -struct { 1557 - DWORD dwType; 1558 - DWORD dwDeviceID; 1559 - WORD wMid; 1560 - WORD wPid; 1561 - MMVERSION vDriverVersion; 1562 - WCHAR szPname[MAXPNAMELEN]; 1563 -} 1564 - 1565 -} 1566 -alias tagMIXERLINEW MIXERLINEW; 1567 -alias tagMIXERLINEW* PMIXERLINEW; 1568 -alias tagMIXERLINEW* LPMIXERLINEW; 1569 - 1570 -// #ifdef UNICODE 1571 -// ... 1572 -// #else 1573 -alias MIXERLINEA MIXERLINE; 1574 -alias PMIXERLINEA PMIXERLINE; 1575 -alias LPMIXERLINEA LPMIXERLINE; 1576 -// #endif // UNICODE 1577 - 1578 -// #else 1579 -// ... 1580 -// #endif 1581 - 1582 -enum : uint { MIXERLINE_LINEF_ACTIVE = 0x00000001 } 1583 -enum : uint { MIXERLINE_LINEF_DISCONNECTED = 0x00008000 } 1584 -enum : uint { MIXERLINE_LINEF_SOURCE = 0x80000000 } 1585 - 1586 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_FIRST = 0x00000000 } 1587 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_UNDEFINED = MIXERLINE_COMPONENTTYPE_DST_FIRST + 0 } 1588 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_DIGITAL = MIXERLINE_COMPONENTTYPE_DST_FIRST + 1 } 1589 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_LINE = MIXERLINE_COMPONENTTYPE_DST_FIRST + 2 } 1590 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_MONITOR = MIXERLINE_COMPONENTTYPE_DST_FIRST + 3 } 1591 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_SPEAKERS = MIXERLINE_COMPONENTTYPE_DST_FIRST + 4 } 1592 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_HEADPHONES = MIXERLINE_COMPONENTTYPE_DST_FIRST + 5 } 1593 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_TELEPHONE = MIXERLINE_COMPONENTTYPE_DST_FIRST + 6 } 1594 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_WAVEIN = MIXERLINE_COMPONENTTYPE_DST_FIRST + 7 } 1595 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_VOICEIN = MIXERLINE_COMPONENTTYPE_DST_FIRST + 8 } 1596 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_LAST = MIXERLINE_COMPONENTTYPE_DST_FIRST + 8 } 1597 - 1598 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_FIRST = 0x00001000 } 1599 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 0 } 1600 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_DIGITAL = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 1 } 1601 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_LINE = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2 } 1602 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3 } 1603 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 4 } 1604 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 5 } 1605 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 6 } 1606 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 7 } 1607 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 8 } 1608 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 9 } 1609 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_ANALOG = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10 } 1610 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_LAST = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10 } 1611 - 1612 -enum : uint { MIXERLINE_TARGETTYPE_UNDEFINED = 0 } 1613 -enum : uint { MIXERLINE_TARGETTYPE_WAVEOUT = 1 } 1614 -enum : uint { MIXERLINE_TARGETTYPE_WAVEIN = 2 } 1615 -enum : uint { MIXERLINE_TARGETTYPE_MIDIOUT = 3 } 1616 -enum : uint { MIXERLINE_TARGETTYPE_MIDIIN = 4 } 1617 -enum : uint { MIXERLINE_TARGETTYPE_AUX = 5 } 1618 - 1619 -// #ifdef _WIN32 1620 - 1621 -extern(Windows) export MMRESULT mixerGetLineInfoA(HMIXEROBJ hmxobj, LPMIXERLINEA pmxl, DWORD fdwInfo); 1622 -extern(Windows) export MMRESULT mixerGetLineInfoW(HMIXEROBJ hmxobj, LPMIXERLINEW pmxl, DWORD fdwInfo); 1623 -// #ifdef UNICODE 1624 -// #... 1625 -// #else 1626 -alias mixerGetLineInfoA mixerGetLineInfo; 1627 -// #endif // !UNICODE 1628 - 1629 -// #else 1630 -// ... 1631 -// #endif 1632 - 1633 -enum : uint { MIXER_GETLINEINFOF_DESTINATION = 0x00000000 } 1634 -enum : uint { MIXER_GETLINEINFOF_SOURCE = 0x00000001 } 1635 -enum : uint { MIXER_GETLINEINFOF_LINEID = 0x00000002 } 1636 -enum : uint { MIXER_GETLINEINFOF_COMPONENTTYPE = 0x00000003 } 1637 -enum : uint { MIXER_GETLINEINFOF_TARGETTYPE = 0x00000004 } 1638 - 1639 -enum : uint { MIXER_GETLINEINFOF_QUERYMASK = 0x0000000F } 1640 - 1641 -extern(Windows) export MMRESULT mixerGetID(HMIXEROBJ hmxobj, UINT *puMxId, DWORD fdwId); 1642 - 1643 -// #ifdef _WIN32 1644 - 1645 -struct tagMIXERCONTROLA { 1646 - DWORD cbStruct; 1647 - DWORD dwControlID; 1648 - DWORD dwControlType; 1649 - DWORD fdwControl; 1650 - DWORD cMultipleItems; 1651 - CHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1652 - CHAR szName[MIXER_LONG_NAME_CHARS]; 1653 -union _0 { 1654 -struct { 1655 - LONG lMinimum; 1656 - LONG lMaximum; 1657 -} 1658 - 1659 -struct { 1660 - DWORD dwMinimum; 1661 - DWORD dwMaximum; 1662 -} 1663 - 1664 - DWORD dwReserved[6]; 1665 -} 1666 -_0 Bounds; 1667 - 1668 -union _1 { 1669 - DWORD cSteps; 1670 - DWORD cbCustomData; 1671 - DWORD dwReserved[6]; 1672 -} 1673 -_1 Metrics; 1674 - 1675 -} 1676 -alias tagMIXERCONTROLA MIXERCONTROLA; 1677 -alias tagMIXERCONTROLA* PMIXERCONTROLA; 1678 -alias tagMIXERCONTROLA* LPMIXERCONTROLA; 1679 - 1680 -struct tagMIXERCONTROLW { 1681 - DWORD cbStruct; 1682 - DWORD dwControlID; 1683 - DWORD dwControlType; 1684 - DWORD fdwControl; 1685 - DWORD cMultipleItems; 1686 - WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1687 - WCHAR szName[MIXER_LONG_NAME_CHARS]; 1688 -union _2 { 1689 -struct { 1690 - LONG lMinimum; 1691 - LONG lMaximum; 1692 -} 1693 - 1694 -struct { 1695 - DWORD dwMinimum; 1696 - DWORD dwMaximum; 1697 -} 1698 - 1699 - DWORD dwReserved[6]; 1700 -} 1701 -_2 Bounds; 1702 - 1703 -union _3 { 1704 - DWORD cSteps; 1705 - DWORD cbCustomData; 1706 - DWORD dwReserved[6]; 1707 -} 1708 -_3 Metrics; 1709 - 1710 -} 1711 -alias tagMIXERCONTROLW MIXERCONTROLW; 1712 -alias tagMIXERCONTROLW* PMIXERCONTROLW; 1713 -alias tagMIXERCONTROLW* LPMIXERCONTROLW; 1714 - 1715 -// #ifdef UNICODE 1716 -// ... 1717 -// #else 1718 -alias MIXERCONTROLA MIXERCONTROL; 1719 -alias PMIXERCONTROLA PMIXERCONTROL; 1720 -alias LPMIXERCONTROLA LPMIXERCONTROL; 1721 -// #endif // UNICODE 1722 - 1723 -// #else 1724 -// ... 1725 -// #endif 1726 - 1727 -enum : uint { MIXERCONTROL_CONTROLF_UNIFORM = 0x00000001 } 1728 -enum : uint { MIXERCONTROL_CONTROLF_MULTIPLE = 0x00000002 } 1729 -enum : uint { MIXERCONTROL_CONTROLF_DISABLED = 0x80000000 } 1730 - 1731 -enum : uint { MIXERCONTROL_CT_CLASS_MASK = 0xF0000000 } 1732 -enum : uint { MIXERCONTROL_CT_CLASS_CUSTOM = 0x00000000 } 1733 -enum : uint { MIXERCONTROL_CT_CLASS_METER = 0x10000000 } 1734 -enum : uint { MIXERCONTROL_CT_CLASS_SWITCH = 0x20000000 } 1735 -enum : uint { MIXERCONTROL_CT_CLASS_NUMBER = 0x30000000 } 1736 -enum : uint { MIXERCONTROL_CT_CLASS_SLIDER = 0x40000000 } 1737 -enum : uint { MIXERCONTROL_CT_CLASS_FADER = 0x50000000 } 1738 -enum : uint { MIXERCONTROL_CT_CLASS_TIME = 0x60000000 } 1739 -enum : uint { MIXERCONTROL_CT_CLASS_LIST = 0x70000000 } 1740 - 1741 -enum : uint { MIXERCONTROL_CT_SUBCLASS_MASK = 0x0F000000 } 1742 - 1743 -enum : uint { MIXERCONTROL_CT_SC_SWITCH_BOOLEAN = 0x00000000 } 1744 -enum : uint { MIXERCONTROL_CT_SC_SWITCH_BUTTON = 0x01000000 } 1745 - 1746 -enum : uint { MIXERCONTROL_CT_SC_METER_POLLED = 0x00000000 } 1747 - 1748 -enum : uint { MIXERCONTROL_CT_SC_TIME_MICROSECS = 0x00000000 } 1749 -enum : uint { MIXERCONTROL_CT_SC_TIME_MILLISECS = 0x01000000 } 1750 - 1751 -enum : uint { MIXERCONTROL_CT_SC_LIST_SINGLE = 0x00000000 } 1752 -enum : uint { MIXERCONTROL_CT_SC_LIST_MULTIPLE = 0x01000000 } 1753 - 1754 -enum : uint { MIXERCONTROL_CT_UNITS_MASK = 0x00FF0000 } 1755 -enum : uint { MIXERCONTROL_CT_UNITS_CUSTOM = 0x00000000 } 1756 -enum : uint { MIXERCONTROL_CT_UNITS_BOOLEAN = 0x00010000 } 1757 -enum : uint { MIXERCONTROL_CT_UNITS_SIGNED = 0x00020000 } 1758 -enum : uint { MIXERCONTROL_CT_UNITS_UNSIGNED = 0x00030000 } 1759 -enum : uint { MIXERCONTROL_CT_UNITS_DECIBELS = 0x00040000 } 1760 -enum : uint { MIXERCONTROL_CT_UNITS_PERCENT = 0x00050000 } 1761 - 1762 -enum : uint { MIXERCONTROL_CONTROLTYPE_CUSTOM = MIXERCONTROL_CT_CLASS_CUSTOM | MIXERCONTROL_CT_UNITS_CUSTOM } 1763 -enum : uint { MIXERCONTROL_CONTROLTYPE_BOOLEANMETER = MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_BOOLEAN } 1764 -enum : uint { MIXERCONTROL_CONTROLTYPE_SIGNEDMETER = MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_SIGNED } 1765 -enum : uint { MIXERCONTROL_CONTROLTYPE_PEAKMETER = MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1 } 1766 -enum : uint { MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER = MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_UNSIGNED } 1767 -enum : uint { MIXERCONTROL_CONTROLTYPE_BOOLEAN = MIXERCONTROL_CT_CLASS_SWITCH | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN | MIXERCONTROL_CT_UNITS_BOOLEAN } 1768 -enum : uint { MIXERCONTROL_CONTROLTYPE_ONOFF = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1 } 1769 -enum : uint { MIXERCONTROL_CONTROLTYPE_MUTE = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2 } 1770 -enum : uint { MIXERCONTROL_CONTROLTYPE_MONO = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3 } 1771 -enum : uint { MIXERCONTROL_CONTROLTYPE_LOUDNESS = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4 } 1772 -enum : uint { MIXERCONTROL_CONTROLTYPE_STEREOENH = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5 } 1773 -enum : uint { MIXERCONTROL_CONTROLTYPE_BASS_BOOST = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 0x00002277 } 1774 -enum : uint { MIXERCONTROL_CONTROLTYPE_BUTTON = MIXERCONTROL_CT_CLASS_SWITCH | MIXERCONTROL_CT_SC_SWITCH_BUTTON | MIXERCONTROL_CT_UNITS_BOOLEAN } 1775 -enum : uint { MIXERCONTROL_CONTROLTYPE_DECIBELS = MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_DECIBELS } 1776 -enum : uint { MIXERCONTROL_CONTROLTYPE_SIGNED = MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_SIGNED } 1777 -enum : uint { MIXERCONTROL_CONTROLTYPE_UNSIGNED = MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_UNSIGNED } 1778 -enum : uint { MIXERCONTROL_CONTROLTYPE_PERCENT = MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_PERCENT } 1779 -enum : uint { MIXERCONTROL_CONTROLTYPE_SLIDER = MIXERCONTROL_CT_CLASS_SLIDER | MIXERCONTROL_CT_UNITS_SIGNED } 1780 -enum : uint { MIXERCONTROL_CONTROLTYPE_PAN = MIXERCONTROL_CONTROLTYPE_SLIDER + 1 } 1781 -enum : uint { MIXERCONTROL_CONTROLTYPE_QSOUNDPAN = MIXERCONTROL_CONTROLTYPE_SLIDER + 2 } 1782 -enum : uint { MIXERCONTROL_CONTROLTYPE_FADER = MIXERCONTROL_CT_CLASS_FADER | MIXERCONTROL_CT_UNITS_UNSIGNED } 1783 -enum : uint { MIXERCONTROL_CONTROLTYPE_VOLUME = MIXERCONTROL_CONTROLTYPE_FADER + 1 } 1784 -enum : uint { MIXERCONTROL_CONTROLTYPE_BASS = MIXERCONTROL_CONTROLTYPE_FADER + 2 } 1785 -enum : uint { MIXERCONTROL_CONTROLTYPE_TREBLE = MIXERCONTROL_CONTROLTYPE_FADER + 3 } 1786 -enum : uint { MIXERCONTROL_CONTROLTYPE_EQUALIZER = MIXERCONTROL_CONTROLTYPE_FADER + 4 } 1787 -enum : uint { MIXERCONTROL_CONTROLTYPE_SINGLESELECT = MIXERCONTROL_CT_CLASS_LIST | MIXERCONTROL_CT_SC_LIST_SINGLE | MIXERCONTROL_CT_UNITS_BOOLEAN } 1788 -enum : uint { MIXERCONTROL_CONTROLTYPE_MUX = MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1 } 1789 -enum : uint { MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT = MIXERCONTROL_CT_CLASS_LIST | MIXERCONTROL_CT_SC_LIST_MULTIPLE | MIXERCONTROL_CT_UNITS_BOOLEAN } 1790 -enum : uint { MIXERCONTROL_CONTROLTYPE_MIXER = MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1 } 1791 -enum : uint { MIXERCONTROL_CONTROLTYPE_MICROTIME = MIXERCONTROL_CT_CLASS_TIME | MIXERCONTROL_CT_SC_TIME_MICROSECS | MIXERCONTROL_CT_UNITS_UNSIGNED } 1792 -enum : uint { MIXERCONTROL_CONTROLTYPE_MILLITIME = MIXERCONTROL_CT_CLASS_TIME | MIXERCONTROL_CT_SC_TIME_MILLISECS | MIXERCONTROL_CT_UNITS_UNSIGNED } 1793 - 1794 -// #ifdef _WIN32 1795 - 1796 -struct tagMIXERLINECONTROLSA { 1797 - DWORD cbStruct; 1798 - DWORD dwLineID; 1799 -union { 1800 - DWORD dwControlID; 1801 - DWORD dwControlType; 1802 -} 1803 - 1804 - DWORD cControls; 1805 - DWORD cbmxctrl; 1806 - LPMIXERCONTROLA pamxctrl; 1807 -} 1808 -alias tagMIXERLINECONTROLSA MIXERLINECONTROLSA; 1809 -alias tagMIXERLINECONTROLSA* PMIXERLINECONTROLSA; 1810 -alias tagMIXERLINECONTROLSA* LPMIXERLINECONTROLSA; 1811 - 1812 -struct tagMIXERLINECONTROLSW { 1813 - DWORD cbStruct; 1814 - DWORD dwLineID; 1815 -union { 1816 - DWORD dwControlID; 1817 - DWORD dwControlType; 1818 -} 1819 - 1820 - DWORD cControls; 1821 - DWORD cbmxctrl; 1822 - LPMIXERCONTROLW pamxctrl; 1823 -} 1824 -alias tagMIXERLINECONTROLSW MIXERLINECONTROLSW; 1825 -alias tagMIXERLINECONTROLSW* PMIXERLINECONTROLSW; 1826 -alias tagMIXERLINECONTROLSW* LPMIXERLINECONTROLSW; 1827 - 1828 -// #ifdef UNICODE 1829 -// ... 1830 -// #else 1831 -alias MIXERLINECONTROLSA MIXERLINECONTROLS; 1832 -alias PMIXERLINECONTROLSA PMIXERLINECONTROLS; 1833 -alias LPMIXERLINECONTROLSA LPMIXERLINECONTROLS; 1834 -// #endif // UNICODE 1835 - 1836 -// #else 1837 -// ... 1838 -// #endif 1839 - 1840 -// #ifdef _WIN32 1841 - 1842 -extern(Windows) export MMRESULT mixerGetLineControlsA(HMIXEROBJ hmxobj, LPMIXERLINECONTROLSA pmxlc, DWORD fdwControls); 1843 -extern(Windows) export MMRESULT mixerGetLineControlsW(HMIXEROBJ hmxobj, LPMIXERLINECONTROLSW pmxlc, DWORD fdwControls); 1844 -// #ifdef UNICODE 1845 -// #... 1846 -// #else 1847 -alias mixerGetLineControlsA mixerGetLineControls; 1848 -// #endif // !UNICODE 1849 - 1850 -// #else 1851 -// ... 1852 -// #endif 1853 - 1854 -enum : uint { MIXER_GETLINECONTROLSF_ALL = 0x00000000 } 1855 -enum : uint { MIXER_GETLINECONTROLSF_ONEBYID = 0x00000001 } 1856 -enum : uint { MIXER_GETLINECONTROLSF_ONEBYTYPE = 0x00000002 } 1857 - 1858 -enum : uint { MIXER_GETLINECONTROLSF_QUERYMASK = 0x0000000F } 1859 - 1860 -struct tMIXERCONTROLDETAILS { 1861 - DWORD cbStruct; 1862 - DWORD dwControlID; 1863 - DWORD cChannels; 1864 -union { 1865 - HWND hwndOwner; 1866 - DWORD cMultipleItems; 1867 -} 1868 - 1869 - DWORD cbDetails; 1870 - LPVOID paDetails; 1871 -} 1872 -alias tMIXERCONTROLDETAILS MIXERCONTROLDETAILS; 1873 -alias tMIXERCONTROLDETAILS* PMIXERCONTROLDETAILS; 1874 -alias tMIXERCONTROLDETAILS* LPMIXERCONTROLDETAILS; 1875 - 1876 -// #ifdef _WIN32 1877 - 1878 -struct tagMIXERCONTROLDETAILS_LISTTEXTA { 1879 - DWORD dwParam1; 1880 - DWORD dwParam2; 1881 - CHAR szName[MIXER_LONG_NAME_CHARS]; 1882 -} 1883 -alias tagMIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXTA; 1884 -alias tagMIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA; 1885 -alias tagMIXERCONTROLDETAILS_LISTTEXTA* LPMIXERCONTROLDETAILS_LISTTEXTA; 1886 - 1887 -struct tagMIXERCONTROLDETAILS_LISTTEXTW { 1888 - DWORD dwParam1; 1889 - DWORD dwParam2; 1890 - WCHAR szName[MIXER_LONG_NAME_CHARS]; 1891 -} 1892 -alias tagMIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXTW; 1893 -alias tagMIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW; 1894 -alias tagMIXERCONTROLDETAILS_LISTTEXTW* LPMIXERCONTROLDETAILS_LISTTEXTW; 1895 - 1896 -// #ifdef UNICODE 1897 -// ... 1898 -// #else 1899 -alias MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT; 1900 -alias PMIXERCONTROLDETAILS_LISTTEXTA PMIXERCONTROLDETAILS_LISTTEXT; 1901 -alias LPMIXERCONTROLDETAILS_LISTTEXTA LPMIXERCONTROLDETAILS_LISTTEXT; 1902 -// #endif // UNICODE 1903 - 1904 -// #else 1905 -// ... 1906 -// #endif 1907 - 1908 -struct tMIXERCONTROLDETAILS_BOOLEAN { 1909 - LONG fValue; 1910 -} 1911 -alias tMIXERCONTROLDETAILS_BOOLEAN MIXERCONTROLDETAILS_BOOLEAN; 1912 -alias tMIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN; 1913 -alias tMIXERCONTROLDETAILS_BOOLEAN* LPMIXERCONTROLDETAILS_BOOLEAN; 1914 - 1915 -struct tMIXERCONTROLDETAILS_SIGNED { 1916 - LONG lValue; 1917 -} 1918 -alias tMIXERCONTROLDETAILS_SIGNED MIXERCONTROLDETAILS_SIGNED; 1919 -alias tMIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED; 1920 -alias tMIXERCONTROLDETAILS_SIGNED* LPMIXERCONTROLDETAILS_SIGNED; 1921 - 1922 -struct tMIXERCONTROLDETAILS_UNSIGNED { 1923 - DWORD dwValue; 1924 -} 1925 -alias tMIXERCONTROLDETAILS_UNSIGNED MIXERCONTROLDETAILS_UNSIGNED; 1926 -alias tMIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED; 1927 -alias tMIXERCONTROLDETAILS_UNSIGNED* LPMIXERCONTROLDETAILS_UNSIGNED; 1928 - 1929 -// #ifdef _WIN32 1930 - 1931 -extern(Windows) export MMRESULT mixerGetControlDetailsA(HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails); 1932 -extern(Windows) export MMRESULT mixerGetControlDetailsW(HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails); 1933 -// #ifdef UNICODE 1934 -// #... 1935 -// #else 1936 -alias mixerGetControlDetailsA mixerGetControlDetails; 1937 -// #endif // !UNICODE 1938 - 1939 -// #else 1940 -// ... 1941 -// #endif 1942 - 1943 -enum : uint { MIXER_GETCONTROLDETAILSF_VALUE = 0x00000000 } 1944 -enum : uint { MIXER_GETCONTROLDETAILSF_LISTTEXT = 0x00000001 } 1945 - 1946 -enum : uint { MIXER_GETCONTROLDETAILSF_QUERYMASK = 0x0000000F } 1947 - 1948 -extern(Windows) export MMRESULT mixerSetControlDetails(HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails); 1949 - 1950 -enum : uint { MIXER_SETCONTROLDETAILSF_VALUE = 0x00000000 } 1951 -enum : uint { MIXER_SETCONTROLDETAILSF_CUSTOM = 0x00000001 } 1952 - 1953 -enum : uint { MIXER_SETCONTROLDETAILSF_QUERYMASK = 0x0000000F } 1954 - 1955 -// #endif /* ifndef MMNOMIXER */ 1956 - 1957 -// #ifndef MMNOTIMER 1958 - 1959 -enum : uint { TIMERR_NOERROR = 0 } 1960 -enum : uint { TIMERR_NOCANDO = TIMERR_BASE+1 } 1961 -enum : uint { TIMERR_STRUCT = TIMERR_BASE+33 } 1962 - 1963 -// typedef void (CALLBACK TIMECALLBACK)(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2); 1964 - 1965 -extern(Windows) alias void function(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) LPTIMECALLBACK; 1966 - 1967 -enum : uint { TIME_ONESHOT = 0x0000 } 1968 -enum : uint { TIME_PERIODIC = 0x0001 } 1969 - 1970 -// #ifdef _WIN32 1971 -enum : uint { TIME_CALLBACK_FUNCTION = 0x0000 } 1972 -enum : uint { TIME_CALLBACK_EVENT_SET = 0x0010 } 1973 -enum : uint { TIME_CALLBACK_EVENT_PULSE = 0x0020 } 1974 -// #endif 1975 - 1976 -// #if WINVER >= 0x0501 1977 -enum : uint { TIME_KILL_SYNCHRONOUS = 0x0100 } 1978 - 1979 -// #endif // WINVER >= 0x0501 1980 - 1981 -struct timecaps_tag { 1982 - UINT wPeriodMin; 1983 - UINT wPeriodMax; 1984 -} 1985 -alias timecaps_tag TIMECAPS; 1986 -alias timecaps_tag* PTIMECAPS; 1987 -alias timecaps_tag* NPTIMECAPS; 1988 -alias timecaps_tag* LPTIMECAPS; 1989 - 1990 -extern(Windows) export MMRESULT timeGetSystemTime(LPMMTIME pmmt, UINT cbmmt); 1991 -extern(Windows) export DWORD timeGetTime(); 1992 -extern(Windows) export MMRESULT timeSetEvent(UINT uDelay, UINT uResolution, 1993 - LPTIMECALLBACK fptc, DWORD_PTR dwUser, UINT fuEvent); 1994 -extern(Windows) export MMRESULT timeKillEvent(UINT uTimerID); 1995 -extern(Windows) export MMRESULT timeGetDevCaps(LPTIMECAPS ptc, UINT cbtc); 1996 -extern(Windows) export MMRESULT timeBeginPeriod(UINT uPeriod); 1997 -extern(Windows) export MMRESULT timeEndPeriod(UINT uPeriod); 1998 - 1999 -// #endif /* ifndef MMNOTIMER */ 2000 - 2001 -// #ifndef MMNOJOY 2002 - 2003 -enum : uint { JOYERR_NOERROR = 0 } 2004 -enum : uint { JOYERR_PARMS = JOYERR_BASE+5 } 2005 -enum : uint { JOYERR_NOCANDO = JOYERR_BASE+6 } 2006 -enum : uint { JOYERR_UNPLUGGED = JOYERR_BASE+7 } 2007 - 2008 -enum : uint { JOY_BUTTON1 = 0x0001 } 2009 -enum : uint { JOY_BUTTON2 = 0x0002 } 2010 -enum : uint { JOY_BUTTON3 = 0x0004 } 2011 -enum : uint { JOY_BUTTON4 = 0x0008 } 2012 -enum : uint { JOY_BUTTON1CHG = 0x0100 } 2013 -enum : uint { JOY_BUTTON2CHG = 0x0200 } 2014 -enum : uint { JOY_BUTTON3CHG = 0x0400 } 2015 -enum : uint { JOY_BUTTON4CHG = 0x0800 } 2016 - 2017 -enum : uint { JOY_BUTTON5 = 0x00000010 } 2018 -enum : uint { JOY_BUTTON6 = 0x00000020 } 2019 -enum : uint { JOY_BUTTON7 = 0x00000040 } 2020 -enum : uint { JOY_BUTTON8 = 0x00000080 } 2021 -enum : uint { JOY_BUTTON9 = 0x00000100 } 2022 -enum : uint { JOY_BUTTON10 = 0x00000200 } 2023 -enum : uint { JOY_BUTTON11 = 0x00000400 } 2024 -enum : uint { JOY_BUTTON12 = 0x00000800 } 2025 -enum : uint { JOY_BUTTON13 = 0x00001000 } 2026 -enum : uint { JOY_BUTTON14 = 0x00002000 } 2027 -enum : uint { JOY_BUTTON15 = 0x00004000 } 2028 -enum : uint { JOY_BUTTON16 = 0x00008000 } 2029 -enum : uint { JOY_BUTTON17 = 0x00010000 } 2030 -enum : uint { JOY_BUTTON18 = 0x00020000 } 2031 -enum : uint { JOY_BUTTON19 = 0x00040000 } 2032 -enum : uint { JOY_BUTTON20 = 0x00080000 } 2033 -enum : uint { JOY_BUTTON21 = 0x00100000 } 2034 -enum : uint { JOY_BUTTON22 = 0x00200000 } 2035 -enum : uint { JOY_BUTTON23 = 0x00400000 } 2036 -enum : uint { JOY_BUTTON24 = 0x00800000 } 2037 -enum : uint { JOY_BUTTON25 = 0x01000000 } 2038 -enum : uint { JOY_BUTTON26 = 0x02000000 } 2039 -enum : uint { JOY_BUTTON27 = 0x04000000 } 2040 -enum : uint { JOY_BUTTON28 = 0x08000000 } 2041 -enum : uint { JOY_BUTTON29 = 0x10000000 } 2042 -enum : uint { JOY_BUTTON30 = 0x20000000 } 2043 -enum : uint { JOY_BUTTON31 = 0x40000000 } 2044 -enum : uint { JOY_BUTTON32 = 0x80000000 } 2045 - 2046 -enum : WORD { JOY_POVCENTERED = cast(WORD)-1 } 2047 -enum : uint { JOY_POVFORWARD = 0 } 2048 -enum : uint { JOY_POVRIGHT = 9000 } 2049 -enum : uint { JOY_POVBACKWARD = 18000 } 2050 -enum : uint { JOY_POVLEFT = 27000 } 2051 - 2052 -enum : uint { JOY_RETURNX = 0x00000001 } 2053 -enum : uint { JOY_RETURNY = 0x00000002 } 2054 -enum : uint { JOY_RETURNZ = 0x00000004 } 2055 -enum : uint { JOY_RETURNR = 0x00000008 } 2056 -enum : uint { JOY_RETURNU = 0x00000010 } 2057 -enum : uint { JOY_RETURNV = 0x00000020 } 2058 -enum : uint { JOY_RETURNPOV = 0x00000040 } 2059 -enum : uint { JOY_RETURNBUTTONS = 0x00000080 } 2060 -enum : uint { JOY_RETURNRAWDATA = 0x00000100 } 2061 -enum : uint { JOY_RETURNPOVCTS = 0x00000200 } 2062 -enum : uint { JOY_RETURNCENTERED = 0x00000400 } 2063 -enum : uint { JOY_USEDEADZONE = 0x00000800 } 2064 -enum : uint { JOY_RETURNALL = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETURNR | JOY_RETURNU | JOY_RETURNV | JOY_RETURNPOV | JOY_RETURNBUTTONS } 2065 -enum : uint { JOY_CAL_READALWAYS = 0x00010000 } 2066 -enum : uint { JOY_CAL_READXYONLY = 0x00020000 } 2067 -enum : uint { JOY_CAL_READ3 = 0x00040000 } 2068 -enum : uint { JOY_CAL_READ4 = 0x00080000 } 2069 -enum : uint { JOY_CAL_READXONLY = 0x00100000 } 2070 -enum : uint { JOY_CAL_READYONLY = 0x00200000 } 2071 -enum : uint { JOY_CAL_READ5 = 0x00400000 } 2072 -enum : uint { JOY_CAL_READ6 = 0x00800000 } 2073 -enum : uint { JOY_CAL_READZONLY = 0x01000000 } 2074 -enum : uint { JOY_CAL_READRONLY = 0x02000000 } 2075 -enum : uint { JOY_CAL_READUONLY = 0x04000000 } 2076 -enum : uint { JOY_CAL_READVONLY = 0x08000000 } 2077 - 2078 -enum : uint { JOYSTICKID1 = 0 } 2079 -enum : uint { JOYSTICKID2 = 1 } 2080 - 2081 -enum : uint { JOYCAPS_HASZ = 0x0001 } 2082 -enum : uint { JOYCAPS_HASR = 0x0002 } 2083 -enum : uint { JOYCAPS_HASU = 0x0004 } 2084 -enum : uint { JOYCAPS_HASV = 0x0008 } 2085 -enum : uint { JOYCAPS_HASPOV = 0x0010 } 2086 -enum : uint { JOYCAPS_POV4DIR = 0x0020 } 2087 -enum : uint { JOYCAPS_POVCTS = 0x0040 } 2088 - 2089 -// #ifdef _WIN32 2090 - 2091 -struct tagJOYCAPSA { 2092 - WORD wMid; 2093 - WORD wPid; 2094 - CHAR szPname[MAXPNAMELEN]; 2095 - UINT wXmin; 2096 - UINT wXmax; 2097 - UINT wYmin; 2098 - UINT wYmax; 2099 - UINT wZmin; 2100 - UINT wZmax; 2101 - UINT wNumButtons; 2102 - UINT wPeriodMin; 2103 - UINT wPeriodMax; 2104 -// #if (WINVER >= 0x0400) 2105 - UINT wRmin; 2106 - UINT wRmax; 2107 - UINT wUmin; 2108 - UINT wUmax; 2109 - UINT wVmin; 2110 - UINT wVmax; 2111 - UINT wCaps; 2112 - UINT wMaxAxes; 2113 - UINT wNumAxes; 2114 - UINT wMaxButtons; 2115 - CHAR szRegKey[MAXPNAMELEN]; 2116 - CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 2117 -// #endif 2118 -} 2119 -alias tagJOYCAPSA JOYCAPSA; 2120 -alias tagJOYCAPSA* PJOYCAPSA; 2121 -alias tagJOYCAPSA* NPJOYCAPSA; 2122 -alias tagJOYCAPSA* LPJOYCAPSA; 2123 - 2124 -struct tagJOYCAPSW { 2125 - WORD wMid; 2126 - WORD wPid; 2127 - WCHAR szPname[MAXPNAMELEN]; 2128 - UINT wXmin; 2129 - UINT wXmax; 2130 - UINT wYmin; 2131 - UINT wYmax; 2132 - UINT wZmin; 2133 - UINT wZmax; 2134 - UINT wNumButtons; 2135 - UINT wPeriodMin; 2136 - UINT wPeriodMax; 2137 -// #if (WINVER >= 0x0400) 2138 - UINT wRmin; 2139 - UINT wRmax; 2140 - UINT wUmin; 2141 - UINT wUmax; 2142 - UINT wVmin; 2143 - UINT wVmax; 2144 - UINT wCaps; 2145 - UINT wMaxAxes; 2146 - UINT wNumAxes; 2147 - UINT wMaxButtons; 2148 - WCHAR szRegKey[MAXPNAMELEN]; 2149 - WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 2150 -// #endif 2151 -} 2152 -alias tagJOYCAPSW JOYCAPSW; 2153 -alias tagJOYCAPSW* PJOYCAPSW; 2154 -alias tagJOYCAPSW* NPJOYCAPSW; 2155 -alias tagJOYCAPSW* LPJOYCAPSW; 2156 - 2157 -// #ifdef UNICODE 2158 -// ... 2159 -// #else 2160 -alias JOYCAPSA JOYCAPS; 2161 -alias PJOYCAPSA PJOYCAPS; 2162 -alias NPJOYCAPSA NPJOYCAPS; 2163 -alias LPJOYCAPSA LPJOYCAPS; 2164 -// #endif // UNICODE 2165 -struct tagJOYCAPS2A { 2166 - WORD wMid; 2167 - WORD wPid; 2168 - CHAR szPname[MAXPNAMELEN]; 2169 - UINT wXmin; 2170 - UINT wXmax; 2171 - UINT wYmin; 2172 - UINT wYmax; 2173 - UINT wZmin; 2174 - UINT wZmax; 2175 - UINT wNumButtons; 2176 - UINT wPeriodMin; 2177 - UINT wPeriodMax; 2178 - UINT wRmin; 2179 - UINT wRmax; 2180 - UINT wUmin; 2181 - UINT wUmax; 2182 - UINT wVmin; 2183 - UINT wVmax; 2184 - UINT wCaps; 2185 - UINT wMaxAxes; 2186 - UINT wNumAxes; 2187 - UINT wMaxButtons; 2188 - CHAR szRegKey[MAXPNAMELEN]; 2189 - CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 2190 - GUID ManufacturerGuid; 2191 - GUID ProductGuid; 2192 - GUID NameGuid; 2193 -} 2194 -alias tagJOYCAPS2A JOYCAPS2A; 2195 -alias tagJOYCAPS2A* PJOYCAPS2A; 2196 -alias tagJOYCAPS2A* NPJOYCAPS2A; 2197 -alias tagJOYCAPS2A* LPJOYCAPS2A; 2198 - 2199 -struct tagJOYCAPS2W { 2200 - WORD wMid; 2201 - WORD wPid; 2202 - WCHAR szPname[MAXPNAMELEN]; 2203 - UINT wXmin; 2204 - UINT wXmax; 2205 - UINT wYmin; 2206 - UINT wYmax; 2207 - UINT wZmin; 2208 - UINT wZmax; 2209 - UINT wNumButtons; 2210 - UINT wPeriodMin; 2211 - UINT wPeriodMax; 2212 - UINT wRmin; 2213 - UINT wRmax; 2214 - UINT wUmin; 2215 - UINT wUmax; 2216 - UINT wVmin; 2217 - UINT wVmax; 2218 - UINT wCaps; 2219 - UINT wMaxAxes; 2220 - UINT wNumAxes; 2221 - UINT wMaxButtons; 2222 - WCHAR szRegKey[MAXPNAMELEN]; 2223 - WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 2224 - GUID ManufacturerGuid; 2225 - GUID ProductGuid; 2226 - GUID NameGuid; 2227 -} 2228 -alias tagJOYCAPS2W JOYCAPS2W; 2229 -alias tagJOYCAPS2W* PJOYCAPS2W; 2230 -alias tagJOYCAPS2W* NPJOYCAPS2W; 2231 -alias tagJOYCAPS2W* LPJOYCAPS2W; 2232 - 2233 -// #ifdef UNICODE 2234 -// ... 2235 -// #else 2236 -alias JOYCAPS2A JOYCAPS2; 2237 -alias PJOYCAPS2A PJOYCAPS2; 2238 -alias NPJOYCAPS2A NPJOYCAPS2; 2239 -alias LPJOYCAPS2A LPJOYCAPS2; 2240 -// #endif // UNICODE 2241 - 2242 -// #else 2243 -// ... 2244 -// #if (WINVER >= 0x0400) 2245 -// ... 2246 -// #endif 2247 -// ... 2248 -// #endif 2249 - 2250 -struct joyinfo_tag { 2251 - UINT wXpos; 2252 - UINT wYpos; 2253 - UINT wZpos; 2254 - UINT wButtons; 2255 -} 2256 -alias joyinfo_tag JOYINFO; 2257 -alias joyinfo_tag* PJOYINFO; 2258 -alias joyinfo_tag* NPJOYINFO; 2259 -alias joyinfo_tag* LPJOYINFO; 2260 - 2261 -// #if(WINVER >= 0x0400) 2262 -struct joyinfoex_tag { 2263 - DWORD dwSize; 2264 - DWORD dwFlags; 2265 - DWORD dwXpos; 2266 - DWORD dwYpos; 2267 - DWORD dwZpos; 2268 - DWORD dwRpos; 2269 - DWORD dwUpos; 2270 - DWORD dwVpos; 2271 - DWORD dwButtons; 2272 - DWORD dwButtonNumber; 2273 - DWORD dwPOV; 2274 - DWORD dwReserved1; 2275 - DWORD dwReserved2; 2276 -} 2277 -alias joyinfoex_tag JOYINFOEX; 2278 -alias joyinfoex_tag* PJOYINFOEX; 2279 -alias joyinfoex_tag* NPJOYINFOEX; 2280 -alias joyinfoex_tag* LPJOYINFOEX; 2281 - 2282 -// #endif /* WINVER >= 0x0400 */ 2283 - 2284 -extern(Windows) export UINT joyGetNumDevs(); 2285 -// #ifdef _WIN32 2286 - 2287 -extern(Windows) export MMRESULT joyGetDevCapsA(UINT_PTR uJoyID, LPJOYCAPSA pjc, UINT cbjc); 2288 -extern(Windows) export MMRESULT joyGetDevCapsW(UINT_PTR uJoyID, LPJOYCAPSW pjc, UINT cbjc); 2289 -// #ifdef UNICODE 2290 -// #... 2291 -// #else 2292 -alias joyGetDevCapsA joyGetDevCaps; 2293 -// #endif // !UNICODE 2294 - 2295 -// #else 2296 -// ... 2297 -// #endif 2298 -extern(Windows) export MMRESULT joyGetPos(UINT uJoyID, LPJOYINFO pji); 2299 - 2300 -// #if(WINVER >= 0x0400) 2301 -extern(Windows) export MMRESULT joyGetPosEx(UINT uJoyID, LPJOYINFOEX pji); 2302 -// #endif /* WINVER >= 0x0400 */ 2303 - 2304 -extern(Windows) export MMRESULT joyGetThreshold(UINT uJoyID, LPUINT puThreshold); 2305 -extern(Windows) export MMRESULT joyReleaseCapture(UINT uJoyID); 2306 -extern(Windows) export MMRESULT joySetCapture(HWND hwnd, UINT uJoyID, UINT uPeriod, 2307 - BOOL fChanged); 2308 -extern(Windows) export MMRESULT joySetThreshold(UINT uJoyID, UINT uThreshold); 2309 - 2310 -// #endif /* ifndef MMNOJOY */ 2311 - 2312 -// #ifndef MMNOMMIO 2313 - 2314 -enum : uint { MMIOERR_BASE = 256 } 2315 -enum : uint { MMIOERR_FILENOTFOUND = MMIOERR_BASE + 1 } 2316 -enum : uint { MMIOERR_OUTOFMEMORY = MMIOERR_BASE + 2 } 2317 -enum : uint { MMIOERR_CANNOTOPEN = MMIOERR_BASE + 3 } 2318 -enum : uint { MMIOERR_CANNOTCLOSE = MMIOERR_BASE + 4 } 2319 -enum : uint { MMIOERR_CANNOTREAD = MMIOERR_BASE + 5 } 2320 -enum : uint { MMIOERR_CANNOTWRITE = MMIOERR_BASE + 6 } 2321 -enum : uint { MMIOERR_CANNOTSEEK = MMIOERR_BASE + 7 } 2322 -enum : uint { MMIOERR_CANNOTEXPAND = MMIOERR_BASE + 8 } 2323 -enum : uint { MMIOERR_CHUNKNOTFOUND = MMIOERR_BASE + 9 } 2324 -enum : uint { MMIOERR_UNBUFFERED = MMIOERR_BASE + 10 } 2325 -enum : uint { MMIOERR_PATHNOTFOUND = MMIOERR_BASE + 11 } 2326 -enum : uint { MMIOERR_ACCESSDENIED = MMIOERR_BASE + 12 } 2327 -enum : uint { MMIOERR_SHARINGVIOLATION = MMIOERR_BASE + 13 } 2328 -enum : uint { MMIOERR_NETWORKERROR = MMIOERR_BASE + 14 } 2329 -enum : uint { MMIOERR_TOOMANYOPENFILES = MMIOERR_BASE + 15 } 2330 -enum : uint { MMIOERR_INVALIDFILE = MMIOERR_BASE + 16 } 2331 - 2332 -const char CFSEPCHAR = '+'; 2333 - 2334 -alias DWORD FOURCC; 2335 -alias char* HPSTR; 2336 -alias void* HMMIO; 2337 -// typedef LRESULT (CALLBACK MMIOPROC)(LPSTR lpmmioinfo, UINT uMsg, LPARAM lParam1, LPARAM lParam2); 2338 -extern(Windows) alias LRESULT function(LPSTR lpmmioinfo, UINT uMsg, LPARAM lParam1, LPARAM lParam2) LPMMIOPROC; 2339 - 2340 -struct _MMIOINFO { 2341 - 2342 - DWORD dwFlags; 2343 - FOURCC fccIOProc; 2344 - LPMMIOPROC pIOProc; 2345 - UINT wErrorRet; 2346 - HTASK htask; 2347 - 2348 - LONG cchBuffer; 2349 - HPSTR pchBuffer; 2350 - HPSTR pchNext; 2351 - HPSTR pchEndRead; 2352 - HPSTR pchEndWrite; 2353 - LONG lBufOffset; 2354 - 2355 - LONG lDiskOffset; 2356 - DWORD adwInfo[3]; 2357 - 2358 - DWORD dwReserved1; 2359 - DWORD dwReserved2; 2360 - HMMIO hmmio; 2361 -} 2362 -alias _MMIOINFO MMIOINFO; 2363 -alias _MMIOINFO* PMMIOINFO; 2364 -alias _MMIOINFO* NPMMIOINFO; 2365 -alias _MMIOINFO* LPMMIOINFO; 2366 - 2367 -alias MMIOINFO* LPCMMIOINFO; 2368 - 2369 -struct _MMCKINFO { 2370 - FOURCC ckid; 2371 - DWORD cksize; 2372 - FOURCC fccType; 2373 - DWORD dwDataOffset; 2374 - DWORD dwFlags; 2375 -} 2376 -alias _MMCKINFO MMCKINFO; 2377 -alias _MMCKINFO* PMMCKINFO; 2378 -alias _MMCKINFO* NPMMCKINFO; 2379 -alias _MMCKINFO* LPMMCKINFO; 2380 - 2381 -alias MMCKINFO* LPCMMCKINFO; 2382 - 2383 -enum : uint { MMIO_RWMODE = 0x00000003 } 2384 -enum : uint { MMIO_SHAREMODE = 0x00000070 } 2385 - 2386 -enum : uint { MMIO_CREATE = 0x00001000 } 2387 -enum : uint { MMIO_PARSE = 0x00000100 } 2388 -enum : uint { MMIO_DELETE = 0x00000200 } 2389 -enum : uint { MMIO_EXIST = 0x00004000 } 2390 -enum : uint { MMIO_ALLOCBUF = 0x00010000 } 2391 -enum : uint { MMIO_GETTEMP = 0x00020000 } 2392 - 2393 -enum : uint { MMIO_DIRTY = 0x10000000 } 2394 - 2395 -enum : uint { MMIO_READ = 0x00000000 } 2396 -enum : uint { MMIO_WRITE = 0x00000001 } 2397 -enum : uint { MMIO_READWRITE = 0x00000002 } 2398 - 2399 -enum : uint { MMIO_COMPAT = 0x00000000 } 2400 -enum : uint { MMIO_EXCLUSIVE = 0x00000010 } 2401 -enum : uint { MMIO_DENYWRITE = 0x00000020 } 2402 -enum : uint { MMIO_DENYREAD = 0x00000030 } 2403 -enum : uint { MMIO_DENYNONE = 0x00000040 } 2404 - 2405 -enum : uint { MMIO_FHOPEN = 0x0010 } 2406 -enum : uint { MMIO_EMPTYBUF = 0x0010 } 2407 -enum : uint { MMIO_TOUPPER = 0x0010 } 2408 -enum : uint { MMIO_INSTALLPROC = 0x00010000 } 2409 -enum : uint { MMIO_GLOBALPROC = 0x10000000 } 2410 -enum : uint { MMIO_REMOVEPROC = 0x00020000 } 2411 -enum : uint { MMIO_UNICODEPROC = 0x01000000 } 2412 -enum : uint { MMIO_FINDPROC = 0x00040000 } 2413 -enum : uint { MMIO_FINDCHUNK = 0x0010 } 2414 -enum : uint { MMIO_FINDRIFF = 0x0020 } 2415 -enum : uint { MMIO_FINDLIST = 0x0040 } 2416 -enum : uint { MMIO_CREATERIFF = 0x0020 } 2417 -enum : uint { MMIO_CREATELIST = 0x0040 } 2418 - 2419 -alias MMIO_READ MMIOM_READ; 2420 -alias MMIO_WRITE MMIOM_WRITE; 2421 -enum : uint { MMIOM_SEEK = 2 } 2422 -enum : uint { MMIOM_OPEN = 3 } 2423 -enum : uint { MMIOM_CLOSE = 4 } 2424 -enum : uint { MMIOM_WRITEFLUSH = 5 } 2425 - 2426 -// #if (WINVER >= 0x030a) 2427 -enum : uint { MMIOM_RENAME = 6 } 2428 -// #endif /* ifdef WINVER >= 0x030a */ 2429 - 2430 -enum : uint { MMIOM_USER = 0x8000 } 2431 - 2432 -// #define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F') 2433 -// #define FOURCC_LIST mmioFOURCC('L', 'I', 'S', 'T') 2434 - 2435 -// #define FOURCC_DOS mmioFOURCC('D', 'O', 'S', ' ') 2436 -// #define FOURCC_MEM mmioFOURCC('M', 'E', 'M', ' ') 2437 - 2438 -// #ifndef SEEK_SET 2439 -enum : uint { SEEK_SET = 0 } 2440 -enum : uint { SEEK_CUR = 1 } 2441 -enum : uint { SEEK_END = 2 } 2442 -// #endif /* ifndef SEEK_SET */ 2443 - 2444 -enum : uint { MMIO_DEFAULTBUFFER = 8192 } 2445 - 2446 -// #define mmioFOURCC(ch0, ch1, ch2, ch3) MAKEFOURCC(ch0, ch1, ch2, ch3) 2447 - 2448 -// #ifdef _WIN32 2449 - 2450 -extern(Windows) export FOURCC mmioStringToFOURCCA(LPCSTR sz, UINT uFlags); 2451 -extern(Windows) export FOURCC mmioStringToFOURCCW(LPCWSTR sz, UINT uFlags); 2452 -// #ifdef UNICODE 2453 -// #... 2454 -// #else 2455 -alias mmioStringToFOURCCA mmioStringToFOURCC; 2456 -// #endif // !UNICODE 2457 -extern(Windows) export LPMMIOPROC mmioInstallIOProcA(FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags); 2458 -extern(Windows) export LPMMIOPROC mmioInstallIOProcW(FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags); 2459 -// #ifdef UNICODE 2460 -// #... 2461 -// #else 2462 -alias mmioInstallIOProcA mmioInstallIOProc; 2463 -// #endif // !UNICODE 2464 -extern(Windows) export HMMIO mmioOpenA(LPSTR pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen); 2465 -extern(Windows) export HMMIO mmioOpenW(LPWSTR pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen); 2466 -// #ifdef UNICODE 2467 -// #... 2468 -// #else 2469 -alias mmioOpenA mmioOpen; 2470 -// #endif // !UNICODE 2471 -extern(Windows) export MMRESULT mmioRenameA(LPCSTR pszFileName, LPCSTR pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename); 2472 -extern(Windows) export MMRESULT mmioRenameW(LPCWSTR pszFileName, LPCWSTR pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename); 2473 -// #ifdef UNICODE 2474 -// #... 2475 -// #else 2476 -alias mmioRenameA mmioRename; 2477 -// #endif // !UNICODE 2478 -// #else 2479 -// ... 2480 -// #if (WINVER >= 0x030a) 2481 -// ... 2482 -// #endif /* ifdef WINVER >= 0x030a */ 2483 -// #endif 2484 - 2485 -extern(Windows) export MMRESULT mmioClose(HMMIO hmmio, UINT fuClose); 2486 -extern(Windows) export LONG mmioRead(HMMIO hmmio, HPSTR pch, LONG cch); 2487 -extern(Windows) export LONG mmioWrite(HMMIO hmmio, char * pch, LONG cch); 2488 -extern(Windows) export LONG mmioSeek(HMMIO hmmio, LONG lOffset, int iOrigin); 2489 -extern(Windows) export MMRESULT mmioGetInfo(HMMIO hmmio, LPMMIOINFO pmmioinfo, UINT fuInfo); 2490 -extern(Windows) export MMRESULT mmioSetInfo(HMMIO hmmio, LPCMMIOINFO pmmioinfo, UINT fuInfo); 2491 -extern(Windows) export MMRESULT mmioSetBuffer(HMMIO hmmio, LPSTR pchBuffer, LONG cchBuffer, 2492 - UINT fuBuffer); 2493 -extern(Windows) export MMRESULT mmioFlush(HMMIO hmmio, UINT fuFlush); 2494 -extern(Windows) export MMRESULT mmioAdvance(HMMIO hmmio, LPMMIOINFO pmmioinfo, UINT fuAdvance); 2495 -extern(Windows) export LRESULT mmioSendMessage(HMMIO hmmio, UINT uMsg, 2496 - LPARAM lParam1, LPARAM lParam2); 2497 -extern(Windows) export MMRESULT mmioDescend(HMMIO hmmio, LPMMCKINFO pmmcki, 2498 - MMCKINFO * pmmckiParent, UINT fuDescend); 2499 -extern(Windows) export MMRESULT mmioAscend(HMMIO hmmio, LPMMCKINFO pmmcki, UINT fuAscend); 2500 -extern(Windows) export MMRESULT mmioCreateChunk(HMMIO hmmio, LPMMCKINFO pmmcki, UINT fuCreate); 2501 - 2502 -// #endif /* ifndef MMNOMMIO */ 2503 - 2504 -// #ifndef MMNOMCI 2505 - 2506 -// #ifndef _MCIERROR_ /* MCIERROR is defined in some post 3.1 apps */ 2507 -// #define _MCIERROR_ 2508 -alias DWORD MCIERROR; 2509 -// #endif 2510 - 2511 -// #ifndef _MCIDEVICEID_ /* Same with MCIDEVICEID */ 2512 -// #define _MCIDEVICEID_ 2513 -alias UINT MCIDEVICEID; 2514 -// #endif 2515 - 2516 -extern(Windows) alias UINT function(MCIDEVICEID mciId, DWORD dwYieldData) YIELDPROC; 2517 - 2518 -// #ifdef _WIN32 2519 - 2520 -extern(Windows) export MCIERROR mciSendCommandA(MCIDEVICEID mciId, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2); 2521 -extern(Windows) export MCIERROR mciSendCommandW(MCIDEVICEID mciId, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2); 2522 -// #ifdef UNICODE 2523 -// #... 2524 -// #else 2525 -alias mciSendCommandA mciSendCommand; 2526 -// #endif // !UNICODE 2527 -extern(Windows) export MCIERROR mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrReturnString, UINT uReturnLength, HWND hwndCallback); 2528 -extern(Windows) export MCIERROR mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrReturnString, UINT uReturnLength, HWND hwndCallback); 2529 -// #ifdef UNICODE 2530 -// #... 2531 -// #else 2532 -alias mciSendStringA mciSendString; 2533 -// #endif // !UNICODE 2534 -extern(Windows) export MCIDEVICEID mciGetDeviceIDA(LPCSTR pszDevice); 2535 -extern(Windows) export MCIDEVICEID mciGetDeviceIDW(LPCWSTR pszDevice); 2536 -// #ifdef UNICODE 2537 -// #... 2538 -// #else 2539 -alias mciGetDeviceIDA mciGetDeviceID; 2540 -// #endif // !UNICODE 2541 -extern(Windows) export MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD dwElementID, LPCSTR lpstrType ); 2542 -extern(Windows) export MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD dwElementID, LPCWSTR lpstrType ); 2543 -// #ifdef UNICODE 2544 -// #... 2545 -// #else 2546 -alias mciGetDeviceIDFromElementIDA mciGetDeviceIDFromElementID; 2547 -// #endif // !UNICODE 2548 -extern(Windows) export BOOL mciGetErrorStringA(MCIERROR mcierr, LPSTR pszText, UINT cchText); 2549 -extern(Windows) export BOOL mciGetErrorStringW(MCIERROR mcierr, LPWSTR pszText, UINT cchText); 2550 -// #ifdef UNICODE 2551 -// #... 2552 -// #else 2553 -alias mciGetErrorStringA mciGetErrorString; 2554 -// #endif // !UNICODE 2555 - 2556 -// #else 2557 -// ... 2558 -// #endif 2559 - 2560 -extern(Windows) export BOOL mciSetYieldProc(MCIDEVICEID mciId, YIELDPROC fpYieldProc, 2561 - DWORD dwYieldData); 2562 - 2563 -// #if (WINVER >= 0x030a) 2564 -extern(Windows) export HTASK mciGetCreatorTask(MCIDEVICEID mciId); 2565 -extern(Windows) export YIELDPROC mciGetYieldProc(MCIDEVICEID mciId, LPDWORD pdwYieldData); 2566 -// #endif /* ifdef WINVER >= 0x030a */ 2567 - 2568 -// #if (WINVER < 0x030a) 2569 -// ... 2570 -// #endif /* ifdef WINVER < 0x030a */ 2571 - 2572 -enum : uint { MCIERR_INVALID_DEVICE_ID = MCIERR_BASE + 1 } 2573 -enum : uint { MCIERR_UNRECOGNIZED_KEYWORD = MCIERR_BASE + 3 } 2574 -enum : uint { MCIERR_UNRECOGNIZED_COMMAND = MCIERR_BASE + 5 } 2575 -enum : uint { MCIERR_HARDWARE = MCIERR_BASE + 6 } 2576 -enum : uint { MCIERR_INVALID_DEVICE_NAME = MCIERR_BASE + 7 } 2577 -enum : uint { MCIERR_OUT_OF_MEMORY = MCIERR_BASE + 8 } 2578 -enum : uint { MCIERR_DEVICE_OPEN = MCIERR_BASE + 9 } 2579 -enum : uint { MCIERR_CANNOT_LOAD_DRIVER = MCIERR_BASE + 10 } 2580 -enum : uint { MCIERR_MISSING_COMMAND_STRING = MCIERR_BASE + 11 } 2581 -enum : uint { MCIERR_PARAM_OVERFLOW = MCIERR_BASE + 12 } 2582 -enum : uint { MCIERR_MISSING_STRING_ARGUMENT = MCIERR_BASE + 13 } 2583 -enum : uint { MCIERR_BAD_INTEGER = MCIERR_BASE + 14 } 2584 -enum : uint { MCIERR_PARSER_INTERNAL = MCIERR_BASE + 15 } 2585 -enum : uint { MCIERR_DRIVER_INTERNAL = MCIERR_BASE + 16 } 2586 -enum : uint { MCIERR_MISSING_PARAMETER = MCIERR_BASE + 17 } 2587 -enum : uint { MCIERR_UNSUPPORTED_FUNCTION = MCIERR_BASE + 18 } 2588 -enum : uint { MCIERR_FILE_NOT_FOUND = MCIERR_BASE + 19 } 2589 -enum : uint { MCIERR_DEVICE_NOT_READY = MCIERR_BASE + 20 } 2590 -enum : uint { MCIERR_INTERNAL = MCIERR_BASE + 21 } 2591 -enum : uint { MCIERR_DRIVER = MCIERR_BASE + 22 } 2592 -enum : uint { MCIERR_CANNOT_USE_ALL = MCIERR_BASE + 23 } 2593 -enum : uint { MCIERR_MULTIPLE = MCIERR_BASE + 24 } 2594 -enum : uint { MCIERR_EXTENSION_NOT_FOUND = MCIERR_BASE + 25 } 2595 -enum : uint { MCIERR_OUTOFRANGE = MCIERR_BASE + 26 } 2596 -enum : uint { MCIERR_FLAGS_NOT_COMPATIBLE = MCIERR_BASE + 28 } 2597 -enum : uint { MCIERR_FILE_NOT_SAVED = MCIERR_BASE + 30 } 2598 -enum : uint { MCIERR_DEVICE_TYPE_REQUIRED = MCIERR_BASE + 31 } 2599 -enum : uint { MCIERR_DEVICE_LOCKED = MCIERR_BASE + 32 } 2600 -enum : uint { MCIERR_DUPLICATE_ALIAS = MCIERR_BASE + 33 } 2601 -enum : uint { MCIERR_BAD_CONSTANT = MCIERR_BASE + 34 } 2602 -enum : uint { MCIERR_MUST_USE_SHAREABLE = MCIERR_BASE + 35 } 2603 -enum : uint { MCIERR_MISSING_DEVICE_NAME = MCIERR_BASE + 36 } 2604 -enum : uint { MCIERR_BAD_TIME_FORMAT = MCIERR_BASE + 37 } 2605 -enum : uint { MCIERR_NO_CLOSING_QUOTE = MCIERR_BASE + 38 } 2606 -enum : uint { MCIERR_DUPLICATE_FLAGS = MCIERR_BASE + 39 } 2607 -enum : uint { MCIERR_INVALID_FILE = MCIERR_BASE + 40 } 2608 -enum : uint { MCIERR_NULL_PARAMETER_BLOCK = MCIERR_BASE + 41 } 2609 -enum : uint { MCIERR_UNNAMED_RESOURCE = MCIERR_BASE + 42 } 2610 -enum : uint { MCIERR_NEW_REQUIRES_ALIAS = MCIERR_BASE + 43 } 2611 -enum : uint { MCIERR_NOTIFY_ON_AUTO_OPEN = MCIERR_BASE + 44 } 2612 -enum : uint { MCIERR_NO_ELEMENT_ALLOWED = MCIERR_BASE + 45 } 2613 -enum : uint { MCIERR_NONAPPLICABLE_FUNCTION = MCIERR_BASE + 46 } 2614 -enum : uint { MCIERR_ILLEGAL_FOR_AUTO_OPEN = MCIERR_BASE + 47 } 2615 -enum : uint { MCIERR_FILENAME_REQUIRED = MCIERR_BASE + 48 } 2616 -enum : uint { MCIERR_EXTRA_CHARACTERS = MCIERR_BASE + 49 } 2617 -enum : uint { MCIERR_DEVICE_NOT_INSTALLED = MCIERR_BASE + 50 } 2618 -enum : uint { MCIERR_GET_CD = MCIERR_BASE + 51 } 2619 -enum : uint { MCIERR_SET_CD = MCIERR_BASE + 52 } 2620 -enum : uint { MCIERR_SET_DRIVE = MCIERR_BASE + 53 } 2621 -enum : uint { MCIERR_DEVICE_LENGTH = MCIERR_BASE + 54 } 2622 -enum : uint { MCIERR_DEVICE_ORD_LENGTH = MCIERR_BASE + 55 } 2623 -enum : uint { MCIERR_NO_INTEGER = MCIERR_BASE + 56 } 2624 - 2625 -enum : uint { MCIERR_WAVE_OUTPUTSINUSE = MCIERR_BASE + 64 } 2626 -enum : uint { MCIERR_WAVE_SETOUTPUTINUSE = MCIERR_BASE + 65 } 2627 -enum : uint { MCIERR_WAVE_INPUTSINUSE = MCIERR_BASE + 66 } 2628 -enum : uint { MCIERR_WAVE_SETINPUTINUSE = MCIERR_BASE + 67 } 2629 -enum : uint { MCIERR_WAVE_OUTPUTUNSPECIFIED = MCIERR_BASE + 68 } 2630 -enum : uint { MCIERR_WAVE_INPUTUNSPECIFIED = MCIERR_BASE + 69 } 2631 -enum : uint { MCIERR_WAVE_OUTPUTSUNSUITABLE = MCIERR_BASE + 70 } 2632 -enum : uint { MCIERR_WAVE_SETOUTPUTUNSUITABLE = MCIERR_BASE + 71 } 2633 -enum : uint { MCIERR_WAVE_INPUTSUNSUITABLE = MCIERR_BASE + 72 } 2634 -enum : uint { MCIERR_WAVE_SETINPUTUNSUITABLE = MCIERR_BASE + 73 } 2635 - 2636 -enum : uint { MCIERR_SEQ_DIV_INCOMPATIBLE = MCIERR_BASE + 80 } 2637 -enum : uint { MCIERR_SEQ_PORT_INUSE = MCIERR_BASE + 81 } 2638 -enum : uint { MCIERR_SEQ_PORT_NONEXISTENT = MCIERR_BASE + 82 } 2639 -enum : uint { MCIERR_SEQ_PORT_MAPNODEVICE = MCIERR_BASE + 83 } 2640 -enum : uint { MCIERR_SEQ_PORT_MISCERROR = MCIERR_BASE + 84 } 2641 -enum : uint { MCIERR_SEQ_TIMER = MCIERR_BASE + 85 } 2642 -enum : uint { MCIERR_SEQ_PORTUNSPECIFIED = MCIERR_BASE + 86 } 2643 -enum : uint { MCIERR_SEQ_NOMIDIPRESENT = MCIERR_BASE + 87 } 2644 - 2645 -enum : uint { MCIERR_NO_WINDOW = MCIERR_BASE + 90 } 2646 -enum : uint { MCIERR_CREATEWINDOW = MCIERR_BASE + 91 } 2647 -enum : uint { MCIERR_FILE_READ = MCIERR_BASE + 92 } 2648 -enum : uint { MCIERR_FILE_WRITE = MCIERR_BASE + 93 } 2649 - 2650 -enum : uint { MCIERR_NO_IDENTITY = MCIERR_BASE + 94 } 2651 - 2652 -enum : uint { MCIERR_CUSTOM_DRIVER_BASE = MCIERR_BASE + 256 } 2653 - 2654 -alias DRV_MCI_FIRST MCI_FIRST; 2655 - 2656 -enum : uint { MCI_OPEN = 0x0803 } 2657 -enum : uint { MCI_CLOSE = 0x0804 } 2658 -enum : uint { MCI_ESCAPE = 0x0805 } 2659 -enum : uint { MCI_PLAY = 0x0806 } 2660 -enum : uint { MCI_SEEK = 0x0807 } 2661 -enum : uint { MCI_STOP = 0x0808 } 2662 -enum : uint { MCI_PAUSE = 0x0809 } 2663 -enum : uint { MCI_INFO = 0x080A } 2664 -enum : uint { MCI_GETDEVCAPS = 0x080B } 2665 -enum : uint { MCI_SPIN = 0x080C } 2666 -enum : uint { MCI_SET = 0x080D } 2667 -enum : uint { MCI_STEP = 0x080E } 2668 -enum : uint { MCI_RECORD = 0x080F } 2669 -enum : uint { MCI_SYSINFO = 0x0810 } 2670 -enum : uint { MCI_BREAK = 0x0811 } 2671 -enum : uint { MCI_SAVE = 0x0813 } 2672 -enum : uint { MCI_STATUS = 0x0814 } 2673 -enum : uint { MCI_CUE = 0x0830 } 2674 -enum : uint { MCI_REALIZE = 0x0840 } 2675 -enum : uint { MCI_WINDOW = 0x0841 } 2676 -enum : uint { MCI_PUT = 0x0842 } 2677 -enum : uint { MCI_WHERE = 0x0843 } 2678 -enum : uint { MCI_FREEZE = 0x0844 } 2679 -enum : uint { MCI_UNFREEZE = 0x0845 } 2680 -enum : uint { MCI_LOAD = 0x0850 } 2681 -enum : uint { MCI_CUT = 0x0851 } 2682 -enum : uint { MCI_COPY = 0x0852 } 2683 -enum : uint { MCI_PASTE = 0x0853 } 2684 -enum : uint { MCI_UPDATE = 0x0854 } 2685 -enum : uint { MCI_RESUME = 0x0855 } 2686 -enum : uint { MCI_DELETE = 0x0856 } 2687 - 2688 -enum : uint { MCI_USER_MESSAGES = DRV_MCI_FIRST + 0x400 } 2689 -enum : uint { MCI_LAST = 0x0FFF } 2690 - 2691 -enum : uint { MCI_ALL_DEVICE_ID = cast(MCIDEVICEID)-1 } 2692 - 2693 -enum : uint { MCI_DEVTYPE_VCR = 513 } 2694 -enum : uint { MCI_DEVTYPE_VIDEODISC = 514 } 2695 -enum : uint { MCI_DEVTYPE_OVERLAY = 515 } 2696 -enum : uint { MCI_DEVTYPE_CD_AUDIO = 516 } 2697 -enum : uint { MCI_DEVTYPE_DAT = 517 } 2698 -enum : uint { MCI_DEVTYPE_SCANNER = 518 } 2699 -enum : uint { MCI_DEVTYPE_ANIMATION = 519 } 2700 -enum : uint { MCI_DEVTYPE_DIGITAL_VIDEO = 520 } 2701 -enum : uint { MCI_DEVTYPE_OTHER = 521 } 2702 -enum : uint { MCI_DEVTYPE_WAVEFORM_AUDIO = 522 } 2703 -enum : uint { MCI_DEVTYPE_SEQUENCER = 523 } 2704 - 2705 -alias MCI_DEVTYPE_VCR MCI_DEVTYPE_FIRST; 2706 -alias MCI_DEVTYPE_SEQUENCER MCI_DEVTYPE_LAST; 2707 - 2708 -enum : uint { MCI_DEVTYPE_FIRST_USER = 0x1000 } 2709 - 2710 -enum : uint { MCI_MODE_NOT_READY = MCI_STRING_OFFSET + 12 } 2711 -enum : uint { MCI_MODE_STOP = MCI_STRING_OFFSET + 13 } 2712 -enum : uint { MCI_MODE_PLAY = MCI_STRING_OFFSET + 14 } 2713 -enum : uint { MCI_MODE_RECORD = MCI_STRING_OFFSET + 15 } 2714 -enum : uint { MCI_MODE_SEEK = MCI_STRING_OFFSET + 16 } 2715 -enum : uint { MCI_MODE_PAUSE = MCI_STRING_OFFSET + 17 } 2716 -enum : uint { MCI_MODE_OPEN = MCI_STRING_OFFSET + 18 } 2717 - 2718 -enum : uint { MCI_FORMAT_MILLISECONDS = 0 } 2719 -enum : uint { MCI_FORMAT_HMS = 1 } 2720 -enum : uint { MCI_FORMAT_MSF = 2 } 2721 -enum : uint { MCI_FORMAT_FRAMES = 3 } 2722 -enum : uint { MCI_FORMAT_SMPTE_24 = 4 } 2723 -enum : uint { MCI_FORMAT_SMPTE_25 = 5 } 2724 -enum : uint { MCI_FORMAT_SMPTE_30 = 6 } 2725 -enum : uint { MCI_FORMAT_SMPTE_30DROP = 7 } 2726 -enum : uint { MCI_FORMAT_BYTES = 8 } 2727 -enum : uint { MCI_FORMAT_SAMPLES = 9 } 2728 -enum : uint { MCI_FORMAT_TMSF = 10 } 2729 - 2730 -// #define MCI_MSF_MINUTE(msf) ((BYTE)(msf)) 2731 -// #define MCI_MSF_SECOND(msf) ((BYTE)(((WORD)(msf)) >> 8)) 2732 -// #define MCI_MSF_FRAME(msf) ((BYTE)((msf)>>16)) 2733 - 2734 -// #define MCI_MAKE_MSF(m, s, f) ((DWORD)(((BYTE)(m) | ((WORD)(s)<<8)) | (((DWORD)(BYTE)(f))<<16))) 2735 - 2736 -// #define MCI_TMSF_TRACK(tmsf) ((BYTE)(tmsf)) 2737 -// #define MCI_TMSF_MINUTE(tmsf) ((BYTE)(((WORD)(tmsf)) >> 8)) 2738 -// #define MCI_TMSF_SECOND(tmsf) ((BYTE)((tmsf)>>16)) 2739 -// #define MCI_TMSF_FRAME(tmsf) ((BYTE)((tmsf)>>24)) 2740 - 2741 -// #define MCI_MAKE_TMSF(t, m, s, f) ((DWORD)(((BYTE)(t) | ((WORD)(m)<<8)) | (((DWORD)(BYTE)(s) | ((WORD)(f)<<8))<<16))) 2742 - 2743 -// #define MCI_HMS_HOUR(hms) ((BYTE)(hms)) 2744 -// #define MCI_HMS_MINUTE(hms) ((BYTE)(((WORD)(hms)) >> 8)) 2745 -// #define MCI_HMS_SECOND(hms) ((BYTE)((hms)>>16)) 2746 - 2747 -// #define MCI_MAKE_HMS(h, m, s) ((DWORD)(((BYTE)(h) | ((WORD)(m)<<8)) | (((DWORD)(BYTE)(s))<<16))) 2748 - 2749 -enum : uint { MCI_NOTIFY_SUCCESSFUL = 0x0001 } 2750 -enum : uint { MCI_NOTIFY_SUPERSEDED = 0x0002 } 2751 -enum : uint { MCI_NOTIFY_ABORTED = 0x0004 } 2752 -enum : uint { MCI_NOTIFY_FAILURE = 0x0008 } 2753 - 2754 -enum : uint { MCI_NOTIFY = 0x00000001 } 2755 -enum : uint { MCI_WAIT = 0x00000002 } 2756 -enum : uint { MCI_FROM = 0x00000004 } 2757 -enum : uint { MCI_TO = 0x00000008 } 2758 -enum : uint { MCI_TRACK = 0x00000010 } 2759 - 2760 -enum : uint { MCI_OPEN_SHAREABLE = 0x00000100 } 2761 -enum : uint { MCI_OPEN_ELEMENT = 0x00000200 } 2762 -enum : uint { MCI_OPEN_ALIAS = 0x00000400 } 2763 -enum : uint { MCI_OPEN_ELEMENT_ID = 0x00000800 } 2764 -enum : uint { MCI_OPEN_TYPE_ID = 0x00001000 } 2765 -enum : uint { MCI_OPEN_TYPE = 0x00002000 } 2766 - 2767 -enum : uint { MCI_SEEK_TO_START = 0x00000100 } 2768 -enum : uint { MCI_SEEK_TO_END = 0x00000200 } 2769 - 2770 -enum : uint { MCI_STATUS_ITEM = 0x00000100 } 2771 -enum : uint { MCI_STATUS_START = 0x00000200 } 2772 - 2773 -enum : uint { MCI_STATUS_LENGTH = 0x00000001 } 2774 -enum : uint { MCI_STATUS_POSITION = 0x00000002 } 2775 -enum : uint { MCI_STATUS_NUMBER_OF_TRACKS = 0x00000003 } 2776 -enum : uint { MCI_STATUS_MODE = 0x00000004 } 2777 -enum : uint { MCI_STATUS_MEDIA_PRESENT = 0x00000005 } 2778 -enum : uint { MCI_STATUS_TIME_FORMAT = 0x00000006 } 2779 -enum : uint { MCI_STATUS_READY = 0x00000007 } 2780 -enum : uint { MCI_STATUS_CURRENT_TRACK = 0x00000008 } 2781 - 2782 -enum : uint { MCI_INFO_PRODUCT = 0x00000100 } 2783 -enum : uint { MCI_INFO_FILE = 0x00000200 } 2784 -enum : uint { MCI_INFO_MEDIA_UPC = 0x00000400 } 2785 -enum : uint { MCI_INFO_MEDIA_IDENTITY = 0x00000800 } 2786 -enum : uint { MCI_INFO_NAME = 0x00001000 } 2787 -enum : uint { MCI_INFO_COPYRIGHT = 0x00002000 } 2788 - 2789 -enum : uint { MCI_GETDEVCAPS_ITEM = 0x00000100 } 2790 - 2791 -enum : uint { MCI_GETDEVCAPS_CAN_RECORD = 0x00000001 } 2792 -enum : uint { MCI_GETDEVCAPS_HAS_AUDIO = 0x00000002 } 2793 -enum : uint { MCI_GETDEVCAPS_HAS_VIDEO = 0x00000003 } 2794 -enum : uint { MCI_GETDEVCAPS_DEVICE_TYPE = 0x00000004 } 2795 -enum : uint { MCI_GETDEVCAPS_USES_FILES = 0x00000005 } 2796 -enum : uint { MCI_GETDEVCAPS_COMPOUND_DEVICE = 0x00000006 } 2797 -enum : uint { MCI_GETDEVCAPS_CAN_EJECT = 0x00000007 } 2798 -enum : uint { MCI_GETDEVCAPS_CAN_PLAY = 0x00000008 } 2799 -enum : uint { MCI_GETDEVCAPS_CAN_SAVE = 0x00000009 } 2800 - 2801 -enum : uint { MCI_SYSINFO_QUANTITY = 0x00000100 } 2802 -enum : uint { MCI_SYSINFO_OPEN = 0x00000200 } 2803 -enum : uint { MCI_SYSINFO_NAME = 0x00000400 } 2804 -enum : uint { MCI_SYSINFO_INSTALLNAME = 0x00000800 } 2805 - 2806 -enum : uint { MCI_SET_DOOR_OPEN = 0x00000100 } 2807 -enum : uint { MCI_SET_DOOR_CLOSED = 0x00000200 } 2808 -enum : uint { MCI_SET_TIME_FORMAT = 0x00000400 } 2809 -enum : uint { MCI_SET_AUDIO = 0x00000800 } 2810 -enum : uint { MCI_SET_VIDEO = 0x00001000 } 2811 -enum : uint { MCI_SET_ON = 0x00002000 } 2812 -enum : uint { MCI_SET_OFF = 0x00004000 } 2813 - 2814 -enum : uint { MCI_SET_AUDIO_ALL = 0x00000000 } 2815 -enum : uint { MCI_SET_AUDIO_LEFT = 0x00000001 } 2816 -enum : uint { MCI_SET_AUDIO_RIGHT = 0x00000002 } 2817 - 2818 -enum : uint { MCI_BREAK_KEY = 0x00000100 } 2819 -enum : uint { MCI_BREAK_HWND = 0x00000200 } 2820 -enum : uint { MCI_BREAK_OFF = 0x00000400 } 2821 - 2822 -enum : uint { MCI_RECORD_INSERT = 0x00000100 } 2823 -enum : uint { MCI_RECORD_OVERWRITE = 0x00000200 } 2824 - 2825 -enum : uint { MCI_SAVE_FILE = 0x00000100 } 2826 - 2827 -enum : uint { MCI_LOAD_FILE = 0x00000100 } 2828 - 2829 -struct tagMCI_GENERIC_PARMS { 2830 - DWORD_PTR dwCallback; 2831 -} 2832 -alias tagMCI_GENERIC_PARMS MCI_GENERIC_PARMS; 2833 -alias tagMCI_GENERIC_PARMS* PMCI_GENERIC_PARMS; 2834 -alias tagMCI_GENERIC_PARMS* LPMCI_GENERIC_PARMS; 2835 - 2836 -// #ifdef _WIN32 2837 - 2838 -struct tagMCI_OPEN_PARMSA { 2839 - DWORD_PTR dwCallback; 2840 - MCIDEVICEID wDeviceID; 2841 - LPCSTR lpstrDeviceType; 2842 - LPCSTR lpstrElementName; 2843 - LPCSTR lpstrAlias; 2844 -} 2845 -alias tagMCI_OPEN_PARMSA MCI_OPEN_PARMSA; 2846 -alias tagMCI_OPEN_PARMSA* PMCI_OPEN_PARMSA; 2847 -alias tagMCI_OPEN_PARMSA* LPMCI_OPEN_PARMSA; 2848 - 2849 -struct tagMCI_OPEN_PARMSW { 2850 - DWORD_PTR dwCallback; 2851 - MCIDEVICEID wDeviceID; 2852 - LPCWSTR lpstrDeviceType; 2853 - LPCWSTR lpstrElementName; 2854 - LPCWSTR lpstrAlias; 2855 -} 2856 -alias tagMCI_OPEN_PARMSW MCI_OPEN_PARMSW; 2857 -alias tagMCI_OPEN_PARMSW* PMCI_OPEN_PARMSW; 2858 -alias tagMCI_OPEN_PARMSW* LPMCI_OPEN_PARMSW; 2859 - 2860 -// #ifdef UNICODE 2861 -// ... 2862 -// #else 2863 -alias MCI_OPEN_PARMSA MCI_OPEN_PARMS; 2864 -alias PMCI_OPEN_PARMSA PMCI_OPEN_PARMS; 2865 -alias LPMCI_OPEN_PARMSA LPMCI_OPEN_PARMS; 2866 -// #endif // UNICODE 2867 - 2868 -// #else 2869 -// ... 2870 -// #endif 2871 - 2872 -struct tagMCI_PLAY_PARMS { 2873 - DWORD_PTR dwCallback; 2874 - DWORD dwFrom; 2875 - DWORD dwTo; 2876 -} 2877 -alias tagMCI_PLAY_PARMS MCI_PLAY_PARMS; 2878 -alias tagMCI_PLAY_PARMS* PMCI_PLAY_PARMS; 2879 -alias tagMCI_PLAY_PARMS* LPMCI_PLAY_PARMS; 2880 - 2881 -struct tagMCI_SEEK_PARMS { 2882 - DWORD_PTR dwCallback; 2883 - DWORD dwTo; 2884 -} 2885 -alias tagMCI_SEEK_PARMS MCI_SEEK_PARMS; 2886 -alias tagMCI_SEEK_PARMS* PMCI_SEEK_PARMS; 2887 -alias tagMCI_SEEK_PARMS* LPMCI_SEEK_PARMS; 2888 - 2889 -struct tagMCI_STATUS_PARMS { 2890 - DWORD_PTR dwCallback; 2891 - DWORD_PTR dwReturn; 2892 - DWORD dwItem; 2893 - DWORD dwTrack; 2894 -} 2895 -alias tagMCI_STATUS_PARMS MCI_STATUS_PARMS; 2896 -alias tagMCI_STATUS_PARMS* PMCI_STATUS_PARMS; 2897 -alias tagMCI_STATUS_PARMS* LPMCI_STATUS_PARMS; 2898 - 2899 -// #ifdef _WIN32 2900 - 2901 -struct tagMCI_INFO_PARMSA { 2902 - DWORD_PTR dwCallback; 2903 - LPSTR lpstrReturn; 2904 - DWORD dwRetSize; 2905 -} 2906 -alias tagMCI_INFO_PARMSA MCI_INFO_PARMSA; 2907 -alias tagMCI_INFO_PARMSA* LPMCI_INFO_PARMSA; 2908 - 2909 -struct tagMCI_INFO_PARMSW { 2910 - DWORD_PTR dwCallback; 2911 - LPWSTR lpstrReturn; 2912 - DWORD dwRetSize; 2913 -} 2914 -alias tagMCI_INFO_PARMSW MCI_INFO_PARMSW; 2915 -alias tagMCI_INFO_PARMSW* LPMCI_INFO_PARMSW; 2916 - 2917 -// #ifdef UNICODE 2918 -// ... 2919 -// #else 2920 -alias MCI_INFO_PARMSA MCI_INFO_PARMS; 2921 -alias LPMCI_INFO_PARMSA LPMCI_INFO_PARMS; 2922 -// #endif // UNICODE 2923 - 2924 -// #else 2925 -// ... 2926 -// #endif 2927 - 2928 -struct tagMCI_GETDEVCAPS_PARMS { 2929 - DWORD_PTR dwCallback; 2930 - DWORD dwReturn; 2931 - DWORD dwItem; 2932 -} 2933 -alias tagMCI_GETDEVCAPS_PARMS MCI_GETDEVCAPS_PARMS; 2934 -alias tagMCI_GETDEVCAPS_PARMS* PMCI_GETDEVCAPS_PARMS; 2935 -alias tagMCI_GETDEVCAPS_PARMS* LPMCI_GETDEVCAPS_PARMS; 2936 - 2937 -// #ifdef _WIN32 2938 - 2939 -struct tagMCI_SYSINFO_PARMSA { 2940 - DWORD_PTR dwCallback; 2941 - LPSTR lpstrReturn; 2942 - DWORD dwRetSize; 2943 - DWORD dwNumber; 2944 - UINT wDeviceType; 2945 -} 2946 -alias tagMCI_SYSINFO_PARMSA MCI_SYSINFO_PARMSA; 2947 -alias tagMCI_SYSINFO_PARMSA* PMCI_SYSINFO_PARMSA; 2948 -alias tagMCI_SYSINFO_PARMSA* LPMCI_SYSINFO_PARMSA; 2949 - 2950 -struct tagMCI_SYSINFO_PARMSW { 2951 - DWORD_PTR dwCallback; 2952 - LPWSTR lpstrReturn; 2953 - DWORD dwRetSize; 2954 - DWORD dwNumber; 2955 - UINT wDeviceType; 2956 -} 2957 -alias tagMCI_SYSINFO_PARMSW MCI_SYSINFO_PARMSW; 2958 -alias tagMCI_SYSINFO_PARMSW* PMCI_SYSINFO_PARMSW; 2959 -alias tagMCI_SYSINFO_PARMSW* LPMCI_SYSINFO_PARMSW; 2960 - 2961 -// #ifdef UNICODE 2962 -// ... 2963 -// #else 2964 -alias MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS; 2965 -alias PMCI_SYSINFO_PARMSA PMCI_SYSINFO_PARMS; 2966 -alias LPMCI_SYSINFO_PARMSA LPMCI_SYSINFO_PARMS; 2967 -// #endif // UNICODE 2968 -// #else 2969 -// ... 2970 -// #endif 2971 - 2972 -struct tagMCI_SET_PARMS { 2973 - DWORD_PTR dwCallback; 2974 - DWORD dwTimeFormat; 2975 - DWORD dwAudio; 2976 -} 2977 -alias tagMCI_SET_PARMS MCI_SET_PARMS; 2978 -alias tagMCI_SET_PARMS* PMCI_SET_PARMS; 2979 -alias tagMCI_SET_PARMS* LPMCI_SET_PARMS; 2980 - 2981 -struct tagMCI_BREAK_PARMS { 2982 - DWORD_PTR dwCallback; 2983 -// #ifdef _WIN32 2984 - int nVirtKey; 2985 - HWND hwndBreak; 2986 -// #else 2987 -// ... 2988 -// #endif 2989 -} 2990 -alias tagMCI_BREAK_PARMS MCI_BREAK_PARMS; 2991 -alias tagMCI_BREAK_PARMS* PMCI_BREAK_PARMS; 2992 -alias tagMCI_BREAK_PARMS* LPMCI_BREAK_PARMS; 2993 - 2994 -// #ifdef _WIN32 2995 - 2996 -struct tagMCI_SAVE_PARMSA { 2997 - DWORD_PTR dwCallback; 2998 - LPCSTR lpfilename; 2999 -} 3000 -alias tagMCI_SAVE_PARMSA MCI_SAVE_PARMSA; 3001 -alias tagMCI_SAVE_PARMSA* PMCI_SAVE_PARMSA; 3002 -alias tagMCI_SAVE_PARMSA* LPMCI_SAVE_PARMSA; 3003 - 3004 -struct tagMCI_SAVE_PARMSW { 3005 - DWORD_PTR dwCallback; 3006 - LPCWSTR lpfilename; 3007 -} 3008 -alias tagMCI_SAVE_PARMSW MCI_SAVE_PARMSW; 3009 -alias tagMCI_SAVE_PARMSW* PMCI_SAVE_PARMSW; 3010 -alias tagMCI_SAVE_PARMSW* LPMCI_SAVE_PARMSW; 3011 - 3012 -// #ifdef UNICODE 3013 -// ... 3014 -// #else 3015 -alias MCI_SAVE_PARMSA MCI_SAVE_PARMS; 3016 -alias PMCI_SAVE_PARMSA PMCI_SAVE_PARMS; 3017 -alias LPMCI_SAVE_PARMSA LPMCI_SAVE_PARMS; 3018 -// #endif // UNICODE 3019 - 3020 -// #else 3021 -// ... 3022 -// #endif 3023 - 3024 -// #ifdef _WIN32 3025 - 3026 -struct tagMCI_LOAD_PARMSA { 3027 - DWORD_PTR dwCallback; 3028 - LPCSTR lpfilename; 3029 -} 3030 -alias tagMCI_LOAD_PARMSA MCI_LOAD_PARMSA; 3031 -alias tagMCI_LOAD_PARMSA* PMCI_LOAD_PARMSA; 3032 -alias tagMCI_LOAD_PARMSA* LPMCI_LOAD_PARMSA; 3033 - 3034 -struct tagMCI_LOAD_PARMSW { 3035 - DWORD_PTR dwCallback; 3036 - LPCWSTR lpfilename; 3037 -} 3038 -alias tagMCI_LOAD_PARMSW MCI_LOAD_PARMSW; 3039 -alias tagMCI_LOAD_PARMSW* PMCI_LOAD_PARMSW; 3040 -alias tagMCI_LOAD_PARMSW* LPMCI_LOAD_PARMSW; 3041 - 3042 -// #ifdef UNICODE 3043 -// ... 3044 -// #else 3045 -alias MCI_LOAD_PARMSA MCI_LOAD_PARMS; 3046 -alias PMCI_LOAD_PARMSA PMCI_LOAD_PARMS; 3047 -alias LPMCI_LOAD_PARMSA LPMCI_LOAD_PARMS; 3048 -// #endif // UNICODE 3049 - 3050 -// #else 3051 -// ... 3052 -// #endif 3053 - 3054 -struct tagMCI_RECORD_PARMS { 3055 - DWORD_PTR dwCallback; 3056 - DWORD dwFrom; 3057 - DWORD dwTo; 3058 -} 3059 -alias tagMCI_RECORD_PARMS MCI_RECORD_PARMS; 3060 -alias tagMCI_RECORD_PARMS* LPMCI_RECORD_PARMS; 3061 - 3062 -enum : uint { MCI_VD_MODE_PARK = MCI_VD_OFFSET + 1 } 3063 - 3064 -enum : uint { MCI_VD_MEDIA_CLV = MCI_VD_OFFSET + 2 } 3065 -enum : uint { MCI_VD_MEDIA_CAV = MCI_VD_OFFSET + 3 } 3066 -enum : uint { MCI_VD_MEDIA_OTHER = MCI_VD_OFFSET + 4 } 3067 - 3068 -enum : uint { MCI_VD_FORMAT_TRACK = 0x4001 } 3069 - 3070 -enum : uint { MCI_VD_PLAY_REVERSE = 0x00010000 } 3071 -enum : uint { MCI_VD_PLAY_FAST = 0x00020000 } 3072 -enum : uint { MCI_VD_PLAY_SPEED = 0x00040000 } 3073 -enum : uint { MCI_VD_PLAY_SCAN = 0x00080000 } 3074 -enum : uint { MCI_VD_PLAY_SLOW = 0x00100000 } 3075 - 3076 -enum : uint { MCI_VD_SEEK_REVERSE = 0x00010000 } 3077 - 3078 -enum : uint { MCI_VD_STATUS_SPEED = 0x00004002 } 3079 -enum : uint { MCI_VD_STATUS_FORWARD = 0x00004003 } 3080 -enum : uint { MCI_VD_STATUS_MEDIA_TYPE = 0x00004004 } 3081 -enum : uint { MCI_VD_STATUS_SIDE = 0x00004005 } 3082 -enum : uint { MCI_VD_STATUS_DISC_SIZE = 0x00004006 } 3083 - 3084 -enum : uint { MCI_VD_GETDEVCAPS_CLV = 0x00010000 } 3085 -enum : uint { MCI_VD_GETDEVCAPS_CAV = 0x00020000 } 3086 - 3087 -enum : uint { MCI_VD_SPIN_UP = 0x00010000 } 3088 -enum : uint { MCI_VD_SPIN_DOWN = 0x00020000 } 3089 - 3090 -enum : uint { MCI_VD_GETDEVCAPS_CAN_REVERSE = 0x00004002 } 3091 -enum : uint { MCI_VD_GETDEVCAPS_FAST_RATE = 0x00004003 } 3092 -enum : uint { MCI_VD_GETDEVCAPS_SLOW_RATE = 0x00004004 } 3093 -enum : uint { MCI_VD_GETDEVCAPS_NORMAL_RATE = 0x00004005 } 3094 - 3095 -enum : uint { MCI_VD_STEP_FRAMES = 0x00010000 } 3096 -enum : uint { MCI_VD_STEP_REVERSE = 0x00020000 } 3097 - 3098 -enum : uint { MCI_VD_ESCAPE_STRING = 0x00000100 } 3099 - 3100 -struct tagMCI_VD_PLAY_PARMS { 3101 - DWORD_PTR dwCallback; 3102 - DWORD dwFrom; 3103 - DWORD dwTo; 3104 - DWORD dwSpeed; 3105 -} 3106 -alias tagMCI_VD_PLAY_PARMS MCI_VD_PLAY_PARMS; 3107 -alias tagMCI_VD_PLAY_PARMS* PMCI_VD_PLAY_PARMS; 3108 -alias tagMCI_VD_PLAY_PARMS* LPMCI_VD_PLAY_PARMS; 3109 - 3110 -struct tagMCI_VD_STEP_PARMS { 3111 - DWORD_PTR dwCallback; 3112 - DWORD dwFrames; 3113 -} 3114 -alias tagMCI_VD_STEP_PARMS MCI_VD_STEP_PARMS; 3115 -alias tagMCI_VD_STEP_PARMS* PMCI_VD_STEP_PARMS; 3116 -alias tagMCI_VD_STEP_PARMS* LPMCI_VD_STEP_PARMS; 3117 - 3118 -// #ifdef _WIN32 3119 - 3120 -struct tagMCI_VD_ESCAPE_PARMSA { 3121 - DWORD_PTR dwCallback; 3122 - LPCSTR lpstrCommand; 3123 -} 3124 -alias tagMCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMSA; 3125 -alias tagMCI_VD_ESCAPE_PARMSA* PMCI_VD_ESCAPE_PARMSA; 3126 -alias tagMCI_VD_ESCAPE_PARMSA* LPMCI_VD_ESCAPE_PARMSA; 3127 - 3128 -struct tagMCI_VD_ESCAPE_PARMSW { 3129 - DWORD_PTR dwCallback; 3130 - LPCWSTR lpstrCommand; 3131 -} 3132 -alias tagMCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMSW; 3133 -alias tagMCI_VD_ESCAPE_PARMSW* PMCI_VD_ESCAPE_PARMSW; 3134 -alias tagMCI_VD_ESCAPE_PARMSW* LPMCI_VD_ESCAPE_PARMSW; 3135 - 3136 -// #ifdef UNICODE 3137 -// ... 3138 -// #else 3139 -alias MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS; 3140 -alias PMCI_VD_ESCAPE_PARMSA PMCI_VD_ESCAPE_PARMS; 3141 -alias LPMCI_VD_ESCAPE_PARMSA LPMCI_VD_ESCAPE_PARMS; 3142 -// #endif // UNICODE 3143 - 3144 -// #else 3145 -// ... 3146 -// #endif 3147 - 3148 -enum : uint { MCI_CDA_STATUS_TYPE_TRACK = 0x00004001 } 3149 - 3150 -enum : uint { MCI_CDA_TRACK_AUDIO = MCI_CD_OFFSET + 0 } 3151 -enum : uint { MCI_CDA_TRACK_OTHER = MCI_CD_OFFSET + 1 } 3152 - 3153 -enum : uint { MCI_WAVE_PCM = MCI_WAVE_OFFSET + 0 } 3154 -enum : uint { MCI_WAVE_MAPPER = MCI_WAVE_OFFSET + 1 } 3155 - 3156 -enum : uint { MCI_WAVE_OPEN_BUFFER = 0x00010000 } 3157 - 3158 -enum : uint { MCI_WAVE_SET_FORMATTAG = 0x00010000 } 3159 -enum : uint { MCI_WAVE_SET_CHANNELS = 0x00020000 } 3160 -enum : uint { MCI_WAVE_SET_SAMPLESPERSEC = 0x00040000 } 3161 -enum : uint { MCI_WAVE_SET_AVGBYTESPERSEC = 0x00080000 } 3162 -enum : uint { MCI_WAVE_SET_BLOCKALIGN = 0x00100000 } 3163 -enum : uint { MCI_WAVE_SET_BITSPERSAMPLE = 0x00200000 } 3164 - 3165 -enum : uint { MCI_WAVE_INPUT = 0x00400000 } 3166 -enum : uint { MCI_WAVE_OUTPUT = 0x00800000 } 3167 - 3168 -enum : uint { MCI_WAVE_STATUS_FORMATTAG = 0x00004001 } 3169 -enum : uint { MCI_WAVE_STATUS_CHANNELS = 0x00004002 } 3170 -enum : uint { MCI_WAVE_STATUS_SAMPLESPERSEC = 0x00004003 } 3171 -enum : uint { MCI_WAVE_STATUS_AVGBYTESPERSEC = 0x00004004 } 3172 -enum : uint { MCI_WAVE_STATUS_BLOCKALIGN = 0x00004005 } 3173 -enum : uint { MCI_WAVE_STATUS_BITSPERSAMPLE = 0x00004006 } 3174 -enum : uint { MCI_WAVE_STATUS_LEVEL = 0x00004007 } 3175 - 3176 -enum : uint { MCI_WAVE_SET_ANYINPUT = 0x04000000 } 3177 -enum : uint { MCI_WAVE_SET_ANYOUTPUT = 0x08000000 } 3178 - 3179 -enum : uint { MCI_WAVE_GETDEVCAPS_INPUTS = 0x00004001 } 3180 -enum : uint { MCI_WAVE_GETDEVCAPS_OUTPUTS = 0x00004002 } 3181 - 3182 -// #ifdef _WIN32 3183 - 3184 -struct tagMCI_WAVE_OPEN_PARMSA { 3185 - DWORD_PTR dwCallback; 3186 - MCIDEVICEID wDeviceID; 3187 - LPCSTR lpstrDeviceType; 3188 - LPCSTR lpstrElementName; 3189 - LPCSTR lpstrAlias; 3190 - DWORD dwBufferSeconds; 3191 -} 3192 -alias tagMCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMSA; 3193 -alias tagMCI_WAVE_OPEN_PARMSA* PMCI_WAVE_OPEN_PARMSA; 3194 -alias tagMCI_WAVE_OPEN_PARMSA* LPMCI_WAVE_OPEN_PARMSA; 3195 - 3196 -struct tagMCI_WAVE_OPEN_PARMSW { 3197 - DWORD_PTR dwCallback; 3198 - MCIDEVICEID wDeviceID; 3199 - LPCWSTR lpstrDeviceType; 3200 - LPCWSTR lpstrElementName; 3201 - LPCWSTR lpstrAlias; 3202 - DWORD dwBufferSeconds; 3203 -} 3204 -alias tagMCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMSW; 3205 -alias tagMCI_WAVE_OPEN_PARMSW* PMCI_WAVE_OPEN_PARMSW; 3206 -alias tagMCI_WAVE_OPEN_PARMSW* LPMCI_WAVE_OPEN_PARMSW; 3207 - 3208 -// #ifdef UNICODE 3209 -// ... 3210 -// #else 3211 -alias MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS; 3212 -alias PMCI_WAVE_OPEN_PARMSA PMCI_WAVE_OPEN_PARMS; 3213 -alias LPMCI_WAVE_OPEN_PARMSA LPMCI_WAVE_OPEN_PARMS; 3214 -// #endif // UNICODE 3215 - 3216 -// #else 3217 -// ... 3218 -// #endif 3219 - 3220 -struct tagMCI_WAVE_DELETE_PARMS { 3221 - DWORD_PTR dwCallback; 3222 - DWORD dwFrom; 3223 - DWORD dwTo; 3224 -} 3225 -alias tagMCI_WAVE_DELETE_PARMS MCI_WAVE_DELETE_PARMS; 3226 -alias tagMCI_WAVE_DELETE_PARMS* PMCI_WAVE_DELETE_PARMS; 3227 -alias tagMCI_WAVE_DELETE_PARMS* LPMCI_WAVE_DELETE_PARMS; 3228 - 3229 -struct tagMCI_WAVE_SET_PARMS { 3230 - DWORD_PTR dwCallback; 3231 - DWORD dwTimeFormat; 3232 - DWORD dwAudio; 3233 -// #ifdef _WIN32 3234 - UINT wInput; 3235 - UINT wOutput; 3236 -// #else 3237 -// ... 3238 -// #endif 3239 - WORD wFormatTag; 3240 - WORD wReserved2; 3241 - WORD nChannels; 3242 - WORD wReserved3; 3243 - DWORD nSamplesPerSec; 3244 - DWORD nAvgBytesPerSec; 3245 - WORD nBlockAlign; 3246 - WORD wReserved4; 3247 - WORD wBitsPerSample; 3248 - WORD wReserved5; 3249 -} 3250 -alias tagMCI_WAVE_SET_PARMS MCI_WAVE_SET_PARMS; 3251 -alias tagMCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS; 3252 -alias tagMCI_WAVE_SET_PARMS* LPMCI_WAVE_SET_PARMS; 3253 - 3254 -enum : uint { MCI_SEQ_DIV_PPQN = 0 + MCI_SEQ_OFFSET } 3255 -enum : uint { MCI_SEQ_DIV_SMPTE_24 = 1 + MCI_SEQ_OFFSET } 3256 -enum : uint { MCI_SEQ_DIV_SMPTE_25 = 2 + MCI_SEQ_OFFSET } 3257 -enum : uint { MCI_SEQ_DIV_SMPTE_30DROP = 3 + MCI_SEQ_OFFSET } 3258 -enum : uint { MCI_SEQ_DIV_SMPTE_30 = 4 + MCI_SEQ_OFFSET } 3259 - 3260 -enum : uint { MCI_SEQ_FORMAT_SONGPTR = 0x4001 } 3261 -enum : uint { MCI_SEQ_FILE = 0x4002 } 3262 -enum : uint { MCI_SEQ_MIDI = 0x4003 } 3263 -enum : uint { MCI_SEQ_SMPTE = 0x4004 } 3264 -enum : uint { MCI_SEQ_NONE = 65533 } 3265 -enum : uint { MCI_SEQ_MAPPER = 65535 } 3266 - 3267 -enum : uint { MCI_SEQ_STATUS_TEMPO = 0x00004002 } 3268 -enum : uint { MCI_SEQ_STATUS_PORT = 0x00004003 } 3269 -enum : uint { MCI_SEQ_STATUS_SLAVE = 0x00004007 } 3270 -enum : uint { MCI_SEQ_STATUS_MASTER = 0x00004008 } 3271 -enum : uint { MCI_SEQ_STATUS_OFFSET = 0x00004009 } 3272 -enum : uint { MCI_SEQ_STATUS_DIVTYPE = 0x0000400A } 3273 -enum : uint { MCI_SEQ_STATUS_NAME = 0x0000400B } 3274 -enum : uint { MCI_SEQ_STATUS_COPYRIGHT = 0x0000400C } 3275 - 3276 -enum : uint { MCI_SEQ_SET_TEMPO = 0x00010000 } 3277 -enum : uint { MCI_SEQ_SET_PORT = 0x00020000 } 3278 -enum : uint { MCI_SEQ_SET_SLAVE = 0x00040000 } 3279 -enum : uint { MCI_SEQ_SET_MASTER = 0x00080000 } 3280 -enum : uint { MCI_SEQ_SET_OFFSET = 0x01000000 } 3281 - 3282 -struct tagMCI_SEQ_SET_PARMS { 3283 - DWORD_PTR dwCallback; 3284 - DWORD dwTimeFormat; 3285 - DWORD dwAudio; 3286 - DWORD dwTempo; 3287 - DWORD dwPort; 3288 - DWORD dwSlave; 3289 - DWORD dwMaster; 3290 - DWORD dwOffset; 3291 -} 3292 -alias tagMCI_SEQ_SET_PARMS MCI_SEQ_SET_PARMS; 3293 -alias tagMCI_SEQ_SET_PARMS* PMCI_SEQ_SET_PARMS; 3294 -alias tagMCI_SEQ_SET_PARMS* LPMCI_SEQ_SET_PARMS; 3295 - 3296 -enum : uint { MCI_ANIM_OPEN_WS = 0x00010000 } 3297 -enum : uint { MCI_ANIM_OPEN_PARENT = 0x00020000 } 3298 -enum : uint { MCI_ANIM_OPEN_NOSTATIC = 0x00040000 } 3299 - 3300 -enum : uint { MCI_ANIM_PLAY_SPEED = 0x00010000 } 3301 -enum : uint { MCI_ANIM_PLAY_REVERSE = 0x00020000 } 3302 -enum : uint { MCI_ANIM_PLAY_FAST = 0x00040000 } 3303 -enum : uint { MCI_ANIM_PLAY_SLOW = 0x00080000 } 3304 -enum : uint { MCI_ANIM_PLAY_SCAN = 0x00100000 } 3305 - 3306 -enum : uint { MCI_ANIM_STEP_REVERSE = 0x00010000 } 3307 -enum : uint { MCI_ANIM_STEP_FRAMES = 0x00020000 } 3308 - 3309 -enum : uint { MCI_ANIM_STATUS_SPEED = 0x00004001 } 3310 -enum : uint { MCI_ANIM_STATUS_FORWARD = 0x00004002 } 3311 -enum : uint { MCI_ANIM_STATUS_HWND = 0x00004003 } 3312 -enum : uint { MCI_ANIM_STATUS_HPAL = 0x00004004 } 3313 -enum : uint { MCI_ANIM_STATUS_STRETCH = 0x00004005 } 3314 - 3315 -enum : uint { MCI_ANIM_INFO_TEXT = 0x00010000 } 3316 - 3317 -enum : uint { MCI_ANIM_GETDEVCAPS_CAN_REVERSE = 0x00004001 } 3318 -enum : uint { MCI_ANIM_GETDEVCAPS_FAST_RATE = 0x00004002 } 3319 -enum : uint { MCI_ANIM_GETDEVCAPS_SLOW_RATE = 0x00004003 } 3320 -enum : uint { MCI_ANIM_GETDEVCAPS_NORMAL_RATE = 0x00004004 } 3321 -enum : uint { MCI_ANIM_GETDEVCAPS_PALETTES = 0x00004006 } 3322 -enum : uint { MCI_ANIM_GETDEVCAPS_CAN_STRETCH = 0x00004007 } 3323 -enum : uint { MCI_ANIM_GETDEVCAPS_MAX_WINDOWS = 0x00004008 } 3324 - 3325 -enum : uint { MCI_ANIM_REALIZE_NORM = 0x00010000 } 3326 -enum : uint { MCI_ANIM_REALIZE_BKGD = 0x00020000 } 3327 - 3328 -enum : uint { MCI_ANIM_WINDOW_HWND = 0x00010000 } 3329 -enum : uint { MCI_ANIM_WINDOW_STATE = 0x00040000 } 3330 -enum : uint { MCI_ANIM_WINDOW_TEXT = 0x00080000 } 3331 -enum : uint { MCI_ANIM_WINDOW_ENABLE_STRETCH = 0x00100000 } 3332 -enum : uint { MCI_ANIM_WINDOW_DISABLE_STRETCH = 0x00200000 } 3333 - 3334 -enum : uint { MCI_ANIM_WINDOW_DEFAULT = 0x00000000 } 3335 - 3336 -enum : uint { MCI_ANIM_RECT = 0x00010000 } 3337 -enum : uint { MCI_ANIM_PUT_SOURCE = 0x00020000 } 3338 -enum : uint { MCI_ANIM_PUT_DESTINATION = 0x00040000 } 3339 - 3340 -enum : uint { MCI_ANIM_WHERE_SOURCE = 0x00020000 } 3341 -enum : uint { MCI_ANIM_WHERE_DESTINATION = 0x00040000 } 3342 - 3343 -enum : uint { MCI_ANIM_UPDATE_HDC = 0x00020000 } 3344 - 3345 -// #ifdef _WIN32 3346 - 3347 -struct tagMCI_ANIM_OPEN_PARMSA { 3348 - DWORD_PTR dwCallback; 3349 - MCIDEVICEID wDeviceID; 3350 - LPCSTR lpstrDeviceType; 3351 - LPCSTR lpstrElementName; 3352 - LPCSTR lpstrAlias; 3353 - DWORD dwStyle; 3354 - HWND hWndParent; 3355 -} 3356 -alias tagMCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMSA; 3357 -alias tagMCI_ANIM_OPEN_PARMSA* PMCI_ANIM_OPEN_PARMSA; 3358 -alias tagMCI_ANIM_OPEN_PARMSA* LPMCI_ANIM_OPEN_PARMSA; 3359 - 3360 -struct tagMCI_ANIM_OPEN_PARMSW { 3361 - DWORD_PTR dwCallback; 3362 - MCIDEVICEID wDeviceID; 3363 - LPCWSTR lpstrDeviceType; 3364 - LPCWSTR lpstrElementName; 3365 - LPCWSTR lpstrAlias; 3366 - DWORD dwStyle; 3367 - HWND hWndParent; 3368 -} 3369 -alias tagMCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMSW; 3370 -alias tagMCI_ANIM_OPEN_PARMSW* PMCI_ANIM_OPEN_PARMSW; 3371 -alias tagMCI_ANIM_OPEN_PARMSW* LPMCI_ANIM_OPEN_PARMSW; 3372 - 3373 -// #ifdef UNICODE 3374 -// ... 3375 -// #else 3376 -alias MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS; 3377 -alias PMCI_ANIM_OPEN_PARMSA PMCI_ANIM_OPEN_PARMS; 3378 -alias LPMCI_ANIM_OPEN_PARMSA LPMCI_ANIM_OPEN_PARMS; 3379 -// #endif // UNICODE 3380 - 3381 -// #else 3382 -// ... 3383 -// #endif 3384 - 3385 -struct tagMCI_ANIM_PLAY_PARMS { 3386 - DWORD_PTR dwCallback; 3387 - DWORD dwFrom; 3388 - DWORD dwTo; 3389 - DWORD dwSpeed; 3390 -} 3391 -alias tagMCI_ANIM_PLAY_PARMS MCI_ANIM_PLAY_PARMS; 3392 -alias tagMCI_ANIM_PLAY_PARMS* PMCI_ANIM_PLAY_PARMS; 3393 -alias tagMCI_ANIM_PLAY_PARMS* LPMCI_ANIM_PLAY_PARMS; 3394 - 3395 -struct tagMCI_ANIM_STEP_PARMS { 3396 - DWORD_PTR dwCallback; 3397 - DWORD dwFrames; 3398 -} 3399 -alias tagMCI_ANIM_STEP_PARMS MCI_ANIM_STEP_PARMS; 3400 -alias tagMCI_ANIM_STEP_PARMS* PMCI_ANIM_STEP_PARMS; 3401 -alias tagMCI_ANIM_STEP_PARMS* LPMCI_ANIM_STEP_PARMS; 3402 - 3403 -// #ifdef _WIN32 3404 - 3405 -struct tagMCI_ANIM_WINDOW_PARMSA { 3406 - DWORD_PTR dwCallback; 3407 - HWND hWnd; 3408 - UINT nCmdShow; 3409 - LPCSTR lpstrText; 3410 -} 3411 -alias tagMCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMSA; 3412 -alias tagMCI_ANIM_WINDOW_PARMSA* PMCI_ANIM_WINDOW_PARMSA; 3413 -alias tagMCI_ANIM_WINDOW_PARMSA* LPMCI_ANIM_WINDOW_PARMSA; 3414 - 3415 -struct tagMCI_ANIM_WINDOW_PARMSW { 3416 - DWORD_PTR dwCallback; 3417 - HWND hWnd; 3418 - UINT nCmdShow; 3419 - LPCWSTR lpstrText; 3420 -} 3421 -alias tagMCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMSW; 3422 -alias tagMCI_ANIM_WINDOW_PARMSW* PMCI_ANIM_WINDOW_PARMSW; 3423 -alias tagMCI_ANIM_WINDOW_PARMSW* LPMCI_ANIM_WINDOW_PARMSW; 3424 - 3425 -// #ifdef UNICODE 3426 -// ... 3427 -// #else 3428 -alias MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS; 3429 -alias PMCI_ANIM_WINDOW_PARMSA PMCI_ANIM_WINDOW_PARMS; 3430 -alias LPMCI_ANIM_WINDOW_PARMSA LPMCI_ANIM_WINDOW_PARMS; 3431 -// #endif // UNICODE 3432 - 3433 -// #else 3434 -// ... 3435 -// #endif 3436 - 3437 -struct tagMCI_ANIM_RECT_PARMS { 3438 - DWORD_PTR dwCallback; 3439 -// #ifdef MCI_USE_OFFEXT 3440 -// ... 3441 -// #else /* ifdef MCI_USE_OFFEXT */ 3442 - RECT rc; 3443 -// #endif /* ifdef MCI_USE_OFFEXT */ 3444 -} 3445 -alias tagMCI_ANIM_RECT_PARMS MCI_ANIM_RECT_PARMS; 3446 - 3447 -alias MCI_ANIM_RECT_PARMS* PMCI_ANIM_RECT_PARMS; 3448 -alias MCI_ANIM_RECT_PARMS* LPMCI_ANIM_RECT_PARMS; 3449 - 3450 -struct tagMCI_ANIM_UPDATE_PARMS { 3451 - DWORD_PTR dwCallback; 3452 - RECT rc; 3453 - HDC hDC; 3454 -} 3455 -alias tagMCI_ANIM_UPDATE_PARMS MCI_ANIM_UPDATE_PARMS; 3456 -alias tagMCI_ANIM_UPDATE_PARMS* PMCI_ANIM_UPDATE_PARMS; 3457 -alias tagMCI_ANIM_UPDATE_PARMS* LPMCI_ANIM_UPDATE_PARMS; 3458 - 3459 -enum : uint { MCI_OVLY_OPEN_WS = 0x00010000 } 3460 -enum : uint { MCI_OVLY_OPEN_PARENT = 0x00020000 } 3461 - 3462 -enum : uint { MCI_OVLY_STATUS_HWND = 0x00004001 } 3463 -enum : uint { MCI_OVLY_STATUS_STRETCH = 0x00004002 } 3464 - 3465 -enum : uint { MCI_OVLY_INFO_TEXT = 0x00010000 } 3466 - 3467 -enum : uint { MCI_OVLY_GETDEVCAPS_CAN_STRETCH = 0x00004001 } 3468 -enum : uint { MCI_OVLY_GETDEVCAPS_CAN_FREEZE = 0x00004002 } 3469 -enum : uint { MCI_OVLY_GETDEVCAPS_MAX_WINDOWS = 0x00004003 } 3470 - 3471 -enum : uint { MCI_OVLY_WINDOW_HWND = 0x00010000 } 3472 -enum : uint { MCI_OVLY_WINDOW_STATE = 0x00040000 } 3473 -enum : uint { MCI_OVLY_WINDOW_TEXT = 0x00080000 } 3474 -enum : uint { MCI_OVLY_WINDOW_ENABLE_STRETCH = 0x00100000 } 3475 -enum : uint { MCI_OVLY_WINDOW_DISABLE_STRETCH = 0x00200000 } 3476 - 3477 -enum : uint { MCI_OVLY_WINDOW_DEFAULT = 0x00000000 } 3478 - 3479 -enum : uint { MCI_OVLY_RECT = 0x00010000 } 3480 -enum : uint { MCI_OVLY_PUT_SOURCE = 0x00020000 } 3481 -enum : uint { MCI_OVLY_PUT_DESTINATION = 0x00040000 } 3482 -enum : uint { MCI_OVLY_PUT_FRAME = 0x00080000 } 3483 -enum : uint { MCI_OVLY_PUT_VIDEO = 0x00100000 } 3484 - 3485 -enum : uint { MCI_OVLY_WHERE_SOURCE = 0x00020000 } 3486 -enum : uint { MCI_OVLY_WHERE_DESTINATION = 0x00040000 } 3487 -enum : uint { MCI_OVLY_WHERE_FRAME = 0x00080000 } 3488 -enum : uint { MCI_OVLY_WHERE_VIDEO = 0x00100000 } 3489 - 3490 -// #ifdef _WIN32 3491 - 3492 -struct tagMCI_OVLY_OPEN_PARMSA { 3493 - DWORD_PTR dwCallback; 3494 - MCIDEVICEID wDeviceID; 3495 - LPCSTR lpstrDeviceType; 3496 - LPCSTR lpstrElementName; 3497 - LPCSTR lpstrAlias; 3498 - DWORD dwStyle; 3499 - HWND hWndParent; 3500 -} 3501 -alias tagMCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMSA; 3502 -alias tagMCI_OVLY_OPEN_PARMSA* PMCI_OVLY_OPEN_PARMSA; 3503 -alias tagMCI_OVLY_OPEN_PARMSA* LPMCI_OVLY_OPEN_PARMSA; 3504 - 3505 -struct tagMCI_OVLY_OPEN_PARMSW { 3506 - DWORD_PTR dwCallback; 3507 - MCIDEVICEID wDeviceID; 3508 - LPCWSTR lpstrDeviceType; 3509 - LPCWSTR lpstrElementName; 3510 - LPCWSTR lpstrAlias; 3511 - DWORD dwStyle; 3512 - HWND hWndParent; 3513 -} 3514 -alias tagMCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMSW; 3515 -alias tagMCI_OVLY_OPEN_PARMSW* PMCI_OVLY_OPEN_PARMSW; 3516 -alias tagMCI_OVLY_OPEN_PARMSW* LPMCI_OVLY_OPEN_PARMSW; 3517 - 3518 -// #ifdef UNICODE 3519 -// ... 3520 -// #else 3521 -alias MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS; 3522 -alias PMCI_OVLY_OPEN_PARMSA PMCI_OVLY_OPEN_PARMS; 3523 -alias LPMCI_OVLY_OPEN_PARMSA LPMCI_OVLY_OPEN_PARMS; 3524 -// #endif // UNICODE 3525 - 3526 -// #else 3527 -// ... 3528 -// #endif 3529 - 3530 -// #ifdef _WIN32 3531 - 3532 -struct tagMCI_OVLY_WINDOW_PARMSA { 3533 - DWORD_PTR dwCallback; 3534 - HWND hWnd; 3535 - UINT nCmdShow; 3536 - LPCSTR lpstrText; 3537 -} 3538 -alias tagMCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMSA; 3539 -alias tagMCI_OVLY_WINDOW_PARMSA* PMCI_OVLY_WINDOW_PARMSA; 3540 -alias tagMCI_OVLY_WINDOW_PARMSA* LPMCI_OVLY_WINDOW_PARMSA; 3541 - 3542 -struct tagMCI_OVLY_WINDOW_PARMSW { 3543 - DWORD_PTR dwCallback; 3544 - HWND hWnd; 3545 - UINT nCmdShow; 3546 - LPCWSTR lpstrText; 3547 -} 3548 -alias tagMCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMSW; 3549 -alias tagMCI_OVLY_WINDOW_PARMSW* PMCI_OVLY_WINDOW_PARMSW; 3550 -alias tagMCI_OVLY_WINDOW_PARMSW* LPMCI_OVLY_WINDOW_PARMSW; 3551 - 3552 -// #ifdef UNICODE 3553 -// ... 3554 -// #else 3555 -alias MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS; 3556 -alias PMCI_OVLY_WINDOW_PARMSA PMCI_OVLY_WINDOW_PARMS; 3557 -alias LPMCI_OVLY_WINDOW_PARMSA LPMCI_OVLY_WINDOW_PARMS; 3558 -// #endif // UNICODE 3559 -// #else 3560 -// ... 3561 -// #endif 3562 - 3563 -struct tagMCI_OVLY_RECT_PARMS { 3564 - DWORD_PTR dwCallback; 3565 -// #ifdef MCI_USE_OFFEXT 3566 -// ... 3567 -// #else /* ifdef MCI_USE_OFFEXT */ 3568 - RECT rc; 3569 -// #endif /* ifdef MCI_USE_OFFEXT */ 3570 -} 3571 -alias tagMCI_OVLY_RECT_PARMS MCI_OVLY_RECT_PARMS; 3572 -alias tagMCI_OVLY_RECT_PARMS* PMCI_OVLY_RECT_PARMS; 3573 -alias tagMCI_OVLY_RECT_PARMS* LPMCI_OVLY_RECT_PARMS; 3574 - 3575 -// #ifdef _WIN32 3576 - 3577 -struct tagMCI_OVLY_SAVE_PARMSA { 3578 - DWORD_PTR dwCallback; 3579 - LPCSTR lpfilename; 3580 - RECT rc; 3581 -} 3582 -alias tagMCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMSA; 3583 -alias tagMCI_OVLY_SAVE_PARMSA* PMCI_OVLY_SAVE_PARMSA; 3584 -alias tagMCI_OVLY_SAVE_PARMSA* LPMCI_OVLY_SAVE_PARMSA; 3585 - 3586 -struct tagMCI_OVLY_SAVE_PARMSW { 3587 - DWORD_PTR dwCallback; 3588 - LPCWSTR lpfilename; 3589 - RECT rc; 3590 -} 3591 -alias tagMCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMSW; 3592 -alias tagMCI_OVLY_SAVE_PARMSW* PMCI_OVLY_SAVE_PARMSW; 3593 -alias tagMCI_OVLY_SAVE_PARMSW* LPMCI_OVLY_SAVE_PARMSW; 3594 - 3595 -// #ifdef UNICODE 3596 -// ... 3597 -// #else 3598 -alias MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS; 3599 -alias PMCI_OVLY_SAVE_PARMSA PMCI_OVLY_SAVE_PARMS; 3600 -alias LPMCI_OVLY_SAVE_PARMSA LPMCI_OVLY_SAVE_PARMS; 3601 -// #endif // UNICODE 3602 -// #else 3603 -// ... 3604 -// #endif 3605 - 3606 -// #ifdef _WIN32 3607 - 3608 -struct tagMCI_OVLY_LOAD_PARMSA { 3609 - DWORD_PTR dwCallback; 3610 - LPCSTR lpfilename; 3611 - RECT rc; 3612 -} 3613 -alias tagMCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMSA; 3614 -alias tagMCI_OVLY_LOAD_PARMSA* PMCI_OVLY_LOAD_PARMSA; 3615 -alias tagMCI_OVLY_LOAD_PARMSA* LPMCI_OVLY_LOAD_PARMSA; 3616 - 3617 -struct tagMCI_OVLY_LOAD_PARMSW { 3618 - DWORD_PTR dwCallback; 3619 - LPCWSTR lpfilename; 3620 - RECT rc; 3621 -} 3622 -alias tagMCI_OVLY_LOAD_PARMSW MCI_OVLY_LOAD_PARMSW; 3623 -alias tagMCI_OVLY_LOAD_PARMSW* PMCI_OVLY_LOAD_PARMSW; 3624 -alias tagMCI_OVLY_LOAD_PARMSW* LPMCI_OVLY_LOAD_PARMSW; 3625 - 3626 -// #ifdef UNICODE 3627 -// ... 3628 -// #else 3629 -alias MCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMS; 3630 -alias PMCI_OVLY_LOAD_PARMSA PMCI_OVLY_LOAD_PARMS; 3631 -alias LPMCI_OVLY_LOAD_PARMSA LPMCI_OVLY_LOAD_PARMS; 3632 -// #endif // UNICODE 3633 -// #else 3634 -// ... 3635 -// #endif 3636 - 3637 -// #endif /* ifndef MMNOMCI */ 3638 - 3639 -// #ifndef NEWTRANSPARENT 3640 -enum : uint { NEWTRANSPARENT = 3 } 3641 - 3642 -enum : uint { QUERYROPSUPPORT = 40 } 3643 -// #endif /* ifndef NEWTRANSPARENT */ 3644 - 3645 -enum : uint { SELECTDIB = 41 } 3646 -// #define DIBINDEX(n) MAKELONG((n),0x10FF) 3647 - 3648 -// #ifndef SC_SCREENSAVE 3649 - 3650 -enum : uint { SC_SCREENSAVE = 0xF140 } 3651 - 3652 -// #endif /* ifndef SC_SCREENSAVE */ 3653 - 3654 -// #ifdef __cplusplus 3655 -// } 3656 -// #endif /* __cplusplus */ 3657 - 3658 -// #ifdef _WIN32 3659 -align: 3660 -// #else 3661 -// #ifndef RC_INVOKED 3662 -// #... 3663 -// #endif 3664 -// #endif 3665 - 3666 -// #endif /* _INC_MMSYSTEM */ 3667 -

Deleted src/win32/ansi/shellapi.d version [7a873e3005c133e6]

1 -module win32.ansi.shellapi; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winuser; 7 - 8 -// #ifndef _INC_SHELLAPI 9 -// #define _INC_SHELLAPI 10 - 11 -// #ifndef WINSHELLAPI 12 -// #if !defined(_SHELL32_) 13 -// #define WINSHELLAPI DECLSPEC_IMPORT 14 -// #else 15 -// #... 16 -// #endif 17 -// #endif // WINSHELLAPI 18 - 19 -// #ifndef SHSTDAPI 20 -// #if !defined(_SHELL32_) 21 -// #define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE 22 -// #define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE 23 -// #else 24 -// #... 25 -// #... 26 -// #endif 27 -// #endif // SHSTDAPI 28 - 29 -// #ifndef SHDOCAPI 30 -// #if !defined(_SHDOCVW_) 31 -// #define SHDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE 32 -// #define SHDOCAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE 33 -// #else 34 -// #... 35 -// #... 36 -// #endif 37 -// #endif // SHDOCAPI 38 - 39 -// #if !defined(_WIN64) 40 -align(1): 41 -// #endif 42 - 43 -// #ifdef __cplusplus 44 -// extern "C" { /* Assume C declarations for C++ */ 45 -// #endif /* __cplusplus */ 46 - 47 -alias void* HDROP; 48 - 49 -extern(Windows) export UINT DragQueryFileA(HDROP,UINT,LPSTR,UINT); 50 -extern(Windows) export UINT DragQueryFileW(HDROP,UINT,LPWSTR,UINT); 51 -// #ifdef UNICODE 52 -// #... 53 -// #else 54 -alias DragQueryFileA DragQueryFile; 55 -// #endif // !UNICODE 56 -extern(Windows) export BOOL DragQueryPoint(HDROP,LPPOINT); 57 -extern(Windows) export void DragFinish(HDROP); 58 -extern(Windows) export void DragAcceptFiles(HWND,BOOL); 59 - 60 -extern(Windows) export HINSTANCE ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd); 61 -extern(Windows) export HINSTANCE ShellExecuteW(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd); 62 -// #ifdef UNICODE 63 -// #... 64 -// #else 65 -alias ShellExecuteA ShellExecute; 66 -// #endif // !UNICODE 67 -extern(Windows) export HINSTANCE FindExecutableA(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult); 68 -extern(Windows) export HINSTANCE FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult); 69 -// #ifdef UNICODE 70 -// #... 71 -// #else 72 -alias FindExecutableA FindExecutable; 73 -// #endif // !UNICODE 74 -extern(Windows) export LPWSTR * CommandLineToArgvW(LPCWSTR lpCmdLine, int*pNumArgs); 75 - 76 -extern(Windows) export INT ShellAboutA(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon); 77 -extern(Windows) export INT ShellAboutW(HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon); 78 -// #ifdef UNICODE 79 -// #... 80 -// #else 81 -alias ShellAboutA ShellAbout; 82 -// #endif // !UNICODE 83 -extern(Windows) export HICON DuplicateIcon(HINSTANCE hInst, HICON hIcon); 84 -extern(Windows) export HICON ExtractAssociatedIconA(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lpiIcon); 85 -extern(Windows) export HICON ExtractAssociatedIconW(HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIcon); 86 -// #ifdef UNICODE 87 -// #... 88 -// #else 89 -alias ExtractAssociatedIconA ExtractAssociatedIcon; 90 -// #endif // !UNICODE 91 -extern(Windows) export HICON ExtractIconA(HINSTANCE hInst, LPCSTR lpszExeFileName, UINT nIconIndex); 92 -extern(Windows) export HICON ExtractIconW(HINSTANCE hInst, LPCWSTR lpszExeFileName, UINT nIconIndex); 93 -// #ifdef UNICODE 94 -// #... 95 -// #else 96 -alias ExtractIconA ExtractIcon; 97 -// #endif // !UNICODE 98 - 99 -// #if(WINVER >= 0x0400) 100 -struct _DRAGINFOA { 101 - UINT uSize; 102 - POINT pt; 103 - BOOL fNC; 104 - LPSTR lpFileList; 105 - DWORD grfKeyState; 106 -} 107 -alias _DRAGINFOA DRAGINFOA; 108 -alias _DRAGINFOA* LPDRAGINFOA; 109 - 110 -struct _DRAGINFOW { 111 - UINT uSize; 112 - POINT pt; 113 - BOOL fNC; 114 - LPWSTR lpFileList; 115 - DWORD grfKeyState; 116 -} 117 -alias _DRAGINFOW DRAGINFOW; 118 -alias _DRAGINFOW* LPDRAGINFOW; 119 - 120 -// #ifdef UNICODE 121 -// ... 122 -// #else 123 -alias DRAGINFOA DRAGINFO; 124 -alias LPDRAGINFOA LPDRAGINFO; 125 -// #endif // UNICODE 126 - 127 -enum : uint { ABM_NEW = 0x00000000 } 128 -enum : uint { ABM_REMOVE = 0x00000001 } 129 -enum : uint { ABM_QUERYPOS = 0x00000002 } 130 -enum : uint { ABM_SETPOS = 0x00000003 } 131 -enum : uint { ABM_GETSTATE = 0x00000004 } 132 -enum : uint { ABM_GETTASKBARPOS = 0x00000005 } 133 -enum : uint { ABM_ACTIVATE = 0x00000006 } 134 -enum : uint { ABM_GETAUTOHIDEBAR = 0x00000007 } 135 -enum : uint { ABM_SETAUTOHIDEBAR = 0x00000008 } 136 - 137 -enum : uint { ABM_WINDOWPOSCHANGED = 0x0000009 } 138 -enum : uint { ABM_SETSTATE = 0x0000000a } 139 - 140 -enum : uint { ABN_STATECHANGE = 0x0000000 } 141 -enum : uint { ABN_POSCHANGED = 0x0000001 } 142 -enum : uint { ABN_FULLSCREENAPP = 0x0000002 } 143 -enum : uint { ABN_WINDOWARRANGE = 0x0000003 } 144 - 145 -enum : uint { ABS_AUTOHIDE = 0x0000001 } 146 -enum : uint { ABS_ALWAYSONTOP = 0x0000002 } 147 - 148 -enum : uint { ABE_LEFT = 0 } 149 -enum : uint { ABE_TOP = 1 } 150 -enum : uint { ABE_RIGHT = 2 } 151 -enum : uint { ABE_BOTTOM = 3 } 152 - 153 -struct _AppBarData { 154 - DWORD cbSize; 155 - HWND hWnd; 156 - UINT uCallbackMessage; 157 - UINT uEdge; 158 - RECT rc; 159 - LPARAM lParam; 160 -} 161 -alias _AppBarData APPBARDATA; 162 -alias _AppBarData* PAPPBARDATA; 163 - 164 -extern(Windows) export UINT_PTR SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData); 165 - 166 -extern(Windows) export DWORD DoEnvironmentSubstA(LPSTR szString, UINT cchString); 167 -extern(Windows) export DWORD DoEnvironmentSubstW(LPWSTR szString, UINT cchString); 168 -// #ifdef UNICODE 169 -// #... 170 -// #else 171 -alias DoEnvironmentSubstA DoEnvironmentSubst; 172 -// #endif // !UNICODE 173 - 174 -// #define EIRESID(x) (-1 * (int)(x)) 175 -extern(Windows) export UINT ExtractIconExA(LPCSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons); 176 -extern(Windows) export UINT ExtractIconExW(LPCWSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons); 177 -// #ifdef UNICODE 178 -// #... 179 -// #else 180 -alias ExtractIconExA ExtractIconEx; 181 -// #endif // !UNICODE 182 - 183 -// #ifndef FO_MOVE //these need to be kept in sync with the ones in shlobj.h 184 - 185 -enum : uint { FO_MOVE = 0x0001 } 186 -enum : uint { FO_COPY = 0x0002 } 187 -enum : uint { FO_DELETE = 0x0003 } 188 -enum : uint { FO_RENAME = 0x0004 } 189 - 190 -enum : uint { FOF_MULTIDESTFILES = 0x0001 } 191 -enum : uint { FOF_CONFIRMMOUSE = 0x0002 } 192 -enum : uint { FOF_SILENT = 0x0004 } 193 -enum : uint { FOF_RENAMEONCOLLISION = 0x0008 } 194 -enum : uint { FOF_NOCONFIRMATION = 0x0010 } 195 -enum : uint { FOF_WANTMAPPINGHANDLE = 0x0020 } 196 - 197 -enum : uint { FOF_ALLOWUNDO = 0x0040 } 198 -enum : uint { FOF_FILESONLY = 0x0080 } 199 -enum : uint { FOF_SIMPLEPROGRESS = 0x0100 } 200 -enum : uint { FOF_NOCONFIRMMKDIR = 0x0200 } 201 -enum : uint { FOF_NOERRORUI = 0x0400 } 202 -enum : uint { FOF_NOCOPYSECURITYATTRIBS = 0x0800 } 203 -enum : uint { FOF_NORECURSION = 0x1000 } 204 -// #if (_WIN32_IE >= 0x0500) 205 -enum : uint { FOF_NO_CONNECTED_ELEMENTS = 0x2000 } 206 -enum : uint { FOF_WANTNUKEWARNING = 0x4000 } 207 -// #endif // (_WIN32_IE >= 0x500) 208 -// #if (_WIN32_WINNT >= 0x0501) 209 -enum : uint { FOF_NORECURSEREPARSE = 0x8000 } 210 -// #endif // (_WIN32_WINNT >= 0x501) 211 - 212 -alias WORD FILEOP_FLAGS; 213 - 214 -enum : uint { PO_DELETE = 0x0013 } 215 -enum : uint { PO_RENAME = 0x0014 } 216 -enum : uint { PO_PORTCHANGE = 0x0020 } 217 - 218 -enum : uint { PO_REN_PORT = 0x0034 } 219 - 220 -alias WORD PRINTEROP_FLAGS; 221 - 222 -// #endif // FO_MOVE 223 - 224 -struct _SHFILEOPSTRUCTA { 225 - HWND hwnd; 226 - UINT wFunc; 227 - LPCSTR pFrom; 228 - LPCSTR pTo; 229 - FILEOP_FLAGS fFlags; 230 - BOOL fAnyOperationsAborted; 231 - LPVOID hNameMappings; 232 - LPCSTR lpszProgressTitle; 233 -} 234 -alias _SHFILEOPSTRUCTA SHFILEOPSTRUCTA; 235 -alias _SHFILEOPSTRUCTA* LPSHFILEOPSTRUCTA; 236 - 237 -struct _SHFILEOPSTRUCTW { 238 - HWND hwnd; 239 - UINT wFunc; 240 - LPCWSTR pFrom; 241 - LPCWSTR pTo; 242 - FILEOP_FLAGS fFlags; 243 - BOOL fAnyOperationsAborted; 244 - LPVOID hNameMappings; 245 - LPCWSTR lpszProgressTitle; 246 -} 247 -alias _SHFILEOPSTRUCTW SHFILEOPSTRUCTW; 248 -alias _SHFILEOPSTRUCTW* LPSHFILEOPSTRUCTW; 249 - 250 -// #ifdef UNICODE 251 -// ... 252 -// #else 253 -alias SHFILEOPSTRUCTA SHFILEOPSTRUCT; 254 -alias LPSHFILEOPSTRUCTA LPSHFILEOPSTRUCT; 255 -// #endif // UNICODE 256 - 257 -extern(Windows) export int SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp); 258 -extern(Windows) export int SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp); 259 -// #ifdef UNICODE 260 -// #... 261 -// #else 262 -alias SHFileOperationA SHFileOperation; 263 -// #endif // !UNICODE 264 -extern(Windows) export void SHFreeNameMappings(HANDLE hNameMappings); 265 - 266 -struct _SHNAMEMAPPINGA { 267 - LPSTR pszOldPath; 268 - LPSTR pszNewPath; 269 - int cchOldPath; 270 - int cchNewPath; 271 -} 272 -alias _SHNAMEMAPPINGA SHNAMEMAPPINGA; 273 -alias _SHNAMEMAPPINGA* LPSHNAMEMAPPINGA; 274 - 275 -struct _SHNAMEMAPPINGW { 276 - LPWSTR pszOldPath; 277 - LPWSTR pszNewPath; 278 - int cchOldPath; 279 - int cchNewPath; 280 -} 281 -alias _SHNAMEMAPPINGW SHNAMEMAPPINGW; 282 -alias _SHNAMEMAPPINGW* LPSHNAMEMAPPINGW; 283 - 284 -// #ifdef UNICODE 285 -// ... 286 -// #else 287 -alias SHNAMEMAPPINGA SHNAMEMAPPING; 288 -alias LPSHNAMEMAPPINGA LPSHNAMEMAPPING; 289 -// #endif // UNICODE 290 - 291 -enum : uint { SE_ERR_FNF = 2 } 292 -enum : uint { SE_ERR_PNF = 3 } 293 -enum : uint { SE_ERR_ACCESSDENIED = 5 } 294 -enum : uint { SE_ERR_OOM = 8 } 295 -enum : uint { SE_ERR_DLLNOTFOUND = 32 } 296 - 297 -// #endif /* WINVER >= 0x0400 */ 298 - 299 -enum : uint { SE_ERR_SHARE = 26 } 300 -enum : uint { SE_ERR_ASSOCINCOMPLETE = 27 } 301 -enum : uint { SE_ERR_DDETIMEOUT = 28 } 302 -enum : uint { SE_ERR_DDEFAIL = 29 } 303 -enum : uint { SE_ERR_DDEBUSY = 30 } 304 -enum : uint { SE_ERR_NOASSOC = 31 } 305 - 306 -// #if(WINVER >= 0x0400) 307 - 308 -enum : uint { SEE_MASK_CLASSNAME = 0x00000001 } 309 -enum : uint { SEE_MASK_CLASSKEY = 0x00000003 } 310 - 311 -enum : uint { SEE_MASK_IDLIST = 0x00000004 } 312 -enum : uint { SEE_MASK_INVOKEIDLIST = 0x0000000c } 313 -enum : uint { SEE_MASK_ICON = 0x00000010 } 314 -enum : uint { SEE_MASK_HOTKEY = 0x00000020 } 315 -enum : uint { SEE_MASK_NOCLOSEPROCESS = 0x00000040 } 316 -enum : uint { SEE_MASK_CONNECTNETDRV = 0x00000080 } 317 -enum : uint { SEE_MASK_FLAG_DDEWAIT = 0x00000100 } 318 -enum : uint { SEE_MASK_DOENVSUBST = 0x00000200 } 319 -enum : uint { SEE_MASK_FLAG_NO_UI = 0x00000400 } 320 -enum : uint { SEE_MASK_UNICODE = 0x00004000 } 321 -enum : uint { SEE_MASK_NO_CONSOLE = 0x00008000 } 322 -enum : uint { SEE_MASK_ASYNCOK = 0x00100000 } 323 -enum : uint { SEE_MASK_HMONITOR = 0x00200000 } 324 -// #if (_WIN32_IE >= 0x0500) 325 -enum : uint { SEE_MASK_NOQUERYCLASSSTORE = 0x01000000 } 326 -enum : uint { SEE_MASK_WAITFORINPUTIDLE = 0x02000000 } 327 -// #endif // (_WIN32_IE >= 0x500) 328 -// #if (_WIN32_IE >= 0x0560) 329 -enum : uint { SEE_MASK_FLAG_LOG_USAGE = 0x04000000 } 330 -// #endif // (_WIN32_IE >= 0x560) 331 - 332 -// #ifndef DUMMYUNIONNAME 333 -// #ifdef NONAMELESSUNION 334 -// #... 335 -// #... 336 -// #... 337 -// #... 338 -// #... 339 -// #else 340 -// #define DUMMYUNIONNAME 341 -// #define DUMMYUNIONNAME2 342 -// #define DUMMYUNIONNAME3 343 -// #define DUMMYUNIONNAME4 344 -// #define DUMMYUNIONNAME5 345 -// #endif 346 -// #endif // DUMMYUNIONNAME 347 - 348 -struct _SHELLEXECUTEINFOA { 349 - DWORD cbSize; 350 - ULONG fMask; 351 - HWND hwnd; 352 - LPCSTR lpVerb; 353 - LPCSTR lpFile; 354 - LPCSTR lpParameters; 355 - LPCSTR lpDirectory; 356 - int nShow; 357 - HINSTANCE hInstApp; 358 - 359 - LPVOID lpIDList; 360 - LPCSTR lpClass; 361 - HKEY hkeyClass; 362 - DWORD dwHotKey; 363 -union { 364 - HANDLE hIcon; 365 - HANDLE hMonitor; 366 -} 367 - 368 - HANDLE hProcess; 369 -} 370 -alias _SHELLEXECUTEINFOA SHELLEXECUTEINFOA; 371 -alias _SHELLEXECUTEINFOA* LPSHELLEXECUTEINFOA; 372 - 373 -struct _SHELLEXECUTEINFOW { 374 - DWORD cbSize; 375 - ULONG fMask; 376 - HWND hwnd; 377 - LPCWSTR lpVerb; 378 - LPCWSTR lpFile; 379 - LPCWSTR lpParameters; 380 - LPCWSTR lpDirectory; 381 - int nShow; 382 - HINSTANCE hInstApp; 383 - 384 - LPVOID lpIDList; 385 - LPCWSTR lpClass; 386 - HKEY hkeyClass; 387 - DWORD dwHotKey; 388 -union { 389 - HANDLE hIcon; 390 - HANDLE hMonitor; 391 -} 392 - 393 - HANDLE hProcess; 394 -} 395 -alias _SHELLEXECUTEINFOW SHELLEXECUTEINFOW; 396 -alias _SHELLEXECUTEINFOW* LPSHELLEXECUTEINFOW; 397 - 398 -// #ifdef UNICODE 399 -// ... 400 -// #else 401 -alias SHELLEXECUTEINFOA SHELLEXECUTEINFO; 402 -alias LPSHELLEXECUTEINFOA LPSHELLEXECUTEINFO; 403 -// #endif // UNICODE 404 - 405 -extern(Windows) export BOOL ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo); 406 -extern(Windows) export BOOL ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo); 407 -// #ifdef UNICODE 408 -// #... 409 -// #else 410 -alias ShellExecuteExA ShellExecuteEx; 411 -// #endif // !UNICODE 412 -extern(Windows) export void WinExecErrorA(HWND hwnd, int error, LPCSTR lpstrFileName, LPCSTR lpstrTitle); 413 -extern(Windows) export void WinExecErrorW(HWND hwnd, int error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle); 414 -// #ifdef UNICODE 415 -// #... 416 -// #else 417 -alias WinExecErrorA WinExecError; 418 -// #endif // !UNICODE 419 - 420 -struct _SHCREATEPROCESSINFOW { 421 - DWORD cbSize; 422 - ULONG fMask; 423 - HWND hwnd; 424 - LPCWSTR pszFile; 425 - LPCWSTR pszParameters; 426 - LPCWSTR pszCurrentDirectory; 427 - HANDLE hUserToken; 428 - LPSECURITY_ATTRIBUTES lpProcessAttributes; 429 - LPSECURITY_ATTRIBUTES lpThreadAttributes; 430 - BOOL bInheritHandles; 431 - DWORD dwCreationFlags; 432 - LPSTARTUPINFOW lpStartupInfo; 433 - LPPROCESS_INFORMATION lpProcessInformation; 434 -} 435 -alias _SHCREATEPROCESSINFOW SHCREATEPROCESSINFOW; 436 -alias _SHCREATEPROCESSINFOW* PSHCREATEPROCESSINFOW; 437 - 438 -extern(Windows) export BOOL SHCreateProcessAsUserW(PSHCREATEPROCESSINFOW pscpi); 439 - 440 -struct _SHQUERYRBINFO { 441 - DWORD cbSize; 442 -// #if !defined(_MAC) || defined(_MAC_INT_64) 443 - __int64 i64Size; 444 - __int64 i64NumItems; 445 -// #else 446 -// ... 447 -// #endif 448 -} 449 -alias _SHQUERYRBINFO SHQUERYRBINFO; 450 -alias _SHQUERYRBINFO* LPSHQUERYRBINFO; 451 - 452 -enum : uint { SHERB_NOCONFIRMATION = 0x00000001 } 453 -enum : uint { SHERB_NOPROGRESSUI = 0x00000002 } 454 -enum : uint { SHERB_NOSOUND = 0x00000004 } 455 - 456 -extern(Windows) export HRESULT SHQueryRecycleBinA(LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo); 457 -extern(Windows) export HRESULT SHQueryRecycleBinW(LPCWSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo); 458 -// #ifdef UNICODE 459 -// #... 460 -// #else 461 -alias SHQueryRecycleBinA SHQueryRecycleBin; 462 -// #endif // !UNICODE 463 -extern(Windows) export HRESULT SHEmptyRecycleBinA(HWND hwnd, LPCSTR pszRootPath, DWORD dwFlags); 464 -extern(Windows) export HRESULT SHEmptyRecycleBinW(HWND hwnd, LPCWSTR pszRootPath, DWORD dwFlags); 465 -// #ifdef UNICODE 466 -// #... 467 -// #else 468 -alias SHEmptyRecycleBinA SHEmptyRecycleBin; 469 -// #endif // !UNICODE 470 - 471 -struct _NOTIFYICONDATAA { 472 - DWORD cbSize; 473 - HWND hWnd; 474 - UINT uID; 475 - UINT uFlags; 476 - UINT uCallbackMessage; 477 - HICON hIcon; 478 -// #if (_WIN32_IE < 0x0500) 479 -// ... 480 -// #else 481 - CHAR szTip[128]; 482 -// #endif 483 -// #if (_WIN32_IE >= 0x0500) 484 - DWORD dwState; 485 - DWORD dwStateMask; 486 - CHAR szInfo[256]; 487 -union { 488 - UINT uTimeout; 489 - UINT uVersion; 490 -} 491 - 492 - CHAR szInfoTitle[64]; 493 - DWORD dwInfoFlags; 494 -// #endif 495 -// #if (_WIN32_IE >= 0x600) 496 - GUID guidItem; 497 -// #endif 498 -} 499 -alias _NOTIFYICONDATAA NOTIFYICONDATAA; 500 -alias _NOTIFYICONDATAA* PNOTIFYICONDATAA; 501 - 502 -struct _NOTIFYICONDATAW { 503 - DWORD cbSize; 504 - HWND hWnd; 505 - UINT uID; 506 - UINT uFlags; 507 - UINT uCallbackMessage; 508 - HICON hIcon; 509 -// #if (_WIN32_IE < 0x0500) 510 -// ... 511 -// #else 512 - WCHAR szTip[128]; 513 -// #endif 514 -// #if (_WIN32_IE >= 0x0500) 515 - DWORD dwState; 516 - DWORD dwStateMask; 517 - WCHAR szInfo[256]; 518 -union { 519 - UINT uTimeout; 520 - UINT uVersion; 521 -} 522 - 523 - WCHAR szInfoTitle[64]; 524 - DWORD dwInfoFlags; 525 -// #endif 526 -// #if (_WIN32_IE >= 0x600) 527 - GUID guidItem; 528 -// #endif 529 -} 530 -alias _NOTIFYICONDATAW NOTIFYICONDATAW; 531 -alias _NOTIFYICONDATAW* PNOTIFYICONDATAW; 532 - 533 -// #ifdef UNICODE 534 -// ... 535 -// #else 536 -alias NOTIFYICONDATAA NOTIFYICONDATA; 537 -alias PNOTIFYICONDATAA PNOTIFYICONDATA; 538 -// #endif // UNICODE 539 - 540 -// #define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA, szTip[64]) 541 -// #define NOTIFYICONDATAW_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAW, szTip[64]) 542 -// #ifdef UNICODE 543 -// #... 544 -// #else 545 -// #define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAA_V1_SIZE 546 -// #endif 547 - 548 -// #define NOTIFYICONDATAA_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAA, guidItem) 549 -// #define NOTIFYICONDATAW_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAW, guidItem) 550 -// #ifdef UNICODE 551 -// #... 552 -// #else 553 -// #define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAA_V2_SIZE 554 -// #endif 555 - 556 -// #if (_WIN32_IE >= 0x0500) 557 -enum : uint { NIN_SELECT = WM_USER + 0 } 558 -enum : uint { NINF_KEY = 0x1 } 559 -enum : uint { NIN_KEYSELECT = NIN_SELECT | NINF_KEY } 560 -// #endif 561 - 562 -// #if (_WIN32_IE >= 0x0501) 563 -enum : uint { NIN_BALLOONSHOW = WM_USER + 2 } 564 -enum : uint { NIN_BALLOONHIDE = WM_USER + 3 } 565 -enum : uint { NIN_BALLOONTIMEOUT = WM_USER + 4 } 566 -enum : uint { NIN_BALLOONUSERCLICK = WM_USER + 5 } 567 -// #endif 568 - 569 -enum : uint { NIM_ADD = 0x00000000 } 570 -enum : uint { NIM_MODIFY = 0x00000001 } 571 -enum : uint { NIM_DELETE = 0x00000002 } 572 -// #if (_WIN32_IE >= 0x0500) 573 -enum : uint { NIM_SETFOCUS = 0x00000003 } 574 -enum : uint { NIM_SETVERSION = 0x00000004 } 575 -enum : uint { NOTIFYICON_VERSION = 3 } 576 -// #endif 577 - 578 -enum : uint { NIF_MESSAGE = 0x00000001 } 579 -enum : uint { NIF_ICON = 0x00000002 } 580 -enum : uint { NIF_TIP = 0x00000004 } 581 -// #if (_WIN32_IE >= 0x0500) 582 -enum : uint { NIF_STATE = 0x00000008 } 583 -enum : uint { NIF_INFO = 0x00000010 } 584 -// #endif 585 -// #if (_WIN32_IE >= 0x600) 586 -enum : uint { NIF_GUID = 0x00000020 } 587 -// #endif 588 - 589 -// #if (_WIN32_IE >= 0x0500) 590 -enum : uint { NIS_HIDDEN = 0x00000001 } 591 -enum : uint { NIS_SHAREDICON = 0x00000002 } 592 - 593 -enum : uint { NIIF_NONE = 0x00000000 } 594 - 595 -enum : uint { NIIF_INFO = 0x00000001 } 596 -enum : uint { NIIF_WARNING = 0x00000002 } 597 -enum : uint { NIIF_ERROR = 0x00000003 } 598 -enum : uint { NIIF_ICON_MASK = 0x0000000F } 599 -// #if (_WIN32_IE >= 0x0501) 600 -enum : uint { NIIF_NOSOUND = 0x00000010 } 601 -// #endif 602 -// #endif 603 - 604 -extern(Windows) export BOOL Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData); 605 -extern(Windows) export BOOL Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData); 606 -// #ifdef UNICODE 607 -// #... 608 -// #else 609 -alias Shell_NotifyIconA Shell_NotifyIcon; 610 -// #endif // !UNICODE 611 - 612 -// #ifndef SHFILEINFO_DEFINED 613 -// #define SHFILEINFO_DEFINED 614 - 615 -struct _SHFILEINFOA { 616 - HICON hIcon; 617 - int iIcon; 618 - DWORD dwAttributes; 619 - CHAR szDisplayName[MAX_PATH]; 620 - CHAR szTypeName[80]; 621 -} 622 -alias _SHFILEINFOA SHFILEINFOA; 623 - 624 -struct _SHFILEINFOW { 625 - HICON hIcon; 626 - int iIcon; 627 - DWORD dwAttributes; 628 - WCHAR szDisplayName[MAX_PATH]; 629 - WCHAR szTypeName[80]; 630 -} 631 -alias _SHFILEINFOW SHFILEINFOW; 632 - 633 -// #ifdef UNICODE 634 -// ... 635 -// #else 636 -alias SHFILEINFOA SHFILEINFO; 637 -// #endif // UNICODE 638 - 639 -// #endif // !SHFILEINFO_DEFINED 640 - 641 -enum : uint { SHGFI_ICON = 0x000000100 } 642 -enum : uint { SHGFI_DISPLAYNAME = 0x000000200 } 643 -enum : uint { SHGFI_TYPENAME = 0x000000400 } 644 -enum : uint { SHGFI_ATTRIBUTES = 0x000000800 } 645 -enum : uint { SHGFI_ICONLOCATION = 0x000001000 } 646 -enum : uint { SHGFI_EXETYPE = 0x000002000 } 647 -enum : uint { SHGFI_SYSICONINDEX = 0x000004000 } 648 -enum : uint { SHGFI_LINKOVERLAY = 0x000008000 } 649 -enum : uint { SHGFI_SELECTED = 0x000010000 } 650 -enum : uint { SHGFI_ATTR_SPECIFIED = 0x000020000 } 651 -enum : uint { SHGFI_LARGEICON = 0x000000000 } 652 -enum : uint { SHGFI_SMALLICON = 0x000000001 } 653 -enum : uint { SHGFI_OPENICON = 0x000000002 } 654 -enum : uint { SHGFI_SHELLICONSIZE = 0x000000004 } 655 -enum : uint { SHGFI_PIDL = 0x000000008 } 656 -enum : uint { SHGFI_USEFILEATTRIBUTES = 0x000000010 } 657 - 658 -// #if (_WIN32_IE >= 0x0500) 659 -enum : uint { SHGFI_ADDOVERLAYS = 0x000000020 } 660 -enum : uint { SHGFI_OVERLAYINDEX = 0x000000040 } 661 - 662 -// #endif 663 - 664 -extern(Windows) export DWORD_PTR SHGetFileInfoA(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags); 665 -extern(Windows) export DWORD_PTR SHGetFileInfoW(LPCWSTR pszPath, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags); 666 -// #ifdef UNICODE 667 -// #... 668 -// #else 669 -alias SHGetFileInfoA SHGetFileInfo; 670 -// #endif // !UNICODE 671 - 672 -alias SHGetDiskFreeSpaceEx SHGetDiskFreeSpace; 673 - 674 -extern(Windows) export BOOL SHGetDiskFreeSpaceExA(LPCSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes); 675 -extern(Windows) export BOOL SHGetDiskFreeSpaceExW(LPCWSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes); 676 -// #ifdef UNICODE 677 -// #... 678 -// #else 679 -alias SHGetDiskFreeSpaceExA SHGetDiskFreeSpaceEx; 680 -// #endif // !UNICODE 681 -extern(Windows) export BOOL SHGetNewLinkInfoA(LPCSTR pszLinkTo, LPCSTR pszDir, LPSTR pszName, BOOL *pfMustCopy, UINT uFlags); 682 -extern(Windows) export BOOL SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags); 683 -// #ifdef UNICODE 684 -// #... 685 -// #else 686 -alias SHGetNewLinkInfoA SHGetNewLinkInfo; 687 -// #endif // !UNICODE 688 - 689 -enum : uint { SHGNLI_PIDL = 0x000000001 } 690 -enum : uint { SHGNLI_PREFIXNAME = 0x000000002 } 691 -enum : uint { SHGNLI_NOUNIQUE = 0x000000004 } 692 -// #if (_WIN32_IE >= 0x0501) 693 -enum : uint { SHGNLI_NOLNK = 0x000000008 } 694 -// #endif // _WIN2_IE >= 0x0501 695 - 696 -enum : uint { PRINTACTION_OPEN = 0 } 697 -enum : uint { PRINTACTION_PROPERTIES = 1 } 698 -enum : uint { PRINTACTION_NETINSTALL = 2 } 699 -enum : uint { PRINTACTION_NETINSTALLLINK = 3 } 700 -enum : uint { PRINTACTION_TESTPAGE = 4 } 701 -enum : uint { PRINTACTION_OPENNETPRN = 5 } 702 -// #ifdef WINNT 703 -// #... 704 -// #... 705 -// #endif 706 - 707 -extern(Windows) export BOOL SHInvokePrinterCommandA(HWND hwnd, UINT uAction, LPCSTR lpBuf1, LPCSTR lpBuf2, BOOL fModal); 708 -extern(Windows) export BOOL SHInvokePrinterCommandW(HWND hwnd, UINT uAction, LPCWSTR lpBuf1, LPCWSTR lpBuf2, BOOL fModal); 709 -// #ifdef UNICODE 710 -// #... 711 -// #else 712 -alias SHInvokePrinterCommandA SHInvokePrinterCommand; 713 -// #endif // !UNICODE 714 - 715 -// #endif /* WINVER >= 0x0400 */ 716 - 717 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0500) 718 - 719 -extern(Windows) export HRESULT SHLoadNonloadedIconOverlayIdentifiers(); 720 - 721 -extern(Windows) export HRESULT SHIsFileAvailableOffline(LPCWSTR pwszPath, LPDWORD pdwStatus); 722 - 723 -enum : uint { OFFLINE_STATUS_LOCAL = 0x0001 } 724 -enum : uint { OFFLINE_STATUS_REMOTE = 0x0002 } 725 -enum : uint { OFFLINE_STATUS_INCOMPLETE = 0x0004 } 726 - 727 -// #endif 728 - 729 -extern(Windows) export HRESULT SHSetLocalizedName(LPWSTR pszPath, LPCWSTR pszResModule, int idsRes); 730 - 731 -// #if _WIN32_IE >= 0x0600 732 - 733 -extern(Windows) export HRESULT SHEnumerateUnreadMailAccountsA(HKEY hKeyUser, DWORD dwIndex, LPSTR pszMailAddress, int cchMailAddress); 734 -extern(Windows) export HRESULT SHEnumerateUnreadMailAccountsW(HKEY hKeyUser, DWORD dwIndex, LPWSTR pszMailAddress, int cchMailAddress); 735 -// #ifdef UNICODE 736 -// #... 737 -// #else 738 -alias SHEnumerateUnreadMailAccountsA SHEnumerateUnreadMailAccounts; 739 -// #endif // !UNICODE 740 -extern(Windows) export HRESULT SHGetUnreadMailCountA(HKEY hKeyUser, LPCSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPSTR pszShellExecuteCommand, int cchShellExecuteCommand); 741 -extern(Windows) export HRESULT SHGetUnreadMailCountW(HKEY hKeyUser, LPCWSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPWSTR pszShellExecuteCommand, int cchShellExecuteCommand); 742 -// #ifdef UNICODE 743 -// #... 744 -// #else 745 -alias SHGetUnreadMailCountA SHGetUnreadMailCount; 746 -// #endif // !UNICODE 747 -extern(Windows) export HRESULT SHSetUnreadMailCountA(LPCSTR pszMailAddress, DWORD dwCount, LPCSTR pszShellExecuteCommand); 748 -extern(Windows) export HRESULT SHSetUnreadMailCountW(LPCWSTR pszMailAddress, DWORD dwCount, LPCWSTR pszShellExecuteCommand); 749 -// #ifdef UNICODE 750 -// #... 751 -// #else 752 -alias SHSetUnreadMailCountA SHSetUnreadMailCount; 753 -// #endif // !UNICODE 754 - 755 -// #endif /* _WIN32_IE >= 0x0600 */ 756 - 757 -// #if _WIN32_IE >= 0x0600 758 - 759 -extern(Windows) export HRESULT SHGetImageList(int iImageList, REFIID riid, void **ppvObj); 760 - 761 -enum : uint { SHIL_LARGE = 0 } 762 -enum : uint { SHIL_SMALL = 1 } 763 -enum : uint { SHIL_EXTRALARGE = 2 } 764 -enum : uint { SHIL_SYSSMALL = 3 } 765 - 766 -alias SHIL_SYSSMALL SHIL_LAST; 767 - 768 -extern(Windows) alias HRESULT function( LPCWSTR pszPath) PFNCANSHAREFOLDERW; 769 -extern(Windows) alias HRESULT function( HWND hwndParent, LPCWSTR pszPath) PFNSHOWSHAREFOLDERUIW; 770 - 771 -// #endif /* _WIN32_IE >= 0x0600 */ 772 - 773 -// #ifdef __cplusplus 774 -// } 775 -// #endif /* __cplusplus */ 776 - 777 -// #if !defined(_WIN64) 778 -align: 779 -// #endif 780 - 781 -// #endif /* _INC_SHELLAPI */ 782 -

Deleted src/win32/ansi/winbase.d version [34591f7cd56d8568]

1 -module win32.ansi.winbase; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.windef; 7 - 8 -// #ifndef _WINBASE_ 9 -// #define _WINBASE_ 10 - 11 -// #if _MSC_VER > 1000 12 -// #pragma once 13 -// #endif 14 - 15 -// #ifdef _MAC 16 -// #... 17 -// #endif //_MAC 18 - 19 -// #if !defined(_ADVAPI32_) 20 -// #define WINADVAPI DECLSPEC_IMPORT 21 -// #else 22 -// #... 23 -// #endif 24 - 25 -// #if !defined(_KERNEL32_) 26 -// #define WINBASEAPI DECLSPEC_IMPORT 27 -// #else 28 -// #... 29 -// #endif 30 - 31 -// #if !defined(_ZAWPROXY_) 32 -// #define ZAWPROXYAPI DECLSPEC_IMPORT 33 -// #else 34 -// #... 35 -// #endif 36 - 37 -// #ifdef __cplusplus 38 -// extern "C" { 39 -// #endif 40 - 41 -// #define DefineHandleTable(w) ((w),TRUE) 42 -// #define LimitEmsPages(dw) 43 -// #define SetSwapAreaSize(w) (w) 44 -// #define LockSegment(w) GlobalFix((HANDLE)(w)) 45 -// #define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) 46 -alias GetTickCount GetCurrentTime; 47 - 48 -// #define Yield() 49 - 50 -HANDLE INVALID_HANDLE_VALUE = cast(HANDLE)-1; 51 -enum : DWORD { INVALID_FILE_SIZE = 0xFFFFFFFF } 52 -enum : DWORD { INVALID_SET_FILE_POINTER = cast(DWORD)-1 } 53 -enum : DWORD { INVALID_FILE_ATTRIBUTES = cast(DWORD)-1 } 54 - 55 -enum : uint { FILE_BEGIN = 0 } 56 -enum : uint { FILE_CURRENT = 1 } 57 -enum : uint { FILE_END = 2 } 58 - 59 -enum : DWORD { TIME_ZONE_ID_INVALID = 0xFFFFFFFF } 60 - 61 -enum : DWORD { WAIT_FAILED = 0xFFFFFFFF } 62 -alias STATUS_WAIT_0 WAIT_OBJECT_0; 63 - 64 -alias STATUS_ABANDONED_WAIT_0 WAIT_ABANDONED; 65 -alias STATUS_ABANDONED_WAIT_0 WAIT_ABANDONED_0; 66 - 67 -alias STATUS_USER_APC WAIT_IO_COMPLETION; 68 -alias STATUS_PENDING STILL_ACTIVE; 69 -alias STATUS_ACCESS_VIOLATION EXCEPTION_ACCESS_VIOLATION; 70 -alias STATUS_DATATYPE_MISALIGNMENT EXCEPTION_DATATYPE_MISALIGNMENT; 71 -alias STATUS_BREAKPOINT EXCEPTION_BREAKPOINT; 72 -alias STATUS_SINGLE_STEP EXCEPTION_SINGLE_STEP; 73 -alias STATUS_ARRAY_BOUNDS_EXCEEDED EXCEPTION_ARRAY_BOUNDS_EXCEEDED; 74 -alias STATUS_FLOAT_DENORMAL_OPERAND EXCEPTION_FLT_DENORMAL_OPERAND; 75 -alias STATUS_FLOAT_DIVIDE_BY_ZERO EXCEPTION_FLT_DIVIDE_BY_ZERO; 76 -alias STATUS_FLOAT_INEXACT_RESULT EXCEPTION_FLT_INEXACT_RESULT; 77 -alias STATUS_FLOAT_INVALID_OPERATION EXCEPTION_FLT_INVALID_OPERATION; 78 -alias STATUS_FLOAT_OVERFLOW EXCEPTION_FLT_OVERFLOW; 79 -alias STATUS_FLOAT_STACK_CHECK EXCEPTION_FLT_STACK_CHECK; 80 -alias STATUS_FLOAT_UNDERFLOW EXCEPTION_FLT_UNDERFLOW; 81 -alias STATUS_INTEGER_DIVIDE_BY_ZERO EXCEPTION_INT_DIVIDE_BY_ZERO; 82 -alias STATUS_INTEGER_OVERFLOW EXCEPTION_INT_OVERFLOW; 83 -alias STATUS_PRIVILEGED_INSTRUCTION EXCEPTION_PRIV_INSTRUCTION; 84 -alias STATUS_IN_PAGE_ERROR EXCEPTION_IN_PAGE_ERROR; 85 -alias STATUS_ILLEGAL_INSTRUCTION EXCEPTION_ILLEGAL_INSTRUCTION; 86 -alias STATUS_NONCONTINUABLE_EXCEPTION EXCEPTION_NONCONTINUABLE_EXCEPTION; 87 -alias STATUS_STACK_OVERFLOW EXCEPTION_STACK_OVERFLOW; 88 -alias STATUS_INVALID_DISPOSITION EXCEPTION_INVALID_DISPOSITION; 89 -alias STATUS_GUARD_PAGE_VIOLATION EXCEPTION_GUARD_PAGE; 90 -alias STATUS_INVALID_HANDLE EXCEPTION_INVALID_HANDLE; 91 -alias STATUS_CONTROL_C_EXIT CONTROL_C_EXIT; 92 -alias RtlMoveMemory MoveMemory; 93 -alias RtlCopyMemory CopyMemory; 94 -alias RtlFillMemory FillMemory; 95 -alias RtlZeroMemory ZeroMemory; 96 - 97 -enum : uint { FILE_FLAG_WRITE_THROUGH = 0x80000000 } 98 -enum : uint { FILE_FLAG_OVERLAPPED = 0x40000000 } 99 -enum : uint { FILE_FLAG_NO_BUFFERING = 0x20000000 } 100 -enum : uint { FILE_FLAG_RANDOM_ACCESS = 0x10000000 } 101 -enum : uint { FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000 } 102 -enum : uint { FILE_FLAG_DELETE_ON_CLOSE = 0x04000000 } 103 -enum : uint { FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 } 104 -enum : uint { FILE_FLAG_POSIX_SEMANTICS = 0x01000000 } 105 -enum : uint { FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 } 106 -enum : uint { FILE_FLAG_OPEN_NO_RECALL = 0x00100000 } 107 -enum : uint { FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000 } 108 - 109 -enum : uint { CREATE_NEW = 1 } 110 -enum : uint { CREATE_ALWAYS = 2 } 111 -enum : uint { OPEN_EXISTING = 3 } 112 -enum : uint { OPEN_ALWAYS = 4 } 113 -enum : uint { TRUNCATE_EXISTING = 5 } 114 - 115 -// #if(_WIN32_WINNT >= 0x0400) 116 - 117 -enum : uint { PROGRESS_CONTINUE = 0 } 118 -enum : uint { PROGRESS_CANCEL = 1 } 119 -enum : uint { PROGRESS_STOP = 2 } 120 -enum : uint { PROGRESS_QUIET = 3 } 121 - 122 -enum : uint { CALLBACK_CHUNK_FINISHED = 0x00000000 } 123 -enum : uint { CALLBACK_STREAM_SWITCH = 0x00000001 } 124 - 125 -enum : uint { COPY_FILE_FAIL_IF_EXISTS = 0x00000001 } 126 -enum : uint { COPY_FILE_RESTARTABLE = 0x00000002 } 127 -enum : uint { COPY_FILE_OPEN_SOURCE_FOR_WRITE = 0x00000004 } 128 -enum : uint { COPY_FILE_ALLOW_DECRYPTED_DESTINATION = 0x00000008 } 129 -// #endif /* _WIN32_WINNT >= 0x0400 */ 130 - 131 -// #if (_WIN32_WINNT >= 0x0500) 132 - 133 -enum : uint { REPLACEFILE_WRITE_THROUGH = 0x00000001 } 134 -enum : uint { REPLACEFILE_IGNORE_MERGE_ERRORS = 0x00000002 } 135 - 136 -// #endif // #if (_WIN32_WINNT >= 0x0500) 137 - 138 -enum : uint { PIPE_ACCESS_INBOUND = 0x00000001 } 139 -enum : uint { PIPE_ACCESS_OUTBOUND = 0x00000002 } 140 -enum : uint { PIPE_ACCESS_DUPLEX = 0x00000003 } 141 - 142 -enum : uint { PIPE_CLIENT_END = 0x00000000 } 143 -enum : uint { PIPE_SERVER_END = 0x00000001 } 144 - 145 -enum : uint { PIPE_WAIT = 0x00000000 } 146 -enum : uint { PIPE_NOWAIT = 0x00000001 } 147 -enum : uint { PIPE_READMODE_BYTE = 0x00000000 } 148 -enum : uint { PIPE_READMODE_MESSAGE = 0x00000002 } 149 -enum : uint { PIPE_TYPE_BYTE = 0x00000000 } 150 -enum : uint { PIPE_TYPE_MESSAGE = 0x00000004 } 151 - 152 -enum : uint { PIPE_UNLIMITED_INSTANCES = 255 } 153 - 154 -enum : uint { SECURITY_ANONYMOUS = SecurityAnonymous << 16 } 155 -enum : uint { SECURITY_IDENTIFICATION = SecurityIdentification << 16 } 156 -enum : uint { SECURITY_IMPERSONATION = SecurityImpersonation << 16 } 157 -enum : uint { SECURITY_DELEGATION = SecurityDelegation << 16 } 158 - 159 -enum : uint { SECURITY_CONTEXT_TRACKING = 0x00040000 } 160 -enum : uint { SECURITY_EFFECTIVE_ONLY = 0x00080000 } 161 - 162 -enum : uint { SECURITY_SQOS_PRESENT = 0x00100000 } 163 -enum : uint { SECURITY_VALID_SQOS_FLAGS = 0x001F0000 } 164 - 165 -struct _OVERLAPPED { 166 - ULONG_PTR Internal; 167 - ULONG_PTR InternalHigh; 168 -union { 169 -struct { 170 - DWORD Offset; 171 - DWORD OffsetHigh; 172 -} 173 - 174 - PVOID Pointer; 175 -} 176 - 177 - HANDLE hEvent; 178 -} 179 -alias _OVERLAPPED OVERLAPPED; 180 -alias _OVERLAPPED* LPOVERLAPPED; 181 - 182 -struct _SECURITY_ATTRIBUTES { 183 - DWORD nLength; 184 - LPVOID lpSecurityDescriptor; 185 - BOOL bInheritHandle; 186 -} 187 -alias _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES; 188 -alias _SECURITY_ATTRIBUTES* PSECURITY_ATTRIBUTES; 189 -alias _SECURITY_ATTRIBUTES* LPSECURITY_ATTRIBUTES; 190 - 191 -struct _PROCESS_INFORMATION { 192 - HANDLE hProcess; 193 - HANDLE hThread; 194 - DWORD dwProcessId; 195 - DWORD dwThreadId; 196 -} 197 -alias _PROCESS_INFORMATION PROCESS_INFORMATION; 198 -alias _PROCESS_INFORMATION* PPROCESS_INFORMATION; 199 -alias _PROCESS_INFORMATION* LPPROCESS_INFORMATION; 200 - 201 -struct _FILETIME { 202 - DWORD dwLowDateTime; 203 - DWORD dwHighDateTime; 204 -} 205 -alias _FILETIME FILETIME; 206 -alias _FILETIME* PFILETIME; 207 -alias _FILETIME* LPFILETIME; 208 - 209 -struct _SYSTEMTIME { 210 - WORD wYear; 211 - WORD wMonth; 212 - WORD wDayOfWeek; 213 - WORD wDay; 214 - WORD wHour; 215 - WORD wMinute; 216 - WORD wSecond; 217 - WORD wMilliseconds; 218 -} 219 -alias _SYSTEMTIME SYSTEMTIME; 220 -alias _SYSTEMTIME* PSYSTEMTIME; 221 -alias _SYSTEMTIME* LPSYSTEMTIME; 222 - 223 -extern(Windows) alias DWORD function( LPVOID lpThreadParameter ) PTHREAD_START_ROUTINE; 224 -alias PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE; 225 - 226 -// #if(_WIN32_WINNT >= 0x0400) 227 -extern(Windows) alias VOID function( LPVOID lpFiberParameter ) PFIBER_START_ROUTINE; 228 -alias PFIBER_START_ROUTINE LPFIBER_START_ROUTINE; 229 -// #endif /* _WIN32_WINNT >= 0x0400 */ 230 - 231 -alias RTL_CRITICAL_SECTION CRITICAL_SECTION; 232 -alias PRTL_CRITICAL_SECTION PCRITICAL_SECTION; 233 -alias PRTL_CRITICAL_SECTION LPCRITICAL_SECTION; 234 - 235 -alias RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG; 236 -alias PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; 237 -alias PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG; 238 - 239 -// #if defined(_X86_) 240 -alias PLDT_ENTRY LPLDT_ENTRY; 241 -// #else 242 -// ... 243 -// #endif 244 - 245 -alias MUTANT_QUERY_STATE MUTEX_MODIFY_STATE; 246 -alias MUTANT_ALL_ACCESS MUTEX_ALL_ACCESS; 247 - 248 -enum : DWORD { SP_SERIALCOMM = 0x00000001 } 249 - 250 -enum : DWORD { PST_UNSPECIFIED = 0x00000000 } 251 -enum : DWORD { PST_RS232 = 0x00000001 } 252 -enum : DWORD { PST_PARALLELPORT = 0x00000002 } 253 -enum : DWORD { PST_RS422 = 0x00000003 } 254 -enum : DWORD { PST_RS423 = 0x00000004 } 255 -enum : DWORD { PST_RS449 = 0x00000005 } 256 -enum : DWORD { PST_MODEM = 0x00000006 } 257 -enum : DWORD { PST_FAX = 0x00000021 } 258 -enum : DWORD { PST_SCANNER = 0x00000022 } 259 -enum : DWORD { PST_NETWORK_BRIDGE = 0x00000100 } 260 -enum : DWORD { PST_LAT = 0x00000101 } 261 -enum : DWORD { PST_TCPIP_TELNET = 0x00000102 } 262 -enum : DWORD { PST_X25 = 0x00000103 } 263 - 264 -enum : DWORD { PCF_DTRDSR = 0x0001 } 265 -enum : DWORD { PCF_RTSCTS = 0x0002 } 266 -enum : DWORD { PCF_RLSD = 0x0004 } 267 -enum : DWORD { PCF_PARITY_CHECK = 0x0008 } 268 -enum : DWORD { PCF_XONXOFF = 0x0010 } 269 -enum : DWORD { PCF_SETXCHAR = 0x0020 } 270 -enum : DWORD { PCF_TOTALTIMEOUTS = 0x0040 } 271 -enum : DWORD { PCF_INTTIMEOUTS = 0x0080 } 272 -enum : DWORD { PCF_SPECIALCHARS = 0x0100 } 273 -enum : DWORD { PCF_16BITMODE = 0x0200 } 274 - 275 -enum : DWORD { SP_PARITY = 0x0001 } 276 -enum : DWORD { SP_BAUD = 0x0002 } 277 -enum : DWORD { SP_DATABITS = 0x0004 } 278 -enum : DWORD { SP_STOPBITS = 0x0008 } 279 -enum : DWORD { SP_HANDSHAKING = 0x0010 } 280 -enum : DWORD { SP_PARITY_CHECK = 0x0020 } 281 -enum : DWORD { SP_RLSD = 0x0040 } 282 - 283 -enum : DWORD { BAUD_075 = 0x00000001 } 284 -enum : DWORD { BAUD_110 = 0x00000002 } 285 -enum : DWORD { BAUD_134_5 = 0x00000004 } 286 -enum : DWORD { BAUD_150 = 0x00000008 } 287 -enum : DWORD { BAUD_300 = 0x00000010 } 288 -enum : DWORD { BAUD_600 = 0x00000020 } 289 -enum : DWORD { BAUD_1200 = 0x00000040 } 290 -enum : DWORD { BAUD_1800 = 0x00000080 } 291 -enum : DWORD { BAUD_2400 = 0x00000100 } 292 -enum : DWORD { BAUD_4800 = 0x00000200 } 293 -enum : DWORD { BAUD_7200 = 0x00000400 } 294 -enum : DWORD { BAUD_9600 = 0x00000800 } 295 -enum : DWORD { BAUD_14400 = 0x00001000 } 296 -enum : DWORD { BAUD_19200 = 0x00002000 } 297 -enum : DWORD { BAUD_38400 = 0x00004000 } 298 -enum : DWORD { BAUD_56K = 0x00008000 } 299 -enum : DWORD { BAUD_128K = 0x00010000 } 300 -enum : DWORD { BAUD_115200 = 0x00020000 } 301 -enum : DWORD { BAUD_57600 = 0x00040000 } 302 -enum : DWORD { BAUD_USER = 0x10000000 } 303 - 304 -enum : WORD { DATABITS_5 = 0x0001 } 305 -enum : WORD { DATABITS_6 = 0x0002 } 306 -enum : WORD { DATABITS_7 = 0x0004 } 307 -enum : WORD { DATABITS_8 = 0x0008 } 308 -enum : WORD { DATABITS_16 = 0x0010 } 309 -enum : WORD { DATABITS_16X = 0x0020 } 310 - 311 -enum : WORD { STOPBITS_10 = 0x0001 } 312 -enum : WORD { STOPBITS_15 = 0x0002 } 313 -enum : WORD { STOPBITS_20 = 0x0004 } 314 -enum : WORD { PARITY_NONE = 0x0100 } 315 -enum : WORD { PARITY_ODD = 0x0200 } 316 -enum : WORD { PARITY_EVEN = 0x0400 } 317 -enum : WORD { PARITY_MARK = 0x0800 } 318 -enum : WORD { PARITY_SPACE = 0x1000 } 319 - 320 -struct _COMMPROP { 321 - WORD wPacketLength; 322 - WORD wPacketVersion; 323 - DWORD dwServiceMask; 324 - DWORD dwReserved1; 325 - DWORD dwMaxTxQueue; 326 - DWORD dwMaxRxQueue; 327 - DWORD dwMaxBaud; 328 - DWORD dwProvSubType; 329 - DWORD dwProvCapabilities; 330 - DWORD dwSettableParams; 331 - DWORD dwSettableBaud; 332 - WORD wSettableData; 333 - WORD wSettableStopParity; 334 - DWORD dwCurrentTxQueue; 335 - DWORD dwCurrentRxQueue; 336 - DWORD dwProvSpec1; 337 - DWORD dwProvSpec2; 338 - WCHAR wcProvChar[1]; 339 -} 340 -alias _COMMPROP COMMPROP; 341 -alias _COMMPROP* LPCOMMPROP; 342 - 343 -enum : DWORD { COMMPROP_INITIALIZED = 0xE73CF52E } 344 - 345 -struct _COMSTAT { 346 -// DWORD fCtsHold : 1; 347 -// DWORD fDsrHold : 1; 348 -// DWORD fRlsdHold : 1; 349 -// DWORD fXoffHold : 1; 350 -// DWORD fXoffSent : 1; 351 -// DWORD fEof : 1; 352 -// DWORD fTxim : 1; 353 -// DWORD fReserved : 25; 354 - DWORD cbInQue; 355 - DWORD cbOutQue; 356 -} 357 -alias _COMSTAT COMSTAT; 358 -alias _COMSTAT* LPCOMSTAT; 359 - 360 -enum : uint { DTR_CONTROL_DISABLE = 0x00 } 361 -enum : uint { DTR_CONTROL_ENABLE = 0x01 } 362 -enum : uint { DTR_CONTROL_HANDSHAKE = 0x02 } 363 - 364 -enum : uint { RTS_CONTROL_DISABLE = 0x00 } 365 -enum : uint { RTS_CONTROL_ENABLE = 0x01 } 366 -enum : uint { RTS_CONTROL_HANDSHAKE = 0x02 } 367 -enum : uint { RTS_CONTROL_TOGGLE = 0x03 } 368 - 369 -struct _DCB { 370 - DWORD DCBlength; 371 - DWORD BaudRate; 372 -// DWORD fBinary: 1; 373 -// DWORD fParity: 1; 374 -// DWORD fOutxCtsFlow:1; 375 -// DWORD fOutxDsrFlow:1; 376 -// DWORD fDtrControl:2; 377 -// DWORD fDsrSensitivity:1; 378 -// DWORD fTXContinueOnXoff: 1; 379 -// DWORD fOutX: 1; 380 -// DWORD fInX: 1; 381 -// DWORD fErrorChar: 1; 382 -// DWORD fNull: 1; 383 -// DWORD fRtsControl:2; 384 -// DWORD fAbortOnError:1; 385 -// DWORD fDummy2:17; 386 - WORD wReserved; 387 - WORD XonLim; 388 - WORD XoffLim; 389 - BYTE ByteSize; 390 - BYTE Parity; 391 - BYTE StopBits; 392 - char XonChar; 393 - char XoffChar; 394 - char ErrorChar; 395 - char EofChar; 396 - char EvtChar; 397 - WORD wReserved1; 398 -} 399 -alias _DCB DCB; 400 -alias _DCB* LPDCB; 401 - 402 -struct _COMMTIMEOUTS { 403 - DWORD ReadIntervalTimeout; 404 - DWORD ReadTotalTimeoutMultiplier; 405 - DWORD ReadTotalTimeoutConstant; 406 - DWORD WriteTotalTimeoutMultiplier; 407 - DWORD WriteTotalTimeoutConstant; 408 -} 409 -alias _COMMTIMEOUTS COMMTIMEOUTS; 410 -alias _COMMTIMEOUTS* LPCOMMTIMEOUTS; 411 - 412 -struct _COMMCONFIG { 413 - DWORD dwSize; 414 - WORD wVersion; 415 - WORD wReserved; 416 - DCB dcb; 417 - DWORD dwProviderSubType; 418 - DWORD dwProviderOffset; 419 - DWORD dwProviderSize; 420 - WCHAR wcProviderData[1]; 421 -} 422 -alias _COMMCONFIG COMMCONFIG; 423 -alias _COMMCONFIG* LPCOMMCONFIG; 424 - 425 -struct _SYSTEM_INFO { 426 -union { 427 - DWORD dwOemId; 428 -struct { 429 - WORD wProcessorArchitecture; 430 - WORD wReserved; 431 -} 432 - 433 -} 434 - 435 - DWORD dwPageSize; 436 - LPVOID lpMinimumApplicationAddress; 437 - LPVOID lpMaximumApplicationAddress; 438 - DWORD_PTR dwActiveProcessorMask; 439 - DWORD dwNumberOfProcessors; 440 - DWORD dwProcessorType; 441 - DWORD dwAllocationGranularity; 442 - WORD wProcessorLevel; 443 - WORD wProcessorRevision; 444 -} 445 -alias _SYSTEM_INFO SYSTEM_INFO; 446 -alias _SYSTEM_INFO* LPSYSTEM_INFO; 447 - 448 -alias FreeLibrary FreeModule; 449 -// #define MakeProcInstance(lpProc,hInstance) (lpProc) 450 -// #define FreeProcInstance(lpProc) (lpProc) 451 - 452 -enum : uint { GMEM_FIXED = 0x0000 } 453 -enum : uint { GMEM_MOVEABLE = 0x0002 } 454 -enum : uint { GMEM_NOCOMPACT = 0x0010 } 455 -enum : uint { GMEM_NODISCARD = 0x0020 } 456 -enum : uint { GMEM_ZEROINIT = 0x0040 } 457 -enum : uint { GMEM_MODIFY = 0x0080 } 458 -enum : uint { GMEM_DISCARDABLE = 0x0100 } 459 -enum : uint { GMEM_NOT_BANKED = 0x1000 } 460 -enum : uint { GMEM_SHARE = 0x2000 } 461 -enum : uint { GMEM_DDESHARE = 0x2000 } 462 -enum : uint { GMEM_NOTIFY = 0x4000 } 463 -alias GMEM_NOT_BANKED GMEM_LOWER; 464 -enum : uint { GMEM_VALID_FLAGS = 0x7F72 } 465 -enum : uint { GMEM_INVALID_HANDLE = 0x8000 } 466 - 467 -enum : uint { GHND = GMEM_MOVEABLE | GMEM_ZEROINIT } 468 -enum : uint { GPTR = GMEM_FIXED | GMEM_ZEROINIT } 469 - 470 -// #define GlobalLRUNewest( h ) ((HANDLE)(h)) 471 -// #define GlobalLRUOldest( h ) ((HANDLE)(h)) 472 -// #define GlobalDiscard( h ) GlobalReAlloc( (h), 0, GMEM_MOVEABLE ) 473 - 474 -enum : uint { GMEM_DISCARDED = 0x4000 } 475 -enum : uint { GMEM_LOCKCOUNT = 0x00FF } 476 - 477 -struct _MEMORYSTATUS { 478 - DWORD dwLength; 479 - DWORD dwMemoryLoad; 480 - SIZE_T dwTotalPhys; 481 - SIZE_T dwAvailPhys; 482 - SIZE_T dwTotalPageFile; 483 - SIZE_T dwAvailPageFile; 484 - SIZE_T dwTotalVirtual; 485 - SIZE_T dwAvailVirtual; 486 -} 487 -alias _MEMORYSTATUS MEMORYSTATUS; 488 -alias _MEMORYSTATUS* LPMEMORYSTATUS; 489 - 490 -enum : uint { LMEM_FIXED = 0x0000 } 491 -enum : uint { LMEM_MOVEABLE = 0x0002 } 492 -enum : uint { LMEM_NOCOMPACT = 0x0010 } 493 -enum : uint { LMEM_NODISCARD = 0x0020 } 494 -enum : uint { LMEM_ZEROINIT = 0x0040 } 495 -enum : uint { LMEM_MODIFY = 0x0080 } 496 -enum : uint { LMEM_DISCARDABLE = 0x0F00 } 497 -enum : uint { LMEM_VALID_FLAGS = 0x0F72 } 498 -enum : uint { LMEM_INVALID_HANDLE = 0x8000 } 499 - 500 -enum : uint { LHND = LMEM_MOVEABLE | LMEM_ZEROINIT } 501 -enum : uint { LPTR = LMEM_FIXED | LMEM_ZEROINIT } 502 - 503 -enum : uint { NONZEROLHND = LMEM_MOVEABLE } 504 -enum : uint { NONZEROLPTR = LMEM_FIXED } 505 - 506 -// #define LocalDiscard( h ) LocalReAlloc( (h), 0, LMEM_MOVEABLE ) 507 - 508 -enum : uint { LMEM_DISCARDED = 0x4000 } 509 -enum : uint { LMEM_LOCKCOUNT = 0x00FF } 510 - 511 -enum : uint { DEBUG_PROCESS = 0x00000001 } 512 -enum : uint { DEBUG_ONLY_THIS_PROCESS = 0x00000002 } 513 - 514 -enum : uint { CREATE_SUSPENDED = 0x00000004 } 515 - 516 -enum : uint { DETACHED_PROCESS = 0x00000008 } 517 - 518 -enum : uint { CREATE_NEW_CONSOLE = 0x00000010 } 519 - 520 -enum : uint { NORMAL_PRIORITY_CLASS = 0x00000020 } 521 -enum : uint { IDLE_PRIORITY_CLASS = 0x00000040 } 522 -enum : uint { HIGH_PRIORITY_CLASS = 0x00000080 } 523 -enum : uint { REALTIME_PRIORITY_CLASS = 0x00000100 } 524 - 525 -enum : uint { CREATE_NEW_PROCESS_GROUP = 0x00000200 } 526 -enum : uint { CREATE_UNICODE_ENVIRONMENT = 0x00000400 } 527 - 528 -enum : uint { CREATE_SEPARATE_WOW_VDM = 0x00000800 } 529 -enum : uint { CREATE_SHARED_WOW_VDM = 0x00001000 } 530 -enum : uint { CREATE_FORCEDOS = 0x00002000 } 531 - 532 -enum : uint { BELOW_NORMAL_PRIORITY_CLASS = 0x00004000 } 533 -enum : uint { ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000 } 534 -enum : uint { STACK_SIZE_PARAM_IS_A_RESERVATION = 0x00010000 } 535 - 536 -enum : uint { CREATE_BREAKAWAY_FROM_JOB = 0x01000000 } 537 -enum : uint { CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000 } 538 - 539 -enum : uint { CREATE_DEFAULT_ERROR_MODE = 0x04000000 } 540 -enum : uint { CREATE_NO_WINDOW = 0x08000000 } 541 - 542 -enum : uint { PROFILE_USER = 0x10000000 } 543 -enum : uint { PROFILE_KERNEL = 0x20000000 } 544 -enum : uint { PROFILE_SERVER = 0x40000000 } 545 - 546 -enum : uint { CREATE_IGNORE_SYSTEM_DEFAULT = 0x80000000 } 547 - 548 -alias THREAD_BASE_PRIORITY_MIN THREAD_PRIORITY_LOWEST; 549 -enum : uint { THREAD_PRIORITY_BELOW_NORMAL = THREAD_PRIORITY_LOWEST+1 } 550 -enum : uint { THREAD_PRIORITY_NORMAL = 0 } 551 -alias THREAD_BASE_PRIORITY_MAX THREAD_PRIORITY_HIGHEST; 552 -enum : uint { THREAD_PRIORITY_ABOVE_NORMAL = THREAD_PRIORITY_HIGHEST-1 } 553 -enum : uint { THREAD_PRIORITY_ERROR_RETURN = MAXLONG } 554 - 555 -alias THREAD_BASE_PRIORITY_LOWRT THREAD_PRIORITY_TIME_CRITICAL; 556 -alias THREAD_BASE_PRIORITY_IDLE THREAD_PRIORITY_IDLE; 557 - 558 -enum : uint { EXCEPTION_DEBUG_EVENT = 1 } 559 -enum : uint { CREATE_THREAD_DEBUG_EVENT = 2 } 560 -enum : uint { CREATE_PROCESS_DEBUG_EVENT = 3 } 561 -enum : uint { EXIT_THREAD_DEBUG_EVENT = 4 } 562 -enum : uint { EXIT_PROCESS_DEBUG_EVENT = 5 } 563 -enum : uint { LOAD_DLL_DEBUG_EVENT = 6 } 564 -enum : uint { UNLOAD_DLL_DEBUG_EVENT = 7 } 565 -enum : uint { OUTPUT_DEBUG_STRING_EVENT = 8 } 566 -enum : uint { RIP_EVENT = 9 } 567 - 568 -struct _EXCEPTION_DEBUG_INFO { 569 - EXCEPTION_RECORD ExceptionRecord; 570 - DWORD dwFirstChance; 571 -} 572 -alias _EXCEPTION_DEBUG_INFO EXCEPTION_DEBUG_INFO; 573 -alias _EXCEPTION_DEBUG_INFO* LPEXCEPTION_DEBUG_INFO; 574 - 575 -struct _CREATE_THREAD_DEBUG_INFO { 576 - HANDLE hThread; 577 - LPVOID lpThreadLocalBase; 578 - LPTHREAD_START_ROUTINE lpStartAddress; 579 -} 580 -alias _CREATE_THREAD_DEBUG_INFO CREATE_THREAD_DEBUG_INFO; 581 -alias _CREATE_THREAD_DEBUG_INFO* LPCREATE_THREAD_DEBUG_INFO; 582 - 583 -struct _CREATE_PROCESS_DEBUG_INFO { 584 - HANDLE hFile; 585 - HANDLE hProcess; 586 - HANDLE hThread; 587 - LPVOID lpBaseOfImage; 588 - DWORD dwDebugInfoFileOffset; 589 - DWORD nDebugInfoSize; 590 - LPVOID lpThreadLocalBase; 591 - LPTHREAD_START_ROUTINE lpStartAddress; 592 - LPVOID lpImageName; 593 - WORD fUnicode; 594 -} 595 -alias _CREATE_PROCESS_DEBUG_INFO CREATE_PROCESS_DEBUG_INFO; 596 -alias _CREATE_PROCESS_DEBUG_INFO* LPCREATE_PROCESS_DEBUG_INFO; 597 - 598 -struct _EXIT_THREAD_DEBUG_INFO { 599 - DWORD dwExitCode; 600 -} 601 -alias _EXIT_THREAD_DEBUG_INFO EXIT_THREAD_DEBUG_INFO; 602 -alias _EXIT_THREAD_DEBUG_INFO* LPEXIT_THREAD_DEBUG_INFO; 603 - 604 -struct _EXIT_PROCESS_DEBUG_INFO { 605 - DWORD dwExitCode; 606 -} 607 -alias _EXIT_PROCESS_DEBUG_INFO EXIT_PROCESS_DEBUG_INFO; 608 -alias _EXIT_PROCESS_DEBUG_INFO* LPEXIT_PROCESS_DEBUG_INFO; 609 - 610 -struct _LOAD_DLL_DEBUG_INFO { 611 - HANDLE hFile; 612 - LPVOID lpBaseOfDll; 613 - DWORD dwDebugInfoFileOffset; 614 - DWORD nDebugInfoSize; 615 - LPVOID lpImageName; 616 - WORD fUnicode; 617 -} 618 -alias _LOAD_DLL_DEBUG_INFO LOAD_DLL_DEBUG_INFO; 619 -alias _LOAD_DLL_DEBUG_INFO* LPLOAD_DLL_DEBUG_INFO; 620 - 621 -struct _UNLOAD_DLL_DEBUG_INFO { 622 - LPVOID lpBaseOfDll; 623 -} 624 -alias _UNLOAD_DLL_DEBUG_INFO UNLOAD_DLL_DEBUG_INFO; 625 -alias _UNLOAD_DLL_DEBUG_INFO* LPUNLOAD_DLL_DEBUG_INFO; 626 - 627 -struct _OUTPUT_DEBUG_STRING_INFO { 628 - LPSTR lpDebugStringData; 629 - WORD fUnicode; 630 - WORD nDebugStringLength; 631 -} 632 -alias _OUTPUT_DEBUG_STRING_INFO OUTPUT_DEBUG_STRING_INFO; 633 -alias _OUTPUT_DEBUG_STRING_INFO* LPOUTPUT_DEBUG_STRING_INFO; 634 - 635 -struct _RIP_INFO { 636 - DWORD dwError; 637 - DWORD dwType; 638 -} 639 -alias _RIP_INFO RIP_INFO; 640 -alias _RIP_INFO* LPRIP_INFO; 641 - 642 -struct _DEBUG_EVENT { 643 - DWORD dwDebugEventCode; 644 - DWORD dwProcessId; 645 - DWORD dwThreadId; 646 -union { 647 - EXCEPTION_DEBUG_INFO Exception; 648 - CREATE_THREAD_DEBUG_INFO CreateThread; 649 - CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; 650 - EXIT_THREAD_DEBUG_INFO ExitThread; 651 - EXIT_PROCESS_DEBUG_INFO ExitProcess; 652 - LOAD_DLL_DEBUG_INFO LoadDll; 653 - UNLOAD_DLL_DEBUG_INFO UnloadDll; 654 - OUTPUT_DEBUG_STRING_INFO DebugString; 655 - RIP_INFO RipInfo; 656 -} 657 - 658 -} 659 -alias _DEBUG_EVENT DEBUG_EVENT; 660 -alias _DEBUG_EVENT* LPDEBUG_EVENT; 661 - 662 -// #if !defined(MIDL_PASS) 663 -alias PCONTEXT LPCONTEXT; 664 -alias PEXCEPTION_RECORD LPEXCEPTION_RECORD; 665 -alias PEXCEPTION_POINTERS LPEXCEPTION_POINTERS; 666 -// #endif 667 - 668 -enum : uint { DRIVE_UNKNOWN = 0 } 669 -enum : uint { DRIVE_NO_ROOT_DIR = 1 } 670 -enum : uint { DRIVE_REMOVABLE = 2 } 671 -enum : uint { DRIVE_FIXED = 3 } 672 -enum : uint { DRIVE_REMOTE = 4 } 673 -enum : uint { DRIVE_CDROM = 5 } 674 -enum : uint { DRIVE_RAMDISK = 6 } 675 - 676 -// #ifndef _MAC 677 -// #define GetFreeSpace(w) (0x100000L) 678 -// #else 679 -// ... 680 -// #endif 681 - 682 -enum : uint { FILE_TYPE_UNKNOWN = 0x0000 } 683 -enum : uint { FILE_TYPE_DISK = 0x0001 } 684 -enum : uint { FILE_TYPE_CHAR = 0x0002 } 685 -enum : uint { FILE_TYPE_PIPE = 0x0003 } 686 -enum : uint { FILE_TYPE_REMOTE = 0x8000 } 687 - 688 -enum : DWORD { STD_INPUT_HANDLE = cast(DWORD)-10 } 689 -enum : DWORD { STD_OUTPUT_HANDLE = cast(DWORD)-11 } 690 -enum : DWORD { STD_ERROR_HANDLE = cast(DWORD)-12 } 691 - 692 -enum : uint { NOPARITY = 0 } 693 -enum : uint { ODDPARITY = 1 } 694 -enum : uint { EVENPARITY = 2 } 695 -enum : uint { MARKPARITY = 3 } 696 -enum : uint { SPACEPARITY = 4 } 697 - 698 -enum : uint { ONESTOPBIT = 0 } 699 -enum : uint { ONE5STOPBITS = 1 } 700 -enum : uint { TWOSTOPBITS = 2 } 701 - 702 -enum : uint { IGNORE = 0 } 703 -enum : uint { INFINITE = 0xFFFFFFFF } 704 - 705 -enum : uint { CBR_110 = 110 } 706 -enum : uint { CBR_300 = 300 } 707 -enum : uint { CBR_600 = 600 } 708 -enum : uint { CBR_1200 = 1200 } 709 -enum : uint { CBR_2400 = 2400 } 710 -enum : uint { CBR_4800 = 4800 } 711 -enum : uint { CBR_9600 = 9600 } 712 -enum : uint { CBR_14400 = 14400 } 713 -enum : uint { CBR_19200 = 19200 } 714 -enum : uint { CBR_38400 = 38400 } 715 -enum : uint { CBR_56000 = 56000 } 716 -enum : uint { CBR_57600 = 57600 } 717 -enum : uint { CBR_115200 = 115200 } 718 -enum : uint { CBR_128000 = 128000 } 719 -enum : uint { CBR_256000 = 256000 } 720 - 721 -enum : uint { CE_RXOVER = 0x0001 } 722 -enum : uint { CE_OVERRUN = 0x0002 } 723 -enum : uint { CE_RXPARITY = 0x0004 } 724 -enum : uint { CE_FRAME = 0x0008 } 725 -enum : uint { CE_BREAK = 0x0010 } 726 -enum : uint { CE_TXFULL = 0x0100 } 727 -enum : uint { CE_PTO = 0x0200 } 728 -enum : uint { CE_IOE = 0x0400 } 729 -enum : uint { CE_DNS = 0x0800 } 730 -enum : uint { CE_OOP = 0x1000 } 731 -enum : uint { CE_MODE = 0x8000 } 732 - 733 -enum { IE_BADID = -1 } 734 -enum { IE_OPEN = -2 } 735 -enum { IE_NOPEN = -3 } 736 -enum { IE_MEMORY = -4 } 737 -enum { IE_DEFAULT = -5 } 738 -enum { IE_HARDWARE = -10 } 739 -enum { IE_BYTESIZE = -11 } 740 -enum { IE_BAUDRATE = -12 } 741 - 742 -enum : uint { EV_RXCHAR = 0x0001 } 743 -enum : uint { EV_RXFLAG = 0x0002 } 744 -enum : uint { EV_TXEMPTY = 0x0004 } 745 -enum : uint { EV_CTS = 0x0008 } 746 -enum : uint { EV_DSR = 0x0010 } 747 -enum : uint { EV_RLSD = 0x0020 } 748 -enum : uint { EV_BREAK = 0x0040 } 749 -enum : uint { EV_ERR = 0x0080 } 750 -enum : uint { EV_RING = 0x0100 } 751 -enum : uint { EV_PERR = 0x0200 } 752 -enum : uint { EV_RX80FULL = 0x0400 } 753 -enum : uint { EV_EVENT1 = 0x0800 } 754 -enum : uint { EV_EVENT2 = 0x1000 } 755 - 756 -enum : uint { SETXOFF = 1 } 757 -enum : uint { SETXON = 2 } 758 -enum : uint { SETRTS = 3 } 759 -enum : uint { CLRRTS = 4 } 760 -enum : uint { SETDTR = 5 } 761 -enum : uint { CLRDTR = 6 } 762 -enum : uint { RESETDEV = 7 } 763 -enum : uint { SETBREAK = 8 } 764 -enum : uint { CLRBREAK = 9 } 765 - 766 -enum : uint { PURGE_TXABORT = 0x0001 } 767 -enum : uint { PURGE_RXABORT = 0x0002 } 768 -enum : uint { PURGE_TXCLEAR = 0x0004 } 769 -enum : uint { PURGE_RXCLEAR = 0x0008 } 770 - 771 -enum : uint { LPTx = 0x80 } 772 - 773 -enum : DWORD { MS_CTS_ON = 0x0010 } 774 -enum : DWORD { MS_DSR_ON = 0x0020 } 775 -enum : DWORD { MS_RING_ON = 0x0040 } 776 -enum : DWORD { MS_RLSD_ON = 0x0080 } 777 - 778 -enum : uint { S_QUEUEEMPTY = 0 } 779 -enum : uint { S_THRESHOLD = 1 } 780 -enum : uint { S_ALLTHRESHOLD = 2 } 781 - 782 -enum : uint { S_NORMAL = 0 } 783 -enum : uint { S_LEGATO = 1 } 784 -enum : uint { S_STACCATO = 2 } 785 - 786 -enum : uint { S_PERIOD512 = 0 } 787 -enum : uint { S_PERIOD1024 = 1 } 788 -enum : uint { S_PERIOD2048 = 2 } 789 -enum : uint { S_PERIODVOICE = 3 } 790 -enum : uint { S_WHITE512 = 4 } 791 -enum : uint { S_WHITE1024 = 5 } 792 -enum : uint { S_WHITE2048 = 6 } 793 -enum : uint { S_WHITEVOICE = 7 } 794 - 795 -enum { S_SERDVNA = -1 } 796 -enum { S_SEROFM = -2 } 797 -enum { S_SERMACT = -3 } 798 -enum { S_SERQFUL = -4 } 799 -enum { S_SERBDNT = -5 } 800 -enum { S_SERDLN = -6 } 801 -enum { S_SERDCC = -7 } 802 -enum { S_SERDTP = -8 } 803 -enum { S_SERDVL = -9 } 804 -enum { S_SERDMD = -10 } 805 -enum { S_SERDSH = -11 } 806 -enum { S_SERDPT = -12 } 807 -enum { S_SERDFQ = -13 } 808 -enum { S_SERDDR = -14 } 809 -enum { S_SERDSR = -15 } 810 -enum { S_SERDST = -16 } 811 - 812 -enum : uint { NMPWAIT_WAIT_FOREVER = 0xffffffff } 813 -enum : uint { NMPWAIT_NOWAIT = 0x00000001 } 814 -enum : uint { NMPWAIT_USE_DEFAULT_WAIT = 0x00000000 } 815 - 816 -alias FILE_CASE_PRESERVED_NAMES FS_CASE_IS_PRESERVED; 817 -alias FILE_CASE_SENSITIVE_SEARCH FS_CASE_SENSITIVE; 818 -alias FILE_UNICODE_ON_DISK FS_UNICODE_STORED_ON_DISK; 819 -alias FILE_PERSISTENT_ACLS FS_PERSISTENT_ACLS; 820 -alias FILE_VOLUME_IS_COMPRESSED FS_VOL_IS_COMPRESSED; 821 -alias FILE_FILE_COMPRESSION FS_FILE_COMPRESSION; 822 -alias FILE_SUPPORTS_ENCRYPTION FS_FILE_ENCRYPTION; 823 - 824 -alias SECTION_QUERY FILE_MAP_COPY; 825 -alias SECTION_MAP_WRITE FILE_MAP_WRITE; 826 -alias SECTION_MAP_READ FILE_MAP_READ; 827 -alias SECTION_ALL_ACCESS FILE_MAP_ALL_ACCESS; 828 - 829 -enum : uint { OF_READ = 0x00000000 } 830 -enum : uint { OF_WRITE = 0x00000001 } 831 -enum : uint { OF_READWRITE = 0x00000002 } 832 -enum : uint { OF_SHARE_COMPAT = 0x00000000 } 833 -enum : uint { OF_SHARE_EXCLUSIVE = 0x00000010 } 834 -enum : uint { OF_SHARE_DENY_WRITE = 0x00000020 } 835 -enum : uint { OF_SHARE_DENY_READ = 0x00000030 } 836 -enum : uint { OF_SHARE_DENY_NONE = 0x00000040 } 837 -enum : uint { OF_PARSE = 0x00000100 } 838 -enum : uint { OF_DELETE = 0x00000200 } 839 -enum : uint { OF_VERIFY = 0x00000400 } 840 -enum : uint { OF_CANCEL = 0x00000800 } 841 -enum : uint { OF_CREATE = 0x00001000 } 842 -enum : uint { OF_PROMPT = 0x00002000 } 843 -enum : uint { OF_EXIST = 0x00004000 } 844 -enum : uint { OF_REOPEN = 0x00008000 } 845 - 846 -enum : uint { OFS_MAXPATHNAME = 128 } 847 -struct _OFSTRUCT { 848 - BYTE cBytes; 849 - BYTE fFixedDisk; 850 - WORD nErrCode; 851 - WORD Reserved1; 852 - WORD Reserved2; 853 - CHAR szPathName[OFS_MAXPATHNAME]; 854 -} 855 -alias _OFSTRUCT OFSTRUCT; 856 -alias _OFSTRUCT* LPOFSTRUCT; 857 -alias _OFSTRUCT* POFSTRUCT; 858 - 859 -// #ifndef NOWINBASEINTERLOCK 860 - 861 -// #ifndef _NTOS_ 862 - 863 -// #if defined(_M_IA64) && !defined(RC_INVOKED) 864 - 865 -// #... 866 -// #... 867 -// #... 868 -// #... 869 -// #... 870 -// #... 871 -// #... 872 - 873 -// ... 874 - 875 -// ... 876 - 877 -// ... 878 - 879 -// ... 880 - 881 -// ... 882 - 883 -// ... 884 - 885 -// ... 886 - 887 -// #... 888 -// #... 889 -// #... 890 -// #... 891 -// #... 892 -// #... 893 -// #... 894 - 895 -// #elif defined(_M_AMD64) && !defined(RC_INVOKED) 896 - 897 -// #... 898 -// #... 899 -// #... 900 -// #... 901 -// #... 902 -// #... 903 -// #... 904 - 905 -// ... 906 - 907 -// ... 908 - 909 -// ... 910 - 911 -// ... 912 - 913 -// ... 914 - 915 -// ... 916 - 917 -// ... 918 - 919 -// #... 920 -// #... 921 -// #... 922 -// #... 923 -// #... 924 -// #... 925 -// #... 926 - 927 -// #else // X86 interlocked definitions 928 - 929 -extern(Windows) export LONG InterlockedIncrement( 930 - LONG *lpAddend); 931 - 932 -extern(Windows) export LONG InterlockedDecrement( 933 - LONG *lpAddend); 934 - 935 -extern(Windows) export LONG InterlockedExchange( 936 - LONG *Target, 937 - LONG Value); 938 - 939 -void* InterlockedExchangePointer(void** t, void* v){ return cast(void*)InterlockedExchange(cast(PLONG)t, cast(LONG)v); } 940 - 941 -extern(Windows) export LONG InterlockedExchangeAdd( 942 - LONG *Addend, 943 - LONG Value); 944 - 945 -extern(Windows) export LONG InterlockedCompareExchange( 946 - LONG *Destination, 947 - LONG Exchange, 948 - LONG Comperand); 949 - 950 -// #ifdef __cplusplus 951 - 952 -PVOID __InlineInterlockedCompareExchangePointer(PVOID* Destination, PVOID ExChange, PVOID Comperand){ return(cast(PVOID)cast(LONG_PTR)InterlockedCompareExchange(cast(LONG*)Destination, cast(LONG)cast(LONG_PTR)ExChange, cast(LONG)cast(LONG_PTR)Comperand)); } 953 -alias __InlineInterlockedCompareExchangePointer InterlockedCompareExchangePointer; 954 - 955 -// #else 956 - 957 -// #... 958 -// ... 959 - 960 -// #endif /* __cplusplus */ 961 - 962 -// #endif /* X86 | IA64 */ 963 - 964 -// #if defined(_SLIST_HEADER_) && !defined(_NTOSP_) 965 - 966 -// ... 967 - 968 -// ... 969 - 970 -// ... 971 - 972 -// ... 973 - 974 -// ... 975 - 976 -// #endif /* _SLIST_HEADER_ */ 977 -// #endif /* _NTOS_ */ 978 - 979 -// #endif /* NOWINBASEINTERLOCK */ 980 - 981 -extern(Windows) export BOOL FreeResource( 982 - HGLOBAL hResData); 983 - 984 -extern(Windows) export LPVOID LockResource( 985 - HGLOBAL hResData); 986 - 987 -// #define UnlockResource(hResData) ((hResData), 0) 988 -enum : uint { MAXINTATOM = 0xC000 } 989 -// #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i))) 990 -enum : ATOM { INVALID_ATOM = 0 } 991 - 992 -// #ifndef _MAC 993 -// ??? 994 -// ??? 995 -// #else 996 -// ... 997 -// #endif 998 -// WinMain 999 - 1000 -extern(Windows) export BOOL FreeLibrary( 1001 - HMODULE hLibModule); 1002 - 1003 -extern(Windows) export VOID FreeLibraryAndExitThread( 1004 - HMODULE hLibModule, 1005 - DWORD dwExitCode); 1006 - 1007 -extern(Windows) export BOOL DisableThreadLibraryCalls( 1008 - HMODULE hLibModule); 1009 - 1010 -extern(Windows) export FARPROC GetProcAddress( 1011 - HMODULE hModule, 1012 - LPCSTR lpProcName); 1013 - 1014 -extern(Windows) export DWORD GetVersion(); 1015 - 1016 -extern(Windows) export HGLOBAL GlobalAlloc( 1017 - UINT uFlags, 1018 - SIZE_T dwBytes); 1019 - 1020 -extern(Windows) export HGLOBAL GlobalReAlloc( 1021 - HGLOBAL hMem, 1022 - SIZE_T dwBytes, 1023 - UINT uFlags); 1024 - 1025 -extern(Windows) export SIZE_T GlobalSize( 1026 - HGLOBAL hMem); 1027 - 1028 -extern(Windows) export UINT GlobalFlags( 1029 - HGLOBAL hMem); 1030 - 1031 -extern(Windows) export LPVOID GlobalLock( 1032 - HGLOBAL hMem); 1033 - 1034 -extern(Windows) export HGLOBAL GlobalHandle( 1035 - LPCVOID pMem); 1036 - 1037 -extern(Windows) export BOOL GlobalUnlock( 1038 - HGLOBAL hMem); 1039 - 1040 -extern(Windows) export HGLOBAL GlobalFree( 1041 - HGLOBAL hMem); 1042 - 1043 -extern(Windows) export SIZE_T GlobalCompact( 1044 - DWORD dwMinFree); 1045 - 1046 -extern(Windows) export VOID GlobalFix( 1047 - HGLOBAL hMem); 1048 - 1049 -extern(Windows) export VOID GlobalUnfix( 1050 - HGLOBAL hMem); 1051 - 1052 -extern(Windows) export LPVOID GlobalWire( 1053 - HGLOBAL hMem); 1054 - 1055 -extern(Windows) export BOOL GlobalUnWire( 1056 - HGLOBAL hMem); 1057 - 1058 -extern(Windows) export VOID GlobalMemoryStatus( 1059 - LPMEMORYSTATUS lpBuffer); 1060 - 1061 -struct _MEMORYSTATUSEX { 1062 - DWORD dwLength; 1063 - DWORD dwMemoryLoad; 1064 - DWORDLONG ullTotalPhys; 1065 - DWORDLONG ullAvailPhys; 1066 - DWORDLONG ullTotalPageFile; 1067 - DWORDLONG ullAvailPageFile; 1068 - DWORDLONG ullTotalVirtual; 1069 - DWORDLONG ullAvailVirtual; 1070 - DWORDLONG ullAvailExtendedVirtual; 1071 -} 1072 -alias _MEMORYSTATUSEX MEMORYSTATUSEX; 1073 -alias _MEMORYSTATUSEX* LPMEMORYSTATUSEX; 1074 - 1075 -extern(Windows) export BOOL GlobalMemoryStatusEx( 1076 - LPMEMORYSTATUSEX lpBuffer); 1077 - 1078 -extern(Windows) export HLOCAL LocalAlloc( 1079 - UINT uFlags, 1080 - SIZE_T uBytes); 1081 - 1082 -extern(Windows) export HLOCAL LocalReAlloc( 1083 - HLOCAL hMem, 1084 - SIZE_T uBytes, 1085 - UINT uFlags); 1086 - 1087 -extern(Windows) export LPVOID LocalLock( 1088 - HLOCAL hMem); 1089 - 1090 -extern(Windows) export HLOCAL LocalHandle( 1091 - LPCVOID pMem); 1092 - 1093 -extern(Windows) export BOOL LocalUnlock( 1094 - HLOCAL hMem); 1095 - 1096 -extern(Windows) export SIZE_T LocalSize( 1097 - HLOCAL hMem); 1098 - 1099 -extern(Windows) export UINT LocalFlags( 1100 - HLOCAL hMem); 1101 - 1102 -extern(Windows) export HLOCAL LocalFree( 1103 - HLOCAL hMem); 1104 - 1105 -extern(Windows) export SIZE_T LocalShrink( 1106 - HLOCAL hMem, 1107 - UINT cbNewSize); 1108 - 1109 -extern(Windows) export SIZE_T LocalCompact( 1110 - UINT uMinFree); 1111 - 1112 -extern(Windows) export BOOL FlushInstructionCache( 1113 - HANDLE hProcess, 1114 - LPCVOID lpBaseAddress, 1115 - SIZE_T dwSize); 1116 - 1117 -extern(Windows) export LPVOID VirtualAlloc( 1118 - LPVOID lpAddress, 1119 - SIZE_T dwSize, 1120 - DWORD flAllocationType, 1121 - DWORD flProtect); 1122 - 1123 -extern(Windows) export BOOL VirtualFree( 1124 - LPVOID lpAddress, 1125 - SIZE_T dwSize, 1126 - DWORD dwFreeType); 1127 - 1128 -extern(Windows) export BOOL VirtualProtect( 1129 - LPVOID lpAddress, 1130 - SIZE_T dwSize, 1131 - DWORD flNewProtect, 1132 - PDWORD lpflOldProtect); 1133 - 1134 -extern(Windows) export SIZE_T VirtualQuery( 1135 - LPCVOID lpAddress, 1136 - PMEMORY_BASIC_INFORMATION lpBuffer, 1137 - SIZE_T dwLength); 1138 - 1139 -extern(Windows) export LPVOID VirtualAllocEx( 1140 - HANDLE hProcess, 1141 - LPVOID lpAddress, 1142 - SIZE_T dwSize, 1143 - DWORD flAllocationType, 1144 - DWORD flProtect); 1145 - 1146 -extern(Windows) export UINT GetWriteWatch( 1147 - DWORD dwFlags, 1148 - PVOID lpBaseAddress, 1149 - SIZE_T dwRegionSize, 1150 - PVOID *lpAddresses, 1151 - PULONG_PTR lpdwCount, 1152 - PULONG lpdwGranularity); 1153 - 1154 -extern(Windows) export UINT ResetWriteWatch( 1155 - LPVOID lpBaseAddress, 1156 - SIZE_T dwRegionSize); 1157 - 1158 -extern(Windows) export BOOL VirtualFreeEx( 1159 - HANDLE hProcess, 1160 - LPVOID lpAddress, 1161 - SIZE_T dwSize, 1162 - DWORD dwFreeType); 1163 - 1164 -extern(Windows) export BOOL VirtualProtectEx( 1165 - HANDLE hProcess, 1166 - LPVOID lpAddress, 1167 - SIZE_T dwSize, 1168 - DWORD flNewProtect, 1169 - PDWORD lpflOldProtect); 1170 - 1171 -extern(Windows) export SIZE_T VirtualQueryEx( 1172 - HANDLE hProcess, 1173 - LPCVOID lpAddress, 1174 - PMEMORY_BASIC_INFORMATION lpBuffer, 1175 - SIZE_T dwLength); 1176 - 1177 -extern(Windows) export HANDLE HeapCreate( 1178 - DWORD flOptions, 1179 - SIZE_T dwInitialSize, 1180 - SIZE_T dwMaximumSize); 1181 - 1182 -extern(Windows) export BOOL HeapDestroy( 1183 - HANDLE hHeap); 1184 - 1185 -extern(Windows) export LPVOID HeapAlloc( 1186 - HANDLE hHeap, 1187 - DWORD dwFlags, 1188 - SIZE_T dwBytes); 1189 - 1190 -extern(Windows) export LPVOID HeapReAlloc( 1191 - HANDLE hHeap, 1192 - DWORD dwFlags, 1193 - LPVOID lpMem, 1194 - SIZE_T dwBytes); 1195 - 1196 -extern(Windows) export BOOL HeapFree( 1197 - HANDLE hHeap, 1198 - DWORD dwFlags, 1199 - LPVOID lpMem); 1200 - 1201 -extern(Windows) export SIZE_T HeapSize( 1202 - HANDLE hHeap, 1203 - DWORD dwFlags, 1204 - LPCVOID lpMem); 1205 - 1206 -extern(Windows) export BOOL HeapValidate( 1207 - HANDLE hHeap, 1208 - DWORD dwFlags, 1209 - LPCVOID lpMem); 1210 - 1211 -extern(Windows) export SIZE_T HeapCompact( 1212 - HANDLE hHeap, 1213 - DWORD dwFlags); 1214 - 1215 -extern(Windows) export HANDLE GetProcessHeap(); 1216 - 1217 -extern(Windows) export DWORD GetProcessHeaps( 1218 - DWORD NumberOfHeaps, 1219 - PHANDLE ProcessHeaps); 1220 - 1221 -struct _PROCESS_HEAP_ENTRY { 1222 - PVOID lpData; 1223 - DWORD cbData; 1224 - BYTE cbOverhead; 1225 - BYTE iRegionIndex; 1226 - WORD wFlags; 1227 -union { 1228 -struct { 1229 - HANDLE hMem; 1230 - DWORD dwReserved[ 3 ]; 1231 -} 1232 - 1233 -struct { 1234 - DWORD dwCommittedSize; 1235 - DWORD dwUnCommittedSize; 1236 - LPVOID lpFirstBlock; 1237 - LPVOID lpLastBlock; 1238 -} 1239 - 1240 -} 1241 - 1242 -} 1243 -alias _PROCESS_HEAP_ENTRY PROCESS_HEAP_ENTRY; 1244 -alias _PROCESS_HEAP_ENTRY* LPPROCESS_HEAP_ENTRY; 1245 -alias _PROCESS_HEAP_ENTRY* PPROCESS_HEAP_ENTRY; 1246 - 1247 -enum : uint { PROCESS_HEAP_REGION = 0x0001 } 1248 -enum : uint { PROCESS_HEAP_UNCOMMITTED_RANGE = 0x0002 } 1249 -enum : uint { PROCESS_HEAP_ENTRY_BUSY = 0x0004 } 1250 -enum : uint { PROCESS_HEAP_ENTRY_MOVEABLE = 0x0010 } 1251 -enum : uint { PROCESS_HEAP_ENTRY_DDESHARE = 0x0020 } 1252 - 1253 -extern(Windows) export BOOL HeapLock( 1254 - HANDLE hHeap); 1255 - 1256 -extern(Windows) export BOOL HeapUnlock( 1257 - HANDLE hHeap); 1258 - 1259 -extern(Windows) export BOOL HeapWalk( 1260 - HANDLE hHeap, 1261 - LPPROCESS_HEAP_ENTRY lpEntry); 1262 - 1263 -extern(Windows) export BOOL HeapSetInformation( 1264 - PVOID HeapHandle, 1265 - HEAP_INFORMATION_CLASS HeapInformationClass, 1266 - PVOID HeapInformation , 1267 - SIZE_T HeapInformationLength ); 1268 - 1269 -extern(Windows) export BOOL HeapQueryInformation( 1270 - PVOID HeapHandle, 1271 - HEAP_INFORMATION_CLASS HeapInformationClass, 1272 - PVOID HeapInformation , 1273 - SIZE_T HeapInformationLength , 1274 - PSIZE_T ReturnLength ); 1275 - 1276 -enum : uint { SCS_32BIT_BINARY = 0 } 1277 -enum : uint { SCS_DOS_BINARY = 1 } 1278 -enum : uint { SCS_WOW_BINARY = 2 } 1279 -enum : uint { SCS_PIF_BINARY = 3 } 1280 -enum : uint { SCS_POSIX_BINARY = 4 } 1281 -enum : uint { SCS_OS216_BINARY = 5 } 1282 -enum : uint { SCS_64BIT_BINARY = 6 } 1283 - 1284 -// #if defined(_WIN64) 1285 -// #... 1286 -// #else 1287 -alias SCS_32BIT_BINARY SCS_THIS_PLATFORM_BINARY; 1288 -// #endif 1289 - 1290 -extern(Windows) export BOOL GetBinaryTypeA( 1291 - LPCSTR lpApplicationName, 1292 - LPDWORD lpBinaryType); 1293 -extern(Windows) export BOOL GetBinaryTypeW( 1294 - LPCWSTR lpApplicationName, 1295 - LPDWORD lpBinaryType); 1296 -// #ifdef UNICODE 1297 -// #... 1298 -// #else 1299 -alias GetBinaryTypeA GetBinaryType; 1300 -// #endif // !UNICODE 1301 - 1302 -extern(Windows) export DWORD GetShortPathNameA( 1303 - LPCSTR lpszLongPath, 1304 - LPSTR lpszShortPath, 1305 - DWORD cchBuffer); 1306 -extern(Windows) export DWORD GetShortPathNameW( 1307 - LPCWSTR lpszLongPath, 1308 - LPWSTR lpszShortPath, 1309 - DWORD cchBuffer); 1310 -// #ifdef UNICODE 1311 -// #... 1312 -// #else 1313 -alias GetShortPathNameA GetShortPathName; 1314 -// #endif // !UNICODE 1315 - 1316 -extern(Windows) export DWORD GetLongPathNameA( 1317 - LPCSTR lpszShortPath, 1318 - LPSTR lpszLongPath, 1319 - DWORD cchBuffer); 1320 -extern(Windows) export DWORD GetLongPathNameW( 1321 - LPCWSTR lpszShortPath, 1322 - LPWSTR lpszLongPath, 1323 - DWORD cchBuffer); 1324 -// #ifdef UNICODE 1325 -// #... 1326 -// #else 1327 -alias GetLongPathNameA GetLongPathName; 1328 -// #endif // !UNICODE 1329 - 1330 -extern(Windows) export BOOL GetProcessAffinityMask( 1331 - HANDLE hProcess, 1332 - PDWORD_PTR lpProcessAffinityMask, 1333 - PDWORD_PTR lpSystemAffinityMask); 1334 - 1335 -extern(Windows) export BOOL SetProcessAffinityMask( 1336 - HANDLE hProcess, 1337 - DWORD_PTR dwProcessAffinityMask); 1338 - 1339 -extern(Windows) export BOOL GetProcessTimes( 1340 - HANDLE hProcess, 1341 - LPFILETIME lpCreationTime, 1342 - LPFILETIME lpExitTime, 1343 - LPFILETIME lpKernelTime, 1344 - LPFILETIME lpUserTime); 1345 - 1346 -extern(Windows) export BOOL GetProcessIoCounters( 1347 - HANDLE hProcess, 1348 - PIO_COUNTERS lpIoCounters); 1349 - 1350 -extern(Windows) export BOOL GetProcessWorkingSetSize( 1351 - HANDLE hProcess, 1352 - PSIZE_T lpMinimumWorkingSetSize, 1353 - PSIZE_T lpMaximumWorkingSetSize); 1354 - 1355 -extern(Windows) export BOOL SetProcessWorkingSetSize( 1356 - HANDLE hProcess, 1357 - SIZE_T dwMinimumWorkingSetSize, 1358 - SIZE_T dwMaximumWorkingSetSize); 1359 - 1360 -extern(Windows) export HANDLE OpenProcess( 1361 - DWORD dwDesiredAccess, 1362 - BOOL bInheritHandle, 1363 - DWORD dwProcessId); 1364 - 1365 -extern(Windows) export HANDLE GetCurrentProcess(); 1366 - 1367 -extern(Windows) export DWORD GetCurrentProcessId(); 1368 - 1369 -extern(Windows) export VOID ExitProcess( 1370 - UINT uExitCode); 1371 - 1372 -extern(Windows) export BOOL TerminateProcess( 1373 - HANDLE hProcess, 1374 - UINT uExitCode); 1375 - 1376 -extern(Windows) export BOOL GetExitCodeProcess( 1377 - HANDLE hProcess, 1378 - LPDWORD lpExitCode); 1379 - 1380 -extern(Windows) export VOID FatalExit( 1381 - int ExitCode); 1382 - 1383 -extern(Windows) export LPSTR GetEnvironmentStrings(); 1384 - 1385 -extern(Windows) export LPWSTR GetEnvironmentStringsW(); 1386 - 1387 -// #ifdef UNICODE 1388 -// #... 1389 -// #else 1390 -alias GetEnvironmentStrings GetEnvironmentStringsA; 1391 -// #endif // !UNICODE 1392 - 1393 -extern(Windows) export BOOL FreeEnvironmentStringsA( 1394 - LPSTR); 1395 -extern(Windows) export BOOL FreeEnvironmentStringsW( 1396 - LPWSTR); 1397 -// #ifdef UNICODE 1398 -// #... 1399 -// #else 1400 -alias FreeEnvironmentStringsA FreeEnvironmentStrings; 1401 -// #endif // !UNICODE 1402 - 1403 -extern(Windows) export VOID RaiseException( 1404 - DWORD dwExceptionCode, 1405 - DWORD dwExceptionFlags, 1406 - DWORD nNumberOfArguments, 1407 - ULONG_PTR *lpArguments); 1408 - 1409 -extern(Windows) export LONG UnhandledExceptionFilter( 1410 - _EXCEPTION_POINTERS *ExceptionInfo); 1411 - 1412 -extern(Windows) alias LONG function( _EXCEPTION_POINTERS *ExceptionInfo ) PTOP_LEVEL_EXCEPTION_FILTER; 1413 -alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; 1414 - 1415 -extern(Windows) export LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter( 1416 - LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter); 1417 - 1418 -// #if(_WIN32_WINNT >= 0x0400) 1419 - 1420 -extern(Windows) export LPVOID CreateFiber( 1421 - SIZE_T dwStackSize, 1422 - LPFIBER_START_ROUTINE lpStartAddress, 1423 - LPVOID lpParameter); 1424 - 1425 -extern(Windows) export LPVOID CreateFiberEx( 1426 - SIZE_T dwStackCommitSize, 1427 - SIZE_T dwStackReserveSize, 1428 - DWORD dwFlags, 1429 - LPFIBER_START_ROUTINE lpStartAddress, 1430 - LPVOID lpParameter); 1431 - 1432 -extern(Windows) export VOID DeleteFiber( 1433 - LPVOID lpFiber); 1434 - 1435 -extern(Windows) export LPVOID ConvertThreadToFiber( 1436 - LPVOID lpParameter); 1437 - 1438 -extern(Windows) export BOOL ConvertFiberToThread(); 1439 - 1440 -extern(Windows) export VOID SwitchToFiber( 1441 - LPVOID lpFiber); 1442 - 1443 -extern(Windows) export BOOL SwitchToThread(); 1444 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1445 - 1446 -extern(Windows) export HANDLE CreateThread( 1447 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 1448 - SIZE_T dwStackSize, 1449 - LPTHREAD_START_ROUTINE lpStartAddress, 1450 - LPVOID lpParameter, 1451 - DWORD dwCreationFlags, 1452 - LPDWORD lpThreadId); 1453 - 1454 -extern(Windows) export HANDLE CreateRemoteThread( 1455 - HANDLE hProcess, 1456 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 1457 - SIZE_T dwStackSize, 1458 - LPTHREAD_START_ROUTINE lpStartAddress, 1459 - LPVOID lpParameter, 1460 - DWORD dwCreationFlags, 1461 - LPDWORD lpThreadId); 1462 - 1463 -extern(Windows) export HANDLE GetCurrentThread(); 1464 - 1465 -extern(Windows) export DWORD GetCurrentThreadId(); 1466 - 1467 -extern(Windows) export DWORD_PTR SetThreadAffinityMask( 1468 - HANDLE hThread, 1469 - DWORD_PTR dwThreadAffinityMask); 1470 - 1471 -// #if(_WIN32_WINNT >= 0x0400) 1472 -extern(Windows) export DWORD SetThreadIdealProcessor( 1473 - HANDLE hThread, 1474 - DWORD dwIdealProcessor); 1475 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1476 - 1477 -extern(Windows) export BOOL SetProcessPriorityBoost( 1478 - HANDLE hProcess, 1479 - BOOL bDisablePriorityBoost); 1480 - 1481 -extern(Windows) export BOOL GetProcessPriorityBoost( 1482 - HANDLE hProcess, 1483 - PBOOL pDisablePriorityBoost); 1484 - 1485 -extern(Windows) export BOOL RequestWakeupLatency( 1486 - LATENCY_TIME latency); 1487 - 1488 -extern(Windows) export BOOL IsSystemResumeAutomatic(); 1489 - 1490 -extern(Windows) export HANDLE OpenThread( 1491 - DWORD dwDesiredAccess, 1492 - BOOL bInheritHandle, 1493 - DWORD dwThreadId); 1494 - 1495 -extern(Windows) export BOOL SetThreadPriority( 1496 - HANDLE hThread, 1497 - int nPriority); 1498 - 1499 -extern(Windows) export BOOL SetThreadPriorityBoost( 1500 - HANDLE hThread, 1501 - BOOL bDisablePriorityBoost); 1502 - 1503 -extern(Windows) export BOOL GetThreadPriorityBoost( 1504 - HANDLE hThread, 1505 - PBOOL pDisablePriorityBoost); 1506 - 1507 -extern(Windows) export int GetThreadPriority( 1508 - HANDLE hThread); 1509 - 1510 -extern(Windows) export BOOL GetThreadTimes( 1511 - HANDLE hThread, 1512 - LPFILETIME lpCreationTime, 1513 - LPFILETIME lpExitTime, 1514 - LPFILETIME lpKernelTime, 1515 - LPFILETIME lpUserTime); 1516 - 1517 -extern(Windows) export VOID ExitThread( 1518 - DWORD dwExitCode); 1519 - 1520 -extern(Windows) export BOOL TerminateThread( 1521 - HANDLE hThread, 1522 - DWORD dwExitCode); 1523 - 1524 -extern(Windows) export BOOL GetExitCodeThread( 1525 - HANDLE hThread, 1526 - LPDWORD lpExitCode); 1527 - 1528 -extern(Windows) export BOOL GetThreadSelectorEntry( 1529 - HANDLE hThread, 1530 - DWORD dwSelector, 1531 - LPLDT_ENTRY lpSelectorEntry); 1532 - 1533 -extern(Windows) export EXECUTION_STATE SetThreadExecutionState( 1534 - EXECUTION_STATE esFlags); 1535 - 1536 -extern(Windows) export DWORD GetLastError(); 1537 - 1538 -extern(Windows) export VOID SetLastError( 1539 - DWORD dwErrCode); 1540 - 1541 -// #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_RESTORE_LAST_ERROR" is a bit long. 1542 - 1543 -// #if defined(WINBASE_DECLARE_RESTORE_LAST_ERROR) 1544 - 1545 -// ... 1546 - 1547 -// ... 1548 -// #... 1549 -// #... 1550 -// #... 1551 - 1552 -// #endif 1553 -// #endif 1554 - 1555 -bit HasOverlappedIoCompleted(LPOVERLAPPED lpOverlapped){ return (*lpOverlapped).Internal != STATUS_PENDING; } 1556 - 1557 -extern(Windows) export BOOL GetOverlappedResult( 1558 - HANDLE hFile, 1559 - LPOVERLAPPED lpOverlapped, 1560 - LPDWORD lpNumberOfBytesTransferred, 1561 - BOOL bWait); 1562 - 1563 -extern(Windows) export HANDLE CreateIoCompletionPort( 1564 - HANDLE FileHandle, 1565 - HANDLE ExistingCompletionPort, 1566 - ULONG_PTR CompletionKey, 1567 - DWORD NumberOfConcurrentThreads); 1568 - 1569 -extern(Windows) export BOOL GetQueuedCompletionStatus( 1570 - HANDLE CompletionPort, 1571 - LPDWORD lpNumberOfBytesTransferred, 1572 - PULONG_PTR lpCompletionKey, 1573 - LPOVERLAPPED *lpOverlapped, 1574 - DWORD dwMilliseconds); 1575 - 1576 -extern(Windows) export BOOL PostQueuedCompletionStatus( 1577 - HANDLE CompletionPort, 1578 - DWORD dwNumberOfBytesTransferred, 1579 - ULONG_PTR dwCompletionKey, 1580 - LPOVERLAPPED lpOverlapped); 1581 - 1582 -enum : uint { SEM_FAILCRITICALERRORS = 0x0001 } 1583 -enum : uint { SEM_NOGPFAULTERRORBOX = 0x0002 } 1584 -enum : uint { SEM_NOALIGNMENTFAULTEXCEPT = 0x0004 } 1585 -enum : uint { SEM_NOOPENFILEERRORBOX = 0x8000 } 1586 - 1587 -extern(Windows) export UINT SetErrorMode( 1588 - UINT uMode); 1589 - 1590 -extern(Windows) export BOOL ReadProcessMemory( 1591 - HANDLE hProcess, 1592 - LPCVOID lpBaseAddress, 1593 - LPVOID lpBuffer, 1594 - SIZE_T nSize, 1595 - SIZE_T * lpNumberOfBytesRead); 1596 - 1597 -extern(Windows) export BOOL WriteProcessMemory( 1598 - HANDLE hProcess, 1599 - LPVOID lpBaseAddress, 1600 - LPCVOID lpBuffer, 1601 - SIZE_T nSize, 1602 - SIZE_T * lpNumberOfBytesWritten); 1603 - 1604 -// #if !defined(MIDL_PASS) 1605 -extern(Windows) export BOOL GetThreadContext( 1606 - HANDLE hThread, 1607 - LPCONTEXT lpContext); 1608 - 1609 -extern(Windows) export BOOL SetThreadContext( 1610 - HANDLE hThread, 1611 - CONTEXT *lpContext); 1612 -// #endif 1613 - 1614 -extern(Windows) export DWORD SuspendThread( 1615 - HANDLE hThread); 1616 - 1617 -extern(Windows) export DWORD ResumeThread( 1618 - HANDLE hThread); 1619 - 1620 -// #if(_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 1621 - 1622 -// ... 1623 - 1624 -// ... 1625 - 1626 -// #endif /* _WIN32_WINNT >= 0x0400 || _WIN32_WINDOWS > 0x0400 */ 1627 - 1628 -// #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 1629 -extern(Windows) export BOOL IsDebuggerPresent(); 1630 -// #endif 1631 - 1632 -extern(Windows) export VOID DebugBreak(); 1633 - 1634 -extern(Windows) export BOOL WaitForDebugEvent( 1635 - LPDEBUG_EVENT lpDebugEvent, 1636 - DWORD dwMilliseconds); 1637 - 1638 -extern(Windows) export BOOL ContinueDebugEvent( 1639 - DWORD dwProcessId, 1640 - DWORD dwThreadId, 1641 - DWORD dwContinueStatus); 1642 - 1643 -extern(Windows) export BOOL DebugActiveProcess( 1644 - DWORD dwProcessId); 1645 - 1646 -extern(Windows) export BOOL DebugActiveProcessStop( 1647 - DWORD dwProcessId); 1648 - 1649 -extern(Windows) export BOOL DebugSetProcessKillOnExit( 1650 - BOOL KillOnExit); 1651 - 1652 -extern(Windows) export BOOL DebugBreakProcess( 1653 - HANDLE Process); 1654 - 1655 -extern(Windows) export VOID InitializeCriticalSection( 1656 - LPCRITICAL_SECTION lpCriticalSection); 1657 - 1658 -extern(Windows) export VOID EnterCriticalSection( 1659 - LPCRITICAL_SECTION lpCriticalSection); 1660 - 1661 -extern(Windows) export VOID LeaveCriticalSection( 1662 - LPCRITICAL_SECTION lpCriticalSection); 1663 - 1664 -// #if (_WIN32_WINNT >= 0x0403) 1665 -extern(Windows) export BOOL InitializeCriticalSectionAndSpinCount( 1666 - LPCRITICAL_SECTION lpCriticalSection, 1667 - DWORD dwSpinCount); 1668 - 1669 -extern(Windows) export DWORD SetCriticalSectionSpinCount( 1670 - LPCRITICAL_SECTION lpCriticalSection, 1671 - DWORD dwSpinCount); 1672 -// #endif 1673 - 1674 -// #if(_WIN32_WINNT >= 0x0400) 1675 -extern(Windows) export BOOL TryEnterCriticalSection( 1676 - LPCRITICAL_SECTION lpCriticalSection); 1677 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1678 - 1679 -extern(Windows) export VOID DeleteCriticalSection( 1680 - LPCRITICAL_SECTION lpCriticalSection); 1681 - 1682 -extern(Windows) export BOOL SetEvent( 1683 - HANDLE hEvent); 1684 - 1685 -extern(Windows) export BOOL ResetEvent( 1686 - HANDLE hEvent); 1687 - 1688 -extern(Windows) export BOOL PulseEvent( 1689 - HANDLE hEvent); 1690 - 1691 -extern(Windows) export BOOL ReleaseSemaphore( 1692 - HANDLE hSemaphore, 1693 - LONG lReleaseCount, 1694 - LPLONG lpPreviousCount); 1695 - 1696 -extern(Windows) export BOOL ReleaseMutex( 1697 - HANDLE hMutex); 1698 - 1699 -extern(Windows) export DWORD WaitForSingleObject( 1700 - HANDLE hHandle, 1701 - DWORD dwMilliseconds); 1702 - 1703 -extern(Windows) export DWORD WaitForMultipleObjects( 1704 - DWORD nCount, 1705 - HANDLE *lpHandles, 1706 - BOOL bWaitAll, 1707 - DWORD dwMilliseconds); 1708 - 1709 -extern(Windows) export VOID Sleep( 1710 - DWORD dwMilliseconds); 1711 - 1712 -extern(Windows) export HGLOBAL LoadResource( 1713 - HMODULE hModule, 1714 - HRSRC hResInfo); 1715 - 1716 -extern(Windows) export DWORD SizeofResource( 1717 - HMODULE hModule, 1718 - HRSRC hResInfo); 1719 - 1720 -extern(Windows) export ATOM GlobalDeleteAtom( 1721 - ATOM nAtom); 1722 - 1723 -extern(Windows) export BOOL InitAtomTable( 1724 - DWORD nSize); 1725 - 1726 -extern(Windows) export ATOM DeleteAtom( 1727 - ATOM nAtom); 1728 - 1729 -extern(Windows) export UINT SetHandleCount( 1730 - UINT uNumber); 1731 - 1732 -extern(Windows) export DWORD GetLogicalDrives(); 1733 - 1734 -extern(Windows) export BOOL LockFile( 1735 - HANDLE hFile, 1736 - DWORD dwFileOffsetLow, 1737 - DWORD dwFileOffsetHigh, 1738 - DWORD nNumberOfBytesToLockLow, 1739 - DWORD nNumberOfBytesToLockHigh); 1740 - 1741 -extern(Windows) export BOOL UnlockFile( 1742 - HANDLE hFile, 1743 - DWORD dwFileOffsetLow, 1744 - DWORD dwFileOffsetHigh, 1745 - DWORD nNumberOfBytesToUnlockLow, 1746 - DWORD nNumberOfBytesToUnlockHigh); 1747 - 1748 -extern(Windows) export BOOL LockFileEx( 1749 - HANDLE hFile, 1750 - DWORD dwFlags, 1751 - DWORD dwReserved, 1752 - DWORD nNumberOfBytesToLockLow, 1753 - DWORD nNumberOfBytesToLockHigh, 1754 - LPOVERLAPPED lpOverlapped); 1755 - 1756 -enum : uint { LOCKFILE_FAIL_IMMEDIATELY = 0x00000001 } 1757 -enum : uint { LOCKFILE_EXCLUSIVE_LOCK = 0x00000002 } 1758 - 1759 -extern(Windows) export BOOL UnlockFileEx( 1760 - HANDLE hFile, 1761 - DWORD dwReserved, 1762 - DWORD nNumberOfBytesToUnlockLow, 1763 - DWORD nNumberOfBytesToUnlockHigh, 1764 - LPOVERLAPPED lpOverlapped); 1765 - 1766 -struct _BY_HANDLE_FILE_INFORMATION { 1767 - DWORD dwFileAttributes; 1768 - FILETIME ftCreationTime; 1769 - FILETIME ftLastAccessTime; 1770 - FILETIME ftLastWriteTime; 1771 - DWORD dwVolumeSerialNumber; 1772 - DWORD nFileSizeHigh; 1773 - DWORD nFileSizeLow; 1774 - DWORD nNumberOfLinks; 1775 - DWORD nFileIndexHigh; 1776 - DWORD nFileIndexLow; 1777 -} 1778 -alias _BY_HANDLE_FILE_INFORMATION BY_HANDLE_FILE_INFORMATION; 1779 -alias _BY_HANDLE_FILE_INFORMATION* PBY_HANDLE_FILE_INFORMATION; 1780 -alias _BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION; 1781 - 1782 -extern(Windows) export BOOL GetFileInformationByHandle( 1783 - HANDLE hFile, 1784 - LPBY_HANDLE_FILE_INFORMATION lpFileInformation); 1785 - 1786 -extern(Windows) export DWORD GetFileType( 1787 - HANDLE hFile); 1788 - 1789 -extern(Windows) export DWORD GetFileSize( 1790 - HANDLE hFile, 1791 - LPDWORD lpFileSizeHigh); 1792 - 1793 -extern(Windows) export BOOL GetFileSizeEx( 1794 - HANDLE hFile, 1795 - PLARGE_INTEGER lpFileSize); 1796 - 1797 -extern(Windows) export HANDLE GetStdHandle( 1798 - DWORD nStdHandle); 1799 - 1800 -extern(Windows) export BOOL SetStdHandle( 1801 - DWORD nStdHandle, 1802 - HANDLE hHandle); 1803 - 1804 -extern(Windows) export BOOL WriteFile( 1805 - HANDLE hFile, 1806 - LPCVOID lpBuffer, 1807 - DWORD nNumberOfBytesToWrite, 1808 - LPDWORD lpNumberOfBytesWritten, 1809 - LPOVERLAPPED lpOverlapped); 1810 - 1811 -extern(Windows) export BOOL ReadFile( 1812 - HANDLE hFile, 1813 - LPVOID lpBuffer, 1814 - DWORD nNumberOfBytesToRead, 1815 - LPDWORD lpNumberOfBytesRead, 1816 - LPOVERLAPPED lpOverlapped); 1817 - 1818 -extern(Windows) export BOOL FlushFileBuffers( 1819 - HANDLE hFile); 1820 - 1821 -extern(Windows) export BOOL DeviceIoControl( 1822 - HANDLE hDevice, 1823 - DWORD dwIoControlCode, 1824 - LPVOID lpInBuffer, 1825 - DWORD nInBufferSize, 1826 - LPVOID lpOutBuffer, 1827 - DWORD nOutBufferSize, 1828 - LPDWORD lpBytesReturned, 1829 - LPOVERLAPPED lpOverlapped); 1830 - 1831 -extern(Windows) export BOOL RequestDeviceWakeup( 1832 - HANDLE hDevice); 1833 - 1834 -extern(Windows) export BOOL CancelDeviceWakeupRequest( 1835 - HANDLE hDevice); 1836 - 1837 -extern(Windows) export BOOL GetDevicePowerState( 1838 - HANDLE hDevice, 1839 - BOOL *pfOn); 1840 - 1841 -extern(Windows) export BOOL SetMessageWaitingIndicator( 1842 - HANDLE hMsgIndicator, 1843 - ULONG ulMsgCount); 1844 - 1845 -extern(Windows) export BOOL SetEndOfFile( 1846 - HANDLE hFile); 1847 - 1848 -extern(Windows) export DWORD SetFilePointer( 1849 - HANDLE hFile, 1850 - LONG lDistanceToMove, 1851 - PLONG lpDistanceToMoveHigh, 1852 - DWORD dwMoveMethod); 1853 - 1854 -extern(Windows) export BOOL SetFilePointerEx( 1855 - HANDLE hFile, 1856 - LARGE_INTEGER liDistanceToMove, 1857 - PLARGE_INTEGER lpNewFilePointer, 1858 - DWORD dwMoveMethod); 1859 - 1860 -extern(Windows) export BOOL FindClose( 1861 - HANDLE hFindFile); 1862 - 1863 -extern(Windows) export BOOL GetFileTime( 1864 - HANDLE hFile, 1865 - LPFILETIME lpCreationTime, 1866 - LPFILETIME lpLastAccessTime, 1867 - LPFILETIME lpLastWriteTime); 1868 - 1869 -extern(Windows) export BOOL SetFileTime( 1870 - HANDLE hFile, 1871 - FILETIME *lpCreationTime, 1872 - FILETIME *lpLastAccessTime, 1873 - FILETIME *lpLastWriteTime); 1874 - 1875 -extern(Windows) export BOOL SetFileValidData( 1876 - HANDLE hFile, 1877 - LONGLONG ValidDataLength); 1878 - 1879 -extern(Windows) export BOOL SetFileShortNameA( 1880 - HANDLE hFile, 1881 - LPCSTR lpShortName); 1882 -extern(Windows) export BOOL SetFileShortNameW( 1883 - HANDLE hFile, 1884 - LPCWSTR lpShortName); 1885 -// #ifdef UNICODE 1886 -// #... 1887 -// #else 1888 -alias SetFileShortNameA SetFileShortName; 1889 -// #endif // !UNICODE 1890 - 1891 -extern(Windows) export BOOL CloseHandle( 1892 - HANDLE hObject); 1893 - 1894 -extern(Windows) export BOOL DuplicateHandle( 1895 - HANDLE hSourceProcessHandle, 1896 - HANDLE hSourceHandle, 1897 - HANDLE hTargetProcessHandle, 1898 - LPHANDLE lpTargetHandle, 1899 - DWORD dwDesiredAccess, 1900 - BOOL bInheritHandle, 1901 - DWORD dwOptions); 1902 - 1903 -extern(Windows) export BOOL GetHandleInformation( 1904 - HANDLE hObject, 1905 - LPDWORD lpdwFlags); 1906 - 1907 -extern(Windows) export BOOL SetHandleInformation( 1908 - HANDLE hObject, 1909 - DWORD dwMask, 1910 - DWORD dwFlags); 1911 - 1912 -enum : uint { HANDLE_FLAG_INHERIT = 0x00000001 } 1913 -enum : uint { HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x00000002 } 1914 - 1915 -enum : uint { HINSTANCE_ERROR = 32 } 1916 - 1917 -extern(Windows) export DWORD LoadModule( 1918 - LPCSTR lpModuleName, 1919 - LPVOID lpParameterBlock); 1920 - 1921 -extern(Windows) export UINT WinExec( 1922 - LPCSTR lpCmdLine, 1923 - UINT uCmdShow); 1924 - 1925 -extern(Windows) export BOOL ClearCommBreak( 1926 - HANDLE hFile); 1927 - 1928 -extern(Windows) export BOOL ClearCommError( 1929 - HANDLE hFile, 1930 - LPDWORD lpErrors, 1931 - LPCOMSTAT lpStat); 1932 - 1933 -extern(Windows) export BOOL SetupComm( 1934 - HANDLE hFile, 1935 - DWORD dwInQueue, 1936 - DWORD dwOutQueue); 1937 - 1938 -extern(Windows) export BOOL EscapeCommFunction( 1939 - HANDLE hFile, 1940 - DWORD dwFunc); 1941 - 1942 -extern(Windows) export BOOL GetCommConfig( 1943 - HANDLE hCommDev, 1944 - LPCOMMCONFIG lpCC, 1945 - LPDWORD lpdwSize); 1946 - 1947 -extern(Windows) export BOOL GetCommMask( 1948 - HANDLE hFile, 1949 - LPDWORD lpEvtMask); 1950 - 1951 -extern(Windows) export BOOL GetCommProperties( 1952 - HANDLE hFile, 1953 - LPCOMMPROP lpCommProp); 1954 - 1955 -extern(Windows) export BOOL GetCommModemStatus( 1956 - HANDLE hFile, 1957 - LPDWORD lpModemStat); 1958 - 1959 -extern(Windows) export BOOL GetCommState( 1960 - HANDLE hFile, 1961 - LPDCB lpDCB); 1962 - 1963 -extern(Windows) export BOOL GetCommTimeouts( 1964 - HANDLE hFile, 1965 - LPCOMMTIMEOUTS lpCommTimeouts); 1966 - 1967 -extern(Windows) export BOOL PurgeComm( 1968 - HANDLE hFile, 1969 - DWORD dwFlags); 1970 - 1971 -extern(Windows) export BOOL SetCommBreak( 1972 - HANDLE hFile); 1973 - 1974 -extern(Windows) export BOOL SetCommConfig( 1975 - HANDLE hCommDev, 1976 - LPCOMMCONFIG lpCC, 1977 - DWORD dwSize); 1978 - 1979 -extern(Windows) export BOOL SetCommMask( 1980 - HANDLE hFile, 1981 - DWORD dwEvtMask); 1982 - 1983 -extern(Windows) export BOOL SetCommState( 1984 - HANDLE hFile, 1985 - LPDCB lpDCB); 1986 - 1987 -extern(Windows) export BOOL SetCommTimeouts( 1988 - HANDLE hFile, 1989 - LPCOMMTIMEOUTS lpCommTimeouts); 1990 - 1991 -extern(Windows) export BOOL TransmitCommChar( 1992 - HANDLE hFile, 1993 - char cChar); 1994 - 1995 -extern(Windows) export BOOL WaitCommEvent( 1996 - HANDLE hFile, 1997 - LPDWORD lpEvtMask, 1998 - LPOVERLAPPED lpOverlapped); 1999 - 2000 -extern(Windows) export DWORD SetTapePosition( 2001 - HANDLE hDevice, 2002 - DWORD dwPositionMethod, 2003 - DWORD dwPartition, 2004 - DWORD dwOffsetLow, 2005 - DWORD dwOffsetHigh, 2006 - BOOL bImmediate); 2007 - 2008 -extern(Windows) export DWORD GetTapePosition( 2009 - HANDLE hDevice, 2010 - DWORD dwPositionType, 2011 - LPDWORD lpdwPartition, 2012 - LPDWORD lpdwOffsetLow, 2013 - LPDWORD lpdwOffsetHigh); 2014 - 2015 -extern(Windows) export DWORD PrepareTape( 2016 - HANDLE hDevice, 2017 - DWORD dwOperation, 2018 - BOOL bImmediate); 2019 - 2020 -extern(Windows) export DWORD EraseTape( 2021 - HANDLE hDevice, 2022 - DWORD dwEraseType, 2023 - BOOL bImmediate); 2024 - 2025 -extern(Windows) export DWORD CreateTapePartition( 2026 - HANDLE hDevice, 2027 - DWORD dwPartitionMethod, 2028 - DWORD dwCount, 2029 - DWORD dwSize); 2030 - 2031 -extern(Windows) export DWORD WriteTapemark( 2032 - HANDLE hDevice, 2033 - DWORD dwTapemarkType, 2034 - DWORD dwTapemarkCount, 2035 - BOOL bImmediate); 2036 - 2037 -extern(Windows) export DWORD GetTapeStatus( 2038 - HANDLE hDevice); 2039 - 2040 -extern(Windows) export DWORD GetTapeParameters( 2041 - HANDLE hDevice, 2042 - DWORD dwOperation, 2043 - LPDWORD lpdwSize, 2044 - LPVOID lpTapeInformation); 2045 - 2046 -enum : uint { GET_TAPE_MEDIA_INFORMATION = 0 } 2047 -enum : uint { GET_TAPE_DRIVE_INFORMATION = 1 } 2048 - 2049 -extern(Windows) export DWORD SetTapeParameters( 2050 - HANDLE hDevice, 2051 - DWORD dwOperation, 2052 - LPVOID lpTapeInformation); 2053 - 2054 -enum : uint { SET_TAPE_MEDIA_INFORMATION = 0 } 2055 -enum : uint { SET_TAPE_DRIVE_INFORMATION = 1 } 2056 - 2057 -extern(Windows) export BOOL Beep( 2058 - DWORD dwFreq, 2059 - DWORD dwDuration); 2060 - 2061 -extern(Windows) export int MulDiv( 2062 - int nNumber, 2063 - int nNumerator, 2064 - int nDenominator); 2065 - 2066 -extern(Windows) export VOID GetSystemTime( 2067 - LPSYSTEMTIME lpSystemTime); 2068 - 2069 -extern(Windows) export VOID GetSystemTimeAsFileTime( 2070 - LPFILETIME lpSystemTimeAsFileTime); 2071 - 2072 -extern(Windows) export BOOL SetSystemTime( 2073 - SYSTEMTIME *lpSystemTime); 2074 - 2075 -extern(Windows) export VOID GetLocalTime( 2076 - LPSYSTEMTIME lpSystemTime); 2077 - 2078 -extern(Windows) export BOOL SetLocalTime( 2079 - SYSTEMTIME *lpSystemTime); 2080 - 2081 -extern(Windows) export VOID GetSystemInfo( 2082 - LPSYSTEM_INFO lpSystemInfo); 2083 - 2084 -// #if _WIN32_WINNT >= 0x0501 2085 -extern(Windows) export VOID GetNativeSystemInfo( 2086 - LPSYSTEM_INFO lpSystemInfo); 2087 -// #endif 2088 - 2089 -extern(Windows) export BOOL IsProcessorFeaturePresent( 2090 - DWORD ProcessorFeature); 2091 - 2092 -struct _TIME_ZONE_INFORMATION { 2093 - LONG Bias; 2094 - WCHAR StandardName[ 32 ]; 2095 - SYSTEMTIME StandardDate; 2096 - LONG StandardBias; 2097 - WCHAR DaylightName[ 32 ]; 2098 - SYSTEMTIME DaylightDate; 2099 - LONG DaylightBias; 2100 -} 2101 -alias _TIME_ZONE_INFORMATION TIME_ZONE_INFORMATION; 2102 -alias _TIME_ZONE_INFORMATION* PTIME_ZONE_INFORMATION; 2103 -alias _TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION; 2104 - 2105 -extern(Windows) export BOOL SystemTimeToTzSpecificLocalTime( 2106 - LPTIME_ZONE_INFORMATION lpTimeZoneInformation, 2107 - LPSYSTEMTIME lpUniversalTime, 2108 - LPSYSTEMTIME lpLocalTime); 2109 - 2110 -extern(Windows) export BOOL TzSpecificLocalTimeToSystemTime( 2111 - LPTIME_ZONE_INFORMATION lpTimeZoneInformation, 2112 - LPSYSTEMTIME lpLocalTime, 2113 - LPSYSTEMTIME lpUniversalTime); 2114 - 2115 -extern(Windows) export DWORD GetTimeZoneInformation( 2116 - LPTIME_ZONE_INFORMATION lpTimeZoneInformation); 2117 - 2118 -extern(Windows) export BOOL SetTimeZoneInformation( 2119 - TIME_ZONE_INFORMATION *lpTimeZoneInformation); 2120 - 2121 -extern(Windows) export BOOL SystemTimeToFileTime( 2122 - SYSTEMTIME *lpSystemTime, 2123 - LPFILETIME lpFileTime); 2124 - 2125 -extern(Windows) export BOOL FileTimeToLocalFileTime( 2126 - FILETIME *lpFileTime, 2127 - LPFILETIME lpLocalFileTime); 2128 - 2129 -extern(Windows) export BOOL LocalFileTimeToFileTime( 2130 - FILETIME *lpLocalFileTime, 2131 - LPFILETIME lpFileTime); 2132 - 2133 -extern(Windows) export BOOL FileTimeToSystemTime( 2134 - FILETIME *lpFileTime, 2135 - LPSYSTEMTIME lpSystemTime); 2136 - 2137 -extern(Windows) export LONG CompareFileTime( 2138 - FILETIME *lpFileTime1, 2139 - FILETIME *lpFileTime2); 2140 - 2141 -extern(Windows) export BOOL FileTimeToDosDateTime( 2142 - FILETIME *lpFileTime, 2143 - LPWORD lpFatDate, 2144 - LPWORD lpFatTime); 2145 - 2146 -extern(Windows) export BOOL DosDateTimeToFileTime( 2147 - WORD wFatDate, 2148 - WORD wFatTime, 2149 - LPFILETIME lpFileTime); 2150 - 2151 -extern(Windows) export DWORD GetTickCount(); 2152 - 2153 -extern(Windows) export BOOL SetSystemTimeAdjustment( 2154 - DWORD dwTimeAdjustment, 2155 - BOOL bTimeAdjustmentDisabled); 2156 - 2157 -extern(Windows) export BOOL GetSystemTimeAdjustment( 2158 - PDWORD lpTimeAdjustment, 2159 - PDWORD lpTimeIncrement, 2160 - PBOOL lpTimeAdjustmentDisabled); 2161 - 2162 -// #if !defined(MIDL_PASS) 2163 -extern(Windows) export DWORD FormatMessageA( 2164 - DWORD dwFlags, 2165 - LPCVOID lpSource, 2166 - DWORD dwMessageId, 2167 - DWORD dwLanguageId, 2168 - LPSTR lpBuffer, 2169 - DWORD nSize, 2170 - va_list *Arguments); 2171 -extern(Windows) export DWORD FormatMessageW( 2172 - DWORD dwFlags, 2173 - LPCVOID lpSource, 2174 - DWORD dwMessageId, 2175 - DWORD dwLanguageId, 2176 - LPWSTR lpBuffer, 2177 - DWORD nSize, 2178 - va_list *Arguments); 2179 -// #ifdef UNICODE 2180 -// #... 2181 -// #else 2182 -alias FormatMessageA FormatMessage; 2183 -// #endif // !UNICODE 2184 -// #endif 2185 - 2186 -enum : uint { FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100 } 2187 -enum : uint { FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200 } 2188 -enum : uint { FORMAT_MESSAGE_FROM_STRING = 0x00000400 } 2189 -enum : uint { FORMAT_MESSAGE_FROM_HMODULE = 0x00000800 } 2190 -enum : uint { FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000 } 2191 -enum : uint { FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000 } 2192 -enum : uint { FORMAT_MESSAGE_MAX_WIDTH_MASK = 0x000000FF } 2193 - 2194 -extern(Windows) export BOOL CreatePipe( 2195 - PHANDLE hReadPipe, 2196 - PHANDLE hWritePipe, 2197 - LPSECURITY_ATTRIBUTES lpPipeAttributes, 2198 - DWORD nSize); 2199 - 2200 -extern(Windows) export BOOL ConnectNamedPipe( 2201 - HANDLE hNamedPipe, 2202 - LPOVERLAPPED lpOverlapped); 2203 - 2204 -extern(Windows) export BOOL DisconnectNamedPipe( 2205 - HANDLE hNamedPipe); 2206 - 2207 -extern(Windows) export BOOL SetNamedPipeHandleState( 2208 - HANDLE hNamedPipe, 2209 - LPDWORD lpMode, 2210 - LPDWORD lpMaxCollectionCount, 2211 - LPDWORD lpCollectDataTimeout); 2212 - 2213 -extern(Windows) export BOOL GetNamedPipeInfo( 2214 - HANDLE hNamedPipe, 2215 - LPDWORD lpFlags, 2216 - LPDWORD lpOutBufferSize, 2217 - LPDWORD lpInBufferSize, 2218 - LPDWORD lpMaxInstances); 2219 - 2220 -extern(Windows) export BOOL PeekNamedPipe( 2221 - HANDLE hNamedPipe, 2222 - LPVOID lpBuffer, 2223 - DWORD nBufferSize, 2224 - LPDWORD lpBytesRead, 2225 - LPDWORD lpTotalBytesAvail, 2226 - LPDWORD lpBytesLeftThisMessage); 2227 - 2228 -extern(Windows) export BOOL TransactNamedPipe( 2229 - HANDLE hNamedPipe, 2230 - LPVOID lpInBuffer, 2231 - DWORD nInBufferSize, 2232 - LPVOID lpOutBuffer, 2233 - DWORD nOutBufferSize, 2234 - LPDWORD lpBytesRead, 2235 - LPOVERLAPPED lpOverlapped); 2236 - 2237 -extern(Windows) export HANDLE CreateMailslotA( 2238 - LPCSTR lpName, 2239 - DWORD nMaxMessageSize, 2240 - DWORD lReadTimeout, 2241 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 2242 -extern(Windows) export HANDLE CreateMailslotW( 2243 - LPCWSTR lpName, 2244 - DWORD nMaxMessageSize, 2245 - DWORD lReadTimeout, 2246 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 2247 -// #ifdef UNICODE 2248 -// #... 2249 -// #else 2250 -alias CreateMailslotA CreateMailslot; 2251 -// #endif // !UNICODE 2252 - 2253 -extern(Windows) export BOOL GetMailslotInfo( 2254 - HANDLE hMailslot, 2255 - LPDWORD lpMaxMessageSize, 2256 - LPDWORD lpNextSize, 2257 - LPDWORD lpMessageCount, 2258 - LPDWORD lpReadTimeout); 2259 - 2260 -extern(Windows) export BOOL SetMailslotInfo( 2261 - HANDLE hMailslot, 2262 - DWORD lReadTimeout); 2263 - 2264 -extern(Windows) export LPVOID MapViewOfFile( 2265 - HANDLE hFileMappingObject, 2266 - DWORD dwDesiredAccess, 2267 - DWORD dwFileOffsetHigh, 2268 - DWORD dwFileOffsetLow, 2269 - SIZE_T dwNumberOfBytesToMap); 2270 - 2271 -extern(Windows) export BOOL FlushViewOfFile( 2272 - LPCVOID lpBaseAddress, 2273 - SIZE_T dwNumberOfBytesToFlush); 2274 - 2275 -extern(Windows) export BOOL UnmapViewOfFile( 2276 - LPCVOID lpBaseAddress); 2277 - 2278 -extern(Windows) export BOOL EncryptFileA( 2279 - LPCSTR lpFileName); 2280 -extern(Windows) export BOOL EncryptFileW( 2281 - LPCWSTR lpFileName); 2282 -// #ifdef UNICODE 2283 -// #... 2284 -// #else 2285 -alias EncryptFileA EncryptFile; 2286 -// #endif // !UNICODE 2287 - 2288 -extern(Windows) export BOOL DecryptFileA( 2289 - LPCSTR lpFileName, 2290 - DWORD dwReserved); 2291 -extern(Windows) export BOOL DecryptFileW( 2292 - LPCWSTR lpFileName, 2293 - DWORD dwReserved); 2294 -// #ifdef UNICODE 2295 -// #... 2296 -// #else 2297 -alias DecryptFileA DecryptFile; 2298 -// #endif // !UNICODE 2299 - 2300 -enum : uint { FILE_ENCRYPTABLE = 0 } 2301 -enum : uint { FILE_IS_ENCRYPTED = 1 } 2302 -enum : uint { FILE_SYSTEM_ATTR = 2 } 2303 -enum : uint { FILE_ROOT_DIR = 3 } 2304 -enum : uint { FILE_SYSTEM_DIR = 4 } 2305 -enum : uint { FILE_UNKNOWN = 5 } 2306 -enum : uint { FILE_SYSTEM_NOT_SUPPORT = 6 } 2307 -enum : uint { FILE_USER_DISALLOWED = 7 } 2308 -enum : uint { FILE_READ_ONLY = 8 } 2309 -enum : uint { FILE_DIR_DISALLOWED = 9 } 2310 - 2311 -extern(Windows) export BOOL FileEncryptionStatusA( 2312 - LPCSTR lpFileName, 2313 - LPDWORD lpStatus); 2314 -extern(Windows) export BOOL FileEncryptionStatusW( 2315 - LPCWSTR lpFileName, 2316 - LPDWORD lpStatus); 2317 -// #ifdef UNICODE 2318 -// #... 2319 -// #else 2320 -alias FileEncryptionStatusA FileEncryptionStatus; 2321 -// #endif // !UNICODE 2322 - 2323 -enum : uint { EFS_USE_RECOVERY_KEYS = 0x1 } 2324 - 2325 -extern(Windows) alias DWORD function( PBYTE pbData, PVOID pvCallbackContext, ULONG ulLength ) PFE_EXPORT_FUNC; 2326 - 2327 -extern(Windows) alias DWORD function( PBYTE pbData, PVOID pvCallbackContext, PULONG ulLength ) PFE_IMPORT_FUNC; 2328 - 2329 -enum : uint { CREATE_FOR_IMPORT = 1 } 2330 -enum : uint { CREATE_FOR_DIR = 2 } 2331 -enum : uint { OVERWRITE_HIDDEN = 4 } 2332 - 2333 -extern(Windows) export DWORD OpenEncryptedFileRawA( 2334 - LPCSTR lpFileName, 2335 - ULONG ulFlags, 2336 - PVOID * pvContext); 2337 -extern(Windows) export DWORD OpenEncryptedFileRawW( 2338 - LPCWSTR lpFileName, 2339 - ULONG ulFlags, 2340 - PVOID * pvContext); 2341 -// #ifdef UNICODE 2342 -// #... 2343 -// #else 2344 -alias OpenEncryptedFileRawA OpenEncryptedFileRaw; 2345 -// #endif // !UNICODE 2346 - 2347 -extern(Windows) export DWORD ReadEncryptedFileRaw( 2348 - PFE_EXPORT_FUNC pfExportCallback, 2349 - PVOID pvCallbackContext, 2350 - PVOID pvContext); 2351 - 2352 -extern(Windows) export DWORD WriteEncryptedFileRaw( 2353 - PFE_IMPORT_FUNC pfImportCallback, 2354 - PVOID pvCallbackContext, 2355 - PVOID pvContext); 2356 - 2357 -extern(Windows) export VOID CloseEncryptedFileRaw( 2358 - PVOID pvContext); 2359 - 2360 -extern(Windows) export int lstrcmpA( 2361 - LPCSTR lpString1, 2362 - LPCSTR lpString2); 2363 -extern(Windows) export int lstrcmpW( 2364 - LPCWSTR lpString1, 2365 - LPCWSTR lpString2); 2366 -// #ifdef UNICODE 2367 -// #... 2368 -// #else 2369 -alias lstrcmpA lstrcmp; 2370 -// #endif // !UNICODE 2371 - 2372 -extern(Windows) export int lstrcmpiA( 2373 - LPCSTR lpString1, 2374 - LPCSTR lpString2); 2375 -extern(Windows) export int lstrcmpiW( 2376 - LPCWSTR lpString1, 2377 - LPCWSTR lpString2); 2378 -// #ifdef UNICODE 2379 -// #... 2380 -// #else 2381 -alias lstrcmpiA lstrcmpi; 2382 -// #endif // !UNICODE 2383 - 2384 -extern(Windows) export LPSTR lstrcpynA( 2385 - LPSTR lpString1, 2386 - LPCSTR lpString2, 2387 - int iMaxLength); 2388 -extern(Windows) export LPWSTR lstrcpynW( 2389 - LPWSTR lpString1, 2390 - LPCWSTR lpString2, 2391 - int iMaxLength); 2392 -// #ifdef UNICODE 2393 -// #... 2394 -// #else 2395 -alias lstrcpynA lstrcpyn; 2396 -// #endif // !UNICODE 2397 - 2398 -extern(Windows) export LPSTR lstrcpyA( 2399 - LPSTR lpString1, 2400 - LPCSTR lpString2); 2401 -extern(Windows) export LPWSTR lstrcpyW( 2402 - LPWSTR lpString1, 2403 - LPCWSTR lpString2); 2404 -// #ifdef UNICODE 2405 -// #... 2406 -// #else 2407 -alias lstrcpyA lstrcpy; 2408 -// #endif // !UNICODE 2409 - 2410 -extern(Windows) export LPSTR lstrcatA( 2411 - LPSTR lpString1, 2412 - LPCSTR lpString2); 2413 -extern(Windows) export LPWSTR lstrcatW( 2414 - LPWSTR lpString1, 2415 - LPCWSTR lpString2); 2416 -// #ifdef UNICODE 2417 -// #... 2418 -// #else 2419 -alias lstrcatA lstrcat; 2420 -// #endif // !UNICODE 2421 - 2422 -extern(Windows) export int lstrlenA( 2423 - LPCSTR lpString); 2424 -extern(Windows) export int lstrlenW( 2425 - LPCWSTR lpString); 2426 -// #ifdef UNICODE 2427 -// #... 2428 -// #else 2429 -alias lstrlenA lstrlen; 2430 -// #endif // !UNICODE 2431 - 2432 -extern(Windows) export HFILE OpenFile( 2433 - LPCSTR lpFileName, 2434 - LPOFSTRUCT lpReOpenBuff, 2435 - UINT uStyle); 2436 - 2437 -extern(Windows) export HFILE _lopen( 2438 - LPCSTR lpPathName, 2439 - int iReadWrite); 2440 - 2441 -extern(Windows) export HFILE _lcreat( 2442 - LPCSTR lpPathName, 2443 - int iAttribute); 2444 - 2445 -extern(Windows) export UINT _lread( 2446 - HFILE hFile, 2447 - LPVOID lpBuffer, 2448 - UINT uBytes); 2449 - 2450 -extern(Windows) export UINT _lwrite( 2451 - HFILE hFile, 2452 - LPCSTR lpBuffer, 2453 - UINT uBytes); 2454 - 2455 -extern(Windows) export int _hread( 2456 - HFILE hFile, 2457 - LPVOID lpBuffer, 2458 - int lBytes); 2459 - 2460 -extern(Windows) export int _hwrite( 2461 - HFILE hFile, 2462 - LPCSTR lpBuffer, 2463 - int lBytes); 2464 - 2465 -extern(Windows) export HFILE _lclose( 2466 - HFILE hFile); 2467 - 2468 -extern(Windows) export LONG _llseek( 2469 - HFILE hFile, 2470 - LONG lOffset, 2471 - int iOrigin); 2472 - 2473 -extern(Windows) export BOOL IsTextUnicode( 2474 - VOID* lpBuffer, 2475 - int cb, 2476 - LPINT lpi); 2477 - 2478 -extern(Windows) export DWORD TlsAlloc(); 2479 - 2480 -enum : DWORD { TLS_OUT_OF_INDEXES = 0xFFFFFFFF } 2481 - 2482 -extern(Windows) export LPVOID TlsGetValue( 2483 - DWORD dwTlsIndex); 2484 - 2485 -extern(Windows) export BOOL TlsSetValue( 2486 - DWORD dwTlsIndex, 2487 - LPVOID lpTlsValue); 2488 - 2489 -extern(Windows) export BOOL TlsFree( 2490 - DWORD dwTlsIndex); 2491 - 2492 -extern(Windows) alias VOID function( DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped ) LPOVERLAPPED_COMPLETION_ROUTINE; 2493 - 2494 -extern(Windows) export DWORD SleepEx( 2495 - DWORD dwMilliseconds, 2496 - BOOL bAlertable); 2497 - 2498 -extern(Windows) export DWORD WaitForSingleObjectEx( 2499 - HANDLE hHandle, 2500 - DWORD dwMilliseconds, 2501 - BOOL bAlertable); 2502 - 2503 -extern(Windows) export DWORD WaitForMultipleObjectsEx( 2504 - DWORD nCount, 2505 - HANDLE *lpHandles, 2506 - BOOL bWaitAll, 2507 - DWORD dwMilliseconds, 2508 - BOOL bAlertable); 2509 - 2510 -// #if(_WIN32_WINNT >= 0x0400) 2511 -extern(Windows) export DWORD SignalObjectAndWait( 2512 - HANDLE hObjectToSignal, 2513 - HANDLE hObjectToWaitOn, 2514 - DWORD dwMilliseconds, 2515 - BOOL bAlertable); 2516 -// #endif /* _WIN32_WINNT >= 0x0400 */ 2517 - 2518 -extern(Windows) export BOOL ReadFileEx( 2519 - HANDLE hFile, 2520 - LPVOID lpBuffer, 2521 - DWORD nNumberOfBytesToRead, 2522 - LPOVERLAPPED lpOverlapped, 2523 - LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); 2524 - 2525 -extern(Windows) export BOOL WriteFileEx( 2526 - HANDLE hFile, 2527 - LPCVOID lpBuffer, 2528 - DWORD nNumberOfBytesToWrite, 2529 - LPOVERLAPPED lpOverlapped, 2530 - LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); 2531 - 2532 -extern(Windows) export BOOL BackupRead( 2533 - HANDLE hFile, 2534 - LPBYTE lpBuffer, 2535 - DWORD nNumberOfBytesToRead, 2536 - LPDWORD lpNumberOfBytesRead, 2537 - BOOL bAbort, 2538 - BOOL bProcessSecurity, 2539 - LPVOID *lpContext); 2540 - 2541 -extern(Windows) export BOOL BackupSeek( 2542 - HANDLE hFile, 2543 - DWORD dwLowBytesToSeek, 2544 - DWORD dwHighBytesToSeek, 2545 - LPDWORD lpdwLowByteSeeked, 2546 - LPDWORD lpdwHighByteSeeked, 2547 - LPVOID *lpContext); 2548 - 2549 -extern(Windows) export BOOL BackupWrite( 2550 - HANDLE hFile, 2551 - LPBYTE lpBuffer, 2552 - DWORD nNumberOfBytesToWrite, 2553 - LPDWORD lpNumberOfBytesWritten, 2554 - BOOL bAbort, 2555 - BOOL bProcessSecurity, 2556 - LPVOID *lpContext); 2557 - 2558 -struct _WIN32_STREAM_ID { 2559 - DWORD dwStreamId ; 2560 - DWORD dwStreamAttributes ; 2561 - LARGE_INTEGER Size ; 2562 - DWORD dwStreamNameSize ; 2563 - WCHAR cStreamName[ ANYSIZE_ARRAY ] ; 2564 -} 2565 -alias _WIN32_STREAM_ID WIN32_STREAM_ID; 2566 -alias _WIN32_STREAM_ID* LPWIN32_STREAM_ID; 2567 - 2568 -enum : uint { BACKUP_INVALID = 0x00000000 } 2569 -enum : uint { BACKUP_DATA = 0x00000001 } 2570 -enum : uint { BACKUP_EA_DATA = 0x00000002 } 2571 -enum : uint { BACKUP_SECURITY_DATA = 0x00000003 } 2572 -enum : uint { BACKUP_ALTERNATE_DATA = 0x00000004 } 2573 -enum : uint { BACKUP_LINK = 0x00000005 } 2574 -enum : uint { BACKUP_PROPERTY_DATA = 0x00000006 } 2575 -enum : uint { BACKUP_OBJECT_ID = 0x00000007 } 2576 -enum : uint { BACKUP_REPARSE_DATA = 0x00000008 } 2577 -enum : uint { BACKUP_SPARSE_BLOCK = 0x00000009 } 2578 - 2579 -enum : uint { STREAM_NORMAL_ATTRIBUTE = 0x00000000 } 2580 -enum : uint { STREAM_MODIFIED_WHEN_READ = 0x00000001 } 2581 -enum : uint { STREAM_CONTAINS_SECURITY = 0x00000002 } 2582 -enum : uint { STREAM_CONTAINS_PROPERTIES = 0x00000004 } 2583 -enum : uint { STREAM_SPARSE_ATTRIBUTE = 0x00000008 } 2584 - 2585 -extern(Windows) export BOOL ReadFileScatter( 2586 - HANDLE hFile, 2587 - FILE_SEGMENT_ELEMENT aSegmentArray[], 2588 - DWORD nNumberOfBytesToRead, 2589 - LPDWORD lpReserved, 2590 - LPOVERLAPPED lpOverlapped); 2591 - 2592 -extern(Windows) export BOOL WriteFileGather( 2593 - HANDLE hFile, 2594 - FILE_SEGMENT_ELEMENT aSegmentArray[], 2595 - DWORD nNumberOfBytesToWrite, 2596 - LPDWORD lpReserved, 2597 - LPOVERLAPPED lpOverlapped); 2598 - 2599 -enum : uint { STARTF_USESHOWWINDOW = 0x00000001 } 2600 -enum : uint { STARTF_USESIZE = 0x00000002 } 2601 -enum : uint { STARTF_USEPOSITION = 0x00000004 } 2602 -enum : uint { STARTF_USECOUNTCHARS = 0x00000008 } 2603 -enum : uint { STARTF_USEFILLATTRIBUTE = 0x00000010 } 2604 -enum : uint { STARTF_RUNFULLSCREEN = 0x00000020 } 2605 -enum : uint { STARTF_FORCEONFEEDBACK = 0x00000040 } 2606 -enum : uint { STARTF_FORCEOFFFEEDBACK = 0x00000080 } 2607 -enum : uint { STARTF_USESTDHANDLES = 0x00000100 } 2608 - 2609 -// #if(WINVER >= 0x0400) 2610 - 2611 -enum : uint { STARTF_USEHOTKEY = 0x00000200 } 2612 -// #endif /* WINVER >= 0x0400 */ 2613 - 2614 -struct _STARTUPINFOA { 2615 - DWORD cb; 2616 - LPSTR lpReserved; 2617 - LPSTR lpDesktop; 2618 - LPSTR lpTitle; 2619 - DWORD dwX; 2620 - DWORD dwY; 2621 - DWORD dwXSize; 2622 - DWORD dwYSize; 2623 - DWORD dwXCountChars; 2624 - DWORD dwYCountChars; 2625 - DWORD dwFillAttribute; 2626 - DWORD dwFlags; 2627 - WORD wShowWindow; 2628 - WORD cbReserved2; 2629 - LPBYTE lpReserved2; 2630 - HANDLE hStdInput; 2631 - HANDLE hStdOutput; 2632 - HANDLE hStdError; 2633 -} 2634 -alias _STARTUPINFOA STARTUPINFOA; 2635 -alias _STARTUPINFOA* LPSTARTUPINFOA; 2636 - 2637 -struct _STARTUPINFOW { 2638 - DWORD cb; 2639 - LPWSTR lpReserved; 2640 - LPWSTR lpDesktop; 2641 - LPWSTR lpTitle; 2642 - DWORD dwX; 2643 - DWORD dwY; 2644 - DWORD dwXSize; 2645 - DWORD dwYSize; 2646 - DWORD dwXCountChars; 2647 - DWORD dwYCountChars; 2648 - DWORD dwFillAttribute; 2649 - DWORD dwFlags; 2650 - WORD wShowWindow; 2651 - WORD cbReserved2; 2652 - LPBYTE lpReserved2; 2653 - HANDLE hStdInput; 2654 - HANDLE hStdOutput; 2655 - HANDLE hStdError; 2656 -} 2657 -alias _STARTUPINFOW STARTUPINFOW; 2658 -alias _STARTUPINFOW* LPSTARTUPINFOW; 2659 - 2660 -// #ifdef UNICODE 2661 -// ... 2662 -// #else 2663 -alias STARTUPINFOA STARTUPINFO; 2664 -alias LPSTARTUPINFOA LPSTARTUPINFO; 2665 -// #endif // UNICODE 2666 - 2667 -enum : uint { SHUTDOWN_NORETRY = 0x00000001 } 2668 - 2669 -struct _WIN32_FIND_DATAA { 2670 - DWORD dwFileAttributes; 2671 - FILETIME ftCreationTime; 2672 - FILETIME ftLastAccessTime; 2673 - FILETIME ftLastWriteTime; 2674 - DWORD nFileSizeHigh; 2675 - DWORD nFileSizeLow; 2676 - DWORD dwReserved0; 2677 - DWORD dwReserved1; 2678 - CHAR cFileName[ MAX_PATH ]; 2679 - CHAR cAlternateFileName[ 14 ]; 2680 -// #ifdef _MAC 2681 -// ... 2682 -// #endif 2683 -} 2684 -alias _WIN32_FIND_DATAA WIN32_FIND_DATAA; 2685 -alias _WIN32_FIND_DATAA* PWIN32_FIND_DATAA; 2686 -alias _WIN32_FIND_DATAA* LPWIN32_FIND_DATAA; 2687 - 2688 -struct _WIN32_FIND_DATAW { 2689 - DWORD dwFileAttributes; 2690 - FILETIME ftCreationTime; 2691 - FILETIME ftLastAccessTime; 2692 - FILETIME ftLastWriteTime; 2693 - DWORD nFileSizeHigh; 2694 - DWORD nFileSizeLow; 2695 - DWORD dwReserved0; 2696 - DWORD dwReserved1; 2697 - WCHAR cFileName[ MAX_PATH ]; 2698 - WCHAR cAlternateFileName[ 14 ]; 2699 -// #ifdef _MAC 2700 -// ... 2701 -// #endif 2702 -} 2703 -alias _WIN32_FIND_DATAW WIN32_FIND_DATAW; 2704 -alias _WIN32_FIND_DATAW* PWIN32_FIND_DATAW; 2705 -alias _WIN32_FIND_DATAW* LPWIN32_FIND_DATAW; 2706 - 2707 -// #ifdef UNICODE 2708 -// ... 2709 -// #else 2710 -alias WIN32_FIND_DATAA WIN32_FIND_DATA; 2711 -alias PWIN32_FIND_DATAA PWIN32_FIND_DATA; 2712 -alias LPWIN32_FIND_DATAA LPWIN32_FIND_DATA; 2713 -// #endif // UNICODE 2714 - 2715 -struct _WIN32_FILE_ATTRIBUTE_DATA { 2716 - DWORD dwFileAttributes; 2717 - FILETIME ftCreationTime; 2718 - FILETIME ftLastAccessTime; 2719 - FILETIME ftLastWriteTime; 2720 - DWORD nFileSizeHigh; 2721 - DWORD nFileSizeLow; 2722 -} 2723 -alias _WIN32_FILE_ATTRIBUTE_DATA WIN32_FILE_ATTRIBUTE_DATA; 2724 -alias _WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA; 2725 - 2726 -extern(Windows) export HANDLE CreateMutexA( 2727 - LPSECURITY_ATTRIBUTES lpMutexAttributes, 2728 - BOOL bInitialOwner, 2729 - LPCSTR lpName); 2730 -extern(Windows) export HANDLE CreateMutexW( 2731 - LPSECURITY_ATTRIBUTES lpMutexAttributes, 2732 - BOOL bInitialOwner, 2733 - LPCWSTR lpName); 2734 -// #ifdef UNICODE 2735 -// #... 2736 -// #else 2737 -alias CreateMutexA CreateMutex; 2738 -// #endif // !UNICODE 2739 - 2740 -extern(Windows) export HANDLE OpenMutexA( 2741 - DWORD dwDesiredAccess, 2742 - BOOL bInheritHandle, 2743 - LPCSTR lpName); 2744 -extern(Windows) export HANDLE OpenMutexW( 2745 - DWORD dwDesiredAccess, 2746 - BOOL bInheritHandle, 2747 - LPCWSTR lpName); 2748 -// #ifdef UNICODE 2749 -// #... 2750 -// #else 2751 -alias OpenMutexA OpenMutex; 2752 -// #endif // !UNICODE 2753 - 2754 -extern(Windows) export HANDLE CreateEventA( 2755 - LPSECURITY_ATTRIBUTES lpEventAttributes, 2756 - BOOL bManualReset, 2757 - BOOL bInitialState, 2758 - LPCSTR lpName); 2759 -extern(Windows) export HANDLE CreateEventW( 2760 - LPSECURITY_ATTRIBUTES lpEventAttributes, 2761 - BOOL bManualReset, 2762 - BOOL bInitialState, 2763 - LPCWSTR lpName); 2764 -// #ifdef UNICODE 2765 -// #... 2766 -// #else 2767 -alias CreateEventA CreateEvent; 2768 -// #endif // !UNICODE 2769 - 2770 -extern(Windows) export HANDLE OpenEventA( 2771 - DWORD dwDesiredAccess, 2772 - BOOL bInheritHandle, 2773 - LPCSTR lpName); 2774 -extern(Windows) export HANDLE OpenEventW( 2775 - DWORD dwDesiredAccess, 2776 - BOOL bInheritHandle, 2777 - LPCWSTR lpName); 2778 -// #ifdef UNICODE 2779 -// #... 2780 -// #else 2781 -alias OpenEventA OpenEvent; 2782 -// #endif // !UNICODE 2783 - 2784 -extern(Windows) export HANDLE CreateSemaphoreA( 2785 - LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, 2786 - LONG lInitialCount, 2787 - LONG lMaximumCount, 2788 - LPCSTR lpName); 2789 -extern(Windows) export HANDLE CreateSemaphoreW( 2790 - LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, 2791 - LONG lInitialCount, 2792 - LONG lMaximumCount, 2793 - LPCWSTR lpName); 2794 -// #ifdef UNICODE 2795 -// #... 2796 -// #else 2797 -alias CreateSemaphoreA CreateSemaphore; 2798 -// #endif // !UNICODE 2799 - 2800 -extern(Windows) export HANDLE OpenSemaphoreA( 2801 - DWORD dwDesiredAccess, 2802 - BOOL bInheritHandle, 2803 - LPCSTR lpName); 2804 -extern(Windows) export HANDLE OpenSemaphoreW( 2805 - DWORD dwDesiredAccess, 2806 - BOOL bInheritHandle, 2807 - LPCWSTR lpName); 2808 -// #ifdef UNICODE 2809 -// #... 2810 -// #else 2811 -alias OpenSemaphoreA OpenSemaphore; 2812 -// #endif // !UNICODE 2813 - 2814 -// #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 2815 -extern(Windows) alias VOID function( LPVOID lpArgToCompletionRoutine, DWORD dwTimerLowValue, DWORD dwTimerHighValue ) PTIMERAPCROUTINE; 2816 - 2817 -extern(Windows) export HANDLE CreateWaitableTimerA( 2818 - LPSECURITY_ATTRIBUTES lpTimerAttributes, 2819 - BOOL bManualReset, 2820 - LPCSTR lpTimerName); 2821 -extern(Windows) export HANDLE CreateWaitableTimerW( 2822 - LPSECURITY_ATTRIBUTES lpTimerAttributes, 2823 - BOOL bManualReset, 2824 - LPCWSTR lpTimerName); 2825 -// #ifdef UNICODE 2826 -// #... 2827 -// #else 2828 -alias CreateWaitableTimerA CreateWaitableTimer; 2829 -// #endif // !UNICODE 2830 - 2831 -extern(Windows) export HANDLE OpenWaitableTimerA( 2832 - DWORD dwDesiredAccess, 2833 - BOOL bInheritHandle, 2834 - LPCSTR lpTimerName); 2835 -extern(Windows) export HANDLE OpenWaitableTimerW( 2836 - DWORD dwDesiredAccess, 2837 - BOOL bInheritHandle, 2838 - LPCWSTR lpTimerName); 2839 -// #ifdef UNICODE 2840 -// #... 2841 -// #else 2842 -alias OpenWaitableTimerA OpenWaitableTimer; 2843 -// #endif // !UNICODE 2844 - 2845 -extern(Windows) export BOOL SetWaitableTimer( 2846 - HANDLE hTimer, 2847 - LARGE_INTEGER *lpDueTime, 2848 - LONG lPeriod, 2849 - PTIMERAPCROUTINE pfnCompletionRoutine, 2850 - LPVOID lpArgToCompletionRoutine, 2851 - BOOL fResume); 2852 - 2853 -extern(Windows) export BOOL CancelWaitableTimer( 2854 - HANDLE hTimer); 2855 -// #endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */ 2856 - 2857 -extern(Windows) export HANDLE CreateFileMappingA( 2858 - HANDLE hFile, 2859 - LPSECURITY_ATTRIBUTES lpFileMappingAttributes, 2860 - DWORD flProtect, 2861 - DWORD dwMaximumSizeHigh, 2862 - DWORD dwMaximumSizeLow, 2863 - LPCSTR lpName); 2864 -extern(Windows) export HANDLE CreateFileMappingW( 2865 - HANDLE hFile, 2866 - LPSECURITY_ATTRIBUTES lpFileMappingAttributes, 2867 - DWORD flProtect, 2868 - DWORD dwMaximumSizeHigh, 2869 - DWORD dwMaximumSizeLow, 2870 - LPCWSTR lpName); 2871 -// #ifdef UNICODE 2872 -// #... 2873 -// #else 2874 -alias CreateFileMappingA CreateFileMapping; 2875 -// #endif // !UNICODE 2876 - 2877 -extern(Windows) export HANDLE OpenFileMappingA( 2878 - DWORD dwDesiredAccess, 2879 - BOOL bInheritHandle, 2880 - LPCSTR lpName); 2881 -extern(Windows) export HANDLE OpenFileMappingW( 2882 - DWORD dwDesiredAccess, 2883 - BOOL bInheritHandle, 2884 - LPCWSTR lpName); 2885 -// #ifdef UNICODE 2886 -// #... 2887 -// #else 2888 -alias OpenFileMappingA OpenFileMapping; 2889 -// #endif // !UNICODE 2890 - 2891 -extern(Windows) export DWORD GetLogicalDriveStringsA( 2892 - DWORD nBufferLength, 2893 - LPSTR lpBuffer); 2894 -extern(Windows) export DWORD GetLogicalDriveStringsW( 2895 - DWORD nBufferLength, 2896 - LPWSTR lpBuffer); 2897 -// #ifdef UNICODE 2898 -// #... 2899 -// #else 2900 -alias GetLogicalDriveStringsA GetLogicalDriveStrings; 2901 -// #endif // !UNICODE 2902 - 2903 -// #if _WIN32_WINNT >= 0x0501 2904 - 2905 -alias int _MEMORY_RESOURCE_NOTIFICATION_TYPE; 2906 -enum { 2907 - LowMemoryResourceNotification, 2908 - HighMemoryResourceNotification, 2909 -} 2910 -alias _MEMORY_RESOURCE_NOTIFICATION_TYPE MEMORY_RESOURCE_NOTIFICATION_TYPE; 2911 - 2912 -extern(Windows) export HANDLE CreateMemoryResourceNotification( 2913 - MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType); 2914 - 2915 -extern(Windows) export BOOL QueryMemoryResourceNotification( 2916 - HANDLE ResourceNotificationHandle, 2917 - PBOOL ResourceState); 2918 - 2919 -// #endif // _WIN32_WINNT >= 0x0501 2920 - 2921 -extern(Windows) export HMODULE LoadLibraryA( 2922 - LPCSTR lpLibFileName); 2923 -extern(Windows) export HMODULE LoadLibraryW( 2924 - LPCWSTR lpLibFileName); 2925 -// #ifdef UNICODE 2926 -// #... 2927 -// #else 2928 -alias LoadLibraryA LoadLibrary; 2929 -// #endif // !UNICODE 2930 - 2931 -extern(Windows) export HMODULE LoadLibraryExA( 2932 - LPCSTR lpLibFileName, 2933 - HANDLE hFile, 2934 - DWORD dwFlags); 2935 -extern(Windows) export HMODULE LoadLibraryExW( 2936 - LPCWSTR lpLibFileName, 2937 - HANDLE hFile, 2938 - DWORD dwFlags); 2939 -// #ifdef UNICODE 2940 -// #... 2941 -// #else 2942 -alias LoadLibraryExA LoadLibraryEx; 2943 -// #endif // !UNICODE 2944 - 2945 -enum : uint { DONT_RESOLVE_DLL_REFERENCES = 0x00000001 } 2946 -enum : uint { LOAD_LIBRARY_AS_DATAFILE = 0x00000002 } 2947 -enum : uint { LOAD_WITH_ALTERED_SEARCH_PATH = 0x00000008 } 2948 -enum : uint { LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x00000010 } 2949 - 2950 -extern(Windows) export DWORD GetModuleFileNameA( 2951 - HMODULE hModule, 2952 - LPSTR lpFilename, 2953 - DWORD nSize); 2954 -extern(Windows) export DWORD GetModuleFileNameW( 2955 - HMODULE hModule, 2956 - LPWSTR lpFilename, 2957 - DWORD nSize); 2958 -// #ifdef UNICODE 2959 -// #... 2960 -// #else 2961 -alias GetModuleFileNameA GetModuleFileName; 2962 -// #endif // !UNICODE 2963 - 2964 -extern(Windows) export HMODULE GetModuleHandleA( 2965 - LPCSTR lpModuleName); 2966 -extern(Windows) export HMODULE GetModuleHandleW( 2967 - LPCWSTR lpModuleName); 2968 -// #ifdef UNICODE 2969 -// #... 2970 -// #else 2971 -alias GetModuleHandleA GetModuleHandle; 2972 -// #endif // !UNICODE 2973 - 2974 -// #if !defined(RC_INVOKED) 2975 -// #if _WIN32_WINNT > 0x0500 || defined(WINBASE_DECLARE_GET_MODULE_HANDLE_EX) || ISOLATION_AWARE_ENABLED 2976 - 2977 -enum : uint { GET_MODULE_HANDLE_EX_FLAG_PIN = 0x00000001 } 2978 -enum : uint { GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 0x00000002 } 2979 -enum : uint { GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 0x00000004 } 2980 - 2981 -extern(Windows) alias BOOL function( DWORD dwFlags, LPCSTR lpModuleName, HMODULE* phModule ) PGET_MODULE_HANDLE_EXA; 2982 -extern(Windows) alias BOOL function( DWORD dwFlags, LPCWSTR lpModuleName, HMODULE* phModule ) PGET_MODULE_HANDLE_EXW; 2983 -// #ifdef UNICODE 2984 -// #... 2985 -// #else 2986 -alias PGET_MODULE_HANDLE_EXA PGET_MODULE_HANDLE_EX; 2987 -// #endif // !UNICODE 2988 - 2989 -extern(Windows) export BOOL GetModuleHandleExA( 2990 - DWORD dwFlags, 2991 - LPCSTR lpModuleName, 2992 - HMODULE* phModule); 2993 -extern(Windows) export BOOL GetModuleHandleExW( 2994 - DWORD dwFlags, 2995 - LPCWSTR lpModuleName, 2996 - HMODULE* phModule); 2997 -// #ifdef UNICODE 2998 -// #... 2999 -// #else 3000 -alias GetModuleHandleExA GetModuleHandleEx; 3001 -// #endif // !UNICODE 3002 - 3003 -// #endif 3004 -// #endif 3005 - 3006 -extern(Windows) export BOOL CreateProcessA( 3007 - LPCSTR lpApplicationName, 3008 - LPSTR lpCommandLine, 3009 - LPSECURITY_ATTRIBUTES lpProcessAttributes, 3010 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 3011 - BOOL bInheritHandles, 3012 - DWORD dwCreationFlags, 3013 - LPVOID lpEnvironment, 3014 - LPCSTR lpCurrentDirectory, 3015 - LPSTARTUPINFOA lpStartupInfo, 3016 - LPPROCESS_INFORMATION lpProcessInformation); 3017 -extern(Windows) export BOOL CreateProcessW( 3018 - LPCWSTR lpApplicationName, 3019 - LPWSTR lpCommandLine, 3020 - LPSECURITY_ATTRIBUTES lpProcessAttributes, 3021 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 3022 - BOOL bInheritHandles, 3023 - DWORD dwCreationFlags, 3024 - LPVOID lpEnvironment, 3025 - LPCWSTR lpCurrentDirectory, 3026 - LPSTARTUPINFOW lpStartupInfo, 3027 - LPPROCESS_INFORMATION lpProcessInformation); 3028 -// #ifdef UNICODE 3029 -// #... 3030 -// #else 3031 -alias CreateProcessA CreateProcess; 3032 -// #endif // !UNICODE 3033 - 3034 -extern(Windows) export BOOL SetProcessShutdownParameters( 3035 - DWORD dwLevel, 3036 - DWORD dwFlags); 3037 - 3038 -extern(Windows) export BOOL GetProcessShutdownParameters( 3039 - LPDWORD lpdwLevel, 3040 - LPDWORD lpdwFlags); 3041 - 3042 -extern(Windows) export DWORD GetProcessVersion( 3043 - DWORD ProcessId); 3044 - 3045 -extern(Windows) export VOID FatalAppExitA( 3046 - UINT uAction, 3047 - LPCSTR lpMessageText); 3048 -extern(Windows) export VOID FatalAppExitW( 3049 - UINT uAction, 3050 - LPCWSTR lpMessageText); 3051 -// #ifdef UNICODE 3052 -// #... 3053 -// #else 3054 -alias FatalAppExitA FatalAppExit; 3055 -// #endif // !UNICODE 3056 - 3057 -extern(Windows) export VOID GetStartupInfoA( 3058 - LPSTARTUPINFOA lpStartupInfo); 3059 -extern(Windows) export VOID GetStartupInfoW( 3060 - LPSTARTUPINFOW lpStartupInfo); 3061 -// #ifdef UNICODE 3062 -// #... 3063 -// #else 3064 -alias GetStartupInfoA GetStartupInfo; 3065 -// #endif // !UNICODE 3066 - 3067 -extern(Windows) export LPSTR GetCommandLineA(); 3068 -extern(Windows) export LPWSTR GetCommandLineW(); 3069 -// #ifdef UNICODE 3070 -// #... 3071 -// #else 3072 -alias GetCommandLineA GetCommandLine; 3073 -// #endif // !UNICODE 3074 - 3075 -extern(Windows) export DWORD GetEnvironmentVariableA( 3076 - LPCSTR lpName, 3077 - LPSTR lpBuffer, 3078 - DWORD nSize); 3079 -extern(Windows) export DWORD GetEnvironmentVariableW( 3080 - LPCWSTR lpName, 3081 - LPWSTR lpBuffer, 3082 - DWORD nSize); 3083 -// #ifdef UNICODE 3084 -// #... 3085 -// #else 3086 -alias GetEnvironmentVariableA GetEnvironmentVariable; 3087 -// #endif // !UNICODE 3088 - 3089 -extern(Windows) export BOOL SetEnvironmentVariableA( 3090 - LPCSTR lpName, 3091 - LPCSTR lpValue); 3092 -extern(Windows) export BOOL SetEnvironmentVariableW( 3093 - LPCWSTR lpName, 3094 - LPCWSTR lpValue); 3095 -// #ifdef UNICODE 3096 -// #... 3097 -// #else 3098 -alias SetEnvironmentVariableA SetEnvironmentVariable; 3099 -// #endif // !UNICODE 3100 - 3101 -extern(Windows) export DWORD ExpandEnvironmentStringsA( 3102 - LPCSTR lpSrc, 3103 - LPSTR lpDst, 3104 - DWORD nSize); 3105 -extern(Windows) export DWORD ExpandEnvironmentStringsW( 3106 - LPCWSTR lpSrc, 3107 - LPWSTR lpDst, 3108 - DWORD nSize); 3109 -// #ifdef UNICODE 3110 -// #... 3111 -// #else 3112 -alias ExpandEnvironmentStringsA ExpandEnvironmentStrings; 3113 -// #endif // !UNICODE 3114 - 3115 -extern(Windows) export DWORD GetFirmwareEnvironmentVariableA( 3116 - LPCSTR lpName, 3117 - LPCSTR lpGuid, 3118 - PVOID pBuffer, 3119 - DWORD nSize); 3120 -extern(Windows) export DWORD GetFirmwareEnvironmentVariableW( 3121 - LPCWSTR lpName, 3122 - LPCWSTR lpGuid, 3123 - PVOID pBuffer, 3124 - DWORD nSize); 3125 -// #ifdef UNICODE 3126 -// #... 3127 -// #else 3128 -alias GetFirmwareEnvironmentVariableA GetFirmwareEnvironmentVariable; 3129 -// #endif // !UNICODE 3130 - 3131 -extern(Windows) export BOOL SetFirmwareEnvironmentVariableA( 3132 - LPCSTR lpName, 3133 - LPCSTR lpGuid, 3134 - PVOID pValue, 3135 - DWORD nSize); 3136 -extern(Windows) export BOOL SetFirmwareEnvironmentVariableW( 3137 - LPCWSTR lpName, 3138 - LPCWSTR lpGuid, 3139 - PVOID pValue, 3140 - DWORD nSize); 3141 -// #ifdef UNICODE 3142 -// #... 3143 -// #else 3144 -alias SetFirmwareEnvironmentVariableA SetFirmwareEnvironmentVariable; 3145 -// #endif // !UNICODE 3146 - 3147 -extern(Windows) export VOID OutputDebugStringA( 3148 - LPCSTR lpOutputString); 3149 -extern(Windows) export VOID OutputDebugStringW( 3150 - LPCWSTR lpOutputString); 3151 -// #ifdef UNICODE 3152 -// #... 3153 -// #else 3154 -alias OutputDebugStringA OutputDebugString; 3155 -// #endif // !UNICODE 3156 - 3157 -extern(Windows) export HRSRC FindResourceA( 3158 - HMODULE hModule, 3159 - LPCSTR lpName, 3160 - LPCSTR lpType); 3161 -extern(Windows) export HRSRC FindResourceW( 3162 - HMODULE hModule, 3163 - LPCWSTR lpName, 3164 - LPCWSTR lpType); 3165 -// #ifdef UNICODE 3166 -// #... 3167 -// #else 3168 -alias FindResourceA FindResource; 3169 -// #endif // !UNICODE 3170 - 3171 -extern(Windows) export HRSRC FindResourceExA( 3172 - HMODULE hModule, 3173 - LPCSTR lpType, 3174 - LPCSTR lpName, 3175 - WORD wLanguage); 3176 -extern(Windows) export HRSRC FindResourceExW( 3177 - HMODULE hModule, 3178 - LPCWSTR lpType, 3179 - LPCWSTR lpName, 3180 - WORD wLanguage); 3181 -// #ifdef UNICODE 3182 -// #... 3183 -// #else 3184 -alias FindResourceExA FindResourceEx; 3185 -// #endif // !UNICODE 3186 - 3187 -// #ifdef STRICT 3188 -extern(Windows) alias BOOL function(HMODULE hModule, LPSTR lpType, LONG_PTR lParam) ENUMRESTYPEPROCA; 3189 -extern(Windows) alias BOOL function(HMODULE hModule, LPWSTR lpType, LONG_PTR lParam) ENUMRESTYPEPROCW; 3190 -// #ifdef UNICODE 3191 -// #... 3192 -// #else 3193 -alias ENUMRESTYPEPROCA ENUMRESTYPEPROC; 3194 -// #endif // !UNICODE 3195 -extern(Windows) alias BOOL function(HMODULE hModule, LPCSTR lpType, LPSTR lpName, LONG_PTR lParam) ENUMRESNAMEPROCA; 3196 -extern(Windows) alias BOOL function(HMODULE hModule, LPCWSTR lpType, LPWSTR lpName, LONG_PTR lParam) ENUMRESNAMEPROCW; 3197 -// #ifdef UNICODE 3198 -// #... 3199 -// #else 3200 -alias ENUMRESNAMEPROCA ENUMRESNAMEPROC; 3201 -// #endif // !UNICODE 3202 -extern(Windows) alias BOOL function(HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage, LONG_PTR lParam) ENUMRESLANGPROCA; 3203 -extern(Windows) alias BOOL function(HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage, LONG_PTR lParam) ENUMRESLANGPROCW; 3204 -// #ifdef UNICODE 3205 -// #... 3206 -// #else 3207 -alias ENUMRESLANGPROCA ENUMRESLANGPROC; 3208 -// #endif // !UNICODE 3209 -// #else 3210 -// ... 3211 -// #ifdef UNICODE 3212 -// ... 3213 -// #else 3214 -// ... 3215 -// #endif // UNICODE 3216 -// ... 3217 -// #ifdef UNICODE 3218 -// ... 3219 -// #else 3220 -// ... 3221 -// #endif // UNICODE 3222 -// ... 3223 -// #ifdef UNICODE 3224 -// ... 3225 -// #else 3226 -// ... 3227 -// #endif // UNICODE 3228 -// #endif 3229 - 3230 -extern(Windows) export BOOL EnumResourceTypesA( 3231 - HMODULE hModule, 3232 - ENUMRESTYPEPROCA lpEnumFunc, 3233 - LONG_PTR lParam); 3234 -extern(Windows) export BOOL EnumResourceTypesW( 3235 - HMODULE hModule, 3236 - ENUMRESTYPEPROCW lpEnumFunc, 3237 - LONG_PTR lParam); 3238 -// #ifdef UNICODE 3239 -// #... 3240 -// #else 3241 -alias EnumResourceTypesA EnumResourceTypes; 3242 -// #endif // !UNICODE 3243 - 3244 -extern(Windows) export BOOL EnumResourceNamesA( 3245 - HMODULE hModule, 3246 - LPCSTR lpType, 3247 - ENUMRESNAMEPROCA lpEnumFunc, 3248 - LONG_PTR lParam); 3249 -extern(Windows) export BOOL EnumResourceNamesW( 3250 - HMODULE hModule, 3251 - LPCWSTR lpType, 3252 - ENUMRESNAMEPROCW lpEnumFunc, 3253 - LONG_PTR lParam); 3254 -// #ifdef UNICODE 3255 -// #... 3256 -// #else 3257 -alias EnumResourceNamesA EnumResourceNames; 3258 -// #endif // !UNICODE 3259 - 3260 -extern(Windows) export BOOL EnumResourceLanguagesA( 3261 - HMODULE hModule, 3262 - LPCSTR lpType, 3263 - LPCSTR lpName, 3264 - ENUMRESLANGPROCA lpEnumFunc, 3265 - LONG_PTR lParam); 3266 -extern(Windows) export BOOL EnumResourceLanguagesW( 3267 - HMODULE hModule, 3268 - LPCWSTR lpType, 3269 - LPCWSTR lpName, 3270 - ENUMRESLANGPROCW lpEnumFunc, 3271 - LONG_PTR lParam); 3272 -// #ifdef UNICODE 3273 -// #... 3274 -// #else 3275 -alias EnumResourceLanguagesA EnumResourceLanguages; 3276 -// #endif // !UNICODE 3277 - 3278 -extern(Windows) export HANDLE BeginUpdateResourceA( 3279 - LPCSTR pFileName, 3280 - BOOL bDeleteExistingResources); 3281 -extern(Windows) export HANDLE BeginUpdateResourceW( 3282 - LPCWSTR pFileName, 3283 - BOOL bDeleteExistingResources); 3284 -// #ifdef UNICODE 3285 -// #... 3286 -// #else 3287 -alias BeginUpdateResourceA BeginUpdateResource; 3288 -// #endif // !UNICODE 3289 - 3290 -extern(Windows) export BOOL UpdateResourceA( 3291 - HANDLE hUpdate, 3292 - LPCSTR lpType, 3293 - LPCSTR lpName, 3294 - WORD wLanguage, 3295 - LPVOID lpData, 3296 - DWORD cbData); 3297 -extern(Windows) export BOOL UpdateResourceW( 3298 - HANDLE hUpdate, 3299 - LPCWSTR lpType, 3300 - LPCWSTR lpName, 3301 - WORD wLanguage, 3302 - LPVOID lpData, 3303 - DWORD cbData); 3304 -// #ifdef UNICODE 3305 -// #... 3306 -// #else 3307 -alias UpdateResourceA UpdateResource; 3308 -// #endif // !UNICODE 3309 - 3310 -extern(Windows) export BOOL EndUpdateResourceA( 3311 - HANDLE hUpdate, 3312 - BOOL fDiscard); 3313 -extern(Windows) export BOOL EndUpdateResourceW( 3314 - HANDLE hUpdate, 3315 - BOOL fDiscard); 3316 -// #ifdef UNICODE 3317 -// #... 3318 -// #else 3319 -alias EndUpdateResourceA EndUpdateResource; 3320 -// #endif // !UNICODE 3321 - 3322 -extern(Windows) export ATOM GlobalAddAtomA( 3323 - LPCSTR lpString); 3324 -extern(Windows) export ATOM GlobalAddAtomW( 3325 - LPCWSTR lpString); 3326 -// #ifdef UNICODE 3327 -// #... 3328 -// #else 3329 -alias GlobalAddAtomA GlobalAddAtom; 3330 -// #endif // !UNICODE 3331 - 3332 -extern(Windows) export ATOM GlobalFindAtomA( 3333 - LPCSTR lpString); 3334 -extern(Windows) export ATOM GlobalFindAtomW( 3335 - LPCWSTR lpString); 3336 -// #ifdef UNICODE 3337 -// #... 3338 -// #else 3339 -alias GlobalFindAtomA GlobalFindAtom; 3340 -// #endif // !UNICODE 3341 - 3342 -extern(Windows) export UINT GlobalGetAtomNameA( 3343 - ATOM nAtom, 3344 - LPSTR lpBuffer, 3345 - int nSize); 3346 -extern(Windows) export UINT GlobalGetAtomNameW( 3347 - ATOM nAtom, 3348 - LPWSTR lpBuffer, 3349 - int nSize); 3350 -// #ifdef UNICODE 3351 -// #... 3352 -// #else 3353 -alias GlobalGetAtomNameA GlobalGetAtomName; 3354 -// #endif // !UNICODE 3355 - 3356 -extern(Windows) export ATOM AddAtomA( 3357 - LPCSTR lpString); 3358 -extern(Windows) export ATOM AddAtomW( 3359 - LPCWSTR lpString); 3360 -// #ifdef UNICODE 3361 -// #... 3362 -// #else 3363 -alias AddAtomA AddAtom; 3364 -// #endif // !UNICODE 3365 - 3366 -extern(Windows) export ATOM FindAtomA( 3367 - LPCSTR lpString); 3368 -extern(Windows) export ATOM FindAtomW( 3369 - LPCWSTR lpString); 3370 -// #ifdef UNICODE 3371 -// #... 3372 -// #else 3373 -alias FindAtomA FindAtom; 3374 -// #endif // !UNICODE 3375 - 3376 -extern(Windows) export UINT GetAtomNameA( 3377 - ATOM nAtom, 3378 - LPSTR lpBuffer, 3379 - int nSize); 3380 -extern(Windows) export UINT GetAtomNameW( 3381 - ATOM nAtom, 3382 - LPWSTR lpBuffer, 3383 - int nSize); 3384 -// #ifdef UNICODE 3385 -// #... 3386 -// #else 3387 -alias GetAtomNameA GetAtomName; 3388 -// #endif // !UNICODE 3389 - 3390 -extern(Windows) export UINT GetProfileIntA( 3391 - LPCSTR lpAppName, 3392 - LPCSTR lpKeyName, 3393 - INT nDefault); 3394 -extern(Windows) export UINT GetProfileIntW( 3395 - LPCWSTR lpAppName, 3396 - LPCWSTR lpKeyName, 3397 - INT nDefault); 3398 -// #ifdef UNICODE 3399 -// #... 3400 -// #else 3401 -alias GetProfileIntA GetProfileInt; 3402 -// #endif // !UNICODE 3403 - 3404 -extern(Windows) export DWORD GetProfileStringA( 3405 - LPCSTR lpAppName, 3406 - LPCSTR lpKeyName, 3407 - LPCSTR lpDefault, 3408 - LPSTR lpReturnedString, 3409 - DWORD nSize); 3410 -extern(Windows) export DWORD GetProfileStringW( 3411 - LPCWSTR lpAppName, 3412 - LPCWSTR lpKeyName, 3413 - LPCWSTR lpDefault, 3414 - LPWSTR lpReturnedString, 3415 - DWORD nSize); 3416 -// #ifdef UNICODE 3417 -// #... 3418 -// #else 3419 -alias GetProfileStringA GetProfileString; 3420 -// #endif // !UNICODE 3421 - 3422 -extern(Windows) export BOOL WriteProfileStringA( 3423 - LPCSTR lpAppName, 3424 - LPCSTR lpKeyName, 3425 - LPCSTR lpString); 3426 -extern(Windows) export BOOL WriteProfileStringW( 3427 - LPCWSTR lpAppName, 3428 - LPCWSTR lpKeyName, 3429 - LPCWSTR lpString); 3430 -// #ifdef UNICODE 3431 -// #... 3432 -// #else 3433 -alias WriteProfileStringA WriteProfileString; 3434 -// #endif // !UNICODE 3435 - 3436 -extern(Windows) export DWORD GetProfileSectionA( 3437 - LPCSTR lpAppName, 3438 - LPSTR lpReturnedString, 3439 - DWORD nSize); 3440 -extern(Windows) export DWORD GetProfileSectionW( 3441 - LPCWSTR lpAppName, 3442 - LPWSTR lpReturnedString, 3443 - DWORD nSize); 3444 -// #ifdef UNICODE 3445 -// #... 3446 -// #else 3447 -alias GetProfileSectionA GetProfileSection; 3448 -// #endif // !UNICODE 3449 - 3450 -extern(Windows) export BOOL WriteProfileSectionA( 3451 - LPCSTR lpAppName, 3452 - LPCSTR lpString); 3453 -extern(Windows) export BOOL WriteProfileSectionW( 3454 - LPCWSTR lpAppName, 3455 - LPCWSTR lpString); 3456 -// #ifdef UNICODE 3457 -// #... 3458 -// #else 3459 -alias WriteProfileSectionA WriteProfileSection; 3460 -// #endif // !UNICODE 3461 - 3462 -extern(Windows) export UINT GetPrivateProfileIntA( 3463 - LPCSTR lpAppName, 3464 - LPCSTR lpKeyName, 3465 - INT nDefault, 3466 - LPCSTR lpFileName); 3467 -extern(Windows) export UINT GetPrivateProfileIntW( 3468 - LPCWSTR lpAppName, 3469 - LPCWSTR lpKeyName, 3470 - INT nDefault, 3471 - LPCWSTR lpFileName); 3472 -// #ifdef UNICODE 3473 -// #... 3474 -// #else 3475 -alias GetPrivateProfileIntA GetPrivateProfileInt; 3476 -// #endif // !UNICODE 3477 - 3478 -extern(Windows) export DWORD GetPrivateProfileStringA( 3479 - LPCSTR lpAppName, 3480 - LPCSTR lpKeyName, 3481 - LPCSTR lpDefault, 3482 - LPSTR lpReturnedString, 3483 - DWORD nSize, 3484 - LPCSTR lpFileName); 3485 -extern(Windows) export DWORD GetPrivateProfileStringW( 3486 - LPCWSTR lpAppName, 3487 - LPCWSTR lpKeyName, 3488 - LPCWSTR lpDefault, 3489 - LPWSTR lpReturnedString, 3490 - DWORD nSize, 3491 - LPCWSTR lpFileName); 3492 -// #ifdef UNICODE 3493 -// #... 3494 -// #else 3495 -alias GetPrivateProfileStringA GetPrivateProfileString; 3496 -// #endif // !UNICODE 3497 - 3498 -extern(Windows) export BOOL WritePrivateProfileStringA( 3499 - LPCSTR lpAppName, 3500 - LPCSTR lpKeyName, 3501 - LPCSTR lpString, 3502 - LPCSTR lpFileName); 3503 -extern(Windows) export BOOL WritePrivateProfileStringW( 3504 - LPCWSTR lpAppName, 3505 - LPCWSTR lpKeyName, 3506 - LPCWSTR lpString, 3507 - LPCWSTR lpFileName); 3508 -// #ifdef UNICODE 3509 -// #... 3510 -// #else 3511 -alias WritePrivateProfileStringA WritePrivateProfileString; 3512 -// #endif // !UNICODE 3513 - 3514 -extern(Windows) export DWORD GetPrivateProfileSectionA( 3515 - LPCSTR lpAppName, 3516 - LPSTR lpReturnedString, 3517 - DWORD nSize, 3518 - LPCSTR lpFileName); 3519 -extern(Windows) export DWORD GetPrivateProfileSectionW( 3520 - LPCWSTR lpAppName, 3521 - LPWSTR lpReturnedString, 3522 - DWORD nSize, 3523 - LPCWSTR lpFileName); 3524 -// #ifdef UNICODE 3525 -// #... 3526 -// #else 3527 -alias GetPrivateProfileSectionA GetPrivateProfileSection; 3528 -// #endif // !UNICODE 3529 - 3530 -extern(Windows) export BOOL WritePrivateProfileSectionA( 3531 - LPCSTR lpAppName, 3532 - LPCSTR lpString, 3533 - LPCSTR lpFileName); 3534 -extern(Windows) export BOOL WritePrivateProfileSectionW( 3535 - LPCWSTR lpAppName, 3536 - LPCWSTR lpString, 3537 - LPCWSTR lpFileName); 3538 -// #ifdef UNICODE 3539 -// #... 3540 -// #else 3541 -alias WritePrivateProfileSectionA WritePrivateProfileSection; 3542 -// #endif // !UNICODE 3543 - 3544 -extern(Windows) export DWORD GetPrivateProfileSectionNamesA( 3545 - LPSTR lpszReturnBuffer, 3546 - DWORD nSize, 3547 - LPCSTR lpFileName); 3548 -extern(Windows) export DWORD GetPrivateProfileSectionNamesW( 3549 - LPWSTR lpszReturnBuffer, 3550 - DWORD nSize, 3551 - LPCWSTR lpFileName); 3552 -// #ifdef UNICODE 3553 -// #... 3554 -// #else 3555 -alias GetPrivateProfileSectionNamesA GetPrivateProfileSectionNames; 3556 -// #endif // !UNICODE 3557 - 3558 -extern(Windows) export BOOL GetPrivateProfileStructA( 3559 - LPCSTR lpszSection, 3560 - LPCSTR lpszKey, 3561 - LPVOID lpStruct, 3562 - UINT uSizeStruct, 3563 - LPCSTR szFile); 3564 -extern(Windows) export BOOL GetPrivateProfileStructW( 3565 - LPCWSTR lpszSection, 3566 - LPCWSTR lpszKey, 3567 - LPVOID lpStruct, 3568 - UINT uSizeStruct, 3569 - LPCWSTR szFile); 3570 -// #ifdef UNICODE 3571 -// #... 3572 -// #else 3573 -alias GetPrivateProfileStructA GetPrivateProfileStruct; 3574 -// #endif // !UNICODE 3575 - 3576 -extern(Windows) export BOOL WritePrivateProfileStructA( 3577 - LPCSTR lpszSection, 3578 - LPCSTR lpszKey, 3579 - LPVOID lpStruct, 3580 - UINT uSizeStruct, 3581 - LPCSTR szFile); 3582 -extern(Windows) export BOOL WritePrivateProfileStructW( 3583 - LPCWSTR lpszSection, 3584 - LPCWSTR lpszKey, 3585 - LPVOID lpStruct, 3586 - UINT uSizeStruct, 3587 - LPCWSTR szFile); 3588 -// #ifdef UNICODE 3589 -// #... 3590 -// #else 3591 -alias WritePrivateProfileStructA WritePrivateProfileStruct; 3592 -// #endif // !UNICODE 3593 - 3594 -extern(Windows) export UINT GetDriveTypeA( 3595 - LPCSTR lpRootPathName); 3596 -extern(Windows) export UINT GetDriveTypeW( 3597 - LPCWSTR lpRootPathName); 3598 -// #ifdef UNICODE 3599 -// #... 3600 -// #else 3601 -alias GetDriveTypeA GetDriveType; 3602 -// #endif // !UNICODE 3603 - 3604 -extern(Windows) export UINT GetSystemDirectoryA( 3605 - LPSTR lpBuffer, 3606 - UINT uSize); 3607 -extern(Windows) export UINT GetSystemDirectoryW( 3608 - LPWSTR lpBuffer, 3609 - UINT uSize); 3610 -// #ifdef UNICODE 3611 -// #... 3612 -// #else 3613 -alias GetSystemDirectoryA GetSystemDirectory; 3614 -// #endif // !UNICODE 3615 - 3616 -extern(Windows) export DWORD GetTempPathA( 3617 - DWORD nBufferLength, 3618 - LPSTR lpBuffer); 3619 -extern(Windows) export DWORD GetTempPathW( 3620 - DWORD nBufferLength, 3621 - LPWSTR lpBuffer); 3622 -// #ifdef UNICODE 3623 -// #... 3624 -// #else 3625 -alias GetTempPathA GetTempPath; 3626 -// #endif // !UNICODE 3627 - 3628 -extern(Windows) export UINT GetTempFileNameA( 3629 - LPCSTR lpPathName, 3630 - LPCSTR lpPrefixString, 3631 - UINT uUnique, 3632 - LPSTR lpTempFileName); 3633 -extern(Windows) export UINT GetTempFileNameW( 3634 - LPCWSTR lpPathName, 3635 - LPCWSTR lpPrefixString, 3636 - UINT uUnique, 3637 - LPWSTR lpTempFileName); 3638 -// #ifdef UNICODE 3639 -// #... 3640 -// #else 3641 -alias GetTempFileNameA GetTempFileName; 3642 -// #endif // !UNICODE 3643 - 3644 -extern(Windows) export UINT GetWindowsDirectoryA( 3645 - LPSTR lpBuffer, 3646 - UINT uSize); 3647 -extern(Windows) export UINT GetWindowsDirectoryW( 3648 - LPWSTR lpBuffer, 3649 - UINT uSize); 3650 -// #ifdef UNICODE 3651 -// #... 3652 -// #else 3653 -alias GetWindowsDirectoryA GetWindowsDirectory; 3654 -// #endif // !UNICODE 3655 - 3656 -extern(Windows) export UINT GetSystemWindowsDirectoryA( 3657 - LPSTR lpBuffer, 3658 - UINT uSize); 3659 -extern(Windows) export UINT GetSystemWindowsDirectoryW( 3660 - LPWSTR lpBuffer, 3661 - UINT uSize); 3662 -// #ifdef UNICODE 3663 -// #... 3664 -// #else 3665 -alias GetSystemWindowsDirectoryA GetSystemWindowsDirectory; 3666 -// #endif // !UNICODE 3667 - 3668 -// #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY" is a bit long. 3669 -// #if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY) 3670 - 3671 -extern(Windows) export UINT GetSystemWow64DirectoryA( 3672 - LPSTR lpBuffer, 3673 - UINT uSize); 3674 -extern(Windows) export UINT GetSystemWow64DirectoryW( 3675 - LPWSTR lpBuffer, 3676 - UINT uSize); 3677 -// #ifdef UNICODE 3678 -// #... 3679 -// #else 3680 -alias GetSystemWow64DirectoryA GetSystemWow64Directory; 3681 -// #endif // !UNICODE 3682 - 3683 -extern(Windows) alias UINT function( LPSTR lpBuffer, UINT uSize) PGET_SYSTEM_WOW64_DIRECTORY_A; 3684 -extern(Windows) alias UINT function( LPWSTR lpBuffer, UINT uSize) PGET_SYSTEM_WOW64_DIRECTORY_W; 3685 - 3686 -const char[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A = "GetSystemWow64DirectoryA"; 3687 -const wchar[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W = "GetSystemWow64DirectoryA"; 3688 -const TCHAR[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T = "GetSystemWow64DirectoryA"; 3689 -const char[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A = "GetSystemWow64DirectoryW"; 3690 -const wchar[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W = "GetSystemWow64DirectoryW"; 3691 -const TCHAR[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T = "GetSystemWow64DirectoryW"; 3692 - 3693 -// #ifdef UNICODE 3694 -// #... 3695 -// #... 3696 -// #... 3697 -// #else 3698 -alias GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A; 3699 -alias GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W; 3700 -alias GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T; 3701 -// #endif 3702 - 3703 -// #endif // _WIN32_WINNT >= 0x0501 3704 -// #endif 3705 - 3706 -extern(Windows) export BOOL SetCurrentDirectoryA( 3707 - LPCSTR lpPathName); 3708 -extern(Windows) export BOOL SetCurrentDirectoryW( 3709 - LPCWSTR lpPathName); 3710 -// #ifdef UNICODE 3711 -// #... 3712 -// #else 3713 -alias SetCurrentDirectoryA SetCurrentDirectory; 3714 -// #endif // !UNICODE 3715 - 3716 -extern(Windows) export DWORD GetCurrentDirectoryA( 3717 - DWORD nBufferLength, 3718 - LPSTR lpBuffer); 3719 -extern(Windows) export DWORD GetCurrentDirectoryW( 3720 - DWORD nBufferLength, 3721 - LPWSTR lpBuffer); 3722 -// #ifdef UNICODE 3723 -// #... 3724 -// #else 3725 -alias GetCurrentDirectoryA GetCurrentDirectory; 3726 -// #endif // !UNICODE 3727 - 3728 -extern(Windows) export BOOL GetDiskFreeSpaceA( 3729 - LPCSTR lpRootPathName, 3730 - LPDWORD lpSectorsPerCluster, 3731 - LPDWORD lpBytesPerSector, 3732 - LPDWORD lpNumberOfFreeClusters, 3733 - LPDWORD lpTotalNumberOfClusters); 3734 -extern(Windows) export BOOL GetDiskFreeSpaceW( 3735 - LPCWSTR lpRootPathName, 3736 - LPDWORD lpSectorsPerCluster, 3737 - LPDWORD lpBytesPerSector, 3738 - LPDWORD lpNumberOfFreeClusters, 3739 - LPDWORD lpTotalNumberOfClusters); 3740 -// #ifdef UNICODE 3741 -// #... 3742 -// #else 3743 -alias GetDiskFreeSpaceA GetDiskFreeSpace; 3744 -// #endif // !UNICODE 3745 - 3746 -extern(Windows) export BOOL GetDiskFreeSpaceExA( 3747 - LPCSTR lpDirectoryName, 3748 - PULARGE_INTEGER lpFreeBytesAvailableToCaller, 3749 - PULARGE_INTEGER lpTotalNumberOfBytes, 3750 - PULARGE_INTEGER lpTotalNumberOfFreeBytes); 3751 -extern(Windows) export BOOL GetDiskFreeSpaceExW( 3752 - LPCWSTR lpDirectoryName, 3753 - PULARGE_INTEGER lpFreeBytesAvailableToCaller, 3754 - PULARGE_INTEGER lpTotalNumberOfBytes, 3755 - PULARGE_INTEGER lpTotalNumberOfFreeBytes); 3756 -// #ifdef UNICODE 3757 -// #... 3758 -// #else 3759 -alias GetDiskFreeSpaceExA GetDiskFreeSpaceEx; 3760 -// #endif // !UNICODE 3761 - 3762 -extern(Windows) export BOOL CreateDirectoryA( 3763 - LPCSTR lpPathName, 3764 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 3765 -extern(Windows) export BOOL CreateDirectoryW( 3766 - LPCWSTR lpPathName, 3767 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 3768 -// #ifdef UNICODE 3769 -// #... 3770 -// #else 3771 -alias CreateDirectoryA CreateDirectory; 3772 -// #endif // !UNICODE 3773 - 3774 -extern(Windows) export BOOL CreateDirectoryExA( 3775 - LPCSTR lpTemplateDirectory, 3776 - LPCSTR lpNewDirectory, 3777 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 3778 -extern(Windows) export BOOL CreateDirectoryExW( 3779 - LPCWSTR lpTemplateDirectory, 3780 - LPCWSTR lpNewDirectory, 3781 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 3782 -// #ifdef UNICODE 3783 -// #... 3784 -// #else 3785 -alias CreateDirectoryExA CreateDirectoryEx; 3786 -// #endif // !UNICODE 3787 - 3788 -extern(Windows) export BOOL RemoveDirectoryA( 3789 - LPCSTR lpPathName); 3790 -extern(Windows) export BOOL RemoveDirectoryW( 3791 - LPCWSTR lpPathName); 3792 -// #ifdef UNICODE 3793 -// #... 3794 -// #else 3795 -alias RemoveDirectoryA RemoveDirectory; 3796 -// #endif // !UNICODE 3797 - 3798 -extern(Windows) export DWORD GetFullPathNameA( 3799 - LPCSTR lpFileName, 3800 - DWORD nBufferLength, 3801 - LPSTR lpBuffer, 3802 - LPSTR *lpFilePart); 3803 -extern(Windows) export DWORD GetFullPathNameW( 3804 - LPCWSTR lpFileName, 3805 - DWORD nBufferLength, 3806 - LPWSTR lpBuffer, 3807 - LPWSTR *lpFilePart); 3808 -// #ifdef UNICODE 3809 -// #... 3810 -// #else 3811 -alias GetFullPathNameA GetFullPathName; 3812 -// #endif // !UNICODE 3813 - 3814 -enum : uint { DDD_RAW_TARGET_PATH = 0x00000001 } 3815 -enum : uint { DDD_REMOVE_DEFINITION = 0x00000002 } 3816 -enum : uint { DDD_EXACT_MATCH_ON_REMOVE = 0x00000004 } 3817 -enum : uint { DDD_NO_BROADCAST_SYSTEM = 0x00000008 } 3818 -enum : uint { DDD_LUID_BROADCAST_DRIVE = 0x00000010 } 3819 - 3820 -extern(Windows) export BOOL DefineDosDeviceA( 3821 - DWORD dwFlags, 3822 - LPCSTR lpDeviceName, 3823 - LPCSTR lpTargetPath); 3824 -extern(Windows) export BOOL DefineDosDeviceW( 3825 - DWORD dwFlags, 3826 - LPCWSTR lpDeviceName, 3827 - LPCWSTR lpTargetPath); 3828 -// #ifdef UNICODE 3829 -// #... 3830 -// #else 3831 -alias DefineDosDeviceA DefineDosDevice; 3832 -// #endif // !UNICODE 3833 - 3834 -extern(Windows) export DWORD QueryDosDeviceA( 3835 - LPCSTR lpDeviceName, 3836 - LPSTR lpTargetPath, 3837 - DWORD ucchMax); 3838 -extern(Windows) export DWORD QueryDosDeviceW( 3839 - LPCWSTR lpDeviceName, 3840 - LPWSTR lpTargetPath, 3841 - DWORD ucchMax); 3842 -// #ifdef UNICODE 3843 -// #... 3844 -// #else 3845 -alias QueryDosDeviceA QueryDosDevice; 3846 -// #endif // !UNICODE 3847 - 3848 -// #define EXPAND_LOCAL_DRIVES 3849 - 3850 -extern(Windows) export HANDLE CreateFileA( 3851 - LPCSTR lpFileName, 3852 - DWORD dwDesiredAccess, 3853 - DWORD dwShareMode, 3854 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 3855 - DWORD dwCreationDisposition, 3856 - DWORD dwFlagsAndAttributes, 3857 - HANDLE hTemplateFile); 3858 -extern(Windows) export HANDLE CreateFileW( 3859 - LPCWSTR lpFileName, 3860 - DWORD dwDesiredAccess, 3861 - DWORD dwShareMode, 3862 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 3863 - DWORD dwCreationDisposition, 3864 - DWORD dwFlagsAndAttributes, 3865 - HANDLE hTemplateFile); 3866 -// #ifdef UNICODE 3867 -// #... 3868 -// #else 3869 -alias CreateFileA CreateFile; 3870 -// #endif // !UNICODE 3871 - 3872 -extern(Windows) export BOOL SetFileAttributesA( 3873 - LPCSTR lpFileName, 3874 - DWORD dwFileAttributes); 3875 -extern(Windows) export BOOL SetFileAttributesW( 3876 - LPCWSTR lpFileName, 3877 - DWORD dwFileAttributes); 3878 -// #ifdef UNICODE 3879 -// #... 3880 -// #else 3881 -alias SetFileAttributesA SetFileAttributes; 3882 -// #endif // !UNICODE 3883 - 3884 -extern(Windows) export DWORD GetFileAttributesA( 3885 - LPCSTR lpFileName); 3886 -extern(Windows) export DWORD GetFileAttributesW( 3887 - LPCWSTR lpFileName); 3888 -// #ifdef UNICODE 3889 -// #... 3890 -// #else 3891 -alias GetFileAttributesA GetFileAttributes; 3892 -// #endif // !UNICODE 3893 - 3894 -alias int _GET_FILEEX_INFO_LEVELS; 3895 -enum { 3896 - GetFileExInfoStandard, 3897 - GetFileExMaxInfoLevel, 3898 -} 3899 -alias _GET_FILEEX_INFO_LEVELS GET_FILEEX_INFO_LEVELS; 3900 - 3901 -extern(Windows) export BOOL GetFileAttributesExA( 3902 - LPCSTR lpFileName, 3903 - GET_FILEEX_INFO_LEVELS fInfoLevelId, 3904 - LPVOID lpFileInformation); 3905 -extern(Windows) export BOOL GetFileAttributesExW( 3906 - LPCWSTR lpFileName, 3907 - GET_FILEEX_INFO_LEVELS fInfoLevelId, 3908 - LPVOID lpFileInformation); 3909 -// #ifdef UNICODE 3910 -// #... 3911 -// #else 3912 -alias GetFileAttributesExA GetFileAttributesEx; 3913 -// #endif // !UNICODE 3914 - 3915 -extern(Windows) export DWORD GetCompressedFileSizeA( 3916 - LPCSTR lpFileName, 3917 - LPDWORD lpFileSizeHigh); 3918 -extern(Windows) export DWORD GetCompressedFileSizeW( 3919 - LPCWSTR lpFileName, 3920 - LPDWORD lpFileSizeHigh); 3921 -// #ifdef UNICODE 3922 -// #... 3923 -// #else 3924 -alias GetCompressedFileSizeA GetCompressedFileSize; 3925 -// #endif // !UNICODE 3926 - 3927 -extern(Windows) export BOOL DeleteFileA( 3928 - LPCSTR lpFileName); 3929 -extern(Windows) export BOOL DeleteFileW( 3930 - LPCWSTR lpFileName); 3931 -// #ifdef UNICODE 3932 -// #... 3933 -// #else 3934 -alias DeleteFileA DeleteFile; 3935 -// #endif // !UNICODE 3936 - 3937 -// #if(_WIN32_WINNT >= 0x0400) 3938 -alias int _FINDEX_INFO_LEVELS; 3939 -enum { 3940 - FindExInfoStandard, 3941 - FindExInfoMaxInfoLevel, 3942 -} 3943 -alias _FINDEX_INFO_LEVELS FINDEX_INFO_LEVELS; 3944 - 3945 -alias int _FINDEX_SEARCH_OPS; 3946 -enum { 3947 - FindExSearchNameMatch, 3948 - FindExSearchLimitToDirectories, 3949 - FindExSearchLimitToDevices, 3950 - FindExSearchMaxSearchOp, 3951 -} 3952 -alias _FINDEX_SEARCH_OPS FINDEX_SEARCH_OPS; 3953 - 3954 -enum : uint { FIND_FIRST_EX_CASE_SENSITIVE = 0x00000001 } 3955 - 3956 -extern(Windows) export HANDLE FindFirstFileExA( 3957 - LPCSTR lpFileName, 3958 - FINDEX_INFO_LEVELS fInfoLevelId, 3959 - LPVOID lpFindFileData, 3960 - FINDEX_SEARCH_OPS fSearchOp, 3961 - LPVOID lpSearchFilter, 3962 - DWORD dwAdditionalFlags); 3963 -extern(Windows) export HANDLE FindFirstFileExW( 3964 - LPCWSTR lpFileName, 3965 - FINDEX_INFO_LEVELS fInfoLevelId, 3966 - LPVOID lpFindFileData, 3967 - FINDEX_SEARCH_OPS fSearchOp, 3968 - LPVOID lpSearchFilter, 3969 - DWORD dwAdditionalFlags); 3970 -// #ifdef UNICODE 3971 -// #... 3972 -// #else 3973 -alias FindFirstFileExA FindFirstFileEx; 3974 -// #endif // !UNICODE 3975 -// #endif /* _WIN32_WINNT >= 0x0400 */ 3976 - 3977 -extern(Windows) export HANDLE FindFirstFileA( 3978 - LPCSTR lpFileName, 3979 - LPWIN32_FIND_DATAA lpFindFileData); 3980 -extern(Windows) export HANDLE FindFirstFileW( 3981 - LPCWSTR lpFileName, 3982 - LPWIN32_FIND_DATAW lpFindFileData); 3983 -// #ifdef UNICODE 3984 -// #... 3985 -// #else 3986 -alias FindFirstFileA FindFirstFile; 3987 -// #endif // !UNICODE 3988 - 3989 -extern(Windows) export BOOL FindNextFileA( 3990 - HANDLE hFindFile, 3991 - LPWIN32_FIND_DATAA lpFindFileData); 3992 -extern(Windows) export BOOL FindNextFileW( 3993 - HANDLE hFindFile, 3994 - LPWIN32_FIND_DATAW lpFindFileData); 3995 -// #ifdef UNICODE 3996 -// #... 3997 -// #else 3998 -alias FindNextFileA FindNextFile; 3999 -// #endif // !UNICODE 4000 - 4001 -extern(Windows) export DWORD SearchPathA( 4002 - LPCSTR lpPath, 4003 - LPCSTR lpFileName, 4004 - LPCSTR lpExtension, 4005 - DWORD nBufferLength, 4006 - LPSTR lpBuffer, 4007 - LPSTR *lpFilePart); 4008 -extern(Windows) export DWORD SearchPathW( 4009 - LPCWSTR lpPath, 4010 - LPCWSTR lpFileName, 4011 - LPCWSTR lpExtension, 4012 - DWORD nBufferLength, 4013 - LPWSTR lpBuffer, 4014 - LPWSTR *lpFilePart); 4015 -// #ifdef UNICODE 4016 -// #... 4017 -// #else 4018 -alias SearchPathA SearchPath; 4019 -// #endif // !UNICODE 4020 - 4021 -extern(Windows) export BOOL CopyFileA( 4022 - LPCSTR lpExistingFileName, 4023 - LPCSTR lpNewFileName, 4024 - BOOL bFailIfExists); 4025 -extern(Windows) export BOOL CopyFileW( 4026 - LPCWSTR lpExistingFileName, 4027 - LPCWSTR lpNewFileName, 4028 - BOOL bFailIfExists); 4029 -// #ifdef UNICODE 4030 -// #... 4031 -// #else 4032 -alias CopyFileA CopyFile; 4033 -// #endif // !UNICODE 4034 - 4035 -// #if(_WIN32_WINNT >= 0x0400) 4036 -extern(Windows) alias DWORD function( LARGE_INTEGER TotalFileSize, LARGE_INTEGER TotalBytesTransferred, LARGE_INTEGER StreamSize, LARGE_INTEGER StreamBytesTransferred, DWORD dwStreamNumber, DWORD dwCallbackReason, HANDLE hSourceFile, HANDLE hDestinationFile, LPVOID lpData ) LPPROGRESS_ROUTINE; 4037 - 4038 -extern(Windows) export BOOL CopyFileExA( 4039 - LPCSTR lpExistingFileName, 4040 - LPCSTR lpNewFileName, 4041 - LPPROGRESS_ROUTINE lpProgressRoutine , 4042 - LPVOID lpData , 4043 - LPBOOL pbCancel , 4044 - DWORD dwCopyFlags); 4045 -extern(Windows) export BOOL CopyFileExW( 4046 - LPCWSTR lpExistingFileName, 4047 - LPCWSTR lpNewFileName, 4048 - LPPROGRESS_ROUTINE lpProgressRoutine , 4049 - LPVOID lpData , 4050 - LPBOOL pbCancel , 4051 - DWORD dwCopyFlags); 4052 -// #ifdef UNICODE 4053 -// #... 4054 -// #else 4055 -alias CopyFileExA CopyFileEx; 4056 -// #endif // !UNICODE 4057 -// #endif /* _WIN32_WINNT >= 0x0400 */ 4058 - 4059 -extern(Windows) export BOOL MoveFileA( 4060 - LPCSTR lpExistingFileName, 4061 - LPCSTR lpNewFileName); 4062 -extern(Windows) export BOOL MoveFileW( 4063 - LPCWSTR lpExistingFileName, 4064 - LPCWSTR lpNewFileName); 4065 -// #ifdef UNICODE 4066 -// #... 4067 -// #else 4068 -alias MoveFileA MoveFile; 4069 -// #endif // !UNICODE 4070 - 4071 -extern(Windows) export BOOL MoveFileExA( 4072 - LPCSTR lpExistingFileName, 4073 - LPCSTR lpNewFileName, 4074 - DWORD dwFlags); 4075 -extern(Windows) export BOOL MoveFileExW( 4076 - LPCWSTR lpExistingFileName, 4077 - LPCWSTR lpNewFileName, 4078 - DWORD dwFlags); 4079 -// #ifdef UNICODE 4080 -// #... 4081 -// #else 4082 -alias MoveFileExA MoveFileEx; 4083 -// #endif // !UNICODE 4084 - 4085 -// #if (_WIN32_WINNT >= 0x0500) 4086 -extern(Windows) export BOOL MoveFileWithProgressA( 4087 - LPCSTR lpExistingFileName, 4088 - LPCSTR lpNewFileName, 4089 - LPPROGRESS_ROUTINE lpProgressRoutine , 4090 - LPVOID lpData , 4091 - DWORD dwFlags); 4092 -extern(Windows) export BOOL MoveFileWithProgressW( 4093 - LPCWSTR lpExistingFileName, 4094 - LPCWSTR lpNewFileName, 4095 - LPPROGRESS_ROUTINE lpProgressRoutine , 4096 - LPVOID lpData , 4097 - DWORD dwFlags); 4098 -// #ifdef UNICODE 4099 -// #... 4100 -// #else 4101 -alias MoveFileWithProgressA MoveFileWithProgress; 4102 -// #endif // !UNICODE 4103 -// #endif // (_WIN32_WINNT >= 0x0500) 4104 - 4105 -enum : uint { MOVEFILE_REPLACE_EXISTING = 0x00000001 } 4106 -enum : uint { MOVEFILE_COPY_ALLOWED = 0x00000002 } 4107 -enum : uint { MOVEFILE_DELAY_UNTIL_REBOOT = 0x00000004 } 4108 -enum : uint { MOVEFILE_WRITE_THROUGH = 0x00000008 } 4109 -// #if (_WIN32_WINNT >= 0x0500) 4110 -enum : uint { MOVEFILE_CREATE_HARDLINK = 0x00000010 } 4111 -enum : uint { MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x00000020 } 4112 -// #endif // (_WIN32_WINNT >= 0x0500) 4113 - 4114 -// #if (_WIN32_WINNT >= 0x0500) 4115 -extern(Windows) export BOOL ReplaceFileA( 4116 - LPCSTR lpReplacedFileName, 4117 - LPCSTR lpReplacementFileName, 4118 - LPCSTR lpBackupFileName, 4119 - DWORD dwReplaceFlags, 4120 - LPVOID lpExclude, 4121 - LPVOID lpReserved); 4122 -extern(Windows) export BOOL ReplaceFileW( 4123 - LPCWSTR lpReplacedFileName, 4124 - LPCWSTR lpReplacementFileName, 4125 - LPCWSTR lpBackupFileName, 4126 - DWORD dwReplaceFlags, 4127 - LPVOID lpExclude, 4128 - LPVOID lpReserved); 4129 -// #ifdef UNICODE 4130 -// #... 4131 -// #else 4132 -alias ReplaceFileA ReplaceFile; 4133 -// #endif // !UNICODE 4134 -// #endif // (_WIN32_WINNT >= 0x0500) 4135 - 4136 -// #if (_WIN32_WINNT >= 0x0500) 4137 - 4138 -extern(Windows) export BOOL CreateHardLinkA( 4139 - LPCSTR lpFileName, 4140 - LPCSTR lpExistingFileName, 4141 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 4142 -extern(Windows) export BOOL CreateHardLinkW( 4143 - LPCWSTR lpFileName, 4144 - LPCWSTR lpExistingFileName, 4145 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 4146 -// #ifdef UNICODE 4147 -// #... 4148 -// #else 4149 -alias CreateHardLinkA CreateHardLink; 4150 -// #endif // !UNICODE 4151 - 4152 -// #endif // (_WIN32_WINNT >= 0x0500) 4153 - 4154 -extern(Windows) export HANDLE CreateNamedPipeA( 4155 - LPCSTR lpName, 4156 - DWORD dwOpenMode, 4157 - DWORD dwPipeMode, 4158 - DWORD nMaxInstances, 4159 - DWORD nOutBufferSize, 4160 - DWORD nInBufferSize, 4161 - DWORD nDefaultTimeOut, 4162 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 4163 -extern(Windows) export HANDLE CreateNamedPipeW( 4164 - LPCWSTR lpName, 4165 - DWORD dwOpenMode, 4166 - DWORD dwPipeMode, 4167 - DWORD nMaxInstances, 4168 - DWORD nOutBufferSize, 4169 - DWORD nInBufferSize, 4170 - DWORD nDefaultTimeOut, 4171 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 4172 -// #ifdef UNICODE 4173 -// #... 4174 -// #else 4175 -alias CreateNamedPipeA CreateNamedPipe; 4176 -// #endif // !UNICODE 4177 - 4178 -extern(Windows) export BOOL GetNamedPipeHandleStateA( 4179 - HANDLE hNamedPipe, 4180 - LPDWORD lpState, 4181 - LPDWORD lpCurInstances, 4182 - LPDWORD lpMaxCollectionCount, 4183 - LPDWORD lpCollectDataTimeout, 4184 - LPSTR lpUserName, 4185 - DWORD nMaxUserNameSize); 4186 -extern(Windows) export BOOL GetNamedPipeHandleStateW( 4187 - HANDLE hNamedPipe, 4188 - LPDWORD lpState, 4189 - LPDWORD lpCurInstances, 4190 - LPDWORD lpMaxCollectionCount, 4191 - LPDWORD lpCollectDataTimeout, 4192 - LPWSTR lpUserName, 4193 - DWORD nMaxUserNameSize); 4194 -// #ifdef UNICODE 4195 -// #... 4196 -// #else 4197 -alias GetNamedPipeHandleStateA GetNamedPipeHandleState; 4198 -// #endif // !UNICODE 4199 - 4200 -extern(Windows) export BOOL CallNamedPipeA( 4201 - LPCSTR lpNamedPipeName, 4202 - LPVOID lpInBuffer, 4203 - DWORD nInBufferSize, 4204 - LPVOID lpOutBuffer, 4205 - DWORD nOutBufferSize, 4206 - LPDWORD lpBytesRead, 4207 - DWORD nTimeOut); 4208 -extern(Windows) export BOOL CallNamedPipeW( 4209 - LPCWSTR lpNamedPipeName, 4210 - LPVOID lpInBuffer, 4211 - DWORD nInBufferSize, 4212 - LPVOID lpOutBuffer, 4213 - DWORD nOutBufferSize, 4214 - LPDWORD lpBytesRead, 4215 - DWORD nTimeOut); 4216 -// #ifdef UNICODE 4217 -// #... 4218 -// #else 4219 -alias CallNamedPipeA CallNamedPipe; 4220 -// #endif // !UNICODE 4221 - 4222 -extern(Windows) export BOOL WaitNamedPipeA( 4223 - LPCSTR lpNamedPipeName, 4224 - DWORD nTimeOut); 4225 -extern(Windows) export BOOL WaitNamedPipeW( 4226 - LPCWSTR lpNamedPipeName, 4227 - DWORD nTimeOut); 4228 -// #ifdef UNICODE 4229 -// #... 4230 -// #else 4231 -alias WaitNamedPipeA WaitNamedPipe; 4232 -// #endif // !UNICODE 4233 - 4234 -extern(Windows) export BOOL SetVolumeLabelA( 4235 - LPCSTR lpRootPathName, 4236 - LPCSTR lpVolumeName); 4237 -extern(Windows) export BOOL SetVolumeLabelW( 4238 - LPCWSTR lpRootPathName, 4239 - LPCWSTR lpVolumeName); 4240 -// #ifdef UNICODE 4241 -// #... 4242 -// #else 4243 -alias SetVolumeLabelA SetVolumeLabel; 4244 -// #endif // !UNICODE 4245 - 4246 -extern(Windows) export VOID SetFileApisToOEM(); 4247 - 4248 -extern(Windows) export VOID SetFileApisToANSI(); 4249 - 4250 -extern(Windows) export BOOL AreFileApisANSI(); 4251 - 4252 -extern(Windows) export BOOL GetVolumeInformationA( 4253 - LPCSTR lpRootPathName, 4254 - LPSTR lpVolumeNameBuffer, 4255 - DWORD nVolumeNameSize, 4256 - LPDWORD lpVolumeSerialNumber, 4257 - LPDWORD lpMaximumComponentLength, 4258 - LPDWORD lpFileSystemFlags, 4259 - LPSTR lpFileSystemNameBuffer, 4260 - DWORD nFileSystemNameSize); 4261 -extern(Windows) export BOOL GetVolumeInformationW( 4262 - LPCWSTR lpRootPathName, 4263 - LPWSTR lpVolumeNameBuffer, 4264 - DWORD nVolumeNameSize, 4265 - LPDWORD lpVolumeSerialNumber, 4266 - LPDWORD lpMaximumComponentLength, 4267 - LPDWORD lpFileSystemFlags, 4268 - LPWSTR lpFileSystemNameBuffer, 4269 - DWORD nFileSystemNameSize); 4270 -// #ifdef UNICODE 4271 -// #... 4272 -// #else 4273 -alias GetVolumeInformationA GetVolumeInformation; 4274 -// #endif // !UNICODE 4275 - 4276 -extern(Windows) export BOOL CancelIo( 4277 - HANDLE hFile); 4278 - 4279 -extern(Windows) export BOOL ClearEventLogA( 4280 - HANDLE hEventLog, 4281 - LPCSTR lpBackupFileName); 4282 -extern(Windows) export BOOL ClearEventLogW( 4283 - HANDLE hEventLog, 4284 - LPCWSTR lpBackupFileName); 4285 -// #ifdef UNICODE 4286 -// #... 4287 -// #else 4288 -alias ClearEventLogA ClearEventLog; 4289 -// #endif // !UNICODE 4290 - 4291 -extern(Windows) export BOOL BackupEventLogA( 4292 - HANDLE hEventLog, 4293 - LPCSTR lpBackupFileName); 4294 -extern(Windows) export BOOL BackupEventLogW( 4295 - HANDLE hEventLog, 4296 - LPCWSTR lpBackupFileName); 4297 -// #ifdef UNICODE 4298 -// #... 4299 -// #else 4300 -alias BackupEventLogA BackupEventLog; 4301 -// #endif // !UNICODE 4302 - 4303 -extern(Windows) export BOOL CloseEventLog( 4304 - HANDLE hEventLog); 4305 - 4306 -extern(Windows) export BOOL DeregisterEventSource( 4307 - HANDLE hEventLog); 4308 - 4309 -extern(Windows) export BOOL NotifyChangeEventLog( 4310 - HANDLE hEventLog, 4311 - HANDLE hEvent); 4312 - 4313 -extern(Windows) export BOOL GetNumberOfEventLogRecords( 4314 - HANDLE hEventLog, 4315 - PDWORD NumberOfRecords); 4316 - 4317 -extern(Windows) export BOOL GetOldestEventLogRecord( 4318 - HANDLE hEventLog, 4319 - PDWORD OldestRecord); 4320 - 4321 -extern(Windows) export HANDLE OpenEventLogA( 4322 - LPCSTR lpUNCServerName, 4323 - LPCSTR lpSourceName); 4324 -extern(Windows) export HANDLE OpenEventLogW( 4325 - LPCWSTR lpUNCServerName, 4326 - LPCWSTR lpSourceName); 4327 -// #ifdef UNICODE 4328 -// #... 4329 -// #else 4330 -alias OpenEventLogA OpenEventLog; 4331 -// #endif // !UNICODE 4332 - 4333 -extern(Windows) export HANDLE RegisterEventSourceA( 4334 - LPCSTR lpUNCServerName, 4335 - LPCSTR lpSourceName); 4336 -extern(Windows) export HANDLE RegisterEventSourceW( 4337 - LPCWSTR lpUNCServerName, 4338 - LPCWSTR lpSourceName); 4339 -// #ifdef UNICODE 4340 -// #... 4341 -// #else 4342 -alias RegisterEventSourceA RegisterEventSource; 4343 -// #endif // !UNICODE 4344 - 4345 -extern(Windows) export HANDLE OpenBackupEventLogA( 4346 - LPCSTR lpUNCServerName, 4347 - LPCSTR lpFileName); 4348 -extern(Windows) export HANDLE OpenBackupEventLogW( 4349 - LPCWSTR lpUNCServerName, 4350 - LPCWSTR lpFileName); 4351 -// #ifdef UNICODE 4352 -// #... 4353 -// #else 4354 -alias OpenBackupEventLogA OpenBackupEventLog; 4355 -// #endif // !UNICODE 4356 - 4357 -extern(Windows) export BOOL ReadEventLogA( 4358 - HANDLE hEventLog, 4359 - DWORD dwReadFlags, 4360 - DWORD dwRecordOffset, 4361 - LPVOID lpBuffer, 4362 - DWORD nNumberOfBytesToRead, 4363 - DWORD *pnBytesRead, 4364 - DWORD *pnMinNumberOfBytesNeeded); 4365 -extern(Windows) export BOOL ReadEventLogW( 4366 - HANDLE hEventLog, 4367 - DWORD dwReadFlags, 4368 - DWORD dwRecordOffset, 4369 - LPVOID lpBuffer, 4370 - DWORD nNumberOfBytesToRead, 4371 - DWORD *pnBytesRead, 4372 - DWORD *pnMinNumberOfBytesNeeded); 4373 -// #ifdef UNICODE 4374 -// #... 4375 -// #else 4376 -alias ReadEventLogA ReadEventLog; 4377 -// #endif // !UNICODE 4378 - 4379 -extern(Windows) export BOOL ReportEventA( 4380 - HANDLE hEventLog, 4381 - WORD wType, 4382 - WORD wCategory, 4383 - DWORD dwEventID, 4384 - PSID lpUserSid, 4385 - WORD wNumStrings, 4386 - DWORD dwDataSize, 4387 - LPCSTR *lpStrings, 4388 - LPVOID lpRawData); 4389 -extern(Windows) export BOOL ReportEventW( 4390 - HANDLE hEventLog, 4391 - WORD wType, 4392 - WORD wCategory, 4393 - DWORD dwEventID, 4394 - PSID lpUserSid, 4395 - WORD wNumStrings, 4396 - DWORD dwDataSize, 4397 - LPCWSTR *lpStrings, 4398 - LPVOID lpRawData); 4399 -// #ifdef UNICODE 4400 -// #... 4401 -// #else 4402 -alias ReportEventA ReportEvent; 4403 -// #endif // !UNICODE 4404 - 4405 -enum : uint { EVENTLOG_FULL_INFO = 0 } 4406 - 4407 -struct _EVENTLOG_FULL_INFORMATION { 4408 - DWORD dwFull; 4409 -} 4410 -alias _EVENTLOG_FULL_INFORMATION EVENTLOG_FULL_INFORMATION; 4411 -alias _EVENTLOG_FULL_INFORMATION* LPEVENTLOG_FULL_INFORMATION; 4412 - 4413 -extern(Windows) export BOOL GetEventLogInformation( 4414 - HANDLE hEventLog, 4415 - DWORD dwInfoLevel, 4416 - LPVOID lpBuffer, 4417 - DWORD cbBufSize, 4418 - LPDWORD pcbBytesNeeded); 4419 - 4420 -extern(Windows) export BOOL DuplicateToken( 4421 - HANDLE ExistingTokenHandle, 4422 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, 4423 - PHANDLE DuplicateTokenHandle); 4424 - 4425 -extern(Windows) export BOOL GetKernelObjectSecurity( 4426 - HANDLE Handle, 4427 - SECURITY_INFORMATION RequestedInformation, 4428 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4429 - DWORD nLength, 4430 - LPDWORD lpnLengthNeeded); 4431 - 4432 -extern(Windows) export BOOL ImpersonateNamedPipeClient( 4433 - HANDLE hNamedPipe); 4434 - 4435 -extern(Windows) export BOOL ImpersonateSelf( 4436 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel); 4437 - 4438 -extern(Windows) export BOOL RevertToSelf(); 4439 - 4440 -extern(Windows) export BOOL SetThreadToken( 4441 - PHANDLE Thread, 4442 - HANDLE Token); 4443 - 4444 -extern(Windows) export BOOL AccessCheck( 4445 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4446 - HANDLE ClientToken, 4447 - DWORD DesiredAccess, 4448 - PGENERIC_MAPPING GenericMapping, 4449 - PPRIVILEGE_SET PrivilegeSet, 4450 - LPDWORD PrivilegeSetLength, 4451 - LPDWORD GrantedAccess, 4452 - LPBOOL AccessStatus); 4453 - 4454 -// #if(_WIN32_WINNT >= 0x0500) 4455 -extern(Windows) export BOOL AccessCheckByType( 4456 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4457 - PSID PrincipalSelfSid, 4458 - HANDLE ClientToken, 4459 - DWORD DesiredAccess, 4460 - POBJECT_TYPE_LIST ObjectTypeList, 4461 - DWORD ObjectTypeListLength, 4462 - PGENERIC_MAPPING GenericMapping, 4463 - PPRIVILEGE_SET PrivilegeSet, 4464 - LPDWORD PrivilegeSetLength, 4465 - LPDWORD GrantedAccess, 4466 - LPBOOL AccessStatus); 4467 - 4468 -extern(Windows) export BOOL AccessCheckByTypeResultList( 4469 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4470 - PSID PrincipalSelfSid, 4471 - HANDLE ClientToken, 4472 - DWORD DesiredAccess, 4473 - POBJECT_TYPE_LIST ObjectTypeList, 4474 - DWORD ObjectTypeListLength, 4475 - PGENERIC_MAPPING GenericMapping, 4476 - PPRIVILEGE_SET PrivilegeSet, 4477 - LPDWORD PrivilegeSetLength, 4478 - LPDWORD GrantedAccessList, 4479 - LPDWORD AccessStatusList); 4480 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4481 - 4482 -extern(Windows) export BOOL OpenProcessToken( 4483 - HANDLE ProcessHandle, 4484 - DWORD DesiredAccess, 4485 - PHANDLE TokenHandle); 4486 - 4487 -extern(Windows) export BOOL OpenThreadToken( 4488 - HANDLE ThreadHandle, 4489 - DWORD DesiredAccess, 4490 - BOOL OpenAsSelf, 4491 - PHANDLE TokenHandle); 4492 - 4493 -extern(Windows) export BOOL GetTokenInformation( 4494 - HANDLE TokenHandle, 4495 - TOKEN_INFORMATION_CLASS TokenInformationClass, 4496 - LPVOID TokenInformation, 4497 - DWORD TokenInformationLength, 4498 - PDWORD ReturnLength); 4499 - 4500 -extern(Windows) export BOOL SetTokenInformation( 4501 - HANDLE TokenHandle, 4502 - TOKEN_INFORMATION_CLASS TokenInformationClass, 4503 - LPVOID TokenInformation, 4504 - DWORD TokenInformationLength); 4505 - 4506 -extern(Windows) export BOOL AdjustTokenPrivileges( 4507 - HANDLE TokenHandle, 4508 - BOOL DisableAllPrivileges, 4509 - PTOKEN_PRIVILEGES NewState, 4510 - DWORD BufferLength, 4511 - PTOKEN_PRIVILEGES PreviousState, 4512 - PDWORD ReturnLength); 4513 - 4514 -extern(Windows) export BOOL AdjustTokenGroups( 4515 - HANDLE TokenHandle, 4516 - BOOL ResetToDefault, 4517 - PTOKEN_GROUPS NewState, 4518 - DWORD BufferLength, 4519 - PTOKEN_GROUPS PreviousState, 4520 - PDWORD ReturnLength); 4521 - 4522 -extern(Windows) export BOOL PrivilegeCheck( 4523 - HANDLE ClientToken, 4524 - PPRIVILEGE_SET RequiredPrivileges, 4525 - LPBOOL pfResult); 4526 - 4527 -extern(Windows) export BOOL AccessCheckAndAuditAlarmA( 4528 - LPCSTR SubsystemName, 4529 - LPVOID HandleId, 4530 - LPSTR ObjectTypeName, 4531 - LPSTR ObjectName, 4532 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4533 - DWORD DesiredAccess, 4534 - PGENERIC_MAPPING GenericMapping, 4535 - BOOL ObjectCreation, 4536 - LPDWORD GrantedAccess, 4537 - LPBOOL AccessStatus, 4538 - LPBOOL pfGenerateOnClose); 4539 -extern(Windows) export BOOL AccessCheckAndAuditAlarmW( 4540 - LPCWSTR SubsystemName, 4541 - LPVOID HandleId, 4542 - LPWSTR ObjectTypeName, 4543 - LPWSTR ObjectName, 4544 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4545 - DWORD DesiredAccess, 4546 - PGENERIC_MAPPING GenericMapping, 4547 - BOOL ObjectCreation, 4548 - LPDWORD GrantedAccess, 4549 - LPBOOL AccessStatus, 4550 - LPBOOL pfGenerateOnClose); 4551 -// #ifdef UNICODE 4552 -// #... 4553 -// #else 4554 -alias AccessCheckAndAuditAlarmA AccessCheckAndAuditAlarm; 4555 -// #endif // !UNICODE 4556 - 4557 -// #if(_WIN32_WINNT >= 0x0500) 4558 - 4559 -extern(Windows) export BOOL AccessCheckByTypeAndAuditAlarmA( 4560 - LPCSTR SubsystemName, 4561 - LPVOID HandleId, 4562 - LPCSTR ObjectTypeName, 4563 - LPCSTR ObjectName, 4564 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4565 - PSID PrincipalSelfSid, 4566 - DWORD DesiredAccess, 4567 - AUDIT_EVENT_TYPE AuditType, 4568 - DWORD Flags, 4569 - POBJECT_TYPE_LIST ObjectTypeList, 4570 - DWORD ObjectTypeListLength, 4571 - PGENERIC_MAPPING GenericMapping, 4572 - BOOL ObjectCreation, 4573 - LPDWORD GrantedAccess, 4574 - LPBOOL AccessStatus, 4575 - LPBOOL pfGenerateOnClose); 4576 -extern(Windows) export BOOL AccessCheckByTypeAndAuditAlarmW( 4577 - LPCWSTR SubsystemName, 4578 - LPVOID HandleId, 4579 - LPCWSTR ObjectTypeName, 4580 - LPCWSTR ObjectName, 4581 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4582 - PSID PrincipalSelfSid, 4583 - DWORD DesiredAccess, 4584 - AUDIT_EVENT_TYPE AuditType, 4585 - DWORD Flags, 4586 - POBJECT_TYPE_LIST ObjectTypeList, 4587 - DWORD ObjectTypeListLength, 4588 - PGENERIC_MAPPING GenericMapping, 4589 - BOOL ObjectCreation, 4590 - LPDWORD GrantedAccess, 4591 - LPBOOL AccessStatus, 4592 - LPBOOL pfGenerateOnClose); 4593 -// #ifdef UNICODE 4594 -// #... 4595 -// #else 4596 -alias AccessCheckByTypeAndAuditAlarmA AccessCheckByTypeAndAuditAlarm; 4597 -// #endif // !UNICODE 4598 - 4599 -extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmA( 4600 - LPCSTR SubsystemName, 4601 - LPVOID HandleId, 4602 - LPCSTR ObjectTypeName, 4603 - LPCSTR ObjectName, 4604 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4605 - PSID PrincipalSelfSid, 4606 - DWORD DesiredAccess, 4607 - AUDIT_EVENT_TYPE AuditType, 4608 - DWORD Flags, 4609 - POBJECT_TYPE_LIST ObjectTypeList, 4610 - DWORD ObjectTypeListLength, 4611 - PGENERIC_MAPPING GenericMapping, 4612 - BOOL ObjectCreation, 4613 - LPDWORD GrantedAccess, 4614 - LPDWORD AccessStatusList, 4615 - LPBOOL pfGenerateOnClose); 4616 -extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmW( 4617 - LPCWSTR SubsystemName, 4618 - LPVOID HandleId, 4619 - LPCWSTR ObjectTypeName, 4620 - LPCWSTR ObjectName, 4621 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4622 - PSID PrincipalSelfSid, 4623 - DWORD DesiredAccess, 4624 - AUDIT_EVENT_TYPE AuditType, 4625 - DWORD Flags, 4626 - POBJECT_TYPE_LIST ObjectTypeList, 4627 - DWORD ObjectTypeListLength, 4628 - PGENERIC_MAPPING GenericMapping, 4629 - BOOL ObjectCreation, 4630 - LPDWORD GrantedAccess, 4631 - LPDWORD AccessStatusList, 4632 - LPBOOL pfGenerateOnClose); 4633 -// #ifdef UNICODE 4634 -// #... 4635 -// #else 4636 -alias AccessCheckByTypeResultListAndAuditAlarmA AccessCheckByTypeResultListAndAuditAlarm; 4637 -// #endif // !UNICODE 4638 - 4639 -extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmByHandleA( 4640 - LPCSTR SubsystemName, 4641 - LPVOID HandleId, 4642 - HANDLE ClientToken, 4643 - LPCSTR ObjectTypeName, 4644 - LPCSTR ObjectName, 4645 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4646 - PSID PrincipalSelfSid, 4647 - DWORD DesiredAccess, 4648 - AUDIT_EVENT_TYPE AuditType, 4649 - DWORD Flags, 4650 - POBJECT_TYPE_LIST ObjectTypeList, 4651 - DWORD ObjectTypeListLength, 4652 - PGENERIC_MAPPING GenericMapping, 4653 - BOOL ObjectCreation, 4654 - LPDWORD GrantedAccess, 4655 - LPDWORD AccessStatusList, 4656 - LPBOOL pfGenerateOnClose); 4657 -extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmByHandleW( 4658 - LPCWSTR SubsystemName, 4659 - LPVOID HandleId, 4660 - HANDLE ClientToken, 4661 - LPCWSTR ObjectTypeName, 4662 - LPCWSTR ObjectName, 4663 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4664 - PSID PrincipalSelfSid, 4665 - DWORD DesiredAccess, 4666 - AUDIT_EVENT_TYPE AuditType, 4667 - DWORD Flags, 4668 - POBJECT_TYPE_LIST ObjectTypeList, 4669 - DWORD ObjectTypeListLength, 4670 - PGENERIC_MAPPING GenericMapping, 4671 - BOOL ObjectCreation, 4672 - LPDWORD GrantedAccess, 4673 - LPDWORD AccessStatusList, 4674 - LPBOOL pfGenerateOnClose); 4675 -// #ifdef UNICODE 4676 -// #... 4677 -// #else 4678 -alias AccessCheckByTypeResultListAndAuditAlarmByHandleA AccessCheckByTypeResultListAndAuditAlarmByHandle; 4679 -// #endif // !UNICODE 4680 - 4681 -// #endif //(_WIN32_WINNT >= 0x0500) 4682 - 4683 -extern(Windows) export BOOL ObjectOpenAuditAlarmA( 4684 - LPCSTR SubsystemName, 4685 - LPVOID HandleId, 4686 - LPSTR ObjectTypeName, 4687 - LPSTR ObjectName, 4688 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4689 - HANDLE ClientToken, 4690 - DWORD DesiredAccess, 4691 - DWORD GrantedAccess, 4692 - PPRIVILEGE_SET Privileges, 4693 - BOOL ObjectCreation, 4694 - BOOL AccessGranted, 4695 - LPBOOL GenerateOnClose); 4696 -extern(Windows) export BOOL ObjectOpenAuditAlarmW( 4697 - LPCWSTR SubsystemName, 4698 - LPVOID HandleId, 4699 - LPWSTR ObjectTypeName, 4700 - LPWSTR ObjectName, 4701 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4702 - HANDLE ClientToken, 4703 - DWORD DesiredAccess, 4704 - DWORD GrantedAccess, 4705 - PPRIVILEGE_SET Privileges, 4706 - BOOL ObjectCreation, 4707 - BOOL AccessGranted, 4708 - LPBOOL GenerateOnClose); 4709 -// #ifdef UNICODE 4710 -// #... 4711 -// #else 4712 -alias ObjectOpenAuditAlarmA ObjectOpenAuditAlarm; 4713 -// #endif // !UNICODE 4714 - 4715 -extern(Windows) export BOOL ObjectPrivilegeAuditAlarmA( 4716 - LPCSTR SubsystemName, 4717 - LPVOID HandleId, 4718 - HANDLE ClientToken, 4719 - DWORD DesiredAccess, 4720 - PPRIVILEGE_SET Privileges, 4721 - BOOL AccessGranted); 4722 -extern(Windows) export BOOL ObjectPrivilegeAuditAlarmW( 4723 - LPCWSTR SubsystemName, 4724 - LPVOID HandleId, 4725 - HANDLE ClientToken, 4726 - DWORD DesiredAccess, 4727 - PPRIVILEGE_SET Privileges, 4728 - BOOL AccessGranted); 4729 -// #ifdef UNICODE 4730 -// #... 4731 -// #else 4732 -alias ObjectPrivilegeAuditAlarmA ObjectPrivilegeAuditAlarm; 4733 -// #endif // !UNICODE 4734 - 4735 -extern(Windows) export BOOL ObjectCloseAuditAlarmA( 4736 - LPCSTR SubsystemName, 4737 - LPVOID HandleId, 4738 - BOOL GenerateOnClose); 4739 -extern(Windows) export BOOL ObjectCloseAuditAlarmW( 4740 - LPCWSTR SubsystemName, 4741 - LPVOID HandleId, 4742 - BOOL GenerateOnClose); 4743 -// #ifdef UNICODE 4744 -// #... 4745 -// #else 4746 -alias ObjectCloseAuditAlarmA ObjectCloseAuditAlarm; 4747 -// #endif // !UNICODE 4748 - 4749 -extern(Windows) export BOOL ObjectDeleteAuditAlarmA( 4750 - LPCSTR SubsystemName, 4751 - LPVOID HandleId, 4752 - BOOL GenerateOnClose); 4753 -extern(Windows) export BOOL ObjectDeleteAuditAlarmW( 4754 - LPCWSTR SubsystemName, 4755 - LPVOID HandleId, 4756 - BOOL GenerateOnClose); 4757 -// #ifdef UNICODE 4758 -// #... 4759 -// #else 4760 -alias ObjectDeleteAuditAlarmA ObjectDeleteAuditAlarm; 4761 -// #endif // !UNICODE 4762 - 4763 -extern(Windows) export BOOL PrivilegedServiceAuditAlarmA( 4764 - LPCSTR SubsystemName, 4765 - LPCSTR ServiceName, 4766 - HANDLE ClientToken, 4767 - PPRIVILEGE_SET Privileges, 4768 - BOOL AccessGranted); 4769 -extern(Windows) export BOOL PrivilegedServiceAuditAlarmW( 4770 - LPCWSTR SubsystemName, 4771 - LPCWSTR ServiceName, 4772 - HANDLE ClientToken, 4773 - PPRIVILEGE_SET Privileges, 4774 - BOOL AccessGranted); 4775 -// #ifdef UNICODE 4776 -// #... 4777 -// #else 4778 -alias PrivilegedServiceAuditAlarmA PrivilegedServiceAuditAlarm; 4779 -// #endif // !UNICODE 4780 - 4781 -// #if(_WIN32_WINNT >= 0x0501) 4782 - 4783 -enum _0 { 4784 - 4785 - WinNullSid = 0, 4786 - WinWorldSid = 1, 4787 - WinLocalSid = 2, 4788 - WinCreatorOwnerSid = 3, 4789 - WinCreatorGroupSid = 4, 4790 - WinCreatorOwnerServerSid = 5, 4791 - WinCreatorGroupServerSid = 6, 4792 - WinNtAuthoritySid = 7, 4793 - WinDialupSid = 8, 4794 - WinNetworkSid = 9, 4795 - WinBatchSid = 10, 4796 - WinInteractiveSid = 11, 4797 - WinServiceSid = 12, 4798 - WinAnonymousSid = 13, 4799 - WinProxySid = 14, 4800 - WinEnterpriseControllersSid = 15, 4801 - WinSelfSid = 16, 4802 - WinAuthenticatedUserSid = 17, 4803 - WinRestrictedCodeSid = 18, 4804 - WinTerminalServerSid = 19, 4805 - WinRemoteLogonIdSid = 20, 4806 - WinLogonIdsSid = 21, 4807 - WinLocalSystemSid = 22, 4808 - WinLocalServiceSid = 23, 4809 - WinNetworkServiceSid = 24, 4810 - WinBuiltinDomainSid = 25, 4811 - WinBuiltinAdministratorsSid = 26, 4812 - WinBuiltinUsersSid = 27, 4813 - WinBuiltinGuestsSid = 28, 4814 - WinBuiltinPowerUsersSid = 29, 4815 - WinBuiltinAccountOperatorsSid = 30, 4816 - WinBuiltinSystemOperatorsSid = 31, 4817 - WinBuiltinPrintOperatorsSid = 32, 4818 - WinBuiltinBackupOperatorsSid = 33, 4819 - WinBuiltinReplicatorSid = 34, 4820 - WinBuiltinPreWindows2000CompatibleAccessSid = 35, 4821 - WinBuiltinRemoteDesktopUsersSid = 36, 4822 - WinBuiltinNetworkConfigurationOperatorsSid = 37, 4823 - WinAccountAdministratorSid = 38, 4824 - WinAccountGuestSid = 39, 4825 - WinAccountKrbtgtSid = 40, 4826 - WinAccountDomainAdminsSid = 41, 4827 - WinAccountDomainUsersSid = 42, 4828 - WinAccountDomainGuestsSid = 43, 4829 - WinAccountComputersSid = 44, 4830 - WinAccountControllersSid = 45, 4831 - WinAccountCertAdminsSid = 46, 4832 - WinAccountSchemaAdminsSid = 47, 4833 - WinAccountEnterpriseAdminsSid = 48, 4834 - WinAccountPolicyAdminsSid = 49, 4835 - WinAccountRasAndIasServersSid = 50, 4836 - 4837 -} 4838 -alias _0 WELL_KNOWN_SID_TYPE; 4839 - 4840 -extern(Windows) export BOOL IsWellKnownSid( 4841 - PSID pSid, 4842 - WELL_KNOWN_SID_TYPE WellKnownSidType); 4843 - 4844 -extern(Windows) export BOOL CreateWellKnownSid( 4845 - WELL_KNOWN_SID_TYPE WellKnownSidType, 4846 - PSID DomainSid , 4847 - PSID pSid, 4848 - DWORD *cbSid); 4849 - 4850 -extern(Windows) export BOOL EqualDomainSid( 4851 - PSID pSid1, 4852 - PSID pSid2, 4853 - BOOL *pfEqual); 4854 - 4855 -extern(Windows) export BOOL GetWindowsAccountDomainSid( 4856 - PSID pSid, 4857 - PSID ppDomainSid , 4858 - DWORD *cbSid); 4859 - 4860 -// #endif //(_WIN32_WINNT >= 0x0501) 4861 - 4862 -extern(Windows) export BOOL IsValidSid( 4863 - PSID pSid); 4864 - 4865 -extern(Windows) export BOOL EqualSid( 4866 - PSID pSid1, 4867 - PSID pSid2); 4868 - 4869 -extern(Windows) export BOOL EqualPrefixSid( 4870 - PSID pSid1, 4871 - PSID pSid2); 4872 - 4873 -extern(Windows) export DWORD GetSidLengthRequired( 4874 - UCHAR nSubAuthorityCount); 4875 - 4876 -extern(Windows) export BOOL AllocateAndInitializeSid( 4877 - PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, 4878 - BYTE nSubAuthorityCount, 4879 - DWORD nSubAuthority0, 4880 - DWORD nSubAuthority1, 4881 - DWORD nSubAuthority2, 4882 - DWORD nSubAuthority3, 4883 - DWORD nSubAuthority4, 4884 - DWORD nSubAuthority5, 4885 - DWORD nSubAuthority6, 4886 - DWORD nSubAuthority7, 4887 - PSID *pSid); 4888 - 4889 -extern(Windows) export PVOID FreeSid( 4890 - PSID pSid); 4891 - 4892 -extern(Windows) export BOOL InitializeSid( 4893 - PSID Sid, 4894 - PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, 4895 - BYTE nSubAuthorityCount); 4896 - 4897 -extern(Windows) export PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority( 4898 - PSID pSid); 4899 - 4900 -extern(Windows) export PDWORD GetSidSubAuthority( 4901 - PSID pSid, 4902 - DWORD nSubAuthority); 4903 - 4904 -extern(Windows) export PUCHAR GetSidSubAuthorityCount( 4905 - PSID pSid); 4906 - 4907 -extern(Windows) export DWORD GetLengthSid( 4908 - PSID pSid); 4909 - 4910 -extern(Windows) export BOOL CopySid( 4911 - DWORD nDestinationSidLength, 4912 - PSID pDestinationSid, 4913 - PSID pSourceSid); 4914 - 4915 -extern(Windows) export BOOL AreAllAccessesGranted( 4916 - DWORD GrantedAccess, 4917 - DWORD DesiredAccess); 4918 - 4919 -extern(Windows) export BOOL AreAnyAccessesGranted( 4920 - DWORD GrantedAccess, 4921 - DWORD DesiredAccess); 4922 - 4923 -extern(Windows) export VOID MapGenericMask( 4924 - PDWORD AccessMask, 4925 - PGENERIC_MAPPING GenericMapping); 4926 - 4927 -extern(Windows) export BOOL IsValidAcl( 4928 - PACL pAcl); 4929 - 4930 -extern(Windows) export BOOL InitializeAcl( 4931 - PACL pAcl, 4932 - DWORD nAclLength, 4933 - DWORD dwAclRevision); 4934 - 4935 -extern(Windows) export BOOL GetAclInformation( 4936 - PACL pAcl, 4937 - LPVOID pAclInformation, 4938 - DWORD nAclInformationLength, 4939 - ACL_INFORMATION_CLASS dwAclInformationClass); 4940 - 4941 -extern(Windows) export BOOL SetAclInformation( 4942 - PACL pAcl, 4943 - LPVOID pAclInformation, 4944 - DWORD nAclInformationLength, 4945 - ACL_INFORMATION_CLASS dwAclInformationClass); 4946 - 4947 -extern(Windows) export BOOL AddAce( 4948 - PACL pAcl, 4949 - DWORD dwAceRevision, 4950 - DWORD dwStartingAceIndex, 4951 - LPVOID pAceList, 4952 - DWORD nAceListLength); 4953 - 4954 -extern(Windows) export BOOL DeleteAce( 4955 - PACL pAcl, 4956 - DWORD dwAceIndex); 4957 - 4958 -extern(Windows) export BOOL GetAce( 4959 - PACL pAcl, 4960 - DWORD dwAceIndex, 4961 - LPVOID *pAce); 4962 - 4963 -extern(Windows) export BOOL AddAccessAllowedAce( 4964 - PACL pAcl, 4965 - DWORD dwAceRevision, 4966 - DWORD AccessMask, 4967 - PSID pSid); 4968 - 4969 -// #if(_WIN32_WINNT >= 0x0500) 4970 -extern(Windows) export BOOL AddAccessAllowedAceEx( 4971 - PACL pAcl, 4972 - DWORD dwAceRevision, 4973 - DWORD AceFlags, 4974 - DWORD AccessMask, 4975 - PSID pSid); 4976 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4977 - 4978 -extern(Windows) export BOOL AddAccessDeniedAce( 4979 - PACL pAcl, 4980 - DWORD dwAceRevision, 4981 - DWORD AccessMask, 4982 - PSID pSid); 4983 - 4984 -// #if(_WIN32_WINNT >= 0x0500) 4985 -extern(Windows) export BOOL AddAccessDeniedAceEx( 4986 - PACL pAcl, 4987 - DWORD dwAceRevision, 4988 - DWORD AceFlags, 4989 - DWORD AccessMask, 4990 - PSID pSid); 4991 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4992 - 4993 -extern(Windows) export BOOL AddAuditAccessAce( 4994 - PACL pAcl, 4995 - DWORD dwAceRevision, 4996 - DWORD dwAccessMask, 4997 - PSID pSid, 4998 - BOOL bAuditSuccess, 4999 - BOOL bAuditFailure); 5000 - 5001 -// #if(_WIN32_WINNT >= 0x0500) 5002 -extern(Windows) export BOOL AddAuditAccessAceEx( 5003 - PACL pAcl, 5004 - DWORD dwAceRevision, 5005 - DWORD AceFlags, 5006 - DWORD dwAccessMask, 5007 - PSID pSid, 5008 - BOOL bAuditSuccess, 5009 - BOOL bAuditFailure); 5010 - 5011 -extern(Windows) export BOOL AddAccessAllowedObjectAce( 5012 - PACL pAcl, 5013 - DWORD dwAceRevision, 5014 - DWORD AceFlags, 5015 - DWORD AccessMask, 5016 - GUID *ObjectTypeGuid, 5017 - GUID *InheritedObjectTypeGuid, 5018 - PSID pSid); 5019 - 5020 -extern(Windows) export BOOL AddAccessDeniedObjectAce( 5021 - PACL pAcl, 5022 - DWORD dwAceRevision, 5023 - DWORD AceFlags, 5024 - DWORD AccessMask, 5025 - GUID *ObjectTypeGuid, 5026 - GUID *InheritedObjectTypeGuid, 5027 - PSID pSid); 5028 - 5029 -extern(Windows) export BOOL AddAuditAccessObjectAce( 5030 - PACL pAcl, 5031 - DWORD dwAceRevision, 5032 - DWORD AceFlags, 5033 - DWORD AccessMask, 5034 - GUID *ObjectTypeGuid, 5035 - GUID *InheritedObjectTypeGuid, 5036 - PSID pSid, 5037 - BOOL bAuditSuccess, 5038 - BOOL bAuditFailure); 5039 -// #endif /* _WIN32_WINNT >= 0x0500 */ 5040 - 5041 -extern(Windows) export BOOL FindFirstFreeAce( 5042 - PACL pAcl, 5043 - LPVOID *pAce); 5044 - 5045 -extern(Windows) export BOOL InitializeSecurityDescriptor( 5046 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5047 - DWORD dwRevision); 5048 - 5049 -extern(Windows) export BOOL IsValidSecurityDescriptor( 5050 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 5051 - 5052 -extern(Windows) export DWORD GetSecurityDescriptorLength( 5053 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 5054 - 5055 -extern(Windows) export BOOL GetSecurityDescriptorControl( 5056 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5057 - PSECURITY_DESCRIPTOR_CONTROL pControl, 5058 - LPDWORD lpdwRevision); 5059 - 5060 -// #if(_WIN32_WINNT >= 0x0500) 5061 -extern(Windows) export BOOL SetSecurityDescriptorControl( 5062 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5063 - SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, 5064 - SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet); 5065 -// #endif /* _WIN32_WINNT >= 0x0500 */ 5066 - 5067 -extern(Windows) export BOOL SetSecurityDescriptorDacl( 5068 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5069 - BOOL bDaclPresent, 5070 - PACL pDacl, 5071 - BOOL bDaclDefaulted); 5072 - 5073 -extern(Windows) export BOOL GetSecurityDescriptorDacl( 5074 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5075 - LPBOOL lpbDaclPresent, 5076 - PACL *pDacl, 5077 - LPBOOL lpbDaclDefaulted); 5078 - 5079 -extern(Windows) export BOOL SetSecurityDescriptorSacl( 5080 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5081 - BOOL bSaclPresent, 5082 - PACL pSacl, 5083 - BOOL bSaclDefaulted); 5084 - 5085 -extern(Windows) export BOOL GetSecurityDescriptorSacl( 5086 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5087 - LPBOOL lpbSaclPresent, 5088 - PACL *pSacl, 5089 - LPBOOL lpbSaclDefaulted); 5090 - 5091 -extern(Windows) export BOOL SetSecurityDescriptorOwner( 5092 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5093 - PSID pOwner, 5094 - BOOL bOwnerDefaulted); 5095 - 5096 -extern(Windows) export BOOL GetSecurityDescriptorOwner( 5097 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5098 - PSID *pOwner, 5099 - LPBOOL lpbOwnerDefaulted); 5100 - 5101 -extern(Windows) export BOOL SetSecurityDescriptorGroup( 5102 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5103 - PSID pGroup, 5104 - BOOL bGroupDefaulted); 5105 - 5106 -extern(Windows) export BOOL GetSecurityDescriptorGroup( 5107 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5108 - PSID *pGroup, 5109 - LPBOOL lpbGroupDefaulted); 5110 - 5111 -extern(Windows) export DWORD SetSecurityDescriptorRMControl( 5112 - PSECURITY_DESCRIPTOR SecurityDescriptor, 5113 - PUCHAR RMControl ); 5114 - 5115 -extern(Windows) export DWORD GetSecurityDescriptorRMControl( 5116 - PSECURITY_DESCRIPTOR SecurityDescriptor, 5117 - PUCHAR RMControl); 5118 - 5119 -extern(Windows) export BOOL CreatePrivateObjectSecurity( 5120 - PSECURITY_DESCRIPTOR ParentDescriptor, 5121 - PSECURITY_DESCRIPTOR CreatorDescriptor, 5122 - PSECURITY_DESCRIPTOR * NewDescriptor, 5123 - BOOL IsDirectoryObject, 5124 - HANDLE Token, 5125 - PGENERIC_MAPPING GenericMapping); 5126 - 5127 -// #if(_WIN32_WINNT >= 0x0500) 5128 -extern(Windows) export BOOL ConvertToAutoInheritPrivateObjectSecurity( 5129 - PSECURITY_DESCRIPTOR ParentDescriptor, 5130 - PSECURITY_DESCRIPTOR CurrentSecurityDescriptor, 5131 - PSECURITY_DESCRIPTOR *NewSecurityDescriptor, 5132 - GUID *ObjectType, 5133 - BOOLEAN IsDirectoryObject, 5134 - PGENERIC_MAPPING GenericMapping); 5135 - 5136 -extern(Windows) export BOOL CreatePrivateObjectSecurityEx( 5137 - PSECURITY_DESCRIPTOR ParentDescriptor, 5138 - PSECURITY_DESCRIPTOR CreatorDescriptor, 5139 - PSECURITY_DESCRIPTOR * NewDescriptor, 5140 - GUID *ObjectType , 5141 - BOOL IsContainerObject, 5142 - ULONG AutoInheritFlags, 5143 - HANDLE Token, 5144 - PGENERIC_MAPPING GenericMapping); 5145 - 5146 -extern(Windows) export BOOL CreatePrivateObjectSecurityWithMultipleInheritance( 5147 - PSECURITY_DESCRIPTOR ParentDescriptor, 5148 - PSECURITY_DESCRIPTOR CreatorDescriptor, 5149 - PSECURITY_DESCRIPTOR * NewDescriptor, 5150 - GUID **ObjectTypes , 5151 - ULONG GuidCount, 5152 - BOOL IsContainerObject, 5153 - ULONG AutoInheritFlags, 5154 - HANDLE Token, 5155 - PGENERIC_MAPPING GenericMapping); 5156 -// #endif /* _WIN32_WINNT >= 0x0500 */ 5157 - 5158 -extern(Windows) export BOOL SetPrivateObjectSecurity( 5159 - SECURITY_INFORMATION SecurityInformation, 5160 - PSECURITY_DESCRIPTOR ModificationDescriptor, 5161 - PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, 5162 - PGENERIC_MAPPING GenericMapping, 5163 - HANDLE Token); 5164 - 5165 -// #if(_WIN32_WINNT >= 0x0500) 5166 -extern(Windows) export BOOL SetPrivateObjectSecurityEx( 5167 - SECURITY_INFORMATION SecurityInformation, 5168 - PSECURITY_DESCRIPTOR ModificationDescriptor, 5169 - PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, 5170 - ULONG AutoInheritFlags, 5171 - PGENERIC_MAPPING GenericMapping, 5172 - HANDLE Token ); 5173 -// #endif /* _WIN32_WINNT >= 0x0500 */ 5174 - 5175 -extern(Windows) export BOOL GetPrivateObjectSecurity( 5176 - PSECURITY_DESCRIPTOR ObjectDescriptor, 5177 - SECURITY_INFORMATION SecurityInformation, 5178 - PSECURITY_DESCRIPTOR ResultantDescriptor, 5179 - DWORD DescriptorLength, 5180 - PDWORD ReturnLength); 5181 - 5182 -extern(Windows) export BOOL DestroyPrivateObjectSecurity( 5183 - PSECURITY_DESCRIPTOR * ObjectDescriptor); 5184 - 5185 -extern(Windows) export BOOL MakeSelfRelativeSD( 5186 - PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, 5187 - PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, 5188 - LPDWORD lpdwBufferLength); 5189 - 5190 -extern(Windows) export BOOL MakeAbsoluteSD( 5191 - PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, 5192 - PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, 5193 - LPDWORD lpdwAbsoluteSecurityDescriptorSize, 5194 - PACL pDacl, 5195 - LPDWORD lpdwDaclSize, 5196 - PACL pSacl, 5197 - LPDWORD lpdwSaclSize, 5198 - PSID pOwner, 5199 - LPDWORD lpdwOwnerSize, 5200 - PSID pPrimaryGroup, 5201 - LPDWORD lpdwPrimaryGroupSize); 5202 - 5203 -extern(Windows) export BOOL MakeAbsoluteSD2( 5204 - PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, 5205 - LPDWORD lpdwBufferSize); 5206 - 5207 -extern(Windows) export BOOL SetFileSecurityA( 5208 - LPCSTR lpFileName, 5209 - SECURITY_INFORMATION SecurityInformation, 5210 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 5211 -extern(Windows) export BOOL SetFileSecurityW( 5212 - LPCWSTR lpFileName, 5213 - SECURITY_INFORMATION SecurityInformation, 5214 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 5215 -// #ifdef UNICODE 5216 -// #... 5217 -// #else 5218 -alias SetFileSecurityA SetFileSecurity; 5219 -// #endif // !UNICODE 5220 - 5221 -extern(Windows) export BOOL GetFileSecurityA( 5222 - LPCSTR lpFileName, 5223 - SECURITY_INFORMATION RequestedInformation, 5224 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5225 - DWORD nLength, 5226 - LPDWORD lpnLengthNeeded); 5227 -extern(Windows) export BOOL GetFileSecurityW( 5228 - LPCWSTR lpFileName, 5229 - SECURITY_INFORMATION RequestedInformation, 5230 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5231 - DWORD nLength, 5232 - LPDWORD lpnLengthNeeded); 5233 -// #ifdef UNICODE 5234 -// #... 5235 -// #else 5236 -alias GetFileSecurityA GetFileSecurity; 5237 -// #endif // !UNICODE 5238 - 5239 -extern(Windows) export BOOL SetKernelObjectSecurity( 5240 - HANDLE Handle, 5241 - SECURITY_INFORMATION SecurityInformation, 5242 - PSECURITY_DESCRIPTOR SecurityDescriptor); 5243 - 5244 -extern(Windows) export HANDLE FindFirstChangeNotificationA( 5245 - LPCSTR lpPathName, 5246 - BOOL bWatchSubtree, 5247 - DWORD dwNotifyFilter); 5248 -extern(Windows) export HANDLE FindFirstChangeNotificationW( 5249 - LPCWSTR lpPathName, 5250 - BOOL bWatchSubtree, 5251 - DWORD dwNotifyFilter); 5252 -// #ifdef UNICODE 5253 -// #... 5254 -// #else 5255 -alias FindFirstChangeNotificationA FindFirstChangeNotification; 5256 -// #endif // !UNICODE 5257 - 5258 -extern(Windows) export BOOL FindNextChangeNotification( 5259 - HANDLE hChangeHandle); 5260 - 5261 -extern(Windows) export BOOL FindCloseChangeNotification( 5262 - HANDLE hChangeHandle); 5263 - 5264 -// #if(_WIN32_WINNT >= 0x0400) 5265 -extern(Windows) export BOOL ReadDirectoryChangesW( 5266 - HANDLE hDirectory, 5267 - LPVOID lpBuffer, 5268 - DWORD nBufferLength, 5269 - BOOL bWatchSubtree, 5270 - DWORD dwNotifyFilter, 5271 - LPDWORD lpBytesReturned, 5272 - LPOVERLAPPED lpOverlapped, 5273 - LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); 5274 -// #endif /* _WIN32_WINNT >= 0x0400 */ 5275 - 5276 -extern(Windows) export BOOL VirtualLock( 5277 - LPVOID lpAddress, 5278 - SIZE_T dwSize); 5279 - 5280 -extern(Windows) export BOOL VirtualUnlock( 5281 - LPVOID lpAddress, 5282 - SIZE_T dwSize); 5283 - 5284 -extern(Windows) export LPVOID MapViewOfFileEx( 5285 - HANDLE hFileMappingObject, 5286 - DWORD dwDesiredAccess, 5287 - DWORD dwFileOffsetHigh, 5288 - DWORD dwFileOffsetLow, 5289 - SIZE_T dwNumberOfBytesToMap, 5290 - LPVOID lpBaseAddress); 5291 - 5292 -extern(Windows) export BOOL SetPriorityClass( 5293 - HANDLE hProcess, 5294 - DWORD dwPriorityClass); 5295 - 5296 -extern(Windows) export DWORD GetPriorityClass( 5297 - HANDLE hProcess); 5298 - 5299 -extern(Windows) export BOOL IsBadReadPtr( 5300 - VOID *lp, 5301 - UINT_PTR ucb); 5302 - 5303 -extern(Windows) export BOOL IsBadWritePtr( 5304 - LPVOID lp, 5305 - UINT_PTR ucb); 5306 - 5307 -extern(Windows) export BOOL IsBadHugeReadPtr( 5308 - VOID *lp, 5309 - UINT_PTR ucb); 5310 - 5311 -extern(Windows) export BOOL IsBadHugeWritePtr( 5312 - LPVOID lp, 5313 - UINT_PTR ucb); 5314 - 5315 -extern(Windows) export BOOL IsBadCodePtr( 5316 - FARPROC lpfn); 5317 - 5318 -extern(Windows) export BOOL IsBadStringPtrA( 5319 - LPCSTR lpsz, 5320 - UINT_PTR ucchMax); 5321 -extern(Windows) export BOOL IsBadStringPtrW( 5322 - LPCWSTR lpsz, 5323 - UINT_PTR ucchMax); 5324 -// #ifdef UNICODE 5325 -// #... 5326 -// #else 5327 -alias IsBadStringPtrA IsBadStringPtr; 5328 -// #endif // !UNICODE 5329 - 5330 -extern(Windows) export BOOL LookupAccountSidA( 5331 - LPCSTR lpSystemName, 5332 - PSID Sid, 5333 - LPSTR Name, 5334 - LPDWORD cbName, 5335 - LPSTR ReferencedDomainName, 5336 - LPDWORD cbReferencedDomainName, 5337 - PSID_NAME_USE peUse); 5338 -extern(Windows) export BOOL LookupAccountSidW( 5339 - LPCWSTR lpSystemName, 5340 - PSID Sid, 5341 - LPWSTR Name, 5342 - LPDWORD cbName, 5343 - LPWSTR ReferencedDomainName, 5344 - LPDWORD cbReferencedDomainName, 5345 - PSID_NAME_USE peUse); 5346 -// #ifdef UNICODE 5347 -// #... 5348 -// #else 5349 -alias LookupAccountSidA LookupAccountSid; 5350 -// #endif // !UNICODE 5351 - 5352 -extern(Windows) export BOOL LookupAccountNameA( 5353 - LPCSTR lpSystemName, 5354 - LPCSTR lpAccountName, 5355 - PSID Sid, 5356 - LPDWORD cbSid, 5357 - LPSTR ReferencedDomainName, 5358 - LPDWORD cbReferencedDomainName, 5359 - PSID_NAME_USE peUse); 5360 -extern(Windows) export BOOL LookupAccountNameW( 5361 - LPCWSTR lpSystemName, 5362 - LPCWSTR lpAccountName, 5363 - PSID Sid, 5364 - LPDWORD cbSid, 5365 - LPWSTR ReferencedDomainName, 5366 - LPDWORD cbReferencedDomainName, 5367 - PSID_NAME_USE peUse); 5368 -// #ifdef UNICODE 5369 -// #... 5370 -// #else 5371 -alias LookupAccountNameA LookupAccountName; 5372 -// #endif // !UNICODE 5373 - 5374 -extern(Windows) export BOOL LookupPrivilegeValueA( 5375 - LPCSTR lpSystemName, 5376 - LPCSTR lpName, 5377 - PLUID lpLuid); 5378 -extern(Windows) export BOOL LookupPrivilegeValueW( 5379 - LPCWSTR lpSystemName, 5380 - LPCWSTR lpName, 5381 - PLUID lpLuid); 5382 -// #ifdef UNICODE 5383 -// #... 5384 -// #else 5385 -alias LookupPrivilegeValueA LookupPrivilegeValue; 5386 -// #endif // !UNICODE 5387 - 5388 -extern(Windows) export BOOL LookupPrivilegeNameA( 5389 - LPCSTR lpSystemName, 5390 - PLUID lpLuid, 5391 - LPSTR lpName, 5392 - LPDWORD cbName); 5393 -extern(Windows) export BOOL LookupPrivilegeNameW( 5394 - LPCWSTR lpSystemName, 5395 - PLUID lpLuid, 5396 - LPWSTR lpName, 5397 - LPDWORD cbName); 5398 -// #ifdef UNICODE 5399 -// #... 5400 -// #else 5401 -alias LookupPrivilegeNameA LookupPrivilegeName; 5402 -// #endif // !UNICODE 5403 - 5404 -extern(Windows) export BOOL LookupPrivilegeDisplayNameA( 5405 - LPCSTR lpSystemName, 5406 - LPCSTR lpName, 5407 - LPSTR lpDisplayName, 5408 - LPDWORD cbDisplayName, 5409 - LPDWORD lpLanguageId); 5410 -extern(Windows) export BOOL LookupPrivilegeDisplayNameW( 5411 - LPCWSTR lpSystemName, 5412 - LPCWSTR lpName, 5413 - LPWSTR lpDisplayName, 5414 - LPDWORD cbDisplayName, 5415 - LPDWORD lpLanguageId); 5416 -// #ifdef UNICODE 5417 -// #... 5418 -// #else 5419 -alias LookupPrivilegeDisplayNameA LookupPrivilegeDisplayName; 5420 -// #endif // !UNICODE 5421 - 5422 -extern(Windows) export BOOL AllocateLocallyUniqueId( 5423 - PLUID Luid); 5424 - 5425 -extern(Windows) export BOOL BuildCommDCBA( 5426 - LPCSTR lpDef, 5427 - LPDCB lpDCB); 5428 -extern(Windows) export BOOL BuildCommDCBW( 5429 - LPCWSTR lpDef, 5430 - LPDCB lpDCB); 5431 -// #ifdef UNICODE 5432 -// #... 5433 -// #else 5434 -alias BuildCommDCBA BuildCommDCB; 5435 -// #endif // !UNICODE 5436 - 5437 -extern(Windows) export BOOL BuildCommDCBAndTimeoutsA( 5438 - LPCSTR lpDef, 5439 - LPDCB lpDCB, 5440 - LPCOMMTIMEOUTS lpCommTimeouts); 5441 -extern(Windows) export BOOL BuildCommDCBAndTimeoutsW( 5442 - LPCWSTR lpDef, 5443 - LPDCB lpDCB, 5444 - LPCOMMTIMEOUTS lpCommTimeouts); 5445 -// #ifdef UNICODE 5446 -// #... 5447 -// #else 5448 -alias BuildCommDCBAndTimeoutsA BuildCommDCBAndTimeouts; 5449 -// #endif // !UNICODE 5450 - 5451 -extern(Windows) export BOOL CommConfigDialogA( 5452 - LPCSTR lpszName, 5453 - HWND hWnd, 5454 - LPCOMMCONFIG lpCC); 5455 -extern(Windows) export BOOL CommConfigDialogW( 5456 - LPCWSTR lpszName, 5457 - HWND hWnd, 5458 - LPCOMMCONFIG lpCC); 5459 -// #ifdef UNICODE 5460 -// #... 5461 -// #else 5462 -alias CommConfigDialogA CommConfigDialog; 5463 -// #endif // !UNICODE 5464 - 5465 -extern(Windows) export BOOL GetDefaultCommConfigA( 5466 - LPCSTR lpszName, 5467 - LPCOMMCONFIG lpCC, 5468 - LPDWORD lpdwSize); 5469 -extern(Windows) export BOOL GetDefaultCommConfigW( 5470 - LPCWSTR lpszName, 5471 - LPCOMMCONFIG lpCC, 5472 - LPDWORD lpdwSize); 5473 -// #ifdef UNICODE 5474 -// #... 5475 -// #else 5476 -alias GetDefaultCommConfigA GetDefaultCommConfig; 5477 -// #endif // !UNICODE 5478 - 5479 -extern(Windows) export BOOL SetDefaultCommConfigA( 5480 - LPCSTR lpszName, 5481 - LPCOMMCONFIG lpCC, 5482 - DWORD dwSize); 5483 -extern(Windows) export BOOL SetDefaultCommConfigW( 5484 - LPCWSTR lpszName, 5485 - LPCOMMCONFIG lpCC, 5486 - DWORD dwSize); 5487 -// #ifdef UNICODE 5488 -// #... 5489 -// #else 5490 -alias SetDefaultCommConfigA SetDefaultCommConfig; 5491 -// #endif // !UNICODE 5492 - 5493 -// #ifndef _MAC 5494 -enum : uint { MAX_COMPUTERNAME_LENGTH = 15 } 5495 -// #else 5496 -// #... 5497 -// #endif 5498 - 5499 -extern(Windows) export BOOL GetComputerNameA( 5500 - LPSTR lpBuffer, 5501 - LPDWORD nSize); 5502 -extern(Windows) export BOOL GetComputerNameW( 5503 - LPWSTR lpBuffer, 5504 - LPDWORD nSize); 5505 -// #ifdef UNICODE 5506 -// #... 5507 -// #else 5508 -alias GetComputerNameA GetComputerName; 5509 -// #endif // !UNICODE 5510 - 5511 -extern(Windows) export BOOL SetComputerNameA( 5512 - LPCSTR lpComputerName); 5513 -extern(Windows) export BOOL SetComputerNameW( 5514 - LPCWSTR lpComputerName); 5515 -// #ifdef UNICODE 5516 -// #... 5517 -// #else 5518 -alias SetComputerNameA SetComputerName; 5519 -// #endif // !UNICODE 5520 - 5521 -// #if (_WIN32_WINNT >= 0x0500) 5522 - 5523 -alias int _COMPUTER_NAME_FORMAT; 5524 -enum { 5525 - ComputerNameNetBIOS, 5526 - ComputerNameDnsHostname, 5527 - ComputerNameDnsDomain, 5528 - ComputerNameDnsFullyQualified, 5529 - ComputerNamePhysicalNetBIOS, 5530 - ComputerNamePhysicalDnsHostname, 5531 - ComputerNamePhysicalDnsDomain, 5532 - ComputerNamePhysicalDnsFullyQualified, 5533 - ComputerNameMax, 5534 -} 5535 -alias _COMPUTER_NAME_FORMAT COMPUTER_NAME_FORMAT; 5536 - 5537 -extern(Windows) export BOOL GetComputerNameExA( 5538 - COMPUTER_NAME_FORMAT NameType, 5539 - LPSTR lpBuffer, 5540 - LPDWORD nSize); 5541 -extern(Windows) export BOOL GetComputerNameExW( 5542 - COMPUTER_NAME_FORMAT NameType, 5543 - LPWSTR lpBuffer, 5544 - LPDWORD nSize); 5545 -// #ifdef UNICODE 5546 -// #... 5547 -// #else 5548 -alias GetComputerNameExA GetComputerNameEx; 5549 -// #endif // !UNICODE 5550 - 5551 -extern(Windows) export BOOL SetComputerNameExA( 5552 - COMPUTER_NAME_FORMAT NameType, 5553 - LPCSTR lpBuffer); 5554 -extern(Windows) export BOOL SetComputerNameExW( 5555 - COMPUTER_NAME_FORMAT NameType, 5556 - LPCWSTR lpBuffer); 5557 -// #ifdef UNICODE 5558 -// #... 5559 -// #else 5560 -alias SetComputerNameExA SetComputerNameEx; 5561 -// #endif // !UNICODE 5562 - 5563 -extern(Windows) export DWORD AddLocalAlternateComputerNameA( 5564 - LPCSTR lpDnsFQHostname, 5565 - ULONG ulFlags); 5566 -extern(Windows) export DWORD AddLocalAlternateComputerNameW( 5567 - LPCWSTR lpDnsFQHostname, 5568 - ULONG ulFlags); 5569 -// #ifdef UNICODE 5570 -// #... 5571 -// #else 5572 -alias AddLocalAlternateComputerNameA AddLocalAlternateComputerName; 5573 -// #endif // !UNICODE 5574 - 5575 -extern(Windows) export DWORD RemoveLocalAlternateComputerNameA( 5576 - LPCSTR lpAltDnsFQHostname, 5577 - ULONG ulFlags); 5578 -extern(Windows) export DWORD RemoveLocalAlternateComputerNameW( 5579 - LPCWSTR lpAltDnsFQHostname, 5580 - ULONG ulFlags); 5581 -// #ifdef UNICODE 5582 -// #... 5583 -// #else 5584 -alias RemoveLocalAlternateComputerNameA RemoveLocalAlternateComputerName; 5585 -// #endif // !UNICODE 5586 - 5587 -extern(Windows) export DWORD SetLocalPrimaryComputerNameA( 5588 - LPCSTR lpAltDnsFQHostname, 5589 - ULONG ulFlags); 5590 -extern(Windows) export DWORD SetLocalPrimaryComputerNameW( 5591 - LPCWSTR lpAltDnsFQHostname, 5592 - ULONG ulFlags); 5593 -// #ifdef UNICODE 5594 -// #... 5595 -// #else 5596 -alias SetLocalPrimaryComputerNameA SetLocalPrimaryComputerName; 5597 -// #endif // !UNICODE 5598 - 5599 -alias int _COMPUTER_NAME_TYPE; 5600 -enum { 5601 - PrimaryComputerName, 5602 - AlternateComputerNames, 5603 - AllComputerNames, 5604 - ComputerNameTypeMax, 5605 -} 5606 -alias _COMPUTER_NAME_TYPE COMPUTER_NAME_TYPE; 5607 - 5608 -extern(Windows) export DWORD EnumerateLocalComputerNamesA( 5609 - COMPUTER_NAME_TYPE NameType, 5610 - ULONG ulFlags, 5611 - LPSTR lpDnsFQHostname, 5612 - LPDWORD nSize); 5613 -extern(Windows) export DWORD EnumerateLocalComputerNamesW( 5614 - COMPUTER_NAME_TYPE NameType, 5615 - ULONG ulFlags, 5616 - LPWSTR lpDnsFQHostname, 5617 - LPDWORD nSize); 5618 -// #ifdef UNICODE 5619 -// #... 5620 -// #else 5621 -alias EnumerateLocalComputerNamesA EnumerateLocalComputerNames; 5622 -// #endif // !UNICODE 5623 - 5624 -extern(Windows) export BOOL DnsHostnameToComputerNameA( 5625 - LPCSTR Hostname, 5626 - LPSTR ComputerName, 5627 - LPDWORD nSize); 5628 -extern(Windows) export BOOL DnsHostnameToComputerNameW( 5629 - LPCWSTR Hostname, 5630 - LPWSTR ComputerName, 5631 - LPDWORD nSize); 5632 -// #ifdef UNICODE 5633 -// #... 5634 -// #else 5635 -alias DnsHostnameToComputerNameA DnsHostnameToComputerName; 5636 -// #endif // !UNICODE 5637 - 5638 -// #endif // _WIN32_WINNT 5639 - 5640 -extern(Windows) export BOOL GetUserNameA( 5641 - LPSTR lpBuffer, 5642 - LPDWORD nSize); 5643 -extern(Windows) export BOOL GetUserNameW( 5644 - LPWSTR lpBuffer, 5645 - LPDWORD nSize); 5646 -// #ifdef UNICODE 5647 -// #... 5648 -// #else 5649 -alias GetUserNameA GetUserName; 5650 -// #endif // !UNICODE 5651 - 5652 -enum : uint { LOGON32_LOGON_INTERACTIVE = 2 } 5653 -enum : uint { LOGON32_LOGON_NETWORK = 3 } 5654 -enum : uint { LOGON32_LOGON_BATCH = 4 } 5655 -enum : uint { LOGON32_LOGON_SERVICE = 5 } 5656 -enum : uint { LOGON32_LOGON_UNLOCK = 7 } 5657 -// #if(_WIN32_WINNT >= 0x0500) 5658 -enum : uint { LOGON32_LOGON_NETWORK_CLEARTEXT = 8 } 5659 -enum : uint { LOGON32_LOGON_NEW_CREDENTIALS = 9 } 5660 -// #endif // (_WIN32_WINNT >= 0x0500) 5661 - 5662 -enum : uint { LOGON32_PROVIDER_DEFAULT = 0 } 5663 -enum : uint { LOGON32_PROVIDER_WINNT35 = 1 } 5664 -// #if(_WIN32_WINNT >= 0x0400) 5665 -enum : uint { LOGON32_PROVIDER_WINNT40 = 2 } 5666 -// #endif /* _WIN32_WINNT >= 0x0400 */ 5667 -// #if(_WIN32_WINNT >= 0x0500) 5668 -enum : uint { LOGON32_PROVIDER_WINNT50 = 3 } 5669 -// #endif // (_WIN32_WINNT >= 0x0500) 5670 - 5671 -extern(Windows) export BOOL LogonUserA( 5672 - LPSTR lpszUsername, 5673 - LPSTR lpszDomain, 5674 - LPSTR lpszPassword, 5675 - DWORD dwLogonType, 5676 - DWORD dwLogonProvider, 5677 - PHANDLE phToken); 5678 -extern(Windows) export BOOL LogonUserW( 5679 - LPWSTR lpszUsername, 5680 - LPWSTR lpszDomain, 5681 - LPWSTR lpszPassword, 5682 - DWORD dwLogonType, 5683 - DWORD dwLogonProvider, 5684 - PHANDLE phToken); 5685 -// #ifdef UNICODE 5686 -// #... 5687 -// #else 5688 -alias LogonUserA LogonUser; 5689 -// #endif // !UNICODE 5690 - 5691 -extern(Windows) export BOOL LogonUserExA( 5692 - LPSTR lpszUsername, 5693 - LPSTR lpszDomain, 5694 - LPSTR lpszPassword, 5695 - DWORD dwLogonType, 5696 - DWORD dwLogonProvider, 5697 - PHANDLE phToken , 5698 - PSID *ppLogonSid , 5699 - PVOID *ppProfileBuffer , 5700 - LPDWORD pdwProfileLength , 5701 - PQUOTA_LIMITS pQuotaLimits ); 5702 -extern(Windows) export BOOL LogonUserExW( 5703 - LPWSTR lpszUsername, 5704 - LPWSTR lpszDomain, 5705 - LPWSTR lpszPassword, 5706 - DWORD dwLogonType, 5707 - DWORD dwLogonProvider, 5708 - PHANDLE phToken , 5709 - PSID *ppLogonSid , 5710 - PVOID *ppProfileBuffer , 5711 - LPDWORD pdwProfileLength , 5712 - PQUOTA_LIMITS pQuotaLimits ); 5713 -// #ifdef UNICODE 5714 -// #... 5715 -// #else 5716 -alias LogonUserExA LogonUserEx; 5717 -// #endif // !UNICODE 5718 - 5719 -extern(Windows) export BOOL ImpersonateLoggedOnUser( 5720 - HANDLE hToken); 5721 - 5722 -extern(Windows) export BOOL CreateProcessAsUserA( 5723 - HANDLE hToken, 5724 - LPCSTR lpApplicationName, 5725 - LPSTR lpCommandLine, 5726 - LPSECURITY_ATTRIBUTES lpProcessAttributes, 5727 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 5728 - BOOL bInheritHandles, 5729 - DWORD dwCreationFlags, 5730 - LPVOID lpEnvironment, 5731 - LPCSTR lpCurrentDirectory, 5732 - LPSTARTUPINFOA lpStartupInfo, 5733 - LPPROCESS_INFORMATION lpProcessInformation); 5734 -extern(Windows) export BOOL CreateProcessAsUserW( 5735 - HANDLE hToken, 5736 - LPCWSTR lpApplicationName, 5737 - LPWSTR lpCommandLine, 5738 - LPSECURITY_ATTRIBUTES lpProcessAttributes, 5739 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 5740 - BOOL bInheritHandles, 5741 - DWORD dwCreationFlags, 5742 - LPVOID lpEnvironment, 5743 - LPCWSTR lpCurrentDirectory, 5744 - LPSTARTUPINFOW lpStartupInfo, 5745 - LPPROCESS_INFORMATION lpProcessInformation); 5746 -// #ifdef UNICODE 5747 -// #... 5748 -// #else 5749 -alias CreateProcessAsUserA CreateProcessAsUser; 5750 -// #endif // !UNICODE 5751 - 5752 -// #if(_WIN32_WINNT >= 0x0500) 5753 - 5754 -enum : uint { LOGON_WITH_PROFILE = 0x00000001 } 5755 -enum : uint { LOGON_NETCREDENTIALS_ONLY = 0x00000002 } 5756 - 5757 -extern(Windows) export BOOL CreateProcessWithLogonW( 5758 - LPCWSTR lpUsername, 5759 - LPCWSTR lpDomain, 5760 - LPCWSTR lpPassword, 5761 - DWORD dwLogonFlags, 5762 - LPCWSTR lpApplicationName, 5763 - LPWSTR lpCommandLine, 5764 - DWORD dwCreationFlags, 5765 - LPVOID lpEnvironment, 5766 - LPCWSTR lpCurrentDirectory, 5767 - LPSTARTUPINFOW lpStartupInfo, 5768 - LPPROCESS_INFORMATION lpProcessInformation); 5769 - 5770 -// #endif // (_WIN32_WINNT >= 0x0500) 5771 - 5772 -extern(Windows) export BOOL ImpersonateAnonymousToken( 5773 - HANDLE ThreadHandle); 5774 - 5775 -extern(Windows) export BOOL DuplicateTokenEx( 5776 - HANDLE hExistingToken, 5777 - DWORD dwDesiredAccess, 5778 - LPSECURITY_ATTRIBUTES lpTokenAttributes, 5779 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, 5780 - TOKEN_TYPE TokenType, 5781 - PHANDLE phNewToken); 5782 - 5783 -extern(Windows) export BOOL CreateRestrictedToken( 5784 - HANDLE ExistingTokenHandle, 5785 - DWORD Flags, 5786 - DWORD DisableSidCount, 5787 - PSID_AND_ATTRIBUTES SidsToDisable , 5788 - DWORD DeletePrivilegeCount, 5789 - PLUID_AND_ATTRIBUTES PrivilegesToDelete , 5790 - DWORD RestrictedSidCount, 5791 - PSID_AND_ATTRIBUTES SidsToRestrict , 5792 - PHANDLE NewTokenHandle); 5793 - 5794 -extern(Windows) export BOOL IsTokenRestricted( 5795 - HANDLE TokenHandle); 5796 - 5797 -extern(Windows) export BOOL IsTokenUntrusted( 5798 - HANDLE TokenHandle); 5799 - 5800 -extern(Windows) export BOOL CheckTokenMembership( 5801 - HANDLE TokenHandle , 5802 - PSID SidToCheck, 5803 - PBOOL IsMember); 5804 - 5805 -// #if (_WIN32_WINNT >= 0x0500) 5806 - 5807 -alias WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK; 5808 - 5809 -extern(Windows) export BOOL RegisterWaitForSingleObject( 5810 - PHANDLE phNewWaitObject, 5811 - HANDLE hObject, 5812 - WAITORTIMERCALLBACK Callback, 5813 - PVOID Context, 5814 - ULONG dwMilliseconds, 5815 - ULONG dwFlags); 5816 - 5817 -extern(Windows) export HANDLE RegisterWaitForSingleObjectEx( 5818 - HANDLE hObject, 5819 - WAITORTIMERCALLBACK Callback, 5820 - PVOID Context, 5821 - ULONG dwMilliseconds, 5822 - ULONG dwFlags); 5823 - 5824 -extern(Windows) export BOOL UnregisterWait( 5825 - HANDLE WaitHandle); 5826 - 5827 -extern(Windows) export BOOL UnregisterWaitEx( 5828 - HANDLE WaitHandle, 5829 - HANDLE CompletionEvent); 5830 - 5831 -extern(Windows) export BOOL QueueUserWorkItem( 5832 - LPTHREAD_START_ROUTINE Function, 5833 - PVOID Context, 5834 - ULONG Flags); 5835 - 5836 -extern(Windows) export BOOL BindIoCompletionCallback( 5837 - HANDLE FileHandle, 5838 - LPOVERLAPPED_COMPLETION_ROUTINE Function, 5839 - ULONG Flags); 5840 - 5841 -extern(Windows) export HANDLE CreateTimerQueue(); 5842 - 5843 -extern(Windows) export BOOL CreateTimerQueueTimer( 5844 - PHANDLE phNewTimer, 5845 - HANDLE TimerQueue, 5846 - WAITORTIMERCALLBACK Callback, 5847 - PVOID Parameter, 5848 - DWORD DueTime, 5849 - DWORD Period, 5850 - ULONG Flags); 5851 - 5852 -extern(Windows) export BOOL ChangeTimerQueueTimer( 5853 - HANDLE TimerQueue, 5854 - HANDLE Timer, 5855 - ULONG DueTime, 5856 - ULONG Period); 5857 - 5858 -extern(Windows) export BOOL DeleteTimerQueueTimer( 5859 - HANDLE TimerQueue, 5860 - HANDLE Timer, 5861 - HANDLE CompletionEvent); 5862 - 5863 -extern(Windows) export BOOL DeleteTimerQueueEx( 5864 - HANDLE TimerQueue, 5865 - HANDLE CompletionEvent); 5866 - 5867 -extern(Windows) export HANDLE SetTimerQueueTimer( 5868 - HANDLE TimerQueue, 5869 - WAITORTIMERCALLBACK Callback, 5870 - PVOID Parameter, 5871 - DWORD DueTime, 5872 - DWORD Period, 5873 - BOOL PreferIo); 5874 - 5875 -extern(Windows) export BOOL CancelTimerQueueTimer( 5876 - HANDLE TimerQueue, 5877 - HANDLE Timer); 5878 - 5879 -extern(Windows) export BOOL DeleteTimerQueue( 5880 - HANDLE TimerQueue); 5881 - 5882 -// #endif // _WIN32_WINNT 5883 - 5884 -// #if(_WIN32_WINNT >= 0x0400) 5885 - 5886 -enum : uint { HW_PROFILE_GUIDLEN = 39 } 5887 -enum : uint { MAX_PROFILE_LEN = 80 } 5888 - 5889 -enum : uint { DOCKINFO_UNDOCKED = 0x1 } 5890 -enum : uint { DOCKINFO_DOCKED = 0x2 } 5891 -enum : uint { DOCKINFO_USER_SUPPLIED = 0x4 } 5892 -enum : uint { DOCKINFO_USER_UNDOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED } 5893 -enum : uint { DOCKINFO_USER_DOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED } 5894 - 5895 -struct tagHW_PROFILE_INFOA { 5896 - DWORD dwDockInfo; 5897 - CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; 5898 - CHAR szHwProfileName[MAX_PROFILE_LEN]; 5899 -} 5900 -alias tagHW_PROFILE_INFOA HW_PROFILE_INFOA; 5901 -alias tagHW_PROFILE_INFOA* LPHW_PROFILE_INFOA; 5902 - 5903 -struct tagHW_PROFILE_INFOW { 5904 - DWORD dwDockInfo; 5905 - WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; 5906 - WCHAR szHwProfileName[MAX_PROFILE_LEN]; 5907 -} 5908 -alias tagHW_PROFILE_INFOW HW_PROFILE_INFOW; 5909 -alias tagHW_PROFILE_INFOW* LPHW_PROFILE_INFOW; 5910 - 5911 -// #ifdef UNICODE 5912 -// ... 5913 -// #else 5914 -alias HW_PROFILE_INFOA HW_PROFILE_INFO; 5915 -alias LPHW_PROFILE_INFOA LPHW_PROFILE_INFO; 5916 -// #endif // UNICODE 5917 - 5918 -extern(Windows) export BOOL GetCurrentHwProfileA( 5919 - LPHW_PROFILE_INFOA lpHwProfileInfo); 5920 -extern(Windows) export BOOL GetCurrentHwProfileW( 5921 - LPHW_PROFILE_INFOW lpHwProfileInfo); 5922 -// #ifdef UNICODE 5923 -// #... 5924 -// #else 5925 -alias GetCurrentHwProfileA GetCurrentHwProfile; 5926 -// #endif // !UNICODE 5927 -// #endif /* _WIN32_WINNT >= 0x0400 */ 5928 - 5929 -extern(Windows) export BOOL QueryPerformanceCounter( 5930 - LARGE_INTEGER *lpPerformanceCount); 5931 - 5932 -extern(Windows) export BOOL QueryPerformanceFrequency( 5933 - LARGE_INTEGER *lpFrequency); 5934 - 5935 -extern(Windows) export BOOL GetVersionExA( 5936 - LPOSVERSIONINFOA lpVersionInformation); 5937 -extern(Windows) export BOOL GetVersionExW( 5938 - LPOSVERSIONINFOW lpVersionInformation); 5939 -// #ifdef UNICODE 5940 -// #... 5941 -// #else 5942 -alias GetVersionExA GetVersionEx; 5943 -// #endif // !UNICODE 5944 - 5945 -extern(Windows) export BOOL VerifyVersionInfoA( 5946 - LPOSVERSIONINFOEXA lpVersionInformation, 5947 - DWORD dwTypeMask, 5948 - DWORDLONG dwlConditionMask); 5949 -extern(Windows) export BOOL VerifyVersionInfoW( 5950 - LPOSVERSIONINFOEXW lpVersionInformation, 5951 - DWORD dwTypeMask, 5952 - DWORDLONG dwlConditionMask); 5953 -// #ifdef UNICODE 5954 -// #... 5955 -// #else 5956 -alias VerifyVersionInfoA VerifyVersionInfo; 5957 -// #endif // !UNICODE 5958 - 5959 -import win32.ansi.winerror; 5960 - 5961 -enum : uint { TC_NORMAL = 0 } 5962 -enum : uint { TC_HARDERR = 1 } 5963 -enum : uint { TC_GP_TRAP = 2 } 5964 -enum : uint { TC_SIGNAL = 3 } 5965 - 5966 -// #if(WINVER >= 0x0400) 5967 - 5968 -enum : uint { AC_LINE_OFFLINE = 0x00 } 5969 -enum : uint { AC_LINE_ONLINE = 0x01 } 5970 -enum : uint { AC_LINE_BACKUP_POWER = 0x02 } 5971 -enum : uint { AC_LINE_UNKNOWN = 0xFF } 5972 - 5973 -enum : uint { BATTERY_FLAG_HIGH = 0x01 } 5974 -enum : uint { BATTERY_FLAG_LOW = 0x02 } 5975 -enum : uint { BATTERY_FLAG_CRITICAL = 0x04 } 5976 -enum : uint { BATTERY_FLAG_CHARGING = 0x08 } 5977 -enum : uint { BATTERY_FLAG_NO_BATTERY = 0x80 } 5978 -enum : uint { BATTERY_FLAG_UNKNOWN = 0xFF } 5979 - 5980 -enum : uint { BATTERY_PERCENTAGE_UNKNOWN = 0xFF } 5981 - 5982 -enum : uint { BATTERY_LIFE_UNKNOWN = 0xFFFFFFFF } 5983 - 5984 -struct _SYSTEM_POWER_STATUS { 5985 - BYTE ACLineStatus; 5986 - BYTE BatteryFlag; 5987 - BYTE BatteryLifePercent; 5988 - BYTE Reserved1; 5989 - DWORD BatteryLifeTime; 5990 - DWORD BatteryFullLifeTime; 5991 -} 5992 -alias _SYSTEM_POWER_STATUS SYSTEM_POWER_STATUS; 5993 -alias _SYSTEM_POWER_STATUS* LPSYSTEM_POWER_STATUS; 5994 - 5995 -extern(Windows) export BOOL GetSystemPowerStatus( 5996 - LPSYSTEM_POWER_STATUS lpSystemPowerStatus); 5997 - 5998 -extern(Windows) export BOOL SetSystemPowerState( 5999 - BOOL fSuspend, 6000 - BOOL fForce); 6001 - 6002 -// #endif /* WINVER >= 0x0400 */ 6003 - 6004 -// #if (_WIN32_WINNT >= 0x0500) 6005 - 6006 -extern(Windows) export BOOL AllocateUserPhysicalPages( 6007 - HANDLE hProcess, 6008 - PULONG_PTR NumberOfPages, 6009 - PULONG_PTR PageArray); 6010 - 6011 -extern(Windows) export BOOL FreeUserPhysicalPages( 6012 - HANDLE hProcess, 6013 - PULONG_PTR NumberOfPages, 6014 - PULONG_PTR PageArray); 6015 - 6016 -extern(Windows) export BOOL MapUserPhysicalPages( 6017 - PVOID VirtualAddress, 6018 - ULONG_PTR NumberOfPages, 6019 - PULONG_PTR PageArray ); 6020 - 6021 -extern(Windows) export BOOL MapUserPhysicalPagesScatter( 6022 - PVOID *VirtualAddresses, 6023 - ULONG_PTR NumberOfPages, 6024 - PULONG_PTR PageArray ); 6025 - 6026 -extern(Windows) export HANDLE CreateJobObjectA( 6027 - LPSECURITY_ATTRIBUTES lpJobAttributes, 6028 - LPCSTR lpName); 6029 -extern(Windows) export HANDLE CreateJobObjectW( 6030 - LPSECURITY_ATTRIBUTES lpJobAttributes, 6031 - LPCWSTR lpName); 6032 -// #ifdef UNICODE 6033 -// #... 6034 -// #else 6035 -alias CreateJobObjectA CreateJobObject; 6036 -// #endif // !UNICODE 6037 - 6038 -extern(Windows) export HANDLE OpenJobObjectA( 6039 - DWORD dwDesiredAccess, 6040 - BOOL bInheritHandle, 6041 - LPCSTR lpName); 6042 -extern(Windows) export HANDLE OpenJobObjectW( 6043 - DWORD dwDesiredAccess, 6044 - BOOL bInheritHandle, 6045 - LPCWSTR lpName); 6046 -// #ifdef UNICODE 6047 -// #... 6048 -// #else 6049 -alias OpenJobObjectA OpenJobObject; 6050 -// #endif // !UNICODE 6051 - 6052 -extern(Windows) export BOOL AssignProcessToJobObject( 6053 - HANDLE hJob, 6054 - HANDLE hProcess); 6055 - 6056 -extern(Windows) export BOOL TerminateJobObject( 6057 - HANDLE hJob, 6058 - UINT uExitCode); 6059 - 6060 -extern(Windows) export BOOL QueryInformationJobObject( 6061 - HANDLE hJob, 6062 - JOBOBJECTINFOCLASS JobObjectInformationClass, 6063 - LPVOID lpJobObjectInformation, 6064 - DWORD cbJobObjectInformationLength, 6065 - LPDWORD lpReturnLength); 6066 - 6067 -extern(Windows) export BOOL SetInformationJobObject( 6068 - HANDLE hJob, 6069 - JOBOBJECTINFOCLASS JobObjectInformationClass, 6070 - LPVOID lpJobObjectInformation, 6071 - DWORD cbJobObjectInformationLength); 6072 - 6073 -extern(Windows) export BOOL IsProcessInJob( 6074 - HANDLE ProcessHandle, 6075 - HANDLE JobHandle, 6076 - PBOOL Result); 6077 - 6078 -extern(Windows) export BOOL CreateJobSet( 6079 - ULONG NumJob, 6080 - PJOB_SET_ARRAY UserJobSet, 6081 - ULONG Flags); 6082 - 6083 -extern(Windows) export PVOID AddVectoredExceptionHandler( 6084 - ULONG FirstHandler, 6085 - PVECTORED_EXCEPTION_HANDLER VectoredHandler); 6086 - 6087 -extern(Windows) export ULONG RemoveVectoredExceptionHandler( 6088 - PVOID VectoredHandlerHandle); 6089 - 6090 -extern(Windows) export HANDLE FindFirstVolumeA( 6091 - LPSTR lpszVolumeName, 6092 - DWORD cchBufferLength); 6093 -extern(Windows) export HANDLE FindFirstVolumeW( 6094 - LPWSTR lpszVolumeName, 6095 - DWORD cchBufferLength); 6096 -// #ifdef UNICODE 6097 -// #... 6098 -// #else 6099 -alias FindFirstVolumeA FindFirstVolume; 6100 -// #endif // !UNICODE 6101 - 6102 -extern(Windows) export BOOL FindNextVolumeA( 6103 - HANDLE hFindVolume, 6104 - LPSTR lpszVolumeName, 6105 - DWORD cchBufferLength); 6106 -extern(Windows) export BOOL FindNextVolumeW( 6107 - HANDLE hFindVolume, 6108 - LPWSTR lpszVolumeName, 6109 - DWORD cchBufferLength); 6110 -// #ifdef UNICODE 6111 -// #... 6112 -// #else 6113 -alias FindNextVolumeA FindNextVolume; 6114 -// #endif // !UNICODE 6115 - 6116 -extern(Windows) export BOOL FindVolumeClose( 6117 - HANDLE hFindVolume); 6118 - 6119 -extern(Windows) export HANDLE FindFirstVolumeMountPointA( 6120 - LPCSTR lpszRootPathName, 6121 - LPSTR lpszVolumeMountPoint, 6122 - DWORD cchBufferLength); 6123 -extern(Windows) export HANDLE FindFirstVolumeMountPointW( 6124 - LPCWSTR lpszRootPathName, 6125 - LPWSTR lpszVolumeMountPoint, 6126 - DWORD cchBufferLength); 6127 -// #ifdef UNICODE 6128 -// #... 6129 -// #else 6130 -alias FindFirstVolumeMountPointA FindFirstVolumeMountPoint; 6131 -// #endif // !UNICODE 6132 - 6133 -extern(Windows) export BOOL FindNextVolumeMountPointA( 6134 - HANDLE hFindVolumeMountPoint, 6135 - LPSTR lpszVolumeMountPoint, 6136 - DWORD cchBufferLength); 6137 -extern(Windows) export BOOL FindNextVolumeMountPointW( 6138 - HANDLE hFindVolumeMountPoint, 6139 - LPWSTR lpszVolumeMountPoint, 6140 - DWORD cchBufferLength); 6141 -// #ifdef UNICODE 6142 -// #... 6143 -// #else 6144 -alias FindNextVolumeMountPointA FindNextVolumeMountPoint; 6145 -// #endif // !UNICODE 6146 - 6147 -extern(Windows) export BOOL FindVolumeMountPointClose( 6148 - HANDLE hFindVolumeMountPoint); 6149 - 6150 -extern(Windows) export BOOL SetVolumeMountPointA( 6151 - LPCSTR lpszVolumeMountPoint, 6152 - LPCSTR lpszVolumeName); 6153 -extern(Windows) export BOOL SetVolumeMountPointW( 6154 - LPCWSTR lpszVolumeMountPoint, 6155 - LPCWSTR lpszVolumeName); 6156 -// #ifdef UNICODE 6157 -// #... 6158 -// #else 6159 -alias SetVolumeMountPointA SetVolumeMountPoint; 6160 -// #endif // !UNICODE 6161 - 6162 -extern(Windows) export BOOL DeleteVolumeMountPointA( 6163 - LPCSTR lpszVolumeMountPoint); 6164 -extern(Windows) export BOOL DeleteVolumeMountPointW( 6165 - LPCWSTR lpszVolumeMountPoint); 6166 -// #ifdef UNICODE 6167 -// #... 6168 -// #else 6169 -alias DeleteVolumeMountPointA DeleteVolumeMountPoint; 6170 -// #endif // !UNICODE 6171 - 6172 -extern(Windows) export BOOL GetVolumeNameForVolumeMountPointA( 6173 - LPCSTR lpszVolumeMountPoint, 6174 - LPSTR lpszVolumeName, 6175 - DWORD cchBufferLength); 6176 -extern(Windows) export BOOL GetVolumeNameForVolumeMountPointW( 6177 - LPCWSTR lpszVolumeMountPoint, 6178 - LPWSTR lpszVolumeName, 6179 - DWORD cchBufferLength); 6180 -// #ifdef UNICODE 6181 -// #... 6182 -// #else 6183 -alias GetVolumeNameForVolumeMountPointA GetVolumeNameForVolumeMountPoint; 6184 -// #endif // !UNICODE 6185 - 6186 -extern(Windows) export BOOL GetVolumePathNameA( 6187 - LPCSTR lpszFileName, 6188 - LPSTR lpszVolumePathName, 6189 - DWORD cchBufferLength); 6190 -extern(Windows) export BOOL GetVolumePathNameW( 6191 - LPCWSTR lpszFileName, 6192 - LPWSTR lpszVolumePathName, 6193 - DWORD cchBufferLength); 6194 -// #ifdef UNICODE 6195 -// #... 6196 -// #else 6197 -alias GetVolumePathNameA GetVolumePathName; 6198 -// #endif // !UNICODE 6199 - 6200 -extern(Windows) export BOOL GetVolumePathNamesForVolumeNameA( 6201 - LPCSTR lpszVolumeName, 6202 - LPSTR lpszVolumePathNames, 6203 - DWORD cchBufferLength, 6204 - PDWORD lpcchReturnLength); 6205 -extern(Windows) export BOOL GetVolumePathNamesForVolumeNameW( 6206 - LPCWSTR lpszVolumeName, 6207 - LPWSTR lpszVolumePathNames, 6208 - DWORD cchBufferLength, 6209 - PDWORD lpcchReturnLength); 6210 -// #ifdef UNICODE 6211 -// #... 6212 -// #else 6213 -alias GetVolumePathNamesForVolumeNameA GetVolumePathNamesForVolumeName; 6214 -// #endif // !UNICODE 6215 - 6216 -// #endif 6217 - 6218 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED 6219 - 6220 -enum : uint { ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x00000001 } 6221 -enum : uint { ACTCTX_FLAG_LANGID_VALID = 0x00000002 } 6222 -enum : uint { ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x00000004 } 6223 -enum : uint { ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x00000008 } 6224 -enum : uint { ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x00000010 } 6225 -enum : uint { ACTCTX_FLAG_APPLICATION_NAME_VALID = 0x00000020 } 6226 -enum : uint { ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF = 0x00000040 } 6227 -enum : uint { ACTCTX_FLAG_HMODULE_VALID = 0x00000080 } 6228 - 6229 -struct tagACTCTXA { 6230 - ULONG cbSize; 6231 - DWORD dwFlags; 6232 - LPCSTR lpSource; 6233 - USHORT wProcessorArchitecture; 6234 - LANGID wLangId; 6235 - LPCSTR lpAssemblyDirectory; 6236 - LPCSTR lpResourceName; 6237 - LPCSTR lpApplicationName; 6238 - HMODULE hModule; 6239 -} 6240 -alias tagACTCTXA ACTCTXA; 6241 -alias tagACTCTXA* PACTCTXA; 6242 - 6243 -struct tagACTCTXW { 6244 - ULONG cbSize; 6245 - DWORD dwFlags; 6246 - LPCWSTR lpSource; 6247 - USHORT wProcessorArchitecture; 6248 - LANGID wLangId; 6249 - LPCWSTR lpAssemblyDirectory; 6250 - LPCWSTR lpResourceName; 6251 - LPCWSTR lpApplicationName; 6252 - HMODULE hModule; 6253 -} 6254 -alias tagACTCTXW ACTCTXW; 6255 -alias tagACTCTXW* PACTCTXW; 6256 - 6257 -// #ifdef UNICODE 6258 -// ... 6259 -// #else 6260 -// skip typedef ACTCTXA ACTCTX; 6261 -alias PACTCTXA PACTCTX; 6262 -// #endif // UNICODE 6263 - 6264 -alias ACTCTXA* PCACTCTXA; 6265 -alias ACTCTXW* PCACTCTXW; 6266 -// #ifdef UNICODE 6267 -// ... 6268 -// #else 6269 -// skip typedef ACTCTXA ACTCTX; 6270 -alias PCACTCTXA PCACTCTX; 6271 -// #endif // UNICODE 6272 - 6273 -// #endif 6274 - 6275 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) 6276 - 6277 -extern(Windows) export HANDLE CreateActCtxA( 6278 - PCACTCTXA pActCtx); 6279 -extern(Windows) export HANDLE CreateActCtxW( 6280 - PCACTCTXW pActCtx); 6281 -// #ifdef UNICODE 6282 -// #... 6283 -// #else 6284 -alias CreateActCtxA CreateActCtx; 6285 -// #endif // !UNICODE 6286 - 6287 -extern(Windows) export VOID AddRefActCtx( 6288 - HANDLE hActCtx); 6289 - 6290 -extern(Windows) export VOID ReleaseActCtx( 6291 - HANDLE hActCtx); 6292 - 6293 -extern(Windows) export BOOL ZombifyActCtx( 6294 - HANDLE hActCtx); 6295 - 6296 -extern(Windows) export BOOL ActivateActCtx( 6297 - HANDLE hActCtx, 6298 - ULONG_PTR *lpCookie); 6299 - 6300 -enum : uint { DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 0x00000001 } 6301 - 6302 -extern(Windows) export BOOL DeactivateActCtx( 6303 - DWORD dwFlags, 6304 - ULONG_PTR ulCookie); 6305 - 6306 -extern(Windows) export BOOL GetCurrentActCtx( 6307 - HANDLE *lphActCtx); 6308 - 6309 -// #endif 6310 - 6311 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED 6312 - 6313 -struct tagACTCTX_SECTION_KEYED_DATA { 6314 - ULONG cbSize; 6315 - ULONG ulDataFormatVersion; 6316 - PVOID lpData; 6317 - ULONG ulLength; 6318 - PVOID lpSectionGlobalData; 6319 - ULONG ulSectionGlobalDataLength; 6320 - PVOID lpSectionBase; 6321 - ULONG ulSectionTotalLength; 6322 - HANDLE hActCtx; 6323 - ULONG ulAssemblyRosterIndex; 6324 -} 6325 -alias tagACTCTX_SECTION_KEYED_DATA ACTCTX_SECTION_KEYED_DATA; 6326 -alias tagACTCTX_SECTION_KEYED_DATA* PACTCTX_SECTION_KEYED_DATA; 6327 - 6328 -enum : uint { FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX = 0x00000001 } 6329 - 6330 -// #endif 6331 - 6332 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) 6333 - 6334 -extern(Windows) export BOOL FindActCtxSectionStringA( 6335 - DWORD dwFlags, 6336 - GUID *lpExtensionGuid, 6337 - ULONG ulSectionId, 6338 - LPCSTR lpStringToFind, 6339 - PACTCTX_SECTION_KEYED_DATA ReturnedData); 6340 -extern(Windows) export BOOL FindActCtxSectionStringW( 6341 - DWORD dwFlags, 6342 - GUID *lpExtensionGuid, 6343 - ULONG ulSectionId, 6344 - LPCWSTR lpStringToFind, 6345 - PACTCTX_SECTION_KEYED_DATA ReturnedData); 6346 -// #ifdef UNICODE 6347 -// #... 6348 -// #else 6349 -alias FindActCtxSectionStringA FindActCtxSectionString; 6350 -// #endif // !UNICODE 6351 - 6352 -extern(Windows) export BOOL FindActCtxSectionGuid( 6353 - DWORD dwFlags, 6354 - GUID *lpExtensionGuid, 6355 - ULONG ulSectionId, 6356 - GUID *lpGuidToFind, 6357 - PACTCTX_SECTION_KEYED_DATA ReturnedData); 6358 - 6359 -// #endif 6360 - 6361 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED 6362 - 6363 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 6364 -// #if !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) 6365 - 6366 -// ... 6367 - 6368 -// ... 6369 - 6370 -// #... 6371 - 6372 -// #endif // !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) 6373 -// #endif 6374 - 6375 -enum : uint { QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX = 0x00000004 } 6376 -enum : uint { QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE = 0x00000008 } 6377 -enum : uint { QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS = 0x00000010 } 6378 -enum : uint { QUERY_ACTCTX_FLAG_NO_ADDREF = 0x80000000 } 6379 - 6380 -// #endif 6381 - 6382 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) 6383 - 6384 -extern(Windows) export BOOL QueryActCtxW( 6385 - DWORD dwFlags, 6386 - HANDLE hActCtx, 6387 - PVOID pvSubInstance, 6388 - ULONG ulInfoClass, 6389 - PVOID pvBuffer, 6390 - SIZE_T cbBuffer , 6391 - SIZE_T *pcbWrittenOrRequired ); 6392 - 6393 -extern(Windows) alias BOOL function( DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer , SIZE_T *pcbWrittenOrRequired ) PQUERYACTCTXW_FUNC; 6394 - 6395 -// #endif // (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) 6396 - 6397 -extern(Windows) export BOOL ProcessIdToSessionId( 6398 - DWORD dwProcessId, 6399 - DWORD *pSessionId); 6400 - 6401 -// #if _WIN32_WINNT >= 0x0501 6402 - 6403 -extern(Windows) export DWORD WTSGetActiveConsoleSessionId(); 6404 - 6405 -extern(Windows) export BOOL IsWow64Process( 6406 - HANDLE hProcess, 6407 - PBOOL Wow64Process); 6408 - 6409 -// #endif // (_WIN32_WINNT >= 0x0501) 6410 - 6411 -extern(Windows) export BOOL GetNumaHighestNodeNumber( 6412 - PULONG HighestNodeNumber); 6413 - 6414 -extern(Windows) export BOOL GetNumaProcessorNode( 6415 - UCHAR Processor, 6416 - PUCHAR NodeNumber); 6417 - 6418 -extern(Windows) export BOOL GetNumaNodeProcessorMask( 6419 - UCHAR Node, 6420 - PULONGLONG ProcessorMask); 6421 - 6422 -extern(Windows) export BOOL GetNumaProcessorMap( 6423 - PSYSTEM_NUMA_INFORMATION Map, 6424 - ULONG Length, 6425 - PULONG ReturnedLength); 6426 - 6427 -extern(Windows) export BOOL GetNumaAvailableMemory( 6428 - PSYSTEM_NUMA_INFORMATION Memory, 6429 - ULONG Length, 6430 - PULONG ReturnedLength); 6431 - 6432 -extern(Windows) export BOOL GetNumaAvailableMemoryNode( 6433 - UCHAR Node, 6434 - PULONGLONG AvailableBytes); 6435 - 6436 -extern(Windows) export ULONGLONG NumaVirtualQueryNode( 6437 - ULONG NumberOfRanges, 6438 - PULONG_PTR RangeList, 6439 - PULONG_PTR VirtualPageAndNode, 6440 - SIZE_T MaximumOutputLength); 6441 - 6442 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 6443 -// #if ISOLATION_AWARE_ENABLED 6444 -// #... 6445 -// #endif /* ISOLATION_AWARE_ENABLED */ 6446 -// #endif /* RC */ 6447 - 6448 -// #ifdef __cplusplus 6449 -// } 6450 -// #endif 6451 - 6452 -// #endif // _WINBASE_ 6453 -

Deleted src/win32/ansi/wincon.d version [16215bc8ad14fe5f]

1 -module win32.ansi.wincon; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winbase; 7 - 8 -// #ifndef _WINCON_ 9 -// #define _WINCON_ 10 - 11 -// #ifdef __cplusplus 12 -// extern "C" { 13 -// #endif 14 - 15 -struct _COORD { 16 - SHORT X; 17 - SHORT Y; 18 -} 19 -alias _COORD COORD; 20 -alias _COORD* PCOORD; 21 - 22 -struct _SMALL_RECT { 23 - SHORT Left; 24 - SHORT Top; 25 - SHORT Right; 26 - SHORT Bottom; 27 -} 28 -alias _SMALL_RECT SMALL_RECT; 29 -alias _SMALL_RECT* PSMALL_RECT; 30 - 31 -struct _KEY_EVENT_RECORD { 32 - BOOL bKeyDown; 33 - WORD wRepeatCount; 34 - WORD wVirtualKeyCode; 35 - WORD wVirtualScanCode; 36 -union { 37 - WCHAR UnicodeChar; 38 - CHAR AsciiChar; 39 -} 40 - 41 - DWORD dwControlKeyState; 42 -} 43 -alias _KEY_EVENT_RECORD KEY_EVENT_RECORD; 44 -alias _KEY_EVENT_RECORD* PKEY_EVENT_RECORD; 45 - 46 -enum : uint { RIGHT_ALT_PRESSED = 0x0001 } 47 -enum : uint { LEFT_ALT_PRESSED = 0x0002 } 48 -enum : uint { RIGHT_CTRL_PRESSED = 0x0004 } 49 -enum : uint { LEFT_CTRL_PRESSED = 0x0008 } 50 -enum : uint { SHIFT_PRESSED = 0x0010 } 51 -enum : uint { NUMLOCK_ON = 0x0020 } 52 -enum : uint { SCROLLLOCK_ON = 0x0040 } 53 -enum : uint { CAPSLOCK_ON = 0x0080 } 54 -enum : uint { ENHANCED_KEY = 0x0100 } 55 -enum : uint { NLS_DBCSCHAR = 0x00010000 } 56 -enum : uint { NLS_ALPHANUMERIC = 0x00000000 } 57 -enum : uint { NLS_KATAKANA = 0x00020000 } 58 -enum : uint { NLS_HIRAGANA = 0x00040000 } 59 -enum : uint { NLS_ROMAN = 0x00400000 } 60 -enum : uint { NLS_IME_CONVERSION = 0x00800000 } 61 -enum : uint { NLS_IME_DISABLE = 0x20000000 } 62 - 63 -struct _MOUSE_EVENT_RECORD { 64 - COORD dwMousePosition; 65 - DWORD dwButtonState; 66 - DWORD dwControlKeyState; 67 - DWORD dwEventFlags; 68 -} 69 -alias _MOUSE_EVENT_RECORD MOUSE_EVENT_RECORD; 70 -alias _MOUSE_EVENT_RECORD* PMOUSE_EVENT_RECORD; 71 - 72 -enum : uint { FROM_LEFT_1ST_BUTTON_PRESSED = 0x0001 } 73 -enum : uint { RIGHTMOST_BUTTON_PRESSED = 0x0002 } 74 -enum : uint { FROM_LEFT_2ND_BUTTON_PRESSED = 0x0004 } 75 -enum : uint { FROM_LEFT_3RD_BUTTON_PRESSED = 0x0008 } 76 -enum : uint { FROM_LEFT_4TH_BUTTON_PRESSED = 0x0010 } 77 - 78 -enum : uint { MOUSE_MOVED = 0x0001 } 79 -enum : uint { DOUBLE_CLICK = 0x0002 } 80 -enum : uint { MOUSE_WHEELED = 0x0004 } 81 - 82 -struct _WINDOW_BUFFER_SIZE_RECORD { 83 - COORD dwSize; 84 -} 85 -alias _WINDOW_BUFFER_SIZE_RECORD WINDOW_BUFFER_SIZE_RECORD; 86 -alias _WINDOW_BUFFER_SIZE_RECORD* PWINDOW_BUFFER_SIZE_RECORD; 87 - 88 -struct _MENU_EVENT_RECORD { 89 - UINT dwCommandId; 90 -} 91 -alias _MENU_EVENT_RECORD MENU_EVENT_RECORD; 92 -alias _MENU_EVENT_RECORD* PMENU_EVENT_RECORD; 93 - 94 -struct _FOCUS_EVENT_RECORD { 95 - BOOL bSetFocus; 96 -} 97 -alias _FOCUS_EVENT_RECORD FOCUS_EVENT_RECORD; 98 -alias _FOCUS_EVENT_RECORD* PFOCUS_EVENT_RECORD; 99 - 100 -struct _INPUT_RECORD { 101 - WORD EventType; 102 -union { 103 - KEY_EVENT_RECORD KeyEvent; 104 - MOUSE_EVENT_RECORD MouseEvent; 105 - WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; 106 - MENU_EVENT_RECORD MenuEvent; 107 - FOCUS_EVENT_RECORD FocusEvent; 108 -} 109 - 110 -} 111 -alias _INPUT_RECORD INPUT_RECORD; 112 -alias _INPUT_RECORD* PINPUT_RECORD; 113 - 114 -enum : uint { KEY_EVENT = 0x0001 } 115 -enum : uint { MOUSE_EVENT = 0x0002 } 116 -enum : uint { WINDOW_BUFFER_SIZE_EVENT = 0x0004 } 117 -enum : uint { MENU_EVENT = 0x0008 } 118 -enum : uint { FOCUS_EVENT = 0x0010 } 119 - 120 -struct _CHAR_INFO { 121 -union { 122 - WCHAR UnicodeChar; 123 - CHAR AsciiChar; 124 -} 125 - 126 - WORD Attributes; 127 -} 128 -alias _CHAR_INFO CHAR_INFO; 129 -alias _CHAR_INFO* PCHAR_INFO; 130 - 131 -enum : uint { FOREGROUND_BLUE = 0x0001 } 132 -enum : uint { FOREGROUND_GREEN = 0x0002 } 133 -enum : uint { FOREGROUND_RED = 0x0004 } 134 -enum : uint { FOREGROUND_INTENSITY = 0x0008 } 135 -enum : uint { BACKGROUND_BLUE = 0x0010 } 136 -enum : uint { BACKGROUND_GREEN = 0x0020 } 137 -enum : uint { BACKGROUND_RED = 0x0040 } 138 -enum : uint { BACKGROUND_INTENSITY = 0x0080 } 139 -enum : uint { COMMON_LVB_LEADING_BYTE = 0x0100 } 140 -enum : uint { COMMON_LVB_TRAILING_BYTE = 0x0200 } 141 -enum : uint { COMMON_LVB_GRID_HORIZONTAL = 0x0400 } 142 -enum : uint { COMMON_LVB_GRID_LVERTICAL = 0x0800 } 143 -enum : uint { COMMON_LVB_GRID_RVERTICAL = 0x1000 } 144 -enum : uint { COMMON_LVB_REVERSE_VIDEO = 0x4000 } 145 -enum : uint { COMMON_LVB_UNDERSCORE = 0x8000 } 146 - 147 -enum : uint { COMMON_LVB_SBCSDBCS = 0x0300 } 148 - 149 -struct _CONSOLE_SCREEN_BUFFER_INFO { 150 - COORD dwSize; 151 - COORD dwCursorPosition; 152 - WORD wAttributes; 153 - SMALL_RECT srWindow; 154 - COORD dwMaximumWindowSize; 155 -} 156 -alias _CONSOLE_SCREEN_BUFFER_INFO CONSOLE_SCREEN_BUFFER_INFO; 157 -alias _CONSOLE_SCREEN_BUFFER_INFO* PCONSOLE_SCREEN_BUFFER_INFO; 158 - 159 -struct _CONSOLE_CURSOR_INFO { 160 - DWORD dwSize; 161 - BOOL bVisible; 162 -} 163 -alias _CONSOLE_CURSOR_INFO CONSOLE_CURSOR_INFO; 164 -alias _CONSOLE_CURSOR_INFO* PCONSOLE_CURSOR_INFO; 165 - 166 -struct _CONSOLE_FONT_INFO { 167 - DWORD nFont; 168 - COORD dwFontSize; 169 -} 170 -alias _CONSOLE_FONT_INFO CONSOLE_FONT_INFO; 171 -alias _CONSOLE_FONT_INFO* PCONSOLE_FONT_INFO; 172 - 173 -// #if(_WIN32_WINNT >= 0x0500) 174 -struct _CONSOLE_SELECTION_INFO { 175 - DWORD dwFlags; 176 - COORD dwSelectionAnchor; 177 - SMALL_RECT srSelection; 178 -} 179 -alias _CONSOLE_SELECTION_INFO CONSOLE_SELECTION_INFO; 180 -alias _CONSOLE_SELECTION_INFO* PCONSOLE_SELECTION_INFO; 181 - 182 -enum : uint { CONSOLE_NO_SELECTION = 0x0000 } 183 -enum : uint { CONSOLE_SELECTION_IN_PROGRESS = 0x0001 } 184 -enum : uint { CONSOLE_SELECTION_NOT_EMPTY = 0x0002 } 185 -enum : uint { CONSOLE_MOUSE_SELECTION = 0x0004 } 186 -enum : uint { CONSOLE_MOUSE_DOWN = 0x0008 } 187 -// #endif /* _WIN32_WINNT >= 0x0500 */ 188 - 189 -extern(Windows) alias BOOL function( DWORD CtrlType ) PHANDLER_ROUTINE; 190 - 191 -enum : uint { CTRL_C_EVENT = 0 } 192 -enum : uint { CTRL_BREAK_EVENT = 1 } 193 -enum : uint { CTRL_CLOSE_EVENT = 2 } 194 - 195 -enum : uint { CTRL_LOGOFF_EVENT = 5 } 196 -enum : uint { CTRL_SHUTDOWN_EVENT = 6 } 197 - 198 -enum : uint { ENABLE_PROCESSED_INPUT = 0x0001 } 199 -enum : uint { ENABLE_LINE_INPUT = 0x0002 } 200 -enum : uint { ENABLE_ECHO_INPUT = 0x0004 } 201 -enum : uint { ENABLE_WINDOW_INPUT = 0x0008 } 202 -enum : uint { ENABLE_MOUSE_INPUT = 0x0010 } 203 - 204 -enum : uint { ENABLE_PROCESSED_OUTPUT = 0x0001 } 205 -enum : uint { ENABLE_WRAP_AT_EOL_OUTPUT = 0x0002 } 206 - 207 -extern(Windows) export BOOL PeekConsoleInputA( 208 - HANDLE hConsoleInput, 209 - PINPUT_RECORD lpBuffer, 210 - DWORD nLength, 211 - LPDWORD lpNumberOfEventsRead); 212 -extern(Windows) export BOOL PeekConsoleInputW( 213 - HANDLE hConsoleInput, 214 - PINPUT_RECORD lpBuffer, 215 - DWORD nLength, 216 - LPDWORD lpNumberOfEventsRead); 217 -// #ifdef UNICODE 218 -// #... 219 -// #else 220 -alias PeekConsoleInputA PeekConsoleInput; 221 -// #endif // !UNICODE 222 - 223 -extern(Windows) export BOOL ReadConsoleInputA( 224 - HANDLE hConsoleInput, 225 - PINPUT_RECORD lpBuffer, 226 - DWORD nLength, 227 - LPDWORD lpNumberOfEventsRead); 228 -extern(Windows) export BOOL ReadConsoleInputW( 229 - HANDLE hConsoleInput, 230 - PINPUT_RECORD lpBuffer, 231 - DWORD nLength, 232 - LPDWORD lpNumberOfEventsRead); 233 -// #ifdef UNICODE 234 -// #... 235 -// #else 236 -alias ReadConsoleInputA ReadConsoleInput; 237 -// #endif // !UNICODE 238 - 239 -extern(Windows) export BOOL WriteConsoleInputA( 240 - HANDLE hConsoleInput, 241 - INPUT_RECORD *lpBuffer, 242 - DWORD nLength, 243 - LPDWORD lpNumberOfEventsWritten); 244 -extern(Windows) export BOOL WriteConsoleInputW( 245 - HANDLE hConsoleInput, 246 - INPUT_RECORD *lpBuffer, 247 - DWORD nLength, 248 - LPDWORD lpNumberOfEventsWritten); 249 -// #ifdef UNICODE 250 -// #... 251 -// #else 252 -alias WriteConsoleInputA WriteConsoleInput; 253 -// #endif // !UNICODE 254 - 255 -extern(Windows) export BOOL ReadConsoleOutputA( 256 - HANDLE hConsoleOutput, 257 - PCHAR_INFO lpBuffer, 258 - COORD dwBufferSize, 259 - COORD dwBufferCoord, 260 - PSMALL_RECT lpReadRegion); 261 -extern(Windows) export BOOL ReadConsoleOutputW( 262 - HANDLE hConsoleOutput, 263 - PCHAR_INFO lpBuffer, 264 - COORD dwBufferSize, 265 - COORD dwBufferCoord, 266 - PSMALL_RECT lpReadRegion); 267 -// #ifdef UNICODE 268 -// #... 269 -// #else 270 -alias ReadConsoleOutputA ReadConsoleOutput; 271 -// #endif // !UNICODE 272 - 273 -extern(Windows) export BOOL WriteConsoleOutputA( 274 - HANDLE hConsoleOutput, 275 - CHAR_INFO *lpBuffer, 276 - COORD dwBufferSize, 277 - COORD dwBufferCoord, 278 - PSMALL_RECT lpWriteRegion); 279 -extern(Windows) export BOOL WriteConsoleOutputW( 280 - HANDLE hConsoleOutput, 281 - CHAR_INFO *lpBuffer, 282 - COORD dwBufferSize, 283 - COORD dwBufferCoord, 284 - PSMALL_RECT lpWriteRegion); 285 -// #ifdef UNICODE 286 -// #... 287 -// #else 288 -alias WriteConsoleOutputA WriteConsoleOutput; 289 -// #endif // !UNICODE 290 - 291 -extern(Windows) export BOOL ReadConsoleOutputCharacterA( 292 - HANDLE hConsoleOutput, 293 - LPSTR lpCharacter, 294 - DWORD nLength, 295 - COORD dwReadCoord, 296 - LPDWORD lpNumberOfCharsRead); 297 -extern(Windows) export BOOL ReadConsoleOutputCharacterW( 298 - HANDLE hConsoleOutput, 299 - LPWSTR lpCharacter, 300 - DWORD nLength, 301 - COORD dwReadCoord, 302 - LPDWORD lpNumberOfCharsRead); 303 -// #ifdef UNICODE 304 -// #... 305 -// #else 306 -alias ReadConsoleOutputCharacterA ReadConsoleOutputCharacter; 307 -// #endif // !UNICODE 308 - 309 -extern(Windows) export BOOL ReadConsoleOutputAttribute( 310 - HANDLE hConsoleOutput, 311 - LPWORD lpAttribute, 312 - DWORD nLength, 313 - COORD dwReadCoord, 314 - LPDWORD lpNumberOfAttrsRead); 315 - 316 -extern(Windows) export BOOL WriteConsoleOutputCharacterA( 317 - HANDLE hConsoleOutput, 318 - LPCSTR lpCharacter, 319 - DWORD nLength, 320 - COORD dwWriteCoord, 321 - LPDWORD lpNumberOfCharsWritten); 322 -extern(Windows) export BOOL WriteConsoleOutputCharacterW( 323 - HANDLE hConsoleOutput, 324 - LPCWSTR lpCharacter, 325 - DWORD nLength, 326 - COORD dwWriteCoord, 327 - LPDWORD lpNumberOfCharsWritten); 328 -// #ifdef UNICODE 329 -// #... 330 -// #else 331 -alias WriteConsoleOutputCharacterA WriteConsoleOutputCharacter; 332 -// #endif // !UNICODE 333 - 334 -extern(Windows) export BOOL WriteConsoleOutputAttribute( 335 - HANDLE hConsoleOutput, 336 - WORD *lpAttribute, 337 - DWORD nLength, 338 - COORD dwWriteCoord, 339 - LPDWORD lpNumberOfAttrsWritten); 340 - 341 -extern(Windows) export BOOL FillConsoleOutputCharacterA( 342 - HANDLE hConsoleOutput, 343 - CHAR cCharacter, 344 - DWORD nLength, 345 - COORD dwWriteCoord, 346 - LPDWORD lpNumberOfCharsWritten); 347 -extern(Windows) export BOOL FillConsoleOutputCharacterW( 348 - HANDLE hConsoleOutput, 349 - WCHAR cCharacter, 350 - DWORD nLength, 351 - COORD dwWriteCoord, 352 - LPDWORD lpNumberOfCharsWritten); 353 -// #ifdef UNICODE 354 -// #... 355 -// #else 356 -alias FillConsoleOutputCharacterA FillConsoleOutputCharacter; 357 -// #endif // !UNICODE 358 - 359 -extern(Windows) export BOOL FillConsoleOutputAttribute( 360 - HANDLE hConsoleOutput, 361 - WORD wAttribute, 362 - DWORD nLength, 363 - COORD dwWriteCoord, 364 - LPDWORD lpNumberOfAttrsWritten); 365 - 366 -extern(Windows) export BOOL GetConsoleMode( 367 - HANDLE hConsoleHandle, 368 - LPDWORD lpMode); 369 - 370 -extern(Windows) export BOOL GetNumberOfConsoleInputEvents( 371 - HANDLE hConsoleInput, 372 - LPDWORD lpNumberOfEvents); 373 - 374 -extern(Windows) export BOOL GetConsoleScreenBufferInfo( 375 - HANDLE hConsoleOutput, 376 - PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo); 377 - 378 -extern(Windows) export COORD GetLargestConsoleWindowSize( 379 - HANDLE hConsoleOutput); 380 - 381 -extern(Windows) export BOOL GetConsoleCursorInfo( 382 - HANDLE hConsoleOutput, 383 - PCONSOLE_CURSOR_INFO lpConsoleCursorInfo); 384 - 385 -// #if(_WIN32_WINNT >= 0x0500) 386 - 387 -extern(Windows) export BOOL GetCurrentConsoleFont( 388 - HANDLE hConsoleOutput, 389 - BOOL bMaximumWindow, 390 - PCONSOLE_FONT_INFO lpConsoleCurrentFont); 391 - 392 -extern(Windows) export COORD GetConsoleFontSize( 393 - HANDLE hConsoleOutput, 394 - DWORD nFont); 395 - 396 -extern(Windows) export BOOL GetConsoleSelectionInfo( 397 - PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo); 398 - 399 -// #endif /* _WIN32_WINNT >= 0x0500 */ 400 - 401 -extern(Windows) export BOOL GetNumberOfConsoleMouseButtons( 402 - LPDWORD lpNumberOfMouseButtons); 403 - 404 -extern(Windows) export BOOL SetConsoleMode( 405 - HANDLE hConsoleHandle, 406 - DWORD dwMode); 407 - 408 -extern(Windows) export BOOL SetConsoleActiveScreenBuffer( 409 - HANDLE hConsoleOutput); 410 - 411 -extern(Windows) export BOOL FlushConsoleInputBuffer( 412 - HANDLE hConsoleInput); 413 - 414 -extern(Windows) export BOOL SetConsoleScreenBufferSize( 415 - HANDLE hConsoleOutput, 416 - COORD dwSize); 417 - 418 -extern(Windows) export BOOL SetConsoleCursorPosition( 419 - HANDLE hConsoleOutput, 420 - COORD dwCursorPosition); 421 - 422 -extern(Windows) export BOOL SetConsoleCursorInfo( 423 - HANDLE hConsoleOutput, 424 - CONSOLE_CURSOR_INFO *lpConsoleCursorInfo); 425 - 426 -extern(Windows) export BOOL ScrollConsoleScreenBufferA( 427 - HANDLE hConsoleOutput, 428 - SMALL_RECT *lpScrollRectangle, 429 - SMALL_RECT *lpClipRectangle, 430 - COORD dwDestinationOrigin, 431 - CHAR_INFO *lpFill); 432 -extern(Windows) export BOOL ScrollConsoleScreenBufferW( 433 - HANDLE hConsoleOutput, 434 - SMALL_RECT *lpScrollRectangle, 435 - SMALL_RECT *lpClipRectangle, 436 - COORD dwDestinationOrigin, 437 - CHAR_INFO *lpFill); 438 -// #ifdef UNICODE 439 -// #... 440 -// #else 441 -alias ScrollConsoleScreenBufferA ScrollConsoleScreenBuffer; 442 -// #endif // !UNICODE 443 - 444 -extern(Windows) export BOOL SetConsoleWindowInfo( 445 - HANDLE hConsoleOutput, 446 - BOOL bAbsolute, 447 - SMALL_RECT *lpConsoleWindow); 448 - 449 -extern(Windows) export BOOL SetConsoleTextAttribute( 450 - HANDLE hConsoleOutput, 451 - WORD wAttributes); 452 - 453 -extern(Windows) export BOOL SetConsoleCtrlHandler( 454 - PHANDLER_ROUTINE HandlerRoutine, 455 - BOOL Add); 456 - 457 -extern(Windows) export BOOL GenerateConsoleCtrlEvent( 458 - DWORD dwCtrlEvent, 459 - DWORD dwProcessGroupId); 460 - 461 -extern(Windows) export BOOL AllocConsole(); 462 - 463 -extern(Windows) export BOOL FreeConsole(); 464 - 465 -// #if(_WIN32_WINNT >= 0x0500) 466 -extern(Windows) export BOOL AttachConsole( 467 - DWORD dwProcessId); 468 -// #endif /* _WIN32_WINNT >= 0x0500 */ 469 - 470 -extern(Windows) export DWORD GetConsoleTitleA( 471 - LPSTR lpConsoleTitle, 472 - DWORD nSize); 473 -extern(Windows) export DWORD GetConsoleTitleW( 474 - LPWSTR lpConsoleTitle, 475 - DWORD nSize); 476 -// #ifdef UNICODE 477 -// #... 478 -// #else 479 -alias GetConsoleTitleA GetConsoleTitle; 480 -// #endif // !UNICODE 481 - 482 -extern(Windows) export BOOL SetConsoleTitleA( 483 - LPCSTR lpConsoleTitle); 484 -extern(Windows) export BOOL SetConsoleTitleW( 485 - LPCWSTR lpConsoleTitle); 486 -// #ifdef UNICODE 487 -// #... 488 -// #else 489 -alias SetConsoleTitleA SetConsoleTitle; 490 -// #endif // !UNICODE 491 - 492 -extern(Windows) export BOOL ReadConsoleA( 493 - HANDLE hConsoleInput, 494 - LPVOID lpBuffer, 495 - DWORD nNumberOfCharsToRead, 496 - LPDWORD lpNumberOfCharsRead, 497 - LPVOID lpReserved); 498 -extern(Windows) export BOOL ReadConsoleW( 499 - HANDLE hConsoleInput, 500 - LPVOID lpBuffer, 501 - DWORD nNumberOfCharsToRead, 502 - LPDWORD lpNumberOfCharsRead, 503 - LPVOID lpReserved); 504 -// #ifdef UNICODE 505 -// #... 506 -// #else 507 -alias ReadConsoleA ReadConsole; 508 -// #endif // !UNICODE 509 - 510 -extern(Windows) export BOOL WriteConsoleA( 511 - HANDLE hConsoleOutput, 512 - VOID *lpBuffer, 513 - DWORD nNumberOfCharsToWrite, 514 - LPDWORD lpNumberOfCharsWritten, 515 - LPVOID lpReserved); 516 -extern(Windows) export BOOL WriteConsoleW( 517 - HANDLE hConsoleOutput, 518 - VOID *lpBuffer, 519 - DWORD nNumberOfCharsToWrite, 520 - LPDWORD lpNumberOfCharsWritten, 521 - LPVOID lpReserved); 522 -// #ifdef UNICODE 523 -// #... 524 -// #else 525 -alias WriteConsoleA WriteConsole; 526 -// #endif // !UNICODE 527 - 528 -enum : uint { CONSOLE_TEXTMODE_BUFFER = 1 } 529 - 530 -extern(Windows) export HANDLE CreateConsoleScreenBuffer( 531 - DWORD dwDesiredAccess, 532 - DWORD dwShareMode, 533 - SECURITY_ATTRIBUTES *lpSecurityAttributes, 534 - DWORD dwFlags, 535 - LPVOID lpScreenBufferData); 536 - 537 -extern(Windows) export UINT GetConsoleCP(); 538 - 539 -extern(Windows) export BOOL SetConsoleCP( 540 - UINT wCodePageID); 541 - 542 -extern(Windows) export UINT GetConsoleOutputCP(); 543 - 544 -extern(Windows) export BOOL SetConsoleOutputCP( 545 - UINT wCodePageID); 546 - 547 -// #if(_WIN32_WINNT >= 0x0500) 548 - 549 -enum : uint { CONSOLE_FULLSCREEN = 1 } 550 -enum : uint { CONSOLE_FULLSCREEN_HARDWARE = 2 } 551 - 552 -extern(Windows) export BOOL GetConsoleDisplayMode( 553 - LPDWORD lpModeFlags); 554 - 555 -extern(Windows) export HWND GetConsoleWindow(); 556 - 557 -// #endif /* _WIN32_WINNT >= 0x0500 */ 558 - 559 -// #if(_WIN32_WINNT >= 0x0501) 560 - 561 -extern(Windows) export DWORD GetConsoleProcessList( 562 - LPDWORD lpdwProcessList, 563 - DWORD dwProcessCount); 564 -// #endif /* _WIN32_WINNT >= 0x0501 */ 565 - 566 -// #ifdef __cplusplus 567 -// } 568 -// #endif 569 - 570 -// #endif // _WINCON_ 571 -

Deleted src/win32/ansi/windef.d version [9189fd75dd1f34fc]

1 -module win32.ansi.windef; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -alias void* va_list; 7 -alias long __int64; 8 -alias ulong DWORD64; 9 -alias uint SIZE_T; 10 -alias SIZE_T* PSIZE_T; 11 -alias int INT_PTR; 12 -alias uint UINT_PTR; 13 -alias uint LONG_PTR; 14 -alias uint ULONG_PTR; 15 -alias uint DWORD_PTR; 16 -alias DWORD_PTR* PDWORD_PTR; 17 -alias UINT_PTR* PUINT_PTR; 18 -alias ULONG_PTR* PULONG_PTR; 19 -enum : UINT { UINT_MAX = UINT.max } 20 - 21 -// #ifndef _WINDEF_ 22 -// #define _WINDEF_ 23 - 24 -// #ifndef NO_STRICT 25 -// #ifndef STRICT 26 -// #... 27 -// #endif 28 -// #endif /* NO_STRICT */ 29 - 30 -// #ifdef _MAC 31 -// #ifndef _WIN32 32 -// #... 33 -// #endif 34 -// #endif //_MAC 35 - 36 -// #ifdef __cplusplus 37 -// extern "C" { 38 -// #endif 39 - 40 -// #ifndef WINVER 41 -// #... 42 -// #endif /* WINVER */ 43 - 44 -// #ifndef BASETYPES 45 -// #define BASETYPES 46 -alias uint ULONG; 47 -alias ULONG* PULONG; 48 -alias ushort USHORT; 49 -alias USHORT* PUSHORT; 50 -alias ubyte UCHAR; 51 -alias UCHAR* PUCHAR; 52 -alias char* PSZ; 53 -// #endif /* !BASETYPES */ 54 - 55 -enum : uint { MAX_PATH = 260 } 56 - 57 -// #ifndef NULL 58 -// #ifdef __cplusplus 59 -const void* NULL = null; 60 -// #else 61 -// #... 62 -// #endif 63 -// #endif 64 - 65 -// #ifndef FALSE 66 -enum : uint { FALSE = 0 } 67 -// #endif 68 - 69 -// #ifndef TRUE 70 -enum : uint { TRUE = 1 } 71 -// #endif 72 - 73 -// #ifndef IN 74 -// #define IN 75 -// #endif 76 - 77 -// #ifndef OUT 78 -// #define OUT 79 -// #endif 80 - 81 -// #ifndef OPTIONAL 82 -// #define OPTIONAL 83 -// #endif 84 - 85 -// #undef far 86 -// #undef near 87 -// #undef pascal 88 - 89 -// #define far 90 -// #define near 91 -// #if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)) 92 -// #define pascal __stdcall 93 -// #else 94 -// #... 95 -// #endif 96 - 97 -// #if defined(DOSWIN32) || defined(_MAC) 98 -// #... 99 -// #ifndef CDECL 100 -// #... 101 -// #endif 102 -// #else 103 -// #define cdecl 104 -// #ifndef CDECL 105 -// #define CDECL 106 -// #endif 107 -// #endif 108 - 109 -// #ifdef _MAC 110 -// #... 111 -// #... 112 -// #... 113 -// #... 114 -// #... 115 -// #ifdef _68K_ 116 -// #... 117 -// #else 118 -// #... 119 -// #endif 120 -// #elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) 121 -// #define CALLBACK __stdcall 122 -// #define WINAPI __stdcall 123 -// #define WINAPIV __cdecl 124 -// #define APIENTRY WINAPI 125 -// #define APIPRIVATE __stdcall 126 -// #define PASCAL __stdcall 127 -// #else 128 -// #... 129 -// #... 130 -// #... 131 -// #... 132 -// #... 133 -// #... 134 -// #endif 135 - 136 -// #undef FAR 137 -// #undef NEAR 138 -// #define FAR far 139 -// #define NEAR near 140 -// #ifndef CONST 141 -// #define CONST const 142 -// #endif 143 - 144 -alias uint DWORD; 145 -alias int BOOL; 146 -alias ubyte BYTE; 147 -alias ushort WORD; 148 -alias float FLOAT; 149 -alias FLOAT* PFLOAT; 150 -alias BOOL* PBOOL; 151 -alias BOOL* LPBOOL; 152 -alias BYTE* PBYTE; 153 -alias BYTE* LPBYTE; 154 -alias int* PINT; 155 -alias int* LPINT; 156 -alias WORD* PWORD; 157 -alias WORD* LPWORD; 158 -alias int* LPLONG; 159 -alias DWORD* PDWORD; 160 -alias DWORD* LPDWORD; 161 -alias void* LPVOID; 162 -alias void* LPCVOID; 163 - 164 -alias int INT; 165 -alias uint UINT; 166 -alias uint* PUINT; 167 - 168 -// #ifndef NT_INCLUDED 169 -import win32.ansi.winnt; 170 -// #endif /* NT_INCLUDED */ 171 - 172 -alias UINT_PTR WPARAM; 173 -alias LONG_PTR LPARAM; 174 -alias LONG_PTR LRESULT; 175 - 176 -// #ifndef NOMINMAX 177 - 178 -// #ifndef max 179 -int max(int a, int b){ return (a > b)? a : b; } 180 -uint max(uint a, uint b){ return (a > b)? a : b; } 181 -real max(real a, real b){ return (a > b)? a : b; } 182 -// #endif 183 - 184 -// #ifndef min 185 -int min(int a, int b){ return (a < b)? a : b; } 186 -uint min(uint a, uint b){ return (a < b)? a : b; } 187 -real min(real a, real b){ return (a < b)? a : b; } 188 -// #endif 189 - 190 -// #endif /* NOMINMAX */ 191 - 192 -ushort MAKEWORD(byte a, byte b){ return (a & 0xff) | ((b & 0xff) << 8); } 193 -uint MAKELONG(ushort a, ushort b){ return (a & 0xffff) | ((b & 0xffff) << 16); } 194 -ushort LOWORD(uint l){ return l & 0xffff; } 195 -ushort HIWORD(uint l){ return l >>> 16; } 196 -ubyte LOBYTE(ushort l){ return l & 0xff; } 197 -ubyte HIBYTE(ushort l){ return l >>> 8; } 198 - 199 -// #ifndef WIN_INTERNAL 200 -alias void* HWND; 201 -alias void* HHOOK; 202 -// #ifdef WINABLE 203 -// ... 204 -// #endif 205 -// #endif 206 - 207 -alias WORD ATOM; 208 - 209 -alias HANDLE* SPHANDLE; 210 -alias HANDLE* LPHANDLE; 211 -alias HANDLE HGLOBAL; 212 -alias HANDLE HLOCAL; 213 -alias HANDLE GLOBALHANDLE; 214 -alias HANDLE LOCALHANDLE; 215 -// #ifndef _MAC 216 -// #ifdef _WIN64 217 -// ... 218 -// #else 219 -extern(Windows) alias int function() FARPROC; 220 -extern(Windows) alias int function() NEARPROC; 221 -extern(Windows) alias int function() PROC; 222 -// #endif // _WIN64 223 -// #else 224 -// ... 225 -// #endif 226 - 227 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 228 -// #ifdef STRICT 229 -alias void* HGDIOBJ; 230 -// #else 231 -// ... 232 -// #endif 233 -// #endif 234 - 235 -alias void* HKEY; 236 -alias HKEY* PHKEY; 237 - 238 -// #if !defined(_MAC) || !defined(WIN_INTERNAL) 239 -alias void* HACCEL; 240 -// #endif 241 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 242 -alias void* HBITMAP; 243 -alias void* HBRUSH; 244 -// #endif 245 -// #if(WINVER >= 0x0400) 246 -alias void* HCOLORSPACE; 247 -// #endif /* WINVER >= 0x0400 */ 248 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 249 -alias void* HDC; 250 -// #endif 251 -alias void* HGLRC; 252 -alias void* HDESK; 253 -alias void* HENHMETAFILE; 254 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 255 -alias void* HFONT; 256 -// #endif 257 -alias void* HICON; 258 -// #if !defined(_MAC) || !defined(WIN_INTERNAL) 259 -alias void* HMENU; 260 -// #endif 261 -alias void* HMETAFILE; 262 -alias void* HINSTANCE; 263 -alias HINSTANCE HMODULE; 264 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 265 -alias void* HPALETTE; 266 -alias void* HPEN; 267 -// #endif 268 -alias void* HRGN; 269 -alias void* HRSRC; 270 -alias void* HSTR; 271 -alias void* HTASK; 272 -alias void* HWINSTA; 273 -alias void* HKL; 274 - 275 -// #if(WINVER >= 0x0500) 276 -// #ifndef _MAC 277 -alias void* HMONITOR; 278 -alias void* HWINEVENTHOOK; 279 -// #endif 280 -alias void* HUMPD; 281 -// #endif /* WINVER >= 0x0500 */ 282 - 283 -// #ifndef _MAC 284 -alias int HFILE; 285 -alias HICON HCURSOR; 286 -// #else 287 -// ... 288 -// #endif 289 - 290 -alias DWORD COLORREF; 291 -alias DWORD* LPCOLORREF; 292 - 293 -const HFILE HFILE_ERROR = -1; 294 - 295 -struct tagRECT { 296 - LONG left; 297 - LONG top; 298 - LONG right; 299 - LONG bottom; 300 -} 301 -alias tagRECT RECT; 302 -alias tagRECT* PRECT; 303 -alias tagRECT* NPRECT; 304 -alias tagRECT* LPRECT; 305 - 306 -alias RECT* LPCRECT; 307 - 308 -struct _RECTL { 309 - LONG left; 310 - LONG top; 311 - LONG right; 312 - LONG bottom; 313 -} 314 -alias _RECTL RECTL; 315 -alias _RECTL* PRECTL; 316 -alias _RECTL* LPRECTL; 317 - 318 -alias RECTL* LPCRECTL; 319 - 320 -struct tagPOINT { 321 - LONG x; 322 - LONG y; 323 -} 324 -alias tagPOINT POINT; 325 -alias tagPOINT* PPOINT; 326 -alias tagPOINT* NPPOINT; 327 -alias tagPOINT* LPPOINT; 328 - 329 -struct _POINTL { 330 - LONG x; 331 - LONG y; 332 -} 333 -alias _POINTL POINTL; 334 -alias _POINTL* PPOINTL; 335 - 336 -struct tagSIZE { 337 - LONG cx; 338 - LONG cy; 339 -} 340 -alias tagSIZE SIZE; 341 -alias tagSIZE* PSIZE; 342 -alias tagSIZE* LPSIZE; 343 - 344 -alias SIZE SIZEL; 345 -alias SIZE* PSIZEL; 346 -alias SIZE* LPSIZEL; 347 - 348 -struct tagPOINTS { 349 -// #ifndef _MAC 350 - SHORT x; 351 - SHORT y; 352 -// #else 353 -// ... 354 -// #endif 355 -} 356 -alias tagPOINTS POINTS; 357 -alias tagPOINTS* PPOINTS; 358 -alias tagPOINTS* LPPOINTS; 359 - 360 -enum : uint { DM_UPDATE = 1 } 361 -enum : uint { DM_COPY = 2 } 362 -enum : uint { DM_PROMPT = 4 } 363 -enum : uint { DM_MODIFY = 8 } 364 - 365 -alias DM_MODIFY DM_IN_BUFFER; 366 -alias DM_PROMPT DM_IN_PROMPT; 367 -alias DM_COPY DM_OUT_BUFFER; 368 -alias DM_UPDATE DM_OUT_DEFAULT; 369 - 370 -enum : uint { DC_FIELDS = 1 } 371 -enum : uint { DC_PAPERS = 2 } 372 -enum : uint { DC_PAPERSIZE = 3 } 373 -enum : uint { DC_MINEXTENT = 4 } 374 -enum : uint { DC_MAXEXTENT = 5 } 375 -enum : uint { DC_BINS = 6 } 376 -enum : uint { DC_DUPLEX = 7 } 377 -enum : uint { DC_SIZE = 8 } 378 -enum : uint { DC_EXTRA = 9 } 379 -enum : uint { DC_VERSION = 10 } 380 -enum : uint { DC_DRIVER = 11 } 381 -enum : uint { DC_BINNAMES = 12 } 382 -enum : uint { DC_ENUMRESOLUTIONS = 13 } 383 -enum : uint { DC_FILEDEPENDENCIES = 14 } 384 -enum : uint { DC_TRUETYPE = 15 } 385 -enum : uint { DC_PAPERNAMES = 16 } 386 -enum : uint { DC_ORIENTATION = 17 } 387 -enum : uint { DC_COPIES = 18 } 388 - 389 -// #ifdef __cplusplus 390 -// } 391 -// #endif 392 - 393 -// #endif /* _WINDEF_ */ 394 -

Deleted src/win32/ansi/windows.d version [1f90e8aa0a4077d1]

1 -module win32.ansi.windows; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 - 7 -// #ifndef _WINDOWS_ 8 -// #define _WINDOWS_ 9 - 10 -// #ifndef WINVER 11 -// #... 12 -// #else 13 -// #if defined(_WIN32_WINNT) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400) 14 -// #... 15 -// #endif 16 -// #endif 17 - 18 -// #ifndef _INC_WINDOWS 19 -// #define _INC_WINDOWS 20 - 21 -// #if defined (_MSC_VER) && (_MSC_VER >= 1020) 22 -// #pragma once 23 -// #endif 24 - 25 -// #if defined(RC_INVOKED) && !defined(NOWINRES) 26 - 27 -// #... 28 - 29 -// #else 30 - 31 -// #if defined(RC_INVOKED) 32 - 33 -// #... 34 -// #... 35 -// #... 36 -// #... 37 -// #... 38 -// #... 39 -// #... 40 -// #... 41 -// #... 42 -// #... 43 -// #... 44 -// #... 45 -// #... 46 -// #... 47 -// #... 48 -// #... 49 -// #... 50 -// #endif 51 - 52 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_IX86) 53 -// #... 54 -// #endif 55 - 56 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_AMD64) 57 -// #... 58 -// #endif 59 - 60 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_M68K) 61 -// #... 62 -// #endif 63 - 64 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_MPPC) 65 -// #... 66 -// #endif 67 - 68 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_M_IX86) && !defined(_AMD64_) && defined(_M_IA64) 69 -// #if !defined(_IA64_) 70 -// #... 71 -// #endif // !_IA64_ 72 -// #endif 73 - 74 -// #ifndef _MAC 75 -// #if defined(_68K_) || defined(_MPPC_) 76 -// #... 77 -// #endif 78 -// #endif 79 - 80 -// #if defined (_MSC_VER) 81 -// #if ( _MSC_VER >= 800 ) 82 -// #ifndef __cplusplus 83 -// #... 84 - 85 -// #endif 86 -// #endif 87 -// #endif 88 - 89 -// #ifndef RC_INVOKED 90 -// #if ( _MSC_VER >= 800 ) 91 -// #pragma warning(disable:4514) 92 -// #ifndef __WINDOWS_DONT_DISABLE_PRAGMA_PACK_WARNING__ 93 -// #pragma warning(disable:4103) 94 -// #endif 95 -// #if _MSC_VER >= 1200 96 -// #pragma warning(push) 97 -// #endif 98 -// #pragma warning(disable:4001) 99 -// #pragma warning(disable:4201) 100 -// #pragma warning(disable:4214) 101 -// #endif 102 -// #include <excpt.h> 103 -// #include <stdarg.h> 104 -// #endif /* RC_INVOKED */ 105 - 106 -import win32.ansi.windef; 107 -import win32.ansi.winbase; 108 -import win32.ansi.wingdi; 109 -import win32.ansi.winuser; 110 -// #if !defined(_MAC) || defined(_WIN32NLS) 111 -import win32.ansi.winnls; 112 -// #endif 113 -// #ifndef _MAC 114 -import win32.ansi.wincon; 115 -import win32.ansi.winver; 116 -// #endif 117 -// #if !defined(_MAC) || defined(_WIN32REG) 118 -import win32.ansi.winreg; 119 -// #endif 120 -// #ifndef _MAC 121 -// #include <winnetwk.h> 122 -// #endif 123 - 124 -// #ifndef WIN32_LEAN_AND_MEAN 125 -// #include <cderr.h> 126 -import win32.ansi.dde; 127 -import win32.ansi.ddeml; 128 -import win32.ansi.dlgs; 129 -// #ifndef _MAC 130 -// #include <lzexpand.h> 131 -import win32.ansi.mmsystem; 132 -// #include <nb30.h> 133 -// #include <rpc.h> 134 -// #endif 135 -import win32.ansi.shellapi; 136 -// #ifndef _MAC 137 -// #include <winperf.h> 138 -// #include <winsock.h> 139 -// #endif 140 -// #ifndef NOCRYPT 141 -// #... 142 -// #... 143 -// #... 144 -// #endif 145 - 146 -// #ifndef NOGDI 147 -// #ifndef _MAC 148 -import win32.ansi.winspool; 149 -// #ifdef INC_OLE1 150 -// #... 151 -// #else 152 -// #include <ole2.h> 153 -// #endif /* !INC_OLE1 */ 154 -// #endif /* !MAC */ 155 -import win32.ansi.commdlg; 156 -// #endif /* !NOGDI */ 157 -// #endif /* WIN32_LEAN_AND_MEAN */ 158 - 159 -// #include <stralign.h> 160 - 161 -// #ifdef _MAC 162 -// #... 163 -// #endif 164 - 165 -// #ifdef INC_OLE2 166 -// #... 167 -// #endif /* INC_OLE2 */ 168 - 169 -// #ifndef _MAC 170 -// #ifndef NOSERVICE 171 -// #... 172 -// #endif 173 - 174 -// #if(WINVER >= 0x0400) 175 -// #ifndef NOMCX 176 -// #... 177 -// #endif /* NOMCX */ 178 - 179 -// #ifndef NOIME 180 -import win32.ansi.imm; 181 -// #endif 182 -// #endif /* WINVER >= 0x0400 */ 183 -// #endif 184 - 185 -// #ifndef RC_INVOKED 186 -// #if ( _MSC_VER >= 800 ) 187 -// #if _MSC_VER >= 1200 188 -// #pragma warning(pop) 189 -// #else 190 -// #... 191 -// #... 192 -// #... 193 - 194 -// #endif 195 -// #endif 196 -// #endif /* RC_INVOKED */ 197 - 198 -// #endif /* RC_INVOKED */ 199 - 200 -// #endif /* _INC_WINDOWS */ 201 -// #endif /* _WINDOWS_ */ 202 -

Deleted src/win32/ansi/winerror.d version [c90467b4fdd04993]

1 -module win32.ansi.winerror; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winnt; 7 - 8 -// #ifndef _WINERROR_ 9 -// #define _WINERROR_ 10 - 11 -// #if defined (_MSC_VER) && (_MSC_VER >= 1020) && !defined(__midl) 12 -// #pragma once 13 -// #endif 14 - 15 -enum : uint { FACILITY_WINDOWS_CE = 24 } 16 -enum : uint { FACILITY_WINDOWS = 8 } 17 -enum : uint { FACILITY_URT = 19 } 18 -enum : uint { FACILITY_UMI = 22 } 19 -enum : uint { FACILITY_SXS = 23 } 20 -enum : uint { FACILITY_STORAGE = 3 } 21 -enum : uint { FACILITY_SSPI = 9 } 22 -enum : uint { FACILITY_SCARD = 16 } 23 -enum : uint { FACILITY_SETUPAPI = 15 } 24 -enum : uint { FACILITY_SECURITY = 9 } 25 -enum : uint { FACILITY_RPC = 1 } 26 -enum : uint { FACILITY_WIN32 = 7 } 27 -enum : uint { FACILITY_CONTROL = 10 } 28 -enum : uint { FACILITY_NULL = 0 } 29 -enum : uint { FACILITY_MSMQ = 14 } 30 -enum : uint { FACILITY_MEDIASERVER = 13 } 31 -enum : uint { FACILITY_INTERNET = 12 } 32 -enum : uint { FACILITY_ITF = 4 } 33 -enum : uint { FACILITY_HTTP = 25 } 34 -enum : uint { FACILITY_DPLAY = 21 } 35 -enum : uint { FACILITY_DISPATCH = 2 } 36 -enum : uint { FACILITY_CONFIGURATION = 33 } 37 -enum : uint { FACILITY_COMPLUS = 17 } 38 -enum : uint { FACILITY_CERT = 11 } 39 -enum : uint { FACILITY_BACKGROUNDCOPY = 32 } 40 -enum : uint { FACILITY_ACS = 20 } 41 -enum : uint { FACILITY_AAF = 18 } 42 - 43 -enum : uint { ERROR_SUCCESS = 0 } 44 - 45 -enum : uint { NO_ERROR = 0 } 46 -enum : HRESULT { SEC_E_OK = cast(HRESULT)0x00000000 } 47 - 48 -enum : uint { ERROR_INVALID_FUNCTION = 1 } 49 - 50 -enum : uint { ERROR_FILE_NOT_FOUND = 2 } 51 - 52 -enum : uint { ERROR_PATH_NOT_FOUND = 3 } 53 - 54 -enum : uint { ERROR_TOO_MANY_OPEN_FILES = 4 } 55 - 56 -enum : uint { ERROR_ACCESS_DENIED = 5 } 57 - 58 -enum : uint { ERROR_INVALID_HANDLE = 6 } 59 - 60 -enum : uint { ERROR_ARENA_TRASHED = 7 } 61 - 62 -enum : uint { ERROR_NOT_ENOUGH_MEMORY = 8 } 63 - 64 -enum : uint { ERROR_INVALID_BLOCK = 9 } 65 - 66 -enum : uint { ERROR_BAD_ENVIRONMENT = 10 } 67 - 68 -enum : uint { ERROR_BAD_FORMAT = 11 } 69 - 70 -enum : uint { ERROR_INVALID_ACCESS = 12 } 71 - 72 -enum : uint { ERROR_INVALID_DATA = 13 } 73 - 74 -enum : uint { ERROR_OUTOFMEMORY = 14 } 75 - 76 -enum : uint { ERROR_INVALID_DRIVE = 15 } 77 - 78 -enum : uint { ERROR_CURRENT_DIRECTORY = 16 } 79 - 80 -enum : uint { ERROR_NOT_SAME_DEVICE = 17 } 81 - 82 -enum : uint { ERROR_NO_MORE_FILES = 18 } 83 - 84 -enum : uint { ERROR_WRITE_PROTECT = 19 } 85 - 86 -enum : uint { ERROR_BAD_UNIT = 20 } 87 - 88 -enum : uint { ERROR_NOT_READY = 21 } 89 - 90 -enum : uint { ERROR_BAD_COMMAND = 22 } 91 - 92 -enum : uint { ERROR_CRC = 23 } 93 - 94 -enum : uint { ERROR_BAD_LENGTH = 24 } 95 - 96 -enum : uint { ERROR_SEEK = 25 } 97 - 98 -enum : uint { ERROR_NOT_DOS_DISK = 26 } 99 - 100 -enum : uint { ERROR_SECTOR_NOT_FOUND = 27 } 101 - 102 -enum : uint { ERROR_OUT_OF_PAPER = 28 } 103 - 104 -enum : uint { ERROR_WRITE_FAULT = 29 } 105 - 106 -enum : uint { ERROR_READ_FAULT = 30 } 107 - 108 -enum : uint { ERROR_GEN_FAILURE = 31 } 109 - 110 -enum : uint { ERROR_SHARING_VIOLATION = 32 } 111 - 112 -enum : uint { ERROR_LOCK_VIOLATION = 33 } 113 - 114 -enum : uint { ERROR_WRONG_DISK = 34 } 115 - 116 -enum : uint { ERROR_SHARING_BUFFER_EXCEEDED = 36 } 117 - 118 -enum : uint { ERROR_HANDLE_EOF = 38 } 119 - 120 -enum : uint { ERROR_HANDLE_DISK_FULL = 39 } 121 - 122 -enum : uint { ERROR_NOT_SUPPORTED = 50 } 123 - 124 -enum : uint { ERROR_REM_NOT_LIST = 51 } 125 - 126 -enum : uint { ERROR_DUP_NAME = 52 } 127 - 128 -enum : uint { ERROR_BAD_NETPATH = 53 } 129 - 130 -enum : uint { ERROR_NETWORK_BUSY = 54 } 131 - 132 -enum : uint { ERROR_DEV_NOT_EXIST = 55 } 133 - 134 -enum : uint { ERROR_TOO_MANY_CMDS = 56 } 135 - 136 -enum : uint { ERROR_ADAP_HDW_ERR = 57 } 137 - 138 -enum : uint { ERROR_BAD_NET_RESP = 58 } 139 - 140 -enum : uint { ERROR_UNEXP_NET_ERR = 59 } 141 - 142 -enum : uint { ERROR_BAD_REM_ADAP = 60 } 143 - 144 -enum : uint { ERROR_PRINTQ_FULL = 61 } 145 - 146 -enum : uint { ERROR_NO_SPOOL_SPACE = 62 } 147 - 148 -enum : uint { ERROR_PRINT_CANCELLED = 63 } 149 - 150 -enum : uint { ERROR_NETNAME_DELETED = 64 } 151 - 152 -enum : uint { ERROR_NETWORK_ACCESS_DENIED = 65 } 153 - 154 -enum : uint { ERROR_BAD_DEV_TYPE = 66 } 155 - 156 -enum : uint { ERROR_BAD_NET_NAME = 67 } 157 - 158 -enum : uint { ERROR_TOO_MANY_NAMES = 68 } 159 - 160 -enum : uint { ERROR_TOO_MANY_SESS = 69 } 161 - 162 -enum : uint { ERROR_SHARING_PAUSED = 70 } 163 - 164 -enum : uint { ERROR_REQ_NOT_ACCEP = 71 } 165 - 166 -enum : uint { ERROR_REDIR_PAUSED = 72 } 167 - 168 -enum : uint { ERROR_FILE_EXISTS = 80 } 169 - 170 -enum : uint { ERROR_CANNOT_MAKE = 82 } 171 - 172 -enum : uint { ERROR_FAIL_I24 = 83 } 173 - 174 -enum : uint { ERROR_OUT_OF_STRUCTURES = 84 } 175 - 176 -enum : uint { ERROR_ALREADY_ASSIGNED = 85 } 177 - 178 -enum : uint { ERROR_INVALID_PASSWORD = 86 } 179 - 180 -enum : uint { ERROR_INVALID_PARAMETER = 87 } 181 - 182 -enum : uint { ERROR_NET_WRITE_FAULT = 88 } 183 - 184 -enum : uint { ERROR_NO_PROC_SLOTS = 89 } 185 - 186 -enum : uint { ERROR_TOO_MANY_SEMAPHORES = 100 } 187 - 188 -enum : uint { ERROR_EXCL_SEM_ALREADY_OWNED = 101 } 189 - 190 -enum : uint { ERROR_SEM_IS_SET = 102 } 191 - 192 -enum : uint { ERROR_TOO_MANY_SEM_REQUESTS = 103 } 193 - 194 -enum : uint { ERROR_INVALID_AT_INTERRUPT_TIME = 104 } 195 - 196 -enum : uint { ERROR_SEM_OWNER_DIED = 105 } 197 - 198 -enum : uint { ERROR_SEM_USER_LIMIT = 106 } 199 - 200 -enum : uint { ERROR_DISK_CHANGE = 107 } 201 - 202 -enum : uint { ERROR_DRIVE_LOCKED = 108 } 203 - 204 -enum : uint { ERROR_BROKEN_PIPE = 109 } 205 - 206 -enum : uint { ERROR_OPEN_FAILED = 110 } 207 - 208 -enum : uint { ERROR_BUFFER_OVERFLOW = 111 } 209 - 210 -enum : uint { ERROR_DISK_FULL = 112 } 211 - 212 -enum : uint { ERROR_NO_MORE_SEARCH_HANDLES = 113 } 213 - 214 -enum : uint { ERROR_INVALID_TARGET_HANDLE = 114 } 215 - 216 -enum : uint { ERROR_INVALID_CATEGORY = 117 } 217 - 218 -enum : uint { ERROR_INVALID_VERIFY_SWITCH = 118 } 219 - 220 -enum : uint { ERROR_BAD_DRIVER_LEVEL = 119 } 221 - 222 -enum : uint { ERROR_CALL_NOT_IMPLEMENTED = 120 } 223 - 224 -enum : uint { ERROR_SEM_TIMEOUT = 121 } 225 - 226 -enum : uint { ERROR_INSUFFICIENT_BUFFER = 122 } 227 - 228 -enum : uint { ERROR_INVALID_NAME = 123 } 229 - 230 -enum : uint { ERROR_INVALID_LEVEL = 124 } 231 - 232 -enum : uint { ERROR_NO_VOLUME_LABEL = 125 } 233 - 234 -enum : uint { ERROR_MOD_NOT_FOUND = 126 } 235 - 236 -enum : uint { ERROR_PROC_NOT_FOUND = 127 } 237 - 238 -enum : uint { ERROR_WAIT_NO_CHILDREN = 128 } 239 - 240 -enum : uint { ERROR_CHILD_NOT_COMPLETE = 129 } 241 - 242 -enum : uint { ERROR_DIRECT_ACCESS_HANDLE = 130 } 243 - 244 -enum : uint { ERROR_NEGATIVE_SEEK = 131 } 245 - 246 -enum : uint { ERROR_SEEK_ON_DEVICE = 132 } 247 - 248 -enum : uint { ERROR_IS_JOIN_TARGET = 133 } 249 - 250 -enum : uint { ERROR_IS_JOINED = 134 } 251 - 252 -enum : uint { ERROR_IS_SUBSTED = 135 } 253 - 254 -enum : uint { ERROR_NOT_JOINED = 136 } 255 - 256 -enum : uint { ERROR_NOT_SUBSTED = 137 } 257 - 258 -enum : uint { ERROR_JOIN_TO_JOIN = 138 } 259 - 260 -enum : uint { ERROR_SUBST_TO_SUBST = 139 } 261 - 262 -enum : uint { ERROR_JOIN_TO_SUBST = 140 } 263 - 264 -enum : uint { ERROR_SUBST_TO_JOIN = 141 } 265 - 266 -enum : uint { ERROR_BUSY_DRIVE = 142 } 267 - 268 -enum : uint { ERROR_SAME_DRIVE = 143 } 269 - 270 -enum : uint { ERROR_DIR_NOT_ROOT = 144 } 271 - 272 -enum : uint { ERROR_DIR_NOT_EMPTY = 145 } 273 - 274 -enum : uint { ERROR_IS_SUBST_PATH = 146 } 275 - 276 -enum : uint { ERROR_IS_JOIN_PATH = 147 } 277 - 278 -enum : uint { ERROR_PATH_BUSY = 148 } 279 - 280 -enum : uint { ERROR_IS_SUBST_TARGET = 149 } 281 - 282 -enum : uint { ERROR_SYSTEM_TRACE = 150 } 283 - 284 -enum : uint { ERROR_INVALID_EVENT_COUNT = 151 } 285 - 286 -enum : uint { ERROR_TOO_MANY_MUXWAITERS = 152 } 287 - 288 -enum : uint { ERROR_INVALID_LIST_FORMAT = 153 } 289 - 290 -enum : uint { ERROR_LABEL_TOO_LONG = 154 } 291 - 292 -enum : uint { ERROR_TOO_MANY_TCBS = 155 } 293 - 294 -enum : uint { ERROR_SIGNAL_REFUSED = 156 } 295 - 296 -enum : uint { ERROR_DISCARDED = 157 } 297 - 298 -enum : uint { ERROR_NOT_LOCKED = 158 } 299 - 300 -enum : uint { ERROR_BAD_THREADID_ADDR = 159 } 301 - 302 -enum : uint { ERROR_BAD_ARGUMENTS = 160 } 303 - 304 -enum : uint { ERROR_BAD_PATHNAME = 161 } 305 - 306 -enum : uint { ERROR_SIGNAL_PENDING = 162 } 307 - 308 -enum : uint { ERROR_MAX_THRDS_REACHED = 164 } 309 - 310 -enum : uint { ERROR_LOCK_FAILED = 167 } 311 - 312 -enum : uint { ERROR_BUSY = 170 } 313 - 314 -enum : uint { ERROR_CANCEL_VIOLATION = 173 } 315 - 316 -enum : uint { ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = 174 } 317 - 318 -enum : uint { ERROR_INVALID_SEGMENT_NUMBER = 180 } 319 - 320 -enum : uint { ERROR_INVALID_ORDINAL = 182 } 321 - 322 -enum : uint { ERROR_ALREADY_EXISTS = 183 } 323 - 324 -enum : uint { ERROR_INVALID_FLAG_NUMBER = 186 } 325 - 326 -enum : uint { ERROR_SEM_NOT_FOUND = 187 } 327 - 328 -enum : uint { ERROR_INVALID_STARTING_CODESEG = 188 } 329 - 330 -enum : uint { ERROR_INVALID_STACKSEG = 189 } 331 - 332 -enum : uint { ERROR_INVALID_MODULETYPE = 190 } 333 - 334 -enum : uint { ERROR_INVALID_EXE_SIGNATURE = 191 } 335 - 336 -enum : uint { ERROR_EXE_MARKED_INVALID = 192 } 337 - 338 -enum : uint { ERROR_BAD_EXE_FORMAT = 193 } 339 - 340 -enum : uint { ERROR_ITERATED_DATA_EXCEEDS_64k = 194 } 341 - 342 -enum : uint { ERROR_INVALID_MINALLOCSIZE = 195 } 343 - 344 -enum : uint { ERROR_DYNLINK_FROM_INVALID_RING = 196 } 345 - 346 -enum : uint { ERROR_IOPL_NOT_ENABLED = 197 } 347 - 348 -enum : uint { ERROR_INVALID_SEGDPL = 198 } 349 - 350 -enum : uint { ERROR_AUTODATASEG_EXCEEDS_64k = 199 } 351 - 352 -enum : uint { ERROR_RING2SEG_MUST_BE_MOVABLE = 200 } 353 - 354 -enum : uint { ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201 } 355 - 356 -enum : uint { ERROR_INFLOOP_IN_RELOC_CHAIN = 202 } 357 - 358 -enum : uint { ERROR_ENVVAR_NOT_FOUND = 203 } 359 - 360 -enum : uint { ERROR_NO_SIGNAL_SENT = 205 } 361 - 362 -enum : uint { ERROR_FILENAME_EXCED_RANGE = 206 } 363 - 364 -enum : uint { ERROR_RING2_STACK_IN_USE = 207 } 365 - 366 -enum : uint { ERROR_META_EXPANSION_TOO_LONG = 208 } 367 - 368 -enum : uint { ERROR_INVALID_SIGNAL_NUMBER = 209 } 369 - 370 -enum : uint { ERROR_THREAD_1_INACTIVE = 210 } 371 - 372 -enum : uint { ERROR_LOCKED = 212 } 373 - 374 -enum : uint { ERROR_TOO_MANY_MODULES = 214 } 375 - 376 -enum : uint { ERROR_NESTING_NOT_ALLOWED = 215 } 377 - 378 -enum : uint { ERROR_EXE_MACHINE_TYPE_MISMATCH = 216 } 379 - 380 -enum : uint { ERROR_BAD_PIPE = 230 } 381 - 382 -enum : uint { ERROR_PIPE_BUSY = 231 } 383 - 384 -enum : uint { ERROR_NO_DATA = 232 } 385 - 386 -enum : uint { ERROR_PIPE_NOT_CONNECTED = 233 } 387 - 388 -enum : uint { ERROR_MORE_DATA = 234 } 389 - 390 -enum : uint { ERROR_VC_DISCONNECTED = 240 } 391 - 392 -enum : uint { ERROR_INVALID_EA_NAME = 254 } 393 - 394 -enum : uint { ERROR_EA_LIST_INCONSISTENT = 255 } 395 - 396 -enum : uint { WAIT_TIMEOUT = 258 } 397 - 398 -enum : uint { ERROR_NO_MORE_ITEMS = 259 } 399 - 400 -enum : uint { ERROR_CANNOT_COPY = 266 } 401 - 402 -enum : uint { ERROR_DIRECTORY = 267 } 403 - 404 -enum : uint { ERROR_EAS_DIDNT_FIT = 275 } 405 - 406 -enum : uint { ERROR_EA_FILE_CORRUPT = 276 } 407 - 408 -enum : uint { ERROR_EA_TABLE_FULL = 277 } 409 - 410 -enum : uint { ERROR_INVALID_EA_HANDLE = 278 } 411 - 412 -enum : uint { ERROR_EAS_NOT_SUPPORTED = 282 } 413 - 414 -enum : uint { ERROR_NOT_OWNER = 288 } 415 - 416 -enum : uint { ERROR_TOO_MANY_POSTS = 298 } 417 - 418 -enum : uint { ERROR_PARTIAL_COPY = 299 } 419 - 420 -enum : uint { ERROR_OPLOCK_NOT_GRANTED = 300 } 421 - 422 -enum : uint { ERROR_INVALID_OPLOCK_PROTOCOL = 301 } 423 - 424 -enum : uint { ERROR_DISK_TOO_FRAGMENTED = 302 } 425 - 426 -enum : uint { ERROR_DELETE_PENDING = 303 } 427 - 428 -enum : uint { ERROR_MR_MID_NOT_FOUND = 317 } 429 - 430 -enum : uint { ERROR_INVALID_ADDRESS = 487 } 431 - 432 -enum : uint { ERROR_ARITHMETIC_OVERFLOW = 534 } 433 - 434 -enum : uint { ERROR_PIPE_CONNECTED = 535 } 435 - 436 -enum : uint { ERROR_PIPE_LISTENING = 536 } 437 - 438 -enum : uint { ERROR_EA_ACCESS_DENIED = 994 } 439 - 440 -enum : uint { ERROR_OPERATION_ABORTED = 995 } 441 - 442 -enum : uint { ERROR_IO_INCOMPLETE = 996 } 443 - 444 -enum : uint { ERROR_IO_PENDING = 997 } 445 - 446 -enum : uint { ERROR_NOACCESS = 998 } 447 - 448 -enum : uint { ERROR_SWAPERROR = 999 } 449 - 450 -enum : uint { ERROR_STACK_OVERFLOW = 1001 } 451 - 452 -enum : uint { ERROR_INVALID_MESSAGE = 1002 } 453 - 454 -enum : uint { ERROR_CAN_NOT_COMPLETE = 1003 } 455 - 456 -enum : uint { ERROR_INVALID_FLAGS = 1004 } 457 - 458 -enum : uint { ERROR_UNRECOGNIZED_VOLUME = 1005 } 459 - 460 -enum : uint { ERROR_FILE_INVALID = 1006 } 461 - 462 -enum : uint { ERROR_FULLSCREEN_MODE = 1007 } 463 - 464 -enum : uint { ERROR_NO_TOKEN = 1008 } 465 - 466 -enum : uint { ERROR_BADDB = 1009 } 467 - 468 -enum : uint { ERROR_BADKEY = 1010 } 469 - 470 -enum : uint { ERROR_CANTOPEN = 1011 } 471 - 472 -enum : uint { ERROR_CANTREAD = 1012 } 473 - 474 -enum : uint { ERROR_CANTWRITE = 1013 } 475 - 476 -enum : uint { ERROR_REGISTRY_RECOVERED = 1014 } 477 - 478 -enum : uint { ERROR_REGISTRY_CORRUPT = 1015 } 479 - 480 -enum : uint { ERROR_REGISTRY_IO_FAILED = 1016 } 481 - 482 -enum : uint { ERROR_NOT_REGISTRY_FILE = 1017 } 483 - 484 -enum : uint { ERROR_KEY_DELETED = 1018 } 485 - 486 -enum : uint { ERROR_NO_LOG_SPACE = 1019 } 487 - 488 -enum : uint { ERROR_KEY_HAS_CHILDREN = 1020 } 489 - 490 -enum : uint { ERROR_CHILD_MUST_BE_VOLATILE = 1021 } 491 - 492 -enum : uint { ERROR_NOTIFY_ENUM_DIR = 1022 } 493 - 494 -enum : uint { ERROR_DEPENDENT_SERVICES_RUNNING = 1051 } 495 - 496 -enum : uint { ERROR_INVALID_SERVICE_CONTROL = 1052 } 497 - 498 -enum : uint { ERROR_SERVICE_REQUEST_TIMEOUT = 1053 } 499 - 500 -enum : uint { ERROR_SERVICE_NO_THREAD = 1054 } 501 - 502 -enum : uint { ERROR_SERVICE_DATABASE_LOCKED = 1055 } 503 - 504 -enum : uint { ERROR_SERVICE_ALREADY_RUNNING = 1056 } 505 - 506 -enum : uint { ERROR_INVALID_SERVICE_ACCOUNT = 1057 } 507 - 508 -enum : uint { ERROR_SERVICE_DISABLED = 1058 } 509 - 510 -enum : uint { ERROR_CIRCULAR_DEPENDENCY = 1059 } 511 - 512 -enum : uint { ERROR_SERVICE_DOES_NOT_EXIST = 1060 } 513 - 514 -enum : uint { ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061 } 515 - 516 -enum : uint { ERROR_SERVICE_NOT_ACTIVE = 1062 } 517 - 518 -enum : uint { ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063 } 519 - 520 -enum : uint { ERROR_EXCEPTION_IN_SERVICE = 1064 } 521 - 522 -enum : uint { ERROR_DATABASE_DOES_NOT_EXIST = 1065 } 523 - 524 -enum : uint { ERROR_SERVICE_SPECIFIC_ERROR = 1066 } 525 - 526 -enum : uint { ERROR_PROCESS_ABORTED = 1067 } 527 - 528 -enum : uint { ERROR_SERVICE_DEPENDENCY_FAIL = 1068 } 529 - 530 -enum : uint { ERROR_SERVICE_LOGON_FAILED = 1069 } 531 - 532 -enum : uint { ERROR_SERVICE_START_HANG = 1070 } 533 - 534 -enum : uint { ERROR_INVALID_SERVICE_LOCK = 1071 } 535 - 536 -enum : uint { ERROR_SERVICE_MARKED_FOR_DELETE = 1072 } 537 - 538 -enum : uint { ERROR_SERVICE_EXISTS = 1073 } 539 - 540 -enum : uint { ERROR_ALREADY_RUNNING_LKG = 1074 } 541 - 542 -enum : uint { ERROR_SERVICE_DEPENDENCY_DELETED = 1075 } 543 - 544 -enum : uint { ERROR_BOOT_ALREADY_ACCEPTED = 1076 } 545 - 546 -enum : uint { ERROR_SERVICE_NEVER_STARTED = 1077 } 547 - 548 -enum : uint { ERROR_DUPLICATE_SERVICE_NAME = 1078 } 549 - 550 -enum : uint { ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079 } 551 - 552 -enum : uint { ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080 } 553 - 554 -enum : uint { ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081 } 555 - 556 -enum : uint { ERROR_NO_RECOVERY_PROGRAM = 1082 } 557 - 558 -enum : uint { ERROR_SERVICE_NOT_IN_EXE = 1083 } 559 - 560 -enum : uint { ERROR_NOT_SAFEBOOT_SERVICE = 1084 } 561 - 562 -enum : uint { ERROR_END_OF_MEDIA = 1100 } 563 - 564 -enum : uint { ERROR_FILEMARK_DETECTED = 1101 } 565 - 566 -enum : uint { ERROR_BEGINNING_OF_MEDIA = 1102 } 567 - 568 -enum : uint { ERROR_SETMARK_DETECTED = 1103 } 569 - 570 -enum : uint { ERROR_NO_DATA_DETECTED = 1104 } 571 - 572 -enum : uint { ERROR_PARTITION_FAILURE = 1105 } 573 - 574 -enum : uint { ERROR_INVALID_BLOCK_LENGTH = 1106 } 575 - 576 -enum : uint { ERROR_DEVICE_NOT_PARTITIONED = 1107 } 577 - 578 -enum : uint { ERROR_UNABLE_TO_LOCK_MEDIA = 1108 } 579 - 580 -enum : uint { ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109 } 581 - 582 -enum : uint { ERROR_MEDIA_CHANGED = 1110 } 583 - 584 -enum : uint { ERROR_BUS_RESET = 1111 } 585 - 586 -enum : uint { ERROR_NO_MEDIA_IN_DRIVE = 1112 } 587 - 588 -enum : uint { ERROR_NO_UNICODE_TRANSLATION = 1113 } 589 - 590 -enum : uint { ERROR_DLL_INIT_FAILED = 1114 } 591 - 592 -enum : uint { ERROR_SHUTDOWN_IN_PROGRESS = 1115 } 593 - 594 -enum : uint { ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116 } 595 - 596 -enum : uint { ERROR_IO_DEVICE = 1117 } 597 - 598 -enum : uint { ERROR_SERIAL_NO_DEVICE = 1118 } 599 - 600 -enum : uint { ERROR_IRQ_BUSY = 1119 } 601 - 602 -enum : uint { ERROR_MORE_WRITES = 1120 } 603 - 604 -enum : uint { ERROR_COUNTER_TIMEOUT = 1121 } 605 - 606 -enum : uint { ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122 } 607 - 608 -enum : uint { ERROR_FLOPPY_WRONG_CYLINDER = 1123 } 609 - 610 -enum : uint { ERROR_FLOPPY_UNKNOWN_ERROR = 1124 } 611 - 612 -enum : uint { ERROR_FLOPPY_BAD_REGISTERS = 1125 } 613 - 614 -enum : uint { ERROR_DISK_RECALIBRATE_FAILED = 1126 } 615 - 616 -enum : uint { ERROR_DISK_OPERATION_FAILED = 1127 } 617 - 618 -enum : uint { ERROR_DISK_RESET_FAILED = 1128 } 619 - 620 -enum : uint { ERROR_EOM_OVERFLOW = 1129 } 621 - 622 -enum : uint { ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130 } 623 - 624 -enum : uint { ERROR_POSSIBLE_DEADLOCK = 1131 } 625 - 626 -enum : uint { ERROR_MAPPED_ALIGNMENT = 1132 } 627 - 628 -enum : uint { ERROR_SET_POWER_STATE_VETOED = 1140 } 629 - 630 -enum : uint { ERROR_SET_POWER_STATE_FAILED = 1141 } 631 - 632 -enum : uint { ERROR_TOO_MANY_LINKS = 1142 } 633 - 634 -enum : uint { ERROR_OLD_WIN_VERSION = 1150 } 635 - 636 -enum : uint { ERROR_APP_WRONG_OS = 1151 } 637 - 638 -enum : uint { ERROR_SINGLE_INSTANCE_APP = 1152 } 639 - 640 -enum : uint { ERROR_RMODE_APP = 1153 } 641 - 642 -enum : uint { ERROR_INVALID_DLL = 1154 } 643 - 644 -enum : uint { ERROR_NO_ASSOCIATION = 1155 } 645 - 646 -enum : uint { ERROR_DDE_FAIL = 1156 } 647 - 648 -enum : uint { ERROR_DLL_NOT_FOUND = 1157 } 649 - 650 -enum : uint { ERROR_NO_MORE_USER_HANDLES = 1158 } 651 - 652 -enum : uint { ERROR_MESSAGE_SYNC_ONLY = 1159 } 653 - 654 -enum : uint { ERROR_SOURCE_ELEMENT_EMPTY = 1160 } 655 - 656 -enum : uint { ERROR_DESTINATION_ELEMENT_FULL = 1161 } 657 - 658 -enum : uint { ERROR_ILLEGAL_ELEMENT_ADDRESS = 1162 } 659 - 660 -enum : uint { ERROR_MAGAZINE_NOT_PRESENT = 1163 } 661 - 662 -enum : uint { ERROR_DEVICE_REINITIALIZATION_NEEDED = 1164 } 663 - 664 -enum : uint { ERROR_DEVICE_REQUIRES_CLEANING = 1165 } 665 - 666 -enum : uint { ERROR_DEVICE_DOOR_OPEN = 1166 } 667 - 668 -enum : uint { ERROR_DEVICE_NOT_CONNECTED = 1167 } 669 - 670 -enum : uint { ERROR_NOT_FOUND = 1168 } 671 - 672 -enum : uint { ERROR_NO_MATCH = 1169 } 673 - 674 -enum : uint { ERROR_SET_NOT_FOUND = 1170 } 675 - 676 -enum : uint { ERROR_POINT_NOT_FOUND = 1171 } 677 - 678 -enum : uint { ERROR_NO_TRACKING_SERVICE = 1172 } 679 - 680 -enum : uint { ERROR_NO_VOLUME_ID = 1173 } 681 - 682 -enum : uint { ERROR_UNABLE_TO_REMOVE_REPLACED = 1175 } 683 - 684 -enum : uint { ERROR_UNABLE_TO_MOVE_REPLACEMENT = 1176 } 685 - 686 -enum : uint { ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 = 1177 } 687 - 688 -enum : uint { ERROR_JOURNAL_DELETE_IN_PROGRESS = 1178 } 689 - 690 -enum : uint { ERROR_JOURNAL_NOT_ACTIVE = 1179 } 691 - 692 -enum : uint { ERROR_POTENTIAL_FILE_FOUND = 1180 } 693 - 694 -enum : uint { ERROR_JOURNAL_ENTRY_DELETED = 1181 } 695 - 696 -enum : uint { ERROR_BAD_DEVICE = 1200 } 697 - 698 -enum : uint { ERROR_CONNECTION_UNAVAIL = 1201 } 699 - 700 -enum : uint { ERROR_DEVICE_ALREADY_REMEMBERED = 1202 } 701 - 702 -enum : uint { ERROR_NO_NET_OR_BAD_PATH = 1203 } 703 - 704 -enum : uint { ERROR_BAD_PROVIDER = 1204 } 705 - 706 -enum : uint { ERROR_CANNOT_OPEN_PROFILE = 1205 } 707 - 708 -enum : uint { ERROR_BAD_PROFILE = 1206 } 709 - 710 -enum : uint { ERROR_NOT_CONTAINER = 1207 } 711 - 712 -enum : uint { ERROR_EXTENDED_ERROR = 1208 } 713 - 714 -enum : uint { ERROR_INVALID_GROUPNAME = 1209 } 715 - 716 -enum : uint { ERROR_INVALID_COMPUTERNAME = 1210 } 717 - 718 -enum : uint { ERROR_INVALID_EVENTNAME = 1211 } 719 - 720 -enum : uint { ERROR_INVALID_DOMAINNAME = 1212 } 721 - 722 -enum : uint { ERROR_INVALID_SERVICENAME = 1213 } 723 - 724 -enum : uint { ERROR_INVALID_NETNAME = 1214 } 725 - 726 -enum : uint { ERROR_INVALID_SHARENAME = 1215 } 727 - 728 -enum : uint { ERROR_INVALID_PASSWORDNAME = 1216 } 729 - 730 -enum : uint { ERROR_INVALID_MESSAGENAME = 1217 } 731 - 732 -enum : uint { ERROR_INVALID_MESSAGEDEST = 1218 } 733 - 734 -enum : uint { ERROR_SESSION_CREDENTIAL_CONFLICT = 1219 } 735 - 736 -enum : uint { ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220 } 737 - 738 -enum : uint { ERROR_DUP_DOMAINNAME = 1221 } 739 - 740 -enum : uint { ERROR_NO_NETWORK = 1222 } 741 - 742 -enum : uint { ERROR_CANCELLED = 1223 } 743 - 744 -enum : uint { ERROR_USER_MAPPED_FILE = 1224 } 745 - 746 -enum : uint { ERROR_CONNECTION_REFUSED = 1225 } 747 - 748 -enum : uint { ERROR_GRACEFUL_DISCONNECT = 1226 } 749 - 750 -enum : uint { ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227 } 751 - 752 -enum : uint { ERROR_ADDRESS_NOT_ASSOCIATED = 1228 } 753 - 754 -enum : uint { ERROR_CONNECTION_INVALID = 1229 } 755 - 756 -enum : uint { ERROR_CONNECTION_ACTIVE = 1230 } 757 - 758 -enum : uint { ERROR_NETWORK_UNREACHABLE = 1231 } 759 - 760 -enum : uint { ERROR_HOST_UNREACHABLE = 1232 } 761 - 762 -enum : uint { ERROR_PROTOCOL_UNREACHABLE = 1233 } 763 - 764 -enum : uint { ERROR_PORT_UNREACHABLE = 1234 } 765 - 766 -enum : uint { ERROR_REQUEST_ABORTED = 1235 } 767 - 768 -enum : uint { ERROR_CONNECTION_ABORTED = 1236 } 769 - 770 -enum : uint { ERROR_RETRY = 1237 } 771 - 772 -enum : uint { ERROR_CONNECTION_COUNT_LIMIT = 1238 } 773 - 774 -enum : uint { ERROR_LOGIN_TIME_RESTRICTION = 1239 } 775 - 776 -enum : uint { ERROR_LOGIN_WKSTA_RESTRICTION = 1240 } 777 - 778 -enum : uint { ERROR_INCORRECT_ADDRESS = 1241 } 779 - 780 -enum : uint { ERROR_ALREADY_REGISTERED = 1242 } 781 - 782 -enum : uint { ERROR_SERVICE_NOT_FOUND = 1243 } 783 - 784 -enum : uint { ERROR_NOT_AUTHENTICATED = 1244 } 785 - 786 -enum : uint { ERROR_NOT_LOGGED_ON = 1245 } 787 - 788 -enum : uint { ERROR_CONTINUE = 1246 } 789 - 790 -enum : uint { ERROR_ALREADY_INITIALIZED = 1247 } 791 - 792 -enum : uint { ERROR_NO_MORE_DEVICES = 1248 } 793 - 794 -enum : uint { ERROR_NO_SUCH_SITE = 1249 } 795 - 796 -enum : uint { ERROR_DOMAIN_CONTROLLER_EXISTS = 1250 } 797 - 798 -enum : uint { ERROR_ONLY_IF_CONNECTED = 1251 } 799 - 800 -enum : uint { ERROR_OVERRIDE_NOCHANGES = 1252 } 801 - 802 -enum : uint { ERROR_BAD_USER_PROFILE = 1253 } 803 - 804 -enum : uint { ERROR_NOT_SUPPORTED_ON_SBS = 1254 } 805 - 806 -enum : uint { ERROR_SERVER_SHUTDOWN_IN_PROGRESS = 1255 } 807 - 808 -enum : uint { ERROR_HOST_DOWN = 1256 } 809 - 810 -enum : uint { ERROR_NON_ACCOUNT_SID = 1257 } 811 - 812 -enum : uint { ERROR_NON_DOMAIN_SID = 1258 } 813 - 814 -enum : uint { ERROR_APPHELP_BLOCK = 1259 } 815 - 816 -enum : uint { ERROR_ACCESS_DISABLED_BY_POLICY = 1260 } 817 - 818 -enum : uint { ERROR_REG_NAT_CONSUMPTION = 1261 } 819 - 820 -enum : uint { ERROR_CSCSHARE_OFFLINE = 1262 } 821 - 822 -enum : uint { ERROR_PKINIT_FAILURE = 1263 } 823 - 824 -enum : uint { ERROR_SMARTCARD_SUBSYSTEM_FAILURE = 1264 } 825 - 826 -enum : uint { ERROR_DOWNGRADE_DETECTED = 1265 } 827 - 828 -enum : uint { SEC_E_SMARTCARD_CERT_REVOKED = 1266 } 829 - 830 -enum : uint { SEC_E_ISSUING_CA_UNTRUSTED = 1267 } 831 - 832 -enum : uint { SEC_E_REVOCATION_OFFLINE_C = 1268 } 833 - 834 -enum : uint { SEC_E_PKINIT_CLIENT_FAILURE = 1269 } 835 - 836 -enum : uint { SEC_E_SMARTCARD_CERT_EXPIRED = 1270 } 837 - 838 -enum : uint { ERROR_MACHINE_LOCKED = 1271 } 839 - 840 -enum : uint { ERROR_CALLBACK_SUPPLIED_INVALID_DATA = 1273 } 841 - 842 -enum : uint { ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED = 1274 } 843 - 844 -enum : uint { ERROR_DRIVER_BLOCKED = 1275 } 845 - 846 -enum : uint { ERROR_INVALID_IMPORT_OF_NON_DLL = 1276 } 847 - 848 -enum : uint { ERROR_NOT_ALL_ASSIGNED = 1300 } 849 - 850 -enum : uint { ERROR_SOME_NOT_MAPPED = 1301 } 851 - 852 -enum : uint { ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302 } 853 - 854 -enum : uint { ERROR_LOCAL_USER_SESSION_KEY = 1303 } 855 - 856 -enum : uint { ERROR_NULL_LM_PASSWORD = 1304 } 857 - 858 -enum : uint { ERROR_UNKNOWN_REVISION = 1305 } 859 - 860 -enum : uint { ERROR_REVISION_MISMATCH = 1306 } 861 - 862 -enum : uint { ERROR_INVALID_OWNER = 1307 } 863 - 864 -enum : uint { ERROR_INVALID_PRIMARY_GROUP = 1308 } 865 - 866 -enum : uint { ERROR_NO_IMPERSONATION_TOKEN = 1309 } 867 - 868 -enum : uint { ERROR_CANT_DISABLE_MANDATORY = 1310 } 869 - 870 -enum : uint { ERROR_NO_LOGON_SERVERS = 1311 } 871 - 872 -enum : uint { ERROR_NO_SUCH_LOGON_SESSION = 1312 } 873 - 874 -enum : uint { ERROR_NO_SUCH_PRIVILEGE = 1313 } 875 - 876 -enum : uint { ERROR_PRIVILEGE_NOT_HELD = 1314 } 877 - 878 -enum : uint { ERROR_INVALID_ACCOUNT_NAME = 1315 } 879 - 880 -enum : uint { ERROR_USER_EXISTS = 1316 } 881 - 882 -enum : uint { ERROR_NO_SUCH_USER = 1317 } 883 - 884 -enum : uint { ERROR_GROUP_EXISTS = 1318 } 885 - 886 -enum : uint { ERROR_NO_SUCH_GROUP = 1319 } 887 - 888 -enum : uint { ERROR_MEMBER_IN_GROUP = 1320 } 889 - 890 -enum : uint { ERROR_MEMBER_NOT_IN_GROUP = 1321 } 891 - 892 -enum : uint { ERROR_LAST_ADMIN = 1322 } 893 - 894 -enum : uint { ERROR_WRONG_PASSWORD = 1323 } 895 - 896 -enum : uint { ERROR_ILL_FORMED_PASSWORD = 1324 } 897 - 898 -enum : uint { ERROR_PASSWORD_RESTRICTION = 1325 } 899 - 900 -enum : uint { ERROR_LOGON_FAILURE = 1326 } 901 - 902 -enum : uint { ERROR_ACCOUNT_RESTRICTION = 1327 } 903 - 904 -enum : uint { ERROR_INVALID_LOGON_HOURS = 1328 } 905 - 906 -enum : uint { ERROR_INVALID_WORKSTATION = 1329 } 907 - 908 -enum : uint { ERROR_PASSWORD_EXPIRED = 1330 } 909 - 910 -enum : uint { ERROR_ACCOUNT_DISABLED = 1331 } 911 - 912 -enum : uint { ERROR_NONE_MAPPED = 1332 } 913 - 914 -enum : uint { ERROR_TOO_MANY_LUIDS_REQUESTED = 1333 } 915 - 916 -enum : uint { ERROR_LUIDS_EXHAUSTED = 1334 } 917 - 918 -enum : uint { ERROR_INVALID_SUB_AUTHORITY = 1335 } 919 - 920 -enum : uint { ERROR_INVALID_ACL = 1336 } 921 - 922 -enum : uint { ERROR_INVALID_SID = 1337 } 923 - 924 -enum : uint { ERROR_INVALID_SECURITY_DESCR = 1338 } 925 - 926 -enum : uint { ERROR_BAD_INHERITANCE_ACL = 1340 } 927 - 928 -enum : uint { ERROR_SERVER_DISABLED = 1341 } 929 - 930 -enum : uint { ERROR_SERVER_NOT_DISABLED = 1342 } 931 - 932 -enum : uint { ERROR_INVALID_ID_AUTHORITY = 1343 } 933 - 934 -enum : uint { ERROR_ALLOTTED_SPACE_EXCEEDED = 1344 } 935 - 936 -enum : uint { ERROR_INVALID_GROUP_ATTRIBUTES = 1345 } 937 - 938 -enum : uint { ERROR_BAD_IMPERSONATION_LEVEL = 1346 } 939 - 940 -enum : uint { ERROR_CANT_OPEN_ANONYMOUS = 1347 } 941 - 942 -enum : uint { ERROR_BAD_VALIDATION_CLASS = 1348 } 943 - 944 -enum : uint { ERROR_BAD_TOKEN_TYPE = 1349 } 945 - 946 -enum : uint { ERROR_NO_SECURITY_ON_OBJECT = 1350 } 947 - 948 -enum : uint { ERROR_CANT_ACCESS_DOMAIN_INFO = 1351 } 949 - 950 -enum : uint { ERROR_INVALID_SERVER_STATE = 1352 } 951 - 952 -enum : uint { ERROR_INVALID_DOMAIN_STATE = 1353 } 953 - 954 -enum : uint { ERROR_INVALID_DOMAIN_ROLE = 1354 } 955 - 956 -enum : uint { ERROR_NO_SUCH_DOMAIN = 1355 } 957 - 958 -enum : uint { ERROR_DOMAIN_EXISTS = 1356 } 959 - 960 -enum : uint { ERROR_DOMAIN_LIMIT_EXCEEDED = 1357 } 961 - 962 -enum : uint { ERROR_INTERNAL_DB_CORRUPTION = 1358 } 963 - 964 -enum : uint { ERROR_INTERNAL_ERROR = 1359 } 965 - 966 -enum : uint { ERROR_GENERIC_NOT_MAPPED = 1360 } 967 - 968 -enum : uint { ERROR_BAD_DESCRIPTOR_FORMAT = 1361 } 969 - 970 -enum : uint { ERROR_NOT_LOGON_PROCESS = 1362 } 971 - 972 -enum : uint { ERROR_LOGON_SESSION_EXISTS = 1363 } 973 - 974 -enum : uint { ERROR_NO_SUCH_PACKAGE = 1364 } 975 - 976 -enum : uint { ERROR_BAD_LOGON_SESSION_STATE = 1365 } 977 - 978 -enum : uint { ERROR_LOGON_SESSION_COLLISION = 1366 } 979 - 980 -enum : uint { ERROR_INVALID_LOGON_TYPE = 1367 } 981 - 982 -enum : uint { ERROR_CANNOT_IMPERSONATE = 1368 } 983 - 984 -enum : uint { ERROR_RXACT_INVALID_STATE = 1369 } 985 - 986 -enum : uint { ERROR_RXACT_COMMIT_FAILURE = 1370 } 987 - 988 -enum : uint { ERROR_SPECIAL_ACCOUNT = 1371 } 989 - 990 -enum : uint { ERROR_SPECIAL_GROUP = 1372 } 991 - 992 -enum : uint { ERROR_SPECIAL_USER = 1373 } 993 - 994 -enum : uint { ERROR_MEMBERS_PRIMARY_GROUP = 1374 } 995 - 996 -enum : uint { ERROR_TOKEN_ALREADY_IN_USE = 1375 } 997 - 998 -enum : uint { ERROR_NO_SUCH_ALIAS = 1376 } 999 - 1000 -enum : uint { ERROR_MEMBER_NOT_IN_ALIAS = 1377 } 1001 - 1002 -enum : uint { ERROR_MEMBER_IN_ALIAS = 1378 } 1003 - 1004 -enum : uint { ERROR_ALIAS_EXISTS = 1379 } 1005 - 1006 -enum : uint { ERROR_LOGON_NOT_GRANTED = 1380 } 1007 - 1008 -enum : uint { ERROR_TOO_MANY_SECRETS = 1381 } 1009 - 1010 -enum : uint { ERROR_SECRET_TOO_LONG = 1382 } 1011 - 1012 -enum : uint { ERROR_INTERNAL_DB_ERROR = 1383 } 1013 - 1014 -enum : uint { ERROR_TOO_MANY_CONTEXT_IDS = 1384 } 1015 - 1016 -enum : uint { ERROR_LOGON_TYPE_NOT_GRANTED = 1385 } 1017 - 1018 -enum : uint { ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386 } 1019 - 1020 -enum : uint { ERROR_NO_SUCH_MEMBER = 1387 } 1021 - 1022 -enum : uint { ERROR_INVALID_MEMBER = 1388 } 1023 - 1024 -enum : uint { ERROR_TOO_MANY_SIDS = 1389 } 1025 - 1026 -enum : uint { ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390 } 1027 - 1028 -enum : uint { ERROR_NO_INHERITANCE = 1391 } 1029 - 1030 -enum : uint { ERROR_FILE_CORRUPT = 1392 } 1031 - 1032 -enum : uint { ERROR_DISK_CORRUPT = 1393 } 1033 - 1034 -enum : uint { ERROR_NO_USER_SESSION_KEY = 1394 } 1035 - 1036 -enum : uint { ERROR_LICENSE_QUOTA_EXCEEDED = 1395 } 1037 - 1038 -enum : uint { ERROR_WRONG_TARGET_NAME = 1396 } 1039 - 1040 -enum : uint { ERROR_MUTUAL_AUTH_FAILED = 1397 } 1041 - 1042 -enum : uint { ERROR_TIME_SKEW = 1398 } 1043 - 1044 -enum : uint { ERROR_CURRENT_DOMAIN_NOT_ALLOWED = 1399 } 1045 - 1046 -enum : uint { ERROR_INVALID_WINDOW_HANDLE = 1400 } 1047 - 1048 -enum : uint { ERROR_INVALID_MENU_HANDLE = 1401 } 1049 - 1050 -enum : uint { ERROR_INVALID_CURSOR_HANDLE = 1402 } 1051 - 1052 -enum : uint { ERROR_INVALID_ACCEL_HANDLE = 1403 } 1053 - 1054 -enum : uint { ERROR_INVALID_HOOK_HANDLE = 1404 } 1055 - 1056 -enum : uint { ERROR_INVALID_DWP_HANDLE = 1405 } 1057 - 1058 -enum : uint { ERROR_TLW_WITH_WSCHILD = 1406 } 1059 - 1060 -enum : uint { ERROR_CANNOT_FIND_WND_CLASS = 1407 } 1061 - 1062 -enum : uint { ERROR_WINDOW_OF_OTHER_THREAD = 1408 } 1063 - 1064 -enum : uint { ERROR_HOTKEY_ALREADY_REGISTERED = 1409 } 1065 - 1066 -enum : uint { ERROR_CLASS_ALREADY_EXISTS = 1410 } 1067 - 1068 -enum : uint { ERROR_CLASS_DOES_NOT_EXIST = 1411 } 1069 - 1070 -enum : uint { ERROR_CLASS_HAS_WINDOWS = 1412 } 1071 - 1072 -enum : uint { ERROR_INVALID_INDEX = 1413 } 1073 - 1074 -enum : uint { ERROR_INVALID_ICON_HANDLE = 1414 } 1075 - 1076 -enum : uint { ERROR_PRIVATE_DIALOG_INDEX = 1415 } 1077 - 1078 -enum : uint { ERROR_LISTBOX_ID_NOT_FOUND = 1416 } 1079 - 1080 -enum : uint { ERROR_NO_WILDCARD_CHARACTERS = 1417 } 1081 - 1082 -enum : uint { ERROR_CLIPBOARD_NOT_OPEN = 1418 } 1083 - 1084 -enum : uint { ERROR_HOTKEY_NOT_REGISTERED = 1419 } 1085 - 1086 -enum : uint { ERROR_WINDOW_NOT_DIALOG = 1420 } 1087 - 1088 -enum : uint { ERROR_CONTROL_ID_NOT_FOUND = 1421 } 1089 - 1090 -enum : uint { ERROR_INVALID_COMBOBOX_MESSAGE = 1422 } 1091 - 1092 -enum : uint { ERROR_WINDOW_NOT_COMBOBOX = 1423 } 1093 - 1094 -enum : uint { ERROR_INVALID_EDIT_HEIGHT = 1424 } 1095 - 1096 -enum : uint { ERROR_DC_NOT_FOUND = 1425 } 1097 - 1098 -enum : uint { ERROR_INVALID_HOOK_FILTER = 1426 } 1099 - 1100 -enum : uint { ERROR_INVALID_FILTER_PROC = 1427 } 1101 - 1102 -enum : uint { ERROR_HOOK_NEEDS_HMOD = 1428 } 1103 - 1104 -enum : uint { ERROR_GLOBAL_ONLY_HOOK = 1429 } 1105 - 1106 -enum : uint { ERROR_JOURNAL_HOOK_SET = 1430 } 1107 - 1108 -enum : uint { ERROR_HOOK_NOT_INSTALLED = 1431 } 1109 - 1110 -enum : uint { ERROR_INVALID_LB_MESSAGE = 1432 } 1111 - 1112 -enum : uint { ERROR_SETCOUNT_ON_BAD_LB = 1433 } 1113 - 1114 -enum : uint { ERROR_LB_WITHOUT_TABSTOPS = 1434 } 1115 - 1116 -enum : uint { ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435 } 1117 - 1118 -enum : uint { ERROR_CHILD_WINDOW_MENU = 1436 } 1119 - 1120 -enum : uint { ERROR_NO_SYSTEM_MENU = 1437 } 1121 - 1122 -enum : uint { ERROR_INVALID_MSGBOX_STYLE = 1438 } 1123 - 1124 -enum : uint { ERROR_INVALID_SPI_VALUE = 1439 } 1125 - 1126 -enum : uint { ERROR_SCREEN_ALREADY_LOCKED = 1440 } 1127 - 1128 -enum : uint { ERROR_HWNDS_HAVE_DIFF_PARENT = 1441 } 1129 - 1130 -enum : uint { ERROR_NOT_CHILD_WINDOW = 1442 } 1131 - 1132 -enum : uint { ERROR_INVALID_GW_COMMAND = 1443 } 1133 - 1134 -enum : uint { ERROR_INVALID_THREAD_ID = 1444 } 1135 - 1136 -enum : uint { ERROR_NON_MDICHILD_WINDOW = 1445 } 1137 - 1138 -enum : uint { ERROR_POPUP_ALREADY_ACTIVE = 1446 } 1139 - 1140 -enum : uint { ERROR_NO_SCROLLBARS = 1447 } 1141 - 1142 -enum : uint { ERROR_INVALID_SCROLLBAR_RANGE = 1448 } 1143 - 1144 -enum : uint { ERROR_INVALID_SHOWWIN_COMMAND = 1449 } 1145 - 1146 -enum : uint { ERROR_NO_SYSTEM_RESOURCES = 1450 } 1147 - 1148 -enum : uint { ERROR_NONPAGED_SYSTEM_RESOURCES = 1451 } 1149 - 1150 -enum : uint { ERROR_PAGED_SYSTEM_RESOURCES = 1452 } 1151 - 1152 -enum : uint { ERROR_WORKING_SET_QUOTA = 1453 } 1153 - 1154 -enum : uint { ERROR_PAGEFILE_QUOTA = 1454 } 1155 - 1156 -enum : uint { ERROR_COMMITMENT_LIMIT = 1455 } 1157 - 1158 -enum : uint { ERROR_MENU_ITEM_NOT_FOUND = 1456 } 1159 - 1160 -enum : uint { ERROR_INVALID_KEYBOARD_HANDLE = 1457 } 1161 - 1162 -enum : uint { ERROR_HOOK_TYPE_NOT_ALLOWED = 1458 } 1163 - 1164 -enum : uint { ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459 } 1165 - 1166 -enum : uint { ERROR_TIMEOUT = 1460 } 1167 - 1168 -enum : uint { ERROR_INVALID_MONITOR_HANDLE = 1461 } 1169 - 1170 -enum : uint { ERROR_EVENTLOG_FILE_CORRUPT = 1500 } 1171 - 1172 -enum : uint { ERROR_EVENTLOG_CANT_START = 1501 } 1173 - 1174 -enum : uint { ERROR_LOG_FILE_FULL = 1502 } 1175 - 1176 -enum : uint { ERROR_EVENTLOG_FILE_CHANGED = 1503 } 1177 - 1178 -enum : uint { ERROR_INSTALL_SERVICE_FAILURE = 1601 } 1179 - 1180 -enum : uint { ERROR_INSTALL_USEREXIT = 1602 } 1181 - 1182 -enum : uint { ERROR_INSTALL_FAILURE = 1603 } 1183 - 1184 -enum : uint { ERROR_INSTALL_SUSPEND = 1604 } 1185 - 1186 -enum : uint { ERROR_UNKNOWN_PRODUCT = 1605 } 1187 - 1188 -enum : uint { ERROR_UNKNOWN_FEATURE = 1606 } 1189 - 1190 -enum : uint { ERROR_UNKNOWN_COMPONENT = 1607 } 1191 - 1192 -enum : uint { ERROR_UNKNOWN_PROPERTY = 1608 } 1193 - 1194 -enum : uint { ERROR_INVALID_HANDLE_STATE = 1609 } 1195 - 1196 -enum : uint { ERROR_BAD_CONFIGURATION = 1610 } 1197 - 1198 -enum : uint { ERROR_INDEX_ABSENT = 1611 } 1199 - 1200 -enum : uint { ERROR_INSTALL_SOURCE_ABSENT = 1612 } 1201 - 1202 -enum : uint { ERROR_INSTALL_PACKAGE_VERSION = 1613 } 1203 - 1204 -enum : uint { ERROR_PRODUCT_UNINSTALLED = 1614 } 1205 - 1206 -enum : uint { ERROR_BAD_QUERY_SYNTAX = 1615 } 1207 - 1208 -enum : uint { ERROR_INVALID_FIELD = 1616 } 1209 - 1210 -enum : uint { ERROR_DEVICE_REMOVED = 1617 } 1211 - 1212 -enum : uint { ERROR_INSTALL_ALREADY_RUNNING = 1618 } 1213 - 1214 -enum : uint { ERROR_INSTALL_PACKAGE_OPEN_FAILED = 1619 } 1215 - 1216 -enum : uint { ERROR_INSTALL_PACKAGE_INVALID = 1620 } 1217 - 1218 -enum : uint { ERROR_INSTALL_UI_FAILURE = 1621 } 1219 - 1220 -enum : uint { ERROR_INSTALL_LOG_FAILURE = 1622 } 1221 - 1222 -enum : uint { ERROR_INSTALL_LANGUAGE_UNSUPPORTED = 1623 } 1223 - 1224 -enum : uint { ERROR_INSTALL_TRANSFORM_FAILURE = 1624 } 1225 - 1226 -enum : uint { ERROR_INSTALL_PACKAGE_REJECTED = 1625 } 1227 - 1228 -enum : uint { ERROR_FUNCTION_NOT_CALLED = 1626 } 1229 - 1230 -enum : uint { ERROR_FUNCTION_FAILED = 1627 } 1231 - 1232 -enum : uint { ERROR_INVALID_TABLE = 1628 } 1233 - 1234 -enum : uint { ERROR_DATATYPE_MISMATCH = 1629 } 1235 - 1236 -enum : uint { ERROR_UNSUPPORTED_TYPE = 1630 } 1237 - 1238 -enum : uint { ERROR_CREATE_FAILED = 1631 } 1239 - 1240 -enum : uint { ERROR_INSTALL_TEMP_UNWRITABLE = 1632 } 1241 - 1242 -enum : uint { ERROR_INSTALL_PLATFORM_UNSUPPORTED = 1633 } 1243 - 1244 -enum : uint { ERROR_INSTALL_NOTUSED = 1634 } 1245 - 1246 -enum : uint { ERROR_PATCH_PACKAGE_OPEN_FAILED = 1635 } 1247 - 1248 -enum : uint { ERROR_PATCH_PACKAGE_INVALID = 1636 } 1249 - 1250 -enum : uint { ERROR_PATCH_PACKAGE_UNSUPPORTED = 1637 } 1251 - 1252 -enum : uint { ERROR_PRODUCT_VERSION = 1638 } 1253 - 1254 -enum : uint { ERROR_INVALID_COMMAND_LINE = 1639 } 1255 - 1256 -enum : uint { ERROR_INSTALL_REMOTE_DISALLOWED = 1640 } 1257 - 1258 -enum : uint { ERROR_SUCCESS_REBOOT_INITIATED = 1641 } 1259 - 1260 -enum : uint { ERROR_PATCH_TARGET_NOT_FOUND = 1642 } 1261 - 1262 -enum : uint { ERROR_PATCH_PACKAGE_REJECTED = 1643 } 1263 - 1264 -enum : uint { ERROR_INSTALL_TRANSFORM_REJECTED = 1644 } 1265 - 1266 -enum : uint { RPC_S_INVALID_STRING_BINDING = 1700 } 1267 - 1268 -enum : uint { RPC_S_WRONG_KIND_OF_BINDING = 1701 } 1269 - 1270 -enum : uint { RPC_S_INVALID_BINDING = 1702 } 1271 - 1272 -enum : uint { RPC_S_PROTSEQ_NOT_SUPPORTED = 1703 } 1273 - 1274 -enum : uint { RPC_S_INVALID_RPC_PROTSEQ = 1704 } 1275 - 1276 -enum : uint { RPC_S_INVALID_STRING_UUID = 1705 } 1277 - 1278 -enum : uint { RPC_S_INVALID_ENDPOINT_FORMAT = 1706 } 1279 - 1280 -enum : uint { RPC_S_INVALID_NET_ADDR = 1707 } 1281 - 1282 -enum : uint { RPC_S_NO_ENDPOINT_FOUND = 1708 } 1283 - 1284 -enum : uint { RPC_S_INVALID_TIMEOUT = 1709 } 1285 - 1286 -enum : uint { RPC_S_OBJECT_NOT_FOUND = 1710 } 1287 - 1288 -enum : uint { RPC_S_ALREADY_REGISTERED = 1711 } 1289 - 1290 -enum : uint { RPC_S_TYPE_ALREADY_REGISTERED = 1712 } 1291 - 1292 -enum : uint { RPC_S_ALREADY_LISTENING = 1713 } 1293 - 1294 -enum : uint { RPC_S_NO_PROTSEQS_REGISTERED = 1714 } 1295 - 1296 -enum : uint { RPC_S_NOT_LISTENING = 1715 } 1297 - 1298 -enum : uint { RPC_S_UNKNOWN_MGR_TYPE = 1716 } 1299 - 1300 -enum : uint { RPC_S_UNKNOWN_IF = 1717 } 1301 - 1302 -enum : uint { RPC_S_NO_BINDINGS = 1718 } 1303 - 1304 -enum : uint { RPC_S_NO_PROTSEQS = 1719 } 1305 - 1306 -enum : uint { RPC_S_CANT_CREATE_ENDPOINT = 1720 } 1307 - 1308 -enum : uint { RPC_S_OUT_OF_RESOURCES = 1721 } 1309 - 1310 -enum : uint { RPC_S_SERVER_UNAVAILABLE = 1722 } 1311 - 1312 -enum : uint { RPC_S_SERVER_TOO_BUSY = 1723 } 1313 - 1314 -enum : uint { RPC_S_INVALID_NETWORK_OPTIONS = 1724 } 1315 - 1316 -enum : uint { RPC_S_NO_CALL_ACTIVE = 1725 } 1317 - 1318 -enum : uint { RPC_S_CALL_FAILED = 1726 } 1319 - 1320 -enum : uint { RPC_S_CALL_FAILED_DNE = 1727 } 1321 - 1322 -enum : uint { RPC_S_PROTOCOL_ERROR = 1728 } 1323 - 1324 -enum : uint { RPC_S_UNSUPPORTED_TRANS_SYN = 1730 } 1325 - 1326 -enum : uint { RPC_S_UNSUPPORTED_TYPE = 1732 } 1327 - 1328 -enum : uint { RPC_S_INVALID_TAG = 1733 } 1329 - 1330 -enum : uint { RPC_S_INVALID_BOUND = 1734 } 1331 - 1332 -enum : uint { RPC_S_NO_ENTRY_NAME = 1735 } 1333 - 1334 -enum : uint { RPC_S_INVALID_NAME_SYNTAX = 1736 } 1335 - 1336 -enum : uint { RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737 } 1337 - 1338 -enum : uint { RPC_S_UUID_NO_ADDRESS = 1739 } 1339 - 1340 -enum : uint { RPC_S_DUPLICATE_ENDPOINT = 1740 } 1341 - 1342 -enum : uint { RPC_S_UNKNOWN_AUTHN_TYPE = 1741 } 1343 - 1344 -enum : uint { RPC_S_MAX_CALLS_TOO_SMALL = 1742 } 1345 - 1346 -enum : uint { RPC_S_STRING_TOO_LONG = 1743 } 1347 - 1348 -enum : uint { RPC_S_PROTSEQ_NOT_FOUND = 1744 } 1349 - 1350 -enum : uint { RPC_S_PROCNUM_OUT_OF_RANGE = 1745 } 1351 - 1352 -enum : uint { RPC_S_BINDING_HAS_NO_AUTH = 1746 } 1353 - 1354 -enum : uint { RPC_S_UNKNOWN_AUTHN_SERVICE = 1747 } 1355 - 1356 -enum : uint { RPC_S_UNKNOWN_AUTHN_LEVEL = 1748 } 1357 - 1358 -enum : uint { RPC_S_INVALID_AUTH_IDENTITY = 1749 } 1359 - 1360 -enum : uint { RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750 } 1361 - 1362 -enum : uint { EPT_S_INVALID_ENTRY = 1751 } 1363 - 1364 -enum : uint { EPT_S_CANT_PERFORM_OP = 1752 } 1365 - 1366 -enum : uint { EPT_S_NOT_REGISTERED = 1753 } 1367 - 1368 -enum : uint { RPC_S_NOTHING_TO_EXPORT = 1754 } 1369 - 1370 -enum : uint { RPC_S_INCOMPLETE_NAME = 1755 } 1371 - 1372 -enum : uint { RPC_S_INVALID_VERS_OPTION = 1756 } 1373 - 1374 -enum : uint { RPC_S_NO_MORE_MEMBERS = 1757 } 1375 - 1376 -enum : uint { RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758 } 1377 - 1378 -enum : uint { RPC_S_INTERFACE_NOT_FOUND = 1759 } 1379 - 1380 -enum : uint { RPC_S_ENTRY_ALREADY_EXISTS = 1760 } 1381 - 1382 -enum : uint { RPC_S_ENTRY_NOT_FOUND = 1761 } 1383 - 1384 -enum : uint { RPC_S_NAME_SERVICE_UNAVAILABLE = 1762 } 1385 - 1386 -enum : uint { RPC_S_INVALID_NAF_ID = 1763 } 1387 - 1388 -enum : uint { RPC_S_CANNOT_SUPPORT = 1764 } 1389 - 1390 -enum : uint { RPC_S_NO_CONTEXT_AVAILABLE = 1765 } 1391 - 1392 -enum : uint { RPC_S_INTERNAL_ERROR = 1766 } 1393 - 1394 -enum : uint { RPC_S_ZERO_DIVIDE = 1767 } 1395 - 1396 -enum : uint { RPC_S_ADDRESS_ERROR = 1768 } 1397 - 1398 -enum : uint { RPC_S_FP_DIV_ZERO = 1769 } 1399 - 1400 -enum : uint { RPC_S_FP_UNDERFLOW = 1770 } 1401 - 1402 -enum : uint { RPC_S_FP_OVERFLOW = 1771 } 1403 - 1404 -enum : uint { RPC_X_NO_MORE_ENTRIES = 1772 } 1405 - 1406 -enum : uint { RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773 } 1407 - 1408 -enum : uint { RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774 } 1409 - 1410 -enum : uint { RPC_X_SS_IN_NULL_CONTEXT = 1775 } 1411 - 1412 -enum : uint { RPC_X_SS_CONTEXT_DAMAGED = 1777 } 1413 - 1414 -enum : uint { RPC_X_SS_HANDLES_MISMATCH = 1778 } 1415 - 1416 -enum : uint { RPC_X_SS_CANNOT_GET_CALL_HANDLE = 1779 } 1417 - 1418 -enum : uint { RPC_X_NULL_REF_POINTER = 1780 } 1419 - 1420 -enum : uint { RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781 } 1421 - 1422 -enum : uint { RPC_X_BYTE_COUNT_TOO_SMALL = 1782 } 1423 - 1424 -enum : uint { RPC_X_BAD_STUB_DATA = 1783 } 1425 - 1426 -enum : uint { ERROR_INVALID_USER_BUFFER = 1784 } 1427 - 1428 -enum : uint { ERROR_UNRECOGNIZED_MEDIA = 1785 } 1429 - 1430 -enum : uint { ERROR_NO_TRUST_LSA_SECRET = 1786 } 1431 - 1432 -enum : uint { ERROR_NO_TRUST_SAM_ACCOUNT = 1787 } 1433 - 1434 -enum : uint { ERROR_TRUSTED_DOMAIN_FAILURE = 1788 } 1435 - 1436 -enum : uint { ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789 } 1437 - 1438 -enum : uint { ERROR_TRUST_FAILURE = 1790 } 1439 - 1440 -enum : uint { RPC_S_CALL_IN_PROGRESS = 1791 } 1441 - 1442 -enum : uint { ERROR_NETLOGON_NOT_STARTED = 1792 } 1443 - 1444 -enum : uint { ERROR_ACCOUNT_EXPIRED = 1793 } 1445 - 1446 -enum : uint { ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794 } 1447 - 1448 -enum : uint { ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = 1795 } 1449 - 1450 -enum : uint { ERROR_UNKNOWN_PORT = 1796 } 1451 - 1452 -enum : uint { ERROR_UNKNOWN_PRINTER_DRIVER = 1797 } 1453 - 1454 -enum : uint { ERROR_UNKNOWN_PRINTPROCESSOR = 1798 } 1455 - 1456 -enum : uint { ERROR_INVALID_SEPARATOR_FILE = 1799 } 1457 - 1458 -enum : uint { ERROR_INVALID_PRIORITY = 1800 } 1459 - 1460 -enum : uint { ERROR_INVALID_PRINTER_NAME = 1801 } 1461 - 1462 -enum : uint { ERROR_PRINTER_ALREADY_EXISTS = 1802 } 1463 - 1464 -enum : uint { ERROR_INVALID_PRINTER_COMMAND = 1803 } 1465 - 1466 -enum : uint { ERROR_INVALID_DATATYPE = 1804 } 1467 - 1468 -enum : uint { ERROR_INVALID_ENVIRONMENT = 1805 } 1469 - 1470 -enum : uint { RPC_S_NO_MORE_BINDINGS = 1806 } 1471 - 1472 -enum : uint { ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807 } 1473 - 1474 -enum : uint { ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808 } 1475 - 1476 -enum : uint { ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809 } 1477 - 1478 -enum : uint { ERROR_DOMAIN_TRUST_INCONSISTENT = 1810 } 1479 - 1480 -enum : uint { ERROR_SERVER_HAS_OPEN_HANDLES = 1811 } 1481 - 1482 -enum : uint { ERROR_RESOURCE_DATA_NOT_FOUND = 1812 } 1483 - 1484 -enum : uint { ERROR_RESOURCE_TYPE_NOT_FOUND = 1813 } 1485 - 1486 -enum : uint { ERROR_RESOURCE_NAME_NOT_FOUND = 1814 } 1487 - 1488 -enum : uint { ERROR_RESOURCE_LANG_NOT_FOUND = 1815 } 1489 - 1490 -enum : uint { ERROR_NOT_ENOUGH_QUOTA = 1816 } 1491 - 1492 -enum : uint { RPC_S_NO_INTERFACES = 1817 } 1493 - 1494 -enum : uint { RPC_S_CALL_CANCELLED = 1818 } 1495 - 1496 -enum : uint { RPC_S_BINDING_INCOMPLETE = 1819 } 1497 - 1498 -enum : uint { RPC_S_COMM_FAILURE = 1820 } 1499 - 1500 -enum : uint { RPC_S_UNSUPPORTED_AUTHN_LEVEL = 1821 } 1501 - 1502 -enum : uint { RPC_S_NO_PRINC_NAME = 1822 } 1503 - 1504 -enum : uint { RPC_S_NOT_RPC_ERROR = 1823 } 1505 - 1506 -enum : uint { RPC_S_UUID_LOCAL_ONLY = 1824 } 1507 - 1508 -enum : uint { RPC_S_SEC_PKG_ERROR = 1825 } 1509 - 1510 -enum : uint { RPC_S_NOT_CANCELLED = 1826 } 1511 - 1512 -enum : uint { RPC_X_INVALID_ES_ACTION = 1827 } 1513 - 1514 -enum : uint { RPC_X_WRONG_ES_VERSION = 1828 } 1515 - 1516 -enum : uint { RPC_X_WRONG_STUB_VERSION = 1829 } 1517 - 1518 -enum : uint { RPC_X_INVALID_PIPE_OBJECT = 1830 } 1519 - 1520 -enum : uint { RPC_X_WRONG_PIPE_ORDER = 1831 } 1521 - 1522 -enum : uint { RPC_X_WRONG_PIPE_VERSION = 1832 } 1523 - 1524 -enum : uint { RPC_S_GROUP_MEMBER_NOT_FOUND = 1898 } 1525 - 1526 -enum : uint { EPT_S_CANT_CREATE = 1899 } 1527 - 1528 -enum : uint { RPC_S_INVALID_OBJECT = 1900 } 1529 - 1530 -enum : uint { ERROR_INVALID_TIME = 1901 } 1531 - 1532 -enum : uint { ERROR_INVALID_FORM_NAME = 1902 } 1533 - 1534 -enum : uint { ERROR_INVALID_FORM_SIZE = 1903 } 1535 - 1536 -enum : uint { ERROR_ALREADY_WAITING = 1904 } 1537 - 1538 -enum : uint { ERROR_PRINTER_DELETED = 1905 } 1539 - 1540 -enum : uint { ERROR_INVALID_PRINTER_STATE = 1906 } 1541 - 1542 -enum : uint { ERROR_PASSWORD_MUST_CHANGE = 1907 } 1543 - 1544 -enum : uint { ERROR_DOMAIN_CONTROLLER_NOT_FOUND = 1908 } 1545 - 1546 -enum : uint { ERROR_ACCOUNT_LOCKED_OUT = 1909 } 1547 - 1548 -enum : uint { OR_INVALID_OXID = 1910 } 1549 - 1550 -enum : uint { OR_INVALID_OID = 1911 } 1551 - 1552 -enum : uint { OR_INVALID_SET = 1912 } 1553 - 1554 -enum : uint { RPC_S_SEND_INCOMPLETE = 1913 } 1555 - 1556 -enum : uint { RPC_S_INVALID_ASYNC_HANDLE = 1914 } 1557 - 1558 -enum : uint { RPC_S_INVALID_ASYNC_CALL = 1915 } 1559 - 1560 -enum : uint { RPC_X_PIPE_CLOSED = 1916 } 1561 - 1562 -enum : uint { RPC_X_PIPE_DISCIPLINE_ERROR = 1917 } 1563 - 1564 -enum : uint { RPC_X_PIPE_EMPTY = 1918 } 1565 - 1566 -enum : uint { ERROR_NO_SITENAME = 1919 } 1567 - 1568 -enum : uint { ERROR_CANT_ACCESS_FILE = 1920 } 1569 - 1570 -enum : uint { ERROR_CANT_RESOLVE_FILENAME = 1921 } 1571 - 1572 -enum : uint { RPC_S_ENTRY_TYPE_MISMATCH = 1922 } 1573 - 1574 -enum : uint { RPC_S_NOT_ALL_OBJS_EXPORTED = 1923 } 1575 - 1576 -enum : uint { RPC_S_INTERFACE_NOT_EXPORTED = 1924 } 1577 - 1578 -enum : uint { RPC_S_PROFILE_NOT_ADDED = 1925 } 1579 - 1580 -enum : uint { RPC_S_PRF_ELT_NOT_ADDED = 1926 } 1581 - 1582 -enum : uint { RPC_S_PRF_ELT_NOT_REMOVED = 1927 } 1583 - 1584 -enum : uint { RPC_S_GRP_ELT_NOT_ADDED = 1928 } 1585 - 1586 -enum : uint { RPC_S_GRP_ELT_NOT_REMOVED = 1929 } 1587 - 1588 -enum : uint { ERROR_KM_DRIVER_BLOCKED = 1930 } 1589 - 1590 -enum : uint { ERROR_CONTEXT_EXPIRED = 1931 } 1591 - 1592 -enum : uint { ERROR_INVALID_PIXEL_FORMAT = 2000 } 1593 - 1594 -enum : uint { ERROR_BAD_DRIVER = 2001 } 1595 - 1596 -enum : uint { ERROR_INVALID_WINDOW_STYLE = 2002 } 1597 - 1598 -enum : uint { ERROR_METAFILE_NOT_SUPPORTED = 2003 } 1599 - 1600 -enum : uint { ERROR_TRANSFORM_NOT_SUPPORTED = 2004 } 1601 - 1602 -enum : uint { ERROR_CLIPPING_NOT_SUPPORTED = 2005 } 1603 - 1604 -enum : uint { ERROR_INVALID_CMM = 2010 } 1605 - 1606 -enum : uint { ERROR_INVALID_PROFILE = 2011 } 1607 - 1608 -enum : uint { ERROR_TAG_NOT_FOUND = 2012 } 1609 - 1610 -enum : uint { ERROR_TAG_NOT_PRESENT = 2013 } 1611 - 1612 -enum : uint { ERROR_DUPLICATE_TAG = 2014 } 1613 - 1614 -enum : uint { ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2015 } 1615 - 1616 -enum : uint { ERROR_PROFILE_NOT_FOUND = 2016 } 1617 - 1618 -enum : uint { ERROR_INVALID_COLORSPACE = 2017 } 1619 - 1620 -enum : uint { ERROR_ICM_NOT_ENABLED = 2018 } 1621 - 1622 -enum : uint { ERROR_DELETING_ICM_XFORM = 2019 } 1623 - 1624 -enum : uint { ERROR_INVALID_TRANSFORM = 2020 } 1625 - 1626 -enum : uint { ERROR_COLORSPACE_MISMATCH = 2021 } 1627 - 1628 -enum : uint { ERROR_INVALID_COLORINDEX = 2022 } 1629 - 1630 -enum : uint { ERROR_CONNECTED_OTHER_PASSWORD = 2108 } 1631 - 1632 -enum : uint { ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT = 2109 } 1633 - 1634 -enum : uint { ERROR_BAD_USERNAME = 2202 } 1635 - 1636 -enum : uint { ERROR_NOT_CONNECTED = 2250 } 1637 - 1638 -enum : uint { ERROR_OPEN_FILES = 2401 } 1639 - 1640 -enum : uint { ERROR_ACTIVE_CONNECTIONS = 2402 } 1641 - 1642 -enum : uint { ERROR_DEVICE_IN_USE = 2404 } 1643 - 1644 -enum : uint { ERROR_UNKNOWN_PRINT_MONITOR = 3000 } 1645 - 1646 -enum : uint { ERROR_PRINTER_DRIVER_IN_USE = 3001 } 1647 - 1648 -enum : uint { ERROR_SPOOL_FILE_NOT_FOUND = 3002 } 1649 - 1650 -enum : uint { ERROR_SPL_NO_STARTDOC = 3003 } 1651 - 1652 -enum : uint { ERROR_SPL_NO_ADDJOB = 3004 } 1653 - 1654 -enum : uint { ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = 3005 } 1655 - 1656 -enum : uint { ERROR_PRINT_MONITOR_ALREADY_INSTALLED = 3006 } 1657 - 1658 -enum : uint { ERROR_INVALID_PRINT_MONITOR = 3007 } 1659 - 1660 -enum : uint { ERROR_PRINT_MONITOR_IN_USE = 3008 } 1661 - 1662 -enum : uint { ERROR_PRINTER_HAS_JOBS_QUEUED = 3009 } 1663 - 1664 -enum : uint { ERROR_SUCCESS_REBOOT_REQUIRED = 3010 } 1665 - 1666 -enum : uint { ERROR_SUCCESS_RESTART_REQUIRED = 3011 } 1667 - 1668 -enum : uint { ERROR_PRINTER_NOT_FOUND = 3012 } 1669 - 1670 -enum : uint { ERROR_PRINTER_DRIVER_WARNED = 3013 } 1671 - 1672 -enum : uint { ERROR_PRINTER_DRIVER_BLOCKED = 3014 } 1673 - 1674 -enum : uint { ERROR_WINS_INTERNAL = 4000 } 1675 - 1676 -enum : uint { ERROR_CAN_NOT_DEL_LOCAL_WINS = 4001 } 1677 - 1678 -enum : uint { ERROR_STATIC_INIT = 4002 } 1679 - 1680 -enum : uint { ERROR_INC_BACKUP = 4003 } 1681 - 1682 -enum : uint { ERROR_FULL_BACKUP = 4004 } 1683 - 1684 -enum : uint { ERROR_REC_NON_EXISTENT = 4005 } 1685 - 1686 -enum : uint { ERROR_RPL_NOT_ALLOWED = 4006 } 1687 - 1688 -enum : uint { ERROR_DHCP_ADDRESS_CONFLICT = 4100 } 1689 - 1690 -enum : uint { ERROR_WMI_GUID_NOT_FOUND = 4200 } 1691 - 1692 -enum : uint { ERROR_WMI_INSTANCE_NOT_FOUND = 4201 } 1693 - 1694 -enum : uint { ERROR_WMI_ITEMID_NOT_FOUND = 4202 } 1695 - 1696 -enum : uint { ERROR_WMI_TRY_AGAIN = 4203 } 1697 - 1698 -enum : uint { ERROR_WMI_DP_NOT_FOUND = 4204 } 1699 - 1700 -enum : uint { ERROR_WMI_UNRESOLVED_INSTANCE_REF = 4205 } 1701 - 1702 -enum : uint { ERROR_WMI_ALREADY_ENABLED = 4206 } 1703 - 1704 -enum : uint { ERROR_WMI_GUID_DISCONNECTED = 4207 } 1705 - 1706 -enum : uint { ERROR_WMI_SERVER_UNAVAILABLE = 4208 } 1707 - 1708 -enum : uint { ERROR_WMI_DP_FAILED = 4209 } 1709 - 1710 -enum : uint { ERROR_WMI_INVALID_MOF = 4210 } 1711 - 1712 -enum : uint { ERROR_WMI_INVALID_REGINFO = 4211 } 1713 - 1714 -enum : uint { ERROR_WMI_ALREADY_DISABLED = 4212 } 1715 - 1716 -enum : uint { ERROR_WMI_READ_ONLY = 4213 } 1717 - 1718 -enum : uint { ERROR_WMI_SET_FAILURE = 4214 } 1719 - 1720 -enum : uint { ERROR_INVALID_MEDIA = 4300 } 1721 - 1722 -enum : uint { ERROR_INVALID_LIBRARY = 4301 } 1723 - 1724 -enum : uint { ERROR_INVALID_MEDIA_POOL = 4302 } 1725 - 1726 -enum : uint { ERROR_DRIVE_MEDIA_MISMATCH = 4303 } 1727 - 1728 -enum : uint { ERROR_MEDIA_OFFLINE = 4304 } 1729 - 1730 -enum : uint { ERROR_LIBRARY_OFFLINE = 4305 } 1731 - 1732 -enum : uint { ERROR_EMPTY = 4306 } 1733 - 1734 -enum : uint { ERROR_NOT_EMPTY = 4307 } 1735 - 1736 -enum : uint { ERROR_MEDIA_UNAVAILABLE = 4308 } 1737 - 1738 -enum : uint { ERROR_RESOURCE_DISABLED = 4309 } 1739 - 1740 -enum : uint { ERROR_INVALID_CLEANER = 4310 } 1741 - 1742 -enum : uint { ERROR_UNABLE_TO_CLEAN = 4311 } 1743 - 1744 -enum : uint { ERROR_OBJECT_NOT_FOUND = 4312 } 1745 - 1746 -enum : uint { ERROR_DATABASE_FAILURE = 4313 } 1747 - 1748 -enum : uint { ERROR_DATABASE_FULL = 4314 } 1749 - 1750 -enum : uint { ERROR_MEDIA_INCOMPATIBLE = 4315 } 1751 - 1752 -enum : uint { ERROR_RESOURCE_NOT_PRESENT = 4316 } 1753 - 1754 -enum : uint { ERROR_INVALID_OPERATION = 4317 } 1755 - 1756 -enum : uint { ERROR_MEDIA_NOT_AVAILABLE = 4318 } 1757 - 1758 -enum : uint { ERROR_DEVICE_NOT_AVAILABLE = 4319 } 1759 - 1760 -enum : uint { ERROR_REQUEST_REFUSED = 4320 } 1761 - 1762 -enum : uint { ERROR_INVALID_DRIVE_OBJECT = 4321 } 1763 - 1764 -enum : uint { ERROR_LIBRARY_FULL = 4322 } 1765 - 1766 -enum : uint { ERROR_MEDIUM_NOT_ACCESSIBLE = 4323 } 1767 - 1768 -enum : uint { ERROR_UNABLE_TO_LOAD_MEDIUM = 4324 } 1769 - 1770 -enum : uint { ERROR_UNABLE_TO_INVENTORY_DRIVE = 4325 } 1771 - 1772 -enum : uint { ERROR_UNABLE_TO_INVENTORY_SLOT = 4326 } 1773 - 1774 -enum : uint { ERROR_UNABLE_TO_INVENTORY_TRANSPORT = 4327 } 1775 - 1776 -enum : uint { ERROR_TRANSPORT_FULL = 4328 } 1777 - 1778 -enum : uint { ERROR_CONTROLLING_IEPORT = 4329 } 1779 - 1780 -enum : uint { ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA = 4330 } 1781 - 1782 -enum : uint { ERROR_CLEANER_SLOT_SET = 4331 } 1783 - 1784 -enum : uint { ERROR_CLEANER_SLOT_NOT_SET = 4332 } 1785 - 1786 -enum : uint { ERROR_CLEANER_CARTRIDGE_SPENT = 4333 } 1787 - 1788 -enum : uint { ERROR_UNEXPECTED_OMID = 4334 } 1789 - 1790 -enum : uint { ERROR_CANT_DELETE_LAST_ITEM = 4335 } 1791 - 1792 -enum : uint { ERROR_MESSAGE_EXCEEDS_MAX_SIZE = 4336 } 1793 - 1794 -enum : uint { ERROR_VOLUME_CONTAINS_SYS_FILES = 4337 } 1795 - 1796 -enum : uint { ERROR_INDIGENOUS_TYPE = 4338 } 1797 - 1798 -enum : uint { ERROR_NO_SUPPORTING_DRIVES = 4339 } 1799 - 1800 -enum : uint { ERROR_CLEANER_CARTRIDGE_INSTALLED = 4340 } 1801 - 1802 -enum : uint { ERROR_FILE_OFFLINE = 4350 } 1803 - 1804 -enum : uint { ERROR_REMOTE_STORAGE_NOT_ACTIVE = 4351 } 1805 - 1806 -enum : uint { ERROR_REMOTE_STORAGE_MEDIA_ERROR = 4352 } 1807 - 1808 -enum : uint { ERROR_NOT_A_REPARSE_POINT = 4390 } 1809 - 1810 -enum : uint { ERROR_REPARSE_ATTRIBUTE_CONFLICT = 4391 } 1811 - 1812 -enum : uint { ERROR_INVALID_REPARSE_DATA = 4392 } 1813 - 1814 -enum : uint { ERROR_REPARSE_TAG_INVALID = 4393 } 1815 - 1816 -enum : uint { ERROR_REPARSE_TAG_MISMATCH = 4394 } 1817 - 1818 -enum : uint { ERROR_VOLUME_NOT_SIS_ENABLED = 4500 } 1819 - 1820 -enum : uint { ERROR_DEPENDENT_RESOURCE_EXISTS = 5001 } 1821 - 1822 -enum : uint { ERROR_DEPENDENCY_NOT_FOUND = 5002 } 1823 - 1824 -enum : uint { ERROR_DEPENDENCY_ALREADY_EXISTS = 5003 } 1825 - 1826 -enum : uint { ERROR_RESOURCE_NOT_ONLINE = 5004 } 1827 - 1828 -enum : uint { ERROR_HOST_NODE_NOT_AVAILABLE = 5005 } 1829 - 1830 -enum : uint { ERROR_RESOURCE_NOT_AVAILABLE = 5006 } 1831 - 1832 -enum : uint { ERROR_RESOURCE_NOT_FOUND = 5007 } 1833 - 1834 -enum : uint { ERROR_SHUTDOWN_CLUSTER = 5008 } 1835 - 1836 -enum : uint { ERROR_CANT_EVICT_ACTIVE_NODE = 5009 } 1837 - 1838 -enum : uint { ERROR_OBJECT_ALREADY_EXISTS = 5010 } 1839 - 1840 -enum : uint { ERROR_OBJECT_IN_LIST = 5011 } 1841 - 1842 -enum : uint { ERROR_GROUP_NOT_AVAILABLE = 5012 } 1843 - 1844 -enum : uint { ERROR_GROUP_NOT_FOUND = 5013 } 1845 - 1846 -enum : uint { ERROR_GROUP_NOT_ONLINE = 5014 } 1847 - 1848 -enum : uint { ERROR_HOST_NODE_NOT_RESOURCE_OWNER = 5015 } 1849 - 1850 -enum : uint { ERROR_HOST_NODE_NOT_GROUP_OWNER = 5016 } 1851 - 1852 -enum : uint { ERROR_RESMON_CREATE_FAILED = 5017 } 1853 - 1854 -enum : uint { ERROR_RESMON_ONLINE_FAILED = 5018 } 1855 - 1856 -enum : uint { ERROR_RESOURCE_ONLINE = 5019 } 1857 - 1858 -enum : uint { ERROR_QUORUM_RESOURCE = 5020 } 1859 - 1860 -enum : uint { ERROR_NOT_QUORUM_CAPABLE = 5021 } 1861 - 1862 -enum : uint { ERROR_CLUSTER_SHUTTING_DOWN = 5022 } 1863 - 1864 -enum : uint { ERROR_INVALID_STATE = 5023 } 1865 - 1866 -enum : uint { ERROR_RESOURCE_PROPERTIES_STORED = 5024 } 1867 - 1868 -enum : uint { ERROR_NOT_QUORUM_CLASS = 5025 } 1869 - 1870 -enum : uint { ERROR_CORE_RESOURCE = 5026 } 1871 - 1872 -enum : uint { ERROR_QUORUM_RESOURCE_ONLINE_FAILED = 5027 } 1873 - 1874 -enum : uint { ERROR_QUORUMLOG_OPEN_FAILED = 5028 } 1875 - 1876 -enum : uint { ERROR_CLUSTERLOG_CORRUPT = 5029 } 1877 - 1878 -enum : uint { ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE = 5030 } 1879 - 1880 -enum : uint { ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE = 5031 } 1881 - 1882 -enum : uint { ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND = 5032 } 1883 - 1884 -enum : uint { ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE = 5033 } 1885 - 1886 -enum : uint { ERROR_QUORUM_OWNER_ALIVE = 5034 } 1887 - 1888 -enum : uint { ERROR_NETWORK_NOT_AVAILABLE = 5035 } 1889 - 1890 -enum : uint { ERROR_NODE_NOT_AVAILABLE = 5036 } 1891 - 1892 -enum : uint { ERROR_ALL_NODES_NOT_AVAILABLE = 5037 } 1893 - 1894 -enum : uint { ERROR_RESOURCE_FAILED = 5038 } 1895 - 1896 -enum : uint { ERROR_CLUSTER_INVALID_NODE = 5039 } 1897 - 1898 -enum : uint { ERROR_CLUSTER_NODE_EXISTS = 5040 } 1899 - 1900 -enum : uint { ERROR_CLUSTER_JOIN_IN_PROGRESS = 5041 } 1901 - 1902 -enum : uint { ERROR_CLUSTER_NODE_NOT_FOUND = 5042 } 1903 - 1904 -enum : uint { ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND = 5043 } 1905 - 1906 -enum : uint { ERROR_CLUSTER_NETWORK_EXISTS = 5044 } 1907 - 1908 -enum : uint { ERROR_CLUSTER_NETWORK_NOT_FOUND = 5045 } 1909 - 1910 -enum : uint { ERROR_CLUSTER_NETINTERFACE_EXISTS = 5046 } 1911 - 1912 -enum : uint { ERROR_CLUSTER_NETINTERFACE_NOT_FOUND = 5047 } 1913 - 1914 -enum : uint { ERROR_CLUSTER_INVALID_REQUEST = 5048 } 1915 - 1916 -enum : uint { ERROR_CLUSTER_INVALID_NETWORK_PROVIDER = 5049 } 1917 - 1918 -enum : uint { ERROR_CLUSTER_NODE_DOWN = 5050 } 1919 - 1920 -enum : uint { ERROR_CLUSTER_NODE_UNREACHABLE = 5051 } 1921 - 1922 -enum : uint { ERROR_CLUSTER_NODE_NOT_MEMBER = 5052 } 1923 - 1924 -enum : uint { ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS = 5053 } 1925 - 1926 -enum : uint { ERROR_CLUSTER_INVALID_NETWORK = 5054 } 1927 - 1928 -enum : uint { ERROR_CLUSTER_NODE_UP = 5056 } 1929 - 1930 -enum : uint { ERROR_CLUSTER_IPADDR_IN_USE = 5057 } 1931 - 1932 -enum : uint { ERROR_CLUSTER_NODE_NOT_PAUSED = 5058 } 1933 - 1934 -enum : uint { ERROR_CLUSTER_NO_SECURITY_CONTEXT = 5059 } 1935 - 1936 -enum : uint { ERROR_CLUSTER_NETWORK_NOT_INTERNAL = 5060 } 1937 - 1938 -enum : uint { ERROR_CLUSTER_NODE_ALREADY_UP = 5061 } 1939 - 1940 -enum : uint { ERROR_CLUSTER_NODE_ALREADY_DOWN = 5062 } 1941 - 1942 -enum : uint { ERROR_CLUSTER_NETWORK_ALREADY_ONLINE = 5063 } 1943 - 1944 -enum : uint { ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE = 5064 } 1945 - 1946 -enum : uint { ERROR_CLUSTER_NODE_ALREADY_MEMBER = 5065 } 1947 - 1948 -enum : uint { ERROR_CLUSTER_LAST_INTERNAL_NETWORK = 5066 } 1949 - 1950 -enum : uint { ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS = 5067 } 1951 - 1952 -enum : uint { ERROR_INVALID_OPERATION_ON_QUORUM = 5068 } 1953 - 1954 -enum : uint { ERROR_DEPENDENCY_NOT_ALLOWED = 5069 } 1955 - 1956 -enum : uint { ERROR_CLUSTER_NODE_PAUSED = 5070 } 1957 - 1958 -enum : uint { ERROR_NODE_CANT_HOST_RESOURCE = 5071 } 1959 - 1960 -enum : uint { ERROR_CLUSTER_NODE_NOT_READY = 5072 } 1961 - 1962 -enum : uint { ERROR_CLUSTER_NODE_SHUTTING_DOWN = 5073 } 1963 - 1964 -enum : uint { ERROR_CLUSTER_JOIN_ABORTED = 5074 } 1965 - 1966 -enum : uint { ERROR_CLUSTER_INCOMPATIBLE_VERSIONS = 5075 } 1967 - 1968 -enum : uint { ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED = 5076 } 1969 - 1970 -enum : uint { ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED = 5077 } 1971 - 1972 -enum : uint { ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND = 5078 } 1973 - 1974 -enum : uint { ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED = 5079 } 1975 - 1976 -enum : uint { ERROR_CLUSTER_RESNAME_NOT_FOUND = 5080 } 1977 - 1978 -enum : uint { ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED = 5081 } 1979 - 1980 -enum : uint { ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST = 5082 } 1981 - 1982 -enum : uint { ERROR_CLUSTER_DATABASE_SEQMISMATCH = 5083 } 1983 - 1984 -enum : uint { ERROR_RESMON_INVALID_STATE = 5084 } 1985 - 1986 -enum : uint { ERROR_CLUSTER_GUM_NOT_LOCKER = 5085 } 1987 - 1988 -enum : uint { ERROR_QUORUM_DISK_NOT_FOUND = 5086 } 1989 - 1990 -enum : uint { ERROR_DATABASE_BACKUP_CORRUPT = 5087 } 1991 - 1992 -enum : uint { ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT = 5088 } 1993 - 1994 -enum : uint { ERROR_RESOURCE_PROPERTY_UNCHANGEABLE = 5089 } 1995 - 1996 -enum : uint { ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE = 5890 } 1997 - 1998 -enum : uint { ERROR_CLUSTER_QUORUMLOG_NOT_FOUND = 5891 } 1999 - 2000 -enum : uint { ERROR_CLUSTER_MEMBERSHIP_HALT = 5892 } 2001 - 2002 -enum : uint { ERROR_CLUSTER_INSTANCE_ID_MISMATCH = 5893 } 2003 - 2004 -enum : uint { ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP = 5894 } 2005 - 2006 -enum : uint { ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH = 5895 } 2007 - 2008 -enum : uint { ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP = 5896 } 2009 - 2010 -enum : uint { ERROR_CLUSTER_PARAMETER_MISMATCH = 5897 } 2011 - 2012 -enum : uint { ERROR_NODE_CANNOT_BE_CLUSTERED = 5898 } 2013 - 2014 -enum : uint { ERROR_CLUSTER_WRONG_OS_VERSION = 5899 } 2015 - 2016 -enum : uint { ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME = 5900 } 2017 - 2018 -enum : uint { ERROR_ENCRYPTION_FAILED = 6000 } 2019 - 2020 -enum : uint { ERROR_DECRYPTION_FAILED = 6001 } 2021 - 2022 -enum : uint { ERROR_FILE_ENCRYPTED = 6002 } 2023 - 2024 -enum : uint { ERROR_NO_RECOVERY_POLICY = 6003 } 2025 - 2026 -enum : uint { ERROR_NO_EFS = 6004 } 2027 - 2028 -enum : uint { ERROR_WRONG_EFS = 6005 } 2029 - 2030 -enum : uint { ERROR_NO_USER_KEYS = 6006 } 2031 - 2032 -enum : uint { ERROR_FILE_NOT_ENCRYPTED = 6007 } 2033 - 2034 -enum : uint { ERROR_NOT_EXPORT_FORMAT = 6008 } 2035 - 2036 -enum : uint { ERROR_FILE_READ_ONLY = 6009 } 2037 - 2038 -enum : uint { ERROR_DIR_EFS_DISALLOWED = 6010 } 2039 - 2040 -enum : uint { ERROR_EFS_SERVER_NOT_TRUSTED = 6011 } 2041 - 2042 -enum : uint { ERROR_BAD_RECOVERY_POLICY = 6012 } 2043 - 2044 -enum : uint { ERROR_EFS_ALG_BLOB_TOO_BIG = 6013 } 2045 - 2046 -enum : uint { ERROR_VOLUME_NOT_SUPPORT_EFS = 6014 } 2047 - 2048 -enum : uint { ERROR_EFS_DISABLED = 6015 } 2049 - 2050 -enum : uint { ERROR_EFS_VERSION_NOT_SUPPORT = 6016 } 2051 - 2052 -enum : uint { ERROR_NO_BROWSER_SERVERS_FOUND = 6118 } 2053 - 2054 -enum : uint { SCHED_E_SERVICE_NOT_LOCALSYSTEM = 6200 } 2055 - 2056 -enum : uint { ERROR_CTX_WINSTATION_NAME_INVALID = 7001 } 2057 - 2058 -enum : uint { ERROR_CTX_INVALID_PD = 7002 } 2059 - 2060 -enum : uint { ERROR_CTX_PD_NOT_FOUND = 7003 } 2061 - 2062 -enum : uint { ERROR_CTX_WD_NOT_FOUND = 7004 } 2063 - 2064 -enum : uint { ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY = 7005 } 2065 - 2066 -enum : uint { ERROR_CTX_SERVICE_NAME_COLLISION = 7006 } 2067 - 2068 -enum : uint { ERROR_CTX_CLOSE_PENDING = 7007 } 2069 - 2070 -enum : uint { ERROR_CTX_NO_OUTBUF = 7008 } 2071 - 2072 -enum : uint { ERROR_CTX_MODEM_INF_NOT_FOUND = 7009 } 2073 - 2074 -enum : uint { ERROR_CTX_INVALID_MODEMNAME = 7010 } 2075 - 2076 -enum : uint { ERROR_CTX_MODEM_RESPONSE_ERROR = 7011 } 2077 - 2078 -enum : uint { ERROR_CTX_MODEM_RESPONSE_TIMEOUT = 7012 } 2079 - 2080 -enum : uint { ERROR_CTX_MODEM_RESPONSE_NO_CARRIER = 7013 } 2081 - 2082 -enum : uint { ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE = 7014 } 2083 - 2084 -enum : uint { ERROR_CTX_MODEM_RESPONSE_BUSY = 7015 } 2085 - 2086 -enum : uint { ERROR_CTX_MODEM_RESPONSE_VOICE = 7016 } 2087 - 2088 -enum : uint { ERROR_CTX_TD_ERROR = 7017 } 2089 - 2090 -enum : uint { ERROR_CTX_WINSTATION_NOT_FOUND = 7022 } 2091 - 2092 -enum : uint { ERROR_CTX_WINSTATION_ALREADY_EXISTS = 7023 } 2093 - 2094 -enum : uint { ERROR_CTX_WINSTATION_BUSY = 7024 } 2095 - 2096 -enum : uint { ERROR_CTX_BAD_VIDEO_MODE = 7025 } 2097 - 2098 -enum : uint { ERROR_CTX_GRAPHICS_INVALID = 7035 } 2099 - 2100 -enum : uint { ERROR_CTX_LOGON_DISABLED = 7037 } 2101 - 2102 -enum : uint { ERROR_CTX_NOT_CONSOLE = 7038 } 2103 - 2104 -enum : uint { ERROR_CTX_CLIENT_QUERY_TIMEOUT = 7040 } 2105 - 2106 -enum : uint { ERROR_CTX_CONSOLE_DISCONNECT = 7041 } 2107 - 2108 -enum : uint { ERROR_CTX_CONSOLE_CONNECT = 7042 } 2109 - 2110 -enum : uint { ERROR_CTX_SHADOW_DENIED = 7044 } 2111 - 2112 -enum : uint { ERROR_CTX_WINSTATION_ACCESS_DENIED = 7045 } 2113 - 2114 -enum : uint { ERROR_CTX_INVALID_WD = 7049 } 2115 - 2116 -enum : uint { ERROR_CTX_SHADOW_INVALID = 7050 } 2117 - 2118 -enum : uint { ERROR_CTX_SHADOW_DISABLED = 7051 } 2119 - 2120 -enum : uint { ERROR_CTX_CLIENT_LICENSE_IN_USE = 7052 } 2121 - 2122 -enum : uint { ERROR_CTX_CLIENT_LICENSE_NOT_SET = 7053 } 2123 - 2124 -enum : uint { ERROR_CTX_LICENSE_NOT_AVAILABLE = 7054 } 2125 - 2126 -enum : uint { ERROR_CTX_LICENSE_CLIENT_INVALID = 7055 } 2127 - 2128 -enum : uint { ERROR_CTX_LICENSE_EXPIRED = 7056 } 2129 - 2130 -enum : uint { ERROR_CTX_SHADOW_NOT_RUNNING = 7057 } 2131 - 2132 -enum : uint { ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE = 7058 } 2133 - 2134 -enum : uint { FRS_ERR_INVALID_API_SEQUENCE = 8001 } 2135 - 2136 -enum : uint { FRS_ERR_STARTING_SERVICE = 8002 } 2137 - 2138 -enum : uint { FRS_ERR_STOPPING_SERVICE = 8003 } 2139 - 2140 -enum : uint { FRS_ERR_INTERNAL_API = 8004 } 2141 - 2142 -enum : uint { FRS_ERR_INTERNAL = 8005 } 2143 - 2144 -enum : uint { FRS_ERR_SERVICE_COMM = 8006 } 2145 - 2146 -enum : uint { FRS_ERR_INSUFFICIENT_PRIV = 8007 } 2147 - 2148 -enum : uint { FRS_ERR_AUTHENTICATION = 8008 } 2149 - 2150 -enum : uint { FRS_ERR_PARENT_INSUFFICIENT_PRIV = 8009 } 2151 - 2152 -enum : uint { FRS_ERR_PARENT_AUTHENTICATION = 8010 } 2153 - 2154 -enum : uint { FRS_ERR_CHILD_TO_PARENT_COMM = 8011 } 2155 - 2156 -enum : uint { FRS_ERR_PARENT_TO_CHILD_COMM = 8012 } 2157 - 2158 -enum : uint { FRS_ERR_SYSVOL_POPULATE = 8013 } 2159 - 2160 -enum : uint { FRS_ERR_SYSVOL_POPULATE_TIMEOUT = 8014 } 2161 - 2162 -enum : uint { FRS_ERR_SYSVOL_IS_BUSY = 8015 } 2163 - 2164 -enum : uint { FRS_ERR_SYSVOL_DEMOTE = 8016 } 2165 - 2166 -enum : uint { FRS_ERR_INVALID_SERVICE_PARAMETER = 8017 } 2167 - 2168 -alias NO_ERROR DS_S_SUCCESS; 2169 - 2170 -enum : uint { ERROR_DS_NOT_INSTALLED = 8200 } 2171 - 2172 -enum : uint { ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY = 8201 } 2173 - 2174 -enum : uint { ERROR_DS_NO_ATTRIBUTE_OR_VALUE = 8202 } 2175 - 2176 -enum : uint { ERROR_DS_INVALID_ATTRIBUTE_SYNTAX = 8203 } 2177 - 2178 -enum : uint { ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED = 8204 } 2179 - 2180 -enum : uint { ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS = 8205 } 2181 - 2182 -enum : uint { ERROR_DS_BUSY = 8206 } 2183 - 2184 -enum : uint { ERROR_DS_UNAVAILABLE = 8207 } 2185 - 2186 -enum : uint { ERROR_DS_NO_RIDS_ALLOCATED = 8208 } 2187 - 2188 -enum : uint { ERROR_DS_NO_MORE_RIDS = 8209 } 2189 - 2190 -enum : uint { ERROR_DS_INCORRECT_ROLE_OWNER = 8210 } 2191 - 2192 -enum : uint { ERROR_DS_RIDMGR_INIT_ERROR = 8211 } 2193 - 2194 -enum : uint { ERROR_DS_OBJ_CLASS_VIOLATION = 8212 } 2195 - 2196 -enum : uint { ERROR_DS_CANT_ON_NON_LEAF = 8213 } 2197 - 2198 -enum : uint { ERROR_DS_CANT_ON_RDN = 8214 } 2199 - 2200 -enum : uint { ERROR_DS_CANT_MOD_OBJ_CLASS = 8215 } 2201 - 2202 -enum : uint { ERROR_DS_CROSS_DOM_MOVE_ERROR = 8216 } 2203 - 2204 -enum : uint { ERROR_DS_GC_NOT_AVAILABLE = 8217 } 2205 - 2206 -enum : uint { ERROR_SHARED_POLICY = 8218 } 2207 - 2208 -enum : uint { ERROR_POLICY_OBJECT_NOT_FOUND = 8219 } 2209 - 2210 -enum : uint { ERROR_POLICY_ONLY_IN_DS = 8220 } 2211 - 2212 -enum : uint { ERROR_PROMOTION_ACTIVE = 8221 } 2213 - 2214 -enum : uint { ERROR_NO_PROMOTION_ACTIVE = 8222 } 2215 - 2216 -enum : uint { ERROR_DS_OPERATIONS_ERROR = 8224 } 2217 - 2218 -enum : uint { ERROR_DS_PROTOCOL_ERROR = 8225 } 2219 - 2220 -enum : uint { ERROR_DS_TIMELIMIT_EXCEEDED = 8226 } 2221 - 2222 -enum : uint { ERROR_DS_SIZELIMIT_EXCEEDED = 8227 } 2223 - 2224 -enum : uint { ERROR_DS_ADMIN_LIMIT_EXCEEDED = 8228 } 2225 - 2226 -enum : uint { ERROR_DS_COMPARE_FALSE = 8229 } 2227 - 2228 -enum : uint { ERROR_DS_COMPARE_TRUE = 8230 } 2229 - 2230 -enum : uint { ERROR_DS_AUTH_METHOD_NOT_SUPPORTED = 8231 } 2231 - 2232 -enum : uint { ERROR_DS_STRONG_AUTH_REQUIRED = 8232 } 2233 - 2234 -enum : uint { ERROR_DS_INAPPROPRIATE_AUTH = 8233 } 2235 - 2236 -enum : uint { ERROR_DS_AUTH_UNKNOWN = 8234 } 2237 - 2238 -enum : uint { ERROR_DS_REFERRAL = 8235 } 2239 - 2240 -enum : uint { ERROR_DS_UNAVAILABLE_CRIT_EXTENSION = 8236 } 2241 - 2242 -enum : uint { ERROR_DS_CONFIDENTIALITY_REQUIRED = 8237 } 2243 - 2244 -enum : uint { ERROR_DS_INAPPROPRIATE_MATCHING = 8238 } 2245 - 2246 -enum : uint { ERROR_DS_CONSTRAINT_VIOLATION = 8239 } 2247 - 2248 -enum : uint { ERROR_DS_NO_SUCH_OBJECT = 8240 } 2249 - 2250 -enum : uint { ERROR_DS_ALIAS_PROBLEM = 8241 } 2251 - 2252 -enum : uint { ERROR_DS_INVALID_DN_SYNTAX = 8242 } 2253 - 2254 -enum : uint { ERROR_DS_IS_LEAF = 8243 } 2255 - 2256 -enum : uint { ERROR_DS_ALIAS_DEREF_PROBLEM = 8244 } 2257 - 2258 -enum : uint { ERROR_DS_UNWILLING_TO_PERFORM = 8245 } 2259 - 2260 -enum : uint { ERROR_DS_LOOP_DETECT = 8246 } 2261 - 2262 -enum : uint { ERROR_DS_NAMING_VIOLATION = 8247 } 2263 - 2264 -enum : uint { ERROR_DS_OBJECT_RESULTS_TOO_LARGE = 8248 } 2265 - 2266 -enum : uint { ERROR_DS_AFFECTS_MULTIPLE_DSAS = 8249 } 2267 - 2268 -enum : uint { ERROR_DS_SERVER_DOWN = 8250 } 2269 - 2270 -enum : uint { ERROR_DS_LOCAL_ERROR = 8251 } 2271 - 2272 -enum : uint { ERROR_DS_ENCODING_ERROR = 8252 } 2273 - 2274 -enum : uint { ERROR_DS_DECODING_ERROR = 8253 } 2275 - 2276 -enum : uint { ERROR_DS_FILTER_UNKNOWN = 8254 } 2277 - 2278 -enum : uint { ERROR_DS_PARAM_ERROR = 8255 } 2279 - 2280 -enum : uint { ERROR_DS_NOT_SUPPORTED = 8256 } 2281 - 2282 -enum : uint { ERROR_DS_NO_RESULTS_RETURNED = 8257 } 2283 - 2284 -enum : uint { ERROR_DS_CONTROL_NOT_FOUND = 8258 } 2285 - 2286 -enum : uint { ERROR_DS_CLIENT_LOOP = 8259 } 2287 - 2288 -enum : uint { ERROR_DS_REFERRAL_LIMIT_EXCEEDED = 8260 } 2289 - 2290 -enum : uint { ERROR_DS_SORT_CONTROL_MISSING = 8261 } 2291 - 2292 -enum : uint { ERROR_DS_OFFSET_RANGE_ERROR = 8262 } 2293 - 2294 -enum : uint { ERROR_DS_ROOT_MUST_BE_NC = 8301 } 2295 - 2296 -enum : uint { ERROR_DS_ADD_REPLICA_INHIBITED = 8302 } 2297 - 2298 -enum : uint { ERROR_DS_ATT_NOT_DEF_IN_SCHEMA = 8303 } 2299 - 2300 -enum : uint { ERROR_DS_MAX_OBJ_SIZE_EXCEEDED = 8304 } 2301 - 2302 -enum : uint { ERROR_DS_OBJ_STRING_NAME_EXISTS = 8305 } 2303 - 2304 -enum : uint { ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA = 8306 } 2305 - 2306 -enum : uint { ERROR_DS_RDN_DOESNT_MATCH_SCHEMA = 8307 } 2307 - 2308 -enum : uint { ERROR_DS_NO_REQUESTED_ATTS_FOUND = 8308 } 2309 - 2310 -enum : uint { ERROR_DS_USER_BUFFER_TO_SMALL = 8309 } 2311 - 2312 -enum : uint { ERROR_DS_ATT_IS_NOT_ON_OBJ = 8310 } 2313 - 2314 -enum : uint { ERROR_DS_ILLEGAL_MOD_OPERATION = 8311 } 2315 - 2316 -enum : uint { ERROR_DS_OBJ_TOO_LARGE = 8312 } 2317 - 2318 -enum : uint { ERROR_DS_BAD_INSTANCE_TYPE = 8313 } 2319 - 2320 -enum : uint { ERROR_DS_MASTERDSA_REQUIRED = 8314 } 2321 - 2322 -enum : uint { ERROR_DS_OBJECT_CLASS_REQUIRED = 8315 } 2323 - 2324 -enum : uint { ERROR_DS_MISSING_REQUIRED_ATT = 8316 } 2325 - 2326 -enum : uint { ERROR_DS_ATT_NOT_DEF_FOR_CLASS = 8317 } 2327 - 2328 -enum : uint { ERROR_DS_ATT_ALREADY_EXISTS = 8318 } 2329 - 2330 -enum : uint { ERROR_DS_CANT_ADD_ATT_VALUES = 8320 } 2331 - 2332 -enum : uint { ERROR_DS_SINGLE_VALUE_CONSTRAINT = 8321 } 2333 - 2334 -enum : uint { ERROR_DS_RANGE_CONSTRAINT = 8322 } 2335 - 2336 -enum : uint { ERROR_DS_ATT_VAL_ALREADY_EXISTS = 8323 } 2337 - 2338 -enum : uint { ERROR_DS_CANT_REM_MISSING_ATT = 8324 } 2339 - 2340 -enum : uint { ERROR_DS_CANT_REM_MISSING_ATT_VAL = 8325 } 2341 - 2342 -enum : uint { ERROR_DS_ROOT_CANT_BE_SUBREF = 8326 } 2343 - 2344 -enum : uint { ERROR_DS_NO_CHAINING = 8327 } 2345 - 2346 -enum : uint { ERROR_DS_NO_CHAINED_EVAL = 8328 } 2347 - 2348 -enum : uint { ERROR_DS_NO_PARENT_OBJECT = 8329 } 2349 - 2350 -enum : uint { ERROR_DS_PARENT_IS_AN_ALIAS = 8330 } 2351 - 2352 -enum : uint { ERROR_DS_CANT_MIX_MASTER_AND_REPS = 8331 } 2353 - 2354 -enum : uint { ERROR_DS_CHILDREN_EXIST = 8332 } 2355 - 2356 -enum : uint { ERROR_DS_OBJ_NOT_FOUND = 8333 } 2357 - 2358 -enum : uint { ERROR_DS_ALIASED_OBJ_MISSING = 8334 } 2359 - 2360 -enum : uint { ERROR_DS_BAD_NAME_SYNTAX = 8335 } 2361 - 2362 -enum : uint { ERROR_DS_ALIAS_POINTS_TO_ALIAS = 8336 } 2363 - 2364 -enum : uint { ERROR_DS_CANT_DEREF_ALIAS = 8337 } 2365 - 2366 -enum : uint { ERROR_DS_OUT_OF_SCOPE = 8338 } 2367 - 2368 -enum : uint { ERROR_DS_OBJECT_BEING_REMOVED = 8339 } 2369 - 2370 -enum : uint { ERROR_DS_CANT_DELETE_DSA_OBJ = 8340 } 2371 - 2372 -enum : uint { ERROR_DS_GENERIC_ERROR = 8341 } 2373 - 2374 -enum : uint { ERROR_DS_DSA_MUST_BE_INT_MASTER = 8342 } 2375 - 2376 -enum : uint { ERROR_DS_CLASS_NOT_DSA = 8343 } 2377 - 2378 -enum : uint { ERROR_DS_INSUFF_ACCESS_RIGHTS = 8344 } 2379 - 2380 -enum : uint { ERROR_DS_ILLEGAL_SUPERIOR = 8345 } 2381 - 2382 -enum : uint { ERROR_DS_ATTRIBUTE_OWNED_BY_SAM = 8346 } 2383 - 2384 -enum : uint { ERROR_DS_NAME_TOO_MANY_PARTS = 8347 } 2385 - 2386 -enum : uint { ERROR_DS_NAME_TOO_LONG = 8348 } 2387 - 2388 -enum : uint { ERROR_DS_NAME_VALUE_TOO_LONG = 8349 } 2389 - 2390 -enum : uint { ERROR_DS_NAME_UNPARSEABLE = 8350 } 2391 - 2392 -enum : uint { ERROR_DS_NAME_TYPE_UNKNOWN = 8351 } 2393 - 2394 -enum : uint { ERROR_DS_NOT_AN_OBJECT = 8352 } 2395 - 2396 -enum : uint { ERROR_DS_SEC_DESC_TOO_SHORT = 8353 } 2397 - 2398 -enum : uint { ERROR_DS_SEC_DESC_INVALID = 8354 } 2399 - 2400 -enum : uint { ERROR_DS_NO_DELETED_NAME = 8355 } 2401 - 2402 -enum : uint { ERROR_DS_SUBREF_MUST_HAVE_PARENT = 8356 } 2403 - 2404 -enum : uint { ERROR_DS_NCNAME_MUST_BE_NC = 8357 } 2405 - 2406 -enum : uint { ERROR_DS_CANT_ADD_SYSTEM_ONLY = 8358 } 2407 - 2408 -enum : uint { ERROR_DS_CLASS_MUST_BE_CONCRETE = 8359 } 2409 - 2410 -enum : uint { ERROR_DS_INVALID_DMD = 8360 } 2411 - 2412 -enum : uint { ERROR_DS_OBJ_GUID_EXISTS = 8361 } 2413 - 2414 -enum : uint { ERROR_DS_NOT_ON_BACKLINK = 8362 } 2415 - 2416 -enum : uint { ERROR_DS_NO_CROSSREF_FOR_NC = 8363 } 2417 - 2418 -enum : uint { ERROR_DS_SHUTTING_DOWN = 8364 } 2419 - 2420 -enum : uint { ERROR_DS_UNKNOWN_OPERATION = 8365 } 2421 - 2422 -enum : uint { ERROR_DS_INVALID_ROLE_OWNER = 8366 } 2423 - 2424 -enum : uint { ERROR_DS_COULDNT_CONTACT_FSMO = 8367 } 2425 - 2426 -enum : uint { ERROR_DS_CROSS_NC_DN_RENAME = 8368 } 2427 - 2428 -enum : uint { ERROR_DS_CANT_MOD_SYSTEM_ONLY = 8369 } 2429 - 2430 -enum : uint { ERROR_DS_REPLICATOR_ONLY = 8370 } 2431 - 2432 -enum : uint { ERROR_DS_OBJ_CLASS_NOT_DEFINED = 8371 } 2433 - 2434 -enum : uint { ERROR_DS_OBJ_CLASS_NOT_SUBCLASS = 8372 } 2435 - 2436 -enum : uint { ERROR_DS_NAME_REFERENCE_INVALID = 8373 } 2437 - 2438 -enum : uint { ERROR_DS_CROSS_REF_EXISTS = 8374 } 2439 - 2440 -enum : uint { ERROR_DS_CANT_DEL_MASTER_CROSSREF = 8375 } 2441 - 2442 -enum : uint { ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD = 8376 } 2443 - 2444 -enum : uint { ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX = 8377 } 2445 - 2446 -enum : uint { ERROR_DS_DUP_RDN = 8378 } 2447 - 2448 -enum : uint { ERROR_DS_DUP_OID = 8379 } 2449 - 2450 -enum : uint { ERROR_DS_DUP_MAPI_ID = 8380 } 2451 - 2452 -enum : uint { ERROR_DS_DUP_SCHEMA_ID_GUID = 8381 } 2453 - 2454 -enum : uint { ERROR_DS_DUP_LDAP_DISPLAY_NAME = 8382 } 2455 - 2456 -enum : uint { ERROR_DS_SEMANTIC_ATT_TEST = 8383 } 2457 - 2458 -enum : uint { ERROR_DS_SYNTAX_MISMATCH = 8384 } 2459 - 2460 -enum : uint { ERROR_DS_EXISTS_IN_MUST_HAVE = 8385 } 2461 - 2462 -enum : uint { ERROR_DS_EXISTS_IN_MAY_HAVE = 8386 } 2463 - 2464 -enum : uint { ERROR_DS_NONEXISTENT_MAY_HAVE = 8387 } 2465 - 2466 -enum : uint { ERROR_DS_NONEXISTENT_MUST_HAVE = 8388 } 2467 - 2468 -enum : uint { ERROR_DS_AUX_CLS_TEST_FAIL = 8389 } 2469 - 2470 -enum : uint { ERROR_DS_NONEXISTENT_POSS_SUP = 8390 } 2471 - 2472 -enum : uint { ERROR_DS_SUB_CLS_TEST_FAIL = 8391 } 2473 - 2474 -enum : uint { ERROR_DS_BAD_RDN_ATT_ID_SYNTAX = 8392 } 2475 - 2476 -enum : uint { ERROR_DS_EXISTS_IN_AUX_CLS = 8393 } 2477 - 2478 -enum : uint { ERROR_DS_EXISTS_IN_SUB_CLS = 8394 } 2479 - 2480 -enum : uint { ERROR_DS_EXISTS_IN_POSS_SUP = 8395 } 2481 - 2482 -enum : uint { ERROR_DS_RECALCSCHEMA_FAILED = 8396 } 2483 - 2484 -enum : uint { ERROR_DS_TREE_DELETE_NOT_FINISHED = 8397 } 2485 - 2486 -enum : uint { ERROR_DS_CANT_DELETE = 8398 } 2487 - 2488 -enum : uint { ERROR_DS_ATT_SCHEMA_REQ_ID = 8399 } 2489 - 2490 -enum : uint { ERROR_DS_BAD_ATT_SCHEMA_SYNTAX = 8400 } 2491 - 2492 -enum : uint { ERROR_DS_CANT_CACHE_ATT = 8401 } 2493 - 2494 -enum : uint { ERROR_DS_CANT_CACHE_CLASS = 8402 } 2495 - 2496 -enum : uint { ERROR_DS_CANT_REMOVE_ATT_CACHE = 8403 } 2497 - 2498 -enum : uint { ERROR_DS_CANT_REMOVE_CLASS_CACHE = 8404 } 2499 - 2500 -enum : uint { ERROR_DS_CANT_RETRIEVE_DN = 8405 } 2501 - 2502 -enum : uint { ERROR_DS_MISSING_SUPREF = 8406 } 2503 - 2504 -enum : uint { ERROR_DS_CANT_RETRIEVE_INSTANCE = 8407 } 2505 - 2506 -enum : uint { ERROR_DS_CODE_INCONSISTENCY = 8408 } 2507 - 2508 -enum : uint { ERROR_DS_DATABASE_ERROR = 8409 } 2509 - 2510 -enum : uint { ERROR_DS_GOVERNSID_MISSING = 8410 } 2511 - 2512 -enum : uint { ERROR_DS_MISSING_EXPECTED_ATT = 8411 } 2513 - 2514 -enum : uint { ERROR_DS_NCNAME_MISSING_CR_REF = 8412 } 2515 - 2516 -enum : uint { ERROR_DS_SECURITY_CHECKING_ERROR = 8413 } 2517 - 2518 -enum : uint { ERROR_DS_SCHEMA_NOT_LOADED = 8414 } 2519 - 2520 -enum : uint { ERROR_DS_SCHEMA_ALLOC_FAILED = 8415 } 2521 - 2522 -enum : uint { ERROR_DS_ATT_SCHEMA_REQ_SYNTAX = 8416 } 2523 - 2524 -enum : uint { ERROR_DS_GCVERIFY_ERROR = 8417 } 2525 - 2526 -enum : uint { ERROR_DS_DRA_SCHEMA_MISMATCH = 8418 } 2527 - 2528 -enum : uint { ERROR_DS_CANT_FIND_DSA_OBJ = 8419 } 2529 - 2530 -enum : uint { ERROR_DS_CANT_FIND_EXPECTED_NC = 8420 } 2531 - 2532 -enum : uint { ERROR_DS_CANT_FIND_NC_IN_CACHE = 8421 } 2533 - 2534 -enum : uint { ERROR_DS_CANT_RETRIEVE_CHILD = 8422 } 2535 - 2536 -enum : uint { ERROR_DS_SECURITY_ILLEGAL_MODIFY = 8423 } 2537 - 2538 -enum : uint { ERROR_DS_CANT_REPLACE_HIDDEN_REC = 8424 } 2539 - 2540 -enum : uint { ERROR_DS_BAD_HIERARCHY_FILE = 8425 } 2541 - 2542 -enum : uint { ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED = 8426 } 2543 - 2544 -enum : uint { ERROR_DS_CONFIG_PARAM_MISSING = 8427 } 2545 - 2546 -enum : uint { ERROR_DS_COUNTING_AB_INDICES_FAILED = 8428 } 2547 - 2548 -enum : uint { ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED = 8429 } 2549 - 2550 -enum : uint { ERROR_DS_INTERNAL_FAILURE = 8430 } 2551 - 2552 -enum : uint { ERROR_DS_UNKNOWN_ERROR = 8431 } 2553 - 2554 -enum : uint { ERROR_DS_ROOT_REQUIRES_CLASS_TOP = 8432 } 2555 - 2556 -enum : uint { ERROR_DS_REFUSING_FSMO_ROLES = 8433 } 2557 - 2558 -enum : uint { ERROR_DS_MISSING_FSMO_SETTINGS = 8434 } 2559 - 2560 -enum : uint { ERROR_DS_UNABLE_TO_SURRENDER_ROLES = 8435 } 2561 - 2562 -enum : uint { ERROR_DS_DRA_GENERIC = 8436 } 2563 - 2564 -enum : uint { ERROR_DS_DRA_INVALID_PARAMETER = 8437 } 2565 - 2566 -enum : uint { ERROR_DS_DRA_BUSY = 8438 } 2567 - 2568 -enum : uint { ERROR_DS_DRA_BAD_DN = 8439 } 2569 - 2570 -enum : uint { ERROR_DS_DRA_BAD_NC = 8440 } 2571 - 2572 -enum : uint { ERROR_DS_DRA_DN_EXISTS = 8441 } 2573 - 2574 -enum : uint { ERROR_DS_DRA_INTERNAL_ERROR = 8442 } 2575 - 2576 -enum : uint { ERROR_DS_DRA_INCONSISTENT_DIT = 8443 } 2577 - 2578 -enum : uint { ERROR_DS_DRA_CONNECTION_FAILED = 8444 } 2579 - 2580 -enum : uint { ERROR_DS_DRA_BAD_INSTANCE_TYPE = 8445 } 2581 - 2582 -enum : uint { ERROR_DS_DRA_OUT_OF_MEM = 8446 } 2583 - 2584 -enum : uint { ERROR_DS_DRA_MAIL_PROBLEM = 8447 } 2585 - 2586 -enum : uint { ERROR_DS_DRA_REF_ALREADY_EXISTS = 8448 } 2587 - 2588 -enum : uint { ERROR_DS_DRA_REF_NOT_FOUND = 8449 } 2589 - 2590 -enum : uint { ERROR_DS_DRA_OBJ_IS_REP_SOURCE = 8450 } 2591 - 2592 -enum : uint { ERROR_DS_DRA_DB_ERROR = 8451 } 2593 - 2594 -enum : uint { ERROR_DS_DRA_NO_REPLICA = 8452 } 2595 - 2596 -enum : uint { ERROR_DS_DRA_ACCESS_DENIED = 8453 } 2597 - 2598 -enum : uint { ERROR_DS_DRA_NOT_SUPPORTED = 8454 } 2599 - 2600 -enum : uint { ERROR_DS_DRA_RPC_CANCELLED = 8455 } 2601 - 2602 -enum : uint { ERROR_DS_DRA_SOURCE_DISABLED = 8456 } 2603 - 2604 -enum : uint { ERROR_DS_DRA_SINK_DISABLED = 8457 } 2605 - 2606 -enum : uint { ERROR_DS_DRA_NAME_COLLISION = 8458 } 2607 - 2608 -enum : uint { ERROR_DS_DRA_SOURCE_REINSTALLED = 8459 } 2609 - 2610 -enum : uint { ERROR_DS_DRA_MISSING_PARENT = 8460 } 2611 - 2612 -enum : uint { ERROR_DS_DRA_PREEMPTED = 8461 } 2613 - 2614 -enum : uint { ERROR_DS_DRA_ABANDON_SYNC = 8462 } 2615 - 2616 -enum : uint { ERROR_DS_DRA_SHUTDOWN = 8463 } 2617 - 2618 -enum : uint { ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET = 8464 } 2619 - 2620 -enum : uint { ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA = 8465 } 2621 - 2622 -enum : uint { ERROR_DS_DRA_EXTN_CONNECTION_FAILED = 8466 } 2623 - 2624 -enum : uint { ERROR_DS_INSTALL_SCHEMA_MISMATCH = 8467 } 2625 - 2626 -enum : uint { ERROR_DS_DUP_LINK_ID = 8468 } 2627 - 2628 -enum : uint { ERROR_DS_NAME_ERROR_RESOLVING = 8469 } 2629 - 2630 -enum : uint { ERROR_DS_NAME_ERROR_NOT_FOUND = 8470 } 2631 - 2632 -enum : uint { ERROR_DS_NAME_ERROR_NOT_UNIQUE = 8471 } 2633 - 2634 -enum : uint { ERROR_DS_NAME_ERROR_NO_MAPPING = 8472 } 2635 - 2636 -enum : uint { ERROR_DS_NAME_ERROR_DOMAIN_ONLY = 8473 } 2637 - 2638 -enum : uint { ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 8474 } 2639 - 2640 -enum : uint { ERROR_DS_CONSTRUCTED_ATT_MOD = 8475 } 2641 - 2642 -enum : uint { ERROR_DS_WRONG_OM_OBJ_CLASS = 8476 } 2643 - 2644 -enum : uint { ERROR_DS_DRA_REPL_PENDING = 8477 } 2645 - 2646 -enum : uint { ERROR_DS_DS_REQUIRED = 8478 } 2647 - 2648 -enum : uint { ERROR_DS_INVALID_LDAP_DISPLAY_NAME = 8479 } 2649 - 2650 -enum : uint { ERROR_DS_NON_BASE_SEARCH = 8480 } 2651 - 2652 -enum : uint { ERROR_DS_CANT_RETRIEVE_ATTS = 8481 } 2653 - 2654 -enum : uint { ERROR_DS_BACKLINK_WITHOUT_LINK = 8482 } 2655 - 2656 -enum : uint { ERROR_DS_EPOCH_MISMATCH = 8483 } 2657 - 2658 -enum : uint { ERROR_DS_SRC_NAME_MISMATCH = 8484 } 2659 - 2660 -enum : uint { ERROR_DS_SRC_AND_DST_NC_IDENTICAL = 8485 } 2661 - 2662 -enum : uint { ERROR_DS_DST_NC_MISMATCH = 8486 } 2663 - 2664 -enum : uint { ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC = 8487 } 2665 - 2666 -enum : uint { ERROR_DS_SRC_GUID_MISMATCH = 8488 } 2667 - 2668 -enum : uint { ERROR_DS_CANT_MOVE_DELETED_OBJECT = 8489 } 2669 - 2670 -enum : uint { ERROR_DS_PDC_OPERATION_IN_PROGRESS = 8490 } 2671 - 2672 -enum : uint { ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD = 8491 } 2673 - 2674 -enum : uint { ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION = 8492 } 2675 - 2676 -enum : uint { ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS = 8493 } 2677 - 2678 -enum : uint { ERROR_DS_NC_MUST_HAVE_NC_PARENT = 8494 } 2679 - 2680 -enum : uint { ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE = 8495 } 2681 - 2682 -enum : uint { ERROR_DS_DST_DOMAIN_NOT_NATIVE = 8496 } 2683 - 2684 -enum : uint { ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER = 8497 } 2685 - 2686 -enum : uint { ERROR_DS_CANT_MOVE_ACCOUNT_GROUP = 8498 } 2687 - 2688 -enum : uint { ERROR_DS_CANT_MOVE_RESOURCE_GROUP = 8499 } 2689 - 2690 -enum : uint { ERROR_DS_INVALID_SEARCH_FLAG = 8500 } 2691 - 2692 -enum : uint { ERROR_DS_NO_TREE_DELETE_ABOVE_NC = 8501 } 2693 - 2694 -enum : uint { ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE = 8502 } 2695 - 2696 -enum : uint { ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE = 8503 } 2697 - 2698 -enum : uint { ERROR_DS_SAM_INIT_FAILURE = 8504 } 2699 - 2700 -enum : uint { ERROR_DS_SENSITIVE_GROUP_VIOLATION = 8505 } 2701 - 2702 -enum : uint { ERROR_DS_CANT_MOD_PRIMARYGROUPID = 8506 } 2703 - 2704 -enum : uint { ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD = 8507 } 2705 - 2706 -enum : uint { ERROR_DS_NONSAFE_SCHEMA_CHANGE = 8508 } 2707 - 2708 -enum : uint { ERROR_DS_SCHEMA_UPDATE_DISALLOWED = 8509 } 2709 - 2710 -enum : uint { ERROR_DS_CANT_CREATE_UNDER_SCHEMA = 8510 } 2711 - 2712 -enum : uint { ERROR_DS_INSTALL_NO_SRC_SCH_VERSION = 8511 } 2713 - 2714 -enum : uint { ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE = 8512 } 2715 - 2716 -enum : uint { ERROR_DS_INVALID_GROUP_TYPE = 8513 } 2717 - 2718 -enum : uint { ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN = 8514 } 2719 - 2720 -enum : uint { ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN = 8515 } 2721 - 2722 -enum : uint { ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER = 8516 } 2723 - 2724 -enum : uint { ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER = 8517 } 2725 - 2726 -enum : uint { ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER = 8518 } 2727 - 2728 -enum : uint { ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER = 8519 } 2729 - 2730 -enum : uint { ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER = 8520 } 2731 - 2732 -enum : uint { ERROR_DS_HAVE_PRIMARY_MEMBERS = 8521 } 2733 - 2734 -enum : uint { ERROR_DS_STRING_SD_CONVERSION_FAILED = 8522 } 2735 - 2736 -enum : uint { ERROR_DS_NAMING_MASTER_GC = 8523 } 2737 - 2738 -enum : uint { ERROR_DS_DNS_LOOKUP_FAILURE = 8524 } 2739 - 2740 -enum : uint { ERROR_DS_COULDNT_UPDATE_SPNS = 8525 } 2741 - 2742 -enum : uint { ERROR_DS_CANT_RETRIEVE_SD = 8526 } 2743 - 2744 -enum : uint { ERROR_DS_KEY_NOT_UNIQUE = 8527 } 2745 - 2746 -enum : uint { ERROR_DS_WRONG_LINKED_ATT_SYNTAX = 8528 } 2747 - 2748 -enum : uint { ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD = 8529 } 2749 - 2750 -enum : uint { ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY = 8530 } 2751 - 2752 -enum : uint { ERROR_DS_CANT_START = 8531 } 2753 - 2754 -enum : uint { ERROR_DS_INIT_FAILURE = 8532 } 2755 - 2756 -enum : uint { ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION = 8533 } 2757 - 2758 -enum : uint { ERROR_DS_SOURCE_DOMAIN_IN_FOREST = 8534 } 2759 - 2760 -enum : uint { ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST = 8535 } 2761 - 2762 -enum : uint { ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED = 8536 } 2763 - 2764 -enum : uint { ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN = 8537 } 2765 - 2766 -enum : uint { ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER = 8538 } 2767 - 2768 -enum : uint { ERROR_DS_SRC_SID_EXISTS_IN_FOREST = 8539 } 2769 - 2770 -enum : uint { ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH = 8540 } 2771 - 2772 -enum : uint { ERROR_SAM_INIT_FAILURE = 8541 } 2773 - 2774 -enum : uint { ERROR_DS_DRA_SCHEMA_INFO_SHIP = 8542 } 2775 - 2776 -enum : uint { ERROR_DS_DRA_SCHEMA_CONFLICT = 8543 } 2777 - 2778 -enum : uint { ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT = 8544 } 2779 - 2780 -enum : uint { ERROR_DS_DRA_OBJ_NC_MISMATCH = 8545 } 2781 - 2782 -enum : uint { ERROR_DS_NC_STILL_HAS_DSAS = 8546 } 2783 - 2784 -enum : uint { ERROR_DS_GC_REQUIRED = 8547 } 2785 - 2786 -enum : uint { ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY = 8548 } 2787 - 2788 -enum : uint { ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS = 8549 } 2789 - 2790 -enum : uint { ERROR_DS_CANT_ADD_TO_GC = 8550 } 2791 - 2792 -enum : uint { ERROR_DS_NO_CHECKPOINT_WITH_PDC = 8551 } 2793 - 2794 -enum : uint { ERROR_DS_SOURCE_AUDITING_NOT_ENABLED = 8552 } 2795 - 2796 -enum : uint { ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC = 8553 } 2797 - 2798 -enum : uint { ERROR_DS_INVALID_NAME_FOR_SPN = 8554 } 2799 - 2800 -enum : uint { ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS = 8555 } 2801 - 2802 -enum : uint { ERROR_DS_UNICODEPWD_NOT_IN_QUOTES = 8556 } 2803 - 2804 -enum : uint { ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED = 8557 } 2805 - 2806 -enum : uint { ERROR_DS_MUST_BE_RUN_ON_DST_DC = 8558 } 2807 - 2808 -enum : uint { ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER = 8559 } 2809 - 2810 -enum : uint { ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ = 8560 } 2811 - 2812 -enum : uint { ERROR_DS_INIT_FAILURE_CONSOLE = 8561 } 2813 - 2814 -enum : uint { ERROR_DS_SAM_INIT_FAILURE_CONSOLE = 8562 } 2815 - 2816 -enum : uint { ERROR_DS_FOREST_VERSION_TOO_HIGH = 8563 } 2817 - 2818 -enum : uint { ERROR_DS_DOMAIN_VERSION_TOO_HIGH = 8564 } 2819 - 2820 -enum : uint { ERROR_DS_FOREST_VERSION_TOO_LOW = 8565 } 2821 - 2822 -enum : uint { ERROR_DS_DOMAIN_VERSION_TOO_LOW = 8566 } 2823 - 2824 -enum : uint { ERROR_DS_INCOMPATIBLE_VERSION = 8567 } 2825 - 2826 -enum : uint { ERROR_DS_LOW_DSA_VERSION = 8568 } 2827 - 2828 -enum : uint { ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN = 8569 } 2829 - 2830 -enum : uint { ERROR_DS_NOT_SUPPORTED_SORT_ORDER = 8570 } 2831 - 2832 -enum : uint { ERROR_DS_NAME_NOT_UNIQUE = 8571 } 2833 - 2834 -enum : uint { ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 = 8572 } 2835 - 2836 -enum : uint { ERROR_DS_OUT_OF_VERSION_STORE = 8573 } 2837 - 2838 -enum : uint { ERROR_DS_INCOMPATIBLE_CONTROLS_USED = 8574 } 2839 - 2840 -enum : uint { ERROR_DS_NO_REF_DOMAIN = 8575 } 2841 - 2842 -enum : uint { ERROR_DS_RESERVED_LINK_ID = 8576 } 2843 - 2844 -enum : uint { ERROR_DS_LINK_ID_NOT_AVAILABLE = 8577 } 2845 - 2846 -enum : uint { ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER = 8578 } 2847 - 2848 -enum : uint { ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE = 8579 } 2849 - 2850 -enum : uint { ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC = 8580 } 2851 - 2852 -enum : uint { ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG = 8581 } 2853 - 2854 -enum : uint { ERROR_DS_MODIFYDN_WRONG_GRANDPARENT = 8582 } 2855 - 2856 -enum : uint { ERROR_DS_NAME_ERROR_TRUST_REFERRAL = 8583 } 2857 - 2858 -enum : uint { ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER = 8584 } 2859 - 2860 -enum : uint { ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD = 8585 } 2861 - 2862 -enum : uint { ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 = 8586 } 2863 - 2864 -enum : uint { ERROR_DS_THREAD_LIMIT_EXCEEDED = 8587 } 2865 - 2866 -enum : uint { ERROR_DS_NOT_CLOSEST = 8588 } 2867 - 2868 -enum : uint { ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF = 8589 } 2869 - 2870 -enum : uint { ERROR_DS_SINGLE_USER_MODE_FAILED = 8590 } 2871 - 2872 -enum : uint { ERROR_DS_NTDSCRIPT_SYNTAX_ERROR = 8591 } 2873 - 2874 -enum : uint { ERROR_DS_NTDSCRIPT_PROCESS_ERROR = 8592 } 2875 - 2876 -enum : uint { ERROR_DS_DIFFERENT_REPL_EPOCHS = 8593 } 2877 - 2878 -enum : uint { ERROR_DS_DRS_EXTENSIONS_CHANGED = 8594 } 2879 - 2880 -enum : uint { ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR = 8595 } 2881 - 2882 -enum : uint { ERROR_DS_NO_MSDS_INTID = 8596 } 2883 - 2884 -enum : uint { ERROR_DS_DUP_MSDS_INTID = 8597 } 2885 - 2886 -enum : uint { ERROR_DS_EXISTS_IN_RDNATTID = 8598 } 2887 - 2888 -enum : uint { ERROR_DS_AUTHORIZATION_FAILED = 8599 } 2889 - 2890 -enum : uint { ERROR_DS_INVALID_SCRIPT = 8600 } 2891 - 2892 -enum : uint { ERROR_DS_REMOTE_CROSSREF_OP_FAILED = 8601 } 2893 - 2894 -enum : uint { DNS_ERROR_RESPONSE_CODES_BASE = 9000 } 2895 - 2896 -alias NO_ERROR DNS_ERROR_RCODE_NO_ERROR; 2897 - 2898 -enum : uint { DNS_ERROR_MASK = 0x00002328 } 2899 - 2900 -enum : uint { DNS_ERROR_RCODE_FORMAT_ERROR = 9001 } 2901 - 2902 -enum : uint { DNS_ERROR_RCODE_SERVER_FAILURE = 9002 } 2903 - 2904 -enum : uint { DNS_ERROR_RCODE_NAME_ERROR = 9003 } 2905 - 2906 -enum : uint { DNS_ERROR_RCODE_NOT_IMPLEMENTED = 9004 } 2907 - 2908 -enum : uint { DNS_ERROR_RCODE_REFUSED = 9005 } 2909 - 2910 -enum : uint { DNS_ERROR_RCODE_YXDOMAIN = 9006 } 2911 - 2912 -enum : uint { DNS_ERROR_RCODE_YXRRSET = 9007 } 2913 - 2914 -enum : uint { DNS_ERROR_RCODE_NXRRSET = 9008 } 2915 - 2916 -enum : uint { DNS_ERROR_RCODE_NOTAUTH = 9009 } 2917 - 2918 -enum : uint { DNS_ERROR_RCODE_NOTZONE = 9010 } 2919 - 2920 -enum : uint { DNS_ERROR_RCODE_BADSIG = 9016 } 2921 - 2922 -enum : uint { DNS_ERROR_RCODE_BADKEY = 9017 } 2923 - 2924 -enum : uint { DNS_ERROR_RCODE_BADTIME = 9018 } 2925 - 2926 -alias DNS_ERROR_RCODE_BADTIME DNS_ERROR_RCODE_LAST; 2927 - 2928 -enum : uint { DNS_ERROR_PACKET_FMT_BASE = 9500 } 2929 - 2930 -enum : uint { DNS_INFO_NO_RECORDS = 9501 } 2931 - 2932 -enum : uint { DNS_ERROR_BAD_PACKET = 9502 } 2933 - 2934 -enum : uint { DNS_ERROR_NO_PACKET = 9503 } 2935 - 2936 -enum : uint { DNS_ERROR_RCODE = 9504 } 2937 - 2938 -enum : uint { DNS_ERROR_UNSECURE_PACKET = 9505 } 2939 - 2940 -alias DNS_ERROR_UNSECURE_PACKET DNS_STATUS_PACKET_UNSECURE; 2941 - 2942 -alias ERROR_OUTOFMEMORY DNS_ERROR_NO_MEMORY; 2943 -alias ERROR_INVALID_NAME DNS_ERROR_INVALID_NAME; 2944 -alias ERROR_INVALID_DATA DNS_ERROR_INVALID_DATA; 2945 - 2946 -enum : uint { DNS_ERROR_GENERAL_API_BASE = 9550 } 2947 - 2948 -enum : uint { DNS_ERROR_INVALID_TYPE = 9551 } 2949 - 2950 -enum : uint { DNS_ERROR_INVALID_IP_ADDRESS = 9552 } 2951 - 2952 -enum : uint { DNS_ERROR_INVALID_PROPERTY = 9553 } 2953 - 2954 -enum : uint { DNS_ERROR_TRY_AGAIN_LATER = 9554 } 2955 - 2956 -enum : uint { DNS_ERROR_NOT_UNIQUE = 9555 } 2957 - 2958 -enum : uint { DNS_ERROR_NON_RFC_NAME = 9556 } 2959 - 2960 -enum : uint { DNS_STATUS_FQDN = 9557 } 2961 - 2962 -enum : uint { DNS_STATUS_DOTTED_NAME = 9558 } 2963 - 2964 -enum : uint { DNS_STATUS_SINGLE_PART_NAME = 9559 } 2965 - 2966 -enum : uint { DNS_ERROR_INVALID_NAME_CHAR = 9560 } 2967 - 2968 -enum : uint { DNS_ERROR_NUMERIC_NAME = 9561 } 2969 - 2970 -enum : uint { DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER = 9562 } 2971 - 2972 -enum : uint { DNS_ERROR_ZONE_BASE = 9600 } 2973 - 2974 -enum : uint { DNS_ERROR_ZONE_DOES_NOT_EXIST = 9601 } 2975 - 2976 -enum : uint { DNS_ERROR_NO_ZONE_INFO = 9602 } 2977 - 2978 -enum : uint { DNS_ERROR_INVALID_ZONE_OPERATION = 9603 } 2979 - 2980 -enum : uint { DNS_ERROR_ZONE_CONFIGURATION_ERROR = 9604 } 2981 - 2982 -enum : uint { DNS_ERROR_ZONE_HAS_NO_SOA_RECORD = 9605 } 2983 - 2984 -enum : uint { DNS_ERROR_ZONE_HAS_NO_NS_RECORDS = 9606 } 2985 - 2986 -enum : uint { DNS_ERROR_ZONE_LOCKED = 9607 } 2987 - 2988 -enum : uint { DNS_ERROR_ZONE_CREATION_FAILED = 9608 } 2989 - 2990 -enum : uint { DNS_ERROR_ZONE_ALREADY_EXISTS = 9609 } 2991 - 2992 -enum : uint { DNS_ERROR_AUTOZONE_ALREADY_EXISTS = 9610 } 2993 - 2994 -enum : uint { DNS_ERROR_INVALID_ZONE_TYPE = 9611 } 2995 - 2996 -enum : uint { DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP = 9612 } 2997 - 2998 -enum : uint { DNS_ERROR_ZONE_NOT_SECONDARY = 9613 } 2999 - 3000 -enum : uint { DNS_ERROR_NEED_SECONDARY_ADDRESSES = 9614 } 3001 - 3002 -enum : uint { DNS_ERROR_WINS_INIT_FAILED = 9615 } 3003 - 3004 -enum : uint { DNS_ERROR_NEED_WINS_SERVERS = 9616 } 3005 - 3006 -enum : uint { DNS_ERROR_NBSTAT_INIT_FAILED = 9617 } 3007 - 3008 -enum : uint { DNS_ERROR_SOA_DELETE_INVALID = 9618 } 3009 - 3010 -enum : uint { DNS_ERROR_FORWARDER_ALREADY_EXISTS = 9619 } 3011 - 3012 -enum : uint { DNS_ERROR_ZONE_REQUIRES_MASTER_IP = 9620 } 3013 - 3014 -enum : uint { DNS_ERROR_ZONE_IS_SHUTDOWN = 9621 } 3015 - 3016 -enum : uint { DNS_ERROR_DATAFILE_BASE = 9650 } 3017 - 3018 -enum : uint { DNS_ERROR_PRIMARY_REQUIRES_DATAFILE = 9651 } 3019 - 3020 -enum : uint { DNS_ERROR_INVALID_DATAFILE_NAME = 9652 } 3021 - 3022 -enum : uint { DNS_ERROR_DATAFILE_OPEN_FAILURE = 9653 } 3023 - 3024 -enum : uint { DNS_ERROR_FILE_WRITEBACK_FAILED = 9654 } 3025 - 3026 -enum : uint { DNS_ERROR_DATAFILE_PARSING = 9655 } 3027 - 3028 -enum : uint { DNS_ERROR_DATABASE_BASE = 9700 } 3029 - 3030 -enum : uint { DNS_ERROR_RECORD_DOES_NOT_EXIST = 9701 } 3031 - 3032 -enum : uint { DNS_ERROR_RECORD_FORMAT = 9702 } 3033 - 3034 -enum : uint { DNS_ERROR_NODE_CREATION_FAILED = 9703 } 3035 - 3036 -enum : uint { DNS_ERROR_UNKNOWN_RECORD_TYPE = 9704 } 3037 - 3038 -enum : uint { DNS_ERROR_RECORD_TIMED_OUT = 9705 } 3039 - 3040 -enum : uint { DNS_ERROR_NAME_NOT_IN_ZONE = 9706 } 3041 - 3042 -enum : uint { DNS_ERROR_CNAME_LOOP = 9707 } 3043 - 3044 -enum : uint { DNS_ERROR_NODE_IS_CNAME = 9708 } 3045 - 3046 -enum : uint { DNS_ERROR_CNAME_COLLISION = 9709 } 3047 - 3048 -enum : uint { DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT = 9710 } 3049 - 3050 -enum : uint { DNS_ERROR_RECORD_ALREADY_EXISTS = 9711 } 3051 - 3052 -enum : uint { DNS_ERROR_SECONDARY_DATA = 9712 } 3053 - 3054 -enum : uint { DNS_ERROR_NO_CREATE_CACHE_DATA = 9713 } 3055 - 3056 -enum : uint { DNS_ERROR_NAME_DOES_NOT_EXIST = 9714 } 3057 - 3058 -enum : uint { DNS_WARNING_PTR_CREATE_FAILED = 9715 } 3059 - 3060 -enum : uint { DNS_WARNING_DOMAIN_UNDELETED = 9716 } 3061 - 3062 -enum : uint { DNS_ERROR_DS_UNAVAILABLE = 9717 } 3063 - 3064 -enum : uint { DNS_ERROR_DS_ZONE_ALREADY_EXISTS = 9718 } 3065 - 3066 -enum : uint { DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE = 9719 } 3067 - 3068 -enum : uint { DNS_ERROR_OPERATION_BASE = 9750 } 3069 - 3070 -enum : uint { DNS_INFO_AXFR_COMPLETE = 9751 } 3071 - 3072 -enum : uint { DNS_ERROR_AXFR = 9752 } 3073 - 3074 -enum : uint { DNS_INFO_ADDED_LOCAL_WINS = 9753 } 3075 - 3076 -enum : uint { DNS_ERROR_SECURE_BASE = 9800 } 3077 - 3078 -enum : uint { DNS_STATUS_CONTINUE_NEEDED = 9801 } 3079 - 3080 -enum : uint { DNS_ERROR_SETUP_BASE = 9850 } 3081 - 3082 -enum : uint { DNS_ERROR_NO_TCPIP = 9851 } 3083 - 3084 -enum : uint { DNS_ERROR_NO_DNS_SERVERS = 9852 } 3085 - 3086 -enum : uint { DNS_ERROR_DP_BASE = 9900 } 3087 - 3088 -enum : uint { DNS_ERROR_DP_DOES_NOT_EXIST = 9901 } 3089 - 3090 -enum : uint { DNS_ERROR_DP_ALREADY_EXISTS = 9902 } 3091 - 3092 -enum : uint { DNS_ERROR_DP_NOT_ENLISTED = 9903 } 3093 - 3094 -enum : uint { DNS_ERROR_DP_ALREADY_ENLISTED = 9904 } 3095 - 3096 -// #ifndef WSABASEERR 3097 -enum : uint { WSABASEERR = 10000 } 3098 - 3099 -enum : uint { WSAEINTR = 10004 } 3100 - 3101 -enum : uint { WSAEBADF = 10009 } 3102 - 3103 -enum : uint { WSAEACCES = 10013 } 3104 - 3105 -enum : uint { WSAEFAULT = 10014 } 3106 - 3107 -enum : uint { WSAEINVAL = 10022 } 3108 - 3109 -enum : uint { WSAEMFILE = 10024 } 3110 - 3111 -enum : uint { WSAEWOULDBLOCK = 10035 } 3112 - 3113 -enum : uint { WSAEINPROGRESS = 10036 } 3114 - 3115 -enum : uint { WSAEALREADY = 10037 } 3116 - 3117 -enum : uint { WSAENOTSOCK = 10038 } 3118 - 3119 -enum : uint { WSAEDESTADDRREQ = 10039 } 3120 - 3121 -enum : uint { WSAEMSGSIZE = 10040 } 3122 - 3123 -enum : uint { WSAEPROTOTYPE = 10041 } 3124 - 3125 -enum : uint { WSAENOPROTOOPT = 10042 } 3126 - 3127 -enum : uint { WSAEPROTONOSUPPORT = 10043 } 3128 - 3129 -enum : uint { WSAESOCKTNOSUPPORT = 10044 } 3130 - 3131 -enum : uint { WSAEOPNOTSUPP = 10045 } 3132 - 3133 -enum : uint { WSAEPFNOSUPPORT = 10046 } 3134 - 3135 -enum : uint { WSAEAFNOSUPPORT = 10047 } 3136 - 3137 -enum : uint { WSAEADDRINUSE = 10048 } 3138 - 3139 -enum : uint { WSAEADDRNOTAVAIL = 10049 } 3140 - 3141 -enum : uint { WSAENETDOWN = 10050 } 3142 - 3143 -enum : uint { WSAENETUNREACH = 10051 } 3144 - 3145 -enum : uint { WSAENETRESET = 10052 } 3146 - 3147 -enum : uint { WSAECONNABORTED = 10053 } 3148 - 3149 -enum : uint { WSAECONNRESET = 10054 } 3150 - 3151 -enum : uint { WSAENOBUFS = 10055 } 3152 - 3153 -enum : uint { WSAEISCONN = 10056 } 3154 - 3155 -enum : uint { WSAENOTCONN = 10057 } 3156 - 3157 -enum : uint { WSAESHUTDOWN = 10058 } 3158 - 3159 -enum : uint { WSAETOOMANYREFS = 10059 } 3160 - 3161 -enum : uint { WSAETIMEDOUT = 10060 } 3162 - 3163 -enum : uint { WSAECONNREFUSED = 10061 } 3164 - 3165 -enum : uint { WSAELOOP = 10062 } 3166 - 3167 -enum : uint { WSAENAMETOOLONG = 10063 } 3168 - 3169 -enum : uint { WSAEHOSTDOWN = 10064 } 3170 - 3171 -enum : uint { WSAEHOSTUNREACH = 10065 } 3172 - 3173 -enum : uint { WSAENOTEMPTY = 10066 } 3174 - 3175 -enum : uint { WSAEPROCLIM = 10067 } 3176 - 3177 -enum : uint { WSAEUSERS = 10068 } 3178 - 3179 -enum : uint { WSAEDQUOT = 10069 } 3180 - 3181 -enum : uint { WSAESTALE = 10070 } 3182 - 3183 -enum : uint { WSAEREMOTE = 10071 } 3184 - 3185 -enum : uint { WSASYSNOTREADY = 10091 } 3186 - 3187 -enum : uint { WSAVERNOTSUPPORTED = 10092 } 3188 - 3189 -enum : uint { WSANOTINITIALISED = 10093 } 3190 - 3191 -enum : uint { WSAEDISCON = 10101 } 3192 - 3193 -enum : uint { WSAENOMORE = 10102 } 3194 - 3195 -enum : uint { WSAECANCELLED = 10103 } 3196 - 3197 -enum : uint { WSAEINVALIDPROCTABLE = 10104 } 3198 - 3199 -enum : uint { WSAEINVALIDPROVIDER = 10105 } 3200 - 3201 -enum : uint { WSAEPROVIDERFAILEDINIT = 10106 } 3202 - 3203 -enum : uint { WSASYSCALLFAILURE = 10107 } 3204 - 3205 -enum : uint { WSASERVICE_NOT_FOUND = 10108 } 3206 - 3207 -enum : uint { WSATYPE_NOT_FOUND = 10109 } 3208 - 3209 -enum : uint { WSA_E_NO_MORE = 10110 } 3210 - 3211 -enum : uint { WSA_E_CANCELLED = 10111 } 3212 - 3213 -enum : uint { WSAEREFUSED = 10112 } 3214 - 3215 -enum : uint { WSAHOST_NOT_FOUND = 11001 } 3216 - 3217 -enum : uint { WSATRY_AGAIN = 11002 } 3218 - 3219 -enum : uint { WSANO_RECOVERY = 11003 } 3220 - 3221 -enum : uint { WSANO_DATA = 11004 } 3222 - 3223 -enum : uint { WSA_QOS_RECEIVERS = 11005 } 3224 - 3225 -enum : uint { WSA_QOS_SENDERS = 11006 } 3226 - 3227 -enum : uint { WSA_QOS_NO_SENDERS = 11007 } 3228 - 3229 -enum : uint { WSA_QOS_NO_RECEIVERS = 11008 } 3230 - 3231 -enum : uint { WSA_QOS_REQUEST_CONFIRMED = 11009 } 3232 - 3233 -enum : uint { WSA_QOS_ADMISSION_FAILURE = 11010 } 3234 - 3235 -enum : uint { WSA_QOS_POLICY_FAILURE = 11011 } 3236 - 3237 -enum : uint { WSA_QOS_BAD_STYLE = 11012 } 3238 - 3239 -enum : uint { WSA_QOS_BAD_OBJECT = 11013 } 3240 - 3241 -enum : uint { WSA_QOS_TRAFFIC_CTRL_ERROR = 11014 } 3242 - 3243 -enum : uint { WSA_QOS_GENERIC_ERROR = 11015 } 3244 - 3245 -enum : uint { WSA_QOS_ESERVICETYPE = 11016 } 3246 - 3247 -enum : uint { WSA_QOS_EFLOWSPEC = 11017 } 3248 - 3249 -enum : uint { WSA_QOS_EPROVSPECBUF = 11018 } 3250 - 3251 -enum : uint { WSA_QOS_EFILTERSTYLE = 11019 } 3252 - 3253 -enum : uint { WSA_QOS_EFILTERTYPE = 11020 } 3254 - 3255 -enum : uint { WSA_QOS_EFILTERCOUNT = 11021 } 3256 - 3257 -enum : uint { WSA_QOS_EOBJLENGTH = 11022 } 3258 - 3259 -enum : uint { WSA_QOS_EFLOWCOUNT = 11023 } 3260 - 3261 -enum : uint { WSA_QOS_EUNKOWNPSOBJ = 11024 } 3262 - 3263 -enum : uint { WSA_QOS_EPOLICYOBJ = 11025 } 3264 - 3265 -enum : uint { WSA_QOS_EFLOWDESC = 11026 } 3266 - 3267 -enum : uint { WSA_QOS_EPSFLOWSPEC = 11027 } 3268 - 3269 -enum : uint { WSA_QOS_EPSFILTERSPEC = 11028 } 3270 - 3271 -enum : uint { WSA_QOS_ESDMODEOBJ = 11029 } 3272 - 3273 -enum : uint { WSA_QOS_ESHAPERATEOBJ = 11030 } 3274 - 3275 -enum : uint { WSA_QOS_RESERVED_PETYPE = 11031 } 3276 - 3277 -// #endif // defined(WSABASEERR) 3278 - 3279 -enum : uint { ERROR_SXS_SECTION_NOT_FOUND = 14000 } 3280 - 3281 -enum : uint { ERROR_SXS_CANT_GEN_ACTCTX = 14001 } 3282 - 3283 -enum : uint { ERROR_SXS_INVALID_ACTCTXDATA_FORMAT = 14002 } 3284 - 3285 -enum : uint { ERROR_SXS_ASSEMBLY_NOT_FOUND = 14003 } 3286 - 3287 -enum : uint { ERROR_SXS_MANIFEST_FORMAT_ERROR = 14004 } 3288 - 3289 -enum : uint { ERROR_SXS_MANIFEST_PARSE_ERROR = 14005 } 3290 - 3291 -enum : uint { ERROR_SXS_ACTIVATION_CONTEXT_DISABLED = 14006 } 3292 - 3293 -enum : uint { ERROR_SXS_KEY_NOT_FOUND = 14007 } 3294 - 3295 -enum : uint { ERROR_SXS_VERSION_CONFLICT = 14008 } 3296 - 3297 -enum : uint { ERROR_SXS_WRONG_SECTION_TYPE = 14009 } 3298 - 3299 -enum : uint { ERROR_SXS_THREAD_QUERIES_DISABLED = 14010 } 3300 - 3301 -enum : uint { ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET = 14011 } 3302 - 3303 -enum : uint { ERROR_SXS_UNKNOWN_ENCODING_GROUP = 14012 } 3304 - 3305 -enum : uint { ERROR_SXS_UNKNOWN_ENCODING = 14013 } 3306 - 3307 -enum : uint { ERROR_SXS_INVALID_XML_NAMESPACE_URI = 14014 } 3308 - 3309 -enum : uint { ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14015 } 3310 - 3311 -enum : uint { ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14016 } 3312 - 3313 -enum : uint { ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE = 14017 } 3314 - 3315 -enum : uint { ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE = 14018 } 3316 - 3317 -enum : uint { ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE = 14019 } 3318 - 3319 -enum : uint { ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT = 14020 } 3320 - 3321 -enum : uint { ERROR_SXS_DUPLICATE_DLL_NAME = 14021 } 3322 - 3323 -enum : uint { ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME = 14022 } 3324 - 3325 -enum : uint { ERROR_SXS_DUPLICATE_CLSID = 14023 } 3326 - 3327 -enum : uint { ERROR_SXS_DUPLICATE_IID = 14024 } 3328 - 3329 -enum : uint { ERROR_SXS_DUPLICATE_TLBID = 14025 } 3330 - 3331 -enum : uint { ERROR_SXS_DUPLICATE_PROGID = 14026 } 3332 - 3333 -enum : uint { ERROR_SXS_DUPLICATE_ASSEMBLY_NAME = 14027 } 3334 - 3335 -enum : uint { ERROR_SXS_FILE_HASH_MISMATCH = 14028 } 3336 - 3337 -enum : uint { ERROR_SXS_POLICY_PARSE_ERROR = 14029 } 3338 - 3339 -enum : uint { ERROR_SXS_XML_E_MISSINGQUOTE = 14030 } 3340 - 3341 -enum : uint { ERROR_SXS_XML_E_COMMENTSYNTAX = 14031 } 3342 - 3343 -enum : uint { ERROR_SXS_XML_E_BADSTARTNAMECHAR = 14032 } 3344 - 3345 -enum : uint { ERROR_SXS_XML_E_BADNAMECHAR = 14033 } 3346 - 3347 -enum : uint { ERROR_SXS_XML_E_BADCHARINSTRING = 14034 } 3348 - 3349 -enum : uint { ERROR_SXS_XML_E_XMLDECLSYNTAX = 14035 } 3350 - 3351 -enum : uint { ERROR_SXS_XML_E_BADCHARDATA = 14036 } 3352 - 3353 -enum : uint { ERROR_SXS_XML_E_MISSINGWHITESPACE = 14037 } 3354 - 3355 -enum : uint { ERROR_SXS_XML_E_EXPECTINGTAGEND = 14038 } 3356 - 3357 -enum : uint { ERROR_SXS_XML_E_MISSINGSEMICOLON = 14039 } 3358 - 3359 -enum : uint { ERROR_SXS_XML_E_UNBALANCEDPAREN = 14040 } 3360 - 3361 -enum : uint { ERROR_SXS_XML_E_INTERNALERROR = 14041 } 3362 - 3363 -enum : uint { ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE = 14042 } 3364 - 3365 -enum : uint { ERROR_SXS_XML_E_INCOMPLETE_ENCODING = 14043 } 3366 - 3367 -enum : uint { ERROR_SXS_XML_E_MISSING_PAREN = 14044 } 3368 - 3369 -enum : uint { ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE = 14045 } 3370 - 3371 -enum : uint { ERROR_SXS_XML_E_MULTIPLE_COLONS = 14046 } 3372 - 3373 -enum : uint { ERROR_SXS_XML_E_INVALID_DECIMAL = 14047 } 3374 - 3375 -enum : uint { ERROR_SXS_XML_E_INVALID_HEXIDECIMAL = 14048 } 3376 - 3377 -enum : uint { ERROR_SXS_XML_E_INVALID_UNICODE = 14049 } 3378 - 3379 -enum : uint { ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK = 14050 } 3380 - 3381 -enum : uint { ERROR_SXS_XML_E_UNEXPECTEDENDTAG = 14051 } 3382 - 3383 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDTAG = 14052 } 3384 - 3385 -enum : uint { ERROR_SXS_XML_E_DUPLICATEATTRIBUTE = 14053 } 3386 - 3387 -enum : uint { ERROR_SXS_XML_E_MULTIPLEROOTS = 14054 } 3388 - 3389 -enum : uint { ERROR_SXS_XML_E_INVALIDATROOTLEVEL = 14055 } 3390 - 3391 -enum : uint { ERROR_SXS_XML_E_BADXMLDECL = 14056 } 3392 - 3393 -enum : uint { ERROR_SXS_XML_E_MISSINGROOT = 14057 } 3394 - 3395 -enum : uint { ERROR_SXS_XML_E_UNEXPECTEDEOF = 14058 } 3396 - 3397 -enum : uint { ERROR_SXS_XML_E_BADPEREFINSUBSET = 14059 } 3398 - 3399 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDSTARTTAG = 14060 } 3400 - 3401 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDENDTAG = 14061 } 3402 - 3403 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDSTRING = 14062 } 3404 - 3405 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDCOMMENT = 14063 } 3406 - 3407 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDDECL = 14064 } 3408 - 3409 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDCDATA = 14065 } 3410 - 3411 -enum : uint { ERROR_SXS_XML_E_RESERVEDNAMESPACE = 14066 } 3412 - 3413 -enum : uint { ERROR_SXS_XML_E_INVALIDENCODING = 14067 } 3414 - 3415 -enum : uint { ERROR_SXS_XML_E_INVALIDSWITCH = 14068 } 3416 - 3417 -enum : uint { ERROR_SXS_XML_E_BADXMLCASE = 14069 } 3418 - 3419 -enum : uint { ERROR_SXS_XML_E_INVALID_STANDALONE = 14070 } 3420 - 3421 -enum : uint { ERROR_SXS_XML_E_UNEXPECTED_STANDALONE = 14071 } 3422 - 3423 -enum : uint { ERROR_SXS_XML_E_INVALID_VERSION = 14072 } 3424 - 3425 -enum : uint { ERROR_SXS_XML_E_MISSINGEQUALS = 14073 } 3426 - 3427 -enum : uint { ERROR_SXS_PROTECTION_RECOVERY_FAILED = 14074 } 3428 - 3429 -enum : uint { ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT = 14075 } 3430 - 3431 -enum : uint { ERROR_SXS_PROTECTION_CATALOG_NOT_VALID = 14076 } 3432 - 3433 -enum : uint { ERROR_SXS_UNTRANSLATABLE_HRESULT = 14077 } 3434 - 3435 -enum : uint { ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING = 14078 } 3436 - 3437 -enum : uint { ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE = 14079 } 3438 - 3439 -enum : uint { ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME = 14080 } 3440 - 3441 -enum : uint { ERROR_IPSEC_QM_POLICY_EXISTS = 13000 } 3442 - 3443 -enum : uint { ERROR_IPSEC_QM_POLICY_NOT_FOUND = 13001 } 3444 - 3445 -enum : uint { ERROR_IPSEC_QM_POLICY_IN_USE = 13002 } 3446 - 3447 -enum : uint { ERROR_IPSEC_MM_POLICY_EXISTS = 13003 } 3448 - 3449 -enum : uint { ERROR_IPSEC_MM_POLICY_NOT_FOUND = 13004 } 3450 - 3451 -enum : uint { ERROR_IPSEC_MM_POLICY_IN_USE = 13005 } 3452 - 3453 -enum : uint { ERROR_IPSEC_MM_FILTER_EXISTS = 13006 } 3454 - 3455 -enum : uint { ERROR_IPSEC_MM_FILTER_NOT_FOUND = 13007 } 3456 - 3457 -enum : uint { ERROR_IPSEC_TRANSPORT_FILTER_EXISTS = 13008 } 3458 - 3459 -enum : uint { ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND = 13009 } 3460 - 3461 -enum : uint { ERROR_IPSEC_MM_AUTH_EXISTS = 13010 } 3462 - 3463 -enum : uint { ERROR_IPSEC_MM_AUTH_NOT_FOUND = 13011 } 3464 - 3465 -enum : uint { ERROR_IPSEC_MM_AUTH_IN_USE = 13012 } 3466 - 3467 -enum : uint { ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND = 13013 } 3468 - 3469 -enum : uint { ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND = 13014 } 3470 - 3471 -enum : uint { ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND = 13015 } 3472 - 3473 -enum : uint { ERROR_IPSEC_TUNNEL_FILTER_EXISTS = 13016 } 3474 - 3475 -enum : uint { ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND = 13017 } 3476 - 3477 -enum : uint { ERROR_IPSEC_MM_FILTER_PENDING_DELETION = 13018 } 3478 - 3479 -enum : uint { ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION = 13019 } 3480 - 3481 -enum : uint { ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION = 13020 } 3482 - 3483 -enum : uint { ERROR_IPSEC_MM_POLICY_PENDING_DELETION = 13021 } 3484 - 3485 -enum : uint { ERROR_IPSEC_MM_AUTH_PENDING_DELETION = 13022 } 3486 - 3487 -enum : uint { ERROR_IPSEC_QM_POLICY_PENDING_DELETION = 13023 } 3488 - 3489 -enum : uint { ERROR_IPSEC_IKE_NEG_STATUS_BEGIN = 13800 } 3490 - 3491 -enum : uint { ERROR_IPSEC_IKE_AUTH_FAIL = 13801 } 3492 - 3493 -enum : uint { ERROR_IPSEC_IKE_ATTRIB_FAIL = 13802 } 3494 - 3495 -enum : uint { ERROR_IPSEC_IKE_NEGOTIATION_PENDING = 13803 } 3496 - 3497 -enum : uint { ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR = 13804 } 3498 - 3499 -enum : uint { ERROR_IPSEC_IKE_TIMED_OUT = 13805 } 3500 - 3501 -enum : uint { ERROR_IPSEC_IKE_NO_CERT = 13806 } 3502 - 3503 -enum : uint { ERROR_IPSEC_IKE_SA_DELETED = 13807 } 3504 - 3505 -enum : uint { ERROR_IPSEC_IKE_SA_REAPED = 13808 } 3506 - 3507 -enum : uint { ERROR_IPSEC_IKE_MM_ACQUIRE_DROP = 13809 } 3508 - 3509 -enum : uint { ERROR_IPSEC_IKE_QM_ACQUIRE_DROP = 13810 } 3510 - 3511 -enum : uint { ERROR_IPSEC_IKE_QUEUE_DROP_MM = 13811 } 3512 - 3513 -enum : uint { ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM = 13812 } 3514 - 3515 -enum : uint { ERROR_IPSEC_IKE_DROP_NO_RESPONSE = 13813 } 3516 - 3517 -enum : uint { ERROR_IPSEC_IKE_MM_DELAY_DROP = 13814 } 3518 - 3519 -enum : uint { ERROR_IPSEC_IKE_QM_DELAY_DROP = 13815 } 3520 - 3521 -enum : uint { ERROR_IPSEC_IKE_ERROR = 13816 } 3522 - 3523 -enum : uint { ERROR_IPSEC_IKE_CRL_FAILED = 13817 } 3524 - 3525 -enum : uint { ERROR_IPSEC_IKE_INVALID_KEY_USAGE = 13818 } 3526 - 3527 -enum : uint { ERROR_IPSEC_IKE_INVALID_CERT_TYPE = 13819 } 3528 - 3529 -enum : uint { ERROR_IPSEC_IKE_NO_PRIVATE_KEY = 13820 } 3530 - 3531 -enum : uint { ERROR_IPSEC_IKE_DH_FAIL = 13822 } 3532 - 3533 -enum : uint { ERROR_IPSEC_IKE_INVALID_HEADER = 13824 } 3534 - 3535 -enum : uint { ERROR_IPSEC_IKE_NO_POLICY = 13825 } 3536 - 3537 -enum : uint { ERROR_IPSEC_IKE_INVALID_SIGNATURE = 13826 } 3538 - 3539 -enum : uint { ERROR_IPSEC_IKE_KERBEROS_ERROR = 13827 } 3540 - 3541 -enum : uint { ERROR_IPSEC_IKE_NO_PUBLIC_KEY = 13828 } 3542 - 3543 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR = 13829 } 3544 - 3545 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_SA = 13830 } 3546 - 3547 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_PROP = 13831 } 3548 - 3549 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_TRANS = 13832 } 3550 - 3551 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_KE = 13833 } 3552 - 3553 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_ID = 13834 } 3554 - 3555 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_CERT = 13835 } 3556 - 3557 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ = 13836 } 3558 - 3559 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_HASH = 13837 } 3560 - 3561 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_SIG = 13838 } 3562 - 3563 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_NONCE = 13839 } 3564 - 3565 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY = 13840 } 3566 - 3567 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_DELETE = 13841 } 3568 - 3569 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR = 13842 } 3570 - 3571 -enum : uint { ERROR_IPSEC_IKE_INVALID_PAYLOAD = 13843 } 3572 - 3573 -enum : uint { ERROR_IPSEC_IKE_LOAD_SOFT_SA = 13844 } 3574 - 3575 -enum : uint { ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN = 13845 } 3576 - 3577 -enum : uint { ERROR_IPSEC_IKE_INVALID_COOKIE = 13846 } 3578 - 3579 -enum : uint { ERROR_IPSEC_IKE_NO_PEER_CERT = 13847 } 3580 - 3581 -enum : uint { ERROR_IPSEC_IKE_PEER_CRL_FAILED = 13848 } 3582 - 3583 -enum : uint { ERROR_IPSEC_IKE_POLICY_CHANGE = 13849 } 3584 - 3585 -enum : uint { ERROR_IPSEC_IKE_NO_MM_POLICY = 13850 } 3586 - 3587 -enum : uint { ERROR_IPSEC_IKE_NOTCBPRIV = 13851 } 3588 - 3589 -enum : uint { ERROR_IPSEC_IKE_SECLOADFAIL = 13852 } 3590 - 3591 -enum : uint { ERROR_IPSEC_IKE_FAILSSPINIT = 13853 } 3592 - 3593 -enum : uint { ERROR_IPSEC_IKE_FAILQUERYSSP = 13854 } 3594 - 3595 -enum : uint { ERROR_IPSEC_IKE_SRVACQFAIL = 13855 } 3596 - 3597 -enum : uint { ERROR_IPSEC_IKE_SRVQUERYCRED = 13856 } 3598 - 3599 -enum : uint { ERROR_IPSEC_IKE_GETSPIFAIL = 13857 } 3600 - 3601 -enum : uint { ERROR_IPSEC_IKE_INVALID_FILTER = 13858 } 3602 - 3603 -enum : uint { ERROR_IPSEC_IKE_OUT_OF_MEMORY = 13859 } 3604 - 3605 -enum : uint { ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED = 13860 } 3606 - 3607 -enum : uint { ERROR_IPSEC_IKE_INVALID_POLICY = 13861 } 3608 - 3609 -enum : uint { ERROR_IPSEC_IKE_UNKNOWN_DOI = 13862 } 3610 - 3611 -enum : uint { ERROR_IPSEC_IKE_INVALID_SITUATION = 13863 } 3612 - 3613 -enum : uint { ERROR_IPSEC_IKE_DH_FAILURE = 13864 } 3614 - 3615 -enum : uint { ERROR_IPSEC_IKE_INVALID_GROUP = 13865 } 3616 - 3617 -enum : uint { ERROR_IPSEC_IKE_ENCRYPT = 13866 } 3618 - 3619 -enum : uint { ERROR_IPSEC_IKE_DECRYPT = 13867 } 3620 - 3621 -enum : uint { ERROR_IPSEC_IKE_POLICY_MATCH = 13868 } 3622 - 3623 -enum : uint { ERROR_IPSEC_IKE_UNSUPPORTED_ID = 13869 } 3624 - 3625 -enum : uint { ERROR_IPSEC_IKE_INVALID_HASH = 13870 } 3626 - 3627 -enum : uint { ERROR_IPSEC_IKE_INVALID_HASH_ALG = 13871 } 3628 - 3629 -enum : uint { ERROR_IPSEC_IKE_INVALID_HASH_SIZE = 13872 } 3630 - 3631 -enum : uint { ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG = 13873 } 3632 - 3633 -enum : uint { ERROR_IPSEC_IKE_INVALID_AUTH_ALG = 13874 } 3634 - 3635 -enum : uint { ERROR_IPSEC_IKE_INVALID_SIG = 13875 } 3636 - 3637 -enum : uint { ERROR_IPSEC_IKE_LOAD_FAILED = 13876 } 3638 - 3639 -enum : uint { ERROR_IPSEC_IKE_RPC_DELETE = 13877 } 3640 - 3641 -enum : uint { ERROR_IPSEC_IKE_BENIGN_REINIT = 13878 } 3642 - 3643 -enum : uint { ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY = 13879 } 3644 - 3645 -enum : uint { ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN = 13881 } 3646 - 3647 -enum : uint { ERROR_IPSEC_IKE_MM_LIMIT = 13882 } 3648 - 3649 -enum : uint { ERROR_IPSEC_IKE_NEGOTIATION_DISABLED = 13883 } 3650 - 3651 -enum : uint { ERROR_IPSEC_IKE_NEG_STATUS_END = 13884 } 3652 - 3653 -enum : uint { SEVERITY_SUCCESS = 0 } 3654 -enum : uint { SEVERITY_ERROR = 1 } 3655 - 3656 -bit SUCCEEDED(HRESULT Status){ return Status >= 0; } 3657 - 3658 -bit FAILED(HRESULT Status){ return Status < 0; } 3659 - 3660 -// #define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR) 3661 - 3662 -// #define HRESULT_CODE(hr) ((hr) & 0xFFFF) 3663 -// #define SCODE_CODE(sc) ((sc) & 0xFFFF) 3664 - 3665 -// #define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff) 3666 -// #define SCODE_FACILITY(sc) (((sc) >> 16) & 0x1fff) 3667 - 3668 -// #define HRESULT_SEVERITY(hr) (((hr) >> 31) & 0x1) 3669 -// #define SCODE_SEVERITY(sc) (((sc) >> 31) & 0x1) 3670 - 3671 -// #define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) 3672 -// #define MAKE_SCODE(sev,fac,code) ((SCODE) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) 3673 - 3674 -enum : uint { FACILITY_NT_BIT = 0x10000000 } 3675 - 3676 -// #define __HRESULT_FROM_WIN32(x) ((HRESULT)(x) <= 0 ? ((HRESULT)(x)) : ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000))) 3677 - 3678 -// #ifdef INLINE_HRESULT_FROM_WIN32 3679 -// #ifndef _HRESULT_DEFINED 3680 -// #... 3681 -// ... 3682 -// #endif 3683 -// #ifndef __midl 3684 -// ... 3685 -// #else 3686 -// #... 3687 -// #endif 3688 -// #else 3689 -// #define HRESULT_FROM_WIN32(x) __HRESULT_FROM_WIN32(x) 3690 -// #endif 3691 - 3692 -// #define HRESULT_FROM_NT(x) ((HRESULT) ((x) | FACILITY_NT_BIT)) 3693 - 3694 -// #define GetScode(hr) ((SCODE) (hr)) 3695 - 3696 -// #define ResultFromScode(sc) ((HRESULT) (sc)) 3697 - 3698 -// #define PropagateResult(hrPrevious, scBase) ((HRESULT) scBase) 3699 - 3700 -// #ifdef RC_INVOKED 3701 -// #... 3702 -// #else // RC_INVOKED 3703 -// #define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc) 3704 -// #endif // RC_INVOKED 3705 - 3706 -enum : uint { NOERROR = 0 } 3707 - 3708 -enum : HRESULT { E_UNEXPECTED = cast(HRESULT)0x8000FFFFL } 3709 - 3710 -// #if defined(_WIN32) && !defined(_MAC) 3711 - 3712 -enum : HRESULT { E_NOTIMPL = cast(HRESULT)0x80004001L } 3713 - 3714 -enum : HRESULT { E_OUTOFMEMORY = cast(HRESULT)0x8007000EL } 3715 - 3716 -enum : HRESULT { E_INVALIDARG = cast(HRESULT)0x80070057L } 3717 - 3718 -enum : HRESULT { E_NOINTERFACE = cast(HRESULT)0x80004002L } 3719 - 3720 -enum : HRESULT { E_POINTER = cast(HRESULT)0x80004003L } 3721 - 3722 -enum : HRESULT { E_HANDLE = cast(HRESULT)0x80070006L } 3723 - 3724 -enum : HRESULT { E_ABORT = cast(HRESULT)0x80004004L } 3725 - 3726 -enum : HRESULT { E_FAIL = cast(HRESULT)0x80004005L } 3727 - 3728 -enum : HRESULT { E_ACCESSDENIED = cast(HRESULT)0x80070005L } 3729 - 3730 -// #else 3731 - 3732 -// #... 3733 - 3734 -// #... 3735 - 3736 -// #... 3737 - 3738 -// #... 3739 - 3740 -// #... 3741 - 3742 -// #... 3743 - 3744 -// #... 3745 - 3746 -// #... 3747 - 3748 -// #... 3749 - 3750 -// #endif //WIN32 3751 - 3752 -enum : HRESULT { E_PENDING = cast(HRESULT)0x8000000AL } 3753 - 3754 -enum : HRESULT { CO_E_INIT_TLS = cast(HRESULT)0x80004006L } 3755 - 3756 -enum : HRESULT { CO_E_INIT_SHARED_ALLOCATOR = cast(HRESULT)0x80004007L } 3757 - 3758 -enum : HRESULT { CO_E_INIT_MEMORY_ALLOCATOR = cast(HRESULT)0x80004008L } 3759 - 3760 -enum : HRESULT { CO_E_INIT_CLASS_CACHE = cast(HRESULT)0x80004009L } 3761 - 3762 -enum : HRESULT { CO_E_INIT_RPC_CHANNEL = cast(HRESULT)0x8000400AL } 3763 - 3764 -enum : HRESULT { CO_E_INIT_TLS_SET_CHANNEL_CONTROL = cast(HRESULT)0x8000400BL } 3765 - 3766 -enum : HRESULT { CO_E_INIT_TLS_CHANNEL_CONTROL = cast(HRESULT)0x8000400CL } 3767 - 3768 -enum : HRESULT { CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = cast(HRESULT)0x8000400DL } 3769 - 3770 -enum : HRESULT { CO_E_INIT_SCM_MUTEX_EXISTS = cast(HRESULT)0x8000400EL } 3771 - 3772 -enum : HRESULT { CO_E_INIT_SCM_FILE_MAPPING_EXISTS = cast(HRESULT)0x8000400FL } 3773 - 3774 -enum : HRESULT { CO_E_INIT_SCM_MAP_VIEW_OF_FILE = cast(HRESULT)0x80004010L } 3775 - 3776 -enum : HRESULT { CO_E_INIT_SCM_EXEC_FAILURE = cast(HRESULT)0x80004011L } 3777 - 3778 -enum : HRESULT { CO_E_INIT_ONLY_SINGLE_THREADED = cast(HRESULT)0x80004012L } 3779 - 3780 -enum : HRESULT { CO_E_CANT_REMOTE = cast(HRESULT)0x80004013L } 3781 - 3782 -enum : HRESULT { CO_E_BAD_SERVER_NAME = cast(HRESULT)0x80004014L } 3783 - 3784 -enum : HRESULT { CO_E_WRONG_SERVER_IDENTITY = cast(HRESULT)0x80004015L } 3785 - 3786 -enum : HRESULT { CO_E_OLE1DDE_DISABLED = cast(HRESULT)0x80004016L } 3787 - 3788 -enum : HRESULT { CO_E_RUNAS_SYNTAX = cast(HRESULT)0x80004017L } 3789 - 3790 -enum : HRESULT { CO_E_CREATEPROCESS_FAILURE = cast(HRESULT)0x80004018L } 3791 - 3792 -enum : HRESULT { CO_E_RUNAS_CREATEPROCESS_FAILURE = cast(HRESULT)0x80004019L } 3793 - 3794 -enum : HRESULT { CO_E_RUNAS_LOGON_FAILURE = cast(HRESULT)0x8000401AL } 3795 - 3796 -enum : HRESULT { CO_E_LAUNCH_PERMSSION_DENIED = cast(HRESULT)0x8000401BL } 3797 - 3798 -enum : HRESULT { CO_E_START_SERVICE_FAILURE = cast(HRESULT)0x8000401CL } 3799 - 3800 -enum : HRESULT { CO_E_REMOTE_COMMUNICATION_FAILURE = cast(HRESULT)0x8000401DL } 3801 - 3802 -enum : HRESULT { CO_E_SERVER_START_TIMEOUT = cast(HRESULT)0x8000401EL } 3803 - 3804 -enum : HRESULT { CO_E_CLSREG_INCONSISTENT = cast(HRESULT)0x8000401FL } 3805 - 3806 -enum : HRESULT { CO_E_IIDREG_INCONSISTENT = cast(HRESULT)0x80004020L } 3807 - 3808 -enum : HRESULT { CO_E_NOT_SUPPORTED = cast(HRESULT)0x80004021L } 3809 - 3810 -enum : HRESULT { CO_E_RELOAD_DLL = cast(HRESULT)0x80004022L } 3811 - 3812 -enum : HRESULT { CO_E_MSI_ERROR = cast(HRESULT)0x80004023L } 3813 - 3814 -enum : HRESULT { CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT = cast(HRESULT)0x80004024L } 3815 - 3816 -enum : HRESULT { CO_E_SERVER_PAUSED = cast(HRESULT)0x80004025L } 3817 - 3818 -enum : HRESULT { CO_E_SERVER_NOT_PAUSED = cast(HRESULT)0x80004026L } 3819 - 3820 -enum : HRESULT { CO_E_CLASS_DISABLED = cast(HRESULT)0x80004027L } 3821 - 3822 -enum : HRESULT { CO_E_CLRNOTAVAILABLE = cast(HRESULT)0x80004028L } 3823 - 3824 -enum : HRESULT { CO_E_ASYNC_WORK_REJECTED = cast(HRESULT)0x80004029L } 3825 - 3826 -enum : HRESULT { CO_E_SERVER_INIT_TIMEOUT = cast(HRESULT)0x8000402AL } 3827 - 3828 -enum : HRESULT { CO_E_NO_SECCTX_IN_ACTIVATE = cast(HRESULT)0x8000402BL } 3829 - 3830 -enum : HRESULT { CO_E_TRACKER_CONFIG = cast(HRESULT)0x80004030L } 3831 - 3832 -enum : HRESULT { CO_E_THREADPOOL_CONFIG = cast(HRESULT)0x80004031L } 3833 - 3834 -enum : HRESULT { CO_E_SXS_CONFIG = cast(HRESULT)0x80004032L } 3835 - 3836 -enum : HRESULT { CO_E_MALFORMED_SPN = cast(HRESULT)0x80004033L } 3837 - 3838 -enum : HRESULT { S_OK = cast(HRESULT)0x00000000 } 3839 -enum : HRESULT { S_FALSE = cast(HRESULT)0x00000001 } 3840 - 3841 -enum : HRESULT { OLE_E_FIRST = cast(HRESULT)0x80040000 } 3842 -enum : HRESULT { OLE_E_LAST = cast(HRESULT)0x800400FF } 3843 -enum : HRESULT { OLE_S_FIRST = cast(HRESULT)0x00040000 } 3844 -enum : HRESULT { OLE_S_LAST = cast(HRESULT)0x000400FF } 3845 - 3846 -enum : HRESULT { OLE_E_OLEVERB = cast(HRESULT)0x80040000L } 3847 - 3848 -enum : HRESULT { OLE_E_ADVF = cast(HRESULT)0x80040001L } 3849 - 3850 -enum : HRESULT { OLE_E_ENUM_NOMORE = cast(HRESULT)0x80040002L } 3851 - 3852 -enum : HRESULT { OLE_E_ADVISENOTSUPPORTED = cast(HRESULT)0x80040003L } 3853 - 3854 -enum : HRESULT { OLE_E_NOCONNECTION = cast(HRESULT)0x80040004L } 3855 - 3856 -enum : HRESULT { OLE_E_NOTRUNNING = cast(HRESULT)0x80040005L } 3857 - 3858 -enum : HRESULT { OLE_E_NOCACHE = cast(HRESULT)0x80040006L } 3859 - 3860 -enum : HRESULT { OLE_E_BLANK = cast(HRESULT)0x80040007L } 3861 - 3862 -enum : HRESULT { OLE_E_CLASSDIFF = cast(HRESULT)0x80040008L } 3863 - 3864 -enum : HRESULT { OLE_E_CANT_GETMONIKER = cast(HRESULT)0x80040009L } 3865 - 3866 -enum : HRESULT { OLE_E_CANT_BINDTOSOURCE = cast(HRESULT)0x8004000AL } 3867 - 3868 -enum : HRESULT { OLE_E_STATIC = cast(HRESULT)0x8004000BL } 3869 - 3870 -enum : HRESULT { OLE_E_PROMPTSAVECANCELLED = cast(HRESULT)0x8004000CL } 3871 - 3872 -enum : HRESULT { OLE_E_INVALIDRECT = cast(HRESULT)0x8004000DL } 3873 - 3874 -enum : HRESULT { OLE_E_WRONGCOMPOBJ = cast(HRESULT)0x8004000EL } 3875 - 3876 -enum : HRESULT { OLE_E_INVALIDHWND = cast(HRESULT)0x8004000FL } 3877 - 3878 -enum : HRESULT { OLE_E_NOT_INPLACEACTIVE = cast(HRESULT)0x80040010L } 3879 - 3880 -enum : HRESULT { OLE_E_CANTCONVERT = cast(HRESULT)0x80040011L } 3881 - 3882 -enum : HRESULT { OLE_E_NOSTORAGE = cast(HRESULT)0x80040012L } 3883 - 3884 -enum : HRESULT { DV_E_FORMATETC = cast(HRESULT)0x80040064L } 3885 - 3886 -enum : HRESULT { DV_E_DVTARGETDEVICE = cast(HRESULT)0x80040065L } 3887 - 3888 -enum : HRESULT { DV_E_STGMEDIUM = cast(HRESULT)0x80040066L } 3889 - 3890 -enum : HRESULT { DV_E_STATDATA = cast(HRESULT)0x80040067L } 3891 - 3892 -enum : HRESULT { DV_E_LINDEX = cast(HRESULT)0x80040068L } 3893 - 3894 -enum : HRESULT { DV_E_TYMED = cast(HRESULT)0x80040069L } 3895 - 3896 -enum : HRESULT { DV_E_CLIPFORMAT = cast(HRESULT)0x8004006AL } 3897 - 3898 -enum : HRESULT { DV_E_DVASPECT = cast(HRESULT)0x8004006BL } 3899 - 3900 -enum : HRESULT { DV_E_DVTARGETDEVICE_SIZE = cast(HRESULT)0x8004006CL } 3901 - 3902 -enum : HRESULT { DV_E_NOIVIEWOBJECT = cast(HRESULT)0x8004006DL } 3903 - 3904 -enum : uint { DRAGDROP_E_FIRST = 0x80040100 } 3905 -enum : uint { DRAGDROP_E_LAST = 0x8004010F } 3906 -enum : uint { DRAGDROP_S_FIRST = 0x00040100 } 3907 -enum : uint { DRAGDROP_S_LAST = 0x0004010F } 3908 - 3909 -enum : HRESULT { DRAGDROP_E_NOTREGISTERED = cast(HRESULT)0x80040100L } 3910 - 3911 -enum : HRESULT { DRAGDROP_E_ALREADYREGISTERED = cast(HRESULT)0x80040101L } 3912 - 3913 -enum : HRESULT { DRAGDROP_E_INVALIDHWND = cast(HRESULT)0x80040102L } 3914 - 3915 -enum : uint { CLASSFACTORY_E_FIRST = 0x80040110 } 3916 -enum : uint { CLASSFACTORY_E_LAST = 0x8004011F } 3917 -enum : uint { CLASSFACTORY_S_FIRST = 0x00040110 } 3918 -enum : uint { CLASSFACTORY_S_LAST = 0x0004011F } 3919 - 3920 -enum : HRESULT { CLASS_E_NOAGGREGATION = cast(HRESULT)0x80040110L } 3921 - 3922 -enum : HRESULT { CLASS_E_CLASSNOTAVAILABLE = cast(HRESULT)0x80040111L } 3923 - 3924 -enum : HRESULT { CLASS_E_NOTLICENSED = cast(HRESULT)0x80040112L } 3925 - 3926 -enum : uint { MARSHAL_E_FIRST = 0x80040120 } 3927 -enum : uint { MARSHAL_E_LAST = 0x8004012F } 3928 -enum : uint { MARSHAL_S_FIRST = 0x00040120 } 3929 -enum : uint { MARSHAL_S_LAST = 0x0004012F } 3930 -enum : uint { DATA_E_FIRST = 0x80040130 } 3931 -enum : uint { DATA_E_LAST = 0x8004013F } 3932 -enum : uint { DATA_S_FIRST = 0x00040130 } 3933 -enum : uint { DATA_S_LAST = 0x0004013F } 3934 -enum : uint { VIEW_E_FIRST = 0x80040140 } 3935 -enum : uint { VIEW_E_LAST = 0x8004014F } 3936 -enum : uint { VIEW_S_FIRST = 0x00040140 } 3937 -enum : uint { VIEW_S_LAST = 0x0004014F } 3938 - 3939 -enum : HRESULT { VIEW_E_DRAW = cast(HRESULT)0x80040140L } 3940 - 3941 -enum : uint { REGDB_E_FIRST = 0x80040150 } 3942 -enum : uint { REGDB_E_LAST = 0x8004015F } 3943 -enum : uint { REGDB_S_FIRST = 0x00040150 } 3944 -enum : uint { REGDB_S_LAST = 0x0004015F } 3945 - 3946 -enum : HRESULT { REGDB_E_READREGDB = cast(HRESULT)0x80040150L } 3947 - 3948 -enum : HRESULT { REGDB_E_WRITEREGDB = cast(HRESULT)0x80040151L } 3949 - 3950 -enum : HRESULT { REGDB_E_KEYMISSING = cast(HRESULT)0x80040152L } 3951 - 3952 -enum : HRESULT { REGDB_E_INVALIDVALUE = cast(HRESULT)0x80040153L } 3953 - 3954 -enum : HRESULT { REGDB_E_CLASSNOTREG = cast(HRESULT)0x80040154L } 3955 - 3956 -enum : HRESULT { REGDB_E_IIDNOTREG = cast(HRESULT)0x80040155L } 3957 - 3958 -enum : HRESULT { REGDB_E_BADTHREADINGMODEL = cast(HRESULT)0x80040156L } 3959 - 3960 -enum : uint { CAT_E_FIRST = 0x80040160 } 3961 -enum : uint { CAT_E_LAST = 0x80040161 } 3962 - 3963 -enum : HRESULT { CAT_E_CATIDNOEXIST = cast(HRESULT)0x80040160L } 3964 - 3965 -enum : HRESULT { CAT_E_NODESCRIPTION = cast(HRESULT)0x80040161L } 3966 - 3967 -enum : uint { CS_E_FIRST = 0x80040164 } 3968 -enum : uint { CS_E_LAST = 0x8004016F } 3969 - 3970 -enum : HRESULT { CS_E_PACKAGE_NOTFOUND = cast(HRESULT)0x80040164L } 3971 - 3972 -enum : HRESULT { CS_E_NOT_DELETABLE = cast(HRESULT)0x80040165L } 3973 - 3974 -enum : HRESULT { CS_E_CLASS_NOTFOUND = cast(HRESULT)0x80040166L } 3975 - 3976 -enum : HRESULT { CS_E_INVALID_VERSION = cast(HRESULT)0x80040167L } 3977 - 3978 -enum : HRESULT { CS_E_NO_CLASSSTORE = cast(HRESULT)0x80040168L } 3979 - 3980 -enum : HRESULT { CS_E_OBJECT_NOTFOUND = cast(HRESULT)0x80040169L } 3981 - 3982 -enum : HRESULT { CS_E_OBJECT_ALREADY_EXISTS = cast(HRESULT)0x8004016AL } 3983 - 3984 -enum : HRESULT { CS_E_INVALID_PATH = cast(HRESULT)0x8004016BL } 3985 - 3986 -enum : HRESULT { CS_E_NETWORK_ERROR = cast(HRESULT)0x8004016CL } 3987 - 3988 -enum : HRESULT { CS_E_ADMIN_LIMIT_EXCEEDED = cast(HRESULT)0x8004016DL } 3989 - 3990 -enum : HRESULT { CS_E_SCHEMA_MISMATCH = cast(HRESULT)0x8004016EL } 3991 - 3992 -enum : HRESULT { CS_E_INTERNAL_ERROR = cast(HRESULT)0x8004016FL } 3993 - 3994 -enum : uint { CACHE_E_FIRST = 0x80040170 } 3995 -enum : uint { CACHE_E_LAST = 0x8004017F } 3996 -enum : uint { CACHE_S_FIRST = 0x00040170 } 3997 -enum : uint { CACHE_S_LAST = 0x0004017F } 3998 - 3999 -enum : HRESULT { CACHE_E_NOCACHE_UPDATED = cast(HRESULT)0x80040170L } 4000 - 4001 -enum : uint { OLEOBJ_E_FIRST = 0x80040180 } 4002 -enum : uint { OLEOBJ_E_LAST = 0x8004018F } 4003 -enum : uint { OLEOBJ_S_FIRST = 0x00040180 } 4004 -enum : uint { OLEOBJ_S_LAST = 0x0004018F } 4005 - 4006 -enum : HRESULT { OLEOBJ_E_NOVERBS = cast(HRESULT)0x80040180L } 4007 - 4008 -enum : HRESULT { OLEOBJ_E_INVALIDVERB = cast(HRESULT)0x80040181L } 4009 - 4010 -enum : uint { CLIENTSITE_E_FIRST = 0x80040190 } 4011 -enum : uint { CLIENTSITE_E_LAST = 0x8004019F } 4012 -enum : uint { CLIENTSITE_S_FIRST = 0x00040190 } 4013 -enum : uint { CLIENTSITE_S_LAST = 0x0004019F } 4014 - 4015 -enum : HRESULT { INPLACE_E_NOTUNDOABLE = cast(HRESULT)0x800401A0L } 4016 - 4017 -enum : HRESULT { INPLACE_E_NOTOOLSPACE = cast(HRESULT)0x800401A1L } 4018 - 4019 -enum : uint { INPLACE_E_FIRST = 0x800401A0 } 4020 -enum : uint { INPLACE_E_LAST = 0x800401AF } 4021 -enum : uint { INPLACE_S_FIRST = 0x000401A0 } 4022 -enum : uint { INPLACE_S_LAST = 0x000401AF } 4023 -enum : uint { ENUM_E_FIRST = 0x800401B0 } 4024 -enum : uint { ENUM_E_LAST = 0x800401BF } 4025 -enum : uint { ENUM_S_FIRST = 0x000401B0 } 4026 -enum : uint { ENUM_S_LAST = 0x000401BF } 4027 -enum : uint { CONVERT10_E_FIRST = 0x800401C0 } 4028 -enum : uint { CONVERT10_E_LAST = 0x800401CF } 4029 -enum : uint { CONVERT10_S_FIRST = 0x000401C0 } 4030 -enum : uint { CONVERT10_S_LAST = 0x000401CF } 4031 - 4032 -enum : HRESULT { CONVERT10_E_OLESTREAM_GET = cast(HRESULT)0x800401C0L } 4033 - 4034 -enum : HRESULT { CONVERT10_E_OLESTREAM_PUT = cast(HRESULT)0x800401C1L } 4035 - 4036 -enum : HRESULT { CONVERT10_E_OLESTREAM_FMT = cast(HRESULT)0x800401C2L } 4037 - 4038 -enum : HRESULT { CONVERT10_E_OLESTREAM_BITMAP_TO_DIB = cast(HRESULT)0x800401C3L } 4039 - 4040 -enum : HRESULT { CONVERT10_E_STG_FMT = cast(HRESULT)0x800401C4L } 4041 - 4042 -enum : HRESULT { CONVERT10_E_STG_NO_STD_STREAM = cast(HRESULT)0x800401C5L } 4043 - 4044 -enum : HRESULT { CONVERT10_E_STG_DIB_TO_BITMAP = cast(HRESULT)0x800401C6L } 4045 - 4046 -enum : uint { CLIPBRD_E_FIRST = 0x800401D0 } 4047 -enum : uint { CLIPBRD_E_LAST = 0x800401DF } 4048 -enum : uint { CLIPBRD_S_FIRST = 0x000401D0 } 4049 -enum : uint { CLIPBRD_S_LAST = 0x000401DF } 4050 - 4051 -enum : HRESULT { CLIPBRD_E_CANT_OPEN = cast(HRESULT)0x800401D0L } 4052 - 4053 -enum : HRESULT { CLIPBRD_E_CANT_EMPTY = cast(HRESULT)0x800401D1L } 4054 - 4055 -enum : HRESULT { CLIPBRD_E_CANT_SET = cast(HRESULT)0x800401D2L } 4056 - 4057 -enum : HRESULT { CLIPBRD_E_BAD_DATA = cast(HRESULT)0x800401D3L } 4058 - 4059 -enum : HRESULT { CLIPBRD_E_CANT_CLOSE = cast(HRESULT)0x800401D4L } 4060 - 4061 -enum : uint { MK_E_FIRST = 0x800401E0 } 4062 -enum : uint { MK_E_LAST = 0x800401EF } 4063 -enum : uint { MK_S_FIRST = 0x000401E0 } 4064 -enum : uint { MK_S_LAST = 0x000401EF } 4065 - 4066 -enum : HRESULT { MK_E_CONNECTMANUALLY = cast(HRESULT)0x800401E0L } 4067 - 4068 -enum : HRESULT { MK_E_EXCEEDEDDEADLINE = cast(HRESULT)0x800401E1L } 4069 - 4070 -enum : HRESULT { MK_E_NEEDGENERIC = cast(HRESULT)0x800401E2L } 4071 - 4072 -enum : HRESULT { MK_E_UNAVAILABLE = cast(HRESULT)0x800401E3L } 4073 - 4074 -enum : HRESULT { MK_E_SYNTAX = cast(HRESULT)0x800401E4L } 4075 - 4076 -enum : HRESULT { MK_E_NOOBJECT = cast(HRESULT)0x800401E5L } 4077 - 4078 -enum : HRESULT { MK_E_INVALIDEXTENSION = cast(HRESULT)0x800401E6L } 4079 - 4080 -enum : HRESULT { MK_E_INTERMEDIATEINTERFACENOTSUPPORTED = cast(HRESULT)0x800401E7L } 4081 - 4082 -enum : HRESULT { MK_E_NOTBINDABLE = cast(HRESULT)0x800401E8L } 4083 - 4084 -enum : HRESULT { MK_E_NOTBOUND = cast(HRESULT)0x800401E9L } 4085 - 4086 -enum : HRESULT { MK_E_CANTOPENFILE = cast(HRESULT)0x800401EAL } 4087 - 4088 -enum : HRESULT { MK_E_MUSTBOTHERUSER = cast(HRESULT)0x800401EBL } 4089 - 4090 -enum : HRESULT { MK_E_NOINVERSE = cast(HRESULT)0x800401ECL } 4091 - 4092 -enum : HRESULT { MK_E_NOSTORAGE = cast(HRESULT)0x800401EDL } 4093 - 4094 -enum : HRESULT { MK_E_NOPREFIX = cast(HRESULT)0x800401EEL } 4095 - 4096 -enum : HRESULT { MK_E_ENUMERATION_FAILED = cast(HRESULT)0x800401EFL } 4097 - 4098 -enum : uint { CO_E_FIRST = 0x800401F0 } 4099 -enum : uint { CO_E_LAST = 0x800401FF } 4100 -enum : uint { CO_S_FIRST = 0x000401F0 } 4101 -enum : uint { CO_S_LAST = 0x000401FF } 4102 - 4103 -enum : HRESULT { CO_E_NOTINITIALIZED = cast(HRESULT)0x800401F0L } 4104 - 4105 -enum : HRESULT { CO_E_ALREADYINITIALIZED = cast(HRESULT)0x800401F1L } 4106 - 4107 -enum : HRESULT { CO_E_CANTDETERMINECLASS = cast(HRESULT)0x800401F2L } 4108 - 4109 -enum : HRESULT { CO_E_CLASSSTRING = cast(HRESULT)0x800401F3L } 4110 - 4111 -enum : HRESULT { CO_E_IIDSTRING = cast(HRESULT)0x800401F4L } 4112 - 4113 -enum : HRESULT { CO_E_APPNOTFOUND = cast(HRESULT)0x800401F5L } 4114 - 4115 -enum : HRESULT { CO_E_APPSINGLEUSE = cast(HRESULT)0x800401F6L } 4116 - 4117 -enum : HRESULT { CO_E_ERRORINAPP = cast(HRESULT)0x800401F7L } 4118 - 4119 -enum : HRESULT { CO_E_DLLNOTFOUND = cast(HRESULT)0x800401F8L } 4120 - 4121 -enum : HRESULT { CO_E_ERRORINDLL = cast(HRESULT)0x800401F9L } 4122 - 4123 -enum : HRESULT { CO_E_WRONGOSFORAPP = cast(HRESULT)0x800401FAL } 4124 - 4125 -enum : HRESULT { CO_E_OBJNOTREG = cast(HRESULT)0x800401FBL } 4126 - 4127 -enum : HRESULT { CO_E_OBJISREG = cast(HRESULT)0x800401FCL } 4128 - 4129 -enum : HRESULT { CO_E_OBJNOTCONNECTED = cast(HRESULT)0x800401FDL } 4130 - 4131 -enum : HRESULT { CO_E_APPDIDNTREG = cast(HRESULT)0x800401FEL } 4132 - 4133 -enum : HRESULT { CO_E_RELEASED = cast(HRESULT)0x800401FFL } 4134 - 4135 -enum : uint { EVENT_E_FIRST = 0x80040200 } 4136 -enum : uint { EVENT_E_LAST = 0x8004021F } 4137 -enum : uint { EVENT_S_FIRST = 0x00040200 } 4138 -enum : uint { EVENT_S_LAST = 0x0004021F } 4139 - 4140 -enum : HRESULT { EVENT_S_SOME_SUBSCRIBERS_FAILED = cast(HRESULT)0x00040200L } 4141 - 4142 -enum : HRESULT { EVENT_E_ALL_SUBSCRIBERS_FAILED = cast(HRESULT)0x80040201L } 4143 - 4144 -enum : HRESULT { EVENT_S_NOSUBSCRIBERS = cast(HRESULT)0x00040202L } 4145 - 4146 -enum : HRESULT { EVENT_E_QUERYSYNTAX = cast(HRESULT)0x80040203L } 4147 - 4148 -enum : HRESULT { EVENT_E_QUERYFIELD = cast(HRESULT)0x80040204L } 4149 - 4150 -enum : HRESULT { EVENT_E_INTERNALEXCEPTION = cast(HRESULT)0x80040205L } 4151 - 4152 -enum : HRESULT { EVENT_E_INTERNALERROR = cast(HRESULT)0x80040206L } 4153 - 4154 -enum : HRESULT { EVENT_E_INVALID_PER_USER_SID = cast(HRESULT)0x80040207L } 4155 - 4156 -enum : HRESULT { EVENT_E_USER_EXCEPTION = cast(HRESULT)0x80040208L } 4157 - 4158 -enum : HRESULT { EVENT_E_TOO_MANY_METHODS = cast(HRESULT)0x80040209L } 4159 - 4160 -enum : HRESULT { EVENT_E_MISSING_EVENTCLASS = cast(HRESULT)0x8004020AL } 4161 - 4162 -enum : HRESULT { EVENT_E_NOT_ALL_REMOVED = cast(HRESULT)0x8004020BL } 4163 - 4164 -enum : HRESULT { EVENT_E_COMPLUS_NOT_INSTALLED = cast(HRESULT)0x8004020CL } 4165 - 4166 -enum : HRESULT { EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT = cast(HRESULT)0x8004020DL } 4167 - 4168 -enum : HRESULT { EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT = cast(HRESULT)0x8004020EL } 4169 - 4170 -enum : HRESULT { EVENT_E_INVALID_EVENT_CLASS_PARTITION = cast(HRESULT)0x8004020FL } 4171 - 4172 -enum : HRESULT { EVENT_E_PER_USER_SID_NOT_LOGGED_ON = cast(HRESULT)0x80040210L } 4173 - 4174 -enum : uint { XACT_E_FIRST = 0x8004D000 } 4175 -enum : uint { XACT_E_LAST = 0x8004D029 } 4176 -enum : uint { XACT_S_FIRST = 0x0004D000 } 4177 -enum : uint { XACT_S_LAST = 0x0004D010 } 4178 - 4179 -enum : HRESULT { XACT_E_ALREADYOTHERSINGLEPHASE = cast(HRESULT)0x8004D000L } 4180 - 4181 -enum : HRESULT { XACT_E_CANTRETAIN = cast(HRESULT)0x8004D001L } 4182 - 4183 -enum : HRESULT { XACT_E_COMMITFAILED = cast(HRESULT)0x8004D002L } 4184 - 4185 -enum : HRESULT { XACT_E_COMMITPREVENTED = cast(HRESULT)0x8004D003L } 4186 - 4187 -enum : HRESULT { XACT_E_HEURISTICABORT = cast(HRESULT)0x8004D004L } 4188 - 4189 -enum : HRESULT { XACT_E_HEURISTICCOMMIT = cast(HRESULT)0x8004D005L } 4190 - 4191 -enum : HRESULT { XACT_E_HEURISTICDAMAGE = cast(HRESULT)0x8004D006L } 4192 - 4193 -enum : HRESULT { XACT_E_HEURISTICDANGER = cast(HRESULT)0x8004D007L } 4194 - 4195 -enum : HRESULT { XACT_E_ISOLATIONLEVEL = cast(HRESULT)0x8004D008L } 4196 - 4197 -enum : HRESULT { XACT_E_NOASYNC = cast(HRESULT)0x8004D009L } 4198 - 4199 -enum : HRESULT { XACT_E_NOENLIST = cast(HRESULT)0x8004D00AL } 4200 - 4201 -enum : HRESULT { XACT_E_NOISORETAIN = cast(HRESULT)0x8004D00BL } 4202 - 4203 -enum : HRESULT { XACT_E_NORESOURCE = cast(HRESULT)0x8004D00CL } 4204 - 4205 -enum : HRESULT { XACT_E_NOTCURRENT = cast(HRESULT)0x8004D00DL } 4206 - 4207 -enum : HRESULT { XACT_E_NOTRANSACTION = cast(HRESULT)0x8004D00EL } 4208 - 4209 -enum : HRESULT { XACT_E_NOTSUPPORTED = cast(HRESULT)0x8004D00FL } 4210 - 4211 -enum : HRESULT { XACT_E_UNKNOWNRMGRID = cast(HRESULT)0x8004D010L } 4212 - 4213 -enum : HRESULT { XACT_E_WRONGSTATE = cast(HRESULT)0x8004D011L } 4214 - 4215 -enum : HRESULT { XACT_E_WRONGUOW = cast(HRESULT)0x8004D012L } 4216 - 4217 -enum : HRESULT { XACT_E_XTIONEXISTS = cast(HRESULT)0x8004D013L } 4218 - 4219 -enum : HRESULT { XACT_E_NOIMPORTOBJECT = cast(HRESULT)0x8004D014L } 4220 - 4221 -enum : HRESULT { XACT_E_INVALIDCOOKIE = cast(HRESULT)0x8004D015L } 4222 - 4223 -enum : HRESULT { XACT_E_INDOUBT = cast(HRESULT)0x8004D016L } 4224 - 4225 -enum : HRESULT { XACT_E_NOTIMEOUT = cast(HRESULT)0x8004D017L } 4226 - 4227 -enum : HRESULT { XACT_E_ALREADYINPROGRESS = cast(HRESULT)0x8004D018L } 4228 - 4229 -enum : HRESULT { XACT_E_ABORTED = cast(HRESULT)0x8004D019L } 4230 - 4231 -enum : HRESULT { XACT_E_LOGFULL = cast(HRESULT)0x8004D01AL } 4232 - 4233 -enum : HRESULT { XACT_E_TMNOTAVAILABLE = cast(HRESULT)0x8004D01BL } 4234 - 4235 -enum : HRESULT { XACT_E_CONNECTION_DOWN = cast(HRESULT)0x8004D01CL } 4236 - 4237 -enum : HRESULT { XACT_E_CONNECTION_DENIED = cast(HRESULT)0x8004D01DL } 4238 - 4239 -enum : HRESULT { XACT_E_REENLISTTIMEOUT = cast(HRESULT)0x8004D01EL } 4240 - 4241 -enum : HRESULT { XACT_E_TIP_CONNECT_FAILED = cast(HRESULT)0x8004D01FL } 4242 - 4243 -enum : HRESULT { XACT_E_TIP_PROTOCOL_ERROR = cast(HRESULT)0x8004D020L } 4244 - 4245 -enum : HRESULT { XACT_E_TIP_PULL_FAILED = cast(HRESULT)0x8004D021L } 4246 - 4247 -enum : HRESULT { XACT_E_DEST_TMNOTAVAILABLE = cast(HRESULT)0x8004D022L } 4248 - 4249 -enum : HRESULT { XACT_E_TIP_DISABLED = cast(HRESULT)0x8004D023L } 4250 - 4251 -enum : HRESULT { XACT_E_NETWORK_TX_DISABLED = cast(HRESULT)0x8004D024L } 4252 - 4253 -enum : HRESULT { XACT_E_PARTNER_NETWORK_TX_DISABLED = cast(HRESULT)0x8004D025L } 4254 - 4255 -enum : HRESULT { XACT_E_XA_TX_DISABLED = cast(HRESULT)0x8004D026L } 4256 - 4257 -enum : HRESULT { XACT_E_UNABLE_TO_READ_DTC_CONFIG = cast(HRESULT)0x8004D027L } 4258 - 4259 -enum : HRESULT { XACT_E_UNABLE_TO_LOAD_DTC_PROXY = cast(HRESULT)0x8004D028L } 4260 - 4261 -enum : HRESULT { XACT_E_ABORTING = cast(HRESULT)0x8004D029L } 4262 - 4263 -enum : HRESULT { XACT_E_CLERKNOTFOUND = cast(HRESULT)0x8004D080L } 4264 - 4265 -enum : HRESULT { XACT_E_CLERKEXISTS = cast(HRESULT)0x8004D081L } 4266 - 4267 -enum : HRESULT { XACT_E_RECOVERYINPROGRESS = cast(HRESULT)0x8004D082L } 4268 - 4269 -enum : HRESULT { XACT_E_TRANSACTIONCLOSED = cast(HRESULT)0x8004D083L } 4270 - 4271 -enum : HRESULT { XACT_E_INVALIDLSN = cast(HRESULT)0x8004D084L } 4272 - 4273 -enum : HRESULT { XACT_E_REPLAYREQUEST = cast(HRESULT)0x8004D085L } 4274 - 4275 -enum : HRESULT { XACT_S_ASYNC = cast(HRESULT)0x0004D000L } 4276 - 4277 -enum : HRESULT { XACT_S_DEFECT = cast(HRESULT)0x0004D001L } 4278 - 4279 -enum : HRESULT { XACT_S_READONLY = cast(HRESULT)0x0004D002L } 4280 - 4281 -enum : HRESULT { XACT_S_SOMENORETAIN = cast(HRESULT)0x0004D003L } 4282 - 4283 -enum : HRESULT { XACT_S_OKINFORM = cast(HRESULT)0x0004D004L } 4284 - 4285 -enum : HRESULT { XACT_S_MADECHANGESCONTENT = cast(HRESULT)0x0004D005L } 4286 - 4287 -enum : HRESULT { XACT_S_MADECHANGESINFORM = cast(HRESULT)0x0004D006L } 4288 - 4289 -enum : HRESULT { XACT_S_ALLNORETAIN = cast(HRESULT)0x0004D007L } 4290 - 4291 -enum : HRESULT { XACT_S_ABORTING = cast(HRESULT)0x0004D008L } 4292 - 4293 -enum : HRESULT { XACT_S_SINGLEPHASE = cast(HRESULT)0x0004D009L } 4294 - 4295 -enum : HRESULT { XACT_S_LOCALLY_OK = cast(HRESULT)0x0004D00AL } 4296 - 4297 -enum : HRESULT { XACT_S_LASTRESOURCEMANAGER = cast(HRESULT)0x0004D010L } 4298 - 4299 -enum : uint { CONTEXT_E_FIRST = 0x8004E000 } 4300 -enum : uint { CONTEXT_E_LAST = 0x8004E02F } 4301 -enum : uint { CONTEXT_S_FIRST = 0x0004E000 } 4302 -enum : uint { CONTEXT_S_LAST = 0x0004E02F } 4303 - 4304 -enum : HRESULT { CONTEXT_E_ABORTED = cast(HRESULT)0x8004E002L } 4305 - 4306 -enum : HRESULT { CONTEXT_E_ABORTING = cast(HRESULT)0x8004E003L } 4307 - 4308 -enum : HRESULT { CONTEXT_E_NOCONTEXT = cast(HRESULT)0x8004E004L } 4309 - 4310 -enum : HRESULT { CONTEXT_E_SYNCH_TIMEOUT = cast(HRESULT)0x8004E006L } 4311 - 4312 -enum : HRESULT { CONTEXT_E_OLDREF = cast(HRESULT)0x8004E007L } 4313 - 4314 -enum : HRESULT { CONTEXT_E_ROLENOTFOUND = cast(HRESULT)0x8004E00CL } 4315 - 4316 -enum : HRESULT { CONTEXT_E_TMNOTAVAILABLE = cast(HRESULT)0x8004E00FL } 4317 - 4318 -enum : HRESULT { CO_E_ACTIVATIONFAILED = cast(HRESULT)0x8004E021L } 4319 - 4320 -enum : HRESULT { CO_E_ACTIVATIONFAILED_EVENTLOGGED = cast(HRESULT)0x8004E022L } 4321 - 4322 -enum : HRESULT { CO_E_ACTIVATIONFAILED_CATALOGERROR = cast(HRESULT)0x8004E023L } 4323 - 4324 -enum : HRESULT { CO_E_ACTIVATIONFAILED_TIMEOUT = cast(HRESULT)0x8004E024L } 4325 - 4326 -enum : HRESULT { CO_E_INITIALIZATIONFAILED = cast(HRESULT)0x8004E025L } 4327 - 4328 -enum : HRESULT { CONTEXT_E_NOJIT = cast(HRESULT)0x8004E026L } 4329 - 4330 -enum : HRESULT { CONTEXT_E_NOTRANSACTION = cast(HRESULT)0x8004E027L } 4331 - 4332 -enum : HRESULT { CO_E_THREADINGMODEL_CHANGED = cast(HRESULT)0x8004E028L } 4333 - 4334 -enum : HRESULT { CO_E_NOIISINTRINSICS = cast(HRESULT)0x8004E029L } 4335 - 4336 -enum : HRESULT { CO_E_NOCOOKIES = cast(HRESULT)0x8004E02AL } 4337 - 4338 -enum : HRESULT { CO_E_DBERROR = cast(HRESULT)0x8004E02BL } 4339 - 4340 -enum : HRESULT { CO_E_NOTPOOLED = cast(HRESULT)0x8004E02CL } 4341 - 4342 -enum : HRESULT { CO_E_NOTCONSTRUCTED = cast(HRESULT)0x8004E02DL } 4343 - 4344 -enum : HRESULT { CO_E_NOSYNCHRONIZATION = cast(HRESULT)0x8004E02EL } 4345 - 4346 -enum : HRESULT { CO_E_ISOLEVELMISMATCH = cast(HRESULT)0x8004E02FL } 4347 - 4348 -enum : HRESULT { OLE_S_USEREG = cast(HRESULT)0x00040000L } 4349 - 4350 -enum : HRESULT { OLE_S_STATIC = cast(HRESULT)0x00040001L } 4351 - 4352 -enum : HRESULT { OLE_S_MAC_CLIPFORMAT = cast(HRESULT)0x00040002L } 4353 - 4354 -enum : HRESULT { DRAGDROP_S_DROP = cast(HRESULT)0x00040100L } 4355 - 4356 -enum : HRESULT { DRAGDROP_S_CANCEL = cast(HRESULT)0x00040101L } 4357 - 4358 -enum : HRESULT { DRAGDROP_S_USEDEFAULTCURSORS = cast(HRESULT)0x00040102L } 4359 - 4360 -enum : HRESULT { DATA_S_SAMEFORMATETC = cast(HRESULT)0x00040130L } 4361 - 4362 -enum : HRESULT { VIEW_S_ALREADY_FROZEN = cast(HRESULT)0x00040140L } 4363 - 4364 -enum : HRESULT { CACHE_S_FORMATETC_NOTSUPPORTED = cast(HRESULT)0x00040170L } 4365 - 4366 -enum : HRESULT { CACHE_S_SAMECACHE = cast(HRESULT)0x00040171L } 4367 - 4368 -enum : HRESULT { CACHE_S_SOMECACHES_NOTUPDATED = cast(HRESULT)0x00040172L } 4369 - 4370 -enum : HRESULT { OLEOBJ_S_INVALIDVERB = cast(HRESULT)0x00040180L } 4371 - 4372 -enum : HRESULT { OLEOBJ_S_CANNOT_DOVERB_NOW = cast(HRESULT)0x00040181L } 4373 - 4374 -enum : HRESULT { OLEOBJ_S_INVALIDHWND = cast(HRESULT)0x00040182L } 4375 - 4376 -enum : HRESULT { INPLACE_S_TRUNCATED = cast(HRESULT)0x000401A0L } 4377 - 4378 -enum : HRESULT { CONVERT10_S_NO_PRESENTATION = cast(HRESULT)0x000401C0L } 4379 - 4380 -enum : HRESULT { MK_S_REDUCED_TO_SELF = cast(HRESULT)0x000401E2L } 4381 - 4382 -enum : HRESULT { MK_S_ME = cast(HRESULT)0x000401E4L } 4383 - 4384 -enum : HRESULT { MK_S_HIM = cast(HRESULT)0x000401E5L } 4385 - 4386 -enum : HRESULT { MK_S_US = cast(HRESULT)0x000401E6L } 4387 - 4388 -enum : HRESULT { MK_S_MONIKERALREADYREGISTERED = cast(HRESULT)0x000401E7L } 4389 - 4390 -enum : HRESULT { SCHED_S_TASK_READY = cast(HRESULT)0x00041300L } 4391 - 4392 -enum : HRESULT { SCHED_S_TASK_RUNNING = cast(HRESULT)0x00041301L } 4393 - 4394 -enum : HRESULT { SCHED_S_TASK_DISABLED = cast(HRESULT)0x00041302L } 4395 - 4396 -enum : HRESULT { SCHED_S_TASK_HAS_NOT_RUN = cast(HRESULT)0x00041303L } 4397 - 4398 -enum : HRESULT { SCHED_S_TASK_NO_MORE_RUNS = cast(HRESULT)0x00041304L } 4399 - 4400 -enum : HRESULT { SCHED_S_TASK_NOT_SCHEDULED = cast(HRESULT)0x00041305L } 4401 - 4402 -enum : HRESULT { SCHED_S_TASK_TERMINATED = cast(HRESULT)0x00041306L } 4403 - 4404 -enum : HRESULT { SCHED_S_TASK_NO_VALID_TRIGGERS = cast(HRESULT)0x00041307L } 4405 - 4406 -enum : HRESULT { SCHED_S_EVENT_TRIGGER = cast(HRESULT)0x00041308L } 4407 - 4408 -enum : HRESULT { SCHED_E_TRIGGER_NOT_FOUND = cast(HRESULT)0x80041309L } 4409 - 4410 -enum : HRESULT { SCHED_E_TASK_NOT_READY = cast(HRESULT)0x8004130AL } 4411 - 4412 -enum : HRESULT { SCHED_E_TASK_NOT_RUNNING = cast(HRESULT)0x8004130BL } 4413 - 4414 -enum : HRESULT { SCHED_E_SERVICE_NOT_INSTALLED = cast(HRESULT)0x8004130CL } 4415 - 4416 -enum : HRESULT { SCHED_E_CANNOT_OPEN_TASK = cast(HRESULT)0x8004130DL } 4417 - 4418 -enum : HRESULT { SCHED_E_INVALID_TASK = cast(HRESULT)0x8004130EL } 4419 - 4420 -enum : HRESULT { SCHED_E_ACCOUNT_INFORMATION_NOT_SET = cast(HRESULT)0x8004130FL } 4421 - 4422 -enum : HRESULT { SCHED_E_ACCOUNT_NAME_NOT_FOUND = cast(HRESULT)0x80041310L } 4423 - 4424 -enum : HRESULT { SCHED_E_ACCOUNT_DBASE_CORRUPT = cast(HRESULT)0x80041311L } 4425 - 4426 -enum : HRESULT { SCHED_E_NO_SECURITY_SERVICES = cast(HRESULT)0x80041312L } 4427 - 4428 -enum : HRESULT { SCHED_E_UNKNOWN_OBJECT_VERSION = cast(HRESULT)0x80041313L } 4429 - 4430 -enum : HRESULT { SCHED_E_UNSUPPORTED_ACCOUNT_OPTION = cast(HRESULT)0x80041314L } 4431 - 4432 -enum : HRESULT { SCHED_E_SERVICE_NOT_RUNNING = cast(HRESULT)0x80041315L } 4433 - 4434 -enum : HRESULT { CO_E_CLASS_CREATE_FAILED = cast(HRESULT)0x80080001L } 4435 - 4436 -enum : HRESULT { CO_E_SCM_ERROR = cast(HRESULT)0x80080002L } 4437 - 4438 -enum : HRESULT { CO_E_SCM_RPC_FAILURE = cast(HRESULT)0x80080003L } 4439 - 4440 -enum : HRESULT { CO_E_BAD_PATH = cast(HRESULT)0x80080004L } 4441 - 4442 -enum : HRESULT { CO_E_SERVER_EXEC_FAILURE = cast(HRESULT)0x80080005L } 4443 - 4444 -enum : HRESULT { CO_E_OBJSRV_RPC_FAILURE = cast(HRESULT)0x80080006L } 4445 - 4446 -enum : HRESULT { MK_E_NO_NORMALIZED = cast(HRESULT)0x80080007L } 4447 - 4448 -enum : HRESULT { CO_E_SERVER_STOPPING = cast(HRESULT)0x80080008L } 4449 - 4450 -enum : HRESULT { MEM_E_INVALID_ROOT = cast(HRESULT)0x80080009L } 4451 - 4452 -enum : HRESULT { MEM_E_INVALID_LINK = cast(HRESULT)0x80080010L } 4453 - 4454 -enum : HRESULT { MEM_E_INVALID_SIZE = cast(HRESULT)0x80080011L } 4455 - 4456 -enum : HRESULT { CO_S_NOTALLINTERFACES = cast(HRESULT)0x00080012L } 4457 - 4458 -enum : HRESULT { CO_S_MACHINENAMENOTFOUND = cast(HRESULT)0x00080013L } 4459 - 4460 -enum : HRESULT { DISP_E_UNKNOWNINTERFACE = cast(HRESULT)0x80020001L } 4461 - 4462 -enum : HRESULT { DISP_E_MEMBERNOTFOUND = cast(HRESULT)0x80020003L } 4463 - 4464 -enum : HRESULT { DISP_E_PARAMNOTFOUND = cast(HRESULT)0x80020004L } 4465 - 4466 -enum : HRESULT { DISP_E_TYPEMISMATCH = cast(HRESULT)0x80020005L } 4467 - 4468 -enum : HRESULT { DISP_E_UNKNOWNNAME = cast(HRESULT)0x80020006L } 4469 - 4470 -enum : HRESULT { DISP_E_NONAMEDARGS = cast(HRESULT)0x80020007L } 4471 - 4472 -enum : HRESULT { DISP_E_BADVARTYPE = cast(HRESULT)0x80020008L } 4473 - 4474 -enum : HRESULT { DISP_E_EXCEPTION = cast(HRESULT)0x80020009L } 4475 - 4476 -enum : HRESULT { DISP_E_OVERFLOW = cast(HRESULT)0x8002000AL } 4477 - 4478 -enum : HRESULT { DISP_E_BADINDEX = cast(HRESULT)0x8002000BL } 4479 - 4480 -enum : HRESULT { DISP_E_UNKNOWNLCID = cast(HRESULT)0x8002000CL } 4481 - 4482 -enum : HRESULT { DISP_E_ARRAYISLOCKED = cast(HRESULT)0x8002000DL } 4483 - 4484 -enum : HRESULT { DISP_E_BADPARAMCOUNT = cast(HRESULT)0x8002000EL } 4485 - 4486 -enum : HRESULT { DISP_E_PARAMNOTOPTIONAL = cast(HRESULT)0x8002000FL } 4487 - 4488 -enum : HRESULT { DISP_E_BADCALLEE = cast(HRESULT)0x80020010L } 4489 - 4490 -enum : HRESULT { DISP_E_NOTACOLLECTION = cast(HRESULT)0x80020011L } 4491 - 4492 -enum : HRESULT { DISP_E_DIVBYZERO = cast(HRESULT)0x80020012L } 4493 - 4494 -enum : HRESULT { DISP_E_BUFFERTOOSMALL = cast(HRESULT)0x80020013L } 4495 - 4496 -enum : HRESULT { TYPE_E_BUFFERTOOSMALL = cast(HRESULT)0x80028016L } 4497 - 4498 -enum : HRESULT { TYPE_E_FIELDNOTFOUND = cast(HRESULT)0x80028017L } 4499 - 4500 -enum : HRESULT { TYPE_E_INVDATAREAD = cast(HRESULT)0x80028018L } 4501 - 4502 -enum : HRESULT { TYPE_E_UNSUPFORMAT = cast(HRESULT)0x80028019L } 4503 - 4504 -enum : HRESULT { TYPE_E_REGISTRYACCESS = cast(HRESULT)0x8002801CL } 4505 - 4506 -enum : HRESULT { TYPE_E_LIBNOTREGISTERED = cast(HRESULT)0x8002801DL } 4507 - 4508 -enum : HRESULT { TYPE_E_UNDEFINEDTYPE = cast(HRESULT)0x80028027L } 4509 - 4510 -enum : HRESULT { TYPE_E_QUALIFIEDNAMEDISALLOWED = cast(HRESULT)0x80028028L } 4511 - 4512 -enum : HRESULT { TYPE_E_INVALIDSTATE = cast(HRESULT)0x80028029L } 4513 - 4514 -enum : HRESULT { TYPE_E_WRONGTYPEKIND = cast(HRESULT)0x8002802AL } 4515 - 4516 -enum : HRESULT { TYPE_E_ELEMENTNOTFOUND = cast(HRESULT)0x8002802BL } 4517 - 4518 -enum : HRESULT { TYPE_E_AMBIGUOUSNAME = cast(HRESULT)0x8002802CL } 4519 - 4520 -enum : HRESULT { TYPE_E_NAMECONFLICT = cast(HRESULT)0x8002802DL } 4521 - 4522 -enum : HRESULT { TYPE_E_UNKNOWNLCID = cast(HRESULT)0x8002802EL } 4523 - 4524 -enum : HRESULT { TYPE_E_DLLFUNCTIONNOTFOUND = cast(HRESULT)0x8002802FL } 4525 - 4526 -enum : HRESULT { TYPE_E_BADMODULEKIND = cast(HRESULT)0x800288BDL } 4527 - 4528 -enum : HRESULT { TYPE_E_SIZETOOBIG = cast(HRESULT)0x800288C5L } 4529 - 4530 -enum : HRESULT { TYPE_E_DUPLICATEID = cast(HRESULT)0x800288C6L } 4531 - 4532 -enum : HRESULT { TYPE_E_INVALIDID = cast(HRESULT)0x800288CFL } 4533 - 4534 -enum : HRESULT { TYPE_E_TYPEMISMATCH = cast(HRESULT)0x80028CA0L } 4535 - 4536 -enum : HRESULT { TYPE_E_OUTOFBOUNDS = cast(HRESULT)0x80028CA1L } 4537 - 4538 -enum : HRESULT { TYPE_E_IOERROR = cast(HRESULT)0x80028CA2L } 4539 - 4540 -enum : HRESULT { TYPE_E_CANTCREATETMPFILE = cast(HRESULT)0x80028CA3L } 4541 - 4542 -enum : HRESULT { TYPE_E_CANTLOADLIBRARY = cast(HRESULT)0x80029C4AL } 4543 - 4544 -enum : HRESULT { TYPE_E_INCONSISTENTPROPFUNCS = cast(HRESULT)0x80029C83L } 4545 - 4546 -enum : HRESULT { TYPE_E_CIRCULARTYPE = cast(HRESULT)0x80029C84L } 4547 - 4548 -enum : HRESULT { STG_E_INVALIDFUNCTION = cast(HRESULT)0x80030001L } 4549 - 4550 -enum : HRESULT { STG_E_FILENOTFOUND = cast(HRESULT)0x80030002L } 4551 - 4552 -enum : HRESULT { STG_E_PATHNOTFOUND = cast(HRESULT)0x80030003L } 4553 - 4554 -enum : HRESULT { STG_E_TOOMANYOPENFILES = cast(HRESULT)0x80030004L } 4555 - 4556 -enum : HRESULT { STG_E_ACCESSDENIED = cast(HRESULT)0x80030005L } 4557 - 4558 -enum : HRESULT { STG_E_INVALIDHANDLE = cast(HRESULT)0x80030006L } 4559 - 4560 -enum : HRESULT { STG_E_INSUFFICIENTMEMORY = cast(HRESULT)0x80030008L } 4561 - 4562 -enum : HRESULT { STG_E_INVALIDPOINTER = cast(HRESULT)0x80030009L } 4563 - 4564 -enum : HRESULT { STG_E_NOMOREFILES = cast(HRESULT)0x80030012L } 4565 - 4566 -enum : HRESULT { STG_E_DISKISWRITEPROTECTED = cast(HRESULT)0x80030013L } 4567 - 4568 -enum : HRESULT { STG_E_SEEKERROR = cast(HRESULT)0x80030019L } 4569 - 4570 -enum : HRESULT { STG_E_WRITEFAULT = cast(HRESULT)0x8003001DL } 4571 - 4572 -enum : HRESULT { STG_E_READFAULT = cast(HRESULT)0x8003001EL } 4573 - 4574 -enum : HRESULT { STG_E_SHAREVIOLATION = cast(HRESULT)0x80030020L } 4575 - 4576 -enum : HRESULT { STG_E_LOCKVIOLATION = cast(HRESULT)0x80030021L } 4577 - 4578 -enum : HRESULT { STG_E_FILEALREADYEXISTS = cast(HRESULT)0x80030050L } 4579 - 4580 -enum : HRESULT { STG_E_INVALIDPARAMETER = cast(HRESULT)0x80030057L } 4581 - 4582 -enum : HRESULT { STG_E_MEDIUMFULL = cast(HRESULT)0x80030070L } 4583 - 4584 -enum : HRESULT { STG_E_PROPSETMISMATCHED = cast(HRESULT)0x800300F0L } 4585 - 4586 -enum : HRESULT { STG_E_ABNORMALAPIEXIT = cast(HRESULT)0x800300FAL } 4587 - 4588 -enum : HRESULT { STG_E_INVALIDHEADER = cast(HRESULT)0x800300FBL } 4589 - 4590 -enum : HRESULT { STG_E_INVALIDNAME = cast(HRESULT)0x800300FCL } 4591 - 4592 -enum : HRESULT { STG_E_UNKNOWN = cast(HRESULT)0x800300FDL } 4593 - 4594 -enum : HRESULT { STG_E_UNIMPLEMENTEDFUNCTION = cast(HRESULT)0x800300FEL } 4595 - 4596 -enum : HRESULT { STG_E_INVALIDFLAG = cast(HRESULT)0x800300FFL } 4597 - 4598 -enum : HRESULT { STG_E_INUSE = cast(HRESULT)0x80030100L } 4599 - 4600 -enum : HRESULT { STG_E_NOTCURRENT = cast(HRESULT)0x80030101L } 4601 - 4602 -enum : HRESULT { STG_E_REVERTED = cast(HRESULT)0x80030102L } 4603 - 4604 -enum : HRESULT { STG_E_CANTSAVE = cast(HRESULT)0x80030103L } 4605 - 4606 -enum : HRESULT { STG_E_OLDFORMAT = cast(HRESULT)0x80030104L } 4607 - 4608 -enum : HRESULT { STG_E_OLDDLL = cast(HRESULT)0x80030105L } 4609 - 4610 -enum : HRESULT { STG_E_SHAREREQUIRED = cast(HRESULT)0x80030106L } 4611 - 4612 -enum : HRESULT { STG_E_NOTFILEBASEDSTORAGE = cast(HRESULT)0x80030107L } 4613 - 4614 -enum : HRESULT { STG_E_EXTANTMARSHALLINGS = cast(HRESULT)0x80030108L } 4615 - 4616 -enum : HRESULT { STG_E_DOCFILECORRUPT = cast(HRESULT)0x80030109L } 4617 - 4618 -enum : HRESULT { STG_E_BADBASEADDRESS = cast(HRESULT)0x80030110L } 4619 - 4620 -enum : HRESULT { STG_E_DOCFILETOOLARGE = cast(HRESULT)0x80030111L } 4621 - 4622 -enum : HRESULT { STG_E_NOTSIMPLEFORMAT = cast(HRESULT)0x80030112L } 4623 - 4624 -enum : HRESULT { STG_E_INCOMPLETE = cast(HRESULT)0x80030201L } 4625 - 4626 -enum : HRESULT { STG_E_TERMINATED = cast(HRESULT)0x80030202L } 4627 - 4628 -enum : HRESULT { STG_S_CONVERTED = cast(HRESULT)0x00030200L } 4629 - 4630 -enum : HRESULT { STG_S_BLOCK = cast(HRESULT)0x00030201L } 4631 - 4632 -enum : HRESULT { STG_S_RETRYNOW = cast(HRESULT)0x00030202L } 4633 - 4634 -enum : HRESULT { STG_S_MONITORING = cast(HRESULT)0x00030203L } 4635 - 4636 -enum : HRESULT { STG_S_MULTIPLEOPENS = cast(HRESULT)0x00030204L } 4637 - 4638 -enum : HRESULT { STG_S_CONSOLIDATIONFAILED = cast(HRESULT)0x00030205L } 4639 - 4640 -enum : HRESULT { STG_S_CANNOTCONSOLIDATE = cast(HRESULT)0x00030206L } 4641 - 4642 -enum : HRESULT { STG_E_STATUS_COPY_PROTECTION_FAILURE = cast(HRESULT)0x80030305L } 4643 - 4644 -enum : HRESULT { STG_E_CSS_AUTHENTICATION_FAILURE = cast(HRESULT)0x80030306L } 4645 - 4646 -enum : HRESULT { STG_E_CSS_KEY_NOT_PRESENT = cast(HRESULT)0x80030307L } 4647 - 4648 -enum : HRESULT { STG_E_CSS_KEY_NOT_ESTABLISHED = cast(HRESULT)0x80030308L } 4649 - 4650 -enum : HRESULT { STG_E_CSS_SCRAMBLED_SECTOR = cast(HRESULT)0x80030309L } 4651 - 4652 -enum : HRESULT { STG_E_CSS_REGION_MISMATCH = cast(HRESULT)0x8003030AL } 4653 - 4654 -enum : HRESULT { STG_E_RESETS_EXHAUSTED = cast(HRESULT)0x8003030BL } 4655 - 4656 -enum : HRESULT { RPC_E_CALL_REJECTED = cast(HRESULT)0x80010001L } 4657 - 4658 -enum : HRESULT { RPC_E_CALL_CANCELED = cast(HRESULT)0x80010002L } 4659 - 4660 -enum : HRESULT { RPC_E_CANTPOST_INSENDCALL = cast(HRESULT)0x80010003L } 4661 - 4662 -enum : HRESULT { RPC_E_CANTCALLOUT_INASYNCCALL = cast(HRESULT)0x80010004L } 4663 - 4664 -enum : HRESULT { RPC_E_CANTCALLOUT_INEXTERNALCALL = cast(HRESULT)0x80010005L } 4665 - 4666 -enum : HRESULT { RPC_E_CONNECTION_TERMINATED = cast(HRESULT)0x80010006L } 4667 - 4668 -enum : HRESULT { RPC_E_SERVER_DIED = cast(HRESULT)0x80010007L } 4669 - 4670 -enum : HRESULT { RPC_E_CLIENT_DIED = cast(HRESULT)0x80010008L } 4671 - 4672 -enum : HRESULT { RPC_E_INVALID_DATAPACKET = cast(HRESULT)0x80010009L } 4673 - 4674 -enum : HRESULT { RPC_E_CANTTRANSMIT_CALL = cast(HRESULT)0x8001000AL } 4675 - 4676 -enum : HRESULT { RPC_E_CLIENT_CANTMARSHAL_DATA = cast(HRESULT)0x8001000BL } 4677 - 4678 -enum : HRESULT { RPC_E_CLIENT_CANTUNMARSHAL_DATA = cast(HRESULT)0x8001000CL } 4679 - 4680 -enum : HRESULT { RPC_E_SERVER_CANTMARSHAL_DATA = cast(HRESULT)0x8001000DL } 4681 - 4682 -enum : HRESULT { RPC_E_SERVER_CANTUNMARSHAL_DATA = cast(HRESULT)0x8001000EL } 4683 - 4684 -enum : HRESULT { RPC_E_INVALID_DATA = cast(HRESULT)0x8001000FL } 4685 - 4686 -enum : HRESULT { RPC_E_INVALID_PARAMETER = cast(HRESULT)0x80010010L } 4687 - 4688 -enum : HRESULT { RPC_E_CANTCALLOUT_AGAIN = cast(HRESULT)0x80010011L } 4689 - 4690 -enum : HRESULT { RPC_E_SERVER_DIED_DNE = cast(HRESULT)0x80010012L } 4691 - 4692 -enum : HRESULT { RPC_E_SYS_CALL_FAILED = cast(HRESULT)0x80010100L } 4693 - 4694 -enum : HRESULT { RPC_E_OUT_OF_RESOURCES = cast(HRESULT)0x80010101L } 4695 - 4696 -enum : HRESULT { RPC_E_ATTEMPTED_MULTITHREAD = cast(HRESULT)0x80010102L } 4697 - 4698 -enum : HRESULT { RPC_E_NOT_REGISTERED = cast(HRESULT)0x80010103L } 4699 - 4700 -enum : HRESULT { RPC_E_FAULT = cast(HRESULT)0x80010104L } 4701 - 4702 -enum : HRESULT { RPC_E_SERVERFAULT = cast(HRESULT)0x80010105L } 4703 - 4704 -enum : HRESULT { RPC_E_CHANGED_MODE = cast(HRESULT)0x80010106L } 4705 - 4706 -enum : HRESULT { RPC_E_INVALIDMETHOD = cast(HRESULT)0x80010107L } 4707 - 4708 -enum : HRESULT { RPC_E_DISCONNECTED = cast(HRESULT)0x80010108L } 4709 - 4710 -enum : HRESULT { RPC_E_RETRY = cast(HRESULT)0x80010109L } 4711 - 4712 -enum : HRESULT { RPC_E_SERVERCALL_RETRYLATER = cast(HRESULT)0x8001010AL } 4713 - 4714 -enum : HRESULT { RPC_E_SERVERCALL_REJECTED = cast(HRESULT)0x8001010BL } 4715 - 4716 -enum : HRESULT { RPC_E_INVALID_CALLDATA = cast(HRESULT)0x8001010CL } 4717 - 4718 -enum : HRESULT { RPC_E_CANTCALLOUT_ININPUTSYNCCALL = cast(HRESULT)0x8001010DL } 4719 - 4720 -enum : HRESULT { RPC_E_WRONG_THREAD = cast(HRESULT)0x8001010EL } 4721 - 4722 -enum : HRESULT { RPC_E_THREAD_NOT_INIT = cast(HRESULT)0x8001010FL } 4723 - 4724 -enum : HRESULT { RPC_E_VERSION_MISMATCH = cast(HRESULT)0x80010110L } 4725 - 4726 -enum : HRESULT { RPC_E_INVALID_HEADER = cast(HRESULT)0x80010111L } 4727 - 4728 -enum : HRESULT { RPC_E_INVALID_EXTENSION = cast(HRESULT)0x80010112L } 4729 - 4730 -enum : HRESULT { RPC_E_INVALID_IPID = cast(HRESULT)0x80010113L } 4731 - 4732 -enum : HRESULT { RPC_E_INVALID_OBJECT = cast(HRESULT)0x80010114L } 4733 - 4734 -enum : HRESULT { RPC_S_CALLPENDING = cast(HRESULT)0x80010115L } 4735 - 4736 -enum : HRESULT { RPC_S_WAITONTIMER = cast(HRESULT)0x80010116L } 4737 - 4738 -enum : HRESULT { RPC_E_CALL_COMPLETE = cast(HRESULT)0x80010117L } 4739 - 4740 -enum : HRESULT { RPC_E_UNSECURE_CALL = cast(HRESULT)0x80010118L } 4741 - 4742 -enum : HRESULT { RPC_E_TOO_LATE = cast(HRESULT)0x80010119L } 4743 - 4744 -enum : HRESULT { RPC_E_NO_GOOD_SECURITY_PACKAGES = cast(HRESULT)0x8001011AL } 4745 - 4746 -enum : HRESULT { RPC_E_ACCESS_DENIED = cast(HRESULT)0x8001011BL } 4747 - 4748 -enum : HRESULT { RPC_E_REMOTE_DISABLED = cast(HRESULT)0x8001011CL } 4749 - 4750 -enum : HRESULT { RPC_E_INVALID_OBJREF = cast(HRESULT)0x8001011DL } 4751 - 4752 -enum : HRESULT { RPC_E_NO_CONTEXT = cast(HRESULT)0x8001011EL } 4753 - 4754 -enum : HRESULT { RPC_E_TIMEOUT = cast(HRESULT)0x8001011FL } 4755 - 4756 -enum : HRESULT { RPC_E_NO_SYNC = cast(HRESULT)0x80010120L } 4757 - 4758 -enum : HRESULT { RPC_E_FULLSIC_REQUIRED = cast(HRESULT)0x80010121L } 4759 - 4760 -enum : HRESULT { RPC_E_INVALID_STD_NAME = cast(HRESULT)0x80010122L } 4761 - 4762 -enum : HRESULT { CO_E_FAILEDTOIMPERSONATE = cast(HRESULT)0x80010123L } 4763 - 4764 -enum : HRESULT { CO_E_FAILEDTOGETSECCTX = cast(HRESULT)0x80010124L } 4765 - 4766 -enum : HRESULT { CO_E_FAILEDTOOPENTHREADTOKEN = cast(HRESULT)0x80010125L } 4767 - 4768 -enum : HRESULT { CO_E_FAILEDTOGETTOKENINFO = cast(HRESULT)0x80010126L } 4769 - 4770 -enum : HRESULT { CO_E_TRUSTEEDOESNTMATCHCLIENT = cast(HRESULT)0x80010127L } 4771 - 4772 -enum : HRESULT { CO_E_FAILEDTOQUERYCLIENTBLANKET = cast(HRESULT)0x80010128L } 4773 - 4774 -enum : HRESULT { CO_E_FAILEDTOSETDACL = cast(HRESULT)0x80010129L } 4775 - 4776 -enum : HRESULT { CO_E_ACCESSCHECKFAILED = cast(HRESULT)0x8001012AL } 4777 - 4778 -enum : HRESULT { CO_E_NETACCESSAPIFAILED = cast(HRESULT)0x8001012BL } 4779 - 4780 -enum : HRESULT { CO_E_WRONGTRUSTEENAMESYNTAX = cast(HRESULT)0x8001012CL } 4781 - 4782 -enum : HRESULT { CO_E_INVALIDSID = cast(HRESULT)0x8001012DL } 4783 - 4784 -enum : HRESULT { CO_E_CONVERSIONFAILED = cast(HRESULT)0x8001012EL } 4785 - 4786 -enum : HRESULT { CO_E_NOMATCHINGSIDFOUND = cast(HRESULT)0x8001012FL } 4787 - 4788 -enum : HRESULT { CO_E_LOOKUPACCSIDFAILED = cast(HRESULT)0x80010130L } 4789 - 4790 -enum : HRESULT { CO_E_NOMATCHINGNAMEFOUND = cast(HRESULT)0x80010131L } 4791 - 4792 -enum : HRESULT { CO_E_LOOKUPACCNAMEFAILED = cast(HRESULT)0x80010132L } 4793 - 4794 -enum : HRESULT { CO_E_SETSERLHNDLFAILED = cast(HRESULT)0x80010133L } 4795 - 4796 -enum : HRESULT { CO_E_FAILEDTOGETWINDIR = cast(HRESULT)0x80010134L } 4797 - 4798 -enum : HRESULT { CO_E_PATHTOOLONG = cast(HRESULT)0x80010135L } 4799 - 4800 -enum : HRESULT { CO_E_FAILEDTOGENUUID = cast(HRESULT)0x80010136L } 4801 - 4802 -enum : HRESULT { CO_E_FAILEDTOCREATEFILE = cast(HRESULT)0x80010137L } 4803 - 4804 -enum : HRESULT { CO_E_FAILEDTOCLOSEHANDLE = cast(HRESULT)0x80010138L } 4805 - 4806 -enum : HRESULT { CO_E_EXCEEDSYSACLLIMIT = cast(HRESULT)0x80010139L } 4807 - 4808 -enum : HRESULT { CO_E_ACESINWRONGORDER = cast(HRESULT)0x8001013AL } 4809 - 4810 -enum : HRESULT { CO_E_INCOMPATIBLESTREAMVERSION = cast(HRESULT)0x8001013BL } 4811 - 4812 -enum : HRESULT { CO_E_FAILEDTOOPENPROCESSTOKEN = cast(HRESULT)0x8001013CL } 4813 - 4814 -enum : HRESULT { CO_E_DECODEFAILED = cast(HRESULT)0x8001013DL } 4815 - 4816 -enum : HRESULT { CO_E_ACNOTINITIALIZED = cast(HRESULT)0x8001013FL } 4817 - 4818 -enum : HRESULT { CO_E_CANCEL_DISABLED = cast(HRESULT)0x80010140L } 4819 - 4820 -enum : HRESULT { RPC_E_UNEXPECTED = cast(HRESULT)0x8001FFFFL } 4821 - 4822 -enum : HRESULT { ERROR_AUDITING_DISABLED = cast(HRESULT)0xC0090001L } 4823 - 4824 -enum : HRESULT { ERROR_ALL_SIDS_FILTERED = cast(HRESULT)0xC0090002L } 4825 - 4826 -enum : HRESULT { NTE_BAD_UID = cast(HRESULT)0x80090001L } 4827 - 4828 -enum : HRESULT { NTE_BAD_HASH = cast(HRESULT)0x80090002L } 4829 - 4830 -enum : HRESULT { NTE_BAD_KEY = cast(HRESULT)0x80090003L } 4831 - 4832 -enum : HRESULT { NTE_BAD_LEN = cast(HRESULT)0x80090004L } 4833 - 4834 -enum : HRESULT { NTE_BAD_DATA = cast(HRESULT)0x80090005L } 4835 - 4836 -enum : HRESULT { NTE_BAD_SIGNATURE = cast(HRESULT)0x80090006L } 4837 - 4838 -enum : HRESULT { NTE_BAD_VER = cast(HRESULT)0x80090007L } 4839 - 4840 -enum : HRESULT { NTE_BAD_ALGID = cast(HRESULT)0x80090008L } 4841 - 4842 -enum : HRESULT { NTE_BAD_FLAGS = cast(HRESULT)0x80090009L } 4843 - 4844 -enum : HRESULT { NTE_BAD_TYPE = cast(HRESULT)0x8009000AL } 4845 - 4846 -enum : HRESULT { NTE_BAD_KEY_STATE = cast(HRESULT)0x8009000BL } 4847 - 4848 -enum : HRESULT { NTE_BAD_HASH_STATE = cast(HRESULT)0x8009000CL } 4849 - 4850 -enum : HRESULT { NTE_NO_KEY = cast(HRESULT)0x8009000DL } 4851 - 4852 -enum : HRESULT { NTE_NO_MEMORY = cast(HRESULT)0x8009000EL } 4853 - 4854 -enum : HRESULT { NTE_EXISTS = cast(HRESULT)0x8009000FL } 4855 - 4856 -enum : HRESULT { NTE_PERM = cast(HRESULT)0x80090010L } 4857 - 4858 -enum : HRESULT { NTE_NOT_FOUND = cast(HRESULT)0x80090011L } 4859 - 4860 -enum : HRESULT { NTE_DOUBLE_ENCRYPT = cast(HRESULT)0x80090012L } 4861 - 4862 -enum : HRESULT { NTE_BAD_PROVIDER = cast(HRESULT)0x80090013L } 4863 - 4864 -enum : HRESULT { NTE_BAD_PROV_TYPE = cast(HRESULT)0x80090014L } 4865 - 4866 -enum : HRESULT { NTE_BAD_PUBLIC_KEY = cast(HRESULT)0x80090015L } 4867 - 4868 -enum : HRESULT { NTE_BAD_KEYSET = cast(HRESULT)0x80090016L } 4869 - 4870 -enum : HRESULT { NTE_PROV_TYPE_NOT_DEF = cast(HRESULT)0x80090017L } 4871 - 4872 -enum : HRESULT { NTE_PROV_TYPE_ENTRY_BAD = cast(HRESULT)0x80090018L } 4873 - 4874 -enum : HRESULT { NTE_KEYSET_NOT_DEF = cast(HRESULT)0x80090019L } 4875 - 4876 -enum : HRESULT { NTE_KEYSET_ENTRY_BAD = cast(HRESULT)0x8009001AL } 4877 - 4878 -enum : HRESULT { NTE_PROV_TYPE_NO_MATCH = cast(HRESULT)0x8009001BL } 4879 - 4880 -enum : HRESULT { NTE_SIGNATURE_FILE_BAD = cast(HRESULT)0x8009001CL } 4881 - 4882 -enum : HRESULT { NTE_PROVIDER_DLL_FAIL = cast(HRESULT)0x8009001DL } 4883 - 4884 -enum : HRESULT { NTE_PROV_DLL_NOT_FOUND = cast(HRESULT)0x8009001EL } 4885 - 4886 -enum : HRESULT { NTE_BAD_KEYSET_PARAM = cast(HRESULT)0x8009001FL } 4887 - 4888 -enum : HRESULT { NTE_FAIL = cast(HRESULT)0x80090020L } 4889 - 4890 -enum : HRESULT { NTE_SYS_ERR = cast(HRESULT)0x80090021L } 4891 - 4892 -enum : HRESULT { NTE_SILENT_CONTEXT = cast(HRESULT)0x80090022L } 4893 - 4894 -enum : HRESULT { NTE_TOKEN_KEYSET_STORAGE_FULL = cast(HRESULT)0x80090023L } 4895 - 4896 -enum : HRESULT { NTE_TEMPORARY_PROFILE = cast(HRESULT)0x80090024L } 4897 - 4898 -enum : HRESULT { NTE_FIXEDPARAMETER = cast(HRESULT)0x80090025L } 4899 - 4900 -enum : HRESULT { SEC_E_INSUFFICIENT_MEMORY = cast(HRESULT)0x80090300L } 4901 - 4902 -enum : HRESULT { SEC_E_INVALID_HANDLE = cast(HRESULT)0x80090301L } 4903 - 4904 -enum : HRESULT { SEC_E_UNSUPPORTED_FUNCTION = cast(HRESULT)0x80090302L } 4905 - 4906 -enum : HRESULT { SEC_E_TARGET_UNKNOWN = cast(HRESULT)0x80090303L } 4907 - 4908 -enum : HRESULT { SEC_E_INTERNAL_ERROR = cast(HRESULT)0x80090304L } 4909 - 4910 -enum : HRESULT { SEC_E_SECPKG_NOT_FOUND = cast(HRESULT)0x80090305L } 4911 - 4912 -enum : HRESULT { SEC_E_NOT_OWNER = cast(HRESULT)0x80090306L } 4913 - 4914 -enum : HRESULT { SEC_E_CANNOT_INSTALL = cast(HRESULT)0x80090307L } 4915 - 4916 -enum : HRESULT { SEC_E_INVALID_TOKEN = cast(HRESULT)0x80090308L } 4917 - 4918 -enum : HRESULT { SEC_E_CANNOT_PACK = cast(HRESULT)0x80090309L } 4919 - 4920 -enum : HRESULT { SEC_E_QOP_NOT_SUPPORTED = cast(HRESULT)0x8009030AL } 4921 - 4922 -enum : HRESULT { SEC_E_NO_IMPERSONATION = cast(HRESULT)0x8009030BL } 4923 - 4924 -enum : HRESULT { SEC_E_LOGON_DENIED = cast(HRESULT)0x8009030CL } 4925 - 4926 -enum : HRESULT { SEC_E_UNKNOWN_CREDENTIALS = cast(HRESULT)0x8009030DL } 4927 - 4928 -enum : HRESULT { SEC_E_NO_CREDENTIALS = cast(HRESULT)0x8009030EL } 4929 - 4930 -enum : HRESULT { SEC_E_MESSAGE_ALTERED = cast(HRESULT)0x8009030FL } 4931 - 4932 -enum : HRESULT { SEC_E_OUT_OF_SEQUENCE = cast(HRESULT)0x80090310L } 4933 - 4934 -enum : HRESULT { SEC_E_NO_AUTHENTICATING_AUTHORITY = cast(HRESULT)0x80090311L } 4935 - 4936 -enum : HRESULT { SEC_I_CONTINUE_NEEDED = cast(HRESULT)0x00090312L } 4937 - 4938 -enum : HRESULT { SEC_I_COMPLETE_NEEDED = cast(HRESULT)0x00090313L } 4939 - 4940 -enum : HRESULT { SEC_I_COMPLETE_AND_CONTINUE = cast(HRESULT)0x00090314L } 4941 - 4942 -enum : HRESULT { SEC_I_LOCAL_LOGON = cast(HRESULT)0x00090315L } 4943 - 4944 -enum : HRESULT { SEC_E_BAD_PKGID = cast(HRESULT)0x80090316L } 4945 - 4946 -enum : HRESULT { SEC_E_CONTEXT_EXPIRED = cast(HRESULT)0x80090317L } 4947 - 4948 -enum : HRESULT { SEC_I_CONTEXT_EXPIRED = cast(HRESULT)0x00090317L } 4949 - 4950 -enum : HRESULT { SEC_E_INCOMPLETE_MESSAGE = cast(HRESULT)0x80090318L } 4951 - 4952 -enum : HRESULT { SEC_E_INCOMPLETE_CREDENTIALS = cast(HRESULT)0x80090320L } 4953 - 4954 -enum : HRESULT { SEC_E_BUFFER_TOO_SMALL = cast(HRESULT)0x80090321L } 4955 - 4956 -enum : HRESULT { SEC_I_INCOMPLETE_CREDENTIALS = cast(HRESULT)0x00090320L } 4957 - 4958 -enum : HRESULT { SEC_I_RENEGOTIATE = cast(HRESULT)0x00090321L } 4959 - 4960 -enum : HRESULT { SEC_E_WRONG_PRINCIPAL = cast(HRESULT)0x80090322L } 4961 - 4962 -enum : HRESULT { SEC_I_NO_LSA_CONTEXT = cast(HRESULT)0x00090323L } 4963 - 4964 -enum : HRESULT { SEC_E_TIME_SKEW = cast(HRESULT)0x80090324L } 4965 - 4966 -enum : HRESULT { SEC_E_UNTRUSTED_ROOT = cast(HRESULT)0x80090325L } 4967 - 4968 -enum : HRESULT { SEC_E_ILLEGAL_MESSAGE = cast(HRESULT)0x80090326L } 4969 - 4970 -enum : HRESULT { SEC_E_CERT_UNKNOWN = cast(HRESULT)0x80090327L } 4971 - 4972 -enum : HRESULT { SEC_E_CERT_EXPIRED = cast(HRESULT)0x80090328L } 4973 - 4974 -enum : HRESULT { SEC_E_ENCRYPT_FAILURE = cast(HRESULT)0x80090329L } 4975 - 4976 -enum : HRESULT { SEC_E_DECRYPT_FAILURE = cast(HRESULT)0x80090330L } 4977 - 4978 -enum : HRESULT { SEC_E_ALGORITHM_MISMATCH = cast(HRESULT)0x80090331L } 4979 - 4980 -enum : HRESULT { SEC_E_SECURITY_QOS_FAILED = cast(HRESULT)0x80090332L } 4981 - 4982 -enum : HRESULT { SEC_E_UNFINISHED_CONTEXT_DELETED = cast(HRESULT)0x80090333L } 4983 - 4984 -enum : HRESULT { SEC_E_NO_TGT_REPLY = cast(HRESULT)0x80090334L } 4985 - 4986 -enum : HRESULT { SEC_E_NO_IP_ADDRESSES = cast(HRESULT)0x80090335L } 4987 - 4988 -enum : HRESULT { SEC_E_WRONG_CREDENTIAL_HANDLE = cast(HRESULT)0x80090336L } 4989 - 4990 -enum : HRESULT { SEC_E_CRYPTO_SYSTEM_INVALID = cast(HRESULT)0x80090337L } 4991 - 4992 -enum : HRESULT { SEC_E_MAX_REFERRALS_EXCEEDED = cast(HRESULT)0x80090338L } 4993 - 4994 -enum : HRESULT { SEC_E_MUST_BE_KDC = cast(HRESULT)0x80090339L } 4995 - 4996 -enum : HRESULT { SEC_E_STRONG_CRYPTO_NOT_SUPPORTED = cast(HRESULT)0x8009033AL } 4997 - 4998 -enum : HRESULT { SEC_E_TOO_MANY_PRINCIPALS = cast(HRESULT)0x8009033BL } 4999 - 5000 -enum : HRESULT { SEC_E_NO_PA_DATA = cast(HRESULT)0x8009033CL } 5001 - 5002 -enum : HRESULT { SEC_E_PKINIT_NAME_MISMATCH = cast(HRESULT)0x8009033DL } 5003 - 5004 -enum : HRESULT { SEC_E_SMARTCARD_LOGON_REQUIRED = cast(HRESULT)0x8009033EL } 5005 - 5006 -enum : HRESULT { SEC_E_SHUTDOWN_IN_PROGRESS = cast(HRESULT)0x8009033FL } 5007 - 5008 -enum : HRESULT { SEC_E_KDC_INVALID_REQUEST = cast(HRESULT)0x80090340L } 5009 - 5010 -enum : HRESULT { SEC_E_KDC_UNABLE_TO_REFER = cast(HRESULT)0x80090341L } 5011 - 5012 -enum : HRESULT { SEC_E_KDC_UNKNOWN_ETYPE = cast(HRESULT)0x80090342L } 5013 - 5014 -enum : HRESULT { SEC_E_UNSUPPORTED_PREAUTH = cast(HRESULT)0x80090343L } 5015 - 5016 -enum : HRESULT { SEC_E_DELEGATION_REQUIRED = cast(HRESULT)0x80090345L } 5017 - 5018 -enum : HRESULT { SEC_E_BAD_BINDINGS = cast(HRESULT)0x80090346L } 5019 - 5020 -enum : HRESULT { SEC_E_MULTIPLE_ACCOUNTS = cast(HRESULT)0x80090347L } 5021 - 5022 -enum : HRESULT { SEC_E_NO_KERB_KEY = cast(HRESULT)0x80090348L } 5023 - 5024 -alias SEC_E_INTERNAL_ERROR SEC_E_NO_SPM; 5025 -alias SEC_E_UNSUPPORTED_FUNCTION SEC_E_NOT_SUPPORTED; 5026 - 5027 -enum : HRESULT { CRYPT_E_MSG_ERROR = cast(HRESULT)0x80091001L } 5028 - 5029 -enum : HRESULT { CRYPT_E_UNKNOWN_ALGO = cast(HRESULT)0x80091002L } 5030 - 5031 -enum : HRESULT { CRYPT_E_OID_FORMAT = cast(HRESULT)0x80091003L } 5032 - 5033 -enum : HRESULT { CRYPT_E_INVALID_MSG_TYPE = cast(HRESULT)0x80091004L } 5034 - 5035 -enum : HRESULT { CRYPT_E_UNEXPECTED_ENCODING = cast(HRESULT)0x80091005L } 5036 - 5037 -enum : HRESULT { CRYPT_E_AUTH_ATTR_MISSING = cast(HRESULT)0x80091006L } 5038 - 5039 -enum : HRESULT { CRYPT_E_HASH_VALUE = cast(HRESULT)0x80091007L } 5040 - 5041 -enum : HRESULT { CRYPT_E_INVALID_INDEX = cast(HRESULT)0x80091008L } 5042 - 5043 -enum : HRESULT { CRYPT_E_ALREADY_DECRYPTED = cast(HRESULT)0x80091009L } 5044 - 5045 -enum : HRESULT { CRYPT_E_NOT_DECRYPTED = cast(HRESULT)0x8009100AL } 5046 - 5047 -enum : HRESULT { CRYPT_E_RECIPIENT_NOT_FOUND = cast(HRESULT)0x8009100BL } 5048 - 5049 -enum : HRESULT { CRYPT_E_CONTROL_TYPE = cast(HRESULT)0x8009100CL } 5050 - 5051 -enum : HRESULT { CRYPT_E_ISSUER_SERIALNUMBER = cast(HRESULT)0x8009100DL } 5052 - 5053 -enum : HRESULT { CRYPT_E_SIGNER_NOT_FOUND = cast(HRESULT)0x8009100EL } 5054 - 5055 -enum : HRESULT { CRYPT_E_ATTRIBUTES_MISSING = cast(HRESULT)0x8009100FL } 5056 - 5057 -enum : HRESULT { CRYPT_E_STREAM_MSG_NOT_READY = cast(HRESULT)0x80091010L } 5058 - 5059 -enum : HRESULT { CRYPT_E_STREAM_INSUFFICIENT_DATA = cast(HRESULT)0x80091011L } 5060 - 5061 -enum : HRESULT { CRYPT_I_NEW_PROTECTION_REQUIRED = cast(HRESULT)0x00091012L } 5062 - 5063 -enum : HRESULT { CRYPT_E_BAD_LEN = cast(HRESULT)0x80092001L } 5064 - 5065 -enum : HRESULT { CRYPT_E_BAD_ENCODE = cast(HRESULT)0x80092002L } 5066 - 5067 -enum : HRESULT { CRYPT_E_FILE_ERROR = cast(HRESULT)0x80092003L } 5068 - 5069 -enum : HRESULT { CRYPT_E_NOT_FOUND = cast(HRESULT)0x80092004L } 5070 - 5071 -enum : HRESULT { CRYPT_E_EXISTS = cast(HRESULT)0x80092005L } 5072 - 5073 -enum : HRESULT { CRYPT_E_NO_PROVIDER = cast(HRESULT)0x80092006L } 5074 - 5075 -enum : HRESULT { CRYPT_E_SELF_SIGNED = cast(HRESULT)0x80092007L } 5076 - 5077 -enum : HRESULT { CRYPT_E_DELETED_PREV = cast(HRESULT)0x80092008L } 5078 - 5079 -enum : HRESULT { CRYPT_E_NO_MATCH = cast(HRESULT)0x80092009L } 5080 - 5081 -enum : HRESULT { CRYPT_E_UNEXPECTED_MSG_TYPE = cast(HRESULT)0x8009200AL } 5082 - 5083 -enum : HRESULT { CRYPT_E_NO_KEY_PROPERTY = cast(HRESULT)0x8009200BL } 5084 - 5085 -enum : HRESULT { CRYPT_E_NO_DECRYPT_CERT = cast(HRESULT)0x8009200CL } 5086 - 5087 -enum : HRESULT { CRYPT_E_BAD_MSG = cast(HRESULT)0x8009200DL } 5088 - 5089 -enum : HRESULT { CRYPT_E_NO_SIGNER = cast(HRESULT)0x8009200EL } 5090 - 5091 -enum : HRESULT { CRYPT_E_PENDING_CLOSE = cast(HRESULT)0x8009200FL } 5092 - 5093 -enum : HRESULT { CRYPT_E_REVOKED = cast(HRESULT)0x80092010L } 5094 - 5095 -enum : HRESULT { CRYPT_E_NO_REVOCATION_DLL = cast(HRESULT)0x80092011L } 5096 - 5097 -enum : HRESULT { CRYPT_E_NO_REVOCATION_CHECK = cast(HRESULT)0x80092012L } 5098 - 5099 -enum : HRESULT { CRYPT_E_REVOCATION_OFFLINE = cast(HRESULT)0x80092013L } 5100 - 5101 -enum : HRESULT { CRYPT_E_NOT_IN_REVOCATION_DATABASE = cast(HRESULT)0x80092014L } 5102 - 5103 -enum : HRESULT { CRYPT_E_INVALID_NUMERIC_STRING = cast(HRESULT)0x80092020L } 5104 - 5105 -enum : HRESULT { CRYPT_E_INVALID_PRINTABLE_STRING = cast(HRESULT)0x80092021L } 5106 - 5107 -enum : HRESULT { CRYPT_E_INVALID_IA5_STRING = cast(HRESULT)0x80092022L } 5108 - 5109 -enum : HRESULT { CRYPT_E_INVALID_X500_STRING = cast(HRESULT)0x80092023L } 5110 - 5111 -enum : HRESULT { CRYPT_E_NOT_CHAR_STRING = cast(HRESULT)0x80092024L } 5112 - 5113 -enum : HRESULT { CRYPT_E_FILERESIZED = cast(HRESULT)0x80092025L } 5114 - 5115 -enum : HRESULT { CRYPT_E_SECURITY_SETTINGS = cast(HRESULT)0x80092026L } 5116 - 5117 -enum : HRESULT { CRYPT_E_NO_VERIFY_USAGE_DLL = cast(HRESULT)0x80092027L } 5118 - 5119 -enum : HRESULT { CRYPT_E_NO_VERIFY_USAGE_CHECK = cast(HRESULT)0x80092028L } 5120 - 5121 -enum : HRESULT { CRYPT_E_VERIFY_USAGE_OFFLINE = cast(HRESULT)0x80092029L } 5122 - 5123 -enum : HRESULT { CRYPT_E_NOT_IN_CTL = cast(HRESULT)0x8009202AL } 5124 - 5125 -enum : HRESULT { CRYPT_E_NO_TRUSTED_SIGNER = cast(HRESULT)0x8009202BL } 5126 - 5127 -enum : HRESULT { CRYPT_E_MISSING_PUBKEY_PARA = cast(HRESULT)0x8009202CL } 5128 - 5129 -enum : HRESULT { CRYPT_E_OSS_ERROR = cast(HRESULT)0x80093000L } 5130 - 5131 -enum : HRESULT { OSS_MORE_BUF = cast(HRESULT)0x80093001L } 5132 - 5133 -enum : HRESULT { OSS_NEGATIVE_UINTEGER = cast(HRESULT)0x80093002L } 5134 - 5135 -enum : HRESULT { OSS_PDU_RANGE = cast(HRESULT)0x80093003L } 5136 - 5137 -enum : HRESULT { OSS_MORE_INPUT = cast(HRESULT)0x80093004L } 5138 - 5139 -enum : HRESULT { OSS_DATA_ERROR = cast(HRESULT)0x80093005L } 5140 - 5141 -enum : HRESULT { OSS_BAD_ARG = cast(HRESULT)0x80093006L } 5142 - 5143 -enum : HRESULT { OSS_BAD_VERSION = cast(HRESULT)0x80093007L } 5144 - 5145 -enum : HRESULT { OSS_OUT_MEMORY = cast(HRESULT)0x80093008L } 5146 - 5147 -enum : HRESULT { OSS_PDU_MISMATCH = cast(HRESULT)0x80093009L } 5148 - 5149 -enum : HRESULT { OSS_LIMITED = cast(HRESULT)0x8009300AL } 5150 - 5151 -enum : HRESULT { OSS_BAD_PTR = cast(HRESULT)0x8009300BL } 5152 - 5153 -enum : HRESULT { OSS_BAD_TIME = cast(HRESULT)0x8009300CL } 5154 - 5155 -enum : HRESULT { OSS_INDEFINITE_NOT_SUPPORTED = cast(HRESULT)0x8009300DL } 5156 - 5157 -enum : HRESULT { OSS_MEM_ERROR = cast(HRESULT)0x8009300EL } 5158 - 5159 -enum : HRESULT { OSS_BAD_TABLE = cast(HRESULT)0x8009300FL } 5160 - 5161 -enum : HRESULT { OSS_TOO_LONG = cast(HRESULT)0x80093010L } 5162 - 5163 -enum : HRESULT { OSS_CONSTRAINT_VIOLATED = cast(HRESULT)0x80093011L } 5164 - 5165 -enum : HRESULT { OSS_FATAL_ERROR = cast(HRESULT)0x80093012L } 5166 - 5167 -enum : HRESULT { OSS_ACCESS_SERIALIZATION_ERROR = cast(HRESULT)0x80093013L } 5168 - 5169 -enum : HRESULT { OSS_NULL_TBL = cast(HRESULT)0x80093014L } 5170 - 5171 -enum : HRESULT { OSS_NULL_FCN = cast(HRESULT)0x80093015L } 5172 - 5173 -enum : HRESULT { OSS_BAD_ENCRULES = cast(HRESULT)0x80093016L } 5174 - 5175 -enum : HRESULT { OSS_UNAVAIL_ENCRULES = cast(HRESULT)0x80093017L } 5176 - 5177 -enum : HRESULT { OSS_CANT_OPEN_TRACE_WINDOW = cast(HRESULT)0x80093018L } 5178 - 5179 -enum : HRESULT { OSS_UNIMPLEMENTED = cast(HRESULT)0x80093019L } 5180 - 5181 -enum : HRESULT { OSS_OID_DLL_NOT_LINKED = cast(HRESULT)0x8009301AL } 5182 - 5183 -enum : HRESULT { OSS_CANT_OPEN_TRACE_FILE = cast(HRESULT)0x8009301BL } 5184 - 5185 -enum : HRESULT { OSS_TRACE_FILE_ALREADY_OPEN = cast(HRESULT)0x8009301CL } 5186 - 5187 -enum : HRESULT { OSS_TABLE_MISMATCH = cast(HRESULT)0x8009301DL } 5188 - 5189 -enum : HRESULT { OSS_TYPE_NOT_SUPPORTED = cast(HRESULT)0x8009301EL } 5190 - 5191 -enum : HRESULT { OSS_REAL_DLL_NOT_LINKED = cast(HRESULT)0x8009301FL } 5192 - 5193 -enum : HRESULT { OSS_REAL_CODE_NOT_LINKED = cast(HRESULT)0x80093020L } 5194 - 5195 -enum : HRESULT { OSS_OUT_OF_RANGE = cast(HRESULT)0x80093021L } 5196 - 5197 -enum : HRESULT { OSS_COPIER_DLL_NOT_LINKED = cast(HRESULT)0x80093022L } 5198 - 5199 -enum : HRESULT { OSS_CONSTRAINT_DLL_NOT_LINKED = cast(HRESULT)0x80093023L } 5200 - 5201 -enum : HRESULT { OSS_COMPARATOR_DLL_NOT_LINKED = cast(HRESULT)0x80093024L } 5202 - 5203 -enum : HRESULT { OSS_COMPARATOR_CODE_NOT_LINKED = cast(HRESULT)0x80093025L } 5204 - 5205 -enum : HRESULT { OSS_MEM_MGR_DLL_NOT_LINKED = cast(HRESULT)0x80093026L } 5206 - 5207 -enum : HRESULT { OSS_PDV_DLL_NOT_LINKED = cast(HRESULT)0x80093027L } 5208 - 5209 -enum : HRESULT { OSS_PDV_CODE_NOT_LINKED = cast(HRESULT)0x80093028L } 5210 - 5211 -enum : HRESULT { OSS_API_DLL_NOT_LINKED = cast(HRESULT)0x80093029L } 5212 - 5213 -enum : HRESULT { OSS_BERDER_DLL_NOT_LINKED = cast(HRESULT)0x8009302AL } 5214 - 5215 -enum : HRESULT { OSS_PER_DLL_NOT_LINKED = cast(HRESULT)0x8009302BL } 5216 - 5217 -enum : HRESULT { OSS_OPEN_TYPE_ERROR = cast(HRESULT)0x8009302CL } 5218 - 5219 -enum : HRESULT { OSS_MUTEX_NOT_CREATED = cast(HRESULT)0x8009302DL } 5220 - 5221 -enum : HRESULT { OSS_CANT_CLOSE_TRACE_FILE = cast(HRESULT)0x8009302EL } 5222 - 5223 -enum : HRESULT { CRYPT_E_ASN1_ERROR = cast(HRESULT)0x80093100L } 5224 - 5225 -enum : HRESULT { CRYPT_E_ASN1_INTERNAL = cast(HRESULT)0x80093101L } 5226 - 5227 -enum : HRESULT { CRYPT_E_ASN1_EOD = cast(HRESULT)0x80093102L } 5228 - 5229 -enum : HRESULT { CRYPT_E_ASN1_CORRUPT = cast(HRESULT)0x80093103L } 5230 - 5231 -enum : HRESULT { CRYPT_E_ASN1_LARGE = cast(HRESULT)0x80093104L } 5232 - 5233 -enum : HRESULT { CRYPT_E_ASN1_CONSTRAINT = cast(HRESULT)0x80093105L } 5234 - 5235 -enum : HRESULT { CRYPT_E_ASN1_MEMORY = cast(HRESULT)0x80093106L } 5236 - 5237 -enum : HRESULT { CRYPT_E_ASN1_OVERFLOW = cast(HRESULT)0x80093107L } 5238 - 5239 -enum : HRESULT { CRYPT_E_ASN1_BADPDU = cast(HRESULT)0x80093108L } 5240 - 5241 -enum : HRESULT { CRYPT_E_ASN1_BADARGS = cast(HRESULT)0x80093109L } 5242 - 5243 -enum : HRESULT { CRYPT_E_ASN1_BADREAL = cast(HRESULT)0x8009310AL } 5244 - 5245 -enum : HRESULT { CRYPT_E_ASN1_BADTAG = cast(HRESULT)0x8009310BL } 5246 - 5247 -enum : HRESULT { CRYPT_E_ASN1_CHOICE = cast(HRESULT)0x8009310CL } 5248 - 5249 -enum : HRESULT { CRYPT_E_ASN1_RULE = cast(HRESULT)0x8009310DL } 5250 - 5251 -enum : HRESULT { CRYPT_E_ASN1_UTF8 = cast(HRESULT)0x8009310EL } 5252 - 5253 -enum : HRESULT { CRYPT_E_ASN1_PDU_TYPE = cast(HRESULT)0x80093133L } 5254 - 5255 -enum : HRESULT { CRYPT_E_ASN1_NYI = cast(HRESULT)0x80093134L } 5256 - 5257 -enum : HRESULT { CRYPT_E_ASN1_EXTENDED = cast(HRESULT)0x80093201L } 5258 - 5259 -enum : HRESULT { CRYPT_E_ASN1_NOEOD = cast(HRESULT)0x80093202L } 5260 - 5261 -enum : HRESULT { CERTSRV_E_BAD_REQUESTSUBJECT = cast(HRESULT)0x80094001L } 5262 - 5263 -enum : HRESULT { CERTSRV_E_NO_REQUEST = cast(HRESULT)0x80094002L } 5264 - 5265 -enum : HRESULT { CERTSRV_E_BAD_REQUESTSTATUS = cast(HRESULT)0x80094003L } 5266 - 5267 -enum : HRESULT { CERTSRV_E_PROPERTY_EMPTY = cast(HRESULT)0x80094004L } 5268 - 5269 -enum : HRESULT { CERTSRV_E_INVALID_CA_CERTIFICATE = cast(HRESULT)0x80094005L } 5270 - 5271 -enum : HRESULT { CERTSRV_E_SERVER_SUSPENDED = cast(HRESULT)0x80094006L } 5272 - 5273 -enum : HRESULT { CERTSRV_E_ENCODING_LENGTH = cast(HRESULT)0x80094007L } 5274 - 5275 -enum : HRESULT { CERTSRV_E_ROLECONFLICT = cast(HRESULT)0x80094008L } 5276 - 5277 -enum : HRESULT { CERTSRV_E_RESTRICTEDOFFICER = cast(HRESULT)0x80094009L } 5278 - 5279 -enum : HRESULT { CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED = cast(HRESULT)0x8009400AL } 5280 - 5281 -enum : HRESULT { CERTSRV_E_NO_VALID_KRA = cast(HRESULT)0x8009400BL } 5282 - 5283 -enum : HRESULT { CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL = cast(HRESULT)0x8009400CL } 5284 - 5285 -enum : HRESULT { CERTSRV_E_NO_CAADMIN_DEFINED = cast(HRESULT)0x8009400DL } 5286 - 5287 -enum : HRESULT { CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE = cast(HRESULT)0x8009400EL } 5288 - 5289 -enum : HRESULT { CERTSRV_E_NO_DB_SESSIONS = cast(HRESULT)0x8009400FL } 5290 - 5291 -enum : HRESULT { CERTSRV_E_ALIGNMENT_FAULT = cast(HRESULT)0x80094010L } 5292 - 5293 -enum : HRESULT { CERTSRV_E_ENROLL_DENIED = cast(HRESULT)0x80094011L } 5294 - 5295 -enum : HRESULT { CERTSRV_E_TEMPLATE_DENIED = cast(HRESULT)0x80094012L } 5296 - 5297 -enum : HRESULT { CERTSRV_E_UNSUPPORTED_CERT_TYPE = cast(HRESULT)0x80094800L } 5298 - 5299 -enum : HRESULT { CERTSRV_E_NO_CERT_TYPE = cast(HRESULT)0x80094801L } 5300 - 5301 -enum : HRESULT { CERTSRV_E_TEMPLATE_CONFLICT = cast(HRESULT)0x80094802L } 5302 - 5303 -enum : HRESULT { CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED = cast(HRESULT)0x80094803L } 5304 - 5305 -enum : HRESULT { CERTSRV_E_ARCHIVED_KEY_REQUIRED = cast(HRESULT)0x80094804L } 5306 - 5307 -enum : HRESULT { CERTSRV_E_SMIME_REQUIRED = cast(HRESULT)0x80094805L } 5308 - 5309 -enum : HRESULT { CERTSRV_E_BAD_RENEWAL_SUBJECT = cast(HRESULT)0x80094806L } 5310 - 5311 -enum : HRESULT { CERTSRV_E_BAD_TEMPLATE_VERSION = cast(HRESULT)0x80094807L } 5312 - 5313 -enum : HRESULT { CERTSRV_E_TEMPLATE_POLICY_REQUIRED = cast(HRESULT)0x80094808L } 5314 - 5315 -enum : HRESULT { CERTSRV_E_SIGNATURE_POLICY_REQUIRED = cast(HRESULT)0x80094809L } 5316 - 5317 -enum : HRESULT { CERTSRV_E_SIGNATURE_COUNT = cast(HRESULT)0x8009480AL } 5318 - 5319 -enum : HRESULT { CERTSRV_E_SIGNATURE_REJECTED = cast(HRESULT)0x8009480BL } 5320 - 5321 -enum : HRESULT { CERTSRV_E_ISSUANCE_POLICY_REQUIRED = cast(HRESULT)0x8009480CL } 5322 - 5323 -enum : HRESULT { CERTSRV_E_SUBJECT_UPN_REQUIRED = cast(HRESULT)0x8009480DL } 5324 - 5325 -enum : HRESULT { CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED = cast(HRESULT)0x8009480EL } 5326 - 5327 -enum : HRESULT { CERTSRV_E_SUBJECT_DNS_REQUIRED = cast(HRESULT)0x8009480FL } 5328 - 5329 -enum : HRESULT { CERTSRV_E_ARCHIVED_KEY_UNEXPECTED = cast(HRESULT)0x80094810L } 5330 - 5331 -enum : HRESULT { CERTSRV_E_KEY_LENGTH = cast(HRESULT)0x80094811L } 5332 - 5333 -enum : HRESULT { XENROLL_E_KEY_NOT_EXPORTABLE = cast(HRESULT)0x80095000L } 5334 - 5335 -enum : HRESULT { XENROLL_E_CANNOT_ADD_ROOT_CERT = cast(HRESULT)0x80095001L } 5336 - 5337 -enum : HRESULT { XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND = cast(HRESULT)0x80095002L } 5338 - 5339 -enum : HRESULT { XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH = cast(HRESULT)0x80095003L } 5340 - 5341 -enum : HRESULT { XENROLL_E_RESPONSE_KA_HASH_MISMATCH = cast(HRESULT)0x80095004L } 5342 - 5343 -enum : HRESULT { XENROLL_E_KEYSPEC_SMIME_MISMATCH = cast(HRESULT)0x80095005L } 5344 - 5345 -enum : HRESULT { TRUST_E_SYSTEM_ERROR = cast(HRESULT)0x80096001L } 5346 - 5347 -enum : HRESULT { TRUST_E_NO_SIGNER_CERT = cast(HRESULT)0x80096002L } 5348 - 5349 -enum : HRESULT { TRUST_E_COUNTER_SIGNER = cast(HRESULT)0x80096003L } 5350 - 5351 -enum : HRESULT { TRUST_E_CERT_SIGNATURE = cast(HRESULT)0x80096004L } 5352 - 5353 -enum : HRESULT { TRUST_E_TIME_STAMP = cast(HRESULT)0x80096005L } 5354 - 5355 -enum : HRESULT { TRUST_E_BAD_DIGEST = cast(HRESULT)0x80096010L } 5356 - 5357 -enum : HRESULT { TRUST_E_BASIC_CONSTRAINTS = cast(HRESULT)0x80096019L } 5358 - 5359 -enum : HRESULT { TRUST_E_FINANCIAL_CRITERIA = cast(HRESULT)0x8009601EL } 5360 - 5361 -enum : HRESULT { MSSIPOTF_E_OUTOFMEMRANGE = cast(HRESULT)0x80097001L } 5362 - 5363 -enum : HRESULT { MSSIPOTF_E_CANTGETOBJECT = cast(HRESULT)0x80097002L } 5364 - 5365 -enum : HRESULT { MSSIPOTF_E_NOHEADTABLE = cast(HRESULT)0x80097003L } 5366 - 5367 -enum : HRESULT { MSSIPOTF_E_BAD_MAGICNUMBER = cast(HRESULT)0x80097004L } 5368 - 5369 -enum : HRESULT { MSSIPOTF_E_BAD_OFFSET_TABLE = cast(HRESULT)0x80097005L } 5370 - 5371 -enum : HRESULT { MSSIPOTF_E_TABLE_TAGORDER = cast(HRESULT)0x80097006L } 5372 - 5373 -enum : HRESULT { MSSIPOTF_E_TABLE_LONGWORD = cast(HRESULT)0x80097007L } 5374 - 5375 -enum : HRESULT { MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT = cast(HRESULT)0x80097008L } 5376 - 5377 -enum : HRESULT { MSSIPOTF_E_TABLES_OVERLAP = cast(HRESULT)0x80097009L } 5378 - 5379 -enum : HRESULT { MSSIPOTF_E_TABLE_PADBYTES = cast(HRESULT)0x8009700AL } 5380 - 5381 -enum : HRESULT { MSSIPOTF_E_FILETOOSMALL = cast(HRESULT)0x8009700BL } 5382 - 5383 -enum : HRESULT { MSSIPOTF_E_TABLE_CHECKSUM = cast(HRESULT)0x8009700CL } 5384 - 5385 -enum : HRESULT { MSSIPOTF_E_FILE_CHECKSUM = cast(HRESULT)0x8009700DL } 5386 - 5387 -enum : HRESULT { MSSIPOTF_E_FAILED_POLICY = cast(HRESULT)0x80097010L } 5388 - 5389 -enum : HRESULT { MSSIPOTF_E_FAILED_HINTS_CHECK = cast(HRESULT)0x80097011L } 5390 - 5391 -enum : HRESULT { MSSIPOTF_E_NOT_OPENTYPE = cast(HRESULT)0x80097012L } 5392 - 5393 -enum : HRESULT { MSSIPOTF_E_FILE = cast(HRESULT)0x80097013L } 5394 - 5395 -enum : HRESULT { MSSIPOTF_E_CRYPT = cast(HRESULT)0x80097014L } 5396 - 5397 -enum : HRESULT { MSSIPOTF_E_BADVERSION = cast(HRESULT)0x80097015L } 5398 - 5399 -enum : HRESULT { MSSIPOTF_E_DSIG_STRUCTURE = cast(HRESULT)0x80097016L } 5400 - 5401 -enum : HRESULT { MSSIPOTF_E_PCONST_CHECK = cast(HRESULT)0x80097017L } 5402 - 5403 -enum : HRESULT { MSSIPOTF_E_STRUCTURE = cast(HRESULT)0x80097018L } 5404 - 5405 -enum : uint { NTE_OP_OK = 0 } 5406 - 5407 -enum : HRESULT { TRUST_E_PROVIDER_UNKNOWN = cast(HRESULT)0x800B0001L } 5408 - 5409 -enum : HRESULT { TRUST_E_ACTION_UNKNOWN = cast(HRESULT)0x800B0002L } 5410 - 5411 -enum : HRESULT { TRUST_E_SUBJECT_FORM_UNKNOWN = cast(HRESULT)0x800B0003L } 5412 - 5413 -enum : HRESULT { TRUST_E_SUBJECT_NOT_TRUSTED = cast(HRESULT)0x800B0004L } 5414 - 5415 -enum : HRESULT { DIGSIG_E_ENCODE = cast(HRESULT)0x800B0005L } 5416 - 5417 -enum : HRESULT { DIGSIG_E_DECODE = cast(HRESULT)0x800B0006L } 5418 - 5419 -enum : HRESULT { DIGSIG_E_EXTENSIBILITY = cast(HRESULT)0x800B0007L } 5420 - 5421 -enum : HRESULT { DIGSIG_E_CRYPTO = cast(HRESULT)0x800B0008L } 5422 - 5423 -enum : HRESULT { PERSIST_E_SIZEDEFINITE = cast(HRESULT)0x800B0009L } 5424 - 5425 -enum : HRESULT { PERSIST_E_SIZEINDEFINITE = cast(HRESULT)0x800B000AL } 5426 - 5427 -enum : HRESULT { PERSIST_E_NOTSELFSIZING = cast(HRESULT)0x800B000BL } 5428 - 5429 -enum : HRESULT { TRUST_E_NOSIGNATURE = cast(HRESULT)0x800B0100L } 5430 - 5431 -enum : HRESULT { CERT_E_EXPIRED = cast(HRESULT)0x800B0101L } 5432 - 5433 -enum : HRESULT { CERT_E_VALIDITYPERIODNESTING = cast(HRESULT)0x800B0102L } 5434 - 5435 -enum : HRESULT { CERT_E_ROLE = cast(HRESULT)0x800B0103L } 5436 - 5437 -enum : HRESULT { CERT_E_PATHLENCONST = cast(HRESULT)0x800B0104L } 5438 - 5439 -enum : HRESULT { CERT_E_CRITICAL = cast(HRESULT)0x800B0105L } 5440 - 5441 -enum : HRESULT { CERT_E_PURPOSE = cast(HRESULT)0x800B0106L } 5442 - 5443 -enum : HRESULT { CERT_E_ISSUERCHAINING = cast(HRESULT)0x800B0107L } 5444 - 5445 -enum : HRESULT { CERT_E_MALFORMED = cast(HRESULT)0x800B0108L } 5446 - 5447 -enum : HRESULT { CERT_E_UNTRUSTEDROOT = cast(HRESULT)0x800B0109L } 5448 - 5449 -enum : HRESULT { CERT_E_CHAINING = cast(HRESULT)0x800B010AL } 5450 - 5451 -enum : HRESULT { TRUST_E_FAIL = cast(HRESULT)0x800B010BL } 5452 - 5453 -enum : HRESULT { CERT_E_REVOKED = cast(HRESULT)0x800B010CL } 5454 - 5455 -enum : HRESULT { CERT_E_UNTRUSTEDTESTROOT = cast(HRESULT)0x800B010DL } 5456 - 5457 -enum : HRESULT { CERT_E_REVOCATION_FAILURE = cast(HRESULT)0x800B010EL } 5458 - 5459 -enum : HRESULT { CERT_E_CN_NO_MATCH = cast(HRESULT)0x800B010FL } 5460 - 5461 -enum : HRESULT { CERT_E_WRONG_USAGE = cast(HRESULT)0x800B0110L } 5462 - 5463 -enum : HRESULT { TRUST_E_EXPLICIT_DISTRUST = cast(HRESULT)0x800B0111L } 5464 - 5465 -enum : HRESULT { CERT_E_UNTRUSTEDCA = cast(HRESULT)0x800B0112L } 5466 - 5467 -enum : HRESULT { CERT_E_INVALID_POLICY = cast(HRESULT)0x800B0113L } 5468 - 5469 -enum : HRESULT { CERT_E_INVALID_NAME = cast(HRESULT)0x800B0114L } 5470 - 5471 -// #define HRESULT_FROM_SETUPAPI(x) ((((x) & (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR)) == (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR)) ? ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_SETUPAPI << 16) | 0x80000000)) : HRESULT_FROM_WIN32(x)) 5472 - 5473 -enum : HRESULT { SPAPI_E_EXPECTED_SECTION_NAME = cast(HRESULT)0x800F0000L } 5474 - 5475 -enum : HRESULT { SPAPI_E_BAD_SECTION_NAME_LINE = cast(HRESULT)0x800F0001L } 5476 - 5477 -enum : HRESULT { SPAPI_E_SECTION_NAME_TOO_LONG = cast(HRESULT)0x800F0002L } 5478 - 5479 -enum : HRESULT { SPAPI_E_GENERAL_SYNTAX = cast(HRESULT)0x800F0003L } 5480 - 5481 -enum : HRESULT { SPAPI_E_WRONG_INF_STYLE = cast(HRESULT)0x800F0100L } 5482 - 5483 -enum : HRESULT { SPAPI_E_SECTION_NOT_FOUND = cast(HRESULT)0x800F0101L } 5484 - 5485 -enum : HRESULT { SPAPI_E_LINE_NOT_FOUND = cast(HRESULT)0x800F0102L } 5486 - 5487 -enum : HRESULT { SPAPI_E_NO_BACKUP = cast(HRESULT)0x800F0103L } 5488 - 5489 -enum : HRESULT { SPAPI_E_NO_ASSOCIATED_CLASS = cast(HRESULT)0x800F0200L } 5490 - 5491 -enum : HRESULT { SPAPI_E_CLASS_MISMATCH = cast(HRESULT)0x800F0201L } 5492 - 5493 -enum : HRESULT { SPAPI_E_DUPLICATE_FOUND = cast(HRESULT)0x800F0202L } 5494 - 5495 -enum : HRESULT { SPAPI_E_NO_DRIVER_SELECTED = cast(HRESULT)0x800F0203L } 5496 - 5497 -enum : HRESULT { SPAPI_E_KEY_DOES_NOT_EXIST = cast(HRESULT)0x800F0204L } 5498 - 5499 -enum : HRESULT { SPAPI_E_INVALID_DEVINST_NAME = cast(HRESULT)0x800F0205L } 5500 - 5501 -enum : HRESULT { SPAPI_E_INVALID_CLASS = cast(HRESULT)0x800F0206L } 5502 - 5503 -enum : HRESULT { SPAPI_E_DEVINST_ALREADY_EXISTS = cast(HRESULT)0x800F0207L } 5504 - 5505 -enum : HRESULT { SPAPI_E_DEVINFO_NOT_REGISTERED = cast(HRESULT)0x800F0208L } 5506 - 5507 -enum : HRESULT { SPAPI_E_INVALID_REG_PROPERTY = cast(HRESULT)0x800F0209L } 5508 - 5509 -enum : HRESULT { SPAPI_E_NO_INF = cast(HRESULT)0x800F020AL } 5510 - 5511 -enum : HRESULT { SPAPI_E_NO_SUCH_DEVINST = cast(HRESULT)0x800F020BL } 5512 - 5513 -enum : HRESULT { SPAPI_E_CANT_LOAD_CLASS_ICON = cast(HRESULT)0x800F020CL } 5514 - 5515 -enum : HRESULT { SPAPI_E_INVALID_CLASS_INSTALLER = cast(HRESULT)0x800F020DL } 5516 - 5517 -enum : HRESULT { SPAPI_E_DI_DO_DEFAULT = cast(HRESULT)0x800F020EL } 5518 - 5519 -enum : HRESULT { SPAPI_E_DI_NOFILECOPY = cast(HRESULT)0x800F020FL } 5520 - 5521 -enum : HRESULT { SPAPI_E_INVALID_HWPROFILE = cast(HRESULT)0x800F0210L } 5522 - 5523 -enum : HRESULT { SPAPI_E_NO_DEVICE_SELECTED = cast(HRESULT)0x800F0211L } 5524 - 5525 -enum : HRESULT { SPAPI_E_DEVINFO_LIST_LOCKED = cast(HRESULT)0x800F0212L } 5526 - 5527 -enum : HRESULT { SPAPI_E_DEVINFO_DATA_LOCKED = cast(HRESULT)0x800F0213L } 5528 - 5529 -enum : HRESULT { SPAPI_E_DI_BAD_PATH = cast(HRESULT)0x800F0214L } 5530 - 5531 -enum : HRESULT { SPAPI_E_NO_CLASSINSTALL_PARAMS = cast(HRESULT)0x800F0215L } 5532 - 5533 -enum : HRESULT { SPAPI_E_FILEQUEUE_LOCKED = cast(HRESULT)0x800F0216L } 5534 - 5535 -enum : HRESULT { SPAPI_E_BAD_SERVICE_INSTALLSECT = cast(HRESULT)0x800F0217L } 5536 - 5537 -enum : HRESULT { SPAPI_E_NO_CLASS_DRIVER_LIST = cast(HRESULT)0x800F0218L } 5538 - 5539 -enum : HRESULT { SPAPI_E_NO_ASSOCIATED_SERVICE = cast(HRESULT)0x800F0219L } 5540 - 5541 -enum : HRESULT { SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE = cast(HRESULT)0x800F021AL } 5542 - 5543 -enum : HRESULT { SPAPI_E_DEVICE_INTERFACE_ACTIVE = cast(HRESULT)0x800F021BL } 5544 - 5545 -enum : HRESULT { SPAPI_E_DEVICE_INTERFACE_REMOVED = cast(HRESULT)0x800F021CL } 5546 - 5547 -enum : HRESULT { SPAPI_E_BAD_INTERFACE_INSTALLSECT = cast(HRESULT)0x800F021DL } 5548 - 5549 -enum : HRESULT { SPAPI_E_NO_SUCH_INTERFACE_CLASS = cast(HRESULT)0x800F021EL } 5550 - 5551 -enum : HRESULT { SPAPI_E_INVALID_REFERENCE_STRING = cast(HRESULT)0x800F021FL } 5552 - 5553 -enum : HRESULT { SPAPI_E_INVALID_MACHINENAME = cast(HRESULT)0x800F0220L } 5554 - 5555 -enum : HRESULT { SPAPI_E_REMOTE_COMM_FAILURE = cast(HRESULT)0x800F0221L } 5556 - 5557 -enum : HRESULT { SPAPI_E_MACHINE_UNAVAILABLE = cast(HRESULT)0x800F0222L } 5558 - 5559 -enum : HRESULT { SPAPI_E_NO_CONFIGMGR_SERVICES = cast(HRESULT)0x800F0223L } 5560 - 5561 -enum : HRESULT { SPAPI_E_INVALID_PROPPAGE_PROVIDER = cast(HRESULT)0x800F0224L } 5562 - 5563 -enum : HRESULT { SPAPI_E_NO_SUCH_DEVICE_INTERFACE = cast(HRESULT)0x800F0225L } 5564 - 5565 -enum : HRESULT { SPAPI_E_DI_POSTPROCESSING_REQUIRED = cast(HRESULT)0x800F0226L } 5566 - 5567 -enum : HRESULT { SPAPI_E_INVALID_COINSTALLER = cast(HRESULT)0x800F0227L } 5568 - 5569 -enum : HRESULT { SPAPI_E_NO_COMPAT_DRIVERS = cast(HRESULT)0x800F0228L } 5570 - 5571 -enum : HRESULT { SPAPI_E_NO_DEVICE_ICON = cast(HRESULT)0x800F0229L } 5572 - 5573 -enum : HRESULT { SPAPI_E_INVALID_INF_LOGCONFIG = cast(HRESULT)0x800F022AL } 5574 - 5575 -enum : HRESULT { SPAPI_E_DI_DONT_INSTALL = cast(HRESULT)0x800F022BL } 5576 - 5577 -enum : HRESULT { SPAPI_E_INVALID_FILTER_DRIVER = cast(HRESULT)0x800F022CL } 5578 - 5579 -enum : HRESULT { SPAPI_E_NON_WINDOWS_NT_DRIVER = cast(HRESULT)0x800F022DL } 5580 - 5581 -enum : HRESULT { SPAPI_E_NON_WINDOWS_DRIVER = cast(HRESULT)0x800F022EL } 5582 - 5583 -enum : HRESULT { SPAPI_E_NO_CATALOG_FOR_OEM_INF = cast(HRESULT)0x800F022FL } 5584 - 5585 -enum : HRESULT { SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE = cast(HRESULT)0x800F0230L } 5586 - 5587 -enum : HRESULT { SPAPI_E_NOT_DISABLEABLE = cast(HRESULT)0x800F0231L } 5588 - 5589 -enum : HRESULT { SPAPI_E_CANT_REMOVE_DEVINST = cast(HRESULT)0x800F0232L } 5590 - 5591 -enum : HRESULT { SPAPI_E_INVALID_TARGET = cast(HRESULT)0x800F0233L } 5592 - 5593 -enum : HRESULT { SPAPI_E_DRIVER_NONNATIVE = cast(HRESULT)0x800F0234L } 5594 - 5595 -enum : HRESULT { SPAPI_E_IN_WOW64 = cast(HRESULT)0x800F0235L } 5596 - 5597 -enum : HRESULT { SPAPI_E_SET_SYSTEM_RESTORE_POINT = cast(HRESULT)0x800F0236L } 5598 - 5599 -enum : HRESULT { SPAPI_E_INCORRECTLY_COPIED_INF = cast(HRESULT)0x800F0237L } 5600 - 5601 -enum : HRESULT { SPAPI_E_SCE_DISABLED = cast(HRESULT)0x800F0238L } 5602 - 5603 -enum : HRESULT { SPAPI_E_ERROR_NOT_INSTALLED = cast(HRESULT)0x800F1000L } 5604 - 5605 -alias NO_ERROR SCARD_S_SUCCESS; 5606 - 5607 -enum : HRESULT { SCARD_F_INTERNAL_ERROR = cast(HRESULT)0x80100001L } 5608 - 5609 -enum : HRESULT { SCARD_E_CANCELLED = cast(HRESULT)0x80100002L } 5610 - 5611 -enum : HRESULT { SCARD_E_INVALID_HANDLE = cast(HRESULT)0x80100003L } 5612 - 5613 -enum : HRESULT { SCARD_E_INVALID_PARAMETER = cast(HRESULT)0x80100004L } 5614 - 5615 -enum : HRESULT { SCARD_E_INVALID_TARGET = cast(HRESULT)0x80100005L } 5616 - 5617 -enum : HRESULT { SCARD_E_NO_MEMORY = cast(HRESULT)0x80100006L } 5618 - 5619 -enum : HRESULT { SCARD_F_WAITED_TOO_LONG = cast(HRESULT)0x80100007L } 5620 - 5621 -enum : HRESULT { SCARD_E_INSUFFICIENT_BUFFER = cast(HRESULT)0x80100008L } 5622 - 5623 -enum : HRESULT { SCARD_E_UNKNOWN_READER = cast(HRESULT)0x80100009L } 5624 - 5625 -enum : HRESULT { SCARD_E_TIMEOUT = cast(HRESULT)0x8010000AL } 5626 - 5627 -enum : HRESULT { SCARD_E_SHARING_VIOLATION = cast(HRESULT)0x8010000BL } 5628 - 5629 -enum : HRESULT { SCARD_E_NO_SMARTCARD = cast(HRESULT)0x8010000CL } 5630 - 5631 -enum : HRESULT { SCARD_E_UNKNOWN_CARD = cast(HRESULT)0x8010000DL } 5632 - 5633 -enum : HRESULT { SCARD_E_CANT_DISPOSE = cast(HRESULT)0x8010000EL } 5634 - 5635 -enum : HRESULT { SCARD_E_PROTO_MISMATCH = cast(HRESULT)0x8010000FL } 5636 - 5637 -enum : HRESULT { SCARD_E_NOT_READY = cast(HRESULT)0x80100010L } 5638 - 5639 -enum : HRESULT { SCARD_E_INVALID_VALUE = cast(HRESULT)0x80100011L } 5640 - 5641 -enum : HRESULT { SCARD_E_SYSTEM_CANCELLED = cast(HRESULT)0x80100012L } 5642 - 5643 -enum : HRESULT { SCARD_F_COMM_ERROR = cast(HRESULT)0x80100013L } 5644 - 5645 -enum : HRESULT { SCARD_F_UNKNOWN_ERROR = cast(HRESULT)0x80100014L } 5646 - 5647 -enum : HRESULT { SCARD_E_INVALID_ATR = cast(HRESULT)0x80100015L } 5648 - 5649 -enum : HRESULT { SCARD_E_NOT_TRANSACTED = cast(HRESULT)0x80100016L } 5650 - 5651 -enum : HRESULT { SCARD_E_READER_UNAVAILABLE = cast(HRESULT)0x80100017L } 5652 - 5653 -enum : HRESULT { SCARD_P_SHUTDOWN = cast(HRESULT)0x80100018L } 5654 - 5655 -enum : HRESULT { SCARD_E_PCI_TOO_SMALL = cast(HRESULT)0x80100019L } 5656 - 5657 -enum : HRESULT { SCARD_E_READER_UNSUPPORTED = cast(HRESULT)0x8010001AL } 5658 - 5659 -enum : HRESULT { SCARD_E_DUPLICATE_READER = cast(HRESULT)0x8010001BL } 5660 - 5661 -enum : HRESULT { SCARD_E_CARD_UNSUPPORTED = cast(HRESULT)0x8010001CL } 5662 - 5663 -enum : HRESULT { SCARD_E_NO_SERVICE = cast(HRESULT)0x8010001DL } 5664 - 5665 -enum : HRESULT { SCARD_E_SERVICE_STOPPED = cast(HRESULT)0x8010001EL } 5666 - 5667 -enum : HRESULT { SCARD_E_UNEXPECTED = cast(HRESULT)0x8010001FL } 5668 - 5669 -enum : HRESULT { SCARD_E_ICC_INSTALLATION = cast(HRESULT)0x80100020L } 5670 - 5671 -enum : HRESULT { SCARD_E_ICC_CREATEORDER = cast(HRESULT)0x80100021L } 5672 - 5673 -enum : HRESULT { SCARD_E_UNSUPPORTED_FEATURE = cast(HRESULT)0x80100022L } 5674 - 5675 -enum : HRESULT { SCARD_E_DIR_NOT_FOUND = cast(HRESULT)0x80100023L } 5676 - 5677 -enum : HRESULT { SCARD_E_FILE_NOT_FOUND = cast(HRESULT)0x80100024L } 5678 - 5679 -enum : HRESULT { SCARD_E_NO_DIR = cast(HRESULT)0x80100025L } 5680 - 5681 -enum : HRESULT { SCARD_E_NO_FILE = cast(HRESULT)0x80100026L } 5682 - 5683 -enum : HRESULT { SCARD_E_NO_ACCESS = cast(HRESULT)0x80100027L } 5684 - 5685 -enum : HRESULT { SCARD_E_WRITE_TOO_MANY = cast(HRESULT)0x80100028L } 5686 - 5687 -enum : HRESULT { SCARD_E_BAD_SEEK = cast(HRESULT)0x80100029L } 5688 - 5689 -enum : HRESULT { SCARD_E_INVALID_CHV = cast(HRESULT)0x8010002AL } 5690 - 5691 -enum : HRESULT { SCARD_E_UNKNOWN_RES_MNG = cast(HRESULT)0x8010002BL } 5692 - 5693 -enum : HRESULT { SCARD_E_NO_SUCH_CERTIFICATE = cast(HRESULT)0x8010002CL } 5694 - 5695 -enum : HRESULT { SCARD_E_CERTIFICATE_UNAVAILABLE = cast(HRESULT)0x8010002DL } 5696 - 5697 -enum : HRESULT { SCARD_E_NO_READERS_AVAILABLE = cast(HRESULT)0x8010002EL } 5698 - 5699 -enum : HRESULT { SCARD_E_COMM_DATA_LOST = cast(HRESULT)0x8010002FL } 5700 - 5701 -enum : HRESULT { SCARD_E_NO_KEY_CONTAINER = cast(HRESULT)0x80100030L } 5702 - 5703 -enum : HRESULT { SCARD_W_UNSUPPORTED_CARD = cast(HRESULT)0x80100065L } 5704 - 5705 -enum : HRESULT { SCARD_W_UNRESPONSIVE_CARD = cast(HRESULT)0x80100066L } 5706 - 5707 -enum : HRESULT { SCARD_W_UNPOWERED_CARD = cast(HRESULT)0x80100067L } 5708 - 5709 -enum : HRESULT { SCARD_W_RESET_CARD = cast(HRESULT)0x80100068L } 5710 - 5711 -enum : HRESULT { SCARD_W_REMOVED_CARD = cast(HRESULT)0x80100069L } 5712 - 5713 -enum : HRESULT { SCARD_W_SECURITY_VIOLATION = cast(HRESULT)0x8010006AL } 5714 - 5715 -enum : HRESULT { SCARD_W_WRONG_CHV = cast(HRESULT)0x8010006BL } 5716 - 5717 -enum : HRESULT { SCARD_W_CHV_BLOCKED = cast(HRESULT)0x8010006CL } 5718 - 5719 -enum : HRESULT { SCARD_W_EOF = cast(HRESULT)0x8010006DL } 5720 - 5721 -enum : HRESULT { SCARD_W_CANCELLED_BY_USER = cast(HRESULT)0x8010006EL } 5722 - 5723 -enum : HRESULT { SCARD_W_CARD_NOT_AUTHENTICATED = cast(HRESULT)0x8010006FL } 5724 - 5725 -enum : HRESULT { COMADMIN_E_OBJECTERRORS = cast(HRESULT)0x80110401L } 5726 - 5727 -enum : HRESULT { COMADMIN_E_OBJECTINVALID = cast(HRESULT)0x80110402L } 5728 - 5729 -enum : HRESULT { COMADMIN_E_KEYMISSING = cast(HRESULT)0x80110403L } 5730 - 5731 -enum : HRESULT { COMADMIN_E_ALREADYINSTALLED = cast(HRESULT)0x80110404L } 5732 - 5733 -enum : HRESULT { COMADMIN_E_APP_FILE_WRITEFAIL = cast(HRESULT)0x80110407L } 5734 - 5735 -enum : HRESULT { COMADMIN_E_APP_FILE_READFAIL = cast(HRESULT)0x80110408L } 5736 - 5737 -enum : HRESULT { COMADMIN_E_APP_FILE_VERSION = cast(HRESULT)0x80110409L } 5738 - 5739 -enum : HRESULT { COMADMIN_E_BADPATH = cast(HRESULT)0x8011040AL } 5740 - 5741 -enum : HRESULT { COMADMIN_E_APPLICATIONEXISTS = cast(HRESULT)0x8011040BL } 5742 - 5743 -enum : HRESULT { COMADMIN_E_ROLEEXISTS = cast(HRESULT)0x8011040CL } 5744 - 5745 -enum : HRESULT { COMADMIN_E_CANTCOPYFILE = cast(HRESULT)0x8011040DL } 5746 - 5747 -enum : HRESULT { COMADMIN_E_NOUSER = cast(HRESULT)0x8011040FL } 5748 - 5749 -enum : HRESULT { COMADMIN_E_INVALIDUSERIDS = cast(HRESULT)0x80110410L } 5750 - 5751 -enum : HRESULT { COMADMIN_E_NOREGISTRYCLSID = cast(HRESULT)0x80110411L } 5752 - 5753 -enum : HRESULT { COMADMIN_E_BADREGISTRYPROGID = cast(HRESULT)0x80110412L } 5754 - 5755 -enum : HRESULT { COMADMIN_E_AUTHENTICATIONLEVEL = cast(HRESULT)0x80110413L } 5756 - 5757 -enum : HRESULT { COMADMIN_E_USERPASSWDNOTVALID = cast(HRESULT)0x80110414L } 5758 - 5759 -enum : HRESULT { COMADMIN_E_CLSIDORIIDMISMATCH = cast(HRESULT)0x80110418L } 5760 - 5761 -enum : HRESULT { COMADMIN_E_REMOTEINTERFACE = cast(HRESULT)0x80110419L } 5762 - 5763 -enum : HRESULT { COMADMIN_E_DLLREGISTERSERVER = cast(HRESULT)0x8011041AL } 5764 - 5765 -enum : HRESULT { COMADMIN_E_NOSERVERSHARE = cast(HRESULT)0x8011041BL } 5766 - 5767 -enum : HRESULT { COMADMIN_E_DLLLOADFAILED = cast(HRESULT)0x8011041DL } 5768 - 5769 -enum : HRESULT { COMADMIN_E_BADREGISTRYLIBID = cast(HRESULT)0x8011041EL } 5770 - 5771 -enum : HRESULT { COMADMIN_E_APPDIRNOTFOUND = cast(HRESULT)0x8011041FL } 5772 - 5773 -enum : HRESULT { COMADMIN_E_REGISTRARFAILED = cast(HRESULT)0x80110423L } 5774 - 5775 -enum : HRESULT { COMADMIN_E_COMPFILE_DOESNOTEXIST = cast(HRESULT)0x80110424L } 5776 - 5777 -enum : HRESULT { COMADMIN_E_COMPFILE_LOADDLLFAIL = cast(HRESULT)0x80110425L } 5778 - 5779 -enum : HRESULT { COMADMIN_E_COMPFILE_GETCLASSOBJ = cast(HRESULT)0x80110426L } 5780 - 5781 -enum : HRESULT { COMADMIN_E_COMPFILE_CLASSNOTAVAIL = cast(HRESULT)0x80110427L } 5782 - 5783 -enum : HRESULT { COMADMIN_E_COMPFILE_BADTLB = cast(HRESULT)0x80110428L } 5784 - 5785 -enum : HRESULT { COMADMIN_E_COMPFILE_NOTINSTALLABLE = cast(HRESULT)0x80110429L } 5786 - 5787 -enum : HRESULT { COMADMIN_E_NOTCHANGEABLE = cast(HRESULT)0x8011042AL } 5788 - 5789 -enum : HRESULT { COMADMIN_E_NOTDELETEABLE = cast(HRESULT)0x8011042BL } 5790 - 5791 -enum : HRESULT { COMADMIN_E_SESSION = cast(HRESULT)0x8011042CL } 5792 - 5793 -enum : HRESULT { COMADMIN_E_COMP_MOVE_LOCKED = cast(HRESULT)0x8011042DL } 5794 - 5795 -enum : HRESULT { COMADMIN_E_COMP_MOVE_BAD_DEST = cast(HRESULT)0x8011042EL } 5796 - 5797 -enum : HRESULT { COMADMIN_E_REGISTERTLB = cast(HRESULT)0x80110430L } 5798 - 5799 -enum : HRESULT { COMADMIN_E_SYSTEMAPP = cast(HRESULT)0x80110433L } 5800 - 5801 -enum : HRESULT { COMADMIN_E_COMPFILE_NOREGISTRAR = cast(HRESULT)0x80110434L } 5802 - 5803 -enum : HRESULT { COMADMIN_E_COREQCOMPINSTALLED = cast(HRESULT)0x80110435L } 5804 - 5805 -enum : HRESULT { COMADMIN_E_SERVICENOTINSTALLED = cast(HRESULT)0x80110436L } 5806 - 5807 -enum : HRESULT { COMADMIN_E_PROPERTYSAVEFAILED = cast(HRESULT)0x80110437L } 5808 - 5809 -enum : HRESULT { COMADMIN_E_OBJECTEXISTS = cast(HRESULT)0x80110438L } 5810 - 5811 -enum : HRESULT { COMADMIN_E_COMPONENTEXISTS = cast(HRESULT)0x80110439L } 5812 - 5813 -enum : HRESULT { COMADMIN_E_REGFILE_CORRUPT = cast(HRESULT)0x8011043BL } 5814 - 5815 -enum : HRESULT { COMADMIN_E_PROPERTY_OVERFLOW = cast(HRESULT)0x8011043CL } 5816 - 5817 -enum : HRESULT { COMADMIN_E_NOTINREGISTRY = cast(HRESULT)0x8011043EL } 5818 - 5819 -enum : HRESULT { COMADMIN_E_OBJECTNOTPOOLABLE = cast(HRESULT)0x8011043FL } 5820 - 5821 -enum : HRESULT { COMADMIN_E_APPLID_MATCHES_CLSID = cast(HRESULT)0x80110446L } 5822 - 5823 -enum : HRESULT { COMADMIN_E_ROLE_DOES_NOT_EXIST = cast(HRESULT)0x80110447L } 5824 - 5825 -enum : HRESULT { COMADMIN_E_START_APP_NEEDS_COMPONENTS = cast(HRESULT)0x80110448L } 5826 - 5827 -enum : HRESULT { COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM = cast(HRESULT)0x80110449L } 5828 - 5829 -enum : HRESULT { COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY = cast(HRESULT)0x8011044AL } 5830 - 5831 -enum : HRESULT { COMADMIN_E_CAN_NOT_START_APP = cast(HRESULT)0x8011044BL } 5832 - 5833 -enum : HRESULT { COMADMIN_E_CAN_NOT_EXPORT_SYS_APP = cast(HRESULT)0x8011044CL } 5834 - 5835 -enum : HRESULT { COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT = cast(HRESULT)0x8011044DL } 5836 - 5837 -enum : HRESULT { COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER = cast(HRESULT)0x8011044EL } 5838 - 5839 -enum : HRESULT { COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE = cast(HRESULT)0x8011044FL } 5840 - 5841 -enum : HRESULT { COMADMIN_E_BASE_PARTITION_ONLY = cast(HRESULT)0x80110450L } 5842 - 5843 -enum : HRESULT { COMADMIN_E_START_APP_DISABLED = cast(HRESULT)0x80110451L } 5844 - 5845 -enum : HRESULT { COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME = cast(HRESULT)0x80110457L } 5846 - 5847 -enum : HRESULT { COMADMIN_E_CAT_INVALID_PARTITION_NAME = cast(HRESULT)0x80110458L } 5848 - 5849 -enum : HRESULT { COMADMIN_E_CAT_PARTITION_IN_USE = cast(HRESULT)0x80110459L } 5850 - 5851 -enum : HRESULT { COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES = cast(HRESULT)0x8011045AL } 5852 - 5853 -enum : HRESULT { COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED = cast(HRESULT)0x8011045BL } 5854 - 5855 -enum : HRESULT { COMADMIN_E_AMBIGUOUS_APPLICATION_NAME = cast(HRESULT)0x8011045CL } 5856 - 5857 -enum : HRESULT { COMADMIN_E_AMBIGUOUS_PARTITION_NAME = cast(HRESULT)0x8011045DL } 5858 - 5859 -enum : HRESULT { COMADMIN_E_REGDB_NOTINITIALIZED = cast(HRESULT)0x80110472L } 5860 - 5861 -enum : HRESULT { COMADMIN_E_REGDB_NOTOPEN = cast(HRESULT)0x80110473L } 5862 - 5863 -enum : HRESULT { COMADMIN_E_REGDB_SYSTEMERR = cast(HRESULT)0x80110474L } 5864 - 5865 -enum : HRESULT { COMADMIN_E_REGDB_ALREADYRUNNING = cast(HRESULT)0x80110475L } 5866 - 5867 -enum : HRESULT { COMADMIN_E_MIG_VERSIONNOTSUPPORTED = cast(HRESULT)0x80110480L } 5868 - 5869 -enum : HRESULT { COMADMIN_E_MIG_SCHEMANOTFOUND = cast(HRESULT)0x80110481L } 5870 - 5871 -enum : HRESULT { COMADMIN_E_CAT_BITNESSMISMATCH = cast(HRESULT)0x80110482L } 5872 - 5873 -enum : HRESULT { COMADMIN_E_CAT_UNACCEPTABLEBITNESS = cast(HRESULT)0x80110483L } 5874 - 5875 -enum : HRESULT { COMADMIN_E_CAT_WRONGAPPBITNESS = cast(HRESULT)0x80110484L } 5876 - 5877 -enum : HRESULT { COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED = cast(HRESULT)0x80110485L } 5878 - 5879 -enum : HRESULT { COMADMIN_E_CAT_SERVERFAULT = cast(HRESULT)0x80110486L } 5880 - 5881 -enum : HRESULT { COMQC_E_APPLICATION_NOT_QUEUED = cast(HRESULT)0x80110600L } 5882 - 5883 -enum : HRESULT { COMQC_E_NO_QUEUEABLE_INTERFACES = cast(HRESULT)0x80110601L } 5884 - 5885 -enum : HRESULT { COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE = cast(HRESULT)0x80110602L } 5886 - 5887 -enum : HRESULT { COMQC_E_NO_IPERSISTSTREAM = cast(HRESULT)0x80110603L } 5888 - 5889 -enum : HRESULT { COMQC_E_BAD_MESSAGE = cast(HRESULT)0x80110604L } 5890 - 5891 -enum : HRESULT { COMQC_E_UNAUTHENTICATED = cast(HRESULT)0x80110605L } 5892 - 5893 -enum : HRESULT { COMQC_E_UNTRUSTED_ENQUEUER = cast(HRESULT)0x80110606L } 5894 - 5895 -enum : HRESULT { MSDTC_E_DUPLICATE_RESOURCE = cast(HRESULT)0x80110701L } 5896 - 5897 -enum : HRESULT { COMADMIN_E_OBJECT_PARENT_MISSING = cast(HRESULT)0x80110808L } 5898 - 5899 -enum : HRESULT { COMADMIN_E_OBJECT_DOES_NOT_EXIST = cast(HRESULT)0x80110809L } 5900 - 5901 -enum : HRESULT { COMADMIN_E_APP_NOT_RUNNING = cast(HRESULT)0x8011080AL } 5902 - 5903 -enum : HRESULT { COMADMIN_E_INVALID_PARTITION = cast(HRESULT)0x8011080BL } 5904 - 5905 -enum : HRESULT { COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE = cast(HRESULT)0x8011080DL } 5906 - 5907 -enum : HRESULT { COMADMIN_E_USER_IN_SET = cast(HRESULT)0x8011080EL } 5908 - 5909 -enum : HRESULT { COMADMIN_E_CANTRECYCLELIBRARYAPPS = cast(HRESULT)0x8011080FL } 5910 - 5911 -enum : HRESULT { COMADMIN_E_CANTRECYCLESERVICEAPPS = cast(HRESULT)0x80110811L } 5912 - 5913 -enum : HRESULT { COMADMIN_E_PROCESSALREADYRECYCLED = cast(HRESULT)0x80110812L } 5914 - 5915 -enum : HRESULT { COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED = cast(HRESULT)0x80110813L } 5916 - 5917 -enum : HRESULT { COMADMIN_E_CANTMAKEINPROCSERVICE = cast(HRESULT)0x80110814L } 5918 - 5919 -enum : HRESULT { COMADMIN_E_PROGIDINUSEBYCLSID = cast(HRESULT)0x80110815L } 5920 - 5921 -enum : HRESULT { COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET = cast(HRESULT)0x80110816L } 5922 - 5923 -enum : HRESULT { COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED = cast(HRESULT)0x80110817L } 5924 - 5925 -enum : HRESULT { COMADMIN_E_PARTITION_ACCESSDENIED = cast(HRESULT)0x80110818L } 5926 - 5927 -enum : HRESULT { COMADMIN_E_PARTITION_MSI_ONLY = cast(HRESULT)0x80110819L } 5928 - 5929 -enum : HRESULT { COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT = cast(HRESULT)0x8011081AL } 5930 - 5931 -enum : HRESULT { COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS = cast(HRESULT)0x8011081BL } 5932 - 5933 -enum : HRESULT { COMADMIN_E_COMP_MOVE_SOURCE = cast(HRESULT)0x8011081CL } 5934 - 5935 -enum : HRESULT { COMADMIN_E_COMP_MOVE_DEST = cast(HRESULT)0x8011081DL } 5936 - 5937 -enum : HRESULT { COMADMIN_E_COMP_MOVE_PRIVATE = cast(HRESULT)0x8011081EL } 5938 - 5939 -enum : HRESULT { COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET = cast(HRESULT)0x8011081FL } 5940 - 5941 -enum : HRESULT { COMADMIN_E_CANNOT_ALIAS_EVENTCLASS = cast(HRESULT)0x80110820L } 5942 - 5943 -enum : HRESULT { COMADMIN_E_PRIVATE_ACCESSDENIED = cast(HRESULT)0x80110821L } 5944 - 5945 -enum : HRESULT { COMADMIN_E_SAFERINVALID = cast(HRESULT)0x80110822L } 5946 - 5947 -enum : HRESULT { COMADMIN_E_REGISTRY_ACCESSDENIED = cast(HRESULT)0x80110823L } 5948 - 5949 -enum : HRESULT { COMADMIN_E_CAT_DUPLICATE_PARTITION_SET_NAME = cast(HRESULT)0x80110900L } 5950 - 5951 -enum : HRESULT { COMADMIN_E_CAT_INVALID_PARTITION_SET_NAME = cast(HRESULT)0x80110901L } 5952 - 5953 -// #endif//_WINERROR_

Deleted src/win32/ansi/wingdi.d version [5b4303f052c35c45]

1 -module win32.ansi.wingdi; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.windef; 7 - 8 -// #ifndef _WINGDI_ 9 -// #define _WINGDI_ 10 - 11 -// #ifdef _MAC 12 -// #... 13 -// #endif 14 - 15 -// #if !defined(_GDI32_) 16 -// #define WINGDIAPI DECLSPEC_IMPORT 17 -// #else 18 -// #... 19 -// #endif 20 - 21 -// #if !defined(_SPOOL32_) 22 -// #define WINSPOOLAPI DECLSPEC_IMPORT 23 -// #else 24 -// #... 25 -// #endif 26 - 27 -// #ifdef __cplusplus 28 -// extern "C" { 29 -// #endif 30 - 31 -// #ifndef WINVER 32 -// #... 33 -// #endif /* WINVER */ 34 - 35 -// #ifndef NOGDI 36 - 37 -// #ifndef NORASTEROPS 38 - 39 -enum : uint { R2_BLACK = 1 } 40 -enum : uint { R2_NOTMERGEPEN = 2 } 41 -enum : uint { R2_MASKNOTPEN = 3 } 42 -enum : uint { R2_NOTCOPYPEN = 4 } 43 -enum : uint { R2_MASKPENNOT = 5 } 44 -enum : uint { R2_NOT = 6 } 45 -enum : uint { R2_XORPEN = 7 } 46 -enum : uint { R2_NOTMASKPEN = 8 } 47 -enum : uint { R2_MASKPEN = 9 } 48 -enum : uint { R2_NOTXORPEN = 10 } 49 -enum : uint { R2_NOP = 11 } 50 -enum : uint { R2_MERGENOTPEN = 12 } 51 -enum : uint { R2_COPYPEN = 13 } 52 -enum : uint { R2_MERGEPENNOT = 14 } 53 -enum : uint { R2_MERGEPEN = 15 } 54 -enum : uint { R2_WHITE = 16 } 55 -enum : uint { R2_LAST = 16 } 56 - 57 -enum : DWORD { SRCCOPY = 0x00CC0020 } 58 -enum : DWORD { SRCPAINT = 0x00EE0086 } 59 -enum : DWORD { SRCAND = 0x008800C6 } 60 -enum : DWORD { SRCINVERT = 0x00660046 } 61 -enum : DWORD { SRCERASE = 0x00440328 } 62 -enum : DWORD { NOTSRCCOPY = 0x00330008 } 63 -enum : DWORD { NOTSRCERASE = 0x001100A6 } 64 -enum : DWORD { MERGECOPY = 0x00C000CA } 65 -enum : DWORD { MERGEPAINT = 0x00BB0226 } 66 -enum : DWORD { PATCOPY = 0x00F00021 } 67 -enum : DWORD { PATPAINT = 0x00FB0A09 } 68 -enum : DWORD { PATINVERT = 0x005A0049 } 69 -enum : DWORD { DSTINVERT = 0x00550009 } 70 -enum : DWORD { BLACKNESS = 0x00000042 } 71 -enum : DWORD { WHITENESS = 0x00FF0062 } 72 -// #if(WINVER >= 0x0500) 73 - 74 -enum : DWORD { NOMIRRORBITMAP = 0x80000000 } 75 -enum : DWORD { CAPTUREBLT = 0x40000000 } 76 -// #endif /* WINVER >= 0x0500 */ 77 - 78 -DWORD MAKEROP4(DWORD fore, DWORD back){ return ((back << 8) & 0xFF000000) | fore; } 79 - 80 -// #endif /* NORASTEROPS */ 81 - 82 -enum : uint { GDI_ERROR = 0xFFFFFFFF } 83 -const HANDLE HGDI_ERROR = cast(HANDLE)(0xFFFFFFFFL); 84 - 85 -enum : uint { ERROR = 0 } 86 -enum : uint { NULLREGION = 1 } 87 -enum : uint { SIMPLEREGION = 2 } 88 -enum : uint { COMPLEXREGION = 3 } 89 -alias ERROR RGN_ERROR; 90 - 91 -enum : uint { RGN_AND = 1 } 92 -enum : uint { RGN_OR = 2 } 93 -enum : uint { RGN_XOR = 3 } 94 -enum : uint { RGN_DIFF = 4 } 95 -enum : uint { RGN_COPY = 5 } 96 -alias RGN_AND RGN_MIN; 97 -alias RGN_COPY RGN_MAX; 98 - 99 -enum : uint { BLACKONWHITE = 1 } 100 -enum : uint { WHITEONBLACK = 2 } 101 -enum : uint { COLORONCOLOR = 3 } 102 -enum : uint { HALFTONE = 4 } 103 -enum : uint { MAXSTRETCHBLTMODE = 4 } 104 - 105 -// #if(WINVER >= 0x0400) 106 - 107 -alias BLACKONWHITE STRETCH_ANDSCANS; 108 -alias WHITEONBLACK STRETCH_ORSCANS; 109 -alias COLORONCOLOR STRETCH_DELETESCANS; 110 -alias HALFTONE STRETCH_HALFTONE; 111 -// #endif /* WINVER >= 0x0400 */ 112 - 113 -enum : uint { ALTERNATE = 1 } 114 -enum : uint { WINDING = 2 } 115 -enum : uint { POLYFILL_LAST = 2 } 116 - 117 -// #if(WINVER >= 0x0500) 118 -enum : uint { LAYOUT_RTL = 0x00000001 } 119 -enum : uint { LAYOUT_BTT = 0x00000002 } 120 -enum : uint { LAYOUT_VBH = 0x00000004 } 121 -enum : uint { LAYOUT_ORIENTATIONMASK = LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH } 122 -enum : uint { LAYOUT_BITMAPORIENTATIONPRESERVED = 0x00000008 } 123 -// #endif /* WINVER >= 0x0500 */ 124 - 125 -enum : uint { TA_NOUPDATECP = 0 } 126 -enum : uint { TA_UPDATECP = 1 } 127 - 128 -enum : uint { TA_LEFT = 0 } 129 -enum : uint { TA_RIGHT = 2 } 130 -enum : uint { TA_CENTER = 6 } 131 - 132 -enum : uint { TA_TOP = 0 } 133 -enum : uint { TA_BOTTOM = 8 } 134 -enum : uint { TA_BASELINE = 24 } 135 -// #if (WINVER >= 0x0400) 136 -enum : uint { TA_RTLREADING = 256 } 137 -enum : uint { TA_MASK = TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING } 138 -// #else 139 -// #... 140 -// #endif 141 - 142 -alias TA_BASELINE VTA_BASELINE; 143 -alias TA_BOTTOM VTA_LEFT; 144 -alias TA_TOP VTA_RIGHT; 145 -alias TA_CENTER VTA_CENTER; 146 -alias TA_RIGHT VTA_BOTTOM; 147 -alias TA_LEFT VTA_TOP; 148 - 149 -enum : uint { ETO_OPAQUE = 0x0002 } 150 -enum : uint { ETO_CLIPPED = 0x0004 } 151 -// #if(WINVER >= 0x0400) 152 -enum : uint { ETO_GLYPH_INDEX = 0x0010 } 153 -enum : uint { ETO_RTLREADING = 0x0080 } 154 -enum : uint { ETO_NUMERICSLOCAL = 0x0400 } 155 -enum : uint { ETO_NUMERICSLATIN = 0x0800 } 156 -enum : uint { ETO_IGNORELANGUAGE = 0x1000 } 157 -// #endif /* WINVER >= 0x0400 */ 158 -// #if (_WIN32_WINNT >= 0x0500) 159 -enum : uint { ETO_PDY = 0x2000 } 160 -// #endif // (_WIN32_WINNT >= 0x0500) 161 - 162 -enum : uint { ASPECT_FILTERING = 0x0001 } 163 - 164 -enum : uint { DCB_RESET = 0x0001 } 165 -enum : uint { DCB_ACCUMULATE = 0x0002 } 166 -alias DCB_ACCUMULATE DCB_DIRTY; 167 -enum : uint { DCB_SET = DCB_RESET | DCB_ACCUMULATE } 168 -enum : uint { DCB_ENABLE = 0x0004 } 169 -enum : uint { DCB_DISABLE = 0x0008 } 170 - 171 -// #ifndef NOMETAFILE 172 - 173 -enum : uint { META_SETBKCOLOR = 0x0201 } 174 -enum : uint { META_SETBKMODE = 0x0102 } 175 -enum : uint { META_SETMAPMODE = 0x0103 } 176 -enum : uint { META_SETROP2 = 0x0104 } 177 -enum : uint { META_SETRELABS = 0x0105 } 178 -enum : uint { META_SETPOLYFILLMODE = 0x0106 } 179 -enum : uint { META_SETSTRETCHBLTMODE = 0x0107 } 180 -enum : uint { META_SETTEXTCHAREXTRA = 0x0108 } 181 -enum : uint { META_SETTEXTCOLOR = 0x0209 } 182 -enum : uint { META_SETTEXTJUSTIFICATION = 0x020A } 183 -enum : uint { META_SETWINDOWORG = 0x020B } 184 -enum : uint { META_SETWINDOWEXT = 0x020C } 185 -enum : uint { META_SETVIEWPORTORG = 0x020D } 186 -enum : uint { META_SETVIEWPORTEXT = 0x020E } 187 -enum : uint { META_OFFSETWINDOWORG = 0x020F } 188 -enum : uint { META_SCALEWINDOWEXT = 0x0410 } 189 -enum : uint { META_OFFSETVIEWPORTORG = 0x0211 } 190 -enum : uint { META_SCALEVIEWPORTEXT = 0x0412 } 191 -enum : uint { META_LINETO = 0x0213 } 192 -enum : uint { META_MOVETO = 0x0214 } 193 -enum : uint { META_EXCLUDECLIPRECT = 0x0415 } 194 -enum : uint { META_INTERSECTCLIPRECT = 0x0416 } 195 -enum : uint { META_ARC = 0x0817 } 196 -enum : uint { META_ELLIPSE = 0x0418 } 197 -enum : uint { META_FLOODFILL = 0x0419 } 198 -enum : uint { META_PIE = 0x081A } 199 -enum : uint { META_RECTANGLE = 0x041B } 200 -enum : uint { META_ROUNDRECT = 0x061C } 201 -enum : uint { META_PATBLT = 0x061D } 202 -enum : uint { META_SAVEDC = 0x001E } 203 -enum : uint { META_SETPIXEL = 0x041F } 204 -enum : uint { META_OFFSETCLIPRGN = 0x0220 } 205 -enum : uint { META_TEXTOUT = 0x0521 } 206 -enum : uint { META_BITBLT = 0x0922 } 207 -enum : uint { META_STRETCHBLT = 0x0B23 } 208 -enum : uint { META_POLYGON = 0x0324 } 209 -enum : uint { META_POLYLINE = 0x0325 } 210 -enum : uint { META_ESCAPE = 0x0626 } 211 -enum : uint { META_RESTOREDC = 0x0127 } 212 -enum : uint { META_FILLREGION = 0x0228 } 213 -enum : uint { META_FRAMEREGION = 0x0429 } 214 -enum : uint { META_INVERTREGION = 0x012A } 215 -enum : uint { META_PAINTREGION = 0x012B } 216 -enum : uint { META_SELECTCLIPREGION = 0x012C } 217 -enum : uint { META_SELECTOBJECT = 0x012D } 218 -enum : uint { META_SETTEXTALIGN = 0x012E } 219 -enum : uint { META_CHORD = 0x0830 } 220 -enum : uint { META_SETMAPPERFLAGS = 0x0231 } 221 -enum : uint { META_EXTTEXTOUT = 0x0a32 } 222 -enum : uint { META_SETDIBTODEV = 0x0d33 } 223 -enum : uint { META_SELECTPALETTE = 0x0234 } 224 -enum : uint { META_REALIZEPALETTE = 0x0035 } 225 -enum : uint { META_ANIMATEPALETTE = 0x0436 } 226 -enum : uint { META_SETPALENTRIES = 0x0037 } 227 -enum : uint { META_POLYPOLYGON = 0x0538 } 228 -enum : uint { META_RESIZEPALETTE = 0x0139 } 229 -enum : uint { META_DIBBITBLT = 0x0940 } 230 -enum : uint { META_DIBSTRETCHBLT = 0x0b41 } 231 -enum : uint { META_DIBCREATEPATTERNBRUSH = 0x0142 } 232 -enum : uint { META_STRETCHDIB = 0x0f43 } 233 -enum : uint { META_EXTFLOODFILL = 0x0548 } 234 -// #if(WINVER >= 0x0500) 235 -enum : uint { META_SETLAYOUT = 0x0149 } 236 -// #endif /* WINVER >= 0x0500 */ 237 -enum : uint { META_DELETEOBJECT = 0x01f0 } 238 -enum : uint { META_CREATEPALETTE = 0x00f7 } 239 -enum : uint { META_CREATEPATTERNBRUSH = 0x01F9 } 240 -enum : uint { META_CREATEPENINDIRECT = 0x02FA } 241 -enum : uint { META_CREATEFONTINDIRECT = 0x02FB } 242 -enum : uint { META_CREATEBRUSHINDIRECT = 0x02FC } 243 -enum : uint { META_CREATEREGION = 0x06FF } 244 - 245 -// #if(WINVER >= 0x0400) 246 -struct _DRAWPATRECT { 247 - POINT ptPosition; 248 - POINT ptSize; 249 - WORD wStyle; 250 - WORD wPattern; 251 -} 252 -alias _DRAWPATRECT DRAWPATRECT; 253 -alias _DRAWPATRECT* PDRAWPATRECT; 254 - 255 -// #endif /* WINVER >= 0x0400 */ 256 - 257 -// #endif /* NOMETAFILE */ 258 - 259 -enum : uint { NEWFRAME = 1 } 260 -enum : uint { ABORTDOC = 2 } 261 -enum : uint { NEXTBAND = 3 } 262 -enum : uint { SETCOLORTABLE = 4 } 263 -enum : uint { GETCOLORTABLE = 5 } 264 -enum : uint { FLUSHOUTPUT = 6 } 265 -enum : uint { DRAFTMODE = 7 } 266 -enum : uint { QUERYESCSUPPORT = 8 } 267 -enum : uint { SETABORTPROC = 9 } 268 -enum : uint { STARTDOC = 10 } 269 -enum : uint { ENDDOC = 11 } 270 -enum : uint { GETPHYSPAGESIZE = 12 } 271 -enum : uint { GETPRINTINGOFFSET = 13 } 272 -enum : uint { GETSCALINGFACTOR = 14 } 273 -enum : uint { MFCOMMENT = 15 } 274 -enum : uint { GETPENWIDTH = 16 } 275 -enum : uint { SETCOPYCOUNT = 17 } 276 -enum : uint { SELECTPAPERSOURCE = 18 } 277 -enum : uint { DEVICEDATA = 19 } 278 -enum : uint { PASSTHROUGH = 19 } 279 -enum : uint { GETTECHNOLGY = 20 } 280 -enum : uint { GETTECHNOLOGY = 20 } 281 -enum : uint { SETLINECAP = 21 } 282 -enum : uint { SETLINEJOIN = 22 } 283 -enum : uint { SETMITERLIMIT = 23 } 284 -enum : uint { BANDINFO = 24 } 285 -enum : uint { DRAWPATTERNRECT = 25 } 286 -enum : uint { GETVECTORPENSIZE = 26 } 287 -enum : uint { GETVECTORBRUSHSIZE = 27 } 288 -enum : uint { ENABLEDUPLEX = 28 } 289 -enum : uint { GETSETPAPERBINS = 29 } 290 -enum : uint { GETSETPRINTORIENT = 30 } 291 -enum : uint { ENUMPAPERBINS = 31 } 292 -enum : uint { SETDIBSCALING = 32 } 293 -enum : uint { EPSPRINTING = 33 } 294 -enum : uint { ENUMPAPERMETRICS = 34 } 295 -enum : uint { GETSETPAPERMETRICS = 35 } 296 -enum : uint { POSTSCRIPT_DATA = 37 } 297 -enum : uint { POSTSCRIPT_IGNORE = 38 } 298 -enum : uint { MOUSETRAILS = 39 } 299 -enum : uint { GETDEVICEUNITS = 42 } 300 - 301 -enum : uint { GETEXTENDEDTEXTMETRICS = 256 } 302 -enum : uint { GETEXTENTTABLE = 257 } 303 -enum : uint { GETPAIRKERNTABLE = 258 } 304 -enum : uint { GETTRACKKERNTABLE = 259 } 305 -enum : uint { EXTTEXTOUT = 512 } 306 -enum : uint { GETFACENAME = 513 } 307 -enum : uint { DOWNLOADFACE = 514 } 308 -enum : uint { ENABLERELATIVEWIDTHS = 768 } 309 -enum : uint { ENABLEPAIRKERNING = 769 } 310 -enum : uint { SETKERNTRACK = 770 } 311 -enum : uint { SETALLJUSTVALUES = 771 } 312 -enum : uint { SETCHARSET = 772 } 313 - 314 -enum : uint { STRETCHBLT = 2048 } 315 -enum : uint { METAFILE_DRIVER = 2049 } 316 -enum : uint { GETSETSCREENPARAMS = 3072 } 317 -enum : uint { QUERYDIBSUPPORT = 3073 } 318 -enum : uint { BEGIN_PATH = 4096 } 319 -enum : uint { CLIP_TO_PATH = 4097 } 320 -enum : uint { END_PATH = 4098 } 321 -enum : uint { EXT_DEVICE_CAPS = 4099 } 322 -enum : uint { RESTORE_CTM = 4100 } 323 -enum : uint { SAVE_CTM = 4101 } 324 -enum : uint { SET_ARC_DIRECTION = 4102 } 325 -enum : uint { SET_BACKGROUND_COLOR = 4103 } 326 -enum : uint { SET_POLY_MODE = 4104 } 327 -enum : uint { SET_SCREEN_ANGLE = 4105 } 328 -enum : uint { SET_SPREAD = 4106 } 329 -enum : uint { TRANSFORM_CTM = 4107 } 330 -enum : uint { SET_CLIP_BOX = 4108 } 331 -enum : uint { SET_BOUNDS = 4109 } 332 -enum : uint { SET_MIRROR_MODE = 4110 } 333 -enum : uint { OPENCHANNEL = 4110 } 334 -enum : uint { DOWNLOADHEADER = 4111 } 335 -enum : uint { CLOSECHANNEL = 4112 } 336 -enum : uint { POSTSCRIPT_PASSTHROUGH = 4115 } 337 -enum : uint { ENCAPSULATED_POSTSCRIPT = 4116 } 338 - 339 -enum : uint { POSTSCRIPT_IDENTIFY = 4117 } 340 -enum : uint { POSTSCRIPT_INJECTION = 4118 } 341 - 342 -enum : uint { CHECKJPEGFORMAT = 4119 } 343 -enum : uint { CHECKPNGFORMAT = 4120 } 344 - 345 -enum : uint { GET_PS_FEATURESETTING = 4121 } 346 - 347 -enum : uint { SPCLPASSTHROUGH2 = 4568 } 348 - 349 -enum : uint { PSIDENT_GDICENTRIC = 0 } 350 -enum : uint { PSIDENT_PSCENTRIC = 1 } 351 - 352 -struct _PSINJECTDATA { 353 - 354 - DWORD DataBytes; 355 - WORD InjectionPoint; 356 - WORD PageNumber; 357 - 358 -} 359 -alias _PSINJECTDATA PSINJECTDATA; 360 -alias _PSINJECTDATA* PPSINJECTDATA; 361 - 362 -enum : uint { PSINJECT_BEGINSTREAM = 1 } 363 -enum : uint { PSINJECT_PSADOBE = 2 } 364 -enum : uint { PSINJECT_PAGESATEND = 3 } 365 -enum : uint { PSINJECT_PAGES = 4 } 366 - 367 -enum : uint { PSINJECT_DOCNEEDEDRES = 5 } 368 -enum : uint { PSINJECT_DOCSUPPLIEDRES = 6 } 369 -enum : uint { PSINJECT_PAGEORDER = 7 } 370 -enum : uint { PSINJECT_ORIENTATION = 8 } 371 -enum : uint { PSINJECT_BOUNDINGBOX = 9 } 372 -enum : uint { PSINJECT_DOCUMENTPROCESSCOLORS = 10 } 373 - 374 -enum : uint { PSINJECT_COMMENTS = 11 } 375 -enum : uint { PSINJECT_BEGINDEFAULTS = 12 } 376 -enum : uint { PSINJECT_ENDDEFAULTS = 13 } 377 -enum : uint { PSINJECT_BEGINPROLOG = 14 } 378 -enum : uint { PSINJECT_ENDPROLOG = 15 } 379 -enum : uint { PSINJECT_BEGINSETUP = 16 } 380 -enum : uint { PSINJECT_ENDSETUP = 17 } 381 -enum : uint { PSINJECT_TRAILER = 18 } 382 -enum : uint { PSINJECT_EOF = 19 } 383 -enum : uint { PSINJECT_ENDSTREAM = 20 } 384 -enum : uint { PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21 } 385 - 386 -enum : uint { PSINJECT_PAGENUMBER = 100 } 387 -enum : uint { PSINJECT_BEGINPAGESETUP = 101 } 388 -enum : uint { PSINJECT_ENDPAGESETUP = 102 } 389 -enum : uint { PSINJECT_PAGETRAILER = 103 } 390 -enum : uint { PSINJECT_PLATECOLOR = 104 } 391 - 392 -enum : uint { PSINJECT_SHOWPAGE = 105 } 393 -enum : uint { PSINJECT_PAGEBBOX = 106 } 394 -enum : uint { PSINJECT_ENDPAGECOMMENTS = 107 } 395 - 396 -enum : uint { PSINJECT_VMSAVE = 200 } 397 -enum : uint { PSINJECT_VMRESTORE = 201 } 398 - 399 -enum : uint { FEATURESETTING_NUP = 0 } 400 -enum : uint { FEATURESETTING_OUTPUT = 1 } 401 -enum : uint { FEATURESETTING_PSLEVEL = 2 } 402 -enum : uint { FEATURESETTING_CUSTPAPER = 3 } 403 -enum : uint { FEATURESETTING_MIRROR = 4 } 404 -enum : uint { FEATURESETTING_NEGATIVE = 5 } 405 -enum : uint { FEATURESETTING_PROTOCOL = 6 } 406 - 407 -enum : uint { FEATURESETTING_PRIVATE_BEGIN = 0x1000 } 408 -enum : uint { FEATURESETTING_PRIVATE_END = 0x1FFF } 409 - 410 -struct _PSFEATURE_OUTPUT { 411 - 412 - BOOL bPageIndependent; 413 - BOOL bSetPageDevice; 414 -} 415 -alias _PSFEATURE_OUTPUT PSFEATURE_OUTPUT; 416 -alias _PSFEATURE_OUTPUT* PPSFEATURE_OUTPUT; 417 - 418 -struct _PSFEATURE_CUSTPAPER { 419 - 420 - LONG lOrientation; 421 - LONG lWidth; 422 - LONG lHeight; 423 - LONG lWidthOffset; 424 - LONG lHeightOffset; 425 -} 426 -alias _PSFEATURE_CUSTPAPER PSFEATURE_CUSTPAPER; 427 -alias _PSFEATURE_CUSTPAPER* PPSFEATURE_CUSTPAPER; 428 - 429 -enum : uint { PSPROTOCOL_ASCII = 0 } 430 -enum : uint { PSPROTOCOL_BCP = 1 } 431 -enum : uint { PSPROTOCOL_TBCP = 2 } 432 -enum : uint { PSPROTOCOL_BINARY = 3 } 433 - 434 -enum : uint { QDI_SETDIBITS = 1 } 435 -enum : uint { QDI_GETDIBITS = 2 } 436 -enum : uint { QDI_DIBTOSCREEN = 4 } 437 -enum : uint { QDI_STRETCHDIB = 8 } 438 - 439 -enum : uint { SP_NOTREPORTED = 0x4000 } 440 -enum { SP_ERROR = -1 } 441 -enum { SP_APPABORT = -2 } 442 -enum { SP_USERABORT = -3 } 443 -enum { SP_OUTOFDISK = -4 } 444 -enum { SP_OUTOFMEMORY = -5 } 445 - 446 -enum : uint { PR_JOBSTATUS = 0x0000 } 447 - 448 -enum : uint { OBJ_PEN = 1 } 449 -enum : uint { OBJ_BRUSH = 2 } 450 -enum : uint { OBJ_DC = 3 } 451 -enum : uint { OBJ_METADC = 4 } 452 -enum : uint { OBJ_PAL = 5 } 453 -enum : uint { OBJ_FONT = 6 } 454 -enum : uint { OBJ_BITMAP = 7 } 455 -enum : uint { OBJ_REGION = 8 } 456 -enum : uint { OBJ_METAFILE = 9 } 457 -enum : uint { OBJ_MEMDC = 10 } 458 -enum : uint { OBJ_EXTPEN = 11 } 459 -enum : uint { OBJ_ENHMETADC = 12 } 460 -enum : uint { OBJ_ENHMETAFILE = 13 } 461 -enum : uint { OBJ_COLORSPACE = 14 } 462 - 463 -enum : uint { MWT_IDENTITY = 1 } 464 -enum : uint { MWT_LEFTMULTIPLY = 2 } 465 -enum : uint { MWT_RIGHTMULTIPLY = 3 } 466 - 467 -alias MWT_IDENTITY MWT_MIN; 468 -alias MWT_RIGHTMULTIPLY MWT_MAX; 469 - 470 -// #define _XFORM_ 471 -struct tagXFORM { 472 - FLOAT eM11; 473 - FLOAT eM12; 474 - FLOAT eM21; 475 - FLOAT eM22; 476 - FLOAT eDx; 477 - FLOAT eDy; 478 -} 479 -alias tagXFORM XFORM; 480 -alias tagXFORM* PXFORM; 481 -alias tagXFORM* LPXFORM; 482 - 483 -struct tagBITMAP { 484 - LONG bmType; 485 - LONG bmWidth; 486 - LONG bmHeight; 487 - LONG bmWidthBytes; 488 - WORD bmPlanes; 489 - WORD bmBitsPixel; 490 - LPVOID bmBits; 491 -} 492 -alias tagBITMAP BITMAP; 493 -alias tagBITMAP* PBITMAP; 494 -alias tagBITMAP* NPBITMAP; 495 -alias tagBITMAP* LPBITMAP; 496 - 497 -align(1): 498 -struct tagRGBTRIPLE { 499 - BYTE rgbtBlue; 500 - BYTE rgbtGreen; 501 - BYTE rgbtRed; 502 -} 503 -alias tagRGBTRIPLE RGBTRIPLE; 504 - 505 -align: 506 - 507 -struct tagRGBQUAD { 508 - BYTE rgbBlue; 509 - BYTE rgbGreen; 510 - BYTE rgbRed; 511 - BYTE rgbReserved; 512 -} 513 -alias tagRGBQUAD RGBQUAD; 514 - 515 -alias RGBQUAD* LPRGBQUAD; 516 - 517 -// #if(WINVER >= 0x0400) 518 - 519 -enum : uint { CS_ENABLE = 0x00000001 } 520 -enum : uint { CS_DISABLE = 0x00000002 } 521 -enum : uint { CS_DELETE_TRANSFORM = 0x00000003 } 522 - 523 -// #define LCS_SIGNATURE 'PSOC' 524 - 525 -// #define LCS_sRGB 'sRGB' 526 -// #define LCS_WINDOWS_COLOR_SPACE 'Win ' 527 - 528 -alias LONG LCSCSTYPE; 529 -enum : uint { LCS_CALIBRATED_RGB = 0x00000000 } 530 - 531 -alias LONG LCSGAMUTMATCH; 532 -enum : uint { LCS_GM_BUSINESS = 0x00000001 } 533 -enum : uint { LCS_GM_GRAPHICS = 0x00000002 } 534 -enum : uint { LCS_GM_IMAGES = 0x00000004 } 535 -enum : uint { LCS_GM_ABS_COLORIMETRIC = 0x00000008 } 536 - 537 -enum : uint { CM_OUT_OF_GAMUT = 255 } 538 -enum : uint { CM_IN_GAMUT = 0 } 539 - 540 -enum : uint { ICM_ADDPROFILE = 1 } 541 -enum : uint { ICM_DELETEPROFILE = 2 } 542 -enum : uint { ICM_QUERYPROFILE = 3 } 543 -enum : uint { ICM_SETDEFAULTPROFILE = 4 } 544 -enum : uint { ICM_REGISTERICMATCHER = 5 } 545 -enum : uint { ICM_UNREGISTERICMATCHER = 6 } 546 -enum : uint { ICM_QUERYMATCH = 7 } 547 - 548 -BYTE GetKValue(DWORD cmyk){ return cast(BYTE)cmyk; } 549 -BYTE GetYValue(DWORD cmyk){ return cast(BYTE)(cmyk >>> 8); } 550 -BYTE GetMValue(DWORD cmyk){ return cast(BYTE)(cmyk >>> 16); } 551 -BYTE GetCValue(DWORD cmyk){ return cast(BYTE)(cmyk >>> 24); } 552 - 553 -DWORD CMYK(BYTE c, BYTE m, BYTE y, BYTE k){ return (cast(COLORREF)(((cast(BYTE)(k)|(cast(WORD)(cast(BYTE)(y))<<8))|((cast(DWORD)cast(BYTE)(m))<<16))|((cast(DWORD)cast(BYTE)(c))<<24))); } 554 - 555 -alias int FXPT16DOT16; 556 -alias int* LPFXPT16DOT16; 557 -alias int FXPT2DOT30; 558 -alias int* LPFXPT2DOT30; 559 - 560 -struct tagCIEXYZ { 561 - FXPT2DOT30 ciexyzX; 562 - FXPT2DOT30 ciexyzY; 563 - FXPT2DOT30 ciexyzZ; 564 -} 565 -alias tagCIEXYZ CIEXYZ; 566 - 567 -alias CIEXYZ* LPCIEXYZ; 568 - 569 -struct tagICEXYZTRIPLE { 570 - CIEXYZ ciexyzRed; 571 - CIEXYZ ciexyzGreen; 572 - CIEXYZ ciexyzBlue; 573 -} 574 -alias tagICEXYZTRIPLE CIEXYZTRIPLE; 575 - 576 -alias CIEXYZTRIPLE* LPCIEXYZTRIPLE; 577 - 578 -struct tagLOGCOLORSPACEA { 579 - DWORD lcsSignature; 580 - DWORD lcsVersion; 581 - DWORD lcsSize; 582 - LCSCSTYPE lcsCSType; 583 - LCSGAMUTMATCH lcsIntent; 584 - CIEXYZTRIPLE lcsEndpoints; 585 - DWORD lcsGammaRed; 586 - DWORD lcsGammaGreen; 587 - DWORD lcsGammaBlue; 588 - CHAR lcsFilename[MAX_PATH]; 589 -} 590 -alias tagLOGCOLORSPACEA LOGCOLORSPACEA; 591 -alias tagLOGCOLORSPACEA* LPLOGCOLORSPACEA; 592 - 593 -struct tagLOGCOLORSPACEW { 594 - DWORD lcsSignature; 595 - DWORD lcsVersion; 596 - DWORD lcsSize; 597 - LCSCSTYPE lcsCSType; 598 - LCSGAMUTMATCH lcsIntent; 599 - CIEXYZTRIPLE lcsEndpoints; 600 - DWORD lcsGammaRed; 601 - DWORD lcsGammaGreen; 602 - DWORD lcsGammaBlue; 603 - WCHAR lcsFilename[MAX_PATH]; 604 -} 605 -alias tagLOGCOLORSPACEW LOGCOLORSPACEW; 606 -alias tagLOGCOLORSPACEW* LPLOGCOLORSPACEW; 607 - 608 -// #ifdef UNICODE 609 -// ... 610 -// #else 611 -alias LOGCOLORSPACEA LOGCOLORSPACE; 612 -alias LPLOGCOLORSPACEA LPLOGCOLORSPACE; 613 -// #endif // UNICODE 614 - 615 -// #endif /* WINVER >= 0x0400 */ 616 - 617 -struct tagBITMAPCOREHEADER { 618 - DWORD bcSize; 619 - WORD bcWidth; 620 - WORD bcHeight; 621 - WORD bcPlanes; 622 - WORD bcBitCount; 623 -} 624 -alias tagBITMAPCOREHEADER BITMAPCOREHEADER; 625 -alias tagBITMAPCOREHEADER* LPBITMAPCOREHEADER; 626 -alias tagBITMAPCOREHEADER* PBITMAPCOREHEADER; 627 - 628 -struct tagBITMAPINFOHEADER { 629 - DWORD biSize; 630 - LONG biWidth; 631 - LONG biHeight; 632 - WORD biPlanes; 633 - WORD biBitCount; 634 - DWORD biCompression; 635 - DWORD biSizeImage; 636 - LONG biXPelsPerMeter; 637 - LONG biYPelsPerMeter; 638 - DWORD biClrUsed; 639 - DWORD biClrImportant; 640 -} 641 -alias tagBITMAPINFOHEADER BITMAPINFOHEADER; 642 -alias tagBITMAPINFOHEADER* LPBITMAPINFOHEADER; 643 -alias tagBITMAPINFOHEADER* PBITMAPINFOHEADER; 644 - 645 -// #if(WINVER >= 0x0400) 646 -struct _0 { 647 - DWORD bV4Size; 648 - LONG bV4Width; 649 - LONG bV4Height; 650 - WORD bV4Planes; 651 - WORD bV4BitCount; 652 - DWORD bV4V4Compression; 653 - DWORD bV4SizeImage; 654 - LONG bV4XPelsPerMeter; 655 - LONG bV4YPelsPerMeter; 656 - DWORD bV4ClrUsed; 657 - DWORD bV4ClrImportant; 658 - DWORD bV4RedMask; 659 - DWORD bV4GreenMask; 660 - DWORD bV4BlueMask; 661 - DWORD bV4AlphaMask; 662 - DWORD bV4CSType; 663 - CIEXYZTRIPLE bV4Endpoints; 664 - DWORD bV4GammaRed; 665 - DWORD bV4GammaGreen; 666 - DWORD bV4GammaBlue; 667 -} 668 -alias _0 BITMAPV4HEADER; 669 -alias _0* LPBITMAPV4HEADER; 670 -alias _0* PBITMAPV4HEADER; 671 - 672 -// #endif /* WINVER >= 0x0400 */ 673 - 674 -// #if (WINVER >= 0x0500) 675 -struct _1 { 676 - DWORD bV5Size; 677 - LONG bV5Width; 678 - LONG bV5Height; 679 - WORD bV5Planes; 680 - WORD bV5BitCount; 681 - DWORD bV5Compression; 682 - DWORD bV5SizeImage; 683 - LONG bV5XPelsPerMeter; 684 - LONG bV5YPelsPerMeter; 685 - DWORD bV5ClrUsed; 686 - DWORD bV5ClrImportant; 687 - DWORD bV5RedMask; 688 - DWORD bV5GreenMask; 689 - DWORD bV5BlueMask; 690 - DWORD bV5AlphaMask; 691 - DWORD bV5CSType; 692 - CIEXYZTRIPLE bV5Endpoints; 693 - DWORD bV5GammaRed; 694 - DWORD bV5GammaGreen; 695 - DWORD bV5GammaBlue; 696 - DWORD bV5Intent; 697 - DWORD bV5ProfileData; 698 - DWORD bV5ProfileSize; 699 - DWORD bV5Reserved; 700 -} 701 -alias _1 BITMAPV5HEADER; 702 -alias _1* LPBITMAPV5HEADER; 703 -alias _1* PBITMAPV5HEADER; 704 - 705 -// #define PROFILE_LINKED 'LINK' 706 -// #define PROFILE_EMBEDDED 'MBED' 707 -// #endif 708 - 709 -enum : uint { BI_RGB = 0 } 710 -enum : uint { BI_RLE8 = 1 } 711 -enum : uint { BI_RLE4 = 2 } 712 -enum : uint { BI_BITFIELDS = 3 } 713 -enum : uint { BI_JPEG = 4 } 714 -enum : uint { BI_PNG = 5 } 715 -// #if (_WIN32_WINNT >= 0x0400) 716 -// #endif 717 - 718 -struct tagBITMAPINFO { 719 - BITMAPINFOHEADER bmiHeader; 720 - RGBQUAD bmiColors[1]; 721 -} 722 -alias tagBITMAPINFO BITMAPINFO; 723 -alias tagBITMAPINFO* LPBITMAPINFO; 724 -alias tagBITMAPINFO* PBITMAPINFO; 725 - 726 -struct tagBITMAPCOREINFO { 727 - BITMAPCOREHEADER bmciHeader; 728 - RGBTRIPLE bmciColors[1]; 729 -} 730 -alias tagBITMAPCOREINFO BITMAPCOREINFO; 731 -alias tagBITMAPCOREINFO* LPBITMAPCOREINFO; 732 -alias tagBITMAPCOREINFO* PBITMAPCOREINFO; 733 - 734 -align(2): 735 -struct tagBITMAPFILEHEADER { 736 - WORD bfType; 737 - DWORD bfSize; 738 - WORD bfReserved1; 739 - WORD bfReserved2; 740 - DWORD bfOffBits; 741 -} 742 -alias tagBITMAPFILEHEADER BITMAPFILEHEADER; 743 -alias tagBITMAPFILEHEADER* LPBITMAPFILEHEADER; 744 -alias tagBITMAPFILEHEADER* PBITMAPFILEHEADER; 745 - 746 -align: 747 - 748 -// #define MAKEPOINTS(l) (*((POINTS FAR *)&(l))) 749 - 750 -// #if(WINVER >= 0x0400) 751 -// #ifndef NOFONTSIG 752 -struct tagFONTSIGNATURE { 753 - DWORD fsUsb[4]; 754 - DWORD fsCsb[2]; 755 -} 756 -alias tagFONTSIGNATURE FONTSIGNATURE; 757 -alias tagFONTSIGNATURE* PFONTSIGNATURE; 758 -alias tagFONTSIGNATURE* LPFONTSIGNATURE; 759 - 760 -struct tagCHARSETINFO { 761 - UINT ciCharset; 762 - UINT ciACP; 763 - FONTSIGNATURE fs; 764 -} 765 -alias tagCHARSETINFO CHARSETINFO; 766 -alias tagCHARSETINFO* PCHARSETINFO; 767 -alias tagCHARSETINFO* NPCHARSETINFO; 768 -alias tagCHARSETINFO* LPCHARSETINFO; 769 - 770 -enum : uint { TCI_SRCCHARSET = 1 } 771 -enum : uint { TCI_SRCCODEPAGE = 2 } 772 -enum : uint { TCI_SRCFONTSIG = 3 } 773 - 774 -struct tagLOCALESIGNATURE { 775 - DWORD lsUsb[4]; 776 - DWORD lsCsbDefault[2]; 777 - DWORD lsCsbSupported[2]; 778 -} 779 -alias tagLOCALESIGNATURE LOCALESIGNATURE; 780 -alias tagLOCALESIGNATURE* PLOCALESIGNATURE; 781 -alias tagLOCALESIGNATURE* LPLOCALESIGNATURE; 782 - 783 -// #endif 784 -// #endif /* WINVER >= 0x0400 */ 785 - 786 -// #ifndef NOMETAFILE 787 - 788 -struct tagHANDLETABLE { 789 - HGDIOBJ objectHandle[1]; 790 -} 791 -alias tagHANDLETABLE HANDLETABLE; 792 -alias tagHANDLETABLE* PHANDLETABLE; 793 -alias tagHANDLETABLE* LPHANDLETABLE; 794 - 795 -struct tagMETARECORD { 796 - DWORD rdSize; 797 - WORD rdFunction; 798 - WORD rdParm[1]; 799 -} 800 -alias tagMETARECORD METARECORD; 801 - 802 -alias tagMETARECORD* PMETARECORD; 803 -alias tagMETARECORD* LPMETARECORD; 804 - 805 -struct tagMETAFILEPICT { 806 - LONG mm; 807 - LONG xExt; 808 - LONG yExt; 809 - HMETAFILE hMF; 810 -} 811 -alias tagMETAFILEPICT METAFILEPICT; 812 -alias tagMETAFILEPICT* LPMETAFILEPICT; 813 - 814 -align(2): 815 -struct tagMETAHEADER { 816 - WORD mtType; 817 - WORD mtHeaderSize; 818 - WORD mtVersion; 819 - DWORD mtSize; 820 - WORD mtNoObjects; 821 - DWORD mtMaxRecord; 822 - WORD mtNoParameters; 823 -} 824 -alias tagMETAHEADER METAHEADER; 825 - 826 -alias tagMETAHEADER* PMETAHEADER; 827 -alias tagMETAHEADER* LPMETAHEADER; 828 - 829 -align: 830 - 831 -struct tagENHMETARECORD { 832 - DWORD iType; 833 - DWORD nSize; 834 - DWORD dParm[1]; 835 -} 836 -alias tagENHMETARECORD ENHMETARECORD; 837 -alias tagENHMETARECORD* PENHMETARECORD; 838 -alias tagENHMETARECORD* LPENHMETARECORD; 839 - 840 -struct tagENHMETAHEADER { 841 - DWORD iType; 842 - DWORD nSize; 843 - 844 - RECTL rclBounds; 845 - RECTL rclFrame; 846 - DWORD dSignature; 847 - DWORD nVersion; 848 - DWORD nBytes; 849 - DWORD nRecords; 850 - WORD nHandles; 851 - 852 - WORD sReserved; 853 - DWORD nDescription; 854 - 855 - DWORD offDescription; 856 - 857 - DWORD nPalEntries; 858 - SIZEL szlDevice; 859 - SIZEL szlMillimeters; 860 -// #if(WINVER >= 0x0400) 861 - DWORD cbPixelFormat; 862 - 863 - DWORD offPixelFormat; 864 - 865 - DWORD bOpenGL; 866 - 867 -// #endif /* WINVER >= 0x0400 */ 868 -// #if(WINVER >= 0x0500) 869 - SIZEL szlMicrometers; 870 -// #endif /* WINVER >= 0x0500 */ 871 - 872 -} 873 -alias tagENHMETAHEADER ENHMETAHEADER; 874 -alias tagENHMETAHEADER* PENHMETAHEADER; 875 -alias tagENHMETAHEADER* LPENHMETAHEADER; 876 - 877 -// #endif /* NOMETAFILE */ 878 - 879 -// #ifndef NOTEXTMETRIC 880 - 881 -enum : uint { TMPF_FIXED_PITCH = 0x01 } 882 -enum : uint { TMPF_VECTOR = 0x02 } 883 -enum : uint { TMPF_DEVICE = 0x08 } 884 -enum : uint { TMPF_TRUETYPE = 0x04 } 885 - 886 -// #ifdef UNICODE 887 -// ... 888 -// #else 889 -alias BYTE BCHAR; 890 -// #endif 891 - 892 -// #ifndef _TEXTMETRIC_DEFINED 893 -// #define _TEXTMETRIC_DEFINED 894 -struct tagTEXTMETRICA { 895 - LONG tmHeight; 896 - LONG tmAscent; 897 - LONG tmDescent; 898 - LONG tmInternalLeading; 899 - LONG tmExternalLeading; 900 - LONG tmAveCharWidth; 901 - LONG tmMaxCharWidth; 902 - LONG tmWeight; 903 - LONG tmOverhang; 904 - LONG tmDigitizedAspectX; 905 - LONG tmDigitizedAspectY; 906 - BYTE tmFirstChar; 907 - BYTE tmLastChar; 908 - BYTE tmDefaultChar; 909 - BYTE tmBreakChar; 910 - BYTE tmItalic; 911 - BYTE tmUnderlined; 912 - BYTE tmStruckOut; 913 - BYTE tmPitchAndFamily; 914 - BYTE tmCharSet; 915 -} 916 -alias tagTEXTMETRICA TEXTMETRICA; 917 -alias tagTEXTMETRICA* PTEXTMETRICA; 918 -alias tagTEXTMETRICA* NPTEXTMETRICA; 919 -alias tagTEXTMETRICA* LPTEXTMETRICA; 920 - 921 -struct tagTEXTMETRICW { 922 - LONG tmHeight; 923 - LONG tmAscent; 924 - LONG tmDescent; 925 - LONG tmInternalLeading; 926 - LONG tmExternalLeading; 927 - LONG tmAveCharWidth; 928 - LONG tmMaxCharWidth; 929 - LONG tmWeight; 930 - LONG tmOverhang; 931 - LONG tmDigitizedAspectX; 932 - LONG tmDigitizedAspectY; 933 - WCHAR tmFirstChar; 934 - WCHAR tmLastChar; 935 - WCHAR tmDefaultChar; 936 - WCHAR tmBreakChar; 937 - BYTE tmItalic; 938 - BYTE tmUnderlined; 939 - BYTE tmStruckOut; 940 - BYTE tmPitchAndFamily; 941 - BYTE tmCharSet; 942 -} 943 -alias tagTEXTMETRICW TEXTMETRICW; 944 -alias tagTEXTMETRICW* PTEXTMETRICW; 945 -alias tagTEXTMETRICW* NPTEXTMETRICW; 946 -alias tagTEXTMETRICW* LPTEXTMETRICW; 947 - 948 -// #ifdef UNICODE 949 -// ... 950 -// #else 951 -alias TEXTMETRICA TEXTMETRIC; 952 -alias PTEXTMETRICA PTEXTMETRIC; 953 -alias NPTEXTMETRICA NPTEXTMETRIC; 954 -alias LPTEXTMETRICA LPTEXTMETRIC; 955 -// #endif // UNICODE 956 -// #endif // !_TEXTMETRIC_DEFINED 957 - 958 -enum : uint { NTM_REGULAR = 0x00000040 } 959 -enum : uint { NTM_BOLD = 0x00000020 } 960 -enum : uint { NTM_ITALIC = 0x00000001 } 961 - 962 -enum : uint { NTM_NONNEGATIVE_AC = 0x00010000 } 963 -enum : uint { NTM_PS_OPENTYPE = 0x00020000 } 964 -enum : uint { NTM_TT_OPENTYPE = 0x00040000 } 965 -enum : uint { NTM_MULTIPLEMASTER = 0x00080000 } 966 -enum : uint { NTM_TYPE1 = 0x00100000 } 967 -enum : uint { NTM_DSIG = 0x00200000 } 968 - 969 -align(4): 970 -struct tagNEWTEXTMETRICA { 971 - LONG tmHeight; 972 - LONG tmAscent; 973 - LONG tmDescent; 974 - LONG tmInternalLeading; 975 - LONG tmExternalLeading; 976 - LONG tmAveCharWidth; 977 - LONG tmMaxCharWidth; 978 - LONG tmWeight; 979 - LONG tmOverhang; 980 - LONG tmDigitizedAspectX; 981 - LONG tmDigitizedAspectY; 982 - BYTE tmFirstChar; 983 - BYTE tmLastChar; 984 - BYTE tmDefaultChar; 985 - BYTE tmBreakChar; 986 - BYTE tmItalic; 987 - BYTE tmUnderlined; 988 - BYTE tmStruckOut; 989 - BYTE tmPitchAndFamily; 990 - BYTE tmCharSet; 991 - DWORD ntmFlags; 992 - UINT ntmSizeEM; 993 - UINT ntmCellHeight; 994 - UINT ntmAvgWidth; 995 -} 996 -alias tagNEWTEXTMETRICA NEWTEXTMETRICA; 997 -alias tagNEWTEXTMETRICA* PNEWTEXTMETRICA; 998 -alias tagNEWTEXTMETRICA* NPNEWTEXTMETRICA; 999 -alias tagNEWTEXTMETRICA* LPNEWTEXTMETRICA; 1000 - 1001 -struct tagNEWTEXTMETRICW { 1002 - LONG tmHeight; 1003 - LONG tmAscent; 1004 - LONG tmDescent; 1005 - LONG tmInternalLeading; 1006 - LONG tmExternalLeading; 1007 - LONG tmAveCharWidth; 1008 - LONG tmMaxCharWidth; 1009 - LONG tmWeight; 1010 - LONG tmOverhang; 1011 - LONG tmDigitizedAspectX; 1012 - LONG tmDigitizedAspectY; 1013 - WCHAR tmFirstChar; 1014 - WCHAR tmLastChar; 1015 - WCHAR tmDefaultChar; 1016 - WCHAR tmBreakChar; 1017 - BYTE tmItalic; 1018 - BYTE tmUnderlined; 1019 - BYTE tmStruckOut; 1020 - BYTE tmPitchAndFamily; 1021 - BYTE tmCharSet; 1022 - DWORD ntmFlags; 1023 - UINT ntmSizeEM; 1024 - UINT ntmCellHeight; 1025 - UINT ntmAvgWidth; 1026 -} 1027 -alias tagNEWTEXTMETRICW NEWTEXTMETRICW; 1028 -alias tagNEWTEXTMETRICW* PNEWTEXTMETRICW; 1029 -alias tagNEWTEXTMETRICW* NPNEWTEXTMETRICW; 1030 -alias tagNEWTEXTMETRICW* LPNEWTEXTMETRICW; 1031 - 1032 -// #ifdef UNICODE 1033 -// ... 1034 -// #else 1035 -alias NEWTEXTMETRICA NEWTEXTMETRIC; 1036 -alias PNEWTEXTMETRICA PNEWTEXTMETRIC; 1037 -alias NPNEWTEXTMETRICA NPNEWTEXTMETRIC; 1038 -alias LPNEWTEXTMETRICA LPNEWTEXTMETRIC; 1039 -// #endif // UNICODE 1040 -align: 1041 - 1042 -// #if(WINVER >= 0x0400) 1043 -struct tagNEWTEXTMETRICEXA { 1044 - NEWTEXTMETRICA ntmTm; 1045 - FONTSIGNATURE ntmFontSig; 1046 -} 1047 -alias tagNEWTEXTMETRICEXA NEWTEXTMETRICEXA; 1048 - 1049 -struct tagNEWTEXTMETRICEXW { 1050 - NEWTEXTMETRICW ntmTm; 1051 - FONTSIGNATURE ntmFontSig; 1052 -} 1053 -alias tagNEWTEXTMETRICEXW NEWTEXTMETRICEXW; 1054 - 1055 -// #ifdef UNICODE 1056 -// ... 1057 -// #else 1058 -alias NEWTEXTMETRICEXA NEWTEXTMETRICEX; 1059 -// #endif // UNICODE 1060 -// #endif /* WINVER >= 0x0400 */ 1061 - 1062 -// #endif /* NOTEXTMETRIC */ 1063 - 1064 -struct tagPELARRAY { 1065 - LONG paXCount; 1066 - LONG paYCount; 1067 - LONG paXExt; 1068 - LONG paYExt; 1069 - BYTE paRGBs; 1070 -} 1071 -alias tagPELARRAY PELARRAY; 1072 -alias tagPELARRAY* PPELARRAY; 1073 -alias tagPELARRAY* NPPELARRAY; 1074 -alias tagPELARRAY* LPPELARRAY; 1075 - 1076 -struct tagLOGBRUSH { 1077 - UINT lbStyle; 1078 - COLORREF lbColor; 1079 - ULONG_PTR lbHatch; 1080 -} 1081 -alias tagLOGBRUSH LOGBRUSH; 1082 -alias tagLOGBRUSH* PLOGBRUSH; 1083 -alias tagLOGBRUSH* NPLOGBRUSH; 1084 -alias tagLOGBRUSH* LPLOGBRUSH; 1085 - 1086 -struct tagLOGBRUSH32 { 1087 - UINT lbStyle; 1088 - COLORREF lbColor; 1089 - ULONG lbHatch; 1090 -} 1091 -alias tagLOGBRUSH32 LOGBRUSH32; 1092 -alias tagLOGBRUSH32* PLOGBRUSH32; 1093 -alias tagLOGBRUSH32* NPLOGBRUSH32; 1094 -alias tagLOGBRUSH32* LPLOGBRUSH32; 1095 - 1096 -alias LOGBRUSH PATTERN; 1097 -alias PATTERN* PPATTERN; 1098 -alias PATTERN* NPPATTERN; 1099 -alias PATTERN* LPPATTERN; 1100 - 1101 -struct tagLOGPEN { 1102 - UINT lopnStyle; 1103 - POINT lopnWidth; 1104 - COLORREF lopnColor; 1105 -} 1106 -alias tagLOGPEN LOGPEN; 1107 -alias tagLOGPEN* PLOGPEN; 1108 -alias tagLOGPEN* NPLOGPEN; 1109 -alias tagLOGPEN* LPLOGPEN; 1110 - 1111 -struct tagEXTLOGPEN { 1112 - DWORD elpPenStyle; 1113 - DWORD elpWidth; 1114 - UINT elpBrushStyle; 1115 - COLORREF elpColor; 1116 - ULONG_PTR elpHatch; 1117 - DWORD elpNumEntries; 1118 - DWORD elpStyleEntry[1]; 1119 -} 1120 -alias tagEXTLOGPEN EXTLOGPEN; 1121 -alias tagEXTLOGPEN* PEXTLOGPEN; 1122 -alias tagEXTLOGPEN* NPEXTLOGPEN; 1123 -alias tagEXTLOGPEN* LPEXTLOGPEN; 1124 - 1125 -// #ifndef _PALETTEENTRY_DEFINED 1126 -// #define _PALETTEENTRY_DEFINED 1127 -struct tagPALETTEENTRY { 1128 - BYTE peRed; 1129 - BYTE peGreen; 1130 - BYTE peBlue; 1131 - BYTE peFlags; 1132 -} 1133 -alias tagPALETTEENTRY PALETTEENTRY; 1134 -alias tagPALETTEENTRY* PPALETTEENTRY; 1135 -alias tagPALETTEENTRY* LPPALETTEENTRY; 1136 - 1137 -// #endif // !_PALETTEENTRY_DEFINED 1138 - 1139 -// #ifndef _LOGPALETTE_DEFINED 1140 -// #define _LOGPALETTE_DEFINED 1141 - 1142 -struct tagLOGPALETTE { 1143 - WORD palVersion; 1144 - WORD palNumEntries; 1145 - PALETTEENTRY palPalEntry[1]; 1146 -} 1147 -alias tagLOGPALETTE LOGPALETTE; 1148 -alias tagLOGPALETTE* PLOGPALETTE; 1149 -alias tagLOGPALETTE* NPLOGPALETTE; 1150 -alias tagLOGPALETTE* LPLOGPALETTE; 1151 - 1152 -// #endif // !_LOGPALETTE_DEFINED 1153 - 1154 -enum : uint { LF_FACESIZE = 32 } 1155 - 1156 -struct tagLOGFONTA { 1157 - LONG lfHeight; 1158 - LONG lfWidth; 1159 - LONG lfEscapement; 1160 - LONG lfOrientation; 1161 - LONG lfWeight; 1162 - BYTE lfItalic; 1163 - BYTE lfUnderline; 1164 - BYTE lfStrikeOut; 1165 - BYTE lfCharSet; 1166 - BYTE lfOutPrecision; 1167 - BYTE lfClipPrecision; 1168 - BYTE lfQuality; 1169 - BYTE lfPitchAndFamily; 1170 - CHAR lfFaceName[LF_FACESIZE]; 1171 -} 1172 -alias tagLOGFONTA LOGFONTA; 1173 -alias tagLOGFONTA* PLOGFONTA; 1174 -alias tagLOGFONTA* NPLOGFONTA; 1175 -alias tagLOGFONTA* LPLOGFONTA; 1176 - 1177 -struct tagLOGFONTW { 1178 - LONG lfHeight; 1179 - LONG lfWidth; 1180 - LONG lfEscapement; 1181 - LONG lfOrientation; 1182 - LONG lfWeight; 1183 - BYTE lfItalic; 1184 - BYTE lfUnderline; 1185 - BYTE lfStrikeOut; 1186 - BYTE lfCharSet; 1187 - BYTE lfOutPrecision; 1188 - BYTE lfClipPrecision; 1189 - BYTE lfQuality; 1190 - BYTE lfPitchAndFamily; 1191 - WCHAR lfFaceName[LF_FACESIZE]; 1192 -} 1193 -alias tagLOGFONTW LOGFONTW; 1194 -alias tagLOGFONTW* PLOGFONTW; 1195 -alias tagLOGFONTW* NPLOGFONTW; 1196 -alias tagLOGFONTW* LPLOGFONTW; 1197 - 1198 -// #ifdef UNICODE 1199 -// ... 1200 -// #else 1201 -alias LOGFONTA LOGFONT; 1202 -alias PLOGFONTA PLOGFONT; 1203 -alias NPLOGFONTA NPLOGFONT; 1204 -alias LPLOGFONTA LPLOGFONT; 1205 -// #endif // UNICODE 1206 - 1207 -enum : uint { LF_FULLFACESIZE = 64 } 1208 - 1209 -struct tagENUMLOGFONTA { 1210 - LOGFONTA elfLogFont; 1211 - BYTE elfFullName[LF_FULLFACESIZE]; 1212 - BYTE elfStyle[LF_FACESIZE]; 1213 -} 1214 -alias tagENUMLOGFONTA ENUMLOGFONTA; 1215 -alias tagENUMLOGFONTA* LPENUMLOGFONTA; 1216 - 1217 -struct tagENUMLOGFONTW { 1218 - LOGFONTW elfLogFont; 1219 - WCHAR elfFullName[LF_FULLFACESIZE]; 1220 - WCHAR elfStyle[LF_FACESIZE]; 1221 -} 1222 -alias tagENUMLOGFONTW ENUMLOGFONTW; 1223 -alias tagENUMLOGFONTW* LPENUMLOGFONTW; 1224 - 1225 -// #ifdef UNICODE 1226 -// ... 1227 -// #else 1228 -alias ENUMLOGFONTA ENUMLOGFONT; 1229 -alias LPENUMLOGFONTA LPENUMLOGFONT; 1230 -// #endif // UNICODE 1231 - 1232 -// #if(WINVER >= 0x0400) 1233 -struct tagENUMLOGFONTEXA { 1234 - LOGFONTA elfLogFont; 1235 - BYTE elfFullName[LF_FULLFACESIZE]; 1236 - BYTE elfStyle[LF_FACESIZE]; 1237 - BYTE elfScript[LF_FACESIZE]; 1238 -} 1239 -alias tagENUMLOGFONTEXA ENUMLOGFONTEXA; 1240 -alias tagENUMLOGFONTEXA* LPENUMLOGFONTEXA; 1241 - 1242 -struct tagENUMLOGFONTEXW { 1243 - LOGFONTW elfLogFont; 1244 - WCHAR elfFullName[LF_FULLFACESIZE]; 1245 - WCHAR elfStyle[LF_FACESIZE]; 1246 - WCHAR elfScript[LF_FACESIZE]; 1247 -} 1248 -alias tagENUMLOGFONTEXW ENUMLOGFONTEXW; 1249 -alias tagENUMLOGFONTEXW* LPENUMLOGFONTEXW; 1250 - 1251 -// #ifdef UNICODE 1252 -// ... 1253 -// #else 1254 -alias ENUMLOGFONTEXA ENUMLOGFONTEX; 1255 -alias LPENUMLOGFONTEXA LPENUMLOGFONTEX; 1256 -// #endif // UNICODE 1257 -// #endif /* WINVER >= 0x0400 */ 1258 - 1259 -enum : uint { OUT_DEFAULT_PRECIS = 0 } 1260 -enum : uint { OUT_STRING_PRECIS = 1 } 1261 -enum : uint { OUT_CHARACTER_PRECIS = 2 } 1262 -enum : uint { OUT_STROKE_PRECIS = 3 } 1263 -enum : uint { OUT_TT_PRECIS = 4 } 1264 -enum : uint { OUT_DEVICE_PRECIS = 5 } 1265 -enum : uint { OUT_RASTER_PRECIS = 6 } 1266 -enum : uint { OUT_TT_ONLY_PRECIS = 7 } 1267 -enum : uint { OUT_OUTLINE_PRECIS = 8 } 1268 -enum : uint { OUT_SCREEN_OUTLINE_PRECIS = 9 } 1269 -enum : uint { OUT_PS_ONLY_PRECIS = 10 } 1270 - 1271 -enum : uint { CLIP_DEFAULT_PRECIS = 0 } 1272 -enum : uint { CLIP_CHARACTER_PRECIS = 1 } 1273 -enum : uint { CLIP_STROKE_PRECIS = 2 } 1274 -enum : uint { CLIP_MASK = 0xf } 1275 -enum : uint { CLIP_LH_ANGLES = 1<<4 } 1276 -enum : uint { CLIP_TT_ALWAYS = 2<<4 } 1277 -enum : uint { CLIP_EMBEDDED = 8<<4 } 1278 - 1279 -enum : uint { DEFAULT_QUALITY = 0 } 1280 -enum : uint { DRAFT_QUALITY = 1 } 1281 -enum : uint { PROOF_QUALITY = 2 } 1282 -// #if(WINVER >= 0x0400) 1283 -enum : uint { NONANTIALIASED_QUALITY = 3 } 1284 -enum : uint { ANTIALIASED_QUALITY = 4 } 1285 -// #endif /* WINVER >= 0x0400 */ 1286 - 1287 -// #if (_WIN32_WINNT >= 0x0500) 1288 -enum : uint { CLEARTYPE_QUALITY = 5 } 1289 -// #endif 1290 - 1291 -enum : uint { DEFAULT_PITCH = 0 } 1292 -enum : uint { FIXED_PITCH = 1 } 1293 -enum : uint { VARIABLE_PITCH = 2 } 1294 -// #if(WINVER >= 0x0400) 1295 -enum : uint { MONO_FONT = 8 } 1296 -// #endif /* WINVER >= 0x0400 */ 1297 - 1298 -enum : uint { ANSI_CHARSET = 0 } 1299 -enum : uint { DEFAULT_CHARSET = 1 } 1300 -enum : uint { SYMBOL_CHARSET = 2 } 1301 -enum : uint { SHIFTJIS_CHARSET = 128 } 1302 -enum : uint { HANGEUL_CHARSET = 129 } 1303 -enum : uint { HANGUL_CHARSET = 129 } 1304 -enum : uint { GB2312_CHARSET = 134 } 1305 -enum : uint { CHINESEBIG5_CHARSET = 136 } 1306 -enum : uint { OEM_CHARSET = 255 } 1307 -// #if(WINVER >= 0x0400) 1308 -enum : uint { JOHAB_CHARSET = 130 } 1309 -enum : uint { HEBREW_CHARSET = 177 } 1310 -enum : uint { ARABIC_CHARSET = 178 } 1311 -enum : uint { GREEK_CHARSET = 161 } 1312 -enum : uint { TURKISH_CHARSET = 162 } 1313 -enum : uint { VIETNAMESE_CHARSET = 163 } 1314 -enum : uint { THAI_CHARSET = 222 } 1315 -enum : uint { EASTEUROPE_CHARSET = 238 } 1316 -enum : uint { RUSSIAN_CHARSET = 204 } 1317 - 1318 -enum : uint { MAC_CHARSET = 77 } 1319 -enum : uint { BALTIC_CHARSET = 186 } 1320 - 1321 -enum : uint { FS_LATIN1 = 0x00000001 } 1322 -enum : uint { FS_LATIN2 = 0x00000002 } 1323 -enum : uint { FS_CYRILLIC = 0x00000004 } 1324 -enum : uint { FS_GREEK = 0x00000008 } 1325 -enum : uint { FS_TURKISH = 0x00000010 } 1326 -enum : uint { FS_HEBREW = 0x00000020 } 1327 -enum : uint { FS_ARABIC = 0x00000040 } 1328 -enum : uint { FS_BALTIC = 0x00000080 } 1329 -enum : uint { FS_VIETNAMESE = 0x00000100 } 1330 -enum : uint { FS_THAI = 0x00010000 } 1331 -enum : uint { FS_JISJAPAN = 0x00020000 } 1332 -enum : uint { FS_CHINESESIMP = 0x00040000 } 1333 -enum : uint { FS_WANSUNG = 0x00080000 } 1334 -enum : uint { FS_CHINESETRAD = 0x00100000 } 1335 -enum : uint { FS_JOHAB = 0x00200000 } 1336 -enum : uint { FS_SYMBOL = 0x80000000 } 1337 -// #endif /* WINVER >= 0x0400 */ 1338 - 1339 -enum : uint { FF_DONTCARE = 0<<4 } 1340 -enum : uint { FF_ROMAN = 1<<4 } 1341 - 1342 -enum : uint { FF_SWISS = 2<<4 } 1343 - 1344 -enum : uint { FF_MODERN = 3<<4 } 1345 - 1346 -enum : uint { FF_SCRIPT = 4<<4 } 1347 -enum : uint { FF_DECORATIVE = 5<<4 } 1348 - 1349 -enum : uint { FW_DONTCARE = 0 } 1350 -enum : uint { FW_THIN = 100 } 1351 -enum : uint { FW_EXTRALIGHT = 200 } 1352 -enum : uint { FW_LIGHT = 300 } 1353 -enum : uint { FW_NORMAL = 400 } 1354 -enum : uint { FW_MEDIUM = 500 } 1355 -enum : uint { FW_SEMIBOLD = 600 } 1356 -enum : uint { FW_BOLD = 700 } 1357 -enum : uint { FW_EXTRABOLD = 800 } 1358 -enum : uint { FW_HEAVY = 900 } 1359 - 1360 -alias FW_EXTRALIGHT FW_ULTRALIGHT; 1361 -alias FW_NORMAL FW_REGULAR; 1362 -alias FW_SEMIBOLD FW_DEMIBOLD; 1363 -alias FW_EXTRABOLD FW_ULTRABOLD; 1364 -alias FW_HEAVY FW_BLACK; 1365 - 1366 -enum : uint { PANOSE_COUNT = 10 } 1367 -enum : uint { PAN_FAMILYTYPE_INDEX = 0 } 1368 -enum : uint { PAN_SERIFSTYLE_INDEX = 1 } 1369 -enum : uint { PAN_WEIGHT_INDEX = 2 } 1370 -enum : uint { PAN_PROPORTION_INDEX = 3 } 1371 -enum : uint { PAN_CONTRAST_INDEX = 4 } 1372 -enum : uint { PAN_STROKEVARIATION_INDEX = 5 } 1373 -enum : uint { PAN_ARMSTYLE_INDEX = 6 } 1374 -enum : uint { PAN_LETTERFORM_INDEX = 7 } 1375 -enum : uint { PAN_MIDLINE_INDEX = 8 } 1376 -enum : uint { PAN_XHEIGHT_INDEX = 9 } 1377 - 1378 -enum : uint { PAN_CULTURE_LATIN = 0 } 1379 - 1380 -struct tagPANOSE { 1381 - BYTE bFamilyType; 1382 - BYTE bSerifStyle; 1383 - BYTE bWeight; 1384 - BYTE bProportion; 1385 - BYTE bContrast; 1386 - BYTE bStrokeVariation; 1387 - BYTE bArmStyle; 1388 - BYTE bLetterform; 1389 - BYTE bMidline; 1390 - BYTE bXHeight; 1391 -} 1392 -alias tagPANOSE PANOSE; 1393 -alias tagPANOSE* LPPANOSE; 1394 - 1395 -enum : uint { PAN_ANY = 0 } 1396 -enum : uint { PAN_NO_FIT = 1 } 1397 - 1398 -enum : uint { PAN_FAMILY_TEXT_DISPLAY = 2 } 1399 -enum : uint { PAN_FAMILY_SCRIPT = 3 } 1400 -enum : uint { PAN_FAMILY_DECORATIVE = 4 } 1401 -enum : uint { PAN_FAMILY_PICTORIAL = 5 } 1402 - 1403 -enum : uint { PAN_SERIF_COVE = 2 } 1404 -enum : uint { PAN_SERIF_OBTUSE_COVE = 3 } 1405 -enum : uint { PAN_SERIF_SQUARE_COVE = 4 } 1406 -enum : uint { PAN_SERIF_OBTUSE_SQUARE_COVE = 5 } 1407 -enum : uint { PAN_SERIF_SQUARE = 6 } 1408 -enum : uint { PAN_SERIF_THIN = 7 } 1409 -enum : uint { PAN_SERIF_BONE = 8 } 1410 -enum : uint { PAN_SERIF_EXAGGERATED = 9 } 1411 -enum : uint { PAN_SERIF_TRIANGLE = 10 } 1412 -enum : uint { PAN_SERIF_NORMAL_SANS = 11 } 1413 -enum : uint { PAN_SERIF_OBTUSE_SANS = 12 } 1414 -enum : uint { PAN_SERIF_PERP_SANS = 13 } 1415 -enum : uint { PAN_SERIF_FLARED = 14 } 1416 -enum : uint { PAN_SERIF_ROUNDED = 15 } 1417 - 1418 -enum : uint { PAN_WEIGHT_VERY_LIGHT = 2 } 1419 -enum : uint { PAN_WEIGHT_LIGHT = 3 } 1420 -enum : uint { PAN_WEIGHT_THIN = 4 } 1421 -enum : uint { PAN_WEIGHT_BOOK = 5 } 1422 -enum : uint { PAN_WEIGHT_MEDIUM = 6 } 1423 -enum : uint { PAN_WEIGHT_DEMI = 7 } 1424 -enum : uint { PAN_WEIGHT_BOLD = 8 } 1425 -enum : uint { PAN_WEIGHT_HEAVY = 9 } 1426 -enum : uint { PAN_WEIGHT_BLACK = 10 } 1427 -enum : uint { PAN_WEIGHT_NORD = 11 } 1428 - 1429 -enum : uint { PAN_PROP_OLD_STYLE = 2 } 1430 -enum : uint { PAN_PROP_MODERN = 3 } 1431 -enum : uint { PAN_PROP_EVEN_WIDTH = 4 } 1432 -enum : uint { PAN_PROP_EXPANDED = 5 } 1433 -enum : uint { PAN_PROP_CONDENSED = 6 } 1434 -enum : uint { PAN_PROP_VERY_EXPANDED = 7 } 1435 -enum : uint { PAN_PROP_VERY_CONDENSED = 8 } 1436 -enum : uint { PAN_PROP_MONOSPACED = 9 } 1437 - 1438 -enum : uint { PAN_CONTRAST_NONE = 2 } 1439 -enum : uint { PAN_CONTRAST_VERY_LOW = 3 } 1440 -enum : uint { PAN_CONTRAST_LOW = 4 } 1441 -enum : uint { PAN_CONTRAST_MEDIUM_LOW = 5 } 1442 -enum : uint { PAN_CONTRAST_MEDIUM = 6 } 1443 -enum : uint { PAN_CONTRAST_MEDIUM_HIGH = 7 } 1444 -enum : uint { PAN_CONTRAST_HIGH = 8 } 1445 -enum : uint { PAN_CONTRAST_VERY_HIGH = 9 } 1446 - 1447 -enum : uint { PAN_STROKE_GRADUAL_DIAG = 2 } 1448 -enum : uint { PAN_STROKE_GRADUAL_TRAN = 3 } 1449 -enum : uint { PAN_STROKE_GRADUAL_VERT = 4 } 1450 -enum : uint { PAN_STROKE_GRADUAL_HORZ = 5 } 1451 -enum : uint { PAN_STROKE_RAPID_VERT = 6 } 1452 -enum : uint { PAN_STROKE_RAPID_HORZ = 7 } 1453 -enum : uint { PAN_STROKE_INSTANT_VERT = 8 } 1454 - 1455 -enum : uint { PAN_STRAIGHT_ARMS_HORZ = 2 } 1456 -enum : uint { PAN_STRAIGHT_ARMS_WEDGE = 3 } 1457 -enum : uint { PAN_STRAIGHT_ARMS_VERT = 4 } 1458 -enum : uint { PAN_STRAIGHT_ARMS_SINGLE_SERIF = 5 } 1459 -enum : uint { PAN_STRAIGHT_ARMS_DOUBLE_SERIF = 6 } 1460 -enum : uint { PAN_BENT_ARMS_HORZ = 7 } 1461 -enum : uint { PAN_BENT_ARMS_WEDGE = 8 } 1462 -enum : uint { PAN_BENT_ARMS_VERT = 9 } 1463 -enum : uint { PAN_BENT_ARMS_SINGLE_SERIF = 10 } 1464 -enum : uint { PAN_BENT_ARMS_DOUBLE_SERIF = 11 } 1465 - 1466 -enum : uint { PAN_LETT_NORMAL_CONTACT = 2 } 1467 -enum : uint { PAN_LETT_NORMAL_WEIGHTED = 3 } 1468 -enum : uint { PAN_LETT_NORMAL_BOXED = 4 } 1469 -enum : uint { PAN_LETT_NORMAL_FLATTENED = 5 } 1470 -enum : uint { PAN_LETT_NORMAL_ROUNDED = 6 } 1471 -enum : uint { PAN_LETT_NORMAL_OFF_CENTER = 7 } 1472 -enum : uint { PAN_LETT_NORMAL_SQUARE = 8 } 1473 -enum : uint { PAN_LETT_OBLIQUE_CONTACT = 9 } 1474 -enum : uint { PAN_LETT_OBLIQUE_WEIGHTED = 10 } 1475 -enum : uint { PAN_LETT_OBLIQUE_BOXED = 11 } 1476 -enum : uint { PAN_LETT_OBLIQUE_FLATTENED = 12 } 1477 -enum : uint { PAN_LETT_OBLIQUE_ROUNDED = 13 } 1478 -enum : uint { PAN_LETT_OBLIQUE_OFF_CENTER = 14 } 1479 -enum : uint { PAN_LETT_OBLIQUE_SQUARE = 15 } 1480 - 1481 -enum : uint { PAN_MIDLINE_STANDARD_TRIMMED = 2 } 1482 -enum : uint { PAN_MIDLINE_STANDARD_POINTED = 3 } 1483 -enum : uint { PAN_MIDLINE_STANDARD_SERIFED = 4 } 1484 -enum : uint { PAN_MIDLINE_HIGH_TRIMMED = 5 } 1485 -enum : uint { PAN_MIDLINE_HIGH_POINTED = 6 } 1486 -enum : uint { PAN_MIDLINE_HIGH_SERIFED = 7 } 1487 -enum : uint { PAN_MIDLINE_CONSTANT_TRIMMED = 8 } 1488 -enum : uint { PAN_MIDLINE_CONSTANT_POINTED = 9 } 1489 -enum : uint { PAN_MIDLINE_CONSTANT_SERIFED = 10 } 1490 -enum : uint { PAN_MIDLINE_LOW_TRIMMED = 11 } 1491 -enum : uint { PAN_MIDLINE_LOW_POINTED = 12 } 1492 -enum : uint { PAN_MIDLINE_LOW_SERIFED = 13 } 1493 - 1494 -enum : uint { PAN_XHEIGHT_CONSTANT_SMALL = 2 } 1495 -enum : uint { PAN_XHEIGHT_CONSTANT_STD = 3 } 1496 -enum : uint { PAN_XHEIGHT_CONSTANT_LARGE = 4 } 1497 -enum : uint { PAN_XHEIGHT_DUCKING_SMALL = 5 } 1498 -enum : uint { PAN_XHEIGHT_DUCKING_STD = 6 } 1499 -enum : uint { PAN_XHEIGHT_DUCKING_LARGE = 7 } 1500 - 1501 -enum : uint { ELF_VENDOR_SIZE = 4 } 1502 - 1503 -struct tagEXTLOGFONTA { 1504 - LOGFONTA elfLogFont; 1505 - BYTE elfFullName[LF_FULLFACESIZE]; 1506 - BYTE elfStyle[LF_FACESIZE]; 1507 - DWORD elfVersion; 1508 - DWORD elfStyleSize; 1509 - DWORD elfMatch; 1510 - DWORD elfReserved; 1511 - BYTE elfVendorId[ELF_VENDOR_SIZE]; 1512 - DWORD elfCulture; 1513 - PANOSE elfPanose; 1514 -} 1515 -alias tagEXTLOGFONTA EXTLOGFONTA; 1516 -alias tagEXTLOGFONTA* PEXTLOGFONTA; 1517 -alias tagEXTLOGFONTA* NPEXTLOGFONTA; 1518 -alias tagEXTLOGFONTA* LPEXTLOGFONTA; 1519 - 1520 -struct tagEXTLOGFONTW { 1521 - LOGFONTW elfLogFont; 1522 - WCHAR elfFullName[LF_FULLFACESIZE]; 1523 - WCHAR elfStyle[LF_FACESIZE]; 1524 - DWORD elfVersion; 1525 - DWORD elfStyleSize; 1526 - DWORD elfMatch; 1527 - DWORD elfReserved; 1528 - BYTE elfVendorId[ELF_VENDOR_SIZE]; 1529 - DWORD elfCulture; 1530 - PANOSE elfPanose; 1531 -} 1532 -alias tagEXTLOGFONTW EXTLOGFONTW; 1533 -alias tagEXTLOGFONTW* PEXTLOGFONTW; 1534 -alias tagEXTLOGFONTW* NPEXTLOGFONTW; 1535 -alias tagEXTLOGFONTW* LPEXTLOGFONTW; 1536 - 1537 -// #ifdef UNICODE 1538 -// ... 1539 -// #else 1540 -alias EXTLOGFONTA EXTLOGFONT; 1541 -alias PEXTLOGFONTA PEXTLOGFONT; 1542 -alias NPEXTLOGFONTA NPEXTLOGFONT; 1543 -alias LPEXTLOGFONTA LPEXTLOGFONT; 1544 -// #endif // UNICODE 1545 - 1546 -enum : uint { ELF_VERSION = 0 } 1547 -enum : uint { ELF_CULTURE_LATIN = 0 } 1548 - 1549 -enum : uint { RASTER_FONTTYPE = 0x0001 } 1550 -enum : uint { DEVICE_FONTTYPE = 0x002 } 1551 -enum : uint { TRUETYPE_FONTTYPE = 0x004 } 1552 - 1553 -COLORREF RGB(BYTE r, BYTE g, BYTE b){ return r|(g <<8)|(b << 16); } 1554 -COLORREF PALETTERGB(BYTE r, BYTE g, BYTE b){ return (0x02000000 | RGB(r,g,b)); } 1555 -COLORREF PALETTEINDEX(WORD i){ return (cast(COLORREF)(0x01000000 | cast(DWORD)cast(WORD)(i))); } 1556 - 1557 -enum : uint { PC_RESERVED = 0x01 } 1558 -enum : uint { PC_EXPLICIT = 0x02 } 1559 -enum : uint { PC_NOCOLLAPSE = 0x04 } 1560 - 1561 -BYTE GetRValue(COLORREF rgb){ return cast(BYTE)rgb; } 1562 -BYTE GetGValue(COLORREF rgb){ return cast(BYTE)(rgb >>> 8); } 1563 -BYTE GetBValue(COLORREF rgb){ return cast(BYTE)(rgb >>> 16); } 1564 - 1565 -enum : uint { TRANSPARENT = 1 } 1566 -enum : uint { OPAQUE = 2 } 1567 -enum : uint { BKMODE_LAST = 2 } 1568 - 1569 -enum : uint { GM_COMPATIBLE = 1 } 1570 -enum : uint { GM_ADVANCED = 2 } 1571 -enum : uint { GM_LAST = 2 } 1572 - 1573 -enum : uint { PT_CLOSEFIGURE = 0x01 } 1574 -enum : uint { PT_LINETO = 0x02 } 1575 -enum : uint { PT_BEZIERTO = 0x04 } 1576 -enum : uint { PT_MOVETO = 0x06 } 1577 - 1578 -enum : uint { MM_TEXT = 1 } 1579 -enum : uint { MM_LOMETRIC = 2 } 1580 -enum : uint { MM_HIMETRIC = 3 } 1581 -enum : uint { MM_LOENGLISH = 4 } 1582 -enum : uint { MM_HIENGLISH = 5 } 1583 -enum : uint { MM_TWIPS = 6 } 1584 -enum : uint { MM_ISOTROPIC = 7 } 1585 -enum : uint { MM_ANISOTROPIC = 8 } 1586 - 1587 -alias MM_TEXT MM_MIN; 1588 -alias MM_ANISOTROPIC MM_MAX; 1589 -alias MM_TWIPS MM_MAX_FIXEDSCALE; 1590 - 1591 -enum : uint { ABSOLUTE = 1 } 1592 -enum : uint { RELATIVE = 2 } 1593 - 1594 -enum : uint { WHITE_BRUSH = 0 } 1595 -enum : uint { LTGRAY_BRUSH = 1 } 1596 -enum : uint { GRAY_BRUSH = 2 } 1597 -enum : uint { DKGRAY_BRUSH = 3 } 1598 -enum : uint { BLACK_BRUSH = 4 } 1599 -enum : uint { NULL_BRUSH = 5 } 1600 -alias NULL_BRUSH HOLLOW_BRUSH; 1601 -enum : uint { WHITE_PEN = 6 } 1602 -enum : uint { BLACK_PEN = 7 } 1603 -enum : uint { NULL_PEN = 8 } 1604 -enum : uint { OEM_FIXED_FONT = 10 } 1605 -enum : uint { ANSI_FIXED_FONT = 11 } 1606 -enum : uint { ANSI_VAR_FONT = 12 } 1607 -enum : uint { SYSTEM_FONT = 13 } 1608 -enum : uint { DEVICE_DEFAULT_FONT = 14 } 1609 -enum : uint { DEFAULT_PALETTE = 15 } 1610 -enum : uint { SYSTEM_FIXED_FONT = 16 } 1611 - 1612 -// #if(WINVER >= 0x0400) 1613 -enum : uint { DEFAULT_GUI_FONT = 17 } 1614 -// #endif /* WINVER >= 0x0400 */ 1615 - 1616 -// #if (_WIN32_WINNT >= 0x0500) 1617 -enum : uint { DC_BRUSH = 18 } 1618 -enum : uint { DC_PEN = 19 } 1619 -// #endif 1620 - 1621 -// #if (_WIN32_WINNT >= 0x0500) 1622 -enum : uint { STOCK_LAST = 19 } 1623 -// #elif (WINVER >= 0x0400) 1624 -// #... 1625 -// #else 1626 -// #... 1627 -// #endif 1628 - 1629 -enum : uint { CLR_INVALID = 0xFFFFFFFF } 1630 - 1631 -enum : uint { BS_SOLID = 0 } 1632 -enum : uint { BS_NULL = 1 } 1633 -alias BS_NULL BS_HOLLOW; 1634 -enum : uint { BS_HATCHED = 2 } 1635 -enum : uint { BS_PATTERN = 3 } 1636 -enum : uint { BS_INDEXED = 4 } 1637 -enum : uint { BS_DIBPATTERN = 5 } 1638 -enum : uint { BS_DIBPATTERNPT = 6 } 1639 -enum : uint { BS_PATTERN8X8 = 7 } 1640 -enum : uint { BS_DIBPATTERN8X8 = 8 } 1641 -enum : uint { BS_MONOPATTERN = 9 } 1642 - 1643 -enum : uint { HS_HORIZONTAL = 0 } 1644 -enum : uint { HS_VERTICAL = 1 } 1645 -enum : uint { HS_FDIAGONAL = 2 } 1646 -enum : uint { HS_BDIAGONAL = 3 } 1647 -enum : uint { HS_CROSS = 4 } 1648 -enum : uint { HS_DIAGCROSS = 5 } 1649 - 1650 -enum : uint { PS_SOLID = 0 } 1651 -enum : uint { PS_DASH = 1 } 1652 -enum : uint { PS_DOT = 2 } 1653 -enum : uint { PS_DASHDOT = 3 } 1654 -enum : uint { PS_DASHDOTDOT = 4 } 1655 -enum : uint { PS_NULL = 5 } 1656 -enum : uint { PS_INSIDEFRAME = 6 } 1657 -enum : uint { PS_USERSTYLE = 7 } 1658 -enum : uint { PS_ALTERNATE = 8 } 1659 -enum : uint { PS_STYLE_MASK = 0x0000000F } 1660 - 1661 -enum : uint { PS_ENDCAP_ROUND = 0x00000000 } 1662 -enum : uint { PS_ENDCAP_SQUARE = 0x00000100 } 1663 -enum : uint { PS_ENDCAP_FLAT = 0x00000200 } 1664 -enum : uint { PS_ENDCAP_MASK = 0x00000F00 } 1665 - 1666 -enum : uint { PS_JOIN_ROUND = 0x00000000 } 1667 -enum : uint { PS_JOIN_BEVEL = 0x00001000 } 1668 -enum : uint { PS_JOIN_MITER = 0x00002000 } 1669 -enum : uint { PS_JOIN_MASK = 0x0000F000 } 1670 - 1671 -enum : uint { PS_COSMETIC = 0x00000000 } 1672 -enum : uint { PS_GEOMETRIC = 0x00010000 } 1673 -enum : uint { PS_TYPE_MASK = 0x000F0000 } 1674 - 1675 -enum : uint { AD_COUNTERCLOCKWISE = 1 } 1676 -enum : uint { AD_CLOCKWISE = 2 } 1677 - 1678 -enum : uint { DRIVERVERSION = 0 } 1679 -enum : uint { TECHNOLOGY = 2 } 1680 -enum : uint { HORZSIZE = 4 } 1681 -enum : uint { VERTSIZE = 6 } 1682 -enum : uint { HORZRES = 8 } 1683 -enum : uint { VERTRES = 10 } 1684 -enum : uint { BITSPIXEL = 12 } 1685 -enum : uint { PLANES = 14 } 1686 -enum : uint { NUMBRUSHES = 16 } 1687 -enum : uint { NUMPENS = 18 } 1688 -enum : uint { NUMMARKERS = 20 } 1689 -enum : uint { NUMFONTS = 22 } 1690 -enum : uint { NUMCOLORS = 24 } 1691 -enum : uint { PDEVICESIZE = 26 } 1692 -enum : uint { CURVECAPS = 28 } 1693 -enum : uint { LINECAPS = 30 } 1694 -enum : uint { POLYGONALCAPS = 32 } 1695 -enum : uint { TEXTCAPS = 34 } 1696 -enum : uint { CLIPCAPS = 36 } 1697 -enum : uint { RASTERCAPS = 38 } 1698 -enum : uint { ASPECTX = 40 } 1699 -enum : uint { ASPECTY = 42 } 1700 -enum : uint { ASPECTXY = 44 } 1701 - 1702 -enum : uint { LOGPIXELSX = 88 } 1703 -enum : uint { LOGPIXELSY = 90 } 1704 - 1705 -enum : uint { SIZEPALETTE = 104 } 1706 -enum : uint { NUMRESERVED = 106 } 1707 -enum : uint { COLORRES = 108 } 1708 - 1709 -enum : uint { PHYSICALWIDTH = 110 } 1710 -enum : uint { PHYSICALHEIGHT = 111 } 1711 -enum : uint { PHYSICALOFFSETX = 112 } 1712 -enum : uint { PHYSICALOFFSETY = 113 } 1713 -enum : uint { SCALINGFACTORX = 114 } 1714 -enum : uint { SCALINGFACTORY = 115 } 1715 - 1716 -enum : uint { VREFRESH = 116 } 1717 - 1718 -enum : uint { DESKTOPVERTRES = 117 } 1719 - 1720 -enum : uint { DESKTOPHORZRES = 118 } 1721 - 1722 -enum : uint { BLTALIGNMENT = 119 } 1723 - 1724 -// #if(WINVER >= 0x0500) 1725 -enum : uint { SHADEBLENDCAPS = 120 } 1726 -enum : uint { COLORMGMTCAPS = 121 } 1727 -// #endif /* WINVER >= 0x0500 */ 1728 - 1729 -// #ifndef NOGDICAPMASKS 1730 - 1731 -enum : uint { DT_PLOTTER = 0 } 1732 -enum : uint { DT_RASDISPLAY = 1 } 1733 -enum : uint { DT_RASPRINTER = 2 } 1734 -enum : uint { DT_RASCAMERA = 3 } 1735 -enum : uint { DT_CHARSTREAM = 4 } 1736 -enum : uint { DT_METAFILE = 5 } 1737 -enum : uint { DT_DISPFILE = 6 } 1738 - 1739 -enum : uint { CC_NONE = 0 } 1740 -enum : uint { CC_CIRCLES = 1 } 1741 -enum : uint { CC_PIE = 2 } 1742 -enum : uint { CC_CHORD = 4 } 1743 -enum : uint { CC_ELLIPSES = 8 } 1744 -enum : uint { CC_WIDE = 16 } 1745 -enum : uint { CC_STYLED = 32 } 1746 -enum : uint { CC_WIDESTYLED = 64 } 1747 -enum : uint { CC_INTERIORS = 128 } 1748 -enum : uint { CC_ROUNDRECT = 256 } 1749 - 1750 -enum : uint { LC_NONE = 0 } 1751 -enum : uint { LC_POLYLINE = 2 } 1752 -enum : uint { LC_MARKER = 4 } 1753 -enum : uint { LC_POLYMARKER = 8 } 1754 -enum : uint { LC_WIDE = 16 } 1755 -enum : uint { LC_STYLED = 32 } 1756 -enum : uint { LC_WIDESTYLED = 64 } 1757 -enum : uint { LC_INTERIORS = 128 } 1758 - 1759 -enum : uint { PC_NONE = 0 } 1760 -enum : uint { PC_POLYGON = 1 } 1761 -enum : uint { PC_RECTANGLE = 2 } 1762 -enum : uint { PC_WINDPOLYGON = 4 } 1763 -enum : uint { PC_TRAPEZOID = 4 } 1764 -enum : uint { PC_SCANLINE = 8 } 1765 -enum : uint { PC_WIDE = 16 } 1766 -enum : uint { PC_STYLED = 32 } 1767 -enum : uint { PC_WIDESTYLED = 64 } 1768 -enum : uint { PC_INTERIORS = 128 } 1769 -enum : uint { PC_POLYPOLYGON = 256 } 1770 -enum : uint { PC_PATHS = 512 } 1771 - 1772 -enum : uint { CP_NONE = 0 } 1773 -enum : uint { CP_RECTANGLE = 1 } 1774 -enum : uint { CP_REGION = 2 } 1775 - 1776 -enum : uint { TC_OP_CHARACTER = 0x00000001 } 1777 -enum : uint { TC_OP_STROKE = 0x00000002 } 1778 -enum : uint { TC_CP_STROKE = 0x00000004 } 1779 -enum : uint { TC_CR_90 = 0x00000008 } 1780 -enum : uint { TC_CR_ANY = 0x00000010 } 1781 -enum : uint { TC_SF_X_YINDEP = 0x00000020 } 1782 -enum : uint { TC_SA_DOUBLE = 0x00000040 } 1783 -enum : uint { TC_SA_INTEGER = 0x00000080 } 1784 -enum : uint { TC_SA_CONTIN = 0x00000100 } 1785 -enum : uint { TC_EA_DOUBLE = 0x00000200 } 1786 -enum : uint { TC_IA_ABLE = 0x00000400 } 1787 -enum : uint { TC_UA_ABLE = 0x00000800 } 1788 -enum : uint { TC_SO_ABLE = 0x00001000 } 1789 -enum : uint { TC_RA_ABLE = 0x00002000 } 1790 -enum : uint { TC_VA_ABLE = 0x00004000 } 1791 -enum : uint { TC_RESERVED = 0x00008000 } 1792 -enum : uint { TC_SCROLLBLT = 0x00010000 } 1793 - 1794 -// #endif /* NOGDICAPMASKS */ 1795 - 1796 -// #define RC_NONE 1797 -enum : uint { RC_BITBLT = 1 } 1798 -enum : uint { RC_BANDING = 2 } 1799 -enum : uint { RC_SCALING = 4 } 1800 -enum : uint { RC_BITMAP64 = 8 } 1801 -enum : uint { RC_GDI20_OUTPUT = 0x0010 } 1802 -enum : uint { RC_GDI20_STATE = 0x0020 } 1803 -enum : uint { RC_SAVEBITMAP = 0x0040 } 1804 -enum : uint { RC_DI_BITMAP = 0x0080 } 1805 -enum : uint { RC_PALETTE = 0x0100 } 1806 -enum : uint { RC_DIBTODEV = 0x0200 } 1807 -enum : uint { RC_BIGFONT = 0x0400 } 1808 -enum : uint { RC_STRETCHBLT = 0x0800 } 1809 -enum : uint { RC_FLOODFILL = 0x1000 } 1810 -enum : uint { RC_STRETCHDIB = 0x2000 } 1811 -enum : uint { RC_OP_DX_OUTPUT = 0x4000 } 1812 -enum : uint { RC_DEVBITS = 0x8000 } 1813 - 1814 -// #if(WINVER >= 0x0500) 1815 - 1816 -enum : uint { SB_NONE = 0x00000000 } 1817 -enum : uint { SB_CONST_ALPHA = 0x00000001 } 1818 -enum : uint { SB_PIXEL_ALPHA = 0x00000002 } 1819 -enum : uint { SB_PREMULT_ALPHA = 0x00000004 } 1820 - 1821 -enum : uint { SB_GRAD_RECT = 0x00000010 } 1822 -enum : uint { SB_GRAD_TRI = 0x00000020 } 1823 - 1824 -enum : uint { CM_NONE = 0x00000000 } 1825 -enum : uint { CM_DEVICE_ICM = 0x00000001 } 1826 -enum : uint { CM_GAMMA_RAMP = 0x00000002 } 1827 -enum : uint { CM_CMYK_COLOR = 0x00000004 } 1828 - 1829 -// #endif /* WINVER >= 0x0500 */ 1830 - 1831 -enum : uint { DIB_RGB_COLORS = 0 } 1832 -enum : uint { DIB_PAL_COLORS = 1 } 1833 - 1834 -enum : uint { SYSPAL_ERROR = 0 } 1835 -enum : uint { SYSPAL_STATIC = 1 } 1836 -enum : uint { SYSPAL_NOSTATIC = 2 } 1837 -enum : uint { SYSPAL_NOSTATIC256 = 3 } 1838 - 1839 -enum : uint { CBM_INIT = 0x04 } 1840 - 1841 -enum : uint { FLOODFILLBORDER = 0 } 1842 -enum : uint { FLOODFILLSURFACE = 1 } 1843 - 1844 -enum : uint { CCHDEVICENAME = 32 } 1845 - 1846 -enum : uint { CCHFORMNAME = 32 } 1847 - 1848 -struct _devicemodeA { 1849 - BYTE dmDeviceName[CCHDEVICENAME]; 1850 - WORD dmSpecVersion; 1851 - WORD dmDriverVersion; 1852 - WORD dmSize; 1853 - WORD dmDriverExtra; 1854 - DWORD dmFields; 1855 -union { 1856 -struct { 1857 - short dmOrientation; 1858 - short dmPaperSize; 1859 - short dmPaperLength; 1860 - short dmPaperWidth; 1861 -} 1862 - 1863 - POINTL dmPosition; 1864 -} 1865 - 1866 - short dmScale; 1867 - short dmCopies; 1868 - short dmDefaultSource; 1869 - short dmPrintQuality; 1870 - short dmColor; 1871 - short dmDuplex; 1872 - short dmYResolution; 1873 - short dmTTOption; 1874 - short dmCollate; 1875 - BYTE dmFormName[CCHFORMNAME]; 1876 - WORD dmLogPixels; 1877 - DWORD dmBitsPerPel; 1878 - DWORD dmPelsWidth; 1879 - DWORD dmPelsHeight; 1880 -union { 1881 - DWORD dmDisplayFlags; 1882 - DWORD dmNup; 1883 -} 1884 - 1885 - DWORD dmDisplayFrequency; 1886 -// #if(WINVER >= 0x0400) 1887 - DWORD dmICMMethod; 1888 - DWORD dmICMIntent; 1889 - DWORD dmMediaType; 1890 - DWORD dmDitherType; 1891 - DWORD dmReserved1; 1892 - DWORD dmReserved2; 1893 -// #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1894 - DWORD dmPanningWidth; 1895 - DWORD dmPanningHeight; 1896 -// #endif 1897 -// #endif /* WINVER >= 0x0400 */ 1898 -} 1899 -alias _devicemodeA DEVMODEA; 1900 -alias _devicemodeA* PDEVMODEA; 1901 -alias _devicemodeA* NPDEVMODEA; 1902 -alias _devicemodeA* LPDEVMODEA; 1903 - 1904 -struct _devicemodeW { 1905 - WCHAR dmDeviceName[CCHDEVICENAME]; 1906 - WORD dmSpecVersion; 1907 - WORD dmDriverVersion; 1908 - WORD dmSize; 1909 - WORD dmDriverExtra; 1910 - DWORD dmFields; 1911 -union { 1912 -struct { 1913 - short dmOrientation; 1914 - short dmPaperSize; 1915 - short dmPaperLength; 1916 - short dmPaperWidth; 1917 -} 1918 - 1919 - POINTL dmPosition; 1920 -} 1921 - 1922 - short dmScale; 1923 - short dmCopies; 1924 - short dmDefaultSource; 1925 - short dmPrintQuality; 1926 - short dmColor; 1927 - short dmDuplex; 1928 - short dmYResolution; 1929 - short dmTTOption; 1930 - short dmCollate; 1931 - WCHAR dmFormName[CCHFORMNAME]; 1932 - WORD dmLogPixels; 1933 - DWORD dmBitsPerPel; 1934 - DWORD dmPelsWidth; 1935 - DWORD dmPelsHeight; 1936 -union { 1937 - DWORD dmDisplayFlags; 1938 - DWORD dmNup; 1939 -} 1940 - 1941 - DWORD dmDisplayFrequency; 1942 -// #if(WINVER >= 0x0400) 1943 - DWORD dmICMMethod; 1944 - DWORD dmICMIntent; 1945 - DWORD dmMediaType; 1946 - DWORD dmDitherType; 1947 - DWORD dmReserved1; 1948 - DWORD dmReserved2; 1949 -// #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1950 - DWORD dmPanningWidth; 1951 - DWORD dmPanningHeight; 1952 -// #endif 1953 -// #endif /* WINVER >= 0x0400 */ 1954 -} 1955 -alias _devicemodeW DEVMODEW; 1956 -alias _devicemodeW* PDEVMODEW; 1957 -alias _devicemodeW* NPDEVMODEW; 1958 -alias _devicemodeW* LPDEVMODEW; 1959 - 1960 -// #ifdef UNICODE 1961 -// ... 1962 -// #else 1963 -alias DEVMODEA DEVMODE; 1964 -alias PDEVMODEA PDEVMODE; 1965 -alias NPDEVMODEA NPDEVMODE; 1966 -alias LPDEVMODEA LPDEVMODE; 1967 -// #endif // UNICODE 1968 - 1969 -// #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1970 -enum : uint { DM_SPECVERSION = 0x0401 } 1971 -// #elif (WINVER >= 0x0400) 1972 -// #... 1973 -// #else 1974 -// #... 1975 -// #endif /* WINVER */ 1976 - 1977 -enum : uint { DM_ORIENTATION = 0x00000001 } 1978 -enum : uint { DM_PAPERSIZE = 0x00000002 } 1979 -enum : uint { DM_PAPERLENGTH = 0x00000004 } 1980 -enum : uint { DM_PAPERWIDTH = 0x00000008 } 1981 -enum : uint { DM_SCALE = 0x00000010 } 1982 -// #if(WINVER >= 0x0500) 1983 -enum : uint { DM_POSITION = 0x00000020 } 1984 -enum : uint { DM_NUP = 0x00000040 } 1985 -// #endif /* WINVER >= 0x0500 */ 1986 -enum : uint { DM_COPIES = 0x00000100 } 1987 -enum : uint { DM_DEFAULTSOURCE = 0x00000200 } 1988 -enum : uint { DM_PRINTQUALITY = 0x00000400 } 1989 -enum : uint { DM_COLOR = 0x00000800 } 1990 -enum : uint { DM_DUPLEX = 0x00001000 } 1991 -enum : uint { DM_YRESOLUTION = 0x00002000 } 1992 -enum : uint { DM_TTOPTION = 0x00004000 } 1993 -enum : uint { DM_COLLATE = 0x00008000 } 1994 -enum : uint { DM_FORMNAME = 0x00010000 } 1995 -enum : uint { DM_LOGPIXELS = 0x00020000 } 1996 -enum : uint { DM_BITSPERPEL = 0x00040000 } 1997 -enum : uint { DM_PELSWIDTH = 0x00080000 } 1998 -enum : uint { DM_PELSHEIGHT = 0x00100000 } 1999 -enum : uint { DM_DISPLAYFLAGS = 0x00200000 } 2000 -enum : uint { DM_DISPLAYFREQUENCY = 0x00400000 } 2001 -// #if(WINVER >= 0x0400) 2002 -enum : uint { DM_ICMMETHOD = 0x00800000 } 2003 -enum : uint { DM_ICMINTENT = 0x01000000 } 2004 -enum : uint { DM_MEDIATYPE = 0x02000000 } 2005 -enum : uint { DM_DITHERTYPE = 0x04000000 } 2006 -enum : uint { DM_PANNINGWIDTH = 0x08000000 } 2007 -enum : uint { DM_PANNINGHEIGHT = 0x10000000 } 2008 -// #endif /* WINVER >= 0x0400 */ 2009 - 2010 -enum : uint { DMORIENT_PORTRAIT = 1 } 2011 -enum : uint { DMORIENT_LANDSCAPE = 2 } 2012 - 2013 -enum { DMPAPER_FIRST = 1 } 2014 -enum : uint { DMPAPER_LETTER = 1 } 2015 -enum : uint { DMPAPER_LETTERSMALL = 2 } 2016 -enum : uint { DMPAPER_TABLOID = 3 } 2017 -enum : uint { DMPAPER_LEDGER = 4 } 2018 -enum : uint { DMPAPER_LEGAL = 5 } 2019 -enum : uint { DMPAPER_STATEMENT = 6 } 2020 -enum : uint { DMPAPER_EXECUTIVE = 7 } 2021 -enum : uint { DMPAPER_A3 = 8 } 2022 -enum : uint { DMPAPER_A4 = 9 } 2023 -enum : uint { DMPAPER_A4SMALL = 10 } 2024 -enum : uint { DMPAPER_A5 = 11 } 2025 -enum : uint { DMPAPER_B4 = 12 } 2026 -enum : uint { DMPAPER_B5 = 13 } 2027 -enum : uint { DMPAPER_FOLIO = 14 } 2028 -enum : uint { DMPAPER_QUARTO = 15 } 2029 -enum : uint { DMPAPER_10X14 = 16 } 2030 -enum : uint { DMPAPER_11X17 = 17 } 2031 -enum : uint { DMPAPER_NOTE = 18 } 2032 -enum : uint { DMPAPER_ENV_9 = 19 } 2033 -enum : uint { DMPAPER_ENV_10 = 20 } 2034 -enum : uint { DMPAPER_ENV_11 = 21 } 2035 -enum : uint { DMPAPER_ENV_12 = 22 } 2036 -enum : uint { DMPAPER_ENV_14 = 23 } 2037 -enum : uint { DMPAPER_CSHEET = 24 } 2038 -enum : uint { DMPAPER_DSHEET = 25 } 2039 -enum : uint { DMPAPER_ESHEET = 26 } 2040 -enum : uint { DMPAPER_ENV_DL = 27 } 2041 -enum : uint { DMPAPER_ENV_C5 = 28 } 2042 -enum : uint { DMPAPER_ENV_C3 = 29 } 2043 -enum : uint { DMPAPER_ENV_C4 = 30 } 2044 -enum : uint { DMPAPER_ENV_C6 = 31 } 2045 -enum : uint { DMPAPER_ENV_C65 = 32 } 2046 -enum : uint { DMPAPER_ENV_B4 = 33 } 2047 -enum : uint { DMPAPER_ENV_B5 = 34 } 2048 -enum : uint { DMPAPER_ENV_B6 = 35 } 2049 -enum : uint { DMPAPER_ENV_ITALY = 36 } 2050 -enum : uint { DMPAPER_ENV_MONARCH = 37 } 2051 -enum : uint { DMPAPER_ENV_PERSONAL = 38 } 2052 -enum : uint { DMPAPER_FANFOLD_US = 39 } 2053 -enum : uint { DMPAPER_FANFOLD_STD_GERMAN = 40 } 2054 -enum : uint { DMPAPER_FANFOLD_LGL_GERMAN = 41 } 2055 -// #if(WINVER >= 0x0400) 2056 -enum : uint { DMPAPER_ISO_B4 = 42 } 2057 -enum : uint { DMPAPER_JAPANESE_POSTCARD = 43 } 2058 -enum : uint { DMPAPER_9X11 = 44 } 2059 -enum : uint { DMPAPER_10X11 = 45 } 2060 -enum : uint { DMPAPER_15X11 = 46 } 2061 -enum : uint { DMPAPER_ENV_INVITE = 47 } 2062 -enum : uint { DMPAPER_RESERVED_48 = 48 } 2063 -enum : uint { DMPAPER_RESERVED_49 = 49 } 2064 -enum : uint { DMPAPER_LETTER_EXTRA = 50 } 2065 -enum : uint { DMPAPER_LEGAL_EXTRA = 51 } 2066 -enum : uint { DMPAPER_TABLOID_EXTRA = 52 } 2067 -enum : uint { DMPAPER_A4_EXTRA = 53 } 2068 -enum : uint { DMPAPER_LETTER_TRANSVERSE = 54 } 2069 -enum : uint { DMPAPER_A4_TRANSVERSE = 55 } 2070 -enum : uint { DMPAPER_LETTER_EXTRA_TRANSVERSE = 56 } 2071 -enum : uint { DMPAPER_A_PLUS = 57 } 2072 -enum : uint { DMPAPER_B_PLUS = 58 } 2073 -enum : uint { DMPAPER_LETTER_PLUS = 59 } 2074 -enum : uint { DMPAPER_A4_PLUS = 60 } 2075 -enum : uint { DMPAPER_A5_TRANSVERSE = 61 } 2076 -enum : uint { DMPAPER_B5_TRANSVERSE = 62 } 2077 -enum : uint { DMPAPER_A3_EXTRA = 63 } 2078 -enum : uint { DMPAPER_A5_EXTRA = 64 } 2079 -enum : uint { DMPAPER_B5_EXTRA = 65 } 2080 -enum : uint { DMPAPER_A2 = 66 } 2081 -enum : uint { DMPAPER_A3_TRANSVERSE = 67 } 2082 -enum : uint { DMPAPER_A3_EXTRA_TRANSVERSE = 68 } 2083 -// #endif /* WINVER >= 0x0400 */ 2084 - 2085 -// #if(WINVER >= 0x0500) 2086 -enum : uint { DMPAPER_DBL_JAPANESE_POSTCARD = 69 } 2087 -enum : uint { DMPAPER_A6 = 70 } 2088 -enum : uint { DMPAPER_JENV_KAKU2 = 71 } 2089 -enum : uint { DMPAPER_JENV_KAKU3 = 72 } 2090 -enum : uint { DMPAPER_JENV_CHOU3 = 73 } 2091 -enum : uint { DMPAPER_JENV_CHOU4 = 74 } 2092 -enum : uint { DMPAPER_LETTER_ROTATED = 75 } 2093 -enum : uint { DMPAPER_A3_ROTATED = 76 } 2094 -enum : uint { DMPAPER_A4_ROTATED = 77 } 2095 -enum : uint { DMPAPER_A5_ROTATED = 78 } 2096 -enum : uint { DMPAPER_B4_JIS_ROTATED = 79 } 2097 -enum : uint { DMPAPER_B5_JIS_ROTATED = 80 } 2098 -enum : uint { DMPAPER_JAPANESE_POSTCARD_ROTATED = 81 } 2099 -enum : uint { DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82 } 2100 -enum : uint { DMPAPER_A6_ROTATED = 83 } 2101 -enum : uint { DMPAPER_JENV_KAKU2_ROTATED = 84 } 2102 -enum : uint { DMPAPER_JENV_KAKU3_ROTATED = 85 } 2103 -enum : uint { DMPAPER_JENV_CHOU3_ROTATED = 86 } 2104 -enum : uint { DMPAPER_JENV_CHOU4_ROTATED = 87 } 2105 -enum : uint { DMPAPER_B6_JIS = 88 } 2106 -enum : uint { DMPAPER_B6_JIS_ROTATED = 89 } 2107 -enum : uint { DMPAPER_12X11 = 90 } 2108 -enum : uint { DMPAPER_JENV_YOU4 = 91 } 2109 -enum : uint { DMPAPER_JENV_YOU4_ROTATED = 92 } 2110 -enum : uint { DMPAPER_P16K = 93 } 2111 -enum : uint { DMPAPER_P32K = 94 } 2112 -enum : uint { DMPAPER_P32KBIG = 95 } 2113 -enum : uint { DMPAPER_PENV_1 = 96 } 2114 -enum : uint { DMPAPER_PENV_2 = 97 } 2115 -enum : uint { DMPAPER_PENV_3 = 98 } 2116 -enum : uint { DMPAPER_PENV_4 = 99 } 2117 -enum : uint { DMPAPER_PENV_5 = 100 } 2118 -enum : uint { DMPAPER_PENV_6 = 101 } 2119 -enum : uint { DMPAPER_PENV_7 = 102 } 2120 -enum : uint { DMPAPER_PENV_8 = 103 } 2121 -enum : uint { DMPAPER_PENV_9 = 104 } 2122 -enum : uint { DMPAPER_PENV_10 = 105 } 2123 -enum : uint { DMPAPER_P16K_ROTATED = 106 } 2124 -enum : uint { DMPAPER_P32K_ROTATED = 107 } 2125 -enum : uint { DMPAPER_P32KBIG_ROTATED = 108 } 2126 -enum : uint { DMPAPER_PENV_1_ROTATED = 109 } 2127 -enum : uint { DMPAPER_PENV_2_ROTATED = 110 } 2128 -enum : uint { DMPAPER_PENV_3_ROTATED = 111 } 2129 -enum : uint { DMPAPER_PENV_4_ROTATED = 112 } 2130 -enum : uint { DMPAPER_PENV_5_ROTATED = 113 } 2131 -enum : uint { DMPAPER_PENV_6_ROTATED = 114 } 2132 -enum : uint { DMPAPER_PENV_7_ROTATED = 115 } 2133 -enum : uint { DMPAPER_PENV_8_ROTATED = 116 } 2134 -enum : uint { DMPAPER_PENV_9_ROTATED = 117 } 2135 -enum : uint { DMPAPER_PENV_10_ROTATED = 118 } 2136 -// #endif /* WINVER >= 0x0500 */ 2137 - 2138 -// #if (WINVER >= 0x0500) 2139 -alias DMPAPER_PENV_10_ROTATED DMPAPER_LAST; 2140 -// #elif (WINVER >= 0x0400) 2141 -// #... 2142 -// #else 2143 -// #... 2144 -// #endif 2145 - 2146 -enum : uint { DMPAPER_USER = 256 } 2147 - 2148 -enum { DMBIN_FIRST = 1 } 2149 -enum : uint { DMBIN_UPPER = 1 } 2150 -enum : uint { DMBIN_ONLYONE = 1 } 2151 -enum : uint { DMBIN_LOWER = 2 } 2152 -enum : uint { DMBIN_MIDDLE = 3 } 2153 -enum : uint { DMBIN_MANUAL = 4 } 2154 -enum : uint { DMBIN_ENVELOPE = 5 } 2155 -enum : uint { DMBIN_ENVMANUAL = 6 } 2156 -enum : uint { DMBIN_AUTO = 7 } 2157 -enum : uint { DMBIN_TRACTOR = 8 } 2158 -enum : uint { DMBIN_SMALLFMT = 9 } 2159 -enum : uint { DMBIN_LARGEFMT = 10 } 2160 -enum : uint { DMBIN_LARGECAPACITY = 11 } 2161 -enum : uint { DMBIN_CASSETTE = 14 } 2162 -enum : uint { DMBIN_FORMSOURCE = 15 } 2163 -alias DMBIN_FORMSOURCE DMBIN_LAST; 2164 - 2165 -enum : uint { DMBIN_USER = 256 } 2166 - 2167 -enum { DMRES_DRAFT = -1 } 2168 -enum { DMRES_LOW = -2 } 2169 -enum { DMRES_MEDIUM = -3 } 2170 -enum { DMRES_HIGH = -4 } 2171 - 2172 -enum : uint { DMCOLOR_MONOCHROME = 1 } 2173 -enum : uint { DMCOLOR_COLOR = 2 } 2174 - 2175 -enum : uint { DMDUP_SIMPLEX = 1 } 2176 -enum : uint { DMDUP_VERTICAL = 2 } 2177 -enum : uint { DMDUP_HORIZONTAL = 3 } 2178 - 2179 -enum : uint { DMTT_BITMAP = 1 } 2180 -enum : uint { DMTT_DOWNLOAD = 2 } 2181 -enum : uint { DMTT_SUBDEV = 3 } 2182 -// #if(WINVER >= 0x0400) 2183 -enum : uint { DMTT_DOWNLOAD_OUTLINE = 4 } 2184 -// #endif /* WINVER >= 0x0400 */ 2185 - 2186 -enum : uint { DMCOLLATE_FALSE = 0 } 2187 -enum : uint { DMCOLLATE_TRUE = 1 } 2188 - 2189 -enum : uint { DMDISPLAYFLAGS_TEXTMODE = 0x00000004 } 2190 - 2191 -enum : uint { DMNUP_SYSTEM = 1 } 2192 -enum : uint { DMNUP_ONEUP = 2 } 2193 - 2194 -// #if(WINVER >= 0x0400) 2195 - 2196 -enum : uint { DMICMMETHOD_NONE = 1 } 2197 -enum : uint { DMICMMETHOD_SYSTEM = 2 } 2198 -enum : uint { DMICMMETHOD_DRIVER = 3 } 2199 -enum : uint { DMICMMETHOD_DEVICE = 4 } 2200 - 2201 -enum : uint { DMICMMETHOD_USER = 256 } 2202 - 2203 -enum : uint { DMICM_SATURATE = 1 } 2204 -enum : uint { DMICM_CONTRAST = 2 } 2205 -enum : uint { DMICM_COLORIMETRIC = 3 } 2206 -enum : uint { DMICM_ABS_COLORIMETRIC = 4 } 2207 - 2208 -enum : uint { DMICM_USER = 256 } 2209 - 2210 -enum : uint { DMMEDIA_STANDARD = 1 } 2211 -enum : uint { DMMEDIA_TRANSPARENCY = 2 } 2212 -enum : uint { DMMEDIA_GLOSSY = 3 } 2213 - 2214 -enum : uint { DMMEDIA_USER = 256 } 2215 - 2216 -enum : uint { DMDITHER_NONE = 1 } 2217 -enum : uint { DMDITHER_COARSE = 2 } 2218 -enum : uint { DMDITHER_FINE = 3 } 2219 -enum : uint { DMDITHER_LINEART = 4 } 2220 -enum : uint { DMDITHER_ERRORDIFFUSION = 5 } 2221 -enum : uint { DMDITHER_RESERVED6 = 6 } 2222 -enum : uint { DMDITHER_RESERVED7 = 7 } 2223 -enum : uint { DMDITHER_RESERVED8 = 8 } 2224 -enum : uint { DMDITHER_RESERVED9 = 9 } 2225 -enum : uint { DMDITHER_GRAYSCALE = 10 } 2226 - 2227 -enum : uint { DMDITHER_USER = 256 } 2228 -// #endif /* WINVER >= 0x0400 */ 2229 - 2230 -struct _DISPLAY_DEVICEA { 2231 - DWORD cb; 2232 - CHAR DeviceName[32]; 2233 - CHAR DeviceString[128]; 2234 - DWORD StateFlags; 2235 - CHAR DeviceID[128]; 2236 - CHAR DeviceKey[128]; 2237 -} 2238 -alias _DISPLAY_DEVICEA DISPLAY_DEVICEA; 2239 -alias _DISPLAY_DEVICEA* PDISPLAY_DEVICEA; 2240 -alias _DISPLAY_DEVICEA* LPDISPLAY_DEVICEA; 2241 - 2242 -struct _DISPLAY_DEVICEW { 2243 - DWORD cb; 2244 - WCHAR DeviceName[32]; 2245 - WCHAR DeviceString[128]; 2246 - DWORD StateFlags; 2247 - WCHAR DeviceID[128]; 2248 - WCHAR DeviceKey[128]; 2249 -} 2250 -alias _DISPLAY_DEVICEW DISPLAY_DEVICEW; 2251 -alias _DISPLAY_DEVICEW* PDISPLAY_DEVICEW; 2252 -alias _DISPLAY_DEVICEW* LPDISPLAY_DEVICEW; 2253 - 2254 -// #ifdef UNICODE 2255 -// ... 2256 -// #else 2257 -alias DISPLAY_DEVICEA DISPLAY_DEVICE; 2258 -alias PDISPLAY_DEVICEA PDISPLAY_DEVICE; 2259 -alias LPDISPLAY_DEVICEA LPDISPLAY_DEVICE; 2260 -// #endif // UNICODE 2261 - 2262 -enum : uint { DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = 0x00000001 } 2263 -enum : uint { DISPLAY_DEVICE_MULTI_DRIVER = 0x00000002 } 2264 -enum : uint { DISPLAY_DEVICE_PRIMARY_DEVICE = 0x00000004 } 2265 -enum : uint { DISPLAY_DEVICE_MIRRORING_DRIVER = 0x00000008 } 2266 -enum : uint { DISPLAY_DEVICE_VGA_COMPATIBLE = 0x00000010 } 2267 -enum : uint { DISPLAY_DEVICE_REMOVABLE = 0x00000020 } 2268 -enum : uint { DISPLAY_DEVICE_MODESPRUNED = 0x08000000 } 2269 -enum : uint { DISPLAY_DEVICE_REMOTE = 0x04000000 } 2270 -enum : uint { DISPLAY_DEVICE_DISCONNECT = 0x02000000 } 2271 - 2272 -enum : uint { DISPLAY_DEVICE_ACTIVE = 0x00000001 } 2273 -enum : uint { DISPLAY_DEVICE_ATTACHED = 0x00000002 } 2274 - 2275 -enum : uint { RDH_RECTANGLES = 1 } 2276 - 2277 -struct _RGNDATAHEADER { 2278 - DWORD dwSize; 2279 - DWORD iType; 2280 - DWORD nCount; 2281 - DWORD nRgnSize; 2282 - RECT rcBound; 2283 -} 2284 -alias _RGNDATAHEADER RGNDATAHEADER; 2285 -alias _RGNDATAHEADER* PRGNDATAHEADER; 2286 - 2287 -struct _RGNDATA { 2288 - RGNDATAHEADER rdh; 2289 - char Buffer[1]; 2290 -} 2291 -alias _RGNDATA RGNDATA; 2292 -alias _RGNDATA* PRGNDATA; 2293 -alias _RGNDATA* NPRGNDATA; 2294 -alias _RGNDATA* LPRGNDATA; 2295 - 2296 -enum : uint { SYSRGN = 4 } 2297 - 2298 -struct _ABC { 2299 - int abcA; 2300 - UINT abcB; 2301 - int abcC; 2302 -} 2303 -alias _ABC ABC; 2304 -alias _ABC* PABC; 2305 -alias _ABC* NPABC; 2306 -alias _ABC* LPABC; 2307 - 2308 -struct _ABCFLOAT { 2309 - FLOAT abcfA; 2310 - FLOAT abcfB; 2311 - FLOAT abcfC; 2312 -} 2313 -alias _ABCFLOAT ABCFLOAT; 2314 -alias _ABCFLOAT* PABCFLOAT; 2315 -alias _ABCFLOAT* NPABCFLOAT; 2316 -alias _ABCFLOAT* LPABCFLOAT; 2317 - 2318 -// #ifndef NOTEXTMETRIC 2319 - 2320 -// #ifdef _MAC 2321 -// #... 2322 -// #endif 2323 -struct _OUTLINETEXTMETRICA { 2324 - UINT otmSize; 2325 - TEXTMETRICA otmTextMetrics; 2326 - BYTE otmFiller; 2327 - PANOSE otmPanoseNumber; 2328 - UINT otmfsSelection; 2329 - UINT otmfsType; 2330 - int otmsCharSlopeRise; 2331 - int otmsCharSlopeRun; 2332 - int otmItalicAngle; 2333 - UINT otmEMSquare; 2334 - int otmAscent; 2335 - int otmDescent; 2336 - UINT otmLineGap; 2337 - UINT otmsCapEmHeight; 2338 - UINT otmsXHeight; 2339 - RECT otmrcFontBox; 2340 - int otmMacAscent; 2341 - int otmMacDescent; 2342 - UINT otmMacLineGap; 2343 - UINT otmusMinimumPPEM; 2344 - POINT otmptSubscriptSize; 2345 - POINT otmptSubscriptOffset; 2346 - POINT otmptSuperscriptSize; 2347 - POINT otmptSuperscriptOffset; 2348 - UINT otmsStrikeoutSize; 2349 - int otmsStrikeoutPosition; 2350 - int otmsUnderscoreSize; 2351 - int otmsUnderscorePosition; 2352 - PSTR otmpFamilyName; 2353 - PSTR otmpFaceName; 2354 - PSTR otmpStyleName; 2355 - PSTR otmpFullName; 2356 -} 2357 -alias _OUTLINETEXTMETRICA OUTLINETEXTMETRICA; 2358 -alias _OUTLINETEXTMETRICA* POUTLINETEXTMETRICA; 2359 -alias _OUTLINETEXTMETRICA* NPOUTLINETEXTMETRICA; 2360 -alias _OUTLINETEXTMETRICA* LPOUTLINETEXTMETRICA; 2361 - 2362 -struct _OUTLINETEXTMETRICW { 2363 - UINT otmSize; 2364 - TEXTMETRICW otmTextMetrics; 2365 - BYTE otmFiller; 2366 - PANOSE otmPanoseNumber; 2367 - UINT otmfsSelection; 2368 - UINT otmfsType; 2369 - int otmsCharSlopeRise; 2370 - int otmsCharSlopeRun; 2371 - int otmItalicAngle; 2372 - UINT otmEMSquare; 2373 - int otmAscent; 2374 - int otmDescent; 2375 - UINT otmLineGap; 2376 - UINT otmsCapEmHeight; 2377 - UINT otmsXHeight; 2378 - RECT otmrcFontBox; 2379 - int otmMacAscent; 2380 - int otmMacDescent; 2381 - UINT otmMacLineGap; 2382 - UINT otmusMinimumPPEM; 2383 - POINT otmptSubscriptSize; 2384 - POINT otmptSubscriptOffset; 2385 - POINT otmptSuperscriptSize; 2386 - POINT otmptSuperscriptOffset; 2387 - UINT otmsStrikeoutSize; 2388 - int otmsStrikeoutPosition; 2389 - int otmsUnderscoreSize; 2390 - int otmsUnderscorePosition; 2391 - PSTR otmpFamilyName; 2392 - PSTR otmpFaceName; 2393 - PSTR otmpStyleName; 2394 - PSTR otmpFullName; 2395 -} 2396 -alias _OUTLINETEXTMETRICW OUTLINETEXTMETRICW; 2397 -alias _OUTLINETEXTMETRICW* POUTLINETEXTMETRICW; 2398 -alias _OUTLINETEXTMETRICW* NPOUTLINETEXTMETRICW; 2399 -alias _OUTLINETEXTMETRICW* LPOUTLINETEXTMETRICW; 2400 - 2401 -// #ifdef UNICODE 2402 -// ... 2403 -// #else 2404 -alias OUTLINETEXTMETRICA OUTLINETEXTMETRIC; 2405 -alias POUTLINETEXTMETRICA POUTLINETEXTMETRIC; 2406 -alias NPOUTLINETEXTMETRICA NPOUTLINETEXTMETRIC; 2407 -alias LPOUTLINETEXTMETRICA LPOUTLINETEXTMETRIC; 2408 -// #endif // UNICODE 2409 - 2410 -// #ifdef _MAC 2411 -// #... 2412 -// #endif 2413 - 2414 -// #endif /* NOTEXTMETRIC */ 2415 - 2416 -struct tagPOLYTEXTA { 2417 - int x; 2418 - int y; 2419 - UINT n; 2420 - LPCSTR lpstr; 2421 - UINT uiFlags; 2422 - RECT rcl; 2423 - int *pdx; 2424 -} 2425 -alias tagPOLYTEXTA POLYTEXTA; 2426 -alias tagPOLYTEXTA* PPOLYTEXTA; 2427 -alias tagPOLYTEXTA* NPPOLYTEXTA; 2428 -alias tagPOLYTEXTA* LPPOLYTEXTA; 2429 - 2430 -struct tagPOLYTEXTW { 2431 - int x; 2432 - int y; 2433 - UINT n; 2434 - LPCWSTR lpstr; 2435 - UINT uiFlags; 2436 - RECT rcl; 2437 - int *pdx; 2438 -} 2439 -alias tagPOLYTEXTW POLYTEXTW; 2440 -alias tagPOLYTEXTW* PPOLYTEXTW; 2441 -alias tagPOLYTEXTW* NPPOLYTEXTW; 2442 -alias tagPOLYTEXTW* LPPOLYTEXTW; 2443 - 2444 -// #ifdef UNICODE 2445 -// ... 2446 -// #else 2447 -alias POLYTEXTA POLYTEXT; 2448 -alias PPOLYTEXTA PPOLYTEXT; 2449 -alias NPPOLYTEXTA NPPOLYTEXT; 2450 -alias LPPOLYTEXTA LPPOLYTEXT; 2451 -// #endif // UNICODE 2452 - 2453 -struct _FIXED { 2454 -// #ifndef _MAC 2455 - WORD fract; 2456 - short value; 2457 -// #else 2458 -// ... 2459 -// #endif 2460 -} 2461 -alias _FIXED FIXED; 2462 - 2463 -struct _MAT2 { 2464 - FIXED eM11; 2465 - FIXED eM12; 2466 - FIXED eM21; 2467 - FIXED eM22; 2468 -} 2469 -alias _MAT2 MAT2; 2470 -alias _MAT2* LPMAT2; 2471 - 2472 -struct _GLYPHMETRICS { 2473 - UINT gmBlackBoxX; 2474 - UINT gmBlackBoxY; 2475 - POINT gmptGlyphOrigin; 2476 - short gmCellIncX; 2477 - short gmCellIncY; 2478 -} 2479 -alias _GLYPHMETRICS GLYPHMETRICS; 2480 -alias _GLYPHMETRICS* LPGLYPHMETRICS; 2481 - 2482 -enum : uint { GGO_METRICS = 0 } 2483 -enum : uint { GGO_BITMAP = 1 } 2484 -enum : uint { GGO_NATIVE = 2 } 2485 -enum : uint { GGO_BEZIER = 3 } 2486 - 2487 -// #if(WINVER >= 0x0400) 2488 -enum : uint { GGO_GRAY2_BITMAP = 4 } 2489 -enum : uint { GGO_GRAY4_BITMAP = 5 } 2490 -enum : uint { GGO_GRAY8_BITMAP = 6 } 2491 -enum : uint { GGO_GLYPH_INDEX = 0x0080 } 2492 -// #endif /* WINVER >= 0x0400 */ 2493 - 2494 -// #if (_WIN32_WINNT >= 0x0500) 2495 -enum : uint { GGO_UNHINTED = 0x0100 } 2496 -// #endif // (_WIN32_WINNT >= 0x0500) 2497 - 2498 -enum : uint { TT_POLYGON_TYPE = 24 } 2499 - 2500 -enum : uint { TT_PRIM_LINE = 1 } 2501 -enum : uint { TT_PRIM_QSPLINE = 2 } 2502 -enum : uint { TT_PRIM_CSPLINE = 3 } 2503 - 2504 -struct tagPOINTFX { 2505 - FIXED x; 2506 - FIXED y; 2507 -} 2508 -alias tagPOINTFX POINTFX; 2509 -alias tagPOINTFX* LPPOINTFX; 2510 - 2511 -struct tagTTPOLYCURVE { 2512 - WORD wType; 2513 - WORD cpfx; 2514 - POINTFX apfx[1]; 2515 -} 2516 -alias tagTTPOLYCURVE TTPOLYCURVE; 2517 -alias tagTTPOLYCURVE* LPTTPOLYCURVE; 2518 - 2519 -struct tagTTPOLYGONHEADER { 2520 - DWORD cb; 2521 - DWORD dwType; 2522 - POINTFX pfxStart; 2523 -} 2524 -alias tagTTPOLYGONHEADER TTPOLYGONHEADER; 2525 -alias tagTTPOLYGONHEADER* LPTTPOLYGONHEADER; 2526 - 2527 -// #if(WINVER >= 0x0400) 2528 -enum : uint { GCP_DBCS = 0x0001 } 2529 -enum : uint { GCP_REORDER = 0x0002 } 2530 -enum : uint { GCP_USEKERNING = 0x0008 } 2531 -enum : uint { GCP_GLYPHSHAPE = 0x0010 } 2532 -enum : uint { GCP_LIGATE = 0x0020 } 2533 - 2534 -enum : uint { GCP_DIACRITIC = 0x0100 } 2535 -enum : uint { GCP_KASHIDA = 0x0400 } 2536 -enum : uint { GCP_ERROR = 0x8000 } 2537 -enum : uint { FLI_MASK = 0x103B } 2538 - 2539 -enum : uint { GCP_JUSTIFY = 0x00010000 } 2540 - 2541 -enum : uint { FLI_GLYPHS = 0x00040000 } 2542 -enum : uint { GCP_CLASSIN = 0x00080000 } 2543 -enum : uint { GCP_MAXEXTENT = 0x00100000 } 2544 -enum : uint { GCP_JUSTIFYIN = 0x00200000 } 2545 -enum : uint { GCP_DISPLAYZWG = 0x00400000 } 2546 -enum : uint { GCP_SYMSWAPOFF = 0x00800000 } 2547 -enum : uint { GCP_NUMERICOVERRIDE = 0x01000000 } 2548 -enum : uint { GCP_NEUTRALOVERRIDE = 0x02000000 } 2549 -enum : uint { GCP_NUMERICSLATIN = 0x04000000 } 2550 -enum : uint { GCP_NUMERICSLOCAL = 0x08000000 } 2551 - 2552 -enum : uint { GCPCLASS_LATIN = 1 } 2553 -enum : uint { GCPCLASS_HEBREW = 2 } 2554 -enum : uint { GCPCLASS_ARABIC = 2 } 2555 -enum : uint { GCPCLASS_NEUTRAL = 3 } 2556 -enum : uint { GCPCLASS_LOCALNUMBER = 4 } 2557 -enum : uint { GCPCLASS_LATINNUMBER = 5 } 2558 -enum : uint { GCPCLASS_LATINNUMERICTERMINATOR = 6 } 2559 -enum : uint { GCPCLASS_LATINNUMERICSEPARATOR = 7 } 2560 -enum : uint { GCPCLASS_NUMERICSEPARATOR = 8 } 2561 -enum : uint { GCPCLASS_PREBOUNDLTR = 0x80 } 2562 -enum : uint { GCPCLASS_PREBOUNDRTL = 0x40 } 2563 -enum : uint { GCPCLASS_POSTBOUNDLTR = 0x20 } 2564 -enum : uint { GCPCLASS_POSTBOUNDRTL = 0x10 } 2565 - 2566 -enum : uint { GCPGLYPH_LINKBEFORE = 0x8000 } 2567 -enum : uint { GCPGLYPH_LINKAFTER = 0x4000 } 2568 - 2569 -struct tagGCP_RESULTSA { 2570 - DWORD lStructSize; 2571 - LPSTR lpOutString; 2572 - UINT *lpOrder; 2573 - int *lpDx; 2574 - int *lpCaretPos; 2575 - LPSTR lpClass; 2576 - LPWSTR lpGlyphs; 2577 - UINT nGlyphs; 2578 - int nMaxFit; 2579 -} 2580 -alias tagGCP_RESULTSA GCP_RESULTSA; 2581 -alias tagGCP_RESULTSA* LPGCP_RESULTSA; 2582 - 2583 -struct tagGCP_RESULTSW { 2584 - DWORD lStructSize; 2585 - LPWSTR lpOutString; 2586 - UINT *lpOrder; 2587 - int *lpDx; 2588 - int *lpCaretPos; 2589 - LPSTR lpClass; 2590 - LPWSTR lpGlyphs; 2591 - UINT nGlyphs; 2592 - int nMaxFit; 2593 -} 2594 -alias tagGCP_RESULTSW GCP_RESULTSW; 2595 -alias tagGCP_RESULTSW* LPGCP_RESULTSW; 2596 - 2597 -// #ifdef UNICODE 2598 -// ... 2599 -// #else 2600 -alias GCP_RESULTSA GCP_RESULTS; 2601 -alias LPGCP_RESULTSA LPGCP_RESULTS; 2602 -// #endif // UNICODE 2603 -// #endif /* WINVER >= 0x0400 */ 2604 - 2605 -struct _RASTERIZER_STATUS { 2606 - short nSize; 2607 - short wFlags; 2608 - short nLanguageID; 2609 -} 2610 -alias _RASTERIZER_STATUS RASTERIZER_STATUS; 2611 -alias _RASTERIZER_STATUS* LPRASTERIZER_STATUS; 2612 - 2613 -enum : uint { TT_AVAILABLE = 0x0001 } 2614 -enum : uint { TT_ENABLED = 0x0002 } 2615 - 2616 -struct tagPIXELFORMATDESCRIPTOR { 2617 - WORD nSize; 2618 - WORD nVersion; 2619 - DWORD dwFlags; 2620 - BYTE iPixelType; 2621 - BYTE cColorBits; 2622 - BYTE cRedBits; 2623 - BYTE cRedShift; 2624 - BYTE cGreenBits; 2625 - BYTE cGreenShift; 2626 - BYTE cBlueBits; 2627 - BYTE cBlueShift; 2628 - BYTE cAlphaBits; 2629 - BYTE cAlphaShift; 2630 - BYTE cAccumBits; 2631 - BYTE cAccumRedBits; 2632 - BYTE cAccumGreenBits; 2633 - BYTE cAccumBlueBits; 2634 - BYTE cAccumAlphaBits; 2635 - BYTE cDepthBits; 2636 - BYTE cStencilBits; 2637 - BYTE cAuxBuffers; 2638 - BYTE iLayerType; 2639 - BYTE bReserved; 2640 - DWORD dwLayerMask; 2641 - DWORD dwVisibleMask; 2642 - DWORD dwDamageMask; 2643 -} 2644 -alias tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR; 2645 -alias tagPIXELFORMATDESCRIPTOR* PPIXELFORMATDESCRIPTOR; 2646 -alias tagPIXELFORMATDESCRIPTOR* LPPIXELFORMATDESCRIPTOR; 2647 - 2648 -enum : uint { PFD_TYPE_RGBA = 0 } 2649 -enum : uint { PFD_TYPE_COLORINDEX = 1 } 2650 - 2651 -enum : uint { PFD_MAIN_PLANE = 0 } 2652 -enum : uint { PFD_OVERLAY_PLANE = 1 } 2653 -enum { PFD_UNDERLAY_PLANE = -1 } 2654 - 2655 -enum : uint { PFD_DOUBLEBUFFER = 0x00000001 } 2656 -enum : uint { PFD_STEREO = 0x00000002 } 2657 -enum : uint { PFD_DRAW_TO_WINDOW = 0x00000004 } 2658 -enum : uint { PFD_DRAW_TO_BITMAP = 0x00000008 } 2659 -enum : uint { PFD_SUPPORT_GDI = 0x00000010 } 2660 -enum : uint { PFD_SUPPORT_OPENGL = 0x00000020 } 2661 -enum : uint { PFD_GENERIC_FORMAT = 0x00000040 } 2662 -enum : uint { PFD_NEED_PALETTE = 0x00000080 } 2663 -enum : uint { PFD_NEED_SYSTEM_PALETTE = 0x00000100 } 2664 -enum : uint { PFD_SWAP_EXCHANGE = 0x00000200 } 2665 -enum : uint { PFD_SWAP_COPY = 0x00000400 } 2666 -enum : uint { PFD_SWAP_LAYER_BUFFERS = 0x00000800 } 2667 -enum : uint { PFD_GENERIC_ACCELERATED = 0x00001000 } 2668 -enum : uint { PFD_SUPPORT_DIRECTDRAW = 0x00002000 } 2669 - 2670 -enum : uint { PFD_DEPTH_DONTCARE = 0x20000000 } 2671 -enum : uint { PFD_DOUBLEBUFFER_DONTCARE = 0x40000000 } 2672 -enum : uint { PFD_STEREO_DONTCARE = 0x80000000 } 2673 - 2674 -// #ifdef STRICT 2675 -// #if !defined(NOTEXTMETRIC) 2676 -extern(Windows) alias int function( LOGFONTA *, TEXTMETRICA *, DWORD, LPARAM) OLDFONTENUMPROCA; 2677 -extern(Windows) alias int function( LOGFONTW *, TEXTMETRICW *, DWORD, LPARAM) OLDFONTENUMPROCW; 2678 -// #ifdef UNICODE 2679 -// #... 2680 -// #else 2681 -alias OLDFONTENUMPROCA OLDFONTENUMPROC; 2682 -// #endif // !UNICODE 2683 -// #else 2684 -// ... 2685 -// #ifdef UNICODE 2686 -// #... 2687 -// #else 2688 -// #... 2689 -// #endif // !UNICODE 2690 -// #endif 2691 - 2692 -alias OLDFONTENUMPROCA FONTENUMPROCA; 2693 -alias OLDFONTENUMPROCW FONTENUMPROCW; 2694 -// #ifdef UNICODE 2695 -// ... 2696 -// #else 2697 -alias FONTENUMPROCA FONTENUMPROC; 2698 -// #endif // UNICODE 2699 - 2700 -extern(Windows) alias int function(LPVOID, LPARAM) GOBJENUMPROC; 2701 -extern(Windows) alias VOID function(int, int, LPARAM) LINEDDAPROC; 2702 -// #else 2703 -// ... 2704 -// #ifdef UNICODE 2705 -// ... 2706 -// #else 2707 -// ... 2708 -// #endif // UNICODE 2709 -// ... 2710 -// #endif 2711 - 2712 -extern(Windows) export int AddFontResourceA(LPCSTR); 2713 -extern(Windows) export int AddFontResourceW(LPCWSTR); 2714 -// #ifdef UNICODE 2715 -// #... 2716 -// #else 2717 -alias AddFontResourceA AddFontResource; 2718 -// #endif // !UNICODE 2719 - 2720 -extern(Windows) export BOOL AnimatePalette(HPALETTE, UINT, UINT, PALETTEENTRY *); 2721 -extern(Windows) export BOOL Arc(HDC, int, int, int, int, int, int, int, int); 2722 -extern(Windows) export BOOL BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD); 2723 -extern(Windows) export BOOL CancelDC(HDC); 2724 -extern(Windows) export BOOL Chord(HDC, int, int, int, int, int, int, int, int); 2725 -extern(Windows) export int ChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR *); 2726 -extern(Windows) export HMETAFILE CloseMetaFile(HDC); 2727 -extern(Windows) export int CombineRgn(HRGN, HRGN, HRGN, int); 2728 -extern(Windows) export HMETAFILE CopyMetaFileA(HMETAFILE, LPCSTR); 2729 -extern(Windows) export HMETAFILE CopyMetaFileW(HMETAFILE, LPCWSTR); 2730 -// #ifdef UNICODE 2731 -// #... 2732 -// #else 2733 -alias CopyMetaFileA CopyMetaFile; 2734 -// #endif // !UNICODE 2735 -extern(Windows) export HBITMAP CreateBitmap(int, int, UINT, UINT, VOID *); 2736 -extern(Windows) export HBITMAP CreateBitmapIndirect(BITMAP *); 2737 -extern(Windows) export HBRUSH CreateBrushIndirect(LOGBRUSH *); 2738 -extern(Windows) export HBITMAP CreateCompatibleBitmap(HDC, int, int); 2739 -extern(Windows) export HBITMAP CreateDiscardableBitmap(HDC, int, int); 2740 -extern(Windows) export HDC CreateCompatibleDC(HDC); 2741 -extern(Windows) export HDC CreateDCA(LPCSTR, LPCSTR, LPCSTR, DEVMODEA *); 2742 -extern(Windows) export HDC CreateDCW(LPCWSTR, LPCWSTR, LPCWSTR, DEVMODEW *); 2743 -// #ifdef UNICODE 2744 -// #... 2745 -// #else 2746 -alias CreateDCA CreateDC; 2747 -// #endif // !UNICODE 2748 -extern(Windows) export HBITMAP CreateDIBitmap(HDC, BITMAPINFOHEADER *, DWORD, VOID *, BITMAPINFO *, UINT); 2749 -extern(Windows) export HBRUSH CreateDIBPatternBrush(HGLOBAL, UINT); 2750 -extern(Windows) export HBRUSH CreateDIBPatternBrushPt(VOID *, UINT); 2751 -extern(Windows) export HRGN CreateEllipticRgn(int, int, int, int); 2752 -extern(Windows) export HRGN CreateEllipticRgnIndirect(RECT *); 2753 -extern(Windows) export HFONT CreateFontIndirectA(LOGFONTA *); 2754 -extern(Windows) export HFONT CreateFontIndirectW(LOGFONTW *); 2755 -// #ifdef UNICODE 2756 -// #... 2757 -// #else 2758 -alias CreateFontIndirectA CreateFontIndirect; 2759 -// #endif // !UNICODE 2760 -extern(Windows) export HFONT CreateFontA(int, int, int, int, int, DWORD, 2761 - DWORD, DWORD, DWORD, DWORD, DWORD, 2762 - DWORD, DWORD, LPCSTR); 2763 -extern(Windows) export HFONT CreateFontW(int, int, int, int, int, DWORD, 2764 - DWORD, DWORD, DWORD, DWORD, DWORD, 2765 - DWORD, DWORD, LPCWSTR); 2766 -// #ifdef UNICODE 2767 -// #... 2768 -// #else 2769 -alias CreateFontA CreateFont; 2770 -// #endif // !UNICODE 2771 - 2772 -extern(Windows) export HBRUSH CreateHatchBrush(int, COLORREF); 2773 -extern(Windows) export HDC CreateICA(LPCSTR, LPCSTR, LPCSTR, DEVMODEA *); 2774 -extern(Windows) export HDC CreateICW(LPCWSTR, LPCWSTR, LPCWSTR, DEVMODEW *); 2775 -// #ifdef UNICODE 2776 -// #... 2777 -// #else 2778 -alias CreateICA CreateIC; 2779 -// #endif // !UNICODE 2780 -extern(Windows) export HDC CreateMetaFileA(LPCSTR); 2781 -extern(Windows) export HDC CreateMetaFileW(LPCWSTR); 2782 -// #ifdef UNICODE 2783 -// #... 2784 -// #else 2785 -alias CreateMetaFileA CreateMetaFile; 2786 -// #endif // !UNICODE 2787 -extern(Windows) export HPALETTE CreatePalette(LOGPALETTE *); 2788 -extern(Windows) export HPEN CreatePen(int, int, COLORREF); 2789 -extern(Windows) export HPEN CreatePenIndirect(LOGPEN *); 2790 -extern(Windows) export HRGN CreatePolyPolygonRgn(POINT *, INT *, int, int); 2791 -extern(Windows) export HBRUSH CreatePatternBrush(HBITMAP); 2792 -extern(Windows) export HRGN CreateRectRgn(int, int, int, int); 2793 -extern(Windows) export HRGN CreateRectRgnIndirect(RECT *); 2794 -extern(Windows) export HRGN CreateRoundRectRgn(int, int, int, int, int, int); 2795 -extern(Windows) export BOOL CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPCSTR); 2796 -extern(Windows) export BOOL CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR); 2797 -// #ifdef UNICODE 2798 -// #... 2799 -// #else 2800 -alias CreateScalableFontResourceA CreateScalableFontResource; 2801 -// #endif // !UNICODE 2802 -extern(Windows) export HBRUSH CreateSolidBrush(COLORREF); 2803 - 2804 -extern(Windows) export BOOL DeleteDC(HDC); 2805 -extern(Windows) export BOOL DeleteMetaFile(HMETAFILE); 2806 -extern(Windows) export BOOL DeleteObject(HGDIOBJ); 2807 -extern(Windows) export int DescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR); 2808 - 2809 -extern(Windows) alias UINT function(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT) LPFNDEVMODE; 2810 - 2811 -extern(Windows) alias DWORD function(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE) LPFNDEVCAPS; 2812 - 2813 -enum : uint { DM_UPDATE = 1 } 2814 -enum : uint { DM_COPY = 2 } 2815 -enum : uint { DM_PROMPT = 4 } 2816 -enum : uint { DM_MODIFY = 8 } 2817 - 2818 -alias DM_MODIFY DM_IN_BUFFER; 2819 -alias DM_PROMPT DM_IN_PROMPT; 2820 -alias DM_COPY DM_OUT_BUFFER; 2821 -alias DM_UPDATE DM_OUT_DEFAULT; 2822 - 2823 -enum : uint { DC_FIELDS = 1 } 2824 -enum : uint { DC_PAPERS = 2 } 2825 -enum : uint { DC_PAPERSIZE = 3 } 2826 -enum : uint { DC_MINEXTENT = 4 } 2827 -enum : uint { DC_MAXEXTENT = 5 } 2828 -enum : uint { DC_BINS = 6 } 2829 -enum : uint { DC_DUPLEX = 7 } 2830 -enum : uint { DC_SIZE = 8 } 2831 -enum : uint { DC_EXTRA = 9 } 2832 -enum : uint { DC_VERSION = 10 } 2833 -enum : uint { DC_DRIVER = 11 } 2834 -enum : uint { DC_BINNAMES = 12 } 2835 -enum : uint { DC_ENUMRESOLUTIONS = 13 } 2836 -enum : uint { DC_FILEDEPENDENCIES = 14 } 2837 -enum : uint { DC_TRUETYPE = 15 } 2838 -enum : uint { DC_PAPERNAMES = 16 } 2839 -enum : uint { DC_ORIENTATION = 17 } 2840 -enum : uint { DC_COPIES = 18 } 2841 -// #if(WINVER >= 0x0400) 2842 -enum : uint { DC_BINADJUST = 19 } 2843 -enum : uint { DC_EMF_COMPLIANT = 20 } 2844 -enum : uint { DC_DATATYPE_PRODUCED = 21 } 2845 -enum : uint { DC_COLLATE = 22 } 2846 -enum : uint { DC_MANUFACTURER = 23 } 2847 -enum : uint { DC_MODEL = 24 } 2848 -// #endif /* WINVER >= 0x0400 */ 2849 - 2850 -// #if(WINVER >= 0x0500) 2851 -enum : uint { DC_PERSONALITY = 25 } 2852 -enum : uint { DC_PRINTRATE = 26 } 2853 -enum : uint { DC_PRINTRATEUNIT = 27 } 2854 -enum : uint { PRINTRATEUNIT_PPM = 1 } 2855 -enum : uint { PRINTRATEUNIT_CPS = 2 } 2856 -enum : uint { PRINTRATEUNIT_LPM = 3 } 2857 -enum : uint { PRINTRATEUNIT_IPM = 4 } 2858 -enum : uint { DC_PRINTERMEM = 28 } 2859 -enum : uint { DC_MEDIAREADY = 29 } 2860 -enum : uint { DC_STAPLE = 30 } 2861 -enum : uint { DC_PRINTRATEPPM = 31 } 2862 -enum : uint { DC_COLORDEVICE = 32 } 2863 -enum : uint { DC_NUP = 33 } 2864 -enum : uint { DC_MEDIATYPENAMES = 34 } 2865 -enum : uint { DC_MEDIATYPES = 35 } 2866 -// #endif /* WINVER >= 0x0500 */ 2867 - 2868 -enum : uint { DCTT_BITMAP = 0x0000001 } 2869 -enum : uint { DCTT_DOWNLOAD = 0x0000002 } 2870 -enum : uint { DCTT_SUBDEV = 0x0000004 } 2871 -// #if(WINVER >= 0x0400) 2872 -enum : uint { DCTT_DOWNLOAD_OUTLINE = 0x0000008 } 2873 - 2874 -enum : uint { DCBA_FACEUPNONE = 0x0000 } 2875 -enum : uint { DCBA_FACEUPCENTER = 0x0001 } 2876 -enum : uint { DCBA_FACEUPLEFT = 0x0002 } 2877 -enum : uint { DCBA_FACEUPRIGHT = 0x0003 } 2878 -enum : uint { DCBA_FACEDOWNNONE = 0x0100 } 2879 -enum : uint { DCBA_FACEDOWNCENTER = 0x0101 } 2880 -enum : uint { DCBA_FACEDOWNLEFT = 0x0102 } 2881 -enum : uint { DCBA_FACEDOWNRIGHT = 0x0103 } 2882 -// #endif /* WINVER >= 0x0400 */ 2883 - 2884 -extern(Windows) export int DeviceCapabilitiesA(LPCSTR, LPCSTR, WORD, 2885 - LPSTR, DEVMODEA *); 2886 -extern(Windows) export int DeviceCapabilitiesW(LPCWSTR, LPCWSTR, WORD, 2887 - LPWSTR, DEVMODEW *); 2888 -// #ifdef UNICODE 2889 -// #... 2890 -// #else 2891 -alias DeviceCapabilitiesA DeviceCapabilities; 2892 -// #endif // !UNICODE 2893 - 2894 -extern(Windows) export int DrawEscape(HDC, int, int, LPCSTR); 2895 -extern(Windows) export BOOL Ellipse(HDC, int, int, int, int); 2896 - 2897 -// #if(WINVER >= 0x0400) 2898 -extern(Windows) export int EnumFontFamiliesExA(HDC, LPLOGFONTA, FONTENUMPROCA, LPARAM, DWORD); 2899 -extern(Windows) export int EnumFontFamiliesExW(HDC, LPLOGFONTW, FONTENUMPROCW, LPARAM, DWORD); 2900 -// #ifdef UNICODE 2901 -// #... 2902 -// #else 2903 -alias EnumFontFamiliesExA EnumFontFamiliesEx; 2904 -// #endif // !UNICODE 2905 -// #endif /* WINVER >= 0x0400 */ 2906 - 2907 -extern(Windows) export int EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROCA, LPARAM); 2908 -extern(Windows) export int EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROCW, LPARAM); 2909 -// #ifdef UNICODE 2910 -// #... 2911 -// #else 2912 -alias EnumFontFamiliesA EnumFontFamilies; 2913 -// #endif // !UNICODE 2914 -extern(Windows) export int EnumFontsA(HDC, LPCSTR, FONTENUMPROCA, LPARAM); 2915 -extern(Windows) export int EnumFontsW(HDC, LPCWSTR, FONTENUMPROCW, LPARAM); 2916 -// #ifdef UNICODE 2917 -// #... 2918 -// #else 2919 -alias EnumFontsA EnumFonts; 2920 -// #endif // !UNICODE 2921 - 2922 -// #ifdef STRICT 2923 -extern(Windows) export int EnumObjects(HDC, int, GOBJENUMPROC, LPARAM); 2924 -// #else 2925 -// ... 2926 -// #endif 2927 - 2928 -extern(Windows) export BOOL EqualRgn(HRGN, HRGN); 2929 -extern(Windows) export int Escape(HDC, int, int, LPCSTR, LPVOID); 2930 -extern(Windows) export int ExtEscape(HDC, int, int, LPCSTR, int, LPSTR); 2931 -extern(Windows) export int ExcludeClipRect(HDC, int, int, int, int); 2932 -extern(Windows) export HRGN ExtCreateRegion(XFORM *, DWORD, RGNDATA *); 2933 -extern(Windows) export BOOL ExtFloodFill(HDC, int, int, COLORREF, UINT); 2934 -extern(Windows) export BOOL FillRgn(HDC, HRGN, HBRUSH); 2935 -extern(Windows) export BOOL FloodFill(HDC, int, int, COLORREF); 2936 -extern(Windows) export BOOL FrameRgn(HDC, HRGN, HBRUSH, int, int); 2937 -extern(Windows) export int GetROP2(HDC); 2938 -extern(Windows) export BOOL GetAspectRatioFilterEx(HDC, LPSIZE); 2939 -extern(Windows) export COLORREF GetBkColor(HDC); 2940 - 2941 -// #if (_WIN32_WINNT >= 0x0500) 2942 -extern(Windows) export COLORREF GetDCBrushColor(HDC); 2943 -extern(Windows) export COLORREF GetDCPenColor(HDC); 2944 -// #endif 2945 - 2946 -extern(Windows) export int GetBkMode(HDC); 2947 -extern(Windows) export LONG GetBitmapBits(HBITMAP, LONG, LPVOID); 2948 -extern(Windows) export BOOL GetBitmapDimensionEx(HBITMAP, LPSIZE); 2949 -extern(Windows) export UINT GetBoundsRect(HDC, LPRECT, UINT); 2950 - 2951 -extern(Windows) export BOOL GetBrushOrgEx(HDC, LPPOINT); 2952 - 2953 -extern(Windows) export BOOL GetCharWidthA(HDC, UINT, UINT, LPINT); 2954 -extern(Windows) export BOOL GetCharWidthW(HDC, UINT, UINT, LPINT); 2955 -// #ifdef UNICODE 2956 -// #... 2957 -// #else 2958 -alias GetCharWidthA GetCharWidth; 2959 -// #endif // !UNICODE 2960 -extern(Windows) export BOOL GetCharWidth32A(HDC, UINT, UINT, LPINT); 2961 -extern(Windows) export BOOL GetCharWidth32W(HDC, UINT, UINT, LPINT); 2962 -// #ifdef UNICODE 2963 -// #... 2964 -// #else 2965 -alias GetCharWidth32A GetCharWidth32; 2966 -// #endif // !UNICODE 2967 -extern(Windows) export BOOL GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT); 2968 -extern(Windows) export BOOL GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT); 2969 -// #ifdef UNICODE 2970 -// #... 2971 -// #else 2972 -alias GetCharWidthFloatA GetCharWidthFloat; 2973 -// #endif // !UNICODE 2974 -extern(Windows) export BOOL GetCharABCWidthsA(HDC, UINT, UINT, LPABC); 2975 -extern(Windows) export BOOL GetCharABCWidthsW(HDC, UINT, UINT, LPABC); 2976 -// #ifdef UNICODE 2977 -// #... 2978 -// #else 2979 -alias GetCharABCWidthsA GetCharABCWidths; 2980 -// #endif // !UNICODE 2981 -extern(Windows) export BOOL GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT); 2982 -extern(Windows) export BOOL GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT); 2983 -// #ifdef UNICODE 2984 -// #... 2985 -// #else 2986 -alias GetCharABCWidthsFloatA GetCharABCWidthsFloat; 2987 -// #endif // !UNICODE 2988 -extern(Windows) export int GetClipBox(HDC, LPRECT); 2989 -extern(Windows) export int GetClipRgn(HDC, HRGN); 2990 -extern(Windows) export int GetMetaRgn(HDC, HRGN); 2991 -extern(Windows) export HGDIOBJ GetCurrentObject(HDC, UINT); 2992 -extern(Windows) export BOOL GetCurrentPositionEx(HDC, LPPOINT); 2993 -extern(Windows) export int GetDeviceCaps(HDC, int); 2994 -extern(Windows) export int GetDIBits(HDC, HBITMAP, UINT, UINT, LPVOID, LPBITMAPINFO, UINT); 2995 -extern(Windows) export DWORD GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD); 2996 -extern(Windows) export DWORD GetGlyphOutlineA(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, MAT2 *); 2997 -extern(Windows) export DWORD GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, MAT2 *); 2998 -// #ifdef UNICODE 2999 -// #... 3000 -// #else 3001 -alias GetGlyphOutlineA GetGlyphOutline; 3002 -// #endif // !UNICODE 3003 -extern(Windows) export int GetGraphicsMode(HDC); 3004 -extern(Windows) export int GetMapMode(HDC); 3005 -extern(Windows) export UINT GetMetaFileBitsEx(HMETAFILE, UINT, LPVOID); 3006 -extern(Windows) export HMETAFILE GetMetaFileA(LPCSTR); 3007 -extern(Windows) export HMETAFILE GetMetaFileW(LPCWSTR); 3008 -// #ifdef UNICODE 3009 -// #... 3010 -// #else 3011 -alias GetMetaFileA GetMetaFile; 3012 -// #endif // !UNICODE 3013 -extern(Windows) export COLORREF GetNearestColor(HDC, COLORREF); 3014 -extern(Windows) export UINT GetNearestPaletteIndex(HPALETTE, COLORREF); 3015 -extern(Windows) export DWORD GetObjectType(HGDIOBJ h); 3016 - 3017 -// #ifndef NOTEXTMETRIC 3018 - 3019 -extern(Windows) export UINT GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRICA); 3020 -extern(Windows) export UINT GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRICW); 3021 -// #ifdef UNICODE 3022 -// #... 3023 -// #else 3024 -alias GetOutlineTextMetricsA GetOutlineTextMetrics; 3025 -// #endif // !UNICODE 3026 - 3027 -// #endif /* NOTEXTMETRIC */ 3028 - 3029 -extern(Windows) export UINT GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY); 3030 -extern(Windows) export COLORREF GetPixel(HDC, int, int); 3031 -extern(Windows) export int GetPixelFormat(HDC); 3032 -extern(Windows) export int GetPolyFillMode(HDC); 3033 -extern(Windows) export BOOL GetRasterizerCaps(LPRASTERIZER_STATUS, UINT); 3034 -extern(Windows) export int GetRandomRgn(HDC, HRGN, INT); 3035 -extern(Windows) export DWORD GetRegionData(HRGN, DWORD, LPRGNDATA); 3036 -extern(Windows) export int GetRgnBox(HRGN, LPRECT); 3037 -extern(Windows) export HGDIOBJ GetStockObject(int); 3038 -extern(Windows) export int GetStretchBltMode(HDC); 3039 -extern(Windows) export UINT GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY); 3040 -extern(Windows) export UINT GetSystemPaletteUse(HDC); 3041 -extern(Windows) export int GetTextCharacterExtra(HDC); 3042 -extern(Windows) export UINT GetTextAlign(HDC); 3043 -extern(Windows) export COLORREF GetTextColor(HDC); 3044 - 3045 -extern(Windows) export BOOL GetTextExtentPointA( 3046 - HDC, 3047 - LPCSTR, 3048 - int, 3049 - LPSIZE); 3050 -extern(Windows) export BOOL GetTextExtentPointW( 3051 - HDC, 3052 - LPCWSTR, 3053 - int, 3054 - LPSIZE); 3055 -// #ifdef UNICODE 3056 -// #... 3057 -// #else 3058 -alias GetTextExtentPointA GetTextExtentPoint; 3059 -// #endif // !UNICODE 3060 - 3061 -extern(Windows) export BOOL GetTextExtentPoint32A( 3062 - HDC, 3063 - LPCSTR, 3064 - int, 3065 - LPSIZE); 3066 -extern(Windows) export BOOL GetTextExtentPoint32W( 3067 - HDC, 3068 - LPCWSTR, 3069 - int, 3070 - LPSIZE); 3071 -// #ifdef UNICODE 3072 -// #... 3073 -// #else 3074 -alias GetTextExtentPoint32A GetTextExtentPoint32; 3075 -// #endif // !UNICODE 3076 - 3077 -extern(Windows) export BOOL GetTextExtentExPointA( 3078 - HDC, 3079 - LPCSTR, 3080 - int, 3081 - int, 3082 - LPINT, 3083 - LPINT, 3084 - LPSIZE); 3085 -extern(Windows) export BOOL GetTextExtentExPointW( 3086 - HDC, 3087 - LPCWSTR, 3088 - int, 3089 - int, 3090 - LPINT, 3091 - LPINT, 3092 - LPSIZE); 3093 -// #ifdef UNICODE 3094 -// #... 3095 -// #else 3096 -alias GetTextExtentExPointA GetTextExtentExPoint; 3097 -// #endif // !UNICODE 3098 -// #if(WINVER >= 0x0400) 3099 -extern(Windows) export int GetTextCharset(HDC hdc); 3100 -extern(Windows) export int GetTextCharsetInfo(HDC hdc, LPFONTSIGNATURE lpSig, DWORD dwFlags); 3101 -extern(Windows) export BOOL TranslateCharsetInfo(DWORD *lpSrc, LPCHARSETINFO lpCs, DWORD dwFlags); 3102 -extern(Windows) export DWORD GetFontLanguageInfo(HDC ); 3103 -extern(Windows) export DWORD GetCharacterPlacementA(HDC, LPCSTR, int, int, LPGCP_RESULTSA, DWORD); 3104 -extern(Windows) export DWORD GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTSW, DWORD); 3105 -// #ifdef UNICODE 3106 -// #... 3107 -// #else 3108 -alias GetCharacterPlacementA GetCharacterPlacement; 3109 -// #endif // !UNICODE 3110 -// #endif /* WINVER >= 0x0400 */ 3111 - 3112 -// #if (_WIN32_WINNT >= 0x0500) 3113 - 3114 -struct tagWCRANGE { 3115 - WCHAR wcLow; 3116 - USHORT cGlyphs; 3117 -} 3118 -alias tagWCRANGE WCRANGE; 3119 -alias tagWCRANGE* PWCRANGE; 3120 -alias tagWCRANGE* LPWCRANGE; 3121 - 3122 -struct tagGLYPHSET { 3123 - DWORD cbThis; 3124 - DWORD flAccel; 3125 - DWORD cGlyphsSupported; 3126 - DWORD cRanges; 3127 - WCRANGE ranges[1]; 3128 -} 3129 -alias tagGLYPHSET GLYPHSET; 3130 -alias tagGLYPHSET* PGLYPHSET; 3131 -alias tagGLYPHSET* LPGLYPHSET; 3132 - 3133 -enum : uint { GS_8BIT_INDICES = 0x00000001 } 3134 - 3135 -enum : uint { GGI_MARK_NONEXISTING_GLYPHS = 0X0001 } 3136 - 3137 -extern(Windows) export DWORD GetFontUnicodeRanges(HDC, LPGLYPHSET); 3138 -extern(Windows) export DWORD GetGlyphIndicesA(HDC, LPCSTR, int, LPWORD, DWORD); 3139 -extern(Windows) export DWORD GetGlyphIndicesW(HDC, LPCWSTR, int, LPWORD, DWORD); 3140 -// #ifdef UNICODE 3141 -// #... 3142 -// #else 3143 -alias GetGlyphIndicesA GetGlyphIndices; 3144 -// #endif // !UNICODE 3145 -extern(Windows) export BOOL GetTextExtentPointI(HDC, LPWORD, int, LPSIZE); 3146 -extern(Windows) export BOOL GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE); 3147 -extern(Windows) export BOOL GetCharWidthI(HDC, UINT, UINT, LPWORD, LPINT); 3148 -extern(Windows) export BOOL GetCharABCWidthsI(HDC, UINT, UINT, LPWORD, LPABC); 3149 - 3150 -enum : uint { STAMP_DESIGNVECTOR = 0x8000000 + 'd' + ('v' << 8) } 3151 -enum : uint { STAMP_AXESLIST = 0x8000000 + 'a' + ('l' << 8) } 3152 -enum : uint { MM_MAX_NUMAXES = 16 } 3153 - 3154 -struct tagDESIGNVECTOR { 3155 - DWORD dvReserved; 3156 - DWORD dvNumAxes; 3157 - LONG dvValues[MM_MAX_NUMAXES]; 3158 -} 3159 -alias tagDESIGNVECTOR DESIGNVECTOR; 3160 -alias tagDESIGNVECTOR* PDESIGNVECTOR; 3161 -alias tagDESIGNVECTOR* LPDESIGNVECTOR; 3162 - 3163 -extern(Windows) export int AddFontResourceExA(LPCSTR, DWORD, PVOID); 3164 -extern(Windows) export int AddFontResourceExW(LPCWSTR, DWORD, PVOID); 3165 -// #ifdef UNICODE 3166 -// #... 3167 -// #else 3168 -alias AddFontResourceExA AddFontResourceEx; 3169 -// #endif // !UNICODE 3170 -extern(Windows) export BOOL RemoveFontResourceExA(LPCSTR, DWORD, PVOID); 3171 -extern(Windows) export BOOL RemoveFontResourceExW(LPCWSTR, DWORD, PVOID); 3172 -// #ifdef UNICODE 3173 -// #... 3174 -// #else 3175 -alias RemoveFontResourceExA RemoveFontResourceEx; 3176 -// #endif // !UNICODE 3177 -extern(Windows) export HANDLE AddFontMemResourceEx(PVOID, DWORD, PVOID , DWORD*); 3178 -extern(Windows) export BOOL RemoveFontMemResourceEx(HANDLE); 3179 -enum : uint { FR_PRIVATE = 0x10 } 3180 -enum : uint { FR_NOT_ENUM = 0x20 } 3181 - 3182 -enum : uint { MM_MAX_AXES_NAMELEN = 16 } 3183 - 3184 -struct tagAXISINFOA { 3185 - LONG axMinValue; 3186 - LONG axMaxValue; 3187 - BYTE axAxisName[MM_MAX_AXES_NAMELEN]; 3188 -} 3189 -alias tagAXISINFOA AXISINFOA; 3190 -alias tagAXISINFOA* PAXISINFOA; 3191 -alias tagAXISINFOA* LPAXISINFOA; 3192 - 3193 -struct tagAXISINFOW { 3194 - LONG axMinValue; 3195 - LONG axMaxValue; 3196 - WCHAR axAxisName[MM_MAX_AXES_NAMELEN]; 3197 -} 3198 -alias tagAXISINFOW AXISINFOW; 3199 -alias tagAXISINFOW* PAXISINFOW; 3200 -alias tagAXISINFOW* LPAXISINFOW; 3201 - 3202 -// #ifdef UNICODE 3203 -// ... 3204 -// #else 3205 -alias AXISINFOA AXISINFO; 3206 -alias PAXISINFOA PAXISINFO; 3207 -alias LPAXISINFOA LPAXISINFO; 3208 -// #endif // UNICODE 3209 - 3210 -struct tagAXESLISTA { 3211 - DWORD axlReserved; 3212 - DWORD axlNumAxes; 3213 - AXISINFOA axlAxisInfo[MM_MAX_NUMAXES]; 3214 -} 3215 -alias tagAXESLISTA AXESLISTA; 3216 -alias tagAXESLISTA* PAXESLISTA; 3217 -alias tagAXESLISTA* LPAXESLISTA; 3218 - 3219 -struct tagAXESLISTW { 3220 - DWORD axlReserved; 3221 - DWORD axlNumAxes; 3222 - AXISINFOW axlAxisInfo[MM_MAX_NUMAXES]; 3223 -} 3224 -alias tagAXESLISTW AXESLISTW; 3225 -alias tagAXESLISTW* PAXESLISTW; 3226 -alias tagAXESLISTW* LPAXESLISTW; 3227 - 3228 -// #ifdef UNICODE 3229 -// ... 3230 -// #else 3231 -alias AXESLISTA AXESLIST; 3232 -alias PAXESLISTA PAXESLIST; 3233 -alias LPAXESLISTA LPAXESLIST; 3234 -// #endif // UNICODE 3235 - 3236 -struct tagENUMLOGFONTEXDVA { 3237 - ENUMLOGFONTEXA elfEnumLogfontEx; 3238 - DESIGNVECTOR elfDesignVector; 3239 -} 3240 -alias tagENUMLOGFONTEXDVA ENUMLOGFONTEXDVA; 3241 -alias tagENUMLOGFONTEXDVA* PENUMLOGFONTEXDVA; 3242 -alias tagENUMLOGFONTEXDVA* LPENUMLOGFONTEXDVA; 3243 - 3244 -struct tagENUMLOGFONTEXDVW { 3245 - ENUMLOGFONTEXW elfEnumLogfontEx; 3246 - DESIGNVECTOR elfDesignVector; 3247 -} 3248 -alias tagENUMLOGFONTEXDVW ENUMLOGFONTEXDVW; 3249 -alias tagENUMLOGFONTEXDVW* PENUMLOGFONTEXDVW; 3250 -alias tagENUMLOGFONTEXDVW* LPENUMLOGFONTEXDVW; 3251 - 3252 -// #ifdef UNICODE 3253 -// ... 3254 -// #else 3255 -alias ENUMLOGFONTEXDVA ENUMLOGFONTEXDV; 3256 -alias PENUMLOGFONTEXDVA PENUMLOGFONTEXDV; 3257 -alias LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV; 3258 -// #endif // UNICODE 3259 - 3260 -extern(Windows) export HFONT CreateFontIndirectExA(ENUMLOGFONTEXDVA *); 3261 -extern(Windows) export HFONT CreateFontIndirectExW(ENUMLOGFONTEXDVW *); 3262 -// #ifdef UNICODE 3263 -// #... 3264 -// #else 3265 -alias CreateFontIndirectExA CreateFontIndirectEx; 3266 -// #endif // !UNICODE 3267 - 3268 -// #ifndef NOTEXTMETRIC 3269 -struct tagENUMTEXTMETRICA { 3270 - NEWTEXTMETRICEXA etmNewTextMetricEx; 3271 - AXESLISTA etmAxesList; 3272 -} 3273 -alias tagENUMTEXTMETRICA ENUMTEXTMETRICA; 3274 -alias tagENUMTEXTMETRICA* PENUMTEXTMETRICA; 3275 -alias tagENUMTEXTMETRICA* LPENUMTEXTMETRICA; 3276 - 3277 -struct tagENUMTEXTMETRICW { 3278 - NEWTEXTMETRICEXW etmNewTextMetricEx; 3279 - AXESLISTW etmAxesList; 3280 -} 3281 -alias tagENUMTEXTMETRICW ENUMTEXTMETRICW; 3282 -alias tagENUMTEXTMETRICW* PENUMTEXTMETRICW; 3283 -alias tagENUMTEXTMETRICW* LPENUMTEXTMETRICW; 3284 - 3285 -// #ifdef UNICODE 3286 -// ... 3287 -// #else 3288 -alias ENUMTEXTMETRICA ENUMTEXTMETRIC; 3289 -alias PENUMTEXTMETRICA PENUMTEXTMETRIC; 3290 -alias LPENUMTEXTMETRICA LPENUMTEXTMETRIC; 3291 -// #endif // UNICODE 3292 -// #endif /* NOTEXTMETRIC */ 3293 - 3294 -// #endif // (_WIN32_WINNT >= 0x0500) 3295 - 3296 -extern(Windows) export BOOL GetViewportExtEx(HDC, LPSIZE); 3297 -extern(Windows) export BOOL GetViewportOrgEx(HDC, LPPOINT); 3298 -extern(Windows) export BOOL GetWindowExtEx(HDC, LPSIZE); 3299 -extern(Windows) export BOOL GetWindowOrgEx(HDC, LPPOINT); 3300 - 3301 -extern(Windows) export int IntersectClipRect(HDC, int, int, int, int); 3302 -extern(Windows) export BOOL InvertRgn(HDC, HRGN); 3303 -extern(Windows) export BOOL LineDDA(int, int, int, int, LINEDDAPROC, LPARAM); 3304 -extern(Windows) export BOOL LineTo(HDC, int, int); 3305 -extern(Windows) export BOOL MaskBlt(HDC, int, int, int, int, 3306 - HDC, int, int, HBITMAP, int, int, DWORD); 3307 -extern(Windows) export BOOL PlgBlt(HDC, POINT *, HDC, int, int, int, 3308 - int, HBITMAP, int, int); 3309 - 3310 -extern(Windows) export int OffsetClipRgn(HDC, int, int); 3311 -extern(Windows) export int OffsetRgn(HRGN, int, int); 3312 -extern(Windows) export BOOL PatBlt(HDC, int, int, int, int, DWORD); 3313 -extern(Windows) export BOOL Pie(HDC, int, int, int, int, int, int, int, int); 3314 -extern(Windows) export BOOL PlayMetaFile(HDC, HMETAFILE); 3315 -extern(Windows) export BOOL PaintRgn(HDC, HRGN); 3316 -extern(Windows) export BOOL PolyPolygon(HDC, POINT *, INT *, int); 3317 -extern(Windows) export BOOL PtInRegion(HRGN, int, int); 3318 -extern(Windows) export BOOL PtVisible(HDC, int, int); 3319 -extern(Windows) export BOOL RectInRegion(HRGN, RECT *); 3320 -extern(Windows) export BOOL RectVisible(HDC, RECT *); 3321 -extern(Windows) export BOOL Rectangle(HDC, int, int, int, int); 3322 -extern(Windows) export BOOL RestoreDC(HDC, int); 3323 -extern(Windows) export HDC ResetDCA(HDC, DEVMODEA *); 3324 -extern(Windows) export HDC ResetDCW(HDC, DEVMODEW *); 3325 -// #ifdef UNICODE 3326 -// #... 3327 -// #else 3328 -alias ResetDCA ResetDC; 3329 -// #endif // !UNICODE 3330 -extern(Windows) export UINT RealizePalette(HDC); 3331 -extern(Windows) export BOOL RemoveFontResourceA(LPCSTR); 3332 -extern(Windows) export BOOL RemoveFontResourceW(LPCWSTR); 3333 -// #ifdef UNICODE 3334 -// #... 3335 -// #else 3336 -alias RemoveFontResourceA RemoveFontResource; 3337 -// #endif // !UNICODE 3338 -extern(Windows) export BOOL RoundRect(HDC, int, int, int, int, int, int); 3339 -extern(Windows) export BOOL ResizePalette(HPALETTE, UINT); 3340 - 3341 -extern(Windows) export int SaveDC(HDC); 3342 -extern(Windows) export int SelectClipRgn(HDC, HRGN); 3343 -extern(Windows) export int ExtSelectClipRgn(HDC, HRGN, int); 3344 -extern(Windows) export int SetMetaRgn(HDC); 3345 -extern(Windows) export HGDIOBJ SelectObject(HDC, HGDIOBJ); 3346 -extern(Windows) export HPALETTE SelectPalette(HDC, HPALETTE, BOOL); 3347 -extern(Windows) export COLORREF SetBkColor(HDC, COLORREF); 3348 - 3349 -// #if (_WIN32_WINNT >= 0x0500) 3350 -extern(Windows) export COLORREF SetDCBrushColor(HDC, COLORREF); 3351 -extern(Windows) export COLORREF SetDCPenColor(HDC, COLORREF); 3352 -// #endif 3353 - 3354 -extern(Windows) export int SetBkMode(HDC, int); 3355 -extern(Windows) export LONG SetBitmapBits(HBITMAP, DWORD, VOID *); 3356 - 3357 -extern(Windows) export UINT SetBoundsRect(HDC, RECT *, UINT); 3358 -extern(Windows) export int SetDIBits(HDC, HBITMAP, UINT, UINT, VOID *, BITMAPINFO *, UINT); 3359 -extern(Windows) export int SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int, 3360 - int, UINT, UINT, VOID *, BITMAPINFO *, UINT); 3361 -extern(Windows) export DWORD SetMapperFlags(HDC, DWORD); 3362 -extern(Windows) export int SetGraphicsMode(HDC hdc, int iMode); 3363 -extern(Windows) export int SetMapMode(HDC, int); 3364 - 3365 -// #if(WINVER >= 0x0500) 3366 -extern(Windows) export DWORD SetLayout(HDC, DWORD); 3367 -extern(Windows) export DWORD GetLayout(HDC); 3368 -// #endif /* WINVER >= 0x0500 */ 3369 - 3370 -extern(Windows) export HMETAFILE SetMetaFileBitsEx(UINT, BYTE *); 3371 -extern(Windows) export UINT SetPaletteEntries(HPALETTE, UINT, UINT, PALETTEENTRY *); 3372 -extern(Windows) export COLORREF SetPixel(HDC, int, int, COLORREF); 3373 -extern(Windows) export BOOL SetPixelV(HDC, int, int, COLORREF); 3374 -extern(Windows) export BOOL SetPixelFormat(HDC, int, PIXELFORMATDESCRIPTOR *); 3375 -extern(Windows) export int SetPolyFillMode(HDC, int); 3376 -extern(Windows) export BOOL StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD); 3377 -extern(Windows) export BOOL SetRectRgn(HRGN, int, int, int, int); 3378 -extern(Windows) export int StretchDIBits(HDC, int, int, int, int, int, int, int, int, 3379 - VOID *, BITMAPINFO *, UINT, DWORD); 3380 -extern(Windows) export int SetROP2(HDC, int); 3381 -extern(Windows) export int SetStretchBltMode(HDC, int); 3382 -extern(Windows) export UINT SetSystemPaletteUse(HDC, UINT); 3383 -extern(Windows) export int SetTextCharacterExtra(HDC, int); 3384 -extern(Windows) export COLORREF SetTextColor(HDC, COLORREF); 3385 -extern(Windows) export UINT SetTextAlign(HDC, UINT); 3386 -extern(Windows) export BOOL SetTextJustification(HDC, int, int); 3387 -extern(Windows) export BOOL UpdateColors(HDC); 3388 - 3389 -// #if (WINVER >= 0x0400) 3390 - 3391 -alias USHORT COLOR16; 3392 - 3393 -struct _TRIVERTEX { 3394 - LONG x; 3395 - LONG y; 3396 - COLOR16 Red; 3397 - COLOR16 Green; 3398 - COLOR16 Blue; 3399 - COLOR16 Alpha; 3400 -} 3401 -alias _TRIVERTEX TRIVERTEX; 3402 -alias _TRIVERTEX* PTRIVERTEX; 3403 -alias _TRIVERTEX* LPTRIVERTEX; 3404 - 3405 -struct _GRADIENT_TRIANGLE { 3406 - ULONG Vertex1; 3407 - ULONG Vertex2; 3408 - ULONG Vertex3; 3409 -} 3410 -alias _GRADIENT_TRIANGLE GRADIENT_TRIANGLE; 3411 -alias _GRADIENT_TRIANGLE* PGRADIENT_TRIANGLE; 3412 -alias _GRADIENT_TRIANGLE* LPGRADIENT_TRIANGLE; 3413 - 3414 -struct _GRADIENT_RECT { 3415 - ULONG UpperLeft; 3416 - ULONG LowerRight; 3417 -} 3418 -alias _GRADIENT_RECT GRADIENT_RECT; 3419 -alias _GRADIENT_RECT* PGRADIENT_RECT; 3420 -alias _GRADIENT_RECT* LPGRADIENT_RECT; 3421 - 3422 -struct _BLENDFUNCTION { 3423 - BYTE BlendOp; 3424 - BYTE BlendFlags; 3425 - BYTE SourceConstantAlpha; 3426 - BYTE AlphaFormat; 3427 -} 3428 -alias _BLENDFUNCTION BLENDFUNCTION; 3429 -alias _BLENDFUNCTION* PBLENDFUNCTION; 3430 - 3431 -enum : uint { AC_SRC_OVER = 0x00 } 3432 - 3433 -enum : uint { AC_SRC_ALPHA = 0x01 } 3434 - 3435 -extern(Windows) export BOOL AlphaBlend(HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION); 3436 - 3437 -extern(Windows) export BOOL TransparentBlt(HDC, int, int, int, int, HDC, int, int, int, int, UINT); 3438 - 3439 -enum : uint { GRADIENT_FILL_RECT_H = 0x00000000 } 3440 -enum : uint { GRADIENT_FILL_RECT_V = 0x00000001 } 3441 -enum : uint { GRADIENT_FILL_TRIANGLE = 0x00000002 } 3442 -enum : uint { GRADIENT_FILL_OP_FLAG = 0x000000ff } 3443 - 3444 -extern(Windows) export BOOL GradientFill(HDC, PTRIVERTEX, ULONG, PVOID, ULONG, ULONG); 3445 - 3446 -// #endif 3447 - 3448 -// #ifndef NOMETAFILE 3449 - 3450 -extern(Windows) export BOOL PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT); 3451 -extern(Windows) alias int function( HDC, HANDLETABLE *, METARECORD *, int, LPARAM) MFENUMPROC; 3452 -extern(Windows) export BOOL EnumMetaFile(HDC, HMETAFILE, MFENUMPROC, LPARAM); 3453 - 3454 -extern(Windows) alias int function(HDC, HANDLETABLE *, ENHMETARECORD *, int, LPARAM) ENHMFENUMPROC; 3455 - 3456 -extern(Windows) export HENHMETAFILE CloseEnhMetaFile(HDC); 3457 -extern(Windows) export HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE, LPCSTR); 3458 -extern(Windows) export HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR); 3459 -// #ifdef UNICODE 3460 -// #... 3461 -// #else 3462 -alias CopyEnhMetaFileA CopyEnhMetaFile; 3463 -// #endif // !UNICODE 3464 -extern(Windows) export HDC CreateEnhMetaFileA(HDC, LPCSTR, RECT *, LPCSTR); 3465 -extern(Windows) export HDC CreateEnhMetaFileW(HDC, LPCWSTR, RECT *, LPCWSTR); 3466 -// #ifdef UNICODE 3467 -// #... 3468 -// #else 3469 -alias CreateEnhMetaFileA CreateEnhMetaFile; 3470 -// #endif // !UNICODE 3471 -extern(Windows) export BOOL DeleteEnhMetaFile(HENHMETAFILE); 3472 -extern(Windows) export BOOL EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMFENUMPROC, 3473 - LPVOID, RECT *); 3474 -extern(Windows) export HENHMETAFILE GetEnhMetaFileA(LPCSTR); 3475 -extern(Windows) export HENHMETAFILE GetEnhMetaFileW(LPCWSTR); 3476 -// #ifdef UNICODE 3477 -// #... 3478 -// #else 3479 -alias GetEnhMetaFileA GetEnhMetaFile; 3480 -// #endif // !UNICODE 3481 -extern(Windows) export UINT GetEnhMetaFileBits(HENHMETAFILE, UINT, LPBYTE); 3482 -extern(Windows) export UINT GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR ); 3483 -extern(Windows) export UINT GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR ); 3484 -// #ifdef UNICODE 3485 -// #... 3486 -// #else 3487 -alias GetEnhMetaFileDescriptionA GetEnhMetaFileDescription; 3488 -// #endif // !UNICODE 3489 -extern(Windows) export UINT GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER ); 3490 -extern(Windows) export UINT GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY ); 3491 -extern(Windows) export UINT GetEnhMetaFilePixelFormat(HENHMETAFILE, UINT, 3492 - PIXELFORMATDESCRIPTOR *); 3493 -extern(Windows) export UINT GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, INT, HDC); 3494 -extern(Windows) export BOOL PlayEnhMetaFile(HDC, HENHMETAFILE, RECT *); 3495 -extern(Windows) export BOOL PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, ENHMETARECORD *, UINT); 3496 -extern(Windows) export HENHMETAFILE SetEnhMetaFileBits(UINT, BYTE *); 3497 -extern(Windows) export HENHMETAFILE SetWinMetaFileBits(UINT, BYTE *, HDC, METAFILEPICT *); 3498 -extern(Windows) export BOOL GdiComment(HDC, UINT, BYTE *); 3499 - 3500 -// #endif /* NOMETAFILE */ 3501 - 3502 -// #ifndef NOTEXTMETRIC 3503 - 3504 -extern(Windows) export BOOL GetTextMetricsA(HDC, LPTEXTMETRICA); 3505 -extern(Windows) export BOOL GetTextMetricsW(HDC, LPTEXTMETRICW); 3506 -// #ifdef UNICODE 3507 -// #... 3508 -// #else 3509 -alias GetTextMetricsA GetTextMetrics; 3510 -// #endif // !UNICODE 3511 - 3512 -// #endif 3513 - 3514 -struct tagDIBSECTION { 3515 - BITMAP dsBm; 3516 - BITMAPINFOHEADER dsBmih; 3517 - DWORD dsBitfields[3]; 3518 - HANDLE dshSection; 3519 - DWORD dsOffset; 3520 -} 3521 -alias tagDIBSECTION DIBSECTION; 3522 -alias tagDIBSECTION* LPDIBSECTION; 3523 -alias tagDIBSECTION* PDIBSECTION; 3524 - 3525 -extern(Windows) export BOOL AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT); 3526 -extern(Windows) export BOOL PolyPolyline(HDC, POINT *, DWORD *, DWORD); 3527 -extern(Windows) export BOOL GetWorldTransform(HDC, LPXFORM); 3528 -extern(Windows) export BOOL SetWorldTransform(HDC, XFORM *); 3529 -extern(Windows) export BOOL ModifyWorldTransform(HDC, XFORM *, DWORD); 3530 -extern(Windows) export BOOL CombineTransform(LPXFORM, XFORM *, XFORM *); 3531 -extern(Windows) export HBITMAP CreateDIBSection(HDC, BITMAPINFO *, UINT, VOID **, HANDLE, DWORD); 3532 -extern(Windows) export UINT GetDIBColorTable(HDC, UINT, UINT, RGBQUAD *); 3533 -extern(Windows) export UINT SetDIBColorTable(HDC, UINT, UINT, RGBQUAD *); 3534 - 3535 -enum : uint { CA_NEGATIVE = 0x0001 } 3536 -enum : uint { CA_LOG_FILTER = 0x0002 } 3537 - 3538 -enum : uint { ILLUMINANT_DEVICE_DEFAULT = 0 } 3539 -enum : uint { ILLUMINANT_A = 1 } 3540 -enum : uint { ILLUMINANT_B = 2 } 3541 -enum : uint { ILLUMINANT_C = 3 } 3542 -enum : uint { ILLUMINANT_D50 = 4 } 3543 -enum : uint { ILLUMINANT_D55 = 5 } 3544 -enum : uint { ILLUMINANT_D65 = 6 } 3545 -enum : uint { ILLUMINANT_D75 = 7 } 3546 -enum : uint { ILLUMINANT_F2 = 8 } 3547 -alias ILLUMINANT_F2 ILLUMINANT_MAX_INDEX; 3548 - 3549 -alias ILLUMINANT_A ILLUMINANT_TUNGSTEN; 3550 -alias ILLUMINANT_C ILLUMINANT_DAYLIGHT; 3551 -alias ILLUMINANT_F2 ILLUMINANT_FLUORESCENT; 3552 -alias ILLUMINANT_C ILLUMINANT_NTSC; 3553 - 3554 -enum : WORD { RGB_GAMMA_MIN = 02500 } 3555 -enum : WORD { RGB_GAMMA_MAX = 65000 } 3556 - 3557 -enum : WORD { REFERENCE_WHITE_MIN = 6000 } 3558 -enum : WORD { REFERENCE_WHITE_MAX = 10000 } 3559 -enum : WORD { REFERENCE_BLACK_MIN = 0 } 3560 -enum : WORD { REFERENCE_BLACK_MAX = 4000 } 3561 - 3562 -enum : SHORT { COLOR_ADJ_MIN = -100 } 3563 -enum : SHORT { COLOR_ADJ_MAX = 100 } 3564 - 3565 -struct tagCOLORADJUSTMENT { 3566 - WORD caSize; 3567 - WORD caFlags; 3568 - WORD caIlluminantIndex; 3569 - WORD caRedGamma; 3570 - WORD caGreenGamma; 3571 - WORD caBlueGamma; 3572 - WORD caReferenceBlack; 3573 - WORD caReferenceWhite; 3574 - SHORT caContrast; 3575 - SHORT caBrightness; 3576 - SHORT caColorfulness; 3577 - SHORT caRedGreenTint; 3578 -} 3579 -alias tagCOLORADJUSTMENT COLORADJUSTMENT; 3580 -alias tagCOLORADJUSTMENT* PCOLORADJUSTMENT; 3581 -alias tagCOLORADJUSTMENT* LPCOLORADJUSTMENT; 3582 - 3583 -extern(Windows) export BOOL SetColorAdjustment(HDC, COLORADJUSTMENT *); 3584 -extern(Windows) export BOOL GetColorAdjustment(HDC, LPCOLORADJUSTMENT); 3585 -extern(Windows) export HPALETTE CreateHalftonePalette(HDC); 3586 - 3587 -// #ifdef STRICT 3588 -extern(Windows) alias BOOL function( HDC, int) ABORTPROC; 3589 -// #else 3590 -// ... 3591 -// #endif 3592 - 3593 -struct _DOCINFOA { 3594 - int cbSize; 3595 - LPCSTR lpszDocName; 3596 - LPCSTR lpszOutput; 3597 -// #if (WINVER >= 0x0400) 3598 - LPCSTR lpszDatatype; 3599 - DWORD fwType; 3600 -// #endif /* WINVER */ 3601 -} 3602 -alias _DOCINFOA DOCINFOA; 3603 -alias _DOCINFOA* LPDOCINFOA; 3604 - 3605 -struct _DOCINFOW { 3606 - int cbSize; 3607 - LPCWSTR lpszDocName; 3608 - LPCWSTR lpszOutput; 3609 -// #if (WINVER >= 0x0400) 3610 - LPCWSTR lpszDatatype; 3611 - DWORD fwType; 3612 -// #endif /* WINVER */ 3613 -} 3614 -alias _DOCINFOW DOCINFOW; 3615 -alias _DOCINFOW* LPDOCINFOW; 3616 - 3617 -// #ifdef UNICODE 3618 -// ... 3619 -// #else 3620 -alias DOCINFOA DOCINFO; 3621 -alias LPDOCINFOA LPDOCINFO; 3622 -// #endif // UNICODE 3623 - 3624 -// #if(WINVER >= 0x0400) 3625 -enum : uint { DI_APPBANDING = 0x00000001 } 3626 -enum : uint { DI_ROPS_READ_DESTINATION = 0x00000002 } 3627 -// #endif /* WINVER >= 0x0400 */ 3628 - 3629 -extern(Windows) export int StartDocA(HDC, DOCINFOA *); 3630 -extern(Windows) export int StartDocW(HDC, DOCINFOW *); 3631 -// #ifdef UNICODE 3632 -// #... 3633 -// #else 3634 -alias StartDocA StartDoc; 3635 -// #endif // !UNICODE 3636 -extern(Windows) export int EndDoc(HDC); 3637 -extern(Windows) export int StartPage(HDC); 3638 -extern(Windows) export int EndPage(HDC); 3639 -extern(Windows) export int AbortDoc(HDC); 3640 -extern(Windows) export int SetAbortProc(HDC, ABORTPROC); 3641 - 3642 -extern(Windows) export BOOL AbortPath(HDC); 3643 -extern(Windows) export BOOL ArcTo(HDC, int, int, int, int, int, int, int, int); 3644 -extern(Windows) export BOOL BeginPath(HDC); 3645 -extern(Windows) export BOOL CloseFigure(HDC); 3646 -extern(Windows) export BOOL EndPath(HDC); 3647 -extern(Windows) export BOOL FillPath(HDC); 3648 -extern(Windows) export BOOL FlattenPath(HDC); 3649 -extern(Windows) export int GetPath(HDC, LPPOINT, LPBYTE, int); 3650 -extern(Windows) export HRGN PathToRegion(HDC); 3651 -extern(Windows) export BOOL PolyDraw(HDC, POINT *, BYTE *, int); 3652 -extern(Windows) export BOOL SelectClipPath(HDC, int); 3653 -extern(Windows) export int SetArcDirection(HDC, int); 3654 -extern(Windows) export BOOL SetMiterLimit(HDC, FLOAT, PFLOAT); 3655 -extern(Windows) export BOOL StrokeAndFillPath(HDC); 3656 -extern(Windows) export BOOL StrokePath(HDC); 3657 -extern(Windows) export BOOL WidenPath(HDC); 3658 -extern(Windows) export HPEN ExtCreatePen(DWORD, DWORD, LOGBRUSH *, DWORD, DWORD *); 3659 -extern(Windows) export BOOL GetMiterLimit(HDC, PFLOAT); 3660 -extern(Windows) export int GetArcDirection(HDC); 3661 - 3662 -extern(Windows) export int GetObjectA(HGDIOBJ, int, LPVOID); 3663 -extern(Windows) export int GetObjectW(HGDIOBJ, int, LPVOID); 3664 -// #ifdef UNICODE 3665 -// #... 3666 -// #else 3667 -alias GetObjectA GetObject; 3668 -// #endif // !UNICODE 3669 -extern(Windows) export BOOL MoveToEx(HDC, int, int, LPPOINT); 3670 -extern(Windows) export BOOL TextOutA(HDC, int, int, LPCSTR, int); 3671 -extern(Windows) export BOOL TextOutW(HDC, int, int, LPCWSTR, int); 3672 -// #ifdef UNICODE 3673 -// #... 3674 -// #else 3675 -alias TextOutA TextOut; 3676 -// #endif // !UNICODE 3677 -extern(Windows) export BOOL ExtTextOutA(HDC, int, int, UINT, RECT *, LPCSTR, UINT, INT *); 3678 -extern(Windows) export BOOL ExtTextOutW(HDC, int, int, UINT, RECT *, LPCWSTR, UINT, INT *); 3679 -// #ifdef UNICODE 3680 -// #... 3681 -// #else 3682 -alias ExtTextOutA ExtTextOut; 3683 -// #endif // !UNICODE 3684 -extern(Windows) export BOOL PolyTextOutA(HDC, POLYTEXTA *, int); 3685 -extern(Windows) export BOOL PolyTextOutW(HDC, POLYTEXTW *, int); 3686 -// #ifdef UNICODE 3687 -// #... 3688 -// #else 3689 -alias PolyTextOutA PolyTextOut; 3690 -// #endif // !UNICODE 3691 - 3692 -extern(Windows) export HRGN CreatePolygonRgn(POINT *, int, int); 3693 -extern(Windows) export BOOL DPtoLP(HDC, LPPOINT, int); 3694 -extern(Windows) export BOOL LPtoDP(HDC, LPPOINT, int); 3695 -extern(Windows) export BOOL Polygon(HDC, POINT *, int); 3696 -extern(Windows) export BOOL Polyline(HDC, POINT *, int); 3697 - 3698 -extern(Windows) export BOOL PolyBezier(HDC, POINT *, DWORD); 3699 -extern(Windows) export BOOL PolyBezierTo(HDC, POINT *, DWORD); 3700 -extern(Windows) export BOOL PolylineTo(HDC, POINT *, DWORD); 3701 - 3702 -extern(Windows) export BOOL SetViewportExtEx(HDC, int, int, LPSIZE); 3703 -extern(Windows) export BOOL SetViewportOrgEx(HDC, int, int, LPPOINT); 3704 -extern(Windows) export BOOL SetWindowExtEx(HDC, int, int, LPSIZE); 3705 -extern(Windows) export BOOL SetWindowOrgEx(HDC, int, int, LPPOINT); 3706 - 3707 -extern(Windows) export BOOL OffsetViewportOrgEx(HDC, int, int, LPPOINT); 3708 -extern(Windows) export BOOL OffsetWindowOrgEx(HDC, int, int, LPPOINT); 3709 -extern(Windows) export BOOL ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE); 3710 -extern(Windows) export BOOL ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE); 3711 -extern(Windows) export BOOL SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE); 3712 -extern(Windows) export BOOL SetBrushOrgEx(HDC, int, int, LPPOINT); 3713 - 3714 -extern(Windows) export int GetTextFaceA(HDC, int, LPSTR); 3715 -extern(Windows) export int GetTextFaceW(HDC, int, LPWSTR); 3716 -// #ifdef UNICODE 3717 -// #... 3718 -// #else 3719 -alias GetTextFaceA GetTextFace; 3720 -// #endif // !UNICODE 3721 - 3722 -enum : uint { FONTMAPPER_MAX = 10 } 3723 - 3724 -struct tagKERNINGPAIR { 3725 - WORD wFirst; 3726 - WORD wSecond; 3727 - int iKernAmount; 3728 -} 3729 -alias tagKERNINGPAIR KERNINGPAIR; 3730 -alias tagKERNINGPAIR* LPKERNINGPAIR; 3731 - 3732 -extern(Windows) export DWORD GetKerningPairsA(HDC, DWORD, LPKERNINGPAIR); 3733 -extern(Windows) export DWORD GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR); 3734 -// #ifdef UNICODE 3735 -// #... 3736 -// #else 3737 -alias GetKerningPairsA GetKerningPairs; 3738 -// #endif // !UNICODE 3739 - 3740 -extern(Windows) export BOOL GetDCOrgEx(HDC, LPPOINT); 3741 -extern(Windows) export BOOL FixBrushOrgEx(HDC, int, int, LPPOINT); 3742 -extern(Windows) export BOOL UnrealizeObject(HGDIOBJ); 3743 - 3744 -extern(Windows) export BOOL GdiFlush(); 3745 -extern(Windows) export DWORD GdiSetBatchLimit(DWORD); 3746 -extern(Windows) export DWORD GdiGetBatchLimit(); 3747 - 3748 -// #if(WINVER >= 0x0400) 3749 - 3750 -enum : uint { ICM_OFF = 1 } 3751 -enum : uint { ICM_ON = 2 } 3752 -enum : uint { ICM_QUERY = 3 } 3753 -enum : uint { ICM_DONE_OUTSIDEDC = 4 } 3754 - 3755 -extern(Windows) alias int function(LPSTR, LPARAM) ICMENUMPROCA; 3756 -extern(Windows) alias int function(LPWSTR, LPARAM) ICMENUMPROCW; 3757 -// #ifdef UNICODE 3758 -// #... 3759 -// #else 3760 -alias ICMENUMPROCA ICMENUMPROC; 3761 -// #endif // !UNICODE 3762 - 3763 -extern(Windows) export int SetICMMode(HDC, int); 3764 -extern(Windows) export BOOL CheckColorsInGamut(HDC, LPVOID, LPVOID, DWORD); 3765 -extern(Windows) export HCOLORSPACE GetColorSpace(HDC); 3766 -extern(Windows) export BOOL GetLogColorSpaceA(HCOLORSPACE, LPLOGCOLORSPACEA, DWORD); 3767 -extern(Windows) export BOOL GetLogColorSpaceW(HCOLORSPACE, LPLOGCOLORSPACEW, DWORD); 3768 -// #ifdef UNICODE 3769 -// #... 3770 -// #else 3771 -alias GetLogColorSpaceA GetLogColorSpace; 3772 -// #endif // !UNICODE 3773 -extern(Windows) export HCOLORSPACE CreateColorSpaceA(LPLOGCOLORSPACEA); 3774 -extern(Windows) export HCOLORSPACE CreateColorSpaceW(LPLOGCOLORSPACEW); 3775 -// #ifdef UNICODE 3776 -// #... 3777 -// #else 3778 -alias CreateColorSpaceA CreateColorSpace; 3779 -// #endif // !UNICODE 3780 -extern(Windows) export HCOLORSPACE SetColorSpace(HDC, HCOLORSPACE); 3781 -extern(Windows) export BOOL DeleteColorSpace(HCOLORSPACE); 3782 -extern(Windows) export BOOL GetICMProfileA(HDC, LPDWORD, LPSTR); 3783 -extern(Windows) export BOOL GetICMProfileW(HDC, LPDWORD, LPWSTR); 3784 -// #ifdef UNICODE 3785 -// #... 3786 -// #else 3787 -alias GetICMProfileA GetICMProfile; 3788 -// #endif // !UNICODE 3789 -extern(Windows) export BOOL SetICMProfileA(HDC, LPSTR); 3790 -extern(Windows) export BOOL SetICMProfileW(HDC, LPWSTR); 3791 -// #ifdef UNICODE 3792 -// #... 3793 -// #else 3794 -alias SetICMProfileA SetICMProfile; 3795 -// #endif // !UNICODE 3796 -extern(Windows) export BOOL GetDeviceGammaRamp(HDC, LPVOID); 3797 -extern(Windows) export BOOL SetDeviceGammaRamp(HDC, LPVOID); 3798 -extern(Windows) export BOOL ColorMatchToTarget(HDC, HDC, DWORD); 3799 -extern(Windows) export int EnumICMProfilesA(HDC, ICMENUMPROCA, LPARAM); 3800 -extern(Windows) export int EnumICMProfilesW(HDC, ICMENUMPROCW, LPARAM); 3801 -// #ifdef UNICODE 3802 -// #... 3803 -// #else 3804 -alias EnumICMProfilesA EnumICMProfiles; 3805 -// #endif // !UNICODE 3806 -extern(Windows) export BOOL UpdateICMRegKeyA(DWORD, LPSTR, LPSTR, UINT); 3807 -extern(Windows) export BOOL UpdateICMRegKeyW(DWORD, LPWSTR, LPWSTR, UINT); 3808 -// #ifdef UNICODE 3809 -// #... 3810 -// #else 3811 -alias UpdateICMRegKeyA UpdateICMRegKey; 3812 -// #endif // !UNICODE 3813 -// #endif /* WINVER >= 0x0400 */ 3814 - 3815 -// #if (WINVER >= 0x0500) 3816 -extern(Windows) export BOOL ColorCorrectPalette(HDC, HPALETTE, DWORD, DWORD); 3817 -// #endif 3818 - 3819 -// #ifndef NOMETAFILE 3820 - 3821 -// #ifndef _MAC 3822 -enum : uint { ENHMETA_SIGNATURE = 0x464D4520 } 3823 -// #else 3824 -// #... 3825 -// #endif 3826 - 3827 -enum : uint { ENHMETA_STOCK_OBJECT = 0x80000000 } 3828 - 3829 -enum : uint { EMR_HEADER = 1 } 3830 -enum : uint { EMR_POLYBEZIER = 2 } 3831 -enum : uint { EMR_POLYGON = 3 } 3832 -enum : uint { EMR_POLYLINE = 4 } 3833 -enum : uint { EMR_POLYBEZIERTO = 5 } 3834 -enum : uint { EMR_POLYLINETO = 6 } 3835 -enum : uint { EMR_POLYPOLYLINE = 7 } 3836 -enum : uint { EMR_POLYPOLYGON = 8 } 3837 -enum : uint { EMR_SETWINDOWEXTEX = 9 } 3838 -enum : uint { EMR_SETWINDOWORGEX = 10 } 3839 -enum : uint { EMR_SETVIEWPORTEXTEX = 11 } 3840 -enum : uint { EMR_SETVIEWPORTORGEX = 12 } 3841 -enum : uint { EMR_SETBRUSHORGEX = 13 } 3842 -enum : uint { EMR_EOF = 14 } 3843 -enum : uint { EMR_SETPIXELV = 15 } 3844 -enum : uint { EMR_SETMAPPERFLAGS = 16 } 3845 -enum : uint { EMR_SETMAPMODE = 17 } 3846 -enum : uint { EMR_SETBKMODE = 18 } 3847 -enum : uint { EMR_SETPOLYFILLMODE = 19 } 3848 -enum : uint { EMR_SETROP2 = 20 } 3849 -enum : uint { EMR_SETSTRETCHBLTMODE = 21 } 3850 -enum : uint { EMR_SETTEXTALIGN = 22 } 3851 -enum : uint { EMR_SETCOLORADJUSTMENT = 23 } 3852 -enum : uint { EMR_SETTEXTCOLOR = 24 } 3853 -enum : uint { EMR_SETBKCOLOR = 25 } 3854 -enum : uint { EMR_OFFSETCLIPRGN = 26 } 3855 -enum : uint { EMR_MOVETOEX = 27 } 3856 -enum : uint { EMR_SETMETARGN = 28 } 3857 -enum : uint { EMR_EXCLUDECLIPRECT = 29 } 3858 -enum : uint { EMR_INTERSECTCLIPRECT = 30 } 3859 -enum : uint { EMR_SCALEVIEWPORTEXTEX = 31 } 3860 -enum : uint { EMR_SCALEWINDOWEXTEX = 32 } 3861 -enum : uint { EMR_SAVEDC = 33 } 3862 -enum : uint { EMR_RESTOREDC = 34 } 3863 -enum : uint { EMR_SETWORLDTRANSFORM = 35 } 3864 -enum : uint { EMR_MODIFYWORLDTRANSFORM = 36 } 3865 -enum : uint { EMR_SELECTOBJECT = 37 } 3866 -enum : uint { EMR_CREATEPEN = 38 } 3867 -enum : uint { EMR_CREATEBRUSHINDIRECT = 39 } 3868 -enum : uint { EMR_DELETEOBJECT = 40 } 3869 -enum : uint { EMR_ANGLEARC = 41 } 3870 -enum : uint { EMR_ELLIPSE = 42 } 3871 -enum : uint { EMR_RECTANGLE = 43 } 3872 -enum : uint { EMR_ROUNDRECT = 44 } 3873 -enum : uint { EMR_ARC = 45 } 3874 -enum : uint { EMR_CHORD = 46 } 3875 -enum : uint { EMR_PIE = 47 } 3876 -enum : uint { EMR_SELECTPALETTE = 48 } 3877 -enum : uint { EMR_CREATEPALETTE = 49 } 3878 -enum : uint { EMR_SETPALETTEENTRIES = 50 } 3879 -enum : uint { EMR_RESIZEPALETTE = 51 } 3880 -enum : uint { EMR_REALIZEPALETTE = 52 } 3881 -enum : uint { EMR_EXTFLOODFILL = 53 } 3882 -enum : uint { EMR_LINETO = 54 } 3883 -enum : uint { EMR_ARCTO = 55 } 3884 -enum : uint { EMR_POLYDRAW = 56 } 3885 -enum : uint { EMR_SETARCDIRECTION = 57 } 3886 -enum : uint { EMR_SETMITERLIMIT = 58 } 3887 -enum : uint { EMR_BEGINPATH = 59 } 3888 -enum : uint { EMR_ENDPATH = 60 } 3889 -enum : uint { EMR_CLOSEFIGURE = 61 } 3890 -enum : uint { EMR_FILLPATH = 62 } 3891 -enum : uint { EMR_STROKEANDFILLPATH = 63 } 3892 -enum : uint { EMR_STROKEPATH = 64 } 3893 -enum : uint { EMR_FLATTENPATH = 65 } 3894 -enum : uint { EMR_WIDENPATH = 66 } 3895 -enum : uint { EMR_SELECTCLIPPATH = 67 } 3896 -enum : uint { EMR_ABORTPATH = 68 } 3897 - 3898 -enum : uint { EMR_GDICOMMENT = 70 } 3899 -enum : uint { EMR_FILLRGN = 71 } 3900 -enum : uint { EMR_FRAMERGN = 72 } 3901 -enum : uint { EMR_INVERTRGN = 73 } 3902 -enum : uint { EMR_PAINTRGN = 74 } 3903 -enum : uint { EMR_EXTSELECTCLIPRGN = 75 } 3904 -enum : uint { EMR_BITBLT = 76 } 3905 -enum : uint { EMR_STRETCHBLT = 77 } 3906 -enum : uint { EMR_MASKBLT = 78 } 3907 -enum : uint { EMR_PLGBLT = 79 } 3908 -enum : uint { EMR_SETDIBITSTODEVICE = 80 } 3909 -enum : uint { EMR_STRETCHDIBITS = 81 } 3910 -enum : uint { EMR_EXTCREATEFONTINDIRECTW = 82 } 3911 -enum : uint { EMR_EXTTEXTOUTA = 83 } 3912 -enum : uint { EMR_EXTTEXTOUTW = 84 } 3913 -enum : uint { EMR_POLYBEZIER16 = 85 } 3914 -enum : uint { EMR_POLYGON16 = 86 } 3915 -enum : uint { EMR_POLYLINE16 = 87 } 3916 -enum : uint { EMR_POLYBEZIERTO16 = 88 } 3917 -enum : uint { EMR_POLYLINETO16 = 89 } 3918 -enum : uint { EMR_POLYPOLYLINE16 = 90 } 3919 -enum : uint { EMR_POLYPOLYGON16 = 91 } 3920 -enum : uint { EMR_POLYDRAW16 = 92 } 3921 -enum : uint { EMR_CREATEMONOBRUSH = 93 } 3922 -enum : uint { EMR_CREATEDIBPATTERNBRUSHPT = 94 } 3923 -enum : uint { EMR_EXTCREATEPEN = 95 } 3924 -enum : uint { EMR_POLYTEXTOUTA = 96 } 3925 -enum : uint { EMR_POLYTEXTOUTW = 97 } 3926 - 3927 -// #if(WINVER >= 0x0400) 3928 -enum : uint { EMR_SETICMMODE = 98 } 3929 -enum : uint { EMR_CREATECOLORSPACE = 99 } 3930 -enum : uint { EMR_SETCOLORSPACE = 100 } 3931 -enum : uint { EMR_DELETECOLORSPACE = 101 } 3932 -enum : uint { EMR_GLSRECORD = 102 } 3933 -enum : uint { EMR_GLSBOUNDEDRECORD = 103 } 3934 -enum : uint { EMR_PIXELFORMAT = 104 } 3935 -// #endif /* WINVER >= 0x0400 */ 3936 - 3937 -// #if(WINVER >= 0x0500) 3938 -enum : uint { EMR_RESERVED_105 = 105 } 3939 -enum : uint { EMR_RESERVED_106 = 106 } 3940 -enum : uint { EMR_RESERVED_107 = 107 } 3941 -enum : uint { EMR_RESERVED_108 = 108 } 3942 -enum : uint { EMR_RESERVED_109 = 109 } 3943 -enum : uint { EMR_RESERVED_110 = 110 } 3944 -enum : uint { EMR_COLORCORRECTPALETTE = 111 } 3945 -enum : uint { EMR_SETICMPROFILEA = 112 } 3946 -enum : uint { EMR_SETICMPROFILEW = 113 } 3947 -enum : uint { EMR_ALPHABLEND = 114 } 3948 -enum : uint { EMR_SETLAYOUT = 115 } 3949 -enum : uint { EMR_TRANSPARENTBLT = 116 } 3950 -enum : uint { EMR_RESERVED_117 = 117 } 3951 -enum : uint { EMR_GRADIENTFILL = 118 } 3952 -enum : uint { EMR_RESERVED_119 = 119 } 3953 -enum : uint { EMR_RESERVED_120 = 120 } 3954 -enum : uint { EMR_COLORMATCHTOTARGETW = 121 } 3955 -enum : uint { EMR_CREATECOLORSPACEW = 122 } 3956 -// #endif /* WINVER >= 0x0500 */ 3957 - 3958 -enum : uint { EMR_MIN = 1 } 3959 - 3960 -// #if (WINVER >= 0x0500) 3961 -enum : uint { EMR_MAX = 122 } 3962 -// #elif (WINVER >= 0x0400) 3963 -// #... 3964 -// #else 3965 -// #... 3966 -// #endif 3967 - 3968 -struct tagEMR { 3969 - DWORD iType; 3970 - DWORD nSize; 3971 - 3972 -} 3973 -alias tagEMR EMR; 3974 -alias tagEMR* PEMR; 3975 - 3976 -struct tagEMRTEXT { 3977 - POINTL ptlReference; 3978 - DWORD nChars; 3979 - DWORD offString; 3980 - DWORD fOptions; 3981 - RECTL rcl; 3982 - DWORD offDx; 3983 - 3984 -} 3985 -alias tagEMRTEXT EMRTEXT; 3986 -alias tagEMRTEXT* PEMRTEXT; 3987 - 3988 -struct tagABORTPATH { 3989 - EMR emr; 3990 -} 3991 -alias tagABORTPATH EMRABORTPATH; 3992 -alias tagABORTPATH* PEMRABORTPATH; 3993 -alias tagABORTPATH EMRBEGINPATH; 3994 -alias tagABORTPATH* PEMRBEGINPATH; 3995 -alias tagABORTPATH EMRENDPATH; 3996 -alias tagABORTPATH* PEMRENDPATH; 3997 -alias tagABORTPATH EMRCLOSEFIGURE; 3998 -alias tagABORTPATH* PEMRCLOSEFIGURE; 3999 -alias tagABORTPATH EMRFLATTENPATH; 4000 -alias tagABORTPATH* PEMRFLATTENPATH; 4001 -alias tagABORTPATH EMRWIDENPATH; 4002 -alias tagABORTPATH* PEMRWIDENPATH; 4003 -alias tagABORTPATH EMRSETMETARGN; 4004 -alias tagABORTPATH* PEMRSETMETARGN; 4005 -alias tagABORTPATH EMRSAVEDC; 4006 -alias tagABORTPATH* PEMRSAVEDC; 4007 -alias tagABORTPATH EMRREALIZEPALETTE; 4008 -alias tagABORTPATH* PEMRREALIZEPALETTE; 4009 - 4010 -struct tagEMRSELECTCLIPPATH { 4011 - EMR emr; 4012 - DWORD iMode; 4013 -} 4014 -alias tagEMRSELECTCLIPPATH EMRSELECTCLIPPATH; 4015 -alias tagEMRSELECTCLIPPATH* PEMRSELECTCLIPPATH; 4016 -alias tagEMRSELECTCLIPPATH EMRSETBKMODE; 4017 -alias tagEMRSELECTCLIPPATH* PEMRSETBKMODE; 4018 -alias tagEMRSELECTCLIPPATH EMRSETMAPMODE; 4019 -alias tagEMRSELECTCLIPPATH* PEMRSETMAPMODE; 4020 -alias tagEMRSELECTCLIPPATH EMRSETLAYOUT; 4021 -alias tagEMRSELECTCLIPPATH* PEMRSETLAYOUT; 4022 -alias tagEMRSELECTCLIPPATH EMRSETPOLYFILLMODE; 4023 -alias tagEMRSELECTCLIPPATH* PEMRSETPOLYFILLMODE; 4024 -alias tagEMRSELECTCLIPPATH EMRSETROP2; 4025 -alias tagEMRSELECTCLIPPATH* PEMRSETROP2; 4026 -alias tagEMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE; 4027 -alias tagEMRSELECTCLIPPATH* PEMRSETSTRETCHBLTMODE; 4028 -alias tagEMRSELECTCLIPPATH EMRSETICMMODE; 4029 -alias tagEMRSELECTCLIPPATH* PEMRSETICMMODE; 4030 -alias tagEMRSELECTCLIPPATH EMRSETTEXTALIGN; 4031 -alias tagEMRSELECTCLIPPATH* PEMRSETTEXTALIGN; 4032 - 4033 -struct tagEMRSETMITERLIMIT { 4034 - EMR emr; 4035 - FLOAT eMiterLimit; 4036 -} 4037 -alias tagEMRSETMITERLIMIT EMRSETMITERLIMIT; 4038 -alias tagEMRSETMITERLIMIT* PEMRSETMITERLIMIT; 4039 - 4040 -struct tagEMRRESTOREDC { 4041 - EMR emr; 4042 - LONG iRelative; 4043 -} 4044 -alias tagEMRRESTOREDC EMRRESTOREDC; 4045 -alias tagEMRRESTOREDC* PEMRRESTOREDC; 4046 - 4047 -struct tagEMRSETARCDIRECTION { 4048 - EMR emr; 4049 - DWORD iArcDirection; 4050 - 4051 -} 4052 -alias tagEMRSETARCDIRECTION EMRSETARCDIRECTION; 4053 -alias tagEMRSETARCDIRECTION* PEMRSETARCDIRECTION; 4054 - 4055 -struct tagEMRSETMAPPERFLAGS { 4056 - EMR emr; 4057 - DWORD dwFlags; 4058 -} 4059 -alias tagEMRSETMAPPERFLAGS EMRSETMAPPERFLAGS; 4060 -alias tagEMRSETMAPPERFLAGS* PEMRSETMAPPERFLAGS; 4061 - 4062 -struct tagEMRSETTEXTCOLOR { 4063 - EMR emr; 4064 - COLORREF crColor; 4065 -} 4066 -alias tagEMRSETTEXTCOLOR EMRSETBKCOLOR; 4067 -alias tagEMRSETTEXTCOLOR* PEMRSETBKCOLOR; 4068 -alias tagEMRSETTEXTCOLOR EMRSETTEXTCOLOR; 4069 -alias tagEMRSETTEXTCOLOR* PEMRSETTEXTCOLOR; 4070 - 4071 -struct tagEMRSELECTOBJECT { 4072 - EMR emr; 4073 - DWORD ihObject; 4074 -} 4075 -alias tagEMRSELECTOBJECT EMRSELECTOBJECT; 4076 -alias tagEMRSELECTOBJECT* PEMRSELECTOBJECT; 4077 -alias tagEMRSELECTOBJECT EMRDELETEOBJECT; 4078 -alias tagEMRSELECTOBJECT* PEMRDELETEOBJECT; 4079 - 4080 -struct tagEMRSELECTPALETTE { 4081 - EMR emr; 4082 - DWORD ihPal; 4083 -} 4084 -alias tagEMRSELECTPALETTE EMRSELECTPALETTE; 4085 -alias tagEMRSELECTPALETTE* PEMRSELECTPALETTE; 4086 - 4087 -struct tagEMRRESIZEPALETTE { 4088 - EMR emr; 4089 - DWORD ihPal; 4090 - DWORD cEntries; 4091 -} 4092 -alias tagEMRRESIZEPALETTE EMRRESIZEPALETTE; 4093 -alias tagEMRRESIZEPALETTE* PEMRRESIZEPALETTE; 4094 - 4095 -struct tagEMRSETPALETTEENTRIES { 4096 - EMR emr; 4097 - DWORD ihPal; 4098 - DWORD iStart; 4099 - DWORD cEntries; 4100 - PALETTEENTRY aPalEntries[1]; 4101 -} 4102 -alias tagEMRSETPALETTEENTRIES EMRSETPALETTEENTRIES; 4103 -alias tagEMRSETPALETTEENTRIES* PEMRSETPALETTEENTRIES; 4104 - 4105 -struct tagEMRSETCOLORADJUSTMENT { 4106 - EMR emr; 4107 - COLORADJUSTMENT ColorAdjustment; 4108 -} 4109 -alias tagEMRSETCOLORADJUSTMENT EMRSETCOLORADJUSTMENT; 4110 -alias tagEMRSETCOLORADJUSTMENT* PEMRSETCOLORADJUSTMENT; 4111 - 4112 -struct tagEMRGDICOMMENT { 4113 - EMR emr; 4114 - DWORD cbData; 4115 - BYTE Data[1]; 4116 -} 4117 -alias tagEMRGDICOMMENT EMRGDICOMMENT; 4118 -alias tagEMRGDICOMMENT* PEMRGDICOMMENT; 4119 - 4120 -struct tagEMREOF { 4121 - EMR emr; 4122 - DWORD nPalEntries; 4123 - DWORD offPalEntries; 4124 - DWORD nSizeLast; 4125 - 4126 -} 4127 -alias tagEMREOF EMREOF; 4128 -alias tagEMREOF* PEMREOF; 4129 - 4130 -struct tagEMRLINETO { 4131 - EMR emr; 4132 - POINTL ptl; 4133 -} 4134 -alias tagEMRLINETO EMRLINETO; 4135 -alias tagEMRLINETO* PEMRLINETO; 4136 -alias tagEMRLINETO EMRMOVETOEX; 4137 -alias tagEMRLINETO* PEMRMOVETOEX; 4138 - 4139 -struct tagEMROFFSETCLIPRGN { 4140 - EMR emr; 4141 - POINTL ptlOffset; 4142 -} 4143 -alias tagEMROFFSETCLIPRGN EMROFFSETCLIPRGN; 4144 -alias tagEMROFFSETCLIPRGN* PEMROFFSETCLIPRGN; 4145 - 4146 -struct tagEMRFILLPATH { 4147 - EMR emr; 4148 - RECTL rclBounds; 4149 -} 4150 -alias tagEMRFILLPATH EMRFILLPATH; 4151 -alias tagEMRFILLPATH* PEMRFILLPATH; 4152 -alias tagEMRFILLPATH EMRSTROKEANDFILLPATH; 4153 -alias tagEMRFILLPATH* PEMRSTROKEANDFILLPATH; 4154 -alias tagEMRFILLPATH EMRSTROKEPATH; 4155 -alias tagEMRFILLPATH* PEMRSTROKEPATH; 4156 - 4157 -struct tagEMREXCLUDECLIPRECT { 4158 - EMR emr; 4159 - RECTL rclClip; 4160 -} 4161 -alias tagEMREXCLUDECLIPRECT EMREXCLUDECLIPRECT; 4162 -alias tagEMREXCLUDECLIPRECT* PEMREXCLUDECLIPRECT; 4163 -alias tagEMREXCLUDECLIPRECT EMRINTERSECTCLIPRECT; 4164 -alias tagEMREXCLUDECLIPRECT* PEMRINTERSECTCLIPRECT; 4165 - 4166 -struct tagEMRSETVIEWPORTORGEX { 4167 - EMR emr; 4168 - POINTL ptlOrigin; 4169 -} 4170 -alias tagEMRSETVIEWPORTORGEX EMRSETVIEWPORTORGEX; 4171 -alias tagEMRSETVIEWPORTORGEX* PEMRSETVIEWPORTORGEX; 4172 -alias tagEMRSETVIEWPORTORGEX EMRSETWINDOWORGEX; 4173 -alias tagEMRSETVIEWPORTORGEX* PEMRSETWINDOWORGEX; 4174 -alias tagEMRSETVIEWPORTORGEX EMRSETBRUSHORGEX; 4175 -alias tagEMRSETVIEWPORTORGEX* PEMRSETBRUSHORGEX; 4176 - 4177 -struct tagEMRSETVIEWPORTEXTEX { 4178 - EMR emr; 4179 - SIZEL szlExtent; 4180 -} 4181 -alias tagEMRSETVIEWPORTEXTEX EMRSETVIEWPORTEXTEX; 4182 -alias tagEMRSETVIEWPORTEXTEX* PEMRSETVIEWPORTEXTEX; 4183 -alias tagEMRSETVIEWPORTEXTEX EMRSETWINDOWEXTEX; 4184 -alias tagEMRSETVIEWPORTEXTEX* PEMRSETWINDOWEXTEX; 4185 - 4186 -struct tagEMRSCALEVIEWPORTEXTEX { 4187 - EMR emr; 4188 - LONG xNum; 4189 - LONG xDenom; 4190 - LONG yNum; 4191 - LONG yDenom; 4192 -} 4193 -alias tagEMRSCALEVIEWPORTEXTEX EMRSCALEVIEWPORTEXTEX; 4194 -alias tagEMRSCALEVIEWPORTEXTEX* PEMRSCALEVIEWPORTEXTEX; 4195 -alias tagEMRSCALEVIEWPORTEXTEX EMRSCALEWINDOWEXTEX; 4196 -alias tagEMRSCALEVIEWPORTEXTEX* PEMRSCALEWINDOWEXTEX; 4197 - 4198 -struct tagEMRSETWORLDTRANSFORM { 4199 - EMR emr; 4200 - XFORM xform; 4201 -} 4202 -alias tagEMRSETWORLDTRANSFORM EMRSETWORLDTRANSFORM; 4203 -alias tagEMRSETWORLDTRANSFORM* PEMRSETWORLDTRANSFORM; 4204 - 4205 -struct tagEMRMODIFYWORLDTRANSFORM { 4206 - EMR emr; 4207 - XFORM xform; 4208 - DWORD iMode; 4209 -} 4210 -alias tagEMRMODIFYWORLDTRANSFORM EMRMODIFYWORLDTRANSFORM; 4211 -alias tagEMRMODIFYWORLDTRANSFORM* PEMRMODIFYWORLDTRANSFORM; 4212 - 4213 -struct tagEMRSETPIXELV { 4214 - EMR emr; 4215 - POINTL ptlPixel; 4216 - COLORREF crColor; 4217 -} 4218 -alias tagEMRSETPIXELV EMRSETPIXELV; 4219 -alias tagEMRSETPIXELV* PEMRSETPIXELV; 4220 - 4221 -struct tagEMREXTFLOODFILL { 4222 - EMR emr; 4223 - POINTL ptlStart; 4224 - COLORREF crColor; 4225 - DWORD iMode; 4226 -} 4227 -alias tagEMREXTFLOODFILL EMREXTFLOODFILL; 4228 -alias tagEMREXTFLOODFILL* PEMREXTFLOODFILL; 4229 - 4230 -struct tagEMRELLIPSE { 4231 - EMR emr; 4232 - RECTL rclBox; 4233 -} 4234 -alias tagEMRELLIPSE EMRELLIPSE; 4235 -alias tagEMRELLIPSE* PEMRELLIPSE; 4236 -alias tagEMRELLIPSE EMRRECTANGLE; 4237 -alias tagEMRELLIPSE* PEMRRECTANGLE; 4238 - 4239 -struct tagEMRROUNDRECT { 4240 - EMR emr; 4241 - RECTL rclBox; 4242 - SIZEL szlCorner; 4243 -} 4244 -alias tagEMRROUNDRECT EMRROUNDRECT; 4245 -alias tagEMRROUNDRECT* PEMRROUNDRECT; 4246 - 4247 -struct tagEMRARC { 4248 - EMR emr; 4249 - RECTL rclBox; 4250 - POINTL ptlStart; 4251 - POINTL ptlEnd; 4252 -} 4253 -alias tagEMRARC EMRARC; 4254 -alias tagEMRARC* PEMRARC; 4255 -alias tagEMRARC EMRARCTO; 4256 -alias tagEMRARC* PEMRARCTO; 4257 -alias tagEMRARC EMRCHORD; 4258 -alias tagEMRARC* PEMRCHORD; 4259 -alias tagEMRARC EMRPIE; 4260 -alias tagEMRARC* PEMRPIE; 4261 - 4262 -struct tagEMRANGLEARC { 4263 - EMR emr; 4264 - POINTL ptlCenter; 4265 - DWORD nRadius; 4266 - FLOAT eStartAngle; 4267 - FLOAT eSweepAngle; 4268 -} 4269 -alias tagEMRANGLEARC EMRANGLEARC; 4270 -alias tagEMRANGLEARC* PEMRANGLEARC; 4271 - 4272 -struct tagEMRPOLYLINE { 4273 - EMR emr; 4274 - RECTL rclBounds; 4275 - DWORD cptl; 4276 - POINTL aptl[1]; 4277 -} 4278 -alias tagEMRPOLYLINE EMRPOLYLINE; 4279 -alias tagEMRPOLYLINE* PEMRPOLYLINE; 4280 -alias tagEMRPOLYLINE EMRPOLYBEZIER; 4281 -alias tagEMRPOLYLINE* PEMRPOLYBEZIER; 4282 -alias tagEMRPOLYLINE EMRPOLYGON; 4283 -alias tagEMRPOLYLINE* PEMRPOLYGON; 4284 -alias tagEMRPOLYLINE EMRPOLYBEZIERTO; 4285 -alias tagEMRPOLYLINE* PEMRPOLYBEZIERTO; 4286 -alias tagEMRPOLYLINE EMRPOLYLINETO; 4287 -alias tagEMRPOLYLINE* PEMRPOLYLINETO; 4288 - 4289 -struct tagEMRPOLYLINE16 { 4290 - EMR emr; 4291 - RECTL rclBounds; 4292 - DWORD cpts; 4293 - POINTS apts[1]; 4294 -} 4295 -alias tagEMRPOLYLINE16 EMRPOLYLINE16; 4296 -alias tagEMRPOLYLINE16* PEMRPOLYLINE16; 4297 -alias tagEMRPOLYLINE16 EMRPOLYBEZIER16; 4298 -alias tagEMRPOLYLINE16* PEMRPOLYBEZIER16; 4299 -alias tagEMRPOLYLINE16 EMRPOLYGON16; 4300 -alias tagEMRPOLYLINE16* PEMRPOLYGON16; 4301 -alias tagEMRPOLYLINE16 EMRPOLYBEZIERTO16; 4302 -alias tagEMRPOLYLINE16* PEMRPOLYBEZIERTO16; 4303 -alias tagEMRPOLYLINE16 EMRPOLYLINETO16; 4304 -alias tagEMRPOLYLINE16* PEMRPOLYLINETO16; 4305 - 4306 -struct tagEMRPOLYDRAW { 4307 - EMR emr; 4308 - RECTL rclBounds; 4309 - DWORD cptl; 4310 - POINTL aptl[1]; 4311 - BYTE abTypes[1]; 4312 -} 4313 -alias tagEMRPOLYDRAW EMRPOLYDRAW; 4314 -alias tagEMRPOLYDRAW* PEMRPOLYDRAW; 4315 - 4316 -struct tagEMRPOLYDRAW16 { 4317 - EMR emr; 4318 - RECTL rclBounds; 4319 - DWORD cpts; 4320 - POINTS apts[1]; 4321 - BYTE abTypes[1]; 4322 -} 4323 -alias tagEMRPOLYDRAW16 EMRPOLYDRAW16; 4324 -alias tagEMRPOLYDRAW16* PEMRPOLYDRAW16; 4325 - 4326 -struct tagEMRPOLYPOLYLINE { 4327 - EMR emr; 4328 - RECTL rclBounds; 4329 - DWORD nPolys; 4330 - DWORD cptl; 4331 - DWORD aPolyCounts[1]; 4332 - POINTL aptl[1]; 4333 -} 4334 -alias tagEMRPOLYPOLYLINE EMRPOLYPOLYLINE; 4335 -alias tagEMRPOLYPOLYLINE* PEMRPOLYPOLYLINE; 4336 -alias tagEMRPOLYPOLYLINE EMRPOLYPOLYGON; 4337 -alias tagEMRPOLYPOLYLINE* PEMRPOLYPOLYGON; 4338 - 4339 -struct tagEMRPOLYPOLYLINE16 { 4340 - EMR emr; 4341 - RECTL rclBounds; 4342 - DWORD nPolys; 4343 - DWORD cpts; 4344 - DWORD aPolyCounts[1]; 4345 - POINTS apts[1]; 4346 -} 4347 -alias tagEMRPOLYPOLYLINE16 EMRPOLYPOLYLINE16; 4348 -alias tagEMRPOLYPOLYLINE16* PEMRPOLYPOLYLINE16; 4349 -alias tagEMRPOLYPOLYLINE16 EMRPOLYPOLYGON16; 4350 -alias tagEMRPOLYPOLYLINE16* PEMRPOLYPOLYGON16; 4351 - 4352 -struct tagEMRINVERTRGN { 4353 - EMR emr; 4354 - RECTL rclBounds; 4355 - DWORD cbRgnData; 4356 - BYTE RgnData[1]; 4357 -} 4358 -alias tagEMRINVERTRGN EMRINVERTRGN; 4359 -alias tagEMRINVERTRGN* PEMRINVERTRGN; 4360 -alias tagEMRINVERTRGN EMRPAINTRGN; 4361 -alias tagEMRINVERTRGN* PEMRPAINTRGN; 4362 - 4363 -struct tagEMRFILLRGN { 4364 - EMR emr; 4365 - RECTL rclBounds; 4366 - DWORD cbRgnData; 4367 - DWORD ihBrush; 4368 - BYTE RgnData[1]; 4369 -} 4370 -alias tagEMRFILLRGN EMRFILLRGN; 4371 -alias tagEMRFILLRGN* PEMRFILLRGN; 4372 - 4373 -struct tagEMRFRAMERGN { 4374 - EMR emr; 4375 - RECTL rclBounds; 4376 - DWORD cbRgnData; 4377 - DWORD ihBrush; 4378 - SIZEL szlStroke; 4379 - BYTE RgnData[1]; 4380 -} 4381 -alias tagEMRFRAMERGN EMRFRAMERGN; 4382 -alias tagEMRFRAMERGN* PEMRFRAMERGN; 4383 - 4384 -struct tagEMREXTSELECTCLIPRGN { 4385 - EMR emr; 4386 - DWORD cbRgnData; 4387 - DWORD iMode; 4388 - BYTE RgnData[1]; 4389 -} 4390 -alias tagEMREXTSELECTCLIPRGN EMREXTSELECTCLIPRGN; 4391 -alias tagEMREXTSELECTCLIPRGN* PEMREXTSELECTCLIPRGN; 4392 - 4393 -struct tagEMREXTTEXTOUTA { 4394 - EMR emr; 4395 - RECTL rclBounds; 4396 - DWORD iGraphicsMode; 4397 - FLOAT exScale; 4398 - FLOAT eyScale; 4399 - EMRTEXT emrtext; 4400 - 4401 -} 4402 -alias tagEMREXTTEXTOUTA EMREXTTEXTOUTA; 4403 -alias tagEMREXTTEXTOUTA* PEMREXTTEXTOUTA; 4404 -alias tagEMREXTTEXTOUTA EMREXTTEXTOUTW; 4405 -alias tagEMREXTTEXTOUTA* PEMREXTTEXTOUTW; 4406 - 4407 -struct tagEMRPOLYTEXTOUTA { 4408 - EMR emr; 4409 - RECTL rclBounds; 4410 - DWORD iGraphicsMode; 4411 - FLOAT exScale; 4412 - FLOAT eyScale; 4413 - LONG cStrings; 4414 - EMRTEXT aemrtext[1]; 4415 - 4416 -} 4417 -alias tagEMRPOLYTEXTOUTA EMRPOLYTEXTOUTA; 4418 -alias tagEMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTA; 4419 -alias tagEMRPOLYTEXTOUTA EMRPOLYTEXTOUTW; 4420 -alias tagEMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTW; 4421 - 4422 -struct tagEMRBITBLT { 4423 - EMR emr; 4424 - RECTL rclBounds; 4425 - LONG xDest; 4426 - LONG yDest; 4427 - LONG cxDest; 4428 - LONG cyDest; 4429 - DWORD dwRop; 4430 - LONG xSrc; 4431 - LONG ySrc; 4432 - XFORM xformSrc; 4433 - COLORREF crBkColorSrc; 4434 - DWORD iUsageSrc; 4435 - 4436 - DWORD offBmiSrc; 4437 - DWORD cbBmiSrc; 4438 - DWORD offBitsSrc; 4439 - DWORD cbBitsSrc; 4440 -} 4441 -alias tagEMRBITBLT EMRBITBLT; 4442 -alias tagEMRBITBLT* PEMRBITBLT; 4443 - 4444 -struct tagEMRSTRETCHBLT { 4445 - EMR emr; 4446 - RECTL rclBounds; 4447 - LONG xDest; 4448 - LONG yDest; 4449 - LONG cxDest; 4450 - LONG cyDest; 4451 - DWORD dwRop; 4452 - LONG xSrc; 4453 - LONG ySrc; 4454 - XFORM xformSrc; 4455 - COLORREF crBkColorSrc; 4456 - DWORD iUsageSrc; 4457 - 4458 - DWORD offBmiSrc; 4459 - DWORD cbBmiSrc; 4460 - DWORD offBitsSrc; 4461 - DWORD cbBitsSrc; 4462 - LONG cxSrc; 4463 - LONG cySrc; 4464 -} 4465 -alias tagEMRSTRETCHBLT EMRSTRETCHBLT; 4466 -alias tagEMRSTRETCHBLT* PEMRSTRETCHBLT; 4467 - 4468 -struct tagEMRMASKBLT { 4469 - EMR emr; 4470 - RECTL rclBounds; 4471 - LONG xDest; 4472 - LONG yDest; 4473 - LONG cxDest; 4474 - LONG cyDest; 4475 - DWORD dwRop; 4476 - LONG xSrc; 4477 - LONG ySrc; 4478 - XFORM xformSrc; 4479 - COLORREF crBkColorSrc; 4480 - DWORD iUsageSrc; 4481 - 4482 - DWORD offBmiSrc; 4483 - DWORD cbBmiSrc; 4484 - DWORD offBitsSrc; 4485 - DWORD cbBitsSrc; 4486 - LONG xMask; 4487 - LONG yMask; 4488 - DWORD iUsageMask; 4489 - DWORD offBmiMask; 4490 - DWORD cbBmiMask; 4491 - DWORD offBitsMask; 4492 - DWORD cbBitsMask; 4493 -} 4494 -alias tagEMRMASKBLT EMRMASKBLT; 4495 -alias tagEMRMASKBLT* PEMRMASKBLT; 4496 - 4497 -struct tagEMRPLGBLT { 4498 - EMR emr; 4499 - RECTL rclBounds; 4500 - POINTL aptlDest[3]; 4501 - LONG xSrc; 4502 - LONG ySrc; 4503 - LONG cxSrc; 4504 - LONG cySrc; 4505 - XFORM xformSrc; 4506 - COLORREF crBkColorSrc; 4507 - DWORD iUsageSrc; 4508 - 4509 - DWORD offBmiSrc; 4510 - DWORD cbBmiSrc; 4511 - DWORD offBitsSrc; 4512 - DWORD cbBitsSrc; 4513 - LONG xMask; 4514 - LONG yMask; 4515 - DWORD iUsageMask; 4516 - DWORD offBmiMask; 4517 - DWORD cbBmiMask; 4518 - DWORD offBitsMask; 4519 - DWORD cbBitsMask; 4520 -} 4521 -alias tagEMRPLGBLT EMRPLGBLT; 4522 -alias tagEMRPLGBLT* PEMRPLGBLT; 4523 - 4524 -struct tagEMRSETDIBITSTODEVICE { 4525 - EMR emr; 4526 - RECTL rclBounds; 4527 - LONG xDest; 4528 - LONG yDest; 4529 - LONG xSrc; 4530 - LONG ySrc; 4531 - LONG cxSrc; 4532 - LONG cySrc; 4533 - DWORD offBmiSrc; 4534 - DWORD cbBmiSrc; 4535 - DWORD offBitsSrc; 4536 - DWORD cbBitsSrc; 4537 - DWORD iUsageSrc; 4538 - DWORD iStartScan; 4539 - DWORD cScans; 4540 -} 4541 -alias tagEMRSETDIBITSTODEVICE EMRSETDIBITSTODEVICE; 4542 -alias tagEMRSETDIBITSTODEVICE* PEMRSETDIBITSTODEVICE; 4543 - 4544 -struct tagEMRSTRETCHDIBITS { 4545 - EMR emr; 4546 - RECTL rclBounds; 4547 - LONG xDest; 4548 - LONG yDest; 4549 - LONG xSrc; 4550 - LONG ySrc; 4551 - LONG cxSrc; 4552 - LONG cySrc; 4553 - DWORD offBmiSrc; 4554 - DWORD cbBmiSrc; 4555 - DWORD offBitsSrc; 4556 - DWORD cbBitsSrc; 4557 - DWORD iUsageSrc; 4558 - DWORD dwRop; 4559 - LONG cxDest; 4560 - LONG cyDest; 4561 -} 4562 -alias tagEMRSTRETCHDIBITS EMRSTRETCHDIBITS; 4563 -alias tagEMRSTRETCHDIBITS* PEMRSTRETCHDIBITS; 4564 - 4565 -struct tagEMREXTCREATEFONTINDIRECTW { 4566 - EMR emr; 4567 - DWORD ihFont; 4568 - EXTLOGFONTW elfw; 4569 -} 4570 -alias tagEMREXTCREATEFONTINDIRECTW EMREXTCREATEFONTINDIRECTW; 4571 -alias tagEMREXTCREATEFONTINDIRECTW* PEMREXTCREATEFONTINDIRECTW; 4572 - 4573 -struct tagEMRCREATEPALETTE { 4574 - EMR emr; 4575 - DWORD ihPal; 4576 - LOGPALETTE lgpl; 4577 - 4578 -} 4579 -alias tagEMRCREATEPALETTE EMRCREATEPALETTE; 4580 -alias tagEMRCREATEPALETTE* PEMRCREATEPALETTE; 4581 - 4582 -struct tagEMRCREATEPEN { 4583 - EMR emr; 4584 - DWORD ihPen; 4585 - LOGPEN lopn; 4586 -} 4587 -alias tagEMRCREATEPEN EMRCREATEPEN; 4588 -alias tagEMRCREATEPEN* PEMRCREATEPEN; 4589 - 4590 -struct tagEMREXTCREATEPEN { 4591 - EMR emr; 4592 - DWORD ihPen; 4593 - DWORD offBmi; 4594 - DWORD cbBmi; 4595 - 4596 - DWORD offBits; 4597 - DWORD cbBits; 4598 - EXTLOGPEN elp; 4599 -} 4600 -alias tagEMREXTCREATEPEN EMREXTCREATEPEN; 4601 -alias tagEMREXTCREATEPEN* PEMREXTCREATEPEN; 4602 - 4603 -struct tagEMRCREATEBRUSHINDIRECT { 4604 - EMR emr; 4605 - DWORD ihBrush; 4606 - LOGBRUSH32 lb; 4607 - 4608 -} 4609 -alias tagEMRCREATEBRUSHINDIRECT EMRCREATEBRUSHINDIRECT; 4610 -alias tagEMRCREATEBRUSHINDIRECT* PEMRCREATEBRUSHINDIRECT; 4611 - 4612 -struct tagEMRCREATEMONOBRUSH { 4613 - EMR emr; 4614 - DWORD ihBrush; 4615 - DWORD iUsage; 4616 - DWORD offBmi; 4617 - DWORD cbBmi; 4618 - DWORD offBits; 4619 - DWORD cbBits; 4620 -} 4621 -alias tagEMRCREATEMONOBRUSH EMRCREATEMONOBRUSH; 4622 -alias tagEMRCREATEMONOBRUSH* PEMRCREATEMONOBRUSH; 4623 - 4624 -struct tagEMRCREATEDIBPATTERNBRUSHPT { 4625 - EMR emr; 4626 - DWORD ihBrush; 4627 - DWORD iUsage; 4628 - DWORD offBmi; 4629 - DWORD cbBmi; 4630 - 4631 - DWORD offBits; 4632 - DWORD cbBits; 4633 -} 4634 -alias tagEMRCREATEDIBPATTERNBRUSHPT EMRCREATEDIBPATTERNBRUSHPT; 4635 -alias tagEMRCREATEDIBPATTERNBRUSHPT* PEMRCREATEDIBPATTERNBRUSHPT; 4636 - 4637 -struct tagEMRFORMAT { 4638 - DWORD dSignature; 4639 - DWORD nVersion; 4640 - DWORD cbData; 4641 - DWORD offData; 4642 - 4643 -} 4644 -alias tagEMRFORMAT EMRFORMAT; 4645 -alias tagEMRFORMAT* PEMRFORMAT; 4646 - 4647 -// #if(WINVER >= 0x0400) 4648 - 4649 -struct tagEMRGLSRECORD { 4650 - EMR emr; 4651 - DWORD cbData; 4652 - BYTE Data[1]; 4653 -} 4654 -alias tagEMRGLSRECORD EMRGLSRECORD; 4655 -alias tagEMRGLSRECORD* PEMRGLSRECORD; 4656 - 4657 -struct tagEMRGLSBOUNDEDRECORD { 4658 - EMR emr; 4659 - RECTL rclBounds; 4660 - DWORD cbData; 4661 - BYTE Data[1]; 4662 -} 4663 -alias tagEMRGLSBOUNDEDRECORD EMRGLSBOUNDEDRECORD; 4664 -alias tagEMRGLSBOUNDEDRECORD* PEMRGLSBOUNDEDRECORD; 4665 - 4666 -struct tagEMRPIXELFORMAT { 4667 - EMR emr; 4668 - PIXELFORMATDESCRIPTOR pfd; 4669 -} 4670 -alias tagEMRPIXELFORMAT EMRPIXELFORMAT; 4671 -alias tagEMRPIXELFORMAT* PEMRPIXELFORMAT; 4672 - 4673 -struct tagEMRCREATECOLORSPACE { 4674 - EMR emr; 4675 - DWORD ihCS; 4676 - LOGCOLORSPACEA lcs; 4677 -} 4678 -alias tagEMRCREATECOLORSPACE EMRCREATECOLORSPACE; 4679 -alias tagEMRCREATECOLORSPACE* PEMRCREATECOLORSPACE; 4680 - 4681 -struct tagEMRSETCOLORSPACE { 4682 - EMR emr; 4683 - DWORD ihCS; 4684 -} 4685 -alias tagEMRSETCOLORSPACE EMRSETCOLORSPACE; 4686 -alias tagEMRSETCOLORSPACE* PEMRSETCOLORSPACE; 4687 -alias tagEMRSETCOLORSPACE EMRSELECTCOLORSPACE; 4688 -alias tagEMRSETCOLORSPACE* PEMRSELECTCOLORSPACE; 4689 -alias tagEMRSETCOLORSPACE EMRDELETECOLORSPACE; 4690 -alias tagEMRSETCOLORSPACE* PEMRDELETECOLORSPACE; 4691 - 4692 -// #endif /* WINVER >= 0x0400 */ 4693 - 4694 -// #if(WINVER >= 0x0500) 4695 - 4696 -struct tagEMREXTESCAPE { 4697 - EMR emr; 4698 - INT iEscape; 4699 - INT cbEscData; 4700 - BYTE EscData[1]; 4701 -} 4702 -alias tagEMREXTESCAPE EMREXTESCAPE; 4703 -alias tagEMREXTESCAPE* PEMREXTESCAPE; 4704 -alias tagEMREXTESCAPE EMRDRAWESCAPE; 4705 -alias tagEMREXTESCAPE* PEMRDRAWESCAPE; 4706 - 4707 -struct tagEMRNAMEDESCAPE { 4708 - EMR emr; 4709 - INT iEscape; 4710 - INT cbDriver; 4711 - INT cbEscData; 4712 - BYTE EscData[1]; 4713 -} 4714 -alias tagEMRNAMEDESCAPE EMRNAMEDESCAPE; 4715 -alias tagEMRNAMEDESCAPE* PEMRNAMEDESCAPE; 4716 - 4717 -enum : uint { SETICMPROFILE_EMBEDED = 0x00000001 } 4718 - 4719 -struct tagEMRSETICMPROFILE { 4720 - EMR emr; 4721 - DWORD dwFlags; 4722 - DWORD cbName; 4723 - DWORD cbData; 4724 - BYTE Data[1]; 4725 -} 4726 -alias tagEMRSETICMPROFILE EMRSETICMPROFILE; 4727 -alias tagEMRSETICMPROFILE* PEMRSETICMPROFILE; 4728 -alias tagEMRSETICMPROFILE EMRSETICMPROFILEA; 4729 -alias tagEMRSETICMPROFILE* PEMRSETICMPROFILEA; 4730 -alias tagEMRSETICMPROFILE EMRSETICMPROFILEW; 4731 -alias tagEMRSETICMPROFILE* PEMRSETICMPROFILEW; 4732 - 4733 -enum : uint { CREATECOLORSPACE_EMBEDED = 0x00000001 } 4734 - 4735 -struct tagEMRCREATECOLORSPACEW { 4736 - EMR emr; 4737 - DWORD ihCS; 4738 - LOGCOLORSPACEW lcs; 4739 - DWORD dwFlags; 4740 - DWORD cbData; 4741 - BYTE Data[1]; 4742 -} 4743 -alias tagEMRCREATECOLORSPACEW EMRCREATECOLORSPACEW; 4744 -alias tagEMRCREATECOLORSPACEW* PEMRCREATECOLORSPACEW; 4745 - 4746 -enum : uint { COLORMATCHTOTARGET_EMBEDED = 0x00000001 } 4747 - 4748 -struct tagCOLORMATCHTOTARGET { 4749 - EMR emr; 4750 - DWORD dwAction; 4751 - DWORD dwFlags; 4752 - DWORD cbName; 4753 - DWORD cbData; 4754 - BYTE Data[1]; 4755 -} 4756 -alias tagCOLORMATCHTOTARGET EMRCOLORMATCHTOTARGET; 4757 -alias tagCOLORMATCHTOTARGET* PEMRCOLORMATCHTOTARGET; 4758 - 4759 -struct tagCOLORCORRECTPALETTE { 4760 - EMR emr; 4761 - DWORD ihPalette; 4762 - DWORD nFirstEntry; 4763 - DWORD nPalEntries; 4764 - DWORD nReserved; 4765 -} 4766 -alias tagCOLORCORRECTPALETTE EMRCOLORCORRECTPALETTE; 4767 -alias tagCOLORCORRECTPALETTE* PEMRCOLORCORRECTPALETTE; 4768 - 4769 -struct tagEMRALPHABLEND { 4770 - EMR emr; 4771 - RECTL rclBounds; 4772 - LONG xDest; 4773 - LONG yDest; 4774 - LONG cxDest; 4775 - LONG cyDest; 4776 - DWORD dwRop; 4777 - LONG xSrc; 4778 - LONG ySrc; 4779 - XFORM xformSrc; 4780 - COLORREF crBkColorSrc; 4781 - DWORD iUsageSrc; 4782 - 4783 - DWORD offBmiSrc; 4784 - DWORD cbBmiSrc; 4785 - DWORD offBitsSrc; 4786 - DWORD cbBitsSrc; 4787 - LONG cxSrc; 4788 - LONG cySrc; 4789 -} 4790 -alias tagEMRALPHABLEND EMRALPHABLEND; 4791 -alias tagEMRALPHABLEND* PEMRALPHABLEND; 4792 - 4793 -struct tagEMRGRADIENTFILL { 4794 - EMR emr; 4795 - RECTL rclBounds; 4796 - DWORD nVer; 4797 - DWORD nTri; 4798 - ULONG ulMode; 4799 - TRIVERTEX Ver[1]; 4800 -} 4801 -alias tagEMRGRADIENTFILL EMRGRADIENTFILL; 4802 -alias tagEMRGRADIENTFILL* PEMRGRADIENTFILL; 4803 - 4804 -struct tagEMRTRANSPARENTBLT { 4805 - EMR emr; 4806 - RECTL rclBounds; 4807 - LONG xDest; 4808 - LONG yDest; 4809 - LONG cxDest; 4810 - LONG cyDest; 4811 - DWORD dwRop; 4812 - LONG xSrc; 4813 - LONG ySrc; 4814 - XFORM xformSrc; 4815 - COLORREF crBkColorSrc; 4816 - DWORD iUsageSrc; 4817 - 4818 - DWORD offBmiSrc; 4819 - DWORD cbBmiSrc; 4820 - DWORD offBitsSrc; 4821 - DWORD cbBitsSrc; 4822 - LONG cxSrc; 4823 - LONG cySrc; 4824 -} 4825 -alias tagEMRTRANSPARENTBLT EMRTRANSPARENTBLT; 4826 -alias tagEMRTRANSPARENTBLT* PEMRTRANSPARENTBLT; 4827 - 4828 -// #endif /* WINVER >= 0x0500 */ 4829 - 4830 -enum : uint { GDICOMMENT_IDENTIFIER = 0x43494447 } 4831 -enum : uint { GDICOMMENT_WINDOWS_METAFILE = 0x80000001 } 4832 -enum : uint { GDICOMMENT_BEGINGROUP = 0x00000002 } 4833 -enum : uint { GDICOMMENT_ENDGROUP = 0x00000003 } 4834 -enum : uint { GDICOMMENT_MULTIFORMATS = 0x40000004 } 4835 -enum : uint { EPS_SIGNATURE = 0x46535045 } 4836 -enum : uint { GDICOMMENT_UNICODE_STRING = 0x00000040 } 4837 -enum : uint { GDICOMMENT_UNICODE_END = 0x00000080 } 4838 - 4839 -// #endif /* NOMETAFILE */ 4840 - 4841 -extern(Windows) export BOOL wglCopyContext(HGLRC, HGLRC, UINT); 4842 -extern(Windows) export HGLRC wglCreateContext(HDC); 4843 -extern(Windows) export HGLRC wglCreateLayerContext(HDC, int); 4844 -extern(Windows) export BOOL wglDeleteContext(HGLRC); 4845 -extern(Windows) export HGLRC wglGetCurrentContext(); 4846 -extern(Windows) export HDC wglGetCurrentDC(); 4847 -extern(Windows) export PROC wglGetProcAddress(LPCSTR); 4848 -extern(Windows) export BOOL wglMakeCurrent(HDC, HGLRC); 4849 -extern(Windows) export BOOL wglShareLists(HGLRC, HGLRC); 4850 -extern(Windows) export BOOL wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD); 4851 -extern(Windows) export BOOL wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD); 4852 -// #ifdef UNICODE 4853 -// #... 4854 -// #else 4855 -alias wglUseFontBitmapsA wglUseFontBitmaps; 4856 -// #endif // !UNICODE 4857 -extern(Windows) export BOOL SwapBuffers(HDC); 4858 - 4859 -struct _POINTFLOAT { 4860 - FLOAT x; 4861 - FLOAT y; 4862 -} 4863 -alias _POINTFLOAT POINTFLOAT; 4864 -alias _POINTFLOAT* PPOINTFLOAT; 4865 - 4866 -struct _GLYPHMETRICSFLOAT { 4867 - FLOAT gmfBlackBoxX; 4868 - FLOAT gmfBlackBoxY; 4869 - POINTFLOAT gmfptGlyphOrigin; 4870 - FLOAT gmfCellIncX; 4871 - FLOAT gmfCellIncY; 4872 -} 4873 -alias _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT; 4874 -alias _GLYPHMETRICSFLOAT* PGLYPHMETRICSFLOAT; 4875 -alias _GLYPHMETRICSFLOAT* LPGLYPHMETRICSFLOAT; 4876 - 4877 -enum : uint { WGL_FONT_LINES = 0 } 4878 -enum : uint { WGL_FONT_POLYGONS = 1 } 4879 -extern(Windows) export BOOL wglUseFontOutlinesA(HDC, DWORD, DWORD, DWORD, FLOAT, 4880 - FLOAT, int, LPGLYPHMETRICSFLOAT); 4881 -extern(Windows) export BOOL wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT, 4882 - FLOAT, int, LPGLYPHMETRICSFLOAT); 4883 -// #ifdef UNICODE 4884 -// #... 4885 -// #else 4886 -alias wglUseFontOutlinesA wglUseFontOutlines; 4887 -// #endif // !UNICODE 4888 - 4889 -struct tagLAYERPLANEDESCRIPTOR { 4890 - WORD nSize; 4891 - WORD nVersion; 4892 - DWORD dwFlags; 4893 - BYTE iPixelType; 4894 - BYTE cColorBits; 4895 - BYTE cRedBits; 4896 - BYTE cRedShift; 4897 - BYTE cGreenBits; 4898 - BYTE cGreenShift; 4899 - BYTE cBlueBits; 4900 - BYTE cBlueShift; 4901 - BYTE cAlphaBits; 4902 - BYTE cAlphaShift; 4903 - BYTE cAccumBits; 4904 - BYTE cAccumRedBits; 4905 - BYTE cAccumGreenBits; 4906 - BYTE cAccumBlueBits; 4907 - BYTE cAccumAlphaBits; 4908 - BYTE cDepthBits; 4909 - BYTE cStencilBits; 4910 - BYTE cAuxBuffers; 4911 - BYTE iLayerPlane; 4912 - BYTE bReserved; 4913 - COLORREF crTransparent; 4914 -} 4915 -alias tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR; 4916 -alias tagLAYERPLANEDESCRIPTOR* PLAYERPLANEDESCRIPTOR; 4917 -alias tagLAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR; 4918 - 4919 -enum : uint { LPD_DOUBLEBUFFER = 0x00000001 } 4920 -enum : uint { LPD_STEREO = 0x00000002 } 4921 -enum : uint { LPD_SUPPORT_GDI = 0x00000010 } 4922 -enum : uint { LPD_SUPPORT_OPENGL = 0x00000020 } 4923 -enum : uint { LPD_SHARE_DEPTH = 0x00000040 } 4924 -enum : uint { LPD_SHARE_STENCIL = 0x00000080 } 4925 -enum : uint { LPD_SHARE_ACCUM = 0x00000100 } 4926 -enum : uint { LPD_SWAP_EXCHANGE = 0x00000200 } 4927 -enum : uint { LPD_SWAP_COPY = 0x00000400 } 4928 -enum : uint { LPD_TRANSPARENT = 0x00001000 } 4929 - 4930 -enum : uint { LPD_TYPE_RGBA = 0 } 4931 -enum : uint { LPD_TYPE_COLORINDEX = 1 } 4932 - 4933 -enum : uint { WGL_SWAP_MAIN_PLANE = 0x00000001 } 4934 -enum : uint { WGL_SWAP_OVERLAY1 = 0x00000002 } 4935 -enum : uint { WGL_SWAP_OVERLAY2 = 0x00000004 } 4936 -enum : uint { WGL_SWAP_OVERLAY3 = 0x00000008 } 4937 -enum : uint { WGL_SWAP_OVERLAY4 = 0x00000010 } 4938 -enum : uint { WGL_SWAP_OVERLAY5 = 0x00000020 } 4939 -enum : uint { WGL_SWAP_OVERLAY6 = 0x00000040 } 4940 -enum : uint { WGL_SWAP_OVERLAY7 = 0x00000080 } 4941 -enum : uint { WGL_SWAP_OVERLAY8 = 0x00000100 } 4942 -enum : uint { WGL_SWAP_OVERLAY9 = 0x00000200 } 4943 -enum : uint { WGL_SWAP_OVERLAY10 = 0x00000400 } 4944 -enum : uint { WGL_SWAP_OVERLAY11 = 0x00000800 } 4945 -enum : uint { WGL_SWAP_OVERLAY12 = 0x00001000 } 4946 -enum : uint { WGL_SWAP_OVERLAY13 = 0x00002000 } 4947 -enum : uint { WGL_SWAP_OVERLAY14 = 0x00004000 } 4948 -enum : uint { WGL_SWAP_OVERLAY15 = 0x00008000 } 4949 -enum : uint { WGL_SWAP_UNDERLAY1 = 0x00010000 } 4950 -enum : uint { WGL_SWAP_UNDERLAY2 = 0x00020000 } 4951 -enum : uint { WGL_SWAP_UNDERLAY3 = 0x00040000 } 4952 -enum : uint { WGL_SWAP_UNDERLAY4 = 0x00080000 } 4953 -enum : uint { WGL_SWAP_UNDERLAY5 = 0x00100000 } 4954 -enum : uint { WGL_SWAP_UNDERLAY6 = 0x00200000 } 4955 -enum : uint { WGL_SWAP_UNDERLAY7 = 0x00400000 } 4956 -enum : uint { WGL_SWAP_UNDERLAY8 = 0x00800000 } 4957 -enum : uint { WGL_SWAP_UNDERLAY9 = 0x01000000 } 4958 -enum : uint { WGL_SWAP_UNDERLAY10 = 0x02000000 } 4959 -enum : uint { WGL_SWAP_UNDERLAY11 = 0x04000000 } 4960 -enum : uint { WGL_SWAP_UNDERLAY12 = 0x08000000 } 4961 -enum : uint { WGL_SWAP_UNDERLAY13 = 0x10000000 } 4962 -enum : uint { WGL_SWAP_UNDERLAY14 = 0x20000000 } 4963 -enum : uint { WGL_SWAP_UNDERLAY15 = 0x40000000 } 4964 - 4965 -extern(Windows) export BOOL wglDescribeLayerPlane(HDC, int, int, UINT, 4966 - LPLAYERPLANEDESCRIPTOR); 4967 -extern(Windows) export int wglSetLayerPaletteEntries(HDC, int, int, int, 4968 - COLORREF *); 4969 -extern(Windows) export int wglGetLayerPaletteEntries(HDC, int, int, int, 4970 - COLORREF *); 4971 -extern(Windows) export BOOL wglRealizeLayerPalette(HDC, int, BOOL); 4972 -extern(Windows) export BOOL wglSwapLayerBuffers(HDC, UINT); 4973 - 4974 -// #if (WINVER >= 0x0500) 4975 - 4976 -struct _WGLSWAP { 4977 - HDC hdc; 4978 - UINT uiFlags; 4979 -} 4980 -alias _WGLSWAP WGLSWAP; 4981 -alias _WGLSWAP* PWGLSWAP; 4982 -alias _WGLSWAP* LPWGLSWAP; 4983 - 4984 -enum : uint { WGL_SWAPMULTIPLE_MAX = 16 } 4985 - 4986 -extern(Windows) export DWORD wglSwapMultipleBuffers(UINT, WGLSWAP *); 4987 - 4988 -// #endif // (WINVER >= 0x0500) 4989 - 4990 -// #endif /* NOGDI */ 4991 - 4992 -// #ifdef __cplusplus 4993 -// } 4994 -// #endif 4995 - 4996 -// #endif /* _WINGDI_ */ 4997 -

Deleted src/win32/ansi/winnls.d version [6afac56366fd64c2]

1 -module win32.ansi.winnls; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winbase; 7 - 8 -// #ifndef _WINNLS_ 9 -// #define _WINNLS_ 10 - 11 -// #ifdef __cplusplus 12 -// extern "C" { 13 -// #endif 14 - 15 -// #ifndef NONLS 16 - 17 -// #ifdef _MAC 18 -// #... 19 -// #endif 20 - 21 -enum : uint { MAX_LEADBYTES = 12 } 22 -enum : uint { MAX_DEFAULTCHAR = 2 } 23 - 24 -enum : uint { MB_PRECOMPOSED = 0x00000001 } 25 -enum : uint { MB_COMPOSITE = 0x00000002 } 26 -enum : uint { MB_USEGLYPHCHARS = 0x00000004 } 27 -enum : uint { MB_ERR_INVALID_CHARS = 0x00000008 } 28 - 29 -enum : uint { WC_COMPOSITECHECK = 0x00000200 } 30 -enum : uint { WC_DISCARDNS = 0x00000010 } 31 -enum : uint { WC_SEPCHARS = 0x00000020 } 32 -enum : uint { WC_DEFAULTCHAR = 0x00000040 } 33 - 34 -// #if(WINVER >= 0x0500) 35 -enum : uint { WC_NO_BEST_FIT_CHARS = 0x00000400 } 36 -// #endif /* WINVER >= 0x0500 */ 37 - 38 -enum : uint { CT_CTYPE1 = 0x00000001 } 39 -enum : uint { CT_CTYPE2 = 0x00000002 } 40 -enum : uint { CT_CTYPE3 = 0x00000004 } 41 - 42 -enum : uint { C1_UPPER = 0x0001 } 43 -enum : uint { C1_LOWER = 0x0002 } 44 -enum : uint { C1_DIGIT = 0x0004 } 45 -enum : uint { C1_SPACE = 0x0008 } 46 -enum : uint { C1_PUNCT = 0x0010 } 47 -enum : uint { C1_CNTRL = 0x0020 } 48 -enum : uint { C1_BLANK = 0x0040 } 49 -enum : uint { C1_XDIGIT = 0x0080 } 50 -enum : uint { C1_ALPHA = 0x0100 } 51 -enum : uint { C1_DEFINED = 0x0200 } 52 - 53 -enum : uint { C2_LEFTTORIGHT = 0x0001 } 54 -enum : uint { C2_RIGHTTOLEFT = 0x0002 } 55 - 56 -enum : uint { C2_EUROPENUMBER = 0x0003 } 57 -enum : uint { C2_EUROPESEPARATOR = 0x0004 } 58 -enum : uint { C2_EUROPETERMINATOR = 0x0005 } 59 -enum : uint { C2_ARABICNUMBER = 0x0006 } 60 -enum : uint { C2_COMMONSEPARATOR = 0x0007 } 61 - 62 -enum : uint { C2_BLOCKSEPARATOR = 0x0008 } 63 -enum : uint { C2_SEGMENTSEPARATOR = 0x0009 } 64 -enum : uint { C2_WHITESPACE = 0x000A } 65 -enum : uint { C2_OTHERNEUTRAL = 0x000B } 66 - 67 -enum : uint { C2_NOTAPPLICABLE = 0x0000 } 68 - 69 -enum : uint { C3_NONSPACING = 0x0001 } 70 -enum : uint { C3_DIACRITIC = 0x0002 } 71 -enum : uint { C3_VOWELMARK = 0x0004 } 72 -enum : uint { C3_SYMBOL = 0x0008 } 73 - 74 -enum : uint { C3_KATAKANA = 0x0010 } 75 -enum : uint { C3_HIRAGANA = 0x0020 } 76 -enum : uint { C3_HALFWIDTH = 0x0040 } 77 -enum : uint { C3_FULLWIDTH = 0x0080 } 78 -enum : uint { C3_IDEOGRAPH = 0x0100 } 79 -enum : uint { C3_KASHIDA = 0x0200 } 80 -enum : uint { C3_LEXICAL = 0x0400 } 81 - 82 -enum : uint { C3_ALPHA = 0x8000 } 83 - 84 -enum : uint { C3_NOTAPPLICABLE = 0x0000 } 85 - 86 -enum : uint { NORM_IGNORECASE = 0x00000001 } 87 -enum : uint { NORM_IGNORENONSPACE = 0x00000002 } 88 -enum : uint { NORM_IGNORESYMBOLS = 0x00000004 } 89 - 90 -enum : uint { NORM_IGNOREKANATYPE = 0x00010000 } 91 -enum : uint { NORM_IGNOREWIDTH = 0x00020000 } 92 - 93 -enum : uint { MAP_FOLDCZONE = 0x00000010 } 94 -enum : uint { MAP_PRECOMPOSED = 0x00000020 } 95 -enum : uint { MAP_COMPOSITE = 0x00000040 } 96 -enum : uint { MAP_FOLDDIGITS = 0x00000080 } 97 - 98 -// #if(WINVER >= 0x0500) 99 -enum : uint { MAP_EXPAND_LIGATURES = 0x00002000 } 100 -// #endif /* WINVER >= 0x0500 */ 101 - 102 -enum : uint { LCMAP_LOWERCASE = 0x00000100 } 103 -enum : uint { LCMAP_UPPERCASE = 0x00000200 } 104 -enum : uint { LCMAP_SORTKEY = 0x00000400 } 105 -enum : uint { LCMAP_BYTEREV = 0x00000800 } 106 - 107 -enum : uint { LCMAP_HIRAGANA = 0x00100000 } 108 -enum : uint { LCMAP_KATAKANA = 0x00200000 } 109 -enum : uint { LCMAP_HALFWIDTH = 0x00400000 } 110 -enum : uint { LCMAP_FULLWIDTH = 0x00800000 } 111 - 112 -enum : uint { LCMAP_LINGUISTIC_CASING = 0x01000000 } 113 - 114 -enum : uint { LCMAP_SIMPLIFIED_CHINESE = 0x02000000 } 115 -enum : uint { LCMAP_TRADITIONAL_CHINESE = 0x04000000 } 116 - 117 -enum : uint { LGRPID_INSTALLED = 0x00000001 } 118 -enum : uint { LGRPID_SUPPORTED = 0x00000002 } 119 - 120 -enum : uint { LCID_INSTALLED = 0x00000001 } 121 -enum : uint { LCID_SUPPORTED = 0x00000002 } 122 -enum : uint { LCID_ALTERNATE_SORTS = 0x00000004 } 123 - 124 -enum : uint { CP_INSTALLED = 0x00000001 } 125 -enum : uint { CP_SUPPORTED = 0x00000002 } 126 - 127 -enum : uint { SORT_STRINGSORT = 0x00001000 } 128 - 129 -enum : uint { CSTR_LESS_THAN = 1 } 130 -enum : uint { CSTR_EQUAL = 2 } 131 -enum : uint { CSTR_GREATER_THAN = 3 } 132 - 133 -enum : uint { CP_ACP = 0 } 134 -enum : uint { CP_OEMCP = 1 } 135 -enum : uint { CP_MACCP = 2 } 136 -enum : uint { CP_THREAD_ACP = 3 } 137 -enum : uint { CP_SYMBOL = 42 } 138 - 139 -enum : uint { CP_UTF7 = 65000 } 140 -enum : uint { CP_UTF8 = 65001 } 141 - 142 -enum : uint { CTRY_DEFAULT = 0 } 143 - 144 -enum : uint { CTRY_ALBANIA = 355 } 145 -enum : uint { CTRY_ALGERIA = 213 } 146 -enum : uint { CTRY_ARGENTINA = 54 } 147 -enum : uint { CTRY_ARMENIA = 374 } 148 -enum : uint { CTRY_AUSTRALIA = 61 } 149 -enum : uint { CTRY_AUSTRIA = 43 } 150 -enum : uint { CTRY_AZERBAIJAN = 994 } 151 -enum : uint { CTRY_BAHRAIN = 973 } 152 -enum : uint { CTRY_BELARUS = 375 } 153 -enum : uint { CTRY_BELGIUM = 32 } 154 -enum : uint { CTRY_BELIZE = 501 } 155 -enum : uint { CTRY_BOLIVIA = 591 } 156 -enum : uint { CTRY_BRAZIL = 55 } 157 -enum : uint { CTRY_BRUNEI_DARUSSALAM = 673 } 158 -enum : uint { CTRY_BULGARIA = 359 } 159 -enum : uint { CTRY_CANADA = 2 } 160 -enum : uint { CTRY_CARIBBEAN = 1 } 161 -enum : uint { CTRY_CHILE = 56 } 162 -enum : uint { CTRY_COLOMBIA = 57 } 163 -enum : uint { CTRY_COSTA_RICA = 506 } 164 -enum : uint { CTRY_CROATIA = 385 } 165 -enum : uint { CTRY_CZECH = 420 } 166 -enum : uint { CTRY_DENMARK = 45 } 167 -enum : uint { CTRY_DOMINICAN_REPUBLIC = 1 } 168 -enum : uint { CTRY_ECUADOR = 593 } 169 -enum : uint { CTRY_EGYPT = 20 } 170 -enum : uint { CTRY_EL_SALVADOR = 503 } 171 -enum : uint { CTRY_ESTONIA = 372 } 172 -enum : uint { CTRY_FAEROE_ISLANDS = 298 } 173 -enum : uint { CTRY_FINLAND = 358 } 174 -enum : uint { CTRY_FRANCE = 33 } 175 -enum : uint { CTRY_GEORGIA = 995 } 176 -enum : uint { CTRY_GERMANY = 49 } 177 -enum : uint { CTRY_GREECE = 30 } 178 -enum : uint { CTRY_GUATEMALA = 502 } 179 -enum : uint { CTRY_HONDURAS = 504 } 180 -enum : uint { CTRY_HONG_KONG = 852 } 181 -enum : uint { CTRY_HUNGARY = 36 } 182 -enum : uint { CTRY_ICELAND = 354 } 183 -enum : uint { CTRY_INDIA = 91 } 184 -enum : uint { CTRY_INDONESIA = 62 } 185 -enum : uint { CTRY_IRAN = 981 } 186 -enum : uint { CTRY_IRAQ = 964 } 187 -enum : uint { CTRY_IRELAND = 353 } 188 -enum : uint { CTRY_ISRAEL = 972 } 189 -enum : uint { CTRY_ITALY = 39 } 190 -enum : uint { CTRY_JAMAICA = 1 } 191 -enum : uint { CTRY_JAPAN = 81 } 192 -enum : uint { CTRY_JORDAN = 962 } 193 -enum : uint { CTRY_KAZAKSTAN = 7 } 194 -enum : uint { CTRY_KENYA = 254 } 195 -enum : uint { CTRY_KUWAIT = 965 } 196 -enum : uint { CTRY_KYRGYZSTAN = 996 } 197 -enum : uint { CTRY_LATVIA = 371 } 198 -enum : uint { CTRY_LEBANON = 961 } 199 -enum : uint { CTRY_LIBYA = 218 } 200 -enum : uint { CTRY_LIECHTENSTEIN = 41 } 201 -enum : uint { CTRY_LITHUANIA = 370 } 202 -enum : uint { CTRY_LUXEMBOURG = 352 } 203 -enum : uint { CTRY_MACAU = 853 } 204 -enum : uint { CTRY_MACEDONIA = 389 } 205 -enum : uint { CTRY_MALAYSIA = 60 } 206 -enum : uint { CTRY_MALDIVES = 960 } 207 -enum : uint { CTRY_MEXICO = 52 } 208 -enum : uint { CTRY_MONACO = 33 } 209 -enum : uint { CTRY_MONGOLIA = 976 } 210 -enum : uint { CTRY_MOROCCO = 212 } 211 -enum : uint { CTRY_NETHERLANDS = 31 } 212 -enum : uint { CTRY_NEW_ZEALAND = 64 } 213 -enum : uint { CTRY_NICARAGUA = 505 } 214 -enum : uint { CTRY_NORWAY = 47 } 215 -enum : uint { CTRY_OMAN = 968 } 216 -enum : uint { CTRY_PAKISTAN = 92 } 217 -enum : uint { CTRY_PANAMA = 507 } 218 -enum : uint { CTRY_PARAGUAY = 595 } 219 -enum : uint { CTRY_PERU = 51 } 220 -enum : uint { CTRY_PHILIPPINES = 63 } 221 -enum : uint { CTRY_POLAND = 48 } 222 -enum : uint { CTRY_PORTUGAL = 351 } 223 -enum : uint { CTRY_PRCHINA = 86 } 224 -enum : uint { CTRY_PUERTO_RICO = 1 } 225 -enum : uint { CTRY_QATAR = 974 } 226 -enum : uint { CTRY_ROMANIA = 40 } 227 -enum : uint { CTRY_RUSSIA = 7 } 228 -enum : uint { CTRY_SAUDI_ARABIA = 966 } 229 -enum : uint { CTRY_SERBIA = 381 } 230 -enum : uint { CTRY_SINGAPORE = 65 } 231 -enum : uint { CTRY_SLOVAK = 421 } 232 -enum : uint { CTRY_SLOVENIA = 386 } 233 -enum : uint { CTRY_SOUTH_AFRICA = 27 } 234 -enum : uint { CTRY_SOUTH_KOREA = 82 } 235 -enum : uint { CTRY_SPAIN = 34 } 236 -enum : uint { CTRY_SWEDEN = 46 } 237 -enum : uint { CTRY_SWITZERLAND = 41 } 238 -enum : uint { CTRY_SYRIA = 963 } 239 -enum : uint { CTRY_TAIWAN = 886 } 240 -enum : uint { CTRY_TATARSTAN = 7 } 241 -enum : uint { CTRY_THAILAND = 66 } 242 -enum : uint { CTRY_TRINIDAD_Y_TOBAGO = 1 } 243 -enum : uint { CTRY_TUNISIA = 216 } 244 -enum : uint { CTRY_TURKEY = 90 } 245 -enum : uint { CTRY_UAE = 971 } 246 -enum : uint { CTRY_UKRAINE = 380 } 247 -enum : uint { CTRY_UNITED_KINGDOM = 44 } 248 -enum : uint { CTRY_UNITED_STATES = 1 } 249 -enum : uint { CTRY_URUGUAY = 598 } 250 -enum : uint { CTRY_UZBEKISTAN = 7 } 251 -enum : uint { CTRY_VENEZUELA = 58 } 252 -enum : uint { CTRY_VIET_NAM = 84 } 253 -enum : uint { CTRY_YEMEN = 967 } 254 -enum : uint { CTRY_ZIMBABWE = 263 } 255 - 256 -enum : uint { LOCALE_NOUSEROVERRIDE = 0x80000000 } 257 -enum : uint { LOCALE_USE_CP_ACP = 0x40000000 } 258 - 259 -// #if(WINVER >= 0x0400) 260 -enum : uint { LOCALE_RETURN_NUMBER = 0x20000000 } 261 -// #endif /* WINVER >= 0x0400 */ 262 - 263 -enum : uint { LOCALE_ILANGUAGE = 0x00000001 } 264 -enum : uint { LOCALE_SLANGUAGE = 0x00000002 } 265 -enum : uint { LOCALE_SENGLANGUAGE = 0x00001001 } 266 -enum : uint { LOCALE_SABBREVLANGNAME = 0x00000003 } 267 -enum : uint { LOCALE_SNATIVELANGNAME = 0x00000004 } 268 - 269 -enum : uint { LOCALE_ICOUNTRY = 0x00000005 } 270 -enum : uint { LOCALE_SCOUNTRY = 0x00000006 } 271 -enum : uint { LOCALE_SENGCOUNTRY = 0x00001002 } 272 -enum : uint { LOCALE_SABBREVCTRYNAME = 0x00000007 } 273 -enum : uint { LOCALE_SNATIVECTRYNAME = 0x00000008 } 274 - 275 -enum : uint { LOCALE_IDEFAULTLANGUAGE = 0x00000009 } 276 -enum : uint { LOCALE_IDEFAULTCOUNTRY = 0x0000000A } 277 -enum : uint { LOCALE_IDEFAULTCODEPAGE = 0x0000000B } 278 -enum : uint { LOCALE_IDEFAULTANSICODEPAGE = 0x00001004 } 279 -enum : uint { LOCALE_IDEFAULTMACCODEPAGE = 0x00001011 } 280 - 281 -enum : uint { LOCALE_SLIST = 0x0000000C } 282 -enum : uint { LOCALE_IMEASURE = 0x0000000D } 283 - 284 -enum : uint { LOCALE_SDECIMAL = 0x0000000E } 285 -enum : uint { LOCALE_STHOUSAND = 0x0000000F } 286 -enum : uint { LOCALE_SGROUPING = 0x00000010 } 287 -enum : uint { LOCALE_IDIGITS = 0x00000011 } 288 -enum : uint { LOCALE_ILZERO = 0x00000012 } 289 -enum : uint { LOCALE_INEGNUMBER = 0x00001010 } 290 -enum : uint { LOCALE_SNATIVEDIGITS = 0x00000013 } 291 - 292 -enum : uint { LOCALE_SCURRENCY = 0x00000014 } 293 -enum : uint { LOCALE_SINTLSYMBOL = 0x00000015 } 294 -enum : uint { LOCALE_SMONDECIMALSEP = 0x00000016 } 295 -enum : uint { LOCALE_SMONTHOUSANDSEP = 0x00000017 } 296 -enum : uint { LOCALE_SMONGROUPING = 0x00000018 } 297 -enum : uint { LOCALE_ICURRDIGITS = 0x00000019 } 298 -enum : uint { LOCALE_IINTLCURRDIGITS = 0x0000001A } 299 -enum : uint { LOCALE_ICURRENCY = 0x0000001B } 300 -enum : uint { LOCALE_INEGCURR = 0x0000001C } 301 - 302 -enum : uint { LOCALE_SDATE = 0x0000001D } 303 -enum : uint { LOCALE_STIME = 0x0000001E } 304 -enum : uint { LOCALE_SSHORTDATE = 0x0000001F } 305 -enum : uint { LOCALE_SLONGDATE = 0x00000020 } 306 -enum : uint { LOCALE_STIMEFORMAT = 0x00001003 } 307 -enum : uint { LOCALE_IDATE = 0x00000021 } 308 -enum : uint { LOCALE_ILDATE = 0x00000022 } 309 -enum : uint { LOCALE_ITIME = 0x00000023 } 310 -enum : uint { LOCALE_ITIMEMARKPOSN = 0x00001005 } 311 -enum : uint { LOCALE_ICENTURY = 0x00000024 } 312 -enum : uint { LOCALE_ITLZERO = 0x00000025 } 313 -enum : uint { LOCALE_IDAYLZERO = 0x00000026 } 314 -enum : uint { LOCALE_IMONLZERO = 0x00000027 } 315 -enum : uint { LOCALE_S1159 = 0x00000028 } 316 -enum : uint { LOCALE_S2359 = 0x00000029 } 317 - 318 -enum : uint { LOCALE_ICALENDARTYPE = 0x00001009 } 319 -enum : uint { LOCALE_IOPTIONALCALENDAR = 0x0000100B } 320 -enum : uint { LOCALE_IFIRSTDAYOFWEEK = 0x0000100C } 321 -enum : uint { LOCALE_IFIRSTWEEKOFYEAR = 0x0000100D } 322 - 323 -enum : uint { LOCALE_SDAYNAME1 = 0x0000002A } 324 -enum : uint { LOCALE_SDAYNAME2 = 0x0000002B } 325 -enum : uint { LOCALE_SDAYNAME3 = 0x0000002C } 326 -enum : uint { LOCALE_SDAYNAME4 = 0x0000002D } 327 -enum : uint { LOCALE_SDAYNAME5 = 0x0000002E } 328 -enum : uint { LOCALE_SDAYNAME6 = 0x0000002F } 329 -enum : uint { LOCALE_SDAYNAME7 = 0x00000030 } 330 -enum : uint { LOCALE_SABBREVDAYNAME1 = 0x00000031 } 331 -enum : uint { LOCALE_SABBREVDAYNAME2 = 0x00000032 } 332 -enum : uint { LOCALE_SABBREVDAYNAME3 = 0x00000033 } 333 -enum : uint { LOCALE_SABBREVDAYNAME4 = 0x00000034 } 334 -enum : uint { LOCALE_SABBREVDAYNAME5 = 0x00000035 } 335 -enum : uint { LOCALE_SABBREVDAYNAME6 = 0x00000036 } 336 -enum : uint { LOCALE_SABBREVDAYNAME7 = 0x00000037 } 337 -enum : uint { LOCALE_SMONTHNAME1 = 0x00000038 } 338 -enum : uint { LOCALE_SMONTHNAME2 = 0x00000039 } 339 -enum : uint { LOCALE_SMONTHNAME3 = 0x0000003A } 340 -enum : uint { LOCALE_SMONTHNAME4 = 0x0000003B } 341 -enum : uint { LOCALE_SMONTHNAME5 = 0x0000003C } 342 -enum : uint { LOCALE_SMONTHNAME6 = 0x0000003D } 343 -enum : uint { LOCALE_SMONTHNAME7 = 0x0000003E } 344 -enum : uint { LOCALE_SMONTHNAME8 = 0x0000003F } 345 -enum : uint { LOCALE_SMONTHNAME9 = 0x00000040 } 346 -enum : uint { LOCALE_SMONTHNAME10 = 0x00000041 } 347 -enum : uint { LOCALE_SMONTHNAME11 = 0x00000042 } 348 -enum : uint { LOCALE_SMONTHNAME12 = 0x00000043 } 349 -enum : uint { LOCALE_SMONTHNAME13 = 0x0000100E } 350 -enum : uint { LOCALE_SABBREVMONTHNAME1 = 0x00000044 } 351 -enum : uint { LOCALE_SABBREVMONTHNAME2 = 0x00000045 } 352 -enum : uint { LOCALE_SABBREVMONTHNAME3 = 0x00000046 } 353 -enum : uint { LOCALE_SABBREVMONTHNAME4 = 0x00000047 } 354 -enum : uint { LOCALE_SABBREVMONTHNAME5 = 0x00000048 } 355 -enum : uint { LOCALE_SABBREVMONTHNAME6 = 0x00000049 } 356 -enum : uint { LOCALE_SABBREVMONTHNAME7 = 0x0000004A } 357 -enum : uint { LOCALE_SABBREVMONTHNAME8 = 0x0000004B } 358 -enum : uint { LOCALE_SABBREVMONTHNAME9 = 0x0000004C } 359 -enum : uint { LOCALE_SABBREVMONTHNAME10 = 0x0000004D } 360 -enum : uint { LOCALE_SABBREVMONTHNAME11 = 0x0000004E } 361 -enum : uint { LOCALE_SABBREVMONTHNAME12 = 0x0000004F } 362 -enum : uint { LOCALE_SABBREVMONTHNAME13 = 0x0000100F } 363 - 364 -enum : uint { LOCALE_SPOSITIVESIGN = 0x00000050 } 365 -enum : uint { LOCALE_SNEGATIVESIGN = 0x00000051 } 366 -enum : uint { LOCALE_IPOSSIGNPOSN = 0x00000052 } 367 -enum : uint { LOCALE_INEGSIGNPOSN = 0x00000053 } 368 -enum : uint { LOCALE_IPOSSYMPRECEDES = 0x00000054 } 369 -enum : uint { LOCALE_IPOSSEPBYSPACE = 0x00000055 } 370 -enum : uint { LOCALE_INEGSYMPRECEDES = 0x00000056 } 371 -enum : uint { LOCALE_INEGSEPBYSPACE = 0x00000057 } 372 - 373 -// #if(WINVER >= 0x0400) 374 -enum : uint { LOCALE_FONTSIGNATURE = 0x00000058 } 375 -enum : uint { LOCALE_SISO639LANGNAME = 0x00000059 } 376 -enum : uint { LOCALE_SISO3166CTRYNAME = 0x0000005A } 377 -// #endif /* WINVER >= 0x0400 */ 378 - 379 -// #if(WINVER >= 0x0500) 380 -enum : uint { LOCALE_IDEFAULTEBCDICCODEPAGE = 0x00001012 } 381 -enum : uint { LOCALE_IPAPERSIZE = 0x0000100A } 382 -enum : uint { LOCALE_SENGCURRNAME = 0x00001007 } 383 -enum : uint { LOCALE_SNATIVECURRNAME = 0x00001008 } 384 -enum : uint { LOCALE_SYEARMONTH = 0x00001006 } 385 -enum : uint { LOCALE_SSORTNAME = 0x00001013 } 386 -enum : uint { LOCALE_IDIGITSUBSTITUTION = 0x00001014 } 387 - 388 -// #endif /* WINVER >= 0x0500 */ 389 - 390 -enum : uint { TIME_NOMINUTESORSECONDS = 0x00000001 } 391 -enum : uint { TIME_NOSECONDS = 0x00000002 } 392 -enum : uint { TIME_NOTIMEMARKER = 0x00000004 } 393 -enum : uint { TIME_FORCE24HOURFORMAT = 0x00000008 } 394 - 395 -enum : uint { DATE_SHORTDATE = 0x00000001 } 396 -enum : uint { DATE_LONGDATE = 0x00000002 } 397 -enum : uint { DATE_USE_ALT_CALENDAR = 0x00000004 } 398 - 399 -// #if(WINVER >= 0x0500) 400 -enum : uint { DATE_YEARMONTH = 0x00000008 } 401 -enum : uint { DATE_LTRREADING = 0x00000010 } 402 -enum : uint { DATE_RTLREADING = 0x00000020 } 403 -// #endif /* WINVER >= 0x0500 */ 404 - 405 -// #if(WINVER >= 0x0500) 406 -alias LOCALE_NOUSEROVERRIDE CAL_NOUSEROVERRIDE; 407 -alias LOCALE_USE_CP_ACP CAL_USE_CP_ACP; 408 -alias LOCALE_RETURN_NUMBER CAL_RETURN_NUMBER; 409 -// #endif /* WINVER >= 0x0500 */ 410 - 411 -enum : uint { CAL_ICALINTVALUE = 0x00000001 } 412 -enum : uint { CAL_SCALNAME = 0x00000002 } 413 -enum : uint { CAL_IYEAROFFSETRANGE = 0x00000003 } 414 -enum : uint { CAL_SERASTRING = 0x00000004 } 415 -enum : uint { CAL_SSHORTDATE = 0x00000005 } 416 -enum : uint { CAL_SLONGDATE = 0x00000006 } 417 -enum : uint { CAL_SDAYNAME1 = 0x00000007 } 418 -enum : uint { CAL_SDAYNAME2 = 0x00000008 } 419 -enum : uint { CAL_SDAYNAME3 = 0x00000009 } 420 -enum : uint { CAL_SDAYNAME4 = 0x0000000a } 421 -enum : uint { CAL_SDAYNAME5 = 0x0000000b } 422 -enum : uint { CAL_SDAYNAME6 = 0x0000000c } 423 -enum : uint { CAL_SDAYNAME7 = 0x0000000d } 424 -enum : uint { CAL_SABBREVDAYNAME1 = 0x0000000e } 425 -enum : uint { CAL_SABBREVDAYNAME2 = 0x0000000f } 426 -enum : uint { CAL_SABBREVDAYNAME3 = 0x00000010 } 427 -enum : uint { CAL_SABBREVDAYNAME4 = 0x00000011 } 428 -enum : uint { CAL_SABBREVDAYNAME5 = 0x00000012 } 429 -enum : uint { CAL_SABBREVDAYNAME6 = 0x00000013 } 430 -enum : uint { CAL_SABBREVDAYNAME7 = 0x00000014 } 431 -enum : uint { CAL_SMONTHNAME1 = 0x00000015 } 432 -enum : uint { CAL_SMONTHNAME2 = 0x00000016 } 433 -enum : uint { CAL_SMONTHNAME3 = 0x00000017 } 434 -enum : uint { CAL_SMONTHNAME4 = 0x00000018 } 435 -enum : uint { CAL_SMONTHNAME5 = 0x00000019 } 436 -enum : uint { CAL_SMONTHNAME6 = 0x0000001a } 437 -enum : uint { CAL_SMONTHNAME7 = 0x0000001b } 438 -enum : uint { CAL_SMONTHNAME8 = 0x0000001c } 439 -enum : uint { CAL_SMONTHNAME9 = 0x0000001d } 440 -enum : uint { CAL_SMONTHNAME10 = 0x0000001e } 441 -enum : uint { CAL_SMONTHNAME11 = 0x0000001f } 442 -enum : uint { CAL_SMONTHNAME12 = 0x00000020 } 443 -enum : uint { CAL_SMONTHNAME13 = 0x00000021 } 444 -enum : uint { CAL_SABBREVMONTHNAME1 = 0x00000022 } 445 -enum : uint { CAL_SABBREVMONTHNAME2 = 0x00000023 } 446 -enum : uint { CAL_SABBREVMONTHNAME3 = 0x00000024 } 447 -enum : uint { CAL_SABBREVMONTHNAME4 = 0x00000025 } 448 -enum : uint { CAL_SABBREVMONTHNAME5 = 0x00000026 } 449 -enum : uint { CAL_SABBREVMONTHNAME6 = 0x00000027 } 450 -enum : uint { CAL_SABBREVMONTHNAME7 = 0x00000028 } 451 -enum : uint { CAL_SABBREVMONTHNAME8 = 0x00000029 } 452 -enum : uint { CAL_SABBREVMONTHNAME9 = 0x0000002a } 453 -enum : uint { CAL_SABBREVMONTHNAME10 = 0x0000002b } 454 -enum : uint { CAL_SABBREVMONTHNAME11 = 0x0000002c } 455 -enum : uint { CAL_SABBREVMONTHNAME12 = 0x0000002d } 456 -enum : uint { CAL_SABBREVMONTHNAME13 = 0x0000002e } 457 - 458 -// #if(WINVER >= 0x0500) 459 -enum : uint { CAL_SYEARMONTH = 0x0000002f } 460 -enum : uint { CAL_ITWODIGITYEARMAX = 0x00000030 } 461 -// #endif /* WINVER >= 0x0500 */ 462 - 463 -enum : uint { ENUM_ALL_CALENDARS = 0xffffffff } 464 - 465 -enum : uint { CAL_GREGORIAN = 1 } 466 -enum : uint { CAL_GREGORIAN_US = 2 } 467 -enum : uint { CAL_JAPAN = 3 } 468 -enum : uint { CAL_TAIWAN = 4 } 469 -enum : uint { CAL_KOREA = 5 } 470 -enum : uint { CAL_HIJRI = 6 } 471 -enum : uint { CAL_THAI = 7 } 472 -enum : uint { CAL_HEBREW = 8 } 473 -enum : uint { CAL_GREGORIAN_ME_FRENCH = 9 } 474 -enum : uint { CAL_GREGORIAN_ARABIC = 10 } 475 -enum : uint { CAL_GREGORIAN_XLIT_ENGLISH = 11 } 476 -enum : uint { CAL_GREGORIAN_XLIT_FRENCH = 12 } 477 - 478 -enum : uint { LGRPID_WESTERN_EUROPE = 0x0001 } 479 -enum : uint { LGRPID_CENTRAL_EUROPE = 0x0002 } 480 -enum : uint { LGRPID_BALTIC = 0x0003 } 481 -enum : uint { LGRPID_GREEK = 0x0004 } 482 -enum : uint { LGRPID_CYRILLIC = 0x0005 } 483 -enum : uint { LGRPID_TURKISH = 0x0006 } 484 -enum : uint { LGRPID_JAPANESE = 0x0007 } 485 -enum : uint { LGRPID_KOREAN = 0x0008 } 486 -enum : uint { LGRPID_TRADITIONAL_CHINESE = 0x0009 } 487 -enum : uint { LGRPID_SIMPLIFIED_CHINESE = 0x000a } 488 -enum : uint { LGRPID_THAI = 0x000b } 489 -enum : uint { LGRPID_HEBREW = 0x000c } 490 -enum : uint { LGRPID_ARABIC = 0x000d } 491 -enum : uint { LGRPID_VIETNAMESE = 0x000e } 492 -enum : uint { LGRPID_INDIC = 0x000f } 493 -enum : uint { LGRPID_GEORGIAN = 0x0010 } 494 -enum : uint { LGRPID_ARMENIAN = 0x0011 } 495 - 496 -alias DWORD LGRPID; 497 - 498 -alias DWORD LCTYPE; 499 - 500 -alias DWORD CALTYPE; 501 - 502 -alias DWORD CALID; 503 - 504 -struct _cpinfo { 505 - UINT MaxCharSize; 506 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 507 - BYTE LeadByte[MAX_LEADBYTES]; 508 -} 509 -alias _cpinfo CPINFO; 510 -alias _cpinfo* LPCPINFO; 511 - 512 -struct _cpinfoexA { 513 - UINT MaxCharSize; 514 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 515 - BYTE LeadByte[MAX_LEADBYTES]; 516 - WCHAR UnicodeDefaultChar; 517 - UINT CodePage; 518 - CHAR CodePageName[MAX_PATH]; 519 -} 520 -alias _cpinfoexA CPINFOEXA; 521 -alias _cpinfoexA* LPCPINFOEXA; 522 - 523 -struct _cpinfoexW { 524 - UINT MaxCharSize; 525 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 526 - BYTE LeadByte[MAX_LEADBYTES]; 527 - WCHAR UnicodeDefaultChar; 528 - UINT CodePage; 529 - WCHAR CodePageName[MAX_PATH]; 530 -} 531 -alias _cpinfoexW CPINFOEXW; 532 -alias _cpinfoexW* LPCPINFOEXW; 533 - 534 -// #ifdef UNICODE 535 -// ... 536 -// #else 537 -alias CPINFOEXA CPINFOEX; 538 -alias LPCPINFOEXA LPCPINFOEX; 539 -// #endif // UNICODE 540 - 541 -struct _numberfmtA { 542 - UINT NumDigits; 543 - UINT LeadingZero; 544 - UINT Grouping; 545 - LPSTR lpDecimalSep; 546 - LPSTR lpThousandSep; 547 - UINT NegativeOrder; 548 -} 549 -alias _numberfmtA NUMBERFMTA; 550 -alias _numberfmtA* LPNUMBERFMTA; 551 - 552 -struct _numberfmtW { 553 - UINT NumDigits; 554 - UINT LeadingZero; 555 - UINT Grouping; 556 - LPWSTR lpDecimalSep; 557 - LPWSTR lpThousandSep; 558 - UINT NegativeOrder; 559 -} 560 -alias _numberfmtW NUMBERFMTW; 561 -alias _numberfmtW* LPNUMBERFMTW; 562 - 563 -// #ifdef UNICODE 564 -// ... 565 -// #else 566 -alias NUMBERFMTA NUMBERFMT; 567 -alias LPNUMBERFMTA LPNUMBERFMT; 568 -// #endif // UNICODE 569 - 570 -struct _currencyfmtA { 571 - UINT NumDigits; 572 - UINT LeadingZero; 573 - UINT Grouping; 574 - LPSTR lpDecimalSep; 575 - LPSTR lpThousandSep; 576 - UINT NegativeOrder; 577 - UINT PositiveOrder; 578 - LPSTR lpCurrencySymbol; 579 -} 580 -alias _currencyfmtA CURRENCYFMTA; 581 -alias _currencyfmtA* LPCURRENCYFMTA; 582 - 583 -struct _currencyfmtW { 584 - UINT NumDigits; 585 - UINT LeadingZero; 586 - UINT Grouping; 587 - LPWSTR lpDecimalSep; 588 - LPWSTR lpThousandSep; 589 - UINT NegativeOrder; 590 - UINT PositiveOrder; 591 - LPWSTR lpCurrencySymbol; 592 -} 593 -alias _currencyfmtW CURRENCYFMTW; 594 -alias _currencyfmtW* LPCURRENCYFMTW; 595 - 596 -// #ifdef UNICODE 597 -// ... 598 -// #else 599 -alias CURRENCYFMTA CURRENCYFMT; 600 -alias LPCURRENCYFMTA LPCURRENCYFMT; 601 -// #endif // UNICODE 602 - 603 -alias LONG GEOID; 604 -alias DWORD GEOTYPE; 605 -alias DWORD GEOCLASS; 606 - 607 -enum { GEOID_NOT_AVAILABLE = -1 } 608 - 609 -enum SYSGEOTYPE { 610 - GEO_NATION = 0x0001, 611 - GEO_LATITUDE = 0x0002, 612 - GEO_LONGITUDE = 0x0003, 613 - GEO_ISO2 = 0x0004, 614 - GEO_ISO3 = 0x0005, 615 - GEO_RFC1766 = 0x0006, 616 - GEO_LCID = 0x0007, 617 - GEO_FRIENDLYNAME = 0x0008, 618 - GEO_OFFICIALNAME = 0x0009, 619 - GEO_TIMEZONES = 0x000A, 620 - GEO_OFFICIALLANGUAGES = 0x000B, 621 -} 622 - 623 -enum SYSGEOCLASS { 624 - GEOCLASS_NATION = 16, 625 - GEOCLASS_REGION = 14, 626 -} 627 - 628 -// #ifdef STRICT 629 - 630 -// ... 631 - 632 -// ... 633 - 634 -// #else // !STRICT 635 - 636 -alias FARPROC LANGUAGEGROUP_ENUMPROCA; 637 -alias FARPROC LANGGROUPLOCALE_ENUMPROCA; 638 -alias FARPROC UILANGUAGE_ENUMPROCA; 639 -alias FARPROC LOCALE_ENUMPROCA; 640 -alias FARPROC CODEPAGE_ENUMPROCA; 641 -alias FARPROC DATEFMT_ENUMPROCA; 642 -alias FARPROC DATEFMT_ENUMPROCEXA; 643 -alias FARPROC TIMEFMT_ENUMPROCA; 644 -alias FARPROC CALINFO_ENUMPROCA; 645 -alias FARPROC CALINFO_ENUMPROCEXA; 646 -alias FARPROC GEO_ENUMPROC; 647 - 648 -alias FARPROC LANGUAGEGROUP_ENUMPROCW; 649 -alias FARPROC LANGGROUPLOCALE_ENUMPROCW; 650 -alias FARPROC UILANGUAGE_ENUMPROCW; 651 -alias FARPROC LOCALE_ENUMPROCW; 652 -alias FARPROC CODEPAGE_ENUMPROCW; 653 -alias FARPROC DATEFMT_ENUMPROCW; 654 -alias FARPROC DATEFMT_ENUMPROCEXW; 655 -alias FARPROC TIMEFMT_ENUMPROCW; 656 -alias FARPROC CALINFO_ENUMPROCW; 657 -alias FARPROC CALINFO_ENUMPROCEXW; 658 - 659 -// #endif // !STRICT 660 - 661 -// #ifdef UNICODE 662 - 663 -// #... 664 -// #... 665 -// #... 666 -// #... 667 -// #... 668 -// #... 669 -// #... 670 -// #... 671 -// #... 672 -// #... 673 - 674 -// #else 675 - 676 -alias LANGUAGEGROUP_ENUMPROCA LANGUAGEGROUP_ENUMPROC; 677 -alias LANGGROUPLOCALE_ENUMPROCA LANGGROUPLOCALE_ENUMPROC; 678 -alias UILANGUAGE_ENUMPROCA UILANGUAGE_ENUMPROC; 679 -alias LOCALE_ENUMPROCA LOCALE_ENUMPROC; 680 -alias CODEPAGE_ENUMPROCA CODEPAGE_ENUMPROC; 681 -alias DATEFMT_ENUMPROCA DATEFMT_ENUMPROC; 682 -alias DATEFMT_ENUMPROCEXA DATEFMT_ENUMPROCEX; 683 -alias TIMEFMT_ENUMPROCA TIMEFMT_ENUMPROC; 684 -alias CALINFO_ENUMPROCA CALINFO_ENUMPROC; 685 -alias CALINFO_ENUMPROCEXA CALINFO_ENUMPROCEX; 686 - 687 -// #endif // !UNICODE 688 - 689 -extern(Windows) export BOOL IsValidCodePage( 690 - UINT CodePage); 691 - 692 -extern(Windows) export UINT GetACP(); 693 - 694 -extern(Windows) export UINT GetOEMCP(); 695 - 696 -extern(Windows) export BOOL GetCPInfo( 697 - UINT CodePage, 698 - LPCPINFO lpCPInfo); 699 - 700 -extern(Windows) export BOOL GetCPInfoExA( 701 - UINT CodePage, 702 - DWORD dwFlags, 703 - LPCPINFOEXA lpCPInfoEx); 704 -extern(Windows) export BOOL GetCPInfoExW( 705 - UINT CodePage, 706 - DWORD dwFlags, 707 - LPCPINFOEXW lpCPInfoEx); 708 -// #ifdef UNICODE 709 -// #... 710 -// #else 711 -alias GetCPInfoExA GetCPInfoEx; 712 -// #endif // !UNICODE 713 - 714 -extern(Windows) export BOOL IsDBCSLeadByte( 715 - BYTE TestChar); 716 - 717 -extern(Windows) export BOOL IsDBCSLeadByteEx( 718 - UINT CodePage, 719 - BYTE TestChar); 720 - 721 -extern(Windows) export int MultiByteToWideChar( 722 - UINT CodePage, 723 - DWORD dwFlags, 724 - LPCSTR lpMultiByteStr, 725 - int cbMultiByte, 726 - LPWSTR lpWideCharStr, 727 - int cchWideChar); 728 - 729 -extern(Windows) export int WideCharToMultiByte( 730 - UINT CodePage, 731 - DWORD dwFlags, 732 - LPCWSTR lpWideCharStr, 733 - int cchWideChar, 734 - LPSTR lpMultiByteStr, 735 - int cbMultiByte, 736 - LPCSTR lpDefaultChar, 737 - LPBOOL lpUsedDefaultChar); 738 - 739 -extern(Windows) export int CompareStringA( 740 - LCID Locale, 741 - DWORD dwCmpFlags, 742 - LPCSTR lpString1, 743 - int cchCount1, 744 - LPCSTR lpString2, 745 - int cchCount2); 746 -extern(Windows) export int CompareStringW( 747 - LCID Locale, 748 - DWORD dwCmpFlags, 749 - LPCWSTR lpString1, 750 - int cchCount1, 751 - LPCWSTR lpString2, 752 - int cchCount2); 753 -// #ifdef UNICODE 754 -// #... 755 -// #else 756 -alias CompareStringA CompareString; 757 -// #endif // !UNICODE 758 - 759 -extern(Windows) export int LCMapStringA( 760 - LCID Locale, 761 - DWORD dwMapFlags, 762 - LPCSTR lpSrcStr, 763 - int cchSrc, 764 - LPSTR lpDestStr, 765 - int cchDest); 766 -extern(Windows) export int LCMapStringW( 767 - LCID Locale, 768 - DWORD dwMapFlags, 769 - LPCWSTR lpSrcStr, 770 - int cchSrc, 771 - LPWSTR lpDestStr, 772 - int cchDest); 773 -// #ifdef UNICODE 774 -// #... 775 -// #else 776 -alias LCMapStringA LCMapString; 777 -// #endif // !UNICODE 778 - 779 -extern(Windows) export int GetLocaleInfoA( 780 - LCID Locale, 781 - LCTYPE LCType, 782 - LPSTR lpLCData, 783 - int cchData); 784 -extern(Windows) export int GetLocaleInfoW( 785 - LCID Locale, 786 - LCTYPE LCType, 787 - LPWSTR lpLCData, 788 - int cchData); 789 -// #ifdef UNICODE 790 -// #... 791 -// #else 792 -alias GetLocaleInfoA GetLocaleInfo; 793 -// #endif // !UNICODE 794 - 795 -extern(Windows) export BOOL SetLocaleInfoA( 796 - LCID Locale, 797 - LCTYPE LCType, 798 - LPCSTR lpLCData); 799 -extern(Windows) export BOOL SetLocaleInfoW( 800 - LCID Locale, 801 - LCTYPE LCType, 802 - LPCWSTR lpLCData); 803 -// #ifdef UNICODE 804 -// #... 805 -// #else 806 -alias SetLocaleInfoA SetLocaleInfo; 807 -// #endif // !UNICODE 808 - 809 -// #if (WINVER >= 0x040A) 810 -extern(Windows) export int GetCalendarInfoA( 811 - LCID Locale, 812 - CALID Calendar, 813 - CALTYPE CalType, 814 - LPSTR lpCalData, 815 - int cchData, 816 - LPDWORD lpValue); 817 -extern(Windows) export int GetCalendarInfoW( 818 - LCID Locale, 819 - CALID Calendar, 820 - CALTYPE CalType, 821 - LPWSTR lpCalData, 822 - int cchData, 823 - LPDWORD lpValue); 824 -// #ifdef UNICODE 825 -// #... 826 -// #else 827 -alias GetCalendarInfoA GetCalendarInfo; 828 -// #endif // !UNICODE 829 - 830 -extern(Windows) export BOOL SetCalendarInfoA( 831 - LCID Locale, 832 - CALID Calendar, 833 - CALTYPE CalType, 834 - LPCSTR lpCalData); 835 -extern(Windows) export BOOL SetCalendarInfoW( 836 - LCID Locale, 837 - CALID Calendar, 838 - CALTYPE CalType, 839 - LPCWSTR lpCalData); 840 -// #ifdef UNICODE 841 -// #... 842 -// #else 843 -alias SetCalendarInfoA SetCalendarInfo; 844 -// #endif // !UNICODE 845 -// #endif 846 - 847 -extern(Windows) export int GetTimeFormatA( 848 - LCID Locale, 849 - DWORD dwFlags, 850 - SYSTEMTIME *lpTime, 851 - LPCSTR lpFormat, 852 - LPSTR lpTimeStr, 853 - int cchTime); 854 -extern(Windows) export int GetTimeFormatW( 855 - LCID Locale, 856 - DWORD dwFlags, 857 - SYSTEMTIME *lpTime, 858 - LPCWSTR lpFormat, 859 - LPWSTR lpTimeStr, 860 - int cchTime); 861 -// #ifdef UNICODE 862 -// #... 863 -// #else 864 -alias GetTimeFormatA GetTimeFormat; 865 -// #endif // !UNICODE 866 - 867 -extern(Windows) export int GetDateFormatA( 868 - LCID Locale, 869 - DWORD dwFlags, 870 - SYSTEMTIME *lpDate, 871 - LPCSTR lpFormat, 872 - LPSTR lpDateStr, 873 - int cchDate); 874 -extern(Windows) export int GetDateFormatW( 875 - LCID Locale, 876 - DWORD dwFlags, 877 - SYSTEMTIME *lpDate, 878 - LPCWSTR lpFormat, 879 - LPWSTR lpDateStr, 880 - int cchDate); 881 -// #ifdef UNICODE 882 -// #... 883 -// #else 884 -alias GetDateFormatA GetDateFormat; 885 -// #endif // !UNICODE 886 - 887 -extern(Windows) export int GetNumberFormatA( 888 - LCID Locale, 889 - DWORD dwFlags, 890 - LPCSTR lpValue, 891 - NUMBERFMTA *lpFormat, 892 - LPSTR lpNumberStr, 893 - int cchNumber); 894 -extern(Windows) export int GetNumberFormatW( 895 - LCID Locale, 896 - DWORD dwFlags, 897 - LPCWSTR lpValue, 898 - NUMBERFMTW *lpFormat, 899 - LPWSTR lpNumberStr, 900 - int cchNumber); 901 -// #ifdef UNICODE 902 -// #... 903 -// #else 904 -alias GetNumberFormatA GetNumberFormat; 905 -// #endif // !UNICODE 906 - 907 -extern(Windows) export int GetCurrencyFormatA( 908 - LCID Locale, 909 - DWORD dwFlags, 910 - LPCSTR lpValue, 911 - CURRENCYFMTA *lpFormat, 912 - LPSTR lpCurrencyStr, 913 - int cchCurrency); 914 -extern(Windows) export int GetCurrencyFormatW( 915 - LCID Locale, 916 - DWORD dwFlags, 917 - LPCWSTR lpValue, 918 - CURRENCYFMTW *lpFormat, 919 - LPWSTR lpCurrencyStr, 920 - int cchCurrency); 921 -// #ifdef UNICODE 922 -// #... 923 -// #else 924 -alias GetCurrencyFormatA GetCurrencyFormat; 925 -// #endif // !UNICODE 926 - 927 -extern(Windows) export BOOL EnumCalendarInfoA( 928 - CALINFO_ENUMPROCA lpCalInfoEnumProc, 929 - LCID Locale, 930 - CALID Calendar, 931 - CALTYPE CalType); 932 -extern(Windows) export BOOL EnumCalendarInfoW( 933 - CALINFO_ENUMPROCW lpCalInfoEnumProc, 934 - LCID Locale, 935 - CALID Calendar, 936 - CALTYPE CalType); 937 -// #ifdef UNICODE 938 -// #... 939 -// #else 940 -alias EnumCalendarInfoA EnumCalendarInfo; 941 -// #endif // !UNICODE 942 - 943 -// #if(WINVER >= 0x0500) 944 -extern(Windows) export BOOL EnumCalendarInfoExA( 945 - CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx, 946 - LCID Locale, 947 - CALID Calendar, 948 - CALTYPE CalType); 949 -extern(Windows) export BOOL EnumCalendarInfoExW( 950 - CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx, 951 - LCID Locale, 952 - CALID Calendar, 953 - CALTYPE CalType); 954 -// #ifdef UNICODE 955 -// #... 956 -// #else 957 -alias EnumCalendarInfoExA EnumCalendarInfoEx; 958 -// #endif // !UNICODE 959 -// #endif /* WINVER >= 0x0500 */ 960 - 961 -extern(Windows) export BOOL EnumTimeFormatsA( 962 - TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, 963 - LCID Locale, 964 - DWORD dwFlags); 965 -extern(Windows) export BOOL EnumTimeFormatsW( 966 - TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, 967 - LCID Locale, 968 - DWORD dwFlags); 969 -// #ifdef UNICODE 970 -// #... 971 -// #else 972 -alias EnumTimeFormatsA EnumTimeFormats; 973 -// #endif // !UNICODE 974 - 975 -extern(Windows) export BOOL EnumDateFormatsA( 976 - DATEFMT_ENUMPROCA lpDateFmtEnumProc, 977 - LCID Locale, 978 - DWORD dwFlags); 979 -extern(Windows) export BOOL EnumDateFormatsW( 980 - DATEFMT_ENUMPROCW lpDateFmtEnumProc, 981 - LCID Locale, 982 - DWORD dwFlags); 983 -// #ifdef UNICODE 984 -// #... 985 -// #else 986 -alias EnumDateFormatsA EnumDateFormats; 987 -// #endif // !UNICODE 988 - 989 -// #if(WINVER >= 0x0500) 990 -extern(Windows) export BOOL EnumDateFormatsExA( 991 - DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx, 992 - LCID Locale, 993 - DWORD dwFlags); 994 -extern(Windows) export BOOL EnumDateFormatsExW( 995 - DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx, 996 - LCID Locale, 997 - DWORD dwFlags); 998 -// #ifdef UNICODE 999 -// #... 1000 -// #else 1001 -alias EnumDateFormatsExA EnumDateFormatsEx; 1002 -// #endif // !UNICODE 1003 -// #endif /* WINVER >= 0x0500 */ 1004 - 1005 -// #if(WINVER >= 0x0500) 1006 -extern(Windows) export BOOL IsValidLanguageGroup( 1007 - LGRPID LanguageGroup, 1008 - DWORD dwFlags); 1009 -// #endif /* WINVER >= 0x0500 */ 1010 - 1011 -extern(Windows) export BOOL IsValidLocale( 1012 - LCID Locale, 1013 - DWORD dwFlags); 1014 - 1015 -extern(Windows) export int GetGeoInfoA( 1016 - GEOID Location, 1017 - GEOTYPE GeoType, 1018 - LPSTR lpGeoData, 1019 - int cchData, 1020 - LANGID LangId); 1021 -extern(Windows) export int GetGeoInfoW( 1022 - GEOID Location, 1023 - GEOTYPE GeoType, 1024 - LPWSTR lpGeoData, 1025 - int cchData, 1026 - LANGID LangId); 1027 -// #ifdef UNICODE 1028 -// #... 1029 -// #else 1030 -alias GetGeoInfoA GetGeoInfo; 1031 -// #endif // !UNICODE 1032 - 1033 -extern(Windows) export BOOL EnumSystemGeoID( 1034 - GEOCLASS GeoClass, 1035 - GEOID ParentGeoId, 1036 - GEO_ENUMPROC lpGeoEnumProc); 1037 - 1038 -extern(Windows) export GEOID GetUserGeoID( 1039 - GEOCLASS GeoClass); 1040 - 1041 -extern(Windows) export BOOL SetUserGeoID( 1042 - GEOID GeoId); 1043 - 1044 -extern(Windows) export LCID ConvertDefaultLocale( 1045 - LCID Locale); 1046 - 1047 -extern(Windows) export LCID GetThreadLocale(); 1048 - 1049 -extern(Windows) export BOOL SetThreadLocale( 1050 - LCID Locale 1051 - ); 1052 - 1053 -// #if(WINVER >= 0x0500) 1054 -extern(Windows) export LANGID GetSystemDefaultUILanguage(); 1055 - 1056 -extern(Windows) export LANGID GetUserDefaultUILanguage(); 1057 -// #endif /* WINVER >= 0x0500 */ 1058 - 1059 -extern(Windows) export LANGID GetSystemDefaultLangID(); 1060 - 1061 -extern(Windows) export LANGID GetUserDefaultLangID(); 1062 - 1063 -extern(Windows) export LCID GetSystemDefaultLCID(); 1064 - 1065 -extern(Windows) export LCID GetUserDefaultLCID(); 1066 - 1067 -extern(Windows) export BOOL GetStringTypeExA( 1068 - LCID Locale, 1069 - DWORD dwInfoType, 1070 - LPCSTR lpSrcStr, 1071 - int cchSrc, 1072 - LPWORD lpCharType); 1073 -extern(Windows) export BOOL GetStringTypeExW( 1074 - LCID Locale, 1075 - DWORD dwInfoType, 1076 - LPCWSTR lpSrcStr, 1077 - int cchSrc, 1078 - LPWORD lpCharType); 1079 -// #ifdef UNICODE 1080 -// #... 1081 -// #else 1082 -alias GetStringTypeExA GetStringTypeEx; 1083 -// #endif // !UNICODE 1084 - 1085 -extern(Windows) export BOOL GetStringTypeA( 1086 - LCID Locale, 1087 - DWORD dwInfoType, 1088 - LPCSTR lpSrcStr, 1089 - int cchSrc, 1090 - LPWORD lpCharType); 1091 - 1092 -extern(Windows) export BOOL GetStringTypeW( 1093 - DWORD dwInfoType, 1094 - LPCWSTR lpSrcStr, 1095 - int cchSrc, 1096 - LPWORD lpCharType); 1097 - 1098 -extern(Windows) export int FoldStringA( 1099 - DWORD dwMapFlags, 1100 - LPCSTR lpSrcStr, 1101 - int cchSrc, 1102 - LPSTR lpDestStr, 1103 - int cchDest); 1104 -extern(Windows) export int FoldStringW( 1105 - DWORD dwMapFlags, 1106 - LPCWSTR lpSrcStr, 1107 - int cchSrc, 1108 - LPWSTR lpDestStr, 1109 - int cchDest); 1110 -// #ifdef UNICODE 1111 -// #... 1112 -// #else 1113 -alias FoldStringA FoldString; 1114 -// #endif // !UNICODE 1115 - 1116 -// #if(WINVER >= 0x0500) 1117 -extern(Windows) export BOOL EnumSystemLanguageGroupsA( 1118 - LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc, 1119 - DWORD dwFlags, 1120 - LONG_PTR lParam); 1121 -extern(Windows) export BOOL EnumSystemLanguageGroupsW( 1122 - LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc, 1123 - DWORD dwFlags, 1124 - LONG_PTR lParam); 1125 -// #ifdef UNICODE 1126 -// #... 1127 -// #else 1128 -alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups; 1129 -// #endif // !UNICODE 1130 - 1131 -extern(Windows) export BOOL EnumLanguageGroupLocalesA( 1132 - LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc, 1133 - LGRPID LanguageGroup, 1134 - DWORD dwFlags, 1135 - LONG_PTR lParam); 1136 -extern(Windows) export BOOL EnumLanguageGroupLocalesW( 1137 - LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc, 1138 - LGRPID LanguageGroup, 1139 - DWORD dwFlags, 1140 - LONG_PTR lParam); 1141 -// #ifdef UNICODE 1142 -// #... 1143 -// #else 1144 -alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales; 1145 -// #endif // !UNICODE 1146 - 1147 -extern(Windows) export BOOL EnumUILanguagesA( 1148 - UILANGUAGE_ENUMPROCA lpUILanguageEnumProc, 1149 - DWORD dwFlags, 1150 - LONG_PTR lParam); 1151 -extern(Windows) export BOOL EnumUILanguagesW( 1152 - UILANGUAGE_ENUMPROCW lpUILanguageEnumProc, 1153 - DWORD dwFlags, 1154 - LONG_PTR lParam); 1155 -// #ifdef UNICODE 1156 -// #... 1157 -// #else 1158 -alias EnumUILanguagesA EnumUILanguages; 1159 -// #endif // !UNICODE 1160 -// #endif /* WINVER >= 0x0500 */ 1161 - 1162 -extern(Windows) export BOOL EnumSystemLocalesA( 1163 - LOCALE_ENUMPROCA lpLocaleEnumProc, 1164 - DWORD dwFlags); 1165 -extern(Windows) export BOOL EnumSystemLocalesW( 1166 - LOCALE_ENUMPROCW lpLocaleEnumProc, 1167 - DWORD dwFlags); 1168 -// #ifdef UNICODE 1169 -// #... 1170 -// #else 1171 -alias EnumSystemLocalesA EnumSystemLocales; 1172 -// #endif // !UNICODE 1173 - 1174 -extern(Windows) export BOOL EnumSystemCodePagesA( 1175 - CODEPAGE_ENUMPROCA lpCodePageEnumProc, 1176 - DWORD dwFlags); 1177 -extern(Windows) export BOOL EnumSystemCodePagesW( 1178 - CODEPAGE_ENUMPROCW lpCodePageEnumProc, 1179 - DWORD dwFlags); 1180 -// #ifdef UNICODE 1181 -// #... 1182 -// #else 1183 -alias EnumSystemCodePagesA EnumSystemCodePages; 1184 -// #endif // !UNICODE 1185 - 1186 -// #endif // NONLS 1187 - 1188 -// #ifdef __cplusplus 1189 -// } 1190 -// #endif 1191 - 1192 -// #endif // _WINNLS_

Deleted src/win32/ansi/winnt.d version [31fd23d74d91fa94]

1 -module win32.ansi.winnt; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.windef; 7 -alias void _TEB; 8 -alias void _EXCEPTION_REGISTRATION_RECORD; 9 -private extern(C) { 10 - int memcmp(void*, void*, uint); 11 - void* memmove(void*, void*, uint); 12 - void* memcpy(void*, void*, uint); 13 - void* memset(void*, uint, uint); 14 -} 15 - 16 -// #ifndef _WINNT_ 17 -// #define _WINNT_ 18 - 19 -// #ifdef __cplusplus 20 -// extern "C" { 21 -// #endif 22 - 23 -// #include <ctype.h> 24 -enum : uint { ANYSIZE_ARRAY = 1 } 25 - 26 -// #if defined(_M_MRX000) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) && defined(ENABLE_RESTRICTED) 27 -// #... 28 -// #else 29 -// #define RESTRICTED_POINTER 30 -// #endif 31 - 32 -// #if defined(_M_MRX000) || defined(_M_ALPHA) || defined(_M_PPC) || defined(_M_IA64) || defined(_M_AMD64) 33 -// #... 34 -// #if defined(_WIN64) 35 -// #... 36 -// #else 37 -// #... 38 -// #endif 39 -// #else 40 -// #define UNALIGNED 41 -// #define UNALIGNED64 42 -// #endif 43 - 44 -// #if defined(_WIN64) || defined(_M_ALPHA) 45 -// #... 46 -// #... 47 -// #else 48 -const uint MAX_NATURAL_ALIGNMENT = DWORD.sizeof; 49 -enum : uint { MEMORY_ALLOCATION_ALIGNMENT = 8 } 50 -// #endif 51 - 52 -// #ifdef __cplusplus 53 -// #if _MSC_VER >= 1300 54 -// #define TYPE_ALIGNMENT( t ) __alignof(t) 55 -// #endif 56 -// #else 57 -// #... 58 -// ... 59 -// #endif 60 - 61 -// #if defined(_WIN64) 62 - 63 -// #... 64 -// ... 65 - 66 -// #... 67 - 68 -// #else 69 - 70 -// #define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD ) 71 - 72 -// #endif 73 - 74 -// #define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1] 75 - 76 -// #if !defined(_MAC) && (defined(_M_MRX000) || defined(_M_AMD64) || defined(_M_IA64)) && (_MSC_VER >= 1100) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) 77 -// #... 78 -// ... 79 -// #if defined(_WIN64) 80 -// #... 81 -// #else 82 -// #... 83 -// #endif 84 -// #else 85 -// #if defined(_MAC) && defined(_MAC_INT_64) 86 -// #... 87 -// ... 88 -// #else 89 -// #define POINTER_64 90 -alias uint POINTER_64_INT; 91 -// #endif 92 -alias void* POINTER_32; 93 -// #endif 94 - 95 -// #if defined(_IA64_) || defined(_AMD64_) 96 -// #... 97 -// #else 98 -alias POINTER_32 FIRMWARE_PTR; 99 -// #endif 100 - 101 -// #include <basetsd.h> 102 - 103 -// #if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64)) && !defined(MIDL_PASS) 104 -// #define DECLSPEC_IMPORT __declspec(dllimport) 105 -// #else 106 -// #... 107 -// #endif 108 - 109 -// #ifndef DECLSPEC_NORETURN 110 -// #if (_MSC_VER >= 1200) && !defined(MIDL_PASS) 111 -// #define DECLSPEC_NORETURN __declspec(noreturn) 112 -// #else 113 -// #... 114 -// #endif 115 -// #endif 116 - 117 -// #ifndef DECLSPEC_ALIGN 118 -// #if (_MSC_VER >= 1300) && !defined(MIDL_PASS) 119 -// #define DECLSPEC_ALIGN(x) __declspec(align(x)) 120 -// #else 121 -// #... 122 -// #endif 123 -// #endif 124 - 125 -// #ifndef DECLSPEC_CACHEALIGN 126 -// #define DECLSPEC_CACHEALIGN DECLSPEC_ALIGN(128) 127 -// #endif 128 - 129 -// #ifndef DECLSPEC_UUID 130 -// #if (_MSC_VER >= 1100) && defined (__cplusplus) 131 -// #define DECLSPEC_UUID(x) __declspec(uuid(x)) 132 -// #else 133 -// #... 134 -// #endif 135 -// #endif 136 - 137 -// #ifndef DECLSPEC_NOVTABLE 138 -// #if (_MSC_VER >= 1100) && defined(__cplusplus) 139 -// #define DECLSPEC_NOVTABLE __declspec(novtable) 140 -// #else 141 -// #... 142 -// #endif 143 -// #endif 144 - 145 -// #ifndef DECLSPEC_SELECTANY 146 -// #if (_MSC_VER >= 1100) 147 -// #define DECLSPEC_SELECTANY __declspec(selectany) 148 -// #else 149 -// #... 150 -// #endif 151 -// #endif 152 - 153 -// #ifndef NOP_FUNCTION 154 -// #if (_MSC_VER >= 1210) 155 -// #... 156 -// #else 157 -// #... 158 -// #endif 159 -// #endif 160 - 161 -// #ifndef DECLSPEC_ADDRSAFE 162 -// #if (_MSC_VER >= 1200) && (defined(_M_ALPHA) || defined(_M_AXP64)) 163 -// #... 164 -// #else 165 -// #define DECLSPEC_ADDRSAFE 166 -// #endif 167 -// #endif 168 - 169 -// #ifndef FORCEINLINE 170 -// #if (_MSC_VER >= 1200) 171 -// #define FORCEINLINE __forceinline 172 -// #else 173 -// #... 174 -// #endif 175 -// #endif 176 - 177 -// #ifndef DECLSPEC_DEPRECATED 178 -// #if (_MSC_VER >= 1300) && !defined(MIDL_PASS) 179 -// #define DECLSPEC_DEPRECATED __declspec(deprecated) 180 -// #define DEPRECATE_SUPPORTED 181 -// #else 182 -// #... 183 -// #... 184 -// #endif 185 -// #endif 186 - 187 -alias void* PVOID; 188 -deprecated alias void* PVOID64; /* warning: 64-bit */ 189 - 190 -// #if ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)) && !defined(_M_AMD64) 191 -// #define NTAPI __stdcall 192 -// #else 193 -// #... 194 -// #... 195 -// #endif 196 - 197 -// #if !defined(_NTSYSTEM_) 198 -// #define NTSYSAPI DECLSPEC_IMPORT 199 -// #define NTSYSCALLAPI DECLSPEC_IMPORT 200 -// #else 201 -// #... 202 -// #if defined(_NTDLLBUILD_) 203 -// #... 204 -// #else 205 -// #... 206 -// #endif 207 - 208 -// #endif 209 - 210 -// #ifndef VOID 211 -alias void VOID; 212 -alias char CHAR; 213 -alias short SHORT; 214 -alias int LONG; 215 -// #endif 216 - 217 -// #ifndef _MAC 218 -alias wchar WCHAR; 219 -// #else 220 - 221 -// ... 222 -// #endif 223 - 224 -alias WCHAR* PWCHAR; 225 -alias WCHAR* LPWCH; 226 -alias WCHAR* PWCH; 227 -alias WCHAR* LPCWCH; 228 -alias WCHAR* PCWCH; 229 -alias WCHAR* NWPSTR; 230 -alias WCHAR* LPWSTR; 231 -alias WCHAR* PWSTR; 232 -alias WCHAR* LPUWSTR; 233 -alias WCHAR* PUWSTR; 234 - 235 -alias WCHAR* LPCWSTR; 236 -alias WCHAR* PCWSTR; 237 -alias WCHAR* LPCUWSTR; 238 -alias WCHAR* PCUWSTR; 239 - 240 -alias CHAR* PCHAR; 241 -alias CHAR* LPCH; 242 -alias CHAR* PCH; 243 - 244 -alias CHAR* LPCCH; 245 -alias CHAR* PCCH; 246 -alias CHAR* NPSTR; 247 -alias CHAR* LPSTR; 248 -alias CHAR* PSTR; 249 -alias CHAR* LPCSTR; 250 -alias CHAR* PCSTR; 251 - 252 -// #ifdef UNICODE // r_winnt 253 - 254 -// #ifndef _TCHAR_DEFINED 255 -// ... 256 -// #... 257 -// #endif /* !_TCHAR_DEFINED */ 258 - 259 -// ... 260 -// #... 261 - 262 -// #else /* UNICODE */ // r_winnt 263 - 264 -// #ifndef _TCHAR_DEFINED 265 -alias char TCHAR; 266 -alias char* PTCHAR; 267 -alias ubyte TBYTE; 268 -alias ubyte* PTBYTE; 269 -// #define _TCHAR_DEFINED 270 -// #endif /* !_TCHAR_DEFINED */ 271 - 272 -alias LPSTR LPTCH; 273 -alias LPSTR PTCH; 274 -alias LPSTR PTSTR; 275 -alias LPSTR LPTSTR; 276 -alias LPSTR PUTSTR; 277 -alias LPSTR LPUTSTR; 278 -alias LPCSTR PCTSTR; 279 -alias LPCSTR LPCTSTR; 280 -alias LPCSTR PCUTSTR; 281 -alias LPCSTR LPCUTSTR; 282 -// #define __TEXT(quote) quote 283 - 284 -// #endif /* UNICODE */ // r_winnt 285 -TCHAR[] TEXT(TCHAR[] quote){ return quote; } 286 - 287 -alias SHORT* PSHORT; 288 -alias LONG* PLONG; 289 - 290 -// #ifdef STRICT 291 -alias void* HANDLE; 292 -// #define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name 293 -// #else 294 -// ... 295 -// #... 296 -// #endif 297 -alias HANDLE* PHANDLE; 298 - 299 -alias BYTE FCHAR; 300 -alias WORD FSHORT; 301 -alias DWORD FLONG; 302 - 303 -// #ifndef _HRESULT_DEFINED 304 -// #define _HRESULT_DEFINED 305 -alias LONG HRESULT; 306 - 307 -// #endif // !_HRESULT_DEFINED 308 - 309 -// #ifdef __cplusplus 310 -// #define EXTERN_C extern "C" 311 -// #else 312 -// #... 313 -// #endif 314 - 315 -// #if defined(_WIN32) || defined(_MPPC_) 316 - 317 -// #ifdef _68K_ 318 -// #... 319 -// #else 320 -// #define STDMETHODCALLTYPE __stdcall 321 -// #endif 322 -// #define STDMETHODVCALLTYPE __cdecl 323 - 324 -// #define STDAPICALLTYPE __stdcall 325 -// #define STDAPIVCALLTYPE __cdecl 326 - 327 -// #else 328 - 329 -// #... 330 -// #... 331 - 332 -// #... 333 -// #... 334 - 335 -// #endif 336 - 337 -// #define STDAPI EXTERN_C HRESULT STDAPICALLTYPE 338 -// #define STDAPI_(type) EXTERN_C type STDAPICALLTYPE 339 - 340 -// #define STDMETHODIMP HRESULT STDMETHODCALLTYPE 341 -// #define STDMETHODIMP_(type) type STDMETHODCALLTYPE 342 - 343 -// #define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE 344 -// #define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE 345 - 346 -// #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE 347 -// #define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE 348 - 349 -alias char CCHAR; 350 -alias DWORD LCID; 351 -alias PDWORD PLCID; 352 -alias WORD LANGID; 353 -enum : uint { APPLICATION_ERROR_MASK = 0x20000000 } 354 -enum : uint { ERROR_SEVERITY_SUCCESS = 0x00000000 } 355 -enum : uint { ERROR_SEVERITY_INFORMATIONAL = 0x40000000 } 356 -enum : uint { ERROR_SEVERITY_WARNING = 0x80000000 } 357 -enum : uint { ERROR_SEVERITY_ERROR = 0xC0000000 } 358 - 359 -// #if defined(_M_IA64) && !defined(MIDL_PASS) 360 -// ... 361 -// #endif 362 -struct _FLOAT128 { 363 - __int64 LowPart; 364 - __int64 HighPart; 365 -} 366 -alias _FLOAT128 FLOAT128; 367 - 368 -alias FLOAT128* PFLOAT128; 369 - 370 -// #define _ULONGLONG_ 371 -// #if (!defined (_MAC) && (!defined(MIDL_PASS) || defined(__midl)) && (!defined(_M_IX86) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64))) 372 -// ... 373 - 374 -// #... 375 -// #else 376 - 377 -// #if defined(_MAC) && defined(_MAC_INT_64) 378 -// ... 379 - 380 -// #... 381 -// #else 382 -alias double LONGLONG; 383 -alias double ULONGLONG; 384 -// #endif //_MAC and int64 385 - 386 -// #endif 387 - 388 -alias LONGLONG* PLONGLONG; 389 -alias ULONGLONG* PULONGLONG; 390 - 391 -alias LONGLONG USN; 392 - 393 -// #if defined(MIDL_PASS) 394 -// ... 395 -// #else // MIDL_PASS 396 -union _LARGE_INTEGER { 397 -struct _0 { 398 - DWORD LowPart; 399 - LONG HighPart; 400 -} 401 -_0 _; 402 - 403 -struct _1 { 404 - DWORD LowPart; 405 - LONG HighPart; 406 -} 407 -_1 u; 408 - 409 -// #endif //MIDL_PASS 410 - LONGLONG QuadPart; 411 -} 412 -alias _LARGE_INTEGER LARGE_INTEGER; 413 - 414 -alias LARGE_INTEGER* PLARGE_INTEGER; 415 - 416 -// #if defined(MIDL_PASS) 417 -// ... 418 -// #else // MIDL_PASS 419 -union _ULARGE_INTEGER { 420 -struct _2 { 421 - DWORD LowPart; 422 - DWORD HighPart; 423 -} 424 -_2 _; 425 - 426 -struct _3 { 427 - DWORD LowPart; 428 - DWORD HighPart; 429 -} 430 -_3 u; 431 - 432 -// #endif //MIDL_PASS 433 - ULONGLONG QuadPart; 434 -} 435 -alias _ULARGE_INTEGER ULARGE_INTEGER; 436 - 437 -alias ULARGE_INTEGER* PULARGE_INTEGER; 438 - 439 -struct _LUID { 440 - DWORD LowPart; 441 - LONG HighPart; 442 -} 443 -alias _LUID LUID; 444 -alias _LUID* PLUID; 445 - 446 -// #define _DWORDLONG_ 447 -alias ULONGLONG DWORDLONG; 448 -alias DWORDLONG* PDWORDLONG; 449 - 450 -// #if defined(MIDL_PASS) || defined(RC_INVOKED) 451 - 452 -// #... 453 -// #... 454 - 455 -// #... 456 -// #... 457 -// #... 458 - 459 -// #elif defined(_M_MRX000) 460 - 461 -// #... 462 -// #... 463 - 464 -// #... 465 -// #... 466 -// #... 467 - 468 -// #if defined (__cplusplus) 469 -// ... 470 -// #endif 471 - 472 -// ... 473 - 474 -// ... 475 - 476 -// ... 477 - 478 -// ... 479 - 480 -// ... 481 - 482 -// #if defined (__cplusplus) 483 -// ... 484 -// #endif 485 - 486 -// #... 487 -// #... 488 - 489 -// #... 490 -// #... 491 -// #... 492 - 493 -// #elif defined(_M_IX86) 494 - 495 -long Int32x32To64(int a, int b) { return (cast(long)a) * b; } 496 -ulong UInt32x32To64(uint a, uint b) { return (cast(ulong)a) * b; } 497 - 498 -extern(Windows) export ULONGLONG Int64ShllMod32( 499 - ULONGLONG Value, 500 - DWORD ShiftCount); 501 - 502 -extern(Windows) export LONGLONG Int64ShraMod32( 503 - LONGLONG Value, 504 - DWORD ShiftCount); 505 - 506 -extern(Windows) export ULONGLONG Int64ShrlMod32( 507 - ULONGLONG Value, 508 - DWORD ShiftCount); 509 - 510 -// #if _MSC_VER >= 1200 511 -// #pragma warning(push) 512 -// #endif 513 -// #pragma warning(disable:4035) // re-enable below 514 - 515 -// __inline ULONGLONG Int64ShllMod32( ULONGLONG Value, DWORD ShiftCount ); 516 - 517 -// __inline LONGLONG Int64ShraMod32( LONGLONG Value, DWORD ShiftCount ); 518 - 519 -// __inline ULONGLONG Int64ShrlMod32( ULONGLONG Value, DWORD ShiftCount ); 520 - 521 -// #if _MSC_VER >= 1200 522 -// #pragma warning(pop) 523 -// #else 524 -// #... 525 -// #endif 526 - 527 -// #elif defined(_M_ALPHA) 528 - 529 -// #... 530 -// #... 531 - 532 -// #... 533 -// #... 534 -// #... 535 - 536 -// #elif defined(_M_PPC) 537 - 538 -// #... 539 -// #... 540 - 541 -// #... 542 -// #... 543 -// #... 544 - 545 -// #elif defined(_68K_) || defined(_MPPC_) 546 - 547 -// #... 548 -// #... 549 - 550 -// #... 551 -// #... 552 -// #... 553 - 554 -// #elif defined(_M_IA64) || defined(_M_AMD64) 555 - 556 -// #... 557 -// #... 558 - 559 -// #... 560 -// #... 561 -// #... 562 - 563 -// #else 564 - 565 -// #... 566 - 567 -// #endif 568 - 569 -enum : CHAR { ANSI_NULL = 0 } 570 -enum : WCHAR { UNICODE_NULL = 0 } 571 -enum : WORD { UNICODE_STRING_MAX_BYTES = 65534 } 572 -enum : uint { UNICODE_STRING_MAX_CHARS = 32767 } 573 -alias BYTE BOOLEAN; 574 -alias BOOLEAN* PBOOLEAN; 575 - 576 -struct _LIST_ENTRY { 577 - _LIST_ENTRY *Flink; 578 - _LIST_ENTRY *Blink; 579 -} 580 -alias _LIST_ENTRY LIST_ENTRY; 581 -alias _LIST_ENTRY* PLIST_ENTRY; 582 -alias _LIST_ENTRY* RESTRICTED_POINTERPRLIST_ENTRY; 583 - 584 -struct _SINGLE_LIST_ENTRY { 585 - _SINGLE_LIST_ENTRY *Next; 586 -} 587 -alias _SINGLE_LIST_ENTRY SINGLE_LIST_ENTRY; 588 -alias _SINGLE_LIST_ENTRY* PSINGLE_LIST_ENTRY; 589 - 590 -struct LIST_ENTRY32 { 591 - DWORD Flink; 592 - DWORD Blink; 593 -} 594 - 595 -alias LIST_ENTRY32* PLIST_ENTRY32; 596 - 597 -struct LIST_ENTRY64 { 598 - ULONGLONG Flink; 599 - ULONGLONG Blink; 600 -} 601 - 602 -alias LIST_ENTRY64* PLIST_ENTRY64; 603 - 604 -import win32.ansi.guiddef; 605 - 606 -// #ifndef __OBJECTID_DEFINED 607 -// #define __OBJECTID_DEFINED 608 - 609 -struct _OBJECTID { 610 - GUID Lineage; 611 - DWORD Uniquifier; 612 -} 613 -alias _OBJECTID OBJECTID; 614 - 615 -// #endif // !_OBJECTID_DEFINED 616 - 617 -enum : uint { MINCHAR = 0x80 } 618 -enum : uint { MAXCHAR = 0x7f } 619 -enum : uint { MINSHORT = 0x8000 } 620 -enum : uint { MAXSHORT = 0x7fff } 621 -enum : uint { MINLONG = 0x80000000 } 622 -enum : uint { MAXLONG = 0x7fffffff } 623 -enum : uint { MAXBYTE = 0xff } 624 -enum : uint { MAXWORD = 0xffff } 625 -enum : uint { MAXDWORD = 0xffffffff } 626 - 627 -// #define FIELD_OFFSET(type, field) ((LONG)(LONG_PTR)&(((type *)0)->field)) 628 - 629 -// #if(_WIN32_WINNT > 0x0500) 630 - 631 -// #define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field)) 632 - 633 -// #define RTL_SIZEOF_THROUGH_FIELD(type, field) (FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field)) 634 - 635 -// #define RTL_CONTAINS_FIELD(Struct, Size, Field) ( (((PCHAR)(&(Struct)->Field)) + sizeof((Struct)->Field)) <= (((PCHAR)(Struct))+(Size)) ) 636 - 637 -// #define RTL_NUMBER_OF(A) (sizeof(A)/sizeof((A)[0])) 638 - 639 -// #define RTL_FIELD_TYPE(type, field) (((type*)0)->field) 640 - 641 -// #define RTL_NUMBER_OF_FIELD(type, field) (RTL_NUMBER_OF(RTL_FIELD_TYPE(type, field))) 642 - 643 -// #define RTL_PADDING_BETWEEN_FIELDS(T, F1, F2) ((FIELD_OFFSET(T, F2) > FIELD_OFFSET(T, F1)) ? (FIELD_OFFSET(T, F2) - FIELD_OFFSET(T, F1) - RTL_FIELD_SIZE(T, F1)) : (FIELD_OFFSET(T, F1) - FIELD_OFFSET(T, F2) - RTL_FIELD_SIZE(T, F2))) 644 - 645 -// #if defined(__cplusplus) 646 -// #define RTL_CONST_CAST(type) const_cast<type> 647 -// #else 648 -// #... 649 -// #endif 650 - 651 -// #define RTL_BITS_OF(sizeOfArg) (sizeof(sizeOfArg) * 8) 652 - 653 -// #define RTL_BITS_OF_FIELD(type, field) (RTL_BITS_OF(RTL_FIELD_TYPE(type, field))) 654 - 655 -// #endif /* _WIN32_WINNT > 0x0500 */ 656 - 657 -// #define CONTAINING_RECORD(address, type, field) ((type *)( (PCHAR)(address) - (ULONG_PTR)(&((type *)0)->field))) 658 - 659 -enum : uint { VER_SERVER_NT = 0x80000000 } 660 -enum : uint { VER_WORKSTATION_NT = 0x40000000 } 661 -enum : uint { VER_SUITE_SMALLBUSINESS = 0x00000001 } 662 -enum : uint { VER_SUITE_ENTERPRISE = 0x00000002 } 663 -enum : uint { VER_SUITE_BACKOFFICE = 0x00000004 } 664 -enum : uint { VER_SUITE_COMMUNICATIONS = 0x00000008 } 665 -enum : uint { VER_SUITE_TERMINAL = 0x00000010 } 666 -enum : uint { VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x00000020 } 667 -enum : uint { VER_SUITE_EMBEDDEDNT = 0x00000040 } 668 -enum : uint { VER_SUITE_DATACENTER = 0x00000080 } 669 -enum : uint { VER_SUITE_SINGLEUSERTS = 0x00000100 } 670 -enum : uint { VER_SUITE_PERSONAL = 0x00000200 } 671 -enum : uint { VER_SUITE_BLADE = 0x00000400 } 672 - 673 -enum : uint { LANG_NEUTRAL = 0x00 } 674 -enum : uint { LANG_INVARIANT = 0x7f } 675 - 676 -enum : uint { LANG_AFRIKAANS = 0x36 } 677 -enum : uint { LANG_ALBANIAN = 0x1c } 678 -enum : uint { LANG_ARABIC = 0x01 } 679 -enum : uint { LANG_ARMENIAN = 0x2b } 680 -enum : uint { LANG_ASSAMESE = 0x4d } 681 -enum : uint { LANG_AZERI = 0x2c } 682 -enum : uint { LANG_BASQUE = 0x2d } 683 -enum : uint { LANG_BELARUSIAN = 0x23 } 684 -enum : uint { LANG_BENGALI = 0x45 } 685 -enum : uint { LANG_BULGARIAN = 0x02 } 686 -enum : uint { LANG_CATALAN = 0x03 } 687 -enum : uint { LANG_CHINESE = 0x04 } 688 -enum : uint { LANG_CROATIAN = 0x1a } 689 -enum : uint { LANG_CZECH = 0x05 } 690 -enum : uint { LANG_DANISH = 0x06 } 691 -enum : uint { LANG_DIVEHI = 0x65 } 692 -enum : uint { LANG_DUTCH = 0x13 } 693 -enum : uint { LANG_ENGLISH = 0x09 } 694 -enum : uint { LANG_ESTONIAN = 0x25 } 695 -enum : uint { LANG_FAEROESE = 0x38 } 696 -enum : uint { LANG_FARSI = 0x29 } 697 -enum : uint { LANG_FINNISH = 0x0b } 698 -enum : uint { LANG_FRENCH = 0x0c } 699 -enum : uint { LANG_GALICIAN = 0x56 } 700 -enum : uint { LANG_GEORGIAN = 0x37 } 701 -enum : uint { LANG_GERMAN = 0x07 } 702 -enum : uint { LANG_GREEK = 0x08 } 703 -enum : uint { LANG_GUJARATI = 0x47 } 704 -enum : uint { LANG_HEBREW = 0x0d } 705 -enum : uint { LANG_HINDI = 0x39 } 706 -enum : uint { LANG_HUNGARIAN = 0x0e } 707 -enum : uint { LANG_ICELANDIC = 0x0f } 708 -enum : uint { LANG_INDONESIAN = 0x21 } 709 -enum : uint { LANG_ITALIAN = 0x10 } 710 -enum : uint { LANG_JAPANESE = 0x11 } 711 -enum : uint { LANG_KANNADA = 0x4b } 712 -enum : uint { LANG_KASHMIRI = 0x60 } 713 -enum : uint { LANG_KAZAK = 0x3f } 714 -enum : uint { LANG_KONKANI = 0x57 } 715 -enum : uint { LANG_KOREAN = 0x12 } 716 -enum : uint { LANG_KYRGYZ = 0x40 } 717 -enum : uint { LANG_LATVIAN = 0x26 } 718 -enum : uint { LANG_LITHUANIAN = 0x27 } 719 -enum : uint { LANG_MACEDONIAN = 0x2f } 720 -enum : uint { LANG_MALAY = 0x3e } 721 -enum : uint { LANG_MALAYALAM = 0x4c } 722 -enum : uint { LANG_MANIPURI = 0x58 } 723 -enum : uint { LANG_MARATHI = 0x4e } 724 -enum : uint { LANG_MONGOLIAN = 0x50 } 725 -enum : uint { LANG_NEPALI = 0x61 } 726 -enum : uint { LANG_NORWEGIAN = 0x14 } 727 -enum : uint { LANG_ORIYA = 0x48 } 728 -enum : uint { LANG_POLISH = 0x15 } 729 -enum : uint { LANG_PORTUGUESE = 0x16 } 730 -enum : uint { LANG_PUNJABI = 0x46 } 731 -enum : uint { LANG_ROMANIAN = 0x18 } 732 -enum : uint { LANG_RUSSIAN = 0x19 } 733 -enum : uint { LANG_SANSKRIT = 0x4f } 734 -enum : uint { LANG_SERBIAN = 0x1a } 735 -enum : uint { LANG_SINDHI = 0x59 } 736 -enum : uint { LANG_SLOVAK = 0x1b } 737 -enum : uint { LANG_SLOVENIAN = 0x24 } 738 -enum : uint { LANG_SPANISH = 0x0a } 739 -enum : uint { LANG_SWAHILI = 0x41 } 740 -enum : uint { LANG_SWEDISH = 0x1d } 741 -enum : uint { LANG_SYRIAC = 0x5a } 742 -enum : uint { LANG_TAMIL = 0x49 } 743 -enum : uint { LANG_TATAR = 0x44 } 744 -enum : uint { LANG_TELUGU = 0x4a } 745 -enum : uint { LANG_THAI = 0x1e } 746 -enum : uint { LANG_TURKISH = 0x1f } 747 -enum : uint { LANG_UKRAINIAN = 0x22 } 748 -enum : uint { LANG_URDU = 0x20 } 749 -enum : uint { LANG_UZBEK = 0x43 } 750 -enum : uint { LANG_VIETNAMESE = 0x2a } 751 - 752 -enum : uint { SUBLANG_NEUTRAL = 0x00 } 753 -enum : uint { SUBLANG_DEFAULT = 0x01 } 754 -enum : uint { SUBLANG_SYS_DEFAULT = 0x02 } 755 - 756 -enum : uint { SUBLANG_ARABIC_SAUDI_ARABIA = 0x01 } 757 -enum : uint { SUBLANG_ARABIC_IRAQ = 0x02 } 758 -enum : uint { SUBLANG_ARABIC_EGYPT = 0x03 } 759 -enum : uint { SUBLANG_ARABIC_LIBYA = 0x04 } 760 -enum : uint { SUBLANG_ARABIC_ALGERIA = 0x05 } 761 -enum : uint { SUBLANG_ARABIC_MOROCCO = 0x06 } 762 -enum : uint { SUBLANG_ARABIC_TUNISIA = 0x07 } 763 -enum : uint { SUBLANG_ARABIC_OMAN = 0x08 } 764 -enum : uint { SUBLANG_ARABIC_YEMEN = 0x09 } 765 -enum : uint { SUBLANG_ARABIC_SYRIA = 0x0a } 766 -enum : uint { SUBLANG_ARABIC_JORDAN = 0x0b } 767 -enum : uint { SUBLANG_ARABIC_LEBANON = 0x0c } 768 -enum : uint { SUBLANG_ARABIC_KUWAIT = 0x0d } 769 -enum : uint { SUBLANG_ARABIC_UAE = 0x0e } 770 -enum : uint { SUBLANG_ARABIC_BAHRAIN = 0x0f } 771 -enum : uint { SUBLANG_ARABIC_QATAR = 0x10 } 772 -enum : uint { SUBLANG_AZERI_LATIN = 0x01 } 773 -enum : uint { SUBLANG_AZERI_CYRILLIC = 0x02 } 774 -enum : uint { SUBLANG_CHINESE_TRADITIONAL = 0x01 } 775 -enum : uint { SUBLANG_CHINESE_SIMPLIFIED = 0x02 } 776 -enum : uint { SUBLANG_CHINESE_HONGKONG = 0x03 } 777 -enum : uint { SUBLANG_CHINESE_SINGAPORE = 0x04 } 778 -enum : uint { SUBLANG_CHINESE_MACAU = 0x05 } 779 -enum : uint { SUBLANG_DUTCH = 0x01 } 780 -enum : uint { SUBLANG_DUTCH_BELGIAN = 0x02 } 781 -enum : uint { SUBLANG_ENGLISH_US = 0x01 } 782 -enum : uint { SUBLANG_ENGLISH_UK = 0x02 } 783 -enum : uint { SUBLANG_ENGLISH_AUS = 0x03 } 784 -enum : uint { SUBLANG_ENGLISH_CAN = 0x04 } 785 -enum : uint { SUBLANG_ENGLISH_NZ = 0x05 } 786 -enum : uint { SUBLANG_ENGLISH_EIRE = 0x06 } 787 -enum : uint { SUBLANG_ENGLISH_SOUTH_AFRICA = 0x07 } 788 -enum : uint { SUBLANG_ENGLISH_JAMAICA = 0x08 } 789 -enum : uint { SUBLANG_ENGLISH_CARIBBEAN = 0x09 } 790 -enum : uint { SUBLANG_ENGLISH_BELIZE = 0x0a } 791 -enum : uint { SUBLANG_ENGLISH_TRINIDAD = 0x0b } 792 -enum : uint { SUBLANG_ENGLISH_ZIMBABWE = 0x0c } 793 -enum : uint { SUBLANG_ENGLISH_PHILIPPINES = 0x0d } 794 -enum : uint { SUBLANG_FRENCH = 0x01 } 795 -enum : uint { SUBLANG_FRENCH_BELGIAN = 0x02 } 796 -enum : uint { SUBLANG_FRENCH_CANADIAN = 0x03 } 797 -enum : uint { SUBLANG_FRENCH_SWISS = 0x04 } 798 -enum : uint { SUBLANG_FRENCH_LUXEMBOURG = 0x05 } 799 -enum : uint { SUBLANG_FRENCH_MONACO = 0x06 } 800 -enum : uint { SUBLANG_GERMAN = 0x01 } 801 -enum : uint { SUBLANG_GERMAN_SWISS = 0x02 } 802 -enum : uint { SUBLANG_GERMAN_AUSTRIAN = 0x03 } 803 -enum : uint { SUBLANG_GERMAN_LUXEMBOURG = 0x04 } 804 -enum : uint { SUBLANG_GERMAN_LIECHTENSTEIN = 0x05 } 805 -enum : uint { SUBLANG_ITALIAN = 0x01 } 806 -enum : uint { SUBLANG_ITALIAN_SWISS = 0x02 } 807 -// #if _WIN32_WINNT >= 0x0501 808 -enum : uint { SUBLANG_KASHMIRI_SASIA = 0x02 } 809 -// #endif 810 -enum : uint { SUBLANG_KASHMIRI_INDIA = 0x02 } 811 -enum : uint { SUBLANG_KOREAN = 0x01 } 812 -enum : uint { SUBLANG_LITHUANIAN = 0x01 } 813 -enum : uint { SUBLANG_MALAY_MALAYSIA = 0x01 } 814 -enum : uint { SUBLANG_MALAY_BRUNEI_DARUSSALAM = 0x02 } 815 -enum : uint { SUBLANG_NEPALI_INDIA = 0x02 } 816 -enum : uint { SUBLANG_NORWEGIAN_BOKMAL = 0x01 } 817 -enum : uint { SUBLANG_NORWEGIAN_NYNORSK = 0x02 } 818 -enum : uint { SUBLANG_PORTUGUESE = 0x02 } 819 -enum : uint { SUBLANG_PORTUGUESE_BRAZILIAN = 0x01 } 820 -enum : uint { SUBLANG_SERBIAN_LATIN = 0x02 } 821 -enum : uint { SUBLANG_SERBIAN_CYRILLIC = 0x03 } 822 -enum : uint { SUBLANG_SPANISH = 0x01 } 823 -enum : uint { SUBLANG_SPANISH_MEXICAN = 0x02 } 824 -enum : uint { SUBLANG_SPANISH_MODERN = 0x03 } 825 -enum : uint { SUBLANG_SPANISH_GUATEMALA = 0x04 } 826 -enum : uint { SUBLANG_SPANISH_COSTA_RICA = 0x05 } 827 -enum : uint { SUBLANG_SPANISH_PANAMA = 0x06 } 828 -enum : uint { SUBLANG_SPANISH_DOMINICAN_REPUBLIC = 0x07 } 829 -enum : uint { SUBLANG_SPANISH_VENEZUELA = 0x08 } 830 -enum : uint { SUBLANG_SPANISH_COLOMBIA = 0x09 } 831 -enum : uint { SUBLANG_SPANISH_PERU = 0x0a } 832 -enum : uint { SUBLANG_SPANISH_ARGENTINA = 0x0b } 833 -enum : uint { SUBLANG_SPANISH_ECUADOR = 0x0c } 834 -enum : uint { SUBLANG_SPANISH_CHILE = 0x0d } 835 -enum : uint { SUBLANG_SPANISH_URUGUAY = 0x0e } 836 -enum : uint { SUBLANG_SPANISH_PARAGUAY = 0x0f } 837 -enum : uint { SUBLANG_SPANISH_BOLIVIA = 0x10 } 838 -enum : uint { SUBLANG_SPANISH_EL_SALVADOR = 0x11 } 839 -enum : uint { SUBLANG_SPANISH_HONDURAS = 0x12 } 840 -enum : uint { SUBLANG_SPANISH_NICARAGUA = 0x13 } 841 -enum : uint { SUBLANG_SPANISH_PUERTO_RICO = 0x14 } 842 -enum : uint { SUBLANG_SWEDISH = 0x01 } 843 -enum : uint { SUBLANG_SWEDISH_FINLAND = 0x02 } 844 -enum : uint { SUBLANG_URDU_PAKISTAN = 0x01 } 845 -enum : uint { SUBLANG_URDU_INDIA = 0x02 } 846 -enum : uint { SUBLANG_UZBEK_LATIN = 0x01 } 847 -enum : uint { SUBLANG_UZBEK_CYRILLIC = 0x02 } 848 - 849 -enum : uint { SORT_DEFAULT = 0x0 } 850 - 851 -enum : uint { SORT_JAPANESE_XJIS = 0x0 } 852 -enum : uint { SORT_JAPANESE_UNICODE = 0x1 } 853 - 854 -enum : uint { SORT_CHINESE_BIG5 = 0x0 } 855 -enum : uint { SORT_CHINESE_PRCP = 0x0 } 856 -enum : uint { SORT_CHINESE_UNICODE = 0x1 } 857 -enum : uint { SORT_CHINESE_PRC = 0x2 } 858 -enum : uint { SORT_CHINESE_BOPOMOFO = 0x3 } 859 - 860 -enum : uint { SORT_KOREAN_KSC = 0x0 } 861 -enum : uint { SORT_KOREAN_UNICODE = 0x1 } 862 - 863 -enum : uint { SORT_GERMAN_PHONE_BOOK = 0x1 } 864 - 865 -enum : uint { SORT_HUNGARIAN_DEFAULT = 0x0 } 866 -enum : uint { SORT_HUNGARIAN_TECHNICAL = 0x1 } 867 - 868 -enum : uint { SORT_GEORGIAN_TRADITIONAL = 0x0 } 869 -enum : uint { SORT_GEORGIAN_MODERN = 0x1 } 870 - 871 -WORD MAKELANGID(USHORT p, USHORT s) { return (((cast(WORD)(s)) << 10) | cast(WORD)(p)); } 872 -WORD PRIMARYLANGID(WORD lgid) { return lgid & 0x3ff; } 873 -WORD SUBLANGID(WORD lgid) { return lgid >>> 10; } 874 - 875 -enum : uint { NLS_VALID_LOCALE_MASK = 0x000fffff } 876 - 877 -DWORD MAKELCID(WORD lgid, WORD srtid) { return ((cast(DWORD)srtid) << 16) | (cast(DWORD)lgid); } 878 -DWORD MAKESORTLCID(WORD lgid, WORD srtid, WORD ver) { return (MAKELCID(lgid, srtid)) | ((cast(DWORD)ver) << 20); } 879 -WORD LANGIDFROMLCID(LCID lcid) { return lcid; } 880 -WORD SORTIDFROMLCID(LCID lcid) { return (cast(DWORD)lcid >>> 16) & 0xf; } 881 -WORD SORTVERSIONFROMLCID(LCID lcid) { return (cast(DWORD)lcid >>> 20) & 0xf; } 882 - 883 -enum : uint { LANG_SYSTEM_DEFAULT = (SUBLANG_SYS_DEFAULT << 10) | LANG_NEUTRAL } 884 -enum : uint { LANG_USER_DEFAULT = (SUBLANG_DEFAULT << 10) | LANG_NEUTRAL } 885 - 886 -enum : uint { LOCALE_SYSTEM_DEFAULT = (SORT_DEFAULT << 16) | LANG_SYSTEM_DEFAULT } 887 -enum : uint { LOCALE_USER_DEFAULT = (SORT_DEFAULT << 16) | LANG_USER_DEFAULT } 888 - 889 -enum : uint { LOCALE_NEUTRAL = (SORT_DEFAULT << 16) | (SUBLANG_NEUTRAL << 10) | LANG_NEUTRAL } 890 - 891 -enum : uint { LOCALE_INVARIANT = (SORT_DEFAULT << 16) | (SUBLANG_NEUTRAL << 10) | LANG_INVARIANT } 892 - 893 -// #if ! defined(lint) 894 -// #... 895 -// #... 896 -// #... 897 - 898 -// #else // lint 899 - 900 -// #define UNREFERENCED_PARAMETER(P) { (P) = (P); } 901 -// #define DBG_UNREFERENCED_PARAMETER(P) { (P) = (P); } 902 -// #define DBG_UNREFERENCED_LOCAL_VARIABLE(V) { (V) = (V); } 903 - 904 -// #endif // lint 905 - 906 -// #if (_MSC_VER > 1200) 907 -// #define DEFAULT_UNREACHABLE default: __assume(0) 908 -// #else 909 - 910 -// #... 911 - 912 -// #endif 913 - 914 -// #ifndef WIN32_NO_STATUS 915 - 916 -enum : DWORD { STATUS_WAIT_0 = 0x00000000 } 917 -enum : DWORD { STATUS_ABANDONED_WAIT_0 = 0x00000080 } 918 -enum : DWORD { STATUS_USER_APC = 0x000000C0 } 919 -enum : DWORD { STATUS_TIMEOUT = 0x00000102 } 920 -enum : DWORD { STATUS_PENDING = 0x00000103 } 921 -enum : DWORD { DBG_EXCEPTION_HANDLED = 0x00010001 } 922 -enum : DWORD { DBG_CONTINUE = 0x00010002 } 923 -enum : DWORD { STATUS_SEGMENT_NOTIFICATION = 0x40000005 } 924 -enum : DWORD { DBG_TERMINATE_THREAD = 0x40010003 } 925 -enum : DWORD { DBG_TERMINATE_PROCESS = 0x40010004 } 926 -enum : DWORD { DBG_CONTROL_C = 0x40010005 } 927 -enum : DWORD { DBG_CONTROL_BREAK = 0x40010008 } 928 -enum : DWORD { STATUS_GUARD_PAGE_VIOLATION = 0x80000001 } 929 -enum : DWORD { STATUS_DATATYPE_MISALIGNMENT = 0x80000002 } 930 -enum : DWORD { STATUS_BREAKPOINT = 0x80000003 } 931 -enum : DWORD { STATUS_SINGLE_STEP = 0x80000004 } 932 -enum : DWORD { DBG_EXCEPTION_NOT_HANDLED = 0x80010001 } 933 -enum : DWORD { STATUS_ACCESS_VIOLATION = 0xC0000005 } 934 -enum : DWORD { STATUS_IN_PAGE_ERROR = 0xC0000006 } 935 -enum : DWORD { STATUS_INVALID_HANDLE = 0xC0000008 } 936 -enum : DWORD { STATUS_NO_MEMORY = 0xC0000017 } 937 -enum : DWORD { STATUS_ILLEGAL_INSTRUCTION = 0xC000001D } 938 -enum : DWORD { STATUS_NONCONTINUABLE_EXCEPTION = 0xC0000025 } 939 -enum : DWORD { STATUS_INVALID_DISPOSITION = 0xC0000026 } 940 -enum : DWORD { STATUS_ARRAY_BOUNDS_EXCEEDED = 0xC000008C } 941 -enum : DWORD { STATUS_FLOAT_DENORMAL_OPERAND = 0xC000008D } 942 -enum : DWORD { STATUS_FLOAT_DIVIDE_BY_ZERO = 0xC000008E } 943 -enum : DWORD { STATUS_FLOAT_INEXACT_RESULT = 0xC000008F } 944 -enum : DWORD { STATUS_FLOAT_INVALID_OPERATION = 0xC0000090 } 945 -enum : DWORD { STATUS_FLOAT_OVERFLOW = 0xC0000091 } 946 -enum : DWORD { STATUS_FLOAT_STACK_CHECK = 0xC0000092 } 947 -enum : DWORD { STATUS_FLOAT_UNDERFLOW = 0xC0000093 } 948 -enum : DWORD { STATUS_INTEGER_DIVIDE_BY_ZERO = 0xC0000094 } 949 -enum : DWORD { STATUS_INTEGER_OVERFLOW = 0xC0000095 } 950 -enum : DWORD { STATUS_PRIVILEGED_INSTRUCTION = 0xC0000096 } 951 -enum : DWORD { STATUS_STACK_OVERFLOW = 0xC00000FD } 952 -enum : DWORD { STATUS_CONTROL_C_EXIT = 0xC000013A } 953 -enum : DWORD { STATUS_FLOAT_MULTIPLE_FAULTS = 0xC00002B4 } 954 -enum : DWORD { STATUS_FLOAT_MULTIPLE_TRAPS = 0xC00002B5 } 955 -enum : DWORD { STATUS_REG_NAT_CONSUMPTION = 0xC00002C9 } 956 -// #if defined(STATUS_SUCCESS) || (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) 957 -enum : DWORD { STATUS_SXS_EARLY_DEACTIVATION = 0xC015000F } 958 -enum : DWORD { STATUS_SXS_INVALID_DEACTIVATION = 0xC0150010 } 959 -// #endif 960 - 961 -// #endif 962 -enum : uint { MAXIMUM_WAIT_OBJECTS = 64 } 963 - 964 -alias MAXCHAR MAXIMUM_SUSPEND_COUNT; 965 - 966 -alias ULONG_PTR KSPIN_LOCK; 967 -alias KSPIN_LOCK* PKSPIN_LOCK; 968 - 969 -// #if defined(_AMD64_) 970 - 971 -// #if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS) 972 - 973 -// #... 974 - 975 -// ... 976 - 977 -// #... 978 - 979 -// #... 980 - 981 -// ... 982 - 983 -// #... 984 - 985 -// ... 986 - 987 -// ... 988 - 989 -// ... 990 - 991 -// ... 992 - 993 -// #... 994 -// #... 995 -// #... 996 -// #... 997 - 998 -// #... 999 -// #... 1000 - 1001 -// ... 1002 - 1003 -// ... 1004 - 1005 -// #... 1006 -// #... 1007 - 1008 -// ... 1009 - 1010 -// ... 1011 - 1012 -// ... 1013 - 1014 -// ... 1015 - 1016 -// ... 1017 - 1018 -// ... 1019 - 1020 -// ... 1021 - 1022 -// ... 1023 - 1024 -// #... 1025 -// #... 1026 -// #... 1027 -// #... 1028 -// #... 1029 -// #... 1030 -// #... 1031 -// #... 1032 - 1033 -// #endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS) 1034 - 1035 -// #if !defined(RC_INVOKED) 1036 - 1037 -// #... 1038 - 1039 -// #... 1040 -// #... 1041 -// #... 1042 -// #... 1043 -// #... 1044 - 1045 -// #... 1046 - 1047 -// #endif // !defined(RC_INVOKED) 1048 - 1049 -// ... 1050 - 1051 -// ... 1052 - 1053 -// #... 1054 - 1055 -// ... 1056 - 1057 -// ... 1058 - 1059 -// ... 1060 - 1061 -// ... 1062 - 1063 -// ... 1064 - 1065 -// ... 1066 - 1067 -// ... 1068 - 1069 -// ... 1070 - 1071 -// ... 1072 - 1073 -// #endif // _AMD64_ 1074 - 1075 -// #ifdef _ALPHA_ // winnt 1076 -// ... 1077 -// #if defined(_M_ALPHA) // winnt 1078 -// #... 1079 -// #endif // winnt 1080 -// #endif // winnt 1081 - 1082 -// #if defined(_M_ALPHA) 1083 -// #... 1084 -// #else 1085 -extern(Windows) export _TEB NtCurrentTeb(); 1086 -// #endif 1087 - 1088 -// #ifdef _ALPHA_ 1089 - 1090 -// #... 1091 -// #... 1092 - 1093 -// #if !defined(RC_INVOKED) 1094 - 1095 -// #... 1096 - 1097 -// #... 1098 -// #... 1099 -// #... 1100 - 1101 -// #... 1102 - 1103 -// #endif 1104 - 1105 -// #ifndef _PORTABLE_32BIT_CONTEXT 1106 - 1107 -// ... 1108 - 1109 -// ... 1110 - 1111 -// ... 1112 - 1113 -// ... 1114 - 1115 -// ... 1116 - 1117 -// ... 1118 - 1119 -// ... 1120 - 1121 -// #else 1122 - 1123 -// #... 1124 - 1125 -// #endif // _PORTABLE_32BIT_CONTEXT 1126 - 1127 -// #endif // _ALPHA_ 1128 - 1129 -// #ifdef _ALPHA_ 1130 - 1131 -// ... 1132 - 1133 -// #endif // _ALPHA_ 1134 - 1135 -// #ifdef _X86_ 1136 - 1137 -// #if !defined(MIDL_PASS) 1138 -// #if !defined(RC_INVOKED) 1139 - 1140 -// #if _MSC_VER >= 1200 1141 -// #pragma warning(push) 1142 -// #endif 1143 -// #pragma warning(disable:4164) // disable C4164 warning so that apps that 1144 - 1145 -// #ifdef _M_IX86 1146 -// #pragma function(_enable) 1147 -// #pragma function(_disable) 1148 -// #endif 1149 - 1150 -// #if _MSC_VER >= 1200 1151 -// #pragma warning(pop) 1152 -// #else 1153 -// #... 1154 -// #endif 1155 - 1156 -// #endif 1157 -// #endif 1158 - 1159 -// #if !defined(MIDL_PASS) && defined(_M_IX86) 1160 -// #if _MSC_VER >= 1200 1161 -// #pragma warning(push) 1162 -// #endif 1163 -// #pragma warning (disable:4035) // disable 4035 (function must return something) 1164 -PVOID GetFiberData() { asm { mov EAX, FS:[0x10]; mov EAX, [EAX]; } } 1165 -PVOID GetCurrentFiber() { asm { mov EAX, FS:[0x10]; } } 1166 - 1167 -// #if _MSC_VER >= 1200 1168 -// #pragma warning(pop) 1169 -// #else 1170 -// #... 1171 -// #endif 1172 -// #endif 1173 - 1174 -enum : uint { SIZE_OF_80387_REGISTERS = 80 } 1175 - 1176 -// #if !defined(RC_INVOKED) 1177 - 1178 -enum : uint { CONTEXT_i386 = 0x00010000 } 1179 -enum : uint { CONTEXT_i486 = 0x00010000 } 1180 - 1181 -enum : uint { CONTEXT_CONTROL = CONTEXT_i386 | 0x00000001L } 1182 -enum : uint { CONTEXT_INTEGER = CONTEXT_i386 | 0x00000002L } 1183 -enum : uint { CONTEXT_SEGMENTS = CONTEXT_i386 | 0x00000004L } 1184 -enum : uint { CONTEXT_FLOATING_POINT = CONTEXT_i386 | 0x00000008L } 1185 -enum : uint { CONTEXT_DEBUG_REGISTERS = CONTEXT_i386 | 0x00000010L } 1186 -enum : uint { CONTEXT_EXTENDED_REGISTERS = CONTEXT_i386 | 0x00000020L } 1187 - 1188 -enum : uint { CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS } 1189 - 1190 -// #endif 1191 - 1192 -enum : uint { MAXIMUM_SUPPORTED_EXTENSION = 512 } 1193 - 1194 -struct _FLOATING_SAVE_AREA { 1195 - DWORD ControlWord; 1196 - DWORD StatusWord; 1197 - DWORD TagWord; 1198 - DWORD ErrorOffset; 1199 - DWORD ErrorSelector; 1200 - DWORD DataOffset; 1201 - DWORD DataSelector; 1202 - BYTE RegisterArea[SIZE_OF_80387_REGISTERS]; 1203 - DWORD Cr0NpxState; 1204 -} 1205 -alias _FLOATING_SAVE_AREA FLOATING_SAVE_AREA; 1206 - 1207 -alias FLOATING_SAVE_AREA* PFLOATING_SAVE_AREA; 1208 - 1209 -struct _CONTEXT { 1210 - 1211 - DWORD ContextFlags; 1212 - 1213 - DWORD Dr0; 1214 - DWORD Dr1; 1215 - DWORD Dr2; 1216 - DWORD Dr3; 1217 - DWORD Dr6; 1218 - DWORD Dr7; 1219 - 1220 - FLOATING_SAVE_AREA FloatSave; 1221 - 1222 - DWORD SegGs; 1223 - DWORD SegFs; 1224 - DWORD SegEs; 1225 - DWORD SegDs; 1226 - 1227 - DWORD Edi; 1228 - DWORD Esi; 1229 - DWORD Ebx; 1230 - DWORD Edx; 1231 - DWORD Ecx; 1232 - DWORD Eax; 1233 - 1234 - DWORD Ebp; 1235 - DWORD Eip; 1236 - DWORD SegCs; 1237 - DWORD EFlags; 1238 - DWORD Esp; 1239 - DWORD SegSs; 1240 - 1241 - BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; 1242 -} 1243 -alias _CONTEXT CONTEXT; 1244 - 1245 -alias CONTEXT* PCONTEXT; 1246 - 1247 -// #endif //_X86_ 1248 - 1249 -// #ifndef _LDT_ENTRY_DEFINED 1250 -// #define _LDT_ENTRY_DEFINED 1251 - 1252 -struct _LDT_ENTRY { 1253 - WORD LimitLow; 1254 - WORD BaseLow; 1255 -union { 1256 -struct { 1257 - BYTE BaseMid; 1258 - BYTE Flags1; 1259 - BYTE Flags2; 1260 - BYTE BaseHi; 1261 -} 1262 - 1263 -struct { 1264 -// DWORD BaseMid : 8; 1265 -// DWORD Type : 5; 1266 -// DWORD Dpl : 2; 1267 -// DWORD Pres : 1; 1268 -// DWORD LimitHi : 4; 1269 -// DWORD Sys : 1; 1270 -// DWORD Reserved_0 : 1; 1271 -// DWORD Default_Big : 1; 1272 -// DWORD Granularity : 1; 1273 -// DWORD BaseHi : 8; 1274 -} 1275 - 1276 -} 1277 - 1278 -} 1279 -alias _LDT_ENTRY LDT_ENTRY; 1280 -alias _LDT_ENTRY* PLDT_ENTRY; 1281 - 1282 -// #endif 1283 - 1284 -// #if defined(_MIPS_) 1285 - 1286 -// #... 1287 -// #... 1288 - 1289 -// #if !defined(RC_INVOKED) 1290 - 1291 -// #... 1292 - 1293 -// #... 1294 -// #... 1295 -// #... 1296 -// #... 1297 -// #... 1298 - 1299 -// #... 1300 -// ... 1301 - 1302 -// #endif 1303 - 1304 -// ... 1305 - 1306 -// ... 1307 - 1308 -// ... 1309 - 1310 -// ... 1311 - 1312 -// ... 1313 - 1314 -// ... 1315 - 1316 -// ... 1317 - 1318 -// ... 1319 - 1320 -// ... 1321 - 1322 -// ... 1323 - 1324 -// ... 1325 - 1326 -// ... 1327 - 1328 -// ... 1329 - 1330 -// ... 1331 - 1332 -// ... 1333 - 1334 -// ... 1335 - 1336 -// #... 1337 - 1338 -// #endif // MIPS 1339 - 1340 -// #if defined(_MIPS_) 1341 - 1342 -// ... 1343 - 1344 -// #endif // MIPS 1345 - 1346 -// #if defined(_PPC_) 1347 - 1348 -// #if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000) 1349 -// ... 1350 -// #... 1351 -// #elif defined(_M_PPC) 1352 -// ... 1353 -// #... 1354 -// #endif 1355 - 1356 -// #... 1357 -// #... 1358 - 1359 -// #if !defined(RC_INVOKED) 1360 - 1361 -// #... 1362 -// #... 1363 -// #... 1364 -// #... 1365 - 1366 -// #... 1367 - 1368 -// #endif 1369 - 1370 -// ... 1371 - 1372 -// ... 1373 - 1374 -// ... 1375 - 1376 -// ... 1377 - 1378 -// ... 1379 - 1380 -// ... 1381 - 1382 -// ... 1383 - 1384 -// ... 1385 - 1386 -// ... 1387 - 1388 -// ... 1389 - 1390 -// ... 1391 - 1392 -// ... 1393 - 1394 -// ... 1395 - 1396 -// #endif // defined(_PPC_) 1397 - 1398 -// #if defined(_MPPC_) 1399 - 1400 -// #if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000) 1401 -// ... 1402 -// #... 1403 -// #elif defined(_M_PPC) 1404 -// ... 1405 -// #... 1406 -// #endif 1407 - 1408 -// #... 1409 -// #... 1410 - 1411 -// #if !defined(RC_INVOKED) 1412 - 1413 -// #... 1414 -// #... 1415 -// #... 1416 -// #... 1417 - 1418 -// #... 1419 - 1420 -// #endif 1421 - 1422 -// ... 1423 - 1424 -// ... 1425 - 1426 -// ... 1427 - 1428 -// ... 1429 - 1430 -// ... 1431 - 1432 -// ... 1433 - 1434 -// ... 1435 - 1436 -// ... 1437 - 1438 -// ... 1439 - 1440 -// ... 1441 - 1442 -// ... 1443 - 1444 -// ... 1445 - 1446 -// ... 1447 - 1448 -// #endif // defined(_MPPC_) 1449 - 1450 -// #if !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_IA64_) 1451 - 1452 -// ... 1453 -// #if defined(_M_IA64) // winnt 1454 -// #... 1455 -// #endif // winnt 1456 - 1457 -// #if defined(_M_IA64) 1458 -// #... 1459 -// #else 1460 -// ... 1461 -// #endif 1462 - 1463 -// #... 1464 -// #... 1465 - 1466 -// #endif // !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_M_IA64) 1467 - 1468 -// #ifdef _IA64_ 1469 - 1470 -// #if !defined(RC_INVOKED) 1471 - 1472 -// #... 1473 - 1474 -// #... 1475 -// #... 1476 -// #... 1477 -// #... 1478 -// #... 1479 -// #... 1480 - 1481 -// #... 1482 -// #... 1483 - 1484 -// #endif // !defined(RC_INVOKED) 1485 - 1486 -// ... 1487 - 1488 -// ... 1489 - 1490 -// ... 1491 - 1492 -// ... 1493 - 1494 -// ... 1495 - 1496 -// ... 1497 - 1498 -// ... 1499 - 1500 -// ... 1501 - 1502 -// ... 1503 - 1504 -// ... 1505 - 1506 -// ... 1507 - 1508 -// ... 1509 - 1510 -// ... 1511 - 1512 -// ... 1513 - 1514 -// ... 1515 - 1516 -// ... 1517 - 1518 -// ... 1519 - 1520 -// ... 1521 - 1522 -// ... 1523 - 1524 -// ... 1525 - 1526 -// ... 1527 - 1528 -// ... 1529 - 1530 -// ... 1531 - 1532 -// ... 1533 - 1534 -// ... 1535 - 1536 -// ... 1537 - 1538 -// ... 1539 - 1540 -// #endif // _IA64_ 1541 - 1542 -// #ifdef _IA64_ 1543 - 1544 -// ... 1545 - 1546 -// #endif // _IA64_ 1547 - 1548 -enum : uint { EXCEPTION_NONCONTINUABLE = 0x1 } 1549 -enum : uint { EXCEPTION_MAXIMUM_PARAMETERS = 15 } 1550 - 1551 -struct _EXCEPTION_RECORD { 1552 - DWORD ExceptionCode; 1553 - DWORD ExceptionFlags; 1554 - _EXCEPTION_RECORD *ExceptionRecord; 1555 - PVOID ExceptionAddress; 1556 - DWORD NumberParameters; 1557 - ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; 1558 -} 1559 -alias _EXCEPTION_RECORD EXCEPTION_RECORD; 1560 - 1561 -alias EXCEPTION_RECORD* PEXCEPTION_RECORD; 1562 - 1563 -struct _EXCEPTION_RECORD32 { 1564 - DWORD ExceptionCode; 1565 - DWORD ExceptionFlags; 1566 - DWORD ExceptionRecord; 1567 - DWORD ExceptionAddress; 1568 - DWORD NumberParameters; 1569 - DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; 1570 -} 1571 -alias _EXCEPTION_RECORD32 EXCEPTION_RECORD32; 1572 -alias _EXCEPTION_RECORD32* PEXCEPTION_RECORD32; 1573 - 1574 -struct _EXCEPTION_RECORD64 { 1575 - DWORD ExceptionCode; 1576 - DWORD ExceptionFlags; 1577 - DWORD64 ExceptionRecord; 1578 - DWORD64 ExceptionAddress; 1579 - DWORD NumberParameters; 1580 - DWORD __unusedAlignment; 1581 - DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; 1582 -} 1583 -alias _EXCEPTION_RECORD64 EXCEPTION_RECORD64; 1584 -alias _EXCEPTION_RECORD64* PEXCEPTION_RECORD64; 1585 - 1586 -struct _EXCEPTION_POINTERS { 1587 - PEXCEPTION_RECORD ExceptionRecord; 1588 - PCONTEXT ContextRecord; 1589 -} 1590 -alias _EXCEPTION_POINTERS EXCEPTION_POINTERS; 1591 -alias _EXCEPTION_POINTERS* PEXCEPTION_POINTERS; 1592 - 1593 -alias PVOID PACCESS_TOKEN; 1594 -alias PVOID PSECURITY_DESCRIPTOR; 1595 -alias PVOID PSID; 1596 - 1597 -alias DWORD ACCESS_MASK; 1598 -alias ACCESS_MASK* PACCESS_MASK; 1599 - 1600 -enum : uint { DELETE = 0x00010000 } 1601 -enum : uint { READ_CONTROL = 0x00020000 } 1602 -enum : uint { WRITE_DAC = 0x00040000 } 1603 -enum : uint { WRITE_OWNER = 0x00080000 } 1604 -enum : uint { SYNCHRONIZE = 0x00100000 } 1605 - 1606 -enum : uint { STANDARD_RIGHTS_REQUIRED = 0x000F0000 } 1607 - 1608 -enum : uint { STANDARD_RIGHTS_READ = READ_CONTROL } 1609 -enum : uint { STANDARD_RIGHTS_WRITE = READ_CONTROL } 1610 -enum : uint { STANDARD_RIGHTS_EXECUTE = READ_CONTROL } 1611 - 1612 -enum : uint { STANDARD_RIGHTS_ALL = 0x001F0000 } 1613 - 1614 -enum : uint { SPECIFIC_RIGHTS_ALL = 0x0000FFFF } 1615 - 1616 -enum : uint { ACCESS_SYSTEM_SECURITY = 0x01000000 } 1617 - 1618 -enum : uint { MAXIMUM_ALLOWED = 0x02000000 } 1619 - 1620 -enum : uint { GENERIC_READ = 0x80000000 } 1621 -enum : uint { GENERIC_WRITE = 0x40000000 } 1622 -enum : uint { GENERIC_EXECUTE = 0x20000000 } 1623 -enum : uint { GENERIC_ALL = 0x10000000 } 1624 - 1625 -struct _GENERIC_MAPPING { 1626 - ACCESS_MASK GenericRead; 1627 - ACCESS_MASK GenericWrite; 1628 - ACCESS_MASK GenericExecute; 1629 - ACCESS_MASK GenericAll; 1630 -} 1631 -alias _GENERIC_MAPPING GENERIC_MAPPING; 1632 - 1633 -alias GENERIC_MAPPING* PGENERIC_MAPPING; 1634 - 1635 -align(4): 1636 - 1637 -struct _LUID_AND_ATTRIBUTES { 1638 - LUID Luid; 1639 - DWORD Attributes; 1640 -} 1641 -alias _LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES; 1642 -alias _LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES; 1643 - 1644 -alias LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; 1645 -alias LUID_AND_ATTRIBUTES_ARRAY* PLUID_AND_ATTRIBUTES_ARRAY; 1646 - 1647 -align: 1648 - 1649 -// #ifndef SID_IDENTIFIER_AUTHORITY_DEFINED 1650 -// #define SID_IDENTIFIER_AUTHORITY_DEFINED 1651 -struct _SID_IDENTIFIER_AUTHORITY { 1652 - BYTE Value[6]; 1653 -} 1654 -alias _SID_IDENTIFIER_AUTHORITY SID_IDENTIFIER_AUTHORITY; 1655 -alias _SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY; 1656 - 1657 -// #endif 1658 - 1659 -// #ifndef SID_DEFINED 1660 -// #define SID_DEFINED 1661 -struct _SID { 1662 - BYTE Revision; 1663 - BYTE SubAuthorityCount; 1664 - SID_IDENTIFIER_AUTHORITY IdentifierAuthority; 1665 -// #ifdef MIDL_PASS 1666 -// ... 1667 -// #else // MIDL_PASS 1668 - DWORD SubAuthority[ANYSIZE_ARRAY]; 1669 -// #endif // MIDL_PASS 1670 -} 1671 -alias _SID SID; 1672 -alias _SID* PISID; 1673 - 1674 -// #endif 1675 - 1676 -enum : uint { SID_REVISION = 1 } 1677 -enum : uint { SID_MAX_SUB_AUTHORITIES = 15 } 1678 -enum : uint { SID_RECOMMENDED_SUB_AUTHORITIES = 1 } 1679 - 1680 -// #ifndef MIDL_PASS 1681 -const uint SECURITY_MAX_SID_SIZE = SID.sizeof - DWORD.sizeof + (SID_MAX_SUB_AUTHORITIES * DWORD.sizeof); 1682 -// #endif // MIDL_PASS 1683 - 1684 -alias int _SID_NAME_USE; 1685 -enum { 1686 - SidTypeUser = 1, 1687 - SidTypeGroup, 1688 - SidTypeDomain, 1689 - SidTypeAlias, 1690 - SidTypeWellKnownGroup, 1691 - SidTypeDeletedAccount, 1692 - SidTypeInvalid, 1693 - SidTypeUnknown, 1694 - SidTypeComputer, 1695 -} 1696 -alias _SID_NAME_USE SID_NAME_USE; 1697 -alias _SID_NAME_USE* PSID_NAME_USE; 1698 - 1699 -struct _SID_AND_ATTRIBUTES { 1700 - PSID Sid; 1701 - DWORD Attributes; 1702 -} 1703 -alias _SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES; 1704 -alias _SID_AND_ATTRIBUTES* PSID_AND_ATTRIBUTES; 1705 - 1706 -alias SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; 1707 -alias SID_AND_ATTRIBUTES_ARRAY* PSID_AND_ATTRIBUTES_ARRAY; 1708 - 1709 -// #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} 1710 -// #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} 1711 -// #define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} 1712 -// #define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} 1713 -// #define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} 1714 -// #define SECURITY_RESOURCE_MANAGER_AUTHORITY {0,0,0,0,0,9} 1715 - 1716 -enum : uint { SECURITY_NULL_RID = 0x00000000 } 1717 -enum : uint { SECURITY_WORLD_RID = 0x00000000 } 1718 -enum : uint { SECURITY_LOCAL_RID = 0x00000000 } 1719 - 1720 -enum : uint { SECURITY_CREATOR_OWNER_RID = 0x00000000 } 1721 -enum : uint { SECURITY_CREATOR_GROUP_RID = 0x00000001 } 1722 - 1723 -enum : uint { SECURITY_CREATOR_OWNER_SERVER_RID = 0x00000002 } 1724 -enum : uint { SECURITY_CREATOR_GROUP_SERVER_RID = 0x00000003 } 1725 - 1726 -// #define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} 1727 - 1728 -enum : uint { SECURITY_DIALUP_RID = 0x00000001 } 1729 -enum : uint { SECURITY_NETWORK_RID = 0x00000002 } 1730 -enum : uint { SECURITY_BATCH_RID = 0x00000003 } 1731 -enum : uint { SECURITY_INTERACTIVE_RID = 0x00000004 } 1732 -enum : uint { SECURITY_SERVICE_RID = 0x00000006 } 1733 -enum : uint { SECURITY_ANONYMOUS_LOGON_RID = 0x00000007 } 1734 -enum : uint { SECURITY_PROXY_RID = 0x00000008 } 1735 -enum : uint { SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x00000009 } 1736 -alias SECURITY_ENTERPRISE_CONTROLLERS_RID SECURITY_SERVER_LOGON_RID; 1737 -enum : uint { SECURITY_PRINCIPAL_SELF_RID = 0x0000000A } 1738 -enum : uint { SECURITY_AUTHENTICATED_USER_RID = 0x0000000B } 1739 -enum : uint { SECURITY_RESTRICTED_CODE_RID = 0x0000000C } 1740 -enum : uint { SECURITY_TERMINAL_SERVER_RID = 0x0000000D } 1741 -enum : uint { SECURITY_REMOTE_LOGON_RID = 0x0000000E } 1742 - 1743 -enum : uint { SECURITY_LOGON_IDS_RID = 0x00000005 } 1744 -enum : uint { SECURITY_LOGON_IDS_RID_COUNT = 3 } 1745 - 1746 -enum : uint { SECURITY_LOCAL_SYSTEM_RID = 0x00000012 } 1747 -enum : uint { SECURITY_LOCAL_SERVICE_RID = 0x00000013 } 1748 -enum : uint { SECURITY_NETWORK_SERVICE_RID = 0x00000014 } 1749 - 1750 -enum : uint { SECURITY_NT_NON_UNIQUE = 0x00000015 } 1751 -enum : uint { SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT = 3 } 1752 - 1753 -enum : uint { SECURITY_BUILTIN_DOMAIN_RID = 0x00000020 } 1754 - 1755 -enum : uint { DOMAIN_USER_RID_ADMIN = 0x000001F4 } 1756 -enum : uint { DOMAIN_USER_RID_GUEST = 0x000001F5 } 1757 -enum : uint { DOMAIN_USER_RID_KRBTGT = 0x000001F6 } 1758 - 1759 -enum : uint { DOMAIN_GROUP_RID_ADMINS = 0x00000200 } 1760 -enum : uint { DOMAIN_GROUP_RID_USERS = 0x00000201 } 1761 -enum : uint { DOMAIN_GROUP_RID_GUESTS = 0x00000202 } 1762 -enum : uint { DOMAIN_GROUP_RID_COMPUTERS = 0x00000203 } 1763 -enum : uint { DOMAIN_GROUP_RID_CONTROLLERS = 0x00000204 } 1764 -enum : uint { DOMAIN_GROUP_RID_CERT_ADMINS = 0x00000205 } 1765 -enum : uint { DOMAIN_GROUP_RID_SCHEMA_ADMINS = 0x00000206 } 1766 -enum : uint { DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = 0x00000207 } 1767 -enum : uint { DOMAIN_GROUP_RID_POLICY_ADMINS = 0x00000208 } 1768 - 1769 -enum : uint { DOMAIN_ALIAS_RID_ADMINS = 0x00000220 } 1770 -enum : uint { DOMAIN_ALIAS_RID_USERS = 0x00000221 } 1771 -enum : uint { DOMAIN_ALIAS_RID_GUESTS = 0x00000222 } 1772 -enum : uint { DOMAIN_ALIAS_RID_POWER_USERS = 0x00000223 } 1773 - 1774 -enum : uint { DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x00000224 } 1775 -enum : uint { DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x00000225 } 1776 -enum : uint { DOMAIN_ALIAS_RID_PRINT_OPS = 0x00000226 } 1777 -enum : uint { DOMAIN_ALIAS_RID_BACKUP_OPS = 0x00000227 } 1778 - 1779 -enum : uint { DOMAIN_ALIAS_RID_REPLICATOR = 0x00000228 } 1780 -enum : uint { DOMAIN_ALIAS_RID_RAS_SERVERS = 0x00000229 } 1781 -enum : uint { DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x0000022A } 1782 -enum : uint { DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x0000022B } 1783 -enum : uint { DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x0000022C } 1784 - 1785 -const LUID SYSTEM_LUID = {LowPart: 0x3e7, HighPart: 0x0}; 1786 -const LUID ANONYMOUS_LOGON_LUID = {LowPart: 0x3e6, HighPart: 0x0}; 1787 -const LUID LOCALSERVICE_LUID = {LowPart: 0x3e5, HighPart: 0x0}; 1788 -const LUID NETWORKSERVICE_LUID = {LowPart: 0x3e4, HighPart: 0x0}; 1789 - 1790 -enum : uint { SE_GROUP_MANDATORY = 0x00000001 } 1791 -enum : uint { SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 } 1792 -enum : uint { SE_GROUP_ENABLED = 0x00000004 } 1793 -enum : uint { SE_GROUP_OWNER = 0x00000008 } 1794 -enum : uint { SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 } 1795 -enum : uint { SE_GROUP_LOGON_ID = 0xC0000000 } 1796 -enum : uint { SE_GROUP_RESOURCE = 0x20000000 } 1797 - 1798 -enum : uint { ACL_REVISION = 2 } 1799 -enum : uint { ACL_REVISION_DS = 4 } 1800 - 1801 -enum : uint { ACL_REVISION1 = 1 } 1802 -enum { MIN_ACL_REVISION = 2 } 1803 -enum : uint { ACL_REVISION2 = 2 } 1804 -enum : uint { ACL_REVISION3 = 3 } 1805 -enum : uint { ACL_REVISION4 = 4 } 1806 -alias ACL_REVISION4 MAX_ACL_REVISION; 1807 - 1808 -struct _ACL { 1809 - BYTE AclRevision; 1810 - BYTE Sbz1; 1811 - WORD AclSize; 1812 - WORD AceCount; 1813 - WORD Sbz2; 1814 -} 1815 -alias _ACL ACL; 1816 - 1817 -alias ACL* PACL; 1818 - 1819 -struct _ACE_HEADER { 1820 - BYTE AceType; 1821 - BYTE AceFlags; 1822 - WORD AceSize; 1823 -} 1824 -alias _ACE_HEADER ACE_HEADER; 1825 - 1826 -alias ACE_HEADER* PACE_HEADER; 1827 - 1828 -enum : uint { ACCESS_MIN_MS_ACE_TYPE = 0x0 } 1829 -enum : uint { ACCESS_ALLOWED_ACE_TYPE = 0x0 } 1830 -enum : uint { ACCESS_DENIED_ACE_TYPE = 0x1 } 1831 -enum : uint { SYSTEM_AUDIT_ACE_TYPE = 0x2 } 1832 -enum : uint { SYSTEM_ALARM_ACE_TYPE = 0x3 } 1833 -enum : uint { ACCESS_MAX_MS_V2_ACE_TYPE = 0x3 } 1834 - 1835 -enum : uint { ACCESS_ALLOWED_COMPOUND_ACE_TYPE = 0x4 } 1836 -enum : uint { ACCESS_MAX_MS_V3_ACE_TYPE = 0x4 } 1837 - 1838 -enum : uint { ACCESS_MIN_MS_OBJECT_ACE_TYPE = 0x5 } 1839 -enum : uint { ACCESS_ALLOWED_OBJECT_ACE_TYPE = 0x5 } 1840 -enum : uint { ACCESS_DENIED_OBJECT_ACE_TYPE = 0x6 } 1841 -enum : uint { SYSTEM_AUDIT_OBJECT_ACE_TYPE = 0x7 } 1842 -enum : uint { SYSTEM_ALARM_OBJECT_ACE_TYPE = 0x8 } 1843 -enum : uint { ACCESS_MAX_MS_OBJECT_ACE_TYPE = 0x8 } 1844 - 1845 -enum : uint { ACCESS_MAX_MS_V4_ACE_TYPE = 0x8 } 1846 -enum : uint { ACCESS_MAX_MS_ACE_TYPE = 0x8 } 1847 - 1848 -enum : uint { ACCESS_ALLOWED_CALLBACK_ACE_TYPE = 0x9 } 1849 -enum : uint { ACCESS_DENIED_CALLBACK_ACE_TYPE = 0xA } 1850 -enum : uint { ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = 0xB } 1851 -enum : uint { ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = 0xC } 1852 -enum : uint { SYSTEM_AUDIT_CALLBACK_ACE_TYPE = 0xD } 1853 -enum : uint { SYSTEM_ALARM_CALLBACK_ACE_TYPE = 0xE } 1854 -enum : uint { SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = 0xF } 1855 -enum : uint { SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = 0x10 } 1856 - 1857 -enum : uint { ACCESS_MAX_MS_V5_ACE_TYPE = 0x10 } 1858 - 1859 -enum : uint { OBJECT_INHERIT_ACE = 0x1 } 1860 -enum : uint { CONTAINER_INHERIT_ACE = 0x2 } 1861 -enum : uint { NO_PROPAGATE_INHERIT_ACE = 0x4 } 1862 -enum : uint { INHERIT_ONLY_ACE = 0x8 } 1863 -enum : uint { INHERITED_ACE = 0x10 } 1864 -enum : uint { VALID_INHERIT_FLAGS = 0x1F } 1865 - 1866 -enum : uint { SUCCESSFUL_ACCESS_ACE_FLAG = 0x40 } 1867 -enum : uint { FAILED_ACCESS_ACE_FLAG = 0x80 } 1868 - 1869 -struct _ACCESS_ALLOWED_ACE { 1870 - ACE_HEADER Header; 1871 - ACCESS_MASK Mask; 1872 - DWORD SidStart; 1873 -} 1874 -alias _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE; 1875 - 1876 -alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; 1877 - 1878 -struct _ACCESS_DENIED_ACE { 1879 - ACE_HEADER Header; 1880 - ACCESS_MASK Mask; 1881 - DWORD SidStart; 1882 -} 1883 -alias _ACCESS_DENIED_ACE ACCESS_DENIED_ACE; 1884 - 1885 -alias ACCESS_DENIED_ACE* PACCESS_DENIED_ACE; 1886 - 1887 -struct _SYSTEM_AUDIT_ACE { 1888 - ACE_HEADER Header; 1889 - ACCESS_MASK Mask; 1890 - DWORD SidStart; 1891 -} 1892 -alias _SYSTEM_AUDIT_ACE SYSTEM_AUDIT_ACE; 1893 - 1894 -alias SYSTEM_AUDIT_ACE* PSYSTEM_AUDIT_ACE; 1895 - 1896 -struct _SYSTEM_ALARM_ACE { 1897 - ACE_HEADER Header; 1898 - ACCESS_MASK Mask; 1899 - DWORD SidStart; 1900 -} 1901 -alias _SYSTEM_ALARM_ACE SYSTEM_ALARM_ACE; 1902 - 1903 -alias SYSTEM_ALARM_ACE* PSYSTEM_ALARM_ACE; 1904 - 1905 -struct _ACCESS_ALLOWED_OBJECT_ACE { 1906 - ACE_HEADER Header; 1907 - ACCESS_MASK Mask; 1908 - DWORD Flags; 1909 - GUID ObjectType; 1910 - GUID InheritedObjectType; 1911 - DWORD SidStart; 1912 -} 1913 -alias _ACCESS_ALLOWED_OBJECT_ACE ACCESS_ALLOWED_OBJECT_ACE; 1914 -alias _ACCESS_ALLOWED_OBJECT_ACE* PACCESS_ALLOWED_OBJECT_ACE; 1915 - 1916 -struct _ACCESS_DENIED_OBJECT_ACE { 1917 - ACE_HEADER Header; 1918 - ACCESS_MASK Mask; 1919 - DWORD Flags; 1920 - GUID ObjectType; 1921 - GUID InheritedObjectType; 1922 - DWORD SidStart; 1923 -} 1924 -alias _ACCESS_DENIED_OBJECT_ACE ACCESS_DENIED_OBJECT_ACE; 1925 -alias _ACCESS_DENIED_OBJECT_ACE* PACCESS_DENIED_OBJECT_ACE; 1926 - 1927 -struct _SYSTEM_AUDIT_OBJECT_ACE { 1928 - ACE_HEADER Header; 1929 - ACCESS_MASK Mask; 1930 - DWORD Flags; 1931 - GUID ObjectType; 1932 - GUID InheritedObjectType; 1933 - DWORD SidStart; 1934 -} 1935 -alias _SYSTEM_AUDIT_OBJECT_ACE SYSTEM_AUDIT_OBJECT_ACE; 1936 -alias _SYSTEM_AUDIT_OBJECT_ACE* PSYSTEM_AUDIT_OBJECT_ACE; 1937 - 1938 -struct _SYSTEM_ALARM_OBJECT_ACE { 1939 - ACE_HEADER Header; 1940 - ACCESS_MASK Mask; 1941 - DWORD Flags; 1942 - GUID ObjectType; 1943 - GUID InheritedObjectType; 1944 - DWORD SidStart; 1945 -} 1946 -alias _SYSTEM_ALARM_OBJECT_ACE SYSTEM_ALARM_OBJECT_ACE; 1947 -alias _SYSTEM_ALARM_OBJECT_ACE* PSYSTEM_ALARM_OBJECT_ACE; 1948 - 1949 -struct _ACCESS_ALLOWED_CALLBACK_ACE { 1950 - ACE_HEADER Header; 1951 - ACCESS_MASK Mask; 1952 - DWORD SidStart; 1953 -} 1954 -alias _ACCESS_ALLOWED_CALLBACK_ACE ACCESS_ALLOWED_CALLBACK_ACE; 1955 -alias _ACCESS_ALLOWED_CALLBACK_ACE* PACCESS_ALLOWED_CALLBACK_ACE; 1956 - 1957 -struct _ACCESS_DENIED_CALLBACK_ACE { 1958 - ACE_HEADER Header; 1959 - ACCESS_MASK Mask; 1960 - DWORD SidStart; 1961 -} 1962 -alias _ACCESS_DENIED_CALLBACK_ACE ACCESS_DENIED_CALLBACK_ACE; 1963 -alias _ACCESS_DENIED_CALLBACK_ACE* PACCESS_DENIED_CALLBACK_ACE; 1964 - 1965 -struct _SYSTEM_AUDIT_CALLBACK_ACE { 1966 - ACE_HEADER Header; 1967 - ACCESS_MASK Mask; 1968 - DWORD SidStart; 1969 -} 1970 -alias _SYSTEM_AUDIT_CALLBACK_ACE SYSTEM_AUDIT_CALLBACK_ACE; 1971 -alias _SYSTEM_AUDIT_CALLBACK_ACE* PSYSTEM_AUDIT_CALLBACK_ACE; 1972 - 1973 -struct _SYSTEM_ALARM_CALLBACK_ACE { 1974 - ACE_HEADER Header; 1975 - ACCESS_MASK Mask; 1976 - DWORD SidStart; 1977 -} 1978 -alias _SYSTEM_ALARM_CALLBACK_ACE SYSTEM_ALARM_CALLBACK_ACE; 1979 -alias _SYSTEM_ALARM_CALLBACK_ACE* PSYSTEM_ALARM_CALLBACK_ACE; 1980 - 1981 -struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { 1982 - ACE_HEADER Header; 1983 - ACCESS_MASK Mask; 1984 - DWORD Flags; 1985 - GUID ObjectType; 1986 - GUID InheritedObjectType; 1987 - DWORD SidStart; 1988 -} 1989 -alias _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; 1990 -alias _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE* PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; 1991 - 1992 -struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { 1993 - ACE_HEADER Header; 1994 - ACCESS_MASK Mask; 1995 - DWORD Flags; 1996 - GUID ObjectType; 1997 - GUID InheritedObjectType; 1998 - DWORD SidStart; 1999 -} 2000 -alias _ACCESS_DENIED_CALLBACK_OBJECT_ACE ACCESS_DENIED_CALLBACK_OBJECT_ACE; 2001 -alias _ACCESS_DENIED_CALLBACK_OBJECT_ACE* PACCESS_DENIED_CALLBACK_OBJECT_ACE; 2002 - 2003 -struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { 2004 - ACE_HEADER Header; 2005 - ACCESS_MASK Mask; 2006 - DWORD Flags; 2007 - GUID ObjectType; 2008 - GUID InheritedObjectType; 2009 - DWORD SidStart; 2010 -} 2011 -alias _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; 2012 -alias _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE* PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE; 2013 - 2014 -struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { 2015 - ACE_HEADER Header; 2016 - ACCESS_MASK Mask; 2017 - DWORD Flags; 2018 - GUID ObjectType; 2019 - GUID InheritedObjectType; 2020 - DWORD SidStart; 2021 -} 2022 -alias _SYSTEM_ALARM_CALLBACK_OBJECT_ACE SYSTEM_ALARM_CALLBACK_OBJECT_ACE; 2023 -alias _SYSTEM_ALARM_CALLBACK_OBJECT_ACE* PSYSTEM_ALARM_CALLBACK_OBJECT_ACE; 2024 - 2025 -enum : uint { ACE_OBJECT_TYPE_PRESENT = 0x1 } 2026 -enum : uint { ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2 } 2027 - 2028 -alias int _ACL_INFORMATION_CLASS; 2029 -enum { 2030 - AclRevisionInformation = 1, 2031 - AclSizeInformation, 2032 -} 2033 -alias _ACL_INFORMATION_CLASS ACL_INFORMATION_CLASS; 2034 - 2035 -struct _ACL_REVISION_INFORMATION { 2036 - DWORD AclRevision; 2037 -} 2038 -alias _ACL_REVISION_INFORMATION ACL_REVISION_INFORMATION; 2039 - 2040 -alias ACL_REVISION_INFORMATION* PACL_REVISION_INFORMATION; 2041 - 2042 -struct _ACL_SIZE_INFORMATION { 2043 - DWORD AceCount; 2044 - DWORD AclBytesInUse; 2045 - DWORD AclBytesFree; 2046 -} 2047 -alias _ACL_SIZE_INFORMATION ACL_SIZE_INFORMATION; 2048 - 2049 -alias ACL_SIZE_INFORMATION* PACL_SIZE_INFORMATION; 2050 - 2051 -enum : uint { SECURITY_DESCRIPTOR_REVISION = 1 } 2052 -enum : uint { SECURITY_DESCRIPTOR_REVISION1 = 1 } 2053 - 2054 -const uint SECURITY_DESCRIPTOR_MIN_LENGTH = SECURITY_DESCRIPTOR.sizeof; 2055 - 2056 -alias WORD SECURITY_DESCRIPTOR_CONTROL; 2057 -alias WORD* PSECURITY_DESCRIPTOR_CONTROL; 2058 - 2059 -enum : uint { SE_OWNER_DEFAULTED = 0x0001 } 2060 -enum : uint { SE_GROUP_DEFAULTED = 0x0002 } 2061 -enum : uint { SE_DACL_PRESENT = 0x0004 } 2062 -enum : uint { SE_DACL_DEFAULTED = 0x0008 } 2063 -enum : uint { SE_SACL_PRESENT = 0x0010 } 2064 -enum : uint { SE_SACL_DEFAULTED = 0x0020 } 2065 -enum : uint { SE_DACL_AUTO_INHERIT_REQ = 0x0100 } 2066 -enum : uint { SE_SACL_AUTO_INHERIT_REQ = 0x0200 } 2067 -enum : uint { SE_DACL_AUTO_INHERITED = 0x0400 } 2068 -enum : uint { SE_SACL_AUTO_INHERITED = 0x0800 } 2069 -enum : uint { SE_DACL_PROTECTED = 0x1000 } 2070 -enum : uint { SE_SACL_PROTECTED = 0x2000 } 2071 -enum : uint { SE_RM_CONTROL_VALID = 0x4000 } 2072 -enum : uint { SE_SELF_RELATIVE = 0x8000 } 2073 - 2074 -struct _SECURITY_DESCRIPTOR_RELATIVE { 2075 - BYTE Revision; 2076 - BYTE Sbz1; 2077 - SECURITY_DESCRIPTOR_CONTROL Control; 2078 - DWORD Owner; 2079 - DWORD Group; 2080 - DWORD Sacl; 2081 - DWORD Dacl; 2082 -} 2083 -alias _SECURITY_DESCRIPTOR_RELATIVE SECURITY_DESCRIPTOR_RELATIVE; 2084 -alias _SECURITY_DESCRIPTOR_RELATIVE* PISECURITY_DESCRIPTOR_RELATIVE; 2085 - 2086 -struct _SECURITY_DESCRIPTOR { 2087 - BYTE Revision; 2088 - BYTE Sbz1; 2089 - SECURITY_DESCRIPTOR_CONTROL Control; 2090 - PSID Owner; 2091 - PSID Group; 2092 - PACL Sacl; 2093 - PACL Dacl; 2094 -} 2095 -alias _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR; 2096 -alias _SECURITY_DESCRIPTOR* PISECURITY_DESCRIPTOR; 2097 - 2098 -struct _OBJECT_TYPE_LIST { 2099 - WORD Level; 2100 - WORD Sbz; 2101 - GUID *ObjectType; 2102 -} 2103 -alias _OBJECT_TYPE_LIST OBJECT_TYPE_LIST; 2104 -alias _OBJECT_TYPE_LIST* POBJECT_TYPE_LIST; 2105 - 2106 -enum : uint { ACCESS_OBJECT_GUID = 0 } 2107 -enum : uint { ACCESS_PROPERTY_SET_GUID = 1 } 2108 -enum : uint { ACCESS_PROPERTY_GUID = 2 } 2109 - 2110 -enum : uint { ACCESS_MAX_LEVEL = 4 } 2111 - 2112 -alias int _AUDIT_EVENT_TYPE; 2113 -enum { 2114 - AuditEventObjectAccess, 2115 - AuditEventDirectoryServiceAccess, 2116 -} 2117 -alias _AUDIT_EVENT_TYPE AUDIT_EVENT_TYPE; 2118 -alias _AUDIT_EVENT_TYPE* PAUDIT_EVENT_TYPE; 2119 - 2120 -enum : uint { AUDIT_ALLOW_NO_PRIVILEGE = 0x1 } 2121 - 2122 -const char[] ACCESS_DS_SOURCE_A = "DS"; 2123 -const wchar[] ACCESS_DS_SOURCE_W = "DS"; 2124 -const char[] ACCESS_DS_OBJECT_TYPE_NAME_A = "Directory Service Object"; 2125 -const wchar[] ACCESS_DS_OBJECT_TYPE_NAME_W = "Directory Service Object"; 2126 - 2127 -enum : uint { SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001 } 2128 -enum : uint { SE_PRIVILEGE_ENABLED = 0x00000002 } 2129 -enum : uint { SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000 } 2130 - 2131 -enum : uint { PRIVILEGE_SET_ALL_NECESSARY = 1 } 2132 - 2133 -struct _PRIVILEGE_SET { 2134 - DWORD PrivilegeCount; 2135 - DWORD Control; 2136 - LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY]; 2137 -} 2138 -alias _PRIVILEGE_SET PRIVILEGE_SET; 2139 -alias _PRIVILEGE_SET* PPRIVILEGE_SET; 2140 - 2141 -const TCHAR[] SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"; 2142 -const TCHAR[] SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"; 2143 -const TCHAR[] SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"; 2144 -const TCHAR[] SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"; 2145 -const TCHAR[] SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"; 2146 -const TCHAR[] SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"; 2147 -const TCHAR[] SE_TCB_NAME = "SeTcbPrivilege"; 2148 -const TCHAR[] SE_SECURITY_NAME = "SeSecurityPrivilege"; 2149 -const TCHAR[] SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"; 2150 -const TCHAR[] SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"; 2151 -const TCHAR[] SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"; 2152 -const TCHAR[] SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"; 2153 -const TCHAR[] SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"; 2154 -const TCHAR[] SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"; 2155 -const TCHAR[] SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"; 2156 -const TCHAR[] SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"; 2157 -const TCHAR[] SE_BACKUP_NAME = "SeBackupPrivilege"; 2158 -const TCHAR[] SE_RESTORE_NAME = "SeRestorePrivilege"; 2159 -const TCHAR[] SE_SHUTDOWN_NAME = "SeShutdownPrivilege"; 2160 -const TCHAR[] SE_DEBUG_NAME = "SeDebugPrivilege"; 2161 -const TCHAR[] SE_AUDIT_NAME = "SeAuditPrivilege"; 2162 -const TCHAR[] SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"; 2163 -const TCHAR[] SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"; 2164 -const TCHAR[] SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"; 2165 -const TCHAR[] SE_UNDOCK_NAME = "SeUndockPrivilege"; 2166 -const TCHAR[] SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege"; 2167 -const TCHAR[] SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege"; 2168 -const TCHAR[] SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege"; 2169 - 2170 -alias int _SECURITY_IMPERSONATION_LEVEL; 2171 -enum { 2172 - SecurityAnonymous, 2173 - SecurityIdentification, 2174 - SecurityImpersonation, 2175 - SecurityDelegation, 2176 -} 2177 -alias _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL; 2178 -alias _SECURITY_IMPERSONATION_LEVEL* PSECURITY_IMPERSONATION_LEVEL; 2179 - 2180 -alias SecurityDelegation SECURITY_MAX_IMPERSONATION_LEVEL; 2181 -alias SecurityAnonymous SECURITY_MIN_IMPERSONATION_LEVEL; 2182 -alias SecurityImpersonation DEFAULT_IMPERSONATION_LEVEL; 2183 -bit VALID_IMPERSONATION_LEVEL(SECURITY_IMPERSONATION_LEVEL L){ return (L >= SECURITY_MIN_IMPERSONATION_LEVEL) && (L <= SECURITY_MAX_IMPERSONATION_LEVEL); } 2184 - 2185 -enum : uint { TOKEN_ASSIGN_PRIMARY = 0x0001 } 2186 -enum : uint { TOKEN_DUPLICATE = 0x0002 } 2187 -enum : uint { TOKEN_IMPERSONATE = 0x0004 } 2188 -enum : uint { TOKEN_QUERY = 0x0008 } 2189 -enum : uint { TOKEN_QUERY_SOURCE = 0x0010 } 2190 -enum : uint { TOKEN_ADJUST_PRIVILEGES = 0x0020 } 2191 -enum : uint { TOKEN_ADJUST_GROUPS = 0x0040 } 2192 -enum : uint { TOKEN_ADJUST_DEFAULT = 0x0080 } 2193 -enum : uint { TOKEN_ADJUST_SESSIONID = 0x0100 } 2194 - 2195 -enum : uint { TOKEN_ALL_ACCESS_P = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT } 2196 - 2197 -// #if ((defined(_WIN32_WINNT) && (_WIN32_WINNT > 0x0400)) || (!defined(_WIN32_WINNT))) 2198 -enum : uint { TOKEN_ALL_ACCESS = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID } 2199 -// #else 2200 -// #... 2201 -// #endif 2202 - 2203 -enum : uint { TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY } 2204 - 2205 -enum : uint { TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT } 2206 - 2207 -enum : uint { TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE } 2208 - 2209 -alias int _TOKEN_TYPE; 2210 -enum { 2211 - TokenPrimary = 1, 2212 - TokenImpersonation, 2213 -} 2214 -alias _TOKEN_TYPE TOKEN_TYPE; 2215 - 2216 -alias TOKEN_TYPE* PTOKEN_TYPE; 2217 - 2218 -alias int _TOKEN_INFORMATION_CLASS; 2219 -enum { 2220 - TokenUser = 1, 2221 - TokenGroups, 2222 - TokenPrivileges, 2223 - TokenOwner, 2224 - TokenPrimaryGroup, 2225 - TokenDefaultDacl, 2226 - TokenSource, 2227 - TokenType, 2228 - TokenImpersonationLevel, 2229 - TokenStatistics, 2230 - TokenRestrictedSids, 2231 - TokenSessionId, 2232 - TokenGroupsAndPrivileges, 2233 - TokenSessionReference, 2234 - TokenSandBoxInert, 2235 -} 2236 -alias _TOKEN_INFORMATION_CLASS TOKEN_INFORMATION_CLASS; 2237 -alias _TOKEN_INFORMATION_CLASS* PTOKEN_INFORMATION_CLASS; 2238 - 2239 -struct _TOKEN_USER { 2240 - SID_AND_ATTRIBUTES User; 2241 -} 2242 -alias _TOKEN_USER TOKEN_USER; 2243 -alias _TOKEN_USER* PTOKEN_USER; 2244 - 2245 -struct _TOKEN_GROUPS { 2246 - DWORD GroupCount; 2247 - SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; 2248 -} 2249 -alias _TOKEN_GROUPS TOKEN_GROUPS; 2250 -alias _TOKEN_GROUPS* PTOKEN_GROUPS; 2251 - 2252 -struct _TOKEN_PRIVILEGES { 2253 - DWORD PrivilegeCount; 2254 - LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; 2255 -} 2256 -alias _TOKEN_PRIVILEGES TOKEN_PRIVILEGES; 2257 -alias _TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES; 2258 - 2259 -struct _TOKEN_OWNER { 2260 - PSID Owner; 2261 -} 2262 -alias _TOKEN_OWNER TOKEN_OWNER; 2263 -alias _TOKEN_OWNER* PTOKEN_OWNER; 2264 - 2265 -struct _TOKEN_PRIMARY_GROUP { 2266 - PSID PrimaryGroup; 2267 -} 2268 -alias _TOKEN_PRIMARY_GROUP TOKEN_PRIMARY_GROUP; 2269 -alias _TOKEN_PRIMARY_GROUP* PTOKEN_PRIMARY_GROUP; 2270 - 2271 -struct _TOKEN_DEFAULT_DACL { 2272 - PACL DefaultDacl; 2273 -} 2274 -alias _TOKEN_DEFAULT_DACL TOKEN_DEFAULT_DACL; 2275 -alias _TOKEN_DEFAULT_DACL* PTOKEN_DEFAULT_DACL; 2276 - 2277 -struct _TOKEN_GROUPS_AND_PRIVILEGES { 2278 - DWORD SidCount; 2279 - DWORD SidLength; 2280 - PSID_AND_ATTRIBUTES Sids; 2281 - DWORD RestrictedSidCount; 2282 - DWORD RestrictedSidLength; 2283 - PSID_AND_ATTRIBUTES RestrictedSids; 2284 - DWORD PrivilegeCount; 2285 - DWORD PrivilegeLength; 2286 - PLUID_AND_ATTRIBUTES Privileges; 2287 - LUID AuthenticationId; 2288 -} 2289 -alias _TOKEN_GROUPS_AND_PRIVILEGES TOKEN_GROUPS_AND_PRIVILEGES; 2290 -alias _TOKEN_GROUPS_AND_PRIVILEGES* PTOKEN_GROUPS_AND_PRIVILEGES; 2291 - 2292 -enum : uint { TOKEN_SOURCE_LENGTH = 8 } 2293 - 2294 -struct _TOKEN_SOURCE { 2295 - CHAR SourceName[TOKEN_SOURCE_LENGTH]; 2296 - LUID SourceIdentifier; 2297 -} 2298 -alias _TOKEN_SOURCE TOKEN_SOURCE; 2299 -alias _TOKEN_SOURCE* PTOKEN_SOURCE; 2300 - 2301 -struct _TOKEN_STATISTICS { 2302 - LUID TokenId; 2303 - LUID AuthenticationId; 2304 - LARGE_INTEGER ExpirationTime; 2305 - TOKEN_TYPE TokenType; 2306 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 2307 - DWORD DynamicCharged; 2308 - DWORD DynamicAvailable; 2309 - DWORD GroupCount; 2310 - DWORD PrivilegeCount; 2311 - LUID ModifiedId; 2312 -} 2313 -alias _TOKEN_STATISTICS TOKEN_STATISTICS; 2314 -alias _TOKEN_STATISTICS* PTOKEN_STATISTICS; 2315 - 2316 -struct _TOKEN_CONTROL { 2317 - LUID TokenId; 2318 - LUID AuthenticationId; 2319 - LUID ModifiedId; 2320 - TOKEN_SOURCE TokenSource; 2321 -} 2322 -alias _TOKEN_CONTROL TOKEN_CONTROL; 2323 -alias _TOKEN_CONTROL* PTOKEN_CONTROL; 2324 - 2325 -enum : uint { SECURITY_DYNAMIC_TRACKING = TRUE } 2326 -enum : uint { SECURITY_STATIC_TRACKING = FALSE } 2327 - 2328 -alias BOOLEAN SECURITY_CONTEXT_TRACKING_MODE; 2329 -alias BOOLEAN* PSECURITY_CONTEXT_TRACKING_MODE; 2330 - 2331 -struct _SECURITY_QUALITY_OF_SERVICE { 2332 - DWORD Length; 2333 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 2334 - SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; 2335 - BOOLEAN EffectiveOnly; 2336 -} 2337 -alias _SECURITY_QUALITY_OF_SERVICE SECURITY_QUALITY_OF_SERVICE; 2338 -alias _SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; 2339 - 2340 -struct _SE_IMPERSONATION_STATE { 2341 - PACCESS_TOKEN Token; 2342 - BOOLEAN CopyOnOpen; 2343 - BOOLEAN EffectiveOnly; 2344 - SECURITY_IMPERSONATION_LEVEL Level; 2345 -} 2346 -alias _SE_IMPERSONATION_STATE SE_IMPERSONATION_STATE; 2347 -alias _SE_IMPERSONATION_STATE* PSE_IMPERSONATION_STATE; 2348 - 2349 -enum : uint { DISABLE_MAX_PRIVILEGE = 0x1 } 2350 -enum : uint { SANDBOX_INERT = 0x2 } 2351 - 2352 -alias DWORD SECURITY_INFORMATION; 2353 -alias DWORD* PSECURITY_INFORMATION; 2354 - 2355 -enum : uint { OWNER_SECURITY_INFORMATION = 0x00000001 } 2356 -enum : uint { GROUP_SECURITY_INFORMATION = 0x00000002 } 2357 -enum : uint { DACL_SECURITY_INFORMATION = 0x00000004 } 2358 -enum : uint { SACL_SECURITY_INFORMATION = 0x00000008 } 2359 - 2360 -enum : uint { PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000 } 2361 -enum : uint { PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000 } 2362 -enum : uint { UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000 } 2363 -enum : uint { UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000 } 2364 - 2365 -enum : uint { PROCESS_TERMINATE = 0x0001 } 2366 -enum : uint { PROCESS_CREATE_THREAD = 0x0002 } 2367 -enum : uint { PROCESS_SET_SESSIONID = 0x0004 } 2368 -enum : uint { PROCESS_VM_OPERATION = 0x0008 } 2369 -enum : uint { PROCESS_VM_READ = 0x0010 } 2370 -enum : uint { PROCESS_VM_WRITE = 0x0020 } 2371 -enum : uint { PROCESS_DUP_HANDLE = 0x0040 } 2372 -enum : uint { PROCESS_CREATE_PROCESS = 0x0080 } 2373 -enum : uint { PROCESS_SET_QUOTA = 0x0100 } 2374 -enum : uint { PROCESS_SET_INFORMATION = 0x0200 } 2375 -enum : uint { PROCESS_QUERY_INFORMATION = 0x0400 } 2376 -enum : uint { PROCESS_SUSPEND_RESUME = 0x0800 } 2377 -enum : uint { PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF } 2378 - 2379 -// #if defined(_WIN64) 2380 - 2381 -// #... 2382 - 2383 -// #else 2384 - 2385 -enum : uint { MAXIMUM_PROCESSORS = 32 } 2386 - 2387 -// #endif 2388 - 2389 -enum : uint { THREAD_TERMINATE = 0x0001 } 2390 -enum : uint { THREAD_SUSPEND_RESUME = 0x0002 } 2391 -enum : uint { THREAD_GET_CONTEXT = 0x0008 } 2392 -enum : uint { THREAD_SET_CONTEXT = 0x0010 } 2393 -enum : uint { THREAD_SET_INFORMATION = 0x0020 } 2394 -enum : uint { THREAD_QUERY_INFORMATION = 0x0040 } 2395 -enum : uint { THREAD_SET_THREAD_TOKEN = 0x0080 } 2396 -enum : uint { THREAD_IMPERSONATE = 0x0100 } 2397 -enum : uint { THREAD_DIRECT_IMPERSONATION = 0x0200 } 2398 - 2399 -enum : uint { THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF } 2400 - 2401 -enum : uint { JOB_OBJECT_ASSIGN_PROCESS = 0x0001 } 2402 -enum : uint { JOB_OBJECT_SET_ATTRIBUTES = 0x0002 } 2403 -enum : uint { JOB_OBJECT_QUERY = 0x0004 } 2404 -enum : uint { JOB_OBJECT_TERMINATE = 0x0008 } 2405 -enum : uint { JOB_OBJECT_SET_SECURITY_ATTRIBUTES = 0x0010 } 2406 -enum : uint { JOB_OBJECT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F } 2407 - 2408 -struct _JOB_SET_ARRAY { 2409 - HANDLE JobHandle; 2410 - DWORD MemberLevel; 2411 - DWORD Flags; 2412 -} 2413 -alias _JOB_SET_ARRAY JOB_SET_ARRAY; 2414 -alias _JOB_SET_ARRAY* PJOB_SET_ARRAY; 2415 - 2416 -enum : uint { TLS_MINIMUM_AVAILABLE = 64 } 2417 - 2418 -struct _NT_TIB { 2419 - _EXCEPTION_REGISTRATION_RECORD *ExceptionList; 2420 - PVOID StackBase; 2421 - PVOID StackLimit; 2422 - PVOID SubSystemTib; 2423 -union { 2424 - PVOID FiberData; 2425 - DWORD Version; 2426 -} 2427 - 2428 - PVOID ArbitraryUserPointer; 2429 - _NT_TIB *Self; 2430 -} 2431 -alias _NT_TIB NT_TIB; 2432 - 2433 -alias NT_TIB* PNT_TIB; 2434 - 2435 -struct _NT_TIB32 { 2436 - DWORD ExceptionList; 2437 - DWORD StackBase; 2438 - DWORD StackLimit; 2439 - DWORD SubSystemTib; 2440 -union { 2441 - DWORD FiberData; 2442 - DWORD Version; 2443 -} 2444 - 2445 - DWORD ArbitraryUserPointer; 2446 - DWORD Self; 2447 -} 2448 -alias _NT_TIB32 NT_TIB32; 2449 -alias _NT_TIB32* PNT_TIB32; 2450 - 2451 -struct _NT_TIB64 { 2452 - DWORD64 ExceptionList; 2453 - DWORD64 StackBase; 2454 - DWORD64 StackLimit; 2455 - DWORD64 SubSystemTib; 2456 -union { 2457 - DWORD64 FiberData; 2458 - DWORD Version; 2459 -} 2460 - 2461 - DWORD64 ArbitraryUserPointer; 2462 - DWORD64 Self; 2463 -} 2464 -alias _NT_TIB64 NT_TIB64; 2465 -alias _NT_TIB64* PNT_TIB64; 2466 - 2467 -// #if !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) 2468 -// #... 2469 -// #endif 2470 - 2471 -enum : uint { THREAD_BASE_PRIORITY_LOWRT = 15 } 2472 -enum : uint { THREAD_BASE_PRIORITY_MAX = 2 } 2473 -enum { THREAD_BASE_PRIORITY_MIN = -2 } 2474 -enum { THREAD_BASE_PRIORITY_IDLE = -15 } 2475 - 2476 -struct _QUOTA_LIMITS { 2477 - SIZE_T PagedPoolLimit; 2478 - SIZE_T NonPagedPoolLimit; 2479 - SIZE_T MinimumWorkingSetSize; 2480 - SIZE_T MaximumWorkingSetSize; 2481 - SIZE_T PagefileLimit; 2482 - LARGE_INTEGER TimeLimit; 2483 -} 2484 -alias _QUOTA_LIMITS QUOTA_LIMITS; 2485 - 2486 -alias QUOTA_LIMITS* PQUOTA_LIMITS; 2487 - 2488 -struct _IO_COUNTERS { 2489 - ULONGLONG ReadOperationCount; 2490 - ULONGLONG WriteOperationCount; 2491 - ULONGLONG OtherOperationCount; 2492 - ULONGLONG ReadTransferCount; 2493 - ULONGLONG WriteTransferCount; 2494 - ULONGLONG OtherTransferCount; 2495 -} 2496 -alias _IO_COUNTERS IO_COUNTERS; 2497 - 2498 -alias IO_COUNTERS* PIO_COUNTERS; 2499 - 2500 -struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { 2501 - LARGE_INTEGER TotalUserTime; 2502 - LARGE_INTEGER TotalKernelTime; 2503 - LARGE_INTEGER ThisPeriodTotalUserTime; 2504 - LARGE_INTEGER ThisPeriodTotalKernelTime; 2505 - DWORD TotalPageFaultCount; 2506 - DWORD TotalProcesses; 2507 - DWORD ActiveProcesses; 2508 - DWORD TotalTerminatedProcesses; 2509 -} 2510 -alias _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; 2511 -alias _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION; 2512 - 2513 -struct _JOBOBJECT_BASIC_LIMIT_INFORMATION { 2514 - LARGE_INTEGER PerProcessUserTimeLimit; 2515 - LARGE_INTEGER PerJobUserTimeLimit; 2516 - DWORD LimitFlags; 2517 - SIZE_T MinimumWorkingSetSize; 2518 - SIZE_T MaximumWorkingSetSize; 2519 - DWORD ActiveProcessLimit; 2520 - ULONG_PTR Affinity; 2521 - DWORD PriorityClass; 2522 - DWORD SchedulingClass; 2523 -} 2524 -alias _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION; 2525 -alias _JOBOBJECT_BASIC_LIMIT_INFORMATION* PJOBOBJECT_BASIC_LIMIT_INFORMATION; 2526 - 2527 -struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION { 2528 - JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; 2529 - IO_COUNTERS IoInfo; 2530 - SIZE_T ProcessMemoryLimit; 2531 - SIZE_T JobMemoryLimit; 2532 - SIZE_T PeakProcessMemoryUsed; 2533 - SIZE_T PeakJobMemoryUsed; 2534 -} 2535 -alias _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION; 2536 -alias _JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATION; 2537 - 2538 -struct _JOBOBJECT_BASIC_PROCESS_ID_LIST { 2539 - DWORD NumberOfAssignedProcesses; 2540 - DWORD NumberOfProcessIdsInList; 2541 - ULONG_PTR ProcessIdList[1]; 2542 -} 2543 -alias _JOBOBJECT_BASIC_PROCESS_ID_LIST JOBOBJECT_BASIC_PROCESS_ID_LIST; 2544 -alias _JOBOBJECT_BASIC_PROCESS_ID_LIST* PJOBOBJECT_BASIC_PROCESS_ID_LIST; 2545 - 2546 -struct _JOBOBJECT_BASIC_UI_RESTRICTIONS { 2547 - DWORD UIRestrictionsClass; 2548 -} 2549 -alias _JOBOBJECT_BASIC_UI_RESTRICTIONS JOBOBJECT_BASIC_UI_RESTRICTIONS; 2550 -alias _JOBOBJECT_BASIC_UI_RESTRICTIONS* PJOBOBJECT_BASIC_UI_RESTRICTIONS; 2551 - 2552 -struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION { 2553 - DWORD SecurityLimitFlags ; 2554 - HANDLE JobToken ; 2555 - PTOKEN_GROUPS SidsToDisable ; 2556 - PTOKEN_PRIVILEGES PrivilegesToDelete ; 2557 - PTOKEN_GROUPS RestrictedSids ; 2558 -} 2559 -alias _JOBOBJECT_SECURITY_LIMIT_INFORMATION JOBOBJECT_SECURITY_LIMIT_INFORMATION; 2560 -alias _JOBOBJECT_SECURITY_LIMIT_INFORMATION* PJOBOBJECT_SECURITY_LIMIT_INFORMATION; 2561 - 2562 -struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION { 2563 - DWORD EndOfJobTimeAction; 2564 -} 2565 -alias _JOBOBJECT_END_OF_JOB_TIME_INFORMATION JOBOBJECT_END_OF_JOB_TIME_INFORMATION; 2566 -alias _JOBOBJECT_END_OF_JOB_TIME_INFORMATION* PJOBOBJECT_END_OF_JOB_TIME_INFORMATION; 2567 - 2568 -struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT { 2569 - PVOID CompletionKey; 2570 - HANDLE CompletionPort; 2571 -} 2572 -alias _JOBOBJECT_ASSOCIATE_COMPLETION_PORT JOBOBJECT_ASSOCIATE_COMPLETION_PORT; 2573 -alias _JOBOBJECT_ASSOCIATE_COMPLETION_PORT* PJOBOBJECT_ASSOCIATE_COMPLETION_PORT; 2574 - 2575 -struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { 2576 - JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; 2577 - IO_COUNTERS IoInfo; 2578 -} 2579 -alias _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; 2580 -alias _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; 2581 - 2582 -struct _JOBOBJECT_JOBSET_INFORMATION { 2583 - DWORD MemberLevel; 2584 -} 2585 -alias _JOBOBJECT_JOBSET_INFORMATION JOBOBJECT_JOBSET_INFORMATION; 2586 -alias _JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; 2587 - 2588 -enum : uint { JOB_OBJECT_TERMINATE_AT_END_OF_JOB = 0 } 2589 -enum : uint { JOB_OBJECT_POST_AT_END_OF_JOB = 1 } 2590 - 2591 -enum : uint { JOB_OBJECT_MSG_END_OF_JOB_TIME = 1 } 2592 -enum : uint { JOB_OBJECT_MSG_END_OF_PROCESS_TIME = 2 } 2593 -enum : uint { JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT = 3 } 2594 -enum : uint { JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO = 4 } 2595 -enum : uint { JOB_OBJECT_MSG_NEW_PROCESS = 6 } 2596 -enum : uint { JOB_OBJECT_MSG_EXIT_PROCESS = 7 } 2597 -enum : uint { JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS = 8 } 2598 -enum : uint { JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT = 9 } 2599 -enum : uint { JOB_OBJECT_MSG_JOB_MEMORY_LIMIT = 10 } 2600 - 2601 -enum : uint { JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001 } 2602 -enum : uint { JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002 } 2603 -enum : uint { JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004 } 2604 -enum : uint { JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008 } 2605 -enum : uint { JOB_OBJECT_LIMIT_AFFINITY = 0x00000010 } 2606 -enum : uint { JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020 } 2607 -enum : uint { JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040 } 2608 -enum : uint { JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080 } 2609 - 2610 -enum : uint { JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100 } 2611 -enum : uint { JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200 } 2612 -enum : uint { JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400 } 2613 -enum : uint { JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 } 2614 -enum : uint { JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000 } 2615 -enum : uint { JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 } 2616 - 2617 -enum : uint { JOB_OBJECT_LIMIT_RESERVED2 = 0x00004000 } 2618 -enum : uint { JOB_OBJECT_LIMIT_RESERVED3 = 0x00008000 } 2619 -enum : uint { JOB_OBJECT_LIMIT_RESERVED4 = 0x00010000 } 2620 -enum : uint { JOB_OBJECT_LIMIT_RESERVED5 = 0x00020000 } 2621 -enum : uint { JOB_OBJECT_LIMIT_RESERVED6 = 0x00040000 } 2622 - 2623 -enum : uint { JOB_OBJECT_LIMIT_VALID_FLAGS = 0x0007ffff } 2624 - 2625 -enum : uint { JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS = 0x000000ff } 2626 -enum : uint { JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS = 0x00003fff } 2627 -enum : uint { JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS = 0x0007ffff } 2628 - 2629 -enum : uint { JOB_OBJECT_UILIMIT_NONE = 0x00000000 } 2630 - 2631 -enum : uint { JOB_OBJECT_UILIMIT_HANDLES = 0x00000001 } 2632 -enum : uint { JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002 } 2633 -enum : uint { JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004 } 2634 -enum : uint { JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008 } 2635 -enum : uint { JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010 } 2636 -enum : uint { JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020 } 2637 -enum : uint { JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040 } 2638 -enum : uint { JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080 } 2639 - 2640 -enum : uint { JOB_OBJECT_UILIMIT_ALL = 0x000000FF } 2641 - 2642 -enum : uint { JOB_OBJECT_UI_VALID_FLAGS = 0x000000FF } 2643 - 2644 -enum : uint { JOB_OBJECT_SECURITY_NO_ADMIN = 0x00000001 } 2645 -enum : uint { JOB_OBJECT_SECURITY_RESTRICTED_TOKEN = 0x00000002 } 2646 -enum : uint { JOB_OBJECT_SECURITY_ONLY_TOKEN = 0x00000004 } 2647 -enum : uint { JOB_OBJECT_SECURITY_FILTER_TOKENS = 0x00000008 } 2648 - 2649 -enum : uint { JOB_OBJECT_SECURITY_VALID_FLAGS = 0x0000000f } 2650 - 2651 -alias int _JOBOBJECTINFOCLASS; 2652 -enum { 2653 - JobObjectBasicAccountingInformation = 1, 2654 - JobObjectBasicLimitInformation, 2655 - JobObjectBasicProcessIdList, 2656 - JobObjectBasicUIRestrictions, 2657 - JobObjectSecurityLimitInformation, 2658 - JobObjectEndOfJobTimeInformation, 2659 - JobObjectAssociateCompletionPortInformation, 2660 - JobObjectBasicAndIoAccountingInformation, 2661 - JobObjectExtendedLimitInformation, 2662 - JobObjectJobSetInformation, 2663 - MaxJobObjectInfoClass, 2664 -} 2665 -alias _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS; 2666 - 2667 -enum : uint { EVENT_MODIFY_STATE = 0x0002 } 2668 -enum : uint { EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } 2669 -enum : uint { MUTANT_QUERY_STATE = 0x0001 } 2670 - 2671 -enum : uint { MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| MUTANT_QUERY_STATE } 2672 -enum : uint { SEMAPHORE_MODIFY_STATE = 0x0002 } 2673 -enum : uint { SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } 2674 - 2675 -enum : uint { TIMER_QUERY_STATE = 0x0001 } 2676 -enum : uint { TIMER_MODIFY_STATE = 0x0002 } 2677 - 2678 -enum : uint { TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| TIMER_QUERY_STATE|TIMER_MODIFY_STATE } 2679 - 2680 -enum : uint { TIME_ZONE_ID_UNKNOWN = 0 } 2681 -enum : uint { TIME_ZONE_ID_STANDARD = 1 } 2682 -enum : uint { TIME_ZONE_ID_DAYLIGHT = 2 } 2683 - 2684 -enum : uint { MAXIMUM_NUMA_NODES = 16 } 2685 - 2686 -struct _SYSTEM_NUMA_INFORMATION { 2687 - DWORD HighestNodeNumber; 2688 - DWORD Reserved; 2689 -union { 2690 - ULONGLONG ActiveProcessorsAffinityMask[MAXIMUM_NUMA_NODES]; 2691 - ULONGLONG AvailableMemory[MAXIMUM_NUMA_NODES]; 2692 -} 2693 - 2694 -} 2695 -alias _SYSTEM_NUMA_INFORMATION SYSTEM_NUMA_INFORMATION; 2696 -alias _SYSTEM_NUMA_INFORMATION* PSYSTEM_NUMA_INFORMATION; 2697 - 2698 -enum : uint { PROCESSOR_INTEL_386 = 386 } 2699 -enum : uint { PROCESSOR_INTEL_486 = 486 } 2700 -enum : uint { PROCESSOR_INTEL_PENTIUM = 586 } 2701 -enum : uint { PROCESSOR_INTEL_IA64 = 2200 } 2702 -enum : uint { PROCESSOR_MIPS_R4000 = 4000 } 2703 -enum : uint { PROCESSOR_ALPHA_21064 = 21064 } 2704 -enum : uint { PROCESSOR_PPC_601 = 601 } 2705 -enum : uint { PROCESSOR_PPC_603 = 603 } 2706 -enum : uint { PROCESSOR_PPC_604 = 604 } 2707 -enum : uint { PROCESSOR_PPC_620 = 620 } 2708 -enum : uint { PROCESSOR_HITACHI_SH3 = 10003 } 2709 -enum : uint { PROCESSOR_HITACHI_SH3E = 10004 } 2710 -enum : uint { PROCESSOR_HITACHI_SH4 = 10005 } 2711 -enum : uint { PROCESSOR_MOTOROLA_821 = 821 } 2712 -enum : uint { PROCESSOR_SHx_SH3 = 103 } 2713 -enum : uint { PROCESSOR_SHx_SH4 = 104 } 2714 -enum : uint { PROCESSOR_STRONGARM = 2577 } 2715 -enum : uint { PROCESSOR_ARM720 = 1824 } 2716 -enum : uint { PROCESSOR_ARM820 = 2080 } 2717 -enum : uint { PROCESSOR_ARM920 = 2336 } 2718 -enum : uint { PROCESSOR_ARM_7TDMI = 70001 } 2719 -enum : uint { PROCESSOR_OPTIL = 0x494f } 2720 - 2721 -enum : uint { PROCESSOR_ARCHITECTURE_INTEL = 0 } 2722 -enum : uint { PROCESSOR_ARCHITECTURE_MIPS = 1 } 2723 -enum : uint { PROCESSOR_ARCHITECTURE_ALPHA = 2 } 2724 -enum : uint { PROCESSOR_ARCHITECTURE_PPC = 3 } 2725 -enum : uint { PROCESSOR_ARCHITECTURE_SHX = 4 } 2726 -enum : uint { PROCESSOR_ARCHITECTURE_ARM = 5 } 2727 -enum : uint { PROCESSOR_ARCHITECTURE_IA64 = 6 } 2728 -enum : uint { PROCESSOR_ARCHITECTURE_ALPHA64 = 7 } 2729 -enum : uint { PROCESSOR_ARCHITECTURE_MSIL = 8 } 2730 -enum : uint { PROCESSOR_ARCHITECTURE_AMD64 = 9 } 2731 -enum : uint { PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 = 10 } 2732 - 2733 -enum : uint { PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF } 2734 - 2735 -enum : uint { PF_FLOATING_POINT_PRECISION_ERRATA = 0 } 2736 -enum : uint { PF_FLOATING_POINT_EMULATED = 1 } 2737 -enum : uint { PF_COMPARE_EXCHANGE_DOUBLE = 2 } 2738 -enum : uint { PF_MMX_INSTRUCTIONS_AVAILABLE = 3 } 2739 -enum : uint { PF_PPC_MOVEMEM_64BIT_OK = 4 } 2740 -enum : uint { PF_ALPHA_BYTE_INSTRUCTIONS = 5 } 2741 -enum : uint { PF_XMMI_INSTRUCTIONS_AVAILABLE = 6 } 2742 -enum : uint { PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7 } 2743 -enum : uint { PF_RDTSC_INSTRUCTION_AVAILABLE = 8 } 2744 -enum : uint { PF_PAE_ENABLED = 9 } 2745 -enum : uint { PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10 } 2746 - 2747 -struct _MEMORY_BASIC_INFORMATION { 2748 - PVOID BaseAddress; 2749 - PVOID AllocationBase; 2750 - DWORD AllocationProtect; 2751 - SIZE_T RegionSize; 2752 - DWORD State; 2753 - DWORD Protect; 2754 - DWORD Type; 2755 -} 2756 -alias _MEMORY_BASIC_INFORMATION MEMORY_BASIC_INFORMATION; 2757 -alias _MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; 2758 - 2759 -struct _MEMORY_BASIC_INFORMATION32 { 2760 - DWORD BaseAddress; 2761 - DWORD AllocationBase; 2762 - DWORD AllocationProtect; 2763 - DWORD RegionSize; 2764 - DWORD State; 2765 - DWORD Protect; 2766 - DWORD Type; 2767 -} 2768 -alias _MEMORY_BASIC_INFORMATION32 MEMORY_BASIC_INFORMATION32; 2769 -alias _MEMORY_BASIC_INFORMATION32* PMEMORY_BASIC_INFORMATION32; 2770 - 2771 -struct _MEMORY_BASIC_INFORMATION64 { 2772 - ULONGLONG BaseAddress; 2773 - ULONGLONG AllocationBase; 2774 - DWORD AllocationProtect; 2775 - DWORD __alignment1; 2776 - ULONGLONG RegionSize; 2777 - DWORD State; 2778 - DWORD Protect; 2779 - DWORD Type; 2780 - DWORD __alignment2; 2781 -} 2782 -alias _MEMORY_BASIC_INFORMATION64 MEMORY_BASIC_INFORMATION64; 2783 -alias _MEMORY_BASIC_INFORMATION64* PMEMORY_BASIC_INFORMATION64; 2784 - 2785 -enum : uint { SECTION_QUERY = 0x0001 } 2786 -enum : uint { SECTION_MAP_WRITE = 0x0002 } 2787 -enum : uint { SECTION_MAP_READ = 0x0004 } 2788 -enum : uint { SECTION_MAP_EXECUTE = 0x0008 } 2789 -enum : uint { SECTION_EXTEND_SIZE = 0x0010 } 2790 - 2791 -enum : uint { SECTION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE } 2792 -enum : uint { PAGE_NOACCESS = 0x01 } 2793 -enum : uint { PAGE_READONLY = 0x02 } 2794 -enum : uint { PAGE_READWRITE = 0x04 } 2795 -enum : uint { PAGE_WRITECOPY = 0x08 } 2796 -enum : uint { PAGE_EXECUTE = 0x10 } 2797 -enum : uint { PAGE_EXECUTE_READ = 0x20 } 2798 -enum : uint { PAGE_EXECUTE_READWRITE = 0x40 } 2799 -enum : uint { PAGE_EXECUTE_WRITECOPY = 0x80 } 2800 -enum : uint { PAGE_GUARD = 0x100 } 2801 -enum : uint { PAGE_NOCACHE = 0x200 } 2802 -enum : uint { PAGE_WRITECOMBINE = 0x400 } 2803 -enum : uint { MEM_COMMIT = 0x1000 } 2804 -enum : uint { MEM_RESERVE = 0x2000 } 2805 -enum : uint { MEM_DECOMMIT = 0x4000 } 2806 -enum : uint { MEM_RELEASE = 0x8000 } 2807 -enum : uint { MEM_FREE = 0x10000 } 2808 -enum : uint { MEM_PRIVATE = 0x20000 } 2809 -enum : uint { MEM_MAPPED = 0x40000 } 2810 -enum : uint { MEM_RESET = 0x80000 } 2811 -enum : uint { MEM_TOP_DOWN = 0x100000 } 2812 -enum : uint { MEM_WRITE_WATCH = 0x200000 } 2813 -enum : uint { MEM_PHYSICAL = 0x400000 } 2814 -enum : uint { MEM_4MB_PAGES = 0x80000000 } 2815 -enum : uint { SEC_FILE = 0x800000 } 2816 -enum : uint { SEC_IMAGE = 0x1000000 } 2817 -enum : uint { SEC_RESERVE = 0x4000000 } 2818 -enum : uint { SEC_COMMIT = 0x8000000 } 2819 -enum : uint { SEC_NOCACHE = 0x10000000 } 2820 -alias SEC_IMAGE MEM_IMAGE; 2821 -enum : uint { WRITE_WATCH_FLAG_RESET = 0x01 } 2822 - 2823 -enum : uint { FILE_READ_DATA = 0x0001 } 2824 -enum : uint { FILE_LIST_DIRECTORY = 0x0001 } 2825 - 2826 -enum : uint { FILE_WRITE_DATA = 0x0002 } 2827 -enum : uint { FILE_ADD_FILE = 0x0002 } 2828 - 2829 -enum : uint { FILE_APPEND_DATA = 0x0004 } 2830 -enum : uint { FILE_ADD_SUBDIRECTORY = 0x0004 } 2831 -enum : uint { FILE_CREATE_PIPE_INSTANCE = 0x0004 } 2832 - 2833 -enum : uint { FILE_READ_EA = 0x0008 } 2834 - 2835 -enum : uint { FILE_WRITE_EA = 0x0010 } 2836 - 2837 -enum : uint { FILE_EXECUTE = 0x0020 } 2838 -enum : uint { FILE_TRAVERSE = 0x0020 } 2839 - 2840 -enum : uint { FILE_DELETE_CHILD = 0x0040 } 2841 - 2842 -enum : uint { FILE_READ_ATTRIBUTES = 0x0080 } 2843 - 2844 -enum : uint { FILE_WRITE_ATTRIBUTES = 0x0100 } 2845 - 2846 -enum : uint { FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF } 2847 - 2848 -enum : uint { FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE } 2849 - 2850 -enum : uint { FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE } 2851 - 2852 -enum : uint { FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE } 2853 - 2854 -enum : uint { FILE_SHARE_READ = 0x00000001 } 2855 -enum : uint { FILE_SHARE_WRITE = 0x00000002 } 2856 -enum : uint { FILE_SHARE_DELETE = 0x00000004 } 2857 -enum : uint { FILE_ATTRIBUTE_READONLY = 0x00000001 } 2858 -enum : uint { FILE_ATTRIBUTE_HIDDEN = 0x00000002 } 2859 -enum : uint { FILE_ATTRIBUTE_SYSTEM = 0x00000004 } 2860 -enum : uint { FILE_ATTRIBUTE_DIRECTORY = 0x00000010 } 2861 -enum : uint { FILE_ATTRIBUTE_ARCHIVE = 0x00000020 } 2862 -enum : uint { FILE_ATTRIBUTE_DEVICE = 0x00000040 } 2863 -enum : uint { FILE_ATTRIBUTE_NORMAL = 0x00000080 } 2864 -enum : uint { FILE_ATTRIBUTE_TEMPORARY = 0x00000100 } 2865 -enum : uint { FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 } 2866 -enum : uint { FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 } 2867 -enum : uint { FILE_ATTRIBUTE_COMPRESSED = 0x00000800 } 2868 -enum : uint { FILE_ATTRIBUTE_OFFLINE = 0x00001000 } 2869 -enum : uint { FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 } 2870 -enum : uint { FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 } 2871 -enum : uint { FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001 } 2872 -enum : uint { FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002 } 2873 -enum : uint { FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004 } 2874 -enum : uint { FILE_NOTIFY_CHANGE_SIZE = 0x00000008 } 2875 -enum : uint { FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010 } 2876 -enum : uint { FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020 } 2877 -enum : uint { FILE_NOTIFY_CHANGE_CREATION = 0x00000040 } 2878 -enum : uint { FILE_NOTIFY_CHANGE_SECURITY = 0x00000100 } 2879 -enum : uint { FILE_ACTION_ADDED = 0x00000001 } 2880 -enum : uint { FILE_ACTION_REMOVED = 0x00000002 } 2881 -enum : uint { FILE_ACTION_MODIFIED = 0x00000003 } 2882 -enum : uint { FILE_ACTION_RENAMED_OLD_NAME = 0x00000004 } 2883 -enum : uint { FILE_ACTION_RENAMED_NEW_NAME = 0x00000005 } 2884 -enum : DWORD { MAILSLOT_NO_MESSAGE = cast(DWORD)-1 } 2885 -enum : DWORD { MAILSLOT_WAIT_FOREVER = cast(DWORD)-1 } 2886 -enum : uint { FILE_CASE_SENSITIVE_SEARCH = 0x00000001 } 2887 -enum : uint { FILE_CASE_PRESERVED_NAMES = 0x00000002 } 2888 -enum : uint { FILE_UNICODE_ON_DISK = 0x00000004 } 2889 -enum : uint { FILE_PERSISTENT_ACLS = 0x00000008 } 2890 -enum : uint { FILE_FILE_COMPRESSION = 0x00000010 } 2891 -enum : uint { FILE_VOLUME_QUOTAS = 0x00000020 } 2892 -enum : uint { FILE_SUPPORTS_SPARSE_FILES = 0x00000040 } 2893 -enum : uint { FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 } 2894 -enum : uint { FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100 } 2895 -enum : uint { FILE_VOLUME_IS_COMPRESSED = 0x00008000 } 2896 -enum : uint { FILE_SUPPORTS_OBJECT_IDS = 0x00010000 } 2897 -enum : uint { FILE_SUPPORTS_ENCRYPTION = 0x00020000 } 2898 -enum : uint { FILE_NAMED_STREAMS = 0x00040000 } 2899 -enum : uint { FILE_READ_ONLY_VOLUME = 0x00080000 } 2900 - 2901 -struct _FILE_NOTIFY_INFORMATION { 2902 - DWORD NextEntryOffset; 2903 - DWORD Action; 2904 - DWORD FileNameLength; 2905 - WCHAR FileName[1]; 2906 -} 2907 -alias _FILE_NOTIFY_INFORMATION FILE_NOTIFY_INFORMATION; 2908 -alias _FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION; 2909 - 2910 -union _FILE_SEGMENT_ELEMENT { 2911 - PVOID64 Buffer; 2912 - ULONGLONG Alignment; 2913 -} 2914 -alias _FILE_SEGMENT_ELEMENT FILE_SEGMENT_ELEMENT; 2915 -alias _FILE_SEGMENT_ELEMENT* PFILE_SEGMENT_ELEMENT; 2916 - 2917 -struct _REPARSE_GUID_DATA_BUFFER { 2918 - DWORD ReparseTag; 2919 - WORD ReparseDataLength; 2920 - WORD Reserved; 2921 - GUID ReparseGuid; 2922 -struct { 2923 - BYTE DataBuffer[1]; 2924 -} 2925 - 2926 -} 2927 -alias _REPARSE_GUID_DATA_BUFFER REPARSE_GUID_DATA_BUFFER; 2928 -alias _REPARSE_GUID_DATA_BUFFER* PREPARSE_GUID_DATA_BUFFER; 2929 - 2930 -// #define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer) 2931 - 2932 -enum : uint { MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 } 2933 - 2934 -enum : uint { IO_REPARSE_TAG_RESERVED_ZERO = 0 } 2935 -enum : uint { IO_REPARSE_TAG_RESERVED_ONE = 1 } 2936 - 2937 -alias IO_REPARSE_TAG_RESERVED_ONE IO_REPARSE_TAG_RESERVED_RANGE; 2938 - 2939 -// #define IsReparseTagMicrosoft(_tag) ( ((_tag) & 0x80000000) ) 2940 - 2941 -// #define IsReparseTagNameSurrogate(_tag) ( ((_tag) & 0x20000000) ) 2942 - 2943 -enum : uint { IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 } 2944 -enum : uint { IO_REPARSE_TAG_HSM = 0xC0000004 } 2945 -enum : uint { IO_REPARSE_TAG_SIS = 0x80000007 } 2946 -enum : uint { IO_REPARSE_TAG_FILTER_MANAGER = 0x8000000B } 2947 -enum : uint { IO_COMPLETION_MODIFY_STATE = 0x0002 } 2948 -enum : uint { IO_COMPLETION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } 2949 -enum : uint { DUPLICATE_CLOSE_SOURCE = 0x00000001 } 2950 -enum : uint { DUPLICATE_SAME_ACCESS = 0x00000002 } 2951 - 2952 -alias int _SYSTEM_POWER_STATE; 2953 -enum { 2954 - PowerSystemUnspecified = 0, 2955 - PowerSystemWorking = 1, 2956 - PowerSystemSleeping1 = 2, 2957 - PowerSystemSleeping2 = 3, 2958 - PowerSystemSleeping3 = 4, 2959 - PowerSystemHibernate = 5, 2960 - PowerSystemShutdown = 6, 2961 - PowerSystemMaximum = 7, 2962 -} 2963 -alias _SYSTEM_POWER_STATE SYSTEM_POWER_STATE; 2964 -alias _SYSTEM_POWER_STATE* PSYSTEM_POWER_STATE; 2965 - 2966 -enum : uint { POWER_SYSTEM_MAXIMUM = 7 } 2967 - 2968 -enum _4 { 2969 - PowerActionNone = 0, 2970 - PowerActionReserved, 2971 - PowerActionSleep, 2972 - PowerActionHibernate, 2973 - PowerActionShutdown, 2974 - PowerActionShutdownReset, 2975 - PowerActionShutdownOff, 2976 - PowerActionWarmEject, 2977 -} 2978 -alias _4 POWER_ACTION; 2979 -alias _4* PPOWER_ACTION; 2980 - 2981 -alias int _DEVICE_POWER_STATE; 2982 -enum { 2983 - PowerDeviceUnspecified = 0, 2984 - PowerDeviceD0, 2985 - PowerDeviceD1, 2986 - PowerDeviceD2, 2987 - PowerDeviceD3, 2988 - PowerDeviceMaximum, 2989 -} 2990 -alias _DEVICE_POWER_STATE DEVICE_POWER_STATE; 2991 -alias _DEVICE_POWER_STATE* PDEVICE_POWER_STATE; 2992 - 2993 -enum : DWORD { ES_SYSTEM_REQUIRED = 0x00000001 } 2994 -enum : DWORD { ES_DISPLAY_REQUIRED = 0x00000002 } 2995 -enum : DWORD { ES_USER_PRESENT = 0x00000004 } 2996 -enum : DWORD { ES_CONTINUOUS = 0x80000000 } 2997 - 2998 -alias DWORD EXECUTION_STATE; 2999 - 3000 -enum _5 { 3001 - LT_DONT_CARE, 3002 - LT_LOWEST_LATENCY, 3003 -} 3004 -alias _5 LATENCY_TIME; 3005 - 3006 -enum : uint { PDCAP_D0_SUPPORTED = 0x00000001 } 3007 -enum : uint { PDCAP_D1_SUPPORTED = 0x00000002 } 3008 -enum : uint { PDCAP_D2_SUPPORTED = 0x00000004 } 3009 -enum : uint { PDCAP_D3_SUPPORTED = 0x00000008 } 3010 -enum : uint { PDCAP_WAKE_FROM_D0_SUPPORTED = 0x00000010 } 3011 -enum : uint { PDCAP_WAKE_FROM_D1_SUPPORTED = 0x00000020 } 3012 -enum : uint { PDCAP_WAKE_FROM_D2_SUPPORTED = 0x00000040 } 3013 -enum : uint { PDCAP_WAKE_FROM_D3_SUPPORTED = 0x00000080 } 3014 -enum : uint { PDCAP_WARM_EJECT_SUPPORTED = 0x00000100 } 3015 - 3016 -struct CM_Power_Data_s { 3017 - DWORD PD_Size; 3018 - DEVICE_POWER_STATE PD_MostRecentPowerState; 3019 - DWORD PD_Capabilities; 3020 - DWORD PD_D1Latency; 3021 - DWORD PD_D2Latency; 3022 - DWORD PD_D3Latency; 3023 - DEVICE_POWER_STATE PD_PowerStateMapping[POWER_SYSTEM_MAXIMUM]; 3024 - SYSTEM_POWER_STATE PD_DeepestSystemWake; 3025 -} 3026 -alias CM_Power_Data_s CM_POWER_DATA; 3027 -alias CM_Power_Data_s* PCM_POWER_DATA; 3028 - 3029 -enum _6 { 3030 - SystemPowerPolicyAc, 3031 - SystemPowerPolicyDc, 3032 - VerifySystemPolicyAc, 3033 - VerifySystemPolicyDc, 3034 - SystemPowerCapabilities, 3035 - SystemBatteryState, 3036 - SystemPowerStateHandler, 3037 - ProcessorStateHandler, 3038 - SystemPowerPolicyCurrent, 3039 - AdministratorPowerPolicy, 3040 - SystemReserveHiberFile, 3041 - ProcessorInformation, 3042 - SystemPowerInformation, 3043 - ProcessorStateHandler2, 3044 - LastWakeTime, 3045 - LastSleepTime, 3046 - SystemExecutionState, 3047 - SystemPowerStateNotifyHandler, 3048 - ProcessorPowerPolicyAc, 3049 - ProcessorPowerPolicyDc, 3050 - VerifyProcessorPowerPolicyAc, 3051 - VerifyProcessorPowerPolicyDc, 3052 - ProcessorPowerPolicyCurrent, 3053 -} 3054 -alias _6 POWER_INFORMATION_LEVEL; 3055 - 3056 -struct _7 { 3057 - DWORD Granularity; 3058 - DWORD Capacity; 3059 -} 3060 -alias _7 BATTERY_REPORTING_SCALE; 3061 -alias _7* PBATTERY_REPORTING_SCALE; 3062 - 3063 -struct _8 { 3064 - POWER_ACTION Action; 3065 - DWORD Flags; 3066 - DWORD EventCode; 3067 -} 3068 -alias _8 POWER_ACTION_POLICY; 3069 -alias _8* PPOWER_ACTION_POLICY; 3070 - 3071 -enum : uint { POWER_ACTION_QUERY_ALLOWED = 0x00000001 } 3072 -enum : uint { POWER_ACTION_UI_ALLOWED = 0x00000002 } 3073 -enum : uint { POWER_ACTION_OVERRIDE_APPS = 0x00000004 } 3074 -enum : uint { POWER_ACTION_LIGHTEST_FIRST = 0x10000000 } 3075 -enum : uint { POWER_ACTION_LOCK_CONSOLE = 0x20000000 } 3076 -enum : uint { POWER_ACTION_DISABLE_WAKES = 0x40000000 } 3077 -enum : uint { POWER_ACTION_CRITICAL = 0x80000000 } 3078 - 3079 -enum : uint { POWER_LEVEL_USER_NOTIFY_TEXT = 0x00000001 } 3080 -enum : uint { POWER_LEVEL_USER_NOTIFY_SOUND = 0x00000002 } 3081 -enum : uint { POWER_LEVEL_USER_NOTIFY_EXEC = 0x00000004 } 3082 -enum : uint { POWER_USER_NOTIFY_BUTTON = 0x00000008 } 3083 -enum : uint { POWER_USER_NOTIFY_SHUTDOWN = 0x00000010 } 3084 -enum : uint { POWER_FORCE_TRIGGER_RESET = 0x80000000 } 3085 - 3086 -struct _9 { 3087 - BOOLEAN Enable; 3088 - BYTE Spare[3]; 3089 - DWORD BatteryLevel; 3090 - POWER_ACTION_POLICY PowerPolicy; 3091 - SYSTEM_POWER_STATE MinSystemState; 3092 -} 3093 -alias _9 SYSTEM_POWER_LEVEL; 3094 -alias _9* PSYSTEM_POWER_LEVEL; 3095 - 3096 -enum : uint { NUM_DISCHARGE_POLICIES = 4 } 3097 -enum : uint { DISCHARGE_POLICY_CRITICAL = 0 } 3098 -enum : uint { DISCHARGE_POLICY_LOW = 1 } 3099 - 3100 -enum : uint { PO_THROTTLE_NONE = 0 } 3101 -enum : uint { PO_THROTTLE_CONSTANT = 1 } 3102 -enum : uint { PO_THROTTLE_DEGRADE = 2 } 3103 -enum : uint { PO_THROTTLE_ADAPTIVE = 3 } 3104 -enum : uint { PO_THROTTLE_MAXIMUM = 4 } 3105 - 3106 -struct _SYSTEM_POWER_POLICY { 3107 - DWORD Revision; 3108 - 3109 - POWER_ACTION_POLICY PowerButton; 3110 - POWER_ACTION_POLICY SleepButton; 3111 - POWER_ACTION_POLICY LidClose; 3112 - SYSTEM_POWER_STATE LidOpenWake; 3113 - DWORD Reserved; 3114 - POWER_ACTION_POLICY Idle; 3115 - DWORD IdleTimeout; 3116 - BYTE IdleSensitivity; 3117 - 3118 - BYTE DynamicThrottle; 3119 - BYTE Spare2[2]; 3120 - SYSTEM_POWER_STATE MinSleep; 3121 - SYSTEM_POWER_STATE MaxSleep; 3122 - SYSTEM_POWER_STATE ReducedLatencySleep; 3123 - DWORD WinLogonFlags; 3124 - DWORD Spare3; 3125 - DWORD DozeS4Timeout; 3126 - DWORD BroadcastCapacityResolution; 3127 - SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES]; 3128 - DWORD VideoTimeout; 3129 - BOOLEAN VideoDimDisplay; 3130 - DWORD VideoReserved[3]; 3131 - DWORD SpindownTimeout; 3132 - BOOLEAN OptimizeForPower; 3133 - BYTE FanThrottleTolerance; 3134 - BYTE ForcedThrottle; 3135 - BYTE MinThrottle; 3136 - POWER_ACTION_POLICY OverThrottled; 3137 -} 3138 -alias _SYSTEM_POWER_POLICY SYSTEM_POWER_POLICY; 3139 -alias _SYSTEM_POWER_POLICY* PSYSTEM_POWER_POLICY; 3140 - 3141 -struct _PROCESSOR_POWER_POLICY_INFO { 3142 - 3143 - DWORD TimeCheck; 3144 - DWORD DemoteLimit; 3145 - DWORD PromoteLimit; 3146 - 3147 - BYTE DemotePercent; 3148 - BYTE PromotePercent; 3149 - BYTE Spare[2]; 3150 -// DWORD AllowDemotion:1; 3151 -// DWORD AllowPromotion:1; 3152 -// DWORD Reserved:30; 3153 - 3154 -} 3155 -alias _PROCESSOR_POWER_POLICY_INFO PROCESSOR_POWER_POLICY_INFO; 3156 -alias _PROCESSOR_POWER_POLICY_INFO* PPROCESSOR_POWER_POLICY_INFO; 3157 - 3158 -struct _PROCESSOR_POWER_POLICY { 3159 - DWORD Revision; 3160 - 3161 - BYTE DynamicThrottle; 3162 - BYTE Spare[3]; 3163 - DWORD Reserved; 3164 - 3165 - DWORD PolicyCount; 3166 - PROCESSOR_POWER_POLICY_INFO Policy[3]; 3167 -} 3168 -alias _PROCESSOR_POWER_POLICY PROCESSOR_POWER_POLICY; 3169 -alias _PROCESSOR_POWER_POLICY* PPROCESSOR_POWER_POLICY; 3170 - 3171 -struct _ADMINISTRATOR_POWER_POLICY { 3172 - 3173 - SYSTEM_POWER_STATE MinSleep; 3174 - SYSTEM_POWER_STATE MaxSleep; 3175 - DWORD MinVideoTimeout; 3176 - DWORD MaxVideoTimeout; 3177 - DWORD MinSpindownTimeout; 3178 - DWORD MaxSpindownTimeout; 3179 -} 3180 -alias _ADMINISTRATOR_POWER_POLICY ADMINISTRATOR_POWER_POLICY; 3181 -alias _ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; 3182 - 3183 -struct _10 { 3184 - 3185 - BOOLEAN PowerButtonPresent; 3186 - BOOLEAN SleepButtonPresent; 3187 - BOOLEAN LidPresent; 3188 - BOOLEAN SystemS1; 3189 - BOOLEAN SystemS2; 3190 - BOOLEAN SystemS3; 3191 - BOOLEAN SystemS4; 3192 - BOOLEAN SystemS5; 3193 - BOOLEAN HiberFilePresent; 3194 - BOOLEAN FullWake; 3195 - BOOLEAN VideoDimPresent; 3196 - BOOLEAN ApmPresent; 3197 - BOOLEAN UpsPresent; 3198 - BOOLEAN ThermalControl; 3199 - BOOLEAN ProcessorThrottle; 3200 - BYTE ProcessorMinThrottle; 3201 - BYTE ProcessorMaxThrottle; 3202 - BYTE spare2[4]; 3203 - BOOLEAN DiskSpinDown; 3204 - BYTE spare3[8]; 3205 - BOOLEAN SystemBatteriesPresent; 3206 - BOOLEAN BatteriesAreShortTerm; 3207 - BATTERY_REPORTING_SCALE BatteryScale[3]; 3208 - SYSTEM_POWER_STATE AcOnLineWake; 3209 - SYSTEM_POWER_STATE SoftLidWake; 3210 - SYSTEM_POWER_STATE RtcWake; 3211 - SYSTEM_POWER_STATE MinDeviceWakeState; 3212 - SYSTEM_POWER_STATE DefaultLowLatencyWake; 3213 -} 3214 -alias _10 SYSTEM_POWER_CAPABILITIES; 3215 -alias _10* PSYSTEM_POWER_CAPABILITIES; 3216 - 3217 -struct _11 { 3218 - BOOLEAN AcOnLine; 3219 - BOOLEAN BatteryPresent; 3220 - BOOLEAN Charging; 3221 - BOOLEAN Discharging; 3222 - BOOLEAN Spare1[4]; 3223 - DWORD MaxCapacity; 3224 - DWORD RemainingCapacity; 3225 - DWORD Rate; 3226 - DWORD EstimatedTime; 3227 - DWORD DefaultAlert1; 3228 - DWORD DefaultAlert2; 3229 -} 3230 -alias _11 SYSTEM_BATTERY_STATE; 3231 -alias _11* PSYSTEM_BATTERY_STATE; 3232 - 3233 -// #ifndef _MAC 3234 - 3235 -align(4): 3236 - 3237 -enum : uint { IMAGE_DOS_SIGNATURE = 0x5A4D } 3238 -enum : uint { IMAGE_OS2_SIGNATURE = 0x454E } 3239 -enum : uint { IMAGE_OS2_SIGNATURE_LE = 0x454C } 3240 -enum : uint { IMAGE_VXD_SIGNATURE = 0x454C } 3241 -enum : uint { IMAGE_NT_SIGNATURE = 0x00004550 } 3242 - 3243 -align(2): 3244 - 3245 -// #else 3246 - 3247 -// #... 3248 - 3249 -// #... 3250 -// #... 3251 -// #... 3252 -// #... 3253 -// #endif 3254 - 3255 -struct _IMAGE_DOS_HEADER { 3256 - WORD e_magic; 3257 - WORD e_cblp; 3258 - WORD e_cp; 3259 - WORD e_crlc; 3260 - WORD e_cparhdr; 3261 - WORD e_minalloc; 3262 - WORD e_maxalloc; 3263 - WORD e_ss; 3264 - WORD e_sp; 3265 - WORD e_csum; 3266 - WORD e_ip; 3267 - WORD e_cs; 3268 - WORD e_lfarlc; 3269 - WORD e_ovno; 3270 - WORD e_res[4]; 3271 - WORD e_oemid; 3272 - WORD e_oeminfo; 3273 - WORD e_res2[10]; 3274 - LONG e_lfanew; 3275 -} 3276 -alias _IMAGE_DOS_HEADER IMAGE_DOS_HEADER; 3277 -alias _IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; 3278 - 3279 -struct _IMAGE_OS2_HEADER { 3280 - WORD ne_magic; 3281 - CHAR ne_ver; 3282 - CHAR ne_rev; 3283 - WORD ne_enttab; 3284 - WORD ne_cbenttab; 3285 - LONG ne_crc; 3286 - WORD ne_flags; 3287 - WORD ne_autodata; 3288 - WORD ne_heap; 3289 - WORD ne_stack; 3290 - LONG ne_csip; 3291 - LONG ne_sssp; 3292 - WORD ne_cseg; 3293 - WORD ne_cmod; 3294 - WORD ne_cbnrestab; 3295 - WORD ne_segtab; 3296 - WORD ne_rsrctab; 3297 - WORD ne_restab; 3298 - WORD ne_modtab; 3299 - WORD ne_imptab; 3300 - LONG ne_nrestab; 3301 - WORD ne_cmovent; 3302 - WORD ne_align; 3303 - WORD ne_cres; 3304 - BYTE ne_exetyp; 3305 - BYTE ne_flagsothers; 3306 - WORD ne_pretthunks; 3307 - WORD ne_psegrefbytes; 3308 - WORD ne_swaparea; 3309 - WORD ne_expver; 3310 -} 3311 -alias _IMAGE_OS2_HEADER IMAGE_OS2_HEADER; 3312 -alias _IMAGE_OS2_HEADER* PIMAGE_OS2_HEADER; 3313 - 3314 -struct _IMAGE_VXD_HEADER { 3315 - WORD e32_magic; 3316 - BYTE e32_border; 3317 - BYTE e32_worder; 3318 - DWORD e32_level; 3319 - WORD e32_cpu; 3320 - WORD e32_os; 3321 - DWORD e32_ver; 3322 - DWORD e32_mflags; 3323 - DWORD e32_mpages; 3324 - DWORD e32_startobj; 3325 - DWORD e32_eip; 3326 - DWORD e32_stackobj; 3327 - DWORD e32_esp; 3328 - DWORD e32_pagesize; 3329 - DWORD e32_lastpagesize; 3330 - DWORD e32_fixupsize; 3331 - DWORD e32_fixupsum; 3332 - DWORD e32_ldrsize; 3333 - DWORD e32_ldrsum; 3334 - DWORD e32_objtab; 3335 - DWORD e32_objcnt; 3336 - DWORD e32_objmap; 3337 - DWORD e32_itermap; 3338 - DWORD e32_rsrctab; 3339 - DWORD e32_rsrccnt; 3340 - DWORD e32_restab; 3341 - DWORD e32_enttab; 3342 - DWORD e32_dirtab; 3343 - DWORD e32_dircnt; 3344 - DWORD e32_fpagetab; 3345 - DWORD e32_frectab; 3346 - DWORD e32_impmod; 3347 - DWORD e32_impmodcnt; 3348 - DWORD e32_impproc; 3349 - DWORD e32_pagesum; 3350 - DWORD e32_datapage; 3351 - DWORD e32_preload; 3352 - DWORD e32_nrestab; 3353 - DWORD e32_cbnrestab; 3354 - DWORD e32_nressum; 3355 - DWORD e32_autodata; 3356 - DWORD e32_debuginfo; 3357 - DWORD e32_debuglen; 3358 - DWORD e32_instpreload; 3359 - DWORD e32_instdemand; 3360 - DWORD e32_heapsize; 3361 - BYTE e32_res3[12]; 3362 - DWORD e32_winresoff; 3363 - DWORD e32_winreslen; 3364 - WORD e32_devid; 3365 - WORD e32_ddkver; 3366 -} 3367 -alias _IMAGE_VXD_HEADER IMAGE_VXD_HEADER; 3368 -alias _IMAGE_VXD_HEADER* PIMAGE_VXD_HEADER; 3369 - 3370 -// #ifndef _MAC 3371 -align: 3372 -// #endif 3373 - 3374 -struct _IMAGE_FILE_HEADER { 3375 - WORD Machine; 3376 - WORD NumberOfSections; 3377 - DWORD TimeDateStamp; 3378 - DWORD PointerToSymbolTable; 3379 - DWORD NumberOfSymbols; 3380 - WORD SizeOfOptionalHeader; 3381 - WORD Characteristics; 3382 -} 3383 -alias _IMAGE_FILE_HEADER IMAGE_FILE_HEADER; 3384 -alias _IMAGE_FILE_HEADER* PIMAGE_FILE_HEADER; 3385 - 3386 -enum : uint { IMAGE_SIZEOF_FILE_HEADER = 20 } 3387 - 3388 -enum : uint { IMAGE_FILE_RELOCS_STRIPPED = 0x0001 } 3389 -enum : uint { IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002 } 3390 -enum : uint { IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004 } 3391 -enum : uint { IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008 } 3392 -enum : uint { IMAGE_FILE_AGGRESIVE_WS_TRIM = 0x0010 } 3393 -enum : uint { IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020 } 3394 -enum : uint { IMAGE_FILE_BYTES_REVERSED_LO = 0x0080 } 3395 -enum : uint { IMAGE_FILE_32BIT_MACHINE = 0x0100 } 3396 -enum : uint { IMAGE_FILE_DEBUG_STRIPPED = 0x0200 } 3397 -enum : uint { IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400 } 3398 -enum : uint { IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800 } 3399 -enum : uint { IMAGE_FILE_SYSTEM = 0x1000 } 3400 -enum : uint { IMAGE_FILE_DLL = 0x2000 } 3401 -enum : uint { IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000 } 3402 -enum : uint { IMAGE_FILE_BYTES_REVERSED_HI = 0x8000 } 3403 - 3404 -enum : uint { IMAGE_FILE_MACHINE_UNKNOWN = 0 } 3405 -enum : uint { IMAGE_FILE_MACHINE_I386 = 0x014c } 3406 -enum : uint { IMAGE_FILE_MACHINE_R3000 = 0x0162 } 3407 -enum : uint { IMAGE_FILE_MACHINE_R4000 = 0x0166 } 3408 -enum : uint { IMAGE_FILE_MACHINE_R10000 = 0x0168 } 3409 -enum : uint { IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169 } 3410 -enum : uint { IMAGE_FILE_MACHINE_ALPHA = 0x0184 } 3411 -enum : uint { IMAGE_FILE_MACHINE_SH3 = 0x01a2 } 3412 -enum : uint { IMAGE_FILE_MACHINE_SH3DSP = 0x01a3 } 3413 -enum : uint { IMAGE_FILE_MACHINE_SH3E = 0x01a4 } 3414 -enum : uint { IMAGE_FILE_MACHINE_SH4 = 0x01a6 } 3415 -enum : uint { IMAGE_FILE_MACHINE_SH5 = 0x01a8 } 3416 -enum : uint { IMAGE_FILE_MACHINE_ARM = 0x01c0 } 3417 -enum : uint { IMAGE_FILE_MACHINE_THUMB = 0x01c2 } 3418 -enum : uint { IMAGE_FILE_MACHINE_AM33 = 0x01d3 } 3419 -enum : uint { IMAGE_FILE_MACHINE_POWERPC = 0x01F0 } 3420 -enum : uint { IMAGE_FILE_MACHINE_POWERPCFP = 0x01f1 } 3421 -enum : uint { IMAGE_FILE_MACHINE_IA64 = 0x0200 } 3422 -enum : uint { IMAGE_FILE_MACHINE_MIPS16 = 0x0266 } 3423 -enum : uint { IMAGE_FILE_MACHINE_ALPHA64 = 0x0284 } 3424 -enum : uint { IMAGE_FILE_MACHINE_MIPSFPU = 0x0366 } 3425 -enum : uint { IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466 } 3426 -alias IMAGE_FILE_MACHINE_ALPHA64 IMAGE_FILE_MACHINE_AXP64; 3427 -enum : uint { IMAGE_FILE_MACHINE_TRICORE = 0x0520 } 3428 -enum : uint { IMAGE_FILE_MACHINE_CEF = 0x0CEF } 3429 -enum : uint { IMAGE_FILE_MACHINE_EBC = 0x0EBC } 3430 -enum : uint { IMAGE_FILE_MACHINE_AMD64 = 0x8664 } 3431 -enum : uint { IMAGE_FILE_MACHINE_M32R = 0x9041 } 3432 -enum : uint { IMAGE_FILE_MACHINE_CEE = 0xC0EE } 3433 - 3434 -struct _IMAGE_DATA_DIRECTORY { 3435 - DWORD VirtualAddress; 3436 - DWORD Size; 3437 -} 3438 -alias _IMAGE_DATA_DIRECTORY IMAGE_DATA_DIRECTORY; 3439 -alias _IMAGE_DATA_DIRECTORY* PIMAGE_DATA_DIRECTORY; 3440 - 3441 -enum : uint { IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16 } 3442 - 3443 -struct _IMAGE_OPTIONAL_HEADER { 3444 - 3445 - WORD Magic; 3446 - BYTE MajorLinkerVersion; 3447 - BYTE MinorLinkerVersion; 3448 - DWORD SizeOfCode; 3449 - DWORD SizeOfInitializedData; 3450 - DWORD SizeOfUninitializedData; 3451 - DWORD AddressOfEntryPoint; 3452 - DWORD BaseOfCode; 3453 - DWORD BaseOfData; 3454 - 3455 - DWORD ImageBase; 3456 - DWORD SectionAlignment; 3457 - DWORD FileAlignment; 3458 - WORD MajorOperatingSystemVersion; 3459 - WORD MinorOperatingSystemVersion; 3460 - WORD MajorImageVersion; 3461 - WORD MinorImageVersion; 3462 - WORD MajorSubsystemVersion; 3463 - WORD MinorSubsystemVersion; 3464 - DWORD Win32VersionValue; 3465 - DWORD SizeOfImage; 3466 - DWORD SizeOfHeaders; 3467 - DWORD CheckSum; 3468 - WORD Subsystem; 3469 - WORD DllCharacteristics; 3470 - DWORD SizeOfStackReserve; 3471 - DWORD SizeOfStackCommit; 3472 - DWORD SizeOfHeapReserve; 3473 - DWORD SizeOfHeapCommit; 3474 - DWORD LoaderFlags; 3475 - DWORD NumberOfRvaAndSizes; 3476 - IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; 3477 -} 3478 -alias _IMAGE_OPTIONAL_HEADER IMAGE_OPTIONAL_HEADER32; 3479 -alias _IMAGE_OPTIONAL_HEADER* PIMAGE_OPTIONAL_HEADER32; 3480 - 3481 -struct _IMAGE_ROM_OPTIONAL_HEADER { 3482 - WORD Magic; 3483 - BYTE MajorLinkerVersion; 3484 - BYTE MinorLinkerVersion; 3485 - DWORD SizeOfCode; 3486 - DWORD SizeOfInitializedData; 3487 - DWORD SizeOfUninitializedData; 3488 - DWORD AddressOfEntryPoint; 3489 - DWORD BaseOfCode; 3490 - DWORD BaseOfData; 3491 - DWORD BaseOfBss; 3492 - DWORD GprMask; 3493 - DWORD CprMask[4]; 3494 - DWORD GpValue; 3495 -} 3496 -alias _IMAGE_ROM_OPTIONAL_HEADER IMAGE_ROM_OPTIONAL_HEADER; 3497 -alias _IMAGE_ROM_OPTIONAL_HEADER* PIMAGE_ROM_OPTIONAL_HEADER; 3498 - 3499 -struct _IMAGE_OPTIONAL_HEADER64 { 3500 - WORD Magic; 3501 - BYTE MajorLinkerVersion; 3502 - BYTE MinorLinkerVersion; 3503 - DWORD SizeOfCode; 3504 - DWORD SizeOfInitializedData; 3505 - DWORD SizeOfUninitializedData; 3506 - DWORD AddressOfEntryPoint; 3507 - DWORD BaseOfCode; 3508 - ULONGLONG ImageBase; 3509 - DWORD SectionAlignment; 3510 - DWORD FileAlignment; 3511 - WORD MajorOperatingSystemVersion; 3512 - WORD MinorOperatingSystemVersion; 3513 - WORD MajorImageVersion; 3514 - WORD MinorImageVersion; 3515 - WORD MajorSubsystemVersion; 3516 - WORD MinorSubsystemVersion; 3517 - DWORD Win32VersionValue; 3518 - DWORD SizeOfImage; 3519 - DWORD SizeOfHeaders; 3520 - DWORD CheckSum; 3521 - WORD Subsystem; 3522 - WORD DllCharacteristics; 3523 - ULONGLONG SizeOfStackReserve; 3524 - ULONGLONG SizeOfStackCommit; 3525 - ULONGLONG SizeOfHeapReserve; 3526 - ULONGLONG SizeOfHeapCommit; 3527 - DWORD LoaderFlags; 3528 - DWORD NumberOfRvaAndSizes; 3529 - IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; 3530 -} 3531 -alias _IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER64; 3532 -alias _IMAGE_OPTIONAL_HEADER64* PIMAGE_OPTIONAL_HEADER64; 3533 - 3534 -enum : uint { IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56 } 3535 -enum : uint { IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28 } 3536 -enum : uint { IMAGE_SIZEOF_NT_OPTIONAL32_HEADER = 224 } 3537 -enum : uint { IMAGE_SIZEOF_NT_OPTIONAL64_HEADER = 240 } 3538 - 3539 -enum : uint { IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b } 3540 -enum : uint { IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b } 3541 -enum : uint { IMAGE_ROM_OPTIONAL_HDR_MAGIC = 0x107 } 3542 - 3543 -// #ifdef _WIN64 3544 -// ... 3545 -// #... 3546 -// #... 3547 -// #else 3548 -alias IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; 3549 -alias PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER; 3550 -alias IMAGE_SIZEOF_NT_OPTIONAL32_HEADER IMAGE_SIZEOF_NT_OPTIONAL_HEADER; 3551 -alias IMAGE_NT_OPTIONAL_HDR32_MAGIC IMAGE_NT_OPTIONAL_HDR_MAGIC; 3552 -// #endif 3553 - 3554 -struct _IMAGE_NT_HEADERS64 { 3555 - DWORD Signature; 3556 - IMAGE_FILE_HEADER FileHeader; 3557 - IMAGE_OPTIONAL_HEADER64 OptionalHeader; 3558 -} 3559 -alias _IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS64; 3560 -alias _IMAGE_NT_HEADERS64* PIMAGE_NT_HEADERS64; 3561 - 3562 -struct _IMAGE_NT_HEADERS { 3563 - DWORD Signature; 3564 - IMAGE_FILE_HEADER FileHeader; 3565 - IMAGE_OPTIONAL_HEADER32 OptionalHeader; 3566 -} 3567 -alias _IMAGE_NT_HEADERS IMAGE_NT_HEADERS32; 3568 -alias _IMAGE_NT_HEADERS* PIMAGE_NT_HEADERS32; 3569 - 3570 -struct _IMAGE_ROM_HEADERS { 3571 - IMAGE_FILE_HEADER FileHeader; 3572 - IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; 3573 -} 3574 -alias _IMAGE_ROM_HEADERS IMAGE_ROM_HEADERS; 3575 -alias _IMAGE_ROM_HEADERS* PIMAGE_ROM_HEADERS; 3576 - 3577 -// #ifdef _WIN64 3578 -// ... 3579 -// #else 3580 -alias IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS; 3581 -alias PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS; 3582 -// #endif 3583 - 3584 -// #define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR)ntheader + FIELD_OFFSET( IMAGE_NT_HEADERS, OptionalHeader ) + ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader )) 3585 - 3586 -enum : uint { IMAGE_SUBSYSTEM_UNKNOWN = 0 } 3587 -enum : uint { IMAGE_SUBSYSTEM_NATIVE = 1 } 3588 -enum : uint { IMAGE_SUBSYSTEM_WINDOWS_GUI = 2 } 3589 -enum : uint { IMAGE_SUBSYSTEM_WINDOWS_CUI = 3 } 3590 -enum : uint { IMAGE_SUBSYSTEM_OS2_CUI = 5 } 3591 -enum : uint { IMAGE_SUBSYSTEM_POSIX_CUI = 7 } 3592 -enum : uint { IMAGE_SUBSYSTEM_NATIVE_WINDOWS = 8 } 3593 -enum : uint { IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9 } 3594 -enum : uint { IMAGE_SUBSYSTEM_EFI_APPLICATION = 10 } 3595 -enum : uint { IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11 } 3596 -enum : uint { IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12 } 3597 -enum : uint { IMAGE_SUBSYSTEM_EFI_ROM = 13 } 3598 -enum : uint { IMAGE_SUBSYSTEM_XBOX = 14 } 3599 - 3600 -enum : uint { IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800 } 3601 - 3602 -enum : uint { IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000 } 3603 - 3604 -enum : uint { IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000 } 3605 - 3606 -enum : uint { IMAGE_DIRECTORY_ENTRY_EXPORT = 0 } 3607 -enum : uint { IMAGE_DIRECTORY_ENTRY_IMPORT = 1 } 3608 -enum : uint { IMAGE_DIRECTORY_ENTRY_RESOURCE = 2 } 3609 -enum : uint { IMAGE_DIRECTORY_ENTRY_EXCEPTION = 3 } 3610 -enum : uint { IMAGE_DIRECTORY_ENTRY_SECURITY = 4 } 3611 -enum : uint { IMAGE_DIRECTORY_ENTRY_BASERELOC = 5 } 3612 -enum : uint { IMAGE_DIRECTORY_ENTRY_DEBUG = 6 } 3613 - 3614 -enum : uint { IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7 } 3615 -enum : uint { IMAGE_DIRECTORY_ENTRY_GLOBALPTR = 8 } 3616 -enum : uint { IMAGE_DIRECTORY_ENTRY_TLS = 9 } 3617 -enum : uint { IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = 10 } 3618 -enum : uint { IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = 11 } 3619 -enum : uint { IMAGE_DIRECTORY_ENTRY_IAT = 12 } 3620 -enum : uint { IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = 13 } 3621 -enum : uint { IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = 14 } 3622 - 3623 -struct ANON_OBJECT_HEADER { 3624 - WORD Sig1; 3625 - WORD Sig2; 3626 - WORD Version; 3627 - WORD Machine; 3628 - DWORD TimeDateStamp; 3629 - CLSID ClassID; 3630 - DWORD SizeOfData; 3631 -} 3632 - 3633 -enum : uint { IMAGE_SIZEOF_SHORT_NAME = 8 } 3634 - 3635 -struct _IMAGE_SECTION_HEADER { 3636 - BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; 3637 -union { 3638 - DWORD PhysicalAddress; 3639 - DWORD VirtualSize; 3640 -} 3641 - 3642 - DWORD VirtualAddress; 3643 - DWORD SizeOfRawData; 3644 - DWORD PointerToRawData; 3645 - DWORD PointerToRelocations; 3646 - DWORD PointerToLinenumbers; 3647 - WORD NumberOfRelocations; 3648 - WORD NumberOfLinenumbers; 3649 - DWORD Characteristics; 3650 -} 3651 -alias _IMAGE_SECTION_HEADER IMAGE_SECTION_HEADER; 3652 -alias _IMAGE_SECTION_HEADER* PIMAGE_SECTION_HEADER; 3653 - 3654 -enum : uint { IMAGE_SIZEOF_SECTION_HEADER = 40 } 3655 - 3656 -enum : uint { IMAGE_SCN_TYPE_NO_PAD = 0x00000008 } 3657 - 3658 -enum : uint { IMAGE_SCN_CNT_CODE = 0x00000020 } 3659 -enum : uint { IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040 } 3660 -enum : uint { IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080 } 3661 - 3662 -enum : uint { IMAGE_SCN_LNK_OTHER = 0x00000100 } 3663 -enum : uint { IMAGE_SCN_LNK_INFO = 0x00000200 } 3664 - 3665 -enum : uint { IMAGE_SCN_LNK_REMOVE = 0x00000800 } 3666 -enum : uint { IMAGE_SCN_LNK_COMDAT = 0x00001000 } 3667 - 3668 -enum : uint { IMAGE_SCN_NO_DEFER_SPEC_EXC = 0x00004000 } 3669 -enum : uint { IMAGE_SCN_GPREL = 0x00008000 } 3670 -enum : uint { IMAGE_SCN_MEM_FARDATA = 0x00008000 } 3671 - 3672 -enum : uint { IMAGE_SCN_MEM_PURGEABLE = 0x00020000 } 3673 -enum : uint { IMAGE_SCN_MEM_16BIT = 0x00020000 } 3674 -enum : uint { IMAGE_SCN_MEM_LOCKED = 0x00040000 } 3675 -enum : uint { IMAGE_SCN_MEM_PRELOAD = 0x00080000 } 3676 - 3677 -enum : uint { IMAGE_SCN_ALIGN_1BYTES = 0x00100000 } 3678 -enum : uint { IMAGE_SCN_ALIGN_2BYTES = 0x00200000 } 3679 -enum : uint { IMAGE_SCN_ALIGN_4BYTES = 0x00300000 } 3680 -enum : uint { IMAGE_SCN_ALIGN_8BYTES = 0x00400000 } 3681 -enum : uint { IMAGE_SCN_ALIGN_16BYTES = 0x00500000 } 3682 -enum : uint { IMAGE_SCN_ALIGN_32BYTES = 0x00600000 } 3683 -enum : uint { IMAGE_SCN_ALIGN_64BYTES = 0x00700000 } 3684 -enum : uint { IMAGE_SCN_ALIGN_128BYTES = 0x00800000 } 3685 -enum : uint { IMAGE_SCN_ALIGN_256BYTES = 0x00900000 } 3686 -enum : uint { IMAGE_SCN_ALIGN_512BYTES = 0x00A00000 } 3687 -enum : uint { IMAGE_SCN_ALIGN_1024BYTES = 0x00B00000 } 3688 -enum : uint { IMAGE_SCN_ALIGN_2048BYTES = 0x00C00000 } 3689 -enum : uint { IMAGE_SCN_ALIGN_4096BYTES = 0x00D00000 } 3690 -enum : uint { IMAGE_SCN_ALIGN_8192BYTES = 0x00E00000 } 3691 - 3692 -enum : uint { IMAGE_SCN_ALIGN_MASK = 0x00F00000 } 3693 - 3694 -enum : uint { IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000 } 3695 -enum : uint { IMAGE_SCN_MEM_DISCARDABLE = 0x02000000 } 3696 -enum : uint { IMAGE_SCN_MEM_NOT_CACHED = 0x04000000 } 3697 -enum : uint { IMAGE_SCN_MEM_NOT_PAGED = 0x08000000 } 3698 -enum : uint { IMAGE_SCN_MEM_SHARED = 0x10000000 } 3699 -enum : uint { IMAGE_SCN_MEM_EXECUTE = 0x20000000 } 3700 -enum : uint { IMAGE_SCN_MEM_READ = 0x40000000 } 3701 -enum : uint { IMAGE_SCN_MEM_WRITE = 0x80000000 } 3702 - 3703 -enum : uint { IMAGE_SCN_SCALE_INDEX = 0x00000001 } 3704 - 3705 -// #ifndef _MAC 3706 -align(2): 3707 -// #endif 3708 - 3709 -struct _IMAGE_SYMBOL { 3710 -union { 3711 - BYTE ShortName[8]; 3712 -struct { 3713 - DWORD Short; 3714 - DWORD Long; 3715 -} 3716 - 3717 - DWORD LongName[2]; 3718 -} 3719 - 3720 - DWORD Value; 3721 - SHORT SectionNumber; 3722 - WORD Type; 3723 - BYTE StorageClass; 3724 - BYTE NumberOfAuxSymbols; 3725 -} 3726 -alias _IMAGE_SYMBOL IMAGE_SYMBOL; 3727 - 3728 -alias IMAGE_SYMBOL* PIMAGE_SYMBOL; 3729 - 3730 -enum : uint { IMAGE_SIZEOF_SYMBOL = 18 } 3731 - 3732 -enum : SHORT { IMAGE_SYM_UNDEFINED = 0 } 3733 -enum : SHORT { IMAGE_SYM_ABSOLUTE = -1 } 3734 -enum : SHORT { IMAGE_SYM_DEBUG = -2 } 3735 -enum : uint { IMAGE_SYM_SECTION_MAX = 0xFEFF } 3736 - 3737 -enum : uint { IMAGE_SYM_TYPE_NULL = 0x0000 } 3738 -enum : uint { IMAGE_SYM_TYPE_VOID = 0x0001 } 3739 -enum : uint { IMAGE_SYM_TYPE_CHAR = 0x0002 } 3740 -enum : uint { IMAGE_SYM_TYPE_SHORT = 0x0003 } 3741 -enum : uint { IMAGE_SYM_TYPE_INT = 0x0004 } 3742 -enum : uint { IMAGE_SYM_TYPE_LONG = 0x0005 } 3743 -enum : uint { IMAGE_SYM_TYPE_FLOAT = 0x0006 } 3744 -enum : uint { IMAGE_SYM_TYPE_DOUBLE = 0x0007 } 3745 -enum : uint { IMAGE_SYM_TYPE_STRUCT = 0x0008 } 3746 -enum : uint { IMAGE_SYM_TYPE_UNION = 0x0009 } 3747 -enum : uint { IMAGE_SYM_TYPE_ENUM = 0x000A } 3748 -enum : uint { IMAGE_SYM_TYPE_MOE = 0x000B } 3749 -enum : uint { IMAGE_SYM_TYPE_BYTE = 0x000C } 3750 -enum : uint { IMAGE_SYM_TYPE_WORD = 0x000D } 3751 -enum : uint { IMAGE_SYM_TYPE_UINT = 0x000E } 3752 -enum : uint { IMAGE_SYM_TYPE_DWORD = 0x000F } 3753 -enum : uint { IMAGE_SYM_TYPE_PCODE = 0x8000 } 3754 - 3755 -enum : uint { IMAGE_SYM_DTYPE_NULL = 0 } 3756 -enum : uint { IMAGE_SYM_DTYPE_POINTER = 1 } 3757 -enum : uint { IMAGE_SYM_DTYPE_FUNCTION = 2 } 3758 -enum : uint { IMAGE_SYM_DTYPE_ARRAY = 3 } 3759 - 3760 -enum : BYTE { IMAGE_SYM_CLASS_END_OF_FUNCTION = cast(BYTE)-1 } 3761 -enum : uint { IMAGE_SYM_CLASS_NULL = 0x0000 } 3762 -enum : uint { IMAGE_SYM_CLASS_AUTOMATIC = 0x0001 } 3763 -enum : uint { IMAGE_SYM_CLASS_EXTERNAL = 0x0002 } 3764 -enum : uint { IMAGE_SYM_CLASS_STATIC = 0x0003 } 3765 -enum : uint { IMAGE_SYM_CLASS_REGISTER = 0x0004 } 3766 -enum : uint { IMAGE_SYM_CLASS_EXTERNAL_DEF = 0x0005 } 3767 -enum : uint { IMAGE_SYM_CLASS_LABEL = 0x0006 } 3768 -enum : uint { IMAGE_SYM_CLASS_UNDEFINED_LABEL = 0x0007 } 3769 -enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_STRUCT = 0x0008 } 3770 -enum : uint { IMAGE_SYM_CLASS_ARGUMENT = 0x0009 } 3771 -enum : uint { IMAGE_SYM_CLASS_STRUCT_TAG = 0x000A } 3772 -enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_UNION = 0x000B } 3773 -enum : uint { IMAGE_SYM_CLASS_UNION_TAG = 0x000C } 3774 -enum : uint { IMAGE_SYM_CLASS_TYPE_DEFINITION = 0x000D } 3775 -enum : uint { IMAGE_SYM_CLASS_UNDEFINED_STATIC = 0x000E } 3776 -enum : uint { IMAGE_SYM_CLASS_ENUM_TAG = 0x000F } 3777 -enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_ENUM = 0x0010 } 3778 -enum : uint { IMAGE_SYM_CLASS_REGISTER_PARAM = 0x0011 } 3779 -enum : uint { IMAGE_SYM_CLASS_BIT_FIELD = 0x0012 } 3780 - 3781 -enum : uint { IMAGE_SYM_CLASS_FAR_EXTERNAL = 0x0044 } 3782 - 3783 -enum : uint { IMAGE_SYM_CLASS_BLOCK = 0x0064 } 3784 -enum : uint { IMAGE_SYM_CLASS_FUNCTION = 0x0065 } 3785 -enum : uint { IMAGE_SYM_CLASS_END_OF_STRUCT = 0x0066 } 3786 -enum : uint { IMAGE_SYM_CLASS_FILE = 0x0067 } 3787 - 3788 -enum : uint { IMAGE_SYM_CLASS_SECTION = 0x0068 } 3789 -enum : uint { IMAGE_SYM_CLASS_WEAK_EXTERNAL = 0x0069 } 3790 - 3791 -enum : uint { IMAGE_SYM_CLASS_CLR_TOKEN = 0x006B } 3792 - 3793 -enum : uint { N_BTMASK = 0x000F } 3794 -enum : uint { N_TMASK = 0x0030 } 3795 -enum : uint { N_TMASK1 = 0x00C0 } 3796 -enum : uint { N_TMASK2 = 0x00F0 } 3797 -enum : uint { N_BTSHFT = 4 } 3798 -enum : uint { N_TSHIFT = 2 } 3799 - 3800 -BYTE BTYPE(BYTE x){ return x & N_BTMASK; } 3801 - 3802 -// #ifndef ISPTR 3803 -bit ISPTR(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT); } 3804 -// #endif 3805 - 3806 -// #ifndef ISFCN 3807 -bit ISFCN(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT); } 3808 -// #endif 3809 - 3810 -// #ifndef ISARY 3811 -bit ISARY(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT); } 3812 -// #endif 3813 - 3814 -// #ifndef ISTAG 3815 -bit ISTAG(uint x){ return x == IMAGE_SYM_CLASS_STRUCT_TAG || x == IMAGE_SYM_CLASS_UNION_TAG || x == IMAGE_SYM_CLASS_ENUM_TAG; } 3816 -// #endif 3817 - 3818 -// #ifndef INCREF 3819 -uint INCREF(uint x){ return ((x&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|(x&N_BTMASK); } 3820 -// #endif 3821 -// #ifndef DECREF 3822 -uint DECREF(uint x){ return ((x >>> N_TSHIFT) & ~N_BTMASK)|(x & N_BTMASK); } 3823 -// #endif 3824 - 3825 -union _IMAGE_AUX_SYMBOL { 3826 -struct { 3827 - DWORD TagIndex; 3828 -union { 3829 -struct { 3830 - WORD Linenumber; 3831 - WORD Size; 3832 -} 3833 - 3834 - DWORD TotalSize; 3835 -} 3836 - 3837 -union { 3838 -struct { 3839 - DWORD PointerToLinenumber; 3840 - DWORD PointerToNextFunction; 3841 -} 3842 - 3843 -struct { 3844 - WORD Dimension[4]; 3845 -} 3846 - 3847 -} 3848 - 3849 - WORD TvIndex; 3850 -} 3851 - 3852 -struct { 3853 - BYTE Name[IMAGE_SIZEOF_SYMBOL]; 3854 -} 3855 - 3856 -struct { 3857 - DWORD Length; 3858 - WORD NumberOfRelocations; 3859 - WORD NumberOfLinenumbers; 3860 - DWORD CheckSum; 3861 - SHORT Number; 3862 - BYTE Selection; 3863 -} 3864 - 3865 -} 3866 -alias _IMAGE_AUX_SYMBOL IMAGE_AUX_SYMBOL; 3867 - 3868 -alias IMAGE_AUX_SYMBOL* PIMAGE_AUX_SYMBOL; 3869 - 3870 -enum : uint { IMAGE_SIZEOF_AUX_SYMBOL = 18 } 3871 - 3872 -alias int IMAGE_AUX_SYMBOL_TYPE; 3873 -enum { 3874 - IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1, 3875 -} 3876 - 3877 -align(2): 3878 - 3879 -struct IMAGE_AUX_SYMBOL_TOKEN_DEF { 3880 - BYTE bAuxType; 3881 - BYTE bReserved; 3882 - DWORD SymbolTableIndex; 3883 - BYTE rgbReserved[12]; 3884 -} 3885 - 3886 -alias IMAGE_AUX_SYMBOL_TOKEN_DEF* PIMAGE_AUX_SYMBOL_TOKEN_DEF; 3887 - 3888 -align: 3889 - 3890 -enum : uint { IMAGE_COMDAT_SELECT_NODUPLICATES = 1 } 3891 -enum : uint { IMAGE_COMDAT_SELECT_ANY = 2 } 3892 -enum : uint { IMAGE_COMDAT_SELECT_SAME_SIZE = 3 } 3893 -enum : uint { IMAGE_COMDAT_SELECT_EXACT_MATCH = 4 } 3894 -enum : uint { IMAGE_COMDAT_SELECT_ASSOCIATIVE = 5 } 3895 -enum : uint { IMAGE_COMDAT_SELECT_LARGEST = 6 } 3896 -enum : uint { IMAGE_COMDAT_SELECT_NEWEST = 7 } 3897 - 3898 -enum : uint { IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1 } 3899 -enum : uint { IMAGE_WEAK_EXTERN_SEARCH_LIBRARY = 2 } 3900 -enum : uint { IMAGE_WEAK_EXTERN_SEARCH_ALIAS = 3 } 3901 - 3902 -struct _IMAGE_RELOCATION { 3903 -union { 3904 - DWORD VirtualAddress; 3905 - DWORD RelocCount; 3906 -} 3907 - 3908 - DWORD SymbolTableIndex; 3909 - WORD Type; 3910 -} 3911 -alias _IMAGE_RELOCATION IMAGE_RELOCATION; 3912 - 3913 -alias IMAGE_RELOCATION* PIMAGE_RELOCATION; 3914 - 3915 -enum : uint { IMAGE_SIZEOF_RELOCATION = 10 } 3916 - 3917 -enum : uint { IMAGE_REL_I386_ABSOLUTE = 0x0000 } 3918 -enum : uint { IMAGE_REL_I386_DIR16 = 0x0001 } 3919 -enum : uint { IMAGE_REL_I386_REL16 = 0x0002 } 3920 -enum : uint { IMAGE_REL_I386_DIR32 = 0x0006 } 3921 -enum : uint { IMAGE_REL_I386_DIR32NB = 0x0007 } 3922 -enum : uint { IMAGE_REL_I386_SEG12 = 0x0009 } 3923 -enum : uint { IMAGE_REL_I386_SECTION = 0x000A } 3924 -enum : uint { IMAGE_REL_I386_SECREL = 0x000B } 3925 -enum : uint { IMAGE_REL_I386_TOKEN = 0x000C } 3926 -enum : uint { IMAGE_REL_I386_SECREL7 = 0x000D } 3927 -enum : uint { IMAGE_REL_I386_REL32 = 0x0014 } 3928 - 3929 -enum : uint { IMAGE_REL_MIPS_ABSOLUTE = 0x0000 } 3930 -enum : uint { IMAGE_REL_MIPS_REFHALF = 0x0001 } 3931 -enum : uint { IMAGE_REL_MIPS_REFWORD = 0x0002 } 3932 -enum : uint { IMAGE_REL_MIPS_JMPADDR = 0x0003 } 3933 -enum : uint { IMAGE_REL_MIPS_REFHI = 0x0004 } 3934 -enum : uint { IMAGE_REL_MIPS_REFLO = 0x0005 } 3935 -enum : uint { IMAGE_REL_MIPS_GPREL = 0x0006 } 3936 -enum : uint { IMAGE_REL_MIPS_LITERAL = 0x0007 } 3937 -enum : uint { IMAGE_REL_MIPS_SECTION = 0x000A } 3938 -enum : uint { IMAGE_REL_MIPS_SECREL = 0x000B } 3939 -enum : uint { IMAGE_REL_MIPS_SECRELLO = 0x000C } 3940 -enum : uint { IMAGE_REL_MIPS_SECRELHI = 0x000D } 3941 -enum : uint { IMAGE_REL_MIPS_TOKEN = 0x000E } 3942 -enum : uint { IMAGE_REL_MIPS_JMPADDR16 = 0x0010 } 3943 -enum : uint { IMAGE_REL_MIPS_REFWORDNB = 0x0022 } 3944 -enum : uint { IMAGE_REL_MIPS_PAIR = 0x0025 } 3945 - 3946 -enum : uint { IMAGE_REL_ALPHA_ABSOLUTE = 0x0000 } 3947 -enum : uint { IMAGE_REL_ALPHA_REFLONG = 0x0001 } 3948 -enum : uint { IMAGE_REL_ALPHA_REFQUAD = 0x0002 } 3949 -enum : uint { IMAGE_REL_ALPHA_GPREL32 = 0x0003 } 3950 -enum : uint { IMAGE_REL_ALPHA_LITERAL = 0x0004 } 3951 -enum : uint { IMAGE_REL_ALPHA_LITUSE = 0x0005 } 3952 -enum : uint { IMAGE_REL_ALPHA_GPDISP = 0x0006 } 3953 -enum : uint { IMAGE_REL_ALPHA_BRADDR = 0x0007 } 3954 -enum : uint { IMAGE_REL_ALPHA_HINT = 0x0008 } 3955 -enum : uint { IMAGE_REL_ALPHA_INLINE_REFLONG = 0x0009 } 3956 -enum : uint { IMAGE_REL_ALPHA_REFHI = 0x000A } 3957 -enum : uint { IMAGE_REL_ALPHA_REFLO = 0x000B } 3958 -enum : uint { IMAGE_REL_ALPHA_PAIR = 0x000C } 3959 -enum : uint { IMAGE_REL_ALPHA_MATCH = 0x000D } 3960 -enum : uint { IMAGE_REL_ALPHA_SECTION = 0x000E } 3961 -enum : uint { IMAGE_REL_ALPHA_SECREL = 0x000F } 3962 -enum : uint { IMAGE_REL_ALPHA_REFLONGNB = 0x0010 } 3963 -enum : uint { IMAGE_REL_ALPHA_SECRELLO = 0x0011 } 3964 -enum : uint { IMAGE_REL_ALPHA_SECRELHI = 0x0012 } 3965 -enum : uint { IMAGE_REL_ALPHA_REFQ3 = 0x0013 } 3966 -enum : uint { IMAGE_REL_ALPHA_REFQ2 = 0x0014 } 3967 -enum : uint { IMAGE_REL_ALPHA_REFQ1 = 0x0015 } 3968 -enum : uint { IMAGE_REL_ALPHA_GPRELLO = 0x0016 } 3969 -enum : uint { IMAGE_REL_ALPHA_GPRELHI = 0x0017 } 3970 - 3971 -enum : uint { IMAGE_REL_PPC_ABSOLUTE = 0x0000 } 3972 -enum : uint { IMAGE_REL_PPC_ADDR64 = 0x0001 } 3973 -enum : uint { IMAGE_REL_PPC_ADDR32 = 0x0002 } 3974 -enum : uint { IMAGE_REL_PPC_ADDR24 = 0x0003 } 3975 -enum : uint { IMAGE_REL_PPC_ADDR16 = 0x0004 } 3976 -enum : uint { IMAGE_REL_PPC_ADDR14 = 0x0005 } 3977 -enum : uint { IMAGE_REL_PPC_REL24 = 0x0006 } 3978 -enum : uint { IMAGE_REL_PPC_REL14 = 0x0007 } 3979 -enum : uint { IMAGE_REL_PPC_TOCREL16 = 0x0008 } 3980 -enum : uint { IMAGE_REL_PPC_TOCREL14 = 0x0009 } 3981 - 3982 -enum : uint { IMAGE_REL_PPC_ADDR32NB = 0x000A } 3983 -enum : uint { IMAGE_REL_PPC_SECREL = 0x000B } 3984 -enum : uint { IMAGE_REL_PPC_SECTION = 0x000C } 3985 -enum : uint { IMAGE_REL_PPC_IFGLUE = 0x000D } 3986 -enum : uint { IMAGE_REL_PPC_IMGLUE = 0x000E } 3987 -enum : uint { IMAGE_REL_PPC_SECREL16 = 0x000F } 3988 -enum : uint { IMAGE_REL_PPC_REFHI = 0x0010 } 3989 -enum : uint { IMAGE_REL_PPC_REFLO = 0x0011 } 3990 -enum : uint { IMAGE_REL_PPC_PAIR = 0x0012 } 3991 -enum : uint { IMAGE_REL_PPC_SECRELLO = 0x0013 } 3992 -enum : uint { IMAGE_REL_PPC_SECRELHI = 0x0014 } 3993 -enum : uint { IMAGE_REL_PPC_GPREL = 0x0015 } 3994 -enum : uint { IMAGE_REL_PPC_TOKEN = 0x0016 } 3995 - 3996 -enum : uint { IMAGE_REL_PPC_TYPEMASK = 0x00FF } 3997 - 3998 -enum : uint { IMAGE_REL_PPC_NEG = 0x0100 } 3999 -enum : uint { IMAGE_REL_PPC_BRTAKEN = 0x0200 } 4000 -enum : uint { IMAGE_REL_PPC_BRNTAKEN = 0x0400 } 4001 -enum : uint { IMAGE_REL_PPC_TOCDEFN = 0x0800 } 4002 - 4003 -enum : uint { IMAGE_REL_SH3_ABSOLUTE = 0x0000 } 4004 -enum : uint { IMAGE_REL_SH3_DIRECT16 = 0x0001 } 4005 -enum : uint { IMAGE_REL_SH3_DIRECT32 = 0x0002 } 4006 -enum : uint { IMAGE_REL_SH3_DIRECT8 = 0x0003 } 4007 -enum : uint { IMAGE_REL_SH3_DIRECT8_WORD = 0x0004 } 4008 -enum : uint { IMAGE_REL_SH3_DIRECT8_LONG = 0x0005 } 4009 -enum : uint { IMAGE_REL_SH3_DIRECT4 = 0x0006 } 4010 -enum : uint { IMAGE_REL_SH3_DIRECT4_WORD = 0x0007 } 4011 -enum : uint { IMAGE_REL_SH3_DIRECT4_LONG = 0x0008 } 4012 -enum : uint { IMAGE_REL_SH3_PCREL8_WORD = 0x0009 } 4013 -enum : uint { IMAGE_REL_SH3_PCREL8_LONG = 0x000A } 4014 -enum : uint { IMAGE_REL_SH3_PCREL12_WORD = 0x000B } 4015 -enum : uint { IMAGE_REL_SH3_STARTOF_SECTION = 0x000C } 4016 -enum : uint { IMAGE_REL_SH3_SIZEOF_SECTION = 0x000D } 4017 -enum : uint { IMAGE_REL_SH3_SECTION = 0x000E } 4018 -enum : uint { IMAGE_REL_SH3_SECREL = 0x000F } 4019 -enum : uint { IMAGE_REL_SH3_DIRECT32_NB = 0x0010 } 4020 -enum : uint { IMAGE_REL_SH3_GPREL4_LONG = 0x0011 } 4021 -enum : uint { IMAGE_REL_SH3_TOKEN = 0x0012 } 4022 - 4023 -enum : uint { IMAGE_REL_ARM_ABSOLUTE = 0x0000 } 4024 -enum : uint { IMAGE_REL_ARM_ADDR32 = 0x0001 } 4025 -enum : uint { IMAGE_REL_ARM_ADDR32NB = 0x0002 } 4026 -enum : uint { IMAGE_REL_ARM_BRANCH24 = 0x0003 } 4027 -enum : uint { IMAGE_REL_ARM_BRANCH11 = 0x0004 } 4028 -enum : uint { IMAGE_REL_ARM_TOKEN = 0x0005 } 4029 -enum : uint { IMAGE_REL_ARM_GPREL12 = 0x0006 } 4030 -enum : uint { IMAGE_REL_ARM_GPREL7 = 0x0007 } 4031 -enum : uint { IMAGE_REL_ARM_BLX24 = 0x0008 } 4032 -enum : uint { IMAGE_REL_ARM_BLX11 = 0x0009 } 4033 -enum : uint { IMAGE_REL_ARM_SECTION = 0x000E } 4034 -enum : uint { IMAGE_REL_ARM_SECREL = 0x000F } 4035 - 4036 -enum : uint { IMAGE_REL_AM_ABSOLUTE = 0x0000 } 4037 -enum : uint { IMAGE_REL_AM_ADDR32 = 0x0001 } 4038 -enum : uint { IMAGE_REL_AM_ADDR32NB = 0x0002 } 4039 -enum : uint { IMAGE_REL_AM_CALL32 = 0x0003 } 4040 -enum : uint { IMAGE_REL_AM_FUNCINFO = 0x0004 } 4041 -enum : uint { IMAGE_REL_AM_REL32_1 = 0x0005 } 4042 -enum : uint { IMAGE_REL_AM_REL32_2 = 0x0006 } 4043 -enum : uint { IMAGE_REL_AM_SECREL = 0x0007 } 4044 -enum : uint { IMAGE_REL_AM_SECTION = 0x0008 } 4045 -enum : uint { IMAGE_REL_AM_TOKEN = 0x0009 } 4046 - 4047 -enum : uint { IMAGE_REL_AMD64_ABSOLUTE = 0x0000 } 4048 -enum : uint { IMAGE_REL_AMD64_ADDR64 = 0x0001 } 4049 -enum : uint { IMAGE_REL_AMD64_ADDR32 = 0x0002 } 4050 -enum : uint { IMAGE_REL_AMD64_ADDR32NB = 0x0003 } 4051 -enum : uint { IMAGE_REL_AMD64_REL32 = 0x0004 } 4052 -enum : uint { IMAGE_REL_AMD64_REL32_1 = 0x0005 } 4053 -enum : uint { IMAGE_REL_AMD64_REL32_2 = 0x0006 } 4054 -enum : uint { IMAGE_REL_AMD64_REL32_3 = 0x0007 } 4055 -enum : uint { IMAGE_REL_AMD64_REL32_4 = 0x0008 } 4056 -enum : uint { IMAGE_REL_AMD64_REL32_5 = 0x0009 } 4057 -enum : uint { IMAGE_REL_AMD64_SECTION = 0x000A } 4058 -enum : uint { IMAGE_REL_AMD64_SECREL = 0x000B } 4059 -enum : uint { IMAGE_REL_AMD64_SECREL7 = 0x000C } 4060 -enum : uint { IMAGE_REL_AMD64_TOKEN = 0x000D } 4061 - 4062 -enum : uint { IMAGE_REL_IA64_ABSOLUTE = 0x0000 } 4063 -enum : uint { IMAGE_REL_IA64_IMM14 = 0x0001 } 4064 -enum : uint { IMAGE_REL_IA64_IMM22 = 0x0002 } 4065 -enum : uint { IMAGE_REL_IA64_IMM64 = 0x0003 } 4066 -enum : uint { IMAGE_REL_IA64_DIR32 = 0x0004 } 4067 -enum : uint { IMAGE_REL_IA64_DIR64 = 0x0005 } 4068 -enum : uint { IMAGE_REL_IA64_PCREL21B = 0x0006 } 4069 -enum : uint { IMAGE_REL_IA64_PCREL21M = 0x0007 } 4070 -enum : uint { IMAGE_REL_IA64_PCREL21F = 0x0008 } 4071 -enum : uint { IMAGE_REL_IA64_GPREL22 = 0x0009 } 4072 -enum : uint { IMAGE_REL_IA64_LTOFF22 = 0x000A } 4073 -enum : uint { IMAGE_REL_IA64_SECTION = 0x000B } 4074 -enum : uint { IMAGE_REL_IA64_SECREL22 = 0x000C } 4075 -enum : uint { IMAGE_REL_IA64_SECREL64I = 0x000D } 4076 -enum : uint { IMAGE_REL_IA64_SECREL32 = 0x000E } 4077 - 4078 -enum : uint { IMAGE_REL_IA64_DIR32NB = 0x0010 } 4079 -enum : uint { IMAGE_REL_IA64_SREL14 = 0x0011 } 4080 -enum : uint { IMAGE_REL_IA64_SREL22 = 0x0012 } 4081 -enum : uint { IMAGE_REL_IA64_SREL32 = 0x0013 } 4082 -enum : uint { IMAGE_REL_IA64_UREL32 = 0x0014 } 4083 -enum : uint { IMAGE_REL_IA64_PCREL60X = 0x0015 } 4084 -enum : uint { IMAGE_REL_IA64_PCREL60B = 0x0016 } 4085 -enum : uint { IMAGE_REL_IA64_PCREL60F = 0x0017 } 4086 -enum : uint { IMAGE_REL_IA64_PCREL60I = 0x0018 } 4087 -enum : uint { IMAGE_REL_IA64_PCREL60M = 0x0019 } 4088 -enum : uint { IMAGE_REL_IA64_IMMGPREL64 = 0x001A } 4089 -enum : uint { IMAGE_REL_IA64_TOKEN = 0x001B } 4090 -enum : uint { IMAGE_REL_IA64_GPREL32 = 0x001C } 4091 -enum : uint { IMAGE_REL_IA64_ADDEND = 0x001F } 4092 - 4093 -enum : uint { IMAGE_REL_CEF_ABSOLUTE = 0x0000 } 4094 -enum : uint { IMAGE_REL_CEF_ADDR32 = 0x0001 } 4095 -enum : uint { IMAGE_REL_CEF_ADDR64 = 0x0002 } 4096 -enum : uint { IMAGE_REL_CEF_ADDR32NB = 0x0003 } 4097 -enum : uint { IMAGE_REL_CEF_SECTION = 0x0004 } 4098 -enum : uint { IMAGE_REL_CEF_SECREL = 0x0005 } 4099 -enum : uint { IMAGE_REL_CEF_TOKEN = 0x0006 } 4100 - 4101 -enum : uint { IMAGE_REL_CEE_ABSOLUTE = 0x0000 } 4102 -enum : uint { IMAGE_REL_CEE_ADDR32 = 0x0001 } 4103 -enum : uint { IMAGE_REL_CEE_ADDR64 = 0x0002 } 4104 -enum : uint { IMAGE_REL_CEE_ADDR32NB = 0x0003 } 4105 -enum : uint { IMAGE_REL_CEE_SECTION = 0x0004 } 4106 -enum : uint { IMAGE_REL_CEE_SECREL = 0x0005 } 4107 -enum : uint { IMAGE_REL_CEE_TOKEN = 0x0006 } 4108 - 4109 -enum : uint { IMAGE_REL_M32R_ABSOLUTE = 0x0000 } 4110 -enum : uint { IMAGE_REL_M32R_ADDR32 = 0x0001 } 4111 -enum : uint { IMAGE_REL_M32R_ADDR32NB = 0x0002 } 4112 -enum : uint { IMAGE_REL_M32R_ADDR24 = 0x0003 } 4113 -enum : uint { IMAGE_REL_M32R_GPREL16 = 0x0004 } 4114 -enum : uint { IMAGE_REL_M32R_PCREL24 = 0x0005 } 4115 -enum : uint { IMAGE_REL_M32R_PCREL16 = 0x0006 } 4116 -enum : uint { IMAGE_REL_M32R_PCREL8 = 0x0007 } 4117 -enum : uint { IMAGE_REL_M32R_REFHALF = 0x0008 } 4118 -enum : uint { IMAGE_REL_M32R_REFHI = 0x0009 } 4119 -enum : uint { IMAGE_REL_M32R_REFLO = 0x000A } 4120 -enum : uint { IMAGE_REL_M32R_PAIR = 0x000B } 4121 -enum : uint { IMAGE_REL_M32R_SECTION = 0x000C } 4122 -enum : uint { IMAGE_REL_M32R_SECREL32 = 0x000D } 4123 -enum : uint { IMAGE_REL_M32R_TOKEN = 0x000E } 4124 - 4125 -// #define EXT_IMM64(Value, Address, Size, InstPos, ValPos) Value |= (((ULONGLONG)((*(Address) >> InstPos) & (((ULONGLONG)1 << Size) - 1))) << ValPos) 4126 - 4127 -// #define INS_IMM64(Value, Address, Size, InstPos, ValPos) *(PDWORD)Address = (*(PDWORD)Address & ~(((1 << Size) - 1) << InstPos)) | ((DWORD)((((ULONGLONG)Value >> ValPos) & (((ULONGLONG)1 << Size) - 1))) << InstPos) 4128 - 4129 -enum : uint { EMARCH_ENC_I17_IMM7B_INST_WORD_X = 3 } 4130 -enum : uint { EMARCH_ENC_I17_IMM7B_SIZE_X = 7 } 4131 -enum : uint { EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X = 4 } 4132 -enum : uint { EMARCH_ENC_I17_IMM7B_VAL_POS_X = 0 } 4133 - 4134 -enum : uint { EMARCH_ENC_I17_IMM9D_INST_WORD_X = 3 } 4135 -enum : uint { EMARCH_ENC_I17_IMM9D_SIZE_X = 9 } 4136 -enum : uint { EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X = 18 } 4137 -enum : uint { EMARCH_ENC_I17_IMM9D_VAL_POS_X = 7 } 4138 - 4139 -enum : uint { EMARCH_ENC_I17_IMM5C_INST_WORD_X = 3 } 4140 -enum : uint { EMARCH_ENC_I17_IMM5C_SIZE_X = 5 } 4141 -enum : uint { EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X = 13 } 4142 -enum : uint { EMARCH_ENC_I17_IMM5C_VAL_POS_X = 16 } 4143 - 4144 -enum : uint { EMARCH_ENC_I17_IC_INST_WORD_X = 3 } 4145 -enum : uint { EMARCH_ENC_I17_IC_SIZE_X = 1 } 4146 -enum : uint { EMARCH_ENC_I17_IC_INST_WORD_POS_X = 12 } 4147 -enum : uint { EMARCH_ENC_I17_IC_VAL_POS_X = 21 } 4148 - 4149 -enum : uint { EMARCH_ENC_I17_IMM41a_INST_WORD_X = 1 } 4150 -enum : uint { EMARCH_ENC_I17_IMM41a_SIZE_X = 10 } 4151 -enum : uint { EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X = 14 } 4152 -enum : uint { EMARCH_ENC_I17_IMM41a_VAL_POS_X = 22 } 4153 - 4154 -enum : uint { EMARCH_ENC_I17_IMM41b_INST_WORD_X = 1 } 4155 -enum : uint { EMARCH_ENC_I17_IMM41b_SIZE_X = 8 } 4156 -enum : uint { EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X = 24 } 4157 -enum : uint { EMARCH_ENC_I17_IMM41b_VAL_POS_X = 32 } 4158 - 4159 -enum : uint { EMARCH_ENC_I17_IMM41c_INST_WORD_X = 2 } 4160 -enum : uint { EMARCH_ENC_I17_IMM41c_SIZE_X = 23 } 4161 -enum : uint { EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X = 0 } 4162 -enum : uint { EMARCH_ENC_I17_IMM41c_VAL_POS_X = 40 } 4163 - 4164 -enum : uint { EMARCH_ENC_I17_SIGN_INST_WORD_X = 3 } 4165 -enum : uint { EMARCH_ENC_I17_SIGN_SIZE_X = 1 } 4166 -enum : uint { EMARCH_ENC_I17_SIGN_INST_WORD_POS_X = 27 } 4167 -enum : uint { EMARCH_ENC_I17_SIGN_VAL_POS_X = 63 } 4168 - 4169 -struct _IMAGE_LINENUMBER { 4170 -union { 4171 - DWORD SymbolTableIndex; 4172 - DWORD VirtualAddress; 4173 -} 4174 - 4175 - WORD Linenumber; 4176 -} 4177 -alias _IMAGE_LINENUMBER IMAGE_LINENUMBER; 4178 - 4179 -alias IMAGE_LINENUMBER* PIMAGE_LINENUMBER; 4180 - 4181 -enum : uint { IMAGE_SIZEOF_LINENUMBER = 6 } 4182 - 4183 -// #ifndef _MAC 4184 -align: 4185 -// #endif 4186 - 4187 -struct _IMAGE_BASE_RELOCATION { 4188 - DWORD VirtualAddress; 4189 - DWORD SizeOfBlock; 4190 -} 4191 -alias _IMAGE_BASE_RELOCATION IMAGE_BASE_RELOCATION; 4192 - 4193 -alias IMAGE_BASE_RELOCATION* PIMAGE_BASE_RELOCATION; 4194 - 4195 -enum : uint { IMAGE_SIZEOF_BASE_RELOCATION = 8 } 4196 - 4197 -enum : uint { IMAGE_REL_BASED_ABSOLUTE = 0 } 4198 -enum : uint { IMAGE_REL_BASED_HIGH = 1 } 4199 -enum : uint { IMAGE_REL_BASED_LOW = 2 } 4200 -enum : uint { IMAGE_REL_BASED_HIGHLOW = 3 } 4201 -enum : uint { IMAGE_REL_BASED_HIGHADJ = 4 } 4202 -enum : uint { IMAGE_REL_BASED_MIPS_JMPADDR = 5 } 4203 -enum : uint { IMAGE_REL_BASED_MIPS_JMPADDR16 = 9 } 4204 -enum : uint { IMAGE_REL_BASED_IA64_IMM64 = 9 } 4205 -enum : uint { IMAGE_REL_BASED_DIR64 = 10 } 4206 - 4207 -enum : uint { IMAGE_ARCHIVE_START_SIZE = 8 } 4208 -const char[] IMAGE_ARCHIVE_START = "!<arch>\n"; 4209 -const char[] IMAGE_ARCHIVE_END = "`\n"; 4210 -const char[] IMAGE_ARCHIVE_PAD = "\n"; 4211 -const char[] IMAGE_ARCHIVE_LINKER_MEMBER = "/ "; 4212 -const char[] IMAGE_ARCHIVE_LONGNAMES_MEMBER = "// "; 4213 - 4214 -struct _IMAGE_ARCHIVE_MEMBER_HEADER { 4215 - BYTE Name[16]; 4216 - BYTE Date[12]; 4217 - BYTE UserID[6]; 4218 - BYTE GroupID[6]; 4219 - BYTE Mode[8]; 4220 - BYTE Size[10]; 4221 - BYTE EndHeader[2]; 4222 -} 4223 -alias _IMAGE_ARCHIVE_MEMBER_HEADER IMAGE_ARCHIVE_MEMBER_HEADER; 4224 -alias _IMAGE_ARCHIVE_MEMBER_HEADER* PIMAGE_ARCHIVE_MEMBER_HEADER; 4225 - 4226 -enum : uint { IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR = 60 } 4227 - 4228 -struct _IMAGE_EXPORT_DIRECTORY { 4229 - DWORD Characteristics; 4230 - DWORD TimeDateStamp; 4231 - WORD MajorVersion; 4232 - WORD MinorVersion; 4233 - DWORD Name; 4234 - DWORD Base; 4235 - DWORD NumberOfFunctions; 4236 - DWORD NumberOfNames; 4237 - DWORD AddressOfFunctions; 4238 - DWORD AddressOfNames; 4239 - DWORD AddressOfNameOrdinals; 4240 -} 4241 -alias _IMAGE_EXPORT_DIRECTORY IMAGE_EXPORT_DIRECTORY; 4242 -alias _IMAGE_EXPORT_DIRECTORY* PIMAGE_EXPORT_DIRECTORY; 4243 - 4244 -struct _IMAGE_IMPORT_BY_NAME { 4245 - WORD Hint; 4246 - BYTE Name[1]; 4247 -} 4248 -alias _IMAGE_IMPORT_BY_NAME IMAGE_IMPORT_BY_NAME; 4249 -alias _IMAGE_IMPORT_BY_NAME* PIMAGE_IMPORT_BY_NAME; 4250 - 4251 -align(8): 4252 - 4253 -struct _IMAGE_THUNK_DATA64 { 4254 -union { 4255 - ULONGLONG ForwarderString; 4256 - ULONGLONG Function; 4257 - ULONGLONG Ordinal; 4258 - ULONGLONG AddressOfData; 4259 -} 4260 - 4261 -} 4262 -alias _IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA64; 4263 - 4264 -alias IMAGE_THUNK_DATA64* PIMAGE_THUNK_DATA64; 4265 - 4266 -align: 4267 - 4268 -struct _IMAGE_THUNK_DATA32 { 4269 -union { 4270 - DWORD ForwarderString; 4271 - DWORD Function; 4272 - DWORD Ordinal; 4273 - DWORD AddressOfData; 4274 -} 4275 - 4276 -} 4277 -alias _IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA32; 4278 - 4279 -alias IMAGE_THUNK_DATA32* PIMAGE_THUNK_DATA32; 4280 - 4281 -const ulong IMAGE_ORDINAL_FLAG64 = 0x8000000000000000; 4282 -enum : uint { IMAGE_ORDINAL_FLAG32 = 0x80000000 } 4283 -ulong IMAGE_ORDINAL64(ulong Ordinal){ return Ordinal & 0xffff; } 4284 -uint IMAGE_ORDINAL32(uint Ordinal){ return Ordinal & 0xffff; } 4285 -bit IMAGE_SNAP_BY_ORDINAL64(ulong Ordinal){ return (Ordinal & IMAGE_ORDINAL_FLAG64) != 0; } 4286 -bit IMAGE_SNAP_BY_ORDINAL32(uint Ordinal){ return (Ordinal & IMAGE_ORDINAL_FLAG32) != 0; } 4287 - 4288 -extern(Windows) alias VOID function( PVOID DllHandle, DWORD Reason, PVOID Reserved ) PIMAGE_TLS_CALLBACK; 4289 - 4290 -struct _IMAGE_TLS_DIRECTORY64 { 4291 - ULONGLONG StartAddressOfRawData; 4292 - ULONGLONG EndAddressOfRawData; 4293 - ULONGLONG AddressOfIndex; 4294 - ULONGLONG AddressOfCallBacks; 4295 - DWORD SizeOfZeroFill; 4296 - DWORD Characteristics; 4297 -} 4298 -alias _IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY64; 4299 - 4300 -alias IMAGE_TLS_DIRECTORY64* PIMAGE_TLS_DIRECTORY64; 4301 - 4302 -struct _IMAGE_TLS_DIRECTORY32 { 4303 - DWORD StartAddressOfRawData; 4304 - DWORD EndAddressOfRawData; 4305 - DWORD AddressOfIndex; 4306 - DWORD AddressOfCallBacks; 4307 - DWORD SizeOfZeroFill; 4308 - DWORD Characteristics; 4309 -} 4310 -alias _IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY32; 4311 - 4312 -alias IMAGE_TLS_DIRECTORY32* PIMAGE_TLS_DIRECTORY32; 4313 - 4314 -// #ifdef _WIN64 4315 -// #... 4316 -// #... 4317 -// ... 4318 -// #... 4319 -// ... 4320 -// #else 4321 -alias IMAGE_ORDINAL_FLAG32 IMAGE_ORDINAL_FLAG; 4322 -alias IMAGE_ORDINAL32 IMAGE_ORDINAL; 4323 -alias IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; 4324 -alias PIMAGE_THUNK_DATA32 PIMAGE_THUNK_DATA; 4325 -alias IMAGE_SNAP_BY_ORDINAL32 IMAGE_SNAP_BY_ORDINAL; 4326 -alias IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; 4327 -alias PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY; 4328 -// #endif 4329 - 4330 -struct _IMAGE_IMPORT_DESCRIPTOR { 4331 -union { 4332 - DWORD Characteristics; 4333 - DWORD OriginalFirstThunk; 4334 -} 4335 - 4336 - DWORD TimeDateStamp; 4337 - 4338 - DWORD ForwarderChain; 4339 - DWORD Name; 4340 - DWORD FirstThunk; 4341 -} 4342 -alias _IMAGE_IMPORT_DESCRIPTOR IMAGE_IMPORT_DESCRIPTOR; 4343 - 4344 -alias IMAGE_IMPORT_DESCRIPTOR* PIMAGE_IMPORT_DESCRIPTOR; 4345 - 4346 -struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { 4347 - DWORD TimeDateStamp; 4348 - WORD OffsetModuleName; 4349 - WORD NumberOfModuleForwarderRefs; 4350 -} 4351 -alias _IMAGE_BOUND_IMPORT_DESCRIPTOR IMAGE_BOUND_IMPORT_DESCRIPTOR; 4352 -alias _IMAGE_BOUND_IMPORT_DESCRIPTOR* PIMAGE_BOUND_IMPORT_DESCRIPTOR; 4353 - 4354 -struct _IMAGE_BOUND_FORWARDER_REF { 4355 - DWORD TimeDateStamp; 4356 - WORD OffsetModuleName; 4357 - WORD Reserved; 4358 -} 4359 -alias _IMAGE_BOUND_FORWARDER_REF IMAGE_BOUND_FORWARDER_REF; 4360 -alias _IMAGE_BOUND_FORWARDER_REF* PIMAGE_BOUND_FORWARDER_REF; 4361 - 4362 -struct _IMAGE_RESOURCE_DIRECTORY { 4363 - DWORD Characteristics; 4364 - DWORD TimeDateStamp; 4365 - WORD MajorVersion; 4366 - WORD MinorVersion; 4367 - WORD NumberOfNamedEntries; 4368 - WORD NumberOfIdEntries; 4369 -} 4370 -alias _IMAGE_RESOURCE_DIRECTORY IMAGE_RESOURCE_DIRECTORY; 4371 -alias _IMAGE_RESOURCE_DIRECTORY* PIMAGE_RESOURCE_DIRECTORY; 4372 - 4373 -enum : uint { IMAGE_RESOURCE_NAME_IS_STRING = 0x80000000 } 4374 -enum : uint { IMAGE_RESOURCE_DATA_IS_DIRECTORY = 0x80000000 } 4375 - 4376 -struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { 4377 -union { 4378 -struct { 4379 -// DWORD NameOffset:31; 4380 -// DWORD NameIsString:1; 4381 -} 4382 - 4383 - DWORD Name; 4384 - WORD Id; 4385 -} 4386 - 4387 -union { 4388 - DWORD OffsetToData; 4389 -struct { 4390 -// DWORD OffsetToDirectory:31; 4391 -// DWORD DataIsDirectory:1; 4392 -} 4393 - 4394 -} 4395 - 4396 -} 4397 -alias _IMAGE_RESOURCE_DIRECTORY_ENTRY IMAGE_RESOURCE_DIRECTORY_ENTRY; 4398 -alias _IMAGE_RESOURCE_DIRECTORY_ENTRY* PIMAGE_RESOURCE_DIRECTORY_ENTRY; 4399 - 4400 -struct _IMAGE_RESOURCE_DIRECTORY_STRING { 4401 - WORD Length; 4402 - CHAR NameString[ 1 ]; 4403 -} 4404 -alias _IMAGE_RESOURCE_DIRECTORY_STRING IMAGE_RESOURCE_DIRECTORY_STRING; 4405 -alias _IMAGE_RESOURCE_DIRECTORY_STRING* PIMAGE_RESOURCE_DIRECTORY_STRING; 4406 - 4407 -struct _IMAGE_RESOURCE_DIR_STRING_U { 4408 - WORD Length; 4409 - WCHAR NameString[ 1 ]; 4410 -} 4411 -alias _IMAGE_RESOURCE_DIR_STRING_U IMAGE_RESOURCE_DIR_STRING_U; 4412 -alias _IMAGE_RESOURCE_DIR_STRING_U* PIMAGE_RESOURCE_DIR_STRING_U; 4413 - 4414 -struct _IMAGE_RESOURCE_DATA_ENTRY { 4415 - DWORD OffsetToData; 4416 - DWORD Size; 4417 - DWORD CodePage; 4418 - DWORD Reserved; 4419 -} 4420 -alias _IMAGE_RESOURCE_DATA_ENTRY IMAGE_RESOURCE_DATA_ENTRY; 4421 -alias _IMAGE_RESOURCE_DATA_ENTRY* PIMAGE_RESOURCE_DATA_ENTRY; 4422 - 4423 -struct _12 { 4424 - DWORD Characteristics; 4425 - DWORD TimeDateStamp; 4426 - WORD MajorVersion; 4427 - WORD MinorVersion; 4428 - DWORD GlobalFlagsClear; 4429 - DWORD GlobalFlagsSet; 4430 - DWORD CriticalSectionDefaultTimeout; 4431 - DWORD DeCommitFreeBlockThreshold; 4432 - DWORD DeCommitTotalFreeThreshold; 4433 - DWORD LockPrefixTable; 4434 - DWORD MaximumAllocationSize; 4435 - DWORD VirtualMemoryThreshold; 4436 - DWORD ProcessHeapFlags; 4437 - DWORD ProcessAffinityMask; 4438 - WORD CSDVersion; 4439 - WORD Reserved1; 4440 - DWORD EditList; 4441 - DWORD Reserved[ 1 ]; 4442 -} 4443 -alias _12 IMAGE_LOAD_CONFIG_DIRECTORY32; 4444 -alias _12* PIMAGE_LOAD_CONFIG_DIRECTORY32; 4445 - 4446 -struct _13 { 4447 - DWORD Characteristics; 4448 - DWORD TimeDateStamp; 4449 - WORD MajorVersion; 4450 - WORD MinorVersion; 4451 - DWORD GlobalFlagsClear; 4452 - DWORD GlobalFlagsSet; 4453 - DWORD CriticalSectionDefaultTimeout; 4454 - ULONGLONG DeCommitFreeBlockThreshold; 4455 - ULONGLONG DeCommitTotalFreeThreshold; 4456 - ULONGLONG LockPrefixTable; 4457 - ULONGLONG MaximumAllocationSize; 4458 - ULONGLONG VirtualMemoryThreshold; 4459 - ULONGLONG ProcessAffinityMask; 4460 - DWORD ProcessHeapFlags; 4461 - WORD CSDVersion; 4462 - WORD Reserved1; 4463 - ULONGLONG EditList; 4464 - DWORD Reserved[ 2 ]; 4465 -} 4466 -alias _13 IMAGE_LOAD_CONFIG_DIRECTORY64; 4467 -alias _13* PIMAGE_LOAD_CONFIG_DIRECTORY64; 4468 - 4469 -// #ifdef _WIN64 4470 -// ... 4471 -// #else 4472 -alias IMAGE_LOAD_CONFIG_DIRECTORY32 IMAGE_LOAD_CONFIG_DIRECTORY; 4473 -alias PIMAGE_LOAD_CONFIG_DIRECTORY32 PIMAGE_LOAD_CONFIG_DIRECTORY; 4474 -// #endif 4475 - 4476 -struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { 4477 - DWORD FuncStart; 4478 -// DWORD PrologLen : 8; 4479 -// DWORD FuncLen : 22; 4480 -// DWORD ThirtyTwoBit : 1; 4481 -// DWORD ExceptionFlag : 1; 4482 -} 4483 -alias _IMAGE_CE_RUNTIME_FUNCTION_ENTRY IMAGE_CE_RUNTIME_FUNCTION_ENTRY; 4484 -alias _IMAGE_CE_RUNTIME_FUNCTION_ENTRY* PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; 4485 - 4486 -struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { 4487 - ULONGLONG BeginAddress; 4488 - ULONGLONG EndAddress; 4489 - ULONGLONG ExceptionHandler; 4490 - ULONGLONG HandlerData; 4491 - ULONGLONG PrologEndAddress; 4492 -} 4493 -alias _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; 4494 -alias _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY* PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; 4495 - 4496 -struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { 4497 - DWORD BeginAddress; 4498 - DWORD EndAddress; 4499 - DWORD ExceptionHandler; 4500 - DWORD HandlerData; 4501 - DWORD PrologEndAddress; 4502 -} 4503 -alias _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; 4504 -alias _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY* PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; 4505 - 4506 -struct _IMAGE_RUNTIME_FUNCTION_ENTRY { 4507 - DWORD BeginAddress; 4508 - DWORD EndAddress; 4509 - DWORD UnwindInfoAddress; 4510 -} 4511 -alias _IMAGE_RUNTIME_FUNCTION_ENTRY* _PIMAGE_RUNTIME_FUNCTION_ENTRY; 4512 - 4513 -alias _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_IA64_RUNTIME_FUNCTION_ENTRY; 4514 -alias _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY; 4515 - 4516 -// #if defined(_AXP64_) 4517 - 4518 -// ... 4519 - 4520 -// #elif defined(_ALPHA_) 4521 - 4522 -// ... 4523 - 4524 -// #else 4525 - 4526 -alias _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; 4527 -alias _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; 4528 - 4529 -// #endif 4530 - 4531 -struct _IMAGE_DEBUG_DIRECTORY { 4532 - DWORD Characteristics; 4533 - DWORD TimeDateStamp; 4534 - WORD MajorVersion; 4535 - WORD MinorVersion; 4536 - DWORD Type; 4537 - DWORD SizeOfData; 4538 - DWORD AddressOfRawData; 4539 - DWORD PointerToRawData; 4540 -} 4541 -alias _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY; 4542 -alias _IMAGE_DEBUG_DIRECTORY* PIMAGE_DEBUG_DIRECTORY; 4543 - 4544 -enum : uint { IMAGE_DEBUG_TYPE_UNKNOWN = 0 } 4545 -enum : uint { IMAGE_DEBUG_TYPE_COFF = 1 } 4546 -enum : uint { IMAGE_DEBUG_TYPE_CODEVIEW = 2 } 4547 -enum : uint { IMAGE_DEBUG_TYPE_FPO = 3 } 4548 -enum : uint { IMAGE_DEBUG_TYPE_MISC = 4 } 4549 -enum : uint { IMAGE_DEBUG_TYPE_EXCEPTION = 5 } 4550 -enum : uint { IMAGE_DEBUG_TYPE_FIXUP = 6 } 4551 -enum : uint { IMAGE_DEBUG_TYPE_OMAP_TO_SRC = 7 } 4552 -enum : uint { IMAGE_DEBUG_TYPE_OMAP_FROM_SRC = 8 } 4553 -enum : uint { IMAGE_DEBUG_TYPE_BORLAND = 9 } 4554 -enum : uint { IMAGE_DEBUG_TYPE_RESERVED10 = 10 } 4555 -enum : uint { IMAGE_DEBUG_TYPE_CLSID = 11 } 4556 - 4557 -struct _IMAGE_COFF_SYMBOLS_HEADER { 4558 - DWORD NumberOfSymbols; 4559 - DWORD LvaToFirstSymbol; 4560 - DWORD NumberOfLinenumbers; 4561 - DWORD LvaToFirstLinenumber; 4562 - DWORD RvaToFirstByteOfCode; 4563 - DWORD RvaToLastByteOfCode; 4564 - DWORD RvaToFirstByteOfData; 4565 - DWORD RvaToLastByteOfData; 4566 -} 4567 -alias _IMAGE_COFF_SYMBOLS_HEADER IMAGE_COFF_SYMBOLS_HEADER; 4568 -alias _IMAGE_COFF_SYMBOLS_HEADER* PIMAGE_COFF_SYMBOLS_HEADER; 4569 - 4570 -enum : uint { FRAME_FPO = 0 } 4571 -enum : uint { FRAME_TRAP = 1 } 4572 -enum : uint { FRAME_TSS = 2 } 4573 -enum : uint { FRAME_NONFPO = 3 } 4574 - 4575 -struct _FPO_DATA { 4576 - DWORD ulOffStart; 4577 - DWORD cbProcSize; 4578 - DWORD cdwLocals; 4579 - WORD cdwParams; 4580 -// WORD cbProlog : 8; 4581 -// WORD cbRegs : 3; 4582 -// WORD fHasSEH : 1; 4583 -// WORD fUseBP : 1; 4584 -// WORD reserved : 1; 4585 -// WORD cbFrame : 2; 4586 -} 4587 -alias _FPO_DATA FPO_DATA; 4588 -alias _FPO_DATA* PFPO_DATA; 4589 - 4590 -enum : uint { SIZEOF_RFPO_DATA = 16 } 4591 - 4592 -enum : uint { IMAGE_DEBUG_MISC_EXENAME = 1 } 4593 - 4594 -struct _IMAGE_DEBUG_MISC { 4595 - DWORD DataType; 4596 - DWORD Length; 4597 - 4598 - BOOLEAN Unicode; 4599 - BYTE Reserved[ 3 ]; 4600 - BYTE Data[ 1 ]; 4601 -} 4602 -alias _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC; 4603 -alias _IMAGE_DEBUG_MISC* PIMAGE_DEBUG_MISC; 4604 - 4605 -struct _IMAGE_FUNCTION_ENTRY { 4606 - DWORD StartingAddress; 4607 - DWORD EndingAddress; 4608 - DWORD EndOfPrologue; 4609 -} 4610 -alias _IMAGE_FUNCTION_ENTRY IMAGE_FUNCTION_ENTRY; 4611 -alias _IMAGE_FUNCTION_ENTRY* PIMAGE_FUNCTION_ENTRY; 4612 - 4613 -struct _IMAGE_FUNCTION_ENTRY64 { 4614 - ULONGLONG StartingAddress; 4615 - ULONGLONG EndingAddress; 4616 -union { 4617 - ULONGLONG EndOfPrologue; 4618 - ULONGLONG UnwindInfoAddress; 4619 -} 4620 - 4621 -} 4622 -alias _IMAGE_FUNCTION_ENTRY64 IMAGE_FUNCTION_ENTRY64; 4623 -alias _IMAGE_FUNCTION_ENTRY64* PIMAGE_FUNCTION_ENTRY64; 4624 - 4625 -struct _IMAGE_SEPARATE_DEBUG_HEADER { 4626 - WORD Signature; 4627 - WORD Flags; 4628 - WORD Machine; 4629 - WORD Characteristics; 4630 - DWORD TimeDateStamp; 4631 - DWORD CheckSum; 4632 - DWORD ImageBase; 4633 - DWORD SizeOfImage; 4634 - DWORD NumberOfSections; 4635 - DWORD ExportedNamesSize; 4636 - DWORD DebugDirectorySize; 4637 - DWORD SectionAlignment; 4638 - DWORD Reserved[2]; 4639 -} 4640 -alias _IMAGE_SEPARATE_DEBUG_HEADER IMAGE_SEPARATE_DEBUG_HEADER; 4641 -alias _IMAGE_SEPARATE_DEBUG_HEADER* PIMAGE_SEPARATE_DEBUG_HEADER; 4642 - 4643 -struct _NON_PAGED_DEBUG_INFO { 4644 - WORD Signature; 4645 - WORD Flags; 4646 - DWORD Size; 4647 - WORD Machine; 4648 - WORD Characteristics; 4649 - DWORD TimeDateStamp; 4650 - DWORD CheckSum; 4651 - DWORD SizeOfImage; 4652 - ULONGLONG ImageBase; 4653 - 4654 -} 4655 -alias _NON_PAGED_DEBUG_INFO NON_PAGED_DEBUG_INFO; 4656 -alias _NON_PAGED_DEBUG_INFO* PNON_PAGED_DEBUG_INFO; 4657 - 4658 -// #ifndef _MAC 4659 -enum : uint { IMAGE_SEPARATE_DEBUG_SIGNATURE = 0x4944 } 4660 -enum : uint { NON_PAGED_DEBUG_SIGNATURE = 0x494E } 4661 -// #else 4662 -// #... 4663 -// #... 4664 -// #endif 4665 - 4666 -enum : uint { IMAGE_SEPARATE_DEBUG_FLAGS_MASK = 0x8000 } 4667 -enum : uint { IMAGE_SEPARATE_DEBUG_MISMATCH = 0x8000 } 4668 - 4669 -struct _ImageArchitectureHeader { 4670 -// unsigned int AmaskValue: 1; 4671 - 4672 -// int :7; 4673 -// unsigned int AmaskShift: 8; 4674 -// int :16; 4675 - DWORD FirstEntryRVA; 4676 -} 4677 -alias _ImageArchitectureHeader IMAGE_ARCHITECTURE_HEADER; 4678 -alias _ImageArchitectureHeader* PIMAGE_ARCHITECTURE_HEADER; 4679 - 4680 -struct _ImageArchitectureEntry { 4681 - DWORD FixupInstRVA; 4682 - DWORD NewInst; 4683 -} 4684 -alias _ImageArchitectureEntry IMAGE_ARCHITECTURE_ENTRY; 4685 -alias _ImageArchitectureEntry* PIMAGE_ARCHITECTURE_ENTRY; 4686 - 4687 -align: 4688 - 4689 -enum : uint { IMPORT_OBJECT_HDR_SIG2 = 0xffff } 4690 - 4691 -struct IMPORT_OBJECT_HEADER { 4692 - WORD Sig1; 4693 - WORD Sig2; 4694 - WORD Version; 4695 - WORD Machine; 4696 - DWORD TimeDateStamp; 4697 - DWORD SizeOfData; 4698 - 4699 -union { 4700 - WORD Ordinal; 4701 - WORD Hint; 4702 -} 4703 - 4704 -// WORD Type : 2; 4705 -// WORD NameType : 3; 4706 -// WORD Reserved : 11; 4707 -} 4708 - 4709 -alias int IMPORT_OBJECT_TYPE; 4710 -enum { 4711 - IMPORT_OBJECT_CODE = 0, 4712 - IMPORT_OBJECT_DATA = 1, 4713 - IMPORT_OBJECT_CONST = 2, 4714 -} 4715 - 4716 -alias int IMPORT_OBJECT_NAME_TYPE; 4717 -enum { 4718 - IMPORT_OBJECT_ORDINAL = 0, 4719 - IMPORT_OBJECT_NAME = 1, 4720 - IMPORT_OBJECT_NAME_NO_PREFIX = 2, 4721 - IMPORT_OBJECT_NAME_UNDECORATE = 3, 4722 - 4723 -} 4724 - 4725 -// #ifndef __IMAGE_COR20_HEADER_DEFINED__ 4726 -// #define __IMAGE_COR20_HEADER_DEFINED__ 4727 - 4728 -alias int ReplacesCorHdrNumericDefines; 4729 -enum { 4730 - 4731 - COMIMAGE_FLAGS_ILONLY = 0x00000001, 4732 - COMIMAGE_FLAGS_32BITREQUIRED = 0x00000002, 4733 - COMIMAGE_FLAGS_IL_LIBRARY = 0x00000004, 4734 - COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x00010000, 4735 - 4736 - COR_VERSION_MAJOR_V2 = 2, 4737 - COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2, 4738 - COR_VERSION_MINOR = 0, 4739 - COR_DELETED_NAME_LENGTH = 8, 4740 - COR_VTABLEGAP_NAME_LENGTH = 8, 4741 - 4742 - NATIVE_TYPE_MAX_CB = 1, 4743 - COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 0xFF, 4744 - 4745 - IMAGE_COR_MIH_METHODRVA = 0x01, 4746 - IMAGE_COR_MIH_EHRVA = 0x02, 4747 - IMAGE_COR_MIH_BASICBLOCK = 0x08, 4748 - 4749 - COR_VTABLE_32BIT = 0x01, 4750 - COR_VTABLE_64BIT = 0x02, 4751 - COR_VTABLE_FROM_UNMANAGED = 0x04, 4752 - COR_VTABLE_CALL_MOST_DERIVED = 0x10, 4753 - 4754 - IMAGE_COR_EATJ_THUNK_SIZE = 32, 4755 - 4756 - MAX_CLASS_NAME = 1024, 4757 - MAX_PACKAGE_NAME = 1024, 4758 -} 4759 - 4760 -struct IMAGE_COR20_HEADER { 4761 - 4762 - DWORD cb; 4763 - WORD MajorRuntimeVersion; 4764 - WORD MinorRuntimeVersion; 4765 - IMAGE_DATA_DIRECTORY MetaData; 4766 - DWORD Flags; 4767 - DWORD EntryPointToken; 4768 - IMAGE_DATA_DIRECTORY Resources; 4769 - IMAGE_DATA_DIRECTORY StrongNameSignature; 4770 - IMAGE_DATA_DIRECTORY CodeManagerTable; 4771 - IMAGE_DATA_DIRECTORY VTableFixups; 4772 - IMAGE_DATA_DIRECTORY ExportAddressTableJumps; 4773 - IMAGE_DATA_DIRECTORY ManagedNativeHeader; 4774 -} 4775 -alias IMAGE_COR20_HEADER* PIMAGE_COR20_HEADER; 4776 - 4777 -// #endif // __IMAGE_COR20_HEADER_DEFINED__ 4778 - 4779 -// #ifdef _MAC 4780 -// #ifndef _INC_STRING 4781 -// #... 4782 -// #endif /* _INC_STRING */ 4783 -// #else 4784 -// #include <string.h> 4785 -// #endif // _MAC 4786 - 4787 -// #ifndef _SLIST_HEADER_ 4788 -// #define _SLIST_HEADER_ 4789 - 4790 -alias SINGLE_LIST_ENTRY SLIST_ENTRY; 4791 -alias _SINGLE_LIST_ENTRY _SLIST_ENTRY; 4792 -alias PSINGLE_LIST_ENTRY PSLIST_ENTRY; 4793 - 4794 -// #if defined(_WIN64) 4795 - 4796 -// ... 4797 - 4798 -// ... 4799 - 4800 -// #else 4801 - 4802 -union _SLIST_HEADER { 4803 - ULONGLONG Alignment; 4804 -struct { 4805 - SLIST_ENTRY Next; 4806 - WORD Depth; 4807 - WORD Sequence; 4808 -} 4809 - 4810 -} 4811 -alias _SLIST_HEADER SLIST_HEADER; 4812 -alias _SLIST_HEADER* PSLIST_HEADER; 4813 - 4814 -// #endif 4815 - 4816 -// #endif 4817 - 4818 -extern(Windows) export VOID RtlInitializeSListHead( 4819 - PSLIST_HEADER ListHead); 4820 - 4821 -extern(Windows) export PSLIST_ENTRY RtlFirstEntrySList( 4822 - SLIST_HEADER *ListHead); 4823 - 4824 -extern(Windows) export PSLIST_ENTRY RtlInterlockedPopEntrySList( 4825 - PSLIST_HEADER ListHead); 4826 - 4827 -extern(Windows) export PSLIST_ENTRY RtlInterlockedPushEntrySList( 4828 - PSLIST_HEADER ListHead, 4829 - PSLIST_ENTRY ListEntry); 4830 - 4831 -extern(Windows) export PSLIST_ENTRY RtlInterlockedFlushSList( 4832 - PSLIST_HEADER ListHead); 4833 - 4834 -extern(Windows) export WORD RtlQueryDepthSList( 4835 - PSLIST_HEADER ListHead); 4836 - 4837 -enum : uint { HEAP_NO_SERIALIZE = 0x00000001 } 4838 -enum : uint { HEAP_GROWABLE = 0x00000002 } 4839 -enum : uint { HEAP_GENERATE_EXCEPTIONS = 0x00000004 } 4840 -enum : uint { HEAP_ZERO_MEMORY = 0x00000008 } 4841 -enum : uint { HEAP_REALLOC_IN_PLACE_ONLY = 0x00000010 } 4842 -enum : uint { HEAP_TAIL_CHECKING_ENABLED = 0x00000020 } 4843 -enum : uint { HEAP_FREE_CHECKING_ENABLED = 0x00000040 } 4844 -enum : uint { HEAP_DISABLE_COALESCE_ON_FREE = 0x00000080 } 4845 -enum : uint { HEAP_CREATE_ALIGN_16 = 0x00010000 } 4846 -enum : uint { HEAP_CREATE_ENABLE_TRACING = 0x00020000 } 4847 -enum : uint { HEAP_MAXIMUM_TAG = 0x0FFF } 4848 -enum : uint { HEAP_PSEUDO_TAG_FLAG = 0x8000 } 4849 -enum : uint { HEAP_TAG_SHIFT = 18 } 4850 -uint HEAP_MAKE_TAG_FLAGS(uint b, uint o){ return b + (o << 18); } 4851 - 4852 -enum : uint { IS_TEXT_UNICODE_ASCII16 = 0x0001 } 4853 -enum : uint { IS_TEXT_UNICODE_REVERSE_ASCII16 = 0x0010 } 4854 - 4855 -enum : uint { IS_TEXT_UNICODE_STATISTICS = 0x0002 } 4856 -enum : uint { IS_TEXT_UNICODE_REVERSE_STATISTICS = 0x0020 } 4857 - 4858 -enum : uint { IS_TEXT_UNICODE_CONTROLS = 0x0004 } 4859 -enum : uint { IS_TEXT_UNICODE_REVERSE_CONTROLS = 0x0040 } 4860 - 4861 -enum : uint { IS_TEXT_UNICODE_SIGNATURE = 0x0008 } 4862 -enum : uint { IS_TEXT_UNICODE_REVERSE_SIGNATURE = 0x0080 } 4863 - 4864 -enum : uint { IS_TEXT_UNICODE_ILLEGAL_CHARS = 0x0100 } 4865 -enum : uint { IS_TEXT_UNICODE_ODD_LENGTH = 0x0200 } 4866 -enum : uint { IS_TEXT_UNICODE_DBCS_LEADBYTE = 0x0400 } 4867 -enum : uint { IS_TEXT_UNICODE_NULL_BYTES = 0x1000 } 4868 - 4869 -enum : uint { IS_TEXT_UNICODE_UNICODE_MASK = 0x000F } 4870 -enum : uint { IS_TEXT_UNICODE_REVERSE_MASK = 0x00F0 } 4871 -enum : uint { IS_TEXT_UNICODE_NOT_UNICODE_MASK = 0x0F00 } 4872 -enum : uint { IS_TEXT_UNICODE_NOT_ASCII_MASK = 0xF000 } 4873 - 4874 -enum : uint { COMPRESSION_FORMAT_NONE = 0x0000 } 4875 -enum : uint { COMPRESSION_FORMAT_DEFAULT = 0x0001 } 4876 -enum : uint { COMPRESSION_FORMAT_LZNT1 = 0x0002 } 4877 -enum : uint { COMPRESSION_ENGINE_STANDARD = 0x0000 } 4878 -enum : uint { COMPRESSION_ENGINE_MAXIMUM = 0x0100 } 4879 -enum : uint { COMPRESSION_ENGINE_HIBER = 0x0200 } 4880 - 4881 -extern(Windows) export SIZE_T RtlCompareMemory( 4882 - VOID *Source1, 4883 - VOID *Source2, 4884 - SIZE_T Length); 4885 - 4886 -// #if defined(_M_AMD64) || defined(_M_IA64) 4887 - 4888 -// #... 4889 -// ... 4890 - 4891 -// ... 4892 - 4893 -// #if !defined(_M_AMD64) 4894 - 4895 -// ... 4896 - 4897 -// #endif 4898 - 4899 -// ... 4900 - 4901 -// ... 4902 - 4903 -// ... 4904 - 4905 -// #else 4906 - 4907 -bit RtlEqualMemory(void* x, void* y, uint len){ return memcmp(x, y, len) == 0; } 4908 -void RtlMoveMemory(void* d, void* s, uint len){ memmove(d, s, len); } 4909 -void RtlCopyMemory(void* d, void* s, uint len){ memcpy(d, s, len); } 4910 -void RtlFillMemory(void* d, uint len, ubyte f){ memset(d, f, len); } 4911 -void RtlZeroMemory(void* d, uint len){ memset(d, 0, len); } 4912 - 4913 -// #endif 4914 - 4915 -struct _MESSAGE_RESOURCE_ENTRY { 4916 - WORD Length; 4917 - WORD Flags; 4918 - BYTE Text[ 1 ]; 4919 -} 4920 -alias _MESSAGE_RESOURCE_ENTRY MESSAGE_RESOURCE_ENTRY; 4921 -alias _MESSAGE_RESOURCE_ENTRY* PMESSAGE_RESOURCE_ENTRY; 4922 - 4923 -enum : uint { MESSAGE_RESOURCE_UNICODE = 0x0001 } 4924 - 4925 -struct _MESSAGE_RESOURCE_BLOCK { 4926 - DWORD LowId; 4927 - DWORD HighId; 4928 - DWORD OffsetToEntries; 4929 -} 4930 -alias _MESSAGE_RESOURCE_BLOCK MESSAGE_RESOURCE_BLOCK; 4931 -alias _MESSAGE_RESOURCE_BLOCK* PMESSAGE_RESOURCE_BLOCK; 4932 - 4933 -struct _MESSAGE_RESOURCE_DATA { 4934 - DWORD NumberOfBlocks; 4935 - MESSAGE_RESOURCE_BLOCK Blocks[ 1 ]; 4936 -} 4937 -alias _MESSAGE_RESOURCE_DATA MESSAGE_RESOURCE_DATA; 4938 -alias _MESSAGE_RESOURCE_DATA* PMESSAGE_RESOURCE_DATA; 4939 - 4940 -struct _OSVERSIONINFOA { 4941 - DWORD dwOSVersionInfoSize; 4942 - DWORD dwMajorVersion; 4943 - DWORD dwMinorVersion; 4944 - DWORD dwBuildNumber; 4945 - DWORD dwPlatformId; 4946 - CHAR szCSDVersion[ 128 ]; 4947 -} 4948 -alias _OSVERSIONINFOA OSVERSIONINFOA; 4949 -alias _OSVERSIONINFOA* POSVERSIONINFOA; 4950 -alias _OSVERSIONINFOA* LPOSVERSIONINFOA; 4951 - 4952 -struct _OSVERSIONINFOW { 4953 - DWORD dwOSVersionInfoSize; 4954 - DWORD dwMajorVersion; 4955 - DWORD dwMinorVersion; 4956 - DWORD dwBuildNumber; 4957 - DWORD dwPlatformId; 4958 - WCHAR szCSDVersion[ 128 ]; 4959 -} 4960 -alias _OSVERSIONINFOW OSVERSIONINFOW; 4961 -alias _OSVERSIONINFOW* POSVERSIONINFOW; 4962 -alias _OSVERSIONINFOW* LPOSVERSIONINFOW; 4963 -alias _OSVERSIONINFOW RTL_OSVERSIONINFOW; 4964 -alias _OSVERSIONINFOW* PRTL_OSVERSIONINFOW; 4965 - 4966 -// #ifdef UNICODE 4967 -// ... 4968 -// #else 4969 -alias OSVERSIONINFOA OSVERSIONINFO; 4970 -alias POSVERSIONINFOA POSVERSIONINFO; 4971 -alias LPOSVERSIONINFOA LPOSVERSIONINFO; 4972 -// #endif // UNICODE 4973 - 4974 -struct _OSVERSIONINFOEXA { 4975 - DWORD dwOSVersionInfoSize; 4976 - DWORD dwMajorVersion; 4977 - DWORD dwMinorVersion; 4978 - DWORD dwBuildNumber; 4979 - DWORD dwPlatformId; 4980 - CHAR szCSDVersion[ 128 ]; 4981 - WORD wServicePackMajor; 4982 - WORD wServicePackMinor; 4983 - WORD wSuiteMask; 4984 - BYTE wProductType; 4985 - BYTE wReserved; 4986 -} 4987 -alias _OSVERSIONINFOEXA OSVERSIONINFOEXA; 4988 -alias _OSVERSIONINFOEXA* POSVERSIONINFOEXA; 4989 -alias _OSVERSIONINFOEXA* LPOSVERSIONINFOEXA; 4990 - 4991 -struct _OSVERSIONINFOEXW { 4992 - DWORD dwOSVersionInfoSize; 4993 - DWORD dwMajorVersion; 4994 - DWORD dwMinorVersion; 4995 - DWORD dwBuildNumber; 4996 - DWORD dwPlatformId; 4997 - WCHAR szCSDVersion[ 128 ]; 4998 - WORD wServicePackMajor; 4999 - WORD wServicePackMinor; 5000 - WORD wSuiteMask; 5001 - BYTE wProductType; 5002 - BYTE wReserved; 5003 -} 5004 -alias _OSVERSIONINFOEXW OSVERSIONINFOEXW; 5005 -alias _OSVERSIONINFOEXW* POSVERSIONINFOEXW; 5006 -alias _OSVERSIONINFOEXW* LPOSVERSIONINFOEXW; 5007 -alias _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW; 5008 -alias _OSVERSIONINFOEXW* PRTL_OSVERSIONINFOEXW; 5009 - 5010 -// #ifdef UNICODE 5011 -// ... 5012 -// #else 5013 -alias OSVERSIONINFOEXA OSVERSIONINFOEX; 5014 -alias POSVERSIONINFOEXA POSVERSIONINFOEX; 5015 -alias LPOSVERSIONINFOEXA LPOSVERSIONINFOEX; 5016 -// #endif // UNICODE 5017 - 5018 -enum : uint { VER_EQUAL = 1 } 5019 -enum : uint { VER_GREATER = 2 } 5020 -enum : uint { VER_GREATER_EQUAL = 3 } 5021 -enum : uint { VER_LESS = 4 } 5022 -enum : uint { VER_LESS_EQUAL = 5 } 5023 -enum : uint { VER_AND = 6 } 5024 -enum : uint { VER_OR = 7 } 5025 - 5026 -enum : uint { VER_CONDITION_MASK = 7 } 5027 -enum : uint { VER_NUM_BITS_PER_CONDITION_MASK = 3 } 5028 - 5029 -enum : uint { VER_MINORVERSION = 0x0000001 } 5030 -enum : uint { VER_MAJORVERSION = 0x0000002 } 5031 -enum : uint { VER_BUILDNUMBER = 0x0000004 } 5032 -enum : uint { VER_PLATFORMID = 0x0000008 } 5033 -enum : uint { VER_SERVICEPACKMINOR = 0x0000010 } 5034 -enum : uint { VER_SERVICEPACKMAJOR = 0x0000020 } 5035 -enum : uint { VER_SUITENAME = 0x0000040 } 5036 -enum : uint { VER_PRODUCT_TYPE = 0x0000080 } 5037 - 5038 -enum : uint { VER_NT_WORKSTATION = 0x0000001 } 5039 -enum : uint { VER_NT_DOMAIN_CONTROLLER = 0x0000002 } 5040 -enum : uint { VER_NT_SERVER = 0x0000003 } 5041 - 5042 -enum : uint { VER_PLATFORM_WIN32s = 0 } 5043 -enum : uint { VER_PLATFORM_WIN32_WINDOWS = 1 } 5044 -enum : uint { VER_PLATFORM_WIN32_NT = 2 } 5045 - 5046 -// #define VER_SET_CONDITION(_m_,_t_,_c_) ((_m_)=VerSetConditionMask((_m_),(_t_),(_c_))) 5047 - 5048 -extern(Windows) export ULONGLONG VerSetConditionMask( 5049 - ULONGLONG ConditionMask, 5050 - DWORD TypeMask, 5051 - BYTE Condition); 5052 - 5053 -struct _RTL_CRITICAL_SECTION_DEBUG { 5054 - WORD Type; 5055 - WORD CreatorBackTraceIndex; 5056 - _RTL_CRITICAL_SECTION *CriticalSection; 5057 - LIST_ENTRY ProcessLocksList; 5058 - DWORD EntryCount; 5059 - DWORD ContentionCount; 5060 - DWORD Spare[ 2 ]; 5061 -} 5062 -alias _RTL_CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG; 5063 -alias _RTL_CRITICAL_SECTION_DEBUG* PRTL_CRITICAL_SECTION_DEBUG; 5064 -alias _RTL_CRITICAL_SECTION_DEBUG RTL_RESOURCE_DEBUG; 5065 -alias _RTL_CRITICAL_SECTION_DEBUG* PRTL_RESOURCE_DEBUG; 5066 - 5067 -enum : uint { RTL_CRITSECT_TYPE = 0 } 5068 -enum : uint { RTL_RESOURCE_TYPE = 1 } 5069 - 5070 -struct _RTL_CRITICAL_SECTION { 5071 - PRTL_CRITICAL_SECTION_DEBUG DebugInfo; 5072 - 5073 - LONG LockCount; 5074 - LONG RecursionCount; 5075 - HANDLE OwningThread; 5076 - HANDLE LockSemaphore; 5077 - ULONG_PTR SpinCount; 5078 -} 5079 -alias _RTL_CRITICAL_SECTION RTL_CRITICAL_SECTION; 5080 -alias _RTL_CRITICAL_SECTION* PRTL_CRITICAL_SECTION; 5081 - 5082 -extern(Windows) alias VOID function( PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved ) RTL_VERIFIER_DLL_LOAD_CALLBACK; 5083 - 5084 -extern(Windows) alias VOID function( PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved ) RTL_VERIFIER_DLL_UNLOAD_CALLBACK; 5085 - 5086 -struct _RTL_VERIFIER_THUNK_DESCRIPTOR { 5087 - 5088 - PCHAR ThunkName; 5089 - PVOID ThunkOldAddress; 5090 - PVOID ThunkNewAddress; 5091 -} 5092 -alias _RTL_VERIFIER_THUNK_DESCRIPTOR RTL_VERIFIER_THUNK_DESCRIPTOR; 5093 -alias _RTL_VERIFIER_THUNK_DESCRIPTOR* PRTL_VERIFIER_THUNK_DESCRIPTOR; 5094 - 5095 -struct _RTL_VERIFIER_DLL_DESCRIPTOR { 5096 - 5097 - PWCHAR DllName; 5098 - DWORD DllFlags; 5099 - PVOID DllAddress; 5100 - PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks; 5101 -} 5102 -alias _RTL_VERIFIER_DLL_DESCRIPTOR RTL_VERIFIER_DLL_DESCRIPTOR; 5103 -alias _RTL_VERIFIER_DLL_DESCRIPTOR* PRTL_VERIFIER_DLL_DESCRIPTOR; 5104 - 5105 -struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR { 5106 - 5107 - DWORD Length; 5108 - PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls; 5109 - RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback; 5110 - RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback; 5111 - 5112 - PWSTR VerifierImage; 5113 - DWORD VerifierFlags; 5114 - DWORD VerifierDebug; 5115 -} 5116 -alias _RTL_VERIFIER_PROVIDER_DESCRIPTOR RTL_VERIFIER_PROVIDER_DESCRIPTOR; 5117 -alias _RTL_VERIFIER_PROVIDER_DESCRIPTOR* PRTL_VERIFIER_PROVIDER_DESCRIPTOR; 5118 - 5119 -enum : uint { RTL_VRF_FLG_FULL_PAGE_HEAP = 0x0001 } 5120 -enum : uint { RTL_VRF_FLG_LOCK_CHECKS = 0x0002 } 5121 -enum : uint { RTL_VRF_FLG_HANDLE_CHECKS = 0x0004 } 5122 -enum : uint { RTL_VRF_FLG_STACK_CHECKS = 0x0008 } 5123 -enum : uint { RTL_VRF_FLG_APPCOMPAT_CHECKS = 0x0010 } 5124 - 5125 -enum : uint { APPLICATION_VERIFIER_INTERNAL_ERROR = 0x80000000 } 5126 -enum : uint { APPLICATION_VERIFIER_INTERNAL_WARNING = 0x40000000 } 5127 -enum : uint { APPLICATION_VERIFIER_NO_BREAK = 0x20000000 } 5128 -enum : uint { APPLICATION_VERIFIER_RESERVED_BIT_28 = 0x10000000 } 5129 - 5130 -enum : uint { APPLICATION_VERIFIER_UNKNOWN_ERROR = 0x0001 } 5131 -enum : uint { APPLICATION_VERIFIER_ACCESS_VIOLATION = 0x0002 } 5132 -enum : uint { APPLICATION_VERIFIER_UNSYNCHRONIZED_ACCESS = 0x0003 } 5133 -enum : uint { APPLICATION_VERIFIER_EXTREME_SIZE_REQUEST = 0x0004 } 5134 -enum : uint { APPLICATION_VERIFIER_BAD_HEAP_HANDLE = 0x0005 } 5135 -enum : uint { APPLICATION_VERIFIER_SWITCHED_HEAP_HANDLE = 0x0006 } 5136 -enum : uint { APPLICATION_VERIFIER_DOUBLE_FREE = 0x0007 } 5137 -enum : uint { APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK = 0x0008 } 5138 -enum : uint { APPLICATION_VERIFIER_DESTROY_PROCESS_HEAP = 0x0009 } 5139 -enum : uint { APPLICATION_VERIFIER_UNEXPECTED_EXCEPTION = 0x000A } 5140 -enum : uint { APPLICATION_VERIFIER_STACK_OVERFLOW = 0x000B } 5141 - 5142 -enum : uint { APPLICATION_VERIFIER_TERMINATE_THREAD_CALL = 0x0100 } 5143 - 5144 -enum : uint { APPLICATION_VERIFIER_EXIT_THREAD_OWNS_LOCK = 0x0200 } 5145 -enum : uint { APPLICATION_VERIFIER_LOCK_IN_UNLOADED_DLL = 0x0201 } 5146 -enum : uint { APPLICATION_VERIFIER_LOCK_IN_FREED_HEAP = 0x0202 } 5147 -enum : uint { APPLICATION_VERIFIER_LOCK_DOUBLE_INITIALIZE = 0x0203 } 5148 -enum : uint { APPLICATION_VERIFIER_LOCK_IN_FREED_MEMORY = 0x0204 } 5149 -enum : uint { APPLICATION_VERIFIER_LOCK_CORRUPTED = 0x0205 } 5150 -enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_OWNER = 0x0206 } 5151 -enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_RECURSION_COUNT = 0x0207 } 5152 -enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_LOCK_COUNT = 0x0208 } 5153 -enum : uint { APPLICATION_VERIFIER_LOCK_OVER_RELEASED = 0x0209 } 5154 -enum : uint { APPLICATION_VERIFIER_LOCK_NOT_INITIALIZED = 0x0210 } 5155 - 5156 -enum : uint { APPLICATION_VERIFIER_INVALID_HANDLE = 0x0300 } 5157 - 5158 -// #define VERIFIER_STOP(Code, Msg, P1, S1, P2, S2, P3, S3, P4, S4) { RtlApplicationVerifierStop ((Code), (Msg), (ULONG_PTR)(P1),(S1), (ULONG_PTR)(P2),(S2), (ULONG_PTR)(P3),(S3), (ULONG_PTR)(P4),(S4)); } 5159 - 5160 -extern(Windows) export VOID RtlApplicationVerifierStop( 5161 - ULONG_PTR Code, 5162 - PCHAR Message, 5163 - ULONG_PTR Param1, PCHAR Description1, 5164 - ULONG_PTR Param2, PCHAR Description2, 5165 - ULONG_PTR Param3, PCHAR Description3, 5166 - ULONG_PTR Param4, PCHAR Description4); 5167 - 5168 -extern(Windows) alias LONG function( _EXCEPTION_POINTERS *ExceptionInfo ) PVECTORED_EXCEPTION_HANDLER; 5169 -enum : uint { SEF_DACL_AUTO_INHERIT = 0x01 } 5170 -enum : uint { SEF_SACL_AUTO_INHERIT = 0x02 } 5171 -enum : uint { SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT = 0x04 } 5172 -enum : uint { SEF_AVOID_PRIVILEGE_CHECK = 0x08 } 5173 -enum : uint { SEF_AVOID_OWNER_CHECK = 0x10 } 5174 -enum : uint { SEF_DEFAULT_OWNER_FROM_PARENT = 0x20 } 5175 -enum : uint { SEF_DEFAULT_GROUP_FROM_PARENT = 0x40 } 5176 - 5177 -alias int _HEAP_INFORMATION_CLASS; 5178 -enum { 5179 - 5180 - HeapCompatibilityInformation, 5181 - 5182 -} 5183 -alias _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS; 5184 - 5185 -extern(Windows) export DWORD RtlSetHeapInformation( 5186 - PVOID HeapHandle, 5187 - HEAP_INFORMATION_CLASS HeapInformationClass, 5188 - PVOID HeapInformation , 5189 - SIZE_T HeapInformationLength ); 5190 - 5191 -extern(Windows) export DWORD RtlQueryHeapInformation( 5192 - PVOID HeapHandle, 5193 - HEAP_INFORMATION_CLASS HeapInformationClass, 5194 - PVOID HeapInformation , 5195 - SIZE_T HeapInformationLength , 5196 - PSIZE_T ReturnLength ); 5197 - 5198 -enum : uint { WT_EXECUTEDEFAULT = 0x00000000 } 5199 -enum : uint { WT_EXECUTEINIOTHREAD = 0x00000001 } 5200 -enum : uint { WT_EXECUTEINUITHREAD = 0x00000002 } 5201 -enum : uint { WT_EXECUTEINWAITTHREAD = 0x00000004 } 5202 -enum : uint { WT_EXECUTEONLYONCE = 0x00000008 } 5203 -enum : uint { WT_EXECUTEINTIMERTHREAD = 0x00000020 } 5204 -enum : uint { WT_EXECUTELONGFUNCTION = 0x00000010 } 5205 -enum : uint { WT_EXECUTEINPERSISTENTIOTHREAD = 0x00000040 } 5206 -enum : uint { WT_EXECUTEINPERSISTENTTHREAD = 0x00000080 } 5207 -// #define WT_SET_MAX_THREADPOOL_THREADS(Flags, Limit) ((Flags) |= (Limit)<<16) 5208 -extern(Windows) alias VOID function(PVOID, BOOLEAN ) WAITORTIMERCALLBACKFUNC; 5209 -extern(Windows) alias VOID function(PVOID ) WORKERCALLBACKFUNC; 5210 -extern(Windows) alias VOID function(DWORD , PVOID, PVOID) APC_CALLBACK_FUNCTION; 5211 -enum : uint { WT_EXECUTEINLONGTHREAD = 0x00000010 } 5212 -enum : uint { WT_EXECUTEDELETEWAIT = 0x00000008 } 5213 - 5214 -alias int _ACTIVATION_CONTEXT_INFO_CLASS; 5215 -enum { 5216 - ActivationContextBasicInformation = 1, 5217 - ActivationContextDetailedInformation = 2, 5218 - AssemblyDetailedInformationInActivationContext = 3, 5219 - FileInformationInAssemblyOfAssemblyInActivationContext = 4, 5220 - MaxActivationContextInfoClass, 5221 - 5222 - AssemblyDetailedInformationInActivationContxt = 3, 5223 - FileInformationInAssemblyOfAssemblyInActivationContxt = 4, 5224 -} 5225 -alias _ACTIVATION_CONTEXT_INFO_CLASS ACTIVATION_CONTEXT_INFO_CLASS; 5226 - 5227 -alias ACTIVATION_CONTEXT_INFO_CLASS ACTIVATIONCONTEXTINFOCLASS; 5228 - 5229 -struct _ACTIVATION_CONTEXT_QUERY_INDEX { 5230 - DWORD ulAssemblyIndex; 5231 - DWORD ulFileIndexInAssembly; 5232 -} 5233 -alias _ACTIVATION_CONTEXT_QUERY_INDEX ACTIVATION_CONTEXT_QUERY_INDEX; 5234 -alias _ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_INDEX; 5235 - 5236 -alias _ACTIVATION_CONTEXT_QUERY_INDEX* PCACTIVATION_CONTEXT_QUERY_INDEX; 5237 - 5238 -enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_NONE = 1 } 5239 -enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE = 2 } 5240 -enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_URL = 3 } 5241 -enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF = 4 } 5242 - 5243 -struct _ASSEMBLY_FILE_DETAILED_INFORMATION { 5244 - DWORD ulFlags; 5245 - DWORD ulFilenameLength; 5246 - DWORD ulPathLength; 5247 - PCWSTR lpFileName; 5248 - PCWSTR lpFilePath; 5249 -} 5250 -alias _ASSEMBLY_FILE_DETAILED_INFORMATION ASSEMBLY_FILE_DETAILED_INFORMATION; 5251 -alias _ASSEMBLY_FILE_DETAILED_INFORMATION* PASSEMBLY_FILE_DETAILED_INFORMATION; 5252 - 5253 -alias ASSEMBLY_FILE_DETAILED_INFORMATION* PCASSEMBLY_FILE_DETAILED_INFORMATION; 5254 - 5255 -alias _ASSEMBLY_FILE_DETAILED_INFORMATION _ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; 5256 -alias ASSEMBLY_FILE_DETAILED_INFORMATION ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; 5257 -alias PASSEMBLY_FILE_DETAILED_INFORMATION PASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; 5258 -alias PCASSEMBLY_FILE_DETAILED_INFORMATION PCASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; 5259 - 5260 -struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { 5261 - DWORD ulFlags; 5262 - DWORD ulEncodedAssemblyIdentityLength; 5263 - DWORD ulManifestPathType; 5264 - DWORD ulManifestPathLength; 5265 - LARGE_INTEGER liManifestLastWriteTime; 5266 - DWORD ulPolicyPathType; 5267 - DWORD ulPolicyPathLength; 5268 - LARGE_INTEGER liPolicyLastWriteTime; 5269 - DWORD ulMetadataSatelliteRosterIndex; 5270 - DWORD ulManifestVersionMajor; 5271 - DWORD ulManifestVersionMinor; 5272 - DWORD ulPolicyVersionMajor; 5273 - DWORD ulPolicyVersionMinor; 5274 - DWORD ulAssemblyDirectoryNameLength; 5275 - 5276 - PCWSTR lpAssemblyEncodedAssemblyIdentity; 5277 - PCWSTR lpAssemblyManifestPath; 5278 - PCWSTR lpAssemblyPolicyPath; 5279 - PCWSTR lpAssemblyDirectoryName; 5280 - DWORD ulFileCount; 5281 -} 5282 -alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 5283 -alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 5284 - 5285 -alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 5286 - 5287 -struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION { 5288 - DWORD dwFlags; 5289 - DWORD ulFormatVersion; 5290 - DWORD ulAssemblyCount; 5291 - DWORD ulRootManifestPathType; 5292 - DWORD ulRootManifestPathChars; 5293 - DWORD ulRootConfigurationPathType; 5294 - DWORD ulRootConfigurationPathChars; 5295 - DWORD ulAppDirPathType; 5296 - DWORD ulAppDirPathChars; 5297 - PCWSTR lpRootManifestPath; 5298 - PCWSTR lpRootConfigurationPath; 5299 - PCWSTR lpAppDirPath; 5300 -} 5301 -alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION ACTIVATION_CONTEXT_DETAILED_INFORMATION; 5302 -alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION* PACTIVATION_CONTEXT_DETAILED_INFORMATION; 5303 - 5304 -alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION* PCACTIVATION_CONTEXT_DETAILED_INFORMATION; 5305 - 5306 -enum : uint { DLL_PROCESS_ATTACH = 1 } 5307 -enum : uint { DLL_THREAD_ATTACH = 2 } 5308 -enum : uint { DLL_THREAD_DETACH = 3 } 5309 -enum : uint { DLL_PROCESS_DETACH = 0 } 5310 -enum : uint { DLL_PROCESS_VERIFIER = 4 } 5311 - 5312 -enum : uint { EVENTLOG_SEQUENTIAL_READ = 0x0001 } 5313 -enum : uint { EVENTLOG_SEEK_READ = 0x0002 } 5314 -enum : uint { EVENTLOG_FORWARDS_READ = 0x0004 } 5315 -enum : uint { EVENTLOG_BACKWARDS_READ = 0x0008 } 5316 - 5317 -enum : uint { EVENTLOG_SUCCESS = 0x0000 } 5318 -enum : uint { EVENTLOG_ERROR_TYPE = 0x0001 } 5319 -enum : uint { EVENTLOG_WARNING_TYPE = 0x0002 } 5320 -enum : uint { EVENTLOG_INFORMATION_TYPE = 0x0004 } 5321 -enum : uint { EVENTLOG_AUDIT_SUCCESS = 0x0008 } 5322 -enum : uint { EVENTLOG_AUDIT_FAILURE = 0x0010 } 5323 - 5324 -enum : uint { EVENTLOG_START_PAIRED_EVENT = 0x0001 } 5325 -enum : uint { EVENTLOG_END_PAIRED_EVENT = 0x0002 } 5326 -enum : uint { EVENTLOG_END_ALL_PAIRED_EVENTS = 0x0004 } 5327 -enum : uint { EVENTLOG_PAIRED_EVENT_ACTIVE = 0x0008 } 5328 -enum : uint { EVENTLOG_PAIRED_EVENT_INACTIVE = 0x0010 } 5329 - 5330 -struct _EVENTLOGRECORD { 5331 - DWORD Length; 5332 - DWORD Reserved; 5333 - DWORD RecordNumber; 5334 - DWORD TimeGenerated; 5335 - DWORD TimeWritten; 5336 - DWORD EventID; 5337 - WORD EventType; 5338 - WORD NumStrings; 5339 - WORD EventCategory; 5340 - WORD ReservedFlags; 5341 - DWORD ClosingRecordNumber; 5342 - DWORD StringOffset; 5343 - DWORD UserSidLength; 5344 - DWORD UserSidOffset; 5345 - DWORD DataLength; 5346 - DWORD DataOffset; 5347 - 5348 -} 5349 -alias _EVENTLOGRECORD EVENTLOGRECORD; 5350 -alias _EVENTLOGRECORD* PEVENTLOGRECORD; 5351 - 5352 -enum : uint { MAXLOGICALLOGNAMESIZE = 256 } 5353 - 5354 -// #if _MSC_VER >= 1200 5355 -// #pragma warning(push) 5356 -// #endif 5357 -// #pragma warning(disable : 4200) 5358 -struct _EVENTSFORLOGFILE { 5359 - DWORD ulSize; 5360 - WCHAR szLogicalLogFile[MAXLOGICALLOGNAMESIZE]; 5361 - DWORD ulNumRecords; 5362 - EVENTLOGRECORD pEventLogRecords[]; 5363 -} 5364 -alias _EVENTSFORLOGFILE EVENTSFORLOGFILE; 5365 -alias _EVENTSFORLOGFILE* PEVENTSFORLOGFILE; 5366 - 5367 -struct _PACKEDEVENTINFO { 5368 - DWORD ulSize; 5369 - DWORD ulNumEventsForLogFile; 5370 - DWORD ulOffsets[]; 5371 -} 5372 -alias _PACKEDEVENTINFO PACKEDEVENTINFO; 5373 -alias _PACKEDEVENTINFO* PPACKEDEVENTINFO; 5374 - 5375 -// #if _MSC_VER >= 1200 5376 -// #pragma warning(pop) 5377 -// #else 5378 -// #... 5379 -// #endif 5380 - 5381 -enum : uint { KEY_QUERY_VALUE = 0x0001 } 5382 -enum : uint { KEY_SET_VALUE = 0x0002 } 5383 -enum : uint { KEY_CREATE_SUB_KEY = 0x0004 } 5384 -enum : uint { KEY_ENUMERATE_SUB_KEYS = 0x0008 } 5385 -enum : uint { KEY_NOTIFY = 0x0010 } 5386 -enum : uint { KEY_CREATE_LINK = 0x0020 } 5387 -enum : uint { KEY_WOW64_32KEY = 0x0200 } 5388 -enum : uint { KEY_WOW64_64KEY = 0x0100 } 5389 -enum : uint { KEY_WOW64_RES = 0x0300 } 5390 - 5391 -enum : uint { KEY_READ = (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & (~SYNCHRONIZE) } 5392 - 5393 -enum : uint { KEY_WRITE = (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & (~SYNCHRONIZE) } 5394 - 5395 -enum : uint { KEY_EXECUTE = KEY_READ & ~SYNCHRONIZE } 5396 - 5397 -enum : uint { KEY_ALL_ACCESS = (STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY | KEY_CREATE_LINK) & (~SYNCHRONIZE) } 5398 - 5399 -enum : uint { REG_OPTION_RESERVED = 0x00000000 } 5400 - 5401 -enum : uint { REG_OPTION_NON_VOLATILE = 0x00000000 } 5402 - 5403 -enum : uint { REG_OPTION_VOLATILE = 0x00000001 } 5404 - 5405 -enum : uint { REG_OPTION_CREATE_LINK = 0x00000002 } 5406 - 5407 -enum : uint { REG_OPTION_BACKUP_RESTORE = 0x00000004 } 5408 - 5409 -enum : uint { REG_OPTION_OPEN_LINK = 0x00000008 } 5410 - 5411 -enum : uint { REG_LEGAL_OPTION = REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK | REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK } 5412 - 5413 -enum : uint { REG_CREATED_NEW_KEY = 0x00000001 } 5414 -enum : uint { REG_OPENED_EXISTING_KEY = 0x00000002 } 5415 - 5416 -enum : uint { REG_STANDARD_FORMAT = 1 } 5417 -enum : uint { REG_LATEST_FORMAT = 2 } 5418 -enum : uint { REG_NO_COMPRESSION = 4 } 5419 - 5420 -enum : uint { REG_WHOLE_HIVE_VOLATILE = 0x00000001 } 5421 -enum : uint { REG_REFRESH_HIVE = 0x00000002 } 5422 -enum : uint { REG_NO_LAZY_FLUSH = 0x00000004 } 5423 -enum : uint { REG_FORCE_RESTORE = 0x00000008 } 5424 - 5425 -enum : uint { REG_NOTIFY_CHANGE_NAME = 0x00000001 } 5426 -enum : uint { REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002 } 5427 -enum : uint { REG_NOTIFY_CHANGE_LAST_SET = 0x00000004 } 5428 -enum : uint { REG_NOTIFY_CHANGE_SECURITY = 0x00000008 } 5429 - 5430 -enum : uint { REG_LEGAL_CHANGE_FILTER = REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY } 5431 - 5432 -enum : uint { REG_NONE = 0 } 5433 -enum : uint { REG_SZ = 1 } 5434 -enum : uint { REG_EXPAND_SZ = 2 } 5435 - 5436 -enum : uint { REG_BINARY = 3 } 5437 -enum : uint { REG_DWORD = 4 } 5438 -enum : uint { REG_DWORD_LITTLE_ENDIAN = 4 } 5439 -enum : uint { REG_DWORD_BIG_ENDIAN = 5 } 5440 -enum : uint { REG_LINK = 6 } 5441 -enum : uint { REG_MULTI_SZ = 7 } 5442 -enum : uint { REG_RESOURCE_LIST = 8 } 5443 -enum : uint { REG_FULL_RESOURCE_DESCRIPTOR = 9 } 5444 -enum : uint { REG_RESOURCE_REQUIREMENTS_LIST = 10 } 5445 -enum : uint { REG_QWORD = 11 } 5446 -enum : uint { REG_QWORD_LITTLE_ENDIAN = 11 } 5447 - 5448 -enum : uint { SERVICE_KERNEL_DRIVER = 0x00000001 } 5449 -enum : uint { SERVICE_FILE_SYSTEM_DRIVER = 0x00000002 } 5450 -enum : uint { SERVICE_ADAPTER = 0x00000004 } 5451 -enum : uint { SERVICE_RECOGNIZER_DRIVER = 0x00000008 } 5452 - 5453 -enum : uint { SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER } 5454 - 5455 -enum : uint { SERVICE_WIN32_OWN_PROCESS = 0x00000010 } 5456 -enum : uint { SERVICE_WIN32_SHARE_PROCESS = 0x00000020 } 5457 -enum : uint { SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS } 5458 - 5459 -enum : uint { SERVICE_INTERACTIVE_PROCESS = 0x00000100 } 5460 - 5461 -enum : uint { SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS } 5462 - 5463 -enum : uint { SERVICE_BOOT_START = 0x00000000 } 5464 -enum : uint { SERVICE_SYSTEM_START = 0x00000001 } 5465 -enum : uint { SERVICE_AUTO_START = 0x00000002 } 5466 -enum : uint { SERVICE_DEMAND_START = 0x00000003 } 5467 -enum : uint { SERVICE_DISABLED = 0x00000004 } 5468 - 5469 -enum : uint { SERVICE_ERROR_IGNORE = 0x00000000 } 5470 -enum : uint { SERVICE_ERROR_NORMAL = 0x00000001 } 5471 -enum : uint { SERVICE_ERROR_SEVERE = 0x00000002 } 5472 -enum : uint { SERVICE_ERROR_CRITICAL = 0x00000003 } 5473 - 5474 -alias int _CM_SERVICE_NODE_TYPE; 5475 -enum { 5476 - DriverType = SERVICE_KERNEL_DRIVER, 5477 - FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, 5478 - Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, 5479 - Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, 5480 - AdapterType = SERVICE_ADAPTER, 5481 - RecognizerType = SERVICE_RECOGNIZER_DRIVER, 5482 -} 5483 -alias _CM_SERVICE_NODE_TYPE SERVICE_NODE_TYPE; 5484 - 5485 -alias int _CM_SERVICE_LOAD_TYPE; 5486 -enum { 5487 - BootLoad = SERVICE_BOOT_START, 5488 - SystemLoad = SERVICE_SYSTEM_START, 5489 - AutoLoad = SERVICE_AUTO_START, 5490 - DemandLoad = SERVICE_DEMAND_START, 5491 - DisableLoad = SERVICE_DISABLED, 5492 -} 5493 -alias _CM_SERVICE_LOAD_TYPE SERVICE_LOAD_TYPE; 5494 - 5495 -alias int _CM_ERROR_CONTROL_TYPE; 5496 -enum { 5497 - IgnoreError = SERVICE_ERROR_IGNORE, 5498 - NormalError = SERVICE_ERROR_NORMAL, 5499 - SevereError = SERVICE_ERROR_SEVERE, 5500 - CriticalError = SERVICE_ERROR_CRITICAL, 5501 -} 5502 -alias _CM_ERROR_CONTROL_TYPE SERVICE_ERROR_TYPE; 5503 - 5504 -enum : uint { TAPE_ERASE_SHORT = 0 } 5505 -enum : uint { TAPE_ERASE_LONG = 1 } 5506 - 5507 -struct _TAPE_ERASE { 5508 - DWORD Type; 5509 - BOOLEAN Immediate; 5510 -} 5511 -alias _TAPE_ERASE TAPE_ERASE; 5512 -alias _TAPE_ERASE* PTAPE_ERASE; 5513 - 5514 -enum : uint { TAPE_LOAD = 0 } 5515 -enum : uint { TAPE_UNLOAD = 1 } 5516 -enum : uint { TAPE_TENSION = 2 } 5517 -enum : uint { TAPE_LOCK = 3 } 5518 -enum : uint { TAPE_UNLOCK = 4 } 5519 -enum : uint { TAPE_FORMAT = 5 } 5520 - 5521 -struct _TAPE_PREPARE { 5522 - DWORD Operation; 5523 - BOOLEAN Immediate; 5524 -} 5525 -alias _TAPE_PREPARE TAPE_PREPARE; 5526 -alias _TAPE_PREPARE* PTAPE_PREPARE; 5527 - 5528 -enum : uint { TAPE_SETMARKS = 0 } 5529 -enum : uint { TAPE_FILEMARKS = 1 } 5530 -enum : uint { TAPE_SHORT_FILEMARKS = 2 } 5531 -enum : uint { TAPE_LONG_FILEMARKS = 3 } 5532 - 5533 -struct _TAPE_WRITE_MARKS { 5534 - DWORD Type; 5535 - DWORD Count; 5536 - BOOLEAN Immediate; 5537 -} 5538 -alias _TAPE_WRITE_MARKS TAPE_WRITE_MARKS; 5539 -alias _TAPE_WRITE_MARKS* PTAPE_WRITE_MARKS; 5540 - 5541 -enum : uint { TAPE_ABSOLUTE_POSITION = 0 } 5542 -enum : uint { TAPE_LOGICAL_POSITION = 1 } 5543 -enum : uint { TAPE_PSEUDO_LOGICAL_POSITION = 2 } 5544 - 5545 -struct _TAPE_GET_POSITION { 5546 - DWORD Type; 5547 - DWORD Partition; 5548 - LARGE_INTEGER Offset; 5549 -} 5550 -alias _TAPE_GET_POSITION TAPE_GET_POSITION; 5551 -alias _TAPE_GET_POSITION* PTAPE_GET_POSITION; 5552 - 5553 -enum : uint { TAPE_REWIND = 0 } 5554 -enum : uint { TAPE_ABSOLUTE_BLOCK = 1 } 5555 -enum : uint { TAPE_LOGICAL_BLOCK = 2 } 5556 -enum : uint { TAPE_PSEUDO_LOGICAL_BLOCK = 3 } 5557 -enum : uint { TAPE_SPACE_END_OF_DATA = 4 } 5558 -enum : uint { TAPE_SPACE_RELATIVE_BLOCKS = 5 } 5559 -enum : uint { TAPE_SPACE_FILEMARKS = 6 } 5560 -enum : uint { TAPE_SPACE_SEQUENTIAL_FMKS = 7 } 5561 -enum : uint { TAPE_SPACE_SETMARKS = 8 } 5562 -enum : uint { TAPE_SPACE_SEQUENTIAL_SMKS = 9 } 5563 - 5564 -struct _TAPE_SET_POSITION { 5565 - DWORD Method; 5566 - DWORD Partition; 5567 - LARGE_INTEGER Offset; 5568 - BOOLEAN Immediate; 5569 -} 5570 -alias _TAPE_SET_POSITION TAPE_SET_POSITION; 5571 -alias _TAPE_SET_POSITION* PTAPE_SET_POSITION; 5572 - 5573 -enum : uint { TAPE_DRIVE_FIXED = 0x00000001 } 5574 -enum : uint { TAPE_DRIVE_SELECT = 0x00000002 } 5575 -enum : uint { TAPE_DRIVE_INITIATOR = 0x00000004 } 5576 - 5577 -enum : uint { TAPE_DRIVE_ERASE_SHORT = 0x00000010 } 5578 -enum : uint { TAPE_DRIVE_ERASE_LONG = 0x00000020 } 5579 -enum : uint { TAPE_DRIVE_ERASE_BOP_ONLY = 0x00000040 } 5580 -enum : uint { TAPE_DRIVE_ERASE_IMMEDIATE = 0x00000080 } 5581 - 5582 -enum : uint { TAPE_DRIVE_TAPE_CAPACITY = 0x00000100 } 5583 -enum : uint { TAPE_DRIVE_TAPE_REMAINING = 0x00000200 } 5584 -enum : uint { TAPE_DRIVE_FIXED_BLOCK = 0x00000400 } 5585 -enum : uint { TAPE_DRIVE_VARIABLE_BLOCK = 0x00000800 } 5586 - 5587 -enum : uint { TAPE_DRIVE_WRITE_PROTECT = 0x00001000 } 5588 -enum : uint { TAPE_DRIVE_EOT_WZ_SIZE = 0x00002000 } 5589 - 5590 -enum : uint { TAPE_DRIVE_ECC = 0x00010000 } 5591 -enum : uint { TAPE_DRIVE_COMPRESSION = 0x00020000 } 5592 -enum : uint { TAPE_DRIVE_PADDING = 0x00040000 } 5593 -enum : uint { TAPE_DRIVE_REPORT_SMKS = 0x00080000 } 5594 - 5595 -enum : uint { TAPE_DRIVE_GET_ABSOLUTE_BLK = 0x00100000 } 5596 -enum : uint { TAPE_DRIVE_GET_LOGICAL_BLK = 0x00200000 } 5597 -enum : uint { TAPE_DRIVE_SET_EOT_WZ_SIZE = 0x00400000 } 5598 - 5599 -enum : uint { TAPE_DRIVE_EJECT_MEDIA = 0x01000000 } 5600 -enum : uint { TAPE_DRIVE_CLEAN_REQUESTS = 0x02000000 } 5601 -enum : uint { TAPE_DRIVE_SET_CMP_BOP_ONLY = 0x04000000 } 5602 - 5603 -enum : uint { TAPE_DRIVE_RESERVED_BIT = 0x80000000 } 5604 - 5605 -enum : uint { TAPE_DRIVE_LOAD_UNLOAD = 0x80000001 } 5606 -enum : uint { TAPE_DRIVE_TENSION = 0x80000002 } 5607 -enum : uint { TAPE_DRIVE_LOCK_UNLOCK = 0x80000004 } 5608 -enum : uint { TAPE_DRIVE_REWIND_IMMEDIATE = 0x80000008 } 5609 - 5610 -enum : uint { TAPE_DRIVE_SET_BLOCK_SIZE = 0x80000010 } 5611 -enum : uint { TAPE_DRIVE_LOAD_UNLD_IMMED = 0x80000020 } 5612 -enum : uint { TAPE_DRIVE_TENSION_IMMED = 0x80000040 } 5613 -enum : uint { TAPE_DRIVE_LOCK_UNLK_IMMED = 0x80000080 } 5614 - 5615 -enum : uint { TAPE_DRIVE_SET_ECC = 0x80000100 } 5616 -enum : uint { TAPE_DRIVE_SET_COMPRESSION = 0x80000200 } 5617 -enum : uint { TAPE_DRIVE_SET_PADDING = 0x80000400 } 5618 -enum : uint { TAPE_DRIVE_SET_REPORT_SMKS = 0x80000800 } 5619 - 5620 -enum : uint { TAPE_DRIVE_ABSOLUTE_BLK = 0x80001000 } 5621 -enum : uint { TAPE_DRIVE_ABS_BLK_IMMED = 0x80002000 } 5622 -enum : uint { TAPE_DRIVE_LOGICAL_BLK = 0x80004000 } 5623 -enum : uint { TAPE_DRIVE_LOG_BLK_IMMED = 0x80008000 } 5624 - 5625 -enum : uint { TAPE_DRIVE_END_OF_DATA = 0x80010000 } 5626 -enum : uint { TAPE_DRIVE_RELATIVE_BLKS = 0x80020000 } 5627 -enum : uint { TAPE_DRIVE_FILEMARKS = 0x80040000 } 5628 -enum : uint { TAPE_DRIVE_SEQUENTIAL_FMKS = 0x80080000 } 5629 - 5630 -enum : uint { TAPE_DRIVE_SETMARKS = 0x80100000 } 5631 -enum : uint { TAPE_DRIVE_SEQUENTIAL_SMKS = 0x80200000 } 5632 -enum : uint { TAPE_DRIVE_REVERSE_POSITION = 0x80400000 } 5633 -enum : uint { TAPE_DRIVE_SPACE_IMMEDIATE = 0x80800000 } 5634 - 5635 -enum : uint { TAPE_DRIVE_WRITE_SETMARKS = 0x81000000 } 5636 -enum : uint { TAPE_DRIVE_WRITE_FILEMARKS = 0x82000000 } 5637 -enum : uint { TAPE_DRIVE_WRITE_SHORT_FMKS = 0x84000000 } 5638 -enum : uint { TAPE_DRIVE_WRITE_LONG_FMKS = 0x88000000 } 5639 - 5640 -enum : uint { TAPE_DRIVE_WRITE_MARK_IMMED = 0x90000000 } 5641 -enum : uint { TAPE_DRIVE_FORMAT = 0xA0000000 } 5642 -enum : uint { TAPE_DRIVE_FORMAT_IMMEDIATE = 0xC0000000 } 5643 -enum : uint { TAPE_DRIVE_HIGH_FEATURES = 0x80000000 } 5644 - 5645 -struct _TAPE_GET_DRIVE_PARAMETERS { 5646 - BOOLEAN ECC; 5647 - BOOLEAN Compression; 5648 - BOOLEAN DataPadding; 5649 - BOOLEAN ReportSetmarks; 5650 - DWORD DefaultBlockSize; 5651 - DWORD MaximumBlockSize; 5652 - DWORD MinimumBlockSize; 5653 - DWORD MaximumPartitionCount; 5654 - DWORD FeaturesLow; 5655 - DWORD FeaturesHigh; 5656 - DWORD EOTWarningZoneSize; 5657 -} 5658 -alias _TAPE_GET_DRIVE_PARAMETERS TAPE_GET_DRIVE_PARAMETERS; 5659 -alias _TAPE_GET_DRIVE_PARAMETERS* PTAPE_GET_DRIVE_PARAMETERS; 5660 - 5661 -struct _TAPE_SET_DRIVE_PARAMETERS { 5662 - BOOLEAN ECC; 5663 - BOOLEAN Compression; 5664 - BOOLEAN DataPadding; 5665 - BOOLEAN ReportSetmarks; 5666 - DWORD EOTWarningZoneSize; 5667 -} 5668 -alias _TAPE_SET_DRIVE_PARAMETERS TAPE_SET_DRIVE_PARAMETERS; 5669 -alias _TAPE_SET_DRIVE_PARAMETERS* PTAPE_SET_DRIVE_PARAMETERS; 5670 - 5671 -struct _TAPE_GET_MEDIA_PARAMETERS { 5672 - LARGE_INTEGER Capacity; 5673 - LARGE_INTEGER Remaining; 5674 - DWORD BlockSize; 5675 - DWORD PartitionCount; 5676 - BOOLEAN WriteProtected; 5677 -} 5678 -alias _TAPE_GET_MEDIA_PARAMETERS TAPE_GET_MEDIA_PARAMETERS; 5679 -alias _TAPE_GET_MEDIA_PARAMETERS* PTAPE_GET_MEDIA_PARAMETERS; 5680 - 5681 -struct _TAPE_SET_MEDIA_PARAMETERS { 5682 - DWORD BlockSize; 5683 -} 5684 -alias _TAPE_SET_MEDIA_PARAMETERS TAPE_SET_MEDIA_PARAMETERS; 5685 -alias _TAPE_SET_MEDIA_PARAMETERS* PTAPE_SET_MEDIA_PARAMETERS; 5686 - 5687 -enum : uint { TAPE_FIXED_PARTITIONS = 0 } 5688 -enum : uint { TAPE_SELECT_PARTITIONS = 1 } 5689 -enum : uint { TAPE_INITIATOR_PARTITIONS = 2 } 5690 - 5691 -struct _TAPE_CREATE_PARTITION { 5692 - DWORD Method; 5693 - DWORD Count; 5694 - DWORD Size; 5695 -} 5696 -alias _TAPE_CREATE_PARTITION TAPE_CREATE_PARTITION; 5697 -alias _TAPE_CREATE_PARTITION* PTAPE_CREATE_PARTITION; 5698 - 5699 -enum : uint { TAPE_QUERY_DRIVE_PARAMETERS = 0 } 5700 -enum : uint { TAPE_QUERY_MEDIA_CAPACITY = 1 } 5701 -enum : uint { TAPE_CHECK_FOR_DRIVE_PROBLEM = 2 } 5702 -enum : uint { TAPE_QUERY_IO_ERROR_DATA = 3 } 5703 -enum : uint { TAPE_QUERY_DEVICE_ERROR_DATA = 4 } 5704 - 5705 -struct _TAPE_WMI_OPERATIONS { 5706 - DWORD Method; 5707 - DWORD DataBufferSize; 5708 - PVOID DataBuffer; 5709 -} 5710 -alias _TAPE_WMI_OPERATIONS TAPE_WMI_OPERATIONS; 5711 -alias _TAPE_WMI_OPERATIONS* PTAPE_WMI_OPERATIONS; 5712 - 5713 -alias int _TAPE_DRIVE_PROBLEM_TYPE; 5714 -enum { 5715 - TapeDriveProblemNone, 5716 - TapeDriveReadWriteWarning, 5717 - TapeDriveReadWriteError, 5718 - TapeDriveReadWarning, 5719 - TapeDriveWriteWarning, 5720 - TapeDriveReadError, 5721 - TapeDriveWriteError, 5722 - TapeDriveHardwareError, 5723 - TapeDriveUnsupportedMedia, 5724 - TapeDriveScsiConnectionError, 5725 - TapeDriveTimetoClean, 5726 - TapeDriveCleanDriveNow, 5727 - TapeDriveMediaLifeExpired, 5728 - TapeDriveSnappedTape, 5729 -} 5730 -alias _TAPE_DRIVE_PROBLEM_TYPE TAPE_DRIVE_PROBLEM_TYPE; 5731 - 5732 -// #if defined(_M_AMD64) && !defined(__midl) 5733 - 5734 -// ... 5735 - 5736 -// ... 5737 - 5738 -// ... 5739 - 5740 -// ... 5741 - 5742 -// ... 5743 - 5744 -// ... 5745 - 5746 -// #endif // _M_AMD64 && !defined(__midl) 5747 - 5748 -// #if (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED // winnt_only 5749 -enum : uint { ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1 } 5750 -enum : uint { ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION = 2 } 5751 -enum : uint { ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION = 3 } 5752 -enum : uint { ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION = 4 } 5753 -enum : uint { ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION = 5 } 5754 -enum : uint { ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION = 6 } 5755 -enum : uint { ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION = 7 } 5756 -enum : uint { ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE = 8 } 5757 -// #endif // winnt_only 5758 - 5759 -// #ifdef __cplusplus 5760 -// } 5761 -// #endif 5762 - 5763 -// #endif /* _WINNT_ */ 5764 -

Deleted src/win32/ansi/winreg.d version [c886d7b0f9be69a0]

1 -module win32.ansi.winreg; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winnt, win32.ansi.winbase; 7 - 8 -// #ifndef _WINREG_ 9 -// #define _WINREG_ 10 - 11 -// #ifdef _MAC 12 -// #... 13 -// #endif 14 - 15 -// #ifdef __cplusplus 16 -// extern "C" { 17 -// #endif 18 - 19 -// #ifndef WINVER 20 -// #... 21 -// #endif /* !WINVER */ 22 - 23 -alias ACCESS_MASK REGSAM; 24 - 25 -const HKEY HKEY_CLASSES_ROOT = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000000) ; 26 -const HKEY HKEY_CURRENT_USER = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000001) ; 27 -const HKEY HKEY_LOCAL_MACHINE = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000002) ; 28 -const HKEY HKEY_USERS = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000003) ; 29 -const HKEY HKEY_PERFORMANCE_DATA = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000004) ; 30 -const HKEY HKEY_PERFORMANCE_TEXT = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000050) ; 31 -const HKEY HKEY_PERFORMANCE_NLSTEXT = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000060) ; 32 -// #if(WINVER >= 0x0400) 33 -const HKEY HKEY_CURRENT_CONFIG = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000005) ; 34 -const HKEY HKEY_DYN_DATA = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000006) ; 35 - 36 -// #ifndef _PROVIDER_STRUCTS_DEFINED 37 -// #define _PROVIDER_STRUCTS_DEFINED 38 - 39 -enum : uint { PROVIDER_KEEPS_VALUE_LENGTH = 0x1 } 40 -struct val_context { 41 - int valuelen; 42 - LPVOID value_context; 43 - LPVOID val_buff_ptr; 44 -} 45 - 46 -alias val_context* PVALCONTEXT; 47 - 48 -struct pvalueA { 49 - LPSTR pv_valuename; 50 - int pv_valuelen; 51 - LPVOID pv_value_context; 52 - DWORD pv_type; 53 -} 54 -alias pvalueA PVALUEA; 55 -alias pvalueA* PPVALUEA; 56 - 57 -struct pvalueW { 58 - LPWSTR pv_valuename; 59 - int pv_valuelen; 60 - LPVOID pv_value_context; 61 - DWORD pv_type; 62 -} 63 -alias pvalueW PVALUEW; 64 -alias pvalueW* PPVALUEW; 65 - 66 -// #ifdef UNICODE 67 -// ... 68 -// #else 69 -alias PVALUEA PVALUE; 70 -alias PPVALUEA PPVALUE; 71 -// #endif // UNICODE 72 - 73 -// typedef DWORD _cdecl QUERYHANDLER (LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals, LPVOID outputbuffer, DWORD FAR *total_outlen, DWORD input_blen); 74 - 75 -extern(Windows) alias DWORD function(LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals, LPVOID outputbuffer, DWORD* total_outlen, DWORD input_blen) PQUERYHANDLER; 76 - 77 -struct provider_info { 78 - PQUERYHANDLER pi_R0_1val; 79 - PQUERYHANDLER pi_R0_allvals; 80 - PQUERYHANDLER pi_R3_1val; 81 - PQUERYHANDLER pi_R3_allvals; 82 - DWORD pi_flags; 83 - LPVOID pi_key_context; 84 -} 85 -alias provider_info REG_PROVIDER; 86 - 87 -alias provider_info* PPROVIDER; 88 - 89 -struct value_entA { 90 - LPSTR ve_valuename; 91 - DWORD ve_valuelen; 92 - DWORD_PTR ve_valueptr; 93 - DWORD ve_type; 94 -} 95 -alias value_entA VALENTA; 96 -alias value_entA* PVALENTA; 97 - 98 -struct value_entW { 99 - LPWSTR ve_valuename; 100 - DWORD ve_valuelen; 101 - DWORD_PTR ve_valueptr; 102 - DWORD ve_type; 103 -} 104 -alias value_entW VALENTW; 105 -alias value_entW* PVALENTW; 106 - 107 -// #ifdef UNICODE 108 -// ... 109 -// #else 110 -alias VALENTA VALENT; 111 -alias PVALENTA PVALENT; 112 -// #endif // UNICODE 113 - 114 -// #endif // not(_PROVIDER_STRUCTS_DEFINED) 115 - 116 -// #endif /* WINVER >= 0x0400 */ 117 - 118 -alias NULL WIN31_CLASS; 119 - 120 -extern(Windows) export LONG RegCloseKey( 121 - HKEY hKey); 122 - 123 -extern(Windows) export LONG RegOverridePredefKey( 124 - HKEY hKey, 125 - HKEY hNewHKey); 126 - 127 -extern(Windows) export LONG RegOpenUserClassesRoot( 128 - HANDLE hToken, 129 - DWORD dwOptions, 130 - REGSAM samDesired, 131 - PHKEY phkResult); 132 - 133 -extern(Windows) export LONG RegOpenCurrentUser( 134 - REGSAM samDesired, 135 - PHKEY phkResult); 136 - 137 -extern(Windows) export LONG RegDisablePredefinedCache(); 138 - 139 -extern(Windows) export LONG RegConnectRegistryA( 140 - LPCSTR lpMachineName, 141 - HKEY hKey, 142 - PHKEY phkResult); 143 -extern(Windows) export LONG RegConnectRegistryW( 144 - LPCWSTR lpMachineName, 145 - HKEY hKey, 146 - PHKEY phkResult); 147 -// #ifdef UNICODE 148 -// #... 149 -// #else 150 -alias RegConnectRegistryA RegConnectRegistry; 151 -// #endif // !UNICODE 152 - 153 -extern(Windows) export LONG RegCreateKeyA( 154 - HKEY hKey, 155 - LPCSTR lpSubKey, 156 - PHKEY phkResult); 157 -extern(Windows) export LONG RegCreateKeyW( 158 - HKEY hKey, 159 - LPCWSTR lpSubKey, 160 - PHKEY phkResult); 161 -// #ifdef UNICODE 162 -// #... 163 -// #else 164 -alias RegCreateKeyA RegCreateKey; 165 -// #endif // !UNICODE 166 - 167 -extern(Windows) export LONG RegCreateKeyExA( 168 - HKEY hKey, 169 - LPCSTR lpSubKey, 170 - DWORD Reserved, 171 - LPSTR lpClass, 172 - DWORD dwOptions, 173 - REGSAM samDesired, 174 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 175 - PHKEY phkResult, 176 - LPDWORD lpdwDisposition); 177 -extern(Windows) export LONG RegCreateKeyExW( 178 - HKEY hKey, 179 - LPCWSTR lpSubKey, 180 - DWORD Reserved, 181 - LPWSTR lpClass, 182 - DWORD dwOptions, 183 - REGSAM samDesired, 184 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 185 - PHKEY phkResult, 186 - LPDWORD lpdwDisposition); 187 -// #ifdef UNICODE 188 -// #... 189 -// #else 190 -alias RegCreateKeyExA RegCreateKeyEx; 191 -// #endif // !UNICODE 192 - 193 -extern(Windows) export LONG RegDeleteKeyA( 194 - HKEY hKey, 195 - LPCSTR lpSubKey); 196 -extern(Windows) export LONG RegDeleteKeyW( 197 - HKEY hKey, 198 - LPCWSTR lpSubKey); 199 -// #ifdef UNICODE 200 -// #... 201 -// #else 202 -alias RegDeleteKeyA RegDeleteKey; 203 -// #endif // !UNICODE 204 - 205 -extern(Windows) export LONG RegDeleteValueA( 206 - HKEY hKey, 207 - LPCSTR lpValueName); 208 -extern(Windows) export LONG RegDeleteValueW( 209 - HKEY hKey, 210 - LPCWSTR lpValueName); 211 -// #ifdef UNICODE 212 -// #... 213 -// #else 214 -alias RegDeleteValueA RegDeleteValue; 215 -// #endif // !UNICODE 216 - 217 -extern(Windows) export LONG RegEnumKeyA( 218 - HKEY hKey, 219 - DWORD dwIndex, 220 - LPSTR lpName, 221 - DWORD cbName); 222 -extern(Windows) export LONG RegEnumKeyW( 223 - HKEY hKey, 224 - DWORD dwIndex, 225 - LPWSTR lpName, 226 - DWORD cbName); 227 -// #ifdef UNICODE 228 -// #... 229 -// #else 230 -alias RegEnumKeyA RegEnumKey; 231 -// #endif // !UNICODE 232 - 233 -extern(Windows) export LONG RegEnumKeyExA( 234 - HKEY hKey, 235 - DWORD dwIndex, 236 - LPSTR lpName, 237 - LPDWORD lpcbName, 238 - LPDWORD lpReserved, 239 - LPSTR lpClass, 240 - LPDWORD lpcbClass, 241 - PFILETIME lpftLastWriteTime); 242 -extern(Windows) export LONG RegEnumKeyExW( 243 - HKEY hKey, 244 - DWORD dwIndex, 245 - LPWSTR lpName, 246 - LPDWORD lpcbName, 247 - LPDWORD lpReserved, 248 - LPWSTR lpClass, 249 - LPDWORD lpcbClass, 250 - PFILETIME lpftLastWriteTime); 251 -// #ifdef UNICODE 252 -// #... 253 -// #else 254 -alias RegEnumKeyExA RegEnumKeyEx; 255 -// #endif // !UNICODE 256 - 257 -extern(Windows) export LONG RegEnumValueA( 258 - HKEY hKey, 259 - DWORD dwIndex, 260 - LPSTR lpValueName, 261 - LPDWORD lpcbValueName, 262 - LPDWORD lpReserved, 263 - LPDWORD lpType, 264 - LPBYTE lpData, 265 - LPDWORD lpcbData); 266 -extern(Windows) export LONG RegEnumValueW( 267 - HKEY hKey, 268 - DWORD dwIndex, 269 - LPWSTR lpValueName, 270 - LPDWORD lpcbValueName, 271 - LPDWORD lpReserved, 272 - LPDWORD lpType, 273 - LPBYTE lpData, 274 - LPDWORD lpcbData); 275 -// #ifdef UNICODE 276 -// #... 277 -// #else 278 -alias RegEnumValueA RegEnumValue; 279 -// #endif // !UNICODE 280 - 281 -extern(Windows) export LONG RegFlushKey( 282 - HKEY hKey); 283 - 284 -extern(Windows) export LONG RegGetKeySecurity( 285 - HKEY hKey, 286 - SECURITY_INFORMATION SecurityInformation, 287 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 288 - LPDWORD lpcbSecurityDescriptor); 289 - 290 -extern(Windows) export LONG RegLoadKeyA( 291 - HKEY hKey, 292 - LPCSTR lpSubKey, 293 - LPCSTR lpFile); 294 -extern(Windows) export LONG RegLoadKeyW( 295 - HKEY hKey, 296 - LPCWSTR lpSubKey, 297 - LPCWSTR lpFile); 298 -// #ifdef UNICODE 299 -// #... 300 -// #else 301 -alias RegLoadKeyA RegLoadKey; 302 -// #endif // !UNICODE 303 - 304 -extern(Windows) export LONG RegNotifyChangeKeyValue( 305 - HKEY hKey, 306 - BOOL bWatchSubtree, 307 - DWORD dwNotifyFilter, 308 - HANDLE hEvent, 309 - BOOL fAsynchronus); 310 - 311 -extern(Windows) export LONG RegOpenKeyA( 312 - HKEY hKey, 313 - LPCSTR lpSubKey, 314 - PHKEY phkResult); 315 -extern(Windows) export LONG RegOpenKeyW( 316 - HKEY hKey, 317 - LPCWSTR lpSubKey, 318 - PHKEY phkResult); 319 -// #ifdef UNICODE 320 -// #... 321 -// #else 322 -alias RegOpenKeyA RegOpenKey; 323 -// #endif // !UNICODE 324 - 325 -extern(Windows) export LONG RegOpenKeyExA( 326 - HKEY hKey, 327 - LPCSTR lpSubKey, 328 - DWORD ulOptions, 329 - REGSAM samDesired, 330 - PHKEY phkResult); 331 -extern(Windows) export LONG RegOpenKeyExW( 332 - HKEY hKey, 333 - LPCWSTR lpSubKey, 334 - DWORD ulOptions, 335 - REGSAM samDesired, 336 - PHKEY phkResult); 337 -// #ifdef UNICODE 338 -// #... 339 -// #else 340 -alias RegOpenKeyExA RegOpenKeyEx; 341 -// #endif // !UNICODE 342 - 343 -extern(Windows) export LONG RegQueryInfoKeyA( 344 - HKEY hKey, 345 - LPSTR lpClass, 346 - LPDWORD lpcbClass, 347 - LPDWORD lpReserved, 348 - LPDWORD lpcSubKeys, 349 - LPDWORD lpcbMaxSubKeyLen, 350 - LPDWORD lpcbMaxClassLen, 351 - LPDWORD lpcValues, 352 - LPDWORD lpcbMaxValueNameLen, 353 - LPDWORD lpcbMaxValueLen, 354 - LPDWORD lpcbSecurityDescriptor, 355 - PFILETIME lpftLastWriteTime); 356 -extern(Windows) export LONG RegQueryInfoKeyW( 357 - HKEY hKey, 358 - LPWSTR lpClass, 359 - LPDWORD lpcbClass, 360 - LPDWORD lpReserved, 361 - LPDWORD lpcSubKeys, 362 - LPDWORD lpcbMaxSubKeyLen, 363 - LPDWORD lpcbMaxClassLen, 364 - LPDWORD lpcValues, 365 - LPDWORD lpcbMaxValueNameLen, 366 - LPDWORD lpcbMaxValueLen, 367 - LPDWORD lpcbSecurityDescriptor, 368 - PFILETIME lpftLastWriteTime); 369 -// #ifdef UNICODE 370 -// #... 371 -// #else 372 -alias RegQueryInfoKeyA RegQueryInfoKey; 373 -// #endif // !UNICODE 374 - 375 -extern(Windows) export LONG RegQueryValueA( 376 - HKEY hKey, 377 - LPCSTR lpSubKey, 378 - LPSTR lpValue, 379 - PLONG lpcbValue); 380 -extern(Windows) export LONG RegQueryValueW( 381 - HKEY hKey, 382 - LPCWSTR lpSubKey, 383 - LPWSTR lpValue, 384 - PLONG lpcbValue); 385 -// #ifdef UNICODE 386 -// #... 387 -// #else 388 -alias RegQueryValueA RegQueryValue; 389 -// #endif // !UNICODE 390 - 391 -// #if(WINVER >= 0x0400) 392 -extern(Windows) export LONG RegQueryMultipleValuesA( 393 - HKEY hKey, 394 - PVALENTA val_list, 395 - DWORD num_vals, 396 - LPSTR lpValueBuf, 397 - LPDWORD ldwTotsize); 398 -extern(Windows) export LONG RegQueryMultipleValuesW( 399 - HKEY hKey, 400 - PVALENTW val_list, 401 - DWORD num_vals, 402 - LPWSTR lpValueBuf, 403 - LPDWORD ldwTotsize); 404 -// #ifdef UNICODE 405 -// #... 406 -// #else 407 -alias RegQueryMultipleValuesA RegQueryMultipleValues; 408 -// #endif // !UNICODE 409 -// #endif /* WINVER >= 0x0400 */ 410 - 411 -extern(Windows) export LONG RegQueryValueExA( 412 - HKEY hKey, 413 - LPCSTR lpValueName, 414 - LPDWORD lpReserved, 415 - LPDWORD lpType, 416 - LPBYTE lpData, 417 - LPDWORD lpcbData); 418 -extern(Windows) export LONG RegQueryValueExW( 419 - HKEY hKey, 420 - LPCWSTR lpValueName, 421 - LPDWORD lpReserved, 422 - LPDWORD lpType, 423 - LPBYTE lpData, 424 - LPDWORD lpcbData); 425 -// #ifdef UNICODE 426 -// #... 427 -// #else 428 -alias RegQueryValueExA RegQueryValueEx; 429 -// #endif // !UNICODE 430 - 431 -extern(Windows) export LONG RegReplaceKeyA( 432 - HKEY hKey, 433 - LPCSTR lpSubKey, 434 - LPCSTR lpNewFile, 435 - LPCSTR lpOldFile); 436 -extern(Windows) export LONG RegReplaceKeyW( 437 - HKEY hKey, 438 - LPCWSTR lpSubKey, 439 - LPCWSTR lpNewFile, 440 - LPCWSTR lpOldFile); 441 -// #ifdef UNICODE 442 -// #... 443 -// #else 444 -alias RegReplaceKeyA RegReplaceKey; 445 -// #endif // !UNICODE 446 - 447 -extern(Windows) export LONG RegRestoreKeyA( 448 - HKEY hKey, 449 - LPCSTR lpFile, 450 - DWORD dwFlags); 451 -extern(Windows) export LONG RegRestoreKeyW( 452 - HKEY hKey, 453 - LPCWSTR lpFile, 454 - DWORD dwFlags); 455 -// #ifdef UNICODE 456 -// #... 457 -// #else 458 -alias RegRestoreKeyA RegRestoreKey; 459 -// #endif // !UNICODE 460 - 461 -extern(Windows) export LONG RegSaveKeyA( 462 - HKEY hKey, 463 - LPCSTR lpFile, 464 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 465 -extern(Windows) export LONG RegSaveKeyW( 466 - HKEY hKey, 467 - LPCWSTR lpFile, 468 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 469 -// #ifdef UNICODE 470 -// #... 471 -// #else 472 -alias RegSaveKeyA RegSaveKey; 473 -// #endif // !UNICODE 474 - 475 -extern(Windows) export LONG RegSetKeySecurity( 476 - HKEY hKey, 477 - SECURITY_INFORMATION SecurityInformation, 478 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 479 - 480 -extern(Windows) export LONG RegSetValueA( 481 - HKEY hKey, 482 - LPCSTR lpSubKey, 483 - DWORD dwType, 484 - LPCSTR lpData, 485 - DWORD cbData); 486 -extern(Windows) export LONG RegSetValueW( 487 - HKEY hKey, 488 - LPCWSTR lpSubKey, 489 - DWORD dwType, 490 - LPCWSTR lpData, 491 - DWORD cbData); 492 -// #ifdef UNICODE 493 -// #... 494 -// #else 495 -alias RegSetValueA RegSetValue; 496 -// #endif // !UNICODE 497 - 498 -extern(Windows) export LONG RegSetValueExA( 499 - HKEY hKey, 500 - LPCSTR lpValueName, 501 - DWORD Reserved, 502 - DWORD dwType, 503 - BYTE* lpData, 504 - DWORD cbData); 505 -extern(Windows) export LONG RegSetValueExW( 506 - HKEY hKey, 507 - LPCWSTR lpValueName, 508 - DWORD Reserved, 509 - DWORD dwType, 510 - BYTE* lpData, 511 - DWORD cbData); 512 -// #ifdef UNICODE 513 -// #... 514 -// #else 515 -alias RegSetValueExA RegSetValueEx; 516 -// #endif // !UNICODE 517 - 518 -extern(Windows) export LONG RegUnLoadKeyA( 519 - HKEY hKey, 520 - LPCSTR lpSubKey); 521 -extern(Windows) export LONG RegUnLoadKeyW( 522 - HKEY hKey, 523 - LPCWSTR lpSubKey); 524 -// #ifdef UNICODE 525 -// #... 526 -// #else 527 -alias RegUnLoadKeyA RegUnLoadKey; 528 -// #endif // !UNICODE 529 - 530 -extern(Windows) export BOOL InitiateSystemShutdownA( 531 - LPSTR lpMachineName, 532 - LPSTR lpMessage, 533 - DWORD dwTimeout, 534 - BOOL bForceAppsClosed, 535 - BOOL bRebootAfterShutdown); 536 -extern(Windows) export BOOL InitiateSystemShutdownW( 537 - LPWSTR lpMachineName, 538 - LPWSTR lpMessage, 539 - DWORD dwTimeout, 540 - BOOL bForceAppsClosed, 541 - BOOL bRebootAfterShutdown); 542 -// #ifdef UNICODE 543 -// #... 544 -// #else 545 -alias InitiateSystemShutdownA InitiateSystemShutdown; 546 -// #endif // !UNICODE 547 - 548 -extern(Windows) export BOOL AbortSystemShutdownA( 549 - LPSTR lpMachineName); 550 -extern(Windows) export BOOL AbortSystemShutdownW( 551 - LPWSTR lpMachineName); 552 -// #ifdef UNICODE 553 -// #... 554 -// #else 555 -alias AbortSystemShutdownA AbortSystemShutdown; 556 -// #endif // !UNICODE 557 - 558 -// inline #include <reason.h> 559 -// ---- 560 - 561 -// #if !defined SENTINEL_Reason 562 -// # define SENTINEL_Reason 563 - 564 -enum : uint { SHTDN_REASON_FLAG_COMMENT_REQUIRED = 0x01000000 } 565 -enum : uint { SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED = 0x02000000 } 566 -enum : uint { SHTDN_REASON_FLAG_CLEAN_UI = 0x04000000 } 567 -enum : uint { SHTDN_REASON_FLAG_DIRTY_UI = 0x08000000 } 568 - 569 -enum : uint { SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000 } 570 -enum : uint { SHTDN_REASON_FLAG_PLANNED = 0x80000000 } 571 - 572 -enum : uint { SHTDN_REASON_MAJOR_OTHER = 0x00000000 } 573 -enum : uint { SHTDN_REASON_MAJOR_NONE = 0x00000000 } 574 -enum : uint { SHTDN_REASON_MAJOR_HARDWARE = 0x00010000 } 575 -enum : uint { SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000 } 576 -enum : uint { SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000 } 577 -enum : uint { SHTDN_REASON_MAJOR_APPLICATION = 0x00040000 } 578 -enum : uint { SHTDN_REASON_MAJOR_SYSTEM = 0x00050000 } 579 -enum : uint { SHTDN_REASON_MAJOR_POWER = 0x00060000 } 580 - 581 -enum : uint { SHTDN_REASON_MINOR_OTHER = 0x00000000 } 582 -enum : uint { SHTDN_REASON_MINOR_NONE = 0x000000ff } 583 -enum : uint { SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001 } 584 -enum : uint { SHTDN_REASON_MINOR_INSTALLATION = 0x00000002 } 585 -enum : uint { SHTDN_REASON_MINOR_UPGRADE = 0x00000003 } 586 -enum : uint { SHTDN_REASON_MINOR_RECONFIG = 0x00000004 } 587 -enum : uint { SHTDN_REASON_MINOR_HUNG = 0x00000005 } 588 -enum : uint { SHTDN_REASON_MINOR_UNSTABLE = 0x00000006 } 589 -enum : uint { SHTDN_REASON_MINOR_DISK = 0x00000007 } 590 -enum : uint { SHTDN_REASON_MINOR_PROCESSOR = 0x00000008 } 591 -enum : uint { SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009 } 592 -enum : uint { SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a } 593 -enum : uint { SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b } 594 -enum : uint { SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c } 595 -enum : uint { SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d } 596 -enum : uint { SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e } 597 -enum : uint { SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000F } 598 - 599 -alias SHTDN_REASON_MINOR_NONE SHTDN_REASON_UNKNOWN; 600 - 601 -enum : uint { SHTDN_REASON_VALID_BIT_MASK = 0xc0ffffff } 602 - 603 -enum : uint { PCLEANUI = SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_CLEAN_UI } 604 -enum : uint { UCLEANUI = SHTDN_REASON_FLAG_CLEAN_UI } 605 -enum : uint { UDIRTYUI = SHTDN_REASON_FLAG_DIRTY_UI } 606 - 607 -enum : uint { MAX_REASON_NAME_LEN = 64 } 608 -enum : uint { MAX_REASON_DESC_LEN = 256 } 609 -enum : uint { MAX_REASON_BUGID_LEN = 32 } 610 -enum : uint { MAX_REASON_COMMENT_LEN = 4096 } 611 - 612 -// #endif // !defined SENTINEL_Reason 613 -// ---- 614 - 615 -enum : uint { REASON_SWINSTALL = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_INSTALLATION } 616 -enum : uint { REASON_HWINSTALL = SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION } 617 -enum : uint { REASON_SERVICEHANG = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_HUNG } 618 -enum : uint { REASON_UNSTABLE = SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_UNSTABLE } 619 -enum : uint { REASON_SWHWRECONF = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_RECONFIG } 620 -enum : uint { REASON_OTHER = SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER } 621 -alias SHTDN_REASON_UNKNOWN REASON_UNKNOWN; 622 -alias SHTDN_REASON_FLAG_PLANNED REASON_PLANNED_FLAG; 623 - 624 -extern(Windows) export BOOL InitiateSystemShutdownExA( 625 - LPSTR lpMachineName, 626 - LPSTR lpMessage, 627 - DWORD dwTimeout, 628 - BOOL bForceAppsClosed, 629 - BOOL bRebootAfterShutdown, 630 - DWORD dwReason); 631 -extern(Windows) export BOOL InitiateSystemShutdownExW( 632 - LPWSTR lpMachineName, 633 - LPWSTR lpMessage, 634 - DWORD dwTimeout, 635 - BOOL bForceAppsClosed, 636 - BOOL bRebootAfterShutdown, 637 - DWORD dwReason); 638 -// #ifdef UNICODE 639 -// #... 640 -// #else 641 -alias InitiateSystemShutdownExA InitiateSystemShutdownEx; 642 -// #endif // !UNICODE 643 - 644 -extern(Windows) export LONG RegSaveKeyExA( 645 - HKEY hKey, 646 - LPCSTR lpFile, 647 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 648 - DWORD Flags); 649 -extern(Windows) export LONG RegSaveKeyExW( 650 - HKEY hKey, 651 - LPCWSTR lpFile, 652 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 653 - DWORD Flags); 654 -// #ifdef UNICODE 655 -// #... 656 -// #else 657 -alias RegSaveKeyExA RegSaveKeyEx; 658 -// #endif // !UNICODE 659 - 660 -extern(Windows) export LONG Wow64Win32ApiEntry( 661 - DWORD dwFuncNumber, 662 - DWORD dwFlag, 663 - DWORD dwRes); 664 - 665 -// #ifdef __cplusplus 666 -// } 667 -// #endif 668 - 669 -// #endif // _WINREG_ 670 -

Deleted src/win32/ansi/winspool.d version [da000ce43cc88313]

1 -module win32.ansi.winspool; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winbase, win32.ansi.wingdi; 7 - 8 -// #ifndef _WINSPOOL_ 9 -// #define _WINSPOOL_ 10 - 11 -// #ifdef _WINUSER_ 12 -// #... 13 -// #endif 14 - 15 -// #ifdef __cplusplus 16 -// extern "C" { 17 -// #endif 18 - 19 -struct _PRINTER_INFO_1A { 20 - DWORD Flags; 21 - LPSTR pDescription; 22 - LPSTR pName; 23 - LPSTR pComment; 24 -} 25 -alias _PRINTER_INFO_1A PRINTER_INFO_1A; 26 -alias _PRINTER_INFO_1A* PPRINTER_INFO_1A; 27 -alias _PRINTER_INFO_1A* LPPRINTER_INFO_1A; 28 - 29 -struct _PRINTER_INFO_1W { 30 - DWORD Flags; 31 - LPWSTR pDescription; 32 - LPWSTR pName; 33 - LPWSTR pComment; 34 -} 35 -alias _PRINTER_INFO_1W PRINTER_INFO_1W; 36 -alias _PRINTER_INFO_1W* PPRINTER_INFO_1W; 37 -alias _PRINTER_INFO_1W* LPPRINTER_INFO_1W; 38 - 39 -// #ifdef UNICODE 40 -// ... 41 -// #else 42 -alias PRINTER_INFO_1A PRINTER_INFO_1; 43 -alias PPRINTER_INFO_1A PPRINTER_INFO_1; 44 -alias LPPRINTER_INFO_1A LPPRINTER_INFO_1; 45 -// #endif // UNICODE 46 - 47 -struct _PRINTER_INFO_2A { 48 - LPSTR pServerName; 49 - LPSTR pPrinterName; 50 - LPSTR pShareName; 51 - LPSTR pPortName; 52 - LPSTR pDriverName; 53 - LPSTR pComment; 54 - LPSTR pLocation; 55 - LPDEVMODEA pDevMode; 56 - LPSTR pSepFile; 57 - LPSTR pPrintProcessor; 58 - LPSTR pDatatype; 59 - LPSTR pParameters; 60 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 61 - DWORD Attributes; 62 - DWORD Priority; 63 - DWORD DefaultPriority; 64 - DWORD StartTime; 65 - DWORD UntilTime; 66 - DWORD Status; 67 - DWORD cJobs; 68 - DWORD AveragePPM; 69 -} 70 -alias _PRINTER_INFO_2A PRINTER_INFO_2A; 71 -alias _PRINTER_INFO_2A* PPRINTER_INFO_2A; 72 -alias _PRINTER_INFO_2A* LPPRINTER_INFO_2A; 73 - 74 -struct _PRINTER_INFO_2W { 75 - LPWSTR pServerName; 76 - LPWSTR pPrinterName; 77 - LPWSTR pShareName; 78 - LPWSTR pPortName; 79 - LPWSTR pDriverName; 80 - LPWSTR pComment; 81 - LPWSTR pLocation; 82 - LPDEVMODEW pDevMode; 83 - LPWSTR pSepFile; 84 - LPWSTR pPrintProcessor; 85 - LPWSTR pDatatype; 86 - LPWSTR pParameters; 87 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 88 - DWORD Attributes; 89 - DWORD Priority; 90 - DWORD DefaultPriority; 91 - DWORD StartTime; 92 - DWORD UntilTime; 93 - DWORD Status; 94 - DWORD cJobs; 95 - DWORD AveragePPM; 96 -} 97 -alias _PRINTER_INFO_2W PRINTER_INFO_2W; 98 -alias _PRINTER_INFO_2W* PPRINTER_INFO_2W; 99 -alias _PRINTER_INFO_2W* LPPRINTER_INFO_2W; 100 - 101 -// #ifdef UNICODE 102 -// ... 103 -// #else 104 -alias PRINTER_INFO_2A PRINTER_INFO_2; 105 -alias PPRINTER_INFO_2A PPRINTER_INFO_2; 106 -alias LPPRINTER_INFO_2A LPPRINTER_INFO_2; 107 -// #endif // UNICODE 108 - 109 -struct _PRINTER_INFO_3 { 110 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 111 -} 112 -alias _PRINTER_INFO_3 PRINTER_INFO_3; 113 -alias _PRINTER_INFO_3* PPRINTER_INFO_3; 114 -alias _PRINTER_INFO_3* LPPRINTER_INFO_3; 115 - 116 -struct _PRINTER_INFO_4A { 117 - LPSTR pPrinterName; 118 - LPSTR pServerName; 119 - DWORD Attributes; 120 -} 121 -alias _PRINTER_INFO_4A PRINTER_INFO_4A; 122 -alias _PRINTER_INFO_4A* PPRINTER_INFO_4A; 123 -alias _PRINTER_INFO_4A* LPPRINTER_INFO_4A; 124 - 125 -struct _PRINTER_INFO_4W { 126 - LPWSTR pPrinterName; 127 - LPWSTR pServerName; 128 - DWORD Attributes; 129 -} 130 -alias _PRINTER_INFO_4W PRINTER_INFO_4W; 131 -alias _PRINTER_INFO_4W* PPRINTER_INFO_4W; 132 -alias _PRINTER_INFO_4W* LPPRINTER_INFO_4W; 133 - 134 -// #ifdef UNICODE 135 -// ... 136 -// #else 137 -alias PRINTER_INFO_4A PRINTER_INFO_4; 138 -alias PPRINTER_INFO_4A PPRINTER_INFO_4; 139 -alias LPPRINTER_INFO_4A LPPRINTER_INFO_4; 140 -// #endif // UNICODE 141 - 142 -struct _PRINTER_INFO_5A { 143 - LPSTR pPrinterName; 144 - LPSTR pPortName; 145 - DWORD Attributes; 146 - DWORD DeviceNotSelectedTimeout; 147 - DWORD TransmissionRetryTimeout; 148 -} 149 -alias _PRINTER_INFO_5A PRINTER_INFO_5A; 150 -alias _PRINTER_INFO_5A* PPRINTER_INFO_5A; 151 -alias _PRINTER_INFO_5A* LPPRINTER_INFO_5A; 152 - 153 -struct _PRINTER_INFO_5W { 154 - LPWSTR pPrinterName; 155 - LPWSTR pPortName; 156 - DWORD Attributes; 157 - DWORD DeviceNotSelectedTimeout; 158 - DWORD TransmissionRetryTimeout; 159 -} 160 -alias _PRINTER_INFO_5W PRINTER_INFO_5W; 161 -alias _PRINTER_INFO_5W* PPRINTER_INFO_5W; 162 -alias _PRINTER_INFO_5W* LPPRINTER_INFO_5W; 163 - 164 -// #ifdef UNICODE 165 -// ... 166 -// #else 167 -alias PRINTER_INFO_5A PRINTER_INFO_5; 168 -alias PPRINTER_INFO_5A PPRINTER_INFO_5; 169 -alias LPPRINTER_INFO_5A LPPRINTER_INFO_5; 170 -// #endif // UNICODE 171 - 172 -struct _PRINTER_INFO_6 { 173 - DWORD dwStatus; 174 -} 175 -alias _PRINTER_INFO_6 PRINTER_INFO_6; 176 -alias _PRINTER_INFO_6* PPRINTER_INFO_6; 177 -alias _PRINTER_INFO_6* LPPRINTER_INFO_6; 178 - 179 -struct _PRINTER_INFO_7A { 180 - LPSTR pszObjectGUID; 181 - DWORD dwAction; 182 -} 183 -alias _PRINTER_INFO_7A PRINTER_INFO_7A; 184 -alias _PRINTER_INFO_7A* PPRINTER_INFO_7A; 185 -alias _PRINTER_INFO_7A* LPPRINTER_INFO_7A; 186 - 187 -struct _PRINTER_INFO_7W { 188 - LPWSTR pszObjectGUID; 189 - DWORD dwAction; 190 -} 191 -alias _PRINTER_INFO_7W PRINTER_INFO_7W; 192 -alias _PRINTER_INFO_7W* PPRINTER_INFO_7W; 193 -alias _PRINTER_INFO_7W* LPPRINTER_INFO_7W; 194 - 195 -// #ifdef UNICODE 196 -// ... 197 -// #else 198 -alias PRINTER_INFO_7A PRINTER_INFO_7; 199 -alias PPRINTER_INFO_7A PPRINTER_INFO_7; 200 -alias LPPRINTER_INFO_7A LPPRINTER_INFO_7; 201 -// #endif // UNICODE 202 - 203 -enum : uint { DSPRINT_PUBLISH = 0x00000001 } 204 -enum : uint { DSPRINT_UPDATE = 0x00000002 } 205 -enum : uint { DSPRINT_UNPUBLISH = 0x00000004 } 206 -enum : uint { DSPRINT_REPUBLISH = 0x00000008 } 207 -enum : uint { DSPRINT_PENDING = 0x80000000 } 208 - 209 -struct _PRINTER_INFO_8A { 210 - LPDEVMODEA pDevMode; 211 -} 212 -alias _PRINTER_INFO_8A PRINTER_INFO_8A; 213 -alias _PRINTER_INFO_8A* PPRINTER_INFO_8A; 214 -alias _PRINTER_INFO_8A* LPPRINTER_INFO_8A; 215 - 216 -struct _PRINTER_INFO_8W { 217 - LPDEVMODEW pDevMode; 218 -} 219 -alias _PRINTER_INFO_8W PRINTER_INFO_8W; 220 -alias _PRINTER_INFO_8W* PPRINTER_INFO_8W; 221 -alias _PRINTER_INFO_8W* LPPRINTER_INFO_8W; 222 - 223 -// #ifdef UNICODE 224 -// ... 225 -// #else 226 -alias PRINTER_INFO_8A PRINTER_INFO_8; 227 -alias PPRINTER_INFO_8A PPRINTER_INFO_8; 228 -alias LPPRINTER_INFO_8A LPPRINTER_INFO_8; 229 -// #endif // UNICODE 230 - 231 -struct _PRINTER_INFO_9A { 232 - LPDEVMODEA pDevMode; 233 -} 234 -alias _PRINTER_INFO_9A PRINTER_INFO_9A; 235 -alias _PRINTER_INFO_9A* PPRINTER_INFO_9A; 236 -alias _PRINTER_INFO_9A* LPPRINTER_INFO_9A; 237 - 238 -struct _PRINTER_INFO_9W { 239 - LPDEVMODEW pDevMode; 240 -} 241 -alias _PRINTER_INFO_9W PRINTER_INFO_9W; 242 -alias _PRINTER_INFO_9W* PPRINTER_INFO_9W; 243 -alias _PRINTER_INFO_9W* LPPRINTER_INFO_9W; 244 - 245 -// #ifdef UNICODE 246 -// ... 247 -// #else 248 -alias PRINTER_INFO_9A PRINTER_INFO_9; 249 -alias PPRINTER_INFO_9A PPRINTER_INFO_9; 250 -alias LPPRINTER_INFO_9A LPPRINTER_INFO_9; 251 -// #endif // UNICODE 252 - 253 -enum : uint { PRINTER_CONTROL_PAUSE = 1 } 254 -enum : uint { PRINTER_CONTROL_RESUME = 2 } 255 -enum : uint { PRINTER_CONTROL_PURGE = 3 } 256 -enum : uint { PRINTER_CONTROL_SET_STATUS = 4 } 257 - 258 -enum : uint { PRINTER_STATUS_PAUSED = 0x00000001 } 259 -enum : uint { PRINTER_STATUS_ERROR = 0x00000002 } 260 -enum : uint { PRINTER_STATUS_PENDING_DELETION = 0x00000004 } 261 -enum : uint { PRINTER_STATUS_PAPER_JAM = 0x00000008 } 262 -enum : uint { PRINTER_STATUS_PAPER_OUT = 0x00000010 } 263 -enum : uint { PRINTER_STATUS_MANUAL_FEED = 0x00000020 } 264 -enum : uint { PRINTER_STATUS_PAPER_PROBLEM = 0x00000040 } 265 -enum : uint { PRINTER_STATUS_OFFLINE = 0x00000080 } 266 -enum : uint { PRINTER_STATUS_IO_ACTIVE = 0x00000100 } 267 -enum : uint { PRINTER_STATUS_BUSY = 0x00000200 } 268 -enum : uint { PRINTER_STATUS_PRINTING = 0x00000400 } 269 -enum : uint { PRINTER_STATUS_OUTPUT_BIN_FULL = 0x00000800 } 270 -enum : uint { PRINTER_STATUS_NOT_AVAILABLE = 0x00001000 } 271 -enum : uint { PRINTER_STATUS_WAITING = 0x00002000 } 272 -enum : uint { PRINTER_STATUS_PROCESSING = 0x00004000 } 273 -enum : uint { PRINTER_STATUS_INITIALIZING = 0x00008000 } 274 -enum : uint { PRINTER_STATUS_WARMING_UP = 0x00010000 } 275 -enum : uint { PRINTER_STATUS_TONER_LOW = 0x00020000 } 276 -enum : uint { PRINTER_STATUS_NO_TONER = 0x00040000 } 277 -enum : uint { PRINTER_STATUS_PAGE_PUNT = 0x00080000 } 278 -enum : uint { PRINTER_STATUS_USER_INTERVENTION = 0x00100000 } 279 -enum : uint { PRINTER_STATUS_OUT_OF_MEMORY = 0x00200000 } 280 -enum : uint { PRINTER_STATUS_DOOR_OPEN = 0x00400000 } 281 -enum : uint { PRINTER_STATUS_SERVER_UNKNOWN = 0x00800000 } 282 -enum : uint { PRINTER_STATUS_POWER_SAVE = 0x01000000 } 283 - 284 -enum : uint { PRINTER_ATTRIBUTE_QUEUED = 0x00000001 } 285 -enum : uint { PRINTER_ATTRIBUTE_DIRECT = 0x00000002 } 286 -enum : uint { PRINTER_ATTRIBUTE_DEFAULT = 0x00000004 } 287 -enum : uint { PRINTER_ATTRIBUTE_SHARED = 0x00000008 } 288 -enum : uint { PRINTER_ATTRIBUTE_NETWORK = 0x00000010 } 289 -enum : uint { PRINTER_ATTRIBUTE_HIDDEN = 0x00000020 } 290 -enum : uint { PRINTER_ATTRIBUTE_LOCAL = 0x00000040 } 291 - 292 -enum : uint { PRINTER_ATTRIBUTE_ENABLE_DEVQ = 0x00000080 } 293 -enum : uint { PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = 0x00000100 } 294 -enum : uint { PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = 0x00000200 } 295 - 296 -enum : uint { PRINTER_ATTRIBUTE_WORK_OFFLINE = 0x00000400 } 297 -enum : uint { PRINTER_ATTRIBUTE_ENABLE_BIDI = 0x00000800 } 298 -enum : uint { PRINTER_ATTRIBUTE_RAW_ONLY = 0x00001000 } 299 -enum : uint { PRINTER_ATTRIBUTE_PUBLISHED = 0x00002000 } 300 -enum : uint { PRINTER_ATTRIBUTE_FAX = 0x00004000 } 301 - 302 -enum : uint { NO_PRIORITY = 0 } 303 -enum : uint { MAX_PRIORITY = 99 } 304 -enum : uint { MIN_PRIORITY = 1 } 305 -enum : uint { DEF_PRIORITY = 1 } 306 - 307 -struct _JOB_INFO_1A { 308 - DWORD JobId; 309 - LPSTR pPrinterName; 310 - LPSTR pMachineName; 311 - LPSTR pUserName; 312 - LPSTR pDocument; 313 - LPSTR pDatatype; 314 - LPSTR pStatus; 315 - DWORD Status; 316 - DWORD Priority; 317 - DWORD Position; 318 - DWORD TotalPages; 319 - DWORD PagesPrinted; 320 - SYSTEMTIME Submitted; 321 -} 322 -alias _JOB_INFO_1A JOB_INFO_1A; 323 -alias _JOB_INFO_1A* PJOB_INFO_1A; 324 -alias _JOB_INFO_1A* LPJOB_INFO_1A; 325 - 326 -struct _JOB_INFO_1W { 327 - DWORD JobId; 328 - LPWSTR pPrinterName; 329 - LPWSTR pMachineName; 330 - LPWSTR pUserName; 331 - LPWSTR pDocument; 332 - LPWSTR pDatatype; 333 - LPWSTR pStatus; 334 - DWORD Status; 335 - DWORD Priority; 336 - DWORD Position; 337 - DWORD TotalPages; 338 - DWORD PagesPrinted; 339 - SYSTEMTIME Submitted; 340 -} 341 -alias _JOB_INFO_1W JOB_INFO_1W; 342 -alias _JOB_INFO_1W* PJOB_INFO_1W; 343 -alias _JOB_INFO_1W* LPJOB_INFO_1W; 344 - 345 -// #ifdef UNICODE 346 -// ... 347 -// #else 348 -alias JOB_INFO_1A JOB_INFO_1; 349 -alias PJOB_INFO_1A PJOB_INFO_1; 350 -alias LPJOB_INFO_1A LPJOB_INFO_1; 351 -// #endif // UNICODE 352 - 353 -struct _JOB_INFO_2A { 354 - DWORD JobId; 355 - LPSTR pPrinterName; 356 - LPSTR pMachineName; 357 - LPSTR pUserName; 358 - LPSTR pDocument; 359 - LPSTR pNotifyName; 360 - LPSTR pDatatype; 361 - LPSTR pPrintProcessor; 362 - LPSTR pParameters; 363 - LPSTR pDriverName; 364 - LPDEVMODEA pDevMode; 365 - LPSTR pStatus; 366 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 367 - DWORD Status; 368 - DWORD Priority; 369 - DWORD Position; 370 - DWORD StartTime; 371 - DWORD UntilTime; 372 - DWORD TotalPages; 373 - DWORD Size; 374 - SYSTEMTIME Submitted; 375 - DWORD Time; 376 - DWORD PagesPrinted; 377 -} 378 -alias _JOB_INFO_2A JOB_INFO_2A; 379 -alias _JOB_INFO_2A* PJOB_INFO_2A; 380 -alias _JOB_INFO_2A* LPJOB_INFO_2A; 381 - 382 -struct _JOB_INFO_2W { 383 - DWORD JobId; 384 - LPWSTR pPrinterName; 385 - LPWSTR pMachineName; 386 - LPWSTR pUserName; 387 - LPWSTR pDocument; 388 - LPWSTR pNotifyName; 389 - LPWSTR pDatatype; 390 - LPWSTR pPrintProcessor; 391 - LPWSTR pParameters; 392 - LPWSTR pDriverName; 393 - LPDEVMODEW pDevMode; 394 - LPWSTR pStatus; 395 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 396 - DWORD Status; 397 - DWORD Priority; 398 - DWORD Position; 399 - DWORD StartTime; 400 - DWORD UntilTime; 401 - DWORD TotalPages; 402 - DWORD Size; 403 - SYSTEMTIME Submitted; 404 - DWORD Time; 405 - DWORD PagesPrinted; 406 -} 407 -alias _JOB_INFO_2W JOB_INFO_2W; 408 -alias _JOB_INFO_2W* PJOB_INFO_2W; 409 -alias _JOB_INFO_2W* LPJOB_INFO_2W; 410 - 411 -// #ifdef UNICODE 412 -// ... 413 -// #else 414 -alias JOB_INFO_2A JOB_INFO_2; 415 -alias PJOB_INFO_2A PJOB_INFO_2; 416 -alias LPJOB_INFO_2A LPJOB_INFO_2; 417 -// #endif // UNICODE 418 - 419 -struct _JOB_INFO_3 { 420 - DWORD JobId; 421 - DWORD NextJobId; 422 - DWORD Reserved; 423 -} 424 -alias _JOB_INFO_3 JOB_INFO_3; 425 -alias _JOB_INFO_3* PJOB_INFO_3; 426 -alias _JOB_INFO_3* LPJOB_INFO_3; 427 - 428 -enum : uint { JOB_CONTROL_PAUSE = 1 } 429 -enum : uint { JOB_CONTROL_RESUME = 2 } 430 -enum : uint { JOB_CONTROL_CANCEL = 3 } 431 -enum : uint { JOB_CONTROL_RESTART = 4 } 432 -enum : uint { JOB_CONTROL_DELETE = 5 } 433 -enum : uint { JOB_CONTROL_SENT_TO_PRINTER = 6 } 434 -enum : uint { JOB_CONTROL_LAST_PAGE_EJECTED = 7 } 435 - 436 -enum : uint { JOB_STATUS_PAUSED = 0x00000001 } 437 -enum : uint { JOB_STATUS_ERROR = 0x00000002 } 438 -enum : uint { JOB_STATUS_DELETING = 0x00000004 } 439 -enum : uint { JOB_STATUS_SPOOLING = 0x00000008 } 440 -enum : uint { JOB_STATUS_PRINTING = 0x00000010 } 441 -enum : uint { JOB_STATUS_OFFLINE = 0x00000020 } 442 -enum : uint { JOB_STATUS_PAPEROUT = 0x00000040 } 443 -enum : uint { JOB_STATUS_PRINTED = 0x00000080 } 444 -enum : uint { JOB_STATUS_DELETED = 0x00000100 } 445 -enum : uint { JOB_STATUS_BLOCKED_DEVQ = 0x00000200 } 446 -enum : uint { JOB_STATUS_USER_INTERVENTION = 0x00000400 } 447 -enum : uint { JOB_STATUS_RESTART = 0x00000800 } 448 -enum : uint { JOB_STATUS_COMPLETE = 0x00001000 } 449 - 450 -enum : uint { JOB_POSITION_UNSPECIFIED = 0 } 451 - 452 -struct _ADDJOB_INFO_1A { 453 - LPSTR Path; 454 - DWORD JobId; 455 -} 456 -alias _ADDJOB_INFO_1A ADDJOB_INFO_1A; 457 -alias _ADDJOB_INFO_1A* PADDJOB_INFO_1A; 458 -alias _ADDJOB_INFO_1A* LPADDJOB_INFO_1A; 459 - 460 -struct _ADDJOB_INFO_1W { 461 - LPWSTR Path; 462 - DWORD JobId; 463 -} 464 -alias _ADDJOB_INFO_1W ADDJOB_INFO_1W; 465 -alias _ADDJOB_INFO_1W* PADDJOB_INFO_1W; 466 -alias _ADDJOB_INFO_1W* LPADDJOB_INFO_1W; 467 - 468 -// #ifdef UNICODE 469 -// ... 470 -// #else 471 -alias ADDJOB_INFO_1A ADDJOB_INFO_1; 472 -alias PADDJOB_INFO_1A PADDJOB_INFO_1; 473 -alias LPADDJOB_INFO_1A LPADDJOB_INFO_1; 474 -// #endif // UNICODE 475 - 476 -struct _DRIVER_INFO_1A { 477 - LPSTR pName; 478 -} 479 -alias _DRIVER_INFO_1A DRIVER_INFO_1A; 480 -alias _DRIVER_INFO_1A* PDRIVER_INFO_1A; 481 -alias _DRIVER_INFO_1A* LPDRIVER_INFO_1A; 482 - 483 -struct _DRIVER_INFO_1W { 484 - LPWSTR pName; 485 -} 486 -alias _DRIVER_INFO_1W DRIVER_INFO_1W; 487 -alias _DRIVER_INFO_1W* PDRIVER_INFO_1W; 488 -alias _DRIVER_INFO_1W* LPDRIVER_INFO_1W; 489 - 490 -// #ifdef UNICODE 491 -// ... 492 -// #else 493 -alias DRIVER_INFO_1A DRIVER_INFO_1; 494 -alias PDRIVER_INFO_1A PDRIVER_INFO_1; 495 -alias LPDRIVER_INFO_1A LPDRIVER_INFO_1; 496 -// #endif // UNICODE 497 - 498 -struct _DRIVER_INFO_2A { 499 - DWORD cVersion; 500 - LPSTR pName; 501 - LPSTR pEnvironment; 502 - LPSTR pDriverPath; 503 - LPSTR pDataFile; 504 - LPSTR pConfigFile; 505 -} 506 -alias _DRIVER_INFO_2A DRIVER_INFO_2A; 507 -alias _DRIVER_INFO_2A* PDRIVER_INFO_2A; 508 -alias _DRIVER_INFO_2A* LPDRIVER_INFO_2A; 509 - 510 -struct _DRIVER_INFO_2W { 511 - DWORD cVersion; 512 - LPWSTR pName; 513 - LPWSTR pEnvironment; 514 - LPWSTR pDriverPath; 515 - LPWSTR pDataFile; 516 - LPWSTR pConfigFile; 517 -} 518 -alias _DRIVER_INFO_2W DRIVER_INFO_2W; 519 -alias _DRIVER_INFO_2W* PDRIVER_INFO_2W; 520 -alias _DRIVER_INFO_2W* LPDRIVER_INFO_2W; 521 - 522 -// #ifdef UNICODE 523 -// ... 524 -// #else 525 -alias DRIVER_INFO_2A DRIVER_INFO_2; 526 -alias PDRIVER_INFO_2A PDRIVER_INFO_2; 527 -alias LPDRIVER_INFO_2A LPDRIVER_INFO_2; 528 -// #endif // UNICODE 529 - 530 -struct _DRIVER_INFO_3A { 531 - DWORD cVersion; 532 - LPSTR pName; 533 - LPSTR pEnvironment; 534 - LPSTR pDriverPath; 535 - LPSTR pDataFile; 536 - LPSTR pConfigFile; 537 - LPSTR pHelpFile; 538 - LPSTR pDependentFiles; 539 - LPSTR pMonitorName; 540 - LPSTR pDefaultDataType; 541 -} 542 -alias _DRIVER_INFO_3A DRIVER_INFO_3A; 543 -alias _DRIVER_INFO_3A* PDRIVER_INFO_3A; 544 -alias _DRIVER_INFO_3A* LPDRIVER_INFO_3A; 545 - 546 -struct _DRIVER_INFO_3W { 547 - DWORD cVersion; 548 - LPWSTR pName; 549 - LPWSTR pEnvironment; 550 - LPWSTR pDriverPath; 551 - LPWSTR pDataFile; 552 - LPWSTR pConfigFile; 553 - LPWSTR pHelpFile; 554 - LPWSTR pDependentFiles; 555 - LPWSTR pMonitorName; 556 - LPWSTR pDefaultDataType; 557 -} 558 -alias _DRIVER_INFO_3W DRIVER_INFO_3W; 559 -alias _DRIVER_INFO_3W* PDRIVER_INFO_3W; 560 -alias _DRIVER_INFO_3W* LPDRIVER_INFO_3W; 561 - 562 -// #ifdef UNICODE 563 -// ... 564 -// #else 565 -alias DRIVER_INFO_3A DRIVER_INFO_3; 566 -alias PDRIVER_INFO_3A PDRIVER_INFO_3; 567 -alias LPDRIVER_INFO_3A LPDRIVER_INFO_3; 568 -// #endif // UNICODE 569 - 570 -struct _DRIVER_INFO_4A { 571 - DWORD cVersion; 572 - LPSTR pName; 573 - LPSTR pEnvironment; 574 - LPSTR pDriverPath; 575 - LPSTR pDataFile; 576 - LPSTR pConfigFile; 577 - LPSTR pHelpFile; 578 - LPSTR pDependentFiles; 579 - LPSTR pMonitorName; 580 - LPSTR pDefaultDataType; 581 - LPSTR pszzPreviousNames; 582 -} 583 -alias _DRIVER_INFO_4A DRIVER_INFO_4A; 584 -alias _DRIVER_INFO_4A* PDRIVER_INFO_4A; 585 -alias _DRIVER_INFO_4A* LPDRIVER_INFO_4A; 586 - 587 -struct _DRIVER_INFO_4W { 588 - DWORD cVersion; 589 - LPWSTR pName; 590 - LPWSTR pEnvironment; 591 - LPWSTR pDriverPath; 592 - LPWSTR pDataFile; 593 - LPWSTR pConfigFile; 594 - LPWSTR pHelpFile; 595 - LPWSTR pDependentFiles; 596 - LPWSTR pMonitorName; 597 - LPWSTR pDefaultDataType; 598 - LPWSTR pszzPreviousNames; 599 -} 600 -alias _DRIVER_INFO_4W DRIVER_INFO_4W; 601 -alias _DRIVER_INFO_4W* PDRIVER_INFO_4W; 602 -alias _DRIVER_INFO_4W* LPDRIVER_INFO_4W; 603 - 604 -// #ifdef UNICODE 605 -// ... 606 -// #else 607 -alias DRIVER_INFO_4A DRIVER_INFO_4; 608 -alias PDRIVER_INFO_4A PDRIVER_INFO_4; 609 -alias LPDRIVER_INFO_4A LPDRIVER_INFO_4; 610 -// #endif // UNICODE 611 - 612 -struct _DRIVER_INFO_5A { 613 - DWORD cVersion; 614 - LPSTR pName; 615 - LPSTR pEnvironment; 616 - LPSTR pDriverPath; 617 - LPSTR pDataFile; 618 - LPSTR pConfigFile; 619 - DWORD dwDriverAttributes; 620 - DWORD dwConfigVersion; 621 - DWORD dwDriverVersion; 622 -} 623 -alias _DRIVER_INFO_5A DRIVER_INFO_5A; 624 -alias _DRIVER_INFO_5A* PDRIVER_INFO_5A; 625 -alias _DRIVER_INFO_5A* LPDRIVER_INFO_5A; 626 - 627 -struct _DRIVER_INFO_5W { 628 - DWORD cVersion; 629 - LPWSTR pName; 630 - LPWSTR pEnvironment; 631 - LPWSTR pDriverPath; 632 - LPWSTR pDataFile; 633 - LPWSTR pConfigFile; 634 - DWORD dwDriverAttributes; 635 - DWORD dwConfigVersion; 636 - DWORD dwDriverVersion; 637 -} 638 -alias _DRIVER_INFO_5W DRIVER_INFO_5W; 639 -alias _DRIVER_INFO_5W* PDRIVER_INFO_5W; 640 -alias _DRIVER_INFO_5W* LPDRIVER_INFO_5W; 641 - 642 -// #ifdef UNICODE 643 -// ... 644 -// #else 645 -alias DRIVER_INFO_5A DRIVER_INFO_5; 646 -alias PDRIVER_INFO_5A PDRIVER_INFO_5; 647 -alias LPDRIVER_INFO_5A LPDRIVER_INFO_5; 648 -// #endif // UNICODE 649 - 650 -struct _DRIVER_INFO_6A { 651 - DWORD cVersion; 652 - LPSTR pName; 653 - LPSTR pEnvironment; 654 - LPSTR pDriverPath; 655 - LPSTR pDataFile; 656 - LPSTR pConfigFile; 657 - LPSTR pHelpFile; 658 - LPSTR pDependentFiles; 659 - LPSTR pMonitorName; 660 - LPSTR pDefaultDataType; 661 - LPSTR pszzPreviousNames; 662 - FILETIME ftDriverDate; 663 - DWORDLONG dwlDriverVersion; 664 - LPSTR pszMfgName; 665 - LPSTR pszOEMUrl; 666 - LPSTR pszHardwareID; 667 - LPSTR pszProvider; 668 -} 669 -alias _DRIVER_INFO_6A DRIVER_INFO_6A; 670 -alias _DRIVER_INFO_6A* PDRIVER_INFO_6A; 671 -alias _DRIVER_INFO_6A* LPDRIVER_INFO_6A; 672 - 673 -struct _DRIVER_INFO_6W { 674 - DWORD cVersion; 675 - LPWSTR pName; 676 - LPWSTR pEnvironment; 677 - LPWSTR pDriverPath; 678 - LPWSTR pDataFile; 679 - LPWSTR pConfigFile; 680 - LPWSTR pHelpFile; 681 - LPWSTR pDependentFiles; 682 - LPWSTR pMonitorName; 683 - LPWSTR pDefaultDataType; 684 - LPWSTR pszzPreviousNames; 685 - FILETIME ftDriverDate; 686 - DWORDLONG dwlDriverVersion; 687 - LPWSTR pszMfgName; 688 - LPWSTR pszOEMUrl; 689 - LPWSTR pszHardwareID; 690 - LPWSTR pszProvider; 691 -} 692 -alias _DRIVER_INFO_6W DRIVER_INFO_6W; 693 -alias _DRIVER_INFO_6W* PDRIVER_INFO_6W; 694 -alias _DRIVER_INFO_6W* LPDRIVER_INFO_6W; 695 - 696 -// #ifdef UNICODE 697 -// ... 698 -// #else 699 -alias DRIVER_INFO_6A DRIVER_INFO_6; 700 -alias PDRIVER_INFO_6A PDRIVER_INFO_6; 701 -alias LPDRIVER_INFO_6A LPDRIVER_INFO_6; 702 -// #endif // UNICODE 703 - 704 -enum : uint { DRIVER_KERNELMODE = 0x00000001 } 705 -enum : uint { DRIVER_USERMODE = 0x00000002 } 706 - 707 -enum : uint { DPD_DELETE_UNUSED_FILES = 0x00000001 } 708 -enum : uint { DPD_DELETE_SPECIFIC_VERSION = 0x00000002 } 709 -enum : uint { DPD_DELETE_ALL_FILES = 0x00000004 } 710 - 711 -enum : uint { APD_STRICT_UPGRADE = 0x00000001 } 712 -enum : uint { APD_STRICT_DOWNGRADE = 0x00000002 } 713 -enum : uint { APD_COPY_ALL_FILES = 0x00000004 } 714 -enum : uint { APD_COPY_NEW_FILES = 0x00000008 } 715 -enum : uint { APD_COPY_FROM_DIRECTORY = 0x00000010 } 716 - 717 -struct _DOC_INFO_1A { 718 - LPSTR pDocName; 719 - LPSTR pOutputFile; 720 - LPSTR pDatatype; 721 -} 722 -alias _DOC_INFO_1A DOC_INFO_1A; 723 -alias _DOC_INFO_1A* PDOC_INFO_1A; 724 -alias _DOC_INFO_1A* LPDOC_INFO_1A; 725 - 726 -struct _DOC_INFO_1W { 727 - LPWSTR pDocName; 728 - LPWSTR pOutputFile; 729 - LPWSTR pDatatype; 730 -} 731 -alias _DOC_INFO_1W DOC_INFO_1W; 732 -alias _DOC_INFO_1W* PDOC_INFO_1W; 733 -alias _DOC_INFO_1W* LPDOC_INFO_1W; 734 - 735 -// #ifdef UNICODE 736 -// ... 737 -// #else 738 -alias DOC_INFO_1A DOC_INFO_1; 739 -alias PDOC_INFO_1A PDOC_INFO_1; 740 -alias LPDOC_INFO_1A LPDOC_INFO_1; 741 -// #endif // UNICODE 742 - 743 -struct _FORM_INFO_1A { 744 - DWORD Flags; 745 - LPSTR pName; 746 - SIZEL Size; 747 - RECTL ImageableArea; 748 -} 749 -alias _FORM_INFO_1A FORM_INFO_1A; 750 -alias _FORM_INFO_1A* PFORM_INFO_1A; 751 -alias _FORM_INFO_1A* LPFORM_INFO_1A; 752 - 753 -struct _FORM_INFO_1W { 754 - DWORD Flags; 755 - LPWSTR pName; 756 - SIZEL Size; 757 - RECTL ImageableArea; 758 -} 759 -alias _FORM_INFO_1W FORM_INFO_1W; 760 -alias _FORM_INFO_1W* PFORM_INFO_1W; 761 -alias _FORM_INFO_1W* LPFORM_INFO_1W; 762 - 763 -// #ifdef UNICODE 764 -// ... 765 -// #else 766 -alias FORM_INFO_1A FORM_INFO_1; 767 -alias PFORM_INFO_1A PFORM_INFO_1; 768 -alias LPFORM_INFO_1A LPFORM_INFO_1; 769 -// #endif // UNICODE 770 - 771 -struct _DOC_INFO_2A { 772 - LPSTR pDocName; 773 - LPSTR pOutputFile; 774 - LPSTR pDatatype; 775 - DWORD dwMode; 776 - DWORD JobId; 777 -} 778 -alias _DOC_INFO_2A DOC_INFO_2A; 779 -alias _DOC_INFO_2A* PDOC_INFO_2A; 780 -alias _DOC_INFO_2A* LPDOC_INFO_2A; 781 - 782 -struct _DOC_INFO_2W { 783 - LPWSTR pDocName; 784 - LPWSTR pOutputFile; 785 - LPWSTR pDatatype; 786 - DWORD dwMode; 787 - DWORD JobId; 788 -} 789 -alias _DOC_INFO_2W DOC_INFO_2W; 790 -alias _DOC_INFO_2W* PDOC_INFO_2W; 791 -alias _DOC_INFO_2W* LPDOC_INFO_2W; 792 - 793 -// #ifdef UNICODE 794 -// ... 795 -// #else 796 -alias DOC_INFO_2A DOC_INFO_2; 797 -alias PDOC_INFO_2A PDOC_INFO_2; 798 -alias LPDOC_INFO_2A LPDOC_INFO_2; 799 -// #endif // UNICODE 800 - 801 -enum : uint { DI_CHANNEL = 1 } 802 - 803 -enum : uint { DI_READ_SPOOL_JOB = 3 } 804 - 805 -struct _DOC_INFO_3A { 806 - LPSTR pDocName; 807 - LPSTR pOutputFile; 808 - LPSTR pDatatype; 809 - DWORD dwFlags; 810 -} 811 -alias _DOC_INFO_3A DOC_INFO_3A; 812 -alias _DOC_INFO_3A* PDOC_INFO_3A; 813 -alias _DOC_INFO_3A* LPDOC_INFO_3A; 814 - 815 -struct _DOC_INFO_3W { 816 - LPWSTR pDocName; 817 - LPWSTR pOutputFile; 818 - LPWSTR pDatatype; 819 - DWORD dwFlags; 820 -} 821 -alias _DOC_INFO_3W DOC_INFO_3W; 822 -alias _DOC_INFO_3W* PDOC_INFO_3W; 823 -alias _DOC_INFO_3W* LPDOC_INFO_3W; 824 - 825 -// #ifdef UNICODE 826 -// ... 827 -// #else 828 -alias DOC_INFO_3A DOC_INFO_3; 829 -alias PDOC_INFO_3A PDOC_INFO_3; 830 -alias LPDOC_INFO_3A LPDOC_INFO_3; 831 -// #endif // UNICODE 832 - 833 -enum : uint { DI_MEMORYMAP_WRITE = 0x00000001 } 834 - 835 -enum : uint { FORM_USER = 0x00000000 } 836 -enum : uint { FORM_BUILTIN = 0x00000001 } 837 -enum : uint { FORM_PRINTER = 0x00000002 } 838 - 839 -struct _PRINTPROCESSOR_INFO_1A { 840 - LPSTR pName; 841 -} 842 -alias _PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1A; 843 -alias _PRINTPROCESSOR_INFO_1A* PPRINTPROCESSOR_INFO_1A; 844 -alias _PRINTPROCESSOR_INFO_1A* LPPRINTPROCESSOR_INFO_1A; 845 - 846 -struct _PRINTPROCESSOR_INFO_1W { 847 - LPWSTR pName; 848 -} 849 -alias _PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1W; 850 -alias _PRINTPROCESSOR_INFO_1W* PPRINTPROCESSOR_INFO_1W; 851 -alias _PRINTPROCESSOR_INFO_1W* LPPRINTPROCESSOR_INFO_1W; 852 - 853 -// #ifdef UNICODE 854 -// ... 855 -// #else 856 -alias PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1; 857 -alias PPRINTPROCESSOR_INFO_1A PPRINTPROCESSOR_INFO_1; 858 -alias LPPRINTPROCESSOR_INFO_1A LPPRINTPROCESSOR_INFO_1; 859 -// #endif // UNICODE 860 - 861 -struct _PRINTPROCESSOR_CAPS_1 { 862 - DWORD dwLevel; 863 - DWORD dwNupOptions; 864 - DWORD dwPageOrderFlags; 865 - DWORD dwNumberOfCopies; 866 -} 867 -alias _PRINTPROCESSOR_CAPS_1 PRINTPROCESSOR_CAPS_1; 868 -alias _PRINTPROCESSOR_CAPS_1* PPRINTPROCESSOR_CAPS_1; 869 - 870 -enum : uint { NORMAL_PRINT = 0x00000000 } 871 -enum : uint { REVERSE_PRINT = 0x00000001 } 872 - 873 -struct _PORT_INFO_1A { 874 - LPSTR pName; 875 -} 876 -alias _PORT_INFO_1A PORT_INFO_1A; 877 -alias _PORT_INFO_1A* PPORT_INFO_1A; 878 -alias _PORT_INFO_1A* LPPORT_INFO_1A; 879 - 880 -struct _PORT_INFO_1W { 881 - LPWSTR pName; 882 -} 883 -alias _PORT_INFO_1W PORT_INFO_1W; 884 -alias _PORT_INFO_1W* PPORT_INFO_1W; 885 -alias _PORT_INFO_1W* LPPORT_INFO_1W; 886 - 887 -// #ifdef UNICODE 888 -// ... 889 -// #else 890 -alias PORT_INFO_1A PORT_INFO_1; 891 -alias PPORT_INFO_1A PPORT_INFO_1; 892 -alias LPPORT_INFO_1A LPPORT_INFO_1; 893 -// #endif // UNICODE 894 - 895 -struct _PORT_INFO_2A { 896 - LPSTR pPortName; 897 - LPSTR pMonitorName; 898 - LPSTR pDescription; 899 - DWORD fPortType; 900 - DWORD Reserved; 901 -} 902 -alias _PORT_INFO_2A PORT_INFO_2A; 903 -alias _PORT_INFO_2A* PPORT_INFO_2A; 904 -alias _PORT_INFO_2A* LPPORT_INFO_2A; 905 - 906 -struct _PORT_INFO_2W { 907 - LPWSTR pPortName; 908 - LPWSTR pMonitorName; 909 - LPWSTR pDescription; 910 - DWORD fPortType; 911 - DWORD Reserved; 912 -} 913 -alias _PORT_INFO_2W PORT_INFO_2W; 914 -alias _PORT_INFO_2W* PPORT_INFO_2W; 915 -alias _PORT_INFO_2W* LPPORT_INFO_2W; 916 - 917 -// #ifdef UNICODE 918 -// ... 919 -// #else 920 -alias PORT_INFO_2A PORT_INFO_2; 921 -alias PPORT_INFO_2A PPORT_INFO_2; 922 -alias LPPORT_INFO_2A LPPORT_INFO_2; 923 -// #endif // UNICODE 924 - 925 -enum : uint { PORT_TYPE_WRITE = 0x0001 } 926 -enum : uint { PORT_TYPE_READ = 0x0002 } 927 -enum : uint { PORT_TYPE_REDIRECTED = 0x0004 } 928 -enum : uint { PORT_TYPE_NET_ATTACHED = 0x0008 } 929 - 930 -struct _PORT_INFO_3A { 931 - DWORD dwStatus; 932 - LPSTR pszStatus; 933 - DWORD dwSeverity; 934 -} 935 -alias _PORT_INFO_3A PORT_INFO_3A; 936 -alias _PORT_INFO_3A* PPORT_INFO_3A; 937 -alias _PORT_INFO_3A* LPPORT_INFO_3A; 938 - 939 -struct _PORT_INFO_3W { 940 - DWORD dwStatus; 941 - LPWSTR pszStatus; 942 - DWORD dwSeverity; 943 -} 944 -alias _PORT_INFO_3W PORT_INFO_3W; 945 -alias _PORT_INFO_3W* PPORT_INFO_3W; 946 -alias _PORT_INFO_3W* LPPORT_INFO_3W; 947 - 948 -// #ifdef UNICODE 949 -// ... 950 -// #else 951 -alias PORT_INFO_3A PORT_INFO_3; 952 -alias PPORT_INFO_3A PPORT_INFO_3; 953 -alias LPPORT_INFO_3A LPPORT_INFO_3; 954 -// #endif // UNICODE 955 - 956 -enum : uint { PORT_STATUS_TYPE_ERROR = 1 } 957 -enum : uint { PORT_STATUS_TYPE_WARNING = 2 } 958 -enum : uint { PORT_STATUS_TYPE_INFO = 3 } 959 - 960 -enum : uint { PORT_STATUS_OFFLINE = 1 } 961 -enum : uint { PORT_STATUS_PAPER_JAM = 2 } 962 -enum : uint { PORT_STATUS_PAPER_OUT = 3 } 963 -enum : uint { PORT_STATUS_OUTPUT_BIN_FULL = 4 } 964 -enum : uint { PORT_STATUS_PAPER_PROBLEM = 5 } 965 -enum : uint { PORT_STATUS_NO_TONER = 6 } 966 -enum : uint { PORT_STATUS_DOOR_OPEN = 7 } 967 -enum : uint { PORT_STATUS_USER_INTERVENTION = 8 } 968 -enum : uint { PORT_STATUS_OUT_OF_MEMORY = 9 } 969 - 970 -enum : uint { PORT_STATUS_TONER_LOW = 10 } 971 - 972 -enum : uint { PORT_STATUS_WARMING_UP = 11 } 973 -enum : uint { PORT_STATUS_POWER_SAVE = 12 } 974 - 975 -struct _MONITOR_INFO_1A { 976 - LPSTR pName; 977 -} 978 -alias _MONITOR_INFO_1A MONITOR_INFO_1A; 979 -alias _MONITOR_INFO_1A* PMONITOR_INFO_1A; 980 -alias _MONITOR_INFO_1A* LPMONITOR_INFO_1A; 981 - 982 -struct _MONITOR_INFO_1W { 983 - LPWSTR pName; 984 -} 985 -alias _MONITOR_INFO_1W MONITOR_INFO_1W; 986 -alias _MONITOR_INFO_1W* PMONITOR_INFO_1W; 987 -alias _MONITOR_INFO_1W* LPMONITOR_INFO_1W; 988 - 989 -// #ifdef UNICODE 990 -// ... 991 -// #else 992 -alias MONITOR_INFO_1A MONITOR_INFO_1; 993 -alias PMONITOR_INFO_1A PMONITOR_INFO_1; 994 -alias LPMONITOR_INFO_1A LPMONITOR_INFO_1; 995 -// #endif // UNICODE 996 - 997 -struct _MONITOR_INFO_2A { 998 - LPSTR pName; 999 - LPSTR pEnvironment; 1000 - LPSTR pDLLName; 1001 -} 1002 -alias _MONITOR_INFO_2A MONITOR_INFO_2A; 1003 -alias _MONITOR_INFO_2A* PMONITOR_INFO_2A; 1004 -alias _MONITOR_INFO_2A* LPMONITOR_INFO_2A; 1005 - 1006 -struct _MONITOR_INFO_2W { 1007 - LPWSTR pName; 1008 - LPWSTR pEnvironment; 1009 - LPWSTR pDLLName; 1010 -} 1011 -alias _MONITOR_INFO_2W MONITOR_INFO_2W; 1012 -alias _MONITOR_INFO_2W* PMONITOR_INFO_2W; 1013 -alias _MONITOR_INFO_2W* LPMONITOR_INFO_2W; 1014 - 1015 -// #ifdef UNICODE 1016 -// ... 1017 -// #else 1018 -alias MONITOR_INFO_2A MONITOR_INFO_2; 1019 -alias PMONITOR_INFO_2A PMONITOR_INFO_2; 1020 -alias LPMONITOR_INFO_2A LPMONITOR_INFO_2; 1021 -// #endif // UNICODE 1022 - 1023 -struct _DATATYPES_INFO_1A { 1024 - LPSTR pName; 1025 -} 1026 -alias _DATATYPES_INFO_1A DATATYPES_INFO_1A; 1027 -alias _DATATYPES_INFO_1A* PDATATYPES_INFO_1A; 1028 -alias _DATATYPES_INFO_1A* LPDATATYPES_INFO_1A; 1029 - 1030 -struct _DATATYPES_INFO_1W { 1031 - LPWSTR pName; 1032 -} 1033 -alias _DATATYPES_INFO_1W DATATYPES_INFO_1W; 1034 -alias _DATATYPES_INFO_1W* PDATATYPES_INFO_1W; 1035 -alias _DATATYPES_INFO_1W* LPDATATYPES_INFO_1W; 1036 - 1037 -// #ifdef UNICODE 1038 -// ... 1039 -// #else 1040 -alias DATATYPES_INFO_1A DATATYPES_INFO_1; 1041 -alias PDATATYPES_INFO_1A PDATATYPES_INFO_1; 1042 -alias LPDATATYPES_INFO_1A LPDATATYPES_INFO_1; 1043 -// #endif // UNICODE 1044 - 1045 -struct _PRINTER_DEFAULTSA { 1046 - LPSTR pDatatype; 1047 - LPDEVMODEA pDevMode; 1048 - ACCESS_MASK DesiredAccess; 1049 -} 1050 -alias _PRINTER_DEFAULTSA PRINTER_DEFAULTSA; 1051 -alias _PRINTER_DEFAULTSA* PPRINTER_DEFAULTSA; 1052 -alias _PRINTER_DEFAULTSA* LPPRINTER_DEFAULTSA; 1053 - 1054 -struct _PRINTER_DEFAULTSW { 1055 - LPWSTR pDatatype; 1056 - LPDEVMODEW pDevMode; 1057 - ACCESS_MASK DesiredAccess; 1058 -} 1059 -alias _PRINTER_DEFAULTSW PRINTER_DEFAULTSW; 1060 -alias _PRINTER_DEFAULTSW* PPRINTER_DEFAULTSW; 1061 -alias _PRINTER_DEFAULTSW* LPPRINTER_DEFAULTSW; 1062 - 1063 -// #ifdef UNICODE 1064 -// ... 1065 -// #else 1066 -alias PRINTER_DEFAULTSA PRINTER_DEFAULTS; 1067 -alias PPRINTER_DEFAULTSA PPRINTER_DEFAULTS; 1068 -alias LPPRINTER_DEFAULTSA LPPRINTER_DEFAULTS; 1069 -// #endif // UNICODE 1070 - 1071 -struct _PRINTER_ENUM_VALUESA { 1072 - LPSTR pValueName; 1073 - DWORD cbValueName; 1074 - DWORD dwType; 1075 - LPBYTE pData; 1076 - DWORD cbData; 1077 -} 1078 -alias _PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUESA; 1079 -alias _PRINTER_ENUM_VALUESA* PPRINTER_ENUM_VALUESA; 1080 -alias _PRINTER_ENUM_VALUESA* LPPRINTER_ENUM_VALUESA; 1081 - 1082 -struct _PRINTER_ENUM_VALUESW { 1083 - LPWSTR pValueName; 1084 - DWORD cbValueName; 1085 - DWORD dwType; 1086 - LPBYTE pData; 1087 - DWORD cbData; 1088 -} 1089 -alias _PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUESW; 1090 -alias _PRINTER_ENUM_VALUESW* PPRINTER_ENUM_VALUESW; 1091 -alias _PRINTER_ENUM_VALUESW* LPPRINTER_ENUM_VALUESW; 1092 - 1093 -// #ifdef UNICODE 1094 -// ... 1095 -// #else 1096 -alias PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUES; 1097 -alias PPRINTER_ENUM_VALUESA PPRINTER_ENUM_VALUES; 1098 -alias LPPRINTER_ENUM_VALUESA LPPRINTER_ENUM_VALUES; 1099 -// #endif // UNICODE 1100 - 1101 -extern(Windows) export BOOL EnumPrintersA( 1102 - DWORD Flags, 1103 - LPSTR Name, 1104 - DWORD Level, 1105 - LPBYTE pPrinterEnum, 1106 - DWORD cbBuf, 1107 - LPDWORD pcbNeeded, 1108 - LPDWORD pcReturned 1109 -); 1110 -extern(Windows) export BOOL EnumPrintersW( 1111 - DWORD Flags, 1112 - LPWSTR Name, 1113 - DWORD Level, 1114 - LPBYTE pPrinterEnum, 1115 - DWORD cbBuf, 1116 - LPDWORD pcbNeeded, 1117 - LPDWORD pcReturned 1118 -); 1119 -// #ifdef UNICODE 1120 -// #... 1121 -// #else 1122 -alias EnumPrintersA EnumPrinters; 1123 -// #endif // !UNICODE 1124 - 1125 -enum : uint { PRINTER_ENUM_DEFAULT = 0x00000001 } 1126 -enum : uint { PRINTER_ENUM_LOCAL = 0x00000002 } 1127 -enum : uint { PRINTER_ENUM_CONNECTIONS = 0x00000004 } 1128 -enum : uint { PRINTER_ENUM_FAVORITE = 0x00000004 } 1129 -enum : uint { PRINTER_ENUM_NAME = 0x00000008 } 1130 -enum : uint { PRINTER_ENUM_REMOTE = 0x00000010 } 1131 -enum : uint { PRINTER_ENUM_SHARED = 0x00000020 } 1132 -enum : uint { PRINTER_ENUM_NETWORK = 0x00000040 } 1133 - 1134 -enum : uint { PRINTER_ENUM_EXPAND = 0x00004000 } 1135 -enum : uint { PRINTER_ENUM_CONTAINER = 0x00008000 } 1136 - 1137 -enum : uint { PRINTER_ENUM_ICONMASK = 0x00ff0000 } 1138 -enum : uint { PRINTER_ENUM_ICON1 = 0x00010000 } 1139 -enum : uint { PRINTER_ENUM_ICON2 = 0x00020000 } 1140 -enum : uint { PRINTER_ENUM_ICON3 = 0x00040000 } 1141 -enum : uint { PRINTER_ENUM_ICON4 = 0x00080000 } 1142 -enum : uint { PRINTER_ENUM_ICON5 = 0x00100000 } 1143 -enum : uint { PRINTER_ENUM_ICON6 = 0x00200000 } 1144 -enum : uint { PRINTER_ENUM_ICON7 = 0x00400000 } 1145 -enum : uint { PRINTER_ENUM_ICON8 = 0x00800000 } 1146 -enum : uint { PRINTER_ENUM_HIDE = 0x01000000 } 1147 - 1148 -enum : uint { SPOOL_FILE_PERSISTENT = 0x00000001 } 1149 -enum : uint { SPOOL_FILE_TEMPORARY = 0x00000002 } 1150 - 1151 -extern(Windows) export BOOL OpenPrinterA( 1152 - LPSTR pPrinterName, 1153 - LPHANDLE phPrinter, 1154 - LPPRINTER_DEFAULTSA pDefault 1155 -); 1156 -extern(Windows) export BOOL OpenPrinterW( 1157 - LPWSTR pPrinterName, 1158 - LPHANDLE phPrinter, 1159 - LPPRINTER_DEFAULTSW pDefault 1160 -); 1161 -// #ifdef UNICODE 1162 -// #... 1163 -// #else 1164 -alias OpenPrinterA OpenPrinter; 1165 -// #endif // !UNICODE 1166 - 1167 -extern(Windows) export BOOL ResetPrinterA( 1168 - HANDLE hPrinter, 1169 - LPPRINTER_DEFAULTSA pDefault 1170 -); 1171 -extern(Windows) export BOOL ResetPrinterW( 1172 - HANDLE hPrinter, 1173 - LPPRINTER_DEFAULTSW pDefault 1174 -); 1175 -// #ifdef UNICODE 1176 -// #... 1177 -// #else 1178 -alias ResetPrinterA ResetPrinter; 1179 -// #endif // !UNICODE 1180 - 1181 -extern(Windows) export BOOL SetJobA( 1182 - HANDLE hPrinter, 1183 - DWORD JobId, 1184 - DWORD Level, 1185 - LPBYTE pJob, 1186 - DWORD Command 1187 -); 1188 -extern(Windows) export BOOL SetJobW( 1189 - HANDLE hPrinter, 1190 - DWORD JobId, 1191 - DWORD Level, 1192 - LPBYTE pJob, 1193 - DWORD Command 1194 -); 1195 -// #ifdef UNICODE 1196 -// #... 1197 -// #else 1198 -alias SetJobA SetJob; 1199 -// #endif // !UNICODE 1200 - 1201 -extern(Windows) export BOOL GetJobA( 1202 - HANDLE hPrinter, 1203 - DWORD JobId, 1204 - DWORD Level, 1205 - LPBYTE pJob, 1206 - DWORD cbBuf, 1207 - LPDWORD pcbNeeded 1208 -); 1209 -extern(Windows) export BOOL GetJobW( 1210 - HANDLE hPrinter, 1211 - DWORD JobId, 1212 - DWORD Level, 1213 - LPBYTE pJob, 1214 - DWORD cbBuf, 1215 - LPDWORD pcbNeeded 1216 -); 1217 -// #ifdef UNICODE 1218 -// #... 1219 -// #else 1220 -alias GetJobA GetJob; 1221 -// #endif // !UNICODE 1222 - 1223 -extern(Windows) export BOOL EnumJobsA( 1224 - HANDLE hPrinter, 1225 - DWORD FirstJob, 1226 - DWORD NoJobs, 1227 - DWORD Level, 1228 - LPBYTE pJob, 1229 - DWORD cbBuf, 1230 - LPDWORD pcbNeeded, 1231 - LPDWORD pcReturned 1232 -); 1233 -extern(Windows) export BOOL EnumJobsW( 1234 - HANDLE hPrinter, 1235 - DWORD FirstJob, 1236 - DWORD NoJobs, 1237 - DWORD Level, 1238 - LPBYTE pJob, 1239 - DWORD cbBuf, 1240 - LPDWORD pcbNeeded, 1241 - LPDWORD pcReturned 1242 -); 1243 -// #ifdef UNICODE 1244 -// #... 1245 -// #else 1246 -alias EnumJobsA EnumJobs; 1247 -// #endif // !UNICODE 1248 - 1249 -extern(Windows) export HANDLE AddPrinterA( 1250 - LPSTR pName, 1251 - DWORD Level, 1252 - LPBYTE pPrinter 1253 -); 1254 -extern(Windows) export HANDLE AddPrinterW( 1255 - LPWSTR pName, 1256 - DWORD Level, 1257 - LPBYTE pPrinter 1258 -); 1259 -// #ifdef UNICODE 1260 -// #... 1261 -// #else 1262 -alias AddPrinterA AddPrinter; 1263 -// #endif // !UNICODE 1264 - 1265 -extern(Windows) export BOOL DeletePrinter( 1266 - HANDLE hPrinter 1267 -); 1268 - 1269 -extern(Windows) export BOOL SetPrinterA( 1270 - HANDLE hPrinter, 1271 - DWORD Level, 1272 - LPBYTE pPrinter, 1273 - DWORD Command 1274 -); 1275 -extern(Windows) export BOOL SetPrinterW( 1276 - HANDLE hPrinter, 1277 - DWORD Level, 1278 - LPBYTE pPrinter, 1279 - DWORD Command 1280 -); 1281 -// #ifdef UNICODE 1282 -// #... 1283 -// #else 1284 -alias SetPrinterA SetPrinter; 1285 -// #endif // !UNICODE 1286 - 1287 -extern(Windows) export BOOL GetPrinterA( 1288 - HANDLE hPrinter, 1289 - DWORD Level, 1290 - LPBYTE pPrinter, 1291 - DWORD cbBuf, 1292 - LPDWORD pcbNeeded 1293 -); 1294 -extern(Windows) export BOOL GetPrinterW( 1295 - HANDLE hPrinter, 1296 - DWORD Level, 1297 - LPBYTE pPrinter, 1298 - DWORD cbBuf, 1299 - LPDWORD pcbNeeded 1300 -); 1301 -// #ifdef UNICODE 1302 -// #... 1303 -// #else 1304 -alias GetPrinterA GetPrinter; 1305 -// #endif // !UNICODE 1306 - 1307 -extern(Windows) export BOOL AddPrinterDriverA( 1308 - LPSTR pName, 1309 - DWORD Level, 1310 - LPBYTE pDriverInfo 1311 -); 1312 -extern(Windows) export BOOL AddPrinterDriverW( 1313 - LPWSTR pName, 1314 - DWORD Level, 1315 - LPBYTE pDriverInfo 1316 -); 1317 -// #ifdef UNICODE 1318 -// #... 1319 -// #else 1320 -alias AddPrinterDriverA AddPrinterDriver; 1321 -// #endif // !UNICODE 1322 - 1323 -extern(Windows) export BOOL AddPrinterDriverExA( 1324 - LPSTR pName, 1325 - DWORD Level, 1326 - LPBYTE pDriverInfo, 1327 - DWORD dwFileCopyFlags 1328 -); 1329 -extern(Windows) export BOOL AddPrinterDriverExW( 1330 - LPWSTR pName, 1331 - DWORD Level, 1332 - LPBYTE pDriverInfo, 1333 - DWORD dwFileCopyFlags 1334 -); 1335 -// #ifdef UNICODE 1336 -// #... 1337 -// #else 1338 -alias AddPrinterDriverExA AddPrinterDriverEx; 1339 -// #endif // !UNICODE 1340 - 1341 -extern(Windows) export BOOL EnumPrinterDriversA( 1342 - LPSTR pName, 1343 - LPSTR pEnvironment, 1344 - DWORD Level, 1345 - LPBYTE pDriverInfo, 1346 - DWORD cbBuf, 1347 - LPDWORD pcbNeeded, 1348 - LPDWORD pcReturned 1349 -); 1350 -extern(Windows) export BOOL EnumPrinterDriversW( 1351 - LPWSTR pName, 1352 - LPWSTR pEnvironment, 1353 - DWORD Level, 1354 - LPBYTE pDriverInfo, 1355 - DWORD cbBuf, 1356 - LPDWORD pcbNeeded, 1357 - LPDWORD pcReturned 1358 -); 1359 -// #ifdef UNICODE 1360 -// #... 1361 -// #else 1362 -alias EnumPrinterDriversA EnumPrinterDrivers; 1363 -// #endif // !UNICODE 1364 - 1365 -extern(Windows) export BOOL GetPrinterDriverA( 1366 - HANDLE hPrinter, 1367 - LPSTR pEnvironment, 1368 - DWORD Level, 1369 - LPBYTE pDriverInfo, 1370 - DWORD cbBuf, 1371 - LPDWORD pcbNeeded 1372 -); 1373 -extern(Windows) export BOOL GetPrinterDriverW( 1374 - HANDLE hPrinter, 1375 - LPWSTR pEnvironment, 1376 - DWORD Level, 1377 - LPBYTE pDriverInfo, 1378 - DWORD cbBuf, 1379 - LPDWORD pcbNeeded 1380 -); 1381 -// #ifdef UNICODE 1382 -// #... 1383 -// #else 1384 -alias GetPrinterDriverA GetPrinterDriver; 1385 -// #endif // !UNICODE 1386 - 1387 -extern(Windows) export BOOL GetPrinterDriverDirectoryA( 1388 - LPSTR pName, 1389 - LPSTR pEnvironment, 1390 - DWORD Level, 1391 - LPBYTE pDriverDirectory, 1392 - DWORD cbBuf, 1393 - LPDWORD pcbNeeded 1394 -); 1395 -extern(Windows) export BOOL GetPrinterDriverDirectoryW( 1396 - LPWSTR pName, 1397 - LPWSTR pEnvironment, 1398 - DWORD Level, 1399 - LPBYTE pDriverDirectory, 1400 - DWORD cbBuf, 1401 - LPDWORD pcbNeeded 1402 -); 1403 -// #ifdef UNICODE 1404 -// #... 1405 -// #else 1406 -alias GetPrinterDriverDirectoryA GetPrinterDriverDirectory; 1407 -// #endif // !UNICODE 1408 - 1409 -extern(Windows) export BOOL DeletePrinterDriverA( 1410 - LPSTR pName, 1411 - LPSTR pEnvironment, 1412 - LPSTR pDriverName 1413 -); 1414 -extern(Windows) export BOOL DeletePrinterDriverW( 1415 - LPWSTR pName, 1416 - LPWSTR pEnvironment, 1417 - LPWSTR pDriverName 1418 -); 1419 -// #ifdef UNICODE 1420 -// #... 1421 -// #else 1422 -alias DeletePrinterDriverA DeletePrinterDriver; 1423 -// #endif // !UNICODE 1424 - 1425 -extern(Windows) export BOOL DeletePrinterDriverExA( 1426 - LPSTR pName, 1427 - LPSTR pEnvironment, 1428 - LPSTR pDriverName, 1429 - DWORD dwDeleteFlag, 1430 - DWORD dwVersionFlag 1431 -); 1432 -extern(Windows) export BOOL DeletePrinterDriverExW( 1433 - LPWSTR pName, 1434 - LPWSTR pEnvironment, 1435 - LPWSTR pDriverName, 1436 - DWORD dwDeleteFlag, 1437 - DWORD dwVersionFlag 1438 -); 1439 -// #ifdef UNICODE 1440 -// #... 1441 -// #else 1442 -alias DeletePrinterDriverExA DeletePrinterDriverEx; 1443 -// #endif // !UNICODE 1444 - 1445 -extern(Windows) export BOOL AddPrintProcessorA( 1446 - LPSTR pName, 1447 - LPSTR pEnvironment, 1448 - LPSTR pPathName, 1449 - LPSTR pPrintProcessorName 1450 -); 1451 -extern(Windows) export BOOL AddPrintProcessorW( 1452 - LPWSTR pName, 1453 - LPWSTR pEnvironment, 1454 - LPWSTR pPathName, 1455 - LPWSTR pPrintProcessorName 1456 -); 1457 -// #ifdef UNICODE 1458 -// #... 1459 -// #else 1460 -alias AddPrintProcessorA AddPrintProcessor; 1461 -// #endif // !UNICODE 1462 - 1463 -extern(Windows) export BOOL EnumPrintProcessorsA( 1464 - LPSTR pName, 1465 - LPSTR pEnvironment, 1466 - DWORD Level, 1467 - LPBYTE pPrintProcessorInfo, 1468 - DWORD cbBuf, 1469 - LPDWORD pcbNeeded, 1470 - LPDWORD pcReturned 1471 -); 1472 -extern(Windows) export BOOL EnumPrintProcessorsW( 1473 - LPWSTR pName, 1474 - LPWSTR pEnvironment, 1475 - DWORD Level, 1476 - LPBYTE pPrintProcessorInfo, 1477 - DWORD cbBuf, 1478 - LPDWORD pcbNeeded, 1479 - LPDWORD pcReturned 1480 -); 1481 -// #ifdef UNICODE 1482 -// #... 1483 -// #else 1484 -alias EnumPrintProcessorsA EnumPrintProcessors; 1485 -// #endif // !UNICODE 1486 - 1487 -extern(Windows) export BOOL GetPrintProcessorDirectoryA( 1488 - LPSTR pName, 1489 - LPSTR pEnvironment, 1490 - DWORD Level, 1491 - LPBYTE pPrintProcessorInfo, 1492 - DWORD cbBuf, 1493 - LPDWORD pcbNeeded 1494 -); 1495 -extern(Windows) export BOOL GetPrintProcessorDirectoryW( 1496 - LPWSTR pName, 1497 - LPWSTR pEnvironment, 1498 - DWORD Level, 1499 - LPBYTE pPrintProcessorInfo, 1500 - DWORD cbBuf, 1501 - LPDWORD pcbNeeded 1502 -); 1503 -// #ifdef UNICODE 1504 -// #... 1505 -// #else 1506 -alias GetPrintProcessorDirectoryA GetPrintProcessorDirectory; 1507 -// #endif // !UNICODE 1508 - 1509 -extern(Windows) export BOOL EnumPrintProcessorDatatypesA( 1510 - LPSTR pName, 1511 - LPSTR pPrintProcessorName, 1512 - DWORD Level, 1513 - LPBYTE pDatatypes, 1514 - DWORD cbBuf, 1515 - LPDWORD pcbNeeded, 1516 - LPDWORD pcReturned 1517 -); 1518 -extern(Windows) export BOOL EnumPrintProcessorDatatypesW( 1519 - LPWSTR pName, 1520 - LPWSTR pPrintProcessorName, 1521 - DWORD Level, 1522 - LPBYTE pDatatypes, 1523 - DWORD cbBuf, 1524 - LPDWORD pcbNeeded, 1525 - LPDWORD pcReturned 1526 -); 1527 -// #ifdef UNICODE 1528 -// #... 1529 -// #else 1530 -alias EnumPrintProcessorDatatypesA EnumPrintProcessorDatatypes; 1531 -// #endif // !UNICODE 1532 - 1533 -extern(Windows) export BOOL DeletePrintProcessorA( 1534 - LPSTR pName, 1535 - LPSTR pEnvironment, 1536 - LPSTR pPrintProcessorName 1537 -); 1538 -extern(Windows) export BOOL DeletePrintProcessorW( 1539 - LPWSTR pName, 1540 - LPWSTR pEnvironment, 1541 - LPWSTR pPrintProcessorName 1542 -); 1543 -// #ifdef UNICODE 1544 -// #... 1545 -// #else 1546 -alias DeletePrintProcessorA DeletePrintProcessor; 1547 -// #endif // !UNICODE 1548 - 1549 -extern(Windows) export DWORD StartDocPrinterA( 1550 - HANDLE hPrinter, 1551 - DWORD Level, 1552 - LPBYTE pDocInfo 1553 -); 1554 -extern(Windows) export DWORD StartDocPrinterW( 1555 - HANDLE hPrinter, 1556 - DWORD Level, 1557 - LPBYTE pDocInfo 1558 -); 1559 -// #ifdef UNICODE 1560 -// #... 1561 -// #else 1562 -alias StartDocPrinterA StartDocPrinter; 1563 -// #endif // !UNICODE 1564 - 1565 -extern(Windows) export BOOL StartPagePrinter( 1566 - HANDLE hPrinter 1567 -); 1568 - 1569 -extern(Windows) export BOOL WritePrinter( 1570 - HANDLE hPrinter, 1571 - LPVOID pBuf, 1572 - DWORD cbBuf, 1573 - LPDWORD pcWritten 1574 -); 1575 - 1576 -extern(Windows) export BOOL FlushPrinter( 1577 - HANDLE hPrinter, 1578 - LPVOID pBuf, 1579 - DWORD cbBuf, 1580 - LPDWORD pcWritten, 1581 - DWORD cSleep 1582 -); 1583 - 1584 -extern(Windows) export BOOL EndPagePrinter( 1585 - HANDLE hPrinter 1586 -); 1587 - 1588 -extern(Windows) export BOOL AbortPrinter( 1589 - HANDLE hPrinter 1590 -); 1591 - 1592 -extern(Windows) export BOOL ReadPrinter( 1593 - HANDLE hPrinter, 1594 - LPVOID pBuf, 1595 - DWORD cbBuf, 1596 - LPDWORD pNoBytesRead 1597 -); 1598 - 1599 -extern(Windows) export BOOL EndDocPrinter( 1600 - HANDLE hPrinter 1601 -); 1602 - 1603 -extern(Windows) export BOOL AddJobA( 1604 - HANDLE hPrinter, 1605 - DWORD Level, 1606 - LPBYTE pData, 1607 - DWORD cbBuf, 1608 - LPDWORD pcbNeeded 1609 -); 1610 -extern(Windows) export BOOL AddJobW( 1611 - HANDLE hPrinter, 1612 - DWORD Level, 1613 - LPBYTE pData, 1614 - DWORD cbBuf, 1615 - LPDWORD pcbNeeded 1616 -); 1617 -// #ifdef UNICODE 1618 -// #... 1619 -// #else 1620 -alias AddJobA AddJob; 1621 -// #endif // !UNICODE 1622 - 1623 -extern(Windows) export BOOL ScheduleJob( 1624 - HANDLE hPrinter, 1625 - DWORD JobId 1626 -); 1627 - 1628 -extern(Windows) export BOOL PrinterProperties( 1629 - HWND hWnd, 1630 - HANDLE hPrinter 1631 -); 1632 - 1633 -extern(Windows) export LONG DocumentPropertiesA( 1634 - HWND hWnd, 1635 - HANDLE hPrinter, 1636 - LPSTR pDeviceName, 1637 - PDEVMODEA pDevModeOutput, 1638 - PDEVMODEA pDevModeInput, 1639 - DWORD fMode 1640 -); 1641 -extern(Windows) export LONG DocumentPropertiesW( 1642 - HWND hWnd, 1643 - HANDLE hPrinter, 1644 - LPWSTR pDeviceName, 1645 - PDEVMODEW pDevModeOutput, 1646 - PDEVMODEW pDevModeInput, 1647 - DWORD fMode 1648 -); 1649 -// #ifdef UNICODE 1650 -// #... 1651 -// #else 1652 -alias DocumentPropertiesA DocumentProperties; 1653 -// #endif // !UNICODE 1654 - 1655 -extern(Windows) export LONG AdvancedDocumentPropertiesA( 1656 - HWND hWnd, 1657 - HANDLE hPrinter, 1658 - LPSTR pDeviceName, 1659 - PDEVMODEA pDevModeOutput, 1660 - PDEVMODEA pDevModeInput 1661 -); 1662 -extern(Windows) export LONG AdvancedDocumentPropertiesW( 1663 - HWND hWnd, 1664 - HANDLE hPrinter, 1665 - LPWSTR pDeviceName, 1666 - PDEVMODEW pDevModeOutput, 1667 - PDEVMODEW pDevModeInput 1668 -); 1669 -// #ifdef UNICODE 1670 -// #... 1671 -// #else 1672 -alias AdvancedDocumentPropertiesA AdvancedDocumentProperties; 1673 -// #endif // !UNICODE 1674 - 1675 -extern(Windows) export DWORD GetPrinterDataA( 1676 - HANDLE hPrinter, 1677 - LPSTR pValueName, 1678 - LPDWORD pType, 1679 - LPBYTE pData, 1680 - DWORD nSize, 1681 - LPDWORD pcbNeeded 1682 -); 1683 -extern(Windows) export DWORD GetPrinterDataW( 1684 - HANDLE hPrinter, 1685 - LPWSTR pValueName, 1686 - LPDWORD pType, 1687 - LPBYTE pData, 1688 - DWORD nSize, 1689 - LPDWORD pcbNeeded 1690 -); 1691 -// #ifdef UNICODE 1692 -// #... 1693 -// #else 1694 -alias GetPrinterDataA GetPrinterData; 1695 -// #endif // !UNICODE 1696 - 1697 -extern(Windows) export DWORD GetPrinterDataExA( 1698 - HANDLE hPrinter, 1699 - LPCSTR pKeyName, 1700 - LPCSTR pValueName, 1701 - LPDWORD pType, 1702 - LPBYTE pData, 1703 - DWORD nSize, 1704 - LPDWORD pcbNeeded 1705 -); 1706 -extern(Windows) export DWORD GetPrinterDataExW( 1707 - HANDLE hPrinter, 1708 - LPCWSTR pKeyName, 1709 - LPCWSTR pValueName, 1710 - LPDWORD pType, 1711 - LPBYTE pData, 1712 - DWORD nSize, 1713 - LPDWORD pcbNeeded 1714 -); 1715 -// #ifdef UNICODE 1716 -// #... 1717 -// #else 1718 -alias GetPrinterDataExA GetPrinterDataEx; 1719 -// #endif // !UNICODE 1720 - 1721 -extern(Windows) export DWORD EnumPrinterDataA( 1722 - HANDLE hPrinter, 1723 - DWORD dwIndex, 1724 - LPSTR pValueName, 1725 - DWORD cbValueName, 1726 - LPDWORD pcbValueName, 1727 - LPDWORD pType, 1728 - LPBYTE pData, 1729 - DWORD cbData, 1730 - LPDWORD pcbData 1731 -); 1732 -extern(Windows) export DWORD EnumPrinterDataW( 1733 - HANDLE hPrinter, 1734 - DWORD dwIndex, 1735 - LPWSTR pValueName, 1736 - DWORD cbValueName, 1737 - LPDWORD pcbValueName, 1738 - LPDWORD pType, 1739 - LPBYTE pData, 1740 - DWORD cbData, 1741 - LPDWORD pcbData 1742 -); 1743 -// #ifdef UNICODE 1744 -// #... 1745 -// #else 1746 -alias EnumPrinterDataA EnumPrinterData; 1747 -// #endif // !UNICODE 1748 - 1749 -extern(Windows) export DWORD EnumPrinterDataExA( 1750 - HANDLE hPrinter, 1751 - LPCSTR pKeyName, 1752 - LPBYTE pEnumValues, 1753 - DWORD cbEnumValues, 1754 - LPDWORD pcbEnumValues, 1755 - LPDWORD pnEnumValues 1756 -); 1757 -extern(Windows) export DWORD EnumPrinterDataExW( 1758 - HANDLE hPrinter, 1759 - LPCWSTR pKeyName, 1760 - LPBYTE pEnumValues, 1761 - DWORD cbEnumValues, 1762 - LPDWORD pcbEnumValues, 1763 - LPDWORD pnEnumValues 1764 -); 1765 -// #ifdef UNICODE 1766 -// #... 1767 -// #else 1768 -alias EnumPrinterDataExA EnumPrinterDataEx; 1769 -// #endif // !UNICODE 1770 - 1771 -extern(Windows) export DWORD EnumPrinterKeyA( 1772 - HANDLE hPrinter, 1773 - LPCSTR pKeyName, 1774 - LPSTR pSubkey, 1775 - DWORD cbSubkey, 1776 - LPDWORD pcbSubkey 1777 -); 1778 -extern(Windows) export DWORD EnumPrinterKeyW( 1779 - HANDLE hPrinter, 1780 - LPCWSTR pKeyName, 1781 - LPWSTR pSubkey, 1782 - DWORD cbSubkey, 1783 - LPDWORD pcbSubkey 1784 -); 1785 -// #ifdef UNICODE 1786 -// #... 1787 -// #else 1788 -alias EnumPrinterKeyA EnumPrinterKey; 1789 -// #endif // !UNICODE 1790 - 1791 -extern(Windows) export DWORD SetPrinterDataA( 1792 - HANDLE hPrinter, 1793 - LPSTR pValueName, 1794 - DWORD Type, 1795 - LPBYTE pData, 1796 - DWORD cbData 1797 -); 1798 -extern(Windows) export DWORD SetPrinterDataW( 1799 - HANDLE hPrinter, 1800 - LPWSTR pValueName, 1801 - DWORD Type, 1802 - LPBYTE pData, 1803 - DWORD cbData 1804 -); 1805 -// #ifdef UNICODE 1806 -// #... 1807 -// #else 1808 -alias SetPrinterDataA SetPrinterData; 1809 -// #endif // !UNICODE 1810 - 1811 -extern(Windows) export DWORD SetPrinterDataExA( 1812 - HANDLE hPrinter, 1813 - LPCSTR pKeyName, 1814 - LPCSTR pValueName, 1815 - DWORD Type, 1816 - LPBYTE pData, 1817 - DWORD cbData 1818 -); 1819 -extern(Windows) export DWORD SetPrinterDataExW( 1820 - HANDLE hPrinter, 1821 - LPCWSTR pKeyName, 1822 - LPCWSTR pValueName, 1823 - DWORD Type, 1824 - LPBYTE pData, 1825 - DWORD cbData 1826 -); 1827 -// #ifdef UNICODE 1828 -// #... 1829 -// #else 1830 -alias SetPrinterDataExA SetPrinterDataEx; 1831 -// #endif // !UNICODE 1832 - 1833 -extern(Windows) export DWORD DeletePrinterDataA( 1834 - HANDLE hPrinter, 1835 - LPSTR pValueName 1836 -); 1837 -extern(Windows) export DWORD DeletePrinterDataW( 1838 - HANDLE hPrinter, 1839 - LPWSTR pValueName 1840 -); 1841 -// #ifdef UNICODE 1842 -// #... 1843 -// #else 1844 -alias DeletePrinterDataA DeletePrinterData; 1845 -// #endif // !UNICODE 1846 - 1847 -extern(Windows) export DWORD DeletePrinterDataExA( 1848 - HANDLE hPrinter, 1849 - LPCSTR pKeyName, 1850 - LPCSTR pValueName 1851 -); 1852 -extern(Windows) export DWORD DeletePrinterDataExW( 1853 - HANDLE hPrinter, 1854 - LPCWSTR pKeyName, 1855 - LPCWSTR pValueName 1856 -); 1857 -// #ifdef UNICODE 1858 -// #... 1859 -// #else 1860 -alias DeletePrinterDataExA DeletePrinterDataEx; 1861 -// #endif // !UNICODE 1862 - 1863 -extern(Windows) export DWORD DeletePrinterKeyA( 1864 - HANDLE hPrinter, 1865 - LPCSTR pKeyName 1866 -); 1867 -extern(Windows) export DWORD DeletePrinterKeyW( 1868 - HANDLE hPrinter, 1869 - LPCWSTR pKeyName 1870 -); 1871 -// #ifdef UNICODE 1872 -// #... 1873 -// #else 1874 -alias DeletePrinterKeyA DeletePrinterKey; 1875 -// #endif // !UNICODE 1876 - 1877 -enum : uint { PRINTER_NOTIFY_TYPE = 0x00 } 1878 -enum : uint { JOB_NOTIFY_TYPE = 0x01 } 1879 - 1880 -enum : uint { PRINTER_NOTIFY_FIELD_SERVER_NAME = 0x00 } 1881 -enum : uint { PRINTER_NOTIFY_FIELD_PRINTER_NAME = 0x01 } 1882 -enum : uint { PRINTER_NOTIFY_FIELD_SHARE_NAME = 0x02 } 1883 -enum : uint { PRINTER_NOTIFY_FIELD_PORT_NAME = 0x03 } 1884 -enum : uint { PRINTER_NOTIFY_FIELD_DRIVER_NAME = 0x04 } 1885 -enum : uint { PRINTER_NOTIFY_FIELD_COMMENT = 0x05 } 1886 -enum : uint { PRINTER_NOTIFY_FIELD_LOCATION = 0x06 } 1887 -enum : uint { PRINTER_NOTIFY_FIELD_DEVMODE = 0x07 } 1888 -enum : uint { PRINTER_NOTIFY_FIELD_SEPFILE = 0x08 } 1889 -enum : uint { PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR = 0x09 } 1890 -enum : uint { PRINTER_NOTIFY_FIELD_PARAMETERS = 0x0A } 1891 -enum : uint { PRINTER_NOTIFY_FIELD_DATATYPE = 0x0B } 1892 -enum : uint { PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR = 0x0C } 1893 -enum : uint { PRINTER_NOTIFY_FIELD_ATTRIBUTES = 0x0D } 1894 -enum : uint { PRINTER_NOTIFY_FIELD_PRIORITY = 0x0E } 1895 -enum : uint { PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY = 0x0F } 1896 -enum : uint { PRINTER_NOTIFY_FIELD_START_TIME = 0x10 } 1897 -enum : uint { PRINTER_NOTIFY_FIELD_UNTIL_TIME = 0x11 } 1898 -enum : uint { PRINTER_NOTIFY_FIELD_STATUS = 0x12 } 1899 -enum : uint { PRINTER_NOTIFY_FIELD_STATUS_STRING = 0x13 } 1900 -enum : uint { PRINTER_NOTIFY_FIELD_CJOBS = 0x14 } 1901 -enum : uint { PRINTER_NOTIFY_FIELD_AVERAGE_PPM = 0x15 } 1902 -enum : uint { PRINTER_NOTIFY_FIELD_TOTAL_PAGES = 0x16 } 1903 -enum : uint { PRINTER_NOTIFY_FIELD_PAGES_PRINTED = 0x17 } 1904 -enum : uint { PRINTER_NOTIFY_FIELD_TOTAL_BYTES = 0x18 } 1905 -enum : uint { PRINTER_NOTIFY_FIELD_BYTES_PRINTED = 0x19 } 1906 -enum : uint { PRINTER_NOTIFY_FIELD_OBJECT_GUID = 0x1A } 1907 - 1908 -enum : uint { JOB_NOTIFY_FIELD_PRINTER_NAME = 0x00 } 1909 -enum : uint { JOB_NOTIFY_FIELD_MACHINE_NAME = 0x01 } 1910 -enum : uint { JOB_NOTIFY_FIELD_PORT_NAME = 0x02 } 1911 -enum : uint { JOB_NOTIFY_FIELD_USER_NAME = 0x03 } 1912 -enum : uint { JOB_NOTIFY_FIELD_NOTIFY_NAME = 0x04 } 1913 -enum : uint { JOB_NOTIFY_FIELD_DATATYPE = 0x05 } 1914 -enum : uint { JOB_NOTIFY_FIELD_PRINT_PROCESSOR = 0x06 } 1915 -enum : uint { JOB_NOTIFY_FIELD_PARAMETERS = 0x07 } 1916 -enum : uint { JOB_NOTIFY_FIELD_DRIVER_NAME = 0x08 } 1917 -enum : uint { JOB_NOTIFY_FIELD_DEVMODE = 0x09 } 1918 -enum : uint { JOB_NOTIFY_FIELD_STATUS = 0x0A } 1919 -enum : uint { JOB_NOTIFY_FIELD_STATUS_STRING = 0x0B } 1920 -enum : uint { JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR = 0x0C } 1921 -enum : uint { JOB_NOTIFY_FIELD_DOCUMENT = 0x0D } 1922 -enum : uint { JOB_NOTIFY_FIELD_PRIORITY = 0x0E } 1923 -enum : uint { JOB_NOTIFY_FIELD_POSITION = 0x0F } 1924 -enum : uint { JOB_NOTIFY_FIELD_SUBMITTED = 0x10 } 1925 -enum : uint { JOB_NOTIFY_FIELD_START_TIME = 0x11 } 1926 -enum : uint { JOB_NOTIFY_FIELD_UNTIL_TIME = 0x12 } 1927 -enum : uint { JOB_NOTIFY_FIELD_TIME = 0x13 } 1928 -enum : uint { JOB_NOTIFY_FIELD_TOTAL_PAGES = 0x14 } 1929 -enum : uint { JOB_NOTIFY_FIELD_PAGES_PRINTED = 0x15 } 1930 -enum : uint { JOB_NOTIFY_FIELD_TOTAL_BYTES = 0x16 } 1931 -enum : uint { JOB_NOTIFY_FIELD_BYTES_PRINTED = 0x17 } 1932 - 1933 -struct _PRINTER_NOTIFY_OPTIONS_TYPE { 1934 - WORD Type; 1935 - WORD Reserved0; 1936 - DWORD Reserved1; 1937 - DWORD Reserved2; 1938 - DWORD Count; 1939 - PWORD pFields; 1940 -} 1941 -alias _PRINTER_NOTIFY_OPTIONS_TYPE PRINTER_NOTIFY_OPTIONS_TYPE; 1942 -alias _PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTER_NOTIFY_OPTIONS_TYPE; 1943 -alias _PRINTER_NOTIFY_OPTIONS_TYPE* LPPRINTER_NOTIFY_OPTIONS_TYPE; 1944 - 1945 -enum : uint { PRINTER_NOTIFY_OPTIONS_REFRESH = 0x01 } 1946 - 1947 -struct _PRINTER_NOTIFY_OPTIONS { 1948 - DWORD Version; 1949 - DWORD Flags; 1950 - DWORD Count; 1951 - PPRINTER_NOTIFY_OPTIONS_TYPE pTypes; 1952 -} 1953 -alias _PRINTER_NOTIFY_OPTIONS PRINTER_NOTIFY_OPTIONS; 1954 -alias _PRINTER_NOTIFY_OPTIONS* PPRINTER_NOTIFY_OPTIONS; 1955 -alias _PRINTER_NOTIFY_OPTIONS* LPPRINTER_NOTIFY_OPTIONS; 1956 - 1957 -enum : uint { PRINTER_NOTIFY_INFO_DISCARDED = 0x01 } 1958 - 1959 -struct _PRINTER_NOTIFY_INFO_DATA { 1960 - WORD Type; 1961 - WORD Field; 1962 - DWORD Reserved; 1963 - DWORD Id; 1964 -union { 1965 - DWORD adwData[2]; 1966 -struct { 1967 - DWORD cbBuf; 1968 - LPVOID pBuf; 1969 -} 1970 - 1971 -} 1972 - 1973 -} 1974 -alias _PRINTER_NOTIFY_INFO_DATA PRINTER_NOTIFY_INFO_DATA; 1975 -alias _PRINTER_NOTIFY_INFO_DATA* PPRINTER_NOTIFY_INFO_DATA; 1976 -alias _PRINTER_NOTIFY_INFO_DATA* LPPRINTER_NOTIFY_INFO_DATA; 1977 - 1978 -struct _PRINTER_NOTIFY_INFO { 1979 - DWORD Version; 1980 - DWORD Flags; 1981 - DWORD Count; 1982 - PRINTER_NOTIFY_INFO_DATA aData[1]; 1983 -} 1984 -alias _PRINTER_NOTIFY_INFO PRINTER_NOTIFY_INFO; 1985 -alias _PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO; 1986 -alias _PRINTER_NOTIFY_INFO* LPPRINTER_NOTIFY_INFO; 1987 - 1988 -struct _BINARY_CONTAINER { 1989 - DWORD cbBuf; 1990 - LPBYTE pData; 1991 -} 1992 -alias _BINARY_CONTAINER BINARY_CONTAINER; 1993 -alias _BINARY_CONTAINER* PBINARY_CONTAINER; 1994 - 1995 -struct _BIDI_DATA { 1996 - DWORD dwBidiType; 1997 -union { 1998 - BOOL bData; 1999 - LONG iData; 2000 - LPWSTR sData; 2001 - FLOAT fData; 2002 - BINARY_CONTAINER biData; 2003 -} 2004 - 2005 -} 2006 -alias _BIDI_DATA BIDI_DATA; 2007 -alias _BIDI_DATA* PBIDI_DATA; 2008 -alias _BIDI_DATA* LPBIDI_DATA; 2009 - 2010 -struct _BIDI_REQUEST_DATA { 2011 - DWORD dwReqNumber; 2012 - LPWSTR pSchema; 2013 - BIDI_DATA data; 2014 -} 2015 -alias _BIDI_REQUEST_DATA BIDI_REQUEST_DATA; 2016 -alias _BIDI_REQUEST_DATA* PBIDI_REQUEST_DATA; 2017 -alias _BIDI_REQUEST_DATA* LPBIDI_REQUEST_DATA; 2018 - 2019 -struct _BIDI_REQUEST_CONTAINER { 2020 - DWORD Version; 2021 - DWORD Flags; 2022 - DWORD Count; 2023 - BIDI_REQUEST_DATA aData[ 1 ]; 2024 -} 2025 -alias _BIDI_REQUEST_CONTAINER BIDI_REQUEST_CONTAINER; 2026 -alias _BIDI_REQUEST_CONTAINER* PBIDI_REQUEST_CONTAINER; 2027 -alias _BIDI_REQUEST_CONTAINER* LPBIDI_REQUEST_CONTAINER; 2028 - 2029 -struct _BIDI_RESPONSE_DATA { 2030 - DWORD dwResult; 2031 - DWORD dwReqNumber; 2032 - LPWSTR pSchema; 2033 - BIDI_DATA data; 2034 -} 2035 -alias _BIDI_RESPONSE_DATA BIDI_RESPONSE_DATA; 2036 -alias _BIDI_RESPONSE_DATA* PBIDI_RESPONSE_DATA; 2037 -alias _BIDI_RESPONSE_DATA* LPBIDI_RESPONSE_DATA; 2038 - 2039 -struct _BIDI_RESPONSE_CONTAINER { 2040 - DWORD Version; 2041 - DWORD Flags; 2042 - DWORD Count; 2043 - BIDI_RESPONSE_DATA aData[ 1 ]; 2044 -} 2045 -alias _BIDI_RESPONSE_CONTAINER BIDI_RESPONSE_CONTAINER; 2046 -alias _BIDI_RESPONSE_CONTAINER* PBIDI_RESPONSE_CONTAINER; 2047 -alias _BIDI_RESPONSE_CONTAINER* LPBIDI_RESPONSE_CONTAINER; 2048 - 2049 -const wchar[] BIDI_ACTION_ENUM_SCHEMA = "EnumSchema"; 2050 -const wchar[] BIDI_ACTION_GET = "Get"; 2051 -const wchar[] BIDI_ACTION_SET = "Set"; 2052 -const wchar[] BIDI_ACTION_GET_ALL = "GetAll"; 2053 - 2054 -enum _0 { 2055 - BIDI_NULL = 0, 2056 - BIDI_INT = 1, 2057 - BIDI_FLOAT = 2, 2058 - BIDI_BOOL = 3, 2059 - BIDI_STRING = 4, 2060 - BIDI_TEXT = 5, 2061 - BIDI_ENUM = 6, 2062 - BIDI_BLOB = 7, 2063 -} 2064 -alias _0 BIDI_TYPE; 2065 - 2066 -enum : uint { BIDI_ACCESS_ADMINISTRATOR = 0x1 } 2067 -enum : uint { BIDI_ACCESS_USER = 0x2 } 2068 - 2069 -enum : uint { ERROR_BIDI_STATUS_OK = 0 } 2070 -alias ERROR_NOT_SUPPORTED ERROR_BIDI_NOT_SUPPORTED; 2071 - 2072 -enum : uint { ERROR_BIDI_ERROR_BASE = 13000 } 2073 -enum : uint { ERROR_BIDI_STATUS_WARNING = ERROR_BIDI_ERROR_BASE + 1 } 2074 -enum : uint { ERROR_BIDI_SCHEMA_READ_ONLY = ERROR_BIDI_ERROR_BASE + 2 } 2075 -enum : uint { ERROR_BIDI_SERVER_OFFLINE = ERROR_BIDI_ERROR_BASE + 3 } 2076 -enum : uint { ERROR_BIDI_DEVICE_OFFLINE = ERROR_BIDI_ERROR_BASE + 4 } 2077 -enum : uint { ERROR_BIDI_SCHEMA_NOT_SUPPORTED = ERROR_BIDI_ERROR_BASE + 5 } 2078 - 2079 -extern(Windows) export DWORD WaitForPrinterChange( 2080 - HANDLE hPrinter, 2081 - DWORD Flags 2082 -); 2083 - 2084 -extern(Windows) export HANDLE FindFirstPrinterChangeNotification( 2085 - HANDLE hPrinter, 2086 - DWORD fdwFlags, 2087 - DWORD fdwOptions, 2088 - LPVOID pPrinterNotifyOptions 2089 -); 2090 - 2091 -extern(Windows) export BOOL FindNextPrinterChangeNotification( 2092 - HANDLE hChange, 2093 - PDWORD pdwChange, 2094 - LPVOID pvReserved, 2095 - LPVOID *ppPrinterNotifyInfo 2096 -); 2097 - 2098 -extern(Windows) export BOOL FreePrinterNotifyInfo( 2099 - PPRINTER_NOTIFY_INFO pPrinterNotifyInfo 2100 -); 2101 - 2102 -extern(Windows) export BOOL FindClosePrinterChangeNotification( 2103 - HANDLE hChange 2104 -); 2105 - 2106 -enum : uint { PRINTER_CHANGE_ADD_PRINTER = 0x00000001 } 2107 -enum : uint { PRINTER_CHANGE_SET_PRINTER = 0x00000002 } 2108 -enum : uint { PRINTER_CHANGE_DELETE_PRINTER = 0x00000004 } 2109 -enum : uint { PRINTER_CHANGE_FAILED_CONNECTION_PRINTER = 0x00000008 } 2110 -enum : uint { PRINTER_CHANGE_PRINTER = 0x000000FF } 2111 -enum : uint { PRINTER_CHANGE_ADD_JOB = 0x00000100 } 2112 -enum : uint { PRINTER_CHANGE_SET_JOB = 0x00000200 } 2113 -enum : uint { PRINTER_CHANGE_DELETE_JOB = 0x00000400 } 2114 -enum : uint { PRINTER_CHANGE_WRITE_JOB = 0x00000800 } 2115 -enum : uint { PRINTER_CHANGE_JOB = 0x0000FF00 } 2116 -enum : uint { PRINTER_CHANGE_ADD_FORM = 0x00010000 } 2117 -enum : uint { PRINTER_CHANGE_SET_FORM = 0x00020000 } 2118 -enum : uint { PRINTER_CHANGE_DELETE_FORM = 0x00040000 } 2119 -enum : uint { PRINTER_CHANGE_FORM = 0x00070000 } 2120 -enum : uint { PRINTER_CHANGE_ADD_PORT = 0x00100000 } 2121 -enum : uint { PRINTER_CHANGE_CONFIGURE_PORT = 0x00200000 } 2122 -enum : uint { PRINTER_CHANGE_DELETE_PORT = 0x00400000 } 2123 -enum : uint { PRINTER_CHANGE_PORT = 0x00700000 } 2124 -enum : uint { PRINTER_CHANGE_ADD_PRINT_PROCESSOR = 0x01000000 } 2125 -enum : uint { PRINTER_CHANGE_DELETE_PRINT_PROCESSOR = 0x04000000 } 2126 -enum : uint { PRINTER_CHANGE_PRINT_PROCESSOR = 0x07000000 } 2127 -enum : uint { PRINTER_CHANGE_ADD_PRINTER_DRIVER = 0x10000000 } 2128 -enum : uint { PRINTER_CHANGE_SET_PRINTER_DRIVER = 0x20000000 } 2129 -enum : uint { PRINTER_CHANGE_DELETE_PRINTER_DRIVER = 0x40000000 } 2130 -enum : uint { PRINTER_CHANGE_PRINTER_DRIVER = 0x70000000 } 2131 -enum : uint { PRINTER_CHANGE_TIMEOUT = 0x80000000 } 2132 -enum : uint { PRINTER_CHANGE_ALL = 0x7777FFFF } 2133 - 2134 -extern(Windows) export DWORD PrinterMessageBoxA( 2135 - HANDLE hPrinter, 2136 - DWORD Error, 2137 - HWND hWnd, 2138 - LPSTR pText, 2139 - LPSTR pCaption, 2140 - DWORD dwType 2141 -); 2142 -extern(Windows) export DWORD PrinterMessageBoxW( 2143 - HANDLE hPrinter, 2144 - DWORD Error, 2145 - HWND hWnd, 2146 - LPWSTR pText, 2147 - LPWSTR pCaption, 2148 - DWORD dwType 2149 -); 2150 -// #ifdef UNICODE 2151 -// #... 2152 -// #else 2153 -alias PrinterMessageBoxA PrinterMessageBox; 2154 -// #endif // !UNICODE 2155 - 2156 -enum : uint { PRINTER_ERROR_INFORMATION = 0x80000000 } 2157 -enum : uint { PRINTER_ERROR_WARNING = 0x40000000 } 2158 -enum : uint { PRINTER_ERROR_SEVERE = 0x20000000 } 2159 - 2160 -enum : uint { PRINTER_ERROR_OUTOFPAPER = 0x00000001 } 2161 -enum : uint { PRINTER_ERROR_JAM = 0x00000002 } 2162 -enum : uint { PRINTER_ERROR_OUTOFTONER = 0x00000004 } 2163 - 2164 -extern(Windows) export BOOL ClosePrinter( 2165 - HANDLE hPrinter 2166 -); 2167 - 2168 -extern(Windows) export BOOL AddFormA( 2169 - HANDLE hPrinter, 2170 - DWORD Level, 2171 - LPBYTE pForm 2172 -); 2173 -extern(Windows) export BOOL AddFormW( 2174 - HANDLE hPrinter, 2175 - DWORD Level, 2176 - LPBYTE pForm 2177 -); 2178 -// #ifdef UNICODE 2179 -// #... 2180 -// #else 2181 -alias AddFormA AddForm; 2182 -// #endif // !UNICODE 2183 - 2184 -extern(Windows) export BOOL DeleteFormA( 2185 - HANDLE hPrinter, 2186 - LPSTR pFormName 2187 -); 2188 -extern(Windows) export BOOL DeleteFormW( 2189 - HANDLE hPrinter, 2190 - LPWSTR pFormName 2191 -); 2192 -// #ifdef UNICODE 2193 -// #... 2194 -// #else 2195 -alias DeleteFormA DeleteForm; 2196 -// #endif // !UNICODE 2197 - 2198 -extern(Windows) export BOOL GetFormA( 2199 - HANDLE hPrinter, 2200 - LPSTR pFormName, 2201 - DWORD Level, 2202 - LPBYTE pForm, 2203 - DWORD cbBuf, 2204 - LPDWORD pcbNeeded 2205 -); 2206 -extern(Windows) export BOOL GetFormW( 2207 - HANDLE hPrinter, 2208 - LPWSTR pFormName, 2209 - DWORD Level, 2210 - LPBYTE pForm, 2211 - DWORD cbBuf, 2212 - LPDWORD pcbNeeded 2213 -); 2214 -// #ifdef UNICODE 2215 -// #... 2216 -// #else 2217 -alias GetFormA GetForm; 2218 -// #endif // !UNICODE 2219 - 2220 -extern(Windows) export BOOL SetFormA( 2221 - HANDLE hPrinter, 2222 - LPSTR pFormName, 2223 - DWORD Level, 2224 - LPBYTE pForm 2225 -); 2226 -extern(Windows) export BOOL SetFormW( 2227 - HANDLE hPrinter, 2228 - LPWSTR pFormName, 2229 - DWORD Level, 2230 - LPBYTE pForm 2231 -); 2232 -// #ifdef UNICODE 2233 -// #... 2234 -// #else 2235 -alias SetFormA SetForm; 2236 -// #endif // !UNICODE 2237 - 2238 -extern(Windows) export BOOL EnumFormsA( 2239 - HANDLE hPrinter, 2240 - DWORD Level, 2241 - LPBYTE pForm, 2242 - DWORD cbBuf, 2243 - LPDWORD pcbNeeded, 2244 - LPDWORD pcReturned 2245 -); 2246 -extern(Windows) export BOOL EnumFormsW( 2247 - HANDLE hPrinter, 2248 - DWORD Level, 2249 - LPBYTE pForm, 2250 - DWORD cbBuf, 2251 - LPDWORD pcbNeeded, 2252 - LPDWORD pcReturned 2253 -); 2254 -// #ifdef UNICODE 2255 -// #... 2256 -// #else 2257 -alias EnumFormsA EnumForms; 2258 -// #endif // !UNICODE 2259 - 2260 -extern(Windows) export BOOL EnumMonitorsA( 2261 - LPSTR pName, 2262 - DWORD Level, 2263 - LPBYTE pMonitors, 2264 - DWORD cbBuf, 2265 - LPDWORD pcbNeeded, 2266 - LPDWORD pcReturned 2267 -); 2268 -extern(Windows) export BOOL EnumMonitorsW( 2269 - LPWSTR pName, 2270 - DWORD Level, 2271 - LPBYTE pMonitors, 2272 - DWORD cbBuf, 2273 - LPDWORD pcbNeeded, 2274 - LPDWORD pcReturned 2275 -); 2276 -// #ifdef UNICODE 2277 -// #... 2278 -// #else 2279 -alias EnumMonitorsA EnumMonitors; 2280 -// #endif // !UNICODE 2281 - 2282 -extern(Windows) export BOOL AddMonitorA( 2283 - LPSTR pName, 2284 - DWORD Level, 2285 - LPBYTE pMonitors 2286 -); 2287 -extern(Windows) export BOOL AddMonitorW( 2288 - LPWSTR pName, 2289 - DWORD Level, 2290 - LPBYTE pMonitors 2291 -); 2292 -// #ifdef UNICODE 2293 -// #... 2294 -// #else 2295 -alias AddMonitorA AddMonitor; 2296 -// #endif // !UNICODE 2297 - 2298 -extern(Windows) export BOOL DeleteMonitorA( 2299 - LPSTR pName, 2300 - LPSTR pEnvironment, 2301 - LPSTR pMonitorName 2302 -); 2303 -extern(Windows) export BOOL DeleteMonitorW( 2304 - LPWSTR pName, 2305 - LPWSTR pEnvironment, 2306 - LPWSTR pMonitorName 2307 -); 2308 -// #ifdef UNICODE 2309 -// #... 2310 -// #else 2311 -alias DeleteMonitorA DeleteMonitor; 2312 -// #endif // !UNICODE 2313 - 2314 -extern(Windows) export BOOL EnumPortsA( 2315 - LPSTR pName, 2316 - DWORD Level, 2317 - LPBYTE pPorts, 2318 - DWORD cbBuf, 2319 - LPDWORD pcbNeeded, 2320 - LPDWORD pcReturned 2321 -); 2322 -extern(Windows) export BOOL EnumPortsW( 2323 - LPWSTR pName, 2324 - DWORD Level, 2325 - LPBYTE pPorts, 2326 - DWORD cbBuf, 2327 - LPDWORD pcbNeeded, 2328 - LPDWORD pcReturned 2329 -); 2330 -// #ifdef UNICODE 2331 -// #... 2332 -// #else 2333 -alias EnumPortsA EnumPorts; 2334 -// #endif // !UNICODE 2335 - 2336 -extern(Windows) export BOOL AddPortA( 2337 - LPSTR pName, 2338 - HWND hWnd, 2339 - LPSTR pMonitorName 2340 -); 2341 -extern(Windows) export BOOL AddPortW( 2342 - LPWSTR pName, 2343 - HWND hWnd, 2344 - LPWSTR pMonitorName 2345 -); 2346 -// #ifdef UNICODE 2347 -// #... 2348 -// #else 2349 -alias AddPortA AddPort; 2350 -// #endif // !UNICODE 2351 - 2352 -extern(Windows) export BOOL ConfigurePortA( 2353 - LPSTR pName, 2354 - HWND hWnd, 2355 - LPSTR pPortName 2356 -); 2357 -extern(Windows) export BOOL ConfigurePortW( 2358 - LPWSTR pName, 2359 - HWND hWnd, 2360 - LPWSTR pPortName 2361 -); 2362 -// #ifdef UNICODE 2363 -// #... 2364 -// #else 2365 -alias ConfigurePortA ConfigurePort; 2366 -// #endif // !UNICODE 2367 - 2368 -extern(Windows) export BOOL DeletePortA( 2369 - LPSTR pName, 2370 - HWND hWnd, 2371 - LPSTR pPortName 2372 -); 2373 -extern(Windows) export BOOL DeletePortW( 2374 - LPWSTR pName, 2375 - HWND hWnd, 2376 - LPWSTR pPortName 2377 -); 2378 -// #ifdef UNICODE 2379 -// #... 2380 -// #else 2381 -alias DeletePortA DeletePort; 2382 -// #endif // !UNICODE 2383 - 2384 -extern(Windows) export BOOL XcvDataW( 2385 - HANDLE hXcv, 2386 - PCWSTR pszDataName, 2387 - PBYTE pInputData, 2388 - DWORD cbInputData, 2389 - PBYTE pOutputData, 2390 - DWORD cbOutputData, 2391 - PDWORD pcbOutputNeeded, 2392 - PDWORD pdwStatus 2393 -); 2394 -alias XcvDataW XcvData; 2395 - 2396 -extern(Windows) export BOOL GetDefaultPrinterA( 2397 - LPSTR pszBuffer, 2398 - LPDWORD pcchBuffer); 2399 -extern(Windows) export BOOL GetDefaultPrinterW( 2400 - LPWSTR pszBuffer, 2401 - LPDWORD pcchBuffer); 2402 -// #ifdef UNICODE 2403 -// #... 2404 -// #else 2405 -alias GetDefaultPrinterA GetDefaultPrinter; 2406 -// #endif // !UNICODE 2407 - 2408 -extern(Windows) export BOOL SetDefaultPrinterA( 2409 - LPCSTR pszPrinter); 2410 -extern(Windows) export BOOL SetDefaultPrinterW( 2411 - LPCWSTR pszPrinter); 2412 -// #ifdef UNICODE 2413 -// #... 2414 -// #else 2415 -alias SetDefaultPrinterA SetDefaultPrinter; 2416 -// #endif // !UNICODE 2417 - 2418 -extern(Windows) export BOOL SetPortA( 2419 - LPSTR pName, 2420 - LPSTR pPortName, 2421 - DWORD dwLevel, 2422 - LPBYTE pPortInfo 2423 -); 2424 -extern(Windows) export BOOL SetPortW( 2425 - LPWSTR pName, 2426 - LPWSTR pPortName, 2427 - DWORD dwLevel, 2428 - LPBYTE pPortInfo 2429 -); 2430 -// #ifdef UNICODE 2431 -// #... 2432 -// #else 2433 -alias SetPortA SetPort; 2434 -// #endif // !UNICODE 2435 - 2436 -extern(Windows) export BOOL AddPrinterConnectionA( 2437 - LPSTR pName 2438 -); 2439 -extern(Windows) export BOOL AddPrinterConnectionW( 2440 - LPWSTR pName 2441 -); 2442 -// #ifdef UNICODE 2443 -// #... 2444 -// #else 2445 -alias AddPrinterConnectionA AddPrinterConnection; 2446 -// #endif // !UNICODE 2447 - 2448 -extern(Windows) export BOOL DeletePrinterConnectionA( 2449 - LPSTR pName 2450 -); 2451 -extern(Windows) export BOOL DeletePrinterConnectionW( 2452 - LPWSTR pName 2453 -); 2454 -// #ifdef UNICODE 2455 -// #... 2456 -// #else 2457 -alias DeletePrinterConnectionA DeletePrinterConnection; 2458 -// #endif // !UNICODE 2459 - 2460 -extern(Windows) export HANDLE ConnectToPrinterDlg( 2461 - HWND hwnd, 2462 - DWORD Flags 2463 -); 2464 - 2465 -struct _PROVIDOR_INFO_1A { 2466 - LPSTR pName; 2467 - LPSTR pEnvironment; 2468 - LPSTR pDLLName; 2469 -} 2470 -alias _PROVIDOR_INFO_1A PROVIDOR_INFO_1A; 2471 -alias _PROVIDOR_INFO_1A* PPROVIDOR_INFO_1A; 2472 -alias _PROVIDOR_INFO_1A* LPPROVIDOR_INFO_1A; 2473 - 2474 -struct _PROVIDOR_INFO_1W { 2475 - LPWSTR pName; 2476 - LPWSTR pEnvironment; 2477 - LPWSTR pDLLName; 2478 -} 2479 -alias _PROVIDOR_INFO_1W PROVIDOR_INFO_1W; 2480 -alias _PROVIDOR_INFO_1W* PPROVIDOR_INFO_1W; 2481 -alias _PROVIDOR_INFO_1W* LPPROVIDOR_INFO_1W; 2482 - 2483 -// #ifdef UNICODE 2484 -// ... 2485 -// #else 2486 -alias PROVIDOR_INFO_1A PROVIDOR_INFO_1; 2487 -alias PPROVIDOR_INFO_1A PPROVIDOR_INFO_1; 2488 -alias LPPROVIDOR_INFO_1A LPPROVIDOR_INFO_1; 2489 -// #endif // UNICODE 2490 - 2491 -struct _PROVIDOR_INFO_2A { 2492 - LPSTR pOrder; 2493 -} 2494 -alias _PROVIDOR_INFO_2A PROVIDOR_INFO_2A; 2495 -alias _PROVIDOR_INFO_2A* PPROVIDOR_INFO_2A; 2496 -alias _PROVIDOR_INFO_2A* LPPROVIDOR_INFO_2A; 2497 - 2498 -struct _PROVIDOR_INFO_2W { 2499 - LPWSTR pOrder; 2500 -} 2501 -alias _PROVIDOR_INFO_2W PROVIDOR_INFO_2W; 2502 -alias _PROVIDOR_INFO_2W* PPROVIDOR_INFO_2W; 2503 -alias _PROVIDOR_INFO_2W* LPPROVIDOR_INFO_2W; 2504 - 2505 -// #ifdef UNICODE 2506 -// ... 2507 -// #else 2508 -alias PROVIDOR_INFO_2A PROVIDOR_INFO_2; 2509 -alias PPROVIDOR_INFO_2A PPROVIDOR_INFO_2; 2510 -alias LPPROVIDOR_INFO_2A LPPROVIDOR_INFO_2; 2511 -// #endif // UNICODE 2512 - 2513 -extern(Windows) export BOOL AddPrintProvidorA( 2514 - LPSTR pName, 2515 - DWORD level, 2516 - LPBYTE pProvidorInfo 2517 -); 2518 -extern(Windows) export BOOL AddPrintProvidorW( 2519 - LPWSTR pName, 2520 - DWORD level, 2521 - LPBYTE pProvidorInfo 2522 -); 2523 -// #ifdef UNICODE 2524 -// #... 2525 -// #else 2526 -alias AddPrintProvidorA AddPrintProvidor; 2527 -// #endif // !UNICODE 2528 - 2529 -extern(Windows) export BOOL DeletePrintProvidorA( 2530 - LPSTR pName, 2531 - LPSTR pEnvironment, 2532 - LPSTR pPrintProvidorName 2533 -); 2534 -extern(Windows) export BOOL DeletePrintProvidorW( 2535 - LPWSTR pName, 2536 - LPWSTR pEnvironment, 2537 - LPWSTR pPrintProvidorName 2538 -); 2539 -// #ifdef UNICODE 2540 -// #... 2541 -// #else 2542 -alias DeletePrintProvidorA DeletePrintProvidor; 2543 -// #endif // !UNICODE 2544 - 2545 -const TCHAR[] SPLREG_DEFAULT_SPOOL_DIRECTORY = "DefaultSpoolDirectory"; 2546 -const TCHAR[] SPLREG_PORT_THREAD_PRIORITY_DEFAULT = "PortThreadPriorityDefault"; 2547 -const TCHAR[] SPLREG_PORT_THREAD_PRIORITY = "PortThreadPriority"; 2548 -const TCHAR[] SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT = "SchedulerThreadPriorityDefault"; 2549 -const TCHAR[] SPLREG_SCHEDULER_THREAD_PRIORITY = "SchedulerThreadPriority"; 2550 -const TCHAR[] SPLREG_BEEP_ENABLED = "BeepEnabled"; 2551 -const TCHAR[] SPLREG_NET_POPUP = "NetPopup"; 2552 -const TCHAR[] SPLREG_RETRY_POPUP = "RetryPopup"; 2553 -const TCHAR[] SPLREG_NET_POPUP_TO_COMPUTER = "NetPopupToComputer"; 2554 -const TCHAR[] SPLREG_EVENT_LOG = "EventLog"; 2555 -const TCHAR[] SPLREG_MAJOR_VERSION = "MajorVersion"; 2556 -const TCHAR[] SPLREG_MINOR_VERSION = "MinorVersion"; 2557 -const TCHAR[] SPLREG_ARCHITECTURE = "Architecture"; 2558 -const TCHAR[] SPLREG_OS_VERSION = "OSVersion"; 2559 -const TCHAR[] SPLREG_OS_VERSIONEX = "OSVersionEx"; 2560 -const TCHAR[] SPLREG_DS_PRESENT = "DsPresent"; 2561 -const TCHAR[] SPLREG_DS_PRESENT_FOR_USER = "DsPresentForUser"; 2562 -const TCHAR[] SPLREG_REMOTE_FAX = "RemoteFax"; 2563 -const TCHAR[] SPLREG_RESTART_JOB_ON_POOL_ERROR = "RestartJobOnPoolError"; 2564 -const TCHAR[] SPLREG_RESTART_JOB_ON_POOL_ENABLED = "RestartJobOnPoolEnabled"; 2565 -const TCHAR[] SPLREG_DNS_MACHINE_NAME = "DNSMachineName"; 2566 - 2567 -enum : uint { SERVER_ACCESS_ADMINISTER = 0x00000001 } 2568 -enum : uint { SERVER_ACCESS_ENUMERATE = 0x00000002 } 2569 - 2570 -enum : uint { PRINTER_ACCESS_ADMINISTER = 0x00000004 } 2571 -enum : uint { PRINTER_ACCESS_USE = 0x00000008 } 2572 - 2573 -enum : uint { JOB_ACCESS_ADMINISTER = 0x00000010 } 2574 - 2575 -enum : uint { SERVER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE } 2576 - 2577 -enum : uint { SERVER_READ = STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE } 2578 - 2579 -enum : uint { SERVER_WRITE = STANDARD_RIGHTS_WRITE | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE } 2580 - 2581 -enum : uint { SERVER_EXECUTE = STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE } 2582 - 2583 -enum : uint { PRINTER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE } 2584 - 2585 -enum : uint { PRINTER_READ = STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE } 2586 - 2587 -enum : uint { PRINTER_WRITE = STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE } 2588 - 2589 -enum : uint { PRINTER_EXECUTE = STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE } 2590 - 2591 -enum : uint { JOB_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER } 2592 - 2593 -enum : uint { JOB_READ = STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER } 2594 - 2595 -enum : uint { JOB_WRITE = STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER } 2596 - 2597 -enum : uint { JOB_EXECUTE = STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER } 2598 - 2599 -const TCHAR[] SPLDS_SPOOLER_KEY = "DsSpooler"; 2600 -const TCHAR[] SPLDS_DRIVER_KEY = "DsDriver"; 2601 -const TCHAR[] SPLDS_USER_KEY = "DsUser"; 2602 - 2603 -const TCHAR[] SPLDS_ASSET_NUMBER = "assetNumber"; 2604 -const TCHAR[] SPLDS_BYTES_PER_MINUTE = "bytesPerMinute"; 2605 -const TCHAR[] SPLDS_DESCRIPTION = "description"; 2606 -const TCHAR[] SPLDS_DRIVER_NAME = "driverName"; 2607 -const TCHAR[] SPLDS_DRIVER_VERSION = "driverVersion"; 2608 -const TCHAR[] SPLDS_LOCATION = "location"; 2609 -const TCHAR[] SPLDS_PORT_NAME = "portName"; 2610 -const TCHAR[] SPLDS_PRINT_ATTRIBUTES = "printAttributes"; 2611 -const TCHAR[] SPLDS_PRINT_BIN_NAMES = "printBinNames"; 2612 -const TCHAR[] SPLDS_PRINT_COLLATE = "printCollate"; 2613 -const TCHAR[] SPLDS_PRINT_COLOR = "printColor"; 2614 -const TCHAR[] SPLDS_PRINT_DUPLEX_SUPPORTED = "printDuplexSupported"; 2615 -const TCHAR[] SPLDS_PRINT_END_TIME = "printEndTime"; 2616 -const TCHAR[] SPLDS_PRINTER_CLASS = "printQueue"; 2617 -const TCHAR[] SPLDS_PRINTER_NAME = "printerName"; 2618 -const TCHAR[] SPLDS_PRINT_KEEP_PRINTED_JOBS = "printKeepPrintedJobs"; 2619 -const TCHAR[] SPLDS_PRINT_LANGUAGE = "printLanguage"; 2620 -const TCHAR[] SPLDS_PRINT_MAC_ADDRESS = "printMACAddress"; 2621 -const TCHAR[] SPLDS_PRINT_MAX_X_EXTENT = "printMaxXExtent"; 2622 -const TCHAR[] SPLDS_PRINT_MAX_Y_EXTENT = "printMaxYExtent"; 2623 -const TCHAR[] SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED = "printMaxResolutionSupported"; 2624 -const TCHAR[] SPLDS_PRINT_MEDIA_READY = "printMediaReady"; 2625 -const TCHAR[] SPLDS_PRINT_MEDIA_SUPPORTED = "printMediaSupported"; 2626 -const TCHAR[] SPLDS_PRINT_MEMORY = "printMemory"; 2627 -const TCHAR[] SPLDS_PRINT_MIN_X_EXTENT = "printMinXExtent"; 2628 -const TCHAR[] SPLDS_PRINT_MIN_Y_EXTENT = "printMinYExtent"; 2629 -const TCHAR[] SPLDS_PRINT_NETWORK_ADDRESS = "printNetworkAddress"; 2630 -const TCHAR[] SPLDS_PRINT_NOTIFY = "printNotify"; 2631 -const TCHAR[] SPLDS_PRINT_NUMBER_UP = "printNumberUp"; 2632 -const TCHAR[] SPLDS_PRINT_ORIENTATIONS_SUPPORTED = "printOrientationsSupported"; 2633 -const TCHAR[] SPLDS_PRINT_OWNER = "printOwner"; 2634 -const TCHAR[] SPLDS_PRINT_PAGES_PER_MINUTE = "printPagesPerMinute"; 2635 -const TCHAR[] SPLDS_PRINT_RATE = "printRate"; 2636 -const TCHAR[] SPLDS_PRINT_RATE_UNIT = "printRateUnit"; 2637 -const TCHAR[] SPLDS_PRINT_SEPARATOR_FILE = "printSeparatorFile"; 2638 -const TCHAR[] SPLDS_PRINT_SHARE_NAME = "printShareName"; 2639 -const TCHAR[] SPLDS_PRINT_SPOOLING = "printSpooling"; 2640 -const TCHAR[] SPLDS_PRINT_STAPLING_SUPPORTED = "printStaplingSupported"; 2641 -const TCHAR[] SPLDS_PRINT_START_TIME = "printStartTime"; 2642 -const TCHAR[] SPLDS_PRINT_STATUS = "printStatus"; 2643 -const TCHAR[] SPLDS_PRIORITY = "priority"; 2644 -const TCHAR[] SPLDS_SERVER_NAME = "serverName"; 2645 -const TCHAR[] SPLDS_SHORT_SERVER_NAME = "shortServerName"; 2646 -const TCHAR[] SPLDS_UNC_NAME = "uNCName"; 2647 -const TCHAR[] SPLDS_URL = "url"; 2648 -const TCHAR[] SPLDS_FLAGS = "flags"; 2649 -const TCHAR[] SPLDS_VERSION_NUMBER = "versionNumber"; 2650 - 2651 -const TCHAR[] SPLDS_PRINTER_NAME_ALIASES = "printerNameAliases"; 2652 -const TCHAR[] SPLDS_PRINTER_LOCATIONS = "printerLocations"; 2653 -const TCHAR[] SPLDS_PRINTER_MODEL = "printerModel"; 2654 - 2655 -// #ifdef __cplusplus 2656 -// } 2657 -// #endif 2658 - 2659 -// #endif // _WINSPOOL_

Deleted src/win32/ansi/winuser.d version [3a4a470084abe486]

1 -module win32.ansi.winuser; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winbase, win32.ansi.wingdi; 7 -enum : uint { 8 - QS_POSTMESSAGE = 0x0008, 9 - QS_TIMER = 0x0010, 10 - QS_PAINT = 0x0020, 11 - QS_SENDMESSAGE = 0x0040, 12 - QS_HOTKEY = 0x0080, 13 - QS_INPUT = 0x0407 14 -} 15 - 16 -// #ifndef _WINUSER_ 17 -// #define _WINUSER_ 18 - 19 -// #if !defined(_USER32_) 20 -// #define WINUSERAPI DECLSPEC_IMPORT 21 -// #else 22 -// #... 23 -// #endif 24 - 25 -// #ifdef _MAC 26 -// #... 27 -// #endif 28 - 29 -// #ifdef __cplusplus 30 -// extern "C" { 31 -// #endif /* __cplusplus */ 32 - 33 -// #ifndef WINVER 34 -// #... 35 -// #endif /* !WINVER */ 36 - 37 -// #include <stdarg.h> 38 - 39 -// #ifndef NOUSER 40 - 41 -alias HANDLE HDWP; 42 -alias VOID MENUTEMPLATEA; 43 -alias VOID MENUTEMPLATEW; 44 -// #ifdef UNICODE 45 -// ... 46 -// #else 47 -alias MENUTEMPLATEA MENUTEMPLATE; 48 -// #endif // UNICODE 49 -alias PVOID LPMENUTEMPLATEA; 50 -alias PVOID LPMENUTEMPLATEW; 51 -// #ifdef UNICODE 52 -// ... 53 -// #else 54 -alias LPMENUTEMPLATEA LPMENUTEMPLATE; 55 -// #endif // UNICODE 56 - 57 -extern(Windows) alias LRESULT function(HWND, UINT, WPARAM, LPARAM) WNDPROC; 58 - 59 -// #ifdef STRICT 60 - 61 -extern(Windows) alias INT_PTR function(HWND, UINT, WPARAM, LPARAM) DLGPROC; 62 -extern(Windows) alias VOID function(HWND, UINT, UINT_PTR, DWORD) TIMERPROC; 63 -extern(Windows) alias BOOL function(HDC, LPARAM, int) GRAYSTRINGPROC; 64 -extern(Windows) alias BOOL function(HWND, LPARAM) WNDENUMPROC; 65 -extern(Windows) alias LRESULT function(int code, WPARAM wParam, LPARAM lParam) HOOKPROC; 66 -extern(Windows) alias VOID function(HWND, UINT, ULONG_PTR, LRESULT) SENDASYNCPROC; 67 - 68 -extern(Windows) alias BOOL function(HWND, LPCSTR, HANDLE) PROPENUMPROCA; 69 -extern(Windows) alias BOOL function(HWND, LPCWSTR, HANDLE) PROPENUMPROCW; 70 - 71 -extern(Windows) alias BOOL function(HWND, LPSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXA; 72 -extern(Windows) alias BOOL function(HWND, LPWSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXW; 73 - 74 -extern(Windows) alias int function(LPSTR lpch, int ichCurrent, int cch, int code) EDITWORDBREAKPROCA; 75 -extern(Windows) alias int function(LPWSTR lpch, int ichCurrent, int cch, int code) EDITWORDBREAKPROCW; 76 - 77 -// #if(WINVER >= 0x0400) 78 -extern(Windows) alias BOOL function(HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy) DRAWSTATEPROC; 79 -// #endif /* WINVER >= 0x0400 */ 80 -// #else /* !STRICT */ 81 - 82 -// ... 83 - 84 -// ... 85 - 86 -// ... 87 - 88 -// ... 89 - 90 -// #if(WINVER >= 0x0400) 91 -// ... 92 -// #endif /* WINVER >= 0x0400 */ 93 -// #endif /* !STRICT */ 94 - 95 -// #ifdef UNICODE 96 -// ... 97 -// #else /* !UNICODE */ 98 -alias PROPENUMPROCA PROPENUMPROC; 99 -alias PROPENUMPROCEXA PROPENUMPROCEX; 100 -alias EDITWORDBREAKPROCA EDITWORDBREAKPROC; 101 -// #endif /* UNICODE */ 102 - 103 -// #ifdef STRICT 104 - 105 -extern(Windows) alias BOOL function(LPSTR, LPARAM) NAMEENUMPROCA; 106 -extern(Windows) alias BOOL function(LPWSTR, LPARAM) NAMEENUMPROCW; 107 - 108 -alias NAMEENUMPROCA WINSTAENUMPROCA; 109 -alias NAMEENUMPROCA DESKTOPENUMPROCA; 110 -alias NAMEENUMPROCW WINSTAENUMPROCW; 111 -alias NAMEENUMPROCW DESKTOPENUMPROCW; 112 - 113 -// #else /* !STRICT */ 114 - 115 -// ... 116 - 117 -// #endif /* !STRICT */ 118 - 119 -// #ifdef UNICODE 120 -// ... 121 - 122 -// #else /* !UNICODE */ 123 -alias WINSTAENUMPROCA WINSTAENUMPROC; 124 -alias DESKTOPENUMPROCA DESKTOPENUMPROC; 125 - 126 -// #endif /* UNICODE */ 127 - 128 -bit IS_INTRESOURCE(LPTSTR _r){ return ((cast(ULONG_PTR)(_r) >> 16) == 0); } 129 -LPSTR MAKEINTRESOURCEA(WORD i){ return cast(LPSTR)(cast(ULONG_PTR)(cast(WORD)(i))); } 130 -LPWSTR MAKEINTRESOURCEW(WORD i){ return cast(LPWSTR)(cast(ULONG_PTR)(cast(WORD)(i))); } 131 -// #ifdef UNICODE 132 -// #... 133 -// #else 134 -alias MAKEINTRESOURCEA MAKEINTRESOURCE; 135 -// #endif // !UNICODE 136 - 137 -// #ifndef NORESOURCE 138 - 139 -const LPTSTR RT_CURSOR = cast(LPTSTR)(1); 140 -const LPTSTR RT_BITMAP = cast(LPTSTR)(2); 141 -const LPTSTR RT_ICON = cast(LPTSTR)(3); 142 -const LPTSTR RT_MENU = cast(LPTSTR)(4); 143 -const LPTSTR RT_DIALOG = cast(LPTSTR)(5); 144 -const LPTSTR RT_STRING = cast(LPTSTR)(6); 145 -const LPTSTR RT_FONTDIR = cast(LPTSTR)(7); 146 -const LPTSTR RT_FONT = cast(LPTSTR)(8); 147 -const LPTSTR RT_ACCELERATOR = cast(LPTSTR)(9); 148 -const LPTSTR RT_RCDATA = cast(LPTSTR)(10); 149 -const LPTSTR RT_MESSAGETABLE = cast(LPTSTR)(11); 150 - 151 -enum : uint { DIFFERENCE = 11 } 152 -const LPTSTR RT_GROUP_CURSOR = cast(LPTSTR)(cast(ULONG_PTR)RT_CURSOR + DIFFERENCE); 153 -const LPTSTR RT_GROUP_ICON = cast(LPTSTR)(cast(ULONG_PTR)RT_ICON + DIFFERENCE); 154 -const LPTSTR RT_VERSION = cast(LPTSTR)(16); 155 -const LPTSTR RT_DLGINCLUDE = cast(LPTSTR)(17); 156 -// #if(WINVER >= 0x0400) 157 -const LPTSTR RT_PLUGPLAY = cast(LPTSTR)(19); 158 -const LPTSTR RT_VXD = cast(LPTSTR)(20); 159 -const LPTSTR RT_ANICURSOR = cast(LPTSTR)(21); 160 -const LPTSTR RT_ANIICON = cast(LPTSTR)(22); 161 -// #endif /* WINVER >= 0x0400 */ 162 -const LPTSTR RT_HTML = cast(LPTSTR)(23); 163 -// #ifdef RC_INVOKED 164 -// #... 165 -// #... 166 -// #... 167 -// #... 168 -// #... 169 -// #... 170 -// #else /* RC_INVOKED */ 171 -const LPTSTR RT_MANIFEST = cast(LPTSTR)(24); 172 -const LPTSTR CREATEPROCESS_MANIFEST_RESOURCE_ID = cast(LPTSTR)( 1); 173 -const LPTSTR ISOLATIONAWARE_MANIFEST_RESOURCE_ID = cast(LPTSTR)(2); 174 -const LPTSTR ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID = cast(LPTSTR)(3); 175 -const LPTSTR MINIMUM_RESERVED_MANIFEST_RESOURCE_ID = cast(LPTSTR)( 1 ); 176 -const LPTSTR MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID = cast(LPTSTR)(16 ); 177 -// #endif /* RC_INVOKED */ 178 - 179 -// #endif /* !NORESOURCE */ 180 - 181 -extern(Windows) export int wvsprintfA( 182 - LPSTR, 183 - LPCSTR, 184 - va_list arglist); 185 -extern(Windows) export int wvsprintfW( 186 - LPWSTR, 187 - LPCWSTR, 188 - va_list arglist); 189 -// #ifdef UNICODE 190 -// #... 191 -// #else 192 -alias wvsprintfA wvsprintf; 193 -// #endif // !UNICODE 194 - 195 -extern(C) export int wsprintfA( 196 - LPSTR, 197 - LPCSTR, 198 - ...); 199 -extern(C) export int wsprintfW( 200 - LPWSTR, 201 - LPCWSTR, 202 - ...); 203 -// #ifdef UNICODE 204 -// #... 205 -// #else 206 -alias wsprintfA wsprintf; 207 -// #endif // !UNICODE 208 - 209 -const LPWSTR SETWALLPAPER_DEFAULT = cast(LPWSTR)-1; 210 - 211 -// #ifndef NOSCROLL 212 - 213 -enum : uint { SB_HORZ = 0 } 214 -enum : uint { SB_VERT = 1 } 215 -enum : uint { SB_CTL = 2 } 216 -enum : uint { SB_BOTH = 3 } 217 - 218 -enum : uint { SB_LINEUP = 0 } 219 -enum : uint { SB_LINELEFT = 0 } 220 -enum : uint { SB_LINEDOWN = 1 } 221 -enum : uint { SB_LINERIGHT = 1 } 222 -enum : uint { SB_PAGEUP = 2 } 223 -enum : uint { SB_PAGELEFT = 2 } 224 -enum : uint { SB_PAGEDOWN = 3 } 225 -enum : uint { SB_PAGERIGHT = 3 } 226 -enum : uint { SB_THUMBPOSITION = 4 } 227 -enum : uint { SB_THUMBTRACK = 5 } 228 -enum : uint { SB_TOP = 6 } 229 -enum : uint { SB_LEFT = 6 } 230 -enum : uint { SB_BOTTOM = 7 } 231 -enum : uint { SB_RIGHT = 7 } 232 -enum : uint { SB_ENDSCROLL = 8 } 233 - 234 -// #endif /* !NOSCROLL */ 235 - 236 -// #ifndef NOSHOWWINDOW 237 - 238 -enum : uint { SW_HIDE = 0 } 239 -enum : uint { SW_SHOWNORMAL = 1 } 240 -enum : uint { SW_NORMAL = 1 } 241 -enum : uint { SW_SHOWMINIMIZED = 2 } 242 -enum : uint { SW_SHOWMAXIMIZED = 3 } 243 -enum : uint { SW_MAXIMIZE = 3 } 244 -enum : uint { SW_SHOWNOACTIVATE = 4 } 245 -enum : uint { SW_SHOW = 5 } 246 -enum : uint { SW_MINIMIZE = 6 } 247 -enum : uint { SW_SHOWMINNOACTIVE = 7 } 248 -enum : uint { SW_SHOWNA = 8 } 249 -enum : uint { SW_RESTORE = 9 } 250 -enum : uint { SW_SHOWDEFAULT = 10 } 251 -enum : uint { SW_FORCEMINIMIZE = 11 } 252 -enum : uint { SW_MAX = 11 } 253 - 254 -enum : uint { HIDE_WINDOW = 0 } 255 -enum : uint { SHOW_OPENWINDOW = 1 } 256 -enum : uint { SHOW_ICONWINDOW = 2 } 257 -enum : uint { SHOW_FULLSCREEN = 3 } 258 -enum : uint { SHOW_OPENNOACTIVATE = 4 } 259 - 260 -enum : uint { SW_PARENTCLOSING = 1 } 261 -enum : uint { SW_OTHERZOOM = 2 } 262 -enum : uint { SW_PARENTOPENING = 3 } 263 -enum : uint { SW_OTHERUNZOOM = 4 } 264 - 265 -// #endif /* !NOSHOWWINDOW */ 266 - 267 -// #if(WINVER >= 0x0500) 268 - 269 -enum : uint { AW_HOR_POSITIVE = 0x00000001 } 270 -enum : uint { AW_HOR_NEGATIVE = 0x00000002 } 271 -enum : uint { AW_VER_POSITIVE = 0x00000004 } 272 -enum : uint { AW_VER_NEGATIVE = 0x00000008 } 273 -enum : uint { AW_CENTER = 0x00000010 } 274 -enum : uint { AW_HIDE = 0x00010000 } 275 -enum : uint { AW_ACTIVATE = 0x00020000 } 276 -enum : uint { AW_SLIDE = 0x00040000 } 277 -enum : uint { AW_BLEND = 0x00080000 } 278 - 279 -// #endif /* WINVER >= 0x0500 */ 280 - 281 -enum : uint { KF_EXTENDED = 0x0100 } 282 -enum : uint { KF_DLGMODE = 0x0800 } 283 -enum : uint { KF_MENUMODE = 0x1000 } 284 -enum : uint { KF_ALTDOWN = 0x2000 } 285 -enum : uint { KF_REPEAT = 0x4000 } 286 -enum : uint { KF_UP = 0x8000 } 287 - 288 -// #ifndef NOVIRTUALKEYCODES 289 - 290 -enum : uint { VK_LBUTTON = 0x01 } 291 -enum : uint { VK_RBUTTON = 0x02 } 292 -enum : uint { VK_CANCEL = 0x03 } 293 -enum : uint { VK_MBUTTON = 0x04 } 294 - 295 -// #if(_WIN32_WINNT >= 0x0500) 296 -enum : uint { VK_XBUTTON1 = 0x05 } 297 -enum : uint { VK_XBUTTON2 = 0x06 } 298 -// #endif /* _WIN32_WINNT >= 0x0500 */ 299 - 300 -enum : uint { VK_BACK = 0x08 } 301 -enum : uint { VK_TAB = 0x09 } 302 - 303 -enum : uint { VK_CLEAR = 0x0C } 304 -enum : uint { VK_RETURN = 0x0D } 305 - 306 -enum : uint { VK_SHIFT = 0x10 } 307 -enum : uint { VK_CONTROL = 0x11 } 308 -enum : uint { VK_MENU = 0x12 } 309 -enum : uint { VK_PAUSE = 0x13 } 310 -enum : uint { VK_CAPITAL = 0x14 } 311 - 312 -enum : uint { VK_KANA = 0x15 } 313 -enum : uint { VK_HANGEUL = 0x15 } 314 -enum : uint { VK_HANGUL = 0x15 } 315 -enum : uint { VK_JUNJA = 0x17 } 316 -enum : uint { VK_FINAL = 0x18 } 317 -enum : uint { VK_HANJA = 0x19 } 318 -enum : uint { VK_KANJI = 0x19 } 319 - 320 -enum : uint { VK_ESCAPE = 0x1B } 321 - 322 -enum : uint { VK_CONVERT = 0x1C } 323 -enum : uint { VK_NONCONVERT = 0x1D } 324 -enum : uint { VK_ACCEPT = 0x1E } 325 -enum : uint { VK_MODECHANGE = 0x1F } 326 - 327 -enum : uint { VK_SPACE = 0x20 } 328 -enum : uint { VK_PRIOR = 0x21 } 329 -enum : uint { VK_NEXT = 0x22 } 330 -enum : uint { VK_END = 0x23 } 331 -enum : uint { VK_HOME = 0x24 } 332 -enum : uint { VK_LEFT = 0x25 } 333 -enum : uint { VK_UP = 0x26 } 334 -enum : uint { VK_RIGHT = 0x27 } 335 -enum : uint { VK_DOWN = 0x28 } 336 -enum : uint { VK_SELECT = 0x29 } 337 -enum : uint { VK_PRINT = 0x2A } 338 -enum : uint { VK_EXECUTE = 0x2B } 339 -enum : uint { VK_SNAPSHOT = 0x2C } 340 -enum : uint { VK_INSERT = 0x2D } 341 -enum : uint { VK_DELETE = 0x2E } 342 -enum : uint { VK_HELP = 0x2F } 343 - 344 -enum : uint { VK_LWIN = 0x5B } 345 -enum : uint { VK_RWIN = 0x5C } 346 -enum : uint { VK_APPS = 0x5D } 347 - 348 -enum : uint { VK_SLEEP = 0x5F } 349 - 350 -enum : uint { VK_NUMPAD0 = 0x60 } 351 -enum : uint { VK_NUMPAD1 = 0x61 } 352 -enum : uint { VK_NUMPAD2 = 0x62 } 353 -enum : uint { VK_NUMPAD3 = 0x63 } 354 -enum : uint { VK_NUMPAD4 = 0x64 } 355 -enum : uint { VK_NUMPAD5 = 0x65 } 356 -enum : uint { VK_NUMPAD6 = 0x66 } 357 -enum : uint { VK_NUMPAD7 = 0x67 } 358 -enum : uint { VK_NUMPAD8 = 0x68 } 359 -enum : uint { VK_NUMPAD9 = 0x69 } 360 -enum : uint { VK_MULTIPLY = 0x6A } 361 -enum : uint { VK_ADD = 0x6B } 362 -enum : uint { VK_SEPARATOR = 0x6C } 363 -enum : uint { VK_SUBTRACT = 0x6D } 364 -enum : uint { VK_DECIMAL = 0x6E } 365 -enum : uint { VK_DIVIDE = 0x6F } 366 -enum : uint { VK_F1 = 0x70 } 367 -enum : uint { VK_F2 = 0x71 } 368 -enum : uint { VK_F3 = 0x72 } 369 -enum : uint { VK_F4 = 0x73 } 370 -enum : uint { VK_F5 = 0x74 } 371 -enum : uint { VK_F6 = 0x75 } 372 -enum : uint { VK_F7 = 0x76 } 373 -enum : uint { VK_F8 = 0x77 } 374 -enum : uint { VK_F9 = 0x78 } 375 -enum : uint { VK_F10 = 0x79 } 376 -enum : uint { VK_F11 = 0x7A } 377 -enum : uint { VK_F12 = 0x7B } 378 -enum : uint { VK_F13 = 0x7C } 379 -enum : uint { VK_F14 = 0x7D } 380 -enum : uint { VK_F15 = 0x7E } 381 -enum : uint { VK_F16 = 0x7F } 382 -enum : uint { VK_F17 = 0x80 } 383 -enum : uint { VK_F18 = 0x81 } 384 -enum : uint { VK_F19 = 0x82 } 385 -enum : uint { VK_F20 = 0x83 } 386 -enum : uint { VK_F21 = 0x84 } 387 -enum : uint { VK_F22 = 0x85 } 388 -enum : uint { VK_F23 = 0x86 } 389 -enum : uint { VK_F24 = 0x87 } 390 - 391 -enum : uint { VK_NUMLOCK = 0x90 } 392 -enum : uint { VK_SCROLL = 0x91 } 393 - 394 -enum : uint { VK_OEM_NEC_EQUAL = 0x92 } 395 - 396 -enum : uint { VK_OEM_FJ_JISHO = 0x92 } 397 -enum : uint { VK_OEM_FJ_MASSHOU = 0x93 } 398 -enum : uint { VK_OEM_FJ_TOUROKU = 0x94 } 399 -enum : uint { VK_OEM_FJ_LOYA = 0x95 } 400 -enum : uint { VK_OEM_FJ_ROYA = 0x96 } 401 - 402 -enum : uint { VK_LSHIFT = 0xA0 } 403 -enum : uint { VK_RSHIFT = 0xA1 } 404 -enum : uint { VK_LCONTROL = 0xA2 } 405 -enum : uint { VK_RCONTROL = 0xA3 } 406 -enum : uint { VK_LMENU = 0xA4 } 407 -enum : uint { VK_RMENU = 0xA5 } 408 - 409 -// #if(_WIN32_WINNT >= 0x0500) 410 -enum : uint { VK_BROWSER_BACK = 0xA6 } 411 -enum : uint { VK_BROWSER_FORWARD = 0xA7 } 412 -enum : uint { VK_BROWSER_REFRESH = 0xA8 } 413 -enum : uint { VK_BROWSER_STOP = 0xA9 } 414 -enum : uint { VK_BROWSER_SEARCH = 0xAA } 415 -enum : uint { VK_BROWSER_FAVORITES = 0xAB } 416 -enum : uint { VK_BROWSER_HOME = 0xAC } 417 - 418 -enum : uint { VK_VOLUME_MUTE = 0xAD } 419 -enum : uint { VK_VOLUME_DOWN = 0xAE } 420 -enum : uint { VK_VOLUME_UP = 0xAF } 421 -enum : uint { VK_MEDIA_NEXT_TRACK = 0xB0 } 422 -enum : uint { VK_MEDIA_PREV_TRACK = 0xB1 } 423 -enum : uint { VK_MEDIA_STOP = 0xB2 } 424 -enum : uint { VK_MEDIA_PLAY_PAUSE = 0xB3 } 425 -enum : uint { VK_LAUNCH_MAIL = 0xB4 } 426 -enum : uint { VK_LAUNCH_MEDIA_SELECT = 0xB5 } 427 -enum : uint { VK_LAUNCH_APP1 = 0xB6 } 428 -enum : uint { VK_LAUNCH_APP2 = 0xB7 } 429 - 430 -// #endif /* _WIN32_WINNT >= 0x0500 */ 431 - 432 -enum : uint { VK_OEM_1 = 0xBA } 433 -enum : uint { VK_OEM_PLUS = 0xBB } 434 -enum : uint { VK_OEM_COMMA = 0xBC } 435 -enum : uint { VK_OEM_MINUS = 0xBD } 436 -enum : uint { VK_OEM_PERIOD = 0xBE } 437 -enum : uint { VK_OEM_2 = 0xBF } 438 -enum : uint { VK_OEM_3 = 0xC0 } 439 - 440 -enum : uint { VK_OEM_4 = 0xDB } 441 -enum : uint { VK_OEM_5 = 0xDC } 442 -enum : uint { VK_OEM_6 = 0xDD } 443 -enum : uint { VK_OEM_7 = 0xDE } 444 -enum : uint { VK_OEM_8 = 0xDF } 445 - 446 -enum : uint { VK_OEM_AX = 0xE1 } 447 -enum : uint { VK_OEM_102 = 0xE2 } 448 -enum : uint { VK_ICO_HELP = 0xE3 } 449 -enum : uint { VK_ICO_00 = 0xE4 } 450 - 451 -// #if(WINVER >= 0x0400) 452 -enum : uint { VK_PROCESSKEY = 0xE5 } 453 -// #endif /* WINVER >= 0x0400 */ 454 - 455 -enum : uint { VK_ICO_CLEAR = 0xE6 } 456 - 457 -// #if(_WIN32_WINNT >= 0x0500) 458 -enum : uint { VK_PACKET = 0xE7 } 459 -// #endif /* _WIN32_WINNT >= 0x0500 */ 460 - 461 -enum : uint { VK_OEM_RESET = 0xE9 } 462 -enum : uint { VK_OEM_JUMP = 0xEA } 463 -enum : uint { VK_OEM_PA1 = 0xEB } 464 -enum : uint { VK_OEM_PA2 = 0xEC } 465 -enum : uint { VK_OEM_PA3 = 0xED } 466 -enum : uint { VK_OEM_WSCTRL = 0xEE } 467 -enum : uint { VK_OEM_CUSEL = 0xEF } 468 -enum : uint { VK_OEM_ATTN = 0xF0 } 469 -enum : uint { VK_OEM_FINISH = 0xF1 } 470 -enum : uint { VK_OEM_COPY = 0xF2 } 471 -enum : uint { VK_OEM_AUTO = 0xF3 } 472 -enum : uint { VK_OEM_ENLW = 0xF4 } 473 -enum : uint { VK_OEM_BACKTAB = 0xF5 } 474 - 475 -enum : uint { VK_ATTN = 0xF6 } 476 -enum : uint { VK_CRSEL = 0xF7 } 477 -enum : uint { VK_EXSEL = 0xF8 } 478 -enum : uint { VK_EREOF = 0xF9 } 479 -enum : uint { VK_PLAY = 0xFA } 480 -enum : uint { VK_ZOOM = 0xFB } 481 -enum : uint { VK_NONAME = 0xFC } 482 -enum : uint { VK_PA1 = 0xFD } 483 -enum : uint { VK_OEM_CLEAR = 0xFE } 484 - 485 -// #endif /* !NOVIRTUALKEYCODES */ 486 - 487 -// #ifndef NOWH 488 - 489 -enum { WH_MIN = -1 } 490 -enum { WH_MSGFILTER = -1 } 491 -enum : uint { WH_JOURNALRECORD = 0 } 492 -enum : uint { WH_JOURNALPLAYBACK = 1 } 493 -enum : uint { WH_KEYBOARD = 2 } 494 -enum : uint { WH_GETMESSAGE = 3 } 495 -enum : uint { WH_CALLWNDPROC = 4 } 496 -enum : uint { WH_CBT = 5 } 497 -enum : uint { WH_SYSMSGFILTER = 6 } 498 -enum : uint { WH_MOUSE = 7 } 499 -// #if defined(_WIN32_WINDOWS) 500 -// #... 501 -// #endif 502 -enum : uint { WH_DEBUG = 9 } 503 -enum : uint { WH_SHELL = 10 } 504 -enum : uint { WH_FOREGROUNDIDLE = 11 } 505 -// #if(WINVER >= 0x0400) 506 -enum : uint { WH_CALLWNDPROCRET = 12 } 507 -// #endif /* WINVER >= 0x0400 */ 508 - 509 -// #if (_WIN32_WINNT >= 0x0400) 510 -enum : uint { WH_KEYBOARD_LL = 13 } 511 -enum : uint { WH_MOUSE_LL = 14 } 512 -// #endif // (_WIN32_WINNT >= 0x0400) 513 - 514 -// #if(WINVER >= 0x0400) 515 -// #if (_WIN32_WINNT >= 0x0400) 516 -enum : uint { WH_MAX = 14 } 517 -// #else 518 -// #... 519 -// #endif // (_WIN32_WINNT >= 0x0400) 520 -// #else 521 -// #... 522 -// #endif 523 - 524 -alias WH_MIN WH_MINHOOK; 525 -alias WH_MAX WH_MAXHOOK; 526 - 527 -enum : uint { HC_ACTION = 0 } 528 -enum : uint { HC_GETNEXT = 1 } 529 -enum : uint { HC_SKIP = 2 } 530 -enum : uint { HC_NOREMOVE = 3 } 531 -alias HC_NOREMOVE HC_NOREM; 532 -enum : uint { HC_SYSMODALON = 4 } 533 -enum : uint { HC_SYSMODALOFF = 5 } 534 - 535 -enum : uint { HCBT_MOVESIZE = 0 } 536 -enum : uint { HCBT_MINMAX = 1 } 537 -enum : uint { HCBT_QS = 2 } 538 -enum : uint { HCBT_CREATEWND = 3 } 539 -enum : uint { HCBT_DESTROYWND = 4 } 540 -enum : uint { HCBT_ACTIVATE = 5 } 541 -enum : uint { HCBT_CLICKSKIPPED = 6 } 542 -enum : uint { HCBT_KEYSKIPPED = 7 } 543 -enum : uint { HCBT_SYSCOMMAND = 8 } 544 -enum : uint { HCBT_SETFOCUS = 9 } 545 - 546 -struct tagCBT_CREATEWNDA { 547 - tagCREATESTRUCTA *lpcs; 548 - HWND hwndInsertAfter; 549 -} 550 -alias tagCBT_CREATEWNDA CBT_CREATEWNDA; 551 -alias tagCBT_CREATEWNDA* LPCBT_CREATEWNDA; 552 - 553 -struct tagCBT_CREATEWNDW { 554 - tagCREATESTRUCTW *lpcs; 555 - HWND hwndInsertAfter; 556 -} 557 -alias tagCBT_CREATEWNDW CBT_CREATEWNDW; 558 -alias tagCBT_CREATEWNDW* LPCBT_CREATEWNDW; 559 - 560 -// #ifdef UNICODE 561 -// ... 562 -// #else 563 -alias CBT_CREATEWNDA CBT_CREATEWND; 564 -alias LPCBT_CREATEWNDA LPCBT_CREATEWND; 565 -// #endif // UNICODE 566 - 567 -struct tagCBTACTIVATESTRUCT { 568 - BOOL fMouse; 569 - HWND hWndActive; 570 -} 571 -alias tagCBTACTIVATESTRUCT CBTACTIVATESTRUCT; 572 -alias tagCBTACTIVATESTRUCT* LPCBTACTIVATESTRUCT; 573 - 574 -// #if(_WIN32_WINNT >= 0x0501) 575 - 576 -struct tagWTSSESSION_NOTIFICATION { 577 - DWORD cbSize; 578 - DWORD dwSessionId; 579 -} 580 -alias tagWTSSESSION_NOTIFICATION WTSSESSION_NOTIFICATION; 581 -alias tagWTSSESSION_NOTIFICATION* PWTSSESSION_NOTIFICATION; 582 - 583 -enum : uint { WTS_CONSOLE_CONNECT = 0x1 } 584 -enum : uint { WTS_CONSOLE_DISCONNECT = 0x2 } 585 -enum : uint { WTS_REMOTE_CONNECT = 0x3 } 586 -enum : uint { WTS_REMOTE_DISCONNECT = 0x4 } 587 -enum : uint { WTS_SESSION_LOGON = 0x5 } 588 -enum : uint { WTS_SESSION_LOGOFF = 0x6 } 589 -enum : uint { WTS_SESSION_LOCK = 0x7 } 590 -enum : uint { WTS_SESSION_UNLOCK = 0x8 } 591 - 592 -// #endif /* _WIN32_WINNT >= 0x0501 */ 593 - 594 -enum : uint { MSGF_DIALOGBOX = 0 } 595 -enum : uint { MSGF_MESSAGEBOX = 1 } 596 -enum : uint { MSGF_MENU = 2 } 597 -enum : uint { MSGF_SCROLLBAR = 5 } 598 -enum : uint { MSGF_NEXTWINDOW = 6 } 599 -enum : uint { MSGF_MAX = 8 } 600 -enum : uint { MSGF_USER = 4096 } 601 - 602 -enum : uint { HSHELL_WINDOWCREATED = 1 } 603 -enum : uint { HSHELL_WINDOWDESTROYED = 2 } 604 -enum : uint { HSHELL_ACTIVATESHELLWINDOW = 3 } 605 - 606 -// #if(WINVER >= 0x0400) 607 -enum : uint { HSHELL_WINDOWACTIVATED = 4 } 608 -enum : uint { HSHELL_GETMINRECT = 5 } 609 -enum : uint { HSHELL_REDRAW = 6 } 610 -enum : uint { HSHELL_TASKMAN = 7 } 611 -enum : uint { HSHELL_LANGUAGE = 8 } 612 -// #endif /* WINVER >= 0x0400 */ 613 -// #if(_WIN32_WINNT >= 0x0500) 614 -enum : uint { HSHELL_ACCESSIBILITYSTATE = 11 } 615 -enum : uint { HSHELL_APPCOMMAND = 12 } 616 -// #endif /* _WIN32_WINNT >= 0x0500 */ 617 - 618 -// #if(_WIN32_WINNT >= 0x0501) 619 -enum : uint { HSHELL_WINDOWREPLACED = 13 } 620 -// #endif /* _WIN32_WINNT >= 0x0501 */ 621 - 622 -// #if(_WIN32_WINNT >= 0x0500) 623 - 624 -enum : uint { ACCESS_STICKYKEYS = 0x0001 } 625 -enum : uint { ACCESS_FILTERKEYS = 0x0002 } 626 -enum : uint { ACCESS_MOUSEKEYS = 0x0003 } 627 - 628 -enum : uint { APPCOMMAND_BROWSER_BACKWARD = 1 } 629 -enum : uint { APPCOMMAND_BROWSER_FORWARD = 2 } 630 -enum : uint { APPCOMMAND_BROWSER_REFRESH = 3 } 631 -enum : uint { APPCOMMAND_BROWSER_STOP = 4 } 632 -enum : uint { APPCOMMAND_BROWSER_SEARCH = 5 } 633 -enum : uint { APPCOMMAND_BROWSER_FAVORITES = 6 } 634 -enum : uint { APPCOMMAND_BROWSER_HOME = 7 } 635 -enum : uint { APPCOMMAND_VOLUME_MUTE = 8 } 636 -enum : uint { APPCOMMAND_VOLUME_DOWN = 9 } 637 -enum : uint { APPCOMMAND_VOLUME_UP = 10 } 638 -enum : uint { APPCOMMAND_MEDIA_NEXTTRACK = 11 } 639 -enum : uint { APPCOMMAND_MEDIA_PREVIOUSTRACK = 12 } 640 -enum : uint { APPCOMMAND_MEDIA_STOP = 13 } 641 -enum : uint { APPCOMMAND_MEDIA_PLAY_PAUSE = 14 } 642 -enum : uint { APPCOMMAND_LAUNCH_MAIL = 15 } 643 -enum : uint { APPCOMMAND_LAUNCH_MEDIA_SELECT = 16 } 644 -enum : uint { APPCOMMAND_LAUNCH_APP1 = 17 } 645 -enum : uint { APPCOMMAND_LAUNCH_APP2 = 18 } 646 -enum : uint { APPCOMMAND_BASS_DOWN = 19 } 647 -enum : uint { APPCOMMAND_BASS_BOOST = 20 } 648 -enum : uint { APPCOMMAND_BASS_UP = 21 } 649 -enum : uint { APPCOMMAND_TREBLE_DOWN = 22 } 650 -enum : uint { APPCOMMAND_TREBLE_UP = 23 } 651 -// #if(_WIN32_WINNT >= 0x0501) 652 -enum : uint { APPCOMMAND_MICROPHONE_VOLUME_MUTE = 24 } 653 -enum : uint { APPCOMMAND_MICROPHONE_VOLUME_DOWN = 25 } 654 -enum : uint { APPCOMMAND_MICROPHONE_VOLUME_UP = 26 } 655 -enum : uint { APPCOMMAND_HELP = 27 } 656 -enum : uint { APPCOMMAND_FIND = 28 } 657 -enum : uint { APPCOMMAND_NEW = 29 } 658 -enum : uint { APPCOMMAND_OPEN = 30 } 659 -enum : uint { APPCOMMAND_CLOSE = 31 } 660 -enum : uint { APPCOMMAND_SAVE = 32 } 661 -enum : uint { APPCOMMAND_PRINT = 33 } 662 -enum : uint { APPCOMMAND_UNDO = 34 } 663 -enum : uint { APPCOMMAND_REDO = 35 } 664 -enum : uint { APPCOMMAND_COPY = 36 } 665 -enum : uint { APPCOMMAND_CUT = 37 } 666 -enum : uint { APPCOMMAND_PASTE = 38 } 667 -enum : uint { APPCOMMAND_REPLY_TO_MAIL = 39 } 668 -enum : uint { APPCOMMAND_FORWARD_MAIL = 40 } 669 -enum : uint { APPCOMMAND_SEND_MAIL = 41 } 670 -enum : uint { APPCOMMAND_SPELL_CHECK = 42 } 671 -enum : uint { APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE = 43 } 672 -enum : uint { APPCOMMAND_MIC_ON_OFF_TOGGLE = 44 } 673 -enum : uint { APPCOMMAND_CORRECTION_LIST = 45 } 674 -// #endif /* _WIN32_WINNT >= 0x0501 */ 675 - 676 -enum : uint { FAPPCOMMAND_MOUSE = 0x8000 } 677 -enum : uint { FAPPCOMMAND_KEY = 0 } 678 -enum : uint { FAPPCOMMAND_OEM = 0x1000 } 679 -enum : uint { FAPPCOMMAND_MASK = 0xF000 } 680 - 681 -// #define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK)) 682 -// #define GET_DEVICE_LPARAM(lParam) ((WORD)(HIWORD(lParam) & FAPPCOMMAND_MASK)) 683 -// #define GET_MOUSEORKEY_LPARAM GET_DEVICE_LPARAM 684 -// #define GET_FLAGS_LPARAM(lParam) (LOWORD(lParam)) 685 -// #define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam) 686 -// #endif /* _WIN32_WINNT >= 0x0500 */ 687 - 688 -struct tagEVENTMSG { 689 - UINT message; 690 - UINT paramL; 691 - UINT paramH; 692 - DWORD time; 693 - HWND hwnd; 694 -} 695 -alias tagEVENTMSG EVENTMSG; 696 -alias tagEVENTMSG* PEVENTMSGMSG; 697 -alias tagEVENTMSG* NPEVENTMSGMSG; 698 -alias tagEVENTMSG* LPEVENTMSGMSG; 699 - 700 -alias tagEVENTMSG* PEVENTMSG; 701 -alias tagEVENTMSG* NPEVENTMSG; 702 -alias tagEVENTMSG* LPEVENTMSG; 703 - 704 -struct tagCWPSTRUCT { 705 - LPARAM lParam; 706 - WPARAM wParam; 707 - UINT message; 708 - HWND hwnd; 709 -} 710 -alias tagCWPSTRUCT CWPSTRUCT; 711 -alias tagCWPSTRUCT* PCWPSTRUCT; 712 -alias tagCWPSTRUCT* NPCWPSTRUCT; 713 -alias tagCWPSTRUCT* LPCWPSTRUCT; 714 - 715 -// #if(WINVER >= 0x0400) 716 - 717 -struct tagCWPRETSTRUCT { 718 - LRESULT lResult; 719 - LPARAM lParam; 720 - WPARAM wParam; 721 - UINT message; 722 - HWND hwnd; 723 -} 724 -alias tagCWPRETSTRUCT CWPRETSTRUCT; 725 -alias tagCWPRETSTRUCT* PCWPRETSTRUCT; 726 -alias tagCWPRETSTRUCT* NPCWPRETSTRUCT; 727 -alias tagCWPRETSTRUCT* LPCWPRETSTRUCT; 728 - 729 -// #endif /* WINVER >= 0x0400 */ 730 - 731 -// #if (_WIN32_WINNT >= 0x0400) 732 - 733 -enum : uint { LLKHF_EXTENDED = KF_EXTENDED >> 8 } 734 -enum : uint { LLKHF_INJECTED = 0x00000010 } 735 -enum : uint { LLKHF_ALTDOWN = KF_ALTDOWN >> 8 } 736 -enum : uint { LLKHF_UP = KF_UP >> 8 } 737 - 738 -enum : uint { LLMHF_INJECTED = 0x00000001 } 739 - 740 -struct tagKBDLLHOOKSTRUCT { 741 - DWORD vkCode; 742 - DWORD scanCode; 743 - DWORD flags; 744 - DWORD time; 745 - ULONG_PTR dwExtraInfo; 746 -} 747 -alias tagKBDLLHOOKSTRUCT KBDLLHOOKSTRUCT; 748 -alias tagKBDLLHOOKSTRUCT* LPKBDLLHOOKSTRUCT; 749 -alias tagKBDLLHOOKSTRUCT* PKBDLLHOOKSTRUCT; 750 - 751 -struct tagMSLLHOOKSTRUCT { 752 - POINT pt; 753 - DWORD mouseData; 754 - DWORD flags; 755 - DWORD time; 756 - ULONG_PTR dwExtraInfo; 757 -} 758 -alias tagMSLLHOOKSTRUCT MSLLHOOKSTRUCT; 759 -alias tagMSLLHOOKSTRUCT* LPMSLLHOOKSTRUCT; 760 -alias tagMSLLHOOKSTRUCT* PMSLLHOOKSTRUCT; 761 - 762 -// #endif // (_WIN32_WINNT >= 0x0400) 763 - 764 -struct tagDEBUGHOOKINFO { 765 - DWORD idThread; 766 - DWORD idThreadInstaller; 767 - LPARAM lParam; 768 - WPARAM wParam; 769 - int code; 770 -} 771 -alias tagDEBUGHOOKINFO DEBUGHOOKINFO; 772 -alias tagDEBUGHOOKINFO* PDEBUGHOOKINFO; 773 -alias tagDEBUGHOOKINFO* NPDEBUGHOOKINFO; 774 -alias tagDEBUGHOOKINFO* LPDEBUGHOOKINFO; 775 - 776 -struct tagMOUSEHOOKSTRUCT { 777 - POINT pt; 778 - HWND hwnd; 779 - UINT wHitTestCode; 780 - ULONG_PTR dwExtraInfo; 781 -} 782 -alias tagMOUSEHOOKSTRUCT MOUSEHOOKSTRUCT; 783 -alias tagMOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT; 784 -alias tagMOUSEHOOKSTRUCT* PMOUSEHOOKSTRUCT; 785 - 786 -// #if(_WIN32_WINNT >= 0x0500) 787 -// #ifdef __cplusplus 788 -struct tagMOUSEHOOKSTRUCTEX { 789 - POINT pt; 790 - HWND hwnd; 791 - UINT wHitTestCode; 792 - ULONG_PTR dwExtraInfo; 793 - DWORD mouseData; 794 -} 795 -alias tagMOUSEHOOKSTRUCTEX MOUSEHOOKSTRUCTEX; 796 -alias tagMOUSEHOOKSTRUCTEX* LPMOUSEHOOKSTRUCTEX; 797 -alias tagMOUSEHOOKSTRUCTEX* PMOUSEHOOKSTRUCTEX; 798 - 799 -// #else // ndef __cplusplus 800 -// ... 801 -// #endif 802 -// #endif /* _WIN32_WINNT >= 0x0500 */ 803 - 804 -// #if(WINVER >= 0x0400) 805 - 806 -struct tagHARDWAREHOOKSTRUCT { 807 - HWND hwnd; 808 - UINT message; 809 - WPARAM wParam; 810 - LPARAM lParam; 811 -} 812 -alias tagHARDWAREHOOKSTRUCT HARDWAREHOOKSTRUCT; 813 -alias tagHARDWAREHOOKSTRUCT* LPHARDWAREHOOKSTRUCT; 814 -alias tagHARDWAREHOOKSTRUCT* PHARDWAREHOOKSTRUCT; 815 - 816 -// #endif /* WINVER >= 0x0400 */ 817 -// #endif /* !NOWH */ 818 - 819 -enum : uint { HKL_PREV = 0 } 820 -enum : uint { HKL_NEXT = 1 } 821 - 822 -enum : uint { KLF_ACTIVATE = 0x00000001 } 823 -enum : uint { KLF_SUBSTITUTE_OK = 0x00000002 } 824 -enum : uint { KLF_REORDER = 0x00000008 } 825 -// #if(WINVER >= 0x0400) 826 -enum : uint { KLF_REPLACELANG = 0x00000010 } 827 -enum : uint { KLF_NOTELLSHELL = 0x00000080 } 828 -// #endif /* WINVER >= 0x0400 */ 829 -enum : uint { KLF_SETFORPROCESS = 0x00000100 } 830 -// #if(_WIN32_WINNT >= 0x0500) 831 -enum : uint { KLF_SHIFTLOCK = 0x00010000 } 832 -enum : uint { KLF_RESET = 0x40000000 } 833 -// #endif /* _WIN32_WINNT >= 0x0500 */ 834 - 835 -// #if(WINVER >= 0x0500) 836 - 837 -enum : uint { INPUTLANGCHANGE_SYSCHARSET = 0x0001 } 838 -enum : uint { INPUTLANGCHANGE_FORWARD = 0x0002 } 839 -enum : uint { INPUTLANGCHANGE_BACKWARD = 0x0004 } 840 -// #endif /* WINVER >= 0x0500 */ 841 - 842 -enum : uint { KL_NAMELENGTH = 9 } 843 - 844 -extern(Windows) export HKL LoadKeyboardLayoutA( 845 - LPCSTR pwszKLID, 846 - UINT Flags); 847 -extern(Windows) export HKL LoadKeyboardLayoutW( 848 - LPCWSTR pwszKLID, 849 - UINT Flags); 850 -// #ifdef UNICODE 851 -// #... 852 -// #else 853 -alias LoadKeyboardLayoutA LoadKeyboardLayout; 854 -// #endif // !UNICODE 855 - 856 -// #if(WINVER >= 0x0400) 857 -extern(Windows) export HKL ActivateKeyboardLayout( 858 - HKL hkl, 859 - UINT Flags); 860 -// #else 861 -// ... 862 -// #endif /* WINVER >= 0x0400 */ 863 - 864 -// #if(WINVER >= 0x0400) 865 -extern(Windows) export int ToUnicodeEx( 866 - UINT wVirtKey, 867 - UINT wScanCode, 868 - BYTE *lpKeyState, 869 - LPWSTR pwszBuff, 870 - int cchBuff, 871 - UINT wFlags, 872 - HKL dwhkl); 873 -// #endif /* WINVER >= 0x0400 */ 874 - 875 -extern(Windows) export BOOL UnloadKeyboardLayout( 876 - HKL hkl); 877 - 878 -extern(Windows) export BOOL GetKeyboardLayoutNameA( 879 - LPSTR pwszKLID); 880 -extern(Windows) export BOOL GetKeyboardLayoutNameW( 881 - LPWSTR pwszKLID); 882 -// #ifdef UNICODE 883 -// #... 884 -// #else 885 -alias GetKeyboardLayoutNameA GetKeyboardLayoutName; 886 -// #endif // !UNICODE 887 - 888 -// #if(WINVER >= 0x0400) 889 -extern(Windows) export int GetKeyboardLayoutList( 890 - int nBuff, 891 - HKL *lpList); 892 - 893 -extern(Windows) export HKL GetKeyboardLayout( 894 - DWORD idThread 895 -); 896 -// #endif /* WINVER >= 0x0400 */ 897 - 898 -// #if(WINVER >= 0x0500) 899 - 900 -struct tagMOUSEMOVEPOINT { 901 - int x; 902 - int y; 903 - DWORD time; 904 - ULONG_PTR dwExtraInfo; 905 -} 906 -alias tagMOUSEMOVEPOINT MOUSEMOVEPOINT; 907 -alias tagMOUSEMOVEPOINT* PMOUSEMOVEPOINT; 908 -alias tagMOUSEMOVEPOINT* LPMOUSEMOVEPOINT; 909 - 910 -enum : uint { GMMP_USE_DISPLAY_POINTS = 1 } 911 -enum : uint { GMMP_USE_HIGH_RESOLUTION_POINTS = 2 } 912 - 913 -extern(Windows) export int GetMouseMovePointsEx( 914 - UINT cbSize, 915 - LPMOUSEMOVEPOINT lppt, 916 - LPMOUSEMOVEPOINT lpptBuf, 917 - int nBufPoints, 918 - DWORD resolution 919 -); 920 - 921 -// #endif /* WINVER >= 0x0500 */ 922 - 923 -// #ifndef NODESKTOP 924 - 925 -enum : uint { DESKTOP_READOBJECTS = 0x0001 } 926 -enum : uint { DESKTOP_CREATEWINDOW = 0x0002 } 927 -enum : uint { DESKTOP_CREATEMENU = 0x0004 } 928 -enum : uint { DESKTOP_HOOKCONTROL = 0x0008 } 929 -enum : uint { DESKTOP_JOURNALRECORD = 0x0010 } 930 -enum : uint { DESKTOP_JOURNALPLAYBACK = 0x0020 } 931 -enum : uint { DESKTOP_ENUMERATE = 0x0040 } 932 -enum : uint { DESKTOP_WRITEOBJECTS = 0x0080 } 933 -enum : uint { DESKTOP_SWITCHDESKTOP = 0x0100 } 934 - 935 -enum : uint { DF_ALLOWOTHERACCOUNTHOOK = 0x0001 } 936 - 937 -// #ifdef _WINGDI_ 938 -// #ifndef NOGDI 939 - 940 -// ... 941 -// #ifdef UNICODE 942 -// #... 943 -// #else 944 -// #... 945 -// #endif // !UNICODE 946 - 947 -// #endif /* NOGDI */ 948 -// #endif /* _WINGDI_ */ 949 - 950 -extern(Windows) export HDESK OpenDesktopA( 951 - LPCSTR lpszDesktop, 952 - DWORD dwFlags, 953 - BOOL fInherit, 954 - ACCESS_MASK dwDesiredAccess); 955 -extern(Windows) export HDESK OpenDesktopW( 956 - LPCWSTR lpszDesktop, 957 - DWORD dwFlags, 958 - BOOL fInherit, 959 - ACCESS_MASK dwDesiredAccess); 960 -// #ifdef UNICODE 961 -// #... 962 -// #else 963 -alias OpenDesktopA OpenDesktop; 964 -// #endif // !UNICODE 965 - 966 -extern(Windows) export HDESK OpenInputDesktop( 967 - DWORD dwFlags, 968 - BOOL fInherit, 969 - ACCESS_MASK dwDesiredAccess); 970 - 971 -extern(Windows) export BOOL EnumDesktopsA( 972 - HWINSTA hwinsta, 973 - DESKTOPENUMPROCA lpEnumFunc, 974 - LPARAM lParam); 975 -extern(Windows) export BOOL EnumDesktopsW( 976 - HWINSTA hwinsta, 977 - DESKTOPENUMPROCW lpEnumFunc, 978 - LPARAM lParam); 979 -// #ifdef UNICODE 980 -// #... 981 -// #else 982 -alias EnumDesktopsA EnumDesktops; 983 -// #endif // !UNICODE 984 - 985 -extern(Windows) export BOOL EnumDesktopWindows( 986 - HDESK hDesktop, 987 - WNDENUMPROC lpfn, 988 - LPARAM lParam); 989 - 990 -extern(Windows) export BOOL SwitchDesktop( 991 - HDESK hDesktop); 992 - 993 -extern(Windows) export BOOL SetThreadDesktop( 994 - HDESK hDesktop); 995 - 996 -extern(Windows) export BOOL CloseDesktop( 997 - HDESK hDesktop); 998 - 999 -extern(Windows) export HDESK GetThreadDesktop( 1000 - DWORD dwThreadId); 1001 -// #endif /* !NODESKTOP */ 1002 - 1003 -// #ifndef NOWINDOWSTATION 1004 - 1005 -enum : uint { WINSTA_ENUMDESKTOPS = 0x0001 } 1006 -enum : uint { WINSTA_READATTRIBUTES = 0x0002 } 1007 -enum : uint { WINSTA_ACCESSCLIPBOARD = 0x0004 } 1008 -enum : uint { WINSTA_CREATEDESKTOP = 0x0008 } 1009 -enum : uint { WINSTA_WRITEATTRIBUTES = 0x0010 } 1010 -enum : uint { WINSTA_ACCESSGLOBALATOMS = 0x0020 } 1011 -enum : uint { WINSTA_EXITWINDOWS = 0x0040 } 1012 -enum : uint { WINSTA_ENUMERATE = 0x0100 } 1013 -enum : uint { WINSTA_READSCREEN = 0x0200 } 1014 - 1015 -enum : uint { WSF_VISIBLE = 0x0001 } 1016 - 1017 -extern(Windows) export HWINSTA CreateWindowStationA( 1018 - LPCSTR lpwinsta, 1019 - DWORD dwReserved, 1020 - ACCESS_MASK dwDesiredAccess, 1021 - LPSECURITY_ATTRIBUTES lpsa); 1022 -extern(Windows) export HWINSTA CreateWindowStationW( 1023 - LPCWSTR lpwinsta, 1024 - DWORD dwReserved, 1025 - ACCESS_MASK dwDesiredAccess, 1026 - LPSECURITY_ATTRIBUTES lpsa); 1027 -// #ifdef UNICODE 1028 -// #... 1029 -// #else 1030 -alias CreateWindowStationA CreateWindowStation; 1031 -// #endif // !UNICODE 1032 - 1033 -extern(Windows) export HWINSTA OpenWindowStationA( 1034 - LPCSTR lpszWinSta, 1035 - BOOL fInherit, 1036 - ACCESS_MASK dwDesiredAccess); 1037 -extern(Windows) export HWINSTA OpenWindowStationW( 1038 - LPCWSTR lpszWinSta, 1039 - BOOL fInherit, 1040 - ACCESS_MASK dwDesiredAccess); 1041 -// #ifdef UNICODE 1042 -// #... 1043 -// #else 1044 -alias OpenWindowStationA OpenWindowStation; 1045 -// #endif // !UNICODE 1046 - 1047 -extern(Windows) export BOOL EnumWindowStationsA( 1048 - WINSTAENUMPROCA lpEnumFunc, 1049 - LPARAM lParam); 1050 -extern(Windows) export BOOL EnumWindowStationsW( 1051 - WINSTAENUMPROCW lpEnumFunc, 1052 - LPARAM lParam); 1053 -// #ifdef UNICODE 1054 -// #... 1055 -// #else 1056 -alias EnumWindowStationsA EnumWindowStations; 1057 -// #endif // !UNICODE 1058 - 1059 -extern(Windows) export BOOL CloseWindowStation( 1060 - HWINSTA hWinSta); 1061 - 1062 -extern(Windows) export BOOL SetProcessWindowStation( 1063 - HWINSTA hWinSta); 1064 - 1065 -extern(Windows) export HWINSTA GetProcessWindowStation(); 1066 -// #endif /* !NOWINDOWSTATION */ 1067 - 1068 -// #ifndef NOSECURITY 1069 - 1070 -extern(Windows) export BOOL SetUserObjectSecurity( 1071 - HANDLE hObj, 1072 - PSECURITY_INFORMATION pSIRequested, 1073 - PSECURITY_DESCRIPTOR pSID); 1074 - 1075 -extern(Windows) export BOOL GetUserObjectSecurity( 1076 - HANDLE hObj, 1077 - PSECURITY_INFORMATION pSIRequested, 1078 - PSECURITY_DESCRIPTOR pSID, 1079 - DWORD nLength, 1080 - LPDWORD lpnLengthNeeded); 1081 - 1082 -enum : uint { UOI_FLAGS = 1 } 1083 -enum : uint { UOI_NAME = 2 } 1084 -enum : uint { UOI_TYPE = 3 } 1085 -enum : uint { UOI_USER_SID = 4 } 1086 - 1087 -struct tagUSEROBJECTFLAGS { 1088 - BOOL fInherit; 1089 - BOOL fReserved; 1090 - DWORD dwFlags; 1091 -} 1092 -alias tagUSEROBJECTFLAGS USEROBJECTFLAGS; 1093 -alias tagUSEROBJECTFLAGS* PUSEROBJECTFLAGS; 1094 - 1095 -extern(Windows) export BOOL GetUserObjectInformationA( 1096 - HANDLE hObj, 1097 - int nIndex, 1098 - PVOID pvInfo, 1099 - DWORD nLength, 1100 - LPDWORD lpnLengthNeeded); 1101 -extern(Windows) export BOOL GetUserObjectInformationW( 1102 - HANDLE hObj, 1103 - int nIndex, 1104 - PVOID pvInfo, 1105 - DWORD nLength, 1106 - LPDWORD lpnLengthNeeded); 1107 -// #ifdef UNICODE 1108 -// #... 1109 -// #else 1110 -alias GetUserObjectInformationA GetUserObjectInformation; 1111 -// #endif // !UNICODE 1112 - 1113 -extern(Windows) export BOOL SetUserObjectInformationA( 1114 - HANDLE hObj, 1115 - int nIndex, 1116 - PVOID pvInfo, 1117 - DWORD nLength); 1118 -extern(Windows) export BOOL SetUserObjectInformationW( 1119 - HANDLE hObj, 1120 - int nIndex, 1121 - PVOID pvInfo, 1122 - DWORD nLength); 1123 -// #ifdef UNICODE 1124 -// #... 1125 -// #else 1126 -alias SetUserObjectInformationA SetUserObjectInformation; 1127 -// #endif // !UNICODE 1128 - 1129 -// #endif /* !NOSECURITY */ 1130 - 1131 -// #if(WINVER >= 0x0400) 1132 -struct tagWNDCLASSEXA { 1133 - UINT cbSize; 1134 - UINT style; 1135 - WNDPROC lpfnWndProc; 1136 - int cbClsExtra; 1137 - int cbWndExtra; 1138 - HINSTANCE hInstance; 1139 - HICON hIcon; 1140 - HCURSOR hCursor; 1141 - HBRUSH hbrBackground; 1142 - LPCSTR lpszMenuName; 1143 - LPCSTR lpszClassName; 1144 - HICON hIconSm; 1145 -} 1146 -alias tagWNDCLASSEXA WNDCLASSEXA; 1147 -alias tagWNDCLASSEXA* PWNDCLASSEXA; 1148 -alias tagWNDCLASSEXA* NPWNDCLASSEXA; 1149 -alias tagWNDCLASSEXA* LPWNDCLASSEXA; 1150 - 1151 -struct tagWNDCLASSEXW { 1152 - UINT cbSize; 1153 - UINT style; 1154 - WNDPROC lpfnWndProc; 1155 - int cbClsExtra; 1156 - int cbWndExtra; 1157 - HINSTANCE hInstance; 1158 - HICON hIcon; 1159 - HCURSOR hCursor; 1160 - HBRUSH hbrBackground; 1161 - LPCWSTR lpszMenuName; 1162 - LPCWSTR lpszClassName; 1163 - HICON hIconSm; 1164 -} 1165 -alias tagWNDCLASSEXW WNDCLASSEXW; 1166 -alias tagWNDCLASSEXW* PWNDCLASSEXW; 1167 -alias tagWNDCLASSEXW* NPWNDCLASSEXW; 1168 -alias tagWNDCLASSEXW* LPWNDCLASSEXW; 1169 - 1170 -// #ifdef UNICODE 1171 -// ... 1172 -// #else 1173 -alias WNDCLASSEXA WNDCLASSEX; 1174 -alias PWNDCLASSEXA PWNDCLASSEX; 1175 -alias NPWNDCLASSEXA NPWNDCLASSEX; 1176 -alias LPWNDCLASSEXA LPWNDCLASSEX; 1177 -// #endif // UNICODE 1178 -// #endif /* WINVER >= 0x0400 */ 1179 - 1180 -struct tagWNDCLASSA { 1181 - UINT style; 1182 - WNDPROC lpfnWndProc; 1183 - int cbClsExtra; 1184 - int cbWndExtra; 1185 - HINSTANCE hInstance; 1186 - HICON hIcon; 1187 - HCURSOR hCursor; 1188 - HBRUSH hbrBackground; 1189 - LPCSTR lpszMenuName; 1190 - LPCSTR lpszClassName; 1191 -} 1192 -alias tagWNDCLASSA WNDCLASSA; 1193 -alias tagWNDCLASSA* PWNDCLASSA; 1194 -alias tagWNDCLASSA* NPWNDCLASSA; 1195 -alias tagWNDCLASSA* LPWNDCLASSA; 1196 - 1197 -struct tagWNDCLASSW { 1198 - UINT style; 1199 - WNDPROC lpfnWndProc; 1200 - int cbClsExtra; 1201 - int cbWndExtra; 1202 - HINSTANCE hInstance; 1203 - HICON hIcon; 1204 - HCURSOR hCursor; 1205 - HBRUSH hbrBackground; 1206 - LPCWSTR lpszMenuName; 1207 - LPCWSTR lpszClassName; 1208 -} 1209 -alias tagWNDCLASSW WNDCLASSW; 1210 -alias tagWNDCLASSW* PWNDCLASSW; 1211 -alias tagWNDCLASSW* NPWNDCLASSW; 1212 -alias tagWNDCLASSW* LPWNDCLASSW; 1213 - 1214 -// #ifdef UNICODE 1215 -// ... 1216 -// #else 1217 -alias WNDCLASSA WNDCLASS; 1218 -alias PWNDCLASSA PWNDCLASS; 1219 -alias NPWNDCLASSA NPWNDCLASS; 1220 -alias LPWNDCLASSA LPWNDCLASS; 1221 -// #endif // UNICODE 1222 - 1223 -// #ifndef NOMSG 1224 - 1225 -struct tagMSG { 1226 - HWND hwnd; 1227 - UINT message; 1228 - WPARAM wParam; 1229 - LPARAM lParam; 1230 - DWORD time; 1231 - POINT pt; 1232 -// #ifdef _MAC 1233 -// ... 1234 -// #endif 1235 -} 1236 -alias tagMSG MSG; 1237 -alias tagMSG* PMSG; 1238 -alias tagMSG* NPMSG; 1239 -alias tagMSG* LPMSG; 1240 - 1241 -// #define POINTSTOPOINT(pt, pts) { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts); (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); } 1242 - 1243 -// #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y))) 1244 -alias MAKELONG MAKEWPARAM; 1245 -alias MAKELONG MAKELPARAM; 1246 -alias MAKELONG MAKELRESULT; 1247 - 1248 -// #endif /* !NOMSG */ 1249 - 1250 -// #ifndef NOWINOFFSETS 1251 - 1252 -enum { GWL_WNDPROC = -4 } 1253 -enum { GWL_HINSTANCE = -6 } 1254 -enum { GWL_HWNDPARENT = -8 } 1255 -enum { GWL_STYLE = -16 } 1256 -enum { GWL_EXSTYLE = -20 } 1257 -enum { GWL_USERDATA = -21 } 1258 -enum { GWL_ID = -12 } 1259 - 1260 -// #ifdef _WIN64 1261 - 1262 -// #... 1263 -// #... 1264 -// #... 1265 -// #... 1266 - 1267 -// #endif /* _WIN64 */ 1268 - 1269 -enum { GWLP_WNDPROC = -4 } 1270 -enum { GWLP_HINSTANCE = -6 } 1271 -enum { GWLP_HWNDPARENT = -8 } 1272 -enum { GWLP_USERDATA = -21 } 1273 -enum { GWLP_ID = -12 } 1274 - 1275 -enum { GCL_MENUNAME = -8 } 1276 -enum { GCL_HBRBACKGROUND = -10 } 1277 -enum { GCL_HCURSOR = -12 } 1278 -enum { GCL_HICON = -14 } 1279 -enum { GCL_HMODULE = -16 } 1280 -enum { GCL_CBWNDEXTRA = -18 } 1281 -enum { GCL_CBCLSEXTRA = -20 } 1282 -enum { GCL_WNDPROC = -24 } 1283 -enum { GCL_STYLE = -26 } 1284 -enum { GCW_ATOM = -32 } 1285 - 1286 -// #if(WINVER >= 0x0400) 1287 -enum { GCL_HICONSM = -34 } 1288 -// #endif /* WINVER >= 0x0400 */ 1289 - 1290 -// #ifdef _WIN64 1291 - 1292 -// #... 1293 -// #... 1294 -// #... 1295 -// #... 1296 -// #... 1297 -// #... 1298 -// #... 1299 - 1300 -// #endif /* _WIN64 */ 1301 - 1302 -enum { GCLP_MENUNAME = -8 } 1303 -enum { GCLP_HBRBACKGROUND = -10 } 1304 -enum { GCLP_HCURSOR = -12 } 1305 -enum { GCLP_HICON = -14 } 1306 -enum { GCLP_HMODULE = -16 } 1307 -enum { GCLP_WNDPROC = -24 } 1308 -enum { GCLP_HICONSM = -34 } 1309 - 1310 -// #endif /* !NOWINOFFSETS */ 1311 - 1312 -// #ifndef NOWINMESSAGES 1313 - 1314 -enum : uint { WM_NULL = 0x0000 } 1315 -enum : uint { WM_CREATE = 0x0001 } 1316 -enum : uint { WM_DESTROY = 0x0002 } 1317 -enum : uint { WM_MOVE = 0x0003 } 1318 -enum : uint { WM_SIZE = 0x0005 } 1319 - 1320 -enum : uint { WM_ACTIVATE = 0x0006 } 1321 - 1322 -enum : uint { WA_INACTIVE = 0 } 1323 -enum : uint { WA_ACTIVE = 1 } 1324 -enum : uint { WA_CLICKACTIVE = 2 } 1325 - 1326 -enum : uint { WM_SETFOCUS = 0x0007 } 1327 -enum : uint { WM_KILLFOCUS = 0x0008 } 1328 -enum : uint { WM_ENABLE = 0x000A } 1329 -enum : uint { WM_SETREDRAW = 0x000B } 1330 -enum : uint { WM_SETTEXT = 0x000C } 1331 -enum : uint { WM_GETTEXT = 0x000D } 1332 -enum : uint { WM_GETTEXTLENGTH = 0x000E } 1333 -enum : uint { WM_PAINT = 0x000F } 1334 -enum : uint { WM_CLOSE = 0x0010 } 1335 -// #ifndef _WIN32_WCE 1336 -enum : uint { WM_QUERYENDSESSION = 0x0011 } 1337 -enum : uint { WM_QUERYOPEN = 0x0013 } 1338 -enum : uint { WM_ENDSESSION = 0x0016 } 1339 -// #endif 1340 -enum : uint { WM_QUIT = 0x0012 } 1341 -enum : uint { WM_ERASEBKGND = 0x0014 } 1342 -enum : uint { WM_SYSCOLORCHANGE = 0x0015 } 1343 -enum : uint { WM_SHOWWINDOW = 0x0018 } 1344 -enum : uint { WM_WININICHANGE = 0x001A } 1345 -// #if(WINVER >= 0x0400) 1346 -alias WM_WININICHANGE WM_SETTINGCHANGE; 1347 -// #endif /* WINVER >= 0x0400 */ 1348 - 1349 -enum : uint { WM_DEVMODECHANGE = 0x001B } 1350 -enum : uint { WM_ACTIVATEAPP = 0x001C } 1351 -enum : uint { WM_FONTCHANGE = 0x001D } 1352 -enum : uint { WM_TIMECHANGE = 0x001E } 1353 -enum : uint { WM_CANCELMODE = 0x001F } 1354 -enum : uint { WM_SETCURSOR = 0x0020 } 1355 -enum : uint { WM_MOUSEACTIVATE = 0x0021 } 1356 -enum : uint { WM_CHILDACTIVATE = 0x0022 } 1357 -enum : uint { WM_QUEUESYNC = 0x0023 } 1358 - 1359 -enum : uint { WM_GETMINMAXINFO = 0x0024 } 1360 - 1361 -struct tagMINMAXINFO { 1362 - POINT ptReserved; 1363 - POINT ptMaxSize; 1364 - POINT ptMaxPosition; 1365 - POINT ptMinTrackSize; 1366 - POINT ptMaxTrackSize; 1367 -} 1368 -alias tagMINMAXINFO MINMAXINFO; 1369 -alias tagMINMAXINFO* PMINMAXINFO; 1370 -alias tagMINMAXINFO* LPMINMAXINFO; 1371 - 1372 -enum : uint { WM_PAINTICON = 0x0026 } 1373 -enum : uint { WM_ICONERASEBKGND = 0x0027 } 1374 -enum : uint { WM_NEXTDLGCTL = 0x0028 } 1375 -enum : uint { WM_SPOOLERSTATUS = 0x002A } 1376 -enum : uint { WM_DRAWITEM = 0x002B } 1377 -enum : uint { WM_MEASUREITEM = 0x002C } 1378 -enum : uint { WM_DELETEITEM = 0x002D } 1379 -enum : uint { WM_VKEYTOITEM = 0x002E } 1380 -enum : uint { WM_CHARTOITEM = 0x002F } 1381 -enum : uint { WM_SETFONT = 0x0030 } 1382 -enum : uint { WM_GETFONT = 0x0031 } 1383 -enum : uint { WM_SETHOTKEY = 0x0032 } 1384 -enum : uint { WM_GETHOTKEY = 0x0033 } 1385 -enum : uint { WM_QUERYDRAGICON = 0x0037 } 1386 -enum : uint { WM_COMPAREITEM = 0x0039 } 1387 -// #if(WINVER >= 0x0500) 1388 -// #ifndef _WIN32_WCE 1389 -enum : uint { WM_GETOBJECT = 0x003D } 1390 -// #endif 1391 -// #endif /* WINVER >= 0x0500 */ 1392 -enum : uint { WM_COMPACTING = 0x0041 } 1393 -enum : uint { WM_COMMNOTIFY = 0x0044 } 1394 -enum : uint { WM_WINDOWPOSCHANGING = 0x0046 } 1395 -enum : uint { WM_WINDOWPOSCHANGED = 0x0047 } 1396 - 1397 -enum : uint { WM_POWER = 0x0048 } 1398 - 1399 -enum : uint { PWR_OK = 1 } 1400 -enum { PWR_FAIL = -1 } 1401 -enum : uint { PWR_SUSPENDREQUEST = 1 } 1402 -enum : uint { PWR_SUSPENDRESUME = 2 } 1403 -enum : uint { PWR_CRITICALRESUME = 3 } 1404 - 1405 -enum : uint { WM_COPYDATA = 0x004A } 1406 -enum : uint { WM_CANCELJOURNAL = 0x004B } 1407 - 1408 -struct tagCOPYDATASTRUCT { 1409 - ULONG_PTR dwData; 1410 - DWORD cbData; 1411 - PVOID lpData; 1412 -} 1413 -alias tagCOPYDATASTRUCT COPYDATASTRUCT; 1414 -alias tagCOPYDATASTRUCT* PCOPYDATASTRUCT; 1415 - 1416 -// #if(WINVER >= 0x0400) 1417 -struct tagMDINEXTMENU { 1418 - HMENU hmenuIn; 1419 - HMENU hmenuNext; 1420 - HWND hwndNext; 1421 -} 1422 -alias tagMDINEXTMENU MDINEXTMENU; 1423 -alias tagMDINEXTMENU* PMDINEXTMENU; 1424 -alias tagMDINEXTMENU* LPMDINEXTMENU; 1425 - 1426 -// #endif /* WINVER >= 0x0400 */ 1427 - 1428 -// #if(WINVER >= 0x0400) 1429 -enum : uint { WM_NOTIFY = 0x004E } 1430 -enum : uint { WM_INPUTLANGCHANGEREQUEST = 0x0050 } 1431 -enum : uint { WM_INPUTLANGCHANGE = 0x0051 } 1432 -enum : uint { WM_TCARD = 0x0052 } 1433 -enum : uint { WM_HELP = 0x0053 } 1434 -enum : uint { WM_USERCHANGED = 0x0054 } 1435 -enum : uint { WM_NOTIFYFORMAT = 0x0055 } 1436 - 1437 -enum : uint { NFR_ANSI = 1 } 1438 -enum : uint { NFR_UNICODE = 2 } 1439 -enum : uint { NF_QUERY = 3 } 1440 -enum : uint { NF_REQUERY = 4 } 1441 - 1442 -enum : uint { WM_CONTEXTMENU = 0x007B } 1443 -enum : uint { WM_STYLECHANGING = 0x007C } 1444 -enum : uint { WM_STYLECHANGED = 0x007D } 1445 -enum : uint { WM_DISPLAYCHANGE = 0x007E } 1446 -enum : uint { WM_GETICON = 0x007F } 1447 -enum : uint { WM_SETICON = 0x0080 } 1448 -// #endif /* WINVER >= 0x0400 */ 1449 - 1450 -enum : uint { WM_NCCREATE = 0x0081 } 1451 -enum : uint { WM_NCDESTROY = 0x0082 } 1452 -enum : uint { WM_NCCALCSIZE = 0x0083 } 1453 -enum : uint { WM_NCHITTEST = 0x0084 } 1454 -enum : uint { WM_NCPAINT = 0x0085 } 1455 -enum : uint { WM_NCACTIVATE = 0x0086 } 1456 -enum : uint { WM_GETDLGCODE = 0x0087 } 1457 -// #ifndef _WIN32_WCE 1458 -enum : uint { WM_SYNCPAINT = 0x0088 } 1459 -// #endif 1460 -enum : uint { WM_NCMOUSEMOVE = 0x00A0 } 1461 -enum : uint { WM_NCLBUTTONDOWN = 0x00A1 } 1462 -enum : uint { WM_NCLBUTTONUP = 0x00A2 } 1463 -enum : uint { WM_NCLBUTTONDBLCLK = 0x00A3 } 1464 -enum : uint { WM_NCRBUTTONDOWN = 0x00A4 } 1465 -enum : uint { WM_NCRBUTTONUP = 0x00A5 } 1466 -enum : uint { WM_NCRBUTTONDBLCLK = 0x00A6 } 1467 -enum : uint { WM_NCMBUTTONDOWN = 0x00A7 } 1468 -enum : uint { WM_NCMBUTTONUP = 0x00A8 } 1469 -enum : uint { WM_NCMBUTTONDBLCLK = 0x00A9 } 1470 - 1471 -// #if(_WIN32_WINNT >= 0x0500) 1472 -enum : uint { WM_NCXBUTTONDOWN = 0x00AB } 1473 -enum : uint { WM_NCXBUTTONUP = 0x00AC } 1474 -enum : uint { WM_NCXBUTTONDBLCLK = 0x00AD } 1475 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1476 - 1477 -// #if(_WIN32_WINNT >= 0x0501) 1478 -enum : uint { WM_INPUT = 0x00FF } 1479 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1480 - 1481 -enum : uint { WM_KEYFIRST = 0x0100 } 1482 -enum : uint { WM_KEYDOWN = 0x0100 } 1483 -enum : uint { WM_KEYUP = 0x0101 } 1484 -enum : uint { WM_CHAR = 0x0102 } 1485 -enum : uint { WM_DEADCHAR = 0x0103 } 1486 -enum : uint { WM_SYSKEYDOWN = 0x0104 } 1487 -enum : uint { WM_SYSKEYUP = 0x0105 } 1488 -enum : uint { WM_SYSCHAR = 0x0106 } 1489 -enum : uint { WM_SYSDEADCHAR = 0x0107 } 1490 -// #if(_WIN32_WINNT >= 0x0501) 1491 -enum : uint { WM_UNICHAR = 0x0109 } 1492 -enum : uint { WM_KEYLAST = 0x0109 } 1493 -enum : uint { UNICODE_NOCHAR = 0xFFFF } 1494 -// #else 1495 -// #... 1496 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1497 - 1498 -// #if(WINVER >= 0x0400) 1499 -enum : uint { WM_IME_STARTCOMPOSITION = 0x010D } 1500 -enum : uint { WM_IME_ENDCOMPOSITION = 0x010E } 1501 -enum : uint { WM_IME_COMPOSITION = 0x010F } 1502 -enum : uint { WM_IME_KEYLAST = 0x010F } 1503 -// #endif /* WINVER >= 0x0400 */ 1504 - 1505 -enum : uint { WM_INITDIALOG = 0x0110 } 1506 -enum : uint { WM_COMMAND = 0x0111 } 1507 -enum : uint { WM_SYSCOMMAND = 0x0112 } 1508 -enum : uint { WM_TIMER = 0x0113 } 1509 -enum : uint { WM_HSCROLL = 0x0114 } 1510 -enum : uint { WM_VSCROLL = 0x0115 } 1511 -enum : uint { WM_INITMENU = 0x0116 } 1512 -enum : uint { WM_INITMENUPOPUP = 0x0117 } 1513 -enum : uint { WM_MENUSELECT = 0x011F } 1514 -enum : uint { WM_MENUCHAR = 0x0120 } 1515 -enum : uint { WM_ENTERIDLE = 0x0121 } 1516 -// #if(WINVER >= 0x0500) 1517 -// #ifndef _WIN32_WCE 1518 -enum : uint { WM_MENURBUTTONUP = 0x0122 } 1519 -enum : uint { WM_MENUDRAG = 0x0123 } 1520 -enum : uint { WM_MENUGETOBJECT = 0x0124 } 1521 -enum : uint { WM_UNINITMENUPOPUP = 0x0125 } 1522 -enum : uint { WM_MENUCOMMAND = 0x0126 } 1523 - 1524 -// #ifndef _WIN32_WCE 1525 -// #if(_WIN32_WINNT >= 0x0500) 1526 -enum : uint { WM_CHANGEUISTATE = 0x0127 } 1527 -enum : uint { WM_UPDATEUISTATE = 0x0128 } 1528 -enum : uint { WM_QUERYUISTATE = 0x0129 } 1529 - 1530 -enum : uint { UIS_SET = 1 } 1531 -enum : uint { UIS_CLEAR = 2 } 1532 -enum : uint { UIS_INITIALIZE = 3 } 1533 - 1534 -enum : uint { UISF_HIDEFOCUS = 0x1 } 1535 -enum : uint { UISF_HIDEACCEL = 0x2 } 1536 -// #if(_WIN32_WINNT >= 0x0501) 1537 -enum : uint { UISF_ACTIVE = 0x4 } 1538 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1539 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1540 -// #endif 1541 - 1542 -// #endif 1543 -// #endif /* WINVER >= 0x0500 */ 1544 - 1545 -enum : uint { WM_CTLCOLORMSGBOX = 0x0132 } 1546 -enum : uint { WM_CTLCOLOREDIT = 0x0133 } 1547 -enum : uint { WM_CTLCOLORLISTBOX = 0x0134 } 1548 -enum : uint { WM_CTLCOLORBTN = 0x0135 } 1549 -enum : uint { WM_CTLCOLORDLG = 0x0136 } 1550 -enum : uint { WM_CTLCOLORSCROLLBAR = 0x0137 } 1551 -enum : uint { WM_CTLCOLORSTATIC = 0x0138 } 1552 - 1553 -enum : uint { WM_MOUSEFIRST = 0x0200 } 1554 -enum : uint { WM_MOUSEMOVE = 0x0200 } 1555 -enum : uint { WM_LBUTTONDOWN = 0x0201 } 1556 -enum : uint { WM_LBUTTONUP = 0x0202 } 1557 -enum : uint { WM_LBUTTONDBLCLK = 0x0203 } 1558 -enum : uint { WM_RBUTTONDOWN = 0x0204 } 1559 -enum : uint { WM_RBUTTONUP = 0x0205 } 1560 -enum : uint { WM_RBUTTONDBLCLK = 0x0206 } 1561 -enum : uint { WM_MBUTTONDOWN = 0x0207 } 1562 -enum : uint { WM_MBUTTONUP = 0x0208 } 1563 -enum : uint { WM_MBUTTONDBLCLK = 0x0209 } 1564 -// #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 1565 -enum : uint { WM_MOUSEWHEEL = 0x020A } 1566 -// #endif 1567 -// #if (_WIN32_WINNT >= 0x0500) 1568 -enum : uint { WM_XBUTTONDOWN = 0x020B } 1569 -enum : uint { WM_XBUTTONUP = 0x020C } 1570 -enum : uint { WM_XBUTTONDBLCLK = 0x020D } 1571 -// #endif 1572 -// #if (_WIN32_WINNT >= 0x0500) 1573 -enum : uint { WM_MOUSELAST = 0x020D } 1574 -// #elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 1575 -// #... 1576 -// #else 1577 -// #... 1578 -// #endif /* (_WIN32_WINNT >= 0x0500) */ 1579 - 1580 -// #if(_WIN32_WINNT >= 0x0400) 1581 - 1582 -enum : uint { WHEEL_DELTA = 120 } 1583 -// #define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam)) 1584 - 1585 -enum : uint { WHEEL_PAGESCROLL = UINT_MAX } 1586 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1587 - 1588 -// #if(_WIN32_WINNT >= 0x0500) 1589 -// #define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam)) 1590 -// #define GET_NCHITTEST_WPARAM(wParam) ((short)LOWORD(wParam)) 1591 -// #define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam)) 1592 - 1593 -enum : uint { XBUTTON1 = 0x0001 } 1594 -enum : uint { XBUTTON2 = 0x0002 } 1595 - 1596 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1597 - 1598 -enum : uint { WM_PARENTNOTIFY = 0x0210 } 1599 -enum : uint { WM_ENTERMENULOOP = 0x0211 } 1600 -enum : uint { WM_EXITMENULOOP = 0x0212 } 1601 - 1602 -// #if(WINVER >= 0x0400) 1603 -enum : uint { WM_NEXTMENU = 0x0213 } 1604 -enum : uint { WM_SIZING = 0x0214 } 1605 -enum : uint { WM_CAPTURECHANGED = 0x0215 } 1606 -enum : uint { WM_MOVING = 0x0216 } 1607 -// #endif /* WINVER >= 0x0400 */ 1608 - 1609 -// #if(WINVER >= 0x0400) 1610 - 1611 -enum : uint { WM_POWERBROADCAST = 0x0218 } 1612 - 1613 -// #ifndef _WIN32_WCE 1614 -enum : uint { PBT_APMQUERYSUSPEND = 0x0000 } 1615 -enum : uint { PBT_APMQUERYSTANDBY = 0x0001 } 1616 - 1617 -enum : uint { PBT_APMQUERYSUSPENDFAILED = 0x0002 } 1618 -enum : uint { PBT_APMQUERYSTANDBYFAILED = 0x0003 } 1619 - 1620 -enum : uint { PBT_APMSUSPEND = 0x0004 } 1621 -enum : uint { PBT_APMSTANDBY = 0x0005 } 1622 - 1623 -enum : uint { PBT_APMRESUMECRITICAL = 0x0006 } 1624 -enum : uint { PBT_APMRESUMESUSPEND = 0x0007 } 1625 -enum : uint { PBT_APMRESUMESTANDBY = 0x0008 } 1626 - 1627 -enum : uint { PBTF_APMRESUMEFROMFAILURE = 0x00000001 } 1628 - 1629 -enum : uint { PBT_APMBATTERYLOW = 0x0009 } 1630 -enum : uint { PBT_APMPOWERSTATUSCHANGE = 0x000A } 1631 - 1632 -enum : uint { PBT_APMOEMEVENT = 0x000B } 1633 -enum : uint { PBT_APMRESUMEAUTOMATIC = 0x0012 } 1634 -// #endif 1635 - 1636 -// #endif /* WINVER >= 0x0400 */ 1637 - 1638 -// #if(WINVER >= 0x0400) 1639 -enum : uint { WM_DEVICECHANGE = 0x0219 } 1640 -// #endif /* WINVER >= 0x0400 */ 1641 - 1642 -enum : uint { WM_MDICREATE = 0x0220 } 1643 -enum : uint { WM_MDIDESTROY = 0x0221 } 1644 -enum : uint { WM_MDIACTIVATE = 0x0222 } 1645 -enum : uint { WM_MDIRESTORE = 0x0223 } 1646 -enum : uint { WM_MDINEXT = 0x0224 } 1647 -enum : uint { WM_MDIMAXIMIZE = 0x0225 } 1648 -enum : uint { WM_MDITILE = 0x0226 } 1649 -enum : uint { WM_MDICASCADE = 0x0227 } 1650 -enum : uint { WM_MDIICONARRANGE = 0x0228 } 1651 -enum : uint { WM_MDIGETACTIVE = 0x0229 } 1652 - 1653 -enum : uint { WM_MDISETMENU = 0x0230 } 1654 -enum : uint { WM_ENTERSIZEMOVE = 0x0231 } 1655 -enum : uint { WM_EXITSIZEMOVE = 0x0232 } 1656 -enum : uint { WM_DROPFILES = 0x0233 } 1657 -enum : uint { WM_MDIREFRESHMENU = 0x0234 } 1658 - 1659 -// #if(WINVER >= 0x0400) 1660 -enum : uint { WM_IME_SETCONTEXT = 0x0281 } 1661 -enum : uint { WM_IME_NOTIFY = 0x0282 } 1662 -enum : uint { WM_IME_CONTROL = 0x0283 } 1663 -enum : uint { WM_IME_COMPOSITIONFULL = 0x0284 } 1664 -enum : uint { WM_IME_SELECT = 0x0285 } 1665 -enum : uint { WM_IME_CHAR = 0x0286 } 1666 -// #endif /* WINVER >= 0x0400 */ 1667 -// #if(WINVER >= 0x0500) 1668 -enum : uint { WM_IME_REQUEST = 0x0288 } 1669 -// #endif /* WINVER >= 0x0500 */ 1670 -// #if(WINVER >= 0x0400) 1671 -enum : uint { WM_IME_KEYDOWN = 0x0290 } 1672 -enum : uint { WM_IME_KEYUP = 0x0291 } 1673 -// #endif /* WINVER >= 0x0400 */ 1674 - 1675 -// #if((_WIN32_WINNT >= 0x0400) || (WINVER >= 0x0500)) 1676 -enum : uint { WM_MOUSEHOVER = 0x02A1 } 1677 -enum : uint { WM_MOUSELEAVE = 0x02A3 } 1678 -// #endif 1679 -// #if(WINVER >= 0x0500) 1680 -enum : uint { WM_NCMOUSEHOVER = 0x02A0 } 1681 -enum : uint { WM_NCMOUSELEAVE = 0x02A2 } 1682 -// #endif /* WINVER >= 0x0500 */ 1683 - 1684 -// #if(_WIN32_WINNT >= 0x0501) 1685 -enum : uint { WM_WTSSESSION_CHANGE = 0x02B1 } 1686 - 1687 -enum : uint { WM_TABLET_FIRST = 0x02c0 } 1688 -enum : uint { WM_TABLET_LAST = 0x02df } 1689 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1690 - 1691 -enum : uint { WM_CUT = 0x0300 } 1692 -enum : uint { WM_COPY = 0x0301 } 1693 -enum : uint { WM_PASTE = 0x0302 } 1694 -enum : uint { WM_CLEAR = 0x0303 } 1695 -enum : uint { WM_UNDO = 0x0304 } 1696 -enum : uint { WM_RENDERFORMAT = 0x0305 } 1697 -enum : uint { WM_RENDERALLFORMATS = 0x0306 } 1698 -enum : uint { WM_DESTROYCLIPBOARD = 0x0307 } 1699 -enum : uint { WM_DRAWCLIPBOARD = 0x0308 } 1700 -enum : uint { WM_PAINTCLIPBOARD = 0x0309 } 1701 -enum : uint { WM_VSCROLLCLIPBOARD = 0x030A } 1702 -enum : uint { WM_SIZECLIPBOARD = 0x030B } 1703 -enum : uint { WM_ASKCBFORMATNAME = 0x030C } 1704 -enum : uint { WM_CHANGECBCHAIN = 0x030D } 1705 -enum : uint { WM_HSCROLLCLIPBOARD = 0x030E } 1706 -enum : uint { WM_QUERYNEWPALETTE = 0x030F } 1707 -enum : uint { WM_PALETTEISCHANGING = 0x0310 } 1708 -enum : uint { WM_PALETTECHANGED = 0x0311 } 1709 -enum : uint { WM_HOTKEY = 0x0312 } 1710 - 1711 -// #if(WINVER >= 0x0400) 1712 -enum : uint { WM_PRINT = 0x0317 } 1713 -enum : uint { WM_PRINTCLIENT = 0x0318 } 1714 -// #endif /* WINVER >= 0x0400 */ 1715 - 1716 -// #if(_WIN32_WINNT >= 0x0500) 1717 -enum : uint { WM_APPCOMMAND = 0x0319 } 1718 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1719 - 1720 -// #if(_WIN32_WINNT >= 0x0501) 1721 -enum : uint { WM_THEMECHANGED = 0x031A } 1722 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1723 - 1724 -// #if(WINVER >= 0x0400) 1725 - 1726 -enum : uint { WM_HANDHELDFIRST = 0x0358 } 1727 -enum : uint { WM_HANDHELDLAST = 0x035F } 1728 - 1729 -enum : uint { WM_AFXFIRST = 0x0360 } 1730 -enum : uint { WM_AFXLAST = 0x037F } 1731 -// #endif /* WINVER >= 0x0400 */ 1732 - 1733 -enum : uint { WM_PENWINFIRST = 0x0380 } 1734 -enum : uint { WM_PENWINLAST = 0x038F } 1735 - 1736 -// #if(WINVER >= 0x0400) 1737 -enum : uint { WM_APP = 0x8000 } 1738 -// #endif /* WINVER >= 0x0400 */ 1739 - 1740 -enum : uint { WM_USER = 0x0400 } 1741 - 1742 -// #if(WINVER >= 0x0400) 1743 - 1744 -enum : uint { WMSZ_LEFT = 1 } 1745 -enum : uint { WMSZ_RIGHT = 2 } 1746 -enum : uint { WMSZ_TOP = 3 } 1747 -enum : uint { WMSZ_TOPLEFT = 4 } 1748 -enum : uint { WMSZ_TOPRIGHT = 5 } 1749 -enum : uint { WMSZ_BOTTOM = 6 } 1750 -enum : uint { WMSZ_BOTTOMLEFT = 7 } 1751 -enum : uint { WMSZ_BOTTOMRIGHT = 8 } 1752 -// #endif /* WINVER >= 0x0400 */ 1753 - 1754 -// #ifndef NONCMESSAGES 1755 - 1756 -enum { HTERROR = -2 } 1757 -enum { HTTRANSPARENT = -1 } 1758 -enum : uint { HTNOWHERE = 0 } 1759 -enum : uint { HTCLIENT = 1 } 1760 -enum : uint { HTCAPTION = 2 } 1761 -enum : uint { HTSYSMENU = 3 } 1762 -enum : uint { HTGROWBOX = 4 } 1763 -alias HTGROWBOX HTSIZE; 1764 -enum : uint { HTMENU = 5 } 1765 -enum : uint { HTHSCROLL = 6 } 1766 -enum : uint { HTVSCROLL = 7 } 1767 -enum : uint { HTMINBUTTON = 8 } 1768 -enum : uint { HTMAXBUTTON = 9 } 1769 -enum : uint { HTLEFT = 10 } 1770 -enum : uint { HTRIGHT = 11 } 1771 -enum : uint { HTTOP = 12 } 1772 -enum : uint { HTTOPLEFT = 13 } 1773 -enum : uint { HTTOPRIGHT = 14 } 1774 -enum : uint { HTBOTTOM = 15 } 1775 -enum : uint { HTBOTTOMLEFT = 16 } 1776 -enum : uint { HTBOTTOMRIGHT = 17 } 1777 -enum : uint { HTBORDER = 18 } 1778 -alias HTMINBUTTON HTREDUCE; 1779 -alias HTMAXBUTTON HTZOOM; 1780 -alias HTLEFT HTSIZEFIRST; 1781 -alias HTBOTTOMRIGHT HTSIZELAST; 1782 -// #if(WINVER >= 0x0400) 1783 -enum : uint { HTOBJECT = 19 } 1784 -enum : uint { HTCLOSE = 20 } 1785 -enum : uint { HTHELP = 21 } 1786 -// #endif /* WINVER >= 0x0400 */ 1787 - 1788 -enum : uint { SMTO_NORMAL = 0x0000 } 1789 -enum : uint { SMTO_BLOCK = 0x0001 } 1790 -enum : uint { SMTO_ABORTIFHUNG = 0x0002 } 1791 -// #if(WINVER >= 0x0500) 1792 -enum : uint { SMTO_NOTIMEOUTIFNOTHUNG = 0x0008 } 1793 -// #endif /* WINVER >= 0x0500 */ 1794 -// #endif /* !NONCMESSAGES */ 1795 - 1796 -enum : uint { MA_ACTIVATE = 1 } 1797 -enum : uint { MA_ACTIVATEANDEAT = 2 } 1798 -enum : uint { MA_NOACTIVATE = 3 } 1799 -enum : uint { MA_NOACTIVATEANDEAT = 4 } 1800 - 1801 -enum : uint { ICON_SMALL = 0 } 1802 -enum : uint { ICON_BIG = 1 } 1803 -// #if(_WIN32_WINNT >= 0x0501) 1804 -enum : uint { ICON_SMALL2 = 2 } 1805 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1806 - 1807 -extern(Windows) export UINT RegisterWindowMessageA( 1808 - LPCSTR lpString); 1809 -extern(Windows) export UINT RegisterWindowMessageW( 1810 - LPCWSTR lpString); 1811 -// #ifdef UNICODE 1812 -// #... 1813 -// #else 1814 -alias RegisterWindowMessageA RegisterWindowMessage; 1815 -// #endif // !UNICODE 1816 - 1817 -enum : uint { SIZE_RESTORED = 0 } 1818 -enum : uint { SIZE_MINIMIZED = 1 } 1819 -enum : uint { SIZE_MAXIMIZED = 2 } 1820 -enum : uint { SIZE_MAXSHOW = 3 } 1821 -enum : uint { SIZE_MAXHIDE = 4 } 1822 - 1823 -alias SIZE_RESTORED SIZENORMAL; 1824 -alias SIZE_MINIMIZED SIZEICONIC; 1825 -alias SIZE_MAXIMIZED SIZEFULLSCREEN; 1826 -alias SIZE_MAXSHOW SIZEZOOMSHOW; 1827 -alias SIZE_MAXHIDE SIZEZOOMHIDE; 1828 - 1829 -struct tagWINDOWPOS { 1830 - HWND hwnd; 1831 - HWND hwndInsertAfter; 1832 - int x; 1833 - int y; 1834 - int cx; 1835 - int cy; 1836 - UINT flags; 1837 -} 1838 -alias tagWINDOWPOS WINDOWPOS; 1839 -alias tagWINDOWPOS* LPWINDOWPOS; 1840 -alias tagWINDOWPOS* PWINDOWPOS; 1841 - 1842 -struct tagNCCALCSIZE_PARAMS { 1843 - RECT rgrc[3]; 1844 - PWINDOWPOS lppos; 1845 -} 1846 -alias tagNCCALCSIZE_PARAMS NCCALCSIZE_PARAMS; 1847 -alias tagNCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 1848 - 1849 -enum : uint { WVR_ALIGNTOP = 0x0010 } 1850 -enum : uint { WVR_ALIGNLEFT = 0x0020 } 1851 -enum : uint { WVR_ALIGNBOTTOM = 0x0040 } 1852 -enum : uint { WVR_ALIGNRIGHT = 0x0080 } 1853 -enum : uint { WVR_HREDRAW = 0x0100 } 1854 -enum : uint { WVR_VREDRAW = 0x0200 } 1855 -enum : uint { WVR_REDRAW = WVR_HREDRAW | WVR_VREDRAW } 1856 -enum : uint { WVR_VALIDRECTS = 0x0400 } 1857 - 1858 -// #ifndef NOKEYSTATES 1859 - 1860 -enum : uint { MK_LBUTTON = 0x0001 } 1861 -enum : uint { MK_RBUTTON = 0x0002 } 1862 -enum : uint { MK_SHIFT = 0x0004 } 1863 -enum : uint { MK_CONTROL = 0x0008 } 1864 -enum : uint { MK_MBUTTON = 0x0010 } 1865 -// #if(_WIN32_WINNT >= 0x0500) 1866 -enum : uint { MK_XBUTTON1 = 0x0020 } 1867 -enum : uint { MK_XBUTTON2 = 0x0040 } 1868 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1869 - 1870 -// #endif /* !NOKEYSTATES */ 1871 - 1872 -// #if(_WIN32_WINNT >= 0x0400) 1873 -// #ifndef NOTRACKMOUSEEVENT 1874 - 1875 -enum : uint { TME_HOVER = 0x00000001 } 1876 -enum : uint { TME_LEAVE = 0x00000002 } 1877 -// #if(WINVER >= 0x0500) 1878 -enum : uint { TME_NONCLIENT = 0x00000010 } 1879 -// #endif /* WINVER >= 0x0500 */ 1880 -enum : uint { TME_QUERY = 0x40000000 } 1881 -enum : uint { TME_CANCEL = 0x80000000 } 1882 - 1883 -enum : uint { HOVER_DEFAULT = 0xFFFFFFFF } 1884 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1885 - 1886 -// #if(_WIN32_WINNT >= 0x0400) 1887 -struct tagTRACKMOUSEEVENT { 1888 - DWORD cbSize; 1889 - DWORD dwFlags; 1890 - HWND hwndTrack; 1891 - DWORD dwHoverTime; 1892 -} 1893 -alias tagTRACKMOUSEEVENT TRACKMOUSEEVENT; 1894 -alias tagTRACKMOUSEEVENT* LPTRACKMOUSEEVENT; 1895 - 1896 -extern(Windows) export BOOL TrackMouseEvent( 1897 - LPTRACKMOUSEEVENT lpEventTrack); 1898 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1899 - 1900 -// #if(_WIN32_WINNT >= 0x0400) 1901 - 1902 -// #endif /* !NOTRACKMOUSEEVENT */ 1903 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1904 - 1905 -// #endif /* !NOWINMESSAGES */ 1906 - 1907 -// #ifndef NOWINSTYLES 1908 - 1909 -enum : uint { WS_OVERLAPPED = 0x00000000 } 1910 -enum : uint { WS_POPUP = 0x80000000 } 1911 -enum : uint { WS_CHILD = 0x40000000 } 1912 -enum : uint { WS_MINIMIZE = 0x20000000 } 1913 -enum : uint { WS_VISIBLE = 0x10000000 } 1914 -enum : uint { WS_DISABLED = 0x08000000 } 1915 -enum : uint { WS_CLIPSIBLINGS = 0x04000000 } 1916 -enum : uint { WS_CLIPCHILDREN = 0x02000000 } 1917 -enum : uint { WS_MAXIMIZE = 0x01000000 } 1918 -enum : uint { WS_CAPTION = 0x00C00000 } 1919 -enum : uint { WS_BORDER = 0x00800000 } 1920 -enum : uint { WS_DLGFRAME = 0x00400000 } 1921 -enum : uint { WS_VSCROLL = 0x00200000 } 1922 -enum : uint { WS_HSCROLL = 0x00100000 } 1923 -enum : uint { WS_SYSMENU = 0x00080000 } 1924 -enum : uint { WS_THICKFRAME = 0x00040000 } 1925 -enum : uint { WS_GROUP = 0x00020000 } 1926 -enum : uint { WS_TABSTOP = 0x00010000 } 1927 - 1928 -enum : uint { WS_MINIMIZEBOX = 0x00020000 } 1929 -enum : uint { WS_MAXIMIZEBOX = 0x00010000 } 1930 - 1931 -alias WS_OVERLAPPED WS_TILED; 1932 -alias WS_MINIMIZE WS_ICONIC; 1933 -alias WS_THICKFRAME WS_SIZEBOX; 1934 -// #define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW 1935 - 1936 -enum : uint { WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX } 1937 - 1938 -enum : uint { WS_POPUPWINDOW = WS_POPUP | WS_BORDER | WS_SYSMENU } 1939 - 1940 -enum : uint { WS_CHILDWINDOW = WS_CHILD } 1941 - 1942 -enum : uint { WS_EX_DLGMODALFRAME = 0x00000001 } 1943 -enum : uint { WS_EX_NOPARENTNOTIFY = 0x00000004 } 1944 -enum : uint { WS_EX_TOPMOST = 0x00000008 } 1945 -enum : uint { WS_EX_ACCEPTFILES = 0x00000010 } 1946 -enum : uint { WS_EX_TRANSPARENT = 0x00000020 } 1947 -// #if(WINVER >= 0x0400) 1948 -enum : uint { WS_EX_MDICHILD = 0x00000040 } 1949 -enum : uint { WS_EX_TOOLWINDOW = 0x00000080 } 1950 -enum : uint { WS_EX_WINDOWEDGE = 0x00000100 } 1951 -enum : uint { WS_EX_CLIENTEDGE = 0x00000200 } 1952 -enum : uint { WS_EX_CONTEXTHELP = 0x00000400 } 1953 - 1954 -// #endif /* WINVER >= 0x0400 */ 1955 -// #if(WINVER >= 0x0400) 1956 - 1957 -enum : uint { WS_EX_RIGHT = 0x00001000 } 1958 -enum : uint { WS_EX_LEFT = 0x00000000 } 1959 -enum : uint { WS_EX_RTLREADING = 0x00002000 } 1960 -enum : uint { WS_EX_LTRREADING = 0x00000000 } 1961 -enum : uint { WS_EX_LEFTSCROLLBAR = 0x00004000 } 1962 -enum : uint { WS_EX_RIGHTSCROLLBAR = 0x00000000 } 1963 - 1964 -enum : uint { WS_EX_CONTROLPARENT = 0x00010000 } 1965 -enum : uint { WS_EX_STATICEDGE = 0x00020000 } 1966 -enum : uint { WS_EX_APPWINDOW = 0x00040000 } 1967 - 1968 -enum : uint { WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE } 1969 -enum : uint { WS_EX_PALETTEWINDOW = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST } 1970 - 1971 -// #endif /* WINVER >= 0x0400 */ 1972 - 1973 -// #if(_WIN32_WINNT >= 0x0500) 1974 -enum : uint { WS_EX_LAYERED = 0x00080000 } 1975 - 1976 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1977 - 1978 -// #if(WINVER >= 0x0500) 1979 -enum : uint { WS_EX_NOINHERITLAYOUT = 0x00100000 } 1980 -enum : uint { WS_EX_LAYOUTRTL = 0x00400000 } 1981 -// #endif /* WINVER >= 0x0500 */ 1982 - 1983 -// #if(_WIN32_WINNT >= 0x0501) 1984 -enum : uint { WS_EX_COMPOSITED = 0x02000000 } 1985 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1986 -// #if(_WIN32_WINNT >= 0x0500) 1987 -enum : uint { WS_EX_NOACTIVATE = 0x08000000 } 1988 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1989 - 1990 -enum : uint { CS_VREDRAW = 0x0001 } 1991 -enum : uint { CS_HREDRAW = 0x0002 } 1992 -enum : uint { CS_DBLCLKS = 0x0008 } 1993 -enum : uint { CS_OWNDC = 0x0020 } 1994 -enum : uint { CS_CLASSDC = 0x0040 } 1995 -enum : uint { CS_PARENTDC = 0x0080 } 1996 -enum : uint { CS_NOCLOSE = 0x0200 } 1997 -enum : uint { CS_SAVEBITS = 0x0800 } 1998 -enum : uint { CS_BYTEALIGNCLIENT = 0x1000 } 1999 -enum : uint { CS_BYTEALIGNWINDOW = 0x2000 } 2000 -enum : uint { CS_GLOBALCLASS = 0x4000 } 2001 - 2002 -enum : uint { CS_IME = 0x00010000 } 2003 -// #if(_WIN32_WINNT >= 0x0501) 2004 -enum : uint { CS_DROPSHADOW = 0x00020000 } 2005 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2006 - 2007 -// #endif /* !NOWINSTYLES */ 2008 -// #if(WINVER >= 0x0400) 2009 - 2010 -enum : uint { PRF_CHECKVISIBLE = 0x00000001 } 2011 -enum : uint { PRF_NONCLIENT = 0x00000002 } 2012 -enum : uint { PRF_CLIENT = 0x00000004 } 2013 -enum : uint { PRF_ERASEBKGND = 0x00000008 } 2014 -enum : uint { PRF_CHILDREN = 0x00000010 } 2015 -enum : uint { PRF_OWNED = 0x00000020 } 2016 - 2017 -enum : uint { BDR_RAISEDOUTER = 0x0001 } 2018 -enum : uint { BDR_SUNKENOUTER = 0x0002 } 2019 -enum : uint { BDR_RAISEDINNER = 0x0004 } 2020 -enum : uint { BDR_SUNKENINNER = 0x0008 } 2021 - 2022 -enum : uint { BDR_OUTER = BDR_RAISEDOUTER | BDR_SUNKENOUTER } 2023 -enum : uint { BDR_INNER = BDR_RAISEDINNER | BDR_SUNKENINNER } 2024 -enum : uint { BDR_RAISED = BDR_RAISEDOUTER | BDR_RAISEDINNER } 2025 -enum : uint { BDR_SUNKEN = BDR_SUNKENOUTER | BDR_SUNKENINNER } 2026 - 2027 -enum : uint { EDGE_RAISED = BDR_RAISEDOUTER | BDR_RAISEDINNER } 2028 -enum : uint { EDGE_SUNKEN = BDR_SUNKENOUTER | BDR_SUNKENINNER } 2029 -enum : uint { EDGE_ETCHED = BDR_SUNKENOUTER | BDR_RAISEDINNER } 2030 -enum : uint { EDGE_BUMP = BDR_RAISEDOUTER | BDR_SUNKENINNER } 2031 - 2032 -enum : uint { BF_LEFT = 0x0001 } 2033 -enum : uint { BF_TOP = 0x0002 } 2034 -enum : uint { BF_RIGHT = 0x0004 } 2035 -enum : uint { BF_BOTTOM = 0x0008 } 2036 - 2037 -enum : uint { BF_TOPLEFT = BF_TOP | BF_LEFT } 2038 -enum : uint { BF_TOPRIGHT = BF_TOP | BF_RIGHT } 2039 -enum : uint { BF_BOTTOMLEFT = BF_BOTTOM | BF_LEFT } 2040 -enum : uint { BF_BOTTOMRIGHT = BF_BOTTOM | BF_RIGHT } 2041 -enum : uint { BF_RECT = BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM } 2042 - 2043 -enum : uint { BF_DIAGONAL = 0x0010 } 2044 - 2045 -enum : uint { BF_DIAGONAL_ENDTOPRIGHT = BF_DIAGONAL | BF_TOP | BF_RIGHT } 2046 -enum : uint { BF_DIAGONAL_ENDTOPLEFT = BF_DIAGONAL | BF_TOP | BF_LEFT } 2047 -enum : uint { BF_DIAGONAL_ENDBOTTOMLEFT = BF_DIAGONAL | BF_BOTTOM | BF_LEFT } 2048 -enum : uint { BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL | BF_BOTTOM | BF_RIGHT } 2049 - 2050 -enum : uint { BF_MIDDLE = 0x0800 } 2051 -enum : uint { BF_SOFT = 0x1000 } 2052 -enum : uint { BF_ADJUST = 0x2000 } 2053 -enum : uint { BF_FLAT = 0x4000 } 2054 -enum : uint { BF_MONO = 0x8000 } 2055 - 2056 -extern(Windows) export BOOL DrawEdge( 2057 - HDC hdc, 2058 - LPRECT qrc, 2059 - UINT edge, 2060 - UINT grfFlags); 2061 - 2062 -enum : uint { DFC_CAPTION = 1 } 2063 -enum : uint { DFC_MENU = 2 } 2064 -enum : uint { DFC_SCROLL = 3 } 2065 -enum : uint { DFC_BUTTON = 4 } 2066 -// #if(WINVER >= 0x0500) 2067 -enum : uint { DFC_POPUPMENU = 5 } 2068 -// #endif /* WINVER >= 0x0500 */ 2069 - 2070 -enum : uint { DFCS_CAPTIONCLOSE = 0x0000 } 2071 -enum : uint { DFCS_CAPTIONMIN = 0x0001 } 2072 -enum : uint { DFCS_CAPTIONMAX = 0x0002 } 2073 -enum : uint { DFCS_CAPTIONRESTORE = 0x0003 } 2074 -enum : uint { DFCS_CAPTIONHELP = 0x0004 } 2075 - 2076 -enum : uint { DFCS_MENUARROW = 0x0000 } 2077 -enum : uint { DFCS_MENUCHECK = 0x0001 } 2078 -enum : uint { DFCS_MENUBULLET = 0x0002 } 2079 -enum : uint { DFCS_MENUARROWRIGHT = 0x0004 } 2080 -enum : uint { DFCS_SCROLLUP = 0x0000 } 2081 -enum : uint { DFCS_SCROLLDOWN = 0x0001 } 2082 -enum : uint { DFCS_SCROLLLEFT = 0x0002 } 2083 -enum : uint { DFCS_SCROLLRIGHT = 0x0003 } 2084 -enum : uint { DFCS_SCROLLCOMBOBOX = 0x0005 } 2085 -enum : uint { DFCS_SCROLLSIZEGRIP = 0x0008 } 2086 -enum : uint { DFCS_SCROLLSIZEGRIPRIGHT = 0x0010 } 2087 - 2088 -enum : uint { DFCS_BUTTONCHECK = 0x0000 } 2089 -enum : uint { DFCS_BUTTONRADIOIMAGE = 0x0001 } 2090 -enum : uint { DFCS_BUTTONRADIOMASK = 0x0002 } 2091 -enum : uint { DFCS_BUTTONRADIO = 0x0004 } 2092 -enum : uint { DFCS_BUTTON3STATE = 0x0008 } 2093 -enum : uint { DFCS_BUTTONPUSH = 0x0010 } 2094 - 2095 -enum : uint { DFCS_INACTIVE = 0x0100 } 2096 -enum : uint { DFCS_PUSHED = 0x0200 } 2097 -enum : uint { DFCS_CHECKED = 0x0400 } 2098 - 2099 -// #if(WINVER >= 0x0500) 2100 -enum : uint { DFCS_TRANSPARENT = 0x0800 } 2101 -enum : uint { DFCS_HOT = 0x1000 } 2102 -// #endif /* WINVER >= 0x0500 */ 2103 - 2104 -enum : uint { DFCS_ADJUSTRECT = 0x2000 } 2105 -enum : uint { DFCS_FLAT = 0x4000 } 2106 -enum : uint { DFCS_MONO = 0x8000 } 2107 - 2108 -extern(Windows) export BOOL DrawFrameControl( 2109 - HDC, 2110 - LPRECT, 2111 - UINT, 2112 - UINT); 2113 - 2114 -enum : uint { DC_ACTIVE = 0x0001 } 2115 -enum : uint { DC_SMALLCAP = 0x0002 } 2116 -enum : uint { DC_ICON = 0x0004 } 2117 -enum : uint { DC_TEXT = 0x0008 } 2118 -enum : uint { DC_INBUTTON = 0x0010 } 2119 -// #if(WINVER >= 0x0500) 2120 -enum : uint { DC_GRADIENT = 0x0020 } 2121 -// #endif /* WINVER >= 0x0500 */ 2122 -// #if(_WIN32_WINNT >= 0x0501) 2123 -enum : uint { DC_BUTTONS = 0x1000 } 2124 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2125 - 2126 -extern(Windows) export BOOL DrawCaption(HWND, HDC, RECT *, UINT); 2127 - 2128 -enum : uint { IDANI_OPEN = 1 } 2129 -enum : uint { IDANI_CAPTION = 3 } 2130 - 2131 -extern(Windows) export BOOL DrawAnimatedRects( 2132 - HWND hwnd, 2133 - int idAni, 2134 - RECT * lprcFrom, 2135 - RECT * lprcTo); 2136 - 2137 -// #endif /* WINVER >= 0x0400 */ 2138 - 2139 -// #ifndef NOCLIPBOARD 2140 - 2141 -enum : uint { CF_TEXT = 1 } 2142 -enum : uint { CF_BITMAP = 2 } 2143 -enum : uint { CF_METAFILEPICT = 3 } 2144 -enum : uint { CF_SYLK = 4 } 2145 -enum : uint { CF_DIF = 5 } 2146 -enum : uint { CF_TIFF = 6 } 2147 -enum : uint { CF_OEMTEXT = 7 } 2148 -enum : uint { CF_DIB = 8 } 2149 -enum : uint { CF_PALETTE = 9 } 2150 -enum : uint { CF_PENDATA = 10 } 2151 -enum : uint { CF_RIFF = 11 } 2152 -enum : uint { CF_WAVE = 12 } 2153 -enum : uint { CF_UNICODETEXT = 13 } 2154 -enum : uint { CF_ENHMETAFILE = 14 } 2155 -// #if(WINVER >= 0x0400) 2156 -enum : uint { CF_HDROP = 15 } 2157 -enum : uint { CF_LOCALE = 16 } 2158 -// #endif /* WINVER >= 0x0400 */ 2159 -// #if(WINVER >= 0x0500) 2160 -enum : uint { CF_DIBV5 = 17 } 2161 -// #endif /* WINVER >= 0x0500 */ 2162 - 2163 -// #if(WINVER >= 0x0500) 2164 -enum : uint { CF_MAX = 18 } 2165 -// #elif(WINVER >= 0x0400) 2166 -// #... 2167 -// #else 2168 -// #... 2169 -// #endif 2170 - 2171 -enum : uint { CF_OWNERDISPLAY = 0x0080 } 2172 -enum : uint { CF_DSPTEXT = 0x0081 } 2173 -enum : uint { CF_DSPBITMAP = 0x0082 } 2174 -enum : uint { CF_DSPMETAFILEPICT = 0x0083 } 2175 -enum : uint { CF_DSPENHMETAFILE = 0x008E } 2176 - 2177 -enum : uint { CF_PRIVATEFIRST = 0x0200 } 2178 -enum : uint { CF_PRIVATELAST = 0x02FF } 2179 - 2180 -enum : uint { CF_GDIOBJFIRST = 0x0300 } 2181 -enum : uint { CF_GDIOBJLAST = 0x03FF } 2182 - 2183 -// #endif /* !NOCLIPBOARD */ 2184 - 2185 -alias TRUE FVIRTKEY; 2186 -enum : uint { FNOINVERT = 0x02 } 2187 -enum : uint { FSHIFT = 0x04 } 2188 -enum : uint { FCONTROL = 0x08 } 2189 -enum : uint { FALT = 0x10 } 2190 - 2191 -struct tagACCEL { 2192 -// #ifndef _MAC 2193 - BYTE fVirt; 2194 - WORD key; 2195 - WORD cmd; 2196 -// #else 2197 -// ... 2198 -// #endif 2199 -} 2200 -alias tagACCEL ACCEL; 2201 -alias tagACCEL* LPACCEL; 2202 - 2203 -struct tagPAINTSTRUCT { 2204 - HDC hdc; 2205 - BOOL fErase; 2206 - RECT rcPaint; 2207 - BOOL fRestore; 2208 - BOOL fIncUpdate; 2209 - BYTE rgbReserved[32]; 2210 -} 2211 -alias tagPAINTSTRUCT PAINTSTRUCT; 2212 -alias tagPAINTSTRUCT* PPAINTSTRUCT; 2213 -alias tagPAINTSTRUCT* NPPAINTSTRUCT; 2214 -alias tagPAINTSTRUCT* LPPAINTSTRUCT; 2215 - 2216 -struct tagCREATESTRUCTA { 2217 - LPVOID lpCreateParams; 2218 - HINSTANCE hInstance; 2219 - HMENU hMenu; 2220 - HWND hwndParent; 2221 - int cy; 2222 - int cx; 2223 - int y; 2224 - int x; 2225 - LONG style; 2226 - LPCSTR lpszName; 2227 - LPCSTR lpszClass; 2228 - DWORD dwExStyle; 2229 -} 2230 -alias tagCREATESTRUCTA CREATESTRUCTA; 2231 -alias tagCREATESTRUCTA* LPCREATESTRUCTA; 2232 - 2233 -struct tagCREATESTRUCTW { 2234 - LPVOID lpCreateParams; 2235 - HINSTANCE hInstance; 2236 - HMENU hMenu; 2237 - HWND hwndParent; 2238 - int cy; 2239 - int cx; 2240 - int y; 2241 - int x; 2242 - LONG style; 2243 - LPCWSTR lpszName; 2244 - LPCWSTR lpszClass; 2245 - DWORD dwExStyle; 2246 -} 2247 -alias tagCREATESTRUCTW CREATESTRUCTW; 2248 -alias tagCREATESTRUCTW* LPCREATESTRUCTW; 2249 - 2250 -// #ifdef UNICODE 2251 -// ... 2252 -// #else 2253 -alias CREATESTRUCTA CREATESTRUCT; 2254 -alias LPCREATESTRUCTA LPCREATESTRUCT; 2255 -// #endif // UNICODE 2256 - 2257 -struct tagWINDOWPLACEMENT { 2258 - UINT length; 2259 - UINT flags; 2260 - UINT showCmd; 2261 - POINT ptMinPosition; 2262 - POINT ptMaxPosition; 2263 - RECT rcNormalPosition; 2264 -// #ifdef _MAC 2265 -// ... 2266 -// #endif 2267 -} 2268 -alias tagWINDOWPLACEMENT WINDOWPLACEMENT; 2269 - 2270 -alias WINDOWPLACEMENT* PWINDOWPLACEMENT; 2271 -alias WINDOWPLACEMENT* LPWINDOWPLACEMENT; 2272 - 2273 -enum : uint { WPF_SETMINPOSITION = 0x0001 } 2274 -enum : uint { WPF_RESTORETOMAXIMIZED = 0x0002 } 2275 -// #if(_WIN32_WINNT >= 0x0500) 2276 -enum : uint { WPF_ASYNCWINDOWPLACEMENT = 0x0004 } 2277 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2278 - 2279 -// #if(WINVER >= 0x0400) 2280 -struct tagNMHDR { 2281 - HWND hwndFrom; 2282 - UINT_PTR idFrom; 2283 - UINT code; 2284 -} 2285 -alias tagNMHDR NMHDR; 2286 - 2287 -alias NMHDR* LPNMHDR; 2288 - 2289 -struct tagSTYLESTRUCT { 2290 - DWORD styleOld; 2291 - DWORD styleNew; 2292 -} 2293 -alias tagSTYLESTRUCT STYLESTRUCT; 2294 -alias tagSTYLESTRUCT* LPSTYLESTRUCT; 2295 - 2296 -// #endif /* WINVER >= 0x0400 */ 2297 - 2298 -enum : uint { ODT_MENU = 1 } 2299 -enum : uint { ODT_LISTBOX = 2 } 2300 -enum : uint { ODT_COMBOBOX = 3 } 2301 -enum : uint { ODT_BUTTON = 4 } 2302 -// #if(WINVER >= 0x0400) 2303 -enum : uint { ODT_STATIC = 5 } 2304 -// #endif /* WINVER >= 0x0400 */ 2305 - 2306 -enum : uint { ODA_DRAWENTIRE = 0x0001 } 2307 -enum : uint { ODA_SELECT = 0x0002 } 2308 -enum : uint { ODA_FOCUS = 0x0004 } 2309 - 2310 -enum : uint { ODS_SELECTED = 0x0001 } 2311 -enum : uint { ODS_GRAYED = 0x0002 } 2312 -enum : uint { ODS_DISABLED = 0x0004 } 2313 -enum : uint { ODS_CHECKED = 0x0008 } 2314 -enum : uint { ODS_FOCUS = 0x0010 } 2315 -// #if(WINVER >= 0x0400) 2316 -enum : uint { ODS_DEFAULT = 0x0020 } 2317 -enum : uint { ODS_COMBOBOXEDIT = 0x1000 } 2318 -// #endif /* WINVER >= 0x0400 */ 2319 -// #if(WINVER >= 0x0500) 2320 -enum : uint { ODS_HOTLIGHT = 0x0040 } 2321 -enum : uint { ODS_INACTIVE = 0x0080 } 2322 -// #if(_WIN32_WINNT >= 0x0500) 2323 -enum : uint { ODS_NOACCEL = 0x0100 } 2324 -enum : uint { ODS_NOFOCUSRECT = 0x0200 } 2325 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2326 -// #endif /* WINVER >= 0x0500 */ 2327 - 2328 -struct tagMEASUREITEMSTRUCT { 2329 - UINT CtlType; 2330 - UINT CtlID; 2331 - UINT itemID; 2332 - UINT itemWidth; 2333 - UINT itemHeight; 2334 - ULONG_PTR itemData; 2335 -} 2336 -alias tagMEASUREITEMSTRUCT MEASUREITEMSTRUCT; 2337 -alias tagMEASUREITEMSTRUCT* PMEASUREITEMSTRUCT; 2338 -alias tagMEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT; 2339 - 2340 -struct tagDRAWITEMSTRUCT { 2341 - UINT CtlType; 2342 - UINT CtlID; 2343 - UINT itemID; 2344 - UINT itemAction; 2345 - UINT itemState; 2346 - HWND hwndItem; 2347 - HDC hDC; 2348 - RECT rcItem; 2349 - ULONG_PTR itemData; 2350 -} 2351 -alias tagDRAWITEMSTRUCT DRAWITEMSTRUCT; 2352 -alias tagDRAWITEMSTRUCT* PDRAWITEMSTRUCT; 2353 -alias tagDRAWITEMSTRUCT* LPDRAWITEMSTRUCT; 2354 - 2355 -struct tagDELETEITEMSTRUCT { 2356 - UINT CtlType; 2357 - UINT CtlID; 2358 - UINT itemID; 2359 - HWND hwndItem; 2360 - ULONG_PTR itemData; 2361 -} 2362 -alias tagDELETEITEMSTRUCT DELETEITEMSTRUCT; 2363 -alias tagDELETEITEMSTRUCT* PDELETEITEMSTRUCT; 2364 -alias tagDELETEITEMSTRUCT* LPDELETEITEMSTRUCT; 2365 - 2366 -struct tagCOMPAREITEMSTRUCT { 2367 - UINT CtlType; 2368 - UINT CtlID; 2369 - HWND hwndItem; 2370 - UINT itemID1; 2371 - ULONG_PTR itemData1; 2372 - UINT itemID2; 2373 - ULONG_PTR itemData2; 2374 - DWORD dwLocaleId; 2375 -} 2376 -alias tagCOMPAREITEMSTRUCT COMPAREITEMSTRUCT; 2377 -alias tagCOMPAREITEMSTRUCT* PCOMPAREITEMSTRUCT; 2378 -alias tagCOMPAREITEMSTRUCT* LPCOMPAREITEMSTRUCT; 2379 - 2380 -// #ifndef NOMSG 2381 - 2382 -extern(Windows) export BOOL GetMessageA( 2383 - LPMSG lpMsg, 2384 - HWND hWnd, 2385 - UINT wMsgFilterMin, 2386 - UINT wMsgFilterMax); 2387 -extern(Windows) export BOOL GetMessageW( 2388 - LPMSG lpMsg, 2389 - HWND hWnd, 2390 - UINT wMsgFilterMin, 2391 - UINT wMsgFilterMax); 2392 -// #ifdef UNICODE 2393 -// #... 2394 -// #else 2395 -alias GetMessageA GetMessage; 2396 -// #endif // !UNICODE 2397 - 2398 -extern(Windows) export BOOL TranslateMessage( 2399 - MSG *lpMsg); 2400 - 2401 -extern(Windows) export LRESULT DispatchMessageA( 2402 - MSG *lpMsg); 2403 -extern(Windows) export LRESULT DispatchMessageW( 2404 - MSG *lpMsg); 2405 -// #ifdef UNICODE 2406 -// #... 2407 -// #else 2408 -alias DispatchMessageA DispatchMessage; 2409 -// #endif // !UNICODE 2410 - 2411 -extern(Windows) export BOOL SetMessageQueue( 2412 - int cMessagesMax); 2413 - 2414 -extern(Windows) export BOOL PeekMessageA( 2415 - LPMSG lpMsg, 2416 - HWND hWnd, 2417 - UINT wMsgFilterMin, 2418 - UINT wMsgFilterMax, 2419 - UINT wRemoveMsg); 2420 -extern(Windows) export BOOL PeekMessageW( 2421 - LPMSG lpMsg, 2422 - HWND hWnd, 2423 - UINT wMsgFilterMin, 2424 - UINT wMsgFilterMax, 2425 - UINT wRemoveMsg); 2426 -// #ifdef UNICODE 2427 -// #... 2428 -// #else 2429 -alias PeekMessageA PeekMessage; 2430 -// #endif // !UNICODE 2431 - 2432 -enum : uint { PM_NOREMOVE = 0x0000 } 2433 -enum : uint { PM_REMOVE = 0x0001 } 2434 -enum : uint { PM_NOYIELD = 0x0002 } 2435 -// #if(WINVER >= 0x0500) 2436 -enum : uint { PM_QS_INPUT = QS_INPUT << 16 } 2437 -enum : uint { PM_QS_POSTMESSAGE = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16 } 2438 -enum : uint { PM_QS_PAINT = QS_PAINT << 16 } 2439 -enum : uint { PM_QS_SENDMESSAGE = QS_SENDMESSAGE << 16 } 2440 -// #endif /* WINVER >= 0x0500 */ 2441 - 2442 -// #endif /* !NOMSG */ 2443 - 2444 -extern(Windows) export BOOL RegisterHotKey( 2445 - HWND hWnd, 2446 - int id, 2447 - UINT fsModifiers, 2448 - UINT vk); 2449 - 2450 -extern(Windows) export BOOL UnregisterHotKey( 2451 - HWND hWnd, 2452 - int id); 2453 - 2454 -enum : uint { MOD_ALT = 0x0001 } 2455 -enum : uint { MOD_CONTROL = 0x0002 } 2456 -enum : uint { MOD_SHIFT = 0x0004 } 2457 -enum : uint { MOD_WIN = 0x0008 } 2458 - 2459 -enum { IDHOT_SNAPWINDOW = -1 } 2460 -enum { IDHOT_SNAPDESKTOP = -2 } 2461 - 2462 -// #ifdef WIN_INTERNAL 2463 -// #ifndef LSTRING 2464 -// #... 2465 -// #endif /* LSTRING */ 2466 -// #ifndef LFILEIO 2467 -// #... 2468 -// #endif /* LFILEIO */ 2469 -// #endif /* WIN_INTERNAL */ 2470 - 2471 -// #if(WINVER >= 0x0400) 2472 - 2473 -enum : uint { ENDSESSION_LOGOFF = 0x80000000 } 2474 -// #endif /* WINVER >= 0x0400 */ 2475 - 2476 -enum : uint { EWX_LOGOFF = 0 } 2477 -enum : uint { EWX_SHUTDOWN = 0x00000001 } 2478 -enum : uint { EWX_REBOOT = 0x00000002 } 2479 -enum : uint { EWX_FORCE = 0x00000004 } 2480 -enum : uint { EWX_POWEROFF = 0x00000008 } 2481 -// #if(_WIN32_WINNT >= 0x0500) 2482 -enum : uint { EWX_FORCEIFHUNG = 0x00000010 } 2483 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2484 - 2485 -BOOL ExitWindows(DWORD dwReserved, UINT Code){ return ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF); } 2486 - 2487 -extern(Windows) export BOOL ExitWindowsEx( 2488 - UINT uFlags, 2489 - DWORD dwReserved); 2490 - 2491 -extern(Windows) export BOOL SwapMouseButton( 2492 - BOOL fSwap); 2493 - 2494 -extern(Windows) export DWORD GetMessagePos(); 2495 - 2496 -extern(Windows) export LONG GetMessageTime(); 2497 - 2498 -extern(Windows) export LPARAM GetMessageExtraInfo(); 2499 - 2500 -// #if(WINVER >= 0x0400) 2501 -extern(Windows) export LPARAM SetMessageExtraInfo( 2502 - LPARAM lParam); 2503 -// #endif /* WINVER >= 0x0400 */ 2504 - 2505 -extern(Windows) export LRESULT SendMessageA( 2506 - HWND hWnd, 2507 - UINT Msg, 2508 - WPARAM wParam, 2509 - LPARAM lParam); 2510 -extern(Windows) export LRESULT SendMessageW( 2511 - HWND hWnd, 2512 - UINT Msg, 2513 - WPARAM wParam, 2514 - LPARAM lParam); 2515 -// #ifdef UNICODE 2516 -// #... 2517 -// #else 2518 -alias SendMessageA SendMessage; 2519 -// #endif // !UNICODE 2520 - 2521 -extern(Windows) export LRESULT SendMessageTimeoutA( 2522 - HWND hWnd, 2523 - UINT Msg, 2524 - WPARAM wParam, 2525 - LPARAM lParam, 2526 - UINT fuFlags, 2527 - UINT uTimeout, 2528 - PDWORD_PTR lpdwResult); 2529 -extern(Windows) export LRESULT SendMessageTimeoutW( 2530 - HWND hWnd, 2531 - UINT Msg, 2532 - WPARAM wParam, 2533 - LPARAM lParam, 2534 - UINT fuFlags, 2535 - UINT uTimeout, 2536 - PDWORD_PTR lpdwResult); 2537 -// #ifdef UNICODE 2538 -// #... 2539 -// #else 2540 -alias SendMessageTimeoutA SendMessageTimeout; 2541 -// #endif // !UNICODE 2542 - 2543 -extern(Windows) export BOOL SendNotifyMessageA( 2544 - HWND hWnd, 2545 - UINT Msg, 2546 - WPARAM wParam, 2547 - LPARAM lParam); 2548 -extern(Windows) export BOOL SendNotifyMessageW( 2549 - HWND hWnd, 2550 - UINT Msg, 2551 - WPARAM wParam, 2552 - LPARAM lParam); 2553 -// #ifdef UNICODE 2554 -// #... 2555 -// #else 2556 -alias SendNotifyMessageA SendNotifyMessage; 2557 -// #endif // !UNICODE 2558 - 2559 -extern(Windows) export BOOL SendMessageCallbackA( 2560 - HWND hWnd, 2561 - UINT Msg, 2562 - WPARAM wParam, 2563 - LPARAM lParam, 2564 - SENDASYNCPROC lpResultCallBack, 2565 - ULONG_PTR dwData); 2566 -extern(Windows) export BOOL SendMessageCallbackW( 2567 - HWND hWnd, 2568 - UINT Msg, 2569 - WPARAM wParam, 2570 - LPARAM lParam, 2571 - SENDASYNCPROC lpResultCallBack, 2572 - ULONG_PTR dwData); 2573 -// #ifdef UNICODE 2574 -// #... 2575 -// #else 2576 -alias SendMessageCallbackA SendMessageCallback; 2577 -// #endif // !UNICODE 2578 - 2579 -// #if(_WIN32_WINNT >= 0x0501) 2580 -struct _0 { 2581 - UINT cbSize; 2582 - HDESK hdesk; 2583 - HWND hwnd; 2584 - LUID luid; 2585 -} 2586 -alias _0 BSMINFO; 2587 -alias _0* PBSMINFO; 2588 - 2589 -extern(Windows) export int BroadcastSystemMessageExA( 2590 - DWORD, 2591 - LPDWORD, 2592 - UINT, 2593 - WPARAM, 2594 - LPARAM, 2595 - PBSMINFO); 2596 -extern(Windows) export int BroadcastSystemMessageExW( 2597 - DWORD, 2598 - LPDWORD, 2599 - UINT, 2600 - WPARAM, 2601 - LPARAM, 2602 - PBSMINFO); 2603 -// #ifdef UNICODE 2604 -// #... 2605 -// #else 2606 -alias BroadcastSystemMessageExA BroadcastSystemMessageEx; 2607 -// #endif // !UNICODE 2608 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2609 - 2610 -// #if(WINVER >= 0x0400) 2611 - 2612 -// #if defined(_WIN32_WINNT) 2613 -extern(Windows) export int BroadcastSystemMessageA( 2614 - DWORD, 2615 - LPDWORD, 2616 - UINT, 2617 - WPARAM, 2618 - LPARAM); 2619 -extern(Windows) export int BroadcastSystemMessageW( 2620 - DWORD, 2621 - LPDWORD, 2622 - UINT, 2623 - WPARAM, 2624 - LPARAM); 2625 -// #ifdef UNICODE 2626 -// #... 2627 -// #else 2628 -alias BroadcastSystemMessageA BroadcastSystemMessage; 2629 -// #endif // !UNICODE 2630 -// #elif defined(_WIN32_WINDOWS) 2631 - 2632 -// ... 2633 - 2634 -// #endif 2635 - 2636 -enum : uint { BSM_ALLCOMPONENTS = 0x00000000 } 2637 -enum : uint { BSM_VXDS = 0x00000001 } 2638 -enum : uint { BSM_NETDRIVER = 0x00000002 } 2639 -enum : uint { BSM_INSTALLABLEDRIVERS = 0x00000004 } 2640 -enum : uint { BSM_APPLICATIONS = 0x00000008 } 2641 -enum : uint { BSM_ALLDESKTOPS = 0x00000010 } 2642 - 2643 -enum : uint { BSF_QUERY = 0x00000001 } 2644 -enum : uint { BSF_IGNORECURRENTTASK = 0x00000002 } 2645 -enum : uint { BSF_FLUSHDISK = 0x00000004 } 2646 -enum : uint { BSF_NOHANG = 0x00000008 } 2647 -enum : uint { BSF_POSTMESSAGE = 0x00000010 } 2648 -enum : uint { BSF_FORCEIFHUNG = 0x00000020 } 2649 -enum : uint { BSF_NOTIMEOUTIFNOTHUNG = 0x00000040 } 2650 -// #if(_WIN32_WINNT >= 0x0500) 2651 -enum : uint { BSF_ALLOWSFW = 0x00000080 } 2652 -enum : uint { BSF_SENDNOTIFYMESSAGE = 0x00000100 } 2653 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2654 -// #if(_WIN32_WINNT >= 0x0501) 2655 -enum : uint { BSF_RETURNHDESK = 0x00000200 } 2656 -enum : uint { BSF_LUID = 0x00000400 } 2657 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2658 - 2659 -enum : uint { BROADCAST_QUERY_DENY = 0x424D5144 } 2660 -// #endif /* WINVER >= 0x0400 */ 2661 - 2662 -// #if(WINVER >= 0x0500) 2663 -alias PVOID HDEVNOTIFY; 2664 -alias HDEVNOTIFY* PHDEVNOTIFY; 2665 - 2666 -enum : uint { DEVICE_NOTIFY_WINDOW_HANDLE = 0x00000000 } 2667 -enum : uint { DEVICE_NOTIFY_SERVICE_HANDLE = 0x00000001 } 2668 -// #if(_WIN32_WINNT >= 0x0501) 2669 -enum : uint { DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = 0x00000004 } 2670 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2671 - 2672 -extern(Windows) export HDEVNOTIFY RegisterDeviceNotificationA( 2673 - HANDLE hRecipient, 2674 - LPVOID NotificationFilter, 2675 - DWORD Flags); 2676 -extern(Windows) export HDEVNOTIFY RegisterDeviceNotificationW( 2677 - HANDLE hRecipient, 2678 - LPVOID NotificationFilter, 2679 - DWORD Flags); 2680 -// #ifdef UNICODE 2681 -// #... 2682 -// #else 2683 -alias RegisterDeviceNotificationA RegisterDeviceNotification; 2684 -// #endif // !UNICODE 2685 - 2686 -extern(Windows) export BOOL UnregisterDeviceNotification( 2687 - HDEVNOTIFY Handle); 2688 -// #endif /* WINVER >= 0x0500 */ 2689 - 2690 -extern(Windows) export BOOL PostMessageA( 2691 - HWND hWnd, 2692 - UINT Msg, 2693 - WPARAM wParam, 2694 - LPARAM lParam); 2695 -extern(Windows) export BOOL PostMessageW( 2696 - HWND hWnd, 2697 - UINT Msg, 2698 - WPARAM wParam, 2699 - LPARAM lParam); 2700 -// #ifdef UNICODE 2701 -// #... 2702 -// #else 2703 -alias PostMessageA PostMessage; 2704 -// #endif // !UNICODE 2705 - 2706 -extern(Windows) export BOOL PostThreadMessageA( 2707 - DWORD idThread, 2708 - UINT Msg, 2709 - WPARAM wParam, 2710 - LPARAM lParam); 2711 -extern(Windows) export BOOL PostThreadMessageW( 2712 - DWORD idThread, 2713 - UINT Msg, 2714 - WPARAM wParam, 2715 - LPARAM lParam); 2716 -// #ifdef UNICODE 2717 -// #... 2718 -// #else 2719 -alias PostThreadMessageA PostThreadMessage; 2720 -// #endif // !UNICODE 2721 - 2722 -alias PostThreadMessageA PostAppMessageA; 2723 -alias PostThreadMessageW PostAppMessageW; 2724 -// #ifdef UNICODE 2725 -// #... 2726 -// #else 2727 -alias PostAppMessageA PostAppMessage; 2728 -// #endif // !UNICODE 2729 - 2730 -const HWND HWND_BROADCAST = cast(HWND)0xffff; 2731 - 2732 -// #if(WINVER >= 0x0500) 2733 -const HWND HWND_MESSAGE = cast(HWND)-3; 2734 -// #endif /* WINVER >= 0x0500 */ 2735 - 2736 -extern(Windows) export BOOL AttachThreadInput( 2737 - DWORD idAttach, 2738 - DWORD idAttachTo, 2739 - BOOL fAttach); 2740 - 2741 -extern(Windows) export BOOL ReplyMessage( 2742 - LRESULT lResult); 2743 - 2744 -extern(Windows) export BOOL WaitMessage(); 2745 - 2746 -extern(Windows) export DWORD WaitForInputIdle( 2747 - HANDLE hProcess, 2748 - DWORD dwMilliseconds); 2749 - 2750 -extern(Windows) export LRESULT DefWindowProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2751 -extern(Windows) export LRESULT DefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2752 -// #ifdef UNICODE 2753 -// #... 2754 -// #else 2755 -alias DefWindowProcA DefWindowProc; 2756 -// #endif // !UNICODE 2757 - 2758 -extern(Windows) export VOID PostQuitMessage( 2759 - int nExitCode); 2760 - 2761 -// #ifdef STRICT 2762 - 2763 -extern(Windows) export LRESULT CallWindowProcA( 2764 - WNDPROC lpPrevWndFunc, 2765 - HWND hWnd, 2766 - UINT Msg, 2767 - WPARAM wParam, 2768 - LPARAM lParam); 2769 -extern(Windows) export LRESULT CallWindowProcW( 2770 - WNDPROC lpPrevWndFunc, 2771 - HWND hWnd, 2772 - UINT Msg, 2773 - WPARAM wParam, 2774 - LPARAM lParam); 2775 -// #ifdef UNICODE 2776 -// #... 2777 -// #else 2778 -alias CallWindowProcA CallWindowProc; 2779 -// #endif // !UNICODE 2780 - 2781 -// #else /* !STRICT */ 2782 - 2783 -// ... 2784 -// #ifdef UNICODE 2785 -// #... 2786 -// #else 2787 -// #... 2788 -// #endif // !UNICODE 2789 - 2790 -// #endif /* !STRICT */ 2791 - 2792 -extern(Windows) export BOOL InSendMessage(); 2793 - 2794 -// #if(WINVER >= 0x0500) 2795 -extern(Windows) export DWORD InSendMessageEx( 2796 - LPVOID lpReserved); 2797 - 2798 -enum : uint { ISMEX_NOSEND = 0x00000000 } 2799 -enum : uint { ISMEX_SEND = 0x00000001 } 2800 -enum : uint { ISMEX_NOTIFY = 0x00000002 } 2801 -enum : uint { ISMEX_CALLBACK = 0x00000004 } 2802 -enum : uint { ISMEX_REPLIED = 0x00000008 } 2803 -// #endif /* WINVER >= 0x0500 */ 2804 - 2805 -extern(Windows) export UINT GetDoubleClickTime(); 2806 - 2807 -extern(Windows) export BOOL SetDoubleClickTime( 2808 - UINT); 2809 - 2810 -extern(Windows) export ATOM RegisterClassA( 2811 - WNDCLASSA *lpWndClass); 2812 -extern(Windows) export ATOM RegisterClassW( 2813 - WNDCLASSW *lpWndClass); 2814 -// #ifdef UNICODE 2815 -// #... 2816 -// #else 2817 -alias RegisterClassA RegisterClass; 2818 -// #endif // !UNICODE 2819 - 2820 -extern(Windows) export BOOL UnregisterClassA( 2821 - LPCSTR lpClassName, 2822 - HINSTANCE hInstance); 2823 -extern(Windows) export BOOL UnregisterClassW( 2824 - LPCWSTR lpClassName, 2825 - HINSTANCE hInstance); 2826 -// #ifdef UNICODE 2827 -// #... 2828 -// #else 2829 -alias UnregisterClassA UnregisterClass; 2830 -// #endif // !UNICODE 2831 - 2832 -extern(Windows) export BOOL GetClassInfoA( 2833 - HINSTANCE hInstance, 2834 - LPCSTR lpClassName, 2835 - LPWNDCLASSA lpWndClass); 2836 -extern(Windows) export BOOL GetClassInfoW( 2837 - HINSTANCE hInstance, 2838 - LPCWSTR lpClassName, 2839 - LPWNDCLASSW lpWndClass); 2840 -// #ifdef UNICODE 2841 -// #... 2842 -// #else 2843 -alias GetClassInfoA GetClassInfo; 2844 -// #endif // !UNICODE 2845 - 2846 -// #if(WINVER >= 0x0400) 2847 -extern(Windows) export ATOM RegisterClassExA( 2848 - WNDCLASSEXA *); 2849 -extern(Windows) export ATOM RegisterClassExW( 2850 - WNDCLASSEXW *); 2851 -// #ifdef UNICODE 2852 -// #... 2853 -// #else 2854 -alias RegisterClassExA RegisterClassEx; 2855 -// #endif // !UNICODE 2856 - 2857 -extern(Windows) export BOOL GetClassInfoExA( 2858 - HINSTANCE, 2859 - LPCSTR, 2860 - LPWNDCLASSEXA); 2861 -extern(Windows) export BOOL GetClassInfoExW( 2862 - HINSTANCE, 2863 - LPCWSTR, 2864 - LPWNDCLASSEXW); 2865 -// #ifdef UNICODE 2866 -// #... 2867 -// #else 2868 -alias GetClassInfoExA GetClassInfoEx; 2869 -// #endif // !UNICODE 2870 - 2871 -// #endif /* WINVER >= 0x0400 */ 2872 - 2873 -enum { CW_USEDEFAULT = int.min } 2874 - 2875 -const HWND HWND_DESKTOP = cast(HWND)0; 2876 - 2877 -// #if(_WIN32_WINNT >= 0x0501) 2878 -extern(Windows) alias BOOLEAN function(LPCWSTR) PREGISTERCLASSNAMEW; 2879 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2880 - 2881 -extern(Windows) export HWND CreateWindowExA( 2882 - DWORD dwExStyle, 2883 - LPCSTR lpClassName, 2884 - LPCSTR lpWindowName, 2885 - DWORD dwStyle, 2886 - int X, 2887 - int Y, 2888 - int nWidth, 2889 - int nHeight, 2890 - HWND hWndParent, 2891 - HMENU hMenu, 2892 - HINSTANCE hInstance, 2893 - LPVOID lpParam); 2894 -extern(Windows) export HWND CreateWindowExW( 2895 - DWORD dwExStyle, 2896 - LPCWSTR lpClassName, 2897 - LPCWSTR lpWindowName, 2898 - DWORD dwStyle, 2899 - int X, 2900 - int Y, 2901 - int nWidth, 2902 - int nHeight, 2903 - HWND hWndParent, 2904 - HMENU hMenu, 2905 - HINSTANCE hInstance, 2906 - LPVOID lpParam); 2907 -// #ifdef UNICODE 2908 -// #... 2909 -// #else 2910 -alias CreateWindowExA CreateWindowEx; 2911 -// #endif // !UNICODE 2912 - 2913 -HWND CreateWindowA(LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam){ return CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); } 2914 -HWND CreateWindowW(LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam){ return CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); } 2915 -// #ifdef UNICODE 2916 -// #... 2917 -// #else 2918 -alias CreateWindowA CreateWindow; 2919 -// #endif // !UNICODE 2920 - 2921 -extern(Windows) export BOOL IsWindow( 2922 - HWND hWnd); 2923 - 2924 -extern(Windows) export BOOL IsMenu( 2925 - HMENU hMenu); 2926 - 2927 -extern(Windows) export BOOL IsChild( 2928 - HWND hWndParent, 2929 - HWND hWnd); 2930 - 2931 -extern(Windows) export BOOL DestroyWindow( 2932 - HWND hWnd); 2933 - 2934 -extern(Windows) export BOOL ShowWindow( 2935 - HWND hWnd, 2936 - int nCmdShow); 2937 - 2938 -// #if(WINVER >= 0x0500) 2939 -extern(Windows) export BOOL AnimateWindow( 2940 - HWND hWnd, 2941 - DWORD dwTime, 2942 - DWORD dwFlags); 2943 -// #endif /* WINVER >= 0x0500 */ 2944 - 2945 -// #if(_WIN32_WINNT >= 0x0500) 2946 -// #if defined(_WINGDI_) && !defined (NOGDI) 2947 - 2948 -// ... 2949 -// #endif 2950 - 2951 -// #if(_WIN32_WINNT >= 0x0501) 2952 -extern(Windows) export BOOL GetLayeredWindowAttributes( 2953 - HWND hwnd, 2954 - COLORREF *pcrKey, 2955 - BYTE *pbAlpha, 2956 - DWORD *pdwFlags); 2957 - 2958 -enum : uint { PW_CLIENTONLY = 0x00000001 } 2959 - 2960 -extern(Windows) export BOOL PrintWindow( 2961 - HWND hwnd, 2962 - HDC hdcBlt, 2963 - UINT nFlags); 2964 - 2965 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2966 - 2967 -extern(Windows) export BOOL SetLayeredWindowAttributes( 2968 - HWND hwnd, 2969 - COLORREF crKey, 2970 - BYTE bAlpha, 2971 - DWORD dwFlags); 2972 - 2973 -enum : uint { LWA_COLORKEY = 0x00000001 } 2974 -enum : uint { LWA_ALPHA = 0x00000002 } 2975 - 2976 -enum : uint { ULW_COLORKEY = 0x00000001 } 2977 -enum : uint { ULW_ALPHA = 0x00000002 } 2978 -enum : uint { ULW_OPAQUE = 0x00000004 } 2979 - 2980 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2981 - 2982 -// #if(WINVER >= 0x0400) 2983 -extern(Windows) export BOOL ShowWindowAsync( 2984 - HWND hWnd, 2985 - int nCmdShow); 2986 -// #endif /* WINVER >= 0x0400 */ 2987 - 2988 -extern(Windows) export BOOL FlashWindow( 2989 - HWND hWnd, 2990 - BOOL bInvert); 2991 - 2992 -// #if(WINVER >= 0x0500) 2993 -struct _1 { 2994 - UINT cbSize; 2995 - HWND hwnd; 2996 - DWORD dwFlags; 2997 - UINT uCount; 2998 - DWORD dwTimeout; 2999 -} 3000 -alias _1 FLASHWINFO; 3001 -alias _1* PFLASHWINFO; 3002 - 3003 -extern(Windows) export BOOL FlashWindowEx( 3004 - PFLASHWINFO pfwi); 3005 - 3006 -enum : uint { FLASHW_STOP = 0 } 3007 -enum : uint { FLASHW_CAPTION = 0x00000001 } 3008 -enum : uint { FLASHW_TRAY = 0x00000002 } 3009 -enum : uint { FLASHW_ALL = FLASHW_CAPTION | FLASHW_TRAY } 3010 -enum : uint { FLASHW_TIMER = 0x00000004 } 3011 -enum : uint { FLASHW_TIMERNOFG = 0x0000000C } 3012 - 3013 -// #endif /* WINVER >= 0x0500 */ 3014 - 3015 -extern(Windows) export BOOL ShowOwnedPopups( 3016 - HWND hWnd, 3017 - BOOL fShow); 3018 - 3019 -extern(Windows) export BOOL OpenIcon( 3020 - HWND hWnd); 3021 - 3022 -extern(Windows) export BOOL CloseWindow( 3023 - HWND hWnd); 3024 - 3025 -extern(Windows) export BOOL MoveWindow( 3026 - HWND hWnd, 3027 - int X, 3028 - int Y, 3029 - int nWidth, 3030 - int nHeight, 3031 - BOOL bRepaint); 3032 - 3033 -extern(Windows) export BOOL SetWindowPos( 3034 - HWND hWnd, 3035 - HWND hWndInsertAfter, 3036 - int X, 3037 - int Y, 3038 - int cx, 3039 - int cy, 3040 - UINT uFlags); 3041 - 3042 -extern(Windows) export BOOL GetWindowPlacement( 3043 - HWND hWnd, 3044 - WINDOWPLACEMENT *lpwndpl); 3045 - 3046 -extern(Windows) export BOOL SetWindowPlacement( 3047 - HWND hWnd, 3048 - WINDOWPLACEMENT *lpwndpl); 3049 - 3050 -// #ifndef NODEFERWINDOWPOS 3051 - 3052 -extern(Windows) export HDWP BeginDeferWindowPos( 3053 - int nNumWindows); 3054 - 3055 -extern(Windows) export HDWP DeferWindowPos( 3056 - HDWP hWinPosInfo, 3057 - HWND hWnd, 3058 - HWND hWndInsertAfter, 3059 - int x, 3060 - int y, 3061 - int cx, 3062 - int cy, 3063 - UINT uFlags); 3064 - 3065 -extern(Windows) export BOOL EndDeferWindowPos( 3066 - HDWP hWinPosInfo); 3067 - 3068 -// #endif /* !NODEFERWINDOWPOS */ 3069 - 3070 -extern(Windows) export BOOL IsWindowVisible( 3071 - HWND hWnd); 3072 - 3073 -extern(Windows) export BOOL IsIconic( 3074 - HWND hWnd); 3075 - 3076 -extern(Windows) export BOOL AnyPopup(); 3077 - 3078 -extern(Windows) export BOOL BringWindowToTop( 3079 - HWND hWnd); 3080 - 3081 -extern(Windows) export BOOL IsZoomed( 3082 - HWND hWnd); 3083 - 3084 -enum : uint { SWP_NOSIZE = 0x0001 } 3085 -enum : uint { SWP_NOMOVE = 0x0002 } 3086 -enum : uint { SWP_NOZORDER = 0x0004 } 3087 -enum : uint { SWP_NOREDRAW = 0x0008 } 3088 -enum : uint { SWP_NOACTIVATE = 0x0010 } 3089 -enum : uint { SWP_FRAMECHANGED = 0x0020 } 3090 -enum : uint { SWP_SHOWWINDOW = 0x0040 } 3091 -enum : uint { SWP_HIDEWINDOW = 0x0080 } 3092 -enum : uint { SWP_NOCOPYBITS = 0x0100 } 3093 -enum : uint { SWP_NOOWNERZORDER = 0x0200 } 3094 -enum : uint { SWP_NOSENDCHANGING = 0x0400 } 3095 - 3096 -alias SWP_FRAMECHANGED SWP_DRAWFRAME; 3097 -alias SWP_NOOWNERZORDER SWP_NOREPOSITION; 3098 - 3099 -// #if(WINVER >= 0x0400) 3100 -enum : uint { SWP_DEFERERASE = 0x2000 } 3101 -enum : uint { SWP_ASYNCWINDOWPOS = 0x4000 } 3102 -// #endif /* WINVER >= 0x0400 */ 3103 - 3104 -const HWND HWND_TOP = cast(HWND)0; 3105 -const HWND HWND_BOTTOM = cast(HWND)1; 3106 -const HWND HWND_TOPMOST = cast(HWND)-1; 3107 -const HWND HWND_NOTOPMOST = cast(HWND)-2; 3108 - 3109 -// #ifndef NOCTLMGR 3110 - 3111 -align(2): 3112 - 3113 -struct _2 { 3114 - DWORD style; 3115 - DWORD dwExtendedStyle; 3116 - WORD cdit; 3117 - short x; 3118 - short y; 3119 - short cx; 3120 - short cy; 3121 -} 3122 -alias _2 DLGTEMPLATE; 3123 - 3124 -alias DLGTEMPLATE* LPDLGTEMPLATEA; 3125 -alias DLGTEMPLATE* LPDLGTEMPLATEW; 3126 -// #ifdef UNICODE 3127 -// ... 3128 -// #else 3129 -alias LPDLGTEMPLATEA LPDLGTEMPLATE; 3130 -// #endif // UNICODE 3131 -alias DLGTEMPLATE* LPCDLGTEMPLATEA; 3132 -alias DLGTEMPLATE* LPCDLGTEMPLATEW; 3133 -// #ifdef UNICODE 3134 -// ... 3135 -// #else 3136 -alias LPCDLGTEMPLATEA LPCDLGTEMPLATE; 3137 -// #endif // UNICODE 3138 - 3139 -struct _3 { 3140 - DWORD style; 3141 - DWORD dwExtendedStyle; 3142 - short x; 3143 - short y; 3144 - short cx; 3145 - short cy; 3146 - WORD id; 3147 -} 3148 -alias _3 DLGITEMTEMPLATE; 3149 - 3150 -alias DLGITEMTEMPLATE* PDLGITEMTEMPLATEA; 3151 -alias DLGITEMTEMPLATE* PDLGITEMTEMPLATEW; 3152 -// #ifdef UNICODE 3153 -// ... 3154 -// #else 3155 -alias PDLGITEMTEMPLATEA PDLGITEMTEMPLATE; 3156 -// #endif // UNICODE 3157 -alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATEA; 3158 -alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATEW; 3159 -// #ifdef UNICODE 3160 -// ... 3161 -// #else 3162 -alias LPDLGITEMTEMPLATEA LPDLGITEMTEMPLATE; 3163 -// #endif // UNICODE 3164 - 3165 -align: 3166 - 3167 -extern(Windows) export HWND CreateDialogParamA( 3168 - HINSTANCE hInstance, 3169 - LPCSTR lpTemplateName, 3170 - HWND hWndParent, 3171 - DLGPROC lpDialogFunc, 3172 - LPARAM dwInitParam); 3173 -extern(Windows) export HWND CreateDialogParamW( 3174 - HINSTANCE hInstance, 3175 - LPCWSTR lpTemplateName, 3176 - HWND hWndParent, 3177 - DLGPROC lpDialogFunc, 3178 - LPARAM dwInitParam); 3179 -// #ifdef UNICODE 3180 -// #... 3181 -// #else 3182 -alias CreateDialogParamA CreateDialogParam; 3183 -// #endif // !UNICODE 3184 - 3185 -extern(Windows) export HWND CreateDialogIndirectParamA( 3186 - HINSTANCE hInstance, 3187 - LPCDLGTEMPLATEA lpTemplate, 3188 - HWND hWndParent, 3189 - DLGPROC lpDialogFunc, 3190 - LPARAM dwInitParam); 3191 -extern(Windows) export HWND CreateDialogIndirectParamW( 3192 - HINSTANCE hInstance, 3193 - LPCDLGTEMPLATEW lpTemplate, 3194 - HWND hWndParent, 3195 - DLGPROC lpDialogFunc, 3196 - LPARAM dwInitParam); 3197 -// #ifdef UNICODE 3198 -// #... 3199 -// #else 3200 -alias CreateDialogIndirectParamA CreateDialogIndirectParam; 3201 -// #endif // !UNICODE 3202 - 3203 -HWND CreateDialogA(HINSTANCE hInstance, LPCSTR lpName, HWND hWndParent, DLGPROC lpDialogFunc){ return CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L); } 3204 -HWND CreateDialogW(HINSTANCE hInstance, LPCWSTR lpName, HWND hWndParent, DLGPROC lpDialogFunc){ return CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L); } 3205 -// #ifdef UNICODE 3206 -// #... 3207 -// #else 3208 -alias CreateDialogA CreateDialog; 3209 -// #endif // !UNICODE 3210 - 3211 -HWND CreateDialogIndirectA(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc){ return CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L); } 3212 -HWND CreateDialogIndirectW(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc){ return CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L); } 3213 -// #ifdef UNICODE 3214 -// #... 3215 -// #else 3216 -alias CreateDialogIndirectA CreateDialogIndirect; 3217 -// #endif // !UNICODE 3218 - 3219 -extern(Windows) export INT_PTR DialogBoxParamA( 3220 - HINSTANCE hInstance, 3221 - LPCSTR lpTemplateName, 3222 - HWND hWndParent, 3223 - DLGPROC lpDialogFunc, 3224 - LPARAM dwInitParam); 3225 -extern(Windows) export INT_PTR DialogBoxParamW( 3226 - HINSTANCE hInstance, 3227 - LPCWSTR lpTemplateName, 3228 - HWND hWndParent, 3229 - DLGPROC lpDialogFunc, 3230 - LPARAM dwInitParam); 3231 -// #ifdef UNICODE 3232 -// #... 3233 -// #else 3234 -alias DialogBoxParamA DialogBoxParam; 3235 -// #endif // !UNICODE 3236 - 3237 -extern(Windows) export INT_PTR DialogBoxIndirectParamA( 3238 - HINSTANCE hInstance, 3239 - LPCDLGTEMPLATEA hDialogTemplate, 3240 - HWND hWndParent, 3241 - DLGPROC lpDialogFunc, 3242 - LPARAM dwInitParam); 3243 -extern(Windows) export INT_PTR DialogBoxIndirectParamW( 3244 - HINSTANCE hInstance, 3245 - LPCDLGTEMPLATEW hDialogTemplate, 3246 - HWND hWndParent, 3247 - DLGPROC lpDialogFunc, 3248 - LPARAM dwInitParam); 3249 -// #ifdef UNICODE 3250 -// #... 3251 -// #else 3252 -alias DialogBoxIndirectParamA DialogBoxIndirectParam; 3253 -// #endif // !UNICODE 3254 - 3255 -// #define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) 3256 -// #define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) 3257 -// #ifdef UNICODE 3258 -// #... 3259 -// #else 3260 -// #define DialogBox DialogBoxA 3261 -// #endif // !UNICODE 3262 - 3263 -// #define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) 3264 -// #define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) 3265 -// #ifdef UNICODE 3266 -// #... 3267 -// #else 3268 -// #define DialogBoxIndirect DialogBoxIndirectA 3269 -// #endif // !UNICODE 3270 - 3271 -extern(Windows) export BOOL EndDialog( 3272 - HWND hDlg, 3273 - INT_PTR nResult); 3274 - 3275 -extern(Windows) export HWND GetDlgItem( 3276 - HWND hDlg, 3277 - int nIDDlgItem); 3278 - 3279 -extern(Windows) export BOOL SetDlgItemInt( 3280 - HWND hDlg, 3281 - int nIDDlgItem, 3282 - UINT uValue, 3283 - BOOL bSigned); 3284 - 3285 -extern(Windows) export UINT GetDlgItemInt( 3286 - HWND hDlg, 3287 - int nIDDlgItem, 3288 - BOOL *lpTranslated, 3289 - BOOL bSigned); 3290 - 3291 -extern(Windows) export BOOL SetDlgItemTextA( 3292 - HWND hDlg, 3293 - int nIDDlgItem, 3294 - LPCSTR lpString); 3295 -extern(Windows) export BOOL SetDlgItemTextW( 3296 - HWND hDlg, 3297 - int nIDDlgItem, 3298 - LPCWSTR lpString); 3299 -// #ifdef UNICODE 3300 -// #... 3301 -// #else 3302 -alias SetDlgItemTextA SetDlgItemText; 3303 -// #endif // !UNICODE 3304 - 3305 -extern(Windows) export UINT GetDlgItemTextA( 3306 - HWND hDlg, 3307 - int nIDDlgItem, 3308 - LPSTR lpString, 3309 - int nMaxCount); 3310 -extern(Windows) export UINT GetDlgItemTextW( 3311 - HWND hDlg, 3312 - int nIDDlgItem, 3313 - LPWSTR lpString, 3314 - int nMaxCount); 3315 -// #ifdef UNICODE 3316 -// #... 3317 -// #else 3318 -alias GetDlgItemTextA GetDlgItemText; 3319 -// #endif // !UNICODE 3320 - 3321 -extern(Windows) export BOOL CheckDlgButton( 3322 - HWND hDlg, 3323 - int nIDButton, 3324 - UINT uCheck); 3325 - 3326 -extern(Windows) export BOOL CheckRadioButton( 3327 - HWND hDlg, 3328 - int nIDFirstButton, 3329 - int nIDLastButton, 3330 - int nIDCheckButton); 3331 - 3332 -extern(Windows) export UINT IsDlgButtonChecked( 3333 - HWND hDlg, 3334 - int nIDButton); 3335 - 3336 -extern(Windows) export LRESULT SendDlgItemMessageA( 3337 - HWND hDlg, 3338 - int nIDDlgItem, 3339 - UINT Msg, 3340 - WPARAM wParam, 3341 - LPARAM lParam); 3342 -extern(Windows) export LRESULT SendDlgItemMessageW( 3343 - HWND hDlg, 3344 - int nIDDlgItem, 3345 - UINT Msg, 3346 - WPARAM wParam, 3347 - LPARAM lParam); 3348 -// #ifdef UNICODE 3349 -// #... 3350 -// #else 3351 -alias SendDlgItemMessageA SendDlgItemMessage; 3352 -// #endif // !UNICODE 3353 - 3354 -extern(Windows) export HWND GetNextDlgGroupItem( 3355 - HWND hDlg, 3356 - HWND hCtl, 3357 - BOOL bPrevious); 3358 - 3359 -extern(Windows) export HWND GetNextDlgTabItem( 3360 - HWND hDlg, 3361 - HWND hCtl, 3362 - BOOL bPrevious); 3363 - 3364 -extern(Windows) export int GetDlgCtrlID( 3365 - HWND hWnd); 3366 - 3367 -extern(Windows) export int GetDialogBaseUnits(); 3368 - 3369 -extern(Windows) export LRESULT DefDlgProcA(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); 3370 -extern(Windows) export LRESULT DefDlgProcW(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); 3371 -// #ifdef UNICODE 3372 -// #... 3373 -// #else 3374 -alias DefDlgProcA DefDlgProc; 3375 -// #endif // !UNICODE 3376 - 3377 -// #ifndef _MAC 3378 -enum : uint { DLGWINDOWEXTRA = 30 } 3379 -// #else 3380 -// #... 3381 -// #endif 3382 - 3383 -// #endif /* !NOCTLMGR */ 3384 - 3385 -// #ifndef NOMSG 3386 - 3387 -extern(Windows) export BOOL CallMsgFilterA( 3388 - LPMSG lpMsg, 3389 - int nCode); 3390 -extern(Windows) export BOOL CallMsgFilterW( 3391 - LPMSG lpMsg, 3392 - int nCode); 3393 -// #ifdef UNICODE 3394 -// #... 3395 -// #else 3396 -alias CallMsgFilterA CallMsgFilter; 3397 -// #endif // !UNICODE 3398 - 3399 -// #endif /* !NOMSG */ 3400 - 3401 -// #ifndef NOCLIPBOARD 3402 - 3403 -extern(Windows) export BOOL OpenClipboard( 3404 - HWND hWndNewOwner); 3405 - 3406 -extern(Windows) export BOOL CloseClipboard(); 3407 - 3408 -// #if(WINVER >= 0x0500) 3409 - 3410 -extern(Windows) export DWORD GetClipboardSequenceNumber(); 3411 - 3412 -// #endif /* WINVER >= 0x0500 */ 3413 - 3414 -extern(Windows) export HWND GetClipboardOwner(); 3415 - 3416 -extern(Windows) export HWND SetClipboardViewer( 3417 - HWND hWndNewViewer); 3418 - 3419 -extern(Windows) export HWND GetClipboardViewer(); 3420 - 3421 -extern(Windows) export BOOL ChangeClipboardChain( 3422 - HWND hWndRemove, 3423 - HWND hWndNewNext); 3424 - 3425 -extern(Windows) export HANDLE SetClipboardData( 3426 - UINT uFormat, 3427 - HANDLE hMem); 3428 - 3429 -extern(Windows) export HANDLE GetClipboardData( 3430 - UINT uFormat); 3431 - 3432 -extern(Windows) export UINT RegisterClipboardFormatA( 3433 - LPCSTR lpszFormat); 3434 -extern(Windows) export UINT RegisterClipboardFormatW( 3435 - LPCWSTR lpszFormat); 3436 -// #ifdef UNICODE 3437 -// #... 3438 -// #else 3439 -alias RegisterClipboardFormatA RegisterClipboardFormat; 3440 -// #endif // !UNICODE 3441 - 3442 -extern(Windows) export int CountClipboardFormats(); 3443 - 3444 -extern(Windows) export UINT EnumClipboardFormats( 3445 - UINT format); 3446 - 3447 -extern(Windows) export int GetClipboardFormatNameA( 3448 - UINT format, 3449 - LPSTR lpszFormatName, 3450 - int cchMaxCount); 3451 -extern(Windows) export int GetClipboardFormatNameW( 3452 - UINT format, 3453 - LPWSTR lpszFormatName, 3454 - int cchMaxCount); 3455 -// #ifdef UNICODE 3456 -// #... 3457 -// #else 3458 -alias GetClipboardFormatNameA GetClipboardFormatName; 3459 -// #endif // !UNICODE 3460 - 3461 -extern(Windows) export BOOL EmptyClipboard(); 3462 - 3463 -extern(Windows) export BOOL IsClipboardFormatAvailable( 3464 - UINT format); 3465 - 3466 -extern(Windows) export int GetPriorityClipboardFormat( 3467 - UINT *paFormatPriorityList, 3468 - int cFormats); 3469 - 3470 -extern(Windows) export HWND GetOpenClipboardWindow(); 3471 - 3472 -// #endif /* !NOCLIPBOARD */ 3473 - 3474 -extern(Windows) export BOOL CharToOemA( 3475 - LPCSTR lpszSrc, 3476 - LPSTR lpszDst); 3477 -extern(Windows) export BOOL CharToOemW( 3478 - LPCWSTR lpszSrc, 3479 - LPSTR lpszDst); 3480 -// #ifdef UNICODE 3481 -// #... 3482 -// #else 3483 -alias CharToOemA CharToOem; 3484 -// #endif // !UNICODE 3485 - 3486 -extern(Windows) export BOOL OemToCharA( 3487 - LPCSTR lpszSrc, 3488 - LPSTR lpszDst); 3489 -extern(Windows) export BOOL OemToCharW( 3490 - LPCSTR lpszSrc, 3491 - LPWSTR lpszDst); 3492 -// #ifdef UNICODE 3493 -// #... 3494 -// #else 3495 -alias OemToCharA OemToChar; 3496 -// #endif // !UNICODE 3497 - 3498 -extern(Windows) export BOOL CharToOemBuffA( 3499 - LPCSTR lpszSrc, 3500 - LPSTR lpszDst, 3501 - DWORD cchDstLength); 3502 -extern(Windows) export BOOL CharToOemBuffW( 3503 - LPCWSTR lpszSrc, 3504 - LPSTR lpszDst, 3505 - DWORD cchDstLength); 3506 -// #ifdef UNICODE 3507 -// #... 3508 -// #else 3509 -alias CharToOemBuffA CharToOemBuff; 3510 -// #endif // !UNICODE 3511 - 3512 -extern(Windows) export BOOL OemToCharBuffA( 3513 - LPCSTR lpszSrc, 3514 - LPSTR lpszDst, 3515 - DWORD cchDstLength); 3516 -extern(Windows) export BOOL OemToCharBuffW( 3517 - LPCSTR lpszSrc, 3518 - LPWSTR lpszDst, 3519 - DWORD cchDstLength); 3520 -// #ifdef UNICODE 3521 -// #... 3522 -// #else 3523 -alias OemToCharBuffA OemToCharBuff; 3524 -// #endif // !UNICODE 3525 - 3526 -extern(Windows) export LPSTR CharUpperA( 3527 - LPSTR lpsz); 3528 -extern(Windows) export LPWSTR CharUpperW( 3529 - LPWSTR lpsz); 3530 -// #ifdef UNICODE 3531 -// #... 3532 -// #else 3533 -alias CharUpperA CharUpper; 3534 -// #endif // !UNICODE 3535 - 3536 -extern(Windows) export DWORD CharUpperBuffA( 3537 - LPSTR lpsz, 3538 - DWORD cchLength); 3539 -extern(Windows) export DWORD CharUpperBuffW( 3540 - LPWSTR lpsz, 3541 - DWORD cchLength); 3542 -// #ifdef UNICODE 3543 -// #... 3544 -// #else 3545 -alias CharUpperBuffA CharUpperBuff; 3546 -// #endif // !UNICODE 3547 - 3548 -extern(Windows) export LPSTR CharLowerA( 3549 - LPSTR lpsz); 3550 -extern(Windows) export LPWSTR CharLowerW( 3551 - LPWSTR lpsz); 3552 -// #ifdef UNICODE 3553 -// #... 3554 -// #else 3555 -alias CharLowerA CharLower; 3556 -// #endif // !UNICODE 3557 - 3558 -extern(Windows) export DWORD CharLowerBuffA( 3559 - LPSTR lpsz, 3560 - DWORD cchLength); 3561 -extern(Windows) export DWORD CharLowerBuffW( 3562 - LPWSTR lpsz, 3563 - DWORD cchLength); 3564 -// #ifdef UNICODE 3565 -// #... 3566 -// #else 3567 -alias CharLowerBuffA CharLowerBuff; 3568 -// #endif // !UNICODE 3569 - 3570 -extern(Windows) export LPSTR CharNextA( 3571 - LPCSTR lpsz); 3572 -extern(Windows) export LPWSTR CharNextW( 3573 - LPCWSTR lpsz); 3574 -// #ifdef UNICODE 3575 -// #... 3576 -// #else 3577 -alias CharNextA CharNext; 3578 -// #endif // !UNICODE 3579 - 3580 -extern(Windows) export LPSTR CharPrevA( 3581 - LPCSTR lpszStart, 3582 - LPCSTR lpszCurrent); 3583 -extern(Windows) export LPWSTR CharPrevW( 3584 - LPCWSTR lpszStart, 3585 - LPCWSTR lpszCurrent); 3586 -// #ifdef UNICODE 3587 -// #... 3588 -// #else 3589 -alias CharPrevA CharPrev; 3590 -// #endif // !UNICODE 3591 - 3592 -// #if(WINVER >= 0x0400) 3593 -extern(Windows) export LPSTR CharNextExA( 3594 - WORD CodePage, 3595 - LPCSTR lpCurrentChar, 3596 - DWORD dwFlags); 3597 - 3598 -extern(Windows) export LPSTR CharPrevExA( 3599 - WORD CodePage, 3600 - LPCSTR lpStart, 3601 - LPCSTR lpCurrentChar, 3602 - DWORD dwFlags); 3603 -// #endif /* WINVER >= 0x0400 */ 3604 - 3605 -alias CharToOemA AnsiToOem; 3606 -alias OemToCharA OemToAnsi; 3607 -alias CharToOemBuffA AnsiToOemBuff; 3608 -alias OemToCharBuffA OemToAnsiBuff; 3609 -alias CharUpperA AnsiUpper; 3610 -alias CharUpperBuffA AnsiUpperBuff; 3611 -alias CharLowerA AnsiLower; 3612 -alias CharLowerBuffA AnsiLowerBuff; 3613 -alias CharNextA AnsiNext; 3614 -alias CharPrevA AnsiPrev; 3615 - 3616 -// #ifndef NOLANGUAGE 3617 - 3618 -extern(Windows) export BOOL IsCharAlphaA( 3619 - CHAR ch); 3620 -extern(Windows) export BOOL IsCharAlphaW( 3621 - WCHAR ch); 3622 -// #ifdef UNICODE 3623 -// #... 3624 -// #else 3625 -alias IsCharAlphaA IsCharAlpha; 3626 -// #endif // !UNICODE 3627 - 3628 -extern(Windows) export BOOL IsCharAlphaNumericA( 3629 - CHAR ch); 3630 -extern(Windows) export BOOL IsCharAlphaNumericW( 3631 - WCHAR ch); 3632 -// #ifdef UNICODE 3633 -// #... 3634 -// #else 3635 -alias IsCharAlphaNumericA IsCharAlphaNumeric; 3636 -// #endif // !UNICODE 3637 - 3638 -extern(Windows) export BOOL IsCharUpperA( 3639 - CHAR ch); 3640 -extern(Windows) export BOOL IsCharUpperW( 3641 - WCHAR ch); 3642 -// #ifdef UNICODE 3643 -// #... 3644 -// #else 3645 -alias IsCharUpperA IsCharUpper; 3646 -// #endif // !UNICODE 3647 - 3648 -extern(Windows) export BOOL IsCharLowerA( 3649 - CHAR ch); 3650 -extern(Windows) export BOOL IsCharLowerW( 3651 - WCHAR ch); 3652 -// #ifdef UNICODE 3653 -// #... 3654 -// #else 3655 -alias IsCharLowerA IsCharLower; 3656 -// #endif // !UNICODE 3657 - 3658 -// #endif /* !NOLANGUAGE */ 3659 - 3660 -extern(Windows) export HWND SetFocus( 3661 - HWND hWnd); 3662 - 3663 -extern(Windows) export HWND GetActiveWindow(); 3664 - 3665 -extern(Windows) export HWND GetFocus(); 3666 - 3667 -extern(Windows) export UINT GetKBCodePage(); 3668 - 3669 -extern(Windows) export SHORT GetKeyState( 3670 - int nVirtKey); 3671 - 3672 -extern(Windows) export SHORT GetAsyncKeyState( 3673 - int vKey); 3674 - 3675 -extern(Windows) export BOOL GetKeyboardState( 3676 - PBYTE lpKeyState); 3677 - 3678 -extern(Windows) export BOOL SetKeyboardState( 3679 - LPBYTE lpKeyState); 3680 - 3681 -extern(Windows) export int GetKeyNameTextA( 3682 - LONG lParam, 3683 - LPSTR lpString, 3684 - int nSize); 3685 -extern(Windows) export int GetKeyNameTextW( 3686 - LONG lParam, 3687 - LPWSTR lpString, 3688 - int nSize); 3689 -// #ifdef UNICODE 3690 -// #... 3691 -// #else 3692 -alias GetKeyNameTextA GetKeyNameText; 3693 -// #endif // !UNICODE 3694 - 3695 -extern(Windows) export int GetKeyboardType( 3696 - int nTypeFlag); 3697 - 3698 -extern(Windows) export int ToAscii( 3699 - UINT uVirtKey, 3700 - UINT uScanCode, 3701 - BYTE *lpKeyState, 3702 - LPWORD lpChar, 3703 - UINT uFlags); 3704 - 3705 -// #if(WINVER >= 0x0400) 3706 -extern(Windows) export int ToAsciiEx( 3707 - UINT uVirtKey, 3708 - UINT uScanCode, 3709 - BYTE *lpKeyState, 3710 - LPWORD lpChar, 3711 - UINT uFlags, 3712 - HKL dwhkl); 3713 -// #endif /* WINVER >= 0x0400 */ 3714 - 3715 -extern(Windows) export int ToUnicode( 3716 - UINT wVirtKey, 3717 - UINT wScanCode, 3718 - BYTE *lpKeyState, 3719 - LPWSTR pwszBuff, 3720 - int cchBuff, 3721 - UINT wFlags); 3722 - 3723 -extern(Windows) export DWORD OemKeyScan( 3724 - WORD wOemChar); 3725 - 3726 -extern(Windows) export SHORT VkKeyScanA( 3727 - CHAR ch); 3728 -extern(Windows) export SHORT VkKeyScanW( 3729 - WCHAR ch); 3730 -// #ifdef UNICODE 3731 -// #... 3732 -// #else 3733 -alias VkKeyScanA VkKeyScan; 3734 -// #endif // !UNICODE 3735 - 3736 -// #if(WINVER >= 0x0400) 3737 -extern(Windows) export SHORT VkKeyScanExA( 3738 - CHAR ch, 3739 - HKL dwhkl); 3740 -extern(Windows) export SHORT VkKeyScanExW( 3741 - WCHAR ch, 3742 - HKL dwhkl); 3743 -// #ifdef UNICODE 3744 -// #... 3745 -// #else 3746 -alias VkKeyScanExA VkKeyScanEx; 3747 -// #endif // !UNICODE 3748 -// #endif /* WINVER >= 0x0400 */ 3749 -enum : uint { KEYEVENTF_EXTENDEDKEY = 0x0001 } 3750 -enum : uint { KEYEVENTF_KEYUP = 0x0002 } 3751 -// #if(_WIN32_WINNT >= 0x0500) 3752 -enum : uint { KEYEVENTF_UNICODE = 0x0004 } 3753 -enum : uint { KEYEVENTF_SCANCODE = 0x0008 } 3754 -// #endif /* _WIN32_WINNT >= 0x0500 */ 3755 - 3756 -extern(Windows) export VOID keybd_event( 3757 - BYTE bVk, 3758 - BYTE bScan, 3759 - DWORD dwFlags, 3760 - ULONG_PTR dwExtraInfo); 3761 - 3762 -enum : uint { MOUSEEVENTF_MOVE = 0x0001 } 3763 -enum : uint { MOUSEEVENTF_LEFTDOWN = 0x0002 } 3764 -enum : uint { MOUSEEVENTF_LEFTUP = 0x0004 } 3765 -enum : uint { MOUSEEVENTF_RIGHTDOWN = 0x0008 } 3766 -enum : uint { MOUSEEVENTF_RIGHTUP = 0x0010 } 3767 -enum : uint { MOUSEEVENTF_MIDDLEDOWN = 0x0020 } 3768 -enum : uint { MOUSEEVENTF_MIDDLEUP = 0x0040 } 3769 -enum : uint { MOUSEEVENTF_XDOWN = 0x0080 } 3770 -enum : uint { MOUSEEVENTF_XUP = 0x0100 } 3771 -enum : uint { MOUSEEVENTF_WHEEL = 0x0800 } 3772 -enum : uint { MOUSEEVENTF_VIRTUALDESK = 0x4000 } 3773 -enum : uint { MOUSEEVENTF_ABSOLUTE = 0x8000 } 3774 - 3775 -extern(Windows) export VOID mouse_event( 3776 - DWORD dwFlags, 3777 - DWORD dx, 3778 - DWORD dy, 3779 - DWORD dwData, 3780 - ULONG_PTR dwExtraInfo); 3781 - 3782 -// #if (_WIN32_WINNT > 0x0400) 3783 - 3784 -struct tagMOUSEINPUT { 3785 - LONG dx; 3786 - LONG dy; 3787 - DWORD mouseData; 3788 - DWORD dwFlags; 3789 - DWORD time; 3790 - ULONG_PTR dwExtraInfo; 3791 -} 3792 -alias tagMOUSEINPUT MOUSEINPUT; 3793 -alias tagMOUSEINPUT* PMOUSEINPUT; 3794 -alias tagMOUSEINPUT* LPMOUSEINPUT; 3795 - 3796 -struct tagKEYBDINPUT { 3797 - WORD wVk; 3798 - WORD wScan; 3799 - DWORD dwFlags; 3800 - DWORD time; 3801 - ULONG_PTR dwExtraInfo; 3802 -} 3803 -alias tagKEYBDINPUT KEYBDINPUT; 3804 -alias tagKEYBDINPUT* PKEYBDINPUT; 3805 -alias tagKEYBDINPUT* LPKEYBDINPUT; 3806 - 3807 -struct tagHARDWAREINPUT { 3808 - DWORD uMsg; 3809 - WORD wParamL; 3810 - WORD wParamH; 3811 -} 3812 -alias tagHARDWAREINPUT HARDWAREINPUT; 3813 -alias tagHARDWAREINPUT* PHARDWAREINPUT; 3814 -alias tagHARDWAREINPUT* LPHARDWAREINPUT; 3815 - 3816 -enum : uint { INPUT_MOUSE = 0 } 3817 -enum : uint { INPUT_KEYBOARD = 1 } 3818 -enum : uint { INPUT_HARDWARE = 2 } 3819 - 3820 -struct tagINPUT { 3821 - DWORD type; 3822 -union { 3823 - MOUSEINPUT mi; 3824 - KEYBDINPUT ki; 3825 - HARDWAREINPUT hi; 3826 -} 3827 - 3828 -} 3829 -alias tagINPUT INPUT; 3830 -alias tagINPUT* PINPUT; 3831 -alias tagINPUT* LPINPUT; 3832 - 3833 -extern(Windows) export UINT SendInput( 3834 - UINT cInputs, // number of input in the array 3835 - LPINPUT pInputs, // array of inputs 3836 - int cbSize); 3837 - 3838 -// #endif // (_WIN32_WINNT > 0x0400) 3839 - 3840 -// #if(_WIN32_WINNT >= 0x0500) 3841 -struct tagLASTINPUTINFO { 3842 - UINT cbSize; 3843 - DWORD dwTime; 3844 -} 3845 -alias tagLASTINPUTINFO LASTINPUTINFO; 3846 -alias tagLASTINPUTINFO* PLASTINPUTINFO; 3847 - 3848 -extern(Windows) export BOOL GetLastInputInfo( 3849 - PLASTINPUTINFO plii); 3850 -// #endif /* _WIN32_WINNT >= 0x0500 */ 3851 - 3852 -extern(Windows) export UINT MapVirtualKeyA( 3853 - UINT uCode, 3854 - UINT uMapType); 3855 -extern(Windows) export UINT MapVirtualKeyW( 3856 - UINT uCode, 3857 - UINT uMapType); 3858 -// #ifdef UNICODE 3859 -// #... 3860 -// #else 3861 -alias MapVirtualKeyA MapVirtualKey; 3862 -// #endif // !UNICODE 3863 - 3864 -// #if(WINVER >= 0x0400) 3865 -extern(Windows) export UINT MapVirtualKeyExA( 3866 - UINT uCode, 3867 - UINT uMapType, 3868 - HKL dwhkl); 3869 -extern(Windows) export UINT MapVirtualKeyExW( 3870 - UINT uCode, 3871 - UINT uMapType, 3872 - HKL dwhkl); 3873 -// #ifdef UNICODE 3874 -// #... 3875 -// #else 3876 -alias MapVirtualKeyExA MapVirtualKeyEx; 3877 -// #endif // !UNICODE 3878 -// #endif /* WINVER >= 0x0400 */ 3879 - 3880 -extern(Windows) export BOOL GetInputState(); 3881 - 3882 -extern(Windows) export DWORD GetQueueStatus( 3883 - UINT flags); 3884 - 3885 -extern(Windows) export HWND GetCapture(); 3886 - 3887 -extern(Windows) export HWND SetCapture( 3888 - HWND hWnd); 3889 - 3890 -extern(Windows) export BOOL ReleaseCapture(); 3891 - 3892 -extern(Windows) export DWORD MsgWaitForMultipleObjects( 3893 - DWORD nCount, 3894 - HANDLE *pHandles, 3895 - BOOL fWaitAll, 3896 - DWORD dwMilliseconds, 3897 - DWORD dwWakeMask); 3898 - 3899 -extern(Windows) export DWORD MsgWaitForMultipleObjectsEx( 3900 - DWORD nCount, 3901 - HANDLE *pHandles, 3902 - DWORD dwMilliseconds, 3903 - DWORD dwWakeMask, 3904 - DWORD dwFlags); 3905 - 3906 -enum : uint { MWMO_WAITALL = 0x0001 } 3907 -enum : uint { MWMO_ALERTABLE = 0x0002 } 3908 -enum : uint { MWMO_INPUTAVAILABLE = 0x0004 } 3909 - 3910 -enum : uint { QS_KEY = 0x0001 } 3911 -enum : uint { QS_MOUSEMOVE = 0x0002 } 3912 -enum : uint { QS_MOUSEBUTTON = 0x0004 } 3913 -// #define QS_POSTMESSAGE 0x0008 3914 -// #define QS_TIMER 0x0010 3915 -// #define QS_PAINT 0x0020 3916 -// #define QS_SENDMESSAGE 0x0040 3917 -// #define QS_HOTKEY 0x0080 3918 -enum : uint { QS_ALLPOSTMESSAGE = 0x0100 } 3919 -// #if(_WIN32_WINNT >= 0x0501) 3920 -enum : uint { QS_RAWINPUT = 0x0400 } 3921 -// #endif /* _WIN32_WINNT >= 0x0501 */ 3922 - 3923 -enum : uint { QS_MOUSE = QS_MOUSEMOVE | QS_MOUSEBUTTON } 3924 - 3925 -// #if (_WIN32_WINNT >= 0x0501) 3926 -// #define QS_INPUT (QS_MOUSE | QS_KEY | QS_RAWINPUT) 3927 -// #else 3928 -// #... 3929 -// ... 3930 -// #endif // (_WIN32_WINNT >= 0x0501) 3931 - 3932 -enum : uint { QS_ALLEVENTS = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY } 3933 - 3934 -enum : uint { QS_ALLINPUT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE } 3935 - 3936 -extern(Windows) export UINT_PTR SetTimer( 3937 - HWND hWnd, 3938 - UINT_PTR nIDEvent, 3939 - UINT uElapse, 3940 - TIMERPROC lpTimerFunc); 3941 - 3942 -extern(Windows) export BOOL KillTimer( 3943 - HWND hWnd, 3944 - UINT_PTR uIDEvent); 3945 - 3946 -extern(Windows) export BOOL IsWindowUnicode( 3947 - HWND hWnd); 3948 - 3949 -extern(Windows) export BOOL EnableWindow( 3950 - HWND hWnd, 3951 - BOOL bEnable); 3952 - 3953 -extern(Windows) export BOOL IsWindowEnabled( 3954 - HWND hWnd); 3955 - 3956 -extern(Windows) export HACCEL LoadAcceleratorsA( 3957 - HINSTANCE hInstance, 3958 - LPCSTR lpTableName); 3959 -extern(Windows) export HACCEL LoadAcceleratorsW( 3960 - HINSTANCE hInstance, 3961 - LPCWSTR lpTableName); 3962 -// #ifdef UNICODE 3963 -// #... 3964 -// #else 3965 -alias LoadAcceleratorsA LoadAccelerators; 3966 -// #endif // !UNICODE 3967 - 3968 -extern(Windows) export HACCEL CreateAcceleratorTableA( 3969 - LPACCEL, int); 3970 -extern(Windows) export HACCEL CreateAcceleratorTableW( 3971 - LPACCEL, int); 3972 -// #ifdef UNICODE 3973 -// #... 3974 -// #else 3975 -alias CreateAcceleratorTableA CreateAcceleratorTable; 3976 -// #endif // !UNICODE 3977 - 3978 -extern(Windows) export BOOL DestroyAcceleratorTable( 3979 - HACCEL hAccel); 3980 - 3981 -extern(Windows) export int CopyAcceleratorTableA( 3982 - HACCEL hAccelSrc, 3983 - LPACCEL lpAccelDst, 3984 - int cAccelEntries); 3985 -extern(Windows) export int CopyAcceleratorTableW( 3986 - HACCEL hAccelSrc, 3987 - LPACCEL lpAccelDst, 3988 - int cAccelEntries); 3989 -// #ifdef UNICODE 3990 -// #... 3991 -// #else 3992 -alias CopyAcceleratorTableA CopyAcceleratorTable; 3993 -// #endif // !UNICODE 3994 - 3995 -// #ifndef NOMSG 3996 - 3997 -extern(Windows) export int TranslateAcceleratorA( 3998 - HWND hWnd, 3999 - HACCEL hAccTable, 4000 - LPMSG lpMsg); 4001 -extern(Windows) export int TranslateAcceleratorW( 4002 - HWND hWnd, 4003 - HACCEL hAccTable, 4004 - LPMSG lpMsg); 4005 -// #ifdef UNICODE 4006 -// #... 4007 -// #else 4008 -alias TranslateAcceleratorA TranslateAccelerator; 4009 -// #endif // !UNICODE 4010 - 4011 -// #endif /* !NOMSG */ 4012 - 4013 -// #ifndef NOSYSMETRICS 4014 - 4015 -enum : uint { SM_CXSCREEN = 0 } 4016 -enum : uint { SM_CYSCREEN = 1 } 4017 -enum : uint { SM_CXVSCROLL = 2 } 4018 -enum : uint { SM_CYHSCROLL = 3 } 4019 -enum : uint { SM_CYCAPTION = 4 } 4020 -enum : uint { SM_CXBORDER = 5 } 4021 -enum : uint { SM_CYBORDER = 6 } 4022 -enum : uint { SM_CXDLGFRAME = 7 } 4023 -enum : uint { SM_CYDLGFRAME = 8 } 4024 -enum : uint { SM_CYVTHUMB = 9 } 4025 -enum : uint { SM_CXHTHUMB = 10 } 4026 -enum : uint { SM_CXICON = 11 } 4027 -enum : uint { SM_CYICON = 12 } 4028 -enum : uint { SM_CXCURSOR = 13 } 4029 -enum : uint { SM_CYCURSOR = 14 } 4030 -enum : uint { SM_CYMENU = 15 } 4031 -enum : uint { SM_CXFULLSCREEN = 16 } 4032 -enum : uint { SM_CYFULLSCREEN = 17 } 4033 -enum : uint { SM_CYKANJIWINDOW = 18 } 4034 -enum : uint { SM_MOUSEPRESENT = 19 } 4035 -enum : uint { SM_CYVSCROLL = 20 } 4036 -enum : uint { SM_CXHSCROLL = 21 } 4037 -enum : uint { SM_DEBUG = 22 } 4038 -enum : uint { SM_SWAPBUTTON = 23 } 4039 -enum : uint { SM_RESERVED1 = 24 } 4040 -enum : uint { SM_RESERVED2 = 25 } 4041 -enum : uint { SM_RESERVED3 = 26 } 4042 -enum : uint { SM_RESERVED4 = 27 } 4043 -enum : uint { SM_CXMIN = 28 } 4044 -enum : uint { SM_CYMIN = 29 } 4045 -enum : uint { SM_CXSIZE = 30 } 4046 -enum : uint { SM_CYSIZE = 31 } 4047 -enum : uint { SM_CXFRAME = 32 } 4048 -enum : uint { SM_CYFRAME = 33 } 4049 -enum : uint { SM_CXMINTRACK = 34 } 4050 -enum : uint { SM_CYMINTRACK = 35 } 4051 -enum : uint { SM_CXDOUBLECLK = 36 } 4052 -enum : uint { SM_CYDOUBLECLK = 37 } 4053 -enum : uint { SM_CXICONSPACING = 38 } 4054 -enum : uint { SM_CYICONSPACING = 39 } 4055 -enum : uint { SM_MENUDROPALIGNMENT = 40 } 4056 -enum : uint { SM_PENWINDOWS = 41 } 4057 -enum : uint { SM_DBCSENABLED = 42 } 4058 -enum : uint { SM_CMOUSEBUTTONS = 43 } 4059 - 4060 -// #if(WINVER >= 0x0400) 4061 -alias SM_CXDLGFRAME SM_CXFIXEDFRAME; 4062 -alias SM_CYDLGFRAME SM_CYFIXEDFRAME; 4063 -alias SM_CXFRAME SM_CXSIZEFRAME; 4064 -alias SM_CYFRAME SM_CYSIZEFRAME; 4065 - 4066 -enum : uint { SM_SECURE = 44 } 4067 -enum : uint { SM_CXEDGE = 45 } 4068 -enum : uint { SM_CYEDGE = 46 } 4069 -enum : uint { SM_CXMINSPACING = 47 } 4070 -enum : uint { SM_CYMINSPACING = 48 } 4071 -enum : uint { SM_CXSMICON = 49 } 4072 -enum : uint { SM_CYSMICON = 50 } 4073 -enum : uint { SM_CYSMCAPTION = 51 } 4074 -enum : uint { SM_CXSMSIZE = 52 } 4075 -enum : uint { SM_CYSMSIZE = 53 } 4076 -enum : uint { SM_CXMENUSIZE = 54 } 4077 -enum : uint { SM_CYMENUSIZE = 55 } 4078 -enum : uint { SM_ARRANGE = 56 } 4079 -enum : uint { SM_CXMINIMIZED = 57 } 4080 -enum : uint { SM_CYMINIMIZED = 58 } 4081 -enum : uint { SM_CXMAXTRACK = 59 } 4082 -enum : uint { SM_CYMAXTRACK = 60 } 4083 -enum : uint { SM_CXMAXIMIZED = 61 } 4084 -enum : uint { SM_CYMAXIMIZED = 62 } 4085 -enum : uint { SM_NETWORK = 63 } 4086 -enum : uint { SM_CLEANBOOT = 67 } 4087 -enum : uint { SM_CXDRAG = 68 } 4088 -enum : uint { SM_CYDRAG = 69 } 4089 -// #endif /* WINVER >= 0x0400 */ 4090 -enum : uint { SM_SHOWSOUNDS = 70 } 4091 -// #if(WINVER >= 0x0400) 4092 -enum : uint { SM_CXMENUCHECK = 71 } 4093 -enum : uint { SM_CYMENUCHECK = 72 } 4094 -enum : uint { SM_SLOWMACHINE = 73 } 4095 -enum : uint { SM_MIDEASTENABLED = 74 } 4096 -// #endif /* WINVER >= 0x0400 */ 4097 - 4098 -// #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 4099 -enum : uint { SM_MOUSEWHEELPRESENT = 75 } 4100 -// #endif 4101 -// #if(WINVER >= 0x0500) 4102 -enum : uint { SM_XVIRTUALSCREEN = 76 } 4103 -enum : uint { SM_YVIRTUALSCREEN = 77 } 4104 -enum : uint { SM_CXVIRTUALSCREEN = 78 } 4105 -enum : uint { SM_CYVIRTUALSCREEN = 79 } 4106 -enum : uint { SM_CMONITORS = 80 } 4107 -enum : uint { SM_SAMEDISPLAYFORMAT = 81 } 4108 -// #endif /* WINVER >= 0x0500 */ 4109 -// #if(_WIN32_WINNT >= 0x0500) 4110 -enum : uint { SM_IMMENABLED = 82 } 4111 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4112 -// #if(_WIN32_WINNT >= 0x0501) 4113 -enum : uint { SM_CXFOCUSBORDER = 83 } 4114 -enum : uint { SM_CYFOCUSBORDER = 84 } 4115 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4116 - 4117 -// #if (WINVER < 0x0500) && (!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400)) 4118 -// #... 4119 -// #else 4120 -enum : uint { SM_CMETRICS = 86 } 4121 -// #endif 4122 - 4123 -// #if(WINVER >= 0x0500) 4124 -enum : uint { SM_REMOTESESSION = 0x1000 } 4125 - 4126 -// #if(_WIN32_WINNT >= 0x0501) 4127 -enum : uint { SM_SHUTTINGDOWN = 0x2000 } 4128 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4129 - 4130 -// #endif /* WINVER >= 0x0500 */ 4131 - 4132 -extern(Windows) export int GetSystemMetrics( 4133 - int nIndex); 4134 - 4135 -// #endif /* !NOSYSMETRICS */ 4136 - 4137 -// #ifndef NOMENUS 4138 - 4139 -extern(Windows) export HMENU LoadMenuA( 4140 - HINSTANCE hInstance, 4141 - LPCSTR lpMenuName); 4142 -extern(Windows) export HMENU LoadMenuW( 4143 - HINSTANCE hInstance, 4144 - LPCWSTR lpMenuName); 4145 -// #ifdef UNICODE 4146 -// #... 4147 -// #else 4148 -alias LoadMenuA LoadMenu; 4149 -// #endif // !UNICODE 4150 - 4151 -extern(Windows) export HMENU LoadMenuIndirectA( 4152 - MENUTEMPLATEA *lpMenuTemplate); 4153 -extern(Windows) export HMENU LoadMenuIndirectW( 4154 - MENUTEMPLATEW *lpMenuTemplate); 4155 -// #ifdef UNICODE 4156 -// #... 4157 -// #else 4158 -alias LoadMenuIndirectA LoadMenuIndirect; 4159 -// #endif // !UNICODE 4160 - 4161 -extern(Windows) export HMENU GetMenu( 4162 - HWND hWnd); 4163 - 4164 -extern(Windows) export BOOL SetMenu( 4165 - HWND hWnd, 4166 - HMENU hMenu); 4167 - 4168 -extern(Windows) export BOOL ChangeMenuA( 4169 - HMENU hMenu, 4170 - UINT cmd, 4171 - LPCSTR lpszNewItem, 4172 - UINT cmdInsert, 4173 - UINT flags); 4174 -extern(Windows) export BOOL ChangeMenuW( 4175 - HMENU hMenu, 4176 - UINT cmd, 4177 - LPCWSTR lpszNewItem, 4178 - UINT cmdInsert, 4179 - UINT flags); 4180 -// #ifdef UNICODE 4181 -// #... 4182 -// #else 4183 -alias ChangeMenuA ChangeMenu; 4184 -// #endif // !UNICODE 4185 - 4186 -extern(Windows) export BOOL HiliteMenuItem( 4187 - HWND hWnd, 4188 - HMENU hMenu, 4189 - UINT uIDHiliteItem, 4190 - UINT uHilite); 4191 - 4192 -extern(Windows) export int GetMenuStringA( 4193 - HMENU hMenu, 4194 - UINT uIDItem, 4195 - LPSTR lpString, 4196 - int nMaxCount, 4197 - UINT uFlag); 4198 -extern(Windows) export int GetMenuStringW( 4199 - HMENU hMenu, 4200 - UINT uIDItem, 4201 - LPWSTR lpString, 4202 - int nMaxCount, 4203 - UINT uFlag); 4204 -// #ifdef UNICODE 4205 -// #... 4206 -// #else 4207 -alias GetMenuStringA GetMenuString; 4208 -// #endif // !UNICODE 4209 - 4210 -extern(Windows) export UINT GetMenuState( 4211 - HMENU hMenu, 4212 - UINT uId, 4213 - UINT uFlags); 4214 - 4215 -extern(Windows) export BOOL DrawMenuBar( 4216 - HWND hWnd); 4217 - 4218 -// #if(_WIN32_WINNT >= 0x0501) 4219 -enum : uint { PMB_ACTIVE = 0x00000001 } 4220 - 4221 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4222 - 4223 -extern(Windows) export HMENU GetSystemMenu( 4224 - HWND hWnd, 4225 - BOOL bRevert); 4226 - 4227 -extern(Windows) export HMENU CreateMenu(); 4228 - 4229 -extern(Windows) export HMENU CreatePopupMenu(); 4230 - 4231 -extern(Windows) export BOOL DestroyMenu( 4232 - HMENU hMenu); 4233 - 4234 -extern(Windows) export DWORD CheckMenuItem( 4235 - HMENU hMenu, 4236 - UINT uIDCheckItem, 4237 - UINT uCheck); 4238 - 4239 -extern(Windows) export BOOL EnableMenuItem( 4240 - HMENU hMenu, 4241 - UINT uIDEnableItem, 4242 - UINT uEnable); 4243 - 4244 -extern(Windows) export HMENU GetSubMenu( 4245 - HMENU hMenu, 4246 - int nPos); 4247 - 4248 -extern(Windows) export UINT GetMenuItemID( 4249 - HMENU hMenu, 4250 - int nPos); 4251 - 4252 -extern(Windows) export int GetMenuItemCount( 4253 - HMENU hMenu); 4254 - 4255 -extern(Windows) export BOOL InsertMenuA( 4256 - HMENU hMenu, 4257 - UINT uPosition, 4258 - UINT uFlags, 4259 - UINT_PTR uIDNewItem, 4260 - LPCSTR lpNewItem); 4261 -extern(Windows) export BOOL InsertMenuW( 4262 - HMENU hMenu, 4263 - UINT uPosition, 4264 - UINT uFlags, 4265 - UINT_PTR uIDNewItem, 4266 - LPCWSTR lpNewItem); 4267 -// #ifdef UNICODE 4268 -// #... 4269 -// #else 4270 -alias InsertMenuA InsertMenu; 4271 -// #endif // !UNICODE 4272 - 4273 -extern(Windows) export BOOL AppendMenuA( 4274 - HMENU hMenu, 4275 - UINT uFlags, 4276 - UINT_PTR uIDNewItem, 4277 - LPCSTR lpNewItem); 4278 -extern(Windows) export BOOL AppendMenuW( 4279 - HMENU hMenu, 4280 - UINT uFlags, 4281 - UINT_PTR uIDNewItem, 4282 - LPCWSTR lpNewItem); 4283 -// #ifdef UNICODE 4284 -// #... 4285 -// #else 4286 -alias AppendMenuA AppendMenu; 4287 -// #endif // !UNICODE 4288 - 4289 -extern(Windows) export BOOL ModifyMenuA( 4290 - HMENU hMnu, 4291 - UINT uPosition, 4292 - UINT uFlags, 4293 - UINT_PTR uIDNewItem, 4294 - LPCSTR lpNewItem); 4295 -extern(Windows) export BOOL ModifyMenuW( 4296 - HMENU hMnu, 4297 - UINT uPosition, 4298 - UINT uFlags, 4299 - UINT_PTR uIDNewItem, 4300 - LPCWSTR lpNewItem); 4301 -// #ifdef UNICODE 4302 -// #... 4303 -// #else 4304 -alias ModifyMenuA ModifyMenu; 4305 -// #endif // !UNICODE 4306 - 4307 -extern(Windows) export BOOL RemoveMenu( 4308 - HMENU hMenu, 4309 - UINT uPosition, 4310 - UINT uFlags); 4311 - 4312 -extern(Windows) export BOOL DeleteMenu( 4313 - HMENU hMenu, 4314 - UINT uPosition, 4315 - UINT uFlags); 4316 - 4317 -extern(Windows) export BOOL SetMenuItemBitmaps( 4318 - HMENU hMenu, 4319 - UINT uPosition, 4320 - UINT uFlags, 4321 - HBITMAP hBitmapUnchecked, 4322 - HBITMAP hBitmapChecked); 4323 - 4324 -extern(Windows) export LONG GetMenuCheckMarkDimensions(); 4325 - 4326 -extern(Windows) export BOOL TrackPopupMenu( 4327 - HMENU hMenu, 4328 - UINT uFlags, 4329 - int x, 4330 - int y, 4331 - int nReserved, 4332 - HWND hWnd, 4333 - RECT *prcRect); 4334 - 4335 -// #if(WINVER >= 0x0400) 4336 - 4337 -enum : uint { MNC_IGNORE = 0 } 4338 -enum : uint { MNC_CLOSE = 1 } 4339 -enum : uint { MNC_EXECUTE = 2 } 4340 -enum : uint { MNC_SELECT = 3 } 4341 - 4342 -struct tagTPMPARAMS { 4343 - UINT cbSize; 4344 - RECT rcExclude; 4345 -} 4346 -alias tagTPMPARAMS TPMPARAMS; 4347 - 4348 -alias TPMPARAMS* LPTPMPARAMS; 4349 - 4350 -extern(Windows) export BOOL TrackPopupMenuEx( 4351 - HMENU, 4352 - UINT, 4353 - int, 4354 - int, 4355 - HWND, 4356 - LPTPMPARAMS); 4357 -// #endif /* WINVER >= 0x0400 */ 4358 - 4359 -// #if(WINVER >= 0x0500) 4360 - 4361 -enum : uint { MNS_NOCHECK = 0x80000000 } 4362 -enum : uint { MNS_MODELESS = 0x40000000 } 4363 -enum : uint { MNS_DRAGDROP = 0x20000000 } 4364 -enum : uint { MNS_AUTODISMISS = 0x10000000 } 4365 -enum : uint { MNS_NOTIFYBYPOS = 0x08000000 } 4366 -enum : uint { MNS_CHECKORBMP = 0x04000000 } 4367 - 4368 -enum : uint { MIM_MAXHEIGHT = 0x00000001 } 4369 -enum : uint { MIM_BACKGROUND = 0x00000002 } 4370 -enum : uint { MIM_HELPID = 0x00000004 } 4371 -enum : uint { MIM_MENUDATA = 0x00000008 } 4372 -enum : uint { MIM_STYLE = 0x00000010 } 4373 -enum : uint { MIM_APPLYTOSUBMENUS = 0x80000000 } 4374 - 4375 -struct tagMENUINFO { 4376 - DWORD cbSize; 4377 - DWORD fMask; 4378 - DWORD dwStyle; 4379 - UINT cyMax; 4380 - HBRUSH hbrBack; 4381 - DWORD dwContextHelpID; 4382 - ULONG_PTR dwMenuData; 4383 -} 4384 -alias tagMENUINFO MENUINFO; 4385 -alias tagMENUINFO* LPMENUINFO; 4386 - 4387 -alias MENUINFO* LPCMENUINFO; 4388 - 4389 -extern(Windows) export BOOL GetMenuInfo( 4390 - HMENU, 4391 - LPMENUINFO); 4392 - 4393 -extern(Windows) export BOOL SetMenuInfo( 4394 - HMENU, 4395 - LPCMENUINFO); 4396 - 4397 -extern(Windows) export BOOL EndMenu(); 4398 - 4399 -enum : uint { MND_CONTINUE = 0 } 4400 -enum : uint { MND_ENDMENU = 1 } 4401 - 4402 -struct tagMENUGETOBJECTINFO { 4403 - DWORD dwFlags; 4404 - UINT uPos; 4405 - HMENU hmenu; 4406 - PVOID riid; 4407 - PVOID pvObj; 4408 -} 4409 -alias tagMENUGETOBJECTINFO MENUGETOBJECTINFO; 4410 -alias tagMENUGETOBJECTINFO* PMENUGETOBJECTINFO; 4411 - 4412 -enum : uint { MNGOF_TOPGAP = 0x00000001 } 4413 -enum : uint { MNGOF_BOTTOMGAP = 0x00000002 } 4414 - 4415 -enum : uint { MNGO_NOINTERFACE = 0x00000000 } 4416 -enum : uint { MNGO_NOERROR = 0x00000001 } 4417 -// #endif /* WINVER >= 0x0500 */ 4418 - 4419 -// #if(WINVER >= 0x0400) 4420 -enum : uint { MIIM_STATE = 0x00000001 } 4421 -enum : uint { MIIM_ID = 0x00000002 } 4422 -enum : uint { MIIM_SUBMENU = 0x00000004 } 4423 -enum : uint { MIIM_CHECKMARKS = 0x00000008 } 4424 -enum : uint { MIIM_TYPE = 0x00000010 } 4425 -enum : uint { MIIM_DATA = 0x00000020 } 4426 -// #endif /* WINVER >= 0x0400 */ 4427 - 4428 -// #if(WINVER >= 0x0500) 4429 -enum : uint { MIIM_STRING = 0x00000040 } 4430 -enum : uint { MIIM_BITMAP = 0x00000080 } 4431 -enum : uint { MIIM_FTYPE = 0x00000100 } 4432 - 4433 -const HBITMAP HBMMENU_CALLBACK = cast(HBITMAP)-1; 4434 -const HBITMAP HBMMENU_SYSTEM = cast(HBITMAP)1; 4435 -const HBITMAP HBMMENU_MBAR_RESTORE = cast(HBITMAP)2; 4436 -const HBITMAP HBMMENU_MBAR_MINIMIZE = cast(HBITMAP)3; 4437 -const HBITMAP HBMMENU_MBAR_CLOSE = cast(HBITMAP)5; 4438 -const HBITMAP HBMMENU_MBAR_CLOSE_D = cast(HBITMAP)6; 4439 -const HBITMAP HBMMENU_MBAR_MINIMIZE_D = cast(HBITMAP)7; 4440 -const HBITMAP HBMMENU_POPUP_CLOSE = cast(HBITMAP)8; 4441 -const HBITMAP HBMMENU_POPUP_RESTORE = cast(HBITMAP)9; 4442 -const HBITMAP HBMMENU_POPUP_MAXIMIZE = cast(HBITMAP)10; 4443 -const HBITMAP HBMMENU_POPUP_MINIMIZE = cast(HBITMAP)11; 4444 -// #endif /* WINVER >= 0x0500 */ 4445 - 4446 -// #if(WINVER >= 0x0400) 4447 -struct tagMENUITEMINFOA { 4448 - UINT cbSize; 4449 - UINT fMask; 4450 - UINT fType; 4451 - UINT fState; 4452 - UINT wID; 4453 - HMENU hSubMenu; 4454 - HBITMAP hbmpChecked; 4455 - HBITMAP hbmpUnchecked; 4456 - ULONG_PTR dwItemData; 4457 - LPSTR dwTypeData; 4458 - UINT cch; 4459 -// #if(WINVER >= 0x0500) 4460 - HBITMAP hbmpItem; 4461 -// #endif /* WINVER >= 0x0500 */ 4462 -} 4463 -alias tagMENUITEMINFOA MENUITEMINFOA; 4464 -alias tagMENUITEMINFOA* LPMENUITEMINFOA; 4465 - 4466 -struct tagMENUITEMINFOW { 4467 - UINT cbSize; 4468 - UINT fMask; 4469 - UINT fType; 4470 - UINT fState; 4471 - UINT wID; 4472 - HMENU hSubMenu; 4473 - HBITMAP hbmpChecked; 4474 - HBITMAP hbmpUnchecked; 4475 - ULONG_PTR dwItemData; 4476 - LPWSTR dwTypeData; 4477 - UINT cch; 4478 -// #if(WINVER >= 0x0500) 4479 - HBITMAP hbmpItem; 4480 -// #endif /* WINVER >= 0x0500 */ 4481 -} 4482 -alias tagMENUITEMINFOW MENUITEMINFOW; 4483 -alias tagMENUITEMINFOW* LPMENUITEMINFOW; 4484 - 4485 -// #ifdef UNICODE 4486 -// ... 4487 -// #else 4488 -alias MENUITEMINFOA MENUITEMINFO; 4489 -alias LPMENUITEMINFOA LPMENUITEMINFO; 4490 -// #endif // UNICODE 4491 -alias MENUITEMINFOA* LPCMENUITEMINFOA; 4492 -alias MENUITEMINFOW* LPCMENUITEMINFOW; 4493 -// #ifdef UNICODE 4494 -// ... 4495 -// #else 4496 -alias LPCMENUITEMINFOA LPCMENUITEMINFO; 4497 -// #endif // UNICODE 4498 - 4499 -extern(Windows) export BOOL InsertMenuItemA( 4500 - HMENU, 4501 - UINT, 4502 - BOOL, 4503 - LPCMENUITEMINFOA); 4504 -extern(Windows) export BOOL InsertMenuItemW( 4505 - HMENU, 4506 - UINT, 4507 - BOOL, 4508 - LPCMENUITEMINFOW); 4509 -// #ifdef UNICODE 4510 -// #... 4511 -// #else 4512 -alias InsertMenuItemA InsertMenuItem; 4513 -// #endif // !UNICODE 4514 - 4515 -extern(Windows) export BOOL GetMenuItemInfoA( 4516 - HMENU, 4517 - UINT, 4518 - BOOL, 4519 - LPMENUITEMINFOA); 4520 -extern(Windows) export BOOL GetMenuItemInfoW( 4521 - HMENU, 4522 - UINT, 4523 - BOOL, 4524 - LPMENUITEMINFOW); 4525 -// #ifdef UNICODE 4526 -// #... 4527 -// #else 4528 -alias GetMenuItemInfoA GetMenuItemInfo; 4529 -// #endif // !UNICODE 4530 - 4531 -extern(Windows) export BOOL SetMenuItemInfoA( 4532 - HMENU, 4533 - UINT, 4534 - BOOL, 4535 - LPCMENUITEMINFOA); 4536 -extern(Windows) export BOOL SetMenuItemInfoW( 4537 - HMENU, 4538 - UINT, 4539 - BOOL, 4540 - LPCMENUITEMINFOW); 4541 -// #ifdef UNICODE 4542 -// #... 4543 -// #else 4544 -alias SetMenuItemInfoA SetMenuItemInfo; 4545 -// #endif // !UNICODE 4546 - 4547 -enum : uint { GMDI_USEDISABLED = 0x0001 } 4548 -enum : uint { GMDI_GOINTOPOPUPS = 0x0002 } 4549 - 4550 -extern(Windows) export UINT GetMenuDefaultItem(HMENU hMenu, UINT fByPos, UINT gmdiFlags); 4551 -extern(Windows) export BOOL SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos); 4552 - 4553 -extern(Windows) export BOOL GetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem); 4554 -extern(Windows) export int MenuItemFromPoint(HWND hWnd, HMENU hMenu, POINT ptScreen); 4555 -// #endif /* WINVER >= 0x0400 */ 4556 - 4557 -enum : uint { TPM_LEFTBUTTON = 0x0000 } 4558 -enum : uint { TPM_RIGHTBUTTON = 0x0002 } 4559 -enum : uint { TPM_LEFTALIGN = 0x0000 } 4560 -enum : uint { TPM_CENTERALIGN = 0x0004 } 4561 -enum : uint { TPM_RIGHTALIGN = 0x0008 } 4562 -// #if(WINVER >= 0x0400) 4563 -enum : uint { TPM_TOPALIGN = 0x0000 } 4564 -enum : uint { TPM_VCENTERALIGN = 0x0010 } 4565 -enum : uint { TPM_BOTTOMALIGN = 0x0020 } 4566 - 4567 -enum : uint { TPM_HORIZONTAL = 0x0000 } 4568 -enum : uint { TPM_VERTICAL = 0x0040 } 4569 -enum : uint { TPM_NONOTIFY = 0x0080 } 4570 -enum : uint { TPM_RETURNCMD = 0x0100 } 4571 -// #endif /* WINVER >= 0x0400 */ 4572 -// #if(WINVER >= 0x0500) 4573 -enum : uint { TPM_RECURSE = 0x0001 } 4574 -enum : uint { TPM_HORPOSANIMATION = 0x0400 } 4575 -enum : uint { TPM_HORNEGANIMATION = 0x0800 } 4576 -enum : uint { TPM_VERPOSANIMATION = 0x1000 } 4577 -enum : uint { TPM_VERNEGANIMATION = 0x2000 } 4578 -// #if(_WIN32_WINNT >= 0x0500) 4579 -enum : uint { TPM_NOANIMATION = 0x4000 } 4580 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4581 -// #if(_WIN32_WINNT >= 0x0501) 4582 -enum : uint { TPM_LAYOUTRTL = 0x8000 } 4583 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4584 -// #endif /* WINVER >= 0x0500 */ 4585 - 4586 -// #endif /* !NOMENUS */ 4587 - 4588 -// #if(WINVER >= 0x0400) 4589 - 4590 -struct tagDROPSTRUCT { 4591 - HWND hwndSource; 4592 - HWND hwndSink; 4593 - DWORD wFmt; 4594 - ULONG_PTR dwData; 4595 - POINT ptDrop; 4596 - DWORD dwControlData; 4597 -} 4598 -alias tagDROPSTRUCT DROPSTRUCT; 4599 -alias tagDROPSTRUCT* PDROPSTRUCT; 4600 -alias tagDROPSTRUCT* LPDROPSTRUCT; 4601 - 4602 -enum : uint { DOF_EXECUTABLE = 0x8001 } 4603 -enum : uint { DOF_DOCUMENT = 0x8002 } 4604 -enum : uint { DOF_DIRECTORY = 0x8003 } 4605 -enum : uint { DOF_MULTIPLE = 0x8004 } 4606 -enum : uint { DOF_PROGMAN = 0x0001 } 4607 -enum : uint { DOF_SHELLDATA = 0x0002 } 4608 - 4609 -enum : uint { DO_DROPFILE = 0x454C4946 } 4610 -enum : uint { DO_PRINTFILE = 0x544E5250 } 4611 - 4612 -extern(Windows) export DWORD DragObject( 4613 - HWND, 4614 - HWND, 4615 - UINT, 4616 - ULONG_PTR, 4617 - HCURSOR); 4618 - 4619 -extern(Windows) export BOOL DragDetect( 4620 - HWND, 4621 - POINT); 4622 -// #endif /* WINVER >= 0x0400 */ 4623 - 4624 -extern(Windows) export BOOL DrawIcon( 4625 - HDC hDC, 4626 - int X, 4627 - int Y, 4628 - HICON hIcon); 4629 - 4630 -// #ifndef NODRAWTEXT 4631 - 4632 -enum : uint { DT_TOP = 0x00000000 } 4633 -enum : uint { DT_LEFT = 0x00000000 } 4634 -enum : uint { DT_CENTER = 0x00000001 } 4635 -enum : uint { DT_RIGHT = 0x00000002 } 4636 -enum : uint { DT_VCENTER = 0x00000004 } 4637 -enum : uint { DT_BOTTOM = 0x00000008 } 4638 -enum : uint { DT_WORDBREAK = 0x00000010 } 4639 -enum : uint { DT_SINGLELINE = 0x00000020 } 4640 -enum : uint { DT_EXPANDTABS = 0x00000040 } 4641 -enum : uint { DT_TABSTOP = 0x00000080 } 4642 -enum : uint { DT_NOCLIP = 0x00000100 } 4643 -enum : uint { DT_EXTERNALLEADING = 0x00000200 } 4644 -enum : uint { DT_CALCRECT = 0x00000400 } 4645 -enum : uint { DT_NOPREFIX = 0x00000800 } 4646 -enum : uint { DT_INTERNAL = 0x00001000 } 4647 - 4648 -// #if(WINVER >= 0x0400) 4649 -enum : uint { DT_EDITCONTROL = 0x00002000 } 4650 -enum : uint { DT_PATH_ELLIPSIS = 0x00004000 } 4651 -enum : uint { DT_END_ELLIPSIS = 0x00008000 } 4652 -enum : uint { DT_MODIFYSTRING = 0x00010000 } 4653 -enum : uint { DT_RTLREADING = 0x00020000 } 4654 -enum : uint { DT_WORD_ELLIPSIS = 0x00040000 } 4655 -// #if(WINVER >= 0x0500) 4656 -enum : uint { DT_NOFULLWIDTHCHARBREAK = 0x00080000 } 4657 -// #if(_WIN32_WINNT >= 0x0500) 4658 -enum : uint { DT_HIDEPREFIX = 0x00100000 } 4659 -enum : uint { DT_PREFIXONLY = 0x00200000 } 4660 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4661 -// #endif /* WINVER >= 0x0500 */ 4662 - 4663 -struct tagDRAWTEXTPARAMS { 4664 - UINT cbSize; 4665 - int iTabLength; 4666 - int iLeftMargin; 4667 - int iRightMargin; 4668 - UINT uiLengthDrawn; 4669 -} 4670 -alias tagDRAWTEXTPARAMS DRAWTEXTPARAMS; 4671 -alias tagDRAWTEXTPARAMS* LPDRAWTEXTPARAMS; 4672 - 4673 -// #endif /* WINVER >= 0x0400 */ 4674 - 4675 -extern(Windows) export int DrawTextA( 4676 - HDC hDC, 4677 - LPCSTR lpString, 4678 - int nCount, 4679 - LPRECT lpRect, 4680 - UINT uFormat); 4681 -extern(Windows) export int DrawTextW( 4682 - HDC hDC, 4683 - LPCWSTR lpString, 4684 - int nCount, 4685 - LPRECT lpRect, 4686 - UINT uFormat); 4687 -// #ifdef UNICODE 4688 -// #... 4689 -// #else 4690 -alias DrawTextA DrawText; 4691 -// #endif // !UNICODE 4692 - 4693 -// #if(WINVER >= 0x0400) 4694 -extern(Windows) export int DrawTextExA( 4695 - HDC, 4696 - LPSTR, 4697 - int, 4698 - LPRECT, 4699 - UINT, 4700 - LPDRAWTEXTPARAMS); 4701 -extern(Windows) export int DrawTextExW( 4702 - HDC, 4703 - LPWSTR, 4704 - int, 4705 - LPRECT, 4706 - UINT, 4707 - LPDRAWTEXTPARAMS); 4708 -// #ifdef UNICODE 4709 -// #... 4710 -// #else 4711 -alias DrawTextExA DrawTextEx; 4712 -// #endif // !UNICODE 4713 -// #endif /* WINVER >= 0x0400 */ 4714 - 4715 -// #endif /* !NODRAWTEXT */ 4716 - 4717 -extern(Windows) export BOOL GrayStringA( 4718 - HDC hDC, 4719 - HBRUSH hBrush, 4720 - GRAYSTRINGPROC lpOutputFunc, 4721 - LPARAM lpData, 4722 - int nCount, 4723 - int X, 4724 - int Y, 4725 - int nWidth, 4726 - int nHeight); 4727 -extern(Windows) export BOOL GrayStringW( 4728 - HDC hDC, 4729 - HBRUSH hBrush, 4730 - GRAYSTRINGPROC lpOutputFunc, 4731 - LPARAM lpData, 4732 - int nCount, 4733 - int X, 4734 - int Y, 4735 - int nWidth, 4736 - int nHeight); 4737 -// #ifdef UNICODE 4738 -// #... 4739 -// #else 4740 -alias GrayStringA GrayString; 4741 -// #endif // !UNICODE 4742 - 4743 -// #if(WINVER >= 0x0400) 4744 - 4745 -enum : uint { DST_COMPLEX = 0x0000 } 4746 -enum : uint { DST_TEXT = 0x0001 } 4747 -enum : uint { DST_PREFIXTEXT = 0x0002 } 4748 -enum : uint { DST_ICON = 0x0003 } 4749 -enum : uint { DST_BITMAP = 0x0004 } 4750 - 4751 -enum : uint { DSS_NORMAL = 0x0000 } 4752 -enum : uint { DSS_UNION = 0x0010 } 4753 -enum : uint { DSS_DISABLED = 0x0020 } 4754 -enum : uint { DSS_MONO = 0x0080 } 4755 -// #if(_WIN32_WINNT >= 0x0500) 4756 -enum : uint { DSS_HIDEPREFIX = 0x0200 } 4757 -enum : uint { DSS_PREFIXONLY = 0x0400 } 4758 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4759 -enum : uint { DSS_RIGHT = 0x8000 } 4760 - 4761 -extern(Windows) export BOOL DrawStateA( 4762 - HDC, 4763 - HBRUSH, 4764 - DRAWSTATEPROC, 4765 - LPARAM, 4766 - WPARAM, 4767 - int, 4768 - int, 4769 - int, 4770 - int, 4771 - UINT); 4772 -extern(Windows) export BOOL DrawStateW( 4773 - HDC, 4774 - HBRUSH, 4775 - DRAWSTATEPROC, 4776 - LPARAM, 4777 - WPARAM, 4778 - int, 4779 - int, 4780 - int, 4781 - int, 4782 - UINT); 4783 -// #ifdef UNICODE 4784 -// #... 4785 -// #else 4786 -alias DrawStateA DrawState; 4787 -// #endif // !UNICODE 4788 -// #endif /* WINVER >= 0x0400 */ 4789 - 4790 -extern(Windows) export LONG TabbedTextOutA( 4791 - HDC hDC, 4792 - int X, 4793 - int Y, 4794 - LPCSTR lpString, 4795 - int nCount, 4796 - int nTabPositions, 4797 - INT *lpnTabStopPositions, 4798 - int nTabOrigin); 4799 -extern(Windows) export LONG TabbedTextOutW( 4800 - HDC hDC, 4801 - int X, 4802 - int Y, 4803 - LPCWSTR lpString, 4804 - int nCount, 4805 - int nTabPositions, 4806 - INT *lpnTabStopPositions, 4807 - int nTabOrigin); 4808 -// #ifdef UNICODE 4809 -// #... 4810 -// #else 4811 -alias TabbedTextOutA TabbedTextOut; 4812 -// #endif // !UNICODE 4813 - 4814 -extern(Windows) export DWORD GetTabbedTextExtentA( 4815 - HDC hDC, 4816 - LPCSTR lpString, 4817 - int nCount, 4818 - int nTabPositions, 4819 - INT *lpnTabStopPositions); 4820 -extern(Windows) export DWORD GetTabbedTextExtentW( 4821 - HDC hDC, 4822 - LPCWSTR lpString, 4823 - int nCount, 4824 - int nTabPositions, 4825 - INT *lpnTabStopPositions); 4826 -// #ifdef UNICODE 4827 -// #... 4828 -// #else 4829 -alias GetTabbedTextExtentA GetTabbedTextExtent; 4830 -// #endif // !UNICODE 4831 - 4832 -extern(Windows) export BOOL UpdateWindow( 4833 - HWND hWnd); 4834 - 4835 -extern(Windows) export HWND SetActiveWindow( 4836 - HWND hWnd); 4837 - 4838 -extern(Windows) export HWND GetForegroundWindow(); 4839 - 4840 -// #if(WINVER >= 0x0400) 4841 -extern(Windows) export BOOL PaintDesktop( 4842 - HDC hdc); 4843 - 4844 -// #endif /* WINVER >= 0x0400 */ 4845 - 4846 -extern(Windows) export BOOL SetForegroundWindow( 4847 - HWND hWnd); 4848 - 4849 -// #if(_WIN32_WINNT >= 0x0500) 4850 -extern(Windows) export BOOL AllowSetForegroundWindow( 4851 - DWORD dwProcessId); 4852 - 4853 -enum : DWORD { ASFW_ANY = cast(DWORD)-1 } 4854 - 4855 -extern(Windows) export BOOL LockSetForegroundWindow( 4856 - UINT uLockCode); 4857 - 4858 -enum : uint { LSFW_LOCK = 1 } 4859 -enum : uint { LSFW_UNLOCK = 2 } 4860 - 4861 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4862 - 4863 -extern(Windows) export HWND WindowFromDC( 4864 - HDC hDC); 4865 - 4866 -extern(Windows) export HDC GetDC( 4867 - HWND hWnd); 4868 - 4869 -extern(Windows) export HDC GetDCEx( 4870 - HWND hWnd, 4871 - HRGN hrgnClip, 4872 - DWORD flags); 4873 - 4874 -enum : uint { DCX_WINDOW = 0x00000001 } 4875 -enum : uint { DCX_CACHE = 0x00000002 } 4876 -enum : uint { DCX_NORESETATTRS = 0x00000004 } 4877 -enum : uint { DCX_CLIPCHILDREN = 0x00000008 } 4878 -enum : uint { DCX_CLIPSIBLINGS = 0x00000010 } 4879 -enum : uint { DCX_PARENTCLIP = 0x00000020 } 4880 -enum : uint { DCX_EXCLUDERGN = 0x00000040 } 4881 -enum : uint { DCX_INTERSECTRGN = 0x00000080 } 4882 -enum : uint { DCX_EXCLUDEUPDATE = 0x00000100 } 4883 -enum : uint { DCX_INTERSECTUPDATE = 0x00000200 } 4884 -enum : uint { DCX_LOCKWINDOWUPDATE = 0x00000400 } 4885 - 4886 -enum : uint { DCX_VALIDATE = 0x00200000 } 4887 - 4888 -extern(Windows) export HDC GetWindowDC( 4889 - HWND hWnd); 4890 - 4891 -extern(Windows) export int ReleaseDC( 4892 - HWND hWnd, 4893 - HDC hDC); 4894 - 4895 -extern(Windows) export HDC BeginPaint( 4896 - HWND hWnd, 4897 - LPPAINTSTRUCT lpPaint); 4898 - 4899 -extern(Windows) export BOOL EndPaint( 4900 - HWND hWnd, 4901 - PAINTSTRUCT *lpPaint); 4902 - 4903 -extern(Windows) export BOOL GetUpdateRect( 4904 - HWND hWnd, 4905 - LPRECT lpRect, 4906 - BOOL bErase); 4907 - 4908 -extern(Windows) export int GetUpdateRgn( 4909 - HWND hWnd, 4910 - HRGN hRgn, 4911 - BOOL bErase); 4912 - 4913 -extern(Windows) export int SetWindowRgn( 4914 - HWND hWnd, 4915 - HRGN hRgn, 4916 - BOOL bRedraw); 4917 - 4918 -extern(Windows) export int GetWindowRgn( 4919 - HWND hWnd, 4920 - HRGN hRgn); 4921 - 4922 -// #if(_WIN32_WINNT >= 0x0501) 4923 - 4924 -extern(Windows) export int GetWindowRgnBox( 4925 - HWND hWnd, 4926 - LPRECT lprc); 4927 - 4928 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4929 - 4930 -extern(Windows) export int ExcludeUpdateRgn( 4931 - HDC hDC, 4932 - HWND hWnd); 4933 - 4934 -extern(Windows) export BOOL InvalidateRect( 4935 - HWND hWnd, 4936 - RECT *lpRect, 4937 - BOOL bErase); 4938 - 4939 -extern(Windows) export BOOL ValidateRect( 4940 - HWND hWnd, 4941 - RECT *lpRect); 4942 - 4943 -extern(Windows) export BOOL InvalidateRgn( 4944 - HWND hWnd, 4945 - HRGN hRgn, 4946 - BOOL bErase); 4947 - 4948 -extern(Windows) export BOOL ValidateRgn( 4949 - HWND hWnd, 4950 - HRGN hRgn); 4951 - 4952 -extern(Windows) export BOOL RedrawWindow( 4953 - HWND hWnd, 4954 - RECT *lprcUpdate, 4955 - HRGN hrgnUpdate, 4956 - UINT flags); 4957 - 4958 -enum : uint { RDW_INVALIDATE = 0x0001 } 4959 -enum : uint { RDW_INTERNALPAINT = 0x0002 } 4960 -enum : uint { RDW_ERASE = 0x0004 } 4961 - 4962 -enum : uint { RDW_VALIDATE = 0x0008 } 4963 -enum : uint { RDW_NOINTERNALPAINT = 0x0010 } 4964 -enum : uint { RDW_NOERASE = 0x0020 } 4965 - 4966 -enum : uint { RDW_NOCHILDREN = 0x0040 } 4967 -enum : uint { RDW_ALLCHILDREN = 0x0080 } 4968 - 4969 -enum : uint { RDW_UPDATENOW = 0x0100 } 4970 -enum : uint { RDW_ERASENOW = 0x0200 } 4971 - 4972 -enum : uint { RDW_FRAME = 0x0400 } 4973 -enum : uint { RDW_NOFRAME = 0x0800 } 4974 - 4975 -extern(Windows) export BOOL LockWindowUpdate( 4976 - HWND hWndLock); 4977 - 4978 -extern(Windows) export BOOL ScrollWindow( 4979 - HWND hWnd, 4980 - int XAmount, 4981 - int YAmount, 4982 - RECT *lpRect, 4983 - RECT *lpClipRect); 4984 - 4985 -extern(Windows) export BOOL ScrollDC( 4986 - HDC hDC, 4987 - int dx, 4988 - int dy, 4989 - RECT *lprcScroll, 4990 - RECT *lprcClip, 4991 - HRGN hrgnUpdate, 4992 - LPRECT lprcUpdate); 4993 - 4994 -extern(Windows) export int ScrollWindowEx( 4995 - HWND hWnd, 4996 - int dx, 4997 - int dy, 4998 - RECT *prcScroll, 4999 - RECT *prcClip, 5000 - HRGN hrgnUpdate, 5001 - LPRECT prcUpdate, 5002 - UINT flags); 5003 - 5004 -enum : uint { SW_SCROLLCHILDREN = 0x0001 } 5005 -enum : uint { SW_INVALIDATE = 0x0002 } 5006 -enum : uint { SW_ERASE = 0x0004 } 5007 -// #if(WINVER >= 0x0500) 5008 -enum : uint { SW_SMOOTHSCROLL = 0x0010 } 5009 -// #endif /* WINVER >= 0x0500 */ 5010 - 5011 -// #ifndef NOSCROLL 5012 - 5013 -extern(Windows) export int SetScrollPos( 5014 - HWND hWnd, 5015 - int nBar, 5016 - int nPos, 5017 - BOOL bRedraw); 5018 - 5019 -extern(Windows) export int GetScrollPos( 5020 - HWND hWnd, 5021 - int nBar); 5022 - 5023 -extern(Windows) export BOOL SetScrollRange( 5024 - HWND hWnd, 5025 - int nBar, 5026 - int nMinPos, 5027 - int nMaxPos, 5028 - BOOL bRedraw); 5029 - 5030 -extern(Windows) export BOOL GetScrollRange( 5031 - HWND hWnd, 5032 - int nBar, 5033 - LPINT lpMinPos, 5034 - LPINT lpMaxPos); 5035 - 5036 -extern(Windows) export BOOL ShowScrollBar( 5037 - HWND hWnd, 5038 - int wBar, 5039 - BOOL bShow); 5040 - 5041 -extern(Windows) export BOOL EnableScrollBar( 5042 - HWND hWnd, 5043 - UINT wSBflags, 5044 - UINT wArrows); 5045 - 5046 -enum : uint { ESB_ENABLE_BOTH = 0x0000 } 5047 -enum : uint { ESB_DISABLE_BOTH = 0x0003 } 5048 - 5049 -enum : uint { ESB_DISABLE_LEFT = 0x0001 } 5050 -enum : uint { ESB_DISABLE_RIGHT = 0x0002 } 5051 - 5052 -enum : uint { ESB_DISABLE_UP = 0x0001 } 5053 -enum : uint { ESB_DISABLE_DOWN = 0x0002 } 5054 - 5055 -alias ESB_DISABLE_LEFT ESB_DISABLE_LTUP; 5056 -alias ESB_DISABLE_RIGHT ESB_DISABLE_RTDN; 5057 - 5058 -// #endif /* !NOSCROLL */ 5059 - 5060 -extern(Windows) export BOOL SetPropA( 5061 - HWND hWnd, 5062 - LPCSTR lpString, 5063 - HANDLE hData); 5064 -extern(Windows) export BOOL SetPropW( 5065 - HWND hWnd, 5066 - LPCWSTR lpString, 5067 - HANDLE hData); 5068 -// #ifdef UNICODE 5069 -// #... 5070 -// #else 5071 -alias SetPropA SetProp; 5072 -// #endif // !UNICODE 5073 - 5074 -extern(Windows) export HANDLE GetPropA( 5075 - HWND hWnd, 5076 - LPCSTR lpString); 5077 -extern(Windows) export HANDLE GetPropW( 5078 - HWND hWnd, 5079 - LPCWSTR lpString); 5080 -// #ifdef UNICODE 5081 -// #... 5082 -// #else 5083 -alias GetPropA GetProp; 5084 -// #endif // !UNICODE 5085 - 5086 -extern(Windows) export HANDLE RemovePropA( 5087 - HWND hWnd, 5088 - LPCSTR lpString); 5089 -extern(Windows) export HANDLE RemovePropW( 5090 - HWND hWnd, 5091 - LPCWSTR lpString); 5092 -// #ifdef UNICODE 5093 -// #... 5094 -// #else 5095 -alias RemovePropA RemoveProp; 5096 -// #endif // !UNICODE 5097 - 5098 -extern(Windows) export int EnumPropsExA( 5099 - HWND hWnd, 5100 - PROPENUMPROCEXA lpEnumFunc, 5101 - LPARAM lParam); 5102 -extern(Windows) export int EnumPropsExW( 5103 - HWND hWnd, 5104 - PROPENUMPROCEXW lpEnumFunc, 5105 - LPARAM lParam); 5106 -// #ifdef UNICODE 5107 -// #... 5108 -// #else 5109 -alias EnumPropsExA EnumPropsEx; 5110 -// #endif // !UNICODE 5111 - 5112 -extern(Windows) export int EnumPropsA( 5113 - HWND hWnd, 5114 - PROPENUMPROCA lpEnumFunc); 5115 -extern(Windows) export int EnumPropsW( 5116 - HWND hWnd, 5117 - PROPENUMPROCW lpEnumFunc); 5118 -// #ifdef UNICODE 5119 -// #... 5120 -// #else 5121 -alias EnumPropsA EnumProps; 5122 -// #endif // !UNICODE 5123 - 5124 -extern(Windows) export BOOL SetWindowTextA( 5125 - HWND hWnd, 5126 - LPCSTR lpString); 5127 -extern(Windows) export BOOL SetWindowTextW( 5128 - HWND hWnd, 5129 - LPCWSTR lpString); 5130 -// #ifdef UNICODE 5131 -// #... 5132 -// #else 5133 -alias SetWindowTextA SetWindowText; 5134 -// #endif // !UNICODE 5135 - 5136 -extern(Windows) export int GetWindowTextA( 5137 - HWND hWnd, 5138 - LPSTR lpString, 5139 - int nMaxCount); 5140 -extern(Windows) export int GetWindowTextW( 5141 - HWND hWnd, 5142 - LPWSTR lpString, 5143 - int nMaxCount); 5144 -// #ifdef UNICODE 5145 -// #... 5146 -// #else 5147 -alias GetWindowTextA GetWindowText; 5148 -// #endif // !UNICODE 5149 - 5150 -extern(Windows) export int GetWindowTextLengthA( 5151 - HWND hWnd); 5152 -extern(Windows) export int GetWindowTextLengthW( 5153 - HWND hWnd); 5154 -// #ifdef UNICODE 5155 -// #... 5156 -// #else 5157 -alias GetWindowTextLengthA GetWindowTextLength; 5158 -// #endif // !UNICODE 5159 - 5160 -extern(Windows) export BOOL GetClientRect( 5161 - HWND hWnd, 5162 - LPRECT lpRect); 5163 - 5164 -extern(Windows) export BOOL GetWindowRect( 5165 - HWND hWnd, 5166 - LPRECT lpRect); 5167 - 5168 -extern(Windows) export BOOL AdjustWindowRect( 5169 - LPRECT lpRect, 5170 - DWORD dwStyle, 5171 - BOOL bMenu); 5172 - 5173 -extern(Windows) export BOOL AdjustWindowRectEx( 5174 - LPRECT lpRect, 5175 - DWORD dwStyle, 5176 - BOOL bMenu, 5177 - DWORD dwExStyle); 5178 - 5179 -// #if(WINVER >= 0x0400) 5180 -enum : uint { HELPINFO_WINDOW = 0x0001 } 5181 -enum : uint { HELPINFO_MENUITEM = 0x0002 } 5182 -struct tagHELPINFO { 5183 - UINT cbSize; 5184 - int iContextType; 5185 - int iCtrlId; 5186 - HANDLE hItemHandle; 5187 - DWORD_PTR dwContextId; 5188 - POINT MousePos; 5189 -} 5190 -alias tagHELPINFO HELPINFO; 5191 -alias tagHELPINFO* LPHELPINFO; 5192 - 5193 -extern(Windows) export BOOL SetWindowContextHelpId( 5194 - HWND, 5195 - DWORD); 5196 - 5197 -extern(Windows) export DWORD GetWindowContextHelpId( 5198 - HWND); 5199 - 5200 -extern(Windows) export BOOL SetMenuContextHelpId( 5201 - HMENU, 5202 - DWORD); 5203 - 5204 -extern(Windows) export DWORD GetMenuContextHelpId( 5205 - HMENU); 5206 - 5207 -// #endif /* WINVER >= 0x0400 */ 5208 - 5209 -// #ifndef NOMB 5210 - 5211 -enum : uint { MB_OK = 0x00000000 } 5212 -enum : uint { MB_OKCANCEL = 0x00000001 } 5213 -enum : uint { MB_ABORTRETRYIGNORE = 0x00000002 } 5214 -enum : uint { MB_YESNOCANCEL = 0x00000003 } 5215 -enum : uint { MB_YESNO = 0x00000004 } 5216 -enum : uint { MB_RETRYCANCEL = 0x00000005 } 5217 -// #if(WINVER >= 0x0500) 5218 -enum : uint { MB_CANCELTRYCONTINUE = 0x00000006 } 5219 -// #endif /* WINVER >= 0x0500 */ 5220 - 5221 -enum : uint { MB_ICONHAND = 0x00000010 } 5222 -enum : uint { MB_ICONQUESTION = 0x00000020 } 5223 -enum : uint { MB_ICONEXCLAMATION = 0x00000030 } 5224 -enum : uint { MB_ICONASTERISK = 0x00000040 } 5225 - 5226 -// #if(WINVER >= 0x0400) 5227 -enum : uint { MB_USERICON = 0x00000080 } 5228 -alias MB_ICONEXCLAMATION MB_ICONWARNING; 5229 -alias MB_ICONHAND MB_ICONERROR; 5230 -// #endif /* WINVER >= 0x0400 */ 5231 - 5232 -alias MB_ICONASTERISK MB_ICONINFORMATION; 5233 -alias MB_ICONHAND MB_ICONSTOP; 5234 - 5235 -enum : uint { MB_DEFBUTTON1 = 0x00000000 } 5236 -enum : uint { MB_DEFBUTTON2 = 0x00000100 } 5237 -enum : uint { MB_DEFBUTTON3 = 0x00000200 } 5238 -// #if(WINVER >= 0x0400) 5239 -enum : uint { MB_DEFBUTTON4 = 0x00000300 } 5240 -// #endif /* WINVER >= 0x0400 */ 5241 - 5242 -enum : uint { MB_APPLMODAL = 0x00000000 } 5243 -enum : uint { MB_SYSTEMMODAL = 0x00001000 } 5244 -enum : uint { MB_TASKMODAL = 0x00002000 } 5245 -// #if(WINVER >= 0x0400) 5246 -enum : uint { MB_HELP = 0x00004000 } 5247 -// #endif /* WINVER >= 0x0400 */ 5248 - 5249 -enum : uint { MB_NOFOCUS = 0x00008000 } 5250 -enum : uint { MB_SETFOREGROUND = 0x00010000 } 5251 -enum : uint { MB_DEFAULT_DESKTOP_ONLY = 0x00020000 } 5252 - 5253 -// #if(WINVER >= 0x0400) 5254 -enum : uint { MB_TOPMOST = 0x00040000 } 5255 -enum : uint { MB_RIGHT = 0x00080000 } 5256 -enum : uint { MB_RTLREADING = 0x00100000 } 5257 - 5258 -// #endif /* WINVER >= 0x0400 */ 5259 - 5260 -// #ifdef _WIN32_WINNT 5261 -// #if (_WIN32_WINNT >= 0x0400) 5262 -enum : uint { MB_SERVICE_NOTIFICATION = 0x00200000 } 5263 -// #else 5264 -// #... 5265 -// #endif 5266 -enum : uint { MB_SERVICE_NOTIFICATION_NT3X = 0x00040000 } 5267 -// #endif 5268 - 5269 -enum : uint { MB_TYPEMASK = 0x0000000F } 5270 -enum : uint { MB_ICONMASK = 0x000000F0 } 5271 -enum : uint { MB_DEFMASK = 0x00000F00 } 5272 -enum : uint { MB_MODEMASK = 0x00003000 } 5273 -enum : uint { MB_MISCMASK = 0x0000C000 } 5274 - 5275 -extern(Windows) export int MessageBoxA( 5276 - HWND hWnd, 5277 - LPCSTR lpText, 5278 - LPCSTR lpCaption, 5279 - UINT uType); 5280 -extern(Windows) export int MessageBoxW( 5281 - HWND hWnd, 5282 - LPCWSTR lpText, 5283 - LPCWSTR lpCaption, 5284 - UINT uType); 5285 -// #ifdef UNICODE 5286 -// #... 5287 -// #else 5288 -alias MessageBoxA MessageBox; 5289 -// #endif // !UNICODE 5290 - 5291 -extern(Windows) export int MessageBoxExA( 5292 - HWND hWnd, 5293 - LPCSTR lpText, 5294 - LPCSTR lpCaption, 5295 - UINT uType, 5296 - WORD wLanguageId); 5297 -extern(Windows) export int MessageBoxExW( 5298 - HWND hWnd, 5299 - LPCWSTR lpText, 5300 - LPCWSTR lpCaption, 5301 - UINT uType, 5302 - WORD wLanguageId); 5303 -// #ifdef UNICODE 5304 -// #... 5305 -// #else 5306 -alias MessageBoxExA MessageBoxEx; 5307 -// #endif // !UNICODE 5308 - 5309 -// #if(WINVER >= 0x0400) 5310 - 5311 -extern(Windows) alias void function(LPHELPINFO lpHelpInfo) MSGBOXCALLBACK; 5312 - 5313 -struct tagMSGBOXPARAMSA { 5314 - UINT cbSize; 5315 - HWND hwndOwner; 5316 - HINSTANCE hInstance; 5317 - LPCSTR lpszText; 5318 - LPCSTR lpszCaption; 5319 - DWORD dwStyle; 5320 - LPCSTR lpszIcon; 5321 - DWORD_PTR dwContextHelpId; 5322 - MSGBOXCALLBACK lpfnMsgBoxCallback; 5323 - DWORD dwLanguageId; 5324 -} 5325 -alias tagMSGBOXPARAMSA MSGBOXPARAMSA; 5326 -alias tagMSGBOXPARAMSA* PMSGBOXPARAMSA; 5327 -alias tagMSGBOXPARAMSA* LPMSGBOXPARAMSA; 5328 - 5329 -struct tagMSGBOXPARAMSW { 5330 - UINT cbSize; 5331 - HWND hwndOwner; 5332 - HINSTANCE hInstance; 5333 - LPCWSTR lpszText; 5334 - LPCWSTR lpszCaption; 5335 - DWORD dwStyle; 5336 - LPCWSTR lpszIcon; 5337 - DWORD_PTR dwContextHelpId; 5338 - MSGBOXCALLBACK lpfnMsgBoxCallback; 5339 - DWORD dwLanguageId; 5340 -} 5341 -alias tagMSGBOXPARAMSW MSGBOXPARAMSW; 5342 -alias tagMSGBOXPARAMSW* PMSGBOXPARAMSW; 5343 -alias tagMSGBOXPARAMSW* LPMSGBOXPARAMSW; 5344 - 5345 -// #ifdef UNICODE 5346 -// ... 5347 -// #else 5348 -alias MSGBOXPARAMSA MSGBOXPARAMS; 5349 -alias PMSGBOXPARAMSA PMSGBOXPARAMS; 5350 -alias LPMSGBOXPARAMSA LPMSGBOXPARAMS; 5351 -// #endif // UNICODE 5352 - 5353 -extern(Windows) export int MessageBoxIndirectA( 5354 - MSGBOXPARAMSA *); 5355 -extern(Windows) export int MessageBoxIndirectW( 5356 - MSGBOXPARAMSW *); 5357 -// #ifdef UNICODE 5358 -// #... 5359 -// #else 5360 -alias MessageBoxIndirectA MessageBoxIndirect; 5361 -// #endif // !UNICODE 5362 -// #endif /* WINVER >= 0x0400 */ 5363 - 5364 -extern(Windows) export BOOL MessageBeep( 5365 - UINT uType); 5366 - 5367 -// #endif /* !NOMB */ 5368 - 5369 -extern(Windows) export int ShowCursor( 5370 - BOOL bShow); 5371 - 5372 -extern(Windows) export BOOL SetCursorPos( 5373 - int X, 5374 - int Y); 5375 - 5376 -extern(Windows) export HCURSOR SetCursor( 5377 - HCURSOR hCursor); 5378 - 5379 -extern(Windows) export BOOL GetCursorPos( 5380 - LPPOINT lpPoint); 5381 - 5382 -extern(Windows) export BOOL ClipCursor( 5383 - RECT *lpRect); 5384 - 5385 -extern(Windows) export BOOL GetClipCursor( 5386 - LPRECT lpRect); 5387 - 5388 -extern(Windows) export HCURSOR GetCursor(); 5389 - 5390 -extern(Windows) export BOOL CreateCaret( 5391 - HWND hWnd, 5392 - HBITMAP hBitmap, 5393 - int nWidth, 5394 - int nHeight); 5395 - 5396 -extern(Windows) export UINT GetCaretBlinkTime(); 5397 - 5398 -extern(Windows) export BOOL SetCaretBlinkTime( 5399 - UINT uMSeconds); 5400 - 5401 -extern(Windows) export BOOL DestroyCaret(); 5402 - 5403 -extern(Windows) export BOOL HideCaret( 5404 - HWND hWnd); 5405 - 5406 -extern(Windows) export BOOL ShowCaret( 5407 - HWND hWnd); 5408 - 5409 -extern(Windows) export BOOL SetCaretPos( 5410 - int X, 5411 - int Y); 5412 - 5413 -extern(Windows) export BOOL GetCaretPos( 5414 - LPPOINT lpPoint); 5415 - 5416 -extern(Windows) export BOOL ClientToScreen( 5417 - HWND hWnd, 5418 - LPPOINT lpPoint); 5419 - 5420 -extern(Windows) export BOOL ScreenToClient( 5421 - HWND hWnd, 5422 - LPPOINT lpPoint); 5423 - 5424 -extern(Windows) export int MapWindowPoints( 5425 - HWND hWndFrom, 5426 - HWND hWndTo, 5427 - LPPOINT lpPoints, 5428 - UINT cPoints); 5429 - 5430 -extern(Windows) export HWND WindowFromPoint( 5431 - POINT Point); 5432 - 5433 -extern(Windows) export HWND ChildWindowFromPoint( 5434 - HWND hWndParent, 5435 - POINT Point); 5436 - 5437 -// #if(WINVER >= 0x0400) 5438 -enum : uint { CWP_ALL = 0x0000 } 5439 -enum : uint { CWP_SKIPINVISIBLE = 0x0001 } 5440 -enum : uint { CWP_SKIPDISABLED = 0x0002 } 5441 -enum : uint { CWP_SKIPTRANSPARENT = 0x0004 } 5442 - 5443 -extern(Windows) export HWND ChildWindowFromPointEx(HWND, POINT, UINT); 5444 -// #endif /* WINVER >= 0x0400 */ 5445 - 5446 -// #ifndef NOCOLOR 5447 - 5448 -enum : uint { CTLCOLOR_MSGBOX = 0 } 5449 -enum : uint { CTLCOLOR_EDIT = 1 } 5450 -enum : uint { CTLCOLOR_LISTBOX = 2 } 5451 -enum : uint { CTLCOLOR_BTN = 3 } 5452 -enum : uint { CTLCOLOR_DLG = 4 } 5453 -enum : uint { CTLCOLOR_SCROLLBAR = 5 } 5454 -enum : uint { CTLCOLOR_STATIC = 6 } 5455 -enum : uint { CTLCOLOR_MAX = 7 } 5456 - 5457 -enum : uint { COLOR_SCROLLBAR = 0 } 5458 -enum : uint { COLOR_BACKGROUND = 1 } 5459 -enum : uint { COLOR_ACTIVECAPTION = 2 } 5460 -enum : uint { COLOR_INACTIVECAPTION = 3 } 5461 -enum : uint { COLOR_MENU = 4 } 5462 -enum : uint { COLOR_WINDOW = 5 } 5463 -enum : uint { COLOR_WINDOWFRAME = 6 } 5464 -enum : uint { COLOR_MENUTEXT = 7 } 5465 -enum : uint { COLOR_WINDOWTEXT = 8 } 5466 -enum : uint { COLOR_CAPTIONTEXT = 9 } 5467 -enum : uint { COLOR_ACTIVEBORDER = 10 } 5468 -enum : uint { COLOR_INACTIVEBORDER = 11 } 5469 -enum : uint { COLOR_APPWORKSPACE = 12 } 5470 -enum : uint { COLOR_HIGHLIGHT = 13 } 5471 -enum : uint { COLOR_HIGHLIGHTTEXT = 14 } 5472 -enum : uint { COLOR_BTNFACE = 15 } 5473 -enum : uint { COLOR_BTNSHADOW = 16 } 5474 -enum : uint { COLOR_GRAYTEXT = 17 } 5475 -enum : uint { COLOR_BTNTEXT = 18 } 5476 -enum : uint { COLOR_INACTIVECAPTIONTEXT = 19 } 5477 -enum : uint { COLOR_BTNHIGHLIGHT = 20 } 5478 - 5479 -// #if(WINVER >= 0x0400) 5480 -enum : uint { COLOR_3DDKSHADOW = 21 } 5481 -enum : uint { COLOR_3DLIGHT = 22 } 5482 -enum : uint { COLOR_INFOTEXT = 23 } 5483 -enum : uint { COLOR_INFOBK = 24 } 5484 -// #endif /* WINVER >= 0x0400 */ 5485 - 5486 -// #if(WINVER >= 0x0500) 5487 -enum : uint { COLOR_HOTLIGHT = 26 } 5488 -enum : uint { COLOR_GRADIENTACTIVECAPTION = 27 } 5489 -enum : uint { COLOR_GRADIENTINACTIVECAPTION = 28 } 5490 -// #if(WINVER >= 0x0501) 5491 -enum : uint { COLOR_MENUHILIGHT = 29 } 5492 -enum : uint { COLOR_MENUBAR = 30 } 5493 -// #endif /* WINVER >= 0x0501 */ 5494 -// #endif /* WINVER >= 0x0500 */ 5495 - 5496 -// #if(WINVER >= 0x0400) 5497 -alias COLOR_BACKGROUND COLOR_DESKTOP; 5498 -alias COLOR_BTNFACE COLOR_3DFACE; 5499 -alias COLOR_BTNSHADOW COLOR_3DSHADOW; 5500 -alias COLOR_BTNHIGHLIGHT COLOR_3DHIGHLIGHT; 5501 -alias COLOR_BTNHIGHLIGHT COLOR_3DHILIGHT; 5502 -alias COLOR_BTNHIGHLIGHT COLOR_BTNHILIGHT; 5503 -// #endif /* WINVER >= 0x0400 */ 5504 - 5505 -extern(Windows) export DWORD GetSysColor( 5506 - int nIndex); 5507 - 5508 -// #if(WINVER >= 0x0400) 5509 -extern(Windows) export HBRUSH GetSysColorBrush( 5510 - int nIndex); 5511 - 5512 -// #endif /* WINVER >= 0x0400 */ 5513 - 5514 -extern(Windows) export BOOL SetSysColors( 5515 - int cElements, 5516 - INT * lpaElements, 5517 - COLORREF * lpaRgbValues); 5518 - 5519 -// #endif /* !NOCOLOR */ 5520 - 5521 -extern(Windows) export BOOL DrawFocusRect( 5522 - HDC hDC, 5523 - RECT * lprc); 5524 - 5525 -extern(Windows) export int FillRect( 5526 - HDC hDC, 5527 - RECT *lprc, 5528 - HBRUSH hbr); 5529 - 5530 -extern(Windows) export int FrameRect( 5531 - HDC hDC, 5532 - RECT *lprc, 5533 - HBRUSH hbr); 5534 - 5535 -extern(Windows) export BOOL InvertRect( 5536 - HDC hDC, 5537 - RECT *lprc); 5538 - 5539 -extern(Windows) export BOOL SetRect( 5540 - LPRECT lprc, 5541 - int xLeft, 5542 - int yTop, 5543 - int xRight, 5544 - int yBottom); 5545 - 5546 -extern(Windows) export BOOL SetRectEmpty( 5547 - LPRECT lprc); 5548 - 5549 -extern(Windows) export BOOL CopyRect( 5550 - LPRECT lprcDst, 5551 - RECT *lprcSrc); 5552 - 5553 -extern(Windows) export BOOL InflateRect( 5554 - LPRECT lprc, 5555 - int dx, 5556 - int dy); 5557 - 5558 -extern(Windows) export BOOL IntersectRect( 5559 - LPRECT lprcDst, 5560 - RECT *lprcSrc1, 5561 - RECT *lprcSrc2); 5562 - 5563 -extern(Windows) export BOOL UnionRect( 5564 - LPRECT lprcDst, 5565 - RECT *lprcSrc1, 5566 - RECT *lprcSrc2); 5567 - 5568 -extern(Windows) export BOOL SubtractRect( 5569 - LPRECT lprcDst, 5570 - RECT *lprcSrc1, 5571 - RECT *lprcSrc2); 5572 - 5573 -extern(Windows) export BOOL OffsetRect( 5574 - LPRECT lprc, 5575 - int dx, 5576 - int dy); 5577 - 5578 -extern(Windows) export BOOL IsRectEmpty( 5579 - RECT *lprc); 5580 - 5581 -extern(Windows) export BOOL EqualRect( 5582 - RECT *lprc1, 5583 - RECT *lprc2); 5584 - 5585 -extern(Windows) export BOOL PtInRect( 5586 - RECT *lprc, 5587 - POINT pt); 5588 - 5589 -// #ifndef NOWINOFFSETS 5590 - 5591 -extern(Windows) export WORD GetWindowWord( 5592 - HWND hWnd, 5593 - int nIndex); 5594 - 5595 -extern(Windows) export WORD SetWindowWord( 5596 - HWND hWnd, 5597 - int nIndex, 5598 - WORD wNewWord); 5599 - 5600 -extern(Windows) export LONG GetWindowLongA( 5601 - HWND hWnd, 5602 - int nIndex); 5603 -extern(Windows) export LONG GetWindowLongW( 5604 - HWND hWnd, 5605 - int nIndex); 5606 -// #ifdef UNICODE 5607 -// #... 5608 -// #else 5609 -alias GetWindowLongA GetWindowLong; 5610 -// #endif // !UNICODE 5611 - 5612 -extern(Windows) export LONG SetWindowLongA( 5613 - HWND hWnd, 5614 - int nIndex, 5615 - LONG dwNewLong); 5616 -extern(Windows) export LONG SetWindowLongW( 5617 - HWND hWnd, 5618 - int nIndex, 5619 - LONG dwNewLong); 5620 -// #ifdef UNICODE 5621 -// #... 5622 -// #else 5623 -alias SetWindowLongA SetWindowLong; 5624 -// #endif // !UNICODE 5625 - 5626 -// #ifdef _WIN64 5627 - 5628 -// ... 5629 -// #ifdef UNICODE 5630 -// #... 5631 -// #else 5632 -// #... 5633 -// #endif // !UNICODE 5634 - 5635 -// ... 5636 -// #ifdef UNICODE 5637 -// #... 5638 -// #else 5639 -// #... 5640 -// #endif // !UNICODE 5641 - 5642 -// #else /* _WIN64 */ 5643 - 5644 -alias GetWindowLongA GetWindowLongPtrA; 5645 -alias GetWindowLongW GetWindowLongPtrW; 5646 -// #ifdef UNICODE 5647 -// #... 5648 -// #else 5649 -alias GetWindowLongPtrA GetWindowLongPtr; 5650 -// #endif // !UNICODE 5651 - 5652 -alias SetWindowLongA SetWindowLongPtrA; 5653 -alias SetWindowLongW SetWindowLongPtrW; 5654 -// #ifdef UNICODE 5655 -// #... 5656 -// #else 5657 -alias SetWindowLongPtrA SetWindowLongPtr; 5658 -// #endif // !UNICODE 5659 - 5660 -// #endif /* _WIN64 */ 5661 - 5662 -extern(Windows) export WORD GetClassWord( 5663 - HWND hWnd, 5664 - int nIndex); 5665 - 5666 -extern(Windows) export WORD SetClassWord( 5667 - HWND hWnd, 5668 - int nIndex, 5669 - WORD wNewWord); 5670 - 5671 -extern(Windows) export DWORD GetClassLongA( 5672 - HWND hWnd, 5673 - int nIndex); 5674 -extern(Windows) export DWORD GetClassLongW( 5675 - HWND hWnd, 5676 - int nIndex); 5677 -// #ifdef UNICODE 5678 -// #... 5679 -// #else 5680 -alias GetClassLongA GetClassLong; 5681 -// #endif // !UNICODE 5682 - 5683 -extern(Windows) export DWORD SetClassLongA( 5684 - HWND hWnd, 5685 - int nIndex, 5686 - LONG dwNewLong); 5687 -extern(Windows) export DWORD SetClassLongW( 5688 - HWND hWnd, 5689 - int nIndex, 5690 - LONG dwNewLong); 5691 -// #ifdef UNICODE 5692 -// #... 5693 -// #else 5694 -alias SetClassLongA SetClassLong; 5695 -// #endif // !UNICODE 5696 - 5697 -// #ifdef _WIN64 5698 - 5699 -// ... 5700 -// #ifdef UNICODE 5701 -// #... 5702 -// #else 5703 -// #... 5704 -// #endif // !UNICODE 5705 - 5706 -// ... 5707 -// #ifdef UNICODE 5708 -// #... 5709 -// #else 5710 -// #... 5711 -// #endif // !UNICODE 5712 - 5713 -// #else /* _WIN64 */ 5714 - 5715 -alias GetClassLongA GetClassLongPtrA; 5716 -alias GetClassLongW GetClassLongPtrW; 5717 -// #ifdef UNICODE 5718 -// #... 5719 -// #else 5720 -alias GetClassLongPtrA GetClassLongPtr; 5721 -// #endif // !UNICODE 5722 - 5723 -alias SetClassLongA SetClassLongPtrA; 5724 -alias SetClassLongW SetClassLongPtrW; 5725 -// #ifdef UNICODE 5726 -// #... 5727 -// #else 5728 -alias SetClassLongPtrA SetClassLongPtr; 5729 -// #endif // !UNICODE 5730 - 5731 -// #endif /* _WIN64 */ 5732 - 5733 -// #endif /* !NOWINOFFSETS */ 5734 - 5735 -// #if(WINVER >= 0x0500) 5736 -extern(Windows) export BOOL GetProcessDefaultLayout( 5737 - DWORD *pdwDefaultLayout); 5738 - 5739 -extern(Windows) export BOOL SetProcessDefaultLayout( 5740 - DWORD dwDefaultLayout); 5741 -// #endif /* WINVER >= 0x0500 */ 5742 - 5743 -extern(Windows) export HWND GetDesktopWindow(); 5744 - 5745 -extern(Windows) export HWND GetParent( 5746 - HWND hWnd); 5747 - 5748 -extern(Windows) export HWND SetParent( 5749 - HWND hWndChild, 5750 - HWND hWndNewParent); 5751 - 5752 -extern(Windows) export BOOL EnumChildWindows( 5753 - HWND hWndParent, 5754 - WNDENUMPROC lpEnumFunc, 5755 - LPARAM lParam); 5756 - 5757 -extern(Windows) export HWND FindWindowA( 5758 - LPCSTR lpClassName, 5759 - LPCSTR lpWindowName); 5760 -extern(Windows) export HWND FindWindowW( 5761 - LPCWSTR lpClassName, 5762 - LPCWSTR lpWindowName); 5763 -// #ifdef UNICODE 5764 -// #... 5765 -// #else 5766 -alias FindWindowA FindWindow; 5767 -// #endif // !UNICODE 5768 - 5769 -// #if(WINVER >= 0x0400) 5770 -extern(Windows) export HWND FindWindowExA(HWND, HWND, LPCSTR, LPCSTR); 5771 -extern(Windows) export HWND FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR); 5772 -// #ifdef UNICODE 5773 -// #... 5774 -// #else 5775 -alias FindWindowExA FindWindowEx; 5776 -// #endif // !UNICODE 5777 - 5778 -// #endif /* WINVER >= 0x0400 */ 5779 - 5780 -extern(Windows) export BOOL EnumWindows( 5781 - WNDENUMPROC lpEnumFunc, 5782 - LPARAM lParam); 5783 - 5784 -extern(Windows) export BOOL EnumThreadWindows( 5785 - DWORD dwThreadId, 5786 - WNDENUMPROC lpfn, 5787 - LPARAM lParam); 5788 - 5789 -// #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows(HandleToUlong(hTask), lpfn, lParam) 5790 - 5791 -extern(Windows) export int GetClassNameA( 5792 - HWND hWnd, 5793 - LPSTR lpClassName, 5794 - int nMaxCount); 5795 -extern(Windows) export int GetClassNameW( 5796 - HWND hWnd, 5797 - LPWSTR lpClassName, 5798 - int nMaxCount); 5799 -// #ifdef UNICODE 5800 -// #... 5801 -// #else 5802 -alias GetClassNameA GetClassName; 5803 -// #endif // !UNICODE 5804 - 5805 -extern(Windows) export HWND GetTopWindow( 5806 - HWND hWnd); 5807 - 5808 -// #define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd) 5809 -// #define GetSysModalWindow() (NULL) 5810 -// #define SetSysModalWindow(hWnd) (NULL) 5811 - 5812 -extern(Windows) export DWORD GetWindowThreadProcessId( 5813 - HWND hWnd, 5814 - LPDWORD lpdwProcessId); 5815 - 5816 -// #if(_WIN32_WINNT >= 0x0501) 5817 -extern(Windows) export BOOL IsGUIThread( 5818 - BOOL bConvert); 5819 - 5820 -// #endif /* _WIN32_WINNT >= 0x0501 */ 5821 - 5822 -// #define GetWindowTask(hWnd) ((HANDLE)(DWORD_PTR)GetWindowThreadProcessId(hWnd, NULL)) 5823 - 5824 -extern(Windows) export HWND GetLastActivePopup( 5825 - HWND hWnd); 5826 - 5827 -enum : uint { GW_HWNDFIRST = 0 } 5828 -enum : uint { GW_HWNDLAST = 1 } 5829 -enum : uint { GW_HWNDNEXT = 2 } 5830 -enum : uint { GW_HWNDPREV = 3 } 5831 -enum : uint { GW_OWNER = 4 } 5832 -enum : uint { GW_CHILD = 5 } 5833 -// #if(WINVER <= 0x0400) 5834 -// #... 5835 -// #else 5836 -enum : uint { GW_ENABLEDPOPUP = 6 } 5837 -enum : uint { GW_MAX = 6 } 5838 -// #endif 5839 - 5840 -extern(Windows) export HWND GetWindow( 5841 - HWND hWnd, 5842 - UINT uCmd); 5843 - 5844 -// #ifndef NOWH 5845 - 5846 -// #ifdef STRICT 5847 - 5848 -extern(Windows) export HHOOK SetWindowsHookA( 5849 - int nFilterType, 5850 - HOOKPROC pfnFilterProc); 5851 -extern(Windows) export HHOOK SetWindowsHookW( 5852 - int nFilterType, 5853 - HOOKPROC pfnFilterProc); 5854 -// #ifdef UNICODE 5855 -// #... 5856 -// #else 5857 -alias SetWindowsHookA SetWindowsHook; 5858 -// #endif // !UNICODE 5859 - 5860 -// #else /* !STRICT */ 5861 - 5862 -// ... 5863 -// #ifdef UNICODE 5864 -// #... 5865 -// #else 5866 -// #... 5867 -// #endif // !UNICODE 5868 - 5869 -// #endif /* !STRICT */ 5870 - 5871 -extern(Windows) export BOOL UnhookWindowsHook( 5872 - int nCode, 5873 - HOOKPROC pfnFilterProc); 5874 - 5875 -extern(Windows) export HHOOK SetWindowsHookExA( 5876 - int idHook, 5877 - HOOKPROC lpfn, 5878 - HINSTANCE hmod, 5879 - DWORD dwThreadId); 5880 -extern(Windows) export HHOOK SetWindowsHookExW( 5881 - int idHook, 5882 - HOOKPROC lpfn, 5883 - HINSTANCE hmod, 5884 - DWORD dwThreadId); 5885 -// #ifdef UNICODE 5886 -// #... 5887 -// #else 5888 -alias SetWindowsHookExA SetWindowsHookEx; 5889 -// #endif // !UNICODE 5890 - 5891 -extern(Windows) export BOOL UnhookWindowsHookEx( 5892 - HHOOK hhk); 5893 - 5894 -extern(Windows) export LRESULT CallNextHookEx( 5895 - HHOOK hhk, 5896 - int nCode, 5897 - WPARAM wParam, 5898 - LPARAM lParam); 5899 - 5900 -// #ifdef STRICT 5901 -// #define DefHookProc(nCode, wParam, lParam, phhk) CallNextHookEx(*phhk, nCode, wParam, lParam) 5902 -// #else 5903 -// #... 5904 -// ... 5905 -// #endif /* STRICT */ 5906 -// #endif /* !NOWH */ 5907 - 5908 -// #ifndef NOMENUS 5909 - 5910 -enum : uint { MF_INSERT = 0x00000000 } 5911 -enum : uint { MF_CHANGE = 0x00000080 } 5912 -enum : uint { MF_APPEND = 0x00000100 } 5913 -enum : uint { MF_DELETE = 0x00000200 } 5914 -enum : uint { MF_REMOVE = 0x00001000 } 5915 - 5916 -enum : uint { MF_BYCOMMAND = 0x00000000 } 5917 -enum : uint { MF_BYPOSITION = 0x00000400 } 5918 - 5919 -enum : uint { MF_SEPARATOR = 0x00000800 } 5920 - 5921 -enum : uint { MF_ENABLED = 0x00000000 } 5922 -enum : uint { MF_GRAYED = 0x00000001 } 5923 -enum : uint { MF_DISABLED = 0x00000002 } 5924 - 5925 -enum : uint { MF_UNCHECKED = 0x00000000 } 5926 -enum : uint { MF_CHECKED = 0x00000008 } 5927 -enum : uint { MF_USECHECKBITMAPS = 0x00000200 } 5928 - 5929 -enum : uint { MF_STRING = 0x00000000 } 5930 -enum : uint { MF_BITMAP = 0x00000004 } 5931 -enum : uint { MF_OWNERDRAW = 0x00000100 } 5932 - 5933 -enum : uint { MF_POPUP = 0x00000010 } 5934 -enum : uint { MF_MENUBARBREAK = 0x00000020 } 5935 -enum : uint { MF_MENUBREAK = 0x00000040 } 5936 - 5937 -enum : uint { MF_UNHILITE = 0x00000000 } 5938 -enum : uint { MF_HILITE = 0x00000080 } 5939 - 5940 -// #if(WINVER >= 0x0400) 5941 -enum : uint { MF_DEFAULT = 0x00001000 } 5942 -// #endif /* WINVER >= 0x0400 */ 5943 -enum : uint { MF_SYSMENU = 0x00002000 } 5944 -enum : uint { MF_HELP = 0x00004000 } 5945 -// #if(WINVER >= 0x0400) 5946 -enum : uint { MF_RIGHTJUSTIFY = 0x00004000 } 5947 -// #endif /* WINVER >= 0x0400 */ 5948 - 5949 -enum : uint { MF_MOUSESELECT = 0x00008000 } 5950 -// #if(WINVER >= 0x0400) 5951 -enum : uint { MF_END = 0x00000080 } 5952 -// #endif /* WINVER >= 0x0400 */ 5953 - 5954 -// #if(WINVER >= 0x0400) 5955 -alias MF_STRING MFT_STRING; 5956 -alias MF_BITMAP MFT_BITMAP; 5957 -alias MF_MENUBARBREAK MFT_MENUBARBREAK; 5958 -alias MF_MENUBREAK MFT_MENUBREAK; 5959 -alias MF_OWNERDRAW MFT_OWNERDRAW; 5960 -enum : uint { MFT_RADIOCHECK = 0x00000200 } 5961 -alias MF_SEPARATOR MFT_SEPARATOR; 5962 -enum : uint { MFT_RIGHTORDER = 0x00002000 } 5963 -alias MF_RIGHTJUSTIFY MFT_RIGHTJUSTIFY; 5964 - 5965 -enum : uint { MFS_GRAYED = 0x00000003 } 5966 -alias MFS_GRAYED MFS_DISABLED; 5967 -alias MF_CHECKED MFS_CHECKED; 5968 -alias MF_HILITE MFS_HILITE; 5969 -alias MF_ENABLED MFS_ENABLED; 5970 -alias MF_UNCHECKED MFS_UNCHECKED; 5971 -alias MF_UNHILITE MFS_UNHILITE; 5972 -alias MF_DEFAULT MFS_DEFAULT; 5973 -// #endif /* WINVER >= 0x0400 */ 5974 - 5975 -// #if(WINVER >= 0x0400) 5976 - 5977 -extern(Windows) export BOOL CheckMenuRadioItem( 5978 - HMENU, 5979 - UINT, 5980 - UINT, 5981 - UINT, 5982 - UINT); 5983 -// #endif /* WINVER >= 0x0400 */ 5984 - 5985 -struct _4 { 5986 - WORD versionNumber; 5987 - WORD offset; 5988 -} 5989 -alias _4 MENUITEMTEMPLATEHEADER; 5990 -alias _4* PMENUITEMTEMPLATEHEADER; 5991 - 5992 -struct _5 { 5993 - WORD mtOption; 5994 - WORD mtID; 5995 - WCHAR mtString[1]; 5996 -} 5997 -alias _5 MENUITEMTEMPLATE; 5998 -alias _5* PMENUITEMTEMPLATE; 5999 - 6000 -// skip #define MF_END 0x00000080L 6001 - 6002 -// #endif /* !NOMENUS */ 6003 - 6004 -// #ifndef NOSYSCOMMANDS 6005 - 6006 -enum : uint { SC_SIZE = 0xF000 } 6007 -enum : uint { SC_MOVE = 0xF010 } 6008 -enum : uint { SC_MINIMIZE = 0xF020 } 6009 -enum : uint { SC_MAXIMIZE = 0xF030 } 6010 -enum : uint { SC_NEXTWINDOW = 0xF040 } 6011 -enum : uint { SC_PREVWINDOW = 0xF050 } 6012 -enum : uint { SC_CLOSE = 0xF060 } 6013 -enum : uint { SC_VSCROLL = 0xF070 } 6014 -enum : uint { SC_HSCROLL = 0xF080 } 6015 -enum : uint { SC_MOUSEMENU = 0xF090 } 6016 -enum : uint { SC_KEYMENU = 0xF100 } 6017 -enum : uint { SC_ARRANGE = 0xF110 } 6018 -enum : uint { SC_RESTORE = 0xF120 } 6019 -enum : uint { SC_TASKLIST = 0xF130 } 6020 -enum : uint { SC_SCREENSAVE = 0xF140 } 6021 -enum : uint { SC_HOTKEY = 0xF150 } 6022 -// #if(WINVER >= 0x0400) 6023 -enum : uint { SC_DEFAULT = 0xF160 } 6024 -enum : uint { SC_MONITORPOWER = 0xF170 } 6025 -enum : uint { SC_CONTEXTHELP = 0xF180 } 6026 -enum : uint { SC_SEPARATOR = 0xF00F } 6027 -// #endif /* WINVER >= 0x0400 */ 6028 - 6029 -alias SC_MINIMIZE SC_ICON; 6030 -alias SC_MAXIMIZE SC_ZOOM; 6031 - 6032 -// #endif /* !NOSYSCOMMANDS */ 6033 - 6034 -extern(Windows) export HBITMAP LoadBitmapA( 6035 - HINSTANCE hInstance, 6036 - LPCSTR lpBitmapName); 6037 -extern(Windows) export HBITMAP LoadBitmapW( 6038 - HINSTANCE hInstance, 6039 - LPCWSTR lpBitmapName); 6040 -// #ifdef UNICODE 6041 -// #... 6042 -// #else 6043 -alias LoadBitmapA LoadBitmap; 6044 -// #endif // !UNICODE 6045 - 6046 -extern(Windows) export HCURSOR LoadCursorA( 6047 - HINSTANCE hInstance, 6048 - LPCSTR lpCursorName); 6049 -extern(Windows) export HCURSOR LoadCursorW( 6050 - HINSTANCE hInstance, 6051 - LPCWSTR lpCursorName); 6052 -// #ifdef UNICODE 6053 -// #... 6054 -// #else 6055 -alias LoadCursorA LoadCursor; 6056 -// #endif // !UNICODE 6057 - 6058 -extern(Windows) export HCURSOR LoadCursorFromFileA( 6059 - LPCSTR lpFileName); 6060 -extern(Windows) export HCURSOR LoadCursorFromFileW( 6061 - LPCWSTR lpFileName); 6062 -// #ifdef UNICODE 6063 -// #... 6064 -// #else 6065 -alias LoadCursorFromFileA LoadCursorFromFile; 6066 -// #endif // !UNICODE 6067 - 6068 -extern(Windows) export HCURSOR CreateCursor( 6069 - HINSTANCE hInst, 6070 - int xHotSpot, 6071 - int yHotSpot, 6072 - int nWidth, 6073 - int nHeight, 6074 - VOID *pvANDPlane, 6075 - VOID *pvXORPlane); 6076 - 6077 -extern(Windows) export BOOL DestroyCursor( 6078 - HCURSOR hCursor); 6079 - 6080 -// #ifndef _MAC 6081 -alias CopyIcon CopyCursor; 6082 -// #else 6083 -// ... 6084 -// #endif 6085 - 6086 -const LPTSTR IDC_ARROW = cast(LPTSTR)(32512); 6087 -const LPTSTR IDC_IBEAM = cast(LPTSTR)(32513); 6088 -const LPTSTR IDC_WAIT = cast(LPTSTR)(32514); 6089 -const LPTSTR IDC_CROSS = cast(LPTSTR)(32515); 6090 -const LPTSTR IDC_UPARROW = cast(LPTSTR)(32516); 6091 -const LPTSTR IDC_SIZE = cast(LPTSTR)(32640); 6092 -const LPTSTR IDC_ICON = cast(LPTSTR)(32641); 6093 -const LPTSTR IDC_SIZENWSE = cast(LPTSTR)(32642); 6094 -const LPTSTR IDC_SIZENESW = cast(LPTSTR)(32643); 6095 -const LPTSTR IDC_SIZEWE = cast(LPTSTR)(32644); 6096 -const LPTSTR IDC_SIZENS = cast(LPTSTR)(32645); 6097 -const LPTSTR IDC_SIZEALL = cast(LPTSTR)(32646); 6098 -const LPTSTR IDC_NO = cast(LPTSTR)(32648); 6099 -// #if(WINVER >= 0x0500) 6100 -const LPTSTR IDC_HAND = cast(LPTSTR)(32649); 6101 -// #endif /* WINVER >= 0x0500 */ 6102 -const LPTSTR IDC_APPSTARTING = cast(LPTSTR)(32650); 6103 -// #if(WINVER >= 0x0400) 6104 -const LPTSTR IDC_HELP = cast(LPTSTR)(32651); 6105 -// #endif /* WINVER >= 0x0400 */ 6106 - 6107 -extern(Windows) export BOOL SetSystemCursor( 6108 - HCURSOR hcur, 6109 - DWORD id); 6110 - 6111 -struct _ICONINFO { 6112 - BOOL fIcon; 6113 - DWORD xHotspot; 6114 - DWORD yHotspot; 6115 - HBITMAP hbmMask; 6116 - HBITMAP hbmColor; 6117 -} 6118 -alias _ICONINFO ICONINFO; 6119 - 6120 -alias ICONINFO* PICONINFO; 6121 - 6122 -extern(Windows) export HICON LoadIconA( 6123 - HINSTANCE hInstance, 6124 - LPCSTR lpIconName); 6125 -extern(Windows) export HICON LoadIconW( 6126 - HINSTANCE hInstance, 6127 - LPCWSTR lpIconName); 6128 -// #ifdef UNICODE 6129 -// #... 6130 -// #else 6131 -alias LoadIconA LoadIcon; 6132 -// #endif // !UNICODE 6133 - 6134 -extern(Windows) export HICON CreateIcon( 6135 - HINSTANCE hInstance, 6136 - int nWidth, 6137 - int nHeight, 6138 - BYTE cPlanes, 6139 - BYTE cBitsPixel, 6140 - BYTE *lpbANDbits, 6141 - BYTE *lpbXORbits); 6142 - 6143 -extern(Windows) export BOOL DestroyIcon( 6144 - HICON hIcon); 6145 - 6146 -extern(Windows) export int LookupIconIdFromDirectory( 6147 - PBYTE presbits, 6148 - BOOL fIcon); 6149 - 6150 -// #if(WINVER >= 0x0400) 6151 -extern(Windows) export int LookupIconIdFromDirectoryEx( 6152 - PBYTE presbits, 6153 - BOOL fIcon, 6154 - int cxDesired, 6155 - int cyDesired, 6156 - UINT Flags); 6157 -// #endif /* WINVER >= 0x0400 */ 6158 - 6159 -extern(Windows) export HICON CreateIconFromResource( 6160 - PBYTE presbits, 6161 - DWORD dwResSize, 6162 - BOOL fIcon, 6163 - DWORD dwVer); 6164 - 6165 -// #if(WINVER >= 0x0400) 6166 -extern(Windows) export HICON CreateIconFromResourceEx( 6167 - PBYTE presbits, 6168 - DWORD dwResSize, 6169 - BOOL fIcon, 6170 - DWORD dwVer, 6171 - int cxDesired, 6172 - int cyDesired, 6173 - UINT Flags); 6174 - 6175 -struct tagCURSORSHAPE { 6176 - int xHotSpot; 6177 - int yHotSpot; 6178 - int cx; 6179 - int cy; 6180 - int cbWidth; 6181 - BYTE Planes; 6182 - BYTE BitsPixel; 6183 -} 6184 -alias tagCURSORSHAPE CURSORSHAPE; 6185 -alias tagCURSORSHAPE* LPCURSORSHAPE; 6186 - 6187 -// #endif /* WINVER >= 0x0400 */ 6188 - 6189 -enum : uint { IMAGE_BITMAP = 0 } 6190 -enum : uint { IMAGE_ICON = 1 } 6191 -enum : uint { IMAGE_CURSOR = 2 } 6192 -// #if(WINVER >= 0x0400) 6193 -enum : uint { IMAGE_ENHMETAFILE = 3 } 6194 - 6195 -enum : uint { LR_DEFAULTCOLOR = 0x0000 } 6196 -enum : uint { LR_MONOCHROME = 0x0001 } 6197 -enum : uint { LR_COLOR = 0x0002 } 6198 -enum : uint { LR_COPYRETURNORG = 0x0004 } 6199 -enum : uint { LR_COPYDELETEORG = 0x0008 } 6200 -enum : uint { LR_LOADFROMFILE = 0x0010 } 6201 -enum : uint { LR_LOADTRANSPARENT = 0x0020 } 6202 -enum : uint { LR_DEFAULTSIZE = 0x0040 } 6203 -enum : uint { LR_VGACOLOR = 0x0080 } 6204 -enum : uint { LR_LOADMAP3DCOLORS = 0x1000 } 6205 -enum : uint { LR_CREATEDIBSECTION = 0x2000 } 6206 -enum : uint { LR_COPYFROMRESOURCE = 0x4000 } 6207 -enum : uint { LR_SHARED = 0x8000 } 6208 - 6209 -extern(Windows) export HANDLE LoadImageA( 6210 - HINSTANCE, 6211 - LPCSTR, 6212 - UINT, 6213 - int, 6214 - int, 6215 - UINT); 6216 -extern(Windows) export HANDLE LoadImageW( 6217 - HINSTANCE, 6218 - LPCWSTR, 6219 - UINT, 6220 - int, 6221 - int, 6222 - UINT); 6223 -// #ifdef UNICODE 6224 -// #... 6225 -// #else 6226 -alias LoadImageA LoadImage; 6227 -// #endif // !UNICODE 6228 - 6229 -extern(Windows) export HANDLE CopyImage( 6230 - HANDLE, 6231 - UINT, 6232 - int, 6233 - int, 6234 - UINT); 6235 - 6236 -enum : uint { DI_MASK = 0x0001 } 6237 -enum : uint { DI_IMAGE = 0x0002 } 6238 -enum : uint { DI_NORMAL = 0x0003 } 6239 -enum : uint { DI_COMPAT = 0x0004 } 6240 -enum : uint { DI_DEFAULTSIZE = 0x0008 } 6241 -// #if(_WIN32_WINNT >= 0x0501) 6242 -enum : uint { DI_NOMIRROR = 0x0010 } 6243 -// #endif /* _WIN32_WINNT >= 0x0501 */ 6244 - 6245 -extern(Windows) export BOOL DrawIconEx(HDC hdc, int xLeft, int yTop, 6246 - HICON hIcon, int cxWidth, int cyWidth, 6247 - UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); 6248 -// #endif /* WINVER >= 0x0400 */ 6249 - 6250 -extern(Windows) export HICON CreateIconIndirect( 6251 - PICONINFO piconinfo); 6252 - 6253 -extern(Windows) export HICON CopyIcon( 6254 - HICON hIcon); 6255 - 6256 -extern(Windows) export BOOL GetIconInfo( 6257 - HICON hIcon, 6258 - PICONINFO piconinfo); 6259 - 6260 -// #if(WINVER >= 0x0400) 6261 -enum : uint { RES_ICON = 1 } 6262 -enum : uint { RES_CURSOR = 2 } 6263 -// #endif /* WINVER >= 0x0400 */ 6264 - 6265 -// #ifdef OEMRESOURCE 6266 - 6267 -// #... 6268 -// #... 6269 -// #... 6270 -// #... 6271 -// #... 6272 -// #... 6273 -// #... 6274 -// #... 6275 -// #... 6276 -// #... 6277 -// #... 6278 -// #... 6279 -// #... 6280 -// #... 6281 -// #... 6282 -// #... 6283 -// #... 6284 -// #... 6285 -// #... 6286 -// #... 6287 -// #... 6288 - 6289 -// #... 6290 -// #... 6291 -// #... 6292 -// #... 6293 -// #... 6294 -// #... 6295 -// #... 6296 -// #... 6297 -// #... 6298 -// #... 6299 -// #... 6300 -// #... 6301 -// #... 6302 - 6303 -// #... 6304 -// #... 6305 -// #... 6306 -// #... 6307 -// #... 6308 -// #... 6309 -// #... 6310 -// #... 6311 -// #... 6312 -// #... 6313 -// #... 6314 -// #... 6315 -// #... 6316 -// #... 6317 -// #if(WINVER >= 0x0500) 6318 -// #... 6319 -// #endif /* WINVER >= 0x0500 */ 6320 -// #if(WINVER >= 0x0400) 6321 -// #... 6322 -// #endif /* WINVER >= 0x0400 */ 6323 - 6324 -// #... 6325 -// #... 6326 -// #... 6327 -// #... 6328 -// #... 6329 -// #if(WINVER >= 0x0400) 6330 -// #... 6331 -// #... 6332 -// #... 6333 -// #... 6334 -// #endif /* WINVER >= 0x0400 */ 6335 - 6336 -// #endif /* OEMRESOURCE */ 6337 - 6338 -enum : uint { ORD_LANGDRIVER = 1 } 6339 - 6340 -// #ifndef NOICONS 6341 - 6342 -// #ifdef RC_INVOKED 6343 -// #... 6344 -// #... 6345 -// #... 6346 -// #... 6347 -// #... 6348 -// #if(WINVER >= 0x0400) 6349 -// #... 6350 -// #endif /* WINVER >= 0x0400 */ 6351 -// #else 6352 -const LPTSTR IDI_APPLICATION = cast(LPTSTR)(32512); 6353 -const LPTSTR IDI_HAND = cast(LPTSTR)(32513); 6354 -const LPTSTR IDI_QUESTION = cast(LPTSTR)(32514); 6355 -const LPTSTR IDI_EXCLAMATION = cast(LPTSTR)(32515); 6356 -const LPTSTR IDI_ASTERISK = cast(LPTSTR)(32516); 6357 -// #if(WINVER >= 0x0400) 6358 -const LPTSTR IDI_WINLOGO = cast(LPTSTR)(32517); 6359 -// #endif /* WINVER >= 0x0400 */ 6360 -// #endif /* RC_INVOKED */ 6361 - 6362 -// #if(WINVER >= 0x0400) 6363 -alias IDI_EXCLAMATION IDI_WARNING; 6364 -alias IDI_HAND IDI_ERROR; 6365 -alias IDI_ASTERISK IDI_INFORMATION; 6366 -// #endif /* WINVER >= 0x0400 */ 6367 - 6368 -// #endif /* !NOICONS */ 6369 - 6370 -extern(Windows) export int LoadStringA( 6371 - HINSTANCE hInstance, 6372 - UINT uID, 6373 - LPSTR lpBuffer, 6374 - int nBufferMax); 6375 -extern(Windows) export int LoadStringW( 6376 - HINSTANCE hInstance, 6377 - UINT uID, 6378 - LPWSTR lpBuffer, 6379 - int nBufferMax); 6380 -// #ifdef UNICODE 6381 -// #... 6382 -// #else 6383 -alias LoadStringA LoadString; 6384 -// #endif // !UNICODE 6385 - 6386 -enum : uint { IDOK = 1 } 6387 -enum : uint { IDCANCEL = 2 } 6388 -enum : uint { IDABORT = 3 } 6389 -enum : uint { IDRETRY = 4 } 6390 -enum : uint { IDIGNORE = 5 } 6391 -enum : uint { IDYES = 6 } 6392 -enum : uint { IDNO = 7 } 6393 -// #if(WINVER >= 0x0400) 6394 -enum : uint { IDCLOSE = 8 } 6395 -enum : uint { IDHELP = 9 } 6396 -// #endif /* WINVER >= 0x0400 */ 6397 - 6398 -// #if(WINVER >= 0x0500) 6399 -enum : uint { IDTRYAGAIN = 10 } 6400 -enum : uint { IDCONTINUE = 11 } 6401 -// #endif /* WINVER >= 0x0500 */ 6402 - 6403 -// #if(WINVER >= 0x0501) 6404 -// #ifndef IDTIMEOUT 6405 -enum : uint { IDTIMEOUT = 32000 } 6406 -// #endif 6407 -// #endif /* WINVER >= 0x0501 */ 6408 - 6409 -// #ifndef NOCTLMGR 6410 - 6411 -// #ifndef NOWINSTYLES 6412 - 6413 -enum : uint { ES_LEFT = 0x0000 } 6414 -enum : uint { ES_CENTER = 0x0001 } 6415 -enum : uint { ES_RIGHT = 0x0002 } 6416 -enum : uint { ES_MULTILINE = 0x0004 } 6417 -enum : uint { ES_UPPERCASE = 0x0008 } 6418 -enum : uint { ES_LOWERCASE = 0x0010 } 6419 -enum : uint { ES_PASSWORD = 0x0020 } 6420 -enum : uint { ES_AUTOVSCROLL = 0x0040 } 6421 -enum : uint { ES_AUTOHSCROLL = 0x0080 } 6422 -enum : uint { ES_NOHIDESEL = 0x0100 } 6423 -enum : uint { ES_OEMCONVERT = 0x0400 } 6424 -enum : uint { ES_READONLY = 0x0800 } 6425 -enum : uint { ES_WANTRETURN = 0x1000 } 6426 -// #if(WINVER >= 0x0400) 6427 -enum : uint { ES_NUMBER = 0x2000 } 6428 -// #endif /* WINVER >= 0x0400 */ 6429 - 6430 -// #endif /* !NOWINSTYLES */ 6431 - 6432 -enum : uint { EN_SETFOCUS = 0x0100 } 6433 -enum : uint { EN_KILLFOCUS = 0x0200 } 6434 -enum : uint { EN_CHANGE = 0x0300 } 6435 -enum : uint { EN_UPDATE = 0x0400 } 6436 -enum : uint { EN_ERRSPACE = 0x0500 } 6437 -enum : uint { EN_MAXTEXT = 0x0501 } 6438 -enum : uint { EN_HSCROLL = 0x0601 } 6439 -enum : uint { EN_VSCROLL = 0x0602 } 6440 - 6441 -// #if(_WIN32_WINNT >= 0x0500) 6442 -enum : uint { EN_ALIGN_LTR_EC = 0x0700 } 6443 -enum : uint { EN_ALIGN_RTL_EC = 0x0701 } 6444 -// #endif /* _WIN32_WINNT >= 0x0500 */ 6445 - 6446 -// #if(WINVER >= 0x0400) 6447 - 6448 -enum : uint { EC_LEFTMARGIN = 0x0001 } 6449 -enum : uint { EC_RIGHTMARGIN = 0x0002 } 6450 -enum : uint { EC_USEFONTINFO = 0xffff } 6451 -// #endif /* WINVER >= 0x0400 */ 6452 - 6453 -// #if(WINVER >= 0x0500) 6454 - 6455 -enum : uint { EMSIS_COMPOSITIONSTRING = 0x0001 } 6456 - 6457 -enum : uint { EIMES_GETCOMPSTRATONCE = 0x0001 } 6458 -enum : uint { EIMES_CANCELCOMPSTRINFOCUS = 0x0002 } 6459 -enum : uint { EIMES_COMPLETECOMPSTRKILLFOCUS = 0x0004 } 6460 -// #endif /* WINVER >= 0x0500 */ 6461 - 6462 -// #ifndef NOWINMESSAGES 6463 - 6464 -enum : uint { EM_GETSEL = 0x00B0 } 6465 -enum : uint { EM_SETSEL = 0x00B1 } 6466 -enum : uint { EM_GETRECT = 0x00B2 } 6467 -enum : uint { EM_SETRECT = 0x00B3 } 6468 -enum : uint { EM_SETRECTNP = 0x00B4 } 6469 -enum : uint { EM_SCROLL = 0x00B5 } 6470 -enum : uint { EM_LINESCROLL = 0x00B6 } 6471 -enum : uint { EM_SCROLLCARET = 0x00B7 } 6472 -enum : uint { EM_GETMODIFY = 0x00B8 } 6473 -enum : uint { EM_SETMODIFY = 0x00B9 } 6474 -enum : uint { EM_GETLINECOUNT = 0x00BA } 6475 -enum : uint { EM_LINEINDEX = 0x00BB } 6476 -enum : uint { EM_SETHANDLE = 0x00BC } 6477 -enum : uint { EM_GETHANDLE = 0x00BD } 6478 -enum : uint { EM_GETTHUMB = 0x00BE } 6479 -enum : uint { EM_LINELENGTH = 0x00C1 } 6480 -enum : uint { EM_REPLACESEL = 0x00C2 } 6481 -enum : uint { EM_GETLINE = 0x00C4 } 6482 -enum : uint { EM_LIMITTEXT = 0x00C5 } 6483 -enum : uint { EM_CANUNDO = 0x00C6 } 6484 -enum : uint { EM_UNDO = 0x00C7 } 6485 -enum : uint { EM_FMTLINES = 0x00C8 } 6486 -enum : uint { EM_LINEFROMCHAR = 0x00C9 } 6487 -enum : uint { EM_SETTABSTOPS = 0x00CB } 6488 -enum : uint { EM_SETPASSWORDCHAR = 0x00CC } 6489 -enum : uint { EM_EMPTYUNDOBUFFER = 0x00CD } 6490 -enum : uint { EM_GETFIRSTVISIBLELINE = 0x00CE } 6491 -enum : uint { EM_SETREADONLY = 0x00CF } 6492 -enum : uint { EM_SETWORDBREAKPROC = 0x00D0 } 6493 -enum : uint { EM_GETWORDBREAKPROC = 0x00D1 } 6494 -enum : uint { EM_GETPASSWORDCHAR = 0x00D2 } 6495 -// #if(WINVER >= 0x0400) 6496 -enum : uint { EM_SETMARGINS = 0x00D3 } 6497 -enum : uint { EM_GETMARGINS = 0x00D4 } 6498 -alias EM_LIMITTEXT EM_SETLIMITTEXT; 6499 -enum : uint { EM_GETLIMITTEXT = 0x00D5 } 6500 -enum : uint { EM_POSFROMCHAR = 0x00D6 } 6501 -enum : uint { EM_CHARFROMPOS = 0x00D7 } 6502 -// #endif /* WINVER >= 0x0400 */ 6503 - 6504 -// #if(WINVER >= 0x0500) 6505 -enum : uint { EM_SETIMESTATUS = 0x00D8 } 6506 -enum : uint { EM_GETIMESTATUS = 0x00D9 } 6507 -// #endif /* WINVER >= 0x0500 */ 6508 - 6509 -// #endif /* !NOWINMESSAGES */ 6510 - 6511 -enum : uint { WB_LEFT = 0 } 6512 -enum : uint { WB_RIGHT = 1 } 6513 -enum : uint { WB_ISDELIMITER = 2 } 6514 - 6515 -enum : uint { BS_PUSHBUTTON = 0x00000000 } 6516 -enum : uint { BS_DEFPUSHBUTTON = 0x00000001 } 6517 -enum : uint { BS_CHECKBOX = 0x00000002 } 6518 -enum : uint { BS_AUTOCHECKBOX = 0x00000003 } 6519 -enum : uint { BS_RADIOBUTTON = 0x00000004 } 6520 -enum : uint { BS_3STATE = 0x00000005 } 6521 -enum : uint { BS_AUTO3STATE = 0x00000006 } 6522 -enum : uint { BS_GROUPBOX = 0x00000007 } 6523 -enum : uint { BS_USERBUTTON = 0x00000008 } 6524 -enum : uint { BS_AUTORADIOBUTTON = 0x00000009 } 6525 -enum : uint { BS_OWNERDRAW = 0x0000000B } 6526 -enum : uint { BS_LEFTTEXT = 0x00000020 } 6527 -// #if(WINVER >= 0x0400) 6528 -enum : uint { BS_TEXT = 0x00000000 } 6529 -enum : uint { BS_ICON = 0x00000040 } 6530 -enum : uint { BS_BITMAP = 0x00000080 } 6531 -enum : uint { BS_LEFT = 0x00000100 } 6532 -enum : uint { BS_RIGHT = 0x00000200 } 6533 -enum : uint { BS_CENTER = 0x00000300 } 6534 -enum : uint { BS_TOP = 0x00000400 } 6535 -enum : uint { BS_BOTTOM = 0x00000800 } 6536 -enum : uint { BS_VCENTER = 0x00000C00 } 6537 -enum : uint { BS_PUSHLIKE = 0x00001000 } 6538 -enum : uint { BS_MULTILINE = 0x00002000 } 6539 -enum : uint { BS_NOTIFY = 0x00004000 } 6540 -enum : uint { BS_FLAT = 0x00008000 } 6541 -alias BS_LEFTTEXT BS_RIGHTBUTTON; 6542 -// #endif /* WINVER >= 0x0400 */ 6543 - 6544 -enum : uint { BN_CLICKED = 0 } 6545 -enum : uint { BN_PAINT = 1 } 6546 -enum : uint { BN_HILITE = 2 } 6547 -enum : uint { BN_UNHILITE = 3 } 6548 -enum : uint { BN_DISABLE = 4 } 6549 -enum : uint { BN_DOUBLECLICKED = 5 } 6550 -// #if(WINVER >= 0x0400) 6551 -alias BN_HILITE BN_PUSHED; 6552 -alias BN_UNHILITE BN_UNPUSHED; 6553 -alias BN_DOUBLECLICKED BN_DBLCLK; 6554 -enum : uint { BN_SETFOCUS = 6 } 6555 -enum : uint { BN_KILLFOCUS = 7 } 6556 -// #endif /* WINVER >= 0x0400 */ 6557 - 6558 -enum : uint { BM_GETCHECK = 0x00F0 } 6559 -enum : uint { BM_SETCHECK = 0x00F1 } 6560 -enum : uint { BM_GETSTATE = 0x00F2 } 6561 -enum : uint { BM_SETSTATE = 0x00F3 } 6562 -enum : uint { BM_SETSTYLE = 0x00F4 } 6563 -// #if(WINVER >= 0x0400) 6564 -enum : uint { BM_CLICK = 0x00F5 } 6565 -enum : uint { BM_GETIMAGE = 0x00F6 } 6566 -enum : uint { BM_SETIMAGE = 0x00F7 } 6567 - 6568 -enum : uint { BST_UNCHECKED = 0x0000 } 6569 -enum : uint { BST_CHECKED = 0x0001 } 6570 -enum : uint { BST_INDETERMINATE = 0x0002 } 6571 -enum : uint { BST_PUSHED = 0x0004 } 6572 -enum : uint { BST_FOCUS = 0x0008 } 6573 -// #endif /* WINVER >= 0x0400 */ 6574 - 6575 -enum : uint { SS_LEFT = 0x00000000 } 6576 -enum : uint { SS_CENTER = 0x00000001 } 6577 -enum : uint { SS_RIGHT = 0x00000002 } 6578 -enum : uint { SS_ICON = 0x00000003 } 6579 -enum : uint { SS_BLACKRECT = 0x00000004 } 6580 -enum : uint { SS_GRAYRECT = 0x00000005 } 6581 -enum : uint { SS_WHITERECT = 0x00000006 } 6582 -enum : uint { SS_BLACKFRAME = 0x00000007 } 6583 -enum : uint { SS_GRAYFRAME = 0x00000008 } 6584 -enum : uint { SS_WHITEFRAME = 0x00000009 } 6585 -enum : uint { SS_USERITEM = 0x0000000A } 6586 -enum : uint { SS_SIMPLE = 0x0000000B } 6587 -enum : uint { SS_LEFTNOWORDWRAP = 0x0000000C } 6588 -// #if(WINVER >= 0x0400) 6589 -enum : uint { SS_OWNERDRAW = 0x0000000D } 6590 -enum : uint { SS_BITMAP = 0x0000000E } 6591 -enum : uint { SS_ENHMETAFILE = 0x0000000F } 6592 -enum : uint { SS_ETCHEDHORZ = 0x00000010 } 6593 -enum : uint { SS_ETCHEDVERT = 0x00000011 } 6594 -enum : uint { SS_ETCHEDFRAME = 0x00000012 } 6595 -enum : uint { SS_TYPEMASK = 0x0000001F } 6596 -// #endif /* WINVER >= 0x0400 */ 6597 -// #if(WINVER >= 0x0501) 6598 -enum : uint { SS_REALSIZECONTROL = 0x00000040 } 6599 -// #endif /* WINVER >= 0x0501 */ 6600 -enum : uint { SS_NOPREFIX = 0x00000080 } 6601 -// #if(WINVER >= 0x0400) 6602 -enum : uint { SS_NOTIFY = 0x00000100 } 6603 -enum : uint { SS_CENTERIMAGE = 0x00000200 } 6604 -enum : uint { SS_RIGHTJUST = 0x00000400 } 6605 -enum : uint { SS_REALSIZEIMAGE = 0x00000800 } 6606 -enum : uint { SS_SUNKEN = 0x00001000 } 6607 -enum : uint { SS_ENDELLIPSIS = 0x00004000 } 6608 -enum : uint { SS_PATHELLIPSIS = 0x00008000 } 6609 -enum : uint { SS_WORDELLIPSIS = 0x0000C000 } 6610 -enum : uint { SS_ELLIPSISMASK = 0x0000C000 } 6611 -// #endif /* WINVER >= 0x0400 */ 6612 - 6613 -// #ifndef NOWINMESSAGES 6614 - 6615 -enum : uint { STM_SETICON = 0x0170 } 6616 -enum : uint { STM_GETICON = 0x0171 } 6617 -// #if(WINVER >= 0x0400) 6618 -enum : uint { STM_SETIMAGE = 0x0172 } 6619 -enum : uint { STM_GETIMAGE = 0x0173 } 6620 -enum : uint { STN_CLICKED = 0 } 6621 -enum : uint { STN_DBLCLK = 1 } 6622 -enum : uint { STN_ENABLE = 2 } 6623 -enum : uint { STN_DISABLE = 3 } 6624 -// #endif /* WINVER >= 0x0400 */ 6625 -enum : uint { STM_MSGMAX = 0x0174 } 6626 -// #endif /* !NOWINMESSAGES */ 6627 - 6628 -const ATOM WC_DIALOG = cast(ATOM)0x8002; 6629 - 6630 -enum : uint { DWL_MSGRESULT = 0 } 6631 -enum : uint { DWL_DLGPROC = 4 } 6632 -enum : uint { DWL_USER = 8 } 6633 - 6634 -// #ifdef _WIN64 6635 - 6636 -// #... 6637 -// #... 6638 -// #... 6639 - 6640 -// #endif /* _WIN64 */ 6641 - 6642 -enum : uint { DWLP_MSGRESULT = 0 } 6643 -enum : uint { DWLP_DLGPROC = DWLP_MSGRESULT + LRESULT.sizeof } 6644 -enum : uint { DWLP_USER = DWLP_DLGPROC + DLGPROC.sizeof } 6645 - 6646 -// #ifndef NOMSG 6647 - 6648 -extern(Windows) export BOOL IsDialogMessageA( 6649 - HWND hDlg, 6650 - LPMSG lpMsg); 6651 -extern(Windows) export BOOL IsDialogMessageW( 6652 - HWND hDlg, 6653 - LPMSG lpMsg); 6654 -// #ifdef UNICODE 6655 -// #... 6656 -// #else 6657 -alias IsDialogMessageA IsDialogMessage; 6658 -// #endif // !UNICODE 6659 - 6660 -// #endif /* !NOMSG */ 6661 - 6662 -extern(Windows) export BOOL MapDialogRect( 6663 - HWND hDlg, 6664 - LPRECT lpRect); 6665 - 6666 -extern(Windows) export int DlgDirListA( 6667 - HWND hDlg, 6668 - LPSTR lpPathSpec, 6669 - int nIDListBox, 6670 - int nIDStaticPath, 6671 - UINT uFileType); 6672 -extern(Windows) export int DlgDirListW( 6673 - HWND hDlg, 6674 - LPWSTR lpPathSpec, 6675 - int nIDListBox, 6676 - int nIDStaticPath, 6677 - UINT uFileType); 6678 -// #ifdef UNICODE 6679 -// #... 6680 -// #else 6681 -alias DlgDirListA DlgDirList; 6682 -// #endif // !UNICODE 6683 - 6684 -enum : uint { DDL_READWRITE = 0x0000 } 6685 -enum : uint { DDL_READONLY = 0x0001 } 6686 -enum : uint { DDL_HIDDEN = 0x0002 } 6687 -enum : uint { DDL_SYSTEM = 0x0004 } 6688 -enum : uint { DDL_DIRECTORY = 0x0010 } 6689 -enum : uint { DDL_ARCHIVE = 0x0020 } 6690 - 6691 -enum : uint { DDL_POSTMSGS = 0x2000 } 6692 -enum : uint { DDL_DRIVES = 0x4000 } 6693 -enum : uint { DDL_EXCLUSIVE = 0x8000 } 6694 - 6695 -extern(Windows) export BOOL DlgDirSelectExA( 6696 - HWND hDlg, 6697 - LPSTR lpString, 6698 - int nCount, 6699 - int nIDListBox); 6700 -extern(Windows) export BOOL DlgDirSelectExW( 6701 - HWND hDlg, 6702 - LPWSTR lpString, 6703 - int nCount, 6704 - int nIDListBox); 6705 -// #ifdef UNICODE 6706 -// #... 6707 -// #else 6708 -alias DlgDirSelectExA DlgDirSelectEx; 6709 -// #endif // !UNICODE 6710 - 6711 -extern(Windows) export int DlgDirListComboBoxA( 6712 - HWND hDlg, 6713 - LPSTR lpPathSpec, 6714 - int nIDComboBox, 6715 - int nIDStaticPath, 6716 - UINT uFiletype); 6717 -extern(Windows) export int DlgDirListComboBoxW( 6718 - HWND hDlg, 6719 - LPWSTR lpPathSpec, 6720 - int nIDComboBox, 6721 - int nIDStaticPath, 6722 - UINT uFiletype); 6723 -// #ifdef UNICODE 6724 -// #... 6725 -// #else 6726 -alias DlgDirListComboBoxA DlgDirListComboBox; 6727 -// #endif // !UNICODE 6728 - 6729 -extern(Windows) export BOOL DlgDirSelectComboBoxExA( 6730 - HWND hDlg, 6731 - LPSTR lpString, 6732 - int nCount, 6733 - int nIDComboBox); 6734 -extern(Windows) export BOOL DlgDirSelectComboBoxExW( 6735 - HWND hDlg, 6736 - LPWSTR lpString, 6737 - int nCount, 6738 - int nIDComboBox); 6739 -// #ifdef UNICODE 6740 -// #... 6741 -// #else 6742 -alias DlgDirSelectComboBoxExA DlgDirSelectComboBoxEx; 6743 -// #endif // !UNICODE 6744 - 6745 -enum : uint { DS_ABSALIGN = 0x01 } 6746 -enum : uint { DS_SYSMODAL = 0x02 } 6747 -enum : uint { DS_LOCALEDIT = 0x20 } 6748 -enum : uint { DS_SETFONT = 0x40 } 6749 -enum : uint { DS_MODALFRAME = 0x80 } 6750 -enum : uint { DS_NOIDLEMSG = 0x100 } 6751 -enum : uint { DS_SETFOREGROUND = 0x200 } 6752 - 6753 -// #if(WINVER >= 0x0400) 6754 -enum : uint { DS_3DLOOK = 0x0004 } 6755 -enum : uint { DS_FIXEDSYS = 0x0008 } 6756 -enum : uint { DS_NOFAILCREATE = 0x0010 } 6757 -enum : uint { DS_CONTROL = 0x0400 } 6758 -enum : uint { DS_CENTER = 0x0800 } 6759 -enum : uint { DS_CENTERMOUSE = 0x1000 } 6760 -enum : uint { DS_CONTEXTHELP = 0x2000 } 6761 - 6762 -enum : uint { DS_SHELLFONT = DS_SETFONT | DS_FIXEDSYS } 6763 -// #endif /* WINVER >= 0x0400 */ 6764 - 6765 -enum : uint { DM_GETDEFID = WM_USER+0 } 6766 -enum : uint { DM_SETDEFID = WM_USER+1 } 6767 - 6768 -// #if(WINVER >= 0x0400) 6769 -enum : uint { DM_REPOSITION = WM_USER+2 } 6770 -// #endif /* WINVER >= 0x0400 */ 6771 - 6772 -enum : uint { DC_HASDEFID = 0x534B } 6773 - 6774 -enum : uint { DLGC_WANTARROWS = 0x0001 } 6775 -enum : uint { DLGC_WANTTAB = 0x0002 } 6776 -enum : uint { DLGC_WANTALLKEYS = 0x0004 } 6777 -enum : uint { DLGC_WANTMESSAGE = 0x0004 } 6778 -enum : uint { DLGC_HASSETSEL = 0x0008 } 6779 -enum : uint { DLGC_DEFPUSHBUTTON = 0x0010 } 6780 -enum : uint { DLGC_UNDEFPUSHBUTTON = 0x0020 } 6781 -enum : uint { DLGC_RADIOBUTTON = 0x0040 } 6782 -enum : uint { DLGC_WANTCHARS = 0x0080 } 6783 -enum : uint { DLGC_STATIC = 0x0100 } 6784 -enum : uint { DLGC_BUTTON = 0x2000 } 6785 - 6786 -enum : uint { LB_CTLCODE = 0 } 6787 - 6788 -enum : uint { LB_OKAY = 0 } 6789 -enum { LB_ERR = -1 } 6790 -enum { LB_ERRSPACE = -2 } 6791 - 6792 -enum { LBN_ERRSPACE = -2 } 6793 -enum : uint { LBN_SELCHANGE = 1 } 6794 -enum : uint { LBN_DBLCLK = 2 } 6795 -enum : uint { LBN_SELCANCEL = 3 } 6796 -enum : uint { LBN_SETFOCUS = 4 } 6797 -enum : uint { LBN_KILLFOCUS = 5 } 6798 - 6799 -// #ifndef NOWINMESSAGES 6800 - 6801 -enum : uint { LB_ADDSTRING = 0x0180 } 6802 -enum : uint { LB_INSERTSTRING = 0x0181 } 6803 -enum : uint { LB_DELETESTRING = 0x0182 } 6804 -enum : uint { LB_SELITEMRANGEEX = 0x0183 } 6805 -enum : uint { LB_RESETCONTENT = 0x0184 } 6806 -enum : uint { LB_SETSEL = 0x0185 } 6807 -enum : uint { LB_SETCURSEL = 0x0186 } 6808 -enum : uint { LB_GETSEL = 0x0187 } 6809 -enum : uint { LB_GETCURSEL = 0x0188 } 6810 -enum : uint { LB_GETTEXT = 0x0189 } 6811 -enum : uint { LB_GETTEXTLEN = 0x018A } 6812 -enum : uint { LB_GETCOUNT = 0x018B } 6813 -enum : uint { LB_SELECTSTRING = 0x018C } 6814 -enum : uint { LB_DIR = 0x018D } 6815 -enum : uint { LB_GETTOPINDEX = 0x018E } 6816 -enum : uint { LB_FINDSTRING = 0x018F } 6817 -enum : uint { LB_GETSELCOUNT = 0x0190 } 6818 -enum : uint { LB_GETSELITEMS = 0x0191 } 6819 -enum : uint { LB_SETTABSTOPS = 0x0192 } 6820 -enum : uint { LB_GETHORIZONTALEXTENT = 0x0193 } 6821 -enum : uint { LB_SETHORIZONTALEXTENT = 0x0194 } 6822 -enum : uint { LB_SETCOLUMNWIDTH = 0x0195 } 6823 -enum : uint { LB_ADDFILE = 0x0196 } 6824 -enum : uint { LB_SETTOPINDEX = 0x0197 } 6825 -enum : uint { LB_GETITEMRECT = 0x0198 } 6826 -enum : uint { LB_GETITEMDATA = 0x0199 } 6827 -enum : uint { LB_SETITEMDATA = 0x019A } 6828 -enum : uint { LB_SELITEMRANGE = 0x019B } 6829 -enum : uint { LB_SETANCHORINDEX = 0x019C } 6830 -enum : uint { LB_GETANCHORINDEX = 0x019D } 6831 -enum : uint { LB_SETCARETINDEX = 0x019E } 6832 -enum : uint { LB_GETCARETINDEX = 0x019F } 6833 -enum : uint { LB_SETITEMHEIGHT = 0x01A0 } 6834 -enum : uint { LB_GETITEMHEIGHT = 0x01A1 } 6835 -enum : uint { LB_FINDSTRINGEXACT = 0x01A2 } 6836 -enum : uint { LB_SETLOCALE = 0x01A5 } 6837 -enum : uint { LB_GETLOCALE = 0x01A6 } 6838 -enum : uint { LB_SETCOUNT = 0x01A7 } 6839 -// #if(WINVER >= 0x0400) 6840 -enum : uint { LB_INITSTORAGE = 0x01A8 } 6841 -enum : uint { LB_ITEMFROMPOINT = 0x01A9 } 6842 -// #endif /* WINVER >= 0x0400 */ 6843 -// #if(_WIN32_WCE >= 0x0400) 6844 -// #... 6845 -// #endif 6846 - 6847 -// #if(_WIN32_WINNT >= 0x0501) 6848 -enum : uint { LB_GETLISTBOXINFO = 0x01B2 } 6849 -// #endif /* _WIN32_WINNT >= 0x0501 */ 6850 - 6851 -// #if(_WIN32_WINNT >= 0x0501) 6852 -enum : uint { LB_MSGMAX = 0x01B3 } 6853 -// #elif(_WIN32_WCE >= 0x0400) 6854 -// #... 6855 -// #elif(WINVER >= 0x0400) 6856 -// #... 6857 -// #else 6858 -// #... 6859 -// #endif 6860 - 6861 -// #endif /* !NOWINMESSAGES */ 6862 - 6863 -// #ifndef NOWINSTYLES 6864 - 6865 -enum : uint { LBS_NOTIFY = 0x0001 } 6866 -enum : uint { LBS_SORT = 0x0002 } 6867 -enum : uint { LBS_NOREDRAW = 0x0004 } 6868 -enum : uint { LBS_MULTIPLESEL = 0x0008 } 6869 -enum : uint { LBS_OWNERDRAWFIXED = 0x0010 } 6870 -enum : uint { LBS_OWNERDRAWVARIABLE = 0x0020 } 6871 -enum : uint { LBS_HASSTRINGS = 0x0040 } 6872 -enum : uint { LBS_USETABSTOPS = 0x0080 } 6873 -enum : uint { LBS_NOINTEGRALHEIGHT = 0x0100 } 6874 -enum : uint { LBS_MULTICOLUMN = 0x0200 } 6875 -enum : uint { LBS_WANTKEYBOARDINPUT = 0x0400 } 6876 -enum : uint { LBS_EXTENDEDSEL = 0x0800 } 6877 -enum : uint { LBS_DISABLENOSCROLL = 0x1000 } 6878 -enum : uint { LBS_NODATA = 0x2000 } 6879 -// #if(WINVER >= 0x0400) 6880 -enum : uint { LBS_NOSEL = 0x4000 } 6881 -// #endif /* WINVER >= 0x0400 */ 6882 -enum : uint { LBS_STANDARD = LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER } 6883 - 6884 -// #endif /* !NOWINSTYLES */ 6885 - 6886 -enum : uint { CB_OKAY = 0 } 6887 -enum { CB_ERR = -1 } 6888 -enum { CB_ERRSPACE = -2 } 6889 - 6890 -enum { CBN_ERRSPACE = -1 } 6891 -enum : uint { CBN_SELCHANGE = 1 } 6892 -enum : uint { CBN_DBLCLK = 2 } 6893 -enum : uint { CBN_SETFOCUS = 3 } 6894 -enum : uint { CBN_KILLFOCUS = 4 } 6895 -enum : uint { CBN_EDITCHANGE = 5 } 6896 -enum : uint { CBN_EDITUPDATE = 6 } 6897 -enum : uint { CBN_DROPDOWN = 7 } 6898 -enum : uint { CBN_CLOSEUP = 8 } 6899 -enum : uint { CBN_SELENDOK = 9 } 6900 -enum : uint { CBN_SELENDCANCEL = 10 } 6901 - 6902 -// #ifndef NOWINSTYLES 6903 - 6904 -enum : uint { CBS_SIMPLE = 0x0001 } 6905 -enum : uint { CBS_DROPDOWN = 0x0002 } 6906 -enum : uint { CBS_DROPDOWNLIST = 0x0003 } 6907 -enum : uint { CBS_OWNERDRAWFIXED = 0x0010 } 6908 -enum : uint { CBS_OWNERDRAWVARIABLE = 0x0020 } 6909 -enum : uint { CBS_AUTOHSCROLL = 0x0040 } 6910 -enum : uint { CBS_OEMCONVERT = 0x0080 } 6911 -enum : uint { CBS_SORT = 0x0100 } 6912 -enum : uint { CBS_HASSTRINGS = 0x0200 } 6913 -enum : uint { CBS_NOINTEGRALHEIGHT = 0x0400 } 6914 -enum : uint { CBS_DISABLENOSCROLL = 0x0800 } 6915 -// #if(WINVER >= 0x0400) 6916 -enum : uint { CBS_UPPERCASE = 0x2000 } 6917 -enum : uint { CBS_LOWERCASE = 0x4000 } 6918 -// #endif /* WINVER >= 0x0400 */ 6919 - 6920 -// #endif /* !NOWINSTYLES */ 6921 - 6922 -// #ifndef NOWINMESSAGES 6923 -enum : uint { CB_GETEDITSEL = 0x0140 } 6924 -enum : uint { CB_LIMITTEXT = 0x0141 } 6925 -enum : uint { CB_SETEDITSEL = 0x0142 } 6926 -enum : uint { CB_ADDSTRING = 0x0143 } 6927 -enum : uint { CB_DELETESTRING = 0x0144 } 6928 -enum : uint { CB_DIR = 0x0145 } 6929 -enum : uint { CB_GETCOUNT = 0x0146 } 6930 -enum : uint { CB_GETCURSEL = 0x0147 } 6931 -enum : uint { CB_GETLBTEXT = 0x0148 } 6932 -enum : uint { CB_GETLBTEXTLEN = 0x0149 } 6933 -enum : uint { CB_INSERTSTRING = 0x014A } 6934 -enum : uint { CB_RESETCONTENT = 0x014B } 6935 -enum : uint { CB_FINDSTRING = 0x014C } 6936 -enum : uint { CB_SELECTSTRING = 0x014D } 6937 -enum : uint { CB_SETCURSEL = 0x014E } 6938 -enum : uint { CB_SHOWDROPDOWN = 0x014F } 6939 -enum : uint { CB_GETITEMDATA = 0x0150 } 6940 -enum : uint { CB_SETITEMDATA = 0x0151 } 6941 -enum : uint { CB_GETDROPPEDCONTROLRECT = 0x0152 } 6942 -enum : uint { CB_SETITEMHEIGHT = 0x0153 } 6943 -enum : uint { CB_GETITEMHEIGHT = 0x0154 } 6944 -enum : uint { CB_SETEXTENDEDUI = 0x0155 } 6945 -enum : uint { CB_GETEXTENDEDUI = 0x0156 } 6946 -enum : uint { CB_GETDROPPEDSTATE = 0x0157 } 6947 -enum : uint { CB_FINDSTRINGEXACT = 0x0158 } 6948 -enum : uint { CB_SETLOCALE = 0x0159 } 6949 -enum : uint { CB_GETLOCALE = 0x015A } 6950 -// #if(WINVER >= 0x0400) 6951 -enum : uint { CB_GETTOPINDEX = 0x015b } 6952 -enum : uint { CB_SETTOPINDEX = 0x015c } 6953 -enum : uint { CB_GETHORIZONTALEXTENT = 0x015d } 6954 -enum : uint { CB_SETHORIZONTALEXTENT = 0x015e } 6955 -enum : uint { CB_GETDROPPEDWIDTH = 0x015f } 6956 -enum : uint { CB_SETDROPPEDWIDTH = 0x0160 } 6957 -enum : uint { CB_INITSTORAGE = 0x0161 } 6958 -// #if(_WIN32_WCE >= 0x0400) 6959 -// #... 6960 -// #endif 6961 -// #endif /* WINVER >= 0x0400 */ 6962 - 6963 -// #if(_WIN32_WINNT >= 0x0501) 6964 -enum : uint { CB_GETCOMBOBOXINFO = 0x0164 } 6965 -// #endif /* _WIN32_WINNT >= 0x0501 */ 6966 - 6967 -// #if(_WIN32_WINNT >= 0x0501) 6968 -enum : uint { CB_MSGMAX = 0x0165 } 6969 -// #elif(_WIN32_WCE >= 0x0400) 6970 -// #... 6971 -// #elif(WINVER >= 0x0400) 6972 -// #... 6973 -// #else 6974 -// #... 6975 -// #endif 6976 -// #endif /* !NOWINMESSAGES */ 6977 - 6978 -// #ifndef NOWINSTYLES 6979 - 6980 -enum : uint { SBS_HORZ = 0x0000 } 6981 -enum : uint { SBS_VERT = 0x0001 } 6982 -enum : uint { SBS_TOPALIGN = 0x0002 } 6983 -enum : uint { SBS_LEFTALIGN = 0x0002 } 6984 -enum : uint { SBS_BOTTOMALIGN = 0x0004 } 6985 -enum : uint { SBS_RIGHTALIGN = 0x0004 } 6986 -enum : uint { SBS_SIZEBOXTOPLEFTALIGN = 0x0002 } 6987 -enum : uint { SBS_SIZEBOXBOTTOMRIGHTALIGN = 0x0004 } 6988 -enum : uint { SBS_SIZEBOX = 0x0008 } 6989 -// #if(WINVER >= 0x0400) 6990 -enum : uint { SBS_SIZEGRIP = 0x0010 } 6991 -// #endif /* WINVER >= 0x0400 */ 6992 - 6993 -// #endif /* !NOWINSTYLES */ 6994 - 6995 -// #ifndef NOWINMESSAGES 6996 -enum : uint { SBM_SETPOS = 0x00E0 } 6997 -enum : uint { SBM_GETPOS = 0x00E1 } 6998 -enum : uint { SBM_SETRANGE = 0x00E2 } 6999 -enum : uint { SBM_SETRANGEREDRAW = 0x00E6 } 7000 -enum : uint { SBM_GETRANGE = 0x00E3 } 7001 -enum : uint { SBM_ENABLE_ARROWS = 0x00E4 } 7002 -// #if(WINVER >= 0x0400) 7003 -enum : uint { SBM_SETSCROLLINFO = 0x00E9 } 7004 -enum : uint { SBM_GETSCROLLINFO = 0x00EA } 7005 -// #endif /* WINVER >= 0x0400 */ 7006 - 7007 -// #if(_WIN32_WINNT >= 0x0501) 7008 -enum : uint { SBM_GETSCROLLBARINFO = 0x00EB } 7009 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7010 - 7011 -// #if(WINVER >= 0x0400) 7012 -enum : uint { SIF_RANGE = 0x0001 } 7013 -enum : uint { SIF_PAGE = 0x0002 } 7014 -enum : uint { SIF_POS = 0x0004 } 7015 -enum : uint { SIF_DISABLENOSCROLL = 0x0008 } 7016 -enum : uint { SIF_TRACKPOS = 0x0010 } 7017 -enum : uint { SIF_ALL = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS } 7018 - 7019 -struct tagSCROLLINFO { 7020 - UINT cbSize; 7021 - UINT fMask; 7022 - int nMin; 7023 - int nMax; 7024 - UINT nPage; 7025 - int nPos; 7026 - int nTrackPos; 7027 -} 7028 -alias tagSCROLLINFO SCROLLINFO; 7029 -alias tagSCROLLINFO* LPSCROLLINFO; 7030 - 7031 -alias SCROLLINFO* LPCSCROLLINFO; 7032 - 7033 -extern(Windows) export int SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL); 7034 -extern(Windows) export BOOL GetScrollInfo(HWND, int, LPSCROLLINFO); 7035 - 7036 -// #endif /* WINVER >= 0x0400 */ 7037 -// #endif /* !NOWINMESSAGES */ 7038 -// #endif /* !NOCTLMGR */ 7039 - 7040 -// #ifndef NOMDI 7041 - 7042 -enum : uint { MDIS_ALLCHILDSTYLES = 0x0001 } 7043 - 7044 -enum : uint { MDITILE_VERTICAL = 0x0000 } 7045 -enum : uint { MDITILE_HORIZONTAL = 0x0001 } 7046 -enum : uint { MDITILE_SKIPDISABLED = 0x0002 } 7047 -// #if(_WIN32_WINNT >= 0x0500) 7048 -enum : uint { MDITILE_ZORDER = 0x0004 } 7049 -// #endif /* _WIN32_WINNT >= 0x0500 */ 7050 - 7051 -struct tagMDICREATESTRUCTA { 7052 - LPCSTR szClass; 7053 - LPCSTR szTitle; 7054 - HANDLE hOwner; 7055 - int x; 7056 - int y; 7057 - int cx; 7058 - int cy; 7059 - DWORD style; 7060 - LPARAM lParam; 7061 -} 7062 -alias tagMDICREATESTRUCTA MDICREATESTRUCTA; 7063 -alias tagMDICREATESTRUCTA* LPMDICREATESTRUCTA; 7064 - 7065 -struct tagMDICREATESTRUCTW { 7066 - LPCWSTR szClass; 7067 - LPCWSTR szTitle; 7068 - HANDLE hOwner; 7069 - int x; 7070 - int y; 7071 - int cx; 7072 - int cy; 7073 - DWORD style; 7074 - LPARAM lParam; 7075 -} 7076 -alias tagMDICREATESTRUCTW MDICREATESTRUCTW; 7077 -alias tagMDICREATESTRUCTW* LPMDICREATESTRUCTW; 7078 - 7079 -// #ifdef UNICODE 7080 -// ... 7081 -// #else 7082 -alias MDICREATESTRUCTA MDICREATESTRUCT; 7083 -alias LPMDICREATESTRUCTA LPMDICREATESTRUCT; 7084 -// #endif // UNICODE 7085 - 7086 -struct tagCLIENTCREATESTRUCT { 7087 - HANDLE hWindowMenu; 7088 - UINT idFirstChild; 7089 -} 7090 -alias tagCLIENTCREATESTRUCT CLIENTCREATESTRUCT; 7091 -alias tagCLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 7092 - 7093 -extern(Windows) export LRESULT DefFrameProcA( 7094 - HWND hWnd, 7095 - HWND hWndMDIClient, 7096 - UINT uMsg, 7097 - WPARAM wParam, 7098 - LPARAM lParam); 7099 -extern(Windows) export LRESULT DefFrameProcW( 7100 - HWND hWnd, 7101 - HWND hWndMDIClient, 7102 - UINT uMsg, 7103 - WPARAM wParam, 7104 - LPARAM lParam); 7105 -// #ifdef UNICODE 7106 -// #... 7107 -// #else 7108 -alias DefFrameProcA DefFrameProc; 7109 -// #endif // !UNICODE 7110 - 7111 -extern(Windows) export LRESULT DefMDIChildProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 7112 -extern(Windows) export LRESULT DefMDIChildProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 7113 -// #ifdef UNICODE 7114 -// #... 7115 -// #else 7116 -alias DefMDIChildProcA DefMDIChildProc; 7117 -// #endif // !UNICODE 7118 - 7119 -// #ifndef NOMSG 7120 - 7121 -extern(Windows) export BOOL TranslateMDISysAccel( 7122 - HWND hWndClient, 7123 - LPMSG lpMsg); 7124 - 7125 -// #endif /* !NOMSG */ 7126 - 7127 -extern(Windows) export UINT ArrangeIconicWindows( 7128 - HWND hWnd); 7129 - 7130 -extern(Windows) export HWND CreateMDIWindowA( 7131 - LPCSTR lpClassName, 7132 - LPCSTR lpWindowName, 7133 - DWORD dwStyle, 7134 - int X, 7135 - int Y, 7136 - int nWidth, 7137 - int nHeight, 7138 - HWND hWndParent, 7139 - HINSTANCE hInstance, 7140 - LPARAM lParam); 7141 -extern(Windows) export HWND CreateMDIWindowW( 7142 - LPCWSTR lpClassName, 7143 - LPCWSTR lpWindowName, 7144 - DWORD dwStyle, 7145 - int X, 7146 - int Y, 7147 - int nWidth, 7148 - int nHeight, 7149 - HWND hWndParent, 7150 - HINSTANCE hInstance, 7151 - LPARAM lParam); 7152 -// #ifdef UNICODE 7153 -// #... 7154 -// #else 7155 -alias CreateMDIWindowA CreateMDIWindow; 7156 -// #endif // !UNICODE 7157 - 7158 -// #if(WINVER >= 0x0400) 7159 -extern(Windows) export WORD TileWindows(HWND hwndParent, UINT wHow, RECT * lpRect, UINT cKids, HWND * lpKids); 7160 -extern(Windows) export WORD CascadeWindows(HWND hwndParent, UINT wHow, RECT * lpRect, UINT cKids, HWND * lpKids); 7161 -// #endif /* WINVER >= 0x0400 */ 7162 -// #endif /* !NOMDI */ 7163 - 7164 -// #endif /* !NOUSER */ 7165 - 7166 -// #ifndef NOHELP 7167 - 7168 -alias DWORD HELPPOLY; 7169 -struct tagMULTIKEYHELPA { 7170 -// #ifndef _MAC 7171 - DWORD mkSize; 7172 -// #else 7173 -// ... 7174 -// #endif 7175 - CHAR mkKeylist; 7176 - CHAR szKeyphrase[1]; 7177 -} 7178 -alias tagMULTIKEYHELPA MULTIKEYHELPA; 7179 -alias tagMULTIKEYHELPA* PMULTIKEYHELPA; 7180 -alias tagMULTIKEYHELPA* LPMULTIKEYHELPA; 7181 - 7182 -struct tagMULTIKEYHELPW { 7183 -// #ifndef _MAC 7184 - DWORD mkSize; 7185 -// #else 7186 -// ... 7187 -// #endif 7188 - WCHAR mkKeylist; 7189 - WCHAR szKeyphrase[1]; 7190 -} 7191 -alias tagMULTIKEYHELPW MULTIKEYHELPW; 7192 -alias tagMULTIKEYHELPW* PMULTIKEYHELPW; 7193 -alias tagMULTIKEYHELPW* LPMULTIKEYHELPW; 7194 - 7195 -// #ifdef UNICODE 7196 -// ... 7197 -// #else 7198 -alias MULTIKEYHELPA MULTIKEYHELP; 7199 -alias PMULTIKEYHELPA PMULTIKEYHELP; 7200 -alias LPMULTIKEYHELPA LPMULTIKEYHELP; 7201 -// #endif // UNICODE 7202 - 7203 -struct tagHELPWININFOA { 7204 - int wStructSize; 7205 - int x; 7206 - int y; 7207 - int dx; 7208 - int dy; 7209 - int wMax; 7210 - CHAR rgchMember[2]; 7211 -} 7212 -alias tagHELPWININFOA HELPWININFOA; 7213 -alias tagHELPWININFOA* PHELPWININFOA; 7214 -alias tagHELPWININFOA* LPHELPWININFOA; 7215 - 7216 -struct tagHELPWININFOW { 7217 - int wStructSize; 7218 - int x; 7219 - int y; 7220 - int dx; 7221 - int dy; 7222 - int wMax; 7223 - WCHAR rgchMember[2]; 7224 -} 7225 -alias tagHELPWININFOW HELPWININFOW; 7226 -alias tagHELPWININFOW* PHELPWININFOW; 7227 -alias tagHELPWININFOW* LPHELPWININFOW; 7228 - 7229 -// #ifdef UNICODE 7230 -// ... 7231 -// #else 7232 -alias HELPWININFOA HELPWININFO; 7233 -alias PHELPWININFOA PHELPWININFO; 7234 -alias LPHELPWININFOA LPHELPWININFO; 7235 -// #endif // UNICODE 7236 - 7237 -enum : uint { HELP_CONTEXT = 0x0001 } 7238 -enum : uint { HELP_QUIT = 0x0002 } 7239 -enum : uint { HELP_INDEX = 0x0003 } 7240 -enum : uint { HELP_CONTENTS = 0x0003 } 7241 -enum : uint { HELP_HELPONHELP = 0x0004 } 7242 -enum : uint { HELP_SETINDEX = 0x0005 } 7243 -enum : uint { HELP_SETCONTENTS = 0x0005 } 7244 -enum : uint { HELP_CONTEXTPOPUP = 0x0008 } 7245 -enum : uint { HELP_FORCEFILE = 0x0009 } 7246 -enum : uint { HELP_KEY = 0x0101 } 7247 -enum : uint { HELP_COMMAND = 0x0102 } 7248 -enum : uint { HELP_PARTIALKEY = 0x0105 } 7249 -enum : uint { HELP_MULTIKEY = 0x0201 } 7250 -enum : uint { HELP_SETWINPOS = 0x0203 } 7251 -// #if(WINVER >= 0x0400) 7252 -enum : uint { HELP_CONTEXTMENU = 0x000a } 7253 -enum : uint { HELP_FINDER = 0x000b } 7254 -enum : uint { HELP_WM_HELP = 0x000c } 7255 -enum : uint { HELP_SETPOPUP_POS = 0x000d } 7256 - 7257 -enum : uint { HELP_TCARD = 0x8000 } 7258 -enum : uint { HELP_TCARD_DATA = 0x0010 } 7259 -enum : uint { HELP_TCARD_OTHER_CALLER = 0x0011 } 7260 - 7261 -enum : uint { IDH_NO_HELP = 28440 } 7262 -enum : uint { IDH_MISSING_CONTEXT = 28441 } 7263 -enum : uint { IDH_GENERIC_HELP_BUTTON = 28442 } 7264 -enum : uint { IDH_OK = 28443 } 7265 -enum : uint { IDH_CANCEL = 28444 } 7266 -enum : uint { IDH_HELP = 28445 } 7267 - 7268 -// #endif /* WINVER >= 0x0400 */ 7269 - 7270 -extern(Windows) export BOOL WinHelpA( 7271 - HWND hWndMain, 7272 - LPCSTR lpszHelp, 7273 - UINT uCommand, 7274 - ULONG_PTR dwData); 7275 -extern(Windows) export BOOL WinHelpW( 7276 - HWND hWndMain, 7277 - LPCWSTR lpszHelp, 7278 - UINT uCommand, 7279 - ULONG_PTR dwData); 7280 -// #ifdef UNICODE 7281 -// #... 7282 -// #else 7283 -alias WinHelpA WinHelp; 7284 -// #endif // !UNICODE 7285 - 7286 -// #endif /* !NOHELP */ 7287 - 7288 -// #if(WINVER >= 0x0500) 7289 - 7290 -enum : uint { GR_GDIOBJECTS = 0 } 7291 -enum : uint { GR_USEROBJECTS = 1 } 7292 - 7293 -extern(Windows) export DWORD GetGuiResources( 7294 - HANDLE hProcess, 7295 - DWORD uiFlags); 7296 - 7297 -// #endif /* WINVER >= 0x0500 */ 7298 - 7299 -// #ifndef NOSYSPARAMSINFO 7300 - 7301 -enum : uint { SPI_GETBEEP = 0x0001 } 7302 -enum : uint { SPI_SETBEEP = 0x0002 } 7303 -enum : uint { SPI_GETMOUSE = 0x0003 } 7304 -enum : uint { SPI_SETMOUSE = 0x0004 } 7305 -enum : uint { SPI_GETBORDER = 0x0005 } 7306 -enum : uint { SPI_SETBORDER = 0x0006 } 7307 -enum : uint { SPI_GETKEYBOARDSPEED = 0x000A } 7308 -enum : uint { SPI_SETKEYBOARDSPEED = 0x000B } 7309 -enum : uint { SPI_LANGDRIVER = 0x000C } 7310 -enum : uint { SPI_ICONHORIZONTALSPACING = 0x000D } 7311 -enum : uint { SPI_GETSCREENSAVETIMEOUT = 0x000E } 7312 -enum : uint { SPI_SETSCREENSAVETIMEOUT = 0x000F } 7313 -enum : uint { SPI_GETSCREENSAVEACTIVE = 0x0010 } 7314 -enum : uint { SPI_SETSCREENSAVEACTIVE = 0x0011 } 7315 -enum : uint { SPI_GETGRIDGRANULARITY = 0x0012 } 7316 -enum : uint { SPI_SETGRIDGRANULARITY = 0x0013 } 7317 -enum : uint { SPI_SETDESKWALLPAPER = 0x0014 } 7318 -enum : uint { SPI_SETDESKPATTERN = 0x0015 } 7319 -enum : uint { SPI_GETKEYBOARDDELAY = 0x0016 } 7320 -enum : uint { SPI_SETKEYBOARDDELAY = 0x0017 } 7321 -enum : uint { SPI_ICONVERTICALSPACING = 0x0018 } 7322 -enum : uint { SPI_GETICONTITLEWRAP = 0x0019 } 7323 -enum : uint { SPI_SETICONTITLEWRAP = 0x001A } 7324 -enum : uint { SPI_GETMENUDROPALIGNMENT = 0x001B } 7325 -enum : uint { SPI_SETMENUDROPALIGNMENT = 0x001C } 7326 -enum : uint { SPI_SETDOUBLECLKWIDTH = 0x001D } 7327 -enum : uint { SPI_SETDOUBLECLKHEIGHT = 0x001E } 7328 -enum : uint { SPI_GETICONTITLELOGFONT = 0x001F } 7329 -enum : uint { SPI_SETDOUBLECLICKTIME = 0x0020 } 7330 -enum : uint { SPI_SETMOUSEBUTTONSWAP = 0x0021 } 7331 -enum : uint { SPI_SETICONTITLELOGFONT = 0x0022 } 7332 -enum : uint { SPI_GETFASTTASKSWITCH = 0x0023 } 7333 -enum : uint { SPI_SETFASTTASKSWITCH = 0x0024 } 7334 -// #if(WINVER >= 0x0400) 7335 -enum : uint { SPI_SETDRAGFULLWINDOWS = 0x0025 } 7336 -enum : uint { SPI_GETDRAGFULLWINDOWS = 0x0026 } 7337 -enum : uint { SPI_GETNONCLIENTMETRICS = 0x0029 } 7338 -enum : uint { SPI_SETNONCLIENTMETRICS = 0x002A } 7339 -enum : uint { SPI_GETMINIMIZEDMETRICS = 0x002B } 7340 -enum : uint { SPI_SETMINIMIZEDMETRICS = 0x002C } 7341 -enum : uint { SPI_GETICONMETRICS = 0x002D } 7342 -enum : uint { SPI_SETICONMETRICS = 0x002E } 7343 -enum : uint { SPI_SETWORKAREA = 0x002F } 7344 -enum : uint { SPI_GETWORKAREA = 0x0030 } 7345 -enum : uint { SPI_SETPENWINDOWS = 0x0031 } 7346 - 7347 -enum : uint { SPI_GETHIGHCONTRAST = 0x0042 } 7348 -enum : uint { SPI_SETHIGHCONTRAST = 0x0043 } 7349 -enum : uint { SPI_GETKEYBOARDPREF = 0x0044 } 7350 -enum : uint { SPI_SETKEYBOARDPREF = 0x0045 } 7351 -enum : uint { SPI_GETSCREENREADER = 0x0046 } 7352 -enum : uint { SPI_SETSCREENREADER = 0x0047 } 7353 -enum : uint { SPI_GETANIMATION = 0x0048 } 7354 -enum : uint { SPI_SETANIMATION = 0x0049 } 7355 -enum : uint { SPI_GETFONTSMOOTHING = 0x004A } 7356 -enum : uint { SPI_SETFONTSMOOTHING = 0x004B } 7357 -enum : uint { SPI_SETDRAGWIDTH = 0x004C } 7358 -enum : uint { SPI_SETDRAGHEIGHT = 0x004D } 7359 -enum : uint { SPI_SETHANDHELD = 0x004E } 7360 -enum : uint { SPI_GETLOWPOWERTIMEOUT = 0x004F } 7361 -enum : uint { SPI_GETPOWEROFFTIMEOUT = 0x0050 } 7362 -enum : uint { SPI_SETLOWPOWERTIMEOUT = 0x0051 } 7363 -enum : uint { SPI_SETPOWEROFFTIMEOUT = 0x0052 } 7364 -enum : uint { SPI_GETLOWPOWERACTIVE = 0x0053 } 7365 -enum : uint { SPI_GETPOWEROFFACTIVE = 0x0054 } 7366 -enum : uint { SPI_SETLOWPOWERACTIVE = 0x0055 } 7367 -enum : uint { SPI_SETPOWEROFFACTIVE = 0x0056 } 7368 -enum : uint { SPI_SETCURSORS = 0x0057 } 7369 -enum : uint { SPI_SETICONS = 0x0058 } 7370 -enum : uint { SPI_GETDEFAULTINPUTLANG = 0x0059 } 7371 -enum : uint { SPI_SETDEFAULTINPUTLANG = 0x005A } 7372 -enum : uint { SPI_SETLANGTOGGLE = 0x005B } 7373 -enum : uint { SPI_GETWINDOWSEXTENSION = 0x005C } 7374 -enum : uint { SPI_SETMOUSETRAILS = 0x005D } 7375 -enum : uint { SPI_GETMOUSETRAILS = 0x005E } 7376 -enum : uint { SPI_SETSCREENSAVERRUNNING = 0x0061 } 7377 -alias SPI_SETSCREENSAVERRUNNING SPI_SCREENSAVERRUNNING; 7378 -// #endif /* WINVER >= 0x0400 */ 7379 -enum : uint { SPI_GETFILTERKEYS = 0x0032 } 7380 -enum : uint { SPI_SETFILTERKEYS = 0x0033 } 7381 -enum : uint { SPI_GETTOGGLEKEYS = 0x0034 } 7382 -enum : uint { SPI_SETTOGGLEKEYS = 0x0035 } 7383 -enum : uint { SPI_GETMOUSEKEYS = 0x0036 } 7384 -enum : uint { SPI_SETMOUSEKEYS = 0x0037 } 7385 -enum : uint { SPI_GETSHOWSOUNDS = 0x0038 } 7386 -enum : uint { SPI_SETSHOWSOUNDS = 0x0039 } 7387 -enum : uint { SPI_GETSTICKYKEYS = 0x003A } 7388 -enum : uint { SPI_SETSTICKYKEYS = 0x003B } 7389 -enum : uint { SPI_GETACCESSTIMEOUT = 0x003C } 7390 -enum : uint { SPI_SETACCESSTIMEOUT = 0x003D } 7391 -// #if(WINVER >= 0x0400) 7392 -enum : uint { SPI_GETSERIALKEYS = 0x003E } 7393 -enum : uint { SPI_SETSERIALKEYS = 0x003F } 7394 -// #endif /* WINVER >= 0x0400 */ 7395 -enum : uint { SPI_GETSOUNDSENTRY = 0x0040 } 7396 -enum : uint { SPI_SETSOUNDSENTRY = 0x0041 } 7397 -// #if(_WIN32_WINNT >= 0x0400) 7398 -enum : uint { SPI_GETSNAPTODEFBUTTON = 0x005F } 7399 -enum : uint { SPI_SETSNAPTODEFBUTTON = 0x0060 } 7400 -// #endif /* _WIN32_WINNT >= 0x0400 */ 7401 -// #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 7402 -enum : uint { SPI_GETMOUSEHOVERWIDTH = 0x0062 } 7403 -enum : uint { SPI_SETMOUSEHOVERWIDTH = 0x0063 } 7404 -enum : uint { SPI_GETMOUSEHOVERHEIGHT = 0x0064 } 7405 -enum : uint { SPI_SETMOUSEHOVERHEIGHT = 0x0065 } 7406 -enum : uint { SPI_GETMOUSEHOVERTIME = 0x0066 } 7407 -enum : uint { SPI_SETMOUSEHOVERTIME = 0x0067 } 7408 -enum : uint { SPI_GETWHEELSCROLLLINES = 0x0068 } 7409 -enum : uint { SPI_SETWHEELSCROLLLINES = 0x0069 } 7410 -enum : uint { SPI_GETMENUSHOWDELAY = 0x006A } 7411 -enum : uint { SPI_SETMENUSHOWDELAY = 0x006B } 7412 - 7413 -enum : uint { SPI_GETSHOWIMEUI = 0x006E } 7414 -enum : uint { SPI_SETSHOWIMEUI = 0x006F } 7415 -// #endif 7416 - 7417 -// #if(WINVER >= 0x0500) 7418 -enum : uint { SPI_GETMOUSESPEED = 0x0070 } 7419 -enum : uint { SPI_SETMOUSESPEED = 0x0071 } 7420 -enum : uint { SPI_GETSCREENSAVERRUNNING = 0x0072 } 7421 -enum : uint { SPI_GETDESKWALLPAPER = 0x0073 } 7422 -// #endif /* WINVER >= 0x0500 */ 7423 - 7424 -// #if(WINVER >= 0x0500) 7425 -enum : uint { SPI_GETACTIVEWINDOWTRACKING = 0x1000 } 7426 -enum : uint { SPI_SETACTIVEWINDOWTRACKING = 0x1001 } 7427 -enum : uint { SPI_GETMENUANIMATION = 0x1002 } 7428 -enum : uint { SPI_SETMENUANIMATION = 0x1003 } 7429 -enum : uint { SPI_GETCOMBOBOXANIMATION = 0x1004 } 7430 -enum : uint { SPI_SETCOMBOBOXANIMATION = 0x1005 } 7431 -enum : uint { SPI_GETLISTBOXSMOOTHSCROLLING = 0x1006 } 7432 -enum : uint { SPI_SETLISTBOXSMOOTHSCROLLING = 0x1007 } 7433 -enum : uint { SPI_GETGRADIENTCAPTIONS = 0x1008 } 7434 -enum : uint { SPI_SETGRADIENTCAPTIONS = 0x1009 } 7435 -enum : uint { SPI_GETKEYBOARDCUES = 0x100A } 7436 -enum : uint { SPI_SETKEYBOARDCUES = 0x100B } 7437 -alias SPI_GETKEYBOARDCUES SPI_GETMENUUNDERLINES; 7438 -alias SPI_SETKEYBOARDCUES SPI_SETMENUUNDERLINES; 7439 -enum : uint { SPI_GETACTIVEWNDTRKZORDER = 0x100C } 7440 -enum : uint { SPI_SETACTIVEWNDTRKZORDER = 0x100D } 7441 -enum : uint { SPI_GETHOTTRACKING = 0x100E } 7442 -enum : uint { SPI_SETHOTTRACKING = 0x100F } 7443 -enum : uint { SPI_GETMENUFADE = 0x1012 } 7444 -enum : uint { SPI_SETMENUFADE = 0x1013 } 7445 -enum : uint { SPI_GETSELECTIONFADE = 0x1014 } 7446 -enum : uint { SPI_SETSELECTIONFADE = 0x1015 } 7447 -enum : uint { SPI_GETTOOLTIPANIMATION = 0x1016 } 7448 -enum : uint { SPI_SETTOOLTIPANIMATION = 0x1017 } 7449 -enum : uint { SPI_GETTOOLTIPFADE = 0x1018 } 7450 -enum : uint { SPI_SETTOOLTIPFADE = 0x1019 } 7451 -enum : uint { SPI_GETCURSORSHADOW = 0x101A } 7452 -enum : uint { SPI_SETCURSORSHADOW = 0x101B } 7453 -// #if(_WIN32_WINNT >= 0x0501) 7454 -enum : uint { SPI_GETMOUSESONAR = 0x101C } 7455 -enum : uint { SPI_SETMOUSESONAR = 0x101D } 7456 -enum : uint { SPI_GETMOUSECLICKLOCK = 0x101E } 7457 -enum : uint { SPI_SETMOUSECLICKLOCK = 0x101F } 7458 -enum : uint { SPI_GETMOUSEVANISH = 0x1020 } 7459 -enum : uint { SPI_SETMOUSEVANISH = 0x1021 } 7460 -enum : uint { SPI_GETFLATMENU = 0x1022 } 7461 -enum : uint { SPI_SETFLATMENU = 0x1023 } 7462 -enum : uint { SPI_GETDROPSHADOW = 0x1024 } 7463 -enum : uint { SPI_SETDROPSHADOW = 0x1025 } 7464 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7465 - 7466 -enum : uint { SPI_GETUIEFFECTS = 0x103E } 7467 -enum : uint { SPI_SETUIEFFECTS = 0x103F } 7468 - 7469 -enum : uint { SPI_GETFOREGROUNDLOCKTIMEOUT = 0x2000 } 7470 -enum : uint { SPI_SETFOREGROUNDLOCKTIMEOUT = 0x2001 } 7471 -enum : uint { SPI_GETACTIVEWNDTRKTIMEOUT = 0x2002 } 7472 -enum : uint { SPI_SETACTIVEWNDTRKTIMEOUT = 0x2003 } 7473 -enum : uint { SPI_GETFOREGROUNDFLASHCOUNT = 0x2004 } 7474 -enum : uint { SPI_SETFOREGROUNDFLASHCOUNT = 0x2005 } 7475 -enum : uint { SPI_GETCARETWIDTH = 0x2006 } 7476 -enum : uint { SPI_SETCARETWIDTH = 0x2007 } 7477 - 7478 -// #if(_WIN32_WINNT >= 0x0501) 7479 -enum : uint { SPI_GETMOUSECLICKLOCKTIME = 0x2008 } 7480 -enum : uint { SPI_SETMOUSECLICKLOCKTIME = 0x2009 } 7481 -enum : uint { SPI_GETFONTSMOOTHINGTYPE = 0x200A } 7482 -enum : uint { SPI_SETFONTSMOOTHINGTYPE = 0x200B } 7483 - 7484 -enum : uint { FE_FONTSMOOTHINGSTANDARD = 0x0001 } 7485 -enum : uint { FE_FONTSMOOTHINGCLEARTYPE = 0x0002 } 7486 -enum : uint { FE_FONTSMOOTHINGDOCKING = 0x8000 } 7487 - 7488 -enum : uint { SPI_GETFONTSMOOTHINGCONTRAST = 0x200C } 7489 -enum : uint { SPI_SETFONTSMOOTHINGCONTRAST = 0x200D } 7490 - 7491 -enum : uint { SPI_GETFOCUSBORDERWIDTH = 0x200E } 7492 -enum : uint { SPI_SETFOCUSBORDERWIDTH = 0x200F } 7493 -enum : uint { SPI_GETFOCUSBORDERHEIGHT = 0x2010 } 7494 -enum : uint { SPI_SETFOCUSBORDERHEIGHT = 0x2011 } 7495 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7496 - 7497 -// #endif /* WINVER >= 0x0500 */ 7498 - 7499 -enum : uint { SPIF_UPDATEINIFILE = 0x0001 } 7500 -enum : uint { SPIF_SENDWININICHANGE = 0x0002 } 7501 -alias SPIF_SENDWININICHANGE SPIF_SENDCHANGE; 7502 - 7503 -enum { METRICS_USEDEFAULT = -1 } 7504 -// #ifdef _WINGDI_ 7505 -// #ifndef NOGDI 7506 -// ... 7507 -// #ifdef UNICODE 7508 -// ... 7509 -// #else 7510 -// ... 7511 -// #endif // UNICODE 7512 -// #endif /* NOGDI */ 7513 -// #endif /* _WINGDI_ */ 7514 - 7515 -enum : uint { ARW_BOTTOMLEFT = 0x0000 } 7516 -enum : uint { ARW_BOTTOMRIGHT = 0x0001 } 7517 -enum : uint { ARW_TOPLEFT = 0x0002 } 7518 -enum : uint { ARW_TOPRIGHT = 0x0003 } 7519 -enum : uint { ARW_STARTMASK = 0x0003 } 7520 -enum : uint { ARW_STARTRIGHT = 0x0001 } 7521 -enum : uint { ARW_STARTTOP = 0x0002 } 7522 - 7523 -enum : uint { ARW_LEFT = 0x0000 } 7524 -enum : uint { ARW_RIGHT = 0x0000 } 7525 -enum : uint { ARW_UP = 0x0004 } 7526 -enum : uint { ARW_DOWN = 0x0004 } 7527 -enum : uint { ARW_HIDE = 0x0008 } 7528 - 7529 -struct tagMINIMIZEDMETRICS { 7530 - UINT cbSize; 7531 - int iWidth; 7532 - int iHorzGap; 7533 - int iVertGap; 7534 - int iArrange; 7535 -} 7536 -alias tagMINIMIZEDMETRICS MINIMIZEDMETRICS; 7537 -alias tagMINIMIZEDMETRICS* PMINIMIZEDMETRICS; 7538 -alias tagMINIMIZEDMETRICS* LPMINIMIZEDMETRICS; 7539 - 7540 -// #ifdef _WINGDI_ 7541 -// #ifndef NOGDI 7542 -// ... 7543 -// #ifdef UNICODE 7544 -// ... 7545 -// #else 7546 -// ... 7547 -// #endif // UNICODE 7548 -// #endif /* NOGDI */ 7549 -// #endif /* _WINGDI_ */ 7550 - 7551 -struct tagANIMATIONINFO { 7552 - UINT cbSize; 7553 - int iMinAnimate; 7554 -} 7555 -alias tagANIMATIONINFO ANIMATIONINFO; 7556 -alias tagANIMATIONINFO* LPANIMATIONINFO; 7557 - 7558 -struct tagSERIALKEYSA { 7559 - UINT cbSize; 7560 - DWORD dwFlags; 7561 - LPSTR lpszActivePort; 7562 - LPSTR lpszPort; 7563 - UINT iBaudRate; 7564 - UINT iPortState; 7565 - UINT iActive; 7566 -} 7567 -alias tagSERIALKEYSA SERIALKEYSA; 7568 -alias tagSERIALKEYSA* LPSERIALKEYSA; 7569 - 7570 -struct tagSERIALKEYSW { 7571 - UINT cbSize; 7572 - DWORD dwFlags; 7573 - LPWSTR lpszActivePort; 7574 - LPWSTR lpszPort; 7575 - UINT iBaudRate; 7576 - UINT iPortState; 7577 - UINT iActive; 7578 -} 7579 -alias tagSERIALKEYSW SERIALKEYSW; 7580 -alias tagSERIALKEYSW* LPSERIALKEYSW; 7581 - 7582 -// #ifdef UNICODE 7583 -// ... 7584 -// #else 7585 -alias SERIALKEYSA SERIALKEYS; 7586 -alias LPSERIALKEYSA LPSERIALKEYS; 7587 -// #endif // UNICODE 7588 - 7589 -enum : uint { SERKF_SERIALKEYSON = 0x00000001 } 7590 -enum : uint { SERKF_AVAILABLE = 0x00000002 } 7591 -enum : uint { SERKF_INDICATOR = 0x00000004 } 7592 - 7593 -struct tagHIGHCONTRASTA { 7594 - UINT cbSize; 7595 - DWORD dwFlags; 7596 - LPSTR lpszDefaultScheme; 7597 -} 7598 -alias tagHIGHCONTRASTA HIGHCONTRASTA; 7599 -alias tagHIGHCONTRASTA* LPHIGHCONTRASTA; 7600 - 7601 -struct tagHIGHCONTRASTW { 7602 - UINT cbSize; 7603 - DWORD dwFlags; 7604 - LPWSTR lpszDefaultScheme; 7605 -} 7606 -alias tagHIGHCONTRASTW HIGHCONTRASTW; 7607 -alias tagHIGHCONTRASTW* LPHIGHCONTRASTW; 7608 - 7609 -// #ifdef UNICODE 7610 -// ... 7611 -// #else 7612 -alias HIGHCONTRASTA HIGHCONTRAST; 7613 -alias LPHIGHCONTRASTA LPHIGHCONTRAST; 7614 -// #endif // UNICODE 7615 - 7616 -enum : uint { HCF_HIGHCONTRASTON = 0x00000001 } 7617 -enum : uint { HCF_AVAILABLE = 0x00000002 } 7618 -enum : uint { HCF_HOTKEYACTIVE = 0x00000004 } 7619 -enum : uint { HCF_CONFIRMHOTKEY = 0x00000008 } 7620 -enum : uint { HCF_HOTKEYSOUND = 0x00000010 } 7621 -enum : uint { HCF_INDICATOR = 0x00000020 } 7622 -enum : uint { HCF_HOTKEYAVAILABLE = 0x00000040 } 7623 - 7624 -enum : uint { CDS_UPDATEREGISTRY = 0x00000001 } 7625 -enum : uint { CDS_TEST = 0x00000002 } 7626 -enum : uint { CDS_FULLSCREEN = 0x00000004 } 7627 -enum : uint { CDS_GLOBAL = 0x00000008 } 7628 -enum : uint { CDS_SET_PRIMARY = 0x00000010 } 7629 -enum : uint { CDS_VIDEOPARAMETERS = 0x00000020 } 7630 -enum : uint { CDS_RESET = 0x40000000 } 7631 -enum : uint { CDS_NORESET = 0x10000000 } 7632 - 7633 -// #include <tvout.h> 7634 - 7635 -enum : uint { DISP_CHANGE_SUCCESSFUL = 0 } 7636 -enum : uint { DISP_CHANGE_RESTART = 1 } 7637 -enum { DISP_CHANGE_FAILED = -1 } 7638 -enum { DISP_CHANGE_BADMODE = -2 } 7639 -enum { DISP_CHANGE_NOTUPDATED = -3 } 7640 -enum { DISP_CHANGE_BADFLAGS = -4 } 7641 -enum { DISP_CHANGE_BADPARAM = -5 } 7642 -// #if(_WIN32_WINNT >= 0x0501) 7643 -enum { DISP_CHANGE_BADDUALVIEW = -6 } 7644 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7645 - 7646 -// #ifdef _WINGDI_ 7647 -// #ifndef NOGDI 7648 - 7649 -// ... 7650 -// #ifdef UNICODE 7651 -// #... 7652 -// #else 7653 -// #... 7654 -// #endif // !UNICODE 7655 - 7656 -// ... 7657 -// #ifdef UNICODE 7658 -// #... 7659 -// #else 7660 -// #... 7661 -// #endif // !UNICODE 7662 - 7663 -// #... 7664 -// #... 7665 - 7666 -// ... 7667 -// #ifdef UNICODE 7668 -// #... 7669 -// #else 7670 -// #... 7671 -// #endif // !UNICODE 7672 - 7673 -// #if(WINVER >= 0x0500) 7674 - 7675 -// ... 7676 -// #ifdef UNICODE 7677 -// #... 7678 -// #else 7679 -// #... 7680 -// #endif // !UNICODE 7681 - 7682 -// #... 7683 - 7684 -// ... 7685 -// #ifdef UNICODE 7686 -// #... 7687 -// #else 7688 -// #... 7689 -// #endif // !UNICODE 7690 -// #endif /* WINVER >= 0x0500 */ 7691 - 7692 -// #endif /* NOGDI */ 7693 -// #endif /* _WINGDI_ */ 7694 - 7695 -extern(Windows) export BOOL SystemParametersInfoA( 7696 - UINT uiAction, 7697 - UINT uiParam, 7698 - PVOID pvParam, 7699 - UINT fWinIni); 7700 -extern(Windows) export BOOL SystemParametersInfoW( 7701 - UINT uiAction, 7702 - UINT uiParam, 7703 - PVOID pvParam, 7704 - UINT fWinIni); 7705 -// #ifdef UNICODE 7706 -// #... 7707 -// #else 7708 -alias SystemParametersInfoA SystemParametersInfo; 7709 -// #endif // !UNICODE 7710 - 7711 -// #endif /* !NOSYSPARAMSINFO */ 7712 - 7713 -struct tagFILTERKEYS { 7714 - UINT cbSize; 7715 - DWORD dwFlags; 7716 - DWORD iWaitMSec; 7717 - DWORD iDelayMSec; 7718 - DWORD iRepeatMSec; 7719 - DWORD iBounceMSec; 7720 -} 7721 -alias tagFILTERKEYS FILTERKEYS; 7722 -alias tagFILTERKEYS* LPFILTERKEYS; 7723 - 7724 -enum : uint { FKF_FILTERKEYSON = 0x00000001 } 7725 -enum : uint { FKF_AVAILABLE = 0x00000002 } 7726 -enum : uint { FKF_HOTKEYACTIVE = 0x00000004 } 7727 -enum : uint { FKF_CONFIRMHOTKEY = 0x00000008 } 7728 -enum : uint { FKF_HOTKEYSOUND = 0x00000010 } 7729 -enum : uint { FKF_INDICATOR = 0x00000020 } 7730 -enum : uint { FKF_CLICKON = 0x00000040 } 7731 - 7732 -struct tagSTICKYKEYS { 7733 - UINT cbSize; 7734 - DWORD dwFlags; 7735 -} 7736 -alias tagSTICKYKEYS STICKYKEYS; 7737 -alias tagSTICKYKEYS* LPSTICKYKEYS; 7738 - 7739 -enum : uint { SKF_STICKYKEYSON = 0x00000001 } 7740 -enum : uint { SKF_AVAILABLE = 0x00000002 } 7741 -enum : uint { SKF_HOTKEYACTIVE = 0x00000004 } 7742 -enum : uint { SKF_CONFIRMHOTKEY = 0x00000008 } 7743 -enum : uint { SKF_HOTKEYSOUND = 0x00000010 } 7744 -enum : uint { SKF_INDICATOR = 0x00000020 } 7745 -enum : uint { SKF_AUDIBLEFEEDBACK = 0x00000040 } 7746 -enum : uint { SKF_TRISTATE = 0x00000080 } 7747 -enum : uint { SKF_TWOKEYSOFF = 0x00000100 } 7748 -// #if(_WIN32_WINNT >= 0x0500) 7749 -enum : uint { SKF_LALTLATCHED = 0x10000000 } 7750 -enum : uint { SKF_LCTLLATCHED = 0x04000000 } 7751 -enum : uint { SKF_LSHIFTLATCHED = 0x01000000 } 7752 -enum : uint { SKF_RALTLATCHED = 0x20000000 } 7753 -enum : uint { SKF_RCTLLATCHED = 0x08000000 } 7754 -enum : uint { SKF_RSHIFTLATCHED = 0x02000000 } 7755 -enum : uint { SKF_LWINLATCHED = 0x40000000 } 7756 -enum : uint { SKF_RWINLATCHED = 0x80000000 } 7757 -enum : uint { SKF_LALTLOCKED = 0x00100000 } 7758 -enum : uint { SKF_LCTLLOCKED = 0x00040000 } 7759 -enum : uint { SKF_LSHIFTLOCKED = 0x00010000 } 7760 -enum : uint { SKF_RALTLOCKED = 0x00200000 } 7761 -enum : uint { SKF_RCTLLOCKED = 0x00080000 } 7762 -enum : uint { SKF_RSHIFTLOCKED = 0x00020000 } 7763 -enum : uint { SKF_LWINLOCKED = 0x00400000 } 7764 -enum : uint { SKF_RWINLOCKED = 0x00800000 } 7765 -// #endif /* _WIN32_WINNT >= 0x0500 */ 7766 - 7767 -struct tagMOUSEKEYS { 7768 - UINT cbSize; 7769 - DWORD dwFlags; 7770 - DWORD iMaxSpeed; 7771 - DWORD iTimeToMaxSpeed; 7772 - DWORD iCtrlSpeed; 7773 - DWORD dwReserved1; 7774 - DWORD dwReserved2; 7775 -} 7776 -alias tagMOUSEKEYS MOUSEKEYS; 7777 -alias tagMOUSEKEYS* LPMOUSEKEYS; 7778 - 7779 -enum : uint { MKF_MOUSEKEYSON = 0x00000001 } 7780 -enum : uint { MKF_AVAILABLE = 0x00000002 } 7781 -enum : uint { MKF_HOTKEYACTIVE = 0x00000004 } 7782 -enum : uint { MKF_CONFIRMHOTKEY = 0x00000008 } 7783 -enum : uint { MKF_HOTKEYSOUND = 0x00000010 } 7784 -enum : uint { MKF_INDICATOR = 0x00000020 } 7785 -enum : uint { MKF_MODIFIERS = 0x00000040 } 7786 -enum : uint { MKF_REPLACENUMBERS = 0x00000080 } 7787 -// #if(_WIN32_WINNT >= 0x0500) 7788 -enum : uint { MKF_LEFTBUTTONSEL = 0x10000000 } 7789 -enum : uint { MKF_RIGHTBUTTONSEL = 0x20000000 } 7790 -enum : uint { MKF_LEFTBUTTONDOWN = 0x01000000 } 7791 -enum : uint { MKF_RIGHTBUTTONDOWN = 0x02000000 } 7792 -enum : uint { MKF_MOUSEMODE = 0x80000000 } 7793 -// #endif /* _WIN32_WINNT >= 0x0500 */ 7794 - 7795 -struct tagACCESSTIMEOUT { 7796 - UINT cbSize; 7797 - DWORD dwFlags; 7798 - DWORD iTimeOutMSec; 7799 -} 7800 -alias tagACCESSTIMEOUT ACCESSTIMEOUT; 7801 -alias tagACCESSTIMEOUT* LPACCESSTIMEOUT; 7802 - 7803 -enum : uint { ATF_TIMEOUTON = 0x00000001 } 7804 -enum : uint { ATF_ONOFFFEEDBACK = 0x00000002 } 7805 - 7806 -enum : uint { SSGF_NONE = 0 } 7807 -enum : uint { SSGF_DISPLAY = 3 } 7808 - 7809 -enum : uint { SSTF_NONE = 0 } 7810 -enum : uint { SSTF_CHARS = 1 } 7811 -enum : uint { SSTF_BORDER = 2 } 7812 -enum : uint { SSTF_DISPLAY = 3 } 7813 - 7814 -enum : uint { SSWF_NONE = 0 } 7815 -enum : uint { SSWF_TITLE = 1 } 7816 -enum : uint { SSWF_WINDOW = 2 } 7817 -enum : uint { SSWF_DISPLAY = 3 } 7818 -enum : uint { SSWF_CUSTOM = 4 } 7819 - 7820 -struct tagSOUNDSENTRYA { 7821 - UINT cbSize; 7822 - DWORD dwFlags; 7823 - DWORD iFSTextEffect; 7824 - DWORD iFSTextEffectMSec; 7825 - DWORD iFSTextEffectColorBits; 7826 - DWORD iFSGrafEffect; 7827 - DWORD iFSGrafEffectMSec; 7828 - DWORD iFSGrafEffectColor; 7829 - DWORD iWindowsEffect; 7830 - DWORD iWindowsEffectMSec; 7831 - LPSTR lpszWindowsEffectDLL; 7832 - DWORD iWindowsEffectOrdinal; 7833 -} 7834 -alias tagSOUNDSENTRYA SOUNDSENTRYA; 7835 -alias tagSOUNDSENTRYA* LPSOUNDSENTRYA; 7836 - 7837 -struct tagSOUNDSENTRYW { 7838 - UINT cbSize; 7839 - DWORD dwFlags; 7840 - DWORD iFSTextEffect; 7841 - DWORD iFSTextEffectMSec; 7842 - DWORD iFSTextEffectColorBits; 7843 - DWORD iFSGrafEffect; 7844 - DWORD iFSGrafEffectMSec; 7845 - DWORD iFSGrafEffectColor; 7846 - DWORD iWindowsEffect; 7847 - DWORD iWindowsEffectMSec; 7848 - LPWSTR lpszWindowsEffectDLL; 7849 - DWORD iWindowsEffectOrdinal; 7850 -} 7851 -alias tagSOUNDSENTRYW SOUNDSENTRYW; 7852 -alias tagSOUNDSENTRYW* LPSOUNDSENTRYW; 7853 - 7854 -// #ifdef UNICODE 7855 -// ... 7856 -// #else 7857 -alias SOUNDSENTRYA SOUNDSENTRY; 7858 -alias LPSOUNDSENTRYA LPSOUNDSENTRY; 7859 -// #endif // UNICODE 7860 - 7861 -enum : uint { SSF_SOUNDSENTRYON = 0x00000001 } 7862 -enum : uint { SSF_AVAILABLE = 0x00000002 } 7863 -enum : uint { SSF_INDICATOR = 0x00000004 } 7864 - 7865 -struct tagTOGGLEKEYS { 7866 - UINT cbSize; 7867 - DWORD dwFlags; 7868 -} 7869 -alias tagTOGGLEKEYS TOGGLEKEYS; 7870 -alias tagTOGGLEKEYS* LPTOGGLEKEYS; 7871 - 7872 -enum : uint { TKF_TOGGLEKEYSON = 0x00000001 } 7873 -enum : uint { TKF_AVAILABLE = 0x00000002 } 7874 -enum : uint { TKF_HOTKEYACTIVE = 0x00000004 } 7875 -enum : uint { TKF_CONFIRMHOTKEY = 0x00000008 } 7876 -enum : uint { TKF_HOTKEYSOUND = 0x00000010 } 7877 -enum : uint { TKF_INDICATOR = 0x00000020 } 7878 - 7879 -extern(Windows) export VOID SetDebugErrorLevel( 7880 - DWORD dwLevel); 7881 - 7882 -enum : uint { SLE_ERROR = 0x00000001 } 7883 -enum : uint { SLE_MINORERROR = 0x00000002 } 7884 -enum : uint { SLE_WARNING = 0x00000003 } 7885 - 7886 -extern(Windows) export VOID SetLastErrorEx( 7887 - DWORD dwErrCode, 7888 - DWORD dwType); 7889 - 7890 -// #if(WINVER >= 0x0500) 7891 - 7892 -enum : uint { MONITOR_DEFAULTTONULL = 0x00000000 } 7893 -enum : uint { MONITOR_DEFAULTTOPRIMARY = 0x00000001 } 7894 -enum : uint { MONITOR_DEFAULTTONEAREST = 0x00000002 } 7895 - 7896 -extern(Windows) export HMONITOR MonitorFromPoint( 7897 - POINT pt, 7898 - DWORD dwFlags); 7899 - 7900 -extern(Windows) export HMONITOR MonitorFromRect( 7901 - LPCRECT lprc, 7902 - DWORD dwFlags); 7903 - 7904 -extern(Windows) export HMONITOR MonitorFromWindow(HWND hwnd, DWORD dwFlags); 7905 - 7906 -enum : uint { MONITORINFOF_PRIMARY = 0x00000001 } 7907 - 7908 -// #ifndef CCHDEVICENAME 7909 -// #... 7910 -// #endif 7911 - 7912 -struct tagMONITORINFO { 7913 - DWORD cbSize; 7914 - RECT rcMonitor; 7915 - RECT rcWork; 7916 - DWORD dwFlags; 7917 -} 7918 -alias tagMONITORINFO MONITORINFO; 7919 -alias tagMONITORINFO* LPMONITORINFO; 7920 - 7921 -// #ifdef __cplusplus 7922 -struct tagMONITORINFOEXA { 7923 - DWORD cbSize; 7924 - RECT rcMonitor; 7925 - RECT rcWork; 7926 - DWORD dwFlags; 7927 - CHAR szDevice[CCHDEVICENAME]; 7928 -} 7929 -alias tagMONITORINFOEXA MONITORINFOEXA; 7930 -alias tagMONITORINFOEXA* LPMONITORINFOEXA; 7931 - 7932 -struct tagMONITORINFOEXW { 7933 - DWORD cbSize; 7934 - RECT rcMonitor; 7935 - RECT rcWork; 7936 - DWORD dwFlags; 7937 - WCHAR szDevice[CCHDEVICENAME]; 7938 -} 7939 -alias tagMONITORINFOEXW MONITORINFOEXW; 7940 -alias tagMONITORINFOEXW* LPMONITORINFOEXW; 7941 - 7942 -// #ifdef UNICODE 7943 -// ... 7944 -// #else 7945 -alias MONITORINFOEXA MONITORINFOEX; 7946 -alias LPMONITORINFOEXA LPMONITORINFOEX; 7947 -// #endif // UNICODE 7948 -// #else // ndef __cplusplus 7949 -// ... 7950 -// #ifdef UNICODE 7951 -// ... 7952 -// #else 7953 -// ... 7954 -// #endif // UNICODE 7955 -// #endif 7956 - 7957 -extern(Windows) export BOOL GetMonitorInfoA(HMONITOR hMonitor, LPMONITORINFO lpmi); 7958 -extern(Windows) export BOOL GetMonitorInfoW(HMONITOR hMonitor, LPMONITORINFO lpmi); 7959 -// #ifdef UNICODE 7960 -// #... 7961 -// #else 7962 -alias GetMonitorInfoA GetMonitorInfo; 7963 -// #endif // !UNICODE 7964 - 7965 -extern(Windows) alias BOOL function(HMONITOR, HDC, LPRECT, LPARAM) MONITORENUMPROC; 7966 - 7967 -extern(Windows) export BOOL EnumDisplayMonitors( 7968 - HDC hdc, 7969 - LPCRECT lprcClip, 7970 - MONITORENUMPROC lpfnEnum, 7971 - LPARAM dwData); 7972 - 7973 -// #ifndef NOWINABLE 7974 - 7975 -extern(Windows) export VOID NotifyWinEvent( 7976 - DWORD event, 7977 - HWND hwnd, 7978 - LONG idObject, 7979 - LONG idChild); 7980 - 7981 -extern(Windows) alias VOID function( HWINEVENTHOOK hWinEventHook, DWORD event, HWND hwnd, LONG idObject, LONG idChild, DWORD idEventThread, DWORD dwmsEventTime) WINEVENTPROC; 7982 - 7983 -extern(Windows) export HWINEVENTHOOK SetWinEventHook( 7984 - DWORD eventMin, 7985 - DWORD eventMax, 7986 - HMODULE hmodWinEventProc, 7987 - WINEVENTPROC pfnWinEventProc, 7988 - DWORD idProcess, 7989 - DWORD idThread, 7990 - DWORD dwFlags); 7991 - 7992 -// #if(_WIN32_WINNT >= 0x0501) 7993 -extern(Windows) export BOOL IsWinEventHookInstalled( 7994 - DWORD event); 7995 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7996 - 7997 -enum : uint { WINEVENT_OUTOFCONTEXT = 0x0000 } 7998 -enum : uint { WINEVENT_SKIPOWNTHREAD = 0x0001 } 7999 -enum : uint { WINEVENT_SKIPOWNPROCESS = 0x0002 } 8000 -enum : uint { WINEVENT_INCONTEXT = 0x0004 } 8001 - 8002 -extern(Windows) export BOOL UnhookWinEvent( 8003 - HWINEVENTHOOK hWinEventHook); 8004 - 8005 -enum : uint { CHILDID_SELF = 0 } 8006 -enum : uint { INDEXID_OBJECT = 0 } 8007 -enum : uint { INDEXID_CONTAINER = 0 } 8008 - 8009 -enum : uint { OBJID_WINDOW = cast(LONG)0x00000000 } 8010 -enum : uint { OBJID_SYSMENU = cast(LONG)0xFFFFFFFF } 8011 -enum : uint { OBJID_TITLEBAR = cast(LONG)0xFFFFFFFE } 8012 -enum : uint { OBJID_MENU = cast(LONG)0xFFFFFFFD } 8013 -enum : uint { OBJID_CLIENT = cast(LONG)0xFFFFFFFC } 8014 -enum : uint { OBJID_VSCROLL = cast(LONG)0xFFFFFFFB } 8015 -enum : uint { OBJID_HSCROLL = cast(LONG)0xFFFFFFFA } 8016 -enum : uint { OBJID_SIZEGRIP = cast(LONG)0xFFFFFFF9 } 8017 -enum : uint { OBJID_CARET = cast(LONG)0xFFFFFFF8 } 8018 -enum : uint { OBJID_CURSOR = cast(LONG)0xFFFFFFF7 } 8019 -enum : uint { OBJID_ALERT = cast(LONG)0xFFFFFFF6 } 8020 -enum : uint { OBJID_SOUND = cast(LONG)0xFFFFFFF5 } 8021 -enum : uint { OBJID_QUERYCLASSNAMEIDX = cast(LONG)0xFFFFFFF4 } 8022 -enum : uint { OBJID_NATIVEOM = cast(LONG)0xFFFFFFF0 } 8023 - 8024 -enum : uint { EVENT_MIN = 0x00000001 } 8025 -enum : uint { EVENT_MAX = 0x7FFFFFFF } 8026 - 8027 -enum : uint { EVENT_SYSTEM_SOUND = 0x0001 } 8028 - 8029 -enum : uint { EVENT_SYSTEM_ALERT = 0x0002 } 8030 - 8031 -enum : uint { EVENT_SYSTEM_FOREGROUND = 0x0003 } 8032 - 8033 -enum : uint { EVENT_SYSTEM_MENUSTART = 0x0004 } 8034 -enum : uint { EVENT_SYSTEM_MENUEND = 0x0005 } 8035 - 8036 -enum : uint { EVENT_SYSTEM_MENUPOPUPSTART = 0x0006 } 8037 -enum : uint { EVENT_SYSTEM_MENUPOPUPEND = 0x0007 } 8038 - 8039 -enum : uint { EVENT_SYSTEM_CAPTURESTART = 0x0008 } 8040 -enum : uint { EVENT_SYSTEM_CAPTUREEND = 0x0009 } 8041 - 8042 -enum : uint { EVENT_SYSTEM_MOVESIZESTART = 0x000A } 8043 -enum : uint { EVENT_SYSTEM_MOVESIZEEND = 0x000B } 8044 - 8045 -enum : uint { EVENT_SYSTEM_CONTEXTHELPSTART = 0x000C } 8046 -enum : uint { EVENT_SYSTEM_CONTEXTHELPEND = 0x000D } 8047 - 8048 -enum : uint { EVENT_SYSTEM_DRAGDROPSTART = 0x000E } 8049 -enum : uint { EVENT_SYSTEM_DRAGDROPEND = 0x000F } 8050 - 8051 -enum : uint { EVENT_SYSTEM_DIALOGSTART = 0x0010 } 8052 -enum : uint { EVENT_SYSTEM_DIALOGEND = 0x0011 } 8053 - 8054 -enum : uint { EVENT_SYSTEM_SCROLLINGSTART = 0x0012 } 8055 -enum : uint { EVENT_SYSTEM_SCROLLINGEND = 0x0013 } 8056 - 8057 -enum : uint { EVENT_SYSTEM_SWITCHSTART = 0x0014 } 8058 -enum : uint { EVENT_SYSTEM_SWITCHEND = 0x0015 } 8059 - 8060 -enum : uint { EVENT_SYSTEM_MINIMIZESTART = 0x0016 } 8061 -enum : uint { EVENT_SYSTEM_MINIMIZEEND = 0x0017 } 8062 - 8063 -// #if(_WIN32_WINNT >= 0x0501) 8064 -enum : uint { EVENT_CONSOLE_CARET = 0x4001 } 8065 -enum : uint { EVENT_CONSOLE_UPDATE_REGION = 0x4002 } 8066 -enum : uint { EVENT_CONSOLE_UPDATE_SIMPLE = 0x4003 } 8067 -enum : uint { EVENT_CONSOLE_UPDATE_SCROLL = 0x4004 } 8068 -enum : uint { EVENT_CONSOLE_LAYOUT = 0x4005 } 8069 -enum : uint { EVENT_CONSOLE_START_APPLICATION = 0x4006 } 8070 -enum : uint { EVENT_CONSOLE_END_APPLICATION = 0x4007 } 8071 - 8072 -enum : uint { CONSOLE_APPLICATION_16BIT = 0x0001 } 8073 - 8074 -enum : uint { CONSOLE_CARET_SELECTION = 0x0001 } 8075 -enum : uint { CONSOLE_CARET_VISIBLE = 0x0002 } 8076 -// #endif /* _WIN32_WINNT >= 0x0501 */ 8077 - 8078 -enum : uint { EVENT_OBJECT_CREATE = 0x8000 } 8079 -enum : uint { EVENT_OBJECT_DESTROY = 0x8001 } 8080 -enum : uint { EVENT_OBJECT_SHOW = 0x8002 } 8081 -enum : uint { EVENT_OBJECT_HIDE = 0x8003 } 8082 -enum : uint { EVENT_OBJECT_REORDER = 0x8004 } 8083 - 8084 -enum : uint { EVENT_OBJECT_FOCUS = 0x8005 } 8085 -enum : uint { EVENT_OBJECT_SELECTION = 0x8006 } 8086 -enum : uint { EVENT_OBJECT_SELECTIONADD = 0x8007 } 8087 -enum : uint { EVENT_OBJECT_SELECTIONREMOVE = 0x8008 } 8088 -enum : uint { EVENT_OBJECT_SELECTIONWITHIN = 0x8009 } 8089 - 8090 -enum : uint { EVENT_OBJECT_STATECHANGE = 0x800A } 8091 - 8092 -enum : uint { EVENT_OBJECT_LOCATIONCHANGE = 0x800B } 8093 - 8094 -enum : uint { EVENT_OBJECT_NAMECHANGE = 0x800C } 8095 -enum : uint { EVENT_OBJECT_DESCRIPTIONCHANGE = 0x800D } 8096 -enum : uint { EVENT_OBJECT_VALUECHANGE = 0x800E } 8097 -enum : uint { EVENT_OBJECT_PARENTCHANGE = 0x800F } 8098 -enum : uint { EVENT_OBJECT_HELPCHANGE = 0x8010 } 8099 -enum : uint { EVENT_OBJECT_DEFACTIONCHANGE = 0x8011 } 8100 -enum : uint { EVENT_OBJECT_ACCELERATORCHANGE = 0x8012 } 8101 - 8102 -enum : uint { SOUND_SYSTEM_STARTUP = 1 } 8103 -enum : uint { SOUND_SYSTEM_SHUTDOWN = 2 } 8104 -enum : uint { SOUND_SYSTEM_BEEP = 3 } 8105 -enum : uint { SOUND_SYSTEM_ERROR = 4 } 8106 -enum : uint { SOUND_SYSTEM_QUESTION = 5 } 8107 -enum : uint { SOUND_SYSTEM_WARNING = 6 } 8108 -enum : uint { SOUND_SYSTEM_INFORMATION = 7 } 8109 -enum : uint { SOUND_SYSTEM_MAXIMIZE = 8 } 8110 -enum : uint { SOUND_SYSTEM_MINIMIZE = 9 } 8111 -enum : uint { SOUND_SYSTEM_RESTOREUP = 10 } 8112 -enum : uint { SOUND_SYSTEM_RESTOREDOWN = 11 } 8113 -enum : uint { SOUND_SYSTEM_APPSTART = 12 } 8114 -enum : uint { SOUND_SYSTEM_FAULT = 13 } 8115 -enum : uint { SOUND_SYSTEM_APPEND = 14 } 8116 -enum : uint { SOUND_SYSTEM_MENUCOMMAND = 15 } 8117 -enum : uint { SOUND_SYSTEM_MENUPOPUP = 16 } 8118 -enum : uint { CSOUND_SYSTEM = 16 } 8119 - 8120 -enum : uint { ALERT_SYSTEM_INFORMATIONAL = 1 } 8121 -enum : uint { ALERT_SYSTEM_WARNING = 2 } 8122 -enum : uint { ALERT_SYSTEM_ERROR = 3 } 8123 -enum : uint { ALERT_SYSTEM_QUERY = 4 } 8124 -enum : uint { ALERT_SYSTEM_CRITICAL = 5 } 8125 -enum : uint { CALERT_SYSTEM = 6 } 8126 - 8127 -struct tagGUITHREADINFO { 8128 - DWORD cbSize; 8129 - DWORD flags; 8130 - HWND hwndActive; 8131 - HWND hwndFocus; 8132 - HWND hwndCapture; 8133 - HWND hwndMenuOwner; 8134 - HWND hwndMoveSize; 8135 - HWND hwndCaret; 8136 - RECT rcCaret; 8137 -} 8138 -alias tagGUITHREADINFO GUITHREADINFO; 8139 -alias tagGUITHREADINFO* PGUITHREADINFO; 8140 -alias tagGUITHREADINFO* LPGUITHREADINFO; 8141 - 8142 -enum : uint { GUI_CARETBLINKING = 0x00000001 } 8143 -enum : uint { GUI_INMOVESIZE = 0x00000002 } 8144 -enum : uint { GUI_INMENUMODE = 0x00000004 } 8145 -enum : uint { GUI_SYSTEMMENUMODE = 0x00000008 } 8146 -enum : uint { GUI_POPUPMENUMODE = 0x00000010 } 8147 -// #if(_WIN32_WINNT >= 0x0501) 8148 -enum : uint { GUI_16BITTASK = 0x00000020 } 8149 -// #endif /* _WIN32_WINNT >= 0x0501 */ 8150 - 8151 -extern(Windows) export BOOL GetGUIThreadInfo( 8152 - DWORD idThread, 8153 - PGUITHREADINFO pgui); 8154 - 8155 -extern(Windows) export UINT GetWindowModuleFileNameA( 8156 - HWND hwnd, 8157 - LPSTR pszFileName, 8158 - UINT cchFileNameMax); 8159 -extern(Windows) export UINT GetWindowModuleFileNameW( 8160 - HWND hwnd, 8161 - LPWSTR pszFileName, 8162 - UINT cchFileNameMax); 8163 -// #ifdef UNICODE 8164 -// #... 8165 -// #else 8166 -alias GetWindowModuleFileNameA GetWindowModuleFileName; 8167 -// #endif // !UNICODE 8168 - 8169 -// #ifndef NO_STATE_FLAGS 8170 -enum : uint { STATE_SYSTEM_UNAVAILABLE = 0x00000001 } 8171 -enum : uint { STATE_SYSTEM_SELECTED = 0x00000002 } 8172 -enum : uint { STATE_SYSTEM_FOCUSED = 0x00000004 } 8173 -enum : uint { STATE_SYSTEM_PRESSED = 0x00000008 } 8174 -enum : uint { STATE_SYSTEM_CHECKED = 0x00000010 } 8175 -enum : uint { STATE_SYSTEM_MIXED = 0x00000020 } 8176 -alias STATE_SYSTEM_MIXED STATE_SYSTEM_INDETERMINATE; 8177 -enum : uint { STATE_SYSTEM_READONLY = 0x00000040 } 8178 -enum : uint { STATE_SYSTEM_HOTTRACKED = 0x00000080 } 8179 -enum : uint { STATE_SYSTEM_DEFAULT = 0x00000100 } 8180 -enum : uint { STATE_SYSTEM_EXPANDED = 0x00000200 } 8181 -enum : uint { STATE_SYSTEM_COLLAPSED = 0x00000400 } 8182 -enum : uint { STATE_SYSTEM_BUSY = 0x00000800 } 8183 -enum : uint { STATE_SYSTEM_FLOATING = 0x00001000 } 8184 -enum : uint { STATE_SYSTEM_MARQUEED = 0x00002000 } 8185 -enum : uint { STATE_SYSTEM_ANIMATED = 0x00004000 } 8186 -enum : uint { STATE_SYSTEM_INVISIBLE = 0x00008000 } 8187 -enum : uint { STATE_SYSTEM_OFFSCREEN = 0x00010000 } 8188 -enum : uint { STATE_SYSTEM_SIZEABLE = 0x00020000 } 8189 -enum : uint { STATE_SYSTEM_MOVEABLE = 0x00040000 } 8190 -enum : uint { STATE_SYSTEM_SELFVOICING = 0x00080000 } 8191 -enum : uint { STATE_SYSTEM_FOCUSABLE = 0x00100000 } 8192 -enum : uint { STATE_SYSTEM_SELECTABLE = 0x00200000 } 8193 -enum : uint { STATE_SYSTEM_LINKED = 0x00400000 } 8194 -enum : uint { STATE_SYSTEM_TRAVERSED = 0x00800000 } 8195 -enum : uint { STATE_SYSTEM_MULTISELECTABLE = 0x01000000 } 8196 -enum : uint { STATE_SYSTEM_EXTSELECTABLE = 0x02000000 } 8197 -enum : uint { STATE_SYSTEM_ALERT_LOW = 0x04000000 } 8198 -enum : uint { STATE_SYSTEM_ALERT_MEDIUM = 0x08000000 } 8199 -enum : uint { STATE_SYSTEM_ALERT_HIGH = 0x10000000 } 8200 -enum : uint { STATE_SYSTEM_PROTECTED = 0x20000000 } 8201 -enum : uint { STATE_SYSTEM_VALID = 0x3FFFFFFF } 8202 -// #endif 8203 - 8204 -enum : uint { CCHILDREN_TITLEBAR = 5 } 8205 -enum : uint { CCHILDREN_SCROLLBAR = 5 } 8206 - 8207 -struct tagCURSORINFO { 8208 - DWORD cbSize; 8209 - DWORD flags; 8210 - HCURSOR hCursor; 8211 - POINT ptScreenPos; 8212 -} 8213 -alias tagCURSORINFO CURSORINFO; 8214 -alias tagCURSORINFO* PCURSORINFO; 8215 -alias tagCURSORINFO* LPCURSORINFO; 8216 - 8217 -enum : uint { CURSOR_SHOWING = 0x00000001 } 8218 - 8219 -extern(Windows) export BOOL GetCursorInfo( 8220 - PCURSORINFO pci 8221 -); 8222 - 8223 -struct tagWINDOWINFO { 8224 - DWORD cbSize; 8225 - RECT rcWindow; 8226 - RECT rcClient; 8227 - DWORD dwStyle; 8228 - DWORD dwExStyle; 8229 - DWORD dwWindowStatus; 8230 - UINT cxWindowBorders; 8231 - UINT cyWindowBorders; 8232 - ATOM atomWindowType; 8233 - WORD wCreatorVersion; 8234 -} 8235 -alias tagWINDOWINFO WINDOWINFO; 8236 -alias tagWINDOWINFO* PWINDOWINFO; 8237 -alias tagWINDOWINFO* LPWINDOWINFO; 8238 - 8239 -enum : uint { WS_ACTIVECAPTION = 0x0001 } 8240 - 8241 -extern(Windows) export BOOL GetWindowInfo( 8242 - HWND hwnd, 8243 - PWINDOWINFO pwi 8244 -); 8245 - 8246 -struct tagTITLEBARINFO { 8247 - DWORD cbSize; 8248 - RECT rcTitleBar; 8249 - DWORD rgstate[CCHILDREN_TITLEBAR+1]; 8250 -} 8251 -alias tagTITLEBARINFO TITLEBARINFO; 8252 -alias tagTITLEBARINFO* PTITLEBARINFO; 8253 -alias tagTITLEBARINFO* LPTITLEBARINFO; 8254 - 8255 -extern(Windows) export BOOL GetTitleBarInfo( 8256 - HWND hwnd, 8257 - PTITLEBARINFO pti 8258 -); 8259 - 8260 -struct tagMENUBARINFO { 8261 - DWORD cbSize; 8262 - RECT rcBar; 8263 - HMENU hMenu; 8264 - HWND hwndMenu; 8265 -// BOOL fBarFocused:1; 8266 -// BOOL fFocused:1; 8267 -} 8268 -alias tagMENUBARINFO MENUBARINFO; 8269 -alias tagMENUBARINFO* PMENUBARINFO; 8270 -alias tagMENUBARINFO* LPMENUBARINFO; 8271 - 8272 -extern(Windows) export BOOL GetMenuBarInfo( 8273 - HWND hwnd, 8274 - LONG idObject, 8275 - LONG idItem, 8276 - PMENUBARINFO pmbi 8277 -); 8278 - 8279 -struct tagSCROLLBARINFO { 8280 - DWORD cbSize; 8281 - RECT rcScrollBar; 8282 - int dxyLineButton; 8283 - int xyThumbTop; 8284 - int xyThumbBottom; 8285 - int reserved; 8286 - DWORD rgstate[CCHILDREN_SCROLLBAR+1]; 8287 -} 8288 -alias tagSCROLLBARINFO SCROLLBARINFO; 8289 -alias tagSCROLLBARINFO* PSCROLLBARINFO; 8290 -alias tagSCROLLBARINFO* LPSCROLLBARINFO; 8291 - 8292 -extern(Windows) export BOOL GetScrollBarInfo( 8293 - HWND hwnd, 8294 - LONG idObject, 8295 - PSCROLLBARINFO psbi 8296 -); 8297 - 8298 -struct tagCOMBOBOXINFO { 8299 - DWORD cbSize; 8300 - RECT rcItem; 8301 - RECT rcButton; 8302 - DWORD stateButton; 8303 - HWND hwndCombo; 8304 - HWND hwndItem; 8305 - HWND hwndList; 8306 -} 8307 -alias tagCOMBOBOXINFO COMBOBOXINFO; 8308 -alias tagCOMBOBOXINFO* PCOMBOBOXINFO; 8309 -alias tagCOMBOBOXINFO* LPCOMBOBOXINFO; 8310 - 8311 -extern(Windows) export BOOL GetComboBoxInfo( 8312 - HWND hwndCombo, 8313 - PCOMBOBOXINFO pcbi 8314 -); 8315 - 8316 -enum : uint { GA_PARENT = 1 } 8317 -enum : uint { GA_ROOT = 2 } 8318 -enum : uint { GA_ROOTOWNER = 3 } 8319 - 8320 -extern(Windows) export HWND GetAncestor( 8321 - HWND hwnd, 8322 - UINT gaFlags 8323 -); 8324 - 8325 -extern(Windows) export HWND RealChildWindowFromPoint( 8326 - HWND hwndParent, 8327 - POINT ptParentClientCoords 8328 -); 8329 - 8330 -extern(Windows) export UINT RealGetWindowClassA( 8331 - HWND hwnd, 8332 - LPSTR pszType, 8333 - UINT cchType 8334 -); 8335 - 8336 -extern(Windows) export UINT RealGetWindowClassW( 8337 - HWND hwnd, 8338 - LPWSTR pszType, 8339 - UINT cchType 8340 -); 8341 -// #ifdef UNICODE 8342 -// #... 8343 -// #else 8344 -alias RealGetWindowClassA RealGetWindowClass; 8345 -// #endif // !UNICODE 8346 - 8347 -struct tagALTTABINFO { 8348 - DWORD cbSize; 8349 - int cItems; 8350 - int cColumns; 8351 - int cRows; 8352 - int iColFocus; 8353 - int iRowFocus; 8354 - int cxItem; 8355 - int cyItem; 8356 - POINT ptStart; 8357 -} 8358 -alias tagALTTABINFO ALTTABINFO; 8359 -alias tagALTTABINFO* PALTTABINFO; 8360 -alias tagALTTABINFO* LPALTTABINFO; 8361 - 8362 -extern(Windows) export BOOL GetAltTabInfoA( 8363 - HWND hwnd, 8364 - int iItem, 8365 - PALTTABINFO pati, 8366 - LPSTR pszItemText, 8367 - UINT cchItemText 8368 -); 8369 -extern(Windows) export BOOL GetAltTabInfoW( 8370 - HWND hwnd, 8371 - int iItem, 8372 - PALTTABINFO pati, 8373 - LPWSTR pszItemText, 8374 - UINT cchItemText 8375 -); 8376 -// #ifdef UNICODE 8377 -// #... 8378 -// #else 8379 -alias GetAltTabInfoA GetAltTabInfo; 8380 -// #endif // !UNICODE 8381 - 8382 -extern(Windows) export DWORD GetListBoxInfo( 8383 - HWND hwnd 8384 -); 8385 - 8386 -// #endif /* NOWINABLE */ 8387 -// #endif /* WINVER >= 0x0500 */ 8388 - 8389 -// #if(_WIN32_WINNT >= 0x0500) 8390 -extern(Windows) export BOOL LockWorkStation(); 8391 -// #endif /* _WIN32_WINNT >= 0x0500 */ 8392 - 8393 -// #if(_WIN32_WINNT >= 0x0500) 8394 - 8395 -extern(Windows) export BOOL UserHandleGrantAccess( 8396 - HANDLE hUserHandle, 8397 - HANDLE hJob, 8398 - BOOL bGrant); 8399 - 8400 -// #endif /* _WIN32_WINNT >= 0x0500 */ 8401 - 8402 -// #if(_WIN32_WINNT >= 0x0501) 8403 - 8404 -alias void* HRAWINPUT; 8405 - 8406 -// #define GET_RAWINPUT_CODE_WPARAM(wParam) ((wParam) & 0xff) 8407 - 8408 -enum : uint { RIM_INPUT = 0 } 8409 - 8410 -enum : uint { RIM_INPUTSINK = 1 } 8411 - 8412 -struct tagRAWINPUTHEADER { 8413 - DWORD dwType; 8414 - DWORD dwSize; 8415 - HANDLE hDevice; 8416 - WPARAM wParam; 8417 -} 8418 -alias tagRAWINPUTHEADER RAWINPUTHEADER; 8419 -alias tagRAWINPUTHEADER* PRAWINPUTHEADER; 8420 -alias tagRAWINPUTHEADER* LPRAWINPUTHEADER; 8421 - 8422 -enum : uint { RIM_TYPEMOUSE = 0 } 8423 -enum : uint { RIM_TYPEKEYBOARD = 1 } 8424 -enum : uint { RIM_TYPEHID = 2 } 8425 - 8426 -struct tagRAWMOUSE { 8427 - 8428 - USHORT usFlags; 8429 -union { 8430 - ULONG ulButtons; 8431 -struct { 8432 - USHORT usButtonFlags; 8433 - USHORT usButtonData; 8434 -} 8435 - 8436 -} 8437 - 8438 - ULONG ulRawButtons; 8439 - LONG lLastX; 8440 - LONG lLastY; 8441 - ULONG ulExtraInformation; 8442 -} 8443 -alias tagRAWMOUSE RAWMOUSE; 8444 -alias tagRAWMOUSE* PRAWMOUSE; 8445 -alias tagRAWMOUSE* LPRAWMOUSE; 8446 - 8447 -enum : uint { RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001 } 8448 -enum : uint { RI_MOUSE_LEFT_BUTTON_UP = 0x0002 } 8449 -enum : uint { RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004 } 8450 -enum : uint { RI_MOUSE_RIGHT_BUTTON_UP = 0x0008 } 8451 -enum : uint { RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010 } 8452 -enum : uint { RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020 } 8453 - 8454 -alias RI_MOUSE_LEFT_BUTTON_DOWN RI_MOUSE_BUTTON_1_DOWN; 8455 -alias RI_MOUSE_LEFT_BUTTON_UP RI_MOUSE_BUTTON_1_UP; 8456 -alias RI_MOUSE_RIGHT_BUTTON_DOWN RI_MOUSE_BUTTON_2_DOWN; 8457 -alias RI_MOUSE_RIGHT_BUTTON_UP RI_MOUSE_BUTTON_2_UP; 8458 -alias RI_MOUSE_MIDDLE_BUTTON_DOWN RI_MOUSE_BUTTON_3_DOWN; 8459 -alias RI_MOUSE_MIDDLE_BUTTON_UP RI_MOUSE_BUTTON_3_UP; 8460 - 8461 -enum : uint { RI_MOUSE_BUTTON_4_DOWN = 0x0040 } 8462 -enum : uint { RI_MOUSE_BUTTON_4_UP = 0x0080 } 8463 -enum : uint { RI_MOUSE_BUTTON_5_DOWN = 0x0100 } 8464 -enum : uint { RI_MOUSE_BUTTON_5_UP = 0x0200 } 8465 - 8466 -enum : uint { RI_MOUSE_WHEEL = 0x0400 } 8467 - 8468 -enum : uint { MOUSE_MOVE_RELATIVE = 0 } 8469 -enum : uint { MOUSE_MOVE_ABSOLUTE = 1 } 8470 -enum : uint { MOUSE_VIRTUAL_DESKTOP = 0x02 } 8471 -enum : uint { MOUSE_ATTRIBUTES_CHANGED = 0x04 } 8472 - 8473 -struct tagRAWKEYBOARD { 8474 - 8475 - USHORT MakeCode; 8476 - USHORT Flags; 8477 - USHORT Reserved; 8478 - USHORT VKey; 8479 - UINT Message; 8480 - ULONG ExtraInformation; 8481 -} 8482 -alias tagRAWKEYBOARD RAWKEYBOARD; 8483 -alias tagRAWKEYBOARD* PRAWKEYBOARD; 8484 -alias tagRAWKEYBOARD* LPRAWKEYBOARD; 8485 - 8486 -enum : uint { KEYBOARD_OVERRUN_MAKE_CODE = 0xFF } 8487 - 8488 -enum : uint { RI_KEY_MAKE = 0 } 8489 -enum : uint { RI_KEY_BREAK = 1 } 8490 -enum : uint { RI_KEY_E0 = 2 } 8491 -enum : uint { RI_KEY_E1 = 4 } 8492 -enum : uint { RI_KEY_TERMSRV_SET_LED = 8 } 8493 -enum : uint { RI_KEY_TERMSRV_SHADOW = 0x10 } 8494 - 8495 -struct tagRAWHID { 8496 - DWORD dwSizeHid; 8497 - DWORD dwCount; 8498 - BYTE bRawData[1]; 8499 -} 8500 -alias tagRAWHID RAWHID; 8501 -alias tagRAWHID* PRAWHID; 8502 -alias tagRAWHID* LPRAWHID; 8503 - 8504 -struct tagRAWINPUT { 8505 - RAWINPUTHEADER header; 8506 -union { 8507 - RAWMOUSE mouse; 8508 - RAWKEYBOARD keyboard; 8509 - RAWHID hid; 8510 -} 8511 - 8512 -} 8513 -alias tagRAWINPUT RAWINPUT; 8514 -alias tagRAWINPUT* PRAWINPUT; 8515 -alias tagRAWINPUT* LPRAWINPUT; 8516 - 8517 -// #ifdef _WIN64 8518 -// #... 8519 -// #else // _WIN64 8520 -uint RAWINPUT_ALIGN(uint x){ return ((x + DWORD.sizeof - 1) & ~(DWORD.sizeof - 1)); } 8521 -// #endif // _WIN64 8522 - 8523 -// #define NEXTRAWINPUTBLOCK(ptr) ((PRAWINPUT)RAWINPUT_ALIGN((ULONG_PTR)((PBYTE)(ptr) + (ptr)->header.dwSize))) 8524 - 8525 -enum : uint { RID_INPUT = 0x10000003 } 8526 -enum : uint { RID_HEADER = 0x10000005 } 8527 - 8528 -extern(Windows) export UINT GetRawInputData( 8529 - HRAWINPUT hRawInput, 8530 - UINT uiCommand, 8531 - LPVOID pData, 8532 - PUINT pcbSize, 8533 - UINT cbSizeHeader); 8534 - 8535 -enum : uint { RIDI_PREPARSEDDATA = 0x20000005 } 8536 -enum : uint { RIDI_DEVICENAME = 0x20000007 } 8537 -enum : uint { RIDI_DEVICEINFO = 0x2000000b } 8538 - 8539 -struct tagRID_DEVICE_INFO_MOUSE { 8540 - DWORD dwId; 8541 - DWORD dwNumberOfButtons; 8542 - DWORD dwSampleRate; 8543 -} 8544 -alias tagRID_DEVICE_INFO_MOUSE RID_DEVICE_INFO_MOUSE; 8545 -alias tagRID_DEVICE_INFO_MOUSE* PRID_DEVICE_INFO_MOUSE; 8546 - 8547 -struct tagRID_DEVICE_INFO_KEYBOARD { 8548 - DWORD dwType; 8549 - DWORD dwSubType; 8550 - DWORD dwKeyboardMode; 8551 - DWORD dwNumberOfFunctionKeys; 8552 - DWORD dwNumberOfIndicators; 8553 - DWORD dwNumberOfKeysTotal; 8554 -} 8555 -alias tagRID_DEVICE_INFO_KEYBOARD RID_DEVICE_INFO_KEYBOARD; 8556 -alias tagRID_DEVICE_INFO_KEYBOARD* PRID_DEVICE_INFO_KEYBOARD; 8557 - 8558 -struct tagRID_DEVICE_INFO_HID { 8559 - DWORD dwVendorId; 8560 - DWORD dwProductId; 8561 - DWORD dwVersionNumber; 8562 - USHORT usUsagePage; 8563 - USHORT usUsage; 8564 -} 8565 -alias tagRID_DEVICE_INFO_HID RID_DEVICE_INFO_HID; 8566 -alias tagRID_DEVICE_INFO_HID* PRID_DEVICE_INFO_HID; 8567 - 8568 -struct tagRID_DEVICE_INFO { 8569 - DWORD cbSize; 8570 - DWORD dwType; 8571 -union { 8572 - RID_DEVICE_INFO_MOUSE mouse; 8573 - RID_DEVICE_INFO_KEYBOARD keyboard; 8574 - RID_DEVICE_INFO_HID hid; 8575 -} 8576 - 8577 -} 8578 -alias tagRID_DEVICE_INFO RID_DEVICE_INFO; 8579 -alias tagRID_DEVICE_INFO* PRID_DEVICE_INFO; 8580 -alias tagRID_DEVICE_INFO* LPRID_DEVICE_INFO; 8581 - 8582 -extern(Windows) export UINT GetRawInputDeviceInfoA( 8583 - HANDLE hDevice, 8584 - UINT uiCommand, 8585 - LPVOID pData, 8586 - PUINT pcbSize); 8587 -extern(Windows) export UINT GetRawInputDeviceInfoW( 8588 - HANDLE hDevice, 8589 - UINT uiCommand, 8590 - LPVOID pData, 8591 - PUINT pcbSize); 8592 -// #ifdef UNICODE 8593 -// #... 8594 -// #else 8595 -alias GetRawInputDeviceInfoA GetRawInputDeviceInfo; 8596 -// #endif // !UNICODE 8597 - 8598 -extern(Windows) export UINT GetRawInputBuffer( 8599 - PRAWINPUT pData, 8600 - PUINT pcbSize, 8601 - UINT cbSizeHeader); 8602 - 8603 -struct tagRAWINPUTDEVICE { 8604 - USHORT usUsagePage; 8605 - USHORT usUsage; 8606 - DWORD dwFlags; 8607 - HWND hwndTarget; 8608 -} 8609 -alias tagRAWINPUTDEVICE RAWINPUTDEVICE; 8610 -alias tagRAWINPUTDEVICE* PRAWINPUTDEVICE; 8611 -alias tagRAWINPUTDEVICE* LPRAWINPUTDEVICE; 8612 - 8613 -alias RAWINPUTDEVICE* PCRAWINPUTDEVICE; 8614 - 8615 -enum : uint { RIDEV_REMOVE = 0x00000001 } 8616 -enum : uint { RIDEV_EXCLUDE = 0x00000010 } 8617 -enum : uint { RIDEV_PAGEONLY = 0x00000020 } 8618 -enum : uint { RIDEV_NOLEGACY = 0x00000030 } 8619 -enum : uint { RIDEV_CAPTUREMOUSE = 0x00000200 } 8620 -enum : uint { RIDEV_NOHOTKEYS = 0x00000200 } 8621 -enum : uint { RIDEV_EXMODEMASK = 0x000000F0 } 8622 - 8623 -// #define RIDEV_EXMODE(mode) ((mode) & RIDEV_EXMODEMASK) 8624 - 8625 -extern(Windows) export BOOL RegisterRawInputDevices( 8626 - PCRAWINPUTDEVICE pRawInputDevices, 8627 - UINT uiNumDevices, 8628 - UINT cbSize); 8629 - 8630 -extern(Windows) export UINT GetRegisteredRawInputDevices( 8631 - PRAWINPUTDEVICE pRawInputDevices, 8632 - PUINT puiNumDevices, 8633 - UINT cbSize); 8634 - 8635 -struct tagRAWINPUTDEVICELIST { 8636 - HANDLE hDevice; 8637 - DWORD dwType; 8638 -} 8639 -alias tagRAWINPUTDEVICELIST RAWINPUTDEVICELIST; 8640 -alias tagRAWINPUTDEVICELIST* PRAWINPUTDEVICELIST; 8641 - 8642 -extern(Windows) export UINT GetRawInputDeviceList( 8643 - PRAWINPUTDEVICELIST pRawInputDeviceList, 8644 - PUINT puiNumDevices, 8645 - UINT cbSize); 8646 - 8647 -extern(Windows) export LRESULT DefRawInputProc( 8648 - PRAWINPUT* paRawInput, 8649 - INT nInput, 8650 - UINT cbSizeHeader); 8651 - 8652 -// #endif /* _WIN32_WINNT >= 0x0501 */ 8653 - 8654 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 8655 -// #if ISOLATION_AWARE_ENABLED 8656 -// #... 8657 -// #endif /* ISOLATION_AWARE_ENABLED */ 8658 -// #endif /* RC */ 8659 - 8660 -// #ifdef __cplusplus 8661 -// } 8662 -// #endif /* __cplusplus */ 8663 - 8664 -// #endif /* !_WINUSER_ */ 8665 -

Deleted src/win32/ansi/winver.d version [d51bd8693c9ea8e9]

1 -module win32.ansi.winver; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.ansi.winuser; 7 - 8 -// #ifndef VER_H 9 -// #define VER_H 10 - 11 -// #ifdef __cplusplus 12 -// extern "C" { 13 -// #endif 14 - 15 -alias RT_VERSION VS_FILE_INFO; 16 -enum : uint { VS_VERSION_INFO = 1 } 17 -enum : uint { VS_USER_DEFINED = 100 } 18 - 19 -// #ifndef _MAC 20 -enum : uint { VS_FFI_SIGNATURE = 0xFEEF04BD } 21 -// #else 22 -// #... 23 -// #endif 24 -enum : uint { VS_FFI_STRUCVERSION = 0x00010000 } 25 -enum : uint { VS_FFI_FILEFLAGSMASK = 0x0000003F } 26 - 27 -enum : uint { VS_FF_DEBUG = 0x00000001 } 28 -enum : uint { VS_FF_PRERELEASE = 0x00000002 } 29 -enum : uint { VS_FF_PATCHED = 0x00000004 } 30 -enum : uint { VS_FF_PRIVATEBUILD = 0x00000008 } 31 -enum : uint { VS_FF_INFOINFERRED = 0x00000010 } 32 -enum : uint { VS_FF_SPECIALBUILD = 0x00000020 } 33 - 34 -enum : uint { VOS_UNKNOWN = 0x00000000 } 35 -enum : uint { VOS_DOS = 0x00010000 } 36 -enum : uint { VOS_OS216 = 0x00020000 } 37 -enum : uint { VOS_OS232 = 0x00030000 } 38 -enum : uint { VOS_NT = 0x00040000 } 39 - 40 -enum : uint { VOS__BASE = 0x00000000 } 41 -enum : uint { VOS__WINDOWS16 = 0x00000001 } 42 -enum : uint { VOS__PM16 = 0x00000002 } 43 -enum : uint { VOS__PM32 = 0x00000003 } 44 -enum : uint { VOS__WINDOWS32 = 0x00000004 } 45 - 46 -enum : uint { VOS_DOS_WINDOWS16 = 0x00010001 } 47 -enum : uint { VOS_DOS_WINDOWS32 = 0x00010004 } 48 -enum : uint { VOS_OS216_PM16 = 0x00020002 } 49 -enum : uint { VOS_OS232_PM32 = 0x00030003 } 50 -enum : uint { VOS_NT_WINDOWS32 = 0x00040004 } 51 - 52 -enum : uint { VFT_UNKNOWN = 0x00000000 } 53 -enum : uint { VFT_APP = 0x00000001 } 54 -enum : uint { VFT_DLL = 0x00000002 } 55 -enum : uint { VFT_DRV = 0x00000003 } 56 -enum : uint { VFT_FONT = 0x00000004 } 57 -enum : uint { VFT_VXD = 0x00000005 } 58 -enum : uint { VFT_STATIC_LIB = 0x00000007 } 59 - 60 -enum : uint { VFT2_UNKNOWN = 0x00000000 } 61 -enum : uint { VFT2_DRV_PRINTER = 0x00000001 } 62 -enum : uint { VFT2_DRV_KEYBOARD = 0x00000002 } 63 -enum : uint { VFT2_DRV_LANGUAGE = 0x00000003 } 64 -enum : uint { VFT2_DRV_DISPLAY = 0x00000004 } 65 -enum : uint { VFT2_DRV_MOUSE = 0x00000005 } 66 -enum : uint { VFT2_DRV_NETWORK = 0x00000006 } 67 -enum : uint { VFT2_DRV_SYSTEM = 0x00000007 } 68 -enum : uint { VFT2_DRV_INSTALLABLE = 0x00000008 } 69 -enum : uint { VFT2_DRV_SOUND = 0x00000009 } 70 -enum : uint { VFT2_DRV_COMM = 0x0000000A } 71 -enum : uint { VFT2_DRV_INPUTMETHOD = 0x0000000B } 72 -enum : uint { VFT2_DRV_VERSIONED_PRINTER = 0x0000000C } 73 - 74 -enum : uint { VFT2_FONT_RASTER = 0x00000001 } 75 -enum : uint { VFT2_FONT_VECTOR = 0x00000002 } 76 -enum : uint { VFT2_FONT_TRUETYPE = 0x00000003 } 77 - 78 -enum : uint { VFFF_ISSHAREDFILE = 0x0001 } 79 - 80 -enum : uint { VFF_CURNEDEST = 0x0001 } 81 -enum : uint { VFF_FILEINUSE = 0x0002 } 82 -enum : uint { VFF_BUFFTOOSMALL = 0x0004 } 83 - 84 -enum : uint { VIFF_FORCEINSTALL = 0x0001 } 85 -enum : uint { VIFF_DONTDELETEOLD = 0x0002 } 86 - 87 -enum : uint { VIF_TEMPFILE = 0x00000001 } 88 -enum : uint { VIF_MISMATCH = 0x00000002 } 89 -enum : uint { VIF_SRCOLD = 0x00000004 } 90 - 91 -enum : uint { VIF_DIFFLANG = 0x00000008 } 92 -enum : uint { VIF_DIFFCODEPG = 0x00000010 } 93 -enum : uint { VIF_DIFFTYPE = 0x00000020 } 94 - 95 -enum : uint { VIF_WRITEPROT = 0x00000040 } 96 -enum : uint { VIF_FILEINUSE = 0x00000080 } 97 -enum : uint { VIF_OUTOFSPACE = 0x00000100 } 98 -enum : uint { VIF_ACCESSVIOLATION = 0x00000200 } 99 -enum : uint { VIF_SHARINGVIOLATION = 0x00000400 } 100 -enum : uint { VIF_CANNOTCREATE = 0x00000800 } 101 -enum : uint { VIF_CANNOTDELETE = 0x00001000 } 102 -enum : uint { VIF_CANNOTRENAME = 0x00002000 } 103 -enum : uint { VIF_CANNOTDELETECUR = 0x00004000 } 104 -enum : uint { VIF_OUTOFMEMORY = 0x00008000 } 105 - 106 -enum : uint { VIF_CANNOTREADSRC = 0x00010000 } 107 -enum : uint { VIF_CANNOTREADDST = 0x00020000 } 108 - 109 -enum : uint { VIF_BUFFTOOSMALL = 0x00040000 } 110 -enum : uint { VIF_CANNOTLOADLZ32 = 0x00080000 } 111 -enum : uint { VIF_CANNOTLOADCABINET = 0x00100000 } 112 - 113 -// #ifndef RC_INVOKED /* RC doesn't need to see the rest of this */ 114 - 115 -struct tagVS_FIXEDFILEINFO { 116 - DWORD dwSignature; 117 - DWORD dwStrucVersion; 118 - DWORD dwFileVersionMS; 119 - DWORD dwFileVersionLS; 120 - DWORD dwProductVersionMS; 121 - DWORD dwProductVersionLS; 122 - DWORD dwFileFlagsMask; 123 - DWORD dwFileFlags; 124 - DWORD dwFileOS; 125 - DWORD dwFileType; 126 - DWORD dwFileSubtype; 127 - DWORD dwFileDateMS; 128 - DWORD dwFileDateLS; 129 -} 130 -alias tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; 131 - 132 -extern(Windows) export DWORD VerFindFileA( 133 - DWORD uFlags, 134 - LPSTR szFileName, 135 - LPSTR szWinDir, 136 - LPSTR szAppDir, 137 - LPSTR szCurDir, 138 - PUINT lpuCurDirLen, 139 - LPSTR szDestDir, 140 - PUINT lpuDestDirLen); 141 -extern(Windows) export DWORD VerFindFileW( 142 - DWORD uFlags, 143 - LPWSTR szFileName, 144 - LPWSTR szWinDir, 145 - LPWSTR szAppDir, 146 - LPWSTR szCurDir, 147 - PUINT lpuCurDirLen, 148 - LPWSTR szDestDir, 149 - PUINT lpuDestDirLen); 150 -// #ifdef UNICODE 151 -// #... 152 -// #else 153 -alias VerFindFileA VerFindFile; 154 -// #endif // !UNICODE 155 - 156 -extern(Windows) export DWORD VerInstallFileA( 157 - DWORD uFlags, 158 - LPSTR szSrcFileName, 159 - LPSTR szDestFileName, 160 - LPSTR szSrcDir, 161 - LPSTR szDestDir, 162 - LPSTR szCurDir, 163 - LPSTR szTmpFile, 164 - PUINT lpuTmpFileLen); 165 -extern(Windows) export DWORD VerInstallFileW( 166 - DWORD uFlags, 167 - LPWSTR szSrcFileName, 168 - LPWSTR szDestFileName, 169 - LPWSTR szSrcDir, 170 - LPWSTR szDestDir, 171 - LPWSTR szCurDir, 172 - LPWSTR szTmpFile, 173 - PUINT lpuTmpFileLen); 174 -// #ifdef UNICODE 175 -// #... 176 -// #else 177 -alias VerInstallFileA VerInstallFile; 178 -// #endif // !UNICODE 179 - 180 -extern(Windows) export DWORD GetFileVersionInfoSizeA( 181 - LPSTR lptstrFilename, 182 - LPDWORD lpdwHandle); 183 - 184 -extern(Windows) export DWORD GetFileVersionInfoSizeW( 185 - LPWSTR lptstrFilename, 186 - LPDWORD lpdwHandle); 187 -// #ifdef UNICODE 188 -// #... 189 -// #else 190 -alias GetFileVersionInfoSizeA GetFileVersionInfoSize; 191 -// #endif // !UNICODE 192 - 193 -extern(Windows) export BOOL GetFileVersionInfoA( 194 - LPSTR lptstrFilename, 195 - DWORD dwHandle, 196 - DWORD dwLen, 197 - LPVOID lpData); 198 - 199 -extern(Windows) export BOOL GetFileVersionInfoW( 200 - LPWSTR lptstrFilename, 201 - DWORD dwHandle, 202 - DWORD dwLen, 203 - LPVOID lpData); 204 -// #ifdef UNICODE 205 -// #... 206 -// #else 207 -alias GetFileVersionInfoA GetFileVersionInfo; 208 -// #endif // !UNICODE 209 - 210 -extern(Windows) export DWORD VerLanguageNameA( 211 - DWORD wLang, 212 - LPSTR szLang, 213 - DWORD nSize); 214 -extern(Windows) export DWORD VerLanguageNameW( 215 - DWORD wLang, 216 - LPWSTR szLang, 217 - DWORD nSize); 218 -// #ifdef UNICODE 219 -// #... 220 -// #else 221 -alias VerLanguageNameA VerLanguageName; 222 -// #endif // !UNICODE 223 - 224 -extern(Windows) export BOOL VerQueryValueA( 225 - LPVOID pBlock, 226 - LPSTR lpSubBlock, 227 - LPVOID * lplpBuffer, 228 - PUINT puLen); 229 -extern(Windows) export BOOL VerQueryValueW( 230 - LPVOID pBlock, 231 - LPWSTR lpSubBlock, 232 - LPVOID * lplpBuffer, 233 - PUINT puLen); 234 -// #ifdef UNICODE 235 -// #... 236 -// #else 237 -alias VerQueryValueA VerQueryValue; 238 -// #endif // !UNICODE 239 - 240 -// #endif /* !RC_INVOKED */ 241 - 242 -// #ifdef __cplusplus 243 -// } 244 -// #endif 245 - 246 -// #endif /* !VER_H */ 247 -

Added src/win32/basetsd.d version [2d9ec241e2f4195d]

1 +/***********************************************************************\ 2 +* basetsd.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.12 * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.basetsd; 12 + 13 +/* This template is used in these modules to declare constant pointer types, 14 + * in order to support both D 1.x and 2.x. 15 + */ 16 +template CPtr(T) { 17 + version (D_Version2) { 18 + // must use mixin so that it doesn't cause a syntax error under D1 19 + mixin("alias const(T)* CPtr;"); 20 + } else { 21 + alias T* CPtr; 22 + } 23 +} 24 + 25 +// [SnakE 2009-02-23] Moved HANDLE definition here from winnt.d to avoid 26 +// 'forwatd template reference' to CPtr from winnt.d caused by a circular 27 +// import. 28 + 29 +alias void* HANDLE; 30 + 31 +alias HANDLE* PHANDLE, LPHANDLE; 32 + 33 +version (Win64) { 34 + alias long __int3264; 35 + const ulong ADDRESS_TAG_BIT = 0x40000000000; 36 + 37 + alias long INT_PTR, LONG_PTR; 38 + alias long* PINT_PTR, PLONG_PTR; 39 + alias ulong UINT_PTR, ULONG_PTR, HANDLE_PTR; 40 + alias ulong* PUINT_PTR, PULONG_PTR; 41 + alias int HALF_PTR; 42 + alias int* PHALF_PTR; 43 + alias uint UHALF_PTR; 44 + alias uint* PUHALF_PTR; 45 + 46 + /* *To* functions are conditioned out in MinGW. 47 + * Presumably they're not working/tested yet. Comment: 48 + TODO when WIN64 is here 49 + */ 50 +} else { 51 + alias int __int3264; 52 + const uint ADDRESS_TAG_BIT = 0x80000000; 53 + 54 + alias int INT_PTR, LONG_PTR; 55 + alias int* PINT_PTR, PLONG_PTR; 56 + alias uint UINT_PTR, ULONG_PTR, HANDLE_PTR; 57 + alias uint* PUINT_PTR, PULONG_PTR; 58 + alias short HALF_PTR; 59 + alias short* PHALF_PTR; 60 + alias ushort UHALF_PTR; 61 + alias ushort* PUHALF_PTR; 62 + 63 + uint HandleToUlong(HANDLE h) { return cast(uint) h; } 64 + int HandleToLong(HANDLE h) { return cast(int) h; } 65 + HANDLE LongToHandle(LONG_PTR h) { return cast(HANDLE) h; } 66 + uint PtrToUlong(CPtr!(void) p) { return cast(uint) p; } 67 + uint PtrToUint(CPtr!(void) p) { return cast(uint) p; } 68 + int PtrToInt(CPtr!(void) p) { return cast(int) p; } 69 + ushort PtrToUshort(CPtr!(void) p) { return cast(ushort) p; } 70 + short PtrToShort(CPtr!(void) p) { return cast(short) p; } 71 + void* IntToPtr(int i) { return cast(void*) i; } 72 + void* UIntToPtr(uint ui) { return cast(void*) ui; } 73 + alias IntToPtr LongToPtr; 74 + alias UIntToPtr ULongToPtr; 75 +} 76 + 77 +alias UIntToPtr UintToPtr, UlongToPtr; 78 + 79 +enum : UINT_PTR { 80 + MAXUINT_PTR = UINT_PTR.max 81 +} 82 + 83 +enum : INT_PTR { 84 + MAXINT_PTR = INT_PTR.max, 85 + MININT_PTR = INT_PTR.min 86 +} 87 + 88 +enum : ULONG_PTR { 89 + MAXULONG_PTR = ULONG_PTR.max 90 +} 91 + 92 +enum : LONG_PTR { 93 + MAXLONG_PTR = LONG_PTR.max, 94 + MINLONG_PTR = LONG_PTR.min 95 +} 96 + 97 +enum : UHALF_PTR { 98 + MAXUHALF_PTR = UHALF_PTR.max 99 +} 100 + 101 +enum : HALF_PTR { 102 + MAXHALF_PTR = HALF_PTR.max, 103 + MINHALF_PTR = HALF_PTR.min 104 +} 105 + 106 +alias byte INT8; 107 +alias byte* PINT8; 108 +alias ubyte UINT8; 109 +alias ubyte* PUINT8; 110 + 111 +alias short INT16; 112 +alias short* PINT16; 113 +alias ushort UINT16; 114 +alias ushort* PUINT16; 115 + 116 +alias int LONG32, INT32; 117 +alias int* PLONG32, PINT32; 118 +alias uint ULONG32, DWORD32, UINT32; 119 +alias uint* PULONG32, PDWORD32, PUINT32; 120 + 121 +alias ULONG_PTR SIZE_T, DWORD_PTR; 122 +alias ULONG_PTR* PSIZE_T, PDWORD_PTR; 123 +alias LONG_PTR SSIZE_T; 124 +alias LONG_PTR* PSSIZE_T; 125 + 126 +alias long LONG64, INT64; 127 +alias long* PLONG64, PINT64; 128 +alias ulong ULONG64, DWORD64, UINT64; 129 +alias ulong* PULONG64, PDWORD64, PUINT64;

Added src/win32/basetyps.d version [29a55976d90d530f]

1 +/***********************************************************************\ 2 +* basetyps.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.basetyps; 11 + 12 +private import win32.windef, win32.basetsd; 13 + 14 +align(1) struct GUID { // size is 16 15 + DWORD Data1; 16 + WORD Data2; 17 + WORD Data3; 18 + BYTE[8] Data4; 19 +} 20 +alias GUID UUID, IID, CLSID, FMTID, uuid_t; 21 +alias GUID* LPGUID, LPCLSID, LPIID; 22 +alias CPtr!(GUID) REFGUID, REFIID, REFCLSID, REFFMTID; 23 + 24 +alias uint error_status_t, PROPID;

Added src/win32/cderr.d version [50d169f239b9620b]

1 +/***********************************************************************\ 2 +* cderr.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.cderr; 11 + 12 +enum { 13 + CDERR_DIALOGFAILURE = 0xFFFF, 14 + CDERR_GENERALCODES = 0x0000, 15 + CDERR_STRUCTSIZE, 16 + CDERR_INITIALIZATION, 17 + CDERR_NOTEMPLATE, 18 + CDERR_NOHINSTANCE, 19 + CDERR_LOADSTRFAILURE, 20 + CDERR_FINDRESFAILURE, 21 + CDERR_LOADRESFAILURE, 22 + CDERR_LOCKRESFAILURE, 23 + CDERR_MEMALLOCFAILURE, 24 + CDERR_MEMLOCKFAILURE, 25 + CDERR_NOHOOK, 26 + CDERR_REGISTERMSGFAIL, 27 + PDERR_PRINTERCODES = 0x1000, 28 + PDERR_SETUPFAILURE, 29 + PDERR_PARSEFAILURE, 30 + PDERR_RETDEFFAILURE, 31 + PDERR_LOADDRVFAILURE, 32 + PDERR_GETDEVMODEFAIL, 33 + PDERR_INITFAILURE, 34 + PDERR_NODEVICES, 35 + PDERR_NODEFAULTPRN, 36 + PDERR_DNDMMISMATCH, 37 + PDERR_CREATEICFAILURE, 38 + PDERR_PRINTERNOTFOUND, 39 + PDERR_DEFAULTDIFFERENT, 40 + CFERR_CHOOSEFONTCODES = 0x2000, 41 + CFERR_NOFONTS, 42 + CFERR_MAXLESSTHANMIN, 43 + FNERR_FILENAMECODES = 0x3000, 44 + FNERR_SUBCLASSFAILURE, 45 + FNERR_INVALIDFILENAME, 46 + FNERR_BUFFERTOOSMALL, 47 + FRERR_FINDREPLACECODES = 0x4000, 48 + FRERR_BUFFERLENGTHZERO, 49 + CCERR_CHOOSECOLORCODES = 0x5000 50 +}

Added src/win32/cguid.d version [100f7066a1d649ec]

1 +/***********************************************************************\ 2 +* cguid.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.cguid; 11 + 12 +private import win32.basetyps; 13 +

Added src/win32/comcat.d version [132f4d39301cf777]

1 +/***********************************************************************\ 2 +* comcat.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.comcat; 12 + 13 +import win32.windows, win32.ole2; 14 +private import win32.basetyps, win32.cguid, win32.objbase, win32.unknwn, 15 + win32.windef, win32.wtypes; 16 + 17 +alias IEnumGUID* LPENUMGUID; 18 + 19 +interface IEnumGUID : IUnknown { 20 + HRESULT Next(ULONG, GUID*, ULONG*); 21 + HRESULT Skip(ULONG); 22 + HRESULT Reset(); 23 + HRESULT Clone(LPENUMGUID*); 24 +} 25 + 26 +alias GUID CATID; 27 +alias REFGUID REFCATID; 28 +alias GUID_NULL CATID_NULL; 29 +alias IsEqualGUID IsEqualCATID; 30 + 31 +struct CATEGORYINFO { 32 + CATID catid; 33 + LCID lcid; 34 + OLECHAR[128] szDescription; 35 +} 36 +alias CATEGORYINFO* LPCATEGORYINFO; 37 + 38 +alias IEnumGUID IEnumCATID; 39 +alias LPENUMGUID LPENUMCATID; 40 +alias IID_IEnumGUID IID_IEnumCATID; 41 + 42 +alias IEnumGUID IEnumCLSID; 43 +alias LPENUMGUID LPENUMCLSID; 44 +alias IID_IEnumGUID IID_IEnumCLSID; 45 + 46 +interface ICatInformation : IUnknown { 47 + HRESULT EnumCategories(LCID, LPENUMCATEGORYINFO*); 48 + HRESULT GetCategoryDesc(REFCATID, LCID, PWCHAR*); 49 + HRESULT EnumClassesOfCategories(ULONG, CATID*, ULONG, CATID*, 50 + LPENUMCLSID*); 51 + HRESULT IsClassOfCategories(REFCLSID, ULONG, CATID*, ULONG, CATID*); 52 + HRESULT EnumImplCategoriesOfClass(REFCLSID, LPENUMCATID*); 53 + HRESULT EnumReqCategoriesOfClass(REFCLSID, LPENUMCATID*); 54 +} 55 +alias ICatInformation* LPCATINFORMATION; 56 + 57 +interface ICatRegister : IUnknown { 58 + HRESULT RegisterCategories(ULONG, CATEGORYINFO*); 59 + HRESULT UnRegisterCategories(ULONG, CATID*); 60 + HRESULT RegisterClassImplCategories(REFCLSID, ULONG, CATID*); 61 + HRESULT UnRegisterClassImplCategories(REFCLSID, ULONG, CATID*); 62 + HRESULT RegisterClassReqCategories(REFCLSID, ULONG, CATID*); 63 + HRESULT UnRegisterClassReqCategories(REFCLSID, ULONG, CATID*); 64 +} 65 +alias ICatRegister* LPCATREGISTER; 66 + 67 +interface IEnumCATEGORYINFO : IUnknown { 68 + HRESULT Next(ULONG, CATEGORYINFO*, ULONG*); 69 + HRESULT Skip(ULONG); 70 + HRESULT Reset(); 71 + HRESULT Clone(LPENUMCATEGORYINFO*); 72 +} 73 +alias IEnumCATEGORYINFO* LPENUMCATEGORYINFO;

Modified src/win32/commctrl.d from [6ba0cccf1cb3b0a8] to [4681e85cdf159780].

1 +/***********************************************************************\ 2 +* commctrl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.12 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.commctrl; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.winuser; 7 -alias void _PSP; 8 -alias void _IMAGELIST; 9 -alias void _TREEITEM; 10 -alias LPTBSAVEPARAMW LPTBSAVEPARAMSW; 11 -alias PCCOMBOEXITEMA PCCOMBOBOXEXITEMA; 12 -alias PCCOMBOEXITEMW PCCOMBOBOXEXITEMW; 13 -enum : uint { 14 - NM_FIRST = 0, 15 - SB_SETTIPTEXTA = WM_USER + 16, 16 - SB_SETTIPTEXTW = WM_USER + 17, 17 - SB_GETTIPTEXTA = WM_USER + 18, 18 - SB_GETTIPTEXTW = WM_USER + 19, 19 - TVHT_ONITEMSTATEICON = 0x0040, 20 - CBEN_FIRST = 0U - 800U, 21 - CBEN_GETDISPINFOA = CBEN_FIRST - 0, 22 - CBEN_GETDISPINFOW = CBEN_FIRST - 7 23 -} 24 -// inline #include <prsht.h> 25 -// ---- 26 - 27 -// #ifndef _PRSHT_H_ 28 -// #define _PRSHT_H_ 29 - 30 -// #ifndef _WINRESRC_ 31 -// #ifndef _WIN32_IE 32 -// #... 33 -// #else 34 -// #if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500) 35 -// #... 36 -// #endif 37 -// #endif 38 -// #endif 39 - 40 -// #ifndef WINCOMMCTRLAPI 41 -// #if !defined(_COMCTL32_) && defined(_WIN32) 42 -// #define WINCOMMCTRLAPI DECLSPEC_IMPORT 43 -// #else 44 -// #... 45 -// #endif 46 -// #endif // WINCOMMCTRLAPI 47 - 48 -// #ifndef CCSIZEOF_STRUCT 49 -// #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) 50 -// #endif 51 - 52 -// #ifndef DUMMYUNIONNAME 53 -// #ifdef NONAMELESSUNION 54 -// #... 55 -// #... 56 -// #... 57 -// #... 58 -// #... 59 -// #else 60 -// #define DUMMYUNIONNAME 61 -// #define DUMMYUNIONNAME2 62 -// #define DUMMYUNIONNAME3 63 -// #define DUMMYUNIONNAME4 64 -// #define DUMMYUNIONNAME5 65 -// #endif 66 -// #endif // DUMMYUNIONNAME 67 - 68 -// #ifdef _WIN64 69 -// #... 70 -// #else 71 -align(4): 72 -// #endif 73 - 74 -// #ifdef __cplusplus 75 -// extern "C" { 76 -// #endif 77 - 78 -// #ifndef SNDMSG 79 -// #ifdef __cplusplus 80 -// #ifndef _MAC 81 -// #define SNDMSG ::SendMessage 82 -// #else 83 -// #... 84 -// #endif 85 -// #else 86 -// #ifndef _MAC 87 -// #... 88 -// #else 89 -// #... 90 -// #endif 91 -// #endif 92 -// #endif // ifndef SNDMSG 93 - 94 -enum : uint { MAXPROPPAGES = 100 } 95 - 96 -// struct _PSP; 97 -alias _PSP* HPROPSHEETPAGE; 98 - 99 -// #ifndef MIDL_PASS 100 -// struct _PROPSHEETPAGEA; 101 -// struct _PROPSHEETPAGEW; 102 -// #endif 103 - 104 -extern(Windows) alias UINT function(HWND hwnd, UINT uMsg, _PROPSHEETPAGEA *ppsp) LPFNPSPCALLBACKA; 105 -extern(Windows) alias UINT function(HWND hwnd, UINT uMsg, _PROPSHEETPAGEW *ppsp) LPFNPSPCALLBACKW; 106 - 107 -// #ifdef UNICODE 108 -alias LPFNPSPCALLBACKW LPFNPSPCALLBACK; 109 -// #else 110 -// #... 111 -// #endif 112 - 113 -enum : uint { PSP_DEFAULT = 0x00000000 } 114 -enum : uint { PSP_DLGINDIRECT = 0x00000001 } 115 -enum : uint { PSP_USEHICON = 0x00000002 } 116 -enum : uint { PSP_USEICONID = 0x00000004 } 117 -enum : uint { PSP_USETITLE = 0x00000008 } 118 -enum : uint { PSP_RTLREADING = 0x00000010 } 119 - 120 -enum : uint { PSP_HASHELP = 0x00000020 } 121 -enum : uint { PSP_USEREFPARENT = 0x00000040 } 122 -enum : uint { PSP_USECALLBACK = 0x00000080 } 123 -enum : uint { PSP_PREMATURE = 0x00000400 } 124 - 125 -// #if (_WIN32_IE >= 0x0400) 126 - 127 -enum : uint { PSP_HIDEHEADER = 0x00000800 } 128 -enum : uint { PSP_USEHEADERTITLE = 0x00001000 } 129 -enum : uint { PSP_USEHEADERSUBTITLE = 0x00002000 } 130 - 131 -// #endif 132 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED 133 -enum : uint { PSP_USEFUSIONCONTEXT = 0x00004000 } 134 -// #endif 135 - 136 -// #if (_WIN32_IE >= 0x0500) 137 -enum : uint { PSPCB_ADDREF = 0 } 138 -// #endif 139 -enum : uint { PSPCB_RELEASE = 1 } 140 -enum : uint { PSPCB_CREATE = 2 } 141 - 142 -// #define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pcRefParent) 143 -// #define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pcRefParent) 144 - 145 -// #define PROPSHEETPAGEA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pszHeaderSubTitle) 146 -// #define PROPSHEETPAGEW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pszHeaderSubTitle) 147 - 148 -// #ifdef _WIN32 149 -alias LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE; 150 -// #else 151 -// ... 152 -// #endif 153 - 154 -// #define PROPSHEETPAGEA_V1_FIELDS DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } DUMMYUNIONNAME; union { HICON hIcon; LPCSTR pszIcon; } DUMMYUNIONNAME2; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent; 155 -// #define PROPSHEETPAGEW_V1_FIELDS DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } DUMMYUNIONNAME; union { HICON hIcon; LPCWSTR pszIcon; } DUMMYUNIONNAME2; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent; 156 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED 157 -alias _PROPSHEETPAGEA_V3 _PROPSHEETPAGEA; 158 -alias _PROPSHEETPAGEW_V3 _PROPSHEETPAGEW; 159 -// #elif (_WIN32_IE >= 0x0400) 160 -// #... 161 -// #... 162 -// #else 163 -// #... 164 -// #... 165 -// #endif 166 - 167 -struct _PROPSHEETPAGEA_V1 { 168 - DWORD dwSize; 169 - DWORD dwFlags; 170 - HINSTANCE hInstance; 171 - union { 172 - LPCSTR pszTemplate; 173 - PROPSHEETPAGE_RESOURCE pResource; 174 - } 175 - union { 176 - HICON hIcon; 177 - LPCSTR pszIcon; 178 - } 179 - LPCSTR pszTitle; 180 - DLGPROC pfnDlgProc; 181 - LPARAM lParam; 182 - LPFNPSPCALLBACKA pfnCallback; 183 - UINT* pcRefParent; 184 -} 185 -alias _PROPSHEETPAGEA_V1 PROPSHEETPAGEA_V1; 186 -alias _PROPSHEETPAGEA_V1* LPPROPSHEETPAGEA_V1; 187 - 188 -alias PROPSHEETPAGEA_V1* LPCPROPSHEETPAGEA_V1; 189 - 190 -struct _PROPSHEETPAGEA_V2 { 191 - DWORD dwSize; 192 - DWORD dwFlags; 193 - HINSTANCE hInstance; 194 - union { 195 - LPCSTR pszTemplate; 196 - PROPSHEETPAGE_RESOURCE pResource; 197 - } 198 - union { 199 - HICON hIcon; 200 - LPCSTR pszIcon; 201 - } 202 - LPCSTR pszTitle; 203 - DLGPROC pfnDlgProc; 204 - LPARAM lParam; 205 - LPFNPSPCALLBACKA pfnCallback; 206 - UINT* pcRefParent; 207 - 208 - LPCSTR pszHeaderTitle; 209 - LPCSTR pszHeaderSubTitle; 210 -} 211 -alias _PROPSHEETPAGEA_V2 PROPSHEETPAGEA_V2; 212 -alias _PROPSHEETPAGEA_V2* LPPROPSHEETPAGEA_V2; 213 - 214 -alias PROPSHEETPAGEA_V2* LPCPROPSHEETPAGEA_V2; 215 - 216 -struct _PROPSHEETPAGEA_V3 { 217 - DWORD dwSize; 218 - DWORD dwFlags; 219 - HINSTANCE hInstance; 220 - union { 221 - LPCSTR pszTemplate; 222 - PROPSHEETPAGE_RESOURCE pResource; 223 - } 224 - union { 225 - HICON hIcon; 226 - LPCSTR pszIcon; 227 - } 228 - LPCSTR pszTitle; 229 - DLGPROC pfnDlgProc; 230 - LPARAM lParam; 231 - LPFNPSPCALLBACKA pfnCallback; 232 - UINT* pcRefParent; 233 - 234 - LPCSTR pszHeaderTitle; 235 - LPCSTR pszHeaderSubTitle; 236 - 237 - HANDLE hActCtx; 238 -} 239 -alias _PROPSHEETPAGEA_V3 PROPSHEETPAGEA_V3; 240 -alias _PROPSHEETPAGEA_V3* LPPROPSHEETPAGEA_V3; 241 - 242 -alias PROPSHEETPAGEA_V3* LPCPROPSHEETPAGEA_V3; 243 - 244 -struct _PROPSHEETPAGEW_V1 { 245 - DWORD dwSize; 246 - DWORD dwFlags; 247 - HINSTANCE hInstance; 248 - union { 249 - LPCWSTR pszTemplate; 250 - PROPSHEETPAGE_RESOURCE pResource; 251 - } 252 - union { 253 - HICON hIcon; 254 - LPCWSTR pszIcon; 255 - } 256 - LPCWSTR pszTitle; 257 - DLGPROC pfnDlgProc; 258 - LPARAM lParam; 259 - LPFNPSPCALLBACKW pfnCallback; 260 - UINT* pcRefParent; 261 -} 262 -alias _PROPSHEETPAGEW_V1 PROPSHEETPAGEW_V1; 263 -alias _PROPSHEETPAGEW_V1* LPPROPSHEETPAGEW_V1; 264 - 265 -alias PROPSHEETPAGEW_V1* LPCPROPSHEETPAGEW_V1; 266 - 267 -struct _PROPSHEETPAGEW_V2 { 268 - DWORD dwSize; 269 - DWORD dwFlags; 270 - HINSTANCE hInstance; 271 - union { 272 - LPCWSTR pszTemplate; 273 - PROPSHEETPAGE_RESOURCE pResource; 274 - } 275 - union { 276 - HICON hIcon; 277 - LPCWSTR pszIcon; 278 - } 279 - LPCWSTR pszTitle; 280 - DLGPROC pfnDlgProc; 281 - LPARAM lParam; 282 - LPFNPSPCALLBACKW pfnCallback; 283 - UINT* pcRefParent; 284 - 285 - LPCWSTR pszHeaderTitle; 286 - LPCWSTR pszHeaderSubTitle; 287 -} 288 -alias _PROPSHEETPAGEW_V2 PROPSHEETPAGEW_V2; 289 -alias _PROPSHEETPAGEW_V2* LPPROPSHEETPAGEW_V2; 290 - 291 -alias PROPSHEETPAGEW_V2* LPCPROPSHEETPAGEW_V2; 292 - 293 -struct _PROPSHEETPAGEW_V3 { 294 - DWORD dwSize; 295 - DWORD dwFlags; 296 - HINSTANCE hInstance; 297 - union { 298 - LPCWSTR pszTemplate; 299 - PROPSHEETPAGE_RESOURCE pResource; 300 - } 301 - union { 302 - HICON hIcon; 303 - LPCWSTR pszIcon; 304 - } 305 - LPCWSTR pszTitle; 306 - DLGPROC pfnDlgProc; 307 - LPARAM lParam; 308 - LPFNPSPCALLBACKW pfnCallback; 309 - UINT* pcRefParent; 310 - 311 - LPCWSTR pszHeaderTitle; 312 - LPCWSTR pszHeaderSubTitle; 313 - 314 - HANDLE hActCtx; 315 -} 316 -alias _PROPSHEETPAGEW_V3 PROPSHEETPAGEW_V3; 317 -alias _PROPSHEETPAGEW_V3* LPPROPSHEETPAGEW_V3; 318 - 319 -alias PROPSHEETPAGEW_V3* LPCPROPSHEETPAGEW_V3; 320 - 321 -alias PROPSHEETPAGEA_V3 PROPSHEETPAGEA_LATEST; 322 -alias PROPSHEETPAGEW_V3 PROPSHEETPAGEW_LATEST; 323 -alias LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA_LATEST; 324 -alias LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW_LATEST; 325 -alias LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA_LATEST; 326 -alias LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW_LATEST; 327 - 328 -// #if (_WIN32_WINNT >= 0x0501) || ISOLATION_AWARE_ENABLED 329 -alias PROPSHEETPAGEA_V3 PROPSHEETPAGEA; 330 -alias PROPSHEETPAGEW_V3 PROPSHEETPAGEW; 331 -alias LPPROPSHEETPAGEA_V3 LPPROPSHEETPAGEA; 332 -alias LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGEW; 333 -alias LPCPROPSHEETPAGEA_V3 LPCPROPSHEETPAGEA; 334 -alias LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGEW; 335 -// #elif (_WIN32_IE >= 0x0400) 336 -// ... 337 -// #else 338 -// ... 339 -// #endif 340 - 341 -// #if 0 // IEUNIX reserved. 342 - 343 -// #if __STDC__ || defined (NONAMELESSUNION) 344 -// #... 345 -// #else 346 -// #... 347 -// #endif 348 -// #endif 349 - 350 -// #ifdef UNICODE 351 -alias PROPSHEETPAGEW PROPSHEETPAGE; 352 -alias LPPROPSHEETPAGEW LPPROPSHEETPAGE; 353 -alias LPCPROPSHEETPAGEW LPCPROPSHEETPAGE; 354 -// #define PROPSHEETPAGE_V1_SIZE PROPSHEETPAGEW_V1_SIZE 355 -// #define PROPSHEETPAGE_V2_SIZE PROPSHEETPAGEW_V2_SIZE 356 -alias PROPSHEETPAGEW_V1 PROPSHEETPAGE_V1; 357 -alias LPPROPSHEETPAGEW_V1 LPPROPSHEETPAGE_V1; 358 -alias LPCPROPSHEETPAGEW_V1 LPCPROPSHEETPAGE_V1; 359 -alias PROPSHEETPAGEW_V2 PROPSHEETPAGE_V2; 360 -alias LPPROPSHEETPAGEW_V2 LPPROPSHEETPAGE_V2; 361 -alias LPCPROPSHEETPAGEW_V2 LPCPROPSHEETPAGE_V2; 362 -alias PROPSHEETPAGEW_V3 PROPSHEETPAGE_V3; 363 -alias LPPROPSHEETPAGEW_V3 LPPROPSHEETPAGE_V3; 364 -alias LPCPROPSHEETPAGEW_V3 LPCPROPSHEETPAGE_V3; 365 -alias PROPSHEETPAGEW_LATEST PROPSHEETPAGE_LATEST; 366 -alias LPPROPSHEETPAGEW_LATEST LPPROPSHEETPAGE_LATEST; 367 -alias LPCPROPSHEETPAGEW_LATEST LPCPROPSHEETPAGE_LATEST; 368 -// #else 369 -// #... 370 -// #... 371 -// #... 372 -// #... 373 -// #... 374 -// #... 375 -// #... 376 -// #... 377 -// #... 378 -// #... 379 -// #... 380 -// #... 381 -// #... 382 -// #... 383 -// #... 384 -// #... 385 -// #... 386 -// #endif 387 - 388 -enum : uint { PSH_DEFAULT = 0x00000000 } 389 -enum : uint { PSH_PROPTITLE = 0x00000001 } 390 -enum : uint { PSH_USEHICON = 0x00000002 } 391 -enum : uint { PSH_USEICONID = 0x00000004 } 392 -enum : uint { PSH_PROPSHEETPAGE = 0x00000008 } 393 -enum : uint { PSH_WIZARDHASFINISH = 0x00000010 } 394 -enum : uint { PSH_WIZARD = 0x00000020 } 395 -enum : uint { PSH_USEPSTARTPAGE = 0x00000040 } 396 -enum : uint { PSH_NOAPPLYNOW = 0x00000080 } 397 -enum : uint { PSH_USECALLBACK = 0x00000100 } 398 -enum : uint { PSH_HASHELP = 0x00000200 } 399 -enum : uint { PSH_MODELESS = 0x00000400 } 400 -enum : uint { PSH_RTLREADING = 0x00000800 } 401 -enum : uint { PSH_WIZARDCONTEXTHELP = 0x00001000 } 402 - 403 -// #if (_WIN32_IE >= 0x0400) 404 - 405 -// #if (_WIN32_IE < 0x0500) 406 -// #... 407 -// #else 408 -enum : uint { PSH_WIZARD97 = 0x01000000 } 409 -// #endif 410 - 411 -enum : uint { PSH_WATERMARK = 0x00008000 } 412 -enum : uint { PSH_USEHBMWATERMARK = 0x00010000 } 413 -enum : uint { PSH_USEHPLWATERMARK = 0x00020000 } 414 -enum : uint { PSH_STRETCHWATERMARK = 0x00040000 } 415 -enum : uint { PSH_HEADER = 0x00080000 } 416 -enum : uint { PSH_USEHBMHEADER = 0x00100000 } 417 -enum : uint { PSH_USEPAGELANG = 0x00200000 } 418 - 419 -// #endif 420 - 421 -// #if (_WIN32_IE >= 0x0500) 422 - 423 -enum : uint { PSH_WIZARD_LITE = 0x00400000 } 424 -enum : uint { PSH_NOCONTEXTHELP = 0x02000000 } 425 - 426 -// #endif 427 - 428 -extern(Windows) alias int function(HWND, UINT, LPARAM) PFNPROPSHEETCALLBACK; 429 - 430 -// #define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, pfnCallback) 431 -// #define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, pfnCallback) 432 - 433 -// #define PROPSHEETHEADERA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, DUMMYUNION5_MEMBER(hbmHeader)) 434 -// #define PROPSHEETHEADERW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, DUMMYUNION5_MEMBER(hbmHeader)) 435 - 436 -struct _PROPSHEETHEADERA { 437 - DWORD dwSize; 438 - DWORD dwFlags; 439 - HWND hwndParent; 440 - HINSTANCE hInstance; 441 -union { 442 - HICON hIcon; 443 - LPCSTR pszIcon; 444 -} 445 - 446 - LPCSTR pszCaption; 447 - UINT nPages; 448 -union { 449 - UINT nStartPage; 450 - LPCSTR pStartPage; 451 -} 452 - 453 -union { 454 - LPCPROPSHEETPAGEA ppsp; 455 - HPROPSHEETPAGE *phpage; 456 -} 457 - 458 - PFNPROPSHEETCALLBACK pfnCallback; 459 -// #if (_WIN32_IE >= 0x0400) 460 -union { 461 - HBITMAP hbmWatermark; 462 - LPCSTR pszbmWatermark; 463 -} 464 - 465 - HPALETTE hplWatermark; 466 -union { 467 - HBITMAP hbmHeader; 468 - LPCSTR pszbmHeader; 469 -} 470 - 471 -// #endif 472 -} 473 -alias _PROPSHEETHEADERA PROPSHEETHEADERA; 474 -alias _PROPSHEETHEADERA* LPPROPSHEETHEADERA; 475 - 476 -alias PROPSHEETHEADERA* LPCPROPSHEETHEADERA; 477 - 478 -struct _PROPSHEETHEADERW { 479 - DWORD dwSize; 480 - DWORD dwFlags; 481 - HWND hwndParent; 482 - HINSTANCE hInstance; 483 -union { 484 - HICON hIcon; 485 - LPCWSTR pszIcon; 486 -} 487 - 488 - LPCWSTR pszCaption; 489 - UINT nPages; 490 -union { 491 - UINT nStartPage; 492 - LPCWSTR pStartPage; 493 -} 494 - 495 -union { 496 - LPCPROPSHEETPAGEW ppsp; 497 - HPROPSHEETPAGE *phpage; 498 -} 499 - 500 - PFNPROPSHEETCALLBACK pfnCallback; 501 -// #if (_WIN32_IE >= 0x0400) 502 -union { 503 - HBITMAP hbmWatermark; 504 - LPCWSTR pszbmWatermark; 505 -} 506 - 507 - HPALETTE hplWatermark; 508 -union { 509 - HBITMAP hbmHeader; 510 - LPCWSTR pszbmHeader; 511 -} 512 - 513 -// #endif 514 -} 515 -alias _PROPSHEETHEADERW PROPSHEETHEADERW; 516 -alias _PROPSHEETHEADERW* LPPROPSHEETHEADERW; 517 - 518 -alias PROPSHEETHEADERW* LPCPROPSHEETHEADERW; 519 - 520 -// #if 0 //IEUNIX reserved. 521 - 522 -// #if __STDC__ || defined (NONAMELESSUNION) 523 -// #... 524 -// #... 525 -// #else 526 -// #... 527 -// #... 528 -// #endif 529 -// #endif 530 - 531 -// #ifdef UNICODE 532 -alias PROPSHEETHEADERW PROPSHEETHEADER; 533 -alias LPPROPSHEETHEADERW LPPROPSHEETHEADER; 534 -alias LPCPROPSHEETHEADERW LPCPROPSHEETHEADER; 535 -// #define PROPSHEETHEADER_V1_SIZE PROPSHEETHEADERW_V1_SIZE 536 -// #define PROPSHEETHEADER_V2_SIZE PROPSHEETHEADERW_V2_SIZE 537 -// #else 538 -// #... 539 -// #... 540 -// #... 541 -// #... 542 -// #... 543 -// #endif 544 - 545 -enum : uint { PSCB_INITIALIZED = 1 } 546 -enum : uint { PSCB_PRECREATE = 2 } 547 - 548 -// #if (_WIN32_IE >= 0x560) 549 - 550 -enum : uint { PSCB_BUTTONPRESSED = 3 } 551 -// #endif // _WIN32_IE >= 0x560 552 - 553 -extern(Windows) export HPROPSHEETPAGE CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer); 554 -extern(Windows) export HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer); 555 -extern(Windows) export BOOL DestroyPropertySheetPage(HPROPSHEETPAGE); 556 - 557 -extern(Windows) export INT_PTR PropertySheetA(LPCPROPSHEETHEADERA); 558 - 559 -extern(Windows) export INT_PTR PropertySheetW(LPCPROPSHEETHEADERW); 560 - 561 -// #ifdef UNICODE 562 -alias CreatePropertySheetPageW CreatePropertySheetPage; 563 -alias PropertySheetW PropertySheet; 564 -// #else 565 -// #... 566 -// #... 567 -// #endif 568 - 569 -extern(Windows) alias BOOL function(HPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGE; 570 -extern(Windows) alias BOOL function(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGES; 571 - 572 -struct _PSHNOTIFY { 573 - NMHDR hdr; 574 - LPARAM lParam; 575 -} 576 -alias _PSHNOTIFY PSHNOTIFY; 577 -alias _PSHNOTIFY* LPPSHNOTIFY; 578 - 579 -enum : uint { PSN_FIRST = 0U-200U } 580 -enum : uint { PSN_LAST = 0U-299U } 581 - 582 -enum : uint { PSN_SETACTIVE = PSN_FIRST-0 } 583 -enum : uint { PSN_KILLACTIVE = PSN_FIRST-1 } 584 - 585 -enum : uint { PSN_APPLY = PSN_FIRST-2 } 586 -enum : uint { PSN_RESET = PSN_FIRST-3 } 587 - 588 -enum : uint { PSN_HELP = PSN_FIRST-5 } 589 -enum : uint { PSN_WIZBACK = PSN_FIRST-6 } 590 -enum : uint { PSN_WIZNEXT = PSN_FIRST-7 } 591 -enum : uint { PSN_WIZFINISH = PSN_FIRST-8 } 592 -enum : uint { PSN_QUERYCANCEL = PSN_FIRST-9 } 593 -// #if (_WIN32_IE >= 0x0400) 594 -enum : uint { PSN_GETOBJECT = PSN_FIRST-10 } 595 -// #endif // 0x0400 596 -// #if (_WIN32_IE >= 0x0500) 597 -enum : uint { PSN_TRANSLATEACCELERATOR = PSN_FIRST-12 } 598 -enum : uint { PSN_QUERYINITIALFOCUS = PSN_FIRST-13 } 599 -// #endif // 0x0500 600 - 601 -enum : uint { PSNRET_NOERROR = 0 } 602 -enum : uint { PSNRET_INVALID = 1 } 603 -enum : uint { PSNRET_INVALID_NOCHANGEPAGE = 2 } 604 -enum : uint { PSNRET_MESSAGEHANDLED = 3 } 605 - 606 -enum : uint { PSM_SETCURSEL = WM_USER + 101 } 607 -// #define PropSheet_SetCurSel(hDlg, hpage, index) SNDMSG(hDlg, PSM_SETCURSEL, (WPARAM)index, (LPARAM)hpage) 608 - 609 -enum : uint { PSM_REMOVEPAGE = WM_USER + 102 } 610 -// #define PropSheet_RemovePage(hDlg, index, hpage) SNDMSG(hDlg, PSM_REMOVEPAGE, index, (LPARAM)hpage) 611 - 612 -enum : uint { PSM_ADDPAGE = WM_USER + 103 } 613 -// #define PropSheet_AddPage(hDlg, hpage) SNDMSG(hDlg, PSM_ADDPAGE, 0, (LPARAM)hpage) 614 - 615 -enum : uint { PSM_CHANGED = WM_USER + 104 } 616 -// #define PropSheet_Changed(hDlg, hwnd) SNDMSG(hDlg, PSM_CHANGED, (WPARAM)hwnd, 0L) 617 - 618 -enum : uint { PSM_RESTARTWINDOWS = WM_USER + 105 } 619 -// #define PropSheet_RestartWindows(hDlg) SNDMSG(hDlg, PSM_RESTARTWINDOWS, 0, 0L) 620 - 621 -enum : uint { PSM_REBOOTSYSTEM = WM_USER + 106 } 622 -// #define PropSheet_RebootSystem(hDlg) SNDMSG(hDlg, PSM_REBOOTSYSTEM, 0, 0L) 623 - 624 -enum : uint { PSM_CANCELTOCLOSE = WM_USER + 107 } 625 -// #define PropSheet_CancelToClose(hDlg) PostMessage(hDlg, PSM_CANCELTOCLOSE, 0, 0L) 626 - 627 -enum : uint { PSM_QUERYSIBLINGS = WM_USER + 108 } 628 -// #define PropSheet_QuerySiblings(hDlg, wParam, lParam) SNDMSG(hDlg, PSM_QUERYSIBLINGS, wParam, lParam) 629 - 630 -enum : uint { PSM_UNCHANGED = WM_USER + 109 } 631 -// #define PropSheet_UnChanged(hDlg, hwnd) SNDMSG(hDlg, PSM_UNCHANGED, (WPARAM)hwnd, 0L) 632 - 633 -enum : uint { PSM_APPLY = WM_USER + 110 } 634 -// #define PropSheet_Apply(hDlg) SNDMSG(hDlg, PSM_APPLY, 0, 0L) 635 - 636 -enum : uint { PSM_SETTITLEA = WM_USER + 111 } 637 -enum : uint { PSM_SETTITLEW = WM_USER + 120 } 638 - 639 -// #ifdef UNICODE 640 -alias PSM_SETTITLEW PSM_SETTITLE; 641 -// #else 642 -// #... 643 -// #endif 644 - 645 -// #define PropSheet_SetTitle(hDlg, wStyle, lpszText) SNDMSG(hDlg, PSM_SETTITLE, wStyle, (LPARAM)(LPCTSTR)(lpszText)) 646 - 647 -enum : uint { PSM_SETWIZBUTTONS = WM_USER + 112 } 648 -// #define PropSheet_SetWizButtons(hDlg, dwFlags) PostMessage(hDlg, PSM_SETWIZBUTTONS, 0, (LPARAM)dwFlags) 649 - 650 -enum : uint { PSWIZB_BACK = 0x00000001 } 651 -enum : uint { PSWIZB_NEXT = 0x00000002 } 652 -enum : uint { PSWIZB_FINISH = 0x00000004 } 653 -enum : uint { PSWIZB_DISABLEDFINISH = 0x00000008 } 654 - 655 -enum : uint { PSM_PRESSBUTTON = WM_USER + 113 } 656 -// #define PropSheet_PressButton(hDlg, iButton) PostMessage(hDlg, PSM_PRESSBUTTON, (WPARAM)iButton, 0) 657 - 658 -enum : uint { PSBTN_BACK = 0 } 659 -enum : uint { PSBTN_NEXT = 1 } 660 -enum : uint { PSBTN_FINISH = 2 } 661 -enum : uint { PSBTN_OK = 3 } 662 -enum : uint { PSBTN_APPLYNOW = 4 } 663 -enum : uint { PSBTN_CANCEL = 5 } 664 -enum : uint { PSBTN_HELP = 6 } 665 -enum : uint { PSBTN_MAX = 6 } 666 - 667 -enum : uint { PSM_SETCURSELID = WM_USER + 114 } 668 -// #define PropSheet_SetCurSelByID(hDlg, id) SNDMSG(hDlg, PSM_SETCURSELID, 0, (LPARAM)id) 669 - 670 -enum : uint { PSM_SETFINISHTEXTA = WM_USER + 115 } 671 -enum : uint { PSM_SETFINISHTEXTW = WM_USER + 121 } 672 - 673 -// #ifdef UNICODE 674 -alias PSM_SETFINISHTEXTW PSM_SETFINISHTEXT; 675 -// #else 676 -// #... 677 -// #endif 678 - 679 -// #define PropSheet_SetFinishText(hDlg, lpszText) SNDMSG(hDlg, PSM_SETFINISHTEXT, 0, (LPARAM)lpszText) 680 - 681 -enum : uint { PSM_GETTABCONTROL = WM_USER + 116 } 682 -// #define PropSheet_GetTabControl(hDlg) (HWND)SNDMSG(hDlg, PSM_GETTABCONTROL, 0, 0) 683 - 684 -enum : uint { PSM_ISDIALOGMESSAGE = WM_USER + 117 } 685 -// #define PropSheet_IsDialogMessage(hDlg, pMsg) (BOOL)SNDMSG(hDlg, PSM_ISDIALOGMESSAGE, 0, (LPARAM)pMsg) 686 - 687 -enum : uint { PSM_GETCURRENTPAGEHWND = WM_USER + 118 } 688 -// #define PropSheet_GetCurrentPageHwnd(hDlg) (HWND)SNDMSG(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0L) 689 - 690 -enum : uint { PSM_INSERTPAGE = WM_USER + 119 } 691 -// #define PropSheet_InsertPage(hDlg, index, hpage) SNDMSG(hDlg, PSM_INSERTPAGE, (WPARAM)(index), (LPARAM)(hpage)) 692 - 693 -// #if (_WIN32_IE >= 0x0500) 694 -enum : uint { PSM_SETHEADERTITLEA = WM_USER + 125 } 695 -enum : uint { PSM_SETHEADERTITLEW = WM_USER + 126 } 696 - 697 -// #ifdef UNICODE 698 -alias PSM_SETHEADERTITLEW PSM_SETHEADERTITLE; 699 -// #else 700 -// #... 701 -// #endif 702 - 703 -// #define PropSheet_SetHeaderTitle(hDlg, index, lpszText) SNDMSG(hDlg, PSM_SETHEADERTITLE, (WPARAM)(index), (LPARAM)(lpszText)) 704 - 705 -enum : uint { PSM_SETHEADERSUBTITLEA = WM_USER + 127 } 706 -enum : uint { PSM_SETHEADERSUBTITLEW = WM_USER + 128 } 707 - 708 -// #ifdef UNICODE 709 -alias PSM_SETHEADERSUBTITLEW PSM_SETHEADERSUBTITLE; 710 -// #else 711 -// #... 712 -// #endif 713 - 714 -// #define PropSheet_SetHeaderSubTitle(hDlg, index, lpszText) SNDMSG(hDlg, PSM_SETHEADERSUBTITLE, (WPARAM)(index), (LPARAM)(lpszText)) 715 - 716 -enum : uint { PSM_HWNDTOINDEX = WM_USER + 129 } 717 -// #define PropSheet_HwndToIndex(hDlg, hwnd) (int)SNDMSG(hDlg, PSM_HWNDTOINDEX, (WPARAM)(hwnd), 0) 718 - 719 -enum : uint { PSM_INDEXTOHWND = WM_USER + 130 } 720 -// #define PropSheet_IndexToHwnd(hDlg, i) (HWND)SNDMSG(hDlg, PSM_INDEXTOHWND, (WPARAM)(i), 0) 721 - 722 -enum : uint { PSM_PAGETOINDEX = WM_USER + 131 } 723 -// #define PropSheet_PageToIndex(hDlg, hpage) (int)SNDMSG(hDlg, PSM_PAGETOINDEX, 0, (LPARAM)(hpage)) 724 - 725 -enum : uint { PSM_INDEXTOPAGE = WM_USER + 132 } 726 -// #define PropSheet_IndexToPage(hDlg, i) (HPROPSHEETPAGE)SNDMSG(hDlg, PSM_INDEXTOPAGE, (WPARAM)(i), 0) 727 - 728 -enum : uint { PSM_IDTOINDEX = WM_USER + 133 } 729 -// #define PropSheet_IdToIndex(hDlg, id) (int)SNDMSG(hDlg, PSM_IDTOINDEX, 0, (LPARAM)(id)) 730 - 731 -enum : uint { PSM_INDEXTOID = WM_USER + 134 } 732 -// #define PropSheet_IndexToId(hDlg, i) SNDMSG(hDlg, PSM_INDEXTOID, (WPARAM)(i), 0) 733 - 734 -enum : uint { PSM_GETRESULT = WM_USER + 135 } 735 -// #define PropSheet_GetResult(hDlg) SNDMSG(hDlg, PSM_GETRESULT, 0, 0) 736 - 737 -enum : uint { PSM_RECALCPAGESIZES = WM_USER + 136 } 738 -// #define PropSheet_RecalcPageSizes(hDlg) SNDMSG(hDlg, PSM_RECALCPAGESIZES, 0, 0) 739 -// #endif // 0x0500 740 - 741 -enum : uint { ID_PSRESTARTWINDOWS = 0x2 } 742 -enum : uint { ID_PSREBOOTSYSTEM = ID_PSRESTARTWINDOWS | 0x1 } 743 - 744 -enum : uint { WIZ_CXDLG = 276 } 745 -enum : uint { WIZ_CYDLG = 140 } 746 - 747 -enum : uint { WIZ_CXBMP = 80 } 748 - 749 -enum : uint { WIZ_BODYX = 92 } 750 -enum : uint { WIZ_BODYCX = 184 } 751 - 752 -enum : uint { PROP_SM_CXDLG = 212 } 753 -enum : uint { PROP_SM_CYDLG = 188 } 754 - 755 -enum : uint { PROP_MED_CXDLG = 227 } 756 -enum : uint { PROP_MED_CYDLG = 215 } 757 - 758 -enum : uint { PROP_LG_CXDLG = 252 } 759 -enum : uint { PROP_LG_CYDLG = 218 } 760 - 761 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 762 -// #if ISOLATION_AWARE_ENABLED 763 - 764 -// #if !defined(ISOLATION_AWARE_INLINE) 765 -// #if defined(__cplusplus) 766 -// #... 767 -// #else 768 -// #... 769 -// #endif 770 -// #endif 771 - 772 -// ... 773 - 774 -// #ifndef CCSIZEOF_STRUCT 775 -// #... 776 -// #endif 777 - 778 -// ... 779 - 780 -// #if defined(UNICODE) 781 - 782 -// #... 783 -// #... 784 - 785 -// #else /* UNICODE */ 786 - 787 -// #... 788 -// #... 789 - 790 -// #endif /* UNICODE */ 791 - 792 -// ... 793 - 794 -// ... 795 - 796 -// ... 797 - 798 -// ... 799 - 800 -// ... 801 - 802 -// ... 803 - 804 -// ... 805 - 806 -// ... 807 - 808 -// ... 809 - 810 -// ... 811 - 812 -// #... 813 -// #... 814 -// #... 815 -// #... 816 -// #... 817 - 818 -// #endif /* ISOLATION_AWARE_ENABLED */ 819 -// #endif /* RC */ 820 - 821 -// #ifdef __cplusplus 822 -// } 823 -// #endif 824 - 825 -align: 826 - 827 -// #endif // _PRSHT_H_ 828 - 829 -// ---- 830 - 831 -// #ifndef _INC_COMMCTRL 832 -// #define _INC_COMMCTRL 833 - 834 -// #ifndef _WINRESRC_ 835 -// #ifndef _WIN32_IE 836 -// #... 837 -// #else 838 -// #if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500) 839 -// #... 840 -// #endif 841 -// #endif 842 -// #endif 843 - 844 -// #ifndef _HRESULT_DEFINED 845 -// #define _HRESULT_DEFINED 846 -alias LONG HRESULT; 847 -// #endif // _HRESULT_DEFINED 848 - 849 -// #ifndef NOUSER 850 - 851 -// #ifndef WINCOMMCTRLAPI 852 -// #if !defined(_COMCTL32_) && defined(_WIN32) 853 -// #define WINCOMMCTRLAPI DECLSPEC_IMPORT 854 -// #else 855 -// #... 856 -// #endif 857 -// #endif // WINCOMMCTRLAPI 858 - 859 -// #ifndef DUMMYUNIONNAME 860 -// #ifdef NONAMELESSUNION 861 -// #... 862 -// #... 863 -// #... 864 -// #... 865 -// #... 866 -// #else 867 -// #define DUMMYUNIONNAME 868 -// #define DUMMYUNIONNAME2 869 -// #define DUMMYUNIONNAME3 870 -// #define DUMMYUNIONNAME4 871 -// #define DUMMYUNIONNAME5 872 -// #endif 873 -// #endif // DUMMYUNIONNAME 874 - 875 -// #ifdef __cplusplus 876 -// extern "C" { 877 -// #endif 878 - 879 -// #include <prsht.h> 880 - 881 -// #ifndef SNDMSG 882 -// #ifdef __cplusplus 883 -// #ifndef _MAC 884 -// #define SNDMSG ::SendMessage 885 -// #else 886 -// #... 887 -// #endif 888 -// #else 889 -// #ifndef _MAC 890 -// #... 891 -// #else 892 -// #... 893 -// #endif //_MAC 894 -// #endif 895 -// #endif // ifndef SNDMSG 896 - 897 -// #ifdef _MAC 898 -// #ifndef RC_INVOKED 899 -// #ifndef _WLM_NOFORCE_LIBS 900 - 901 -// #ifndef _WLMDLL 902 -// #ifdef _DEBUG 903 -// #... 904 -// #else 905 -// #... 906 -// #endif 907 -// #... 908 -// #else 909 -// #ifdef _DEBUG 910 -// #... 911 -// #else 912 -// #... 913 -// #endif 914 -// #endif // _WLMDLL 915 - 916 -// #endif // _WLM_NOFORCE_LIBS 917 -// #endif // RC_INVOKED 918 -// #endif //_MAC 919 - 920 -extern(Windows) export void InitCommonControls(); 921 - 922 -// #if (_WIN32_IE >= 0x0300) 923 -struct tagINITCOMMONCONTROLSEX { 924 - DWORD dwSize; 925 - DWORD dwICC; 926 -} 927 -alias tagINITCOMMONCONTROLSEX INITCOMMONCONTROLSEX; 928 -alias tagINITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX; 929 - 930 -enum : uint { ICC_LISTVIEW_CLASSES = 0x00000001 } 931 -enum : uint { ICC_TREEVIEW_CLASSES = 0x00000002 } 932 -enum : uint { ICC_BAR_CLASSES = 0x00000004 } 933 -enum : uint { ICC_TAB_CLASSES = 0x00000008 } 934 -enum : uint { ICC_UPDOWN_CLASS = 0x00000010 } 935 -enum : uint { ICC_PROGRESS_CLASS = 0x00000020 } 936 -enum : uint { ICC_HOTKEY_CLASS = 0x00000040 } 937 -enum : uint { ICC_ANIMATE_CLASS = 0x00000080 } 938 -enum : uint { ICC_WIN95_CLASSES = 0x000000FF } 939 -enum : uint { ICC_DATE_CLASSES = 0x00000100 } 940 -enum : uint { ICC_USEREX_CLASSES = 0x00000200 } 941 -enum : uint { ICC_COOL_CLASSES = 0x00000400 } 942 -// #if (_WIN32_IE >= 0x0400) 943 -enum : uint { ICC_INTERNET_CLASSES = 0x00000800 } 944 -enum : uint { ICC_PAGESCROLLER_CLASS = 0x00001000 } 945 -enum : uint { ICC_NATIVEFNTCTL_CLASS = 0x00002000 } 946 -// #endif 947 -// #if (_WIN32_WINNT >= 0x501) 948 -enum : uint { ICC_STANDARD_CLASSES = 0x00004000 } 949 -enum : uint { ICC_LINK_CLASS = 0x00008000 } 950 -// #endif 951 - 952 -extern(Windows) export BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX); 953 -// #endif // _WIN32_IE >= 0x0300 954 - 955 -enum : uint { ODT_HEADER = 100 } 956 -enum : uint { ODT_TAB = 101 } 957 -enum : uint { ODT_LISTVIEW = 102 } 958 - 959 -enum : uint { LVM_FIRST = 0x1000 } 960 -enum : uint { TV_FIRST = 0x1100 } 961 -enum : uint { HDM_FIRST = 0x1200 } 962 -enum : uint { TCM_FIRST = 0x1300 } 963 - 964 -// #if (_WIN32_IE >= 0x0400) 965 -enum : uint { PGM_FIRST = 0x1400 } 966 -// #if (_WIN32_WINNT >= 0x501) 967 -enum : uint { ECM_FIRST = 0x1500 } 968 -enum : uint { BCM_FIRST = 0x1600 } 969 -enum : uint { CBM_FIRST = 0x1700 } 970 -// #endif 971 -enum : uint { CCM_FIRST = 0x2000 } 972 -enum : uint { CCM_LAST = CCM_FIRST + 0x200 } 973 - 974 -enum : uint { CCM_SETBKCOLOR = CCM_FIRST + 1 } 975 - 976 -struct tagCOLORSCHEME { 977 - DWORD dwSize; 978 - COLORREF clrBtnHighlight; 979 - COLORREF clrBtnShadow; 980 -} 981 -alias tagCOLORSCHEME COLORSCHEME; 982 -alias tagCOLORSCHEME* LPCOLORSCHEME; 983 - 984 -enum : uint { CCM_SETCOLORSCHEME = CCM_FIRST + 2 } 985 -enum : uint { CCM_GETCOLORSCHEME = CCM_FIRST + 3 } 986 -enum : uint { CCM_GETDROPTARGET = CCM_FIRST + 4 } 987 -enum : uint { CCM_SETUNICODEFORMAT = CCM_FIRST + 5 } 988 -enum : uint { CCM_GETUNICODEFORMAT = CCM_FIRST + 6 } 989 - 990 -// #if (_WIN32_IE >= 0x0500) 991 -// #if (_WIN32_WINNT >= 0x501) 992 -enum : uint { COMCTL32_VERSION = 6 } 993 -// #else 994 -// #... 995 -// #endif 996 - 997 -enum : uint { CCM_SETVERSION = CCM_FIRST + 0x7 } 998 -enum : uint { CCM_GETVERSION = CCM_FIRST + 0x8 } 999 -enum : uint { CCM_SETNOTIFYWINDOW = CCM_FIRST + 0x9 } 1000 -// #if (_WIN32_WINNT >= 0x501) 1001 -enum : uint { CCM_SETWINDOWTHEME = CCM_FIRST + 0xb } 1002 -enum : uint { CCM_DPISCALE = CCM_FIRST + 0xc } 1003 -// #endif 1004 -// #endif // (_WIN32_IE >= 0x0500) 1005 - 1006 -// #endif // (_WIN32_IE >= 0x0400) 1007 - 1008 -// #if (_WIN32_IE >= 0x0400) 1009 - 1010 -enum : uint { INFOTIPSIZE = 1024 } 1011 -// #endif 1012 - 1013 -// #define HANDLE_WM_NOTIFY(hwnd, wParam, lParam, fn) (fn)((hwnd), (int)(wParam), (NMHDR *)(lParam)) 1014 -// #define FORWARD_WM_NOTIFY(hwnd, idFrom, pnmhdr, fn) (LRESULT)(fn)((hwnd), WM_NOTIFY, (WPARAM)(int)(idFrom), (LPARAM)(NMHDR *)(pnmhdr)) 1015 - 1016 -enum : uint { NM_OUTOFMEMORY = NM_FIRST-1 } 1017 -enum : uint { NM_CLICK = NM_FIRST-2 } 1018 -enum : uint { NM_DBLCLK = NM_FIRST-3 } 1019 -enum : uint { NM_RETURN = NM_FIRST-4 } 1020 -enum : uint { NM_RCLICK = NM_FIRST-5 } 1021 -enum : uint { NM_RDBLCLK = NM_FIRST-6 } 1022 -enum : uint { NM_SETFOCUS = NM_FIRST-7 } 1023 -enum : uint { NM_KILLFOCUS = NM_FIRST-8 } 1024 -// #if (_WIN32_IE >= 0x0300) 1025 -enum : uint { NM_CUSTOMDRAW = NM_FIRST-12 } 1026 -enum : uint { NM_HOVER = NM_FIRST-13 } 1027 -// #endif 1028 -// #if (_WIN32_IE >= 0x0400) 1029 -enum : uint { NM_NCHITTEST = NM_FIRST-14 } 1030 -enum : uint { NM_KEYDOWN = NM_FIRST-15 } 1031 -enum : uint { NM_RELEASEDCAPTURE = NM_FIRST-16 } 1032 -enum : uint { NM_SETCURSOR = NM_FIRST-17 } 1033 -enum : uint { NM_CHAR = NM_FIRST-18 } 1034 -// #endif 1035 -// #if (_WIN32_IE >= 0x0401) 1036 -enum : uint { NM_TOOLTIPSCREATED = NM_FIRST-19 } 1037 -// #endif 1038 -// #if (_WIN32_IE >= 0x0500) 1039 -enum : uint { NM_LDOWN = NM_FIRST-20 } 1040 -enum : uint { NM_RDOWN = NM_FIRST-21 } 1041 -enum : uint { NM_THEMECHANGED = NM_FIRST-22 } 1042 -// #endif 1043 - 1044 -// #ifndef CCSIZEOF_STRUCT 1045 -// #define CCSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) 1046 -// #endif 1047 - 1048 -// #if (_WIN32_IE >= 0x0401) 1049 -struct tagNMTOOLTIPSCREATED { 1050 - NMHDR hdr; 1051 - HWND hwndToolTips; 1052 -} 1053 -alias tagNMTOOLTIPSCREATED NMTOOLTIPSCREATED; 1054 -alias tagNMTOOLTIPSCREATED* LPNMTOOLTIPSCREATED; 1055 - 1056 -// #endif 1057 - 1058 -// #if (_WIN32_IE >= 0x0400) 1059 -struct tagNMMOUSE { 1060 - NMHDR hdr; 1061 - DWORD_PTR dwItemSpec; 1062 - DWORD_PTR dwItemData; 1063 - POINT pt; 1064 - LPARAM dwHitInfo; 1065 -} 1066 -alias tagNMMOUSE NMMOUSE; 1067 -alias tagNMMOUSE* LPNMMOUSE; 1068 - 1069 -alias NMMOUSE NMCLICK; 1070 -alias LPNMMOUSE LPNMCLICK; 1071 - 1072 -struct tagNMOBJECTNOTIFY { 1073 - NMHDR hdr; 1074 - int iItem; 1075 -// #ifdef __IID_DEFINED__ 1076 - IID* piid; 1077 -// #else 1078 -// ... 1079 -// #endif 1080 - void *pObject; 1081 - HRESULT hResult; 1082 - DWORD dwFlags; 1083 -} 1084 -alias tagNMOBJECTNOTIFY NMOBJECTNOTIFY; 1085 -alias tagNMOBJECTNOTIFY* LPNMOBJECTNOTIFY; 1086 - 1087 -struct tagNMKEY { 1088 - NMHDR hdr; 1089 - UINT nVKey; 1090 - UINT uFlags; 1091 -} 1092 -alias tagNMKEY NMKEY; 1093 -alias tagNMKEY* LPNMKEY; 1094 - 1095 -struct tagNMCHAR { 1096 - NMHDR hdr; 1097 - UINT ch; 1098 - DWORD dwItemPrev; 1099 - DWORD dwItemNext; 1100 -} 1101 -alias tagNMCHAR NMCHAR; 1102 -alias tagNMCHAR* LPNMCHAR; 1103 - 1104 -// #endif // _WIN32_IE >= 0x0400 1105 - 1106 -// #define NM_FIRST (0U- 0U) 1107 -enum : uint { NM_LAST = 0U- 99U } 1108 - 1109 -enum : uint { LVN_FIRST = 0U-100U } 1110 -enum : uint { LVN_LAST = 0U-199U } 1111 - 1112 -enum : uint { HDN_FIRST = 0U-300U } 1113 -enum : uint { HDN_LAST = 0U-399U } 1114 - 1115 -enum : uint { TVN_FIRST = 0U-400U } 1116 -enum : uint { TVN_LAST = 0U-499U } 1117 - 1118 -enum : uint { TTN_FIRST = 0U-520U } 1119 -enum : uint { TTN_LAST = 0U-549U } 1120 - 1121 -enum : uint { TCN_FIRST = 0U-550U } 1122 -enum : uint { TCN_LAST = 0U-580U } 1123 - 1124 -enum : uint { CDN_FIRST = 0U-601U } 1125 -enum : uint { CDN_LAST = 0U-699U } 1126 - 1127 -enum : uint { TBN_FIRST = 0U-700U } 1128 -enum : uint { TBN_LAST = 0U-720U } 1129 - 1130 -enum : uint { UDN_FIRST = 0U-721 } 1131 -enum : uint { UDN_LAST = 0U-740 } 1132 -// #if (_WIN32_IE >= 0x0300) 1133 -enum : uint { MCN_FIRST = 0U-750U } 1134 -enum : uint { MCN_LAST = 0U-759U } 1135 - 1136 -enum : uint { DTN_FIRST = 0U-760U } 1137 -enum : uint { DTN_LAST = 0U-799U } 1138 - 1139 -// #define CBEN_FIRST (0U-800U) 1140 -enum : uint { CBEN_LAST = 0U-830U } 1141 - 1142 -enum : uint { RBN_FIRST = 0U-831U } 1143 -enum : uint { RBN_LAST = 0U-859U } 1144 -// #endif 1145 - 1146 -// #if (_WIN32_IE >= 0x0400) 1147 -enum : uint { IPN_FIRST = 0U-860U } 1148 -enum : uint { IPN_LAST = 0U-879U } 1149 - 1150 -enum : uint { SBN_FIRST = 0U-880U } 1151 -enum : uint { SBN_LAST = 0U-899U } 1152 - 1153 -enum : uint { PGN_FIRST = 0U-900U } 1154 -enum : uint { PGN_LAST = 0U-950U } 1155 - 1156 -// #endif 1157 - 1158 -// #if (_WIN32_IE >= 0x0500) 1159 -// #ifndef WMN_FIRST 1160 -enum : uint { WMN_FIRST = 0U-1000U } 1161 -enum : uint { WMN_LAST = 0U-1200U } 1162 -// #endif 1163 -// #endif 1164 - 1165 -// #if (_WIN32_WINNT >= 0x0501) 1166 -enum : uint { BCN_FIRST = 0U-1250U } 1167 -enum : uint { BCN_LAST = 0U-1350U } 1168 -// #endif 1169 - 1170 -enum : uint { MSGF_COMMCTRL_BEGINDRAG = 0x4200 } 1171 -enum : uint { MSGF_COMMCTRL_SIZEHEADER = 0x4201 } 1172 -enum : uint { MSGF_COMMCTRL_DRAGSELECT = 0x4202 } 1173 -enum : uint { MSGF_COMMCTRL_TOOLBARCUST = 0x4203 } 1174 - 1175 -// #if (_WIN32_IE >= 0x0300) 1176 - 1177 -enum : uint { CDRF_DODEFAULT = 0x00000000 } 1178 -enum : uint { CDRF_NEWFONT = 0x00000002 } 1179 -enum : uint { CDRF_SKIPDEFAULT = 0x00000004 } 1180 - 1181 -enum : uint { CDRF_NOTIFYPOSTPAINT = 0x00000010 } 1182 -enum : uint { CDRF_NOTIFYITEMDRAW = 0x00000020 } 1183 -// #if (_WIN32_IE >= 0x0400) 1184 -enum : uint { CDRF_NOTIFYSUBITEMDRAW = 0x00000020 } 1185 -// #endif 1186 -enum : uint { CDRF_NOTIFYPOSTERASE = 0x00000040 } 1187 - 1188 -enum : uint { CDDS_PREPAINT = 0x00000001 } 1189 -enum : uint { CDDS_POSTPAINT = 0x00000002 } 1190 -enum : uint { CDDS_PREERASE = 0x00000003 } 1191 -enum : uint { CDDS_POSTERASE = 0x00000004 } 1192 - 1193 -enum : uint { CDDS_ITEM = 0x00010000 } 1194 -enum : uint { CDDS_ITEMPREPAINT = CDDS_ITEM | CDDS_PREPAINT } 1195 -enum : uint { CDDS_ITEMPOSTPAINT = CDDS_ITEM | CDDS_POSTPAINT } 1196 -enum : uint { CDDS_ITEMPREERASE = CDDS_ITEM | CDDS_PREERASE } 1197 -enum : uint { CDDS_ITEMPOSTERASE = CDDS_ITEM | CDDS_POSTERASE } 1198 -// #if (_WIN32_IE >= 0x0400) 1199 -enum : uint { CDDS_SUBITEM = 0x00020000 } 1200 -// #endif 1201 - 1202 -enum : uint { CDIS_SELECTED = 0x0001 } 1203 -enum : uint { CDIS_GRAYED = 0x0002 } 1204 -enum : uint { CDIS_DISABLED = 0x0004 } 1205 -enum : uint { CDIS_CHECKED = 0x0008 } 1206 -enum : uint { CDIS_FOCUS = 0x0010 } 1207 -enum : uint { CDIS_DEFAULT = 0x0020 } 1208 -enum : uint { CDIS_HOT = 0x0040 } 1209 -enum : uint { CDIS_MARKED = 0x0080 } 1210 -enum : uint { CDIS_INDETERMINATE = 0x0100 } 1211 -// #if (_WIN32_WINNT >= 0x501) 1212 -enum : uint { CDIS_SHOWKEYBOARDCUES = 0x0200 } 1213 -// #endif 1214 - 1215 -struct tagNMCUSTOMDRAWINFO { 1216 - NMHDR hdr; 1217 - DWORD dwDrawStage; 1218 - HDC hdc; 1219 - RECT rc; 1220 - DWORD_PTR dwItemSpec; 1221 - UINT uItemState; 1222 - LPARAM lItemlParam; 1223 -} 1224 -alias tagNMCUSTOMDRAWINFO NMCUSTOMDRAW; 1225 -alias tagNMCUSTOMDRAWINFO* LPNMCUSTOMDRAW; 1226 - 1227 -struct tagNMTTCUSTOMDRAW { 1228 - NMCUSTOMDRAW nmcd; 1229 - UINT uDrawFlags; 1230 -} 1231 -alias tagNMTTCUSTOMDRAW NMTTCUSTOMDRAW; 1232 -alias tagNMTTCUSTOMDRAW* LPNMTTCUSTOMDRAW; 1233 - 1234 -// #endif // _WIN32_IE >= 0x0300 1235 - 1236 -// #ifndef NOIMAGEAPIS 1237 - 1238 -enum : uint { CLR_NONE = 0xFFFFFFFF } 1239 -enum : uint { CLR_DEFAULT = 0xFF000000 } 1240 - 1241 -// #ifndef HIMAGELIST 1242 -// struct _IMAGELIST; 1243 -alias _IMAGELIST* HIMAGELIST; 1244 -// #endif 1245 - 1246 -// #ifndef IMAGELISTDRAWPARAMS 1247 -// #if (_WIN32_IE >= 0x0300) 1248 -struct _IMAGELISTDRAWPARAMS { 1249 - DWORD cbSize; 1250 - HIMAGELIST himl; 1251 - int i; 1252 - HDC hdcDst; 1253 - int x; 1254 - int y; 1255 - int cx; 1256 - int cy; 1257 - int xBitmap; 1258 - int yBitmap; 1259 - COLORREF rgbBk; 1260 - COLORREF rgbFg; 1261 - UINT fStyle; 1262 - DWORD dwRop; 1263 -// #if (_WIN32_WINNT >= 0x501) 1264 - DWORD fState; 1265 - DWORD Frame; 1266 - COLORREF crEffect; 1267 -// #endif 1268 -} 1269 -alias _IMAGELISTDRAWPARAMS IMAGELISTDRAWPARAMS; 1270 -alias _IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS; 1271 - 1272 -// #define IMAGELISTDRAWPARAMS_V3_SIZE CCSIZEOF_STRUCT(IMAGELISTDRAWPARAMS, dwRop) 1273 - 1274 -// #endif // _WIN32_IE >= 0x0300 1275 -// #endif 1276 - 1277 -enum : uint { ILC_MASK = 0x00000001 } 1278 -enum : uint { ILC_COLOR = 0x00000000 } 1279 -enum : uint { ILC_COLORDDB = 0x000000FE } 1280 -enum : uint { ILC_COLOR4 = 0x00000004 } 1281 -enum : uint { ILC_COLOR8 = 0x00000008 } 1282 -enum : uint { ILC_COLOR16 = 0x00000010 } 1283 -enum : uint { ILC_COLOR24 = 0x00000018 } 1284 -enum : uint { ILC_COLOR32 = 0x00000020 } 1285 -enum : uint { ILC_PALETTE = 0x00000800 } 1286 -// #if (_WIN32_WINNT >= 0x501) 1287 -enum : uint { ILC_MIRROR = 0x00002000 } 1288 -enum : uint { ILC_PERITEMMIRROR = 0x00008000 } 1289 -// #endif 1290 -extern(Windows) export HIMAGELIST ImageList_Create(int cx, int cy, UINT flags, int cInitial, int cGrow); 1291 -extern(Windows) export BOOL ImageList_Destroy(HIMAGELIST himl); 1292 - 1293 -extern(Windows) export int ImageList_GetImageCount(HIMAGELIST himl); 1294 -// #if (_WIN32_IE >= 0x0300) 1295 -extern(Windows) export BOOL ImageList_SetImageCount(HIMAGELIST himl, UINT uNewCount); 1296 -// #endif 1297 - 1298 -extern(Windows) export int ImageList_Add(HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask); 1299 - 1300 -extern(Windows) export int ImageList_ReplaceIcon(HIMAGELIST himl, int i, HICON hicon); 1301 -extern(Windows) export COLORREF ImageList_SetBkColor(HIMAGELIST himl, COLORREF clrBk); 1302 -extern(Windows) export COLORREF ImageList_GetBkColor(HIMAGELIST himl); 1303 -extern(Windows) export BOOL ImageList_SetOverlayImage(HIMAGELIST himl, int iImage, int iOverlay); 1304 - 1305 -// #define ImageList_AddIcon(himl, hicon) ImageList_ReplaceIcon(himl, -1, hicon) 1306 - 1307 -enum : uint { ILD_NORMAL = 0x00000000 } 1308 -enum : uint { ILD_TRANSPARENT = 0x00000001 } 1309 -enum : uint { ILD_MASK = 0x00000010 } 1310 -enum : uint { ILD_IMAGE = 0x00000020 } 1311 -// #if (_WIN32_IE >= 0x0300) 1312 -enum : uint { ILD_ROP = 0x00000040 } 1313 -// #endif 1314 -enum : uint { ILD_BLEND25 = 0x00000002 } 1315 -enum : uint { ILD_BLEND50 = 0x00000004 } 1316 -enum : uint { ILD_OVERLAYMASK = 0x00000F00 } 1317 -uint INDEXTOOVERLAYMASK(uint i){ return i << 8; } 1318 -enum : uint { ILD_PRESERVEALPHA = 0x00001000 } 1319 -enum : uint { ILD_SCALE = 0x00002000 } 1320 -enum : uint { ILD_DPISCALE = 0x00004000 } 1321 - 1322 -alias ILD_BLEND50 ILD_SELECTED; 1323 -alias ILD_BLEND25 ILD_FOCUS; 1324 -alias ILD_BLEND50 ILD_BLEND; 1325 -alias CLR_DEFAULT CLR_HILIGHT; 1326 - 1327 -enum : uint { ILS_NORMAL = 0x00000000 } 1328 -enum : uint { ILS_GLOW = 0x00000001 } 1329 -enum : uint { ILS_SHADOW = 0x00000002 } 1330 -enum : uint { ILS_SATURATE = 0x00000004 } 1331 -enum : uint { ILS_ALPHA = 0x00000008 } 1332 - 1333 -extern(Windows) export BOOL ImageList_Draw(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle); 1334 - 1335 -// #ifdef _WIN32 1336 - 1337 -extern(Windows) export BOOL ImageList_Replace(HIMAGELIST himl, int i, HBITMAP hbmImage, HBITMAP hbmMask); 1338 - 1339 -extern(Windows) export int ImageList_AddMasked(HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask); 1340 -extern(Windows) export BOOL ImageList_DrawEx(HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle); 1341 -// #if (_WIN32_IE >= 0x0300) 1342 -extern(Windows) export BOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS* pimldp); 1343 -// #endif 1344 -extern(Windows) export BOOL ImageList_Remove(HIMAGELIST himl, int i); 1345 -extern(Windows) export HICON ImageList_GetIcon(HIMAGELIST himl, int i, UINT flags); 1346 -extern(Windows) export HIMAGELIST ImageList_LoadImageA(HINSTANCE hi, LPCSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); 1347 -extern(Windows) export HIMAGELIST ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); 1348 - 1349 -// #ifdef UNICODE 1350 -alias ImageList_LoadImageW ImageList_LoadImage; 1351 -// #else 1352 -// #... 1353 -// #endif 1354 - 1355 -// #if (_WIN32_IE >= 0x0300) 1356 -enum : uint { ILCF_MOVE = 0x00000000 } 1357 -enum : uint { ILCF_SWAP = 0x00000001 } 1358 -extern(Windows) export BOOL ImageList_Copy(HIMAGELIST himlDst, int iDst, HIMAGELIST himlSrc, int iSrc, UINT uFlags); 1359 -// #endif 1360 - 1361 -extern(Windows) export BOOL ImageList_BeginDrag(HIMAGELIST himlTrack, int iTrack, int dxHotspot, int dyHotspot); 1362 -extern(Windows) export void ImageList_EndDrag(); 1363 -extern(Windows) export BOOL ImageList_DragEnter(HWND hwndLock, int x, int y); 1364 -extern(Windows) export BOOL ImageList_DragLeave(HWND hwndLock); 1365 -extern(Windows) export BOOL ImageList_DragMove(int x, int y); 1366 -extern(Windows) export BOOL ImageList_SetDragCursorImage(HIMAGELIST himlDrag, int iDrag, int dxHotspot, int dyHotspot); 1367 - 1368 -extern(Windows) export BOOL ImageList_DragShowNolock(BOOL fShow); 1369 -extern(Windows) export HIMAGELIST ImageList_GetDragImage(POINT *ppt,POINT *pptHotspot); 1370 - 1371 -// #define ImageList_RemoveAll(himl) ImageList_Remove(himl, -1) 1372 -// #define ImageList_ExtractIcon(hi, himl, i) ImageList_GetIcon(himl, i, 0) 1373 -// #define ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask) ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0) 1374 - 1375 -// #ifdef __IStream_INTERFACE_DEFINED__ 1376 - 1377 -// ... 1378 - 1379 -// #if (_WIN32_WINNT >= 0x0501) 1380 -// #... 1381 -// #... 1382 - 1383 -// ... 1384 -// #endif 1385 - 1386 -// #endif 1387 - 1388 -// #ifndef IMAGEINFO 1389 -struct _IMAGEINFO { 1390 - HBITMAP hbmImage; 1391 - HBITMAP hbmMask; 1392 - int Unused1; 1393 - int Unused2; 1394 - RECT rcImage; 1395 -} 1396 -alias _IMAGEINFO IMAGEINFO; 1397 -alias _IMAGEINFO* LPIMAGEINFO; 1398 - 1399 -// #endif 1400 - 1401 -extern(Windows) export BOOL ImageList_GetIconSize(HIMAGELIST himl, int *cx, int *cy); 1402 -extern(Windows) export BOOL ImageList_SetIconSize(HIMAGELIST himl, int cx, int cy); 1403 -extern(Windows) export BOOL ImageList_GetImageInfo(HIMAGELIST himl, int i, IMAGEINFO *pImageInfo); 1404 -extern(Windows) export HIMAGELIST ImageList_Merge(HIMAGELIST himl1, int i1, HIMAGELIST himl2, int i2, int dx, int dy); 1405 -// #if (_WIN32_IE >= 0x0400) 1406 -extern(Windows) export HIMAGELIST ImageList_Duplicate(HIMAGELIST himl); 1407 -// #endif 1408 - 1409 -// #endif 1410 - 1411 -// #endif 1412 - 1413 -// #ifndef NOHEADER 1414 - 1415 -// #ifdef _WIN32 1416 -const char[] WC_HEADERA = "SysHeader32"; 1417 -const wchar[] WC_HEADERW = "SysHeader32"; 1418 - 1419 -// #ifdef UNICODE 1420 -alias WC_HEADERW WC_HEADER; 1421 -// #else 1422 -// #... 1423 -// #endif 1424 - 1425 -// #else 1426 -// #... 1427 -// #endif 1428 - 1429 -enum : uint { HDS_HORZ = 0x0000 } 1430 -enum : uint { HDS_BUTTONS = 0x0002 } 1431 -// #if (_WIN32_IE >= 0x0300) 1432 -enum : uint { HDS_HOTTRACK = 0x0004 } 1433 -// #endif 1434 -enum : uint { HDS_HIDDEN = 0x0008 } 1435 - 1436 -// #if (_WIN32_IE >= 0x0300) 1437 -enum : uint { HDS_DRAGDROP = 0x0040 } 1438 -enum : uint { HDS_FULLDRAG = 0x0080 } 1439 -// #endif 1440 -// #if (_WIN32_IE >= 0x0500) 1441 -enum : uint { HDS_FILTERBAR = 0x0100 } 1442 -// #endif 1443 - 1444 -// #if (_WIN32_WINNT >= 0x501) 1445 -enum : uint { HDS_FLAT = 0x0200 } 1446 -// #endif 1447 - 1448 -// #if (_WIN32_IE >= 0x0500) 1449 - 1450 -enum : uint { HDFT_ISSTRING = 0x0000 } 1451 -enum : uint { HDFT_ISNUMBER = 0x0001 } 1452 - 1453 -enum : uint { HDFT_HASNOVALUE = 0x8000 } 1454 - 1455 -// #ifdef UNICODE 1456 -alias HD_TEXTFILTERW HD_TEXTFILTER; 1457 -alias HD_TEXTFILTERW HDTEXTFILTER; 1458 -alias LPHD_TEXTFILTERW LPHD_TEXTFILTER; 1459 -alias LPHD_TEXTFILTERW LPHDTEXTFILTER; 1460 -// #else 1461 -// #... 1462 -// #... 1463 -// #... 1464 -// #... 1465 -// #endif 1466 - 1467 -struct _HD_TEXTFILTERA { 1468 - LPSTR pszText; 1469 - INT cchTextMax; 1470 -} 1471 -alias _HD_TEXTFILTERA HD_TEXTFILTERA; 1472 -alias _HD_TEXTFILTERA* LPHD_TEXTFILTERA; 1473 - 1474 -struct _HD_TEXTFILTERW { 1475 - LPWSTR pszText; 1476 - INT cchTextMax; 1477 -} 1478 -alias _HD_TEXTFILTERW HD_TEXTFILTERW; 1479 -alias _HD_TEXTFILTERW* LPHD_TEXTFILTERW; 1480 - 1481 -// #endif // _WIN32_IE >= 0x0500 1482 - 1483 -// #if (_WIN32_IE >= 0x0300) 1484 -alias HDITEMA HD_ITEMA; 1485 -alias HDITEMW HD_ITEMW; 1486 -// #else 1487 -// #... 1488 -// #... 1489 -// #endif 1490 -alias HDITEM HD_ITEM; 1491 - 1492 -struct _HD_ITEMA { 1493 - UINT mask; 1494 - int cxy; 1495 - LPSTR pszText; 1496 - HBITMAP hbm; 1497 - int cchTextMax; 1498 - int fmt; 1499 - LPARAM lParam; 1500 -// #if (_WIN32_IE >= 0x0300) 1501 - int iImage; 1502 - int iOrder; 1503 -// #endif 1504 -// #if (_WIN32_IE >= 0x0500) 1505 - UINT type; 1506 - void * pvFilter; 1507 -// #endif 1508 -} 1509 -alias _HD_ITEMA HDITEMA; 1510 -alias _HD_ITEMA* LPHDITEMA; 1511 - 1512 -// #define HDITEMA_V1_SIZE CCSIZEOF_STRUCT(HDITEMA, lParam) 1513 -// #define HDITEMW_V1_SIZE CCSIZEOF_STRUCT(HDITEMW, lParam) 1514 - 1515 -struct _HD_ITEMW { 1516 - UINT mask; 1517 - int cxy; 1518 - LPWSTR pszText; 1519 - HBITMAP hbm; 1520 - int cchTextMax; 1521 - int fmt; 1522 - LPARAM lParam; 1523 -// #if (_WIN32_IE >= 0x0300) 1524 - int iImage; 1525 - int iOrder; 1526 -// #endif 1527 -// #if (_WIN32_IE >= 0x0500) 1528 - UINT type; 1529 - void * pvFilter; 1530 -// #endif 1531 -} 1532 -alias _HD_ITEMW HDITEMW; 1533 -alias _HD_ITEMW* LPHDITEMW; 1534 - 1535 -// #ifdef UNICODE 1536 -alias HDITEMW HDITEM; 1537 -alias LPHDITEMW LPHDITEM; 1538 -// #define HDITEM_V1_SIZE HDITEMW_V1_SIZE 1539 -// #else 1540 -// #... 1541 -// #... 1542 -// #... 1543 -// #endif 1544 - 1545 -enum : uint { HDI_WIDTH = 0x0001 } 1546 -alias HDI_WIDTH HDI_HEIGHT; 1547 -enum : uint { HDI_TEXT = 0x0002 } 1548 -enum : uint { HDI_FORMAT = 0x0004 } 1549 -enum : uint { HDI_LPARAM = 0x0008 } 1550 -enum : uint { HDI_BITMAP = 0x0010 } 1551 -// #if (_WIN32_IE >= 0x0300) 1552 -enum : uint { HDI_IMAGE = 0x0020 } 1553 -enum : uint { HDI_DI_SETITEM = 0x0040 } 1554 -enum : uint { HDI_ORDER = 0x0080 } 1555 -// #endif 1556 -// #if (_WIN32_IE >= 0x0500) 1557 -enum : uint { HDI_FILTER = 0x0100 } 1558 -// #endif 1559 - 1560 -enum : uint { HDF_LEFT = 0x0000 } 1561 -enum : uint { HDF_RIGHT = 0x0001 } 1562 -enum : uint { HDF_CENTER = 0x0002 } 1563 -enum : uint { HDF_JUSTIFYMASK = 0x0003 } 1564 -enum : uint { HDF_RTLREADING = 0x0004 } 1565 - 1566 -enum : uint { HDF_OWNERDRAW = 0x8000 } 1567 -enum : uint { HDF_STRING = 0x4000 } 1568 -enum : uint { HDF_BITMAP = 0x2000 } 1569 -// #if (_WIN32_IE >= 0x0300) 1570 -enum : uint { HDF_BITMAP_ON_RIGHT = 0x1000 } 1571 -enum : uint { HDF_IMAGE = 0x0800 } 1572 -// #endif 1573 - 1574 -// #if (_WIN32_WINNT >= 0x501) 1575 -enum : uint { HDF_SORTUP = 0x0400 } 1576 -enum : uint { HDF_SORTDOWN = 0x0200 } 1577 -// #endif 1578 - 1579 -enum : uint { HDM_GETITEMCOUNT = HDM_FIRST + 0 } 1580 -// #define Header_GetItemCount(hwndHD) (int)SNDMSG((hwndHD), HDM_GETITEMCOUNT, 0, 0L) 1581 - 1582 -enum : uint { HDM_INSERTITEMA = HDM_FIRST + 1 } 1583 -enum : uint { HDM_INSERTITEMW = HDM_FIRST + 10 } 1584 - 1585 -// #ifdef UNICODE 1586 -alias HDM_INSERTITEMW HDM_INSERTITEM; 1587 -// #else 1588 -// #... 1589 -// #endif 1590 - 1591 -// #define Header_InsertItem(hwndHD, i, phdi) (int)SNDMSG((hwndHD), HDM_INSERTITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi)) 1592 - 1593 -enum : uint { HDM_DELETEITEM = HDM_FIRST + 2 } 1594 -// #define Header_DeleteItem(hwndHD, i) (BOOL)SNDMSG((hwndHD), HDM_DELETEITEM, (WPARAM)(int)(i), 0L) 1595 - 1596 -enum : uint { HDM_GETITEMA = HDM_FIRST + 3 } 1597 -enum : uint { HDM_GETITEMW = HDM_FIRST + 11 } 1598 - 1599 -// #ifdef UNICODE 1600 -alias HDM_GETITEMW HDM_GETITEM; 1601 -// #else 1602 -// #... 1603 -// #endif 1604 - 1605 -// #define Header_GetItem(hwndHD, i, phdi) (BOOL)SNDMSG((hwndHD), HDM_GETITEM, (WPARAM)(int)(i), (LPARAM)(HD_ITEM *)(phdi)) 1606 - 1607 -enum : uint { HDM_SETITEMA = HDM_FIRST + 4 } 1608 -enum : uint { HDM_SETITEMW = HDM_FIRST + 12 } 1609 - 1610 -// #ifdef UNICODE 1611 -alias HDM_SETITEMW HDM_SETITEM; 1612 -// #else 1613 -// #... 1614 -// #endif 1615 - 1616 -// #define Header_SetItem(hwndHD, i, phdi) (BOOL)SNDMSG((hwndHD), HDM_SETITEM, (WPARAM)(int)(i), (LPARAM)(const HD_ITEM *)(phdi)) 1617 - 1618 -// #if (_WIN32_IE >= 0x0300) 1619 -alias HDLAYOUT HD_LAYOUT; 1620 -// #else 1621 -// #... 1622 -// #endif 1623 - 1624 -struct _HD_LAYOUT { 1625 - RECT *prc; 1626 - WINDOWPOS *pwpos; 1627 -} 1628 -alias _HD_LAYOUT HDLAYOUT; 1629 -alias _HD_LAYOUT* LPHDLAYOUT; 1630 - 1631 -enum : uint { HDM_LAYOUT = HDM_FIRST + 5 } 1632 -// #define Header_Layout(hwndHD, playout) (BOOL)SNDMSG((hwndHD), HDM_LAYOUT, 0, (LPARAM)(HD_LAYOUT *)(playout)) 1633 - 1634 -enum : uint { HHT_NOWHERE = 0x0001 } 1635 -enum : uint { HHT_ONHEADER = 0x0002 } 1636 -enum : uint { HHT_ONDIVIDER = 0x0004 } 1637 -enum : uint { HHT_ONDIVOPEN = 0x0008 } 1638 -// #if (_WIN32_IE >= 0x0500) 1639 -enum : uint { HHT_ONFILTER = 0x0010 } 1640 -enum : uint { HHT_ONFILTERBUTTON = 0x0020 } 1641 -// #endif 1642 -enum : uint { HHT_ABOVE = 0x0100 } 1643 -enum : uint { HHT_BELOW = 0x0200 } 1644 -enum : uint { HHT_TORIGHT = 0x0400 } 1645 -enum : uint { HHT_TOLEFT = 0x0800 } 1646 - 1647 -// #if (_WIN32_IE >= 0x0300) 1648 -alias HDHITTESTINFO HD_HITTESTINFO; 1649 -// #else 1650 -// #... 1651 -// #endif 1652 - 1653 -struct _HD_HITTESTINFO { 1654 - POINT pt; 1655 - UINT flags; 1656 - int iItem; 1657 -} 1658 -alias _HD_HITTESTINFO HDHITTESTINFO; 1659 -alias _HD_HITTESTINFO* LPHDHITTESTINFO; 1660 - 1661 -enum : uint { HDM_HITTEST = HDM_FIRST + 6 } 1662 - 1663 -// #if (_WIN32_IE >= 0x0300) 1664 - 1665 -enum : uint { HDM_GETITEMRECT = HDM_FIRST + 7 } 1666 -// #define Header_GetItemRect(hwnd, iItem, lprc) (BOOL)SNDMSG((hwnd), HDM_GETITEMRECT, (WPARAM)(iItem), (LPARAM)(lprc)) 1667 - 1668 -enum : uint { HDM_SETIMAGELIST = HDM_FIRST + 8 } 1669 -// #define Header_SetImageList(hwnd, himl) (HIMAGELIST)SNDMSG((hwnd), HDM_SETIMAGELIST, 0, (LPARAM)(himl)) 1670 - 1671 -enum : uint { HDM_GETIMAGELIST = HDM_FIRST + 9 } 1672 -// #define Header_GetImageList(hwnd) (HIMAGELIST)SNDMSG((hwnd), HDM_GETIMAGELIST, 0, 0) 1673 - 1674 -enum : uint { HDM_ORDERTOINDEX = HDM_FIRST + 15 } 1675 -// #define Header_OrderToIndex(hwnd, i) (int)SNDMSG((hwnd), HDM_ORDERTOINDEX, (WPARAM)(i), 0) 1676 - 1677 -enum : uint { HDM_CREATEDRAGIMAGE = HDM_FIRST + 16 } 1678 -// #define Header_CreateDragImage(hwnd, i) (HIMAGELIST)SNDMSG((hwnd), HDM_CREATEDRAGIMAGE, (WPARAM)(i), 0) 1679 - 1680 -enum : uint { HDM_GETORDERARRAY = HDM_FIRST + 17 } 1681 -// #define Header_GetOrderArray(hwnd, iCount, lpi) (BOOL)SNDMSG((hwnd), HDM_GETORDERARRAY, (WPARAM)(iCount), (LPARAM)(lpi)) 1682 - 1683 -enum : uint { HDM_SETORDERARRAY = HDM_FIRST + 18 } 1684 -// #define Header_SetOrderArray(hwnd, iCount, lpi) (BOOL)SNDMSG((hwnd), HDM_SETORDERARRAY, (WPARAM)(iCount), (LPARAM)(lpi)) 1685 - 1686 -enum : uint { HDM_SETHOTDIVIDER = HDM_FIRST + 19 } 1687 -// #define Header_SetHotDivider(hwnd, fPos, dw) (int)SNDMSG((hwnd), HDM_SETHOTDIVIDER, (WPARAM)(fPos), (LPARAM)(dw)) 1688 - 1689 -// #endif // _WIN32_IE >= 0x0300 1690 - 1691 -// #if (_WIN32_IE >= 0x0500) 1692 - 1693 -enum : uint { HDM_SETBITMAPMARGIN = HDM_FIRST + 20 } 1694 -// #define Header_SetBitmapMargin(hwnd, iWidth) (int)SNDMSG((hwnd), HDM_SETBITMAPMARGIN, (WPARAM)(iWidth), 0) 1695 - 1696 -enum : uint { HDM_GETBITMAPMARGIN = HDM_FIRST + 21 } 1697 -// #define Header_GetBitmapMargin(hwnd) (int)SNDMSG((hwnd), HDM_GETBITMAPMARGIN, 0, 0) 1698 -// #endif 1699 - 1700 -// #if (_WIN32_IE >= 0x0400) 1701 -alias CCM_SETUNICODEFORMAT HDM_SETUNICODEFORMAT; 1702 -// #define Header_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), HDM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 1703 - 1704 -alias CCM_GETUNICODEFORMAT HDM_GETUNICODEFORMAT; 1705 -// #define Header_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), HDM_GETUNICODEFORMAT, 0, 0) 1706 -// #endif 1707 - 1708 -// #if (_WIN32_IE >= 0x0500) 1709 -enum : uint { HDM_SETFILTERCHANGETIMEOUT = HDM_FIRST+22 } 1710 -// #define Header_SetFilterChangeTimeout(hwnd, i) (int)SNDMSG((hwnd), HDM_SETFILTERCHANGETIMEOUT, 0, (LPARAM)(i)) 1711 - 1712 -enum : uint { HDM_EDITFILTER = HDM_FIRST+23 } 1713 -// #define Header_EditFilter(hwnd, i, fDiscardChanges) (int)SNDMSG((hwnd), HDM_EDITFILTER, (WPARAM)(i), MAKELPARAM(fDiscardChanges, 0)) 1714 - 1715 -enum : uint { HDM_CLEARFILTER = HDM_FIRST+24 } 1716 -// #define Header_ClearFilter(hwnd, i) (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)(i), 0) 1717 -// #define Header_ClearAllFilters(hwnd) (int)SNDMSG((hwnd), HDM_CLEARFILTER, (WPARAM)-1, 0) 1718 -// #endif 1719 - 1720 -enum : uint { HDN_ITEMCHANGINGA = HDN_FIRST-0 } 1721 -enum : uint { HDN_ITEMCHANGINGW = HDN_FIRST-20 } 1722 -enum : uint { HDN_ITEMCHANGEDA = HDN_FIRST-1 } 1723 -enum : uint { HDN_ITEMCHANGEDW = HDN_FIRST-21 } 1724 -enum : uint { HDN_ITEMCLICKA = HDN_FIRST-2 } 1725 -enum : uint { HDN_ITEMCLICKW = HDN_FIRST-22 } 1726 -enum : uint { HDN_ITEMDBLCLICKA = HDN_FIRST-3 } 1727 -enum : uint { HDN_ITEMDBLCLICKW = HDN_FIRST-23 } 1728 -enum : uint { HDN_DIVIDERDBLCLICKA = HDN_FIRST-5 } 1729 -enum : uint { HDN_DIVIDERDBLCLICKW = HDN_FIRST-25 } 1730 -enum : uint { HDN_BEGINTRACKA = HDN_FIRST-6 } 1731 -enum : uint { HDN_BEGINTRACKW = HDN_FIRST-26 } 1732 -enum : uint { HDN_ENDTRACKA = HDN_FIRST-7 } 1733 -enum : uint { HDN_ENDTRACKW = HDN_FIRST-27 } 1734 -enum : uint { HDN_TRACKA = HDN_FIRST-8 } 1735 -enum : uint { HDN_TRACKW = HDN_FIRST-28 } 1736 -// #if (_WIN32_IE >= 0x0300) 1737 -enum : uint { HDN_GETDISPINFOA = HDN_FIRST-9 } 1738 -enum : uint { HDN_GETDISPINFOW = HDN_FIRST-29 } 1739 -enum : uint { HDN_BEGINDRAG = HDN_FIRST-10 } 1740 -enum : uint { HDN_ENDDRAG = HDN_FIRST-11 } 1741 -// #endif 1742 -// #if (_WIN32_IE >= 0x0500) 1743 -enum : uint { HDN_FILTERCHANGE = HDN_FIRST-12 } 1744 -enum : uint { HDN_FILTERBTNCLICK = HDN_FIRST-13 } 1745 -// #endif 1746 - 1747 -// #ifdef UNICODE 1748 -alias HDN_ITEMCHANGINGW HDN_ITEMCHANGING; 1749 -alias HDN_ITEMCHANGEDW HDN_ITEMCHANGED; 1750 -alias HDN_ITEMCLICKW HDN_ITEMCLICK; 1751 -alias HDN_ITEMDBLCLICKW HDN_ITEMDBLCLICK; 1752 -alias HDN_DIVIDERDBLCLICKW HDN_DIVIDERDBLCLICK; 1753 -alias HDN_BEGINTRACKW HDN_BEGINTRACK; 1754 -alias HDN_ENDTRACKW HDN_ENDTRACK; 1755 -alias HDN_TRACKW HDN_TRACK; 1756 -// #if (_WIN32_IE >= 0x0300) 1757 -alias HDN_GETDISPINFOW HDN_GETDISPINFO; 1758 -// #endif 1759 -// #else 1760 -// #... 1761 -// #... 1762 -// #... 1763 -// #... 1764 -// #... 1765 -// #... 1766 -// #... 1767 -// #... 1768 -// #if (_WIN32_IE >= 0x0300) 1769 -// #... 1770 -// #endif 1771 -// #endif 1772 - 1773 -// #if (_WIN32_IE >= 0x0300) 1774 -alias NMHEADERA HD_NOTIFYA; 1775 -alias NMHEADERW HD_NOTIFYW; 1776 -// #else 1777 -// #... 1778 -// #... 1779 -// #... 1780 -// #... 1781 -// #endif 1782 -alias NMHEADER HD_NOTIFY; 1783 - 1784 -struct tagNMHEADERA { 1785 - NMHDR hdr; 1786 - int iItem; 1787 - int iButton; 1788 - HDITEMA *pitem; 1789 -} 1790 -alias tagNMHEADERA NMHEADERA; 1791 -alias tagNMHEADERA* LPNMHEADERA; 1792 - 1793 -struct tagNMHEADERW { 1794 - NMHDR hdr; 1795 - int iItem; 1796 - int iButton; 1797 - HDITEMW *pitem; 1798 -} 1799 -alias tagNMHEADERW NMHEADERW; 1800 -alias tagNMHEADERW* LPNMHEADERW; 1801 - 1802 -// #ifdef UNICODE 1803 -alias NMHEADERW NMHEADER; 1804 -alias LPNMHEADERW LPNMHEADER; 1805 -// #else 1806 -// #... 1807 -// #... 1808 -// #endif 1809 - 1810 -struct tagNMHDDISPINFOW { 1811 - NMHDR hdr; 1812 - int iItem; 1813 - UINT mask; 1814 - LPWSTR pszText; 1815 - int cchTextMax; 1816 - int iImage; 1817 - LPARAM lParam; 1818 -} 1819 -alias tagNMHDDISPINFOW NMHDDISPINFOW; 1820 -alias tagNMHDDISPINFOW* LPNMHDDISPINFOW; 1821 - 1822 -struct tagNMHDDISPINFOA { 1823 - NMHDR hdr; 1824 - int iItem; 1825 - UINT mask; 1826 - LPSTR pszText; 1827 - int cchTextMax; 1828 - int iImage; 1829 - LPARAM lParam; 1830 -} 1831 -alias tagNMHDDISPINFOA NMHDDISPINFOA; 1832 -alias tagNMHDDISPINFOA* LPNMHDDISPINFOA; 1833 - 1834 -// #ifdef UNICODE 1835 -alias NMHDDISPINFOW NMHDDISPINFO; 1836 -alias LPNMHDDISPINFOW LPNMHDDISPINFO; 1837 -// #else 1838 -// #... 1839 -// #... 1840 -// #endif 1841 - 1842 -// #if (_WIN32_IE >= 0x0500) 1843 -struct tagNMHDFILTERBTNCLICK { 1844 - NMHDR hdr; 1845 - INT iItem; 1846 - RECT rc; 1847 -} 1848 -alias tagNMHDFILTERBTNCLICK NMHDFILTERBTNCLICK; 1849 -alias tagNMHDFILTERBTNCLICK* LPNMHDFILTERBTNCLICK; 1850 - 1851 -// #endif 1852 - 1853 -// #endif // NOHEADER 1854 - 1855 -// #ifndef NOTOOLBAR 1856 - 1857 -// #ifdef _WIN32 1858 -const wchar[] TOOLBARCLASSNAMEW = "ToolbarWindow32"; 1859 -const char[] TOOLBARCLASSNAMEA = "ToolbarWindow32"; 1860 - 1861 -// #ifdef UNICODE 1862 -alias TOOLBARCLASSNAMEW TOOLBARCLASSNAME; 1863 -// #else 1864 -// #... 1865 -// #endif 1866 - 1867 -// #else 1868 -// #... 1869 -// #endif 1870 - 1871 -struct _TBBUTTON { 1872 - int iBitmap; 1873 - int idCommand; 1874 - BYTE fsState; 1875 - BYTE fsStyle; 1876 -// #ifdef _WIN64 1877 -// ... 1878 -// #elif defined(_WIN32) 1879 - BYTE bReserved[2]; 1880 -// #endif 1881 - DWORD_PTR dwData; 1882 - INT_PTR iString; 1883 -} 1884 -alias _TBBUTTON TBBUTTON; 1885 -alias _TBBUTTON* PTBBUTTON; 1886 -alias _TBBUTTON* LPTBBUTTON; 1887 - 1888 -alias TBBUTTON* LPCTBBUTTON; 1889 - 1890 -struct _COLORMAP { 1891 - COLORREF from; 1892 - COLORREF to; 1893 -} 1894 -alias _COLORMAP COLORMAP; 1895 -alias _COLORMAP* LPCOLORMAP; 1896 - 1897 -extern(Windows) export HWND CreateToolbarEx(HWND hwnd, DWORD ws, UINT wID, int nBitmaps, 1898 - HINSTANCE hBMInst, UINT_PTR wBMID, LPCTBBUTTON lpButtons, 1899 - int iNumButtons, int dxButton, int dyButton, 1900 - int dxBitmap, int dyBitmap, UINT uStructSize); 1901 - 1902 -extern(Windows) export HBITMAP CreateMappedBitmap(HINSTANCE hInstance, INT_PTR idBitmap, 1903 - UINT wFlags, LPCOLORMAP lpColorMap, 1904 - int iNumMaps); 1905 - 1906 -enum : uint { CMB_MASKED = 0x02 } 1907 -enum : uint { TBSTATE_CHECKED = 0x01 } 1908 -enum : uint { TBSTATE_PRESSED = 0x02 } 1909 -enum : uint { TBSTATE_ENABLED = 0x04 } 1910 -enum : uint { TBSTATE_HIDDEN = 0x08 } 1911 -enum : uint { TBSTATE_INDETERMINATE = 0x10 } 1912 -enum : uint { TBSTATE_WRAP = 0x20 } 1913 -// #if (_WIN32_IE >= 0x0300) 1914 -enum : uint { TBSTATE_ELLIPSES = 0x40 } 1915 -// #endif 1916 -// #if (_WIN32_IE >= 0x0400) 1917 -enum : uint { TBSTATE_MARKED = 0x80 } 1918 -// #endif 1919 - 1920 -enum : uint { TBSTYLE_BUTTON = 0x0000 } 1921 -enum : uint { TBSTYLE_SEP = 0x0001 } 1922 -enum : uint { TBSTYLE_CHECK = 0x0002 } 1923 -enum : uint { TBSTYLE_GROUP = 0x0004 } 1924 -enum : uint { TBSTYLE_CHECKGROUP = TBSTYLE_GROUP | TBSTYLE_CHECK } 1925 -// #if (_WIN32_IE >= 0x0300) 1926 -enum : uint { TBSTYLE_DROPDOWN = 0x0008 } 1927 -// #endif 1928 -// #if (_WIN32_IE >= 0x0400) 1929 -enum : uint { TBSTYLE_AUTOSIZE = 0x0010 } 1930 -enum : uint { TBSTYLE_NOPREFIX = 0x0020 } 1931 -// #endif 1932 - 1933 -enum : uint { TBSTYLE_TOOLTIPS = 0x0100 } 1934 -enum : uint { TBSTYLE_WRAPABLE = 0x0200 } 1935 -enum : uint { TBSTYLE_ALTDRAG = 0x0400 } 1936 -// #if (_WIN32_IE >= 0x0300) 1937 -enum : uint { TBSTYLE_FLAT = 0x0800 } 1938 -enum : uint { TBSTYLE_LIST = 0x1000 } 1939 -enum : uint { TBSTYLE_CUSTOMERASE = 0x2000 } 1940 -// #endif 1941 -// #if (_WIN32_IE >= 0x0400) 1942 -enum : uint { TBSTYLE_REGISTERDROP = 0x4000 } 1943 -enum : uint { TBSTYLE_TRANSPARENT = 0x8000 } 1944 -enum : uint { TBSTYLE_EX_DRAWDDARROWS = 0x00000001 } 1945 -// #endif 1946 - 1947 -// #if (_WIN32_IE >= 0x0500) 1948 -alias TBSTYLE_BUTTON BTNS_BUTTON; 1949 -alias TBSTYLE_SEP BTNS_SEP; 1950 -alias TBSTYLE_CHECK BTNS_CHECK; 1951 -alias TBSTYLE_GROUP BTNS_GROUP; 1952 -alias TBSTYLE_CHECKGROUP BTNS_CHECKGROUP; 1953 -alias TBSTYLE_DROPDOWN BTNS_DROPDOWN; 1954 -alias TBSTYLE_AUTOSIZE BTNS_AUTOSIZE; 1955 -alias TBSTYLE_NOPREFIX BTNS_NOPREFIX; 1956 -// #if (_WIN32_IE >= 0x0501) 1957 -enum : uint { BTNS_SHOWTEXT = 0x0040 } 1958 -// #endif // 0x0501 1959 -enum : uint { BTNS_WHOLEDROPDOWN = 0x0080 } 1960 -// #endif 1961 - 1962 -// #if (_WIN32_IE >= 0x0501) 1963 -enum : uint { TBSTYLE_EX_MIXEDBUTTONS = 0x00000008 } 1964 -enum : uint { TBSTYLE_EX_HIDECLIPPEDBUTTONS = 0x00000010 } 1965 -// #endif // 0x0501 1966 - 1967 -// #if (_WIN32_WINNT >= 0x501) 1968 -enum : uint { TBSTYLE_EX_DOUBLEBUFFER = 0x00000080 } 1969 -// #endif 1970 - 1971 -// #if (_WIN32_IE >= 0x0400) 1972 - 1973 -struct _NMTBCUSTOMDRAW { 1974 - NMCUSTOMDRAW nmcd; 1975 - HBRUSH hbrMonoDither; 1976 - HBRUSH hbrLines; 1977 - HPEN hpenLines; 1978 - 1979 - COLORREF clrText; 1980 - COLORREF clrMark; 1981 - COLORREF clrTextHighlight; 1982 - COLORREF clrBtnFace; 1983 - COLORREF clrBtnHighlight; 1984 - COLORREF clrHighlightHotTrack; 1985 - 1986 - RECT rcText; 1987 - 1988 - int nStringBkMode; 1989 - int nHLStringBkMode; 1990 -// #if (_WIN32_WINNT >= 0x501) 1991 - int iListGap; 1992 -// #endif 1993 -} 1994 -alias _NMTBCUSTOMDRAW NMTBCUSTOMDRAW; 1995 -alias _NMTBCUSTOMDRAW* LPNMTBCUSTOMDRAW; 1996 - 1997 -enum : uint { TBCDRF_NOEDGES = 0x00010000 } 1998 -enum : uint { TBCDRF_HILITEHOTTRACK = 0x00020000 } 1999 -enum : uint { TBCDRF_NOOFFSET = 0x00040000 } 2000 -enum : uint { TBCDRF_NOMARK = 0x00080000 } 2001 -enum : uint { TBCDRF_NOETCHEDEFFECT = 0x00100000 } 2002 -// #endif 2003 - 2004 -// #if (_WIN32_IE >= 0x0500) 2005 -enum : uint { TBCDRF_BLENDICON = 0x00200000 } 2006 -enum : uint { TBCDRF_NOBACKGROUND = 0x00400000 } 2007 -// #endif 2008 - 2009 -enum : uint { TB_ENABLEBUTTON = WM_USER + 1 } 2010 -enum : uint { TB_CHECKBUTTON = WM_USER + 2 } 2011 -enum : uint { TB_PRESSBUTTON = WM_USER + 3 } 2012 -enum : uint { TB_HIDEBUTTON = WM_USER + 4 } 2013 -enum : uint { TB_INDETERMINATE = WM_USER + 5 } 2014 -// #if (_WIN32_IE >= 0x0400) 2015 -enum : uint { TB_MARKBUTTON = WM_USER + 6 } 2016 -// #endif 2017 -enum : uint { TB_ISBUTTONENABLED = WM_USER + 9 } 2018 -enum : uint { TB_ISBUTTONCHECKED = WM_USER + 10 } 2019 -enum : uint { TB_ISBUTTONPRESSED = WM_USER + 11 } 2020 -enum : uint { TB_ISBUTTONHIDDEN = WM_USER + 12 } 2021 -enum : uint { TB_ISBUTTONINDETERMINATE = WM_USER + 13 } 2022 -// #if (_WIN32_IE >= 0x0400) 2023 -enum : uint { TB_ISBUTTONHIGHLIGHTED = WM_USER + 14 } 2024 -// #endif 2025 -enum : uint { TB_SETSTATE = WM_USER + 17 } 2026 -enum : uint { TB_GETSTATE = WM_USER + 18 } 2027 -enum : uint { TB_ADDBITMAP = WM_USER + 19 } 2028 - 2029 -// #ifdef _WIN32 2030 -struct tagTBADDBITMAP { 2031 - HINSTANCE hInst; 2032 - UINT_PTR nID; 2033 -} 2034 -alias tagTBADDBITMAP TBADDBITMAP; 2035 -alias tagTBADDBITMAP* LPTBADDBITMAP; 2036 - 2037 -HINSTANCE HINST_COMMCTRL = cast(HINSTANCE)(-1); 2038 -enum : uint { IDB_STD_SMALL_COLOR = 0 } 2039 -enum : uint { IDB_STD_LARGE_COLOR = 1 } 2040 -enum : uint { IDB_VIEW_SMALL_COLOR = 4 } 2041 -enum : uint { IDB_VIEW_LARGE_COLOR = 5 } 2042 -// #if (_WIN32_IE >= 0x0300) 2043 -enum : uint { IDB_HIST_SMALL_COLOR = 8 } 2044 -enum : uint { IDB_HIST_LARGE_COLOR = 9 } 2045 -// #endif 2046 - 2047 -enum : uint { STD_CUT = 0 } 2048 -enum : uint { STD_COPY = 1 } 2049 -enum : uint { STD_PASTE = 2 } 2050 -enum : uint { STD_UNDO = 3 } 2051 -enum : uint { STD_REDOW = 4 } 2052 -enum : uint { STD_DELETE = 5 } 2053 -enum : uint { STD_FILENEW = 6 } 2054 -enum : uint { STD_FILEOPEN = 7 } 2055 -enum : uint { STD_FILESAVE = 8 } 2056 -enum : uint { STD_PRINTPRE = 9 } 2057 -enum : uint { STD_PROPERTIES = 10 } 2058 -enum : uint { STD_HELP = 11 } 2059 -enum : uint { STD_FIND = 12 } 2060 -enum : uint { STD_REPLACE = 13 } 2061 -enum : uint { STD_PRINT = 14 } 2062 - 2063 -enum : uint { VIEW_LARGEICONS = 0 } 2064 -enum : uint { VIEW_SMALLICONS = 1 } 2065 -enum : uint { VIEW_LIST = 2 } 2066 -enum : uint { VIEW_DETAILS = 3 } 2067 -enum : uint { VIEW_SORTNAME = 4 } 2068 -enum : uint { VIEW_SORTSIZE = 5 } 2069 -enum : uint { VIEW_SORTDATE = 6 } 2070 -enum : uint { VIEW_SORTTYPE = 7 } 2071 -enum : uint { VIEW_PARENTFOLDER = 8 } 2072 -enum : uint { VIEW_NETCONNECT = 9 } 2073 -enum : uint { VIEW_NETDISCONNECT = 10 } 2074 -enum : uint { VIEW_NEWFOLDER = 11 } 2075 -// #if (_WIN32_IE >= 0x0400) 2076 -enum : uint { VIEW_VIEWMENU = 12 } 2077 -// #endif 2078 - 2079 -// #if (_WIN32_IE >= 0x0300) 2080 -enum : uint { HIST_BACK = 0 } 2081 -enum : uint { HIST_FORWARD = 1 } 2082 -enum : uint { HIST_FAVORITES = 2 } 2083 -enum : uint { HIST_ADDTOFAVORITES = 3 } 2084 -enum : uint { HIST_VIEWTREE = 4 } 2085 -// #endif 2086 - 2087 -// #endif 2088 - 2089 -// #if (_WIN32_IE >= 0x0400) 2090 -enum : uint { TB_ADDBUTTONSA = WM_USER + 20 } 2091 -enum : uint { TB_INSERTBUTTONA = WM_USER + 21 } 2092 -// #else 2093 -// #... 2094 -// #... 2095 -// #endif 2096 - 2097 -enum : uint { TB_DELETEBUTTON = WM_USER + 22 } 2098 -enum : uint { TB_GETBUTTON = WM_USER + 23 } 2099 -enum : uint { TB_BUTTONCOUNT = WM_USER + 24 } 2100 -enum : uint { TB_COMMANDTOINDEX = WM_USER + 25 } 2101 - 2102 -// #ifdef _WIN32 2103 - 2104 -struct tagTBSAVEPARAMSA { 2105 - HKEY hkr; 2106 - LPCSTR pszSubKey; 2107 - LPCSTR pszValueName; 2108 -} 2109 -alias tagTBSAVEPARAMSA TBSAVEPARAMSA; 2110 -alias tagTBSAVEPARAMSA* LPTBSAVEPARAMSA; 2111 - 2112 -struct tagTBSAVEPARAMSW { 2113 - HKEY hkr; 2114 - LPCWSTR pszSubKey; 2115 - LPCWSTR pszValueName; 2116 -} 2117 -alias tagTBSAVEPARAMSW TBSAVEPARAMSW; 2118 -alias tagTBSAVEPARAMSW* LPTBSAVEPARAMW; 2119 - 2120 -// #ifdef UNICODE 2121 -alias TBSAVEPARAMSW TBSAVEPARAMS; 2122 -alias LPTBSAVEPARAMSW LPTBSAVEPARAMS; 2123 -// #else 2124 -// #... 2125 -// #... 2126 -// #endif 2127 - 2128 -// #endif // _WIN32 2129 - 2130 -enum : uint { TB_SAVERESTOREA = WM_USER + 26 } 2131 -enum : uint { TB_SAVERESTOREW = WM_USER + 76 } 2132 -enum : uint { TB_CUSTOMIZE = WM_USER + 27 } 2133 -enum : uint { TB_ADDSTRINGA = WM_USER + 28 } 2134 -enum : uint { TB_ADDSTRINGW = WM_USER + 77 } 2135 -enum : uint { TB_GETITEMRECT = WM_USER + 29 } 2136 -enum : uint { TB_BUTTONSTRUCTSIZE = WM_USER + 30 } 2137 -enum : uint { TB_SETBUTTONSIZE = WM_USER + 31 } 2138 -enum : uint { TB_SETBITMAPSIZE = WM_USER + 32 } 2139 -enum : uint { TB_AUTOSIZE = WM_USER + 33 } 2140 -enum : uint { TB_GETTOOLTIPS = WM_USER + 35 } 2141 -enum : uint { TB_SETTOOLTIPS = WM_USER + 36 } 2142 -enum : uint { TB_SETPARENT = WM_USER + 37 } 2143 -enum : uint { TB_SETROWS = WM_USER + 39 } 2144 -enum : uint { TB_GETROWS = WM_USER + 40 } 2145 -enum : uint { TB_SETCMDID = WM_USER + 42 } 2146 -enum : uint { TB_CHANGEBITMAP = WM_USER + 43 } 2147 -enum : uint { TB_GETBITMAP = WM_USER + 44 } 2148 -enum : uint { TB_GETBUTTONTEXTA = WM_USER + 45 } 2149 -enum : uint { TB_GETBUTTONTEXTW = WM_USER + 75 } 2150 -enum : uint { TB_REPLACEBITMAP = WM_USER + 46 } 2151 -// #if (_WIN32_IE >= 0x0300) 2152 -enum : uint { TB_SETINDENT = WM_USER + 47 } 2153 -enum : uint { TB_SETIMAGELIST = WM_USER + 48 } 2154 -enum : uint { TB_GETIMAGELIST = WM_USER + 49 } 2155 -enum : uint { TB_LOADIMAGES = WM_USER + 50 } 2156 -enum : uint { TB_GETRECT = WM_USER + 51 } 2157 -enum : uint { TB_SETHOTIMAGELIST = WM_USER + 52 } 2158 -enum : uint { TB_GETHOTIMAGELIST = WM_USER + 53 } 2159 -enum : uint { TB_SETDISABLEDIMAGELIST = WM_USER + 54 } 2160 -enum : uint { TB_GETDISABLEDIMAGELIST = WM_USER + 55 } 2161 -enum : uint { TB_SETSTYLE = WM_USER + 56 } 2162 -enum : uint { TB_GETSTYLE = WM_USER + 57 } 2163 -enum : uint { TB_GETBUTTONSIZE = WM_USER + 58 } 2164 -enum : uint { TB_SETBUTTONWIDTH = WM_USER + 59 } 2165 -enum : uint { TB_SETMAXTEXTROWS = WM_USER + 60 } 2166 -enum : uint { TB_GETTEXTROWS = WM_USER + 61 } 2167 -// #endif // _WIN32_IE >= 0x0300 2168 - 2169 -// #ifdef UNICODE 2170 -alias TB_GETBUTTONTEXTW TB_GETBUTTONTEXT; 2171 -alias TB_SAVERESTOREW TB_SAVERESTORE; 2172 -alias TB_ADDSTRINGW TB_ADDSTRING; 2173 -// #else 2174 -// #... 2175 -// #... 2176 -// #... 2177 -// #endif 2178 -// #if (_WIN32_IE >= 0x0400) 2179 -enum : uint { TB_GETOBJECT = WM_USER + 62 } 2180 -enum : uint { TB_GETHOTITEM = WM_USER + 71 } 2181 -enum : uint { TB_SETHOTITEM = WM_USER + 72 } 2182 -enum : uint { TB_SETANCHORHIGHLIGHT = WM_USER + 73 } 2183 -enum : uint { TB_GETANCHORHIGHLIGHT = WM_USER + 74 } 2184 -enum : uint { TB_MAPACCELERATORA = WM_USER + 78 } 2185 - 2186 -struct _0 { 2187 - int iButton; 2188 - DWORD dwFlags; 2189 -} 2190 -alias _0 TBINSERTMARK; 2191 -alias _0* LPTBINSERTMARK; 2192 - 2193 -enum : uint { TBIMHT_AFTER = 0x00000001 } 2194 -enum : uint { TBIMHT_BACKGROUND = 0x00000002 } 2195 - 2196 -enum : uint { TB_GETINSERTMARK = WM_USER + 79 } 2197 -enum : uint { TB_SETINSERTMARK = WM_USER + 80 } 2198 -enum : uint { TB_INSERTMARKHITTEST = WM_USER + 81 } 2199 -enum : uint { TB_MOVEBUTTON = WM_USER + 82 } 2200 -enum : uint { TB_GETMAXSIZE = WM_USER + 83 } 2201 -enum : uint { TB_SETEXTENDEDSTYLE = WM_USER + 84 } 2202 -enum : uint { TB_GETEXTENDEDSTYLE = WM_USER + 85 } 2203 -enum : uint { TB_GETPADDING = WM_USER + 86 } 2204 -enum : uint { TB_SETPADDING = WM_USER + 87 } 2205 -enum : uint { TB_SETINSERTMARKCOLOR = WM_USER + 88 } 2206 -enum : uint { TB_GETINSERTMARKCOLOR = WM_USER + 89 } 2207 - 2208 -alias CCM_SETCOLORSCHEME TB_SETCOLORSCHEME; 2209 -alias CCM_GETCOLORSCHEME TB_GETCOLORSCHEME; 2210 - 2211 -alias CCM_SETUNICODEFORMAT TB_SETUNICODEFORMAT; 2212 -alias CCM_GETUNICODEFORMAT TB_GETUNICODEFORMAT; 2213 - 2214 -enum : uint { TB_MAPACCELERATORW = WM_USER + 90 } 2215 -// #ifdef UNICODE 2216 -alias TB_MAPACCELERATORW TB_MAPACCELERATOR; 2217 -// #else 2218 -// #... 2219 -// #endif 2220 - 2221 -// #endif // _WIN32_IE >= 0x0400 2222 - 2223 -struct _1 { 2224 - HINSTANCE hInstOld; 2225 - UINT_PTR nIDOld; 2226 - HINSTANCE hInstNew; 2227 - UINT_PTR nIDNew; 2228 - int nButtons; 2229 -} 2230 -alias _1 TBREPLACEBITMAP; 2231 -alias _1* LPTBREPLACEBITMAP; 2232 - 2233 -// #ifdef _WIN32 2234 - 2235 -enum : uint { TBBF_LARGE = 0x0001 } 2236 - 2237 -enum : uint { TB_GETBITMAPFLAGS = WM_USER + 41 } 2238 - 2239 -// #if (_WIN32_IE >= 0x0400) 2240 -enum : uint { TBIF_IMAGE = 0x00000001 } 2241 -enum : uint { TBIF_TEXT = 0x00000002 } 2242 -enum : uint { TBIF_STATE = 0x00000004 } 2243 -enum : uint { TBIF_STYLE = 0x00000008 } 2244 -enum : uint { TBIF_LPARAM = 0x00000010 } 2245 -enum : uint { TBIF_COMMAND = 0x00000020 } 2246 -enum : uint { TBIF_SIZE = 0x00000040 } 2247 - 2248 -// #if (_WIN32_IE >= 0x0500) 2249 -enum : uint { TBIF_BYINDEX = 0x80000000 } 2250 -// #endif 2251 - 2252 -struct _2 { 2253 - UINT cbSize; 2254 - DWORD dwMask; 2255 - int idCommand; 2256 - int iImage; 2257 - BYTE fsState; 2258 - BYTE fsStyle; 2259 - WORD cx; 2260 - DWORD_PTR lParam; 2261 - LPSTR pszText; 2262 - int cchText; 2263 -} 2264 -alias _2 TBBUTTONINFOA; 2265 -alias _2* LPTBBUTTONINFOA; 2266 - 2267 -struct _3 { 2268 - UINT cbSize; 2269 - DWORD dwMask; 2270 - int idCommand; 2271 - int iImage; 2272 - BYTE fsState; 2273 - BYTE fsStyle; 2274 - WORD cx; 2275 - DWORD_PTR lParam; 2276 - LPWSTR pszText; 2277 - int cchText; 2278 -} 2279 -alias _3 TBBUTTONINFOW; 2280 -alias _3* LPTBBUTTONINFOW; 2281 - 2282 -// #ifdef UNICODE 2283 -alias TBBUTTONINFOW TBBUTTONINFO; 2284 -alias LPTBBUTTONINFOW LPTBBUTTONINFO; 2285 -// #else 2286 -// #... 2287 -// #... 2288 -// #endif 2289 - 2290 -enum : uint { TB_GETBUTTONINFOW = WM_USER + 63 } 2291 -enum : uint { TB_SETBUTTONINFOW = WM_USER + 64 } 2292 -enum : uint { TB_GETBUTTONINFOA = WM_USER + 65 } 2293 -enum : uint { TB_SETBUTTONINFOA = WM_USER + 66 } 2294 -// #ifdef UNICODE 2295 -alias TB_GETBUTTONINFOW TB_GETBUTTONINFO; 2296 -alias TB_SETBUTTONINFOW TB_SETBUTTONINFO; 2297 -// #else 2298 -// #... 2299 -// #... 2300 -// #endif 2301 - 2302 -enum : uint { TB_INSERTBUTTONW = WM_USER + 67 } 2303 -enum : uint { TB_ADDBUTTONSW = WM_USER + 68 } 2304 - 2305 -enum : uint { TB_HITTEST = WM_USER + 69 } 2306 - 2307 -// #ifdef UNICODE 2308 -alias TB_INSERTBUTTONW TB_INSERTBUTTON; 2309 -alias TB_ADDBUTTONSW TB_ADDBUTTONS; 2310 -// #else 2311 -// #... 2312 -// #... 2313 -// #endif 2314 - 2315 -enum : uint { TB_SETDRAWTEXTFLAGS = WM_USER + 70 } 2316 - 2317 -// #endif // _WIN32_IE >= 0x0400 2318 - 2319 -// #if (_WIN32_IE >= 0x0500) 2320 - 2321 -enum : uint { TB_GETSTRINGW = WM_USER + 91 } 2322 -enum : uint { TB_GETSTRINGA = WM_USER + 92 } 2323 -// #ifdef UNICODE 2324 -alias TB_GETSTRINGW TB_GETSTRING; 2325 -// #else 2326 -// #... 2327 -// #endif 2328 - 2329 -// #endif // _WIN32_IE >= 0x0500 2330 - 2331 -// #if (_WIN32_WINNT >= 0x501) 2332 -enum : uint { TBMF_PAD = 0x00000001 } 2333 -enum : uint { TBMF_BARPAD = 0x00000002 } 2334 -enum : uint { TBMF_BUTTONSPACING = 0x00000004 } 2335 - 2336 -struct _4 { 2337 - UINT cbSize; 2338 - DWORD dwMask; 2339 - int cxPad; 2340 - int cyPad; 2341 - int cxBarPad; 2342 - int cyBarPad; 2343 - int cxButtonSpacing; 2344 - int cyButtonSpacing; 2345 -} 2346 -alias _4 TBMETRICS; 2347 -alias _4* LPTBMETRICS; 2348 - 2349 -enum : uint { TB_GETMETRICS = WM_USER + 101 } 2350 -enum : uint { TB_SETMETRICS = WM_USER + 102 } 2351 -// #endif 2352 - 2353 -// #if (_WIN32_WINNT >= 0x501) 2354 -alias CCM_SETWINDOWTHEME TB_SETWINDOWTHEME; 2355 -// #endif 2356 - 2357 -enum : uint { TBN_GETBUTTONINFOA = TBN_FIRST-0 } 2358 -enum : uint { TBN_BEGINDRAG = TBN_FIRST-1 } 2359 -enum : uint { TBN_ENDDRAG = TBN_FIRST-2 } 2360 -enum : uint { TBN_BEGINADJUST = TBN_FIRST-3 } 2361 -enum : uint { TBN_ENDADJUST = TBN_FIRST-4 } 2362 -enum : uint { TBN_RESET = TBN_FIRST-5 } 2363 -enum : uint { TBN_QUERYINSERT = TBN_FIRST-6 } 2364 -enum : uint { TBN_QUERYDELETE = TBN_FIRST-7 } 2365 -enum : uint { TBN_TOOLBARCHANGE = TBN_FIRST-8 } 2366 -enum : uint { TBN_CUSTHELP = TBN_FIRST-9 } 2367 -// #if (_WIN32_IE >= 0x0300) 2368 -enum : uint { TBN_DROPDOWN = TBN_FIRST - 10 } 2369 -// #endif 2370 -// #if (_WIN32_IE >= 0x0400) 2371 -enum : uint { TBN_GETOBJECT = TBN_FIRST - 12 } 2372 - 2373 -struct tagNMTBHOTITEM { 2374 - NMHDR hdr; 2375 - int idOld; 2376 - int idNew; 2377 - DWORD dwFlags; 2378 -} 2379 -alias tagNMTBHOTITEM NMTBHOTITEM; 2380 -alias tagNMTBHOTITEM* LPNMTBHOTITEM; 2381 - 2382 -enum : uint { HICF_OTHER = 0x00000000 } 2383 -enum : uint { HICF_MOUSE = 0x00000001 } 2384 -enum : uint { HICF_ARROWKEYS = 0x00000002 } 2385 -enum : uint { HICF_ACCELERATOR = 0x00000004 } 2386 -enum : uint { HICF_DUPACCEL = 0x00000008 } 2387 -enum : uint { HICF_ENTERING = 0x00000010 } 2388 -enum : uint { HICF_LEAVING = 0x00000020 } 2389 -enum : uint { HICF_RESELECT = 0x00000040 } 2390 -enum : uint { HICF_LMOUSE = 0x00000080 } 2391 -enum : uint { HICF_TOGGLEDROPDOWN = 0x00000100 } 2392 - 2393 -enum : uint { TBN_HOTITEMCHANGE = TBN_FIRST - 13 } 2394 -enum : uint { TBN_DRAGOUT = TBN_FIRST - 14 } 2395 -enum : uint { TBN_DELETINGBUTTON = TBN_FIRST - 15 } 2396 -enum : uint { TBN_GETDISPINFOA = TBN_FIRST - 16 } 2397 -enum : uint { TBN_GETDISPINFOW = TBN_FIRST - 17 } 2398 -enum : uint { TBN_GETINFOTIPA = TBN_FIRST - 18 } 2399 -enum : uint { TBN_GETINFOTIPW = TBN_FIRST - 19 } 2400 -enum : uint { TBN_GETBUTTONINFOW = TBN_FIRST - 20 } 2401 -// #if (_WIN32_IE >= 0x0500) 2402 -enum : uint { TBN_RESTORE = TBN_FIRST - 21 } 2403 -enum : uint { TBN_SAVE = TBN_FIRST - 22 } 2404 -enum : uint { TBN_INITCUSTOMIZE = TBN_FIRST - 23 } 2405 -enum : uint { TBNRF_HIDEHELP = 0x00000001 } 2406 -enum : uint { TBNRF_ENDCUSTOMIZE = 0x00000002 } 2407 -// #endif // (_WIN32_IE >= 0x0500) 2408 - 2409 -// #if (_WIN32_IE >= 0x0500) 2410 - 2411 -struct tagNMTBSAVE { 2412 - NMHDR hdr; 2413 - DWORD * pData; 2414 - DWORD * pCurrent; 2415 - UINT cbData; 2416 - int iItem; 2417 - int cButtons; 2418 - TBBUTTON tbButton; 2419 -} 2420 -alias tagNMTBSAVE NMTBSAVE; 2421 -alias tagNMTBSAVE* LPNMTBSAVE; 2422 - 2423 -struct tagNMTBRESTORE { 2424 - NMHDR hdr; 2425 - DWORD * pData; 2426 - DWORD * pCurrent; 2427 - UINT cbData; 2428 - int iItem; 2429 - int cButtons; 2430 - int cbBytesPerRecord; 2431 - TBBUTTON tbButton; 2432 -} 2433 -alias tagNMTBRESTORE NMTBRESTORE; 2434 -alias tagNMTBRESTORE* LPNMTBRESTORE; 2435 - 2436 -// #endif // (_WIN32_IE >= 0x0500) 2437 - 2438 -struct tagNMTBGETINFOTIPA { 2439 - NMHDR hdr; 2440 - LPSTR pszText; 2441 - int cchTextMax; 2442 - int iItem; 2443 - LPARAM lParam; 2444 -} 2445 -alias tagNMTBGETINFOTIPA NMTBGETINFOTIPA; 2446 -alias tagNMTBGETINFOTIPA* LPNMTBGETINFOTIPA; 2447 - 2448 -struct tagNMTBGETINFOTIPW { 2449 - NMHDR hdr; 2450 - LPWSTR pszText; 2451 - int cchTextMax; 2452 - int iItem; 2453 - LPARAM lParam; 2454 -} 2455 -alias tagNMTBGETINFOTIPW NMTBGETINFOTIPW; 2456 -alias tagNMTBGETINFOTIPW* LPNMTBGETINFOTIPW; 2457 - 2458 -// #ifdef UNICODE 2459 -alias TBN_GETINFOTIPW TBN_GETINFOTIP; 2460 -alias NMTBGETINFOTIPW NMTBGETINFOTIP; 2461 -alias LPNMTBGETINFOTIPW LPNMTBGETINFOTIP; 2462 -// #else 2463 -// #... 2464 -// #... 2465 -// #... 2466 -// #endif 2467 - 2468 -enum : uint { TBNF_IMAGE = 0x00000001 } 2469 -enum : uint { TBNF_TEXT = 0x00000002 } 2470 -enum : uint { TBNF_DI_SETITEM = 0x10000000 } 2471 - 2472 -struct _5 { 2473 - NMHDR hdr; 2474 - DWORD dwMask; 2475 - int idCommand; 2476 - DWORD_PTR lParam; 2477 - int iImage; 2478 - LPSTR pszText; 2479 - int cchText; 2480 -} 2481 -alias _5 NMTBDISPINFOA; 2482 -alias _5* LPNMTBDISPINFOA; 2483 - 2484 -struct _6 { 2485 - NMHDR hdr; 2486 - DWORD dwMask; 2487 - int idCommand; 2488 - DWORD_PTR lParam; 2489 - int iImage; 2490 - LPWSTR pszText; 2491 - int cchText; 2492 -} 2493 -alias _6 NMTBDISPINFOW; 2494 -alias _6* LPNMTBDISPINFOW; 2495 - 2496 -// #ifdef UNICODE 2497 -alias TBN_GETDISPINFOW TBN_GETDISPINFO; 2498 -alias NMTBDISPINFOW NMTBDISPINFO; 2499 -alias LPNMTBDISPINFOW LPNMTBDISPINFO; 2500 -// #else 2501 -// #... 2502 -// #... 2503 -// #... 2504 -// #endif 2505 - 2506 -enum : uint { TBDDRET_DEFAULT = 0 } 2507 -enum : uint { TBDDRET_NODEFAULT = 1 } 2508 -enum : uint { TBDDRET_TREATPRESSED = 2 } 2509 - 2510 -// #endif 2511 - 2512 -// #ifdef UNICODE 2513 -alias TBN_GETBUTTONINFOW TBN_GETBUTTONINFO; 2514 -// #else 2515 -// #... 2516 -// #endif 2517 - 2518 -// #if (_WIN32_IE >= 0x0300) 11 +pragma(lib, "comctl32.lib"); 12 + 13 +private import win32.w32api, win32.windef, win32.winuser; 14 +private import win32.winbase; // for SYSTEMTIME 15 +private import win32.objfwd; // for LPSTREAM 16 + 17 +import win32.prsht; 18 + 19 +const COMCTL32_VERSION = 6; 20 + 21 +const TCHAR[] 22 + DRAGLISTMSGSTRING = "commctrl_DragListMsg", 23 + HOTKEY_CLASS = "msctls_hotkey32", 24 + PROGRESS_CLASS = "msctls_progress32", 25 + STATUSCLASSNAME = "msctls_statusbar32", 26 + TOOLBARCLASSNAME = "ToolbarWindow32", 27 + TOOLTIPS_CLASS = "tooltips_class32", 28 + TRACKBAR_CLASS = "msctls_trackbar32", 29 + UPDOWN_CLASS = "msctls_updown32", 30 + ANIMATE_CLASS = "SysAnimate32", 31 + DATETIMEPICK_CLASS = "SysDateTimePick32", 32 + MONTHCAL_CLASS = "SysMonthCal32", 33 + REBARCLASSNAME = "ReBarWindow32", 34 + WC_COMBOBOXEX = "ComboBoxEx32", 35 + WC_IPADDRESS = "SysIPAddress32", 36 + WC_LISTVIEW = "SysListView32", 37 + WC_TABCONTROL = "SysTabControl32", 38 + WC_TREEVIEW = "SysTreeView32", 39 + WC_HEADER = "SysHeader32", 40 + WC_PAGESCROLLER = "SysPager", 41 + WC_NATIVEFONTCTL = "NativeFontCtl", 42 + WC_BUTTON = "Button", 43 + WC_STATIC = "Static", 44 + WC_EDIT = "Edit", 45 + WC_LISTBOX = "ListBox", 46 + WC_COMBOBOX = "ComboBox", 47 + WC_SCROLLBAR = "ScrollBar", 48 + WC_LINKA = "SysLink"; 49 + 50 +enum { 51 + LVM_FIRST = 0x1000, 52 + TV_FIRST = 0x1100, 53 + HDM_FIRST = 0x1200 54 +} 55 + 56 +enum { 57 + ACM_OPENA = WM_USER + 100, 58 + ACM_PLAY = WM_USER + 101, 59 + ACM_STOP = WM_USER + 102, 60 + ACM_OPENW = WM_USER + 103 61 +} 62 + 63 +enum { 64 + ACN_START = 1, 65 + ACN_STOP 66 +} 67 + 68 +enum { 69 + CBEIF_TEXT = 0x00000001, 70 + CBEIF_IMAGE = 0x00000002, 71 + CBEIF_SELECTEDIMAGE = 0x00000004, 72 + CBEIF_OVERLAY = 0x00000008, 73 + CBEIF_INDENT = 0x00000010, 74 + CBEIF_LPARAM = 0x00000020, 75 + CBEIF_DI_SETITEM = 0x10000000 76 +} 77 + 78 +enum { 79 + RBN_FIRST = -831U, 80 + RBN_LAST = -859U, 81 + MCN_FIRST = -750U, 82 + MCN_LAST = -759U, 83 + DTN_FIRST = -760U, 84 + DTN_LAST = -799U, 85 + CBEN_FIRST = -800U, 86 + CBEN_LAST = -830U 87 +} 88 + 89 +enum { 90 + CBEN_INSERTITEM = CBEN_FIRST - 1, 91 + CBEN_DELETEITEM = CBEN_FIRST - 2, 92 + CBEN_BEGINEDIT = CBEN_FIRST - 4, 93 + CBEN_ENDEDITA = CBEN_FIRST - 5, 94 + CBEN_ENDEDITW = CBEN_FIRST - 6 95 +} 96 + 97 +enum { 98 + CBENF_KILLFOCUS = 1, 99 + CBENF_RETURN, 100 + CBENF_ESCAPE, 101 + CBENF_DROPDOWN // = 4 102 +} 103 + 104 +const CBEMAXSTRLEN = 260; 105 + 106 +enum { 107 + DL_BEGINDRAG = 1157, 108 + DL_CANCELDRAG = 1160, 109 + DL_DRAGGING = 1158, 110 + DL_DROPPED = 1159, 111 + DL_CURSORSET = 0, 112 + DL_STOPCURSOR = 1, 113 + DL_COPYCURSOR = 2, 114 + DL_MOVECURSOR = 3 115 +} 116 + 117 +enum { 118 + CCS_TOP = 1, 119 + CCS_NOMOVEY = 2, 120 + CCS_BOTTOM = 3, 121 + CCS_NORESIZE = 4, 122 + CCS_NOPARENTALIGN = 8, 123 + CCS_ADJUSTABLE = 32, 124 + CCS_NODIVIDER = 64 125 +} 126 +static if (_WIN32_IE >= 0x300) { 127 + enum { 128 + CCS_VERT = 128, 129 + CCS_LEFT = 129, 130 + CCS_NOMOVEX = 130, 131 + CCS_RIGHT = 131 132 + } 133 +} 134 + 135 +enum { 136 + ACS_CENTER = 0x0001, 137 + ACS_TRANSPARENT = 0x0002, 138 + ACS_AUTOPLAY = 0x0004, 139 + ACS_TIMER = 0x0008 140 +} 141 + 142 +enum { 143 + PGS_VERT = 0x00000000, 144 + PGS_HORZ = 0x00000001, 145 + PGS_AUTOSCROLL = 0x00000002, 146 + PGS_DRAGNDROP = 0x00000004 147 +} 148 + 149 +const CMB_MASKED = 2; 150 + 151 +const MINSYSCOMMAND = SC_SIZE; 152 + 153 +enum { 154 + SBT_OWNERDRAW = 0x1000, 155 + SBT_NOBORDERS = 256, 156 + SBT_POPOUT = 512, 157 + SBT_RTLREADING = 1024 158 +} 159 + 160 +enum { 161 + SB_SETTEXTA = WM_USER + 1, 162 + SB_SETTEXTW = WM_USER + 11, 163 + SB_GETTEXTA = WM_USER + 2, 164 + SB_GETTEXTW = WM_USER + 13, 165 + SB_GETTEXTLENGTHA = WM_USER + 3, 166 + SB_GETTEXTLENGTHW = WM_USER + 12, 167 + SB_SETPARTS = WM_USER + 4, 168 + SB_GETPARTS = WM_USER + 6, 169 + SB_GETBORDERS = WM_USER + 7, 170 + SB_SETMINHEIGHT = WM_USER + 8, 171 + SB_SIMPLE = WM_USER + 9, 172 + SB_GETRECT = WM_USER + 10 173 +} 174 + 175 +enum { 176 + MSGF_COMMCTRL_BEGINDRAG = 0x4200, 177 + MSGF_COMMCTRL_SIZEHEADER = 0x4201, 178 + MSGF_COMMCTRL_DRAGSELECT = 0x4202, 179 + MSGF_COMMCTRL_TOOLBARCUST = 0x4203 180 +} 181 + 182 +enum { 183 + ILC_COLOR = 0, 184 + ILC_COLOR4 = 4, 185 + ILC_COLOR8 = 8, 186 + ILC_COLOR16 = 16, 187 + ILC_COLOR24 = 24, 188 + ILC_COLOR32 = 32, 189 + ILC_COLORDDB = 254, 190 + ILC_MASK = 1, 191 + ILC_PALETTE = 2048 192 +} 193 + 194 +enum { 195 + ILCF_MOVE, 196 + ILCF_SWAP 197 +} 198 + 199 +enum { 200 + ILS_NORMAL = 0, 201 + ILS_GLOW = 1, 202 + ILS_SHADOW = 2, 203 + ILS_SATURATE = 4, 204 + ILS_ALPHA = 8, 205 + ILD_BLEND25 = 2, 206 + ILD_BLEND50 = 4, 207 + ILD_SELECTED = 4, 208 + ILD_BLEND = 4, 209 + ILD_FOCUS = 2, 210 + ILD_MASK = 16, 211 + ILD_NORMAL = 0, 212 + ILD_TRANSPARENT = 1, 213 + ILD_IMAGE = 0x0020, 214 + ILD_ROP = 0x0040, 215 + ILD_OVERLAYMASK = 0x0F00, 216 + ILD_PRESERVEALPHA = 0x1000, 217 + ILD_SCALE = 0x2000, 218 + ILD_DPISCALE = 0x4000 219 +} 220 + 221 +enum { 222 + HDS_HORZ = 0, 223 + HDS_BUTTONS = 2, 224 + HDS_HIDDEN = 8 225 +} 226 +static if (_WIN32_IE >= 0x400) { 227 + enum { 228 + HDS_HOTTRACK = 4, 229 + HDS_DRAGDROP = 0x0040, 230 + HDS_FULLDRAG = 0x0080 231 + } 232 +} 233 +static if (_WIN32_IE >= 0x500) { 234 + enum { 235 + HDS_FILTERBAR = 0x0100 236 + } 237 +} 238 + 239 +enum { 240 + NM_FIRST = 0, 241 + NM_LAST = -99U, 242 + LVN_FIRST = -100U, 243 + LVN_LAST = -199U, 244 + HDN_FIRST = -300U, 245 + HDN_LAST = -399U, 246 + TVN_FIRST = -400U, 247 + TVN_LAST = -499U, 248 + TTN_FIRST = -520U, 249 + TTN_LAST = -549U, 250 + TCN_FIRST = -550U, 251 + TCN_LAST = -580U, 252 + CDN_FIRST = -601U, /* also in commdlg.h */ 253 + CDN_LAST = -699U, 254 + TBN_FIRST = -700U, 255 + TBN_LAST = -720U, 256 + UDN_FIRST = -721U, 257 + UDN_LAST = -740U 258 +} 259 +/*static if (_WIN32_IE >= 0x300) { 260 + enum { 261 + RBN_FIRST = -831U, 262 + RBN_LAST = -859U, 263 + MCN_FIRST = -750U, 264 + MCN_LAST = -759U, 265 + DTN_FIRST = -760U, 266 + DTN_LAST = -799U, 267 + CBEN_FIRST = -800U, 268 + CBEN_LAST = -830U 269 + } 270 +}*/ 271 +static if (_WIN32_IE >= 0x400) { 272 + enum { 273 + IPN_FIRST = -860U, 274 + IPN_LAST = -879U, 275 + IPN_FIELDCHANGED = IPN_FIRST, 276 + SBN_FIRST = -880U, 277 + SBN_LAST = -899U, 278 + PGN_FIRST = -900U, 279 + PGN_LAST = -950U, 280 + PGN_SCROLL = PGN_FIRST-1, 281 + PGN_CALCSIZE = PGN_FIRST-2 282 + } 283 +} 284 + 285 +enum { 286 + HDI_WIDTH = 1, 287 + HDI_HEIGHT = 1, 288 + HDI_TEXT = 2, 289 + HDI_FORMAT = 4, 290 + HDI_LPARAM = 8, 291 + HDI_BITMAP = 16 292 +} 293 +static if (_WIN32_IE >= 0x300) { 294 + enum { 295 + HDI_IMAGE = 32, 296 + HDI_DI_SETITEM = 64, 297 + HDI_ORDER = 128 298 + } 299 +} 300 +static if (_WIN32_IE >= 0x500) { 301 + enum { 302 + HDI_FILTER = 256 303 + } 304 +} 305 + 306 +enum { 307 + CBES_EX_NOEDITIMAGE = 0x00000001, 308 + CBES_EX_NOEDITIMAGEINDENT = 0x00000002, 309 + CBES_EX_PATHWORDBREAKPROC = 0x00000004 310 +} 311 +static if (_WIN32_IE >= 0x400) { 312 + enum { 313 + CBES_EX_NOSIZELIMIT = 0x00000008, 314 + CBES_EX_CASESENSITIVE = 0x00000010, 315 + CBEN_GETDISPINFOA = CBEN_FIRST - 0, 316 + CBEN_GETDISPINFOW = CBEN_FIRST - 7, 317 + CBEN_DRAGBEGINA = CBEN_FIRST - 8, 318 + CBEN_DRAGBEGINW = CBEN_FIRST - 9 319 + } 320 +} 321 + 322 +enum { 323 + HDF_LEFT, 324 + HDF_RIGHT, 325 + HDF_CENTER, 326 + HDF_JUSTIFYMASK, 327 + HDF_RTLREADING, // = 4 328 + HDF_OWNERDRAW = 0x8000, 329 + HDF_STRING = 0x4000, 330 + HDF_BITMAP = 0x2000 331 +} 332 +static if (_WIN32_IE >= 0x300) { 333 + enum { 334 + HDF_BITMAP_ON_RIGHT = 0x1000, 335 + HDF_IMAGE = 0x0800 336 + } 337 +} 338 + 339 +enum { 340 + CCM_FIRST = 0x2000, 341 + CCM_LAST = CCM_FIRST + 0x200, 342 + CCM_SETBKCOLOR = 8193, 343 + CCM_SETCOLORSCHEME = 8194, 344 + CCM_GETCOLORSCHEME = 8195, 345 + CCM_GETDROPTARGET = 8196, 346 + CCM_SETUNICODEFORMAT = 8197, 347 + CCM_GETUNICODEFORMAT = 8198, 348 + CCM_SETVERSION = 0x2007, 349 + CCM_GETVERSION = 0x2008, 350 + CCM_SETNOTIFYWINDOW = 0x2009 351 +} 352 + 353 +enum { 354 + HDM_GETITEMCOUNT = HDM_FIRST, 355 + HDM_INSERTITEMA = HDM_FIRST + 1, 356 + HDM_INSERTITEMW = HDM_FIRST + 10, 357 + HDM_DELETEITEM = HDM_FIRST + 2, 358 + HDM_GETITEMA = HDM_FIRST + 3, 359 + HDM_GETITEMW = HDM_FIRST + 11, 360 + HDM_SETITEMA = HDM_FIRST + 4, 361 + HDM_SETITEMW = HDM_FIRST + 12, 362 + HDM_LAYOUT = HDM_FIRST + 5 363 +} 364 +static if (_WIN32_IE >= 0x300) { 365 + enum { 366 + HDM_GETITEMRECT = HDM_FIRST + 7, 367 + HDM_SETIMAGELIST = HDM_FIRST + 8, 368 + HDM_GETIMAGELIST = HDM_FIRST + 9, 369 + HDM_ORDERTOINDEX = HDM_FIRST + 15, 370 + HDM_CREATEDRAGIMAGE = HDM_FIRST + 16, 371 + HDM_GETORDERARRAY = HDM_FIRST + 17, 372 + HDM_SETORDERARRAY = HDM_FIRST + 18, 373 + HDM_SETHOTDIVIDER = HDM_FIRST + 19 374 + } 375 +} 376 +static if (_WIN32_IE >= 0x400) { 377 + enum { 378 + HDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 379 + HDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 380 + } 381 +} 382 + 383 +enum { 384 + HHT_NOWHERE = 1, 385 + HHT_ONHEADER = 2, 386 + HHT_ONDIVIDER = 4, 387 + HHT_ONDIVOPEN = 8, 388 + HHT_ABOVE = 256, 389 + HHT_BELOW = 512, 390 + HHT_TORIGHT = 1024, 391 + HHT_TOLEFT = 2048 392 +} 393 + 394 +enum { 395 + HDM_HITTEST = HDM_FIRST + 6 396 +} 397 + 398 +enum { 399 + HDN_ITEMCHANGINGA = HDN_FIRST -0, 400 + HDN_ITEMCHANGINGW = HDN_FIRST -20, 401 + HDN_ITEMCHANGEDA = HDN_FIRST -1, 402 + HDN_ITEMCHANGEDW = HDN_FIRST -21, 403 + HDN_ITEMCLICKA = HDN_FIRST -2, 404 + HDN_ITEMCLICKW = HDN_FIRST -22, 405 + HDN_ITEMDBLCLICKA = HDN_FIRST -3, 406 + HDN_ITEMDBLCLICKW = HDN_FIRST -23, 407 + HDN_DIVIDERDBLCLICKA = HDN_FIRST -5, 408 + HDN_DIVIDERDBLCLICKW = HDN_FIRST -25, 409 + HDN_BEGINTRACKA = HDN_FIRST -6, 410 + HDN_BEGINTRACKW = HDN_FIRST -26, 411 + HDN_ENDTRACKA = HDN_FIRST -7, 412 + HDN_ENDTRACKW = HDN_FIRST -27, 413 + HDN_TRACKA = HDN_FIRST -8, 414 + HDN_TRACKW = HDN_FIRST -28 415 +} 416 +static if (_WIN32_IE >= 0x300) { 417 + enum { 418 + HDN_ENDDRAG = (HDN_FIRST-11), 419 + HDN_BEGINDRAG = (HDN_FIRST-10), 420 + HDN_GETDISPINFOA = (HDN_FIRST-9), 421 + HDN_GETDISPINFOW = (HDN_FIRST-29) 422 + } 423 +} 424 + 425 +static if (_WIN32_IE >= 0x400) { 426 + enum { 427 + HICF_OTHER = 0x00, 428 + HICF_MOUSE = 0x01, 429 + HICF_ARROWKEYS = 0x02, 430 + HICF_ACCELERATOR = 0x04, 431 + HICF_DUPACCEL = 0x08, 432 + HICF_ENTERING = 0x10, 433 + HICF_LEAVING = 0x20, 434 + HICF_RESELECT = 0x40, 435 + HICF_LMOUSE = 0x80, 436 + HICF_TOGGLEDROPDOWN = 0x100 437 + } 438 +} 439 + 440 +enum { 441 + IPM_CLEARADDRESS = WM_USER + 100, 442 + IPM_SETADDRESS = WM_USER + 101, 443 + IPM_GETADDRESS = WM_USER + 102, 444 + IPM_SETRANGE = WM_USER + 103, 445 + IPM_SETFOCUS = WM_USER + 104, 446 + IPM_ISBLANK = WM_USER + 105 447 +} 448 + 449 +static if (_WIN32_IE >= 0x500) { 450 + enum { 451 + I_INDENTCALLBACK = -1, 452 + I_IMAGENONE = -2 453 + } 454 +} 455 + 456 +enum { 457 + TBSTATE_CHECKED = 1, 458 + TBSTATE_PRESSED = 2, 459 + TBSTATE_ENABLED = 4, 460 + TBSTATE_HIDDEN = 8, 461 + TBSTATE_INDETERMINATE = 16, 462 + TBSTATE_WRAP = 32 463 +} 464 +static if (_WIN32_IE >= 0x300) { 465 + enum { 466 + TBSTATE_ELLIPSES = 0x40 467 + } 468 +} 469 +static if (_WIN32_IE >= 0x400) { 470 + enum { 471 + TBSTATE_MARKED = 0x0080 472 + } 473 +} 474 + 475 +enum { 476 + TBSTYLE_BUTTON = 0, 477 + TBSTYLE_SEP = 1, 478 + TBSTYLE_CHECK = 2, 479 + TBSTYLE_GROUP = 4, 480 + TBSTYLE_CHECKGROUP = TBSTYLE_GROUP | TBSTYLE_CHECK 481 +} 482 +static if (_WIN32_IE >= 0x300) { 483 + enum { 484 + TBSTYLE_DROPDOWN = 8 485 + } 486 +} 487 +static if (_WIN32_IE >= 0x400) { 488 + enum { 489 + TBSTYLE_AUTOSIZE = 16, 490 + TBSTYLE_NOPREFIX = 32 491 + } 492 +} 493 +enum { 494 + TBSTYLE_TOOLTIPS = 256, 495 + TBSTYLE_WRAPABLE = 512, 496 + TBSTYLE_ALTDRAG = 1024 497 +} 498 +static if (_WIN32_IE >= 0x300) { 499 + enum { 500 + TBSTYLE_FLAT = 2048, 501 + TBSTYLE_LIST = 4096, 502 + TBSTYLE_CUSTOMERASE = 8192 503 + } 504 +} 505 +static if (_WIN32_IE >= 0x400) { 506 + enum { 507 + TBSTYLE_REGISTERDROP = 0x4000, 508 + TBSTYLE_TRANSPARENT = 0x8000, 509 + TBSTYLE_EX_DRAWDDARROWS = 0x00000001 510 + } 511 +} 512 +static if (_WIN32_IE >= 0x501) { 513 + enum { 514 + TBSTYLE_EX_MIXEDBUTTONS = 8, 515 + TBSTYLE_EX_HIDECLIPPEDBUTTONS = 16 516 + } 517 +} 518 +static if (_WIN32_WINNT >= 0x501) { 519 + enum { 520 + TBSTYLE_EX_DOUBLEBUFFER = 0x80 521 + } 522 +} 523 + 524 +static if (_WIN32_IE >= 0x500) { 525 + enum { 526 + BTNS_BUTTON = TBSTYLE_BUTTON, 527 + BTNS_SEP = TBSTYLE_SEP, 528 + BTNS_CHECK = TBSTYLE_CHECK, 529 + BTNS_GROUP = TBSTYLE_GROUP, 530 + BTNS_CHECKGROUP = TBSTYLE_CHECKGROUP, 531 + BTNS_DROPDOWN = TBSTYLE_DROPDOWN, 532 + BTNS_AUTOSIZE = TBSTYLE_AUTOSIZE, 533 + BTNS_NOPREFIX = TBSTYLE_NOPREFIX, 534 + BTNS_WHOLEDROPDOWN = 0x0080 535 + } 536 +} 537 +static if (_WIN32_IE >= 0x501) { 538 + enum { 539 + BTNS_SHOWTEXT = 0x0040 540 + } 541 +} 542 + 543 +static if (_WIN32_IE >= 0x400) { 544 + enum { 545 + TBCDRF_NOEDGES = 0x10000, 546 + TBCDRF_HILITEHOTTRACK = 0x20000, 547 + TBCDRF_NOOFFSET = 0x40000, 548 + TBCDRF_NOMARK = 0x80000, 549 + TBCDRF_NOETCHEDEFFECT = 0x100000 550 + } 551 +} 552 + 553 +const HINST_COMMCTRL = cast(HINSTANCE) (-1); 554 + 555 +enum { 556 + IDB_STD_SMALL_COLOR, 557 + IDB_STD_LARGE_COLOR, 558 + IDB_VIEW_SMALL_COLOR = 4, 559 + IDB_VIEW_LARGE_COLOR = 5 560 +} 561 +static if (_WIN32_IE >= 0x300) { 562 + enum { 563 + IDB_HIST_SMALL_COLOR = 8, 564 + IDB_HIST_LARGE_COLOR = 9 565 + } 566 +} 567 + 568 +enum { 569 + STD_CUT, 570 + STD_COPY, 571 + STD_PASTE, 572 + STD_UNDO, 573 + STD_REDOW, 574 + STD_DELETE, 575 + STD_FILENEW, 576 + STD_FILEOPEN, 577 + STD_FILESAVE, 578 + STD_PRINTPRE, 579 + STD_PROPERTIES, 580 + STD_HELP, 581 + STD_FIND, 582 + STD_REPLACE, 583 + STD_PRINT // = 14 584 +} 585 + 586 +enum { 587 + VIEW_LARGEICONS, 588 + VIEW_SMALLICONS, 589 + VIEW_LIST, 590 + VIEW_DETAILS, 591 + VIEW_SORTNAME, 592 + VIEW_SORTSIZE, 593 + VIEW_SORTDATE, 594 + VIEW_SORTTYPE, 595 + VIEW_PARENTFOLDER, 596 + VIEW_NETCONNECT, 597 + VIEW_NETDISCONNECT, 598 + VIEW_NEWFOLDER // = 11 599 +} 600 + 601 +enum { 602 + TB_ENABLEBUTTON = WM_USER + 1, 603 + TB_CHECKBUTTON, 604 + TB_PRESSBUTTON, 605 + TB_HIDEBUTTON, 606 + TB_INDETERMINATE, // = WM_USER + 5, 607 + TB_ISBUTTONENABLED = WM_USER + 9, 608 + TB_ISBUTTONCHECKED, 609 + TB_ISBUTTONPRESSED, 610 + TB_ISBUTTONHIDDEN, 611 + TB_ISBUTTONINDETERMINATE, // = WM_USER + 13, 612 + TB_SETSTATE = WM_USER + 17, 613 + TB_GETSTATE = WM_USER + 18, 614 + TB_ADDBITMAP = WM_USER + 19, 615 + TB_DELETEBUTTON = WM_USER + 22, 616 + TB_GETBUTTON, 617 + TB_BUTTONCOUNT, 618 + TB_COMMANDTOINDEX, 619 + TB_SAVERESTOREA, 620 + TB_CUSTOMIZE, 621 + TB_ADDSTRINGA, 622 + TB_GETITEMRECT, 623 + TB_BUTTONSTRUCTSIZE, 624 + TB_SETBUTTONSIZE, 625 + TB_SETBITMAPSIZE, 626 + TB_AUTOSIZE, // = WM_USER + 33, 627 + TB_GETTOOLTIPS = WM_USER + 35, 628 + TB_SETTOOLTIPS = WM_USER + 36, 629 + TB_SETPARENT = WM_USER + 37, 630 + TB_SETROWS = WM_USER + 39, 631 + TB_GETROWS, 632 + TB_GETBITMAPFLAGS, 633 + TB_SETCMDID, 634 + TB_CHANGEBITMAP, 635 + TB_GETBITMAP, 636 + TB_GETBUTTONTEXTA, 637 + TB_REPLACEBITMAP, // = WM_USER + 46, 638 + TB_GETBUTTONSIZE = WM_USER + 58, 639 + TB_SETBUTTONWIDTH = WM_USER + 59, 640 + TB_GETBUTTONTEXTW = WM_USER + 75, 641 + TB_SAVERESTOREW = WM_USER + 76, 642 + TB_ADDSTRINGW = WM_USER + 77, 643 +} 644 +static if (_WIN32_IE >= 0x400) { 645 + enum { 646 + TB_MARKBUTTON = WM_USER + 6 647 + } 648 +} 649 +static if (_WIN32_IE >= 0x400) { 650 + enum { 651 + TB_ISBUTTONHIGHLIGHTED = WM_USER + 14 652 + } 653 +} 654 +static if (_WIN32_IE >= 0x400) { 655 + enum { 656 + TB_ADDBUTTONSA = WM_USER + 20, 657 + TB_INSERTBUTTONA = WM_USER + 21 658 + } 659 +} else { 660 + enum { 661 + TB_ADDBUTTONS = WM_USER + 20, 662 + TB_INSERTBUTTON = WM_USER + 21 663 + } 664 +} 665 +static if (_WIN32_IE >= 0x300) { 666 + enum { 667 + TB_SETINDENT = WM_USER + 47, 668 + TB_SETIMAGELIST, 669 + TB_GETIMAGELIST, 670 + TB_LOADIMAGES, 671 + TB_GETRECT, 672 + TB_SETHOTIMAGELIST, 673 + TB_GETHOTIMAGELIST, 674 + TB_SETDISABLEDIMAGELIST, 675 + TB_GETDISABLEDIMAGELIST, 676 + TB_SETSTYLE, 677 + TB_GETSTYLE, 678 + //TB_GETBUTTONSIZE, 679 + //TB_SETBUTTONWIDTH, 680 + TB_SETMAXTEXTROWS, 681 + TB_GETTEXTROWS // = WM_USER + 61 682 + } 683 +} 684 +static if (_WIN32_IE >= 0x400) { 685 + enum { 686 + TB_GETOBJECT = WM_USER + 62, 687 + TB_GETBUTTONINFOW, 688 + TB_SETBUTTONINFOW, 689 + TB_GETBUTTONINFOA, 690 + TB_SETBUTTONINFOA, 691 + TB_INSERTBUTTONW, 692 + TB_ADDBUTTONSW, 693 + TB_HITTEST, // = WM_USER + 69 694 + TB_SETEXTENDEDSTYLE = WM_USER + 84, 695 + TB_GETEXTENDEDSTYLE = WM_USER + 85, 696 + TB_SETDRAWTEXTFLAGS = WM_USER + 70, 697 + TB_GETHOTITEM, 698 + TB_SETHOTITEM, 699 + TB_SETANCHORHIGHLIGHT, 700 + TB_GETANCHORHIGHLIGHT, // = WM_USER + 74 701 + TB_MAPACCELERATORA = WM_USER + 78, 702 + TB_GETINSERTMARK, 703 + TB_SETINSERTMARK, 704 + TB_INSERTMARKHITTEST, 705 + TB_MOVEBUTTON, 706 + TB_GETMAXSIZE, 707 + //TB_SETEXTENDEDSTYLE, 708 + //TB_GETEXTENDEDSTYLE, 709 + TB_GETPADDING, 710 + TB_SETPADDING, 711 + TB_SETINSERTMARKCOLOR, 712 + TB_GETINSERTMARKCOLOR, 713 + TB_MAPACCELERATORW, 714 + TB_GETSTRINGW, 715 + TB_GETSTRINGA, // = WM_USER + 92 716 + TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME, 717 + TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME, 718 + TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 719 + TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 720 + } 721 +} 722 + 723 +const TBBF_LARGE = 1; 724 + 725 +enum { 726 + TBN_GETBUTTONINFOA = TBN_FIRST -0, 727 + TBN_BEGINDRAG = TBN_FIRST -1, 728 + TBN_ENDDRAG = TBN_FIRST -2, 729 + TBN_BEGINADJUST = TBN_FIRST -3, 730 + TBN_ENDADJUST = TBN_FIRST -4, 731 + TBN_RESET = TBN_FIRST -5, 732 + TBN_QUERYINSERT = TBN_FIRST -6, 733 + TBN_QUERYDELETE = TBN_FIRST -7, 734 + TBN_TOOLBARCHANGE = TBN_FIRST -8, 735 + TBN_CUSTHELP = TBN_FIRST -9 736 +} 737 +static if (_WIN32_IE >= 0x300) { 738 + enum { 739 + TBN_DROPDOWN = TBN_FIRST - 10 740 + } 741 +} 742 +static if (_WIN32_IE >= 0x400) { 743 + enum { 744 + TBN_HOTITEMCHANGE = TBN_FIRST - 13, 745 + TBN_DRAGOUT = TBN_FIRST - 14, 746 + TBN_DELETINGBUTTON = TBN_FIRST - 15, 747 + TBN_GETDISPINFOA = TBN_FIRST - 16, 748 + TBN_GETDISPINFOW = TBN_FIRST - 17, 749 + TBN_GETINFOTIPA = TBN_FIRST - 18, 750 + TBN_GETINFOTIPW = TBN_FIRST - 19, 751 + TBN_GETBUTTONINFOW = TBN_FIRST - 20 752 + } 753 +} 754 +static if (_WIN32_IE >= 0x500) { 755 + enum { 756 + TBN_RESTORE = TBN_FIRST - 21, 757 + TBN_SAVE = TBN_FIRST - 22, 758 + TBN_INITCUSTOMIZE = TBN_FIRST - 23 759 + } 760 + 761 + enum { 762 + TBNRF_HIDEHELP = 1, 763 + TBNRF_ENDCUSTOMIZE 764 + } 765 + 766 + enum { 767 + TBNF_IMAGE = 1, 768 + TBNF_TEXT = 2, 769 + TBNF_DI_SETITEM = 0x10000000 770 + } 771 +} 772 + 773 +enum { 774 + TTS_ALWAYSTIP = 1, 775 + TTS_NOPREFIX 776 +} 777 +static if(_WIN32_IE >= 0x500) { 778 + enum { 779 + TTS_NOANIMATE = 0x10, 780 + TTS_NOFADE = 0x20, 781 + TTS_BALLOON = 0x40, 782 + TTS_CLOSE = 0x80 783 + } 784 +} 785 + 786 +enum { 787 + TTF_IDISHWND = 1, 788 + TTF_CENTERTIP = 2, 789 + TTF_RTLREADING = 4, 790 + TTF_SUBCLASS = 16 791 +} 792 +static if (_WIN32_IE >= 0x300) { 793 + enum { 794 + TTF_TRACK = 0x0020, 795 + TTF_ABSOLUTE = 0x0080, 796 + TTF_TRANSPARENT = 0x0100, 797 + TTF_DI_SETITEM = 0x8000 798 + } 799 + 800 + static if (_WIN32_IE >= 0x501) { 801 + enum { 802 + TTF_PARSELINKS = 0x1000 803 + } 804 + } 805 + 806 + enum { 807 + TBCD_TICS = 1, 808 + TBCD_THUMB, 809 + TBCD_CHANNEL // = 3 810 + } 811 +} 812 + 813 +static if (_WIN32_IE >= 0x400) { 814 + enum { 815 + TBDDRET_DEFAULT, 816 + TBDDRET_NODEFAULT, 817 + TBDDRET_TREATPRESSED 818 + } 819 + 820 + enum { 821 + TBIMHT_AFTER = 1, 822 + TBIMHT_BACKGROUND 823 + } 824 +} 825 + 826 +enum { 827 + TTDT_AUTOMATIC, 828 + TTDT_RESHOW, 829 + TTDT_AUTOPOP, 830 + TTDT_INITIAL 831 +} 832 + 833 +enum { 834 + TTM_ACTIVATE = WM_USER + 1, 835 + TTM_SETDELAYTIME = WM_USER + 3, 836 + TTM_ADDTOOLA, 837 + TTM_DELTOOLA, 838 + TTM_NEWTOOLRECTA, 839 + TTM_RELAYEVENT, 840 + TTM_GETTOOLINFOA, 841 + TTM_SETTOOLINFOA, 842 + TTM_HITTESTA, 843 + TTM_GETTEXTA, 844 + TTM_UPDATETIPTEXTA, 845 + TTM_GETTOOLCOUNT, 846 + TTM_ENUMTOOLSA, 847 + TTM_GETCURRENTTOOLA, 848 + TTM_WINDOWFROMPOINT, // = WM_USER + 16 849 + TTM_ADDTOOLW = WM_USER + 50, 850 + TTM_DELTOOLW, 851 + TTM_NEWTOOLRECTW, 852 + TTM_GETTOOLINFOW, 853 + TTM_SETTOOLINFOW, 854 + TTM_HITTESTW, 855 + TTM_GETTEXTW, 856 + TTM_UPDATETIPTEXTW, 857 + TTM_ENUMTOOLSW, 858 + TTM_GETCURRENTTOOLW // = WM_USER + 59 859 +} 860 + 861 +static if (_WIN32_IE >= 0x300) { 862 + enum { 863 + TTM_TRACKACTIVATE = WM_USER + 17, 864 + TTM_TRACKPOSITION, 865 + TTM_SETTIPBKCOLOR, 866 + TTM_SETTIPTEXTCOLOR, 867 + TTM_GETDELAYTIME, 868 + TTM_GETTIPBKCOLOR, 869 + TTM_GETTIPTEXTCOLOR, 870 + TTM_SETMAXTIPWIDTH, 871 + TTM_GETMAXTIPWIDTH, 872 + TTM_SETMARGIN, 873 + TTM_GETMARGIN, 874 + TTM_POP // = WM_USER + 28 875 + } 876 +} 877 + 878 +static if (_WIN32_IE >= 0x400) { // IE4.0 ??? 879 + enum { 880 + TTM_UPDATE = WM_USER + 29, 881 + TTM_GETBUBBLESIZE, 882 + TTM_ADJUSTRECT, 883 + TTM_SETTITLEA, 884 + TTM_SETTITLEW // = WM_USER + 33 885 + } 886 +} 887 + 888 +enum { 889 + TTN_GETDISPINFOA = TTN_FIRST - 0, 890 + TTN_GETDISPINFOW = TTN_FIRST - 10, 891 + TTN_NEEDTEXTA = TTN_GETDISPINFOA, 892 + TTN_NEEDTEXTW = TTN_GETDISPINFOW, 893 + TTN_SHOW = TTN_FIRST-1, 894 + TTN_POP = TTN_FIRST-2 895 +} 896 + 897 +const UD_MAXVAL = 0x7fff; 898 +const UD_MINVAL = -UD_MAXVAL; 899 + 900 +enum { 901 + UDN_DELTAPOS = UDN_FIRST-1, 902 + UDS_WRAP = 1, 903 + UDS_SETBUDDYINT = 2, 904 + UDS_ALIGNRIGHT = 4, 905 + UDS_ALIGNLEFT = 8, 906 + UDS_AUTOBUDDY = 16, 907 + UDS_ARROWKEYS = 32, 908 + UDS_HORZ = 64, 909 + UDS_NOTHOUSANDS = 128 910 +} 911 + 912 +static if (_WIN32_IE >= 0x300) { 913 + enum { 914 + UDS_HOTTRACK = 0x0100 915 + } 916 +} 917 + 918 +enum { 919 + UDM_SETRANGE = WM_USER + 101, 920 + UDM_GETRANGE, 921 + UDM_SETPOS, 922 + UDM_GETPOS, 923 + UDM_SETBUDDY, 924 + UDM_GETBUDDY, 925 + UDM_SETACCEL, 926 + UDM_GETACCEL, 927 + UDM_SETBASE, 928 + UDM_GETBASE // = WM_USER + 110 929 +} 930 + 931 +static if (_WIN32_IE >= 0x400) { 932 + enum { 933 + UDM_SETRANGE32 = WM_USER + 111, 934 + UDM_GETRANGE32, 935 + UDM_SETPOS32, 936 + UDM_GETPOS32 // = WM_USER + 114 937 + } 938 +} 939 + 940 +static if (_WIN32_IE >= 0x500) { 941 + enum { 942 + UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 943 + UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 944 + } 945 +} 946 + 947 +/*enum { 948 + SB_SETTEXTA = WM_USER + 1, 949 + SB_GETTEXTA, 950 + SB_GETTEXTLENGTHA, 951 + SB_SETPARTS, // = WM_USER + 4 952 + SB_GETPARTS = WM_USER + 6, 953 + SB_GETBORDERS, 954 + SB_SETMINHEIGHT, 955 + SB_SIMPLE, 956 + SB_GETRECT, 957 + SB_SETTEXTW, 958 + SB_GETTEXTLENGTHW, 959 + SB_GETTEXTW // = WM_USER + 13 960 +}*/ 961 + 962 +/*enum { 963 + SBT_OWNERDRAW = 0x1000, 964 + SBT_NOBORDERS = 256, 965 + SBT_POPOUT = 512, 966 + SBT_RTLREADING = 1024 967 +}*/ 968 + 969 +static if(_WIN32_IE >= 0x400) { 970 + enum { 971 + SBT_TOOLTIPS = 0x0800, 972 + SBN_SIMPLEMODECHANGE = SBN_FIRST 973 + } 974 +} 975 + 976 +enum { 977 + TBS_AUTOTICKS = 1, 978 + TBS_VERT = 2, 979 + TBS_HORZ = 0, 980 + TBS_TOP = 4, 981 + TBS_BOTTOM = 0, 982 + TBS_LEFT = 4, 983 + TBS_RIGHT = 0, 984 + TBS_BOTH = 8, 985 + TBS_NOTICKS = 16, 986 + TBS_ENABLESELRANGE = 32, 987 + TBS_FIXEDLENGTH = 64, 988 + TBS_NOTHUMB = 128 989 +} 990 + 991 +static if (_WIN32_IE >= 0x300) { 992 + enum { 993 + TBS_TOOLTIPS = 0x0100, 994 + TBTS_TOP = 0, 995 + TBTS_LEFT, 996 + TBTS_BOTTOM, 997 + TBTS_RIGHT // = 3 998 + } 999 +} 1000 + 1001 +static if (_WIN32_IE >= 0x500) { 1002 + enum { 1003 + TBS_REVERSED = 0x0200 1004 + } 1005 +} 1006 + 1007 +static if (_WIN32_IE >= 0x501) { 1008 + enum { 1009 + TBS_DOWNISLEFT = 0x0400 1010 + } 1011 +} 1012 + 1013 +static if (_WIN32_IE >= 0x400) { 1014 + enum { 1015 + TBIF_BYINDEX = 0x80000000, 1016 + TBIF_COMMAND = 32, 1017 + TBIF_IMAGE = 1, 1018 + TBIF_LPARAM = 16, 1019 + TBIF_SIZE = 64, 1020 + TBIF_STATE = 4, 1021 + TBIF_STYLE = 8, 1022 + TBIF_TEXT = 2 1023 + } 1024 +} 1025 + 1026 +enum { 1027 + TBM_GETPOS = WM_USER, 1028 + TBM_GETRANGEMIN, 1029 + TBM_GETRANGEMAX, 1030 + TBM_GETTIC, 1031 + TBM_SETTIC, 1032 + TBM_SETPOS, 1033 + TBM_SETRANGE, 1034 + TBM_SETRANGEMIN, 1035 + TBM_SETRANGEMAX, 1036 + TBM_CLEARTICS, 1037 + TBM_SETSEL, 1038 + TBM_SETSELSTART, 1039 + TBM_SETSELEND, // = WM_USER+12, 1040 + TBM_GETPTICS = WM_USER+14, 1041 + TBM_GETTICPOS, 1042 + TBM_GETNUMTICS, 1043 + TBM_GETSELSTART, 1044 + TBM_GETSELEND, 1045 + TBM_CLEARSEL, 1046 + TBM_SETTICFREQ, 1047 + TBM_SETPAGESIZE, 1048 + TBM_GETPAGESIZE, 1049 + TBM_SETLINESIZE, 1050 + TBM_GETLINESIZE, 1051 + TBM_GETTHUMBRECT, 1052 + TBM_GETCHANNELRECT, 1053 + TBM_SETTHUMBLENGTH, 1054 + TBM_GETTHUMBLENGTH, 1055 + TBM_SETTOOLTIPS, 1056 + TBM_GETTOOLTIPS, 1057 + TBM_SETTIPSIDE, 1058 + TBM_SETBUDDY, 1059 + TBM_GETBUDDY, // = WM_USER+33, 1060 + TBM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 1061 + TBM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 1062 +} 1063 + 1064 +enum { 1065 + TB_LINEUP, 1066 + TB_LINEDOWN, 1067 + TB_PAGEUP, 1068 + TB_PAGEDOWN, 1069 + TB_THUMBPOSITION, 1070 + TB_THUMBTRACK, 1071 + TB_TOP, 1072 + TB_BOTTOM, 1073 + TB_ENDTRACK // = 8 1074 +} 1075 + 1076 +enum { 1077 + HOTKEYF_SHIFT = 1, 1078 + HOTKEYF_CONTROL = 2, 1079 + HOTKEYF_ALT = 4, 1080 + HOTKEYF_EXT = 8 1081 +} 1082 + 1083 +enum { 1084 + HKCOMB_NONE = 1, 1085 + HKCOMB_S = 2, 1086 + HKCOMB_C = 4, 1087 + HKCOMB_A = 8, 1088 + HKCOMB_SC = 16, 1089 + HKCOMB_SA = 32, 1090 + HKCOMB_CA = 64, 1091 + HKCOMB_SCA = 128 1092 +} 1093 + 1094 +enum { 1095 + HKM_SETHOTKEY = WM_USER + 1, 1096 + HKM_GETHOTKEY = WM_USER + 2, 1097 + HKM_SETRULES = WM_USER + 3 1098 +} 1099 + 1100 +enum { 1101 + PBM_SETRANGE = WM_USER + 1, 1102 + PBM_SETPOS, 1103 + PBM_DELTAPOS, 1104 + PBM_SETSTEP, 1105 + PBM_STEPIT, // = WM_USER + 5 1106 + PBM_SETRANGE32 = 1030, 1107 + PBM_GETRANGE, 1108 + PBM_GETPOS, 1109 + PBM_SETBARCOLOR, // = 1033 1110 + PBM_SETBKCOLOR = CCM_SETBKCOLOR 1111 +} 1112 + 1113 +enum { 1114 + PBS_SMOOTH = 1, 1115 + PBS_VERTICAL = 4 1116 +} 1117 + 1118 +enum { 1119 + LVS_ICON, 1120 + LVS_REPORT, 1121 + LVS_SMALLICON, 1122 + LVS_LIST, // = 3 1123 + LVS_TYPEMASK = 3, 1124 + LVS_SINGLESEL = 4, 1125 + LVS_SHOWSELALWAYS = 8, 1126 + LVS_SORTASCENDING = 16, 1127 + LVS_SORTDESCENDING = 32, 1128 + LVS_SHAREIMAGELISTS = 64, 1129 + LVS_NOLABELWRAP = 128, 1130 + LVS_AUTOARRANGE = 256, 1131 + LVS_EDITLABELS = 512, 1132 + LVS_NOSCROLL = 0x2000, 1133 + LVS_TYPESTYLEMASK = 0xFC00, 1134 + LVS_ALIGNTOP = 0, 1135 + LVS_ALIGNLEFT = 0x800, 1136 + LVS_ALIGNMASK = 0xC00, 1137 + LVS_OWNERDRAWFIXED = 0x400, 1138 + LVS_NOCOLUMNHEADER = 0x4000, 1139 + LVS_NOSORTHEADER = 0x8000 1140 +} 1141 + 1142 +static if (_WIN32_IE >= 0x300) { 1143 + enum { 1144 + CDIS_CHECKED = 8, 1145 + CDIS_DEFAULT = 32, 1146 + CDIS_DISABLED = 4, 1147 + CDIS_FOCUS = 16, 1148 + CDIS_GRAYED = 2, 1149 + CDIS_HOT = 64, 1150 + CDIS_SELECTED = 1, 1151 + CDIS_MARKED = 128, 1152 + CDIS_INDETERMINATE = 256 1153 + } 1154 + 1155 + static if (_WIN32_WINNT >= 0x501) { 1156 + enum { 1157 + CDIS_SHOWKEYBOARDCUES = 512 1158 + } 1159 + } 1160 + 1161 + enum { 1162 + CDDS_POSTERASE = 4, 1163 + CDDS_POSTPAINT = 2, 1164 + CDDS_PREERASE = 3, 1165 + CDDS_PREPAINT = 1, 1166 + CDDS_ITEM = 65536, 1167 + CDDS_ITEMPOSTERASE = 65540, 1168 + CDDS_ITEMPOSTPAINT = 65538, 1169 + CDDS_ITEMPREERASE = 65539, 1170 + CDDS_ITEMPREPAINT = 65537 1171 + } 1172 + 1173 + static if (_WIN32_IE >= 0x400) { 1174 + enum { 1175 + CDDS_SUBITEM = 0x20000 1176 + } 1177 + } 1178 + 1179 + enum { 1180 + CDRF_DODEFAULT = 0x00, 1181 + CDRF_NOTIFYITEMDRAW = 0x20, 1182 + CDRF_NOTIFYSUBITEMDRAW = 0x20, 1183 + CDRF_NOTIFYITEMERASE = 0x80, 1184 + CDRF_NOTIFYPOSTERASE = 0x40, 1185 + CDRF_NOTIFYPOSTPAINT = 0x10, 1186 + CDRF_NEWFONT = 0x02, 1187 + CDRF_SKIPDEFAULT = 0x04 1188 + } 1189 + 1190 + static if (_WIN32_IE >= 0x400) { 1191 + enum { 1192 + LVBKIF_SOURCE_NONE = 0x00000000, 1193 + LVBKIF_SOURCE_HBITMAP = 0x00000001, 1194 + LVBKIF_SOURCE_URL = 0x00000002, 1195 + LVBKIF_SOURCE_MASK = 0x00000003, 1196 + LVBKIF_STYLE_NORMAL = 0x00000000, 1197 + LVBKIF_STYLE_TILE = 0x00000010, 1198 + LVBKIF_STYLE_MASK = 0x00000010 1199 + } 1200 + } 1201 + 1202 + static if (_WIN32_WINNT >= 0x501) { 1203 + enum { 1204 + LVBKIF_FLAG_TILEOFFSET = 0x00000100, 1205 + LVBKIF_TYPE_WATERMARK = 0x10000000 1206 + } 1207 + } 1208 + 1209 + enum { 1210 + LVS_OWNERDATA = 4096 1211 + } 1212 + 1213 + enum { 1214 + LVS_EX_CHECKBOXES = 4, 1215 + LVS_EX_FULLROWSELECT = 32, 1216 + LVS_EX_GRIDLINES = 1, 1217 + LVS_EX_HEADERDRAGDROP = 16, 1218 + LVS_EX_ONECLICKACTIVATE = 64, 1219 + LVS_EX_SUBITEMIMAGES = 2, 1220 + LVS_EX_TRACKSELECT = 8, 1221 + LVS_EX_TWOCLICKACTIVATE = 128 1222 + } 1223 + 1224 + enum { 1225 + LVSICF_NOINVALIDATEALL = 0x00000001, 1226 + LVSICF_NOSCROLL = 0x00000002 1227 + } 1228 + 1229 + static if(_WIN32_IE >= 0x400) { 1230 + enum { 1231 + LVS_EX_FLATSB = 0x00000100, 1232 + LVS_EX_REGIONAL = 0x00000200, 1233 + LVS_EX_INFOTIP = 0x00000400, 1234 + LVS_EX_UNDERLINEHOT = 0x00000800, 1235 + LVS_EX_UNDERLINECOLD = 0x00001000, 1236 + LVS_EX_MULTIWORKAREAS = 0x00002000 1237 + } 1238 + } 1239 + 1240 + static if(_WIN32_IE >= 0x500) { 1241 + enum { 1242 + LVS_EX_LABELTIP = 0x00004000, 1243 + LVS_EX_BORDERSELECT = 0x00008000 1244 + } 1245 + } 1246 +} 1247 + 1248 +enum { 1249 + LVSIL_NORMAL, 1250 + LVSIL_SMALL, 1251 + LVSIL_STATE 1252 +} 1253 + 1254 +enum { 1255 + LVM_GETBKCOLOR = LVM_FIRST, 1256 + LVM_SETBKCOLOR, 1257 + LVM_GETIMAGELIST, 1258 + LVM_SETIMAGELIST, 1259 + LVM_GETITEMCOUNT, // = LVM_FIRST + 4 1260 + LVM_SORTITEMSEX = LVM_FIRST + 81, 1261 + LVM_SETVIEW = LVM_FIRST + 142, 1262 + LVM_GETVIEW, // = LVM_FIRST + 143 1263 + LVM_INSERTGROUP = LVM_FIRST + 145, 1264 + LVM_SETGROUPINFO = LVM_FIRST + 147, 1265 + LVM_GETGROUPINFO = LVM_FIRST + 149, 1266 + LVM_REMOVEGROUP, 1267 + LVM_MOVEGROUP, // = LVM_FIRST + 151 1268 + LVM_SETGROUPMETRICS = LVM_FIRST + 155, 1269 + LVM_GETGROUPMETRICS, 1270 + LVM_ENABLEGROUPVIEW, 1271 + LVM_SORTGROUPS, 1272 + LVM_INSERTGROUPSORTED, 1273 + LVM_REMOVEALLGROUPS, 1274 + LVM_HASGROUP, 1275 + LVM_SETTILEVIEWINFO, 1276 + LVM_GETTILEVIEWINFO, 1277 + LVM_SETTILEINFO, 1278 + LVM_GETTILEINFO, 1279 + LVM_SETINSERTMARK, 1280 + LVM_GETINSERTMARK, 1281 + LVM_INSERTMARKHITTEST, 1282 + LVM_GETINSERTMARKRECT, 1283 + LVM_SETINSERTMARKCOLOR, 1284 + LVM_GETINSERTMARKCOLOR, // = LVM_FIRST + 171 1285 + LVM_SETINFOTIP = LVM_FIRST + 173, 1286 + LVM_GETSELECTEDCOLUMN, 1287 + LVM_ISGROUPVIEWENABLED, 1288 + LVM_GETOUTLINECOLOR, 1289 + LVM_SETOUTLINECOLOR, // = LVM_FIRST + 177 1290 + LVM_CANCELEDITLABEL = LVM_FIRST + 179, 1291 + LVM_MAPIDTOINDEX = LVM_FIRST + 181 1292 +} 1293 + 1294 +static if (_WIN32_WINNT >= 0x501) { 1295 + enum { 1296 + LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140 1297 + } 1298 +} 1299 + 1300 +enum { 1301 + LVIF_TEXT = 1, 1302 + LVIF_IMAGE = 2, 1303 + LVIF_PARAM = 4, 1304 + LVIF_STATE = 8 1305 +} 1306 + 1307 +static if (_WIN32_IE >= 0x300) { 1308 + enum { 1309 + LVIF_INDENT = 16, 1310 + LVIF_NORECOMPUTE = 2048 1311 + } 1312 +} 1313 + 1314 +static if (_WIN32_WINNT >= 0x501) { 1315 + enum { 1316 + LVIF_GROUPID = 128, 1317 + LVIF_COLUMNS = 256 1318 + } 1319 +} 1320 + 1321 +enum { 1322 + LVIS_FOCUSED = 1, 1323 + LVIS_SELECTED = 2, 1324 + LVIS_CUT = 4, 1325 + LVIS_DROPHILITED = 8, 1326 + LVIS_OVERLAYMASK = 0xF00, 1327 + LVIS_STATEIMAGEMASK = 0xF000 1328 +} 1329 + 1330 +const LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR) -1; 1331 +const LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR) -1; 1332 + 1333 +const I_IMAGECALLBACK = -1; 1334 + 1335 +static if(_WIN32_IE >= 0x400) { 1336 + enum { 1337 + LVM_SETBKIMAGEA = LVM_FIRST + 68, 1338 + LVM_SETBKIMAGEW = LVM_FIRST + 138, 1339 + LVM_GETBKIMAGEA = LVM_FIRST + 69, 1340 + LVM_GETBKIMAGEW = LVM_FIRST + 139, 1341 + LV_MAX_WORKAREAS = 16, 1342 + LVM_SETWORKAREAS = LVM_FIRST + 65, 1343 + LVM_GETWORKAREAS = LVM_FIRST + 70, 1344 + LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73, 1345 + LVM_GETSELECTIONMARK = LVM_FIRST + 66, 1346 + LVM_SETSELECTIONMARK = LVM_FIRST + 67, 1347 + LVM_SETHOVERTIME = LVM_FIRST + 71, 1348 + LVM_GETHOVERTIME = LVM_FIRST + 72, 1349 + LVM_SETTOOLTIPS = LVM_FIRST + 74, 1350 + LVM_GETTOOLTIPS = LVM_FIRST + 78, 1351 + LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 1352 + LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 1353 + } 1354 +} 1355 + 1356 +enum { 1357 + LVNI_ALL, 1358 + LVNI_FOCUSED = 1, 1359 + LVNI_SELECTED = 2, 1360 + LVNI_CUT = 4, 1361 + LVNI_DROPHILITED = 8, 1362 + LVNI_ABOVE = 256, 1363 + LVNI_BELOW = 512, 1364 + LVNI_TOLEFT = 1024, 1365 + LVNI_TORIGHT = 2048 1366 +} 1367 + 1368 +enum { 1369 + LVM_GETITEMA = LVM_FIRST + 5, 1370 + LVM_SETITEMA, 1371 + LVM_INSERTITEMA, 1372 + LVM_DELETEITEM, 1373 + LVM_DELETEALLITEMS, 1374 + LVM_GETCALLBACKMASK, 1375 + LVM_SETCALLBACKMASK, 1376 + LVM_GETNEXTITEM, 1377 + LVM_FINDITEMA, 1378 + LVM_GETITEMRECT, 1379 + LVM_SETITEMPOSITION, 1380 + LVM_GETITEMPOSITION, 1381 + LVM_GETSTRINGWIDTHA, 1382 + LVM_HITTEST, 1383 + LVM_ENSUREVISIBLE, 1384 + LVM_SCROLL, 1385 + LVM_REDRAWITEMS, 1386 + LVM_ARRANGE, 1387 + LVM_EDITLABELA, 1388 + LVM_GETEDITCONTROL, 1389 + LVM_GETCOLUMNA, 1390 + LVM_SETCOLUMNA, 1391 + LVM_INSERTCOLUMNA, 1392 + LVM_DELETECOLUMN, 1393 + LVM_GETCOLUMNWIDTH, 1394 + LVM_SETCOLUMNWIDTH, // = LVM_FIRST + 30, 1395 + LVM_CREATEDRAGIMAGE = LVM_FIRST + 33, 1396 + LVM_GETVIEWRECT, 1397 + LVM_GETTEXTCOLOR, 1398 + LVM_SETTEXTCOLOR, 1399 + LVM_GETTEXTBKCOLOR, 1400 + LVM_SETTEXTBKCOLOR, 1401 + LVM_GETTOPINDEX, 1402 + LVM_GETCOUNTPERPAGE, 1403 + LVM_GETORIGIN, 1404 + LVM_UPDATE, 1405 + LVM_SETITEMSTATE, 1406 + LVM_GETITEMSTATE, 1407 + LVM_GETITEMTEXTA, 1408 + LVM_SETITEMTEXTA, 1409 + LVM_SETITEMCOUNT, 1410 + LVM_SORTITEMS, 1411 + LVM_SETITEMPOSITION32, 1412 + LVM_GETSELECTEDCOUNT, 1413 + LVM_GETITEMSPACING, 1414 + LVM_GETISEARCHSTRINGA, // = LVM_FIRST + 52, 1415 + LVM_GETITEMW = LVM_FIRST + 75, 1416 + LVM_SETITEMW = LVM_FIRST + 76, 1417 + LVM_INSERTITEMW = LVM_FIRST + 77, 1418 + LVM_FINDITEMW = LVM_FIRST + 83, 1419 + LVM_GETSTRINGWIDTHW = LVM_FIRST + 87, 1420 + LVM_GETCOLUMNW = LVM_FIRST + 95, 1421 + LVM_SETCOLUMNW = LVM_FIRST + 96, 1422 + LVM_INSERTCOLUMNW = LVM_FIRST + 97, 1423 + LVM_GETITEMTEXTW = LVM_FIRST + 115, 1424 + LVM_SETITEMTEXTW, 1425 + LVM_GETISEARCHSTRINGW, 1426 + LVM_EDITLABELW // = LVM_FIRST + 118, 1427 +} 1428 + 1429 +static if (_WIN32_IE >= 0x300) { 1430 + enum { 1431 + LVM_GETHEADER = LVM_FIRST + 31, 1432 + LVM_SETICONSPACING = LVM_FIRST + 53, 1433 + LVM_SETEXTENDEDLISTVIEWSTYLE, 1434 + LVM_GETEXTENDEDLISTVIEWSTYLE, 1435 + LVM_GETSUBITEMRECT, 1436 + LVM_SUBITEMHITTEST, 1437 + LVM_SETCOLUMNORDERARRAY, 1438 + LVM_GETCOLUMNORDERARRAY, 1439 + LVM_SETHOTITEM, 1440 + LVM_GETHOTITEM, 1441 + LVM_SETHOTCURSOR, 1442 + LVM_GETHOTCURSOR, 1443 + LVM_APPROXIMATEVIEWRECT // = LVM_FIRST + 64, 1444 + } 1445 +} 1446 + 1447 +enum { 1448 + LVFI_PARAM = 1, 1449 + LVFI_STRING = 2, 1450 + LVFI_PARTIAL = 8, 1451 + LVFI_WRAP = 32, 1452 + LVFI_NEARESTXY = 64 1453 +} 1454 + 1455 +enum { 1456 + LVIF_DI_SETITEM = 0x1000 1457 +} 1458 + 1459 +enum { 1460 + LVIR_BOUNDS, 1461 + LVIR_ICON, 1462 + LVIR_LABEL, 1463 + LVIR_SELECTBOUNDS // = 3 1464 +} 1465 + 1466 +enum { 1467 + LVHT_NOWHERE = 1, 1468 + LVHT_ONITEMICON = 2, 1469 + LVHT_ONITEMLABEL = 4, 1470 + LVHT_ONITEMSTATEICON = 8, 1471 + LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL 1472 + | LVHT_ONITEMSTATEICON, 1473 + LVHT_ABOVE = 8, 1474 + LVHT_BELOW = 16, 1475 + LVHT_TORIGHT = 32, 1476 + LVHT_TOLEFT = 64 1477 +} 1478 + 1479 +enum { 1480 + LVA_DEFAULT = 0, 1481 + LVA_ALIGNLEFT = 1, 1482 + LVA_ALIGNTOP = 2, 1483 + LVA_SNAPTOGRID = 5 1484 +} 1485 + 1486 +enum { 1487 + LVCF_FMT = 1, 1488 + LVCF_WIDTH = 2, 1489 + LVCF_TEXT = 4, 1490 + LVCF_SUBITEM = 8 1491 +} 1492 + 1493 +static if (_WIN32_IE >= 0x300) { 1494 + enum { 1495 + LVCF_IMAGE = 16, 1496 + LVCF_ORDER = 32 1497 + } 1498 +} 1499 + 1500 +enum { 1501 + LVCFMT_LEFT, 1502 + LVCFMT_RIGHT, 1503 + LVCFMT_CENTER, 1504 + LVCFMT_JUSTIFYMASK // = 3 1505 +} 1506 + 1507 +static if (_WIN32_IE >= 0x300) { 1508 + enum { 1509 + LVCFMT_IMAGE = 2048, 1510 + LVCFMT_BITMAP_ON_RIGHT = 4096, 1511 + LVCFMT_COL_HAS_IMAGES = 32768 1512 + } 1513 +} 1514 + 1515 +enum { 1516 + LVSCW_AUTOSIZE = -1, 1517 + LVSCW_AUTOSIZE_USEHEADER = -2 1518 +} 1519 + 1520 +enum { 1521 + LVN_ITEMCHANGING = LVN_FIRST, 1522 + LVN_ITEMCHANGED = LVN_FIRST - 1, 1523 + LVN_INSERTITEM = LVN_FIRST - 2, 1524 + LVN_DELETEITEM = LVN_FIRST - 3, 1525 + LVN_DELETEALLITEMS = LVN_FIRST - 4, 1526 + LVN_BEGINLABELEDITA = LVN_FIRST - 5, 1527 + LVN_ENDLABELEDITA = LVN_FIRST - 6, 1528 + LVN_COLUMNCLICK = LVN_FIRST - 8, 1529 + LVN_BEGINDRAG = LVN_FIRST - 9, 1530 + LVN_BEGINRDRAG = LVN_FIRST - 11, 1531 + LVN_GETDISPINFOA = LVN_FIRST - 50, 1532 + LVN_SETDISPINFOA = LVN_FIRST - 51, 1533 + LVN_KEYDOWN = LVN_FIRST - 55, 1534 + LVN_BEGINLABELEDITW = LVN_FIRST - 75, 1535 + LVN_ENDLABELEDITW = LVN_FIRST - 76, 1536 + LVN_GETDISPINFOW = LVN_FIRST - 77, 1537 + LVN_SETDISPINFOW = LVN_FIRST - 78 1538 +} 1539 + 1540 +static if (_WIN32_IE >= 0x400) { 1541 + enum { 1542 + LVN_MARQUEEBEGIN = LVN_FIRST - 56, 1543 + LVN_GETINFOTIPA = LVN_FIRST - 57, 1544 + LVN_GETINFOTIPW = LVN_FIRST - 58, 1545 + LVKF_ALT = 1, 1546 + LVKF_CONTROL = 2, 1547 + LVKF_SHIFT = 4, 1548 + LVGIT_UNFOLDED = 1 1549 + } 1550 +} 1551 + 1552 +enum { 1553 + TVS_HASBUTTONS = 1, 1554 + TVS_HASLINES = 2, 1555 + TVS_LINESATROOT = 4, 1556 + TVS_EDITLABELS = 8, 1557 + TVS_DISABLEDRAGDROP = 16, 1558 + TVS_SHOWSELALWAYS = 32 1559 +} 1560 + 1561 +static if (_WIN32_IE >= 0x300) { 1562 + enum { 1563 + TVS_RTLREADING = 64, 1564 + TVS_NOTOOLTIPS = 128, 1565 + TVS_CHECKBOXES = 256, 1566 + TVS_TRACKSELECT = 512 1567 + } 1568 +} 1569 + 1570 +static if (_WIN32_IE >= 0x400) { 1571 + enum { 1572 + TVS_SINGLEEXPAND = 1024, 1573 + TVS_INFOTIP = 2048, 1574 + TVS_FULLROWSELECT = 4096, 1575 + TVS_NOSCROLL = 8192, 1576 + TVS_NONEVENHEIGHT = 16384 1577 + } 1578 +} 1579 + 1580 +static if (_WIN32_IE >= 0x500) { 1581 + enum { 1582 + TVS_NOHSCROLL = 0x8000 1583 + } 1584 +} 1585 + 1586 +enum { 1587 + TVIF_TEXT = 1, 1588 + TVIF_IMAGE = 2, 1589 + TVIF_PARAM = 4, 1590 + TVIF_STATE = 8, 1591 + TVIF_HANDLE = 16, 1592 + TVIF_SELECTEDIMAGE = 32, 1593 + TVIF_CHILDREN = 64 1594 +} 1595 + 1596 +static if (_WIN32_IE >= 0x400) { 1597 + enum { 1598 + TVIF_INTEGRAL = 0x0080 1599 + } 1600 +} 1601 + 1602 +enum { 1603 + TVIS_FOCUSED = 1, 1604 + TVIS_SELECTED = 2, 1605 + TVIS_CUT = 4, 1606 + TVIS_DROPHILITED = 8, 1607 + TVIS_BOLD = 16, 1608 + TVIS_EXPANDED = 32, 1609 + TVIS_EXPANDEDONCE = 64, 1610 + TVIS_OVERLAYMASK = 0xF00, 1611 + TVIS_STATEIMAGEMASK = 0xF000, 1612 + TVIS_USERMASK = 0xF000 1613 +} 1614 + 1615 +enum { 1616 + I_CHILDRENCALLBACK = -1 1617 +} 1618 + 1619 +alias HANDLE HTREEITEM; 1620 + 1621 +const HTREEITEM 1622 + TVI_ROOT = cast(HTREEITEM) 0xFFFF0000, 1623 + TVI_FIRST = cast(HTREEITEM) 0xFFFF0001, 1624 + TVI_LAST = cast(HTREEITEM) 0xFFFF0002, 1625 + TVI_SORT = cast(HTREEITEM) 0xFFFF0003; 1626 + 1627 +enum { 1628 + TVSIL_NORMAL = 0, 1629 + TVSIL_STATE = 2 1630 +} 1631 + 1632 +enum { 1633 + TVM_INSERTITEMA = TV_FIRST, 1634 + TVM_DELETEITEM = TV_FIRST + 1, 1635 + TVM_EXPAND = TV_FIRST + 2, 1636 + TVM_GETITEMRECT = TV_FIRST + 4, 1637 + TVM_GETCOUNT, 1638 + TVM_GETINDENT, 1639 + TVM_SETINDENT, 1640 + TVM_GETIMAGELIST, 1641 + TVM_SETIMAGELIST, 1642 + TVM_GETNEXTITEM, 1643 + TVM_SELECTITEM, 1644 + TVM_GETITEMA, 1645 + TVM_SETITEMA, 1646 + TVM_EDITLABELA, 1647 + TVM_GETEDITCONTROL, 1648 + TVM_GETVISIBLECOUNT, 1649 + TVM_HITTEST, 1650 + TVM_CREATEDRAGIMAGE, 1651 + TVM_SORTCHILDREN, 1652 + TVM_ENSUREVISIBLE, 1653 + TVM_SORTCHILDRENCB, 1654 + TVM_ENDEDITLABELNOW, 1655 + TVM_GETISEARCHSTRINGA, // = TV_FIRST + 23 1656 + TVM_INSERTITEMW = TV_FIRST + 50, 1657 + TVM_GETITEMW = TV_FIRST + 62, 1658 + TVM_SETITEMW = TV_FIRST + 63, 1659 + TVM_GETISEARCHSTRINGW = TV_FIRST + 64, 1660 + TVM_EDITLABELW = TV_FIRST + 65 1661 +} 1662 + 1663 +static if (_WIN32_IE >= 0x300) { 1664 + enum { 1665 + TVM_GETTOOLTIPS = TV_FIRST + 25, 1666 + TVM_SETTOOLTIPS = TV_FIRST + 24 1667 + } 1668 +} 1669 + 1670 +static if (_WIN32_IE >= 0x400) { 1671 + enum { 1672 + TVM_SETINSERTMARK = TV_FIRST + 26, 1673 + TVM_SETITEMHEIGHT, 1674 + TVM_GETITEMHEIGHT, 1675 + TVM_SETBKCOLOR, 1676 + TVM_SETTEXTCOLOR, 1677 + TVM_GETBKCOLOR, 1678 + TVM_GETTEXTCOLOR, 1679 + TVM_SETSCROLLTIME, 1680 + TVM_GETSCROLLTIME, // = TV_FIRST + 34 1681 + TVM_SETINSERTMARKCOLOR = TV_FIRST + 37, 1682 + TVM_GETINSERTMARKCOLOR = TV_FIRST + 38, 1683 + TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 1684 + TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 1685 + } 1686 +} 1687 + 1688 +static if (_WIN32_IE >= 0x500) { 1689 + enum { 1690 + TVM_GETITEMSTATE = TV_FIRST + 39, 1691 + TVM_SETLINECOLOR = TV_FIRST + 40, 1692 + TVM_GETLINECOLOR = TV_FIRST + 41 1693 + } 1694 +} 1695 + 1696 +enum { 1697 + TVE_COLLAPSE = 1, 1698 + TVE_EXPAND = 2, 1699 + TVE_TOGGLE = 3, 1700 + TVE_COLLAPSERESET = 0x8000 1701 +} 1702 + 1703 +static if (_WIN32_IE >= 0x300) { 1704 + enum { 1705 + TVE_EXPANDPARTIAL = 0x4000 1706 + } 1707 +} 1708 + 1709 +enum { 1710 + TVC_UNKNOWN, 1711 + TVC_BYMOUSE, 1712 + TVC_BYKEYBOARD // = 2 1713 +} 1714 + 1715 +enum { 1716 + TVGN_ROOT, 1717 + TVGN_NEXT, 1718 + TVGN_PREVIOUS, 1719 + TVGN_PARENT, 1720 + TVGN_CHILD, 1721 + TVGN_FIRSTVISIBLE, 1722 + TVGN_NEXTVISIBLE, 1723 + TVGN_PREVIOUSVISIBLE, 1724 + TVGN_DROPHILITE, 1725 + TVGN_CARET // = 9 1726 +} 1727 + 1728 +static if (_WIN32_IE >= 0x400) { 1729 + enum { 1730 + TVGN_LASTVISIBLE = 10 1731 + } 1732 +} 1733 + 1734 +enum { 1735 + TVN_SELCHANGINGA = TVN_FIRST - 1, 1736 + TVN_SELCHANGEDA = TVN_FIRST - 2, 1737 + TVN_GETDISPINFOA = TVN_FIRST - 3, 1738 + TVN_SETDISPINFOA = TVN_FIRST - 4, 1739 + TVN_ITEMEXPANDINGA = TVN_FIRST - 5, 1740 + TVN_ITEMEXPANDEDA = TVN_FIRST - 6, 1741 + TVN_BEGINDRAGA = TVN_FIRST - 7, 1742 + TVN_BEGINRDRAGA = TVN_FIRST - 8, 1743 + TVN_DELETEITEMA = TVN_FIRST - 9, 1744 + TVN_BEGINLABELEDITA = TVN_FIRST - 10, 1745 + TVN_ENDLABELEDITA = TVN_FIRST - 11, 1746 + TVN_KEYDOWN = TVN_FIRST - 12, 1747 + TVN_SELCHANGINGW = TVN_FIRST - 50, 1748 + TVN_SELCHANGEDW = TVN_FIRST - 51, 1749 + TVN_GETDISPINFOW = TVN_FIRST - 52, 1750 + TVN_SETDISPINFOW = TVN_FIRST - 53, 1751 + TVN_ITEMEXPANDINGW = TVN_FIRST - 54, 1752 + TVN_ITEMEXPANDEDW = TVN_FIRST - 55, 1753 + TVN_BEGINDRAGW = TVN_FIRST - 56, 1754 + TVN_BEGINRDRAGW = TVN_FIRST - 57, 1755 + TVN_DELETEITEMW = TVN_FIRST - 58, 1756 + TVN_BEGINLABELEDITW = TVN_FIRST - 59, 1757 + TVN_ENDLABELEDITW = TVN_FIRST - 60 1758 +} 1759 + 1760 +static if (_WIN32_IE >= 0x400) { 1761 + enum { 1762 + TVNRET_DEFAULT = 0, 1763 + TVNRET_SKIPOLD = 1, 1764 + TVNRET_SKIPNEW = 2, 1765 + TVN_GETINFOTIPA = TVN_FIRST - 13, 1766 + TVN_GETINFOTIPW = TVN_FIRST - 14, 1767 + TVN_SINGLEEXPAND = TVN_FIRST - 15 1768 + } 1769 +} 1770 + 1771 +enum { 1772 + TVIF_DI_SETITEM = 0x1000 1773 +} 1774 + 1775 +enum { 1776 + TVHT_NOWHERE = 1, 1777 + TVHT_ONITEMICON = 2, 1778 + TVHT_ONITEMLABEL = 4, 1779 + TVHT_ONITEMINDENT = 8, 1780 + TVHT_ONITEMBUTTON = 16, 1781 + TVHT_ONITEMRIGHT = 32, 1782 + TVHT_ONITEMSTATEICON = 64, 1783 + TVHT_ABOVE = 256, 1784 + TVHT_BELOW = 512, 1785 + TVHT_TORIGHT = 1024, 1786 + TVHT_TOLEFT = 2048, 1787 + TCHT_NOWHERE = 1, 1788 + TCHT_ONITEMICON = 2, 1789 + TCHT_ONITEMLABEL = 4, 1790 + TVHT_ONITEM = TVHT_ONITEMICON | TVHT_ONITEMLABEL 1791 + | TVHT_ONITEMSTATEICON, 1792 + TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL 1793 +} 1794 + 1795 +enum { 1796 + TCS_TABS = 0, 1797 + TCS_RIGHTJUSTIFY = 0, 1798 + TCS_SINGLELINE = 0, 1799 + TCS_FORCEICONLEFT = 16, 1800 + TCS_FORCELABELLEFT = 32, 1801 + TCS_BUTTONS = 256, 1802 + TCS_MULTILINE = 512, 1803 + TCS_FIXEDWIDTH = 1024, 1804 + TCS_RAGGEDRIGHT = 2048, 1805 + TCS_FOCUSONBUTTONDOWN = 0x1000, 1806 + TCS_OWNERDRAWFIXED = 0x2000, 1807 + TCS_TOOLTIPS = 0x4000, 1808 + TCS_FOCUSNEVER = 0x8000 1809 +} 1810 + 1811 +static if (_WIN32_IE >= 0x300) { 1812 + enum { 1813 + TCS_BOTTOM = 2, 1814 + TCS_RIGHT = 2, 1815 + TCS_VERTICAL = 128, 1816 + TCS_SCROLLOPPOSITE = 0x0001, 1817 + TCS_HOTTRACK = 0x0040, 1818 + TCS_MULTISELECT = 0x0004 1819 + } 1820 +} 1821 + 1822 +static if(_WIN32_IE >= 0x400) { 1823 + enum { 1824 + TCS_FLATBUTTONS = 0x0008, 1825 + TCS_EX_FLATSEPARATORS = 0x00000001, 1826 + TCS_EX_REGISTERDROP = 0x00000002 1827 + } 1828 +} 1829 + 1830 +enum { 1831 + TCIF_TEXT = 1, 1832 + TCIF_IMAGE = 2, 1833 + TCIF_RTLREADING = 4, 1834 + TCIF_PARAM = 8 1835 +} 1836 + 1837 +static if (_WIN32_IE >= 0x400) { 1838 + enum { 1839 + TCIF_STATE = 16 1840 + } 1841 +} 1842 + 1843 +enum { 1844 + TCIS_BUTTONPRESSED = 1 1845 +} 1846 + 1847 +static if (_WIN32_IE >= 0x400) { 1848 + enum { 1849 + TCIS_HIGHLIGHTED = 2 1850 + } 1851 +} 1852 + 1853 +enum { 1854 + TCM_FIRST = 0x1300, 1855 + TCM_GETIMAGELIST = TCM_FIRST + 2, 1856 + TCM_SETIMAGELIST, 1857 + TCM_GETITEMCOUNT, 1858 + TCM_GETITEMA, 1859 + TCM_SETITEMA, 1860 + TCM_INSERTITEMA, 1861 + TCM_DELETEITEM, 1862 + TCM_DELETEALLITEMS, 1863 + TCM_GETITEMRECT, 1864 + TCM_GETCURSEL, 1865 + TCM_SETCURSEL, 1866 + TCM_HITTEST, 1867 + TCM_SETITEMEXTRA, // = TCM_FIRST + 14 1868 + TCM_ADJUSTRECT = TCM_FIRST + 40, 1869 + TCM_SETITEMSIZE, 1870 + TCM_REMOVEIMAGE, 1871 + TCM_SETPADDING, 1872 + TCM_GETROWCOUNT, 1873 + TCM_GETTOOLTIPS, 1874 + TCM_SETTOOLTIPS, 1875 + TCM_GETCURFOCUS, 1876 + TCM_SETCURFOCUS, 1877 + TCM_SETMINTABWIDTH, 1878 + TCM_DESELECTALL, // = TCM_FIRST + 50 1879 + TCM_GETITEMW = TCM_FIRST + 60, 1880 + TCM_SETITEMW = TCM_FIRST + 61, 1881 + TCM_INSERTITEMW = TCM_FIRST + 62 1882 +} 1883 + 1884 +static if (_WIN32_IE >=0x0400) { 1885 + enum { 1886 + TCM_HIGHLIGHTITEM = TCM_FIRST + 51, 1887 + TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52, 1888 + TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53, 1889 + TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 1890 + TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 1891 + } 1892 +} 1893 + 1894 +enum { 1895 + TCN_KEYDOWN = TCN_FIRST, 1896 + TCN_SELCHANGE = TCN_FIRST - 1, 1897 + TCN_SELCHANGING = TCN_FIRST - 2 1898 +} 1899 + 1900 +enum { 1901 + NM_OUTOFMEMORY = NM_FIRST - 1, 1902 + NM_CLICK = NM_FIRST - 2, 1903 + NM_DBLCLK = NM_FIRST - 3, 1904 + NM_RETURN = NM_FIRST - 4, 1905 + NM_RCLICK = NM_FIRST - 5, 1906 + NM_RDBLCLK = NM_FIRST - 6, 1907 + NM_SETFOCUS = NM_FIRST - 7, 1908 + NM_KILLFOCUS = NM_FIRST - 8, 1909 + NM_CUSTOMDRAW = NM_FIRST - 12, 1910 + NM_HOVER = NM_FIRST - 13, 1911 + NM_NCHITTEST = NM_FIRST - 14, 1912 + NM_KEYDOWN = NM_FIRST - 15, 1913 + NM_RELEASEDCAPTURE = NM_FIRST - 16, 1914 + NM_SETCURSOR = NM_FIRST - 17, 1915 + NM_CHAR = NM_FIRST - 18, 1916 + NM_TOOLTIPSCREATED = NM_FIRST - 19 1917 +} 1918 + 1919 +enum { 1920 + SBARS_SIZEGRIP = 256 1921 +} 1922 + 1923 +/*enum { 1924 + CCM_FIRST = 0x2000, 1925 + CCM_LAST = CCM_FIRST + 0x200, 1926 + CCM_SETBKCOLOR = 8193, 1927 + CCM_SETCOLORSCHEME = 8194, 1928 + CCM_GETCOLORSCHEME = 8195, 1929 + CCM_GETDROPTARGET = 8196, 1930 + CCM_SETUNICODEFORMAT = 8197, 1931 + CCM_GETUNICODEFORMAT = 8198, 1932 + CCM_SETVERSION = 0x2007, 1933 + CCM_GETVERSION = 0x2008, 1934 + CCM_SETNOTIFYWINDOW = 0x2009 1935 +}*/ 1936 + 1937 +static if (_WIN32_WINNT >= 0x501) { 1938 + enum { 1939 + CCM_SETWINDOWTHEME = 0x200b, 1940 + CCM_DPISCALE = 0x200c 1941 + } 1942 +} 1943 + 1944 +enum { 1945 + ICC_LISTVIEW_CLASSES = 1, 1946 + ICC_TREEVIEW_CLASSES = 2, 1947 + ICC_BAR_CLASSES = 4, 1948 + ICC_TAB_CLASSES = 8, 1949 + ICC_UPDOWN_CLASS = 16, 1950 + ICC_PROGRESS_CLASS = 32, 1951 + ICC_HOTKEY_CLASS = 64, 1952 + ICC_ANIMATE_CLASS = 128, 1953 + ICC_WIN95_CLASSES = 255, 1954 + ICC_DATE_CLASSES = 256, 1955 + ICC_USEREX_CLASSES = 512, 1956 + ICC_COOL_CLASSES = 1024 1957 +} 1958 + 1959 +static if (_WIN32_IE >= 0x400) { 1960 + enum { 1961 + INFOTIPSIZE = 1024, 1962 + ICC_INTERNET_CLASSES = 2048, 1963 + ICC_PAGESCROLLER_CLASS = 4096, 1964 + ICC_NATIVEFNTCTL_CLASS = 8192 1965 + } 1966 +} 1967 + 1968 +static if (_WIN32_WINNT >= 0x501) { 1969 + enum { 1970 + ICC_STANDARD_CLASSES = 0x00004000, 1971 + ICC_LINK_CLASS = 0x00008000 1972 + } 1973 +} 1974 + 1975 +enum { 1976 + GDTR_MIN = 1, 1977 + GDTR_MAX = 2 1978 +} 1979 + 1980 +enum { 1981 + GMR_VISIBLE, 1982 + GMR_DAYSTATE 1983 +} 1984 + 1985 +enum { 1986 + GDT_ERROR = -1, 1987 + GDT_VALID = 0, 1988 + GDT_NONE = 1 1989 +} 1990 + 1991 +enum { 1992 + DTS_SHORTDATEFORMAT = 0, 1993 + DTS_UPDOWN = 1, 1994 + DTS_SHOWNONE = 2, 1995 + DTS_LONGDATEFORMAT = 4, 1996 + DTS_TIMEFORMAT = 9, 1997 + DTS_APPCANPARSE = 16, 1998 + DTS_RIGHTALIGN = 32 1999 +} 2000 + 2001 +static if (_WIN32_IE >= 0x500) { 2002 + enum { 2003 + DTS_SHORTDATECENTURYFORMAT = 0x000C 2004 + } 2005 +} 2006 + 2007 +enum { 2008 + MCS_DAYSTATE = 1, 2009 + MCS_MULTISELECT = 2, 2010 + MCS_WEEKNUMBERS = 4 2011 +} 2012 + 2013 +static if (_WIN32_IE >= 0x400) { 2014 + enum { 2015 + MCS_NOTODAYCIRCLE = 0x0008, 2016 + MCS_NOTODAY = 0x0010 2017 + } 2018 +} else { 2019 + enum { 2020 + MCS_NOTODAY = 0x0008 2021 + } 2022 +} 2023 + 2024 +enum { 2025 + DTM_GETSYSTEMTIME = 0x1001, 2026 + DTM_SETSYSTEMTIME = 0x1002, 2027 + DTM_GETRANGE = 0x1003, 2028 + DTM_SETRANGE = 0x1004, 2029 + DTM_SETFORMATA = 0x1005, 2030 + DTM_SETMCCOLOR = 0x1006, 2031 + DTM_GETMCCOLOR = 0x1007, 2032 + DTM_GETMONTHCAL = 0x1008, 2033 + DTM_SETMCFONT = 0x1009, 2034 + DTM_GETMCFONT = 0x100a, 2035 + DTM_SETFORMATW = 0x1050 2036 +} 2037 + 2038 +enum { 2039 + DTN_USERSTRINGA = -758U, 2040 + DTN_USERSTRINGW = -745U, 2041 + DTN_WMKEYDOWNA = -757U, 2042 + DTN_WMKEYDOWNW = -744U, 2043 + DTN_FORMATA = -756U, 2044 + DTN_FORMATW = -743U, 2045 + DTN_FORMATQUERYA = -755U, 2046 + DTN_FORMATQUERYW = -742U, 2047 + DTN_DROPDOWN = -754U, 2048 + DTN_CLOSEUP = -753U, 2049 + DTN_DATETIMECHANGE = -759U, 2050 +} 2051 + 2052 +enum { 2053 + MCM_GETCURSEL = 0x1001, 2054 + MCM_SETCURSEL = 0x1002, 2055 + MCM_GETMAXSELCOUNT = 0x1003, 2056 + MCM_SETMAXSELCOUNT = 0x1004, 2057 + MCM_GETSELRANGE = 0x1005, 2058 + MCM_SETSELRANGE = 0x1006, 2059 + MCM_GETMONTHRANGE = 0x1007, 2060 + MCM_SETDAYSTATE = 0x1008, 2061 + MCM_GETMINREQRECT = 0x1009, 2062 + MCM_SETCOLOR = 0x100a, 2063 + MCM_GETCOLOR = 0x100b, 2064 + MCM_SETTODAY = 0x100c, 2065 + MCM_GETTODAY = 0x100d, 2066 + MCM_HITTEST = 0x100e, 2067 + MCM_SETFIRSTDAYOFWEEK = 0x100f, 2068 + MCM_GETFIRSTDAYOFWEEK = 0x1010, 2069 + MCM_GETRANGE = 0x1011, 2070 + MCM_SETRANGE = 0x1012, 2071 + MCM_GETMONTHDELTA = 0x1013, 2072 + MCM_SETMONTHDELTA = 0x1014, 2073 + MCM_GETMAXTODAYWIDTH = 0x1015, 2074 + MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT, 2075 + MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT 2076 +} 2077 + 2078 +enum { 2079 + MCN_SELCHANGE = -749U, 2080 + MCN_GETDAYSTATE = -747U, 2081 + MCN_SELECT = -746U 2082 +} 2083 + 2084 +enum { 2085 + ODT_HEADER = 100, 2086 + ODT_TAB, 2087 + ODT_LISTVIEW // = 102 2088 +} 2089 + 2090 +enum { 2091 + SB_SETBKCOLOR = 0x2001 2092 +} 2093 + 2094 +static if (_WIN32_IE >= 0x300) { 2095 + enum { 2096 + SB_ISSIMPLE = 1038 2097 + } 2098 + 2099 + enum { 2100 + MCSC_BACKGROUND, 2101 + MCSC_TEXT, 2102 + MCSC_TITLEBK, 2103 + MCSC_TITLETEXT, 2104 + MCSC_MONTHBK, 2105 + MCSC_TRAILINGTEXT // = 5 2106 + } 2107 +} 2108 + 2109 +static if (_WIN32_IE >= 0x400) { 2110 + enum { 2111 + MCHT_TITLE = 0x10000, 2112 + MCHT_CALENDAR = 0x20000, 2113 + MCHT_TODAYLINK = 0x30000, 2114 + MCHT_NEXT = 0x1000000, 2115 + MCHT_PREV = 0x2000000, 2116 + MCHT_NOWHERE = 0x00, 2117 + MCHT_TITLEBK = MCHT_TITLE, 2118 + MCHT_TITLEMONTH = MCHT_TITLE | 0x0001, 2119 + MCHT_TITLEYEAR = MCHT_TITLE | 0x0002, 2120 + MCHT_TITLEBTNNEXT = MCHT_TITLE | MCHT_NEXT | 0x0003, 2121 + MCHT_TITLEBTNPREV = MCHT_TITLE | MCHT_PREV | 0x0003, 2122 + MCHT_CALENDARBK = MCHT_CALENDAR, 2123 + MCHT_CALENDARDATE = MCHT_CALENDAR | 0x0001, 2124 + MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE | MCHT_NEXT, 2125 + MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE | MCHT_PREV, 2126 + MCHT_CALENDARDAY = MCHT_CALENDAR | 0x0002, 2127 + MCHT_CALENDARWEEKNUM = MCHT_CALENDAR | 0x0003 2128 + } 2129 +} 2130 + 2131 +enum { 2132 + RBS_TOOLTIPS = 256, 2133 + RBS_VARHEIGHT = 512, 2134 + RBS_BANDBORDERS = 1024, 2135 + RBS_FIXEDORDER = 2048 2136 +} 2137 + 2138 +enum { 2139 + RBIM_IMAGELIST = 1 2140 +} 2141 + 2142 +enum { 2143 + RB_SETCOLORSCHEME = CCM_SETCOLORSCHEME, 2144 + RB_GETCOLORSCHEME = CCM_GETCOLORSCHEME 2145 +} 2146 + 2147 +enum { 2148 + RBBS_BREAK = 0x0001, 2149 + RBBS_FIXEDSIZE = 0x0002, 2150 + RBBS_CHILDEDGE = 0x0004, 2151 + RBBS_HIDDEN = 0x0008, 2152 + RBBS_NOVERT = 0x0010, 2153 + RBBS_FIXEDBMP = 0x0020, 2154 + RBBS_VARIABLEHEIGHT = 0x0040, 2155 + RBBS_GRIPPERALWAYS = 0x0080, 2156 + RBBS_NOGRIPPER = 0x0100 2157 +} 2158 + 2159 +static if (_WIN32_IE >= 0x500) { 2160 + enum { 2161 + RBBS_USECHEVRON = 0x0200 2162 + } 2163 +} 2164 + 2165 +static if (_WIN32_IE >= 0x501) { 2166 + enum { 2167 + RBBS_HIDETITLE = 0x0400, 2168 + RBBS_TOPALIGN = 0x0800 2169 + } 2170 +} 2171 + 2172 +enum { 2173 + RBBIM_STYLE = 1, 2174 + RBBIM_COLORS = 2, 2175 + RBBIM_TEXT = 4, 2176 + RBBIM_IMAGE = 8, 2177 + RBBIM_CHILD = 16, 2178 + RBBIM_CHILDSIZE = 32, 2179 + RBBIM_SIZE = 64, 2180 + RBBIM_BACKGROUND = 128, 2181 + RBBIM_ID = 256 2182 +} 2183 + 2184 +enum { 2185 + RB_INSERTBANDA = WM_USER + 1, 2186 + RB_DELETEBAND, 2187 + RB_GETBARINFO, 2188 + RB_SETBARINFO, // = WM_USER + 4 2189 + RB_SETBANDINFOA = WM_USER + 6, 2190 + RB_SETPARENT = WM_USER + 7, 2191 + RB_INSERTBANDW = WM_USER + 10, 2192 + RB_SETBANDINFOW, 2193 + RB_GETBANDCOUNT, 2194 + RB_GETROWCOUNT, 2195 + RB_GETROWHEIGHT // = WM_USER + 14, 2196 +} 2197 + 2198 +enum { 2199 + RBN_HEIGHTCHANGE = RBN_FIRST 2200 +} 2201 + 2202 +static if (_WIN32_IE >= 0x300) { 2203 + enum { 2204 + LVN_ODCACHEHINT = LVN_FIRST - 13, 2205 + LVN_ODFINDITEMA = LVN_FIRST - 52, 2206 + LVN_ODFINDITEMW = LVN_FIRST - 79, 2207 + LVN_ITEMACTIVATE = LVN_FIRST - 14, 2208 + LVN_ODSTATECHANGED = LVN_FIRST - 15 2209 + } 2210 + 2211 + version (Unicode) { 2212 + enum { 2213 + LVN_ODFINDITEM = LVN_ODFINDITEMW 2214 + } 2215 + } else { 2216 + enum { 2217 + LVN_ODFINDITEM = LVN_ODFINDITEMA 2218 + } 2219 + } 2220 +} 2221 + 2222 +static if (_WIN32_IE >= 0x400) { 2223 + enum { 2224 + SB_SETICON = 1039, 2225 + SB_SETTIPTEXTA, 2226 + SB_SETTIPTEXTW, 2227 + SB_GETTIPTEXTA, 2228 + SB_GETTIPTEXTW, 2229 + SB_GETICON, // = 1044 2230 + SB_SETUNICODEFORMAT = 0x2005, 2231 + SB_GETUNICODEFORMAT = 0x2006 2232 + } 2233 + 2234 + enum { 2235 + PGF_INVISIBLE = 0, 2236 + PGF_NORMAL = 1, 2237 + PGF_GRAYED = 2, 2238 + PGF_DEPRESSED = 4, 2239 + PGF_HOT = 8 2240 + } 2241 + 2242 + enum { 2243 + PGB_TOPORLEFT, 2244 + PGB_BOTTOMORRIGHT 2245 + } 2246 + 2247 + enum { 2248 + PGF_SCROLLUP = 1, 2249 + PGF_SCROLLDOWN = 2, 2250 + PGF_SCROLLLEFT = 4, 2251 + PGF_SCROLLRIGHT = 8 2252 + } 2253 + 2254 + enum { 2255 + PGK_SHIFT = 1, 2256 + PGK_CONTROL = 2, 2257 + PGK_MENU = 4 2258 + } 2259 + 2260 + enum { 2261 + PGF_CALCWIDTH = 1, 2262 + PGF_CALCHEIGHT = 2 2263 + } 2264 + 2265 + enum { 2266 + PGM_FIRST = 0x1400, 2267 + PGM_SETCHILD = PGM_FIRST + 1, 2268 + PGM_RECALCSIZE, 2269 + PGM_FORWARDMOUSE, 2270 + PGM_SETBKCOLOR, 2271 + PGM_GETBKCOLOR, 2272 + PGM_SETBORDER, 2273 + PGM_GETBORDER, 2274 + PGM_SETPOS, 2275 + PGM_GETPOS, 2276 + PGM_SETBUTTONSIZE, 2277 + PGM_GETBUTTONSIZE, 2278 + PGM_GETBUTTONSTATE, // = PGM_FIRST + 12 2279 + PGM_GETDROPTARGET = CCM_GETDROPTARGET 2280 + } 2281 + 2282 + enum { 2283 + RBS_REGISTERDROP = 4096, 2284 + RBS_AUTOSIZE = 8192, 2285 + RBS_VERTICALGRIPPER = 16384, 2286 + RBS_DBLCLKTOGGLE = 32768 2287 + } 2288 + 2289 + enum { 2290 + RBBIM_IDEALSIZE = 512, 2291 + RBBIM_LPARAM = 1024, 2292 + RBBIM_HEADERSIZE = 2048 2293 + } 2294 + 2295 + enum { 2296 + RB_HITTEST = WM_USER + 8, 2297 + RB_GETRECT = WM_USER + 9, 2298 + RB_IDTOINDEX = WM_USER + 16, 2299 + RB_GETTOOLTIPS, 2300 + RB_SETTOOLTIPS, 2301 + RB_SETBKCOLOR, 2302 + RB_GETBKCOLOR, 2303 + RB_SETTEXTCOLOR, 2304 + RB_GETTEXTCOLOR, 2305 + RB_SIZETORECT, 2306 + RB_BEGINDRAG, 2307 + RB_ENDDRAG, 2308 + RB_DRAGMOVE, 2309 + RB_GETBARHEIGHT, 2310 + RB_GETBANDINFOW, 2311 + RB_GETBANDINFOA, 2312 + RB_MINIMIZEBAND, 2313 + RB_MAXIMIZEBAND, // = WM_USER + 31 2314 + RB_GETDROPTARGET = CCM_GETDROPTARGET, 2315 + RB_GETBANDBORDERS = WM_USER + 34, 2316 + RB_SHOWBAND = WM_USER + 35, 2317 + RB_SETPALETTE = WM_USER + 37, 2318 + RB_GETPALETTE = WM_USER + 38, 2319 + RB_MOVEBAND = WM_USER + 39, 2320 + RB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 2321 + RB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 2322 + } 2323 + 2324 + enum { 2325 + RBN_GETOBJECT = RBN_FIRST - 1, 2326 + RBN_LAYOUTCHANGED = RBN_FIRST - 2, 2327 + RBN_AUTOSIZE = RBN_FIRST - 3, 2328 + RBN_BEGINDRAG = RBN_FIRST - 4, 2329 + RBN_ENDDRAG = RBN_FIRST - 5, 2330 + RBN_DELETINGBAND = RBN_FIRST - 6, 2331 + RBN_DELETEDBAND = RBN_FIRST - 7, 2332 + RBN_CHILDSIZE = RBN_FIRST - 8 2333 + } 2334 + 2335 + enum { 2336 + RBNM_ID = 1, 2337 + RBNM_STYLE = 2, 2338 + RBNM_LPARAM = 4 2339 + } 2340 + 2341 + enum { 2342 + RBHT_NOWHERE = 1, 2343 + RBHT_CAPTION, 2344 + RBHT_CLIENT, 2345 + RBHT_GRABBER 2346 + } 2347 + 2348 + version (Unicode) { 2349 + alias SB_SETTIPTEXTW SB_SETTIPTEXT; 2350 + alias SB_GETTIPTEXTW SB_GETTIPTEXT; 2351 + alias RB_GETBANDINFOW RB_GETBANDINFO; 2352 + } else { 2353 + alias SB_SETTIPTEXTA SB_SETTIPTEXT; 2354 + alias SB_GETTIPTEXTA SB_GETTIPTEXT; 2355 + alias RB_GETBANDINFOA RB_GETBANDINFO; 2356 + } 2357 +} else { 2358 + enum { 2359 + RB_GETBANDINFO = WM_USER + 5 2360 + } 2361 +} 2362 + 2363 +enum { 2364 + CBEM_INSERTITEMA = WM_USER + 1, 2365 + CBEM_SETIMAGELIST, 2366 + CBEM_GETIMAGELIST, 2367 + CBEM_GETITEMA, 2368 + CBEM_SETITEMA, 2369 + CBEM_GETCOMBOCONTROL, 2370 + CBEM_GETEDITCONTROL, 2371 + CBEM_SETEXSTYLE, 2372 + CBEM_GETEXSTYLE, // = WM_USER + 9) 2373 + CBEM_DELETEITEM = CB_DELETESTRING 2374 +} 2375 + 2376 +static if (_WIN32_IE >= 0x400) { 2377 + enum { 2378 + CBEM_SETEXTENDEDSTYLE = WM_USER + 14, 2379 + CBEM_GETEXTENDEDSTYLE = WM_USER + 9, 2380 + CBEM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT, 2381 + CBEM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT 2382 + } 2383 +} 2384 + 2385 +enum { 2386 + CBEM_HASEDITCHANGED = WM_USER + 10, 2387 + CBEM_INSERTITEMW = WM_USER + 11, 2388 + CBEM_SETITEMW = WM_USER + 12, 2389 + CBEM_GETITEMW = WM_USER + 13 2390 +} 2391 + 2392 +enum { 2393 + DA_LAST = 0x7fffffff 2394 +} 2395 + 2396 +enum { 2397 + DPA_APPEND = 0x7fffffff, 2398 + DPA_ERR = -1 2399 +} 2400 + 2401 +enum { 2402 + DSA_APPEND = 0x7fffffff, 2403 + DSA_ERR = -1 2404 +} 2405 + 2406 +enum { 2407 + DPAS_SORTED = 1, 2408 + DPAS_INSERTBEFORE = 2, 2409 + DPAS_INSERTAFTER = 4 2410 +} 2411 + 2412 +static if (_WIN32_IE >= 0x400) { 2413 + enum { 2414 + WSB_PROP_CYVSCROLL = 1, 2415 + WSB_PROP_CXHSCROLL = 2, 2416 + WSB_PROP_CYHSCROLL = 4, 2417 + WSB_PROP_CXVSCROLL = 8, 2418 + WSB_PROP_CXHTHUMB = 16, 2419 + WSB_PROP_CYVTHUMB = 32, 2420 + WSB_PROP_VBKGCOLOR = 64, 2421 + WSB_PROP_HBKGCOLOR = 128, 2422 + WSB_PROP_VSTYLE = 256, 2423 + WSB_PROP_HSTYLE = 512, 2424 + WSB_PROP_WINSTYLE = 1024, 2425 + WSB_PROP_PALETTE = 2048, 2426 + WSB_PROP_MASK = 0xfff, 2427 + FSB_FLAT_MODE = 2, 2428 + FSB_ENCARTA_MODE = 1, 2429 + FSB_REGULAR_MODE = 0 2430 + } 2431 +} 2432 + 2433 +static if (_WIN32_WINNT >= 0x0501) { 2434 + enum { 2435 + LIF_ITEMINDEX = 1, 2436 + LIF_STATE = 2, 2437 + LIF_ITEMID = 4, 2438 + LIF_URL = 8 2439 + } 2440 + 2441 + enum { 2442 + LIS_FOCUSED = 1, 2443 + LIS_ENABLED = 2, 2444 + LIS_VISITED = 4 2445 + } 2446 + 2447 + enum { 2448 + LM_HITTEST = WM_USER + 768, 2449 + LM_GETIDEALHEIGHT, 2450 + LM_SETITEM, 2451 + LM_GETITEM // = WM_USER + 771 2452 + } 2453 + 2454 + const size_t MAX_LINKID_TEXT = 48; 2455 + const size_t L_MAX_URL_LENGTH = 2084; 2456 +} 2457 + 2458 + 2459 +struct COMBOBOXEXITEMA { 2460 + UINT mask; 2461 + int iItem; 2462 + LPSTR pszText; 2463 + int cchTextMax; 2464 + int iImage; 2465 + int iSelectedImage; 2466 + int iOverlay; 2467 + int iIndent; 2468 + LPARAM lParam; 2469 +} 2470 +alias COMBOBOXEXITEMA* PCOMBOBOXEXITEMA; 2471 +alias CPtr!(COMBOBOXEXITEMA) PCCOMBOEXITEMA; 2472 + 2473 +struct COMBOBOXEXITEMW { 2474 + UINT mask; 2475 + int iItem; 2476 + LPWSTR pszText; 2477 + int cchTextMax; 2478 + int iImage; 2479 + int iSelectedImage; 2480 + int iOverlay; 2481 + int iIndent; 2482 + LPARAM lParam; 2483 +} 2484 +alias COMBOBOXEXITEMW* PCOMBOBOXEXITEMW; 2485 +alias CPtr!(COMBOBOXEXITEMW) PCCOMBOEXITEMW; 2486 + 2487 +static if (_WIN32_IE >= 0x400) { 2488 + struct NMCOMBOBOXEXA { 2489 + NMHDR hdr; 2490 + COMBOBOXEXITEMA ceItem; 2491 + } 2492 + alias NMCOMBOBOXEXA* PNMCOMBOBOXEXA; 2493 + 2494 + struct NMCOMBOBOXEXW { 2495 + NMHDR hdr; 2496 + COMBOBOXEXITEMW ceItem; 2497 + } 2498 + alias NMCOMBOBOXEXW* PNMCOMBOBOXEXW; 2499 + 2500 + struct NMCBEDRAGBEGINW { 2501 + NMHDR hdr; 2502 + int iItemid; 2503 + WCHAR szText[CBEMAXSTRLEN]; 2504 + } 2505 + alias NMCBEDRAGBEGINW* LPNMCBEDRAGBEGINW, PNMCBEDRAGBEGINW; 2506 + 2507 + struct NMCBEDRAGBEGINA { 2508 + NMHDR hdr; 2509 + int iItemid; 2510 + char szText[CBEMAXSTRLEN]; 2511 + } 2512 + alias NMCBEDRAGBEGINA* LPNMCBEDRAGBEGINA, PNMCBEDRAGBEGINA; 2513 + 2514 + struct NMIPADDRESS { 2515 + NMHDR hdr; 2516 + int iField; 2517 + int iValue; 2518 + } 2519 + alias NMIPADDRESS* LPNMIPADDRESS; 2520 + 2521 + struct NMLVKEYDOWN { 2522 + NMHDR hdr; 2523 + WORD wVKey; 2524 + UINT flags; 2525 + } 2526 + alias NMLVKEYDOWN* LPNMLVKEYDOWN; 2527 + 2528 + struct NMPGCALCSIZE { 2529 + NMHDR hdr; 2530 + DWORD dwFlag; 2531 + int iWidth; 2532 + int iHeight; 2533 + } 2534 + alias NMPGCALCSIZE* LPNMPGCALCSIZE; 2535 + 2536 + struct NMPGSCROLL { 2537 + NMHDR hdr; 2538 + BOOL fwKeys; 2539 + RECT rcParent; 2540 + int iDir; 2541 + int iXpos; 2542 + int iYpos; 2543 + int iScroll; 2544 + } 2545 + alias NMPGSCROLL* LPNMPGSCROLL; 2546 + 2547 + struct NMSELCHANGE { 2548 + NMHDR nmhdr; 2549 + SYSTEMTIME stSelStart; 2550 + SYSTEMTIME stSelEnd; 2551 + } 2552 + alias NMSELCHANGE* LPNMSELCHANGE; 2553 + 2554 + struct NMTBHOTITEM { 2555 + NMHDR hdr; 2556 + int idOld; 2557 + int idNew; 2558 + DWORD dwFlags; 2559 + } 2560 + alias NMTBHOTITEM* LPNMTBHOTITEM; 2561 + 2562 + struct NMTBDISPINFOA { 2563 + NMHDR hdr; 2564 + DWORD dwMask; 2565 + int idCommand; 2566 + DWORD_PTR lParam; 2567 + int iImage; 2568 + LPSTR pszText; 2569 + int cchText; 2570 + } 2571 + alias NMTBDISPINFOA* LPNMTBDISPINFOA; 2572 + 2573 + struct NMTBDISPINFOW { 2574 + NMHDR hdr; 2575 + DWORD dwMask; 2576 + int idCommand; 2577 + DWORD_PTR lParam; 2578 + int iImage; 2579 + LPWSTR pszText; 2580 + int cchText; 2581 + } 2582 + alias NMTBDISPINFOW* LPNMTBDISPINFOW; 2583 + 2584 + struct NMTBGETINFOTIPA { 2585 + NMHDR hdr; 2586 + LPSTR pszText; 2587 + int cchTextMax; 2588 + int iItem; 2589 + LPARAM lParam; 2590 + } 2591 + alias NMTBGETINFOTIPA* LPNMTBGETINFOTIPA; 2592 + 2593 + struct NMTBGETINFOTIPW { 2594 + NMHDR hdr; 2595 + LPWSTR pszText; 2596 + int cchTextMax; 2597 + int iItem; 2598 + LPARAM lParam; 2599 + } 2600 + alias NMTBGETINFOTIPW* LPNMTBGETINFOTIPW; 2601 + 2602 + struct NMMOUSE { 2603 + NMHDR hdr; 2604 + DWORD_PTR dwItemSpec; 2605 + DWORD_PTR dwItemData; 2606 + POINT pt; 2607 + LPARAM dwHitInfo; 2608 + } 2609 + alias NMMOUSE* LPNMMOUSE; 2610 +} 2611 + 2612 +static if (_WIN32_IE >= 0x401) { 2613 + struct NMTOOLTIPSCREATED { 2614 + NMHDR hdr; 2615 + HWND hwndToolTips; 2616 + } 2617 + alias NMTOOLTIPSCREATED* LPNMTOOLTIPSCREATED; 2618 +} 2619 + 2620 +struct NMDATETIMECHANGE { 2621 + NMHDR nmhdr; 2622 + DWORD dwFlags; 2623 + SYSTEMTIME st; 2624 +} 2625 +alias NMDATETIMECHANGE* LPNMDATETIMECHANGE; 2626 + 2627 +struct NMCBEENDEDITW { 2628 + NMHDR hdr; 2629 + BOOL fChanged; 2630 + int iNewSelection; 2631 + WCHAR szText[CBEMAXSTRLEN]; 2632 + int iWhy; 2633 +} 2634 +alias NMCBEENDEDITW* LPNMCBEENDEDITW, PNMCBEENDEDITW; 2635 + 2636 +struct NMCBEENDEDITA { 2637 + NMHDR hdr; 2638 + BOOL fChanged; 2639 + int iNewSelection; 2640 + char szText[CBEMAXSTRLEN]; 2641 + int iWhy; 2642 +} 2643 +alias NMCBEENDEDITA* LPNMCBEENDEDITA, PNMCBEENDEDITA; 2644 + 2645 +struct COLORMAP { 2646 + COLORREF from; 2647 + COLORREF to; 2648 +} 2649 +alias COLORMAP* LPCOLORMAP; 2650 + 2651 +struct DRAGLISTINFO { 2652 + UINT uNotification; 2653 + HWND hWnd; 2654 + POINT ptCursor; 2655 +} 2656 +alias DRAGLISTINFO* LPDRAGLISTINFO; 2657 + 2658 +struct TBBUTTON { 2659 + int iBitmap; 2660 + int idCommand; 2661 + BYTE fsState; 2662 + BYTE fsStyle; 2663 + BYTE bReserved[2]; 2664 + DWORD dwData; 2665 + int iString; 2666 +} 2667 +alias TBBUTTON* PTBBUTTON, LPTBBUTTON; 2668 +alias CPtr!(TBBUTTON) LPCTBBUTTON; 2669 + 2670 +static if (_WIN32_IE >= 0x400) { 2671 + struct TBBUTTONINFOA { 2672 + UINT cbSize = TBBUTTONINFOA.sizeof; 2673 + DWORD dwMask; 2674 + int idCommand; 2675 + int iImage; 2676 + BYTE fsState; 2677 + BYTE fsStyle; 2678 + WORD cx; 2679 + DWORD lParam; 2680 + LPSTR pszText; 2681 + int cchText; 2682 + } 2683 + alias TBBUTTONINFOA* LPTBBUTTONINFOA; 2684 + 2685 + struct TBBUTTONINFOW { 2686 + UINT cbSize = TBBUTTONINFOW.sizeof; 2687 + DWORD dwMask; 2688 + int idCommand; 2689 + int iImage; 2690 + BYTE fsState; 2691 + BYTE fsStyle; 2692 + WORD cx; 2693 + DWORD lParam; 2694 + LPWSTR pszText; 2695 + int cchText; 2696 + } 2697 + alias TBBUTTONINFOW* LPTBBUTTONINFOW; 2698 + 2699 + struct TBINSERTMARK { 2700 + int iButton; 2701 + DWORD dwFlags; 2702 + } 2703 + alias TBINSERTMARK* LPTBINSERTMARK; 2704 + 2705 + struct LVBKIMAGEA { 2706 + ULONG ulFlags; 2707 + HBITMAP hbm; 2708 + LPSTR pszImage; 2709 + UINT cchImageMax; 2710 + int xOffsetPercent; 2711 + int yOffsetPercent; 2712 + } 2713 + alias LVBKIMAGEA* LPLVBKIMAGEA; 2714 + 2715 + struct LVBKIMAGEW { 2716 + ULONG ulFlags; 2717 + HBITMAP hbm; 2718 + LPWSTR pszImage; 2719 + UINT cchImageMax; 2720 + int xOffsetPercent; 2721 + int yOffsetPercent; 2722 + } 2723 + alias LVBKIMAGEW* LPLVBKIMAGEW; 2724 +} 2725 + 2726 +/*struct TBNOTIFY { 2727 + NMHDR hdr; 2728 + int iItem; 2729 + TBBUTTON tbButton; 2730 + int cchText; 2731 + LPTSTR pszText; 2732 +} 2733 +alias TBNOTIFY* LPTBNOTIFY; 2734 +*/ 2735 + 2736 +/*struct TBSAVEPARAMS { 2737 + HKEY hkr; 2738 + LPCTSTR pszSubKey; 2739 + LPCTSTR pszValueName; 2740 +}*/ 2741 + 2742 +struct IMAGEINFO { 2743 + HBITMAP hbmImage; 2744 + HBITMAP hbmMask; 2745 + int Unused1; 2746 + int Unused2; 2747 + RECT rcImage; 2748 +} 2749 +alias IMAGEINFO* LPIMAGEINFO; 2750 + 2751 +alias HANDLE HIMAGELIST; 2752 + 2753 +static if (_WIN32_IE >= 0x500) { 2754 + struct HDITEMA { 2755 + UINT mask; 2756 + int cxy; 2757 + LPSTR pszText; 2758 + HBITMAP hbm; 2759 + int cchTextMax; 2760 + int fmt; 2761 + LPARAM lParam; 2762 + int iImage; 2763 + int iOrder; 2764 + UINT type; 2765 + LPVOID pvFilter; 2766 + } 2767 + 2768 + struct HDITEMW { 2769 + UINT mask; 2770 + int cxy; 2771 + LPWSTR pszText; 2772 + HBITMAP hbm; 2773 + int cchTextMax; 2774 + int fmt; 2775 + LPARAM lParam; 2776 + int iImage; 2777 + int iOrder; 2778 + UINT type; 2779 + LPVOID pvFilter; 2780 + } 2781 +} else static if (_WIN32_IE >= 0x300) { 2782 + struct HDITEMA { 2783 + UINT mask; 2784 + int cxy; 2785 + LPSTR pszText; 2786 + HBITMAP hbm; 2787 + int cchTextMax; 2788 + int fmt; 2789 + LPARAM lParam; 2790 + int iImage; 2791 + int iOrder; 2792 + } 2793 + 2794 + struct HDITEMW { 2795 + UINT mask; 2796 + int cxy; 2797 + LPWSTR pszText; 2798 + HBITMAP hbm; 2799 + int cchTextMax; 2800 + int fmt; 2801 + LPARAM lParam; 2802 + int iImage; 2803 + int iOrder; 2804 + } 2805 +} else { 2806 + struct HDITEMA { 2807 + UINT mask; 2808 + int cxy; 2809 + LPSTR pszText; 2810 + HBITMAP hbm; 2811 + int cchTextMax; 2812 + int fmt; 2813 + LPARAM lParam; 2814 + } 2815 + 2816 + struct HDITEMW { 2817 + UINT mask; 2818 + int cxy; 2819 + LPWSTR pszText; 2820 + HBITMAP hbm; 2821 + int cchTextMax; 2822 + int fmt; 2823 + LPARAM lParam; 2824 + } 2825 +} 2826 +alias HDITEMA* LPHDITEMA; 2827 +alias HDITEMW* LPHDITEMW; 2828 + 2829 +deprecated { 2830 + alias HDITEMA HD_ITEMA; 2831 + alias HDITEMW HD_ITEMW; 2832 + //alias HDITEM HD_ITEM; fixme 2833 +} 2834 + 2835 +struct HD_LAYOUT { 2836 + RECT* prc; 2837 + WINDOWPOS* pwpos; 2838 +} 2839 +alias HDLAYOUT* LPHDLAYOUT; 2840 +deprecated alias HD_LAYOUT HDLAYOUT; 2841 + 2842 +struct HD_HITTESTINFO { 2843 + POINT pt; 2844 + UINT flags; 2845 + int iItem; 2846 +} 2847 +alias HD_HITTESTINFO* LPHDHITTESTINFO; 2848 + 2849 +struct HD_NOTIFYA { 2850 + NMHDR hdr; 2851 + int iItem; 2852 + int iButton; 2853 + HDITEMA* pitem; 2854 +} 2855 + 2856 +struct HD_NOTIFYW { 2857 + NMHDR hdr; 2858 + int iItem; 2859 + int iButton; 2860 + HDITEMW* pitem; 2861 +} 2862 + 2863 +/* FIXME: NMHEADER structure (base for all events of the comctl controls) 2864 + is the same as HD_NOTIFY depending on the value of _WIN32_IE macro. 2865 + I'm defining both for now. */ 2866 +struct NMHEADERA { 2867 + NMHDR hdr; 2868 + int iItem; 2869 + int iButton; 2870 + HDITEMA* pitem; 2871 +} 2872 +alias NMHEADERA* LPNMHEADERA; 2873 + 2874 +struct NMHEADERW { 2875 + NMHDR hdr; 2876 + int iItem; 2877 + int iButton; 2878 + HDITEMW* pitem; 2879 +} 2880 +alias NMHEADERW* LPNMHEADERW; 2881 + 2882 +version (Unicode) { 2883 + alias NMHEADERW NMHEADER; 2884 + alias LPNMHEADERW LPNMHEADER; 2885 +} else { 2886 + alias NMHEADERA NMHEADER; 2887 + alias LPNMHEADERA LPNMHEADER; 2888 +} 2889 +// End FIXME 2890 + 2891 +struct NMHDDISPINFOA { 2892 + NMHDR hdr; 2893 + int iItem; 2894 + UINT mask; 2895 + LPSTR pszText; 2896 + int cchTextMax; 2897 + int iImage; 2898 + LPARAM lParam; 2899 +} 2900 +alias NMHDDISPINFOA* LPNMHDDISPINFOA; 2901 + 2902 +struct NMHDDISPINFOW { 2903 + NMHDR hdr; 2904 + int iItem; 2905 + UINT mask; 2906 + LPWSTR pszText; 2907 + int cchTextMax; 2908 + int iImage; 2909 + LPARAM lParam; 2910 +} 2911 +alias NMHDDISPINFOW* LPNMHDDISPINFOW; 2912 + 2913 +struct NMCUSTOMDRAW { 2914 + NMHDR hdr; 2915 + DWORD dwDrawStage; 2916 + HDC hdc; 2917 + RECT rc; 2918 + DWORD dwItemSpec; 2919 + UINT uItemState; 2920 + LPARAM lItemlParam; 2921 +} 2922 +alias NMCUSTOMDRAW* LPNMCUSTOMDRAW; 2923 + 2924 +static if (_WIN32_IE >= 0x400) { 2925 + struct NMLVCUSTOMDRAW { 2926 + NMCUSTOMDRAW nmcd; 2927 + COLORREF clrText; 2928 + COLORREF clrTextBk; 2929 + int iSubItem; 2930 + } 2931 +} else { 2932 + struct NMLVCUSTOMDRAW { 2933 + NMCUSTOMDRAW nmcd; 2934 + COLORREF clrText; 2935 + COLORREF clrTextBk; 2936 + } 2937 +} 2938 +alias NMLVCUSTOMDRAW* LPNMLVCUSTOMDRAW; 2939 + 2940 +static if (_WIN32_IE >= 0x400) { 2941 + struct NMLVGETINFOTIPA { 2942 + NMHDR hdr; 2943 + DWORD dwFlags; 2944 + LPSTR pszText; 2945 + int cchTextMax; 2946 + int iItem; 2947 + int iSubItem; 2948 + LPARAM lParam; 2949 + } 2950 + alias NMLVGETINFOTIPA* LPNMLVGETINFOTIPA; 2951 + 2952 + struct NMLVGETINFOTIPW { 2953 + NMHDR hdr; 2954 + DWORD dwFlags; 2955 + LPWSTR pszText; 2956 + int cchTextMax; 2957 + int iItem; 2958 + int iSubItem; 2959 + LPARAM lParam; 2960 + } 2961 + alias NMLVGETINFOTIPW* LPNMLVGETINFOTIPW; 2962 +} 2963 + 2964 +static if (_WIN32_IE >= 0x400) { 2965 + struct NMTVCUSTOMDRAW { 2966 + NMCUSTOMDRAW nmcd; 2967 + COLORREF clrText; 2968 + COLORREF clrTextBk; 2969 + int iLevel; 2970 + } 2971 +} else { 2972 + struct NMTVCUSTOMDRAW { 2973 + NMCUSTOMDRAW nmcd; 2974 + COLORREF clrText; 2975 + COLORREF clrTextBk; 2976 + } 2977 +} 2978 +alias NMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW; 2979 + 2980 +static if (_WIN32_IE >= 0x400) { 2981 + static if (_WIN32_WINNT >= 0x501) { 2982 + struct NMTBCUSTOMDRAW { 2983 + NMCUSTOMDRAW nmcd; 2984 + HBRUSH hbrMonoDither; 2985 + HBRUSH hbrLines; 2986 + HPEN hpenLines; 2987 + COLORREF clrText; 2988 + COLORREF clrMark; 2989 + COLORREF clrTextHighlight; 2990 + COLORREF clrBtnFace; 2991 + COLORREF clrBtnHighlight; 2992 + COLORREF clrHighlightHotTrack; 2993 + RECT rcText; 2994 + int nStringBkMode; 2995 + int nHLStringBkMode; 2996 + int iListGap; 2997 + } 2998 + } else { 2999 + struct NMTBCUSTOMDRAW { 3000 + NMCUSTOMDRAW nmcd; 3001 + HBRUSH hbrMonoDither; 3002 + HBRUSH hbrLines; 3003 + HPEN hpenLines; 3004 + COLORREF clrText; 3005 + COLORREF clrMark; 3006 + COLORREF clrTextHighlight; 3007 + COLORREF clrBtnFace; 3008 + COLORREF clrBtnHighlight; 3009 + COLORREF clrHighlightHotTrack; 3010 + RECT rcText; 3011 + int nStringBkMode; 3012 + int nHLStringBkMode; 3013 + } 3014 + } 3015 + alias NMTBCUSTOMDRAW* LPNMTBCUSTOMDRAW; 3016 + 3017 + struct NMITEMACTIVATE { 3018 + NMHDR hdr; 3019 + int iItem; 3020 + int iSubItem; 3021 + UINT uNewState; 3022 + UINT uOldState; 3023 + UINT uChanged; 3024 + POINT ptAction; 3025 + LPARAM lParam; 3026 + UINT uKeyFlags; 3027 + } 3028 + alias NMITEMACTIVATE* LPNMITEMACTIVATE; 3029 +} 3030 + 3031 +struct TBADDBITMAP { 3032 + HINSTANCE hInst; 3033 + UINT nID; 3034 +} 3035 +alias TBADDBITMAP* LPTBADDBITMAP; 3036 + 3037 +struct TBSAVEPARAMSA { 3038 + HKEY hkr; 3039 + LPCSTR pszSubKey; 3040 + LPCSTR pszValueName; 3041 +} 3042 + 3043 +struct TBSAVEPARAMSW { 3044 + HKEY hkr; 3045 + LPCWSTR pszSubKey; 3046 + LPCWSTR pszValueName; 3047 +} 3048 + 3049 +struct TBREPLACEBITMAP { 3050 + HINSTANCE hInstOld; 3051 + UINT nIDOld; 3052 + HINSTANCE hInstNew; 3053 + UINT nIDNew; 3054 + int nButtons; 3055 +} 3056 +alias TBREPLACEBITMAP* LPTBREPLACEBITMAP; 3057 + 3058 +static if (_WIN32_IE >= 0x500) { 3059 + struct NMTOOLBARA { 3060 + NMHDR hdr; 3061 + int iItem; 3062 + TBBUTTON tbButton; 3063 + int cchText; 3064 + LPSTR pszText; 3065 + RECT rcButton; 3066 + } 3067 + 3068 + struct NMTOOLBARW { 3069 + NMHDR hdr; 3070 + int iItem; 3071 + TBBUTTON tbButton; 3072 + int cchText; 3073 + LPWSTR pszText; 3074 + RECT rcButton; 3075 + } 3076 +} else { 3077 + struct NMTOOLBARA { 3078 + NMHDR hdr; 3079 + int iItem; 3080 + TBBUTTON tbButton; 3081 + int cchText; 3082 + LPSTR pszText; 3083 + } 3084 + 3085 + struct NMTOOLBARW { 3086 + NMHDR hdr; 3087 + int iItem; 3088 + TBBUTTON tbButton; 3089 + int cchText; 3090 + LPWSTR pszText; 3091 + } 3092 +} 3093 +alias NMTOOLBARA* LPNMTOOLBARA; 3094 +alias NMTOOLBARW* LPNMTOOLBARW; 3095 + 2519 3096 alias NMTOOLBARA TBNOTIFYA; 2520 -alias NMTOOLBARW TBNOTIFYW; 2521 3097 alias LPNMTOOLBARA LPTBNOTIFYA; 3098 + 3099 +alias NMTOOLBARW TBNOTIFYW; 2522 3100 alias LPNMTOOLBARW LPTBNOTIFYW; 2523 -// #else 2524 -// #... 2525 -// #... 2526 -// #... 2527 -// #... 2528 -// #... 2529 -// #... 2530 -// #endif 2531 - 2532 -alias NMTOOLBAR TBNOTIFY; 2533 -alias LPNMTOOLBAR LPTBNOTIFY; 2534 - 2535 -// #if (_WIN32_IE >= 0x0300) 2536 -struct tagNMTOOLBARA { 2537 - NMHDR hdr; 2538 - int iItem; 2539 - TBBUTTON tbButton; 2540 - int cchText; 2541 - LPSTR pszText; 2542 -// #if (_WIN32_IE >= 0x500) 2543 - RECT rcButton; 2544 -// #endif 2545 -} 2546 -alias tagNMTOOLBARA NMTOOLBARA; 2547 -alias tagNMTOOLBARA* LPNMTOOLBARA; 2548 - 2549 -// #endif 2550 - 2551 -// #if (_WIN32_IE >= 0x0300) 2552 -struct tagNMTOOLBARW { 2553 - NMHDR hdr; 2554 - int iItem; 2555 - TBBUTTON tbButton; 2556 - int cchText; 2557 - LPWSTR pszText; 2558 -// #if (_WIN32_IE >= 0x500) 2559 - RECT rcButton; 2560 -// #endif 2561 -} 2562 -alias tagNMTOOLBARW NMTOOLBARW; 2563 -alias tagNMTOOLBARW* LPNMTOOLBARW; 2564 - 2565 -// #endif 2566 - 2567 -// #ifdef UNICODE 2568 -alias NMTOOLBARW NMTOOLBAR; 2569 -alias LPNMTOOLBARW LPNMTOOLBAR; 2570 -// #else 2571 -// #... 2572 -// #... 2573 -// #endif 2574 - 2575 -// #endif 2576 - 2577 -// #endif // NOTOOLBAR 2578 - 2579 -// #if (_WIN32_IE >= 0x0300) 2580 - 2581 -// #ifndef NOREBAR 2582 - 2583 -// #ifdef _WIN32 2584 -const wchar[] REBARCLASSNAMEW = "ReBarWindow32"; 2585 -const char[] REBARCLASSNAMEA = "ReBarWindow32"; 2586 - 2587 -// #ifdef UNICODE 2588 -alias REBARCLASSNAMEW REBARCLASSNAME; 2589 -// #else 2590 -// #... 2591 -// #endif 2592 - 2593 -// #else 2594 -// #... 2595 -// #endif 2596 - 2597 -enum : uint { RBIM_IMAGELIST = 0x00000001 } 2598 - 2599 -// #if (_WIN32_IE >= 0x0400) 2600 -enum : uint { RBS_TOOLTIPS = 0x0100 } 2601 -enum : uint { RBS_VARHEIGHT = 0x0200 } 2602 -enum : uint { RBS_BANDBORDERS = 0x0400 } 2603 -enum : uint { RBS_FIXEDORDER = 0x0800 } 2604 -enum : uint { RBS_REGISTERDROP = 0x1000 } 2605 -enum : uint { RBS_AUTOSIZE = 0x2000 } 2606 -enum : uint { RBS_VERTICALGRIPPER = 0x4000 } 2607 -enum : uint { RBS_DBLCLKTOGGLE = 0x8000 } 2608 -// #else 2609 -// #... 2610 -// #... 2611 -// #... 2612 -// #... 2613 -// #endif // _WIN32_IE >= 0x0400 2614 - 2615 -struct tagREBARINFO { 2616 - UINT cbSize; 2617 - UINT fMask; 2618 -// #ifndef NOIMAGEAPIS 2619 - HIMAGELIST himl; 2620 -// #else 2621 -// ... 2622 -// #endif 2623 -} 2624 -alias tagREBARINFO REBARINFO; 2625 -alias tagREBARINFO* LPREBARINFO; 2626 - 2627 -enum : uint { RBBS_BREAK = 0x00000001 } 2628 -enum : uint { RBBS_FIXEDSIZE = 0x00000002 } 2629 -enum : uint { RBBS_CHILDEDGE = 0x00000004 } 2630 -enum : uint { RBBS_HIDDEN = 0x00000008 } 2631 -enum : uint { RBBS_NOVERT = 0x00000010 } 2632 -enum : uint { RBBS_FIXEDBMP = 0x00000020 } 2633 -// #if (_WIN32_IE >= 0x0400) // 2634 -enum : uint { RBBS_VARIABLEHEIGHT = 0x00000040 } 2635 -enum : uint { RBBS_GRIPPERALWAYS = 0x00000080 } 2636 -enum : uint { RBBS_NOGRIPPER = 0x00000100 } 2637 -// #if (_WIN32_IE >= 0x0500) // 2638 -enum : uint { RBBS_USECHEVRON = 0x00000200 } 2639 -// #if (_WIN32_IE >= 0x0501) // 2640 -enum : uint { RBBS_HIDETITLE = 0x00000400 } 2641 -enum : uint { RBBS_TOPALIGN = 0x00000800 } 2642 -// #endif // 0x0501 // 2643 -// #endif // 0x0500 // 2644 -// #endif // 0x0400 // 2645 - 2646 -enum : uint { RBBIM_STYLE = 0x00000001 } 2647 -enum : uint { RBBIM_COLORS = 0x00000002 } 2648 -enum : uint { RBBIM_TEXT = 0x00000004 } 2649 -enum : uint { RBBIM_IMAGE = 0x00000008 } 2650 -enum : uint { RBBIM_CHILD = 0x00000010 } 2651 -enum : uint { RBBIM_CHILDSIZE = 0x00000020 } 2652 -enum : uint { RBBIM_SIZE = 0x00000040 } 2653 -enum : uint { RBBIM_BACKGROUND = 0x00000080 } 2654 -enum : uint { RBBIM_ID = 0x00000100 } 2655 -// #if (_WIN32_IE >= 0x0400) 2656 -enum : uint { RBBIM_IDEALSIZE = 0x00000200 } 2657 -enum : uint { RBBIM_LPARAM = 0x00000400 } 2658 -enum : uint { RBBIM_HEADERSIZE = 0x00000800 } 2659 -// #endif 2660 - 2661 -struct tagREBARBANDINFOA { 2662 - UINT cbSize; 2663 - UINT fMask; 2664 - UINT fStyle; 2665 - COLORREF clrFore; 2666 - COLORREF clrBack; 2667 - LPSTR lpText; 2668 - UINT cch; 2669 - int iImage; 2670 - HWND hwndChild; 2671 - UINT cxMinChild; 2672 - UINT cyMinChild; 2673 - UINT cx; 2674 - HBITMAP hbmBack; 2675 - UINT wID; 2676 -// #if (_WIN32_IE >= 0x0400) 2677 - UINT cyChild; 2678 - UINT cyMaxChild; 2679 - UINT cyIntegral; 2680 - UINT cxIdeal; 2681 - LPARAM lParam; 2682 - UINT cxHeader; 2683 -// #endif 2684 -} 2685 -alias tagREBARBANDINFOA REBARBANDINFOA; 2686 -alias tagREBARBANDINFOA* LPREBARBANDINFOA; 2687 - 2688 -alias REBARBANDINFOA* LPCREBARBANDINFOA; 2689 - 2690 -// #define REBARBANDINFOA_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOA, wID) 2691 -// #define REBARBANDINFOW_V3_SIZE CCSIZEOF_STRUCT(REBARBANDINFOW, wID) 2692 - 2693 -struct tagREBARBANDINFOW { 2694 - UINT cbSize; 2695 - UINT fMask; 2696 - UINT fStyle; 2697 - COLORREF clrFore; 2698 - COLORREF clrBack; 2699 - LPWSTR lpText; 2700 - UINT cch; 2701 - int iImage; 2702 - HWND hwndChild; 2703 - UINT cxMinChild; 2704 - UINT cyMinChild; 2705 - UINT cx; 2706 - HBITMAP hbmBack; 2707 - UINT wID; 2708 -// #if (_WIN32_IE >= 0x0400) 2709 - UINT cyChild; 2710 - UINT cyMaxChild; 2711 - UINT cyIntegral; 2712 - UINT cxIdeal; 2713 - LPARAM lParam; 2714 - UINT cxHeader; 2715 -// #endif 2716 -} 2717 -alias tagREBARBANDINFOW REBARBANDINFOW; 2718 -alias tagREBARBANDINFOW* LPREBARBANDINFOW; 2719 - 2720 -alias REBARBANDINFOW* LPCREBARBANDINFOW; 2721 - 2722 -// #ifdef UNICODE 2723 -alias REBARBANDINFOW REBARBANDINFO; 2724 -alias LPREBARBANDINFOW LPREBARBANDINFO; 2725 -alias LPCREBARBANDINFOW LPCREBARBANDINFO; 2726 -// #define REBARBANDINFO_V3_SIZE REBARBANDINFOW_V3_SIZE 2727 -// #else 2728 -// #... 2729 -// #... 2730 -// #... 2731 -// #... 2732 -// #endif 2733 - 2734 -enum : uint { RB_INSERTBANDA = WM_USER + 1 } 2735 -enum : uint { RB_DELETEBAND = WM_USER + 2 } 2736 -enum : uint { RB_GETBARINFO = WM_USER + 3 } 2737 -enum : uint { RB_SETBARINFO = WM_USER + 4 } 2738 -// #if (_WIN32_IE < 0x0400) 2739 -// #... 2740 -// #endif 2741 -enum : uint { RB_SETBANDINFOA = WM_USER + 6 } 2742 -enum : uint { RB_SETPARENT = WM_USER + 7 } 2743 -// #if (_WIN32_IE >= 0x0400) 2744 -enum : uint { RB_HITTEST = WM_USER + 8 } 2745 -enum : uint { RB_GETRECT = WM_USER + 9 } 2746 -// #endif 2747 -enum : uint { RB_INSERTBANDW = WM_USER + 10 } 2748 -enum : uint { RB_SETBANDINFOW = WM_USER + 11 } 2749 -enum : uint { RB_GETBANDCOUNT = WM_USER + 12 } 2750 -enum : uint { RB_GETROWCOUNT = WM_USER + 13 } 2751 -enum : uint { RB_GETROWHEIGHT = WM_USER + 14 } 2752 -// #if (_WIN32_IE >= 0x0400) 2753 -enum : uint { RB_IDTOINDEX = WM_USER + 16 } 2754 -enum : uint { RB_GETTOOLTIPS = WM_USER + 17 } 2755 -enum : uint { RB_SETTOOLTIPS = WM_USER + 18 } 2756 -enum : uint { RB_SETBKCOLOR = WM_USER + 19 } 2757 -enum : uint { RB_GETBKCOLOR = WM_USER + 20 } 2758 -enum : uint { RB_SETTEXTCOLOR = WM_USER + 21 } 2759 -enum : uint { RB_GETTEXTCOLOR = WM_USER + 22 } 2760 - 2761 -// #if (_WIN32_WINNT >= 0x0501) 2762 -enum : uint { RBSTR_CHANGERECT = 0x0001 } 2763 -// #endif 2764 - 2765 -enum : uint { RB_SIZETORECT = WM_USER + 23 } 2766 -// #endif // _WIN32_IE >= 0x0400 2767 - 2768 -alias CCM_SETCOLORSCHEME RB_SETCOLORSCHEME; 2769 -alias CCM_GETCOLORSCHEME RB_GETCOLORSCHEME; 2770 - 2771 -// #ifdef UNICODE 2772 -alias RB_INSERTBANDW RB_INSERTBAND; 2773 -alias RB_SETBANDINFOW RB_SETBANDINFO; 2774 -// #else 2775 -// #... 2776 -// #... 2777 -// #endif 2778 - 2779 -// #if (_WIN32_IE >= 0x0400) 2780 - 2781 -enum : uint { RB_BEGINDRAG = WM_USER + 24 } 2782 -enum : uint { RB_ENDDRAG = WM_USER + 25 } 2783 -enum : uint { RB_DRAGMOVE = WM_USER + 26 } 2784 -enum : uint { RB_GETBARHEIGHT = WM_USER + 27 } 2785 -enum : uint { RB_GETBANDINFOW = WM_USER + 28 } 2786 -enum : uint { RB_GETBANDINFOA = WM_USER + 29 } 2787 - 2788 -// #ifdef UNICODE 2789 -alias RB_GETBANDINFOW RB_GETBANDINFO; 2790 -// #else 2791 -// #... 2792 -// #endif 2793 - 2794 -enum : uint { RB_MINIMIZEBAND = WM_USER + 30 } 2795 -enum : uint { RB_MAXIMIZEBAND = WM_USER + 31 } 2796 - 2797 -enum : uint { RB_GETDROPTARGET = CCM_GETDROPTARGET } 2798 - 2799 -enum : uint { RB_GETBANDBORDERS = WM_USER + 34 } 2800 - 2801 -enum : uint { RB_SHOWBAND = WM_USER + 35 } 2802 -enum : uint { RB_SETPALETTE = WM_USER + 37 } 2803 -enum : uint { RB_GETPALETTE = WM_USER + 38 } 2804 -enum : uint { RB_MOVEBAND = WM_USER + 39 } 2805 - 2806 -alias CCM_SETUNICODEFORMAT RB_SETUNICODEFORMAT; 2807 -alias CCM_GETUNICODEFORMAT RB_GETUNICODEFORMAT; 2808 - 2809 -// #endif // _WIN32_IE >= 0x0400 2810 - 2811 -// #if (_WIN32_WINNT >= 0x501) 2812 -enum : uint { RB_GETBANDMARGINS = WM_USER + 40 } 2813 -alias CCM_SETWINDOWTHEME RB_SETWINDOWTHEME; 2814 -// #endif 2815 - 2816 -// #if (_WIN32_IE >= 0x0500) 2817 -enum : uint { RB_PUSHCHEVRON = WM_USER + 43 } 2818 -// #endif // _WIN32_IE >= 0x0500 2819 - 2820 -enum : uint { RBN_HEIGHTCHANGE = RBN_FIRST - 0 } 2821 - 2822 -// #if (_WIN32_IE >= 0x0400) 2823 -enum : uint { RBN_GETOBJECT = RBN_FIRST - 1 } 2824 -enum : uint { RBN_LAYOUTCHANGED = RBN_FIRST - 2 } 2825 -enum : uint { RBN_AUTOSIZE = RBN_FIRST - 3 } 2826 -enum : uint { RBN_BEGINDRAG = RBN_FIRST - 4 } 2827 -enum : uint { RBN_ENDDRAG = RBN_FIRST - 5 } 2828 -enum : uint { RBN_DELETINGBAND = RBN_FIRST - 6 } 2829 -enum : uint { RBN_DELETEDBAND = RBN_FIRST - 7 } 2830 -enum : uint { RBN_CHILDSIZE = RBN_FIRST - 8 } 2831 - 2832 -// #if (_WIN32_IE >= 0x0500) 2833 -enum : uint { RBN_CHEVRONPUSHED = RBN_FIRST - 10 } 2834 -// #endif // _WIN32_IE >= 0x0500 2835 - 2836 -// #if (_WIN32_IE >= 0x0500) 2837 -enum : uint { RBN_MINMAX = RBN_FIRST - 21 } 2838 -// #endif 2839 - 2840 -// #if (_WIN32_WINNT >= 0x0501) 2841 -enum : uint { RBN_AUTOBREAK = RBN_FIRST - 22 } 2842 -// #endif 2843 - 2844 -struct tagNMREBARCHILDSIZE { 2845 - NMHDR hdr; 2846 - UINT uBand; 2847 - UINT wID; 2848 - RECT rcChild; 2849 - RECT rcBand; 2850 -} 2851 -alias tagNMREBARCHILDSIZE NMREBARCHILDSIZE; 2852 -alias tagNMREBARCHILDSIZE* LPNMREBARCHILDSIZE; 2853 - 2854 -struct tagNMREBAR { 2855 - NMHDR hdr; 2856 - DWORD dwMask; 2857 - UINT uBand; 2858 - UINT fStyle; 2859 - UINT wID; 2860 - LPARAM lParam; 2861 -} 2862 -alias tagNMREBAR NMREBAR; 2863 -alias tagNMREBAR* LPNMREBAR; 2864 - 2865 -enum : uint { RBNM_ID = 0x00000001 } 2866 -enum : uint { RBNM_STYLE = 0x00000002 } 2867 -enum : uint { RBNM_LPARAM = 0x00000004 } 2868 - 2869 -struct tagNMRBAUTOSIZE { 2870 - NMHDR hdr; 2871 - BOOL fChanged; 2872 - RECT rcTarget; 2873 - RECT rcActual; 2874 -} 2875 -alias tagNMRBAUTOSIZE NMRBAUTOSIZE; 2876 -alias tagNMRBAUTOSIZE* LPNMRBAUTOSIZE; 2877 - 2878 -// #if (_WIN32_IE >= 0x0500) 2879 -struct tagNMREBARCHEVRON { 2880 - NMHDR hdr; 2881 - UINT uBand; 2882 - UINT wID; 2883 - LPARAM lParam; 2884 - RECT rc; 2885 - LPARAM lParamNM; 2886 -} 2887 -alias tagNMREBARCHEVRON NMREBARCHEVRON; 2888 -alias tagNMREBARCHEVRON* LPNMREBARCHEVRON; 2889 - 2890 -// #endif 2891 - 2892 -// #if (_WIN32_WINNT >= 0x0501) 2893 -enum : uint { RBAB_AUTOSIZE = 0x0001 } 2894 -enum : uint { RBAB_ADDBAND = 0x0002 } 2895 - 2896 -struct tagNMREBARAUTOBREAK { 2897 - NMHDR hdr; 2898 - UINT uBand; 2899 - UINT wID; 2900 - LPARAM lParam; 2901 - UINT uMsg; 2902 - UINT fStyleCurrent; 2903 - BOOL fAutoBreak; 2904 -} 2905 -alias tagNMREBARAUTOBREAK NMREBARAUTOBREAK; 2906 -alias tagNMREBARAUTOBREAK* LPNMREBARAUTOBREAK; 2907 - 2908 -// #endif 2909 - 2910 -enum : uint { RBHT_NOWHERE = 0x0001 } 2911 -enum : uint { RBHT_CAPTION = 0x0002 } 2912 -enum : uint { RBHT_CLIENT = 0x0003 } 2913 -enum : uint { RBHT_GRABBER = 0x0004 } 2914 -// #if (_WIN32_IE >= 0x0500) 2915 -enum : uint { RBHT_CHEVRON = 0x0008 } 2916 -// #endif 2917 - 2918 -struct _RB_HITTESTINFO { 2919 - POINT pt; 2920 - UINT flags; 2921 - int iBand; 2922 -} 2923 -alias _RB_HITTESTINFO RBHITTESTINFO; 2924 -alias _RB_HITTESTINFO* LPRBHITTESTINFO; 2925 - 2926 -// #endif // _WIN32_IE >= 0x0400 2927 - 2928 -// #endif // NOREBAR 2929 - 2930 -// #endif // _WIN32_IE >= 0x0300 2931 - 2932 -// #ifndef NOTOOLTIPS 2933 - 2934 -// #ifdef _WIN32 2935 - 2936 -const wchar[] TOOLTIPS_CLASSW = "tooltips_class32"; 2937 -const char[] TOOLTIPS_CLASSA = "tooltips_class32"; 2938 - 2939 -// #ifdef UNICODE 2940 -alias TOOLTIPS_CLASSW TOOLTIPS_CLASS; 2941 -// #else 2942 -// #... 2943 -// #endif 2944 - 2945 -// #else 2946 -// #... 2947 -// #endif 2948 - 2949 -// #if (_WIN32_IE >= 0x0300) 2950 -alias LPTTTOOLINFOA LPTOOLINFOA; 2951 -alias LPTTTOOLINFOW LPTOOLINFOW; 2952 -alias TTTOOLINFOA TOOLINFOA; 2953 -alias TTTOOLINFOW TOOLINFOW; 2954 -// #else 2955 -// #... 2956 -// #... 2957 -// #... 2958 -// #... 2959 -// #endif 2960 - 2961 -alias LPTTTOOLINFO LPTOOLINFO; 2962 -alias TTTOOLINFO TOOLINFO; 2963 - 2964 -// #define TTTOOLINFOA_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpszText) 2965 -// #define TTTOOLINFOW_V1_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpszText) 2966 -// #define TTTOOLINFOA_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lParam) 2967 -// #define TTTOOLINFOW_V2_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lParam) 2968 -// #define TTTOOLINFOA_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOA, lpReserved) 2969 -// #define TTTOOLINFOW_V3_SIZE CCSIZEOF_STRUCT(TTTOOLINFOW, lpReserved) 2970 - 2971 -struct tagTOOLINFOA { 2972 - UINT cbSize; 2973 - UINT uFlags; 2974 - HWND hwnd; 2975 - UINT_PTR uId; 2976 - RECT rect; 2977 - HINSTANCE hinst; 2978 - LPSTR lpszText; 2979 -// #if (_WIN32_IE >= 0x0300) 2980 - LPARAM lParam; 2981 -// #endif 2982 -// #if (_WIN32_WINNT >= 0x0501) 2983 - void *lpReserved; 2984 -// #endif 2985 -} 2986 -alias tagTOOLINFOA TTTOOLINFOA; 2987 -alias tagTOOLINFOA* PTOOLINFOA; 2988 -alias tagTOOLINFOA* LPTTTOOLINFOA; 2989 - 2990 -struct tagTOOLINFOW { 2991 - UINT cbSize; 2992 - UINT uFlags; 2993 - HWND hwnd; 2994 - UINT_PTR uId; 2995 - RECT rect; 2996 - HINSTANCE hinst; 2997 - LPWSTR lpszText; 2998 -// #if (_WIN32_IE >= 0x0300) 2999 - LPARAM lParam; 3000 -// #endif 3001 -// #if (_WIN32_WINNT >= 0x0501) 3002 - void *lpReserved; 3003 -// #endif 3004 -} 3005 -alias tagTOOLINFOW TTTOOLINFOW; 3006 -alias tagTOOLINFOW* PTOOLINFOW; 3007 -alias tagTOOLINFOW* LPTTTOOLINFOW; 3008 - 3009 -// #ifdef UNICODE 3010 -alias TTTOOLINFOW TTTOOLINFO; 3011 -alias PTOOLINFOW PTOOLINFO; 3012 -alias LPTTTOOLINFOW LPTTTOOLINFO; 3013 -// #define TTTOOLINFO_V1_SIZE TTTOOLINFOW_V1_SIZE 3014 -// #else 3015 -// #... 3016 -// #... 3017 -// #... 3018 -// #... 3019 -// #endif 3020 - 3021 -enum : uint { TTS_ALWAYSTIP = 0x01 } 3022 -enum : uint { TTS_NOPREFIX = 0x02 } 3023 -// #if (_WIN32_IE >= 0x0500) 3024 -enum : uint { TTS_NOANIMATE = 0x10 } 3025 -enum : uint { TTS_NOFADE = 0x20 } 3026 -enum : uint { TTS_BALLOON = 0x40 } 3027 -enum : uint { TTS_CLOSE = 0x80 } 3028 -// #endif 3029 - 3030 -enum : uint { TTF_IDISHWND = 0x0001 } 3031 - 3032 -enum : uint { TTF_CENTERTIP = 0x0002 } 3033 -enum : uint { TTF_RTLREADING = 0x0004 } 3034 -enum : uint { TTF_SUBCLASS = 0x0010 } 3035 -// #if (_WIN32_IE >= 0x0300) 3036 -enum : uint { TTF_TRACK = 0x0020 } 3037 -enum : uint { TTF_ABSOLUTE = 0x0080 } 3038 -enum : uint { TTF_TRANSPARENT = 0x0100 } 3039 -// #if (_WIN32_IE >= 0x0501) 3040 -enum : uint { TTF_PARSELINKS = 0x1000 } 3041 -// #endif // _WIN32_IE >= 0x0501 3042 -enum : uint { TTF_DI_SETITEM = 0x8000 } 3043 -// #endif // _WIN32_IE >= 0x0300 3044 - 3045 -enum : uint { TTDT_AUTOMATIC = 0 } 3046 -enum : uint { TTDT_RESHOW = 1 } 3047 -enum : uint { TTDT_AUTOPOP = 2 } 3048 -enum : uint { TTDT_INITIAL = 3 } 3049 - 3050 -enum : uint { TTI_NONE = 0 } 3051 -enum : uint { TTI_INFO = 1 } 3052 -enum : uint { TTI_WARNING = 2 } 3053 -enum : uint { TTI_ERROR = 3 } 3054 - 3055 -enum : uint { TTM_ACTIVATE = WM_USER + 1 } 3056 -enum : uint { TTM_SETDELAYTIME = WM_USER + 3 } 3057 -enum : uint { TTM_ADDTOOLA = WM_USER + 4 } 3058 -enum : uint { TTM_ADDTOOLW = WM_USER + 50 } 3059 -enum : uint { TTM_DELTOOLA = WM_USER + 5 } 3060 -enum : uint { TTM_DELTOOLW = WM_USER + 51 } 3061 -enum : uint { TTM_NEWTOOLRECTA = WM_USER + 6 } 3062 -enum : uint { TTM_NEWTOOLRECTW = WM_USER + 52 } 3063 -enum : uint { TTM_RELAYEVENT = WM_USER + 7 } 3064 - 3065 -enum : uint { TTM_GETTOOLINFOA = WM_USER + 8 } 3066 -enum : uint { TTM_GETTOOLINFOW = WM_USER + 53 } 3067 - 3068 -enum : uint { TTM_SETTOOLINFOA = WM_USER + 9 } 3069 -enum : uint { TTM_SETTOOLINFOW = WM_USER + 54 } 3070 - 3071 -enum : uint { TTM_HITTESTA = WM_USER +10 } 3072 -enum : uint { TTM_HITTESTW = WM_USER +55 } 3073 -enum : uint { TTM_GETTEXTA = WM_USER +11 } 3074 -enum : uint { TTM_GETTEXTW = WM_USER +56 } 3075 -enum : uint { TTM_UPDATETIPTEXTA = WM_USER +12 } 3076 -enum : uint { TTM_UPDATETIPTEXTW = WM_USER +57 } 3077 -enum : uint { TTM_GETTOOLCOUNT = WM_USER +13 } 3078 -enum : uint { TTM_ENUMTOOLSA = WM_USER +14 } 3079 -enum : uint { TTM_ENUMTOOLSW = WM_USER +58 } 3080 -enum : uint { TTM_GETCURRENTTOOLA = WM_USER + 15 } 3081 -enum : uint { TTM_GETCURRENTTOOLW = WM_USER + 59 } 3082 -enum : uint { TTM_WINDOWFROMPOINT = WM_USER + 16 } 3083 -// #if (_WIN32_IE >= 0x0300) 3084 -enum : uint { TTM_TRACKACTIVATE = WM_USER + 17 } 3085 -enum : uint { TTM_TRACKPOSITION = WM_USER + 18 } 3086 -enum : uint { TTM_SETTIPBKCOLOR = WM_USER + 19 } 3087 -enum : uint { TTM_SETTIPTEXTCOLOR = WM_USER + 20 } 3088 -enum : uint { TTM_GETDELAYTIME = WM_USER + 21 } 3089 -enum : uint { TTM_GETTIPBKCOLOR = WM_USER + 22 } 3090 -enum : uint { TTM_GETTIPTEXTCOLOR = WM_USER + 23 } 3091 -enum : uint { TTM_SETMAXTIPWIDTH = WM_USER + 24 } 3092 -enum : uint { TTM_GETMAXTIPWIDTH = WM_USER + 25 } 3093 -enum : uint { TTM_SETMARGIN = WM_USER + 26 } 3094 -enum : uint { TTM_GETMARGIN = WM_USER + 27 } 3095 -enum : uint { TTM_POP = WM_USER + 28 } 3096 -// #endif 3097 -// #if (_WIN32_IE >= 0x0400) 3098 -enum : uint { TTM_UPDATE = WM_USER + 29 } 3099 -// #endif 3100 -// #if (_WIN32_IE >= 0x0500) 3101 -enum : uint { TTM_GETBUBBLESIZE = WM_USER + 30 } 3102 -enum : uint { TTM_ADJUSTRECT = WM_USER + 31 } 3103 -enum : uint { TTM_SETTITLEA = WM_USER + 32 } 3104 -enum : uint { TTM_SETTITLEW = WM_USER + 33 } 3105 -// #endif 3106 - 3107 -// #if (_WIN32_WINNT >= 0x0501) 3108 -enum : uint { TTM_POPUP = WM_USER + 34 } 3109 -enum : uint { TTM_GETTITLE = WM_USER + 35 } 3110 - 3111 -struct _TTGETTITLE { 3112 - DWORD dwSize; 3113 - UINT uTitleBitmap; 3114 - UINT cch; 3115 - WCHAR * pszTitle; 3116 -} 3117 -alias _TTGETTITLE TTGETTITLE; 3118 -alias _TTGETTITLE* PTTGETTITLE; 3119 - 3120 -// #endif 3121 - 3122 -// #ifdef UNICODE 3123 -alias TTM_ADDTOOLW TTM_ADDTOOL; 3124 -alias TTM_DELTOOLW TTM_DELTOOL; 3125 -alias TTM_NEWTOOLRECTW TTM_NEWTOOLRECT; 3126 -alias TTM_GETTOOLINFOW TTM_GETTOOLINFO; 3127 -alias TTM_SETTOOLINFOW TTM_SETTOOLINFO; 3128 -alias TTM_HITTESTW TTM_HITTEST; 3129 -alias TTM_GETTEXTW TTM_GETTEXT; 3130 -alias TTM_UPDATETIPTEXTW TTM_UPDATETIPTEXT; 3131 -alias TTM_ENUMTOOLSW TTM_ENUMTOOLS; 3132 -alias TTM_GETCURRENTTOOLW TTM_GETCURRENTTOOL; 3133 -// #if (_WIN32_IE >= 0x0500) 3134 -alias TTM_SETTITLEW TTM_SETTITLE; 3135 -// #endif 3136 -// #else 3137 -// #... 3138 -// #... 3139 -// #... 3140 -// #... 3141 -// #... 3142 -// #... 3143 -// #... 3144 -// #... 3145 -// #... 3146 -// #... 3147 -// #if (_WIN32_IE >= 0x0500) 3148 -// #... 3149 -// #endif 3150 -// #endif 3151 - 3152 -// #if (_WIN32_WINNT >= 0x501) 3153 -alias CCM_SETWINDOWTHEME TTM_SETWINDOWTHEME; 3154 -// #endif 3155 - 3156 -// #if (_WIN32_IE >= 0x0300) 3157 -alias LPTTHITTESTINFOW LPHITTESTINFOW; 3158 -alias LPTTHITTESTINFOA LPHITTESTINFOA; 3159 -// #else 3160 -// #... 3161 -// #... 3162 -// #endif 3163 - 3164 -alias LPTTHITTESTINFO LPHITTESTINFO; 3165 - 3166 -struct _TT_HITTESTINFOA { 3167 - HWND hwnd; 3168 - POINT pt; 3169 - TTTOOLINFOA ti; 3170 -} 3171 -alias _TT_HITTESTINFOA TTHITTESTINFOA; 3172 -alias _TT_HITTESTINFOA* LPTTHITTESTINFOA; 3173 - 3174 -struct _TT_HITTESTINFOW { 3175 - HWND hwnd; 3176 - POINT pt; 3177 - TTTOOLINFOW ti; 3178 -} 3179 -alias _TT_HITTESTINFOW TTHITTESTINFOW; 3180 -alias _TT_HITTESTINFOW* LPTTHITTESTINFOW; 3181 - 3182 -// #ifdef UNICODE 3183 -alias TTHITTESTINFOW TTHITTESTINFO; 3184 -alias LPTTHITTESTINFOW LPTTHITTESTINFO; 3185 -// #else 3186 -// #... 3187 -// #... 3188 -// #endif 3189 - 3190 -enum : uint { TTN_GETDISPINFOA = TTN_FIRST - 0 } 3191 -enum : uint { TTN_GETDISPINFOW = TTN_FIRST - 10 } 3192 -enum : uint { TTN_SHOW = TTN_FIRST - 1 } 3193 -enum : uint { TTN_POP = TTN_FIRST - 2 } 3194 -enum : uint { TTN_LINKCLICK = TTN_FIRST - 3 } 3195 - 3196 -// #ifdef UNICODE 3197 -alias TTN_GETDISPINFOW TTN_GETDISPINFO; 3198 -// #else 3199 -// #... 3200 -// #endif 3201 - 3202 -alias TTN_GETDISPINFO TTN_NEEDTEXT; 3203 -alias TTN_GETDISPINFOA TTN_NEEDTEXTA; 3204 -alias TTN_GETDISPINFOW TTN_NEEDTEXTW; 3205 - 3206 -// #if (_WIN32_IE >= 0x0300) 3207 -alias NMTTDISPINFOW TOOLTIPTEXTW; 3101 + 3102 +static if (_WIN32_WINNT >= 0x501) { 3103 + struct TOOLINFOA { 3104 + UINT cbSize = TOOLINFOA.sizeof; 3105 + UINT uFlags; 3106 + HWND hwnd; 3107 + UINT uId; 3108 + RECT rect; 3109 + HINSTANCE hinst; 3110 + LPSTR lpszText; 3111 + LPARAM lParam; 3112 + void* lpReserved; 3113 + } 3114 + 3115 + struct TOOLINFOW { 3116 + UINT cbSize = TOOLINFOW.sizeof; 3117 + UINT uFlags; 3118 + HWND hwnd; 3119 + UINT uId; 3120 + RECT rect; 3121 + HINSTANCE hinst; 3122 + LPWSTR lpszText; 3123 + LPARAM lParam; 3124 + void* lpReserved; 3125 + } 3126 + 3127 + const size_t 3128 + TTTOOLINFOA_V1_SIZE = TOOLINFOA.lParam.offsetof, 3129 + TTTOOLINFOW_V1_SIZE = TOOLINFOW.lParam.offsetof, 3130 + TTTOOLINFOA_V2_SIZE = TOOLINFOA.lpReserved.offsetof, 3131 + TTTOOLINFOW_V2_SIZE = TOOLINFOW.lpReserved.offsetof, 3132 + TTTOOLINFOA_V3_SIZE = TOOLINFOA.sizeof, 3133 + TTTOOLINFOW_V3_SIZE = TOOLINFOW.sizeof; 3134 +} else static if (_WIN32_IE >= 0x300) { 3135 + struct TOOLINFOA { 3136 + UINT cbSize = TOOLINFOA.sizeof; 3137 + UINT uFlags; 3138 + HWND hwnd; 3139 + UINT uId; 3140 + RECT rect; 3141 + HINSTANCE hinst; 3142 + LPSTR lpszText; 3143 + LPARAM lParam; 3144 + } 3145 + 3146 + struct TOOLINFOW { 3147 + UINT cbSize = TOOLINFOW.sizeof; 3148 + UINT uFlags; 3149 + HWND hwnd; 3150 + UINT uId; 3151 + RECT rect; 3152 + HINSTANCE hinst; 3153 + LPWSTR lpszText; 3154 + LPARAM lParam; 3155 + } 3156 + 3157 + const size_t 3158 + TTTOOLINFOA_V1_SIZE = TOOLINFOA.lParam.offsetof, 3159 + TTTOOLINFOW_V1_SIZE = TOOLINFOW.lParam.offsetof, 3160 + TTTOOLINFOA_V2_SIZE = TOOLINFOA.sizeof, 3161 + TTTOOLINFOW_V2_SIZE = TOOLINFOW.sizeof; 3162 +} else { 3163 + struct TOOLINFOA { 3164 + UINT cbSize = TOOLINFOA.sizeof; 3165 + UINT uFlags; 3166 + HWND hwnd; 3167 + UINT uId; 3168 + RECT rect; 3169 + HINSTANCE hinst; 3170 + LPSTR lpszText; 3171 + } 3172 + 3173 + struct TOOLINFOW { 3174 + UINT cbSize = TOOLINFOW.sizeof; 3175 + UINT uFlags; 3176 + HWND hwnd; 3177 + UINT uId; 3178 + RECT rect; 3179 + HINSTANCE hinst; 3180 + LPWSTR lpszText; 3181 + } 3182 + 3183 + const size_t 3184 + TTTOOLINFOA_V1_SIZE = TOOLINFOA.sizeof, 3185 + TTTOOLINFOW_V1_SIZE = TOOLINFOW.sizeof; 3186 +} 3187 +alias TOOLINFOA TTTOOLINFOA; 3188 +alias TOOLINFOW TTTOOLINFOW; 3189 +alias TTTOOLINFOA* LPTTTOOLINFOA, PTOOLINFOA, LPTOOLINFOA; 3190 +alias TTTOOLINFOW* LPTTTOOLINFOW, PTOOLINFOW, LPTOOLINFOW; 3191 + 3192 +struct TTHITTESTINFOA { 3193 + HWND hwnd; 3194 + POINT pt; 3195 + TOOLINFOA ti; 3196 +} 3197 +alias TTHITTESTINFOA* LPTTHITTESTINFOA, LPHITTESTINFOA; 3198 + 3199 +struct TTHITTESTINFOW { 3200 + HWND hwnd; 3201 + POINT pt; 3202 + TOOLINFOW ti; 3203 +} 3204 +alias TTHITTESTINFOW* LPTTHITTESTINFOW, LPHITTESTINFOW; 3205 + 3206 +static if (_WIN32_IE >= 0x300) { 3207 + struct NMTTDISPINFOA { 3208 + NMHDR hdr; 3209 + LPSTR lpszText; 3210 + char szText[80]; 3211 + HINSTANCE hinst; 3212 + UINT uFlags; 3213 + LPARAM lParam; 3214 + } 3215 + 3216 + struct NMTTDISPINFOW { 3217 + NMHDR hdr; 3218 + LPWSTR lpszText; 3219 + WCHAR szText[80]; 3220 + HINSTANCE hinst; 3221 + UINT uFlags; 3222 + LPARAM lParam; 3223 + } 3224 +} else { 3225 + struct NMTTDISPINFOA { 3226 + NMHDR hdr; 3227 + LPSTR lpszText; 3228 + char szText[80]; 3229 + HINSTANCE hinst; 3230 + UINT uFlags; 3231 + } 3232 + 3233 + struct NMTTDISPINFOW { 3234 + NMHDR hdr; 3235 + LPWSTR lpszText; 3236 + WCHAR szText[80]; 3237 + HINSTANCE hinst; 3238 + UINT uFlags; 3239 + } 3240 +} 3241 +alias NMTTDISPINFOA* LPNMTTDISPINFOA; 3242 +alias NMTTDISPINFOW* LPNMTTDISPINFOW; 3208 3243 alias NMTTDISPINFOA TOOLTIPTEXTA; 3209 3244 alias LPNMTTDISPINFOA LPTOOLTIPTEXTA; 3245 +alias NMTTDISPINFOW TOOLTIPTEXTW; 3210 3246 alias LPNMTTDISPINFOW LPTOOLTIPTEXTW; 3211 -// #else 3212 -// #... 3213 -// #... 3214 -// #... 3215 -// #... 3216 -// #... 3217 -// #... 3218 -// #endif 3219 - 3220 -alias NMTTDISPINFO TOOLTIPTEXT; 3221 -alias LPNMTTDISPINFO LPTOOLTIPTEXT; 3222 - 3223 -// #define NMTTDISPINFOA_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOA, uFlags) 3224 -// #define NMTTDISPINFOW_V1_SIZE CCSIZEOF_STRUCT(NMTTDISPINFOW, uFlags) 3225 - 3226 -struct tagNMTTDISPINFOA { 3227 - NMHDR hdr; 3228 - LPSTR lpszText; 3229 - char szText[80]; 3230 - HINSTANCE hinst; 3231 - UINT uFlags; 3232 -// #if (_WIN32_IE >= 0x0300) 3233 - LPARAM lParam; 3234 -// #endif 3235 -} 3236 -alias tagNMTTDISPINFOA NMTTDISPINFOA; 3237 -alias tagNMTTDISPINFOA* LPNMTTDISPINFOA; 3238 - 3239 -struct tagNMTTDISPINFOW { 3240 - NMHDR hdr; 3241 - LPWSTR lpszText; 3242 - WCHAR szText[80]; 3243 - HINSTANCE hinst; 3244 - UINT uFlags; 3245 -// #if (_WIN32_IE >= 0x0300) 3246 - LPARAM lParam; 3247 -// #endif 3248 -} 3249 -alias tagNMTTDISPINFOW NMTTDISPINFOW; 3250 -alias tagNMTTDISPINFOW* LPNMTTDISPINFOW; 3251 - 3252 -// #ifdef UNICODE 3253 -alias NMTTDISPINFOW NMTTDISPINFO; 3254 -alias LPNMTTDISPINFOW LPNMTTDISPINFO; 3255 -// #define NMTTDISPINFO_V1_SIZE NMTTDISPINFOW_V1_SIZE 3256 -// #else 3257 -// #... 3258 -// #... 3259 -// #... 3260 -// #endif 3261 - 3262 -// #endif // NOTOOLTIPS 3263 - 3264 -// #ifndef NOSTATUSBAR 3265 - 3266 -enum : uint { SBARS_SIZEGRIP = 0x0100 } 3267 -// #if (_WIN32_IE >= 0x0500) 3268 -enum : uint { SBARS_TOOLTIPS = 0x0800 } 3269 -// #endif 3270 - 3271 -// #if (_WIN32_IE >= 0x0400) 3272 - 3273 -enum : uint { SBT_TOOLTIPS = 0x0800 } 3274 -// #endif 3275 - 3276 -extern(Windows) export void DrawStatusTextA(HDC hDC, LPRECT lprc, LPCSTR pszText, UINT uFlags); 3277 -extern(Windows) export void DrawStatusTextW(HDC hDC, LPRECT lprc, LPCWSTR pszText, UINT uFlags); 3278 - 3279 -extern(Windows) export HWND CreateStatusWindowA(LONG style, LPCSTR lpszText, HWND hwndParent, UINT wID); 3280 -extern(Windows) export HWND CreateStatusWindowW(LONG style, LPCWSTR lpszText, HWND hwndParent, UINT wID); 3281 - 3282 -// #ifdef UNICODE 3283 -alias CreateStatusWindowW CreateStatusWindow; 3284 -alias DrawStatusTextW DrawStatusText; 3285 -// #else 3286 -// #... 3287 -// #... 3288 -// #endif 3289 - 3290 -// #ifdef _WIN32 3291 -const wchar[] STATUSCLASSNAMEW = "msctls_statusbar32"; 3292 -const char[] STATUSCLASSNAMEA = "msctls_statusbar32"; 3293 - 3294 -// #ifdef UNICODE 3295 -alias STATUSCLASSNAMEW STATUSCLASSNAME; 3296 -// #else 3297 -// #... 3298 -// #endif 3299 - 3300 -// #else 3301 -// #... 3302 -// #endif 3303 - 3304 -enum : uint { SB_SETTEXTA = WM_USER+1 } 3305 -enum : uint { SB_SETTEXTW = WM_USER+11 } 3306 -enum : uint { SB_GETTEXTA = WM_USER+2 } 3307 -enum : uint { SB_GETTEXTW = WM_USER+13 } 3308 -enum : uint { SB_GETTEXTLENGTHA = WM_USER+3 } 3309 -enum : uint { SB_GETTEXTLENGTHW = WM_USER+12 } 3310 - 3311 -// #ifdef UNICODE 3312 -alias SB_GETTEXTW SB_GETTEXT; 3313 -alias SB_SETTEXTW SB_SETTEXT; 3314 -alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH; 3315 -// #if (_WIN32_IE >= 0x0400) 3316 -alias SB_SETTIPTEXTW SB_SETTIPTEXT; 3317 -alias SB_GETTIPTEXTW SB_GETTIPTEXT; 3318 -// #endif 3319 -// #else 3320 -// #... 3321 -// #... 3322 -// #... 3323 -// #if (_WIN32_IE >= 0x0400) 3324 -// #... 3325 -// #... 3326 -// #endif 3327 -// #endif 3328 - 3329 -enum : uint { SB_SETPARTS = WM_USER+4 } 3330 -enum : uint { SB_GETPARTS = WM_USER+6 } 3331 -enum : uint { SB_GETBORDERS = WM_USER+7 } 3332 -enum : uint { SB_SETMINHEIGHT = WM_USER+8 } 3333 -enum : uint { SB_SIMPLE = WM_USER+9 } 3334 -enum : uint { SB_GETRECT = WM_USER+10 } 3335 -// #if (_WIN32_IE >= 0x0300) 3336 -enum : uint { SB_ISSIMPLE = WM_USER+14 } 3337 -// #endif 3338 -// #if (_WIN32_IE >= 0x0400) 3339 -enum : uint { SB_SETICON = WM_USER+15 } 3340 -// #define SB_SETTIPTEXTA (WM_USER+16) 3341 -// #define SB_SETTIPTEXTW (WM_USER+17) 3342 -// #define SB_GETTIPTEXTA (WM_USER+18) 3343 -// #define SB_GETTIPTEXTW (WM_USER+19) 3344 -enum : uint { SB_GETICON = WM_USER+20 } 3345 -alias CCM_SETUNICODEFORMAT SB_SETUNICODEFORMAT; 3346 -alias CCM_GETUNICODEFORMAT SB_GETUNICODEFORMAT; 3347 -// #endif 3348 - 3349 -enum : uint { SBT_OWNERDRAW = 0x1000 } 3350 -enum : uint { SBT_NOBORDERS = 0x0100 } 3351 -enum : uint { SBT_POPOUT = 0x0200 } 3352 -enum : uint { SBT_RTLREADING = 0x0400 } 3353 -// #if (_WIN32_IE >= 0x0500) 3354 -enum : uint { SBT_NOTABPARSING = 0x0800 } 3355 -// #endif 3356 - 3357 -alias CCM_SETBKCOLOR SB_SETBKCOLOR; 3358 - 3359 -// #if (_WIN32_IE >= 0x0400) 3360 -enum : uint { SBN_SIMPLEMODECHANGE = SBN_FIRST - 0 } 3361 -// #endif 3362 - 3363 -// #if (_WIN32_IE >= 0x0500) 3364 - 3365 -enum : uint { SB_SIMPLEID = 0x00ff } 3366 -// #endif 3367 - 3368 -// #endif // NOSTATUSBAR 3369 - 3370 -// #ifndef NOMENUHELP 3371 - 3372 -extern(Windows) export void MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HMENU hMainMenu, HINSTANCE hInst, HWND hwndStatus, UINT *lpwIDs); 3373 -extern(Windows) export BOOL ShowHideMenuCtl(HWND hWnd, UINT_PTR uFlags, LPINT lpInfo); 3374 -extern(Windows) export void GetEffectiveClientRect(HWND hWnd, LPRECT lprc, LPINT lpInfo); 3375 - 3376 -alias SC_SIZE MINSYSCOMMAND; 3377 - 3378 -// #endif 3379 - 3380 -// #ifndef NOTRACKBAR 3381 - 3382 -// #ifdef _WIN32 3383 - 3384 -const char[] TRACKBAR_CLASSA = "msctls_trackbar32"; 3385 -const wchar[] TRACKBAR_CLASSW = "msctls_trackbar32"; 3386 - 3387 -// #ifdef UNICODE 3388 -alias TRACKBAR_CLASSW TRACKBAR_CLASS; 3389 -// #else 3390 -// #... 3391 -// #endif 3392 - 3393 -// #else 3394 -// #... 3395 -// #endif 3396 - 3397 -enum : uint { TBS_AUTOTICKS = 0x0001 } 3398 -enum : uint { TBS_VERT = 0x0002 } 3399 -enum : uint { TBS_HORZ = 0x0000 } 3400 -enum : uint { TBS_TOP = 0x0004 } 3401 -enum : uint { TBS_BOTTOM = 0x0000 } 3402 -enum : uint { TBS_LEFT = 0x0004 } 3403 -enum : uint { TBS_RIGHT = 0x0000 } 3404 -enum : uint { TBS_BOTH = 0x0008 } 3405 -enum : uint { TBS_NOTICKS = 0x0010 } 3406 -enum : uint { TBS_ENABLESELRANGE = 0x0020 } 3407 -enum : uint { TBS_FIXEDLENGTH = 0x0040 } 3408 -enum : uint { TBS_NOTHUMB = 0x0080 } 3409 -// #if (_WIN32_IE >= 0x0300) 3410 -enum : uint { TBS_TOOLTIPS = 0x0100 } 3411 -// #endif 3412 -// #if (_WIN32_IE >= 0x0500) 3413 -enum : uint { TBS_REVERSED = 0x0200 } 3414 -// #endif 3415 - 3416 -// #if (_WIN32_IE >= 0x0501) 3417 -enum : uint { TBS_DOWNISLEFT = 0x0400 } 3418 -// #endif 3419 - 3420 -enum : uint { TBM_GETPOS = WM_USER } 3421 -enum : uint { TBM_GETRANGEMIN = WM_USER+1 } 3422 -enum : uint { TBM_GETRANGEMAX = WM_USER+2 } 3423 -enum : uint { TBM_GETTIC = WM_USER+3 } 3424 -enum : uint { TBM_SETTIC = WM_USER+4 } 3425 -enum : uint { TBM_SETPOS = WM_USER+5 } 3426 -enum : uint { TBM_SETRANGE = WM_USER+6 } 3427 -enum : uint { TBM_SETRANGEMIN = WM_USER+7 } 3428 -enum : uint { TBM_SETRANGEMAX = WM_USER+8 } 3429 -enum : uint { TBM_CLEARTICS = WM_USER+9 } 3430 -enum : uint { TBM_SETSEL = WM_USER+10 } 3431 -enum : uint { TBM_SETSELSTART = WM_USER+11 } 3432 -enum : uint { TBM_SETSELEND = WM_USER+12 } 3433 -enum : uint { TBM_GETPTICS = WM_USER+14 } 3434 -enum : uint { TBM_GETTICPOS = WM_USER+15 } 3435 -enum : uint { TBM_GETNUMTICS = WM_USER+16 } 3436 -enum : uint { TBM_GETSELSTART = WM_USER+17 } 3437 -enum : uint { TBM_GETSELEND = WM_USER+18 } 3438 -enum : uint { TBM_CLEARSEL = WM_USER+19 } 3439 -enum : uint { TBM_SETTICFREQ = WM_USER+20 } 3440 -enum : uint { TBM_SETPAGESIZE = WM_USER+21 } 3441 -enum : uint { TBM_GETPAGESIZE = WM_USER+22 } 3442 -enum : uint { TBM_SETLINESIZE = WM_USER+23 } 3443 -enum : uint { TBM_GETLINESIZE = WM_USER+24 } 3444 -enum : uint { TBM_GETTHUMBRECT = WM_USER+25 } 3445 -enum : uint { TBM_GETCHANNELRECT = WM_USER+26 } 3446 -enum : uint { TBM_SETTHUMBLENGTH = WM_USER+27 } 3447 -enum : uint { TBM_GETTHUMBLENGTH = WM_USER+28 } 3448 -// #if (_WIN32_IE >= 0x0300) 3449 -enum : uint { TBM_SETTOOLTIPS = WM_USER+29 } 3450 -enum : uint { TBM_GETTOOLTIPS = WM_USER+30 } 3451 -enum : uint { TBM_SETTIPSIDE = WM_USER+31 } 3452 - 3453 -enum : uint { TBTS_TOP = 0 } 3454 -enum : uint { TBTS_LEFT = 1 } 3455 -enum : uint { TBTS_BOTTOM = 2 } 3456 -enum : uint { TBTS_RIGHT = 3 } 3457 - 3458 -enum : uint { TBM_SETBUDDY = WM_USER+32 } 3459 -enum : uint { TBM_GETBUDDY = WM_USER+33 } 3460 -// #endif 3461 -// #if (_WIN32_IE >= 0x0400) 3462 -alias CCM_SETUNICODEFORMAT TBM_SETUNICODEFORMAT; 3463 -alias CCM_GETUNICODEFORMAT TBM_GETUNICODEFORMAT; 3464 -// #endif 3465 - 3466 -enum : uint { TB_LINEUP = 0 } 3467 -enum : uint { TB_LINEDOWN = 1 } 3468 -enum : uint { TB_PAGEUP = 2 } 3469 -enum : uint { TB_PAGEDOWN = 3 } 3470 -enum : uint { TB_THUMBPOSITION = 4 } 3471 -enum : uint { TB_THUMBTRACK = 5 } 3472 -enum : uint { TB_TOP = 6 } 3473 -enum : uint { TB_BOTTOM = 7 } 3474 -enum : uint { TB_ENDTRACK = 8 } 3475 - 3476 -// #if (_WIN32_IE >= 0x0300) 3477 - 3478 -enum : uint { TBCD_TICS = 0x0001 } 3479 -enum : uint { TBCD_THUMB = 0x0002 } 3480 -enum : uint { TBCD_CHANNEL = 0x0003 } 3481 -// #endif 3482 - 3483 -// #endif // trackbar 3484 - 3485 -// #ifndef NODRAGLIST 3486 - 3487 -struct tagDRAGLISTINFO { 3488 - UINT uNotification; 3489 - HWND hWnd; 3490 - POINT ptCursor; 3491 -} 3492 -alias tagDRAGLISTINFO DRAGLISTINFO; 3493 -alias tagDRAGLISTINFO* LPDRAGLISTINFO; 3494 - 3495 -enum : uint { DL_BEGINDRAG = WM_USER+133 } 3496 -enum : uint { DL_DRAGGING = WM_USER+134 } 3497 -enum : uint { DL_DROPPED = WM_USER+135 } 3498 -enum : uint { DL_CANCELDRAG = WM_USER+136 } 3499 - 3500 -enum : uint { DL_CURSORSET = 0 } 3501 -enum : uint { DL_STOPCURSOR = 1 } 3502 -enum : uint { DL_COPYCURSOR = 2 } 3503 -enum : uint { DL_MOVECURSOR = 3 } 3504 - 3505 -const TCHAR[] DRAGLISTMSGSTRING = "commctrl_DragListMsg"; 3506 - 3507 -extern(Windows) export BOOL MakeDragList(HWND hLB); 3508 -extern(Windows) export void DrawInsert(HWND handParent, HWND hLB, int nItem); 3509 - 3510 -extern(Windows) export int LBItemFromPt(HWND hLB, POINT pt, BOOL bAutoScroll); 3511 - 3512 -// #endif 3513 - 3514 -// #ifndef NOUPDOWN 3515 - 3516 -// #ifdef _WIN32 3517 - 3518 -const char[] UPDOWN_CLASSA = "msctls_updown32"; 3519 -const wchar[] UPDOWN_CLASSW = "msctls_updown32"; 3520 - 3521 -// #ifdef UNICODE 3522 -alias UPDOWN_CLASSW UPDOWN_CLASS; 3523 -// #else 3524 -// #... 3525 -// #endif 3526 - 3527 -// #else 3528 -// #... 3529 -// #endif 3530 - 3531 -struct _UDACCEL { 3532 - UINT nSec; 3533 - UINT nInc; 3534 -} 3535 -alias _UDACCEL UDACCEL; 3536 -alias _UDACCEL* LPUDACCEL; 3537 - 3538 -enum : uint { UD_MAXVAL = 0x7fff } 3539 -enum : uint { UD_MINVAL = -UD_MAXVAL } 3540 - 3541 -enum : uint { UDS_WRAP = 0x0001 } 3542 -enum : uint { UDS_SETBUDDYINT = 0x0002 } 3543 -enum : uint { UDS_ALIGNRIGHT = 0x0004 } 3544 -enum : uint { UDS_ALIGNLEFT = 0x0008 } 3545 -enum : uint { UDS_AUTOBUDDY = 0x0010 } 3546 -enum : uint { UDS_ARROWKEYS = 0x0020 } 3547 -enum : uint { UDS_HORZ = 0x0040 } 3548 -enum : uint { UDS_NOTHOUSANDS = 0x0080 } 3549 -// #if (_WIN32_IE >= 0x0300) 3550 -enum : uint { UDS_HOTTRACK = 0x0100 } 3551 -// #endif 3552 - 3553 -enum : uint { UDM_SETRANGE = WM_USER+101 } 3554 -enum : uint { UDM_GETRANGE = WM_USER+102 } 3555 -enum : uint { UDM_SETPOS = WM_USER+103 } 3556 -enum : uint { UDM_GETPOS = WM_USER+104 } 3557 -enum : uint { UDM_SETBUDDY = WM_USER+105 } 3558 -enum : uint { UDM_GETBUDDY = WM_USER+106 } 3559 -enum : uint { UDM_SETACCEL = WM_USER+107 } 3560 -enum : uint { UDM_GETACCEL = WM_USER+108 } 3561 -enum : uint { UDM_SETBASE = WM_USER+109 } 3562 -enum : uint { UDM_GETBASE = WM_USER+110 } 3563 -// #if (_WIN32_IE >= 0x0400) 3564 -enum : uint { UDM_SETRANGE32 = WM_USER+111 } 3565 -enum : uint { UDM_GETRANGE32 = WM_USER+112 } 3566 -alias CCM_SETUNICODEFORMAT UDM_SETUNICODEFORMAT; 3567 -alias CCM_GETUNICODEFORMAT UDM_GETUNICODEFORMAT; 3568 -// #endif 3569 -// #if (_WIN32_IE >= 0x0500) 3570 -enum : uint { UDM_SETPOS32 = WM_USER+113 } 3571 -enum : uint { UDM_GETPOS32 = WM_USER+114 } 3572 -// #endif 3573 - 3574 -extern(Windows) export HWND CreateUpDownControl(DWORD dwStyle, int x, int y, int cx, int cy, 3575 - HWND hParent, int nID, HINSTANCE hInst, 3576 - HWND hBuddy, 3577 - int nUpper, int nLower, int nPos); 3578 - 3579 -// #if (_WIN32_IE >= 0x0300) 3580 -alias NMUPDOWN NM_UPDOWN; 3581 -alias LPNMUPDOWN LPNM_UPDOWN; 3582 -// #else 3583 -// #... 3584 -// #... 3585 -// #endif 3586 - 3587 -struct _NM_UPDOWN { 3588 - NMHDR hdr; 3589 - int iPos; 3590 - int iDelta; 3591 -} 3592 -alias _NM_UPDOWN NMUPDOWN; 3593 -alias _NM_UPDOWN* LPNMUPDOWN; 3594 - 3595 -enum : uint { UDN_DELTAPOS = UDN_FIRST - 1 } 3596 - 3597 -// #endif // NOUPDOWN 3598 - 3599 -// #ifndef NOPROGRESS 3600 - 3601 -// #ifdef _WIN32 3602 - 3603 -const char[] PROGRESS_CLASSA = "msctls_progress32"; 3604 -const wchar[] PROGRESS_CLASSW = "msctls_progress32"; 3605 - 3606 -// #ifdef UNICODE 3607 -alias PROGRESS_CLASSW PROGRESS_CLASS; 3608 -// #else 3609 -// #... 3610 -// #endif 3611 - 3612 -// #else 3613 -// #... 3614 -// #endif 3615 - 3616 -// #if (_WIN32_IE >= 0x0300) 3617 -enum : uint { PBS_SMOOTH = 0x01 } 3618 -enum : uint { PBS_VERTICAL = 0x04 } 3619 -// #endif 3620 - 3621 -enum : uint { PBM_SETRANGE = WM_USER+1 } 3622 -enum : uint { PBM_SETPOS = WM_USER+2 } 3623 -enum : uint { PBM_DELTAPOS = WM_USER+3 } 3624 -enum : uint { PBM_SETSTEP = WM_USER+4 } 3625 -enum : uint { PBM_STEPIT = WM_USER+5 } 3626 -// #if (_WIN32_IE >= 0x0300) 3627 -enum : uint { PBM_SETRANGE32 = WM_USER+6 } 3628 -struct _7 { 3629 - int iLow; 3630 - int iHigh; 3631 -} 3632 -alias _7 PBRANGE; 3633 -alias _7* PPBRANGE; 3634 - 3635 -enum : uint { PBM_GETRANGE = WM_USER+7 } 3636 -enum : uint { PBM_GETPOS = WM_USER+8 } 3637 -// #if (_WIN32_IE >= 0x0400) 3638 -enum : uint { PBM_SETBARCOLOR = WM_USER+9 } 3639 -// #endif // _WIN32_IE >= 0x0400 3640 -alias CCM_SETBKCOLOR PBM_SETBKCOLOR; 3641 -// #endif // _WIN32_IE >= 0x0300 3642 - 3643 -// #endif // NOPROGRESS 3644 - 3645 -// #ifndef NOHOTKEY 3646 - 3647 -enum : uint { HOTKEYF_SHIFT = 0x01 } 3648 -enum : uint { HOTKEYF_CONTROL = 0x02 } 3649 -enum : uint { HOTKEYF_ALT = 0x04 } 3650 -// #ifdef _MAC 3651 -// #... 3652 -// #else 3653 -enum : uint { HOTKEYF_EXT = 0x08 } 3654 -// #endif 3655 - 3656 -enum : uint { HKCOMB_NONE = 0x0001 } 3657 -enum : uint { HKCOMB_S = 0x0002 } 3658 -enum : uint { HKCOMB_C = 0x0004 } 3659 -enum : uint { HKCOMB_A = 0x0008 } 3660 -enum : uint { HKCOMB_SC = 0x0010 } 3661 -enum : uint { HKCOMB_SA = 0x0020 } 3662 -enum : uint { HKCOMB_CA = 0x0040 } 3663 -enum : uint { HKCOMB_SCA = 0x0080 } 3664 - 3665 -enum : uint { HKM_SETHOTKEY = WM_USER+1 } 3666 -enum : uint { HKM_GETHOTKEY = WM_USER+2 } 3667 -enum : uint { HKM_SETRULES = WM_USER+3 } 3668 - 3669 -// #ifdef _WIN32 3670 - 3671 -const char[] HOTKEY_CLASSA = "msctls_hotkey32"; 3672 -const wchar[] HOTKEY_CLASSW = "msctls_hotkey32"; 3673 - 3674 -// #ifdef UNICODE 3675 -alias HOTKEY_CLASSW HOTKEY_CLASS; 3676 -// #else 3677 -// #... 3678 -// #endif 3679 - 3680 -// #else 3681 -// #... 3682 -// #endif 3683 - 3684 -// #endif // NOHOTKEY 3685 - 3686 -enum : uint { CCS_TOP = 0x00000001 } 3687 -enum : uint { CCS_NOMOVEY = 0x00000002 } 3688 -enum : uint { CCS_BOTTOM = 0x00000003 } 3689 -enum : uint { CCS_NORESIZE = 0x00000004 } 3690 -enum : uint { CCS_NOPARENTALIGN = 0x00000008 } 3691 -enum : uint { CCS_ADJUSTABLE = 0x00000020 } 3692 -enum : uint { CCS_NODIVIDER = 0x00000040 } 3693 -// #if (_WIN32_IE >= 0x0300) 3694 -enum : uint { CCS_VERT = 0x00000080 } 3695 -enum : uint { CCS_LEFT = CCS_VERT | CCS_TOP } 3696 -enum : uint { CCS_RIGHT = CCS_VERT | CCS_BOTTOM } 3697 -enum : uint { CCS_NOMOVEX = CCS_VERT | CCS_NOMOVEY } 3698 -// #endif 3699 - 3700 -// #ifndef NOLISTVIEW 3701 - 3702 -// #ifdef _WIN32 3703 - 3704 -const char[] WC_LISTVIEWA = "SysListView32"; 3705 -const wchar[] WC_LISTVIEWW = "SysListView32"; 3706 - 3707 -// #ifdef UNICODE 3708 -alias WC_LISTVIEWW WC_LISTVIEW; 3709 -// #else 3710 -// #... 3711 -// #endif 3712 - 3713 -// #else 3714 -// #... 3715 -// #endif 3716 - 3717 -enum : uint { LVS_ICON = 0x0000 } 3718 -enum : uint { LVS_REPORT = 0x0001 } 3719 -enum : uint { LVS_SMALLICON = 0x0002 } 3720 -enum : uint { LVS_LIST = 0x0003 } 3721 -enum : uint { LVS_TYPEMASK = 0x0003 } 3722 -enum : uint { LVS_SINGLESEL = 0x0004 } 3723 -enum : uint { LVS_SHOWSELALWAYS = 0x0008 } 3724 -enum : uint { LVS_SORTASCENDING = 0x0010 } 3725 -enum : uint { LVS_SORTDESCENDING = 0x0020 } 3726 -enum : uint { LVS_SHAREIMAGELISTS = 0x0040 } 3727 -enum : uint { LVS_NOLABELWRAP = 0x0080 } 3728 -enum : uint { LVS_AUTOARRANGE = 0x0100 } 3729 -enum : uint { LVS_EDITLABELS = 0x0200 } 3730 -// #if (_WIN32_IE >= 0x0300) 3731 -enum : uint { LVS_OWNERDATA = 0x1000 } 3732 -// #endif 3733 -enum : uint { LVS_NOSCROLL = 0x2000 } 3734 - 3735 -enum : uint { LVS_TYPESTYLEMASK = 0xfc00 } 3736 - 3737 -enum : uint { LVS_ALIGNTOP = 0x0000 } 3738 -enum : uint { LVS_ALIGNLEFT = 0x0800 } 3739 -enum : uint { LVS_ALIGNMASK = 0x0c00 } 3740 - 3741 -enum : uint { LVS_OWNERDRAWFIXED = 0x0400 } 3742 -enum : uint { LVS_NOCOLUMNHEADER = 0x4000 } 3743 -enum : uint { LVS_NOSORTHEADER = 0x8000 } 3744 - 3745 -// #if (_WIN32_IE >= 0x0400) 3746 -alias CCM_SETUNICODEFORMAT LVM_SETUNICODEFORMAT; 3747 -// #define ListView_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), LVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 3748 - 3749 -alias CCM_GETUNICODEFORMAT LVM_GETUNICODEFORMAT; 3750 -// #define ListView_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), LVM_GETUNICODEFORMAT, 0, 0) 3751 -// #endif 3752 - 3753 -enum : uint { LVM_GETBKCOLOR = LVM_FIRST + 0 } 3754 -// #define ListView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETBKCOLOR, 0, 0L) 3755 - 3756 -enum : uint { LVM_SETBKCOLOR = LVM_FIRST + 1 } 3757 -// #define ListView_SetBkColor(hwnd, clrBk) (BOOL)SNDMSG((hwnd), LVM_SETBKCOLOR, 0, (LPARAM)(COLORREF)(clrBk)) 3758 - 3759 -enum : uint { LVM_GETIMAGELIST = LVM_FIRST + 2 } 3760 -// #define ListView_GetImageList(hwnd, iImageList) (HIMAGELIST)SNDMSG((hwnd), LVM_GETIMAGELIST, (WPARAM)(INT)(iImageList), 0L) 3761 - 3762 -enum : uint { LVSIL_NORMAL = 0 } 3763 -enum : uint { LVSIL_SMALL = 1 } 3764 -enum : uint { LVSIL_STATE = 2 } 3765 - 3766 -enum : uint { LVM_SETIMAGELIST = LVM_FIRST + 3 } 3767 -// #define ListView_SetImageList(hwnd, himl, iImageList) (HIMAGELIST)SNDMSG((hwnd), LVM_SETIMAGELIST, (WPARAM)(iImageList), (LPARAM)(HIMAGELIST)(himl)) 3768 - 3769 -enum : uint { LVM_GETITEMCOUNT = LVM_FIRST + 4 } 3770 -// #define ListView_GetItemCount(hwnd) (int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, 0L) 3771 - 3772 -enum : uint { LVIF_TEXT = 0x0001 } 3773 -enum : uint { LVIF_IMAGE = 0x0002 } 3774 -enum : uint { LVIF_PARAM = 0x0004 } 3775 -enum : uint { LVIF_STATE = 0x0008 } 3776 -// #if (_WIN32_IE >= 0x0300) 3777 -enum : uint { LVIF_INDENT = 0x0010 } 3778 -enum : uint { LVIF_NORECOMPUTE = 0x0800 } 3779 -// #endif 3780 -// #if (_WIN32_WINNT >= 0x501) 3781 -enum : uint { LVIF_GROUPID = 0x0100 } 3782 -enum : uint { LVIF_COLUMNS = 0x0200 } 3783 -// #endif 3784 - 3785 -enum : uint { LVIS_FOCUSED = 0x0001 } 3786 -enum : uint { LVIS_SELECTED = 0x0002 } 3787 -enum : uint { LVIS_CUT = 0x0004 } 3788 -enum : uint { LVIS_DROPHILITED = 0x0008 } 3789 -enum : uint { LVIS_GLOW = 0x0010 } 3790 -enum : uint { LVIS_ACTIVATING = 0x0020 } 3791 - 3792 -enum : uint { LVIS_OVERLAYMASK = 0x0F00 } 3793 -enum : uint { LVIS_STATEIMAGEMASK = 0xF000 } 3794 - 3795 -uint INDEXTOSTATEIMAGEMASK(uint i){ return i << 12; } 3796 - 3797 -// #if (_WIN32_IE >= 0x0300) 3798 -enum { I_INDENTCALLBACK = -1 } 3247 + 3248 +struct UDACCEL { 3249 + UINT nSec; 3250 + UINT nInc; 3251 +} 3252 +alias UDACCEL* LPUDACCEL; 3253 + 3254 +struct NMUPDOWN { 3255 + NMHDR hdr; 3256 + int iPos; 3257 + int iDelta; 3258 +} 3259 +alias NMUPDOWN* LPNMUPDOWN; 3260 + 3261 +deprecated { 3262 + alias NMUPDOWN NM_UPDOWN; 3263 + alias LPNMUPDOWN LPNM_UPDOWN; 3264 +} 3265 + 3266 +static if (_WIN32_WINNT >= 0x501) { 3267 + struct LVITEMA { 3268 + UINT mask; 3269 + int iItem; 3270 + int iSubItem; 3271 + UINT state; 3272 + UINT stateMask; 3273 + LPSTR pszText; 3274 + int cchTextMax; 3275 + int iImage; 3276 + LPARAM lParam; 3277 + int iIndent; 3278 + int iGroupId; 3279 + UINT cColumns; 3280 + PUINT puColumns; 3281 + } 3282 + 3283 + struct LVITEMW { 3284 + UINT mask; 3285 + int iItem; 3286 + int iSubItem; 3287 + UINT state; 3288 + UINT stateMask; 3289 + LPWSTR pszText; 3290 + int cchTextMax; 3291 + int iImage; 3292 + LPARAM lParam; 3293 + int iIndent; 3294 + int iGroupId; 3295 + UINT cColumns; 3296 + PUINT puColumns; 3297 + } 3298 +} else static if (_WIN32_IE >= 0x300) { 3299 + struct LVITEMA { 3300 + UINT mask; 3301 + int iItem; 3302 + int iSubItem; 3303 + UINT state; 3304 + UINT stateMask; 3305 + LPSTR pszText; 3306 + int cchTextMax; 3307 + int iImage; 3308 + LPARAM lParam; 3309 + int iIndent; 3310 + } 3311 + 3312 + struct LVITEMW { 3313 + UINT mask; 3314 + int iItem; 3315 + int iSubItem; 3316 + UINT state; 3317 + UINT stateMask; 3318 + LPWSTR pszText; 3319 + int cchTextMax; 3320 + int iImage; 3321 + LPARAM lParam; 3322 + int iIndent; 3323 + } 3324 +} else { 3325 + struct LVITEMA { 3326 + UINT mask; 3327 + int iItem; 3328 + int iSubItem; 3329 + UINT state; 3330 + UINT stateMask; 3331 + LPSTR pszText; 3332 + int cchTextMax; 3333 + int iImage; 3334 + LPARAM lParam; 3335 + } 3336 + 3337 + struct LVITEMW { 3338 + UINT mask; 3339 + int iItem; 3340 + int iSubItem; 3341 + UINT state; 3342 + UINT stateMask; 3343 + LPWSTR pszText; 3344 + int cchTextMax; 3345 + int iImage; 3346 + LPARAM lParam; 3347 + } 3348 +} 3349 +alias LVITEMA* LPLVITEMA; 3350 +alias LVITEMW* LPLVITEMW; 3799 3351 alias LVITEMA LV_ITEMA; 3800 3352 alias LVITEMW LV_ITEMW; 3801 -// #else 3802 -// #... 3803 -// #... 3804 -// #... 3805 -// #... 3806 -// #endif 3807 - 3808 -// #if (_WIN32_WINNT >= 0x501) 3809 -enum { I_GROUPIDCALLBACK = -1 } 3810 -enum { I_GROUPIDNONE = -2 } 3811 -// #endif 3812 -alias LVITEM LV_ITEM; 3813 - 3814 -// #define LVITEMA_V1_SIZE CCSIZEOF_STRUCT(LVITEMA, lParam) 3815 -// #define LVITEMW_V1_SIZE CCSIZEOF_STRUCT(LVITEMW, lParam) 3816 - 3817 -struct tagLVITEMA { 3818 - UINT mask; 3819 - int iItem; 3820 - int iSubItem; 3821 - UINT state; 3822 - UINT stateMask; 3823 - LPSTR pszText; 3824 - int cchTextMax; 3825 - int iImage; 3826 - LPARAM lParam; 3827 -// #if (_WIN32_IE >= 0x0300) 3828 - int iIndent; 3829 -// #endif 3830 -// #if (_WIN32_WINNT >= 0x501) 3831 - int iGroupId; 3832 - UINT cColumns; 3833 - PUINT puColumns; 3834 -// #endif 3835 -} 3836 -alias tagLVITEMA LVITEMA; 3837 -alias tagLVITEMA* LPLVITEMA; 3838 - 3839 -struct tagLVITEMW { 3840 - UINT mask; 3841 - int iItem; 3842 - int iSubItem; 3843 - UINT state; 3844 - UINT stateMask; 3845 - LPWSTR pszText; 3846 - int cchTextMax; 3847 - int iImage; 3848 - LPARAM lParam; 3849 -// #if (_WIN32_IE >= 0x0300) 3850 - int iIndent; 3851 -// #endif 3852 -// #if (_WIN32_WINNT >= 0x501) 3853 - int iGroupId; 3854 - UINT cColumns; 3855 - PUINT puColumns; 3856 -// #endif 3857 -} 3858 -alias tagLVITEMW LVITEMW; 3859 -alias tagLVITEMW* LPLVITEMW; 3860 - 3861 -// #ifdef UNICODE 3862 -alias LVITEMW LVITEM; 3863 -alias LPLVITEMW LPLVITEM; 3864 -// #define LVITEM_V1_SIZE LVITEMW_V1_SIZE 3865 -// #else 3866 -// #... 3867 -// #... 3868 -// #... 3869 -// #endif 3870 - 3871 -const LPWSTR LPSTR_TEXTCALLBACKW = cast(LPWSTR)-1; 3872 -const LPSTR LPSTR_TEXTCALLBACKA = cast(LPSTR)-1; 3873 -// #ifdef UNICODE 3874 -alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK; 3875 -// #else 3876 -// #... 3877 -// #endif 3878 - 3879 -enum { I_IMAGECALLBACK = -1 } 3880 -// #if (_WIN32_IE >= 0x0501) 3881 -enum { I_IMAGENONE = -2 } 3882 -// #endif // 0x0501 3883 - 3884 -// #if (_WIN32_WINNT >= 0x501) 3885 - 3886 -enum : uint { I_COLUMNSCALLBACK = cast(UINT)-1 } 3887 -// #endif 3888 - 3889 -enum : uint { LVM_GETITEMA = LVM_FIRST + 5 } 3890 -enum : uint { LVM_GETITEMW = LVM_FIRST + 75 } 3891 -// #ifdef UNICODE 3892 -alias LVM_GETITEMW LVM_GETITEM; 3893 -// #else 3894 -// #... 3895 -// #endif 3896 - 3897 -// #define ListView_GetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), LVM_GETITEM, 0, (LPARAM)(LV_ITEM *)(pitem)) 3898 - 3899 -enum : uint { LVM_SETITEMA = LVM_FIRST + 6 } 3900 -enum : uint { LVM_SETITEMW = LVM_FIRST + 76 } 3901 -// #ifdef UNICODE 3902 -alias LVM_SETITEMW LVM_SETITEM; 3903 -// #else 3904 -// #... 3905 -// #endif 3906 - 3907 -// #define ListView_SetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), LVM_SETITEM, 0, (LPARAM)(const LV_ITEM *)(pitem)) 3908 - 3909 -enum : uint { LVM_INSERTITEMA = LVM_FIRST + 7 } 3910 -enum : uint { LVM_INSERTITEMW = LVM_FIRST + 77 } 3911 -// #ifdef UNICODE 3912 -alias LVM_INSERTITEMW LVM_INSERTITEM; 3913 -// #else 3914 -// #... 3915 -// #endif 3916 -// #define ListView_InsertItem(hwnd, pitem) (int)SNDMSG((hwnd), LVM_INSERTITEM, 0, (LPARAM)(const LV_ITEM *)(pitem)) 3917 - 3918 -enum : uint { LVM_DELETEITEM = LVM_FIRST + 8 } 3919 -// #define ListView_DeleteItem(hwnd, i) (BOOL)SNDMSG((hwnd), LVM_DELETEITEM, (WPARAM)(int)(i), 0L) 3920 - 3921 -enum : uint { LVM_DELETEALLITEMS = LVM_FIRST + 9 } 3922 -// #define ListView_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), LVM_DELETEALLITEMS, 0, 0L) 3923 - 3924 -enum : uint { LVM_GETCALLBACKMASK = LVM_FIRST + 10 } 3925 -// #define ListView_GetCallbackMask(hwnd) (BOOL)SNDMSG((hwnd), LVM_GETCALLBACKMASK, 0, 0) 3926 - 3927 -enum : uint { LVM_SETCALLBACKMASK = LVM_FIRST + 11 } 3928 -// #define ListView_SetCallbackMask(hwnd, mask) (BOOL)SNDMSG((hwnd), LVM_SETCALLBACKMASK, (WPARAM)(UINT)(mask), 0) 3929 - 3930 -enum : uint { LVNI_ALL = 0x0000 } 3931 -enum : uint { LVNI_FOCUSED = 0x0001 } 3932 -enum : uint { LVNI_SELECTED = 0x0002 } 3933 -enum : uint { LVNI_CUT = 0x0004 } 3934 -enum : uint { LVNI_DROPHILITED = 0x0008 } 3935 - 3936 -enum : uint { LVNI_ABOVE = 0x0100 } 3937 -enum : uint { LVNI_BELOW = 0x0200 } 3938 -enum : uint { LVNI_TOLEFT = 0x0400 } 3939 -enum : uint { LVNI_TORIGHT = 0x0800 } 3940 - 3941 -enum : uint { LVM_GETNEXTITEM = LVM_FIRST + 12 } 3942 -// #define ListView_GetNextItem(hwnd, i, flags) (int)SNDMSG((hwnd), LVM_GETNEXTITEM, (WPARAM)(int)(i), MAKELPARAM((flags), 0)) 3943 - 3944 -enum : uint { LVFI_PARAM = 0x0001 } 3945 -enum : uint { LVFI_STRING = 0x0002 } 3946 -enum : uint { LVFI_PARTIAL = 0x0008 } 3947 -enum : uint { LVFI_WRAP = 0x0020 } 3948 -enum : uint { LVFI_NEARESTXY = 0x0040 } 3949 - 3950 -// #if (_WIN32_IE >= 0x0300) 3353 + 3354 +struct LVFINDINFOA { 3355 + UINT flags; 3356 + LPCSTR psz; 3357 + LPARAM lParam; 3358 + POINT pt; 3359 + UINT vkDirection; 3360 +} 3361 + 3362 +struct LVFINDINFOW { 3363 + UINT flags; 3364 + LPCWSTR psz; 3365 + LPARAM lParam; 3366 + POINT pt; 3367 + UINT vkDirection; 3368 +} 3369 + 3370 +alias LVFINDINFOA* LPFINDINFOA; 3951 3371 alias LVFINDINFOA LV_FINDINFOA; 3372 +alias LVFINDINFOW* LPFINDINFOW; 3952 3373 alias LVFINDINFOW LV_FINDINFOW; 3953 -// #else 3954 -// #... 3955 -// #... 3956 -// #... 3957 -// #... 3958 -// #endif 3959 - 3960 -alias LVFINDINFO LV_FINDINFO; 3961 - 3962 -struct tagLVFINDINFOA { 3963 - UINT flags; 3964 - LPCSTR psz; 3965 - LPARAM lParam; 3966 - POINT pt; 3967 - UINT vkDirection; 3968 -} 3969 -alias tagLVFINDINFOA LVFINDINFOA; 3970 -alias tagLVFINDINFOA* LPFINDINFOA; 3971 - 3972 -struct tagLVFINDINFOW { 3973 - UINT flags; 3974 - LPCWSTR psz; 3975 - LPARAM lParam; 3976 - POINT pt; 3977 - UINT vkDirection; 3978 -} 3979 -alias tagLVFINDINFOW LVFINDINFOW; 3980 -alias tagLVFINDINFOW* LPFINDINFOW; 3981 - 3982 -// #ifdef UNICODE 3983 -alias LVFINDINFOW LVFINDINFO; 3984 -// #else 3985 -// #... 3986 -// #endif 3987 - 3988 -enum : uint { LVM_FINDITEMA = LVM_FIRST + 13 } 3989 -enum : uint { LVM_FINDITEMW = LVM_FIRST + 83 } 3990 -// #ifdef UNICODE 3991 -alias LVM_FINDITEMW LVM_FINDITEM; 3992 -// #else 3993 -// #... 3994 -// #endif 3995 - 3996 -// #define ListView_FindItem(hwnd, iStart, plvfi) (int)SNDMSG((hwnd), LVM_FINDITEM, (WPARAM)(int)(iStart), (LPARAM)(const LV_FINDINFO *)(plvfi)) 3997 - 3998 -enum : uint { LVIR_BOUNDS = 0 } 3999 -enum : uint { LVIR_ICON = 1 } 4000 -enum : uint { LVIR_LABEL = 2 } 4001 -enum : uint { LVIR_SELECTBOUNDS = 3 } 4002 - 4003 -enum : uint { LVM_GETITEMRECT = LVM_FIRST + 14 } 4004 -// #define ListView_GetItemRect(hwnd, i, prc, code) (BOOL)SNDMSG((hwnd), LVM_GETITEMRECT, (WPARAM)(int)(i), ((prc) ? (((RECT *)(prc))->left = (code),(LPARAM)(RECT *)(prc)) : (LPARAM)(RECT *)NULL)) 4005 - 4006 -enum : uint { LVM_SETITEMPOSITION = LVM_FIRST + 15 } 4007 -// #define ListView_SetItemPosition(hwndLV, i, x, y) (BOOL)SNDMSG((hwndLV), LVM_SETITEMPOSITION, (WPARAM)(int)(i), MAKELPARAM((x), (y))) 4008 - 4009 -enum : uint { LVM_GETITEMPOSITION = LVM_FIRST + 16 } 4010 -// #define ListView_GetItemPosition(hwndLV, i, ppt) (BOOL)SNDMSG((hwndLV), LVM_GETITEMPOSITION, (WPARAM)(int)(i), (LPARAM)(POINT *)(ppt)) 4011 - 4012 -enum : uint { LVM_GETSTRINGWIDTHA = LVM_FIRST + 17 } 4013 -enum : uint { LVM_GETSTRINGWIDTHW = LVM_FIRST + 87 } 4014 -// #ifdef UNICODE 4015 -alias LVM_GETSTRINGWIDTHW LVM_GETSTRINGWIDTH; 4016 -// #else 4017 -// #... 4018 -// #endif 4019 - 4020 -// #define ListView_GetStringWidth(hwndLV, psz) (int)SNDMSG((hwndLV), LVM_GETSTRINGWIDTH, 0, (LPARAM)(LPCTSTR)(psz)) 4021 - 4022 -enum : uint { LVHT_NOWHERE = 0x0001 } 4023 -enum : uint { LVHT_ONITEMICON = 0x0002 } 4024 -enum : uint { LVHT_ONITEMLABEL = 0x0004 } 4025 -enum : uint { LVHT_ONITEMSTATEICON = 0x0008 } 4026 -enum : uint { LVHT_ONITEM = LVHT_ONITEMICON | LVHT_ONITEMLABEL | LVHT_ONITEMSTATEICON } 4027 - 4028 -enum : uint { LVHT_ABOVE = 0x0008 } 4029 -enum : uint { LVHT_BELOW = 0x0010 } 4030 -enum : uint { LVHT_TORIGHT = 0x0020 } 4031 -enum : uint { LVHT_TOLEFT = 0x0040 } 4032 - 4033 -// #if (_WIN32_IE >= 0x0300) 3374 + 3375 +struct NMLVFINDITEMA { 3376 + NMHDR hdr; 3377 + int iStart; 3378 + LVFINDINFOA lvfi; 3379 +} 3380 + 3381 +struct NMLVFINDITEMW { 3382 + NMHDR hdr; 3383 + int iStart; 3384 + LVFINDINFOW lvfi; 3385 +} 3386 + 3387 +alias NMLVFINDITEMA* PNMLVFINDITEMA, LPNMLVFINDITEMA; 3388 +alias NMLVFINDITEMW* PNMLVFINDITEMW, LPNMLVFINDITEMW; 3389 + 3390 +static if (_WIN32_IE >= 0x300) { 3391 + struct LVHITTESTINFO { 3392 + POINT pt; 3393 + UINT flags; 3394 + int iItem; 3395 + int iSubItem; 3396 + } 3397 +} else { 3398 + struct LVHITTESTINFO { 3399 + POINT pt; 3400 + UINT flags; 3401 + int iItem; 3402 + } 3403 +} 3404 +alias LVHITTESTINFO* LPLVHITTESTINFO; 4034 3405 alias LVHITTESTINFO LV_HITTESTINFO; 4035 -// #else 4036 -// #... 4037 -// #... 4038 -// #endif 4039 - 4040 -// #define LVHITTESTINFO_V1_SIZE CCSIZEOF_STRUCT(LVHITTESTINFO, iItem) 4041 - 4042 -struct tagLVHITTESTINFO { 4043 - POINT pt; 4044 - UINT flags; 4045 - int iItem; 4046 -// #if (_WIN32_IE >= 0x0300) 4047 - int iSubItem; 4048 -// #endif 4049 -} 4050 -alias tagLVHITTESTINFO LVHITTESTINFO; 4051 -alias tagLVHITTESTINFO* LPLVHITTESTINFO; 4052 - 4053 -enum : uint { LVM_HITTEST = LVM_FIRST + 18 } 4054 -// #define ListView_HitTest(hwndLV, pinfo) (int)SNDMSG((hwndLV), LVM_HITTEST, 0, (LPARAM)(LV_HITTESTINFO *)(pinfo)) 4055 - 4056 -enum : uint { LVM_ENSUREVISIBLE = LVM_FIRST + 19 } 4057 -// #define ListView_EnsureVisible(hwndLV, i, fPartialOK) (BOOL)SNDMSG((hwndLV), LVM_ENSUREVISIBLE, (WPARAM)(int)(i), MAKELPARAM((fPartialOK), 0)) 4058 - 4059 -enum : uint { LVM_SCROLL = LVM_FIRST + 20 } 4060 -// #define ListView_Scroll(hwndLV, dx, dy) (BOOL)SNDMSG((hwndLV), LVM_SCROLL, (WPARAM)(int)(dx), (LPARAM)(int)(dy)) 4061 - 4062 -enum : uint { LVM_REDRAWITEMS = LVM_FIRST + 21 } 4063 -// #define ListView_RedrawItems(hwndLV, iFirst, iLast) (BOOL)SNDMSG((hwndLV), LVM_REDRAWITEMS, (WPARAM)(int)(iFirst), (LPARAM)(int)(iLast)) 4064 - 4065 -enum : uint { LVA_DEFAULT = 0x0000 } 4066 -enum : uint { LVA_ALIGNLEFT = 0x0001 } 4067 -enum : uint { LVA_ALIGNTOP = 0x0002 } 4068 -enum : uint { LVA_SNAPTOGRID = 0x0005 } 4069 - 4070 -enum : uint { LVM_ARRANGE = LVM_FIRST + 22 } 4071 -// #define ListView_Arrange(hwndLV, code) (BOOL)SNDMSG((hwndLV), LVM_ARRANGE, (WPARAM)(UINT)(code), 0L) 4072 - 4073 -enum : uint { LVM_EDITLABELA = LVM_FIRST + 23 } 4074 -enum : uint { LVM_EDITLABELW = LVM_FIRST + 118 } 4075 -// #ifdef UNICODE 4076 -alias LVM_EDITLABELW LVM_EDITLABEL; 4077 -// #else 4078 -// #... 4079 -// #endif 4080 - 4081 -// #define ListView_EditLabel(hwndLV, i) (HWND)SNDMSG((hwndLV), LVM_EDITLABEL, (WPARAM)(int)(i), 0L) 4082 - 4083 -enum : uint { LVM_GETEDITCONTROL = LVM_FIRST + 24 } 4084 -// #define ListView_GetEditControl(hwndLV) (HWND)SNDMSG((hwndLV), LVM_GETEDITCONTROL, 0, 0L) 4085 - 4086 -// #if (_WIN32_IE >= 0x0300) 3406 + 3407 +static if (_WIN32_IE >= 0x300) { 3408 + struct LVCOLUMNA { 3409 + UINT mask; 3410 + int fmt; 3411 + int cx; 3412 + LPSTR pszText; 3413 + int cchTextMax; 3414 + int iSubItem; 3415 + int iImage; 3416 + int iOrder; 3417 + } 3418 + struct LVCOLUMNW { 3419 + UINT mask; 3420 + int fmt; 3421 + int cx; 3422 + LPWSTR pszText; 3423 + int cchTextMax; 3424 + int iSubItem; 3425 + int iImage; 3426 + int iOrder; 3427 + } 3428 +} else { 3429 + struct LVCOLUMNA { 3430 + UINT mask; 3431 + int fmt; 3432 + int cx; 3433 + LPSTR pszText; 3434 + int cchTextMax; 3435 + int iSubItem; 3436 + } 3437 + struct LVCOLUMNW { 3438 + UINT mask; 3439 + int fmt; 3440 + int cx; 3441 + LPWSTR pszText; 3442 + int cchTextMax; 3443 + int iSubItem; 3444 + } 3445 +} 3446 +alias LVCOLUMNA* LPLVCOLUMNA; 3447 +alias LVCOLUMNW* LPLVCOLUMNW; 4087 3448 alias LVCOLUMNA LV_COLUMNA; 4088 3449 alias LVCOLUMNW LV_COLUMNW; 4089 -// #else 4090 -// #... 4091 -// #... 4092 -// #... 4093 -// #... 4094 -// #endif 4095 - 4096 -alias LVCOLUMN LV_COLUMN; 4097 - 4098 -// #define LVCOLUMNA_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNA, iSubItem) 4099 -// #define LVCOLUMNW_V1_SIZE CCSIZEOF_STRUCT(LVCOLUMNW, iSubItem) 4100 - 4101 -struct tagLVCOLUMNA { 4102 - UINT mask; 4103 - int fmt; 4104 - int cx; 4105 - LPSTR pszText; 4106 - int cchTextMax; 4107 - int iSubItem; 4108 -// #if (_WIN32_IE >= 0x0300) 4109 - int iImage; 4110 - int iOrder; 4111 -// #endif 4112 -} 4113 -alias tagLVCOLUMNA LVCOLUMNA; 4114 -alias tagLVCOLUMNA* LPLVCOLUMNA; 4115 - 4116 -struct tagLVCOLUMNW { 4117 - UINT mask; 4118 - int fmt; 4119 - int cx; 4120 - LPWSTR pszText; 4121 - int cchTextMax; 4122 - int iSubItem; 4123 -// #if (_WIN32_IE >= 0x0300) 4124 - int iImage; 4125 - int iOrder; 4126 -// #endif 4127 -} 4128 -alias tagLVCOLUMNW LVCOLUMNW; 4129 -alias tagLVCOLUMNW* LPLVCOLUMNW; 4130 - 4131 -// #ifdef UNICODE 4132 -alias LVCOLUMNW LVCOLUMN; 4133 -alias LPLVCOLUMNW LPLVCOLUMN; 4134 -// #define LVCOLUMN_V1_SIZE LVCOLUMNW_V1_SIZE 4135 -// #else 4136 -// #... 4137 -// #... 4138 -// #... 4139 -// #endif 4140 - 4141 -enum : uint { LVCF_FMT = 0x0001 } 4142 -enum : uint { LVCF_WIDTH = 0x0002 } 4143 -enum : uint { LVCF_TEXT = 0x0004 } 4144 -enum : uint { LVCF_SUBITEM = 0x0008 } 4145 -// #if (_WIN32_IE >= 0x0300) 4146 -enum : uint { LVCF_IMAGE = 0x0010 } 4147 -enum : uint { LVCF_ORDER = 0x0020 } 4148 -// #endif 4149 - 4150 -enum : uint { LVCFMT_LEFT = 0x0000 } 4151 -enum : uint { LVCFMT_RIGHT = 0x0001 } 4152 -enum : uint { LVCFMT_CENTER = 0x0002 } 4153 -enum : uint { LVCFMT_JUSTIFYMASK = 0x0003 } 4154 - 4155 -// #if (_WIN32_IE >= 0x0300) 4156 -enum : uint { LVCFMT_IMAGE = 0x0800 } 4157 -enum : uint { LVCFMT_BITMAP_ON_RIGHT = 0x1000 } 4158 -enum : uint { LVCFMT_COL_HAS_IMAGES = 0x8000 } 4159 -// #endif 4160 - 4161 -enum : uint { LVM_GETCOLUMNA = LVM_FIRST + 25 } 4162 -enum : uint { LVM_GETCOLUMNW = LVM_FIRST + 95 } 4163 -// #ifdef UNICODE 4164 -alias LVM_GETCOLUMNW LVM_GETCOLUMN; 4165 -// #else 4166 -// #... 4167 -// #endif 4168 - 4169 -// #define ListView_GetColumn(hwnd, iCol, pcol) (BOOL)SNDMSG((hwnd), LVM_GETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(LV_COLUMN *)(pcol)) 4170 - 4171 -enum : uint { LVM_SETCOLUMNA = LVM_FIRST + 26 } 4172 -enum : uint { LVM_SETCOLUMNW = LVM_FIRST + 96 } 4173 -// #ifdef UNICODE 4174 -alias LVM_SETCOLUMNW LVM_SETCOLUMN; 4175 -// #else 4176 -// #... 4177 -// #endif 4178 - 4179 -// #define ListView_SetColumn(hwnd, iCol, pcol) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol)) 4180 - 4181 -enum : uint { LVM_INSERTCOLUMNA = LVM_FIRST + 27 } 4182 -enum : uint { LVM_INSERTCOLUMNW = LVM_FIRST + 97 } 4183 -// #ifdef UNICODE 4184 -alias LVM_INSERTCOLUMNW LVM_INSERTCOLUMN; 4185 -// #else 4186 -// #... 4187 -// #endif 4188 - 4189 -// #define ListView_InsertColumn(hwnd, iCol, pcol) (int)SNDMSG((hwnd), LVM_INSERTCOLUMN, (WPARAM)(int)(iCol), (LPARAM)(const LV_COLUMN *)(pcol)) 4190 - 4191 -enum : uint { LVM_DELETECOLUMN = LVM_FIRST + 28 } 4192 -// #define ListView_DeleteColumn(hwnd, iCol) (BOOL)SNDMSG((hwnd), LVM_DELETECOLUMN, (WPARAM)(int)(iCol), 0) 4193 - 4194 -enum : uint { LVM_GETCOLUMNWIDTH = LVM_FIRST + 29 } 4195 -// #define ListView_GetColumnWidth(hwnd, iCol) (int)SNDMSG((hwnd), LVM_GETCOLUMNWIDTH, (WPARAM)(int)(iCol), 0) 4196 - 4197 -enum { LVSCW_AUTOSIZE = -1 } 4198 -enum { LVSCW_AUTOSIZE_USEHEADER = -2 } 4199 -enum : uint { LVM_SETCOLUMNWIDTH = LVM_FIRST + 30 } 4200 - 4201 -// #define ListView_SetColumnWidth(hwnd, iCol, cx) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNWIDTH, (WPARAM)(int)(iCol), MAKELPARAM((cx), 0)) 4202 - 4203 -// #if (_WIN32_IE >= 0x0300) 4204 -enum : uint { LVM_GETHEADER = LVM_FIRST + 31 } 4205 -// #define ListView_GetHeader(hwnd) (HWND)SNDMSG((hwnd), LVM_GETHEADER, 0, 0L) 4206 -// #endif 4207 - 4208 -enum : uint { LVM_CREATEDRAGIMAGE = LVM_FIRST + 33 } 4209 -// #define ListView_CreateDragImage(hwnd, i, lpptUpLeft) (HIMAGELIST)SNDMSG((hwnd), LVM_CREATEDRAGIMAGE, (WPARAM)(int)(i), (LPARAM)(LPPOINT)(lpptUpLeft)) 4210 - 4211 -enum : uint { LVM_GETVIEWRECT = LVM_FIRST + 34 } 4212 -// #define ListView_GetViewRect(hwnd, prc) (BOOL)SNDMSG((hwnd), LVM_GETVIEWRECT, 0, (LPARAM)(RECT *)(prc)) 4213 - 4214 -enum : uint { LVM_GETTEXTCOLOR = LVM_FIRST + 35 } 4215 -// #define ListView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETTEXTCOLOR, 0, 0L) 4216 - 4217 -enum : uint { LVM_SETTEXTCOLOR = LVM_FIRST + 36 } 4218 -// #define ListView_SetTextColor(hwnd, clrText) (BOOL)SNDMSG((hwnd), LVM_SETTEXTCOLOR, 0, (LPARAM)(COLORREF)(clrText)) 4219 - 4220 -enum : uint { LVM_GETTEXTBKCOLOR = LVM_FIRST + 37 } 4221 -// #define ListView_GetTextBkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETTEXTBKCOLOR, 0, 0L) 4222 - 4223 -enum : uint { LVM_SETTEXTBKCOLOR = LVM_FIRST + 38 } 4224 -// #define ListView_SetTextBkColor(hwnd, clrTextBk) (BOOL)SNDMSG((hwnd), LVM_SETTEXTBKCOLOR, 0, (LPARAM)(COLORREF)(clrTextBk)) 4225 - 4226 -enum : uint { LVM_GETTOPINDEX = LVM_FIRST + 39 } 4227 -// #define ListView_GetTopIndex(hwndLV) (int)SNDMSG((hwndLV), LVM_GETTOPINDEX, 0, 0) 4228 - 4229 -enum : uint { LVM_GETCOUNTPERPAGE = LVM_FIRST + 40 } 4230 -// #define ListView_GetCountPerPage(hwndLV) (int)SNDMSG((hwndLV), LVM_GETCOUNTPERPAGE, 0, 0) 4231 - 4232 -enum : uint { LVM_GETORIGIN = LVM_FIRST + 41 } 4233 -// #define ListView_GetOrigin(hwndLV, ppt) (BOOL)SNDMSG((hwndLV), LVM_GETORIGIN, (WPARAM)0, (LPARAM)(POINT *)(ppt)) 4234 - 4235 -enum : uint { LVM_UPDATE = LVM_FIRST + 42 } 4236 -// #define ListView_Update(hwndLV, i) (BOOL)SNDMSG((hwndLV), LVM_UPDATE, (WPARAM)(i), 0L) 4237 - 4238 -enum : uint { LVM_SETITEMSTATE = LVM_FIRST + 43 } 4239 -// #define ListView_SetItemState(hwndLV, i, data, mask) { LV_ITEM _ms_lvi; _ms_lvi.stateMask = mask; _ms_lvi.state = data; SNDMSG((hwndLV), LVM_SETITEMSTATE, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); } 4240 - 4241 -// #if (_WIN32_IE >= 0x0300) 4242 -// #define ListView_SetCheckState(hwndLV, i, fCheck) ListView_SetItemState(hwndLV, i, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), LVIS_STATEIMAGEMASK) 4243 -// #endif 4244 - 4245 -enum : uint { LVM_GETITEMSTATE = LVM_FIRST + 44 } 4246 -// #define ListView_GetItemState(hwndLV, i, mask) (UINT)SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), (LPARAM)(mask)) 4247 - 4248 -// #if (_WIN32_IE >= 0x0300) 4249 -// #define ListView_GetCheckState(hwndLV, i) ((((UINT)(SNDMSG((hwndLV), LVM_GETITEMSTATE, (WPARAM)(i), LVIS_STATEIMAGEMASK))) >> 12) -1) 4250 -// #endif 4251 - 4252 -enum : uint { LVM_GETITEMTEXTA = LVM_FIRST + 45 } 4253 -enum : uint { LVM_GETITEMTEXTW = LVM_FIRST + 115 } 4254 - 4255 -// #ifdef UNICODE 4256 -alias LVM_GETITEMTEXTW LVM_GETITEMTEXT; 4257 -// #else 4258 -// #... 4259 -// #endif 4260 - 4261 -// #define ListView_GetItemText(hwndLV, i, iSubItem_, pszText_, cchTextMax_) { LV_ITEM _ms_lvi; _ms_lvi.iSubItem = iSubItem_; _ms_lvi.cchTextMax = cchTextMax_; _ms_lvi.pszText = pszText_; SNDMSG((hwndLV), LVM_GETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); } 4262 - 4263 -enum : uint { LVM_SETITEMTEXTA = LVM_FIRST + 46 } 4264 -enum : uint { LVM_SETITEMTEXTW = LVM_FIRST + 116 } 4265 - 4266 -// #ifdef UNICODE 4267 -alias LVM_SETITEMTEXTW LVM_SETITEMTEXT; 4268 -// #else 4269 -// #... 4270 -// #endif 4271 - 4272 -// #define ListView_SetItemText(hwndLV, i, iSubItem_, pszText_) { LV_ITEM _ms_lvi; _ms_lvi.iSubItem = iSubItem_; _ms_lvi.pszText = pszText_; SNDMSG((hwndLV), LVM_SETITEMTEXT, (WPARAM)(i), (LPARAM)(LV_ITEM *)&_ms_lvi); } 4273 - 4274 -// #if (_WIN32_IE >= 0x0300) 4275 - 4276 -enum : uint { LVSICF_NOINVALIDATEALL = 0x00000001 } 4277 -enum : uint { LVSICF_NOSCROLL = 0x00000002 } 4278 -// #endif 4279 - 4280 -enum : uint { LVM_SETITEMCOUNT = LVM_FIRST + 47 } 4281 -// #define ListView_SetItemCount(hwndLV, cItems) SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), 0) 4282 - 4283 -// #if (_WIN32_IE >= 0x0300) 4284 -// #define ListView_SetItemCountEx(hwndLV, cItems, dwFlags) SNDMSG((hwndLV), LVM_SETITEMCOUNT, (WPARAM)(cItems), (LPARAM)(dwFlags)) 4285 -// #endif 4286 - 4287 -extern(Windows) alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE; 4288 - 4289 -enum : uint { LVM_SORTITEMS = LVM_FIRST + 48 } 4290 -// #define ListView_SortItems(hwndLV, _pfnCompare, _lPrm) (BOOL)SNDMSG((hwndLV), LVM_SORTITEMS, (WPARAM)(LPARAM)(_lPrm), (LPARAM)(PFNLVCOMPARE)(_pfnCompare)) 4291 - 4292 -enum : uint { LVM_SETITEMPOSITION32 = LVM_FIRST + 49 } 4293 -// #define ListView_SetItemPosition32(hwndLV, i, x0, y0) { POINT ptNewPos; ptNewPos.x = x0; ptNewPos.y = y0; SNDMSG((hwndLV), LVM_SETITEMPOSITION32, (WPARAM)(int)(i), (LPARAM)&ptNewPos); } 4294 - 4295 -enum : uint { LVM_GETSELECTEDCOUNT = LVM_FIRST + 50 } 4296 -// #define ListView_GetSelectedCount(hwndLV) (UINT)SNDMSG((hwndLV), LVM_GETSELECTEDCOUNT, 0, 0L) 4297 - 4298 -enum : uint { LVM_GETITEMSPACING = LVM_FIRST + 51 } 4299 -// #define ListView_GetItemSpacing(hwndLV, fSmall) (DWORD)SNDMSG((hwndLV), LVM_GETITEMSPACING, fSmall, 0L) 4300 - 4301 -enum : uint { LVM_GETISEARCHSTRINGA = LVM_FIRST + 52 } 4302 -enum : uint { LVM_GETISEARCHSTRINGW = LVM_FIRST + 117 } 4303 - 4304 -// #ifdef UNICODE 4305 -alias LVM_GETISEARCHSTRINGW LVM_GETISEARCHSTRING; 4306 -// #else 4307 -// #... 4308 -// #endif 4309 - 4310 -// #define ListView_GetISearchString(hwndLV, lpsz) (BOOL)SNDMSG((hwndLV), LVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz)) 4311 - 4312 -// #if (_WIN32_IE >= 0x0300) 4313 -enum : uint { LVM_SETICONSPACING = LVM_FIRST + 53 } 4314 - 4315 -// #define ListView_SetIconSpacing(hwndLV, cx, cy) (DWORD)SNDMSG((hwndLV), LVM_SETICONSPACING, 0, MAKELONG(cx,cy)) 4316 - 4317 -enum : uint { LVM_SETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 54 } 4318 -// #define ListView_SetExtendedListViewStyle(hwndLV, dw) (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, dw) 4319 -// #if (_WIN32_IE >= 0x0400) 4320 -// #define ListView_SetExtendedListViewStyleEx(hwndLV, dwMask, dw) (DWORD)SNDMSG((hwndLV), LVM_SETEXTENDEDLISTVIEWSTYLE, dwMask, dw) 4321 -// #endif 4322 - 4323 -enum : uint { LVM_GETEXTENDEDLISTVIEWSTYLE = LVM_FIRST + 55 } 4324 -// #define ListView_GetExtendedListViewStyle(hwndLV) (DWORD)SNDMSG((hwndLV), LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0) 4325 - 4326 -enum : uint { LVS_EX_GRIDLINES = 0x00000001 } 4327 -enum : uint { LVS_EX_SUBITEMIMAGES = 0x00000002 } 4328 -enum : uint { LVS_EX_CHECKBOXES = 0x00000004 } 4329 -enum : uint { LVS_EX_TRACKSELECT = 0x00000008 } 4330 -enum : uint { LVS_EX_HEADERDRAGDROP = 0x00000010 } 4331 -enum : uint { LVS_EX_FULLROWSELECT = 0x00000020 } 4332 -enum : uint { LVS_EX_ONECLICKACTIVATE = 0x00000040 } 4333 -enum : uint { LVS_EX_TWOCLICKACTIVATE = 0x00000080 } 4334 -// #if (_WIN32_IE >= 0x0400) 4335 -enum : uint { LVS_EX_FLATSB = 0x00000100 } 4336 -enum : uint { LVS_EX_REGIONAL = 0x00000200 } 4337 -enum : uint { LVS_EX_INFOTIP = 0x00000400 } 4338 -enum : uint { LVS_EX_UNDERLINEHOT = 0x00000800 } 4339 -enum : uint { LVS_EX_UNDERLINECOLD = 0x00001000 } 4340 -enum : uint { LVS_EX_MULTIWORKAREAS = 0x00002000 } 4341 -// #endif 4342 -// #if (_WIN32_IE >= 0x0500) 4343 -enum : uint { LVS_EX_LABELTIP = 0x00004000 } 4344 -enum : uint { LVS_EX_BORDERSELECT = 0x00008000 } 4345 -// #endif // End (_WIN32_IE >= 0x0500) 4346 -// #if (_WIN32_WINNT >= 0x501) 4347 -enum : uint { LVS_EX_DOUBLEBUFFER = 0x00010000 } 4348 -enum : uint { LVS_EX_HIDELABELS = 0x00020000 } 4349 -enum : uint { LVS_EX_SINGLEROW = 0x00040000 } 4350 -enum : uint { LVS_EX_SNAPTOGRID = 0x00080000 } 4351 -enum : uint { LVS_EX_SIMPLESELECT = 0x00100000 } 4352 -// #endif 4353 - 4354 -enum : uint { LVM_GETSUBITEMRECT = LVM_FIRST + 56 } 4355 -// #define ListView_GetSubItemRect(hwnd, iItem, iSubItem, code, prc) (BOOL)SNDMSG((hwnd), LVM_GETSUBITEMRECT, (WPARAM)(int)(iItem), ((prc) ? ((((LPRECT)(prc))->top = iSubItem), (((LPRECT)(prc))->left = code), (LPARAM)(prc)) : (LPARAM)(LPRECT)NULL)) 4356 - 4357 -enum : uint { LVM_SUBITEMHITTEST = LVM_FIRST + 57 } 4358 -// #define ListView_SubItemHitTest(hwnd, plvhti) (int)SNDMSG((hwnd), LVM_SUBITEMHITTEST, 0, (LPARAM)(LPLVHITTESTINFO)(plvhti)) 4359 - 4360 -enum : uint { LVM_SETCOLUMNORDERARRAY = LVM_FIRST + 58 } 4361 -// #define ListView_SetColumnOrderArray(hwnd, iCount, pi) (BOOL)SNDMSG((hwnd), LVM_SETCOLUMNORDERARRAY, (WPARAM)(iCount), (LPARAM)(LPINT)(pi)) 4362 - 4363 -enum : uint { LVM_GETCOLUMNORDERARRAY = LVM_FIRST + 59 } 4364 -// #define ListView_GetColumnOrderArray(hwnd, iCount, pi) (BOOL)SNDMSG((hwnd), LVM_GETCOLUMNORDERARRAY, (WPARAM)(iCount), (LPARAM)(LPINT)(pi)) 4365 - 4366 -enum : uint { LVM_SETHOTITEM = LVM_FIRST + 60 } 4367 -// #define ListView_SetHotItem(hwnd, i) (int)SNDMSG((hwnd), LVM_SETHOTITEM, (WPARAM)(i), 0) 4368 - 4369 -enum : uint { LVM_GETHOTITEM = LVM_FIRST + 61 } 4370 -// #define ListView_GetHotItem(hwnd) (int)SNDMSG((hwnd), LVM_GETHOTITEM, 0, 0) 4371 - 4372 -enum : uint { LVM_SETHOTCURSOR = LVM_FIRST + 62 } 4373 -// #define ListView_SetHotCursor(hwnd, hcur) (HCURSOR)SNDMSG((hwnd), LVM_SETHOTCURSOR, 0, (LPARAM)(hcur)) 4374 - 4375 -enum : uint { LVM_GETHOTCURSOR = LVM_FIRST + 63 } 4376 -// #define ListView_GetHotCursor(hwnd) (HCURSOR)SNDMSG((hwnd), LVM_GETHOTCURSOR, 0, 0) 4377 - 4378 -enum : uint { LVM_APPROXIMATEVIEWRECT = LVM_FIRST + 64 } 4379 -// #define ListView_ApproximateViewRect(hwnd, iWidth, iHeight, iCount) (DWORD)SNDMSG((hwnd), LVM_APPROXIMATEVIEWRECT, iCount, MAKELPARAM(iWidth, iHeight)) 4380 -// #endif // _WIN32_IE >= 0x0300 4381 - 4382 -// #if (_WIN32_IE >= 0x0400) 4383 - 4384 -enum : uint { LV_MAX_WORKAREAS = 16 } 4385 -enum : uint { LVM_SETWORKAREAS = LVM_FIRST + 65 } 4386 -// #define ListView_SetWorkAreas(hwnd, nWorkAreas, prc) (BOOL)SNDMSG((hwnd), LVM_SETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(RECT *)(prc)) 4387 - 4388 -enum : uint { LVM_GETWORKAREAS = LVM_FIRST + 70 } 4389 -// #define ListView_GetWorkAreas(hwnd, nWorkAreas, prc) (BOOL)SNDMSG((hwnd), LVM_GETWORKAREAS, (WPARAM)(int)(nWorkAreas), (LPARAM)(RECT *)(prc)) 4390 - 4391 -enum : uint { LVM_GETNUMBEROFWORKAREAS = LVM_FIRST + 73 } 4392 -// #define ListView_GetNumberOfWorkAreas(hwnd, pnWorkAreas) (BOOL)SNDMSG((hwnd), LVM_GETNUMBEROFWORKAREAS, 0, (LPARAM)(UINT *)(pnWorkAreas)) 4393 - 4394 -enum : uint { LVM_GETSELECTIONMARK = LVM_FIRST + 66 } 4395 -// #define ListView_GetSelectionMark(hwnd) (int)SNDMSG((hwnd), LVM_GETSELECTIONMARK, 0, 0) 4396 - 4397 -enum : uint { LVM_SETSELECTIONMARK = LVM_FIRST + 67 } 4398 -// #define ListView_SetSelectionMark(hwnd, i) (int)SNDMSG((hwnd), LVM_SETSELECTIONMARK, 0, (LPARAM)(i)) 4399 - 4400 -enum : uint { LVM_SETHOVERTIME = LVM_FIRST + 71 } 4401 -// #define ListView_SetHoverTime(hwndLV, dwHoverTimeMs) (DWORD)SNDMSG((hwndLV), LVM_SETHOVERTIME, 0, (LPARAM)(dwHoverTimeMs)) 4402 - 4403 -enum : uint { LVM_GETHOVERTIME = LVM_FIRST + 72 } 4404 -// #define ListView_GetHoverTime(hwndLV) (DWORD)SNDMSG((hwndLV), LVM_GETHOVERTIME, 0, 0) 4405 - 4406 -enum : uint { LVM_SETTOOLTIPS = LVM_FIRST + 74 } 4407 -// #define ListView_SetToolTips(hwndLV, hwndNewHwnd) (HWND)SNDMSG((hwndLV), LVM_SETTOOLTIPS, (WPARAM)(hwndNewHwnd), 0) 4408 - 4409 -enum : uint { LVM_GETTOOLTIPS = LVM_FIRST + 78 } 4410 -// #define ListView_GetToolTips(hwndLV) (HWND)SNDMSG((hwndLV), LVM_GETTOOLTIPS, 0, 0) 4411 - 4412 -enum : uint { LVM_SORTITEMSEX = LVM_FIRST + 81 } 4413 -// #define ListView_SortItemsEx(hwndLV, _pfnCompare, _lPrm) (BOOL)SNDMSG((hwndLV), LVM_SORTITEMSEX, (WPARAM)(LPARAM)(_lPrm), (LPARAM)(PFNLVCOMPARE)(_pfnCompare)) 4414 - 4415 -struct tagLVBKIMAGEA { 4416 - ULONG ulFlags; 4417 - HBITMAP hbm; 4418 - LPSTR pszImage; 4419 - UINT cchImageMax; 4420 - int xOffsetPercent; 4421 - int yOffsetPercent; 4422 -} 4423 -alias tagLVBKIMAGEA LVBKIMAGEA; 4424 -alias tagLVBKIMAGEA* LPLVBKIMAGEA; 4425 - 4426 -struct tagLVBKIMAGEW { 4427 - ULONG ulFlags; 4428 - HBITMAP hbm; 4429 - LPWSTR pszImage; 4430 - UINT cchImageMax; 4431 - int xOffsetPercent; 4432 - int yOffsetPercent; 4433 -} 4434 -alias tagLVBKIMAGEW LVBKIMAGEW; 4435 -alias tagLVBKIMAGEW* LPLVBKIMAGEW; 4436 - 4437 -enum : uint { LVBKIF_SOURCE_NONE = 0x00000000 } 4438 -enum : uint { LVBKIF_SOURCE_HBITMAP = 0x00000001 } 4439 -enum : uint { LVBKIF_SOURCE_URL = 0x00000002 } 4440 -enum : uint { LVBKIF_SOURCE_MASK = 0x00000003 } 4441 -enum : uint { LVBKIF_STYLE_NORMAL = 0x00000000 } 4442 -enum : uint { LVBKIF_STYLE_TILE = 0x00000010 } 4443 -enum : uint { LVBKIF_STYLE_MASK = 0x00000010 } 4444 -// #if (_WIN32_WINNT >= 0x501) 4445 -enum : uint { LVBKIF_FLAG_TILEOFFSET = 0x00000100 } 4446 -enum : uint { LVBKIF_TYPE_WATERMARK = 0x10000000 } 4447 -// #endif 4448 - 4449 -enum : uint { LVM_SETBKIMAGEA = LVM_FIRST + 68 } 4450 -enum : uint { LVM_SETBKIMAGEW = LVM_FIRST + 138 } 4451 -enum : uint { LVM_GETBKIMAGEA = LVM_FIRST + 69 } 4452 -enum : uint { LVM_GETBKIMAGEW = LVM_FIRST + 139 } 4453 - 4454 -// #if (_WIN32_WINNT >= 0x501) 4455 -enum : uint { LVM_SETSELECTEDCOLUMN = LVM_FIRST + 140 } 4456 -// #define ListView_SetSelectedColumn(hwnd, iCol) SNDMSG((hwnd), LVM_SETSELECTEDCOLUMN, (WPARAM)iCol, 0) 4457 - 4458 -enum : uint { LVM_SETTILEWIDTH = LVM_FIRST + 141 } 4459 -// #define ListView_SetTileWidth(hwnd, cpWidth) SNDMSG((hwnd), LVM_SETTILEWIDTH, (WPARAM)cpWidth, 0) 4460 - 4461 -enum : uint { LV_VIEW_ICON = 0x0000 } 4462 -enum : uint { LV_VIEW_DETAILS = 0x0001 } 4463 -enum : uint { LV_VIEW_SMALLICON = 0x0002 } 4464 -enum : uint { LV_VIEW_LIST = 0x0003 } 4465 -enum : uint { LV_VIEW_TILE = 0x0004 } 4466 -enum : uint { LV_VIEW_MAX = 0x0004 } 4467 - 4468 -enum : uint { LVM_SETVIEW = LVM_FIRST + 142 } 4469 -// #define ListView_SetView(hwnd, iView) (DWORD)SNDMSG((hwnd), LVM_SETVIEW, (WPARAM)(DWORD)iView, 0) 4470 - 4471 -enum : uint { LVM_GETVIEW = LVM_FIRST + 143 } 4472 -// #define ListView_GetView(hwnd) (DWORD)SNDMSG((hwnd), LVM_GETVIEW, 0, 0) 4473 - 4474 -enum : uint { LVGF_NONE = 0x00000000 } 4475 -enum : uint { LVGF_HEADER = 0x00000001 } 4476 -enum : uint { LVGF_FOOTER = 0x00000002 } 4477 -enum : uint { LVGF_STATE = 0x00000004 } 4478 -enum : uint { LVGF_ALIGN = 0x00000008 } 4479 -enum : uint { LVGF_GROUPID = 0x00000010 } 4480 - 4481 -enum : uint { LVGS_NORMAL = 0x00000000 } 4482 -enum : uint { LVGS_COLLAPSED = 0x00000001 } 4483 -enum : uint { LVGS_HIDDEN = 0x00000002 } 4484 - 4485 -enum : uint { LVGA_HEADER_LEFT = 0x00000001 } 4486 -enum : uint { LVGA_HEADER_CENTER = 0x00000002 } 4487 -enum : uint { LVGA_HEADER_RIGHT = 0x00000004 } 4488 -enum : uint { LVGA_FOOTER_LEFT = 0x00000008 } 4489 -enum : uint { LVGA_FOOTER_CENTER = 0x00000010 } 4490 -enum : uint { LVGA_FOOTER_RIGHT = 0x00000020 } 4491 - 4492 -struct tagLVGROUP { 4493 - UINT cbSize; 4494 - UINT mask; 4495 - LPWSTR pszHeader; 4496 - int cchHeader; 4497 - LPWSTR pszFooter; 4498 - int cchFooter; 4499 - int iGroupId; 4500 - UINT stateMask; 4501 - UINT state; 4502 - UINT uAlign; 4503 -} 4504 -alias tagLVGROUP LVGROUP; 4505 -alias tagLVGROUP* PLVGROUP; 4506 - 4507 -enum : uint { LVM_INSERTGROUP = LVM_FIRST + 145 } 4508 -// #define ListView_InsertGroup(hwnd, index, pgrp) SNDMSG((hwnd), LVM_INSERTGROUP, (WPARAM)index, (LPARAM)pgrp) 4509 - 4510 -enum : uint { LVM_SETGROUPINFO = LVM_FIRST + 147 } 4511 -// #define ListView_SetGroupInfo(hwnd, iGroupId, pgrp) SNDMSG((hwnd), LVM_SETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp) 4512 - 4513 -enum : uint { LVM_GETGROUPINFO = LVM_FIRST + 149 } 4514 -// #define ListView_GetGroupInfo(hwnd, iGroupId, pgrp) SNDMSG((hwnd), LVM_GETGROUPINFO, (WPARAM)iGroupId, (LPARAM)pgrp) 4515 - 4516 -enum : uint { LVM_REMOVEGROUP = LVM_FIRST + 150 } 4517 -// #define ListView_RemoveGroup(hwnd, iGroupId) SNDMSG((hwnd), LVM_REMOVEGROUP, (WPARAM)iGroupId, 0) 4518 - 4519 -enum : uint { LVM_MOVEGROUP = LVM_FIRST + 151 } 4520 -// #define ListView_MoveGroup(hwnd, iGroupId, toIndex) SNDMSG((hwnd), LVM_MOVEGROUP, (WPARAM)iGroupId, (LPARAM)toIndex) 4521 - 4522 -enum : uint { LVM_MOVEITEMTOGROUP = LVM_FIRST + 154 } 4523 -// #define ListView_MoveItemToGroup(hwnd, idItemFrom, idGroupTo) SNDMSG((hwnd), LVM_MOVEITEMTOGROUP, (WPARAM)idItemFrom, (LPARAM)idGroupTo) 4524 - 4525 -enum : uint { LVGMF_NONE = 0x00000000 } 4526 -enum : uint { LVGMF_BORDERSIZE = 0x00000001 } 4527 -enum : uint { LVGMF_BORDERCOLOR = 0x00000002 } 4528 -enum : uint { LVGMF_TEXTCOLOR = 0x00000004 } 4529 - 4530 -struct tagLVGROUPMETRICS { 4531 - UINT cbSize; 4532 - UINT mask; 4533 - UINT Left; 4534 - UINT Top; 4535 - UINT Right; 4536 - UINT Bottom; 4537 - COLORREF crLeft; 4538 - COLORREF crTop; 4539 - COLORREF crRight; 4540 - COLORREF crBottom; 4541 - COLORREF crHeader; 4542 - COLORREF crFooter; 4543 -} 4544 -alias tagLVGROUPMETRICS LVGROUPMETRICS; 4545 -alias tagLVGROUPMETRICS* PLVGROUPMETRICS; 4546 - 4547 -enum : uint { LVM_SETGROUPMETRICS = LVM_FIRST + 155 } 4548 -// #define ListView_SetGroupMetrics(hwnd, pGroupMetrics) SNDMSG((hwnd), LVM_SETGROUPMETRICS, 0, (LPARAM)pGroupMetrics) 4549 - 4550 -enum : uint { LVM_GETGROUPMETRICS = LVM_FIRST + 156 } 4551 -// #define ListView_GetGroupMetrics(hwnd, pGroupMetrics) SNDMSG((hwnd), LVM_GETGROUPMETRICS, 0, (LPARAM)pGroupMetrics) 4552 - 4553 -enum : uint { LVM_ENABLEGROUPVIEW = LVM_FIRST + 157 } 4554 -// #define ListView_EnableGroupView(hwnd, fEnable) SNDMSG((hwnd), LVM_ENABLEGROUPVIEW, (WPARAM)fEnable, 0) 4555 - 4556 -extern(Windows) alias int function(int, int, void *) PFNLVGROUPCOMPARE; 4557 - 4558 -enum : uint { LVM_SORTGROUPS = LVM_FIRST + 158 } 4559 -// #define ListView_SortGroups(hwnd, _pfnGroupCompate, _plv) SNDMSG((hwnd), LVM_SORTGROUPS, (WPARAM)_pfnGroupCompate, (LPARAM)_plv) 4560 - 4561 -struct tagLVINSERTGROUPSORTED { 4562 - PFNLVGROUPCOMPARE pfnGroupCompare; 4563 - void *pvData; 4564 - LVGROUP lvGroup; 4565 -} 4566 -alias tagLVINSERTGROUPSORTED LVINSERTGROUPSORTED; 4567 -alias tagLVINSERTGROUPSORTED* PLVINSERTGROUPSORTED; 4568 - 4569 -enum : uint { LVM_INSERTGROUPSORTED = LVM_FIRST + 159 } 4570 -// #define ListView_InsertGroupSorted(hwnd, structInsert) SNDMSG((hwnd), LVM_INSERTGROUPSORTED, (WPARAM)structInsert, 0) 4571 - 4572 -enum : uint { LVM_REMOVEALLGROUPS = LVM_FIRST + 160 } 4573 -// #define ListView_RemoveAllGroups(hwnd) SNDMSG((hwnd), LVM_REMOVEALLGROUPS, 0, 0) 4574 - 4575 -enum : uint { LVM_HASGROUP = LVM_FIRST + 161 } 4576 -// #define ListView_HasGroup(hwnd, dwGroupId) SNDMSG((hwnd), LVM_HASGROUP, dwGroupId, 0) 4577 - 4578 -enum : uint { LVTVIF_AUTOSIZE = 0x00000000 } 4579 -enum : uint { LVTVIF_FIXEDWIDTH = 0x00000001 } 4580 -enum : uint { LVTVIF_FIXEDHEIGHT = 0x00000002 } 4581 -enum : uint { LVTVIF_FIXEDSIZE = 0x00000003 } 4582 - 4583 -enum : uint { LVTVIM_TILESIZE = 0x00000001 } 4584 -enum : uint { LVTVIM_COLUMNS = 0x00000002 } 4585 -enum : uint { LVTVIM_LABELMARGIN = 0x00000004 } 4586 - 4587 -struct tagLVTILEVIEWINFO { 4588 - UINT cbSize; 4589 - DWORD dwMask; 4590 - DWORD dwFlags; 4591 - SIZE sizeTile; 4592 - int cLines; 4593 - RECT rcLabelMargin; 4594 -} 4595 -alias tagLVTILEVIEWINFO LVTILEVIEWINFO; 4596 -alias tagLVTILEVIEWINFO* PLVTILEVIEWINFO; 4597 - 4598 -struct tagLVTILEINFO { 4599 - UINT cbSize; 4600 - int iItem; 4601 - UINT cColumns; 4602 - PUINT puColumns; 4603 -} 4604 -alias tagLVTILEINFO LVTILEINFO; 4605 -alias tagLVTILEINFO* PLVTILEINFO; 4606 - 4607 -enum : uint { LVM_SETTILEVIEWINFO = LVM_FIRST + 162 } 4608 -// #define ListView_SetTileViewInfo(hwnd, ptvi) SNDMSG((hwnd), LVM_SETTILEVIEWINFO, 0, (LPARAM)ptvi) 4609 - 4610 -enum : uint { LVM_GETTILEVIEWINFO = LVM_FIRST + 163 } 4611 -// #define ListView_GetTileViewInfo(hwnd, ptvi) SNDMSG((hwnd), LVM_GETTILEVIEWINFO, 0, (LPARAM)ptvi) 4612 - 4613 -enum : uint { LVM_SETTILEINFO = LVM_FIRST + 164 } 4614 -// #define ListView_SetTileInfo(hwnd, pti) SNDMSG((hwnd), LVM_SETTILEINFO, 0, (LPARAM)pti) 4615 - 4616 -enum : uint { LVM_GETTILEINFO = LVM_FIRST + 165 } 4617 -// #define ListView_GetTileInfo(hwnd, pti) SNDMSG((hwnd), LVM_GETTILEINFO, 0, (LPARAM)pti) 4618 - 4619 -struct _8 { 4620 - UINT cbSize; 4621 - DWORD dwFlags; 4622 - int iItem; 4623 - DWORD dwReserved; 4624 -} 4625 -alias _8 LVINSERTMARK; 4626 -alias _8* LPLVINSERTMARK; 4627 - 4628 -enum : uint { LVIM_AFTER = 0x00000001 } 4629 - 4630 -enum : uint { LVM_SETINSERTMARK = LVM_FIRST + 166 } 4631 -// #define ListView_SetInsertMark(hwnd, lvim) (BOOL)SNDMSG((hwnd), LVM_SETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim)) 4632 - 4633 -enum : uint { LVM_GETINSERTMARK = LVM_FIRST + 167 } 4634 -// #define ListView_GetInsertMark(hwnd, lvim) (BOOL)SNDMSG((hwnd), LVM_GETINSERTMARK, (WPARAM) 0, (LPARAM) (lvim)) 4635 - 4636 -enum : uint { LVM_INSERTMARKHITTEST = LVM_FIRST + 168 } 4637 -// #define ListView_InsertMarkHitTest(hwnd, point, lvim) (int)SNDMSG((hwnd), LVM_INSERTMARKHITTEST, (WPARAM)(LPPOINT)(point), (LPARAM)(LPLVINSERTMARK)(lvim)) 4638 - 4639 -enum : uint { LVM_GETINSERTMARKRECT = LVM_FIRST + 169 } 4640 -// #define ListView_GetInsertMarkRect(hwnd, rc) (int)SNDMSG((hwnd), LVM_GETINSERTMARKRECT, (WPARAM)0, (LPARAM)(LPRECT)(rc)) 4641 - 4642 -enum : uint { LVM_SETINSERTMARKCOLOR = LVM_FIRST + 170 } 4643 -// #define ListView_SetInsertMarkColor(hwnd, color) (COLORREF)SNDMSG((hwnd), LVM_SETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color)) 4644 - 4645 -enum : uint { LVM_GETINSERTMARKCOLOR = LVM_FIRST + 171 } 4646 -// #define ListView_GetInsertMarkColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETINSERTMARKCOLOR, (WPARAM)0, (LPARAM)0) 4647 - 4648 -struct tagLVSETINFOTIP { 4649 - UINT cbSize; 4650 - DWORD dwFlags; 4651 - LPWSTR pszText; 4652 - int iItem; 4653 - int iSubItem; 4654 -} 4655 -alias tagLVSETINFOTIP LVSETINFOTIP; 4656 -alias tagLVSETINFOTIP* PLVSETINFOTIP; 4657 - 4658 -enum : uint { LVM_SETINFOTIP = LVM_FIRST + 173 } 4659 - 4660 -// #define ListView_SetInfoTip(hwndLV, plvInfoTip) (BOOL)SNDMSG((hwndLV), LVM_SETINFOTIP, (WPARAM)0, (LPARAM)plvInfoTip) 4661 - 4662 -enum : uint { LVM_GETSELECTEDCOLUMN = LVM_FIRST + 174 } 4663 -// #define ListView_GetSelectedColumn(hwnd) (UINT)SNDMSG((hwnd), LVM_GETSELECTEDCOLUMN, 0, 0) 4664 - 4665 -enum : uint { LVM_ISGROUPVIEWENABLED = LVM_FIRST + 175 } 4666 -// #define ListView_IsGroupViewEnabled(hwnd) (BOOL)SNDMSG((hwnd), LVM_ISGROUPVIEWENABLED, 0, 0) 4667 - 4668 -enum : uint { LVM_GETOUTLINECOLOR = LVM_FIRST + 176 } 4669 -// #define ListView_GetOutlineColor(hwnd) (COLORREF)SNDMSG((hwnd), LVM_GETOUTLINECOLOR, 0, 0) 4670 - 4671 -enum : uint { LVM_SETOUTLINECOLOR = LVM_FIRST + 177 } 4672 -// #define ListView_SetOutlineColor(hwnd, color) (COLORREF)SNDMSG((hwnd), LVM_SETOUTLINECOLOR, (WPARAM)0, (LPARAM)(COLORREF)(color)) 4673 - 4674 -enum : uint { LVM_CANCELEDITLABEL = LVM_FIRST + 179 } 4675 -// #define ListView_CancelEditLabel(hwnd) (VOID)SNDMSG((hwnd), LVM_CANCELEDITLABEL, (WPARAM)0, (LPARAM)0) 4676 - 4677 -enum : uint { LVM_MAPINDEXTOID = LVM_FIRST + 180 } 4678 -// #define ListView_MapIndexToID(hwnd, index) (UINT)SNDMSG((hwnd), LVM_MAPINDEXTOID, (WPARAM)index, (LPARAM)0) 4679 - 4680 -enum : uint { LVM_MAPIDTOINDEX = LVM_FIRST + 181 } 4681 -// #define ListView_MapIDToIndex(hwnd, id) (UINT)SNDMSG((hwnd), LVM_MAPIDTOINDEX, (WPARAM)id, (LPARAM)0) 4682 - 4683 -// #endif 4684 - 4685 -// #ifdef UNICODE 4686 -alias LVBKIMAGEW LVBKIMAGE; 4687 -alias LPLVBKIMAGEW LPLVBKIMAGE; 4688 -alias LVM_SETBKIMAGEW LVM_SETBKIMAGE; 4689 -alias LVM_GETBKIMAGEW LVM_GETBKIMAGE; 4690 -// #else 4691 -// #... 4692 -// #... 4693 -// #... 4694 -// #... 4695 -// #endif 4696 - 4697 -// #define ListView_SetBkImage(hwnd, plvbki) (BOOL)SNDMSG((hwnd), LVM_SETBKIMAGE, 0, (LPARAM)(plvbki)) 4698 - 4699 -// #define ListView_GetBkImage(hwnd, plvbki) (BOOL)SNDMSG((hwnd), LVM_GETBKIMAGE, 0, (LPARAM)(plvbki)) 4700 - 4701 -// #endif // _WIN32_IE >= 0x0400 4702 - 4703 -// #if (_WIN32_IE >= 0x0300) 4704 -alias LPNMLISTVIEW LPNM_LISTVIEW; 4705 -alias NMLISTVIEW NM_LISTVIEW; 4706 -// #else 4707 -// #... 4708 -// #... 4709 -// #... 4710 -// #endif 4711 - 4712 -struct tagNMLISTVIEW { 4713 - NMHDR hdr; 4714 - int iItem; 4715 - int iSubItem; 4716 - UINT uNewState; 4717 - UINT uOldState; 4718 - UINT uChanged; 4719 - POINT ptAction; 4720 - LPARAM lParam; 4721 -} 4722 -alias tagNMLISTVIEW NMLISTVIEW; 4723 -alias tagNMLISTVIEW* LPNMLISTVIEW; 4724 - 4725 -// #if (_WIN32_IE >= 0x400) 4726 - 4727 -struct tagNMITEMACTIVATE { 4728 - NMHDR hdr; 4729 - int iItem; 4730 - int iSubItem; 4731 - UINT uNewState; 4732 - UINT uOldState; 4733 - UINT uChanged; 4734 - POINT ptAction; 4735 - LPARAM lParam; 4736 - UINT uKeyFlags; 4737 -} 4738 -alias tagNMITEMACTIVATE NMITEMACTIVATE; 4739 -alias tagNMITEMACTIVATE* LPNMITEMACTIVATE; 4740 - 4741 -enum : uint { LVKF_ALT = 0x0001 } 4742 -enum : uint { LVKF_CONTROL = 0x0002 } 4743 -enum : uint { LVKF_SHIFT = 0x0004 } 4744 -// #endif //(_WIN32_IE >= 0x0400) 4745 - 4746 -// #if (_WIN32_IE >= 0x0300) 4747 -// #define NMLVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMLVCUSTOMDRW, clrTextBk) 4748 - 4749 -struct tagNMLVCUSTOMDRAW { 4750 - NMCUSTOMDRAW nmcd; 4751 - COLORREF clrText; 4752 - COLORREF clrTextBk; 4753 -// #if (_WIN32_IE >= 0x0400) 4754 - int iSubItem; 4755 -// #endif 4756 -// #if (_WIN32_WINNT >= 0x501) 4757 - DWORD dwItemType; 4758 - COLORREF clrFace; 4759 - int iIconEffect; 4760 - int iIconPhase; 4761 - int iPartId; 4762 - int iStateId; 4763 - RECT rcText; 4764 - UINT uAlign; 4765 -// #endif 4766 -} 4767 -alias tagNMLVCUSTOMDRAW NMLVCUSTOMDRAW; 4768 -alias tagNMLVCUSTOMDRAW* LPNMLVCUSTOMDRAW; 4769 - 4770 -enum : uint { LVCDI_ITEM = 0x00000000 } 4771 -enum : uint { LVCDI_GROUP = 0x00000001 } 4772 - 4773 -enum : uint { LVCDRF_NOSELECT = 0x00010000 } 4774 -enum : uint { LVCDRF_NOGROUPFRAME = 0x00020000 } 4775 - 4776 -struct tagNMLVCACHEHINT { 4777 - NMHDR hdr; 4778 - int iFrom; 4779 - int iTo; 4780 -} 4781 -alias tagNMLVCACHEHINT NMLVCACHEHINT; 4782 -alias tagNMLVCACHEHINT* LPNMLVCACHEHINT; 4783 - 4784 -alias LPNMLVCACHEHINT LPNM_CACHEHINT; 4785 -alias LPNMLVCACHEHINT PNM_CACHEHINT; 3450 + 3451 +static if (_WIN32_WINNT >= 0x501) { 3452 + /* SG: The definitions in this static if block are from the MSDN docs. 3453 + * They are not in MinGW, but nonetheless required for macros that are. 3454 + */ 3455 + struct LVGROUP { 3456 + UINT cbSize = LVGROUP.sizeof; 3457 + UINT mask; 3458 + LPWSTR pszHeader; 3459 + int cchHeader; 3460 + LPWSTR pszFooter; 3461 + int cchFooter; 3462 + int iGroupId; 3463 + UINT stateMask; 3464 + UINT state; 3465 + UINT uAlign; 3466 + static if (_WIN32_WINNT >= 0x600) { 3467 + LPWSTR pszSubtitle; 3468 + UINT cchSubtitle; 3469 + LPWSTR pszTask; 3470 + UINT cchTask; 3471 + LPWSTR pszDescriptionTop; 3472 + UINT cchDescriptionTop; 3473 + LPWSTR pszDescriptionBottom; 3474 + UINT cchDescriptionBottom; 3475 + int iTitleImage; 3476 + int iExtendedImage; 3477 + int iFirstItem; // Read only 3478 + UINT cItems; // Read only 3479 + LPWSTR pszSubsetTitle; // NULL if group is not subset 3480 + UINT cchSubsetTitle; 3481 + } 3482 + } 3483 + alias LVGROUP* PLVGROUP; 3484 + 3485 + struct LVGROUPMETRICS { 3486 + UINT cbSize = LVGROUPMETRICS.sizeof; 3487 + UINT mask; 3488 + UINT Left; 3489 + UINT Top; 3490 + UINT Right; 3491 + UINT Bottom; 3492 + COLORREF crLeft; 3493 + COLORREF crTop; 3494 + COLORREF crRight; 3495 + COLORREF crBottom; 3496 + COLORREF crHeader; 3497 + COLORREF crFooter; 3498 + } 3499 + alias LVGROUPMETRICS* PLVGROUPMETRICS; 3500 + 3501 + struct LVINSERTMARK { 3502 + UINT cbSize = LVINSERTMARK.sizeof; 3503 + DWORD dwFlags; 3504 + int iItem; 3505 + DWORD dwReserved; 3506 + } 3507 + alias LVINSERTMARK* PLVINSERTMARK; 3508 + 3509 + struct LVTILEINFO { 3510 + UINT cbSize = LVTILEINFO.sizeof; 3511 + int iItem; 3512 + UINT cColumns; 3513 + PUINT puColumns; 3514 + static if (_WIN32_WINNT >= 0x600) { 3515 + int* piColFmt; 3516 + } 3517 + } 3518 + alias LVTILEINFO* PLVTILEINFO; 3519 + 3520 + struct LVTILEVIEWINFO { 3521 + UINT cbSize = LVTILEVIEWINFO.sizeof; 3522 + DWORD dwMask; 3523 + DWORD dwFlags; 3524 + SIZE sizeTile; 3525 + int cLines; 3526 + RECT rcLabelMargin; 3527 + } 3528 + alias LVTILEVIEWINFO* PLVTILEVIEWINFO; 3529 + 3530 + struct LVINSERTGROUPSORTED { 3531 + PFNLVGROUPCOMPARE pfnGroupCompare; 3532 + LPVOID* pvData; 3533 + LVGROUP lvGroup; 3534 + } 3535 + alias LVINSERTGROUPSORTED* PLVINSERTGROUPSORTED; 3536 + 3537 + alias int function(INT, INT, VOID*) PFNLVGROUPCOMPARE; 3538 + 3539 + struct LVSETINFOTIP { 3540 + UINT cbSize = LVSETINFOTIP.sizeof; 3541 + DWORD dwFlags; 3542 + LPWSTR pszText; 3543 + int iItem; 3544 + int iSubItem; 3545 + HBITMAP hbmp; 3546 + } 3547 + alias LVSETINFOTIP* PLVSETINFOTIP; 3548 +} 3549 + 3550 +alias int function(LPARAM, LPARAM, LPARAM) PFNLVCOMPARE; 3551 + 3552 +struct NMLISTVIEW { 3553 + NMHDR hdr; 3554 + int iItem; 3555 + int iSubItem; 3556 + UINT uNewState; 3557 + UINT uOldState; 3558 + UINT uChanged; 3559 + POINT ptAction; 3560 + LPARAM lParam; 3561 +} 3562 +alias NMLISTVIEW* LPNMLISTVIEW; 3563 + 3564 +deprecated { 3565 + alias NMLISTVIEW NM_LISTVIEW; 3566 + alias LPNMLISTVIEW LPNM_LISTVIEW; 3567 +} 3568 + 3569 +struct NMLVDISPINFOA { 3570 + NMHDR hdr; 3571 + LV_ITEMA item; 3572 +} 3573 +alias NMLVDISPINFOA* LPNMLVDISPINFOA; 3574 +alias NMLVDISPINFOA LV_DISPINFOA; 3575 + 3576 +struct NMLVDISPINFOW { 3577 + NMHDR hdr; 3578 + LV_ITEMW item; 3579 +} 3580 +alias NMLVDISPINFOW* LPNMLVDISPINFOW; 3581 +alias NMLVDISPINFOW LV_DISPINFOW; 3582 + 3583 +struct LV_KEYDOWN { 3584 + NMHDR hdr; 3585 + WORD wVKey; 3586 + UINT flags; 3587 +} 3588 + 3589 +struct NMLVCACHEHINT { 3590 + NMHDR hdr; 3591 + int iFrom; 3592 + int iTo; 3593 +} 3594 +alias NMLVCACHEHINT* LPNMLVCACHEHINT, PNM_CACHEHINT, LPNM_CACHEHINT; 4786 3595 alias NMLVCACHEHINT NM_CACHEHINT; 4787 3596 4788 -struct tagNMLVFINDITEMA { 4789 - NMHDR hdr; 4790 - int iStart; 4791 - LVFINDINFOA lvfi; 4792 -} 4793 -alias tagNMLVFINDITEMA NMLVFINDITEMA; 4794 -alias tagNMLVFINDITEMA* LPNMLVFINDITEMA; 4795 - 4796 -struct tagNMLVFINDITEMW { 4797 - NMHDR hdr; 4798 - int iStart; 4799 - LVFINDINFOW lvfi; 4800 -} 4801 -alias tagNMLVFINDITEMW NMLVFINDITEMW; 4802 -alias tagNMLVFINDITEMW* LPNMLVFINDITEMW; 4803 - 4804 -alias LPNMLVFINDITEMA PNM_FINDITEMA; 4805 -alias LPNMLVFINDITEMA LPNM_FINDITEMA; 4806 -alias NMLVFINDITEMA NM_FINDITEMA; 4807 - 4808 -alias LPNMLVFINDITEMW PNM_FINDITEMW; 4809 -alias LPNMLVFINDITEMW LPNM_FINDITEMW; 4810 -alias NMLVFINDITEMW NM_FINDITEMW; 4811 - 4812 -// #ifdef UNICODE 4813 -alias PNM_FINDITEMW PNM_FINDITEM; 4814 -alias LPNM_FINDITEMW LPNM_FINDITEM; 4815 -alias NM_FINDITEMW NM_FINDITEM; 4816 -alias NMLVFINDITEMW NMLVFINDITEM; 4817 -alias LPNMLVFINDITEMW LPNMLVFINDITEM; 4818 -// #else 4819 -// #... 4820 -// #... 4821 -// #... 4822 -// #... 4823 -// #... 4824 -// #endif 4825 - 4826 -struct tagNMLVODSTATECHANGE { 4827 - NMHDR hdr; 4828 - int iFrom; 4829 - int iTo; 4830 - UINT uNewState; 4831 - UINT uOldState; 4832 -} 4833 -alias tagNMLVODSTATECHANGE NMLVODSTATECHANGE; 4834 -alias tagNMLVODSTATECHANGE* LPNMLVODSTATECHANGE; 4835 - 4836 -alias LPNMLVODSTATECHANGE PNM_ODSTATECHANGE; 4837 -alias LPNMLVODSTATECHANGE LPNM_ODSTATECHANGE; 4838 -alias NMLVODSTATECHANGE NM_ODSTATECHANGE; 4839 -// #endif // _WIN32_IE >= 0x0300 4840 - 4841 -enum : uint { LVN_ITEMCHANGING = LVN_FIRST-0 } 4842 -enum : uint { LVN_ITEMCHANGED = LVN_FIRST-1 } 4843 -enum : uint { LVN_INSERTITEM = LVN_FIRST-2 } 4844 -enum : uint { LVN_DELETEITEM = LVN_FIRST-3 } 4845 -enum : uint { LVN_DELETEALLITEMS = LVN_FIRST-4 } 4846 -enum : uint { LVN_BEGINLABELEDITA = LVN_FIRST-5 } 4847 -enum : uint { LVN_BEGINLABELEDITW = LVN_FIRST-75 } 4848 -enum : uint { LVN_ENDLABELEDITA = LVN_FIRST-6 } 4849 -enum : uint { LVN_ENDLABELEDITW = LVN_FIRST-76 } 4850 -enum : uint { LVN_COLUMNCLICK = LVN_FIRST-8 } 4851 -enum : uint { LVN_BEGINDRAG = LVN_FIRST-9 } 4852 -enum : uint { LVN_BEGINRDRAG = LVN_FIRST-11 } 4853 - 4854 -// #if (_WIN32_IE >= 0x0300) 4855 -enum : uint { LVN_ODCACHEHINT = LVN_FIRST-13 } 4856 -enum : uint { LVN_ODFINDITEMA = LVN_FIRST-52 } 4857 -enum : uint { LVN_ODFINDITEMW = LVN_FIRST-79 } 4858 - 4859 -enum : uint { LVN_ITEMACTIVATE = LVN_FIRST-14 } 4860 -enum : uint { LVN_ODSTATECHANGED = LVN_FIRST-15 } 4861 - 4862 -// #ifdef UNICODE 4863 -alias LVN_ODFINDITEMW LVN_ODFINDITEM; 4864 -// #else 4865 -// #... 4866 -// #endif 4867 -// #endif // _WIN32_IE >= 0x0300 4868 - 4869 -// #if (_WIN32_IE >= 0x0400) 4870 -enum : uint { LVN_HOTTRACK = LVN_FIRST-21 } 4871 -// #endif 4872 - 4873 -enum : uint { LVN_GETDISPINFOA = LVN_FIRST-50 } 4874 -enum : uint { LVN_GETDISPINFOW = LVN_FIRST-77 } 4875 -enum : uint { LVN_SETDISPINFOA = LVN_FIRST-51 } 4876 -enum : uint { LVN_SETDISPINFOW = LVN_FIRST-78 } 4877 - 4878 -// #ifdef UNICODE 4879 -alias LVN_BEGINLABELEDITW LVN_BEGINLABELEDIT; 4880 -alias LVN_ENDLABELEDITW LVN_ENDLABELEDIT; 4881 -alias LVN_GETDISPINFOW LVN_GETDISPINFO; 4882 -alias LVN_SETDISPINFOW LVN_SETDISPINFO; 4883 -// #else 4884 -// #... 4885 -// #... 4886 -// #... 4887 -// #... 4888 -// #endif 4889 - 4890 -enum : uint { LVIF_DI_SETITEM = 0x1000 } 4891 - 4892 -// #if (_WIN32_IE >= 0x0300) 4893 -alias NMLVDISPINFOA LV_DISPINFOA; 4894 -alias NMLVDISPINFOW LV_DISPINFOW; 4895 -// #else 4896 -// #... 4897 -// #... 4898 -// #... 4899 -// #... 4900 -// #endif 4901 - 4902 -alias NMLVDISPINFO LV_DISPINFO; 4903 - 4904 -struct tagLVDISPINFO { 4905 - NMHDR hdr; 4906 - LVITEMA item; 4907 -} 4908 -alias tagLVDISPINFO NMLVDISPINFOA; 4909 -alias tagLVDISPINFO* LPNMLVDISPINFOA; 4910 - 4911 -struct tagLVDISPINFOW { 4912 - NMHDR hdr; 4913 - LVITEMW item; 4914 -} 4915 -alias tagLVDISPINFOW NMLVDISPINFOW; 4916 -alias tagLVDISPINFOW* LPNMLVDISPINFOW; 4917 - 4918 -// #ifdef UNICODE 4919 -alias NMLVDISPINFOW NMLVDISPINFO; 4920 -// #else 4921 -// #... 4922 -// #endif 4923 - 4924 -enum : uint { LVN_KEYDOWN = LVN_FIRST-55 } 4925 - 4926 -// #if (_WIN32_IE >= 0x0300) 4927 -alias NMLVKEYDOWN LV_KEYDOWN; 4928 -// #else 4929 -// #... 4930 -// #... 4931 -// #endif 4932 - 4933 -// #ifdef _WIN32 4934 -align(1): 4935 -// #endif 4936 - 4937 -struct tagLVKEYDOWN { 4938 - NMHDR hdr; 4939 - WORD wVKey; 4940 - UINT flags; 4941 -} 4942 -alias tagLVKEYDOWN NMLVKEYDOWN; 4943 -alias tagLVKEYDOWN* LPNMLVKEYDOWN; 4944 - 4945 -// #ifdef _WIN32 4946 -align: 4947 -// #endif 4948 - 4949 -// #if (_WIN32_IE >= 0x0300) 4950 -enum : uint { LVN_MARQUEEBEGIN = LVN_FIRST-56 } 4951 -// #endif 4952 - 4953 -// #if (_WIN32_IE >= 0x0400) 4954 -struct tagNMLVGETINFOTIPA { 4955 - NMHDR hdr; 4956 - DWORD dwFlags; 4957 - LPSTR pszText; 4958 - int cchTextMax; 4959 - int iItem; 4960 - int iSubItem; 4961 - LPARAM lParam; 4962 -} 4963 -alias tagNMLVGETINFOTIPA NMLVGETINFOTIPA; 4964 -alias tagNMLVGETINFOTIPA* LPNMLVGETINFOTIPA; 4965 - 4966 -struct tagNMLVGETINFOTIPW { 4967 - NMHDR hdr; 4968 - DWORD dwFlags; 4969 - LPWSTR pszText; 4970 - int cchTextMax; 4971 - int iItem; 4972 - int iSubItem; 4973 - LPARAM lParam; 4974 -} 4975 -alias tagNMLVGETINFOTIPW NMLVGETINFOTIPW; 4976 -alias tagNMLVGETINFOTIPW* LPNMLVGETINFOTIPW; 4977 - 4978 -enum : uint { LVGIT_UNFOLDED = 0x0001 } 4979 - 4980 -enum : uint { LVN_GETINFOTIPA = LVN_FIRST-57 } 4981 -enum : uint { LVN_GETINFOTIPW = LVN_FIRST-58 } 4982 - 4983 -// #ifdef UNICODE 4984 -alias LVN_GETINFOTIPW LVN_GETINFOTIP; 4985 -alias NMLVGETINFOTIPW NMLVGETINFOTIP; 4986 -alias LPNMLVGETINFOTIPW LPNMLVGETINFOTIP; 4987 -// #else 4988 -// #... 4989 -// #... 4990 -// #... 4991 -// #endif 4992 - 4993 -// #endif // _WIN32_IE >= 0x0400 4994 - 4995 -// #if (_WIN32_WINNT >= 0x501) 4996 -struct tagNMLVSCROLL { 4997 - NMHDR hdr; 4998 - int dx; 4999 - int dy; 5000 -} 5001 -alias tagNMLVSCROLL NMLVSCROLL; 5002 -alias tagNMLVSCROLL* LPNMLVSCROLL; 5003 - 5004 -enum : uint { LVN_BEGINSCROLL = LVN_FIRST-80 } 5005 -enum : uint { LVN_ENDSCROLL = LVN_FIRST-81 } 5006 -// #endif 5007 - 5008 -// #endif // NOLISTVIEW 5009 - 5010 -// #ifndef NOTREEVIEW 5011 - 5012 -// #ifdef _WIN32 5013 -const char[] WC_TREEVIEWA = "SysTreeView32"; 5014 -const wchar[] WC_TREEVIEWW = "SysTreeView32"; 5015 - 5016 -// #ifdef UNICODE 5017 -alias WC_TREEVIEWW WC_TREEVIEW; 5018 -// #else 5019 -// #... 5020 -// #endif 5021 - 5022 -// #else 5023 -// #... 5024 -// #endif 5025 - 5026 -enum : uint { TVS_HASBUTTONS = 0x0001 } 5027 -enum : uint { TVS_HASLINES = 0x0002 } 5028 -enum : uint { TVS_LINESATROOT = 0x0004 } 5029 -enum : uint { TVS_EDITLABELS = 0x0008 } 5030 -enum : uint { TVS_DISABLEDRAGDROP = 0x0010 } 5031 -enum : uint { TVS_SHOWSELALWAYS = 0x0020 } 5032 -// #if (_WIN32_IE >= 0x0300) 5033 -enum : uint { TVS_RTLREADING = 0x0040 } 5034 - 5035 -enum : uint { TVS_NOTOOLTIPS = 0x0080 } 5036 -enum : uint { TVS_CHECKBOXES = 0x0100 } 5037 -enum : uint { TVS_TRACKSELECT = 0x0200 } 5038 -// #if (_WIN32_IE >= 0x0400) 5039 -enum : uint { TVS_SINGLEEXPAND = 0x0400 } 5040 -enum : uint { TVS_INFOTIP = 0x0800 } 5041 -enum : uint { TVS_FULLROWSELECT = 0x1000 } 5042 -enum : uint { TVS_NOSCROLL = 0x2000 } 5043 -enum : uint { TVS_NONEVENHEIGHT = 0x4000 } 5044 -// #endif 5045 -// #if (_WIN32_IE >= 0x500) 5046 -enum : uint { TVS_NOHSCROLL = 0x8000 } 5047 -// #endif 5048 -// #endif 5049 - 5050 -alias _TREEITEM* HTREEITEM; 5051 - 5052 -enum : uint { TVIF_TEXT = 0x0001 } 5053 -enum : uint { TVIF_IMAGE = 0x0002 } 5054 -enum : uint { TVIF_PARAM = 0x0004 } 5055 -enum : uint { TVIF_STATE = 0x0008 } 5056 -enum : uint { TVIF_HANDLE = 0x0010 } 5057 -enum : uint { TVIF_SELECTEDIMAGE = 0x0020 } 5058 -enum : uint { TVIF_CHILDREN = 0x0040 } 5059 -// #if (_WIN32_IE >= 0x0400) 5060 -enum : uint { TVIF_INTEGRAL = 0x0080 } 5061 -// #endif 5062 -enum : uint { TVIS_SELECTED = 0x0002 } 5063 -enum : uint { TVIS_CUT = 0x0004 } 5064 -enum : uint { TVIS_DROPHILITED = 0x0008 } 5065 -enum : uint { TVIS_BOLD = 0x0010 } 5066 -enum : uint { TVIS_EXPANDED = 0x0020 } 5067 -enum : uint { TVIS_EXPANDEDONCE = 0x0040 } 5068 -// #if (_WIN32_IE >= 0x0300) 5069 -enum : uint { TVIS_EXPANDPARTIAL = 0x0080 } 5070 -// #endif 5071 - 5072 -enum : uint { TVIS_OVERLAYMASK = 0x0F00 } 5073 -enum : uint { TVIS_STATEIMAGEMASK = 0xF000 } 5074 -enum : uint { TVIS_USERMASK = 0xF000 } 5075 - 5076 -enum { I_CHILDRENCALLBACK = -1 } 5077 - 5078 -// #if (_WIN32_IE >= 0x0300) 5079 -alias LPTVITEMW LPTV_ITEMW; 5080 -alias LPTVITEMA LPTV_ITEMA; 3597 +struct TVITEMA { 3598 + UINT mask; 3599 + HTREEITEM hItem; 3600 + UINT state; 3601 + UINT stateMask; 3602 + LPSTR pszText; 3603 + int cchTextMax; 3604 + int iImage; 3605 + int iSelectedImage; 3606 + int cChildren; 3607 + LPARAM lParam; 3608 +} 3609 +alias TVITEMA* LPTVITEMA, LPTV_ITEMA; 3610 +alias TVITEMA TV_ITEMA; 3611 + 3612 +struct TVITEMW { 3613 + UINT mask; 3614 + HTREEITEM hItem; 3615 + UINT state; 3616 + UINT stateMask; 3617 + LPWSTR pszText; 3618 + int cchTextMax; 3619 + int iImage; 3620 + int iSelectedImage; 3621 + int cChildren; 3622 + LPARAM lParam; 3623 +} 3624 +alias TVITEMW* LPTVITEMW, LPTV_ITEMW; 5081 3625 alias TVITEMW TV_ITEMW; 5082 -alias TVITEMA TV_ITEMA; 5083 -// #else 5084 -// #... 5085 -// #... 5086 -// #... 5087 -// #... 5088 -// #... 5089 -// #... 5090 -// #endif 5091 - 5092 -alias LPTVITEM LPTV_ITEM; 5093 -alias TVITEM TV_ITEM; 5094 - 5095 -struct tagTVITEMA { 5096 - UINT mask; 5097 - HTREEITEM hItem; 5098 - UINT state; 5099 - UINT stateMask; 5100 - LPSTR pszText; 5101 - int cchTextMax; 5102 - int iImage; 5103 - int iSelectedImage; 5104 - int cChildren; 5105 - LPARAM lParam; 5106 -} 5107 -alias tagTVITEMA TVITEMA; 5108 -alias tagTVITEMA* LPTVITEMA; 5109 - 5110 -struct tagTVITEMW { 5111 - UINT mask; 5112 - HTREEITEM hItem; 5113 - UINT state; 5114 - UINT stateMask; 5115 - LPWSTR pszText; 5116 - int cchTextMax; 5117 - int iImage; 5118 - int iSelectedImage; 5119 - int cChildren; 5120 - LPARAM lParam; 5121 -} 5122 -alias tagTVITEMW TVITEMW; 5123 -alias tagTVITEMW* LPTVITEMW; 5124 - 5125 -// #if (_WIN32_IE >= 0x0400) 5126 - 5127 -struct tagTVITEMEXA { 5128 - UINT mask; 5129 - HTREEITEM hItem; 5130 - UINT state; 5131 - UINT stateMask; 5132 - LPSTR pszText; 5133 - int cchTextMax; 5134 - int iImage; 5135 - int iSelectedImage; 5136 - int cChildren; 5137 - LPARAM lParam; 5138 - int iIntegral; 5139 -} 5140 -alias tagTVITEMEXA TVITEMEXA; 5141 -alias tagTVITEMEXA* LPTVITEMEXA; 5142 - 5143 -struct tagTVITEMEXW { 5144 - UINT mask; 5145 - HTREEITEM hItem; 5146 - UINT state; 5147 - UINT stateMask; 5148 - LPWSTR pszText; 5149 - int cchTextMax; 5150 - int iImage; 5151 - int iSelectedImage; 5152 - int cChildren; 5153 - LPARAM lParam; 5154 - int iIntegral; 5155 -} 5156 -alias tagTVITEMEXW TVITEMEXW; 5157 -alias tagTVITEMEXW* LPTVITEMEXW; 5158 - 5159 -// #ifdef UNICODE 5160 -alias TVITEMEXW TVITEMEX; 5161 -alias LPTVITEMEXW LPTVITEMEX; 5162 -// #else 5163 -// ... 5164 -// #endif // UNICODE 5165 - 5166 -// #endif 5167 - 5168 -// #ifdef UNICODE 5169 -alias TVITEMW TVITEM; 5170 -alias LPTVITEMW LPTVITEM; 5171 -// #else 5172 -// #... 5173 -// #... 5174 -// #endif 5175 - 5176 -const HTREEITEM TVI_ROOT = cast(HTREEITEM)(-0x10000); 5177 -const HTREEITEM TVI_FIRST = cast(HTREEITEM)(-0x0FFFF); 5178 -const HTREEITEM TVI_LAST = cast(HTREEITEM)(-0x0FFFE); 5179 -const HTREEITEM TVI_SORT = cast(HTREEITEM)(-0x0FFFD); 5180 - 5181 -// #if (_WIN32_IE >= 0x0300) 5182 -alias LPTVINSERTSTRUCTA LPTV_INSERTSTRUCTA; 5183 -alias LPTVINSERTSTRUCTW LPTV_INSERTSTRUCTW; 3626 + 3627 +static if (_WIN32_IE >= 0x400) { 3628 + struct TVITEMEXA { 3629 + UINT mask; 3630 + HTREEITEM hItem; 3631 + UINT state; 3632 + UINT stateMask; 3633 + LPSTR pszText; 3634 + int cchTextMax; 3635 + int iImage; 3636 + int iSelectedImage; 3637 + int cChildren; 3638 + LPARAM lParam; 3639 + int iIntegral; 3640 + } 3641 + alias TVITEMEXA* LPTVITEMEXA; 3642 + 3643 + struct TVITEMEXW { 3644 + UINT mask; 3645 + HTREEITEM hItem; 3646 + UINT state; 3647 + UINT stateMask; 3648 + LPWSTR pszText; 3649 + int cchTextMax; 3650 + int iImage; 3651 + int iSelectedImage; 3652 + int cChildren; 3653 + LPARAM lParam; 3654 + int iIntegral; 3655 + } 3656 + alias TVITEMEXW* LPTVITEMEXW; 3657 +} 3658 + 3659 +static if (_WIN32_IE >= 0x400) { 3660 + struct TVINSERTSTRUCTA { 3661 + HTREEITEM hParent; 3662 + HTREEITEM hInsertAfter; 3663 + union { 3664 + TVITEMEXA itemex; 3665 + TV_ITEMA item; 3666 + } 3667 + } 3668 + 3669 + struct TVINSERTSTRUCTW { 3670 + HTREEITEM hParent; 3671 + HTREEITEM hInsertAfter; 3672 + union { 3673 + TVITEMEXW itemex; 3674 + TV_ITEMW item; 3675 + } 3676 + } 3677 +} else { 3678 + struct TVINSERTSTRUCTA { 3679 + HTREEITEM hParent; 3680 + HTREEITEM hInsertAfter; 3681 + TV_ITEMA item; 3682 + } 3683 + 3684 + struct TVINSERTSTRUCTW { 3685 + HTREEITEM hParent; 3686 + HTREEITEM hInsertAfter; 3687 + TV_ITEMW item; 3688 + } 3689 +} 3690 +alias TVINSERTSTRUCTA* LPTVINSERTSTRUCTA, LPTV_INSERTSTRUCTA; 5184 3691 alias TVINSERTSTRUCTA TV_INSERTSTRUCTA; 3692 +alias TVINSERTSTRUCTW* LPTVINSERTSTRUCTW, LPTV_INSERTSTRUCTW; 5185 3693 alias TVINSERTSTRUCTW TV_INSERTSTRUCTW; 5186 -// #else 5187 -// #... 5188 -// #... 5189 -// #... 5190 -// #... 5191 -// #... 5192 -// #... 5193 -// #endif 5194 - 5195 -alias TVINSERTSTRUCT TV_INSERTSTRUCT; 5196 -alias LPTVINSERTSTRUCT LPTV_INSERTSTRUCT; 5197 - 5198 -// #define TVINSERTSTRUCTA_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTA, item) 5199 -// #define TVINSERTSTRUCTW_V1_SIZE CCSIZEOF_STRUCT(TVINSERTSTRUCTW, item) 5200 - 5201 -struct tagTVINSERTSTRUCTA { 5202 - HTREEITEM hParent; 5203 - HTREEITEM hInsertAfter; 5204 -// #if (_WIN32_IE >= 0x0400) 5205 -union { 5206 - TVITEMEXA itemex; 5207 - TV_ITEMA item; 5208 -} 5209 - 5210 -// #else 5211 -// ... 5212 -// #endif 5213 -} 5214 -alias tagTVINSERTSTRUCTA TVINSERTSTRUCTA; 5215 -alias tagTVINSERTSTRUCTA* LPTVINSERTSTRUCTA; 5216 - 5217 -struct tagTVINSERTSTRUCTW { 5218 - HTREEITEM hParent; 5219 - HTREEITEM hInsertAfter; 5220 -// #if (_WIN32_IE >= 0x0400) 5221 -union { 5222 - TVITEMEXW itemex; 5223 - TV_ITEMW item; 5224 -} 5225 - 5226 -// #else 5227 -// ... 5228 -// #endif 5229 -} 5230 -alias tagTVINSERTSTRUCTW TVINSERTSTRUCTW; 5231 -alias tagTVINSERTSTRUCTW* LPTVINSERTSTRUCTW; 5232 - 5233 -// #ifdef UNICODE 5234 -alias TVINSERTSTRUCTW TVINSERTSTRUCT; 5235 -alias LPTVINSERTSTRUCTW LPTVINSERTSTRUCT; 5236 -// #define TVINSERTSTRUCT_V1_SIZE TVINSERTSTRUCTW_V1_SIZE 5237 -// #else 5238 -// #... 5239 -// #... 5240 -// #... 5241 -// #endif 5242 - 5243 -enum : uint { TVM_INSERTITEMA = TV_FIRST + 0 } 5244 -enum : uint { TVM_INSERTITEMW = TV_FIRST + 50 } 5245 -// #ifdef UNICODE 5246 -alias TVM_INSERTITEMW TVM_INSERTITEM; 5247 -// #else 5248 -// #... 5249 -// #endif 5250 - 5251 -// #define TreeView_InsertItem(hwnd, lpis) (HTREEITEM)SNDMSG((hwnd), TVM_INSERTITEM, 0, (LPARAM)(LPTV_INSERTSTRUCT)(lpis)) 5252 - 5253 -enum : uint { TVM_DELETEITEM = TV_FIRST + 1 } 5254 -// #define TreeView_DeleteItem(hwnd, hitem) (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)(HTREEITEM)(hitem)) 5255 - 5256 -// #define TreeView_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), TVM_DELETEITEM, 0, (LPARAM)TVI_ROOT) 5257 - 5258 -enum : uint { TVM_EXPAND = TV_FIRST + 2 } 5259 -// #define TreeView_Expand(hwnd, hitem, code) (BOOL)SNDMSG((hwnd), TVM_EXPAND, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) 5260 - 5261 -enum : uint { TVE_COLLAPSE = 0x0001 } 5262 -enum : uint { TVE_EXPAND = 0x0002 } 5263 -enum : uint { TVE_TOGGLE = 0x0003 } 5264 -// #if (_WIN32_IE >= 0x0300) 5265 -enum : uint { TVE_EXPANDPARTIAL = 0x4000 } 5266 -// #endif 5267 -enum : uint { TVE_COLLAPSERESET = 0x8000 } 5268 - 5269 -enum : uint { TVM_GETITEMRECT = TV_FIRST + 4 } 5270 -// #define TreeView_GetItemRect(hwnd, hitem, prc, code) (*(HTREEITEM *)prc = (hitem), (BOOL)SNDMSG((hwnd), TVM_GETITEMRECT, (WPARAM)(code), (LPARAM)(RECT *)(prc))) 5271 - 5272 -enum : uint { TVM_GETCOUNT = TV_FIRST + 5 } 5273 -// #define TreeView_GetCount(hwnd) (UINT)SNDMSG((hwnd), TVM_GETCOUNT, 0, 0) 5274 - 5275 -enum : uint { TVM_GETINDENT = TV_FIRST + 6 } 5276 -// #define TreeView_GetIndent(hwnd) (UINT)SNDMSG((hwnd), TVM_GETINDENT, 0, 0) 5277 - 5278 -enum : uint { TVM_SETINDENT = TV_FIRST + 7 } 5279 -// #define TreeView_SetIndent(hwnd, indent) (BOOL)SNDMSG((hwnd), TVM_SETINDENT, (WPARAM)(indent), 0) 5280 - 5281 -enum : uint { TVM_GETIMAGELIST = TV_FIRST + 8 } 5282 -// #define TreeView_GetImageList(hwnd, iImage) (HIMAGELIST)SNDMSG((hwnd), TVM_GETIMAGELIST, iImage, 0) 5283 - 5284 -enum : uint { TVSIL_NORMAL = 0 } 5285 -enum : uint { TVSIL_STATE = 2 } 5286 - 5287 -enum : uint { TVM_SETIMAGELIST = TV_FIRST + 9 } 5288 -// #define TreeView_SetImageList(hwnd, himl, iImage) (HIMAGELIST)SNDMSG((hwnd), TVM_SETIMAGELIST, iImage, (LPARAM)(HIMAGELIST)(himl)) 5289 - 5290 -enum : uint { TVM_GETNEXTITEM = TV_FIRST + 10 } 5291 -// #define TreeView_GetNextItem(hwnd, hitem, code) (HTREEITEM)SNDMSG((hwnd), TVM_GETNEXTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) 5292 - 5293 -enum : uint { TVGN_ROOT = 0x0000 } 5294 -enum : uint { TVGN_NEXT = 0x0001 } 5295 -enum : uint { TVGN_PREVIOUS = 0x0002 } 5296 -enum : uint { TVGN_PARENT = 0x0003 } 5297 -enum : uint { TVGN_CHILD = 0x0004 } 5298 -enum : uint { TVGN_FIRSTVISIBLE = 0x0005 } 5299 -enum : uint { TVGN_NEXTVISIBLE = 0x0006 } 5300 -enum : uint { TVGN_PREVIOUSVISIBLE = 0x0007 } 5301 -enum : uint { TVGN_DROPHILITE = 0x0008 } 5302 -enum : uint { TVGN_CARET = 0x0009 } 5303 -// #if (_WIN32_IE >= 0x0400) 5304 -enum : uint { TVGN_LASTVISIBLE = 0x000A } 5305 -// #endif // _WIN32_IE >= 0x0400 5306 - 5307 -// #if (_WIN32_WINNT >= 0x501) 5308 -enum : uint { TVSI_NOSINGLEEXPAND = 0x8000 } 5309 -// #endif 5310 - 5311 -// #define TreeView_GetChild(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_CHILD) 5312 -// #define TreeView_GetNextSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXT) 5313 -// #define TreeView_GetPrevSibling(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUS) 5314 -// #define TreeView_GetParent(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PARENT) 5315 -// #define TreeView_GetFirstVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_FIRSTVISIBLE) 5316 -// #define TreeView_GetNextVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_NEXTVISIBLE) 5317 -// #define TreeView_GetPrevVisible(hwnd, hitem) TreeView_GetNextItem(hwnd, hitem, TVGN_PREVIOUSVISIBLE) 5318 -// #define TreeView_GetSelection(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_CARET) 5319 -// #define TreeView_GetDropHilight(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_DROPHILITE) 5320 -// #define TreeView_GetRoot(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_ROOT) 5321 -// #if (_WIN32_IE >= 0x0400) 5322 -// #define TreeView_GetLastVisible(hwnd) TreeView_GetNextItem(hwnd, NULL, TVGN_LASTVISIBLE) 5323 -// #endif // _WIN32_IE >= 0x0400 5324 - 5325 -enum : uint { TVM_SELECTITEM = TV_FIRST + 11 } 5326 -// #define TreeView_Select(hwnd, hitem, code) (BOOL)SNDMSG((hwnd), TVM_SELECTITEM, (WPARAM)(code), (LPARAM)(HTREEITEM)(hitem)) 5327 - 5328 -// #define TreeView_SelectItem(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_CARET) 5329 -// #define TreeView_SelectDropTarget(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_DROPHILITE) 5330 -// #define TreeView_SelectSetFirstVisible(hwnd, hitem) TreeView_Select(hwnd, hitem, TVGN_FIRSTVISIBLE) 5331 - 5332 -enum : uint { TVM_GETITEMA = TV_FIRST + 12 } 5333 -enum : uint { TVM_GETITEMW = TV_FIRST + 62 } 5334 - 5335 -// #ifdef UNICODE 5336 -alias TVM_GETITEMW TVM_GETITEM; 5337 -// #else 5338 -// #... 5339 -// #endif 5340 - 5341 -// #define TreeView_GetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), TVM_GETITEM, 0, (LPARAM)(TV_ITEM *)(pitem)) 5342 - 5343 -enum : uint { TVM_SETITEMA = TV_FIRST + 13 } 5344 -enum : uint { TVM_SETITEMW = TV_FIRST + 63 } 5345 - 5346 -// #ifdef UNICODE 5347 -alias TVM_SETITEMW TVM_SETITEM; 5348 -// #else 5349 -// #... 5350 -// #endif 5351 - 5352 -// #define TreeView_SetItem(hwnd, pitem) (BOOL)SNDMSG((hwnd), TVM_SETITEM, 0, (LPARAM)(const TV_ITEM *)(pitem)) 5353 - 5354 -enum : uint { TVM_EDITLABELA = TV_FIRST + 14 } 5355 -enum : uint { TVM_EDITLABELW = TV_FIRST + 65 } 5356 -// #ifdef UNICODE 5357 -alias TVM_EDITLABELW TVM_EDITLABEL; 5358 -// #else 5359 -// #... 5360 -// #endif 5361 - 5362 -// #define TreeView_EditLabel(hwnd, hitem) (HWND)SNDMSG((hwnd), TVM_EDITLABEL, 0, (LPARAM)(HTREEITEM)(hitem)) 5363 - 5364 -enum : uint { TVM_GETEDITCONTROL = TV_FIRST + 15 } 5365 -// #define TreeView_GetEditControl(hwnd) (HWND)SNDMSG((hwnd), TVM_GETEDITCONTROL, 0, 0) 5366 - 5367 -enum : uint { TVM_GETVISIBLECOUNT = TV_FIRST + 16 } 5368 -// #define TreeView_GetVisibleCount(hwnd) (UINT)SNDMSG((hwnd), TVM_GETVISIBLECOUNT, 0, 0) 5369 - 5370 -enum : uint { TVM_HITTEST = TV_FIRST + 17 } 5371 -// #define TreeView_HitTest(hwnd, lpht) (HTREEITEM)SNDMSG((hwnd), TVM_HITTEST, 0, (LPARAM)(LPTV_HITTESTINFO)(lpht)) 5372 - 5373 -// #if (_WIN32_IE >= 0x0300) 5374 -alias LPTVHITTESTINFO LPTV_HITTESTINFO; 3694 + 3695 +struct TVHITTESTINFO { 3696 + POINT pt; 3697 + UINT flags; 3698 + HTREEITEM hItem; 3699 +} 3700 +alias TVHITTESTINFO* LPTVHITTESTINFO, LPTV_HITTESTINFO; 5375 3701 alias TVHITTESTINFO TV_HITTESTINFO; 5376 -// #else 5377 -// #... 5378 -// #... 5379 -// #... 5380 -// #endif 5381 - 5382 -struct tagTVHITTESTINFO { 5383 - POINT pt; 5384 - UINT flags; 5385 - HTREEITEM hItem; 5386 -} 5387 -alias tagTVHITTESTINFO TVHITTESTINFO; 5388 -alias tagTVHITTESTINFO* LPTVHITTESTINFO; 5389 - 5390 -enum : uint { TVHT_NOWHERE = 0x0001 } 5391 -enum : uint { TVHT_ONITEMICON = 0x0002 } 5392 -enum : uint { TVHT_ONITEMLABEL = 0x0004 } 5393 -enum : uint { TVHT_ONITEM = TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON } 5394 -enum : uint { TVHT_ONITEMINDENT = 0x0008 } 5395 -enum : uint { TVHT_ONITEMBUTTON = 0x0010 } 5396 -enum : uint { TVHT_ONITEMRIGHT = 0x0020 } 5397 -// #define TVHT_ONITEMSTATEICON 0x0040 5398 - 5399 -enum : uint { TVHT_ABOVE = 0x0100 } 5400 -enum : uint { TVHT_BELOW = 0x0200 } 5401 -enum : uint { TVHT_TORIGHT = 0x0400 } 5402 -enum : uint { TVHT_TOLEFT = 0x0800 } 5403 - 5404 -enum : uint { TVM_CREATEDRAGIMAGE = TV_FIRST + 18 } 5405 -// #define TreeView_CreateDragImage(hwnd, hitem) (HIMAGELIST)SNDMSG((hwnd), TVM_CREATEDRAGIMAGE, 0, (LPARAM)(HTREEITEM)(hitem)) 5406 - 5407 -enum : uint { TVM_SORTCHILDREN = TV_FIRST + 19 } 5408 -// #define TreeView_SortChildren(hwnd, hitem, recurse) (BOOL)SNDMSG((hwnd), TVM_SORTCHILDREN, (WPARAM)(recurse), (LPARAM)(HTREEITEM)(hitem)) 5409 - 5410 -enum : uint { TVM_ENSUREVISIBLE = TV_FIRST + 20 } 5411 -// #define TreeView_EnsureVisible(hwnd, hitem) (BOOL)SNDMSG((hwnd), TVM_ENSUREVISIBLE, 0, (LPARAM)(HTREEITEM)(hitem)) 5412 - 5413 -enum : uint { TVM_SORTCHILDRENCB = TV_FIRST + 21 } 5414 -// #define TreeView_SortChildrenCB(hwnd, psort, recurse) (BOOL)SNDMSG((hwnd), TVM_SORTCHILDRENCB, (WPARAM)(recurse), (LPARAM)(LPTV_SORTCB)(psort)) 5415 - 5416 -enum : uint { TVM_ENDEDITLABELNOW = TV_FIRST + 22 } 5417 -// #define TreeView_EndEditLabelNow(hwnd, fCancel) (BOOL)SNDMSG((hwnd), TVM_ENDEDITLABELNOW, (WPARAM)(fCancel), 0) 5418 - 5419 -enum : uint { TVM_GETISEARCHSTRINGA = TV_FIRST + 23 } 5420 -enum : uint { TVM_GETISEARCHSTRINGW = TV_FIRST + 64 } 5421 - 5422 -// #ifdef UNICODE 5423 -alias TVM_GETISEARCHSTRINGW TVM_GETISEARCHSTRING; 5424 -// #else 5425 -// #... 5426 -// #endif 5427 - 5428 -// #if (_WIN32_IE >= 0x0300) 5429 -enum : uint { TVM_SETTOOLTIPS = TV_FIRST + 24 } 5430 -// #define TreeView_SetToolTips(hwnd, hwndTT) (HWND)SNDMSG((hwnd), TVM_SETTOOLTIPS, (WPARAM)(hwndTT), 0) 5431 -enum : uint { TVM_GETTOOLTIPS = TV_FIRST + 25 } 5432 -// #define TreeView_GetToolTips(hwnd) (HWND)SNDMSG((hwnd), TVM_GETTOOLTIPS, 0, 0) 5433 -// #endif 5434 - 5435 -// #define TreeView_GetISearchString(hwndTV, lpsz) (BOOL)SNDMSG((hwndTV), TVM_GETISEARCHSTRING, 0, (LPARAM)(LPTSTR)(lpsz)) 5436 - 5437 -// #if (_WIN32_IE >= 0x0400) 5438 -enum : uint { TVM_SETINSERTMARK = TV_FIRST + 26 } 5439 -// #define TreeView_SetInsertMark(hwnd, hItem, fAfter) (BOOL)SNDMSG((hwnd), TVM_SETINSERTMARK, (WPARAM) (fAfter), (LPARAM) (hItem)) 5440 - 5441 -alias CCM_SETUNICODEFORMAT TVM_SETUNICODEFORMAT; 5442 -// #define TreeView_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), TVM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 5443 - 5444 -alias CCM_GETUNICODEFORMAT TVM_GETUNICODEFORMAT; 5445 -// #define TreeView_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), TVM_GETUNICODEFORMAT, 0, 0) 5446 - 5447 -// #endif 5448 - 5449 -// #if (_WIN32_IE >= 0x0400) 5450 -enum : uint { TVM_SETITEMHEIGHT = TV_FIRST + 27 } 5451 -// #define TreeView_SetItemHeight(hwnd, iHeight) (int)SNDMSG((hwnd), TVM_SETITEMHEIGHT, (WPARAM)(iHeight), 0) 5452 -enum : uint { TVM_GETITEMHEIGHT = TV_FIRST + 28 } 5453 -// #define TreeView_GetItemHeight(hwnd) (int)SNDMSG((hwnd), TVM_GETITEMHEIGHT, 0, 0) 5454 - 5455 -enum : uint { TVM_SETBKCOLOR = TV_FIRST + 29 } 5456 -// #define TreeView_SetBkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETBKCOLOR, 0, (LPARAM)(clr)) 5457 - 5458 -enum : uint { TVM_SETTEXTCOLOR = TV_FIRST + 30 } 5459 -// #define TreeView_SetTextColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETTEXTCOLOR, 0, (LPARAM)(clr)) 5460 - 5461 -enum : uint { TVM_GETBKCOLOR = TV_FIRST + 31 } 5462 -// #define TreeView_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETBKCOLOR, 0, 0) 5463 - 5464 -enum : uint { TVM_GETTEXTCOLOR = TV_FIRST + 32 } 5465 -// #define TreeView_GetTextColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETTEXTCOLOR, 0, 0) 5466 - 5467 -enum : uint { TVM_SETSCROLLTIME = TV_FIRST + 33 } 5468 -// #define TreeView_SetScrollTime(hwnd, uTime) (UINT)SNDMSG((hwnd), TVM_SETSCROLLTIME, uTime, 0) 5469 - 5470 -enum : uint { TVM_GETSCROLLTIME = TV_FIRST + 34 } 5471 -// #define TreeView_GetScrollTime(hwnd) (UINT)SNDMSG((hwnd), TVM_GETSCROLLTIME, 0, 0) 5472 - 5473 -enum : uint { TVM_SETINSERTMARKCOLOR = TV_FIRST + 37 } 5474 -// #define TreeView_SetInsertMarkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETINSERTMARKCOLOR, 0, (LPARAM)(clr)) 5475 -enum : uint { TVM_GETINSERTMARKCOLOR = TV_FIRST + 38 } 5476 -// #define TreeView_GetInsertMarkColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETINSERTMARKCOLOR, 0, 0) 5477 - 5478 -// #endif /* (_WIN32_IE >= 0x0400) */ 5479 - 5480 -// #if (_WIN32_IE >= 0x0500) 5481 - 5482 -// #define TreeView_SetItemState(hwndTV, hti, data, _mask) { TVITEM _ms_TVi; _ms_TVi.mask = TVIF_STATE; _ms_TVi.hItem = hti; _ms_TVi.stateMask = _mask; _ms_TVi.state = data; SNDMSG((hwndTV), TVM_SETITEM, 0, (LPARAM)(TV_ITEM *)&_ms_TVi); } 5483 - 5484 -// #define TreeView_SetCheckState(hwndTV, hti, fCheck) TreeView_SetItemState(hwndTV, hti, INDEXTOSTATEIMAGEMASK((fCheck)?2:1), TVIS_STATEIMAGEMASK) 5485 - 5486 -enum : uint { TVM_GETITEMSTATE = TV_FIRST + 39 } 5487 -// #define TreeView_GetItemState(hwndTV, hti, mask) (UINT)SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), (LPARAM)(mask)) 5488 - 5489 -// #define TreeView_GetCheckState(hwndTV, hti) ((((UINT)(SNDMSG((hwndTV), TVM_GETITEMSTATE, (WPARAM)(hti), TVIS_STATEIMAGEMASK))) >> 12) -1) 5490 - 5491 -enum : uint { TVM_SETLINECOLOR = TV_FIRST + 40 } 5492 -// #define TreeView_SetLineColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), TVM_SETLINECOLOR, 0, (LPARAM)(clr)) 5493 - 5494 -enum : uint { TVM_GETLINECOLOR = TV_FIRST + 41 } 5495 -// #define TreeView_GetLineColor(hwnd) (COLORREF)SNDMSG((hwnd), TVM_GETLINECOLOR, 0, 0) 5496 - 5497 -// #endif 5498 - 5499 -// #if (_WIN32_WINNT >= 0x0501) 5500 -enum : uint { TVM_MAPACCIDTOHTREEITEM = TV_FIRST + 42 } 5501 -// #define TreeView_MapAccIDToHTREEITEM(hwnd, id) (HTREEITEM)SNDMSG((hwnd), TVM_MAPACCIDTOHTREEITEM, id, 0) 5502 - 5503 -enum : uint { TVM_MAPHTREEITEMTOACCID = TV_FIRST + 43 } 5504 -// #define TreeView_MapHTREEITEMToAccID(hwnd, htreeitem) (UINT)SNDMSG((hwnd), TVM_MAPHTREEITEMTOACCID, (WPARAM)htreeitem, 0) 5505 - 5506 -// #endif 5507 - 5508 -extern(Windows) alias int function(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort) PFNTVCOMPARE; 5509 - 5510 -// #if (_WIN32_IE >= 0x0300) 5511 -alias LPTVSORTCB LPTV_SORTCB; 3702 + 3703 +alias int function(LPARAM, LPARAM, LPARAM) PFNTVCOMPARE; 3704 +struct TVSORTCB { 3705 + HTREEITEM hParent; 3706 + PFNTVCOMPARE lpfnCompare; 3707 + LPARAM lParam; 3708 +} 3709 +alias TVSORTCB* LPTVSORTCB, LPTV_SORTCB; 5512 3710 alias TVSORTCB TV_SORTCB; 5513 -// #else 5514 -// #... 5515 -// #... 5516 -// #... 5517 -// #endif 5518 3711 5519 -struct tagTVSORTCB { 5520 - HTREEITEM hParent; 5521 - PFNTVCOMPARE lpfnCompare; 5522 - LPARAM lParam; 3712 +struct NMTREEVIEWA { 3713 + NMHDR hdr; 3714 + UINT action; 3715 + TV_ITEMA itemOld; 3716 + TV_ITEMA itemNew; 3717 + POINT ptDrag; 5523 3718 } 5524 -alias tagTVSORTCB TVSORTCB; 5525 -alias tagTVSORTCB* LPTVSORTCB; 3719 +alias NMTREEVIEWA* LPNMTREEVIEWA, LPNM_TREEVIEWA; 3720 +alias NMTREEVIEWA NM_TREEVIEWA; 5526 3721 5527 -// #if (_WIN32_IE >= 0x0300) 5528 -alias LPNMTREEVIEWA LPNM_TREEVIEWA; 5529 -alias LPNMTREEVIEWW LPNM_TREEVIEWW; 3722 +struct NMTREEVIEWW { 3723 + NMHDR hdr; 3724 + UINT action; 3725 + TV_ITEMW itemOld; 3726 + TV_ITEMW itemNew; 3727 + POINT ptDrag; 3728 +} 3729 +alias NMTREEVIEWW* LPNMTREEVIEWW, LPNM_TREEVIEWW; 5530 3730 alias NMTREEVIEWW NM_TREEVIEWW; 5531 -alias NMTREEVIEWA NM_TREEVIEWA; 5532 -// #else 5533 -// #... 5534 -// #... 5535 -// #... 5536 -// #... 5537 -// #... 5538 -// #... 5539 -// #endif 5540 3731 5541 -alias LPNMTREEVIEW LPNM_TREEVIEW; 5542 -alias NMTREEVIEW NM_TREEVIEW; 5543 - 5544 -struct tagNMTREEVIEWA { 5545 - NMHDR hdr; 5546 - UINT action; 5547 - TVITEMA itemOld; 5548 - TVITEMA itemNew; 5549 - POINT ptDrag; 3732 +struct NMTVDISPINFOA { 3733 + NMHDR hdr; 3734 + TVITEMA item; 5550 3735 } 5551 -alias tagNMTREEVIEWA NMTREEVIEWA; 5552 -alias tagNMTREEVIEWA* LPNMTREEVIEWA; 5553 - 5554 -struct tagNMTREEVIEWW { 5555 - NMHDR hdr; 5556 - UINT action; 5557 - TVITEMW itemOld; 5558 - TVITEMW itemNew; 5559 - POINT ptDrag; 5560 -} 5561 -alias tagNMTREEVIEWW NMTREEVIEWW; 5562 -alias tagNMTREEVIEWW* LPNMTREEVIEWW; 5563 - 5564 -// #ifdef UNICODE 5565 -alias NMTREEVIEWW NMTREEVIEW; 5566 -alias LPNMTREEVIEWW LPNMTREEVIEW; 5567 -// #else 5568 -// #... 5569 -// #... 5570 -// #endif 5571 - 5572 -enum : uint { TVN_SELCHANGINGA = TVN_FIRST-1 } 5573 -enum : uint { TVN_SELCHANGINGW = TVN_FIRST-50 } 5574 -enum : uint { TVN_SELCHANGEDA = TVN_FIRST-2 } 5575 -enum : uint { TVN_SELCHANGEDW = TVN_FIRST-51 } 5576 - 5577 -enum : uint { TVC_UNKNOWN = 0x0000 } 5578 -enum : uint { TVC_BYMOUSE = 0x0001 } 5579 -enum : uint { TVC_BYKEYBOARD = 0x0002 } 5580 - 5581 -enum : uint { TVN_GETDISPINFOA = TVN_FIRST-3 } 5582 -enum : uint { TVN_GETDISPINFOW = TVN_FIRST-52 } 5583 -enum : uint { TVN_SETDISPINFOA = TVN_FIRST-4 } 5584 -enum : uint { TVN_SETDISPINFOW = TVN_FIRST-53 } 5585 - 5586 -enum : uint { TVIF_DI_SETITEM = 0x1000 } 5587 - 5588 -// #if (_WIN32_IE >= 0x0300) 3736 +alias NMTVDISPINFOA* LPNMTVDISPINFOA; 5589 3737 alias NMTVDISPINFOA TV_DISPINFOA; 3738 + 3739 +struct NMTVDISPINFOW { 3740 + NMHDR hdr; 3741 + TVITEMW item; 3742 +} 3743 +alias NMTVDISPINFOW* LPNMTVDISPINFOW; 5590 3744 alias NMTVDISPINFOW TV_DISPINFOW; 5591 -// #else 5592 -// #... 5593 -// #... 5594 -// #... 5595 -// #... 5596 -// #endif 5597 - 5598 -alias NMTVDISPINFO TV_DISPINFO; 5599 - 5600 -struct tagTVDISPINFOA { 5601 - NMHDR hdr; 5602 - TVITEMA item; 3745 + 3746 +static if (_WIN32_IE >= 0x400) { 3747 + struct NMTVGETINFOTIPA { 3748 + NMHDR hdr; 3749 + LPSTR pszText; 3750 + int cchTextMax; 3751 + HTREEITEM hItem; 3752 + LPARAM lParam; 3753 + } 3754 + alias NMTVGETINFOTIPA* LPNMTVGETINFOTIPA; 3755 + 3756 + struct NMTVGETINFOTIPW { 3757 + NMHDR hdr; 3758 + LPWSTR pszText; 3759 + int cchTextMax; 3760 + HTREEITEM hItem; 3761 + LPARAM lParam; 3762 + } 3763 + alias NMTVGETINFOTIPW* LPNMTVGETINFOTIPW; 3764 +} 3765 + 3766 +struct TV_KEYDOWN { 3767 + NMHDR hdr; 3768 + WORD wVKey; 3769 + UINT flags; 3770 +} 3771 + 3772 +struct TC_ITEMHEADERA { 3773 + UINT mask; 3774 + UINT lpReserved1; 3775 + UINT lpReserved2; 3776 + LPSTR pszText; 3777 + int cchTextMax; 3778 + int iImage; 3779 +} 3780 + 3781 +struct TC_ITEMHEADERW { 3782 + UINT mask; 3783 + UINT lpReserved1; 3784 + UINT lpReserved2; 3785 + LPWSTR pszText; 3786 + int cchTextMax; 3787 + int iImage; 3788 +} 3789 + 3790 +static if (_WIN32_IE >= 0x300) { 3791 + struct TCITEMA { 3792 + UINT mask; 3793 + DWORD dwState; 3794 + DWORD dwStateMask; 3795 + LPSTR pszText; 3796 + int cchTextMax; 3797 + int iImage; 3798 + LPARAM lParam; 3799 + } 3800 + 3801 + struct TCITEMW { 3802 + UINT mask; 3803 + DWORD dwState; 3804 + DWORD dwStateMask; 3805 + LPWSTR pszText; 3806 + int cchTextMax; 3807 + int iImage; 3808 + LPARAM lParam; 3809 + } 3810 +} else { 3811 + struct TCITEMA { 3812 + UINT mask; 3813 + UINT lpReserved1; 3814 + UINT lpReserved2; 3815 + LPSTR pszText; 3816 + int cchTextMax; 3817 + int iImage; 3818 + LPARAM lParam; 3819 + } 3820 + 3821 + struct TCITEMW { 3822 + UINT mask; 3823 + UINT lpReserved1; 3824 + UINT lpReserved2; 3825 + LPWSTR pszText; 3826 + int cchTextMax; 3827 + int iImage; 3828 + LPARAM lParam; 3829 + } 3830 +} 3831 +alias TCITEMA* LPTCITEMA; 3832 +alias TCITEMA TC_ITEMA; 3833 +alias TCITEMW* LPTCITEMW; 3834 +alias TCITEMW TC_ITEMW; 3835 + 3836 +struct TCHITTESTINFO { 3837 + POINT pt; 3838 + UINT flags; 3839 +} 3840 +alias TCHITTESTINFO* LPTCHITTESTINFO, LPTC_HITTESTINFO; 3841 +alias TCHITTESTINFO TC_HITTESTINFO; 3842 + 3843 +struct TC_KEYDOWN { 3844 + NMHDR hdr; 3845 + WORD wVKey; 3846 + UINT flags; 3847 +} 3848 + 3849 +static if (_WIN32_IE >= 0x300) { 3850 + struct INITCOMMONCONTROLSEX { 3851 + DWORD dwSize = INITCOMMONCONTROLSEX.sizeof; 3852 + DWORD dwICC; 3853 + } 3854 + alias INITCOMMONCONTROLSEX* LPINITCOMMONCONTROLSEX; 3855 +} 3856 + 3857 +struct PBRANGE { 3858 + int iLow; 3859 + int iHigh; 3860 +} 3861 +alias PBRANGE* PPBRANGE; 3862 + 3863 +struct COLORSCHEME { 3864 + DWORD dwSize = COLORSCHEME.sizeof; 3865 + COLORREF clrBtnHighlight; 3866 + COLORREF clrBtnShadow; 3867 +} 3868 +alias COLORSCHEME* LPCOLORSCHEME; 3869 + 3870 +struct MCHITTESTINFO { 3871 + UINT cbSize = MCHITTESTINFO.sizeof; 3872 + POINT pt; 3873 + UINT uHit; 3874 + SYSTEMTIME st; 3875 +} 3876 +alias MCHITTESTINFO* PMCHITTESTINFO; 3877 + 3878 +alias DWORD MONTHDAYSTATE; 3879 +alias MONTHDAYSTATE* LPMONTHDAYSTATE; 3880 + 3881 +struct NMDAYSTATE { 3882 + NMHDR nmhdr; 3883 + SYSTEMTIME stStart; 3884 + int cDayState; 3885 + LPMONTHDAYSTATE prgDayState; 3886 +} 3887 +alias NMDAYSTATE* LPNMDAYSTATE; 3888 + 3889 +struct REBARINFO { 3890 + UINT cbSize = REBARINFO.sizeof; 3891 + UINT fMask; 3892 + HIMAGELIST himl; 3893 +} 3894 +alias REBARINFO* LPREBARINFO; 3895 + 3896 +static if (_WIN32_IE >= 0x400) { 3897 + struct REBARBANDINFOA { 3898 + UINT cbSize = REBARBANDINFOA.sizeof; 3899 + UINT fMask; 3900 + UINT fStyle; 3901 + COLORREF clrFore; 3902 + COLORREF clrBack; 3903 + LPSTR lpText; 3904 + UINT cch; 3905 + int iImage; 3906 + HWND hwndChild; 3907 + UINT cxMinChild; 3908 + UINT cyMinChild; 3909 + UINT cx; 3910 + HBITMAP hbmBack; 3911 + UINT wID; 3912 + UINT cyChild; 3913 + UINT cyMaxChild; 3914 + UINT cyIntegral; 3915 + UINT cxIdeal; 3916 + LPARAM lParam; 3917 + UINT cxHeader; 3918 + } 3919 + 3920 + struct REBARBANDINFOW { 3921 + UINT cbSize = REBARBANDINFOW.sizeof; 3922 + UINT fMask; 3923 + UINT fStyle; 3924 + COLORREF clrFore; 3925 + COLORREF clrBack; 3926 + LPWSTR lpText; 3927 + UINT cch; 3928 + int iImage; 3929 + HWND hwndChild; 3930 + UINT cxMinChild; 3931 + UINT cyMinChild; 3932 + UINT cx; 3933 + HBITMAP hbmBack; 3934 + UINT wID; 3935 + UINT cyChild; 3936 + UINT cyMaxChild; 3937 + UINT cyIntegral; 3938 + UINT cxIdeal; 3939 + LPARAM lParam; 3940 + UINT cxHeader; 3941 + } 3942 + 3943 + enum : size_t { 3944 + REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.cyChild.offsetof, 3945 + REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.cyChild.offsetof 3946 + } 3947 +} else { 3948 + struct REBARBANDINFOA { 3949 + UINT cbSize = REBARBANDINFOA.sizeof; 3950 + UINT fMask; 3951 + UINT fStyle; 3952 + COLORREF clrFore; 3953 + COLORREF clrBack; 3954 + LPSTR lpText; 3955 + UINT cch; 3956 + int iImage; 3957 + HWND hwndChild; 3958 + UINT cxMinChild; 3959 + UINT cyMinChild; 3960 + UINT cx; 3961 + HBITMAP hbmBack; 3962 + UINT wID; 3963 + } 3964 + 3965 + struct REBARBANDINFOW { 3966 + UINT cbSize = REBARBANDINFOW.sizeof; 3967 + UINT fMask; 3968 + UINT fStyle; 3969 + COLORREF clrFore; 3970 + COLORREF clrBack; 3971 + LPWSTR lpText; 3972 + UINT cch; 3973 + int iImage; 3974 + HWND hwndChild; 3975 + UINT cxMinChild; 3976 + UINT cyMinChild; 3977 + UINT cx; 3978 + HBITMAP hbmBack; 3979 + UINT wID; 3980 + } 3981 + 3982 + enum : size_t { 3983 + REBARBANDINFOA_V3_SIZE = REBARBANDINFOA.sizeof, 3984 + REBARBANDINFOW_V3_SIZE = REBARBANDINFOW.sizeof 3985 + } 3986 +} 3987 +alias REBARBANDINFOA* LPREBARBANDINFOA; 3988 +alias CPtr!(REBARBANDINFOA) LPCREBARBANDINFOA; 3989 +alias REBARBANDINFOW* LPREBARBANDINFOW; 3990 +alias CPtr!(REBARBANDINFOW) LPCREBARBANDINFOW; 3991 + 3992 +static if (_WIN32_IE >= 0x300) { 3993 + struct NMLVODSTATECHANGE { 3994 + NMHDR hdr; 3995 + int iFrom; 3996 + int iTo; 3997 + UINT uNewState; 3998 + UINT uOldState; 3999 + } 4000 + alias NMLVODSTATECHANGE* LPNMLVODSTATECHANGE; 4001 + 4002 + static if (_WIN32_WINNT >= 0x501) { 4003 + struct IMAGELISTDRAWPARAMS { 4004 + DWORD cbSize = IMAGELISTDRAWPARAMS.sizeof; 4005 + HIMAGELIST himl; 4006 + int i; 4007 + HDC hdcDst; 4008 + int x; 4009 + int y; 4010 + int cx; 4011 + int cy; 4012 + int xBitmap; 4013 + int yBitmap; 4014 + COLORREF rgbBk; 4015 + COLORREF rgbFg; 4016 + UINT fStyle; 4017 + DWORD dwRop; 4018 + DWORD fState; 4019 + DWORD Frame; 4020 + COLORREF crEffect; 4021 + } 4022 + } else { 4023 + struct IMAGELISTDRAWPARAMS { 4024 + DWORD cbSize = IMAGELISTDRAWPARAMS.sizeof; 4025 + HIMAGELIST himl; 4026 + int i; 4027 + HDC hdcDst; 4028 + int x; 4029 + int y; 4030 + int cx; 4031 + int cy; 4032 + int xBitmap; 4033 + int yBitmap; 4034 + COLORREF rgbBk; 4035 + COLORREF rgbFg; 4036 + UINT fStyle; 4037 + DWORD dwRop; 4038 + } 4039 + } 4040 + alias IMAGELISTDRAWPARAMS* LPIMAGELISTDRAWPARAMS; 4041 +} 4042 + 4043 +static if (_WIN32_IE >= 0x400) { 4044 + struct NMREBARCHILDSIZE { 4045 + NMHDR hdr; 4046 + UINT uBand; 4047 + UINT wID; 4048 + RECT rcChild; 4049 + RECT rcBand; 4050 + } 4051 + alias NMREBARCHILDSIZE* LPNMREBARCHILDSIZE; 4052 + 4053 + struct NMREBAR { 4054 + NMHDR hdr; 4055 + DWORD dwMask; 4056 + UINT uBand; 4057 + UINT fStyle; 4058 + UINT wID; 4059 + LPARAM lParam; 4060 + } 4061 + alias NMREBAR* LPNMREBAR; 4062 + 4063 + struct NMRBAUTOSIZE { 4064 + NMHDR hdr; 4065 + BOOL fChanged; 4066 + RECT rcTarget; 4067 + RECT rcActual; 4068 + } 4069 + alias NMRBAUTOSIZE* LPNMRBAUTOSIZE; 4070 + 4071 + static if (_WIN32_IE >= 0x500) { 4072 + struct NMREBARCHEVRON { 4073 + NMHDR hdr; 4074 + UINT uBand; 4075 + UINT wID; 4076 + LPARAM lParam; 4077 + RECT rc; 4078 + LPARAM lParamNM; 4079 + } 4080 + alias NMREBARCHEVRON* LPNMREBARCHEVRON; 4081 + } 4082 + 4083 + struct RBHITTESTINFO { 4084 + POINT pt; 4085 + UINT flags; 4086 + int iBand; 4087 + } 4088 + alias RBHITTESTINFO* LPRBHITTESTINFO; 4089 +} 4090 + 4091 +alias HANDLE HDSA; 4092 +alias HANDLE HDPA; 4093 + 4094 +version (Unicode) { 4095 + alias HDITEMW HDITEM; 4096 + alias LPHDITEMW LPHDITEM; 4097 + alias TOOLINFOW TOOLINFO; 4098 + alias TOOLINFOW* PTOOLINFO, LPTOOLINFO; 4099 + alias TTHITTESTINFOW TTHITTESTINFO; 4100 + alias TTHITTESTINFOW* LPHITTESTINFO, LPTTHITTESTINFO; 4101 + alias TOOLTIPTEXTW TOOLTIPTEXT; 4102 + alias TOOLTIPTEXTW* LPTOOLTIPTEXT; 4103 + alias NMTTDISPINFOW NMTTDISPINFO; 4104 + alias NMTTDISPINFOW* LPNMTTDISPINFO; 4105 + alias TV_ITEMW TV_ITEM; 4106 + alias TV_ITEMW* LPTV_ITEM; 4107 + alias TVITEMW TVITEM; 4108 + alias TVITEMW* LPTVITEM; 4109 + 4110 + static if (_WIN32_IE >= 0x400) { 4111 + alias TVITEMEXW TVITEMEX; 4112 + alias TVITEMEXW* LPTVITEMEX; 4113 + } 4114 + 4115 + alias TV_INSERTSTRUCTW TV_INSERTSTRUCT; 4116 + alias TV_INSERTSTRUCTW* LPTV_INSERTSTRUCT; 4117 + alias TVINSERTSTRUCTW TVINSERTSTRUCT; 4118 + alias TVINSERTSTRUCTW* LPTVINSERTSTRUCT; 4119 + alias NM_TREEVIEWW NM_TREEVIEW; 4120 + alias NM_TREEVIEWW* LPNM_TREEVIEW; 4121 + alias NMTREEVIEWW NMTREEVIEW; 4122 + alias NMTREEVIEWW* LPNMTREEVIEW; 4123 + alias NMHDDISPINFOW NMHDDISPINFO; 4124 + alias NMHDDISPINFOW* LPNMHDDISPINFO; 4125 + 4126 + alias ACM_OPENW ACM_OPEN; 4127 + alias COMBOBOXEXITEMW COMBOBOXEXITEM; 4128 + alias PCOMBOBOXEXITEMW PCOMBOBOXEXITEM; 4129 + //alias PCCOMBOBOXEXITEMW PCCOMBOBOXEXITEM; fixme 4130 + alias CBEM_INSERTITEMW CBEM_INSERTITEM; 4131 + alias CBEM_SETITEMW CBEM_SETITEM; 4132 + alias CBEM_GETITEMW CBEM_GETITEM; 4133 + alias CBEN_ENDEDITW CBEN_ENDEDIT; 4134 + alias NMCBEENDEDITW NMCBEENDEDIT; 4135 + alias LPNMCBEENDEDITW LPNMCBEENDEDIT; 4136 + alias PNMCBEENDEDITW PNMCBEENDEDIT; 4137 + 4138 + static if (_WIN32_IE >= 0x400) { 4139 + alias NMCOMBOBOXEXW NMCOMBOBOXEX; 4140 + alias PNMCOMBOBOXEXW PNMCOMBOBOXEX; 4141 + alias CBEN_GETDISPINFOW CBEN_GETDISPINFO; 4142 + alias CBEN_DRAGBEGINW CBEN_DRAGBEGIN; 4143 + alias NMCBEDRAGBEGINW NMCBEDRAGBEGIN; 4144 + alias LPNMCBEDRAGBEGINW LPNMCBEDRAGBEGIN; 4145 + alias PNMCBEDRAGBEGINW PNMCBEDRAGBEGIN; 4146 + } 4147 + 4148 + alias SB_GETTEXTW SB_GETTEXT; 4149 + alias SB_SETTEXTW SB_SETTEXT; 4150 + alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH; 4151 + alias HDM_INSERTITEMW HDM_INSERTITEM; 4152 + alias HDM_GETITEMW HDM_GETITEM; 4153 + alias HDM_SETITEMW HDM_SETITEM; 4154 + alias HDN_ITEMCHANGINGW HDN_ITEMCHANGING; 4155 + alias HDN_ITEMCHANGEDW HDN_ITEMCHANGED; 4156 + alias HDN_ITEMCLICKW HDN_ITEMCLICK; 4157 + alias HDN_ITEMDBLCLICKW HDN_ITEMDBLCLICK; 4158 + alias HDN_DIVIDERDBLCLICKW HDN_DIVIDERDBLCLICK; 4159 + alias HDN_BEGINTRACKW HDN_BEGINTRACK; 4160 + alias HDN_ENDTRACKW HDN_ENDTRACK; 4161 + alias HDN_TRACKW HDN_TRACK; 4162 + 4163 + static if (_WIN32_IE >= 0x300) { 4164 + alias HDN_GETDISPINFOW HDN_GETDISPINFO; 4165 + } 4166 + 4167 + alias HD_NOTIFYW HD_NOTIFY; 4168 + alias TBSAVEPARAMSW TBSAVEPARAMS; 4169 + alias TB_GETBUTTONTEXTW TB_GETBUTTONTEXT; 4170 + alias TB_SAVERESTOREW TB_SAVERESTORE; 4171 + alias TB_ADDSTRINGW TB_ADDSTRING; 4172 + 4173 + static if (_WIN32_IE >= 0x400) { 4174 + alias TBN_GETBUTTONINFOW TBN_GETBUTTONINFO; // fixme 4175 + alias TB_GETBUTTONINFOW TB_GETBUTTONINFO; 4176 + alias TB_SETBUTTONINFOW TB_SETBUTTONINFO; 4177 + alias TB_INSERTBUTTONW TB_INSERTBUTTON; 4178 + alias TB_ADDBUTTONSW TB_ADDBUTTONS; 4179 + alias TB_MAPACCELERATORW TB_MAPACCELERATOR; 4180 + alias TB_GETSTRINGW TB_GETSTRING; 4181 + alias TBBUTTONINFOW TBBUTTONINFO; 4182 + alias LPTBBUTTONINFOW LPTBBUTTONINFO; 4183 + alias TBN_GETDISPINFOW TBN_GETDISPINFO; 4184 + alias NMTBDISPINFOW NMTBDISPINFO; 4185 + alias LPNMTBDISPINFOW LPNMTBDISPINFO; 4186 + alias NMTBGETINFOTIPW NMTBGETINFOTIP; 4187 + alias LPNMTBGETINFOTIPW LPNMTBGETINFOTIP; 4188 + } 4189 + 4190 + alias TBNOTIFYW TBNOTIFY; 4191 + alias LPTBNOTIFYW LPTBNOTIFY; 4192 + alias NMTOOLBARW NMTOOLBAR; 4193 + alias LPNMTOOLBARW LPNMTOOLBAR; 4194 + alias TTM_ADDTOOLW TTM_ADDTOOL; 4195 + alias TTM_DELTOOLW TTM_DELTOOL; 4196 + alias TTM_NEWTOOLRECTW TTM_NEWTOOLRECT; 4197 + alias TTM_GETTOOLINFOW TTM_GETTOOLINFO; 4198 + alias TTM_SETTOOLINFOW TTM_SETTOOLINFO; 4199 + alias TTM_HITTESTW TTM_HITTEST; 4200 + alias TTM_GETTEXTW TTM_GETTEXT; 4201 + alias TTM_UPDATETIPTEXTW TTM_UPDATETIPTEXT; 4202 + alias TTM_ENUMTOOLSW TTM_ENUMTOOLS; 4203 + alias TTM_GETCURRENTTOOLW TTM_GETCURRENTTOOL; 4204 + alias TTN_NEEDTEXTW TTN_NEEDTEXT; 4205 + alias TTN_GETDISPINFOW TTN_GETDISPINFO; 4206 + //alias SB_GETTEXTW SB_GETTEXT; 4207 + //alias SB_SETTEXTW SB_SETTEXT; 4208 + //alias SB_GETTEXTLENGTHW SB_GETTEXTLENGTH; 4209 + alias LV_ITEMW LV_ITEM; 4210 + alias LVITEMW LVITEM; 4211 + alias LVITEM* LPLVITEM; 4212 + alias LPSTR_TEXTCALLBACKW LPSTR_TEXTCALLBACK; 4213 + 4214 + static if (_WIN32_IE >= 0x400) { 4215 + alias LVBKIMAGEW LVBKIMAGE; 4216 + alias LPLVBKIMAGEW LPLVBKIMAGE; 4217 + alias LVM_SETBKIMAGEW LVM_SETBKIMAGE; 4218 + alias LVM_GETBKIMAGEW LVM_GETBKIMAGE; 4219 + } 4220 + 4221 + alias LVM_GETITEMW LVM_GETITEM; 4222 + alias LVM_SETITEMW LVM_SETITEM; 4223 + alias LVM_INSERTITEMW LVM_INSERTITEM; 4224 + alias LV_FINDINFOW LV_FINDINFO; 4225 + alias LVFINDINFOW LVFINDINFO; 4226 + alias LPFINDINFOW LPFINDINFO; 4227 + alias NMLVFINDITEMW NMLVFINDITEM; 4228 + alias PNMLVFINDITEMW PNMLVFINDITEM; 4229 + alias LPNMLVFINDITEMW LPNMLVFINDITEM; 4230 + alias LVM_FINDITEMW LVM_FINDITEM; 4231 + alias LVM_GETSTRINGWIDTHW LVM_GETSTRINGWIDTH; 4232 + alias LVM_EDITLABELW LVM_EDITLABEL; 4233 + alias LV_COLUMNW LV_COLUMN; 4234 + alias LVCOLUMNW LVCOLUMN; 4235 + alias LVCOLUMNW* LPLVCOLUMN; 4236 + alias LVM_GETCOLUMNW LVM_GETCOLUMN; 4237 + alias LVM_SETCOLUMNW LVM_SETCOLUMN; 4238 + alias LVM_INSERTCOLUMNW LVM_INSERTCOLUMN; 4239 + alias LVM_GETITEMTEXTW LVM_GETITEMTEXT; 4240 + alias LVM_SETITEMTEXTW LVM_SETITEMTEXT; 4241 + alias LVM_GETISEARCHSTRINGW LVM_GETISEARCHSTRING; 4242 + alias LVN_BEGINLABELEDITW LVN_BEGINLABELEDIT; 4243 + alias LVN_ENDLABELEDITW LVN_ENDLABELEDIT; 4244 + alias LVN_GETDISPINFOW LVN_GETDISPINFO; 4245 + alias LVN_SETDISPINFOW LVN_SETDISPINFO; 4246 + 4247 + static if (_WIN32_IE >= 0x400) { 4248 + alias LVN_GETINFOTIPW LVN_GETINFOTIP; 4249 + alias NMLVGETINFOTIPW NMLVGETINFOTIP; 4250 + alias LPNMLVGETINFOTIPW LPNMLVGETINFOTIP; 4251 + } 4252 + 4253 + alias LV_DISPINFOW LV_DISPINFO; 4254 + alias NMLVDISPINFOW NMLVDISPINFO; 4255 + alias LPNMLVDISPINFOW LPNMLVDISPINFO; 4256 + alias TVM_INSERTITEMW TVM_INSERTITEM; 4257 + alias TVM_GETITEMW TVM_GETITEM; 4258 + alias TVM_SETITEMW TVM_SETITEM; 4259 + alias TVM_EDITLABELW TVM_EDITLABEL; 4260 + alias TVM_GETISEARCHSTRINGW TVM_GETISEARCHSTRING; 4261 + alias NMTVDISPINFOW TV_DISPINFO; 4262 + alias NMTVDISPINFOW NMTVDISPINFO; 4263 + alias LPNMTVDISPINFOW LPNMTVDISPINFO; 4264 + 4265 + static if (_WIN32_IE >= 0x400) { 4266 + alias NMTVGETINFOTIPW NMTVGETINFOTIP; 4267 + alias LPNMTVGETINFOTIPW LPNMTVGETINFOTIP; 4268 + alias TVN_GETINFOTIPW TVN_GETINFOTIP; 4269 + } 4270 + 4271 + alias TVN_SELCHANGINGW TVN_SELCHANGING; 4272 + alias TVN_SELCHANGEDW TVN_SELCHANGED; 4273 + alias TVN_GETDISPINFOW TVN_GETDISPINFO; 4274 + alias TVN_SETDISPINFOW TVN_SETDISPINFO; 4275 + alias TVN_ITEMEXPANDINGW TVN_ITEMEXPANDING; 4276 + alias TVN_ITEMEXPANDEDW TVN_ITEMEXPANDED; 4277 + alias TVN_BEGINDRAGW TVN_BEGINDRAG; 4278 + alias TVN_BEGINRDRAGW TVN_BEGINRDRAG; 4279 + alias TVN_DELETEITEMW TVN_DELETEITEM; 4280 + alias TVN_BEGINLABELEDITW TVN_BEGINLABELEDIT; 4281 + alias TVN_ENDLABELEDITW TVN_ENDLABELEDIT; 4282 + alias TC_ITEMHEADERW TC_ITEMHEADER; 4283 + alias TC_ITEMW TC_ITEM; 4284 + alias TCITEMW TCITEM; 4285 + alias LPTCITEMW LPTCITEM; 4286 + alias TCM_GETITEMW TCM_GETITEM; 4287 + alias TCM_SETITEMW TCM_SETITEM; 4288 + alias TCM_INSERTITEMW TCM_INSERTITEM; 4289 + alias CreateStatusWindowW CreateStatusWindow; 4290 + alias DrawStatusTextW DrawStatusText; 4291 + alias ImageList_LoadImageW ImageList_LoadImage; 4292 + alias DTM_SETFORMATW DTM_SETFORMAT; 4293 + alias DTN_USERSTRINGW DTN_USERSTRING; 4294 + alias DTN_WMKEYDOWNW DTN_WMKEYDOWN; 4295 + alias DTN_FORMATW DTN_FORMAT; 4296 + alias DTN_FORMATQUERYW DTN_FORMATQUERY; 4297 + alias REBARBANDINFOW REBARBANDINFO; 4298 + alias REBARBANDINFO* LPREBARBANDINFO; 4299 + alias LPCREBARBANDINFOW LPCREBARBANDINFO; 4300 + alias REBARBANDINFOW_V3_SIZE REBARBANDINFO_V3_SIZE; 4301 + alias RB_INSERTBANDW RB_INSERTBAND; 4302 + alias RB_SETBANDINFOW RB_SETBANDINFO; 4303 +} else { 4304 + alias HDITEMA HDITEM; 4305 + alias LPHDITEMA LPHDITEM; 4306 + alias TOOLINFOA TOOLINFO; 4307 + alias TOOLINFOA* PTOOLINFO, LPTOOLINFO; 4308 + alias TTHITTESTINFOA TTHITTESTINFO; 4309 + alias TTHITTESTINFOA* LPHITTESTINFO, LPTTHITTESTINFO; 4310 + alias TOOLTIPTEXTA TOOLTIPTEXT; 4311 + alias TOOLTIPTEXTA* LPTOOLTIPTEXT; 4312 + alias NMTTDISPINFOA NMTTDISPINFO; 4313 + alias NMTTDISPINFOA* LPNMTTDISPINFO; 4314 + alias TV_ITEMA TV_ITEM; 4315 + alias TV_ITEMA* LPTV_ITEM; 4316 + alias TVITEMA TVITEM; 4317 + alias TVITEMA* LPTVITEM; 4318 + 4319 + static if (_WIN32_IE >= 0x400) { 4320 + alias TVITEMEXA TVITEMEX; 4321 + alias TVITEMEXA* LPTVITEMEX; 4322 + } 4323 + 4324 + alias TV_INSERTSTRUCTA TV_INSERTSTRUCT; 4325 + alias TV_INSERTSTRUCTA* LPTV_INSERTSTRUCT; 4326 + alias TVINSERTSTRUCTA TVINSERTSTRUCT; 4327 + alias TVINSERTSTRUCTA* LPTVINSERTSTRUCT; 4328 + alias NM_TREEVIEWA NM_TREEVIEW; 4329 + alias NM_TREEVIEWA* LPNM_TREEVIEW; 4330 + alias NMTREEVIEWA NMTREEVIEW; 4331 + alias NMTREEVIEWA* LPNMTREEVIEW; 4332 + alias NMHDDISPINFOW NMHDDISPINFO; 4333 + alias NMHDDISPINFOW* LPNMHDDISPINFO; 4334 + 4335 + alias ACM_OPENA ACM_OPEN; 4336 + alias COMBOBOXEXITEMA COMBOBOXEXITEM; 4337 + alias PCOMBOBOXEXITEMA PCOMBOBOXEXITEM; 4338 + //alias PCCOMBOBOXEXITEMA PCCOMBOBOXEXITEM; fixme 4339 + alias CBEM_INSERTITEMA CBEM_INSERTITEM; 4340 + alias CBEM_SETITEMA CBEM_SETITEM; 4341 + alias CBEM_GETITEMA CBEM_GETITEM; 4342 + alias CBEN_ENDEDITA CBEN_ENDEDIT; 4343 + alias NMCBEENDEDITA NMCBEENDEDIT; 4344 + alias LPNMCBEENDEDITA LPNMCBEENDEDIT; 4345 + alias PNMCBEENDEDITA PNMCBEENDEDIT; 4346 + 4347 + static if (_WIN32_IE >= 0x400) { 4348 + alias TB_GETBUTTONINFOA TB_GETBUTTONINFO; 4349 + alias TB_SETBUTTONINFOA TB_SETBUTTONINFO; 4350 + alias TB_INSERTBUTTONA TB_INSERTBUTTON; 4351 + alias TB_ADDBUTTONSA TB_ADDBUTTONS; 4352 + alias TB_MAPACCELERATORA TB_MAPACCELERATOR; 4353 + alias TB_GETSTRINGA TB_GETSTRING; 4354 + alias NMCOMBOBOXEXA NMCOMBOBOXEX; 4355 + alias PNMCOMBOBOXEXA PNMCOMBOBOXEX; 4356 + alias CBEN_DRAGBEGINA CBEN_DRAGBEGIN; 4357 + alias CBEN_GETDISPINFOA CBEN_GETDISPINFO; 4358 + alias NMCBEDRAGBEGINA NMCBEDRAGBEGIN; 4359 + alias LPNMCBEDRAGBEGINA LPNMCBEDRAGBEGIN; 4360 + alias PNMCBEDRAGBEGINA PNMCBEDRAGBEGIN; 4361 + alias TBN_GETDISPINFOA TBN_GETDISPINFO; 4362 + alias NMTBDISPINFOA NMTBDISPINFO; 4363 + alias LPNMTBDISPINFOA LPNMTBDISPINFO; 4364 + alias NMTBGETINFOTIPA NMTBGETINFOTIP; 4365 + alias LPNMTBGETINFOTIPA LPNMTBGETINFOTIP; 4366 + } 4367 + 4368 + alias SB_GETTEXTA SB_GETTEXT; 4369 + alias SB_SETTEXTA SB_SETTEXT; 4370 + alias SB_GETTEXTLENGTHA SB_GETTEXTLENGTH; 4371 + alias HDM_INSERTITEMA HDM_INSERTITEM; 4372 + alias HDM_GETITEMA HDM_GETITEM; 4373 + alias HDM_SETITEMA HDM_SETITEM; 4374 + alias HDN_ITEMCHANGINGA HDN_ITEMCHANGING; 4375 + alias HDN_ITEMCHANGEDA HDN_ITEMCHANGED; 4376 + alias HDN_ITEMCLICKA HDN_ITEMCLICK; 4377 + alias HDN_ITEMDBLCLICKA HDN_ITEMDBLCLICK; 4378 + alias HDN_DIVIDERDBLCLICKA HDN_DIVIDERDBLCLICK; 4379 + alias HDN_BEGINTRACKA HDN_BEGINTRACK; 4380 + alias HDN_ENDTRACKA HDN_ENDTRACK; 4381 + alias HDN_TRACKA HDN_TRACK; 4382 + 4383 + static if (_WIN32_IE >= 0x300) { 4384 + alias HDN_GETDISPINFOA HDN_GETDISPINFO; 4385 + } 4386 + 4387 + alias HD_NOTIFYA HD_NOTIFY; 4388 + alias TBSAVEPARAMSA TBSAVEPARAMS; 4389 + alias TB_GETBUTTONTEXTA TB_GETBUTTONTEXT; 4390 + alias TB_SAVERESTOREA TB_SAVERESTORE; 4391 + alias TB_ADDSTRINGA TB_ADDSTRING; 4392 + alias TBN_GETBUTTONINFOA TBN_GETBUTTONINFO; 4393 + 4394 + static if (_WIN32_IE >= 0x400) { 4395 + alias TBBUTTONINFOA TBBUTTONINFO; 4396 + alias LPTBBUTTONINFOA LPTBBUTTONINFO; 4397 + } 4398 + 4399 + alias TBNOTIFYA TBNOTIFY; 4400 + alias LPTBNOTIFYA LPTBNOTIFY; 4401 + alias NMTOOLBARA NMTOOLBAR; 4402 + alias LPNMTOOLBARA LPNMTOOLBAR; 4403 + alias TTM_ADDTOOLA TTM_ADDTOOL; 4404 + alias TTM_DELTOOLA TTM_DELTOOL; 4405 + alias TTM_NEWTOOLRECTA TTM_NEWTOOLRECT; 4406 + alias TTM_GETTOOLINFOA TTM_GETTOOLINFO; 4407 + alias TTM_SETTOOLINFOA TTM_SETTOOLINFO; 4408 + alias TTM_HITTESTA TTM_HITTEST; 4409 + alias TTM_GETTEXTA TTM_GETTEXT; 4410 + alias TTM_UPDATETIPTEXTA TTM_UPDATETIPTEXT; 4411 + alias TTM_ENUMTOOLSA TTM_ENUMTOOLS; 4412 + alias TTM_GETCURRENTTOOLA TTM_GETCURRENTTOOL; 4413 + alias TTN_NEEDTEXTA TTN_NEEDTEXT; 4414 + alias TTN_GETDISPINFOA TTN_GETDISPINFO; 4415 + alias LV_ITEMA LV_ITEM; 4416 + alias LVITEMA LVITEM; 4417 + alias LVITEM* LPLVITEM; 4418 + alias LPSTR_TEXTCALLBACKA LPSTR_TEXTCALLBACK; 4419 + 4420 + static if (_WIN32_IE >= 0x400) { 4421 + alias LVBKIMAGEA LVBKIMAGE; 4422 + alias LPLVBKIMAGEA LPLVBKIMAGE; 4423 + alias LVM_SETBKIMAGEA LVM_SETBKIMAGE; 4424 + alias LVM_GETBKIMAGEA LVM_GETBKIMAGE; 4425 + } 4426 + 4427 + alias LVM_GETITEMA LVM_GETITEM; 4428 + alias LVM_SETITEMA LVM_SETITEM; 4429 + alias LVM_INSERTITEMA LVM_INSERTITEM; 4430 + alias LV_FINDINFOA LV_FINDINFO; 4431 + alias LVFINDINFOA LVFINDINFO; 4432 + alias LPFINDINFOA LPFINDINFO; 4433 + alias NMLVFINDITEMA NMLVFINDITEM; 4434 + alias PNMLVFINDITEMA PNMLVFINDITEM; 4435 + alias LPNMLVFINDITEMA LPNMLVFINDITEM; 4436 + alias LVM_FINDITEMA LVM_FINDITEM; 4437 + alias LVM_GETSTRINGWIDTHA LVM_GETSTRINGWIDTH; 4438 + alias LVM_EDITLABELA LVM_EDITLABEL; 4439 + alias LV_COLUMNA LV_COLUMN; 4440 + alias LVCOLUMNA LVCOLUMN; 4441 + alias LVCOLUMNA* LPLVCOLUMN; 4442 + alias LVM_GETCOLUMNA LVM_GETCOLUMN; 4443 + alias LVM_SETCOLUMNA LVM_SETCOLUMN; 4444 + alias LVM_INSERTCOLUMNA LVM_INSERTCOLUMN; 4445 + alias LVM_GETITEMTEXTA LVM_GETITEMTEXT; 4446 + alias LVM_SETITEMTEXTA LVM_SETITEMTEXT; 4447 + alias LVM_GETISEARCHSTRINGA LVM_GETISEARCHSTRING; 4448 + alias LVN_BEGINLABELEDITA LVN_BEGINLABELEDIT; 4449 + alias LVN_ENDLABELEDITA LVN_ENDLABELEDIT; 4450 + alias LVN_GETDISPINFOA LVN_GETDISPINFO; 4451 + alias LVN_SETDISPINFOA LVN_SETDISPINFO; 4452 + 4453 + static if (_WIN32_IE >= 0x400) { 4454 + alias LVN_GETINFOTIPA LVN_GETINFOTIP; 4455 + alias NMLVGETINFOTIPA NMLVGETINFOTIP; 4456 + alias LPNMLVGETINFOTIPA LPNMLVGETINFOTIP; 4457 + } 4458 + 4459 + alias LV_DISPINFOA LV_DISPINFO; 4460 + alias NMLVDISPINFOA NMLVDISPINFO; 4461 + alias LPNMLVDISPINFOA LPNMLVDISPINFO; 4462 + alias TVM_INSERTITEMA TVM_INSERTITEM; 4463 + alias TVM_GETITEMA TVM_GETITEM; 4464 + alias TVM_SETITEMA TVM_SETITEM; 4465 + alias TVM_EDITLABELA TVM_EDITLABEL; 4466 + alias TVM_GETISEARCHSTRINGA TVM_GETISEARCHSTRING; 4467 + alias NMTVDISPINFOA TV_DISPINFO; 4468 + alias NMTVDISPINFOA NMTVDISPINFO; 4469 + alias LPNMTVDISPINFOA LPNMTVDISPINFO; 4470 + 4471 + static if (_WIN32_IE >= 0x400) { 4472 + alias NMTVGETINFOTIPA NMTVGETINFOTIP; 4473 + alias LPNMTVGETINFOTIPA LPNMTVGETINFOTIP; 4474 + alias TVN_GETINFOTIPA TVN_GETINFOTIP; 4475 + } 4476 + 4477 + alias TVN_SELCHANGINGA TVN_SELCHANGING; 4478 + alias TVN_SELCHANGEDA TVN_SELCHANGED; 4479 + alias TVN_GETDISPINFOA TVN_GETDISPINFO; 4480 + alias TVN_SETDISPINFOA TVN_SETDISPINFO; 4481 + alias TVN_ITEMEXPANDINGA TVN_ITEMEXPANDING; 4482 + alias TVN_ITEMEXPANDEDA TVN_ITEMEXPANDED; 4483 + alias TVN_BEGINDRAGA TVN_BEGINDRAG; 4484 + alias TVN_BEGINRDRAGA TVN_BEGINRDRAG; 4485 + alias TVN_DELETEITEMA TVN_DELETEITEM; 4486 + alias TVN_BEGINLABELEDITA TVN_BEGINLABELEDIT; 4487 + alias TVN_ENDLABELEDITA TVN_ENDLABELEDIT; 4488 + alias TC_ITEMHEADERA TC_ITEMHEADER; 4489 + alias TC_ITEMA TC_ITEM; 4490 + alias TCITEMA TCITEM; 4491 + alias LPTCITEMA LPTCITEM; 4492 + alias TCM_GETITEMA TCM_GETITEM; 4493 + alias TCM_SETITEMA TCM_SETITEM; 4494 + alias TCM_INSERTITEMA TCM_INSERTITEM; 4495 + alias CreateStatusWindowA CreateStatusWindow; 4496 + alias DrawStatusTextA DrawStatusText; 4497 + alias ImageList_LoadImageA ImageList_LoadImage; 4498 + alias DTM_SETFORMATA DTM_SETFORMAT; 4499 + alias DTN_USERSTRINGA DTN_USERSTRING; 4500 + alias DTN_WMKEYDOWNA DTN_WMKEYDOWN; 4501 + alias DTN_FORMATA DTN_FORMAT; 4502 + alias DTN_FORMATQUERYA DTN_FORMATQUERY; 4503 + alias REBARBANDINFOA REBARBANDINFO; 4504 + alias REBARBANDINFOA* LPREBARBANDINFO; 4505 + alias LPCREBARBANDINFOA LPCREBARBANDINFO; 4506 + alias REBARBANDINFOA_V3_SIZE REBARBANDINFO_V3_SIZE; 4507 + alias RB_INSERTBANDA RB_INSERTBAND; 4508 + alias RB_SETBANDINFOA RB_SETBANDINFO; 4509 +} 4510 + 4511 + 4512 +alias INT function(PVOID, PVOID) PFNDPAENUMCALLBACK; 4513 +alias INT function(PVOID, PVOID) PFNDSAENUMCALLBACK; 4514 +alias INT function(PVOID, PVOID, LPARAM) PFNDPACOMPARE; 4515 + 4516 +static if (_WIN32_WINNT >= 0x501) { 4517 + extern (Windows) 4518 + alias LRESULT function(HWND, UINT, WPARAM, LPARAM, UINT_PTR, DWORD_PTR) 4519 + SUBCLASSPROC; 4520 + 4521 + struct LITEM { 4522 + UINT mask; 4523 + int iLink; 4524 + UINT state; 4525 + UINT stateMask; 4526 + WCHAR[MAX_LINKID_TEXT] szID; 4527 + WCHAR[L_MAX_URL_LENGTH] szUrl; 4528 + } 4529 + alias LITEM* PLITEM; 4530 + 4531 + struct LHITTESTINFO { 4532 + POINT pt; 4533 + LITEM item; 4534 + } 4535 + alias LHITTESTINFO* PLHITTESTINFO; 4536 + 4537 + struct NMLINK { 4538 + NMHDR hdr; 4539 + LITEM item; 4540 + } 4541 + alias NMLINK* PNMLINK; 4542 +} 4543 + 4544 +uint INDEXTOOVERLAYMASK(uint i) { return i << 8; } 4545 +uint INDEXTOSTATEIMAGEMASK(uint i) { return i << 12; } 4546 + 4547 +template HANDLE_WM_NOTIFY(R) { 4548 + R HANDLE_WM_NOTIFY(HWND hwnd, WPARAM wParam, LPARAM lParam, 4549 + R function(HWND, int, NMHDR*) fn) { 4550 + return fn(hwnd, wParam, cast(NMHDR*) lParam); 4551 + } 4552 +} 4553 +int FORWARD_WM_NOTIFY(HWND hwnd, int idFrom, NMHDR* pnmhdr, 4554 + int function(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) fn) { 4555 + return fn(hwnd, WM_NOTIFY, idFrom, cast(LPARAM) pnmhdr); 4556 +} 4557 + 4558 +//#define CCSIZEOF_STRUCT(s, m) (((int)((PBYTE)(&((s*)0)->m)-((PBYTE)((s*)0))))+sizeof(((s*)0)->m)) 4559 + 4560 +LPARAM MAKEIPADDRESS(ubyte b1, ubyte b2, ubyte b3, ubyte b4) { 4561 + return (cast(DWORD) b1 << 24) 4562 + | (cast(DWORD) b2 << 16) 4563 + | (cast(DWORD) b3 << 8) 4564 + | (cast(DWORD) b4); 4565 +} 4566 + 4567 +LPARAM MAKEIPRANGE(ubyte low, ubyte high) { 4568 + return (cast(int) high << 8) | low; 4569 +} 4570 + 4571 +ubyte FIRST_IPADDRESS(LPARAM x) { 4572 + return cast(ubyte) (x >> 24); 4573 +} 4574 + 4575 +ubyte SECOND_IPADDRESS(LPARAM x) { 4576 + return cast(ubyte) (x >> 16); 4577 +} 4578 + 4579 +ubyte THIRD_IPADDRESS(LPARAM x) { 4580 + return cast(ubyte) (x >> 8); 4581 +} 4582 + 4583 +ubyte FOURTH_IPADDRESS(LPARAM x) { 4584 + return cast(ubyte) x; 4585 +} 4586 + 4587 +HWND Animate_Create(HWND hwndP, UINT id, DWORD dwStyle, 4588 + HINSTANCE hInstance) { 4589 + return CreateWindow(cast(TCHAR*)ANIMATE_CLASS.ptr, null, dwStyle, 0, 0, 0, 0, hwndP, 4590 + cast(HMENU) id, hInstance, null); 4591 +} 4592 + 4593 +BOOL Animate_Open(HWND hwnd, LPTSTR szName) { 4594 + return SendMessage(hwnd, ACM_OPEN, 0, cast(LPARAM) szName); 4595 +} 4596 + 4597 +BOOL Animate_OpenEx(HWND hwnd, HINSTANCE hInst, LPTSTR szName) { 4598 + return SendMessage(hwnd, ACM_OPEN, cast(WPARAM) hInst, 4599 + cast(LPARAM) szName); 4600 +} 4601 + 4602 +BOOL Animate_Play(HWND hwnd, int from, int to, int rep) { 4603 + return SendMessage(hwnd, ACM_PLAY, rep, 4604 + MAKELONG(cast(ushort) from, cast(ushort) to)); 4605 +} 4606 + 4607 +BOOL Animate_Stop(HWND hwnd) { 4608 + return SendMessage(hwnd, ACM_STOP, 0, 0); 4609 +} 4610 + 4611 +BOOL Animate_Close(HWND hwnd) { 4612 + return Animate_Open(hwnd, null); 4613 +} 4614 + 4615 +BOOL Animate_Seek(HWND hwnd, int frame) { 4616 + return Animate_Play(hwnd, frame, frame, 1); 4617 +} 4618 + 4619 +extern (Windows) { 4620 + HBITMAP CreateMappedBitmap(HINSTANCE, int, UINT, LPCOLORMAP, int); 4621 + HWND CreateStatusWindowA(LONG, LPCSTR, HWND, UINT); 4622 + HWND CreateStatusWindowW(LONG, LPCWSTR, HWND, UINT); 4623 + HWND CreateToolbarEx(HWND, DWORD, UINT, int, HINSTANCE, UINT, 4624 + LPCTBBUTTON, int, int, int, int, int, UINT); 4625 + HWND CreateUpDownControl(DWORD, int, int, int, int, HWND, int, HINSTANCE, 4626 + HWND, int, int, int); 4627 +} 4628 + 4629 +HWND DateTime_GetMonthCal(HWND hwnd) { 4630 + return cast(HWND) SendMessage(hwnd, DTM_GETMONTHCAL, 0, 0); 4631 +} 4632 + 4633 +COLORREF DateTime_GetMonthCalColor(HWND hwnd, int iColor) { 4634 + return cast(COLORREF) SendMessage(hwnd, DTM_GETMCCOLOR, iColor, 0); 4635 +} 4636 + 4637 +HFONT DateTime_GetMonthCalFont(HWND hwnd) { 4638 + return cast(HFONT) SendMessage(hwnd, DTM_GETMCFONT, 0, 0); 4639 +} 4640 + 4641 +DWORD DateTime_GetRange(HWND hwnd, LPSYSTEMTIME lpSysTimeArray) { 4642 + return SendMessage(hwnd, DTM_GETRANGE, 0, cast(LPARAM) lpSysTimeArray); 4643 +} 4644 + 4645 +DWORD DateTime_GetSystemtime(HWND hwnd, LPSYSTEMTIME lpSysTime) { 4646 + return SendMessage(hwnd, DTM_GETSYSTEMTIME, 0, cast(LPARAM) lpSysTime); 4647 +} 4648 + 4649 +BOOL DateTime_SetFormat(HWND hwnd, LPCTSTR lpszFormat) { 4650 + return cast(BOOL) SendMessage(hwnd, DTM_SETFORMAT, 0, 4651 + cast(LPARAM) lpszFormat); 4652 +} 4653 + 4654 +LRESULT DateTime_SetMonthCalColor(HWND hwnd, int iColor, COLORREF clr) { 4655 + return SendMessage(hwnd, DTM_SETMCCOLOR, cast(WPARAM) iColor, 4656 + cast(LPARAM) clr); 4657 +} 4658 + 4659 +void DateTime_SetMonthCalFont(HWND hwnd, HFONT hfont, BOOL fRedraw) { 4660 + SendMessage(hwnd, DTM_SETMCFONT, cast(WPARAM) hfont, fRedraw); 4661 +} 4662 + 4663 +BOOL DateTime_SetRange(HWND hwnd, WPARAM flags, LPSYSTEMTIME lpSysTimeArray) { 4664 + return cast(BOOL) SendMessage(hwnd, DTM_SETRANGE, flags, 4665 + cast(LPARAM) lpSysTimeArray); 4666 +} 4667 + 4668 +BOOL DateTime_SetSystemtime(HWND hwnd, WPARAM flag, LPSYSTEMTIME lpSysTime) { 4669 + return cast(BOOL) SendMessage(hwnd, DTM_SETSYSTEMTIME, flag, 4670 + cast(LPARAM) lpSysTime); 4671 +} 4672 + 4673 +extern (Windows) { 4674 + void DrawInsert(HWND, HWND, int); 4675 + void DrawStatusTextA(HDC, LPRECT, LPCSTR, UINT); 4676 + void DrawStatusTextW(HDC, LPRECT, LPCWSTR, UINT); 4677 + void GetEffectiveClientRect(HWND, LPRECT, LPINT); 4678 +} 4679 + 4680 +int Header_GetItemCount(HWND w) { 4681 + return SendMessage(w, HDM_GETITEMCOUNT, 0, 0); 4682 +} 4683 + 4684 +int Header_InsertItem(HWND w, int i, CPtr!(HDITEM) phdi) { 4685 + return SendMessage(w, HDM_INSERTITEM, i, cast(LPARAM) phdi); 4686 +} 4687 + 4688 +BOOL Header_DeleteItem(HWND w, int i) { 4689 + return cast(BOOL) SendMessage(w, HDM_DELETEITEM, i, 0); 4690 +} 4691 + 4692 +BOOL Header_GetItem(HWND w, int i, LPHDITEM phdi) { 4693 + return cast(BOOL) SendMessage(w, HDM_GETITEM, i, cast(LPARAM) phdi); 4694 +} 4695 + 4696 +BOOL Header_SetItem(HWND w, int i, CPtr!(HDITEM) phdi) { 4697 + return cast(BOOL) SendMessage(w, HDM_SETITEM, i, cast(LPARAM) phdi); 4698 +} 4699 + 4700 +BOOL Header_Layout(HWND w, LPHDLAYOUT playout) { 4701 + return SendMessage(w, HDM_LAYOUT, 0, cast(LPARAM) playout); 4702 +} 4703 + 4704 +static if (_WIN32_IE >= 0x300) { 4705 + int Header_OrderToIndex(HWND w, int i) { 4706 + return SendMessage(w, HDM_ORDERTOINDEX, i, 0); 4707 + } 4708 + 4709 + BOOL Header_GetItemRect(HWND w, int i, RECT* r) { 4710 + return cast(BOOL) SendMessage(w, HDM_GETITEMRECT, i, cast(LPARAM) r); 4711 + } 4712 + 4713 + BOOL Header_GetOrderArray(HWND w, int iSize, LPINT lpiArray) { 4714 + return cast(BOOL) SendMessage(w, HDM_GETORDERARRAY, iSize, 4715 + cast(LPARAM) lpiArray); 4716 + } 4717 + 4718 + BOOL Header_SetOrderArray(HWND w, int iSize, LPINT lpiArray) { 4719 + return cast(BOOL) SendMessage(w, HDM_SETORDERARRAY, iSize, 4720 + cast(LPARAM) lpiArray); 4721 + } 4722 + 4723 + HIMAGELIST Header_CreateDragImage(HWND w, int i) { 4724 + return cast(HIMAGELIST) SendMessage(w, HDM_CREATEDRAGIMAGE, i, 0); 4725 + } 4726 + 4727 + HIMAGELIST Header_SetImageList(HWND w, HIMAGELIST himl) { 4728 + return cast(HIMAGELIST) SendMessage(w, HDM_SETIMAGELIST, 0, 4729 + cast(LPARAM) himl); 4730 + } 4731 + 4732 + HIMAGELIST Header_GetImageList(HWND w) { 4733 + return cast(HIMAGELIST) SendMessage(w, HDM_GETIMAGELIST, 0, 0); 4734 + } 4735 +} 4736 + 4737 +static if (_WIN32_IE >= 0x400) { 4738 + BOOL Header_GetUnicodeFormat(HWND w) { 4739 + return cast(BOOL) SendMessage(w, HDM_GETUNICODEFORMAT, 0, 0); 4740 + } 4741 + 4742 + BOOL Header_SetUnicodeFormat(HWND w, BOOL fUnicode) { 4743 + return cast(BOOL) SendMessage(w, HDM_SETUNICODEFORMAT, fUnicode, 0); 4744 + } 4745 +} 4746 + 4747 +extern (Windows) { 4748 + HDSA DSA_Create(INT, INT); 4749 + BOOL DSA_Destroy(HDSA); 4750 + VOID DSA_DestroyCallback(HDSA, PFNDSAENUMCALLBACK, PVOID); 4751 + PVOID DSA_GetItemPtr(HDSA, INT); 4752 + INT DSA_InsertItem(HDSA, INT, PVOID); 4753 + HDPA DPA_Create(INT); 4754 + BOOL DPA_Destroy(HDPA); 4755 + PVOID DPA_DeletePtr(HDPA, INT); 4756 + BOOL DPA_DeleteAllPtrs(HDPA); 4757 + VOID DPA_EnumCallback(HDPA, PFNDPAENUMCALLBACK, PVOID); 4758 + VOID DPA_DestroyCallback(HDPA, PFNDPAENUMCALLBACK, PVOID); 4759 + BOOL DPA_SetPtr(HDPA, INT, PVOID); 4760 + INT DPA_InsertPtr(HDPA, INT, PVOID); 4761 + PVOID DPA_GetPtr(HDPA, INT_PTR); 4762 + BOOL DPA_Sort(HDPA, PFNDPACOMPARE, LPARAM); 4763 + INT DPA_Search(HDPA, PVOID, INT, PFNDPACOMPARE, LPARAM, UINT); 4764 + BOOL Str_SetPtrW(LPWSTR*, LPCWSTR); 4765 + 4766 + static if (_WIN32_IE >= 0x400) { 4767 + BOOL FlatSB_EnableScrollBar(HWND, INT, UINT); 4768 + BOOL FlatSB_ShowScrollBar(HWND, INT, BOOL); 4769 + BOOL FlatSB_GetScrollRange(HWND, INT, LPINT, LPINT); 4770 + BOOL FlatSB_GetScrollInfo(HWND, INT, LPSCROLLINFO); 4771 + INT FlatSB_GetScrollPos(HWND, INT); 4772 + BOOL FlatSB_GetScrollProp(HWND, INT, LPINT); 4773 + version (Win64) { 4774 + BOOL FlatSB_GetScrollPropPtr(HWND, INT, PINT_PTR); 4775 + } else { 4776 + alias FlatSB_GetScrollProp FlatSB_GetScrollPropPtr; 4777 + } 4778 + INT FlatSB_SetScrollPos(HWND, INT, INT, BOOL); 4779 + INT FlatSB_SetScrollInfo(HWND, INT, LPSCROLLINFO, BOOL); 4780 + INT FlatSB_SetScrollRange(HWND, INT, INT, INT, BOOL); 4781 + BOOL FlatSB_SetScrollProp(HWND, UINT, INT_PTR, BOOL); 4782 + alias FlatSB_SetScrollProp FlatSB_SetScrollPropPtr; 4783 + BOOL InitializeFlatSB(HWND); 4784 + HRESULT UninitializeFlatSB(HWND); 4785 + } 4786 + 4787 + static if (_WIN32_WINNT >= 0x501) { 4788 + BOOL SetWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR); 4789 + BOOL GetWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR, DWORD_PTR*); 4790 + BOOL RemoveWindowSubclass(HWND, SUBCLASSPROC, UINT_PTR); 4791 + LRESULT DefSubclassProc(HWND, UINT, WPARAM, LPARAM); 4792 + INT DrawShadowText(HDC, LPCWSTR, UINT, RECT*, DWORD, COLORREF, 4793 + COLORREF, INT, INT); 4794 + } 4795 + 4796 + int ImageList_Add(HIMAGELIST, HBITMAP, HBITMAP); 4797 + int ImageList_AddMasked(HIMAGELIST, HBITMAP, COLORREF); 4798 + BOOL ImageList_BeginDrag(HIMAGELIST, int, int, int); 4799 + HIMAGELIST ImageList_Create(int, int, UINT, int, int); 4800 + BOOL ImageList_Destroy(HIMAGELIST); 4801 + BOOL ImageList_DragEnter(HWND, int, int); 4802 + BOOL ImageList_DragLeave(HWND); 4803 + BOOL ImageList_DragMove(int, int); 4804 + BOOL ImageList_DragShowNolock(BOOL); 4805 + BOOL ImageList_Draw(HIMAGELIST, int, HDC, int, int, UINT); 4806 + BOOL ImageList_DrawEx(HIMAGELIST, int, HDC, int, int, int, int, COLORREF, 4807 + COLORREF, UINT); 4808 + void ImageList_EndDrag(PVOID); 4809 + COLORREF ImageList_GetBkColor(HIMAGELIST); 4810 + HIMAGELIST ImageList_GetDragImage(LPPOINT, LPPOINT); 4811 + HICON ImageList_GetIcon(HIMAGELIST, int, UINT); 4812 + BOOL ImageList_GetIconSize(HIMAGELIST, int*, int*); 4813 + int ImageList_GetImageCount(HIMAGELIST); 4814 + BOOL ImageList_GetImageInfo(HIMAGELIST, int, IMAGEINFO*); 4815 + HIMAGELIST ImageList_LoadImageA(HINSTANCE, LPCSTR, int, int, COLORREF, 4816 + UINT, UINT); 4817 + HIMAGELIST ImageList_LoadImageW(HINSTANCE, LPCWSTR, int, int, COLORREF, 4818 + UINT, UINT); 4819 + HIMAGELIST ImageList_Merge(HIMAGELIST, int, HIMAGELIST, int, int, int); 4820 + BOOL ImageList_Remove(HIMAGELIST, int); 4821 + BOOL ImageList_Replace(HIMAGELIST, int, HBITMAP, HBITMAP); 4822 + int ImageList_ReplaceIcon(HIMAGELIST, int, HICON); 4823 + COLORREF ImageList_SetBkColor(HIMAGELIST, COLORREF); 4824 + BOOL ImageList_SetDragCursorImage(HIMAGELIST, int, int, int); 4825 + BOOL ImageList_SetIconSize(HIMAGELIST, int, int); 4826 + BOOL ImageList_SetOverlayImage(HIMAGELIST, int, int); 4827 + 4828 + //#ifdef _OBJIDL_H 4829 + HIMAGELIST ImageList_Read(LPSTREAM); 4830 + BOOL ImageList_Write(HIMAGELIST, LPSTREAM); 4831 + //#endif 4832 + 4833 + static if (_WIN32_IE >= 0x400) { 4834 + HIMAGELIST ImageList_Duplicate(HIMAGELIST himl); 4835 + } 4836 + 4837 + void InitCommonControls(); 4838 + 4839 + static if (_WIN32_IE >= 0x300) { 4840 + BOOL InitCommonControlsEx(LPINITCOMMONCONTROLSEX); 4841 + } 4842 + 4843 + int LBItemFromPt(HWND, POINT, BOOL); 4844 +} 4845 + 4846 +int ImageList_AddIcon(HIMAGELIST himl, HICON hicon) { 4847 + return ImageList_ReplaceIcon(himl, -1, hicon); 4848 +} 4849 + 4850 +HICON ImageList_ExtractIcon(HINSTANCE hi, HIMAGELIST himl, int i) { 4851 + return ImageList_GetIcon(himl, i, 0); 4852 +} 4853 + 4854 +HIMAGELIST ImageList_LoadBitmap(HINSTANCE hi, LPCTSTR lpbmp, int cx, 4855 + int cGrow, COLORREF crMask) { 4856 + return ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0); 4857 +} 4858 + 4859 +BOOL ImageList_RemoveAll(HIMAGELIST himl) { 4860 + return ImageList_Remove(himl, -1); 4861 +} 4862 + 4863 +COLORREF ListView_GetBkColor(HWND w) { 4864 + return cast(COLORREF) SendMessage(w, LVM_GETBKCOLOR, 0, 0); 4865 +} 4866 + 4867 +HIMAGELIST ListView_GetImageList(HWND w, int i) { 4868 + return cast(HIMAGELIST) SendMessage(w, LVM_GETIMAGELIST, i, 0); 4869 +} 4870 + 4871 +int ListView_GetItemCount(HWND w) { 4872 + return SendMessage(w, LVM_GETITEMCOUNT, 0, 0); 4873 +} 4874 + 4875 +BOOL ListView_GetItem(HWND w, LPLVITEM pitem) { 4876 + return cast(BOOL) SendMessage(w, LVM_GETITEM, 0, cast(LPARAM) pitem); 4877 +} 4878 + 4879 +BOOL ListView_SetBkColor(HWND w, COLORREF c) { 4880 + return cast(BOOL) SendMessage(w, LVM_SETBKCOLOR, 0, cast(LPARAM) c); 4881 +} 4882 + 4883 +HIMAGELIST ListView_SetImageList(HWND w, HIMAGELIST h, int i) { 4884 + return cast(HIMAGELIST) SendMessage(w, LVM_SETIMAGELIST, i, 4885 + cast(LPARAM) h); 4886 +} 4887 + 4888 +BOOL ListView_SetItem(HWND w, CPtr!(LV_ITEM) i) { 4889 + return cast(BOOL) SendMessage(w, LVM_SETITEM, 0, cast(LPARAM) i); 4890 +} 4891 + 4892 +int ListView_InsertItem(HWND w, CPtr!(LV_ITEM) i) { 4893 + return SendMessage(w, LVM_INSERTITEM, 0, cast(LPARAM) i); 4894 +} 4895 + 4896 +BOOL ListView_DeleteItem(HWND w, int i) { 4897 + return cast(BOOL) SendMessage(w, LVM_DELETEITEM, i, 0); 4898 +} 4899 + 4900 +BOOL ListView_DeleteAllItems(HWND w) { 4901 + return cast(BOOL) SendMessage(w, LVM_DELETEALLITEMS, 0, 0); 4902 +} 4903 + 4904 +UINT ListView_GetCallbackMask(HWND w) { 4905 + return cast(UINT) SendMessage(w, LVM_GETCALLBACKMASK, 0, 0); 4906 +} 4907 + 4908 +BOOL ListView_SetCallbackMask(HWND w, UINT m) { 4909 + return cast(BOOL) SendMessage(w, LVM_SETCALLBACKMASK, m, 0); 4910 +} 4911 + 4912 +int ListView_GetNextItem(HWND w, int i, UINT f) { 4913 + return SendMessage(w, LVM_GETNEXTITEM, i, MAKELPARAM(cast(ushort)f, 0)); 4914 +} 4915 + 4916 +int ListView_FindItem(HWND w, int i, CPtr!(LV_FINDINFO) p) { 4917 + return SendMessage(w, LVM_FINDITEM, i, cast(LPARAM) p); 4918 +} 4919 + 4920 +BOOL ListView_GetItemRect(HWND w, int i, LPRECT p, int c) { 4921 + return cast(BOOL) SendMessage(w, LVM_GETITEMRECT, i, p ? 4922 + (p.left = c, cast(LPARAM) p) : 0); 4923 +} 4924 + 4925 +BOOL ListView_SetItemPosition(HWND w, int i, int x, int y) { 4926 + return cast(BOOL) SendMessage(w, LVM_SETITEMPOSITION, i, MAKELPARAM(cast(ushort)x, cast(ushort)y)); 4927 +} 4928 + 4929 +BOOL ListView_GetItemPosition(HWND w, int i, POINT* p) { 4930 + return cast(BOOL) SendMessage(w, LVM_GETITEMPOSITION, i, cast(LPARAM) p); 4931 +} 4932 + 4933 +DWORD ListView_GetItemSpacing(HWND w, BOOL f) { 4934 + return cast(DWORD) SendMessage(w, LVM_GETITEMSPACING, f, 0); 4935 +} 4936 + 4937 +int ListView_GetStringWidth(HWND w, LPCSTR s) { 4938 + return SendMessage(w, LVM_GETSTRINGWIDTH, 0, cast(LPARAM) s); 4939 +} 4940 + 4941 +int ListView_HitTest(HWND w, LPLVHITTESTINFO p) { 4942 + return SendMessage(w, LVM_HITTEST, 0, cast(LPARAM) p); 4943 +} 4944 + 4945 +BOOL ListView_EnsureVisible(HWND w, int i, BOOL f) { 4946 + return cast(BOOL) SendMessage(w, LVM_ENSUREVISIBLE, i, MAKELPARAM(cast(ushort)f, 0)); 4947 +} 4948 + 4949 +BOOL ListView_Scroll(HWND w, int dx, int dy) { 4950 + return cast(BOOL) SendMessage(w, LVM_SCROLL, dx, dy); 4951 +} 4952 + 4953 +BOOL ListView_RedrawItems(HWND w, int f, int l) { 4954 + return cast(BOOL) SendMessage(w, LVM_REDRAWITEMS, f, l); 4955 +} 4956 + 4957 +BOOL ListView_Arrange(HWND w, UINT c) { 4958 + return cast(BOOL) SendMessage(w, LVM_ARRANGE, c, 0); 4959 +} 4960 + 4961 +HWND ListView_EditLabel(HWND w, int i) { 4962 + return cast(HWND) SendMessage(w, LVM_EDITLABEL, i, 0); 4963 +} 4964 + 4965 +HWND ListView_GetEditControl(HWND w) { 4966 + return cast(HWND) SendMessage(w, LVM_GETEDITCONTROL, 0, 0); 4967 +} 4968 + 4969 +BOOL ListView_GetColumn(HWND w, int i, LPLVCOLUMN p) { 4970 + return cast(BOOL) SendMessage(w, LVM_GETCOLUMN, i, cast(LPARAM) p); 4971 +} 4972 + 4973 +BOOL ListView_SetColumn(HWND w, int i, CPtr!(LV_COLUMN) p) { 4974 + return cast(BOOL) SendMessage(w, LVM_SETCOLUMN, i, cast(LPARAM) p); 4975 +} 4976 + 4977 +int ListView_InsertColumn(HWND w, int i, CPtr!(LV_COLUMN) p) { 4978 + return SendMessage(w, LVM_INSERTCOLUMN, i, cast(LPARAM) p); 4979 +} 4980 + 4981 +BOOL ListView_DeleteColumn(HWND w, int i) { 4982 + return cast(BOOL) SendMessage(w, LVM_DELETECOLUMN, i, 0); 4983 +} 4984 + 4985 +int ListView_GetColumnWidth(HWND w, int i) { 4986 + return SendMessage(w, LVM_GETCOLUMNWIDTH, i, 0); 4987 +} 4988 + 4989 +BOOL ListView_SetColumnWidth(HWND w, int i, int x) { 4990 + return cast(BOOL) SendMessage(w, LVM_SETCOLUMNWIDTH, i, MAKELPARAM(cast(ushort)x, 0)); 4991 +} 4992 + 4993 +HIMAGELIST ListView_CreateDragImage(HWND w, int i, LPPOINT p) { 4994 + return cast(HIMAGELIST) SendMessage(w, LVM_CREATEDRAGIMAGE, i, 4995 + cast(LPARAM) p); 4996 +} 4997 + 4998 +BOOL ListView_GetViewRect(HWND w, RECT* p) { 4999 + return cast(BOOL) SendMessage(w, LVM_GETVIEWRECT, 0, cast(LPARAM) p); 5000 +} 5001 + 5002 +COLORREF ListView_GetTextColor(HWND w) { 5003 + return cast(COLORREF) SendMessage(w, LVM_GETTEXTCOLOR, 0, 0); 5004 +} 5005 + 5006 +BOOL ListView_SetTextColor(HWND w, COLORREF c) { 5007 + return cast(BOOL) SendMessage(w, LVM_SETTEXTCOLOR, 0, cast(LPARAM) c); 5008 +} 5009 + 5010 +COLORREF ListView_GetTextBkColor(HWND w) { 5011 + return cast(COLORREF) SendMessage(w, LVM_GETTEXTBKCOLOR, 0, 0); 5012 +} 5013 + 5014 +BOOL ListView_SetTextBkColor(HWND w, COLORREF c) { 5015 + return cast(BOOL) SendMessage(w, LVM_SETTEXTBKCOLOR, 0, cast(LPARAM) c); 5016 +} 5017 + 5018 +int ListView_GetTopIndex(HWND w) { 5019 + return SendMessage(w, LVM_GETTOPINDEX, 0, 0); 5020 +} 5021 + 5022 +int ListView_GetCountPerPage(HWND w) { 5023 + return SendMessage(w, LVM_GETCOUNTPERPAGE, 0, 0); 5024 +} 5025 + 5026 +BOOL ListView_GetOrigin(HWND w, LPPOINT p) { 5027 + return cast(BOOL) SendMessage(w, LVM_GETORIGIN, 0, cast(LPARAM) p); 5028 +} 5029 + 5030 +BOOL ListView_Update(HWND w, WPARAM i) { 5031 + return cast(BOOL) SendMessage(w, LVM_UPDATE, i, 0); 5032 +} 5033 + 5034 +void ListView_SetItemState(HWND w, int i, UINT d, UINT m) { 5035 + LV_ITEM _lvi; 5036 + _lvi.stateMask = m; 5037 + _lvi.state = d; 5038 + SendMessage(w, LVM_SETITEMSTATE, i, cast(LPARAM) &_lvi); 5039 +} 5040 + 5041 +UINT ListView_GetItemState(HWND w, int i, UINT m) { 5042 + return cast(UINT) SendMessage(w, LVM_GETITEMSTATE, i, m); 5043 +} 5044 + 5045 +void ListView_GetItemText(HWND w, int i, int iS, LPTSTR s, int n) { 5046 + LV_ITEM _lvi; 5047 + _lvi.iSubItem = iS; 5048 + _lvi.cchTextMax = n; 5049 + _lvi.pszText = s; 5050 + SendMessage(w, LVM_GETITEMTEXT, i, cast(LPARAM) &_lvi); 5051 +} 5052 + 5053 +void ListView_SetItemText(HWND w, int i, int iS, LPTSTR s) { 5054 + LV_ITEM _lvi; 5055 + _lvi.iSubItem = iS; 5056 + _lvi.pszText = s; 5057 + SendMessage(w, LVM_SETITEMTEXT, i, cast(LPARAM) &_lvi); 5058 +} 5059 + 5060 +void ListView_SetItemCount(HWND w, int n) { 5061 + SendMessage(w, LVM_SETITEMCOUNT, n, 0); 5062 +} 5063 + 5064 +BOOL ListView_SortItems(HWND w, PFNLVCOMPARE f, LPARAM l) { 5065 + return cast(BOOL) SendMessage(w, LVM_SORTITEMS, l, cast(LPARAM) f); 5066 +} 5067 + 5068 +void ListView_SetItemPosition32(HWND w, int i, int x, int y) { 5069 + POINT p; 5070 + p.x = x; 5071 + p.y = y; 5072 + SendMessage(w, LVM_SETITEMPOSITION32, i, cast(LPARAM) &p); 5073 +} 5074 + 5075 +UINT ListView_GetSelectedCount(HWND w) { 5076 + return cast(UINT) SendMessage(w, LVM_GETSELECTEDCOUNT, 0, 0); 5077 +} 5078 + 5079 +UINT ListView_GetCheckState(HWND w, UINT i) { 5080 + return ((cast(UINT) SendMessage(w, LVM_GETITEMSTATE, i, LVIS_STATEIMAGEMASK)) >> 12) - 1; 5081 +} 5082 + 5083 +void ListView_SetCheckState(HWND w, UINT i, BOOL f) { 5084 + ListView_SetItemState(w, i, INDEXTOSTATEIMAGEMASK(f ? 2 : 1), 5085 + LVIS_STATEIMAGEMASK); 5086 +} 5087 + 5088 +BOOL ListView_GetISearchString(HWND w, LPSTR lpsz) { 5089 + return cast(BOOL) SendMessage(w, LVM_GETISEARCHSTRING, 0, 5090 + cast(LPARAM) lpsz); 5091 +} 5092 + 5093 +void ListView_CancelEditLabel(HWND w) { 5094 + SendMessage(w, LVM_CANCELEDITLABEL, 0, 0); 5095 +} 5096 + 5097 +int ListView_EnableGroupView(HWND w, BOOL i) { 5098 + return cast(int) SendMessage(w, LVM_ENABLEGROUPVIEW, i, 0); 5099 +} 5100 + 5101 +static if (_WIN32_WINDOWS >= 0x410 && (_WIN32_WINNT >= 0x500 || _WIN32_IE >= 0x500)) { 5102 + BOOL ListView_SortItemsEx(HWND w, PFNLVCOMPARE c, LPARAM p) { 5103 + return SendMessage(w, LVM_SORTITEMSEX, cast(WPARAM) p, cast(LPARAM)c); 5104 + } 5105 +} 5106 + 5107 +static if (_WIN32_WINNT >= 0x501) { 5108 + int ListView_GetGroupInfo(HWND w, int i, PLVGROUP p) { 5109 + return SendMessage(w, LVM_GETGROUPINFO, i, cast(LPARAM) p); 5110 + } 5111 + 5112 + void ListView_GetGroupMetrics(HWND w, PLVGROUPMETRICS p) { 5113 + SendMessage(w, LVM_GETGROUPMETRICS, 0, cast(LPARAM) p); 5114 + } 5115 + 5116 + BOOL ListView_GetInsertMark(HWND w, PLVINSERTMARK p) { 5117 + return SendMessage(w, LVM_GETINSERTMARK, 0, cast(LPARAM) p); 5118 + } 5119 + 5120 + COLORREF ListView_GetInsertMarkColor(HWND w) { 5121 + return SendMessage(w, LVM_GETINSERTMARKCOLOR, 0, 0); 5122 + } 5123 + 5124 + int ListView_GetInsertMarkRect(HWND w, LPRECT p) { 5125 + return SendMessage(w, LVM_GETINSERTMARKRECT, 0, cast(LPARAM) p); 5126 + } 5127 + 5128 + COLORREF ListView_GetOutlineColor(HWND w) { 5129 + return SendMessage(w, LVM_GETOUTLINECOLOR, 0, 0); 5130 + } 5131 + 5132 + UINT ListView_GetSelectedColumn(HWND w) { 5133 + return SendMessage(w, LVM_GETSELECTEDCOLUMN, 0, 0); 5134 + } 5135 + 5136 + void ListView_GetTileInfo(HWND w, PLVTILEINFO p) { 5137 + SendMessage(w, LVM_GETTILEINFO, 0, cast(LPARAM) p); 5138 + } 5139 + 5140 + void ListView_GetTileViewInfo(HWND w, PLVTILEVIEWINFO p) { 5141 + SendMessage(w, LVM_GETTILEVIEWINFO, 0, cast(LPARAM) p); 5142 + } 5143 + 5144 + DWORD ListView_GetView(HWND w) { 5145 + return SendMessage(w, LVM_GETVIEW, 0, 0); 5146 + } 5147 + 5148 + BOOL ListView_HasGroup(HWND w, int i) { 5149 + return SendMessage(w, LVM_HASGROUP, i, 0); 5150 + } 5151 + 5152 + int ListView_InsertGroup(HWND w, int i, PLVGROUP p) { 5153 + return SendMessage(w, LVM_INSERTGROUP, i, cast(LPARAM) p); 5154 + } 5155 + 5156 + void ListView_InsertGroupSorted(HWND w, PLVINSERTGROUPSORTED p) { 5157 + SendMessage(w, LVM_INSERTGROUPSORTED, cast(WPARAM) p, 0); 5158 + } 5159 + 5160 + BOOL ListView_InsertMarkHitTest(HWND w, LPPOINT p, PLVINSERTMARK t) { 5161 + return SendMessage(w, LVM_INSERTMARKHITTEST, cast(WPARAM) p, cast(LPARAM) t); 5162 + } 5163 + 5164 + BOOL ListView_IsGroupViewEnabled(HWND w) { 5165 + return SendMessage(w, LVM_ISGROUPVIEWENABLED, 0, 0); 5166 + } 5167 + 5168 + UINT ListView_MapIDToIndex(HWND w, UINT i) { 5169 + return SendMessage(w, LVM_MAPIDTOINDEX, i, 0); 5170 + } 5171 + 5172 + /* ??? MSDN documents this as "Not implemented", except in relation to 5173 + * Windows CE/Mobile. 5174 + */ 5175 + void ListView_MoveGroup(HWND w, int i, int t) { 5176 + SendMessage(w, LVM_MOVEGROUP, i, t); 5177 + } 5178 + 5179 + void ListView_RemoveAllGroups(HWND w) { 5180 + SendMessage(w, LVM_REMOVEALLGROUPS, 0, 0); 5181 + } 5182 + 5183 + int ListView_RemoveGroup(HWND w, int i) { 5184 + return SendMessage(w, LVM_REMOVEGROUP, i, 0); 5185 + } 5186 + 5187 + int ListView_SetGroupInfo(HWND w, int i, PLVGROUP p) { 5188 + return SendMessage(w, LVM_SETGROUPINFO, i, cast(LPARAM) p); 5189 + } 5190 + 5191 + void ListView_SetGroupMetrics(HWND w, PLVGROUPMETRICS p) { 5192 + SendMessage(w, LVM_SETGROUPMETRICS, 0, cast(LPARAM) p); 5193 + } 5194 + 5195 + BOOL ListView_SetInfoTip(HWND w, PLVSETINFOTIP p) { 5196 + return SendMessage(w, LVM_SETINFOTIP, 0, cast(LPARAM) p); 5197 + } 5198 + 5199 + BOOL ListView_SetInsertMark(HWND w, PLVINSERTMARK p) { 5200 + return SendMessage(w, LVM_SETINSERTMARK, 0, cast(LPARAM) p); 5201 + } 5202 + 5203 + COLORREF ListView_SetInsertMarkColor(HWND w, COLORREF c) { 5204 + return SendMessage(w, LVM_SETINSERTMARKCOLOR, 0, c); 5205 + } 5206 + 5207 + COLORREF ListView_SetOutlineColor(HWND w, COLORREF c) { 5208 + return SendMessage(w, LVM_SETOUTLINECOLOR, 0, c); 5209 + } 5210 + 5211 + void ListView_SetSelectedColumn(HWND w, int i) { 5212 + SendMessage(w, LVM_SETSELECTEDCOLUMN, i, 0); 5213 + } 5214 + 5215 + BOOL ListView_SetTileInfo(HWND w, PLVTILEINFO p) { 5216 + return SendMessage(w, LVM_SETTILEINFO, 0, cast(LPARAM) p); 5217 + } 5218 + 5219 + BOOL ListView_SetTileViewInfo(HWND w, PLVTILEVIEWINFO p) { 5220 + return SendMessage(w, LVM_SETTILEVIEWINFO, 0, cast(LPARAM) p); 5221 + } 5222 + 5223 + int ListView_SetView(HWND w, DWORD i) { 5224 + return SendMessage(w, LVM_SETVIEW, i, 0); 5225 + } 5226 + 5227 + int ListView_SortGroups(HWND w, PFNLVGROUPCOMPARE c, LPVOID p) { 5228 + return SendMessage(w, LVM_SORTGROUPS, cast(WPARAM) c, cast(LPARAM) p); 5229 + } 5230 +} 5231 + 5232 +static if (_WIN32_WINNT >= 0x501) { 5233 + enum { 5234 + CBM_FIRST = 0x1700, 5235 + CB_SETMINVISIBLE = CBM_FIRST + 1, 5236 + CB_GETMINVISIBLE = CBM_FIRST + 2 5237 + } 5238 + 5239 + BOOL ComboBox_SetMinVisible(HWND w, INT i) { 5240 + return cast(BOOL) SendMessage(w, CB_SETMINVISIBLE, cast(WPARAM) i, 0); 5241 + } 5242 + 5243 + int ComboBox_GetMinVisible(HWND w) { 5244 + return SendMessage(w, CB_GETMINVISIBLE, 0, 0); 5245 + } 5246 +} 5247 + 5248 +extern (Windows) BOOL MakeDragList(HWND); 5249 +extern (Windows) void MenuHelp(UINT, WPARAM, LPARAM, HMENU, HINSTANCE, HWND, 5250 + PUINT); 5251 + 5252 +COLORREF MonthCal_GetColor(HWND hwnd, INT icolor) { 5253 + return cast(COLORREF) SendMessage(hwnd, MCM_GETCOLOR, 5254 + cast(WPARAM) icolor, 0); 5255 +} 5256 + 5257 +BOOL MonthCal_GetCurSel(HWND hwnd, LPSYSTEMTIME lpsystime) { 5258 + return cast(BOOL) SendMessage(hwnd, MCM_GETCURSEL, 0, 5259 + cast(LPARAM) lpsystime); 5260 +} 5261 + 5262 +DWORD MonthCal_GetFirstDayOfWeek(HWND hwnd) { 5263 + return cast(DWORD) SendMessage(hwnd, MCM_GETFIRSTDAYOFWEEK, 0, 0); 5264 +} 5265 + 5266 +DWORD MonthCal_GetMaxSelCount(HWND hwnd) { 5267 + return cast(DWORD) SendMessage(hwnd, MCM_GETMAXSELCOUNT, 0, 0); 5268 +} 5269 + 5270 +DWORD MonthCal_GetMaxTodayWidth(HWND hwnd) { 5271 + return cast(DWORD) SendMessage(hwnd, MCM_GETMAXTODAYWIDTH, 0, 0); 5272 +} 5273 + 5274 +BOOL MonthCal_GetMinReqRect(HWND hwnd, LPRECT lpRectInfo) { 5275 + return cast(BOOL) SendMessage(hwnd, MCM_GETMINREQRECT, 0, 5276 + cast(LPARAM) lpRectInfo); 5277 +} 5278 + 5279 +INT MonthCal_GetMonthDelta(HWND hwnd) { 5280 + return SendMessage(hwnd, MCM_GETMONTHDELTA, 0, 0); 5281 +} 5282 + 5283 +INT MonthCal_GetMonthRange(HWND hwnd, DWORD flag, LPSYSTEMTIME systimearray) { 5284 + return SendMessage(hwnd, MCM_GETMONTHRANGE, cast(WPARAM) flag, 5285 + cast(LPARAM) systimearray); 5286 +} 5287 + 5288 +DWORD MonthCal_GetRange(HWND hwnd, LPSYSTEMTIME systimearray) { 5289 + return cast(DWORD) SendMessage(hwnd, MCM_GETRANGE, 0, 5290 + cast(LPARAM) systimearray); 5291 +} 5292 + 5293 +BOOL MonthCal_GetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) { 5294 + return cast(BOOL) SendMessage(hwnd, MCM_GETSELRANGE, 0, 5295 + cast(LPARAM) systimearray); 5296 +} 5297 + 5298 +BOOL MonthCal_GetToday(HWND hwnd, LPSYSTEMTIME systime) { 5299 + return cast(BOOL) SendMessage(hwnd, MCM_GETTODAY, 0, 5300 + cast(LPARAM) systime); 5301 +} 5302 + 5303 +BOOL MonthCal_GetUnicodeFormat(HWND hwnd) { 5304 + return cast(BOOL) SendMessage(hwnd, MCM_GETUNICODEFORMAT, 0, 0); 5305 +} 5306 + 5307 +DWORD MonthCal_HitTest(HWND hwnd, PMCHITTESTINFO pmchittest) { 5308 + return cast(DWORD) SendMessage(hwnd, MCM_HITTEST, 0, 5309 + cast(LPARAM) pmchittest); 5310 +} 5311 + 5312 +COLORREF MonthCal_SetColor(HWND hwnd, INT icolor, COLORREF clr) { 5313 + return cast(COLORREF) SendMessage(hwnd, MCM_SETCOLOR, cast(WPARAM) icolor, 5314 + cast(LPARAM) clr); 5315 +} 5316 + 5317 +BOOL MonthCal_SetCurSel(HWND hwnd, LPSYSTEMTIME lpsystime) { 5318 + return cast(BOOL) SendMessage(hwnd, MCM_SETCURSEL, 0, 5319 + cast(LPARAM) lpsystime); 5320 +} 5321 + 5322 +BOOL MonthCal_SetDayState(HWND hwnd, INT imonths, LPMONTHDAYSTATE lpdatestatearray) { 5323 + return cast(BOOL) SendMessage(hwnd, MCM_SETDAYSTATE, cast(WPARAM) imonths, 5324 + cast(LPARAM) lpdatestatearray); 5325 +} 5326 + 5327 +DWORD MonthCal_SetFirstDayOfWeek(HWND hwnd, INT iday) { 5328 + return cast(DWORD) SendMessage(hwnd, MCM_SETFIRSTDAYOFWEEK, 0, 5329 + cast(LPARAM) iday); 5330 +} 5331 + 5332 +BOOL MonthCal_SetMaxSelCount(HWND hwnd, UINT imax) { 5333 + return cast(BOOL) SendMessage(hwnd, MCM_SETMAXSELCOUNT, 5334 + cast(WPARAM) imax, 0); 5335 +} 5336 + 5337 +INT MonthCal_SetMonthDelta(HWND hwnd, INT idelta) { 5338 + return SendMessage(hwnd, MCM_SETMONTHDELTA, cast(WPARAM) idelta, 0); 5339 +} 5340 + 5341 +BOOL MonthCal_SetSelRange(HWND hwnd, LPSYSTEMTIME systimearray) { 5342 + return cast(BOOL) SendMessage(hwnd, MCM_SETSELRANGE, 0, 5343 + cast(LPARAM) systimearray); 5344 +} 5345 + 5346 +void MonthCal_SetToday(HWND hwnd, LPSYSTEMTIME systime) { 5347 + SendMessage(hwnd, MCM_SETTODAY, 0, cast(LPARAM) systime); 5348 +} 5349 + 5350 +BOOL MonthCal_SetUnicodeFormat(HWND hwnd, BOOL unicode) { 5351 + return cast(BOOL) SendMessage(hwnd, MCM_SETUNICODEFORMAT, 5352 + cast(WPARAM) unicode, 0); 5353 +} 5354 + 5355 +BOOL MonthCal_SetRange(HWND w, DWORD f, LPSYSTEMTIME st) { 5356 + return cast(BOOL) SendMessage(w, MCM_SETRANGE, cast(WPARAM) f, 5357 + cast(LPARAM) st); 5358 +} 5359 + 5360 +extern (Windows) BOOL ShowHideMenuCtl(HWND, UINT, PINT); 5361 + 5362 +BOOL TabCtrl_GetItem(HWND w, int i, LPTCITEM p) { 5363 + return cast(BOOL) SendMessage(w, TCM_GETITEM, i, cast(LPARAM) p); 5364 +} 5365 + 5366 +BOOL TabCtrl_SetItem(HWND w, int i, LPTCITEM p) { 5367 + return cast(BOOL) SendMessage(w, TCM_SETITEM, i, cast(LPARAM) p); 5368 +} 5369 + 5370 +int TabCtrl_InsertItem(HWND w, int i, CPtr!(TC_ITEM) p) { 5371 + return SendMessage(w, TCM_INSERTITEM, i, cast(LPARAM) p); 5372 +} 5373 + 5374 +BOOL TabCtrl_DeleteItem(HWND w, int i) { 5375 + return cast(BOOL) SendMessage(w, TCM_DELETEITEM, i, 0); 5376 +} 5377 + 5378 +BOOL TabCtrl_DeleteAllItems(HWND w) { 5379 + return cast(BOOL) SendMessage(w, TCM_DELETEALLITEMS, 0, 0); 5380 +} 5381 + 5382 +BOOL TabCtrl_GetItemRect(HWND w, int i, LPRECT p) { 5383 + return cast(BOOL) SendMessage(w, TCM_GETITEMRECT, i, cast(LPARAM) p); 5384 +} 5385 + 5386 +int TabCtrl_GetCurSel(HWND w) { 5387 + return SendMessage(w, TCM_GETCURSEL, 0, 0); 5388 +} 5389 + 5390 +int TabCtrl_SetCurSel(HWND w, int i) { 5391 + return SendMessage(w, TCM_SETCURSEL, i, 0); 5392 +} 5393 + 5394 +int TabCtrl_HitTest(HWND w, LPTCHITTESTINFO p) { 5395 + return SendMessage(w, TCM_HITTEST, 0, cast(LPARAM) p); 5396 +} 5397 + 5398 +BOOL TabCtrl_SetItemExtra(HWND w, int c) { 5399 + return cast(BOOL) SendMessage(w, TCM_SETITEMEXTRA, c, 0); 5400 +} 5401 + 5402 +int TabCtrl_AdjustRect(HWND w, BOOL b, LPRECT p) { 5403 + return SendMessage(w, TCM_ADJUSTRECT, b, cast(LPARAM) p); 5404 +} 5405 + 5406 +DWORD TabCtrl_SetItemSize(HWND w, int x, int y) { 5407 + return cast(DWORD) SendMessage(w, TCM_SETITEMSIZE, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y)); 5408 +} 5409 + 5410 +void TabCtrl_RemoveImage(HWND w, int i) { 5411 + SendMessage(w, TCM_REMOVEIMAGE, i, 0); 5412 +} 5413 + 5414 +void TabCtrl_SetPadding(HWND w, int x, int y) { 5415 + SendMessage(w, TCM_SETPADDING, 0, MAKELPARAM(cast(ushort)x, cast(ushort)y)); 5416 +} 5417 + 5418 +int TabCtrl_GetRowCount(HWND w) { 5419 + return SendMessage(w, TCM_GETROWCOUNT, 0, 0); 5420 +} 5421 + 5422 +HWND TabCtrl_GetToolTips(HWND w) { 5423 + return cast(HWND) SendMessage(w, TCM_GETTOOLTIPS, 0, 0); 5424 +} 5425 + 5426 +void TabCtrl_SetToolTips(HWND w, HWND t) { 5427 + SendMessage(w, TCM_SETTOOLTIPS, cast(WPARAM) t, 0); 5428 +} 5429 + 5430 +int TabCtrl_GetCurFocus(HWND w) { 5431 + return SendMessage(w, TCM_GETCURFOCUS, 0, 0); 5432 +} 5433 + 5434 +void TabCtrl_SetCurFocus(HWND w, int i) { 5435 + SendMessage(w, TCM_SETCURFOCUS, i, 0); 5436 +} 5437 + 5438 +HIMAGELIST TabCtrl_GetImageList(HWND w) { 5439 + return cast(HIMAGELIST) SendMessage(w, TCM_GETIMAGELIST, 0, 0); 5440 +} 5441 + 5442 +HIMAGELIST TabCtrl_SetImageList(HWND w, HIMAGELIST h) { 5443 + return cast(HIMAGELIST) SendMessage(w, TCM_SETIMAGELIST, 0, 5444 + cast(LPARAM) h); 5445 +} 5446 + 5447 +int TabCtrl_GetItemCount(HWND w) { 5448 + return SendMessage(w, TCM_GETITEMCOUNT, 0, 0); 5449 +} 5450 + 5451 +extern (Windows) BOOL _TrackMouseEvent(LPTRACKMOUSEEVENT); 5452 + 5453 +HTREEITEM TreeView_InsertItem(HWND w, LPTVINSERTSTRUCT i) { 5454 + return cast(HTREEITEM) SendMessage(w, TVM_INSERTITEM, 0, cast(LPARAM) i); 5455 +} 5456 + 5457 +BOOL TreeView_DeleteItem(HWND w, HTREEITEM i) { 5458 + return cast(BOOL) SendMessage(w, TVM_DELETEITEM, 0, cast(LPARAM) i); 5459 +} 5460 + 5461 +BOOL TreeView_DeleteAllItems(HWND w) { 5462 + return cast(BOOL) SendMessage(w, TVM_DELETEITEM, 0, cast(LPARAM) TVI_ROOT); 5463 +} 5464 + 5465 +BOOL TreeView_Expand(HWND w, HTREEITEM i, UINT c) { 5466 + return cast(BOOL) SendMessage(w, TVM_EXPAND, c, cast(LPARAM) i); 5467 +} 5468 + 5469 +BOOL TreeView_GetItemRect(HWND w, HTREEITEM i, LPRECT p, BOOL c) { 5470 + *cast(HTREEITEM*) p = i; 5471 + return cast(BOOL) SendMessage(w, TVM_GETITEMRECT, c, cast(LPARAM) p); 5472 +} 5473 + 5474 +UINT TreeView_GetCount(HWND w) { 5475 + return cast(UINT) SendMessage(w, TVM_GETCOUNT, 0, 0); 5476 +} 5477 + 5478 +UINT TreeView_GetIndent(HWND w) { 5479 + return cast(UINT) SendMessage(w, TVM_GETINDENT, 0, 0); 5480 +} 5481 + 5482 +BOOL TreeView_SetIndent(HWND w, INT i) { 5483 + return cast(BOOL) SendMessage(w, TVM_SETINDENT, i, 0); 5484 +} 5485 + 5486 +HIMAGELIST TreeView_GetImageList(HWND w, INT i) { 5487 + return cast(HIMAGELIST) SendMessage(w, TVM_GETIMAGELIST, i, 0); 5488 +} 5489 + 5490 +HIMAGELIST TreeView_SetImageList(HWND w, HIMAGELIST h, INT i) { 5491 + return cast(HIMAGELIST) SendMessage(w, TVM_SETIMAGELIST, i, 5492 + cast(LPARAM) h); 5493 +} 5494 + 5495 +HTREEITEM TreeView_GetNextItem(HWND w, HTREEITEM i, UINT c) { 5496 + return cast(HTREEITEM) SendMessage(w, TVM_GETNEXTITEM, c, cast(LPARAM) i); 5497 +} 5498 + 5499 +HTREEITEM TreeView_GetChild(HWND w, HTREEITEM i) { 5500 + return TreeView_GetNextItem(w, i, TVGN_CHILD); 5501 +} 5502 + 5503 +HTREEITEM TreeView_GetNextSibling(HWND w, HTREEITEM i) { 5504 + return TreeView_GetNextItem(w, i, TVGN_NEXT); 5505 +} 5506 + 5507 +HTREEITEM TreeView_GetPrevSibling(HWND w, HTREEITEM i) { 5508 + return TreeView_GetNextItem(w, i, TVGN_PREVIOUS); 5509 +} 5510 + 5511 +HTREEITEM TreeView_GetParent(HWND w, HTREEITEM i) { 5512 + return TreeView_GetNextItem(w, i, TVGN_PARENT); 5513 +} 5514 + 5515 +HTREEITEM TreeView_GetFirstVisible(HWND w) { 5516 + return TreeView_GetNextItem(w, null, TVGN_FIRSTVISIBLE); 5517 +} 5518 + 5519 +HTREEITEM TreeView_GetNextVisible(HWND w, HTREEITEM i) { 5520 + return TreeView_GetNextItem(w, i, TVGN_NEXTVISIBLE); 5521 +} 5522 + 5523 +HTREEITEM TreeView_GetPrevVisible(HWND w, HTREEITEM i) { 5524 + return TreeView_GetNextItem(w, i, TVGN_PREVIOUSVISIBLE); 5525 +} 5526 + 5527 +HTREEITEM TreeView_GetSelection(HWND w) { 5528 + return TreeView_GetNextItem(w, null, TVGN_CARET); 5529 +} 5530 + 5531 +HTREEITEM TreeView_GetDropHilight(HTREEITEM w) { 5532 + return TreeView_GetNextItem(w, null, TVGN_DROPHILITE); 5533 +} 5534 + 5535 +HTREEITEM TreeView_GetRoot(HWND w) { 5536 + return TreeView_GetNextItem(w, null, TVGN_ROOT); 5537 +} 5538 + 5539 +BOOL TreeView_Select(HWND w, HTREEITEM i, UINT c) { 5540 + return cast(BOOL) SendMessage(w, TVM_SELECTITEM, c, cast(LPARAM) i); 5541 +} 5542 + 5543 +BOOL TreeView_SelectItem(HWND w, HTREEITEM i) { 5544 + return TreeView_Select(w, i, TVGN_CARET); 5545 +} 5546 + 5547 +BOOL TreeView_SelectDropTarget(HWND w, HTREEITEM i) { 5548 + return TreeView_Select(w, i, TVGN_DROPHILITE); 5549 +} 5550 + 5551 +BOOL TreeView_SelectSetFirstVisible(HWND w, HTREEITEM i) { 5552 + return TreeView_Select(w, i, TVGN_FIRSTVISIBLE); 5553 +} 5554 + 5555 +BOOL TreeView_GetItem(HWND w, LPTVITEM i) { 5556 + return cast(BOOL) SendMessage(w, TVM_GETITEM, 0, cast(LPARAM) i); 5557 +} 5558 + 5559 +BOOL TreeView_SetItem(HWND w, CPtr!(TV_ITEM) i) { 5560 + return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) i); 5561 +} 5562 + 5563 +HWND TreeView_EditLabel(HWND w, HTREEITEM i) { 5564 + return cast(HWND) SendMessage(w, TVM_EDITLABEL, 0, cast(LPARAM) i); 5565 +} 5566 + 5567 +HWND TreeView_GetEditControl(HWND w) { 5568 + return cast(HWND) SendMessage(w, TVM_GETEDITCONTROL, 0, 0); 5569 +} 5570 + 5571 +UINT TreeView_GetVisibleCount(HWND w) { 5572 + return cast(UINT) SendMessage(w, TVM_GETVISIBLECOUNT, 0, 0); 5573 +} 5574 + 5575 +HTREEITEM TreeView_HitTest(HWND w, LPTVHITTESTINFO p) { 5576 + return cast(HTREEITEM) SendMessage(w, TVM_HITTEST, 0, cast(LPARAM) p); 5577 +} 5578 + 5579 +HIMAGELIST TreeView_CreateDragImage(HWND w, HTREEITEM i) { 5580 + return cast(HIMAGELIST) SendMessage(w, TVM_CREATEDRAGIMAGE, 0, 5581 + cast(LPARAM) i); 5582 +} 5583 + 5584 +BOOL TreeView_SortChildren(HWND w, HTREEITEM i, BOOL r) { 5585 + return cast(BOOL) SendMessage(w, TVM_SORTCHILDREN, r, cast(LPARAM) i); 5586 +} 5587 + 5588 +BOOL TreeView_EnsureVisible(HWND w, HTREEITEM i) { 5589 + return cast(BOOL) SendMessage(w, TVM_ENSUREVISIBLE, 0, cast(LPARAM) i); 5590 +} 5591 + 5592 +BOOL TreeView_SortChildrenCB(HWND w, LPTVSORTCB s, BOOL r) { 5593 + return cast(BOOL) SendMessage(w, TVM_SORTCHILDRENCB, r, cast(LPARAM) s); 5594 +} 5595 + 5596 +BOOL TreeView_EndEditLabelNow(HWND w, BOOL f) { 5597 + return cast(BOOL) SendMessage(w, TVM_ENDEDITLABELNOW, f, 0); 5598 +} 5599 + 5600 +BOOL TreeView_GetISearchString(HWND w, LPTSTR s) { 5601 + return cast(BOOL) SendMessage(w, TVM_GETISEARCHSTRING, 0, cast(LPARAM) s); 5603 5602 } 5604 -alias tagTVDISPINFOA NMTVDISPINFOA; 5605 -alias tagTVDISPINFOA* LPNMTVDISPINFOA; 5606 - 5607 -struct tagTVDISPINFOW { 5608 - NMHDR hdr; 5609 - TVITEMW item; 5603 + 5604 +static if (_WIN32_IE >= 0x300) { 5605 + DWORD ListView_ApproximateViewRect(HWND w, int iw, int ih, int i) { 5606 + return cast(DWORD) SendMessage(w, LVM_APPROXIMATEVIEWRECT, i, 5607 + MAKELPARAM(cast(ushort)iw, cast(ushort)ih)); 5608 + } 5609 + 5610 + DWORD ListView_SetExtendedListViewStyle(HWND w, DWORD s) { 5611 + return cast(DWORD) SendMessage(w, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, s); 5612 + } 5613 + 5614 + DWORD ListView_GetExtendedListViewStyle(HWND w) { 5615 + return cast(DWORD) SendMessage(w, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0); 5616 + } 5617 + 5618 + BOOL ListView_SetColumnOrderArray(HWND w, int i, int* a) { 5619 + return cast(BOOL) SendMessage(w, LVM_SETCOLUMNORDERARRAY, 5620 + cast(WPARAM) i, cast(LPARAM) a); 5621 + } 5622 + 5623 + BOOL ListView_GetColumnOrderArray(HWND w, int i, int* a) { 5624 + return cast(BOOL) SendMessage(w, LVM_GETCOLUMNORDERARRAY, 5625 + cast(WPARAM) i, cast(LPARAM) a); 5626 + } 5627 + 5628 + HWND ListView_GetHeader(HWND w) { 5629 + return cast(HWND) SendMessage(w, LVM_GETHEADER, 0, 0); 5630 + } 5631 + 5632 + HCURSOR ListView_GetHotCursor(HWND w) { 5633 + return cast(HCURSOR) SendMessage(w, LVM_GETHOTCURSOR, 0, 0); 5634 + } 5635 + 5636 + INT ListView_GetHotItem(HWND w) { 5637 + return SendMessage(w, LVM_GETHOTITEM, 0, 0); 5638 + } 5639 + 5640 + BOOL ListView_GetSubItemRect(HWND w, int i, int isi, int c, LPRECT p) { 5641 + return cast(BOOL) SendMessage(w, LVM_GETSUBITEMRECT, i, 5642 + p ? (p.left = c, p.top = isi, cast(LPARAM) p) : 0); 5643 + } 5644 + 5645 + HCURSOR ListView_SetHotCursor(HWND w, HCURSOR c) { 5646 + return cast(HCURSOR) SendMessage(w, LVM_SETHOTCURSOR, 0, 5647 + cast(LPARAM) c); 5648 + } 5649 + 5650 + INT ListView_SetHotItem(HWND w, INT i) { 5651 + return SendMessage(w, LVM_SETHOTITEM, cast(WPARAM) i, 0); 5652 + } 5653 + 5654 + DWORD ListView_SetIconSpacing(HWND w, int x, int y) { 5655 + return cast(DWORD) SendMessage(w, LVM_SETICONSPACING, 0, 5656 + MAKELONG(cast(ushort)x, cast(ushort)y)); 5657 + } 5658 + 5659 + INT ListView_SubItemHitTest(HWND w, LPLVHITTESTINFO p) { 5660 + return SendMessage(w, LVM_SUBITEMHITTEST, 0, cast(LPARAM) p); 5661 + } 5662 + 5663 + BOOL ListView_SetItemCountEx(HWND w, int i, DWORD f) { 5664 + return cast(BOOL) SendMessage(w, LVM_SETITEMCOUNT, i, cast(LPARAM) f); 5665 + } 5666 + 5667 + extern (Windows) { 5668 + WINBOOL ImageList_SetImageCount(HIMAGELIST, UINT); 5669 + WINBOOL ImageList_Copy(HIMAGELIST, int, HIMAGELIST, int, UINT); 5670 + WINBOOL ImageList_DrawIndirect(IMAGELISTDRAWPARAMS*); 5671 + } 5672 + 5673 + int TabCtrl_SetMinTabWidth(HWND hwnd, int x) { 5674 + return SendMessage(hwnd, TCM_SETMINTABWIDTH, 0, x); 5675 + } 5676 + 5677 + VOID TabCtrl_DeselectAll(HWND hwnd, UINT fExcludeFocus) { 5678 + SendMessage(hwnd, TCM_DESELECTALL, fExcludeFocus, 0); 5679 + } 5680 + 5681 + HWND TreeView_GetToolTips(HWND w) { 5682 + return cast(HWND) SendMessage(w, TVM_GETTOOLTIPS, 0, 0); 5683 + } 5684 + 5685 + HWND TreeView_SetToolTips(HWND w, HWND wt) { 5686 + return cast(HWND) SendMessage(w, TVM_SETTOOLTIPS, cast(WPARAM) wt, 0); 5687 + } 5610 5688 } 5611 -alias tagTVDISPINFOW NMTVDISPINFOW; 5612 -alias tagTVDISPINFOW* LPNMTVDISPINFOW; 5689 + 5690 +static if (_WIN32_IE >= 0x400) { 5691 + BOOL ListView_GetBkImage(HWND h, LPLVBKIMAGE plvbki) { 5692 + return cast(BOOL) SendMessage(h, LVM_GETBKIMAGE, 0, 5693 + cast(LPARAM) plvbki); 5694 + } 5695 + 5696 + BOOL ListView_SetBkImage(HWND h, LPLVBKIMAGE plvbki) { 5697 + return cast(BOOL) SendMessage(h, LVM_SETBKIMAGE, 0, 5698 + cast(LPARAM) plvbki); 5699 + } 5700 + 5701 + DWORD ListView_SetExtendedListViewStyleEx(HWND w, DWORD m, DWORD s) { 5702 + return cast(DWORD) SendMessage(w, LVM_SETEXTENDEDLISTVIEWSTYLE, m, s); 5703 + } 5704 + 5705 + VOID ListView_SetWorkAreas(HWND w, INT n, LPRECT r) { 5706 + SendMessage(w, LVM_SETWORKAREAS, cast(WPARAM) n, cast(LPARAM) r); 5707 + } 5708 + 5709 + VOID ListView_GetWorkAreas(HWND w, INT n, LPRECT r) { 5710 + SendMessage(w, LVM_GETWORKAREAS, cast(WPARAM) n, cast(LPARAM) r); 5711 + } 5712 + 5713 + BOOL ListView_GetNumberOfWorkAreas(HWND w, LPUINT n) { 5714 + return cast(BOOL) SendMessage(w, LVM_GETNUMBEROFWORKAREAS, 0, 5715 + cast(LPARAM) n); 5716 + } 5717 + 5718 + DWORD ListView_SetHoverTime(HWND w, DWORD t) { 5719 + return cast(DWORD) SendMessage(w, LVM_SETHOVERTIME, 0, 5720 + cast(LPARAM) t); 5721 + } 5722 + 5723 + DWORD ListView_GetHoverTime(HWND w) { 5724 + return cast(DWORD) SendMessage(w, LVM_GETHOVERTIME, 0, 0); 5725 + } 5726 + 5727 + INT ListView_GetSelectionMark(HWND w) { 5728 + return SendMessage(w, LVM_GETSELECTIONMARK, 0, 0); 5729 + } 5730 + 5731 + INT ListView_SetSelectionMark(HWND w, INT i) { 5732 + return SendMessage(w, LVM_SETSELECTIONMARK, 0, cast(LPARAM) i); 5733 + } 5734 + 5735 + HWND ListView_SetToolTips(HWND w, HWND n) { 5736 + return cast(HWND) SendMessage(w, LVM_SETTOOLTIPS, cast(WPARAM) n, 0); 5737 + } 5738 + 5739 + HWND ListView_GetToolTips(HWND w) { 5740 + return cast(HWND) SendMessage(w, LVM_GETTOOLTIPS, 0, 0); 5741 + } 5742 + 5743 + BOOL ListView_SetUnicodeFormat(HWND w, BOOL f) { 5744 + return cast(BOOL) SendMessage(w, LVM_SETUNICODEFORMAT, 5745 + cast(WPARAM) f, 0); 5746 + } 5747 + 5748 + BOOL ListView_GetUnicodeFormat(HWND w) { 5749 + return cast(BOOL) SendMessage(w, LVM_GETUNICODEFORMAT, 0, 0); 5750 + } 5751 + 5752 + BOOL TabCtrl_HighlightItem(HWND hwnd, INT i, WORD fHighlight) { 5753 + return cast(BOOL) SendMessage(hwnd, TCM_HIGHLIGHTITEM, 5754 + cast(WPARAM) i, cast(LPARAM) MAKELONG(fHighlight, 0)); 5755 + } 5756 + 5757 + DWORD TabCtrl_SetExtendedStyle(HWND hwnd, DWORD dw) { 5758 + return cast(DWORD) SendMessage(hwnd, TCM_SETEXTENDEDSTYLE, 0, dw); 5759 + } 5760 + 5761 + DWORD TabCtrl_GetExtendedStyle(HWND hwnd) { 5762 + return cast(DWORD) SendMessage(hwnd, TCM_GETEXTENDEDSTYLE, 0, 0); 5763 + } 5764 + 5765 + BOOL TabCtrl_SetUnicodeFormat(HWND hwnd, HWND fUnicode) { 5766 + return cast(BOOL) SendMessage(hwnd, TCM_SETUNICODEFORMAT, 5767 + cast(WPARAM) fUnicode, 0); 5768 + } 5769 + 5770 + BOOL TabCtrl_GetUnicodeFormat(HWND hwnd) { 5771 + return cast(BOOL) SendMessage(hwnd, TCM_GETUNICODEFORMAT, 0, 0); 5772 + } 5773 + 5774 + COLORREF TreeView_GetBkColor(HWND w) { 5775 + return cast(COLORREF) SendMessage(w, TVM_GETBKCOLOR, 0, 0); 5776 + } 5777 + 5778 + COLORREF TreeView_GetInsertMarkColor(HWND w) { 5779 + return cast(COLORREF) SendMessage(w, TVM_GETINSERTMARKCOLOR, 0, 0); 5780 + } 5781 + 5782 + int TreeView_GetItemHeight(HWND w) { 5783 + return SendMessage(w, TVM_GETITEMHEIGHT, 0, 0); 5784 + } 5785 + 5786 + UINT TreeView_GetScrollTime(HWND w) { 5787 + return cast(UINT) SendMessage(w, TVM_GETSCROLLTIME, 0, 0); 5788 + } 5789 + 5790 + COLORREF TreeView_GetTextColor(HWND w) { 5791 + return cast(COLORREF) SendMessage(w, TVM_GETTEXTCOLOR, 0, 0); 5792 + } 5793 + 5794 + COLORREF TreeView_SetBkColor(HWND w, COLORREF c) { 5795 + return cast(COLORREF) SendMessage(w, TVM_SETBKCOLOR, 0, 5796 + cast(LPARAM) c); 5797 + } 5798 + 5799 + COLORREF TreeView_SetInsertMarkColor(HWND w, COLORREF c) { 5800 + return cast(COLORREF) SendMessage(w, TVM_SETINSERTMARKCOLOR, 0, 5801 + cast(LPARAM) c); 5802 + } 5803 + 5804 + int TreeView_SetItemHeight(HWND w, SHORT h) { 5805 + return SendMessage(w, TVM_SETITEMHEIGHT, cast(WPARAM) h, 0); 5806 + } 5807 + 5808 + UINT TreeView_SetScrollTime(HWND w, UINT t) { 5809 + return cast(UINT) SendMessage(w, TVM_SETSCROLLTIME, cast(WPARAM) t, 0); 5810 + } 5811 + 5812 + COLORREF TreeView_SetTextColor(HWND w, COLORREF c) { 5813 + return cast(COLORREF) SendMessage(w, TVM_SETTEXTCOLOR, 0, 5814 + cast(LPARAM) c); 5815 + } 5816 + 5817 + BOOL TreeView_SetInsertMark(HWND w, HTREEITEM i, BOOL a) { 5818 + return cast(BOOL) SendMessage(w, TVM_SETINSERTMARK, cast(WPARAM) a, 5819 + cast(LPARAM) i); 5820 + } 5821 + 5822 + BOOL TreeView_SetUnicodeFormat(HWND w, BOOL u) { 5823 + return cast(BOOL) SendMessage(w, TVM_SETUNICODEFORMAT, 5824 + cast(WPARAM) u, 0); 5825 + } 5826 + 5827 + BOOL TreeView_GetUnicodeFormat(HWND w) { 5828 + return cast(BOOL) SendMessage(w, TVM_GETUNICODEFORMAT, 0, 0); 5829 + } 5613 5830 5614 -// #ifdef UNICODE 5615 -alias NMTVDISPINFOW NMTVDISPINFO; 5616 -alias LPNMTVDISPINFOW LPNMTVDISPINFO; 5617 -// #else 5618 -// #... 5619 -// #... 5620 -// #endif 5831 + HTREEITEM TreeView_GetLastVisible(HWND w) { 5832 + return TreeView_GetNextItem(w, null, TVGN_LASTVISIBLE); 5833 + } 5834 +} 5621 5835 5622 -enum : uint { TVN_ITEMEXPANDINGA = TVN_FIRST-5 } 5623 -enum : uint { TVN_ITEMEXPANDINGW = TVN_FIRST-54 } 5624 -enum : uint { TVN_ITEMEXPANDEDA = TVN_FIRST-6 } 5625 -enum : uint { TVN_ITEMEXPANDEDW = TVN_FIRST-55 } 5626 -enum : uint { TVN_BEGINDRAGA = TVN_FIRST-7 } 5627 -enum : uint { TVN_BEGINDRAGW = TVN_FIRST-56 } 5628 -enum : uint { TVN_BEGINRDRAGA = TVN_FIRST-8 } 5629 -enum : uint { TVN_BEGINRDRAGW = TVN_FIRST-57 } 5630 -enum : uint { TVN_DELETEITEMA = TVN_FIRST-9 } 5631 -enum : uint { TVN_DELETEITEMW = TVN_FIRST-58 } 5632 -enum : uint { TVN_BEGINLABELEDITA = TVN_FIRST-10 } 5633 -enum : uint { TVN_BEGINLABELEDITW = TVN_FIRST-59 } 5634 -enum : uint { TVN_ENDLABELEDITA = TVN_FIRST-11 } 5635 -enum : uint { TVN_ENDLABELEDITW = TVN_FIRST-60 } 5636 -enum : uint { TVN_KEYDOWN = TVN_FIRST-12 } 5836 +static if (_WIN32_IE >= 0x500) { 5837 + UINT TreeView_GetItemState(HWND w, HTREEITEM i, UINT m) { 5838 + return cast(UINT) SendMessage(w, TVM_GETITEMSTATE, cast(WPARAM) i, 5839 + cast(LPARAM) m); 5840 + } 5637 5841 5638 -// #if (_WIN32_IE >= 0x0400) 5639 -enum : uint { TVN_GETINFOTIPA = TVN_FIRST-13 } 5640 -enum : uint { TVN_GETINFOTIPW = TVN_FIRST-14 } 5641 -enum : uint { TVN_SINGLEEXPAND = TVN_FIRST-15 } 5642 - 5643 -enum : uint { TVNRET_DEFAULT = 0 } 5644 -enum : uint { TVNRET_SKIPOLD = 1 } 5645 -enum : uint { TVNRET_SKIPNEW = 2 } 5646 - 5647 -// #endif // 0x400 5648 - 5649 -// #if (_WIN32_IE >= 0x0300) 5650 -alias NMTVKEYDOWN TV_KEYDOWN; 5651 -// #else 5652 -// #... 5653 -// #... 5654 -// #endif 5655 - 5656 -// #ifdef _WIN32 5657 -align(1): 5658 -// #endif 5659 - 5660 -struct tagTVKEYDOWN { 5661 - NMHDR hdr; 5662 - WORD wVKey; 5663 - UINT flags; 5842 + BOOL TreeView_SetItemState(HWND w, HTREEITEM i, UINT d, UINT m) { 5843 + TVITEM _tvi; 5844 + _tvi.mask = TVIF_STATE; 5845 + _tvi.hItem = i; 5846 + _tvi.stateMask = m; 5847 + _tvi.state = d; 5848 + return cast(BOOL) SendMessage(w, TVM_SETITEM, 0, cast(LPARAM) &_tvi); 5849 + } 5664 5850 } 5665 -alias tagTVKEYDOWN NMTVKEYDOWN; 5666 -alias tagTVKEYDOWN* LPNMTVKEYDOWN; 5667 5851 5668 -// #ifdef _WIN32 5669 -align: 5670 -// #endif 5671 5852 5672 -// #ifdef UNICODE 5673 -alias TVN_SELCHANGINGW TVN_SELCHANGING; 5674 -alias TVN_SELCHANGEDW TVN_SELCHANGED; 5675 -alias TVN_GETDISPINFOW TVN_GETDISPINFO; 5676 -alias TVN_SETDISPINFOW TVN_SETDISPINFO; 5677 -alias TVN_ITEMEXPANDINGW TVN_ITEMEXPANDING; 5678 -alias TVN_ITEMEXPANDEDW TVN_ITEMEXPANDED; 5679 -alias TVN_BEGINDRAGW TVN_BEGINDRAG; 5680 -alias TVN_BEGINRDRAGW TVN_BEGINRDRAG; 5681 -alias TVN_DELETEITEMW TVN_DELETEITEM; 5682 -alias TVN_BEGINLABELEDITW TVN_BEGINLABELEDIT; 5683 -alias TVN_ENDLABELEDITW TVN_ENDLABELEDIT; 5684 -// #else 5685 -// #... 5686 -// #... 5687 -// #... 5688 -// #... 5689 -// #... 5690 -// #... 5691 -// #... 5692 -// #... 5693 -// #... 5694 -// #... 5695 -// #... 5696 -// #endif 5697 - 5698 -// #if (_WIN32_IE >= 0x0300) 5699 -// #define NMTVCUSTOMDRAW_V3_SIZE CCSIZEOF_STRUCT(NMTVCUSTOMDRAW, clrTextBk) 5700 - 5701 -struct tagNMTVCUSTOMDRAW { 5702 - NMCUSTOMDRAW nmcd; 5703 - COLORREF clrText; 5704 - COLORREF clrTextBk; 5705 -// #if (_WIN32_IE >= 0x0400) 5706 - int iLevel; 5707 -// #endif 5708 -} 5709 -alias tagNMTVCUSTOMDRAW NMTVCUSTOMDRAW; 5710 -alias tagNMTVCUSTOMDRAW* LPNMTVCUSTOMDRAW; 5711 - 5712 -// #endif 5713 - 5714 -// #if (_WIN32_IE >= 0x0400) 5853 +//#ifdef _WIN32_WCE // these are PPC only 5854 +/+ 5855 +extern (Windows) { 5856 + HWND CommandBar_Create(HINSTANCE, HWND, int); 5857 + BOOL CommandBar_Show(HWND, BOOL); 5858 + int CommandBar_AddBitmap(HWND, HINSTANCE, int, int, int, int); 5859 + HWND CommandBar_InsertComboBox(HWND, HINSTANCE, int, UINT, WORD, WORD); 5860 + BOOL CommandBar_InsertMenubar(HWND, HINSTANCE, WORD, WORD ); 5861 + BOOL CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD); 5862 + BOOL CommandBar_DrawMenuBar(HWND, WORD); 5863 + HMENU CommandBar_GetMenu(HWND, WORD); 5864 + BOOL CommandBar_AddAdornments(HWND, DWORD, DWORD); 5865 + int CommandBar_Height(HWND hwndCB); 5866 +} 5715 5867 5716 -struct tagNMTVGETINFOTIPA { 5717 - NMHDR hdr; 5718 - LPSTR pszText; 5719 - int cchTextMax; 5720 - HTREEITEM hItem; 5721 - LPARAM lParam; 5868 +// MinGW: These two are not in the DLL 5869 +void CommandBar_InsertButton(HWND hwnd, int i, LPTBBUTTON lptbbutton) { 5870 + SendMessage(hwnd, TB_INSERTBUTTON, i, lptbbutton); 5722 5871 } 5723 -alias tagNMTVGETINFOTIPA NMTVGETINFOTIPA; 5724 -alias tagNMTVGETINFOTIPA* LPNMTVGETINFOTIPA; 5725 - 5726 -struct tagNMTVGETINFOTIPW { 5727 - NMHDR hdr; 5728 - LPWSTR pszText; 5729 - int cchTextMax; 5730 - HTREEITEM hItem; 5731 - LPARAM lParam; 5732 -} 5733 -alias tagNMTVGETINFOTIPW NMTVGETINFOTIPW; 5734 -alias tagNMTVGETINFOTIPW* LPNMTVGETINFOTIPW; 5735 - 5736 -// #ifdef UNICODE 5737 -alias TVN_GETINFOTIPW TVN_GETINFOTIP; 5738 -alias NMTVGETINFOTIPW NMTVGETINFOTIP; 5739 -alias LPNMTVGETINFOTIPW LPNMTVGETINFOTIP; 5740 -// #else 5741 -// #... 5742 -// #... 5743 -// #... 5744 -// #endif 5745 - 5746 -enum : uint { TVCDRF_NOIMAGES = 0x00010000 } 5747 - 5748 -// #endif // _WIN32_IE >= 0x0400 5749 - 5750 -// #endif // NOTREEVIEW 5751 - 5752 -// #if (_WIN32_IE >= 0x0300) 5753 - 5754 -// #ifndef NOUSEREXCONTROLS 5755 - 5756 -const wchar[] WC_COMBOBOXEXW = "ComboBoxEx32"; 5757 -const char[] WC_COMBOBOXEXA = "ComboBoxEx32"; 5758 - 5759 -// #ifdef UNICODE 5760 -alias WC_COMBOBOXEXW WC_COMBOBOXEX; 5761 -// #else 5762 -// #... 5763 -// #endif 5764 - 5765 -enum : uint { CBEIF_TEXT = 0x00000001 } 5766 -enum : uint { CBEIF_IMAGE = 0x00000002 } 5767 -enum : uint { CBEIF_SELECTEDIMAGE = 0x00000004 } 5768 -enum : uint { CBEIF_OVERLAY = 0x00000008 } 5769 -enum : uint { CBEIF_INDENT = 0x00000010 } 5770 -enum : uint { CBEIF_LPARAM = 0x00000020 } 5771 - 5772 -enum : uint { CBEIF_DI_SETITEM = 0x10000000 } 5773 - 5774 -struct tagCOMBOBOXEXITEMA { 5775 - UINT mask; 5776 - INT_PTR iItem; 5777 - LPSTR pszText; 5778 - int cchTextMax; 5779 - int iImage; 5780 - int iSelectedImage; 5781 - int iOverlay; 5782 - int iIndent; 5783 - LPARAM lParam; 5784 -} 5785 -alias tagCOMBOBOXEXITEMA COMBOBOXEXITEMA; 5786 -alias tagCOMBOBOXEXITEMA* PCOMBOBOXEXITEMA; 5787 - 5788 -alias COMBOBOXEXITEMA* PCCOMBOEXITEMA; 5789 - 5790 -struct tagCOMBOBOXEXITEMW { 5791 - UINT mask; 5792 - INT_PTR iItem; 5793 - LPWSTR pszText; 5794 - int cchTextMax; 5795 - int iImage; 5796 - int iSelectedImage; 5797 - int iOverlay; 5798 - int iIndent; 5799 - LPARAM lParam; 5800 -} 5801 -alias tagCOMBOBOXEXITEMW COMBOBOXEXITEMW; 5802 -alias tagCOMBOBOXEXITEMW* PCOMBOBOXEXITEMW; 5803 - 5804 -alias COMBOBOXEXITEMW* PCCOMBOEXITEMW; 5805 - 5806 -// #ifdef UNICODE 5807 -alias COMBOBOXEXITEMW COMBOBOXEXITEM; 5808 -alias PCOMBOBOXEXITEMW PCOMBOBOXEXITEM; 5809 -alias PCCOMBOBOXEXITEMW PCCOMBOBOXEXITEM; 5810 -// #else 5811 -// #... 5812 -// #... 5813 -// #... 5814 -// #endif 5815 - 5816 -enum : uint { CBEM_INSERTITEMA = WM_USER + 1 } 5817 -enum : uint { CBEM_SETIMAGELIST = WM_USER + 2 } 5818 -enum : uint { CBEM_GETIMAGELIST = WM_USER + 3 } 5819 -enum : uint { CBEM_GETITEMA = WM_USER + 4 } 5820 -enum : uint { CBEM_SETITEMA = WM_USER + 5 } 5821 -alias CB_DELETESTRING CBEM_DELETEITEM; 5822 -enum : uint { CBEM_GETCOMBOCONTROL = WM_USER + 6 } 5823 -enum : uint { CBEM_GETEDITCONTROL = WM_USER + 7 } 5824 -// #if (_WIN32_IE >= 0x0400) 5825 -enum : uint { CBEM_SETEXSTYLE = WM_USER + 8 } 5826 -enum : uint { CBEM_SETEXTENDEDSTYLE = WM_USER + 14 } 5827 -enum : uint { CBEM_GETEXSTYLE = WM_USER + 9 } 5828 -enum : uint { CBEM_GETEXTENDEDSTYLE = WM_USER + 9 } 5829 -alias CCM_SETUNICODEFORMAT CBEM_SETUNICODEFORMAT; 5830 -alias CCM_GETUNICODEFORMAT CBEM_GETUNICODEFORMAT; 5831 -// #else 5832 -// #... 5833 -// #... 5834 -// #endif 5835 -enum : uint { CBEM_HASEDITCHANGED = WM_USER + 10 } 5836 -enum : uint { CBEM_INSERTITEMW = WM_USER + 11 } 5837 -enum : uint { CBEM_SETITEMW = WM_USER + 12 } 5838 -enum : uint { CBEM_GETITEMW = WM_USER + 13 } 5839 - 5840 -// #ifdef UNICODE 5841 -alias CBEM_INSERTITEMW CBEM_INSERTITEM; 5842 -alias CBEM_SETITEMW CBEM_SETITEM; 5843 -alias CBEM_GETITEMW CBEM_GETITEM; 5844 -// #else 5845 -// #... 5846 -// #... 5847 -// #... 5848 -// #endif 5849 - 5850 -// #if (_WIN32_WINNT >= 0x501) 5851 -alias CCM_SETWINDOWTHEME CBEM_SETWINDOWTHEME; 5852 -// #endif 5853 - 5854 -enum : uint { CBES_EX_NOEDITIMAGE = 0x00000001 } 5855 -enum : uint { CBES_EX_NOEDITIMAGEINDENT = 0x00000002 } 5856 -enum : uint { CBES_EX_PATHWORDBREAKPROC = 0x00000004 } 5857 -// #if (_WIN32_IE >= 0x0400) 5858 -enum : uint { CBES_EX_NOSIZELIMIT = 0x00000008 } 5859 -enum : uint { CBES_EX_CASESENSITIVE = 0x00000010 } 5860 - 5861 -struct _9 { 5862 - NMHDR hdr; 5863 - COMBOBOXEXITEMA ceItem; 5864 -} 5865 -alias _9 NMCOMBOBOXEXA; 5866 -alias _9* PNMCOMBOBOXEXA; 5867 - 5868 -struct _10 { 5869 - NMHDR hdr; 5870 - COMBOBOXEXITEMW ceItem; 5871 -} 5872 -alias _10 NMCOMBOBOXEXW; 5873 -alias _10* PNMCOMBOBOXEXW; 5874 - 5875 -// #ifdef UNICODE 5876 -alias NMCOMBOBOXEXW NMCOMBOBOXEX; 5877 -alias PNMCOMBOBOXEXW PNMCOMBOBOXEX; 5878 -alias CBEN_GETDISPINFOW CBEN_GETDISPINFO; 5879 -// #else 5880 -// #... 5881 -// #... 5882 -// #... 5883 -// #endif 5884 - 5885 -// #else 5886 -// ... 5887 - 5888 -// #... 5889 - 5890 -// #endif // _WIN32_IE >= 0x0400 5891 - 5892 -// #if (_WIN32_IE >= 0x0400) 5893 -// #define CBEN_GETDISPINFOA (CBEN_FIRST - 0) 5894 -// #endif 5895 -enum : uint { CBEN_INSERTITEM = CBEN_FIRST - 1 } 5896 -enum : uint { CBEN_DELETEITEM = CBEN_FIRST - 2 } 5897 -enum : uint { CBEN_BEGINEDIT = CBEN_FIRST - 4 } 5898 -enum : uint { CBEN_ENDEDITA = CBEN_FIRST - 5 } 5899 -enum : uint { CBEN_ENDEDITW = CBEN_FIRST - 6 } 5900 - 5901 -// #if (_WIN32_IE >= 0x0400) 5902 -// #define CBEN_GETDISPINFOW (CBEN_FIRST - 7) 5903 -// #endif 5904 - 5905 -// #if (_WIN32_IE >= 0x0400) 5906 -enum : uint { CBEN_DRAGBEGINA = CBEN_FIRST - 8 } 5907 -enum : uint { CBEN_DRAGBEGINW = CBEN_FIRST - 9 } 5908 - 5909 -// #ifdef UNICODE 5910 -alias CBEN_DRAGBEGINW CBEN_DRAGBEGIN; 5911 -// #else 5912 -// #... 5913 -// #endif 5914 - 5915 -// #endif //(_WIN32_IE >= 0x0400) 5916 - 5917 -// #ifdef UNICODE 5918 -alias CBEN_ENDEDITW CBEN_ENDEDIT; 5919 -// #else 5920 -// #... 5921 -// #endif 5922 - 5923 -enum : uint { CBENF_KILLFOCUS = 1 } 5924 -enum : uint { CBENF_RETURN = 2 } 5925 -enum : uint { CBENF_ESCAPE = 3 } 5926 -enum : uint { CBENF_DROPDOWN = 4 } 5927 - 5928 -enum : uint { CBEMAXSTRLEN = 260 } 5929 - 5930 -// #if (_WIN32_IE >= 0x0400) 5931 - 5932 -struct _11 { 5933 - NMHDR hdr; 5934 - int iItemid; 5935 - WCHAR szText[CBEMAXSTRLEN]; 5936 -} 5937 -alias _11 NMCBEDRAGBEGINW; 5938 -alias _11* LPNMCBEDRAGBEGINW; 5939 -alias _11* PNMCBEDRAGBEGINW; 5940 - 5941 -struct _12 { 5942 - NMHDR hdr; 5943 - int iItemid; 5944 - char szText[CBEMAXSTRLEN]; 5945 -} 5946 -alias _12 NMCBEDRAGBEGINA; 5947 -alias _12* LPNMCBEDRAGBEGINA; 5948 -alias _12* PNMCBEDRAGBEGINA; 5949 - 5950 -// #ifdef UNICODE 5951 -alias NMCBEDRAGBEGINW NMCBEDRAGBEGIN; 5952 -alias LPNMCBEDRAGBEGINW LPNMCBEDRAGBEGIN; 5953 -alias PNMCBEDRAGBEGINW PNMCBEDRAGBEGIN; 5954 -// #else 5955 -// #... 5956 -// #... 5957 -// #... 5958 -// #endif 5959 -// #endif // _WIN32_IE >= 0x0400 5960 - 5961 -struct _13 { 5962 - NMHDR hdr; 5963 - BOOL fChanged; 5964 - int iNewSelection; 5965 - WCHAR szText[CBEMAXSTRLEN]; 5966 - int iWhy; 5967 -} 5968 -alias _13 NMCBEENDEDITW; 5969 -alias _13* LPNMCBEENDEDITW; 5970 -alias _13* PNMCBEENDEDITW; 5971 - 5972 -struct _14 { 5973 - NMHDR hdr; 5974 - BOOL fChanged; 5975 - int iNewSelection; 5976 - char szText[CBEMAXSTRLEN]; 5977 - int iWhy; 5978 -} 5979 -alias _14 NMCBEENDEDITA; 5980 -alias _14* LPNMCBEENDEDITA; 5981 -alias _14* PNMCBEENDEDITA; 5982 - 5983 -// #ifdef UNICODE 5984 -alias NMCBEENDEDITW NMCBEENDEDIT; 5985 -alias LPNMCBEENDEDITW LPNMCBEENDEDIT; 5986 -alias PNMCBEENDEDITW PNMCBEENDEDIT; 5987 -// #else 5988 -// #... 5989 -// #... 5990 -// #... 5991 -// #endif 5992 - 5993 -// #endif 5994 - 5995 -// #endif // _WIN32_IE >= 0x0300 5996 - 5997 -// #ifndef NOTABCONTROL 5998 - 5999 -// #ifdef _WIN32 6000 - 6001 -const char[] WC_TABCONTROLA = "SysTabControl32"; 6002 -const wchar[] WC_TABCONTROLW = "SysTabControl32"; 6003 - 6004 -// #ifdef UNICODE 6005 -alias WC_TABCONTROLW WC_TABCONTROL; 6006 -// #else 6007 -// #... 6008 -// #endif 6009 - 6010 -// #else 6011 -// #... 6012 -// #endif 6013 - 6014 -// #if (_WIN32_IE >= 0x0300) 6015 -enum : uint { TCS_SCROLLOPPOSITE = 0x0001 } 6016 -enum : uint { TCS_BOTTOM = 0x0002 } 6017 -enum : uint { TCS_RIGHT = 0x0002 } 6018 -enum : uint { TCS_MULTISELECT = 0x0004 } 6019 -// #endif 6020 -// #if (_WIN32_IE >= 0x0400) 6021 -enum : uint { TCS_FLATBUTTONS = 0x0008 } 6022 -// #endif 6023 -enum : uint { TCS_FORCEICONLEFT = 0x0010 } 6024 -enum : uint { TCS_FORCELABELLEFT = 0x0020 } 6025 -// #if (_WIN32_IE >= 0x0300) 6026 -enum : uint { TCS_HOTTRACK = 0x0040 } 6027 -enum : uint { TCS_VERTICAL = 0x0080 } 6028 -// #endif 6029 -enum : uint { TCS_TABS = 0x0000 } 6030 -enum : uint { TCS_BUTTONS = 0x0100 } 6031 -enum : uint { TCS_SINGLELINE = 0x0000 } 6032 -enum : uint { TCS_MULTILINE = 0x0200 } 6033 -enum : uint { TCS_RIGHTJUSTIFY = 0x0000 } 6034 -enum : uint { TCS_FIXEDWIDTH = 0x0400 } 6035 -enum : uint { TCS_RAGGEDRIGHT = 0x0800 } 6036 -enum : uint { TCS_FOCUSONBUTTONDOWN = 0x1000 } 6037 -enum : uint { TCS_OWNERDRAWFIXED = 0x2000 } 6038 -enum : uint { TCS_TOOLTIPS = 0x4000 } 6039 -enum : uint { TCS_FOCUSNEVER = 0x8000 } 6040 - 6041 -// #if (_WIN32_IE >= 0x0400) 6042 - 6043 -enum : uint { TCS_EX_FLATSEPARATORS = 0x00000001 } 6044 -enum : uint { TCS_EX_REGISTERDROP = 0x00000002 } 6045 -// #endif 6046 - 6047 -enum : uint { TCM_GETIMAGELIST = TCM_FIRST + 2 } 6048 -// #define TabCtrl_GetImageList(hwnd) (HIMAGELIST)SNDMSG((hwnd), TCM_GETIMAGELIST, 0, 0L) 6049 - 6050 -enum : uint { TCM_SETIMAGELIST = TCM_FIRST + 3 } 6051 -// #define TabCtrl_SetImageList(hwnd, himl) (HIMAGELIST)SNDMSG((hwnd), TCM_SETIMAGELIST, 0, (LPARAM)(HIMAGELIST)(himl)) 6052 - 6053 -enum : uint { TCM_GETITEMCOUNT = TCM_FIRST + 4 } 6054 -// #define TabCtrl_GetItemCount(hwnd) (int)SNDMSG((hwnd), TCM_GETITEMCOUNT, 0, 0L) 6055 - 6056 -enum : uint { TCIF_TEXT = 0x0001 } 6057 -enum : uint { TCIF_IMAGE = 0x0002 } 6058 -enum : uint { TCIF_RTLREADING = 0x0004 } 6059 -enum : uint { TCIF_PARAM = 0x0008 } 6060 -// #if (_WIN32_IE >= 0x0300) 6061 -enum : uint { TCIF_STATE = 0x0010 } 6062 - 6063 -enum : uint { TCIS_BUTTONPRESSED = 0x0001 } 6064 -// #endif 6065 -// #if (_WIN32_IE >= 0x0400) 6066 -enum : uint { TCIS_HIGHLIGHTED = 0x0002 } 6067 -// #endif 6068 - 6069 -// #if (_WIN32_IE >= 0x0300) 6070 -alias TCITEMHEADERA TC_ITEMHEADERA; 6071 -alias TCITEMHEADERW TC_ITEMHEADERW; 6072 -// #else 6073 -// #... 6074 -// #... 6075 -// #... 6076 -// #... 6077 -// #endif 6078 -alias TCITEMHEADER TC_ITEMHEADER; 6079 - 6080 -struct tagTCITEMHEADERA { 6081 - UINT mask; 6082 - UINT lpReserved1; 6083 - UINT lpReserved2; 6084 - LPSTR pszText; 6085 - int cchTextMax; 6086 - int iImage; 6087 -} 6088 -alias tagTCITEMHEADERA TCITEMHEADERA; 6089 -alias tagTCITEMHEADERA* LPTCITEMHEADERA; 6090 - 6091 -struct tagTCITEMHEADERW { 6092 - UINT mask; 6093 - UINT lpReserved1; 6094 - UINT lpReserved2; 6095 - LPWSTR pszText; 6096 - int cchTextMax; 6097 - int iImage; 6098 -} 6099 -alias tagTCITEMHEADERW TCITEMHEADERW; 6100 -alias tagTCITEMHEADERW* LPTCITEMHEADERW; 6101 - 6102 -// #ifdef UNICODE 6103 -alias TCITEMHEADERW TCITEMHEADER; 6104 -alias LPTCITEMHEADERW LPTCITEMHEADER; 6105 -// #else 6106 -// #... 6107 -// #... 6108 -// #endif 6109 - 6110 -// #if (_WIN32_IE >= 0x0300) 6111 -alias TCITEMA TC_ITEMA; 6112 -alias TCITEMW TC_ITEMW; 6113 -// #else 6114 -// #... 6115 -// #... 6116 -// #... 6117 -// #... 6118 -// #endif 6119 -alias TCITEM TC_ITEM; 6120 - 6121 -struct tagTCITEMA { 6122 - UINT mask; 6123 -// #if (_WIN32_IE >= 0x0300) 6124 - DWORD dwState; 6125 - DWORD dwStateMask; 6126 -// #else 6127 -// ... 6128 -// #endif 6129 - LPSTR pszText; 6130 - int cchTextMax; 6131 - int iImage; 6132 - LPARAM lParam; 6133 -} 6134 -alias tagTCITEMA TCITEMA; 6135 -alias tagTCITEMA* LPTCITEMA; 6136 - 6137 -struct tagTCITEMW { 6138 - UINT mask; 6139 -// #if (_WIN32_IE >= 0x0300) 6140 - DWORD dwState; 6141 - DWORD dwStateMask; 6142 -// #else 6143 -// ... 6144 -// #endif 6145 - LPWSTR pszText; 6146 - int cchTextMax; 6147 - int iImage; 6148 - LPARAM lParam; 6149 -} 6150 -alias tagTCITEMW TCITEMW; 6151 -alias tagTCITEMW* LPTCITEMW; 6152 - 6153 -// #ifdef UNICODE 6154 -alias TCITEMW TCITEM; 6155 -alias LPTCITEMW LPTCITEM; 6156 -// #else 6157 -// #... 6158 -// #... 6159 -// #endif 6160 - 6161 -enum : uint { TCM_GETITEMA = TCM_FIRST + 5 } 6162 -enum : uint { TCM_GETITEMW = TCM_FIRST + 60 } 6163 - 6164 -// #ifdef UNICODE 6165 -alias TCM_GETITEMW TCM_GETITEM; 6166 -// #else 6167 -// #... 6168 -// #endif 6169 - 6170 -// #define TabCtrl_GetItem(hwnd, iItem, pitem) (BOOL)SNDMSG((hwnd), TCM_GETITEM, (WPARAM)(int)(iItem), (LPARAM)(TC_ITEM *)(pitem)) 6171 - 6172 -enum : uint { TCM_SETITEMA = TCM_FIRST + 6 } 6173 -enum : uint { TCM_SETITEMW = TCM_FIRST + 61 } 6174 - 6175 -// #ifdef UNICODE 6176 -alias TCM_SETITEMW TCM_SETITEM; 6177 -// #else 6178 -// #... 6179 -// #endif 6180 - 6181 -// #define TabCtrl_SetItem(hwnd, iItem, pitem) (BOOL)SNDMSG((hwnd), TCM_SETITEM, (WPARAM)(int)(iItem), (LPARAM)(TC_ITEM *)(pitem)) 6182 - 6183 -enum : uint { TCM_INSERTITEMA = TCM_FIRST + 7 } 6184 -enum : uint { TCM_INSERTITEMW = TCM_FIRST + 62 } 6185 - 6186 -// #ifdef UNICODE 6187 -alias TCM_INSERTITEMW TCM_INSERTITEM; 6188 -// #else 6189 -// #... 6190 -// #endif 6191 - 6192 -// #define TabCtrl_InsertItem(hwnd, iItem, pitem) (int)SNDMSG((hwnd), TCM_INSERTITEM, (WPARAM)(int)(iItem), (LPARAM)(const TC_ITEM *)(pitem)) 6193 - 6194 -enum : uint { TCM_DELETEITEM = TCM_FIRST + 8 } 6195 -// #define TabCtrl_DeleteItem(hwnd, i) (BOOL)SNDMSG((hwnd), TCM_DELETEITEM, (WPARAM)(int)(i), 0L) 6196 - 6197 -enum : uint { TCM_DELETEALLITEMS = TCM_FIRST + 9 } 6198 -// #define TabCtrl_DeleteAllItems(hwnd) (BOOL)SNDMSG((hwnd), TCM_DELETEALLITEMS, 0, 0L) 6199 - 6200 -enum : uint { TCM_GETITEMRECT = TCM_FIRST + 10 } 6201 -// #define TabCtrl_GetItemRect(hwnd, i, prc) (BOOL)SNDMSG((hwnd), TCM_GETITEMRECT, (WPARAM)(int)(i), (LPARAM)(RECT *)(prc)) 6202 - 6203 -enum : uint { TCM_GETCURSEL = TCM_FIRST + 11 } 6204 -// #define TabCtrl_GetCurSel(hwnd) (int)SNDMSG((hwnd), TCM_GETCURSEL, 0, 0) 6205 - 6206 -enum : uint { TCM_SETCURSEL = TCM_FIRST + 12 } 6207 -// #define TabCtrl_SetCurSel(hwnd, i) (int)SNDMSG((hwnd), TCM_SETCURSEL, (WPARAM)(i), 0) 6208 - 6209 -enum : uint { TCHT_NOWHERE = 0x0001 } 6210 -enum : uint { TCHT_ONITEMICON = 0x0002 } 6211 -enum : uint { TCHT_ONITEMLABEL = 0x0004 } 6212 -enum : uint { TCHT_ONITEM = TCHT_ONITEMICON | TCHT_ONITEMLABEL } 6213 - 6214 -// #if (_WIN32_IE >= 0x0300) 6215 -alias LPTCHITTESTINFO LPTC_HITTESTINFO; 6216 -alias TCHITTESTINFO TC_HITTESTINFO; 6217 -// #else 6218 -// #... 6219 -// #... 6220 -// #... 6221 -// #endif 6222 - 6223 -struct tagTCHITTESTINFO { 6224 - POINT pt; 6225 - UINT flags; 6226 -} 6227 -alias tagTCHITTESTINFO TCHITTESTINFO; 6228 -alias tagTCHITTESTINFO* LPTCHITTESTINFO; 6229 - 6230 -enum : uint { TCM_HITTEST = TCM_FIRST + 13 } 6231 -// #define TabCtrl_HitTest(hwndTC, pinfo) (int)SNDMSG((hwndTC), TCM_HITTEST, 0, (LPARAM)(TC_HITTESTINFO *)(pinfo)) 6232 - 6233 -enum : uint { TCM_SETITEMEXTRA = TCM_FIRST + 14 } 6234 -// #define TabCtrl_SetItemExtra(hwndTC, cb) (BOOL)SNDMSG((hwndTC), TCM_SETITEMEXTRA, (WPARAM)(cb), 0L) 6235 - 6236 -enum : uint { TCM_ADJUSTRECT = TCM_FIRST + 40 } 6237 -// #define TabCtrl_AdjustRect(hwnd, bLarger, prc) (int)SNDMSG(hwnd, TCM_ADJUSTRECT, (WPARAM)(BOOL)(bLarger), (LPARAM)(RECT *)prc) 6238 - 6239 -enum : uint { TCM_SETITEMSIZE = TCM_FIRST + 41 } 6240 -// #define TabCtrl_SetItemSize(hwnd, x, y) (DWORD)SNDMSG((hwnd), TCM_SETITEMSIZE, 0, MAKELPARAM(x,y)) 6241 - 6242 -enum : uint { TCM_REMOVEIMAGE = TCM_FIRST + 42 } 6243 -// #define TabCtrl_RemoveImage(hwnd, i) (void)SNDMSG((hwnd), TCM_REMOVEIMAGE, i, 0L) 6244 - 6245 -enum : uint { TCM_SETPADDING = TCM_FIRST + 43 } 6246 -// #define TabCtrl_SetPadding(hwnd, cx, cy) (void)SNDMSG((hwnd), TCM_SETPADDING, 0, MAKELPARAM(cx, cy)) 6247 - 6248 -enum : uint { TCM_GETROWCOUNT = TCM_FIRST + 44 } 6249 -// #define TabCtrl_GetRowCount(hwnd) (int)SNDMSG((hwnd), TCM_GETROWCOUNT, 0, 0L) 6250 - 6251 -enum : uint { TCM_GETTOOLTIPS = TCM_FIRST + 45 } 6252 -// #define TabCtrl_GetToolTips(hwnd) (HWND)SNDMSG((hwnd), TCM_GETTOOLTIPS, 0, 0L) 6253 - 6254 -enum : uint { TCM_SETTOOLTIPS = TCM_FIRST + 46 } 6255 -// #define TabCtrl_SetToolTips(hwnd, hwndTT) (void)SNDMSG((hwnd), TCM_SETTOOLTIPS, (WPARAM)(hwndTT), 0L) 6256 - 6257 -enum : uint { TCM_GETCURFOCUS = TCM_FIRST + 47 } 6258 -// #define TabCtrl_GetCurFocus(hwnd) (int)SNDMSG((hwnd), TCM_GETCURFOCUS, 0, 0) 6259 - 6260 -enum : uint { TCM_SETCURFOCUS = TCM_FIRST + 48 } 6261 -// #define TabCtrl_SetCurFocus(hwnd, i) SNDMSG((hwnd),TCM_SETCURFOCUS, i, 0) 6262 - 6263 -// #if (_WIN32_IE >= 0x0300) 6264 -enum : uint { TCM_SETMINTABWIDTH = TCM_FIRST + 49 } 6265 -// #define TabCtrl_SetMinTabWidth(hwnd, x) (int)SNDMSG((hwnd), TCM_SETMINTABWIDTH, 0, x) 6266 - 6267 -enum : uint { TCM_DESELECTALL = TCM_FIRST + 50 } 6268 -// #define TabCtrl_DeselectAll(hwnd, fExcludeFocus) (void)SNDMSG((hwnd), TCM_DESELECTALL, fExcludeFocus, 0) 6269 -// #endif 6270 - 6271 -// #if (_WIN32_IE >= 0x0400) 6272 - 6273 -enum : uint { TCM_HIGHLIGHTITEM = TCM_FIRST + 51 } 6274 -// #define TabCtrl_HighlightItem(hwnd, i, fHighlight) (BOOL)SNDMSG((hwnd), TCM_HIGHLIGHTITEM, (WPARAM)(i), (LPARAM)MAKELONG (fHighlight, 0)) 6275 - 6276 -enum : uint { TCM_SETEXTENDEDSTYLE = TCM_FIRST + 52 } 6277 -// #define TabCtrl_SetExtendedStyle(hwnd, dw) (DWORD)SNDMSG((hwnd), TCM_SETEXTENDEDSTYLE, 0, dw) 6278 - 6279 -enum : uint { TCM_GETEXTENDEDSTYLE = TCM_FIRST + 53 } 6280 -// #define TabCtrl_GetExtendedStyle(hwnd) (DWORD)SNDMSG((hwnd), TCM_GETEXTENDEDSTYLE, 0, 0) 6281 - 6282 -alias CCM_SETUNICODEFORMAT TCM_SETUNICODEFORMAT; 6283 -// #define TabCtrl_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), TCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 6284 - 6285 -alias CCM_GETUNICODEFORMAT TCM_GETUNICODEFORMAT; 6286 -// #define TabCtrl_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), TCM_GETUNICODEFORMAT, 0, 0) 6287 - 6288 -// #endif // _WIN32_IE >= 0x0400 6289 - 6290 -enum : uint { TCN_KEYDOWN = TCN_FIRST - 0 } 6291 - 6292 -// #if (_WIN32_IE >= 0x0300) 6293 -alias NMTCKEYDOWN TC_KEYDOWN; 6294 -// #else 6295 -// #... 6296 -// #... 6297 -// #endif 6298 - 6299 -// #ifdef _WIN32 6300 -align(1): 6301 -// #endif 6302 - 6303 -struct tagTCKEYDOWN { 6304 - NMHDR hdr; 6305 - WORD wVKey; 6306 - UINT flags; 6307 -} 6308 -alias tagTCKEYDOWN NMTCKEYDOWN; 6309 - 6310 -// #ifdef _WIN32 6311 -align: 6312 -// #endif 6313 - 6314 -enum : uint { TCN_SELCHANGE = TCN_FIRST - 1 } 6315 -enum : uint { TCN_SELCHANGING = TCN_FIRST - 2 } 6316 -// #if (_WIN32_IE >= 0x0400) 6317 -enum : uint { TCN_GETOBJECT = TCN_FIRST - 3 } 6318 -// #endif // _WIN32_IE >= 0x0400 6319 -// #if (_WIN32_IE >= 0x0500) 6320 -enum : uint { TCN_FOCUSCHANGE = TCN_FIRST - 4 } 6321 -// #endif // _WIN32_IE >= 0x0500 6322 -// #endif // NOTABCONTROL 6323 - 6324 -// #ifndef NOANIMATE 6325 - 6326 -// #ifdef _WIN32 6327 - 6328 -const wchar[] ANIMATE_CLASSW = "SysAnimate32"; 6329 -const char[] ANIMATE_CLASSA = "SysAnimate32"; 6330 - 6331 -// #ifdef UNICODE 6332 -alias ANIMATE_CLASSW ANIMATE_CLASS; 6333 -// #else 6334 -// #... 6335 -// #endif 6336 - 6337 -enum : uint { ACS_CENTER = 0x0001 } 6338 -enum : uint { ACS_TRANSPARENT = 0x0002 } 6339 -enum : uint { ACS_AUTOPLAY = 0x0004 } 6340 -// #if (_WIN32_IE >= 0x0300) 6341 -enum : uint { ACS_TIMER = 0x0008 } 6342 -// #endif 6343 - 6344 -enum : uint { ACM_OPENA = WM_USER+100 } 6345 -enum : uint { ACM_OPENW = WM_USER+103 } 6346 - 6347 -// #ifdef UNICODE 6348 -alias ACM_OPENW ACM_OPEN; 6349 -// #else 6350 -// #... 6351 -// #endif 6352 - 6353 -enum : uint { ACM_PLAY = WM_USER+101 } 6354 -enum : uint { ACM_STOP = WM_USER+102 } 6355 - 6356 -enum : uint { ACN_START = 1 } 6357 -enum : uint { ACN_STOP = 2 } 6358 - 6359 -// #define Animate_Create(hwndP, id, dwStyle, hInstance) CreateWindow(ANIMATE_CLASS, NULL, dwStyle, 0, 0, 0, 0, hwndP, (HMENU)(id), hInstance, NULL) 6360 - 6361 -// #define Animate_Open(hwnd, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, 0, (LPARAM)(LPTSTR)(szName)) 6362 -// #define Animate_OpenEx(hwnd, hInst, szName) (BOOL)SNDMSG(hwnd, ACM_OPEN, (WPARAM)(hInst), (LPARAM)(LPTSTR)(szName)) 6363 -// #define Animate_Play(hwnd, from, to, rep) (BOOL)SNDMSG(hwnd, ACM_PLAY, (WPARAM)(rep), (LPARAM)MAKELONG(from, to)) 6364 -// #define Animate_Stop(hwnd) (BOOL)SNDMSG(hwnd, ACM_STOP, 0, 0) 6365 -// #define Animate_Close(hwnd) Animate_Open(hwnd, NULL) 6366 -// #define Animate_Seek(hwnd, frame) Animate_Play(hwnd, frame, frame, 1) 6367 -// #endif 6368 - 6369 -// #endif // NOANIMATE 6370 - 6371 -// #if (_WIN32_IE >= 0x0300) 6372 - 6373 -// #ifndef NOMONTHCAL 6374 -// #ifdef _WIN32 6375 - 6376 -const wchar[] MONTHCAL_CLASSW = "SysMonthCal32"; 6377 -const char[] MONTHCAL_CLASSA = "SysMonthCal32"; 6378 - 6379 -// #ifdef UNICODE 6380 -alias MONTHCAL_CLASSW MONTHCAL_CLASS; 6381 -// #else 6382 -// #... 6383 -// #endif 6384 - 6385 -alias DWORD MONTHDAYSTATE; 6386 -alias DWORD* LPMONTHDAYSTATE; 6387 - 6388 -enum : uint { MCM_FIRST = 0x1000 } 6389 - 6390 -enum : uint { MCM_GETCURSEL = MCM_FIRST + 1 } 6391 -// #define MonthCal_GetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETCURSEL, 0, (LPARAM)(pst)) 6392 - 6393 -enum : uint { MCM_SETCURSEL = MCM_FIRST + 2 } 6394 -// #define MonthCal_SetCurSel(hmc, pst) (BOOL)SNDMSG(hmc, MCM_SETCURSEL, 0, (LPARAM)(pst)) 6395 - 6396 -enum : uint { MCM_GETMAXSELCOUNT = MCM_FIRST + 3 } 6397 -// #define MonthCal_GetMaxSelCount(hmc) (DWORD)SNDMSG(hmc, MCM_GETMAXSELCOUNT, 0, 0L) 6398 - 6399 -enum : uint { MCM_SETMAXSELCOUNT = MCM_FIRST + 4 } 6400 -// #define MonthCal_SetMaxSelCount(hmc, n) (BOOL)SNDMSG(hmc, MCM_SETMAXSELCOUNT, (WPARAM)(n), 0L) 6401 - 6402 -enum : uint { MCM_GETSELRANGE = MCM_FIRST + 5 } 6403 -// #define MonthCal_GetSelRange(hmc, rgst) SNDMSG(hmc, MCM_GETSELRANGE, 0, (LPARAM)(rgst)) 6404 - 6405 -enum : uint { MCM_SETSELRANGE = MCM_FIRST + 6 } 6406 -// #define MonthCal_SetSelRange(hmc, rgst) SNDMSG(hmc, MCM_SETSELRANGE, 0, (LPARAM)(rgst)) 6407 - 6408 -enum : uint { MCM_GETMONTHRANGE = MCM_FIRST + 7 } 6409 -// #define MonthCal_GetMonthRange(hmc, gmr, rgst) (DWORD)SNDMSG(hmc, MCM_GETMONTHRANGE, (WPARAM)(gmr), (LPARAM)(rgst)) 6410 - 6411 -enum : uint { MCM_SETDAYSTATE = MCM_FIRST + 8 } 6412 -// #define MonthCal_SetDayState(hmc, cbds, rgds) SNDMSG(hmc, MCM_SETDAYSTATE, (WPARAM)(cbds), (LPARAM)(rgds)) 6413 - 6414 -enum : uint { MCM_GETMINREQRECT = MCM_FIRST + 9 } 6415 -// #define MonthCal_GetMinReqRect(hmc, prc) SNDMSG(hmc, MCM_GETMINREQRECT, 0, (LPARAM)(prc)) 6416 - 6417 -enum : uint { MCM_SETCOLOR = MCM_FIRST + 10 } 6418 -// #define MonthCal_SetColor(hmc, iColor, clr) SNDMSG(hmc, MCM_SETCOLOR, iColor, clr) 6419 - 6420 -enum : uint { MCM_GETCOLOR = MCM_FIRST + 11 } 6421 -// #define MonthCal_GetColor(hmc, iColor) SNDMSG(hmc, MCM_GETCOLOR, iColor, 0) 6422 - 6423 -enum : uint { MCSC_BACKGROUND = 0 } 6424 -enum : uint { MCSC_TEXT = 1 } 6425 -enum : uint { MCSC_TITLEBK = 2 } 6426 -enum : uint { MCSC_TITLETEXT = 3 } 6427 -enum : uint { MCSC_MONTHBK = 4 } 6428 -enum : uint { MCSC_TRAILINGTEXT = 5 } 6429 - 6430 -enum : uint { MCM_SETTODAY = MCM_FIRST + 12 } 6431 -// #define MonthCal_SetToday(hmc, pst) SNDMSG(hmc, MCM_SETTODAY, 0, (LPARAM)(pst)) 6432 - 6433 -enum : uint { MCM_GETTODAY = MCM_FIRST + 13 } 6434 -// #define MonthCal_GetToday(hmc, pst) (BOOL)SNDMSG(hmc, MCM_GETTODAY, 0, (LPARAM)(pst)) 6435 - 6436 -enum : uint { MCM_HITTEST = MCM_FIRST + 14 } 6437 -// #define MonthCal_HitTest(hmc, pinfo) SNDMSG(hmc, MCM_HITTEST, 0, (LPARAM)(PMCHITTESTINFO)(pinfo)) 6438 - 6439 -struct _15 { 6440 - UINT cbSize; 6441 - POINT pt; 6442 - UINT uHit; 6443 - SYSTEMTIME st; 6444 -} 6445 -alias _15 MCHITTESTINFO; 6446 -alias _15* PMCHITTESTINFO; 6447 - 6448 -enum : uint { MCHT_TITLE = 0x00010000 } 6449 -enum : uint { MCHT_CALENDAR = 0x00020000 } 6450 -enum : uint { MCHT_TODAYLINK = 0x00030000 } 6451 - 6452 -enum : uint { MCHT_NEXT = 0x01000000 } 6453 -enum : uint { MCHT_PREV = 0x02000000 } 6454 - 6455 -enum : uint { MCHT_NOWHERE = 0x00000000 } 6456 - 6457 -enum : uint { MCHT_TITLEBK = MCHT_TITLE } 6458 -enum : uint { MCHT_TITLEMONTH = MCHT_TITLE | 0x0001 } 6459 -enum : uint { MCHT_TITLEYEAR = MCHT_TITLE | 0x0002 } 6460 -enum : uint { MCHT_TITLEBTNNEXT = MCHT_TITLE | MCHT_NEXT | 0x0003 } 6461 -enum : uint { MCHT_TITLEBTNPREV = MCHT_TITLE | MCHT_PREV | 0x0003 } 6462 - 6463 -enum : uint { MCHT_CALENDARBK = MCHT_CALENDAR } 6464 -enum : uint { MCHT_CALENDARDATE = MCHT_CALENDAR | 0x0001 } 6465 -enum : uint { MCHT_CALENDARDATENEXT = MCHT_CALENDARDATE | MCHT_NEXT } 6466 -enum : uint { MCHT_CALENDARDATEPREV = MCHT_CALENDARDATE | MCHT_PREV } 6467 -enum : uint { MCHT_CALENDARDAY = MCHT_CALENDAR | 0x0002 } 6468 -enum : uint { MCHT_CALENDARWEEKNUM = MCHT_CALENDAR | 0x0003 } 6469 - 6470 -enum : uint { MCM_SETFIRSTDAYOFWEEK = MCM_FIRST + 15 } 6471 -// #define MonthCal_SetFirstDayOfWeek(hmc, iDay) SNDMSG(hmc, MCM_SETFIRSTDAYOFWEEK, 0, iDay) 6472 - 6473 -enum : uint { MCM_GETFIRSTDAYOFWEEK = MCM_FIRST + 16 } 6474 -// #define MonthCal_GetFirstDayOfWeek(hmc) (DWORD)SNDMSG(hmc, MCM_GETFIRSTDAYOFWEEK, 0, 0) 6475 - 6476 -enum : uint { MCM_GETRANGE = MCM_FIRST + 17 } 6477 -// #define MonthCal_GetRange(hmc, rgst) (DWORD)SNDMSG(hmc, MCM_GETRANGE, 0, (LPARAM)(rgst)) 6478 - 6479 -enum : uint { MCM_SETRANGE = MCM_FIRST + 18 } 6480 -// #define MonthCal_SetRange(hmc, gd, rgst) (BOOL)SNDMSG(hmc, MCM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) 6481 - 6482 -enum : uint { MCM_GETMONTHDELTA = MCM_FIRST + 19 } 6483 -// #define MonthCal_GetMonthDelta(hmc) (int)SNDMSG(hmc, MCM_GETMONTHDELTA, 0, 0) 6484 - 6485 -enum : uint { MCM_SETMONTHDELTA = MCM_FIRST + 20 } 6486 -// #define MonthCal_SetMonthDelta(hmc, n) (int)SNDMSG(hmc, MCM_SETMONTHDELTA, n, 0) 6487 - 6488 -enum : uint { MCM_GETMAXTODAYWIDTH = MCM_FIRST + 21 } 6489 -// #define MonthCal_GetMaxTodayWidth(hmc) (DWORD)SNDMSG(hmc, MCM_GETMAXTODAYWIDTH, 0, 0) 6490 - 6491 -// #if (_WIN32_IE >= 0x0400) 6492 -alias CCM_SETUNICODEFORMAT MCM_SETUNICODEFORMAT; 6493 -// #define MonthCal_SetUnicodeFormat(hwnd, fUnicode) (BOOL)SNDMSG((hwnd), MCM_SETUNICODEFORMAT, (WPARAM)(fUnicode), 0) 6494 - 6495 -alias CCM_GETUNICODEFORMAT MCM_GETUNICODEFORMAT; 6496 -// #define MonthCal_GetUnicodeFormat(hwnd) (BOOL)SNDMSG((hwnd), MCM_GETUNICODEFORMAT, 0, 0) 6497 -// #endif 6498 - 6499 -struct tagNMSELCHANGE { 6500 - NMHDR nmhdr; 6501 - 6502 - SYSTEMTIME stSelStart; 6503 - SYSTEMTIME stSelEnd; 6504 -} 6505 -alias tagNMSELCHANGE NMSELCHANGE; 6506 -alias tagNMSELCHANGE* LPNMSELCHANGE; 6507 - 6508 -enum : uint { MCN_SELCHANGE = MCN_FIRST + 1 } 6509 - 6510 -struct tagNMDAYSTATE { 6511 - NMHDR nmhdr; 6512 - 6513 - SYSTEMTIME stStart; 6514 - int cDayState; 6515 - LPMONTHDAYSTATE prgDayState; 6516 -} 6517 -alias tagNMDAYSTATE NMDAYSTATE; 6518 -alias tagNMDAYSTATE* LPNMDAYSTATE; 6519 - 6520 -enum : uint { MCN_GETDAYSTATE = MCN_FIRST + 3 } 6521 - 6522 -alias NMSELCHANGE NMSELECT; 6523 -alias NMSELCHANGE* LPNMSELECT; 6524 - 6525 -enum : uint { MCN_SELECT = MCN_FIRST + 4 } 6526 - 6527 -enum : uint { MCS_DAYSTATE = 0x0001 } 6528 -enum : uint { MCS_MULTISELECT = 0x0002 } 6529 -enum : uint { MCS_WEEKNUMBERS = 0x0004 } 6530 -// #if (_WIN32_IE >= 0x0400) 6531 -enum : uint { MCS_NOTODAYCIRCLE = 0x0008 } 6532 -enum : uint { MCS_NOTODAY = 0x0010 } 6533 -// #else 6534 -// #... 6535 -// #endif 6536 - 6537 -enum : uint { GMR_VISIBLE = 0 } 6538 -enum : uint { GMR_DAYSTATE = 1 } 6539 - 6540 -// #endif // _WIN32 6541 -// #endif // NOMONTHCAL 6542 - 6543 -// #ifndef NODATETIMEPICK 6544 -// #ifdef _WIN32 6545 - 6546 -const wchar[] DATETIMEPICK_CLASSW = "SysDateTimePick32"; 6547 -const char[] DATETIMEPICK_CLASSA = "SysDateTimePick32"; 6548 - 6549 -// #ifdef UNICODE 6550 -alias DATETIMEPICK_CLASSW DATETIMEPICK_CLASS; 6551 -// #else 6552 -// #... 6553 -// #endif 6554 - 6555 -enum : uint { DTM_FIRST = 0x1000 } 6556 - 6557 -enum : uint { DTM_GETSYSTEMTIME = DTM_FIRST + 1 } 6558 -// #define DateTime_GetSystemtime(hdp, pst) (DWORD)SNDMSG(hdp, DTM_GETSYSTEMTIME, 0, (LPARAM)(pst)) 6559 - 6560 -enum : uint { DTM_SETSYSTEMTIME = DTM_FIRST + 2 } 6561 -// #define DateTime_SetSystemtime(hdp, gd, pst) (BOOL)SNDMSG(hdp, DTM_SETSYSTEMTIME, (WPARAM)(gd), (LPARAM)(pst)) 6562 - 6563 -enum : uint { DTM_GETRANGE = DTM_FIRST + 3 } 6564 -// #define DateTime_GetRange(hdp, rgst) (DWORD)SNDMSG(hdp, DTM_GETRANGE, 0, (LPARAM)(rgst)) 6565 - 6566 -enum : uint { DTM_SETRANGE = DTM_FIRST + 4 } 6567 -// #define DateTime_SetRange(hdp, gd, rgst) (BOOL)SNDMSG(hdp, DTM_SETRANGE, (WPARAM)(gd), (LPARAM)(rgst)) 6568 - 6569 -enum : uint { DTM_SETFORMATA = DTM_FIRST + 5 } 6570 -enum : uint { DTM_SETFORMATW = DTM_FIRST + 50 } 6571 - 6572 -// #ifdef UNICODE 6573 -alias DTM_SETFORMATW DTM_SETFORMAT; 6574 -// #else 6575 -// #... 6576 -// #endif 6577 - 6578 -// #define DateTime_SetFormat(hdp, sz) (BOOL)SNDMSG(hdp, DTM_SETFORMAT, 0, (LPARAM)(sz)) 6579 - 6580 -enum : uint { DTM_SETMCCOLOR = DTM_FIRST + 6 } 6581 -// #define DateTime_SetMonthCalColor(hdp, iColor, clr) SNDMSG(hdp, DTM_SETMCCOLOR, iColor, clr) 6582 - 6583 -enum : uint { DTM_GETMCCOLOR = DTM_FIRST + 7 } 6584 -// #define DateTime_GetMonthCalColor(hdp, iColor) SNDMSG(hdp, DTM_GETMCCOLOR, iColor, 0) 6585 - 6586 -enum : uint { DTM_GETMONTHCAL = DTM_FIRST + 8 } 6587 -// #define DateTime_GetMonthCal(hdp) (HWND)SNDMSG(hdp, DTM_GETMONTHCAL, 0, 0) 6588 - 6589 -// #if (_WIN32_IE >= 0x0400) 6590 - 6591 -enum : uint { DTM_SETMCFONT = DTM_FIRST + 9 } 6592 -// #define DateTime_SetMonthCalFont(hdp, hfont, fRedraw) SNDMSG(hdp, DTM_SETMCFONT, (WPARAM)(hfont), (LPARAM)(fRedraw)) 6593 - 6594 -enum : uint { DTM_GETMCFONT = DTM_FIRST + 10 } 6595 -// #define DateTime_GetMonthCalFont(hdp) SNDMSG(hdp, DTM_GETMCFONT, 0, 0) 6596 - 6597 -// #endif // _WIN32_IE >= 0x0400 6598 - 6599 -enum : uint { DTS_UPDOWN = 0x0001 } 6600 -enum : uint { DTS_SHOWNONE = 0x0002 } 6601 -enum : uint { DTS_SHORTDATEFORMAT = 0x0000 } 6602 -enum : uint { DTS_LONGDATEFORMAT = 0x0004 } 6603 -// #if (_WIN32_IE >= 0x500) 6604 -enum : uint { DTS_SHORTDATECENTURYFORMAT = 0x000C } 6605 -// #endif // (_WIN32_IE >= 0x500) 6606 -enum : uint { DTS_TIMEFORMAT = 0x0009 } 6607 -enum : uint { DTS_APPCANPARSE = 0x0010 } 6608 -enum : uint { DTS_RIGHTALIGN = 0x0020 } 6609 - 6610 -enum : uint { DTN_DATETIMECHANGE = DTN_FIRST + 1 } 6611 -struct tagNMDATETIMECHANGE { 6612 - NMHDR nmhdr; 6613 - DWORD dwFlags; 6614 - SYSTEMTIME st; 6615 -} 6616 -alias tagNMDATETIMECHANGE NMDATETIMECHANGE; 6617 -alias tagNMDATETIMECHANGE* LPNMDATETIMECHANGE; 6618 - 6619 -enum : uint { DTN_USERSTRINGA = DTN_FIRST + 2 } 6620 -enum : uint { DTN_USERSTRINGW = DTN_FIRST + 15 } 6621 -struct tagNMDATETIMESTRINGA { 6622 - NMHDR nmhdr; 6623 - LPCSTR pszUserString; 6624 - SYSTEMTIME st; 6625 - DWORD dwFlags; 6626 -} 6627 -alias tagNMDATETIMESTRINGA NMDATETIMESTRINGA; 6628 -alias tagNMDATETIMESTRINGA* LPNMDATETIMESTRINGA; 6629 - 6630 -struct tagNMDATETIMESTRINGW { 6631 - NMHDR nmhdr; 6632 - LPCWSTR pszUserString; 6633 - SYSTEMTIME st; 6634 - DWORD dwFlags; 6635 -} 6636 -alias tagNMDATETIMESTRINGW NMDATETIMESTRINGW; 6637 -alias tagNMDATETIMESTRINGW* LPNMDATETIMESTRINGW; 6638 - 6639 -// #ifdef UNICODE 6640 -alias DTN_USERSTRINGW DTN_USERSTRING; 6641 -alias NMDATETIMESTRINGW NMDATETIMESTRING; 6642 -alias LPNMDATETIMESTRINGW LPNMDATETIMESTRING; 6643 -// #else 6644 -// #... 6645 -// #... 6646 -// #... 6647 -// #endif 6648 - 6649 -enum : uint { DTN_WMKEYDOWNA = DTN_FIRST + 3 } 6650 -enum : uint { DTN_WMKEYDOWNW = DTN_FIRST + 16 } 6651 -struct tagNMDATETIMEWMKEYDOWNA { 6652 - NMHDR nmhdr; 6653 - int nVirtKey; 6654 - LPCSTR pszFormat; 6655 - SYSTEMTIME st; 6656 -} 6657 -alias tagNMDATETIMEWMKEYDOWNA NMDATETIMEWMKEYDOWNA; 6658 -alias tagNMDATETIMEWMKEYDOWNA* LPNMDATETIMEWMKEYDOWNA; 6659 - 6660 -struct tagNMDATETIMEWMKEYDOWNW { 6661 - NMHDR nmhdr; 6662 - int nVirtKey; 6663 - LPCWSTR pszFormat; 6664 - SYSTEMTIME st; 6665 -} 6666 -alias tagNMDATETIMEWMKEYDOWNW NMDATETIMEWMKEYDOWNW; 6667 -alias tagNMDATETIMEWMKEYDOWNW* LPNMDATETIMEWMKEYDOWNW; 6668 - 6669 -// #ifdef UNICODE 6670 -alias DTN_WMKEYDOWNW DTN_WMKEYDOWN; 6671 -alias NMDATETIMEWMKEYDOWNW NMDATETIMEWMKEYDOWN; 6672 -alias LPNMDATETIMEWMKEYDOWNW LPNMDATETIMEWMKEYDOWN; 6673 -// #else 6674 -// #... 6675 -// #... 6676 -// #... 6677 -// #endif 6678 - 6679 -enum : uint { DTN_FORMATA = DTN_FIRST + 4 } 6680 -enum : uint { DTN_FORMATW = DTN_FIRST + 17 } 6681 -struct tagNMDATETIMEFORMATA { 6682 - NMHDR nmhdr; 6683 - LPCSTR pszFormat; 6684 - SYSTEMTIME st; 6685 - LPCSTR pszDisplay; 6686 - CHAR szDisplay[64]; 6687 -} 6688 -alias tagNMDATETIMEFORMATA NMDATETIMEFORMATA; 6689 -alias tagNMDATETIMEFORMATA* LPNMDATETIMEFORMATA; 6690 - 6691 -struct tagNMDATETIMEFORMATW { 6692 - NMHDR nmhdr; 6693 - LPCWSTR pszFormat; 6694 - SYSTEMTIME st; 6695 - LPCWSTR pszDisplay; 6696 - WCHAR szDisplay[64]; 6697 -} 6698 -alias tagNMDATETIMEFORMATW NMDATETIMEFORMATW; 6699 -alias tagNMDATETIMEFORMATW* LPNMDATETIMEFORMATW; 6700 - 6701 -// #ifdef UNICODE 6702 -alias DTN_FORMATW DTN_FORMAT; 6703 -alias NMDATETIMEFORMATW NMDATETIMEFORMAT; 6704 -alias LPNMDATETIMEFORMATW LPNMDATETIMEFORMAT; 6705 -// #else 6706 -// #... 6707 -// #... 6708 -// #... 6709 -// #endif 6710 - 6711 -enum : uint { DTN_FORMATQUERYA = DTN_FIRST + 5 } 6712 -enum : uint { DTN_FORMATQUERYW = DTN_FIRST + 18 } 6713 -struct tagNMDATETIMEFORMATQUERYA { 6714 - NMHDR nmhdr; 6715 - LPCSTR pszFormat; 6716 - SIZE szMax; 6717 -} 6718 -alias tagNMDATETIMEFORMATQUERYA NMDATETIMEFORMATQUERYA; 6719 -alias tagNMDATETIMEFORMATQUERYA* LPNMDATETIMEFORMATQUERYA; 6720 - 6721 -struct tagNMDATETIMEFORMATQUERYW { 6722 - NMHDR nmhdr; 6723 - LPCWSTR pszFormat; 6724 - SIZE szMax; 6725 -} 6726 -alias tagNMDATETIMEFORMATQUERYW NMDATETIMEFORMATQUERYW; 6727 -alias tagNMDATETIMEFORMATQUERYW* LPNMDATETIMEFORMATQUERYW; 6728 - 6729 -// #ifdef UNICODE 6730 -alias DTN_FORMATQUERYW DTN_FORMATQUERY; 6731 -alias NMDATETIMEFORMATQUERYW NMDATETIMEFORMATQUERY; 6732 -alias LPNMDATETIMEFORMATQUERYW LPNMDATETIMEFORMATQUERY; 6733 -// #else 6734 -// #... 6735 -// #... 6736 -// #... 6737 -// #endif 6738 - 6739 -enum : uint { DTN_DROPDOWN = DTN_FIRST + 6 } 6740 -enum : uint { DTN_CLOSEUP = DTN_FIRST + 7 } 6741 - 6742 -enum : uint { GDTR_MIN = 0x0001 } 6743 -enum : uint { GDTR_MAX = 0x0002 } 6744 - 6745 -enum { GDT_ERROR = -1 } 6746 -enum : uint { GDT_VALID = 0 } 6747 -enum : uint { GDT_NONE = 1 } 6748 - 6749 -// #endif // _WIN32 6750 -// #endif // NODATETIMEPICK 6751 - 6752 -// #if (_WIN32_IE >= 0x0400) 6753 - 6754 -// #ifndef NOIPADDRESS 6755 - 6756 -enum : uint { IPM_CLEARADDRESS = WM_USER+100 } 6757 -enum : uint { IPM_SETADDRESS = WM_USER+101 } 6758 -enum : uint { IPM_GETADDRESS = WM_USER+102 } 6759 -enum : uint { IPM_SETRANGE = WM_USER+103 } 6760 -enum : uint { IPM_SETFOCUS = WM_USER+104 } 6761 -enum : uint { IPM_ISBLANK = WM_USER+105 } 6762 - 6763 -const wchar[] WC_IPADDRESSW = "SysIPAddress32"; 6764 -const char[] WC_IPADDRESSA = "SysIPAddress32"; 6765 - 6766 -// #ifdef UNICODE 6767 -alias WC_IPADDRESSW WC_IPADDRESS; 6768 -// #else 6769 -// #... 6770 -// #endif 6771 - 6772 -enum : uint { IPN_FIELDCHANGED = IPN_FIRST - 0 } 6773 -struct tagNMIPADDRESS { 6774 - NMHDR hdr; 6775 - int iField; 6776 - int iValue; 6777 -} 6778 -alias tagNMIPADDRESS NMIPADDRESS; 6779 -alias tagNMIPADDRESS* LPNMIPADDRESS; 6780 - 6781 -// #define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low))) 6782 - 6783 -// #define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4)))) 6784 - 6785 -// #define FIRST_IPADDRESS(x) ((x>>24) & 0xff) 6786 -// #define SECOND_IPADDRESS(x) ((x>>16) & 0xff) 6787 -// #define THIRD_IPADDRESS(x) ((x>>8) & 0xff) 6788 -// #define FOURTH_IPADDRESS(x) (x & 0xff) 6789 - 6790 -// #endif // NOIPADDRESS 6791 - 6792 -// #ifndef NOPAGESCROLLER 6793 - 6794 -const wchar[] WC_PAGESCROLLERW = "SysPager"; 6795 -const char[] WC_PAGESCROLLERA = "SysPager"; 6796 - 6797 -// #ifdef UNICODE 6798 -alias WC_PAGESCROLLERW WC_PAGESCROLLER; 6799 -// #else 6800 -// #... 6801 -// #endif 6802 - 6803 -enum : uint { PGS_VERT = 0x00000000 } 6804 -enum : uint { PGS_HORZ = 0x00000001 } 6805 -enum : uint { PGS_AUTOSCROLL = 0x00000002 } 6806 -enum : uint { PGS_DRAGNDROP = 0x00000004 } 6807 - 6808 -enum : uint { PGF_INVISIBLE = 0 } 6809 -enum : uint { PGF_NORMAL = 1 } 6810 -enum : uint { PGF_GRAYED = 2 } 6811 -enum : uint { PGF_DEPRESSED = 4 } 6812 -enum : uint { PGF_HOT = 8 } 6813 - 6814 -enum : uint { PGB_TOPORLEFT = 0 } 6815 -enum : uint { PGB_BOTTOMORRIGHT = 1 } 6816 - 6817 -enum : uint { PGM_SETCHILD = PGM_FIRST + 1 } 6818 -// #define Pager_SetChild(hwnd, hwndChild) (void)SNDMSG((hwnd), PGM_SETCHILD, 0, (LPARAM)(hwndChild)) 6819 - 6820 -enum : uint { PGM_RECALCSIZE = PGM_FIRST + 2 } 6821 -// #define Pager_RecalcSize(hwnd) (void)SNDMSG((hwnd), PGM_RECALCSIZE, 0, 0) 6822 - 6823 -enum : uint { PGM_FORWARDMOUSE = PGM_FIRST + 3 } 6824 -// #define Pager_ForwardMouse(hwnd, bForward) (void)SNDMSG((hwnd), PGM_FORWARDMOUSE, (WPARAM)(bForward), 0) 6825 - 6826 -enum : uint { PGM_SETBKCOLOR = PGM_FIRST + 4 } 6827 -// #define Pager_SetBkColor(hwnd, clr) (COLORREF)SNDMSG((hwnd), PGM_SETBKCOLOR, 0, (LPARAM)(clr)) 6828 - 6829 -enum : uint { PGM_GETBKCOLOR = PGM_FIRST + 5 } 6830 -// #define Pager_GetBkColor(hwnd) (COLORREF)SNDMSG((hwnd), PGM_GETBKCOLOR, 0, 0) 6831 - 6832 -enum : uint { PGM_SETBORDER = PGM_FIRST + 6 } 6833 -// #define Pager_SetBorder(hwnd, iBorder) (int)SNDMSG((hwnd), PGM_SETBORDER, 0, (LPARAM)(iBorder)) 6834 - 6835 -enum : uint { PGM_GETBORDER = PGM_FIRST + 7 } 6836 -// #define Pager_GetBorder(hwnd) (int)SNDMSG((hwnd), PGM_GETBORDER, 0, 0) 6837 - 6838 -enum : uint { PGM_SETPOS = PGM_FIRST + 8 } 6839 -// #define Pager_SetPos(hwnd, iPos) (int)SNDMSG((hwnd), PGM_SETPOS, 0, (LPARAM)(iPos)) 6840 - 6841 -enum : uint { PGM_GETPOS = PGM_FIRST + 9 } 6842 -// #define Pager_GetPos(hwnd) (int)SNDMSG((hwnd), PGM_GETPOS, 0, 0) 6843 - 6844 -enum : uint { PGM_SETBUTTONSIZE = PGM_FIRST + 10 } 6845 -// #define Pager_SetButtonSize(hwnd, iSize) (int)SNDMSG((hwnd), PGM_SETBUTTONSIZE, 0, (LPARAM)(iSize)) 6846 - 6847 -enum : uint { PGM_GETBUTTONSIZE = PGM_FIRST + 11 } 6848 -// #define Pager_GetButtonSize(hwnd) (int)SNDMSG((hwnd), PGM_GETBUTTONSIZE, 0,0) 6849 - 6850 -enum : uint { PGM_GETBUTTONSTATE = PGM_FIRST + 12 } 6851 -// #define Pager_GetButtonState(hwnd, iButton) (DWORD)SNDMSG((hwnd), PGM_GETBUTTONSTATE, 0, (LPARAM)(iButton)) 6852 - 6853 -alias CCM_GETDROPTARGET PGM_GETDROPTARGET; 6854 -// #define Pager_GetDropTarget(hwnd, ppdt) (void)SNDMSG((hwnd), PGM_GETDROPTARGET, 0, (LPARAM)(ppdt)) 6855 - 6856 -enum : uint { PGN_SCROLL = PGN_FIRST-1 } 6857 - 6858 -enum : uint { PGF_SCROLLUP = 1 } 6859 -enum : uint { PGF_SCROLLDOWN = 2 } 6860 -enum : uint { PGF_SCROLLLEFT = 4 } 6861 -enum : uint { PGF_SCROLLRIGHT = 8 } 6862 - 6863 -enum : uint { PGK_SHIFT = 1 } 6864 -enum : uint { PGK_CONTROL = 2 } 6865 -enum : uint { PGK_MENU = 4 } 6866 - 6867 -// #ifdef _WIN32 6868 -align(1): 6869 -// #endif 6870 - 6871 -struct _16 { 6872 - NMHDR hdr; 6873 - WORD fwKeys; 6874 - RECT rcParent; 6875 - int iDir; 6876 - int iXpos; 6877 - int iYpos; 6878 - int iScroll; 6879 -} 6880 -alias _16 NMPGSCROLL; 6881 -alias _16* LPNMPGSCROLL; 6882 - 6883 -// #ifdef _WIN32 6884 -align: 6885 -// #endif 6886 - 6887 -enum : uint { PGN_CALCSIZE = PGN_FIRST-2 } 6888 - 6889 -enum : uint { PGF_CALCWIDTH = 1 } 6890 -enum : uint { PGF_CALCHEIGHT = 2 } 6891 - 6892 -struct _17 { 6893 - NMHDR hdr; 6894 - DWORD dwFlag; 6895 - int iWidth; 6896 - int iHeight; 6897 -} 6898 -alias _17 NMPGCALCSIZE; 6899 -alias _17* LPNMPGCALCSIZE; 6900 - 6901 -enum : uint { PGN_HOTITEMCHANGE = PGN_FIRST-3 } 6902 - 6903 -struct tagNMPGHOTITEM { 6904 - NMHDR hdr; 6905 - int idOld; 6906 - int idNew; 6907 - DWORD dwFlags; 6908 -} 6909 -alias tagNMPGHOTITEM NMPGHOTITEM; 6910 -alias tagNMPGHOTITEM* LPNMPGHOTITEM; 6911 - 6912 -// #endif // NOPAGESCROLLER 6913 - 6914 -// #ifndef NONATIVEFONTCTL 6915 - 6916 -const wchar[] WC_NATIVEFONTCTLW = "NativeFontCtl"; 6917 -const char[] WC_NATIVEFONTCTLA = "NativeFontCtl"; 6918 - 6919 -// #ifdef UNICODE 6920 -alias WC_NATIVEFONTCTLW WC_NATIVEFONTCTL; 6921 -// #else 6922 -// #... 6923 -// #endif 6924 - 6925 -enum : uint { NFS_EDIT = 0x0001 } 6926 -enum : uint { NFS_STATIC = 0x0002 } 6927 -enum : uint { NFS_LISTCOMBO = 0x0004 } 6928 -enum : uint { NFS_BUTTON = 0x0008 } 6929 -enum : uint { NFS_ALL = 0x0010 } 6930 -enum : uint { NFS_USEFONTASSOC = 0x0020 } 6931 - 6932 -// #endif // NONATIVEFONTCTL 6933 - 6934 -// #ifndef NOBUTTON 6935 - 6936 -// #ifdef _WIN32 6937 - 6938 -const char[] WC_BUTTONA = "Button"; 6939 -const wchar[] WC_BUTTONW = "Button"; 6940 - 6941 -// #ifdef UNICODE 6942 -alias WC_BUTTONW WC_BUTTON; 6943 -// #else 6944 -// #... 6945 -// #endif 6946 - 6947 -// #else 6948 -// #... 6949 -// #endif 6950 - 6951 -// #if (_WIN32_WINNT >= 0x501) 6952 -enum : uint { BUTTON_IMAGELIST_ALIGN_LEFT = 0 } 6953 -enum : uint { BUTTON_IMAGELIST_ALIGN_RIGHT = 1 } 6954 -enum : uint { BUTTON_IMAGELIST_ALIGN_TOP = 2 } 6955 -enum : uint { BUTTON_IMAGELIST_ALIGN_BOTTOM = 3 } 6956 -enum : uint { BUTTON_IMAGELIST_ALIGN_CENTER = 4 } 6957 - 6958 -struct _18 { 6959 - HIMAGELIST himl; 6960 - RECT margin; 6961 - UINT uAlign; 6962 -} 6963 -alias _18 BUTTON_IMAGELIST; 6964 -alias _18* PBUTTON_IMAGELIST; 6965 - 6966 -enum : uint { BCM_GETIDEALSIZE = BCM_FIRST + 0x0001 } 6967 -// #define Button_GetIdealSize(hwnd, psize) (BOOL)SNDMSG((hwnd), BCM_GETIDEALSIZE, 0, (LPARAM)(psize)) 6968 - 6969 -enum : uint { BCM_SETIMAGELIST = BCM_FIRST + 0x0002 } 6970 -// #define Button_SetImageList(hwnd, pbuttonImagelist) (BOOL)SNDMSG((hwnd), BCM_SETIMAGELIST, 0, (LPARAM)(pbuttonImagelist)) 6971 - 6972 -enum : uint { BCM_GETIMAGELIST = BCM_FIRST + 0x0003 } 6973 -// #define Button_GetImageList(hwnd, pbuttonImagelist) (BOOL)SNDMSG((hwnd), BCM_GETIMAGELIST, 0, (LPARAM)(pbuttonImagelist)) 6974 - 6975 -enum : uint { BCM_SETTEXTMARGIN = BCM_FIRST + 0x0004 } 6976 -// #define Button_SetTextMargin(hwnd, pmargin) (BOOL)SNDMSG((hwnd), BCM_SETTEXTMARGIN, 0, (LPARAM)(pmargin)) 6977 -enum : uint { BCM_GETTEXTMARGIN = BCM_FIRST + 0x0005 } 6978 -// #define Button_GetTextMargin(hwnd, pmargin) (BOOL)SNDMSG((hwnd), BCM_GETTEXTMARGIN, 0, (LPARAM)(pmargin)) 6979 - 6980 -struct tagNMBCHOTITEM { 6981 - NMHDR hdr; 6982 - DWORD dwFlags; 6983 -} 6984 -alias tagNMBCHOTITEM NMBCHOTITEM; 6985 -alias tagNMBCHOTITEM* LPNMBCHOTITEM; 6986 - 6987 -enum : uint { BCN_HOTITEMCHANGE = BCN_FIRST + 0x0001 } 6988 - 6989 -enum : uint { BST_HOT = 0x0200 } 6990 - 6991 -// #endif 6992 - 6993 -// #endif // NOBUTTON 6994 - 6995 -// #ifndef NOSTATIC 6996 - 6997 -// #ifdef _WIN32 6998 - 6999 -const char[] WC_STATICA = "Static"; 7000 -const wchar[] WC_STATICW = "Static"; 7001 - 7002 -// #ifdef UNICODE 7003 -alias WC_STATICW WC_STATIC; 7004 -// #else 7005 -// #... 7006 -// #endif 7007 - 7008 -// #else 7009 -// #... 7010 -// #endif 7011 - 7012 -// #endif // NOSTATIC 7013 - 7014 -// #ifndef NOEDIT 7015 - 7016 -// #ifdef _WIN32 7017 - 7018 -const char[] WC_EDITA = "Edit"; 7019 -const wchar[] WC_EDITW = "Edit"; 7020 - 7021 -// #ifdef UNICODE 7022 -alias WC_EDITW WC_EDIT; 7023 -// #else 7024 -// #... 7025 -// #endif 7026 - 7027 -// #else 7028 -// #... 7029 -// #endif 7030 - 7031 -// #if (_WIN32_WINNT >= 0x501) 7032 -enum : uint { EM_SETCUEBANNER = ECM_FIRST + 1 } 7033 -// #define Edit_SetCueBannerText(hwnd, lpcwText) (BOOL)SNDMSG((hwnd), EM_SETCUEBANNER, 0, (LPARAM)(lpcwText)) 7034 -enum : uint { EM_GETCUEBANNER = ECM_FIRST + 2 } 7035 -// #define Edit_GetCueBannerText(hwnd, lpwText, cchText) (BOOL)SNDMSG((hwnd), EM_GETCUEBANNER, (WPARAM)(lpwText), (LPARAM)(cchText)) 7036 - 7037 -struct _tagEDITBALLOONTIP { 7038 - DWORD cbStruct; 7039 - LPCWSTR pszTitle; 7040 - LPCWSTR pszText; 7041 - INT ttiIcon; 7042 -} 7043 -alias _tagEDITBALLOONTIP EDITBALLOONTIP; 7044 -alias _tagEDITBALLOONTIP* PEDITBALLOONTIP; 7045 - 7046 -enum : uint { EM_SHOWBALLOONTIP = ECM_FIRST + 3 } 7047 -// #define Edit_ShowBalloonTip(hwnd, peditballoontip) (BOOL)SNDMSG((hwnd), EM_SHOWBALLOONTIP, 0, (LPARAM)(peditballoontip)) 7048 -enum : uint { EM_HIDEBALLOONTIP = ECM_FIRST + 4 } 7049 -// #define Edit_HideBalloonTip(hwnd) (BOOL)SNDMSG((hwnd), EM_HIDEBALLOONTIP, 0, 0) 7050 -// #endif 7051 - 7052 -// #endif // NOEDIT 7053 - 7054 -// #ifndef NOLISTBOX 7055 - 7056 -// #ifdef _WIN32 7057 - 7058 -const char[] WC_LISTBOXA = "ListBox"; 7059 -const wchar[] WC_LISTBOXW = "ListBox"; 7060 - 7061 -// #ifdef UNICODE 7062 -alias WC_LISTBOXW WC_LISTBOX; 7063 -// #else 7064 -// #... 7065 -// #endif 7066 - 7067 -// #else 7068 -// #... 7069 -// #endif 7070 - 7071 -// #endif // NOLISTBOX 7072 - 7073 -// #ifndef NOCOMBOBOX 7074 - 7075 -// #ifdef _WIN32 7076 - 7077 -const char[] WC_COMBOBOXA = "ComboBox"; 7078 -const wchar[] WC_COMBOBOXW = "ComboBox"; 7079 - 7080 -// #ifdef UNICODE 7081 -alias WC_COMBOBOXW WC_COMBOBOX; 7082 -// #else 7083 -// #... 7084 -// #endif 7085 - 7086 -// #else 7087 -// #... 7088 -// #endif 7089 - 7090 -// #endif // NOCOMBOBOX 7091 - 7092 -// #if (_WIN32_WINNT >= 0x501) 7093 - 7094 -enum : uint { CB_SETMINVISIBLE = CBM_FIRST + 1 } 7095 -enum : uint { CB_GETMINVISIBLE = CBM_FIRST + 2 } 7096 - 7097 -// #define ComboBox_SetMinVisible(hwnd, iMinVisible) (BOOL)SNDMSG((hwnd), CB_SETMINVISIBLE, (WPARAM)iMinVisible, 0) 7098 - 7099 -// #define ComboBox_GetMinVisible(hwnd) (int)SNDMSG((hwnd), CB_GETMINVISIBLE, 0, 0) 7100 - 7101 -// #endif 7102 - 7103 -// #ifndef NOSCROLLBAR 7104 - 7105 -// #ifdef _WIN32 7106 - 7107 -const char[] WC_SCROLLBARA = "ScrollBar"; 7108 -const wchar[] WC_SCROLLBARW = "ScrollBar"; 7109 - 7110 -// #ifdef UNICODE 7111 -alias WC_SCROLLBARW WC_SCROLLBAR; 7112 -// #else 7113 -// #... 7114 -// #endif 7115 - 7116 -// #else 7117 -// #... 7118 -// #endif 7119 - 7120 -// #endif // NOSCROLLBAR 7121 - 7122 -// #ifdef _WIN32 7123 -// #if (_WIN32_WINNT >= 0x501) 7124 - 7125 -enum { INVALID_LINK_INDEX = -1 } 7126 -enum : uint { MAX_LINKID_TEXT = 48 } 7127 -enum { L_MAX_URL_LENGTH = 2048 + 32 + 4 } 7128 - 7129 -const wchar[] WC_LINK = "SysLink"; 7130 - 7131 -enum : uint { LWS_TRANSPARENT = 0x0001 } 7132 -enum : uint { LWS_IGNORERETURN = 0x0002 } 7133 - 7134 -enum : uint { LIF_ITEMINDEX = 0x00000001 } 7135 -enum : uint { LIF_STATE = 0x00000002 } 7136 -enum : uint { LIF_ITEMID = 0x00000004 } 7137 -enum : uint { LIF_URL = 0x00000008 } 7138 - 7139 -enum : uint { LIS_FOCUSED = 0x00000001 } 7140 -enum : uint { LIS_ENABLED = 0x00000002 } 7141 -enum : uint { LIS_VISITED = 0x00000004 } 7142 - 7143 -struct tagLITEM { 7144 - UINT mask ; 7145 - int iLink ; 7146 - UINT state ; 7147 - UINT stateMask ; 7148 - WCHAR szID[MAX_LINKID_TEXT] ; 7149 - WCHAR szUrl[L_MAX_URL_LENGTH] ; 7150 -} 7151 -alias tagLITEM LITEM; 7152 -alias tagLITEM* PLITEM; 7153 - 7154 -struct tagLHITTESTINFO { 7155 - POINT pt ; 7156 - LITEM item ; 7157 -} 7158 -alias tagLHITTESTINFO LHITTESTINFO; 7159 -alias tagLHITTESTINFO* PLHITTESTINFO; 7160 - 7161 -struct tagNMLINK { 7162 - NMHDR hdr; 7163 - LITEM item ; 7164 -} 7165 -alias tagNMLINK NMLINK; 7166 -alias tagNMLINK* PNMLINK; 7167 - 7168 -enum : uint { LM_HITTEST = WM_USER+0x300 } 7169 -enum : uint { LM_GETIDEALHEIGHT = WM_USER+0x301 } 7170 -enum : uint { LM_SETITEM = WM_USER+0x302 } 7171 -enum : uint { LM_GETITEM = WM_USER+0x303 } 7172 - 7173 -// #endif 7174 -// #endif // _WIN32 7175 - 7176 -// #ifndef NOMUI 7177 -extern(Windows) export void InitMUILanguage(LANGID uiLang); 7178 - 7179 -extern(Windows) export LANGID GetMUILanguage(); 7180 -// #endif // NOMUI 7181 - 7182 -// #endif // _WIN32_IE >= 0x0400 7183 - 7184 -// #ifdef _WIN32 7185 - 7186 -// #ifndef NOTRACKMOUSEEVENT 7187 - 7188 -// #ifndef WM_MOUSEHOVER 7189 -// #... 7190 -// #... 7191 -// #endif 7192 - 7193 -// #ifndef TME_HOVER 7194 - 7195 -enum : uint { TME_HOVER = 0x00000001 } 7196 -enum : uint { TME_LEAVE = 0x00000002 } 7197 -// #if (WINVER >= 0x0500) 7198 -enum : uint { TME_NONCLIENT = 0x00000010 } 7199 -// #endif /* WINVER >= 0x0500 */ 7200 -enum : uint { TME_QUERY = 0x40000000 } 7201 -enum : uint { TME_CANCEL = 0x80000000 } 7202 - 7203 -enum : uint { HOVER_DEFAULT = 0xFFFFFFFF } 7204 - 7205 -struct tagTRACKMOUSEEVENT { 7206 - DWORD cbSize; 7207 - DWORD dwFlags; 7208 - HWND hwndTrack; 7209 - DWORD dwHoverTime; 7210 -} 7211 -alias tagTRACKMOUSEEVENT TRACKMOUSEEVENT; 7212 -alias tagTRACKMOUSEEVENT* LPTRACKMOUSEEVENT; 7213 - 7214 -// #endif // !TME_HOVER 7215 - 7216 -extern(Windows) export BOOL _TrackMouseEvent( 7217 - LPTRACKMOUSEEVENT lpEventTrack); 7218 - 7219 -// #endif // !NOTRACKMOUSEEVENT 7220 - 7221 -// #if (_WIN32_IE >= 0x0400) 7222 - 7223 -// #ifndef NOFLATSBAPIS 7224 - 7225 -enum : uint { WSB_PROP_CYVSCROLL = 0x00000001 } 7226 -enum : uint { WSB_PROP_CXHSCROLL = 0x00000002 } 7227 -enum : uint { WSB_PROP_CYHSCROLL = 0x00000004 } 7228 -enum : uint { WSB_PROP_CXVSCROLL = 0x00000008 } 7229 -enum : uint { WSB_PROP_CXHTHUMB = 0x00000010 } 7230 -enum : uint { WSB_PROP_CYVTHUMB = 0x00000020 } 7231 -enum : uint { WSB_PROP_VBKGCOLOR = 0x00000040 } 7232 -enum : uint { WSB_PROP_HBKGCOLOR = 0x00000080 } 7233 -enum : uint { WSB_PROP_VSTYLE = 0x00000100 } 7234 -enum : uint { WSB_PROP_HSTYLE = 0x00000200 } 7235 -enum : uint { WSB_PROP_WINSTYLE = 0x00000400 } 7236 -enum : uint { WSB_PROP_PALETTE = 0x00000800 } 7237 -enum : uint { WSB_PROP_MASK = 0x00000FFF } 7238 - 7239 -enum : uint { FSB_FLAT_MODE = 2 } 7240 -enum : uint { FSB_ENCARTA_MODE = 1 } 7241 -enum : uint { FSB_REGULAR_MODE = 0 } 7242 - 7243 -extern(Windows) export BOOL FlatSB_EnableScrollBar(HWND, int, UINT); 7244 -extern(Windows) export BOOL FlatSB_ShowScrollBar(HWND, int code, BOOL); 7245 - 7246 -extern(Windows) export BOOL FlatSB_GetScrollRange(HWND, int code, LPINT, LPINT); 7247 -extern(Windows) export BOOL FlatSB_GetScrollInfo(HWND, int code, LPSCROLLINFO); 7248 - 7249 -extern(Windows) export int FlatSB_GetScrollPos(HWND, int code); 7250 - 7251 -extern(Windows) export BOOL FlatSB_GetScrollProp(HWND, int propIndex, LPINT); 7252 -// #ifdef _WIN64 7253 -// ... 7254 -// #else 7255 -alias FlatSB_GetScrollProp FlatSB_GetScrollPropPtr; 7256 -// #endif 7257 - 7258 -extern(Windows) export int FlatSB_SetScrollPos(HWND, int code, int pos, BOOL fRedraw); 7259 - 7260 -extern(Windows) export int FlatSB_SetScrollInfo(HWND, int code, LPSCROLLINFO, BOOL fRedraw); 7261 - 7262 -extern(Windows) export int FlatSB_SetScrollRange(HWND, int code, int min, int max, BOOL fRedraw); 7263 -extern(Windows) export BOOL FlatSB_SetScrollProp(HWND, UINT index, INT_PTR newValue, BOOL); 7264 -alias FlatSB_SetScrollProp FlatSB_SetScrollPropPtr; 7265 - 7266 -extern(Windows) export BOOL InitializeFlatSB(HWND); 7267 -extern(Windows) export HRESULT UninitializeFlatSB(HWND); 7268 - 7269 -// #endif // NOFLATSBAPIS 7270 - 7271 -// #endif // _WIN32_IE >= 0x0400 7272 - 7273 -// #endif /* _WIN32 */ 7274 - 7275 -// #endif // _WIN32_IE >= 0x0300 7276 - 7277 -// #if (_WIN32_WINNT >= 0x501) 7278 - 7279 -extern(Windows) alias LRESULT function(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData) SUBCLASSPROC; 7280 - 7281 -extern(Windows) export BOOL SetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass, 7282 - DWORD_PTR dwRefData); 7283 -extern(Windows) export BOOL GetWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass, 7284 - DWORD_PTR *pdwRefData); 7285 -extern(Windows) export BOOL RemoveWindowSubclass(HWND hWnd, SUBCLASSPROC pfnSubclass, 7286 - UINT_PTR uIdSubclass); 7287 - 7288 -extern(Windows) export LRESULT DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); 7289 -// #endif 7290 - 7291 -// #if (_WIN32_WINNT >= 0x501) 7292 - 7293 -extern(Windows) export int DrawShadowText(HDC hdc, LPCWSTR pszText, UINT cch, RECT* prc, DWORD dwFlags, COLORREF crText, COLORREF crShadow, 7294 - int ixOffset, int iyOffset); 7295 -// #endif 7296 - 7297 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 7298 -// #if ISOLATION_AWARE_ENABLED 7299 - 7300 -// #if !defined(ISOLATION_AWARE_INLINE) 7301 -// #if defined(__cplusplus) 7302 -// #... 7303 -// #else 7304 -// #... 7305 -// #endif 7306 -// #endif 7307 - 7308 -// ... 7309 - 7310 -// ... 7311 -// #if defined(__IStream_INTERFACE_DEFINED__) 7312 -// ... 7313 -// #if defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) 7314 -// ... 7315 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) */ 7316 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) */ 7317 -// ... 7318 -// #if !defined(NOTRACKMOUSEEVENT) 7319 -// ... 7320 -// #endif /* !defined(NOTRACKMOUSEEVENT) */ 7321 -// ... 7322 -// #if (_WIN32_IE >= 0x560) 7323 -// ... 7324 -// #endif /* (_WIN32_IE >= 0x560) */ 7325 -// ... 7326 - 7327 -// #if defined(UNICODE) 7328 - 7329 -// #... 7330 -// #... 7331 -// #... 7332 - 7333 -// #else /* UNICODE */ 7334 - 7335 -// #... 7336 -// #... 7337 -// #... 7338 - 7339 -// #endif /* UNICODE */ 7340 - 7341 -// ... 7342 - 7343 -// ... 7344 - 7345 -// ... 7346 - 7347 -// ... 7348 - 7349 -// ... 7350 - 7351 -// ... 7352 - 7353 -// ... 7354 - 7355 -// ... 7356 - 7357 -// ... 7358 - 7359 -// ... 7360 - 7361 -// ... 7362 - 7363 -// ... 7364 - 7365 -// ... 7366 - 7367 -// ... 7368 - 7369 -// ... 7370 - 7371 -// ... 7372 - 7373 -// ... 7374 - 7375 -// ... 7376 - 7377 -// ... 7378 - 7379 -// ... 7380 - 7381 -// ... 7382 - 7383 -// ... 7384 - 7385 -// ... 7386 - 7387 -// ... 7388 - 7389 -// ... 7390 - 7391 -// ... 7392 - 7393 -// ... 7394 - 7395 -// ... 7396 - 7397 -// ... 7398 - 7399 -// #if defined(__IStream_INTERFACE_DEFINED__) 7400 - 7401 -// ... 7402 - 7403 -// ... 7404 - 7405 -// #if defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) 7406 - 7407 -// ... 7408 - 7409 -// ... 7410 - 7411 -// ... 7412 - 7413 -// ... 7414 - 7415 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) && (_WIN32_WINNT >= 0x0501) */ 7416 -// #endif /* defined(__IStream_INTERFACE_DEFINED__) */ 7417 - 7418 -// ... 7419 - 7420 -// ... 7421 - 7422 -// ... 7423 - 7424 -// ... 7425 - 7426 -// ... 7427 - 7428 -// ... 7429 - 7430 -// ... 7431 - 7432 -// ... 7433 - 7434 -// ... 7435 - 7436 -// ... 7437 - 7438 -// ... 7439 - 7440 -// ... 7441 - 7442 -// ... 7443 - 7444 -// ... 7445 - 7446 -// ... 7447 - 7448 -// ... 7449 - 7450 -// ... 7451 - 7452 -// ... 7453 - 7454 -// ... 7455 - 7456 -// ... 7457 - 7458 -// #if !defined(NOTRACKMOUSEEVENT) 7459 - 7460 -// ... 7461 - 7462 -// #endif /* !defined(NOTRACKMOUSEEVENT) */ 7463 - 7464 -// ... 7465 - 7466 -// ... 7467 - 7468 -// ... 7469 - 7470 -// ... 7471 - 7472 -// ... 7473 - 7474 -// ... 7475 - 7476 -// ... 7477 -// #if defined(_WIN64) 7478 -// ... 7479 -// #else 7480 -// ... 7481 -// #endif 7482 -// ... 7483 - 7484 -// ... 7485 - 7486 -// ... 7487 - 7488 -// ... 7489 - 7490 -// ... 7491 - 7492 -// ... 7493 - 7494 -// ... 7495 - 7496 -// ... 7497 - 7498 -// #if (_WIN32_IE >= 0x560) 7499 - 7500 -// ... 7501 - 7502 -// ... 7503 - 7504 -// ... 7505 - 7506 -// #endif /* (_WIN32_IE >= 0x560) */ 7507 - 7508 -// ... 7509 - 7510 -// ... 7511 - 7512 -// ... 7513 - 7514 -// #... 7515 -// #... 7516 -// #... 7517 -// #... 7518 -// #... 7519 -// #... 7520 -// #... 7521 -// #... 7522 -// #... 7523 -// #... 7524 -// #... 7525 -// #... 7526 -// #... 7527 -// #... 7528 -// #if defined(FlatSB_GetScrollPropPtr) 7529 -// #... 7530 -// #endif 7531 -// #... 7532 -// #... 7533 -// #... 7534 -// #... 7535 -// #... 7536 -// #... 7537 -// #... 7538 -// #... 7539 -// #... 7540 -// #... 7541 -// #... 7542 -// #... 7543 -// #... 7544 -// #... 7545 -// #... 7546 -// #... 7547 -// #... 7548 -// #... 7549 -// #... 7550 -// #... 7551 -// #... 7552 -// #... 7553 -// #... 7554 -// #... 7555 -// #... 7556 -// #... 7557 -// #... 7558 -// #... 7559 -// #... 7560 -// #... 7561 -// #... 7562 -// #... 7563 -// #... 7564 -// #... 7565 -// #... 7566 -// #... 7567 -// #... 7568 -// #... 7569 -// #... 7570 -// #... 7571 -// #... 7572 -// #... 7573 -// #... 7574 -// #... 7575 -// #... 7576 -// #... 7577 -// #... 7578 -// #... 7579 -// #... 7580 -// #... 7581 -// #... 7582 -// #... 7583 -// #... 7584 -// #... 7585 -// #... 7586 -// #... 7587 -// #... 7588 -// #... 7589 - 7590 -// #endif /* ISOLATION_AWARE_ENABLED */ 7591 -// #endif /* RC */ 7592 - 7593 -// #ifdef __cplusplus 7594 -// } 7595 -// #endif 7596 - 7597 -// #endif 7598 - 7599 -// #endif // _INC_COMMCTRL 7600 - 5872 +alias DestroyWindow CommandBar_Destroy; 5873 ++/ 5874 +//#endif // _WIN32_WCE

Modified src/win32/commdlg.d from [6d620068807bb293] to [dce8014c88d4101f].

1 +/***********************************************************************\ 2 +* commdlg.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.12 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.commdlg; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 -import win32.winuser; 8 -// inline #include <cderr.h> 9 -// ---- 10 - 11 -// #ifndef _INC_CDERR 12 -// #define _INC_CDERR 13 - 14 -// #if _MSC_VER > 1000 15 -// #pragma once 16 -// #endif 17 - 18 -enum : uint { CDERR_DIALOGFAILURE = 0xFFFF } 19 - 20 -enum : uint { CDERR_GENERALCODES = 0x0000 } 21 -enum : uint { CDERR_STRUCTSIZE = 0x0001 } 22 -enum : uint { CDERR_INITIALIZATION = 0x0002 } 23 -enum : uint { CDERR_NOTEMPLATE = 0x0003 } 24 -enum : uint { CDERR_NOHINSTANCE = 0x0004 } 25 -enum : uint { CDERR_LOADSTRFAILURE = 0x0005 } 26 -enum : uint { CDERR_FINDRESFAILURE = 0x0006 } 27 -enum : uint { CDERR_LOADRESFAILURE = 0x0007 } 28 -enum : uint { CDERR_LOCKRESFAILURE = 0x0008 } 29 -enum : uint { CDERR_MEMALLOCFAILURE = 0x0009 } 30 -enum : uint { CDERR_MEMLOCKFAILURE = 0x000A } 31 -enum : uint { CDERR_NOHOOK = 0x000B } 32 -enum : uint { CDERR_REGISTERMSGFAIL = 0x000C } 33 - 34 -enum : uint { PDERR_PRINTERCODES = 0x1000 } 35 -enum : uint { PDERR_SETUPFAILURE = 0x1001 } 36 -enum : uint { PDERR_PARSEFAILURE = 0x1002 } 37 -enum : uint { PDERR_RETDEFFAILURE = 0x1003 } 38 -enum : uint { PDERR_LOADDRVFAILURE = 0x1004 } 39 -enum : uint { PDERR_GETDEVMODEFAIL = 0x1005 } 40 -enum : uint { PDERR_INITFAILURE = 0x1006 } 41 -enum : uint { PDERR_NODEVICES = 0x1007 } 42 -enum : uint { PDERR_NODEFAULTPRN = 0x1008 } 43 -enum : uint { PDERR_DNDMMISMATCH = 0x1009 } 44 -enum : uint { PDERR_CREATEICFAILURE = 0x100A } 45 -enum : uint { PDERR_PRINTERNOTFOUND = 0x100B } 46 -enum : uint { PDERR_DEFAULTDIFFERENT = 0x100C } 47 - 48 -enum : uint { CFERR_CHOOSEFONTCODES = 0x2000 } 49 -enum : uint { CFERR_NOFONTS = 0x2001 } 50 -enum : uint { CFERR_MAXLESSTHANMIN = 0x2002 } 51 - 52 -enum : uint { FNERR_FILENAMECODES = 0x3000 } 53 -enum : uint { FNERR_SUBCLASSFAILURE = 0x3001 } 54 -enum : uint { FNERR_INVALIDFILENAME = 0x3002 } 55 -enum : uint { FNERR_BUFFERTOOSMALL = 0x3003 } 56 - 57 -enum : uint { FRERR_FINDREPLACECODES = 0x4000 } 58 -enum : uint { FRERR_BUFFERLENGTHZERO = 0x4001 } 59 - 60 -enum : uint { CCERR_CHOOSECOLORCODES = 0x5000 } 61 - 62 -// #endif /* !_INC_CDERR */ 63 -// ---- 64 - 65 -// #ifndef _INC_COMMDLG 66 -// #define _INC_COMMDLG 67 - 68 -// #if(WINVER >= 0x0500) 69 - 70 -// #ifdef DEFINE_GUID 71 - 72 -// ... 73 - 74 -// ... 75 - 76 -// #endif 77 - 78 -// #endif /* WINVER >= 0x0500 */ 79 - 80 -// #ifndef GUID_DEFS_ONLY 81 - 82 -// #include <prsht.h> 83 - 84 -// #if !defined(_WIN64) 85 -align(1): 86 -// #endif 87 - 88 -// #ifdef __cplusplus 89 -// extern "C" { /* Assume C declarations for C++ */ 90 -// #endif /* __cplusplus */ 91 - 92 -// #ifndef WINCOMMDLGAPI 93 -// #if !defined(_COMDLG32_) 94 -// #define WINCOMMDLGAPI DECLSPEC_IMPORT 95 -// #else 96 -// #... 97 -// #endif 98 -// #endif // WINCOMMDLGAPI 99 - 100 -// #if(WINVER >= 0x0400) 101 -// #ifndef SNDMSG 102 -// #ifdef __cplusplus 103 -// #ifndef _MAC 104 -// #define SNDMSG ::SendMessage 105 -// #else 106 -// #... 107 -// #endif 108 -// #else /* __cplusplus */ 109 -// #ifndef _MAC 110 -// #... 111 -// #else 112 -// #... 113 -// #endif 114 -// #endif /* __cplusplus */ 115 -// #endif // ifndef SNDMSG 116 -// #endif /* WINVER >= 0x0400 */ 117 - 118 -// #ifdef _MAC 119 -// ... 120 -// #endif 121 - 122 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPOFNHOOKPROC; 123 - 124 -// #ifndef CDSIZEOF_STRUCT 125 -// #define CDSIZEOF_STRUCT(structname, member) (((int)((LPBYTE)(&((structname*)0)->member) - ((LPBYTE)((structname*)0)))) + sizeof(((structname*)0)->member)) 126 -// #endif 127 - 128 -// #ifndef DUMMYUNIONNAME 129 -// #ifdef NONAMELESSUNION 130 -// #... 131 -// #endif // NONAMELESSUNION 132 -// #endif // DUMMYUNIONNAME 133 - 134 -struct tagOFN_NT4A { 135 - DWORD lStructSize; 136 - HWND hwndOwner; 137 - HINSTANCE hInstance; 138 - LPCSTR lpstrFilter; 139 - LPSTR lpstrCustomFilter; 140 - DWORD nMaxCustFilter; 141 - DWORD nFilterIndex; 142 - LPSTR lpstrFile; 143 - DWORD nMaxFile; 144 - LPSTR lpstrFileTitle; 145 - DWORD nMaxFileTitle; 146 - LPCSTR lpstrInitialDir; 147 - LPCSTR lpstrTitle; 148 - DWORD Flags; 149 - WORD nFileOffset; 150 - WORD nFileExtension; 151 - LPCSTR lpstrDefExt; 152 - LPARAM lCustData; 153 - LPOFNHOOKPROC lpfnHook; 154 - LPCSTR lpTemplateName; 11 +pragma(lib, "comdlg32.lib"); 12 + 13 +private import win32.w32api; 14 +import win32.windef, win32.winuser; 15 +import win32.wingdi; // for LPLOGFONTA 16 + 17 +const TCHAR[] 18 + LBSELCHSTRING = "commdlg_LBSelChangedNotify", 19 + SHAREVISTRING = "commdlg_ShareViolation", 20 + FILEOKSTRING = "commdlg_FileNameOK", 21 + COLOROKSTRING = "commdlg_ColorOK", 22 + SETRGBSTRING = "commdlg_SetRGBColor", 23 + HELPMSGSTRING = "commdlg_help", 24 + FINDMSGSTRING = "commdlg_FindReplace"; 25 + 26 +enum : UINT { 27 + CDN_FIRST = -601, // also in commctrl.h 28 + CDN_LAST = -699, 29 + CDN_INITDONE = CDN_FIRST, 30 + CDN_SELCHANGE = CDN_FIRST - 1, 31 + CDN_FOLDERCHANGE = CDN_FIRST - 2, 32 + CDN_SHAREVIOLATION = CDN_FIRST - 3, 33 + CDN_HELP = CDN_FIRST - 4, 34 + CDN_FILEOK = CDN_FIRST - 5, 35 + CDN_TYPECHANGE = CDN_FIRST - 6 36 +} 37 + 38 +enum : UINT { 39 + CDM_FIRST = WM_USER + 100, 40 + CDM_LAST = WM_USER + 200, 41 + CDM_GETSPEC = CDM_FIRST, 42 + CDM_GETFILEPATH, 43 + CDM_GETFOLDERPATH, 44 + CDM_GETFOLDERIDLIST, 45 + CDM_SETCONTROLTEXT, 46 + CDM_HIDECONTROL, 47 + CDM_SETDEFEXT // = CDM_FIRST + 6 48 +} 49 + 50 +// flags for ChooseColor 51 +enum : DWORD { 52 + CC_RGBINIT = 0x0001, 53 + CC_FULLOPEN = 0x0002, 54 + CC_PREVENTFULLOPEN = 0x0004, 55 + CC_SHOWHELP = 0x0008, 56 + CC_ENABLEHOOK = 0x0010, 57 + CC_ENABLETEMPLATE = 0x0020, 58 + CC_ENABLETEMPLATEHANDLE = 0x0040, 59 + CC_SOLIDCOLOR = 0x0080, 60 + CC_ANYCOLOR = 0x0100 61 +} 62 + 63 +// flags for ChooseFont 64 +enum : DWORD { 65 + CF_SCREENFONTS = 0x00000001, 66 + CF_PRINTERFONTS = 0x00000002, 67 + CF_BOTH = 0x00000003, 68 + CF_SHOWHELP = 0x00000004, 69 + CF_ENABLEHOOK = 0x00000008, 70 + CF_ENABLETEMPLATE = 0x00000010, 71 + CF_ENABLETEMPLATEHANDLE = 0x00000020, 72 + CF_INITTOLOGFONTSTRUCT = 0x00000040, 73 + CF_USESTYLE = 0x00000080, 74 + CF_EFFECTS = 0x00000100, 75 + CF_APPLY = 0x00000200, 76 + CF_ANSIONLY = 0x00000400, 77 + CF_SCRIPTSONLY = CF_ANSIONLY, 78 + CF_NOVECTORFONTS = 0x00000800, 79 + CF_NOOEMFONTS = 0x00000800, 80 + CF_NOSIMULATIONS = 0x00001000, 81 + CF_LIMITSIZE = 0x00002000, 82 + CF_FIXEDPITCHONLY = 0x00004000, 83 + CF_WYSIWYG = 0x00008000, 84 + CF_FORCEFONTEXIST = 0x00010000, 85 + CF_SCALABLEONLY = 0x00020000, 86 + CF_TTONLY = 0x00040000, 87 + CF_NOFACESEL = 0x00080000, 88 + CF_NOSTYLESEL = 0x00100000, 89 + CF_NOSIZESEL = 0x00200000, 90 + CF_SELECTSCRIPT = 0x00400000, 91 + CF_NOSCRIPTSEL = 0x00800000, 92 + CF_NOVERTFONTS = 0x01000000 93 +} 94 + 95 +// Font type for ChooseFont 96 +enum : WORD { 97 + BOLD_FONTTYPE = 0x0100, 98 + ITALIC_FONTTYPE = 0x0200, 99 + REGULAR_FONTTYPE = 0x0400, 100 + SCREEN_FONTTYPE = 0x2000, 101 + PRINTER_FONTTYPE = 0x4000, 102 + SIMULATED_FONTTYPE = 0x8000 103 +} 104 + 105 +enum : UINT { 106 + WM_CHOOSEFONT_GETLOGFONT = WM_USER + 1, 107 + WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101, 108 + WM_CHOOSEFONT_SETFLAGS = WM_USER + 102 109 +} 110 + 111 +// flags for OpenFileName 112 +enum : DWORD { 113 + OFN_SHAREWARN = 0, 114 + OFN_SHARENOWARN = 0x000001, 115 + OFN_READONLY = 0x000001, 116 + OFN_SHAREFALLTHROUGH = 0x000002, 117 + OFN_OVERWRITEPROMPT = 0x000002, 118 + OFN_HIDEREADONLY = 0x000004, 119 + OFN_NOCHANGEDIR = 0x000008, 120 + OFN_SHOWHELP = 0x000010, 121 + OFN_ENABLEHOOK = 0x000020, 122 + OFN_ENABLETEMPLATE = 0x000040, 123 + OFN_ENABLETEMPLATEHANDLE = 0x000080, 124 + OFN_NOVALIDATE = 0x000100, 125 + OFN_ALLOWMULTISELECT = 0x000200, 126 + OFN_EXTENSIONDIFFERENT = 0x000400, 127 + OFN_PATHMUSTEXIST = 0x000800, 128 + OFN_FILEMUSTEXIST = 0x001000, 129 + OFN_CREATEPROMPT = 0x002000, 130 + OFN_SHAREAWARE = 0x004000, 131 + OFN_NOREADONLYRETURN = 0x008000, 132 + OFN_NOTESTFILECREATE = 0x010000, 133 + OFN_NONETWORKBUTTON = 0x020000, 134 + OFN_NOLONGNAMES = 0x040000, 135 + OFN_EXPLORER = 0x080000, 136 + OFN_NODEREFERENCELINKS = 0x100000, 137 + OFN_LONGNAMES = 0x200000, 138 + OFN_ENABLESIZING = 0x800000 139 +} 140 + 141 +enum : DWORD { 142 + FR_DOWN = 0x00000001, 143 + FR_WHOLEWORD = 0x00000002, 144 + FR_MATCHCASE = 0x00000004, 145 + FR_FINDNEXT = 0x00000008, 146 + FR_REPLACE = 0x00000010, 147 + FR_REPLACEALL = 0x00000020, 148 + FR_DIALOGTERM = 0x00000040, 149 + FR_SHOWHELP = 0x00000080, 150 + FR_ENABLEHOOK = 0x00000100, 151 + FR_ENABLETEMPLATE = 0x00000200, 152 + FR_NOUPDOWN = 0x00000400, 153 + FR_NOMATCHCASE = 0x00000800, 154 + FR_NOWHOLEWORD = 0x00001000, 155 + FR_ENABLETEMPLATEHANDLE = 0x00002000, 156 + FR_HIDEUPDOWN = 0x00004000, 157 + FR_HIDEMATCHCASE = 0x00008000, 158 + FR_HIDEWHOLEWORD = 0x00010000, 159 + FR_MATCHDIAC = 0x20000000, 160 + FR_MATCHKASHIDA = 0x40000000, 161 + FR_MATCHALEFHAMZA = 0x80000000 162 +} 163 + 164 +enum : DWORD { 165 + PD_ALLPAGES = 0, 166 + PD_SELECTION = 0x000001, 167 + PD_PAGENUMS = 0x000002, 168 + PD_NOSELECTION = 0x000004, 169 + PD_NOPAGENUMS = 0x000008, 170 + PD_COLLATE = 0x000010, 171 + PD_PRINTTOFILE = 0x000020, 172 + PD_PRINTSETUP = 0x000040, 173 + PD_NOWARNING = 0x000080, 174 + PD_RETURNDC = 0x000100, 175 + PD_RETURNIC = 0x000200, 176 + PD_RETURNDEFAULT = 0x000400, 177 + PD_SHOWHELP = 0x000800, 178 + PD_ENABLEPRINTHOOK = 0x001000, 179 + PD_ENABLESETUPHOOK = 0x002000, 180 + PD_ENABLEPRINTTEMPLATE = 0x004000, 181 + PD_ENABLESETUPTEMPLATE = 0x008000, 182 + PD_ENABLEPRINTTEMPLATEHANDLE = 0x010000, 183 + PD_ENABLESETUPTEMPLATEHANDLE = 0x020000, 184 + PD_USEDEVMODECOPIES = 0x040000, 185 + PD_USEDEVMODECOPIESANDCOLLATE = 0x040000, 186 + PD_DISABLEPRINTTOFILE = 0x080000, 187 + PD_HIDEPRINTTOFILE = 0x100000, 188 + PD_NONETWORKBUTTON = 0x200000 189 +} 190 + 191 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 192 + enum : DWORD { 193 + PD_CURRENTPAGE = 0x00400000, 194 + PD_NOCURRENTPAGE = 0x00800000, 195 + PD_EXCLUSIONFLAGS = 0x01000000, 196 + PD_USELARGETEMPLATE = 0x10000000, 197 + } 198 + 199 + enum : HRESULT { 200 + PD_RESULT_CANCEL, 201 + PD_RESULT_PRINT, 202 + PD_RESULT_APPLY 203 + } 204 + 205 + const DWORD START_PAGE_GENERAL = 0xFFFFFFFF; 206 +} 207 + 208 +enum { 209 + PSD_DEFAULTMINMARGINS = 0, 210 + PSD_INWININIINTLMEASURE = 0, 211 + PSD_MINMARGINS = 0x000001, 212 + PSD_MARGINS = 0x000002, 213 + PSD_INTHOUSANDTHSOFINCHES = 0x000004, 214 + PSD_INHUNDREDTHSOFMILLIMETERS = 0x000008, 215 + PSD_DISABLEMARGINS = 0x000010, 216 + PSD_DISABLEPRINTER = 0x000020, 217 + PSD_NOWARNING = 0x000080, 218 + PSD_DISABLEORIENTATION = 0x000100, 219 + PSD_DISABLEPAPER = 0x000200, 220 + PSD_RETURNDEFAULT = 0x000400, 221 + PSD_SHOWHELP = 0x000800, 222 + PSD_ENABLEPAGESETUPHOOK = 0x002000, 223 + PSD_ENABLEPAGESETUPTEMPLATE = 0x008000, 224 + PSD_ENABLEPAGESETUPTEMPLATEHANDLE = 0x020000, 225 + PSD_ENABLEPAGEPAINTHOOK = 0x040000, 226 + PSD_DISABLEPAGEPAINTING = 0x080000 227 +} 228 + 229 +enum : UINT { 230 + WM_PSD_PAGESETUPDLG = WM_USER, 231 + WM_PSD_FULLPAGERECT, 232 + WM_PSD_MINMARGINRECT, 233 + WM_PSD_MARGINRECT, 234 + WM_PSD_GREEKTEXTRECT, 235 + WM_PSD_ENVSTAMPRECT, 236 + WM_PSD_YAFULLPAGERECT // = WM_USER + 6 237 +} 238 + 239 +enum : int { 240 + CD_LBSELNOITEMS = -1, 241 + CD_LBSELCHANGE, 242 + CD_LBSELSUB, 243 + CD_LBSELADD 244 +} 245 + 246 +const WORD DN_DEFAULTPRN = 1; 247 + 248 +/+ 249 +// Both MinGW and the windows docs indicate that there are macros for the send messages 250 +// the controls. These seem to be totally unnecessary -- and at least one of MinGW or 251 +// Windows Docs is buggy! 252 + 253 +int CommDlg_OpenSave_GetSpec(HWND hWndControl, LPARAM lparam, WPARAM wParam) { 254 + return SendMessage(hWndControl, CDM_GETSPEC, wParam, lParam); 255 +} 256 + 257 +int CommDlg_OpenSave_GetFilePath(HWND hWndControl, LPARAM lparam, WPARAM wParam) { 258 + return SendMessage(hWndControl, CDM_GETFILEPATH, wParam, lParam); 259 +} 260 + 261 +int CommDlg_OpenSave_GetFolderPath(HWND hWndControl, LPARAM lparam, WPARAM wParam) { 262 + return SendMessage(hWndControl, CDM_GETFOLDERPATH, wParam, lParam); 263 +} 264 + 265 +int CommDlg_OpenSave_GetFolderIDList(HWND hWndControl, LPARAM lparam, WPARAM wParam) { 266 + return SendMessage(hWndControl, CDM_GETFOLDERIDLIST, wParam, lParam); 267 +} 268 + 269 +void CommDlg_OpenSave_SetControlText(HWND hWndControl, LPARAM lparam, WPARAM wParam) { 270 + return SendMessage(hWndControl, CDM_SETCONTROLTEXT, wParam, lParam); 271 +} 272 + 273 +void CommDlg_OpenSave_HideControl(HWND hWndControl, WPARAM wParam) { 274 + return SendMessage(hWndControl, CDM_HIDECONTROL, wParam, 0); 275 +} 276 + 277 +void CommDlg_OpenSave_SetDefExt(HWND hWndControl, TCHAR* lparam) { 278 + return SendMessage(hWndControl, CDM_SETCONTROLTEXT, 0, cast(LPARAM)lParam); 279 +} 280 + 281 +// These aliases seem even more unnecessary 282 +alias CommDlg_OpenSave_GetSpec 283 + CommDlg_OpenSave_GetSpecA, CommDlg_OpenSave_GetSpecW; 284 +alias CommDlg_OpenSave_GetFilePath 285 + CommDlg_OpenSave_GetFilePathA, CommDlg_OpenSave_GetFilePathW; 286 +alias CommDlg_OpenSave_GetFolderPath 287 + CommDlg_OpenSave_GetFolderPathA, CommDlg_OpenSave_GetFolderPathW; 288 ++/ 289 + 290 +// Callbacks. 291 +extern(Windows) { 292 +alias UINT function (HWND, UINT, WPARAM, LPARAM) 293 + LPCCHOOKPROC, LPCFHOOKPROC, LPFRHOOKPROC, LPOFNHOOKPROC, 294 + LPPAGEPAINTHOOK, LPPAGESETUPHOOK, LPSETUPHOOKPROC, LPPRINTHOOKPROC; 295 +} 296 + 297 +align (1): 298 + 299 +struct CHOOSECOLORA { 300 + DWORD lStructSize = CHOOSECOLORA.sizeof; 301 + HWND hwndOwner; 302 + HWND hInstance; 303 + COLORREF rgbResult; 304 + COLORREF* lpCustColors; 305 + DWORD Flags; 306 + LPARAM lCustData; 307 + LPCCHOOKPROC lpfnHook; 308 + LPCSTR lpTemplateName; 309 +} 310 +alias CHOOSECOLORA* LPCHOOSECOLORA; 311 + 312 +struct CHOOSECOLORW { 313 + DWORD lStructSize = CHOOSECOLORW.sizeof; 314 + HWND hwndOwner; 315 + HWND hInstance; 316 + COLORREF rgbResult; 317 + COLORREF* lpCustColors; 318 + DWORD Flags; 319 + LPARAM lCustData; 320 + LPCCHOOKPROC lpfnHook; 321 + LPCWSTR lpTemplateName; 322 +} 323 +alias CHOOSECOLORW* LPCHOOSECOLORW; 324 + 325 +align (4) struct CHOOSEFONTA { 326 + DWORD lStructSize = CHOOSEFONTA.sizeof; 327 + HWND hwndOwner; 328 + HDC hDC; 329 + LPLOGFONTA lpLogFont; 330 + INT iPointSize; 331 + DWORD Flags; 332 + DWORD rgbColors; 333 + LPARAM lCustData; 334 + LPCFHOOKPROC lpfnHook; 335 + LPCSTR lpTemplateName; 336 + HINSTANCE hInstance; 337 + LPSTR lpszStyle; 338 + WORD nFontType; 339 + //WORD ___MISSING_ALIGNMENT__; 340 + INT nSizeMin; 341 + INT nSizeMax; 342 +} 343 +alias CHOOSEFONTA* LPCHOOSEFONTA; 344 + 345 +align (4) struct CHOOSEFONTW { 346 + DWORD lStructSize = CHOOSEFONTW.sizeof; 347 + HWND hwndOwner; 348 + HDC hDC; 349 + LPLOGFONTW lpLogFont; 350 + INT iPointSize; 351 + DWORD Flags; 352 + DWORD rgbColors; 353 + LPARAM lCustData; 354 + LPCFHOOKPROC lpfnHook; 355 + LPCWSTR lpTemplateName; 356 + HINSTANCE hInstance; 357 + LPWSTR lpszStyle; 358 + WORD nFontType; 359 + //WORD ___MISSING_ALIGNMENT__; 360 + INT nSizeMin; 361 + INT nSizeMax; 362 +} 363 +alias CHOOSEFONTW* LPCHOOSEFONTW; 364 + 365 +struct DEVNAMES { 366 + WORD wDriverOffset; 367 + WORD wDeviceOffset; 368 + WORD wOutputOffset; 369 + WORD wDefault; 370 +} 371 +alias DEVNAMES* LPDEVNAMES; 372 + 373 +struct FINDREPLACEA { 374 + DWORD lStructSize = FINDREPLACEA.sizeof; 375 + HWND hwndOwner; 376 + HINSTANCE hInstance; 377 + DWORD Flags; 378 + LPSTR lpstrFindWhat; 379 + LPSTR lpstrReplaceWith; 380 + WORD wFindWhatLen; 381 + WORD wReplaceWithLen; 382 + LPARAM lCustData; 383 + LPFRHOOKPROC lpfnHook; 384 + LPCSTR lpTemplateName; 385 +} 386 +alias FINDREPLACEA* LPFINDREPLACEA; 387 + 388 +struct FINDREPLACEW { 389 + DWORD lStructSize = FINDREPLACEW.sizeof; 390 + HWND hwndOwner; 391 + HINSTANCE hInstance; 392 + DWORD Flags; 393 + LPWSTR lpstrFindWhat; 394 + LPWSTR lpstrReplaceWith; 395 + WORD wFindWhatLen; 396 + WORD wReplaceWithLen; 397 + LPARAM lCustData; 398 + LPFRHOOKPROC lpfnHook; 399 + LPCWSTR lpTemplateName; 400 +} 401 +alias FINDREPLACEW* LPFINDREPLACEW; 402 + 403 +struct OPENFILENAMEA { 404 + DWORD lStructSize = OPENFILENAMEA.sizeof; 405 + HWND hwndOwner; 406 + HINSTANCE hInstance; 407 + LPCSTR lpstrFilter; 408 + LPSTR lpstrCustomFilter; 409 + DWORD nMaxCustFilter; 410 + DWORD nFilterIndex; 411 + LPSTR lpstrFile; 412 + DWORD nMaxFile; 413 + LPSTR lpstrFileTitle; 414 + DWORD nMaxFileTitle; 415 + LPCSTR lpstrInitialDir; 416 + LPCSTR lpstrTitle; 417 + DWORD Flags; 418 + WORD nFileOffset; 419 + WORD nFileExtension; 420 + LPCSTR lpstrDefExt; 421 + DWORD lCustData; 422 + LPOFNHOOKPROC lpfnHook; 423 + LPCSTR lpTemplateName; 424 + 425 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x0500) { 426 + void *pvReserved; 427 + DWORD dwReserved; 428 + DWORD FlagsEx; 429 + } 430 +} 431 +alias OPENFILENAMEA* LPOPENFILENAMEA; 432 + 433 +struct OPENFILENAMEW { 434 + DWORD lStructSize = OPENFILENAMEW.sizeof; 435 + HWND hwndOwner; 436 + HINSTANCE hInstance; 437 + LPCWSTR lpstrFilter; 438 + LPWSTR lpstrCustomFilter; 439 + DWORD nMaxCustFilter; 440 + DWORD nFilterIndex; 441 + LPWSTR lpstrFile; 442 + DWORD nMaxFile; 443 + LPWSTR lpstrFileTitle; 444 + DWORD nMaxFileTitle; 445 + LPCWSTR lpstrInitialDir; 446 + LPCWSTR lpstrTitle; 447 + DWORD Flags; 448 + WORD nFileOffset; 449 + WORD nFileExtension; 450 + LPCWSTR lpstrDefExt; 451 + DWORD lCustData; 452 + LPOFNHOOKPROC lpfnHook; 453 + LPCWSTR lpTemplateName; 454 + 455 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x0500) { 456 + void *pvReserved; 457 + DWORD dwReserved; 458 + DWORD FlagsEx; 459 + } 460 +} 461 +alias OPENFILENAMEW* LPOPENFILENAMEW; 462 + 463 +const size_t OPENFILENAME_SIZE_VERSION_400 = 76; 464 + 465 +struct OFNOTIFYA { 466 + NMHDR hdr; 467 + LPOPENFILENAMEA lpOFN; 468 + LPSTR pszFile; 469 +} 470 +alias OFNOTIFYA* LPOFNOTIFYA; 471 + 472 +struct OFNOTIFYW { 473 + NMHDR hdr; 474 + LPOPENFILENAMEW lpOFN; 475 + LPWSTR pszFile; 476 +} 477 +alias OFNOTIFYW* LPOFNOTIFYW; 478 + 479 +struct PAGESETUPDLGA { 480 + DWORD lStructSize = PAGESETUPDLGA.sizeof; 481 + HWND hwndOwner; 482 + HGLOBAL hDevMode; 483 + HGLOBAL hDevNames; 484 + DWORD Flags; 485 + POINT ptPaperSize; 486 + RECT rtMinMargin; 487 + RECT rtMargin; 488 + HINSTANCE hInstance; 489 + LPARAM lCustData; 490 + LPPAGESETUPHOOK lpfnPageSetupHook; 491 + LPPAGEPAINTHOOK lpfnPagePaintHook; 492 + LPCSTR lpPageSetupTemplateName; 493 + HGLOBAL hPageSetupTemplate; 494 +} 495 +alias PAGESETUPDLGA* LPPAGESETUPDLGA; 496 + 497 +struct PAGESETUPDLGW { 498 + DWORD lStructSize = PAGESETUPDLGW.sizeof; 499 + HWND hwndOwner; 500 + HGLOBAL hDevMode; 501 + HGLOBAL hDevNames; 502 + DWORD Flags; 503 + POINT ptPaperSize; 504 + RECT rtMinMargin; 505 + RECT rtMargin; 506 + HINSTANCE hInstance; 507 + LPARAM lCustData; 508 + LPPAGESETUPHOOK lpfnPageSetupHook; 509 + LPPAGEPAINTHOOK lpfnPagePaintHook; 510 + LPCWSTR lpPageSetupTemplateName; 511 + HGLOBAL hPageSetupTemplate; 155 512 } 156 -alias tagOFN_NT4A OPENFILENAME_NT4A; 157 -alias tagOFN_NT4A* LPOPENFILENAME_NT4A; 158 - 159 -struct tagOFN_NT4W { 160 - DWORD lStructSize; 161 - HWND hwndOwner; 162 - HINSTANCE hInstance; 163 - LPCWSTR lpstrFilter; 164 - LPWSTR lpstrCustomFilter; 165 - DWORD nMaxCustFilter; 166 - DWORD nFilterIndex; 167 - LPWSTR lpstrFile; 168 - DWORD nMaxFile; 169 - LPWSTR lpstrFileTitle; 170 - DWORD nMaxFileTitle; 171 - LPCWSTR lpstrInitialDir; 172 - LPCWSTR lpstrTitle; 173 - DWORD Flags; 174 - WORD nFileOffset; 175 - WORD nFileExtension; 176 - LPCWSTR lpstrDefExt; 177 - LPARAM lCustData; 178 - LPOFNHOOKPROC lpfnHook; 179 - LPCWSTR lpTemplateName; 180 -} 181 -alias tagOFN_NT4W OPENFILENAME_NT4W; 182 -alias tagOFN_NT4W* LPOPENFILENAME_NT4W; 183 - 184 -// #ifdef UNICODE 185 -alias OPENFILENAME_NT4W OPENFILENAME_NT4; 186 -alias LPOPENFILENAME_NT4W LPOPENFILENAME_NT4; 187 -// #else 188 -// ... 189 -// #endif // UNICODE 190 - 191 -struct tagOFNA { 192 - DWORD lStructSize; 193 - HWND hwndOwner; 194 - HINSTANCE hInstance; 195 - LPCSTR lpstrFilter; 196 - LPSTR lpstrCustomFilter; 197 - DWORD nMaxCustFilter; 198 - DWORD nFilterIndex; 199 - LPSTR lpstrFile; 200 - DWORD nMaxFile; 201 - LPSTR lpstrFileTitle; 202 - DWORD nMaxFileTitle; 203 - LPCSTR lpstrInitialDir; 204 - LPCSTR lpstrTitle; 205 - DWORD Flags; 206 - WORD nFileOffset; 207 - WORD nFileExtension; 208 - LPCSTR lpstrDefExt; 209 - LPARAM lCustData; 210 - LPOFNHOOKPROC lpfnHook; 211 - LPCSTR lpTemplateName; 212 -// #ifdef _MAC 213 -// ... 214 -// #endif 215 -// #if (_WIN32_WINNT >= 0x0500) 216 - void * pvReserved; 217 - DWORD dwReserved; 218 - DWORD FlagsEx; 219 -// #endif // (_WIN32_WINNT >= 0x0500) 220 -} 221 -alias tagOFNA OPENFILENAMEA; 222 -alias tagOFNA* LPOPENFILENAMEA; 223 - 224 -struct tagOFNW { 225 - DWORD lStructSize; 226 - HWND hwndOwner; 227 - HINSTANCE hInstance; 228 - LPCWSTR lpstrFilter; 229 - LPWSTR lpstrCustomFilter; 230 - DWORD nMaxCustFilter; 231 - DWORD nFilterIndex; 232 - LPWSTR lpstrFile; 233 - DWORD nMaxFile; 234 - LPWSTR lpstrFileTitle; 235 - DWORD nMaxFileTitle; 236 - LPCWSTR lpstrInitialDir; 237 - LPCWSTR lpstrTitle; 238 - DWORD Flags; 239 - WORD nFileOffset; 240 - WORD nFileExtension; 241 - LPCWSTR lpstrDefExt; 242 - LPARAM lCustData; 243 - LPOFNHOOKPROC lpfnHook; 244 - LPCWSTR lpTemplateName; 245 -// #ifdef _MAC 246 -// ... 247 -// #endif 248 -// #if (_WIN32_WINNT >= 0x0500) 249 - void * pvReserved; 250 - DWORD dwReserved; 251 - DWORD FlagsEx; 252 -// #endif // (_WIN32_WINNT >= 0x0500) 513 +alias PAGESETUPDLGW* LPPAGESETUPDLGW; 514 + 515 +struct PRINTDLGA { 516 + DWORD lStructSize = PRINTDLGA.sizeof; 517 + HWND hwndOwner; 518 + HANDLE hDevMode; 519 + HANDLE hDevNames; 520 + HDC hDC; 521 + DWORD Flags; 522 + WORD nFromPage; 523 + WORD nToPage; 524 + WORD nMinPage; 525 + WORD nMaxPage; 526 + WORD nCopies; 527 + HINSTANCE hInstance; 528 + DWORD lCustData; 529 + LPPRINTHOOKPROC lpfnPrintHook; 530 + LPSETUPHOOKPROC lpfnSetupHook; 531 + LPCSTR lpPrintTemplateName; 532 + LPCSTR lpSetupTemplateName; 533 + HANDLE hPrintTemplate; 534 + HANDLE hSetupTemplate; 253 535 } 254 -alias tagOFNW OPENFILENAMEW; 255 -alias tagOFNW* LPOPENFILENAMEW; 256 - 257 -// #ifdef UNICODE 258 -alias OPENFILENAMEW OPENFILENAME; 259 -alias LPOPENFILENAMEW LPOPENFILENAME; 260 -// #else 261 -// ... 262 -// #endif // UNICODE 263 - 264 -// #if (_WIN32_WINNT >= 0x0500) 265 -// #define OPENFILENAME_SIZE_VERSION_400A CDSIZEOF_STRUCT(OPENFILENAMEA,lpTemplateName) 266 -// #define OPENFILENAME_SIZE_VERSION_400W CDSIZEOF_STRUCT(OPENFILENAMEW,lpTemplateName) 267 -// #ifdef UNICODE 268 -// #define OPENFILENAME_SIZE_VERSION_400 OPENFILENAME_SIZE_VERSION_400W 269 -// #else 270 -// #... 271 -// #endif // !UNICODE 272 -// #endif // (_WIN32_WINNT >= 0x0500) 273 - 274 -extern(Windows) export BOOL GetOpenFileNameA(LPOPENFILENAMEA); 275 -extern(Windows) export BOOL GetOpenFileNameW(LPOPENFILENAMEW); 276 -// #ifdef UNICODE 277 -alias GetOpenFileNameW GetOpenFileName; 278 -// #else 279 -// #... 280 -// #endif // !UNICODE 281 -extern(Windows) export BOOL GetSaveFileNameA(LPOPENFILENAMEA); 282 -extern(Windows) export BOOL GetSaveFileNameW(LPOPENFILENAMEW); 283 -// #ifdef UNICODE 284 -alias GetSaveFileNameW GetSaveFileName; 285 -// #else 286 -// #... 287 -// #endif // !UNICODE 288 - 289 -extern(Windows) export short GetFileTitleA(LPCSTR, LPSTR, WORD); 290 -extern(Windows) export short GetFileTitleW(LPCWSTR, LPWSTR, WORD); 291 -// #ifdef UNICODE 292 -alias GetFileTitleW GetFileTitle; 293 -// #else 294 -// #... 295 -// #endif // !UNICODE 296 - 297 -enum : uint { OFN_READONLY = 0x00000001 } 298 -enum : uint { OFN_OVERWRITEPROMPT = 0x00000002 } 299 -enum : uint { OFN_HIDEREADONLY = 0x00000004 } 300 -enum : uint { OFN_NOCHANGEDIR = 0x00000008 } 301 -enum : uint { OFN_SHOWHELP = 0x00000010 } 302 -enum : uint { OFN_ENABLEHOOK = 0x00000020 } 303 -enum : uint { OFN_ENABLETEMPLATE = 0x00000040 } 304 -enum : uint { OFN_ENABLETEMPLATEHANDLE = 0x00000080 } 305 -enum : uint { OFN_NOVALIDATE = 0x00000100 } 306 -enum : uint { OFN_ALLOWMULTISELECT = 0x00000200 } 307 -enum : uint { OFN_EXTENSIONDIFFERENT = 0x00000400 } 308 -enum : uint { OFN_PATHMUSTEXIST = 0x00000800 } 309 -enum : uint { OFN_FILEMUSTEXIST = 0x00001000 } 310 -enum : uint { OFN_CREATEPROMPT = 0x00002000 } 311 -enum : uint { OFN_SHAREAWARE = 0x00004000 } 312 -enum : uint { OFN_NOREADONLYRETURN = 0x00008000 } 313 -enum : uint { OFN_NOTESTFILECREATE = 0x00010000 } 314 -enum : uint { OFN_NONETWORKBUTTON = 0x00020000 } 315 -enum : uint { OFN_NOLONGNAMES = 0x00040000 } 316 -// #if(WINVER >= 0x0400) 317 -enum : uint { OFN_EXPLORER = 0x00080000 } 318 -enum : uint { OFN_NODEREFERENCELINKS = 0x00100000 } 319 -enum : uint { OFN_LONGNAMES = 0x00200000 } 320 -enum : uint { OFN_ENABLEINCLUDENOTIFY = 0x00400000 } 321 -enum : uint { OFN_ENABLESIZING = 0x00800000 } 322 -// #endif /* WINVER >= 0x0400 */ 323 -// #if (_WIN32_WINNT >= 0x0500) 324 -enum : uint { OFN_DONTADDTORECENT = 0x02000000 } 325 -enum : uint { OFN_FORCESHOWHIDDEN = 0x10000000 } 326 -// #endif // (_WIN32_WINNT >= 0x0500) 327 - 328 -// #if (_WIN32_WINNT >= 0x0500) 329 -enum : uint { OFN_EX_NOPLACESBAR = 0x00000001 } 330 -// #endif // (_WIN32_WINNT >= 0x0500) 331 - 332 -enum : uint { OFN_SHAREFALLTHROUGH = 2 } 333 -enum : uint { OFN_SHARENOWARN = 1 } 334 -enum : uint { OFN_SHAREWARN = 0 } 335 - 336 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPCCHOOKPROC; 337 - 338 -// #if(WINVER >= 0x0400) 339 - 340 -struct _OFNOTIFYA { 341 - NMHDR hdr; 342 - LPOPENFILENAMEA lpOFN; 343 - LPSTR pszFile; 536 +alias PRINTDLGA* LPPRINTDLGA; 537 + 538 +struct PRINTDLGW { 539 + DWORD lStructSize = PRINTDLGW.sizeof; 540 + HWND hwndOwner; 541 + HANDLE hDevMode; 542 + HANDLE hDevNames; 543 + HDC hDC; 544 + DWORD Flags; 545 + WORD nFromPage; 546 + WORD nToPage; 547 + WORD nMinPage; 548 + WORD nMaxPage; 549 + WORD nCopies; 550 + HINSTANCE hInstance; 551 + DWORD lCustData; 552 + LPPRINTHOOKPROC lpfnPrintHook; 553 + LPSETUPHOOKPROC lpfnSetupHook; 554 + LPCWSTR lpPrintTemplateName; 555 + LPCWSTR lpSetupTemplateName; 556 + HANDLE hPrintTemplate; 557 + HANDLE hSetupTemplate; 344 558 } 345 -alias _OFNOTIFYA OFNOTIFYA; 346 -alias _OFNOTIFYA* LPOFNOTIFYA; 347 - 348 -struct _OFNOTIFYW { 349 - NMHDR hdr; 350 - LPOPENFILENAMEW lpOFN; 351 - LPWSTR pszFile; 352 -} 353 -alias _OFNOTIFYW OFNOTIFYW; 354 -alias _OFNOTIFYW* LPOFNOTIFYW; 355 - 356 -// #ifdef UNICODE 357 -alias OFNOTIFYW OFNOTIFY; 358 -alias LPOFNOTIFYW LPOFNOTIFY; 359 -// #else 360 -// ... 361 -// #endif // UNICODE 362 - 363 -struct _OFNOTIFYEXA { 364 - NMHDR hdr; 365 - LPOPENFILENAMEA lpOFN; 366 - LPVOID psf; 367 - LPVOID pidl; 368 -} 369 -alias _OFNOTIFYEXA OFNOTIFYEXA; 370 -alias _OFNOTIFYEXA* LPOFNOTIFYEXA; 559 +alias PRINTDLGW* LPPRINTDLGW; 560 + 561 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 562 + import win32.unknwn; // for LPUNKNOWN 563 + import win32.prsht; // for HPROPSHEETPAGE 564 + 565 + struct PRINTPAGERANGE { 566 + DWORD nFromPage; 567 + DWORD nToPage; 568 + } 569 + alias PRINTPAGERANGE* LPPRINTPAGERANGE; 570 + 571 + struct PRINTDLGEXA { 572 + DWORD lStructSize = PRINTDLGEXA.sizeof; 573 + HWND hwndOwner; 574 + HGLOBAL hDevMode; 575 + HGLOBAL hDevNames; 576 + HDC hDC; 577 + DWORD Flags; 578 + DWORD Flags2; 579 + DWORD ExclusionFlags; 580 + DWORD nPageRanges; 581 + DWORD nMaxPageRanges; 582 + LPPRINTPAGERANGE lpPageRanges; 583 + DWORD nMinPage; 584 + DWORD nMaxPage; 585 + DWORD nCopies; 586 + HINSTANCE hInstance; 587 + LPCSTR lpPrintTemplateName; 588 + LPUNKNOWN lpCallback; 589 + DWORD nPropertyPages; 590 + HPROPSHEETPAGE* lphPropertyPages; 591 + DWORD nStartPage; 592 + DWORD dwResultAction; 593 + } 594 + alias PRINTDLGEXA* LPPRINTDLGEXA; 595 + 596 + struct PRINTDLGEXW { 597 + DWORD lStructSize = PRINTDLGEXW.sizeof; 598 + HWND hwndOwner; 599 + HGLOBAL hDevMode; 600 + HGLOBAL hDevNames; 601 + HDC hDC; 602 + DWORD Flags; 603 + DWORD Flags2; 604 + DWORD ExclusionFlags; 605 + DWORD nPageRanges; 606 + DWORD nMaxPageRanges; 607 + LPPRINTPAGERANGE lpPageRanges; 608 + DWORD nMinPage; 609 + DWORD nMaxPage; 610 + DWORD nCopies; 611 + HINSTANCE hInstance; 612 + LPCWSTR lpPrintTemplateName; 613 + LPUNKNOWN lpCallback; 614 + DWORD nPropertyPages; 615 + HPROPSHEETPAGE* lphPropertyPages; 616 + DWORD nStartPage; 617 + DWORD dwResultAction; 618 + } 619 + alias PRINTDLGEXW* LPPRINTDLGEXW; 371 620 372 -struct _OFNOTIFYEXW { 373 - NMHDR hdr; 374 - LPOPENFILENAMEW lpOFN; 375 - LPVOID psf; 376 - LPVOID pidl; 377 -} 378 -alias _OFNOTIFYEXW OFNOTIFYEXW; 379 -alias _OFNOTIFYEXW* LPOFNOTIFYEXW; 380 - 381 -// #ifdef UNICODE 382 -alias OFNOTIFYEXW OFNOTIFYEX; 383 -alias LPOFNOTIFYEXW LPOFNOTIFYEX; 384 -// #else 385 -// ... 386 -// #endif // UNICODE 621 +} // _WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500 387 622 388 -const uint CDN_FIRST = 0U-601U; 389 -const uint CDN_LAST = 0U-699U; 390 - 391 -const uint CDN_INITDONE = CDN_FIRST - 0x0000; 392 -const uint CDN_SELCHANGE = CDN_FIRST - 0x0001; 393 -const uint CDN_FOLDERCHANGE = CDN_FIRST - 0x0002; 394 -const uint CDN_SHAREVIOLATION = CDN_FIRST - 0x0003; 395 -const uint CDN_HELP = CDN_FIRST - 0x0004; 396 -const uint CDN_FILEOK = CDN_FIRST - 0x0005; 397 -const uint CDN_TYPECHANGE = CDN_FIRST - 0x0006; 398 -const uint CDN_INCLUDEITEM = CDN_FIRST - 0x0007; 399 - 400 -const uint CDM_FIRST = WM_USER + 100; 401 -const uint CDM_LAST = WM_USER + 200; 402 - 403 -const uint CDM_GETSPEC = CDM_FIRST + 0x0000; 404 -// #define CommDlg_OpenSave_GetSpecA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 405 -// #define CommDlg_OpenSave_GetSpecW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETSPEC, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 406 -// #ifdef UNICODE 407 -// #define CommDlg_OpenSave_GetSpec CommDlg_OpenSave_GetSpecW 408 -// #else 409 -// #... 410 -// #endif // !UNICODE 411 - 412 -const uint CDM_GETFILEPATH = CDM_FIRST + 0x0001; 413 -// #define CommDlg_OpenSave_GetFilePathA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 414 -// #define CommDlg_OpenSave_GetFilePathW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFILEPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 415 -// #ifdef UNICODE 416 -// #define CommDlg_OpenSave_GetFilePath CommDlg_OpenSave_GetFilePathW 417 -// #else 418 -// #... 419 -// #endif // !UNICODE 420 - 421 -const uint CDM_GETFOLDERPATH = CDM_FIRST + 0x0002; 422 -// #define CommDlg_OpenSave_GetFolderPathA(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPSTR)_psz) 423 -// #define CommDlg_OpenSave_GetFolderPathW(_hdlg, _psz, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFOLDERPATH, (WPARAM)_cbmax, (LPARAM)(LPWSTR)_psz) 424 -// #ifdef UNICODE 425 -// #define CommDlg_OpenSave_GetFolderPath CommDlg_OpenSave_GetFolderPathW 426 -// #else 427 -// #... 428 -// #endif // !UNICODE 623 +extern (Windows) { 624 + BOOL ChooseColorA(LPCHOOSECOLORA); 625 + BOOL ChooseColorW(LPCHOOSECOLORW); 626 + BOOL ChooseFontA(LPCHOOSEFONTA); 627 + BOOL ChooseFontW(LPCHOOSEFONTW); 628 + DWORD CommDlgExtendedError(); 629 + HWND FindTextA(LPFINDREPLACEA); 630 + HWND FindTextW(LPFINDREPLACEW); 631 + short GetFileTitleA(LPCSTR, LPSTR, WORD); 632 + short GetFileTitleW(LPCWSTR, LPWSTR, WORD); 633 + BOOL GetOpenFileNameA(LPOPENFILENAMEA); 634 + BOOL GetOpenFileNameW(LPOPENFILENAMEW); 635 + BOOL GetSaveFileNameA(LPOPENFILENAMEA); 636 + BOOL GetSaveFileNameW(LPOPENFILENAMEW); 637 + BOOL PageSetupDlgA(LPPAGESETUPDLGA); 638 + BOOL PageSetupDlgW(LPPAGESETUPDLGW); 639 + BOOL PrintDlgA(LPPRINTDLGA); 640 + BOOL PrintDlgW(LPPRINTDLGW); 641 + HWND ReplaceTextA(LPFINDREPLACEA); 642 + HWND ReplaceTextW(LPFINDREPLACEW); 429 643 430 -const uint CDM_GETFOLDERIDLIST = CDM_FIRST + 0x0003; 431 -// #define CommDlg_OpenSave_GetFolderIDList(_hdlg, _pidl, _cbmax) (int)SNDMSG(_hdlg, CDM_GETFOLDERIDLIST, (WPARAM)_cbmax, (LPARAM)(LPVOID)_pidl) 432 - 433 -const uint CDM_SETCONTROLTEXT = CDM_FIRST + 0x0004; 434 -// #define CommDlg_OpenSave_SetControlText(_hdlg, _id, _text) (void)SNDMSG(_hdlg, CDM_SETCONTROLTEXT, (WPARAM)_id, (LPARAM)(LPSTR)_text) 435 - 436 -const uint CDM_HIDECONTROL = CDM_FIRST + 0x0005; 437 -// #define CommDlg_OpenSave_HideControl(_hdlg, _id) (void)SNDMSG(_hdlg, CDM_HIDECONTROL, (WPARAM)_id, 0) 438 - 439 -const uint CDM_SETDEFEXT = CDM_FIRST + 0x0006; 440 -// #define CommDlg_OpenSave_SetDefExt(_hdlg, _pszext) (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext) 441 -// #endif /* WINVER >= 0x0400 */ 442 - 443 -// #ifndef _MAC 444 -struct tagCHOOSECOLORA { 445 - DWORD lStructSize; 446 - HWND hwndOwner; 447 - HWND hInstance; 448 - COLORREF rgbResult; 449 - COLORREF * lpCustColors; 450 - DWORD Flags; 451 - LPARAM lCustData; 452 - LPCCHOOKPROC lpfnHook; 453 - LPCSTR lpTemplateName; 454 -} 455 -alias tagCHOOSECOLORA CHOOSECOLORA; 456 -alias tagCHOOSECOLORA* LPCHOOSECOLORA; 457 - 458 -struct tagCHOOSECOLORW { 459 - DWORD lStructSize; 460 - HWND hwndOwner; 461 - HWND hInstance; 462 - COLORREF rgbResult; 463 - COLORREF * lpCustColors; 464 - DWORD Flags; 465 - LPARAM lCustData; 466 - LPCCHOOKPROC lpfnHook; 467 - LPCWSTR lpTemplateName; 468 -} 469 -alias tagCHOOSECOLORW CHOOSECOLORW; 470 -alias tagCHOOSECOLORW* LPCHOOSECOLORW; 471 - 472 -// #ifdef UNICODE 473 -alias CHOOSECOLORW CHOOSECOLOR; 474 -alias LPCHOOSECOLORW LPCHOOSECOLOR; 475 -// #else 476 -// ... 477 -// #endif // UNICODE 478 -// #else 479 -// ... 480 -// #ifdef UNICODE 481 -// ... 482 -// #else 483 -// ... 484 -// #endif // UNICODE 485 -// #endif //_MAC 486 - 487 -extern(Windows) export BOOL ChooseColorA(LPCHOOSECOLORA); 488 -extern(Windows) export BOOL ChooseColorW(LPCHOOSECOLORW); 489 -// #ifdef UNICODE 490 -alias ChooseColorW ChooseColor; 491 -// #else 492 -// #... 493 -// #endif // !UNICODE 494 - 495 -enum : uint { CC_RGBINIT = 0x00000001 } 496 -enum : uint { CC_FULLOPEN = 0x00000002 } 497 -enum : uint { CC_PREVENTFULLOPEN = 0x00000004 } 498 -enum : uint { CC_SHOWHELP = 0x00000008 } 499 -enum : uint { CC_ENABLEHOOK = 0x00000010 } 500 -enum : uint { CC_ENABLETEMPLATE = 0x00000020 } 501 -enum : uint { CC_ENABLETEMPLATEHANDLE = 0x00000040 } 502 -// #if(WINVER >= 0x0400) 503 -enum : uint { CC_SOLIDCOLOR = 0x00000080 } 504 -enum : uint { CC_ANYCOLOR = 0x00000100 } 505 -// #endif /* WINVER >= 0x0400 */ 506 - 507 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPFRHOOKPROC; 508 - 509 -struct tagFINDREPLACEA { 510 - DWORD lStructSize; 511 - HWND hwndOwner; 512 - HINSTANCE hInstance; 513 - 514 - DWORD Flags; 515 - LPSTR lpstrFindWhat; 516 - LPSTR lpstrReplaceWith; 517 - WORD wFindWhatLen; 518 - WORD wReplaceWithLen; 519 - LPARAM lCustData; 520 - LPFRHOOKPROC lpfnHook; 521 - LPCSTR lpTemplateName; 522 -} 523 -alias tagFINDREPLACEA FINDREPLACEA; 524 -alias tagFINDREPLACEA* LPFINDREPLACEA; 525 - 526 -struct tagFINDREPLACEW { 527 - DWORD lStructSize; 528 - HWND hwndOwner; 529 - HINSTANCE hInstance; 530 - 531 - DWORD Flags; 532 - LPWSTR lpstrFindWhat; 533 - LPWSTR lpstrReplaceWith; 534 - WORD wFindWhatLen; 535 - WORD wReplaceWithLen; 536 - LPARAM lCustData; 537 - LPFRHOOKPROC lpfnHook; 538 - LPCWSTR lpTemplateName; 539 -} 540 -alias tagFINDREPLACEW FINDREPLACEW; 541 -alias tagFINDREPLACEW* LPFINDREPLACEW; 542 - 543 -// #ifdef UNICODE 544 -alias FINDREPLACEW FINDREPLACE; 545 -alias LPFINDREPLACEW LPFINDREPLACE; 546 -// #else 547 -// ... 548 -// #endif // UNICODE 549 - 550 -enum : uint { FR_DOWN = 0x00000001 } 551 -enum : uint { FR_WHOLEWORD = 0x00000002 } 552 -enum : uint { FR_MATCHCASE = 0x00000004 } 553 -enum : uint { FR_FINDNEXT = 0x00000008 } 554 -enum : uint { FR_REPLACE = 0x00000010 } 555 -enum : uint { FR_REPLACEALL = 0x00000020 } 556 -enum : uint { FR_DIALOGTERM = 0x00000040 } 557 -enum : uint { FR_SHOWHELP = 0x00000080 } 558 -enum : uint { FR_ENABLEHOOK = 0x00000100 } 559 -enum : uint { FR_ENABLETEMPLATE = 0x00000200 } 560 -enum : uint { FR_NOUPDOWN = 0x00000400 } 561 -enum : uint { FR_NOMATCHCASE = 0x00000800 } 562 -enum : uint { FR_NOWHOLEWORD = 0x00001000 } 563 -enum : uint { FR_ENABLETEMPLATEHANDLE = 0x00002000 } 564 -enum : uint { FR_HIDEUPDOWN = 0x00004000 } 565 -enum : uint { FR_HIDEMATCHCASE = 0x00008000 } 566 -enum : uint { FR_HIDEWHOLEWORD = 0x00010000 } 567 -enum : uint { FR_RAW = 0x00020000 } 568 -enum : uint { FR_MATCHDIAC = 0x20000000 } 569 -enum : uint { FR_MATCHKASHIDA = 0x40000000 } 570 -enum : uint { FR_MATCHALEFHAMZA = 0x80000000 } 571 - 572 -extern(Windows) export HWND FindTextA(LPFINDREPLACEA); 573 -extern(Windows) export HWND FindTextW(LPFINDREPLACEW); 574 -// #ifdef UNICODE 575 -alias FindTextW FindText; 576 -// #else 577 -// #... 578 -// #endif // !UNICODE 579 -// #ifndef _MAC 580 -extern(Windows) export HWND ReplaceTextA(LPFINDREPLACEA); 581 -extern(Windows) export HWND ReplaceTextW(LPFINDREPLACEW); 582 -// #ifdef UNICODE 583 -alias ReplaceTextW ReplaceText; 584 -// #else 585 -// #... 586 -// #endif // !UNICODE 587 -// #else 588 -// ... 589 -// #ifdef UNICODE 590 -// #... 591 -// #else 592 -// #... 593 -// #endif // !UNICODE 594 -// #endif 595 - 596 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPCFHOOKPROC; 597 - 598 -struct tagCHOOSEFONTA { 599 - DWORD lStructSize; 600 - HWND hwndOwner; 601 - HDC hDC; 602 - LPLOGFONTA lpLogFont; 603 - INT iPointSize; 604 - DWORD Flags; 605 - COLORREF rgbColors; 606 - LPARAM lCustData; 607 - LPCFHOOKPROC lpfnHook; 608 - LPCSTR lpTemplateName; 609 - HINSTANCE hInstance; 610 - 611 - LPSTR lpszStyle; 612 - 613 - WORD nFontType; 614 - 615 - WORD ___MISSING_ALIGNMENT__; 616 - INT nSizeMin; 617 - INT nSizeMax; 618 - 619 -} 620 -alias tagCHOOSEFONTA CHOOSEFONTA; 621 -alias tagCHOOSEFONTA* LPCHOOSEFONTA; 622 - 623 -struct tagCHOOSEFONTW { 624 - DWORD lStructSize; 625 - HWND hwndOwner; 626 - HDC hDC; 627 - LPLOGFONTW lpLogFont; 628 - INT iPointSize; 629 - DWORD Flags; 630 - COLORREF rgbColors; 631 - LPARAM lCustData; 632 - LPCFHOOKPROC lpfnHook; 633 - LPCWSTR lpTemplateName; 634 - HINSTANCE hInstance; 635 - 636 - LPWSTR lpszStyle; 637 - 638 - WORD nFontType; 639 - 640 - WORD ___MISSING_ALIGNMENT__; 641 - INT nSizeMin; 642 - INT nSizeMax; 643 - 644 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 645 + HRESULT PrintDlgExA(LPPRINTDLGEXA); 646 + HRESULT PrintDlgExW(LPPRINTDLGEXW); 647 + } 644 648 } 645 -alias tagCHOOSEFONTW CHOOSEFONTW; 646 -alias tagCHOOSEFONTW* LPCHOOSEFONTW; 649 + 650 +version (Unicode) { 651 + alias CHOOSECOLORW CHOOSECOLOR; 652 + alias CHOOSEFONTW CHOOSEFONT; 653 + alias FINDREPLACEW FINDREPLACE; 654 + alias OPENFILENAMEW OPENFILENAME; 655 + alias OFNOTIFYW OFNOTIFY; 656 + alias PAGESETUPDLGW PAGESETUPDLG; 657 + alias PRINTDLGW PRINTDLG; 658 + 659 + alias ChooseColorW ChooseColor; 660 + alias ChooseFontW ChooseFont; 661 + alias FindTextW FindText; 662 + alias GetFileTitleW GetFileTitle; 663 + alias GetOpenFileNameW GetOpenFileName; 664 + alias GetSaveFileNameW GetSaveFileName; 665 + alias PageSetupDlgW PageSetupDlg; 666 + alias PrintDlgW PrintDlg; 667 + alias ReplaceTextW ReplaceText; 668 + 669 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 670 + alias PRINTDLGEXW PRINTDLGEX; 671 + alias PrintDlgExW PrintDlgEx; 672 + } 673 + 674 +} else { // UNICODE 647 675 648 -// #ifdef UNICODE 649 -alias CHOOSEFONTW CHOOSEFONT; 650 -alias LPCHOOSEFONTW LPCHOOSEFONT; 651 -// #else 652 -// ... 653 -// #endif // UNICODE 676 + alias CHOOSECOLORA CHOOSECOLOR; 677 + alias CHOOSEFONTA CHOOSEFONT; 678 + alias FINDREPLACEA FINDREPLACE; 679 + alias OPENFILENAMEA OPENFILENAME; 680 + alias OFNOTIFYA OFNOTIFY; 681 + alias PAGESETUPDLGA PAGESETUPDLG; 682 + alias PRINTDLGA PRINTDLG; 654 683 655 -extern(Windows) export BOOL ChooseFontA(LPCHOOSEFONTA); 656 -extern(Windows) export BOOL ChooseFontW(LPCHOOSEFONTW); 657 -// #ifdef UNICODE 658 -alias ChooseFontW ChooseFont; 659 -// #else 660 -// #... 661 -// #endif // !UNICODE 684 + alias ChooseColorA ChooseColor; 685 + alias ChooseFontA ChooseFont; 686 + alias FindTextA FindText; 687 + alias GetFileTitleA GetFileTitle; 688 + alias GetOpenFileNameA GetOpenFileName; 689 + alias GetSaveFileNameA GetSaveFileName; 690 + alias PageSetupDlgA PageSetupDlg; 691 + alias PrintDlgA PrintDlg; 692 + alias ReplaceTextA ReplaceText; 662 693 663 -enum : uint { CF_SCREENFONTS = 0x00000001 } 664 -enum : uint { CF_PRINTERFONTS = 0x00000002 } 665 -const uint CF_BOTH = CF_SCREENFONTS | CF_PRINTERFONTS; 666 -enum : uint { CF_SHOWHELP = 0x00000004 } 667 -enum : uint { CF_ENABLEHOOK = 0x00000008 } 668 -enum : uint { CF_ENABLETEMPLATE = 0x00000010 } 669 -enum : uint { CF_ENABLETEMPLATEHANDLE = 0x00000020 } 670 -enum : uint { CF_INITTOLOGFONTSTRUCT = 0x00000040 } 671 -enum : uint { CF_USESTYLE = 0x00000080 } 672 -enum : uint { CF_EFFECTS = 0x00000100 } 673 -enum : uint { CF_APPLY = 0x00000200 } 674 -enum : uint { CF_ANSIONLY = 0x00000400 } 675 -// #if(WINVER >= 0x0400) 676 -alias CF_ANSIONLY CF_SCRIPTSONLY; 677 -// #endif /* WINVER >= 0x0400 */ 678 -enum : uint { CF_NOVECTORFONTS = 0x00000800 } 679 -alias CF_NOVECTORFONTS CF_NOOEMFONTS; 680 -enum : uint { CF_NOSIMULATIONS = 0x00001000 } 681 -enum : uint { CF_LIMITSIZE = 0x00002000 } 682 -enum : uint { CF_FIXEDPITCHONLY = 0x00004000 } 683 -enum : uint { CF_WYSIWYG = 0x00008000 } 684 -enum : uint { CF_FORCEFONTEXIST = 0x00010000 } 685 -enum : uint { CF_SCALABLEONLY = 0x00020000 } 686 -enum : uint { CF_TTONLY = 0x00040000 } 687 -enum : uint { CF_NOFACESEL = 0x00080000 } 688 -enum : uint { CF_NOSTYLESEL = 0x00100000 } 689 -enum : uint { CF_NOSIZESEL = 0x00200000 } 690 -// #if(WINVER >= 0x0400) 691 -enum : uint { CF_SELECTSCRIPT = 0x00400000 } 692 -enum : uint { CF_NOSCRIPTSEL = 0x00800000 } 693 -enum : uint { CF_NOVERTFONTS = 0x01000000 } 694 -// #endif /* WINVER >= 0x0400 */ 694 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 695 + alias PRINTDLGEXA PRINTDLGEX; 696 + alias PrintDlgExA PrintDlgEx; 697 + } 695 698 696 -enum : uint { SIMULATED_FONTTYPE = 0x8000 } 697 -enum : uint { PRINTER_FONTTYPE = 0x4000 } 698 -enum : uint { SCREEN_FONTTYPE = 0x2000 } 699 -enum : uint { BOLD_FONTTYPE = 0x0100 } 700 -enum : uint { ITALIC_FONTTYPE = 0x0200 } 701 -enum : uint { REGULAR_FONTTYPE = 0x0400 } 699 +} // UNICODE 702 700 703 -// #ifdef WINNT 704 -// #... 705 -// #... 706 -// #... 707 -// #endif 708 - 709 -const uint WM_CHOOSEFONT_GETLOGFONT = WM_USER + 1; 710 -const uint WM_CHOOSEFONT_SETLOGFONT = WM_USER + 101; 711 -const uint WM_CHOOSEFONT_SETFLAGS = WM_USER + 102; 712 - 713 -const char[] LBSELCHSTRINGA = "commdlg_LBSelChangedNotify"; 714 -const char[] SHAREVISTRINGA = "commdlg_ShareViolation"; 715 -const char[] FILEOKSTRINGA = "commdlg_FileNameOK"; 716 -const char[] COLOROKSTRINGA = "commdlg_ColorOK"; 717 -const char[] SETRGBSTRINGA = "commdlg_SetRGBColor"; 718 -const char[] HELPMSGSTRINGA = "commdlg_help"; 719 -const char[] FINDMSGSTRINGA = "commdlg_FindReplace"; 720 - 721 -const wchar[] LBSELCHSTRINGW = "commdlg_LBSelChangedNotify"; 722 -const wchar[] SHAREVISTRINGW = "commdlg_ShareViolation"; 723 -const wchar[] FILEOKSTRINGW = "commdlg_FileNameOK"; 724 -const wchar[] COLOROKSTRINGW = "commdlg_ColorOK"; 725 -const wchar[] SETRGBSTRINGW = "commdlg_SetRGBColor"; 726 -const wchar[] HELPMSGSTRINGW = "commdlg_help"; 727 -const wchar[] FINDMSGSTRINGW = "commdlg_FindReplace"; 728 - 729 -// #ifdef UNICODE 730 -alias LBSELCHSTRINGW LBSELCHSTRING; 731 -alias SHAREVISTRINGW SHAREVISTRING; 732 -alias FILEOKSTRINGW FILEOKSTRING; 733 -alias COLOROKSTRINGW COLOROKSTRING; 734 -alias SETRGBSTRINGW SETRGBSTRING; 735 -alias HELPMSGSTRINGW HELPMSGSTRING; 736 -alias FINDMSGSTRINGW FINDMSGSTRING; 737 -// #else 738 -// #... 739 -// #... 740 -// #... 741 -// #... 742 -// #... 743 -// #... 744 -// #... 745 -// #endif 746 - 747 -enum { CD_LBSELNOITEMS = -1 } 748 -enum : uint { CD_LBSELCHANGE = 0 } 749 -enum : uint { CD_LBSELSUB = 1 } 750 -enum : uint { CD_LBSELADD = 2 } 751 - 752 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPPRINTHOOKPROC; 753 -extern(Windows) alias UINT_PTR function(HWND, UINT, WPARAM, LPARAM) LPSETUPHOOKPROC; 754 - 755 -struct tagPDA { 756 - DWORD lStructSize; 757 - HWND hwndOwner; 758 - HGLOBAL hDevMode; 759 - HGLOBAL hDevNames; 760 - HDC hDC; 761 - DWORD Flags; 762 - WORD nFromPage; 763 - WORD nToPage; 764 - WORD nMinPage; 765 - WORD nMaxPage; 766 - WORD nCopies; 767 - HINSTANCE hInstance; 768 - LPARAM lCustData; 769 - LPPRINTHOOKPROC lpfnPrintHook; 770 - LPSETUPHOOKPROC lpfnSetupHook; 771 - LPCSTR lpPrintTemplateName; 772 - LPCSTR lpSetupTemplateName; 773 - HGLOBAL hPrintTemplate; 774 - HGLOBAL hSetupTemplate; 775 -} 776 -alias tagPDA PRINTDLGA; 777 -alias tagPDA* LPPRINTDLGA; 778 - 779 -struct tagPDW { 780 - DWORD lStructSize; 781 - HWND hwndOwner; 782 - HGLOBAL hDevMode; 783 - HGLOBAL hDevNames; 784 - HDC hDC; 785 - DWORD Flags; 786 - WORD nFromPage; 787 - WORD nToPage; 788 - WORD nMinPage; 789 - WORD nMaxPage; 790 - WORD nCopies; 791 - HINSTANCE hInstance; 792 - LPARAM lCustData; 793 - LPPRINTHOOKPROC lpfnPrintHook; 794 - LPSETUPHOOKPROC lpfnSetupHook; 795 - LPCWSTR lpPrintTemplateName; 796 - LPCWSTR lpSetupTemplateName; 797 - HGLOBAL hPrintTemplate; 798 - HGLOBAL hSetupTemplate; 799 -} 800 -alias tagPDW PRINTDLGW; 801 -alias tagPDW* LPPRINTDLGW; 802 - 803 -// #ifdef UNICODE 804 -alias PRINTDLGW PRINTDLG; 805 -alias LPPRINTDLGW LPPRINTDLG; 806 -// #else 807 -// ... 808 -// #endif // UNICODE 809 - 810 -extern(Windows) export BOOL PrintDlgA(LPPRINTDLGA); 811 -extern(Windows) export BOOL PrintDlgW(LPPRINTDLGW); 812 -// #ifdef UNICODE 813 -alias PrintDlgW PrintDlg; 814 -// #else 815 -// #... 816 -// #endif // !UNICODE 817 - 818 -// #if(WINVER >= 0x0500) 819 - 820 -// #ifdef STDMETHOD 821 - 822 -// #... 823 -// #... 824 - 825 -// ... 826 - 827 -// ... 828 - 829 -// #... 830 -// #... 831 - 832 -// ... 833 - 834 -// ... 835 - 836 -// ... 837 - 838 -// ... 839 -// #ifdef UNICODE 840 -// ... 841 -// #else 842 -// ... 843 -// #endif // UNICODE 844 - 845 -// ... 846 -// #ifdef UNICODE 847 -// #... 848 -// #else 849 -// #... 850 -// #endif // !UNICODE 851 - 852 -// #endif 853 - 854 -// #endif /* WINVER >= 0x0500 */ 855 - 856 -enum : uint { PD_ALLPAGES = 0x00000000 } 857 -enum : uint { PD_SELECTION = 0x00000001 } 858 -enum : uint { PD_PAGENUMS = 0x00000002 } 859 -enum : uint { PD_NOSELECTION = 0x00000004 } 860 -enum : uint { PD_NOPAGENUMS = 0x00000008 } 861 -enum : uint { PD_COLLATE = 0x00000010 } 862 -enum : uint { PD_PRINTTOFILE = 0x00000020 } 863 -enum : uint { PD_PRINTSETUP = 0x00000040 } 864 -enum : uint { PD_NOWARNING = 0x00000080 } 865 -enum : uint { PD_RETURNDC = 0x00000100 } 866 -enum : uint { PD_RETURNIC = 0x00000200 } 867 -enum : uint { PD_RETURNDEFAULT = 0x00000400 } 868 -enum : uint { PD_SHOWHELP = 0x00000800 } 869 -enum : uint { PD_ENABLEPRINTHOOK = 0x00001000 } 870 -enum : uint { PD_ENABLESETUPHOOK = 0x00002000 } 871 -enum : uint { PD_ENABLEPRINTTEMPLATE = 0x00004000 } 872 -enum : uint { PD_ENABLESETUPTEMPLATE = 0x00008000 } 873 -enum : uint { PD_ENABLEPRINTTEMPLATEHANDLE = 0x00010000 } 874 -enum : uint { PD_ENABLESETUPTEMPLATEHANDLE = 0x00020000 } 875 -enum : uint { PD_USEDEVMODECOPIES = 0x00040000 } 876 -enum : uint { PD_USEDEVMODECOPIESANDCOLLATE = 0x00040000 } 877 -enum : uint { PD_DISABLEPRINTTOFILE = 0x00080000 } 878 -enum : uint { PD_HIDEPRINTTOFILE = 0x00100000 } 879 -enum : uint { PD_NONETWORKBUTTON = 0x00200000 } 880 -// #if(WINVER >= 0x0500) 881 -enum : uint { PD_CURRENTPAGE = 0x00400000 } 882 -enum : uint { PD_NOCURRENTPAGE = 0x00800000 } 883 -enum : uint { PD_EXCLUSIONFLAGS = 0x01000000 } 884 -enum : uint { PD_USELARGETEMPLATE = 0x10000000 } 885 -// #endif /* WINVER >= 0x0500 */ 886 - 887 -// #if(WINVER >= 0x0500) 888 - 889 -const uint PD_EXCL_COPIESANDCOLLATE = DM_COPIES | DM_COLLATE; 890 - 891 -enum : uint { START_PAGE_GENERAL = 0xffffffff } 892 - 893 -enum : uint { PD_RESULT_CANCEL = 0 } 894 -enum : uint { PD_RESULT_PRINT = 1 } 895 -enum : uint { PD_RESULT_APPLY = 2 } 896 - 897 -// #endif /* WINVER >= 0x0500 */ 898 - 899 -struct tagDEVNAMES { 900 - WORD wDriverOffset; 901 - WORD wDeviceOffset; 902 - WORD wOutputOffset; 903 - WORD wDefault; 904 -} 905 -alias tagDEVNAMES DEVNAMES; 906 -alias tagDEVNAMES* LPDEVNAMES; 907 - 908 -enum : uint { DN_DEFAULTPRN = 0x0001 } 909 - 910 -extern(Windows) export DWORD CommDlgExtendedError(); 911 - 912 -// #if(WINVER >= 0x0400) 913 -const uint WM_PSD_PAGESETUPDLG = WM_USER ; 914 -const uint WM_PSD_FULLPAGERECT = WM_USER+1; 915 -const uint WM_PSD_MINMARGINRECT = WM_USER+2; 916 -const uint WM_PSD_MARGINRECT = WM_USER+3; 917 -const uint WM_PSD_GREEKTEXTRECT = WM_USER+4; 918 -const uint WM_PSD_ENVSTAMPRECT = WM_USER+5; 919 -const uint WM_PSD_YAFULLPAGERECT = WM_USER+6; 920 - 921 -extern(Windows) alias UINT_PTR function( HWND, UINT, WPARAM, LPARAM ) LPPAGEPAINTHOOK; 922 -extern(Windows) alias UINT_PTR function( HWND, UINT, WPARAM, LPARAM ) LPPAGESETUPHOOK; 923 - 924 -struct tagPSDA { 925 - DWORD lStructSize; 926 - HWND hwndOwner; 927 - HGLOBAL hDevMode; 928 - HGLOBAL hDevNames; 929 - DWORD Flags; 930 - POINT ptPaperSize; 931 - RECT rtMinMargin; 932 - RECT rtMargin; 933 - HINSTANCE hInstance; 934 - LPARAM lCustData; 935 - LPPAGESETUPHOOK lpfnPageSetupHook; 936 - LPPAGEPAINTHOOK lpfnPagePaintHook; 937 - LPCSTR lpPageSetupTemplateName; 938 - HGLOBAL hPageSetupTemplate; 939 -} 940 -alias tagPSDA PAGESETUPDLGA; 941 -alias tagPSDA* LPPAGESETUPDLGA; 942 - 943 -struct tagPSDW { 944 - DWORD lStructSize; 945 - HWND hwndOwner; 946 - HGLOBAL hDevMode; 947 - HGLOBAL hDevNames; 948 - DWORD Flags; 949 - POINT ptPaperSize; 950 - RECT rtMinMargin; 951 - RECT rtMargin; 952 - HINSTANCE hInstance; 953 - LPARAM lCustData; 954 - LPPAGESETUPHOOK lpfnPageSetupHook; 955 - LPPAGEPAINTHOOK lpfnPagePaintHook; 956 - LPCWSTR lpPageSetupTemplateName; 957 - HGLOBAL hPageSetupTemplate; 958 -} 959 -alias tagPSDW PAGESETUPDLGW; 960 -alias tagPSDW* LPPAGESETUPDLGW; 961 - 962 -// #ifdef UNICODE 963 -alias PAGESETUPDLGW PAGESETUPDLG; 964 -alias LPPAGESETUPDLGW LPPAGESETUPDLG; 965 -// #else 966 -// ... 967 -// #endif // UNICODE 968 - 969 -extern(Windows) export BOOL PageSetupDlgA( LPPAGESETUPDLGA ); 970 -extern(Windows) export BOOL PageSetupDlgW( LPPAGESETUPDLGW ); 971 -// #ifdef UNICODE 972 -alias PageSetupDlgW PageSetupDlg; 973 -// #else 974 -// #... 975 -// #endif // !UNICODE 976 - 977 -enum : uint { PSD_DEFAULTMINMARGINS = 0x00000000 } 978 -enum : uint { PSD_INWININIINTLMEASURE = 0x00000000 } 979 - 980 -enum : uint { PSD_MINMARGINS = 0x00000001 } 981 -enum : uint { PSD_MARGINS = 0x00000002 } 982 -enum : uint { PSD_INTHOUSANDTHSOFINCHES = 0x00000004 } 983 -enum : uint { PSD_INHUNDREDTHSOFMILLIMETERS = 0x00000008 } 984 -enum : uint { PSD_DISABLEMARGINS = 0x00000010 } 985 -enum : uint { PSD_DISABLEPRINTER = 0x00000020 } 986 -enum : uint { PSD_NOWARNING = 0x00000080 } 987 -enum : uint { PSD_DISABLEORIENTATION = 0x00000100 } 988 -enum : uint { PSD_RETURNDEFAULT = 0x00000400 } 989 -enum : uint { PSD_DISABLEPAPER = 0x00000200 } 990 -enum : uint { PSD_SHOWHELP = 0x00000800 } 991 -enum : uint { PSD_ENABLEPAGESETUPHOOK = 0x00002000 } 992 -enum : uint { PSD_ENABLEPAGESETUPTEMPLATE = 0x00008000 } 993 -enum : uint { PSD_ENABLEPAGESETUPTEMPLATEHANDLE = 0x00020000 } 994 -enum : uint { PSD_ENABLEPAGEPAINTHOOK = 0x00040000 } 995 -enum : uint { PSD_DISABLEPAGEPAINTING = 0x00080000 } 996 -enum : uint { PSD_NONETWORKBUTTON = 0x00200000 } 997 -// #endif /* WINVER >= 0x0400 */ 998 - 999 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 1000 -// #if ISOLATION_AWARE_ENABLED 1001 - 1002 -// #if !defined(ISOLATION_AWARE_INLINE) 1003 -// #if defined(__cplusplus) 1004 -// #... 1005 -// #else 1006 -// #... 1007 -// #endif 1008 -// #endif 1009 - 1010 -// ... 1011 - 1012 -// ... 1013 -// #if defined(STDMETHOD) && (WINVER >= 0x0500) 1014 -// ... 1015 -// #endif /* defined(STDMETHOD) && (WINVER >= 0x0500) */ 1016 -// ... 1017 - 1018 -// #if defined(UNICODE) 1019 - 1020 -// #... 1021 -// #... 1022 -// #... 1023 -// #... 1024 -// #... 1025 -// #... 1026 -// #... 1027 -// #... 1028 -// #... 1029 -// #... 1030 - 1031 -// #else /* UNICODE */ 1032 - 1033 -// #... 1034 -// #... 1035 -// #... 1036 -// #... 1037 -// #... 1038 -// #... 1039 -// #... 1040 -// #... 1041 -// #... 1042 -// #... 1043 - 1044 -// #endif /* UNICODE */ 1045 - 1046 -// ... 1047 - 1048 -// ... 1049 - 1050 -// ... 1051 - 1052 -// ... 1053 - 1054 -// ... 1055 - 1056 -// ... 1057 - 1058 -// ... 1059 - 1060 -// ... 1061 - 1062 -// ... 1063 - 1064 -// ... 1065 - 1066 -// ... 1067 - 1068 -// ... 1069 - 1070 -// ... 1071 - 1072 -// ... 1073 - 1074 -// ... 1075 - 1076 -// ... 1077 - 1078 -// #if defined(STDMETHOD) && (WINVER >= 0x0500) 1079 - 1080 -// ... 1081 - 1082 -// ... 1083 - 1084 -// ... 1085 - 1086 -// ... 1087 - 1088 -// #endif /* defined(STDMETHOD) && (WINVER >= 0x0500) */ 1089 - 1090 -// ... 1091 - 1092 -// ... 1093 - 1094 -// ... 1095 - 1096 -// ... 1097 - 1098 -// #... 1099 -// #... 1100 -// #... 1101 -// #... 1102 -// #... 1103 -// #... 1104 -// #... 1105 -// #... 1106 -// #... 1107 -// #... 1108 -// #... 1109 -// #... 1110 -// #... 1111 -// #... 1112 -// #... 1113 -// #... 1114 -// #... 1115 -// #... 1116 -// #... 1117 -// #... 1118 -// #... 1119 - 1120 -// #endif /* ISOLATION_AWARE_ENABLED */ 1121 -// #endif /* RC */ 1122 - 1123 -// #ifdef __cplusplus 1124 -// } 1125 -// #endif /* __cplusplus */ 1126 - 1127 -// #if !defined(_WIN64) 1128 -align: 1129 -// #endif 1130 -// #endif /* GUID_DEFS_ONLY */ 1131 -// #endif /* !_INC_COMMDLG */ 1132 - 701 +alias CHOOSECOLOR* LPCHOOSECOLOR; 702 +alias CHOOSEFONT* LPCHOOSEFONT; 703 +alias FINDREPLACE* LPFINDREPLACE; 704 +alias OPENFILENAME* LPOPENFILENAME; 705 +alias OFNOTIFY* LPOFNOTIFY; 706 +alias PAGESETUPDLG* LPPAGESETUPDLG; 707 +alias PRINTDLG* LPPRINTDLG; 708 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 709 + alias PRINTDLGEX* LPPRINTDLGEX; 710 +}

Added src/win32/core.d version [6c13098b7fb6c6bb]

1 +/***********************************************************************\ 2 +* core.d * 3 +* * 4 +* Helper module for the Windows API * 5 +* * 6 +* Placed into public domain * 7 +\***********************************************************************/ 8 +module win32.core; 9 + 10 +/** 11 + The core Windows API functions. 12 + 13 + Importing this file is equivalent to the C code: 14 + --- 15 + #define WIN32_LEAN_AND_MEAN 16 + #include "windows.h" 17 + --- 18 + 19 +*/ 20 + 21 +public import win32.windef; 22 +public import win32.winnt; 23 +public import win32.wincon; 24 +public import win32.winbase; 25 +public import win32.wingdi; 26 +public import win32.winuser; 27 +public import win32.winnls; 28 +public import win32.winver; 29 +public import win32.winnetwk; 30 + 31 +// We can't use static if for imports, build gets confused. 32 +// static if (_WIN32_WINNT_ONLY) import win32.winsvc; 33 +version (WindowsVista) { 34 + version = WIN32_WINNT_ONLY; 35 +} else version (Windows2003) { 36 + version = WIN32_WINNT_ONLY; 37 +} else version (WindowsXP) { 38 + version = WIN32_WINNT_ONLY; 39 +} else version (WindowsNTonly) { 40 + version = WIN32_WINNT_ONLY; 41 +} 42 + 43 +version (WIN32_WINNT_ONLY) { 44 + public import win32.winsvc; 45 +}

Added src/win32/cpl.d version [a3afcd1ae7c02e60]

1 +/***********************************************************************\ 2 +* cpl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.cpl; 12 + 13 +private import win32.windef, win32.winuser; 14 + 15 +enum : uint { 16 + WM_CPL_LAUNCH = WM_USER + 1000, 17 + WM_CPL_LAUNCHED 18 +} 19 + 20 +enum : uint { 21 + CPL_DYNAMIC_RES, 22 + CPL_INIT, 23 + CPL_GETCOUNT, 24 + CPL_INQUIRE, 25 + CPL_SELECT, 26 + CPL_DBLCLK, 27 + CPL_STOP, 28 + CPL_EXIT, 29 + CPL_NEWINQUIRE, 30 + CPL_STARTWPARMSA, 31 + CPL_STARTWPARMSW, // = 10 32 + CPL_SETUP = 200 33 +} 34 + 35 +extern (Windows) alias LONG function(HWND, UINT, LONG, LONG) APPLET_PROC; 36 + 37 +struct CPLINFO { 38 + int idIcon; 39 + int idName; 40 + int idInfo; 41 + LONG lData; 42 +} 43 +alias CPLINFO* LPCPLINFO; 44 + 45 +struct NEWCPLINFOA { 46 + DWORD dwSize = NEWCPLINFOA.sizeof; 47 + DWORD dwFlags; 48 + DWORD dwHelpContext; 49 + LONG lData; 50 + HICON hIcon; 51 + CHAR[32] szName; 52 + CHAR[64] szInfo; 53 + CHAR[128] szHelpFile; 54 +} 55 +alias NEWCPLINFOA* LPNEWCPLINFOA; 56 + 57 +struct NEWCPLINFOW { 58 + DWORD dwSize = NEWCPLINFOW.sizeof; 59 + DWORD dwFlags; 60 + DWORD dwHelpContext; 61 + LONG lData; 62 + HICON hIcon; 63 + WCHAR[32] szName; 64 + WCHAR[64] szInfo; 65 + WCHAR[128] szHelpFile; 66 +} 67 +alias NEWCPLINFOW* LPNEWCPLINFOW; 68 + 69 +version (Unicode) { 70 + alias CPL_STARTWPARMSW CPL_STARTWPARMS; 71 + alias NEWCPLINFOW NEWCPLINFO; 72 +} else { 73 + alias CPL_STARTWPARMSA CPL_STARTWPARMS; 74 + alias NEWCPLINFOA NEWCPLINFO; 75 +} 76 + 77 +alias NEWCPLINFO* LPNEWCPLINFO;

Added src/win32/cplext.d version [343570357e337d93]

1 +/***********************************************************************\ 2 +* cplext.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.cplext; 12 + 13 +enum : uint { 14 + CPLPAGE_MOUSE_BUTTONS = 1, 15 + CPLPAGE_MOUSE_PTRMOTION = 2, 16 + CPLPAGE_MOUSE_WHEEL = 3, 17 + CPLPAGE_KEYBOARD_SPEED = 1, 18 + CPLPAGE_DISPLAY_BACKGROUND = 1 19 +}

Added src/win32/custcntl.d version [0b928064c01a1f8e]

1 +/***********************************************************************\ 2 +* custcntl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.custcntl; 12 + 13 +private import win32.windef; 14 + 15 +// FIXME: check type 16 +const CCF_NOTEXT = 1; 17 + 18 +const size_t 19 + CCHCCCLASS = 32, 20 + CCHCCDESC = 32, 21 + CCHCCTEXT = 256; 22 + 23 +struct CCSTYLEA { 24 + DWORD flStyle; 25 + DWORD flExtStyle; 26 + CHAR[CCHCCTEXT] szText; 27 + LANGID lgid; 28 + WORD wReserved1; 29 +} 30 +alias CCSTYLEA* LPCCSTYLEA; 31 + 32 +struct CCSTYLEW { 33 + DWORD flStyle; 34 + DWORD flExtStyle; 35 + WCHAR[CCHCCTEXT] szText; 36 + LANGID lgid; 37 + WORD wReserved1; 38 +} 39 +alias CCSTYLEW* LPCCSTYLEW; 40 + 41 +struct CCSTYLEFLAGA { 42 + DWORD flStyle; 43 + DWORD flStyleMask; 44 + LPSTR pszStyle; 45 +} 46 +alias CCSTYLEFLAGA* LPCCSTYLEFLAGA; 47 + 48 +struct CCSTYLEFLAGW { 49 + DWORD flStyle; 50 + DWORD flStyleMask; 51 + LPWSTR pszStyle; 52 +} 53 +alias CCSTYLEFLAGW* LPCCSTYLEFLAGW; 54 + 55 +struct CCINFOA { 56 + CHAR[CCHCCCLASS] szClass; 57 + DWORD flOptions; 58 + CHAR[CCHCCDESC] szDesc; 59 + UINT cxDefault; 60 + UINT cyDefault; 61 + DWORD flStyleDefault; 62 + DWORD flExtStyleDefault; 63 + DWORD flCtrlTypeMask; 64 + CHAR[CCHCCTEXT] szTextDefault; 65 + INT cStyleFlags; 66 + LPCCSTYLEFLAGA aStyleFlags; 67 + LPFNCCSTYLEA lpfnStyle; 68 + LPFNCCSIZETOTEXTA lpfnSizeToText; 69 + DWORD dwReserved1; 70 + DWORD dwReserved2; 71 +} 72 +alias CCINFOA* LPCCINFOA; 73 + 74 +struct CCINFOW { 75 + WCHAR[CCHCCCLASS] szClass; 76 + DWORD flOptions; 77 + WCHAR[CCHCCDESC] szDesc; 78 + UINT cxDefault; 79 + UINT cyDefault; 80 + DWORD flStyleDefault; 81 + DWORD flExtStyleDefault; 82 + DWORD flCtrlTypeMask; 83 + WCHAR[CCHCCTEXT] szTextDefault; 84 + INT cStyleFlags; 85 + LPCCSTYLEFLAGW aStyleFlags; 86 + LPFNCCSTYLEW lpfnStyle; 87 + LPFNCCSIZETOTEXTW lpfnSizeToText; 88 + DWORD dwReserved1; 89 + DWORD dwReserved2; 90 +} 91 +alias CCINFOW* LPCCINFOW; 92 + 93 +extern (Windows) { 94 + alias BOOL function(HWND, LPCCSTYLEA) LPFNCCSTYLEA; 95 + alias BOOL function(HWND, LPCCSTYLEW) LPFNCCSTYLEW; 96 + alias INT function(DWORD, DWORD, HFONT, LPSTR) LPFNCCSIZETOTEXTA; 97 + alias INT function(DWORD, DWORD, HFONT, LPWSTR) LPFNCCSIZETOTEXTW; 98 + alias UINT function(LPCCINFOA) LPFNCCINFOA; 99 + alias UINT function(LPCCINFOW) LPFNCCINFOW; 100 + UINT CustomControlInfoA(LPCCINFOA acci); 101 + UINT CustomControlInfoW(LPCCINFOW acci); 102 +} 103 + 104 +version (Unicode) { 105 + alias CCSTYLEW CCSTYLE; 106 + alias CCSTYLEFLAGW CCSTYLEFLAG; 107 + alias CCINFOW CCINFO; 108 + alias LPFNCCSTYLEW LPFNCCSTYLE; 109 + alias LPFNCCSIZETOTEXTW LPFNCCSIZETOTEXT; 110 + alias LPFNCCINFOW LPFNCCINFO; 111 +} else { 112 + alias CCSTYLEA CCSTYLE; 113 + alias CCSTYLEFLAGA CCSTYLEFLAG; 114 + alias CCINFOA CCINFO; 115 + alias LPFNCCSTYLEA LPFNCCSTYLE; 116 + alias LPFNCCSIZETOTEXTA LPFNCCSIZETOTEXT; 117 + alias LPFNCCINFOA LPFNCCINFO; 118 +} 119 + 120 +alias CCSTYLE* LPCCSTYLE; 121 +alias CCSTYLEFLAG* LPCCSTYLEFLAG; 122 +alias CCINFO* LPCCINFO;

Added src/win32/dbt.d version [aebc33dc791d8664]

1 +/***********************************************************************\ 2 +* dbt.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Vladimir Vlasov * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.dbt; 12 + 13 +import win32.w32api, win32.windef; 14 +import win32.basetyps; // for GUID 15 + 16 +// FIXME: clean up Windows version support 17 + 18 +enum : DWORD { 19 + DBT_NO_DISK_SPACE = 0x47, 20 + DBT_CONFIGMGPRIVATE = 0x7FFF, 21 + DBT_DEVICEARRIVAL = 0x8000, 22 + DBT_DEVICEQUERYREMOVE = 0x8001, 23 + DBT_DEVICEQUERYREMOVEFAILED = 0x8002, 24 + DBT_DEVICEREMOVEPENDING = 0x8003, 25 + DBT_DEVICEREMOVECOMPLETE = 0x8004, 26 + DBT_DEVICETYPESPECIFIC = 0x8005, 27 + DBT_DEVTYP_OEM = 0, 28 + DBT_DEVTYP_DEVNODE = 1, 29 + DBT_DEVTYP_VOLUME = 2, 30 + DBT_DEVTYP_PORT = 3, 31 + DBT_DEVTYP_NET = 4 32 +} 33 + 34 +static if (_WIN32_WINDOWS >= 0x040A) { 35 + enum : DWORD { 36 + DBT_DEVTYP_DEVICEINTERFACE = 5, 37 + DBT_DEVTYP_HANDLE = 6 38 + } 39 +} 40 + 41 +enum : DWORD { 42 + DBT_APPYBEGIN, 43 + DBT_APPYEND, 44 + DBT_DEVNODES_CHANGED = 7, 45 + DBT_QUERYCHANGECONFIG = 0x17, 46 + DBT_CONFIGCHANGED = 0x18, 47 + DBT_CONFIGCHANGECANCELED = 0x19, 48 + DBT_MONITORCHANGE = 0x1B, 49 + DBT_SHELLLOGGEDON = 32, 50 + DBT_CONFIGMGAPI32 = 34, 51 + DBT_VXDINITCOMPLETE = 35, 52 + DBT_VOLLOCKQUERYLOCK = 0x8041, 53 + DBT_VOLLOCKLOCKTAKEN = 0x8042, 54 + DBT_VOLLOCKLOCKFAILED = 0x8043, 55 + DBT_VOLLOCKQUERYUNLOCK = 0x8044, 56 + DBT_VOLLOCKLOCKRELEASED = 0x8045, 57 + DBT_VOLLOCKUNLOCKFAILED = 0x8046, 58 + DBT_USERDEFINED = 0xFFFF 59 +} 60 + 61 +enum : WORD { 62 + DBTF_MEDIA = 1, 63 + DBTF_NET = 2 64 +} 65 + 66 +enum : DWORD { 67 + BSM_ALLCOMPONENTS = 0, 68 + BSM_APPLICATIONS = 8, 69 + BSM_ALLDESKTOPS = 16, 70 + BSM_INSTALLABLEDRIVERS = 4, 71 + BSM_NETDRIVER = 2, 72 + BSM_VXDS = 1, 73 + BSF_FLUSHDISK = 0x00000004, 74 + BSF_FORCEIFHUNG = 0x00000020, 75 + BSF_IGNORECURRENTTASK = 0x00000002, 76 + BSF_NOHANG = 0x00000008, 77 + BSF_NOTIMEOUTIFNOTHUNG = 0x00000040, 78 + BSF_POSTMESSAGE = 0x00000010, 79 + BSF_QUERY = 0x00000001, 80 + BSF_MSGSRV32ISOK_BIT = 31, 81 + BSF_MSGSRV32ISOK = 0x80000000 82 +} 83 + 84 +static if (_WIN32_WINNT >= 0x0500) { 85 + enum : DWORD { 86 + BSF_ALLOWSFW = 0x00000080, 87 + BSF_SENDNOTIFYMESSAGE = 0x00000100 88 + } 89 +} 90 + 91 +static if (_WIN32_WINNT >= 0x0501) { 92 + enum : DWORD { 93 + BSF_LUID = 0x00000400, 94 + BSF_RETURNHDESK = 0x00000200 95 + } 96 +} 97 + 98 +struct DEV_BROADCAST_HDR { 99 + DWORD dbch_size = DEV_BROADCAST_HDR.sizeof; 100 + DWORD dbch_devicetype; 101 + DWORD dbch_reserved; 102 +} 103 +alias DEV_BROADCAST_HDR* PDEV_BROADCAST_HDR; 104 + 105 +struct DEV_BROADCAST_OEM { 106 + DWORD dbco_size = DEV_BROADCAST_OEM.sizeof; 107 + DWORD dbco_devicetype; 108 + DWORD dbco_reserved; 109 + DWORD dbco_identifier; 110 + DWORD dbco_suppfunc; 111 +} 112 +alias DEV_BROADCAST_OEM* PDEV_BROADCAST_OEM; 113 + 114 +struct DEV_BROADCAST_PORT_A { 115 + DWORD dbcp_size = DEV_BROADCAST_PORT_A.sizeof; 116 + DWORD dbcp_devicetype; 117 + DWORD dbcp_reserved; 118 + char _dbcp_name; 119 + char* dbcp_name() { return &_dbcp_name; } 120 +} 121 +alias DEV_BROADCAST_PORT_A* PDEV_BROADCAST_PORT_A; 122 + 123 +struct DEV_BROADCAST_PORT_W { 124 + DWORD dbcp_size = DEV_BROADCAST_PORT_W.sizeof; 125 + DWORD dbcp_devicetype; 126 + DWORD dbcp_reserved; 127 + WCHAR _dbcp_name; 128 + WCHAR* dbcp_name() { return &_dbcp_name; } 129 +} 130 +alias DEV_BROADCAST_PORT_W* PDEV_BROADCAST_PORT_W; 131 + 132 +struct DEV_BROADCAST_USERDEFINED { 133 + DEV_BROADCAST_HDR dbud_dbh; 134 + char _dbud_szName; 135 + char* dbud_szName() { return &_dbud_szName; } 136 +} 137 + 138 +struct DEV_BROADCAST_VOLUME { 139 + DWORD dbcv_size = DEV_BROADCAST_VOLUME.sizeof; 140 + DWORD dbcv_devicetype; 141 + DWORD dbcv_reserved; 142 + DWORD dbcv_unitmask; 143 + WORD dbcv_flags; 144 +} 145 +alias DEV_BROADCAST_VOLUME* PDEV_BROADCAST_VOLUME; 146 + 147 +version (Unicode) { 148 + alias DEV_BROADCAST_PORT_W DEV_BROADCAST_PORT; 149 +} else { 150 + alias DEV_BROADCAST_PORT_A DEV_BROADCAST_PORT; 151 +} 152 +alias DEV_BROADCAST_PORT* PDEV_BROADCAST_PORT; 153 + 154 +static if ((_WIN32_WINDOWS >= 0x0410) || (_WIN32_WINNT >= 0x0500)) { 155 + struct DEV_BROADCAST_DEVICEINTERFACE_A { 156 + DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_A.sizeof; 157 + DWORD dbcc_devicetype; 158 + DWORD dbcc_reserved; 159 + GUID dbcc_classguid; 160 + char _dbcc_name; 161 + char* dbcc_name() { return &_dbcc_name; } 162 + } 163 + alias DEV_BROADCAST_DEVICEINTERFACE_A* PDEV_BROADCAST_DEVICEINTERFACE_A; 164 + 165 + struct DEV_BROADCAST_DEVICEINTERFACE_W { 166 + DWORD dbcc_size = DEV_BROADCAST_DEVICEINTERFACE_W.sizeof; 167 + DWORD dbcc_devicetype; 168 + DWORD dbcc_reserved; 169 + GUID dbcc_classguid; 170 + WCHAR _dbcc_name; 171 + WCHAR* dbcc_name() { return &_dbcc_name; } 172 + } 173 + alias DEV_BROADCAST_DEVICEINTERFACE_W* PDEV_BROADCAST_DEVICEINTERFACE_W; 174 + 175 + version (Unicode) { 176 + alias DEV_BROADCAST_DEVICEINTERFACE_W DEV_BROADCAST_DEVICEINTERFACE; 177 + } else { 178 + alias DEV_BROADCAST_DEVICEINTERFACE_A DEV_BROADCAST_DEVICEINTERFACE; 179 + } 180 + alias DEV_BROADCAST_DEVICEINTERFACE* PDEV_BROADCAST_DEVICEINTERFACE; 181 + 182 + struct DEV_BROADCAST_HANDLE { 183 + DWORD dbch_size = DEV_BROADCAST_HANDLE.sizeof; 184 + DWORD dbch_devicetype; 185 + DWORD dbch_reserved; 186 + HANDLE dbch_handle; 187 + DWORD dbch_hdevnotify; 188 + GUID dbch_eventguid; 189 + LONG dbch_nameoffset; 190 + BYTE _dbch_data; 191 + BYTE* dbch_data() { return &_dbch_data; } 192 + } 193 + alias DEV_BROADCAST_HANDLE* PDEV_BROADCAST_HANDLE; 194 +}

Modified src/win32/dde.d from [32515530001c4a7e] to [958265cdfd657f8f].

1 +/***********************************************************************\ 2 +* dde.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.dde; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 - 7 -// #ifndef _DDEHEADER_INCLUDED_ 8 -// #define _DDEHEADER_INCLUDED_ 9 - 10 -// #if _MSC_VER > 1000 11 -// #pragma once 12 -// #endif 13 - 14 -// #ifndef _WINDEF_ 15 -import win32.windef; 16 -// #endif 17 - 18 -// #ifdef __cplusplus 19 -// extern "C" { 20 -// #endif 21 - 22 -enum : uint { WM_DDE_FIRST = 0x03E0 } 23 -const uint WM_DDE_INITIATE = WM_DDE_FIRST; 24 -const uint WM_DDE_TERMINATE = WM_DDE_FIRST+1; 25 -const uint WM_DDE_ADVISE = WM_DDE_FIRST+2; 26 -const uint WM_DDE_UNADVISE = WM_DDE_FIRST+3; 27 -const uint WM_DDE_ACK = WM_DDE_FIRST+4; 28 -const uint WM_DDE_DATA = WM_DDE_FIRST+5; 29 -const uint WM_DDE_REQUEST = WM_DDE_FIRST+6; 30 -const uint WM_DDE_POKE = WM_DDE_FIRST+7; 31 -const uint WM_DDE_EXECUTE = WM_DDE_FIRST+8; 32 -const uint WM_DDE_LAST = WM_DDE_FIRST+8; 33 - 34 -struct _0 { 35 -// #ifndef _MAC 36 -// unsigned short bAppReturnCode:8, 37 -// reserved:6, 38 -// fBusy:1, 39 -// fAck:1; 40 -// #else 41 -// ... 42 -// #endif 12 +pragma(lib, "user32.lib"); 13 + 14 +private import win32.windef; 15 + 16 +enum : uint { 17 + WM_DDE_FIRST = 0x03E0, 18 + WM_DDE_INITIATE = WM_DDE_FIRST, 19 + WM_DDE_TERMINATE, 20 + WM_DDE_ADVISE, 21 + WM_DDE_UNADVISE, 22 + WM_DDE_ACK, 23 + WM_DDE_DATA, 24 + WM_DDE_REQUEST, 25 + WM_DDE_POKE, 26 + WM_DDE_EXECUTE, 27 + WM_DDE_LAST = WM_DDE_EXECUTE 28 +} 29 + 30 +struct DDEACK { 31 + ubyte bAppReturnCode; 32 + ubyte _bf; 33 + 34 + ubyte reserved() { return cast(ubyte) (_bf & 0x3F); } 35 + bool fBusy() { return cast(bool) (_bf & 0x40); } 36 + bool fAck() { return cast(bool) (_bf & 0x80); } 37 + 38 + ubyte reserved(ubyte r) { 39 + _bf = cast(ubyte) ((_bf & ~0x3F) | (r & 0x3F)); 40 + return cast(ubyte)(r & 0x3F); 41 + } 42 + 43 + bool fBusy(bool f) { _bf = cast(ubyte) ((_bf & ~0x40) | (f << 6)); return f; } 44 + bool fAck(bool f) { _bf = cast(ubyte) ((_bf & ~0x80) | (f << 7)); return f; } 45 +} 46 + 47 +struct DDEADVISE { 48 + ushort _bf; 49 + short cfFormat; 50 + 51 + ushort reserved() { return cast(ushort) (_bf & 0x3FFF); } 52 + bool fDeferUpd() { return cast(bool) (_bf & 0x4000); } 53 + bool fAckReq() { return cast(bool) (_bf & 0x8000); } 54 + 55 + ushort reserved(ushort r) { 56 + _bf = cast(ushort) ((_bf & ~0x3FFF) | (r & 0x3FFF)); 57 + return cast(ushort)(r & 0x3FFF); 58 + } 59 + 60 + bool fDeferUpd(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) | (f << 14)); return f; } 61 + bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) | (f << 15)); return f; } 62 +} 63 + 64 +struct DDEDATA { 65 + ushort _bf; 66 + short cfFormat; 67 + byte _Value; 68 + 69 + ushort unused() { return cast(ushort) (_bf & 0x0FFF); } 70 + bool fResponse() { return cast(bool) (_bf & 0x1000); } 71 + bool fRelease() { return cast(bool) (_bf & 0x2000); } 72 + bool reserved() { return cast(bool) (_bf & 0x4000); } 73 + bool fAckReq() { return cast(bool) (_bf & 0x8000); } 74 + 75 + byte* Value() { return &_Value; } 76 + 77 + ushort unused(ushort r) { 78 + _bf = cast(ushort) ((_bf & ~0x0FFF) | (r & 0x0FFF)); 79 + return cast(ushort)(r & 0x0FFF); 80 + } 81 + 82 + bool fResponse(bool f) { _bf = cast(ushort) ((_bf & ~0x1000) | (f << 12)); return f; } 83 + bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) | (f << 13)); return f; } 84 + bool reserved(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) | (f << 14)); return f; } 85 + bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) | (f << 15)); return f; } 86 +} 87 + 88 +struct DDEPOKE { 89 + ushort _bf; 90 + short cfFormat; 91 + byte _Value; 92 + 93 + ushort unused() { return cast(ushort) (_bf & 0x1FFF); } 94 + bool fRelease() { return cast(bool) (_bf & 0x2000); } 95 + ubyte fReserved() { return cast(ubyte) ((_bf & 0xC000) >>> 14); } 96 + 97 + byte* Value() { return &_Value; } 98 + 99 + ushort unused(ushort u) { 100 + _bf = cast(ushort) ((_bf & ~0x1FFF) | (u & 0x1FFF)); 101 + return cast(ushort)(u & 0x1FFF); 102 + } 103 + 104 + bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) | (f << 13)); return f; } 105 + ubyte fReserved(ubyte r) { _bf = cast(ushort) ((_bf & ~0xC000) | (r << 14)); return r; } 106 +} 107 + 108 +deprecated struct DDELN { 109 + ushort _bf; 110 + short cfFormat; 111 + 112 + ushort unused() { return cast(ushort) (_bf & 0x1FFF); } 113 + bool fRelease() { return cast(bool) (_bf & 0x2000); } 114 + bool fDeferUpd() { return cast(bool) (_bf & 0x4000); } 115 + bool fAckReq() { return cast(bool) (_bf & 0x8000); } 116 + 117 + ushort unused(ushort u) { 118 + _bf = cast(ushort)((_bf & ~0x1FFF) | (u & 0x1FFF)); 119 + return cast(ushort)(u & 0x1FFF); 120 + } 121 + 122 + bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) | (f << 13)); return f; } 123 + bool fDeferUpd(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) | (f << 14)); return f; } 124 + bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) | (f << 15)); return f; } 43 125 } 44 -alias _0 DDEACK; 45 - 46 -struct _1 { 47 -// #ifndef _MAC 48 -// unsigned short reserved:14, 49 -// fDeferUpd:1, 50 -// fAckReq:1; 51 -// #else 52 -// ... 53 -// #endif 54 - short cfFormat; 55 -} 56 -alias _1 DDEADVISE; 57 - 58 -struct _2 { 59 -// #ifndef _MAC 60 -// unsigned short unused:12, 61 -// fResponse:1, 62 -// fRelease:1, 63 -// reserved:1, 64 -// fAckReq:1; 65 -// #else 66 -// ... 67 -// #endif 68 - short cfFormat; 69 - BYTE Value[1]; 126 + 127 +deprecated struct DDEUP { 128 + ushort _bf; 129 + short cfFormat; 130 + byte _rgb; 131 + 132 + ushort unused() { return cast(ushort) (_bf & 0x0FFF); } 133 + bool fAck() { return cast(bool) (_bf & 0x1000); } 134 + bool fRelease() { return cast(bool) (_bf & 0x2000); } 135 + bool fReserved() { return cast(bool) (_bf & 0x4000); } 136 + bool fAckReq() { return cast(bool) (_bf & 0x8000); } 137 + 138 + byte* rgb() { return &_rgb; } 139 + 140 + ushort unused(ushort r) { 141 + _bf = cast(ushort) ((_bf & ~0x0FFF) | (r & 0x0FFF)); 142 + return cast(ushort)(r & 0x0FFF); 143 + } 144 + 145 + bool fAck(bool f) { _bf = cast(ushort) ((_bf & ~0x1000) | (f << 12)); return f; } 146 + bool fRelease(bool f) { _bf = cast(ushort) ((_bf & ~0x2000) | (f << 13)); return f; } 147 + bool fReserved(bool f) { _bf = cast(ushort) ((_bf & ~0x4000) | (f << 14)); return f; } 148 + bool fAckReq(bool f) { _bf = cast(ushort) ((_bf & ~0x8000) | (f << 15)); return f; } 70 149 } 71 -alias _2 DDEDATA; 72 150 73 -struct _3 { 74 -// #ifndef _MAC 75 -// unsigned short unused:13, 76 - 77 -// fRelease:1, 78 -// fReserved:2; 79 -// #else 80 -// ... 81 -// #endif 82 - short cfFormat; 83 - BYTE Value[1]; 84 - 85 -} 86 -alias _3 DDEPOKE; 87 - 88 -struct _4 { 89 -// #ifndef _MAC 90 -// unsigned short unused:13, 91 -// fRelease:1, 92 -// fDeferUpd:1, 93 -// fAckReq:1; 94 -// #else 95 -// ... 96 -// #endif 97 - short cfFormat; 98 -} 99 -alias _4 DDELN; 100 - 101 -struct _5 { 102 -// #ifndef _MAC 103 -// unsigned short unused:12, 104 -// fAck:1, 105 -// fRelease:1, 106 -// fReserved:1, 107 -// fAckReq:1; 108 -// #else 109 -// ... 110 -// #endif 111 - short cfFormat; 112 - BYTE rgb[1]; 151 +extern (Windows) { 152 + BOOL DdeSetQualityOfService(HWND, CPtr!(SECURITY_QUALITY_OF_SERVICE), 153 + PSECURITY_QUALITY_OF_SERVICE); 154 + BOOL ImpersonateDdeClientWindow(HWND, HWND); 155 + LPARAM PackDDElParam(UINT, UINT_PTR, UINT_PTR); 156 + BOOL UnpackDDElParam(UINT, LPARAM, PUINT_PTR, PUINT_PTR); 157 + BOOL FreeDDElParam(UINT, LPARAM); 158 + LPARAM ReuseDDElParam(LPARAM, UINT, UINT, UINT_PTR, UINT_PTR); 113 159 } 114 -alias _5 DDEUP; 160 + 161 +debug (WindowsUnitTest) { 162 + unittest { 163 + DDEACK ddeack; 164 + 165 + with (ddeack) { 166 + reserved = 10; 167 + assert (_bf == 0x0A); 168 + fBusy = true; 169 + assert (_bf == 0x4A); 170 + fAck = true; 171 + assert (_bf == 0xCA); 172 + 173 + assert (reserved == 10); 174 + assert (fBusy == true); 175 + assert (fAck == true); 176 + 177 + reserved = 43; 178 + assert (_bf == 0xEB); 179 + fBusy = false; 180 + assert (_bf == 0xAB); 181 + fAck = false; 182 + assert (_bf == 0x2B); 183 + 184 + assert (reserved == 43); 185 + assert (fBusy == false); 186 + assert (fAck == false); 187 + } 188 + 189 + DDEPOKE ddepoke; 115 190 116 -extern(Windows) export BOOL DdeSetQualityOfService( 117 - HWND hwndClient, 118 - SECURITY_QUALITY_OF_SERVICE *pqosNew, 119 - PSECURITY_QUALITY_OF_SERVICE pqosPrev); 191 + with (ddepoke) { 192 + unused = 3456; 193 + assert (_bf == 0x0D80); 194 + fRelease = true; 195 + assert (_bf == 0x2D80); 196 + fReserved = 2; 197 + assert (_bf == 0xAD80); 120 198 121 -extern(Windows) export BOOL ImpersonateDdeClientWindow( 122 - HWND hWndClient, 123 - HWND hWndServer); 199 + assert (unused == 3456); 200 + assert (fRelease == true); 201 + assert (fReserved == 2); 124 202 125 -extern(Windows) export LPARAM PackDDElParam(UINT msg, UINT_PTR uiLo, UINT_PTR uiHi); 126 -extern(Windows) export BOOL UnpackDDElParam(UINT msg, LPARAM lParam, PUINT_PTR puiLo, PUINT_PTR puiHi); 127 -extern(Windows) export BOOL FreeDDElParam(UINT msg, LPARAM lParam); 128 -extern(Windows) export LPARAM ReuseDDElParam(LPARAM lParam, UINT msgIn, UINT msgOut, UINT_PTR uiLo, UINT_PTR uiHi); 129 - 130 -// #ifdef __cplusplus 131 -// } 132 -// #endif 203 + unused = 2109; 204 + assert (_bf == 0xa83d); 205 + fRelease = false; 206 + assert (_bf == 0x883d); 207 + fReserved = 1; 208 + assert (_bf == 0x483d); 133 209 134 -// #endif // _DDEHEADER_INCLUDED_ 210 + assert (unused == 2109); 211 + assert (fRelease == false); 212 + assert (fReserved == 1); 213 + } 214 + } 215 +}

Modified src/win32/ddeml.d from [cc5f44d13c1d8af5] to [80302d7833fbc86f].

1 +/***********************************************************************\ 2 +* ddeml.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.ddeml; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 - 8 -// #ifndef _INC_DDEMLH 9 -// #define _INC_DDEMLH 10 - 11 -// #ifdef __cplusplus 12 -// extern "C" { 13 -// #endif /* __cplusplus */ 14 - 15 -alias void* HCONVLIST; 16 -alias void* HCONV; 17 -alias void* HSZ; 18 -alias void* HDDEDATA; 19 -// #define EXPENTRY CALLBACK 20 - 21 -struct tagHSZPAIR { 22 - HSZ hszSvc; 23 - HSZ hszTopic; 24 -} 25 -alias tagHSZPAIR HSZPAIR; 26 - 12 +pragma(lib, "user32.lib"); 13 + 14 +private import win32.basetsd, win32.windef, win32.winnt; 15 + 16 +enum : int { 17 + CP_WINANSI = 1004, 18 + CP_WINUNICODE = 1200 19 +} 20 + 21 +enum : UINT { 22 + XTYPF_NOBLOCK = 2, 23 + XTYPF_NODATA = 4, 24 + XTYPF_ACKREQ = 8 25 +} 26 + 27 +enum : UINT { 28 + XCLASS_MASK = 0xFC00, 29 + XCLASS_BOOL = 0x1000, 30 + XCLASS_DATA = 0x2000, 31 + XCLASS_FLAGS = 0x4000, 32 + XCLASS_NOTIFICATION = 0x8000 33 +} 34 + 35 +enum : UINT { 36 + XST_NULL, 37 + XST_INCOMPLETE, 38 + XST_CONNECTED, 39 + XST_INIT1, 40 + XST_INIT2, 41 + XST_REQSENT, 42 + XST_DATARCVD, 43 + XST_POKESENT, 44 + XST_POKEACKRCVD, 45 + XST_EXECSENT, 46 + XST_EXECACKRCVD, 47 + XST_ADVSENT, 48 + XST_UNADVSENT, 49 + XST_ADVACKRCVD, 50 + XST_UNADVACKRCVD, 51 + XST_ADVDATASENT, 52 + XST_ADVDATAACKRCVD // = 16 53 +} 54 + 55 +enum : UINT { 56 + XTYP_ERROR = XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 57 + XTYP_ADVDATA = 0x0010 | XCLASS_FLAGS, 58 + XTYP_ADVREQ = 0x0020 | XCLASS_DATA | XTYPF_NOBLOCK, 59 + XTYP_ADVSTART = 0x0030 | XCLASS_BOOL, 60 + XTYP_ADVSTOP = 0x0040 | XCLASS_NOTIFICATION, 61 + XTYP_EXECUTE = 0x0050 | XCLASS_FLAGS, 62 + XTYP_CONNECT = 0x0060 | XCLASS_BOOL | XTYPF_NOBLOCK, 63 + XTYP_CONNECT_CONFIRM = 0x0070 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 64 + XTYP_XACT_COMPLETE = 0x0080 | XCLASS_NOTIFICATION, 65 + XTYP_POKE = 0x0090 | XCLASS_FLAGS, 66 + XTYP_REGISTER = 0x00A0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 67 + XTYP_REQUEST = 0x00B0 | XCLASS_DATA, 68 + XTYP_DISCONNECT = 0x00C0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 69 + XTYP_UNREGISTER = 0x00D0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 70 + XTYP_WILDCONNECT = 0x00E0 | XCLASS_DATA | XTYPF_NOBLOCK, 71 + XTYP_MONITOR = 0X00F0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 72 + XTYP_MASK = 0x00F0, 73 + XTYP_SHIFT = 4 74 +} 75 + 76 +/+ 77 +#define TIMEOUT_ASYNC 0xFFFFFFFF 78 +#define QID_SYNC 0xFFFFFFFF 79 ++/ 80 + 81 +enum : UINT { 82 + ST_CONNECTED = 1, 83 + ST_ADVISE = 2, 84 + ST_ISLOCAL = 4, 85 + ST_BLOCKED = 8, 86 + ST_CLIENT = 16, 87 + ST_TERMINATED = 32, 88 + ST_INLIST = 64, 89 + ST_BLOCKNEXT = 128, 90 + ST_ISSELF = 256 91 +} 92 + 93 +/+ 94 +#define CADV_LATEACK 0xFFFF 95 ++/ 96 + 97 +enum : UINT { 98 + DMLERR_NO_ERROR = 0, 99 + DMLERR_FIRST = 0x4000, 100 + DMLERR_ADVACKTIMEOUT = DMLERR_FIRST, 101 + DMLERR_BUSY, 102 + DMLERR_DATAACKTIMEOUT, 103 + DMLERR_DLL_NOT_INITIALIZED, 104 + DMLERR_DLL_USAGE, 105 + DMLERR_EXECACKTIMEOUT, 106 + DMLERR_INVALIDPARAMETER, 107 + DMLERR_LOW_MEMORY, 108 + DMLERR_MEMORY_ERROR, 109 + DMLERR_NOTPROCESSED, 110 + DMLERR_NO_CONV_ESTABLISHED, 111 + DMLERR_POKEACKTIMEOUT, 112 + DMLERR_POSTMSG_FAILED, 113 + DMLERR_REENTRANCY, 114 + DMLERR_SERVER_DIED, 115 + DMLERR_SYS_ERROR, 116 + DMLERR_UNADVACKTIMEOUT, 117 + DMLERR_UNFOUND_QUEUE_ID, // = 0x4011 118 + DMLERR_LAST = DMLERR_UNFOUND_QUEUE_ID 119 +} 120 + 121 +/+ 122 +#define DDE_FACK 0x8000 123 +#define DDE_FBUSY 0x4000 124 +#define DDE_FDEFERUPD 0x4000 125 +#define DDE_FACKREQ 0x8000 126 +#define DDE_FRELEASE 0x2000 127 +#define DDE_FREQUESTED 0x1000 128 +#define DDE_FAPPSTATUS 0x00ff 129 +#define DDE_FNOTPROCESSED 0 130 +#define DDE_FACKRESERVED (~(DDE_FACK|DDE_FBUSY|DDE_FAPPSTATUS)) 131 +#define DDE_FADVRESERVED (~(DDE_FACKREQ|DDE_FDEFERUPD)) 132 +#define DDE_FDATRESERVED (~(DDE_FACKREQ|DDE_FRELEASE|DDE_FREQUESTED)) 133 +#define DDE_FPOKRESERVED (~DDE_FRELEASE) 134 +#define MSGF_DDEMGR 0x8001 135 +#define CBR_BLOCK ((HDDEDATA)0xffffffff) 136 ++/ 137 + 138 +const DWORD 139 + APPCLASS_STANDARD = 0, 140 + APPCLASS_MONITOR = 0x00000001, 141 + APPCLASS_MASK = 0x0000000F, 142 + APPCMD_CLIENTONLY = 0x00000010, 143 + APPCMD_FILTERINITS = 0x00000020, 144 + APPCMD_MASK = 0x00000FF0, 145 + CBF_FAIL_SELFCONNECTIONS = 0x00001000, 146 + CBF_FAIL_CONNECTIONS = 0x00002000, 147 + CBF_FAIL_ADVISES = 0x00004000, 148 + CBF_FAIL_EXECUTES = 0x00008000, 149 + CBF_FAIL_POKES = 0x00010000, 150 + CBF_FAIL_REQUESTS = 0x00020000, 151 + CBF_FAIL_ALLSVRXACTIONS = 0x0003f000, 152 + CBF_SKIP_CONNECT_CONFIRMS = 0x00040000, 153 + CBF_SKIP_REGISTRATIONS = 0x00080000, 154 + CBF_SKIP_UNREGISTRATIONS = 0x00100000, 155 + CBF_SKIP_DISCONNECTS = 0x00200000, 156 + CBF_SKIP_ALLNOTIFICATIONS = 0x003c0000, 157 + MF_HSZ_INFO = 0x01000000, 158 + MF_SENDMSGS = 0x02000000, 159 + MF_POSTMSGS = 0x04000000, 160 + MF_CALLBACKS = 0x08000000, 161 + MF_ERRORS = 0x10000000, 162 + MF_LINKS = 0x20000000, 163 + MF_CONV = 0x40000000, 164 + MF_MASK = 0xFF000000; 165 + 166 +enum : UINT { 167 + EC_ENABLEALL = 0, 168 + EC_ENABLEONE = ST_BLOCKNEXT, 169 + EC_DISABLE = ST_BLOCKED, 170 + EC_QUERYWAITING = 2 171 +} 172 + 173 +enum : UINT { 174 + DNS_REGISTER = 1, 175 + DNS_UNREGISTER = 2, 176 + DNS_FILTERON = 4, 177 + DNS_FILTEROFF = 8 178 +} 179 + 180 +/+ 181 +#define HDATA_APPOWNED 1 182 +#define MAX_MONITORS 4 183 ++/ 184 + 185 +enum : int { 186 + MH_CREATE = 1, 187 + MH_KEEP = 2, 188 + MH_DELETE = 3, 189 + MH_CLEANUP = 4 190 +} 191 + 192 +alias HANDLE HCONVLIST, HCONV, HSZ, HDDEDATA; 193 + 194 +extern (Windows) alias HDDEDATA 195 + function(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD) PFNCALLBACK; 196 + 197 +struct HSZPAIR { 198 + HSZ hszSvc; 199 + HSZ hszTopic; 200 +} 27 201 alias HSZPAIR* PHSZPAIR; 28 202 29 -struct tagCONVCONTEXT { 30 - UINT cb; 31 - UINT wFlags; 32 - UINT wCountryID; 33 - int iCodePage; 34 - DWORD dwLangID; 35 - DWORD dwSecurity; 36 - SECURITY_QUALITY_OF_SERVICE qos; 203 +struct CONVCONTEXT { 204 + UINT cb = CONVCONTEXT.sizeof; 205 + UINT wFlags; 206 + UINT wCountryID; 207 + int iCodePage; 208 + DWORD dwLangID; 209 + DWORD dwSecurity; 210 + SECURITY_QUALITY_OF_SERVICE qos; 37 211 } 38 -alias tagCONVCONTEXT CONVCONTEXT; 39 - 40 212 alias CONVCONTEXT* PCONVCONTEXT; 41 213 42 -struct tagCONVINFO { 43 - DWORD cb; 44 - DWORD_PTR hUser; 45 - HCONV hConvPartner; 46 - HSZ hszSvcPartner; 47 - HSZ hszServiceReq; 48 - HSZ hszTopic; 49 - HSZ hszItem; 50 - UINT wFmt; 51 - UINT wType; 52 - UINT wStatus; 53 - UINT wConvst; 54 - UINT wLastError; 55 - HCONVLIST hConvList; 56 - CONVCONTEXT ConvCtxt; 57 - HWND hwnd; 58 - HWND hwndPartner; 214 +struct CONVINFO { 215 + DWORD cb = CONVINFO.sizeof; 216 + DWORD hUser; 217 + HCONV hConvPartner; 218 + HSZ hszSvcPartner; 219 + HSZ hszServiceReq; 220 + HSZ hszTopic; 221 + HSZ hszItem; 222 + UINT wFmt; 223 + UINT wType; 224 + UINT wStatus; 225 + UINT wConvst; 226 + UINT wLastError; 227 + HCONVLIST hConvList; 228 + CONVCONTEXT ConvCtxt; 229 + HWND hwnd; 230 + HWND hwndPartner; 59 231 } 60 -alias tagCONVINFO CONVINFO; 61 - 62 232 alias CONVINFO* PCONVINFO; 63 233 64 -enum : uint { XST_NULL = 0 } 65 -enum : uint { XST_INCOMPLETE = 1 } 66 -enum : uint { XST_CONNECTED = 2 } 67 -enum : uint { XST_INIT1 = 3 } 68 -enum : uint { XST_INIT2 = 4 } 69 -enum : uint { XST_REQSENT = 5 } 70 -enum : uint { XST_DATARCVD = 6 } 71 -enum : uint { XST_POKESENT = 7 } 72 -enum : uint { XST_POKEACKRCVD = 8 } 73 -enum : uint { XST_EXECSENT = 9 } 74 -enum : uint { XST_EXECACKRCVD = 10 } 75 -enum : uint { XST_ADVSENT = 11 } 76 -enum : uint { XST_UNADVSENT = 12 } 77 -enum : uint { XST_ADVACKRCVD = 13 } 78 -enum : uint { XST_UNADVACKRCVD = 14 } 79 -enum : uint { XST_ADVDATASENT = 15 } 80 -enum : uint { XST_ADVDATAACKRCVD = 16 } 234 +struct DDEML_MSG_HOOK_DATA { 235 + UINT uiLo; 236 + UINT uiHi; 237 + DWORD cbData; 238 + DWORD[8] Data; 239 +} 240 + 241 +struct MONHSZSTRUCT { 242 + UINT cb = MONHSZSTRUCT.sizeof; 243 + int fsAction; 244 + DWORD dwTime; 245 + HSZ hsz; 246 + HANDLE hTask; 247 + TCHAR[1] _str; 248 + 249 + TCHAR* str() { return _str.ptr; } 250 +} 251 +alias MONHSZSTRUCT* PMONHSZSTRUCT; 81 252 82 -enum : uint { CADV_LATEACK = 0xFFFF } 253 +struct MONLINKSTRUCT { 254 + UINT cb = MONLINKSTRUCT.sizeof; 255 + DWORD dwTime; 256 + HANDLE hTask; 257 + BOOL fEstablished; 258 + BOOL fNoData; 259 + HSZ hszSvc; 260 + HSZ hszTopic; 261 + HSZ hszItem; 262 + UINT wFmt; 263 + BOOL fServer; 264 + HCONV hConvServer; 265 + HCONV hConvClient; 266 +} 267 +alias MONLINKSTRUCT* PMONLINKSTRUCT; 83 268 84 -enum : uint { ST_CONNECTED = 0x0001 } 85 -enum : uint { ST_ADVISE = 0x0002 } 86 -enum : uint { ST_ISLOCAL = 0x0004 } 87 -enum : uint { ST_BLOCKED = 0x0008 } 88 -enum : uint { ST_CLIENT = 0x0010 } 89 -enum : uint { ST_TERMINATED = 0x0020 } 90 -enum : uint { ST_INLIST = 0x0040 } 91 -enum : uint { ST_BLOCKNEXT = 0x0080 } 92 -enum : uint { ST_ISSELF = 0x0100 } 93 - 94 -enum : uint { DDE_FACK = 0x8000 } 95 -enum : uint { DDE_FBUSY = 0x4000 } 96 -enum : uint { DDE_FDEFERUPD = 0x4000 } 97 -enum : uint { DDE_FACKREQ = 0x8000 } 98 -enum : uint { DDE_FRELEASE = 0x2000 } 99 -enum : uint { DDE_FREQUESTED = 0x1000 } 100 -enum : uint { DDE_FAPPSTATUS = 0x00ff } 101 -enum : uint { DDE_FNOTPROCESSED = 0x0000 } 269 +struct MONCONVSTRUCT { 270 + UINT cb = MONCONVSTRUCT.sizeof; 271 + BOOL fConnect; 272 + DWORD dwTime; 273 + HANDLE hTask; 274 + HSZ hszSvc; 275 + HSZ hszTopic; 276 + HCONV hConvClient; 277 + HCONV hConvServer; 278 +} 279 +alias MONCONVSTRUCT* PMONCONVSTRUCT; 102 280 103 -const uint DDE_FACKRESERVED = ~(DDE_FACK | DDE_FBUSY | DDE_FAPPSTATUS); 104 -const uint DDE_FADVRESERVED = ~(DDE_FACKREQ | DDE_FDEFERUPD); 105 -const uint DDE_FDATRESERVED = ~(DDE_FACKREQ | DDE_FRELEASE | DDE_FREQUESTED); 106 -const uint DDE_FPOKRESERVED = ~(DDE_FRELEASE); 107 - 108 -enum : uint { MSGF_DDEMGR = 0x8001 } 109 - 110 -enum : uint { CP_WINANSI = 1004 } 111 -enum : uint { CP_WINUNICODE = 1200 } 112 -// #ifdef UNICODE 113 -alias CP_WINUNICODE CP_WINNEUTRAL; 114 -// #else // !UNICODE 115 -// #... 116 -// #endif // !UNICODE 117 - 118 -enum : uint { XTYPF_NOBLOCK = 0x0002 } 119 -enum : uint { XTYPF_NODATA = 0x0004 } 120 -enum : uint { XTYPF_ACKREQ = 0x0008 } 121 - 122 -enum : uint { XCLASS_MASK = 0xFC00 } 123 -enum : uint { XCLASS_BOOL = 0x1000 } 124 -enum : uint { XCLASS_DATA = 0x2000 } 125 -enum : uint { XCLASS_FLAGS = 0x4000 } 126 -enum : uint { XCLASS_NOTIFICATION = 0x8000 } 281 +struct MONCBSTRUCT { 282 + UINT cb = MONCBSTRUCT.sizeof; 283 + DWORD dwTime; 284 + HANDLE hTask; 285 + DWORD dwRet; 286 + UINT wType; 287 + UINT wFmt; 288 + HCONV hConv; 289 + HSZ hsz1; 290 + HSZ hsz2; 291 + HDDEDATA hData; 292 + ULONG_PTR dwData1; 293 + ULONG_PTR dwData2; 294 + CONVCONTEXT cc; 295 + DWORD cbData; 296 + DWORD[8] Data; 297 +} 298 +alias MONCBSTRUCT* PMONCBSTRUCT; 127 299 128 -const uint XTYP_ERROR = 0x0000 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK ; 129 -const uint XTYP_ADVDATA = 0x0010 | XCLASS_FLAGS ; 130 -const uint XTYP_ADVREQ = 0x0020 | XCLASS_DATA | XTYPF_NOBLOCK ; 131 -const uint XTYP_ADVSTART = 0x0030 | XCLASS_BOOL ; 132 -const uint XTYP_ADVSTOP = 0x0040 | XCLASS_NOTIFICATION; 133 -const uint XTYP_EXECUTE = 0x0050 | XCLASS_FLAGS ; 134 -const uint XTYP_CONNECT = 0x0060 | XCLASS_BOOL | XTYPF_NOBLOCK; 135 -const uint XTYP_CONNECT_CONFIRM = 0x0070 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK; 136 -const uint XTYP_XACT_COMPLETE = 0x0080 | XCLASS_NOTIFICATION ; 137 -const uint XTYP_POKE = 0x0090 | XCLASS_FLAGS ; 138 -const uint XTYP_REGISTER = 0x00A0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK; 139 -const uint XTYP_REQUEST = 0x00B0 | XCLASS_DATA ; 140 -const uint XTYP_DISCONNECT = 0x00C0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK; 141 -const uint XTYP_UNREGISTER = 0x00D0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK; 142 -const uint XTYP_WILDCONNECT = 0x00E0 | XCLASS_DATA | XTYPF_NOBLOCK; 143 - 144 -enum : uint { XTYP_MASK = 0x00F0 } 145 -enum : uint { XTYP_SHIFT = 4 } 146 - 147 -enum : uint { TIMEOUT_ASYNC = 0xFFFFFFFF } 148 - 149 -enum : uint { QID_SYNC = 0xFFFFFFFF } 150 - 151 -// #ifdef UNICODE 152 -const wchar[] SZDDESYS_TOPIC = "System"; 153 -const wchar[] SZDDESYS_ITEM_TOPICS = "Topics"; 154 -const wchar[] SZDDESYS_ITEM_SYSITEMS = "SysItems"; 155 -const wchar[] SZDDESYS_ITEM_RTNMSG = "ReturnMessage"; 156 -const wchar[] SZDDESYS_ITEM_STATUS = "Status"; 157 -const wchar[] SZDDESYS_ITEM_FORMATS = "Formats"; 158 -const wchar[] SZDDESYS_ITEM_HELP = "Help"; 159 -const wchar[] SZDDE_ITEM_ITEMLIST = "TopicItemList"; 160 -// #else 161 -// #... 162 -// #... 163 -// #... 164 -// #... 165 -// #... 166 -// #... 167 -// #... 168 -// #... 169 -// #endif 170 - 171 -// typedef HDDEDATA CALLBACK FNCALLBACK(UINT wType, UINT wFmt, HCONV hConv, HSZ hsz1, HSZ hsz2, HDDEDATA hData, ULONG_PTR dwData1, ULONG_PTR dwData2); 172 -extern(Windows) alias HDDEDATA function(UINT wType, UINT wFmt, HCONV hConv, HSZ hsz1, HSZ hsz2, HDDEDATA hData, ULONG_PTR dwData1, ULONG_PTR dwData2) PFNCALLBACK; 173 - 174 -const HDDEDATA CBR_BLOCK = cast(HDDEDATA)-1; 175 - 176 -extern(Windows) export UINT DdeInitializeA( LPDWORD pidInst, PFNCALLBACK pfnCallback, 177 - DWORD afCmd, DWORD ulRes); 178 -extern(Windows) export UINT DdeInitializeW( LPDWORD pidInst, PFNCALLBACK pfnCallback, 179 - DWORD afCmd, DWORD ulRes); 180 -// #ifdef UNICODE 181 -alias DdeInitializeW DdeInitialize; 182 -// #else 183 -// #... 184 -// #endif // !UNICODE 185 - 186 -enum : uint { CBF_FAIL_SELFCONNECTIONS = 0x00001000 } 187 -enum : uint { CBF_FAIL_CONNECTIONS = 0x00002000 } 188 -enum : uint { CBF_FAIL_ADVISES = 0x00004000 } 189 -enum : uint { CBF_FAIL_EXECUTES = 0x00008000 } 190 -enum : uint { CBF_FAIL_POKES = 0x00010000 } 191 -enum : uint { CBF_FAIL_REQUESTS = 0x00020000 } 192 -enum : uint { CBF_FAIL_ALLSVRXACTIONS = 0x0003f000 } 193 - 194 -enum : uint { CBF_SKIP_CONNECT_CONFIRMS = 0x00040000 } 195 -enum : uint { CBF_SKIP_REGISTRATIONS = 0x00080000 } 196 -enum : uint { CBF_SKIP_UNREGISTRATIONS = 0x00100000 } 197 -enum : uint { CBF_SKIP_DISCONNECTS = 0x00200000 } 198 -enum : uint { CBF_SKIP_ALLNOTIFICATIONS = 0x003c0000 } 199 - 200 -enum : uint { APPCMD_CLIENTONLY = 0x00000010 } 201 -enum : uint { APPCMD_FILTERINITS = 0x00000020 } 202 -enum : uint { APPCMD_MASK = 0x00000FF0 } 203 - 204 -enum : uint { APPCLASS_STANDARD = 0x00000000 } 205 -enum : uint { APPCLASS_MASK = 0x0000000F } 300 +struct MONERRSTRUCT { 301 + UINT cb = MONERRSTRUCT.sizeof; 302 + UINT wLastError; 303 + DWORD dwTime; 304 + HANDLE hTask; 305 +} 306 +alias MONERRSTRUCT* PMONERRSTRUCT; 206 307 207 -extern(Windows) export BOOL DdeUninitialize( DWORD idInst); 208 - 209 -extern(Windows) export HCONVLIST DdeConnectList( DWORD idInst, HSZ hszService, HSZ hszTopic, 210 - HCONVLIST hConvList, PCONVCONTEXT pCC); 211 -extern(Windows) export HCONV DdeQueryNextServer( HCONVLIST hConvList, HCONV hConvPrev); 212 -extern(Windows) export BOOL DdeDisconnectList( HCONVLIST hConvList); 213 - 214 -extern(Windows) export HCONV DdeConnect( DWORD idInst, HSZ hszService, HSZ hszTopic, 215 - PCONVCONTEXT pCC); 216 -extern(Windows) export BOOL DdeDisconnect( HCONV hConv); 217 -extern(Windows) export HCONV DdeReconnect( HCONV hConv); 218 -extern(Windows) export UINT DdeQueryConvInfo( HCONV hConv, DWORD idTransaction, PCONVINFO pConvInfo); 219 -extern(Windows) export BOOL DdeSetUserHandle( HCONV hConv, DWORD id, DWORD_PTR hUser); 220 -extern(Windows) export BOOL DdeAbandonTransaction( DWORD idInst, HCONV hConv, DWORD idTransaction); 221 - 222 -extern(Windows) export BOOL DdePostAdvise( DWORD idInst, HSZ hszTopic, HSZ hszItem); 223 -extern(Windows) export BOOL DdeEnableCallback( DWORD idInst, HCONV hConv, UINT wCmd); 224 -extern(Windows) export BOOL DdeImpersonateClient( HCONV hConv); 225 - 226 -enum : uint { EC_ENABLEALL = 0 } 227 -alias ST_BLOCKNEXT EC_ENABLEONE; 228 -alias ST_BLOCKED EC_DISABLE; 229 -enum : uint { EC_QUERYWAITING = 2 } 230 - 231 -extern(Windows) export HDDEDATA DdeNameService( DWORD idInst, HSZ hsz1, HSZ hsz2, UINT afCmd); 232 - 233 -enum : uint { DNS_REGISTER = 0x0001 } 234 -enum : uint { DNS_UNREGISTER = 0x0002 } 235 -enum : uint { DNS_FILTERON = 0x0004 } 236 -enum : uint { DNS_FILTEROFF = 0x0008 } 237 - 238 -extern(Windows) export HDDEDATA DdeClientTransaction( LPBYTE pData, DWORD cbData, 239 - HCONV hConv, HSZ hszItem, UINT wFmt, UINT wType, 240 - DWORD dwTimeout, LPDWORD pdwResult); 241 - 242 -extern(Windows) export HDDEDATA DdeCreateDataHandle( DWORD idInst, LPBYTE pSrc, DWORD cb, 243 - DWORD cbOff, HSZ hszItem, UINT wFmt, UINT afCmd); 244 -extern(Windows) export HDDEDATA DdeAddData( HDDEDATA hData, LPBYTE pSrc, DWORD cb, DWORD cbOff); 245 -extern(Windows) export DWORD DdeGetData( HDDEDATA hData, LPBYTE pDst, DWORD cbMax, DWORD cbOff); 246 -extern(Windows) export LPBYTE DdeAccessData( HDDEDATA hData, LPDWORD pcbDataSize); 247 -extern(Windows) export BOOL DdeUnaccessData( HDDEDATA hData); 248 -extern(Windows) export BOOL DdeFreeDataHandle( HDDEDATA hData); 249 - 250 -enum : uint { HDATA_APPOWNED = 0x0001 } 251 - 252 -extern(Windows) export UINT DdeGetLastError( DWORD idInst); 253 - 254 -enum : uint { DMLERR_NO_ERROR = 0 } 255 - 256 -enum : uint { DMLERR_FIRST = 0x4000 } 257 - 258 -enum : uint { DMLERR_ADVACKTIMEOUT = 0x4000 } 259 -enum : uint { DMLERR_BUSY = 0x4001 } 260 -enum : uint { DMLERR_DATAACKTIMEOUT = 0x4002 } 261 -enum : uint { DMLERR_DLL_NOT_INITIALIZED = 0x4003 } 262 -enum : uint { DMLERR_DLL_USAGE = 0x4004 } 263 -enum : uint { DMLERR_EXECACKTIMEOUT = 0x4005 } 264 -enum : uint { DMLERR_INVALIDPARAMETER = 0x4006 } 265 -enum : uint { DMLERR_LOW_MEMORY = 0x4007 } 266 -enum : uint { DMLERR_MEMORY_ERROR = 0x4008 } 267 -enum : uint { DMLERR_NOTPROCESSED = 0x4009 } 268 -enum : uint { DMLERR_NO_CONV_ESTABLISHED = 0x400a } 269 -enum : uint { DMLERR_POKEACKTIMEOUT = 0x400b } 270 -enum : uint { DMLERR_POSTMSG_FAILED = 0x400c } 271 -enum : uint { DMLERR_REENTRANCY = 0x400d } 272 -enum : uint { DMLERR_SERVER_DIED = 0x400e } 273 -enum : uint { DMLERR_SYS_ERROR = 0x400f } 274 -enum : uint { DMLERR_UNADVACKTIMEOUT = 0x4010 } 275 -enum : uint { DMLERR_UNFOUND_QUEUE_ID = 0x4011 } 276 - 277 -enum : uint { DMLERR_LAST = 0x4011 } 308 +struct MONMSGSTRUCT { 309 + UINT cb = MONMSGSTRUCT.sizeof; 310 + HWND hwndTo; 311 + DWORD dwTime; 312 + HANDLE hTask; 313 + UINT wMsg; 314 + WPARAM wParam; 315 + LPARAM lParam; 316 + DDEML_MSG_HOOK_DATA dmhd; 317 +} 318 +alias MONMSGSTRUCT* PMONMSGSTRUCT; 278 319 279 -extern(Windows) export HSZ DdeCreateStringHandleA( DWORD idInst, LPCSTR psz, int iCodePage); 280 -extern(Windows) export HSZ DdeCreateStringHandleW( DWORD idInst, LPCWSTR psz, int iCodePage); 281 -// #ifdef UNICODE 282 -alias DdeCreateStringHandleW DdeCreateStringHandle; 283 -// #else 284 -// #... 285 -// #endif // !UNICODE 286 -extern(Windows) export DWORD DdeQueryStringA( DWORD idInst, HSZ hsz, LPSTR psz, DWORD cchMax, int iCodePage); 287 -extern(Windows) export DWORD DdeQueryStringW( DWORD idInst, HSZ hsz, LPWSTR psz, DWORD cchMax, int iCodePage); 288 -// #ifdef UNICODE 289 -alias DdeQueryStringW DdeQueryString; 290 -// #else 291 -// #... 292 -// #endif // !UNICODE 293 -extern(Windows) export BOOL DdeFreeStringHandle( DWORD idInst, HSZ hsz); 294 -extern(Windows) export BOOL DdeKeepStringHandle( DWORD idInst, HSZ hsz); 295 -extern(Windows) export int DdeCmpStringHandles( HSZ hsz1, HSZ hsz2); 296 - 297 -// #ifndef NODDEMLSPY 298 - 299 -struct tagDDEML_MSG_HOOK_DATA { 300 - UINT_PTR uiLo; 301 - UINT_PTR uiHi; 302 - DWORD cbData; 303 - DWORD Data[8]; 320 +extern (Windows) { 321 + BOOL DdeAbandonTransaction(DWORD, HCONV, DWORD); 322 + PBYTE DdeAccessData(HDDEDATA, PDWORD); 323 + HDDEDATA DdeAddData(HDDEDATA, PBYTE, DWORD, DWORD); 324 + HDDEDATA DdeClientTransaction(PBYTE, DWORD, HCONV, HSZ, UINT, UINT, 325 + DWORD, PDWORD); 326 + int DdeCmpStringHandles(HSZ, HSZ); 327 + HCONV DdeConnect(DWORD, HSZ, HSZ, PCONVCONTEXT); 328 + HCONVLIST DdeConnectList(DWORD, HSZ, HSZ, HCONVLIST, PCONVCONTEXT); 329 + HDDEDATA DdeCreateDataHandle(DWORD, PBYTE, DWORD, DWORD, HSZ, UINT, 330 + UINT); 331 + HSZ DdeCreateStringHandleA(DWORD, LPSTR, int); 332 + HSZ DdeCreateStringHandleW(DWORD, LPWSTR, int); 333 + BOOL DdeDisconnect(HCONV); 334 + BOOL DdeDisconnectList(HCONVLIST); 335 + BOOL DdeEnableCallback(DWORD, HCONV, UINT); 336 + BOOL DdeFreeDataHandle(HDDEDATA); 337 + BOOL DdeFreeStringHandle(DWORD, HSZ); 338 + DWORD DdeGetData(HDDEDATA, PBYTE, DWORD, DWORD); 339 + UINT DdeGetLastError(DWORD); 340 + BOOL DdeImpersonateClient(HCONV); 341 + UINT DdeInitializeA(PDWORD, PFNCALLBACK, DWORD, DWORD); 342 + UINT DdeInitializeW(PDWORD, PFNCALLBACK, DWORD, DWORD); 343 + BOOL DdeKeepStringHandle(DWORD, HSZ); 344 + HDDEDATA DdeNameService(DWORD, HSZ, HSZ, UINT); 345 + BOOL DdePostAdvise(DWORD, HSZ, HSZ); 346 + UINT DdeQueryConvInfo(HCONV, DWORD, PCONVINFO); 347 + HCONV DdeQueryNextServer(HCONVLIST, HCONV); 348 + DWORD DdeQueryStringA(DWORD, HSZ, LPSTR, DWORD, int); 349 + DWORD DdeQueryStringW(DWORD, HSZ, LPWSTR, DWORD, int); 350 + HCONV DdeReconnect(HCONV); 351 + BOOL DdeSetUserHandle(HCONV, DWORD, DWORD); 352 + BOOL DdeUnaccessData(HDDEDATA); 353 + BOOL DdeUninitialize(DWORD); 304 354 } 305 -alias tagDDEML_MSG_HOOK_DATA DDEML_MSG_HOOK_DATA; 306 -alias tagDDEML_MSG_HOOK_DATA* PDDEML_MSG_HOOK_DATA; 307 355 308 -struct tagMONMSGSTRUCT { 309 - UINT cb; 310 - HWND hwndTo; 311 - DWORD dwTime; 312 - HANDLE hTask; 313 - UINT wMsg; 314 - WPARAM wParam; 315 - LPARAM lParam; 316 - DDEML_MSG_HOOK_DATA dmhd; 317 -} 318 -alias tagMONMSGSTRUCT MONMSGSTRUCT; 319 -alias tagMONMSGSTRUCT* PMONMSGSTRUCT; 356 +const TCHAR[] 357 + SZDDESYS_TOPIC = "System", 358 + SZDDESYS_ITEM_TOPICS = "Topics", 359 + SZDDESYS_ITEM_SYSITEMS = "SysItems", 360 + SZDDESYS_ITEM_RTNMSG = "ReturnMessage", 361 + SZDDESYS_ITEM_STATUS = "Status", 362 + SZDDESYS_ITEM_FORMATS = "Formats", 363 + SZDDESYS_ITEM_HELP = "Help", 364 + SZDDE_ITEM_ITEMLIST = "TopicItemList"; 320 365 321 -struct tagMONCBSTRUCT { 322 - UINT cb; 323 - DWORD dwTime; 324 - HANDLE hTask; 325 - DWORD dwRet; 326 - UINT wType; 327 - UINT wFmt; 328 - HCONV hConv; 329 - HSZ hsz1; 330 - HSZ hsz2; 331 - HDDEDATA hData; 332 - ULONG_PTR dwData1; 333 - ULONG_PTR dwData2; 334 - CONVCONTEXT cc; 335 - DWORD cbData; 336 - DWORD Data[8]; 337 -} 338 -alias tagMONCBSTRUCT MONCBSTRUCT; 339 -alias tagMONCBSTRUCT* PMONCBSTRUCT; 340 - 341 -struct tagMONHSZSTRUCTA { 342 - UINT cb; 343 - BOOL fsAction; 344 - DWORD dwTime; 345 - HSZ hsz; 346 - HANDLE hTask; 347 - CHAR str[1]; 348 -} 349 -alias tagMONHSZSTRUCTA MONHSZSTRUCTA; 350 -alias tagMONHSZSTRUCTA* PMONHSZSTRUCTA; 351 - 352 -struct tagMONHSZSTRUCTW { 353 - UINT cb; 354 - BOOL fsAction; 355 - DWORD dwTime; 356 - HSZ hsz; 357 - HANDLE hTask; 358 - WCHAR str[1]; 359 -} 360 -alias tagMONHSZSTRUCTW MONHSZSTRUCTW; 361 -alias tagMONHSZSTRUCTW* PMONHSZSTRUCTW; 362 - 363 -// #ifdef UNICODE 364 -alias MONHSZSTRUCTW MONHSZSTRUCT; 365 -alias PMONHSZSTRUCTW PMONHSZSTRUCT; 366 -// #else 367 -// ... 368 -// #endif // UNICODE 369 - 370 -enum : uint { MH_CREATE = 1 } 371 -enum : uint { MH_KEEP = 2 } 372 -enum : uint { MH_DELETE = 3 } 373 -enum : uint { MH_CLEANUP = 4 } 374 - 375 -struct tagMONERRSTRUCT { 376 - UINT cb; 377 - UINT wLastError; 378 - DWORD dwTime; 379 - HANDLE hTask; 380 -} 381 -alias tagMONERRSTRUCT MONERRSTRUCT; 382 -alias tagMONERRSTRUCT* PMONERRSTRUCT; 383 - 384 -struct tagMONLINKSTRUCT { 385 - UINT cb; 386 - DWORD dwTime; 387 - HANDLE hTask; 388 - BOOL fEstablished; 389 - BOOL fNoData; 390 - HSZ hszSvc; 391 - HSZ hszTopic; 392 - HSZ hszItem; 393 - UINT wFmt; 394 - BOOL fServer; 395 - HCONV hConvServer; 396 - HCONV hConvClient; 397 -} 398 -alias tagMONLINKSTRUCT MONLINKSTRUCT; 399 -alias tagMONLINKSTRUCT* PMONLINKSTRUCT; 400 - 401 -struct tagMONCONVSTRUCT { 402 - UINT cb; 403 - BOOL fConnect; 404 - DWORD dwTime; 405 - HANDLE hTask; 406 - HSZ hszSvc; 407 - HSZ hszTopic; 408 - HCONV hConvClient; 409 - HCONV hConvServer; 410 -} 411 -alias tagMONCONVSTRUCT MONCONVSTRUCT; 412 -alias tagMONCONVSTRUCT* PMONCONVSTRUCT; 413 - 414 -enum : uint { MAX_MONITORS = 4 } 415 -enum : uint { APPCLASS_MONITOR = 0x00000001 } 416 -const uint XTYP_MONITOR = 0x00F0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK; 417 - 418 -enum : uint { MF_HSZ_INFO = 0x01000000 } 419 -enum : uint { MF_SENDMSGS = 0x02000000 } 420 -enum : uint { MF_POSTMSGS = 0x04000000 } 421 -enum : uint { MF_CALLBACKS = 0x08000000 } 422 -enum : uint { MF_ERRORS = 0x10000000 } 423 -enum : uint { MF_LINKS = 0x20000000 } 424 -enum : uint { MF_CONV = 0x40000000 } 425 - 426 -enum : uint { MF_MASK = 0xFF000000 } 427 -// #endif /* NODDEMLSPY */ 428 - 429 -// #ifdef __cplusplus 430 -// } 431 -// #endif /* __cplusplus */ 432 - 433 -// #endif /* _INC_DDEMLH */ 434 - 366 +version (Unicode) { 367 + alias DdeCreateStringHandleW DdeCreateStringHandle; 368 + alias DdeInitializeW DdeInitialize; 369 + alias DdeQueryStringW DdeQueryString; 370 +} else { 371 + alias DdeCreateStringHandleA DdeCreateStringHandle; 372 + alias DdeInitializeA DdeInitialize; 373 + alias DdeQueryStringA DdeQueryString; 374 +}

Added src/win32/dhcpcsdk.d version [682f5c773e9d0f3b]

1 +/***********************************************************************\ 2 +* dhcpcsdk.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.dhcpcsdk; 12 + 13 +private import win32.w32api, win32.windef; 14 + 15 +static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500, 16 +"win32.dhcpcsdk is available only if version WindowsXP, Windows2003 17 +or WindowsVista is set, or both Windows2000 and WindowsNTonly are set"); 18 + 19 +//#if (_WIN32_WINNT >= 0x0500) 20 + 21 +// FIXME: check type 22 +const DHCPCAPI_REGISTER_HANDLE_EVENT = 1; 23 +const DHCPCAPI_REQUEST_PERSISTENT = 1; 24 +const DHCPCAPI_REQUEST_SYNCHRONOUS = 2; 25 + 26 +struct DHCPCAPI_CLASSID { 27 + ULONG Flags; 28 + LPBYTE Data; 29 + ULONG nBytesData; 30 +} 31 +alias DHCPCAPI_CLASSID* PDHCPCAPI_CLASSID, LPDHCPCAPI_CLASSID; 32 + 33 +struct DHCPAPI_PARAMS { 34 + ULONG Flags; 35 + ULONG OptionId; 36 + BOOL IsVendor; 37 + LPBYTE Data; 38 + DWORD nBytesData; 39 +} 40 +alias DHCPAPI_PARAMS* PDHCPAPI_PARAMS, LPDHCPAPI_PARAMS; 41 + 42 +struct DHCPCAPI_PARAMS_ARRAY { 43 + ULONG nParams; 44 + LPDHCPAPI_PARAMS Params; 45 +} 46 +alias DHCPCAPI_PARAMS_ARRAY* PDHCPCAPI_PARAMS_ARRAY, LPDHCPCAPI_PARAMS_ARRAY; 47 + 48 +extern (Windows) { 49 + void DhcpCApiCleanup(); 50 + DWORD DhcpCApiInitialize(LPDWORD); 51 + DWORD DhcpDeRegisterParamChange(DWORD, LPVOID, LPVOID); 52 + DWORD DhcpRegisterParamChange(DWORD, LPVOID, PWSTR, LPDHCPCAPI_CLASSID, 53 + DHCPCAPI_PARAMS_ARRAY, LPVOID); 54 + DWORD DhcpRemoveDNSRegistrations(); 55 + DWORD DhcpUndoRequestParams(DWORD, LPVOID, LPWSTR, LPWSTR); 56 +} 57 + 58 +//#endif // (_WIN32_WINNT >= 0x0500)

Modified src/win32/dlgs.d from [ebb2b912f1a508b2] to [0d5dc094dae1c5d2].

1 +/***********************************************************************\ 2 +* dlgs.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.dlgs; 2 12 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 - 8 -// #ifndef _DLGSH_INCLUDED_ 9 -// #define _DLGSH_INCLUDED_ 10 - 11 -enum : uint { ctlFirst = 0x0400 } 12 -enum : uint { ctlLast = 0x04ff } 13 +private import win32.windef; 13 14 14 -enum : uint { psh1 = 0x0400 } 15 -enum : uint { psh2 = 0x0401 } 16 -enum : uint { psh3 = 0x0402 } 17 -enum : uint { psh4 = 0x0403 } 18 -enum : uint { psh5 = 0x0404 } 19 -enum : uint { psh6 = 0x0405 } 20 -enum : uint { psh7 = 0x0406 } 21 -enum : uint { psh8 = 0x0407 } 22 -enum : uint { psh9 = 0x0408 } 23 -enum : uint { psh10 = 0x0409 } 24 -enum : uint { psh11 = 0x040a } 25 -enum : uint { psh12 = 0x040b } 26 -enum : uint { psh13 = 0x040c } 27 -enum : uint { psh14 = 0x040d } 28 -enum : uint { psh15 = 0x040e } 29 -alias psh15 pshHelp; 30 -enum : uint { psh16 = 0x040f } 15 +enum : ushort { 16 + FILEOPENORD = 1536, 17 + MULTIFILEOPENORD = 1537, 18 + PRINTDLGORD = 1538, 19 + PRNSETUPDLGORD = 1539, 20 + FINDDLGORD = 1540, 21 + REPLACEDLGORD = 1541, 22 + FONTDLGORD = 1542, 23 + FORMATDLGORD31 = 1543, 24 + FORMATDLGORD30 = 1544, 25 + PAGESETUPDLGORD = 1546 26 +} 31 27 32 -enum : uint { chx1 = 0x0410 } 33 -enum : uint { chx2 = 0x0411 } 34 -enum : uint { chx3 = 0x0412 } 35 -enum : uint { chx4 = 0x0413 } 36 -enum : uint { chx5 = 0x0414 } 37 -enum : uint { chx6 = 0x0415 } 38 -enum : uint { chx7 = 0x0416 } 39 -enum : uint { chx8 = 0x0417 } 40 -enum : uint { chx9 = 0x0418 } 41 -enum : uint { chx10 = 0x0419 } 42 -enum : uint { chx11 = 0x041a } 43 -enum : uint { chx12 = 0x041b } 44 -enum : uint { chx13 = 0x041c } 45 -enum : uint { chx14 = 0x041d } 46 -enum : uint { chx15 = 0x041e } 47 -enum : uint { chx16 = 0x041f } 48 - 49 -enum : uint { rad1 = 0x0420 } 50 -enum : uint { rad2 = 0x0421 } 51 -enum : uint { rad3 = 0x0422 } 52 -enum : uint { rad4 = 0x0423 } 53 -enum : uint { rad5 = 0x0424 } 54 -enum : uint { rad6 = 0x0425 } 55 -enum : uint { rad7 = 0x0426 } 56 -enum : uint { rad8 = 0x0427 } 57 -enum : uint { rad9 = 0x0428 } 58 -enum : uint { rad10 = 0x0429 } 59 -enum : uint { rad11 = 0x042a } 60 -enum : uint { rad12 = 0x042b } 61 -enum : uint { rad13 = 0x042c } 62 -enum : uint { rad14 = 0x042d } 63 -enum : uint { rad15 = 0x042e } 64 -enum : uint { rad16 = 0x042f } 65 - 66 -enum : uint { grp1 = 0x0430 } 67 -enum : uint { grp2 = 0x0431 } 68 -enum : uint { grp3 = 0x0432 } 69 -enum : uint { grp4 = 0x0433 } 70 -enum : uint { frm1 = 0x0434 } 71 -enum : uint { frm2 = 0x0435 } 72 -enum : uint { frm3 = 0x0436 } 73 -enum : uint { frm4 = 0x0437 } 74 -enum : uint { rct1 = 0x0438 } 75 -enum : uint { rct2 = 0x0439 } 76 -enum : uint { rct3 = 0x043a } 77 -enum : uint { rct4 = 0x043b } 78 -enum : uint { ico1 = 0x043c } 79 -enum : uint { ico2 = 0x043d } 80 -enum : uint { ico3 = 0x043e } 81 -enum : uint { ico4 = 0x043f } 82 - 83 -enum : uint { stc1 = 0x0440 } 84 -enum : uint { stc2 = 0x0441 } 85 -enum : uint { stc3 = 0x0442 } 86 -enum : uint { stc4 = 0x0443 } 87 -enum : uint { stc5 = 0x0444 } 88 -enum : uint { stc6 = 0x0445 } 89 -enum : uint { stc7 = 0x0446 } 90 -enum : uint { stc8 = 0x0447 } 91 -enum : uint { stc9 = 0x0448 } 92 -enum : uint { stc10 = 0x0449 } 93 -enum : uint { stc11 = 0x044a } 94 -enum : uint { stc12 = 0x044b } 95 -enum : uint { stc13 = 0x044c } 96 -enum : uint { stc14 = 0x044d } 97 -enum : uint { stc15 = 0x044e } 98 -enum : uint { stc16 = 0x044f } 99 -enum : uint { stc17 = 0x0450 } 100 -enum : uint { stc18 = 0x0451 } 101 -enum : uint { stc19 = 0x0452 } 102 -enum : uint { stc20 = 0x0453 } 103 -enum : uint { stc21 = 0x0454 } 104 -enum : uint { stc22 = 0x0455 } 105 -enum : uint { stc23 = 0x0456 } 106 -enum : uint { stc24 = 0x0457 } 107 -enum : uint { stc25 = 0x0458 } 108 -enum : uint { stc26 = 0x0459 } 109 -enum : uint { stc27 = 0x045a } 110 -enum : uint { stc28 = 0x045b } 111 -enum : uint { stc29 = 0x045c } 112 -enum : uint { stc30 = 0x045d } 113 -enum : uint { stc31 = 0x045e } 114 -enum : uint { stc32 = 0x045f } 28 +enum : int { 29 + ctlFirst = 0x400, 30 + ctlLast = 0x4ff, 31 + chx1 = 0x410, 32 + chx2 = 0x411, 33 + chx3 = 0x412, 34 + chx4 = 0x413, 35 + chx5 = 0x414, 36 + chx6 = 0x415, 37 + chx7 = 0x416, 38 + chx8 = 0x417, 39 + chx9 = 0x418, 40 + chx10 = 0x419, 41 + chx11 = 0x41a, 42 + chx12 = 0x41b, 43 + chx13 = 0x41c, 44 + chx14 = 0x41d, 45 + chx15 = 0x41e, 46 + chx16 = 0x41f, 47 + cmb1 = 0x470, 48 + cmb2 = 0x471, 49 + cmb3 = 0x472, 50 + cmb4 = 0x473, 51 + cmb5 = 0x474, 52 + cmb6 = 0x475, 53 + cmb7 = 0x476, 54 + cmb8 = 0x477, 55 + cmb9 = 0x478, 56 + cmb10 = 0x479, 57 + cmb11 = 0x47a, 58 + cmb12 = 0x47b, 59 + cmb13 = 0x47c, 60 + cmb14 = 0x47d, 61 + cmb15 = 0x47e, 62 + cmb16 = 0x47f, 63 + edt1 = 0x480, 64 + edt2 = 0x481, 65 + edt3 = 0x482, 66 + edt4 = 0x483, 67 + edt5 = 0x484, 68 + edt6 = 0x485, 69 + edt7 = 0x486, 70 + edt8 = 0x487, 71 + edt9 = 0x488, 72 + edt10 = 0x489, 73 + edt11 = 0x48a, 74 + edt12 = 0x48b, 75 + edt13 = 0x48c, 76 + edt14 = 0x48d, 77 + edt15 = 0x48e, 78 + edt16 = 0x48f, 79 + frm1 = 0x434, 80 + frm2 = 0x435, 81 + frm3 = 0x436, 82 + frm4 = 0x437, 83 + grp1 = 0x430, 84 + grp2 = 0x431, 85 + grp3 = 0x432, 86 + grp4 = 0x433, 87 + ico1 = 0x43c, 88 + ico2 = 0x43d, 89 + ico3 = 0x43e, 90 + ico4 = 0x43f, 91 + lst1 = 0x460, 92 + lst2 = 0x461, 93 + lst3 = 0x462, 94 + lst4 = 0x463, 95 + lst5 = 0x464, 96 + lst6 = 0x465, 97 + lst7 = 0x466, 98 + lst8 = 0x467, 99 + lst9 = 0x468, 100 + lst10 = 0x469, 101 + lst11 = 0x46a, 102 + lst12 = 0x46b, 103 + lst13 = 0x46c, 104 + lst14 = 0x46d, 105 + lst15 = 0x46e, 106 + lst16 = 0x46f, 107 + psh1 = 0x400, 108 + psh2 = 0x401, 109 + psh3 = 0x402, 110 + psh4 = 0x403, 111 + psh5 = 0x404, 112 + psh6 = 0x405, 113 + psh7 = 0x406, 114 + psh8 = 0x407, 115 + psh9 = 0x408, 116 + psh10 = 0x409, 117 + psh11 = 0x40a, 118 + psh12 = 0x40b, 119 + psh13 = 0x40c, 120 + psh14 = 0x40d, 121 + psh15 = 0x40e, 122 + pshHelp = 0x40e, 123 + psh16 = 0x40f, 124 + rad1 = 0x420, 125 + rad2 = 0x421, 126 + rad3 = 0x422, 127 + rad4 = 0x423, 128 + rad5 = 0x424, 129 + rad6 = 0x425, 130 + rad7 = 0x426, 131 + rad8 = 0x427, 132 + rad9 = 0x428, 133 + rad10 = 0x429, 134 + rad11 = 0x42a, 135 + rad12 = 0x42b, 136 + rad13 = 0x42c, 137 + rad14 = 0x42d, 138 + rad15 = 0x42e, 139 + rad16 = 0x42f, 140 + rct1 = 0x438, 141 + rct2 = 0x439, 142 + rct3 = 0x43a, 143 + rct4 = 0x43b, 144 + scr1 = 0x490, 145 + scr2 = 0x491, 146 + scr3 = 0x492, 147 + scr4 = 0x493, 148 + scr5 = 0x494, 149 + scr6 = 0x495, 150 + scr7 = 0x496, 151 + scr8 = 0x497, 152 + stc1 = 0x440, 153 + stc2 = 0x441, 154 + stc3 = 0x442, 155 + stc4 = 0x443, 156 + stc5 = 0x444, 157 + stc6 = 0x445, 158 + stc7 = 0x446, 159 + stc8 = 0x447, 160 + stc9 = 0x448, 161 + stc10 = 0x449, 162 + stc11 = 0x44a, 163 + stc12 = 0x44b, 164 + stc13 = 0x44c, 165 + stc14 = 0x44d, 166 + stc15 = 0x44e, 167 + stc16 = 0x44f, 168 + stc17 = 0x450, 169 + stc18 = 0x451, 170 + stc19 = 0x452, 171 + stc20 = 0x453, 172 + stc21 = 0x454, 173 + stc22 = 0x455, 174 + stc23 = 0x456, 175 + stc24 = 0x457, 176 + stc25 = 0x458, 177 + stc26 = 0x459, 178 + stc27 = 0x45a, 179 + stc28 = 0x45b, 180 + stc29 = 0x45c, 181 + stc30 = 0x45d, 182 + stc31 = 0x45e, 183 + stc32 = 0x45f 184 +} 115 185 116 -enum : uint { lst1 = 0x0460 } 117 -enum : uint { lst2 = 0x0461 } 118 -enum : uint { lst3 = 0x0462 } 119 -enum : uint { lst4 = 0x0463 } 120 -enum : uint { lst5 = 0x0464 } 121 -enum : uint { lst6 = 0x0465 } 122 -enum : uint { lst7 = 0x0466 } 123 -enum : uint { lst8 = 0x0467 } 124 -enum : uint { lst9 = 0x0468 } 125 -enum : uint { lst10 = 0x0469 } 126 -enum : uint { lst11 = 0x046a } 127 -enum : uint { lst12 = 0x046b } 128 -enum : uint { lst13 = 0x046c } 129 -enum : uint { lst14 = 0x046d } 130 -enum : uint { lst15 = 0x046e } 131 -enum : uint { lst16 = 0x046f } 132 - 133 -enum : uint { cmb1 = 0x0470 } 134 -enum : uint { cmb2 = 0x0471 } 135 -enum : uint { cmb3 = 0x0472 } 136 -enum : uint { cmb4 = 0x0473 } 137 -enum : uint { cmb5 = 0x0474 } 138 -enum : uint { cmb6 = 0x0475 } 139 -enum : uint { cmb7 = 0x0476 } 140 -enum : uint { cmb8 = 0x0477 } 141 -enum : uint { cmb9 = 0x0478 } 142 -enum : uint { cmb10 = 0x0479 } 143 -enum : uint { cmb11 = 0x047a } 144 -enum : uint { cmb12 = 0x047b } 145 -enum : uint { cmb13 = 0x047c } 146 -enum : uint { cmb14 = 0x047d } 147 -enum : uint { cmb15 = 0x047e } 148 -enum : uint { cmb16 = 0x047f } 149 - 150 -enum : uint { edt1 = 0x0480 } 151 -enum : uint { edt2 = 0x0481 } 152 -enum : uint { edt3 = 0x0482 } 153 -enum : uint { edt4 = 0x0483 } 154 -enum : uint { edt5 = 0x0484 } 155 -enum : uint { edt6 = 0x0485 } 156 -enum : uint { edt7 = 0x0486 } 157 -enum : uint { edt8 = 0x0487 } 158 -enum : uint { edt9 = 0x0488 } 159 -enum : uint { edt10 = 0x0489 } 160 -enum : uint { edt11 = 0x048a } 161 -enum : uint { edt12 = 0x048b } 162 -enum : uint { edt13 = 0x048c } 163 -enum : uint { edt14 = 0x048d } 164 -enum : uint { edt15 = 0x048e } 165 -enum : uint { edt16 = 0x048f } 166 - 167 -enum : uint { scr1 = 0x0490 } 168 -enum : uint { scr2 = 0x0491 } 169 -enum : uint { scr3 = 0x0492 } 170 -enum : uint { scr4 = 0x0493 } 171 -enum : uint { scr5 = 0x0494 } 172 -enum : uint { scr6 = 0x0495 } 173 -enum : uint { scr7 = 0x0496 } 174 -enum : uint { scr8 = 0x0497 } 175 - 176 -enum : uint { ctl1 = 0x04A0 } 177 - 178 -// #ifdef UNIX 179 - 180 -// #... 181 -// #... 182 - 183 -// #... 184 -// #... 185 -// #... 186 -// #endif 187 - 188 -enum : uint { FILEOPENORD = 1536 } 189 -enum : uint { MULTIFILEOPENORD = 1537 } 190 -enum : uint { PRINTDLGORD = 1538 } 191 -enum : uint { PRNSETUPDLGORD = 1539 } 192 -enum : uint { FINDDLGORD = 1540 } 193 -enum : uint { REPLACEDLGORD = 1541 } 194 -enum : uint { FONTDLGORD = 1542 } 195 -enum : uint { FORMATDLGORD31 = 1543 } 196 -enum : uint { FORMATDLGORD30 = 1544 } 197 -enum : uint { RUNDLGORD = 1545 } 198 - 199 -// #if (WINVER >= 0x400) 200 -enum : uint { PAGESETUPDLGORD = 1546 } 201 -enum : uint { NEWFILEOPENORD = 1547 } 202 -enum : uint { PRINTDLGEXORD = 1549 } 203 -enum : uint { PAGESETUPDLGORDMOTIF = 1550 } 204 -enum : uint { COLORMGMTDLGORD = 1551 } 205 -enum : uint { NEWFILEOPENV2ORD = 1552 } 206 -// #endif /* WINVER >= 0x400) */ 207 - 208 -struct tagCRGB { 209 - BYTE bRed; 210 - BYTE bGreen; 211 - BYTE bBlue; 212 - BYTE bExtra; 213 -} 214 -alias tagCRGB CRGB; 215 - 216 -// #endif // _DLGSH_INCLUDED_ 186 +struct CRGB { 187 + ubyte bRed; 188 + ubyte bGreen; 189 + ubyte bBlue; 190 + ubyte bExtra; 191 +}

Added src/win32/docobj.d version [b8ee0e08b2d6c61c]

1 +/***********************************************************************\ 2 +* docobj.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.docobj; 11 + 12 +private import win32.basetyps, win32.oaidl, win32.objidl, win32.oleidl, 13 + win32.unknwn, win32.windef, win32.wtypes; 14 + 15 +// FIXME: remove inherited methods from interface definitions 16 + 17 +enum { 18 + OLECMDERR_E_UNKNOWNGROUP = -2147221244, 19 + OLECMDERR_E_CANCELED = -2147221245, 20 + OLECMDERR_E_NOHELP = -2147221246, 21 + OLECMDERR_E_DISABLED = -2147221247, 22 + OLECMDERR_E_NOTSUPPORTED = -2147221248 23 +} 24 + 25 +enum OLECMDID { 26 + OLECMDID_OPEN = 1, 27 + OLECMDID_NEW = 2, 28 + OLECMDID_SAVE = 3, 29 + OLECMDID_SAVEAS = 4, 30 + OLECMDID_SAVECOPYAS = 5, 31 + OLECMDID_PRINT = 6, 32 + OLECMDID_PRINTPREVIEW = 7, 33 + OLECMDID_PAGESETUP = 8, 34 + OLECMDID_SPELL = 9, 35 + OLECMDID_PROPERTIES = 10, 36 + OLECMDID_CUT = 11, 37 + OLECMDID_COPY = 12, 38 + OLECMDID_PASTE = 13, 39 + OLECMDID_PASTESPECIAL = 14, 40 + OLECMDID_UNDO = 15, 41 + OLECMDID_REDO = 16, 42 + OLECMDID_SELECTALL = 17, 43 + OLECMDID_CLEARSELECTION = 18, 44 + OLECMDID_ZOOM = 19, 45 + OLECMDID_GETZOOMRANGE = 20, 46 + OLECMDID_UPDATECOMMANDS = 21, 47 + OLECMDID_REFRESH = 22, 48 + OLECMDID_STOP = 23, 49 + OLECMDID_HIDETOOLBARS = 24, 50 + OLECMDID_SETPROGRESSMAX = 25, 51 + OLECMDID_SETPROGRESSPOS = 26, 52 + OLECMDID_SETPROGRESSTEXT = 27, 53 + OLECMDID_SETTITLE = 28, 54 + OLECMDID_SETDOWNLOADSTATE = 29, 55 + OLECMDID_STOPDOWNLOAD = 30 56 +} 57 + 58 +enum OLECMDF { 59 + OLECMDF_SUPPORTED = 1, 60 + OLECMDF_ENABLED = 2, 61 + OLECMDF_LATCHED = 4, 62 + OLECMDF_NINCHED = 8 63 +} 64 + 65 +enum OLECMDEXECOPT { 66 + OLECMDEXECOPT_DODEFAULT = 0, 67 + OLECMDEXECOPT_PROMPTUSER = 1, 68 + OLECMDEXECOPT_DONTPROMPTUSER = 2, 69 + OLECMDEXECOPT_SHOWHELP = 3 70 +} 71 + 72 +struct OLECMDTEXT { 73 + DWORD cmdtextf; 74 + ULONG cwActual; 75 + ULONG cwBuf; 76 + wchar rgwz[1]; 77 +} 78 + 79 +struct OLECMD { 80 + ULONG cmdID; 81 + DWORD cmdf; 82 +} 83 + 84 +alias IOleInPlaceSite* LPOLEINPLACESITE; 85 +alias IEnumOleDocumentViews* LPENUMOLEDOCUMENTVIEWS; 86 + 87 +extern (C) extern const IID 88 + IID_IContinueCallback, 89 + IID_IEnumOleDocumentViews, 90 + IID_IPrint, 91 + IID_IOleDocumentView, 92 + IID_IOleDocument, 93 + IID_IOleCommandTarget, 94 + IID_IOleDocumentSite; 95 + 96 + 97 +interface IOleDocumentView : IUnknown { 98 + HRESULT SetInPlaceSite(LPOLEINPLACESITE); 99 + HRESULT GetInPlaceSite(LPOLEINPLACESITE*); 100 + HRESULT GetDocument(IUnknown**); 101 + HRESULT SetRect(LPRECT); 102 + HRESULT GetRect(LPRECT); 103 + HRESULT SetRectComplex(LPRECT, LPRECT, LPRECT, LPRECT); 104 + HRESULT Show(BOOL); 105 + HRESULT UIActivate(BOOL); 106 + HRESULT Open(); 107 + HRESULT Close(DWORD); 108 + HRESULT SaveViewState(IStream*); 109 + HRESULT ApplyViewState(IStream*); 110 + HRESULT Clone(LPOLEINPLACESITE, IOleDocumentView**); 111 +} 112 + 113 +interface IEnumOleDocumentViews : IUnknown { 114 + HRESULT Next(ULONG, IOleDocumentView*, ULONG*); 115 + HRESULT Skip(ULONG); 116 + HRESULT Reset(); 117 + HRESULT Clone(IEnumOleDocumentViews**); 118 +} 119 + 120 +interface IOleDocument : IUnknown { 121 + HRESULT CreateView(LPOLEINPLACESITE, IStream*, DWORD, IOleDocumentView**); 122 + HRESULT GetDocMiscStatus(DWORD*); 123 + HRESULT EnumViews(LPENUMOLEDOCUMENTVIEWS*, IOleDocumentView**); 124 +} 125 + 126 +interface IOleCommandTarget : IUnknown { 127 + HRESULT QueryStatus(CPtr!(GUID), ULONG, OLECMD*, OLECMDTEXT*); 128 + HRESULT Exec(CPtr!(GUID), DWORD, DWORD, VARIANTARG*, VARIANTARG*); 129 +} 130 + 131 +interface IOleDocumentSite : IUnknown { 132 + HRESULT ActivateMe(IOleDocumentView*); 133 +}

Added src/win32/errorrep.d version [ea77bc83084315f4]

1 +/***********************************************************************\ 2 +* errorrep.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.errorrep; 12 + 13 +private import win32.w32api, win32.windef; 14 + 15 +static assert (_WIN32_WINNT >= 0x501, 16 + "win32.errorrep is available only if version WindowsXP, Windows2003 " 17 + "or WindowsVista is set"); 18 + 19 +enum EFaultRepRetVal { 20 + frrvOk, 21 + frrvOkManifest, 22 + frrvOkQueued, 23 + frrvErr, 24 + frrvErrNoDW, 25 + frrvErrTimeout, 26 + frrvLaunchDebugger, 27 + frrvOkHeadless // = 7 28 +} 29 + 30 +extern (Windows) { 31 + BOOL AddERExcludedApplicationA(LPCSTR); 32 + BOOL AddERExcludedApplicationW(LPCWSTR); 33 + EFaultRepRetVal ReportFault(LPEXCEPTION_POINTERS, DWORD); 34 +} 35 + 36 +version (Unicode) { 37 + alias AddERExcludedApplicationW AddERExcludedApplication; 38 +} else { 39 + alias AddERExcludedApplicationA AddERExcludedApplication; 40 +}

Added src/win32/exdisp.d version [4cc398018e338f19]

1 +/***********************************************************************\ 2 +* exdisp.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.exdisp; 11 + 12 +import win32.docobj, win32.oaidl, win32.ocidl; 13 +private import win32.basetyps, win32.windef, win32.wtypes; 14 + 15 + 16 +enum BrowserNavConstants { 17 + navOpenInNewWindow = 0x01, 18 + navNoHistory = 0x02, 19 + navNoReadFromCache = 0x04, 20 + navNoWriteTocache = 0x08, 21 + navAllowAutosearch = 0x10, 22 + navBrowserBar = 0x20, 23 + navHyperLink = 0x40 24 +} 25 + 26 +interface IWebBrowser : IDispatch { 27 + HRESULT GoBack(); 28 + HRESULT GoForward(); 29 + HRESULT GoHome(); 30 + HRESULT GoSearch(); 31 + HRESULT Navigate(BSTR, VARIANT*, VARIANT*, VARIANT*, VARIANT*); 32 + HRESULT Refresh(); 33 + HRESULT Refresh2(VARIANT*); 34 + HRESULT Stop(); 35 + HRESULT get_Application(IDispatch* ppDisp); 36 + HRESULT get_Parent(IDispatch* ppDisp); 37 + HRESULT get_Container(IDispatch* ppDisp); 38 + HRESULT get_Document(IDispatch* ppDisp); 39 + HRESULT get_TopLevelContainer(VARIANT_BOOL*); 40 + HRESULT get_Type(BSTR*); 41 + HRESULT get_Left(LONG*); 42 + HRESULT put_Left(LONG); 43 + HRESULT get_Top(LONG*); 44 + HRESULT put_Top(LONG); 45 + HRESULT get_Width(LONG*); 46 + HRESULT put_Width(LONG); 47 + HRESULT get_Height(LONG*); 48 + HRESULT put_Height(LONG); 49 + HRESULT get_LocationName(BSTR*); 50 + HRESULT get_LocationURL(BSTR*); 51 + HRESULT get_Busy(VARIANT_BOOL*); 52 +} 53 + 54 +interface IWebBrowserApp : IWebBrowser { 55 + HRESULT Quit(); 56 + HRESULT ClientToWindow(int*, int*); 57 + HRESULT PutProperty(BSTR, VARIANT); 58 + HRESULT GetProperty(BSTR, VARIANT*); 59 + HRESULT get_Name(BSTR*); 60 + HRESULT get_HWND(LONG*); 61 + HRESULT get_FullName(BSTR*); 62 + HRESULT get_Path(BSTR*); 63 + HRESULT get_Visible(VARIANT_BOOL*); 64 + HRESULT put_Visible(VARIANT_BOOL); 65 + HRESULT get_StatusBar(VARIANT_BOOL*); 66 + HRESULT put_StatusBar(VARIANT_BOOL); 67 + HRESULT get_StatusText(BSTR*); 68 + HRESULT put_StatusText(BSTR); 69 + HRESULT get_ToolBar(int*); 70 + HRESULT put_ToolBar(int); 71 + HRESULT get_MenuBar(VARIANT_BOOL*); 72 + HRESULT put_MenuBar(VARIANT_BOOL); 73 + HRESULT get_FullScreen(VARIANT_BOOL*); 74 + HRESULT put_FullScreen(VARIANT_BOOL); 75 +} 76 + 77 +interface IWebBrowser2 : IWebBrowserApp { 78 + HRESULT Navigate2(VARIANT*, VARIANT*, VARIANT*, VARIANT*, VARIANT*); 79 + HRESULT QueryStatusWB(OLECMDID, OLECMDF*); 80 + HRESULT ExecWB(OLECMDID, OLECMDEXECOPT, VARIANT*, VARIANT*); 81 + HRESULT ShowBrowserBar(VARIANT*, VARIANT*, VARIANT*); 82 + HRESULT get_ReadyState(READYSTATE*); 83 + HRESULT get_Offline(VARIANT_BOOL*); 84 + HRESULT put_Offline(VARIANT_BOOL); 85 + HRESULT get_Silent(VARIANT_BOOL*); 86 + HRESULT put_Silent(VARIANT_BOOL); 87 + HRESULT get_RegistaerAsBrowser(VARIANT_BOOL*); 88 + HRESULT put_RegisterAsBrowser(VARIANT_BOOL); 89 + HRESULT get_RegistaerAsDropTarget(VARIANT_BOOL*); 90 + HRESULT put_RegisterAsDropTarget(VARIANT_BOOL); 91 + HRESULT get_TheaterMode(VARIANT_BOOL*); 92 + HRESULT put_TheaterMode(VARIANT_BOOL); 93 + HRESULT get_AddressBar(VARIANT_BOOL*); 94 + HRESULT put_AddressBar(VARIANT_BOOL); 95 + HRESULT get_Resizable(VARIANT_BOOL*); 96 + HRESULT put_Resizable(VARIANT_BOOL); 97 +} 98 + 99 +interface DWebBrowserEvents2 : IDispatch { 100 + void StatusTextChange(BSTR); 101 + void ProgressChange(LONG, LONG); 102 + void CommandStateChange(LONG, VARIANT_BOOL); 103 + void DownloadBegin(); 104 + void DownloadComplete(); 105 + void TitleChange(BSTR); 106 + void PropertyChange(BSTR); 107 + void BeforeNavigate2(IDispatch pDisp, VARIANT*, VARIANT*, VARIANT*, VARIANT*, VARIANT*, VARIANT_BOOL*); 108 + void NewWindow2(IDispatch* ppDisp, VARIANT_BOOL*); 109 + void NavigateComplete(IDispatch pDisp, VARIANT*); 110 + void DocumentComplete(IDispatch pDisp, VARIANT*); 111 + void OnQuit(); 112 + void OnVisible(VARIANT_BOOL); 113 + void OnToolBar(VARIANT_BOOL); 114 + void OnMenuBar(VARIANT_BOOL); 115 + void OnStatusBar(VARIANT_BOOL); 116 + void OnFullScreen(VARIANT_BOOL); 117 + void OnTheaterMode(VARIANT_BOOL); 118 + void WindowSetResizable(VARIANT_BOOL); 119 + void WindowSetLeft(LONG); 120 + void WindowSetTop(LONG); 121 + void WindowSetWidth(LONG); 122 + void WindowSetHeight(LONG); 123 + void WindowClosing(VARIANT_BOOL, VARIANT_BOOL*); 124 + void ClientToHostWindow(LONG*, LONG*); 125 + void SetSecureLockIcon(LONG); 126 + void FileDownload(VARIANT_BOOL*); 127 +}

Added src/win32/exdispid.d version [6ac669b949b25513]

1 +/***********************************************************************\ 2 +* exdispid.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.exdispid; 12 + 13 +enum : int { 14 + DISPID_STATUSTEXTCHANGE = 102, 15 + DISPID_PROGRESSCHANGE = 108, 16 + DISPID_TITLECHANGE = 113, 17 + DISPID_BEFORENAVIGATE2 = 250, 18 + DISPID_NEWWINDOW2 = 251, 19 + DISPID_DOCUMENTCOMPLETE = 259 20 +}

Deleted src/win32/guiddef.d version [1ecd5ba0efb5a3a7]

1 -module win32.guiddef; 2 -import win32.windef; 3 - 4 -// Handwriting... 5 - 6 -align(1) struct GUID 7 -{ 8 - DWORD Data1; 9 - WORD Data2; 10 - WORD Data3; 11 - BYTE Data4[8]; 12 -} 13 - 14 -alias GUID CLSID; 15 -alias GUID IID; 16 -alias GUID* REFGUID; 17 -alias GUID* REFCLSID; 18 -alias GUID* REFIID; 19 -alias CLSID* LPCLSID; 20 -alias IID* LPIID; 21 - 22 -bit IsEqualGUID(in GUID rguid1, in GUID rguid2) 23 -{ 24 - return 25 - (cast(uint*)&rguid1)[0] == (cast(uint*)&rguid2)[0] && 26 - (cast(uint*)&rguid1)[1] == (cast(uint*)&rguid2)[1] && 27 - (cast(uint*)&rguid1)[2] == (cast(uint*)&rguid2)[2] && 28 - (cast(uint*)&rguid1)[3] == (cast(uint*)&rguid2)[3]; 29 -} 30 -

Added src/win32/httpext.d version [7cfbf84102013a8b]

1 +/***********************************************************************\ 2 +* httpext.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.httpext; 11 + 12 +/* Comment from MinGW 13 + httpext.h - Header for ISAPI extensions. 14 + 15 + This file is part of a free library for the Win32 API. 16 + 17 + This library is distributed in the hope that it will be useful, 18 + but WITHOUT ANY WARRANTY; without even the implied warranty of 19 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 20 +*/ 21 + 22 +private import win32.windows; 23 + 24 +enum { 25 + HSE_VERSION_MAJOR = 2, 26 + HSE_VERSION_MINOR = 0, 27 + HSE_LOG_BUFFER_LEN = 80, 28 + HSE_MAX_EXT_DLL_NAME_LEN = 256, 29 + HSE_STATUS_SUCCESS = 1, 30 + HSE_STATUS_SUCCESS_AND_KEEP_CONN, 31 + HSE_STATUS_PENDING, 32 + HSE_STATUS_ERROR, 33 + HSE_REQ_BASE = 0, 34 + HSE_REQ_SEND_URL_REDIRECT_RESP, 35 + HSE_REQ_SEND_URL, 36 + HSE_REQ_SEND_RESPONSE_HEADER, 37 + HSE_REQ_DONE_WITH_SESSION, 38 + HSE_REQ_SEND_RESPONSE_HEADER_EX = 1016, 39 + HSE_REQ_END_RESERVED = 1000, 40 + HSE_TERM_ADVISORY_UNLOAD = 0x00000001, 41 + HSE_TERM_MUST_UNLOAD, 42 + HSE_IO_SYNC = 0x00000001, 43 + HSE_IO_ASYNC, 44 + HSE_IO_DISCONNECT_AFTER_SEND = 0x00000004, 45 + HSE_IO_SEND_HEADERS = 0x00000008 46 +} 47 + 48 +alias HANDLE HCONN; 49 + 50 +struct HSE_VERSION_INFO { 51 + DWORD dwExtensionVersion; 52 + CHAR[HSE_MAX_EXT_DLL_NAME_LEN] lpszExtensionDesc; 53 +} 54 +alias HSE_VERSION_INFO* LPHSE_VERSION_INFO; 55 + 56 +struct EXTENSION_CONTROL_BLOCK { 57 + DWORD cbSize = EXTENSION_CONTROL_BLOCK.sizeof; 58 + DWORD dwVersion; 59 + HCONN ConnID; 60 + DWORD dwHttpStatusCode; 61 + CHAR[HSE_LOG_BUFFER_LEN] lpszLogData; 62 + LPSTR lpszMethod; 63 + LPSTR lpszQueryString; 64 + LPSTR lpszPathInfo; 65 + LPSTR lpszPathTranslated; 66 + DWORD cbTotalBytes; 67 + DWORD cbAvailable; 68 + LPBYTE lpbData; 69 + LPSTR lpszContentType; 70 + extern(Pascal) BOOL function(HCONN, LPSTR, LPVOID, LPDWORD) 71 + GetServerVariable; 72 + extern(Pascal) BOOL function(HCONN, LPVOID, LPDWORD, DWORD) WriteClient; 73 + extern(Pascal) BOOL function(HCONN, LPVOID, LPDWORD) ReadClient; 74 + extern(Pascal) BOOL function(HCONN, DWORD, LPVOID, LPDWORD, LPDWORD) 75 + ServerSupportFunction; 76 +} 77 +alias EXTENSION_CONTROL_BLOCK* LPEXTENSION_CONTROL_BLOCK; 78 + 79 +extern (Pascal) { 80 + alias BOOL function(HSE_VERSION_INFO*) PFN_GETEXTENSIONVERSION; 81 + alias DWORD function(EXTENSION_CONTROL_BLOCK*) PFN_HTTPEXTENSIONPROC; 82 + alias BOOL function(DWORD) PFN_TERMINATEEXTENSION; 83 + alias VOID function(EXTENSION_CONTROL_BLOCK*, PVOID, DWORD, DWORD) PFN_HSE_IO_COMPLETION; 84 +} 85 + 86 +struct HSE_TF_INFO { 87 + PFN_HSE_IO_COMPLETION pfnHseIO; 88 + PVOID pContext; 89 + HANDLE hFile; 90 + LPCSTR pszStatusCode; 91 + DWORD BytesToWrite; 92 + DWORD Offset; 93 + PVOID pHead; 94 + DWORD HeadLength; 95 + PVOID pTail; 96 + DWORD TailLength; 97 + DWORD dwFlags; 98 +} 99 +alias HSE_TF_INFO* LPHSE_TF_INFO; 100 + 101 +struct HSE_SEND_HEADER_EX_INFO { 102 + LPCSTR pszStatus; 103 + LPCSTR pszHeader; 104 + DWORD cchStatus; 105 + DWORD cchHeader; 106 + BOOL fKeepConn; 107 +} 108 +alias HSE_SEND_HEADER_EX_INFO* LPHSE_SEND_HEADER_EX_INF; 109 + 110 +extern (Pascal) { 111 + BOOL GetExtensionVersion(HSE_VERSION_INFO*); 112 + DWORD HttpExtensionProc(EXTENSION_CONTROL_BLOCK*); 113 + BOOL TerminateExtension(DWORD); 114 +}

Added src/win32/idispids.d version [45a7d6937f4a5f8e]

1 +/***********************************************************************\ 2 +* idispids.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.idispids; 12 + 13 +enum : int { 14 + DISPID_AMBIENT_OFFLINEIFNOTCONNECTED = -5501, 15 + DISPID_AMBIENT_SILENT = -5502 16 +}

Added src/win32/imagehlp.d version [743d5e4032c0de59]

1 +/***********************************************************************\ 2 +* imagehlp.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.imagehlp; 12 + 13 +/* Comment from MinGW 14 + NOTE: This strictly does not belong in the Win32 API since it's 15 + really part of Platform SDK. However, GDB needs it and we might 16 + as well provide it here. 17 +*/ 18 + 19 +private import win32.winbase, win32.windef; 20 + 21 +// FIXME: check types of constants 22 + 23 +const API_VERSION_NUMBER = 7; 24 + 25 +const BIND_NO_BOUND_IMPORTS = 1; 26 +const BIND_NO_UPDATE = 2; 27 +const BIND_ALL_IMAGES = 4; 28 +const BIND_CACHE_IMPORT_DLLS = 8; 29 + 30 +enum { 31 + CBA_DEFERRED_SYMBOL_LOAD_START = 1, 32 + CBA_DEFERRED_SYMBOL_LOAD_COMPLETE, 33 + CBA_DEFERRED_SYMBOL_LOAD_FAILURE, 34 + CBA_SYMBOLS_UNLOADED, 35 + CBA_DUPLICATE_SYMBOL 36 +} 37 + 38 +const CERT_PE_IMAGE_DIGEST_DEBUG_INFO = 1; 39 +const CERT_PE_IMAGE_DIGEST_RESOURCES = 2; 40 +const CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO = 4; 41 +const CERT_PE_IMAGE_DIGEST_NON_PE_INFO = 8; 42 + 43 +const CERT_SECTION_TYPE_ANY = 255; 44 + 45 +enum { 46 + CHECKSUM_SUCCESS = 0, 47 + CHECKSUM_OPEN_FAILURE, 48 + CHECKSUM_MAP_FAILURE, 49 + CHECKSUM_MAPVIEW_FAILURE, 50 + CHECKSUM_UNICODE_FAILURE 51 +} 52 + 53 +const IMAGE_SEPARATION = 65536; 54 + 55 +const SPLITSYM_REMOVE_PRIVATE = 1; 56 +const SPLITSYM_EXTRACT_ALL = 2; 57 +const SPLITSYM_SYMBOLPATH_IS_SRC = 4; 58 + 59 +const SYMF_OMAP_GENERATED = 1; 60 +const SYMF_OMAP_MODIFIED = 2; 61 + 62 +const SYMOPT_CASE_INSENSITIVE = 1; 63 +const SYMOPT_UNDNAME = 2; 64 +const SYMOPT_DEFERRED_LOADS = 4; 65 +const SYMOPT_NO_CPP = 8; 66 +const SYMOPT_LOAD_LINES = 16; 67 +const SYMOPT_OMAP_FIND_NEAREST = 32; 68 + 69 +const UNDNAME_COMPLETE = 0; 70 +const UNDNAME_NO_LEADING_UNDERSCORES = 1; 71 +const UNDNAME_NO_MS_KEYWORDS = 2; 72 +const UNDNAME_NO_FUNCTION_RETURNS = 4; 73 +const UNDNAME_NO_ALLOCATION_MODEL = 8; 74 +const UNDNAME_NO_ALLOCATION_LANGUAGE = 16; 75 +const UNDNAME_NO_MS_THISTYPE = 32; 76 +const UNDNAME_NO_CV_THISTYPE = 64; 77 +const UNDNAME_NO_THISTYPE = 96; 78 +const UNDNAME_NO_ACCESS_SPECIFIERS = 128; 79 +const UNDNAME_NO_THROW_SIGNATURES = 256; 80 +const UNDNAME_NO_MEMBER_TYPE = 512; 81 +const UNDNAME_NO_RETURN_UDT_MODEL = 1024; 82 +const UNDNAME_32_BIT_DECODE = 2048; 83 +const UNDNAME_NAME_ONLY = 4096; 84 +const UNDNAME_NO_ARGUMENTS = 8192; 85 +const UNDNAME_NO_SPECIAL_SYMS = 16384; 86 + 87 +enum IMAGEHLP_STATUS_REASON { 88 + BindOutOfMemory, 89 + BindRvaToVaFailed, 90 + BindNoRoomInImage, 91 + BindImportModuleFailed, 92 + BindImportProcedureFailed, 93 + BindImportModule, 94 + BindImportProcedure, 95 + BindForwarder, 96 + BindForwarderNOT, 97 + BindImageModified, 98 + BindExpandFileHeaders, 99 + BindImageComplete, 100 + BindMismatchedSymbols, 101 + BindSymbolsNotUpdated 102 +} 103 + 104 +struct LOADED_IMAGE { 105 + LPSTR ModuleName; 106 + HANDLE hFile; 107 + PUCHAR MappedAddress; 108 + PIMAGE_NT_HEADERS FileHeader; 109 + PIMAGE_SECTION_HEADER LastRvaSection; 110 + ULONG NumberOfSections; 111 + PIMAGE_SECTION_HEADER Sections; 112 + ULONG Characteristics; 113 + BOOLEAN fSystemImage; 114 + BOOLEAN fDOSImage; 115 + LIST_ENTRY Links; 116 + ULONG SizeOfImage; 117 +} 118 +alias LOADED_IMAGE* PLOADED_IMAGE; 119 + 120 +struct IMAGE_DEBUG_INFORMATION { 121 + LIST_ENTRY List; 122 + DWORD Size; 123 + PVOID MappedBase; 124 + USHORT Machine; 125 + USHORT Characteristics; 126 + DWORD CheckSum; 127 + DWORD ImageBase; 128 + DWORD SizeOfImage; 129 + DWORD NumberOfSections; 130 + PIMAGE_SECTION_HEADER Sections; 131 + DWORD ExportedNamesSize; 132 + LPSTR ExportedNames; 133 + DWORD NumberOfFunctionTableEntries; 134 + PIMAGE_FUNCTION_ENTRY FunctionTableEntries; 135 + DWORD LowestFunctionStartingAddress; 136 + DWORD HighestFunctionEndingAddress; 137 + DWORD NumberOfFpoTableEntries; 138 + PFPO_DATA FpoTableEntries; 139 + DWORD SizeOfCoffSymbols; 140 + PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols; 141 + DWORD SizeOfCodeViewSymbols; 142 + PVOID CodeViewSymbols; 143 + LPSTR ImageFilePath; 144 + LPSTR ImageFileName; 145 + LPSTR DebugFilePath; 146 + DWORD TimeDateStamp; 147 + BOOL RomImage; 148 + PIMAGE_DEBUG_DIRECTORY DebugDirectory; 149 + DWORD NumberOfDebugDirectories; 150 + DWORD[3] Reserved; 151 +} 152 +alias IMAGE_DEBUG_INFORMATION* PIMAGE_DEBUG_INFORMATION; 153 + 154 +enum ADDRESS_MODE { 155 + AddrMode1616, 156 + AddrMode1632, 157 + AddrModeReal, 158 + AddrModeFlat 159 +} 160 + 161 +struct ADDRESS { 162 + DWORD Offset; 163 + WORD Segment; 164 + ADDRESS_MODE Mode; 165 +} 166 +alias ADDRESS* LPADDRESS; 167 + 168 +struct KDHELP { 169 + DWORD Thread; 170 + DWORD ThCallbackStack; 171 + DWORD NextCallback; 172 + DWORD FramePointer; 173 + DWORD KiCallUserMode; 174 + DWORD KeUserCallbackDispatcher; 175 + DWORD SystemRangeStart; 176 +} 177 +alias KDHELP* PKDHELP; 178 + 179 +struct STACKFRAME { 180 + ADDRESS AddrPC; 181 + ADDRESS AddrReturn; 182 + ADDRESS AddrFrame; 183 + ADDRESS AddrStack; 184 + LPVOID FuncTableEntry; 185 + DWORD[4] Params; 186 + BOOL Far; 187 + BOOL Virtual; 188 + DWORD[3] Reserved; 189 + KDHELP KdHelp; 190 +} 191 +alias STACKFRAME* LPSTACKFRAME; 192 + 193 +struct API_VERSION { 194 + USHORT MajorVersion; 195 + USHORT MinorVersion; 196 + USHORT Revision; 197 + USHORT Reserved; 198 +} 199 +alias API_VERSION* LPAPI_VERSION; 200 + 201 +enum SYM_TYPE { 202 + SymNone, 203 + SymCoff, 204 + SymCv, 205 + SymPdb, 206 + SymExport, 207 + SymDeferred, 208 + SymSym 209 +} 210 + 211 +struct IMAGEHLP_SYMBOL { 212 + DWORD SizeOfStruct; 213 + DWORD Address; 214 + DWORD Size; 215 + DWORD Flags; 216 + DWORD MaxNameLength; 217 + CHAR[1] Name; 218 +} 219 +alias IMAGEHLP_SYMBOL* PIMAGEHLP_SYMBOL; 220 + 221 +struct IMAGEHLP_MODULE { 222 + DWORD SizeOfStruct; 223 + DWORD BaseOfImage; 224 + DWORD ImageSize; 225 + DWORD TimeDateStamp; 226 + DWORD CheckSum; 227 + DWORD NumSyms; 228 + SYM_TYPE SymType; 229 + CHAR[32] ModuleName; 230 + CHAR[256] ImageName; 231 + CHAR[256] LoadedImageName; 232 +} 233 +alias IMAGEHLP_MODULE* PIMAGEHLP_MODULE; 234 + 235 +struct IMAGEHLP_LINE { 236 + DWORD SizeOfStruct; 237 + DWORD Key; 238 + DWORD LineNumber; 239 + PCHAR FileName; 240 + DWORD Address; 241 +} 242 +alias IMAGEHLP_LINE* PIMAGEHLP_LINE; 243 + 244 +struct IMAGEHLP_DEFERRED_SYMBOL_LOAD { 245 + DWORD SizeOfStruct; 246 + DWORD BaseOfImage; 247 + DWORD CheckSum; 248 + DWORD TimeDateStamp; 249 + CHAR[MAX_PATH] FileName; 250 + BOOLEAN Reparse; 251 +} 252 +alias IMAGEHLP_DEFERRED_SYMBOL_LOAD* PIMAGEHLP_DEFERRED_SYMBOL_LOAD; 253 + 254 +struct IMAGEHLP_DUPLICATE_SYMBOL { 255 + DWORD SizeOfStruct; 256 + DWORD NumberOfDups; 257 + PIMAGEHLP_SYMBOL Symbol; 258 + ULONG SelectedSymbol; 259 +} 260 +alias IMAGEHLP_DUPLICATE_SYMBOL* PIMAGEHLP_DUPLICATE_SYMBOL; 261 + 262 +alias HANDLE DIGEST_HANDLE; 263 + 264 +extern (Windows) { 265 + alias BOOL function(IMAGEHLP_STATUS_REASON, LPSTR, LPSTR, ULONG, ULONG) 266 + PIMAGEHLP_STATUS_ROUTINE; 267 + alias BOOL function(HANDLE , LPCVOID, LPVOID, DWORD, LPDWORD) 268 + PREAD_PROCESS_MEMORY_ROUTINE; 269 + alias LPVOID function(HANDLE, DWORD) PFUNCTION_TABLE_ACCESS_ROUTINE; 270 + alias DWORD function(HANDLE, DWORD) PGET_MODULE_BASE_ROUTINE; 271 + alias DWORD function(HANDLE, HANDLE, LPADDRESS) 272 + PTRANSLATE_ADDRESS_ROUTINE; 273 + alias BOOL function(LPSTR, ULONG, PVOID) PSYM_ENUMMODULES_CALLBACK; 274 + alias BOOL function(LPSTR, ULONG, ULONG, PVOID) PSYM_ENUMSYMBOLS_CALLBACK; 275 + alias BOOL function(LPSTR, ULONG, ULONG, PVOID) 276 + PENUMLOADED_MODULES_CALLBACK; 277 + alias BOOL function(HANDLE, ULONG, PVOID, PVOID) 278 + PSYMBOL_REGISTERED_CALLBACK; 279 + alias BOOL function(DIGEST_HANDLE refdata, PBYTE pData, DWORD dwLength) 280 + DIGEST_FUNCTION; 281 + 282 + PIMAGE_NT_HEADERS CheckSumMappedFile(LPVOID, DWORD, LPDWORD, LPDWORD); 283 + DWORD MapFileAndCheckSumA(LPSTR, LPDWORD, LPDWORD); 284 + DWORD MapFileAndCheckSumW(PWSTR, LPDWORD, LPDWORD); 285 + BOOL TouchFileTimes(HANDLE, LPSYSTEMTIME); 286 + BOOL SplitSymbols(LPSTR, LPSTR, LPSTR, DWORD); 287 + HANDLE FindDebugInfoFile(LPSTR, LPSTR, LPSTR); 288 + HANDLE FindExecutableImage(LPSTR, LPSTR, LPSTR); 289 + BOOL UpdateDebugInfoFile(LPSTR, LPSTR, LPSTR, PIMAGE_NT_HEADERS); 290 + BOOL UpdateDebugInfoFileEx(LPSTR, LPSTR, LPSTR, PIMAGE_NT_HEADERS, DWORD); 291 + BOOL BindImage(LPSTR, LPSTR, LPSTR); 292 + BOOL BindImageEx(DWORD, LPSTR, LPSTR, LPSTR, PIMAGEHLP_STATUS_ROUTINE); 293 + BOOL ReBaseImage(LPSTR, LPSTR, BOOL, BOOL, BOOL, ULONG, ULONG*, ULONG*, 294 + ULONG*, ULONG*, ULONG); 295 + PLOADED_IMAGE ImageLoad(LPSTR, LPSTR); 296 + BOOL ImageUnload(PLOADED_IMAGE); 297 + PIMAGE_NT_HEADERS ImageNtHeader(PVOID); 298 + PVOID ImageDirectoryEntryToData(PVOID, BOOLEAN, USHORT, PULONG); 299 + PIMAGE_SECTION_HEADER ImageRvaToSection(PIMAGE_NT_HEADERS, PVOID, ULONG); 300 + PVOID ImageRvaToVa(PIMAGE_NT_HEADERS, PVOID, ULONG, 301 + PIMAGE_SECTION_HEADER*); 302 + BOOL MapAndLoad(LPSTR, LPSTR, PLOADED_IMAGE, BOOL, BOOL); 303 + BOOL GetImageConfigInformation(PLOADED_IMAGE, 304 + PIMAGE_LOAD_CONFIG_DIRECTORY); 305 + DWORD GetImageUnusedHeaderBytes(PLOADED_IMAGE, LPDWORD); 306 + BOOL SetImageConfigInformation(PLOADED_IMAGE, 307 + PIMAGE_LOAD_CONFIG_DIRECTORY); 308 + BOOL UnMapAndLoad(PLOADED_IMAGE); 309 + PIMAGE_DEBUG_INFORMATION MapDebugInformation(HANDLE, LPSTR, LPSTR, DWORD); 310 + BOOL UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION); 311 + HANDLE FindExecutableImage(LPSTR, LPSTR, LPSTR); 312 + BOOL SearchTreeForFile(LPSTR, LPSTR, LPSTR); 313 + BOOL MakeSureDirectoryPathExists(LPCSTR); 314 + DWORD UnDecorateSymbolName(LPCSTR, LPSTR, DWORD, DWORD); 315 + BOOL StackWalk(DWORD, HANDLE, HANDLE, LPSTACKFRAME, LPVOID, 316 + PREAD_PROCESS_MEMORY_ROUTINE, PFUNCTION_TABLE_ACCESS_ROUTINE, 317 + PGET_MODULE_BASE_ROUTINE, PTRANSLATE_ADDRESS_ROUTINE); 318 + LPAPI_VERSION ImagehlpApiVersion(); 319 + LPAPI_VERSION ImagehlpApiVersionEx(LPAPI_VERSION); 320 + DWORD GetTimestampForLoadedLibrary(HMODULE); 321 + BOOL RemovePrivateCvSymbolic(PCHAR, PCHAR*, ULONG*); 322 + VOID RemoveRelocations(PCHAR); 323 + DWORD SymSetOptions(DWORD); 324 + DWORD SymGetOptions(); 325 + BOOL SymCleanup(HANDLE); 326 + BOOL SymEnumerateModules(HANDLE, PSYM_ENUMMODULES_CALLBACK, PVOID); 327 + BOOL SymEnumerateSymbols(HANDLE, DWORD, PSYM_ENUMSYMBOLS_CALLBACK, PVOID); 328 + BOOL EnumerateLoadedModules(HANDLE, PENUMLOADED_MODULES_CALLBACK, PVOID); 329 + LPVOID SymFunctionTableAccess(HANDLE, DWORD); 330 + BOOL SymGetModuleInfo(HANDLE, DWORD, PIMAGEHLP_MODULE); 331 + DWORD SymGetModuleBase(HANDLE, DWORD); 332 + BOOL SymGetSymFromAddr(HANDLE, DWORD, PDWORD, PIMAGEHLP_SYMBOL); 333 + BOOL SymGetSymFromName(HANDLE, LPSTR, PIMAGEHLP_SYMBOL); 334 + BOOL SymGetSymNext(HANDLE, PIMAGEHLP_SYMBOL); 335 + BOOL SymGetSymPrev(HANDLE, PIMAGEHLP_SYMBOL); 336 + BOOL SymGetLineFromAddr(HANDLE, DWORD, PDWORD, PIMAGEHLP_LINE); 337 + BOOL SymGetLineFromName(HANDLE, LPSTR, LPSTR, DWORD, PLONG, 338 + PIMAGEHLP_LINE); 339 + BOOL SymGetLineNext(HANDLE, PIMAGEHLP_LINE); 340 + BOOL SymGetLinePrev(HANDLE, PIMAGEHLP_LINE); 341 + BOOL SymMatchFileName(LPSTR, LPSTR, LPSTR*, LPSTR*); 342 + BOOL SymInitialize(HANDLE, LPSTR, BOOL); 343 + BOOL SymGetSearchPath(HANDLE, LPSTR, DWORD); 344 + BOOL SymSetSearchPath(HANDLE, LPSTR); 345 + BOOL SymLoadModule(HANDLE, HANDLE, PSTR, PSTR, DWORD, DWORD); 346 + BOOL SymUnloadModule(HANDLE, DWORD); 347 + BOOL SymUnDName(PIMAGEHLP_SYMBOL, LPSTR, DWORD); 348 + BOOL SymRegisterCallback(HANDLE, PSYMBOL_REGISTERED_CALLBACK, PVOID); 349 + BOOL ImageGetDigestStream(HANDLE, DWORD, DIGEST_FUNCTION, DIGEST_HANDLE); 350 + BOOL ImageAddCertificate(HANDLE, LPWIN_CERTIFICATE, PDWORD); 351 + BOOL ImageRemoveCertificate(HANDLE, DWORD); 352 + BOOL ImageEnumerateCertificates(HANDLE, WORD, PDWORD, PDWORD, DWORD); 353 + BOOL ImageGetCertificateData(HANDLE, DWORD, LPWIN_CERTIFICATE, PDWORD); 354 + BOOL ImageGetCertificateHeader(HANDLE, DWORD, LPWIN_CERTIFICATE); 355 + BOOL CopyPdb(CHAR*, CHAR*, BOOL); 356 + BOOL RemovePrivateCvSymbolicEx(PCHAR, ULONG, PCHAR*, ULONG*); 357 +} 358 + 359 +version (Unicode) { 360 + alias MapFileAndCheckSumW MapFileAndCheckSum; 361 +} else { 362 + alias MapFileAndCheckSumA MapFileAndCheckSum; 363 +}

Modified src/win32/imm.d from [6732090e27c6d34a] to [298859cd23308dab].

1 +/***********************************************************************\ 2 +* imm.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.imm; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 -import win32.winuser; 8 - 9 -// #ifndef _IMM_ 10 -// #define _IMM_ 11 - 12 -// #ifdef __cplusplus 13 -// extern "C" { 14 -// #endif 15 - 16 -// #ifndef _IMM_SDK_DEFINED_ 17 -// #define _IMM_SDK_DEFINED_ 18 - 19 -// #if (WINVER >= 0x040A) 20 -alias void* HIMC; 21 -alias void* HIMCC; 22 -// #else 23 -// ... 24 -// #endif /* WINVER >= 0x040A */ 25 - 11 +pragma(lib, "imm32.lib"); 12 + 13 +import win32.windef, win32.wingdi; 14 +import win32.winuser; // for the MFS_xxx enums. 15 +private import win32.w32api; 16 + 17 +const WM_CONVERTREQUESTEX = 0x108; 18 +const WM_IME_STARTCOMPOSITION = 0x10D; 19 +const WM_IME_ENDCOMPOSITION = 0x10E; 20 +const WM_IME_COMPOSITION = 0x10F; 21 +const WM_IME_KEYLAST = 0x10F; 22 +const WM_IME_SETCONTEXT = 0x281; 23 +const WM_IME_NOTIFY = 0x282; 24 +const WM_IME_CONTROL = 0x283; 25 +const WM_IME_COMPOSITIONFULL = 0x284; 26 +const WM_IME_SELECT = 0x285; 27 +const WM_IME_CHAR = 0x286; 28 +static if (WINVER >= 0x500) { 29 + const WM_IME_REQUEST = 0x288; 30 +} 31 +const WM_IME_KEYDOWN = 0x290; 32 +const WM_IME_KEYUP = 0x291; 33 + 34 + 35 +const IMC_GETCANDIDATEPOS=7; 36 +const IMC_SETCANDIDATEPOS=8; 37 +const IMC_GETCOMPOSITIONFONT=9; 38 +const IMC_SETCOMPOSITIONFONT=10; 39 +const IMC_GETCOMPOSITIONWINDOW=11; 40 +const IMC_SETCOMPOSITIONWINDOW=12; 41 +const IMC_GETSTATUSWINDOWPOS=15; 42 +const IMC_SETSTATUSWINDOWPOS=16; 43 +const IMC_CLOSESTATUSWINDOW=0x21; 44 +const IMC_OPENSTATUSWINDOW=0x22; 45 +const IMN_CLOSESTATUSWINDOW=1; 46 +const IMN_OPENSTATUSWINDOW=2; 47 +const IMN_CHANGECANDIDATE=3; 48 +const IMN_CLOSECANDIDATE=4; 49 +const IMN_OPENCANDIDATE=5; 50 +const IMN_SETCONVERSIONMODE=6; 51 +const IMN_SETSENTENCEMODE=7; 52 +const IMN_SETOPENSTATUS=8; 53 +const IMN_SETCANDIDATEPOS=9; 54 +const IMN_SETCOMPOSITIONFONT=10; 55 +const IMN_SETCOMPOSITIONWINDOW=11; 56 +const IMN_SETSTATUSWINDOWPOS=12; 57 +const IMN_GUIDELINE=13; 58 +const IMN_PRIVATE=14; 59 + 60 +const NI_OPENCANDIDATE=16; 61 +const NI_CLOSECANDIDATE=17; 62 +const NI_SELECTCANDIDATESTR=18; 63 +const NI_CHANGECANDIDATELIST=19; 64 +const NI_FINALIZECONVERSIONRESULT=20; 65 +const NI_COMPOSITIONSTR=21; 66 +const NI_SETCANDIDATE_PAGESTART=22; 67 +const NI_SETCANDIDATE_PAGESIZE=23; 68 +const NI_IMEMENUSELECTED=24; 69 + 70 +const ISC_SHOWUICANDIDATEWINDOW=1; 71 +const ISC_SHOWUICOMPOSITIONWINDOW=0x80000000; 72 +const ISC_SHOWUIGUIDELINE=0x40000000; 73 +const ISC_SHOWUIALLCANDIDATEWINDOW=15; 74 +const ISC_SHOWUIALL=0xC000000F; 75 + 76 +const CPS_COMPLETE=1; 77 +const CPS_CONVERT=2; 78 +const CPS_REVERT=3; 79 +const CPS_CANCEL=4; 80 + 81 +const IME_CHOTKEY_IME_NONIME_TOGGLE=16; 82 +const IME_CHOTKEY_SHAPE_TOGGLE=17; 83 +const IME_CHOTKEY_SYMBOL_TOGGLE=18; 84 +const IME_JHOTKEY_CLOSE_OPEN=0x30; 85 +const IME_KHOTKEY_SHAPE_TOGGLE=0x50; 86 +const IME_KHOTKEY_HANJACONVERT=0x51; 87 +const IME_KHOTKEY_ENGLISH=0x52; 88 +const IME_THOTKEY_IME_NONIME_TOGGLE=0x70; 89 +const IME_THOTKEY_SHAPE_TOGGLE=0x71; 90 +const IME_THOTKEY_SYMBOL_TOGGLE=0x72; 91 +const IME_HOTKEY_DSWITCH_FIRST=256; 92 +const IME_HOTKEY_DSWITCH_LAST=0x11F; 93 +const IME_ITHOTKEY_RESEND_RESULTSTR=512; 94 +const IME_ITHOTKEY_PREVIOUS_COMPOSITION=513; 95 +const IME_ITHOTKEY_UISTYLE_TOGGLE=514; 96 + 97 +const GCS_COMPREADSTR=1; 98 +const GCS_COMPREADATTR=2; 99 +const GCS_COMPREADCLAUSE=4; 100 +const GCS_COMPSTR=8; 101 +const GCS_COMPATTR=16; 102 +const GCS_COMPCLAUSE=32; 103 +const GCS_CURSORPOS=128; 104 +const GCS_DELTASTART=256; 105 +const GCS_RESULTREADSTR=512; 106 +const GCS_RESULTREADCLAUSE=1024; 107 +const GCS_RESULTSTR=2048; 108 +const GCS_RESULTCLAUSE=4096; 109 + 110 +const CS_INSERTCHAR=0x2000; 111 +const CS_NOMOVECARET=0x4000; 112 + 113 +const IMEVER_0310=0x3000A; 114 +const IMEVER_0400=0x40000; 115 + 116 +const IME_PROP_AT_CARET=0x10000; 117 +const IME_PROP_SPECIAL_UI=0x20000; 118 +const IME_PROP_CANDLIST_START_FROM_1=0x40000; 119 +const IME_PROP_UNICODE=0x80000; 120 + 121 +const UI_CAP_2700=1; 122 +const UI_CAP_ROT90=2; 123 +const UI_CAP_ROTANY=4; 124 + 125 +const SCS_CAP_COMPSTR=1; 126 +const SCS_CAP_MAKEREAD=2; 127 +const SELECT_CAP_CONVERSION=1; 128 +const SELECT_CAP_SENTENCE=2; 129 +const GGL_LEVEL=1; 130 +const GGL_INDEX=2; 131 +const GGL_STRING=3; 132 +const GGL_PRIVATE=4; 133 +const GL_LEVEL_NOGUIDELINE=0; 134 +const GL_LEVEL_FATAL=1; 135 +const GL_LEVEL_ERROR=2; 136 +const GL_LEVEL_WARNING=3; 137 +const GL_LEVEL_INFORMATION=4; 138 +const GL_ID_UNKNOWN=0; 139 +const GL_ID_NOMODULE=1; 140 +const GL_ID_NODICTIONARY=16; 141 +const GL_ID_CANNOTSAVE=17; 142 +const GL_ID_NOCONVERT=32; 143 +const GL_ID_TYPINGERROR=33; 144 +const GL_ID_TOOMANYSTROKE=34; 145 +const GL_ID_READINGCONFLICT=35; 146 +const GL_ID_INPUTREADING=36; 147 +const GL_ID_INPUTRADICAL=37; 148 +const GL_ID_INPUTCODE=38; 149 +const GL_ID_INPUTSYMBOL=39; 150 +const GL_ID_CHOOSECANDIDATE=40; 151 +const GL_ID_REVERSECONVERSION=41; 152 +const GL_ID_PRIVATE_FIRST=0x8000; 153 +const GL_ID_PRIVATE_LAST=0xFFFF; 154 + 155 +const DWORD IGP_GETIMEVERSION = -4; 156 +const IGP_PROPERTY=4; 157 +const IGP_CONVERSION=8; 158 +const IGP_SENTENCE=12; 159 +const IGP_UI=16; 160 +const IGP_SETCOMPSTR=0x14; 161 +const IGP_SELECT=0x18; 162 + 163 +const SCS_SETSTR = GCS_COMPREADSTR|GCS_COMPSTR; 164 +const SCS_CHANGEATTR = GCS_COMPREADATTR|GCS_COMPATTR; 165 +const SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE; 166 + 167 +const ATTR_INPUT=0; 168 +const ATTR_TARGET_CONVERTED=1; 169 +const ATTR_CONVERTED=2; 170 +const ATTR_TARGET_NOTCONVERTED=3; 171 +const ATTR_INPUT_ERROR=4; 172 +const ATTR_FIXEDCONVERTED=5; 173 +const CFS_DEFAULT=0; 174 +const CFS_RECT=1; 175 +const CFS_POINT=2; 176 +const CFS_SCREEN=4; 177 +const CFS_FORCE_POSITION=32; 178 +const CFS_CANDIDATEPOS=64; 179 +const CFS_EXCLUDE=128; 180 +const GCL_CONVERSION=1; 181 +const GCL_REVERSECONVERSION=2; 182 +const GCL_REVERSE_LENGTH=3; 183 + 184 +const IME_CMODE_ALPHANUMERIC=0; 185 +const IME_CMODE_NATIVE=1; 186 +const IME_CMODE_CHINESE=IME_CMODE_NATIVE; 187 +const IME_CMODE_HANGEUL=IME_CMODE_NATIVE; 188 +const IME_CMODE_HANGUL=IME_CMODE_NATIVE; 189 +const IME_CMODE_JAPANESE=IME_CMODE_NATIVE; 190 +const IME_CMODE_KATAKANA=2; 191 +const IME_CMODE_LANGUAGE=3; 192 +const IME_CMODE_FULLSHAPE=8; 193 +const IME_CMODE_ROMAN=16; 194 +const IME_CMODE_CHARCODE=32; 195 +const IME_CMODE_HANJACONVERT=64; 196 +const IME_CMODE_SOFTKBD=128; 197 +const IME_CMODE_NOCONVERSION=256; 198 +const IME_CMODE_EUDC=512; 199 +const IME_CMODE_SYMBOL=1024; 200 +const IME_CMODE_FIXED=2048; 201 +const IME_SMODE_NONE=0; 202 +const IME_SMODE_PLAURALCLAUSE=1; 203 +const IME_SMODE_SINGLECONVERT=2; 204 +const IME_SMODE_AUTOMATIC=4; 205 +const IME_SMODE_PHRASEPREDICT=8; 206 +const IME_CAND_UNKNOWN=0; 207 +const IME_CAND_READ=1; 208 +const IME_CAND_CODE=2; 209 +const IME_CAND_MEANING=3; 210 +const IME_CAND_RADICAL=4; 211 +const IME_CAND_STROKE=5; 212 +const IMM_ERROR_NODATA=(-1); 213 +const IMM_ERROR_GENERAL=(-2); 214 +const IME_CONFIG_GENERAL=1; 215 +const IME_CONFIG_REGISTERWORD=2; 216 +const IME_CONFIG_SELECTDICTIONARY=3; 217 +const IME_ESC_QUERY_SUPPORT=3; 218 +const IME_ESC_RESERVED_FIRST=4; 219 +const IME_ESC_RESERVED_LAST=0x7FF; 220 +const IME_ESC_PRIVATE_FIRST=0x800; 221 +const IME_ESC_PRIVATE_LAST=0xFFF; 222 +const IME_ESC_SEQUENCE_TO_INTERNAL=0x1001; 223 +const IME_ESC_GET_EUDC_DICTIONARY=0x1003; 224 +const IME_ESC_SET_EUDC_DICTIONARY=0x1004; 225 +const IME_ESC_MAX_KEY=0x1005; 226 +const IME_ESC_IME_NAME=0x1006; 227 +const IME_ESC_SYNC_HOTKEY=0x1007; 228 +const IME_ESC_HANJA_MODE=0x1008; 229 +const IME_ESC_AUTOMATA=0x1009; 230 +const IME_REGWORD_STYLE_EUDC=1; 231 +const IME_REGWORD_STYLE_USER_FIRST=0x80000000; 232 +const IME_REGWORD_STYLE_USER_LAST=0xFFFFFFFF; 233 + 234 +const SOFTKEYBOARD_TYPE_T1=1; 235 +const SOFTKEYBOARD_TYPE_C1=2; 236 + 237 +const IMEMENUITEM_STRING_SIZE=80; 238 + 239 +const MOD_ALT=1; 240 +const MOD_CONTROL=2; 241 +const MOD_SHIFT=4; 242 +const MOD_WIN=8; 243 +const MOD_IGNORE_ALL_MODIFIER=1024; 244 +const MOD_ON_KEYUP=2048; 245 +const MOD_RIGHT=16384; 246 +const MOD_LEFT=32768; 247 + 248 +const IACE_CHILDREN=1; 249 +const IACE_DEFAULT=16; 250 +const IACE_IGNORENOCONTEXT=32; 251 + 252 +const IGIMIF_RIGHTMENU=1; 253 + 254 +const IGIMII_CMODE=1; 255 +const IGIMII_SMODE=2; 256 +const IGIMII_CONFIGURE=4; 257 +const IGIMII_TOOLS=8; 258 +const IGIMII_HELP=16; 259 +const IGIMII_OTHER=32; 260 +const IGIMII_INPUTTOOLS=64; 261 + 262 +const IMFT_RADIOCHECK=1; 263 +const IMFT_SEPARATOR=2; 264 +const IMFT_SUBMENU=4; 265 + 266 +const IMFS_GRAYED=MFS_GRAYED; 267 +const IMFS_DISABLED=MFS_DISABLED; 268 +const IMFS_CHECKED=MFS_CHECKED; 269 +const IMFS_HILITE=MFS_HILITE; 270 +const IMFS_ENABLED=MFS_ENABLED; 271 +const IMFS_UNCHECKED=MFS_UNCHECKED; 272 +const IMFS_UNHILITE=MFS_UNHILITE; 273 +const IMFS_DEFAULT=MFS_DEFAULT; 274 + 275 +const STYLE_DESCRIPTION_SIZE=32; 276 + 277 +alias DWORD HIMC; 278 +alias DWORD HIMCC; 26 279 alias HKL* LPHKL; 27 -alias UINT* LPUINT; 28 280 29 -struct tagCOMPOSITIONFORM { 30 - DWORD dwStyle; 31 - POINT ptCurrentPos; 32 - RECT rcArea; 281 +struct COMPOSITIONFORM{ 282 + DWORD dwStyle; 283 + POINT ptCurrentPos; 284 + RECT rcArea; 285 +} 286 +alias COMPOSITIONFORM* PCOMPOSITIONFORM, LPCOMPOSITIONFORM; 287 + 288 +struct CANDIDATEFORM{ 289 + DWORD dwIndex; 290 + DWORD dwStyle; 291 + POINT ptCurrentPos; 292 + RECT rcArea; 293 +} 294 +alias CANDIDATEFORM* PCANDIDATEFORM, LPCANDIDATEFORM; 295 + 296 +struct CANDIDATELIST{ 297 + DWORD dwSize; 298 + DWORD dwStyle; 299 + DWORD dwCount; 300 + DWORD dwSelection; 301 + DWORD dwPageStart; 302 + DWORD dwPageSize; 303 + DWORD dwOffset[1]; 304 +} 305 +alias CANDIDATELIST* PCANDIDATELIST, LPCANDIDATELIST; 306 + 307 +struct REGISTERWORDA{ 308 + LPSTR lpReading; 309 + LPSTR lpWord; 310 +} 311 +alias REGISTERWORDA* PREGISTERWORDA, LPREGISTERWORDA; 312 + 313 +struct REGISTERWORDW{ 314 + LPWSTR lpReading; 315 + LPWSTR lpWord; 33 316 } 34 -alias tagCOMPOSITIONFORM COMPOSITIONFORM; 35 -alias tagCOMPOSITIONFORM* PCOMPOSITIONFORM; 36 -alias tagCOMPOSITIONFORM* NPCOMPOSITIONFORM; 37 -alias tagCOMPOSITIONFORM* LPCOMPOSITIONFORM; 317 +alias REGISTERWORDW* PREGISTERWORDW, LPREGISTERWORDW; 38 318 39 -struct tagCANDIDATEFORM { 40 - DWORD dwIndex; 41 - DWORD dwStyle; 42 - POINT ptCurrentPos; 43 - RECT rcArea; 319 +struct STYLEBUFA{ 320 + DWORD dwStyle; 321 + CHAR szDescription[STYLE_DESCRIPTION_SIZE]; 44 322 } 45 -alias tagCANDIDATEFORM CANDIDATEFORM; 46 -alias tagCANDIDATEFORM* PCANDIDATEFORM; 47 -alias tagCANDIDATEFORM* NPCANDIDATEFORM; 48 -alias tagCANDIDATEFORM* LPCANDIDATEFORM; 323 +alias STYLEBUFA* PSTYLEBUFA, LPSTYLEBUFA; 49 324 50 -struct tagCANDIDATELIST { 51 - DWORD dwSize; 52 - DWORD dwStyle; 53 - DWORD dwCount; 54 - DWORD dwSelection; 55 - DWORD dwPageStart; 56 - DWORD dwPageSize; 57 - DWORD dwOffset[1]; 325 +struct STYLEBUFW{ 326 + DWORD dwStyle; 327 + WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; 58 328 } 59 -alias tagCANDIDATELIST CANDIDATELIST; 60 -alias tagCANDIDATELIST* PCANDIDATELIST; 61 -alias tagCANDIDATELIST* NPCANDIDATELIST; 62 -alias tagCANDIDATELIST* LPCANDIDATELIST; 329 +alias STYLEBUFW* PSTYLEBUFW, LPSTYLEBUFW; 63 330 64 -struct tagREGISTERWORDA { 65 - LPSTR lpReading; 66 - LPSTR lpWord; 331 +struct IMEMENUITEMINFOA{ 332 + UINT cbSize = this.sizeof; 333 + UINT fType; 334 + UINT fState; 335 + UINT wID; 336 + HBITMAP hbmpChecked; 337 + HBITMAP hbmpUnchecked; 338 + DWORD dwItemData; 339 + CHAR szString[IMEMENUITEM_STRING_SIZE]; 340 + HBITMAP hbmpItem; 67 341 } 68 -alias tagREGISTERWORDA REGISTERWORDA; 69 -alias tagREGISTERWORDA* PREGISTERWORDA; 70 -alias tagREGISTERWORDA* NPREGISTERWORDA; 71 -alias tagREGISTERWORDA* LPREGISTERWORDA; 72 - 73 -struct tagREGISTERWORDW { 74 - LPWSTR lpReading; 75 - LPWSTR lpWord; 76 -} 77 -alias tagREGISTERWORDW REGISTERWORDW; 78 -alias tagREGISTERWORDW* PREGISTERWORDW; 79 -alias tagREGISTERWORDW* NPREGISTERWORDW; 80 -alias tagREGISTERWORDW* LPREGISTERWORDW; 81 - 82 -// #ifdef UNICODE 83 -alias REGISTERWORDW REGISTERWORD; 84 -alias PREGISTERWORDW PREGISTERWORD; 85 -alias NPREGISTERWORDW NPREGISTERWORD; 86 -alias LPREGISTERWORDW LPREGISTERWORD; 87 -// #else 88 -// ... 89 -// #endif // UNICODE 342 +alias IMEMENUITEMINFOA* PIMEMENUITEMINFOA, LPIMEMENUITEMINFOA; 90 343 91 -// #if (WINVER >= 0x040A) 92 - 93 -struct tagRECONVERTSTRING { 94 - DWORD dwSize; 95 - DWORD dwVersion; 96 - DWORD dwStrLen; 97 - DWORD dwStrOffset; 98 - DWORD dwCompStrLen; 99 - DWORD dwCompStrOffset; 100 - DWORD dwTargetStrLen; 101 - DWORD dwTargetStrOffset; 102 -} 103 -alias tagRECONVERTSTRING RECONVERTSTRING; 104 -alias tagRECONVERTSTRING* PRECONVERTSTRING; 105 -alias tagRECONVERTSTRING* NPRECONVERTSTRING; 106 -alias tagRECONVERTSTRING* LPRECONVERTSTRING; 107 - 108 -// #endif /* WINVER >= 0x040A */ 109 - 110 -enum : uint { STYLE_DESCRIPTION_SIZE = 32 } 111 - 112 -struct tagSTYLEBUFA { 113 - DWORD dwStyle; 114 - CHAR szDescription[STYLE_DESCRIPTION_SIZE]; 344 +struct IMEMENUITEMINFOW{ 345 + UINT cbSize = this.sizeof; 346 + UINT fType; 347 + UINT fState; 348 + UINT wID; 349 + HBITMAP hbmpChecked; 350 + HBITMAP hbmpUnchecked; 351 + DWORD dwItemData; 352 + WCHAR szString[IMEMENUITEM_STRING_SIZE]; 353 + HBITMAP hbmpItem; 115 354 } 116 -alias tagSTYLEBUFA STYLEBUFA; 117 -alias tagSTYLEBUFA* PSTYLEBUFA; 118 -alias tagSTYLEBUFA* NPSTYLEBUFA; 119 -alias tagSTYLEBUFA* LPSTYLEBUFA; 355 +alias IMEMENUITEMINFOW* PIMEMENUITEMINFOW, LPIMEMENUITEMINFOW; 120 356 121 -struct tagSTYLEBUFW { 122 - DWORD dwStyle; 123 - WCHAR szDescription[STYLE_DESCRIPTION_SIZE]; 124 -} 125 -alias tagSTYLEBUFW STYLEBUFW; 126 -alias tagSTYLEBUFW* PSTYLEBUFW; 127 -alias tagSTYLEBUFW* NPSTYLEBUFW; 128 -alias tagSTYLEBUFW* LPSTYLEBUFW; 129 - 130 -// #ifdef UNICODE 131 -alias STYLEBUFW STYLEBUF; 132 -alias PSTYLEBUFW PSTYLEBUF; 133 -alias NPSTYLEBUFW NPSTYLEBUF; 134 -alias LPSTYLEBUFW LPSTYLEBUF; 135 -// #else 136 -// ... 137 -// #endif // UNICODE 357 +alias int function (LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA; 358 +alias int function (LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW; 138 359 139 -// #if (WINVER >= 0x040A) 140 - 141 -enum : uint { IMEMENUITEM_STRING_SIZE = 80 } 142 - 143 -struct tagIMEMENUITEMINFOA { 144 - UINT cbSize; 145 - UINT fType; 146 - UINT fState; 147 - UINT wID; 148 - HBITMAP hbmpChecked; 149 - HBITMAP hbmpUnchecked; 150 - DWORD dwItemData; 151 - CHAR szString[IMEMENUITEM_STRING_SIZE]; 152 - HBITMAP hbmpItem; 153 -} 154 -alias tagIMEMENUITEMINFOA IMEMENUITEMINFOA; 155 -alias tagIMEMENUITEMINFOA* PIMEMENUITEMINFOA; 156 -alias tagIMEMENUITEMINFOA* NPIMEMENUITEMINFOA; 157 -alias tagIMEMENUITEMINFOA* LPIMEMENUITEMINFOA; 158 - 159 -struct tagIMEMENUITEMINFOW { 160 - UINT cbSize; 161 - UINT fType; 162 - UINT fState; 163 - UINT wID; 164 - HBITMAP hbmpChecked; 165 - HBITMAP hbmpUnchecked; 166 - DWORD dwItemData; 167 - WCHAR szString[IMEMENUITEM_STRING_SIZE]; 168 - HBITMAP hbmpItem; 169 -} 170 -alias tagIMEMENUITEMINFOW IMEMENUITEMINFOW; 171 -alias tagIMEMENUITEMINFOW* PIMEMENUITEMINFOW; 172 -alias tagIMEMENUITEMINFOW* NPIMEMENUITEMINFOW; 173 -alias tagIMEMENUITEMINFOW* LPIMEMENUITEMINFOW; 174 - 175 -// #ifdef UNICODE 176 -alias IMEMENUITEMINFOW IMEMENUITEMINFO; 177 -alias PIMEMENUITEMINFOW PIMEMENUITEMINFO; 178 -alias NPIMEMENUITEMINFOW NPIMEMENUITEMINFO; 179 -alias LPIMEMENUITEMINFOW LPIMEMENUITEMINFO; 180 -// #else 181 -// ... 182 -// #endif // UNICODE 183 - 184 -struct tagIMECHARPOSITION { 185 - DWORD dwSize; 186 - DWORD dwCharPos; 187 - POINT pt; 188 - UINT cLineHeight; 189 - RECT rcDocument; 360 +version(Unicode) { 361 + alias REGISTERWORDENUMPROCW REGISTERWORDENUMPROC; 362 + alias REGISTERWORDW REGISTERWORD; 363 + alias IMEMENUITEMINFOW IMEMENUITEMINFO; 364 + alias STYLEBUFW STYLEBUF; 365 +} else { 366 + alias REGISTERWORDENUMPROCA REGISTERWORDENUMPROC; 367 + alias REGISTERWORDA REGISTERWORD; 368 + alias IMEMENUITEMINFOA IMEMENUITEMINFO; 369 + alias STYLEBUFA STYLEBUF; 190 370 } 191 -alias tagIMECHARPOSITION IMECHARPOSITION; 192 -alias tagIMECHARPOSITION* PIMECHARPOSITION; 193 -alias tagIMECHARPOSITION* NPIMECHARPOSITION; 194 -alias tagIMECHARPOSITION* LPIMECHARPOSITION; 195 371 196 -extern(Windows) alias BOOL function(HIMC, LPARAM) IMCENUMPROC; 372 +alias STYLEBUF* PSTYLEBUF, LPSTYLEBUF; 373 +alias REGISTERWORD* PREGISTERWORD, LPREGISTERWORD; 374 +alias IMEMENUITEMINFO* PIMEMENUITEMINFO, LPIMEMENUITEMINFO; 197 375 198 -// #endif /* WINVER >= 0x040A */ 199 376 200 -extern(Windows) export HKL ImmInstallIMEA( LPCSTR lpszIMEFileName, LPCSTR lpszLayoutText); 201 -extern(Windows) export HKL ImmInstallIMEW( LPCWSTR lpszIMEFileName, LPCWSTR lpszLayoutText); 202 -// #ifdef UNICODE 203 -alias ImmInstallIMEW ImmInstallIME; 204 -// #else 205 -// #... 206 -// #endif // !UNICODE 207 - 208 -extern(Windows) export HWND ImmGetDefaultIMEWnd( HWND); 209 - 210 -extern(Windows) export UINT ImmGetDescriptionA( HKL, LPSTR, UINT uBufLen); 211 -extern(Windows) export UINT ImmGetDescriptionW( HKL, LPWSTR, UINT uBufLen); 212 -// #ifdef UNICODE 213 -alias ImmGetDescriptionW ImmGetDescription; 214 -// #else 215 -// #... 216 -// #endif // !UNICODE 377 +extern (Windows): 378 +HKL ImmInstallIMEA(LPCSTR, LPCSTR); 379 +HKL ImmInstallIMEW(LPCWSTR, LPCWSTR); 380 +HWND ImmGetDefaultIMEWnd(HWND); 381 +UINT ImmGetDescriptionA(HKL, LPSTR, UINT); 382 +UINT ImmGetDescriptionW(HKL, LPWSTR, UINT); 383 +UINT ImmGetIMEFileNameA(HKL, LPSTR, UINT); 384 +UINT ImmGetIMEFileNameW(HKL, LPWSTR, UINT); 385 +DWORD ImmGetProperty(HKL, DWORD); 386 +BOOL ImmIsIME(HKL); 387 +BOOL ImmSimulateHotKey(HWND, DWORD); 388 +HIMC ImmCreateContext(); 389 +BOOL ImmDestroyContext(HIMC); 390 +HIMC ImmGetContext(HWND); 391 +BOOL ImmReleaseContext(HWND, HIMC); 392 +HIMC ImmAssociateContext(HWND, HIMC); 393 +LONG ImmGetCompositionStringA(HIMC, DWORD, PVOID, DWORD); 394 +LONG ImmGetCompositionStringW(HIMC, DWORD, PVOID, DWORD); 395 +BOOL ImmSetCompositionStringA(HIMC, DWORD, PCVOID, DWORD, PCVOID, DWORD); 396 +BOOL ImmSetCompositionStringW(HIMC, DWORD, PCVOID, DWORD, PCVOID, DWORD); 397 +DWORD ImmGetCandidateListCountA(HIMC, PDWORD); 398 +DWORD ImmGetCandidateListCountW(HIMC, PDWORD); 399 +DWORD ImmGetCandidateListA(HIMC, DWORD, PCANDIDATELIST, DWORD); 400 +DWORD ImmGetCandidateListW(HIMC, DWORD, PCANDIDATELIST, DWORD); 401 +DWORD ImmGetGuideLineA(HIMC, DWORD, LPSTR, DWORD); 402 +DWORD ImmGetGuideLineW(HIMC, DWORD, LPWSTR, DWORD); 403 +BOOL ImmGetConversionStatus(HIMC, LPDWORD, PDWORD); 404 +BOOL ImmSetConversionStatus(HIMC, DWORD, DWORD); 405 +BOOL ImmGetOpenStatus(HIMC); 406 +BOOL ImmSetOpenStatus(HIMC, BOOL); 217 407 218 -extern(Windows) export UINT ImmGetIMEFileNameA( HKL, LPSTR, UINT uBufLen); 219 -extern(Windows) export UINT ImmGetIMEFileNameW( HKL, LPWSTR, UINT uBufLen); 220 -// #ifdef UNICODE 221 -alias ImmGetIMEFileNameW ImmGetIMEFileName; 222 -// #else 223 -// #... 224 -// #endif // !UNICODE 225 - 226 -extern(Windows) export DWORD ImmGetProperty( HKL, DWORD); 227 - 228 -extern(Windows) export BOOL ImmIsIME( HKL); 229 - 230 -extern(Windows) export BOOL ImmSimulateHotKey( HWND, DWORD); 231 - 232 -extern(Windows) export HIMC ImmCreateContext(); 233 -extern(Windows) export BOOL ImmDestroyContext( HIMC); 234 -extern(Windows) export HIMC ImmGetContext( HWND); 235 -extern(Windows) export BOOL ImmReleaseContext( HWND, HIMC); 236 -extern(Windows) export HIMC ImmAssociateContext( HWND, HIMC); 237 -// #if (WINVER >= 0x040A) 238 -extern(Windows) export BOOL ImmAssociateContextEx( HWND, HIMC, DWORD); 239 -// #endif /* WINVER >= 0x040A */ 408 +BOOL ImmGetCompositionFontA(HIMC, LPLOGFONTA); 409 +BOOL ImmGetCompositionFontW(HIMC, LPLOGFONTW); 410 +BOOL ImmSetCompositionFontA(HIMC, LPLOGFONTA); 411 +BOOL ImmSetCompositionFontW(HIMC, LPLOGFONTW); 240 412 241 -extern(Windows) export LONG ImmGetCompositionStringA( HIMC, DWORD, LPVOID, DWORD); 242 -extern(Windows) export LONG ImmGetCompositionStringW( HIMC, DWORD, LPVOID, DWORD); 243 -// #ifdef UNICODE 244 -alias ImmGetCompositionStringW ImmGetCompositionString; 245 -// #else 246 -// #... 247 -// #endif // !UNICODE 248 - 249 -extern(Windows) export BOOL ImmSetCompositionStringA( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD); 250 -extern(Windows) export BOOL ImmSetCompositionStringW( HIMC, DWORD dwIndex, LPVOID lpComp, DWORD, LPVOID lpRead, DWORD); 251 -// #ifdef UNICODE 252 -alias ImmSetCompositionStringW ImmSetCompositionString; 253 -// #else 254 -// #... 255 -// #endif // !UNICODE 256 - 257 -extern(Windows) export DWORD ImmGetCandidateListCountA( HIMC, LPDWORD lpdwListCount); 258 -extern(Windows) export DWORD ImmGetCandidateListCountW( HIMC, LPDWORD lpdwListCount); 259 -// #ifdef UNICODE 260 -alias ImmGetCandidateListCountW ImmGetCandidateListCount; 261 -// #else 262 -// #... 263 -// #endif // !UNICODE 264 - 265 -extern(Windows) export DWORD ImmGetCandidateListA( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen); 266 -extern(Windows) export DWORD ImmGetCandidateListW( HIMC, DWORD deIndex, LPCANDIDATELIST, DWORD dwBufLen); 267 -// #ifdef UNICODE 268 -alias ImmGetCandidateListW ImmGetCandidateList; 269 -// #else 270 -// #... 271 -// #endif // !UNICODE 272 - 273 -extern(Windows) export DWORD ImmGetGuideLineA( HIMC, DWORD dwIndex, LPSTR, DWORD dwBufLen); 274 -extern(Windows) export DWORD ImmGetGuideLineW( HIMC, DWORD dwIndex, LPWSTR, DWORD dwBufLen); 275 -// #ifdef UNICODE 276 -alias ImmGetGuideLineW ImmGetGuideLine; 277 -// #else 278 -// #... 279 -// #endif // !UNICODE 280 - 281 -extern(Windows) export BOOL ImmGetConversionStatus( HIMC, LPDWORD, LPDWORD); 282 -extern(Windows) export BOOL ImmSetConversionStatus( HIMC, DWORD, DWORD); 283 -extern(Windows) export BOOL ImmGetOpenStatus( HIMC); 284 -extern(Windows) export BOOL ImmSetOpenStatus( HIMC, BOOL); 285 - 286 -// #if defined(_WINGDI_) && !defined(NOGDI) 287 -// ... 288 -// #ifdef UNICODE 289 -// #... 290 -// #else 291 -// #... 292 -// #endif // !UNICODE 293 - 294 -// ... 295 -// #ifdef UNICODE 296 -// #... 297 -// #else 298 -// #... 299 -// #endif // !UNICODE 300 -// #endif // defined(_WINGDI_) && !defined(NOGDI) 301 - 302 -extern(Windows) export BOOL ImmConfigureIMEA( HKL, HWND, DWORD, LPVOID); 303 -extern(Windows) export BOOL ImmConfigureIMEW( HKL, HWND, DWORD, LPVOID); 304 -// #ifdef UNICODE 305 -alias ImmConfigureIMEW ImmConfigureIME; 306 -// #else 307 -// #... 308 -// #endif // !UNICODE 309 - 310 -extern(Windows) export LRESULT ImmEscapeA( HKL, HIMC, UINT, LPVOID); 311 -extern(Windows) export LRESULT ImmEscapeW( HKL, HIMC, UINT, LPVOID); 312 -// #ifdef UNICODE 313 -alias ImmEscapeW ImmEscape; 314 -// #else 315 -// #... 316 -// #endif // !UNICODE 317 - 318 -extern(Windows) export DWORD ImmGetConversionListA( HKL, HIMC, LPCSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag); 319 -extern(Windows) export DWORD ImmGetConversionListW( HKL, HIMC, LPCWSTR, LPCANDIDATELIST, DWORD dwBufLen, UINT uFlag); 320 -// #ifdef UNICODE 321 -alias ImmGetConversionListW ImmGetConversionList; 322 -// #else 323 -// #... 324 -// #endif // !UNICODE 325 - 326 -extern(Windows) export BOOL ImmNotifyIME( HIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue); 327 - 328 -extern(Windows) export BOOL ImmGetStatusWindowPos( HIMC, LPPOINT); 329 -extern(Windows) export BOOL ImmSetStatusWindowPos( HIMC, LPPOINT); 330 -extern(Windows) export BOOL ImmGetCompositionWindow( HIMC, LPCOMPOSITIONFORM); 331 -extern(Windows) export BOOL ImmSetCompositionWindow( HIMC, LPCOMPOSITIONFORM); 332 -extern(Windows) export BOOL ImmGetCandidateWindow( HIMC, DWORD, LPCANDIDATEFORM); 333 -extern(Windows) export BOOL ImmSetCandidateWindow( HIMC, LPCANDIDATEFORM); 334 - 335 -extern(Windows) export BOOL ImmIsUIMessageA( HWND, UINT, WPARAM, LPARAM); 336 -extern(Windows) export BOOL ImmIsUIMessageW( HWND, UINT, WPARAM, LPARAM); 337 -// #ifdef UNICODE 338 -alias ImmIsUIMessageW ImmIsUIMessage; 339 -// #else 340 -// #... 341 -// #endif // !UNICODE 342 - 343 -extern(Windows) export UINT ImmGetVirtualKey( HWND); 344 - 345 -extern(Windows) alias int function(LPCSTR, DWORD, LPCSTR, LPVOID) REGISTERWORDENUMPROCA; 346 -extern(Windows) alias int function(LPCWSTR, DWORD, LPCWSTR, LPVOID) REGISTERWORDENUMPROCW; 347 -// #ifdef UNICODE 348 -alias REGISTERWORDENUMPROCW REGISTERWORDENUMPROC; 349 -// #else 350 -// #... 351 -// #endif // !UNICODE 352 - 353 -extern(Windows) export BOOL ImmRegisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister); 354 -extern(Windows) export BOOL ImmRegisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister); 355 -// #ifdef UNICODE 356 -alias ImmRegisterWordW ImmRegisterWord; 357 -// #else 358 -// #... 359 -// #endif // !UNICODE 413 +BOOL ImmConfigureIMEA(HKL, HWND, DWORD, PVOID); 414 +BOOL ImmConfigureIMEW(HKL, HWND, DWORD, PVOID); 415 +LRESULT ImmEscapeA(HKL, HIMC, UINT, PVOID); 416 +LRESULT ImmEscapeW(HKL, HIMC, UINT, PVOID); 417 +DWORD ImmGetConversionListA(HKL, HIMC, LPCSTR, PCANDIDATELIST, DWORD, UINT); 418 +DWORD ImmGetConversionListW(HKL, HIMC, LPCWSTR, PCANDIDATELIST, DWORD, UINT); 419 +BOOL ImmNotifyIME(HIMC, DWORD, DWORD, DWORD); 420 +BOOL ImmGetStatusWindowPos(HIMC, LPPOINT); 421 +BOOL ImmSetStatusWindowPos(HIMC, LPPOINT); 422 +BOOL ImmGetCompositionWindow(HIMC, PCOMPOSITIONFORM); 423 +BOOL ImmSetCompositionWindow(HIMC, PCOMPOSITIONFORM); 424 +BOOL ImmGetCandidateWindow(HIMC, DWORD, PCANDIDATEFORM); 425 +BOOL ImmSetCandidateWindow(HIMC, PCANDIDATEFORM); 426 +BOOL ImmIsUIMessageA(HWND, UINT, WPARAM, LPARAM); 427 +BOOL ImmIsUIMessageW(HWND, UINT, WPARAM, LPARAM); 428 +UINT ImmGetVirtualKey(HWND); 429 +BOOL ImmRegisterWordA(HKL, LPCSTR, DWORD, LPCSTR); 430 +BOOL ImmRegisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR); 431 +BOOL ImmUnregisterWordA(HKL, LPCSTR, DWORD, LPCSTR); 432 +BOOL ImmUnregisterWordW(HKL, LPCWSTR, DWORD, LPCWSTR); 433 +UINT ImmGetRegisterWordStyleA(HKL, UINT, PSTYLEBUFA); 434 +UINT ImmGetRegisterWordStyleW(HKL, UINT, PSTYLEBUFW); 435 +UINT ImmEnumRegisterWordA(HKL, REGISTERWORDENUMPROCA, LPCSTR, DWORD, LPCSTR, PVOID); 436 +UINT ImmEnumRegisterWordW(HKL, REGISTERWORDENUMPROCW, LPCWSTR, DWORD, LPCWSTR, PVOID); 437 +BOOL EnableEUDC(BOOL); 438 +BOOL ImmDisableIME(DWORD); 439 +DWORD ImmGetImeMenuItemsA(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD); 440 +DWORD ImmGetImeMenuItemsW(HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD); 360 441 361 -extern(Windows) export BOOL ImmUnregisterWordA( HKL, LPCSTR lpszReading, DWORD, LPCSTR lpszUnregister); 362 -extern(Windows) export BOOL ImmUnregisterWordW( HKL, LPCWSTR lpszReading, DWORD, LPCWSTR lpszUnregister); 363 -// #ifdef UNICODE 364 -alias ImmUnregisterWordW ImmUnregisterWord; 365 -// #else 366 -// #... 367 -// #endif // !UNICODE 368 - 369 -extern(Windows) export UINT ImmGetRegisterWordStyleA( HKL, UINT nItem, LPSTYLEBUFA); 370 -extern(Windows) export UINT ImmGetRegisterWordStyleW( HKL, UINT nItem, LPSTYLEBUFW); 371 -// #ifdef UNICODE 372 -alias ImmGetRegisterWordStyleW ImmGetRegisterWordStyle; 373 -// #else 374 -// #... 375 -// #endif // !UNICODE 376 - 377 -extern(Windows) export UINT ImmEnumRegisterWordA( HKL, REGISTERWORDENUMPROCA, LPCSTR lpszReading, DWORD, LPCSTR lpszRegister, LPVOID); 378 -extern(Windows) export UINT ImmEnumRegisterWordW( HKL, REGISTERWORDENUMPROCW, LPCWSTR lpszReading, DWORD, LPCWSTR lpszRegister, LPVOID); 379 -// #ifdef UNICODE 380 -alias ImmEnumRegisterWordW ImmEnumRegisterWord; 381 -// #else 382 -// #... 383 -// #endif // !UNICODE 384 - 385 -// #if (WINVER >= 0x040A) 386 -extern(Windows) export BOOL ImmDisableIME( DWORD); 387 -extern(Windows) export BOOL ImmEnumInputContext(DWORD idThread, IMCENUMPROC lpfn, LPARAM lParam); 388 -extern(Windows) export DWORD ImmGetImeMenuItemsA( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOA, LPIMEMENUITEMINFOA, DWORD); 389 -extern(Windows) export DWORD ImmGetImeMenuItemsW( HIMC, DWORD, DWORD, LPIMEMENUITEMINFOW, LPIMEMENUITEMINFOW, DWORD); 390 -// #ifdef UNICODE 391 -alias ImmGetImeMenuItemsW ImmGetImeMenuItems; 392 -// #else 393 -// #... 394 -// #endif // !UNICODE 395 -// #endif /* WINVER >= 0x040A */ 396 - 397 -enum : uint { IMC_GETCANDIDATEPOS = 0x0007 } 398 -enum : uint { IMC_SETCANDIDATEPOS = 0x0008 } 399 -enum : uint { IMC_GETCOMPOSITIONFONT = 0x0009 } 400 -enum : uint { IMC_SETCOMPOSITIONFONT = 0x000A } 401 -enum : uint { IMC_GETCOMPOSITIONWINDOW = 0x000B } 402 -enum : uint { IMC_SETCOMPOSITIONWINDOW = 0x000C } 403 -enum : uint { IMC_GETSTATUSWINDOWPOS = 0x000F } 404 -enum : uint { IMC_SETSTATUSWINDOWPOS = 0x0010 } 405 -enum : uint { IMC_CLOSESTATUSWINDOW = 0x0021 } 406 -enum : uint { IMC_OPENSTATUSWINDOW = 0x0022 } 407 - 408 -enum : uint { NI_OPENCANDIDATE = 0x0010 } 409 -enum : uint { NI_CLOSECANDIDATE = 0x0011 } 410 -enum : uint { NI_SELECTCANDIDATESTR = 0x0012 } 411 -enum : uint { NI_CHANGECANDIDATELIST = 0x0013 } 412 -enum : uint { NI_FINALIZECONVERSIONRESULT = 0x0014 } 413 -enum : uint { NI_COMPOSITIONSTR = 0x0015 } 414 -enum : uint { NI_SETCANDIDATE_PAGESTART = 0x0016 } 415 -enum : uint { NI_SETCANDIDATE_PAGESIZE = 0x0017 } 416 -enum : uint { NI_IMEMENUSELECTED = 0x0018 } 417 - 418 -enum : uint { ISC_SHOWUICANDIDATEWINDOW = 0x00000001 } 419 -enum : uint { ISC_SHOWUICOMPOSITIONWINDOW = 0x80000000 } 420 -enum : uint { ISC_SHOWUIGUIDELINE = 0x40000000 } 421 -enum : uint { ISC_SHOWUIALLCANDIDATEWINDOW = 0x0000000F } 422 -enum : uint { ISC_SHOWUIALL = 0xC000000F } 423 - 424 -enum : uint { CPS_COMPLETE = 0x0001 } 425 -enum : uint { CPS_CONVERT = 0x0002 } 426 -enum : uint { CPS_REVERT = 0x0003 } 427 -enum : uint { CPS_CANCEL = 0x0004 } 428 - 429 -enum : uint { MOD_ALT = 0x0001 } 430 -enum : uint { MOD_CONTROL = 0x0002 } 431 -enum : uint { MOD_SHIFT = 0x0004 } 432 - 433 -enum : uint { MOD_LEFT = 0x8000 } 434 -enum : uint { MOD_RIGHT = 0x4000 } 435 - 436 -enum : uint { MOD_ON_KEYUP = 0x0800 } 437 -enum : uint { MOD_IGNORE_ALL_MODIFIER = 0x0400 } 438 - 439 -enum : uint { IME_CHOTKEY_IME_NONIME_TOGGLE = 0x10 } 440 -enum : uint { IME_CHOTKEY_SHAPE_TOGGLE = 0x11 } 441 -enum : uint { IME_CHOTKEY_SYMBOL_TOGGLE = 0x12 } 442 - 443 -enum : uint { IME_JHOTKEY_CLOSE_OPEN = 0x30 } 444 - 445 -enum : uint { IME_KHOTKEY_SHAPE_TOGGLE = 0x50 } 446 -enum : uint { IME_KHOTKEY_HANJACONVERT = 0x51 } 447 -enum : uint { IME_KHOTKEY_ENGLISH = 0x52 } 448 - 449 -enum : uint { IME_THOTKEY_IME_NONIME_TOGGLE = 0x70 } 450 -enum : uint { IME_THOTKEY_SHAPE_TOGGLE = 0x71 } 451 -enum : uint { IME_THOTKEY_SYMBOL_TOGGLE = 0x72 } 452 - 453 -enum : uint { IME_HOTKEY_DSWITCH_FIRST = 0x100 } 454 -enum : uint { IME_HOTKEY_DSWITCH_LAST = 0x11F } 455 - 456 -enum : uint { IME_HOTKEY_PRIVATE_FIRST = 0x200 } 457 -enum : uint { IME_ITHOTKEY_RESEND_RESULTSTR = 0x200 } 458 -enum : uint { IME_ITHOTKEY_PREVIOUS_COMPOSITION = 0x201 } 459 -enum : uint { IME_ITHOTKEY_UISTYLE_TOGGLE = 0x202 } 460 -enum : uint { IME_ITHOTKEY_RECONVERTSTRING = 0x203 } 461 -enum : uint { IME_HOTKEY_PRIVATE_LAST = 0x21F } 462 - 463 -enum : uint { GCS_COMPREADSTR = 0x0001 } 464 -enum : uint { GCS_COMPREADATTR = 0x0002 } 465 -enum : uint { GCS_COMPREADCLAUSE = 0x0004 } 466 -enum : uint { GCS_COMPSTR = 0x0008 } 467 -enum : uint { GCS_COMPATTR = 0x0010 } 468 -enum : uint { GCS_COMPCLAUSE = 0x0020 } 469 -enum : uint { GCS_CURSORPOS = 0x0080 } 470 -enum : uint { GCS_DELTASTART = 0x0100 } 471 -enum : uint { GCS_RESULTREADSTR = 0x0200 } 472 -enum : uint { GCS_RESULTREADCLAUSE = 0x0400 } 473 -enum : uint { GCS_RESULTSTR = 0x0800 } 474 -enum : uint { GCS_RESULTCLAUSE = 0x1000 } 475 - 476 -enum : uint { CS_INSERTCHAR = 0x2000 } 477 -enum : uint { CS_NOMOVECARET = 0x4000 } 478 - 479 -enum : uint { IMEVER_0310 = 0x0003000A } 480 -enum : uint { IMEVER_0400 = 0x00040000 } 481 - 482 -enum : uint { IME_PROP_AT_CARET = 0x00010000 } 483 -enum : uint { IME_PROP_SPECIAL_UI = 0x00020000 } 484 -enum : uint { IME_PROP_CANDLIST_START_FROM_1 = 0x00040000 } 485 -enum : uint { IME_PROP_UNICODE = 0x00080000 } 486 -enum : uint { IME_PROP_COMPLETE_ON_UNSELECT = 0x00100000 } 487 - 488 -enum : uint { UI_CAP_2700 = 0x00000001 } 489 -enum : uint { UI_CAP_ROT90 = 0x00000002 } 490 -enum : uint { UI_CAP_ROTANY = 0x00000004 } 491 - 492 -enum : uint { SCS_CAP_COMPSTR = 0x00000001 } 493 -enum : uint { SCS_CAP_MAKEREAD = 0x00000002 } 494 -enum : uint { SCS_CAP_SETRECONVERTSTRING = 0x00000004 } 495 - 496 -enum : uint { SELECT_CAP_CONVERSION = 0x00000001 } 497 -enum : uint { SELECT_CAP_SENTENCE = 0x00000002 } 498 - 499 -enum : uint { GGL_LEVEL = 0x00000001 } 500 -enum : uint { GGL_INDEX = 0x00000002 } 501 -enum : uint { GGL_STRING = 0x00000003 } 502 -enum : uint { GGL_PRIVATE = 0x00000004 } 503 - 504 -enum : uint { GL_LEVEL_NOGUIDELINE = 0x00000000 } 505 -enum : uint { GL_LEVEL_FATAL = 0x00000001 } 506 -enum : uint { GL_LEVEL_ERROR = 0x00000002 } 507 -enum : uint { GL_LEVEL_WARNING = 0x00000003 } 508 -enum : uint { GL_LEVEL_INFORMATION = 0x00000004 } 509 - 510 -enum : uint { GL_ID_UNKNOWN = 0x00000000 } 511 -enum : uint { GL_ID_NOMODULE = 0x00000001 } 512 -enum : uint { GL_ID_NODICTIONARY = 0x00000010 } 513 -enum : uint { GL_ID_CANNOTSAVE = 0x00000011 } 514 -enum : uint { GL_ID_NOCONVERT = 0x00000020 } 515 -enum : uint { GL_ID_TYPINGERROR = 0x00000021 } 516 -enum : uint { GL_ID_TOOMANYSTROKE = 0x00000022 } 517 -enum : uint { GL_ID_READINGCONFLICT = 0x00000023 } 518 -enum : uint { GL_ID_INPUTREADING = 0x00000024 } 519 -enum : uint { GL_ID_INPUTRADICAL = 0x00000025 } 520 -enum : uint { GL_ID_INPUTCODE = 0x00000026 } 521 -enum : uint { GL_ID_INPUTSYMBOL = 0x00000027 } 522 -enum : uint { GL_ID_CHOOSECANDIDATE = 0x00000028 } 523 -enum : uint { GL_ID_REVERSECONVERSION = 0x00000029 } 524 -enum : uint { GL_ID_PRIVATE_FIRST = 0x00008000 } 525 -enum : uint { GL_ID_PRIVATE_LAST = 0x0000FFFF } 526 - 527 -const DWORD IGP_GETIMEVERSION = cast(DWORD)-4; 528 -enum : uint { IGP_PROPERTY = 0x00000004 } 529 -enum : uint { IGP_CONVERSION = 0x00000008 } 530 -enum : uint { IGP_SENTENCE = 0x0000000c } 531 -enum : uint { IGP_UI = 0x00000010 } 532 -enum : uint { IGP_SETCOMPSTR = 0x00000014 } 533 -enum : uint { IGP_SELECT = 0x00000018 } 534 - 535 -const uint SCS_SETSTR = GCS_COMPREADSTR|GCS_COMPSTR; 536 -const uint SCS_CHANGEATTR = GCS_COMPREADATTR|GCS_COMPATTR; 537 -const uint SCS_CHANGECLAUSE = GCS_COMPREADCLAUSE|GCS_COMPCLAUSE; 538 -enum : uint { SCS_SETRECONVERTSTRING = 0x00010000 } 539 -enum : uint { SCS_QUERYRECONVERTSTRING = 0x00020000 } 540 - 541 -enum : uint { ATTR_INPUT = 0x00 } 542 -enum : uint { ATTR_TARGET_CONVERTED = 0x01 } 543 -enum : uint { ATTR_CONVERTED = 0x02 } 544 -enum : uint { ATTR_TARGET_NOTCONVERTED = 0x03 } 545 -enum : uint { ATTR_INPUT_ERROR = 0x04 } 546 -enum : uint { ATTR_FIXEDCONVERTED = 0x05 } 547 - 548 -enum : uint { CFS_DEFAULT = 0x0000 } 549 -enum : uint { CFS_RECT = 0x0001 } 550 -enum : uint { CFS_POINT = 0x0002 } 551 -enum : uint { CFS_FORCE_POSITION = 0x0020 } 552 -enum : uint { CFS_CANDIDATEPOS = 0x0040 } 553 -enum : uint { CFS_EXCLUDE = 0x0080 } 554 - 555 -enum : uint { GCL_CONVERSION = 0x0001 } 556 -enum : uint { GCL_REVERSECONVERSION = 0x0002 } 557 -enum : uint { GCL_REVERSE_LENGTH = 0x0003 } 558 - 559 -enum : uint { IME_CMODE_ALPHANUMERIC = 0x0000 } 560 -enum : uint { IME_CMODE_NATIVE = 0x0001 } 561 -alias IME_CMODE_NATIVE IME_CMODE_CHINESE; 562 - 563 -alias IME_CMODE_NATIVE IME_CMODE_HANGEUL; 564 -alias IME_CMODE_NATIVE IME_CMODE_HANGUL; 565 -alias IME_CMODE_NATIVE IME_CMODE_JAPANESE; 566 -enum : uint { IME_CMODE_KATAKANA = 0x0002 } 567 -enum : uint { IME_CMODE_LANGUAGE = 0x0003 } 568 -enum : uint { IME_CMODE_FULLSHAPE = 0x0008 } 569 -enum : uint { IME_CMODE_ROMAN = 0x0010 } 570 -enum : uint { IME_CMODE_CHARCODE = 0x0020 } 571 -enum : uint { IME_CMODE_HANJACONVERT = 0x0040 } 572 -enum : uint { IME_CMODE_SOFTKBD = 0x0080 } 573 -enum : uint { IME_CMODE_NOCONVERSION = 0x0100 } 574 -enum : uint { IME_CMODE_EUDC = 0x0200 } 575 -enum : uint { IME_CMODE_SYMBOL = 0x0400 } 576 -enum : uint { IME_CMODE_FIXED = 0x0800 } 577 - 578 -enum : uint { IME_SMODE_NONE = 0x0000 } 579 -enum : uint { IME_SMODE_PLAURALCLAUSE = 0x0001 } 580 -enum : uint { IME_SMODE_SINGLECONVERT = 0x0002 } 581 -enum : uint { IME_SMODE_AUTOMATIC = 0x0004 } 582 -enum : uint { IME_SMODE_PHRASEPREDICT = 0x0008 } 583 -enum : uint { IME_SMODE_CONVERSATION = 0x0010 } 584 - 585 -enum : uint { IME_CAND_UNKNOWN = 0x0000 } 586 -enum : uint { IME_CAND_READ = 0x0001 } 587 -enum : uint { IME_CAND_CODE = 0x0002 } 588 -enum : uint { IME_CAND_MEANING = 0x0003 } 589 -enum : uint { IME_CAND_RADICAL = 0x0004 } 590 -enum : uint { IME_CAND_STROKE = 0x0005 } 591 - 592 -enum : uint { IMN_CLOSESTATUSWINDOW = 0x0001 } 593 -enum : uint { IMN_OPENSTATUSWINDOW = 0x0002 } 594 -enum : uint { IMN_CHANGECANDIDATE = 0x0003 } 595 -enum : uint { IMN_CLOSECANDIDATE = 0x0004 } 596 -enum : uint { IMN_OPENCANDIDATE = 0x0005 } 597 -enum : uint { IMN_SETCONVERSIONMODE = 0x0006 } 598 -enum : uint { IMN_SETSENTENCEMODE = 0x0007 } 599 -enum : uint { IMN_SETOPENSTATUS = 0x0008 } 600 -enum : uint { IMN_SETCANDIDATEPOS = 0x0009 } 601 -enum : uint { IMN_SETCOMPOSITIONFONT = 0x000A } 602 -enum : uint { IMN_SETCOMPOSITIONWINDOW = 0x000B } 603 -enum : uint { IMN_SETSTATUSWINDOWPOS = 0x000C } 604 -enum : uint { IMN_GUIDELINE = 0x000D } 605 -enum : uint { IMN_PRIVATE = 0x000E } 606 - 607 -// #if (WINVER >= 0x040A) 608 - 609 -enum : uint { IMR_COMPOSITIONWINDOW = 0x0001 } 610 -enum : uint { IMR_CANDIDATEWINDOW = 0x0002 } 611 -enum : uint { IMR_COMPOSITIONFONT = 0x0003 } 612 -enum : uint { IMR_RECONVERTSTRING = 0x0004 } 613 -enum : uint { IMR_CONFIRMRECONVERTSTRING = 0x0005 } 614 -enum : uint { IMR_QUERYCHARPOSITION = 0x0006 } 615 -enum : uint { IMR_DOCUMENTFEED = 0x0007 } 616 -// #endif /* WINVER >= 0x040A */ 617 - 618 -enum { IMM_ERROR_NODATA = -1 } 619 -enum { IMM_ERROR_GENERAL = -2 } 620 - 621 -enum : uint { IME_CONFIG_GENERAL = 1 } 622 -enum : uint { IME_CONFIG_REGISTERWORD = 2 } 623 -enum : uint { IME_CONFIG_SELECTDICTIONARY = 3 } 624 - 625 -enum : uint { IME_ESC_QUERY_SUPPORT = 0x0003 } 626 -enum : uint { IME_ESC_RESERVED_FIRST = 0x0004 } 627 -enum : uint { IME_ESC_RESERVED_LAST = 0x07FF } 628 -enum : uint { IME_ESC_PRIVATE_FIRST = 0x0800 } 629 -enum : uint { IME_ESC_PRIVATE_LAST = 0x0FFF } 630 - 631 -enum : uint { IME_ESC_SEQUENCE_TO_INTERNAL = 0x1001 } 632 -enum : uint { IME_ESC_GET_EUDC_DICTIONARY = 0x1003 } 633 -enum : uint { IME_ESC_SET_EUDC_DICTIONARY = 0x1004 } 634 -enum : uint { IME_ESC_MAX_KEY = 0x1005 } 635 -enum : uint { IME_ESC_IME_NAME = 0x1006 } 636 -enum : uint { IME_ESC_SYNC_HOTKEY = 0x1007 } 637 -enum : uint { IME_ESC_HANJA_MODE = 0x1008 } 638 -enum : uint { IME_ESC_AUTOMATA = 0x1009 } 639 -enum : uint { IME_ESC_PRIVATE_HOTKEY = 0x100a } 640 -enum : uint { IME_ESC_GETHELPFILENAME = 0x100b } 641 - 642 -enum : uint { IME_REGWORD_STYLE_EUDC = 0x00000001 } 643 -enum : uint { IME_REGWORD_STYLE_USER_FIRST = 0x80000000 } 644 -enum : uint { IME_REGWORD_STYLE_USER_LAST = 0xFFFFFFFF } 645 - 646 -// #if (WINVER >= 0x040A) 647 - 648 -enum : uint { IACE_CHILDREN = 0x0001 } 649 -enum : uint { IACE_DEFAULT = 0x0010 } 650 -enum : uint { IACE_IGNORENOCONTEXT = 0x0020 } 651 - 652 -enum : uint { IGIMIF_RIGHTMENU = 0x0001 } 653 - 654 -enum : uint { IGIMII_CMODE = 0x0001 } 655 -enum : uint { IGIMII_SMODE = 0x0002 } 656 -enum : uint { IGIMII_CONFIGURE = 0x0004 } 657 -enum : uint { IGIMII_TOOLS = 0x0008 } 658 -enum : uint { IGIMII_HELP = 0x0010 } 659 -enum : uint { IGIMII_OTHER = 0x0020 } 660 -enum : uint { IGIMII_INPUTTOOLS = 0x0040 } 661 - 662 -enum : uint { IMFT_RADIOCHECK = 0x00001 } 663 -enum : uint { IMFT_SEPARATOR = 0x00002 } 664 -enum : uint { IMFT_SUBMENU = 0x00004 } 665 - 666 -alias MFS_GRAYED IMFS_GRAYED; 667 -alias MFS_DISABLED IMFS_DISABLED; 668 -alias MFS_CHECKED IMFS_CHECKED; 669 -alias MFS_HILITE IMFS_HILITE; 670 -alias MFS_ENABLED IMFS_ENABLED; 671 -alias MFS_UNCHECKED IMFS_UNCHECKED; 672 -alias MFS_UNHILITE IMFS_UNHILITE; 673 -alias MFS_DEFAULT IMFS_DEFAULT; 674 - 675 -// #endif /* WINVER >= 0x040A */ 676 - 677 -enum : uint { SOFTKEYBOARD_TYPE_T1 = 0x0001 } 678 - 679 -enum : uint { SOFTKEYBOARD_TYPE_C1 = 0x0002 } 680 - 681 -// #endif // _IMM_SDK_DEFINED_ 682 - 683 -// #ifdef __cplusplus 684 -// } 685 -// #endif 686 - 687 -// #endif // _IMM_ 442 +version(Unicode) { 443 + alias ImmEnumRegisterWordW ImmEnumRegisterWord; 444 + alias ImmGetRegisterWordStyleW ImmGetRegisterWordStyle; 445 + alias ImmUnregisterWordW ImmUnregisterWord; 446 + alias ImmRegisterWordW ImmRegisterWord; 447 + alias ImmInstallIMEW ImmInstallIME; 448 + alias ImmIsUIMessageW ImmIsUIMessage; 449 + alias ImmGetConversionListW ImmGetConversionList; 450 + alias ImmEscapeW ImmEscape; 451 + alias ImmConfigureIMEW ImmConfigureIME; 452 + alias ImmSetCompositionFontW ImmSetCompositionFont; 453 + alias ImmGetCompositionFontW ImmGetCompositionFont; 454 + alias ImmGetGuideLineW ImmGetGuideLine; 455 + alias ImmGetCandidateListW ImmGetCandidateList; 456 + alias ImmGetCandidateListCountW ImmGetCandidateListCount; 457 + alias ImmSetCompositionStringW ImmSetCompositionString; 458 + alias ImmGetCompositionStringW ImmGetCompositionString; 459 + alias ImmGetDescriptionW ImmGetDescription; 460 + alias ImmGetIMEFileNameW ImmGetIMEFileName; 461 + alias ImmGetImeMenuItemsW ImmGetImeMenuItems; 462 +} else { 463 + alias ImmEnumRegisterWordA ImmEnumRegisterWord; 464 + alias ImmGetRegisterWordStyleA ImmGetRegisterWordStyle; 465 + alias ImmUnregisterWordA ImmUnregisterWord; 466 + alias ImmRegisterWordA ImmRegisterWord; 467 + alias ImmInstallIMEA ImmInstallIME; 468 + alias ImmIsUIMessageA ImmIsUIMessage; 469 + alias ImmGetConversionListA ImmGetConversionList; 470 + alias ImmEscapeA ImmEscape; 471 + alias ImmConfigureIMEA ImmConfigureIME; 472 + alias ImmSetCompositionFontA ImmSetCompositionFont; 473 + alias ImmGetCompositionFontA ImmGetCompositionFont; 474 + alias ImmGetGuideLineA ImmGetGuideLine; 475 + alias ImmGetCandidateListA ImmGetCandidateList; 476 + alias ImmGetCandidateListCountA ImmGetCandidateListCount; 477 + alias ImmSetCompositionStringA ImmSetCompositionString; 478 + alias ImmGetCompositionStringA ImmGetCompositionString; 479 + alias ImmGetDescriptionA ImmGetDescription; 480 + alias ImmGetIMEFileNameA ImmGetIMEFileName; 481 + alias ImmGetImeMenuItemsW ImmGetImeMenuItems; 482 +}

Added src/win32/intshcut.d version [3dec7c6df065235c]

1 +/***********************************************************************\ 2 +* intshcut.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.intshcut; 12 + 13 +private import win32.unknwn, win32.windef; 14 + 15 +enum : SCODE { 16 + E_FLAGS = 0x80041000, 17 + // = MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x1000) 18 + URL_E_INVALID_SYNTAX = 0x80041001, 19 + // = MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x1001) 20 + URL_E_UNREGISTERED_PROTOCOL = 0x80041002, // etc. 21 + IS_E_EXEC_FAILED = 0x80042002 22 +} 23 + 24 +enum IURL_SETURL_FLAGS { 25 + IURL_SETURL_FL_GUESS_PROTOCOL = 1, 26 + IURL_SETURL_FL_USE_DEFAULT_PROTOCOL, 27 + ALL_IURL_SETURL_FLAGS 28 +} 29 + 30 +enum IURL_INVOKECOMMAND_FLAGS { 31 + IURL_INVOKECOMMAND_FL_ALLOW_UI = 1, 32 + IURL_INVOKECOMMAND_FL_USE_DEFAULT_VERB, 33 + ALL_IURL_INVOKECOMMAND_FLAGS 34 +} 35 + 36 +enum TRANSLATEURL_IN_FLAGS { 37 + TRANSLATEURL_FL_GUESS_PROTOCOL = 1, 38 + TRANSLATEURL_FL_USE_DEFAULT_PROTOCOL, 39 + ALL_TRANSLATEURL_FLAGS 40 +} 41 + 42 +enum URLASSOCIATIONDIALOG_IN_FLAGS { 43 + URLASSOCDLG_FL_USE_DEFAULT_NAME = 1, 44 + URLASSOCDLG_FL_REGISTER_ASSOC, 45 + ALL_URLASSOCDLG_FLAGS 46 +} 47 + 48 +enum MIMEASSOCIATIONDIALOG_IN_FLAGS { 49 + MIMEASSOCDLG_FL_REGISTER_ASSOC = 1, 50 + ALL_MIMEASSOCDLG_FLAGS = MIMEASSOCDLG_FL_REGISTER_ASSOC 51 +} 52 + 53 +struct URLINVOKECOMMANDINFO { 54 + DWORD dwcbSize = URLINVOKECOMMANDINFO.sizeof; 55 + DWORD dwFlags; 56 + HWND hwndParent; 57 + PCSTR pcszVerb; 58 +} 59 +alias URLINVOKECOMMANDINFO CURLINVOKECOMMANDINFO; 60 +alias URLINVOKECOMMANDINFO* PURLINVOKECOMMANDINFO, PCURLINVOKECOMMANDINFO; 61 + 62 +interface IUniformResourceLocator : IUnknown { 63 + HRESULT SetURL(PCSTR, DWORD); 64 + HRESULT GetURL(PSTR*); 65 + HRESULT InvokeCommand(PURLINVOKECOMMANDINFO); 66 +} 67 +alias IUniformResourceLocator CIUniformResourceLocator; 68 +alias IUniformResourceLocator* PIUniformResourceLocator, 69 + PCIUniformResourceLocator; 70 + 71 +extern (Windows) { 72 + BOOL InetIsOffline(DWORD); 73 + HRESULT MIMEAssociationDialogA(HWND, DWORD, PCSTR, PCSTR, PSTR, UINT); 74 + HRESULT MIMEAssociationDialogW(HWND, DWORD, PCWSTR, PCWSTR, PWSTR, UINT); 75 + HRESULT TranslateURLA(PCSTR, DWORD, PSTR*); 76 + HRESULT TranslateURLW(PCWSTR, DWORD, PWSTR*); 77 + HRESULT URLAssociationDialogA(HWND, DWORD, PCSTR, PCSTR, PSTR, UINT); 78 + HRESULT URLAssociationDialogW(HWND, DWORD, PCWSTR, PCWSTR, PWSTR, UINT); 79 +} 80 + 81 +version (Unicode) { 82 + alias TranslateURLW TranslateURL; 83 + alias MIMEAssociationDialogW MIMEAssociationDialog; 84 + alias URLAssociationDialogW URLAssociationDialog; 85 +} else { 86 + alias TranslateURLA TranslateURL; 87 + alias MIMEAssociationDialogA MIMEAssociationDialog; 88 + alias URLAssociationDialogA URLAssociationDialog; 89 +}

Added src/win32/ipexport.d version [5a823418cedc80e8]

1 +/***********************************************************************\ 2 +* ipexport.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.ipexport; 12 + 13 +private import win32.windef; 14 + 15 +const size_t MAX_ADAPTER_NAME = 128; 16 + 17 +// IP STATUS flags 18 +enum : IP_STATUS { 19 + IP_SUCCESS = 0, 20 + IP_STATUS_BASE = 11000, 21 + IP_BUF_TOO_SMALL, 22 + IP_DEST_NET_UNREACHABLE, 23 + IP_DEST_HOST_UNREACHABLE, 24 + IP_DEST_PROT_UNREACHABLE, 25 + IP_DEST_PORT_UNREACHABLE, 26 + IP_NO_RESOURCES, 27 + IP_BAD_OPTION, 28 + IP_HW_ERROR, 29 + IP_PACKET_TOO_BIG, 30 + IP_REQ_TIMED_OUT, 31 + IP_BAD_REQ, 32 + IP_BAD_ROUTE, 33 + IP_TTL_EXPIRED_TRANSIT, 34 + IP_TTL_EXPIRED_REASSEM, 35 + IP_PARAM_PROBLEM, 36 + IP_SOURCE_QUENCH, 37 + IP_OPTION_TOO_BIG, 38 + IP_BAD_DESTINATION, 39 + IP_ADDR_DELETED, 40 + IP_SPEC_MTU_CHANGE, 41 + IP_MTU_CHANGE, 42 + IP_UNLOAD, // = IP_STATUS_BASE + 22 43 + IP_GENERAL_FAILURE = IP_STATUS_BASE + 50, 44 + MAX_IP_STATUS = IP_GENERAL_FAILURE, 45 + IP_PENDING = IP_STATUS_BASE + 255 46 +} 47 + 48 +// IP header Flags values 49 +const byte IP_FLAG_DF = 2; 50 + 51 +// IP Option types 52 +enum : ubyte { 53 + IP_OPT_EOL = 0, 54 + IP_OPT_NOP = 0x01, 55 + IP_OPT_RR = 0x07, 56 + IP_OPT_SECURITY = 0x82, 57 + IP_OPT_LSRR = 0x83, 58 + IP_OPT_SSRR = 0x89, 59 + IP_OPT_TS = 0x44, 60 + IP_OPT_SID = 0x88, 61 + IP_OPT_ROUTER_ALERT = 0x94 62 +} 63 + 64 +const ubyte MAX_OPT_SIZE = 40; 65 + 66 +alias uint IPAddr, IPMask, IP_STATUS; 67 + 68 +struct IP_OPTION_INFORMATION { 69 + ubyte Ttl; 70 + ubyte Tos; 71 + ubyte Flags; 72 + ubyte OptionsSize; 73 + ubyte* OptionsData; 74 +} 75 +alias IP_OPTION_INFORMATION* PIP_OPTION_INFORMATION; 76 + 77 +struct ICMP_ECHO_REPLY { 78 + IPAddr Address; 79 + uint Status; 80 + uint RoundTripTime; 81 + ushort DataSize; 82 + ushort Reserved; 83 + void* Data; 84 + IP_OPTION_INFORMATION Options; 85 +} 86 +alias ICMP_ECHO_REPLY* PICMP_ECHO_REPLY; 87 + 88 +struct IP_ADAPTER_INDEX_MAP { 89 + ULONG Index; 90 + WCHAR[MAX_ADAPTER_NAME] Name; 91 +} 92 +alias IP_ADAPTER_INDEX_MAP* PIP_ADAPTER_INDEX_MAP; 93 + 94 +struct IP_INTERFACE_INFO { 95 + LONG NumAdapters; 96 + IP_ADAPTER_INDEX_MAP[1] _Adapter; 97 + 98 + IP_ADAPTER_INDEX_MAP* Adapter() { return _Adapter.ptr; } 99 +} 100 +alias IP_INTERFACE_INFO* PIP_INTERFACE_INFO; 101 + 102 +struct IP_UNIDIRECTIONAL_ADAPTER_ADDRESS { 103 + ULONG NumAdapters; 104 + IPAddr[1] _Address; 105 + 106 + IPAddr* Address() { return _Address.ptr; } 107 +} 108 +alias IP_UNIDIRECTIONAL_ADAPTER_ADDRESS* PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS;

Added src/win32/iphlpapi.d version [11828d4561dc6f68]

1 +/***********************************************************************\ 2 +* iphlpapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.iphlpapi; 12 + 13 +import win32.ipexport, win32.iprtrmib, win32.iptypes; 14 +private import win32.winbase, win32.windef; 15 + 16 +extern (Windows) { 17 + DWORD AddIPAddress(IPAddr, IPMask, DWORD, PULONG, PULONG); 18 + DWORD CreateIpForwardEntry(PMIB_IPFORWARDROW); 19 + DWORD CreateIpNetEntry(PMIB_IPNETROW); 20 + DWORD CreateProxyArpEntry(DWORD, DWORD, DWORD); 21 + DWORD DeleteIPAddress(ULONG); 22 + DWORD DeleteIpForwardEntry(PMIB_IPFORWARDROW); 23 + DWORD DeleteIpNetEntry(PMIB_IPNETROW); 24 + DWORD DeleteProxyArpEntry(DWORD, DWORD, DWORD); 25 + DWORD EnableRouter(HANDLE*, OVERLAPPED*); 26 + DWORD FlushIpNetTable(DWORD); 27 + DWORD GetAdapterIndex(LPWSTR, PULONG); 28 + DWORD GetAdaptersInfo(PIP_ADAPTER_INFO, PULONG); 29 + DWORD GetBestInterface(IPAddr, PDWORD); 30 + DWORD GetBestRoute(DWORD, DWORD, PMIB_IPFORWARDROW); 31 + DWORD GetFriendlyIfIndex(DWORD); 32 + DWORD GetIcmpStatistics(PMIB_ICMP); 33 + DWORD GetIfEntry(PMIB_IFROW); 34 + DWORD GetIfTable(PMIB_IFTABLE, PULONG, BOOL); 35 + DWORD GetInterfaceInfo(PIP_INTERFACE_INFO, PULONG); 36 + DWORD GetIpAddrTable(PMIB_IPADDRTABLE, PULONG, BOOL); 37 + DWORD GetIpForwardTable(PMIB_IPFORWARDTABLE, PULONG, BOOL); 38 + DWORD GetIpNetTable(PMIB_IPNETTABLE, PULONG, BOOL); 39 + DWORD GetIpStatistics(PMIB_IPSTATS); 40 + DWORD GetNetworkParams(PFIXED_INFO, PULONG); 41 + DWORD GetNumberOfInterfaces(PDWORD); 42 + DWORD GetPerAdapterInfo(ULONG, PIP_PER_ADAPTER_INFO, PULONG); 43 + BOOL GetRTTAndHopCount(IPAddr, PULONG, ULONG, PULONG); 44 + DWORD GetTcpStatistics(PMIB_TCPSTATS); 45 + DWORD GetTcpTable(PMIB_TCPTABLE, PDWORD, BOOL); 46 + DWORD GetUniDirectionalAdapterInfo(PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS, 47 + PULONG); 48 + DWORD GetUdpStatistics(PMIB_UDPSTATS); 49 + DWORD GetUdpTable(PMIB_UDPTABLE, PDWORD, BOOL); 50 + DWORD IpReleaseAddress(PIP_ADAPTER_INDEX_MAP); 51 + DWORD IpRenewAddress(PIP_ADAPTER_INDEX_MAP); 52 + DWORD NotifyAddrChange(PHANDLE, LPOVERLAPPED); 53 + DWORD NotifyRouteChange(PHANDLE, LPOVERLAPPED); 54 + DWORD SendARP(IPAddr, IPAddr, PULONG, PULONG); 55 + DWORD SetIfEntry(PMIB_IFROW); 56 + DWORD SetIpForwardEntry(PMIB_IPFORWARDROW); 57 + DWORD SetIpNetEntry(PMIB_IPNETROW); 58 + DWORD SetIpStatistics(PMIB_IPSTATS); 59 + DWORD SetIpTTL(UINT); 60 + DWORD SetTcpEntry(PMIB_TCPROW); 61 + DWORD UnenableRouter(OVERLAPPED*, LPDWORD); 62 +}

Added src/win32/ipifcons.d version [14fff92b77913fcb]

1 +/***********************************************************************\ 2 +* ipifcons.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.ipifcons; 12 + 13 +// FIXME: check types of constants 14 + 15 +enum { 16 + MIB_IF_ADMIN_STATUS_UP = 1, 17 + MIB_IF_ADMIN_STATUS_DOWN, 18 + MIB_IF_ADMIN_STATUS_TESTING, 19 +} 20 + 21 +enum { 22 + MIB_IF_OPER_STATUS_NON_OPERATIONAL, 23 + MIB_IF_OPER_STATUS_UNREACHABLE, 24 + MIB_IF_OPER_STATUS_DISCONNECTED, 25 + MIB_IF_OPER_STATUS_CONNECTING, 26 + MIB_IF_OPER_STATUS_CONNECTED, 27 + MIB_IF_OPER_STATUS_OPERATIONAL // = 5 28 +} 29 + 30 +enum { 31 + MIB_IF_TYPE_OTHER = 1, 32 + MIB_IF_TYPE_ETHERNET = 6, 33 + MIB_IF_TYPE_TOKENRING = 9, 34 + MIB_IF_TYPE_FDDI = 15, 35 + MIB_IF_TYPE_PPP = 23, 36 + MIB_IF_TYPE_LOOPBACK = 24, 37 + MIB_IF_TYPE_SLIP = 28 38 +}

Added src/win32/iprtrmib.d version [ddb714521d78c352]

1 +/***********************************************************************\ 2 +* iprtrmib.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.iprtrmib; 12 + 13 +import win32.ipifcons; 14 +private import win32.windef; 15 + 16 +// FIXME: check types of constants 17 + 18 +const size_t 19 + MAXLEN_PHYSADDR = 8, 20 + MAXLEN_IFDESCR = 256, 21 + MAX_INTERFACE_NAME_LEN = 256; 22 + 23 +enum { 24 + MIB_IPNET_TYPE_OTHER = 1, 25 + MIB_IPNET_TYPE_INVALID, 26 + MIB_IPNET_TYPE_DYNAMIC, 27 + MIB_IPNET_TYPE_STATIC 28 +} 29 + 30 +enum { 31 + MIB_TCP_RTO_OTHER = 1, 32 + MIB_TCP_RTO_CONSTANT, 33 + MIB_TCP_RTO_RSRE, 34 + MIB_TCP_RTO_VANJ 35 +} 36 + 37 +enum { 38 + MIB_TCP_STATE_CLOSED = 1, 39 + MIB_TCP_STATE_LISTEN, 40 + MIB_TCP_STATE_SYN_SENT, 41 + MIB_TCP_STATE_SYN_RCVD, 42 + MIB_TCP_STATE_ESTAB, 43 + MIB_TCP_STATE_FIN_WAIT1, 44 + MIB_TCP_STATE_FIN_WAIT2, 45 + MIB_TCP_STATE_CLOSE_WAIT, 46 + MIB_TCP_STATE_CLOSING, 47 + MIB_TCP_STATE_LAST_ACK, 48 + MIB_TCP_STATE_TIME_WAIT, 49 + MIB_TCP_STATE_DELETE_TCB // = 12 50 +} 51 + 52 +const DWORD 53 + MIB_USE_CURRENT_TTL = -1, 54 + MIB_USE_CURRENT_FORWARDING = -1, 55 + MIB_TCP_MAXCONN_DYNAMIC = -1; 56 + 57 +struct MIB_IPADDRROW { 58 + DWORD dwAddr; 59 + DWORD dwIndex; 60 + DWORD dwMask; 61 + DWORD dwBCastAddr; 62 + DWORD dwReasmSize; 63 + ushort unused1; 64 + ushort unused2; 65 +} 66 +alias MIB_IPADDRROW* PMIB_IPADDRROW; 67 + 68 +struct MIB_IPADDRTABLE { 69 + DWORD dwNumEntries; 70 + MIB_IPADDRROW[1] _table; 71 + 72 + MIB_IPADDRROW* table() { return _table.ptr; } 73 +} 74 +alias MIB_IPADDRTABLE* PMIB_IPADDRTABLE; 75 + 76 +struct MIB_IPFORWARDROW { 77 + DWORD dwForwardDest; 78 + DWORD dwForwardMask; 79 + DWORD dwForwardPolicy; 80 + DWORD dwForwardNextHop; 81 + DWORD dwForwardIfIndex; 82 + DWORD dwForwardType; 83 + DWORD dwForwardProto; 84 + DWORD dwForwardAge; 85 + DWORD dwForwardNextHopAS; 86 + DWORD dwForwardMetric1; 87 + DWORD dwForwardMetric2; 88 + DWORD dwForwardMetric3; 89 + DWORD dwForwardMetric4; 90 + DWORD dwForwardMetric5; 91 +} 92 +alias MIB_IPFORWARDROW* PMIB_IPFORWARDROW; 93 + 94 +struct MIB_IPFORWARDTABLE { 95 + DWORD dwNumEntries; 96 + MIB_IPFORWARDROW[1] _table; 97 + 98 + MIB_IPFORWARDROW* table() { return _table.ptr; } 99 +} 100 +alias MIB_IPFORWARDTABLE* PMIB_IPFORWARDTABLE; 101 + 102 +struct MIB_IPNETROW { 103 + DWORD dwIndex; 104 + DWORD dwPhysAddrLen; 105 + BYTE[MAXLEN_PHYSADDR] bPhysAddr; 106 + DWORD dwAddr; 107 + DWORD dwType; 108 +} 109 +alias MIB_IPNETROW* PMIB_IPNETROW; 110 + 111 +struct MIB_IPNETTABLE { 112 + DWORD dwNumEntries; 113 + MIB_IPNETROW[1] _table; 114 + 115 + MIB_IPNETROW* table() { return _table.ptr; } 116 +} 117 +alias MIB_IPNETTABLE* PMIB_IPNETTABLE; 118 + 119 +struct MIBICMPSTATS { 120 + DWORD dwMsgs; 121 + DWORD dwErrors; 122 + DWORD dwDestUnreachs; 123 + DWORD dwTimeExcds; 124 + DWORD dwParmProbs; 125 + DWORD dwSrcQuenchs; 126 + DWORD dwRedirects; 127 + DWORD dwEchos; 128 + DWORD dwEchoReps; 129 + DWORD dwTimestamps; 130 + DWORD dwTimestampReps; 131 + DWORD dwAddrMasks; 132 + DWORD dwAddrMaskReps; 133 +} 134 +alias MIBICMPSTATS* PMIBICMPSTATS; 135 + 136 +struct MIBICMPINFO { 137 + MIBICMPSTATS icmpInStats; 138 + MIBICMPSTATS icmpOutStats; 139 +} 140 +alias MIBICMPINFO* PMIBICMPINFO; 141 + 142 +struct MIB_ICMP { 143 + MIBICMPINFO stats; 144 +} 145 +alias MIB_ICMP* PMIB_ICMP; 146 + 147 +struct MIB_IFROW { 148 + WCHAR[MAX_INTERFACE_NAME_LEN] wszName; 149 + DWORD dwIndex; 150 + DWORD dwType; 151 + DWORD dwMtu; 152 + DWORD dwSpeed; 153 + DWORD dwPhysAddrLen; 154 + BYTE[MAXLEN_PHYSADDR] bPhysAddr; 155 + DWORD dwAdminStatus; 156 + DWORD dwOperStatus; 157 + DWORD dwLastChange; 158 + DWORD dwInOctets; 159 + DWORD dwInUcastPkts; 160 + DWORD dwInNUcastPkts; 161 + DWORD dwInDiscards; 162 + DWORD dwInErrors; 163 + DWORD dwInUnknownProtos; 164 + DWORD dwOutOctets; 165 + DWORD dwOutUcastPkts; 166 + DWORD dwOutNUcastPkts; 167 + DWORD dwOutDiscards; 168 + DWORD dwOutErrors; 169 + DWORD dwOutQLen; 170 + DWORD dwDescrLen; 171 + BYTE[MAXLEN_IFDESCR] bDescr; 172 +} 173 +alias MIB_IFROW* PMIB_IFROW; 174 + 175 +struct MIB_IFTABLE { 176 + DWORD dwNumEntries; 177 + MIB_IFROW[1] _table; 178 + 179 + MIB_IFROW* table() { return _table.ptr; } 180 +} 181 +alias MIB_IFTABLE* PMIB_IFTABLE; 182 + 183 +struct MIB_IPSTATS { 184 + DWORD dwForwarding; 185 + DWORD dwDefaultTTL; 186 + DWORD dwInReceives; 187 + DWORD dwInHdrErrors; 188 + DWORD dwInAddrErrors; 189 + DWORD dwForwDatagrams; 190 + DWORD dwInUnknownProtos; 191 + DWORD dwInDiscards; 192 + DWORD dwInDelivers; 193 + DWORD dwOutRequests; 194 + DWORD dwRoutingDiscards; 195 + DWORD dwOutDiscards; 196 + DWORD dwOutNoRoutes; 197 + DWORD dwReasmTimeout; 198 + DWORD dwReasmReqds; 199 + DWORD dwReasmOks; 200 + DWORD dwReasmFails; 201 + DWORD dwFragOks; 202 + DWORD dwFragFails; 203 + DWORD dwFragCreates; 204 + DWORD dwNumIf; 205 + DWORD dwNumAddr; 206 + DWORD dwNumRoutes; 207 +} 208 +alias MIB_IPSTATS* PMIB_IPSTATS; 209 + 210 +struct MIB_TCPSTATS { 211 + DWORD dwRtoAlgorithm; 212 + DWORD dwRtoMin; 213 + DWORD dwRtoMax; 214 + DWORD dwMaxConn; 215 + DWORD dwActiveOpens; 216 + DWORD dwPassiveOpens; 217 + DWORD dwAttemptFails; 218 + DWORD dwEstabResets; 219 + DWORD dwCurrEstab; 220 + DWORD dwInSegs; 221 + DWORD dwOutSegs; 222 + DWORD dwRetransSegs; 223 + DWORD dwInErrs; 224 + DWORD dwOutRsts; 225 + DWORD dwNumConns; 226 +} 227 +alias MIB_TCPSTATS* PMIB_TCPSTATS; 228 + 229 +struct MIB_TCPROW { 230 + DWORD dwState; 231 + DWORD dwLocalAddr; 232 + DWORD dwLocalPort; 233 + DWORD dwRemoteAddr; 234 + DWORD dwRemotePort; 235 +} 236 +alias MIB_TCPROW* PMIB_TCPROW; 237 + 238 +struct MIB_TCPTABLE { 239 + DWORD dwNumEntries; 240 + MIB_TCPROW[1] _table; 241 + 242 + MIB_TCPROW* table() { return _table.ptr; } 243 +} 244 +alias MIB_TCPTABLE* PMIB_TCPTABLE; 245 + 246 +struct MIB_UDPSTATS { 247 + DWORD dwInDatagrams; 248 + DWORD dwNoPorts; 249 + DWORD dwInErrors; 250 + DWORD dwOutDatagrams; 251 + DWORD dwNumAddrs; 252 +} 253 +alias MIB_UDPSTATS* PMIB_UDPSTATS; 254 + 255 +struct MIB_UDPROW { 256 + DWORD dwLocalAddr; 257 + DWORD dwLocalPort; 258 +} 259 +alias MIB_UDPROW* PMIB_UDPROW; 260 + 261 +struct MIB_UDPTABLE { 262 + DWORD dwNumEntries; 263 + MIB_UDPROW[1] _table; 264 + 265 + MIB_UDPROW* table() { return _table.ptr; } 266 +} 267 +alias MIB_UDPTABLE* PMIB_UDPTABLE;

Added src/win32/iptypes.d version [93c2ee9c88a504a9]

1 +/***********************************************************************\ 2 +* iptypes.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.iptypes; 12 + 13 +import win32.windef; 14 +version(Tango){ 15 + private import tango.stdc.time; 16 +}else{ 17 + private import std.c.time; 18 +} 19 +//#include <sys/types.h> 20 + 21 +const size_t 22 + DEFAULT_MINIMUM_ENTITIES = 32, 23 + MAX_ADAPTER_ADDRESS_LENGTH = 8, 24 + MAX_ADAPTER_DESCRIPTION_LENGTH = 128, 25 + MAX_ADAPTER_NAME_LENGTH = 256, 26 + MAX_DOMAIN_NAME_LEN = 128, 27 + MAX_HOSTNAME_LEN = 128, 28 + MAX_SCOPE_ID_LEN = 256; 29 + 30 +const UINT 31 + BROADCAST_NODETYPE = 1, 32 + PEER_TO_PEER_NODETYPE = 2, 33 + MIXED_NODETYPE = 4, 34 + HYBRID_NODETYPE = 8; 35 + 36 +enum : UINT { 37 + IF_OTHER_ADAPTERTYPE, 38 + IF_ETHERNET_ADAPTERTYPE, 39 + IF_TOKEN_RING_ADAPTERTYPE, 40 + IF_FDDI_ADAPTERTYPE, 41 + IF_PPP_ADAPTERTYPE, 42 + IF_LOOPBACK_ADAPTERTYPE // = 5 43 +} 44 + 45 +struct IP_ADDRESS_STRING { 46 + char[16] String; 47 +} 48 +alias IP_ADDRESS_STRING IP_MASK_STRING; 49 +alias IP_ADDRESS_STRING* PIP_ADDRESS_STRING, PIP_MASK_STRING; 50 + 51 +struct IP_ADDR_STRING { 52 + IP_ADDR_STRING* Next; 53 + IP_ADDRESS_STRING IpAddress; 54 + IP_MASK_STRING IpMask; 55 + DWORD Context; 56 +} 57 +alias IP_ADDR_STRING* PIP_ADDR_STRING; 58 + 59 +struct IP_ADAPTER_INFO { 60 + IP_ADAPTER_INFO* Next; 61 + DWORD ComboIndex; 62 + char[MAX_ADAPTER_NAME_LENGTH+4] AdapterName; 63 + char[MAX_ADAPTER_DESCRIPTION_LENGTH+4] Description; 64 + UINT AddressLength; 65 + BYTE[MAX_ADAPTER_ADDRESS_LENGTH] Address; 66 + DWORD Index; 67 + UINT Type; 68 + UINT DhcpEnabled; 69 + PIP_ADDR_STRING CurrentIpAddress; 70 + IP_ADDR_STRING IpAddressList; 71 + IP_ADDR_STRING GatewayList; 72 + IP_ADDR_STRING DhcpServer; 73 + BOOL HaveWins; 74 + IP_ADDR_STRING PrimaryWinsServer; 75 + IP_ADDR_STRING SecondaryWinsServer; 76 + time_t LeaseObtained; 77 + time_t LeaseExpires; 78 +} 79 +alias IP_ADAPTER_INFO* PIP_ADAPTER_INFO; 80 + 81 +struct IP_PER_ADAPTER_INFO { 82 + UINT AutoconfigEnabled; 83 + UINT AutoconfigActive; 84 + PIP_ADDR_STRING CurrentDnsServer; 85 + IP_ADDR_STRING DnsServerList; 86 +} 87 +alias IP_PER_ADAPTER_INFO* PIP_PER_ADAPTER_INFO; 88 + 89 +struct FIXED_INFO { 90 + char[MAX_HOSTNAME_LEN+4] HostName; 91 + char[MAX_DOMAIN_NAME_LEN+4] DomainName; 92 + PIP_ADDR_STRING CurrentDnsServer; 93 + IP_ADDR_STRING DnsServerList; 94 + UINT NodeType; 95 + char[MAX_SCOPE_ID_LEN+4] ScopeId; 96 + UINT EnableRouting; 97 + UINT EnableProxy; 98 + UINT EnableDns; 99 +} 100 +alias FIXED_INFO* PFIXED_INFO;

Added src/win32/isguids.d version [09bcf98ace7cad90]

1 +/***********************************************************************\ 2 +* isguids.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.isguids; 12 + 13 +private import win32.basetyps; 14 + 15 +extern (C) extern const GUID 16 + CLSID_InternetShortcut, 17 + IID_IUniformResourceLocator;

Added src/win32/lm.d version [17722dcea6632fed]

1 +/***********************************************************************\ 2 +* lm.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lm; 11 + 12 +version (WindowsVista) { 13 + version = WIN32_WINNT_ONLY; 14 +} else version (Windows2003) { 15 + version = WIN32_WINNT_ONLY; 16 +} else version (WindowsXP) { 17 + version = WIN32_WINNT_ONLY; 18 +} else version (WindowsNTonly) { 19 + version = WIN32_WINNT_ONLY; 20 +} 21 + 22 +public import win32.lmcons; 23 +public import win32.lmaccess; 24 +public import win32.lmalert; 25 +public import win32.lmat; 26 +public import win32.lmerr; 27 +public import win32.lmshare; 28 +public import win32.lmapibuf; 29 +public import win32.lmremutl; 30 +public import win32.lmrepl; 31 +public import win32.lmuse; 32 +public import win32.lmstats; 33 + 34 +version (WIN32_WINNT_ONLY) { 35 + public import win32.lmwksta; 36 + public import win32.lmserver; 37 +} 38 +version (WindowsVista) { 39 + public import win32.lmmsg; 40 +} else version (Windows2003) { 41 + public import win32.lmmsg; 42 +} else version (WindowsXP) { 43 + public import win32.lmmsg; 44 +} 45 + 46 +// FIXME: Everything in these next files seems to be deprecated! 47 +import win32.lmaudit; 48 +import win32.lmchdev; // can't find many docs for functions from this file. 49 +import win32.lmconfig; 50 +import win32.lmerrlog; 51 +import win32.lmsvc; 52 +import win32.lmsname; // in MinGW, this was publicly included by lm.lmsvc

Added src/win32/lmaccess.d version [eb215384d5061fbb]

1 +/***********************************************************************\ 2 +* lmaccess.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmaccess; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +/** 14 + Changes relative to MinGW: 15 + USER_POSIX_ID_PARMNUM and GROUP_POSIX_ID_PARMNUM aren't in MinGW or in 16 + the Platform SDK docs, so they have been dropped from this file. 17 +*/ 18 + 19 +private import win32.lmcons, win32.windef; 20 + 21 +const wchar[] 22 + GROUP_SPECIALGRP_USERS = "USERS", 23 + GROUP_SPECIALGRP_ADMINS = "ADMINS", 24 + GROUP_SPECIALGRP_GUESTS = "GUESTS", 25 + GROUP_SPECIALGRP_LOCAL = "LOCAL"; 26 + 27 +const ACCESS_LETTERS = "RWCXDAP "; 28 + 29 +const NETLOGON_CONTROL_QUERY=1; 30 +const NETLOGON_CONTROL_REPLICATE=2; 31 +const NETLOGON_CONTROL_SYNCHRONIZE=3; 32 +const NETLOGON_CONTROL_PDC_REPLICATE=4; 33 +const NETLOGON_CONTROL_REDISCOVER=5; 34 +const NETLOGON_CONTROL_TC_QUERY=6; 35 +const NETLOGON_CONTROL_BACKUP_CHANGE_LOG=65532; 36 +const NETLOGON_CONTROL_TRUNCATE_LOG=65533; 37 +const NETLOGON_CONTROL_SET_DBFLAG=65534; 38 +const NETLOGON_CONTROL_BREAKPOINT=65535; 39 + 40 +const UF_SCRIPT=1; 41 +const UF_ACCOUNTDISABLE=2; 42 +const UF_HOMEDIR_REQUIRED=8; 43 +const UF_LOCKOUT=16; 44 +const UF_PASSWD_NOTREQD=32; 45 +const UF_PASSWD_CANT_CHANGE=64; 46 +const UF_TEMP_DUPLICATE_ACCOUNT=256; 47 +const UF_NORMAL_ACCOUNT=512; 48 +const UF_INTERDOMAIN_TRUST_ACCOUNT=2048; 49 +const UF_WORKSTATION_TRUST_ACCOUNT=4096; 50 +const UF_SERVER_TRUST_ACCOUNT=8192; 51 +const UF_MNS_LOGON_ACCOUNT=131072; 52 +const UF_MACHINE_ACCOUNT_MASK=UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT; 53 +const UF_ACCOUNT_TYPE_MASK=UF_TEMP_DUPLICATE_ACCOUNT|UF_NORMAL_ACCOUNT|UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT; 54 +const UF_DONT_EXPIRE_PASSWD=65536; 55 +const UF_SETTABLE_BITS=UF_SCRIPT|UF_ACCOUNTDISABLE|UF_LOCKOUT|UF_HOMEDIR_REQUIRED|UF_PASSWD_NOTREQD|UF_PASSWD_CANT_CHANGE|UF_ACCOUNT_TYPE_MASK|UF_DONT_EXPIRE_PASSWD; 56 + 57 +const FILTER_TEMP_DUPLICATE_ACCOUNT=1; 58 +const FILTER_NORMAL_ACCOUNT=2; 59 +const FILTER_INTERDOMAIN_TRUST_ACCOUNT=8; 60 +const FILTER_WORKSTATION_TRUST_ACCOUNT=16; 61 +const FILTER_SERVER_TRUST_ACCOUNT=32; 62 + 63 +const LG_INCLUDE_INDIRECT=1; 64 + 65 +const AF_OP_PRINT=1; 66 +const AF_OP_COMM=2; 67 +const AF_OP_SERVER=4; 68 +const AF_OP_ACCOUNTS=8; 69 +const AF_SETTABLE_BITS=(AF_OP_PRINT|AF_OP_COMM|AF_OP_SERVER|AF_OP_ACCOUNTS); 70 + 71 +const UAS_ROLE_STANDALONE=0; 72 +const UAS_ROLE_MEMBER=1; 73 +const UAS_ROLE_BACKUP=2; 74 +const UAS_ROLE_PRIMARY=3; 75 + 76 +const USER_NAME_PARMNUM=1; 77 +const USER_PASSWORD_PARMNUM=3; 78 +const USER_PASSWORD_AGE_PARMNUM=4; 79 +const USER_PRIV_PARMNUM=5; 80 +const USER_HOME_DIR_PARMNUM=6; 81 +const USER_COMMENT_PARMNUM=7; 82 +const USER_FLAGS_PARMNUM=8; 83 +const USER_SCRIPT_PATH_PARMNUM=9; 84 +const USER_AUTH_FLAGS_PARMNUM=10; 85 +const USER_FULL_NAME_PARMNUM=11; 86 +const USER_USR_COMMENT_PARMNUM=12; 87 +const USER_PARMS_PARMNUM=13; 88 +const USER_WORKSTATIONS_PARMNUM=14; 89 +const USER_LAST_LOGON_PARMNUM=15; 90 +const USER_LAST_LOGOFF_PARMNUM=16; 91 +const USER_ACCT_EXPIRES_PARMNUM=17; 92 +const USER_MAX_STORAGE_PARMNUM=18; 93 +const USER_UNITS_PER_WEEK_PARMNUM=19; 94 +const USER_LOGON_HOURS_PARMNUM=20; 95 +const USER_PAD_PW_COUNT_PARMNUM=21; 96 +const USER_NUM_LOGONS_PARMNUM=22; 97 +const USER_LOGON_SERVER_PARMNUM=23; 98 +const USER_COUNTRY_CODE_PARMNUM=24; 99 +const USER_CODE_PAGE_PARMNUM=25; 100 +const USER_PRIMARY_GROUP_PARMNUM=51; 101 +const USER_PROFILE=52; 102 +const USER_PROFILE_PARMNUM=52; 103 +const USER_HOME_DIR_DRIVE_PARMNUM=53; 104 + 105 +const USER_NAME_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_NAME_PARMNUM; 106 +const USER_PASSWORD_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_PARMNUM; 107 +const USER_PASSWORD_AGE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_AGE_PARMNUM; 108 +const USER_PRIV_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_PRIV_PARMNUM; 109 +const USER_HOME_DIR_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_PARMNUM; 110 +const USER_COMMENT_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_COMMENT_PARMNUM; 111 +const USER_FLAGS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_FLAGS_PARMNUM; 112 +const USER_SCRIPT_PATH_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_SCRIPT_PATH_PARMNUM; 113 +const USER_AUTH_FLAGS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_AUTH_FLAGS_PARMNUM; 114 +const USER_FULL_NAME_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_FULL_NAME_PARMNUM; 115 +const USER_USR_COMMENT_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_USR_COMMENT_PARMNUM; 116 +const USER_PARMS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_PARMS_PARMNUM; 117 +const USER_WORKSTATIONS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_WORKSTATIONS_PARMNUM; 118 +const USER_LAST_LOGON_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGON_PARMNUM; 119 +const USER_LAST_LOGOFF_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGOFF_PARMNUM; 120 +const USER_ACCT_EXPIRES_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_ACCT_EXPIRES_PARMNUM; 121 +const USER_MAX_STORAGE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_MAX_STORAGE_PARMNUM; 122 +const USER_UNITS_PER_WEEK_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_UNITS_PER_WEEK_PARMNUM; 123 +const USER_LOGON_HOURS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_LOGON_HOURS_PARMNUM; 124 +const USER_PAD_PW_COUNT_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_PAD_PW_COUNT_PARMNUM; 125 +const USER_NUM_LOGONS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_NUM_LOGONS_PARMNUM; 126 +const USER_LOGON_SERVER_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_LOGON_SERVER_PARMNUM; 127 +const USER_COUNTRY_CODE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_COUNTRY_CODE_PARMNUM; 128 +const USER_CODE_PAGE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_CODE_PAGE_PARMNUM; 129 +const USER_PRIMARY_GROUP_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_PRIMARY_GROUP_PARMNUM; 130 +// USER_POSIX_ID_PARMNUM isn't in MinGW or in the Platform SDK docs. 131 +//const USER_POSIX_ID_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_POSIX_ID_PARMNUM; 132 +const USER_HOME_DIR_DRIVE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_DRIVE_PARMNUM; 133 + 134 +const NULL_USERSETINFO_PASSWD=" "; 135 +const ULONG TIMEQ_FOREVER=-1; 136 +const ULONG USER_MAXSTORAGE_UNLIMITED=-1; 137 +const ULONG USER_NO_LOGOFF=-1; 138 +const UNITS_PER_DAY=24; 139 +const UNITS_PER_WEEK=168; 140 +const USER_PRIV_MASK=3; 141 +const USER_PRIV_GUEST=0; 142 +const USER_PRIV_USER=1; 143 +const USER_PRIV_ADMIN=2; 144 +const MAX_PASSWD_LEN=PWLEN; 145 +const DEF_MIN_PWLEN=6; 146 +const DEF_PWUNIQUENESS=5; 147 +const DEF_MAX_PWHIST=8; 148 +const DEF_MAX_PWAGE=TIMEQ_FOREVER; 149 +const DEF_MIN_PWAGE=0; 150 +const ULONG DEF_FORCE_LOGOFF=0xffffffff; 151 +const DEF_MAX_BADPW=0; 152 +const ONE_DAY=86400; 153 +const VALIDATED_LOGON=0; 154 +const PASSWORD_EXPIRED=2; 155 +const NON_VALIDATED_LOGON=3; 156 +const VALID_LOGOFF=1; 157 + 158 +const MODALS_MIN_PASSWD_LEN_PARMNUM=1; 159 +const MODALS_MAX_PASSWD_AGE_PARMNUM=2; 160 +const MODALS_MIN_PASSWD_AGE_PARMNUM=3; 161 +const MODALS_FORCE_LOGOFF_PARMNUM=4; 162 +const MODALS_PASSWD_HIST_LEN_PARMNUM=5; 163 +const MODALS_ROLE_PARMNUM=6; 164 +const MODALS_PRIMARY_PARMNUM=7; 165 +const MODALS_DOMAIN_NAME_PARMNUM=8; 166 +const MODALS_DOMAIN_ID_PARMNUM=9; 167 +const MODALS_LOCKOUT_DURATION_PARMNUM=10; 168 +const MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM=11; 169 +const MODALS_LOCKOUT_THRESHOLD_PARMNUM=12; 170 + 171 +const MODALS_MIN_PASSWD_LEN_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_LEN_PARMNUM); 172 +const MODALS_MAX_PASSWD_AGE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_MAX_PASSWD_AGE_PARMNUM); 173 +const MODALS_MIN_PASSWD_AGE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_AGE_PARMNUM); 174 +const MODALS_FORCE_LOGOFF_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_FORCE_LOGOFF_PARMNUM); 175 +const MODALS_PASSWD_HIST_LEN_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_PASSWD_HIST_LEN_PARMNUM); 176 +const MODALS_ROLE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_ROLE_PARMNUM); 177 +const MODALS_PRIMARY_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_PRIMARY_PARMNUM); 178 +const MODALS_DOMAIN_NAME_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_NAME_PARMNUM); 179 +const MODALS_DOMAIN_ID_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_ID_PARMNUM); 180 + 181 +const GROUPIDMASK=0x8000; 182 +const GROUP_ALL_PARMNUM=0; 183 +const GROUP_NAME_PARMNUM=1; 184 +const GROUP_COMMENT_PARMNUM=2; 185 +const GROUP_ATTRIBUTES_PARMNUM=3; 186 + 187 +const GROUP_ALL_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + GROUP_ALL_PARMNUM; 188 +const GROUP_NAME_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + GROUP_NAME_PARMNUM; 189 +const GROUP_COMMENT_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + GROUP_COMMENT_PARMNUM; 190 +const GROUP_ATTRIBUTES_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + GROUP_ATTRIBUTES_PARMNUM; 191 +// GROUP_POSIX_ID_PARMNUM isn't in MinGW or in the Platform SDK docs. 192 +//const GROUP_POSIX_ID_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + GROUP_POSIX_ID_PARMNUM; 193 + 194 +const LOCALGROUP_NAME_PARMNUM=1; 195 +const LOCALGROUP_COMMENT_PARMNUM=2; 196 +const MAXPERMENTRIES=64; 197 +const ACCESS_NONE=0; 198 +const ACCESS_READ=1; 199 +const ACCESS_WRITE=2; 200 +const ACCESS_CREATE=4; 201 +const ACCESS_EXEC=8; 202 +const ACCESS_DELETE=16; 203 +const ACCESS_ATRIB=32; 204 +const ACCESS_PERM=64; 205 +const ACCESS_ALL = ACCESS_READ|ACCESS_WRITE|ACCESS_CREATE|ACCESS_EXEC|ACCESS_DELETE|ACCESS_ATRIB|ACCESS_PERM; 206 +const ACCESS_GROUP=0x8000; 207 +const ACCESS_AUDIT=1; 208 +const ACCESS_SUCCESS_OPEN=16; 209 +const ACCESS_SUCCESS_WRITE=32; 210 +const ACCESS_SUCCESS_DELETE=64; 211 +const ACCESS_SUCCESS_ACL=128; 212 +const ACCESS_SUCCESS_MASK=240; 213 +const ACCESS_FAIL_OPEN=256; 214 +const ACCESS_FAIL_WRITE=512; 215 +const ACCESS_FAIL_DELETE=1024; 216 +const ACCESS_FAIL_ACL=2048; 217 +const ACCESS_FAIL_MASK=3840; 218 +const ACCESS_FAIL_SHIFT=4; 219 +const ACCESS_RESOURCE_NAME_PARMNUM=1; 220 +const ACCESS_ATTR_PARMNUM=2; 221 +const ACCESS_COUNT_PARMNUM=3; 222 +const ACCESS_ACCESS_LIST_PARMNUM=4; 223 + 224 +const ACCESS_RESOURCE_NAME_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+ACCESS_RESOURCE_NAME_PARMNUM); 225 +const ACCESS_ATTR_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+ACCESS_ATTR_PARMNUM); 226 +const ACCESS_COUNT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+ACCESS_COUNT_PARMNUM); 227 +const ACCESS_ACCESS_LIST_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+ACCESS_ACCESS_LIST_PARMNUM); 228 + 229 +const NETLOGON_REPLICATION_NEEDED=1; 230 +const NETLOGON_REPLICATION_IN_PROGRESS=2; 231 +const NETLOGON_FULL_SYNC_REPLICATION=4; 232 +const NETLOGON_REDO_NEEDED=8; 233 + 234 +struct USER_INFO_0 { 235 + LPWSTR usri0_name; 236 +} 237 +alias USER_INFO_0* PUSER_INFO_0, LPUSER_INFO_0; 238 + 239 +struct USER_INFO_1{ 240 + LPWSTR usri1_name; 241 + LPWSTR usri1_password; 242 + DWORD usri1_password_age; 243 + DWORD usri1_priv; 244 + LPWSTR usri1_home_dir; 245 + LPWSTR usri1_comment; 246 + DWORD usri1_flags; 247 + LPWSTR usri1_script_path; 248 +} 249 +alias USER_INFO_1* PUSER_INFO_1, LPUSER_INFO_1; 250 + 251 +struct USER_INFO_2{ 252 + LPWSTR usri2_name; 253 + LPWSTR usri2_password; 254 + DWORD usri2_password_age; 255 + DWORD usri2_priv; 256 + LPWSTR usri2_home_dir; 257 + LPWSTR usri2_comment; 258 + DWORD usri2_flags; 259 + LPWSTR usri2_script_path; 260 + DWORD usri2_auth_flags; 261 + LPWSTR usri2_full_name; 262 + LPWSTR usri2_usr_comment; 263 + LPWSTR usri2_parms; 264 + LPWSTR usri2_workstations; 265 + DWORD usri2_last_logon; 266 + DWORD usri2_last_logoff; 267 + DWORD usri2_acct_expires; 268 + DWORD usri2_max_storage; 269 + DWORD usri2_units_per_week; 270 + PBYTE usri2_logon_hours; 271 + DWORD usri2_bad_pw_count; 272 + DWORD usri2_num_logons; 273 + LPWSTR usri2_logon_server; 274 + DWORD usri2_country_code; 275 + DWORD usri2_code_page; 276 +} 277 +alias USER_INFO_2* PUSER_INFO_2, LPUSER_INFO_2; 278 + 279 +struct USER_INFO_3{ 280 + LPWSTR usri3_name; 281 + LPWSTR usri3_password; 282 + DWORD usri3_password_age; 283 + DWORD usri3_priv; 284 + LPWSTR usri3_home_dir; 285 + LPWSTR usri3_comment; 286 + DWORD usri3_flags; 287 + LPWSTR usri3_script_path; 288 + DWORD usri3_auth_flags; 289 + LPWSTR usri3_full_name; 290 + LPWSTR usri3_usr_comment; 291 + LPWSTR usri3_parms; 292 + LPWSTR usri3_workstations; 293 + DWORD usri3_last_logon; 294 + DWORD usri3_last_logoff; 295 + DWORD usri3_acct_expires; 296 + DWORD usri3_max_storage; 297 + DWORD usri3_units_per_week; 298 + PBYTE usri3_logon_hours; 299 + DWORD usri3_bad_pw_count; 300 + DWORD usri3_num_logons; 301 + LPWSTR usri3_logon_server; 302 + DWORD usri3_country_code; 303 + DWORD usri3_code_page; 304 + DWORD usri3_user_id; 305 + DWORD usri3_primary_group_id; 306 + LPWSTR usri3_profile; 307 + LPWSTR usri3_home_dir_drive; 308 + DWORD usri3_password_expired; 309 +} 310 +alias USER_INFO_3* PUSER_INFO_3, LPUSER_INFO_3; 311 + 312 +struct USER_INFO_10{ 313 + LPWSTR usri10_name; 314 + LPWSTR usri10_comment; 315 + LPWSTR usri10_usr_comment; 316 + LPWSTR usri10_full_name; 317 +} 318 +alias USER_INFO_10* PUSER_INFO_10, LPUSER_INFO_10; 319 + 320 +struct USER_INFO_11{ 321 + LPWSTR usri11_name; 322 + LPWSTR usri11_comment; 323 + LPWSTR usri11_usr_comment; 324 + LPWSTR usri11_full_name; 325 + DWORD usri11_priv; 326 + DWORD usri11_auth_flags; 327 + DWORD usri11_password_age; 328 + LPWSTR usri11_home_dir; 329 + LPWSTR usri11_parms; 330 + DWORD usri11_last_logon; 331 + DWORD usri11_last_logoff; 332 + DWORD usri11_bad_pw_count; 333 + DWORD usri11_num_logons; 334 + LPWSTR usri11_logon_server; 335 + DWORD usri11_country_code; 336 + LPWSTR usri11_workstations; 337 + DWORD usri11_max_storage; 338 + DWORD usri11_units_per_week; 339 + PBYTE usri11_logon_hours; 340 + DWORD usri11_code_page; 341 +} 342 +alias USER_INFO_11* PUSER_INFO_11, LPUSER_INFO_11; 343 + 344 +struct USER_INFO_20 { 345 + LPWSTR usri20_name; 346 + LPWSTR usri20_full_name; 347 + LPWSTR usri20_comment; 348 + DWORD usri20_flags; 349 + DWORD usri20_user_id; 350 +} 351 +alias USER_INFO_20* PUSER_INFO_20, LPUSER_INFO_20; 352 + 353 +struct USER_INFO_21 { 354 + BYTE usri21_password[ENCRYPTED_PWLEN]; 355 +} 356 +alias USER_INFO_21* PUSER_INFO_21, LPUSER_INFO_21; 357 + 358 +struct USER_INFO_22{ 359 + LPWSTR usri22_name; 360 + BYTE usri22_password[ENCRYPTED_PWLEN]; 361 + DWORD usri22_password_age; 362 + DWORD usri22_priv; 363 + LPWSTR usri22_home_dir; 364 + LPWSTR usri22_comment; 365 + DWORD usri22_flags; 366 + LPWSTR usri22_script_path; 367 + DWORD usri22_auth_flags; 368 + LPWSTR usri22_full_name; 369 + LPWSTR usri22_usr_comment; 370 + LPWSTR usri22_parms; 371 + LPWSTR usri22_workstations; 372 + DWORD usri22_last_logon; 373 + DWORD usri22_last_logoff; 374 + DWORD usri22_acct_expires; 375 + DWORD usri22_max_storage; 376 + DWORD usri22_units_per_week; 377 + PBYTE usri22_logon_hours; 378 + DWORD usri22_bad_pw_count; 379 + DWORD usri22_num_logons; 380 + LPWSTR usri22_logon_server; 381 + DWORD usri22_country_code; 382 + DWORD usri22_code_page; 383 +} 384 +alias USER_INFO_22* PUSER_INFO_22, LPUSER_INFO_22; 385 + 386 +struct USER_INFO_1003{ 387 + LPWSTR usri1003_password; 388 +} 389 +alias USER_INFO_1003* PUSER_INFO_1003, LPUSER_INFO_1003; 390 + 391 +struct USER_INFO_1005{ 392 + DWORD usri1005_priv; 393 +} 394 +alias USER_INFO_1005* PUSER_INFO_1005, LPUSER_INFO_1005; 395 + 396 +struct USER_INFO_1006{ 397 + LPWSTR usri1006_home_dir; 398 +} 399 +alias USER_INFO_1006* PUSER_INFO_1006, LPUSER_INFO_1006; 400 + 401 +struct USER_INFO_1007{ 402 + LPWSTR usri1007_comment; 403 +} 404 +alias USER_INFO_1007* PUSER_INFO_1007, LPUSER_INFO_1007; 405 + 406 +struct USER_INFO_1008{ 407 + DWORD usri1008_flags; 408 +} 409 +alias USER_INFO_1008* PUSER_INFO_1008, LPUSER_INFO_1008; 410 + 411 +struct USER_INFO_1009{ 412 + LPWSTR usri1009_script_path; 413 +} 414 +alias USER_INFO_1009* PUSER_INFO_1009, LPUSER_INFO_1009; 415 + 416 +struct USER_INFO_1010{ 417 + DWORD usri1010_auth_flags; 418 +} 419 +alias USER_INFO_1010* PUSER_INFO_1010, LPUSER_INFO_1010; 420 + 421 +struct USER_INFO_1011{ 422 + LPWSTR usri1011_full_name; 423 +} 424 +alias USER_INFO_1011* PUSER_INFO_1011, LPUSER_INFO_1011; 425 + 426 +struct USER_INFO_1012{ 427 + LPWSTR usri1012_usr_comment; 428 +} 429 +alias USER_INFO_1012* PUSER_INFO_1012, LPUSER_INFO_1012; 430 + 431 +struct USER_INFO_1013{ 432 + LPWSTR usri1013_parms; 433 +} 434 +alias USER_INFO_1013* PUSER_INFO_1013, LPUSER_INFO_1013; 435 + 436 +struct USER_INFO_1014{ 437 + LPWSTR usri1014_workstations; 438 +} 439 +alias USER_INFO_1014* PUSER_INFO_1014, LPUSER_INFO_1014; 440 + 441 +struct USER_INFO_1017{ 442 + DWORD usri1017_acct_expires; 443 +} 444 +alias USER_INFO_1017* PUSER_INFO_1017, LPUSER_INFO_1017; 445 + 446 +struct USER_INFO_1018{ 447 + DWORD usri1018_max_storage; 448 +} 449 +alias USER_INFO_1018* PUSER_INFO_1018, LPUSER_INFO_1018; 450 + 451 +struct USER_INFO_1020{ 452 + DWORD usri1020_units_per_week; 453 + PBYTE usri1020_logon_hours; 454 +} 455 +alias USER_INFO_1020* PUSER_INFO_1020, LPUSER_INFO_1020; 456 + 457 +struct USER_INFO_1023{ 458 + LPWSTR usri1023_logon_server; 459 +} 460 +alias USER_INFO_1023* PUSER_INFO_1023, LPUSER_INFO_1023; 461 + 462 +struct USER_INFO_1024{ 463 + DWORD usri1024_country_code; 464 +} 465 +alias USER_INFO_1024* PUSER_INFO_1024, LPUSER_INFO_1024; 466 + 467 +struct USER_INFO_1025{ 468 + DWORD usri1025_code_page; 469 +} 470 +alias USER_INFO_1025* PUSER_INFO_1025, LPUSER_INFO_1025; 471 + 472 +struct USER_INFO_1051{ 473 + DWORD usri1051_primary_group_id; 474 +} 475 +alias USER_INFO_1051* PUSER_INFO_1051, LPUSER_INFO_1051; 476 + 477 +struct USER_INFO_1052{ 478 + LPWSTR usri1052_profile; 479 +} 480 +alias USER_INFO_1052* PUSER_INFO_1052, LPUSER_INFO_1052; 481 + 482 +struct USER_INFO_1053{ 483 + LPWSTR usri1053_home_dir_drive; 484 +} 485 +alias USER_INFO_1053* PUSER_INFO_1053, LPUSER_INFO_1053; 486 + 487 +struct USER_MODALS_INFO_0{ 488 + DWORD usrmod0_min_passwd_len; 489 + DWORD usrmod0_max_passwd_age; 490 + DWORD usrmod0_min_passwd_age; 491 + DWORD usrmod0_force_logoff; 492 + DWORD usrmod0_password_hist_len; 493 +} 494 +alias USER_MODALS_INFO_0* PUSER_MODALS_INFO_0, LPUSER_MODALS_INFO_0; 495 + 496 +struct USER_MODALS_INFO_1{ 497 + DWORD usrmod1_role; 498 + LPWSTR usrmod1_primary; 499 +} 500 +alias USER_MODALS_INFO_1* PUSER_MODALS_INFO_1, LPUSER_MODALS_INFO_1; 501 + 502 +struct USER_MODALS_INFO_2{ 503 + LPWSTR usrmod2_domain_name; 504 + PSID usrmod2_domain_id; 505 +} 506 +alias USER_MODALS_INFO_2* PUSER_MODALS_INFO_2, LPUSER_MODALS_INFO_2; 507 + 508 +struct USER_MODALS_INFO_3{ 509 + DWORD usrmod3_lockout_duration; 510 + DWORD usrmod3_lockout_observation_window; 511 + DWORD usrmod3_lockout_threshold; 512 +} 513 +alias USER_MODALS_INFO_3* PUSER_MODALS_INFO_3, LPUSER_MODALS_INFO_3; 514 + 515 +struct USER_MODALS_INFO_1001{ 516 + DWORD usrmod1001_min_passwd_len; 517 +} 518 +alias USER_MODALS_INFO_1001* PUSER_MODALS_INFO_1001, LPUSER_MODALS_INFO_1001; 519 + 520 +struct USER_MODALS_INFO_1002{ 521 + DWORD usrmod1002_max_passwd_age; 522 +} 523 +alias USER_MODALS_INFO_1002* PUSER_MODALS_INFO_1002, LPUSER_MODALS_INFO_1002; 524 + 525 +struct USER_MODALS_INFO_1003{ 526 + DWORD usrmod1003_min_passwd_age; 527 +} 528 +alias USER_MODALS_INFO_1003* PUSER_MODALS_INFO_1003, LPUSER_MODALS_INFO_1003; 529 + 530 +struct USER_MODALS_INFO_1004{ 531 + DWORD usrmod1004_force_logoff; 532 +} 533 +alias USER_MODALS_INFO_1004* PUSER_MODALS_INFO_1004, LPUSER_MODALS_INFO_1004; 534 + 535 +struct USER_MODALS_INFO_1005{ 536 + DWORD usrmod1005_password_hist_len; 537 +} 538 +alias USER_MODALS_INFO_1005* PUSER_MODALS_INFO_1005, LPUSER_MODALS_INFO_1005; 539 + 540 +struct USER_MODALS_INFO_1006{ 541 + DWORD usrmod1006_role; 542 +} 543 +alias USER_MODALS_INFO_1006* PUSER_MODALS_INFO_1006, LPUSER_MODALS_INFO_1006; 544 + 545 +struct USER_MODALS_INFO_1007{ 546 + LPWSTR usrmod1007_primary; 547 +} 548 +alias USER_MODALS_INFO_1007* PUSER_MODALS_INFO_1007, LPUSER_MODALS_INFO_1007; 549 + 550 +struct GROUP_INFO_0{ 551 + LPWSTR grpi0_name; 552 +} 553 +alias GROUP_INFO_0* PGROUP_INFO_0, LPGROUP_INFO_0; 554 + 555 +struct GROUP_INFO_1{ 556 + LPWSTR grpi1_name; 557 + LPWSTR grpi1_comment; 558 +} 559 +alias GROUP_INFO_1* PGROUP_INFO_1, LPGROUP_INFO_1; 560 + 561 +struct GROUP_INFO_2{ 562 + LPWSTR grpi2_name; 563 + LPWSTR grpi2_comment; 564 + DWORD grpi2_group_id; 565 + DWORD grpi2_attributes; 566 +} 567 +alias GROUP_INFO_2* PGROUP_INFO_2; 568 + 569 +struct GROUP_INFO_1002{ 570 + LPWSTR grpi1002_comment; 571 +} 572 +alias GROUP_INFO_1002* PGROUP_INFO_1002, LPGROUP_INFO_1002; 573 + 574 +struct GROUP_INFO_1005{ 575 + DWORD grpi1005_attributes; 576 +} 577 +alias GROUP_INFO_1005* PGROUP_INFO_1005, LPGROUP_INFO_1005; 578 + 579 +struct GROUP_USERS_INFO_0{ 580 + LPWSTR grui0_name; 581 +} 582 +alias GROUP_USERS_INFO_0* PGROUP_USERS_INFO_0, LPGROUP_USERS_INFO_0; 583 + 584 +struct GROUP_USERS_INFO_1{ 585 + LPWSTR grui1_name; 586 + DWORD grui1_attributes; 587 +} 588 +alias GROUP_USERS_INFO_1* PGROUP_USERS_INFO_1, LPGROUP_USERS_INFO_1; 589 + 590 +struct LOCALGROUP_INFO_0{ 591 + LPWSTR lgrpi0_name; 592 +} 593 +alias LOCALGROUP_INFO_0* PLOCALGROUP_INFO_0, LPLOCALGROUP_INFO_0; 594 + 595 +struct LOCALGROUP_INFO_1{ 596 + LPWSTR lgrpi1_name; 597 + LPWSTR lgrpi1_comment; 598 +} 599 +alias LOCALGROUP_INFO_1* PLOCALGROUP_INFO_1, LPLOCALGROUP_INFO_1; 600 + 601 +struct LOCALGROUP_INFO_1002{ 602 + LPWSTR lgrpi1002_comment; 603 +} 604 +alias LOCALGROUP_INFO_1002* PLOCALGROUP_INFO_1002, LPLOCALGROUP_INFO_1002; 605 + 606 +struct LOCALGROUP_MEMBERS_INFO_0{ 607 + PSID lgrmi0_sid; 608 +} 609 +alias LOCALGROUP_MEMBERS_INFO_0* PLOCALGROUP_MEMBERS_INFO_0, LPLOCALGROUP_MEMBERS_INFO_0; 610 + 611 +struct LOCALGROUP_MEMBERS_INFO_1{ 612 + PSID lgrmi1_sid; 613 + SID_NAME_USE lgrmi1_sidusage; 614 + LPWSTR lgrmi1_name; 615 +} 616 +alias LOCALGROUP_MEMBERS_INFO_1* PLOCALGROUP_MEMBERS_INFO_1, LPLOCALGROUP_MEMBERS_INFO_1; 617 + 618 +struct LOCALGROUP_MEMBERS_INFO_2{ 619 + PSID lgrmi2_sid; 620 + SID_NAME_USE lgrmi2_sidusage; 621 + LPWSTR lgrmi2_domainandname; 622 +} 623 +alias LOCALGROUP_MEMBERS_INFO_2* PLOCALGROUP_MEMBERS_INFO_2, LPLOCALGROUP_MEMBERS_INFO_2; 624 + 625 +struct LOCALGROUP_MEMBERS_INFO_3{ 626 + LPWSTR lgrmi3_domainandname; 627 +} 628 +alias LOCALGROUP_MEMBERS_INFO_3* PLOCALGROUP_MEMBERS_INFO_3, LPLOCALGROUP_MEMBERS_INFO_3; 629 + 630 +struct LOCALGROUP_USERS_INFO_0{ 631 + LPWSTR lgrui0_name; 632 +} 633 +alias LOCALGROUP_USERS_INFO_0* PLOCALGROUP_USERS_INFO_0, LPLOCALGROUP_USERS_INFO_0; 634 + 635 +struct NET_DISPLAY_USER{ 636 + LPWSTR usri1_name; 637 + LPWSTR usri1_comment; 638 + DWORD usri1_flags; 639 + LPWSTR usri1_full_name; 640 + DWORD usri1_user_id; 641 + DWORD usri1_next_index; 642 +} 643 +alias NET_DISPLAY_USER* PNET_DISPLAY_USER; 644 + 645 +struct NET_DISPLAY_MACHINE{ 646 + LPWSTR usri2_name; 647 + LPWSTR usri2_comment; 648 + DWORD usri2_flags; 649 + DWORD usri2_user_id; 650 + DWORD usri2_next_index; 651 +} 652 +alias NET_DISPLAY_MACHINE* PNET_DISPLAY_MACHINE; 653 + 654 +struct NET_DISPLAY_GROUP{ 655 + LPWSTR grpi3_name; 656 + LPWSTR grpi3_comment; 657 + DWORD grpi3_group_id; 658 + DWORD grpi3_attributes; 659 + DWORD grpi3_next_index; 660 +} 661 +alias NET_DISPLAY_GROUP* PNET_DISPLAY_GROUP; 662 + 663 +struct ACCESS_INFO_0{ 664 + LPTSTR acc0_resource_name; 665 +} 666 +alias ACCESS_INFO_0* PACCESS_INFO_0, LPACCESS_INFO_0; 667 + 668 +struct ACCESS_INFO_1{ 669 + LPTSTR acc1_resource_name; 670 + DWORD acc1_attr; 671 + DWORD acc1_count; 672 +} 673 +alias ACCESS_INFO_1* PACCESS_INFO_1, LPACCESS_INFO_1; 674 + 675 +struct ACCESS_INFO_1002{ 676 + DWORD acc1002_attr; 677 +} 678 +alias ACCESS_INFO_1002* PACCESS_INFO_1002, LPACCESS_INFO_1002; 679 + 680 +struct ACCESS_LIST{ 681 + LPTSTR acl_ugname; 682 + DWORD acl_access; 683 +} 684 +alias ACCESS_LIST* PACCESS_LIST, LPACCESS_LIST; 685 + 686 +struct NETLOGON_INFO_1{ 687 + DWORD netlog1_flags; 688 + NET_API_STATUS netlog1_pdc_connection_status; 689 +} 690 +alias NETLOGON_INFO_1* PNETLOGON_INFO_1; 691 + 692 +struct NETLOGON_INFO_2{ 693 + DWORD netlog2_flags; 694 + NET_API_STATUS netlog2_pdc_connection_status; 695 + LPWSTR netlog2_trusted_dc_name; 696 + NET_API_STATUS netlog2_tc_connection_status; 697 +} 698 +alias NETLOGON_INFO_2* PNETLOGON_INFO_2; 699 + 700 +struct NETLOGON_INFO_3{ 701 + DWORD netlog3_flags; 702 + DWORD netlog3_logon_attempts; 703 + DWORD netlog3_reserved1; 704 + DWORD netlog3_reserved2; 705 + DWORD netlog3_reserved3; 706 + DWORD netlog3_reserved4; 707 + DWORD netlog3_reserved5; 708 +} 709 +alias NETLOGON_INFO_3* PNETLOGON_INFO_3; 710 + 711 +extern (Windows) { 712 +deprecated { 713 + /* These are obsolete */ 714 + NET_API_STATUS NetAccessAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 715 + NET_API_STATUS NetAccessEnum(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 716 + NET_API_STATUS NetAccessGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 717 + NET_API_STATUS NetAccessSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); 718 + NET_API_STATUS NetAccessDel(LPCWSTR,LPCWSTR); 719 + NET_API_STATUS NetAccessGetUserPerms(LPCWSTR,LPCWSTR,LPCWSTR,PDWORD); 720 +} 721 +NET_API_STATUS NetUserAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 722 +NET_API_STATUS NetUserEnum(LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 723 +NET_API_STATUS NetUserGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 724 +NET_API_STATUS NetUserSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); 725 +NET_API_STATUS NetUserDel(LPCWSTR,LPCWSTR); 726 +NET_API_STATUS NetUserGetGroups(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD); 727 +NET_API_STATUS NetUserSetGroups(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD); 728 +NET_API_STATUS NetUserGetLocalGroups(LPCWSTR,LPCWSTR,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD); 729 +NET_API_STATUS NetUserModalsGet(LPCWSTR,DWORD,PBYTE*); 730 +NET_API_STATUS NetUserModalsSet(LPCWSTR,DWORD,PBYTE,PDWORD); 731 +NET_API_STATUS NetUserChangePassword(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); 732 +NET_API_STATUS NetGroupAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 733 +NET_API_STATUS NetGroupAddUser(LPCWSTR,LPCWSTR,LPCWSTR); 734 +NET_API_STATUS NetGroupEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 735 +NET_API_STATUS NetGroupGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 736 +NET_API_STATUS NetGroupSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); 737 +NET_API_STATUS NetGroupDel(LPCWSTR,LPCWSTR); 738 +NET_API_STATUS NetGroupDelUser(LPCWSTR,LPCWSTR,LPCWSTR); 739 +NET_API_STATUS NetGroupGetUsers(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 740 +NET_API_STATUS NetGroupSetUsers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD); 741 +NET_API_STATUS NetLocalGroupAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 742 +NET_API_STATUS NetLocalGroupAddMember(LPCWSTR,LPCWSTR,PSID); 743 +NET_API_STATUS NetLocalGroupEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 744 +NET_API_STATUS NetLocalGroupGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 745 +NET_API_STATUS NetLocalGroupSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); 746 +NET_API_STATUS NetLocalGroupDel(LPCWSTR,LPCWSTR); 747 +NET_API_STATUS NetLocalGroupDelMember(LPCWSTR,LPCWSTR,PSID); 748 +NET_API_STATUS NetLocalGroupGetMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE*,DWORD, 749 +PDWORD,PDWORD,PDWORD); 750 +NET_API_STATUS NetLocalGroupSetMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD); 751 +NET_API_STATUS NetLocalGroupAddMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD); 752 +NET_API_STATUS NetLocalGroupDelMembers(LPCWSTR,LPCWSTR,DWORD,PBYTE,DWORD); 753 +NET_API_STATUS NetQueryDisplayInformation(LPCWSTR,DWORD,DWORD,DWORD,DWORD,PDWORD,PVOID*); 754 +NET_API_STATUS NetGetDisplayInformationIndex(LPCWSTR,DWORD,LPCWSTR,PDWORD); 755 +NET_API_STATUS NetGetDCName(LPCWSTR,LPCWSTR,PBYTE*); 756 +NET_API_STATUS NetGetAnyDCName(LPCWSTR,LPCWSTR,PBYTE*); 757 +NET_API_STATUS I_NetLogonControl(LPCWSTR,DWORD,DWORD,PBYTE*); 758 +NET_API_STATUS I_NetLogonControl2(LPCWSTR,DWORD,DWORD,PBYTE,PBYTE*); 759 +}

Added src/win32/lmalert.d version [f4b497581be6267b]

1 +/***********************************************************************\ 2 +* lmalert.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmalert; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +private import win32.lmcons, win32.windef; 14 + 15 +const TCHAR[] 16 + ALERTER_MAILSLOT = `\\.\MAILSLOT\Alerter`, 17 + ALERT_PRINT_EVENT = "PRINTING", 18 + ALERT_MESSAGE_EVENT = "MESSAGE", 19 + ALERT_ERRORLOG_EVENT = "ERRORLOG", 20 + ALERT_ADMIN_EVENT = "ADMIN", 21 + ALERT_USER_EVENT = "USER"; 22 +//MACRO #define ALERT_OTHER_INFO(x) ((PBYTE)(x)+sizeof(STD_ALERT)) 23 + 24 +//MACRO #define ALERT_VAR_DATA(p) ((PBYTE)(p)+sizeof(*p)) 25 + 26 +const PRJOB_QSTATUS = 3; 27 +const PRJOB_DEVSTATUS = 508; 28 +const PRJOB_COMPLETE = 4; 29 +const PRJOB_INTERV = 8; 30 +const PRJOB_ = 16; 31 +const PRJOB_DESTOFFLINE = 32; 32 +const PRJOB_DESTPAUSED = 64; 33 +const PRJOB_NOTIFY = 128; 34 +const PRJOB_DESTNOPAPER = 256; 35 +const PRJOB_DELETED = 32768; 36 +const PRJOB_QS_QUEUED = 0; 37 +const PRJOB_QS_PAUSED = 1; 38 +const PRJOB_QS_SPOOLING = 2; 39 +const PRJOB_QS_PRINTING = 3; 40 + 41 +struct ADMIN_OTHER_INFO{ 42 + DWORD alrtad_errcode; 43 + DWORD alrtad_numstrings; 44 +} 45 +alias ADMIN_OTHER_INFO* PADMIN_OTHER_INFO, LPADMIN_OTHER_INFO; 46 + 47 +struct STD_ALERT{ 48 + DWORD alrt_timestamp; 49 + TCHAR alrt_eventname[EVLEN+1]; 50 + TCHAR alrt_servicename[SNLEN+1]; 51 +} 52 +alias STD_ALERT* PSTD_ALERT, LPSTD_ALERT; 53 + 54 +struct ERRLOG_OTHER_INFO{ 55 + DWORD alrter_errcode; 56 + DWORD alrter_offset; 57 +} 58 +alias ERRLOG_OTHER_INFO* PERRLOG_OTHER_INFO, LPERRLOG_OTHER_INFO; 59 + 60 +struct PRINT_OTHER_INFO{ 61 + DWORD alrtpr_jobid; 62 + DWORD alrtpr_status; 63 + DWORD alrtpr_submitted; 64 + DWORD alrtpr_size; 65 +} 66 +alias PRINT_OTHER_INFO* PPRINT_OTHER_INFO, LPPRINT_OTHER_INFO; 67 + 68 +struct USER_OTHER_INFO{ 69 + DWORD alrtus_errcode; 70 + DWORD alrtus_numstrings; 71 +} 72 +alias USER_OTHER_INFO* PUSER_OTHER_INFO, LPUSER_OTHER_INFO; 73 + 74 +extern (Windows) { 75 +NET_API_STATUS NetAlertRaise(LPCWSTR,PVOID,DWORD); 76 +NET_API_STATUS NetAlertRaiseEx(LPCWSTR,PVOID,DWORD,LPCWSTR); 77 +}

Added src/win32/lmapibuf.d version [31686aa542bfe49a]

1 +/***********************************************************************\ 2 +* lmapibuf.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmapibuf; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +private import win32.lmcons, win32.windef; 14 + 15 +extern (Windows) { 16 + NET_API_STATUS NetApiBufferAllocate(DWORD, PVOID*); 17 + NET_API_STATUS NetApiBufferFree(PVOID); 18 + NET_API_STATUS NetApiBufferReallocate(PVOID, DWORD, PVOID*); 19 + NET_API_STATUS NetApiBufferSize(PVOID, PDWORD); 20 + NET_API_STATUS NetapipBufferAllocate(DWORD, PVOID*); 21 +}

Added src/win32/lmat.d version [0107aad9ea7103aa]

1 +/***********************************************************************\ 2 +* lmat.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmat; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +private import win32.lmcons, win32.windef; 14 + 15 +const JOB_RUN_PERIODICALLY = 1; 16 +const JOB_EXEC_ERROR = 2; 17 +const JOB_RUNS_TODAY = 4; 18 +const JOB_ADD_CURRENT_DATE = 8; 19 +const JOB_NONINTERACTIVE = 16; 20 +const JOB_INPUT_FLAGS = JOB_RUN_PERIODICALLY | JOB_ADD_CURRENT_DATE 21 + | JOB_NONINTERACTIVE; 22 +const JOB_OUTPUT_FLAGS = JOB_RUN_PERIODICALLY | JOB_EXEC_ERROR 23 + | JOB_RUNS_TODAY | JOB_NONINTERACTIVE; 24 + 25 +struct AT_ENUM { 26 + DWORD JobId; 27 + DWORD JobTime; 28 + DWORD DaysOfMonth; 29 + UCHAR DaysOfWeek; 30 + UCHAR Flags; 31 + LPWSTR Command; 32 +} 33 +alias AT_ENUM* PAT_ENUM, LPAT_ENUM; 34 + 35 +struct AT_INFO { 36 + DWORD JobTime; 37 + DWORD DaysOfMonth; 38 + UCHAR DaysOfWeek; 39 + UCHAR Flags; 40 + LPWSTR Command; 41 +} 42 +alias AT_INFO* PAT_INFO, LPAT_INFO; 43 + 44 +extern (Windows) { 45 + NET_API_STATUS NetScheduleJobAdd(LPWSTR, PBYTE, LPDWORD); 46 + NET_API_STATUS NetScheduleJobDel(LPWSTR, DWORD, DWORD); 47 + NET_API_STATUS NetScheduleJobEnum(LPWSTR, PBYTE*, DWORD, PDWORD, PDWORD, 48 + PDWORD); 49 + NET_API_STATUS NetScheduleJobGetInfo(LPWSTR, DWORD, PBYTE*); 50 +}

Added src/win32/lmaudit.d version [9e090844a323ae50]

1 +/***********************************************************************\ 2 +* lmaudit.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +// COMMENT: This file may be deprecated. 11 +module win32.lmaudit; 12 + 13 +private import win32.lmcons, win32.windef; 14 + 15 +const LOGFLAGS_FORWARD = 0; 16 +const LOGFLAGS_BACKWARD = 1; 17 +const LOGFLAGS_SEEK = 2; 18 + 19 +const ACTION_LOCKOUT = 0; 20 +const ACTION_ADMINUNLOCK = 1; 21 + 22 +const AE_GUEST=0; 23 +const AE_USER=1; 24 +const AE_ADMIN=2; 25 +const AE_NORMAL=0; 26 +const AE_USERLIMIT=0; 27 +const AE_GENERAL=0; 28 +const AE_ERROR=1; 29 +const AE_SESSDIS=1; 30 +const AE_BADPW=1; 31 +const AE_AUTODIS=2; 32 +const AE_UNSHARE=2; 33 +const AE_ADMINPRIVREQD=2; 34 +const AE_ADMINDIS=3; 35 +const AE_NOACCESSPERM=3; 36 +const AE_ACCRESTRICT=4; 37 +const AE_NORMAL_CLOSE=0; 38 +const AE_SES_CLOSE=1; 39 +const AE_ADMIN_CLOSE=2; 40 +const AE_LIM_UNKNOWN=0; 41 +const AE_LIM_LOGONHOURS=1; 42 +const AE_LIM_EXPIRED=2; 43 +const AE_LIM_INVAL_WKSTA=3; 44 +const AE_LIM_DISABLED=4; 45 +const AE_LIM_DELETED=5; 46 +const AE_MOD=0; 47 +const AE_DELETE=1; 48 +const AE_ADD=2; 49 + 50 +const AE_UAS_USER = 0; 51 +const AE_UAS_GROUP = 1; 52 +const AE_UAS_MODALS = 2; 53 + 54 +const SVAUD_SERVICE = 1; 55 +const SVAUD_GOODSESSLOGON = 6; 56 +const SVAUD_BADSESSLOGON = 24; 57 +const SVAUD_SESSLOGON = SVAUD_GOODSESSLOGON|SVAUD_BADSESSLOGON; 58 +const SVAUD_GOODNETLOGON = 96; 59 +const SVAUD_BADNETLOGON = 384; 60 +const SVAUD_NETLOGON = SVAUD_GOODNETLOGON|SVAUD_BADNETLOGON; 61 +const SVAUD_LOGON = SVAUD_NETLOGON|SVAUD_SESSLOGON; 62 +const SVAUD_GOODUSE = 0x600; 63 +const SVAUD_BADUSE = 0x1800; 64 +const SVAUD_USE = SVAUD_GOODUSE|SVAUD_BADUSE; 65 +const SVAUD_USERLIST = 8192; 66 +const SVAUD_PERMISSIONS = 16384; 67 +const SVAUD_RESOURCE = 32768; 68 +const SVAUD_LOGONLIM = 65536; 69 + 70 +const AA_AUDIT_ALL=1; 71 +const AA_A_OWNER=4; 72 +const AA_CLOSE=8; 73 +const AA_S_OPEN=16; 74 +const AA_S_WRITE=32; 75 +const AA_S_CREATE=32; 76 +const AA_S_DELETE=64; 77 +const AA_S_ACL=128; 78 +const AA_S_ALL=253; 79 +const AA_F_OPEN=256; 80 +const AA_F_WRITE=512; 81 +const AA_F_CREATE=512; 82 +const AA_F_DELETE=1024; 83 +const AA_F_ACL=2048; 84 +const AA_F_ALL = AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL; 85 +const AA_A_OPEN=2048; 86 +const AA_A_WRITE=4096; 87 +const AA_A_CREATE=8192; 88 +const AA_A_DELETE=16384; 89 +const AA_A_ACL=32768; 90 +const AA_A_ALL = AA_F_OPEN|AA_F_WRITE|AA_F_DELETE|AA_F_ACL; 91 + 92 +struct AUDIT_ENTRY{ 93 + DWORD ae_len; 94 + DWORD ae_reserved; 95 + DWORD ae_time; 96 + DWORD ae_type; 97 + DWORD ae_data_offset; 98 + DWORD ae_data_size; 99 +} 100 +alias AUDIT_ENTRY* PAUDIT_ENTRY, LPAUDIT_ENTRY; 101 + 102 +struct HLOG{ 103 + DWORD time; 104 + DWORD last_flags; 105 + DWORD offset; 106 + DWORD rec_offset; 107 +} 108 +alias HLOG* PHLOG, LPHLOG; 109 + 110 +struct AE_SRVSTATUS{ 111 + DWORD ae_sv_status; 112 +} 113 +alias AE_SRVSTATUS* PAE_SRVSTATUS, LPAE_SRVSTATUS; 114 + 115 +struct AE_SESSLOGON{ 116 + DWORD ae_so_compname; 117 + DWORD ae_so_username; 118 + DWORD ae_so_privilege; 119 +} 120 +alias AE_SESSLOGON* PAE_SESSLOGON, LPAE_SESSLOGON; 121 + 122 +struct AE_SESSLOGOFF{ 123 + DWORD ae_sf_compname; 124 + DWORD ae_sf_username; 125 + DWORD ae_sf_reason; 126 +} 127 +alias AE_SESSLOGOFF* PAE_SESSLOGOFF, LPAE_SESSLOGOFF; 128 + 129 +struct AE_SESSPWERR{ 130 + DWORD ae_sp_compname; 131 + DWORD ae_sp_username; 132 +} 133 +alias AE_SESSPWERR* PAE_SESSPWERR, LPAE_SESSPWERR; 134 + 135 +struct AE_CONNSTART{ 136 + DWORD ae_ct_compname; 137 + DWORD ae_ct_username; 138 + DWORD ae_ct_netname; 139 + DWORD ae_ct_connid; 140 +} 141 +alias AE_CONNSTART* PAE_CONNSTART, LPAE_CONNSTART; 142 + 143 +struct AE_CONNSTOP{ 144 + DWORD ae_cp_compname; 145 + DWORD ae_cp_username; 146 + DWORD ae_cp_netname; 147 + DWORD ae_cp_connid; 148 + DWORD ae_cp_reason; 149 +} 150 +alias AE_CONNSTOP* PAE_CONNSTOP, LPAE_CONNSTOP; 151 + 152 +struct AE_CONNREJ{ 153 + DWORD ae_cr_compname; 154 + DWORD ae_cr_username; 155 + DWORD ae_cr_netname; 156 + DWORD ae_cr_reason; 157 +} 158 +alias AE_CONNREJ* PAE_CONNREJ, LPAE_CONNREJ; 159 + 160 +struct AE_RESACCESS{ 161 + DWORD ae_ra_compname; 162 + DWORD ae_ra_username; 163 + DWORD ae_ra_resname; 164 + DWORD ae_ra_operation; 165 + DWORD ae_ra_returncode; 166 + DWORD ae_ra_restype; 167 + DWORD ae_ra_fileid; 168 +} 169 +alias AE_RESACCESS* PAE_RESACCESS, LPAE_RESACCESS; 170 + 171 +struct AE_RESACCESSREJ{ 172 + DWORD ae_rr_compname; 173 + DWORD ae_rr_username; 174 + DWORD ae_rr_resname; 175 + DWORD ae_rr_operation; 176 +} 177 +alias AE_RESACCESSREJ* PAE_RESACCESSREJ, LPAE_RESACCESSREJ; 178 + 179 +struct AE_CLOSEFILE{ 180 + DWORD ae_cf_compname; 181 + DWORD ae_cf_username; 182 + DWORD ae_cf_resname; 183 + DWORD ae_cf_fileid; 184 + DWORD ae_cf_duration; 185 + DWORD ae_cf_reason; 186 +} 187 +alias AE_CLOSEFILE* PAE_CLOSEFILE, LPAE_CLOSEFILE; 188 + 189 +struct AE_SERVICESTAT{ 190 + DWORD ae_ss_compname; 191 + DWORD ae_ss_username; 192 + DWORD ae_ss_svcname; 193 + DWORD ae_ss_status; 194 + DWORD ae_ss_code; 195 + DWORD ae_ss_text; 196 + DWORD ae_ss_returnval; 197 +} 198 +alias AE_SERVICESTAT* PAE_SERVICESTAT, LPAE_SERVICESTAT; 199 + 200 +struct AE_ACLMOD{ 201 + DWORD ae_am_compname; 202 + DWORD ae_am_username; 203 + DWORD ae_am_resname; 204 + DWORD ae_am_action; 205 + DWORD ae_am_datalen; 206 +} 207 +alias AE_ACLMOD* PAE_ACLMOD, LPAE_ACLMOD; 208 + 209 +struct AE_UASMOD{ 210 + DWORD ae_um_compname; 211 + DWORD ae_um_username; 212 + DWORD ae_um_resname; 213 + DWORD ae_um_rectype; 214 + DWORD ae_um_action; 215 + DWORD ae_um_datalen; 216 +} 217 +alias AE_UASMOD* PAE_UASMOD, LPAE_UASMOD; 218 + 219 +struct AE_NETLOGON{ 220 + DWORD ae_no_compname; 221 + DWORD ae_no_username; 222 + DWORD ae_no_privilege; 223 + DWORD ae_no_authflags; 224 +} 225 +alias AE_NETLOGON* PAE_NETLOGON, LPAE_NETLOGON; 226 + 227 +struct AE_NETLOGOFF{ 228 + DWORD ae_nf_compname; 229 + DWORD ae_nf_username; 230 + DWORD ae_nf_reserved1; 231 + DWORD ae_nf_reserved2; 232 +} 233 +alias AE_NETLOGOFF* PAE_NETLOGOFF, LPAE_NETLOGOFF; 234 + 235 +struct AE_ACCLIM{ 236 + DWORD ae_al_compname; 237 + DWORD ae_al_username; 238 + DWORD ae_al_resname; 239 + DWORD ae_al_limit; 240 +} 241 +alias AE_ACCLIM* PAE_ACCLIM, LPAE_ACCLIM; 242 + 243 +struct AE_LOCKOUT{ 244 + DWORD ae_lk_compname; 245 + DWORD ae_lk_username; 246 + DWORD ae_lk_action; 247 + DWORD ae_lk_bad_pw_count; 248 +} 249 +alias AE_LOCKOUT* PAE_LOCKOUT, LPAE_LOCKOUT; 250 + 251 +struct AE_GENERIC{ 252 + DWORD ae_ge_msgfile; 253 + DWORD ae_ge_msgnum; 254 + DWORD ae_ge_params; 255 + DWORD ae_ge_param1; 256 + DWORD ae_ge_param2; 257 + DWORD ae_ge_param3; 258 + DWORD ae_ge_param4; 259 + DWORD ae_ge_param5; 260 + DWORD ae_ge_param6; 261 + DWORD ae_ge_param7; 262 + DWORD ae_ge_param8; 263 + DWORD ae_ge_param9; 264 +} 265 +alias AE_GENERIC* PAE_GENERIC, LPAE_GENERIC; 266 + 267 +extern (Windows) { 268 +deprecated { 269 +NET_API_STATUS NetAuditClear(LPCWSTR,LPCWSTR,LPCWSTR); 270 +NET_API_STATUS NetAuditRead(LPTSTR,LPTSTR,LPHLOG,DWORD,PDWORD,DWORD,DWORD,PBYTE*,DWORD,PDWORD,PDWORD); 271 +NET_API_STATUS NetAuditWrite(DWORD,PBYTE,DWORD,LPTSTR,PBYTE); 272 +} 273 +} 274 + 275 +/+ 276 +/* MinGW: These conflict with struct typedefs, why? */ 277 +const AE_SRVSTATUS=0; 278 +const AE_SESSLOGON=1; 279 +const AE_SESSLOGOFF=2; 280 +const AE_SESSPWERR=3; 281 +const AE_CONNSTART=4; 282 +const AE_CONNSTOP=5; 283 +const AE_CONNREJ=6; 284 +const AE_RESACCESS=7; 285 +const AE_RESACCESSREJ=8; 286 +const AE_CLOSEFILE=9; 287 +const AE_SERVICESTAT=11; 288 +const AE_ACLMOD=12; 289 +const AE_UASMOD=13; 290 +const AE_NETLOGON=14; 291 +const AE_NETLOGOFF=15; 292 +const AE_NETLOGDENIED=16; 293 +const AE_ACCLIMITEXCD=17; 294 +const AE_RESACCESS2=18; 295 +const AE_ACLMODFAIL=19; 296 +const AE_LOCKOUT=20; 297 +const AE_GENERIC_TYPE=21; 298 +const AE_SRVSTART=0; 299 +const AE_SRVPAUSED=1; 300 +const AE_SRVCONT=2; 301 +const AE_SRVSTOP=3; 302 ++/

Added src/win32/lmbrowsr.d version [377ae4403930c8d3]

1 +/***********************************************************************\ 2 +* lmbrowsr.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmbrowsr; 11 + 12 +private import win32.lmcons, win32.windef; 13 + 14 +const BROWSER_ROLE_PDC = 1; 15 +const BROWSER_ROLE_BDC = 2; 16 + 17 +struct BROWSER_STATISTICS { 18 + LARGE_INTEGER StatisticsStartTime; 19 + LARGE_INTEGER NumberOfServerAnnouncements; 20 + LARGE_INTEGER NumberOfDomainAnnouncements; 21 + ULONG NumberOfElectionPackets; 22 + ULONG NumberOfMailslotWrites; 23 + ULONG NumberOfGetBrowserServerListRequests; 24 + ULONG NumberOfServerEnumerations; 25 + ULONG NumberOfDomainEnumerations; 26 + ULONG NumberOfOtherEnumerations; 27 + ULONG NumberOfMissedServerAnnouncements; 28 + ULONG NumberOfMissedMailslotDatagrams; 29 + ULONG NumberOfMissedGetBrowserServerListRequests; 30 + ULONG NumberOfFailedServerAnnounceAllocations; 31 + ULONG NumberOfFailedMailslotAllocations; 32 + ULONG NumberOfFailedMailslotReceives; 33 + ULONG NumberOfFailedMailslotWrites; 34 + ULONG NumberOfFailedMailslotOpens; 35 + ULONG NumberOfDuplicateMasterAnnouncements; 36 + LARGE_INTEGER NumberOfIllegalDatagrams; 37 +} 38 +alias BROWSER_STATISTICS* PBROWSER_STATISTICS, LPBROWSER_STATISTICS; 39 + 40 +struct BROWSER_STATISTICS_100 { 41 + LARGE_INTEGER StartTime; 42 + LARGE_INTEGER NumberOfServerAnnouncements; 43 + LARGE_INTEGER NumberOfDomainAnnouncements; 44 + ULONG NumberOfElectionPackets; 45 + ULONG NumberOfMailslotWrites; 46 + ULONG NumberOfGetBrowserServerListRequests; 47 + LARGE_INTEGER NumberOfIllegalDatagrams; 48 +} 49 +alias BROWSER_STATISTICS_100* PBROWSER_STATISTICS_100; 50 + 51 +struct BROWSER_STATISTICS_101 { 52 + LARGE_INTEGER StartTime; 53 + LARGE_INTEGER NumberOfServerAnnouncements; 54 + LARGE_INTEGER NumberOfDomainAnnouncements; 55 + ULONG NumberOfElectionPackets; 56 + ULONG NumberOfMailslotWrites; 57 + ULONG NumberOfGetBrowserServerListRequests; 58 + LARGE_INTEGER NumberOfIllegalDatagrams; 59 + ULONG NumberOfMissedServerAnnouncements; 60 + ULONG NumberOfMissedMailslotDatagrams; 61 + ULONG NumberOfMissedGetBrowserServerListRequests; 62 + ULONG NumberOfFailedServerAnnounceAllocations; 63 + ULONG NumberOfFailedMailslotAllocations; 64 + ULONG NumberOfFailedMailslotReceives; 65 + ULONG NumberOfFailedMailslotWrites; 66 + ULONG NumberOfFailedMailslotOpens; 67 + ULONG NumberOfDuplicateMasterAnnouncements; 68 +} 69 +alias BROWSER_STATISTICS_101* PBROWSER_STATISTICS_101; 70 + 71 +extern (Windows) { 72 + NET_API_STATUS I_BrowserServerEnum(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, 73 + PBYTE*, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, PDWORD); 74 + NET_API_STATUS I_BrowserServerEnumEx(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, 75 + PBYTE*, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, LPCWSTR); 76 + NET_API_STATUS I_BrowserQueryEmulatedDomains(LPWSTR, PBYTE*, PDWORD); 77 + NET_API_STATUS I_BrowserQueryOtherDomains(LPCWSTR, PBYTE*, PDWORD, PDWORD); 78 + NET_API_STATUS I_BrowserResetNetlogonState(LPCWSTR); 79 + NET_API_STATUS I_BrowserSetNetlogonState(LPWSTR, LPWSTR, LPWSTR, DWORD); 80 + NET_API_STATUS I_BrowserQueryStatistics(LPCWSTR, LPBROWSER_STATISTICS*); 81 + NET_API_STATUS I_BrowserResetStatistics(LPCWSTR); 82 + WORD I_BrowserServerEnumForXactsrv(LPCWSTR, LPCWSTR, ULONG, USHORT, PVOID, 83 + WORD, DWORD, PDWORD, PDWORD, DWORD, LPCWSTR, LPCWSTR, PWORD); 84 + NET_API_STATUS I_BrowserDebugTrace(PWCHAR, PCHAR); 85 +}

Added src/win32/lmchdev.d version [9590df0ba50f0d83]

1 +/***********************************************************************\ 2 +* lmchdev.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmchdev; 11 + 12 +// COMMENT: This file might be deprecated. 13 + 14 +private import win32.lmcons, win32.windef; 15 + 16 +const CHARDEVQ_NO_REQUESTS = -1; 17 +const CHARDEV_CLOSE = 0; 18 +const CHARDEVQ_MAX_PRIORITY = 1; 19 +const CHARDEVQ_DEV_PARMNUM = 1; 20 + 21 +const HANDLE_INFO_LEVEL_1 = 1; 22 +const HANDLE_CHARTIME_PARMNUM = 1; 23 +const HANDLE_CHARCOUNT_PARMNUM = 2; 24 + 25 +const CHARDEV_STAT_OPENED = 2; 26 +const CHARDEVQ_PRIORITY_PARMNUM = 2; 27 +const CHARDEVQ_DEVS_PARMNUM = 3; 28 +const CHARDEV_STAT_ERROR = 4; 29 +const CHARDEVQ_NUMUSERS_PARMNUM = 4; 30 +const CHARDEVQ_NUMAHEAD_PARMNUM = 5; 31 +const CHARDEVQ_DEF_PRIORITY = 5; 32 +const CHARDEVQ_PRIORITY_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+CHARDEVQ_PRIORITY_PARMNUM; 33 +const CHARDEVQ_DEVS_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+CHARDEVQ_DEVS_PARMNUM; 34 +const CHARDEVQ_MIN_PRIORITY = 9; 35 + 36 +struct CHARDEV_INFO_0 { 37 + LPWSTR ch0_dev; 38 +} 39 +alias CHARDEV_INFO_0* PCHARDEV_INFO_0, LPCHARDEV_INFO_0; 40 + 41 +struct CHARDEV_INFO_1{ 42 + LPWSTR ch1_dev; 43 + DWORD ch1_status; 44 + LPWSTR ch1_username; 45 + DWORD ch1_time; 46 +} 47 +alias CHARDEV_INFO_1* PCHARDEV_INFO_1, LPCHARDEV_INFO_1; 48 + 49 +struct CHARDEVQ_INFO_0 { 50 + LPWSTR cq0_dev; 51 +} 52 +alias CHARDEVQ_INFO_0* PCHARDEVQ_INFO_0, LPCHARDEVQ_INFO_0; 53 + 54 +struct CHARDEVQ_INFO_1{ 55 + LPWSTR cq1_dev; 56 + DWORD cq1_priority; 57 + LPWSTR cq1_devs; 58 + DWORD cq1_numusers; 59 + DWORD cq1_numahead; 60 +} 61 +alias CHARDEVQ_INFO_1* PCHARDEVQ_INFO_1, LPCHARDEVQ_INFO_1; 62 + 63 +struct CHARDEVQ_INFO_1002 { 64 + DWORD cq1002_priority; 65 +} 66 +alias CHARDEVQ_INFO_1002* PCHARDEVQ_INFO_1002, LPCHARDEVQ_INFO_1002; 67 + 68 +struct CHARDEVQ_INFO_1003 { 69 + LPWSTR cq1003_devs; 70 +} 71 +alias CHARDEVQ_INFO_1003* PCHARDEVQ_INFO_1003, LPCHARDEVQ_INFO_1003; 72 + 73 +struct HANDLE_INFO_1{ 74 + DWORD hdli1_chartime; 75 + DWORD hdli1_charcount; 76 +} 77 +alias HANDLE_INFO_1* PHANDLE_INFO_1, LPHANDLE_INFO_1; 78 + 79 +extern (Windows) { 80 + NET_API_STATUS NetCharDevEnum(LPCWSTR, DWORD, PBYTE*, DWORD, PDWORD, PDWORD, PDWORD); 81 + NET_API_STATUS NetCharDevGetInfo(LPCWSTR, LPCWSTR, DWORD, PBYTE*); 82 + NET_API_STATUS NetCharDevControl(LPCWSTR, LPCWSTR, DWORD); 83 + NET_API_STATUS NetCharDevQEnum(LPCWSTR, LPCWSTR, DWORD, PBYTE*, DWORD, PDWORD, PDWORD, PDWORD); 84 + NET_API_STATUS NetCharDevQGetInfo(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, PBYTE*); 85 + NET_API_STATUS NetCharDevQSetInfo(LPCWSTR, LPCWSTR, DWORD, PBYTE, PDWORD); 86 + NET_API_STATUS NetCharDevQPurge(LPCWSTR, LPCWSTR); 87 + NET_API_STATUS NetCharDevQPurgeSelf(LPCWSTR, LPCWSTR, LPCWSTR); 88 + NET_API_STATUS NetHandleGetInfo(HANDLE, DWORD, PBYTE*); 89 + NET_API_STATUS NetHandleSetInfo(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 90 +}

Added src/win32/lmconfig.d version [b41a4ef31c37e0e3]

1 +/***********************************************************************\ 2 +* lmconfig.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmconfig; 11 + 12 +// All functions in this file are deprecated! 13 + 14 +private import win32.lmcons, win32.windef; 15 + 16 +deprecated { 17 + struct CONFIG_INFO_0 { 18 + LPWSTR cfgi0_key; 19 + LPWSTR cfgi0_data; 20 + } 21 + 22 + alias CONFIG_INFO_0* PCONFIG_INFO_0, LPCONFIG_INFO_0; 23 + 24 + extern (Windows) { 25 + NET_API_STATUS NetConfigGet(LPCWSTR, LPCWSTR, LPCWSTR, PBYTE*); 26 + NET_API_STATUS NetConfigGetAll(LPCWSTR, LPCWSTR, PBYTE*); 27 + NET_API_STATUS NetConfigSet(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, DWORD, 28 + PBYTE, DWORD); 29 + } 30 +}

Added src/win32/lmcons.d version [67900f73320ed9a9]

1 +/***********************************************************************\ 2 +* lmcons.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmcons; 11 + 12 +private import win32.windef; 13 +private import win32.lmerr; // for NERR_BASE 14 + 15 +const TCHAR[] 16 + MESSAGE_FILENAME = "NETMSG", 17 + OS2MSG_FILENAME = "BASE", 18 + HELP_MSG_FILENAME = "NETH"; 19 + 20 +alias DWORD NET_API_STATUS, API_RET_TYPE; 21 + 22 +const MIN_LANMAN_MESSAGE_ID = NERR_BASE; 23 +const MAX_LANMAN_MESSAGE_ID = 5799; 24 + 25 +const CNLEN = 15; /* also in nddeapi.h */ 26 +const UNCLEN = CNLEN + 2; 27 + 28 +const DNLEN = 15; 29 +const LM20_CNLEN = 15; 30 +const LM20_DNLEN = 15; 31 +const LM20_SNLEN = 15; 32 +const LM20_STXTLEN = 63; 33 +const LM20_UNCLEN = LM20_CNLEN + 2; 34 +const LM20_NNLEN = 12; 35 +const LM20_RMLEN = LM20_UNCLEN + 1 + LM20_NNLEN; 36 +const NNLEN = 80; 37 +const RMLEN = UNCLEN + 1 + NNLEN; 38 +const SNLEN = 80; 39 +const STXTLEN = 256; 40 +const PATHLEN = 256; 41 +const LM20_PATHLEN = 256; 42 +const DEVLEN = 80; 43 +const LM20_DEVLEN = 8; 44 +const EVLEN = 16; 45 +const UNLEN = 256; 46 +const LM20_UNLEN = 20; 47 +const GNLEN = UNLEN; 48 +const LM20_GNLEN = LM20_UNLEN; 49 +const PWLEN = 256; 50 +const LM20_PWLEN = 14; 51 +const SHPWLEN = 8; 52 +const CLTYPE_LEN = 12; 53 +const QNLEN = NNLEN; 54 +const LM20_QNLEN = LM20_NNLEN; 55 + 56 +const MAXCOMMENTSZ = 256; 57 +const LM20_MAXCOMMENTSZ = 48; 58 +const ALERTSZ = 128; 59 +const MAXDEVENTRIES = 32;// (sizeof(int)*8); 60 +const NETBIOS_NAME_LEN = 16; 61 +const DWORD MAX_PREFERRED_LENGTH = -1; 62 +const CRYPT_KEY_LEN = 7; 63 +const CRYPT_TXT_LEN = 8; 64 +const ENCRYPTED_PWLEN = 16; 65 +const SESSION_PWLEN = 24; 66 +const SESSION_CRYPT_KLEN = 21; 67 + 68 +const PARMNUM_ALL = 0; 69 +const DWORD PARM_ERROR_UNKNOWN = -1; 70 +const PARM_ERROR_NONE = 0; 71 +const PARMNUM_BASE_INFOLEVEL = 1000; 72 + 73 +const PLATFORM_ID_DOS = 300; 74 +const PLATFORM_ID_OS2 = 400; 75 +const PLATFORM_ID_NT = 500; 76 +const PLATFORM_ID_OSF = 600; 77 +const PLATFORM_ID_VMS = 700; 78 + 79 +// this is a new typedef in W2K, but it should be harmless for earlier Windows versions. 80 +version (Unicode) { 81 + alias LPWSTR LMSTR; 82 + alias LPCWSTR LMCSTR; 83 +} else { 84 + alias LPSTR LMSTR; 85 + alias LPCSTR LMCSTR; 86 +}

Added src/win32/lmerr.d version [5d4be2d56864693a]

1 +/***********************************************************************\ 2 +* lmerr.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmerr; 11 + 12 +import win32.winerror; 13 + 14 +enum { 15 + NERR_Success = 0, 16 + NERR_BASE = 2100, 17 + NERR_NetNotStarted = NERR_BASE + 2, 18 + NERR_UnknownServer, 19 + NERR_ShareMem, 20 + NERR_NoNetworkResource, 21 + NERR_RemoteOnly, 22 + NERR_DevNotRedirected, 23 + NERR_ServerNotStarted = NERR_BASE + 14, 24 + NERR_ItemNotFound, 25 + NERR_UnknownDevDir, 26 + NERR_RedirectedPath, 27 + NERR_DuplicateShare, 28 + NERR_NoRoom, 29 + NERR_TooManyItems = NERR_BASE + 21, 30 + NERR_InvalidMaxUsers, 31 + NERR_BufTooSmall, 32 + NERR_RemoteErr = NERR_BASE + 27, 33 + NERR_LanmanIniError = NERR_BASE + 31, 34 + NERR_NetworkError = NERR_BASE + 36, 35 + NERR_WkstaInconsistentState, 36 + NERR_WkstaNotStarted, 37 + NERR_BrowserNotStarted, 38 + NERR_InternalError, 39 + NERR_BadTransactConfig, 40 + NERR_InvalidAPI, 41 + NERR_BadEventName, 42 + NERR_DupNameReboot, 43 + NERR_CfgCompNotFound = NERR_BASE + 46, 44 + NERR_CfgParamNotFound, 45 + NERR_LineTooLong = NERR_BASE + 49, 46 + NERR_QNotFound, 47 + NERR_JobNotFound, 48 + NERR_DestNotFound, 49 + NERR_DestExists, 50 + NERR_QExists, 51 + NERR_QNoRoom, 52 + NERR_JobNoRoom, 53 + NERR_DestNoRoom, 54 + NERR_DestIdle, 55 + NERR_DestInvalidOp, 56 + NERR_ProcNoRespond, 57 + NERR_SpoolerNotLoaded, 58 + NERR_DestInvalidState, 59 + NERR_QInvalidState, 60 + NERR_JobInvalidState, 61 + NERR_SpoolNoMemory, 62 + NERR_DriverNotFound, 63 + NERR_DataTypeInvalid, 64 + NERR_ProcNotFound, 65 + NERR_ServiceTableLocked = NERR_BASE + 80, 66 + NERR_ServiceTableFull, 67 + NERR_ServiceInstalled, 68 + NERR_ServiceEntryLocked, 69 + NERR_ServiceNotInstalled, 70 + NERR_BadServiceName, 71 + NERR_ServiceCtlTimeout, 72 + NERR_ServiceCtlBusy, 73 + NERR_BadServiceProgName, 74 + NERR_ServiceNotCtrl, 75 + NERR_ServiceKillProc, 76 + NERR_ServiceCtlNotValid, 77 + NERR_NotInDispatchTbl, 78 + NERR_BadControlRecv, 79 + NERR_ServiceNotStarting, 80 + NERR_AlreadyLoggedOn = NERR_BASE + 100, 81 + NERR_NotLoggedOn, 82 + NERR_BadUsername, 83 + NERR_BadPassword, 84 + NERR_UnableToAddName_W, 85 + NERR_UnableToAddName_F, 86 + NERR_UnableToDelName_W, 87 + NERR_UnableToDelName_F, 88 + NERR_LogonsPaused = NERR_BASE + 109, 89 + NERR_LogonServerConflict, 90 + NERR_LogonNoUserPath, 91 + NERR_LogonScriptError, 92 + NERR_StandaloneLogon = NERR_BASE + 114, 93 + NERR_LogonServerNotFound, 94 + NERR_LogonDomainExists, 95 + NERR_NonValidatedLogon, 96 + NERR_ACFNotFound = NERR_BASE + 119, 97 + NERR_GroupNotFound, 98 + NERR_UserNotFound, 99 + NERR_ResourceNotFound, 100 + NERR_GroupExists, 101 + NERR_UserExists, 102 + NERR_ResourceExists, 103 + NERR_NotPrimary, 104 + NERR_ACFNotLoaded, 105 + NERR_ACFNoRoom, 106 + NERR_ACFFileIOFail, 107 + NERR_ACFTooManyLists, 108 + NERR_UserLogon, 109 + NERR_ACFNoParent, 110 + NERR_CanNotGrowSegment, 111 + NERR_SpeGroupOp, 112 + NERR_NotInCache, 113 + NERR_UserInGroup, 114 + NERR_UserNotInGroup, 115 + NERR_AccountUndefined, 116 + NERR_AccountExpired, 117 + NERR_InvalidWorkstation, 118 + NERR_InvalidLogonHours, 119 + NERR_PasswordExpired, 120 + NERR_PasswordCantChange, 121 + NERR_PasswordHistConflict, 122 + NERR_PasswordTooShort, 123 + NERR_PasswordTooRecent, 124 + NERR_InvalidDatabase, 125 + NERR_DatabaseUpToDate, 126 + NERR_SyncRequired, 127 + NERR_UseNotFound, 128 + NERR_BadAsgType, 129 + NERR_DeviceIsShared, 130 + NERR_NoComputerName = NERR_BASE + 170, 131 + NERR_MsgAlreadyStarted, 132 + NERR_MsgInitFailed, 133 + NERR_NameNotFound, 134 + NERR_AlreadyForwarded, 135 + NERR_AddForwarded, 136 + NERR_AlreadyExists, 137 + NERR_TooManyNames, 138 + NERR_DelComputerName, 139 + NERR_LocalForward, 140 + NERR_GrpMsgProcessor, 141 + NERR_PausedRemote, 142 + NERR_BadReceive, 143 + NERR_NameInUse, 144 + NERR_MsgNotStarted, 145 + NERR_NotLocalName, 146 + NERR_NoForwardName, 147 + NERR_RemoteFull, 148 + NERR_NameNotForwarded, 149 + NERR_TruncatedBroadcast, 150 + NERR_InvalidDevice = NERR_BASE + 194, 151 + NERR_WriteFault, 152 + NERR_DuplicateName = NERR_BASE + 197, 153 + NERR_DeleteLater, 154 + NERR_IncompleteDel, 155 + NERR_MultipleNets, 156 + NERR_NetNameNotFound = NERR_BASE + 210, 157 + NERR_DeviceNotShared, 158 + NERR_ClientNameNotFound, 159 + NERR_FileIdNotFound = NERR_BASE + 214, 160 + NERR_ExecFailure, 161 + NERR_TmpFile, 162 + NERR_TooMuchData, 163 + NERR_DeviceShareConflict, 164 + NERR_BrowserTableIncomplete, 165 + NERR_NotLocalDomain, 166 + NERR_DevInvalidOpCode = NERR_BASE + 231, 167 + NERR_DevNotFound, 168 + NERR_DevNotOpen, 169 + NERR_BadQueueDevString, 170 + NERR_BadQueuePriority, 171 + NERR_NoCommDevs = NERR_BASE + 237, 172 + NERR_QueueNotFound, 173 + NERR_BadDevString = NERR_BASE + 240, 174 + NERR_BadDev, 175 + NERR_InUseBySpooler, 176 + NERR_CommDevInUse, 177 + NERR_InvalidComputer = NERR_BASE + 251, 178 + NERR_MaxLenExceeded = NERR_BASE + 254, 179 + NERR_BadComponent = NERR_BASE + 256, 180 + NERR_CantType, 181 + NERR_TooManyEntries = NERR_BASE + 262, 182 + NERR_ProfileFileTooBig = NERR_BASE + 270, 183 + NERR_ProfileOffset, 184 + NERR_ProfileCleanup, 185 + NERR_ProfileUnknownCmd, 186 + NERR_ProfileLoadErr, 187 + NERR_ProfileSaveErr, 188 + NERR_LogOverflow = NERR_BASE + 277, 189 + NERR_LogFileChanged, 190 + NERR_LogFileCorrupt, 191 + NERR_SourceIsDir, 192 + NERR_BadSource, 193 + NERR_BadDest, 194 + NERR_DifferentServers, 195 + NERR_RunSrvPaused = NERR_BASE + 285, 196 + NERR_ErrCommRunSrv = NERR_BASE + 289, 197 + NERR_ErrorExecingGhost = NERR_BASE + 291, 198 + NERR_ShareNotFound, 199 + NERR_InvalidLana = NERR_BASE + 300, 200 + NERR_OpenFiles, 201 + NERR_ActiveConns, 202 + NERR_BadPasswordCore, 203 + NERR_DevInUse, 204 + NERR_LocalDrive, 205 + NERR_AlertExists = NERR_BASE + 330, 206 + NERR_TooManyAlerts, 207 + NERR_NoSuchAlert, 208 + NERR_BadRecipient, 209 + NERR_AcctLimitExceeded, 210 + NERR_InvalidLogSeek = NERR_BASE + 340, 211 + NERR_BadUasConfig = NERR_BASE + 350, 212 + NERR_InvalidUASOp, 213 + NERR_LastAdmin, 214 + NERR_DCNotFound, 215 + NERR_LogonTrackingError, 216 + NERR_NetlogonNotStarted, 217 + NERR_CanNotGrowUASFile, 218 + NERR_TimeDiffAtDC, 219 + NERR_PasswordMismatch, 220 + NERR_NoSuchServer = NERR_BASE + 360, 221 + NERR_NoSuchSession, 222 + NERR_NoSuchConnection, 223 + NERR_TooManyServers, 224 + NERR_TooManySessions, 225 + NERR_TooManyConnections, 226 + NERR_TooManyFiles, 227 + NERR_NoAlternateServers, 228 + NERR_TryDownLevel = NERR_BASE + 370, 229 + NERR_UPSDriverNotStarted = NERR_BASE + 380, 230 + NERR_UPSInvalidConfig, 231 + NERR_UPSInvalidCommPort, 232 + NERR_UPSSignalAsserted, 233 + NERR_UPSShutdownFailed, 234 + NERR_BadDosRetCode = NERR_BASE + 400, 235 + NERR_ProgNeedsExtraMem, 236 + NERR_BadDosFunction, 237 + NERR_RemoteBootFailed, 238 + NERR_BadFileCheckSum, 239 + NERR_NoRplBootSystem, 240 + NERR_RplLoadrNetBiosErr, 241 + NERR_RplLoadrDiskErr, 242 + NERR_ImageParamErr, 243 + NERR_TooManyImageParams, 244 + NERR_NonDosFloppyUsed, 245 + NERR_RplBootRestart, 246 + NERR_RplSrvrCallFailed, 247 + NERR_CantConnectRplSrvr, 248 + NERR_CantOpenImageFile, 249 + NERR_CallingRplSrvr, 250 + NERR_StartingRplBoot, 251 + NERR_RplBootServiceTerm, 252 + NERR_RplBootStartFailed, 253 + NERR_RPL_CONNECTED, 254 + NERR_BrowserConfiguredToNotRun = NERR_BASE + 450, 255 + NERR_RplNoAdaptersStarted = NERR_BASE + 510, 256 + NERR_RplBadRegistry, 257 + NERR_RplBadDatabase, 258 + NERR_RplRplfilesShare, 259 + NERR_RplNotRplServer, 260 + NERR_RplCannotEnum, 261 + NERR_RplWkstaInfoCorrupted, 262 + NERR_RplWkstaNotFound, 263 + NERR_RplWkstaNameUnavailable, 264 + NERR_RplProfileInfoCorrupted, 265 + NERR_RplProfileNotFound, 266 + NERR_RplProfileNameUnavailable, 267 + NERR_RplProfileNotEmpty, 268 + NERR_RplConfigInfoCorrupted, 269 + NERR_RplConfigNotFound, 270 + NERR_RplAdapterInfoCorrupted, 271 + NERR_RplInternal, 272 + NERR_RplVendorInfoCorrupted, 273 + NERR_RplBootInfoCorrupted, 274 + NERR_RplWkstaNeedsUserAcct, 275 + NERR_RplNeedsRPLUSERAcct, 276 + NERR_RplBootNotFound, 277 + NERR_RplIncompatibleProfile, 278 + NERR_RplAdapterNameUnavailable, 279 + NERR_RplConfigNotEmpty, 280 + NERR_RplBootInUse, 281 + NERR_RplBackupDatabase, 282 + NERR_RplAdapterNotFound, 283 + NERR_RplVendorNotFound, 284 + NERR_RplVendorNameUnavailable, 285 + NERR_RplBootNameUnavailable, 286 + NERR_RplConfigNameUnavailable, 287 + NERR_DfsInternalCorruption = NERR_BASE + 560, 288 + NERR_DfsVolumeDataCorrupt, 289 + NERR_DfsNoSuchVolume, 290 + NERR_DfsVolumeAlreadyExists, 291 + NERR_DfsAlreadyShared, 292 + NERR_DfsNoSuchShare, 293 + NERR_DfsNotALeafVolume, 294 + NERR_DfsLeafVolume, 295 + NERR_DfsVolumeHasMultipleServers, 296 + NERR_DfsCantCreateJunctionPoint, 297 + NERR_DfsServerNotDfsAware, 298 + NERR_DfsBadRenamePath, 299 + NERR_DfsVolumeIsOffline, 300 + NERR_DfsNoSuchServer, 301 + NERR_DfsCyclicalName, 302 + NERR_DfsNotSupportedInServerDfs, 303 + NERR_DfsDuplicateService, 304 + NERR_DfsCantRemoveLastServerShare, 305 + NERR_DfsVolumeIsInterDfs, 306 + NERR_DfsInconsistent, 307 + NERR_DfsServerUpgraded, 308 + NERR_DfsDataIsIdentical, 309 + NERR_DfsCantRemoveDfsRoot, 310 + NERR_DfsChildOrParentInDfs, 311 + NERR_DfsInternalError = NERR_BASE + 590, 312 + MAX_NERR = NERR_BASE + 899 313 +}

Added src/win32/lmerrlog.d version [c43e9c476d43082d]

1 +/***********************************************************************\ 2 +* lmerrlog.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmerrlog; 11 + 12 +// COMMENT: This appears to be only for Win16. All functions are deprecated. 13 + 14 +private import win32.lmcons, win32.windef; 15 +private import win32.lmaudit; // for LPHLOG 16 + 17 +const ERRLOG_BASE=3100; 18 +const ERRLOG2_BASE=5700; 19 +const LOGFLAGS_FORWARD=0; 20 +const LOGFLAGS_BACKWARD=1; 21 +const LOGFLAGS_SEEK=2; 22 +const NELOG_Internal_Error=ERRLOG_BASE; 23 +const NELOG_Resource_Shortage=(ERRLOG_BASE+1); 24 +const NELOG_Unable_To_Lock_Segment=(ERRLOG_BASE+2); 25 +const NELOG_Unable_To_Unlock_Segment=(ERRLOG_BASE+3); 26 +const NELOG_Uninstall_Service=(ERRLOG_BASE+4); 27 +const NELOG_Init_Exec_Fail=(ERRLOG_BASE+5); 28 +const NELOG_Ncb_Error=(ERRLOG_BASE+6); 29 +const NELOG_Net_Not_Started=(ERRLOG_BASE+7); 30 +const NELOG_Ioctl_Error=(ERRLOG_BASE+8); 31 +const NELOG_System_Semaphore=(ERRLOG_BASE+9); 32 +const NELOG_Init_OpenCreate_Err=(ERRLOG_BASE+10); 33 +const NELOG_NetBios=(ERRLOG_BASE+11); 34 +const NELOG_SMB_Illegal=(ERRLOG_BASE+12); 35 +const NELOG_Service_Fail=(ERRLOG_BASE+13); 36 +const NELOG_Entries_Lost=(ERRLOG_BASE+14); 37 +const NELOG_Init_Seg_Overflow=(ERRLOG_BASE+20); 38 +const NELOG_Srv_No_Mem_Grow=(ERRLOG_BASE+21); 39 +const NELOG_Access_File_Bad=(ERRLOG_BASE+22); 40 +const NELOG_Srvnet_Not_Started=(ERRLOG_BASE+23); 41 +const NELOG_Init_Chardev_Err=(ERRLOG_BASE+24); 42 +const NELOG_Remote_API=(ERRLOG_BASE+25); 43 +const NELOG_Ncb_TooManyErr=(ERRLOG_BASE+26); 44 +const NELOG_Mailslot_err=(ERRLOG_BASE+27); 45 +const NELOG_ReleaseMem_Alert=(ERRLOG_BASE+28); 46 +const NELOG_AT_cannot_write=(ERRLOG_BASE+29); 47 +const NELOG_Cant_Make_Msg_File=(ERRLOG_BASE+30); 48 +const NELOG_Exec_Netservr_NoMem=(ERRLOG_BASE+31); 49 +const NELOG_Server_Lock_Failure=(ERRLOG_BASE+32); 50 +const NELOG_Msg_Shutdown=(ERRLOG_BASE+40); 51 +const NELOG_Msg_Sem_Shutdown=(ERRLOG_BASE+41); 52 +const NELOG_Msg_Log_Err=(ERRLOG_BASE+50); 53 +const NELOG_VIO_POPUP_ERR=(ERRLOG_BASE+51); 54 +const NELOG_Msg_Unexpected_SMB_Type=(ERRLOG_BASE+52); 55 +const NELOG_Wksta_Infoseg=(ERRLOG_BASE+60); 56 +const NELOG_Wksta_Compname=(ERRLOG_BASE+61); 57 +const NELOG_Wksta_BiosThreadFailure=(ERRLOG_BASE+62); 58 +const NELOG_Wksta_IniSeg=(ERRLOG_BASE+63); 59 +const NELOG_Wksta_HostTab_Full=(ERRLOG_BASE+64); 60 +const NELOG_Wksta_Bad_Mailslot_SMB=(ERRLOG_BASE+65); 61 +const NELOG_Wksta_UASInit=(ERRLOG_BASE+66); 62 +const NELOG_Wksta_SSIRelogon=(ERRLOG_BASE+67); 63 +const NELOG_Build_Name=(ERRLOG_BASE+70); 64 +const NELOG_Name_Expansion=(ERRLOG_BASE+71); 65 +const NELOG_Message_Send=(ERRLOG_BASE+72); 66 +const NELOG_Mail_Slt_Err=(ERRLOG_BASE+73); 67 +const NELOG_AT_cannot_read=(ERRLOG_BASE+74); 68 +const NELOG_AT_sched_err=(ERRLOG_BASE+75); 69 +const NELOG_AT_schedule_file_created=(ERRLOG_BASE+76); 70 +const NELOG_Srvnet_NB_Open=(ERRLOG_BASE+77); 71 +const NELOG_AT_Exec_Err=(ERRLOG_BASE+78); 72 +const NELOG_Lazy_Write_Err=(ERRLOG_BASE+80); 73 +const NELOG_HotFix=(ERRLOG_BASE+81); 74 +const NELOG_HardErr_From_Server=(ERRLOG_BASE+82); 75 +const NELOG_LocalSecFail1=(ERRLOG_BASE+83); 76 +const NELOG_LocalSecFail2=(ERRLOG_BASE+84); 77 +const NELOG_LocalSecFail3=(ERRLOG_BASE+85); 78 +const NELOG_LocalSecGeneralFail=(ERRLOG_BASE+86); 79 +const NELOG_NetWkSta_Internal_Error=(ERRLOG_BASE+90); 80 +const NELOG_NetWkSta_No_Resource=(ERRLOG_BASE+91); 81 +const NELOG_NetWkSta_SMB_Err=(ERRLOG_BASE+92); 82 +const NELOG_NetWkSta_VC_Err=(ERRLOG_BASE+93); 83 +const NELOG_NetWkSta_Stuck_VC_Err=(ERRLOG_BASE+94); 84 +const NELOG_NetWkSta_NCB_Err=(ERRLOG_BASE+95); 85 +const NELOG_NetWkSta_Write_Behind_Err=(ERRLOG_BASE+96); 86 +const NELOG_NetWkSta_Reset_Err=(ERRLOG_BASE+97); 87 +const NELOG_NetWkSta_Too_Many=(ERRLOG_BASE+98); 88 +const NELOG_Srv_Thread_Failure=(ERRLOG_BASE+104); 89 +const NELOG_Srv_Close_Failure=(ERRLOG_BASE+105); 90 +const NELOG_ReplUserCurDir=(ERRLOG_BASE+106); 91 +const NELOG_ReplCannotMasterDir=(ERRLOG_BASE+107); 92 +const NELOG_ReplUpdateError=(ERRLOG_BASE+108); 93 +const NELOG_ReplLostMaster=(ERRLOG_BASE+109); 94 +const NELOG_NetlogonAuthDCFail=(ERRLOG_BASE+110); 95 +const NELOG_ReplLogonFailed=(ERRLOG_BASE+111); 96 +const NELOG_ReplNetErr=(ERRLOG_BASE+112); 97 +const NELOG_ReplMaxFiles=(ERRLOG_BASE+113); 98 +const NELOG_ReplMaxTreeDepth=(ERRLOG_BASE+114); 99 +const NELOG_ReplBadMsg=(ERRLOG_BASE+115); 100 +const NELOG_ReplSysErr=(ERRLOG_BASE+116); 101 +const NELOG_ReplUserLoged=(ERRLOG_BASE+117); 102 +const NELOG_ReplBadImport=(ERRLOG_BASE+118); 103 +const NELOG_ReplBadExport=(ERRLOG_BASE+119); 104 +const NELOG_ReplSignalFileErr=(ERRLOG_BASE+120); 105 +const NELOG_DiskFT=(ERRLOG_BASE+121); 106 +const NELOG_ReplAccessDenied=(ERRLOG_BASE+122); 107 +const NELOG_NetlogonFailedPrimary=(ERRLOG_BASE+123); 108 +const NELOG_NetlogonPasswdSetFailed=(ERRLOG_BASE+124); 109 +const NELOG_NetlogonTrackingError=(ERRLOG_BASE+125); 110 +const NELOG_NetlogonSyncError=(ERRLOG_BASE+126); 111 +const NELOG_UPS_PowerOut=(ERRLOG_BASE+130); 112 +const NELOG_UPS_Shutdown=(ERRLOG_BASE+131); 113 +const NELOG_UPS_CmdFileError=(ERRLOG_BASE+132); 114 +const NELOG_UPS_CannotOpenDriver=(ERRLOG_BASE+133); 115 +const NELOG_UPS_PowerBack=(ERRLOG_BASE+134); 116 +const NELOG_UPS_CmdFileConfig=(ERRLOG_BASE+135); 117 +const NELOG_UPS_CmdFileExec=(ERRLOG_BASE+136); 118 +const NELOG_Missing_Parameter=(ERRLOG_BASE+150); 119 +const NELOG_Invalid_Config_Line=(ERRLOG_BASE+151); 120 +const NELOG_Invalid_Config_File=(ERRLOG_BASE+152); 121 +const NELOG_File_Changed=(ERRLOG_BASE+153); 122 +const NELOG_Files_Dont_Fit=(ERRLOG_BASE+154); 123 +const NELOG_Wrong_DLL_Version=(ERRLOG_BASE+155); 124 +const NELOG_Error_in_DLL=(ERRLOG_BASE+156); 125 +const NELOG_System_Error=(ERRLOG_BASE+157); 126 +const NELOG_FT_ErrLog_Too_Large=(ERRLOG_BASE+158); 127 +const NELOG_FT_Update_In_Progress=(ERRLOG_BASE+159); 128 +const NELOG_OEM_Code=(ERRLOG_BASE+199); 129 +const NELOG_NetlogonSSIInitError=ERRLOG2_BASE; 130 +const NELOG_NetlogonFailedToUpdateTrustList=(ERRLOG2_BASE+1); 131 +const NELOG_NetlogonFailedToAddRpcInterface=(ERRLOG2_BASE+2); 132 +const NELOG_NetlogonFailedToReadMailslot=(ERRLOG2_BASE+3); 133 +const NELOG_NetlogonFailedToRegisterSC=(ERRLOG2_BASE+4); 134 +const NELOG_NetlogonChangeLogCorrupt=(ERRLOG2_BASE+5); 135 +const NELOG_NetlogonFailedToCreateShare=(ERRLOG2_BASE+6); 136 +const NELOG_NetlogonDownLevelLogonFailed=(ERRLOG2_BASE+7); 137 +const NELOG_NetlogonDownLevelLogoffFailed=(ERRLOG2_BASE+8); 138 +const NELOG_NetlogonNTLogonFailed=(ERRLOG2_BASE+9); 139 +const NELOG_NetlogonNTLogoffFailed=(ERRLOG2_BASE+10); 140 +const NELOG_NetlogonPartialSyncCallSuccess=(ERRLOG2_BASE+11); 141 +const NELOG_NetlogonPartialSyncCallFailed=(ERRLOG2_BASE+12); 142 +const NELOG_NetlogonFullSyncCallSuccess=(ERRLOG2_BASE+13); 143 +const NELOG_NetlogonFullSyncCallFailed=(ERRLOG2_BASE+14); 144 +const NELOG_NetlogonPartialSyncSuccess=(ERRLOG2_BASE+15); 145 +const NELOG_NetlogonPartialSyncFailed=(ERRLOG2_BASE+16); 146 +const NELOG_NetlogonFullSyncSuccess=(ERRLOG2_BASE+17); 147 +const NELOG_NetlogonFullSyncFailed=(ERRLOG2_BASE+18); 148 +const NELOG_NetlogonAuthNoDomainController=(ERRLOG2_BASE+19); 149 +const NELOG_NetlogonAuthNoTrustLsaSecret=(ERRLOG2_BASE+20); 150 +const NELOG_NetlogonAuthNoTrustSamAccount=(ERRLOG2_BASE+21); 151 +const NELOG_NetlogonServerAuthFailed=(ERRLOG2_BASE+22); 152 +const NELOG_NetlogonServerAuthNoTrustSamAccount=(ERRLOG2_BASE+23); 153 +const NELOG_FailedToRegisterSC=(ERRLOG2_BASE+24); 154 +const NELOG_FailedToSetServiceStatus=(ERRLOG2_BASE+25); 155 +const NELOG_FailedToGetComputerName=(ERRLOG2_BASE+26); 156 +const NELOG_DriverNotLoaded=(ERRLOG2_BASE+27); 157 +const NELOG_NoTranportLoaded=(ERRLOG2_BASE+28); 158 +const NELOG_NetlogonFailedDomainDelta=(ERRLOG2_BASE+29); 159 +const NELOG_NetlogonFailedGlobalGroupDelta=(ERRLOG2_BASE+30); 160 +const NELOG_NetlogonFailedLocalGroupDelta=(ERRLOG2_BASE+31); 161 +const NELOG_NetlogonFailedUserDelta=(ERRLOG2_BASE+32); 162 +const NELOG_NetlogonFailedPolicyDelta=(ERRLOG2_BASE+33); 163 +const NELOG_NetlogonFailedTrustedDomainDelta=(ERRLOG2_BASE+34); 164 +const NELOG_NetlogonFailedAccountDelta=(ERRLOG2_BASE+35); 165 +const NELOG_NetlogonFailedSecretDelta=(ERRLOG2_BASE+36); 166 +const NELOG_NetlogonSystemError=(ERRLOG2_BASE+37); 167 +const NELOG_NetlogonDuplicateMachineAccounts=(ERRLOG2_BASE+38); 168 +const NELOG_NetlogonTooManyGlobalGroups=(ERRLOG2_BASE+39); 169 +const NELOG_NetlogonBrowserDriver=(ERRLOG2_BASE+40); 170 +const NELOG_NetlogonAddNameFailure=(ERRLOG2_BASE+41); 171 +const NELOG_RplMessages=(ERRLOG2_BASE+42); 172 +const NELOG_RplXnsBoot=(ERRLOG2_BASE+43); 173 +const NELOG_RplSystem=(ERRLOG2_BASE+44); 174 +const NELOG_RplWkstaTimeout=(ERRLOG2_BASE+45); 175 +const NELOG_RplWkstaFileOpen=(ERRLOG2_BASE+46); 176 +const NELOG_RplWkstaFileRead=(ERRLOG2_BASE+47); 177 +const NELOG_RplWkstaMemory=(ERRLOG2_BASE+48); 178 +const NELOG_RplWkstaFileChecksum=(ERRLOG2_BASE+49); 179 +const NELOG_RplWkstaFileLineCount=(ERRLOG2_BASE+50); 180 +const NELOG_RplWkstaBbcFile=(ERRLOG2_BASE+51); 181 +const NELOG_RplWkstaFileSize=(ERRLOG2_BASE+52); 182 +const NELOG_RplWkstaInternal=(ERRLOG2_BASE+53); 183 +const NELOG_RplWkstaWrongVersion=(ERRLOG2_BASE+54); 184 +const NELOG_RplWkstaNetwork=(ERRLOG2_BASE+55); 185 +const NELOG_RplAdapterResource=(ERRLOG2_BASE+56); 186 +const NELOG_RplFileCopy=(ERRLOG2_BASE+57); 187 +const NELOG_RplFileDelete=(ERRLOG2_BASE+58); 188 +const NELOG_RplFilePerms=(ERRLOG2_BASE+59); 189 +const NELOG_RplCheckConfigs=(ERRLOG2_BASE+60); 190 +const NELOG_RplCreateProfiles=(ERRLOG2_BASE+61); 191 +const NELOG_RplRegistry=(ERRLOG2_BASE+62); 192 +const NELOG_RplReplaceRPLDISK=(ERRLOG2_BASE+63); 193 +const NELOG_RplCheckSecurity=(ERRLOG2_BASE+64); 194 +const NELOG_RplBackupDatabase=(ERRLOG2_BASE+65); 195 +const NELOG_RplInitDatabase=(ERRLOG2_BASE+66); 196 +const NELOG_RplRestoreDatabaseFailure=(ERRLOG2_BASE+67); 197 +const NELOG_RplRestoreDatabaseSuccess=(ERRLOG2_BASE+68); 198 +const NELOG_RplInitRestoredDatabase=(ERRLOG2_BASE+69); 199 +const NELOG_NetlogonSessionTypeWrong=(ERRLOG2_BASE+70); 200 + 201 +struct ERROR_LOG { 202 + DWORD el_len; 203 + DWORD el_reserved; 204 + DWORD el_time; 205 + DWORD el_error; 206 + LPWSTR el_name; 207 + LPWSTR el_text; 208 + LPBYTE el_data; 209 + DWORD el_data_size; 210 + DWORD el_nstrings; 211 +} 212 +alias ERROR_LOG* PERROR_LOG, LPERROR_LOG; 213 + 214 +extern (Windows) { 215 + deprecated { 216 + NET_API_STATUS NetErrorLogClear(LPCWSTR, LPCWSTR, LPBYTE); 217 + NET_API_STATUS NetErrorLogRead(LPCWSTR, LPWSTR, LPHLOG, DWORD, 218 + LPDWORD, DWORD, DWORD, LPBYTE*, DWORD, LPDWORD, LPDWORD); 219 + NET_API_STATUS NetErrorLogWrite(LPBYTE, DWORD, LPCWSTR, LPBYTE, 220 + DWORD, LPBYTE, DWORD, LPBYTE); 221 + } 222 +}

Added src/win32/lmmsg.d version [4a6a27a65a3145c6]

1 +/***********************************************************************\ 2 +* lmmsg.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmmsg; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +private import win32.lmcons, win32.windef, win32.w32api; 14 + 15 +static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x501, 16 + "win32.lmmsg is available only if version WindowsXP, Windows2003 " 17 + "or WindowsVista is set"); 18 + 19 +const MSGNAME_NOT_FORWARDED = 0; 20 +const MSGNAME_FORWARDED_TO = 4; 21 +const MSGNAME_FORWARDED_FROM = 16; 22 + 23 +struct MSG_INFO_0 { 24 + LPWSTR msgi0_name; 25 +} 26 +alias MSG_INFO_0* PMSG_INFO_0, LPMSG_INFO_0; 27 + 28 +struct MSG_INFO_1 { 29 + LPWSTR msgi1_name; 30 + DWORD msgi1_forward_flag; 31 + LPWSTR msgi1_forward; 32 +} 33 +alias MSG_INFO_1* PMSG_INFO_1, LPMSG_INFO_1; 34 + 35 +extern (Windows) { 36 + NET_API_STATUS NetMessageBufferSend(LPCWSTR, LPCWSTR, LPCWSTR, PBYTE, 37 + DWORD); 38 + NET_API_STATUS NetMessageNameAdd(LPCWSTR, LPCWSTR); 39 + NET_API_STATUS NetMessageNameDel(LPCWSTR, LPCWSTR); 40 + NET_API_STATUS NetMessageNameEnum(LPCWSTR, DWORD, PBYTE*, DWORD, PDWORD, 41 + PDWORD, PDWORD); 42 + NET_API_STATUS NetMessageNameGetInfo(LPCWSTR, LPCWSTR, DWORD, PBYTE*); 43 +}

Added src/win32/lmremutl.d version [b30e381dc9b94de5]

1 +/***********************************************************************\ 2 +* lmremutl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmremutl; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +// D Conversion Note: DESC_CHAR is defined as TCHAR. 14 + 15 +private import win32.lmcons, win32.windef; 16 + 17 +const SUPPORTS_REMOTE_ADMIN_PROTOCOL = 2; 18 +const SUPPORTS_RPC = 4; 19 +const SUPPORTS_SAM_PROTOCOL = 8; 20 +const SUPPORTS_UNICODE = 16; 21 +const SUPPORTS_LOCAL = 32; 22 +const SUPPORTS_ANY = 0xFFFFFFFF; 23 + 24 +const NO_PERMISSION_REQUIRED = 1; 25 +const ALLOCATE_RESPONSE = 2; 26 +const USE_SPECIFIC_TRANSPORT = 0x80000000; 27 + 28 +//[Yes] #ifndef DESC_CHAR_UNICODE 29 +//alias CHAR DESC_CHAR; 30 +//} else { 31 +//[No] #else 32 +//[No] typedef WCHAR DESC_CHAR; 33 +//[No] #endif 34 +// FIXME (D): Is this OK? 35 +alias TCHAR DESC_CHAR; 36 + 37 +alias DESC_CHAR* LPDESC; 38 + 39 +struct TIME_OF_DAY_INFO { 40 + DWORD tod_elapsedt; 41 + DWORD tod_msecs; 42 + DWORD tod_hours; 43 + DWORD tod_mins; 44 + DWORD tod_secs; 45 + DWORD tod_hunds; 46 + LONG tod_timezone; 47 + DWORD tod_tinterval; 48 + DWORD tod_day; 49 + DWORD tod_month; 50 + DWORD tod_year; 51 + DWORD tod_weekday; 52 +} 53 +alias TIME_OF_DAY_INFO* PTIME_OF_DAY_INFO, LPTIME_OF_DAY_INFO; 54 + 55 +extern (Windows) { 56 + NET_API_STATUS NetRemoteTOD(LPCWSTR, PBYTE*); 57 + NET_API_STATUS NetRemoteComputerSupports(LPCWSTR, DWORD, PDWORD); 58 + NET_API_STATUS RxRemoteApi(DWORD, LPCWSTR, LPDESC, LPDESC, LPDESC, 59 + LPDESC, LPDESC, LPDESC, LPDESC, DWORD, ...); 60 +}

Added src/win32/lmrepl.d version [8f5e4a7a7a045062]

1 +/***********************************************************************\ 2 +* lmrepl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmrepl; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +private import win32.lmcons, win32.windef; 14 + 15 +const REPL_ROLE_EXPORT=1; 16 +const REPL_ROLE_IMPORT=2; 17 +const REPL_ROLE_BOTH=3; 18 + 19 +const REPL_INTERVAL_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+0; 20 +const REPL_PULSE_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+1; 21 +const REPL_GUARDTIME_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+2; 22 +const REPL_RANDOM_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+3; 23 + 24 +const REPL_UNLOCK_NOFORCE=0; 25 +const REPL_UNLOCK_FORCE=1; 26 +const REPL_STATE_OK=0; 27 +const REPL_STATE_NO_MASTER=1; 28 +const REPL_STATE_NO_SYNC=2; 29 +const REPL_STATE_NEVER_REPLICATED=3; 30 +const REPL_INTEGRITY_FILE=1; 31 +const REPL_INTEGRITY_TREE=2; 32 +const REPL_EXTENT_FILE=1; 33 +const REPL_EXTENT_TREE=2; 34 + 35 +const REPL_EXPORT_INTEGRITY_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+0; 36 +const REPL_EXPORT_EXTENT_INFOLEVEL = PARMNUM_BASE_INFOLEVEL+1; 37 + 38 +struct REPL_INFO_0 { 39 + DWORD rp0_role; 40 + LPWSTR rp0_exportpath; 41 + LPWSTR rp0_exportlist; 42 + LPWSTR rp0_importpath; 43 + LPWSTR rp0_importlist; 44 + LPWSTR rp0_logonusername; 45 + DWORD rp0_interval; 46 + DWORD rp0_pulse; 47 + DWORD rp0_guardtime; 48 + DWORD rp0_random; 49 +} 50 +alias REPL_INFO_0* PREPL_INFO_0, LPREPL_INFO_0; 51 + 52 +struct REPL_INFO_1000 { 53 + DWORD rp1000_interval; 54 +} 55 +alias REPL_INFO_1000* PREPL_INFO_1000, LPREPL_INFO_1000; 56 + 57 +struct REPL_INFO_1001 { 58 + DWORD rp1001_pulse; 59 +} 60 +alias REPL_INFO_1001* PREPL_INFO_1001, LPREPL_INFO_1001; 61 + 62 +struct REPL_INFO_1002 { 63 + DWORD rp1002_guardtime; 64 +} 65 +alias REPL_INFO_1002* PREPL_INFO_1002, LPREPL_INFO_1002; 66 + 67 +struct REPL_INFO_1003 { 68 + DWORD rp1003_random; 69 +} 70 +alias REPL_INFO_1003* PREPL_INFO_1003, LPREPL_INFO_1003; 71 + 72 +struct REPL_EDIR_INFO_0 { 73 + LPWSTR rped0_dirname; 74 +} 75 +alias REPL_EDIR_INFO_0* PREPL_EDIR_INFO_0, LPREPL_EDIR_INFO_0; 76 + 77 +struct REPL_EDIR_INFO_1 { 78 + LPWSTR rped1_dirname; 79 + DWORD rped1_integrity; 80 + DWORD rped1_extent; 81 +} 82 +alias REPL_EDIR_INFO_1* PREPL_EDIR_INFO_1, LPREPL_EDIR_INFO_1; 83 + 84 +struct REPL_EDIR_INFO_2 { 85 + LPWSTR rped2_dirname; 86 + DWORD rped2_integrity; 87 + DWORD rped2_extent; 88 + DWORD rped2_lockcount; 89 + DWORD rped2_locktime; 90 +} 91 +alias REPL_EDIR_INFO_2* PREPL_EDIR_INFO_2, LPREPL_EDIR_INFO_2; 92 + 93 +struct REPL_EDIR_INFO_1000 { 94 + DWORD rped1000_integrity; 95 +} 96 +alias REPL_EDIR_INFO_1000* PREPL_EDIR_INFO_1000, LPREPL_EDIR_INFO_1000; 97 + 98 +struct REPL_EDIR_INFO_1001 { 99 + DWORD rped1001_extent; 100 +} 101 +alias REPL_EDIR_INFO_1001* PREPL_EDIR_INFO_1001, LPREPL_EDIR_INFO_1001; 102 + 103 +struct REPL_IDIR_INFO_0 { 104 + LPWSTR rpid0_dirname; 105 +} 106 +alias REPL_IDIR_INFO_0* PREPL_IDIR_INFO_0, LPREPL_IDIR_INFO_0; 107 + 108 +struct REPL_IDIR_INFO_1 { 109 + LPWSTR rpid1_dirname; 110 + DWORD rpid1_state; 111 + LPWSTR rpid1_mastername; 112 + DWORD rpid1_last_update_time; 113 + DWORD rpid1_lockcount; 114 + DWORD rpid1_locktime; 115 +} 116 +alias REPL_IDIR_INFO_1* PREPL_IDIR_INFO_1, LPREPL_IDIR_INFO_1; 117 + 118 +extern (Windows) { 119 +NET_API_STATUS NetReplGetInfo(LPCWSTR,DWORD,PBYTE*); 120 +NET_API_STATUS NetReplSetInfo(LPCWSTR,DWORD,PBYTE,PDWORD); 121 +NET_API_STATUS NetReplExportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 122 +NET_API_STATUS NetReplExportDirDel(LPCWSTR,LPCWSTR); 123 +NET_API_STATUS NetReplExportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 124 +NET_API_STATUS NetReplExportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 125 +NET_API_STATUS NetReplExportDirSetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE,PDWORD); 126 +NET_API_STATUS NetReplExportDirLock(LPCWSTR,LPCWSTR); 127 +NET_API_STATUS NetReplExportDirUnlock(LPCWSTR,LPCWSTR,DWORD); 128 +NET_API_STATUS NetReplImportDirAdd(LPCWSTR,DWORD,PBYTE,PDWORD); 129 +NET_API_STATUS NetReplImportDirDel(LPCWSTR,LPCWSTR); 130 +NET_API_STATUS NetReplImportDirEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 131 +NET_API_STATUS NetReplImportDirGetInfo(LPCWSTR,LPCWSTR,DWORD,PBYTE*); 132 +NET_API_STATUS NetReplImportDirLock(LPCWSTR,LPCWSTR); 133 +NET_API_STATUS NetReplImportDirUnlock(LPCWSTR,LPCWSTR,DWORD); 134 +}

Added src/win32/lmserver.d version [8d2219491fd686fa]

1 +/***********************************************************************\ 2 +* lmserver.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmserver; 11 + 12 +import win32.winsvc; 13 +private import win32.lmcons, win32.windef; 14 + 15 +struct SERVER_INFO_100 { 16 + DWORD sv100_platform_id; 17 + LPWSTR sv100_name; 18 +} 19 +alias SERVER_INFO_100* PSERVER_INFO_100, LPSERVER_INFO_100; 20 + 21 +struct SERVER_INFO_101 { 22 + DWORD sv101_platform_id; 23 + LPWSTR sv101_name; 24 + DWORD sv101_version_major; 25 + DWORD sv101_version_minor; 26 + DWORD sv101_type; 27 + LPWSTR sv101_comment; 28 +} 29 +alias SERVER_INFO_101* PSERVER_INFO_101, LPSERVER_INFO_101; 30 + 31 +struct SERVER_INFO_102 { 32 + DWORD sv102_platform_id; 33 + LPWSTR sv102_name; 34 + DWORD sv102_version_major; 35 + DWORD sv102_version_minor; 36 + DWORD sv102_type; 37 + LPWSTR sv102_comment; 38 + DWORD sv102_users; 39 + LONG sv102_disc; 40 + BOOL sv102_hidden; 41 + DWORD sv102_announce; 42 + DWORD sv102_anndelta; 43 + DWORD sv102_licenses; 44 + LPWSTR sv102_userpath; 45 +} 46 +alias SERVER_INFO_102* PSERVER_INFO_102, LPSERVER_INFO_102; 47 + 48 +struct SERVER_INFO_402 { 49 + DWORD sv402_ulist_mtime; 50 + DWORD sv402_glist_mtime; 51 + DWORD sv402_alist_mtime; 52 + LPWSTR sv402_alerts; 53 + DWORD sv402_security; 54 + DWORD sv402_numadmin; 55 + DWORD sv402_lanmask; 56 + LPWSTR sv402_guestacct; 57 + DWORD sv402_chdevs; 58 + DWORD sv402_chdevq; 59 + DWORD sv402_chdevjobs; 60 + DWORD sv402_connections; 61 + DWORD sv402_shares; 62 + DWORD sv402_openfiles; 63 + DWORD sv402_sessopens; 64 + DWORD sv402_sessvcs; 65 + DWORD sv402_sessreqs; 66 + DWORD sv402_opensearch; 67 + DWORD sv402_activelocks; 68 + DWORD sv402_numreqbuf; 69 + DWORD sv402_sizreqbuf; 70 + DWORD sv402_numbigbuf; 71 + DWORD sv402_numfiletasks; 72 + DWORD sv402_alertsched; 73 + DWORD sv402_erroralert; 74 + DWORD sv402_logonalert; 75 + DWORD sv402_accessalert; 76 + DWORD sv402_diskalert; 77 + DWORD sv402_netioalert; 78 + DWORD sv402_maxauditsz; 79 + LPWSTR sv402_srvheuristics; 80 +} 81 +alias SERVER_INFO_402* PSERVER_INFO_402, LPSERVER_INFO_402; 82 + 83 +struct SERVER_INFO_403 { 84 + DWORD sv403_ulist_mtime; 85 + DWORD sv403_glist_mtime; 86 + DWORD sv403_alist_mtime; 87 + LPWSTR sv403_alerts; 88 + DWORD sv403_security; 89 + DWORD sv403_numadmin; 90 + DWORD sv403_lanmask; 91 + LPWSTR sv403_guestacct; 92 + DWORD sv403_chdevs; 93 + DWORD sv403_chdevq; 94 + DWORD sv403_chdevjobs; 95 + DWORD sv403_connections; 96 + DWORD sv403_shares; 97 + DWORD sv403_openfiles; 98 + DWORD sv403_sessopens; 99 + DWORD sv403_sessvcs; 100 + DWORD sv403_sessreqs; 101 + DWORD sv403_opensearch; 102 + DWORD sv403_activelocks; 103 + DWORD sv403_numreqbuf; 104 + DWORD sv403_sizreqbuf; 105 + DWORD sv403_numbigbuf; 106 + DWORD sv403_numfiletasks; 107 + DWORD sv403_alertsched; 108 + DWORD sv403_erroralert; 109 + DWORD sv403_logonalert; 110 + DWORD sv403_accessalert; 111 + DWORD sv403_diskalert; 112 + DWORD sv403_netioalert; 113 + DWORD sv403_maxauditsz; 114 + LPWSTR sv403_srvheuristics; 115 + DWORD sv403_auditedevents; 116 + DWORD sv403_autoprofile; 117 + LPWSTR sv403_autopath; 118 +} 119 +alias SERVER_INFO_403* PSERVER_INFO_403, LPSERVER_INFO_403; 120 + 121 +struct SERVER_INFO_502 { 122 + DWORD sv502_sessopens; 123 + DWORD sv502_sessvcs; 124 + DWORD sv502_opensearch; 125 + DWORD sv502_sizreqbuf; 126 + DWORD sv502_initworkitems; 127 + DWORD sv502_maxworkitems; 128 + DWORD sv502_rawworkitems; 129 + DWORD sv502_irpstacksize; 130 + DWORD sv502_maxrawbuflen; 131 + DWORD sv502_sessusers; 132 + DWORD sv502_sessconns; 133 + DWORD sv502_maxpagedmemoryusage; 134 + DWORD sv502_maxnonpagedmemoryusage; 135 + BOOL sv502_enablesoftcompat; 136 + BOOL sv502_enableforcedlogoff; 137 + BOOL sv502_timesource; 138 + BOOL sv502_acceptdownlevelapis; 139 + BOOL sv502_lmannounce; 140 +} 141 +alias SERVER_INFO_502* PSERVER_INFO_502, LPSERVER_INFO_502; 142 + 143 +struct SERVER_INFO_503 { 144 + DWORD sv503_sessopens; 145 + DWORD sv503_sessvcs; 146 + DWORD sv503_opensearch; 147 + DWORD sv503_sizreqbuf; 148 + DWORD sv503_initworkitems; 149 + DWORD sv503_maxworkitems; 150 + DWORD sv503_rawworkitems; 151 + DWORD sv503_irpstacksize; 152 + DWORD sv503_maxrawbuflen; 153 + DWORD sv503_sessusers; 154 + DWORD sv503_sessconns; 155 + DWORD sv503_maxpagedmemoryusage; 156 + DWORD sv503_maxnonpagedmemoryusage; 157 + BOOL sv503_enablesoftcompat; 158 + BOOL sv503_enableforcedlogoff; 159 + BOOL sv503_timesource; 160 + BOOL sv503_acceptdownlevelapis; 161 + BOOL sv503_lmannounce; 162 + LPWSTR sv503_domain; 163 + DWORD sv503_maxcopyreadlen; 164 + DWORD sv503_maxcopywritelen; 165 + DWORD sv503_minkeepsearch; 166 + DWORD sv503_maxkeepsearch; 167 + DWORD sv503_minkeepcomplsearch; 168 + DWORD sv503_maxkeepcomplsearch; 169 + DWORD sv503_threadcountadd; 170 + DWORD sv503_numblockthreads; 171 + DWORD sv503_scavtimeout; 172 + DWORD sv503_minrcvqueue; 173 + DWORD sv503_minfreeworkitems; 174 + DWORD sv503_xactmemsize; 175 + DWORD sv503_threadpriority; 176 + DWORD sv503_maxmpxct; 177 + DWORD sv503_oplockbreakwait; 178 + DWORD sv503_oplockbreakresponsewait; 179 + BOOL sv503_enableoplocks; 180 + BOOL sv503_enableoplockforceclose; 181 + BOOL sv503_enablefcbopens; 182 + BOOL sv503_enableraw; 183 + BOOL sv503_enablesharednetdrives; 184 + DWORD sv503_minfreeconnections; 185 + DWORD sv503_maxfreeconnections; 186 +} 187 +alias SERVER_INFO_503* PSERVER_INFO_503, LPSERVER_INFO_503; 188 + 189 +struct SERVER_INFO_599 { 190 + DWORD sv599_sessopens; 191 + DWORD sv599_sessvcs; 192 + DWORD sv599_opensearch; 193 + DWORD sv599_sizreqbuf; 194 + DWORD sv599_initworkitems; 195 + DWORD sv599_maxworkitems; 196 + DWORD sv599_rawworkitems; 197 + DWORD sv599_irpstacksize; 198 + DWORD sv599_maxrawbuflen; 199 + DWORD sv599_sessusers; 200 + DWORD sv599_sessconns; 201 + DWORD sv599_maxpagedmemoryusage; 202 + DWORD sv599_maxnonpagedmemoryusage; 203 + BOOL sv599_enablesoftcompat; 204 + BOOL sv599_enableforcedlogoff; 205 + BOOL sv599_timesource; 206 + BOOL sv599_acceptdownlevelapis; 207 + BOOL sv599_lmannounce; 208 + LPWSTR sv599_domain; 209 + DWORD sv599_maxcopyreadlen; 210 + DWORD sv599_maxcopywritelen; 211 + DWORD sv599_minkeepsearch; 212 + DWORD sv599_maxkeepsearch; 213 + DWORD sv599_minkeepcomplsearch; 214 + DWORD sv599_maxkeepcomplsearch; 215 + DWORD sv599_threadcountadd; 216 + DWORD sv599_numblockthreads; 217 + DWORD sv599_scavtimeout; 218 + DWORD sv599_minrcvqueue; 219 + DWORD sv599_minfreeworkitems; 220 + DWORD sv599_xactmemsize; 221 + DWORD sv599_threadpriority; 222 + DWORD sv599_maxmpxct; 223 + DWORD sv599_oplockbreakwait; 224 + DWORD sv599_oplockbreakresponsewait; 225 + BOOL sv599_enableoplocks; 226 + BOOL sv599_enableoplockforceclose; 227 + BOOL sv599_enablefcbopens; 228 + BOOL sv599_enableraw; 229 + BOOL sv599_enablesharednetdrives; 230 + DWORD sv599_minfreeconnections; 231 + DWORD sv599_maxfreeconnections; 232 + DWORD sv599_initsesstable; 233 + DWORD sv599_initconntable; 234 + DWORD sv599_initfiletable; 235 + DWORD sv599_initsearchtable; 236 + DWORD sv599_alertschedule; 237 + DWORD sv599_errorthreshold; 238 + DWORD sv599_networkerrorthreshold; 239 + DWORD sv599_diskspacethreshold; 240 + DWORD sv599_reserved; 241 + DWORD sv599_maxlinkdelay; 242 + DWORD sv599_minlinkthroughput; 243 + DWORD sv599_linkinfovalidtime; 244 + DWORD sv599_scavqosinfoupdatetime; 245 + DWORD sv599_maxworkitemidletime; 246 +} 247 +alias SERVER_INFO_599* PSERVER_INFO_599, LPSERVER_INFO_599; 248 + 249 +struct SERVER_INFO_598 { 250 + DWORD sv598_maxrawworkitems; 251 + DWORD sv598_maxthreadsperqueue; 252 + DWORD sv598_producttype; 253 + DWORD sv598_serversize; 254 + DWORD sv598_connectionlessautodisc; 255 + DWORD sv598_sharingviolationretries; 256 + DWORD sv598_sharingviolationdelay; 257 + DWORD sv598_maxglobalopensearch; 258 + DWORD sv598_removeduplicatesearches; 259 + DWORD sv598_lockviolationoffset; 260 + DWORD sv598_lockviolationdelay; 261 + DWORD sv598_mdlreadswitchover; 262 + DWORD sv598_cachedopenlimit; 263 + DWORD sv598_otherqueueaffinity; 264 + BOOL sv598_restrictnullsessaccess; 265 + BOOL sv598_enablewfw311directipx; 266 + DWORD sv598_queuesamplesecs; 267 + DWORD sv598_balancecount; 268 + DWORD sv598_preferredaffinity; 269 + DWORD sv598_maxfreerfcbs; 270 + DWORD sv598_maxfreemfcbs; 271 + DWORD sv598_maxfreelfcbs; 272 + DWORD sv598_maxfreepagedpoolchunks; 273 + DWORD sv598_minpagedpoolchunksize; 274 + DWORD sv598_maxpagedpoolchunksize; 275 + BOOL sv598_sendsfrompreferredprocessor; 276 +} 277 +alias SERVER_INFO_598* PSERVER_INFO_598, LPSERVER_INFO_598; 278 + 279 +struct SERVER_INFO_1005 { 280 + LPWSTR sv1005_comment; 281 +} 282 +alias SERVER_INFO_1005* PSERVER_INFO_1005, LPSERVER_INFO_1005; 283 + 284 +struct SERVER_INFO_1107 { 285 + DWORD sv1107_users; 286 +} 287 +alias SERVER_INFO_1107* PSERVER_INFO_1107, LPSERVER_INFO_1107; 288 + 289 +struct SERVER_INFO_1010 { 290 + LONG sv1010_disc; 291 +} 292 +alias SERVER_INFO_1010* PSERVER_INFO_1010, LPSERVER_INFO_1010; 293 + 294 +struct SERVER_INFO_1016 { 295 + BOOL sv1016_hidden; 296 +} 297 +alias SERVER_INFO_1016* PSERVER_INFO_1016, LPSERVER_INFO_1016; 298 + 299 +struct SERVER_INFO_1017 { 300 + DWORD sv1017_announce; 301 +} 302 +alias SERVER_INFO_1017* PSERVER_INFO_1017, LPSERVER_INFO_1017; 303 + 304 +struct SERVER_INFO_1018 { 305 + DWORD sv1018_anndelta; 306 +} 307 +alias SERVER_INFO_1018* PSERVER_INFO_1018, LPSERVER_INFO_1018; 308 + 309 +struct SERVER_INFO_1501 { 310 + DWORD sv1501_sessopens; 311 +} 312 +alias SERVER_INFO_1501* PSERVER_INFO_1501, LPSERVER_INFO_1501; 313 + 314 +struct SERVER_INFO_1502 { 315 + DWORD sv1502_sessvcs; 316 +} 317 +alias SERVER_INFO_1502* PSERVER_INFO_1502, LPSERVER_INFO_1502; 318 + 319 +struct SERVER_INFO_1503 { 320 + DWORD sv1503_opensearch; 321 +} 322 +alias SERVER_INFO_1503* PSERVER_INFO_1503, LPSERVER_INFO_1503; 323 + 324 +struct SERVER_INFO_1506 { 325 + DWORD sv1506_maxworkitems; 326 +} 327 +alias SERVER_INFO_1506* PSERVER_INFO_1506, LPSERVER_INFO_1506; 328 + 329 +struct SERVER_INFO_1509 { 330 + DWORD sv1509_maxrawbuflen; 331 +} 332 +alias SERVER_INFO_1509* PSERVER_INFO_1509, LPSERVER_INFO_1509; 333 + 334 +struct SERVER_INFO_1510 { 335 + DWORD sv1510_sessusers; 336 +} 337 +alias SERVER_INFO_1510* PSERVER_INFO_1510, LPSERVER_INFO_1510; 338 + 339 +struct SERVER_INFO_1511 { 340 + DWORD sv1511_sessconns; 341 +} alias SERVER_INFO_1511* PSERVER_INFO_1511, LPSERVER_INFO_1511; 342 + 343 +struct SERVER_INFO_1512 { 344 + DWORD sv1512_maxnonpagedmemoryusage; 345 +} 346 +alias SERVER_INFO_1512* PSERVER_INFO_1512, LPSERVER_INFO_1512; 347 + 348 +struct SERVER_INFO_1513 { 349 + DWORD sv1513_maxpagedmemoryusage; 350 +} 351 +alias SERVER_INFO_1513* PSERVER_INFO_1513, LPSERVER_INFO_1513; 352 + 353 +struct SERVER_INFO_1514 { 354 + BOOL sv1514_enablesoftcompat; 355 +} 356 +alias SERVER_INFO_1514* PSERVER_INFO_1514, LPSERVER_INFO_1514; 357 + 358 +struct SERVER_INFO_1515 { 359 + BOOL sv1515_enableforcedlogoff; 360 +} 361 +alias SERVER_INFO_1515* PSERVER_INFO_1515, LPSERVER_INFO_1515; 362 + 363 +struct SERVER_INFO_1516 { 364 + BOOL sv1516_timesource; 365 +} 366 +alias SERVER_INFO_1516* PSERVER_INFO_1516, LPSERVER_INFO_1516; 367 + 368 +struct SERVER_INFO_1518 { 369 + BOOL sv1518_lmannounce; 370 +} 371 +alias SERVER_INFO_1518* PSERVER_INFO_1518, LPSERVER_INFO_1518; 372 + 373 +struct SERVER_INFO_1520 { 374 + DWORD sv1520_maxcopyreadlen; 375 +} 376 +alias SERVER_INFO_1520* PSERVER_INFO_1520, LPSERVER_INFO_1520; 377 + 378 +struct SERVER_INFO_1521 { 379 + DWORD sv1521_maxcopywritelen; 380 +} 381 +alias SERVER_INFO_1521* PSERVER_INFO_1521, LPSERVER_INFO_1521; 382 + 383 +struct SERVER_INFO_1522 { 384 + DWORD sv1522_minkeepsearch; 385 +} 386 +alias SERVER_INFO_1522* PSERVER_INFO_1522, LPSERVER_INFO_1522; 387 + 388 +struct SERVER_INFO_1523 { 389 + DWORD sv1523_maxkeepsearch; 390 +} 391 +alias SERVER_INFO_1523* PSERVER_INFO_1523, LPSERVER_INFO_1523; 392 + 393 +struct SERVER_INFO_1524 { 394 + DWORD sv1524_minkeepcomplsearch; 395 +} 396 +alias SERVER_INFO_1524* PSERVER_INFO_1524, LPSERVER_INFO_1524; 397 + 398 +struct SERVER_INFO_1525 { 399 + DWORD sv1525_maxkeepcomplsearch; 400 +} 401 +alias SERVER_INFO_1525* PSERVER_INFO_1525, LPSERVER_INFO_1525; 402 + 403 +struct SERVER_INFO_1528 { 404 + DWORD sv1528_scavtimeout; 405 +} 406 +alias SERVER_INFO_1528* PSERVER_INFO_1528, LPSERVER_INFO_1528; 407 + 408 +struct SERVER_INFO_1529 { 409 + DWORD sv1529_minrcvqueue; 410 +} 411 +alias SERVER_INFO_1529* PSERVER_INFO_1529, LPSERVER_INFO_1529; 412 + 413 +struct SERVER_INFO_1530 { 414 + DWORD sv1530_minfreeworkitems; 415 +} 416 +alias SERVER_INFO_1530* PSERVER_INFO_1530, LPSERVER_INFO_1530; 417 + 418 +struct SERVER_INFO_1533 { 419 + DWORD sv1533_maxmpxct; 420 +} 421 +alias SERVER_INFO_1533* PSERVER_INFO_1533, LPSERVER_INFO_1533; 422 + 423 +struct SERVER_INFO_1534 { 424 + DWORD sv1534_oplockbreakwait; 425 +} 426 +alias SERVER_INFO_1534* PSERVER_INFO_1534, LPSERVER_INFO_1534; 427 + 428 +struct SERVER_INFO_1535 { 429 + DWORD sv1535_oplockbreakresponsewait; 430 +} 431 +alias SERVER_INFO_1535* PSERVER_INFO_1535, LPSERVER_INFO_1535; 432 + 433 +struct SERVER_INFO_1536 { 434 + BOOL sv1536_enableoplocks; 435 +} 436 +alias SERVER_INFO_1536* PSERVER_INFO_1536, LPSERVER_INFO_1536; 437 + 438 +struct SERVER_INFO_1537 { 439 + BOOL sv1537_enableoplockforceclose; 440 +} 441 +alias SERVER_INFO_1537* PSERVER_INFO_1537, LPSERVER_INFO_1537; 442 + 443 +struct SERVER_INFO_1538 { 444 + BOOL sv1538_enablefcbopens; 445 +} 446 +alias SERVER_INFO_1538* PSERVER_INFO_1538, LPSERVER_INFO_1538; 447 + 448 +struct SERVER_INFO_1539 { 449 + BOOL sv1539_enableraw; 450 +} 451 +alias SERVER_INFO_1539* PSERVER_INFO_1539, LPSERVER_INFO_1539; 452 + 453 +struct SERVER_INFO_1540 { 454 + BOOL sv1540_enablesharednetdrives; 455 +} 456 +alias SERVER_INFO_1540* PSERVER_INFO_1540, LPSERVER_INFO_1540; 457 + 458 +struct SERVER_INFO_1541 { 459 + BOOL sv1541_minfreeconnections; 460 +} 461 +alias SERVER_INFO_1541* PSERVER_INFO_1541, LPSERVER_INFO_1541; 462 + 463 +struct SERVER_INFO_1542 { 464 + BOOL sv1542_maxfreeconnections; 465 +} 466 +alias SERVER_INFO_1542* PSERVER_INFO_1542, LPSERVER_INFO_1542; 467 + 468 +struct SERVER_INFO_1543 { 469 + DWORD sv1543_initsesstable; 470 +} 471 +alias SERVER_INFO_1543* PSERVER_INFO_1543, LPSERVER_INFO_1543; 472 + 473 +struct SERVER_INFO_1544 { 474 + DWORD sv1544_initconntable; 475 +} 476 +alias SERVER_INFO_1544* PSERVER_INFO_1544, LPSERVER_INFO_1544; 477 + 478 +struct SERVER_INFO_1545 { 479 + DWORD sv1545_initfiletable; 480 +} 481 +alias SERVER_INFO_1545* PSERVER_INFO_1545, LPSERVER_INFO_1545; 482 + 483 +struct SERVER_INFO_1546 { 484 + DWORD sv1546_initsearchtable; 485 +} 486 +alias SERVER_INFO_1546* PSERVER_INFO_1546, LPSERVER_INFO_1546; 487 + 488 +struct SERVER_INFO_1547 { 489 + DWORD sv1547_alertschedule; 490 +} 491 +alias SERVER_INFO_1547* PSERVER_INFO_1547, LPSERVER_INFO_1547; 492 + 493 +struct SERVER_INFO_1548 { 494 + DWORD sv1548_errorthreshold; 495 +} 496 +alias SERVER_INFO_1548* PSERVER_INFO_1548, LPSERVER_INFO_1548; 497 + 498 +struct SERVER_INFO_1549 { 499 + DWORD sv1549_networkerrorthreshold; 500 +} 501 +alias SERVER_INFO_1549* PSERVER_INFO_1549, LPSERVER_INFO_1549; 502 + 503 +struct SERVER_INFO_1550 { 504 + DWORD sv1550_diskspacethreshold; 505 +} 506 +alias SERVER_INFO_1550* PSERVER_INFO_1550, LPSERVER_INFO_1550; 507 + 508 +struct SERVER_INFO_1552 { 509 + DWORD sv1552_maxlinkdelay; 510 +} 511 +alias SERVER_INFO_1552* PSERVER_INFO_1552, LPSERVER_INFO_1552; 512 + 513 +struct SERVER_INFO_1553 { 514 + DWORD sv1553_minlinkthroughput; 515 +} 516 +alias SERVER_INFO_1553* PSERVER_INFO_1553, LPSERVER_INFO_1553; 517 + 518 +struct SERVER_INFO_1554 { 519 + DWORD sv1554_linkinfovalidtime; 520 +} 521 +alias SERVER_INFO_1554* PSERVER_INFO_1554, LPSERVER_INFO_1554; 522 + 523 +struct SERVER_INFO_1555 { 524 + DWORD sv1555_scavqosinfoupdatetime; 525 +} 526 +alias SERVER_INFO_1555* PSERVER_INFO_1555, LPSERVER_INFO_1555; 527 + 528 +struct SERVER_INFO_1556 { 529 + DWORD sv1556_maxworkitemidletime; 530 +} 531 +alias SERVER_INFO_1556* PSERVER_INFO_1556, LPSERVER_INFO_1556; 532 + 533 +struct SERVER_INFO_1557 { 534 + DWORD sv1557_maxrawworkitems; 535 +} 536 +alias SERVER_INFO_1557* PSERVER_INFO_1557, LPSERVER_INFO_1557; 537 + 538 +struct SERVER_INFO_1560 { 539 + DWORD sv1560_producttype; 540 +} 541 +alias SERVER_INFO_1560* PSERVER_INFO_1560, LPSERVER_INFO_1560; 542 + 543 +struct SERVER_INFO_1561 { 544 + DWORD sv1561_serversize; 545 +} 546 +alias SERVER_INFO_1561* PSERVER_INFO_1561, LPSERVER_INFO_1561; 547 + 548 +struct SERVER_INFO_1562 { 549 + DWORD sv1562_connectionlessautodisc; 550 +} 551 +alias SERVER_INFO_1562* PSERVER_INFO_1562, LPSERVER_INFO_1562; 552 + 553 +struct SERVER_INFO_1563 { 554 + DWORD sv1563_sharingviolationretries; 555 +} 556 +alias SERVER_INFO_1563* PSERVER_INFO_1563, LPSERVER_INFO_1563; 557 + 558 +struct SERVER_INFO_1564 { 559 + DWORD sv1564_sharingviolationdelay; 560 +} 561 +alias SERVER_INFO_1564* PSERVER_INFO_1564, LPSERVER_INFO_1564; 562 + 563 +struct SERVER_INFO_1565 { 564 + DWORD sv1565_maxglobalopensearch; 565 +} 566 +alias SERVER_INFO_1565* PSERVER_INFO_1565, LPSERVER_INFO_1565; 567 + 568 +struct SERVER_INFO_1566 { 569 + BOOL sv1566_removeduplicatesearches; 570 +} 571 +alias SERVER_INFO_1566* PSERVER_INFO_1566, LPSERVER_INFO_1566; 572 + 573 +struct SERVER_INFO_1567 { 574 + DWORD sv1567_lockviolationretries; 575 +} 576 +alias SERVER_INFO_1567* PSERVER_INFO_1567, LPSERVER_INFO_1567; 577 + 578 +struct SERVER_INFO_1568 { 579 + DWORD sv1568_lockviolationoffset; 580 +} 581 +alias SERVER_INFO_1568* PSERVER_INFO_1568, LPSERVER_INFO_1568; 582 + 583 +struct SERVER_INFO_1569 { 584 + DWORD sv1569_lockviolationdelay; 585 +} 586 +alias SERVER_INFO_1569* PSERVER_INFO_1569, LPSERVER_INFO_1569; 587 + 588 +struct SERVER_INFO_1570 { 589 + DWORD sv1570_mdlreadswitchover; 590 +} 591 +alias SERVER_INFO_1570* PSERVER_INFO_1570, LPSERVER_INFO_1570; 592 + 593 +struct SERVER_INFO_1571 { 594 + DWORD sv1571_cachedopenlimit; 595 +} 596 +alias SERVER_INFO_1571* PSERVER_INFO_1571, LPSERVER_INFO_1571; 597 + 598 +struct SERVER_INFO_1572 { 599 + DWORD sv1572_criticalthreads; 600 +} 601 +alias SERVER_INFO_1572* PSERVER_INFO_1572, LPSERVER_INFO_1572; 602 + 603 +struct SERVER_INFO_1573 { 604 + DWORD sv1573_restrictnullsessaccess; 605 +} 606 +alias SERVER_INFO_1573* PSERVER_INFO_1573, LPSERVER_INFO_1573; 607 + 608 +struct SERVER_INFO_1574 { 609 + DWORD sv1574_enablewfw311directipx; 610 +} 611 +alias SERVER_INFO_1574* PSERVER_INFO_1574, LPSERVER_INFO_1574; 612 + 613 +struct SERVER_INFO_1575 { 614 + DWORD sv1575_otherqueueaffinity; 615 +} 616 +alias SERVER_INFO_1575* PSERVER_INFO_1575, LPSERVER_INFO_1575; 617 + 618 +struct SERVER_INFO_1576 { 619 + DWORD sv1576_queuesamplesecs; 620 +} 621 +alias SERVER_INFO_1576* PSERVER_INFO_1576, LPSERVER_INFO_1576; 622 + 623 +struct SERVER_INFO_1577 { 624 + DWORD sv1577_balancecount; 625 +} 626 +alias SERVER_INFO_1577* PSERVER_INFO_1577, LPSERVER_INFO_1577; 627 + 628 +struct SERVER_INFO_1578 { 629 + DWORD sv1578_preferredaffinity; 630 +} 631 +alias SERVER_INFO_1578* PSERVER_INFO_1578, LPSERVER_INFO_1578; 632 + 633 +struct SERVER_INFO_1579 { 634 + DWORD sv1579_maxfreerfcbs; 635 +} 636 +alias SERVER_INFO_1579* PSERVER_INFO_1579, LPSERVER_INFO_1579; 637 + 638 +struct SERVER_INFO_1580 { 639 + DWORD sv1580_maxfreemfcbs; 640 +} 641 +alias SERVER_INFO_1580* PSERVER_INFO_1580, LPSERVER_INFO_1580; 642 + 643 +struct SERVER_INFO_1581 { 644 + DWORD sv1581_maxfreemlcbs; 645 +} 646 +alias SERVER_INFO_1581* PSERVER_INFO_1581, LPSERVER_INFO_1581; 647 + 648 +struct SERVER_INFO_1582 { 649 + DWORD sv1582_maxfreepagedpoolchunks; 650 +} 651 +alias SERVER_INFO_1582* PSERVER_INFO_1582, LPSERVER_INFO_1582; 652 + 653 +struct SERVER_INFO_1583 { 654 + DWORD sv1583_minpagedpoolchunksize; 655 +} 656 +alias SERVER_INFO_1583* PSERVER_INFO_1583, LPSERVER_INFO_1583; 657 + 658 +struct SERVER_INFO_1584 { 659 + DWORD sv1584_maxpagedpoolchunksize; 660 +} 661 +alias SERVER_INFO_1584* PSERVER_INFO_1584, LPSERVER_INFO_1584; 662 + 663 +struct SERVER_INFO_1585 { 664 + BOOL sv1585_sendsfrompreferredprocessor; 665 +} 666 +alias SERVER_INFO_1585* PSERVER_INFO_1585, LPSERVER_INFO_1585; 667 + 668 +struct SERVER_INFO_1586 { 669 + BOOL sv1586_maxthreadsperqueue; 670 +} 671 +alias SERVER_INFO_1586* PSERVER_INFO_1586, LPSERVER_INFO_1586; 672 + 673 +struct SERVER_TRANSPORT_INFO_0 { 674 + DWORD svti0_numberofvcs; 675 + LPWSTR svti0_transportname; 676 + PBYTE svti0_transportaddress; 677 + DWORD svti0_transportaddresslength; 678 + LPWSTR svti0_networkaddress; 679 +} 680 +alias SERVER_TRANSPORT_INFO_0* PSERVER_TRANSPORT_INFO_0, 681 + LPSERVER_TRANSPORT_INFO_0; 682 + 683 +extern (Windows): 684 +NET_API_STATUS NetServerEnum(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,PDWORD); 685 +NET_API_STATUS NetServerEnumEx(LPCWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,DWORD,LPCWSTR,LPCWSTR); 686 +NET_API_STATUS NetServerGetInfo(LPWSTR,DWORD,PBYTE*); 687 +NET_API_STATUS NetServerSetInfo(LPWSTR,DWORD,PBYTE,PDWORD); 688 +NET_API_STATUS NetServerSetInfoCommandLine(WORD,LPWSTR*); 689 +NET_API_STATUS NetServerDiskEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 690 +NET_API_STATUS NetServerComputerNameAdd(LPWSTR,LPWSTR,LPWSTR); 691 +NET_API_STATUS NetServerComputerNameDel(LPWSTR,LPWSTR); 692 +NET_API_STATUS NetServerTransportAdd(LPWSTR,DWORD,PBYTE); 693 +NET_API_STATUS NetServerTransportAddEx(LPWSTR,DWORD,PBYTE); 694 +NET_API_STATUS NetServerTransportDel(LPWSTR,DWORD,PBYTE); 695 +NET_API_STATUS NetServerTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 696 +BOOL SetServiceBits(SERVICE_STATUS_HANDLE,DWORD,BOOL,BOOL); 697 + 698 +const SVI1_NUM_ELEMENTS=5; 699 +const SVI2_NUM_ELEMENTS=40; 700 +const SVI3_NUM_ELEMENTS=44; 701 +const SV_MAX_CMD_LEN=PATHLEN; 702 +const SW_AUTOPROF_LOAD_MASK=1; 703 +const SW_AUTOPROF_SAVE_MASK=2; 704 +const SV_MAX_SRV_HEUR_LEN=32; 705 +const SV_USERS_PER_LICENSE=5; 706 +const SV_PLATFORM_ID_OS2=400; 707 +const SV_PLATFORM_ID_NT=500; 708 +const MAJOR_VERSION_MASK=15; 709 +const SV_TYPE_WORKSTATION=1; 710 +const SV_TYPE_SERVER=2; 711 +const SV_TYPE_SQLSERVER=4; 712 +const SV_TYPE_DOMAIN_CTRL=8; 713 +const SV_TYPE_DOMAIN_BAKCTRL=16; 714 +const SV_TYPE_TIME_SOURCE=32; 715 +const SV_TYPE_AFP=64; 716 +const SV_TYPE_NOVELL=128; 717 +const SV_TYPE_DOMAIN_MEMBER=256; 718 +const SV_TYPE_PRINTQ_SERVER=512; 719 +const SV_TYPE_DIALIN_SERVER=1024; 720 +const SV_TYPE_XENIX_SERVER=2048; 721 +const SV_TYPE_SERVER_UNIX=SV_TYPE_XENIX_SERVER; 722 +const SV_TYPE_NT=4096; 723 +const SV_TYPE_WFW=8192; 724 +const SV_TYPE_SERVER_MFPN=16384; 725 +const SV_TYPE_SERVER_NT=32768; 726 +const SV_TYPE_POTENTIAL_BROWSER=65536; 727 +const SV_TYPE_BACKUP_BROWSER=0x20000; 728 +const SV_TYPE_MASTER_BROWSER=0x40000; 729 +const SV_TYPE_DOMAIN_MASTER=0x80000; 730 +const SV_TYPE_SERVER_OSF=0x100000; 731 +const SV_TYPE_SERVER_VMS=0x200000; 732 +const SV_TYPE_WINDOWS=0x400000; 733 +const SV_TYPE_ALTERNATE_XPORT=0x20000000; 734 +const SV_TYPE_LOCAL_LIST_ONLY=0x40000000; 735 +const SV_TYPE_DOMAIN_ENUM=0x80000000; 736 +const SV_TYPE_ALL=0xFFFFFFFF; 737 +const SV_NODISC=(-1); 738 +const SV_USERSECURITY=1; 739 +const SV_SHARESECURITY=0; 740 +const SV_HIDDEN=1; 741 +const SV_VISIBLE=0; 742 +const SV_PLATFORM_ID_PARMNUM=101; 743 +const SV_NAME_PARMNUM=102; 744 +const SV_VERSION_MAJOR_PARMNUM=103; 745 +const SV_VERSION_MINOR_PARMNUM=104; 746 +const SV_TYPE_PARMNUM=105; 747 +const SV_COMMENT_PARMNUM=5; 748 +const SV_USERS_PARMNUM=107; 749 +const SV_DISC_PARMNUM=10; 750 +const SV_HIDDEN_PARMNUM=16; 751 +const SV_ANNOUNCE_PARMNUM=17; 752 +const SV_ANNDELTA_PARMNUM=18; 753 +const SV_USERPATH_PARMNUM=112; 754 +const SV_ULIST_MTIME_PARMNUM=401; 755 +const SV_GLIST_MTIME_PARMNUM=402; 756 +const SV_ALIST_MTIME_PARMNUM=403; 757 +const SV_ALERTS_PARMNUM=11; 758 +const SV_SECURITY_PARMNUM=405; 759 +const SV_NUMADMIN_PARMNUM=406; 760 +const SV_LANMASK_PARMNUM=407; 761 +const SV_GUESTACC_PARMNUM=408; 762 +const SV_CHDEVQ_PARMNUM=410; 763 +const SV_CHDEVJOBS_PARMNUM=411; 764 +const SV_CONNECTIONS_PARMNUM=412; 765 +const SV_SHARES_PARMNUM=413; 766 +const SV_OPENFILES_PARMNUM=414; 767 +const SV_SESSREQS_PARMNUM=417; 768 +const SV_ACTIVELOCKS_PARMNUM=419; 769 +const SV_NUMREQBUF_PARMNUM=420; 770 +const SV_NUMBIGBUF_PARMNUM=422; 771 +const SV_NUMFILETASKS_PARMNUM=423; 772 +const SV_ALERTSCHED_PARMNUM=37; 773 +const SV_ERRORALERT_PARMNUM=38; 774 +const SV_LOGONALERT_PARMNUM=39; 775 +const SV_ACCESSALERT_PARMNUM=40; 776 +const SV_DISKALERT_PARMNUM=41; 777 +const SV_NETIOALERT_PARMNUM=42; 778 +const SV_MAXAUDITSZ_PARMNUM=43; 779 +const SV_SRVHEURISTICS_PARMNUM=431; 780 +const SV_SESSOPENS_PARMNUM=501; 781 +const SV_SESSVCS_PARMNUM=502; 782 +const SV_OPENSEARCH_PARMNUM=503; 783 +const SV_SIZREQBUF_PARMNUM=504; 784 +const SV_INITWORKITEMS_PARMNUM=505; 785 +const SV_MAXWORKITEMS_PARMNUM=506; 786 +const SV_RAWWORKITEMS_PARMNUM=507; 787 +const SV_IRPSTACKSIZE_PARMNUM=508; 788 +const SV_MAXRAWBUFLEN_PARMNUM=509; 789 +const SV_SESSUSERS_PARMNUM=510; 790 +const SV_SESSCONNS_PARMNUM=511; 791 +const SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM=512; 792 +const SV_MAXPAGEDMEMORYUSAGE_PARMNUM=513; 793 +const SV_ENABLESOFTCOMPAT_PARMNUM=514; 794 +const SV_ENABLEFORCEDLOGOFF_PARMNUM=515; 795 +const SV_TIMESOURCE_PARMNUM=516; 796 +const SV_ACCEPTDOWNLEVELAPIS_PARMNUM=517; 797 +const SV_LMANNOUNCE_PARMNUM=518; 798 +const SV_DOMAIN_PARMNUM=519; 799 +const SV_MAXCOPYREADLEN_PARMNUM=520; 800 +const SV_MAXCOPYWRITELEN_PARMNUM=521; 801 +const SV_MINKEEPSEARCH_PARMNUM=522; 802 +const SV_MAXKEEPSEARCH_PARMNUM=523; 803 +const SV_MINKEEPCOMPLSEARCH_PARMNUM=524; 804 +const SV_MAXKEEPCOMPLSEARCH_PARMNUM=525; 805 +const SV_THREADCOUNTADD_PARMNUM=526; 806 +const SV_NUMBLOCKTHREADS_PARMNUM=527; 807 +const SV_SCAVTIMEOUT_PARMNUM=528; 808 +const SV_MINRCVQUEUE_PARMNUM=529; 809 +const SV_MINFREEWORKITEMS_PARMNUM=530; 810 +const SV_XACTMEMSIZE_PARMNUM=531; 811 +const SV_THREADPRIORITY_PARMNUM=532; 812 +const SV_MAXMPXCT_PARMNUM=533; 813 +const SV_OPLOCKBREAKWAIT_PARMNUM=534; 814 +const SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM=535; 815 +const SV_ENABLEOPLOCKS_PARMNUM=536; 816 +const SV_ENABLEOPLOCKFORCECLOSE_PARMNUM=537; 817 +const SV_ENABLEFCBOPENS_PARMNUM=538; 818 +const SV_ENABLERAW_PARMNUM=539; 819 +const SV_ENABLESHAREDNETDRIVES_PARMNUM=540; 820 +const SV_MINFREECONNECTIONS_PARMNUM=541; 821 +const SV_MAXFREECONNECTIONS_PARMNUM=542; 822 +const SV_INITSESSTABLE_PARMNUM=543; 823 +const SV_INITCONNTABLE_PARMNUM=544; 824 +const SV_INITFILETABLE_PARMNUM=545; 825 +const SV_INITSEARCHTABLE_PARMNUM=546; 826 +const SV_ALERTSCHEDULE_PARMNUM=547; 827 +const SV_ERRORTHRESHOLD_PARMNUM=548; 828 +const SV_NETWORKERRORTHRESHOLD_PARMNUM=549; 829 +const SV_DISKSPACETHRESHOLD_PARMNUM=550; 830 +const SV_MAXLINKDELAY_PARMNUM=552; 831 +const SV_MINLINKTHROUGHPUT_PARMNUM=553; 832 +const SV_LINKINFOVALIDTIME_PARMNUM=554; 833 +const SV_SCAVQOSINFOUPDATETIME_PARMNUM=555; 834 +const SV_MAXWORKITEMIDLETIME_PARMNUM=556; 835 +const SV_MAXRAWWORKITEMS_PARMNUM=557; 836 +const SV_PRODUCTTYPE_PARMNUM=560; 837 +const SV_SERVERSIZE_PARMNUM=561; 838 +const SV_CONNECTIONLESSAUTODISC_PARMNUM=562; 839 +const SV_SHARINGVIOLATIONRETRIES_PARMNUM=563; 840 +const SV_SHARINGVIOLATIONDELAY_PARMNUM=564; 841 +const SV_MAXGLOBALOPENSEARCH_PARMNUM=565; 842 +const SV_REMOVEDUPLICATESEARCHES_PARMNUM=566; 843 +const SV_LOCKVIOLATIONRETRIES_PARMNUM=567; 844 +const SV_LOCKVIOLATIONOFFSET_PARMNUM=568; 845 +const SV_LOCKVIOLATIONDELAY_PARMNUM=569; 846 +const SV_MDLREADSWITCHOVER_PARMNUM=570; 847 +const SV_CACHEDOPENLIMIT_PARMNUM=571; 848 +const SV_CRITICALTHREADS_PARMNUM=572; 849 +const SV_RESTRICTNULLSESSACCESS_PARMNUM=573; 850 +const SV_ENABLEWFW311DIRECTIPX_PARMNUM=574; 851 +const SV_OTHERQUEUEAFFINITY_PARMNUM=575; 852 +const SV_QUEUESAMPLESECS_PARMNUM=576; 853 +const SV_BALANCECOUNT_PARMNUM=577; 854 +const SV_PREFERREDAFFINITY_PARMNUM=578; 855 +const SV_MAXFREERFCBS_PARMNUM=579; 856 +const SV_MAXFREEMFCBS_PARMNUM=580; 857 +const SV_MAXFREELFCBS_PARMNUM=581; 858 +const SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM=582; 859 +const SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM=583; 860 +const SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM=584; 861 +const SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM=585; 862 +const SV_MAXTHREADSPERQUEUE_PARMNUM=586; 863 +const SV_COMMENT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_COMMENT_PARMNUM); 864 +const SV_USERS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_USERS_PARMNUM); 865 +const SV_DISC_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_DISC_PARMNUM); 866 +const SV_HIDDEN_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_HIDDEN_PARMNUM); 867 +const SV_ANNOUNCE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ANNOUNCE_PARMNUM); 868 +const SV_ANNDELTA_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ANNDELTA_PARMNUM); 869 +const SV_SESSOPENS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SESSOPENS_PARMNUM); 870 +const SV_SESSVCS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SESSVCS_PARMNUM); 871 +const SV_OPENSEARCH_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_OPENSEARCH_PARMNUM); 872 +const SV_MAXWORKITEMS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXWORKITEMS_PARMNUM); 873 +const SV_MAXRAWBUFLEN_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXRAWBUFLEN_PARMNUM); 874 +const SV_SESSUSERS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SESSUSERS_PARMNUM); 875 +const SV_SESSCONNS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SESSCONNS_PARMNUM); 876 +const SV_MAXNONPAGEDMEMORYUSAGE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXNONPAGEDMEMORYUSAGE_PARMNUM); 877 +const SV_MAXPAGEDMEMORYUSAGE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXPAGEDMEMORYUSAGE_PARMNUM); 878 +const SV_ENABLESOFTCOMPAT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ENABLESOFTCOMPAT_PARMNUM); 879 +const SV_ENABLEFORCEDLOGOFF_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ENABLEFORCEDLOGOFF_PARMNUM); 880 +const SV_TIMESOURCE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_TIMESOURCE_PARMNUM); 881 +const SV_LMANNOUNCE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_LMANNOUNCE_PARMNUM); 882 +const SV_MAXCOPYREADLEN_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXCOPYREADLEN_PARMNUM); 883 +const SV_MAXCOPYWRITELEN_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXCOPYWRITELEN_PARMNUM); 884 +const SV_MINKEEPSEARCH_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MINKEEPSEARCH_PARMNUM); 885 +const SV_MAXKEEPSEARCH_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXKEEPSEARCH_PARMNUM); 886 +const SV_MINKEEPCOMPLSEARCH_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MINKEEPCOMPLSEARCH_PARMNUM); 887 +const SV_MAXKEEPCOMPLSEARCH_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXKEEPCOMPLSEARCH_PARMNUM); 888 +const SV_SCAVTIMEOUT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SCAVTIMEOUT_PARMNUM); 889 +const SV_MINRCVQUEUE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MINRCVQUEUE_PARMNUM); 890 +const SV_MINFREEWORKITEMS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MINFREEWORKITEMS_PARMNUM); 891 +const SV_MAXMPXCT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXMPXCT_PARMNUM); 892 +const SV_OPLOCKBREAKWAIT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_OPLOCKBREAKWAIT_PARMNUM); 893 +const SV_OPLOCKBREAKRESPONSEWAIT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_OPLOCKBREAKRESPONSEWAIT_PARMNUM); 894 +const SV_ENABLEOPLOCKS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ENABLEOPLOCKS_PARMNUM); 895 +const SV_ENABLEOPLOCKFORCECLOSE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ENABLEOPLOCKFORCECLOSE_PARMNUM); 896 +const SV_ENABLEFCBOPENS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ENABLEFCBOPENS_PARMNUM); 897 +const SV_ENABLERAW_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ENABLERAW_PARMNUM); 898 +const SV_ENABLESHAREDNETDRIVES_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ENABLESHAREDNETDRIVES_PARMNUM); 899 +const SV_MINFREECONNECTIONS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MINFREECONNECTIONS_PARMNUM); 900 +const SV_MAXFREECONNECTIONS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXFREECONNECTIONS_PARMNUM); 901 +const SV_INITSESSTABLE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_INITSESSTABLE_PARMNUM); 902 +const SV_INITCONNTABLE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_INITCONNTABLE_PARMNUM); 903 +const SV_INITFILETABLE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_INITFILETABLE_PARMNUM); 904 +const SV_INITSEARCHTABLE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_INITSEARCHTABLE_PARMNUM); 905 +const SV_ALERTSCHEDULE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ALERTSCHEDULE_PARMNUM); 906 +const SV_ERRORTHRESHOLD_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ERRORTHRESHOLD_PARMNUM); 907 +const SV_NETWORKERRORTHRESHOLD_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_NETWORKERRORTHRESHOLD_PARMNUM); 908 +const SV_DISKSPACETHRESHOLD_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_DISKSPACETHRESHOLD_PARMNUM); 909 +const SV_MAXLINKDELAY_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXLINKDELAY_PARMNUM); 910 +const SV_MINLINKTHROUGHPUT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MINLINKTHROUGHPUT_PARMNUM); 911 +const SV_LINKINFOVALIDTIME_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_LINKINFOVALIDTIME_PARMNUM); 912 +const SV_SCAVQOSINFOUPDATETIME_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SCAVQOSINFOUPDATETIME_PARMNUM); 913 +const SV_MAXWORKITEMIDLETIME_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXWORKITEMIDLETIME_PARMNUM); 914 +const SV_MAXRAWWORKITEMS_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXRAWWORKITEMS_PARMNUM); 915 +const SV_PRODUCTTYPE_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_PRODUCTTYPE_PARMNUM); 916 +const SV_SERVERSIZE_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SERVERSIZE_PARMNUM); 917 +const SV_CONNECTIONLESSAUTODISC_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_CONNECTIONLESSAUTODISC_PARMNUM); 918 +const SV_SHARINGVIOLATIONRETRIES_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SHARINGVIOLATIONRETRIES_PARMNUM); 919 +const SV_SHARINGVIOLATIONDELAY_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SHARINGVIOLATIONDELAY_PARMNUM); 920 +const SV_MAXGLOBALOPENSEARCH_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXGLOBALOPENSEARCH_PARMNUM); 921 +const SV_REMOVEDUPLICATESEARCHES_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_REMOVEDUPLICATESEARCHES_PARMNUM); 922 +const SV_LOCKVIOLATIONRETRIES_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONRETRIES_PARMNUM); 923 +const SV_LOCKVIOLATIONOFFSET_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONOFFSET_PARMNUM); 924 +const SV_LOCKVIOLATIONDELAY_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_LOCKVIOLATIONDELAY_PARMNUM); 925 +const SV_MDLREADSWITCHOVER_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MDLREADSWITCHOVER_PARMNUM); 926 +const SV_CACHEDOPENLIMIT_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_CACHEDOPENLIMIT_PARMNUM); 927 +const SV_CRITICALTHREADS_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_CRITICALTHREADS_PARMNUM); 928 +const SV_RESTRICTNULLSESSACCESS_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_RESTRICTNULLSESSACCESS_PARMNUM); 929 +const SV_ENABLEWFW311DIRECTIPX_INFOLOEVEL=(PARMNUM_BASE_INFOLEVEL+SV_ENABLEWFW311DIRECTIPX_PARMNUM); 930 +const SV_OTHERQUEUEAFFINITY_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_OTHERQUEUEAFFINITY_PARMNUM); 931 +const SV_QUEUESAMPLESECS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_QUEUESAMPLESECS_PARMNUM); 932 +const SV_BALANCECOUNT_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_BALANCECOUNT_PARMNUM); 933 +const SV_PREFERREDAFFINITY_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_PREFERREDAFFINITY_PARMNUM); 934 +const SV_MAXFREERFCBS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXFREERFCBS_PARMNUM); 935 +const SV_MAXFREEMFCBS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXFREEMFCBS_PARMNUM); 936 +const SV_MAXFREELFCBS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXFREELFCBS_PARMNUM); 937 +const SV_MAXFREEPAGEDPOOLCHUNKS_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXFREEPAGEDPOOLCHUNKS_PARMNUM); 938 +const SV_MINPAGEDPOOLCHUNKSIZE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MINPAGEDPOOLCHUNKSIZE_PARMNUM); 939 +const SV_MAXPAGEDPOOLCHUNKSIZE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXPAGEDPOOLCHUNKSIZE_PARMNUM); 940 +const SV_SENDSFROMPREFERREDPROCESSOR_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_SENDSFROMPREFERREDPROCESSOR_PARMNUM); 941 +const SV_MAXTHREADSPERQUEUE_INFOLEVEL=(PARMNUM_BASE_INFOLEVEL+SV_MAXTHREADSPERQUEUE_PARMNUM);

Added src/win32/lmshare.d version [ed15fe1b7afa0e8f]

1 +/***********************************************************************\ 2 +* lmshare.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmshare; 11 + 12 +import win32.lmcons; 13 +private import win32.w32api, win32.windef; 14 + 15 +static if (_WIN32_WINNT_ONLY) { 16 + pragma(lib, "netapi.lib"); 17 +} 18 +/* else { 19 +// only for WinME, 98, 95. 20 + pragma(lib, "svrapi.lib") 21 +} 22 +*/ 23 + 24 +const SHARE_NETNAME_PARMNUM = 1; 25 +const SHARE_TYPE_PARMNUM = 3; 26 +const SHARE_REMARK_PARMNUM = 4; 27 +const SHARE_PERMISSIONS_PARMNUM = 5; 28 +const SHARE_MAX_USES_PARMNUM = 6; 29 +const SHARE_CURRENT_USES_PARMNUM = 7; 30 +const SHARE_PATH_PARMNUM = 8; 31 +const SHARE_PASSWD_PARMNUM = 9; 32 +const SHARE_FILE_SD_PARMNUM = 501; 33 +const SHARE_REMARK_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + SHARE_REMARK_PARMNUM; 34 +const SHARE_MAX_USES_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + SHARE_MAX_USES_PARMNUM; 35 +const SHARE_FILE_SD_INFOLEVEL = PARMNUM_BASE_INFOLEVEL + SHARE_FILE_SD_PARMNUM; 36 + 37 +const SHI1_NUM_ELEMENTS = 4; 38 +const SHI2_NUM_ELEMENTS = 10; 39 + 40 +const STYPE_DISKTREE = 0; 41 +const STYPE_PRINTQ = 1; 42 +const STYPE_DEVICE = 2; 43 +const STYPE_IPC = 3; 44 +const STYPE_DFS = 100; 45 +const STYPE_SPECIAL = 0x80000000; 46 + 47 +const DWORD SHI_USES_UNLIMITED = -1; 48 + 49 +const SESS_GUEST = 1; 50 +const SESS_NOENCRYPTION = 2; 51 +const SESI1_NUM_ELEMENTS = 8; 52 +const SESI2_NUM_ELEMENTS = 9; 53 + 54 +const PERM_FILE_READ = 1; 55 +const PERM_FILE_WRITE = 2; 56 +const PERM_FILE_CREATE = 4; 57 + 58 +struct FILE_INFO_2 { 59 + DWORD fi2_id; 60 +} 61 +alias FILE_INFO_2* PFILE_INFO_2, LPFILE_INFO_2; 62 + 63 +struct FILE_INFO_3 { 64 + DWORD fi3_id; 65 + DWORD fi3_permissions; 66 + DWORD fi3_num_locks; 67 + LPTSTR fi3_pathname; 68 + LPTSTR fi3_username; 69 +} 70 +alias FILE_INFO_3* PFILE_INFO_3, LPFILE_INFO_3; 71 + 72 +struct SHARE_INFO_0 { 73 + LPTSTR shi0_netname; 74 +} 75 +alias SHARE_INFO_0* PSHARE_INFO_0, LPSHARE_INFO_0; 76 + 77 +struct SHARE_INFO_1 { 78 + LPTSTR shi1_netname; 79 + DWORD shi1_type; 80 + LPTSTR shi1_remark; 81 +} 82 +alias SHARE_INFO_1* PSHARE_INFO_1, LPSHARE_INFO_1; 83 + 84 +struct SHARE_INFO_2 { 85 + LPTSTR shi2_netname; 86 + DWORD shi2_type; 87 + LPTSTR shi2_remark; 88 + DWORD shi2_permissions; 89 + DWORD shi2_max_uses; 90 + DWORD shi2_current_uses; 91 + LPTSTR shi2_path; 92 + LPTSTR shi2_passwd; 93 +} 94 +alias SHARE_INFO_2* PSHARE_INFO_2, LPSHARE_INFO_2; 95 + 96 +struct SHARE_INFO_502 { 97 + LPTSTR shi502_netname; 98 + DWORD shi502_type; 99 + LPTSTR shi502_remark; 100 + DWORD shi502_permissions; 101 + DWORD shi502_max_uses; 102 + DWORD shi502_current_uses; 103 + LPTSTR shi502_path; 104 + LPTSTR shi502_passwd; 105 + DWORD shi502_reserved; 106 + PSECURITY_DESCRIPTOR shi502_security_descriptor; 107 +} 108 +alias SHARE_INFO_502* PSHARE_INFO_502, LPSHARE_INFO_502; 109 + 110 +struct SHARE_INFO_1004 { 111 + LPTSTR shi1004_remark; 112 +} 113 +alias SHARE_INFO_1004* PSHARE_INFO_1004, LPSHARE_INFO_1004; 114 + 115 +struct SHARE_INFO_1006 { 116 + DWORD shi1006_max_uses; 117 +} 118 +alias SHARE_INFO_1006* PSHARE_INFO_1006, LPSHARE_INFO_1006; 119 + 120 +struct SHARE_INFO_1501 { 121 + DWORD shi1501_reserved; 122 + PSECURITY_DESCRIPTOR shi1501_security_descriptor; 123 +} 124 +alias SHARE_INFO_1501* PSHARE_INFO_1501, LPSHARE_INFO_1501; 125 + 126 +struct SESSION_INFO_0 { 127 + LPWSTR sesi0_cname; 128 +} 129 +alias SESSION_INFO_0* PSESSION_INFO_0, LPSESSION_INFO_0; 130 + 131 +struct SESSION_INFO_1 { 132 + LPTSTR sesi1_cname; 133 + LPTSTR sesi1_username; 134 + DWORD sesi1_num_opens; 135 + DWORD sesi1_time; 136 + DWORD sesi1_idle_time; 137 + DWORD sesi1_user_flags; 138 +} 139 +alias SESSION_INFO_1* PSESSION_INFO_1, LPSESSION_INFO_1; 140 + 141 +struct SESSION_INFO_2 { 142 + LPTSTR sesi2_cname; 143 + LPTSTR sesi2_username; 144 + DWORD sesi2_num_opens; 145 + DWORD sesi2_time; 146 + DWORD sesi2_idle_time; 147 + DWORD sesi2_user_flags; 148 + LPWSTR sesi2_cltype_name; 149 +} 150 +alias SESSION_INFO_2* PSESSION_INFO_2, LPSESSION_INFO_2; 151 + 152 +struct SESSION_INFO_10 { 153 + LPWSTR sesi10_cname; 154 + LPWSTR sesi10_username; 155 + DWORD sesi10_time; 156 + DWORD sesi10_idle_time; 157 +} 158 +alias SESSION_INFO_10* PSESSION_INFO_10, LPSESSION_INFO_10; 159 + 160 +struct SESSION_INFO_502 { 161 + LPWSTR sesi502_cname; 162 + LPWSTR sesi502_username; 163 + DWORD sesi502_num_opens; 164 + DWORD sesi502_time; 165 + DWORD sesi502_idle_time; 166 + DWORD sesi502_user_flags; 167 + LPWSTR sesi502_cltype_name; 168 + LPWSTR sesi502_transport; 169 +} 170 +alias SESSION_INFO_502* PSESSION_INFO_502, LPSESSION_INFO_502; 171 + 172 +struct CONNECTION_INFO_0 { 173 + DWORD coni0_id; 174 +} 175 +alias CONNECTION_INFO_0* PCONNECTION_INFO_0, LPCONNECTION_INFO_0; 176 + 177 +struct CONNECTION_INFO_1 { 178 + DWORD coni1_id; 179 + DWORD coni1_type; 180 + DWORD coni1_num_opens; 181 + DWORD coni1_num_users; 182 + DWORD coni1_time; 183 + LPWSTR coni1_username; 184 + LPWSTR coni1_netname; 185 +} 186 +alias CONNECTION_INFO_1* PCONNECTION_INFO_1, LPCONNECTION_INFO_1; 187 + 188 +extern (Windows) { 189 +NET_API_STATUS NetShareAdd(LPWSTR,DWORD,PBYTE,PDWORD); 190 +NET_API_STATUS NetShareEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 191 +NET_API_STATUS NetShareEnumSticky(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD resume_handle); 192 +NET_API_STATUS NetShareGetInfo(LPWSTR,LPWSTR,DWORD,PBYTE*); 193 +NET_API_STATUS NetShareSetInfo(LPWSTR,LPWSTR,DWORD,PBYTE,PDWORD); 194 +NET_API_STATUS NetShareDel(LPWSTR,LPWSTR,DWORD); 195 +NET_API_STATUS NetShareDelSticky(LPWSTR,LPWSTR,DWORD); 196 +NET_API_STATUS NetShareCheck(LPWSTR,LPWSTR,PDWORD); 197 +NET_API_STATUS NetSessionEnum(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 198 +NET_API_STATUS NetSessionDel(LPWSTR,LPWSTR,LPWSTR); 199 +NET_API_STATUS NetSessionGetInfo(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*); 200 +NET_API_STATUS NetConnectionEnum(LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 201 +NET_API_STATUS NetFileClose(LPWSTR,DWORD); 202 +NET_API_STATUS NetFileEnum(LPWSTR,LPWSTR,LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 203 +NET_API_STATUS NetFileGetInfo(LPWSTR,DWORD,DWORD,PBYTE*); 204 +}

Added src/win32/lmsname.d version [1952041052a96659]

1 +/***********************************************************************\ 2 +* lmsname.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmsname; 11 + 12 +private import win32.windef; 13 + 14 +const TCHAR[] 15 + SERVICE_WORKSTATION = "LanmanWorkstation", 16 + SERVICE_LM20_WORKSTATION = "WORKSTATION", 17 + WORKSTATION_DISPLAY_NAME = "Workstation", 18 + SERVICE_SERVER = "LanmanServer", 19 + SERVICE_LM20_SERVER = "SERVER", 20 + SERVER_DISPLAY_NAME = "Server", 21 + SERVICE_BROWSER = "BROWSER", 22 + SERVICE_LM20_BROWSER = SERVICE_BROWSER, 23 + SERVICE_MESSENGER = "MESSENGER", 24 + SERVICE_LM20_MESSENGER = SERVICE_MESSENGER, 25 + SERVICE_NETRUN = "NETRUN", 26 + SERVICE_LM20_NETRUN = SERVICE_NETRUN, 27 + SERVICE_SPOOLER = "SPOOLER", 28 + SERVICE_LM20_SPOOLER = SERVICE_SPOOLER, 29 + SERVICE_ALERTER = "ALERTER", 30 + SERVICE_LM20_ALERTER = SERVICE_ALERTER, 31 + SERVICE_NETLOGON = "NETLOGON", 32 + SERVICE_LM20_NETLOGON = SERVICE_NETLOGON, 33 + SERVICE_NETPOPUP = "NETPOPUP", 34 + SERVICE_LM20_NETPOPUP = SERVICE_NETPOPUP, 35 + SERVICE_SQLSERVER = "SQLSERVER", 36 + SERVICE_LM20_SQLSERVER = SERVICE_SQLSERVER, 37 + SERVICE_REPL = "REPLICATOR", 38 + SERVICE_LM20_REPL = SERVICE_REPL, 39 + SERVICE_RIPL = "REMOTEBOOT", 40 + SERVICE_LM20_RIPL = SERVICE_RIPL, 41 + SERVICE_TIMESOURCE = "TIMESOURCE", 42 + SERVICE_LM20_TIMESOURCE = SERVICE_TIMESOURCE, 43 + SERVICE_AFP = "AFP", 44 + SERVICE_LM20_AFP = SERVICE_AFP, 45 + SERVICE_UPS = "UPS", 46 + SERVICE_LM20_UPS = SERVICE_UPS, 47 + SERVICE_XACTSRV = "XACTSRV", 48 + SERVICE_LM20_XACTSRV = SERVICE_XACTSRV, 49 + SERVICE_TCPIP = "TCPIP", 50 + SERVICE_LM20_TCPIP = SERVICE_TCPIP, 51 + SERVICE_NBT = "NBT", 52 + SERVICE_LM20_NBT = SERVICE_NBT, 53 + SERVICE_LMHOSTS = "LMHOSTS", 54 + SERVICE_LM20_LMHOSTS = SERVICE_LMHOSTS, 55 + SERVICE_TELNET = "Telnet", 56 + SERVICE_LM20_TELNET = SERVICE_TELNET, 57 + SERVICE_SCHEDULE = "Schedule", 58 + SERVICE_LM20_SCHEDULE = SERVICE_SCHEDULE, 59 + SERVICE_NTLMSSP = "NtLmSsp", 60 + SERVICE_DHCP = "DHCP", 61 + SERVICE_LM20_DHCP = SERVICE_DHCP, 62 + SERVICE_NWSAP = "NwSapAgent", 63 + SERVICE_LM20_NWSAP = SERVICE_NWSAP, 64 + NWSAP_DISPLAY_NAME = "NW Sap Agent", 65 + SERVICE_NWCS = "NWCWorkstation";

Added src/win32/lmstats.d version [366f8fb859c9c947]

1 +/***********************************************************************\ 2 +* lmstats.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmstats; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +private import win32.lmcons, win32.windef; 14 + 15 +const ULONG 16 + STATSOPT_CLR = 1, 17 + STATS_NO_VALUE = -1, 18 + STATS_OVERFLOW = -2; 19 + 20 +struct STAT_SERVER_0{ 21 + DWORD sts0_start; 22 + DWORD sts0_fopens; 23 + DWORD sts0_devopens; 24 + DWORD sts0_jobsqueued; 25 + DWORD sts0_sopens; 26 + DWORD sts0_stimedout; 27 + DWORD sts0_serrorout; 28 + DWORD sts0_pwerrors; 29 + DWORD sts0_permerrors; 30 + DWORD sts0_syserrors; 31 + DWORD sts0_bytessent_low; 32 + DWORD sts0_bytessent_high; 33 + DWORD sts0_bytesrcvd_low; 34 + DWORD sts0_bytesrcvd_high; 35 + DWORD sts0_avresponse; 36 + DWORD sts0_reqbufneed; 37 + DWORD sts0_bigbufneed; 38 +} 39 +alias STAT_SERVER_0* PSTAT_SERVER_0, LPSTAT_SERVER_0; 40 + 41 +// #ifdef LM20_WORKSTATION_STATISTICS 42 +// typedef struct _STAT_WORKSTATION_0 { 43 +// DWORD stw0_start; 44 +// DWORD stw0_numNCB_r; 45 +// DWORD stw0_numNCB_s; 46 +// DWORD stw0_numNCB_a; 47 +// DWORD stw0_fiNCB_r; 48 +// DWORD stw0_fiNCB_s; 49 +// DWORD stw0_fiNCB_a; 50 +// DWORD stw0_fcNCB_r; 51 +// DWORD stw0_fcNCB_s; 52 +// DWORD stw0_fcNCB_a; 53 +// DWORD stw0_sesstart; 54 +// DWORD stw0_sessfailcon; 55 +// DWORD stw0_sessbroke; 56 +// DWORD stw0_uses; 57 +// DWORD stw0_usefail; 58 +// DWORD stw0_autorec; 59 +// DWORD stw0_bytessent_r_lo; 60 +// DWORD stw0_bytessent_r_hi; 61 +// DWORD stw0_bytesrcvd_r_lo; 62 +// DWORD stw0_bytesrcvd_r_hi; 63 +// DWORD stw0_bytessent_s_lo; 64 +// DWORD stw0_bytessent_s_hi; 65 +// DWORD stw0_bytesrcvd_s_lo; 66 +// DWORD stw0_bytesrcvd_s_hi; 67 +// DWORD stw0_bytessent_a_lo; 68 +// DWORD stw0_bytessent_a_hi; 69 +// DWORD stw0_bytesrcvd_a_lo; 70 +// DWORD stw0_bytesrcvd_a_hi; 71 +// DWORD stw0_reqbufneed; 72 +// DWORD stw0_bigbufneed; 73 +// } STAT_WORKSTATION_0,*PSTAT_WORKSTATION_0,*LPSTAT_WORKSTATION_0; 74 +// #else 75 + 76 +struct STAT_WORKSTATION_0{ 77 + LARGE_INTEGER StatisticsStartTime; 78 + LARGE_INTEGER BytesReceived; 79 + LARGE_INTEGER SmbsReceived; 80 + LARGE_INTEGER PagingReadBytesRequested; 81 + LARGE_INTEGER NonPagingReadBytesRequested; 82 + LARGE_INTEGER CacheReadBytesRequested; 83 + LARGE_INTEGER NetworkReadBytesRequested; 84 + LARGE_INTEGER BytesTransmitted; 85 + LARGE_INTEGER SmbsTransmitted; 86 + LARGE_INTEGER PagingWriteBytesRequested; 87 + LARGE_INTEGER NonPagingWriteBytesRequested; 88 + LARGE_INTEGER CacheWriteBytesRequested; 89 + LARGE_INTEGER NetworkWriteBytesRequested; 90 + DWORD InitiallyFailedOperations; 91 + DWORD FailedCompletionOperations; 92 + DWORD ReadOperations; 93 + DWORD RandomReadOperations; 94 + DWORD ReadSmbs; 95 + DWORD LargeReadSmbs; 96 + DWORD SmallReadSmbs; 97 + DWORD WriteOperations; 98 + DWORD RandomWriteOperations; 99 + DWORD WriteSmbs; 100 + DWORD LargeWriteSmbs; 101 + DWORD SmallWriteSmbs; 102 + DWORD RawReadsDenied; 103 + DWORD RawWritesDenied; 104 + DWORD NetworkErrors; 105 + DWORD Sessions; 106 + DWORD FailedSessions; 107 + DWORD Reconnects; 108 + DWORD CoreConnects; 109 + DWORD Lanman20Connects; 110 + DWORD Lanman21Connects; 111 + DWORD LanmanNtConnects; 112 + DWORD ServerDisconnects; 113 + DWORD HungSessions; 114 + DWORD UseCount; 115 + DWORD FailedUseCount; 116 + DWORD CurrentCommands; 117 +} 118 +alias STAT_WORKSTATION_0* PSTAT_WORKSTATION_0, LPSTAT_WORKSTATION_0; 119 + 120 +extern (Windows): 121 +NET_API_STATUS NetStatisticsGet(LPWSTR,LPWSTR,DWORD,DWORD,PBYTE*);

Added src/win32/lmsvc.d version [da38f7b5a27f01f1]

1 +/***********************************************************************\ 2 +* lmsvc.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmsvc; 11 + 12 +// FIXME: Is this file deprecated? All of the functions are only for Win16. 13 +/** 14 + Changes relative to MinGW: 15 + lmsname is not imported publicly (instead, win32.lm imports it directly). 16 +*/ 17 +// TODO: 5 macros 18 + 19 +private import win32.lmcons, win32.lmsname, win32.windef; 20 + 21 +const TCHAR[] SERVICE_DOS_ENCRYPTION = "ENCRYPT"; 22 + 23 +const SERVICE_UNINSTALLED=0; 24 +const SERVICE_INSTALL_PENDING=1; 25 +const SERVICE_UNINSTALL_PENDING=2; 26 +const SERVICE_INSTALLED=3; 27 +const SERVICE_INSTALL_STATE=3; 28 +const SERVICE_PAUSE_STATE=18; 29 +const LM20_SERVICE_ACTIVE=0; 30 +const LM20_SERVICE_CONTINUE_PENDING=4; 31 +const LM20_SERVICE_PAUSE_PENDING=8; 32 +const LM20_SERVICE_PAUSED=18; 33 +const SERVICE_NOT_UNINSTALLABLE=0; 34 +const SERVICE_UNINSTALLABLE=16; 35 +const SERVICE_NOT_PAUSABLE=0; 36 +const SERVICE_PAUSABLE=32; 37 +const SERVICE_REDIR_PAUSED=0x700; 38 +const SERVICE_REDIR_DISK_PAUSED=256; 39 +const SERVICE_REDIR_PRINT_PAUSED=512; 40 +const SERVICE_REDIR_COMM_PAUSED=1024; 41 +const SERVICE_CTRL_INTERROGATE=0; 42 +const SERVICE_CTRL_PAUSE=1; 43 +const SERVICE_CTRL_CONTINUE=2; 44 +const SERVICE_CTRL_UNINSTALL=3; 45 +const SERVICE_CTRL_REDIR_DISK=1; 46 +const SERVICE_CTRL_REDIR_PRINT=2; 47 +const SERVICE_CTRL_REDIR_COMM=4; 48 +const SERVICE_IP_NO_HINT=0; 49 +const SERVICE_CCP_NO_HINT=0; 50 +const SERVICE_IP_QUERY_HINT=0x10000; 51 +const SERVICE_CCP_QUERY_HINT=0x10000; 52 +const SERVICE_IP_CHKPT_NUM=255; 53 +const SERVICE_CCP_CHKPT_NUM=255; 54 +const SERVICE_IP_WAIT_TIME=0xFF00; 55 +const SERVICE_CCP_WAIT_TIME=0xFF00; 56 +const SERVICE_IP_WAITTIME_SHIFT=8; 57 +const SERVICE_NTIP_WAITTIME_SHIFT=12; 58 +const UPPER_HINT_MASK=0xFF00; 59 +const LOWER_HINT_MASK=255; 60 +const UPPER_GET_HINT_MASK=0xFF00000; 61 +const LOWER_GET_HINT_MASK=0xFF00; 62 +const SERVICE_NT_MAXTIME=0xFFFF; 63 +const SERVICE_RESRV_MASK=0x1FFFF; 64 +const SERVICE_MAXTIME=255; 65 +const SERVICE_BASE=3050; 66 +const SERVICE_UIC_NORMAL=0; 67 + 68 +const SERVICE_UIC_BADPARMVAL = SERVICE_BASE+1; 69 +const SERVICE_UIC_MISSPARM = SERVICE_BASE+2; 70 +const SERVICE_UIC_UNKPARM = SERVICE_BASE+3; 71 +const SERVICE_UIC_RESOURCE = SERVICE_BASE+4; 72 +const SERVICE_UIC_CONFIG = SERVICE_BASE+5; 73 +const SERVICE_UIC_SYSTEM = SERVICE_BASE+6; 74 +const SERVICE_UIC_INTERNAL = SERVICE_BASE+7; 75 +const SERVICE_UIC_AMBIGPARM = SERVICE_BASE+8; 76 +const SERVICE_UIC_DUPPARM = SERVICE_BASE+9; 77 +const SERVICE_UIC_KILL = SERVICE_BASE+10; 78 +const SERVICE_UIC_EXEC = SERVICE_BASE+11; 79 +const SERVICE_UIC_SUBSERV = SERVICE_BASE+12; 80 +const SERVICE_UIC_CONFLPARM = SERVICE_BASE+13; 81 +const SERVICE_UIC_FILE = SERVICE_BASE+14; 82 +const SERVICE_UIC_M_NULL=0; 83 +const SERVICE_UIC_M_MEMORY = SERVICE_BASE+20; 84 +const SERVICE_UIC_M_DISK = SERVICE_BASE+21; 85 +const SERVICE_UIC_M_THREADS = SERVICE_BASE+22; 86 +const SERVICE_UIC_M_PROCESSES = SERVICE_BASE+23; 87 +const SERVICE_UIC_M_SECURITY = SERVICE_BASE+24; 88 +const SERVICE_UIC_M_LANROOT = SERVICE_BASE+25; 89 +const SERVICE_UIC_M_REDIR = SERVICE_BASE+26; 90 +const SERVICE_UIC_M_SERVER = SERVICE_BASE+27; 91 +const SERVICE_UIC_M_SEC_FILE_ERR = SERVICE_BASE+28; 92 +const SERVICE_UIC_M_FILES = SERVICE_BASE+29; 93 +const SERVICE_UIC_M_LOGS = SERVICE_BASE+30; 94 +const SERVICE_UIC_M_LANGROUP = SERVICE_BASE+31; 95 +const SERVICE_UIC_M_MSGNAME = SERVICE_BASE+32; 96 +const SERVICE_UIC_M_ANNOUNCE = SERVICE_BASE+33; 97 +const SERVICE_UIC_M_UAS = SERVICE_BASE+34; 98 +const SERVICE_UIC_M_SERVER_SEC_ERR = SERVICE_BASE+35; 99 +const SERVICE_UIC_M_WKSTA = SERVICE_BASE+37; 100 +const SERVICE_UIC_M_ERRLOG = SERVICE_BASE+38; 101 +const SERVICE_UIC_M_FILE_UW = SERVICE_BASE+39; 102 +const SERVICE_UIC_M_ADDPAK = SERVICE_BASE+40; 103 +const SERVICE_UIC_M_LAZY = SERVICE_BASE+41; 104 +const SERVICE_UIC_M_UAS_MACHINE_ACCT = SERVICE_BASE+42; 105 +const SERVICE_UIC_M_UAS_SERVERS_NMEMB = SERVICE_BASE+43; 106 +const SERVICE_UIC_M_UAS_SERVERS_NOGRP = SERVICE_BASE+44; 107 +const SERVICE_UIC_M_UAS_INVALID_ROLE = SERVICE_BASE+45; 108 +const SERVICE_UIC_M_NETLOGON_NO_DC = SERVICE_BASE+46; 109 +const SERVICE_UIC_M_NETLOGON_DC_CFLCT = SERVICE_BASE+47; 110 +const SERVICE_UIC_M_NETLOGON_AUTH = SERVICE_BASE+48; 111 +const SERVICE_UIC_M_UAS_PROLOG = SERVICE_BASE+49; 112 +const SERVICE2_BASE=5600; 113 +const SERVICE_UIC_M_NETLOGON_MPATH = SERVICE2_BASE+0; 114 +const SERVICE_UIC_M_LSA_MACHINE_ACCT = SERVICE2_BASE+1; 115 +const SERVICE_UIC_M_DATABASE_ERROR = SERVICE2_BASE+2; 116 + 117 +struct SERVICE_INFO_0 { 118 + LPWSTR svci0_name; 119 +} 120 +alias SERVICE_INFO_0* PSERVICE_INFO_0, LPSERVICE_INFO_0; 121 + 122 +struct SERVICE_INFO_1 { 123 + LPWSTR svci1_name; 124 + DWORD svci1_status; 125 + DWORD svci1_code; 126 + DWORD svci1_pid; 127 +} 128 +alias SERVICE_INFO_1* PSERVICE_INFO_1, LPSERVICE_INFO_1; 129 + 130 +struct SERVICE_INFO_2 { 131 + LPWSTR svci2_name; 132 + DWORD svci2_status; 133 + DWORD svci2_code; 134 + DWORD svci2_pid; 135 + LPWSTR svci2_text; 136 + DWORD svci2_specific_error; 137 + LPWSTR svci2_display_name; 138 +} 139 +alias SERVICE_INFO_2* PSERVICE_INFO_2, LPSERVICE_INFO_2; 140 + 141 +extern (Windows) { 142 + deprecated { 143 + NET_API_STATUS NetServiceControl(LPCWSTR, LPCWSTR, DWORD, DWORD, 144 + PBYTE*); 145 + NET_API_STATUS NetServiceEnum(LPCWSTR, DWORD, PBYTE*, DWORD, PDWORD, 146 + PDWORD, PDWORD); 147 + NET_API_STATUS NetServiceGetInfo(LPCWSTR, LPCWSTR, DWORD, PBYTE*); 148 + NET_API_STATUS NetServiceInstall(LPCWSTR, LPCWSTR, DWORD, LPCWSTR*, 149 + PBYTE*); 150 + } 151 +} 152 +//MACRO #define SERVICE_IP_CODE(t, n) ((long)SERVICE_IP_QUERY_HINT|(long)(n|(t<<SERVICE_IP_WAITTIME_SHIFT))) 153 +//MACRO #define SERVICE_CCP_CODE(t, n) ((long)SERVICE_CCP_QUERY_HINT|(long)(n|(t<<SERVICE_IP_WAITTIME_SHIFT))) 154 +//MACRO #define SERVICE_UIC_CODE(c, m) ((long)(((long)c<<16)|(long)(USHORT)m)) 155 +//MACRO #define SERVICE_NT_CCP_CODE(t, n) (((long)SERVICE_CCP_QUERY_HINT)|((long)(n))|(((t)&LOWER_HINT_MASK)<<SERVICE_IP_WAITTIME_SHIFT)|(((t)&UPPER_HINT_MASK)<<SERVICE_NTIP_WAITTIME_SHIFT)) 156 +//MACRO #define SERVICE_NT_WAIT_GET(c) ((((c)&UPPER_GET_HINT_MASK)>>SERVICE_NTIP_WAITTIME_SHIFT)|(((c)&LOWER_GET_HINT_MASK)>>SERVICE_IP_WAITTIME_SHIFT))

Added src/win32/lmuse.d version [60a0e9bf7288e4f5]

1 +/***********************************************************************\ 2 +* lmuse.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmuse; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +import win32.lmuseflg; 14 +private import win32.lmcons, win32.windef; 15 + 16 +enum { 17 + USE_LOCAL_PARMNUM = 1, 18 + USE_REMOTE_PARMNUM, 19 + USE_PASSWORD_PARMNUM, 20 + USE_ASGTYPE_PARMNUM, 21 + USE_USERNAME_PARMNUM, 22 + USE_DOMAINNAME_PARMNUM 23 +} 24 + 25 +enum { 26 + USE_OK, 27 + USE_PAUSED, 28 + USE_SESSLOST, 29 + USE_DISCONN = USE_SESSLOST, 30 + USE_NETERR, 31 + USE_CONN, 32 + USE_RECONN 33 +} 34 + 35 +const DWORD USE_WILDCARD = -1; 36 + 37 +enum { 38 + USE_DISKDEV, 39 + USE_SPOOLDEV, 40 + USE_CHARDEV, 41 + USE_IPC 42 +} 43 + 44 +struct USE_INFO_0 { 45 + LPWSTR ui0_local; 46 + LPWSTR ui0_remote; 47 +} 48 +alias USE_INFO_0* PUSE_INFO_0, LPUSE_INFO_0; 49 + 50 +struct USE_INFO_1 { 51 + LPWSTR ui1_local; 52 + LPWSTR ui1_remote; 53 + LPWSTR ui1_password; 54 + DWORD ui1_status; 55 + DWORD ui1_asg_type; 56 + DWORD ui1_refcount; 57 + DWORD ui1_usecount; 58 +} 59 +alias USE_INFO_1* PUSE_INFO_1, LPUSE_INFO_1; 60 + 61 +struct USE_INFO_2 { 62 + LPWSTR ui2_local; 63 + LPWSTR ui2_remote; 64 + LPWSTR ui2_password; 65 + DWORD ui2_status; 66 + DWORD ui2_asg_type; 67 + DWORD ui2_refcount; 68 + DWORD ui2_usecount; 69 + LPWSTR ui2_username; 70 + LPWSTR ui2_domainname; 71 +} 72 +alias USE_INFO_2* PUSE_INFO_2, LPUSE_INFO_2; 73 + 74 +extern (Windows) { 75 + NET_API_STATUS NetUseAdd(LPWSTR, DWORD, PBYTE, PDWORD); 76 + NET_API_STATUS NetUseDel(LPWSTR, LPWSTR, DWORD); 77 + NET_API_STATUS NetUseEnum(LPWSTR, DWORD, PBYTE*, DWORD, PDWORD, PDWORD, 78 + PDWORD); 79 + NET_API_STATUS NetUseGetInfo(LPWSTR, LPWSTR, DWORD, PBYTE*); 80 +}

Added src/win32/lmuseflg.d version [addb533dd9356c98]

1 +/***********************************************************************\ 2 +* lmuseflg.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmuseflg; 11 + 12 +enum : uint { 13 + USE_NOFORCE = 0, 14 + USE_FORCE, 15 + USE_LOTS_OF_FORCE // = 2 16 +}

Added src/win32/lmwksta.d version [a830d940c9e9f1c6]

1 +/***********************************************************************\ 2 +* lmwksta.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lmwksta; 11 +pragma(lib, "netapi32.lib"); 12 + 13 +import win32.lmuseflg; 14 +private import win32.lmcons, win32.windef; 15 + 16 +pragma(lib, "Netapi32.lib"); 17 + 18 +enum { 19 + WKSTA_COMPUTERNAME_PARMNUM = 1, 20 + WKSTA_LANGROUP_PARMNUM, // = 2 21 + WKSTA_VER_MAJOR_PARMNUM = 4, 22 + WKSTA_VER_MINOR_PARMNUM, 23 + WKSTA_LOGGED_ON_USERS_PARMNUM, 24 + WKSTA_LANROOT_PARMNUM, 25 + WKSTA_LOGON_DOMAIN_PARMNUM, 26 + WKSTA_LOGON_SERVER_PARMNUM, 27 + WKSTA_CHARWAIT_PARMNUM, 28 + WKSTA_CHARTIME_PARMNUM, 29 + WKSTA_CHARCOUNT_PARMNUM, 30 + WKSTA_KEEPCONN_PARMNUM, 31 + WKSTA_KEEPSEARCH_PARMNUM, 32 + WKSTA_MAXCMDS_PARMNUM, 33 + WKSTA_NUMWORKBUF_PARMNUM, 34 + WKSTA_MAXWRKCACHE_PARMNUM, 35 + WKSTA_SESSTIMEOUT_PARMNUM, 36 + WKSTA_SIZERROR_PARMNUM, 37 + WKSTA_NUMALERTS_PARMNUM, 38 + WKSTA_NUMSERVICES_PARMNUM, 39 + WKSTA_NUMCHARBUF_PARMNUM, 40 + WKSTA_SIZCHARBUF_PARMNUM, // = 23 41 + WKSTA_ERRLOGSZ_PARMNUM = 27, 42 + WKSTA_PRINTBUFTIME_PARMNUM, 43 + WKSTA_SIZWORKBUF_PARMNUM, 44 + WKSTA_MAILSLOTS_PARMNUM, 45 + WKSTA_NUMDGRAMBUF_PARMNUM, 46 + WKSTA_WRKHEURISTICS_PARMNUM, 47 + WKSTA_MAXTHREADS_PARMNUM, // = 33 48 + WKSTA_LOCKQUOTA_PARMNUM = 41, 49 + WKSTA_LOCKINCREMENT_PARMNUM, 50 + WKSTA_LOCKMAXIMUM_PARMNUM, 51 + WKSTA_PIPEINCREMENT_PARMNUM, 52 + WKSTA_PIPEMAXIMUM_PARMNUM, 53 + WKSTA_DORMANTFILELIMIT_PARMNUM, 54 + WKSTA_CACHEFILETIMEOUT_PARMNUM, 55 + WKSTA_USEOPPORTUNISTICLOCKING_PARMNUM, 56 + WKSTA_USEUNLOCKBEHIND_PARMNUM, 57 + WKSTA_USECLOSEBEHIND_PARMNUM, 58 + WKSTA_BUFFERNAMEDPIPES_PARMNUM, 59 + WKSTA_USELOCKANDREADANDUNLOCK_PARMNUM, 60 + WKSTA_UTILIZENTCACHING_PARMNUM, 61 + WKSTA_USERAWREAD_PARMNUM, 62 + WKSTA_USERAWWRITE_PARMNUM, 63 + WKSTA_USEWRITERAWWITHDATA_PARMNUM, 64 + WKSTA_USEENCRYPTION_PARMNUM, 65 + WKSTA_BUFFILESWITHDENYWRITE_PARMNUM, 66 + WKSTA_BUFFERREADONLYFILES_PARMNUM, 67 + WKSTA_FORCECORECREATEMODE_PARMNUM, 68 + WKSTA_USE512BYTESMAXTRANSFER_PARMNUM, 69 + WKSTA_READAHEADTHRUPUT_PARMNUM, // = 62 70 + WKSTA_PLATFORM_ID_PARMNUM = 100, 71 + WKSTA_OTH_DOMAINS_PARMNUM = 101, 72 + TRANSPORT_QUALITYOFSERVICE_PARMNUM = 201, 73 + TRANSPORT_NAME_PARMNUM = 202 74 +} 75 + 76 +struct WKSTA_INFO_100{ 77 + DWORD wki100_platform_id; 78 + LPWSTR wki100_computername; 79 + LPWSTR wki100_langroup; 80 + DWORD wki100_ver_major; 81 + DWORD wki100_ver_minor; 82 +} 83 +alias WKSTA_INFO_100* PWKSTA_INFO_100, LPWKSTA_INFO_100; 84 + 85 +struct WKSTA_INFO_101{ 86 + DWORD wki101_platform_id; 87 + LPWSTR wki101_computername; 88 + LPWSTR wki101_langroup; 89 + DWORD wki101_ver_major; 90 + DWORD wki101_ver_minor; 91 + LPWSTR wki101_lanroot; 92 +} 93 +alias WKSTA_INFO_101* PWKSTA_INFO_101, LPWKSTA_INFO_101; 94 + 95 +struct WKSTA_INFO_102{ 96 + DWORD wki102_platform_id; 97 + LPWSTR wki102_computername; 98 + LPWSTR wki102_langroup; 99 + DWORD wki102_ver_major; 100 + DWORD wki102_ver_minor; 101 + LPWSTR wki102_lanroot; 102 + DWORD wki102_logged_on_users; 103 +} 104 +alias WKSTA_INFO_102* PWKSTA_INFO_102, LPWKSTA_INFO_102; 105 + 106 +struct WKSTA_INFO_302{ 107 + DWORD wki302_char_wait; 108 + DWORD wki302_collection_time; 109 + DWORD wki302_maximum_collection_count; 110 + DWORD wki302_keep_conn; 111 + DWORD wki302_keep_search; 112 + DWORD wki302_max_cmds; 113 + DWORD wki302_num_work_buf; 114 + DWORD wki302_siz_work_buf; 115 + DWORD wki302_max_wrk_cache; 116 + DWORD wki302_sess_timeout; 117 + DWORD wki302_siz_error; 118 + DWORD wki302_num_alerts; 119 + DWORD wki302_num_services; 120 + DWORD wki302_errlog_sz; 121 + DWORD wki302_print_buf_time; 122 + DWORD wki302_num_char_buf; 123 + DWORD wki302_siz_char_buf; 124 + LPWSTR wki302_wrk_heuristics; 125 + DWORD wki302_mailslots; 126 + DWORD wki302_num_dgram_buf; 127 +} 128 +alias WKSTA_INFO_302* PWKSTA_INFO_302, LPWKSTA_INFO_302; 129 + 130 +struct WKSTA_INFO_402{ 131 + DWORD wki402_char_wait; 132 + DWORD wki402_collection_time; 133 + DWORD wki402_maximum_collection_count; 134 + DWORD wki402_keep_conn; 135 + DWORD wki402_keep_search; 136 + DWORD wki402_max_cmds; 137 + DWORD wki402_num_work_buf; 138 + DWORD wki402_siz_work_buf; 139 + DWORD wki402_max_wrk_cache; 140 + DWORD wki402_sess_timeout; 141 + DWORD wki402_siz_error; 142 + DWORD wki402_num_alerts; 143 + DWORD wki402_num_services; 144 + DWORD wki402_errlog_sz; 145 + DWORD wki402_print_buf_time; 146 + DWORD wki402_num_char_buf; 147 + DWORD wki402_siz_char_buf; 148 + LPWSTR wki402_wrk_heuristics; 149 + DWORD wki402_mailslots; 150 + DWORD wki402_num_dgram_buf; 151 + DWORD wki402_max_threads; 152 +} 153 +alias WKSTA_INFO_402* PWKSTA_INFO_402, LPWKSTA_INFO_402; 154 + 155 +struct WKSTA_INFO_502{ 156 + DWORD wki502_char_wait; 157 + DWORD wki502_collection_time; 158 + DWORD wki502_maximum_collection_count; 159 + DWORD wki502_keep_conn; 160 + DWORD wki502_max_cmds; 161 + DWORD wki502_sess_timeout; 162 + DWORD wki502_siz_char_buf; 163 + DWORD wki502_max_threads; 164 + DWORD wki502_lock_quota; 165 + DWORD wki502_lock_increment; 166 + DWORD wki502_lock_maximum; 167 + DWORD wki502_pipe_increment; 168 + DWORD wki502_pipe_maximum; 169 + DWORD wki502_cache_file_timeout; 170 + DWORD wki502_dormant_file_limit; 171 + DWORD wki502_read_ahead_throughput; 172 + DWORD wki502_num_mailslot_buffers; 173 + DWORD wki502_num_srv_announce_buffers; 174 + DWORD wki502_max_illegal_datagram_events; 175 + DWORD wki502_illegal_datagram_event_reset_frequency; 176 + BOOL wki502_log_election_packets; 177 + BOOL wki502_use_opportunistic_locking; 178 + BOOL wki502_use_unlock_behind; 179 + BOOL wki502_use_close_behind; 180 + BOOL wki502_buf_named_pipes; 181 + BOOL wki502_use_lock_read_unlock; 182 + BOOL wki502_utilize_nt_caching; 183 + BOOL wki502_use_raw_read; 184 + BOOL wki502_use_raw_write; 185 + BOOL wki502_use_write_raw_data; 186 + BOOL wki502_use_encryption; 187 + BOOL wki502_buf_files_deny_write; 188 + BOOL wki502_buf_read_only_files; 189 + BOOL wki502_force_core_create_mode; 190 + BOOL wki502_use_512_byte_max_transfer; 191 +} 192 +alias WKSTA_INFO_502* PWKSTA_INFO_502, LPWKSTA_INFO_502; 193 + 194 +struct WKSTA_INFO_1010 { 195 + DWORD wki1010_char_wait; 196 +} 197 +alias WKSTA_INFO_1010* PWKSTA_INFO_1010, LPWKSTA_INFO_1010; 198 + 199 +struct WKSTA_INFO_1011 { 200 + DWORD wki1011_collection_time; 201 +} 202 +alias WKSTA_INFO_1011* PWKSTA_INFO_1011, LPWKSTA_INFO_1011; 203 + 204 +struct WKSTA_INFO_1012 { 205 + DWORD wki1012_maximum_collection_count; 206 +} 207 +alias WKSTA_INFO_1012* PWKSTA_INFO_1012, LPWKSTA_INFO_1012; 208 + 209 +struct WKSTA_INFO_1027 { 210 + DWORD wki1027_errlog_sz; 211 +} 212 +alias WKSTA_INFO_1027* PWKSTA_INFO_1027, LPWKSTA_INFO_1027; 213 + 214 +struct WKSTA_INFO_1028 { 215 + DWORD wki1028_print_buf_time; 216 +} 217 +alias WKSTA_INFO_1028* PWKSTA_INFO_1028, LPWKSTA_INFO_1028; 218 + 219 +struct WKSTA_INFO_1032 { 220 + DWORD wki1032_wrk_heuristics; 221 +} 222 +alias WKSTA_INFO_1032* PWKSTA_INFO_1032, LPWKSTA_INFO_1032; 223 + 224 +struct WKSTA_INFO_1013 { 225 + DWORD wki1013_keep_conn; 226 +} 227 +alias WKSTA_INFO_1013* PWKSTA_INFO_1013, LPWKSTA_INFO_1013; 228 + 229 +struct WKSTA_INFO_1018 { 230 + DWORD wki1018_sess_timeout; 231 +} 232 +alias WKSTA_INFO_1018* PWKSTA_INFO_1018, LPWKSTA_INFO_1018; 233 + 234 +struct WKSTA_INFO_1023 { 235 + DWORD wki1023_siz_char_buf; 236 +} 237 +alias WKSTA_INFO_1023* PWKSTA_INFO_1023, LPWKSTA_INFO_1023; 238 + 239 +struct WKSTA_INFO_1033 { 240 + DWORD wki1033_max_threads; 241 +} 242 +alias WKSTA_INFO_1033* PWKSTA_INFO_1033, LPWKSTA_INFO_1033; 243 + 244 +struct WKSTA_INFO_1041 { 245 + DWORD wki1041_lock_quota; 246 +} 247 +alias WKSTA_INFO_1041* PWKSTA_INFO_1041, LPWKSTA_INFO_1041; 248 + 249 +struct WKSTA_INFO_1042 { 250 + DWORD wki1042_lock_increment; 251 +} 252 +alias WKSTA_INFO_1042* PWKSTA_INFO_1042, LPWKSTA_INFO_1042; 253 + 254 +struct WKSTA_INFO_1043 { 255 + DWORD wki1043_lock_maximum; 256 +} 257 +alias WKSTA_INFO_1043* PWKSTA_INFO_1043, LPWKSTA_INFO_1043; 258 + 259 +struct WKSTA_INFO_1044 { 260 + DWORD wki1044_pipe_increment; 261 +} 262 +alias WKSTA_INFO_1044* PWKSTA_INFO_1044, LPWKSTA_INFO_1044; 263 + 264 +struct WKSTA_INFO_1045 { 265 + DWORD wki1045_pipe_maximum; 266 +} 267 +alias WKSTA_INFO_1045* PWKSTA_INFO_1045, LPWKSTA_INFO_1045; 268 + 269 +struct WKSTA_INFO_1046 { 270 + DWORD wki1046_dormant_file_limit; 271 +} 272 +alias WKSTA_INFO_1046* PWKSTA_INFO_1046, LPWKSTA_INFO_1046; 273 + 274 +struct WKSTA_INFO_1047 { 275 + DWORD wki1047_cache_file_timeout; 276 +} 277 +alias WKSTA_INFO_1047* PWKSTA_INFO_1047, LPWKSTA_INFO_1047; 278 + 279 +struct WKSTA_INFO_1048 { 280 + BOOL wki1048_use_opportunistic_locking; 281 +} 282 +alias WKSTA_INFO_1048* PWKSTA_INFO_1048, LPWKSTA_INFO_1048; 283 + 284 +struct WKSTA_INFO_1049 { 285 + BOOL wki1049_use_unlock_behind; 286 +} 287 +alias WKSTA_INFO_1049* PWKSTA_INFO_1049, LPWKSTA_INFO_1049; 288 + 289 +struct WKSTA_INFO_1050 { 290 + BOOL wki1050_use_close_behind; 291 +} 292 +alias WKSTA_INFO_1050* PWKSTA_INFO_1050, LPWKSTA_INFO_1050; 293 + 294 +struct WKSTA_INFO_1051 { 295 + BOOL wki1051_buf_named_pipes; 296 +} 297 +alias WKSTA_INFO_1051* PWKSTA_INFO_1051, LPWKSTA_INFO_1051; 298 + 299 +struct WKSTA_INFO_1052 { 300 + BOOL wki1052_use_lock_read_unlock; 301 +} 302 +alias WKSTA_INFO_1052* PWKSTA_INFO_1052, LPWKSTA_INFO_1052; 303 + 304 +struct WKSTA_INFO_1053 { 305 + BOOL wki1053_utilize_nt_caching; 306 +} 307 +alias WKSTA_INFO_1053* PWKSTA_INFO_1053, LPWKSTA_INFO_1053; 308 + 309 +struct WKSTA_INFO_1054 { 310 + BOOL wki1054_use_raw_read; 311 +} 312 +alias WKSTA_INFO_1054* PWKSTA_INFO_1054, LPWKSTA_INFO_1054; 313 + 314 +struct WKSTA_INFO_1055 { 315 + BOOL wki1055_use_raw_write; 316 +} 317 +alias WKSTA_INFO_1055* PWKSTA_INFO_1055, LPWKSTA_INFO_1055; 318 + 319 +struct WKSTA_INFO_1056 { 320 + BOOL wki1056_use_write_raw_data; 321 +} 322 +alias WKSTA_INFO_1056* PWKSTA_INFO_1056, LPWKSTA_INFO_1056; 323 + 324 +struct WKSTA_INFO_1057 { 325 + BOOL wki1057_use_encryption; 326 +} 327 +alias WKSTA_INFO_1057* PWKSTA_INFO_1057, LPWKSTA_INFO_1057; 328 + 329 +struct WKSTA_INFO_1058 { 330 + BOOL wki1058_buf_files_deny_write; 331 +} 332 +alias WKSTA_INFO_1058* PWKSTA_INFO_1058, LPWKSTA_INFO_1058; 333 + 334 +struct WKSTA_INFO_1059 { 335 + BOOL wki1059_buf_read_only_files; 336 +} 337 +alias WKSTA_INFO_1059* PWKSTA_INFO_1059, LPWKSTA_INFO_1059; 338 + 339 +struct WKSTA_INFO_1060 { 340 + BOOL wki1060_force_core_create_mode; 341 +} 342 +alias WKSTA_INFO_1060* PWKSTA_INFO_1060, LPWKSTA_INFO_1060; 343 + 344 +struct WKSTA_INFO_1061 { 345 + BOOL wki1061_use_512_byte_max_transfer; 346 +} 347 +alias WKSTA_INFO_1061* PWKSTA_INFO_1061, LPWKSTA_INFO_1061; 348 + 349 +struct WKSTA_INFO_1062 { 350 + DWORD wki1062_read_ahead_throughput; 351 +} 352 +alias WKSTA_INFO_1062* PWKSTA_INFO_1062, LPWKSTA_INFO_1062; 353 + 354 +struct WKSTA_USER_INFO_0 { 355 + LPWSTR wkui0_username; 356 +} 357 +alias WKSTA_USER_INFO_0* PWKSTA_USER_INFO_0, LPWKSTA_USER_INFO_0; 358 + 359 +struct WKSTA_USER_INFO_1{ 360 + LPWSTR wkui1_username; 361 + LPWSTR wkui1_logon_domain; 362 + LPWSTR wkui1_oth_domains; 363 + LPWSTR wkui1_logon_server; 364 +} 365 +alias WKSTA_USER_INFO_1* PWKSTA_USER_INFO_1, LPWKSTA_USER_INFO_1; 366 + 367 +struct WKSTA_USER_INFO_1101 { 368 + LPWSTR wkui1101_oth_domains; 369 +} 370 +alias WKSTA_USER_INFO_1101* PWKSTA_USER_INFO_1101, LPWKSTA_USER_INFO_1101; 371 + 372 +struct WKSTA_TRANSPORT_INFO_0{ 373 + DWORD wkti0_quality_of_service; 374 + DWORD wkti0_number_of_vcs; 375 + LPWSTR wkti0_transport_name; 376 + LPWSTR wkti0_transport_address; 377 + BOOL wkti0_wan_ish; 378 +} 379 +alias WKSTA_TRANSPORT_INFO_0* PWKSTA_TRANSPORT_INFO_0, LPWKSTA_TRANSPORT_INFO_0; 380 + 381 +extern (Windows) { 382 +NET_API_STATUS NetWkstaGetInfo(LPWSTR,DWORD,PBYTE*); 383 +NET_API_STATUS NetWkstaSetInfo(LPWSTR,DWORD,PBYTE,PDWORD); 384 +NET_API_STATUS NetWkstaUserGetInfo(LPWSTR,DWORD,PBYTE*); 385 +NET_API_STATUS NetWkstaUserSetInfo(LPWSTR,DWORD,PBYTE,PDWORD); 386 +NET_API_STATUS NetWkstaUserEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 387 +NET_API_STATUS NetWkstaTransportAdd(LPWSTR,DWORD,PBYTE,PDWORD); 388 +NET_API_STATUS NetWkstaTransportDel(LPWSTR,LPWSTR,DWORD); 389 +NET_API_STATUS NetWkstaTransportEnum(LPWSTR,DWORD,PBYTE*,DWORD,PDWORD,PDWORD,PDWORD); 390 +}

Added src/win32/lzexpand.d version [9913c810ddc077f2]

1 +/***********************************************************************\ 2 +* lzexpand.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.lzexpand; 11 +pragma(lib, "lz32.lib"); 12 + 13 +private import win32.winbase, win32.windef; 14 + 15 +enum : LONG { 16 + LZERROR_BADINHANDLE = -1, 17 + LZERROR_BADOUTHANDLE = -2, 18 + LZERROR_READ = -3, 19 + LZERROR_WRITE = -4, 20 + LZERROR_GLOBALLOC = -5, 21 + LZERROR_GLOBLOCK = -6, 22 + LZERROR_BADVALUE = -7, 23 + LZERROR_UNKNOWNALG = -8 24 +} 25 + 26 +extern (Windows): 27 +deprecated { 28 + LONG CopyLZFile(INT, INT); 29 + void LZDone(); 30 + INT LZStart(); 31 +} 32 +INT GetExpandedNameA(LPSTR, LPSTR); 33 +INT GetExpandedNameW(LPWSTR, LPWSTR); 34 +void LZClose(INT); 35 +LONG LZCopy(INT, INT); 36 +INT LZInit(INT); 37 +INT LZOpenFileA(LPSTR, LPOFSTRUCT, WORD); 38 +INT LZOpenFileW(LPWSTR, LPOFSTRUCT, WORD); 39 +INT LZRead(INT, LPSTR, INT); 40 +LONG LZSeek(INT, LONG, INT); 41 + 42 +version (Unicode) { 43 + alias GetExpandedNameW GetExpandedName; 44 + alias LZOpenFileW LZOpenFile; 45 +} else { 46 + alias GetExpandedNameA GetExpandedName; 47 + alias LZOpenFileA LZOpenFile; 48 +}

Added src/win32/mapi.d version [e28cc740776b0e1e]

1 +/***********************************************************************\ 2 +* mapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.mapi; 12 + 13 +private import win32.windef; 14 + 15 +// FIXME: check types and grouping of constants 16 + 17 +enum { 18 + SUCCESS_SUCCESS, 19 + MAPI_USER_ABORT, 20 + MAPI_E_USER_ABORT = MAPI_USER_ABORT, 21 + MAPI_E_FAILURE, 22 + MAPI_E_LOGIN_FAILURE, 23 + MAPI_E_LOGON_FAILURE = MAPI_E_LOGIN_FAILURE, 24 + MAPI_E_DISK_FULL = 4, 25 + MAPI_E_INSUFFICIENT_MEMORY, 26 + MAPI_E_ACCESS_DENIED, 27 + MAPI_E_BLK_TOO_SMALL = MAPI_E_ACCESS_DENIED, // = 6 28 + MAPI_E_TOO_MANY_SESSIONS = 8, 29 + MAPI_E_TOO_MANY_FILES, 30 + MAPI_E_TOO_MANY_RECIPIENTS, 31 + MAPI_E_ATTACHMENT_NOT_FOUND, 32 + MAPI_E_ATTACHMENT_OPEN_FAILURE, 33 + MAPI_E_ATTACHMENT_WRITE_FAILURE, 34 + MAPI_E_UNKNOWN_RECIPIENT, 35 + MAPI_E_BAD_RECIPTYPE, 36 + MAPI_E_NO_MESSAGES, 37 + MAPI_E_INVALID_MESSAGE, 38 + MAPI_E_TEXT_TOO_LARGE, 39 + MAPI_E_INVALID_SESSION, 40 + MAPI_E_TYPE_NOT_SUPPORTED, 41 + MAPI_E_AMBIGUOUS_RECIPIENT, 42 + MAPI_E_AMBIGUOUS_RECIP = MAPI_E_AMBIGUOUS_RECIPIENT, 43 + MAPI_E_MESSAGE_IN_USE, 44 + MAPI_E_NETWORK_FAILURE, 45 + MAPI_E_INVALID_EDITFIELDS, 46 + MAPI_E_INVALID_RECIPS, 47 + MAPI_E_NOT_SUPPORTED // = 26 48 +} 49 + 50 +enum { 51 + MAPI_ORIG, 52 + MAPI_TO, 53 + MAPI_CC, 54 + MAPI_BCC 55 +} 56 + 57 +const MAPI_LOGON_UI = 0x0001; 58 +const MAPI_NEW_SESSION = 0x0002; 59 +const MAPI_FORCE_DOWNLOAD = 0x1000; 60 +const MAPI_LOGOFF_SHARED = 0x0001; 61 +const MAPI_LOGOFF_UI = 0x0002; 62 +const MAPI_DIALOG = 0x0008; 63 +const MAPI_UNREAD_ONLY = 0x0020; 64 +const MAPI_LONG_MSGID = 0x4000; 65 +const MAPI_GUARANTEE_FIFO = 0x0100; 66 +const MAPI_ENVELOPE_ONLY = 0x0040; 67 +const MAPI_PEEK = 0x0080; 68 +const MAPI_BODY_AS_FILE = 0x0200; 69 +const MAPI_SUPPRESS_ATTACH = 0x0800; 70 +const MAPI_AB_NOMODIFY = 0x0400; 71 +const MAPI_OLE = 0x0001; 72 +const MAPI_OLE_STATIC = 0x0002; 73 +const MAPI_UNREAD = 0x0001; 74 +const MAPI_RECEIPT_REQUESTED = 0x0002; 75 +const MAPI_SENT = 0x0004; 76 + 77 +alias uint FLAGS, LHANDLE; 78 +alias uint* LPLHANDLE, LPULONG; 79 + 80 +struct MapiRecipDesc { 81 + ULONG ulReserved; 82 + ULONG ulRecipClass; 83 + LPSTR lpszName; 84 + LPSTR lpszAddress; 85 + ULONG ulEIDSize; 86 + LPVOID lpEntryID; 87 +} 88 +alias MapiRecipDesc* lpMapiRecipDesc; 89 + 90 +struct MapiFileDesc { 91 + ULONG ulReserved; 92 + ULONG flFlags; 93 + ULONG nPosition; 94 + LPSTR lpszPathName; 95 + LPSTR lpszFileName; 96 + LPVOID lpFileType; 97 +} 98 +alias MapiFileDesc* lpMapiFileDesc; 99 + 100 +struct MapiFileTagExt { 101 + ULONG ulReserved; 102 + ULONG cbTag; 103 + LPBYTE lpTag; 104 + ULONG cbEncoding; 105 + LPBYTE lpEncoding; 106 +} 107 +alias MapiFileTagExt* lpMapiFileTagExt; 108 + 109 +struct MapiMessage { 110 + ULONG ulReserved; 111 + LPSTR lpszSubject; 112 + LPSTR lpszNoteText; 113 + LPSTR lpszMessageType; 114 + LPSTR lpszDateReceived; 115 + LPSTR lpszConversationID; 116 + FLAGS flFlags; 117 + lpMapiRecipDesc lpOriginator; 118 + ULONG nRecipCount; 119 + lpMapiRecipDesc lpRecips; 120 + ULONG nFileCount; 121 + lpMapiFileDesc lpFiles; 122 +} 123 +alias MapiMessage* lpMapiMessage; 124 + 125 +extern (Pascal) { 126 + ULONG MAPILogon(ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPLHANDLE); 127 + ULONG MAPISendMail(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG); 128 + ULONG MAPISendDocuments(ULONG, LPSTR, LPSTR, LPSTR, ULONG); 129 + ULONG MAPIReadMail(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, lpMapiMessage*); 130 + ULONG MAPIFindNext(LHANDLE, ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPSTR); 131 + ULONG MAPIResolveName(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, 132 + lpMapiRecipDesc*); 133 + ULONG MAPIAddress(LHANDLE, ULONG, LPSTR, ULONG, LPSTR, ULONG, 134 + lpMapiRecipDesc, FLAGS, ULONG, LPULONG, lpMapiRecipDesc*); 135 + ULONG MAPIFreeBuffer(LPVOID); 136 + ULONG MAPIDetails(LHANDLE, ULONG, lpMapiRecipDesc, FLAGS, ULONG); 137 + ULONG MAPISaveMail(LHANDLE, ULONG, lpMapiMessage lpszMessage, FLAGS, 138 + ULONG, LPSTR); 139 + ULONG MAPIDeleteMail(LHANDLE lpSession, ULONG, LPSTR, FLAGS, ULONG); 140 + ULONG MAPILogoff(LHANDLE, ULONG, FLAGS, ULONG); 141 + // Netscape extensions 142 + ULONG MAPIGetNetscapeVersion(); 143 + ULONG MAPI_NSCP_SynchronizeClient(LHANDLE, ULONG); 144 + 145 + // Handles for use with GetProcAddress 146 + alias ULONG function(ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPLHANDLE) 147 + LPMAPILOGON; 148 + alias ULONG function(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG) 149 + LPMAPISENDMAIL; 150 + alias ULONG function(ULONG, LPSTR, LPSTR, LPSTR, ULONG) 151 + LPMAPISENDDOCUMENTS; 152 + alias ULONG function(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, lpMapiMessage*) 153 + LPMAPIREADMAIL; 154 + alias ULONG function(LHANDLE, ULONG, LPSTR, LPSTR, FLAGS, ULONG, LPSTR) 155 + LPMAPIFINDNEXT; 156 + alias ULONG function(LHANDLE, ULONG, LPSTR, FLAGS, ULONG, 157 + lpMapiRecipDesc*) LPMAPIRESOLVENAME; 158 + alias ULONG function(LHANDLE, ULONG, LPSTR, ULONG, LPSTR, ULONG, 159 + lpMapiRecipDesc, FLAGS, ULONG, LPULONG, lpMapiRecipDesc*) LPMAPIADDRESS; 160 + alias ULONG function(LPVOID lpv) LPMAPIFREEBUFFER; 161 + alias ULONG function(LHANDLE, ULONG, lpMapiRecipDesc, FLAGS, ULONG) 162 + LPMAPIDETAILS; 163 + alias ULONG function(LHANDLE, ULONG, lpMapiMessage, FLAGS, ULONG, LPSTR) 164 + LPMAPISAVEMAIL; 165 + alias ULONG function(LHANDLE lpSession, ULONG, LPSTR, FLAGS, ULONG) 166 + LPMAPIDELETEMAIL; 167 + alias ULONG function(LHANDLE, ULONG, FLAGS, ULONG) LPMAPILOGOFF; 168 +}

Added src/win32/mciavi.d version [701f04a9a8542c05]

1 +/***********************************************************************\ 2 +* mciavi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.mciavi; 12 + 13 +private import win32.mmsystem; 14 + 15 +// FIXME: check types and grouping of constants 16 + 17 +const MCI_MCIAVI_PLAY_WINDOW = 0x01000000; 18 +const MCI_MCIAVI_PLAY_FULLSCREEN = 0x02000000; 19 +const MCI_MCIAVI_PLAY_FULLBY2 = 0x04000000; 20 + 21 +enum { 22 + MCI_AVI_STATUS_FRAMES_SKIPPED = 0x00008001, 23 + MCI_AVI_STATUS_LAST_PLAY_SPEED = 0x00008002, 24 + MCI_AVI_STATUS_AUDIO_BREAKS = 0x00008003, 25 + MCI_AVI_SETVIDEO_DRAW_PROCEDURE = 0x00008000, 26 + MCI_AVI_SETVIDEO_PALETTE_COLOR = 0x00008100, 27 + MCI_AVI_SETVIDEO_PALETTE_HALFTONE = 0x0000FFFF 28 +} 29 + 30 +enum { 31 + MCIERR_AVI_OLDAVIFORMAT = MCIERR_CUSTOM_DRIVER_BASE + 100, 32 + MCIERR_AVI_NOTINTERLEAVED, 33 + MCIERR_AVI_NODISPDIB, 34 + MCIERR_AVI_CANTPLAYFULLSCREEN, 35 + MCIERR_AVI_TOOBIGFORVGA, 36 + MCIERR_AVI_NOCOMPRESSOR, 37 + MCIERR_AVI_DISPLAYERROR, 38 + MCIERR_AVI_AUDIOERROR, 39 + MCIERR_AVI_BADPALETTE // = MCIERR_CUSTOM_DRIVER_BASE + 108 40 +}

Added src/win32/mcx.d version [8ace5e6be9e6286f]

1 +/***********************************************************************\ 2 +* mcx.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.mcx; 12 + 13 +private import win32.windef; 14 + 15 +const DWORD 16 + DIALOPTION_BILLING = 64, 17 + DIALOPTION_QUIET = 128, 18 + DIALOPTION_DIALTONE = 256; 19 + 20 +const DWORD 21 + MDMVOLFLAG_LOW = 1, 22 + MDMVOLFLAG_MEDIUM = 2, 23 + MDMVOLFLAG_HIGH = 4; 24 + 25 +enum : DWORD { 26 + MDMVOL_LOW = 0, 27 + MDMVOL_MEDIUM = 1, 28 + MDMVOL_HIGH = 2 29 +} 30 + 31 +const DWORD 32 + MDMSPKRFLAG_OFF = 1, 33 + MDMSPKRFLAG_DIAL = 2, 34 + MDMSPKRFLAG_ON = 4, 35 + MDMSPKRFLAG_CALLSETUP = 8; 36 + 37 +enum : DWORD { 38 + MDMSPKR_OFF, 39 + MDMSPKR_DIAL, 40 + MDMSPKR_ON, 41 + MDMSPKR_CALLSETUP 42 +} 43 + 44 +const DWORD 45 + MDM_COMPRESSION = 0x0001, 46 + MDM_ERROR_CONTROL = 0x0002, 47 + MDM_FORCED_EC = 0x0004, 48 + MDM_CELLULAR = 0x0008, 49 + MDM_FLOWCONTROL_HARD = 0x0010, 50 + MDM_FLOWCONTROL_SOFT = 0x0020, 51 + MDM_CCITT_OVERRIDE = 0x0040, 52 + MDM_SPEED_ADJUST = 0x0080, 53 + MDM_TONE_DIAL = 0x0100, 54 + MDM_BLIND_DIAL = 0x0200, 55 + MDM_V23_OVERRIDE = 0x0400; 56 + 57 +struct MODEMDEVCAPS { 58 + DWORD dwActualSize; 59 + DWORD dwRequiredSize; 60 + DWORD dwDevSpecificOffset; 61 + DWORD dwDevSpecificSize; 62 + DWORD dwModemProviderVersion; 63 + DWORD dwModemManufacturerOffset; 64 + DWORD dwModemManufacturerSize; 65 + DWORD dwModemModelOffset; 66 + DWORD dwModemModelSize; 67 + DWORD dwModemVersionOffset; 68 + DWORD dwModemVersionSize; 69 + DWORD dwDialOptions; 70 + DWORD dwCallSetupFailTimer; 71 + DWORD dwInactivityTimeout; 72 + DWORD dwSpeakerVolume; 73 + DWORD dwSpeakerMode; 74 + DWORD dwModemOptions; 75 + DWORD dwMaxDTERate; 76 + DWORD dwMaxDCERate; 77 + BYTE _abVariablePortion; 78 + 79 + BYTE* abVariablePortion() { return &_abVariablePortion; } 80 +} 81 +alias MODEMDEVCAPS* PMODEMDEVCAPS, LPMODEMDEVCAPS; 82 + 83 +struct MODEMSETTINGS { 84 + DWORD dwActualSize; 85 + DWORD dwRequiredSize; 86 + DWORD dwDevSpecificOffset; 87 + DWORD dwDevSpecificSize; 88 + DWORD dwCallSetupFailTimer; 89 + DWORD dwInactivityTimeout; 90 + DWORD dwSpeakerVolume; 91 + DWORD dwSpeakerMode; 92 + DWORD dwPreferredModemOptions; 93 + DWORD dwNegotiatedModemOptions; 94 + DWORD dwNegotiatedDCERate; 95 + BYTE _abVariablePortion; 96 + 97 + BYTE* abVariablePortion() { return &_abVariablePortion; } 98 +} 99 +alias MODEMSETTINGS* PMODEMSETTINGS, LPMODEMSETTINGS;

Added src/win32/mgmtapi.d version [7e83f2fa4278c27c]

1 +/***********************************************************************\ 2 +* mgmtapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.mgmtapi; 12 + 13 +import win32.snmp; 14 +private import win32.windef; 15 + 16 +enum { 17 + SNMP_MGMTAPI_TIMEOUT = 40, 18 + SNMP_MGMTAPI_SELECT_FDERRORS, 19 + SNMP_MGMTAPI_TRAP_ERRORS, 20 + SNMP_MGMTAPI_TRAP_DUPINIT, 21 + SNMP_MGMTAPI_NOTRAPS, 22 + SNMP_MGMTAPI_AGAIN, 23 + SNMP_MGMTAPI_INVALID_CTL, 24 + SNMP_MGMTAPI_INVALID_SESSION, 25 + SNMP_MGMTAPI_INVALID_BUFFER // = 48 26 +} 27 + 28 +const MGMCTL_SETAGENTPORT = 1; 29 + 30 +alias PVOID LPSNMP_MGR_SESSION; 31 + 32 +extern (Windows) { 33 + BOOL SnmpMgrClose(LPSNMP_MGR_SESSION); 34 + BOOL SnmpMgrCtl(LPSNMP_MGR_SESSION, DWORD, LPVOID, DWORD, LPVOID, DWORD, 35 + LPDWORD); 36 + BOOL SnmpMgrGetTrap(AsnObjectIdentifier*, AsnNetworkAddress*, 37 + AsnInteger*, AsnInteger*, AsnTimeticks*, SnmpVarBindList*); 38 + BOOL SnmpMgrGetTrapEx(AsnObjectIdentifier*, AsnNetworkAddress*, 39 + AsnNetworkAddress*, AsnInteger*, AsnInteger*, AsnOctetString*, 40 + AsnTimeticks*, SnmpVarBindList*); 41 + BOOL SnmpMgrOidToStr(AsnObjectIdentifier*, LPSTR*); 42 + LPSNMP_MGR_SESSION SnmpMgrOpen(LPSTR, LPSTR, INT, INT); 43 + INT SnmpMgrRequest(LPSNMP_MGR_SESSION, BYTE, SnmpVarBindList*, 44 + AsnInteger*, AsnInteger*); 45 + BOOL SnmpMgrStrToOid(LPSTR, AsnObjectIdentifier*); 46 + BOOL SnmpMgrTrapListen(HANDLE*); 47 +}

Modified src/win32/mmsystem.d from [f5def972cae0b61c] to [e73903b559a6e2de].

1 +/***********************************************************************\ 2 +* mmsystem.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.mmsystem; 11 +pragma(lib, "winmm.lib"); 2 12 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 13 +/* The #defines MAKEFOURCC, mmioFOURCC, sndAlias are used to define 14 + * compile-time constants, so they are implemented as templates. 15 + */ 5 16 6 -import win32.winbase; 17 +private import win32.w32api, win32.windef, win32.winver; 7 18 8 -// #ifndef _INC_MMSYSTEM 9 -// #define _INC_MMSYSTEM 10 - 11 -// #ifdef _WIN32 12 19 align(1): 13 -// #else 14 -// #ifndef RC_INVOKED 15 -// #... 16 -// #endif 17 -// #endif 18 - 19 -// #ifdef __cplusplus 20 -// extern "C" { /* Assume C declarations for C++ */ 21 -// #endif /* __cplusplus */ 22 - 23 -// #ifdef _WIN32 24 -// #ifndef _WINMM_ 25 -// #define WINMMAPI DECLSPEC_IMPORT 26 -// #else 27 -// #... 28 -// #endif 29 -// #define _loadds 30 -// #define _huge 31 -// #else 32 -// #... 33 -// #endif 34 - 35 -// #ifdef _MAC 36 -// #... 37 -// #endif //_MAC 38 - 39 -enum : uint { MAXPNAMELEN = 32 } 40 -enum : uint { MAXERRORLENGTH = 256 } 41 -enum : uint { MAX_JOYSTICKOEMVXDNAME = 260 } 42 - 43 -// #if (WINVER <= 0x0400) 44 -// #ifndef MM_MICROSOFT 45 -// #... 46 -// #endif 47 - 48 -// #ifndef MM_MIDI_MAPPER 49 -// #... 50 -// #... 51 -// #... 52 -// #... 53 -// #... 54 -// #... 55 -// #... 56 -// #... 57 -// #... 58 -// #... 59 -// #... 60 -// #endif 61 -// #endif 62 - 63 -// #ifdef _WIN32 64 -alias UINT MMVERSION; 65 -// #else 66 -// ... 67 -// #endif 20 + 21 +const MAXPNAMELEN = 32; 22 +const MAXERRORLENGTH = 256; 23 +const MAX_JOYSTICKOEMVXDNAME = 260; 24 + 25 +const TIME_MS = 1; 26 +const TIME_SAMPLES = 2; 27 +const TIME_BYTES = 4; 28 +const TIME_SMPTE = 8; 29 +const TIME_MIDI = 16; 30 +const TIME_TICKS = 32; 31 + 32 +template MAKEFOURCC(char c0, char c1, char c2, char c3) 33 +{ 34 + const DWORD MAKEFOURCC = c0 | (c1<<8) | (c2<<16) | (cast(DWORD)c3 <<24); 35 +} 36 + 37 +template mmioFOURCC(char c0, char c1, char c2, char c3) 38 +{ 39 + const DWORD mmioFOURCC = c0 | (c1<<8) | (c2<<16) | (cast(DWORD)c3 <<24); 40 +} 41 + 42 +enum { 43 + MM_JOY1MOVE = 0x3A0, 44 + MM_JOY2MOVE, 45 + MM_JOY1ZMOVE, 46 + MM_JOY2ZMOVE, // = 0x3A3 47 + MM_JOY1BUTTONDOWN = 0x3B5, 48 + MM_JOY2BUTTONDOWN, 49 + MM_JOY1BUTTONUP, 50 + MM_JOY2BUTTONUP, 51 + MM_MCINOTIFY, // = 0x3B9 52 + MM_WOM_OPEN = 0x3BB, 53 + MM_WOM_CLOSE, 54 + MM_WOM_DONE, 55 + MM_WIM_OPEN, 56 + MM_WIM_CLOSE, 57 + MM_WIM_DATA, 58 + MM_MIM_OPEN, 59 + MM_MIM_CLOSE, 60 + MM_MIM_DATA, 61 + MM_MIM_LONGDATA, 62 + MM_MIM_ERROR, 63 + MM_MIM_LONGERROR, 64 + MM_MOM_OPEN, 65 + MM_MOM_CLOSE, 66 + MM_MOM_DONE, // = 0x3C9 67 + MM_DRVM_OPEN = 0x3D0, 68 + MM_DRVM_CLOSE, 69 + MM_DRVM_DATA, 70 + MM_DRVM_ERROR, 71 + MM_STREAM_OPEN, 72 + MM_STREAM_CLOSE, 73 + MM_STREAM_DONE, 74 + MM_STREAM_ERROR, // = 0x3D7 75 + MM_MOM_POSITIONCB = 0x3CA, 76 + MM_MCISIGNAL, 77 + MM_MIM_MOREDATA, // = 0x3CC 78 + MM_MIXM_LINE_CHANGE = 0x3D0, 79 + MM_MIXM_CONTROL_CHANGE = 0x3D1 80 +} 81 + 82 +const MMSYSERR_BASE = 0; 83 +const WAVERR_BASE = 32; 84 +const MIDIERR_BASE = 64; 85 +const TIMERR_BASE = 96; 86 +const JOYERR_BASE = 160; 87 +const MCIERR_BASE = 256; 88 +const MIXERR_BASE = 1024; 89 +const MCI_STRING_OFFSET = 512; 90 +const MCI_VD_OFFSET = 1024; 91 +const MCI_CD_OFFSET = 1088; 92 +const MCI_WAVE_OFFSET = 1152; 93 +const MCI_SEQ_OFFSET = 1216; 94 + 95 +enum { 96 + MMSYSERR_NOERROR = 0, 97 + MMSYSERR_ERROR = MMSYSERR_BASE+1, 98 + MMSYSERR_BADDEVICEID, 99 + MMSYSERR_NOTENABLED, 100 + MMSYSERR_ALLOCATED, 101 + MMSYSERR_INVALHANDLE, 102 + MMSYSERR_NODRIVER, 103 + MMSYSERR_NOMEM, 104 + MMSYSERR_NOTSUPPORTED, 105 + MMSYSERR_BADERRNUM, 106 + MMSYSERR_INVALFLAG, 107 + MMSYSERR_INVALPARAM, 108 + MMSYSERR_HANDLEBUSY, 109 + MMSYSERR_INVALIDALIAS, 110 + MMSYSERR_BADDB, 111 + MMSYSERR_KEYNOTFOUND, 112 + MMSYSERR_READERROR, 113 + MMSYSERR_WRITEERROR, 114 + MMSYSERR_DELETEERROR, 115 + MMSYSERR_VALNOTFOUND, 116 + MMSYSERR_NODRIVERCB, // = MMSYSERR_BASE+20 117 + MMSYSERR_LASTERROR = MMSYSERR_NODRIVERCB 118 +} 119 + 120 +enum { 121 + DRV_LOAD = 1, 122 + DRV_ENABLE, 123 + DRV_OPEN, 124 + DRV_CLOSE, 125 + DRV_DISABLE, 126 + DRV_FREE, 127 + DRV_CONFIGURE, 128 + DRV_QUERYCONFIGURE, 129 + DRV_INSTALL, 130 + DRV_REMOVE, 131 + DRV_EXITSESSION, 132 + DRV_POWER 133 +} 134 + 135 +const DRV_RESERVED = 0x800; 136 +const DRV_USER = 0x4000; 137 + 138 +const DRVCNF_CANCEL = 0; 139 +const DRVCNF_OK = 1; 140 +const DRVCNF_RESTART = 2; 141 +const DRV_CANCEL = DRVCNF_CANCEL; 142 +const DRV_OK = DRVCNF_OK; 143 +const DRV_RESTART = DRVCNF_RESTART; 144 +const DRV_MCI_FIRST = DRV_RESERVED; 145 +const DRV_MCI_LAST = DRV_RESERVED + 0xFFF; 146 + 147 +const CALLBACK_TYPEMASK = 0x70000; 148 +const CALLBACK_NULL = 0; 149 +const CALLBACK_WINDOW = 0x10000; 150 +const CALLBACK_TASK = 0x20000; 151 +const CALLBACK_FUNCTION = 0x30000; 152 +const CALLBACK_THREAD = CALLBACK_TASK; 153 +const CALLBACK_EVENT = 0x50000; 154 + 155 +const SND_SYNC=0; 156 +const SND_ASYNC=1; 157 +const SND_NODEFAULT=2; 158 +const SND_MEMORY=4; 159 +const SND_LOOP=8; 160 +const SND_NOSTOP=16; 161 +const SND_NOWAIT=0x2000; 162 +const SND_ALIAS=0x10000; 163 +const SND_ALIAS_ID=0x110000; 164 +const SND_FILENAME=0x20000; 165 +const SND_RESOURCE=0x40004; 166 +const SND_PURGE=0x40; 167 +const SND_APPLICATION=0x80; 168 +const SND_ALIAS_START=0; 169 + 170 +template sndAlias(char c0, char c1) 171 +{ 172 + const DWORD sndAlias = SND_ALIAS_START + c0 | (c1<<8); 173 +} 174 + 175 +const SND_ALIAS_SYSTEMASTERISK = sndAlias!('S','*'); 176 +const SND_ALIAS_SYSTEMQUESTION = sndAlias!('S','?'); 177 +const SND_ALIAS_SYSTEMHAND = sndAlias!('S','H'); 178 +const SND_ALIAS_SYSTEMEXIT = sndAlias!('S','E'); 179 +const SND_ALIAS_SYSTEMSTART = sndAlias!('S','S'); 180 +const SND_ALIAS_SYSTEMWELCOME = sndAlias!('S','W'); 181 +const SND_ALIAS_SYSTEMEXCLAMATION = sndAlias!('S','!'); 182 +const SND_ALIAS_SYSTEMDEFAULT = sndAlias!('S','D'); 183 + 184 +enum { 185 + WAVERR_BADFORMAT = (WAVERR_BASE + 0), 186 + WAVERR_STILLPLAYING, 187 + WAVERR_UNPREPARED, 188 + WAVERR_SYNC, // = WAVERR_BASE + 3; 189 + WAVERR_LASTERROR = WAVERR_SYNC 190 +} 191 + 192 +const WOM_OPEN = MM_WOM_OPEN; 193 +const WOM_CLOSE = MM_WOM_CLOSE; 194 +const WOM_DONE = MM_WOM_DONE; 195 +const WIM_OPEN = MM_WIM_OPEN; 196 +const WIM_CLOSE = MM_WIM_CLOSE; 197 +const WIM_DATA = MM_WIM_DATA; 198 + 199 +const UINT WAVE_MAPPER= -1; // FIXME: This doesn't make sense! 200 +const WAVE_FORMAT_QUERY=1; 201 +const WAVE_ALLOWSYNC=2; 202 +const WAVE_MAPPED=4; 203 +const WAVE_FORMAT_DIRECT=8; 204 +const WAVE_FORMAT_DIRECT_QUERY=(WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT); 205 +const WHDR_DONE=1; 206 +const WHDR_PREPARED=2; 207 +const WHDR_BEGINLOOP=4; 208 +const WHDR_ENDLOOP=8; 209 +const WHDR_INQUEUE=16; 210 + 211 +const WAVECAPS_PITCH=1; 212 +const WAVECAPS_PLAYBACKRATE=2; 213 +const WAVECAPS_VOLUME=4; 214 +const WAVECAPS_LRVOLUME=8; 215 +const WAVECAPS_SYNC=16; 216 +const WAVECAPS_SAMPLEACCURATE=32; 217 +const WAVECAPS_DIRECTSOUND=64; 218 + 219 +const WAVE_INVALIDFORMAT=0; 220 +const WAVE_FORMAT_1M08=1; 221 +const WAVE_FORMAT_1S08=2; 222 +const WAVE_FORMAT_1M16=4; 223 +const WAVE_FORMAT_1S16=8; 224 +const WAVE_FORMAT_2M08=16; 225 +const WAVE_FORMAT_2S08=32; 226 +const WAVE_FORMAT_2M16=64; 227 +const WAVE_FORMAT_2S16=128; 228 +const WAVE_FORMAT_4M08=256; 229 +const WAVE_FORMAT_4S08=512; 230 +const WAVE_FORMAT_4M16=1024; 231 +const WAVE_FORMAT_4S16=2048; 232 +const WAVE_FORMAT_PCM=1; 233 + 234 +enum { 235 + MIDIERR_UNPREPARED = MIDIERR_BASE, 236 + MIDIERR_STILLPLAYING, 237 + MIDIERR_NOMAP, 238 + MIDIERR_NOTREADY, 239 + MIDIERR_NODEVICE, 240 + MIDIERR_INVALIDSETUP, 241 + MIDIERR_BADOPENMODE, 242 + MIDIERR_DONT_CONTINUE, // = MIDIERR_BASE+7 243 + MIDIERR_LASTERROR = MIDIERR_DONT_CONTINUE 244 +} 245 + 246 +const MIDIPATCHSIZE=128; 247 + 248 +const MIM_OPEN=MM_MIM_OPEN; 249 +const MIM_CLOSE=MM_MIM_CLOSE; 250 +const MIM_DATA=MM_MIM_DATA; 251 +const MIM_LONGDATA=MM_MIM_LONGDATA; 252 +const MIM_ERROR=MM_MIM_ERROR; 253 +const MIM_LONGERROR=MM_MIM_LONGERROR; 254 +const MOM_OPEN=MM_MOM_OPEN; 255 +const MOM_CLOSE=MM_MOM_CLOSE; 256 +const MOM_DONE=MM_MOM_DONE; 257 +const MIM_MOREDATA=MM_MIM_MOREDATA; 258 +const MOM_POSITIONCB=MM_MOM_POSITIONCB; 259 + 260 +const UINT MIDIMAPPER= -1; // FIXME: uint is nonsense for this! 261 +const UINT MIDI_MAPPER= -1; // FIXME: uint is nonsense for this! 262 +const MIDI_IO_STATUS=32; 263 +const MIDI_CACHE_ALL=1; 264 +const MIDI_CACHE_BESTFIT=2; 265 +const MIDI_CACHE_QUERY=3; 266 +const MIDI_UNCACHE=4; 267 +const MOD_MIDIPORT=1; 268 +const MOD_SYNTH=2; 269 +const MOD_SQSYNTH=3; 270 +const MOD_FMSYNTH=4; 271 +const MOD_MAPPER=5; 272 +const MIDICAPS_VOLUME=1; 273 +const MIDICAPS_LRVOLUME=2; 274 +const MIDICAPS_CACHE=4; 275 +const MIDICAPS_STREAM=8; 276 +const MHDR_DONE=1; 277 +const MHDR_PREPARED=2; 278 +const MHDR_INQUEUE=4; 279 +const MHDR_ISSTRM=8; 280 +const MEVT_F_SHORT=0; 281 +const MEVT_F_LONG=0x80000000; 282 +const MEVT_F_CALLBACK=0x40000000; 283 + 284 +BYTE MEVT_EVENTTYPE(DWORD x) { return cast(BYTE)((x>>24) &0xFF); } 285 +DWORD MEVT_EVENTPARM(DWORD x) { return x & 0xFFFFFF; } 286 + 287 +const MEVT_SHORTMSG=0; 288 +const MEVT_TEMPO=1; 289 +const MEVT_NOP=2; 290 + 291 +const BYTE MEVT_LONGMSG = 0x80; 292 +const BYTE MEVT_COMMENT = 0x82; 293 +const BYTE MEVT_VERSION = 0x84; 294 + 295 +const MIDISTRM_ERROR = -2; 296 + 297 +const MIDIPROP_SET = 0x80000000; 298 +const MIDIPROP_GET = 0x40000000; 299 +const MIDIPROP_TIMEDIV = 1; 300 +const MIDIPROP_TEMPO = 2; 301 + 302 +const UINT AUX_MAPPER = -1; 303 + 304 +const AUXCAPS_CDAUDIO=1; 305 +const AUXCAPS_AUXIN=2; 306 +const AUXCAPS_VOLUME=1; 307 +const AUXCAPS_LRVOLUME=2; 308 +const MIXER_SHORT_NAME_CHARS=16; 309 +const MIXER_LONG_NAME_CHARS=64; 310 +const MIXERR_INVALLINE=MIXERR_BASE; 311 +const MIXERR_INVALCONTROL=(MIXERR_BASE+1); 312 +const MIXERR_INVALVALUE=(MIXERR_BASE+2); 313 +const MIXERR_LASTERROR=(MIXERR_BASE+2); 314 + 315 +const MIXER_OBJECTF_HANDLE=0x80000000; 316 +const MIXER_OBJECTF_MIXER=0; 317 +const MIXER_OBJECTF_HMIXER=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER); 318 +const MIXER_OBJECTF_WAVEOUT=0x10000000; 319 +const MIXER_OBJECTF_HWAVEOUT=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT); 320 +const MIXER_OBJECTF_WAVEIN=0x20000000; 321 +const MIXER_OBJECTF_HWAVEIN=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN); 322 +const MIXER_OBJECTF_MIDIOUT=0x30000000; 323 +const MIXER_OBJECTF_HMIDIOUT=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT); 324 +const MIXER_OBJECTF_MIDIIN=0x40000000; 325 +const MIXER_OBJECTF_HMIDIIN=(MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN); 326 +const MIXER_OBJECTF_AUX=0x50000000; 327 + 328 +const MIXERLINE_LINEF_ACTIVE=1; 329 +const MIXERLINE_LINEF_DISCONNECTED=0x8000; 330 +const MIXERLINE_LINEF_SOURCE=0x80000000; 331 + 332 +const MIXERLINE_COMPONENTTYPE_DST_FIRST=0; 333 +const MIXERLINE_COMPONENTTYPE_DST_UNDEFINED=MIXERLINE_COMPONENTTYPE_DST_FIRST; 334 +const MIXERLINE_COMPONENTTYPE_DST_DIGITAL=(MIXERLINE_COMPONENTTYPE_DST_FIRST+1); 335 +const MIXERLINE_COMPONENTTYPE_DST_LINE=(MIXERLINE_COMPONENTTYPE_DST_FIRST+2); 336 +const MIXERLINE_COMPONENTTYPE_DST_MONITOR=(MIXERLINE_COMPONENTTYPE_DST_FIRST+3); 337 +const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS=(MIXERLINE_COMPONENTTYPE_DST_FIRST+4); 338 +const MIXERLINE_COMPONENTTYPE_DST_HEADPHONES=(MIXERLINE_COMPONENTTYPE_DST_FIRST+5); 339 +const MIXERLINE_COMPONENTTYPE_DST_TELEPHONE=(MIXERLINE_COMPONENTTYPE_DST_FIRST+6); 340 +const MIXERLINE_COMPONENTTYPE_DST_WAVEIN=(MIXERLINE_COMPONENTTYPE_DST_FIRST+7); 341 +const MIXERLINE_COMPONENTTYPE_DST_VOICEIN=(MIXERLINE_COMPONENTTYPE_DST_FIRST+8); 342 +const MIXERLINE_COMPONENTTYPE_DST_LAST=(MIXERLINE_COMPONENTTYPE_DST_FIRST+8); 343 +const MIXERLINE_COMPONENTTYPE_SRC_FIRST=0x1000; 344 +const MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED=MIXERLINE_COMPONENTTYPE_SRC_FIRST; 345 +const MIXERLINE_COMPONENTTYPE_SRC_DIGITAL=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+1); 346 +const MIXERLINE_COMPONENTTYPE_SRC_LINE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+2); 347 +const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+3); 348 +const MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+4); 349 +const MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+5); 350 +const MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+6); 351 +const MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+7); 352 +const MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+8); 353 +const MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+9); 354 +const MIXERLINE_COMPONENTTYPE_SRC_ANALOG=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+10); 355 +const MIXERLINE_COMPONENTTYPE_SRC_LAST=(MIXERLINE_COMPONENTTYPE_SRC_FIRST+10); 356 + 357 +enum { 358 + MIXERLINE_TARGETTYPE_UNDEFINED = 0, 359 + MIXERLINE_TARGETTYPE_WAVEOUT, 360 + MIXERLINE_TARGETTYPE_WAVEIN, 361 + MIXERLINE_TARGETTYPE_MIDIOUT, 362 + MIXERLINE_TARGETTYPE_MIDIIN, 363 + MIXERLINE_TARGETTYPE_AUX // =5 364 +} 365 + 366 +const MIXER_GETLINEINFOF_DESTINATION=0; 367 +const MIXER_GETLINEINFOF_SOURCE=1; 368 +const MIXER_GETLINEINFOF_LINEID=2; 369 +const MIXER_GETLINEINFOF_COMPONENTTYPE=3; 370 +const MIXER_GETLINEINFOF_TARGETTYPE=4; 371 +const MIXER_GETLINEINFOF_QUERYMASK=15; 372 + 373 +const MIXERCONTROL_CONTROLF_UNIFORM=1; 374 +const MIXERCONTROL_CONTROLF_MULTIPLE=2; 375 +const MIXERCONTROL_CONTROLF_DISABLED=0x80000000; 376 +const MIXERCONTROL_CT_CLASS_MASK=0xF0000000; 377 +const MIXERCONTROL_CT_CLASS_CUSTOM=0; 378 +const MIXERCONTROL_CT_CLASS_METER=0x10000000; 379 +const MIXERCONTROL_CT_CLASS_SWITCH=0x20000000; 380 +const MIXERCONTROL_CT_CLASS_NUMBER=0x30000000; 381 +const MIXERCONTROL_CT_CLASS_SLIDER=0x40000000; 382 +const MIXERCONTROL_CT_CLASS_FADER=0x50000000; 383 +const MIXERCONTROL_CT_CLASS_TIME=0x60000000; 384 +const MIXERCONTROL_CT_CLASS_LIST=0x70000000; 385 +const MIXERCONTROL_CT_SUBCLASS_MASK=0xF000000; 386 +const MIXERCONTROL_CT_SC_SWITCH_BOOLEAN=0; 387 +const MIXERCONTROL_CT_SC_SWITCH_BUTTON=0x1000000; 388 +const MIXERCONTROL_CT_SC_METER_POLLED=0; 389 +const MIXERCONTROL_CT_SC_TIME_MICROSECS=0; 390 +const MIXERCONTROL_CT_SC_TIME_MILLISECS=0x1000000; 391 +const MIXERCONTROL_CT_SC_LIST_SINGLE=0; 392 +const MIXERCONTROL_CT_SC_LIST_MULTIPLE=0x1000000; 393 +const MIXERCONTROL_CT_UNITS_MASK=0xFF0000; 394 +const MIXERCONTROL_CT_UNITS_CUSTOM=0; 395 +const MIXERCONTROL_CT_UNITS_BOOLEAN=0x10000; 396 +const MIXERCONTROL_CT_UNITS_SIGNED=0x20000; 397 +const MIXERCONTROL_CT_UNITS_UNSIGNED=0x30000; 398 +const MIXERCONTROL_CT_UNITS_DECIBELS=0x40000; 399 +const MIXERCONTROL_CT_UNITS_PERCENT=0x50000; 400 + 401 +const MIXERCONTROL_CONTROLTYPE_CUSTOM=(MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM); 402 +const MIXERCONTROL_CONTROLTYPE_BOOLEANMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN); 403 +const MIXERCONTROL_CONTROLTYPE_SIGNEDMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED); 404 +const MIXERCONTROL_CONTROLTYPE_PEAKMETER=(MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1); 405 +const MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER=(MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED); 406 +const MIXERCONTROL_CONTROLTYPE_BOOLEAN=(MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN); 407 +const MIXERCONTROL_CONTROLTYPE_ONOFF=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+1); 408 +const MIXERCONTROL_CONTROLTYPE_MUTE=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+2); 409 +const MIXERCONTROL_CONTROLTYPE_MONO=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+3); 410 +const MIXERCONTROL_CONTROLTYPE_LOUDNESS=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+4); 411 +const MIXERCONTROL_CONTROLTYPE_STEREOENH=(MIXERCONTROL_CONTROLTYPE_BOOLEAN+5); 412 +const MIXERCONTROL_CONTROLTYPE_BUTTON=(MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN); 413 +const MIXERCONTROL_CONTROLTYPE_DECIBELS=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS); 414 +const MIXERCONTROL_CONTROLTYPE_SIGNED=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED); 415 +const MIXERCONTROL_CONTROLTYPE_UNSIGNED=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED); 416 +const MIXERCONTROL_CONTROLTYPE_PERCENT=(MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT); 417 +const MIXERCONTROL_CONTROLTYPE_SLIDER=(MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED); 418 +const MIXERCONTROL_CONTROLTYPE_PAN=(MIXERCONTROL_CONTROLTYPE_SLIDER+1); 419 +const MIXERCONTROL_CONTROLTYPE_QSOUNDPAN=(MIXERCONTROL_CONTROLTYPE_SLIDER+2); 420 +const MIXERCONTROL_CONTROLTYPE_FADER=(MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED); 421 +const MIXERCONTROL_CONTROLTYPE_VOLUME=(MIXERCONTROL_CONTROLTYPE_FADER+1); 422 +const MIXERCONTROL_CONTROLTYPE_BASS=(MIXERCONTROL_CONTROLTYPE_FADER+2); 423 +const MIXERCONTROL_CONTROLTYPE_TREBLE=(MIXERCONTROL_CONTROLTYPE_FADER+3); 424 +const MIXERCONTROL_CONTROLTYPE_EQUALIZER=(MIXERCONTROL_CONTROLTYPE_FADER+4); 425 +const MIXERCONTROL_CONTROLTYPE_SINGLESELECT=(MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN); 426 +const MIXERCONTROL_CONTROLTYPE_MUX=(MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1); 427 +const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT=(MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN); 428 +const MIXERCONTROL_CONTROLTYPE_MIXER=(MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1); 429 +const MIXERCONTROL_CONTROLTYPE_MICROTIME=(MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED); 430 +const MIXERCONTROL_CONTROLTYPE_MILLITIME=(MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED); 431 + 432 +const MIXER_GETLINECONTROLSF_ALL=0; 433 +const MIXER_GETLINECONTROLSF_ONEBYID=1; 434 +const MIXER_GETLINECONTROLSF_ONEBYTYPE=2; 435 +const MIXER_GETLINECONTROLSF_QUERYMASK=15; 436 +const MIXER_GETCONTROLDETAILSF_VALUE=0; 437 +const MIXER_GETCONTROLDETAILSF_LISTTEXT=1; 438 +const MIXER_GETCONTROLDETAILSF_QUERYMASK=15; 439 +const MIXER_SETCONTROLDETAILSF_VALUE=0; 440 +const MIXER_SETCONTROLDETAILSF_CUSTOM=1; 441 +const MIXER_SETCONTROLDETAILSF_QUERYMASK=15; 442 + 443 +const TIMERR_NOERROR=0; 444 +const TIMERR_NOCANDO=(TIMERR_BASE+1); 445 +const TIMERR_STRUCT=(TIMERR_BASE+33); 446 +const TIME_ONESHOT=0; 447 +const TIME_PERIODIC=1; 448 +const TIME_CALLBACK_FUNCTION=0; 449 +const TIME_CALLBACK_EVENT_SET=16; 450 +const TIME_CALLBACK_EVENT_PULSE=32; 451 + 452 +static if (WINVER >= 0x0501) { 453 + 454 +const TIME_KILL_SYNCHRONOUS=0x0100; 455 + 456 +} 457 + 458 +const JOYERR_NOERROR = 0; 459 +const JOYERR_PARMS=(JOYERR_BASE+5); 460 +const JOYERR_NOCANDO=(JOYERR_BASE+6); 461 +const JOYERR_UNPLUGGED=(JOYERR_BASE+7); 462 + 463 +const JOY_BUTTON1=1; 464 +const JOY_BUTTON2=2; 465 +const JOY_BUTTON3=4; 466 +const JOY_BUTTON4=8; 467 +const JOY_BUTTON1CHG=256; 468 +const JOY_BUTTON2CHG=512; 469 +const JOY_BUTTON3CHG=1024; 470 +const JOY_BUTTON4CHG=2048; 471 +const JOY_BUTTON5=257; 472 +const JOY_BUTTON6=513; 473 +const JOY_BUTTON7=1025; 474 +const JOY_BUTTON8=2049; 475 +const JOY_BUTTON9=256; 476 +const JOY_BUTTON10=512; 477 +const JOY_BUTTON11=1024; 478 +const JOY_BUTTON12=2048; 479 +const JOY_BUTTON13=4096; 480 +const JOY_BUTTON14=8192; 481 +const JOY_BUTTON15=16384; 482 +const JOY_BUTTON16=32768; 483 +const JOY_BUTTON17=65536; 484 +const JOY_BUTTON18=0x20000; 485 +const JOY_BUTTON19=0x40000; 486 +const JOY_BUTTON20=0x80000; 487 +const JOY_BUTTON21=0x100000; 488 +const JOY_BUTTON22=0x200000; 489 +const JOY_BUTTON23=0x400000; 490 +const JOY_BUTTON24=0x800000; 491 +const JOY_BUTTON25=0x1000000; 492 +const JOY_BUTTON26=0x2000000; 493 +const JOY_BUTTON27=0x4000000; 494 +const JOY_BUTTON28=0x8000000; 495 +const JOY_BUTTON29=0x10000000; 496 +const JOY_BUTTON30=0x20000000; 497 +const JOY_BUTTON31=0x40000000; 498 +const JOY_BUTTON32=0x80000000; 499 + 500 +enum : DWORD { 501 + JOY_POVCENTERED = -1, 502 + JOY_POVFORWARD = 0, 503 + JOY_POVBACKWARD = 18000, 504 + JOY_POVLEFT = 27000, 505 + JOY_POVRIGHT = 9000 506 +} 507 + 508 +const DWORD 509 + JOY_RETURNX = 0x00000001, 510 + JOY_RETURNY = 0x00000002, 511 + JOY_RETURNZ = 0x00000004, 512 + JOY_RETURNR = 0x00000008, 513 + JOY_RETURNU = 0x00000010, 514 + JOY_RETURNV = 0x00000020, 515 + JOY_RETURNPOV = 0x00000040, 516 + JOY_RETURNBUTTONS = 0x00000080, 517 + JOY_RETURNRAWDATA = 0x00000100, 518 + JOY_RETURNPOVCTS = 0x00000200, 519 + JOY_RETURNCENTERED = 0x00000400, 520 + JOY_USEDEADZONE = 0x00000800, 521 + JOY_RETURNALL = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETURNR 522 + | JOY_RETURNU | JOY_RETURNV | JOY_RETURNPOV 523 + | JOY_RETURNBUTTONS, 524 + JOY_CAL_READALWAYS = 0x00010000, 525 + JOY_CAL_READXYONLY = 0x00020000, 526 + JOY_CAL_READ3 = 0x00040000, 527 + JOY_CAL_READ4 = 0x00080000, 528 + JOY_CAL_READXONLY = 0x00100000, 529 + JOY_CAL_READYONLY = 0x00200000, 530 + JOY_CAL_READ5 = 0x00400000, 531 + JOY_CAL_READ6 = 0x00800000, 532 + JOY_CAL_READZONLY = 0x01000000, 533 + JOY_CAL_READRONLY = 0x02000000, 534 + JOY_CAL_READUONLY = 0x04000000, 535 + JOY_CAL_READVONLY = 0x08000000; 536 + 537 +const JOYSTICKID1=0; 538 +const JOYSTICKID2=1; 539 + 540 +const JOYCAPS_HASZ=1; 541 +const JOYCAPS_HASR=2; 542 +const JOYCAPS_HASU=4; 543 +const JOYCAPS_HASV=8; 544 +const JOYCAPS_HASPOV=16; 545 +const JOYCAPS_POV4DIR=32; 546 +const JOYCAPS_POVCTS=64; 547 + 548 +const MMIOERR_BASE=256; 549 +const MMIOERR_FILENOTFOUND=(MMIOERR_BASE+1); 550 +const MMIOERR_OUTOFMEMORY=(MMIOERR_BASE+2); 551 +const MMIOERR_CANNOTOPEN=(MMIOERR_BASE+3); 552 +const MMIOERR_CANNOTCLOSE=(MMIOERR_BASE+4); 553 +const MMIOERR_CANNOTREAD=(MMIOERR_BASE+5); 554 +const MMIOERR_CANNOTWRITE=(MMIOERR_BASE+6); 555 +const MMIOERR_CANNOTSEEK=(MMIOERR_BASE+7); 556 +const MMIOERR_CANNOTEXPAND=(MMIOERR_BASE+8); 557 +const MMIOERR_CHUNKNOTFOUND=(MMIOERR_BASE+9); 558 +const MMIOERR_UNBUFFERED=(MMIOERR_BASE+10); 559 +const MMIOERR_PATHNOTFOUND=(MMIOERR_BASE+11); 560 +const MMIOERR_ACCESSDENIED=(MMIOERR_BASE+12); 561 +const MMIOERR_SHARINGVIOLATION=(MMIOERR_BASE+13); 562 +const MMIOERR_NETWORKERROR=(MMIOERR_BASE+14); 563 +const MMIOERR_TOOMANYOPENFILES=(MMIOERR_BASE+15); 564 +const MMIOERR_INVALIDFILE=(MMIOERR_BASE+16); 565 + 566 +const CFSEPCHAR='+'; 567 + 568 +const MMIO_RWMODE=3; 569 +const MMIO_SHAREMODE=0x70; 570 +const MMIO_CREATE=0x1000; 571 +const MMIO_PARSE=256; 572 +const MMIO_DELETE=512; 573 +const MMIO_EXIST=0x4000; 574 +const MMIO_ALLOCBUF=0x10000; 575 +const MMIO_GETTEMP=0x20000; 576 +const MMIO_DIRTY=0x10000000; 577 +const MMIO_READ=0; 578 +const MMIO_WRITE=1; 579 +const MMIO_READWRITE=2; 580 +const MMIO_COMPAT=0; 581 +const MMIO_EXCLUSIVE=16; 582 +const MMIO_DENYWRITE=32; 583 +const MMIO_DENYREAD=0x30; 584 +const MMIO_DENYNONE=64; 585 +const MMIO_FHOPEN=16; 586 +const MMIO_EMPTYBUF=16; 587 +const MMIO_TOUPPER=16; 588 +const MMIO_INSTALLPROC=0x10000; 589 +const MMIO_GLOBALPROC=0x10000000; 590 +const MMIO_REMOVEPROC=0x20000; 591 +const MMIO_UNICODEPROC=0x1000000; 592 +const MMIO_FINDPROC=0x40000; 593 +const MMIO_FINDCHUNK=16; 594 +const MMIO_FINDRIFF=32; 595 +const MMIO_FINDLIST=64; 596 +const MMIO_CREATERIFF=32; 597 +const MMIO_CREATELIST=64; 598 +const MMIOM_READ=MMIO_READ; 599 +const MMIOM_WRITE=MMIO_WRITE; 600 +const MMIOM_SEEK=2; 601 +const MMIOM_OPEN=3; 602 +const MMIOM_CLOSE=4; 603 +const MMIOM_WRITEFLUSH=5; 604 +const MMIOM_RENAME=6; 605 +const MMIOM_USER=0x8000; 606 + 607 +const FOURCC_RIFF = mmioFOURCC!('R', 'I', 'F', 'F'); 608 +const FOURCC_LIST = mmioFOURCC!('L', 'I', 'S', 'T'); 609 +const FOURCC_DOS = mmioFOURCC!('D', 'O', 'S', ' '); 610 +const FOURCC_MEM = mmioFOURCC!('M', 'E', 'M', ' '); 611 + 612 +const MMIO_DEFAULTBUFFER=8192; 613 + 614 +enum { 615 + MCIERR_INVALID_DEVICE_ID = MCIERR_BASE + 1, 616 + MCIERR_UNRECOGNIZED_KEYWORD = MCIERR_BASE + 3, 617 + MCIERR_UNRECOGNIZED_COMMAND = MCIERR_BASE + 5, 618 + MCIERR_HARDWARE, 619 + MCIERR_INVALID_DEVICE_NAME, 620 + MCIERR_OUT_OF_MEMORY, 621 + MCIERR_DEVICE_OPEN, 622 + MCIERR_CANNOT_LOAD_DRIVER, 623 + MCIERR_MISSING_COMMAND_STRING, 624 + MCIERR_PARAM_OVERFLOW, 625 + MCIERR_MISSING_STRING_ARGUMENT, 626 + MCIERR_BAD_INTEGER, 627 + MCIERR_PARSER_INTERNAL, 628 + MCIERR_DRIVER_INTERNAL, 629 + MCIERR_MISSING_PARAMETER, 630 + MCIERR_UNSUPPORTED_FUNCTION, 631 + MCIERR_FILE_NOT_FOUND, 632 + MCIERR_DEVICE_NOT_READY, 633 + MCIERR_INTERNAL, 634 + MCIERR_DRIVER, 635 + MCIERR_CANNOT_USE_ALL, 636 + MCIERR_MULTIPLE, 637 + MCIERR_EXTENSION_NOT_FOUND, 638 + MCIERR_OUTOFRANGE, // = MCIERR_BASE+26 639 + MCIERR_FLAGS_NOT_COMPATIBLE = MCIERR_BASE + 28, 640 + MCIERR_FILE_NOT_SAVED = MCIERR_BASE + 30, 641 + MCIERR_DEVICE_TYPE_REQUIRED, 642 + MCIERR_DEVICE_LOCKED, 643 + MCIERR_DUPLICATE_ALIAS, 644 + MCIERR_BAD_CONSTANT, 645 + MCIERR_MUST_USE_SHAREABLE, 646 + MCIERR_MISSING_DEVICE_NAME, 647 + MCIERR_BAD_TIME_FORMAT, 648 + MCIERR_NO_CLOSING_QUOTE, 649 + MCIERR_DUPLICATE_FLAGS, 650 + MCIERR_INVALID_FILE, 651 + MCIERR_NULL_PARAMETER_BLOCK, 652 + MCIERR_UNNAMED_RESOURCE, 653 + MCIERR_NEW_REQUIRES_ALIAS, 654 + MCIERR_NOTIFY_ON_AUTO_OPEN, 655 + MCIERR_NO_ELEMENT_ALLOWED, 656 + MCIERR_NONAPPLICABLE_FUNCTION, 657 + MCIERR_ILLEGAL_FOR_AUTO_OPEN, 658 + MCIERR_FILENAME_REQUIRED, 659 + MCIERR_EXTRA_CHARACTERS, 660 + MCIERR_DEVICE_NOT_INSTALLED, 661 + MCIERR_GET_CD, 662 + MCIERR_SET_CD, 663 + MCIERR_SET_DRIVE, 664 + MCIERR_DEVICE_LENGTH, 665 + MCIERR_DEVICE_ORD_LENGTH, 666 + MCIERR_NO_INTEGER, // = MCIERR_BASE + 56 667 + MCIERR_WAVE_OUTPUTSINUSE = MCIERR_BASE + 64, 668 + MCIERR_WAVE_SETOUTPUTINUSE, 669 + MCIERR_WAVE_INPUTSINUSE, 670 + MCIERR_WAVE_SETINPUTINUSE, 671 + MCIERR_WAVE_OUTPUTUNSPECIFIED, 672 + MCIERR_WAVE_INPUTUNSPECIFIED, 673 + MCIERR_WAVE_OUTPUTSUNSUITABLE, 674 + MCIERR_WAVE_SETOUTPUTUNSUITABLE, 675 + MCIERR_WAVE_INPUTSUNSUITABLE, 676 + MCIERR_WAVE_SETINPUTUNSUITABLE, // = MCIERR_BASE + 73 677 + MCIERR_SEQ_DIV_INCOMPATIBLE = MCIERR_BASE + 80, 678 + MCIERR_SEQ_PORT_INUSE, 679 + MCIERR_SEQ_PORT_NONEXISTENT, 680 + MCIERR_SEQ_PORT_MAPNODEVICE, 681 + MCIERR_SEQ_PORT_MISCERROR, 682 + MCIERR_SEQ_TIMER, 683 + MCIERR_SEQ_PORTUNSPECIFIED, 684 + MCIERR_SEQ_NOMIDIPRESENT, // = MCIERR_BASE + 87 685 + MCIERR_NO_WINDOW = MCIERR_BASE + 90, 686 + MCIERR_CREATEWINDOW, 687 + MCIERR_FILE_READ, 688 + MCIERR_FILE_WRITE, 689 + MCIERR_NO_IDENTITY // = MCIERR_BASE + 94 690 +} 691 +const MCIERR_CUSTOM_DRIVER_BASE = MCIERR_BASE + 256; 692 + 693 +const MCI_FIRST=DRV_MCI_FIRST; 694 +const MCI_OPEN=0x803; 695 +const MCI_CLOSE=0x804; 696 +const MCI_ESCAPE=0x805; 697 +const MCI_PLAY=0x806; 698 +const MCI_SEEK=0x807; 699 +const MCI_STOP=0x808; 700 +const MCI_PAUSE=0x809; 701 +const MCI_INFO=0x80A; 702 +const MCI_GETDEVCAPS=0x80B; 703 +const MCI_SPIN=0x80C; 704 +const MCI_SET=0x80D; 705 +const MCI_STEP=0x80E; 706 +const MCI_RECORD=0x80F; 707 +const MCI_SYSINFO=0x810; 708 +const MCI_BREAK=0x811; 709 +const MCI_SAVE=0x813; 710 +const MCI_STATUS=0x814; 711 +const MCI_CUE=0x830; 712 +const MCI_REALIZE=0x840; 713 +const MCI_WINDOW=0x841; 714 +const MCI_PUT=0x842; 715 +const MCI_WHERE=0x843; 716 +const MCI_FREEZE=0x844; 717 +const MCI_UNFREEZE=0x845; 718 +const MCI_LOAD=0x850; 719 +const MCI_CUT=0x851; 720 +const MCI_COPY=0x852; 721 +const MCI_PASTE=0x853; 722 +const MCI_UPDATE=0x854; 723 +const MCI_RESUME=0x855; 724 +const MCI_DELETE=0x856; 725 +const MCI_USER_MESSAGES=(DRV_MCI_FIRST+0x400); 726 +const MCI_LAST=0xFFF; 727 + 728 +const MCIDEVICEID MCI_ALL_DEVICE_ID = -1; 729 + 730 +const MCI_DEVTYPE_VCR=513; 731 +const MCI_DEVTYPE_VIDEODISC=514; 732 +const MCI_DEVTYPE_OVERLAY=515; 733 +const MCI_DEVTYPE_CD_AUDIO=516; 734 +const MCI_DEVTYPE_DAT=517; 735 +const MCI_DEVTYPE_SCANNER=518; 736 +const MCI_DEVTYPE_ANIMATION=519; 737 +const MCI_DEVTYPE_DIGITAL_VIDEO=520; 738 +const MCI_DEVTYPE_OTHER=521; 739 +const MCI_DEVTYPE_WAVEFORM_AUDIO=522; 740 +const MCI_DEVTYPE_SEQUENCER=523; 741 +const MCI_DEVTYPE_FIRST=MCI_DEVTYPE_VCR; 742 +const MCI_DEVTYPE_LAST=MCI_DEVTYPE_SEQUENCER; 743 +const MCI_DEVTYPE_FIRST_USER=0x1000; 744 +const MCI_MODE_NOT_READY=(MCI_STRING_OFFSET+12); 745 +const MCI_MODE_STOP=(MCI_STRING_OFFSET+13); 746 +const MCI_MODE_PLAY=(MCI_STRING_OFFSET+14); 747 +const MCI_MODE_RECORD=(MCI_STRING_OFFSET+15); 748 +const MCI_MODE_SEEK=(MCI_STRING_OFFSET+16); 749 +const MCI_MODE_PAUSE=(MCI_STRING_OFFSET+17); 750 +const MCI_MODE_OPEN=(MCI_STRING_OFFSET+18); 751 +const MCI_FORMAT_MILLISECONDS=0; 752 +const MCI_FORMAT_HMS=1; 753 +const MCI_FORMAT_MSF=2; 754 +const MCI_FORMAT_FRAMES=3; 755 +const MCI_FORMAT_SMPTE_24=4; 756 +const MCI_FORMAT_SMPTE_25=5; 757 +const MCI_FORMAT_SMPTE_30=6; 758 +const MCI_FORMAT_SMPTE_30DROP=7; 759 +const MCI_FORMAT_BYTES=8; 760 +const MCI_FORMAT_SAMPLES=9; 761 +const MCI_FORMAT_TMSF=10; 762 + 763 + 764 + 765 + 766 +// Macros 767 +BYTE MCI_HMS_HOUR(DWORD t) { return cast(BYTE)(t); } 768 +BYTE MCI_HMS_MINUTE(DWORD t) { return cast(BYTE)(t>>>8); } 769 +BYTE MCI_HMS_SECOND(DWORD t) { return cast(BYTE)( t>>>16); } 770 +DWORD MCI_MAKE_HMS(BYTE h, BYTE m, BYTE s) { return h |(m<<8)|(cast(DWORD)(s)<<16); } 771 +DWORD MCI_MAKE_MSF(BYTE m, BYTE s, BYTE f) { return m |(s<<8)|(cast(DWORD)(f)<<16); } 772 +DWORD MCI_MAKE_TMSF(BYTE t, BYTE m, BYTE s, BYTE f) { 773 + return t |(m<<8)|(s<<16)|(cast(DWORD)(f)<< 24); } 774 + 775 +BYTE MCI_MSF_MINUTE(DWORD t) { return cast(BYTE)(t); } 776 +BYTE MCI_MSF_SECOND(DWORD t) { return cast(BYTE)(t >>> 8); } 777 +BYTE MCI_MSF_FRAME(DWORD t) { return cast(BYTE)(t >>> 16); } 778 + 779 +BYTE MCI_TMSF_TRACK(DWORD t) { return cast(BYTE)(t); } 780 +BYTE MCI_TMSF_MINUTE(DWORD t) { return cast(BYTE)(t>>8); } 781 +BYTE MCI_TMSF_SECOND(DWORD t) { return cast(BYTE)(t>>16); } 782 +BYTE MCI_TMSF_FRAME(DWORD t) { return cast(BYTE)(t>>24); } 783 + 784 + 785 +const MCI_NOTIFY_SUCCESSFUL=1; 786 +const MCI_NOTIFY_SUPERSEDED=2; 787 +const MCI_NOTIFY_ABORTED=4; 788 +const MCI_NOTIFY_FAILURE=8; 789 +const MCI_NOTIFY=1; 790 +const MCI_WAIT=2; 791 +const MCI_FROM=4; 792 +const MCI_TO=8; 793 +const MCI_TRACK=16; 794 +const MCI_OPEN_SHAREABLE=256; 795 +const MCI_OPEN_ELEMENT=512; 796 +const MCI_OPEN_ALIAS=1024; 797 +const MCI_OPEN_ELEMENT_ID=2048; 798 +const MCI_OPEN_TYPE_ID=0x1000; 799 +const MCI_OPEN_TYPE=0x2000; 800 +const MCI_SEEK_TO_START=256; 801 +const MCI_SEEK_TO_END=512; 802 +const MCI_STATUS_ITEM=256; 803 +const MCI_STATUS_START=512; 804 +const MCI_STATUS_LENGTH=1; 805 +const MCI_STATUS_POSITION=2; 806 +const MCI_STATUS_NUMBER_OF_TRACKS=3; 807 +const MCI_STATUS_MODE=4; 808 +const MCI_STATUS_MEDIA_PRESENT=5; 809 +const MCI_STATUS_TIME_FORMAT=6; 810 +const MCI_STATUS_READY=7; 811 +const MCI_STATUS_CURRENT_TRACK=8; 812 +const MCI_INFO_PRODUCT=256; 813 +const MCI_INFO_FILE=512; 814 +const MCI_INFO_MEDIA_UPC=1024; 815 +const MCI_INFO_MEDIA_IDENTITY=2048; 816 +const MCI_INFO_NAME=0x1000; 817 +const MCI_INFO_COPYRIGHT=0x2000; 818 + 819 +const MCI_GETDEVCAPS_ITEM=256; 820 +const MCI_GETDEVCAPS_CAN_RECORD=1; 821 +const MCI_GETDEVCAPS_HAS_AUDIO=2; 822 +const MCI_GETDEVCAPS_HAS_VIDEO=3; 823 +const MCI_GETDEVCAPS_DEVICE_TYPE=4; 824 +const MCI_GETDEVCAPS_USES_FILES=5; 825 +const MCI_GETDEVCAPS_COMPOUND_DEVICE=6; 826 +const MCI_GETDEVCAPS_CAN_EJECT=7; 827 +const MCI_GETDEVCAPS_CAN_PLAY=8; 828 +const MCI_GETDEVCAPS_CAN_SAVE=9; 829 + 830 +const MCI_SYSINFO_QUANTITY=256; 831 +const MCI_SYSINFO_OPEN=512; 832 +const MCI_SYSINFO_NAME=1024; 833 +const MCI_SYSINFO_INSTALLNAME=2048; 834 +const MCI_SET_DOOR_OPEN=256; 835 +const MCI_SET_DOOR_CLOSED=512; 836 +const MCI_SET_TIME_FORMAT=1024; 837 +const MCI_SET_AUDIO=2048; 838 +const MCI_SET_VIDEO=0x1000; 839 +const MCI_SET_ON=0x2000; 840 +const MCI_SET_OFF=0x4000; 841 + 842 +const MCI_SET_AUDIO_ALL=0; 843 +const MCI_SET_AUDIO_LEFT=1; 844 +const MCI_SET_AUDIO_RIGHT=2; 845 + 846 +const MCI_BREAK_KEY=256; 847 +const MCI_BREAK_HWND=512; 848 +const MCI_BREAK_OFF=1024; 849 + 850 +const MCI_RECORD_INSERT=256; 851 +const MCI_RECORD_OVERWRITE=512; 852 +const MCI_SAVE_FILE=256; 853 +const MCI_LOAD_FILE=256; 854 + 855 +const MCI_VD_MODE_PARK=(MCI_VD_OFFSET+1); 856 +const MCI_VD_MEDIA_CLV=(MCI_VD_OFFSET+2); 857 +const MCI_VD_MEDIA_CAV=(MCI_VD_OFFSET+3); 858 +const MCI_VD_MEDIA_OTHER=(MCI_VD_OFFSET+4); 859 + 860 +const MCI_VD_FORMAT_TRACK=0x4001; 861 +const MCI_VD_PLAY_REVERSE=0x10000; 862 +const MCI_VD_PLAY_FAST=0x20000; 863 +const MCI_VD_PLAY_SPEED=0x40000; 864 +const MCI_VD_PLAY_SCAN=0x80000; 865 +const MCI_VD_PLAY_SLOW=0x100000; 866 +const MCI_VD_SEEK_REVERSE=0x10000; 867 +const MCI_VD_STATUS_SPEED=0x4002; 868 +const MCI_VD_STATUS_FORWARD=0x4003; 869 +const MCI_VD_STATUS_MEDIA_TYPE=0x4004; 870 +const MCI_VD_STATUS_SIDE=0x4005; 871 +const MCI_VD_STATUS_DISC_SIZE=0x4006; 872 +const MCI_VD_GETDEVCAPS_CLV=0x10000; 873 +const MCI_VD_GETDEVCAPS_CAV=0x20000; 874 +const MCI_VD_SPIN_UP=0x10000; 875 +const MCI_VD_SPIN_DOWN=0x20000; 876 +const MCI_VD_GETDEVCAPS_CAN_REVERSE=0x4002; 877 +const MCI_VD_GETDEVCAPS_FAST_RATE=0x4003; 878 +const MCI_VD_GETDEVCAPS_SLOW_RATE=0x4004; 879 +const MCI_VD_GETDEVCAPS_NORMAL_RATE=0x4005; 880 +const MCI_VD_STEP_FRAMES=0x10000; 881 +const MCI_VD_STEP_REVERSE=0x20000; 882 +const MCI_VD_ESCAPE_STRING=256; 883 + 884 +const MCI_CDA_STATUS_TYPE_TRACK=0x4001; 885 +const MCI_CDA_TRACK_AUDIO=MCI_CD_OFFSET; 886 +const MCI_CDA_TRACK_OTHER=(MCI_CD_OFFSET+1); 887 + 888 +const MCI_WAVE_PCM=MCI_WAVE_OFFSET; 889 +const MCI_WAVE_MAPPER=(MCI_WAVE_OFFSET+1); 890 +const MCI_WAVE_OPEN_BUFFER=0x10000; 891 +const MCI_WAVE_SET_FORMATTAG=0x10000; 892 +const MCI_WAVE_SET_CHANNELS=0x20000; 893 +const MCI_WAVE_SET_SAMPLESPERSEC=0x40000; 894 +const MCI_WAVE_SET_AVGBYTESPERSEC=0x80000; 895 +const MCI_WAVE_SET_BLOCKALIGN=0x100000; 896 +const MCI_WAVE_SET_BITSPERSAMPLE=0x200000; 897 +const MCI_WAVE_INPUT=0x400000; 898 +const MCI_WAVE_OUTPUT=0x800000; 899 +const MCI_WAVE_STATUS_FORMATTAG=0x4001; 900 +const MCI_WAVE_STATUS_CHANNELS=0x4002; 901 +const MCI_WAVE_STATUS_SAMPLESPERSEC=0x4003; 902 +const MCI_WAVE_STATUS_AVGBYTESPERSEC=0x4004; 903 +const MCI_WAVE_STATUS_BLOCKALIGN=0x4005; 904 +const MCI_WAVE_STATUS_BITSPERSAMPLE=0x4006; 905 +const MCI_WAVE_STATUS_LEVEL=0x4007; 906 +const MCI_WAVE_SET_ANYINPUT=0x4000000; 907 +const MCI_WAVE_SET_ANYOUTPUT=0x8000000; 908 +const MCI_WAVE_GETDEVCAPS_INPUTS=0x4001; 909 +const MCI_WAVE_GETDEVCAPS_OUTPUTS=0x4002; 910 + 911 +const MCI_SEQ_DIV_PPQN=MCI_SEQ_OFFSET; 912 +const MCI_SEQ_DIV_SMPTE_24=(MCI_SEQ_OFFSET+1); 913 +const MCI_SEQ_DIV_SMPTE_25=(MCI_SEQ_OFFSET+2); 914 +const MCI_SEQ_DIV_SMPTE_30DROP=(MCI_SEQ_OFFSET+3); 915 +const MCI_SEQ_DIV_SMPTE_30=(MCI_SEQ_OFFSET+4); 916 +const MCI_SEQ_FORMAT_SONGPTR=0x4001; 917 +const MCI_SEQ_FILE=0x4002; 918 +const MCI_SEQ_MIDI=0x4003; 919 +const MCI_SEQ_SMPTE=0x4004; 920 +const MCI_SEQ_NONE=65533; 921 +const MCI_SEQ_MAPPER=65535; 922 + 923 +const MCI_SEQ_STATUS_TEMPO=0x4002; 924 +const MCI_SEQ_STATUS_PORT=0x4003; 925 +const MCI_SEQ_STATUS_SLAVE=0x4007; 926 +const MCI_SEQ_STATUS_MASTER=0x4008; 927 +const MCI_SEQ_STATUS_OFFSET=0x4009; 928 +const MCI_SEQ_STATUS_DIVTYPE=0x400A; 929 +const MCI_SEQ_STATUS_NAME=0x400B; 930 +const MCI_SEQ_STATUS_COPYRIGHT=0x400C; 931 + 932 +const MCI_SEQ_SET_TEMPO=0x10000; 933 +const MCI_SEQ_SET_PORT=0x20000; 934 +const MCI_SEQ_SET_SLAVE=0x40000; 935 +const MCI_SEQ_SET_MASTER=0x80000; 936 +const MCI_SEQ_SET_OFFSET=0x1000000; 937 + 938 +const MCI_ANIM_OPEN_WS=0x10000; 939 +const MCI_ANIM_OPEN_PARENT=0x20000; 940 +const MCI_ANIM_OPEN_NOSTATIC=0x40000; 941 +const MCI_ANIM_PLAY_SPEED=0x10000; 942 +const MCI_ANIM_PLAY_REVERSE=0x20000; 943 +const MCI_ANIM_PLAY_FAST=0x40000; 944 +const MCI_ANIM_PLAY_SLOW=0x80000; 945 +const MCI_ANIM_PLAY_SCAN=0x100000; 946 +const MCI_ANIM_STEP_REVERSE=0x10000; 947 +const MCI_ANIM_STEP_FRAMES=0x20000; 948 +const MCI_ANIM_STATUS_SPEED=0x4001; 949 +const MCI_ANIM_STATUS_FORWARD=0x4002; 950 +const MCI_ANIM_STATUS_HWND=0x4003; 951 +const MCI_ANIM_STATUS_HPAL=0x4004; 952 +const MCI_ANIM_STATUS_STRETCH=0x4005; 953 +const MCI_ANIM_INFO_TEXT=0x10000; 954 + 955 +const MCI_ANIM_GETDEVCAPS_CAN_REVERSE=0x4001; 956 +const MCI_ANIM_GETDEVCAPS_FAST_RATE=0x4002; 957 +const MCI_ANIM_GETDEVCAPS_SLOW_RATE=0x4003; 958 +const MCI_ANIM_GETDEVCAPS_NORMAL_RATE=0x4004; 959 +const MCI_ANIM_GETDEVCAPS_PALETTES=0x4006; 960 +const MCI_ANIM_GETDEVCAPS_CAN_STRETCH=0x4007; 961 +const MCI_ANIM_GETDEVCAPS_MAX_WINDOWS=0x4008; 962 + 963 +const MCI_ANIM_REALIZE_NORM=0x10000; 964 +const MCI_ANIM_REALIZE_BKGD=0x20000; 965 + 966 +const MCI_ANIM_WINDOW_HWND=0x10000; 967 +const MCI_ANIM_WINDOW_STATE=0x40000; 968 +const MCI_ANIM_WINDOW_TEXT=0x80000; 969 +const MCI_ANIM_WINDOW_ENABLE_STRETCH=0x100000; 970 +const MCI_ANIM_WINDOW_DISABLE_STRETCH=0x200000; 971 +const MCI_ANIM_WINDOW_DEFAULT=0x0; 972 + 973 +const MCI_ANIM_RECT=0x10000; 974 +const MCI_ANIM_PUT_SOURCE=0x20000; 975 +const MCI_ANIM_PUT_DESTINATION=0x40000; 976 +const MCI_ANIM_WHERE_SOURCE=0x20000; 977 +const MCI_ANIM_WHERE_DESTINATION=0x40000; 978 +const MCI_ANIM_UPDATE_HDC=0x20000; 979 + 980 +const MCI_OVLY_OPEN_WS=0x10000; 981 +const MCI_OVLY_OPEN_PARENT=0x20000; 982 +const MCI_OVLY_STATUS_HWND=0x4001; 983 +const MCI_OVLY_STATUS_STRETCH=0x4002; 984 +const MCI_OVLY_INFO_TEXT=0x10000; 985 +const MCI_OVLY_GETDEVCAPS_CAN_STRETCH=0x4001; 986 +const MCI_OVLY_GETDEVCAPS_CAN_FREEZE=0x4002; 987 +const MCI_OVLY_GETDEVCAPS_MAX_WINDOWS=0x4003; 988 +const MCI_OVLY_WINDOW_HWND=0x10000; 989 +const MCI_OVLY_WINDOW_STATE=0x40000; 990 +const MCI_OVLY_WINDOW_TEXT=0x80000; 991 +const MCI_OVLY_WINDOW_ENABLE_STRETCH=0x100000; 992 +const MCI_OVLY_WINDOW_DISABLE_STRETCH=0x200000; 993 +const MCI_OVLY_WINDOW_DEFAULT=0x0; 994 +const MCI_OVLY_RECT=0x10000; 995 +const MCI_OVLY_PUT_SOURCE=0x20000; 996 +const MCI_OVLY_PUT_DESTINATION=0x40000; 997 +const MCI_OVLY_PUT_FRAME=0x80000; 998 +const MCI_OVLY_PUT_VIDEO=0x100000; 999 +const MCI_OVLY_WHERE_SOURCE=0x20000; 1000 +const MCI_OVLY_WHERE_DESTINATION=0x40000; 1001 +const MCI_OVLY_WHERE_FRAME=0x80000; 1002 +const MCI_OVLY_WHERE_VIDEO=0x100000; 1003 + 1004 +const NEWTRANSPARENT=3; 1005 +const QUERYROPSUPPORT=40; 1006 +const SELECTDIB=41; 1007 + 1008 +LONG DIBINDEX(WORD n) { 1009 + return MAKELONG(n,0x10FF); 1010 +} 1011 +const CAPS1=94; 1012 +const C1_TRANSPARENT=1; 1013 + 1014 +const SEEK_SET=0; 1015 +const SEEK_CUR=1; 1016 +const SEEK_END=2; 1017 + 1018 +alias DWORD MCIERROR; 1019 +alias UINT MCIDEVICEID; 1020 +alias UINT function (MCIDEVICEID,DWORD) YIELDPROC; 1021 +alias UINT MMVERSION; 68 1022 alias UINT MMRESULT; 69 1023 70 -// #define _MMRESULT_ 71 - 72 -alias UINT* LPUINT; 73 - 74 -struct mmtime_tag { 75 - UINT wType; 76 -union { 77 - DWORD ms; 78 - DWORD sample; 79 - DWORD cb; 80 - DWORD ticks; 81 - 82 -struct { 83 - BYTE hour; 84 - BYTE min; 85 - BYTE sec; 86 - BYTE frame; 87 - BYTE fps; 88 - BYTE dummy; 89 -// #ifdef _WIN32 90 - BYTE pad[2]; 91 -// #endif 92 -} 93 - 94 -struct { 95 - DWORD songptrpos; 96 -} 97 - 98 -} 99 - 100 -} 101 -alias mmtime_tag MMTIME; 102 -alias mmtime_tag* PMMTIME; 103 -alias mmtime_tag* NPMMTIME; 104 -alias mmtime_tag* LPMMTIME; 105 - 106 -enum : uint { TIME_MS = 0x0001 } 107 -enum : uint { TIME_SAMPLES = 0x0002 } 108 -enum : uint { TIME_BYTES = 0x0004 } 109 -enum : uint { TIME_SMPTE = 0x0008 } 110 -enum : uint { TIME_MIDI = 0x0010 } 111 -enum : uint { TIME_TICKS = 0x0020 } 112 - 113 -uint MAKEFOURCC(ubyte ch0, ubyte ch1, ubyte ch2, ubyte ch3){ return ch0 | (ch1 << 8) | (ch2 << 16) | (ch3 << 24); } 114 - 115 -enum : uint { MM_JOY1MOVE = 0x3A0 } 116 -enum : uint { MM_JOY2MOVE = 0x3A1 } 117 -enum : uint { MM_JOY1ZMOVE = 0x3A2 } 118 -enum : uint { MM_JOY2ZMOVE = 0x3A3 } 119 -enum : uint { MM_JOY1BUTTONDOWN = 0x3B5 } 120 -enum : uint { MM_JOY2BUTTONDOWN = 0x3B6 } 121 -enum : uint { MM_JOY1BUTTONUP = 0x3B7 } 122 -enum : uint { MM_JOY2BUTTONUP = 0x3B8 } 123 - 124 -enum : uint { MM_MCINOTIFY = 0x3B9 } 125 - 126 -enum : uint { MM_WOM_OPEN = 0x3BB } 127 -enum : uint { MM_WOM_CLOSE = 0x3BC } 128 -enum : uint { MM_WOM_DONE = 0x3BD } 129 - 130 -enum : uint { MM_WIM_OPEN = 0x3BE } 131 -enum : uint { MM_WIM_CLOSE = 0x3BF } 132 -enum : uint { MM_WIM_DATA = 0x3C0 } 133 - 134 -enum : uint { MM_MIM_OPEN = 0x3C1 } 135 -enum : uint { MM_MIM_CLOSE = 0x3C2 } 136 -enum : uint { MM_MIM_DATA = 0x3C3 } 137 -enum : uint { MM_MIM_LONGDATA = 0x3C4 } 138 -enum : uint { MM_MIM_ERROR = 0x3C5 } 139 -enum : uint { MM_MIM_LONGERROR = 0x3C6 } 140 - 141 -enum : uint { MM_MOM_OPEN = 0x3C7 } 142 -enum : uint { MM_MOM_CLOSE = 0x3C8 } 143 -enum : uint { MM_MOM_DONE = 0x3C9 } 144 - 145 -// #ifndef MM_DRVM_OPEN 146 -enum : uint { MM_DRVM_OPEN = 0x3D0 } 147 -enum : uint { MM_DRVM_CLOSE = 0x3D1 } 148 -enum : uint { MM_DRVM_DATA = 0x3D2 } 149 -enum : uint { MM_DRVM_ERROR = 0x3D3 } 150 -// #endif 151 - 152 -enum : uint { MM_STREAM_OPEN = 0x3D4 } 153 -enum : uint { MM_STREAM_CLOSE = 0x3D5 } 154 -enum : uint { MM_STREAM_DONE = 0x3D6 } 155 -enum : uint { MM_STREAM_ERROR = 0x3D7 } 156 - 157 -// #if(WINVER >= 0x0400) 158 -enum : uint { MM_MOM_POSITIONCB = 0x3CA } 159 - 160 -// #ifndef MM_MCISIGNAL 161 -enum : uint { MM_MCISIGNAL = 0x3CB } 162 -// #endif 163 - 164 -enum : uint { MM_MIM_MOREDATA = 0x3CC } 165 - 166 -// #endif /* WINVER >= 0x0400 */ 167 -enum : uint { MM_MIXM_LINE_CHANGE = 0x3D0 } 168 -enum : uint { MM_MIXM_CONTROL_CHANGE = 0x3D1 } 169 - 170 -enum : uint { MMSYSERR_BASE = 0 } 171 -enum : uint { WAVERR_BASE = 32 } 172 -enum : uint { MIDIERR_BASE = 64 } 173 -enum : uint { TIMERR_BASE = 96 } 174 -enum : uint { JOYERR_BASE = 160 } 175 -enum : uint { MCIERR_BASE = 256 } 176 -enum : uint { MIXERR_BASE = 1024 } 177 - 178 -enum : uint { MCI_STRING_OFFSET = 512 } 179 -enum : uint { MCI_VD_OFFSET = 1024 } 180 -enum : uint { MCI_CD_OFFSET = 1088 } 181 -enum : uint { MCI_WAVE_OFFSET = 1152 } 182 -enum : uint { MCI_SEQ_OFFSET = 1216 } 183 - 184 -enum : uint { MMSYSERR_NOERROR = 0 } 185 -enum : uint { MMSYSERR_ERROR = MMSYSERR_BASE + 1 } 186 -enum : uint { MMSYSERR_BADDEVICEID = MMSYSERR_BASE + 2 } 187 -enum : uint { MMSYSERR_NOTENABLED = MMSYSERR_BASE + 3 } 188 -enum : uint { MMSYSERR_ALLOCATED = MMSYSERR_BASE + 4 } 189 -enum : uint { MMSYSERR_INVALHANDLE = MMSYSERR_BASE + 5 } 190 -enum : uint { MMSYSERR_NODRIVER = MMSYSERR_BASE + 6 } 191 -enum : uint { MMSYSERR_NOMEM = MMSYSERR_BASE + 7 } 192 -enum : uint { MMSYSERR_NOTSUPPORTED = MMSYSERR_BASE + 8 } 193 -enum : uint { MMSYSERR_BADERRNUM = MMSYSERR_BASE + 9 } 194 -enum : uint { MMSYSERR_INVALFLAG = MMSYSERR_BASE + 10 } 195 -enum : uint { MMSYSERR_INVALPARAM = MMSYSERR_BASE + 11 } 196 -enum : uint { MMSYSERR_HANDLEBUSY = MMSYSERR_BASE + 12 } 197 - 198 -enum : uint { MMSYSERR_INVALIDALIAS = MMSYSERR_BASE + 13 } 199 -enum : uint { MMSYSERR_BADDB = MMSYSERR_BASE + 14 } 200 -enum : uint { MMSYSERR_KEYNOTFOUND = MMSYSERR_BASE + 15 } 201 -enum : uint { MMSYSERR_READERROR = MMSYSERR_BASE + 16 } 202 -enum : uint { MMSYSERR_WRITEERROR = MMSYSERR_BASE + 17 } 203 -enum : uint { MMSYSERR_DELETEERROR = MMSYSERR_BASE + 18 } 204 -enum : uint { MMSYSERR_VALNOTFOUND = MMSYSERR_BASE + 19 } 205 -enum : uint { MMSYSERR_NODRIVERCB = MMSYSERR_BASE + 20 } 206 -enum : uint { MMSYSERR_MOREDATA = MMSYSERR_BASE + 21 } 207 -enum : uint { MMSYSERR_LASTERROR = MMSYSERR_BASE + 21 } 208 - 209 -// #if (WINVER < 0x030a) || defined(_WIN32) 210 -alias void* HDRVR; 211 -// #endif /* ifdef WINVER < 0x030a */ 212 - 213 -// #ifndef MMNODRV 214 - 215 -// #ifdef _WIN32 1024 +struct MMTIME { 1025 + UINT wType; 1026 + union { 1027 + DWORD ms; 1028 + DWORD sample; 1029 + DWORD cb; 1030 + DWORD ticks; 1031 + struct smpte { 1032 + BYTE hour; 1033 + BYTE min; 1034 + BYTE sec; 1035 + BYTE frame; 1036 + BYTE fps; 1037 + BYTE dummy; 1038 + BYTE pad[2]; 1039 + }; 1040 + struct midi { 1041 + DWORD songptrpos; 1042 + } 1043 + } 1044 +} 1045 +alias MMTIME* PMMTIME, LPMMTIME; 1046 + 1047 +alias HANDLE HDRVR; 1048 + 1049 +struct DRVCONFIGINFO { 1050 + DWORD dwDCISize; 1051 + LPCWSTR lpszDCISectionName; 1052 + LPCWSTR lpszDCIAliasName; 1053 +} 1054 +alias DRVCONFIGINFO * PDRVCONFIGINFO, LPDRVCONFIGINFO; 1055 + 216 1056 struct DRVCONFIGINFOEX { 217 - DWORD dwDCISize; 218 - LPCWSTR lpszDCISectionName; 219 - LPCWSTR lpszDCIAliasName; 220 - DWORD dnDevNode; 221 -} 222 -alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX; 223 -alias DRVCONFIGINFOEX* NPDRVCONFIGINFOEX; 224 -alias DRVCONFIGINFOEX* LPDRVCONFIGINFOEX; 225 - 226 -// #else 227 -// ... 228 -// #endif 229 - 230 -// #if (WINVER < 0x030a) || defined(_WIN32) 231 - 232 -// #ifndef DRV_LOAD 233 - 234 -enum : uint { DRV_LOAD = 0x0001 } 235 -enum : uint { DRV_ENABLE = 0x0002 } 236 -enum : uint { DRV_OPEN = 0x0003 } 237 -enum : uint { DRV_CLOSE = 0x0004 } 238 -enum : uint { DRV_DISABLE = 0x0005 } 239 -enum : uint { DRV_FREE = 0x0006 } 240 -enum : uint { DRV_CONFIGURE = 0x0007 } 241 -enum : uint { DRV_QUERYCONFIGURE = 0x0008 } 242 -enum : uint { DRV_INSTALL = 0x0009 } 243 -enum : uint { DRV_REMOVE = 0x000A } 244 -enum : uint { DRV_EXITSESSION = 0x000B } 245 -enum : uint { DRV_POWER = 0x000F } 246 -enum : uint { DRV_RESERVED = 0x0800 } 247 -enum : uint { DRV_USER = 0x4000 } 248 - 249 -// #ifdef _WIN32 250 -struct tagDRVCONFIGINFO { 251 - DWORD dwDCISize; 252 - LPCWSTR lpszDCISectionName; 253 - LPCWSTR lpszDCIAliasName; 254 -} 255 -alias tagDRVCONFIGINFO DRVCONFIGINFO; 256 -alias tagDRVCONFIGINFO* PDRVCONFIGINFO; 257 -alias tagDRVCONFIGINFO* NPDRVCONFIGINFO; 258 -alias tagDRVCONFIGINFO* LPDRVCONFIGINFO; 259 - 260 -// #else 261 -// ... 262 -// #endif 263 - 264 -enum : uint { DRVCNF_CANCEL = 0x0000 } 265 -enum : uint { DRVCNF_OK = 0x0001 } 266 -enum : uint { DRVCNF_RESTART = 0x0002 } 267 - 268 -// #ifdef _WIN32 269 - 270 -extern(Windows) alias LRESULT function(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM) DRIVERPROC; 271 - 272 -extern(Windows) export LRESULT CloseDriver(HDRVR hDriver, LPARAM lParam1, LPARAM lParam2); 273 -extern(Windows) export HDRVR OpenDriver(LPCWSTR szDriverName, LPCWSTR szSectionName, LPARAM lParam2); 274 -extern(Windows) export LRESULT SendDriverMessage(HDRVR hDriver, UINT message, LPARAM lParam1, LPARAM lParam2); 275 -extern(Windows) export HMODULE DrvGetModuleHandle(HDRVR hDriver); 276 -extern(Windows) export HMODULE GetDriverModuleHandle(HDRVR hDriver); 277 -extern(Windows) export LRESULT DefDriverProc(DWORD_PTR dwDriverIdentifier, HDRVR hdrvr, UINT uMsg, LPARAM lParam1, LPARAM lParam2); 278 -// #else 279 -// ... 280 -// #... 281 -// #endif /* ifdef _WIN32 */ 282 -// #endif /* DRV_LOAD */ 283 -// #endif /* ifdef (WINVER < 0x030a) || defined(_WIN32) */ 284 - 285 -// #if (WINVER >= 0x030a) 286 - 287 -alias DRVCNF_CANCEL DRV_CANCEL; 288 -alias DRVCNF_OK DRV_OK; 289 -alias DRVCNF_RESTART DRV_RESTART; 290 - 291 -// #endif /* ifdef WINVER >= 0x030a */ 292 - 293 -alias DRV_RESERVED DRV_MCI_FIRST; 294 -enum : uint { DRV_MCI_LAST = DRV_RESERVED + 0xFFF } 295 - 296 -// #endif /* ifndef MMNODRV */ 297 - 298 -enum : uint { CALLBACK_TYPEMASK = 0x00070000 } 299 -enum : uint { CALLBACK_NULL = 0x00000000 } 300 -enum : uint { CALLBACK_WINDOW = 0x00010000 } 301 -enum : uint { CALLBACK_TASK = 0x00020000 } 302 -enum : uint { CALLBACK_FUNCTION = 0x00030000 } 303 -// #ifdef _WIN32 304 -enum : uint { CALLBACK_THREAD = CALLBACK_TASK } 305 -enum : uint { CALLBACK_EVENT = 0x00050000 } 306 -// #endif 307 -// typedef void (CALLBACK DRVCALLBACK)(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2); 308 - 309 -extern(Windows) alias void function(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) LPDRVCALLBACK; 310 -// #ifdef _WIN32 311 -alias LPDRVCALLBACK PDRVCALLBACK; 312 -// #endif 313 - 314 -// #ifndef MMNOMMSYSTEM 315 - 316 -// #if (WINVER <= 0x030A) 317 -// ... 318 -// #endif 319 -// #ifdef _WIN32 320 -alias OutputDebugString OutputDebugStr; 321 -// #else 322 -// ... 323 -// #endif 324 - 325 -// #endif /* ifndef MMNOMMSYSTEM */ 326 - 327 -// #ifndef MMNOSOUND 328 - 329 -// #ifdef _WIN32 330 - 331 -extern(Windows) export BOOL sndPlaySoundA(LPCSTR pszSound, UINT fuSound); 332 -extern(Windows) export BOOL sndPlaySoundW(LPCWSTR pszSound, UINT fuSound); 333 -// #ifdef UNICODE 334 -alias sndPlaySoundW sndPlaySound; 335 -// #else 336 -// #... 337 -// #endif // !UNICODE 338 - 339 -// #else 340 -// ... 341 -// #endif 342 - 343 -enum : uint { SND_SYNC = 0x0000 } 344 -enum : uint { SND_ASYNC = 0x0001 } 345 -enum : uint { SND_NODEFAULT = 0x0002 } 346 -enum : uint { SND_MEMORY = 0x0004 } 347 -enum : uint { SND_LOOP = 0x0008 } 348 -enum : uint { SND_NOSTOP = 0x0010 } 349 - 350 -enum : uint { SND_NOWAIT = 0x00002000 } 351 -enum : uint { SND_ALIAS = 0x00010000 } 352 -enum : uint { SND_ALIAS_ID = 0x00110000 } 353 -enum : uint { SND_FILENAME = 0x00020000 } 354 -enum : uint { SND_RESOURCE = 0x00040004 } 355 -// #if(WINVER >= 0x0400) 356 -enum : uint { SND_PURGE = 0x0040 } 357 -enum : uint { SND_APPLICATION = 0x0080 } 358 -// #endif /* WINVER >= 0x0400 */ 359 - 360 -enum : uint { SND_ALIAS_START = 0 } 361 - 362 -// #ifdef _WIN32 363 -// #define sndAlias(ch0, ch1) (SND_ALIAS_START + (DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8)) 364 - 365 -// #define SND_ALIAS_SYSTEMASTERISK sndAlias('S', '*') 366 -// #define SND_ALIAS_SYSTEMQUESTION sndAlias('S', '?') 367 -// #define SND_ALIAS_SYSTEMHAND sndAlias('S', 'H') 368 -// #define SND_ALIAS_SYSTEMEXIT sndAlias('S', 'E') 369 -// #define SND_ALIAS_SYSTEMSTART sndAlias('S', 'S') 370 -// #define SND_ALIAS_SYSTEMWELCOME sndAlias('S', 'W') 371 -// #define SND_ALIAS_SYSTEMEXCLAMATION sndAlias('S', '!') 372 -// #define SND_ALIAS_SYSTEMDEFAULT sndAlias('S', 'D') 373 - 374 -extern(Windows) export BOOL PlaySoundA(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound); 375 -extern(Windows) export BOOL PlaySoundW(LPCWSTR pszSound, HMODULE hmod, DWORD fdwSound); 376 -// #ifdef UNICODE 377 -alias PlaySoundW PlaySound; 378 -// #else 379 -// #... 380 -// #endif // !UNICODE 381 - 382 -// #else 383 -// ... 384 -// #endif 385 - 386 -// #endif /* ifndef MMNOSOUND */ 387 - 388 -// #ifndef MMNOWAVE 389 - 390 -enum : uint { WAVERR_BADFORMAT = WAVERR_BASE + 0 } 391 -enum : uint { WAVERR_STILLPLAYING = WAVERR_BASE + 1 } 392 -enum : uint { WAVERR_UNPREPARED = WAVERR_BASE + 2 } 393 -enum : uint { WAVERR_SYNC = WAVERR_BASE + 3 } 394 -enum : uint { WAVERR_LASTERROR = WAVERR_BASE + 3 } 395 - 396 -alias void* HWAVE; 397 -alias void* HWAVEIN; 398 -alias void* HWAVEOUT; 1057 + DWORD dwDCISize; 1058 + LPCWSTR lpszDCISectionName; 1059 + LPCWSTR lpszDCIAliasName; 1060 + DWORD dnDevNode; 1061 +} 1062 +alias DRVCONFIGINFOEX* PDRVCONFIGINFOEX, LPDRVCONFIGINFOEX; 1063 + 1064 +extern(Windows): 1065 + 1066 +/+FIXME: I couldn't find these in MSDN. 1067 +alias void function (HDRVR,UINT,DWORD,DWORD,DWORD) DRVCALLBACK; 1068 +LRESULT DRIVERPROC (DWORD,HDRVR,UINT,LPARAM,LPARAM); 1069 +alias DRVCALLBACK* LPDRVCALLBACK, PDRVCALLBACK; 1070 + 1071 +alias DRVCALLBACK WAVECALLBACK; 1072 +alias WAVECALLBACK* LPWAVECALLBACK; 1073 + 1074 +alias DRVCALLBACK MIDICALLBACK; 1075 +alias MIDICALLBACK* LPMIDICALLBACK; 1076 + 1077 ++/ 1078 + 1079 +alias HANDLE HWAVE; 1080 +alias HANDLE HWAVEIN; 1081 +alias HANDLE HWAVEOUT; 1082 + 399 1083 alias HWAVEIN* LPHWAVEIN; 400 1084 alias HWAVEOUT* LPHWAVEOUT; 401 -// typedef DRVCALLBACK WAVECALLBACK; 402 -alias LPDRVCALLBACK LPWAVECALLBACK; 403 - 404 -alias MM_WOM_OPEN WOM_OPEN; 405 -alias MM_WOM_CLOSE WOM_CLOSE; 406 -alias MM_WOM_DONE WOM_DONE; 407 -alias MM_WIM_OPEN WIM_OPEN; 408 -alias MM_WIM_CLOSE WIM_CLOSE; 409 -alias MM_WIM_DATA WIM_DATA; 410 - 411 -enum : uint { WAVE_MAPPER = cast(UINT)-1 } 412 - 413 -enum : uint { WAVE_FORMAT_QUERY = 0x0001 } 414 -enum : uint { WAVE_ALLOWSYNC = 0x0002 } 415 -// #if(WINVER >= 0x0400) 416 -enum : uint { WAVE_MAPPED = 0x0004 } 417 -enum : uint { WAVE_FORMAT_DIRECT = 0x0008 } 418 -enum : uint { WAVE_FORMAT_DIRECT_QUERY = WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT } 419 -// #endif /* WINVER >= 0x0400 */ 420 - 421 -struct wavehdr_tag { 422 - LPSTR lpData; 423 - DWORD dwBufferLength; 424 - DWORD dwBytesRecorded; 425 - DWORD_PTR dwUser; 426 - DWORD dwFlags; 427 - DWORD dwLoops; 428 - wavehdr_tag *lpNext; 429 - DWORD_PTR reserved; 430 -} 431 -alias wavehdr_tag WAVEHDR; 432 -alias wavehdr_tag* PWAVEHDR; 433 -alias wavehdr_tag* NPWAVEHDR; 434 -alias wavehdr_tag* LPWAVEHDR; 435 - 436 -enum : uint { WHDR_DONE = 0x00000001 } 437 -enum : uint { WHDR_PREPARED = 0x00000002 } 438 -enum : uint { WHDR_BEGINLOOP = 0x00000004 } 439 -enum : uint { WHDR_ENDLOOP = 0x00000008 } 440 -enum : uint { WHDR_INQUEUE = 0x00000010 } 441 - 442 -// #ifdef _WIN32 443 - 444 -struct tagWAVEOUTCAPSA { 445 - WORD wMid; 446 - WORD wPid; 447 - MMVERSION vDriverVersion; 448 - CHAR szPname[MAXPNAMELEN]; 449 - DWORD dwFormats; 450 - WORD wChannels; 451 - WORD wReserved1; 452 - DWORD dwSupport; 453 -} 454 -alias tagWAVEOUTCAPSA WAVEOUTCAPSA; 455 -alias tagWAVEOUTCAPSA* PWAVEOUTCAPSA; 456 -alias tagWAVEOUTCAPSA* NPWAVEOUTCAPSA; 457 -alias tagWAVEOUTCAPSA* LPWAVEOUTCAPSA; 458 - 459 -struct tagWAVEOUTCAPSW { 460 - WORD wMid; 461 - WORD wPid; 462 - MMVERSION vDriverVersion; 463 - WCHAR szPname[MAXPNAMELEN]; 464 - DWORD dwFormats; 465 - WORD wChannels; 466 - WORD wReserved1; 467 - DWORD dwSupport; 468 -} 469 -alias tagWAVEOUTCAPSW WAVEOUTCAPSW; 470 -alias tagWAVEOUTCAPSW* PWAVEOUTCAPSW; 471 -alias tagWAVEOUTCAPSW* NPWAVEOUTCAPSW; 472 -alias tagWAVEOUTCAPSW* LPWAVEOUTCAPSW; 473 - 474 -// #ifdef UNICODE 475 -alias WAVEOUTCAPSW WAVEOUTCAPS; 476 -alias PWAVEOUTCAPSW PWAVEOUTCAPS; 477 -alias NPWAVEOUTCAPSW NPWAVEOUTCAPS; 478 -alias LPWAVEOUTCAPSW LPWAVEOUTCAPS; 479 -// #else 480 -// ... 481 -// #endif // UNICODE 482 -struct tagWAVEOUTCAPS2A { 483 - WORD wMid; 484 - WORD wPid; 485 - MMVERSION vDriverVersion; 486 - CHAR szPname[MAXPNAMELEN]; 487 - DWORD dwFormats; 488 - WORD wChannels; 489 - WORD wReserved1; 490 - DWORD dwSupport; 491 - GUID ManufacturerGuid; 492 - GUID ProductGuid; 493 - GUID NameGuid; 494 -} 495 -alias tagWAVEOUTCAPS2A WAVEOUTCAPS2A; 496 -alias tagWAVEOUTCAPS2A* PWAVEOUTCAPS2A; 497 -alias tagWAVEOUTCAPS2A* NPWAVEOUTCAPS2A; 498 -alias tagWAVEOUTCAPS2A* LPWAVEOUTCAPS2A; 499 - 500 -struct tagWAVEOUTCAPS2W { 501 - WORD wMid; 502 - WORD wPid; 503 - MMVERSION vDriverVersion; 504 - WCHAR szPname[MAXPNAMELEN]; 505 - DWORD dwFormats; 506 - WORD wChannels; 507 - WORD wReserved1; 508 - DWORD dwSupport; 509 - GUID ManufacturerGuid; 510 - GUID ProductGuid; 511 - GUID NameGuid; 512 -} 513 -alias tagWAVEOUTCAPS2W WAVEOUTCAPS2W; 514 -alias tagWAVEOUTCAPS2W* PWAVEOUTCAPS2W; 515 -alias tagWAVEOUTCAPS2W* NPWAVEOUTCAPS2W; 516 -alias tagWAVEOUTCAPS2W* LPWAVEOUTCAPS2W; 517 - 518 -// #ifdef UNICODE 519 -alias WAVEOUTCAPS2W WAVEOUTCAPS2; 520 -alias PWAVEOUTCAPS2W PWAVEOUTCAPS2; 521 -alias NPWAVEOUTCAPS2W NPWAVEOUTCAPS2; 522 -alias LPWAVEOUTCAPS2W LPWAVEOUTCAPS2; 523 -// #else 524 -// ... 525 -// #endif // UNICODE 526 - 527 -// #else 528 -// ... 529 -// #endif 530 - 531 -enum : uint { WAVECAPS_PITCH = 0x0001 } 532 -enum : uint { WAVECAPS_PLAYBACKRATE = 0x0002 } 533 -enum : uint { WAVECAPS_VOLUME = 0x0004 } 534 -enum : uint { WAVECAPS_LRVOLUME = 0x0008 } 535 -enum : uint { WAVECAPS_SYNC = 0x0010 } 536 -enum : uint { WAVECAPS_SAMPLEACCURATE = 0x0020 } 537 - 538 -// #ifdef _WIN32 539 - 540 -struct tagWAVEINCAPSA { 541 - WORD wMid; 542 - WORD wPid; 543 - MMVERSION vDriverVersion; 544 - CHAR szPname[MAXPNAMELEN]; 545 - DWORD dwFormats; 546 - WORD wChannels; 547 - WORD wReserved1; 548 -} 549 -alias tagWAVEINCAPSA WAVEINCAPSA; 550 -alias tagWAVEINCAPSA* PWAVEINCAPSA; 551 -alias tagWAVEINCAPSA* NPWAVEINCAPSA; 552 -alias tagWAVEINCAPSA* LPWAVEINCAPSA; 553 - 554 -struct tagWAVEINCAPSW { 555 - WORD wMid; 556 - WORD wPid; 557 - MMVERSION vDriverVersion; 558 - WCHAR szPname[MAXPNAMELEN]; 559 - DWORD dwFormats; 560 - WORD wChannels; 561 - WORD wReserved1; 562 -} 563 -alias tagWAVEINCAPSW WAVEINCAPSW; 564 -alias tagWAVEINCAPSW* PWAVEINCAPSW; 565 -alias tagWAVEINCAPSW* NPWAVEINCAPSW; 566 -alias tagWAVEINCAPSW* LPWAVEINCAPSW; 567 - 568 -// #ifdef UNICODE 569 -alias WAVEINCAPSW WAVEINCAPS; 570 -alias PWAVEINCAPSW PWAVEINCAPS; 571 -alias NPWAVEINCAPSW NPWAVEINCAPS; 572 -alias LPWAVEINCAPSW LPWAVEINCAPS; 573 -// #else 574 -// ... 575 -// #endif // UNICODE 576 -struct tagWAVEINCAPS2A { 577 - WORD wMid; 578 - WORD wPid; 579 - MMVERSION vDriverVersion; 580 - CHAR szPname[MAXPNAMELEN]; 581 - DWORD dwFormats; 582 - WORD wChannels; 583 - WORD wReserved1; 584 - GUID ManufacturerGuid; 585 - GUID ProductGuid; 586 - GUID NameGuid; 587 -} 588 -alias tagWAVEINCAPS2A WAVEINCAPS2A; 589 -alias tagWAVEINCAPS2A* PWAVEINCAPS2A; 590 -alias tagWAVEINCAPS2A* NPWAVEINCAPS2A; 591 -alias tagWAVEINCAPS2A* LPWAVEINCAPS2A; 592 - 593 -struct tagWAVEINCAPS2W { 594 - WORD wMid; 595 - WORD wPid; 596 - MMVERSION vDriverVersion; 597 - WCHAR szPname[MAXPNAMELEN]; 598 - DWORD dwFormats; 599 - WORD wChannels; 600 - WORD wReserved1; 601 - GUID ManufacturerGuid; 602 - GUID ProductGuid; 603 - GUID NameGuid; 604 -} 605 -alias tagWAVEINCAPS2W WAVEINCAPS2W; 606 -alias tagWAVEINCAPS2W* PWAVEINCAPS2W; 607 -alias tagWAVEINCAPS2W* NPWAVEINCAPS2W; 608 -alias tagWAVEINCAPS2W* LPWAVEINCAPS2W; 609 - 610 -// #ifdef UNICODE 611 -alias WAVEINCAPS2W WAVEINCAPS2; 612 -alias PWAVEINCAPS2W PWAVEINCAPS2; 613 -alias NPWAVEINCAPS2W NPWAVEINCAPS2; 614 -alias LPWAVEINCAPS2W LPWAVEINCAPS2; 615 -// #else 616 -// ... 617 -// #endif // UNICODE 618 - 619 -// #else 620 -// ... 621 -// #endif 622 - 623 -enum : uint { WAVE_INVALIDFORMAT = 0x00000000 } 624 -enum : uint { WAVE_FORMAT_1M08 = 0x00000001 } 625 -enum : uint { WAVE_FORMAT_1S08 = 0x00000002 } 626 -enum : uint { WAVE_FORMAT_1M16 = 0x00000004 } 627 -enum : uint { WAVE_FORMAT_1S16 = 0x00000008 } 628 -enum : uint { WAVE_FORMAT_2M08 = 0x00000010 } 629 -enum : uint { WAVE_FORMAT_2S08 = 0x00000020 } 630 -enum : uint { WAVE_FORMAT_2M16 = 0x00000040 } 631 -enum : uint { WAVE_FORMAT_2S16 = 0x00000080 } 632 -enum : uint { WAVE_FORMAT_4M08 = 0x00000100 } 633 -enum : uint { WAVE_FORMAT_4S08 = 0x00000200 } 634 -enum : uint { WAVE_FORMAT_4M16 = 0x00000400 } 635 -enum : uint { WAVE_FORMAT_4S16 = 0x00000800 } 636 - 637 -enum : uint { WAVE_FORMAT_44M08 = 0x00000100 } 638 -enum : uint { WAVE_FORMAT_44S08 = 0x00000200 } 639 -enum : uint { WAVE_FORMAT_44M16 = 0x00000400 } 640 -enum : uint { WAVE_FORMAT_44S16 = 0x00000800 } 641 -enum : uint { WAVE_FORMAT_48M08 = 0x00001000 } 642 -enum : uint { WAVE_FORMAT_48S08 = 0x00002000 } 643 -enum : uint { WAVE_FORMAT_48M16 = 0x00004000 } 644 -enum : uint { WAVE_FORMAT_48S16 = 0x00008000 } 645 -enum : uint { WAVE_FORMAT_96M08 = 0x00010000 } 646 -enum : uint { WAVE_FORMAT_96S08 = 0x00020000 } 647 -enum : uint { WAVE_FORMAT_96M16 = 0x00040000 } 648 -enum : uint { WAVE_FORMAT_96S16 = 0x00080000 } 649 - 650 -// #ifndef WAVE_FORMAT_PCM 651 - 652 -struct waveformat_tag { 653 - WORD wFormatTag; 654 - WORD nChannels; 655 - DWORD nSamplesPerSec; 656 - DWORD nAvgBytesPerSec; 657 - WORD nBlockAlign; 658 -} 659 -alias waveformat_tag WAVEFORMAT; 660 -alias waveformat_tag* PWAVEFORMAT; 661 -alias waveformat_tag* NPWAVEFORMAT; 662 -alias waveformat_tag* LPWAVEFORMAT; 663 - 664 -enum : uint { WAVE_FORMAT_PCM = 1 } 665 - 666 -struct pcmwaveformat_tag { 667 - WAVEFORMAT wf; 668 - WORD wBitsPerSample; 669 -} 670 -alias pcmwaveformat_tag PCMWAVEFORMAT; 671 -alias pcmwaveformat_tag* PPCMWAVEFORMAT; 672 -alias pcmwaveformat_tag* NPPCMWAVEFORMAT; 673 -alias pcmwaveformat_tag* LPPCMWAVEFORMAT; 674 - 675 -// #endif /* WAVE_FORMAT_PCM */ 676 - 677 -// #ifndef _WAVEFORMATEX_ 678 -// #define _WAVEFORMATEX_ 679 - 680 -struct tWAVEFORMATEX { 681 - WORD wFormatTag; 682 - WORD nChannels; 683 - DWORD nSamplesPerSec; 684 - DWORD nAvgBytesPerSec; 685 - WORD nBlockAlign; 686 - WORD wBitsPerSample; 687 - WORD cbSize; 688 - 689 -} 690 -alias tWAVEFORMATEX WAVEFORMATEX; 691 -alias tWAVEFORMATEX* PWAVEFORMATEX; 692 -alias tWAVEFORMATEX* NPWAVEFORMATEX; 693 -alias tWAVEFORMATEX* LPWAVEFORMATEX; 694 - 695 -// #endif /* _WAVEFORMATEX_ */ 696 -alias WAVEFORMATEX* LPCWAVEFORMATEX; 697 - 698 -extern(Windows) export UINT waveOutGetNumDevs(); 699 - 700 -// #ifdef _WIN32 701 - 702 -extern(Windows) export MMRESULT waveOutGetDevCapsA(UINT_PTR uDeviceID, LPWAVEOUTCAPSA pwoc, UINT cbwoc); 703 -extern(Windows) export MMRESULT waveOutGetDevCapsW(UINT_PTR uDeviceID, LPWAVEOUTCAPSW pwoc, UINT cbwoc); 704 -// #ifdef UNICODE 705 -alias waveOutGetDevCapsW waveOutGetDevCaps; 706 -// #else 707 -// #... 708 -// #endif // !UNICODE 709 - 710 -// #else 711 -// ... 712 -// #endif 713 - 714 -// #if (WINVER >= 0x0400) 715 -extern(Windows) export MMRESULT waveOutGetVolume(HWAVEOUT hwo, LPDWORD pdwVolume); 716 -extern(Windows) export MMRESULT waveOutSetVolume(HWAVEOUT hwo, DWORD dwVolume); 717 -// #else 718 -// ... 719 -// #endif 720 - 721 -// #ifdef _WIN32 722 - 723 -extern(Windows) export MMRESULT waveOutGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText); 724 -extern(Windows) export MMRESULT waveOutGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText); 725 -// #ifdef UNICODE 726 -alias waveOutGetErrorTextW waveOutGetErrorText; 727 -// #else 728 -// #... 729 -// #endif // !UNICODE 730 - 731 -// #else 732 -// ... 733 -// #endif 734 - 735 -extern(Windows) export MMRESULT waveOutOpen(LPHWAVEOUT phwo, UINT uDeviceID, 736 - LPCWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 737 - 738 -extern(Windows) export MMRESULT waveOutClose(HWAVEOUT hwo); 739 -extern(Windows) export MMRESULT waveOutPrepareHeader(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh); 740 -extern(Windows) export MMRESULT waveOutUnprepareHeader(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh); 741 -extern(Windows) export MMRESULT waveOutWrite(HWAVEOUT hwo, LPWAVEHDR pwh, UINT cbwh); 742 -extern(Windows) export MMRESULT waveOutPause(HWAVEOUT hwo); 743 -extern(Windows) export MMRESULT waveOutRestart(HWAVEOUT hwo); 744 -extern(Windows) export MMRESULT waveOutReset(HWAVEOUT hwo); 745 -extern(Windows) export MMRESULT waveOutBreakLoop(HWAVEOUT hwo); 746 -extern(Windows) export MMRESULT waveOutGetPosition(HWAVEOUT hwo, LPMMTIME pmmt, UINT cbmmt); 747 -extern(Windows) export MMRESULT waveOutGetPitch(HWAVEOUT hwo, LPDWORD pdwPitch); 748 -extern(Windows) export MMRESULT waveOutSetPitch(HWAVEOUT hwo, DWORD dwPitch); 749 -extern(Windows) export MMRESULT waveOutGetPlaybackRate(HWAVEOUT hwo, LPDWORD pdwRate); 750 -extern(Windows) export MMRESULT waveOutSetPlaybackRate(HWAVEOUT hwo, DWORD dwRate); 751 -extern(Windows) export MMRESULT waveOutGetID(HWAVEOUT hwo, LPUINT puDeviceID); 752 - 753 -// #if (WINVER >= 0x030a) 754 -// #ifdef _WIN32 755 -extern(Windows) export MMRESULT waveOutMessage(HWAVEOUT hwo, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 756 -// #else 757 -// ... 758 -// #endif 759 -// #endif /* ifdef WINVER >= 0x030a */ 760 - 761 -extern(Windows) export UINT waveInGetNumDevs(); 762 - 763 -// #ifdef _WIN32 764 - 765 -extern(Windows) export MMRESULT waveInGetDevCapsA(UINT_PTR uDeviceID, LPWAVEINCAPSA pwic, UINT cbwic); 766 -extern(Windows) export MMRESULT waveInGetDevCapsW(UINT_PTR uDeviceID, LPWAVEINCAPSW pwic, UINT cbwic); 767 -// #ifdef UNICODE 768 -alias waveInGetDevCapsW waveInGetDevCaps; 769 -// #else 770 -// #... 771 -// #endif // !UNICODE 772 - 773 -// #else 774 -// ... 775 -// #endif 776 - 777 -// #ifdef _WIN32 778 - 779 -extern(Windows) export MMRESULT waveInGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText); 780 -extern(Windows) export MMRESULT waveInGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText); 781 -// #ifdef UNICODE 782 -alias waveInGetErrorTextW waveInGetErrorText; 783 -// #else 784 -// #... 785 -// #endif // !UNICODE 786 - 787 -// #else 788 -// ... 789 -// #endif 790 - 791 -extern(Windows) export MMRESULT waveInOpen(LPHWAVEIN phwi, UINT uDeviceID, 792 - LPCWAVEFORMATEX pwfx, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 793 - 794 -extern(Windows) export MMRESULT waveInClose(HWAVEIN hwi); 795 -extern(Windows) export MMRESULT waveInPrepareHeader(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh); 796 -extern(Windows) export MMRESULT waveInUnprepareHeader(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh); 797 -extern(Windows) export MMRESULT waveInAddBuffer(HWAVEIN hwi, LPWAVEHDR pwh, UINT cbwh); 798 -extern(Windows) export MMRESULT waveInStart(HWAVEIN hwi); 799 -extern(Windows) export MMRESULT waveInStop(HWAVEIN hwi); 800 -extern(Windows) export MMRESULT waveInReset(HWAVEIN hwi); 801 -extern(Windows) export MMRESULT waveInGetPosition(HWAVEIN hwi, LPMMTIME pmmt, UINT cbmmt); 802 -extern(Windows) export MMRESULT waveInGetID(HWAVEIN hwi, LPUINT puDeviceID); 803 - 804 -// #if (WINVER >= 0x030a) 805 -// #ifdef _WIN32 806 -extern(Windows) export MMRESULT waveInMessage(HWAVEIN hwi, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 807 -// #else 808 -// ... 809 -// #endif 810 -// #endif /* ifdef WINVER >= 0x030a */ 811 - 812 -// #endif /* ifndef MMNOWAVE */ 813 - 814 -// #ifndef MMNOMIDI 815 - 816 -enum : uint { MIDIERR_UNPREPARED = MIDIERR_BASE + 0 } 817 -enum : uint { MIDIERR_STILLPLAYING = MIDIERR_BASE + 1 } 818 -enum : uint { MIDIERR_NOMAP = MIDIERR_BASE + 2 } 819 -enum : uint { MIDIERR_NOTREADY = MIDIERR_BASE + 3 } 820 -enum : uint { MIDIERR_NODEVICE = MIDIERR_BASE + 4 } 821 -enum : uint { MIDIERR_INVALIDSETUP = MIDIERR_BASE + 5 } 822 -enum : uint { MIDIERR_BADOPENMODE = MIDIERR_BASE + 6 } 823 -enum : uint { MIDIERR_DONT_CONTINUE = MIDIERR_BASE + 7 } 824 -enum : uint { MIDIERR_LASTERROR = MIDIERR_BASE + 7 } 825 - 826 -alias void* HMIDI; 827 -alias void* HMIDIIN; 828 -alias void* HMIDIOUT; 829 -alias void* HMIDISTRM; 1085 + 1086 +struct WAVEHDR { 1087 + LPSTR lpData; 1088 + DWORD dwBufferLength; 1089 + DWORD dwBytesRecorded; 1090 + DWORD dwUser; 1091 + DWORD dwFlags; 1092 + DWORD dwLoops; 1093 + WAVEHDR *lpNext; 1094 + DWORD reserved; 1095 +} 1096 +alias WAVEHDR* PWAVEHDR, LPWAVEHDR; 1097 + 1098 +struct WAVEOUTCAPSA { 1099 + WORD wMid; 1100 + WORD wPid; 1101 + MMVERSION vDriverVersion; 1102 + CHAR szPname[MAXPNAMELEN]; 1103 + DWORD dwFormats; 1104 + WORD wChannels; 1105 + WORD wReserved1; 1106 + DWORD dwSupport; 1107 +} 1108 +alias WAVEOUTCAPSA* PWAVEOUTCAPSA, LPWAVEOUTCAPSA; 1109 + 1110 +struct WAVEOUTCAPSW { 1111 + WORD wMid; 1112 + WORD wPid; 1113 + MMVERSION vDriverVersion; 1114 + WCHAR szPname[MAXPNAMELEN]; 1115 + DWORD dwFormats; 1116 + WORD wChannels; 1117 + WORD wReserved1; 1118 + DWORD dwSupport; 1119 +} 1120 +alias WAVEOUTCAPSW* PWAVEOUTCAPSW, LPWAVEOUTCAPSW; 1121 + 1122 +struct WAVEINCAPSA { 1123 + WORD wMid; 1124 + WORD wPid; 1125 + MMVERSION vDriverVersion; 1126 + CHAR szPname[MAXPNAMELEN]; 1127 + DWORD dwFormats; 1128 + WORD wChannels; 1129 + WORD wReserved1; 1130 +} 1131 +alias WAVEINCAPSA* PWAVEINCAPSA, LPWAVEINCAPSA; 1132 + 1133 +struct WAVEINCAPSW { 1134 + WORD wMid; 1135 + WORD wPid; 1136 + MMVERSION vDriverVersion; 1137 + WCHAR szPname[MAXPNAMELEN]; 1138 + DWORD dwFormats; 1139 + WORD wChannels; 1140 + WORD wReserved1; 1141 +} 1142 +alias WAVEINCAPSW* PWAVEINCAPSW, LPWAVEINCAPSW; 1143 + 1144 +struct WAVEFORMAT { 1145 + WORD wFormatTag; 1146 + WORD nChannels; 1147 + DWORD nSamplesPerSec; 1148 + DWORD nAvgBytesPerSec; 1149 + WORD nBlockAlign; 1150 +} 1151 +alias WAVEFORMAT* PWAVEFORMAT, LPWAVEFORMAT; 1152 + 1153 +struct PCMWAVEFORMAT { 1154 + WAVEFORMAT wf; 1155 + WORD wBitsPerSample; 1156 +} 1157 +alias PCMWAVEFORMAT* PPCMWAVEFORMAT, LPPCMWAVEFORMAT; 1158 + 1159 +struct WAVEFORMATEX { 1160 + WORD wFormatTag; 1161 + WORD nChannels; 1162 + DWORD nSamplesPerSec; 1163 + DWORD nAvgBytesPerSec; 1164 + WORD nBlockAlign; 1165 + WORD wBitsPerSample; 1166 + WORD cbSize; 1167 +} 1168 +alias WAVEFORMATEX* PWAVEFORMATEX, LPWAVEFORMATEX; 1169 +alias CPtr!(WAVEFORMATEX) LPCWAVEFORMATEX; 1170 + 1171 +alias HANDLE HMIDI; 1172 +alias HANDLE HMIDIIN; 1173 +alias HANDLE HMIDIOUT; 1174 +alias HANDLE HMIDISTRM; 1175 + 830 1176 alias HMIDI* LPHMIDI; 831 1177 alias HMIDIIN* LPHMIDIIN; 832 1178 alias HMIDIOUT* LPHMIDIOUT; 833 1179 alias HMIDISTRM* LPHMIDISTRM; 834 -// typedef DRVCALLBACK MIDICALLBACK; 835 -alias LPDRVCALLBACK LPMIDICALLBACK; 836 -enum : uint { MIDIPATCHSIZE = 128 } 1180 + 837 1181 alias WORD PATCHARRAY[MIDIPATCHSIZE]; 838 1182 alias WORD* LPPATCHARRAY; 839 1183 alias WORD KEYARRAY[MIDIPATCHSIZE]; 840 1184 alias WORD* LPKEYARRAY; 841 1185 842 -alias MM_MIM_OPEN MIM_OPEN; 843 -alias MM_MIM_CLOSE MIM_CLOSE; 844 -alias MM_MIM_DATA MIM_DATA; 845 -alias MM_MIM_LONGDATA MIM_LONGDATA; 846 -alias MM_MIM_ERROR MIM_ERROR; 847 -alias MM_MIM_LONGERROR MIM_LONGERROR; 848 -alias MM_MOM_OPEN MOM_OPEN; 849 -alias MM_MOM_CLOSE MOM_CLOSE; 850 -alias MM_MOM_DONE MOM_DONE; 851 - 852 -// #if(WINVER >= 0x0400) 853 -alias MM_MIM_MOREDATA MIM_MOREDATA; 854 -alias MM_MOM_POSITIONCB MOM_POSITIONCB; 855 -// #endif /* WINVER >= 0x0400 */ 856 - 857 -enum : uint { MIDIMAPPER = cast(UINT)-1 } 858 -enum : uint { MIDI_MAPPER = cast(UINT)-1 } 1186 +struct MIDIOUTCAPSA { 1187 + WORD wMid; 1188 + WORD wPid; 1189 + MMVERSION vDriverVersion; 1190 + CHAR szPname[MAXPNAMELEN]; 1191 + WORD wTechnology; 1192 + WORD wVoices; 1193 + WORD wNotes; 1194 + WORD wChannelMask; 1195 + DWORD dwSupport; 1196 +} 1197 +alias MIDIOUTCAPSA* PMIDIOUTCAPSA, LPMIDIOUTCAPSA; 1198 + 1199 +struct MIDIOUTCAPSW { 1200 + WORD wMid; 1201 + WORD wPid; 1202 + MMVERSION vDriverVersion; 1203 + WCHAR szPname[MAXPNAMELEN]; 1204 + WORD wTechnology; 1205 + WORD wVoices; 1206 + WORD wNotes; 1207 + WORD wChannelMask; 1208 + DWORD dwSupport; 1209 +} 1210 +alias MIDIOUTCAPSW* PMIDIOUTCAPSW, LPMIDIOUTCAPSW; 1211 + 1212 +struct MIDIINCAPSA { 1213 + WORD wMid; 1214 + WORD wPid; 1215 + MMVERSION vDriverVersion; 1216 + CHAR szPname[MAXPNAMELEN]; 1217 + DWORD dwSupport; 1218 +} 1219 +alias MIDIINCAPSA* PMIDIINCAPSA, LPMIDIINCAPSA; 1220 + 1221 +struct MIDIINCAPSW { 1222 + WORD wMid; 1223 + WORD wPid; 1224 + MMVERSION vDriverVersion; 1225 + WCHAR szPname[MAXPNAMELEN]; 1226 + DWORD dwSupport; 1227 +} 1228 +alias MIDIINCAPSW* PMIDIINCAPSW, LPMIDIINCAPSW; 1229 + 1230 +struct MIDIHDR { 1231 + LPSTR lpData; 1232 + DWORD dwBufferLength; 1233 + DWORD dwBytesRecorded; 1234 + DWORD dwUser; 1235 + DWORD dwFlags; 1236 + MIDIHDR *lpNext; 1237 + DWORD reserved; 1238 + DWORD dwOffset; 1239 + DWORD dwReserved[8]; 1240 +} 1241 +alias MIDIHDR* PMIDIHDR, LPMIDIHDR; 1242 + 1243 +struct MIDIEVENT { 1244 + DWORD dwDeltaTime; 1245 + DWORD dwStreamID; 1246 + DWORD dwEvent; 1247 + DWORD dwParms[1]; 1248 +} 1249 + 1250 +struct MIDISTRMBUFFVER { 1251 + DWORD dwVersion; 1252 + DWORD dwMid; 1253 + DWORD dwOEMVersion; 1254 +} 1255 + 1256 +struct MIDIPROPTIMEDIV { 1257 + DWORD cbStruct; 1258 + DWORD dwTimeDiv; 1259 +} 1260 +alias MIDIPROPTIMEDIV* LPMIDIPROPTIMEDIV; 1261 + 1262 +struct MIDIPROPTEMPO { 1263 + DWORD cbStruct; 1264 + DWORD dwTempo; 1265 +} 1266 +alias MIDIPROPTEMPO* LPMIDIPROPTEMPO; 1267 + 1268 +struct AUXCAPSA { 1269 + WORD wMid; 1270 + WORD wPid; 1271 + MMVERSION vDriverVersion; 1272 + CHAR szPname[MAXPNAMELEN]; 1273 + WORD wTechnology; 1274 + WORD wReserved1; 1275 + DWORD dwSupport; 1276 +} 1277 +alias AUXCAPSA* PAUXCAPSA, LPAUXCAPSA; 1278 + 1279 +struct AUXCAPSW { 1280 + WORD wMid; 1281 + WORD wPid; 1282 + MMVERSION vDriverVersion; 1283 + WCHAR szPname[MAXPNAMELEN]; 1284 + WORD wTechnology; 1285 + WORD wReserved1; 1286 + DWORD dwSupport; 1287 +} 1288 +alias AUXCAPSW* PAUXCAPSW, LPAUXCAPSW; 1289 + 1290 +alias HANDLE HMIXEROBJ; 1291 +alias HMIXEROBJ* LPHMIXEROBJ; 1292 + 1293 +alias HANDLE HMIXER; 1294 +alias HMIXER* LPHMIXER; 1295 + 1296 +struct MIXERCAPSA { 1297 + WORD wMid; 1298 + WORD wPid; 1299 + MMVERSION vDriverVersion; 1300 + CHAR szPname[MAXPNAMELEN]; 1301 + DWORD fdwSupport; 1302 + DWORD cDestinations; 1303 +} 1304 +alias MIXERCAPSA* PMIXERCAPSA, LPMIXERCAPSA; 1305 + 1306 +struct MIXERCAPSW { 1307 + WORD wMid; 1308 + WORD wPid; 1309 + MMVERSION vDriverVersion; 1310 + WCHAR szPname[MAXPNAMELEN]; 1311 + DWORD fdwSupport; 1312 + DWORD cDestinations; 1313 +} 1314 +alias MIXERCAPSW* PMIXERCAPSW, LPMIXERCAPSW; 1315 + 1316 +struct MIXERLINEA { 1317 + DWORD cbStruct; 1318 + DWORD dwDestination; 1319 + DWORD dwSource; 1320 + DWORD dwLineID; 1321 + DWORD fdwLine; 1322 + DWORD dwUser; 1323 + DWORD dwComponentType; 1324 + DWORD cChannels; 1325 + DWORD cConnections; 1326 + DWORD cControls; 1327 + CHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1328 + CHAR szName[MIXER_LONG_NAME_CHARS]; 1329 + struct Target { 1330 + DWORD dwType; 1331 + DWORD dwDeviceID; 1332 + WORD wMid; 1333 + WORD wPid; 1334 + MMVERSION vDriverVersion; 1335 + CHAR szPname[MAXPNAMELEN]; 1336 + } 1337 +} 1338 +alias MIXERLINEA* PMIXERLINEA, LPMIXERLINEA; 1339 + 1340 +struct MIXERLINEW { 1341 + DWORD cbStruct; 1342 + DWORD dwDestination; 1343 + DWORD dwSource; 1344 + DWORD dwLineID; 1345 + DWORD fdwLine; 1346 + DWORD dwUser; 1347 + DWORD dwComponentType; 1348 + DWORD cChannels; 1349 + DWORD cConnections; 1350 + DWORD cControls; 1351 + WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1352 + WCHAR szName[MIXER_LONG_NAME_CHARS]; 1353 + struct Target { 1354 + DWORD dwType; 1355 + DWORD dwDeviceID; 1356 + WORD wMid; 1357 + WORD wPid; 1358 + MMVERSION vDriverVersion; 1359 + WCHAR szPname[MAXPNAMELEN]; 1360 + } 1361 +} 1362 +alias MIXERLINEW* PMIXERLINEW, LPMIXERLINEW; 1363 + 1364 +struct MIXERCONTROLA { 1365 + DWORD cbStruct; 1366 + DWORD dwControlID; 1367 + DWORD dwControlType; 1368 + DWORD fdwControl; 1369 + DWORD cMultipleItems; 1370 + CHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1371 + CHAR szName[MIXER_LONG_NAME_CHARS]; 1372 + union _Bounds { 1373 + struct { 1374 + LONG lMinimum; 1375 + LONG lMaximum; 1376 + } 1377 + struct { 1378 + DWORD dwMinimum; 1379 + DWORD dwMaximum; 1380 + } 1381 + DWORD dwReserved[6]; 1382 + } 1383 + _Bounds Bounds; 1384 + union _Metrics { 1385 + DWORD cSteps; 1386 + DWORD cbCustomData; 1387 + DWORD dwReserved[6]; 1388 + } 1389 + _Metrics Metrics; 1390 +} 1391 +alias MIXERCONTROLA* PMIXERCONTROLA, LPMIXERCONTROLA; 1392 + 1393 +struct MIXERCONTROLW { 1394 + DWORD cbStruct; 1395 + DWORD dwControlID; 1396 + DWORD dwControlType; 1397 + DWORD fdwControl; 1398 + DWORD cMultipleItems; 1399 + WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1400 + WCHAR szName[MIXER_LONG_NAME_CHARS]; 1401 + union _Bounds { 1402 + struct { 1403 + LONG lMinimum; 1404 + LONG lMaximum; 1405 + } 1406 + struct { 1407 + DWORD dwMinimum; 1408 + DWORD dwMaximum; 1409 + } 1410 + DWORD dwReserved[6]; 1411 + } 1412 + _Bounds Bounds; 1413 + union _Metrics { 1414 + DWORD cSteps; 1415 + DWORD cbCustomData; 1416 + DWORD dwReserved[6]; 1417 + } 1418 + _Metrics Metrics; 1419 +} 1420 + 1421 +alias MIXERCONTROLW* PMIXERCONTROLW, LPMIXERCONTROLW; 1422 + 1423 +struct MIXERLINECONTROLSA { 1424 + DWORD cbStruct; 1425 + DWORD dwLineID; 1426 + union { 1427 + DWORD dwControlID; 1428 + DWORD dwControlType; 1429 + } 1430 + DWORD cControls; 1431 + DWORD cbmxctrl; 1432 + LPMIXERCONTROLA pamxctrl; 1433 +} 1434 +alias MIXERLINECONTROLSA* PMIXERLINECONTROLSA, LPMIXERLINECONTROLSA; 1435 + 1436 +struct MIXERLINECONTROLSW { 1437 + DWORD cbStruct; 1438 + DWORD dwLineID; 1439 + union { 1440 + DWORD dwControlID; 1441 + DWORD dwControlType; 1442 + } 1443 + DWORD cControls; 1444 + DWORD cbmxctrl; 1445 + LPMIXERCONTROLW pamxctrl; 1446 +} 1447 +alias MIXERLINECONTROLSW* PMIXERLINECONTROLSW, LPMIXERLINECONTROLSW; 1448 + 1449 +struct MIXERCONTROLDETAILS { 1450 + DWORD cbStruct; 1451 + DWORD dwControlID; 1452 + DWORD cChannels; 1453 + union { 1454 + HWND hwndOwner; 1455 + DWORD cMultipleItems; 1456 + } 1457 + DWORD cbDetails; 1458 + PVOID paDetails; 1459 +} 1460 +alias MIXERCONTROLDETAILS* PMIXERCONTROLDETAILS, LPMIXERCONTROLDETAILS; 1461 + 1462 +struct MIXERCONTROLDETAILS_LISTTEXTA { 1463 + DWORD dwParam1; 1464 + DWORD dwParam2; 1465 + CHAR szName[MIXER_LONG_NAME_CHARS]; 1466 +} 1467 +alias MIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA,LPMIXERCONTROLDETAILS_LISTTEXTA; 1468 + 1469 +struct MIXERCONTROLDETAILS_LISTTEXTW { 1470 + DWORD dwParam1; 1471 + DWORD dwParam2; 1472 + WCHAR szName[MIXER_LONG_NAME_CHARS]; 1473 +} 1474 +alias MIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW,LPMIXERCONTROLDETAILS_LISTTEXTW; 1475 + 1476 +struct MIXERCONTROLDETAILS_BOOLEAN { 1477 + LONG fValue; 1478 +} 1479 +alias MIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN, LPMIXERCONTROLDETAILS_BOOLEAN; 1480 + 1481 +struct MIXERCONTROLDETAILS_SIGNED { 1482 + LONG lValue; 1483 +} 1484 +alias MIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED, LPMIXERCONTROLDETAILS_SIGNED; 1485 + 1486 +struct MIXERCONTROLDETAILS_UNSIGNED { 1487 + DWORD dwValue; 1488 +} 1489 +alias MIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED, LPMIXERCONTROLDETAILS_UNSIGNED; 1490 + 1491 +alias void function (UINT,UINT,DWORD,DWORD,DWORD) LPTIMECALLBACK; 1492 + 1493 +struct TIMECAPS { 1494 + UINT wPeriodMin; 1495 + UINT wPeriodMax; 1496 +} 1497 +alias TIMECAPS* PTIMECAPS, LPTIMECAPS; 1498 + 1499 +struct JOYCAPSA { 1500 + WORD wMid; 1501 + WORD wPid; 1502 + CHAR szPname[MAXPNAMELEN]; 1503 + UINT wXmin; 1504 + UINT wXmax; 1505 + UINT wYmin; 1506 + UINT wYmax; 1507 + UINT wZmin; 1508 + UINT wZmax; 1509 + UINT wNumButtons; 1510 + UINT wPeriodMin; 1511 + UINT wPeriodMax; 1512 + UINT wRmin; 1513 + UINT wRmax; 1514 + UINT wUmin; 1515 + UINT wUmax; 1516 + UINT wVmin; 1517 + UINT wVmax; 1518 + UINT wCaps; 1519 + UINT wMaxAxes; 1520 + UINT wNumAxes; 1521 + UINT wMaxButtons; 1522 + CHAR szRegKey[MAXPNAMELEN]; 1523 + CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 1524 +} 1525 +alias JOYCAPSA* PJOYCAPSA, LPJOYCAPSA; 1526 + 1527 +struct JOYCAPSW { 1528 + WORD wMid; 1529 + WORD wPid; 1530 + WCHAR szPname[MAXPNAMELEN]; 1531 + UINT wXmin; 1532 + UINT wXmax; 1533 + UINT wYmin; 1534 + UINT wYmax; 1535 + UINT wZmin; 1536 + UINT wZmax; 1537 + UINT wNumButtons; 1538 + UINT wPeriodMin; 1539 + UINT wPeriodMax; 1540 + UINT wRmin; 1541 + UINT wRmax; 1542 + UINT wUmin; 1543 + UINT wUmax; 1544 + UINT wVmin; 1545 + UINT wVmax; 1546 + UINT wCaps; 1547 + UINT wMaxAxes; 1548 + UINT wNumAxes; 1549 + UINT wMaxButtons; 1550 + WCHAR szRegKey[MAXPNAMELEN]; 1551 + WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 1552 +} 1553 +alias JOYCAPSW* PJOYCAPSW, LPJOYCAPSW; 1554 + 1555 +struct JOYINFO { 1556 + UINT wXpos; 1557 + UINT wYpos; 1558 + UINT wZpos; 1559 + UINT wButtons; 1560 +} 1561 +alias JOYINFO* PJOYINFO, LPJOYINFO; 1562 + 1563 +struct JOYINFOEX { 1564 + DWORD dwSize; 1565 + DWORD dwFlags; 1566 + DWORD dwXpos; 1567 + DWORD dwYpos; 1568 + DWORD dwZpos; 1569 + DWORD dwRpos; 1570 + DWORD dwUpos; 1571 + DWORD dwVpos; 1572 + DWORD dwButtons; 1573 + DWORD dwButtonNumber; 1574 + DWORD dwPOV; 1575 + DWORD dwReserved1; 1576 + DWORD dwReserved2; 1577 +} 1578 +alias JOYINFOEX* PJOYINFOEX, LPJOYINFOEX; 1579 + 1580 +alias DWORD FOURCC; 1581 +alias char* HPSTR; 1582 + 1583 +alias HANDLE HMMIO; 1584 + 1585 +alias LRESULT function (LPSTR,UINT,LPARAM,LPARAM) LPMMIOPROC; 1586 + 1587 +struct MMIOINFO { 1588 + DWORD dwFlags; 1589 + FOURCC fccIOProc; 1590 + LPMMIOPROC pIOProc; 1591 + UINT wErrorRet; 1592 + HTASK htask; 1593 + LONG cchBuffer; 1594 + HPSTR pchBuffer; 1595 + HPSTR pchNext; 1596 + HPSTR pchEndRead; 1597 + HPSTR pchEndWrite; 1598 + LONG lBufOffset; 1599 + LONG lDiskOffset; 1600 + DWORD adwInfo[3]; 1601 + DWORD dwReserved1; 1602 + DWORD dwReserved2; 1603 + HMMIO hmmio; 1604 +} 1605 +alias MMIOINFO* PMMIOINFO, LPMMIOINFO; 1606 +alias CPtr!(MMIOINFO) LPCMMIOINFO; 1607 + 1608 +struct MMCKINFO { 1609 + FOURCC ckid; 1610 + DWORD cksize; 1611 + FOURCC fccType; 1612 + DWORD dwDataOffset; 1613 + DWORD dwFlags; 1614 +} 1615 +alias MMCKINFO* PMMCKINFO, LPMMCKINFO; 1616 +alias CPtr!(MMCKINFO) LPCMMCKINFO; 1617 + 1618 +struct MCI_GENERIC_PARMS { 1619 + DWORD dwCallback; 1620 +} 1621 +alias MCI_GENERIC_PARMS* PMCI_GENERIC_PARMS, LPMCI_GENERIC_PARMS; 1622 + 1623 +struct MCI_OPEN_PARMSA { 1624 + DWORD dwCallback; 1625 + MCIDEVICEID wDeviceID; 1626 + LPCSTR lpstrDeviceType; 1627 + LPCSTR lpstrElementName; 1628 + LPCSTR lpstrAlias; 1629 +} 1630 +alias MCI_OPEN_PARMSA* PMCI_OPEN_PARMSA, LPMCI_OPEN_PARMSA; 1631 + 1632 +struct MCI_OPEN_PARMSW { 1633 + DWORD dwCallback; 1634 + MCIDEVICEID wDeviceID; 1635 + LPCWSTR lpstrDeviceType; 1636 + LPCWSTR lpstrElementName; 1637 + LPCWSTR lpstrAlias; 1638 +} 1639 +alias MCI_OPEN_PARMSW* PMCI_OPEN_PARMSW, LPMCI_OPEN_PARMSW; 1640 + 1641 +struct MCI_PLAY_PARMS { 1642 + DWORD dwCallback; 1643 + DWORD dwFrom; 1644 + DWORD dwTo; 1645 +} 1646 +alias MCI_PLAY_PARMS* PMCI_PLAY_PARMS, LPMCI_PLAY_PARMS; 1647 + 1648 +struct MCI_SEEK_PARMS { 1649 + DWORD dwCallback; 1650 + DWORD dwTo; 1651 +} 1652 +alias MCI_SEEK_PARMS* PMCI_SEEK_PARMS, LPMCI_SEEK_PARMS; 1653 + 1654 +struct MCI_STATUS_PARMS { 1655 + DWORD dwCallback; 1656 + DWORD dwReturn; 1657 + DWORD dwItem; 1658 + DWORD dwTrack; 1659 +} 1660 +alias MCI_STATUS_PARMS* PMCI_STATUS_PARMS, LPMCI_STATUS_PARMS; 1661 + 1662 +struct MCI_INFO_PARMSA { 1663 + DWORD dwCallback; 1664 + LPSTR lpstrReturn; 1665 + DWORD dwRetSize; 1666 +} 1667 +alias MCI_INFO_PARMSA* LPMCI_INFO_PARMSA; 1668 + 1669 +struct MCI_INFO_PARMSW { 1670 + DWORD dwCallback; 1671 + LPWSTR lpstrReturn; 1672 + DWORD dwRetSize; 1673 +} 1674 +alias MCI_INFO_PARMSW* LPMCI_INFO_PARMSW; 1675 + 1676 +struct MCI_GETDEVCAPS_PARMS { 1677 + DWORD dwCallback; 1678 + DWORD dwReturn; 1679 + DWORD dwItem; 1680 +} 1681 +alias MCI_GETDEVCAPS_PARMS* PMCI_GETDEVCAPS_PARMS, LPMCI_GETDEVCAPS_PARMS; 1682 + 1683 +struct MCI_SYSINFO_PARMSA { 1684 + DWORD dwCallback; 1685 + LPSTR lpstrReturn; 1686 + DWORD dwRetSize; 1687 + DWORD dwNumber; 1688 + UINT wDeviceType; 1689 +} 1690 +alias MCI_SYSINFO_PARMSA* PMCI_SYSINFO_PARMSA, LPMCI_SYSINFO_PARMSA; 1691 + 1692 +struct MCI_SYSINFO_PARMSW { 1693 + DWORD dwCallback; 1694 + LPWSTR lpstrReturn; 1695 + DWORD dwRetSize; 1696 + DWORD dwNumber; 1697 + UINT wDeviceType; 1698 +} 1699 +alias MCI_SYSINFO_PARMSW* PMCI_SYSINFO_PARMSW, LPMCI_SYSINFO_PARMSW; 1700 + 1701 +struct MCI_SET_PARMS { 1702 + DWORD dwCallback; 1703 + DWORD dwTimeFormat; 1704 + DWORD dwAudio; 1705 +} 1706 +alias MCI_SET_PARMS* PMCI_SET_PARMS, LPMCI_SET_PARMS; 1707 + 1708 +struct MCI_BREAK_PARMS { 1709 + DWORD dwCallback; 1710 + int nVirtKey; 1711 + HWND hwndBreak; 1712 +} 1713 +alias MCI_BREAK_PARMS* PMCI_BREAK_PARMS, LPMCI_BREAK_PARMS; 1714 + 1715 +struct MCI_SAVE_PARMSA { 1716 + DWORD dwCallback; 1717 + LPCSTR lpfilename; 1718 +} 1719 +alias MCI_SAVE_PARMSA* PMCI_SAVE_PARMSA, LPMCI_SAVE_PARMSA; 1720 + 1721 +struct MCI_SAVE_PARMSW { 1722 + DWORD dwCallback; 1723 + LPCWSTR lpfilename; 1724 +} 1725 +alias MCI_SAVE_PARMSW* PMCI_SAVE_PARMSW, LPMCI_SAVE_PARMSW; 1726 + 1727 +struct MCI_LOAD_PARMSA { 1728 + DWORD dwCallback; 1729 + LPCSTR lpfilename; 1730 +} 1731 +alias MCI_LOAD_PARMSA* PMCI_LOAD_PARMSA, LPMCI_LOAD_PARMSA; 1732 + 1733 +struct MCI_LOAD_PARMSW { 1734 + DWORD dwCallback; 1735 + LPCWSTR lpfilename; 1736 +} 1737 +alias MCI_LOAD_PARMSW* PMCI_LOAD_PARMSW, LPMCI_LOAD_PARMSW; 1738 + 1739 +struct MCI_RECORD_PARMS { 1740 + DWORD dwCallback; 1741 + DWORD dwFrom; 1742 + DWORD dwTo; 1743 +} 1744 +alias MCI_RECORD_PARMS* LPMCI_RECORD_PARMS; 1745 + 1746 +struct MCI_VD_PLAY_PARMS { 1747 + DWORD dwCallback; 1748 + DWORD dwFrom; 1749 + DWORD dwTo; 1750 + DWORD dwSpeed; 1751 +} 1752 +alias MCI_VD_PLAY_PARMS* PMCI_VD_PLAY_PARMS, LPMCI_VD_PLAY_PARMS; 1753 + 1754 +struct MCI_VD_STEP_PARMS { 1755 + DWORD dwCallback; 1756 + DWORD dwFrames; 1757 +} 1758 +alias MCI_VD_STEP_PARMS* PMCI_VD_STEP_PARMS, LPMCI_VD_STEP_PARMS; 1759 + 1760 +struct MCI_VD_ESCAPE_PARMSA { 1761 + DWORD dwCallback; 1762 + LPCSTR lpstrCommand; 1763 +} 1764 +alias MCI_VD_ESCAPE_PARMSA* PMCI_VD_ESCAPE_PARMSA, LPMCI_VD_ESCAPE_PARMSA; 1765 + 1766 +struct MCI_VD_ESCAPE_PARMSW { 1767 + DWORD dwCallback; 1768 + LPCWSTR lpstrCommand; 1769 +} 1770 +alias MCI_VD_ESCAPE_PARMSW* PMCI_VD_ESCAPE_PARMSW, LPMCI_VD_ESCAPE_PARMSW; 1771 + 1772 +struct MCI_WAVE_OPEN_PARMSA { 1773 + DWORD dwCallback; 1774 + MCIDEVICEID wDeviceID; 1775 + LPCSTR lpstrDeviceType; 1776 + LPCSTR lpstrElementName; 1777 + LPCSTR lpstrAlias; 1778 + DWORD dwBufferSeconds; 1779 +} 1780 +alias MCI_WAVE_OPEN_PARMSA* PMCI_WAVE_OPEN_PARMSA, LPMCI_WAVE_OPEN_PARMSA; 1781 + 1782 +struct MCI_WAVE_OPEN_PARMSW { 1783 + DWORD dwCallback; 1784 + MCIDEVICEID wDeviceID; 1785 + LPCWSTR lpstrDeviceType; 1786 + LPCWSTR lpstrElementName; 1787 + LPCWSTR lpstrAlias; 1788 + DWORD dwBufferSeconds; 1789 +} 1790 +alias MCI_WAVE_OPEN_PARMSW* PMCI_WAVE_OPEN_PARMSW, LPMCI_WAVE_OPEN_PARMSW; 1791 + 1792 +struct MCI_WAVE_DELETE_PARMS { 1793 + DWORD dwCallback; 1794 + DWORD dwFrom; 1795 + DWORD dwTo; 1796 +} 1797 +alias MCI_WAVE_DELETE_PARMS* PMCI_WAVE_DELETE_PARMS, LPMCI_WAVE_DELETE_PARMS; 1798 + 1799 +struct MCI_WAVE_SET_PARMS { 1800 + DWORD dwCallback; 1801 + DWORD dwTimeFormat; 1802 + DWORD dwAudio; 1803 + UINT wInput; 1804 + UINT wOutput; 1805 + WORD wFormatTag; 1806 + WORD wReserved2; 1807 + WORD nChannels; 1808 + WORD wReserved3; 1809 + DWORD nSamplesPerSec; 1810 + DWORD nAvgBytesPerSec; 1811 + WORD nBlockAlign; 1812 + WORD wReserved4; 1813 + WORD wBitsPerSample; 1814 + WORD wReserved5; 1815 +} 1816 +alias MCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS, LPMCI_WAVE_SET_PARMS; 1817 + 1818 +extern (Windows): 1819 +LRESULT CloseDriver(HDRVR,LONG,LONG); 1820 +HDRVR OpenDriver(LPCWSTR,LPCWSTR,LONG); 1821 +LRESULT SendDriverMessage(HDRVR,UINT,LONG,LONG); 1822 +HMODULE DrvGetModuleHandle(HDRVR); 1823 +HMODULE GetDriverModuleHandle(HDRVR); 1824 +LRESULT DefDriverProc(DWORD,HDRVR,UINT,LPARAM,LPARAM); 1825 +UINT mmsystemGetVersion(); 1826 +// FIXME: I believe this next line is a mistake 1827 +//alias OutputDebugString OutputDebugStr; 1828 +BOOL sndPlaySoundA(LPCSTR,UINT); 1829 +BOOL sndPlaySoundW(LPCWSTR,UINT); 1830 +BOOL PlaySoundA(LPCSTR,HMODULE,DWORD); 1831 +BOOL PlaySoundW(LPCWSTR,HMODULE,DWORD); 1832 +UINT waveOutGetNumDevs(); 1833 +MMRESULT waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT); 1834 +MMRESULT waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT); 1835 +MMRESULT waveOutGetVolume(HWAVEOUT,PDWORD); 1836 +MMRESULT waveOutSetVolume(HWAVEOUT,DWORD); 1837 +MMRESULT waveOutGetErrorTextA(MMRESULT,LPSTR,UINT); 1838 +MMRESULT waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT); 1839 +MMRESULT waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD); 1840 +MMRESULT waveOutClose(HWAVEOUT); 1841 +MMRESULT waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT); 1842 +MMRESULT waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT); 1843 +MMRESULT waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT); 1844 +MMRESULT waveOutPause(HWAVEOUT); 1845 +MMRESULT waveOutRestart(HWAVEOUT); 1846 +MMRESULT waveOutReset(HWAVEOUT); 1847 +MMRESULT waveOutBreakLoop(HWAVEOUT); 1848 +MMRESULT waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT); 1849 +MMRESULT waveOutGetPitch(HWAVEOUT,PDWORD); 1850 +MMRESULT waveOutSetPitch(HWAVEOUT,DWORD); 1851 +MMRESULT waveOutGetPlaybackRate(HWAVEOUT,PDWORD); 1852 +MMRESULT waveOutSetPlaybackRate(HWAVEOUT,DWORD); 1853 +MMRESULT waveOutGetID(HWAVEOUT,LPUINT); 1854 +MMRESULT waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD); 1855 +UINT waveInGetNumDevs(); 1856 +MMRESULT waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT); 1857 +MMRESULT waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT); 1858 +MMRESULT waveInGetErrorTextA(MMRESULT,LPSTR,UINT); 1859 +MMRESULT waveInGetErrorTextW(MMRESULT,LPWSTR,UINT); 1860 +MMRESULT waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD); 1861 +MMRESULT waveInClose(HWAVEIN); 1862 +MMRESULT waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT); 1863 +MMRESULT waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT); 1864 +MMRESULT waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT); 1865 +MMRESULT waveInStart(HWAVEIN); 1866 +MMRESULT waveInStop(HWAVEIN); 1867 +MMRESULT waveInReset(HWAVEIN); 1868 +MMRESULT waveInGetPosition(HWAVEIN,LPMMTIME,UINT); 1869 +MMRESULT waveInGetID(HWAVEIN,LPUINT); 1870 +MMRESULT waveInMessage(HWAVEIN,UINT,DWORD,DWORD); 1871 +UINT midiOutGetNumDevs(); 1872 +MMRESULT midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD); 1873 +MMRESULT midiStreamClose(HMIDISTRM); 1874 +MMRESULT midiStreamProperty(HMIDISTRM,LPBYTE,DWORD); 1875 +MMRESULT midiStreamPosition(HMIDISTRM,LPMMTIME,UINT); 1876 +MMRESULT midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT); 1877 +MMRESULT midiStreamPause(HMIDISTRM); 1878 +MMRESULT midiStreamRestart(HMIDISTRM); 1879 +MMRESULT midiStreamStop(HMIDISTRM); 1880 +MMRESULT midiConnect(HMIDI,HMIDIOUT,PVOID); 1881 +MMRESULT midiDisconnect(HMIDI,HMIDIOUT,PVOID); 1882 +MMRESULT midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT); 1883 +MMRESULT midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT); 1884 +MMRESULT midiOutGetVolume(HMIDIOUT,PDWORD); 1885 +MMRESULT midiOutSetVolume(HMIDIOUT,DWORD); 1886 +MMRESULT midiOutGetErrorTextA(MMRESULT,LPSTR,UINT); 1887 +MMRESULT midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT); 1888 +MMRESULT midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD); 1889 +MMRESULT midiOutClose(HMIDIOUT); 1890 +MMRESULT midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT); 1891 +MMRESULT midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT); 1892 +MMRESULT midiOutShortMsg(HMIDIOUT,DWORD); 1893 +MMRESULT midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT); 1894 +MMRESULT midiOutReset(HMIDIOUT); 1895 +MMRESULT midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT); 1896 +MMRESULT midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT); 1897 +MMRESULT midiOutGetID(HMIDIOUT,LPUINT); 1898 +MMRESULT midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD); 1899 +UINT midiInGetNumDevs(); 1900 +MMRESULT midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT); 1901 +MMRESULT midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT); 1902 +MMRESULT midiInGetErrorTextA(MMRESULT,LPSTR,UINT); 1903 +MMRESULT midiInGetErrorTextW(MMRESULT,LPWSTR,UINT); 1904 +MMRESULT midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD); 1905 +MMRESULT midiInClose(HMIDIIN); 1906 +MMRESULT midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT); 1907 +MMRESULT midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT); 1908 +MMRESULT midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT); 1909 +MMRESULT midiInStart(HMIDIIN); 1910 +MMRESULT midiInStop(HMIDIIN); 1911 +MMRESULT midiInReset(HMIDIIN); 1912 +MMRESULT midiInGetID(HMIDIIN,LPUINT); 1913 +MMRESULT midiInMessage(HMIDIIN,UINT,DWORD,DWORD); 1914 +UINT auxGetNumDevs(); 1915 +MMRESULT auxGetDevCapsA(UINT,LPAUXCAPSA,UINT); 1916 +MMRESULT auxGetDevCapsW(UINT,LPAUXCAPSW,UINT); 1917 +MMRESULT auxSetVolume(UINT,DWORD); 1918 +MMRESULT auxGetVolume(UINT,PDWORD); 1919 +MMRESULT auxOutMessage(UINT,UINT,DWORD,DWORD); 1920 +UINT mixerGetNumDevs(); 1921 +MMRESULT mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT); 1922 +MMRESULT mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT); 1923 +MMRESULT mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD); 1924 +MMRESULT mixerClose(HMIXER); 1925 +DWORD mixerMessage(HMIXER,UINT,DWORD,DWORD); 1926 +MMRESULT mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD); 1927 +MMRESULT mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD); 1928 +MMRESULT mixerGetID(HMIXEROBJ,PUINT,DWORD); 1929 +MMRESULT mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD); 1930 +MMRESULT mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD); 1931 +MMRESULT mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); 1932 +MMRESULT mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); 1933 +MMRESULT mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD); 1934 +MMRESULT timeGetSystemTime(LPMMTIME,UINT); 1935 +DWORD timeGetTime(); 1936 +MMRESULT timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD,UINT); 1937 +MMRESULT timeKillEvent(UINT); 1938 +MMRESULT timeGetDevCaps(LPTIMECAPS,UINT); 1939 +MMRESULT timeBeginPeriod(UINT); 1940 +MMRESULT timeEndPeriod(UINT); 1941 +UINT joyGetNumDevs(); 1942 +MMRESULT joyGetDevCapsA(UINT,LPJOYCAPSA,UINT); 1943 +MMRESULT joyGetDevCapsW(UINT,LPJOYCAPSW,UINT); 1944 +MMRESULT joyGetPos(UINT,LPJOYINFO); 1945 +MMRESULT joyGetPosEx(UINT,LPJOYINFOEX); 1946 +MMRESULT joyGetThreshold(UINT,LPUINT); 1947 +MMRESULT joyReleaseCapture(UINT); 1948 +MMRESULT joySetCapture(HWND,UINT,UINT,BOOL); 1949 +MMRESULT joySetThreshold(UINT,UINT); 1950 +FOURCC mmioStringToFOURCCA(LPCSTR,UINT); 1951 +FOURCC mmioStringToFOURCCW(LPCWSTR,UINT); 1952 +LPMMIOPROC mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD); 1953 +LPMMIOPROC mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD); 1954 +HMMIO mmioOpenA(LPSTR,LPMMIOINFO,DWORD); 1955 +HMMIO mmioOpenW(LPWSTR,LPMMIOINFO,DWORD); 1956 +MMRESULT mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD); 1957 +MMRESULT mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD); 1958 +MMRESULT mmioClose(HMMIO,UINT); 1959 +LONG mmioRead(HMMIO,HPSTR,LONG); 1960 +LONG mmioWrite(HMMIO,LPCSTR,LONG); 1961 +LONG mmioSeek(HMMIO,LONG,int); 1962 +MMRESULT mmioGetInfo(HMMIO,LPMMIOINFO,UINT); 1963 +MMRESULT mmioSetInfo(HMMIO,LPCMMIOINFO,UINT); 1964 +MMRESULT mmioSetBuffer(HMMIO,LPSTR,LONG,UINT); 1965 +MMRESULT mmioFlush(HMMIO,UINT); 1966 +MMRESULT mmioAdvance(HMMIO,LPMMIOINFO,UINT); 1967 +LRESULT mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM); 1968 +MMRESULT mmioDescend(HMMIO,LPMMCKINFO, CPtr!(MMCKINFO),UINT); 1969 +MMRESULT mmioAscend(HMMIO,LPMMCKINFO,UINT); 1970 +MMRESULT mmioCreateChunk(HMMIO,LPMMCKINFO,UINT); 1971 +MCIERROR mciSendCommandA(MCIDEVICEID,UINT,DWORD,DWORD); 1972 +MCIERROR mciSendCommandW(MCIDEVICEID,UINT,DWORD,DWORD); 1973 +MCIERROR mciSendStringA(LPCSTR,LPSTR,UINT,HWND); 1974 +MCIERROR mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND); 1975 +MCIDEVICEID mciGetDeviceIDA(LPCSTR); 1976 +MCIDEVICEID mciGetDeviceIDW(LPCWSTR); 1977 +MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD,LPCSTR); 1978 +MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR); 1979 +BOOL mciGetErrorStringA(MCIERROR,LPSTR,UINT); 1980 +BOOL mciGetErrorStringW(MCIERROR,LPWSTR,UINT); 1981 +BOOL mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD); 1982 +HTASK mciGetCreatorTask(MCIDEVICEID); 1983 +YIELDPROC mciGetYieldProc(MCIDEVICEID,PDWORD); 1984 + 1985 +struct MCI_SEQ_SET_PARMS { 1986 + DWORD dwCallback; 1987 + DWORD dwTimeFormat; 1988 + DWORD dwAudio; 1989 + DWORD dwTempo; 1990 + DWORD dwPort; 1991 + DWORD dwSlave; 1992 + DWORD dwMaster; 1993 + DWORD dwOffset; 1994 +} 1995 +alias MCI_SEQ_SET_PARMS* PMCI_SEQ_SET_PARMS, LPMCI_SEQ_SET_PARMS; 1996 + 1997 +struct MCI_ANIM_OPEN_PARMSA { 1998 + DWORD dwCallback; 1999 + MCIDEVICEID wDeviceID; 2000 + LPCSTR lpstrDeviceType; 2001 + LPCSTR lpstrElementName; 2002 + LPCSTR lpstrAlias; 2003 + DWORD dwStyle; 2004 + HWND hWndParent; 2005 +} 2006 +alias MCI_ANIM_OPEN_PARMSA* PMCI_ANIM_OPEN_PARMSA, LPMCI_ANIM_OPEN_PARMSA; 2007 + 2008 +struct MCI_ANIM_OPEN_PARMSW { 2009 + DWORD dwCallback; 2010 + MCIDEVICEID wDeviceID; 2011 + LPCWSTR lpstrDeviceType; 2012 + LPCWSTR lpstrElementName; 2013 + LPCWSTR lpstrAlias; 2014 + DWORD dwStyle; 2015 + HWND hWndParent; 2016 +} 2017 +alias MCI_ANIM_OPEN_PARMSW* PMCI_ANIM_OPEN_PARMSW, LPMCI_ANIM_OPEN_PARMSW; 2018 + 2019 +struct MCI_ANIM_PLAY_PARMS { 2020 + DWORD dwCallback; 2021 + DWORD dwFrom; 2022 + DWORD dwTo; 2023 + DWORD dwSpeed; 2024 +} 2025 +alias MCI_ANIM_PLAY_PARMS* PMCI_ANIM_PLAY_PARMS, LPMCI_ANIM_PLAY_PARMS; 2026 + 2027 +struct MCI_ANIM_STEP_PARMS { 2028 + DWORD dwCallback; 2029 + DWORD dwFrames; 2030 +} 2031 +alias MCI_ANIM_STEP_PARMS* PMCI_ANIM_STEP_PARMS, LPMCI_ANIM_STEP_PARMS; 2032 + 2033 +struct MCI_ANIM_WINDOW_PARMSA { 2034 + DWORD dwCallback; 2035 + HWND hWnd; 2036 + UINT nCmdShow; 2037 + LPCSTR lpstrText; 2038 +} 2039 +alias MCI_ANIM_WINDOW_PARMSA* PMCI_ANIM_WINDOW_PARMSA, LPMCI_ANIM_WINDOW_PARMSA; 2040 + 2041 +struct MCI_ANIM_WINDOW_PARMSW { 2042 + DWORD dwCallback; 2043 + HWND hWnd; 2044 + UINT nCmdShow; 2045 + LPCWSTR lpstrText; 2046 +} 2047 +alias MCI_ANIM_WINDOW_PARMSW* PMCI_ANIM_WINDOW_PARMSW, LPMCI_ANIM_WINDOW_PARMSW; 2048 + 2049 +struct MCI_ANIM_RECT_PARMS { 2050 + DWORD dwCallback; 2051 + //#ifdef MCI_USE_OFFEXT 2052 + // POINT ptOffset; 2053 + // POINT ptExtent; 2054 + //#else 2055 + RECT rc; 2056 + //#endif 2057 +} 2058 +alias MCI_ANIM_RECT_PARMS* PMCI_ANIM_RECT_PARMS, LPMCI_ANIM_RECT_PARMS; 2059 + 2060 +struct MCI_ANIM_UPDATE_PARMS { 2061 + DWORD dwCallback; 2062 + RECT rc; 2063 + HDC hDC; 2064 +} 2065 +alias MCI_ANIM_UPDATE_PARMS* PMCI_ANIM_UPDATE_PARMS, LPMCI_ANIM_UPDATE_PARMS; 2066 + 2067 +struct MCI_OVLY_OPEN_PARMSA { 2068 + DWORD dwCallback; 2069 + MCIDEVICEID wDeviceID; 2070 + LPCSTR lpstrDeviceType; 2071 + LPCSTR lpstrElementName; 2072 + LPCSTR lpstrAlias; 2073 + DWORD dwStyle; 2074 + HWND hWndParent; 2075 +} 2076 +alias MCI_OVLY_OPEN_PARMSA* PMCI_OVLY_OPEN_PARMSA, LPMCI_OVLY_OPEN_PARMSA; 2077 + 2078 +struct MCI_OVLY_OPEN_PARMSW { 2079 + DWORD dwCallback; 2080 + MCIDEVICEID wDeviceID; 2081 + LPCWSTR lpstrDeviceType; 2082 + LPCWSTR lpstrElementName; 2083 + LPCWSTR lpstrAlias; 2084 + DWORD dwStyle; 2085 + HWND hWndParent; 2086 +} 2087 +alias MCI_OVLY_OPEN_PARMSW* PMCI_OVLY_OPEN_PARMSW, LPMCI_OVLY_OPEN_PARMSW; 859 2088 860 -// #if(WINVER >= 0x0400) 861 - 862 -enum : uint { MIDI_IO_STATUS = 0x00000020 } 863 -// #endif /* WINVER >= 0x0400 */ 2089 +struct MCI_OVLY_WINDOW_PARMSA { 2090 + DWORD dwCallback; 2091 + HWND hWnd; 2092 + UINT nCmdShow; 2093 + LPCSTR lpstrText; 2094 +} 2095 +alias MCI_OVLY_WINDOW_PARMSA* PMCI_OVLY_WINDOW_PARMSA, LPMCI_OVLY_WINDOW_PARMSA; 864 2096 865 -enum : uint { MIDI_CACHE_ALL = 1 } 866 -enum : uint { MIDI_CACHE_BESTFIT = 2 } 867 -enum : uint { MIDI_CACHE_QUERY = 3 } 868 -enum : uint { MIDI_UNCACHE = 4 } 869 - 870 -// #ifdef _WIN32 871 - 872 -struct tagMIDIOUTCAPSA { 873 - WORD wMid; 874 - WORD wPid; 875 - MMVERSION vDriverVersion; 876 - CHAR szPname[MAXPNAMELEN]; 877 - WORD wTechnology; 878 - WORD wVoices; 879 - WORD wNotes; 880 - WORD wChannelMask; 881 - DWORD dwSupport; 2097 +struct MCI_OVLY_WINDOW_PARMSW { 2098 + DWORD dwCallback; 2099 + HWND hWnd; 2100 + UINT nCmdShow; 2101 + LPCWSTR lpstrText; 882 2102 } 883 -alias tagMIDIOUTCAPSA MIDIOUTCAPSA; 884 -alias tagMIDIOUTCAPSA* PMIDIOUTCAPSA; 885 -alias tagMIDIOUTCAPSA* NPMIDIOUTCAPSA; 886 -alias tagMIDIOUTCAPSA* LPMIDIOUTCAPSA; 2103 +alias MCI_OVLY_WINDOW_PARMSW* PMCI_OVLY_WINDOW_PARMSW, LPMCI_OVLY_WINDOW_PARMSW; 887 2104 888 -struct tagMIDIOUTCAPSW { 889 - WORD wMid; 890 - WORD wPid; 891 - MMVERSION vDriverVersion; 892 - WCHAR szPname[MAXPNAMELEN]; 893 - WORD wTechnology; 894 - WORD wVoices; 895 - WORD wNotes; 896 - WORD wChannelMask; 897 - DWORD dwSupport; 2105 +struct MCI_OVLY_RECT_PARMS { 2106 + DWORD dwCallback; 2107 + //#ifdef MCI_USE_OFFEXT 2108 + // POINT ptOffset; 2109 + // POINT ptExtent; 2110 + //#else 2111 + RECT rc; 2112 + //#endif 898 2113 } 899 -alias tagMIDIOUTCAPSW MIDIOUTCAPSW; 900 -alias tagMIDIOUTCAPSW* PMIDIOUTCAPSW; 901 -alias tagMIDIOUTCAPSW* NPMIDIOUTCAPSW; 902 -alias tagMIDIOUTCAPSW* LPMIDIOUTCAPSW; 2114 +alias MCI_OVLY_RECT_PARMS* PMCI_OVLY_RECT_PARMS, LPMCI_OVLY_RECT_PARMS; 903 2115 904 -// #ifdef UNICODE 905 -alias MIDIOUTCAPSW MIDIOUTCAPS; 906 -alias PMIDIOUTCAPSW PMIDIOUTCAPS; 907 -alias NPMIDIOUTCAPSW NPMIDIOUTCAPS; 908 -alias LPMIDIOUTCAPSW LPMIDIOUTCAPS; 909 -// #else 910 -// ... 911 -// #endif // UNICODE 912 -struct tagMIDIOUTCAPS2A { 913 - WORD wMid; 914 - WORD wPid; 915 - MMVERSION vDriverVersion; 916 - CHAR szPname[MAXPNAMELEN]; 917 - WORD wTechnology; 918 - WORD wVoices; 919 - WORD wNotes; 920 - WORD wChannelMask; 921 - DWORD dwSupport; 922 - GUID ManufacturerGuid; 923 - GUID ProductGuid; 924 - GUID NameGuid; 2116 +struct MCI_OVLY_SAVE_PARMSA { 2117 + DWORD dwCallback; 2118 + LPCSTR lpfilename; 2119 + RECT rc; 925 2120 } 926 -alias tagMIDIOUTCAPS2A MIDIOUTCAPS2A; 927 -alias tagMIDIOUTCAPS2A* PMIDIOUTCAPS2A; 928 -alias tagMIDIOUTCAPS2A* NPMIDIOUTCAPS2A; 929 -alias tagMIDIOUTCAPS2A* LPMIDIOUTCAPS2A; 2121 +alias MCI_OVLY_SAVE_PARMSA* PMCI_OVLY_SAVE_PARMSA, LPMCI_OVLY_SAVE_PARMSA; 930 2122 931 -struct tagMIDIOUTCAPS2W { 932 - WORD wMid; 933 - WORD wPid; 934 - MMVERSION vDriverVersion; 935 - WCHAR szPname[MAXPNAMELEN]; 936 - WORD wTechnology; 937 - WORD wVoices; 938 - WORD wNotes; 939 - WORD wChannelMask; 940 - DWORD dwSupport; 941 - GUID ManufacturerGuid; 942 - GUID ProductGuid; 943 - GUID NameGuid; 944 -} 945 -alias tagMIDIOUTCAPS2W MIDIOUTCAPS2W; 946 -alias tagMIDIOUTCAPS2W* PMIDIOUTCAPS2W; 947 -alias tagMIDIOUTCAPS2W* NPMIDIOUTCAPS2W; 948 -alias tagMIDIOUTCAPS2W* LPMIDIOUTCAPS2W; 949 - 950 -// #ifdef UNICODE 951 -alias MIDIOUTCAPS2W MIDIOUTCAPS2; 952 -alias PMIDIOUTCAPS2W PMIDIOUTCAPS2; 953 -alias NPMIDIOUTCAPS2W NPMIDIOUTCAPS2; 954 -alias LPMIDIOUTCAPS2W LPMIDIOUTCAPS2; 955 -// #else 956 -// ... 957 -// #endif // UNICODE 958 - 959 -// #else 960 -// ... 961 -// #endif 962 - 963 -enum : uint { MOD_MIDIPORT = 1 } 964 -enum : uint { MOD_SYNTH = 2 } 965 -enum : uint { MOD_SQSYNTH = 3 } 966 -enum : uint { MOD_FMSYNTH = 4 } 967 -enum : uint { MOD_MAPPER = 5 } 968 -enum : uint { MOD_WAVETABLE = 6 } 969 -enum : uint { MOD_SWSYNTH = 7 } 970 - 971 -enum : uint { MIDICAPS_VOLUME = 0x0001 } 972 -enum : uint { MIDICAPS_LRVOLUME = 0x0002 } 973 -enum : uint { MIDICAPS_CACHE = 0x0004 } 974 -// #if(WINVER >= 0x0400) 975 -enum : uint { MIDICAPS_STREAM = 0x0008 } 976 -// #endif /* WINVER >= 0x0400 */ 977 - 978 -// #ifdef _WIN32 979 - 980 -struct tagMIDIINCAPSA { 981 - WORD wMid; 982 - WORD wPid; 983 - MMVERSION vDriverVersion; 984 - CHAR szPname[MAXPNAMELEN]; 985 -// #if (WINVER >= 0x0400) 986 - DWORD dwSupport; 987 -// #endif 2123 +struct MCI_OVLY_SAVE_PARMSW { 2124 + DWORD dwCallback; 2125 + LPCWSTR lpfilename; 2126 + RECT rc; 988 2127 } 989 -alias tagMIDIINCAPSA MIDIINCAPSA; 990 -alias tagMIDIINCAPSA* PMIDIINCAPSA; 991 -alias tagMIDIINCAPSA* NPMIDIINCAPSA; 992 -alias tagMIDIINCAPSA* LPMIDIINCAPSA; 2128 +alias MCI_OVLY_SAVE_PARMSW* PMCI_OVLY_SAVE_PARMSW, LPMCI_OVLY_SAVE_PARMSW; 993 2129 994 -struct tagMIDIINCAPSW { 995 - WORD wMid; 996 - WORD wPid; 997 - MMVERSION vDriverVersion; 998 - WCHAR szPname[MAXPNAMELEN]; 999 -// #if (WINVER >= 0x0400) 1000 - DWORD dwSupport; 1001 -// #endif 1002 -} 1003 -alias tagMIDIINCAPSW MIDIINCAPSW; 1004 -alias tagMIDIINCAPSW* PMIDIINCAPSW; 1005 -alias tagMIDIINCAPSW* NPMIDIINCAPSW; 1006 -alias tagMIDIINCAPSW* LPMIDIINCAPSW; 1007 - 1008 -// #ifdef UNICODE 1009 -alias MIDIINCAPSW MIDIINCAPS; 1010 -alias PMIDIINCAPSW PMIDIINCAPS; 1011 -alias NPMIDIINCAPSW NPMIDIINCAPS; 1012 -alias LPMIDIINCAPSW LPMIDIINCAPS; 1013 -// #else 1014 -// ... 1015 -// #endif // UNICODE 1016 -struct tagMIDIINCAPS2A { 1017 - WORD wMid; 1018 - WORD wPid; 1019 - MMVERSION vDriverVersion; 1020 - CHAR szPname[MAXPNAMELEN]; 1021 -// #if (WINVER >= 0x0400) 1022 - DWORD dwSupport; 1023 -// #endif 1024 - GUID ManufacturerGuid; 1025 - GUID ProductGuid; 1026 - GUID NameGuid; 1027 -} 1028 -alias tagMIDIINCAPS2A MIDIINCAPS2A; 1029 -alias tagMIDIINCAPS2A* PMIDIINCAPS2A; 1030 -alias tagMIDIINCAPS2A* NPMIDIINCAPS2A; 1031 -alias tagMIDIINCAPS2A* LPMIDIINCAPS2A; 1032 - 1033 -struct tagMIDIINCAPS2W { 1034 - WORD wMid; 1035 - WORD wPid; 1036 - MMVERSION vDriverVersion; 1037 - WCHAR szPname[MAXPNAMELEN]; 1038 -// #if (WINVER >= 0x0400) 1039 - DWORD dwSupport; 1040 -// #endif 1041 - GUID ManufacturerGuid; 1042 - GUID ProductGuid; 1043 - GUID NameGuid; 1044 -} 1045 -alias tagMIDIINCAPS2W MIDIINCAPS2W; 1046 -alias tagMIDIINCAPS2W* PMIDIINCAPS2W; 1047 -alias tagMIDIINCAPS2W* NPMIDIINCAPS2W; 1048 -alias tagMIDIINCAPS2W* LPMIDIINCAPS2W; 1049 - 1050 -// #ifdef UNICODE 1051 -alias MIDIINCAPS2W MIDIINCAPS2; 1052 -alias PMIDIINCAPS2W PMIDIINCAPS2; 1053 -alias NPMIDIINCAPS2W NPMIDIINCAPS2; 1054 -alias LPMIDIINCAPS2W LPMIDIINCAPS2; 1055 -// #else 1056 -// ... 1057 -// #endif // UNICODE 1058 - 1059 -// #else 1060 -// ... 1061 -// #if (WINVER >= 0x0400) 1062 -// ... 1063 -// #endif 1064 -// ... 1065 -// #endif 1066 - 1067 -struct midihdr_tag { 1068 - LPSTR lpData; 1069 - DWORD dwBufferLength; 1070 - DWORD dwBytesRecorded; 1071 - DWORD_PTR dwUser; 1072 - DWORD dwFlags; 1073 - midihdr_tag *lpNext; 1074 - DWORD_PTR reserved; 1075 -// #if (WINVER >= 0x0400) 1076 - DWORD dwOffset; 1077 - DWORD_PTR dwReserved[8]; 1078 -// #endif 1079 -} 1080 -alias midihdr_tag MIDIHDR; 1081 -alias midihdr_tag* PMIDIHDR; 1082 -alias midihdr_tag* NPMIDIHDR; 1083 -alias midihdr_tag* LPMIDIHDR; 1084 - 1085 -// #if(WINVER >= 0x0400) 1086 -struct midievent_tag { 1087 - DWORD dwDeltaTime; 1088 - DWORD dwStreamID; 1089 - DWORD dwEvent; 1090 - DWORD dwParms[1]; 1091 -} 1092 -alias midievent_tag MIDIEVENT; 1093 - 1094 -struct midistrmbuffver_tag { 1095 - DWORD dwVersion; 1096 - DWORD dwMid; 1097 - DWORD dwOEMVersion; 1098 -} 1099 -alias midistrmbuffver_tag MIDISTRMBUFFVER; 1100 - 1101 -// #endif /* WINVER >= 0x0400 */ 1102 - 1103 -enum : uint { MHDR_DONE = 0x00000001 } 1104 -enum : uint { MHDR_PREPARED = 0x00000002 } 1105 -enum : uint { MHDR_INQUEUE = 0x00000004 } 1106 -enum : uint { MHDR_ISSTRM = 0x00000008 } 1107 -// #if(WINVER >= 0x0400) 1108 - 1109 -enum : uint { MEVT_F_SHORT = 0x00000000 } 1110 -enum : uint { MEVT_F_LONG = 0x80000000 } 1111 -enum : uint { MEVT_F_CALLBACK = 0x40000000 } 1112 - 1113 -// #define MEVT_EVENTTYPE(x) ((BYTE)(((x)>>24)&0xFF)) 1114 -// #define MEVT_EVENTPARM(x) ((DWORD)((x)&0x00FFFFFFL)) 1115 - 1116 -enum : uint { MEVT_SHORTMSG = cast(BYTE)0x00 } 1117 -enum : uint { MEVT_TEMPO = cast(BYTE)0x01 } 1118 -enum : uint { MEVT_NOP = cast(BYTE)0x02 } 1119 - 1120 -enum : uint { MEVT_LONGMSG = cast(BYTE)0x80 } 1121 -enum : uint { MEVT_COMMENT = cast(BYTE)0x82 } 1122 -enum : uint { MEVT_VERSION = cast(BYTE)0x84 } 1123 - 1124 -enum { MIDISTRM_ERROR = -2 } 1125 - 1126 -enum : uint { MIDIPROP_SET = 0x80000000 } 1127 -enum : uint { MIDIPROP_GET = 0x40000000 } 1128 - 1129 -enum : uint { MIDIPROP_TIMEDIV = 0x00000001 } 1130 -enum : uint { MIDIPROP_TEMPO = 0x00000002 } 1131 - 1132 -struct midiproptimediv_tag { 1133 - DWORD cbStruct; 1134 - DWORD dwTimeDiv; 2130 +struct MCI_OVLY_LOAD_PARMSA { 2131 + DWORD dwCallback; 2132 + LPCSTR lpfilename; 2133 + RECT rc; 1135 2134 } 1136 -alias midiproptimediv_tag MIDIPROPTIMEDIV; 1137 -alias midiproptimediv_tag* LPMIDIPROPTIMEDIV; 2135 +alias MCI_OVLY_LOAD_PARMSA* PMCI_OVLY_LOAD_PARMSA, LPMCI_OVLY_LOAD_PARMSA; 1138 2136 1139 -struct midiproptempo_tag { 1140 - DWORD cbStruct; 1141 - DWORD dwTempo; 1142 -} 1143 -alias midiproptempo_tag MIDIPROPTEMPO; 1144 -alias midiproptempo_tag* LPMIDIPROPTEMPO; 1145 - 1146 -// #endif /* WINVER >= 0x0400 */ 1147 - 1148 -extern(Windows) export UINT midiOutGetNumDevs(); 1149 -// #if(WINVER >= 0x0400) 1150 -extern(Windows) export MMRESULT midiStreamOpen(LPHMIDISTRM phms, LPUINT puDeviceID, DWORD cMidi, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 1151 -extern(Windows) export MMRESULT midiStreamClose(HMIDISTRM hms); 1152 - 1153 -extern(Windows) export MMRESULT midiStreamProperty(HMIDISTRM hms, LPBYTE lppropdata, DWORD dwProperty); 1154 -extern(Windows) export MMRESULT midiStreamPosition(HMIDISTRM hms, LPMMTIME lpmmt, UINT cbmmt); 1155 - 1156 -extern(Windows) export MMRESULT midiStreamOut(HMIDISTRM hms, LPMIDIHDR pmh, UINT cbmh); 1157 -extern(Windows) export MMRESULT midiStreamPause(HMIDISTRM hms); 1158 -extern(Windows) export MMRESULT midiStreamRestart(HMIDISTRM hms); 1159 -extern(Windows) export MMRESULT midiStreamStop(HMIDISTRM hms); 1160 - 1161 -// #ifdef _WIN32 1162 -extern(Windows) export MMRESULT midiConnect(HMIDI hmi, HMIDIOUT hmo, LPVOID pReserved); 1163 -extern(Windows) export MMRESULT midiDisconnect(HMIDI hmi, HMIDIOUT hmo, LPVOID pReserved); 1164 -// #endif 1165 -// #endif /* WINVER >= 0x0400 */ 1166 - 1167 -// #ifdef _WIN32 1168 - 1169 -extern(Windows) export MMRESULT midiOutGetDevCapsA(UINT_PTR uDeviceID, LPMIDIOUTCAPSA pmoc, UINT cbmoc); 1170 -extern(Windows) export MMRESULT midiOutGetDevCapsW(UINT_PTR uDeviceID, LPMIDIOUTCAPSW pmoc, UINT cbmoc); 1171 -// #ifdef UNICODE 1172 -alias midiOutGetDevCapsW midiOutGetDevCaps; 1173 -// #else 1174 -// #... 1175 -// #endif // !UNICODE 1176 - 1177 -// #else 1178 -// ... 1179 -// #endif 1180 - 1181 -// #if (WINVER >= 0x0400) 1182 -extern(Windows) export MMRESULT midiOutGetVolume(HMIDIOUT hmo, LPDWORD pdwVolume); 1183 -extern(Windows) export MMRESULT midiOutSetVolume(HMIDIOUT hmo, DWORD dwVolume); 1184 -// #else 1185 -// ... 1186 -// #endif 1187 - 1188 -// #ifdef _WIN32 1189 - 1190 -extern(Windows) export MMRESULT midiOutGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText); 1191 -extern(Windows) export MMRESULT midiOutGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText); 1192 -// #ifdef UNICODE 1193 -alias midiOutGetErrorTextW midiOutGetErrorText; 1194 -// #else 1195 -// #... 1196 -// #endif // !UNICODE 1197 - 1198 -// #else 1199 -// ... 1200 -// #endif 1201 - 1202 -extern(Windows) export MMRESULT midiOutOpen(LPHMIDIOUT phmo, UINT uDeviceID, 1203 - DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 1204 -extern(Windows) export MMRESULT midiOutClose(HMIDIOUT hmo); 1205 -extern(Windows) export MMRESULT midiOutPrepareHeader(HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh); 1206 -extern(Windows) export MMRESULT midiOutUnprepareHeader(HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh); 1207 -extern(Windows) export MMRESULT midiOutShortMsg(HMIDIOUT hmo, DWORD dwMsg); 1208 -extern(Windows) export MMRESULT midiOutLongMsg(HMIDIOUT hmo, LPMIDIHDR pmh, UINT cbmh); 1209 -extern(Windows) export MMRESULT midiOutReset(HMIDIOUT hmo); 1210 -extern(Windows) export MMRESULT midiOutCachePatches(HMIDIOUT hmo, UINT uBank, LPWORD pwpa, UINT fuCache); 1211 -extern(Windows) export MMRESULT midiOutCacheDrumPatches(HMIDIOUT hmo, UINT uPatch, LPWORD pwkya, UINT fuCache); 1212 -extern(Windows) export MMRESULT midiOutGetID(HMIDIOUT hmo, LPUINT puDeviceID); 1213 - 1214 -// #if (WINVER >= 0x030a) 1215 -// #ifdef _WIN32 1216 -extern(Windows) export MMRESULT midiOutMessage(HMIDIOUT hmo, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 1217 -// #else 1218 -// ... 1219 -// #endif 1220 -// #endif /* ifdef WINVER >= 0x030a */ 1221 - 1222 -extern(Windows) export UINT midiInGetNumDevs(); 1223 - 1224 -// #ifdef _WIN32 1225 - 1226 -extern(Windows) export MMRESULT midiInGetDevCapsA(UINT_PTR uDeviceID, LPMIDIINCAPSA pmic, UINT cbmic); 1227 -extern(Windows) export MMRESULT midiInGetDevCapsW(UINT_PTR uDeviceID, LPMIDIINCAPSW pmic, UINT cbmic); 1228 -// #ifdef UNICODE 1229 -alias midiInGetDevCapsW midiInGetDevCaps; 1230 -// #else 1231 -// #... 1232 -// #endif // !UNICODE 1233 -extern(Windows) export MMRESULT midiInGetErrorTextA(MMRESULT mmrError, LPSTR pszText, UINT cchText); 1234 -extern(Windows) export MMRESULT midiInGetErrorTextW(MMRESULT mmrError, LPWSTR pszText, UINT cchText); 1235 -// #ifdef UNICODE 1236 -alias midiInGetErrorTextW midiInGetErrorText; 1237 -// #else 1238 -// #... 1239 -// #endif // !UNICODE 1240 - 1241 -// #else 1242 -// ... 1243 -// #endif 1244 - 1245 -extern(Windows) export MMRESULT midiInOpen(LPHMIDIIN phmi, UINT uDeviceID, 1246 - DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 1247 -extern(Windows) export MMRESULT midiInClose(HMIDIIN hmi); 1248 -extern(Windows) export MMRESULT midiInPrepareHeader(HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh); 1249 -extern(Windows) export MMRESULT midiInUnprepareHeader(HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh); 1250 -extern(Windows) export MMRESULT midiInAddBuffer(HMIDIIN hmi, LPMIDIHDR pmh, UINT cbmh); 1251 -extern(Windows) export MMRESULT midiInStart(HMIDIIN hmi); 1252 -extern(Windows) export MMRESULT midiInStop(HMIDIIN hmi); 1253 -extern(Windows) export MMRESULT midiInReset(HMIDIIN hmi); 1254 -extern(Windows) export MMRESULT midiInGetID(HMIDIIN hmi, LPUINT puDeviceID); 1255 - 1256 -// #if (WINVER >= 0x030a) 1257 -// #ifdef _WIN32 1258 -extern(Windows) export MMRESULT midiInMessage(HMIDIIN hmi, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 1259 -// #else 1260 -// ... 1261 -// #endif 1262 -// #endif /* ifdef WINVER >= 0x030a */ 1263 - 1264 -// #endif /* ifndef MMNOMIDI */ 1265 - 1266 -// #ifndef MMNOAUX 1267 - 1268 -enum : uint { AUX_MAPPER = cast(UINT)-1 } 1269 - 1270 -// #ifdef _WIN32 1271 - 1272 -struct tagAUXCAPSA { 1273 - WORD wMid; 1274 - WORD wPid; 1275 - MMVERSION vDriverVersion; 1276 - CHAR szPname[MAXPNAMELEN]; 1277 - WORD wTechnology; 1278 - WORD wReserved1; 1279 - DWORD dwSupport; 1280 -} 1281 -alias tagAUXCAPSA AUXCAPSA; 1282 -alias tagAUXCAPSA* PAUXCAPSA; 1283 -alias tagAUXCAPSA* NPAUXCAPSA; 1284 -alias tagAUXCAPSA* LPAUXCAPSA; 1285 - 1286 -struct tagAUXCAPSW { 1287 - WORD wMid; 1288 - WORD wPid; 1289 - MMVERSION vDriverVersion; 1290 - WCHAR szPname[MAXPNAMELEN]; 1291 - WORD wTechnology; 1292 - WORD wReserved1; 1293 - DWORD dwSupport; 1294 -} 1295 -alias tagAUXCAPSW AUXCAPSW; 1296 -alias tagAUXCAPSW* PAUXCAPSW; 1297 -alias tagAUXCAPSW* NPAUXCAPSW; 1298 -alias tagAUXCAPSW* LPAUXCAPSW; 1299 - 1300 -// #ifdef UNICODE 1301 -alias AUXCAPSW AUXCAPS; 1302 -alias PAUXCAPSW PAUXCAPS; 1303 -alias NPAUXCAPSW NPAUXCAPS; 1304 -alias LPAUXCAPSW LPAUXCAPS; 1305 -// #else 1306 -// ... 1307 -// #endif // UNICODE 1308 -struct tagAUXCAPS2A { 1309 - WORD wMid; 1310 - WORD wPid; 1311 - MMVERSION vDriverVersion; 1312 - CHAR szPname[MAXPNAMELEN]; 1313 - WORD wTechnology; 1314 - WORD wReserved1; 1315 - DWORD dwSupport; 1316 - GUID ManufacturerGuid; 1317 - GUID ProductGuid; 1318 - GUID NameGuid; 1319 -} 1320 -alias tagAUXCAPS2A AUXCAPS2A; 1321 -alias tagAUXCAPS2A* PAUXCAPS2A; 1322 -alias tagAUXCAPS2A* NPAUXCAPS2A; 1323 -alias tagAUXCAPS2A* LPAUXCAPS2A; 1324 - 1325 -struct tagAUXCAPS2W { 1326 - WORD wMid; 1327 - WORD wPid; 1328 - MMVERSION vDriverVersion; 1329 - WCHAR szPname[MAXPNAMELEN]; 1330 - WORD wTechnology; 1331 - WORD wReserved1; 1332 - DWORD dwSupport; 1333 - GUID ManufacturerGuid; 1334 - GUID ProductGuid; 1335 - GUID NameGuid; 1336 -} 1337 -alias tagAUXCAPS2W AUXCAPS2W; 1338 -alias tagAUXCAPS2W* PAUXCAPS2W; 1339 -alias tagAUXCAPS2W* NPAUXCAPS2W; 1340 -alias tagAUXCAPS2W* LPAUXCAPS2W; 1341 - 1342 -// #ifdef UNICODE 1343 -alias AUXCAPS2W AUXCAPS2; 1344 -alias PAUXCAPS2W PAUXCAPS2; 1345 -alias NPAUXCAPS2W NPAUXCAPS2; 1346 -alias LPAUXCAPS2W LPAUXCAPS2; 1347 -// #else 1348 -// ... 1349 -// #endif // UNICODE 1350 - 1351 -// #else 1352 -// ... 1353 -// #endif 1354 - 1355 -enum : uint { AUXCAPS_CDAUDIO = 1 } 1356 -enum : uint { AUXCAPS_AUXIN = 2 } 1357 - 1358 -enum : uint { AUXCAPS_VOLUME = 0x0001 } 1359 -enum : uint { AUXCAPS_LRVOLUME = 0x0002 } 1360 - 1361 -extern(Windows) export UINT auxGetNumDevs(); 1362 -// #ifdef _WIN32 1363 - 1364 -extern(Windows) export MMRESULT auxGetDevCapsA(UINT_PTR uDeviceID, LPAUXCAPSA pac, UINT cbac); 1365 -extern(Windows) export MMRESULT auxGetDevCapsW(UINT_PTR uDeviceID, LPAUXCAPSW pac, UINT cbac); 1366 -// #ifdef UNICODE 1367 -alias auxGetDevCapsW auxGetDevCaps; 1368 -// #else 1369 -// #... 1370 -// #endif // !UNICODE 1371 - 1372 -// #else 1373 -// ... 1374 -// #endif 1375 -extern(Windows) export MMRESULT auxSetVolume(UINT uDeviceID, DWORD dwVolume); 1376 -extern(Windows) export MMRESULT auxGetVolume(UINT uDeviceID, LPDWORD pdwVolume); 1377 - 1378 -// #if (WINVER >= 0x030a) 1379 -// #ifdef _WIN32 1380 -extern(Windows) export MMRESULT auxOutMessage(UINT uDeviceID, UINT uMsg, DWORD_PTR dw1, DWORD_PTR dw2); 1381 -// #else 1382 -// ... 1383 -// #endif 1384 -// #endif /* ifdef WINVER >= 0x030a */ 1385 - 1386 -// #endif /* ifndef MMNOAUX */ 1387 - 1388 -// #ifndef MMNOMIXER 1389 - 1390 -alias void* HMIXEROBJ; 1391 -alias HMIXEROBJ* LPHMIXEROBJ; 1392 - 1393 -alias void* HMIXER; 1394 -alias HMIXER* LPHMIXER; 1395 - 1396 -enum : uint { MIXER_SHORT_NAME_CHARS = 16 } 1397 -enum : uint { MIXER_LONG_NAME_CHARS = 64 } 1398 - 1399 -enum : uint { MIXERR_INVALLINE = MIXERR_BASE + 0 } 1400 -enum : uint { MIXERR_INVALCONTROL = MIXERR_BASE + 1 } 1401 -enum : uint { MIXERR_INVALVALUE = MIXERR_BASE + 2 } 1402 -enum : uint { MIXERR_LASTERROR = MIXERR_BASE + 2 } 1403 - 1404 -enum : uint { MIXER_OBJECTF_HANDLE = 0x80000000 } 1405 -enum : uint { MIXER_OBJECTF_MIXER = 0x00000000 } 1406 -enum : uint { MIXER_OBJECTF_HMIXER = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER } 1407 -enum : uint { MIXER_OBJECTF_WAVEOUT = 0x10000000 } 1408 -enum : uint { MIXER_OBJECTF_HWAVEOUT = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT } 1409 -enum : uint { MIXER_OBJECTF_WAVEIN = 0x20000000 } 1410 -enum : uint { MIXER_OBJECTF_HWAVEIN = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN } 1411 -enum : uint { MIXER_OBJECTF_MIDIOUT = 0x30000000 } 1412 -enum : uint { MIXER_OBJECTF_HMIDIOUT = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT } 1413 -enum : uint { MIXER_OBJECTF_MIDIIN = 0x40000000 } 1414 -enum : uint { MIXER_OBJECTF_HMIDIIN = MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN } 1415 -enum : uint { MIXER_OBJECTF_AUX = 0x50000000 } 1416 - 1417 -extern(Windows) export UINT mixerGetNumDevs(); 1418 - 1419 -// #ifdef _WIN32 1420 - 1421 -struct tagMIXERCAPSA { 1422 - WORD wMid; 1423 - WORD wPid; 1424 - MMVERSION vDriverVersion; 1425 - CHAR szPname[MAXPNAMELEN]; 1426 - DWORD fdwSupport; 1427 - DWORD cDestinations; 2137 +struct MCI_OVLY_LOAD_PARMSW { 2138 + DWORD dwCallback; 2139 + LPCWSTR lpfilename; 2140 + RECT rc; 1428 2141 } 1429 -alias tagMIXERCAPSA MIXERCAPSA; 1430 -alias tagMIXERCAPSA* PMIXERCAPSA; 1431 -alias tagMIXERCAPSA* LPMIXERCAPSA; 2142 +alias MCI_OVLY_LOAD_PARMSW* PMCI_OVLY_LOAD_PARMSW, LPMCI_OVLY_LOAD_PARMSW; 1432 2143 1433 -struct tagMIXERCAPSW { 1434 - WORD wMid; 1435 - WORD wPid; 1436 - MMVERSION vDriverVersion; 1437 - WCHAR szPname[MAXPNAMELEN]; 1438 - DWORD fdwSupport; 1439 - DWORD cDestinations; 1440 -} 1441 -alias tagMIXERCAPSW MIXERCAPSW; 1442 -alias tagMIXERCAPSW* PMIXERCAPSW; 1443 -alias tagMIXERCAPSW* LPMIXERCAPSW; 2144 +version(Unicode) { 2145 + alias WAVEOUTCAPSW WAVEOUTCAPS; 2146 + alias WAVEINCAPSW WAVEINCAPS; 2147 + alias MIDIOUTCAPSW MIDIOUTCAPS; 2148 + alias MIDIINCAPSW MIDIINCAPS; 2149 + alias AUXCAPSW AUXCAPS; 2150 + alias MIXERCAPSW MIXERCAPS; 2151 + alias MIXERLINEW MIXERLINE; 2152 + alias MIXERCONTROLA MIXERCONTROL; 2153 + alias MIXERLINECONTROLSW MIXERLINECONTROLS; 2154 + alias MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT; 2155 + alias JOYCAPSW JOYCAPS; 2156 + alias MCI_OPEN_PARMSW MCI_OPEN_PARMS; 2157 + alias MCI_INFO_PARMSW MCI_INFO_PARMS; 2158 + alias MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS; 2159 + alias MCI_SAVE_PARMSW MCI_SAVE_PARMS; 2160 + alias MCI_LOAD_PARMSW MCI_LOAD_PARMS; 2161 + alias MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS; 2162 + alias MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS; 2163 + alias MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS; 2164 + alias MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS; 2165 + alias MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS; 2166 + alias MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS; 2167 + alias MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS; 1444 2168 1445 -// #ifdef UNICODE 1446 -alias MIXERCAPSW MIXERCAPS; 1447 -alias PMIXERCAPSW PMIXERCAPS; 1448 -alias LPMIXERCAPSW LPMIXERCAPS; 1449 -// #else 1450 -// ... 1451 -// #endif // UNICODE 1452 -struct tagMIXERCAPS2A { 1453 - WORD wMid; 1454 - WORD wPid; 1455 - MMVERSION vDriverVersion; 1456 - CHAR szPname[MAXPNAMELEN]; 1457 - DWORD fdwSupport; 1458 - DWORD cDestinations; 1459 - GUID ManufacturerGuid; 1460 - GUID ProductGuid; 1461 - GUID NameGuid; 1462 -} 1463 -alias tagMIXERCAPS2A MIXERCAPS2A; 1464 -alias tagMIXERCAPS2A* PMIXERCAPS2A; 1465 -alias tagMIXERCAPS2A* LPMIXERCAPS2A; 1466 - 1467 -struct tagMIXERCAPS2W { 1468 - WORD wMid; 1469 - WORD wPid; 1470 - MMVERSION vDriverVersion; 1471 - WCHAR szPname[MAXPNAMELEN]; 1472 - DWORD fdwSupport; 1473 - DWORD cDestinations; 1474 - GUID ManufacturerGuid; 1475 - GUID ProductGuid; 1476 - GUID NameGuid; 1477 -} 1478 -alias tagMIXERCAPS2W MIXERCAPS2W; 1479 -alias tagMIXERCAPS2W* PMIXERCAPS2W; 1480 -alias tagMIXERCAPS2W* LPMIXERCAPS2W; 2169 + alias sndPlaySoundW sndPlaySound; 2170 + alias PlaySoundW PlaySound; 2171 + alias waveOutGetDevCapsW waveOutGetDevCaps; 2172 + alias waveOutGetErrorTextW waveOutGetErrorText; 2173 + alias waveInGetDevCapsW waveInGetDevCaps; 2174 + alias waveInGetErrorTextW waveInGetErrorText; 2175 + alias midiOutGetDevCapsW midiOutGetDevCaps; 2176 + alias midiOutGetErrorTextW midiOutGetErrorText; 2177 + alias midiInGetDevCapsW midiInGetDevCaps; 2178 + alias midiInGetErrorTextW midiInGetErrorText; 2179 + alias auxGetDevCapsW auxGetDevCaps; 2180 + alias mixerGetDevCapsW mixerGetDevCaps; 2181 + alias mixerGetLineInfoW mixerGetLineInfo; 2182 + alias mixerGetLineControlsW mixerGetLineControls; 2183 + alias mixerGetControlDetailsW mixerGetControlDetails; 2184 + alias joyGetDevCapsW joyGetDevCaps; 2185 + alias mmioInstallIOProcW mmioInstallIOProc; 2186 + alias mmioStringToFOURCCW mmioStringToFOURCC; 2187 + alias mmioOpenW mmioOpen; 2188 + alias mmioRenameW mmioRename; 2189 + alias mciSendCommandW mciSendCommand; 2190 + alias mciSendStringW mciSendString; 2191 + alias mciGetDeviceIDW mciGetDeviceID; 2192 + alias mciGetDeviceIDFromElementIDW mciGetDeviceIDFromElementID; 2193 + alias mciGetErrorStringW mciGetErrorString; 1481 2194 1482 -// #ifdef UNICODE 1483 -alias MIXERCAPS2W MIXERCAPS2; 1484 -alias PMIXERCAPS2W PMIXERCAPS2; 1485 -alias LPMIXERCAPS2W LPMIXERCAPS2; 1486 -// #else 1487 -// ... 1488 -// #endif // UNICODE 1489 - 1490 -// #else 1491 -// ... 1492 -// #endif 1493 - 1494 -// #ifdef _WIN32 1495 - 1496 -extern(Windows) export MMRESULT mixerGetDevCapsA(UINT_PTR uMxId, LPMIXERCAPSA pmxcaps, UINT cbmxcaps); 1497 -extern(Windows) export MMRESULT mixerGetDevCapsW(UINT_PTR uMxId, LPMIXERCAPSW pmxcaps, UINT cbmxcaps); 1498 -// #ifdef UNICODE 1499 -alias mixerGetDevCapsW mixerGetDevCaps; 1500 -// #else 1501 -// #... 1502 -// #endif // !UNICODE 1503 - 1504 -// #else 1505 -// ... 1506 -// #endif 1507 - 1508 -extern(Windows) export MMRESULT mixerOpen(LPHMIXER phmx, UINT uMxId, DWORD_PTR dwCallback, DWORD_PTR dwInstance, DWORD fdwOpen); 1509 - 1510 -extern(Windows) export MMRESULT mixerClose(HMIXER hmx); 1511 - 1512 -extern(Windows) export DWORD mixerMessage(HMIXER hmx, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2); 2195 +} else { 2196 + alias WAVEOUTCAPSA WAVEOUTCAPS; 2197 + alias WAVEINCAPSA WAVEINCAPS; 2198 + alias MIDIOUTCAPSA MIDIOUTCAPS; 2199 + alias MIDIINCAPSA MIDIINCAPS; 2200 + alias AUXCAPSA AUXCAPS; 2201 + alias MIXERCAPSA MIXERCAPS; 2202 + alias MIXERLINEA MIXERLINE; 2203 + alias MIXERCONTROLA MIXERCONTROL; 2204 + alias MIXERLINECONTROLSA MIXERLINECONTROLS; 2205 + alias MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT; 2206 + alias JOYCAPSA JOYCAPS; 2207 + alias MCI_OPEN_PARMSA MCI_OPEN_PARMS; 2208 + alias MCI_INFO_PARMSA MCI_INFO_PARMS; 2209 + alias MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS; 2210 + alias MCI_SAVE_PARMSA MCI_SAVE_PARMS; 2211 + alias MCI_LOAD_PARMSA MCI_LOAD_PARMS; 2212 + alias MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS; 2213 + alias MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS; 2214 + alias MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS; 2215 + alias MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS; 2216 + alias MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS; 2217 + alias MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS; 2218 + alias MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS; 1513 2219 1514 -// #ifdef _WIN32 1515 - 1516 -struct tagMIXERLINEA { 1517 - DWORD cbStruct; 1518 - DWORD dwDestination; 1519 - DWORD dwSource; 1520 - DWORD dwLineID; 1521 - DWORD fdwLine; 1522 - DWORD_PTR dwUser; 1523 - DWORD dwComponentType; 1524 - DWORD cChannels; 1525 - DWORD cConnections; 1526 - DWORD cControls; 1527 - CHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1528 - CHAR szName[MIXER_LONG_NAME_CHARS]; 1529 -struct { 1530 - DWORD dwType; 1531 - DWORD dwDeviceID; 1532 - WORD wMid; 1533 - WORD wPid; 1534 - MMVERSION vDriverVersion; 1535 - CHAR szPname[MAXPNAMELEN]; 1536 -} 1537 - 1538 -} 1539 -alias tagMIXERLINEA MIXERLINEA; 1540 -alias tagMIXERLINEA* PMIXERLINEA; 1541 -alias tagMIXERLINEA* LPMIXERLINEA; 1542 - 1543 -struct tagMIXERLINEW { 1544 - DWORD cbStruct; 1545 - DWORD dwDestination; 1546 - DWORD dwSource; 1547 - DWORD dwLineID; 1548 - DWORD fdwLine; 1549 - DWORD_PTR dwUser; 1550 - DWORD dwComponentType; 1551 - DWORD cChannels; 1552 - DWORD cConnections; 1553 - DWORD cControls; 1554 - WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1555 - WCHAR szName[MIXER_LONG_NAME_CHARS]; 1556 -struct { 1557 - DWORD dwType; 1558 - DWORD dwDeviceID; 1559 - WORD wMid; 1560 - WORD wPid; 1561 - MMVERSION vDriverVersion; 1562 - WCHAR szPname[MAXPNAMELEN]; 1563 -} 1564 - 1565 -} 1566 -alias tagMIXERLINEW MIXERLINEW; 1567 -alias tagMIXERLINEW* PMIXERLINEW; 1568 -alias tagMIXERLINEW* LPMIXERLINEW; 1569 - 1570 -// #ifdef UNICODE 1571 -alias MIXERLINEW MIXERLINE; 1572 -alias PMIXERLINEW PMIXERLINE; 1573 -alias LPMIXERLINEW LPMIXERLINE; 1574 -// #else 1575 -// ... 1576 -// #endif // UNICODE 1577 - 1578 -// #else 1579 -// ... 1580 -// #endif 1581 - 1582 -enum : uint { MIXERLINE_LINEF_ACTIVE = 0x00000001 } 1583 -enum : uint { MIXERLINE_LINEF_DISCONNECTED = 0x00008000 } 1584 -enum : uint { MIXERLINE_LINEF_SOURCE = 0x80000000 } 1585 - 1586 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_FIRST = 0x00000000 } 1587 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_UNDEFINED = MIXERLINE_COMPONENTTYPE_DST_FIRST + 0 } 1588 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_DIGITAL = MIXERLINE_COMPONENTTYPE_DST_FIRST + 1 } 1589 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_LINE = MIXERLINE_COMPONENTTYPE_DST_FIRST + 2 } 1590 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_MONITOR = MIXERLINE_COMPONENTTYPE_DST_FIRST + 3 } 1591 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_SPEAKERS = MIXERLINE_COMPONENTTYPE_DST_FIRST + 4 } 1592 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_HEADPHONES = MIXERLINE_COMPONENTTYPE_DST_FIRST + 5 } 1593 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_TELEPHONE = MIXERLINE_COMPONENTTYPE_DST_FIRST + 6 } 1594 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_WAVEIN = MIXERLINE_COMPONENTTYPE_DST_FIRST + 7 } 1595 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_VOICEIN = MIXERLINE_COMPONENTTYPE_DST_FIRST + 8 } 1596 -enum : uint { MIXERLINE_COMPONENTTYPE_DST_LAST = MIXERLINE_COMPONENTTYPE_DST_FIRST + 8 } 1597 - 1598 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_FIRST = 0x00001000 } 1599 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 0 } 1600 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_DIGITAL = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 1 } 1601 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_LINE = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2 } 1602 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3 } 1603 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 4 } 1604 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 5 } 1605 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 6 } 1606 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 7 } 1607 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 8 } 1608 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 9 } 1609 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_ANALOG = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10 } 1610 -enum : uint { MIXERLINE_COMPONENTTYPE_SRC_LAST = MIXERLINE_COMPONENTTYPE_SRC_FIRST + 10 } 1611 - 1612 -enum : uint { MIXERLINE_TARGETTYPE_UNDEFINED = 0 } 1613 -enum : uint { MIXERLINE_TARGETTYPE_WAVEOUT = 1 } 1614 -enum : uint { MIXERLINE_TARGETTYPE_WAVEIN = 2 } 1615 -enum : uint { MIXERLINE_TARGETTYPE_MIDIOUT = 3 } 1616 -enum : uint { MIXERLINE_TARGETTYPE_MIDIIN = 4 } 1617 -enum : uint { MIXERLINE_TARGETTYPE_AUX = 5 } 1618 - 1619 -// #ifdef _WIN32 1620 - 1621 -extern(Windows) export MMRESULT mixerGetLineInfoA(HMIXEROBJ hmxobj, LPMIXERLINEA pmxl, DWORD fdwInfo); 1622 -extern(Windows) export MMRESULT mixerGetLineInfoW(HMIXEROBJ hmxobj, LPMIXERLINEW pmxl, DWORD fdwInfo); 1623 -// #ifdef UNICODE 1624 -alias mixerGetLineInfoW mixerGetLineInfo; 1625 -// #else 1626 -// #... 1627 -// #endif // !UNICODE 1628 - 1629 -// #else 1630 -// ... 1631 -// #endif 1632 - 1633 -enum : uint { MIXER_GETLINEINFOF_DESTINATION = 0x00000000 } 1634 -enum : uint { MIXER_GETLINEINFOF_SOURCE = 0x00000001 } 1635 -enum : uint { MIXER_GETLINEINFOF_LINEID = 0x00000002 } 1636 -enum : uint { MIXER_GETLINEINFOF_COMPONENTTYPE = 0x00000003 } 1637 -enum : uint { MIXER_GETLINEINFOF_TARGETTYPE = 0x00000004 } 1638 - 1639 -enum : uint { MIXER_GETLINEINFOF_QUERYMASK = 0x0000000F } 1640 - 1641 -extern(Windows) export MMRESULT mixerGetID(HMIXEROBJ hmxobj, UINT *puMxId, DWORD fdwId); 1642 - 1643 -// #ifdef _WIN32 1644 - 1645 -struct tagMIXERCONTROLA { 1646 - DWORD cbStruct; 1647 - DWORD dwControlID; 1648 - DWORD dwControlType; 1649 - DWORD fdwControl; 1650 - DWORD cMultipleItems; 1651 - CHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1652 - CHAR szName[MIXER_LONG_NAME_CHARS]; 1653 -union _0 { 1654 -struct { 1655 - LONG lMinimum; 1656 - LONG lMaximum; 1657 -} 1658 - 1659 -struct { 1660 - DWORD dwMinimum; 1661 - DWORD dwMaximum; 1662 -} 1663 - 1664 - DWORD dwReserved[6]; 1665 -} 1666 -_0 Bounds; 1667 - 1668 -union _1 { 1669 - DWORD cSteps; 1670 - DWORD cbCustomData; 1671 - DWORD dwReserved[6]; 1672 -} 1673 -_1 Metrics; 1674 - 1675 -} 1676 -alias tagMIXERCONTROLA MIXERCONTROLA; 1677 -alias tagMIXERCONTROLA* PMIXERCONTROLA; 1678 -alias tagMIXERCONTROLA* LPMIXERCONTROLA; 1679 - 1680 -struct tagMIXERCONTROLW { 1681 - DWORD cbStruct; 1682 - DWORD dwControlID; 1683 - DWORD dwControlType; 1684 - DWORD fdwControl; 1685 - DWORD cMultipleItems; 1686 - WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; 1687 - WCHAR szName[MIXER_LONG_NAME_CHARS]; 1688 -union _2 { 1689 -struct { 1690 - LONG lMinimum; 1691 - LONG lMaximum; 1692 -} 1693 - 1694 -struct { 1695 - DWORD dwMinimum; 1696 - DWORD dwMaximum; 1697 -} 1698 - 1699 - DWORD dwReserved[6]; 1700 -} 1701 -_2 Bounds; 1702 - 1703 -union _3 { 1704 - DWORD cSteps; 1705 - DWORD cbCustomData; 1706 - DWORD dwReserved[6]; 1707 -} 1708 -_3 Metrics; 1709 - 1710 -} 1711 -alias tagMIXERCONTROLW MIXERCONTROLW; 1712 -alias tagMIXERCONTROLW* PMIXERCONTROLW; 1713 -alias tagMIXERCONTROLW* LPMIXERCONTROLW; 1714 - 1715 -// #ifdef UNICODE 1716 -alias MIXERCONTROLW MIXERCONTROL; 1717 -alias PMIXERCONTROLW PMIXERCONTROL; 1718 -alias LPMIXERCONTROLW LPMIXERCONTROL; 1719 -// #else 1720 -// ... 1721 -// #endif // UNICODE 1722 - 1723 -// #else 1724 -// ... 1725 -// #endif 1726 - 1727 -enum : uint { MIXERCONTROL_CONTROLF_UNIFORM = 0x00000001 } 1728 -enum : uint { MIXERCONTROL_CONTROLF_MULTIPLE = 0x00000002 } 1729 -enum : uint { MIXERCONTROL_CONTROLF_DISABLED = 0x80000000 } 1730 - 1731 -enum : uint { MIXERCONTROL_CT_CLASS_MASK = 0xF0000000 } 1732 -enum : uint { MIXERCONTROL_CT_CLASS_CUSTOM = 0x00000000 } 1733 -enum : uint { MIXERCONTROL_CT_CLASS_METER = 0x10000000 } 1734 -enum : uint { MIXERCONTROL_CT_CLASS_SWITCH = 0x20000000 } 1735 -enum : uint { MIXERCONTROL_CT_CLASS_NUMBER = 0x30000000 } 1736 -enum : uint { MIXERCONTROL_CT_CLASS_SLIDER = 0x40000000 } 1737 -enum : uint { MIXERCONTROL_CT_CLASS_FADER = 0x50000000 } 1738 -enum : uint { MIXERCONTROL_CT_CLASS_TIME = 0x60000000 } 1739 -enum : uint { MIXERCONTROL_CT_CLASS_LIST = 0x70000000 } 1740 - 1741 -enum : uint { MIXERCONTROL_CT_SUBCLASS_MASK = 0x0F000000 } 1742 - 1743 -enum : uint { MIXERCONTROL_CT_SC_SWITCH_BOOLEAN = 0x00000000 } 1744 -enum : uint { MIXERCONTROL_CT_SC_SWITCH_BUTTON = 0x01000000 } 1745 - 1746 -enum : uint { MIXERCONTROL_CT_SC_METER_POLLED = 0x00000000 } 1747 - 1748 -enum : uint { MIXERCONTROL_CT_SC_TIME_MICROSECS = 0x00000000 } 1749 -enum : uint { MIXERCONTROL_CT_SC_TIME_MILLISECS = 0x01000000 } 1750 - 1751 -enum : uint { MIXERCONTROL_CT_SC_LIST_SINGLE = 0x00000000 } 1752 -enum : uint { MIXERCONTROL_CT_SC_LIST_MULTIPLE = 0x01000000 } 1753 - 1754 -enum : uint { MIXERCONTROL_CT_UNITS_MASK = 0x00FF0000 } 1755 -enum : uint { MIXERCONTROL_CT_UNITS_CUSTOM = 0x00000000 } 1756 -enum : uint { MIXERCONTROL_CT_UNITS_BOOLEAN = 0x00010000 } 1757 -enum : uint { MIXERCONTROL_CT_UNITS_SIGNED = 0x00020000 } 1758 -enum : uint { MIXERCONTROL_CT_UNITS_UNSIGNED = 0x00030000 } 1759 -enum : uint { MIXERCONTROL_CT_UNITS_DECIBELS = 0x00040000 } 1760 -enum : uint { MIXERCONTROL_CT_UNITS_PERCENT = 0x00050000 } 1761 - 1762 -enum : uint { MIXERCONTROL_CONTROLTYPE_CUSTOM = MIXERCONTROL_CT_CLASS_CUSTOM | MIXERCONTROL_CT_UNITS_CUSTOM } 1763 -enum : uint { MIXERCONTROL_CONTROLTYPE_BOOLEANMETER = MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_BOOLEAN } 1764 -enum : uint { MIXERCONTROL_CONTROLTYPE_SIGNEDMETER = MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_SIGNED } 1765 -enum : uint { MIXERCONTROL_CONTROLTYPE_PEAKMETER = MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1 } 1766 -enum : uint { MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER = MIXERCONTROL_CT_CLASS_METER | MIXERCONTROL_CT_SC_METER_POLLED | MIXERCONTROL_CT_UNITS_UNSIGNED } 1767 -enum : uint { MIXERCONTROL_CONTROLTYPE_BOOLEAN = MIXERCONTROL_CT_CLASS_SWITCH | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN | MIXERCONTROL_CT_UNITS_BOOLEAN } 1768 -enum : uint { MIXERCONTROL_CONTROLTYPE_ONOFF = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1 } 1769 -enum : uint { MIXERCONTROL_CONTROLTYPE_MUTE = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2 } 1770 -enum : uint { MIXERCONTROL_CONTROLTYPE_MONO = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3 } 1771 -enum : uint { MIXERCONTROL_CONTROLTYPE_LOUDNESS = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4 } 1772 -enum : uint { MIXERCONTROL_CONTROLTYPE_STEREOENH = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5 } 1773 -enum : uint { MIXERCONTROL_CONTROLTYPE_BASS_BOOST = MIXERCONTROL_CONTROLTYPE_BOOLEAN + 0x00002277 } 1774 -enum : uint { MIXERCONTROL_CONTROLTYPE_BUTTON = MIXERCONTROL_CT_CLASS_SWITCH | MIXERCONTROL_CT_SC_SWITCH_BUTTON | MIXERCONTROL_CT_UNITS_BOOLEAN } 1775 -enum : uint { MIXERCONTROL_CONTROLTYPE_DECIBELS = MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_DECIBELS } 1776 -enum : uint { MIXERCONTROL_CONTROLTYPE_SIGNED = MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_SIGNED } 1777 -enum : uint { MIXERCONTROL_CONTROLTYPE_UNSIGNED = MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_UNSIGNED } 1778 -enum : uint { MIXERCONTROL_CONTROLTYPE_PERCENT = MIXERCONTROL_CT_CLASS_NUMBER | MIXERCONTROL_CT_UNITS_PERCENT } 1779 -enum : uint { MIXERCONTROL_CONTROLTYPE_SLIDER = MIXERCONTROL_CT_CLASS_SLIDER | MIXERCONTROL_CT_UNITS_SIGNED } 1780 -enum : uint { MIXERCONTROL_CONTROLTYPE_PAN = MIXERCONTROL_CONTROLTYPE_SLIDER + 1 } 1781 -enum : uint { MIXERCONTROL_CONTROLTYPE_QSOUNDPAN = MIXERCONTROL_CONTROLTYPE_SLIDER + 2 } 1782 -enum : uint { MIXERCONTROL_CONTROLTYPE_FADER = MIXERCONTROL_CT_CLASS_FADER | MIXERCONTROL_CT_UNITS_UNSIGNED } 1783 -enum : uint { MIXERCONTROL_CONTROLTYPE_VOLUME = MIXERCONTROL_CONTROLTYPE_FADER + 1 } 1784 -enum : uint { MIXERCONTROL_CONTROLTYPE_BASS = MIXERCONTROL_CONTROLTYPE_FADER + 2 } 1785 -enum : uint { MIXERCONTROL_CONTROLTYPE_TREBLE = MIXERCONTROL_CONTROLTYPE_FADER + 3 } 1786 -enum : uint { MIXERCONTROL_CONTROLTYPE_EQUALIZER = MIXERCONTROL_CONTROLTYPE_FADER + 4 } 1787 -enum : uint { MIXERCONTROL_CONTROLTYPE_SINGLESELECT = MIXERCONTROL_CT_CLASS_LIST | MIXERCONTROL_CT_SC_LIST_SINGLE | MIXERCONTROL_CT_UNITS_BOOLEAN } 1788 -enum : uint { MIXERCONTROL_CONTROLTYPE_MUX = MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1 } 1789 -enum : uint { MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT = MIXERCONTROL_CT_CLASS_LIST | MIXERCONTROL_CT_SC_LIST_MULTIPLE | MIXERCONTROL_CT_UNITS_BOOLEAN } 1790 -enum : uint { MIXERCONTROL_CONTROLTYPE_MIXER = MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1 } 1791 -enum : uint { MIXERCONTROL_CONTROLTYPE_MICROTIME = MIXERCONTROL_CT_CLASS_TIME | MIXERCONTROL_CT_SC_TIME_MICROSECS | MIXERCONTROL_CT_UNITS_UNSIGNED } 1792 -enum : uint { MIXERCONTROL_CONTROLTYPE_MILLITIME = MIXERCONTROL_CT_CLASS_TIME | MIXERCONTROL_CT_SC_TIME_MILLISECS | MIXERCONTROL_CT_UNITS_UNSIGNED } 1793 - 1794 -// #ifdef _WIN32 1795 - 1796 -struct tagMIXERLINECONTROLSA { 1797 - DWORD cbStruct; 1798 - DWORD dwLineID; 1799 -union { 1800 - DWORD dwControlID; 1801 - DWORD dwControlType; 1802 -} 1803 - 1804 - DWORD cControls; 1805 - DWORD cbmxctrl; 1806 - LPMIXERCONTROLA pamxctrl; 1807 -} 1808 -alias tagMIXERLINECONTROLSA MIXERLINECONTROLSA; 1809 -alias tagMIXERLINECONTROLSA* PMIXERLINECONTROLSA; 1810 -alias tagMIXERLINECONTROLSA* LPMIXERLINECONTROLSA; 1811 - 1812 -struct tagMIXERLINECONTROLSW { 1813 - DWORD cbStruct; 1814 - DWORD dwLineID; 1815 -union { 1816 - DWORD dwControlID; 1817 - DWORD dwControlType; 1818 -} 1819 - 1820 - DWORD cControls; 1821 - DWORD cbmxctrl; 1822 - LPMIXERCONTROLW pamxctrl; 1823 -} 1824 -alias tagMIXERLINECONTROLSW MIXERLINECONTROLSW; 1825 -alias tagMIXERLINECONTROLSW* PMIXERLINECONTROLSW; 1826 -alias tagMIXERLINECONTROLSW* LPMIXERLINECONTROLSW; 1827 - 1828 -// #ifdef UNICODE 1829 -alias MIXERLINECONTROLSW MIXERLINECONTROLS; 1830 -alias PMIXERLINECONTROLSW PMIXERLINECONTROLS; 1831 -alias LPMIXERLINECONTROLSW LPMIXERLINECONTROLS; 1832 -// #else 1833 -// ... 1834 -// #endif // UNICODE 1835 - 1836 -// #else 1837 -// ... 1838 -// #endif 1839 - 1840 -// #ifdef _WIN32 1841 - 1842 -extern(Windows) export MMRESULT mixerGetLineControlsA(HMIXEROBJ hmxobj, LPMIXERLINECONTROLSA pmxlc, DWORD fdwControls); 1843 -extern(Windows) export MMRESULT mixerGetLineControlsW(HMIXEROBJ hmxobj, LPMIXERLINECONTROLSW pmxlc, DWORD fdwControls); 1844 -// #ifdef UNICODE 1845 -alias mixerGetLineControlsW mixerGetLineControls; 1846 -// #else 1847 -// #... 1848 -// #endif // !UNICODE 1849 - 1850 -// #else 1851 -// ... 1852 -// #endif 1853 - 1854 -enum : uint { MIXER_GETLINECONTROLSF_ALL = 0x00000000 } 1855 -enum : uint { MIXER_GETLINECONTROLSF_ONEBYID = 0x00000001 } 1856 -enum : uint { MIXER_GETLINECONTROLSF_ONEBYTYPE = 0x00000002 } 1857 - 1858 -enum : uint { MIXER_GETLINECONTROLSF_QUERYMASK = 0x0000000F } 1859 - 1860 -struct tMIXERCONTROLDETAILS { 1861 - DWORD cbStruct; 1862 - DWORD dwControlID; 1863 - DWORD cChannels; 1864 -union { 1865 - HWND hwndOwner; 1866 - DWORD cMultipleItems; 2220 + alias sndPlaySoundA sndPlaySound; 2221 + alias PlaySoundA PlaySound; 2222 + alias waveOutGetDevCapsA waveOutGetDevCaps; 2223 + alias waveOutGetErrorTextA waveOutGetErrorText; 2224 + alias waveInGetDevCapsA waveInGetDevCaps; 2225 + alias waveInGetErrorTextA waveInGetErrorText; 2226 + alias midiOutGetDevCapsA midiOutGetDevCaps; 2227 + alias midiOutGetErrorTextA midiOutGetErrorText; 2228 + alias midiInGetDevCapsA midiInGetDevCaps; 2229 + alias midiInGetErrorTextA midiInGetErrorText; 2230 + alias auxGetDevCapsA auxGetDevCaps; 2231 + alias mixerGetDevCapsA mixerGetDevCaps; 2232 + alias mixerGetLineInfoA mixerGetLineInfo; 2233 + alias mixerGetLineControlsA mixerGetLineControls; 2234 + alias mixerGetControlDetailsA mixerGetControlDetails; 2235 + alias joyGetDevCapsA joyGetDevCaps; 2236 + alias mmioInstallIOProcA mmioInstallIOProc; 2237 + alias mmioStringToFOURCCA mmioStringToFOURCC; 2238 + alias mmioOpenA mmioOpen; 2239 + alias mmioRenameA mmioRename; 2240 + alias mciSendCommandA mciSendCommand; 2241 + alias mciSendStringA mciSendString; 2242 + alias mciGetDeviceIDA mciGetDeviceID; 2243 + alias mciGetDeviceIDFromElementIDA mciGetDeviceIDFromElementID; 2244 + alias mciGetErrorStringA mciGetErrorString; 1867 2245 } 1868 2246 1869 - DWORD cbDetails; 1870 - LPVOID paDetails; 1871 -} 1872 -alias tMIXERCONTROLDETAILS MIXERCONTROLDETAILS; 1873 -alias tMIXERCONTROLDETAILS* PMIXERCONTROLDETAILS; 1874 -alias tMIXERCONTROLDETAILS* LPMIXERCONTROLDETAILS; 1875 - 1876 -// #ifdef _WIN32 1877 - 1878 -struct tagMIXERCONTROLDETAILS_LISTTEXTA { 1879 - DWORD dwParam1; 1880 - DWORD dwParam2; 1881 - CHAR szName[MIXER_LONG_NAME_CHARS]; 1882 -} 1883 -alias tagMIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXTA; 1884 -alias tagMIXERCONTROLDETAILS_LISTTEXTA* PMIXERCONTROLDETAILS_LISTTEXTA; 1885 -alias tagMIXERCONTROLDETAILS_LISTTEXTA* LPMIXERCONTROLDETAILS_LISTTEXTA; 1886 - 1887 -struct tagMIXERCONTROLDETAILS_LISTTEXTW { 1888 - DWORD dwParam1; 1889 - DWORD dwParam2; 1890 - WCHAR szName[MIXER_LONG_NAME_CHARS]; 1891 -} 1892 -alias tagMIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXTW; 1893 -alias tagMIXERCONTROLDETAILS_LISTTEXTW* PMIXERCONTROLDETAILS_LISTTEXTW; 1894 -alias tagMIXERCONTROLDETAILS_LISTTEXTW* LPMIXERCONTROLDETAILS_LISTTEXTW; 1895 - 1896 -// #ifdef UNICODE 1897 -alias MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT; 1898 -alias PMIXERCONTROLDETAILS_LISTTEXTW PMIXERCONTROLDETAILS_LISTTEXT; 1899 -alias LPMIXERCONTROLDETAILS_LISTTEXTW LPMIXERCONTROLDETAILS_LISTTEXT; 1900 -// #else 1901 -// ... 1902 -// #endif // UNICODE 1903 - 1904 -// #else 1905 -// ... 1906 -// #endif 1907 - 1908 -struct tMIXERCONTROLDETAILS_BOOLEAN { 1909 - LONG fValue; 1910 -} 1911 -alias tMIXERCONTROLDETAILS_BOOLEAN MIXERCONTROLDETAILS_BOOLEAN; 1912 -alias tMIXERCONTROLDETAILS_BOOLEAN* PMIXERCONTROLDETAILS_BOOLEAN; 1913 -alias tMIXERCONTROLDETAILS_BOOLEAN* LPMIXERCONTROLDETAILS_BOOLEAN; 1914 - 1915 -struct tMIXERCONTROLDETAILS_SIGNED { 1916 - LONG lValue; 1917 -} 1918 -alias tMIXERCONTROLDETAILS_SIGNED MIXERCONTROLDETAILS_SIGNED; 1919 -alias tMIXERCONTROLDETAILS_SIGNED* PMIXERCONTROLDETAILS_SIGNED; 1920 -alias tMIXERCONTROLDETAILS_SIGNED* LPMIXERCONTROLDETAILS_SIGNED; 1921 - 1922 -struct tMIXERCONTROLDETAILS_UNSIGNED { 1923 - DWORD dwValue; 1924 -} 1925 -alias tMIXERCONTROLDETAILS_UNSIGNED MIXERCONTROLDETAILS_UNSIGNED; 1926 -alias tMIXERCONTROLDETAILS_UNSIGNED* PMIXERCONTROLDETAILS_UNSIGNED; 1927 -alias tMIXERCONTROLDETAILS_UNSIGNED* LPMIXERCONTROLDETAILS_UNSIGNED; 1928 - 1929 -// #ifdef _WIN32 1930 - 1931 -extern(Windows) export MMRESULT mixerGetControlDetailsA(HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails); 1932 -extern(Windows) export MMRESULT mixerGetControlDetailsW(HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails); 1933 -// #ifdef UNICODE 1934 -alias mixerGetControlDetailsW mixerGetControlDetails; 1935 -// #else 1936 -// #... 1937 -// #endif // !UNICODE 1938 - 1939 -// #else 1940 -// ... 1941 -// #endif 1942 - 1943 -enum : uint { MIXER_GETCONTROLDETAILSF_VALUE = 0x00000000 } 1944 -enum : uint { MIXER_GETCONTROLDETAILSF_LISTTEXT = 0x00000001 } 1945 - 1946 -enum : uint { MIXER_GETCONTROLDETAILSF_QUERYMASK = 0x0000000F } 1947 - 1948 -extern(Windows) export MMRESULT mixerSetControlDetails(HMIXEROBJ hmxobj, LPMIXERCONTROLDETAILS pmxcd, DWORD fdwDetails); 1949 - 1950 -enum : uint { MIXER_SETCONTROLDETAILSF_VALUE = 0x00000000 } 1951 -enum : uint { MIXER_SETCONTROLDETAILSF_CUSTOM = 0x00000001 } 1952 - 1953 -enum : uint { MIXER_SETCONTROLDETAILSF_QUERYMASK = 0x0000000F } 1954 - 1955 -// #endif /* ifndef MMNOMIXER */ 1956 - 1957 -// #ifndef MMNOTIMER 1958 - 1959 -enum : uint { TIMERR_NOERROR = 0 } 1960 -enum : uint { TIMERR_NOCANDO = TIMERR_BASE+1 } 1961 -enum : uint { TIMERR_STRUCT = TIMERR_BASE+33 } 1962 - 1963 -// typedef void (CALLBACK TIMECALLBACK)(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2); 1964 - 1965 -extern(Windows) alias void function(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2) LPTIMECALLBACK; 1966 - 1967 -enum : uint { TIME_ONESHOT = 0x0000 } 1968 -enum : uint { TIME_PERIODIC = 0x0001 } 1969 - 1970 -// #ifdef _WIN32 1971 -enum : uint { TIME_CALLBACK_FUNCTION = 0x0000 } 1972 -enum : uint { TIME_CALLBACK_EVENT_SET = 0x0010 } 1973 -enum : uint { TIME_CALLBACK_EVENT_PULSE = 0x0020 } 1974 -// #endif 1975 - 1976 -// #if WINVER >= 0x0501 1977 -enum : uint { TIME_KILL_SYNCHRONOUS = 0x0100 } 1978 - 1979 -// #endif // WINVER >= 0x0501 1980 - 1981 -struct timecaps_tag { 1982 - UINT wPeriodMin; 1983 - UINT wPeriodMax; 1984 -} 1985 -alias timecaps_tag TIMECAPS; 1986 -alias timecaps_tag* PTIMECAPS; 1987 -alias timecaps_tag* NPTIMECAPS; 1988 -alias timecaps_tag* LPTIMECAPS; 1989 - 1990 -extern(Windows) export MMRESULT timeGetSystemTime(LPMMTIME pmmt, UINT cbmmt); 1991 -extern(Windows) export DWORD timeGetTime(); 1992 -extern(Windows) export MMRESULT timeSetEvent(UINT uDelay, UINT uResolution, 1993 - LPTIMECALLBACK fptc, DWORD_PTR dwUser, UINT fuEvent); 1994 -extern(Windows) export MMRESULT timeKillEvent(UINT uTimerID); 1995 -extern(Windows) export MMRESULT timeGetDevCaps(LPTIMECAPS ptc, UINT cbtc); 1996 -extern(Windows) export MMRESULT timeBeginPeriod(UINT uPeriod); 1997 -extern(Windows) export MMRESULT timeEndPeriod(UINT uPeriod); 1998 - 1999 -// #endif /* ifndef MMNOTIMER */ 2000 - 2001 -// #ifndef MMNOJOY 2002 - 2003 -enum : uint { JOYERR_NOERROR = 0 } 2004 -enum : uint { JOYERR_PARMS = JOYERR_BASE+5 } 2005 -enum : uint { JOYERR_NOCANDO = JOYERR_BASE+6 } 2006 -enum : uint { JOYERR_UNPLUGGED = JOYERR_BASE+7 } 2007 - 2008 -enum : uint { JOY_BUTTON1 = 0x0001 } 2009 -enum : uint { JOY_BUTTON2 = 0x0002 } 2010 -enum : uint { JOY_BUTTON3 = 0x0004 } 2011 -enum : uint { JOY_BUTTON4 = 0x0008 } 2012 -enum : uint { JOY_BUTTON1CHG = 0x0100 } 2013 -enum : uint { JOY_BUTTON2CHG = 0x0200 } 2014 -enum : uint { JOY_BUTTON3CHG = 0x0400 } 2015 -enum : uint { JOY_BUTTON4CHG = 0x0800 } 2016 - 2017 -enum : uint { JOY_BUTTON5 = 0x00000010 } 2018 -enum : uint { JOY_BUTTON6 = 0x00000020 } 2019 -enum : uint { JOY_BUTTON7 = 0x00000040 } 2020 -enum : uint { JOY_BUTTON8 = 0x00000080 } 2021 -enum : uint { JOY_BUTTON9 = 0x00000100 } 2022 -enum : uint { JOY_BUTTON10 = 0x00000200 } 2023 -enum : uint { JOY_BUTTON11 = 0x00000400 } 2024 -enum : uint { JOY_BUTTON12 = 0x00000800 } 2025 -enum : uint { JOY_BUTTON13 = 0x00001000 } 2026 -enum : uint { JOY_BUTTON14 = 0x00002000 } 2027 -enum : uint { JOY_BUTTON15 = 0x00004000 } 2028 -enum : uint { JOY_BUTTON16 = 0x00008000 } 2029 -enum : uint { JOY_BUTTON17 = 0x00010000 } 2030 -enum : uint { JOY_BUTTON18 = 0x00020000 } 2031 -enum : uint { JOY_BUTTON19 = 0x00040000 } 2032 -enum : uint { JOY_BUTTON20 = 0x00080000 } 2033 -enum : uint { JOY_BUTTON21 = 0x00100000 } 2034 -enum : uint { JOY_BUTTON22 = 0x00200000 } 2035 -enum : uint { JOY_BUTTON23 = 0x00400000 } 2036 -enum : uint { JOY_BUTTON24 = 0x00800000 } 2037 -enum : uint { JOY_BUTTON25 = 0x01000000 } 2038 -enum : uint { JOY_BUTTON26 = 0x02000000 } 2039 -enum : uint { JOY_BUTTON27 = 0x04000000 } 2040 -enum : uint { JOY_BUTTON28 = 0x08000000 } 2041 -enum : uint { JOY_BUTTON29 = 0x10000000 } 2042 -enum : uint { JOY_BUTTON30 = 0x20000000 } 2043 -enum : uint { JOY_BUTTON31 = 0x40000000 } 2044 -enum : uint { JOY_BUTTON32 = 0x80000000 } 2045 - 2046 -enum : WORD { JOY_POVCENTERED = cast(WORD)-1 } 2047 -enum : uint { JOY_POVFORWARD = 0 } 2048 -enum : uint { JOY_POVRIGHT = 9000 } 2049 -enum : uint { JOY_POVBACKWARD = 18000 } 2050 -enum : uint { JOY_POVLEFT = 27000 } 2051 - 2052 -enum : uint { JOY_RETURNX = 0x00000001 } 2053 -enum : uint { JOY_RETURNY = 0x00000002 } 2054 -enum : uint { JOY_RETURNZ = 0x00000004 } 2055 -enum : uint { JOY_RETURNR = 0x00000008 } 2056 -enum : uint { JOY_RETURNU = 0x00000010 } 2057 -enum : uint { JOY_RETURNV = 0x00000020 } 2058 -enum : uint { JOY_RETURNPOV = 0x00000040 } 2059 -enum : uint { JOY_RETURNBUTTONS = 0x00000080 } 2060 -enum : uint { JOY_RETURNRAWDATA = 0x00000100 } 2061 -enum : uint { JOY_RETURNPOVCTS = 0x00000200 } 2062 -enum : uint { JOY_RETURNCENTERED = 0x00000400 } 2063 -enum : uint { JOY_USEDEADZONE = 0x00000800 } 2064 -enum : uint { JOY_RETURNALL = JOY_RETURNX | JOY_RETURNY | JOY_RETURNZ | JOY_RETURNR | JOY_RETURNU | JOY_RETURNV | JOY_RETURNPOV | JOY_RETURNBUTTONS } 2065 -enum : uint { JOY_CAL_READALWAYS = 0x00010000 } 2066 -enum : uint { JOY_CAL_READXYONLY = 0x00020000 } 2067 -enum : uint { JOY_CAL_READ3 = 0x00040000 } 2068 -enum : uint { JOY_CAL_READ4 = 0x00080000 } 2069 -enum : uint { JOY_CAL_READXONLY = 0x00100000 } 2070 -enum : uint { JOY_CAL_READYONLY = 0x00200000 } 2071 -enum : uint { JOY_CAL_READ5 = 0x00400000 } 2072 -enum : uint { JOY_CAL_READ6 = 0x00800000 } 2073 -enum : uint { JOY_CAL_READZONLY = 0x01000000 } 2074 -enum : uint { JOY_CAL_READRONLY = 0x02000000 } 2075 -enum : uint { JOY_CAL_READUONLY = 0x04000000 } 2076 -enum : uint { JOY_CAL_READVONLY = 0x08000000 } 2077 - 2078 -enum : uint { JOYSTICKID1 = 0 } 2079 -enum : uint { JOYSTICKID2 = 1 } 2080 - 2081 -enum : uint { JOYCAPS_HASZ = 0x0001 } 2082 -enum : uint { JOYCAPS_HASR = 0x0002 } 2083 -enum : uint { JOYCAPS_HASU = 0x0004 } 2084 -enum : uint { JOYCAPS_HASV = 0x0008 } 2085 -enum : uint { JOYCAPS_HASPOV = 0x0010 } 2086 -enum : uint { JOYCAPS_POV4DIR = 0x0020 } 2087 -enum : uint { JOYCAPS_POVCTS = 0x0040 } 2088 - 2089 -// #ifdef _WIN32 2090 - 2091 -struct tagJOYCAPSA { 2092 - WORD wMid; 2093 - WORD wPid; 2094 - CHAR szPname[MAXPNAMELEN]; 2095 - UINT wXmin; 2096 - UINT wXmax; 2097 - UINT wYmin; 2098 - UINT wYmax; 2099 - UINT wZmin; 2100 - UINT wZmax; 2101 - UINT wNumButtons; 2102 - UINT wPeriodMin; 2103 - UINT wPeriodMax; 2104 -// #if (WINVER >= 0x0400) 2105 - UINT wRmin; 2106 - UINT wRmax; 2107 - UINT wUmin; 2108 - UINT wUmax; 2109 - UINT wVmin; 2110 - UINT wVmax; 2111 - UINT wCaps; 2112 - UINT wMaxAxes; 2113 - UINT wNumAxes; 2114 - UINT wMaxButtons; 2115 - CHAR szRegKey[MAXPNAMELEN]; 2116 - CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 2117 -// #endif 2118 -} 2119 -alias tagJOYCAPSA JOYCAPSA; 2120 -alias tagJOYCAPSA* PJOYCAPSA; 2121 -alias tagJOYCAPSA* NPJOYCAPSA; 2122 -alias tagJOYCAPSA* LPJOYCAPSA; 2123 - 2124 -struct tagJOYCAPSW { 2125 - WORD wMid; 2126 - WORD wPid; 2127 - WCHAR szPname[MAXPNAMELEN]; 2128 - UINT wXmin; 2129 - UINT wXmax; 2130 - UINT wYmin; 2131 - UINT wYmax; 2132 - UINT wZmin; 2133 - UINT wZmax; 2134 - UINT wNumButtons; 2135 - UINT wPeriodMin; 2136 - UINT wPeriodMax; 2137 -// #if (WINVER >= 0x0400) 2138 - UINT wRmin; 2139 - UINT wRmax; 2140 - UINT wUmin; 2141 - UINT wUmax; 2142 - UINT wVmin; 2143 - UINT wVmax; 2144 - UINT wCaps; 2145 - UINT wMaxAxes; 2146 - UINT wNumAxes; 2147 - UINT wMaxButtons; 2148 - WCHAR szRegKey[MAXPNAMELEN]; 2149 - WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 2150 -// #endif 2151 -} 2152 -alias tagJOYCAPSW JOYCAPSW; 2153 -alias tagJOYCAPSW* PJOYCAPSW; 2154 -alias tagJOYCAPSW* NPJOYCAPSW; 2155 -alias tagJOYCAPSW* LPJOYCAPSW; 2156 - 2157 -// #ifdef UNICODE 2158 -alias JOYCAPSW JOYCAPS; 2159 -alias PJOYCAPSW PJOYCAPS; 2160 -alias NPJOYCAPSW NPJOYCAPS; 2161 -alias LPJOYCAPSW LPJOYCAPS; 2162 -// #else 2163 -// ... 2164 -// #endif // UNICODE 2165 -struct tagJOYCAPS2A { 2166 - WORD wMid; 2167 - WORD wPid; 2168 - CHAR szPname[MAXPNAMELEN]; 2169 - UINT wXmin; 2170 - UINT wXmax; 2171 - UINT wYmin; 2172 - UINT wYmax; 2173 - UINT wZmin; 2174 - UINT wZmax; 2175 - UINT wNumButtons; 2176 - UINT wPeriodMin; 2177 - UINT wPeriodMax; 2178 - UINT wRmin; 2179 - UINT wRmax; 2180 - UINT wUmin; 2181 - UINT wUmax; 2182 - UINT wVmin; 2183 - UINT wVmax; 2184 - UINT wCaps; 2185 - UINT wMaxAxes; 2186 - UINT wNumAxes; 2187 - UINT wMaxButtons; 2188 - CHAR szRegKey[MAXPNAMELEN]; 2189 - CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 2190 - GUID ManufacturerGuid; 2191 - GUID ProductGuid; 2192 - GUID NameGuid; 2193 -} 2194 -alias tagJOYCAPS2A JOYCAPS2A; 2195 -alias tagJOYCAPS2A* PJOYCAPS2A; 2196 -alias tagJOYCAPS2A* NPJOYCAPS2A; 2197 -alias tagJOYCAPS2A* LPJOYCAPS2A; 2198 - 2199 -struct tagJOYCAPS2W { 2200 - WORD wMid; 2201 - WORD wPid; 2202 - WCHAR szPname[MAXPNAMELEN]; 2203 - UINT wXmin; 2204 - UINT wXmax; 2205 - UINT wYmin; 2206 - UINT wYmax; 2207 - UINT wZmin; 2208 - UINT wZmax; 2209 - UINT wNumButtons; 2210 - UINT wPeriodMin; 2211 - UINT wPeriodMax; 2212 - UINT wRmin; 2213 - UINT wRmax; 2214 - UINT wUmin; 2215 - UINT wUmax; 2216 - UINT wVmin; 2217 - UINT wVmax; 2218 - UINT wCaps; 2219 - UINT wMaxAxes; 2220 - UINT wNumAxes; 2221 - UINT wMaxButtons; 2222 - WCHAR szRegKey[MAXPNAMELEN]; 2223 - WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME]; 2224 - GUID ManufacturerGuid; 2225 - GUID ProductGuid; 2226 - GUID NameGuid; 2227 -} 2228 -alias tagJOYCAPS2W JOYCAPS2W; 2229 -alias tagJOYCAPS2W* PJOYCAPS2W; 2230 -alias tagJOYCAPS2W* NPJOYCAPS2W; 2231 -alias tagJOYCAPS2W* LPJOYCAPS2W; 2232 - 2233 -// #ifdef UNICODE 2234 -alias JOYCAPS2W JOYCAPS2; 2235 -alias PJOYCAPS2W PJOYCAPS2; 2236 -alias NPJOYCAPS2W NPJOYCAPS2; 2237 -alias LPJOYCAPS2W LPJOYCAPS2; 2238 -// #else 2239 -// ... 2240 -// #endif // UNICODE 2241 - 2242 -// #else 2243 -// ... 2244 -// #if (WINVER >= 0x0400) 2245 -// ... 2246 -// #endif 2247 -// ... 2248 -// #endif 2249 - 2250 -struct joyinfo_tag { 2251 - UINT wXpos; 2252 - UINT wYpos; 2253 - UINT wZpos; 2254 - UINT wButtons; 2255 -} 2256 -alias joyinfo_tag JOYINFO; 2257 -alias joyinfo_tag* PJOYINFO; 2258 -alias joyinfo_tag* NPJOYINFO; 2259 -alias joyinfo_tag* LPJOYINFO; 2260 - 2261 -// #if(WINVER >= 0x0400) 2262 -struct joyinfoex_tag { 2263 - DWORD dwSize; 2264 - DWORD dwFlags; 2265 - DWORD dwXpos; 2266 - DWORD dwYpos; 2267 - DWORD dwZpos; 2268 - DWORD dwRpos; 2269 - DWORD dwUpos; 2270 - DWORD dwVpos; 2271 - DWORD dwButtons; 2272 - DWORD dwButtonNumber; 2273 - DWORD dwPOV; 2274 - DWORD dwReserved1; 2275 - DWORD dwReserved2; 2276 -} 2277 -alias joyinfoex_tag JOYINFOEX; 2278 -alias joyinfoex_tag* PJOYINFOEX; 2279 -alias joyinfoex_tag* NPJOYINFOEX; 2280 -alias joyinfoex_tag* LPJOYINFOEX; 2281 - 2282 -// #endif /* WINVER >= 0x0400 */ 2283 - 2284 -extern(Windows) export UINT joyGetNumDevs(); 2285 -// #ifdef _WIN32 2286 - 2287 -extern(Windows) export MMRESULT joyGetDevCapsA(UINT_PTR uJoyID, LPJOYCAPSA pjc, UINT cbjc); 2288 -extern(Windows) export MMRESULT joyGetDevCapsW(UINT_PTR uJoyID, LPJOYCAPSW pjc, UINT cbjc); 2289 -// #ifdef UNICODE 2290 -alias joyGetDevCapsW joyGetDevCaps; 2291 -// #else 2292 -// #... 2293 -// #endif // !UNICODE 2294 - 2295 -// #else 2296 -// ... 2297 -// #endif 2298 -extern(Windows) export MMRESULT joyGetPos(UINT uJoyID, LPJOYINFO pji); 2299 - 2300 -// #if(WINVER >= 0x0400) 2301 -extern(Windows) export MMRESULT joyGetPosEx(UINT uJoyID, LPJOYINFOEX pji); 2302 -// #endif /* WINVER >= 0x0400 */ 2303 - 2304 -extern(Windows) export MMRESULT joyGetThreshold(UINT uJoyID, LPUINT puThreshold); 2305 -extern(Windows) export MMRESULT joyReleaseCapture(UINT uJoyID); 2306 -extern(Windows) export MMRESULT joySetCapture(HWND hwnd, UINT uJoyID, UINT uPeriod, 2307 - BOOL fChanged); 2308 -extern(Windows) export MMRESULT joySetThreshold(UINT uJoyID, UINT uThreshold); 2309 - 2310 -// #endif /* ifndef MMNOJOY */ 2311 - 2312 -// #ifndef MMNOMMIO 2313 - 2314 -enum : uint { MMIOERR_BASE = 256 } 2315 -enum : uint { MMIOERR_FILENOTFOUND = MMIOERR_BASE + 1 } 2316 -enum : uint { MMIOERR_OUTOFMEMORY = MMIOERR_BASE + 2 } 2317 -enum : uint { MMIOERR_CANNOTOPEN = MMIOERR_BASE + 3 } 2318 -enum : uint { MMIOERR_CANNOTCLOSE = MMIOERR_BASE + 4 } 2319 -enum : uint { MMIOERR_CANNOTREAD = MMIOERR_BASE + 5 } 2320 -enum : uint { MMIOERR_CANNOTWRITE = MMIOERR_BASE + 6 } 2321 -enum : uint { MMIOERR_CANNOTSEEK = MMIOERR_BASE + 7 } 2322 -enum : uint { MMIOERR_CANNOTEXPAND = MMIOERR_BASE + 8 } 2323 -enum : uint { MMIOERR_CHUNKNOTFOUND = MMIOERR_BASE + 9 } 2324 -enum : uint { MMIOERR_UNBUFFERED = MMIOERR_BASE + 10 } 2325 -enum : uint { MMIOERR_PATHNOTFOUND = MMIOERR_BASE + 11 } 2326 -enum : uint { MMIOERR_ACCESSDENIED = MMIOERR_BASE + 12 } 2327 -enum : uint { MMIOERR_SHARINGVIOLATION = MMIOERR_BASE + 13 } 2328 -enum : uint { MMIOERR_NETWORKERROR = MMIOERR_BASE + 14 } 2329 -enum : uint { MMIOERR_TOOMANYOPENFILES = MMIOERR_BASE + 15 } 2330 -enum : uint { MMIOERR_INVALIDFILE = MMIOERR_BASE + 16 } 2331 - 2332 -const char CFSEPCHAR = '+'; 2333 - 2334 -alias DWORD FOURCC; 2335 -alias char* HPSTR; 2336 -alias void* HMMIO; 2337 -// typedef LRESULT (CALLBACK MMIOPROC)(LPSTR lpmmioinfo, UINT uMsg, LPARAM lParam1, LPARAM lParam2); 2338 -extern(Windows) alias LRESULT function(LPSTR lpmmioinfo, UINT uMsg, LPARAM lParam1, LPARAM lParam2) LPMMIOPROC; 2339 - 2340 -struct _MMIOINFO { 2341 - 2342 - DWORD dwFlags; 2343 - FOURCC fccIOProc; 2344 - LPMMIOPROC pIOProc; 2345 - UINT wErrorRet; 2346 - HTASK htask; 2347 - 2348 - LONG cchBuffer; 2349 - HPSTR pchBuffer; 2350 - HPSTR pchNext; 2351 - HPSTR pchEndRead; 2352 - HPSTR pchEndWrite; 2353 - LONG lBufOffset; 2354 - 2355 - LONG lDiskOffset; 2356 - DWORD adwInfo[3]; 2357 - 2358 - DWORD dwReserved1; 2359 - DWORD dwReserved2; 2360 - HMMIO hmmio; 2361 -} 2362 -alias _MMIOINFO MMIOINFO; 2363 -alias _MMIOINFO* PMMIOINFO; 2364 -alias _MMIOINFO* NPMMIOINFO; 2365 -alias _MMIOINFO* LPMMIOINFO; 2366 - 2367 -alias MMIOINFO* LPCMMIOINFO; 2368 - 2369 -struct _MMCKINFO { 2370 - FOURCC ckid; 2371 - DWORD cksize; 2372 - FOURCC fccType; 2373 - DWORD dwDataOffset; 2374 - DWORD dwFlags; 2375 -} 2376 -alias _MMCKINFO MMCKINFO; 2377 -alias _MMCKINFO* PMMCKINFO; 2378 -alias _MMCKINFO* NPMMCKINFO; 2379 -alias _MMCKINFO* LPMMCKINFO; 2380 - 2381 -alias MMCKINFO* LPCMMCKINFO; 2382 - 2383 -enum : uint { MMIO_RWMODE = 0x00000003 } 2384 -enum : uint { MMIO_SHAREMODE = 0x00000070 } 2385 - 2386 -enum : uint { MMIO_CREATE = 0x00001000 } 2387 -enum : uint { MMIO_PARSE = 0x00000100 } 2388 -enum : uint { MMIO_DELETE = 0x00000200 } 2389 -enum : uint { MMIO_EXIST = 0x00004000 } 2390 -enum : uint { MMIO_ALLOCBUF = 0x00010000 } 2391 -enum : uint { MMIO_GETTEMP = 0x00020000 } 2392 - 2393 -enum : uint { MMIO_DIRTY = 0x10000000 } 2394 - 2395 -enum : uint { MMIO_READ = 0x00000000 } 2396 -enum : uint { MMIO_WRITE = 0x00000001 } 2397 -enum : uint { MMIO_READWRITE = 0x00000002 } 2398 - 2399 -enum : uint { MMIO_COMPAT = 0x00000000 } 2400 -enum : uint { MMIO_EXCLUSIVE = 0x00000010 } 2401 -enum : uint { MMIO_DENYWRITE = 0x00000020 } 2402 -enum : uint { MMIO_DENYREAD = 0x00000030 } 2403 -enum : uint { MMIO_DENYNONE = 0x00000040 } 2404 - 2405 -enum : uint { MMIO_FHOPEN = 0x0010 } 2406 -enum : uint { MMIO_EMPTYBUF = 0x0010 } 2407 -enum : uint { MMIO_TOUPPER = 0x0010 } 2408 -enum : uint { MMIO_INSTALLPROC = 0x00010000 } 2409 -enum : uint { MMIO_GLOBALPROC = 0x10000000 } 2410 -enum : uint { MMIO_REMOVEPROC = 0x00020000 } 2411 -enum : uint { MMIO_UNICODEPROC = 0x01000000 } 2412 -enum : uint { MMIO_FINDPROC = 0x00040000 } 2413 -enum : uint { MMIO_FINDCHUNK = 0x0010 } 2414 -enum : uint { MMIO_FINDRIFF = 0x0020 } 2415 -enum : uint { MMIO_FINDLIST = 0x0040 } 2416 -enum : uint { MMIO_CREATERIFF = 0x0020 } 2417 -enum : uint { MMIO_CREATELIST = 0x0040 } 2418 - 2419 -alias MMIO_READ MMIOM_READ; 2420 -alias MMIO_WRITE MMIOM_WRITE; 2421 -enum : uint { MMIOM_SEEK = 2 } 2422 -enum : uint { MMIOM_OPEN = 3 } 2423 -enum : uint { MMIOM_CLOSE = 4 } 2424 -enum : uint { MMIOM_WRITEFLUSH = 5 } 2425 - 2426 -// #if (WINVER >= 0x030a) 2427 -enum : uint { MMIOM_RENAME = 6 } 2428 -// #endif /* ifdef WINVER >= 0x030a */ 2429 - 2430 -enum : uint { MMIOM_USER = 0x8000 } 2431 - 2432 -// #define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F') 2433 -// #define FOURCC_LIST mmioFOURCC('L', 'I', 'S', 'T') 2434 - 2435 -// #define FOURCC_DOS mmioFOURCC('D', 'O', 'S', ' ') 2436 -// #define FOURCC_MEM mmioFOURCC('M', 'E', 'M', ' ') 2437 - 2438 -// #ifndef SEEK_SET 2439 -enum : uint { SEEK_SET = 0 } 2440 -enum : uint { SEEK_CUR = 1 } 2441 -enum : uint { SEEK_END = 2 } 2442 -// #endif /* ifndef SEEK_SET */ 2443 - 2444 -enum : uint { MMIO_DEFAULTBUFFER = 8192 } 2445 - 2446 -// #define mmioFOURCC(ch0, ch1, ch2, ch3) MAKEFOURCC(ch0, ch1, ch2, ch3) 2447 - 2448 -// #ifdef _WIN32 2449 - 2450 -extern(Windows) export FOURCC mmioStringToFOURCCA(LPCSTR sz, UINT uFlags); 2451 -extern(Windows) export FOURCC mmioStringToFOURCCW(LPCWSTR sz, UINT uFlags); 2452 -// #ifdef UNICODE 2453 -alias mmioStringToFOURCCW mmioStringToFOURCC; 2454 -// #else 2455 -// #... 2456 -// #endif // !UNICODE 2457 -extern(Windows) export LPMMIOPROC mmioInstallIOProcA(FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags); 2458 -extern(Windows) export LPMMIOPROC mmioInstallIOProcW(FOURCC fccIOProc, LPMMIOPROC pIOProc, DWORD dwFlags); 2459 -// #ifdef UNICODE 2460 -alias mmioInstallIOProcW mmioInstallIOProc; 2461 -// #else 2462 -// #... 2463 -// #endif // !UNICODE 2464 -extern(Windows) export HMMIO mmioOpenA(LPSTR pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen); 2465 -extern(Windows) export HMMIO mmioOpenW(LPWSTR pszFileName, LPMMIOINFO pmmioinfo, DWORD fdwOpen); 2466 -// #ifdef UNICODE 2467 -alias mmioOpenW mmioOpen; 2468 -// #else 2469 -// #... 2470 -// #endif // !UNICODE 2471 -extern(Windows) export MMRESULT mmioRenameA(LPCSTR pszFileName, LPCSTR pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename); 2472 -extern(Windows) export MMRESULT mmioRenameW(LPCWSTR pszFileName, LPCWSTR pszNewFileName, LPCMMIOINFO pmmioinfo, DWORD fdwRename); 2473 -// #ifdef UNICODE 2474 -alias mmioRenameW mmioRename; 2475 -// #else 2476 -// #... 2477 -// #endif // !UNICODE 2478 -// #else 2479 -// ... 2480 -// #if (WINVER >= 0x030a) 2481 -// ... 2482 -// #endif /* ifdef WINVER >= 0x030a */ 2483 -// #endif 2484 - 2485 -extern(Windows) export MMRESULT mmioClose(HMMIO hmmio, UINT fuClose); 2486 -extern(Windows) export LONG mmioRead(HMMIO hmmio, HPSTR pch, LONG cch); 2487 -extern(Windows) export LONG mmioWrite(HMMIO hmmio, char * pch, LONG cch); 2488 -extern(Windows) export LONG mmioSeek(HMMIO hmmio, LONG lOffset, int iOrigin); 2489 -extern(Windows) export MMRESULT mmioGetInfo(HMMIO hmmio, LPMMIOINFO pmmioinfo, UINT fuInfo); 2490 -extern(Windows) export MMRESULT mmioSetInfo(HMMIO hmmio, LPCMMIOINFO pmmioinfo, UINT fuInfo); 2491 -extern(Windows) export MMRESULT mmioSetBuffer(HMMIO hmmio, LPSTR pchBuffer, LONG cchBuffer, 2492 - UINT fuBuffer); 2493 -extern(Windows) export MMRESULT mmioFlush(HMMIO hmmio, UINT fuFlush); 2494 -extern(Windows) export MMRESULT mmioAdvance(HMMIO hmmio, LPMMIOINFO pmmioinfo, UINT fuAdvance); 2495 -extern(Windows) export LRESULT mmioSendMessage(HMMIO hmmio, UINT uMsg, 2496 - LPARAM lParam1, LPARAM lParam2); 2497 -extern(Windows) export MMRESULT mmioDescend(HMMIO hmmio, LPMMCKINFO pmmcki, 2498 - MMCKINFO * pmmckiParent, UINT fuDescend); 2499 -extern(Windows) export MMRESULT mmioAscend(HMMIO hmmio, LPMMCKINFO pmmcki, UINT fuAscend); 2500 -extern(Windows) export MMRESULT mmioCreateChunk(HMMIO hmmio, LPMMCKINFO pmmcki, UINT fuCreate); 2501 - 2502 -// #endif /* ifndef MMNOMMIO */ 2503 - 2504 -// #ifndef MMNOMCI 2505 - 2506 -// #ifndef _MCIERROR_ /* MCIERROR is defined in some post 3.1 apps */ 2507 -// #define _MCIERROR_ 2508 -alias DWORD MCIERROR; 2509 -// #endif 2510 - 2511 -// #ifndef _MCIDEVICEID_ /* Same with MCIDEVICEID */ 2512 -// #define _MCIDEVICEID_ 2513 -alias UINT MCIDEVICEID; 2514 -// #endif 2515 - 2516 -extern(Windows) alias UINT function(MCIDEVICEID mciId, DWORD dwYieldData) YIELDPROC; 2517 - 2518 -// #ifdef _WIN32 2519 - 2520 -extern(Windows) export MCIERROR mciSendCommandA(MCIDEVICEID mciId, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2); 2521 -extern(Windows) export MCIERROR mciSendCommandW(MCIDEVICEID mciId, UINT uMsg, DWORD_PTR dwParam1, DWORD_PTR dwParam2); 2522 -// #ifdef UNICODE 2523 -alias mciSendCommandW mciSendCommand; 2524 -// #else 2525 -// #... 2526 -// #endif // !UNICODE 2527 -extern(Windows) export MCIERROR mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrReturnString, UINT uReturnLength, HWND hwndCallback); 2528 -extern(Windows) export MCIERROR mciSendStringW(LPCWSTR lpstrCommand, LPWSTR lpstrReturnString, UINT uReturnLength, HWND hwndCallback); 2529 -// #ifdef UNICODE 2530 -alias mciSendStringW mciSendString; 2531 -// #else 2532 -// #... 2533 -// #endif // !UNICODE 2534 -extern(Windows) export MCIDEVICEID mciGetDeviceIDA(LPCSTR pszDevice); 2535 -extern(Windows) export MCIDEVICEID mciGetDeviceIDW(LPCWSTR pszDevice); 2536 -// #ifdef UNICODE 2537 -alias mciGetDeviceIDW mciGetDeviceID; 2538 -// #else 2539 -// #... 2540 -// #endif // !UNICODE 2541 -extern(Windows) export MCIDEVICEID mciGetDeviceIDFromElementIDA(DWORD dwElementID, LPCSTR lpstrType ); 2542 -extern(Windows) export MCIDEVICEID mciGetDeviceIDFromElementIDW(DWORD dwElementID, LPCWSTR lpstrType ); 2543 -// #ifdef UNICODE 2544 -alias mciGetDeviceIDFromElementIDW mciGetDeviceIDFromElementID; 2545 -// #else 2546 -// #... 2547 -// #endif // !UNICODE 2548 -extern(Windows) export BOOL mciGetErrorStringA(MCIERROR mcierr, LPSTR pszText, UINT cchText); 2549 -extern(Windows) export BOOL mciGetErrorStringW(MCIERROR mcierr, LPWSTR pszText, UINT cchText); 2550 -// #ifdef UNICODE 2551 -alias mciGetErrorStringW mciGetErrorString; 2552 -// #else 2553 -// #... 2554 -// #endif // !UNICODE 2555 - 2556 -// #else 2557 -// ... 2558 -// #endif 2559 - 2560 -extern(Windows) export BOOL mciSetYieldProc(MCIDEVICEID mciId, YIELDPROC fpYieldProc, 2561 - DWORD dwYieldData); 2562 - 2563 -// #if (WINVER >= 0x030a) 2564 -extern(Windows) export HTASK mciGetCreatorTask(MCIDEVICEID mciId); 2565 -extern(Windows) export YIELDPROC mciGetYieldProc(MCIDEVICEID mciId, LPDWORD pdwYieldData); 2566 -// #endif /* ifdef WINVER >= 0x030a */ 2567 - 2568 -// #if (WINVER < 0x030a) 2569 -// ... 2570 -// #endif /* ifdef WINVER < 0x030a */ 2571 - 2572 -enum : uint { MCIERR_INVALID_DEVICE_ID = MCIERR_BASE + 1 } 2573 -enum : uint { MCIERR_UNRECOGNIZED_KEYWORD = MCIERR_BASE + 3 } 2574 -enum : uint { MCIERR_UNRECOGNIZED_COMMAND = MCIERR_BASE + 5 } 2575 -enum : uint { MCIERR_HARDWARE = MCIERR_BASE + 6 } 2576 -enum : uint { MCIERR_INVALID_DEVICE_NAME = MCIERR_BASE + 7 } 2577 -enum : uint { MCIERR_OUT_OF_MEMORY = MCIERR_BASE + 8 } 2578 -enum : uint { MCIERR_DEVICE_OPEN = MCIERR_BASE + 9 } 2579 -enum : uint { MCIERR_CANNOT_LOAD_DRIVER = MCIERR_BASE + 10 } 2580 -enum : uint { MCIERR_MISSING_COMMAND_STRING = MCIERR_BASE + 11 } 2581 -enum : uint { MCIERR_PARAM_OVERFLOW = MCIERR_BASE + 12 } 2582 -enum : uint { MCIERR_MISSING_STRING_ARGUMENT = MCIERR_BASE + 13 } 2583 -enum : uint { MCIERR_BAD_INTEGER = MCIERR_BASE + 14 } 2584 -enum : uint { MCIERR_PARSER_INTERNAL = MCIERR_BASE + 15 } 2585 -enum : uint { MCIERR_DRIVER_INTERNAL = MCIERR_BASE + 16 } 2586 -enum : uint { MCIERR_MISSING_PARAMETER = MCIERR_BASE + 17 } 2587 -enum : uint { MCIERR_UNSUPPORTED_FUNCTION = MCIERR_BASE + 18 } 2588 -enum : uint { MCIERR_FILE_NOT_FOUND = MCIERR_BASE + 19 } 2589 -enum : uint { MCIERR_DEVICE_NOT_READY = MCIERR_BASE + 20 } 2590 -enum : uint { MCIERR_INTERNAL = MCIERR_BASE + 21 } 2591 -enum : uint { MCIERR_DRIVER = MCIERR_BASE + 22 } 2592 -enum : uint { MCIERR_CANNOT_USE_ALL = MCIERR_BASE + 23 } 2593 -enum : uint { MCIERR_MULTIPLE = MCIERR_BASE + 24 } 2594 -enum : uint { MCIERR_EXTENSION_NOT_FOUND = MCIERR_BASE + 25 } 2595 -enum : uint { MCIERR_OUTOFRANGE = MCIERR_BASE + 26 } 2596 -enum : uint { MCIERR_FLAGS_NOT_COMPATIBLE = MCIERR_BASE + 28 } 2597 -enum : uint { MCIERR_FILE_NOT_SAVED = MCIERR_BASE + 30 } 2598 -enum : uint { MCIERR_DEVICE_TYPE_REQUIRED = MCIERR_BASE + 31 } 2599 -enum : uint { MCIERR_DEVICE_LOCKED = MCIERR_BASE + 32 } 2600 -enum : uint { MCIERR_DUPLICATE_ALIAS = MCIERR_BASE + 33 } 2601 -enum : uint { MCIERR_BAD_CONSTANT = MCIERR_BASE + 34 } 2602 -enum : uint { MCIERR_MUST_USE_SHAREABLE = MCIERR_BASE + 35 } 2603 -enum : uint { MCIERR_MISSING_DEVICE_NAME = MCIERR_BASE + 36 } 2604 -enum : uint { MCIERR_BAD_TIME_FORMAT = MCIERR_BASE + 37 } 2605 -enum : uint { MCIERR_NO_CLOSING_QUOTE = MCIERR_BASE + 38 } 2606 -enum : uint { MCIERR_DUPLICATE_FLAGS = MCIERR_BASE + 39 } 2607 -enum : uint { MCIERR_INVALID_FILE = MCIERR_BASE + 40 } 2608 -enum : uint { MCIERR_NULL_PARAMETER_BLOCK = MCIERR_BASE + 41 } 2609 -enum : uint { MCIERR_UNNAMED_RESOURCE = MCIERR_BASE + 42 } 2610 -enum : uint { MCIERR_NEW_REQUIRES_ALIAS = MCIERR_BASE + 43 } 2611 -enum : uint { MCIERR_NOTIFY_ON_AUTO_OPEN = MCIERR_BASE + 44 } 2612 -enum : uint { MCIERR_NO_ELEMENT_ALLOWED = MCIERR_BASE + 45 } 2613 -enum : uint { MCIERR_NONAPPLICABLE_FUNCTION = MCIERR_BASE + 46 } 2614 -enum : uint { MCIERR_ILLEGAL_FOR_AUTO_OPEN = MCIERR_BASE + 47 } 2615 -enum : uint { MCIERR_FILENAME_REQUIRED = MCIERR_BASE + 48 } 2616 -enum : uint { MCIERR_EXTRA_CHARACTERS = MCIERR_BASE + 49 } 2617 -enum : uint { MCIERR_DEVICE_NOT_INSTALLED = MCIERR_BASE + 50 } 2618 -enum : uint { MCIERR_GET_CD = MCIERR_BASE + 51 } 2619 -enum : uint { MCIERR_SET_CD = MCIERR_BASE + 52 } 2620 -enum : uint { MCIERR_SET_DRIVE = MCIERR_BASE + 53 } 2621 -enum : uint { MCIERR_DEVICE_LENGTH = MCIERR_BASE + 54 } 2622 -enum : uint { MCIERR_DEVICE_ORD_LENGTH = MCIERR_BASE + 55 } 2623 -enum : uint { MCIERR_NO_INTEGER = MCIERR_BASE + 56 } 2624 - 2625 -enum : uint { MCIERR_WAVE_OUTPUTSINUSE = MCIERR_BASE + 64 } 2626 -enum : uint { MCIERR_WAVE_SETOUTPUTINUSE = MCIERR_BASE + 65 } 2627 -enum : uint { MCIERR_WAVE_INPUTSINUSE = MCIERR_BASE + 66 } 2628 -enum : uint { MCIERR_WAVE_SETINPUTINUSE = MCIERR_BASE + 67 } 2629 -enum : uint { MCIERR_WAVE_OUTPUTUNSPECIFIED = MCIERR_BASE + 68 } 2630 -enum : uint { MCIERR_WAVE_INPUTUNSPECIFIED = MCIERR_BASE + 69 } 2631 -enum : uint { MCIERR_WAVE_OUTPUTSUNSUITABLE = MCIERR_BASE + 70 } 2632 -enum : uint { MCIERR_WAVE_SETOUTPUTUNSUITABLE = MCIERR_BASE + 71 } 2633 -enum : uint { MCIERR_WAVE_INPUTSUNSUITABLE = MCIERR_BASE + 72 } 2634 -enum : uint { MCIERR_WAVE_SETINPUTUNSUITABLE = MCIERR_BASE + 73 } 2635 - 2636 -enum : uint { MCIERR_SEQ_DIV_INCOMPATIBLE = MCIERR_BASE + 80 } 2637 -enum : uint { MCIERR_SEQ_PORT_INUSE = MCIERR_BASE + 81 } 2638 -enum : uint { MCIERR_SEQ_PORT_NONEXISTENT = MCIERR_BASE + 82 } 2639 -enum : uint { MCIERR_SEQ_PORT_MAPNODEVICE = MCIERR_BASE + 83 } 2640 -enum : uint { MCIERR_SEQ_PORT_MISCERROR = MCIERR_BASE + 84 } 2641 -enum : uint { MCIERR_SEQ_TIMER = MCIERR_BASE + 85 } 2642 -enum : uint { MCIERR_SEQ_PORTUNSPECIFIED = MCIERR_BASE + 86 } 2643 -enum : uint { MCIERR_SEQ_NOMIDIPRESENT = MCIERR_BASE + 87 } 2644 - 2645 -enum : uint { MCIERR_NO_WINDOW = MCIERR_BASE + 90 } 2646 -enum : uint { MCIERR_CREATEWINDOW = MCIERR_BASE + 91 } 2647 -enum : uint { MCIERR_FILE_READ = MCIERR_BASE + 92 } 2648 -enum : uint { MCIERR_FILE_WRITE = MCIERR_BASE + 93 } 2649 - 2650 -enum : uint { MCIERR_NO_IDENTITY = MCIERR_BASE + 94 } 2651 - 2652 -enum : uint { MCIERR_CUSTOM_DRIVER_BASE = MCIERR_BASE + 256 } 2653 - 2654 -alias DRV_MCI_FIRST MCI_FIRST; 2655 - 2656 -enum : uint { MCI_OPEN = 0x0803 } 2657 -enum : uint { MCI_CLOSE = 0x0804 } 2658 -enum : uint { MCI_ESCAPE = 0x0805 } 2659 -enum : uint { MCI_PLAY = 0x0806 } 2660 -enum : uint { MCI_SEEK = 0x0807 } 2661 -enum : uint { MCI_STOP = 0x0808 } 2662 -enum : uint { MCI_PAUSE = 0x0809 } 2663 -enum : uint { MCI_INFO = 0x080A } 2664 -enum : uint { MCI_GETDEVCAPS = 0x080B } 2665 -enum : uint { MCI_SPIN = 0x080C } 2666 -enum : uint { MCI_SET = 0x080D } 2667 -enum : uint { MCI_STEP = 0x080E } 2668 -enum : uint { MCI_RECORD = 0x080F } 2669 -enum : uint { MCI_SYSINFO = 0x0810 } 2670 -enum : uint { MCI_BREAK = 0x0811 } 2671 -enum : uint { MCI_SAVE = 0x0813 } 2672 -enum : uint { MCI_STATUS = 0x0814 } 2673 -enum : uint { MCI_CUE = 0x0830 } 2674 -enum : uint { MCI_REALIZE = 0x0840 } 2675 -enum : uint { MCI_WINDOW = 0x0841 } 2676 -enum : uint { MCI_PUT = 0x0842 } 2677 -enum : uint { MCI_WHERE = 0x0843 } 2678 -enum : uint { MCI_FREEZE = 0x0844 } 2679 -enum : uint { MCI_UNFREEZE = 0x0845 } 2680 -enum : uint { MCI_LOAD = 0x0850 } 2681 -enum : uint { MCI_CUT = 0x0851 } 2682 -enum : uint { MCI_COPY = 0x0852 } 2683 -enum : uint { MCI_PASTE = 0x0853 } 2684 -enum : uint { MCI_UPDATE = 0x0854 } 2685 -enum : uint { MCI_RESUME = 0x0855 } 2686 -enum : uint { MCI_DELETE = 0x0856 } 2687 - 2688 -enum : uint { MCI_USER_MESSAGES = DRV_MCI_FIRST + 0x400 } 2689 -enum : uint { MCI_LAST = 0x0FFF } 2690 - 2691 -enum : uint { MCI_ALL_DEVICE_ID = cast(MCIDEVICEID)-1 } 2692 - 2693 -enum : uint { MCI_DEVTYPE_VCR = 513 } 2694 -enum : uint { MCI_DEVTYPE_VIDEODISC = 514 } 2695 -enum : uint { MCI_DEVTYPE_OVERLAY = 515 } 2696 -enum : uint { MCI_DEVTYPE_CD_AUDIO = 516 } 2697 -enum : uint { MCI_DEVTYPE_DAT = 517 } 2698 -enum : uint { MCI_DEVTYPE_SCANNER = 518 } 2699 -enum : uint { MCI_DEVTYPE_ANIMATION = 519 } 2700 -enum : uint { MCI_DEVTYPE_DIGITAL_VIDEO = 520 } 2701 -enum : uint { MCI_DEVTYPE_OTHER = 521 } 2702 -enum : uint { MCI_DEVTYPE_WAVEFORM_AUDIO = 522 } 2703 -enum : uint { MCI_DEVTYPE_SEQUENCER = 523 } 2704 - 2705 -alias MCI_DEVTYPE_VCR MCI_DEVTYPE_FIRST; 2706 -alias MCI_DEVTYPE_SEQUENCER MCI_DEVTYPE_LAST; 2707 - 2708 -enum : uint { MCI_DEVTYPE_FIRST_USER = 0x1000 } 2709 - 2710 -enum : uint { MCI_MODE_NOT_READY = MCI_STRING_OFFSET + 12 } 2711 -enum : uint { MCI_MODE_STOP = MCI_STRING_OFFSET + 13 } 2712 -enum : uint { MCI_MODE_PLAY = MCI_STRING_OFFSET + 14 } 2713 -enum : uint { MCI_MODE_RECORD = MCI_STRING_OFFSET + 15 } 2714 -enum : uint { MCI_MODE_SEEK = MCI_STRING_OFFSET + 16 } 2715 -enum : uint { MCI_MODE_PAUSE = MCI_STRING_OFFSET + 17 } 2716 -enum : uint { MCI_MODE_OPEN = MCI_STRING_OFFSET + 18 } 2717 - 2718 -enum : uint { MCI_FORMAT_MILLISECONDS = 0 } 2719 -enum : uint { MCI_FORMAT_HMS = 1 } 2720 -enum : uint { MCI_FORMAT_MSF = 2 } 2721 -enum : uint { MCI_FORMAT_FRAMES = 3 } 2722 -enum : uint { MCI_FORMAT_SMPTE_24 = 4 } 2723 -enum : uint { MCI_FORMAT_SMPTE_25 = 5 } 2724 -enum : uint { MCI_FORMAT_SMPTE_30 = 6 } 2725 -enum : uint { MCI_FORMAT_SMPTE_30DROP = 7 } 2726 -enum : uint { MCI_FORMAT_BYTES = 8 } 2727 -enum : uint { MCI_FORMAT_SAMPLES = 9 } 2728 -enum : uint { MCI_FORMAT_TMSF = 10 } 2729 - 2730 -// #define MCI_MSF_MINUTE(msf) ((BYTE)(msf)) 2731 -// #define MCI_MSF_SECOND(msf) ((BYTE)(((WORD)(msf)) >> 8)) 2732 -// #define MCI_MSF_FRAME(msf) ((BYTE)((msf)>>16)) 2733 - 2734 -// #define MCI_MAKE_MSF(m, s, f) ((DWORD)(((BYTE)(m) | ((WORD)(s)<<8)) | (((DWORD)(BYTE)(f))<<16))) 2735 - 2736 -// #define MCI_TMSF_TRACK(tmsf) ((BYTE)(tmsf)) 2737 -// #define MCI_TMSF_MINUTE(tmsf) ((BYTE)(((WORD)(tmsf)) >> 8)) 2738 -// #define MCI_TMSF_SECOND(tmsf) ((BYTE)((tmsf)>>16)) 2739 -// #define MCI_TMSF_FRAME(tmsf) ((BYTE)((tmsf)>>24)) 2740 - 2741 -// #define MCI_MAKE_TMSF(t, m, s, f) ((DWORD)(((BYTE)(t) | ((WORD)(m)<<8)) | (((DWORD)(BYTE)(s) | ((WORD)(f)<<8))<<16))) 2742 - 2743 -// #define MCI_HMS_HOUR(hms) ((BYTE)(hms)) 2744 -// #define MCI_HMS_MINUTE(hms) ((BYTE)(((WORD)(hms)) >> 8)) 2745 -// #define MCI_HMS_SECOND(hms) ((BYTE)((hms)>>16)) 2746 - 2747 -// #define MCI_MAKE_HMS(h, m, s) ((DWORD)(((BYTE)(h) | ((WORD)(m)<<8)) | (((DWORD)(BYTE)(s))<<16))) 2748 - 2749 -enum : uint { MCI_NOTIFY_SUCCESSFUL = 0x0001 } 2750 -enum : uint { MCI_NOTIFY_SUPERSEDED = 0x0002 } 2751 -enum : uint { MCI_NOTIFY_ABORTED = 0x0004 } 2752 -enum : uint { MCI_NOTIFY_FAILURE = 0x0008 } 2753 - 2754 -enum : uint { MCI_NOTIFY = 0x00000001 } 2755 -enum : uint { MCI_WAIT = 0x00000002 } 2756 -enum : uint { MCI_FROM = 0x00000004 } 2757 -enum : uint { MCI_TO = 0x00000008 } 2758 -enum : uint { MCI_TRACK = 0x00000010 } 2759 - 2760 -enum : uint { MCI_OPEN_SHAREABLE = 0x00000100 } 2761 -enum : uint { MCI_OPEN_ELEMENT = 0x00000200 } 2762 -enum : uint { MCI_OPEN_ALIAS = 0x00000400 } 2763 -enum : uint { MCI_OPEN_ELEMENT_ID = 0x00000800 } 2764 -enum : uint { MCI_OPEN_TYPE_ID = 0x00001000 } 2765 -enum : uint { MCI_OPEN_TYPE = 0x00002000 } 2766 - 2767 -enum : uint { MCI_SEEK_TO_START = 0x00000100 } 2768 -enum : uint { MCI_SEEK_TO_END = 0x00000200 } 2769 - 2770 -enum : uint { MCI_STATUS_ITEM = 0x00000100 } 2771 -enum : uint { MCI_STATUS_START = 0x00000200 } 2772 - 2773 -enum : uint { MCI_STATUS_LENGTH = 0x00000001 } 2774 -enum : uint { MCI_STATUS_POSITION = 0x00000002 } 2775 -enum : uint { MCI_STATUS_NUMBER_OF_TRACKS = 0x00000003 } 2776 -enum : uint { MCI_STATUS_MODE = 0x00000004 } 2777 -enum : uint { MCI_STATUS_MEDIA_PRESENT = 0x00000005 } 2778 -enum : uint { MCI_STATUS_TIME_FORMAT = 0x00000006 } 2779 -enum : uint { MCI_STATUS_READY = 0x00000007 } 2780 -enum : uint { MCI_STATUS_CURRENT_TRACK = 0x00000008 } 2781 - 2782 -enum : uint { MCI_INFO_PRODUCT = 0x00000100 } 2783 -enum : uint { MCI_INFO_FILE = 0x00000200 } 2784 -enum : uint { MCI_INFO_MEDIA_UPC = 0x00000400 } 2785 -enum : uint { MCI_INFO_MEDIA_IDENTITY = 0x00000800 } 2786 -enum : uint { MCI_INFO_NAME = 0x00001000 } 2787 -enum : uint { MCI_INFO_COPYRIGHT = 0x00002000 } 2788 - 2789 -enum : uint { MCI_GETDEVCAPS_ITEM = 0x00000100 } 2790 - 2791 -enum : uint { MCI_GETDEVCAPS_CAN_RECORD = 0x00000001 } 2792 -enum : uint { MCI_GETDEVCAPS_HAS_AUDIO = 0x00000002 } 2793 -enum : uint { MCI_GETDEVCAPS_HAS_VIDEO = 0x00000003 } 2794 -enum : uint { MCI_GETDEVCAPS_DEVICE_TYPE = 0x00000004 } 2795 -enum : uint { MCI_GETDEVCAPS_USES_FILES = 0x00000005 } 2796 -enum : uint { MCI_GETDEVCAPS_COMPOUND_DEVICE = 0x00000006 } 2797 -enum : uint { MCI_GETDEVCAPS_CAN_EJECT = 0x00000007 } 2798 -enum : uint { MCI_GETDEVCAPS_CAN_PLAY = 0x00000008 } 2799 -enum : uint { MCI_GETDEVCAPS_CAN_SAVE = 0x00000009 } 2800 - 2801 -enum : uint { MCI_SYSINFO_QUANTITY = 0x00000100 } 2802 -enum : uint { MCI_SYSINFO_OPEN = 0x00000200 } 2803 -enum : uint { MCI_SYSINFO_NAME = 0x00000400 } 2804 -enum : uint { MCI_SYSINFO_INSTALLNAME = 0x00000800 } 2805 - 2806 -enum : uint { MCI_SET_DOOR_OPEN = 0x00000100 } 2807 -enum : uint { MCI_SET_DOOR_CLOSED = 0x00000200 } 2808 -enum : uint { MCI_SET_TIME_FORMAT = 0x00000400 } 2809 -enum : uint { MCI_SET_AUDIO = 0x00000800 } 2810 -enum : uint { MCI_SET_VIDEO = 0x00001000 } 2811 -enum : uint { MCI_SET_ON = 0x00002000 } 2812 -enum : uint { MCI_SET_OFF = 0x00004000 } 2813 - 2814 -enum : uint { MCI_SET_AUDIO_ALL = 0x00000000 } 2815 -enum : uint { MCI_SET_AUDIO_LEFT = 0x00000001 } 2816 -enum : uint { MCI_SET_AUDIO_RIGHT = 0x00000002 } 2817 - 2818 -enum : uint { MCI_BREAK_KEY = 0x00000100 } 2819 -enum : uint { MCI_BREAK_HWND = 0x00000200 } 2820 -enum : uint { MCI_BREAK_OFF = 0x00000400 } 2821 - 2822 -enum : uint { MCI_RECORD_INSERT = 0x00000100 } 2823 -enum : uint { MCI_RECORD_OVERWRITE = 0x00000200 } 2824 - 2825 -enum : uint { MCI_SAVE_FILE = 0x00000100 } 2826 - 2827 -enum : uint { MCI_LOAD_FILE = 0x00000100 } 2828 - 2829 -struct tagMCI_GENERIC_PARMS { 2830 - DWORD_PTR dwCallback; 2831 -} 2832 -alias tagMCI_GENERIC_PARMS MCI_GENERIC_PARMS; 2833 -alias tagMCI_GENERIC_PARMS* PMCI_GENERIC_PARMS; 2834 -alias tagMCI_GENERIC_PARMS* LPMCI_GENERIC_PARMS; 2835 - 2836 -// #ifdef _WIN32 2837 - 2838 -struct tagMCI_OPEN_PARMSA { 2839 - DWORD_PTR dwCallback; 2840 - MCIDEVICEID wDeviceID; 2841 - LPCSTR lpstrDeviceType; 2842 - LPCSTR lpstrElementName; 2843 - LPCSTR lpstrAlias; 2844 -} 2845 -alias tagMCI_OPEN_PARMSA MCI_OPEN_PARMSA; 2846 -alias tagMCI_OPEN_PARMSA* PMCI_OPEN_PARMSA; 2847 -alias tagMCI_OPEN_PARMSA* LPMCI_OPEN_PARMSA; 2848 - 2849 -struct tagMCI_OPEN_PARMSW { 2850 - DWORD_PTR dwCallback; 2851 - MCIDEVICEID wDeviceID; 2852 - LPCWSTR lpstrDeviceType; 2853 - LPCWSTR lpstrElementName; 2854 - LPCWSTR lpstrAlias; 2855 -} 2856 -alias tagMCI_OPEN_PARMSW MCI_OPEN_PARMSW; 2857 -alias tagMCI_OPEN_PARMSW* PMCI_OPEN_PARMSW; 2858 -alias tagMCI_OPEN_PARMSW* LPMCI_OPEN_PARMSW; 2859 - 2860 -// #ifdef UNICODE 2861 -alias MCI_OPEN_PARMSW MCI_OPEN_PARMS; 2862 -alias PMCI_OPEN_PARMSW PMCI_OPEN_PARMS; 2863 -alias LPMCI_OPEN_PARMSW LPMCI_OPEN_PARMS; 2864 -// #else 2865 -// ... 2866 -// #endif // UNICODE 2867 - 2868 -// #else 2869 -// ... 2870 -// #endif 2871 - 2872 -struct tagMCI_PLAY_PARMS { 2873 - DWORD_PTR dwCallback; 2874 - DWORD dwFrom; 2875 - DWORD dwTo; 2876 -} 2877 -alias tagMCI_PLAY_PARMS MCI_PLAY_PARMS; 2878 -alias tagMCI_PLAY_PARMS* PMCI_PLAY_PARMS; 2879 -alias tagMCI_PLAY_PARMS* LPMCI_PLAY_PARMS; 2880 - 2881 -struct tagMCI_SEEK_PARMS { 2882 - DWORD_PTR dwCallback; 2883 - DWORD dwTo; 2884 -} 2885 -alias tagMCI_SEEK_PARMS MCI_SEEK_PARMS; 2886 -alias tagMCI_SEEK_PARMS* PMCI_SEEK_PARMS; 2887 -alias tagMCI_SEEK_PARMS* LPMCI_SEEK_PARMS; 2888 - 2889 -struct tagMCI_STATUS_PARMS { 2890 - DWORD_PTR dwCallback; 2891 - DWORD_PTR dwReturn; 2892 - DWORD dwItem; 2893 - DWORD dwTrack; 2894 -} 2895 -alias tagMCI_STATUS_PARMS MCI_STATUS_PARMS; 2896 -alias tagMCI_STATUS_PARMS* PMCI_STATUS_PARMS; 2897 -alias tagMCI_STATUS_PARMS* LPMCI_STATUS_PARMS; 2898 - 2899 -// #ifdef _WIN32 2900 - 2901 -struct tagMCI_INFO_PARMSA { 2902 - DWORD_PTR dwCallback; 2903 - LPSTR lpstrReturn; 2904 - DWORD dwRetSize; 2905 -} 2906 -alias tagMCI_INFO_PARMSA MCI_INFO_PARMSA; 2907 -alias tagMCI_INFO_PARMSA* LPMCI_INFO_PARMSA; 2908 - 2909 -struct tagMCI_INFO_PARMSW { 2910 - DWORD_PTR dwCallback; 2911 - LPWSTR lpstrReturn; 2912 - DWORD dwRetSize; 2913 -} 2914 -alias tagMCI_INFO_PARMSW MCI_INFO_PARMSW; 2915 -alias tagMCI_INFO_PARMSW* LPMCI_INFO_PARMSW; 2916 - 2917 -// #ifdef UNICODE 2918 -alias MCI_INFO_PARMSW MCI_INFO_PARMS; 2919 -alias LPMCI_INFO_PARMSW LPMCI_INFO_PARMS; 2920 -// #else 2921 -// ... 2922 -// #endif // UNICODE 2923 - 2924 -// #else 2925 -// ... 2926 -// #endif 2927 - 2928 -struct tagMCI_GETDEVCAPS_PARMS { 2929 - DWORD_PTR dwCallback; 2930 - DWORD dwReturn; 2931 - DWORD dwItem; 2932 -} 2933 -alias tagMCI_GETDEVCAPS_PARMS MCI_GETDEVCAPS_PARMS; 2934 -alias tagMCI_GETDEVCAPS_PARMS* PMCI_GETDEVCAPS_PARMS; 2935 -alias tagMCI_GETDEVCAPS_PARMS* LPMCI_GETDEVCAPS_PARMS; 2936 - 2937 -// #ifdef _WIN32 2938 - 2939 -struct tagMCI_SYSINFO_PARMSA { 2940 - DWORD_PTR dwCallback; 2941 - LPSTR lpstrReturn; 2942 - DWORD dwRetSize; 2943 - DWORD dwNumber; 2944 - UINT wDeviceType; 2945 -} 2946 -alias tagMCI_SYSINFO_PARMSA MCI_SYSINFO_PARMSA; 2947 -alias tagMCI_SYSINFO_PARMSA* PMCI_SYSINFO_PARMSA; 2948 -alias tagMCI_SYSINFO_PARMSA* LPMCI_SYSINFO_PARMSA; 2949 - 2950 -struct tagMCI_SYSINFO_PARMSW { 2951 - DWORD_PTR dwCallback; 2952 - LPWSTR lpstrReturn; 2953 - DWORD dwRetSize; 2954 - DWORD dwNumber; 2955 - UINT wDeviceType; 2956 -} 2957 -alias tagMCI_SYSINFO_PARMSW MCI_SYSINFO_PARMSW; 2958 -alias tagMCI_SYSINFO_PARMSW* PMCI_SYSINFO_PARMSW; 2959 -alias tagMCI_SYSINFO_PARMSW* LPMCI_SYSINFO_PARMSW; 2960 - 2961 -// #ifdef UNICODE 2962 -alias MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS; 2963 -alias PMCI_SYSINFO_PARMSW PMCI_SYSINFO_PARMS; 2964 -alias LPMCI_SYSINFO_PARMSW LPMCI_SYSINFO_PARMS; 2965 -// #else 2966 -// ... 2967 -// #endif // UNICODE 2968 -// #else 2969 -// ... 2970 -// #endif 2971 - 2972 -struct tagMCI_SET_PARMS { 2973 - DWORD_PTR dwCallback; 2974 - DWORD dwTimeFormat; 2975 - DWORD dwAudio; 2976 -} 2977 -alias tagMCI_SET_PARMS MCI_SET_PARMS; 2978 -alias tagMCI_SET_PARMS* PMCI_SET_PARMS; 2979 -alias tagMCI_SET_PARMS* LPMCI_SET_PARMS; 2980 - 2981 -struct tagMCI_BREAK_PARMS { 2982 - DWORD_PTR dwCallback; 2983 -// #ifdef _WIN32 2984 - int nVirtKey; 2985 - HWND hwndBreak; 2986 -// #else 2987 -// ... 2988 -// #endif 2989 -} 2990 -alias tagMCI_BREAK_PARMS MCI_BREAK_PARMS; 2991 -alias tagMCI_BREAK_PARMS* PMCI_BREAK_PARMS; 2992 -alias tagMCI_BREAK_PARMS* LPMCI_BREAK_PARMS; 2993 - 2994 -// #ifdef _WIN32 2995 - 2996 -struct tagMCI_SAVE_PARMSA { 2997 - DWORD_PTR dwCallback; 2998 - LPCSTR lpfilename; 2999 -} 3000 -alias tagMCI_SAVE_PARMSA MCI_SAVE_PARMSA; 3001 -alias tagMCI_SAVE_PARMSA* PMCI_SAVE_PARMSA; 3002 -alias tagMCI_SAVE_PARMSA* LPMCI_SAVE_PARMSA; 3003 - 3004 -struct tagMCI_SAVE_PARMSW { 3005 - DWORD_PTR dwCallback; 3006 - LPCWSTR lpfilename; 3007 -} 3008 -alias tagMCI_SAVE_PARMSW MCI_SAVE_PARMSW; 3009 -alias tagMCI_SAVE_PARMSW* PMCI_SAVE_PARMSW; 3010 -alias tagMCI_SAVE_PARMSW* LPMCI_SAVE_PARMSW; 3011 - 3012 -// #ifdef UNICODE 3013 -alias MCI_SAVE_PARMSW MCI_SAVE_PARMS; 3014 -alias PMCI_SAVE_PARMSW PMCI_SAVE_PARMS; 3015 -alias LPMCI_SAVE_PARMSW LPMCI_SAVE_PARMS; 3016 -// #else 3017 -// ... 3018 -// #endif // UNICODE 3019 - 3020 -// #else 3021 -// ... 3022 -// #endif 3023 - 3024 -// #ifdef _WIN32 3025 - 3026 -struct tagMCI_LOAD_PARMSA { 3027 - DWORD_PTR dwCallback; 3028 - LPCSTR lpfilename; 3029 -} 3030 -alias tagMCI_LOAD_PARMSA MCI_LOAD_PARMSA; 3031 -alias tagMCI_LOAD_PARMSA* PMCI_LOAD_PARMSA; 3032 -alias tagMCI_LOAD_PARMSA* LPMCI_LOAD_PARMSA; 3033 - 3034 -struct tagMCI_LOAD_PARMSW { 3035 - DWORD_PTR dwCallback; 3036 - LPCWSTR lpfilename; 3037 -} 3038 -alias tagMCI_LOAD_PARMSW MCI_LOAD_PARMSW; 3039 -alias tagMCI_LOAD_PARMSW* PMCI_LOAD_PARMSW; 3040 -alias tagMCI_LOAD_PARMSW* LPMCI_LOAD_PARMSW; 3041 - 3042 -// #ifdef UNICODE 3043 -alias MCI_LOAD_PARMSW MCI_LOAD_PARMS; 3044 -alias PMCI_LOAD_PARMSW PMCI_LOAD_PARMS; 3045 -alias LPMCI_LOAD_PARMSW LPMCI_LOAD_PARMS; 3046 -// #else 3047 -// ... 3048 -// #endif // UNICODE 3049 - 3050 -// #else 3051 -// ... 3052 -// #endif 3053 - 3054 -struct tagMCI_RECORD_PARMS { 3055 - DWORD_PTR dwCallback; 3056 - DWORD dwFrom; 3057 - DWORD dwTo; 3058 -} 3059 -alias tagMCI_RECORD_PARMS MCI_RECORD_PARMS; 3060 -alias tagMCI_RECORD_PARMS* LPMCI_RECORD_PARMS; 3061 - 3062 -enum : uint { MCI_VD_MODE_PARK = MCI_VD_OFFSET + 1 } 3063 - 3064 -enum : uint { MCI_VD_MEDIA_CLV = MCI_VD_OFFSET + 2 } 3065 -enum : uint { MCI_VD_MEDIA_CAV = MCI_VD_OFFSET + 3 } 3066 -enum : uint { MCI_VD_MEDIA_OTHER = MCI_VD_OFFSET + 4 } 3067 - 3068 -enum : uint { MCI_VD_FORMAT_TRACK = 0x4001 } 3069 - 3070 -enum : uint { MCI_VD_PLAY_REVERSE = 0x00010000 } 3071 -enum : uint { MCI_VD_PLAY_FAST = 0x00020000 } 3072 -enum : uint { MCI_VD_PLAY_SPEED = 0x00040000 } 3073 -enum : uint { MCI_VD_PLAY_SCAN = 0x00080000 } 3074 -enum : uint { MCI_VD_PLAY_SLOW = 0x00100000 } 3075 - 3076 -enum : uint { MCI_VD_SEEK_REVERSE = 0x00010000 } 3077 - 3078 -enum : uint { MCI_VD_STATUS_SPEED = 0x00004002 } 3079 -enum : uint { MCI_VD_STATUS_FORWARD = 0x00004003 } 3080 -enum : uint { MCI_VD_STATUS_MEDIA_TYPE = 0x00004004 } 3081 -enum : uint { MCI_VD_STATUS_SIDE = 0x00004005 } 3082 -enum : uint { MCI_VD_STATUS_DISC_SIZE = 0x00004006 } 3083 - 3084 -enum : uint { MCI_VD_GETDEVCAPS_CLV = 0x00010000 } 3085 -enum : uint { MCI_VD_GETDEVCAPS_CAV = 0x00020000 } 3086 - 3087 -enum : uint { MCI_VD_SPIN_UP = 0x00010000 } 3088 -enum : uint { MCI_VD_SPIN_DOWN = 0x00020000 } 3089 - 3090 -enum : uint { MCI_VD_GETDEVCAPS_CAN_REVERSE = 0x00004002 } 3091 -enum : uint { MCI_VD_GETDEVCAPS_FAST_RATE = 0x00004003 } 3092 -enum : uint { MCI_VD_GETDEVCAPS_SLOW_RATE = 0x00004004 } 3093 -enum : uint { MCI_VD_GETDEVCAPS_NORMAL_RATE = 0x00004005 } 3094 - 3095 -enum : uint { MCI_VD_STEP_FRAMES = 0x00010000 } 3096 -enum : uint { MCI_VD_STEP_REVERSE = 0x00020000 } 3097 - 3098 -enum : uint { MCI_VD_ESCAPE_STRING = 0x00000100 } 3099 - 3100 -struct tagMCI_VD_PLAY_PARMS { 3101 - DWORD_PTR dwCallback; 3102 - DWORD dwFrom; 3103 - DWORD dwTo; 3104 - DWORD dwSpeed; 3105 -} 3106 -alias tagMCI_VD_PLAY_PARMS MCI_VD_PLAY_PARMS; 3107 -alias tagMCI_VD_PLAY_PARMS* PMCI_VD_PLAY_PARMS; 3108 -alias tagMCI_VD_PLAY_PARMS* LPMCI_VD_PLAY_PARMS; 3109 - 3110 -struct tagMCI_VD_STEP_PARMS { 3111 - DWORD_PTR dwCallback; 3112 - DWORD dwFrames; 3113 -} 3114 -alias tagMCI_VD_STEP_PARMS MCI_VD_STEP_PARMS; 3115 -alias tagMCI_VD_STEP_PARMS* PMCI_VD_STEP_PARMS; 3116 -alias tagMCI_VD_STEP_PARMS* LPMCI_VD_STEP_PARMS; 3117 - 3118 -// #ifdef _WIN32 3119 - 3120 -struct tagMCI_VD_ESCAPE_PARMSA { 3121 - DWORD_PTR dwCallback; 3122 - LPCSTR lpstrCommand; 3123 -} 3124 -alias tagMCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMSA; 3125 -alias tagMCI_VD_ESCAPE_PARMSA* PMCI_VD_ESCAPE_PARMSA; 3126 -alias tagMCI_VD_ESCAPE_PARMSA* LPMCI_VD_ESCAPE_PARMSA; 3127 - 3128 -struct tagMCI_VD_ESCAPE_PARMSW { 3129 - DWORD_PTR dwCallback; 3130 - LPCWSTR lpstrCommand; 3131 -} 3132 -alias tagMCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMSW; 3133 -alias tagMCI_VD_ESCAPE_PARMSW* PMCI_VD_ESCAPE_PARMSW; 3134 -alias tagMCI_VD_ESCAPE_PARMSW* LPMCI_VD_ESCAPE_PARMSW; 3135 - 3136 -// #ifdef UNICODE 3137 -alias MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS; 3138 -alias PMCI_VD_ESCAPE_PARMSW PMCI_VD_ESCAPE_PARMS; 3139 -alias LPMCI_VD_ESCAPE_PARMSW LPMCI_VD_ESCAPE_PARMS; 3140 -// #else 3141 -// ... 3142 -// #endif // UNICODE 3143 - 3144 -// #else 3145 -// ... 3146 -// #endif 3147 - 3148 -enum : uint { MCI_CDA_STATUS_TYPE_TRACK = 0x00004001 } 3149 - 3150 -enum : uint { MCI_CDA_TRACK_AUDIO = MCI_CD_OFFSET + 0 } 3151 -enum : uint { MCI_CDA_TRACK_OTHER = MCI_CD_OFFSET + 1 } 3152 - 3153 -enum : uint { MCI_WAVE_PCM = MCI_WAVE_OFFSET + 0 } 3154 -enum : uint { MCI_WAVE_MAPPER = MCI_WAVE_OFFSET + 1 } 3155 - 3156 -enum : uint { MCI_WAVE_OPEN_BUFFER = 0x00010000 } 3157 - 3158 -enum : uint { MCI_WAVE_SET_FORMATTAG = 0x00010000 } 3159 -enum : uint { MCI_WAVE_SET_CHANNELS = 0x00020000 } 3160 -enum : uint { MCI_WAVE_SET_SAMPLESPERSEC = 0x00040000 } 3161 -enum : uint { MCI_WAVE_SET_AVGBYTESPERSEC = 0x00080000 } 3162 -enum : uint { MCI_WAVE_SET_BLOCKALIGN = 0x00100000 } 3163 -enum : uint { MCI_WAVE_SET_BITSPERSAMPLE = 0x00200000 } 3164 - 3165 -enum : uint { MCI_WAVE_INPUT = 0x00400000 } 3166 -enum : uint { MCI_WAVE_OUTPUT = 0x00800000 } 3167 - 3168 -enum : uint { MCI_WAVE_STATUS_FORMATTAG = 0x00004001 } 3169 -enum : uint { MCI_WAVE_STATUS_CHANNELS = 0x00004002 } 3170 -enum : uint { MCI_WAVE_STATUS_SAMPLESPERSEC = 0x00004003 } 3171 -enum : uint { MCI_WAVE_STATUS_AVGBYTESPERSEC = 0x00004004 } 3172 -enum : uint { MCI_WAVE_STATUS_BLOCKALIGN = 0x00004005 } 3173 -enum : uint { MCI_WAVE_STATUS_BITSPERSAMPLE = 0x00004006 } 3174 -enum : uint { MCI_WAVE_STATUS_LEVEL = 0x00004007 } 3175 - 3176 -enum : uint { MCI_WAVE_SET_ANYINPUT = 0x04000000 } 3177 -enum : uint { MCI_WAVE_SET_ANYOUTPUT = 0x08000000 } 3178 - 3179 -enum : uint { MCI_WAVE_GETDEVCAPS_INPUTS = 0x00004001 } 3180 -enum : uint { MCI_WAVE_GETDEVCAPS_OUTPUTS = 0x00004002 } 3181 - 3182 -// #ifdef _WIN32 3183 - 3184 -struct tagMCI_WAVE_OPEN_PARMSA { 3185 - DWORD_PTR dwCallback; 3186 - MCIDEVICEID wDeviceID; 3187 - LPCSTR lpstrDeviceType; 3188 - LPCSTR lpstrElementName; 3189 - LPCSTR lpstrAlias; 3190 - DWORD dwBufferSeconds; 3191 -} 3192 -alias tagMCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMSA; 3193 -alias tagMCI_WAVE_OPEN_PARMSA* PMCI_WAVE_OPEN_PARMSA; 3194 -alias tagMCI_WAVE_OPEN_PARMSA* LPMCI_WAVE_OPEN_PARMSA; 3195 - 3196 -struct tagMCI_WAVE_OPEN_PARMSW { 3197 - DWORD_PTR dwCallback; 3198 - MCIDEVICEID wDeviceID; 3199 - LPCWSTR lpstrDeviceType; 3200 - LPCWSTR lpstrElementName; 3201 - LPCWSTR lpstrAlias; 3202 - DWORD dwBufferSeconds; 3203 -} 3204 -alias tagMCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMSW; 3205 -alias tagMCI_WAVE_OPEN_PARMSW* PMCI_WAVE_OPEN_PARMSW; 3206 -alias tagMCI_WAVE_OPEN_PARMSW* LPMCI_WAVE_OPEN_PARMSW; 3207 - 3208 -// #ifdef UNICODE 3209 -alias MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS; 3210 -alias PMCI_WAVE_OPEN_PARMSW PMCI_WAVE_OPEN_PARMS; 3211 -alias LPMCI_WAVE_OPEN_PARMSW LPMCI_WAVE_OPEN_PARMS; 3212 -// #else 3213 -// ... 3214 -// #endif // UNICODE 3215 - 3216 -// #else 3217 -// ... 3218 -// #endif 3219 - 3220 -struct tagMCI_WAVE_DELETE_PARMS { 3221 - DWORD_PTR dwCallback; 3222 - DWORD dwFrom; 3223 - DWORD dwTo; 3224 -} 3225 -alias tagMCI_WAVE_DELETE_PARMS MCI_WAVE_DELETE_PARMS; 3226 -alias tagMCI_WAVE_DELETE_PARMS* PMCI_WAVE_DELETE_PARMS; 3227 -alias tagMCI_WAVE_DELETE_PARMS* LPMCI_WAVE_DELETE_PARMS; 3228 - 3229 -struct tagMCI_WAVE_SET_PARMS { 3230 - DWORD_PTR dwCallback; 3231 - DWORD dwTimeFormat; 3232 - DWORD dwAudio; 3233 -// #ifdef _WIN32 3234 - UINT wInput; 3235 - UINT wOutput; 3236 -// #else 3237 -// ... 3238 -// #endif 3239 - WORD wFormatTag; 3240 - WORD wReserved2; 3241 - WORD nChannels; 3242 - WORD wReserved3; 3243 - DWORD nSamplesPerSec; 3244 - DWORD nAvgBytesPerSec; 3245 - WORD nBlockAlign; 3246 - WORD wReserved4; 3247 - WORD wBitsPerSample; 3248 - WORD wReserved5; 3249 -} 3250 -alias tagMCI_WAVE_SET_PARMS MCI_WAVE_SET_PARMS; 3251 -alias tagMCI_WAVE_SET_PARMS* PMCI_WAVE_SET_PARMS; 3252 -alias tagMCI_WAVE_SET_PARMS* LPMCI_WAVE_SET_PARMS; 3253 - 3254 -enum : uint { MCI_SEQ_DIV_PPQN = 0 + MCI_SEQ_OFFSET } 3255 -enum : uint { MCI_SEQ_DIV_SMPTE_24 = 1 + MCI_SEQ_OFFSET } 3256 -enum : uint { MCI_SEQ_DIV_SMPTE_25 = 2 + MCI_SEQ_OFFSET } 3257 -enum : uint { MCI_SEQ_DIV_SMPTE_30DROP = 3 + MCI_SEQ_OFFSET } 3258 -enum : uint { MCI_SEQ_DIV_SMPTE_30 = 4 + MCI_SEQ_OFFSET } 3259 - 3260 -enum : uint { MCI_SEQ_FORMAT_SONGPTR = 0x4001 } 3261 -enum : uint { MCI_SEQ_FILE = 0x4002 } 3262 -enum : uint { MCI_SEQ_MIDI = 0x4003 } 3263 -enum : uint { MCI_SEQ_SMPTE = 0x4004 } 3264 -enum : uint { MCI_SEQ_NONE = 65533 } 3265 -enum : uint { MCI_SEQ_MAPPER = 65535 } 3266 - 3267 -enum : uint { MCI_SEQ_STATUS_TEMPO = 0x00004002 } 3268 -enum : uint { MCI_SEQ_STATUS_PORT = 0x00004003 } 3269 -enum : uint { MCI_SEQ_STATUS_SLAVE = 0x00004007 } 3270 -enum : uint { MCI_SEQ_STATUS_MASTER = 0x00004008 } 3271 -enum : uint { MCI_SEQ_STATUS_OFFSET = 0x00004009 } 3272 -enum : uint { MCI_SEQ_STATUS_DIVTYPE = 0x0000400A } 3273 -enum : uint { MCI_SEQ_STATUS_NAME = 0x0000400B } 3274 -enum : uint { MCI_SEQ_STATUS_COPYRIGHT = 0x0000400C } 3275 - 3276 -enum : uint { MCI_SEQ_SET_TEMPO = 0x00010000 } 3277 -enum : uint { MCI_SEQ_SET_PORT = 0x00020000 } 3278 -enum : uint { MCI_SEQ_SET_SLAVE = 0x00040000 } 3279 -enum : uint { MCI_SEQ_SET_MASTER = 0x00080000 } 3280 -enum : uint { MCI_SEQ_SET_OFFSET = 0x01000000 } 3281 - 3282 -struct tagMCI_SEQ_SET_PARMS { 3283 - DWORD_PTR dwCallback; 3284 - DWORD dwTimeFormat; 3285 - DWORD dwAudio; 3286 - DWORD dwTempo; 3287 - DWORD dwPort; 3288 - DWORD dwSlave; 3289 - DWORD dwMaster; 3290 - DWORD dwOffset; 3291 -} 3292 -alias tagMCI_SEQ_SET_PARMS MCI_SEQ_SET_PARMS; 3293 -alias tagMCI_SEQ_SET_PARMS* PMCI_SEQ_SET_PARMS; 3294 -alias tagMCI_SEQ_SET_PARMS* LPMCI_SEQ_SET_PARMS; 3295 - 3296 -enum : uint { MCI_ANIM_OPEN_WS = 0x00010000 } 3297 -enum : uint { MCI_ANIM_OPEN_PARENT = 0x00020000 } 3298 -enum : uint { MCI_ANIM_OPEN_NOSTATIC = 0x00040000 } 3299 - 3300 -enum : uint { MCI_ANIM_PLAY_SPEED = 0x00010000 } 3301 -enum : uint { MCI_ANIM_PLAY_REVERSE = 0x00020000 } 3302 -enum : uint { MCI_ANIM_PLAY_FAST = 0x00040000 } 3303 -enum : uint { MCI_ANIM_PLAY_SLOW = 0x00080000 } 3304 -enum : uint { MCI_ANIM_PLAY_SCAN = 0x00100000 } 3305 - 3306 -enum : uint { MCI_ANIM_STEP_REVERSE = 0x00010000 } 3307 -enum : uint { MCI_ANIM_STEP_FRAMES = 0x00020000 } 3308 - 3309 -enum : uint { MCI_ANIM_STATUS_SPEED = 0x00004001 } 3310 -enum : uint { MCI_ANIM_STATUS_FORWARD = 0x00004002 } 3311 -enum : uint { MCI_ANIM_STATUS_HWND = 0x00004003 } 3312 -enum : uint { MCI_ANIM_STATUS_HPAL = 0x00004004 } 3313 -enum : uint { MCI_ANIM_STATUS_STRETCH = 0x00004005 } 3314 - 3315 -enum : uint { MCI_ANIM_INFO_TEXT = 0x00010000 } 3316 - 3317 -enum : uint { MCI_ANIM_GETDEVCAPS_CAN_REVERSE = 0x00004001 } 3318 -enum : uint { MCI_ANIM_GETDEVCAPS_FAST_RATE = 0x00004002 } 3319 -enum : uint { MCI_ANIM_GETDEVCAPS_SLOW_RATE = 0x00004003 } 3320 -enum : uint { MCI_ANIM_GETDEVCAPS_NORMAL_RATE = 0x00004004 } 3321 -enum : uint { MCI_ANIM_GETDEVCAPS_PALETTES = 0x00004006 } 3322 -enum : uint { MCI_ANIM_GETDEVCAPS_CAN_STRETCH = 0x00004007 } 3323 -enum : uint { MCI_ANIM_GETDEVCAPS_MAX_WINDOWS = 0x00004008 } 3324 - 3325 -enum : uint { MCI_ANIM_REALIZE_NORM = 0x00010000 } 3326 -enum : uint { MCI_ANIM_REALIZE_BKGD = 0x00020000 } 3327 - 3328 -enum : uint { MCI_ANIM_WINDOW_HWND = 0x00010000 } 3329 -enum : uint { MCI_ANIM_WINDOW_STATE = 0x00040000 } 3330 -enum : uint { MCI_ANIM_WINDOW_TEXT = 0x00080000 } 3331 -enum : uint { MCI_ANIM_WINDOW_ENABLE_STRETCH = 0x00100000 } 3332 -enum : uint { MCI_ANIM_WINDOW_DISABLE_STRETCH = 0x00200000 } 3333 - 3334 -enum : uint { MCI_ANIM_WINDOW_DEFAULT = 0x00000000 } 3335 - 3336 -enum : uint { MCI_ANIM_RECT = 0x00010000 } 3337 -enum : uint { MCI_ANIM_PUT_SOURCE = 0x00020000 } 3338 -enum : uint { MCI_ANIM_PUT_DESTINATION = 0x00040000 } 3339 - 3340 -enum : uint { MCI_ANIM_WHERE_SOURCE = 0x00020000 } 3341 -enum : uint { MCI_ANIM_WHERE_DESTINATION = 0x00040000 } 3342 - 3343 -enum : uint { MCI_ANIM_UPDATE_HDC = 0x00020000 } 3344 - 3345 -// #ifdef _WIN32 3346 - 3347 -struct tagMCI_ANIM_OPEN_PARMSA { 3348 - DWORD_PTR dwCallback; 3349 - MCIDEVICEID wDeviceID; 3350 - LPCSTR lpstrDeviceType; 3351 - LPCSTR lpstrElementName; 3352 - LPCSTR lpstrAlias; 3353 - DWORD dwStyle; 3354 - HWND hWndParent; 3355 -} 3356 -alias tagMCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMSA; 3357 -alias tagMCI_ANIM_OPEN_PARMSA* PMCI_ANIM_OPEN_PARMSA; 3358 -alias tagMCI_ANIM_OPEN_PARMSA* LPMCI_ANIM_OPEN_PARMSA; 3359 - 3360 -struct tagMCI_ANIM_OPEN_PARMSW { 3361 - DWORD_PTR dwCallback; 3362 - MCIDEVICEID wDeviceID; 3363 - LPCWSTR lpstrDeviceType; 3364 - LPCWSTR lpstrElementName; 3365 - LPCWSTR lpstrAlias; 3366 - DWORD dwStyle; 3367 - HWND hWndParent; 3368 -} 3369 -alias tagMCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMSW; 3370 -alias tagMCI_ANIM_OPEN_PARMSW* PMCI_ANIM_OPEN_PARMSW; 3371 -alias tagMCI_ANIM_OPEN_PARMSW* LPMCI_ANIM_OPEN_PARMSW; 3372 - 3373 -// #ifdef UNICODE 3374 -alias MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS; 3375 -alias PMCI_ANIM_OPEN_PARMSW PMCI_ANIM_OPEN_PARMS; 3376 -alias LPMCI_ANIM_OPEN_PARMSW LPMCI_ANIM_OPEN_PARMS; 3377 -// #else 3378 -// ... 3379 -// #endif // UNICODE 3380 - 3381 -// #else 3382 -// ... 3383 -// #endif 3384 - 3385 -struct tagMCI_ANIM_PLAY_PARMS { 3386 - DWORD_PTR dwCallback; 3387 - DWORD dwFrom; 3388 - DWORD dwTo; 3389 - DWORD dwSpeed; 3390 -} 3391 -alias tagMCI_ANIM_PLAY_PARMS MCI_ANIM_PLAY_PARMS; 3392 -alias tagMCI_ANIM_PLAY_PARMS* PMCI_ANIM_PLAY_PARMS; 3393 -alias tagMCI_ANIM_PLAY_PARMS* LPMCI_ANIM_PLAY_PARMS; 3394 - 3395 -struct tagMCI_ANIM_STEP_PARMS { 3396 - DWORD_PTR dwCallback; 3397 - DWORD dwFrames; 3398 -} 3399 -alias tagMCI_ANIM_STEP_PARMS MCI_ANIM_STEP_PARMS; 3400 -alias tagMCI_ANIM_STEP_PARMS* PMCI_ANIM_STEP_PARMS; 3401 -alias tagMCI_ANIM_STEP_PARMS* LPMCI_ANIM_STEP_PARMS; 3402 - 3403 -// #ifdef _WIN32 3404 - 3405 -struct tagMCI_ANIM_WINDOW_PARMSA { 3406 - DWORD_PTR dwCallback; 3407 - HWND hWnd; 3408 - UINT nCmdShow; 3409 - LPCSTR lpstrText; 3410 -} 3411 -alias tagMCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMSA; 3412 -alias tagMCI_ANIM_WINDOW_PARMSA* PMCI_ANIM_WINDOW_PARMSA; 3413 -alias tagMCI_ANIM_WINDOW_PARMSA* LPMCI_ANIM_WINDOW_PARMSA; 3414 - 3415 -struct tagMCI_ANIM_WINDOW_PARMSW { 3416 - DWORD_PTR dwCallback; 3417 - HWND hWnd; 3418 - UINT nCmdShow; 3419 - LPCWSTR lpstrText; 3420 -} 3421 -alias tagMCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMSW; 3422 -alias tagMCI_ANIM_WINDOW_PARMSW* PMCI_ANIM_WINDOW_PARMSW; 3423 -alias tagMCI_ANIM_WINDOW_PARMSW* LPMCI_ANIM_WINDOW_PARMSW; 3424 - 3425 -// #ifdef UNICODE 3426 -alias MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS; 3427 -alias PMCI_ANIM_WINDOW_PARMSW PMCI_ANIM_WINDOW_PARMS; 3428 -alias LPMCI_ANIM_WINDOW_PARMSW LPMCI_ANIM_WINDOW_PARMS; 3429 -// #else 3430 -// ... 3431 -// #endif // UNICODE 3432 - 3433 -// #else 3434 -// ... 3435 -// #endif 3436 - 3437 -struct tagMCI_ANIM_RECT_PARMS { 3438 - DWORD_PTR dwCallback; 3439 -// #ifdef MCI_USE_OFFEXT 3440 -// ... 3441 -// #else /* ifdef MCI_USE_OFFEXT */ 3442 - RECT rc; 3443 -// #endif /* ifdef MCI_USE_OFFEXT */ 3444 -} 3445 -alias tagMCI_ANIM_RECT_PARMS MCI_ANIM_RECT_PARMS; 3446 - 3447 -alias MCI_ANIM_RECT_PARMS* PMCI_ANIM_RECT_PARMS; 3448 -alias MCI_ANIM_RECT_PARMS* LPMCI_ANIM_RECT_PARMS; 3449 - 3450 -struct tagMCI_ANIM_UPDATE_PARMS { 3451 - DWORD_PTR dwCallback; 3452 - RECT rc; 3453 - HDC hDC; 3454 -} 3455 -alias tagMCI_ANIM_UPDATE_PARMS MCI_ANIM_UPDATE_PARMS; 3456 -alias tagMCI_ANIM_UPDATE_PARMS* PMCI_ANIM_UPDATE_PARMS; 3457 -alias tagMCI_ANIM_UPDATE_PARMS* LPMCI_ANIM_UPDATE_PARMS; 3458 - 3459 -enum : uint { MCI_OVLY_OPEN_WS = 0x00010000 } 3460 -enum : uint { MCI_OVLY_OPEN_PARENT = 0x00020000 } 3461 - 3462 -enum : uint { MCI_OVLY_STATUS_HWND = 0x00004001 } 3463 -enum : uint { MCI_OVLY_STATUS_STRETCH = 0x00004002 } 3464 - 3465 -enum : uint { MCI_OVLY_INFO_TEXT = 0x00010000 } 3466 - 3467 -enum : uint { MCI_OVLY_GETDEVCAPS_CAN_STRETCH = 0x00004001 } 3468 -enum : uint { MCI_OVLY_GETDEVCAPS_CAN_FREEZE = 0x00004002 } 3469 -enum : uint { MCI_OVLY_GETDEVCAPS_MAX_WINDOWS = 0x00004003 } 3470 - 3471 -enum : uint { MCI_OVLY_WINDOW_HWND = 0x00010000 } 3472 -enum : uint { MCI_OVLY_WINDOW_STATE = 0x00040000 } 3473 -enum : uint { MCI_OVLY_WINDOW_TEXT = 0x00080000 } 3474 -enum : uint { MCI_OVLY_WINDOW_ENABLE_STRETCH = 0x00100000 } 3475 -enum : uint { MCI_OVLY_WINDOW_DISABLE_STRETCH = 0x00200000 } 3476 - 3477 -enum : uint { MCI_OVLY_WINDOW_DEFAULT = 0x00000000 } 3478 - 3479 -enum : uint { MCI_OVLY_RECT = 0x00010000 } 3480 -enum : uint { MCI_OVLY_PUT_SOURCE = 0x00020000 } 3481 -enum : uint { MCI_OVLY_PUT_DESTINATION = 0x00040000 } 3482 -enum : uint { MCI_OVLY_PUT_FRAME = 0x00080000 } 3483 -enum : uint { MCI_OVLY_PUT_VIDEO = 0x00100000 } 3484 - 3485 -enum : uint { MCI_OVLY_WHERE_SOURCE = 0x00020000 } 3486 -enum : uint { MCI_OVLY_WHERE_DESTINATION = 0x00040000 } 3487 -enum : uint { MCI_OVLY_WHERE_FRAME = 0x00080000 } 3488 -enum : uint { MCI_OVLY_WHERE_VIDEO = 0x00100000 } 3489 - 3490 -// #ifdef _WIN32 3491 - 3492 -struct tagMCI_OVLY_OPEN_PARMSA { 3493 - DWORD_PTR dwCallback; 3494 - MCIDEVICEID wDeviceID; 3495 - LPCSTR lpstrDeviceType; 3496 - LPCSTR lpstrElementName; 3497 - LPCSTR lpstrAlias; 3498 - DWORD dwStyle; 3499 - HWND hWndParent; 3500 -} 3501 -alias tagMCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMSA; 3502 -alias tagMCI_OVLY_OPEN_PARMSA* PMCI_OVLY_OPEN_PARMSA; 3503 -alias tagMCI_OVLY_OPEN_PARMSA* LPMCI_OVLY_OPEN_PARMSA; 3504 - 3505 -struct tagMCI_OVLY_OPEN_PARMSW { 3506 - DWORD_PTR dwCallback; 3507 - MCIDEVICEID wDeviceID; 3508 - LPCWSTR lpstrDeviceType; 3509 - LPCWSTR lpstrElementName; 3510 - LPCWSTR lpstrAlias; 3511 - DWORD dwStyle; 3512 - HWND hWndParent; 3513 -} 3514 -alias tagMCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMSW; 3515 -alias tagMCI_OVLY_OPEN_PARMSW* PMCI_OVLY_OPEN_PARMSW; 3516 -alias tagMCI_OVLY_OPEN_PARMSW* LPMCI_OVLY_OPEN_PARMSW; 3517 - 3518 -// #ifdef UNICODE 3519 -alias MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS; 3520 -alias PMCI_OVLY_OPEN_PARMSW PMCI_OVLY_OPEN_PARMS; 3521 -alias LPMCI_OVLY_OPEN_PARMSW LPMCI_OVLY_OPEN_PARMS; 3522 -// #else 3523 -// ... 3524 -// #endif // UNICODE 3525 - 3526 -// #else 3527 -// ... 3528 -// #endif 3529 - 3530 -// #ifdef _WIN32 3531 - 3532 -struct tagMCI_OVLY_WINDOW_PARMSA { 3533 - DWORD_PTR dwCallback; 3534 - HWND hWnd; 3535 - UINT nCmdShow; 3536 - LPCSTR lpstrText; 3537 -} 3538 -alias tagMCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMSA; 3539 -alias tagMCI_OVLY_WINDOW_PARMSA* PMCI_OVLY_WINDOW_PARMSA; 3540 -alias tagMCI_OVLY_WINDOW_PARMSA* LPMCI_OVLY_WINDOW_PARMSA; 3541 - 3542 -struct tagMCI_OVLY_WINDOW_PARMSW { 3543 - DWORD_PTR dwCallback; 3544 - HWND hWnd; 3545 - UINT nCmdShow; 3546 - LPCWSTR lpstrText; 3547 -} 3548 -alias tagMCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMSW; 3549 -alias tagMCI_OVLY_WINDOW_PARMSW* PMCI_OVLY_WINDOW_PARMSW; 3550 -alias tagMCI_OVLY_WINDOW_PARMSW* LPMCI_OVLY_WINDOW_PARMSW; 3551 - 3552 -// #ifdef UNICODE 3553 -alias MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS; 3554 -alias PMCI_OVLY_WINDOW_PARMSW PMCI_OVLY_WINDOW_PARMS; 3555 -alias LPMCI_OVLY_WINDOW_PARMSW LPMCI_OVLY_WINDOW_PARMS; 3556 -// #else 3557 -// ... 3558 -// #endif // UNICODE 3559 -// #else 3560 -// ... 3561 -// #endif 3562 - 3563 -struct tagMCI_OVLY_RECT_PARMS { 3564 - DWORD_PTR dwCallback; 3565 -// #ifdef MCI_USE_OFFEXT 3566 -// ... 3567 -// #else /* ifdef MCI_USE_OFFEXT */ 3568 - RECT rc; 3569 -// #endif /* ifdef MCI_USE_OFFEXT */ 3570 -} 3571 -alias tagMCI_OVLY_RECT_PARMS MCI_OVLY_RECT_PARMS; 3572 -alias tagMCI_OVLY_RECT_PARMS* PMCI_OVLY_RECT_PARMS; 3573 -alias tagMCI_OVLY_RECT_PARMS* LPMCI_OVLY_RECT_PARMS; 3574 - 3575 -// #ifdef _WIN32 3576 - 3577 -struct tagMCI_OVLY_SAVE_PARMSA { 3578 - DWORD_PTR dwCallback; 3579 - LPCSTR lpfilename; 3580 - RECT rc; 3581 -} 3582 -alias tagMCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMSA; 3583 -alias tagMCI_OVLY_SAVE_PARMSA* PMCI_OVLY_SAVE_PARMSA; 3584 -alias tagMCI_OVLY_SAVE_PARMSA* LPMCI_OVLY_SAVE_PARMSA; 3585 - 3586 -struct tagMCI_OVLY_SAVE_PARMSW { 3587 - DWORD_PTR dwCallback; 3588 - LPCWSTR lpfilename; 3589 - RECT rc; 3590 -} 3591 -alias tagMCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMSW; 3592 -alias tagMCI_OVLY_SAVE_PARMSW* PMCI_OVLY_SAVE_PARMSW; 3593 -alias tagMCI_OVLY_SAVE_PARMSW* LPMCI_OVLY_SAVE_PARMSW; 3594 - 3595 -// #ifdef UNICODE 3596 -alias MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS; 3597 -alias PMCI_OVLY_SAVE_PARMSW PMCI_OVLY_SAVE_PARMS; 3598 -alias LPMCI_OVLY_SAVE_PARMSW LPMCI_OVLY_SAVE_PARMS; 3599 -// #else 3600 -// ... 3601 -// #endif // UNICODE 3602 -// #else 3603 -// ... 3604 -// #endif 3605 - 3606 -// #ifdef _WIN32 3607 - 3608 -struct tagMCI_OVLY_LOAD_PARMSA { 3609 - DWORD_PTR dwCallback; 3610 - LPCSTR lpfilename; 3611 - RECT rc; 3612 -} 3613 -alias tagMCI_OVLY_LOAD_PARMSA MCI_OVLY_LOAD_PARMSA; 3614 -alias tagMCI_OVLY_LOAD_PARMSA* PMCI_OVLY_LOAD_PARMSA; 3615 -alias tagMCI_OVLY_LOAD_PARMSA* LPMCI_OVLY_LOAD_PARMSA; 3616 - 3617 -struct tagMCI_OVLY_LOAD_PARMSW { 3618 - DWORD_PTR dwCallback; 3619 - LPCWSTR lpfilename; 3620 - RECT rc; 3621 -} 3622 -alias tagMCI_OVLY_LOAD_PARMSW MCI_OVLY_LOAD_PARMSW; 3623 -alias tagMCI_OVLY_LOAD_PARMSW* PMCI_OVLY_LOAD_PARMSW; 3624 -alias tagMCI_OVLY_LOAD_PARMSW* LPMCI_OVLY_LOAD_PARMSW; 3625 - 3626 -// #ifdef UNICODE 3627 -alias MCI_OVLY_LOAD_PARMSW MCI_OVLY_LOAD_PARMS; 3628 -alias PMCI_OVLY_LOAD_PARMSW PMCI_OVLY_LOAD_PARMS; 3629 -alias LPMCI_OVLY_LOAD_PARMSW LPMCI_OVLY_LOAD_PARMS; 3630 -// #else 3631 -// ... 3632 -// #endif // UNICODE 3633 -// #else 3634 -// ... 3635 -// #endif 3636 - 3637 -// #endif /* ifndef MMNOMCI */ 3638 - 3639 -// #ifndef NEWTRANSPARENT 3640 -enum : uint { NEWTRANSPARENT = 3 } 3641 - 3642 -enum : uint { QUERYROPSUPPORT = 40 } 3643 -// #endif /* ifndef NEWTRANSPARENT */ 3644 - 3645 -enum : uint { SELECTDIB = 41 } 3646 -// #define DIBINDEX(n) MAKELONG((n),0x10FF) 3647 - 3648 -// #ifndef SC_SCREENSAVE 3649 - 3650 -enum : uint { SC_SCREENSAVE = 0xF140 } 3651 - 3652 -// #endif /* ifndef SC_SCREENSAVE */ 3653 - 3654 -// #ifdef __cplusplus 3655 -// } 3656 -// #endif /* __cplusplus */ 3657 - 3658 -// #ifdef _WIN32 3659 -align: 3660 -// #else 3661 -// #ifndef RC_INVOKED 3662 -// #... 3663 -// #endif 3664 -// #endif 3665 - 3666 -// #endif /* _INC_MMSYSTEM */ 3667 - 2247 +alias WAVEOUTCAPS* PWAVEOUTCAPS, LPWAVEOUTCAPS; 2248 +alias WAVEINCAPS* PWAVEINCAPS, LPWAVEINCAPS; 2249 +alias MIDIOUTCAPS* PMIDIOUTCAPS, LPMIDIOUTCAPS; 2250 +alias MIDIINCAPS* PMIDIINCAPS, LPMIDIINCAPS; 2251 +alias AUXCAPS* PAUXCAPS, LPAUXCAPS; 2252 +alias MIXERCAPS* PMIXERCAPS, LPMIXERCAPS; 2253 +alias MIXERLINE* PMIXERLINE, LPMIXERLINE; 2254 +alias MIXERCONTROL* PMIXERCONTROL, LPMIXERCONTROL; 2255 +alias MIXERLINECONTROLS* PMIXERLINECONTROLS, LPMIXERLINECONTROLS; 2256 +alias MIXERCONTROLDETAILS_LISTTEXT* PMIXERCONTROLDETAILS_LISTTEXT, LPMIXERCONTROLDETAILS_LISTTEXT; 2257 +alias JOYCAPS* PJOYCAPS, LPJOYCAPS; 2258 +alias MCI_OPEN_PARMS* PMCI_OPEN_PARMS, LPMCI_OPEN_PARMS; 2259 +alias MCI_INFO_PARMS* LPMCI_INFO_PARMS; 2260 +alias MCI_SYSINFO_PARMS* PMCI_SYSINFO_PARMS, LPMCI_SYSINFO_PARMS; 2261 +alias MCI_SAVE_PARMS* PMCI_SAVE_PARMS, LPMCI_SAVE_PARMS; 2262 +alias MCI_LOAD_PARMS* PMCI_LOAD_PARMS, LPMCI_LOAD_PARMS; 2263 +alias MCI_VD_ESCAPE_PARMS* PMCI_VD_ESCAPE_PARMS, LPMCI_VD_ESCAPE_PARMS; 2264 +alias MCI_WAVE_OPEN_PARMS* PMCI_WAVE_OPEN_PARMS, LPMCI_WAVE_OPEN_PARMS; 2265 +alias MCI_ANIM_OPEN_PARMS* PMCI_ANIM_OPEN_PARMS, LPMCI_ANIM_OPEN_PARMS; 2266 +alias MCI_ANIM_WINDOW_PARMS* PMCI_ANIM_WINDOW_PARMS, LPMCI_ANIM_WINDOW_PARMS; 2267 +alias MCI_OVLY_OPEN_PARMS* PMCI_OVLY_OPEN_PARMS, LPMCI_OVLY_OPEN_PARMS; 2268 +alias MCI_OVLY_WINDOW_PARMS* PMCI_OVLY_WINDOW_PARMS, LPMCI_OVLY_WINDOW_PARMS; 2269 +alias MCI_OVLY_SAVE_PARMS* PMCI_OVLY_SAVE_PARMS, LPMCI_OVLY_SAVE_PARMS;

Added src/win32/msacm.d version [0c3b20b2cde333d2]

1 +/***********************************************************************\ 2 +* msacm.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.msacm; 12 + 13 +private import win32.basetsd, win32.mmsystem, win32.windef; 14 + 15 +alias HANDLE HACMDRIVERID, HACMDRIVER; 16 +alias HANDLE* LPHACMDRIVER; 17 + 18 +/* Comment from MinGW 19 + found through experimentation 20 + */ 21 +const size_t 22 + ACMDRIVERDETAILS_SHORTNAME_CHARS = 32, 23 + ACMDRIVERDETAILS_LONGNAME_CHARS = 128, 24 + ACMDRIVERDETAILS_COPYRIGHT_CHARS = 80, 25 + ACMDRIVERDETAILS_LICENSING_CHARS = 128; 26 + 27 +/* Comment from MinGW 28 + I don't know the right values for these macros 29 + */ 30 +const size_t 31 + ACMFORMATDETAILS_FORMAT_CHARS = 256, 32 + ACMFORMATTAGDETAILS_FORMATTAG_CHARS = 256, 33 + ACMDRIVERDETAILS_FEATURES_CHARS = 256; 34 + 35 +struct ACMFORMATDETAILSA { 36 + DWORD cbStruct = ACMFORMATDETAILSA.sizeof; // are they? 37 + DWORD dwFormatIndex; 38 + DWORD dwFormatTag; 39 + DWORD fdwSupport; 40 + LPWAVEFORMATEX pwfx; 41 + DWORD cbwfx; 42 + char[ACMFORMATDETAILS_FORMAT_CHARS] szFormat; 43 +} 44 +alias ACMFORMATDETAILSA* LPACMFORMATDETAILSA; 45 + 46 +struct ACMFORMATDETAILSW { 47 + DWORD cbStruct = ACMFORMATDETAILSW.sizeof; 48 + DWORD dwFormatIndex; 49 + DWORD dwFormatTag; 50 + DWORD fdwSupport; 51 + LPWAVEFORMATEX pwfx; 52 + DWORD cbwfx; 53 + WCHAR[ACMFORMATDETAILS_FORMAT_CHARS] szFormat; 54 +} 55 +alias ACMFORMATDETAILSW* LPACMFORMATDETAILSW; 56 + 57 +struct ACMFORMATTAGDETAILSA { 58 + DWORD cbStruct = ACMFORMATTAGDETAILSA.sizeof; 59 + DWORD dwFormatTagIndex; 60 + DWORD dwFormatTag; 61 + DWORD cbFormatSize; 62 + DWORD fdwSupport; 63 + DWORD cStandardFormats; 64 + char[ACMFORMATTAGDETAILS_FORMATTAG_CHARS] szFormatTag; 65 +} 66 +alias ACMFORMATTAGDETAILSA* LPACMFORMATTAGDETAILSA; 67 + 68 +struct ACMFORMATTAGDETAILSW { 69 + DWORD cbStruct = ACMFORMATTAGDETAILSW.sizeof; 70 + DWORD dwFormatTagIndex; 71 + DWORD dwFormatTag; 72 + DWORD cbFormatSize; 73 + DWORD fdwSupport; 74 + DWORD cStandardFormats; 75 + WCHAR[ACMFORMATTAGDETAILS_FORMATTAG_CHARS] szFormatTag; 76 +} 77 +alias ACMFORMATTAGDETAILSW* LPACMFORMATTAGDETAILSW; 78 + 79 +struct ACMDRIVERDETAILSA { 80 + DWORD cbStruct = ACMDRIVERDETAILSA.sizeof; 81 + FOURCC fccType; 82 + FOURCC fccComp; 83 + WORD wMid; 84 + WORD wPid; 85 + DWORD vdwACM; 86 + DWORD vdwDriver; 87 + DWORD fdwSupport; 88 + DWORD cFormatTags; 89 + DWORD cFilterTags; 90 + HICON hicon; 91 + char[ACMDRIVERDETAILS_SHORTNAME_CHARS] szShortName; 92 + char[ACMDRIVERDETAILS_LONGNAME_CHARS] szLongName; 93 + char[ACMDRIVERDETAILS_COPYRIGHT_CHARS] szCopyright; 94 + char[ACMDRIVERDETAILS_LICENSING_CHARS] szLicensing; 95 + char[ACMDRIVERDETAILS_FEATURES_CHARS] szFeatures; 96 +} 97 +alias ACMDRIVERDETAILSA* LPACMDRIVERDETAILSA; 98 + 99 +struct ACMDRIVERDETAILSW { 100 + DWORD cbStruct = ACMDRIVERDETAILSW.sizeof; 101 + FOURCC fccType; 102 + FOURCC fccComp; 103 + WORD wMid; 104 + WORD wPid; 105 + DWORD vdwACM; 106 + DWORD vdwDriver; 107 + DWORD fdwSupport; 108 + DWORD cFormatTags; 109 + DWORD cFilterTags; 110 + HICON hicon; 111 + WCHAR[ACMDRIVERDETAILS_SHORTNAME_CHARS] szShortName; 112 + WCHAR[ACMDRIVERDETAILS_LONGNAME_CHARS] szLongName; 113 + WCHAR[ACMDRIVERDETAILS_COPYRIGHT_CHARS] szCopyright; 114 + WCHAR[ACMDRIVERDETAILS_LICENSING_CHARS] szLicensing; 115 + WCHAR[ACMDRIVERDETAILS_FEATURES_CHARS] szFeatures; 116 +} 117 +alias ACMDRIVERDETAILSW* LPACMDRIVERDETAILSW; 118 + 119 +extern (Windows) { 120 + alias BOOL function(HACMDRIVERID hadid, LPACMFORMATDETAILSA pafd, 121 + DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATENUMCBA; 122 + alias BOOL function(HACMDRIVERID hadid, LPACMFORMATDETAILSW pafd, 123 + DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATENUMCBW; 124 + alias BOOL function(HACMDRIVERID hadid, LPACMFORMATTAGDETAILSA paftd, 125 + DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATTAGENUMCBA; 126 + alias BOOL function(HACMDRIVERID hadid, LPACMFORMATTAGDETAILSW paftd, 127 + DWORD_PTR dwInstance, DWORD fdwSupport) ACMFORMATTAGENUMCBW; 128 + alias BOOL function(HACMDRIVERID hadid, DWORD_PTR dwInstance, 129 + DWORD fdwSupport) ACMDRIVERENUMCB; 130 + 131 + MMRESULT acmDriverOpen(LPHACMDRIVER phad, HACMDRIVERID hadid, 132 + DWORD fdwOpen); 133 + MMRESULT acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, 134 + DWORD fdwEnum); 135 + MMRESULT acmFormatEnumA(HACMDRIVER had, LPACMFORMATDETAILSA pafd, 136 + ACMFORMATENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum); 137 + MMRESULT acmFormatEnumW(HACMDRIVER had, LPACMFORMATDETAILSW pafd, 138 + ACMFORMATENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum); 139 + MMRESULT acmDriverClose(HACMDRIVER had, DWORD fdwClose); 140 + MMRESULT acmDriverDetailsA(HACMDRIVERID hadid, LPACMDRIVERDETAILSA padd, 141 + DWORD fdwDetails); 142 + MMRESULT acmDriverDetailsW(HACMDRIVERID hadid, LPACMDRIVERDETAILSW padd, 143 + DWORD fdwDetails); 144 + MMRESULT acmFormatTagEnumA(HACMDRIVER had, LPACMFORMATTAGDETAILSA paftd, 145 + ACMFORMATTAGENUMCBA fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum); 146 + MMRESULT acmFormatTagEnumW(HACMDRIVER had, LPACMFORMATTAGDETAILSW paftd, 147 + ACMFORMATTAGENUMCBW fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum); 148 +} 149 + 150 +version (Unicode) { 151 + alias ACMFORMATDETAILSW ACMFORMATDETAILS; 152 + alias ACMFORMATTAGDETAILSW ACMFORMATTAGDETAILS; 153 + alias ACMDRIVERDETAILSW ACMDRIVERDETAILS; 154 + alias ACMFORMATENUMCBW ACMFORMATENUMCB; 155 + alias ACMFORMATTAGENUMCBW ACMFORMATTAGENUMCB; 156 + alias acmFormatEnumW acmFormatEnum; 157 + alias acmDriverDetailsW acmDriverDetails; 158 + alias acmFormatTagEnumW acmFormatTagEnum; 159 +} else { 160 + alias ACMFORMATDETAILSA ACMFORMATDETAILS; 161 + alias ACMFORMATTAGDETAILSA ACMFORMATTAGDETAILS; 162 + alias ACMDRIVERDETAILSA ACMDRIVERDETAILS; 163 + alias ACMFORMATENUMCBA ACMFORMATENUMCB; 164 + alias ACMFORMATTAGENUMCBA ACMFORMATTAGENUMCB; 165 + alias acmFormatEnumA acmFormatEnum; 166 + alias acmDriverDetailsA acmDriverDetails; 167 + alias acmFormatTagEnumA acmFormatTagEnum; 168 +} 169 + 170 +alias ACMFORMATDETAILS* LPACMFORMATDETAILS; 171 +alias ACMFORMATTAGDETAILS* LPACMFORMATTAGDETAILS; 172 +alias ACMDRIVERDETAILS* LPACMDRIVERDETAILS;

Added src/win32/mshtml.d version [de9e44bc4f323794]

1 +/***********************************************************************\ 2 +* mshtml.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.mshtml; 11 + 12 +private import win32.basetyps, win32.oaidl, win32.unknwn, 13 + win32.windef, win32.wtypes; 14 + 15 +// These are used in this file, but not defined in MinGW. 16 +interface IHTMLStyleSheet {}; 17 +alias IHTMLStyle LPHTMLSTYLE; 18 +alias IHTMLStyleSheet LPHTMLSTYLESHEET; 19 +interface IHTMLLocation {}; 20 +alias IHTMLLocation LPHTMLLOCATION; 21 +interface IHTMLFramesCollection {}; 22 +alias IHTMLFramesCollection LPHTMLFRAMESCOLLECTION; 23 +interface IHTMLStyleSheetsCollection {}; 24 +alias IHTMLStyleSheetsCollection LPHTMLSTYLESHEETSCOLLECTION; 25 +interface IHTMLStyle {}; 26 +interface IHTMLFiltersCollection {}; 27 +alias IHTMLFiltersCollection LPHTMLFILTERSCOLLECTION; 28 +interface IOmHistory : IDispatch { 29 + HRESULT get_length(short* p); 30 + HRESULT back(VARIANT*); 31 + HRESULT forward(VARIANT*); 32 + HRESULT go(VARIANT*); 33 +}; 34 +alias IOmHistory LPOMHISTORY; 35 +interface IOmNavigator {}; 36 +alias IOmNavigator LPOMNAVIGATOR; 37 +interface IHTMLImageElementFactory {}; 38 +alias IHTMLImageElementFactory LPHTMLIMAGEELEMENTFACTORY; 39 +interface IHTMLEventObj {}; 40 +alias IHTMLEventObj LPHTMLEVENTOBJ; 41 +interface IHTMLScreen {}; 42 +alias IHTMLScreen LPHTMLSCREEN; 43 +interface IHTMLOptionElementFactory {}; 44 +alias IHTMLOptionElementFactory LPHTMLOPTIONELEMENTFACTORY; 45 + 46 +interface IHTMLLinkElement : IDispatch { 47 + HRESULT put_href(BSTR); 48 + HRESULT get_href(BSTR*); 49 + HRESULT put_rel(BSTR); 50 + HRESULT get_rel(BSTR*); 51 + HRESULT put_rev(BSTR); 52 + HRESULT get_rev(BSTR*); 53 + HRESULT put_type(BSTR); 54 + HRESULT get_type(BSTR*); 55 + HRESULT get_readyState(BSTR*); 56 + HRESULT put_onreadystatechange(VARIANT); 57 + HRESULT get_onreadystatechange(VARIANT*); 58 + HRESULT put_onload(VARIANT); 59 + HRESULT get_onload(VARIANT*); 60 + HRESULT put_onerror(VARIANT); 61 + HRESULT get_onerror(VARIANT*); 62 + HRESULT get_styleSheet(LPHTMLSTYLESHEET*); 63 + HRESULT put_disabled(VARIANT_BOOL); 64 + HRESULT get_disabled(VARIANT_BOOL*); 65 + HRESULT put_media(BSTR); 66 + HRESULT get_media(BSTR*); 67 +} 68 +alias IHTMLLinkElement LPHTMLLINKELEMENT; 69 + 70 +interface IHTMLImgElement : IDispatch { 71 + HRESULT put_isMap(VARIANT_BOOL); 72 + HRESULT get_isMap(VARIANT_BOOL*); 73 + HRESULT put_useMap(BSTR); 74 + HRESULT get_useMap(BSTR*); 75 + HRESULT get_mimeType(BSTR*); 76 + HRESULT get_fileSize(BSTR*); 77 + HRESULT get_fileCreatedDate(BSTR*); 78 + HRESULT get_fileModifiedDate(BSTR*); 79 + HRESULT get_fileUpdatedDate(BSTR*); 80 + HRESULT get_protocol(BSTR*); 81 + HRESULT get_href(BSTR*); 82 + HRESULT get_nameProp(BSTR*); 83 + HRESULT put_border(VARIANT); 84 + HRESULT get_border(VARIANT*); 85 + HRESULT put_vspace(LONG); 86 + HRESULT get_vspace(LONG*); 87 + HRESULT put_hspace(LONG); 88 + HRESULT get_hspace(LONG*); 89 + HRESULT put_alt(BSTR); 90 + HRESULT get_alt(BSTR*); 91 + HRESULT put_src(BSTR); 92 + HRESULT get_src(BSTR*); 93 + HRESULT put_lowsrc(BSTR); 94 + HRESULT get_lowsrc(BSTR*); 95 + HRESULT put_vrml(BSTR); 96 + HRESULT get_vrml(BSTR*); 97 + HRESULT put_dynsrc(BSTR); 98 + HRESULT get_dynsrc(BSTR*); 99 + HRESULT get_readyState(BSTR*); 100 + HRESULT get_complete(VARIANT_BOOL*); 101 + HRESULT put_loop(VARIANT); 102 + HRESULT get_loop(VARIANT*); 103 + HRESULT put_align(BSTR); 104 + HRESULT get_align(BSTR*); 105 + HRESULT put_onload(VARIANT); 106 + HRESULT get_onload(VARIANT*); 107 + HRESULT put_onerror(VARIANT); 108 + HRESULT get_onerror(VARIANT*); 109 + HRESULT put_onabort(VARIANT); 110 + HRESULT get_onabort(VARIANT*); 111 + HRESULT put_name(BSTR); 112 + HRESULT get_name(BSTR*); 113 + HRESULT put_width(LONG); 114 + HRESULT get_width(LONG*); 115 + HRESULT put_height(LONG); 116 + HRESULT get_height(LONG*); 117 + HRESULT put_start(BSTR); 118 + HRESULT get_start(BSTR*); 119 +} 120 +alias IHTMLImgElement LPHTMLIMGELEMENT; 121 + 122 +interface IHTMLElementCollection : IDispatch { 123 + HRESULT toString(BSTR*); 124 + HRESULT put_length(LONG); 125 + HRESULT get_length(LONG*); 126 + HRESULT get__newEnum(IUnknown*); 127 + HRESULT item(VARIANT,VARIANT,IDispatch* pDisp); 128 + HRESULT tags(VARIANT,IDispatch* pdisp); 129 +} 130 +alias IHTMLElementCollection LPHTMLELEMENTCOLLECTION; 131 + 132 +interface IHTMLDocument : IDispatch { 133 + HRESULT get_Script(IDispatch*); 134 +} 135 + 136 +interface IHTMLDocument2 : IHTMLDocument { 137 + HRESULT get_all(LPHTMLELEMENTCOLLECTION*); 138 + HRESULT get_body(LPHTMLELEMENT*); 139 + HRESULT get_activeElement(LPHTMLELEMENT*); 140 + HRESULT get_images(LPHTMLELEMENTCOLLECTION*); 141 + HRESULT get_applets(LPHTMLELEMENTCOLLECTION*); 142 + HRESULT get_links(LPHTMLELEMENTCOLLECTION*); 143 + HRESULT get_forms(LPHTMLELEMENTCOLLECTION*); 144 + HRESULT get_anchors(LPHTMLELEMENTCOLLECTION*); 145 + HRESULT put_title(BSTR); 146 + HRESULT get_title(BSTR*); 147 + HRESULT get_scripts(LPHTMLELEMENTCOLLECTION*); 148 + HRESULT put_designMode(BSTR); 149 + HRESULT get_designMode(BSTR*); 150 + HRESULT get_selection(LPHTMLSELECTIONOBJECT*); 151 + HRESULT get_readyState(BSTR*); 152 + HRESULT get_frames(IHTMLFramesCollection2*); 153 + HRESULT get_embeds(LPHTMLELEMENTCOLLECTION*); 154 + HRESULT get_plugins(LPHTMLELEMENTCOLLECTION*); 155 + HRESULT put_alinkColor(VARIANT); 156 + HRESULT get_alinkColor(VARIANT*); 157 + HRESULT put_bgColor(VARIANT); 158 + HRESULT get_bgColor(VARIANT*); 159 + HRESULT put_fgColor(VARIANT); 160 + HRESULT get_fgColor(VARIANT*); 161 + HRESULT put_linkColor(VARIANT); 162 + HRESULT get_linkColor(VARIANT*); 163 + HRESULT put_vlinkColor(VARIANT); 164 + HRESULT get_vlinkColor(VARIANT*); 165 + HRESULT get_referrer(BSTR*); 166 + HRESULT get_location(LPHTMLLOCATION*); 167 + HRESULT get_lastModified(BSTR*); 168 + HRESULT put_url(BSTR); 169 + HRESULT get_url(BSTR*); 170 + HRESULT put_domain(BSTR); 171 + HRESULT get_domain(BSTR*); 172 + HRESULT put_cookie(BSTR); 173 + HRESULT get_cookie(BSTR*); 174 + HRESULT put_expands(VARIANT_BOOL); 175 + HRESULT get_expands(VARIANT_BOOL*); 176 + HRESULT put_charset(BSTR); 177 + HRESULT get_charset(BSTR*); 178 + HRESULT put_defaultCharset(BSTR); 179 + HRESULT get_defaultCharset(BSTR*); 180 + HRESULT get_mimeType(BSTR*); 181 + HRESULT get_fileSize(BSTR*); 182 + HRESULT get_fileCreatedDate(BSTR*); 183 + HRESULT get_fileModifiedDate(BSTR*); 184 + HRESULT get_fileUpdatedDate(BSTR*); 185 + HRESULT get_security(BSTR*); 186 + HRESULT get_protocol(BSTR*); 187 + HRESULT get_nameProp(BSTR*); 188 + HRESULT write(SAFEARRAY*); 189 + HRESULT writeln(SAFEARRAY*); 190 + HRESULT open(BSTR,VARIANT,VARIANT,VARIANT,IDispatch*); 191 + HRESULT close(); 192 + HRESULT clear(); 193 + HRESULT queryCommandSupported(BSTR,VARIANT_BOOL*); 194 + HRESULT queryCommandEnabled(BSTR,VARIANT_BOOL*); 195 + HRESULT queryCommandState(BSTR,VARIANT_BOOL*); 196 + HRESULT queryCommandIndeterm(BSTR,VARIANT_BOOL*); 197 + HRESULT queryCommandText(BSTR,BSTR*); 198 + HRESULT queryCommandValue(BSTR,VARIANT*); 199 + HRESULT execCommand(BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*); 200 + HRESULT execCommandShowHelp(BSTR,VARIANT_BOOL*); 201 + HRESULT createElement(BSTR,LPHTMLELEMENT*); 202 + HRESULT put_onhelp(VARIANT); 203 + HRESULT get_onhelp(VARIANT*); 204 + HRESULT put_onclick(VARIANT); 205 + HRESULT get_onclick(VARIANT*); 206 + HRESULT put_ondblclick(VARIANT); 207 + HRESULT get_ondblclick(VARIANT*); 208 + HRESULT put_onkeyup(VARIANT); 209 + HRESULT get_onkeyup(VARIANT*); 210 + HRESULT put_onkeydown(VARIANT); 211 + HRESULT get_onkeydown(VARIANT*); 212 + HRESULT put_onkeypress(VARIANT); 213 + HRESULT get_onkeypress(VARIANT*); 214 + HRESULT put_onmouseup(VARIANT); 215 + HRESULT get_onmouseup(VARIANT*); 216 + HRESULT put_onmousedown(VARIANT); 217 + HRESULT get_onmousedown(VARIANT*); 218 + HRESULT put_onmousemove(VARIANT); 219 + HRESULT get_onmousemove(VARIANT*); 220 + HRESULT put_onmouseout(VARIANT); 221 + HRESULT get_onmouseout(VARIANT*); 222 + HRESULT put_onmouseover(VARIANT); 223 + HRESULT get_onmouseover(VARIANT*); 224 + HRESULT put_onreadystatechange(VARIANT); 225 + HRESULT get_onreadystatechange(VARIANT*); 226 + HRESULT put_onafterupdate(VARIANT); 227 + HRESULT get_onafterupdate(VARIANT*); 228 + HRESULT put_onrowexit(VARIANT); 229 + HRESULT get_onrowexit(VARIANT*); 230 + HRESULT put_onrowenter(VARIANT); 231 + HRESULT get_onrowenter(VARIANT*); 232 + HRESULT put_ondragstart(VARIANT); 233 + HRESULT get_ondragstart(VARIANT*); 234 + HRESULT put_onselectstart(VARIANT); 235 + HRESULT get_onselectstart(VARIANT*); 236 + HRESULT elementFromPoint(LONG,LONG,LPHTMLELEMENT*); 237 + HRESULT get_parentWindow(LPHTMLWINDOW2*); 238 + HRESULT get_styleSheets(LPHTMLSTYLESHEETSCOLLECTION*); 239 + HRESULT put_onbeforeupdate(VARIANT); 240 + HRESULT get_onbeforeupdate(VARIANT*); 241 + HRESULT put_onerrorupdate(VARIANT); 242 + HRESULT get_onerrorupdate(VARIANT*); 243 + HRESULT toString(BSTR*); 244 + HRESULT createStyleSheet(BSTR,LONG,LPHTMLSTYLESHEET*); 245 +} 246 + 247 +interface IHTMLSelectionObject : IDispatch { 248 + HRESULT createRange(IDispatch*); 249 + HRESULT empty(); 250 + HRESULT clear(); 251 + HRESULT get_type(BSTR*); 252 +} 253 +alias IHTMLSelectionObject LPHTMLSELECTIONOBJECT; 254 + 255 +interface IHTMLTxtRange : IDispatch { 256 + HRESULT get_htmlText(BSTR*); 257 + HRESULT put_text(BSTR); 258 + HRESULT get_text(BSTR*); 259 + HRESULT parentElement(LPHTMLELEMENT*); 260 + HRESULT duplicate(IHTMLTxtRange*); 261 + HRESULT inRange(IHTMLTxtRange,VARIANT_BOOL*); 262 + HRESULT isEqual(IHTMLTxtRange,VARIANT_BOOL*); 263 + HRESULT scrollIntoView(VARIANT_BOOL); 264 + HRESULT collapse(VARIANT_BOOL); 265 + HRESULT expand(BSTR,VARIANT_BOOL*); 266 + HRESULT move(BSTR,LONG,LONG*); 267 + HRESULT moveStart(BSTR,LONG,LONG*); 268 + HRESULT moveEnd(BSTR,LONG,LONG*); 269 + HRESULT select(); 270 + HRESULT pasteHTML(BSTR); 271 + HRESULT moveToElementText(LPHTMLELEMENT); 272 + HRESULT setEndPoint(BSTR,IHTMLTxtRange); 273 + HRESULT compareEndPoints(BSTR,IHTMLTxtRange,LONG*); 274 + HRESULT findText(BSTR,LONG,LONG,VARIANT_BOOL*); 275 + HRESULT moveToPoint(LONG,LONG); 276 + HRESULT getBookmark(BSTR*); 277 + HRESULT moveToBookbark(BSTR,VARIANT_BOOL*); 278 + HRESULT queryCommandSupported(BSTR,VARIANT_BOOL*); 279 + HRESULT queryCommandEnabled(BSTR,VARIANT_BOOL*); 280 + HRESULT queryCommandState(BSTR,VARIANT_BOOL*); 281 + HRESULT queryCommandIndeterm(BSTR,VARIANT_BOOL*); 282 + HRESULT queryCommandText(BSTR,BSTR*); 283 + HRESULT queryCommandValue(BSTR,VARIANT*); 284 + HRESULT execCommand(BSTR,VARIANT_BOOL,VARIANT,VARIANT_BOOL*); 285 + HRESULT execCommandShowHelp(BSTR,VARIANT_BOOL*); 286 +} 287 + 288 +interface IHTMLElement : IDispatch { 289 + HRESULT setAttribute(BSTR,VARIANT,LONG); 290 + HRESULT getAttribute(BSTR,LONG,VARIANT*); 291 + HRESULT removeAttribute(BSTR,LONG,VARIANT_BOOL*); 292 + HRESULT put_className(BSTR); 293 + HRESULT get_className(ref BSTR); 294 + HRESULT put_id(BSTR); 295 + HRESULT get_id(ref BSTR); 296 + HRESULT get_tagName(ref BSTR); 297 + HRESULT get_parentElement(LPHTMLELEMENT*); 298 + HRESULT get_style(LPHTMLSTYLE*); 299 + HRESULT put_onhelp(VARIANT); 300 + HRESULT get_onhelp(VARIANT*); 301 + HRESULT put_onclick(VARIANT); 302 + HRESULT get_onclick(VARIANT*); 303 + HRESULT put_ondblclick(VARIANT); 304 + HRESULT get_ondblclick(VARIANT*); 305 + HRESULT put_onkeydown(VARIANT); 306 + HRESULT get_onkeydown(VARIANT*); 307 + HRESULT put_onkeyup(VARIANT); 308 + HRESULT get_onkeyup(VARIANT*); 309 + HRESULT put_onkeypress(VARIANT); 310 + HRESULT get_onkeypress(VARIANT*); 311 + HRESULT put_onmouseout(VARIANT); 312 + HRESULT get_onmouseout(VARIANT*); 313 + HRESULT put_onmouseover(VARIANT); 314 + HRESULT get_onmouseover(VARIANT*); 315 + HRESULT put_onmousemove(VARIANT); 316 + HRESULT get_onmousemove(VARIANT*); 317 + HRESULT put_onmousedown(VARIANT); 318 + HRESULT get_onmousedown(VARIANT*); 319 + HRESULT put_onmouseup(VARIANT); 320 + HRESULT get_onmouseup(VARIANT*); 321 + HRESULT get_document(IDispatch*); 322 + HRESULT put_title(BSTR); 323 + HRESULT get_title(ref BSTR); 324 + HRESULT put_language(BSTR); 325 + HRESULT get_language(ref BSTR); 326 + HRESULT put_onselectstart(VARIANT); 327 + HRESULT get_onselectstart(VARIANT*); 328 + HRESULT scrollIntoView(VARIANT); 329 + HRESULT contains(LPHTMLELEMENT,VARIANT_BOOL*); 330 + HRESULT get_source3Index(LONG*); 331 + HRESULT get_recordNumber(VARIANT*); 332 + HRESULT put_lang(BSTR); 333 + HRESULT get_lang(ref BSTR); 334 + HRESULT get_offsetLeft(LONG*); 335 + HRESULT get_offsetTop(LONG*); 336 + HRESULT get_offsetWidth(LONG*); 337 + HRESULT get_offsetHeight(LONG*); 338 + HRESULT get_offsetParent(LPHTMLELEMENT*); 339 + HRESULT put_innerHTML(BSTR); 340 + HRESULT get_innerHTML(ref BSTR); 341 + HRESULT put_innerText(BSTR); 342 + HRESULT get_innerText(ref BSTR); 343 + HRESULT put_outerHTML(BSTR); 344 + HRESULT get_outerHTML(ref BSTR); 345 + HRESULT put_outerText(BSTR); 346 + HRESULT get_outerText(ref BSTR); 347 + HRESULT insertAdjacentHTML(BSTR,BSTR); 348 + HRESULT insertAdjacentText(BSTR,BSTR); 349 + HRESULT get_parentTextEdit(LPHTMLELEMENT*); 350 + HRESULT isTextEdit(VARIANT_BOOL*); 351 + HRESULT click(); 352 + HRESULT get_filters(LPHTMLFILTERSCOLLECTION*); 353 + HRESULT put_ondragstart(VARIANT); 354 + HRESULT get_ondragstart(VARIANT*); 355 + HRESULT toString(BSTR*); 356 + HRESULT put_onbeforeupdate(VARIANT); 357 + HRESULT get_onbeforeupdate(VARIANT*); 358 + HRESULT put_onafterupdate(VARIANT); 359 + HRESULT get_onafterupdate(VARIANT*); 360 + HRESULT put_onerrorupdate(VARIANT); 361 + HRESULT get_onerrorupdate(VARIANT*); 362 + HRESULT put_onrowexit(VARIANT); 363 + HRESULT get_onrowexit(VARIANT*); 364 + HRESULT put_onrowenter(VARIANT); 365 + HRESULT get_onrowenter(VARIANT*); 366 + HRESULT put_ondatasetchanged(VARIANT); 367 + HRESULT get_ondatasetchanged(VARIANT*); 368 + HRESULT put_ondataavailable(VARIANT); 369 + HRESULT get_ondataavailable(VARIANT*); 370 + HRESULT put_ondatasetcomplete(VARIANT); 371 + HRESULT get_ondatasetcomplete(VARIANT*); 372 + HRESULT put_onfilterchange(VARIANT); 373 + HRESULT get_onfilterchange(VARIANT*); 374 + HRESULT get_children(IDispatch*); 375 + HRESULT get_all(IDispatch*); 376 +} 377 +alias IHTMLElement LPHTMLELEMENT; 378 + 379 +interface IHTMLFramesCollection2 : IDispatch { 380 + HRESULT item(VARIANT*,VARIANT*); 381 + HRESULT get_length(LONG*); 382 +} 383 + 384 +interface IHTMLWindow2 : IHTMLFramesCollection2 { 385 + HRESULT get_frames(IHTMLFramesCollection2*); 386 + HRESULT put_defaultStatus(BSTR); 387 + HRESULT get_defaultStatus(BSTR*); 388 + HRESULT put_status(BSTR); 389 + HRESULT get_status(BSTR*); 390 + HRESULT setTimeout(BSTR,LONG,VARIANT*,LONG*); 391 + HRESULT clearTimeout(LONG); 392 + HRESULT alert(BSTR); 393 + HRESULT confirm(BSTR,VARIANT_BOOL*); 394 + HRESULT prompt(BSTR,BSTR,VARIANT*); 395 + HRESULT get_Image(LPHTMLIMAGEELEMENTFACTORY*); 396 + HRESULT get_location(LPHTMLLOCATION*); 397 + HRESULT get_history(LPOMHISTORY*); 398 + HRESULT close(); 399 + HRESULT put_opener(VARIANT); 400 + HRESULT get_opener(VARIANT*); 401 + HRESULT get_navigator(LPOMNAVIGATOR*); 402 + HRESULT put_name(BSTR); 403 + HRESULT get_name(BSTR*); 404 + HRESULT get_parent(LPHTMLWINDOW2*); 405 + HRESULT open(BSTR,BSTR,BSTR,VARIANT_BOOL,LPHTMLWINDOW2*); 406 + HRESULT get_self(LPHTMLWINDOW2*); 407 + HRESULT get_top(LPHTMLWINDOW2*); 408 + HRESULT get_window(LPHTMLWINDOW2*); 409 + HRESULT navigate(BSTR); 410 + HRESULT put_onfocus(VARIANT); 411 + HRESULT get_onfocus(VARIANT*); 412 + HRESULT put_onblur(VARIANT); 413 + HRESULT get_onblur(VARIANT*); 414 + HRESULT put_onload(VARIANT); 415 + HRESULT get_onload(VARIANT*); 416 + HRESULT put_onbeforeunload(VARIANT); 417 + HRESULT get_onbeforeunload(VARIANT*); 418 + HRESULT put_onunload(VARIANT); 419 + HRESULT get_onunload(VARIANT*); 420 + HRESULT put_onhelp(VARIANT); 421 + HRESULT get_onhelp(VARIANT*); 422 + HRESULT put_onerror(VARIANT); 423 + HRESULT get_onerror(VARIANT*); 424 + HRESULT put_onresize(VARIANT); 425 + HRESULT get_onresize(VARIANT*); 426 + HRESULT put_onscroll(VARIANT); 427 + HRESULT get_onscroll(VARIANT*); 428 + HRESULT get_document(IHTMLDocument2*); 429 + HRESULT get_event(LPHTMLEVENTOBJ*); 430 + HRESULT get__newEnum(IUnknown*); 431 + HRESULT showModalDialog(BSTR,VARIANT*,VARIANT*,VARIANT*); 432 + HRESULT showHelp(BSTR,VARIANT,BSTR); 433 + HRESULT get_screen(LPHTMLSCREEN*); 434 + HRESULT get_Option(LPHTMLOPTIONELEMENTFACTORY*); 435 + HRESULT focus(); 436 + HRESULT get_closed(VARIANT_BOOL*); 437 + HRESULT blur(); 438 + HRESULT scroll(long,long); 439 + HRESULT get_clientInformation(LPOMNAVIGATOR*); 440 + HRESULT setInterval(BSTR,long,VARIANT*,long*); 441 + HRESULT clearInterval(long); 442 + HRESULT put_offscreenBuffering(VARIANT); 443 + HRESULT get_offscreenBuffering(VARIANT*); 444 + HRESULT execScript(BSTR,BSTR,VARIANT*); 445 + HRESULT toString(BSTR*); 446 + HRESULT scrollBy(LONG,LONG); 447 + HRESULT scrollTo(LONG,LONG); 448 + HRESULT moveTo(LONG,LONG); 449 + HRESULT moveBy(LONG,LONG); 450 + HRESULT resizeTo(LONG,LONG); 451 + HRESULT resizeBy(LONG,LONG); 452 + HRESULT get_external(IDispatch*); 453 +} 454 +alias IHTMLWindow2 LPHTMLWINDOW2; 455 + 456 +interface IHTMLFrameBase : IDispatch { 457 + HRESULT put_src(BSTR); 458 + HRESULT get_src(BSTR*); 459 + HRESULT put_name(BSTR); 460 + HRESULT get_name(BSTR*); 461 + HRESULT put_border(VARIANT); 462 + HRESULT get_border(VARIANT*); 463 + HRESULT put_frameBorder(BSTR); 464 + HRESULT get_frameBorder(BSTR*); 465 + HRESULT put_frameSpacing(VARIANT); 466 + HRESULT get_frameSpacing(VARIANT*); 467 + HRESULT put_marginWidth(VARIANT); 468 + HRESULT get_marginWidth(VARIANT*); 469 + HRESULT put_marginHeight(VARIANT); 470 + HRESULT get_marginHeight(VARIANT*); 471 + HRESULT put_noResize(VARIANT_BOOL); 472 + HRESULT get_noResize(VARIANT_BOOL*); 473 + HRESULT put_scrolling(BSTR); 474 + HRESULT get_scrolling(BSTR*); 475 +} 476 + 477 +interface IHTMLFrameBase2 : IDispatch { 478 + HRESULT get_contentWindow(IHTMLWindow2 *); 479 + HRESULT put_onload(VARIANT); 480 + HRESULT get_onload(VARIANT*); 481 + HRESULT put_onreadystatechange(VARIANT); 482 + HRESULT get_onreadystatechange(VARIANT*); 483 + HRESULT get_readyState(BSTR*); 484 + HRESULT put_allowTransparency(VARIANT_BOOL); 485 + HRESULT get_allowTransparency(VARIANT_BOOL*); 486 +} 487 + 488 +interface IHTMLFrameBase3 : IDispatch { 489 + HRESULT put_longDesc(BSTR); 490 + HRESULT get_longDesc(BSTR*); 491 +} 492 + 493 +interface IHTMLBodyElement : IDispatch { 494 + HRESULT put_background(BSTR); 495 + HRESULT get_background(BSTR*); 496 + HRESULT put_bgProperties(BSTR); 497 + HRESULT get_bgProperties(BSTR*); 498 + HRESULT put_leftMargin(VARIANT); 499 + HRESULT get_leftMargin(VARIANT*); 500 + HRESULT put_topMargin(VARIANT); 501 + HRESULT get_topMargin(VARIANT*); 502 + HRESULT put_rightMargin(VARIANT); 503 + HRESULT get_rightMargin(VARIANT*); 504 + HRESULT put_bottomMargin(VARIANT); 505 + HRESULT get_bottomMargin(VARIANT*); 506 + HRESULT put_noWrap(VARIANT_BOOL); 507 + HRESULT get_noWrap(VARIANT_BOOL*); 508 + HRESULT put_bgColor(VARIANT); 509 + HRESULT get_bgColor(VARIANT*); 510 + HRESULT put_text(VARIANT); 511 + HRESULT get_text(VARIANT*); 512 + HRESULT put_link(VARIANT); 513 + HRESULT get_link(VARIANT*); 514 + HRESULT put_vLink(VARIANT); 515 + HRESULT get_vLink(VARIANT*); 516 + HRESULT put_aLink(VARIANT); 517 + HRESULT get_aLink(VARIANT*); 518 + HRESULT put_onload(VARIANT); 519 + HRESULT get_onload(VARIANT*); 520 + HRESULT put_onunload(VARIANT); 521 + HRESULT get_onunload(VARIANT*); 522 + HRESULT put_scroll(BSTR); 523 + HRESULT get_scroll(BSTR*); 524 + HRESULT put_onselect(VARIANT); 525 + HRESULT get_onselect(VARIANT*); 526 + HRESULT put_onbeforeunload(VARIANT); 527 + HRESULT get_onbeforeunload(VARIANT*); 528 + HRESULT createTextRange(IHTMLTxtRange*); 529 +} 530 + 531 +interface IHTMLBodyElement2 : IDispatch { 532 + HRESULT put_onbeforeprint(VARIANT); 533 + HRESULT get_onbeforeprint(VARIANT*); 534 + HRESULT put_onafterprint(VARIANT); 535 + HRESULT get_onafterprint(VARIANT*); 536 +}

Added src/win32/mswsock.d version [9e582cf95c9e24a6]

1 +/***********************************************************************\ 2 +* mswsock.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Daniel Keep * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.mswsock; 12 + 13 +import win32.winbase, win32.windef; 14 +private import win32.basetyps, win32.w32api; 15 + 16 +// FIXME: clean up Windows version support 17 + 18 +version (Win32_Winsock2) pragma(msg, 19 + "Version Win32_Winsock2 is deprecated; Winsock2 is now imported by default"); 20 + 21 +// Pull in Winsock1 if the user has put "Win32_Winsock1" on the compile 22 +// line; otherwise, default to Winsock2. 23 +version (Win32_Winsock1) { 24 + import win32.winsock; 25 +} else { 26 + import win32.winsock2; 27 +} 28 + 29 +static if (_WIN32_WINNT_ONLY) { 30 + static if (_WIN32_WINNT >= 0x500) { 31 + enum { 32 + /* WinNT5+: 33 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm */ 34 + SO_MAXDG = 0x7009, 35 + SO_MAXPATHDG = 0x700A, 36 + } 37 + } 38 + 39 + enum { 40 + /* WinNT4+: 41 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options_for_windows_nt_4_0_2.htm */ 42 + SO_CONNDATA = 0x7000, 43 + SO_CONNOPT = 0x7001, 44 + SO_DISCDATA = 0x7002, 45 + SO_DISCOPT = 0x7003, 46 + SO_CONNDATALEN = 0x7004, 47 + SO_CONNOPTLEN = 0x7005, 48 + SO_DISCDATALEN = 0x7006, 49 + SO_DISCOPTLEN = 0x7007, 50 + 51 + /* WinNT4: 52 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm */ 53 + SO_UPDATE_ACCEPT_CONTENT = 0x700B, 54 + } 55 +} 56 + 57 +enum { 58 + /* Win95+, WinNT4+ but apparently shouldn't used: mark as deprecated? 59 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm */ 60 + SO_OPENTYPE = 0x7008, 61 + 62 + /* Win95+; these two are passed to the SO_OPENTYPE option as arguments, 63 + so would they be deprecated as well? 64 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm */ 65 + SO_SYNCHRONOUS_ALERT = 0x0010, 66 + SO_SYNCHRONOUS_NONALERT = 0x0020, 67 + 68 + /* Win95: 69 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/socket_options.htm */ 70 + SO_CONNECT_TIME = 0x700C, 71 +} 72 + 73 + 74 +static if (_WIN32_WINNT_ONLY) { 75 + enum { 76 + TCP_BSDURGENT = 0x7000, 77 + } 78 + 79 + /* These *appear* to be constants for passing to the TransmitFile / 80 + TransmitPackets functions, which are available in WinNT3.51+ 81 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfile_2.htm */ 82 + enum { 83 + TF_DISCONNECT = 1, 84 + TF_REUSE_SOCKET = 2, 85 + TF_WRITE_BEHIND = 4, 86 + TF_USE_DEFAULT_WORKER = 0, 87 + TF_USE_SYSTEM_THREAD = 16, 88 + TF_USE_KERNEL_APC = 32 89 + } 90 +} 91 + 92 +/* Win95+, WinNT3.51+ 93 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmit_file_buffers_2.htm */ 94 +struct TRANSMIT_FILE_BUFFERS { 95 + PVOID Head; 96 + DWORD HeadLength; 97 + PVOID Tail; 98 + DWORD TailLength; 99 +} 100 +alias TRANSMIT_FILE_BUFFERS* PTRANSMIT_FILE_BUFFERS, LPTRANSMIT_FILE_BUFFERS; 101 + 102 +extern(Windows) { 103 + /* Win95+, WinNT3.51+ 104 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/wsarecvex_2.htm */ 105 + int WSARecvEx(SOCKET, char*, int, int*); 106 + 107 + /* Win95+, WinNT3.51+ 108 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/getacceptexSOCKADDRs_2.htm */ 109 + VOID GetAcceptExSockaddrs(PVOID, DWORD, DWORD, DWORD, SOCKADDR**, LPINT, SOCKADDR**, LPINT); 110 + 111 + static if (_WIN32_WINNT_ONLY) { 112 + /* WinNT3.51+ 113 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmitfile_2.htm */ 114 + BOOL TransmitFile(SOCKET, HANDLE, DWORD, DWORD, LPOVERLAPPED, LPTRANSMIT_FILE_BUFFERS, DWORD); 115 + 116 + /* WinNT3.51+ 117 + ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/acceptex_2.htm */ 118 + alias BOOL function(SOCKET, SOCKET, PVOID, DWORD, DWORD, DWORD, LPDWORD, LPOVERLAPPED) LPFN_ACCEPTEX; 119 + const GUID WSAID_ACCEPTEX = {0xb5367df1,0xcbac,0x11cf,[0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92]}; 120 + 121 + alias BOOL function(SOCKET, SOCKADDR*, int, PVOID, DWORD, LPDWORD, LPOVERLAPPED) LPFN_CONNECTEX; 122 + const GUID WSAID_CONNECTEX = {0x25a207b9,0xddf3,0x4660,[0x8e,0xe9,0x76,0xe5,0x8c,0x74,0x06,0x3e]}; 123 + } 124 +} 125 + 126 +version(Win32_Winsock1) { 127 +} else { 128 + static if (WINVER > 0x501) { 129 + /* These appear to be constants for the TRANSMIT_PACKETS_ELEMENT 130 + * structure below, so I've given them the same minimum version 131 + */ 132 + enum { 133 + TP_ELEMENT_FILE = 1, 134 + TP_ELEMENT_MEMORY = 2, 135 + TP_ELEMENT_EOP = 4 136 + } 137 + 138 + /* WinXP+, Srv2k3+ 139 + * ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/transmit_packets_element_2.htm 140 + */ 141 + struct TRANSMIT_PACKETS_ELEMENT { 142 + ULONG dwElFlags; 143 + ULONG cLength; 144 + union { 145 + struct { 146 + LARGE_INTEGER nFileOffset; 147 + HANDLE hFile; 148 + } 149 + PVOID pBuffer; 150 + } 151 + } 152 + 153 + /* WinXP+, Server2003+: 154 + * ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/wsamsg_2.htm 155 + */ 156 + struct WSAMSG { 157 + LPSOCKADDR name; 158 + INT namelen; 159 + LPWSABUF lpBuffers; 160 + DWORD dwBufferCount; 161 + WSABUF Control; 162 + DWORD dwFlags; 163 + } 164 + 165 + alias WSAMSG* PWSAMSG, LPWSAMSG; 166 + 167 + /* According to MSDN docs, the WSAMSG.Control buffer starts with a 168 + cmsghdr header of the following form. See also RFC 2292. */ 169 + /* DK: Confirmed. So I suppose these should get the same version as 170 + WSAMSG... */ 171 + struct WSACMSGHDR { 172 + UINT cmsg_len; 173 + INT cmsg_level; 174 + INT cmsg_type; 175 + // followed by UCHAR cmsg_data[]; 176 + } 177 + 178 + /* TODO: Standard Posix.1g macros as per RFC 2292, with WSA_uglification. */ 179 + /* DK: MinGW doesn't define these, and neither does the MSDN docs. Might have 180 + to actually look up RFC 2292... */ 181 + /+ 182 + #if 0 183 + #define WSA_CMSG_FIRSTHDR(mhdr) 184 + #define WSA_CMSG_NXTHDR(mhdr, cmsg) 185 + #define WSA_CMSG_SPACE(length) 186 + #define WSA_CMSG_LEN(length) 187 + #endif 188 + +/ 189 + 190 + extern(Windows) 191 + { 192 + /* WinXP+, Srv2k3+ 193 + * ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/disconnectex_2.htm 194 + */ 195 + BOOL DisconnectEx(SOCKET, LPOVERLAPPED, DWORD, DWORD); 196 + 197 + /* WinXP+, Srv2k3+ 198 + * ms-help://MS.MSDNQTR.2003FEB.1033/winsock/winsock/wsarecvmsg_2.htm 199 + */ 200 + int WSARecvMsg(SOCKET, LPWSAMSG, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE); 201 + } 202 + } 203 +}

Added src/win32/nb30.d version [5d75fa8a12a29c69]

1 +/***********************************************************************\ 2 +* nb30.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.nb30; 12 + 13 +private import win32.windef; 14 + 15 +const size_t 16 + NCBNAMSZ = 16, 17 + MAX_LANA = 254; 18 + 19 +// FIXME: are these really two sets of constants? 20 +enum : UCHAR { 21 + REGISTERING = 0, 22 + REGISTERED = 4, 23 + DEREGISTERED, 24 + DUPLICATE, 25 + DUPLICATE_DEREG, // = 7 26 + UNIQUE_NAME = 0, 27 + GROUP_NAME = 0x80, 28 + NAME_FLAGS_MASK = 0x87 29 +} 30 + 31 +enum : UCHAR { 32 + LISTEN_OUTSTANDING = 1, 33 + CALL_PENDING, 34 + SESSION_ESTABLISHED, 35 + HANGUP_PENDING, 36 + HANGUP_COMPLETE, 37 + SESSION_ABORTED // = 6 38 +} 39 + 40 +const char[4] 41 + ALL_TRANSPORTS = "M\0\0\0", 42 + MS_NBF = "MNBF"; 43 + 44 +enum : UCHAR { 45 + NCBCALL = 0x10, 46 + NCBLISTEN, 47 + NCBHANGUP, // = 0x12 48 + NCBSEND = 0x14, 49 + NCBRECV, 50 + NCBRECVANY, 51 + NCBCHAINSEND, // = 0x17 52 + NCBDGSEND = 0x20, 53 + NCBDGRECV, 54 + NCBDGSENDBC, 55 + NCBDGRECVBC, // = 0x23, 56 + NCBADDNAME = 0x30, 57 + NCBDELNAME, 58 + NCBRESET, 59 + NCBASTAT, 60 + NCBSSTAT, 61 + NCBCANCEL, 62 + NCBADDGRNAME, 63 + NCBENUM, // = 0x37 64 + NCBUNLINK = 0x70, 65 + NCBSENDNA, 66 + NCBCHAINSENDNA, 67 + NCBLANSTALERT, // = 0x73 68 + NCBACTION = 0x77, 69 + NCBFINDNAME, 70 + NCBTRACE // = 0x79 71 +} 72 + 73 +const UCHAR ASYNCH = 0x80; 74 + 75 +enum : UCHAR { 76 + NRC_GOODRET = 0x00, 77 + NRC_BUFLEN = 0x01, 78 + NRC_ILLCMD = 0x03, 79 + NRC_CMDTMO = 0x05, 80 + NRC_INCOMP, 81 + NRC_BADDR, 82 + NRC_SNUMOUT, 83 + NRC_NORES, 84 + NRC_SCLOSED, 85 + NRC_CMDCAN, // = 0x0b 86 + NRC_DUPNAME = 0x0d, 87 + NRC_NAMTFUL, 88 + NRC_ACTSES, // = 0x0f, 89 + NRC_LOCTFUL = 0x11, 90 + NRC_REMTFUL, 91 + NRC_ILLNN, 92 + NRC_NOCALL, 93 + NRC_NOWILD, 94 + NRC_INUSE, 95 + NRC_NAMERR, 96 + NRC_SABORT, 97 + NRC_NAMCONF, // = 0x19 98 + NRC_IFBUSY = 0x21, 99 + NRC_TOOMANY, 100 + NRC_BRIDGE, 101 + NRC_CANOCCR, // = 0x24 102 + NRC_CANCEL = 0x26, 103 + NRC_DUPENV = 0x30, 104 + NRC_ENVNOTDEF = 0x34, 105 + NRC_OSRESNOTAV, 106 + NRC_MAXAPPS, 107 + NRC_NOSAPS, 108 + NRC_NORESOURCES, 109 + NRC_INVADDRESS, // = 0x39 110 + NRC_INVDDID = 0x3B, 111 + NRC_LOCKFAIL = 0x3C, 112 + NRC_OPENERR = 0x3f, 113 + NRC_SYSTEM = 0x40, 114 + NRC_PENDING = 0xff 115 +} 116 + 117 +struct ACTION_HEADER { 118 + union { 119 + /* transport_id is defined as a ULONG, but both the above constants 120 + * and the documented description suggest it should be a char[4] 121 + */ 122 + ULONG transport_id; 123 + char[4] c_transport_id; 124 + } 125 + USHORT action_code; 126 + USHORT reserved; 127 +} 128 +alias ACTION_HEADER* PACTION_HEADER; 129 + 130 +struct ADAPTER_STATUS { 131 + UCHAR[6] adapter_address; 132 + UCHAR rev_major; 133 + UCHAR reserved0; 134 + UCHAR adapter_type; 135 + UCHAR rev_minor; 136 + WORD duration; 137 + WORD frmr_recv; 138 + WORD frmr_xmit; 139 + WORD iframe_recv_err; 140 + WORD xmit_aborts; 141 + DWORD xmit_success; 142 + DWORD recv_success; 143 + WORD iframe_xmit_err; 144 + WORD recv_buff_unavail; 145 + WORD t1_timeouts; 146 + WORD ti_timeouts; 147 + DWORD reserved1; 148 + WORD free_ncbs; 149 + WORD max_cfg_ncbs; 150 + WORD max_ncbs; 151 + WORD xmit_buf_unavail; 152 + WORD max_dgram_size; 153 + WORD pending_sess; 154 + WORD max_cfg_sess; 155 + WORD max_sess; 156 + WORD max_sess_pkt_size; 157 + WORD name_count; 158 +} 159 +alias ADAPTER_STATUS* PADAPTER_STATUS; 160 + 161 +struct FIND_NAME_BUFFER { 162 + /* From Win32 API docs 163 + * 164 + * length 165 + * Specifies the length, in bytes, of the FIND_NAME_BUFFER 166 + * structure. Although this structure always occupies 33 bytes, 167 + * not all of the structure is necessarily valid. 168 + * 169 + * On this basis, should length be initialised? 170 + */ 171 + UCHAR length; 172 + UCHAR access_control; 173 + UCHAR frame_control; 174 + UCHAR[6] destination_addr; 175 + UCHAR[6] source_addr; 176 + UCHAR[18] routing_info; 177 +} 178 +alias FIND_NAME_BUFFER* PFIND_NAME_BUFFER; 179 + 180 +struct FIND_NAME_HEADER { 181 + WORD node_count; 182 + UCHAR reserved; 183 + UCHAR unique_group; 184 +} 185 +alias FIND_NAME_HEADER* PFIND_NAME_HEADER; 186 + 187 +struct LANA_ENUM { 188 + UCHAR length; 189 + UCHAR[MAX_LANA+1] lana; 190 +} 191 +alias LANA_ENUM* PLANA_ENUM; 192 + 193 +struct NAME_BUFFER { 194 + UCHAR[NCBNAMSZ] name; 195 + UCHAR name_num; 196 + UCHAR name_flags; 197 +} 198 +alias NAME_BUFFER* PNAME_BUFFER; 199 + 200 +struct NCB { 201 + UCHAR ncb_command; 202 + UCHAR ncb_retcode; 203 + UCHAR ncb_lsn; 204 + UCHAR ncb_num; 205 + PUCHAR ncb_buffer; 206 + WORD ncb_length; 207 + UCHAR[NCBNAMSZ] ncb_callname; 208 + UCHAR[NCBNAMSZ] ncb_name; 209 + UCHAR ncb_rto; 210 + UCHAR ncb_sto; 211 + extern (Windows) void function(NCB*) ncb_post; 212 + UCHAR ncb_lana_num; 213 + UCHAR ncb_cmd_cplt; 214 + UCHAR ncb_reserve[10]; 215 + HANDLE ncb_event; 216 +} 217 +alias NCB* PNCB; 218 + 219 +struct SESSION_BUFFER { 220 + UCHAR lsn; 221 + UCHAR state; 222 + UCHAR[NCBNAMSZ] local_name; 223 + UCHAR[NCBNAMSZ] remote_name; 224 + UCHAR rcvs_outstanding; 225 + UCHAR sends_outstanding; 226 +} 227 +alias SESSION_BUFFER* PSESSION_BUFFER; 228 + 229 +struct SESSION_HEADER { 230 + UCHAR sess_name; 231 + UCHAR num_sess; 232 + UCHAR rcv_dg_outstanding; 233 + UCHAR rcv_any_outstanding; 234 +} 235 +alias SESSION_HEADER* PSESSION_HEADER; 236 + 237 +extern (Windows) UCHAR Netbios(PNCB);

Added src/win32/nddeapi.d version [2bb059e8621515d4]

1 +/***********************************************************************\ 2 +* nddeapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.nddeapi; 12 + 13 +private import win32.windef; 14 + 15 +// FIXME: check types and grouping of constants 16 + 17 +/+ 18 +#ifndef CNLEN /* also in lmcons.h */ 19 +#define CNLEN 15 20 +#define UNCLEN (CNLEN + 2) 21 +#endif 22 ++/ 23 + 24 +const char SEP_CHAR = ','; 25 +const char[] BAR_CHAR = "|"; 26 +const wchar SEP_WCHAR = ','; 27 +const wchar[] BAR_WCHAR = "|"; 28 + 29 +enum { 30 + NDDE_NO_ERROR, 31 + NDDE_ACCESS_DENIED, 32 + NDDE_BUF_TOO_SMALL, 33 + NDDE_ERROR_MORE_DATA, 34 + NDDE_INVALID_SERVER, 35 + NDDE_INVALID_SHARE, 36 + NDDE_INVALID_PARAMETER, 37 + NDDE_INVALID_LEVEL, 38 + NDDE_INVALID_PASSWORD, 39 + NDDE_INVALID_ITEMNAME, 40 + NDDE_INVALID_TOPIC, 41 + NDDE_INTERNAL_ERROR, 42 + NDDE_OUT_OF_MEMORY, 43 + NDDE_INVALID_APPNAME, 44 + NDDE_NOT_IMPLEMENTED, 45 + NDDE_SHARE_ALREADY_EXIST, 46 + NDDE_SHARE_NOT_EXIST, 47 + NDDE_INVALID_FILENAME, 48 + NDDE_NOT_RUNNING, 49 + NDDE_INVALID_WINDOW, 50 + NDDE_INVALID_SESSION, 51 + NDDE_INVALID_ITEM_LIST, 52 + NDDE_SHARE_DATA_CORRUPTED, 53 + NDDE_REGISTRY_ERROR, 54 + NDDE_CANT_ACCESS_SERVER, 55 + NDDE_INVALID_SPECIAL_COMMAND, 56 + NDDE_INVALID_SECURITY_DESC, 57 + NDDE_TRUST_SHARE_FAIL 58 +} 59 + 60 +const size_t 61 + MAX_NDDESHARENAME = 256, 62 + MAX_DOMAINNAME = 15, 63 + MAX_USERNAME = 15, 64 + MAX_APPNAME = 255, 65 + MAX_TOPICNAME = 255, 66 + MAX_ITEMNAME = 255; 67 + 68 +const NDDEF_NOPASSWORDPROMPT = 1; 69 +const NDDEF_NOCACHELOOKUP = 2; 70 +const NDDEF_STRIP_NDDE = 4; 71 + 72 +const SHARE_TYPE_OLD = 1; 73 +const SHARE_TYPE_NEW = 2; 74 +const SHARE_TYPE_STATIC = 4; 75 + 76 +const uint 77 + NDDE_CMD_SHOW_MASK = 0x0000FFFF, 78 + NDDE_TRUST_CMD_SHOW = 0x10000000, 79 + NDDE_TRUST_SHARE_DEL = 0x20000000, 80 + NDDE_TRUST_SHARE_INIT = 0x40000000, 81 + NDDE_TRUST_SHARE_START = 0x80000000; 82 + 83 +struct NDdeShareInfo_tag { 84 + LONG lRevision; 85 + LPTSTR lpszShareName; 86 + LONG lShareType; 87 + LPTSTR lpszAppTopicList; 88 + LONG fSharedFlag; 89 + LONG fService; 90 + LONG fStartAppFlag; 91 + LONG nCmdShow; 92 + LONG[2] qModifyId; 93 + LONG cNumItems; 94 + LPTSTR lpszItemList; 95 +} 96 +extern (C) { // huh? 97 + NDdeShareInfo_tag NDDESHAREINFO; 98 + NDdeShareInfo_tag* PNDDESHAREINFO; 99 +} 100 + 101 +extern (Windows) { 102 + UINT NDdeGetErrorStringA(UINT, LPSTR, DWORD); 103 + UINT NDdeGetErrorStringW(UINT, LPWSTR, DWORD); 104 + UINT NDdeGetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION, 105 + PSECURITY_DESCRIPTOR, DWORD, PDWORD); 106 + UINT NDdeGetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION, 107 + PSECURITY_DESCRIPTOR, DWORD, PDWORD); 108 + UINT NDdeGetTrustedShareA(LPSTR, LPSTR, PDWORD, PDWORD, PDWORD); 109 + UINT NDdeGetTrustedShareW(LPWSTR, LPWSTR, PDWORD, PDWORD, PDWORD); 110 + BOOL NDdeIsValidShareNameA(LPSTR); 111 + BOOL NDdeIsValidShareNameW(LPWSTR); 112 + BOOL NDdeIsValidAppTopicListA(LPSTR); 113 + BOOL NDdeIsValidAppTopicListW(LPWSTR); 114 + UINT NDdeSetShareSecurityA(LPSTR, LPSTR, SECURITY_INFORMATION, 115 + PSECURITY_DESCRIPTOR); 116 + UINT NDdeSetShareSecurityW(LPWSTR, LPWSTR, SECURITY_INFORMATION, 117 + PSECURITY_DESCRIPTOR); 118 + UINT NDdeSetTrustedShareA(LPSTR, LPSTR, DWORD); 119 + UINT NDdeSetTrustedShareW(LPWSTR, LPWSTR, DWORD); 120 + UINT NDdeShareAddA(LPSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD); 121 + UINT NDdeShareAddW(LPWSTR, UINT, PSECURITY_DESCRIPTOR, PBYTE, DWORD); 122 + UINT NDdeShareDelA(LPSTR, LPSTR, UINT); 123 + UINT NDdeShareDelW(LPWSTR, LPWSTR, UINT); 124 + UINT NDdeShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); 125 + UINT NDdeShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); 126 + UINT NDdeShareGetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, PDWORD, PWORD); 127 + UINT NDdeShareGetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, PDWORD, PWORD); 128 + UINT NDdeShareSetInfoA(LPSTR, LPSTR, UINT, PBYTE, DWORD, WORD); 129 + UINT NDdeShareSetInfoW(LPWSTR, LPWSTR, UINT, PBYTE, DWORD, WORD); 130 + UINT NDdeTrustedShareEnumA(LPSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); 131 + UINT NDdeTrustedShareEnumW(LPWSTR, UINT, PBYTE, DWORD, PDWORD, PDWORD); 132 +} 133 + 134 +version (Unicode) { 135 + alias NDdeShareAddW NDdeShareAdd; 136 + alias NDdeShareDelW NDdeShareDel; 137 + alias NDdeSetShareSecurityW NDdeSetShareSecurity; 138 + alias NDdeGetShareSecurityW NDdeGetShareSecurity; 139 + alias NDdeShareEnumW NDdeShareEnum; 140 + alias NDdeShareGetInfoW NDdeShareGetInfo; 141 + alias NDdeShareSetInfoW NDdeShareSetInfo; 142 + alias NDdeGetErrorStringW NDdeGetErrorString; 143 + alias NDdeIsValidShareNameW NDdeIsValidShareName; 144 + alias NDdeIsValidAppTopicListW NDdeIsValidAppTopicList; 145 + alias NDdeSetTrustedShareW NDdeSetTrustedShare; 146 + alias NDdeGetTrustedShareW NDdeGetTrustedShare; 147 + alias NDdeTrustedShareEnumW NDdeTrustedShareEnum; 148 +} else { 149 + alias NDdeShareAddA NDdeShareAdd; 150 + alias NDdeShareDelA NDdeShareDel; 151 + alias NDdeSetShareSecurityA NDdeSetShareSecurity; 152 + alias NDdeGetShareSecurityA NDdeGetShareSecurity; 153 + alias NDdeShareEnumA NDdeShareEnum; 154 + alias NDdeShareGetInfoA NDdeShareGetInfo; 155 + alias NDdeShareSetInfoA NDdeShareSetInfo; 156 + alias NDdeGetErrorStringA NDdeGetErrorString; 157 + alias NDdeIsValidShareNameA NDdeIsValidShareName; 158 + alias NDdeIsValidAppTopicListA NDdeIsValidAppTopicList; 159 + alias NDdeSetTrustedShareA NDdeSetTrustedShare; 160 + alias NDdeGetTrustedShareA NDdeGetTrustedShare; 161 + alias NDdeTrustedShareEnumA NDdeTrustedShareEnum; 162 +}

Added src/win32/nspapi.d version [f83f87973b669cee]

1 +/***********************************************************************\ 2 +* nspapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.nspapi; 12 + 13 +private import win32.basetyps, win32.windef; 14 + 15 +// FIXME: check types of constants 16 + 17 +enum { 18 + NS_ALL = 0, 19 + 20 + NS_SAP, 21 + NS_NDS, 22 + NS_PEER_BROWSE, 23 + 24 + NS_TCPIP_LOCAL = 10, 25 + NS_TCPIP_HOSTS, 26 + NS_DNS, 27 + NS_NETBT, 28 + NS_WINS, 29 + 30 + NS_NBP = 20, 31 + 32 + NS_MS = 30, 33 + NS_STDA, 34 + NS_NTDS, 35 + 36 + NS_X500 = 40, 37 + NS_NIS, 38 + NS_NISPLUS, 39 + 40 + NS_WRQ = 50 41 +} 42 + 43 +enum { 44 + SERVICE_REGISTER = 1, 45 + SERVICE_DEREGISTER = 2, 46 + SERVICE_FLUSH = 3, 47 + SERVICE_FLAG_HARD = 2 48 +} 49 + 50 +/* MinGW makes the next section conditional on winsock.h or winsock2.h 51 + * being included. But that doesn't translate well into D. 52 + */ 53 +version (Win32_Winsock1) { 54 + import win32.winsock; 55 +} else { 56 + import win32.winsock2; 57 +} 58 + 59 +struct SOCKET_ADDRESS { 60 + LPSOCKADDR lpSockaddr; 61 + INT iSockaddrLength; 62 +} 63 +alias SOCKET_ADDRESS* PSOCKET_ADDRESS, LPSOCKET_ADDRESS; 64 + 65 +struct CSADDR_INFO { 66 + SOCKET_ADDRESS LocalAddr; 67 + SOCKET_ADDRESS RemoteAddr; 68 + INT iSocketType; 69 + INT iProtocol; 70 +} 71 +alias CSADDR_INFO* PCSADDR_INFO, LPCSADDR_INFO; 72 + 73 +struct BLOB { 74 + ULONG cbSize; 75 + BYTE* pBlobData; 76 +} 77 +alias BLOB* PBLOB, LPBLOB; 78 + 79 +struct SERVICE_ADDRESS { 80 + DWORD dwAddressType; 81 + DWORD dwAddressFlags; 82 + DWORD dwAddressLength; 83 + DWORD dwPrincipalLength; 84 + BYTE* lpAddress; 85 + BYTE* lpPrincipal; 86 +} 87 + 88 +struct SERVICE_ADDRESSES { 89 + DWORD dwAddressCount; 90 + SERVICE_ADDRESS _Addresses; 91 + 92 + SERVICE_ADDRESS* Addresses() { return &_Addresses; } 93 +} 94 +alias SERVICE_ADDRESSES* PSERVICE_ADDRESSES, LPSERVICE_ADDRESSES; 95 + 96 +struct SERVICE_INFOA { 97 + LPGUID lpServiceType; 98 + LPSTR lpServiceName; 99 + LPSTR lpComment; 100 + LPSTR lpLocale; 101 + DWORD dwDisplayHint; 102 + DWORD dwVersion; 103 + DWORD dwTime; 104 + LPSTR lpMachineName; 105 + LPSERVICE_ADDRESSES lpServiceAddress; 106 + BLOB ServiceSpecificInfo; 107 +} 108 +alias SERVICE_INFOA* LPSERVICE_INFOA; 109 + 110 +struct SERVICE_INFOW { 111 + LPGUID lpServiceType; 112 + LPWSTR lpServiceName; 113 + LPWSTR lpComment; 114 + LPWSTR lpLocale; 115 + DWORD dwDisplayHint; 116 + DWORD dwVersion; 117 + DWORD dwTime; 118 + LPWSTR lpMachineName; 119 + LPSERVICE_ADDRESSES lpServiceAddress; 120 + BLOB ServiceSpecificInfo; 121 +} 122 +alias SERVICE_INFOW* LPSERVICE_INFOW; 123 + 124 +alias void* LPSERVICE_ASYNC_INFO; 125 + 126 +extern (Windows) { 127 + INT SetServiceA(DWORD, DWORD, DWORD, LPSERVICE_INFOA, 128 + LPSERVICE_ASYNC_INFO, LPDWORD); 129 + INT SetServiceW(DWORD, DWORD, DWORD, LPSERVICE_INFOW, 130 + LPSERVICE_ASYNC_INFO, LPDWORD); 131 + INT GetAddressByNameA(DWORD, LPGUID, LPSTR, LPINT, DWORD, 132 + LPSERVICE_ASYNC_INFO, LPVOID, LPDWORD, LPSTR, LPDWORD); 133 + INT GetAddressByNameW(DWORD, LPGUID, LPWSTR, LPINT, DWORD, 134 + LPSERVICE_ASYNC_INFO, LPVOID, LPDWORD, LPWSTR, LPDWORD); 135 +} 136 + 137 +version (Unicode) { 138 + alias SERVICE_INFOW SERVICE_INFO; 139 + alias SetServiceW SetService; 140 + alias GetAddressByNameW GetAddressByName; 141 +} else { 142 + alias SERVICE_INFOA SERVICE_INFO; 143 + alias SetServiceA SetService; 144 + alias GetAddressByNameA GetAddressByName; 145 +} 146 + 147 +alias SERVICE_INFO _SERVICE_INFO; 148 +alias SERVICE_INFO* LPSERVICE_INFO;

Added src/win32/ntdef.d version [7851c6cbb4e9f088]

1 +/***********************************************************************\ 2 +* ntdef.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.ntdef; 12 + 13 +private import win32.basetsd, win32.subauth, win32.windef, win32.winnt; 14 + 15 +const uint 16 + OBJ_INHERIT = 0x0002, 17 + OBJ_PERMANENT = 0x0010, 18 + OBJ_EXCLUSIVE = 0x0020, 19 + OBJ_CASE_INSENSITIVE = 0x0040, 20 + OBJ_OPENIF = 0x0080, 21 + OBJ_OPENLINK = 0x0100, 22 + OBJ_VALID_ATTRIBUTES = 0x01F2; 23 + 24 +void InitializeObjectAttributes(OBJECT_ATTRIBUTES* p, UNICODE_STRING* n, 25 + uint a, HANDLE r, void* s) { 26 + with (*p) { 27 + Length = OBJECT_ATTRIBUTES.sizeof; 28 + RootDirectory = r; 29 + Attributes = a; 30 + ObjectName = n; 31 + SecurityDescriptor = s; 32 + SecurityQualityOfService = null; 33 + } 34 +} 35 + 36 +bool NT_SUCCESS(int x) { return x >= 0; } 37 + 38 +/* In MinGW, NTSTATUS, UNICODE_STRING, STRING and their associated pointer 39 + * type aliases are defined in ntdef.h, ntsecapi.h and subauth.h, each of 40 + * which checks that none of the others is already included. 41 + */ 42 +alias int NTSTATUS; 43 +alias int* PNTSTATUS; 44 + 45 +struct UNICODE_STRING { 46 + USHORT Length; 47 + USHORT MaximumLength; 48 + PWSTR Buffer; 49 +} 50 +alias UNICODE_STRING* PUNICODE_STRING; 51 +alias CPtr!(UNICODE_STRING) PCUNICODE_STRING; 52 + 53 +struct STRING { 54 + USHORT Length; 55 + USHORT MaximumLength; 56 + PCHAR Buffer; 57 +} 58 +alias STRING ANSI_STRING, OEM_STRING; 59 +alias STRING* PSTRING, PANSI_STRING, POEM_STRING; 60 + 61 +alias LARGE_INTEGER PHYSICAL_ADDRESS; 62 +alias LARGE_INTEGER* PPHYSICAL_ADDRESS; 63 + 64 +enum SECTION_INHERIT { 65 + ViewShare = 1, 66 + ViewUnmap 67 +} 68 + 69 +/* In MinGW, this is defined in ntdef.h and ntsecapi.h, each of which checks 70 + * that the other isn't already included. 71 + */ 72 +struct OBJECT_ATTRIBUTES { 73 + ULONG Length = OBJECT_ATTRIBUTES.sizeof; 74 + HANDLE RootDirectory; 75 + PUNICODE_STRING ObjectName; 76 + ULONG Attributes; 77 + PVOID SecurityDescriptor; 78 + PVOID SecurityQualityOfService; 79 +} 80 +alias OBJECT_ATTRIBUTES* POBJECT_ATTRIBUTES;

Added src/win32/ntdll.d version [5b08a7cec4ddc80a]

1 +/***********************************************************************\ 2 +* ntdll.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.ntdll; 12 + 13 +private import win32.w32api; 14 + 15 +// http://www.matcode.com/undocwin.h.txt 16 +static assert (_WIN32_WINNT_ONLY, 17 + "win32.ntdll is available only if version WindowsNTonly, WindowsXP, " 18 + "Windows2003 or WindowsVista is set"); 19 + 20 + 21 +enum SHUTDOWN_ACTION { 22 + ShutdownNoReboot, 23 + ShutdownReboot, 24 + ShutdownPowerOff 25 +} 26 + 27 +extern (Windows) uint NtShutdownSystem(SHUTDOWN_ACTION Action);

Added src/win32/ntldap.d version [ec89b5480eb400e1]

1 +/***********************************************************************\ 2 +* ntldap.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.ntldap; 12 + 13 +/* TOTHINKABOUT: These constants don't have ANSI/Unicode versioned 14 + * aliases. Should we merge them anyway? 15 + */ 16 + 17 +const char[] 18 + LDAP_SERVER_ASQ_OID = "1.2.840.113556.1.4.1504", 19 + LDAP_SERVER_DIRSYNC_OID = "1.2.840.113556.1.4.841", 20 + LDAP_SERVER_SD_FLAGS_OID = "1.2.840.113556.1.4.801", 21 + LDAP_SERVER_FAST_BIND_OID = "1.2.840.113556.1.4.1781", 22 + LDAP_MATCHING_RULE_BIT_OR = "1.2.840.113556.1.4.804", 23 + LDAP_MATCHING_RULE_BIT_AND = "1.2.840.113556.1.4.803", 24 + LDAP_SERVER_EXTENDED_DN_OID = "1.2.840.113556.1.4.529", 25 + LDAP_SERVER_LAZY_COMMIT_OID = "1.2.840.113556.1.4.619", 26 + LDAP_SERVER_TREE_DELETE_OID = "1.2.840.113556.1.4.805", 27 + LDAP_SERVER_VERIFY_NAME_OID = "1.2.840.113556.1.4.1338", 28 + LDAP_SERVER_SHOW_DELETED_OID = "1.2.840.113556.1.4.417", 29 + LDAP_SERVER_NOTIFICATION_OID = "1.2.840.113556.1.4.528", 30 + LDAP_SERVER_DOMAIN_SCOPE_OID = "1.2.840.113556.1.4.1339", 31 + LDAP_CAP_ACTIVE_DIRECTORY_OID = "1.2.840.113556.1.4.800", 32 + LDAP_SERVER_SEARCH_OPTIONS_OID = "1.2.840.113556.1.4.1340", 33 + LDAP_CAP_ACTIVE_DIRECTORY_V51_OID = "1.2.840.113556.1.4.1670", 34 + LDAP_SERVER_PERMISSIVE_MODIFY_OID = "1.2.840.113556.1.4.1413", 35 + LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID = "1.2.840.113556.1.4.521"; 36 + 37 +const wchar[] 38 + LDAP_SERVER_ASQ_OID_W = "1.2.840.113556.1.4.1504", 39 + LDAP_SERVER_DIRSYNC_OID_W = "1.2.840.113556.1.4.841", 40 + LDAP_SERVER_SD_FLAGS_OID_W = "1.2.840.113556.1.4.801", 41 + LDAP_SERVER_FAST_BIND_OID_W = "1.2.840.113556.1.4.1781", 42 + LDAP_MATCHING_RULE_BIT_OR_W = "1.2.840.113556.1.4.804", 43 + LDAP_MATCHING_RULE_BIT_AND_W = "1.2.840.113556.1.4.803", 44 + LDAP_SERVER_EXTENDED_DN_OID_W = "1.2.840.113556.1.4.529", 45 + LDAP_SERVER_LAZY_COMMIT_OID_W = "1.2.840.113556.1.4.619", 46 + LDAP_SERVER_TREE_DELETE_OID_W = "1.2.840.113556.1.4.805", 47 + LDAP_SERVER_VERIFY_NAME_OID_W = "1.2.840.113556.1.4.1338", 48 + LDAP_SERVER_SHOW_DELETED_OID_W = "1.2.840.113556.1.4.417", 49 + LDAP_SERVER_NOTIFICATION_OID_W = "1.2.840.113556.1.4.528", 50 + LDAP_SERVER_DOMAIN_SCOPE_OID_W = "1.2.840.113556.1.4.1339", 51 + LDAP_CAP_ACTIVE_DIRECTORY_OID_W = "1.2.840.113556.1.4.800", 52 + LDAP_SERVER_SEARCH_OPTIONS_OID_W = "1.2.840.113556.1.4.1340", 53 + LDAP_CAP_ACTIVE_DIRECTORY_V51_OID_W = "1.2.840.113556.1.4.1670", 54 + LDAP_SERVER_PERMISSIVE_MODIFY_OID_W = "1.2.840.113556.1.4.1413", 55 + LDAP_SERVER_CROSSDOM_MOVE_TARGET_OID_W = "1.2.840.113556.1.4.521"; 56 + 57 +const SERVER_SEARCH_FLAG_DOMAIN_SCOPE = 1; 58 +const SERVER_SEARCH_FLAG_PHANTOM_ROOT = 2;

Added src/win32/ntsecapi.d version [af13fe2a125c8d82]

1 +/***********************************************************************\ 2 +* ntsecapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.ntsecapi; 12 + 13 +private import 14 + win32.basetyps, win32.ntdef, win32.windef, win32.winnt, win32.w32api; 15 + 16 +// FIXME: check types and grouping of constants 17 +// FIXME: check Windows version support 18 + 19 +const KERB_WRAP_NO_ENCRYPT = 0x80000001; 20 + 21 +const LOGON_GUEST = 0x00000001; 22 +const LOGON_NOENCRYPTION = 0x00000002; 23 +const LOGON_CACHED_ACCOUNT = 0x00000004; 24 +const LOGON_USED_LM_PASSWORD = 0x00000008; 25 +const LOGON_EXTRA_SIDS = 0x00000020; 26 +const LOGON_SUBAUTH_SESSION_KEY = 0x00000040; 27 +const LOGON_SERVER_TRUST_ACCOUNT = 0x00000080; 28 +const LOGON_NTLMV2_ENABLED = 0x00000100; 29 +const LOGON_RESOURCE_GROUPS = 0x00000200; 30 +const LOGON_PROFILE_PATH_RETURNED = 0x00000400; 31 +const LOGON_GRACE_LOGON = 0x01000000; 32 + 33 +enum { 34 + LSA_MODE_PASSWORD_PROTECTED = 1, 35 + LSA_MODE_INDIVIDUAL_ACCOUNTS, 36 + LSA_MODE_MANDATORY_ACCESS, 37 + LSA_MODE_LOG_FULL 38 +} 39 + 40 +bool LSA_SUCCESS(int x) { return x >= 0; } 41 + 42 +/* TOTHINKABOUT: These constants don't have ANSI/Unicode versioned 43 + * aliases. Should we merge them anyway? 44 + */ 45 +const char[] MICROSOFT_KERBEROS_NAME_A = "Kerberos"; 46 +const wchar[] MICROSOFT_KERBEROS_NAME_W = "Kerberos"; 47 +const char[] MSV1_0_PACKAGE_NAME = "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"; 48 +const wchar[] MSV1_0_PACKAGE_NAMEW = "MICROSOFT_AUTHENTICATION_PACKAGE_V1_0"; 49 + 50 +const MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT = 32; 51 +const MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT = 2048; 52 +const MSV1_0_CLEARTEXT_PASSWORD_ALLOWED = 2; 53 +const MSV1_0_CRED_LM_PRESENT = 1; 54 +const MSV1_0_CRED_NT_PRESENT = 2; 55 +const MSV1_0_CRED_VERSION = 0; 56 +const MSV1_0_DONT_TRY_GUEST_ACCOUNT = 16; 57 +const MSV1_0_MAX_NTLM3_LIFE = 1800; 58 +const MSV1_0_MAX_AVL_SIZE = 64000; 59 +const MSV1_0_MNS_LOGON = 16777216; 60 + 61 +const size_t 62 + MSV1_0_CHALLENGE_LENGTH = 8, 63 + MSV1_0_LANMAN_SESSION_KEY_LENGTH = 8, 64 + MSV1_0_NTLM3_RESPONSE_LENGTH = 16, 65 + MSV1_0_NTLM3_OWF_LENGTH = 16, 66 + MSV1_0_NTLM3_INPUT_LENGTH = MSV1_0_NTLM3_RESPONSE.sizeof 67 + - MSV1_0_NTLM3_RESPONSE_LENGTH, 68 + MSV1_0_OWF_PASSWORD_LENGTH = 16, 69 + MSV1_0_PACKAGE_NAMEW_LENGTH = MSV1_0_PACKAGE_NAMEW.sizeof 70 + - WCHAR.sizeof; 71 + 72 +const MSV1_0_RETURN_USER_PARAMETERS = 8; 73 +const MSV1_0_RETURN_PASSWORD_EXPIRY = 64; 74 +const MSV1_0_RETURN_PROFILE_PATH = 512; 75 +const MSV1_0_SUBAUTHENTICATION_DLL_EX = 1048576; 76 +const MSV1_0_SUBAUTHENTICATION_DLL = 0xff000000; 77 +const MSV1_0_SUBAUTHENTICATION_DLL_SHIFT = 24; 78 +const MSV1_0_SUBAUTHENTICATION_DLL_RAS = 2; 79 +const MSV1_0_SUBAUTHENTICATION_DLL_IIS = 132; 80 +const MSV1_0_SUBAUTHENTICATION_FLAGS = 0xff000000; 81 +const MSV1_0_TRY_GUEST_ACCOUNT_ONLY = 256; 82 +const MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY = 1024; 83 +const MSV1_0_UPDATE_LOGON_STATISTICS = 4; 84 +const MSV1_0_USE_CLIENT_CHALLENGE = 128; 85 +const MSV1_0_USER_SESSION_KEY_LENGTH = 16; 86 + 87 +const char[] 88 + MSV1_0_SUBAUTHENTICATION_KEY 89 + = `System\CurrentControlSet\Control\Lsa\MSV1_0`, 90 + MSV1_0_SUBAUTHENTICATION_VALUE = "Auth"; 91 + 92 +const ACCESS_MASK 93 + POLICY_VIEW_LOCAL_INFORMATION = 0x0001, 94 + POLICY_VIEW_AUDIT_INFORMATION = 0x0002, 95 + POLICY_GET_PRIVATE_INFORMATION = 0x0004, 96 + POLICY_TRUST_ADMIN = 0x0008, 97 + POLICY_CREATE_ACCOUNT = 0x0010, 98 + POLICY_CREATE_SECRET = 0x0020, 99 + POLICY_CREATE_PRIVILEGE = 0x0040, 100 + POLICY_SET_DEFAULT_QUOTA_LIMITS = 0x0080, 101 + POLICY_SET_AUDIT_REQUIREMENTS = 0x0100, 102 + POLICY_AUDIT_LOG_ADMIN = 0x0200, 103 + POLICY_SERVER_ADMIN = 0x0400, 104 + POLICY_LOOKUP_NAMES = 0x0800, 105 + 106 + POLICY_READ = STANDARD_RIGHTS_READ | 0x0006, 107 + POLICY_WRITE = STANDARD_RIGHTS_WRITE | 0x07F8, 108 + POLICY_EXECUTE = STANDARD_RIGHTS_EXECUTE | 0x0801, 109 + POLICY_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | 0x0FFF; 110 + 111 +const POLICY_AUDIT_EVENT_UNCHANGED = 0; 112 +const POLICY_AUDIT_EVENT_SUCCESS = 1; 113 +const POLICY_AUDIT_EVENT_FAILURE = 2; 114 +const POLICY_AUDIT_EVENT_NONE = 4; 115 +const POLICY_AUDIT_EVENT_MASK = 7; 116 + 117 +enum { 118 + POLICY_LOCATION_LOCAL = 1, 119 + POLICY_LOCATION_DS 120 +} 121 + 122 +enum : uint { 123 + POLICY_MACHINE_POLICY_LOCAL = 0, 124 + POLICY_MACHINE_POLICY_DEFAULTED, 125 + POLICY_MACHINE_POLICY_EXPLICIT, 126 + POLICY_MACHINE_POLICY_UNKNOWN = 0xFFFFFFFF 127 +} 128 + 129 + 130 +const POLICY_QOS_SCHANEL_REQUIRED = 0x0001; 131 +const POLICY_QOS_OUTBOUND_INTEGRITY = 0x0002; 132 +const POLICY_QOS_OUTBOUND_CONFIDENTIALITY = 0x0004; 133 +const POLICY_QOS_INBOUND_INTEGREITY = 0x0008; 134 +const POLICY_QOS_INBOUND_CONFIDENTIALITY = 0x0010; 135 +const POLICY_QOS_ALLOW_LOCAL_ROOT_CERT_STORE = 0x0020; 136 +const POLICY_QOS_RAS_SERVER_ALLOWED = 0x0040; 137 +const POLICY_QOS_DHCP_SERVER_ALLOWD = 0x0080; 138 + 139 +const POLICY_KERBEROS_FORWARDABLE = 1; 140 +const POLICY_KERBEROS_PROXYABLE = 2; 141 +const POLICY_KERBEROS_RENEWABLE = 4; 142 +const POLICY_KERBEROS_POSTDATEABLE = 8; 143 + 144 +const char[] 145 + SAM_PASSWORD_CHANGE_NOTIFY_ROUTINE = "PasswordChangeNotify", 146 + SAM_INIT_NOTIFICATION_ROUTINE = "InitializeChangeNotify", 147 + SAM_PASSWORD_FILTER_ROUTINE = "PasswordFilter"; 148 + 149 +const TCHAR[] 150 + SE_INTERACTIVE_LOGON_NAME = "SeInteractiveLogonRight", 151 + SE_NETWORK_LOGON_NAME = "SeNetworkLogonRight", 152 + SE_BATCH_LOGON_NAME = "SeBatchLogonRight", 153 + SE_SERVICE_LOGON_NAME = "SeServiceLogonRight"; 154 + 155 +enum { 156 + TRUST_ATTRIBUTE_NON_TRANSITIVE = 1, 157 + TRUST_ATTRIBUTE_UPLEVEL_ONLY = 2, 158 + TRUST_ATTRIBUTE_TREE_PARENT = 4194304, 159 + TRUST_ATTRIBUTES_VALID = -16580609 160 +} 161 + 162 +enum { 163 + TRUST_AUTH_TYPE_NONE, 164 + TRUST_AUTH_TYPE_NT4OWF, 165 + TRUST_AUTH_TYPE_CLEAR 166 +} 167 + 168 +enum { 169 + TRUST_DIRECTION_DISABLED, 170 + TRUST_DIRECTION_INBOUND, 171 + TRUST_DIRECTION_OUTBOUND, 172 + TRUST_DIRECTION_BIDIRECTIONAL 173 +} 174 + 175 +enum { 176 + TRUST_TYPE_DOWNLEVEL = 1, 177 + TRUST_TYPE_UPLEVEL, 178 + TRUST_TYPE_MIT, 179 + TRUST_TYPE_DCE 180 +} 181 + 182 +alias UNICODE_STRING LSA_UNICODE_STRING; 183 +alias UNICODE_STRING* PLSA_UNICODE_STRING; 184 +alias STRING LSA_STRING; 185 +alias STRING* PLSA_STRING; 186 + 187 +enum MSV1_0_LOGON_SUBMIT_TYPE { 188 + MsV1_0InteractiveLogon = 2, 189 + MsV1_0Lm20Logon, 190 + MsV1_0NetworkLogon, 191 + MsV1_0SubAuthLogon, 192 + MsV1_0WorkstationUnlockLogon = 7 193 +} 194 +alias MSV1_0_LOGON_SUBMIT_TYPE* PMSV1_0_LOGON_SUBMIT_TYPE; 195 + 196 +enum MSV1_0_PROFILE_BUFFER_TYPE { 197 + MsV1_0InteractiveProfile = 2, 198 + MsV1_0Lm20LogonProfile, 199 + MsV1_0SmartCardProfile 200 +} 201 +alias MSV1_0_PROFILE_BUFFER_TYPE* PMSV1_0_PROFILE_BUFFER_TYPE; 202 + 203 + 204 +enum MSV1_0_AVID { 205 + MsvAvEOL, 206 + MsvAvNbComputerName, 207 + MsvAvNbDomainName, 208 + MsvAvDnsComputerName, 209 + MsvAvDnsDomainName 210 +} 211 + 212 +enum MSV1_0_PROTOCOL_MESSAGE_TYPE { 213 + MsV1_0Lm20ChallengeRequest = 0, 214 + MsV1_0Lm20GetChallengeResponse, 215 + MsV1_0EnumerateUsers, 216 + MsV1_0GetUserInfo, 217 + MsV1_0ReLogonUsers, 218 + MsV1_0ChangePassword, 219 + MsV1_0ChangeCachedPassword, 220 + MsV1_0GenericPassthrough, 221 + MsV1_0CacheLogon, 222 + MsV1_0SubAuth, 223 + MsV1_0DeriveCredential, 224 + MsV1_0CacheLookup 225 +} 226 +alias MSV1_0_PROTOCOL_MESSAGE_TYPE* PMSV1_0_PROTOCOL_MESSAGE_TYPE; 227 + 228 +enum POLICY_LSA_SERVER_ROLE { 229 + PolicyServerRoleBackup = 2, 230 + PolicyServerRolePrimary 231 +} 232 +alias POLICY_LSA_SERVER_ROLE* PPOLICY_LSA_SERVER_ROLE; 233 + 234 +enum POLICY_SERVER_ENABLE_STATE { 235 + PolicyServerEnabled = 2, 236 + PolicyServerDisabled 237 +} 238 +alias POLICY_SERVER_ENABLE_STATE* PPOLICY_SERVER_ENABLE_STATE; 239 + 240 +enum POLICY_INFORMATION_CLASS { 241 + PolicyAuditLogInformation = 1, 242 + PolicyAuditEventsInformation, 243 + PolicyPrimaryDomainInformation, 244 + PolicyPdAccountInformation, 245 + PolicyAccountDomainInformation, 246 + PolicyLsaServerRoleInformation, 247 + PolicyReplicaSourceInformation, 248 + PolicyDefaultQuotaInformation, 249 + PolicyModificationInformation, 250 + PolicyAuditFullSetInformation, 251 + PolicyAuditFullQueryInformation, 252 + PolicyDnsDomainInformation, 253 + PolicyEfsInformation 254 +} 255 +alias POLICY_INFORMATION_CLASS* PPOLICY_INFORMATION_CLASS; 256 + 257 +enum POLICY_AUDIT_EVENT_TYPE { 258 + AuditCategorySystem, 259 + AuditCategoryLogon, 260 + AuditCategoryObjectAccess, 261 + AuditCategoryPrivilegeUse, 262 + AuditCategoryDetailedTracking, 263 + AuditCategoryPolicyChange, 264 + AuditCategoryAccountManagement, 265 + AuditCategoryDirectoryServiceAccess, 266 + AuditCategoryAccountLogon 267 +} 268 +alias POLICY_AUDIT_EVENT_TYPE* PPOLICY_AUDIT_EVENT_TYPE; 269 + 270 +enum POLICY_LOCAL_INFORMATION_CLASS { 271 + PolicyLocalAuditEventsInformation = 1, 272 + PolicyLocalPdAccountInformation, 273 + PolicyLocalAccountDomainInformation, 274 + PolicyLocalLsaServerRoleInformation, 275 + PolicyLocalReplicaSourceInformation, 276 + PolicyLocalModificationInformation, 277 + PolicyLocalAuditFullSetInformation, 278 + PolicyLocalAuditFullQueryInformation, 279 + PolicyLocalDnsDomainInformation, 280 + PolicyLocalIPSecReferenceInformation, 281 + PolicyLocalMachinePasswordInformation, 282 + PolicyLocalQualityOfServiceInformation, 283 + PolicyLocalPolicyLocationInformation 284 +} 285 +alias POLICY_LOCAL_INFORMATION_CLASS* PPOLICY_LOCAL_INFORMATION_CLASS; 286 + 287 +enum POLICY_DOMAIN_INFORMATION_CLASS { 288 + PolicyDomainIPSecReferenceInformation = 1, 289 + PolicyDomainQualityOfServiceInformation, 290 + PolicyDomainEfsInformation, 291 + PolicyDomainPublicKeyInformation, 292 + PolicyDomainPasswordPolicyInformation, 293 + PolicyDomainLockoutInformation, 294 + PolicyDomainKerberosTicketInformation 295 +} 296 +alias POLICY_DOMAIN_INFORMATION_CLASS* PPOLICY_DOMAIN_INFORMATION_CLASS; 297 + 298 +enum SECURITY_LOGON_TYPE { 299 + Interactive = 2, 300 + Network, 301 + Batch, 302 + Service, 303 + Proxy, 304 + Unlock 305 +} 306 +alias SECURITY_LOGON_TYPE* PSECURITY_LOGON_TYPE; 307 + 308 +enum TRUSTED_INFORMATION_CLASS { 309 + TrustedDomainNameInformation = 1, 310 + TrustedControllersInformation, 311 + TrustedPosixOffsetInformation, 312 + TrustedPasswordInformation, 313 + TrustedDomainInformationBasic, 314 + TrustedDomainInformationEx, 315 + TrustedDomainAuthInformation, 316 + TrustedDomainFullInformation 317 +} 318 +alias TRUSTED_INFORMATION_CLASS* PTRUSTED_INFORMATION_CLASS; 319 + 320 +struct DOMAIN_PASSWORD_INFORMATION { 321 + USHORT MinPasswordLength; 322 + USHORT PasswordHistoryLength; 323 + ULONG PasswordProperties; 324 + LARGE_INTEGER MaxPasswordAge; 325 + LARGE_INTEGER MinPasswordAge; 326 +} 327 +alias DOMAIN_PASSWORD_INFORMATION* PDOMAIN_PASSWORD_INFORMATION; 328 + 329 +struct LSA_ENUMERATION_INFORMATION { 330 + PSID Sid; 331 +} 332 +alias LSA_ENUMERATION_INFORMATION* PLSA_ENUMERATION_INFORMATION; 333 + 334 +alias OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES; 335 +alias OBJECT_ATTRIBUTES* PLSA_OBJECT_ATTRIBUTES; 336 + 337 +struct LSA_TRUST_INFORMATION { 338 + LSA_UNICODE_STRING Name; 339 + PSID Sid; 340 +} 341 +alias LSA_TRUST_INFORMATION TRUSTED_DOMAIN_INFORMATION_BASIC; 342 +alias LSA_TRUST_INFORMATION* PLSA_TRUST_INFORMATION; 343 +/* in MinGW (further down the code): 344 + * typedef PLSA_TRUST_INFORMATION *PTRUSTED_DOMAIN_INFORMATION_BASIC; 345 + * but it doesn't look right.... 346 + */ 347 +alias LSA_TRUST_INFORMATION** PTRUSTED_DOMAIN_INFORMATION_BASIC; 348 + 349 +struct LSA_REFERENCED_DOMAIN_LIST { 350 + ULONG Entries; 351 + PLSA_TRUST_INFORMATION Domains; 352 +} 353 +alias LSA_REFERENCED_DOMAIN_LIST* PLSA_REFERENCED_DOMAIN_LIST; 354 + 355 +struct LSA_TRANSLATED_SID { 356 + SID_NAME_USE Use; 357 + ULONG RelativeId; 358 + LONG DomainIndex; 359 +} 360 +alias LSA_TRANSLATED_SID* PLSA_TRANSLATED_SID; 361 + 362 +struct LSA_TRANSLATED_NAME { 363 + SID_NAME_USE Use; 364 + LSA_UNICODE_STRING Name; 365 + LONG DomainIndex; 366 +} 367 +alias LSA_TRANSLATED_NAME* PLSA_TRANSLATED_NAME; 368 + 369 +struct MSV1_0_INTERACTIVE_LOGON { 370 + MSV1_0_LOGON_SUBMIT_TYPE MessageType; 371 + UNICODE_STRING LogonDomainName; 372 + UNICODE_STRING UserName; 373 + UNICODE_STRING Password; 374 +} 375 +alias MSV1_0_INTERACTIVE_LOGON* PMSV1_0_INTERACTIVE_LOGON; 376 + 377 +struct MSV1_0_INTERACTIVE_PROFILE { 378 + MSV1_0_PROFILE_BUFFER_TYPE MessageType; 379 + USHORT LogonCount; 380 + USHORT BadPasswordCount; 381 + LARGE_INTEGER LogonTime; 382 + LARGE_INTEGER LogoffTime; 383 + LARGE_INTEGER KickOffTime; 384 + LARGE_INTEGER PasswordLastSet; 385 + LARGE_INTEGER PasswordCanChange; 386 + LARGE_INTEGER PasswordMustChange; 387 + UNICODE_STRING LogonScript; 388 + UNICODE_STRING HomeDirectory; 389 + UNICODE_STRING FullName; 390 + UNICODE_STRING ProfilePath; 391 + UNICODE_STRING HomeDirectoryDrive; 392 + UNICODE_STRING LogonServer; 393 + ULONG UserFlags; 394 +} 395 +alias MSV1_0_INTERACTIVE_PROFILE* PMSV1_0_INTERACTIVE_PROFILE; 396 + 397 +struct MSV1_0_LM20_LOGON { 398 + MSV1_0_LOGON_SUBMIT_TYPE MessageType; 399 + UNICODE_STRING LogonDomainName; 400 + UNICODE_STRING UserName; 401 + UNICODE_STRING Workstation; 402 + UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeToClient; 403 + STRING CaseSensitiveChallengeResponse; 404 + STRING CaseInsensitiveChallengeResponse; 405 + ULONG ParameterControl; 406 +} 407 +alias MSV1_0_LM20_LOGON* PMSV1_0_LM20_LOGON; 408 + 409 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 410 + struct MSV1_0_SUBAUTH_LOGON { 411 + MSV1_0_LOGON_SUBMIT_TYPE MessageType; 412 + UNICODE_STRING LogonDomainName; 413 + UNICODE_STRING UserName; 414 + UNICODE_STRING Workstation; 415 + UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeToClient; 416 + STRING AuthenticationInfo1; 417 + STRING AuthenticationInfo2; 418 + ULONG ParameterControl; 419 + ULONG SubAuthPackageId; 420 + } 421 + alias MSV1_0_SUBAUTH_LOGON* PMSV1_0_SUBAUTH_LOGON; 422 +} 423 + 424 +struct MSV1_0_LM20_LOGON_PROFILE { 425 + MSV1_0_PROFILE_BUFFER_TYPE MessageType; 426 + LARGE_INTEGER KickOffTime; 427 + LARGE_INTEGER LogoffTime; 428 + ULONG UserFlags; 429 + UCHAR[MSV1_0_USER_SESSION_KEY_LENGTH] UserSessionKey; 430 + UNICODE_STRING LogonDomainName; 431 + UCHAR[MSV1_0_LANMAN_SESSION_KEY_LENGTH] LanmanSessionKey; 432 + UNICODE_STRING LogonServer; 433 + UNICODE_STRING UserParameters; 434 +} 435 +alias MSV1_0_LM20_LOGON_PROFILE* PMSV1_0_LM20_LOGON_PROFILE; 436 + 437 +struct MSV1_0_SUPPLEMENTAL_CREDENTIAL { 438 + ULONG Version; 439 + ULONG Flags; 440 + UCHAR[MSV1_0_OWF_PASSWORD_LENGTH] LmPassword; 441 + UCHAR[MSV1_0_OWF_PASSWORD_LENGTH] NtPassword; 442 +} 443 +alias MSV1_0_SUPPLEMENTAL_CREDENTIAL* PMSV1_0_SUPPLEMENTAL_CREDENTIAL; 444 + 445 +struct MSV1_0_NTLM3_RESPONSE { 446 + UCHAR[MSV1_0_NTLM3_RESPONSE_LENGTH] Response; 447 + UCHAR RespType; 448 + UCHAR HiRespType; 449 + USHORT Flags; 450 + ULONG MsgWord; 451 + ULONGLONG TimeStamp; 452 + UCHAR[MSV1_0_CHALLENGE_LENGTH] ChallengeFromClient; 453 + ULONG AvPairsOff; 454 + UCHAR _Buffer; 455 + UCHAR* Buffer() { return &_Buffer; } 456 +} 457 +alias MSV1_0_NTLM3_RESPONSE* PMSV1_0_NTLM3_RESPONSE; 458 + 459 +struct MSV1_0_AV_PAIR { 460 + USHORT AvId; 461 + USHORT AvLen; 462 +} 463 +alias MSV1_0_AV_PAIR* PMSV1_0_AV_PAIR; 464 + 465 +struct MSV1_0_CHANGEPASSWORD_REQUEST { 466 + MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType; 467 + UNICODE_STRING DomainName; 468 + UNICODE_STRING AccountName; 469 + UNICODE_STRING OldPassword; 470 + UNICODE_STRING NewPassword; 471 + BOOLEAN Impersonating; 472 +} 473 +alias MSV1_0_CHANGEPASSWORD_REQUEST* PMSV1_0_CHANGEPASSWORD_REQUEST; 474 + 475 +struct MSV1_0_CHANGEPASSWORD_RESPONSE { 476 + MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType; 477 + BOOLEAN PasswordInfoValid; 478 + DOMAIN_PASSWORD_INFORMATION DomainPasswordInfo; 479 +} 480 +alias MSV1_0_CHANGEPASSWORD_RESPONSE* PMSV1_0_CHANGEPASSWORD_RESPONSE; 481 + 482 +struct MSV1_0_SUBAUTH_REQUEST { 483 + MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType; 484 + ULONG SubAuthPackageId; 485 + ULONG SubAuthInfoLength; 486 + PUCHAR SubAuthSubmitBuffer; 487 +} 488 +alias MSV1_0_SUBAUTH_REQUEST* PMSV1_0_SUBAUTH_REQUEST; 489 + 490 +struct MSV1_0_SUBAUTH_RESPONSE { 491 + MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType; 492 + ULONG SubAuthInfoLength; 493 + PUCHAR SubAuthReturnBuffer; 494 +} 495 +alias MSV1_0_SUBAUTH_RESPONSE* PMSV1_0_SUBAUTH_RESPONSE; 496 + 497 +const MSV1_0_DERIVECRED_TYPE_SHA1 = 0; 498 + 499 +struct MSV1_0_DERIVECRED_REQUEST { 500 + MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType; 501 + LUID LogonId; 502 + ULONG DeriveCredType; 503 + ULONG DeriveCredInfoLength; 504 + UCHAR _DeriveCredSubmitBuffer; 505 + UCHAR* DeriveCredSubmitBuffer() { return &_DeriveCredSubmitBuffer; } 506 +} 507 +alias MSV1_0_DERIVECRED_REQUEST* PMSV1_0_DERIVECRED_REQUEST; 508 + 509 +struct MSV1_0_DERIVECRED_RESPONSE { 510 + MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType; 511 + ULONG DeriveCredInfoLength; 512 + UCHAR _DeriveCredReturnBuffer; 513 + UCHAR* DeriveCredReturnBuffer() { return &_DeriveCredReturnBuffer; } 514 +} 515 +alias MSV1_0_DERIVECRED_RESPONSE* PMSV1_0_DERIVECRED_RESPONSE; 516 + 517 +alias uint LSA_ENUMERATION_HANDLE, LSA_OPERATIONAL_MODE, 518 + POLICY_AUDIT_EVENT_OPTIONS; 519 +alias uint* PLSA_ENUMERATION_HANDLE, PLSA_OPERATIONAL_MODE, 520 + PPOLICY_AUDIT_EVENT_OPTIONS; 521 + 522 +struct POLICY_PRIVILEGE_DEFINITION { 523 + LSA_UNICODE_STRING Name; 524 + LUID LocalValue; 525 +} 526 +alias POLICY_PRIVILEGE_DEFINITION* PPOLICY_PRIVILEGE_DEFINITION; 527 + 528 +struct POLICY_AUDIT_LOG_INFO { 529 + ULONG AuditLogPercentFull; 530 + ULONG MaximumLogSize; 531 + LARGE_INTEGER AuditRetentionPeriod; 532 + BOOLEAN AuditLogFullShutdownInProgress; 533 + LARGE_INTEGER TimeToShutdown; 534 + ULONG NextAuditRecordId; 535 +} 536 +alias POLICY_AUDIT_LOG_INFO* PPOLICY_AUDIT_LOG_INFO; 537 + 538 +struct POLICY_AUDIT_EVENTS_INFO { 539 + BOOLEAN AuditingMode; 540 + PPOLICY_AUDIT_EVENT_OPTIONS EventAuditingOptions; 541 + ULONG MaximumAuditEventCount; 542 +} 543 +alias POLICY_AUDIT_EVENTS_INFO* PPOLICY_AUDIT_EVENTS_INFO; 544 + 545 +struct POLICY_ACCOUNT_DOMAIN_INFO { 546 + LSA_UNICODE_STRING DomainName; 547 + PSID DomainSid; 548 +} 549 +alias POLICY_ACCOUNT_DOMAIN_INFO* PPOLICY_ACCOUNT_DOMAIN_INFO; 550 + 551 +struct POLICY_PRIMARY_DOMAIN_INFO { 552 + LSA_UNICODE_STRING Name; 553 + PSID Sid; 554 +} 555 +alias POLICY_PRIMARY_DOMAIN_INFO* PPOLICY_PRIMARY_DOMAIN_INFO; 556 + 557 +struct POLICY_DNS_DOMAIN_INFO { 558 + LSA_UNICODE_STRING Name; 559 + LSA_UNICODE_STRING DnsDomainName; 560 + LSA_UNICODE_STRING DnsTreeName; 561 + GUID DomainGuid; 562 + PSID Sid; 563 +} 564 +alias POLICY_DNS_DOMAIN_INFO* PPOLICY_DNS_DOMAIN_INFO; 565 + 566 +struct POLICY_PD_ACCOUNT_INFO { 567 + LSA_UNICODE_STRING Name; 568 +} 569 +alias POLICY_PD_ACCOUNT_INFO* PPOLICY_PD_ACCOUNT_INFO; 570 + 571 +struct POLICY_LSA_SERVER_ROLE_INFO { 572 + POLICY_LSA_SERVER_ROLE LsaServerRole; 573 +} 574 +alias POLICY_LSA_SERVER_ROLE_INFO* PPOLICY_LSA_SERVER_ROLE_INFO; 575 + 576 +struct POLICY_REPLICA_SOURCE_INFO { 577 + LSA_UNICODE_STRING ReplicaSource; 578 + LSA_UNICODE_STRING ReplicaAccountName; 579 +} 580 +alias POLICY_REPLICA_SOURCE_INFO* PPOLICY_REPLICA_SOURCE_INFO; 581 + 582 +struct POLICY_DEFAULT_QUOTA_INFO { 583 + QUOTA_LIMITS QuotaLimits; 584 +} 585 +alias POLICY_DEFAULT_QUOTA_INFO* PPOLICY_DEFAULT_QUOTA_INFO; 586 + 587 +struct POLICY_MODIFICATION_INFO { 588 + LARGE_INTEGER ModifiedId; 589 + LARGE_INTEGER DatabaseCreationTime; 590 +} 591 +alias POLICY_MODIFICATION_INFO* PPOLICY_MODIFICATION_INFO; 592 + 593 +struct POLICY_AUDIT_FULL_SET_INFO { 594 + BOOLEAN ShutDownOnFull; 595 +} 596 +alias POLICY_AUDIT_FULL_SET_INFO* PPOLICY_AUDIT_FULL_SET_INFO; 597 + 598 +struct POLICY_AUDIT_FULL_QUERY_INFO { 599 + BOOLEAN ShutDownOnFull; 600 + BOOLEAN LogIsFull; 601 +} 602 +alias POLICY_AUDIT_FULL_QUERY_INFO* PPOLICY_AUDIT_FULL_QUERY_INFO; 603 + 604 +struct POLICY_EFS_INFO { 605 + ULONG InfoLength; 606 + PUCHAR EfsBlob; 607 +} 608 +alias POLICY_EFS_INFO* PPOLICY_EFS_INFO; 609 + 610 +struct POLICY_LOCAL_IPSEC_REFERENCE_INFO { 611 + LSA_UNICODE_STRING ObjectPath; 612 +} 613 +alias POLICY_LOCAL_IPSEC_REFERENCE_INFO* PPOLICY_LOCAL_IPSEC_REFERENCE_INFO; 614 + 615 +struct POLICY_LOCAL_MACHINE_PASSWORD_INFO { 616 + LARGE_INTEGER PasswordChangeInterval; 617 +} 618 +alias POLICY_LOCAL_MACHINE_PASSWORD_INFO* PPOLICY_LOCAL_MACHINE_PASSWORD_INFO; 619 + 620 +struct POLICY_LOCAL_POLICY_LOCATION_INFO { 621 + ULONG PolicyLocation; 622 +} 623 +alias POLICY_LOCAL_POLICY_LOCATION_INFO* PPOLICY_LOCAL_POLICY_LOCATION_INFO; 624 + 625 +struct POLICY_LOCAL_QUALITY_OF_SERVICE_INFO{ 626 + ULONG QualityOfService; 627 +} 628 +alias POLICY_LOCAL_QUALITY_OF_SERVICE_INFO 629 + POLICY_DOMAIN_QUALITY_OF_SERVICE_INFO; 630 +alias POLICY_LOCAL_QUALITY_OF_SERVICE_INFO* 631 + PPOLICY_LOCAL_QUALITY_OF_SERVICE_INFO, 632 + PPOLICY_DOMAIN_QUALITY_OF_SERVICE_INFO; 633 + 634 +struct POLICY_DOMAIN_PUBLIC_KEY_INFO { 635 + ULONG InfoLength; 636 + PUCHAR PublicKeyInfo; 637 +} 638 +alias POLICY_DOMAIN_PUBLIC_KEY_INFO* PPOLICY_DOMAIN_PUBLIC_KEY_INFO; 639 + 640 +struct POLICY_DOMAIN_LOCKOUT_INFO { 641 + LARGE_INTEGER LockoutDuration; 642 + LARGE_INTEGER LockoutObservationWindow; 643 + USHORT LockoutThreshold; 644 +} 645 +alias POLICY_DOMAIN_LOCKOUT_INFO* PPOLICY_DOMAIN_LOCKOUT_INFO; 646 + 647 +struct POLICY_DOMAIN_PASSWORD_INFO { 648 + USHORT MinPasswordLength; 649 + USHORT PasswordHistoryLength; 650 + ULONG PasswordProperties; 651 + LARGE_INTEGER MaxPasswordAge; 652 + LARGE_INTEGER MinPasswordAge; 653 +} 654 +alias POLICY_DOMAIN_PASSWORD_INFO* PPOLICY_DOMAIN_PASSWORD_INFO; 655 + 656 +struct POLICY_DOMAIN_KERBEROS_TICKET_INFO { 657 + ULONG AuthenticationOptions; 658 + LARGE_INTEGER MinTicketAge; 659 + LARGE_INTEGER MaxTicketAge; 660 + LARGE_INTEGER MaxRenewAge; 661 + LARGE_INTEGER ProxyLifetime; 662 + LARGE_INTEGER ForceLogoff; 663 +} 664 +alias POLICY_DOMAIN_KERBEROS_TICKET_INFO* PPOLICY_DOMAIN_KERBEROS_TICKET_INFO; 665 + 666 +alias HANDLE LSA_HANDLE; 667 +alias HANDLE* PLSA_HANDLE; 668 + 669 +struct TRUSTED_DOMAIN_NAME_INFO { 670 + LSA_UNICODE_STRING Name; 671 +} 672 +alias TRUSTED_DOMAIN_NAME_INFO* PTRUSTED_DOMAIN_NAME_INFO; 673 + 674 +struct TRUSTED_CONTROLLERS_INFO { 675 + ULONG Entries; 676 + PLSA_UNICODE_STRING Names; 677 +} 678 +alias TRUSTED_CONTROLLERS_INFO* PTRUSTED_CONTROLLERS_INFO; 679 + 680 +struct TRUSTED_POSIX_OFFSET_INFO { 681 + ULONG Offset; 682 +} 683 +alias TRUSTED_POSIX_OFFSET_INFO* PTRUSTED_POSIX_OFFSET_INFO; 684 + 685 +struct TRUSTED_PASSWORD_INFO { 686 + LSA_UNICODE_STRING Password; 687 + LSA_UNICODE_STRING OldPassword; 688 +} 689 +alias TRUSTED_PASSWORD_INFO* PTRUSTED_PASSWORD_INFO; 690 + 691 +struct TRUSTED_DOMAIN_INFORMATION_EX { 692 + LSA_UNICODE_STRING Name; 693 + LSA_UNICODE_STRING FlatName; 694 + PSID Sid; 695 + ULONG TrustDirection; 696 + ULONG TrustType; 697 + ULONG TrustAttributes; 698 +} 699 +alias TRUSTED_DOMAIN_INFORMATION_EX* PTRUSTED_DOMAIN_INFORMATION_EX; 700 + 701 +struct LSA_AUTH_INFORMATION { 702 + LARGE_INTEGER LastUpdateTime; 703 + ULONG AuthType; 704 + ULONG AuthInfoLength; 705 + PUCHAR AuthInfo; 706 +} 707 +alias LSA_AUTH_INFORMATION* PLSA_AUTH_INFORMATION; 708 + 709 +struct TRUSTED_DOMAIN_AUTH_INFORMATION { 710 + ULONG IncomingAuthInfos; 711 + PLSA_AUTH_INFORMATION IncomingAuthenticationInformation; 712 + PLSA_AUTH_INFORMATION IncomingPreviousAuthenticationInformation; 713 + ULONG OutgoingAuthInfos; 714 + PLSA_AUTH_INFORMATION OutgoingAuthenticationInformation; 715 + PLSA_AUTH_INFORMATION OutgoingPreviousAuthenticationInformation; 716 +} 717 +alias TRUSTED_DOMAIN_AUTH_INFORMATION* PTRUSTED_DOMAIN_AUTH_INFORMATION; 718 + 719 +struct TRUSTED_DOMAIN_FULL_INFORMATION { 720 + TRUSTED_DOMAIN_INFORMATION_EX Information; 721 + TRUSTED_POSIX_OFFSET_INFO PosixOffset; 722 + TRUSTED_DOMAIN_AUTH_INFORMATION AuthInformation; 723 +} 724 +alias TRUSTED_DOMAIN_FULL_INFORMATION* PTRUSTED_DOMAIN_FULL_INFORMATION; 725 + 726 +extern (Windows) { 727 + NTSTATUS LsaAddAccountRights(LSA_HANDLE, PSID, PLSA_UNICODE_STRING, 728 + ULONG); 729 + NTSTATUS LsaCallAuthenticationPackage(HANDLE, ULONG, PVOID, ULONG, 730 + PVOID*, PULONG, PNTSTATUS); 731 + NTSTATUS LsaClose(LSA_HANDLE); 732 + NTSTATUS LsaConnectUntrusted(PHANDLE); 733 + NTSTATUS LsaCreateTrustedDomainEx(LSA_HANDLE, 734 + PTRUSTED_DOMAIN_INFORMATION_EX, PTRUSTED_DOMAIN_AUTH_INFORMATION, 735 + ACCESS_MASK, PLSA_HANDLE); 736 + NTSTATUS LsaDeleteTrustedDomain(LSA_HANDLE, PSID); 737 + NTSTATUS LsaDeregisterLogonProcess(HANDLE); 738 + NTSTATUS LsaEnumerateAccountRights(LSA_HANDLE, PSID, PLSA_UNICODE_STRING*, 739 + PULONG); 740 + NTSTATUS LsaEnumerateAccountsWithUserRight(LSA_HANDLE, 741 + PLSA_UNICODE_STRING, PVOID*, PULONG); 742 + NTSTATUS LsaEnumerateTrustedDomains(LSA_HANDLE, PLSA_ENUMERATION_HANDLE, 743 + PVOID*, ULONG, PULONG); 744 + NTSTATUS LsaEnumerateTrustedDomainsEx(LSA_HANDLE, PLSA_ENUMERATION_HANDLE, 745 + TRUSTED_INFORMATION_CLASS, PVOID*, ULONG, PULONG); 746 + NTSTATUS LsaFreeMemory(PVOID); 747 + NTSTATUS LsaFreeReturnBuffer(PVOID); 748 + NTSTATUS LsaLogonUser(HANDLE, PLSA_STRING, SECURITY_LOGON_TYPE, ULONG, 749 + PVOID, ULONG, PTOKEN_GROUPS, PTOKEN_SOURCE, PVOID*, PULONG, PLUID, 750 + PHANDLE, PQUOTA_LIMITS, PNTSTATUS); 751 + NTSTATUS LsaLookupAuthenticationPackage(HANDLE, PLSA_STRING, PULONG); 752 + NTSTATUS LsaLookupNames(LSA_HANDLE, ULONG, PLSA_UNICODE_STRING, 753 + PLSA_REFERENCED_DOMAIN_LIST*, PLSA_TRANSLATED_SID*); 754 + NTSTATUS LsaLookupSids(LSA_HANDLE, ULONG, PSID*, 755 + PLSA_REFERENCED_DOMAIN_LIST*, PLSA_TRANSLATED_NAME*); 756 + ULONG LsaNtStatusToWinError(NTSTATUS); 757 + NTSTATUS LsaOpenPolicy(PLSA_UNICODE_STRING, PLSA_OBJECT_ATTRIBUTES, 758 + ACCESS_MASK, PLSA_HANDLE); 759 + NTSTATUS LsaQueryDomainInformationPolicy(LSA_HANDLE, 760 + POLICY_DOMAIN_INFORMATION_CLASS, PVOID*); 761 + NTSTATUS LsaQueryInformationPolicy(LSA_HANDLE, POLICY_INFORMATION_CLASS, 762 + PVOID*); 763 + NTSTATUS LsaQueryLocalInformationPolicy(LSA_HANDLE, 764 + POLICY_LOCAL_INFORMATION_CLASS, PVOID*); 765 + NTSTATUS LsaQueryTrustedDomainInfo(LSA_HANDLE, PSID, 766 + TRUSTED_INFORMATION_CLASS, PVOID*); 767 + NTSTATUS LsaQueryTrustedDomainInfoByName(LSA_HANDLE, PLSA_UNICODE_STRING, 768 + TRUSTED_INFORMATION_CLASS, PVOID*); 769 + NTSTATUS LsaRegisterLogonProcess(PLSA_STRING, PHANDLE, 770 + PLSA_OPERATIONAL_MODE); 771 + NTSTATUS LsaRemoveAccountRights(LSA_HANDLE, PSID, BOOLEAN, 772 + PLSA_UNICODE_STRING, ULONG); 773 + NTSTATUS LsaRetrievePrivateData(LSA_HANDLE, PLSA_UNICODE_STRING, 774 + PLSA_UNICODE_STRING*); 775 + NTSTATUS LsaSetDomainInformationPolicy(LSA_HANDLE, 776 + POLICY_DOMAIN_INFORMATION_CLASS, PVOID); 777 + NTSTATUS LsaSetInformationPolicy(LSA_HANDLE, POLICY_INFORMATION_CLASS, 778 + PVOID); 779 + NTSTATUS LsaSetLocalInformationPolicy(LSA_HANDLE, 780 + POLICY_LOCAL_INFORMATION_CLASS, PVOID); 781 + NTSTATUS LsaSetTrustedDomainInformation(LSA_HANDLE, PSID, 782 + TRUSTED_INFORMATION_CLASS, PVOID); 783 + NTSTATUS LsaSetTrustedDomainInfoByName(LSA_HANDLE, PLSA_UNICODE_STRING, 784 + TRUSTED_INFORMATION_CLASS, PVOID); 785 + NTSTATUS LsaStorePrivateData(LSA_HANDLE, PLSA_UNICODE_STRING, 786 + PLSA_UNICODE_STRING); 787 +} 788 + 789 +alias NTSTATUS function(PUNICODE_STRING, ULONG, PUNICODE_STRING) 790 + PSAM_PASSWORD_NOTIFICATION_ROUTINE; 791 +alias BOOLEAN function() PSAM_INIT_NOTIFICATION_ROUTINE; 792 +alias BOOLEAN function(PUNICODE_STRING, PUNICODE_STRING, 793 + PUNICODE_STRING, BOOLEAN) PSAM_PASSWORD_FILTER_ROUTINE;

Added src/win32/oaidl.d version [2b588d001c37b323]

1 +/***********************************************************************\ 2 +* oaidl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.oaidl; 11 + 12 +private import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes; 13 + 14 +const DISPID_UNKNOWN = -1; 15 +const DISPID_VALUE = 0; 16 +const DISPID_PROPERTYPUT = -3; 17 +const DISPID_NEWENUM = -4; 18 +const DISPID_EVALUATE = -5; 19 +const DISPID_CONSTRUCTOR = -6; 20 +const DISPID_DESTRUCTOR = -7; 21 +const DISPID_COLLECT = -8; 22 + 23 +const FADF_AUTO = 1; 24 +const FADF_STATIC = 2; 25 +const FADF_EMBEDDED = 4; 26 +const FADF_FIXEDSIZE = 16; 27 +const FADF_RECORD = 32; 28 +const FADF_HAVEIID = 64; 29 +const FADF_HAVEVARTYPE = 128; 30 +const FADF_BSTR = 256; 31 +const FADF_UNKNOWN = 512; 32 +const FADF_DISPATCH = 1024; 33 +const FADF_VARIANT = 2048; 34 +const FADF_RESERVED = 0xf0e8; 35 +const FADF_DATADELETED = 0x1000; 36 +const FADF_CREATEVECTOR = 0x2000; 37 + 38 +const PARAMFLAG_NONE = 0; 39 +const PARAMFLAG_FIN = 1; 40 +const PARAMFLAG_FOUT = 2; 41 +const PARAMFLAG_FLCID = 4; 42 +const PARAMFLAG_FRETVAL = 8; 43 +const PARAMFLAG_FOPT = 16; 44 +const PARAMFLAG_FHASDEFAULT = 32; 45 + 46 +const IDLFLAG_NONE = PARAMFLAG_NONE; 47 +const IDLFLAG_FIN = PARAMFLAG_FIN; 48 +const IDLFLAG_FOUT = PARAMFLAG_FOUT; 49 +const IDLFLAG_FLCID = PARAMFLAG_FLCID; 50 +const IDLFLAG_FRETVAL = PARAMFLAG_FRETVAL; 51 + 52 +const IMPLTYPEFLAG_FDEFAULT = 1; 53 +const IMPLTYPEFLAG_FSOURCE = 2; 54 +const IMPLTYPEFLAG_FRESTRICTED = 4; 55 +const IMPLTYPEFLAG_FDEFAULTVTABLE = 8; 56 + 57 + 58 +enum SYSKIND { 59 + SYS_WIN16, 60 + SYS_WIN32, 61 + SYS_MAC 62 +} 63 + 64 +enum LIBFLAGS { 65 + LIBFLAG_FRESTRICTED = 1, 66 + LIBFLAG_FCONTROL = 2, 67 + LIBFLAG_FHIDDEN = 4, 68 + LIBFLAG_FHASDISKIMAGE = 8 69 +} 70 + 71 +struct TLIBATTR { 72 + GUID guid; 73 + LCID lcid; 74 + SYSKIND syskind; 75 + WORD wMajorVerNum; 76 + WORD wMinorVerNum; 77 + WORD wLibFlags; 78 +} 79 +alias TLIBATTR* LPTLIBATTR; 80 + 81 +alias CY CURRENCY; 82 + 83 +struct SAFEARRAYBOUND { 84 + ULONG cElements; 85 + LONG lLbound; 86 +} 87 +alias SAFEARRAYBOUND* LPSAFEARRAYBOUND; 88 + 89 +struct SAFEARR_BSTR { 90 + ULONG Size; 91 + wireBSTR* aBstr; 92 +} 93 + 94 +struct SAFEARR_UNKNOWN { 95 + ULONG Size; 96 + IUnknown** apUnknown; 97 +} 98 + 99 +struct SAFEARR_DISPATCH { 100 + ULONG Size; 101 + LPDISPATCH* apDispatch; 102 +} 103 + 104 +struct SAFEARR_VARIANT { 105 + ULONG Size; 106 + _wireVARIANT* aVariant; 107 +} 108 + 109 +enum SF_TYPE { 110 + SF_ERROR=VARENUM.VT_ERROR, 111 + SF_I1=VARENUM.VT_I1, 112 + SF_I2=VARENUM.VT_I2, 113 + SF_I4=VARENUM.VT_I4, 114 + SF_I8=VARENUM.VT_I8, 115 + SF_BSTR=VARENUM.VT_BSTR, 116 + SF_UNKNOWN=VARENUM.VT_UNKNOWN, 117 + SF_DISPATCH=VARENUM.VT_DISPATCH, 118 + SF_VARIANT=VARENUM.VT_VARIANT 119 +} 120 + 121 +struct _wireBRECORD { 122 + ULONG fFlags; 123 + ULONG clSize; 124 + LPRECORDINFO* pRecInfo; 125 + byte* pRecord; 126 +} 127 +alias _wireBRECORD* wireBRECORD; 128 + 129 +struct SAFEARR_BRECORD { 130 + ULONG Size; 131 + wireBRECORD* aRecord; 132 +} 133 + 134 +struct SAFEARR_HAVEIID { 135 + ULONG Size; 136 + IUnknown** apUnknown; 137 + IID iid; 138 +} 139 + 140 +struct SAFEARRAYUNION { 141 + ULONG sfType; 142 + union _u { 143 + SAFEARR_BSTR BstrStr; 144 + SAFEARR_UNKNOWN UnknownStr; 145 + SAFEARR_DISPATCH DispatchStr; 146 + SAFEARR_VARIANT VariantStr; 147 + SAFEARR_BRECORD RecordStr; 148 + SAFEARR_HAVEIID HaveIidStr; 149 + BYTE_SIZEDARR ByteStr; 150 + WORD_SIZEDARR WordStr; 151 + DWORD_SIZEDARR LongStr; 152 + HYPER_SIZEDARR HyperStr; 153 + } 154 + _u u; 155 +} 156 + 157 +struct _wireSAFEARRAY { 158 + USHORT cDims; 159 + USHORT fFeatures; 160 + ULONG cbElements; 161 + ULONG cLocks; 162 + SAFEARRAYUNION uArrayStructs; 163 + SAFEARRAYBOUND rgsabound[1]; 164 +} 165 +alias _wireSAFEARRAY* wireSAFEARRAY; 166 + 167 +alias wireSAFEARRAY* wirePSAFEARRAY; 168 + 169 +struct SAFEARRAY { 170 + USHORT cDims; 171 + USHORT fFeatures; 172 + ULONG cbElements; 173 + ULONG cLocks; 174 + PVOID pvData; 175 + SAFEARRAYBOUND rgsabound[1]; 176 +} 177 +alias SAFEARRAY* LPSAFEARRAY; 178 + 179 +struct VARIANT { 180 + union { 181 + struct { 182 + VARTYPE vt; 183 + WORD wReserved1; 184 + WORD wReserved2; 185 + WORD wReserved3; 186 + union { 187 + int lVal; 188 + LONGLONG llVal; 189 + ubyte bVal; 190 + short iVal; 191 + float fltVal; 192 + double dblVal; 193 + VARIANT_BOOL boolVal; 194 + SCODE scode; 195 + CY cyVal; 196 + DATE date; 197 + BSTR bstrVal; 198 + IUnknown punkVal; 199 + IDispatch pdispVal; 200 + SAFEARRAY* parray; 201 + ubyte* pbVal; 202 + short* piVal; 203 + int* plVal; 204 + float* pfltVal; 205 + double* pdblVal; 206 + VARIANT_BOOL* pboolVal; 207 + _VARIANT_BOOL* pbool; 208 + SCODE* pscode; 209 + CY* pcyVal; 210 + DATE* pdate; 211 + BSTR* pbstrVal; 212 + IUnknown* ppunkVal; 213 + IDispatch* ppdispVal; 214 + SAFEARRAY** pparray; 215 + VARIANT* pvarVal; 216 + void* byref; 217 + CHAR cVal; 218 + USHORT uiVal; 219 + ULONG ulVal; 220 + ULONGLONG ullVal; 221 + INT intVal; 222 + UINT uintVal; 223 + DECIMAL* pdecVal; 224 + CHAR* pcVal; 225 + USHORT* puiVal; 226 + ULONG* pulVal; 227 + INT* pintVal; 228 + UINT* puintVal; 229 + struct { 230 + PVOID pvRecord; 231 + IRecordInfo pRecInfo; 232 + } 233 + } 234 + } 235 + DECIMAL decVal; 236 + } 237 +} 238 +alias VARIANT* LPVARIANT; 239 + 240 +alias VARIANT VARIANTARG; 241 +alias VARIANT* LPVARIANTARG; 242 + 243 +struct _wireVARIANT { 244 + DWORD clSize; 245 + DWORD rpcReserved; 246 + USHORT vt; 247 + USHORT wReserved1; 248 + USHORT wReserved2; 249 + USHORT wReserved3; 250 + union { 251 + LONG lVal; 252 + LONGLONG llVal; 253 + BYTE bVal; 254 + SHORT iVal; 255 + FLOAT fltVal; 256 + DOUBLE dblVal; 257 + VARIANT_BOOL boolVal; 258 + SCODE scode; 259 + CY cyVal; 260 + DATE date; 261 + wireBSTR bstrVal; 262 + IUnknown* punkVal; 263 + LPDISPATCH pdispVal; 264 + wirePSAFEARRAY parray; 265 + wireBRECORD brecVal; 266 + BYTE* pbVal; 267 + SHORT* piVal; 268 + LONG* plVal; 269 + FLOAT* pfltVal; 270 + DOUBLE* pdblVal; 271 + VARIANT_BOOL* pboolVal; 272 + SCODE* pscode; 273 + CY* pcyVal; 274 + DATE* pdate; 275 + wireBSTR* pbstrVal; 276 + IUnknown** ppunkVal; 277 + LPDISPATCH* ppdispVal; 278 + wirePSAFEARRAY* pparray; 279 + wireVARIANT* pvarVal; 280 + CHAR cVal; 281 + USHORT uiVal; 282 + ULONG ulVal; 283 + ULONGLONG ullVal; 284 + INT intVal; 285 + UINT uintVal; 286 + DECIMAL decVal; 287 + DECIMAL* pdecVal; 288 + CHAR* pcVal; 289 + USHORT* puiVal; 290 + ULONG* pulVal; 291 + INT* pintVal; 292 + UINT* puintVal; 293 + } 294 +} 295 +alias _wireVARIANT* wireVARIANT; 296 + 297 +alias LONG DISPID; 298 +alias DISPID MEMBERID; 299 +alias DWORD HREFTYPE; 300 + 301 +enum TYPEKIND { 302 + TKIND_ENUM, TKIND_RECORD, TKIND_MODULE, TKIND_INTERFACE, TKIND_DISPATCH, 303 + TKIND_COCLASS, TKIND_ALIAS, TKIND_UNION, TKIND_MAX 304 +} 305 + 306 +struct TYPEDESC { 307 + union { 308 + TYPEDESC* lptdesc; 309 + ARRAYDESC* lpadesc; 310 + HREFTYPE hreftype; 311 + } 312 + VARTYPE vt; 313 +} 314 + 315 +struct ARRAYDESC { 316 + TYPEDESC tdescElem; 317 + USHORT cDims; 318 + SAFEARRAYBOUND rgbounds[1]; 319 +} 320 + 321 +struct PARAMDESCEX { 322 + ULONG cBytes; 323 + VARIANTARG varDefaultValue; 324 +} 325 +alias PARAMDESCEX* LPPARAMDESCEX; 326 + 327 +struct PARAMDESC { 328 + LPPARAMDESCEX pparamdescex; 329 + USHORT wParamFlags; 330 +} 331 +alias PARAMDESC* LPPARAMDESC; 332 + 333 +struct IDLDESC { 334 + ULONG dwReserved; 335 + USHORT wIDLFlags; 336 +} 337 +alias IDLDESC* LPIDLDESC; 338 + 339 +struct ELEMDESC { 340 + TYPEDESC tdesc; 341 + union { 342 + IDLDESC idldesc; 343 + PARAMDESC paramdesc; 344 + } 345 +} 346 +alias ELEMDESC* LPELEMDESC; 347 + 348 +struct TYPEATTR { 349 + GUID guid; 350 + LCID lcid; 351 + DWORD dwReserved; 352 + MEMBERID memidConstructor; 353 + MEMBERID memidDestructor; 354 + LPOLESTR lpstrSchema; 355 + ULONG cbSizeInstance; 356 + TYPEKIND typekind; 357 + WORD cFuncs; 358 + WORD cVars; 359 + WORD cImplTypes; 360 + WORD cbSizeVft; 361 + WORD cbAlignment; 362 + WORD wTypeFlags; 363 + WORD wMajorVerNum; 364 + WORD wMinorVerNum; 365 + TYPEDESC tdescAlias; 366 + IDLDESC idldescType; 367 +} 368 +alias TYPEATTR* LPTYPEATTR; 369 + 370 +struct DISPPARAMS { 371 + VARIANTARG* rgvarg; 372 + DISPID* rgdispidNamedArgs; 373 + UINT cArgs; 374 + UINT cNamedArgs; 375 +} 376 + 377 +struct EXCEPINFO { 378 + WORD wCode; 379 + WORD wReserved; 380 + BSTR bstrSource; 381 + BSTR bstrDescription; 382 + BSTR bstrHelpFile; 383 + DWORD dwHelpContext; 384 + PVOID pvReserved; 385 + extern (Windows) { 386 + HRESULT function (EXCEPINFO* ) pfnDeferredFillIn; 387 + } 388 + SCODE scode; 389 +} 390 +alias EXCEPINFO* LPEXCEPINFO; 391 + 392 +enum CALLCONV { 393 + CC_FASTCALL, 394 + CC_CDECL, 395 + CC_MSCPASCAL, 396 + CC_PASCAL=CC_MSCPASCAL, 397 + CC_MACPASCAL, 398 + CC_STDCALL, 399 + CC_FPFASTCALL, 400 + CC_SYSCALL, 401 + CC_MPWCDECL, 402 + CC_MPWPASCAL, 403 + CC_MAX=CC_MPWPASCAL 404 +} 405 + 406 +enum FUNCKIND { 407 + FUNC_VIRTUAL, 408 + FUNC_PUREVIRTUAL, 409 + FUNC_NONVIRTUAL, 410 + FUNC_STATIC, 411 + FUNC_DISPATCH 412 +} 413 + 414 +enum INVOKEKIND { 415 + INVOKE_FUNC = 1, 416 + INVOKE_PROPERTYGET = 2, 417 + INVOKE_PROPERTYPUT = 4, 418 + INVOKE_PROPERTYPUTREF = 8 419 +} 420 + 421 +struct FUNCDESC { 422 + MEMBERID memid; 423 + SCODE* lprgscode; 424 + ELEMDESC* lprgelemdescParam; 425 + FUNCKIND funckind; 426 + INVOKEKIND invkind; 427 + CALLCONV callconv; 428 + SHORT cParams; 429 + SHORT cParamsOpt; 430 + SHORT oVft; 431 + SHORT cScodes; 432 + ELEMDESC elemdescFunc; 433 + WORD wFuncFlags; 434 +} 435 +alias FUNCDESC* LPFUNCDESC; 436 + 437 +enum VARKIND { 438 + VAR_PERINSTANCE, VAR_STATIC, VAR_CONST, VAR_DISPATCH 439 +} 440 + 441 +struct VARDESC { 442 + MEMBERID memid; 443 + LPOLESTR lpstrSchema; 444 + union { 445 + ULONG oInst; 446 + VARIANT* lpvarValue; 447 + } 448 + ELEMDESC elemdescVar; 449 + WORD wVarFlags; 450 + VARKIND varkind; 451 +} 452 +alias VARDESC* LPVARDESC; 453 + 454 +enum TYPEFLAGS { 455 + TYPEFLAG_FAPPOBJECT = 1, 456 + TYPEFLAG_FCANCREATE = 2, 457 + TYPEFLAG_FLICENSED = 4, 458 + TYPEFLAG_FPREDECLID = 8, 459 + TYPEFLAG_FHIDDEN = 16, 460 + TYPEFLAG_FCONTROL = 32, 461 + TYPEFLAG_FDUAL = 64, 462 + TYPEFLAG_FNONEXTENSIBLE = 128, 463 + TYPEFLAG_FOLEAUTOMATION = 256, 464 + TYPEFLAG_FRESTRICTED = 512, 465 + TYPEFLAG_FAGGREGATABLE = 1024, 466 + TYPEFLAG_FREPLACEABLE = 2048, 467 + TYPEFLAG_FDISPATCHABLE = 4096, 468 + TYPEFLAG_FREVERSEBIND = 8192 469 +} 470 + 471 +enum FUNCFLAGS { 472 + FUNCFLAG_FRESTRICTED = 1, 473 + FUNCFLAG_FSOURCE = 2, 474 + FUNCFLAG_FBINDABLE = 4, 475 + FUNCFLAG_FREQUESTEDIT = 8, 476 + FUNCFLAG_FDISPLAYBIND = 16, 477 + FUNCFLAG_FDEFAULTBIND = 32, 478 + FUNCFLAG_FHIDDEN = 64, 479 + FUNCFLAG_FUSESGETLASTERROR = 128, 480 + FUNCFLAG_FDEFAULTCOLLELEM = 256, 481 + FUNCFLAG_FUIDEFAULT = 512, 482 + FUNCFLAG_FNONBROWSABLE = 1024, 483 + FUNCFLAG_FREPLACEABLE = 2048, 484 + FUNCFLAG_FIMMEDIATEBIND = 4096 485 +} 486 + 487 +enum VARFLAGS { 488 + VARFLAG_FREADONLY = 1, 489 + VARFLAG_FSOURCE = 2, 490 + VARFLAG_FBINDABLE = 4, 491 + VARFLAG_FREQUESTEDIT = 8, 492 + VARFLAG_FDISPLAYBIND = 16, 493 + VARFLAG_FDEFAULTBIND = 32, 494 + VARFLAG_FHIDDEN = 64, 495 + VARFLAG_FRESTRICTED = 128, 496 + VARFLAG_FDEFAULTCOLLELEM = 256, 497 + VARFLAG_FUIDEFAULT = 512, 498 + VARFLAG_FNONBROWSABLE = 1024, 499 + VARFLAG_FREPLACEABLE = 2048, 500 + VARFLAG_FIMMEDIATEBIND = 4096 501 +} 502 + 503 +struct CLEANLOCALSTORAGE { 504 + IUnknown* pInterface; 505 + PVOID pStorage; 506 + DWORD flags; 507 +} 508 + 509 +struct CUSTDATAITEM { 510 + GUID guid; 511 + VARIANTARG varValue; 512 +} 513 +alias CUSTDATAITEM* LPCUSTDATAITEM; 514 + 515 +struct CUSTDATA { 516 + DWORD cCustData; 517 + LPCUSTDATAITEM prgCustData; 518 +} 519 +alias CUSTDATA* LPCUSTDATA; 520 + 521 +enum DESCKIND { 522 + DESCKIND_NONE = 0, 523 + DESCKIND_FUNCDESC = DESCKIND_NONE+1, 524 + DESCKIND_VARDESC = DESCKIND_FUNCDESC+1, 525 + DESCKIND_TYPECOMP = DESCKIND_VARDESC+1, 526 + DESCKIND_IMPLICITAPPOBJ = DESCKIND_TYPECOMP+1, 527 + DESCKIND_MAX = DESCKIND_IMPLICITAPPOBJ+1 528 +} 529 + 530 +union BINDPTR { 531 + LPFUNCDESC lpfuncdesc; 532 + LPVARDESC lpvardesc; 533 + LPTYPECOMP lptcomp; 534 +} 535 +alias BINDPTR* LPBINDPTR; 536 + 537 +interface IDispatch : IUnknown { 538 + HRESULT GetTypeInfoCount(UINT*); 539 + HRESULT GetTypeInfo(UINT, LCID, LPTYPEINFO*); 540 + HRESULT GetIDsOfNames(REFIID, LPOLESTR*, UINT, LCID, DISPID*); 541 + HRESULT Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*); 542 +} 543 +alias IDispatch LPDISPATCH; 544 + 545 +interface IEnumVARIANT : IUnknown { 546 + HRESULT Next(ULONG, VARIANT*, ULONG*); 547 + HRESULT Skip(ULONG); 548 + HRESULT Reset(); 549 + HRESULT Clone(IEnumVARIANT**); 550 +} 551 +alias IEnumVARIANT LPENUMVARIANT; 552 + 553 +interface ITypeComp : IUnknown { 554 + HRESULT Bind(LPOLESTR, ULONG, WORD, LPTYPEINFO*, DESCKIND*, LPBINDPTR); 555 + HRESULT BindType(LPOLESTR, ULONG, LPTYPEINFO*, LPTYPECOMP*); 556 +} 557 +alias ITypeComp LPTYPECOMP; 558 + 559 +interface ITypeInfo : IUnknown { 560 + HRESULT GetTypeAttr(LPTYPEATTR*); 561 + HRESULT GetTypeComp(LPTYPECOMP*); 562 + HRESULT GetFuncDesc(UINT, LPFUNCDESC*); 563 + HRESULT GetVarDesc(UINT, LPVARDESC*); 564 + HRESULT GetNames(MEMBERID, BSTR*, UINT, UINT*); 565 + HRESULT GetRefTypeOfImplType(UINT, HREFTYPE*); 566 + HRESULT GetImplTypeFlags(UINT, INT*); 567 + HRESULT GetIDsOfNames(LPOLESTR*, UINT, MEMBERID*); 568 + HRESULT Invoke(PVOID, MEMBERID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, 569 + UINT*); 570 + HRESULT GetDocumentation(MEMBERID, BSTR*, BSTR*, DWORD*, BSTR*); 571 + HRESULT GetDllEntry(MEMBERID, INVOKEKIND, BSTR*, BSTR*, WORD*); 572 + HRESULT GetRefTypeInfo(HREFTYPE, LPTYPEINFO*); 573 + HRESULT AddressOfMember(MEMBERID, INVOKEKIND, PVOID*); 574 + HRESULT CreateInstance(LPUNKNOWN, REFIID, PVOID*); 575 + HRESULT GetMops(MEMBERID, BSTR*); 576 + HRESULT GetContainingTypeLib(LPTYPELIB*, UINT*); 577 + void ReleaseTypeAttr(LPTYPEATTR); 578 + void ReleaseFuncDesc(LPFUNCDESC); 579 + void ReleaseVarDesc(LPVARDESC); 580 +} 581 +alias ITypeInfo LPTYPEINFO; 582 + 583 +interface ITypeInfo2 : ITypeInfo { 584 + HRESULT GetTypeKind(TYPEKIND*); 585 + HRESULT GetTypeFlags(ULONG*); 586 + HRESULT GetFuncIndexOfMemId(MEMBERID, INVOKEKIND, UINT*); 587 + HRESULT GetVarIndexOfMemId(MEMBERID, UINT*); 588 + HRESULT GetCustData(REFGUID, VARIANT*); 589 + HRESULT GetFuncCustData(UINT, REFGUID, VARIANT*); 590 + HRESULT GetParamCustData(UINT, UINT, REFGUID, VARIANT*); 591 + HRESULT GetVarCustData(UINT, REFGUID, VARIANT*); 592 + HRESULT GetImplTypeCustData(UINT, REFGUID, VARIANT*); 593 + HRESULT GetDocumentation2(MEMBERID, LCID, BSTR*, DWORD*, BSTR*); 594 + HRESULT GetAllCustData(CUSTDATA*); 595 + HRESULT GetAllFuncCustData(UINT, CUSTDATA*); 596 + HRESULT GetAllParamCustData(UINT, UINT, CUSTDATA*); 597 + HRESULT GetAllVarCustData(UINT, CUSTDATA*); 598 + HRESULT GetAllImplTypeCustData(UINT, CUSTDATA*); 599 +} 600 +alias ITypeInfo2 LPTYPEINFO2; 601 + 602 +interface ITypeLib : IUnknown { 603 + UINT GetTypeInfoCount(); 604 + HRESULT GetTypeInfo(UINT, ITypeInfo**); 605 + HRESULT GetTypeInfoType(UINT, TYPEKIND*); 606 + HRESULT GetTypeInfoOfGuid(REFGUID, ITypeInfo**); 607 + HRESULT GetLibAttr(TLIBATTR**); 608 + HRESULT GetTypeComp(ITypeComp*); 609 + HRESULT GetDocumentation(INT, BSTR*, BSTR*, DWORD*, BSTR*); 610 + HRESULT IsName(LPOLESTR, ULONG, BOOL*); 611 + HRESULT FindName(LPOLESTR, ULONG, ITypeInfo**, MEMBERID*, USHORT*); 612 + void ReleaseTLibAttr(TLIBATTR*); 613 +} 614 +alias ITypeLib LPTYPELIB; 615 + 616 +interface ITypeLib2 : ITypeLib { 617 + HRESULT GetCustData(REFGUID, VARIANT*); 618 + HRESULT GetLibStatistics(ULONG*, ULONG*); 619 + HRESULT GetDocumentation2(INT, LCID, BSTR*, DWORD*, BSTR*); 620 + HRESULT GetAllCustData(CUSTDATA*); 621 +} 622 +alias ITypeLib2 LPTYPELIB2; 623 + 624 +interface IErrorInfo : IUnknown { 625 + HRESULT GetGUID(GUID*); 626 + HRESULT GetSource(BSTR*); 627 + HRESULT GetDescription(BSTR*); 628 + HRESULT GetHelpFile(BSTR*); 629 + HRESULT GetHelpContext(DWORD*); 630 +} 631 +alias IErrorInfo LPERRORINFO; 632 + 633 +interface ICreateErrorInfo : IUnknown { 634 + HRESULT SetGUID(REFGUID); 635 + HRESULT SetSource(LPOLESTR); 636 + HRESULT SetDescription(LPOLESTR); 637 + HRESULT SetHelpFile(LPOLESTR); 638 + HRESULT SetHelpContext(DWORD); 639 +} 640 +alias ICreateErrorInfo* LPCREATEERRORINFO; 641 + 642 +interface ISupportErrorInfo : IUnknown { 643 + HRESULT InterfaceSupportsErrorInfo(REFIID); 644 +} 645 +alias ISupportErrorInfo LPSUPPORTERRORINFO; 646 + 647 +interface IRecordInfo : IUnknown { 648 + HRESULT RecordInit(PVOID); 649 + HRESULT RecordClear(PVOID); 650 + HRESULT RecordCopy(PVOID, PVOID); 651 + HRESULT GetGuid(GUID*); 652 + HRESULT GetName(BSTR*); 653 + HRESULT GetSize(ULONG*); 654 + HRESULT GetTypeInfo(ITypeInfo**); 655 + HRESULT GetField(PVOID, LPCOLESTR, VARIANT*); 656 + HRESULT GetFieldNoCopy(PVOID, LPCOLESTR, VARIANT*, PVOID*); 657 + HRESULT PutField (ULONG, PVOID, LPCOLESTR, VARIANT*); 658 + HRESULT PutFieldNoCopy(ULONG, PVOID, LPCOLESTR, VARIANT*); 659 + HRESULT GetFieldNames(ULONG*, BSTR*); 660 + BOOL IsMatchingType(); 661 + PVOID RecordCreate(); 662 + HRESULT RecordCreateCopy(PVOID, PVOID*); 663 + HRESULT RecordDestroy (PVOID); 664 +} 665 +alias IRecordInfo LPRECORDINFO; 666 + 667 +interface ITypeMarshal : IUnknown { 668 + HRESULT Size(PVOID, DWORD, PVOID, ULONG*); 669 + HRESULT Marshal(PVOID, DWORD, PVOID, ULONG, BYTE*, ULONG*); 670 + HRESULT Unmarshal(PVOID, DWORD, ULONG, BYTE*, ULONG*); 671 + HRESULT Free(PVOID); 672 +}

Added src/win32/objbase.d version [a136bc964109dd20]

1 +/***********************************************************************\ 2 +* objbase.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.objbase; 11 +pragma(lib, "ole32.lib"); 12 + 13 +import win32.cguid, win32.objidl, win32.unknwn, win32.wtypes; 14 +private import win32.basetyps, win32.objfwd, win32.rpcdce, win32.winbase, 15 + win32.windef; 16 + 17 +// DAC: Not needed for D? 18 +//MACRO #define LISet32(li, v) ((li).HighPart=(v)<0?-1:0, (li).LowPart=(v)) 19 +//MACRO #define ULISet32(li, v) ((li).HighPart=0, (li).LowPart=(v)) 20 + 21 +const CLSCTX_ALL = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_INPROC_HANDLER|CLSCTX.CLSCTX_LOCAL_SERVER; 22 +const CLSCTX_INPROC = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_INPROC_HANDLER; 23 +const CLSCTX_SERVER = CLSCTX.CLSCTX_INPROC_SERVER|CLSCTX.CLSCTX_LOCAL_SERVER|CLSCTX.CLSCTX_REMOTE_SERVER; 24 +const MARSHALINTERFACE_MIN=500; 25 +const CWCSTORAGENAME=32; 26 + 27 +const STGM_DIRECT = 0; 28 +const STGM_TRANSACTED = 0x10000L; 29 +const STGM_SIMPLE = 0x8000000L; 30 +const STGM_READ = 0; 31 +const STGM_WRITE = 1; 32 +const STGM_READWRITE = 2; 33 +const STGM_SHARE_DENY_NONE = 0x40; 34 +const STGM_SHARE_DENY_READ = 0x30; 35 +const STGM_SHARE_DENY_WRITE = 0x20; 36 +const STGM_SHARE_EXCLUSIVE = 0x10; 37 +const STGM_PRIORITY = 0x40000L; 38 +const STGM_DELETEONRELEASE = 0x4000000; 39 +const STGM_NOSCRATCH = 0x100000; 40 +const STGM_CREATE = 0x1000; 41 +const STGM_CONVERT = 0x20000; 42 +const STGM_NOSNAPSHOT = 0x200000; 43 +const STGM_FAILIFTHERE = 0; 44 + 45 +const ASYNC_MODE_COMPATIBILITY = 1; 46 +const ASYNC_MODE_DEFAULT = 0; 47 + 48 +const STGTY_REPEAT = 256; 49 +const STG_TOEND = 0xFFFFFFFF; 50 +const STG_LAYOUT_SEQUENTIAL = 0; 51 +const STG_LAYOUT_INTERLEAVED = 1; 52 + 53 +const COM_RIGHTS_EXECUTE = 1; 54 +const COM_RIGHTS_SAFE_FOR_SCRIPTING = 2; 55 + 56 +const STGOPTIONS_VERSION = 2; 57 + 58 +enum STGFMT { 59 + STGFMT_STORAGE = 0, 60 + STGFMT_FILE = 3, 61 + STGFMT_ANY = 4, 62 + STGFMT_DOCFILE = 5 63 +} 64 + 65 +struct STGOPTIONS { 66 + USHORT usVersion; 67 + USHORT reserved; 68 + ULONG ulSectorSize; 69 + CPtr!(WCHAR) pwcsTemplateFile; 70 +} 71 + 72 +enum REGCLS { 73 + REGCLS_SINGLEUSE = 0, 74 + REGCLS_MULTIPLEUSE = 1, 75 + REGCLS_MULTI_SEPARATE = 2 76 +} 77 + 78 +/* 79 +BOOL IsEqualGUID(GUID rguid1, GUID rguid2) { 80 + return rguid1 == rguid2; 81 +} 82 +*/ 83 + 84 +extern (Windows) BOOL IsEqualGUID( 85 + REFGUID rguid1, 86 + REFGUID rguid2 87 +); 88 + 89 +alias IsEqualGUID IsEqualIID; 90 +alias IsEqualGUID IsEqualCLSID; 91 + 92 +enum COINIT { 93 + COINIT_APARTMENTTHREADED = 2, 94 + COINIT_MULTITHREADED = 0, 95 + COINIT_DISABLE_OLE1DDE = 4, 96 + COINIT_SPEED_OVER_MEMORY = 8 97 +} 98 + 99 +enum STDMSHLFLAGS { 100 + SMEXF_SERVER = 1, 101 + SMEXF_HANDLER 102 +} 103 + 104 +extern(Windows) { 105 + alias HRESULT function(REFCLSID, REFIID, PVOID*) LPFNGETCLASSOBJECT; 106 + alias HRESULT function() LPFNCANUNLOADNOW; 107 + 108 + DWORD CoBuildVersion(); 109 + HRESULT CoInitialize(PVOID); 110 + HRESULT CoInitializeEx(LPVOID, DWORD); 111 + void CoUninitialize(); 112 + HRESULT CoGetMalloc(DWORD, LPMALLOC*); 113 + DWORD CoGetCurrentProcess(); 114 + HRESULT CoRegisterMallocSpy(LPMALLOCSPY); 115 + HRESULT CoRevokeMallocSpy(); 116 + HRESULT CoCreateStandardMalloc(DWORD, IMalloc**); 117 + //#ifdef DBG 118 + ULONG DebugCoGetRpcFault(); 119 + void DebugCoSetRpcFault(ULONG); 120 + //#endif 121 + HRESULT CoGetClassObject(REFCLSID, DWORD, COSERVERINFO*, REFIID, PVOID*); 122 + HRESULT CoRegisterClassObject(REFCLSID, LPUNKNOWN, DWORD, DWORD, PDWORD); 123 + HRESULT CoRevokeClassObject(DWORD); 124 + HRESULT CoGetMarshalSizeMax(ULONG*, REFIID, LPUNKNOWN, DWORD, PVOID, DWORD); 125 + HRESULT CoMarshalInterface(LPSTREAM, REFIID, LPUNKNOWN, DWORD, PVOID, DWORD); 126 + HRESULT CoUnmarshalInterface(LPSTREAM, REFIID, PVOID*); 127 + HRESULT CoMarshalHresult(LPSTREAM, HRESULT); 128 + HRESULT CoUnmarshalHresult(LPSTREAM, HRESULT*); 129 + HRESULT CoReleaseMarshalData(LPSTREAM); 130 + HRESULT CoDisconnectObject(LPUNKNOWN, DWORD); 131 + HRESULT CoLockObjectExternal(LPUNKNOWN, BOOL, BOOL); 132 + HRESULT CoGetStandardMarshal(REFIID, LPUNKNOWN, DWORD, PVOID, DWORD, LPMARSHAL*); 133 + HRESULT CoGetStdMarshalEx(LPUNKNOWN, DWORD, LPUNKNOWN*); 134 + BOOL CoIsHandlerConnected(LPUNKNOWN); 135 + BOOL CoHasStrongExternalConnections(LPUNKNOWN); 136 + HRESULT CoMarshalInterThreadInterfaceInStream(REFIID, LPUNKNOWN, LPSTREAM*); 137 + HRESULT CoGetInterfaceAndReleaseStream(LPSTREAM, REFIID, PVOID*); 138 + HRESULT CoCreateFreeThreadedMarshaler(LPUNKNOWN, LPUNKNOWN*); 139 + HINSTANCE CoLoadLibrary(LPOLESTR, BOOL); 140 + void CoFreeLibrary(HINSTANCE); 141 + void CoFreeAllLibraries(); 142 + void CoFreeUnusedLibraries(); 143 + HRESULT CoCreateInstance(REFCLSID, LPUNKNOWN, DWORD, REFIID, PVOID*); 144 + HRESULT CoCreateInstanceEx(REFCLSID, IUnknown*, DWORD, COSERVERINFO*, DWORD, MULTI_QI*); 145 + HRESULT StringFromCLSID(REFCLSID, LPOLESTR*); 146 + HRESULT CLSIDFromString(LPOLESTR, LPCLSID); 147 + HRESULT StringFromIID(REFIID, LPOLESTR*); 148 + HRESULT IIDFromString(LPOLESTR, LPIID); 149 + BOOL CoIsOle1Class(REFCLSID); 150 + HRESULT ProgIDFromCLSID(REFCLSID, LPOLESTR*); 151 + HRESULT CLSIDFromProgID(LPCOLESTR, LPCLSID); 152 + int StringFromGUID2(REFGUID, LPOLESTR, int); 153 + HRESULT CoCreateGuid(GUID*); 154 + BOOL CoFileTimeToDosDateTime(FILETIME*, LPWORD, LPWORD); 155 + BOOL CoDosDateTimeToFileTime(WORD, WORD, FILETIME*); 156 + HRESULT CoFileTimeNow(FILETIME*); 157 + HRESULT CoRegisterMessageFilter(LPMESSAGEFILTER, LPMESSAGEFILTER*); 158 + HRESULT CoGetTreatAsClass(REFCLSID, LPCLSID); 159 + HRESULT CoTreatAsClass(REFCLSID, REFCLSID); 160 + HRESULT DllGetClassObject(REFCLSID, REFIID, PVOID*); 161 + HRESULT DllCanUnloadNow(); 162 + PVOID CoTaskMemAlloc(ULONG); 163 + PVOID CoTaskMemRealloc(PVOID, ULONG); 164 + void CoTaskMemFree(PVOID); 165 + HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*); 166 + HRESULT CreateDataCache(LPUNKNOWN, REFCLSID, REFIID, PVOID*); 167 + HRESULT StgCreateDocfile(CPtr!(OLECHAR), DWORD, DWORD, IStorage**); 168 + HRESULT StgCreateDocfileOnILockBytes(ILockBytes*, DWORD, DWORD, IStorage**); 169 + HRESULT StgOpenStorage(CPtr!(OLECHAR), IStorage, DWORD, SNB, DWORD, IStorage*); 170 + HRESULT StgOpenStorageOnILockBytes(ILockBytes*, IStorage*, DWORD, SNB, DWORD, IStorage**); 171 + HRESULT StgIsStorageFile(CPtr!(OLECHAR)); 172 + HRESULT StgIsStorageILockBytes(ILockBytes*); 173 + HRESULT StgSetTimes(OLECHAR *, FILETIME *, FILETIME *, FILETIME *); 174 + HRESULT StgCreateStorageEx(CPtr!(WCHAR), DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**); 175 + HRESULT StgOpenStorageEx(CPtr!(WCHAR), DWORD, DWORD, DWORD, STGOPTIONS*, void*, REFIID, void**); 176 + HRESULT BindMoniker(LPMONIKER, DWORD, REFIID, PVOID*); 177 + HRESULT CoGetObject(LPCWSTR, BIND_OPTS*, REFIID, void**); 178 + HRESULT MkParseDisplayName(LPBC, LPCOLESTR, ULONG*, LPMONIKER*); 179 + HRESULT MonikerRelativePathTo(LPMONIKER, LPMONIKER, LPMONIKER*, BOOL); 180 + HRESULT MonikerCommonPrefixWith(LPMONIKER, LPMONIKER, LPMONIKER*); 181 + HRESULT CreateBindCtx(DWORD, LPBC*); 182 + HRESULT CreateGenericComposite(LPMONIKER, LPMONIKER, LPMONIKER*); 183 + HRESULT GetClassFile (LPCOLESTR, CLSID*); 184 + HRESULT CreateFileMoniker(LPCOLESTR, LPMONIKER*); 185 + HRESULT CreateItemMoniker(LPCOLESTR, LPCOLESTR, LPMONIKER*); 186 + HRESULT CreateAntiMoniker(LPMONIKER*); 187 + HRESULT CreatePointerMoniker(LPUNKNOWN, LPMONIKER*); 188 + HRESULT GetRunningObjectTable(DWORD, LPRUNNINGOBJECTTABLE*); 189 + HRESULT CoInitializeSecurity(PSECURITY_DESCRIPTOR, LONG, SOLE_AUTHENTICATION_SERVICE*, void*, DWORD, DWORD, void*, DWORD, void*); 190 + HRESULT CoGetCallContext(REFIID, void**); 191 + HRESULT CoQueryProxyBlanket(IUnknown*, DWORD*, DWORD*, OLECHAR**, DWORD*, DWORD*, RPC_AUTH_IDENTITY_HANDLE*, DWORD*); 192 + HRESULT CoSetProxyBlanket(IUnknown*, DWORD, DWORD, OLECHAR*, DWORD, DWORD, RPC_AUTH_IDENTITY_HANDLE, DWORD); 193 + HRESULT CoCopyProxy(IUnknown*, IUnknown**); 194 + HRESULT CoQueryClientBlanket(DWORD*, DWORD*, OLECHAR**, DWORD*, DWORD*, RPC_AUTHZ_HANDLE*, DWORD*); 195 + HRESULT CoImpersonateClient(); 196 + HRESULT CoRevertToSelf(); 197 + HRESULT CoQueryAuthenticationServices(DWORD*, SOLE_AUTHENTICATION_SERVICE**); 198 + HRESULT CoSwitchCallContext(IUnknown*, IUnknown**); 199 + HRESULT CoGetInstanceFromFile(COSERVERINFO*, CLSID*, IUnknown*, DWORD, DWORD, OLECHAR*, DWORD, MULTI_QI*); 200 + HRESULT CoGetInstanceFromIStorage(COSERVERINFO*, CLSID*, IUnknown*, DWORD, IStorage*, DWORD, MULTI_QI*); 201 + ULONG CoAddRefServerProcess(); 202 + ULONG CoReleaseServerProcess(); 203 + HRESULT CoResumeClassObjects(); 204 + HRESULT CoSuspendClassObjects(); 205 + HRESULT CoGetPSClsid(REFIID, CLSID*); 206 + HRESULT CoRegisterPSClsid(REFIID, REFCLSID); 207 +}

Added src/win32/objfwd.d version [2bf6641af127e85a]

1 +/***********************************************************************\ 2 +* objfwd.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.objfwd; 11 + 12 +private import win32.objidl; 13 + 14 +/+ 15 +// Forward declararions are not necessary in D. 16 +extern(Windows) { 17 + interface IMoniker; 18 + interface IStream; 19 + interface IMarshal; 20 + interface IMalloc; 21 + interface IMallocSpy; 22 + interface IMessageFilter; 23 + interface IPersist; 24 + interface IPersistStream; 25 + interface IRunningObjectTable; 26 + interface IBindCtx; 27 + interface IAdviseSink; 28 + interface IAdviseSink2; 29 + interface IDataObject; 30 + interface IDataAdviseHolder; 31 + 32 + interface IEnumMoniker; 33 + interface IEnumFORMATETC; 34 + interface IEnumSTATDATA; 35 + interface IEnumSTATSTG; 36 + interface IEnumSTATPROPSTG; 37 + interface IEnumString; 38 + interface IEnumUnknown; 39 + interface IStorage; 40 + interface IPersistStorage; 41 + interface ILockBytes; 42 + interface IStdMarshalInfo; 43 + interface IExternalConnection; 44 + interface IRunnableObject; 45 + interface IROTData; 46 + interface IPersistFile; 47 + interface IRootStorage; 48 + interface IPropertyStorage; 49 + interface IEnumSTATPROPSETSTG; 50 + interface IPropertySetStorage; 51 + interface IClientSecurity; 52 + interface IServerSecurity; 53 + interface IClassActivator; 54 + interface IFillLockBytes; 55 + interface IProgressNotify; 56 + interface ILayoutStorage; 57 + interface IRpcProxyBuffer; 58 + interface IRpcChannelBuffer; 59 + interface IRpcStubBuffer; 60 +} 61 ++/ 62 +alias IMoniker LPMONIKER; 63 +alias IStream LPSTREAM; 64 +alias IMarshal LPMARSHAL; 65 +alias IMalloc LPMALLOC; 66 +alias IMallocSpy LPMALLOCSPY; 67 +alias IMessageFilter LPMESSAGEFILTER; 68 +alias IPersist LPPERSIST; 69 +alias IPersistStream LPPERSISTSTREAM; 70 +alias IRunningObjectTable LPRUNNINGOBJECTTABLE; 71 +alias IBindCtx LPBINDCTX, LPBC; 72 +alias IAdviseSink LPADVISESINK; 73 +alias IAdviseSink2 LPADVISESINK2; 74 +alias IDataObject LPDATAOBJECT; 75 +alias IDataAdviseHolder LPDATAADVISEHOLDER; 76 +alias IEnumMoniker LPENUMMONIKER; 77 +alias IEnumFORMATETC LPENUMFORMATETC; 78 +alias IEnumSTATDATA LPENUMSTATDATA; 79 +alias IEnumSTATSTG LPENUMSTATSTG; 80 +alias IEnumSTATPROPSTG LPENUMSTATPROPSTG; 81 +alias IEnumString LPENUMSTRING; 82 +alias IEnumUnknown LPENUMUNKNOWN; 83 +alias IStorage LPSTORAGE; 84 +alias IPersistStorage LPPERSISTSTORAGE; 85 +alias ILockBytes LPLOCKBYTES; 86 +alias IStdMarshalInfo LPSTDMARSHALINFO; 87 +alias IExternalConnection LPEXTERNALCONNECTION; 88 +alias IRunnableObject LPRUNNABLEOBJECT; 89 +alias IROTData LPROTDATA; 90 +alias IPersistFile LPPERSISTFILE; 91 +alias IRootStorage LPROOTSTORAGE; 92 +alias IRpcChannelBuffer LPRPCCHANNELBUFFER; 93 +alias IRpcProxyBuffer LPRPCPROXYBUFFER; 94 +alias IRpcStubBuffer LPRPCSTUBBUFFER; 95 +alias IPropertyStorage LPPROPERTYSTORAGE; 96 +alias IEnumSTATPROPSETSTG LPENUMSTATPROPSETSTG; 97 +alias IPropertySetStorage LPPROPERTYSETSTORAGE; 98 +alias IClientSecurity LPCLIENTSECURITY; 99 +alias IServerSecurity LPSERVERSECURITY; 100 +alias IClassActivator LPCLASSACTIVATOR; 101 +alias IFillLockBytes LPFILLLOCKBYTES; 102 +alias IProgressNotify LPPROGRESSNOTIFY; 103 +alias ILayoutStorage LPLAYOUTSTORAGE;

Added src/win32/objidl.d version [6e8b38d251726498]

1 +/***********************************************************************\ 2 +* objidl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +// TODO (Don): 11 +// # why is "alias IPSFactoryBuffer* LPPSFACTORYBUFFER;" in this file, 12 +// rather than in objfwd ? 13 +// # do we need the proxies that are defined in this file? 14 +module win32.objidl; 15 + 16 +import win32.unknwn; 17 +import win32.objfwd; 18 +private import win32.windef; 19 +private import win32.basetyps; 20 +private import win32.oleidl; 21 +private import win32.wtypes; 22 +private import win32.winbase; // for FILETIME 23 +private import win32.rpcdce; 24 + 25 +struct STATSTG { 26 + LPOLESTR pwcsName; 27 + DWORD type; 28 + ULARGE_INTEGER cbSize; 29 + FILETIME mtime; 30 + FILETIME ctime; 31 + FILETIME atime; 32 + DWORD grfMode; 33 + DWORD grfLocksSupported; 34 + CLSID clsid; 35 + DWORD grfStateBits; 36 + DWORD reserved; 37 +} 38 + 39 +enum STGTY { 40 + STGTY_STORAGE = 1, 41 + STGTY_STREAM, 42 + STGTY_LOCKBYTES, 43 + STGTY_PROPERTY 44 +} 45 + 46 +enum STREAM_SEEK { 47 + STREAM_SEEK_SET, 48 + STREAM_SEEK_CUR, 49 + STREAM_SEEK_END 50 +} 51 + 52 +struct INTERFACEINFO { 53 + LPUNKNOWN pUnk; 54 + IID iid; 55 + WORD wMethod; 56 +} 57 +alias INTERFACEINFO* LPINTERFACEINFO; 58 + 59 +enum CALLTYPE { 60 + CALLTYPE_TOPLEVEL = 1, 61 + CALLTYPE_NESTED, 62 + CALLTYPE_ASYNC, 63 + CALLTYPE_TOPLEVEL_CALLPENDING, 64 + CALLTYPE_ASYNC_CALLPENDING 65 +} 66 + 67 +enum PENDINGTYPE { 68 + PENDINGTYPE_TOPLEVEL = 1, 69 + PENDINGTYPE_NESTED 70 +} 71 + 72 +enum PENDINGMSG { 73 + PENDINGMSG_CANCELCALL = 0, 74 + PENDINGMSG_WAITNOPROCESS, 75 + PENDINGMSG_WAITDEFPROCESS 76 +} 77 + 78 +alias OLECHAR** SNB; 79 + 80 +enum DATADIR { 81 + DATADIR_GET = 1, 82 + DATADIR_SET 83 +} 84 +alias WORD CLIPFORMAT; 85 +alias CLIPFORMAT* LPCLIPFORMAT; 86 + 87 +struct DVTARGETDEVICE { 88 + DWORD tdSize; 89 + WORD tdDriverNameOffset; 90 + WORD tdDeviceNameOffset; 91 + WORD tdPortNameOffset; 92 + WORD tdExtDevmodeOffset; 93 + BYTE tdData[1]; 94 +} 95 + 96 +struct FORMATETC { 97 + CLIPFORMAT cfFormat; 98 + DVTARGETDEVICE* ptd; 99 + DWORD dwAspect; 100 + LONG lindex; 101 + DWORD tymed; 102 +} 103 +alias FORMATETC* LPFORMATETC; 104 + 105 +struct RemSTGMEDIUM { 106 + DWORD tymed; 107 + DWORD dwHandleType; 108 + ULONG pData; 109 + uint pUnkForRelease; 110 + uint cbData; 111 + BYTE data[1]; 112 +} 113 + 114 +struct HLITEM { 115 + ULONG uHLID; 116 + LPWSTR pwzFriendlyName; 117 +} 118 + 119 +struct STATDATA { 120 + FORMATETC formatetc; 121 + DWORD grfAdvf; 122 + IAdviseSink* pAdvSink; 123 + DWORD dwConnection; 124 +} 125 + 126 +struct STATPROPSETSTG { 127 + FMTID fmtid; 128 + CLSID clsid; 129 + DWORD grfFlags; 130 + FILETIME mtime; 131 + FILETIME ctime; 132 + FILETIME atime; 133 +} 134 + 135 +enum EXTCONN { 136 + EXTCONN_STRONG = 1, 137 + EXTCONN_WEAK = 2, 138 + EXTCONN_CALLABLE = 4 139 +} 140 + 141 +struct MULTI_QI { 142 + CPtr!(IID) pIID; 143 + IUnknown pItf; 144 + HRESULT hr; 145 +} 146 + 147 +struct AUTH_IDENTITY { 148 + USHORT* User; 149 + ULONG UserLength; 150 + USHORT* Domain; 151 + ULONG DomainLength; 152 + USHORT* Password; 153 + ULONG PasswordLength; 154 + ULONG Flags; 155 +} 156 + 157 +struct COAUTHINFO { 158 + DWORD dwAuthnSvc; 159 + DWORD dwAuthzSvc; 160 + LPWSTR pwszServerPrincName; 161 + DWORD dwAuthnLevel; 162 + DWORD dwImpersonationLevel; 163 + AUTH_IDENTITY* pAuthIdentityData; 164 + DWORD dwCapabilities; 165 +} 166 + 167 +struct COSERVERINFO { 168 + DWORD dwReserved1; 169 + LPWSTR pwszName; 170 + COAUTHINFO* pAuthInfo; 171 + DWORD dwReserved2; 172 +} 173 + 174 +struct BIND_OPTS { 175 + DWORD cbStruct; 176 + DWORD grfFlags; 177 + DWORD grfMode; 178 + DWORD dwTickCountDeadline; 179 +} 180 +alias BIND_OPTS* LPBIND_OPTS; 181 + 182 +struct BIND_OPTS2 { 183 + DWORD cbStruct; 184 + DWORD grfFlags; 185 + DWORD grfMode; 186 + DWORD dwTickCountDeadline; 187 + DWORD dwTrackFlags; 188 + DWORD dwClassContext; 189 + LCID locale; 190 + COSERVERINFO* pServerInfo; 191 +} 192 +alias BIND_OPTS2* LPBIND_OPTS2; 193 + 194 +enum BIND_FLAGS { 195 + BIND_MAYBOTHERUSER = 1, 196 + BIND_JUSTTESTEXISTENCE 197 +} 198 + 199 +struct STGMEDIUM { 200 + DWORD tymed; 201 + union { 202 + HBITMAP hBitmap; 203 + PVOID hMetaFilePict; 204 + HENHMETAFILE hEnhMetaFile; 205 + HGLOBAL hGlobal; 206 + LPWSTR lpszFileName; 207 + LPSTREAM pstm; 208 + LPSTORAGE pstg; 209 + } 210 + LPUNKNOWN pUnkForRelease; 211 +} 212 +alias STGMEDIUM* LPSTGMEDIUM; 213 + 214 +enum LOCKTYPE { 215 + LOCK_WRITE = 1, 216 + LOCK_EXCLUSIVE = 2, 217 + LOCK_ONLYONCE = 4 218 +} 219 + 220 +alias uint RPCOLEDATAREP; 221 + 222 +struct RPCOLEMESSAGE { 223 + PVOID reserved1; 224 + RPCOLEDATAREP dataRepresentation; 225 + PVOID Buffer; 226 + ULONG cbBuffer; 227 + ULONG iMethod; 228 + PVOID reserved2[5]; 229 + ULONG rpcFlags; 230 +} 231 +alias RPCOLEMESSAGE* PRPCOLEMESSAGE; 232 + 233 +enum MKSYS { 234 + MKSYS_NONE, 235 + MKSYS_GENERICCOMPOSITE, 236 + MKSYS_FILEMONIKER, 237 + MKSYS_ANTIMONIKER, 238 + MKSYS_ITEMMONIKER, 239 + MKSYS_POINTERMONIKER 240 +} 241 + 242 +enum MKREDUCE { 243 + MKRREDUCE_ALL, 244 + MKRREDUCE_ONE = 196608, 245 + MKRREDUCE_TOUSER = 131072, 246 + MKRREDUCE_THROUGHUSER = 65536 247 +} 248 + 249 +struct RemSNB { 250 + uint ulCntStr; 251 + uint ulCntChar; 252 + OLECHAR rgString[1]; 253 +} 254 + 255 +enum ADVF { 256 + ADVF_NODATA = 1, 257 + ADVF_PRIMEFIRST = 2, 258 + ADVF_ONLYONCE = 4, 259 + ADVFCACHE_NOHANDLER = 8, 260 + ADVFCACHE_FORCEBUILTIN = 16, 261 + ADVFCACHE_ONSAVE = 32, 262 + ADVF_DATAONSTOP = 64 263 +} 264 + 265 +enum TYMED { 266 + TYMED_HGLOBAL = 1, 267 + TYMED_FILE = 2, 268 + TYMED_ISTREAM = 4, 269 + TYMED_ISTORAGE = 8, 270 + TYMED_GDI = 16, 271 + TYMED_MFPICT = 32, 272 + TYMED_ENHMF = 64, 273 + TYMED_NULL = 0 274 +} 275 + 276 +enum SERVERCALL { 277 + SERVERCALL_ISHANDLED, 278 + SERVERCALL_REJECTED, 279 + SERVERCALL_RETRYLATER 280 +} 281 + 282 +struct CAUB { 283 + ULONG cElems; 284 + ubyte* pElems; 285 +} 286 + 287 +struct CAI { 288 + ULONG cElems; 289 + short* pElems; 290 +} 291 + 292 +struct CAUI { 293 + ULONG cElems; 294 + USHORT* pElems; 295 +} 296 + 297 +struct CAL { 298 + ULONG cElems; 299 + int* pElems; 300 +} 301 + 302 +struct CAUL { 303 + ULONG cElems; 304 + ULONG* pElems; 305 +} 306 + 307 +struct CAFLT { 308 + ULONG cElems; 309 + float* pElems; 310 +} 311 + 312 +struct CADBL { 313 + ULONG cElems; 314 + double* pElems; 315 +} 316 + 317 +struct CACY { 318 + ULONG cElems; 319 + CY* pElems; 320 +} 321 + 322 +struct CADATE { 323 + ULONG cElems; 324 + DATE* pElems; 325 +} 326 + 327 +struct CABSTR { 328 + ULONG cElems; 329 + BSTR* pElems; 330 +} 331 + 332 +struct CABSTRBLOB { 333 + ULONG cElems; 334 + BSTRBLOB* pElems; 335 +} 336 + 337 +struct CABOOL { 338 + ULONG cElems; 339 + VARIANT_BOOL* pElems; 340 +} 341 + 342 +struct CASCODE { 343 + ULONG cElems; 344 + SCODE* pElems; 345 +} 346 + 347 +struct CAH { 348 + ULONG cElems; 349 + LARGE_INTEGER* pElems; 350 +} 351 + 352 +struct CAUH { 353 + ULONG cElems; 354 + ULARGE_INTEGER* pElems; 355 +} 356 + 357 +struct CALPSTR { 358 + ULONG cElems; 359 + LPSTR* pElems; 360 +} 361 + 362 +struct CALPWSTR { 363 + ULONG cElems; 364 + LPWSTR* pElems; 365 +} 366 + 367 +struct CAFILETIME { 368 + ULONG cElems; 369 + FILETIME* pElems; 370 +} 371 + 372 +struct CACLIPDATA { 373 + ULONG cElems; 374 + CLIPDATA* pElems; 375 +} 376 + 377 +struct CACLSID { 378 + ULONG cElems; 379 + CLSID* pElems; 380 +} 381 +alias PROPVARIANT* LPPROPVARIANT; 382 + 383 +struct CAPROPVARIANT { 384 + ULONG cElems; 385 + LPPROPVARIANT pElems; 386 +} 387 + 388 +struct PROPVARIANT { 389 + VARTYPE vt; 390 + WORD wReserved1; 391 + WORD wReserved2; 392 + WORD wReserved3; 393 + union { 394 + CHAR cVal; 395 + UCHAR bVal; 396 + short iVal; 397 + USHORT uiVal; 398 + VARIANT_BOOL boolVal; 399 + int lVal; 400 + ULONG ulVal; 401 + float fltVal; 402 + SCODE scode; 403 + LARGE_INTEGER hVal; 404 + ULARGE_INTEGER uhVal; 405 + double dblVal; 406 + CY cyVal; 407 + DATE date; 408 + FILETIME filetime; 409 + CLSID* puuid; 410 + BLOB blob; 411 + CLIPDATA* pclipdata; 412 + LPSTREAM pStream; 413 + LPSTORAGE pStorage; 414 + BSTR bstrVal; 415 + BSTRBLOB bstrblobVal; 416 + LPSTR pszVal; 417 + LPWSTR pwszVal; 418 + CAUB caub; 419 + CAI cai; 420 + CAUI caui; 421 + CABOOL cabool; 422 + CAL cal; 423 + CAUL caul; 424 + CAFLT caflt; 425 + CASCODE cascode; 426 + CAH cah; 427 + CAUH cauh; 428 + CADBL cadbl; 429 + CACY cacy; 430 + CADATE cadate; 431 + CAFILETIME cafiletime; 432 + CACLSID cauuid; 433 + CACLIPDATA caclipdata; 434 + CABSTR cabstr; 435 + CABSTRBLOB cabstrblob; 436 + CALPSTR calpstr; 437 + CALPWSTR calpwstr; 438 + CAPROPVARIANT capropvar; 439 + } 440 +} 441 + 442 +struct PROPSPEC { 443 + ULONG ulKind; 444 + union { 445 + PROPID propid; 446 + LPOLESTR lpwstr; 447 + } 448 +} 449 + 450 +struct STATPROPSTG { 451 + LPOLESTR lpwstrName; 452 + PROPID propid; 453 + VARTYPE vt; 454 +} 455 + 456 +enum PROPSETFLAG { 457 + PROPSETFLAG_DEFAULT, 458 + PROPSETFLAG_NONSIMPLE, 459 + PROPSETFLAG_ANSI, 460 + PROPSETFLAG_UNBUFFERED = 4 461 +} 462 + 463 +struct STORAGELAYOUT { 464 + DWORD LayoutType; 465 + OLECHAR* pwcsElementName; 466 + LARGE_INTEGER cOffset; 467 + LARGE_INTEGER cBytes; 468 +} 469 + 470 +struct SOLE_AUTHENTICATION_SERVICE { 471 + DWORD dwAuthnSvc; 472 + DWORD dwAuthzSvc; 473 + OLECHAR* pPrincipalName; 474 + HRESULT hr; 475 +} 476 + 477 +const OLECHAR* COLE_DEFAULT_PRINCIPAL = cast ( OLECHAR* )(-1); 478 + 479 +enum EOLE_AUTHENTICATION_CAPABILITIES { 480 + EOAC_NONE = 0, 481 + EOAC_MUTUAL_AUTH = 0x1, 482 + EOAC_SECURE_REFS = 0x2, 483 + EOAC_ACCESS_CONTROL = 0x4, 484 + EOAC_APPID = 0x8, 485 + EOAC_DYNAMIC = 0x10, 486 + EOAC_STATIC_CLOAKING = 0x20, 487 + EOAC_DYNAMIC_CLOAKING = 0x40, 488 + EOAC_ANY_AUTHORITY = 0x80, 489 + EOAC_MAKE_FULLSIC = 0x100, 490 + EOAC_REQUIRE_FULLSIC = 0x200, 491 + EOAC_AUTO_IMPERSONATE = 0x400, 492 + EOAC_DEFAULT = 0x800, 493 + EOAC_DISABLE_AAA = 0x1000, 494 + EOAC_NO_CUSTOM_MARSHAL = 0x2000 495 +} 496 + 497 +struct SOLE_AUTHENTICATION_INFO { 498 + DWORD dwAuthnSvc; 499 + DWORD dwAuthzSvc; 500 + void* pAuthInfo; 501 +} 502 + 503 +const void* COLE_DEFAULT_AUTHINFO = cast( void* )(-1 ); 504 + 505 +struct SOLE_AUTHENTICATION_LIST { 506 + DWORD cAuthInfo; 507 + SOLE_AUTHENTICATION_INFO* aAuthInfo; 508 +} 509 + 510 +interface IEnumFORMATETC : IUnknown { 511 + HRESULT Next(ULONG, FORMATETC*, ULONG*); 512 + HRESULT Skip(ULONG); 513 + HRESULT Reset(); 514 + HRESULT Clone(IEnumFORMATETC**); 515 +} 516 + 517 +interface IEnumHLITEM : IUnknown { 518 + HRESULT Next(ULONG, HLITEM*, ULONG*); 519 + HRESULT Skip(ULONG); 520 + HRESULT Reset(); 521 + HRESULT Clone(IEnumHLITEM**); 522 +} 523 + 524 +interface IEnumSTATDATA : IUnknown { 525 + HRESULT Next(ULONG, STATDATA*, ULONG*); 526 + HRESULT Skip(ULONG); 527 + HRESULT Reset(); 528 + HRESULT Clone(IEnumSTATDATA**); 529 +} 530 + 531 +interface IEnumSTATPROPSETSTG : IUnknown { 532 + HRESULT Next(ULONG, STATPROPSETSTG*, ULONG*); 533 + HRESULT Skip(ULONG); 534 + HRESULT Reset(); 535 + HRESULT Clone(IEnumSTATPROPSETSTG**); 536 +} 537 + 538 +interface IEnumSTATPROPSTG : IUnknown { 539 + HRESULT Next(ULONG, STATPROPSTG*, ULONG*); 540 + HRESULT Skip(ULONG); 541 + HRESULT Reset(); 542 + HRESULT Clone(IEnumSTATPROPSTG**); 543 +} 544 + 545 +interface IEnumSTATSTG : IUnknown { 546 + HRESULT Next(ULONG, STATSTG*, ULONG*); 547 + HRESULT Skip(ULONG); 548 + HRESULT Reset(); 549 + HRESULT Clone(IEnumSTATSTG**); 550 +} 551 + 552 +interface IEnumString : IUnknown { 553 + HRESULT Next(ULONG, LPOLESTR*, ULONG*); 554 + HRESULT Skip(ULONG); 555 + HRESULT Reset(); 556 + HRESULT Clone(IEnumString**); 557 +} 558 + 559 +interface IEnumMoniker : IUnknown { 560 + HRESULT Next(ULONG, IMoniker*, ULONG*); 561 + HRESULT Skip(ULONG); 562 + HRESULT Reset(); 563 + HRESULT Clone(IEnumMoniker**); 564 +} 565 + 566 + 567 +interface IEnumUnknown : IUnknown { 568 + HRESULT Next(ULONG, IUnknown*, ULONG*); 569 + HRESULT Skip(ULONG); 570 + HRESULT Reset(); 571 + HRESULT Clone(IEnumUnknown**); 572 +} 573 + 574 +interface ISequentialStream : IUnknown { 575 + HRESULT Read(void*, ULONG, ULONG*); 576 + HRESULT Write(void* , ULONG, ULONG*); 577 +} 578 + 579 +interface IStream : ISequentialStream { 580 + HRESULT Seek(LARGE_INTEGER, DWORD, ULARGE_INTEGER*); 581 + HRESULT SetSize(ULARGE_INTEGER); 582 + HRESULT CopyTo(IStream, ULARGE_INTEGER, ULARGE_INTEGER*, ULARGE_INTEGER*); 583 + HRESULT Commit(DWORD); 584 + HRESULT Revert(); 585 + HRESULT LockRegion(ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 586 + HRESULT UnlockRegion(ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 587 + HRESULT Stat(STATSTG*, DWORD); 588 + HRESULT Clone(LPSTREAM*); 589 +} 590 + 591 +interface IMarshal : IUnknown { 592 + HRESULT GetUnmarshalClass(REFIID, PVOID, DWORD, PVOID, DWORD, CLSID*); 593 + HRESULT GetMarshalSizeMax(REFIID, PVOID, DWORD, PVOID, PDWORD, ULONG*); 594 + HRESULT MarshalInterface(IStream, REFIID, PVOID, DWORD, PVOID, DWORD); 595 + HRESULT UnmarshalInterface(IStream, REFIID, void**); 596 + HRESULT ReleaseMarshalData(IStream); 597 + HRESULT DisconnectObject(DWORD); 598 +} 599 + 600 +interface IStdMarshalInfo : IUnknown { 601 + HRESULT GetClassForHandler(DWORD, PVOID, CLSID*); 602 +} 603 + 604 +interface IMalloc : IUnknown { 605 + void* Alloc(ULONG); 606 + void* Realloc(void*, ULONG); 607 + void Free(void*); 608 + ULONG GetSize(void*); 609 + int DidAlloc(void*); 610 + void HeapMinimize(); 611 +} 612 + 613 +interface IMallocSpy : IUnknown { 614 + ULONG PreAlloc(ULONG); 615 + void* PostAlloc(void*); 616 + void* PreFree(void*, BOOL); 617 + void PostFree(BOOL); 618 + ULONG PreRealloc(void*, ULONG, void**, BOOL); 619 + void* PostRealloc(void*, BOOL); 620 + void* PreGetSize(void*, BOOL); 621 + ULONG PostGetSize(ULONG, BOOL); 622 + void* PreDidAlloc(void*, BOOL); 623 + int PostDidAlloc(void*, BOOL, int); 624 + void PreHeapMinimize(); 625 + void PostHeapMinimize(); 626 +} 627 + 628 +interface IMessageFilter : IUnknown { 629 + DWORD HandleInComingCall(DWORD, HTASK, DWORD, LPINTERFACEINFO); 630 + DWORD RetryRejectedCall(HTASK, DWORD, DWORD); 631 + DWORD MessagePending(HTASK, DWORD, DWORD); 632 +} 633 + 634 + 635 +interface IPersist : IUnknown { 636 + HRESULT GetClassID(CLSID*); 637 +} 638 + 639 +interface IPersistStream : IPersist { 640 + HRESULT IsDirty(); 641 + HRESULT Load(IStream*); 642 + HRESULT Save(IStream*, BOOL); 643 + HRESULT GetSizeMax(PULARGE_INTEGER); 644 +} 645 + 646 +interface IRunningObjectTable : IUnknown { 647 + HRESULT Register(DWORD, LPUNKNOWN, LPMONIKER, PDWORD); 648 + HRESULT Revoke(DWORD); 649 + HRESULT IsRunning(LPMONIKER); 650 + HRESULT GetObject(LPMONIKER, LPUNKNOWN*); 651 + HRESULT NoteChangeTime(DWORD, LPFILETIME); 652 + HRESULT GetTimeOfLastChange(LPMONIKER, LPFILETIME); 653 + HRESULT EnumRunning(IEnumMoniker**); 654 +} 655 + 656 +interface IBindCtx : IUnknown { 657 + HRESULT RegisterObjectBound(LPUNKNOWN); 658 + HRESULT RevokeObjectBound(LPUNKNOWN); 659 + HRESULT ReleaseBoundObjects(); 660 + HRESULT SetBindOptions(LPBIND_OPTS); 661 + HRESULT GetBindOptions(LPBIND_OPTS); 662 + HRESULT GetRunningObjectTable(IRunningObjectTable**); 663 + HRESULT RegisterObjectParam(LPOLESTR, IUnknown*); 664 + HRESULT GetObjectParam(LPOLESTR, IUnknown**); 665 + HRESULT EnumObjectParam(IEnumString**); 666 + HRESULT RevokeObjectParam(LPOLESTR); 667 +} 668 + 669 +interface IMoniker: IPersistStream { 670 + HRESULT BindToObject(IBindCtx*, IMoniker*, REFIID, PVOID*); 671 + HRESULT BindToStorage(IBindCtx*, IMoniker*, REFIID, PVOID*); 672 + HRESULT Reduce(IBindCtx*, DWORD, IMoniker**, IMoniker**); 673 + HRESULT ComposeWith(IMoniker*, BOOL, IMoniker**); 674 + HRESULT Enum(BOOL, IEnumMoniker**); 675 + HRESULT IsEqual(IMoniker*); 676 + HRESULT Hash(PDWORD); 677 + HRESULT IsRunning(IBindCtx*, IMoniker*, IMoniker*); 678 + HRESULT GetTimeOfLastChange(IBindCtx*, IMoniker*, LPFILETIME); 679 + HRESULT Inverse(IMoniker**); 680 + HRESULT CommonPrefixWith(IMoniker*, IMoniker**); 681 + HRESULT RelativePathTo(IMoniker*, IMoniker**); 682 + HRESULT GetDisplayName(IBindCtx*, IMoniker*, LPOLESTR*); 683 + HRESULT ParseDisplayName(IBindCtx*, IMoniker*, LPOLESTR, ULONG*, IMoniker**); 684 + HRESULT IsSystemMoniker(PDWORD); 685 +} 686 + 687 +interface IPersistStorage : IPersist 688 +{ 689 + HRESULT IsDirty(); 690 + HRESULT InitNew(LPSTORAGE); 691 + HRESULT Load(LPSTORAGE); 692 + HRESULT Save(LPSTORAGE, BOOL); 693 + HRESULT SaveCompleted(LPSTORAGE); 694 + HRESULT HandsOffStorage(); 695 +} 696 + 697 +interface IPersistFile : IPersist 698 +{ 699 + HRESULT IsDirty(); 700 + HRESULT Load(LPCOLESTR, DWORD); 701 + HRESULT Save(LPCOLESTR, BOOL); 702 + HRESULT SaveCompleted(LPCOLESTR); 703 + HRESULT GetCurFile(LPOLESTR*); 704 +} 705 + 706 +interface IAdviseSink : IUnknown { 707 + HRESULT QueryInterface(REFIID, PVOID*); 708 + ULONG AddRef(); 709 + ULONG Release(); 710 + void OnDataChange(FORMATETC*, STGMEDIUM*); 711 + void OnViewChange(DWORD, LONG); 712 + void OnRename(IMoniker*); 713 + void OnSave(); 714 + void OnClose(); 715 +} 716 + 717 +interface IAdviseSink2 : IAdviseSink 718 +{ 719 + void OnLinkSrcChange(IMoniker*); 720 +} 721 + 722 +interface IDataObject : IUnknown { 723 + HRESULT GetData(FORMATETC*, STGMEDIUM*); 724 + HRESULT GetDataHere(FORMATETC*, STGMEDIUM*); 725 + HRESULT QueryGetData(FORMATETC*); 726 + HRESULT GetCanonicalFormatEtc(FORMATETC*, FORMATETC*); 727 + HRESULT SetData(FORMATETC*, STGMEDIUM*, BOOL); 728 + HRESULT EnumFormatEtc(DWORD, IEnumFORMATETC**); 729 + HRESULT DAdvise(FORMATETC*, DWORD, IAdviseSink*, PDWORD); 730 + HRESULT DUnadvise(DWORD); 731 + HRESULT EnumDAdvise(IEnumSTATDATA**); 732 +} 733 + 734 +interface IDataAdviseHolder : IUnknown { 735 + HRESULT Advise(IDataObject*, FORMATETC*, DWORD, IAdviseSink*, PDWORD); 736 + HRESULT Unadvise(DWORD); 737 + HRESULT EnumAdvise(IEnumSTATDATA**); 738 + HRESULT SendOnDataChange(IDataObject*, DWORD, DWORD); 739 +} 740 + 741 +interface IStorage : IUnknown { 742 + HRESULT CreateStream(LPCWSTR, DWORD, DWORD, DWORD, IStream*); 743 + HRESULT OpenStream(LPCWSTR, PVOID, DWORD, DWORD, IStream*); 744 + HRESULT CreateStorage(LPCWSTR, DWORD, DWORD, DWORD, IStorage*); 745 + HRESULT OpenStorage(LPCWSTR, IStorage, DWORD, SNB, DWORD, IStorage*); 746 + HRESULT CopyTo(DWORD, IID* , SNB, IStorage); 747 + HRESULT MoveElementTo(LPCWSTR, IStorage, LPCWSTR, DWORD); 748 + HRESULT Commit(DWORD); 749 + HRESULT Revert(); 750 + HRESULT EnumElements(DWORD, PVOID, DWORD, IEnumSTATSTG*); 751 + HRESULT DestroyElement(LPCWSTR); 752 + HRESULT RenameElement(LPCWSTR, LPCWSTR); 753 + HRESULT SetElementTimes(LPCWSTR, FILETIME* , FILETIME* , FILETIME* ); 754 + HRESULT SetClass(REFCLSID); 755 + HRESULT SetStateBits(DWORD, DWORD); 756 + HRESULT Stat(STATSTG*, DWORD); 757 +} 758 + 759 +// FIXME: GetClassID from IPersist not there - what to do about it? 760 +interface IRootStorage : IPersist { 761 + HRESULT QueryInterface(REFIID, PVOID*); 762 + ULONG AddRef(); 763 + ULONG Release(); 764 + HRESULT SwitchToFile(LPOLESTR); 765 +} 766 + 767 +interface IRpcChannelBuffer : IUnknown { 768 + HRESULT GetBuffer(RPCOLEMESSAGE*, REFIID); 769 + HRESULT SendReceive(RPCOLEMESSAGE*, PULONG); 770 + HRESULT FreeBuffer(RPCOLEMESSAGE*); 771 + HRESULT GetDestCtx(PDWORD, PVOID*); 772 + HRESULT IsConnected(); 773 +} 774 + 775 +interface IRpcProxyBuffer : IUnknown { 776 + HRESULT Connect(IRpcChannelBuffer*); 777 + void Disconnect(); 778 +} 779 + 780 +interface IRpcStubBuffer : IUnknown { 781 + HRESULT Connect(LPUNKNOWN); 782 + void Disconnect(); 783 + HRESULT Invoke(RPCOLEMESSAGE*, LPRPCSTUBBUFFER); 784 + LPRPCSTUBBUFFER IsIIDSupported(REFIID); 785 + ULONG CountRefs(); 786 + HRESULT DebugServerQueryInterface(PVOID*); 787 + HRESULT DebugServerRelease(PVOID); 788 +} 789 + 790 +interface IPSFactoryBuffer : IUnknown { 791 + HRESULT CreateProxy(LPUNKNOWN, REFIID, LPRPCPROXYBUFFER*, PVOID*); 792 + HRESULT CreateStub(REFIID, LPUNKNOWN, LPRPCSTUBBUFFER*); 793 +} 794 +alias IPSFactoryBuffer* LPPSFACTORYBUFFER; 795 + 796 +interface ILockBytes : IUnknown { 797 + HRESULT ReadAt(ULARGE_INTEGER, PVOID, ULONG, ULONG*); 798 + HRESULT WriteAt(ULARGE_INTEGER, PCVOID, ULONG, ULONG*); 799 + HRESULT Flush(); 800 + HRESULT SetSize(ULARGE_INTEGER); 801 + HRESULT LockRegion(ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 802 + HRESULT UnlockRegion(ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 803 + HRESULT Stat(STATSTG*, DWORD); 804 +} 805 + 806 +interface IExternalConnection : IUnknown { 807 + HRESULT AddConnection(DWORD, DWORD); 808 + HRESULT ReleaseConnection(DWORD, DWORD, BOOL); 809 +} 810 + 811 +interface IRunnableObject : IUnknown { 812 + HRESULT GetRunningClass(LPCLSID); 813 + HRESULT Run(LPBC); 814 + BOOL IsRunning(); 815 + HRESULT LockRunning(BOOL, BOOL); 816 + HRESULT SetContainedObject(BOOL); 817 +} 818 + 819 +interface IROTData : IUnknown { 820 + HRESULT GetComparisonData(PVOID, ULONG, PULONG); 821 +} 822 + 823 +interface IChannelHook : IUnknown { 824 + void ClientGetSize(REFGUID, REFIID, PULONG); 825 + void ClientFillBuffer(REFGUID, REFIID, PULONG, PVOID); 826 + void ClientNotify(REFGUID, REFIID, ULONG, PVOID, DWORD, HRESULT); 827 + void ServerNotify(REFGUID, REFIID, ULONG, PVOID, DWORD); 828 + void ServerGetSize(REFGUID, REFIID, HRESULT, PULONG); 829 + void ServerFillBuffer(REFGUID, REFIID, PULONG, PVOID, HRESULT); 830 +} 831 + 832 +interface IPropertyStorage : IUnknown { 833 + HRESULT ReadMultiple(ULONG, PROPSPEC* , PROPVARIANT*); 834 + HRESULT WriteMultiple(ULONG, PROPSPEC* , PROPVARIANT*, PROPID); 835 + HRESULT DeleteMultiple(ULONG, PROPSPEC* ); 836 + HRESULT ReadPropertyNames(ULONG, PROPID* , LPWSTR*); 837 + HRESULT WritePropertyNames(ULONG, PROPID* , LPWSTR* ); 838 + HRESULT DeletePropertyNames(ULONG, PROPID* ); 839 + HRESULT SetClass(REFCLSID); 840 + HRESULT Commit(DWORD); 841 + HRESULT Revert(); 842 + HRESULT Enum(IEnumSTATPROPSTG**); 843 + HRESULT Stat(STATPROPSTG*); 844 + HRESULT SetTimes(FILETIME* , FILETIME* , FILETIME* ); 845 +} 846 + 847 +interface IPropertySetStorage : IUnknown { 848 + HRESULT Create(REFFMTID, CLSID*, DWORD, DWORD, LPPROPERTYSTORAGE*); 849 + HRESULT Open(REFFMTID, DWORD, LPPROPERTYSTORAGE*); 850 + HRESULT Delete(REFFMTID); 851 + HRESULT Enum(IEnumSTATPROPSETSTG**); 852 +} 853 + 854 +interface IClientSecurity : IUnknown { 855 + HRESULT QueryBlanket(PVOID, PDWORD, PDWORD, OLECHAR**, PDWORD, PDWORD, RPC_AUTH_IDENTITY_HANDLE**, PDWORD*); 856 + HRESULT SetBlanket(PVOID, DWORD, DWORD, LPWSTR, DWORD, DWORD, RPC_AUTH_IDENTITY_HANDLE*, DWORD); 857 + HRESULT CopyProxy(LPUNKNOWN, LPUNKNOWN*); 858 +} 859 + 860 +interface IServerSecurity : IUnknown { 861 + HRESULT QueryBlanket(PDWORD, PDWORD, OLECHAR**, PDWORD, PDWORD, RPC_AUTHZ_HANDLE*, PDWORD*); 862 + HRESULT ImpersonateClient(); 863 + HRESULT RevertToSelf(); 864 + HRESULT IsImpersonating(); 865 +} 866 + 867 +interface IClassActivator : IUnknown { 868 + HRESULT GetClassObject(REFCLSID, DWORD, LCID, REFIID, PVOID*); 869 +} 870 + 871 +interface IFillLockBytes : IUnknown { 872 + HRESULT FillAppend(void* , ULONG, PULONG); 873 + HRESULT FillAt(ULARGE_INTEGER, void* , ULONG, PULONG); 874 + HRESULT SetFillSize(ULARGE_INTEGER); 875 + HRESULT Terminate(BOOL); 876 +} 877 + 878 +interface IProgressNotify : IUnknown { 879 + HRESULT OnProgress(DWORD, DWORD, BOOL, BOOL); 880 +} 881 + 882 +interface ILayoutStorage : IUnknown { 883 + HRESULT LayoutScript(STORAGELAYOUT*, DWORD, DWORD); 884 + HRESULT BeginMonitor(); 885 + HRESULT EndMonitor(); 886 + HRESULT ReLayoutDocfile(OLECHAR*); 887 +} 888 + 889 +interface IGlobalInterfaceTable : IUnknown { 890 + HRESULT RegisterInterfaceInGlobal(IUnknown*, REFIID, DWORD*); 891 + HRESULT RevokeInterfaceFromGlobal(DWORD); 892 + HRESULT GetInterfaceFromGlobal(DWORD, REFIID, void**); 893 +} 894 + 895 +/+ 896 +// These are probably unnecessary for D. 897 +extern (Windows) { 898 +HRESULT IMarshal_GetUnmarshalClass_Proxy(IMarshal*, REFIID, void*, DWORD, void*, DWORD, CLSID*); 899 +void IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 900 +HRESULT IMarshal_GetMarshalSizeMax_Proxy(IMarshal*, REFIID, void*, DWORD, void*, DWORD, DWORD*); 901 +void IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 902 +HRESULT IMarshal_MarshalInterface_Proxy(IMarshal*, IStream*, REFIID, void*, DWORD, void*, DWORD); 903 +void IMarshal_MarshalInterface_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 904 +HRESULT IMarshal_UnmarshalInterface_Proxy(IMarshal*, IStream*, REFIID, void**); 905 +void IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 906 +HRESULT IMarshal_ReleaseMarshalData_Proxy(IMarshal*, IStream*); 907 +void IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 908 +HRESULT IMarshal_DisconnectObject_Proxy(IMarshal*, DWORD); 909 +void IMarshal_DisconnectObject_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 910 +void* IMalloc_Alloc_Proxy(IMalloc*, ULONG); 911 +void IMalloc_Alloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 912 +void* IMalloc_Realloc_Proxy(IMalloc*, void*, ULONG); 913 +void IMalloc_Realloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 914 +void IMalloc_Free_Proxy(IMalloc*, void*); 915 +void IMalloc_Free_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 916 +ULONG IMalloc_GetSize_Proxy(IMalloc*, void*); 917 +void IMalloc_GetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 918 +int IMalloc_DidAlloc_Proxy(IMalloc*, void*); 919 +void IMalloc_DidAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 920 +void IMalloc_HeapMinimize_Proxy(IMalloc*); 921 +void IMalloc_HeapMinimize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 922 +ULONG IMallocSpy_PreAlloc_Proxy(IMallocSpy*, ULONG cbRequest); 923 +void IMallocSpy_PreAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 924 +void* IMallocSpy_PostAlloc_Proxy(IMallocSpy*, void*); 925 +void IMallocSpy_PostAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 926 +void* IMallocSpy_PreFree_Proxy(IMallocSpy*, void*, BOOL); 927 +void IMallocSpy_PreFree_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 928 +void IMallocSpy_PostFree_Proxy(IMallocSpy*, BOOL); 929 +void IMallocSpy_PostFree_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 930 +ULONG IMallocSpy_PreRealloc_Proxy(IMallocSpy*, void*, ULONG, void**, BOOL); 931 +void IMallocSpy_PreRealloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 932 +void* IMallocSpy_PostRealloc_Proxy(IMallocSpy*, void*, BOOL); 933 +void IMallocSpy_PostRealloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 934 +void* IMallocSpy_PreGetSize_Proxy(IMallocSpy*, void*, BOOL); 935 +void IMallocSpy_PreGetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 936 +ULONG IMallocSpy_PostGetSize_Proxy(IMallocSpy*, ULONG, BOOL); 937 +void IMallocSpy_PostGetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 938 +void* IMallocSpy_PreDidAlloc_Proxy(IMallocSpy*, void*, BOOL); 939 +void IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 940 +int IMallocSpy_PostDidAlloc_Proxy(IMallocSpy*, void*, BOOL, int); 941 +void IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 942 +void IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy* ); 943 +void IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 944 +void IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy*); 945 +void IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 946 +HRESULT IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo*, DWORD, void*, CLSID*); 947 +void IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 948 +DWORD IExternalConnection_AddConnection_Proxy(IExternalConnection*, DWORD, DWORD); 949 +void IExternalConnection_AddConnection_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 950 +DWORD IExternalConnection_ReleaseConnection_Proxy(IExternalConnection*, DWORD, DWORD, BOOL); 951 +void IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 952 +HRESULT IEnumUnknown_RemoteNext_Proxy(IEnumUnknown*, ULONG, IUnknown**, ULONG*); 953 +void IEnumUnknown_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 954 +HRESULT IEnumUnknown_Skip_Proxy(IEnumUnknown*, ULONG); 955 +void IEnumUnknown_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 956 +HRESULT IEnumUnknown_Reset_Proxy(IEnumUnknown* ); 957 +void IEnumUnknown_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 958 +HRESULT IEnumUnknown_Clone_Proxy(IEnumUnknown*, IEnumUnknown**); 959 +void IEnumUnknown_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 960 +HRESULT IBindCtx_RegisterObjectBound_Proxy(IBindCtx*, IUnknown*punk); 961 +void IBindCtx_RegisterObjectBound_Stub(IRpcStubBuffer*, IRpcChannelBuffer*_pRpcChannelBuffer, PRPC_MESSAGE, PDWORD); 962 +HRESULT IBindCtx_RevokeObjectBound_Proxy(IBindCtx*, IUnknown*punk); 963 +void IBindCtx_RevokeObjectBound_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 964 +HRESULT IBindCtx_ReleaseBoundObjects_Proxy(IBindCtx*); 965 +void IBindCtx_ReleaseBoundObjects_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 966 +HRESULT IBindCtx_SetBindOptions_Proxy(IBindCtx*, BIND_OPTS*); 967 +void IBindCtx_SetBindOptions_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 968 +HRESULT IBindCtx_GetBindOptions_Proxy(IBindCtx*, BIND_OPTS*pbindopts); 969 +void IBindCtx_GetBindOptions_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 970 +HRESULT IBindCtx_GetRunningObjectTable_Proxy(IBindCtx*, IRunningObjectTable**); 971 +void IBindCtx_GetRunningObjectTable_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 972 +HRESULT IBindCtx_RegisterObjectParam_Proxy(IBindCtx*, LPCSTR, IUnknown*); 973 +void IBindCtx_RegisterObjectParam_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 974 +HRESULT IBindCtx_GetObjectParam_Proxy(IBindCtx*, LPCSTR, IUnknown**); 975 +void IBindCtx_GetObjectParam_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 976 +HRESULT IBindCtx_EnumObjectParam_Proxy(IBindCtx*, IEnumString**); 977 +void IBindCtx_EnumObjectParam_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 978 +HRESULT IBindCtx_RevokeObjectParam_Proxy(IBindCtx*, LPCSTR); 979 +void IBindCtx_RevokeObjectParam_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 980 +HRESULT IEnumMoniker_RemoteNext_Proxy(IEnumMoniker*, ULONG, IMoniker**, ULONG*); 981 +void IEnumMoniker_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 982 +HRESULT IEnumMoniker_Skip_Proxy(IEnumMoniker*, ULONG); 983 +void IEnumMoniker_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 984 +HRESULT IEnumMoniker_Reset_Proxy(IEnumMoniker*); 985 +void IEnumMoniker_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 986 +HRESULT IEnumMoniker_Clone_Proxy(IEnumMoniker*, IEnumMoniker**); 987 +void IEnumMoniker_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 988 +HRESULT IRunnableObject_GetRunningClass_Proxy(IRunnableObject*, LPCLSID); 989 +void IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 990 +HRESULT IRunnableObject_Run_Proxy(IRunnableObject*, LPBINDCTX); 991 +void IRunnableObject_Run_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 992 +BOOL IRunnableObject_IsRunning_Proxy(IRunnableObject*); 993 +void IRunnableObject_IsRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 994 +HRESULT IRunnableObject_LockRunning_Proxy(IRunnableObject*, BOOL, BOOL); 995 +void IRunnableObject_LockRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 996 +HRESULT IRunnableObject_SetContainedObject_Proxy(IRunnableObject*, BOOL); 997 +void IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 998 +HRESULT IRunningObjectTable_Register_Proxy(IRunningObjectTable*, DWORD, IUnknown*, IMoniker*, DWORD*); 999 +void IRunningObjectTable_Register_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1000 +HRESULT IRunningObjectTable_Revoke_Proxy(IRunningObjectTable*, DWORD); 1001 +void IRunningObjectTable_Revoke_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1002 +HRESULT IRunningObjectTable_IsRunning_Proxy(IRunningObjectTable*, IMoniker*); 1003 +void IRunningObjectTable_IsRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1004 +HRESULT IRunningObjectTable_GetObject_Proxy(IRunningObjectTable*, IMoniker*, IUnknown**); 1005 +void IRunningObjectTable_GetObject_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1006 +HRESULT IRunningObjectTable_NoteChangeTime_Proxy(IRunningObjectTable*, DWORD, FILETIME*); 1007 +void IRunningObjectTable_NoteChangeTime_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1008 +HRESULT IRunningObjectTable_GetTimeOfLastChange_Proxy(IRunningObjectTable*, IMoniker*, FILETIME*); 1009 +void IRunningObjectTable_GetTimeOfLastChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1010 +HRESULT IRunningObjectTable_EnumRunning_Proxy(IRunningObjectTable*, IEnumMoniker**); 1011 +void IRunningObjectTable_EnumRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1012 +HRESULT IPersist_GetClassID_Proxy(IPersist*, CLSID*); 1013 +void IPersist_GetClassID_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1014 +HRESULT IPersistStream_IsDirty_Proxy(IPersistStream*); 1015 +void IPersistStream_IsDirty_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1016 +HRESULT IPersistStream_Load_Proxy(IPersistStream*, IStream*); 1017 +void IPersistStream_Load_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1018 +HRESULT IPersistStream_Save_Proxy(IPersistStream*, IStream*, BOOL); 1019 +void IPersistStream_Save_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1020 +HRESULT IPersistStream_GetSizeMax_Proxy(IPersistStream*, ULARGE_INTEGER*); 1021 +void IPersistStream_GetSizeMax_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1022 +HRESULT IMoniker_RemoteBindToObject_Proxy(IMoniker*, IBindCtx*, IMoniker*, REFIID, IUnknown**); 1023 +void IMoniker_RemoteBindToObject_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1024 +HRESULT IMoniker_RemoteBindToStorage_Proxy(IMoniker*, IBindCtx*, IMoniker*, REFIID, IUnknown**); 1025 +void IMoniker_RemoteBindToStorage_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1026 +HRESULT IMoniker_Reduce_Proxy(IMoniker*, IBindCtx*, DWORD, IMoniker**, IMoniker**); 1027 +void IMoniker_Reduce_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1028 +HRESULT IMoniker_ComposeWith_Proxy(IMoniker*, IMoniker*, BOOL, IMoniker**); 1029 +void IMoniker_ComposeWith_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1030 +HRESULT IMoniker_Enum_Proxy(IMoniker*, BOOL, IEnumMoniker**); 1031 +void IMoniker_Enum_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1032 +HRESULT IMoniker_IsEqual_Proxy(IMoniker*, IMoniker*); 1033 +void IMoniker_IsEqual_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1034 +HRESULT IMoniker_Hash_Proxy(IMoniker*, DWORD*); 1035 +void IMoniker_Hash_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1036 +HRESULT IMoniker_IsRunning_Proxy(IMoniker*, IBindCtx*, IMoniker*, IMoniker*); 1037 +void IMoniker_IsRunning_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1038 +HRESULT IMoniker_GetTimeOfLastChange_Proxy(IMoniker*, IBindCtx*, IMoniker*, FILETIME*); 1039 +void IMoniker_GetTimeOfLastChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1040 +HRESULT IMoniker_Inverse_Proxy(IMoniker*, IMoniker**); 1041 +void IMoniker_Inverse_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1042 +HRESULT IMoniker_CommonPrefixWith_Proxy(IMoniker*, IMoniker*, IMoniker**); 1043 +void IMoniker_CommonPrefixWith_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1044 +HRESULT IMoniker_RelativePathTo_Proxy(IMoniker*, IMoniker*, IMoniker**); 1045 +void IMoniker_RelativePathTo_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1046 +HRESULT IMoniker_GetDisplayName_Proxy(IMoniker*, IBindCtx*, IMoniker*, LPCSTR*); 1047 +void IMoniker_GetDisplayName_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1048 +HRESULT IMoniker_ParseDisplayName_Proxy(IMoniker*, IBindCtx*, IMoniker*, LPCSTR, ULONG*, IMoniker**); 1049 +void IMoniker_ParseDisplayName_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1050 +HRESULT IMoniker_IsSystemMoniker_Proxy(IMoniker*, DWORD*); 1051 +void IMoniker_IsSystemMoniker_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1052 +HRESULT IROTData_GetComparisonData_Proxy(IROTData*, BYTE*, ULONG cbMax, ULONG*); 1053 +void IROTData_GetComparisonData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1054 +HRESULT IEnumString_RemoteNext_Proxy(IEnumString*, ULONG, LPCSTR*rgelt, ULONG*); 1055 +void IEnumString_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1056 +HRESULT IEnumString_Skip_Proxy(IEnumString*, ULONG); 1057 +void IEnumString_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1058 +HRESULT IEnumString_Reset_Proxy(IEnumString*); 1059 +void IEnumString_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1060 +HRESULT IEnumString_Clone_Proxy(IEnumString*, IEnumString**); 1061 +void IEnumString_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1062 +HRESULT IStream_RemoteRead_Proxy(IStream*, BYTE*, ULONG, ULONG*); 1063 +void IStream_RemoteRead_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1064 +HRESULT IStream_RemoteWrite_Proxy(IStream*, BYTE*pv, ULONG, ULONG*); 1065 +void IStream_RemoteWrite_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1066 +HRESULT IStream_RemoteSeek_Proxy(IStream*, LARGE_INTEGER, DWORD, ULARGE_INTEGER*); 1067 +void IStream_RemoteSeek_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1068 +HRESULT IStream_SetSize_Proxy(IStream*, ULARGE_INTEGER); 1069 +void IStream_SetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1070 +HRESULT IStream_RemoteCopyTo_Proxy(IStream*, IStream*, ULARGE_INTEGER, ULARGE_INTEGER*, ULARGE_INTEGER*); 1071 +void IStream_RemoteCopyTo_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1072 +HRESULT IStream_Commit_Proxy(IStream*, DWORD); 1073 +void IStream_Commit_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1074 +HRESULT IStream_Revert_Proxy(IStream*); 1075 +void IStream_Revert_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1076 +HRESULT IStream_LockRegion_Proxy(IStream*, ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 1077 +void IStream_LockRegion_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1078 +HRESULT IStream_UnlockRegion_Proxy(IStream*, ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 1079 +void IStream_UnlockRegion_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1080 +HRESULT IStream_Stat_Proxy(IStream*, STATSTG*, DWORD); 1081 +void IStream_Stat_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1082 +HRESULT IStream_Clone_Proxy(IStream*, IStream**); 1083 +void IStream_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1084 +HRESULT IEnumSTATSTG_RemoteNext_Proxy(IEnumSTATSTG*, ULONG, STATSTG*, ULONG*); 1085 +void IEnumSTATSTG_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1086 +HRESULT IEnumSTATSTG_Skip_Proxy(IEnumSTATSTG*, ULONG celt); 1087 +void IEnumSTATSTG_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1088 +HRESULT IEnumSTATSTG_Reset_Proxy(IEnumSTATSTG*); 1089 +void IEnumSTATSTG_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1090 +HRESULT IEnumSTATSTG_Clone_Proxy(IEnumSTATSTG*, IEnumSTATSTG**); 1091 +void IEnumSTATSTG_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1092 +HRESULT IStorage_CreateStream_Proxy(IStorage*, OLECHAR*, DWORD, DWORD, DWORD, IStream**); 1093 +void IStorage_CreateStream_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1094 +HRESULT IStorage_RemoteOpenStream_Proxy(IStorage*, CPtr!(OLECHAR), uint, BYTE*, DWORD, DWORD, IStream**); 1095 +void IStorage_RemoteOpenStream_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1096 +HRESULT IStorage_CreateStorage_Proxy(IStorage*, OLECHAR*, DWORD, DWORD, DWORD, IStorage**); 1097 +void IStorage_CreateStorage_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1098 +HRESULT IStorage_OpenStorage_Proxy(IStorage*, OLECHAR*, IStorage*, DWORD, SNB, DWORD, IStorage**); 1099 +void IStorage_OpenStorage_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1100 +HRESULT IStorage_CopyTo_Proxy(IStorage*, DWORD, CPtr!(IID), SNB, IStorage*); 1101 +void IStorage_CopyTo_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1102 +HRESULT IStorage_MoveElementTo_Proxy(IStorage*, CPtr!(OLECHAR), IStorage*, CPtr!(OLECHAR), DWORD); 1103 +void IStorage_MoveElementTo_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1104 +HRESULT IStorage_Commit_Proxy(IStorage*, DWORD); 1105 +void IStorage_Commit_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1106 +HRESULT IStorage_Revert_Proxy(IStorage*); 1107 +void IStorage_Revert_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1108 +HRESULT IStorage_RemoteEnumElements_Proxy(IStorage*, DWORD, uint, BYTE*, DWORD, IEnumSTATSTG**); 1109 +void IStorage_RemoteEnumElements_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1110 +HRESULT IStorage_DestroyElement_Proxy(IStorage*, OLECHAR*); 1111 +void IStorage_DestroyElement_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1112 +HRESULT IStorage_RenameElement_Proxy(IStorage*, CPtr!(OLECHAR), CPtr!(OLECHAR)); 1113 +void IStorage_RenameElement_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1114 +HRESULT IStorage_SetElementTimes_Proxy(IStorage*, CPtr!(OLECHAR), CPtr!(FILETIME), CPtr!(FILETIME), CPtr!(FILETIME)); 1115 +void IStorage_SetElementTimes_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1116 +HRESULT IStorage_SetClass_Proxy(IStorage*, REFCLSID); 1117 +void IStorage_SetClass_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1118 +HRESULT IStorage_SetStateBits_Proxy(IStorage*, DWORD, DWORD); 1119 +void IStorage_SetStateBits_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1120 +HRESULT IStorage_Stat_Proxy(IStorage*, STATSTG*, DWORD); 1121 +void IStorage_Stat_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1122 +HRESULT IPersistFile_IsDirty_Proxy(IPersistFile*); 1123 +void IPersistFile_IsDirty_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1124 +HRESULT IPersistFile_Load_Proxy(IPersistFile*, LPCOLESTR, DWORD); 1125 +void IPersistFile_Load_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1126 +HRESULT IPersistFile_Save_Proxy(IPersistFile*, LPCOLESTR pszFileName, BOOL); 1127 +void IPersistFile_Save_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1128 +HRESULT IPersistFile_SaveCompleted_Proxy(IPersistFile*, LPCOLESTR); 1129 +void IPersistFile_SaveCompleted_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1130 +HRESULT IPersistFile_GetCurFile_Proxy(IPersistFile*, LPCSTR*); 1131 +void IPersistFile_GetCurFile_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1132 +HRESULT IPersistStorage_IsDirty_Proxy(IPersistStorage*); 1133 +void IPersistStorage_IsDirty_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1134 +HRESULT IPersistStorage_InitNew_Proxy(IPersistStorage*, IStorage*); 1135 +void IPersistStorage_InitNew_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1136 +HRESULT IPersistStorage_Load_Proxy(IPersistStorage*, IStorage*); 1137 +void IPersistStorage_Load_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1138 +HRESULT IPersistStorage_Save_Proxy(IPersistStorage*, IStorage*, BOOL); 1139 +void IPersistStorage_Save_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1140 +HRESULT IPersistStorage_SaveCompleted_Proxy(IPersistStorage*, IStorage*); 1141 +void IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1142 +HRESULT IPersistStorage_HandsOffStorage_Proxy(IPersistStorage*); 1143 +void IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1144 +HRESULT ILockBytes_RemoteReadAt_Proxy(ILockBytes*, ULARGE_INTEGER, BYTE*, ULONG, ULONG*); 1145 +void ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1146 +HRESULT ILockBytes_RemoteWriteAt_Proxy(ILockBytes*, ULARGE_INTEGER, BYTE*pv, ULONG, ULONG*); 1147 +void ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1148 +HRESULT ILockBytes_Flush_Proxy(ILockBytes*); 1149 +void ILockBytes_Flush_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1150 +HRESULT ILockBytes_SetSize_Proxy(ILockBytes*, ULARGE_INTEGER); 1151 +void ILockBytes_SetSize_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1152 +HRESULT ILockBytes_LockRegion_Proxy(ILockBytes*, ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 1153 +void ILockBytes_LockRegion_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1154 +HRESULT ILockBytes_UnlockRegion_Proxy(ILockBytes*, ULARGE_INTEGER, ULARGE_INTEGER, DWORD); 1155 +void ILockBytes_UnlockRegion_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1156 +HRESULT ILockBytes_Stat_Proxy(ILockBytes*, STATSTG*, DWORD); 1157 +void ILockBytes_Stat_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1158 +HRESULT IEnumFORMATETC_RemoteNext_Proxy(IEnumFORMATETC*, ULONG, FORMATETC*, ULONG*); 1159 +void IEnumFORMATETC_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1160 +HRESULT IEnumFORMATETC_Skip_Proxy(IEnumFORMATETC*, ULONG); 1161 +void IEnumFORMATETC_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1162 +HRESULT IEnumFORMATETC_Reset_Proxy(IEnumFORMATETC*); 1163 +void IEnumFORMATETC_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1164 +HRESULT IEnumFORMATETC_Clone_Proxy(IEnumFORMATETC*, IEnumFORMATETC**); 1165 +void IEnumFORMATETC_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1166 +HRESULT IEnumFORMATETC_Next_Proxy(IEnumFORMATETC*, ULONG, FORMATETC*, ULONG*); 1167 +HRESULT IEnumFORMATETC_Next_Stub(IEnumFORMATETC*, ULONG, FORMATETC*, ULONG*); 1168 +HRESULT IEnumSTATDATA_RemoteNext_Proxy(IEnumSTATDATA*, ULONG, STATDATA*, ULONG*); 1169 +void IEnumSTATDATA_RemoteNext_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1170 +HRESULT IEnumSTATDATA_Skip_Proxy(IEnumSTATDATA*, ULONG); 1171 +void IEnumSTATDATA_Skip_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1172 +HRESULT IEnumSTATDATA_Reset_Proxy(IEnumSTATDATA*); 1173 +void IEnumSTATDATA_Reset_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1174 +HRESULT IEnumSTATDATA_Clone_Proxy(IEnumSTATDATA*, IEnumSTATDATA**); 1175 +void IEnumSTATDATA_Clone_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1176 +HRESULT IEnumSTATDATA_Next_Proxy(IEnumSTATDATA*, ULONG, STATDATA*, ULONG*); 1177 +HRESULT IEnumSTATDATA_Next_Stub(IEnumSTATDATA*, ULONG, STATDATA*, ULONG*); 1178 +HRESULT IRootStorage_SwitchToFile_Proxy(IRootStorage*, LPCSTR); 1179 +void IRootStorage_SwitchToFile_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1180 +void IAdviseSink_RemoteOnDataChange_Proxy(IAdviseSink*, FORMATETC*, RemSTGMEDIUM*); 1181 +void IAdviseSink_RemoteOnDataChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1182 +void IAdviseSink_RemoteOnViewChange_Proxy(IAdviseSink*, DWORD, LONG); 1183 +void IAdviseSink_RemoteOnViewChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1184 +void IAdviseSink_RemoteOnRename_Proxy(IAdviseSink*, IMoniker*); 1185 +void IAdviseSink_RemoteOnRename_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1186 +void IAdviseSink_RemoteOnSave_Proxy(IAdviseSink*); 1187 +void IAdviseSink_RemoteOnSave_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1188 +HRESULT IAdviseSink_RemoteOnClose_Proxy(IAdviseSink*); 1189 +void IAdviseSink_RemoteOnClose_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1190 +void IAdviseSink_OnDataChange_Proxy(IAdviseSink*, FORMATETC*, STGMEDIUM*); 1191 +void IAdviseSink_OnDataChange_Stub(IAdviseSink*, FORMATETC*, RemSTGMEDIUM*); 1192 +void IAdviseSink_OnViewChange_Proxy(IAdviseSink*, DWORD, LONG); 1193 +void IAdviseSink_OnViewChange_Stub(IAdviseSink*, DWORD, LONG); 1194 +void IAdviseSink_OnRename_Proxy(IAdviseSink*, IMoniker*); 1195 +void IAdviseSink_OnRename_Stub(IAdviseSink*, IMoniker*); 1196 +void IAdviseSink_OnSave_Proxy(IAdviseSink*); 1197 +void IAdviseSink_OnSave_Stub(IAdviseSink*); 1198 +void IAdviseSink_OnClose_Proxy(IAdviseSink*); 1199 +HRESULT IAdviseSink_OnClose_Stub(IAdviseSink*); 1200 +void IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2*, IMoniker*); 1201 +void IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1202 +void IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2*, IMoniker*); 1203 +void IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2*, IMoniker*); 1204 +HRESULT IDataObject_RemoteGetData_Proxy(IDataObject*, FORMATETC*, RemSTGMEDIUM**); 1205 +void IDataObject_RemoteGetData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1206 +HRESULT IDataObject_RemoteGetDataHere_Proxy(IDataObject*, FORMATETC*, RemSTGMEDIUM**); 1207 +void IDataObject_RemoteGetDataHere_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1208 +HRESULT IDataObject_QueryGetData_Proxy(IDataObject*, FORMATETC*); 1209 +void IDataObject_QueryGetData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1210 +HRESULT IDataObject_GetCanonicalFormatEtc_Proxy(IDataObject*, FORMATETC*, FORMATETC*); 1211 +void IDataObject_GetCanonicalFormatEtc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1212 +HRESULT IDataObject_RemoteSetData_Proxy(IDataObject*, FORMATETC*, RemSTGMEDIUM*, BOOL); 1213 +void IDataObject_RemoteSetData_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1214 +HRESULT IDataObject_EnumFormatEtc_Proxy(IDataObject*, DWORD, IEnumFORMATETC**); 1215 +void IDataObject_EnumFormatEtc_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1216 +HRESULT IDataObject_DAdvise_Proxy(IDataObject*, FORMATETC*, DWORD, IAdviseSink*, DWORD*); 1217 +void IDataObject_DAdvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1218 +HRESULT IDataObject_DUnadvise_Proxy(IDataObject*, DWORD); 1219 +void IDataObject_DUnadvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1220 +HRESULT IDataObject_EnumDAdvise_Proxy(IDataObject*, IEnumSTATDATA**); 1221 +void IDataObject_EnumDAdvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1222 +HRESULT IDataObject_GetData_Proxy(IDataObject*, FORMATETC*, STGMEDIUM*); 1223 +HRESULT IDataObject_GetData_Stub(IDataObject*, FORMATETC*, RemSTGMEDIUM**); 1224 +HRESULT IDataObject_GetDataHere_Proxy(IDataObject*, FORMATETC*, STGMEDIUM*); 1225 +HRESULT IDataObject_GetDataHere_Stub(IDataObject*, FORMATETC*, RemSTGMEDIUM**); 1226 +HRESULT IDataObject_SetData_Proxy(IDataObject*, FORMATETC*, STGMEDIUM*, BOOL); 1227 +HRESULT IDataObject_SetData_Stub(IDataObject*, FORMATETC*, RemSTGMEDIUM*, BOOL); 1228 +HRESULT IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder*, IDataObject*, FORMATETC*, DWORD, IAdviseSink*, DWORD*); 1229 +void IDataAdviseHolder_Advise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1230 +HRESULT IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder*, DWORD); 1231 +void IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1232 +HRESULT IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder*, IEnumSTATDATA**); 1233 +void IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1234 +HRESULT IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder*, IDataObject*, DWORD, DWORD); 1235 +void IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1236 +DWORD IMessageFilter_HandleInComingCall_Proxy(IMessageFilter*, DWORD, HTASK, DWORD, LPINTERFACEINFO); 1237 +void IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1238 +DWORD IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter*, HTASK, DWORD, DWORD); 1239 +void IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1240 +DWORD IMessageFilter_MessagePending_Proxy(IMessageFilter*, HTASK, DWORD, DWORD); 1241 +void IMessageFilter_MessagePending_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1242 +HRESULT IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer*, RPCOLEMESSAGE*, REFIID); 1243 +void IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1244 +HRESULT IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer*, RPCOLEMESSAGE*, ULONG*); 1245 +void IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1246 +HRESULT IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer*, RPCOLEMESSAGE*); 1247 +void IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1248 +HRESULT IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer*, DWORD*, void**); 1249 +void IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1250 +HRESULT IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer*); 1251 +void IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1252 +HRESULT IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer*, IRpcChannelBuffer*pRpcChannelBuffer); 1253 +void IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1254 +void IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer*); 1255 +void IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1256 +HRESULT IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer*, IUnknown*); 1257 +void IRpcStubBuffer_Connect_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1258 +void IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer*); 1259 +void IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1260 +HRESULT IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer*, RPCOLEMESSAGE*, IRpcChannelBuffer*); 1261 +void IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1262 +IRpcStubBuffer*IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer*, REFIID); 1263 +void IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1264 +ULONG IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer*); 1265 +void IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1266 +HRESULT IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer*, void**); 1267 +void IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1268 +void IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer*, void*); 1269 +void IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1270 +HRESULT IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer*, IUnknown*, REFIID, IRpcProxyBuffer**, void**); 1271 +void IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1272 +HRESULT IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer*, REFIID, IUnknown*, IRpcStubBuffer**); 1273 +void IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer*, IRpcChannelBuffer*, PRPC_MESSAGE, PDWORD); 1274 +void SNB_to_xmit(SNB*, RemSNB**); 1275 +void SNB_from_xmit(RemSNB*, SNB*); 1276 +void SNB_free_inst(SNB*); 1277 +void SNB_free_xmit(RemSNB*); 1278 +HRESULT IEnumUnknown_Next_Proxy(IEnumUnknown*, ULONG, IUnknown**, ULONG*); 1279 +HRESULT IEnumUnknown_Next_Stub(IEnumUnknown*, ULONG, IUnknown**, ULONG*); 1280 +HRESULT IEnumMoniker_Next_Proxy(IEnumMoniker*, ULONG, IMoniker**, ULONG*); 1281 +HRESULT IEnumMoniker_Next_Stub(IEnumMoniker*, ULONG, IMoniker**, ULONG*); 1282 +HRESULT IMoniker_BindToObject_Proxy(IMoniker*, IBindCtx*, IMoniker*, REFIID, void**); 1283 +HRESULT IMoniker_BindToObject_Stub(IMoniker*, IBindCtx*, IMoniker*, REFIID, IUnknown**); 1284 +HRESULT IMoniker_BindToStorage_Proxy(IMoniker*, IBindCtx*, IMoniker*, REFIID, void**); 1285 +HRESULT IMoniker_BindToStorage_Stub(IMoniker*, IBindCtx*, IMoniker*, REFIID, IUnknown**); 1286 +HRESULT IEnumString_Next_Proxy(IEnumString*, ULONG, LPCSTR*, ULONG*); 1287 +HRESULT IEnumString_Next_Stub(IEnumString*, ULONG, LPCSTR*, ULONG*); 1288 +HRESULT IStream_Read_Proxy(IStream*, void*, ULONG, ULONG*); 1289 +HRESULT IStream_Read_Stub(IStream*, BYTE*, ULONG, ULONG*); 1290 +HRESULT IStream_Write_Proxy(IStream*, void*, ULONG, ULONG*); 1291 +HRESULT IStream_Write_Stub(IStream*, BYTE*, ULONG, ULONG*); 1292 +HRESULT IStream_Seek_Proxy(IStream*, LARGE_INTEGER, DWORD, ULARGE_INTEGER*); 1293 +HRESULT IStream_Seek_Stub(IStream*, LARGE_INTEGER, DWORD, ULARGE_INTEGER*); 1294 +HRESULT IStream_CopyTo_Proxy(IStream*, IStream*, ULARGE_INTEGER, ULARGE_INTEGER*, ULARGE_INTEGER*); 1295 +HRESULT IStream_CopyTo_Stub(IStream*, IStream*, ULARGE_INTEGER, ULARGE_INTEGER*, ULARGE_INTEGER*); 1296 +HRESULT IEnumSTATSTG_Next_Proxy(IEnumSTATSTG*, ULONG, STATSTG*, ULONG*); 1297 +HRESULT IEnumSTATSTG_Next_Stub(IEnumSTATSTG*, ULONG, STATSTG*, ULONG*); 1298 +HRESULT IStorage_OpenStream_Proxy(IStorage*, OLECHAR*, void*, DWORD, DWORD, IStream**); 1299 +HRESULT IStorage_OpenStream_Stub(IStorage*, OLECHAR*, uint, BYTE*, DWORD, DWORD, IStream** ); 1300 +HRESULT IStorage_EnumElements_Proxy(IStorage*, DWORD, void*, DWORD, IEnumSTATSTG**); 1301 +HRESULT IStorage_EnumElements_Stub(IStorage*, DWORD, uint, BYTE*, DWORD, IEnumSTATSTG**); 1302 +HRESULT ILockBytes_ReadAt_Proxy(ILockBytes*, ULARGE_INTEGER, void*, ULONG, ULONG*); 1303 +HRESULT ILockBytes_ReadAt_Stub(ILockBytes*, ULARGE_INTEGER, BYTE*, ULONG, ULONG*); 1304 +HRESULT ILockBytes_WriteAt_Proxy(ILockBytes*, ULARGE_INTEGER, CPtr!(void), ULONG, ULONG*); 1305 +HRESULT ILockBytes_WriteAt_Stub(ILockBytes*, ULARGE_INTEGER, BYTE*, ULONG, ULONG*); 1306 +} 1307 ++/

Added src/win32/objsafe.d version [d2b20ee57b6dc592]

1 +/***********************************************************************\ 2 +* objsafe.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.objsafe; 12 + 13 +private import win32.basetyps, win32.unknwn, win32.windef; 14 + 15 +enum { 16 + INTERFACESAFE_FOR_UNTRUSTED_CALLER = 1, 17 + INTERFACESAFE_FOR_UNTRUSTED_DATA 18 +} 19 + 20 +interface IObjectSafety : IUnknown { 21 + HRESULT GetInterfaceSafetyOptions(REFIID, DWORD*, DWORD*); 22 + HRESULT SetInterfaceSafetyOptions(REFIID, DWORD, DWORD); 23 +}

Added src/win32/ocidl.d version [cdcc4f883bee1256]

1 +/***********************************************************************\ 2 +* ocidl.d * 3 +* * 4 +* Windows API header module * 5 +* Part of the Internet Development SDK * 6 +* * 7 +* Translated from MinGW Windows headers * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.ocidl; 12 + 13 +private import win32.ole2, win32.oleidl, win32.oaidl, win32.objfwd, 14 + win32.windef, win32.wtypes; 15 +private import win32.objidl; // for CLIPFORMAT 16 +private import win32.wingdi; // for TEXTMETRICW 17 +private import win32.winuser; // for LPMSG 18 + 19 +interface IBindHost : IUnknown {} 20 + 21 +interface IServiceProvider : IUnknown{ 22 + HRESULT QueryService(REFGUID,REFIID,void**); 23 +} 24 + 25 +/* 26 +// TODO: 27 +//private import win32.servprov; // for IServiceProvider 28 +// private import win32.urlmon; // for IBindHost. This is not included in MinGW. 29 + 30 +// win32.urlmon should contain: 31 +interface IBindHost : IUnknown 32 +{ 33 + HRESULT CreateMoniker(LPOLESTR szName, IBindCtx* pBC, IMoniker** ppmk, DWORD); 34 + HRESULT MonikerBindToObject(IMoniker* pMk, IBindCtx* pBC, IBindStatusCallback* pBSC, REFIID, void** ); 35 + HRESULT MonikerBindToStorage(IMoniker* pMk, IBindCtx* pBC, IBindStatusCallback* pBSC, REFIID, void** ); 36 +} 37 +*/ 38 + 39 + 40 + 41 + 42 +//[Yes] #ifndef OLE2ANSI 43 +alias TEXTMETRICW TEXTMETRICOLE; 44 +//} else { 45 +//alias TEXTMETRIC TEXTMETRICOLE; 46 +//} 47 +alias TEXTMETRICOLE* LPTEXTMETRICOLE; 48 + 49 +alias DWORD OLE_COLOR; 50 +alias UINT OLE_HANDLE; 51 +alias int OLE_XPOS_HIMETRIC; 52 +alias int OLE_YPOS_HIMETRIC; 53 +alias int OLE_XSIZE_HIMETRIC; 54 +alias int OLE_YSIZE_HIMETRIC; 55 + 56 +enum READYSTATE { 57 + READYSTATE_UNINITIALIZED = 0, 58 + READYSTATE_LOADING = 1, 59 + READYSTATE_LOADED = 2, 60 + READYSTATE_INTERACTIVE = 3, 61 + READYSTATE_COMPLETE = 4 62 +} 63 + 64 +enum PROPBAG2_TYPE { 65 + PROPBAG2_TYPE_UNDEFINED, 66 + PROPBAG2_TYPE_DATA, 67 + PROPBAG2_TYPE_URL, 68 + PROPBAG2_TYPE_OBJECT, 69 + PROPBAG2_TYPE_STREAM, 70 + PROPBAG2_TYPE_STORAGE, 71 + PROPBAG2_TYPE_MONIKER // = 6 72 +} 73 + 74 +struct PROPBAG2 { 75 + DWORD dwType; 76 + VARTYPE vt; 77 + CLIPFORMAT cfType; 78 + DWORD dwHint; 79 + LPOLESTR pstrName; 80 + CLSID clsid; 81 +} 82 + 83 +enum QACONTAINERFLAGS { 84 + QACONTAINER_SHOWHATCHING = 1, 85 + QACONTAINER_SHOWGRABHANDLES = 2, 86 + QACONTAINER_USERMODE = 4, 87 + QACONTAINER_DISPLAYASDEFAULT = 8, 88 + QACONTAINER_UIDEAD = 16, 89 + QACONTAINER_AUTOCLIP = 32, 90 + QACONTAINER_MESSAGEREFLECT = 64, 91 + QACONTAINER_SUPPORTSMNEMONICS = 128 92 +} 93 + 94 +struct QACONTAINER { 95 + ULONG cbSize = this.sizeof; 96 + IOleClientSite* pClientSite; 97 + IAdviseSinkEx* pAdviseSink; 98 + IPropertyNotifySink* pPropertyNotifySink; 99 + IUnknown* pUnkEventSink; 100 + DWORD dwAmbientFlags; 101 + OLE_COLOR colorFore; 102 + OLE_COLOR colorBack; 103 + IFont* pFont; 104 + IOleUndoManager* pUndoMgr; 105 + DWORD dwAppearance; 106 + LONG lcid; 107 + HPALETTE hpal; 108 + IBindHost* pBindHost; 109 + IOleControlSite* pOleControlSite; 110 + IServiceProvider* pServiceProvider; 111 +} 112 + 113 +struct QACONTROL { 114 + ULONG cbSize = this.sizeof; 115 + DWORD dwMiscStatus; 116 + DWORD dwViewStatus; 117 + DWORD dwEventCookie; 118 + DWORD dwPropNotifyCookie; 119 + DWORD dwPointerActivationPolicy; 120 +} 121 + 122 +struct POINTF { 123 + float x; 124 + float y; 125 +} 126 +alias POINTF* LPPOINTF; 127 + 128 +struct CONTROLINFO { 129 + ULONG cb; 130 + HACCEL hAccel; 131 + USHORT cAccel; 132 + DWORD dwFlags; 133 +} 134 +alias CONTROLINFO* LPCONTROLINFO; 135 + 136 +struct CONNECTDATA { 137 + LPUNKNOWN pUnk; 138 + DWORD dwCookie; 139 +} 140 +alias CONNECTDATA* LPCONNECTDATA; 141 + 142 +struct LICINFO { 143 + int cbLicInfo; 144 + BOOL fRuntimeKeyAvail; 145 + BOOL fLicVerified; 146 +} 147 +alias LICINFO* LPLICINFO; 148 + 149 +struct CAUUID { 150 + ULONG cElems; 151 + GUID* pElems; 152 +} 153 +alias CAUUID* LPCAUUID; 154 + 155 +struct CALPOLESTR { 156 + ULONG cElems; 157 + LPOLESTR* pElems; 158 +} 159 +alias CALPOLESTR* LPCALPOLESTR; 160 + 161 +struct CADWORD { 162 + ULONG cElems; 163 + DWORD* pElems; 164 +} 165 +alias CADWORD* LPCADWORD; 166 + 167 +struct PROPPAGEINFO { 168 + ULONG cb; 169 + LPOLESTR pszTitle; 170 + SIZE size; 171 + LPOLESTR pszDocString; 172 + LPOLESTR pszHelpFile; 173 + DWORD dwHelpContext; 174 +} 175 +alias PROPPAGEINFO* LPPROPPAGEINFO; 176 + 177 +interface IOleControl : IUnknown { 178 + HRESULT GetControlInfo(LPCONTROLINFO); 179 + HRESULT OnMnemonic(LPMSG); 180 + HRESULT OnAmbientPropertyChange(DISPID); 181 + HRESULT FreezeEvents(BOOL); 182 +} 183 + 184 +interface IOleControlSite : IUnknown { 185 + HRESULT OnControlInfoChanged(); 186 + HRESULT LockInPlaceActive(BOOL); 187 + HRESULT GetExtendedControl(LPDISPATCH*); 188 + HRESULT TransformCoords(POINTL*, POINTF*, DWORD); 189 + HRESULT TranslateAccelerator(LPMSG, DWORD); 190 + HRESULT OnFocus(BOOL); 191 + HRESULT ShowPropertyFrame(); 192 +} 193 + 194 +interface ISimpleFrameSite : IUnknown { 195 + HRESULT PreMessageFilter(HWND, UINT, WPARAM, LPARAM, LRESULT*, PDWORD); 196 + HRESULT PostMessageFilter(HWND, UINT, WPARAM, LPARAM, LRESULT*, DWORD); 197 +} 198 + 199 +interface IErrorLog : IUnknown { 200 + HRESULT AddError(LPCOLESTR, LPEXCEPINFO); 201 +} 202 +alias IErrorLog LPERRORLOG; 203 + 204 +interface IPropertyBag : IUnknown { 205 + HRESULT Read(LPCOLESTR, LPVARIANT, LPERRORLOG); 206 + HRESULT Write(LPCOLESTR, LPVARIANT); 207 +} 208 +alias IPropertyBag LPPROPERTYBAG; 209 + 210 +interface IPropertyBag2 : IUnknown { 211 + HRESULT Read(ULONG, PROPBAG2*, LPERRORLOG, VARIANT*, HRESULT*); 212 + HRESULT Write(ULONG, PROPBAG2*, VARIANT*); 213 + HRESULT CountProperties(ULONG*); 214 + HRESULT GetPropertyInfo(ULONG, ULONG, PROPBAG2*, ULONG*); 215 + HRESULT LoadObject(LPCOLESTR, DWORD, IUnknown*, LPERRORLOG); 216 +} 217 +alias IPropertyBag2 LPPROPERTYBAG2; 218 + 219 +interface IPersistPropertyBag : IPersist { 220 + HRESULT InitNew(); 221 + HRESULT Load(LPPROPERTYBAG, LPERRORLOG); 222 + HRESULT Save(LPPROPERTYBAG, BOOL, BOOL); 223 +} 224 + 225 +interface IPersistPropertyBag2 : IPersist { 226 + HRESULT InitNew(); 227 + HRESULT Load(LPPROPERTYBAG2, LPERRORLOG); 228 + HRESULT Save(LPPROPERTYBAG2, BOOL, BOOL); 229 + HRESULT IsDirty(); 230 +} 231 + 232 +interface IPersistStreamInit : IPersist { 233 + HRESULT IsDirty(); 234 + HRESULT Load(LPSTREAM); 235 + HRESULT Save(LPSTREAM, BOOL); 236 + HRESULT GetSizeMax(PULARGE_INTEGER); 237 + HRESULT InitNew(); 238 +} 239 + 240 +interface IPersistMemory : IPersist { 241 + HRESULT IsDirty(); 242 + HRESULT Load(PVOID, ULONG); 243 + HRESULT Save(PVOID, BOOL, ULONG); 244 + HRESULT GetSizeMax(PULONG); 245 + HRESULT InitNew(); 246 +} 247 + 248 +interface IPropertyNotifySink : IUnknown { 249 + HRESULT OnChanged(DISPID); 250 + HRESULT OnRequestEdit(DISPID); 251 +} 252 + 253 +interface IProvideClassInfo : IUnknown { 254 + HRESULT GetClassInfo(LPTYPEINFO*); 255 +} 256 + 257 +interface IProvideClassInfo2 : IProvideClassInfo { 258 + HRESULT GetGUID(DWORD, GUID*); 259 +} 260 + 261 +interface IConnectionPointContainer : IUnknown { 262 + HRESULT EnumConnectionPoints(LPENUMCONNECTIONPOINTS*); 263 + HRESULT FindConnectionPoint(REFIID, LPCONNECTIONPOINT*); 264 +} 265 + 266 +interface IEnumConnectionPoints : IUnknown { 267 + HRESULT Next(ULONG, LPCONNECTIONPOINT*, ULONG*); 268 + HRESULT Skip(ULONG); 269 + HRESULT Reset(); 270 + HRESULT Clone(LPENUMCONNECTIONPOINTS*); 271 +} 272 +alias IEnumConnectionPoints LPENUMCONNECTIONPOINTS; 273 + 274 +interface IConnectionPoint : IUnknown { 275 + HRESULT GetConnectionInterface(IID*); 276 + HRESULT GetConnectionPointContainer(IConnectionPointContainer**); 277 + HRESULT Advise(LPUNKNOWN, PDWORD); 278 + HRESULT Unadvise(DWORD); 279 + HRESULT EnumConnections(LPENUMCONNECTIONS*); 280 +} 281 +alias IConnectionPoint LPCONNECTIONPOINT; 282 + 283 +interface IEnumConnections : IUnknown { 284 + HRESULT Next(ULONG, LPCONNECTDATA, PULONG); 285 + HRESULT Skip(ULONG); 286 + HRESULT Reset(); 287 + HRESULT Clone(LPENUMCONNECTIONS*); 288 +} 289 +alias IEnumConnections LPENUMCONNECTIONS; 290 + 291 +interface IClassFactory2 : IClassFactory { 292 + HRESULT GetLicInfo(LPLICINFO); 293 + HRESULT RequestLicKey(DWORD, BSTR*); 294 + HRESULT CreateInstanceLic(LPUNKNOWN, LPUNKNOWN, REFIID, BSTR, PVOID*); 295 +} 296 + 297 +interface ISpecifyPropertyPages : IUnknown { 298 + HRESULT GetPages(CAUUID*); 299 +} 300 + 301 +interface IPerPropertyBrowsing : IUnknown { 302 + HRESULT GetDisplayString(DISPID, BSTR*); 303 + HRESULT MapPropertyToPage(DISPID, LPCLSID); 304 + HRESULT GetPredefinedStrings(DISPID, CALPOLESTR*, CADWORD*); 305 + HRESULT GetPredefinedValue(DISPID, DWORD, VARIANT*); 306 +} 307 + 308 +interface IPropertyPageSite : IUnknown { 309 + HRESULT OnStatusChange(DWORD); 310 + HRESULT GetLocaleID(LCID*); 311 + HRESULT GetPageContainer(LPUNKNOWN*); 312 + HRESULT TranslateAccelerator(LPMSG); 313 +} 314 +alias IPropertyPageSite LPPROPERTYPAGESITE; 315 + 316 +interface IPropertyPage : IUnknown { 317 + HRESULT SetPageSite(LPPROPERTYPAGESITE); 318 + HRESULT Activate(HWND, LPCRECT, BOOL); 319 + HRESULT Deactivate(); 320 + HRESULT GetPageInfo(LPPROPPAGEINFO); 321 + HRESULT SetObjects(ULONG, LPUNKNOWN*); 322 + HRESULT Show(UINT); 323 + HRESULT Move(LPCRECT); 324 + HRESULT IsPageDirty(); 325 + HRESULT Apply(); 326 + HRESULT Help(LPCOLESTR); 327 + HRESULT TranslateAccelerator(LPMSG); 328 +} 329 + 330 + 331 +interface IPropertyPage2 : IPropertyPage 332 +{ HRESULT EditProperty(DISPID); 333 +} 334 + 335 +interface IFont : IUnknown { 336 + HRESULT get_Name(BSTR*); 337 + HRESULT put_Name(BSTR); 338 + HRESULT get_Size(CY*); 339 + HRESULT put_Size(CY); 340 + HRESULT get_Bold(BOOL*); 341 + HRESULT put_Bold(BOOL); 342 + HRESULT get_Italic(BOOL*); 343 + HRESULT put_Italic(BOOL); 344 + HRESULT get_Underline(BOOL*); 345 + HRESULT put_Underline(BOOL); 346 + HRESULT get_Strikethrough(BOOL*); 347 + HRESULT put_Strikethrough(BOOL); 348 + HRESULT get_Weight(short*); 349 + HRESULT put_Weight(short); 350 + HRESULT get_Charset(short*); 351 + HRESULT put_Charset(short); 352 + HRESULT get_hFont(HFONT*); 353 + HRESULT Clone(IFont**); 354 + HRESULT IsEqual(IFont*); 355 + HRESULT SetRatio(int, int); 356 + HRESULT QueryTextMetrics(LPTEXTMETRICOLE); 357 + HRESULT AddRefHfont(HFONT); 358 + HRESULT ReleaseHfont(HFONT); 359 + HRESULT SetHdc(HDC); 360 +} 361 +alias IFont LPFONT; 362 + 363 +interface IFontDisp : IDispatch { 364 +} 365 +alias IFontDisp LPFONTDISP; 366 + 367 +interface IPicture : IUnknown { 368 + HRESULT get_Handle(OLE_HANDLE*); 369 + HRESULT get_hPal(OLE_HANDLE*); 370 + HRESULT get_Type(short*); 371 + HRESULT get_Width(OLE_XSIZE_HIMETRIC*); 372 + HRESULT get_Height(OLE_YSIZE_HIMETRIC*); 373 + HRESULT Render(HDC, int, int, int, int, OLE_XPOS_HIMETRIC, 374 + OLE_YPOS_HIMETRIC, OLE_XSIZE_HIMETRIC, OLE_YSIZE_HIMETRIC, LPCRECT); 375 + HRESULT set_hPal(OLE_HANDLE); 376 + HRESULT get_CurDC(HDC*); 377 + HRESULT SelectPicture(HDC, HDC*, OLE_HANDLE*); 378 + HRESULT get_KeepOriginalFormat(BOOL*); 379 + HRESULT put_KeepOriginalFormat(BOOL); 380 + HRESULT PictureChanged(); 381 + HRESULT SaveAsFile(LPSTREAM, BOOL, LONG*); 382 + HRESULT get_Attributes(PDWORD); 383 +} 384 + 385 +interface IPictureDisp : IDispatch { 386 +} 387 + 388 +interface IOleInPlaceSiteEx : IOleInPlaceSite { 389 + HRESULT OnInPlaceActivateEx(BOOL*, DWORD); 390 + HRESULT OnInPlaceDeactivateEx(BOOL); 391 + HRESULT RequestUIActivate(); 392 +} 393 + 394 +interface IObjectWithSite : IUnknown { 395 + HRESULT SetSite(IUnknown*); 396 + HRESULT GetSite(REFIID, void**); 397 +} 398 + 399 +interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx { 400 + HRESULT CanWindowlessActivate(); 401 + HRESULT GetCapture(); 402 + HRESULT SetCapture(BOOL); 403 + HRESULT GetFocus(); 404 + HRESULT SetFocus(BOOL); 405 + HRESULT GetDC(LPCRECT, DWORD, HDC*); 406 + HRESULT ReleaseDC(HDC); 407 + HRESULT InvalidateRect(LPCRECT, BOOL); 408 + HRESULT InvalidateRgn(HRGN, BOOL); 409 + HRESULT ScrollRect(INT, INT, LPCRECT, LPCRECT); 410 + HRESULT AdjustRect(LPCRECT); 411 + HRESULT OnDefWindowMessage(UINT, WPARAM, LPARAM, LRESULT*); 412 +} 413 + 414 +interface IAdviseSinkEx : IUnknown { 415 + void OnDataChange(FORMATETC*, STGMEDIUM*); 416 + void OnViewChange(DWORD, LONG); 417 + void OnRename(IMoniker*); 418 + void OnSave(); 419 + void OnClose(); 420 + HRESULT OnViewStatusChange(DWORD); 421 +} 422 + 423 +interface IPointerInactive : IUnknown { 424 + HRESULT GetActivationPolicy(DWORD*); 425 + HRESULT OnInactiveMouseMove(LPCRECT, LONG, LONG, DWORD); 426 + HRESULT OnInactiveSetCursor(LPCRECT, LONG, LONG, DWORD, BOOL); 427 +} 428 + 429 +interface IOleUndoUnit : IUnknown { 430 + HRESULT Do(LPOLEUNDOMANAGER); 431 + HRESULT GetDescription(BSTR*); 432 + HRESULT GetUnitType(CLSID*, LONG*); 433 + HRESULT OnNextAdd(); 434 +} 435 + 436 +interface IOleParentUndoUnit : IOleUndoUnit { 437 + HRESULT Open(IOleParentUndoUnit*); 438 + HRESULT Close(IOleParentUndoUnit*, BOOL); 439 + HRESULT Add(IOleUndoUnit*); 440 + HRESULT FindUnit(IOleUndoUnit*); 441 + HRESULT GetParentState(DWORD*); 442 +} 443 + 444 +interface IEnumOleUndoUnits : IUnknown { 445 + HRESULT Next(ULONG, IOleUndoUnit**, ULONG*); 446 + HRESULT Skip(ULONG); 447 + HRESULT Reset(); 448 + HRESULT Clone(IEnumOleUndoUnits**); 449 +} 450 + 451 +interface IOleUndoManager : IUnknown { 452 + HRESULT Open(IOleParentUndoUnit*); 453 + HRESULT Close(IOleParentUndoUnit*, BOOL); 454 + HRESULT Add(IOleUndoUnit*); 455 + HRESULT GetOpenParentState(DWORD*); 456 + HRESULT DiscardFrom(IOleUndoUnit*); 457 + HRESULT UndoTo(IOleUndoUnit*); 458 + HRESULT RedoTo(IOleUndoUnit*); 459 + HRESULT EnumUndoable(IEnumOleUndoUnits**); 460 + HRESULT EnumRedoable(IEnumOleUndoUnits**); 461 + HRESULT GetLastUndoDescription(BSTR*); 462 + HRESULT GetLastRedoDescription(BSTR*); 463 + HRESULT Enable(BOOL); 464 +} 465 +alias IOleUndoManager LPOLEUNDOMANAGER; 466 + 467 +interface IQuickActivate : IUnknown { 468 + HRESULT QuickActivate(QACONTAINER*, QACONTROL*); 469 + HRESULT SetContentExtent(LPSIZEL); 470 + HRESULT GetContentExtent(LPSIZEL); 471 +}

Added src/win32/odbcinst.d version [59befc4756b0b474]

1 +/***********************************************************************\ 2 +* odbcinst.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.odbcinst; 11 + 12 +import win32.sql; 13 +private import win32.windef; 14 + 15 +/* FIXME: The Unicode/Ansi functions situation is a mess. How do the xxxA 16 + * versions of these functions fit into the scheme? 17 + */ 18 + 19 +// SQLConfigDataSource() 20 +enum : WORD { 21 + ODBC_ADD_DSN = 1, 22 + ODBC_CONFIG_DSN = 2, 23 + ODBC_REMOVE_DSN = 3, 24 + ODBC_ADD_SYS_DSN = 4, 25 + ODBC_CONFIG_SYS_DSN = 5, 26 + ODBC_REMOVE_SYS_DSN = 6, 27 + ODBC_REMOVE_DEFAULT_DSN = 7 28 +} 29 + 30 +// ODBC 3.0+ 31 +enum : WORD { 32 + ODBC_INSTALL_INQUIRY = 1, 33 + ODBC_INSTALL_COMPLETE = 2 34 +} 35 + 36 +// ODBC 2.5+ 37 +enum : WORD { 38 + ODBC_INSTALL_DRIVER = 1, 39 + ODBC_REMOVE_DRIVER = 2, 40 + ODBC_CONFIG_DRIVER = 3, 41 + ODBC_CONFIG_DRIVER_MAX = 100 42 +} 43 + 44 +// ODBC 3.0+ 45 +// SQLSetConfigMode() 46 +enum : UWORD { 47 + ODBC_BOTH_DSN = 0, 48 + ODBC_USER_DSN = 1, 49 + ODBC_SYSTEM_DSN = 2 50 +} 51 + 52 +enum : DWORD { 53 + ODBC_ERROR_GENERAL_ERR = 1, 54 + ODBC_ERROR_INVALID_BUFF_LEN = 2, 55 + ODBC_ERROR_INVALID_HWND = 3, 56 + ODBC_ERROR_INVALID_STR = 4, 57 + ODBC_ERROR_INVALID_REQUEST_TYPE = 5, 58 + ODBC_ERROR_COMPONENT_NOT_FOUND = 6, 59 + ODBC_ERROR_INVALID_NAME = 7, 60 + ODBC_ERROR_INVALID_KEYWORD_VALUE = 8, 61 + ODBC_ERROR_INVALID_DSN = 9, 62 + ODBC_ERROR_INVALID_INF = 10, 63 + ODBC_ERROR_REQUEST_FAILED = 11, 64 + ODBC_ERROR_INVALID_PATH = 12, 65 + ODBC_ERROR_LOAD_LIB_FAILED = 13, 66 + ODBC_ERROR_INVALID_PARAM_SEQUENCE = 14, 67 + ODBC_ERROR_INVALID_LOG_FILE = 15, 68 + ODBC_ERROR_USER_CANCELED = 16, 69 + ODBC_ERROR_USAGE_UPDATE_FAILED = 17, 70 + ODBC_ERROR_CREATE_DSN_FAILED = 18, 71 + ODBC_ERROR_WRITING_SYSINFO_FAILED = 19, 72 + ODBC_ERROR_REMOVE_DSN_FAILED = 20, 73 + ODBC_ERROR_OUT_OF_MEM = 21, 74 + ODBC_ERROR_OUTPUT_STRING_TRUNCATED = 22 75 +} 76 + 77 +extern (Windows): 78 +BOOL ConfigDSN(HWND,WORD,LPCSTR,LPCSTR); 79 +BOOL ConfigDSNW(HWND,WORD,LPCWSTR,LPCWSTR); 80 +BOOL ConfigTranslator(HWND,DWORD*); 81 +BOOL SQLConfigDataSource(HWND,WORD,LPCSTR,LPCSTR); 82 +BOOL SQLConfigDataSourceW(HWND,WORD,LPCWSTR,LPCWSTR); 83 +BOOL SQLCreateDataSource(HWND,LPCSTR); 84 +BOOL SQLCreateDataSourceW(HWND,LPCWSTR); 85 +BOOL SQLGetAvailableDrivers(LPCSTR,LPSTR,WORD,WORD*); 86 +BOOL SQLGetAvailableDriversW(LPCWSTR,LPWSTR,WORD,WORD*); 87 +BOOL SQLGetInstalledDrivers(LPSTR,WORD,WORD*); 88 +BOOL SQLGetInstalledDriversW(LPWSTR,WORD,WORD*); 89 +int SQLGetPrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPSTR,int,LPCSTR); 90 +int SQLGetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,int,LPCWSTR); 91 +BOOL SQLGetTranslator(HWND,LPSTR,WORD,WORD*,LPSTR,WORD,WORD*,DWORD*); 92 +BOOL SQLGetTranslatorW(HWND,LPWSTR,WORD,WORD*,LPWSTR,WORD,WORD*,DWORD*); 93 +BOOL SQLInstallDriver(LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 94 +BOOL SQLInstallDriverManager(LPSTR,WORD,WORD*); 95 +BOOL SQLInstallDriverManagerW(LPWSTR,WORD,WORD*); 96 +BOOL SQLInstallDriverW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 97 +BOOL SQLInstallODBC(HWND,LPCSTR,LPCSTR,LPCSTR); 98 +BOOL SQLInstallODBCW(HWND,LPCWSTR,LPCWSTR,LPCWSTR); 99 +BOOL SQLManageDataSources(HWND); 100 +BOOL SQLRemoveDefaultDataSource(); 101 +BOOL SQLRemoveDSNFromIni(LPCSTR); 102 +BOOL SQLRemoveDSNFromIniW(LPCWSTR); 103 +BOOL SQLValidDSN(LPCSTR); 104 +BOOL SQLValidDSNW(LPCWSTR); 105 +BOOL SQLWriteDSNToIni(LPCSTR,LPCSTR); 106 +BOOL SQLWriteDSNToIniW(LPCWSTR,LPCWSTR); 107 +BOOL SQLWritePrivateProfileString(LPCSTR,LPCSTR,LPCSTR,LPCSTR); 108 +BOOL SQLWritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); 109 + 110 +static if (ODBCVER >= 0x0250) { 111 + BOOL ConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 112 + BOOL ConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 113 + BOOL SQLConfigDriver(HWND,WORD,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 114 + BOOL SQLConfigDriverW(HWND,WORD,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 115 + deprecated { 116 + BOOL SQLInstallTranslator(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 117 + BOOL SQLInstallTranslatorW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 118 + } 119 + BOOL SQLRemoveDriver(LPCSTR,BOOL,LPDWORD); 120 + BOOL SQLRemoveDriverManager(LPDWORD); 121 + BOOL SQLRemoveDriverW(LPCWSTR,BOOL,LPDWORD); 122 + BOOL SQLRemoveTranslator(LPCSTR,LPDWORD); 123 + BOOL SQLRemoveTranslatorW(LPCWSTR,LPDWORD); 124 +} 125 +static if (ODBCVER >= 0x0300) { 126 + BOOL SQLGetConfigMode(UWORD*); 127 + BOOL SQLInstallDriverEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 128 + BOOL SQLInstallDriverExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 129 + SQLRETURN SQLInstallerError(WORD,DWORD*,LPSTR,WORD,WORD*); 130 + SQLRETURN SQLInstallerErrorW(WORD,DWORD*,LPWSTR,WORD,WORD*); 131 + BOOL SQLInstallTranslatorEx(LPCSTR,LPCSTR,LPSTR,WORD,WORD*,WORD,LPDWORD); 132 + BOOL SQLInstallTranslatorExW(LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*,WORD,LPDWORD); 133 + SQLRETURN SQLPostInstallerError(DWORD,LPCSTR); 134 + SQLRETURN SQLPostInstallerErrorW(DWORD,LPCWSTR); 135 + BOOL SQLReadFileDSN(LPCSTR,LPCSTR,LPCSTR,LPSTR,WORD,WORD*); 136 + BOOL SQLReadFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,WORD,WORD*); 137 + BOOL SQLSetConfigMode(UWORD); 138 + BOOL SQLWriteFileDSN(LPCSTR,LPCSTR,LPCSTR,LPCSTR); 139 + BOOL SQLWriteFileDSNW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); 140 +} 141 + 142 +version (Unicode) { 143 + alias SQLConfigDataSourceW SQLConfigDataSource; 144 + alias SQLConfigDriverW SQLConfigDriver; 145 + alias SQLCreateDataSourceW SQLCreateDataSource; 146 + alias SQLGetAvailableDriversW SQLGetAvailableDrivers; 147 + alias SQLGetInstalledDriversW SQLGetInstalledDrivers; 148 + alias SQLGetPrivateProfileStringW SQLGetPrivateProfileString; 149 + alias SQLGetTranslatorW SQLGetTranslator; 150 + alias SQLInstallDriverW SQLInstallDriver; 151 + alias SQLInstallDriverExW SQLInstallDriverEx; 152 + alias SQLInstallDriverManagerW SQLInstallDriverManager; 153 + alias SQLInstallerErrorW SQLInstallerError; 154 + alias SQLInstallODBCW SQLInstallODBC; 155 + deprecated alias SQLInstallTranslatorW SQLInstallTranslator; 156 + alias SQLInstallTranslatorExW SQLInstallTranslatorEx; 157 + alias SQLPostInstallerErrorW SQLPostInstallerError; 158 + alias SQLReadFileDSNW SQLReadFileDSN; 159 + alias SQLRemoveDriverW SQLRemoveDriver; 160 + alias SQLRemoveDSNFromIniW SQLRemoveDSNFromIni; 161 + alias SQLRemoveTranslatorW SQLRemoveTranslator; 162 + alias SQLValidDSNW SQLValidDSN; 163 + alias SQLWriteDSNToIniW SQLWriteDSNToIni; 164 + alias SQLWriteFileDSNW SQLWriteFileDSN; 165 + alias SQLWritePrivateProfileStringW SQLWritePrivateProfileString; 166 +}

Added src/win32/ole.d version [e2cda4dadcb42922]

1 +/***********************************************************************\ 2 +* ole.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.ole; 12 + 13 +private import win32.windef, win32.wingdi, win32.uuid; 14 + 15 +alias LPCSTR OLE_LPCSTR; 16 + 17 +/+#define LRESULT LONG 18 +#define HGLOBAL HANDLE+/ 19 + 20 +enum { 21 + OT_LINK = 1, 22 + OT_EMBEDDED, 23 + OT_STATIC 24 +} 25 + 26 +const OLEVERB_PRIMARY = 0; 27 +const OF_SET = 1; 28 +const OF_GET = 2; 29 +const OF_HANDLER = 4; 30 + 31 +struct OLETARGETDEVICE { 32 + USHORT otdDeviceNameOffset; 33 + USHORT otdDriverNameOffset; 34 + USHORT otdPortNameOffset; 35 + USHORT otdExtDevmodeOffset; 36 + USHORT otdExtDevmodeSize; 37 + USHORT otdEnvironmentOffset; 38 + USHORT otdEnvironmentSize; 39 + BYTE _otdData; 40 + BYTE* otdData() { return &_otdData; } 41 +} 42 +alias OLETARGETDEVICE* LPOLETARGETDEVICE; 43 + 44 +enum OLESTATUS { 45 + OLE_OK, 46 + OLE_WAIT_FOR_RELEASE, 47 + OLE_BUSY, 48 + OLE_ERROR_PROTECT_ONLY, 49 + OLE_ERROR_MEMORY, 50 + OLE_ERROR_STREAM, 51 + OLE_ERROR_STATIC, 52 + OLE_ERROR_BLANK, 53 + OLE_ERROR_DRAW, 54 + OLE_ERROR_METAFILE, 55 + OLE_ERROR_ABORT, 56 + OLE_ERROR_CLIPBOARD, 57 + OLE_ERROR_FORMAT, 58 + OLE_ERROR_OBJECT, 59 + OLE_ERROR_OPTION, 60 + OLE_ERROR_PROTOCOL, 61 + OLE_ERROR_ADDRESS, 62 + OLE_ERROR_NOT_EQUAL, 63 + OLE_ERROR_HANDLE, 64 + OLE_ERROR_GENERIC, 65 + OLE_ERROR_CLASS, 66 + OLE_ERROR_SYNTAX, 67 + OLE_ERROR_DATATYPE, 68 + OLE_ERROR_PALETTE, 69 + OLE_ERROR_NOT_LINK, 70 + OLE_ERROR_NOT_EMPTY, 71 + OLE_ERROR_SIZE, 72 + OLE_ERROR_DRIVE, 73 + OLE_ERROR_NETWORK, 74 + OLE_ERROR_NAME, 75 + OLE_ERROR_TEMPLATE, 76 + OLE_ERROR_NEW, 77 + OLE_ERROR_EDIT, 78 + OLE_ERROR_OPEN, 79 + OLE_ERROR_NOT_OPEN, 80 + OLE_ERROR_LAUNCH, 81 + OLE_ERROR_COMM, 82 + OLE_ERROR_TERMINATE, 83 + OLE_ERROR_COMMAND, 84 + OLE_ERROR_SHOW, 85 + OLE_ERROR_DOVERB, 86 + OLE_ERROR_ADVISE_NATIVE, 87 + OLE_ERROR_ADVISE_PICT, 88 + OLE_ERROR_ADVISE_RENAME, 89 + OLE_ERROR_POKE_NATIVE, 90 + OLE_ERROR_REQUEST_NATIVE, 91 + OLE_ERROR_REQUEST_PICT, 92 + OLE_ERROR_SERVER_BLOCKED, 93 + OLE_ERROR_REGISTRATION, 94 + OLE_ERROR_ALREADY_REGISTERED, 95 + OLE_ERROR_TASK, 96 + OLE_ERROR_OUTOFDATE, 97 + OLE_ERROR_CANT_UPDATE_CLIENT, 98 + OLE_ERROR_UPDATE, 99 + OLE_ERROR_SETDATA_FORMAT, 100 + OLE_ERROR_STATIC_FROM_OTHER_OS, 101 + OLE_ERROR_FILE_VER, 102 + OLE_WARN_DELETE_DATA = 1000 103 +} 104 + 105 +enum OLE_NOTIFICATION { 106 + OLE_CHANGED, 107 + OLE_SAVED, 108 + OLE_CLOSED, 109 + OLE_RENAMED, 110 + OLE_QUERY_PAINT, 111 + OLE_RELEASE, 112 + OLE_QUERY_RETRY 113 +} 114 + 115 +enum OLE_RELEASE_METHOD { 116 + OLE_NONE, 117 + OLE_DELETE, 118 + OLE_LNKPASTE, 119 + OLE_EMBPASTE, 120 + OLE_SHOW, 121 + OLE_RUN, 122 + OLE_ACTIVATE, 123 + OLE_UPDATE, 124 + OLE_CLOSE, 125 + OLE_RECONNECT, 126 + OLE_SETUPDATEOPTIONS, 127 + OLE_SERVERUNLAUNCH, 128 + OLE_LOADFROMSTREAM, 129 + OLE_SETDATA, 130 + OLE_REQUESTDATA, 131 + OLE_OTHER, 132 + OLE_CREATE, 133 + OLE_CREATEFROMTEMPLATE, 134 + OLE_CREATELINKFROMFILE, 135 + OLE_COPYFROMLNK, 136 + OLE_CREATEFROMFILE, 137 + OLE_CREATEINVISIBLE 138 +} 139 + 140 +enum OLEOPT_RENDER { 141 + olerender_none, 142 + olerender_draw, 143 + olerender_format 144 +} 145 + 146 +alias WORD OLECLIPFORMAT; 147 + 148 +enum OLEOPT_UPDATE { 149 + oleupdate_always, 150 + oleupdate_onsave, 151 + oleupdate_oncall, 152 +// #ifdef OLE_INTERNAL 153 + oleupdate_onclose 154 +// #endif 155 +} 156 + 157 +alias HANDLE HOBJECT; 158 +alias LONG LHSERVER, LHCLIENTDOC, LHSERVERDOC; 159 + 160 +struct OLEOBJECTVTBL { 161 + extern (Windows) { 162 + void* function(LPOLEOBJECT, OLE_LPCSTR) QueryProtocol; 163 + OLESTATUS function(LPOLEOBJECT) Release; 164 + OLESTATUS function(LPOLEOBJECT, BOOL) Show; 165 + OLESTATUS function(LPOLEOBJECT, UINT, BOOL, BOOL) DoVerb; 166 + OLESTATUS function(LPOLEOBJECT, OLECLIPFORMAT, HANDLE*) GetData; 167 + OLESTATUS function(LPOLEOBJECT, OLECLIPFORMAT, HANDLE) SetData; 168 + OLESTATUS function(LPOLEOBJECT, HGLOBAL) SetTargetDevice; 169 + OLESTATUS function(LPOLEOBJECT, RECT*) SetBounds; 170 + OLECLIPFORMAT function(LPOLEOBJECT, OLECLIPFORMAT) EnumFormats; 171 + OLESTATUS function(LPOLEOBJECT, LOGPALETTE*) SetColorScheme; 172 +//#ifndef SERVERONLY 173 + OLESTATUS function(LPOLEOBJECT) Delete; 174 + OLESTATUS function(LPOLEOBJECT, OLE_LPCSTR, OLE_LPCSTR) SetHostNames; 175 + OLESTATUS function(LPOLEOBJECT, LPOLESTREAM) SaveToStream; 176 + OLESTATUS function(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, 177 + LPOLEOBJECT*) Clone; 178 + OLESTATUS function(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, OLE_LPCSTR, 179 + LPOLEOBJECT*) CopyFromLink; 180 + OLESTATUS function(LPOLEOBJECT, LPOLEOBJECT) Equal; 181 + OLESTATUS function(LPOLEOBJECT) CopyToClipboard; 182 + OLESTATUS function(LPOLEOBJECT, HDC, RECT*, RECT*, HDC) Draw; 183 + OLESTATUS function(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, RECT*) 184 + Activate; 185 + OLESTATUS function(LPOLEOBJECT, HGLOBAL, UINT) Execute; 186 + OLESTATUS function(LPOLEOBJECT) Close; 187 + OLESTATUS function(LPOLEOBJECT) Update; 188 + OLESTATUS function(LPOLEOBJECT) Reconnect; 189 + OLESTATUS function(LPOLEOBJECT, OLE_LPCSTR, LPOLECLIENT, LHCLIENTDOC, 190 + OLE_LPCSTR, LPOLEOBJECT*) ObjectConvert; 191 + OLESTATUS function(LPOLEOBJECT, OLEOPT_UPDATE*) GetLinkUpdateOptions; 192 + OLESTATUS function(LPOLEOBJECT, OLEOPT_UPDATE) SetLinkUpdateOptions; 193 + OLESTATUS function(LPOLEOBJECT, OLE_LPCSTR) Rename; 194 + OLESTATUS function(LPOLEOBJECT, LPSTR, UINT*) QueryName; 195 + OLESTATUS function(LPOLEOBJECT, LONG*) QueryType; 196 + OLESTATUS function(LPOLEOBJECT, RECT*) QueryBounds; 197 + OLESTATUS function(LPOLEOBJECT, DWORD*) QuerySize; 198 + OLESTATUS function(LPOLEOBJECT) QueryOpen; 199 + OLESTATUS function(LPOLEOBJECT) QueryOutOfDate; 200 + OLESTATUS function(LPOLEOBJECT) QueryReleaseStatus; 201 + OLESTATUS function(LPOLEOBJECT) QueryReleaseError; 202 + OLE_RELEASE_METHOD function(LPOLEOBJECT) QueryReleaseMethod; 203 + OLESTATUS function(LPOLEOBJECT, OLECLIPFORMAT) RequestData; 204 + OLESTATUS function(LPOLEOBJECT, UINT, LONG*) ObjectLong; 205 + OLESTATUS function(LPOLEOBJECT, HANDLE, LPOLECLIENT, BOOL) ChangeData; 206 +//#endif 207 + } 208 +} 209 +alias OLEOBJECTVTBL* LPOLEOBJECTVTBL; 210 + 211 +//#ifndef OLE_INTERNAL 212 +struct OLEOBJECT { 213 + LPOLEOBJECTVTBL lpvtbl; 214 +} 215 +alias OLEOBJECT* LPOLEOBJECT; 216 +//#endif 217 + 218 +struct OLECLIENTVTBL { 219 + int function(LPOLECLIENT, OLE_NOTIFICATION, LPOLEOBJECT) CallBack; 220 +} 221 +alias OLECLIENTVTBL* LPOLECLIENTVTBL; 222 + 223 +struct OLECLIENT { 224 + LPOLECLIENTVTBL lpvtbl; 225 +} 226 +alias OLECLIENT* LPOLECLIENT; 227 + 228 +struct OLESTREAMVTBL { 229 + DWORD function(LPOLESTREAM, void*, DWORD) Get; 230 + DWORD function(LPOLESTREAM, void*, DWORD) Put; 231 +} 232 +alias OLESTREAMVTBL* LPOLESTREAMVTBL; 233 + 234 +struct OLESTREAM { 235 + LPOLESTREAMVTBL lpstbl; 236 +} 237 +alias OLESTREAM* LPOLESTREAM; 238 + 239 +enum OLE_SERVER_USE { 240 + OLE_SERVER_MULTI, 241 + OLE_SERVER_SINGLE 242 +} 243 + 244 +struct OLESERVERVTBL { 245 + OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, LPOLESERVERDOC*) 246 + Open; 247 + OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, 248 + LPOLESERVERDOC*) Create; 249 + OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, 250 + OLE_LPCSTR, LPOLESERVERDOC*) CreateFromTemplate; 251 + OLESTATUS function(LPOLESERVER, LHSERVERDOC, OLE_LPCSTR, OLE_LPCSTR, 252 + LPOLESERVERDOC*) Edit; 253 + OLESTATUS function(LPOLESERVER) Exit; 254 + OLESTATUS function(LPOLESERVER) Release; 255 + OLESTATUS function(LPOLESERVER, HGLOBAL) Execute; 256 +} 257 +alias OLESERVERVTBL* LPOLESERVERVTBL; 258 + 259 +struct OLESERVER { 260 + LPOLESERVERVTBL lpvtbl; 261 +} 262 +alias OLESERVER* LPOLESERVER; 263 + 264 +struct OLESERVERDOCVTBL { 265 + OLESTATUS function(LPOLESERVERDOC) Save; 266 + OLESTATUS function(LPOLESERVERDOC) Close; 267 + OLESTATUS function(LPOLESERVERDOC, OLE_LPCSTR, OLE_LPCSTR) SetHostNames; 268 + OLESTATUS function(LPOLESERVERDOC, RECT*) SetDocDimensions; 269 + OLESTATUS function(LPOLESERVERDOC, OLE_LPCSTR, LPOLEOBJECT*, LPOLECLIENT) 270 + GetObject; 271 + OLESTATUS function(LPOLESERVERDOC) Release; 272 + OLESTATUS function(LPOLESERVERDOC, LOGPALETTE*) SetColorScheme; 273 + OLESTATUS function(LPOLESERVERDOC, HGLOBAL) Execute; 274 +} 275 +alias OLESERVERDOCVTBL* LPOLESERVERDOCVTBL; 276 + 277 +struct OLESERVERDOC { 278 + LPOLESERVERDOCVTBL lpvtbl; 279 +} 280 +alias OLESERVERDOC* LPOLESERVERDOC; 281 + 282 +extern (Windows) { 283 + OLESTATUS OleDelete(LPOLEOBJECT); 284 + OLESTATUS OleRelease(LPOLEOBJECT); 285 + OLESTATUS OleSaveToStream(LPOLEOBJECT, LPOLESTREAM); 286 + OLESTATUS OleEqual(LPOLEOBJECT, LPOLEOBJECT); 287 + OLESTATUS OleCopyToClipboard(LPOLEOBJECT); 288 + OLESTATUS OleSetHostNames(LPOLEOBJECT, LPCSTR, LPCSTR); 289 + OLESTATUS OleSetTargetDevice(LPOLEOBJECT, HGLOBAL); 290 + OLESTATUS OleSetBounds(LPOLEOBJECT, LPCRECT); 291 + OLESTATUS OleSetColorScheme(LPOLEOBJECT, CPtr!(LOGPALETTE)); 292 + OLESTATUS OleQueryBounds(LPOLEOBJECT, RECT*); 293 + OLESTATUS OleQuerySize(LPOLEOBJECT, DWORD*); 294 + OLESTATUS OleDraw(LPOLEOBJECT, HDC, LPCRECT, LPCRECT, HDC); 295 + OLESTATUS OleQueryOpen(LPOLEOBJECT); 296 + OLESTATUS OleActivate(LPOLEOBJECT, UINT, BOOL, BOOL, HWND, LPCRECT); 297 + OLESTATUS OleExecute(LPOLEOBJECT, HGLOBAL, UINT); 298 + OLESTATUS OleClose(LPOLEOBJECT); 299 + OLESTATUS OleUpdate(LPOLEOBJECT); 300 + OLESTATUS OleReconnect(LPOLEOBJECT); 301 + OLESTATUS OleGetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE*); 302 + OLESTATUS OleSetLinkUpdateOptions(LPOLEOBJECT, OLEOPT_UPDATE); 303 + void* OleQueryProtocol(LPOLEOBJECT, LPCSTR); 304 + OLESTATUS OleQueryReleaseStatus(LPOLEOBJECT); 305 + OLESTATUS OleQueryReleaseError(LPOLEOBJECT); 306 + OLE_RELEASE_METHOD OleQueryReleaseMethod(LPOLEOBJECT); 307 + OLESTATUS OleQueryType(LPOLEOBJECT, LONG*); 308 + DWORD OleQueryClientVersion(); 309 + DWORD OleQueryServerVersion(); 310 + OLECLIPFORMAT OleEnumFormats(LPOLEOBJECT, OLECLIPFORMAT); 311 + OLESTATUS OleGetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE*); 312 + OLESTATUS OleSetData(LPOLEOBJECT, OLECLIPFORMAT, HANDLE); 313 + OLESTATUS OleQueryOutOfDate(LPOLEOBJECT); 314 + OLESTATUS OleRequestData(LPOLEOBJECT, OLECLIPFORMAT); 315 + OLESTATUS OleQueryLinkFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT); 316 + OLESTATUS OleQueryCreateFromClip(LPCSTR, OLEOPT_RENDER, OLECLIPFORMAT); 317 + OLESTATUS OleCreateFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, 318 + LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); 319 + OLESTATUS OleCreateLinkFromClip(LPCSTR, LPOLECLIENT, LHCLIENTDOC, LPCSTR, 320 + LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); 321 + OLESTATUS OleCreateFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, 322 + LHCLIENTDOC, LPCSTR, LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); 323 + OLESTATUS OleCreateLinkFromFile(LPCSTR, LPOLECLIENT, LPCSTR, LPCSTR, 324 + LPCSTR, LHCLIENTDOC, LPCSTR, LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); 325 + OLESTATUS OleLoadFromStream(LPOLESTREAM, LPCSTR, LPOLECLIENT, LHCLIENTDOC, 326 + LPCSTR, LPOLEOBJECT*); 327 + OLESTATUS OleCreate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, LPCSTR, 328 + LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); 329 + OLESTATUS OleCreateInvisible(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, 330 + LPCSTR, LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT, BOOL); 331 + OLESTATUS OleCreateFromTemplate(LPCSTR, LPOLECLIENT, LPCSTR, LHCLIENTDOC, 332 + LPCSTR, LPOLEOBJECT*, OLEOPT_RENDER, OLECLIPFORMAT); 333 + OLESTATUS OleClone(LPOLEOBJECT, LPOLECLIENT, LHCLIENTDOC, LPCSTR, 334 + LPOLEOBJECT*); 335 + OLESTATUS OleCopyFromLink(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, 336 + LPCSTR, LPOLEOBJECT*); 337 + OLESTATUS OleObjectConvert(LPOLEOBJECT, LPCSTR, LPOLECLIENT, LHCLIENTDOC, 338 + LPCSTR, LPOLEOBJECT*); 339 + OLESTATUS OleRename(LPOLEOBJECT, LPCSTR); 340 + OLESTATUS OleQueryName(LPOLEOBJECT, LPSTR, UINT*); 341 + OLESTATUS OleRevokeObject(LPOLECLIENT); 342 + BOOL OleIsDcMeta(HDC); 343 + OLESTATUS OleRegisterClientDoc(LPCSTR, LPCSTR, LONG, LHCLIENTDOC*); 344 + OLESTATUS OleRevokeClientDoc(LHCLIENTDOC); 345 + OLESTATUS OleRenameClientDoc(LHCLIENTDOC, LPCSTR); 346 + OLESTATUS OleRevertClientDoc(LHCLIENTDOC); 347 + OLESTATUS OleSavedClientDoc(LHCLIENTDOC); 348 + OLESTATUS OleEnumObjects(LHCLIENTDOC, LPOLEOBJECT*); 349 + OLESTATUS OleRegisterServer(LPCSTR, LPOLESERVER, LHSERVER*, HINSTANCE, 350 + OLE_SERVER_USE); 351 + OLESTATUS OleRevokeServer(LHSERVER); 352 + OLESTATUS OleBlockServer(LHSERVER); 353 + OLESTATUS OleUnblockServer(LHSERVER, BOOL*); 354 + OLESTATUS OleLockServer(LPOLEOBJECT, LHSERVER*); 355 + OLESTATUS OleUnlockServer(LHSERVER); 356 + OLESTATUS OleRegisterServerDoc(LHSERVER, LPCSTR, LPOLESERVERDOC, 357 + LHSERVERDOC*); 358 + OLESTATUS OleRevokeServerDoc(LHSERVERDOC); 359 + OLESTATUS OleRenameServerDoc(LHSERVERDOC, LPCSTR); 360 + OLESTATUS OleRevertServerDoc(LHSERVERDOC); 361 + OLESTATUS OleSavedServerDoc(LHSERVERDOC); 362 +}

Added src/win32/ole2.d version [d7dba25775579154]

1 +/***********************************************************************\ 2 +* ole2.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.ole2; 11 +pragma(lib, "ole32.lib"); 12 + 13 +public import win32.basetyps, win32.objbase, win32.oleauto, win32.olectlid, 14 + win32.oleidl, win32.unknwn, win32.winerror, win32.uuid; 15 +private import win32.objfwd, win32.objidl, win32.windef, win32.wtypes; 16 +private import win32.winuser; // for LPMSG 17 + 18 +const E_DRAW = VIEW_E_DRAW; 19 + 20 +const DATA_E_FORMATETC = DV_E_FORMATETC; 21 + 22 +enum { 23 + OLEIVERB_PRIMARY = 0, 24 + OLEIVERB_SHOW = -1, 25 + OLEIVERB_OPEN = -2, 26 + OLEIVERB_HIDE = -3, 27 + OLEIVERB_UIACTIVATE = -4, 28 + OLEIVERB_INPLACEACTIVATE = -5, 29 + OLEIVERB_DISCARDUNDOSTATE = -6 30 +} 31 + 32 +const EMBDHLP_INPROC_HANDLER = 0x0000L; 33 +const EMBDHLP_INPROC_SERVER = 0x0001L; 34 +const EMBDHLP_CREATENOW = 0x00000000L; 35 +const EMBDHLP_DELAYCREATE = 0x00010000L; 36 + 37 +align(8): 38 +struct OLESTREAM { 39 + LPOLESTREAMVTBL lpstbl; 40 +} 41 +alias OLESTREAM* LPOLESTREAM; 42 + 43 +extern (Windows) { 44 + struct OLESTREAMVTBL { 45 + DWORD function (LPOLESTREAM, void*, DWORD) Get; 46 + DWORD function (LPOLESTREAM, CPtr!(void), DWORD) Put; 47 + } 48 +} 49 +alias OLESTREAMVTBL* LPOLESTREAMVTBL; 50 + 51 +extern (Windows) { 52 + HRESULT CreateDataAdviseHolder(LPDATAADVISEHOLDER*); 53 + DWORD OleBuildVersion(); 54 + HRESULT ReadClassStg(LPSTORAGE, CLSID*); 55 + HRESULT WriteClassStg(LPSTORAGE, REFCLSID); 56 + HRESULT ReadClassStm(LPSTREAM, CLSID*); 57 + HRESULT WriteClassStm(LPSTREAM, REFCLSID); 58 + HRESULT WriteFmtUserTypeStg(LPSTORAGE, CLIPFORMAT, LPOLESTR); 59 + HRESULT ReadFmtUserTypeStg(LPSTORAGE, CLIPFORMAT*, LPOLESTR*); 60 + HRESULT OleInitialize(PVOID); 61 + void OleUninitialize(); 62 + HRESULT OleQueryLinkFromData(LPDATAOBJECT); 63 + HRESULT OleQueryCreateFromData(LPDATAOBJECT); 64 + HRESULT OleCreate(REFCLSID, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 65 + HRESULT OleCreateFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 66 + HRESULT OleCreateLinkFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 67 + HRESULT OleCreateStaticFromData(LPDATAOBJECT, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 68 + HRESULT OleCreateLink(LPMONIKER, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 69 + HRESULT OleCreateLinkToFile(LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 70 + HRESULT OleCreateFromFile(REFCLSID, LPCOLESTR, REFIID, DWORD, LPFORMATETC, LPOLECLIENTSITE, LPSTORAGE, PVOID*); 71 + HRESULT OleLoad(LPSTORAGE, REFIID, LPOLECLIENTSITE, PVOID*); 72 + HRESULT OleSave(LPPERSISTSTORAGE, LPSTORAGE, BOOL); 73 + HRESULT OleLoadFromStream(LPSTREAM, REFIID, PVOID*); 74 + HRESULT OleSaveToStream(LPPERSISTSTREAM, LPSTREAM); 75 + HRESULT OleSetContainedObject(LPUNKNOWN, BOOL); 76 + HRESULT OleNoteObjectVisible(LPUNKNOWN, BOOL); 77 + HRESULT RegisterDragDrop(HWND, LPDROPTARGET); 78 + HRESULT RevokeDragDrop(HWND); 79 + HRESULT DoDragDrop(LPDATAOBJECT, LPDROPSOURCE, DWORD, PDWORD); 80 + HRESULT OleSetClipboard(LPDATAOBJECT); 81 + HRESULT OleGetClipboard(LPDATAOBJECT*); 82 + HRESULT OleFlushClipboard(); 83 + HRESULT OleIsCurrentClipboard(LPDATAOBJECT); 84 + HOLEMENU OleCreateMenuDescriptor(HMENU, LPOLEMENUGROUPWIDTHS); 85 + HRESULT OleSetMenuDescriptor(HOLEMENU, HWND, HWND, LPOLEINPLACEFRAME, LPOLEINPLACEACTIVEOBJECT); 86 + HRESULT OleDestroyMenuDescriptor(HOLEMENU); 87 + HRESULT OleTranslateAccelerator(LPOLEINPLACEFRAME, LPOLEINPLACEFRAMEINFO, LPMSG); 88 + HANDLE OleDuplicateData(HANDLE, CLIPFORMAT, UINT); 89 + HRESULT OleDraw(LPUNKNOWN, DWORD, HDC, LPCRECT); 90 + HRESULT OleRun(LPUNKNOWN); 91 + BOOL OleIsRunning(LPOLEOBJECT); 92 + HRESULT OleLockRunning(LPUNKNOWN, BOOL, BOOL); 93 + void ReleaseStgMedium(LPSTGMEDIUM); 94 + HRESULT CreateOleAdviseHolder(LPOLEADVISEHOLDER*); 95 + HRESULT OleCreateDefaultHandler(REFCLSID, LPUNKNOWN, REFIID, PVOID*); 96 + HRESULT OleCreateEmbeddingHelper(REFCLSID, LPUNKNOWN, DWORD, LPCLASSFACTORY, REFIID, PVOID*); 97 + BOOL IsAccelerator(HACCEL, int, LPMSG, WORD*); 98 + HGLOBAL OleGetIconOfFile(LPOLESTR, BOOL); 99 + HGLOBAL OleGetIconOfClass(REFCLSID, LPOLESTR, BOOL); 100 + HGLOBAL OleMetafilePictFromIconAndLabel(HICON, LPOLESTR, LPOLESTR, UINT); 101 + HRESULT OleRegGetUserType(REFCLSID, DWORD, LPOLESTR*); 102 + HRESULT OleRegGetMiscStatus(REFCLSID, DWORD, DWORD*); 103 + HRESULT OleRegEnumFormatEtc (REFCLSID, DWORD, LPENUMFORMATETC*); 104 + HRESULT OleRegEnumVerbs (REFCLSID, LPENUMOLEVERB*); 105 + HRESULT OleConvertOLESTREAMToIStorage(LPOLESTREAM, LPSTORAGE, CPtr!(DVTARGETDEVICE)); 106 + HRESULT OleConvertIStorageToOLESTREAM(LPSTORAGE, LPOLESTREAM); 107 + HRESULT GetHGlobalFromILockBytes(LPLOCKBYTES, HGLOBAL*); 108 + HRESULT CreateILockBytesOnHGlobal(HGLOBAL, BOOL, LPLOCKBYTES*); 109 + HRESULT GetHGlobalFromStream(LPSTREAM, HGLOBAL*); 110 + HRESULT CreateStreamOnHGlobal(HGLOBAL, BOOL, LPSTREAM*); 111 + HRESULT OleDoAutoConvert(LPSTORAGE, LPCLSID); 112 + HRESULT OleGetAutoConvert(REFCLSID, LPCLSID); 113 + HRESULT OleSetAutoConvert(REFCLSID, REFCLSID); 114 + HRESULT GetConvertStg(LPSTORAGE); 115 + HRESULT SetConvertStg(LPSTORAGE, BOOL); 116 + HRESULT OleConvertIStorageToOLESTREAMEx(LPSTORAGE, CLIPFORMAT, LONG, LONG, DWORD, LPSTGMEDIUM, LPOLESTREAM); 117 + HRESULT OleConvertOLESTREAMToIStorageEx(LPOLESTREAM, LPSTORAGE, CLIPFORMAT*, LONG*, LONG*, DWORD*, LPSTGMEDIUM); 118 +}

Added src/win32/ole2ver.d version [6b6f7e7e710daccd]

1 +/***********************************************************************\ 2 +* ole2ver.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.ole2ver; 11 + 12 +// These are apparently not documented on the MSDN site 13 +const rmm = 23; 14 +const rup = 639;

Added src/win32/oleacc.d version [1a7488ae8c3326a5]

1 +/***********************************************************************\ 2 +* oleacc.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.oleacc; 11 +pragma(lib, "oleacc.lib"); 12 + 13 +private import win32.basetyps, win32.oaidl, win32.unknwn, win32.wtypes, 14 + win32.windef; 15 + 16 +enum { 17 + DISPID_ACC_PARENT = -5000, 18 + DISPID_ACC_CHILDCOUNT = -5001, 19 + DISPID_ACC_CHILD = -5002, 20 + DISPID_ACC_NAME = -5003, 21 + DISPID_ACC_VALUE = -5004, 22 + DISPID_ACC_DESCRIPTION = -5005, 23 + DISPID_ACC_ROLE = -5006, 24 + DISPID_ACC_STATE = -5007, 25 + DISPID_ACC_HELP = -5008, 26 + DISPID_ACC_HELPTOPIC = -5009, 27 + DISPID_ACC_KEYBOARDSHORTCUT = -5010, 28 + DISPID_ACC_FOCUS = -5011, 29 + DISPID_ACC_SELECTION = -5012, 30 + DISPID_ACC_DEFAULTACTION = -5013, 31 + DISPID_ACC_SELECT = -5014, 32 + DISPID_ACC_LOCATION = -5015, 33 + DISPID_ACC_NAVIGATE = -5016, 34 + DISPID_ACC_HITTEST = -5017, 35 + DISPID_ACC_DODEFAULTACTION = -5018 36 +} 37 + 38 +enum { 39 + NAVDIR_UP = 1, 40 + NAVDIR_DOWN, 41 + NAVDIR_LEFT, 42 + NAVDIR_RIGHT, 43 + NAVDIR_NEXT, 44 + NAVDIR_PREVIOUS, 45 + NAVDIR_FIRSTCHILD, 46 + NAVDIR_LASTCHILD // = 8 47 +} 48 + 49 +enum { 50 + ROLE_SYSTEM_TITLEBAR = 1, 51 + ROLE_SYSTEM_MENUBAR, 52 + ROLE_SYSTEM_SCROLLBAR, 53 + ROLE_SYSTEM_GRIP, 54 + ROLE_SYSTEM_SOUND, 55 + ROLE_SYSTEM_CURSOR, 56 + ROLE_SYSTEM_CARET, 57 + ROLE_SYSTEM_ALERT, 58 + ROLE_SYSTEM_WINDOW, 59 + ROLE_SYSTEM_CLIENT, 60 + ROLE_SYSTEM_MENUPOPUP, 61 + ROLE_SYSTEM_MENUITEM, 62 + ROLE_SYSTEM_TOOLTIP, 63 + ROLE_SYSTEM_APPLICATION, 64 + ROLE_SYSTEM_DOCUMENT, 65 + ROLE_SYSTEM_PANE, 66 + ROLE_SYSTEM_CHART, 67 + ROLE_SYSTEM_DIALOG, 68 + ROLE_SYSTEM_BORDER, 69 + ROLE_SYSTEM_GROUPING, 70 + ROLE_SYSTEM_SEPARATOR, 71 + ROLE_SYSTEM_TOOLBAR, 72 + ROLE_SYSTEM_STATUSBAR, 73 + ROLE_SYSTEM_TABLE, 74 + ROLE_SYSTEM_COLUMNHEADER, 75 + ROLE_SYSTEM_ROWHEADER, 76 + ROLE_SYSTEM_COLUMN, 77 + ROLE_SYSTEM_ROW, 78 + ROLE_SYSTEM_CELL, 79 + ROLE_SYSTEM_LINK, 80 + ROLE_SYSTEM_HELPBALLOON, 81 + ROLE_SYSTEM_CHARACTER, 82 + ROLE_SYSTEM_LIST, 83 + ROLE_SYSTEM_LISTITEM, 84 + ROLE_SYSTEM_OUTLINE, 85 + ROLE_SYSTEM_OUTLINEITEM, 86 + ROLE_SYSTEM_PAGETAB, 87 + ROLE_SYSTEM_PROPERTYPAGE, 88 + ROLE_SYSTEM_INDICATOR, 89 + ROLE_SYSTEM_GRAPHIC, 90 + ROLE_SYSTEM_STATICTEXT, 91 + ROLE_SYSTEM_TEXT, 92 + ROLE_SYSTEM_PUSHBUTTON, 93 + ROLE_SYSTEM_CHECKBUTTON, 94 + ROLE_SYSTEM_RADIOBUTTON, 95 + ROLE_SYSTEM_COMBOBOX, 96 + ROLE_SYSTEM_DROPLIST, 97 + ROLE_SYSTEM_PROGRESSBAR, 98 + ROLE_SYSTEM_DIAL, 99 + ROLE_SYSTEM_HOTKEYFIELD, 100 + ROLE_SYSTEM_SLIDER, 101 + ROLE_SYSTEM_SPINBUTTON, 102 + ROLE_SYSTEM_DIAGRAM, 103 + ROLE_SYSTEM_ANIMATION, 104 + ROLE_SYSTEM_EQUATION, 105 + ROLE_SYSTEM_BUTTONDROPDOWN, 106 + ROLE_SYSTEM_BUTTONMENU, 107 + ROLE_SYSTEM_BUTTONDROPDOWNGRID, 108 + ROLE_SYSTEM_WHITESPACE, 109 + ROLE_SYSTEM_PAGETABLIST, 110 + ROLE_SYSTEM_CLOCK // = 61 111 +} 112 + 113 +enum { 114 + STATE_SYSTEM_UNAVAILABLE = 0x00000001, 115 + STATE_SYSTEM_SELECTED = 0x00000002, 116 + STATE_SYSTEM_FOCUSED = 0x00000004, 117 + STATE_SYSTEM_PRESSED = 0x00000008, 118 + STATE_SYSTEM_CHECKED = 0x00000010, 119 + STATE_SYSTEM_MIXED = 0x00000020, 120 + STATE_SYSTEM_READONLY = 0x00000040, 121 + STATE_SYSTEM_HOTTRACKED = 0x00000080, 122 + STATE_SYSTEM_DEFAULT = 0x00000100, 123 + STATE_SYSTEM_EXPANDED = 0x00000200, 124 + STATE_SYSTEM_COLLAPSED = 0x00000400, 125 + STATE_SYSTEM_BUSY = 0x00000800, 126 + STATE_SYSTEM_FLOATING = 0x00001000, 127 + STATE_SYSTEM_MARQUEED = 0x00002000, 128 + STATE_SYSTEM_ANIMATED = 0x00004000, 129 + STATE_SYSTEM_INVISIBLE = 0x00008000, 130 + STATE_SYSTEM_OFFSCREEN = 0x00010000, 131 + STATE_SYSTEM_SIZEABLE = 0x00020000, 132 + STATE_SYSTEM_MOVEABLE = 0x00040000, 133 + STATE_SYSTEM_SELFVOICING = 0x00080000, 134 + STATE_SYSTEM_FOCUSABLE = 0x00100000, 135 + STATE_SYSTEM_SELECTABLE = 0x00200000, 136 + STATE_SYSTEM_LINKED = 0x00400000, 137 + STATE_SYSTEM_TRAVERSED = 0x00800000, 138 + STATE_SYSTEM_MULTISELECTABLE = 0x01000000, 139 + STATE_SYSTEM_EXTSELECTABLE = 0x02000000, 140 + STATE_SYSTEM_ALERT_LOW = 0x04000000, 141 + STATE_SYSTEM_ALERT_MEDIUM = 0x08000000, 142 + STATE_SYSTEM_ALERT_HIGH = 0x10000000, 143 + STATE_SYSTEM_VALID = 0x1fffffff 144 +} 145 + 146 +enum SELFLAG 147 +{ 148 + SELFLAG_NONE = 0, 149 + SELFLAG_TAKEFOCUS = 1, 150 + SELFLAG_TAKESELECTION = 2, 151 + SELFLAG_EXTENDSELECTION = 4, 152 + SELFLAG_ADDSELECTION = 8, 153 + SELFLAG_REMOVESELECTION = 16 154 +} 155 + 156 +const SELFLAG_VALID = 0x0000001F; 157 + 158 + 159 +interface IAccessible : IDispatch { 160 + HRESULT get_accParent(IDispatch**); 161 + HRESULT get_accChildCount(int*); 162 + HRESULT get_accChild(VARIANT, IDispatch **); 163 + HRESULT get_accName(VARIANT, BSTR*); 164 + HRESULT get_accValue(VARIANT, BSTR*); 165 + HRESULT get_accDescription(VARIANT, BSTR*); 166 + HRESULT get_accRole(VARIANT, VARIANT*); 167 + HRESULT get_accState(VARIANT, VARIANT*); 168 + HRESULT get_accHelp(VARIANT, BSTR*); 169 + HRESULT get_accHelpTopic(BSTR*, VARIANT, int*); 170 + HRESULT get_accKeyboardShortcut(VARIANT, BSTR*); 171 + HRESULT get_accFocus(VARIANT*); 172 + HRESULT get_accSelection(VARIANT*); 173 + HRESULT get_accDefaultAction(VARIANT, BSTR*); 174 + 175 + HRESULT accSelect(int, VARIANT); 176 + HRESULT accLocation(int*, int*, int*, int*, VARIANT); 177 + HRESULT accNavigate(int, VARIANT, VARIANT*); 178 + HRESULT accHitTest(int, int, VARIANT*); 179 + HRESULT accDoDefaultAction(VARIANT); 180 + 181 + HRESULT put_accName(VARIANT, BSTR); 182 + HRESULT put_accValue(VARIANT, BSTR); 183 +} 184 + 185 +alias IAccessible* LPACCESSIBLE; 186 + 187 +extern (Windows) { 188 + HRESULT AccessibleChildren(IAccessible*, LONG, LONG, VARIANT*, LONG*); 189 + HRESULT AccessibleObjectFromEvent(HWND, DWORD, DWORD, IAccessible*, VARIANT*); 190 + HRESULT AccessibleObjectFromPoint(POINT, IAccessible**, VARIANT*); 191 + HRESULT AccessibleObjectFromWindow(HWND, DWORD, REFIID, void**); 192 + HRESULT CreateStdAccessibleObject(HWND, LONG, REFIID, void**); 193 + HRESULT CreateStdAccessibleProxyA(HWND, LPCSTR, LONG, REFIID, void**); 194 + HRESULT CreateStdAccessibleProxyW(HWND, LPCWSTR, LONG, REFIID, void**); 195 + 196 + void GetOleaccVersionInfo(DWORD*, DWORD*); 197 + UINT GetRoleTextA(DWORD, LPSTR, UINT); 198 + UINT GetRoleTextW(DWORD, LPWSTR, UINT); 199 + UINT GetStateTextA(DWORD, LPSTR, UINT); 200 + UINT GetStateTextW(DWORD, LPWSTR, UINT); 201 + LRESULT LresultFromObject(REFIID, WPARAM, LPUNKNOWN); 202 + HRESULT ObjectFromLresult(LRESULT, REFIID, WPARAM, void**); 203 + HRESULT WindowFromAccessibleObject(IAccessible*, HWND*); 204 +} 205 + 206 +version(Unicode) { 207 + alias CreateStdAccessibleProxyW CreateStdAccessibleProxy; 208 + alias GetRoleTextW GetRoleText; 209 + alias GetStateTextW GetStateText; 210 +} else { 211 + alias CreateStdAccessibleProxyA CreateStdAccessibleProxy; 212 + alias GetRoleTextA GetRoleText; 213 + alias GetStateTextA GetStateText; 214 +}

Added src/win32/oleauto.d version [6e0e0dc09137eaf3]

1 +/***********************************************************************\ 2 +* oleauto.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.oleauto; 11 +pragma(lib, "oleaut32.lib"); 12 + 13 +import win32.oaidl; 14 +private import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes; 15 +private import win32.winbase; // for SYSTEMTIME 16 + 17 +align(8): 18 +const STDOLE_MAJORVERNUM = 1; 19 +const STDOLE_MINORVERNUM = 0; 20 +const STDOLE_LCID = 0; 21 + 22 +const VARIANT_NOVALUEPROP = 0x01; 23 +const VARIANT_ALPHABOOL = 0x02; 24 +const VARIANT_NOUSEOVERRIDE = 0x04; 25 +const VARIANT_LOCALBOOL = 0x08; 26 + 27 +const VAR_TIMEVALUEONLY = 0x0001; 28 +const VAR_DATEVALUEONLY = 0x0002; 29 +const VAR_VALIDDATE = 0x0004; 30 +const VAR_CALENDAR_HIJRI = 0x0008; 31 +const VAR_LOCALBOOL = 0x0010; 32 +const VAR_FORMAT_NOSUBSTITUTE = 0x0020; 33 +const VAR_FOURDIGITYEARS = 0x0040; 34 +const VAR_CALENDAR_THAI = 0x0080; 35 +const VAR_CALENDAR_GREGORIAN = 0x0100; 36 + 37 +const MEMBERID_NIL = DISPID_UNKNOWN; 38 +const ID_DEFAULTINST = -2; 39 +const DISPATCH_METHOD = 1; 40 +const DISPATCH_PROPERTYGET = 2; 41 +const DISPATCH_PROPERTYPUT = 4; 42 +const DISPATCH_PROPERTYPUTREF = 8; 43 + 44 +//ULONG LHashValOfName(LCID l, OLECHAR* n) { return LHashValOfNameSys(SYSKIND.SYS_WIN32, l, n); } 45 + 46 +// DAC: These aren't in the 2003 SDK. 47 +//MACRO #define WHashValOfLHashVal(h) ((unsigned short)(0x0000ffff&(h))) 48 +//MACRO #define IsHashValCompatible(h1, h2) ((BOOL)((0x00ff0000&(h1))==(0x00ff0000&(h2)))) 49 + 50 +enum { 51 + ACTIVEOBJECT_STRONG = 0, 52 + ACTIVEOBJECT_WEAK = 1 53 +} 54 + 55 +// DAC: These seem to be irrelevant for D. 56 +//#define V_UNION(X, Y) ((X)->Y) 57 +//#define V_VT(X) ((X)->vt) 58 +//#define V_BOOL(X) V_UNION(X, boolVal) 59 +//#define V_ISBYREF(X) (V_VT(X)&VT_BYREF) 60 +//#define V_ISARRAY(X) (V_VT(X)&VT_ARRAY) 61 +//#define V_ISVECTOR(X) (V_VT(X)&VT_VECTOR) 62 +//#define V_NONE(X) V_I2(X) 63 +//#define V_UI1(X) V_UNION(X, bVal) 64 +//#define V_UI1REF(X) V_UNION(X, pbVal) 65 +//#define V_I2(X) V_UNION(X, iVal) 66 +//#define V_UI2(X) V_UNION(X, uiVal) 67 +//#define V_I2REF(X) V_UNION(X, piVal) 68 +//#define V_I4(X) V_UNION(X, lVal) 69 +//#define V_UI4(X) V_UNION(X, ulVal) 70 +//#define V_I4REF(X) V_UNION(X, plVal) 71 +//#define V_UI4REF(X) V_UNION(X, pulVal) 72 +//#define V_I8(X) V_UNION(X, llVal) 73 +//#define V_UI8(X) V_UNION(X, ullVal) 74 +//#define V_I8REF(X) V_UNION(X, pllVal) 75 +//#define V_UI8REF(X) V_UNION(X, pullVal) 76 +//#define V_R4(X) V_UNION(X, fltVal) 77 +//#define V_R4REF(X) V_UNION(X, pfltVal) 78 +//#define V_R8(X) V_UNION(X, dblVal) 79 +//#define V_R8REF(X) V_UNION(X, pdblVal) 80 +//#define V_CY(X) V_UNION(X, cyVal) 81 +//#define V_CYREF(X) V_UNION(X, pcyVal) 82 +//#define V_DATE(X) V_UNION(X, date) 83 +//#define V_DATEREF(X) V_UNION(X, pdate) 84 +//#define V_BSTR(X) V_UNION(X, bstrVal) 85 +//#define V_BSTRREF(X) V_UNION(X, pbstrVal) 86 +//#define V_DISPATCH(X) V_UNION(X, pdispVal) 87 +//#define V_DISPATCHREF(X) V_UNION(X, ppdispVal) 88 +//#define V_ERROR(X) V_UNION(X, scode) 89 +//#define V_ERRORREF(X) V_UNION(X, pscode) 90 +//#define V_BOOLREF(X) V_UNION(X, pboolVal) 91 +//#define V_UNKNOWN(X) V_UNION(X, punkVal) 92 +//#define V_UNKNOWNREF(X) V_UNION(X, ppunkVal) 93 +//#define V_VARIANTREF(X) V_UNION(X, pvarVal) 94 +//#define V_LPSTR(X) V_UNION(X, pszVal) 95 +//#define V_LPSTRREF(X) V_UNION(X, ppszVal) 96 +//#define V_LPWSTR(X) V_UNION(X, pwszVal) 97 +//#define V_LPWSTRREF(X) V_UNION(X, ppwszVal) 98 +//#define V_FILETIME(X) V_UNION(X, filetime) 99 +//#define V_FILETIMEREF(X) V_UNION(X, pfiletime) 100 +//#define V_BLOB(X) V_UNION(X, blob) 101 +//#define V_UUID(X) V_UNION(X, puuid) 102 +//#define V_CLSID(X) V_UNION(X, puuid) 103 +//#define V_ARRAY(X) V_UNION(X, parray) 104 +//#define V_ARRAYREF(X) V_UNION(X, pparray) 105 +//#define V_BYREF(X) V_UNION(X, byref) 106 +//#define V_DECIMAL(X) ((X)->decVal) 107 +//#define V_DECIMALREF(X) V_UNION(X, pdecVal) 108 +//#define V_I1(X) V_UNION(X, cVal) 109 + 110 +//#ifdef _WIN64 111 +//#define V_INT_PTR(X) V_I8(X) 112 +//#define V_UINT_PTR(X) V_UI8(X) 113 +//#define V_INT_PTRREF(X) V_I8REF(X) 114 +//#define V_UINT_PTRREF(X) V_UI8REF(X) 115 +//#else 116 +//#define V_INT_PTR(X) V_I4(X) 117 +//#define V_UINT_PTR(X) V_UI4(X) 118 +//#define V_INT_PTRREF(X) V_I4REF(X) 119 +//#define V_UINT_PTRREF(X) V_UI4REF(X) 120 +//#endif 121 + 122 +enum { 123 + VARCMP_LT = 0, 124 + VARCMP_EQ, 125 + VARCMP_GT, 126 + VARCMP_NULL // = 3 127 +} 128 + 129 +const LOCALE_USE_NLS = 0x10000000; 130 + 131 +const VARIANT_NOUSEROVERRIDE = 0x04; 132 +const VARIANT_CALENDAR_HIJRI = 0x08; 133 +const VARIANT_CALENDAR_THAI = 0x20; 134 +const VARIANT_CALENDAR_GREGORIAN = 0x40; 135 +const VARIANT_USE_NLS = 0x80; 136 + 137 +const NUMPRS_LEADING_WHITE = 0x00001; 138 +const NUMPRS_TRAILING_WHITE = 0x00002; 139 +const NUMPRS_LEADING_PLUS = 0x00004; 140 +const NUMPRS_TRAILING_PLUS = 0x00008; 141 +const NUMPRS_LEADING_MINUS = 0x00010; 142 +const NUMPRS_TRAILING_MINUS = 0x00020; 143 +const NUMPRS_HEX_OCT = 0x00040; 144 +const NUMPRS_PARENS = 0x00080; 145 +const NUMPRS_DECIMAL = 0x00100; 146 +const NUMPRS_THOUSANDS = 0x00200; 147 +const NUMPRS_CURRENCY = 0x00400; 148 +const NUMPRS_EXPONENT = 0x00800; 149 +const NUMPRS_USE_ALL = 0x01000; 150 +const NUMPRS_STD = 0x01FFF; 151 +const NUMPRS_NEG = 0x10000; 152 +const NUMPRS_INEXACT = 0x20000; 153 + 154 +const VTBIT_I1 = 1 << VARENUM.VT_I1; 155 +const VTBIT_UI1 = 1 << VARENUM.VT_UI1; 156 +const VTBIT_I2 = 1 << VARENUM.VT_I2; 157 +const VTBIT_UI2 = 1 << VARENUM.VT_UI2; 158 +const VTBIT_I4 = 1 << VARENUM.VT_I4; 159 +const VTBIT_UI4 = 1 << VARENUM.VT_UI4; 160 +const VTBIT_I8 = 1 << VARENUM.VT_I8; 161 +const VTBIT_UI8 = 1 << VARENUM.VT_UI8; 162 +const VTBIT_R4 = 1 << VARENUM.VT_R4; 163 +const VTBIT_R8 = 1 << VARENUM.VT_R8; 164 +const VTBIT_CY = 1 << VARENUM.VT_CY; 165 +const VTBIT_DECIMAL = 1 << VARENUM.VT_DECIMAL; 166 + 167 + 168 +enum REGKIND{ 169 + REGKIND_DEFAULT, 170 + REGKIND_REGISTER, 171 + REGKIND_NONE 172 +} 173 + 174 +struct PARAMDATA{ 175 + OLECHAR* szName; 176 + VARTYPE vt; 177 +} 178 +alias PARAMDATA* LPPARAMDATA; 179 + 180 +struct METHODDATA{ 181 + OLECHAR* szName; 182 + PARAMDATA* ppdata; 183 + DISPID dispid; 184 + UINT iMeth; 185 + CALLCONV cc; 186 + UINT cArgs; 187 + WORD wFlags; 188 + VARTYPE vtReturn; 189 +} 190 +alias METHODDATA* LPMETHODDATA; 191 + 192 +struct INTERFACEDATA{ 193 + METHODDATA* pmethdata; 194 + UINT cMembers; 195 +} 196 +alias INTERFACEDATA* LPINTERFACEDATA; 197 + 198 +struct UDATE { 199 + SYSTEMTIME st; 200 + USHORT wDayOfYear; 201 +} 202 + 203 +struct NUMPARSE { 204 + int cDig; 205 + uint dwInFlags; 206 + uint dwOutFlags; 207 + int cchUsed; 208 + int nBaseShift; 209 + int nPwr10; 210 +} 211 + 212 + 213 +// DAC: In MinGW, these were declared but not defined in oaidl. 214 +// The SDK docs suggest they belong in this file instead. 215 + 216 +deprecated { // not actually deprecated, but they aren't converted yet. 217 + // (will need to reinstate CreateTypeLib as well) 218 + interface ICreateTypeInfo {}; 219 + interface ICreateTypeInfo2 {}; 220 + interface ICreateTypeLib {}; 221 + interface ICreateTypeLib2 {}; 222 + 223 + alias ICreateTypeInfo* LPCREATETYPEINFO; 224 + alias ICreateTypeInfo2* LPCREATETYPEINFO2; 225 + alias ICreateTypeLib* LPCREATETYPELIB; 226 + alias ICreateTypeLib2* LPCREATETYPELIB2; 227 +} 228 + 229 +extern (Windows) { 230 + BSTR SysAllocString(CPtr!(OLECHAR)); 231 + int SysReAllocString(BSTR*, CPtr!(OLECHAR)); 232 + BSTR SysAllocStringLen(CPtr!(OLECHAR), uint); 233 + int SysReAllocStringLen(BSTR*, CPtr!(OLECHAR), uint); 234 + void SysFreeString(BSTR); 235 + uint SysStringLen(BSTR); 236 + uint SysStringByteLen(BSTR); 237 + BSTR SysAllocStringByteLen(CPtr!(char), uint); 238 + int DosDateTimeToVariantTime(ushort, ushort, double*); 239 + int VariantTimeToDosDateTime(double, ushort*, ushort*); 240 + int VariantTimeToSystemTime(double, LPSYSTEMTIME); 241 + int SystemTimeToVariantTime(LPSYSTEMTIME, double*); 242 + HRESULT VarDateFromUdate(UDATE*, ULONG, DATE*); 243 + HRESULT VarDateFromUdateEx(UDATE*, LCID, ULONG, DATE*); 244 + HRESULT VarUdateFromDate(DATE, ULONG, UDATE*); 245 + HRESULT SafeArrayAllocDescriptor(uint, SAFEARRAY**); 246 + HRESULT SafeArrayAllocData(SAFEARRAY*); 247 + SAFEARRAY* SafeArrayCreate(VARTYPE, uint, SAFEARRAYBOUND*); 248 + HRESULT SafeArrayDestroyDescriptor(SAFEARRAY*); 249 + HRESULT SafeArrayDestroyData(SAFEARRAY*); 250 + HRESULT SafeArrayDestroy(SAFEARRAY*); 251 + HRESULT SafeArrayRedim(SAFEARRAY*, SAFEARRAYBOUND*); 252 + uint SafeArrayGetDim(SAFEARRAY*); 253 + uint SafeArrayGetElemsize(SAFEARRAY*); 254 + HRESULT SafeArrayGetUBound(SAFEARRAY*, uint, int*); 255 + HRESULT SafeArrayGetLBound(SAFEARRAY*, uint, int*); 256 + HRESULT SafeArrayLock(SAFEARRAY*); 257 + HRESULT SafeArrayUnlock(SAFEARRAY*); 258 + HRESULT SafeArrayAccessData(SAFEARRAY*, void**); 259 + HRESULT SafeArrayUnaccessData(SAFEARRAY*); 260 + HRESULT SafeArrayGetElement(SAFEARRAY*, int*, void*); 261 + HRESULT SafeArrayPutElement(SAFEARRAY*, int*, void*); 262 + HRESULT SafeArrayCopy(SAFEARRAY*, SAFEARRAY**); 263 + HRESULT SafeArrayPtrOfIndex(SAFEARRAY*, int*, void**); 264 + SAFEARRAY* SafeArrayCreateVector(VARTYPE, LONG, ULONG); 265 + SAFEARRAY* SafeArrayCreateVectorEx(VARTYPE, LONG, ULONG, LPVOID); 266 + HRESULT SafeArrayAllocDescriptorEx(VARTYPE, UINT, SAFEARRAY**); 267 + HRESULT SafeArrayGetVartype(SAFEARRAY*, VARTYPE*); 268 + HRESULT SafeArraySetRecordInfo(SAFEARRAY*, IRecordInfo*); 269 + HRESULT SafeArrayGetRecordInfo(SAFEARRAY*, IRecordInfo**); 270 + HRESULT SafeArraySetIID(SAFEARRAY*, REFGUID); 271 + HRESULT SafeArrayGetIID(SAFEARRAY*, GUID*); 272 + void VariantInit(VARIANTARG*); 273 + HRESULT VariantClear(VARIANTARG*); 274 + HRESULT VariantCopy(VARIANTARG*, VARIANTARG*); 275 + HRESULT VariantCopyInd(VARIANT*, VARIANTARG*); 276 + HRESULT VariantChangeType(VARIANTARG*, VARIANTARG*, ushort, VARTYPE); 277 + HRESULT VariantChangeTypeEx(VARIANTARG*, VARIANTARG*, LCID, ushort, VARTYPE); 278 + HRESULT VarUI1FromI2(short, ubyte*); 279 + HRESULT VarUI1FromI4(int, ubyte*); 280 + HRESULT VarUI1FromR4(float, ubyte*); 281 + HRESULT VarUI1FromR8(double, ubyte*); 282 + HRESULT VarUI1FromCy(CY, ubyte*); 283 + HRESULT VarUI1FromDate(DATE, ubyte*); 284 + HRESULT VarUI1FromStr(OLECHAR*, LCID, uint, ubyte*); 285 + HRESULT VarUI1FromDisp(LPDISPATCH, LCID, ubyte*); 286 + HRESULT VarUI1FromBool(VARIANT_BOOL, ubyte*); 287 + HRESULT VarI2FromUI1(ubyte, short*); 288 + HRESULT VarI2FromI4(int, short*); 289 + HRESULT VarI2FromR4(float, short*); 290 + HRESULT VarI2FromR8(double, short*); 291 + HRESULT VarI2FromCy(CY cyIn, short*); 292 + HRESULT VarI2FromDate(DATE, short*); 293 + HRESULT VarI2FromStr(OLECHAR*, LCID, uint, short*); 294 + HRESULT VarI2FromDisp(LPDISPATCH, LCID, short*); 295 + HRESULT VarI2FromBool(VARIANT_BOOL, short*); 296 + HRESULT VarI4FromUI1(ubyte, int*); 297 + HRESULT VarI4FromI2(short, int*); 298 + HRESULT VarI4FromR4(float, int*); 299 + HRESULT VarI4FromR8(double, int*); 300 + HRESULT VarI4FromCy(CY, int*); 301 + HRESULT VarI4FromDate(DATE, int*); 302 + HRESULT VarI4FromStr(OLECHAR*, LCID, uint, int*); 303 + HRESULT VarI4FromDisp(LPDISPATCH, LCID, int*); 304 + HRESULT VarI4FromBool(VARIANT_BOOL, int*); 305 + HRESULT VarR4FromUI1(ubyte, float*); 306 + HRESULT VarR4FromI2(short, float*); 307 + HRESULT VarR4FromI4(int, float*); 308 + HRESULT VarR4FromR8(double, float*); 309 + HRESULT VarR4FromCy(CY, float*); 310 + HRESULT VarR4FromDate(DATE, float*); 311 + HRESULT VarR4FromStr(OLECHAR*, LCID, uint, float*); 312 + HRESULT VarR4FromDisp(LPDISPATCH, LCID, float*); 313 + HRESULT VarR4FromBool(VARIANT_BOOL, float*); 314 + HRESULT VarR8FromUI1(ubyte, double*); 315 + HRESULT VarR8FromI2(short, double*); 316 + HRESULT VarR8FromI4(int, double*); 317 + HRESULT VarR8FromR4(float, double*); 318 + HRESULT VarR8FromCy(CY, double*); 319 + HRESULT VarR8FromDate(DATE, double*); 320 + HRESULT VarR8FromStr(OLECHAR*, LCID, uint, double*); 321 + HRESULT VarR8FromDisp(LPDISPATCH, LCID, double*); 322 + HRESULT VarR8FromBool(VARIANT_BOOL, double*); 323 + HRESULT VarR8FromDec(DECIMAL*, double*); 324 + HRESULT VarDateFromUI1(ubyte, DATE*); 325 + HRESULT VarDateFromI2(short, DATE*); 326 + HRESULT VarDateFromI4(int, DATE*); 327 + HRESULT VarDateFromR4(float, DATE*); 328 + HRESULT VarDateFromR8(double, DATE*); 329 + HRESULT VarDateFromCy(CY, DATE*); 330 + HRESULT VarDateFromStr(OLECHAR*, LCID, uint, DATE*); 331 + HRESULT VarDateFromDisp(LPDISPATCH, LCID, DATE*); 332 + HRESULT VarDateFromBool(VARIANT_BOOL, DATE*); 333 + HRESULT VarCyFromUI1(ubyte, CY*); 334 + HRESULT VarCyFromI2(short, CY*); 335 + HRESULT VarCyFromI4(int, CY*); 336 + HRESULT VarCyFromR4(float, CY*); 337 + HRESULT VarCyFromR8(double, CY*); 338 + HRESULT VarCyFromDate(DATE, CY*); 339 + HRESULT VarCyFromStr(OLECHAR*, LCID, uint, CY*); 340 + HRESULT VarCyFromDisp(LPDISPATCH, LCID, CY*); 341 + HRESULT VarCyFromBool(VARIANT_BOOL, CY*); 342 + HRESULT VarBstrFromUI1(ubyte, LCID, uint, BSTR*); 343 + HRESULT VarBstrFromI2(short, LCID, uint, BSTR*); 344 + HRESULT VarBstrFromI4(int, LCID, uint, BSTR*); 345 + HRESULT VarBstrFromR4(float, LCID, uint, BSTR*); 346 + HRESULT VarBstrFromR8(double, LCID, uint, BSTR*); 347 + HRESULT VarBstrFromCy(CY, LCID, uint, BSTR*); 348 + HRESULT VarBstrFromDate(DATE, LCID, uint, BSTR*); 349 + HRESULT VarBstrFromDisp(LPDISPATCH, LCID, uint, BSTR*); 350 + HRESULT VarBstrFromBool(VARIANT_BOOL, LCID, uint, BSTR*); 351 + HRESULT VarBoolFromUI1(ubyte, VARIANT_BOOL*); 352 + HRESULT VarBoolFromI2(short, VARIANT_BOOL*); 353 + HRESULT VarBoolFromI4(int, VARIANT_BOOL*); 354 + HRESULT VarBoolFromR4(float, VARIANT_BOOL*); 355 + HRESULT VarBoolFromR8(double, VARIANT_BOOL*); 356 + HRESULT VarBoolFromDate(DATE, VARIANT_BOOL*); 357 + HRESULT VarBoolFromCy(CY, VARIANT_BOOL*); 358 + HRESULT VarBoolFromStr(OLECHAR*, LCID, uint, VARIANT_BOOL*); 359 + HRESULT VarBoolFromDisp(LPDISPATCH, LCID, VARIANT_BOOL*); 360 + HRESULT VarDecFromR8(double, DECIMAL*); 361 + ULONG LHashValOfNameSysA(SYSKIND, LCID, CPtr!(char)); 362 + ULONG LHashValOfNameSys(SYSKIND, LCID, CPtr!(OLECHAR)); 363 + HRESULT LoadTypeLib(CPtr!(OLECHAR), LPTYPELIB*); 364 + HRESULT LoadTypeLibEx(LPCOLESTR, REGKIND, LPTYPELIB*); 365 + HRESULT LoadRegTypeLib(REFGUID, WORD, WORD, LCID, LPTYPELIB*); 366 + HRESULT QueryPathOfRegTypeLib(REFGUID, ushort, ushort, LCID, LPBSTR); 367 + HRESULT RegisterTypeLib(LPTYPELIB, OLECHAR*, OLECHAR*); 368 + HRESULT UnRegisterTypeLib(REFGUID, WORD, WORD, LCID, SYSKIND); 369 + // not actually deprecated, but depends on unconverted ICreateTypeLib 370 + deprecated HRESULT CreateTypeLib(SYSKIND, CPtr!(OLECHAR), LPCREATETYPELIB*); 371 + HRESULT DispGetParam(DISPPARAMS*, UINT, VARTYPE, VARIANT*, UINT*); 372 + HRESULT DispGetIDsOfNames(LPTYPEINFO, OLECHAR**, UINT, DISPID*); 373 + HRESULT DispInvoke(void*, LPTYPEINFO, DISPID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*); 374 + HRESULT CreateDispTypeInfo(INTERFACEDATA*, LCID, LPTYPEINFO*); 375 + HRESULT CreateStdDispatch(IUnknown*, void*, LPTYPEINFO, IUnknown**); 376 + HRESULT RegisterActiveObject(IUnknown*, REFCLSID, DWORD, DWORD*); 377 + HRESULT RevokeActiveObject(DWORD, void*); 378 + HRESULT GetActiveObject(REFCLSID, void*, IUnknown**); 379 + HRESULT SetErrorInfo(uint, LPERRORINFO); 380 + HRESULT GetErrorInfo(uint, LPERRORINFO*); 381 + HRESULT CreateErrorInfo(LPCREATEERRORINFO*); 382 + uint OaBuildVersion(); 383 + HRESULT VectorFromBstr (BSTR, SAFEARRAY**); 384 + HRESULT BstrFromVector (SAFEARRAY*, BSTR*); 385 + HRESULT VarParseNumFromStr(OLECHAR*, LCID, ULONG, NUMPARSE*, BYTE*); 386 + HRESULT VarNumFromParseNum(NUMPARSE*, BYTE*, ULONG, VARIANT*); 387 + 388 + HRESULT VarAdd(LPVARIANT, LPVARIANT, LPVARIANT); 389 + HRESULT VarSub(LPVARIANT, LPVARIANT, LPVARIANT); 390 + HRESULT VarMul(LPVARIANT, LPVARIANT, LPVARIANT); 391 + HRESULT VarDiv(LPVARIANT, LPVARIANT, LPVARIANT); 392 + 393 + HRESULT VarUI1FromI2(SHORT, BYTE*); 394 + HRESULT VarUI1FromI4(LONG, BYTE*); 395 + HRESULT VarUI1FromI8(LONG64, BYTE*); 396 + HRESULT VarUI1FromR4(FLOAT, BYTE*); 397 + HRESULT VarUI1FromR8(DOUBLE, BYTE*); 398 + HRESULT VarUI1FromDate(DATE, BYTE*); 399 + HRESULT VarUI1FromBool(VARIANT_BOOL, BYTE*); 400 + HRESULT VarUI1FromI1(byte, BYTE*); 401 + HRESULT VarUI1FromUI2(USHORT, BYTE*); 402 + HRESULT VarUI1FromUI4(ULONG, BYTE*); 403 + HRESULT VarUI1FromUI8(ULONG64, BYTE*); 404 + HRESULT VarUI1FromStr(OLECHAR*, LCID, ULONG, BYTE*); 405 + HRESULT VarUI1FromCy(CY, BYTE*); 406 + HRESULT VarUI1FromDec(DECIMAL*, BYTE*); 407 + HRESULT VarUI1FromDisp(IDispatch*, LCID, BYTE*); 408 + 409 + HRESULT VarI2FromUI1(BYTE, SHORT*); 410 + HRESULT VarI2FromI4(LONG, SHORT*); 411 + HRESULT VarI2FromI8(LONG64, SHORT*); 412 + HRESULT VarI2FromR4(FLOAT, SHORT*); 413 + HRESULT VarI2FromR8(DOUBLE, SHORT*); 414 + HRESULT VarI2FromDate(DATE, SHORT*); 415 + HRESULT VarI2FromBool(VARIANT_BOOL, SHORT*); 416 + HRESULT VarI2FromI1(byte, SHORT*); 417 + HRESULT VarI2FromUI2(USHORT, SHORT*); 418 + HRESULT VarI2FromUI4(ULONG, SHORT*); 419 + HRESULT VarI2FromUI8(ULONG64, SHORT*); 420 + HRESULT VarI2FromStr(OLECHAR*, LCID, ULONG, SHORT*); 421 + HRESULT VarI2FromCy(CY, SHORT*); 422 + HRESULT VarI2FromDec(DECIMAL*, SHORT*); 423 + HRESULT VarI2FromDisp(IDispatch*, LCID, SHORT*); 424 + 425 + HRESULT VarI4FromUI1(BYTE, LONG*); 426 + HRESULT VarI4FromI2(SHORT, LONG*); 427 + HRESULT VarI4FromI8(LONG64, LONG*); 428 + HRESULT VarI4FromR4(FLOAT, LONG*); 429 + HRESULT VarI4FromR8(DOUBLE, LONG*); 430 + HRESULT VarI4FromDate(DATE, LONG*); 431 + HRESULT VarI4FromBool(VARIANT_BOOL, LONG*); 432 + HRESULT VarI4FromI1(byte, LONG*); 433 + HRESULT VarI4FromUI2(USHORT, LONG*); 434 + HRESULT VarI4FromUI4(ULONG, LONG*); 435 + HRESULT VarI4FromUI8(ULONG64, LONG*); 436 + HRESULT VarI4FromStr(OLECHAR*, LCID, ULONG, LONG*); 437 + HRESULT VarI4FromCy(CY, LONG*); 438 + HRESULT VarI4FromDec(DECIMAL*, LONG*); 439 + HRESULT VarI4FromDisp(IDispatch*, LCID, LONG*); 440 + 441 + HRESULT VarI8FromUI1(BYTE, LONG64*); 442 + HRESULT VarI8FromI2(SHORT, LONG64*); 443 + HRESULT VarI8FromI4(LONG, LONG64*); 444 + HRESULT VarI8FromR4(FLOAT, LONG64*); 445 + HRESULT VarI8FromR8(DOUBLE, LONG64*); 446 + HRESULT VarI8FromDate(DATE, LONG64*); 447 + HRESULT VarI8FromStr(OLECHAR*, LCID, ULONG, LONG64*); 448 + HRESULT VarI8FromBool(VARIANT_BOOL, LONG64*); 449 + HRESULT VarI8FromI1(byte, LONG64*); 450 + HRESULT VarI8FromUI2(USHORT, LONG64*); 451 + HRESULT VarI8FromUI4(ULONG, LONG64*); 452 + HRESULT VarI8FromUI8(ULONG64, LONG64*); 453 + HRESULT VarI8FromDec(DECIMAL* pdecIn, LONG64*); 454 + HRESULT VarI8FromInt(INT intIn, LONG64*); 455 + HRESULT VarI8FromCy(CY, LONG64*); 456 + HRESULT VarI8FromDisp(IDispatch*, LCID, LONG64*); 457 + 458 + HRESULT VarR4FromUI1(BYTE, FLOAT*); 459 + HRESULT VarR4FromI2(SHORT, FLOAT*); 460 + HRESULT VarR4FromI4(LONG, FLOAT*); 461 + HRESULT VarR4FromI8(LONG64, FLOAT*); 462 + HRESULT VarR4FromR8(DOUBLE, FLOAT*); 463 + HRESULT VarR4FromDate(DATE, FLOAT*); 464 + HRESULT VarR4FromBool(VARIANT_BOOL, FLOAT*); 465 + HRESULT VarR4FromI1(byte, FLOAT*); 466 + HRESULT VarR4FromUI2(USHORT, FLOAT*); 467 + HRESULT VarR4FromUI4(ULONG, FLOAT*); 468 + HRESULT VarR4FromUI8(ULONG64, FLOAT*); 469 + HRESULT VarR4FromStr(OLECHAR*, LCID, ULONG, FLOAT*); 470 + HRESULT VarR4FromCy(CY, FLOAT*); 471 + HRESULT VarR4FromDec(DECIMAL*, FLOAT*); 472 + HRESULT VarR4FromDisp(IDispatch*, LCID, FLOAT*); 473 + 474 + HRESULT VarR8FromUI1(BYTE, double*); 475 + HRESULT VarR8FromI2(SHORT, double*); 476 + HRESULT VarR8FromI4(LONG, double*); 477 + HRESULT VarR8FromI8(LONG64, double*); 478 + HRESULT VarR8FromR4(FLOAT, double*); 479 + HRESULT VarR8FromDate(DATE, double*); 480 + HRESULT VarR8FromBool(VARIANT_BOOL, double*); 481 + HRESULT VarR8FromI1(byte, double*); 482 + HRESULT VarR8FromUI2(USHORT, double*); 483 + HRESULT VarR8FromUI4(ULONG, double*); 484 + HRESULT VarR8FromUI8(ULONG64, double*); 485 + HRESULT VarR8FromStr(OLECHAR*, LCID, ULONG, double*); 486 + HRESULT VarR8FromCy(CY, double*); 487 + HRESULT VarR8FromDec(DECIMAL*, double*); 488 + HRESULT VarR8FromDisp(IDispatch*, LCID, double*); 489 + 490 + HRESULT VarDateFromUI1(BYTE, DATE*); 491 + HRESULT VarDateFromI2(SHORT, DATE*); 492 + HRESULT VarDateFromI4(LONG, DATE*); 493 + HRESULT VarDateFromI8(LONG64, DATE*); 494 + HRESULT VarDateFromR4(FLOAT, DATE*); 495 + HRESULT VarDateFromR8(DOUBLE, DATE*); 496 + HRESULT VarDateFromStr(OLECHAR*, LCID, ULONG, DATE*); 497 + HRESULT VarDateFromI1(byte, DATE*); 498 + HRESULT VarDateFromUI2(USHORT, DATE*); 499 + HRESULT VarDateFromUI4(ULONG, DATE*); 500 + HRESULT VarDateFromUI8(ULONG64, DATE*); 501 + HRESULT VarDateFromBool(VARIANT_BOOL, DATE*); 502 + HRESULT VarDateFromCy(CY, DATE*); 503 + HRESULT VarDateFromDec(DECIMAL*, DATE*); 504 + HRESULT VarDateFromDisp(IDispatch*, LCID, DATE*); 505 + 506 + HRESULT VarCyFromUI1(BYTE, CY*); 507 + HRESULT VarCyFromI2(SHORT sIn, CY*); 508 + HRESULT VarCyFromI4(LONG, CY*); 509 + HRESULT VarCyFromI8(LONG64, CY*); 510 + HRESULT VarCyFromR4(FLOAT, CY*); 511 + HRESULT VarCyFromR8(DOUBLE, CY*); 512 + HRESULT VarCyFromDate(DATE, CY*); 513 + HRESULT VarCyFromStr(OLECHAR*, LCID, ULONG, CY*); 514 + HRESULT VarCyFromBool(VARIANT_BOOL, CY*); 515 + HRESULT VarCyFromI1(byte, CY*); 516 + HRESULT VarCyFromUI2(USHORT, CY*); 517 + HRESULT VarCyFromUI4(ULONG, CY*); 518 + HRESULT VarCyFromUI8(ULONG64, CY*); 519 + HRESULT VarCyFromDec(DECIMAL*, CY*); 520 + HRESULT VarCyFromStr(OLECHAR*, LCID, ULONG, CY*); 521 + HRESULT VarCyFromDisp(IDispatch*, LCID, CY*); 522 + 523 + HRESULT VarBstrFromUI1(BYTE, LCID, ULONG, BSTR*); 524 + HRESULT VarBstrFromI2(SHORT, LCID, ULONG, BSTR*); 525 + HRESULT VarBstrFromI4(LONG, LCID, ULONG, BSTR*); 526 + HRESULT VarBstrFromI8(LONG64, LCID, ULONG, BSTR*); 527 + HRESULT VarBstrFromR4(FLOAT, LCID, ULONG, BSTR*); 528 + HRESULT VarBstrFromR8(DOUBLE, LCID, ULONG, BSTR*); 529 + HRESULT VarBstrFromDate(DATE, LCID, ULONG, BSTR*); 530 + HRESULT VarBstrFromBool(VARIANT_BOOL, LCID, ULONG, BSTR*); 531 + HRESULT VarBstrFromI1(byte, LCID, ULONG, BSTR*); 532 + HRESULT VarBstrFromUI2(USHORT, LCID, ULONG, BSTR*); 533 + HRESULT VarBstrFromUI8(ULONG64, LCID, ULONG, BSTR*); 534 + HRESULT VarBstrFromUI4(ULONG, LCID, ULONG, BSTR*); 535 + HRESULT VarBstrFromCy(CY, LCID, ULONG, BSTR*); 536 + HRESULT VarBstrFromDec(DECIMAL*, LCID, ULONG, BSTR*); 537 + HRESULT VarBstrFromDisp(IDispatch*, LCID, ULONG, BSTR*); 538 + 539 + HRESULT VarBoolFromUI1(BYTE, VARIANT_BOOL*); 540 + HRESULT VarBoolFromI2(SHORT, VARIANT_BOOL*); 541 + HRESULT VarBoolFromI4(LONG, VARIANT_BOOL*); 542 + HRESULT VarBoolFromI8(LONG64, VARIANT_BOOL*); 543 + HRESULT VarBoolFromR4(FLOAT, VARIANT_BOOL*); 544 + HRESULT VarBoolFromR8(DOUBLE, VARIANT_BOOL*); 545 + HRESULT VarBoolFromDate(DATE, VARIANT_BOOL*); 546 + HRESULT VarBoolFromStr(OLECHAR*, LCID, ULONG, VARIANT_BOOL*); 547 + HRESULT VarBoolFromI1(byte, VARIANT_BOOL*); 548 + HRESULT VarBoolFromUI2(USHORT, VARIANT_BOOL*); 549 + HRESULT VarBoolFromUI4(ULONG, VARIANT_BOOL*); 550 + HRESULT VarBoolFromUI8(ULONG64, VARIANT_BOOL*); 551 + HRESULT VarBoolFromCy(CY, VARIANT_BOOL*); 552 + HRESULT VarBoolFromDec(DECIMAL*, VARIANT_BOOL*); 553 + HRESULT VarBoolFromDisp(IDispatch*, LCID, VARIANT_BOOL*); 554 + 555 + HRESULT VarI1FromUI1(BYTE, byte*); 556 + HRESULT VarI1FromI2(SHORT, byte*); 557 + HRESULT VarI1FromI4(LONG, byte*); 558 + HRESULT VarI1FromI8(LONG64, byte*); 559 + HRESULT VarI1FromR4(FLOAT, byte*); 560 + HRESULT VarI1FromR8(DOUBLE, byte*); 561 + HRESULT VarI1FromDate(DATE, byte*); 562 + HRESULT VarI1FromStr(OLECHAR*, LCID, ULONG, byte*); 563 + HRESULT VarI1FromBool(VARIANT_BOOL, byte*); 564 + HRESULT VarI1FromUI2(USHORT, byte*); 565 + HRESULT VarI1FromUI4(ULONG, byte*); 566 + HRESULT VarI1FromUI8(ULONG64, byte*); 567 + HRESULT VarI1FromCy(CY, byte*); 568 + HRESULT VarI1FromDec(DECIMAL*, byte*); 569 + HRESULT VarI1FromDisp(IDispatch*, LCID, byte*); 570 + 571 + HRESULT VarUI2FromUI1(BYTE, USHORT*); 572 + HRESULT VarUI2FromI2(SHORT, USHORT*); 573 + HRESULT VarUI2FromI4(LONG, USHORT*); 574 + HRESULT VarUI2FromI8(LONG64, USHORT*); 575 + HRESULT VarUI2FromR4(FLOAT, USHORT*); 576 + HRESULT VarUI2FromR8(DOUBLE, USHORT*); 577 + HRESULT VarUI2FromDate(DATE, USHORT*); 578 + HRESULT VarUI2FromStr(OLECHAR*, LCID, ULONG, USHORT*); 579 + HRESULT VarUI2FromBool(VARIANT_BOOL, USHORT*); 580 + HRESULT VarUI2FromI1(byte, USHORT*); 581 + HRESULT VarUI2FromUI4(ULONG, USHORT*); 582 + HRESULT VarUI2FromUI8(ULONG64, USHORT*); 583 + HRESULT VarUI2FromCy(CY, USHORT*); 584 + HRESULT VarUI2FromDec(DECIMAL*, USHORT*); 585 + HRESULT VarUI2FromDisp(IDispatch*, LCID, USHORT*); 586 + 587 + HRESULT VarUI4FromStr(OLECHAR*, LCID, ULONG, ULONG*); 588 + HRESULT VarUI4FromUI1(BYTE, ULONG*); 589 + HRESULT VarUI4FromI2(SHORT, ULONG*); 590 + HRESULT VarUI4FromI4(LONG, ULONG*); 591 + HRESULT VarUI4FromI8(LONG64, ULONG*); 592 + HRESULT VarUI4FromR4(FLOAT, ULONG*); 593 + HRESULT VarUI4FromR8(DOUBLE, ULONG*); 594 + HRESULT VarUI4FromDate(DATE, ULONG*); 595 + HRESULT VarUI4FromBool(VARIANT_BOOL, ULONG*); 596 + HRESULT VarUI4FromI1(byte, ULONG*); 597 + HRESULT VarUI4FromUI2(USHORT, ULONG*); 598 + HRESULT VarUI4FromUI8(ULONG64, ULONG*); 599 + HRESULT VarUI4FromCy(CY, ULONG*); 600 + HRESULT VarUI4FromDec(DECIMAL*, ULONG*); 601 + HRESULT VarUI4FromDisp(IDispatch*, LCID, ULONG*); 602 + 603 + HRESULT VarUI8FromUI1(BYTE, ULONG64*); 604 + HRESULT VarUI8FromI2(SHORT, ULONG64*); 605 + HRESULT VarUI8FromI4(LONG, ULONG64*); 606 + HRESULT VarUI8FromI8(LONG64, ULONG64*); 607 + HRESULT VarUI8FromR4(FLOAT, ULONG64*); 608 + HRESULT VarUI8FromR8(DOUBLE, ULONG64*); 609 + HRESULT VarUI8FromDate(DATE, ULONG64*); 610 + HRESULT VarUI8FromStr(OLECHAR*, LCID, ULONG, ULONG64*); 611 + HRESULT VarUI8FromBool(VARIANT_BOOL, ULONG64*); 612 + HRESULT VarUI8FromI1(byte, ULONG64*); 613 + HRESULT VarUI8FromUI2(USHORT, ULONG64*); 614 + HRESULT VarUI8FromUI4(ULONG, ULONG64*); 615 + HRESULT VarUI8FromDec(DECIMAL*, ULONG64*); 616 + HRESULT VarUI8FromInt(INT, ULONG64*); 617 + HRESULT VarUI8FromCy(CY, ULONG64*); 618 + HRESULT VarUI8FromDisp(IDispatch*, LCID, ULONG64*); 619 + 620 + HRESULT VarDecFromUI1(BYTE, DECIMAL*); 621 + HRESULT VarDecFromI2(SHORT, DECIMAL*); 622 + HRESULT VarDecFromI4(LONG, DECIMAL*); 623 + HRESULT VarDecFromI8(LONG64, DECIMAL*); 624 + HRESULT VarDecFromR4(FLOAT, DECIMAL*); 625 + HRESULT VarDecFromR8(DOUBLE, DECIMAL*); 626 + HRESULT VarDecFromDate(DATE, DECIMAL*); 627 + HRESULT VarDecFromStr(OLECHAR*, LCID, ULONG, DECIMAL*); 628 + HRESULT VarDecFromBool(VARIANT_BOOL, DECIMAL*); 629 + HRESULT VarDecFromI1(byte, DECIMAL*); 630 + HRESULT VarDecFromUI2(USHORT, DECIMAL*); 631 + HRESULT VarDecFromUI4(ULONG, DECIMAL*); 632 + HRESULT VarDecFromUI8(ULONG64, DECIMAL*); 633 + HRESULT VarDecFromCy(CY, DECIMAL*); 634 + HRESULT VarDecFromDisp(IDispatch*, LCID, DECIMAL*); 635 + 636 + HRESULT VarDecNeg(CPtr!(DECIMAL), DECIMAL*); 637 + HRESULT VarR4CmpR8(float, double); 638 + HRESULT VarR8Pow(double, double, double*); 639 + HRESULT VarR8Round(double, int, double*); 640 + HRESULT VarDecAbs(CPtr!(DECIMAL), DECIMAL*); 641 + HRESULT VarDecAdd(CPtr!(DECIMAL), CPtr!(DECIMAL), DECIMAL*); 642 + HRESULT VarDecCmp(CPtr!(DECIMAL), CPtr!(DECIMAL)); 643 + HRESULT VarDecCmpR8(CPtr!(DECIMAL), DOUBLE); 644 + HRESULT VarDecDiv(CPtr!(DECIMAL), CPtr!(DECIMAL), DECIMAL*); 645 + HRESULT VarDecFix(CPtr!(DECIMAL), DECIMAL*); 646 + HRESULT VarDecInt(CPtr!(DECIMAL), DECIMAL*); 647 + HRESULT VarDecMul(CPtr!(DECIMAL), CPtr!(DECIMAL), DECIMAL*); 648 + HRESULT VarDecRound(CPtr!(DECIMAL), int, DECIMAL*); 649 + HRESULT VarDecSub(CPtr!(DECIMAL), CPtr!(DECIMAL), DECIMAL*); 650 + HRESULT VarCyAbs(CY, CY*); 651 + HRESULT VarCyAdd(CY, CY, CY*); 652 + HRESULT VarCyCmp(CY, CY); 653 + HRESULT VarCyCmpR8(CY, DOUBLE); 654 + HRESULT VarCyFix(CY, CY*); 655 + HRESULT VarCyInt(CY, CY*); 656 + HRESULT VarCyMul(CY, CY, CY*); 657 + HRESULT VarCyMulI4(CY, LONG, CY*); 658 + HRESULT VarCyMulI8(CY, LONG64, CY*); 659 + HRESULT VarCyNeg(CY, CY*); 660 + HRESULT VarCyRound(CY, INT, CY*); 661 + HRESULT VarCySub(CY, CY, CY*); 662 + HRESULT VarAdd(LPVARIANT, LPVARIANT, LPVARIANT); 663 + HRESULT VarAnd(LPVARIANT, LPVARIANT, LPVARIANT); 664 + HRESULT VarCat(LPVARIANT, LPVARIANT, LPVARIANT); 665 + HRESULT VarDiv(LPVARIANT, LPVARIANT, LPVARIANT); 666 + HRESULT VarEqv(LPVARIANT, LPVARIANT, LPVARIANT); 667 + HRESULT VarIdiv(LPVARIANT, LPVARIANT, LPVARIANT); 668 + HRESULT VarImp(LPVARIANT, LPVARIANT, LPVARIANT); 669 + HRESULT VarMod(LPVARIANT, LPVARIANT, LPVARIANT); 670 + HRESULT VarMul(LPVARIANT, LPVARIANT, LPVARIANT); 671 + HRESULT VarOr(LPVARIANT, LPVARIANT, LPVARIANT); 672 + HRESULT VarPow(LPVARIANT, LPVARIANT, LPVARIANT); 673 + HRESULT VarSub(LPVARIANT, LPVARIANT, LPVARIANT); 674 + HRESULT VarXor(LPVARIANT, LPVARIANT, LPVARIANT); 675 + HRESULT VarAbs(LPVARIANT, LPVARIANT); 676 + HRESULT VarFix(LPVARIANT, LPVARIANT); 677 + HRESULT VarInt(LPVARIANT, LPVARIANT); 678 + HRESULT VarNeg(LPVARIANT, LPVARIANT); 679 + HRESULT VarNot(LPVARIANT, LPVARIANT); 680 + HRESULT VarRound(LPVARIANT, int, LPVARIANT); 681 + HRESULT VarCmp(LPVARIANT, LPVARIANT, LCID, ULONG); 682 + HRESULT VarBstrCmp(BSTR, BSTR, LCID, ULONG); 683 + HRESULT VarBstrCat(BSTR, BSTR, BSTR*); 684 +}

Added src/win32/olectl.d version [f75dbd32f328c551]

1 +/***********************************************************************\ 2 +* olectl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.olectl; 11 + 12 +// In conversion from MinGW, the following was deleted: 13 +//#define FONTSIZE(n) {n##0000, 0} 14 + 15 +import win32.ocidl, win32.olectlid; 16 +private import win32.basetyps, win32.oaidl, win32.oleauto, win32.unknwn, 17 + win32.windef, win32.wingdi, win32.winuser, win32.wtypes; 18 +private import win32.ntdef; // for NTSTATUS 19 +private import win32.objfwd; // for LPSTREAM 20 +private import win32.winerror; // for SCODE 21 + 22 + 23 +private { 24 + // These replace C macros. 25 + template ITF_ERROR_SCODE_FOR_D(int c) 26 + { 27 + const SCODE ITF_ERROR_SCODE_FOR_D 28 + = (SEVERITY_ERROR << 31) | (FACILITY_ITF << 16) | c; 29 + } 30 + 31 + template ITF_SUCCESS_SCODE_FOR_D(int c) 32 + { 33 + const SCODE ITF_SUCCESS_SCODE_FOR_D 34 + = (SEVERITY_SUCCESS << 31) | (FACILITY_ITF << 16) | c; 35 + } 36 + 37 + template STD_CTL_SCODE(int c) 38 + { 39 + const SCODE STD_CTL_SCODE 40 + = (SEVERITY_ERROR << 31) | (FACILITY_CONTROL << 16) | c; 41 + } 42 +} 43 + 44 +enum : SCODE { 45 + CTL_E_ILLEGALFUNCTIONCALL = STD_CTL_SCODE!(5), 46 + CTL_E_OVERFLOW = STD_CTL_SCODE!(6), 47 + CTL_E_OUTOFMEMORY = STD_CTL_SCODE!(7), 48 + CTL_E_DIVISIONBYZERO = STD_CTL_SCODE!(11), 49 + CTL_E_OUTOFSTRINGSPACE = STD_CTL_SCODE!(14), 50 + CTL_E_OUTOFSTACKSPACE = STD_CTL_SCODE!(28), 51 + CTL_E_BADFILENAMEORNUMBER = STD_CTL_SCODE!(52), 52 + CTL_E_FILENOTFOUND = STD_CTL_SCODE!(53), 53 + CTL_E_BADFILEMODE = STD_CTL_SCODE!(54), 54 + CTL_E_FILEALREADYOPEN = STD_CTL_SCODE!(55), 55 + CTL_E_DEVICEIOERROR = STD_CTL_SCODE!(57), 56 + CTL_E_FILEALREADYEXISTS = STD_CTL_SCODE!(58), 57 + CTL_E_BADRECORDLENGTH = STD_CTL_SCODE!(59), 58 + CTL_E_DISKFULL = STD_CTL_SCODE!(61), 59 + CTL_E_BADRECORDNUMBER = STD_CTL_SCODE!(63), 60 + CTL_E_BADFILENAME = STD_CTL_SCODE!(64), 61 + CTL_E_TOOMANYFILES = STD_CTL_SCODE!(67), 62 + CTL_E_DEVICEUNAVAILABLE = STD_CTL_SCODE!(68), 63 + CTL_E_PERMISSIONDENIED = STD_CTL_SCODE!(70), 64 + CTL_E_DISKNOTREADY = STD_CTL_SCODE!(71), 65 + CTL_E_PATHFILEACCESSERROR = STD_CTL_SCODE!(75), 66 + CTL_E_PATHNOTFOUND = STD_CTL_SCODE!(76), 67 + CTL_E_INVALIDPATTERNSTRING = STD_CTL_SCODE!(93), 68 + CTL_E_INVALIDUSEOFNULL = STD_CTL_SCODE!(94), 69 + CTL_E_INVALIDFILEFORMAT = STD_CTL_SCODE!(321), 70 + CTL_E_INVALIDPROPERTYVALUE = STD_CTL_SCODE!(380), 71 + CTL_E_INVALIDPROPERTYARRAYINDEX = STD_CTL_SCODE!(381), 72 + CTL_E_SETNOTSUPPORTEDATRUNTIME = STD_CTL_SCODE!(382), 73 + CTL_E_SETNOTSUPPORTED = STD_CTL_SCODE!(383), 74 + CTL_E_NEEDPROPERTYARRAYINDEX = STD_CTL_SCODE!(385), 75 + CTL_E_SETNOTPERMITTED = STD_CTL_SCODE!(387), 76 + CTL_E_GETNOTSUPPORTEDATRUNTIME = STD_CTL_SCODE!(393), 77 + CTL_E_GETNOTSUPPORTED = STD_CTL_SCODE!(394), 78 + CTL_E_PROPERTYNOTFOUND = STD_CTL_SCODE!(422), 79 + CTL_E_INVALIDCLIPBOARDFORMAT = STD_CTL_SCODE!(460), 80 + CTL_E_INVALIDPICTURE = STD_CTL_SCODE!(481), 81 + CTL_E_PRINTERERROR = STD_CTL_SCODE!(482), 82 + CTL_E_CANTSAVEFILETOTEMP = STD_CTL_SCODE!(735), 83 + CTL_E_SEARCHTEXTNOTFOUND = STD_CTL_SCODE!(744), 84 + CTL_E_REPLACEMENTSTOOLONG = STD_CTL_SCODE!(746), 85 + CTL_E_CUSTOM_FIRST = STD_CTL_SCODE!(600) 86 +} 87 + 88 +const SCODE CLASS_E_NOTLICENSED = CLASSFACTORY_E_FIRST+2; 89 + 90 +enum : SCODE { 91 + CONNECT_E_FIRST = ITF_ERROR_SCODE_FOR_D!(0x200), 92 + CONNECT_E_LAST = ITF_ERROR_SCODE_FOR_D!(0x20F), 93 + CONNECT_S_FIRST = ITF_SUCCESS_SCODE_FOR_D!(0x200), 94 + CONNECT_S_LAST = ITF_SUCCESS_SCODE_FOR_D!(0x20F), 95 + CONNECT_E_NOCONNECTION = CONNECT_E_FIRST + 0, 96 + CONNECT_E_ADVISELIMIT = CONNECT_E_FIRST + 1, 97 + CONNECT_E_CANNOTCONNECT = CONNECT_E_FIRST + 2, 98 + CONNECT_E_OVERRIDDEN = CONNECT_E_FIRST + 3, 99 + 100 + SELFREG_E_FIRST = ITF_ERROR_SCODE_FOR_D!(0x200), 101 + SELFREG_E_LAST = ITF_ERROR_SCODE_FOR_D!(0x20F), 102 + SELFREG_S_FIRST = ITF_SUCCESS_SCODE_FOR_D!(0x200), 103 + SELFREG_S_LAST = ITF_SUCCESS_SCODE_FOR_D!(0x20F), 104 + SELFREG_E_TYPELIB = SELFREG_E_FIRST + 0, 105 + SELFREG_E_CLASS = SELFREG_E_FIRST + 1, 106 + 107 + PERPROP_E_FIRST = ITF_ERROR_SCODE_FOR_D!(0x200), 108 + PERPROP_E_LAST = ITF_ERROR_SCODE_FOR_D!(0x20F), 109 + PERPROP_S_FIRST = ITF_SUCCESS_SCODE_FOR_D!(0x200), 110 + PERPROP_S_LAST = ITF_SUCCESS_SCODE_FOR_D!(0x20F), 111 + PERPROP_E_NOPAGEAVAILABLE = PERPROP_E_FIRST 112 +} 113 + 114 +enum { 115 + OLEMISC_RECOMPOSEONRESIZE = 0x1, 116 + OLEMISC_ONLYICONIC = 0x2, 117 + OLEMISC_INSERTNOTREPLACE = 0x4, 118 + OLEMISC_STATIC = 0x8, 119 + OLEMISC_CANTLINKINSIDE = 0x10, 120 + OLEMISC_CANLINKBYOLE1 = 0x20, 121 + OLEMISC_ISLINKOBJECT = 0x40, 122 + OLEMISC_INSIDEOUT = 0x80, 123 + OLEMISC_ACTIVATEWHENVISIBLE = 0x100, 124 + OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200, 125 + OLEMISC_INVISIBLEATRUNTIME = 0x400, 126 + OLEMISC_ALWAYSRUN = 0x800, 127 + OLEMISC_ACTSLIKEBUTTON = 0x1000, 128 + OLEMISC_ACTSLIKELABEL = 0x2000, 129 + OLEMISC_NOUIACTIVATE = 0x4000, 130 + OLEMISC_ALIGNABLE = 0x8000, 131 + OLEMISC_SIMPLEFRAME = 0x10000, 132 + OLEMISC_SETCLIENTSITEFIRST = 0x20000, 133 + OLEMISC_IMEMODE = 0x40000, 134 + OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000, 135 + OLEMISC_WANTSTOMENUMERGE = 0x100000, 136 + OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000 137 +} 138 +const OLEIVERB_PROPERTIES = -7; 139 + 140 +const VT_STREAMED_PROPSET = 73; 141 +const VT_STORED_PROPSET = 74; 142 +const VT_BLOB_PROPSET = 75; 143 +const VT_VERBOSE_ENUM = 76; 144 +const VT_COLOR = VARENUM.VT_I4; 145 +const VT_XPOS_PIXELS = VARENUM.VT_I4; 146 +const VT_YPOS_PIXELS = VARENUM.VT_I4; 147 +const VT_XSIZE_PIXELS = VARENUM.VT_I4; 148 +const VT_YSIZE_PIXELS = VARENUM.VT_I4; 149 +const VT_XPOS_HIMETRIC = VARENUM.VT_I4; 150 +const VT_YPOS_HIMETRIC = VARENUM.VT_I4; 151 +const VT_XSIZE_HIMETRIC = VARENUM.VT_I4; 152 +const VT_YSIZE_HIMETRIC = VARENUM.VT_I4; 153 +const VT_TRISTATE = VARENUM.VT_I2; 154 +const VT_OPTEXCLUSIVE = VARENUM.VT_BOOL; 155 +const VT_FONT = VARENUM.VT_DISPATCH; 156 +const VT_PICTURE = VARENUM.VT_DISPATCH; 157 +const VT_HANDLE = VARENUM.VT_I4; 158 + 159 +enum { 160 + OCM__BASE = WM_USER + 0x1c00, 161 + OCM_COMMAND = OCM__BASE + WM_COMMAND, 162 + OCM_CTLCOLORBTN = OCM__BASE + WM_CTLCOLORBTN, 163 + OCM_CTLCOLOREDIT = OCM__BASE + WM_CTLCOLOREDIT, 164 + OCM_CTLCOLORDLG = OCM__BASE + WM_CTLCOLORDLG, 165 + OCM_CTLCOLORLISTBOX = OCM__BASE + WM_CTLCOLORLISTBOX, 166 + OCM_CTLCOLORMSGBOX = OCM__BASE + WM_CTLCOLORMSGBOX, 167 + OCM_CTLCOLORSCROLLBAR = OCM__BASE + WM_CTLCOLORSCROLLBAR, 168 + OCM_CTLCOLORSTATIC = OCM__BASE + WM_CTLCOLORSTATIC, 169 + OCM_DRAWITEM = OCM__BASE + WM_DRAWITEM, 170 + OCM_MEASUREITEM = OCM__BASE + WM_MEASUREITEM, 171 + OCM_DELETEITEM = OCM__BASE + WM_DELETEITEM, 172 + OCM_VKEYTOITEM = OCM__BASE + WM_VKEYTOITEM, 173 + OCM_CHARTOITEM = OCM__BASE + WM_CHARTOITEM, 174 + OCM_COMPAREITEM = OCM__BASE + WM_COMPAREITEM, 175 + OCM_HSCROLL = OCM__BASE + WM_HSCROLL, 176 + OCM_VSCROLL = OCM__BASE + WM_VSCROLL, 177 + OCM_PARENTNOTIFY = OCM__BASE + WM_PARENTNOTIFY, 178 + OCM_NOTIFY = OCM__BASE + WM_NOTIFY 179 +} 180 + 181 +enum { 182 + CTRLINFO_EATS_RETURN = 1, 183 + CTRLINFO_EATS_ESCAPE 184 +} 185 + 186 +enum { 187 + XFORMCOORDS_POSITION = 1, 188 + XFORMCOORDS_SIZE = 2, 189 + XFORMCOORDS_HIMETRICTOCONTAINER = 4, 190 + XFORMCOORDS_CONTAINERTOHIMETRIC = 8 191 +} 192 + 193 +const GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1; 194 + 195 +enum { 196 + PROPPAGESTATUS_DIRTY = 1, 197 + PROPPAGESTATUS_VALIDATE = 2 198 +} 199 + 200 +enum { 201 + PICTURE_SCALABLE = 1, 202 + PICTURE_TRANSPARENT = 2 203 +} 204 + 205 +enum { 206 + PICTYPE_UNINITIALIZED = -1, 207 + PICTYPE_NONE, // = 0 208 + PICTYPE_BITMAP, 209 + PICTYPE_METAFILE, 210 + PICTYPE_ICON, 211 + PICTYPE_ENHMETAFILE // = 4 212 +} 213 + 214 +enum { 215 + DISPID_AUTOSIZE = -500, 216 + DISPID_BACKCOLOR = -501, 217 + DISPID_BACKSTYLE = -502, 218 + DISPID_BORDERCOLOR = -503, 219 + DISPID_BORDERSTYLE = -504, 220 + DISPID_BORDERWIDTH = -505, 221 + DISPID_DRAWMODE = -507, 222 + DISPID_DRAWSTYLE = -508, 223 + DISPID_DRAWWIDTH = -509, 224 + DISPID_FILLCOLOR = -510, 225 + DISPID_FILLSTYLE = -511, 226 + DISPID_FONT = -512, 227 + DISPID_FORECOLOR = -513, 228 + DISPID_ENABLED = -514, 229 + DISPID_HWND = -515, 230 + DISPID_TABSTOP = -516, 231 + DISPID_TEXT = -517, 232 + DISPID_CAPTION = -518, 233 + DISPID_BORDERVISIBLE = -519, 234 + DISPID_APPEARANCE = -520, 235 + DISPID_MOUSEPOINTER = -521, 236 + DISPID_MOUSEICON = -522, 237 + DISPID_PICTURE = -523, 238 + DISPID_VALID = -524, 239 + DISPID_REFRESH = -550, 240 + DISPID_DOCLICK = -551, 241 + DISPID_ABOUTBOX = -552, 242 + DISPID_CLICK = -600, 243 + DISPID_DBLCLICK = -601, 244 + DISPID_KEYDOWN = -602, 245 + DISPID_KEYPRESS = -603, 246 + DISPID_KEYUP = -604, 247 + DISPID_MOUSEDOWN = -605, 248 + DISPID_MOUSEMOVE = -606, 249 + DISPID_MOUSEUP = -607, 250 + DISPID_ERROREVENT = -608, 251 + DISPID_AMBIENT_BACKCOLOR = -701, 252 + DISPID_AMBIENT_DISPLAYNAME = -702, 253 + DISPID_AMBIENT_FONT = -703, 254 + DISPID_AMBIENT_FORECOLOR = -704, 255 + DISPID_AMBIENT_LOCALEID = -705, 256 + DISPID_AMBIENT_MESSAGEREFLECT = -706, 257 + DISPID_AMBIENT_SCALEUNITS = -707, 258 + DISPID_AMBIENT_TEXTALIGN = -708, 259 + DISPID_AMBIENT_USERMODE = -709, 260 + DISPID_AMBIENT_UIDEAD = -710, 261 + DISPID_AMBIENT_SHOWGRABHANDLES = -711, 262 + DISPID_AMBIENT_SHOWHATCHING = -712, 263 + DISPID_AMBIENT_DISPLAYASDEFAULT = -713, 264 + DISPID_AMBIENT_SUPPORTSMNEMONICS = -714, 265 + DISPID_AMBIENT_AUTOCLIP = -715, 266 + DISPID_AMBIENT_APPEARANCE = -716, 267 + DISPID_AMBIENT_CODEPAGE = -725, 268 + DISPID_AMBIENT_PALETTE = -726, 269 + DISPID_AMBIENT_CHARSET = -727, 270 + DISPID_AMBIENT_RIGHTTOLEFT = -732, 271 + DISPID_AMBIENT_TOPTOBOTTOM = -733 272 +} 273 + 274 +enum { 275 + DISPID_FONT_NAME = 0, 276 + DISPID_FONT_SIZE = 2, 277 + DISPID_FONT_BOLD, 278 + DISPID_FONT_ITALIC, 279 + DISPID_FONT_UNDER, 280 + DISPID_FONT_STRIKE, 281 + DISPID_FONT_WEIGHT, 282 + DISPID_FONT_CHARSET // = 8 283 +} 284 + 285 +enum { 286 + DISPID_PICT_HANDLE = 0, 287 + DISPID_PICT_HPAL = 2, 288 + DISPID_PICT_TYPE, 289 + DISPID_PICT_WIDTH, 290 + DISPID_PICT_HEIGHT, 291 + DISPID_PICT_RENDER // = 6 292 +} 293 + 294 +alias IOleControl *LPOLECONTROL; 295 +alias IOleControlSite *LPOLECONTROLSITE; 296 +alias ISimpleFrameSite *LPSIMPLEFRAMESITE; 297 +alias IPersistPropertyBag *LPPERSISTPROPERTYBAG; 298 +alias IPersistStreamInit *LPPERSISTSTREAMINIT; 299 +alias IPersistMemory *LPPERSISTMEMORY; 300 +alias IPropertyNotifySink* LPPROPERTYNOTIFYSINK; 301 +alias IProvideClassInfo *LPPROVIDECLASSINFO; 302 +alias IProvideClassInfo2 *LPPROVIDECLASSINFO2; 303 +alias IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER; 304 +alias IClassFactory2 *LPCLASSFACTORY2; 305 +alias ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES; 306 +alias IPerPropertyBrowsing *LPPERPROPERTYBROWSING; 307 +alias IPropertyPage *LPPROPERTYPAGE; 308 +alias IPropertyPage2 *LPPROPERTYPAGE2; 309 + 310 +alias IPicture *LPPICTURE; 311 +alias IPictureDisp *LPPICTUREDISP; 312 +alias int OLE_XPOS_PIXELS; 313 +alias int OLE_YPOS_PIXELS; 314 +alias int OLE_XSIZE_PIXELS; 315 +alias int OLE_YSIZE_PIXELS; 316 +alias float OLE_XPOS_CONTAINER; 317 +alias float OLE_YPOS_CONTAINER; 318 +alias float OLE_XSIZE_CONTAINER; 319 + 320 +alias VARIANT_BOOL OLE_OPTEXCLUSIVE; 321 +alias VARIANT_BOOL OLE_CANCELBOOL; 322 +alias VARIANT_BOOL OLE_ENABLEDEFAULTBOOL; 323 + 324 +align(8): 325 + 326 +enum OLE_TRISTATE { 327 + triUnchecked, 328 + triChecked1, 329 + triGray 330 +} 331 + 332 +struct OCPFIPARAMS { 333 + ULONG cbStructSize; 334 + HWND hWndOwner; 335 + int x; 336 + int y; 337 + LPCOLESTR lpszCaption; 338 + ULONG cObjects; 339 + LPUNKNOWN *lplpUnk; 340 + ULONG cPages; 341 + CLSID *lpPages; 342 + LCID lcid; 343 + DISPID dispidInitialProperty; 344 +} 345 +alias OCPFIPARAMS* LPOCPFIPARAMS; 346 + 347 +struct FONTDESC { 348 + UINT cbSizeofstruct; 349 + LPOLESTR lpstrName; 350 + CY cySize; 351 + SHORT sWeight; 352 + SHORT sCharset; 353 + BOOL fItalic; 354 + BOOL fUnderline; 355 + BOOL fStrikethrough; 356 +} 357 +alias FONTDESC* LPFONTDESC; 358 + 359 +struct PICTDESC 360 +{ 361 + UINT cbSizeofstruct; 362 + UINT picType; 363 + union { 364 + struct bmp { 365 + HBITMAP hbitmap; 366 + HPALETTE hpal; 367 + } 368 + struct wmf { 369 + HMETAFILE hmeta; 370 + int xExt; 371 + int yExt; 372 + } 373 + struct icon { 374 + HICON hicon; 375 + } 376 + struct emf { 377 + HENHMETAFILE hemf; 378 + } 379 + } 380 +} 381 +alias PICTDESC* LPPICTDESC; 382 + 383 +extern(Windows) { 384 + HRESULT DllRegisterServer(); 385 + HRESULT DllUnregisterServer(); 386 + HRESULT OleCreateFontIndirect(LPFONTDESC, REFIID, PVOID*); 387 + HRESULT OleCreatePictureIndirect(LPPICTDESC, REFIID, BOOL, PVOID*); 388 + HRESULT OleCreatePropertyFrame(HWND, UINT, UINT, LPCOLESTR, ULONG, LPUNKNOWN*, ULONG, LPCLSID, LCID, DWORD, PVOID); 389 + HRESULT OleCreatePropertyFrameIndirect(LPOCPFIPARAMS); 390 + HCURSOR OleIconToCursor(HINSTANCE, HICON); 391 + HRESULT OleLoadPicture(LPSTREAM, LONG, BOOL, REFIID, PVOID*); 392 + HRESULT OleLoadPictureEx(LPSTREAM, LONG, BOOL, REFIID, DWORD, DWORD, DWORD, LPVOID*); 393 + HRESULT OleLoadPicturePath(LPOLESTR, LPUNKNOWN, DWORD, OLE_COLOR, REFIID, LPVOID*); 394 + HRESULT OleLoadPictureFile(VARIANT, LPDISPATCH*); 395 + HRESULT OleLoadPictureFileEx(VARIANT, DWORD, DWORD, DWORD, LPDISPATCH*); 396 + HRESULT OleSavePictureFile(LPDISPATCH, BSTR); 397 + HRESULT OleTranslateColor(OLE_COLOR, HPALETTE, COLORREF*); 398 +}

Added src/win32/olectlid.d version [a48867c7da90131b]

1 +/***********************************************************************\ 2 +* olectlid.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.olectlid; 11 + 12 +private import win32.basetyps; 13 +

Added src/win32/oledlg.d version [037c81af9c06936e]

1 +/***********************************************************************\ 2 +* oledlg.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.oledlg; 11 + 12 +import win32.commdlg, win32.dlgs, win32.ole2, win32.prsht, win32.shellapi, 13 + win32.windows; 14 +private import win32.winbase, win32.objidl, win32.objfwd, win32.winnt; 15 + 16 +// FIXME: remove inherited methods from interface definitions 17 + 18 +const PS_MAXLINKTYPES=8; 19 + 20 +const TCHAR[] OLESTDDELIM = "\\"; 21 +const TCHAR[] SZOLEUI_MSG_HELP = "OLEUI_MSG_HELP"; 22 +const TCHAR[] SZOLEUI_MSG_ENDDIALOG = "OLEUI_MSG_ENDDIALOG"; 23 +const TCHAR[] SZOLEUI_MSG_BROWSE = "OLEUI_MSG_BROWSE"; 24 +const TCHAR[] SZOLEUI_MSG_CHANGEICON = "OLEUI_MSG_CHANGEICON"; 25 +const TCHAR[] SZOLEUI_MSG_CLOSEBUSYDIALOG = "OLEUI_MSG_CLOSEBUSYDIALOG"; 26 +const TCHAR[] SZOLEUI_MSG_CONVERT = "OLEUI_MSG_CONVERT"; 27 +const TCHAR[] SZOLEUI_MSG_CHANGESOURCE = "OLEUI_MSG_CHANGESOURCE"; 28 +const TCHAR[] SZOLEUI_MSG_ADDCONTROL = "OLEUI_MSG_ADDCONTROL"; 29 +const TCHAR[] SZOLEUI_MSG_BROWSE_OFN = "OLEUI_MSG_BROWSE_OFN"; 30 + 31 +const TCHAR[] PROP_HWND_CHGICONDLG = "HWND_CIDLG"; 32 + 33 +const IDC_OLEUIHELP=99; 34 + 35 +enum { 36 + IDC_IO_CREATENEW = 2100, 37 + IDC_IO_CREATEFROMFILE, 38 + IDC_IO_LINKFILE, 39 + IDC_IO_OBJECTTYPELIST, 40 + IDC_IO_DISPLAYASICON, 41 + IDC_IO_CHANGEICON, 42 + IDC_IO_FILE, 43 + IDC_IO_FILEDISPLAY, 44 + IDC_IO_RESULTIMAGE, 45 + IDC_IO_RESULTTEXT, 46 + IDC_IO_ICONDISPLAY, 47 + IDC_IO_OBJECTTYPETEXT, 48 + IDC_IO_FILETEXT, 49 + IDC_IO_FILETYPE, 50 + IDC_IO_INSERTCONTROL, 51 + IDC_IO_ADDCONTROL, 52 + IDC_IO_CONTROLTYPELIST // = 2116 53 +} 54 + 55 +const IDC_PS_PASTE=500; 56 +const IDC_PS_PASTELINK=501; 57 +const IDC_PS_SOURCETEXT=502; 58 +const IDC_PS_PASTELIST=503; 59 +const IDC_PS_PASTELINKLIST=504; 60 +const IDC_PS_DISPLAYLIST=505; 61 +const IDC_PS_DISPLAYASICON=506; 62 +const IDC_PS_ICONDISPLAY=507; 63 +const IDC_PS_CHANGEICON=508; 64 +const IDC_PS_RESULTIMAGE=509; 65 +const IDC_PS_RESULTTEXT=510; 66 + 67 +const IDC_CI_GROUP=120; 68 +const IDC_CI_CURRENT=121; 69 +const IDC_CI_CURRENTICON=122; 70 +const IDC_CI_DEFAULT=123; 71 +const IDC_CI_DEFAULTICON=124; 72 +const IDC_CI_FROMFILE=125; 73 +const IDC_CI_FROMFILEEDIT=126; 74 +const IDC_CI_ICONLIST=127; 75 +const IDC_CI_LABEL=128; 76 +const IDC_CI_LABELEDIT=129; 77 +const IDC_CI_BROWSE=130; 78 +const IDC_CI_ICONDISPLAY=131; 79 + 80 +const IDC_CV_OBJECTTYPE=150; 81 +const IDC_CV_DISPLAYASICON=152; 82 +const IDC_CV_CHANGEICON=153; 83 +const IDC_CV_ACTIVATELIST=154; 84 +const IDC_CV_CONVERTTO=155; 85 +const IDC_CV_ACTIVATEAS=156; 86 +const IDC_CV_RESULTTEXT=157; 87 +const IDC_CV_CONVERTLIST=158; 88 +const IDC_CV_ICONDISPLAY=165; 89 + 90 +const IDC_EL_CHANGESOURCE=201; 91 +const IDC_EL_AUTOMATIC=202; 92 +const IDC_EL_CANCELLINK=209; 93 +const IDC_EL_UPDATENOW=210; 94 +const IDC_EL_OPENSOURCE=211; 95 +const IDC_EL_MANUAL=212; 96 +const IDC_EL_LINKSOURCE=216; 97 +const IDC_EL_LINKTYPE=217; 98 +const IDC_EL_LINKSLISTBOX=206; 99 +const IDC_EL_COL1=220; 100 +const IDC_EL_COL2=221; 101 +const IDC_EL_COL3=222; 102 + 103 +const IDC_BZ_RETRY=600; 104 +const IDC_BZ_ICON=601; 105 +const IDC_BZ_MESSAGE1=602; 106 +const IDC_BZ_SWITCHTO=604; 107 + 108 +const IDC_UL_METER=1029; 109 +const IDC_UL_STOP=1030; 110 +const IDC_UL_PERCENT=1031; 111 +const IDC_UL_PROGRESS=1032; 112 + 113 +const IDC_PU_LINKS=900; 114 +const IDC_PU_TEXT=901; 115 +const IDC_PU_CONVERT=902; 116 +const IDC_PU_ICON=908; 117 + 118 +const IDC_GP_OBJECTNAME=1009; 119 +const IDC_GP_OBJECTTYPE=1010; 120 +const IDC_GP_OBJECTSIZE=1011; 121 +const IDC_GP_CONVERT=1013; 122 +const IDC_GP_OBJECTICON=1014; 123 +const IDC_GP_OBJECTLOCATION=1022; 124 + 125 +const IDC_VP_PERCENT=1000; 126 +const IDC_VP_CHANGEICON=1001; 127 +const IDC_VP_EDITABLE=1002; 128 +const IDC_VP_ASICON=1003; 129 +const IDC_VP_RELATIVE=1005; 130 +const IDC_VP_SPIN=1006; 131 +const IDC_VP_SCALETXT=1034; 132 +const IDC_VP_ICONDISPLAY=1021; 133 +const IDC_VP_RESULTIMAGE=1033; 134 + 135 +const IDC_LP_OPENSOURCE=1006; 136 +const IDC_LP_UPDATENOW=1007; 137 +const IDC_LP_BREAKLINK=1008; 138 +const IDC_LP_LINKSOURCE=1012; 139 +const IDC_LP_CHANGESOURCE=1015; 140 +const IDC_LP_AUTOMATIC=1016; 141 +const IDC_LP_MANUAL=1017; 142 +const IDC_LP_DATE=1018; 143 +const IDC_LP_TIME=1019; 144 + 145 +const IDD_INSERTOBJECT=1000; 146 +const IDD_CHANGEICON=1001; 147 +const IDD_CONVERT=1002; 148 +const IDD_PASTESPECIAL=1003; 149 +const IDD_EDITLINKS=1004; 150 +const IDD_BUSY=1006; 151 +const IDD_UPDATELINKS=1007; 152 +const IDD_CHANGESOURCE=1009; 153 +const IDD_INSERTFILEBROWSE=1010; 154 +const IDD_CHANGEICONBROWSE=1011; 155 +const IDD_CONVERTONLY=1012; 156 +const IDD_CHANGESOURCE4=1013; 157 +const IDD_GNRLPROPS=1100; 158 +const IDD_VIEWPROPS=1101; 159 +const IDD_LINKPROPS=1102; 160 +const IDD_CANNOTUPDATELINK=1008; 161 +const IDD_LINKSOURCEUNAVAILABLE=1020; 162 +const IDD_SERVERNOTFOUND=1023; 163 +const IDD_OUTOFMEMORY=1024; 164 +const IDD_SERVERNOTREGW=1021; 165 +const IDD_LINKTYPECHANGEDW=1022; 166 +const IDD_SERVERNOTREGA=1025; 167 +const IDD_LINKTYPECHANGEDA=1026; 168 + 169 +const ID_BROWSE_CHANGEICON=1; 170 +const ID_BROWSE_INSERTFILE=2; 171 +const ID_BROWSE_ADDCONTROL=3; 172 +const ID_BROWSE_CHANGESOURCE=4; 173 + 174 +const OLEUI_FALSE=0; 175 +const OLEUI_SUCCESS=1; 176 +const OLEUI_OK=1; 177 +const OLEUI_CANCEL=2; 178 + 179 +const OLEUI_ERR_STANDARDMIN=100; 180 +const OLEUI_ERR_STRUCTURENULL=101; 181 +const OLEUI_ERR_STRUCTUREINVALID=102; 182 +const OLEUI_ERR_CBSTRUCTINCORRECT=103; 183 +const OLEUI_ERR_HWNDOWNERINVALID=104; 184 +const OLEUI_ERR_LPSZCAPTIONINVALID=105; 185 +const OLEUI_ERR_LPFNHOOKINVALID=106; 186 +const OLEUI_ERR_HINSTANCEINVALID=107; 187 +const OLEUI_ERR_LPSZTEMPLATEINVALID=108; 188 +const OLEUI_ERR_HRESOURCEINVALID=109; 189 +const OLEUI_ERR_FINDTEMPLATEFAILURE=110; 190 +const OLEUI_ERR_LOADTEMPLATEFAILURE=111; 191 +const OLEUI_ERR_DIALOGFAILURE=112; 192 +const OLEUI_ERR_LOCALMEMALLOC=113; 193 +const OLEUI_ERR_GLOBALMEMALLOC=114; 194 +const OLEUI_ERR_LOADSTRING=115; 195 +const OLEUI_ERR_OLEMEMALLOC=116; 196 +const OLEUI_ERR_STANDARDMAX=116; 197 + 198 +const OPF_OBJECTISLINK=1; 199 +const OPF_NOFILLDEFAULT=2; 200 +const OPF_SHOWHELP=4; 201 +const OPF_DISABLECONVERT=8; 202 + 203 +const OLEUI_OPERR_SUBPROPNULL=OLEUI_ERR_STANDARDMAX; 204 +const OLEUI_OPERR_SUBPROPINVALID=(OLEUI_ERR_STANDARDMAX+1); 205 +const OLEUI_OPERR_PROPSHEETNULL=(OLEUI_ERR_STANDARDMAX+2); 206 +const OLEUI_OPERR_PROPSHEETINVALID=(OLEUI_ERR_STANDARDMAX+3); 207 +const OLEUI_OPERR_SUPPROP=(OLEUI_ERR_STANDARDMAX+4); 208 +const OLEUI_OPERR_PROPSINVALID=(OLEUI_ERR_STANDARDMAX+5); 209 +const OLEUI_OPERR_PAGESINCORRECT=(OLEUI_ERR_STANDARDMAX+6); 210 +const OLEUI_OPERR_INVALIDPAGES=(OLEUI_ERR_STANDARDMAX+7); 211 +const OLEUI_OPERR_NOTSUPPORTED=(OLEUI_ERR_STANDARDMAX+8); 212 +const OLEUI_OPERR_DLGPROCNOTNULL=(OLEUI_ERR_STANDARDMAX+9); 213 +const OLEUI_OPERR_LPARAMNOTZERO=(OLEUI_ERR_STANDARDMAX+10); 214 +const OLEUI_GPERR_STRINGINVALID=(OLEUI_ERR_STANDARDMAX+11); 215 +const OLEUI_GPERR_CLASSIDINVALID=(OLEUI_ERR_STANDARDMAX+12); 216 +const OLEUI_GPERR_LPCLSIDEXCLUDEINVALID=(OLEUI_ERR_STANDARDMAX+13); 217 +const OLEUI_GPERR_CBFORMATINVALID=(OLEUI_ERR_STANDARDMAX+14); 218 +const OLEUI_VPERR_METAPICTINVALID=(OLEUI_ERR_STANDARDMAX+15); 219 +const OLEUI_VPERR_DVASPECTINVALID=(OLEUI_ERR_STANDARDMAX+16); 220 +const OLEUI_LPERR_LINKCNTRNULL=(OLEUI_ERR_STANDARDMAX+17); 221 +const OLEUI_LPERR_LINKCNTRINVALID=(OLEUI_ERR_STANDARDMAX+18); 222 +const OLEUI_OPERR_PROPERTYSHEET=(OLEUI_ERR_STANDARDMAX+19); 223 +const OLEUI_OPERR_OBJINFOINVALID=(OLEUI_ERR_STANDARDMAX+20); 224 +const OLEUI_OPERR_LINKINFOINVALID=(OLEUI_ERR_STANDARDMAX+21); 225 + 226 +const OLEUI_QUERY_GETCLASSID=65280; 227 +const OLEUI_QUERY_LINKBROKEN=65281; 228 + 229 +const IOF_SHOWHELP=1; 230 +const IOF_SELECTCREATENEW=2; 231 +const IOF_SELECTCREATEFROMFILE=4; 232 +const IOF_CHECKLINK=8; 233 +const IOF_CHECKDISPLAYASICON=16; 234 +const IOF_CREATENEWOBJECT=32; 235 +const IOF_CREATEFILEOBJECT=64; 236 +const IOF_CREATELINKOBJECT=128; 237 +const IOF_DISABLELINK=256; 238 +const IOF_VERIFYSERVERSEXIST=512; 239 +const IOF_DISABLEDISPLAYASICON=1024; 240 +const IOF_HIDECHANGEICON=2048; 241 +const IOF_SHOWINSERTCONTROL=4096; 242 +const IOF_SELECTCREATECONTROL=8192; 243 + 244 +const OLEUI_IOERR_LPSZFILEINVALID=OLEUI_ERR_STANDARDMAX; 245 +const OLEUI_IOERR_LPSZLABELINVALID=(OLEUI_ERR_STANDARDMAX+1); 246 +const OLEUI_IOERR_HICONINVALID=(OLEUI_ERR_STANDARDMAX+2); 247 +const OLEUI_IOERR_LPFORMATETCINVALID=(OLEUI_ERR_STANDARDMAX+3); 248 +const OLEUI_IOERR_PPVOBJINVALID=(OLEUI_ERR_STANDARDMAX+4); 249 +const OLEUI_IOERR_LPIOLECLIENTSITEINVALID=(OLEUI_ERR_STANDARDMAX+5); 250 +const OLEUI_IOERR_LPISTORAGEINVALID=(OLEUI_ERR_STANDARDMAX+6); 251 +const OLEUI_IOERR_SCODEHASERROR=(OLEUI_ERR_STANDARDMAX+7); 252 +const OLEUI_IOERR_LPCLSIDEXCLUDEINVALID=(OLEUI_ERR_STANDARDMAX+8); 253 +const OLEUI_IOERR_CCHFILEINVALID=(OLEUI_ERR_STANDARDMAX+9); 254 + 255 +const PSF_SHOWHELP=1; 256 +const PSF_SELECTPASTE=2; 257 +const PSF_SELECTPASTELINK=4; 258 +const PSF_CHECKDISPLAYASICON=8; 259 +const PSF_DISABLEDISPLAYASICON=16; 260 +const PSF_HIDECHANGEICON=32; 261 +const PSF_STAYONCLIPBOARDCHANGE=64; 262 +const PSF_NOREFRESHDATAOBJECT=128; 263 + 264 +const OLEUI_IOERR_SRCDATAOBJECTINVALID=OLEUI_ERR_STANDARDMAX; 265 +const OLEUI_IOERR_ARRPASTEENTRIESINVALID=(OLEUI_ERR_STANDARDMAX+1); 266 +const OLEUI_IOERR_ARRLINKTYPESINVALID=(OLEUI_ERR_STANDARDMAX+2); 267 +const OLEUI_PSERR_CLIPBOARDCHANGED=(OLEUI_ERR_STANDARDMAX+3); 268 +const OLEUI_PSERR_GETCLIPBOARDFAILED=(OLEUI_ERR_STANDARDMAX+4); 269 +const OLEUI_ELERR_LINKCNTRNULL=OLEUI_ERR_STANDARDMAX; 270 +const OLEUI_ELERR_LINKCNTRINVALID=(OLEUI_ERR_STANDARDMAX+1); 271 + 272 +const ELF_SHOWHELP=1; 273 +const ELF_DISABLEUPDATENOW=2; 274 +const ELF_DISABLEOPENSOURCE=4; 275 +const ELF_DISABLECHANGESOURCE=8; 276 +const ELF_DISABLECANCELLINK=16; 277 + 278 +const CIF_SHOWHELP=1; 279 +const CIF_SELECTCURRENT=2; 280 +const CIF_SELECTDEFAULT=4; 281 +const CIF_SELECTFROMFILE=8; 282 +const CIF_USEICONEXE=16; 283 + 284 +const OLEUI_CIERR_MUSTHAVECLSID=OLEUI_ERR_STANDARDMAX; 285 +const OLEUI_CIERR_MUSTHAVECURRENTMETAFILE=OLEUI_ERR_STANDARDMAX+1; 286 +const OLEUI_CIERR_SZICONEXEINVALID=OLEUI_ERR_STANDARDMAX+2; 287 + 288 +const CF_SHOWHELPBUTTON=1; 289 +const CF_SETCONVERTDEFAULT=2; 290 +const CF_SETACTIVATEDEFAULT=4; 291 +const CF_SELECTCONVERTTO=8; 292 +const CF_SELECTACTIVATEAS=16; 293 +const CF_DISABLEDISPLAYASICON=32; 294 +const CF_DISABLEACTIVATEAS=64; 295 +const CF_HIDECHANGEICON=128; 296 +const CF_CONVERTONLY=256; 297 + 298 +const OLEUI_CTERR_CLASSIDINVALID = OLEUI_ERR_STANDARDMAX+1; 299 +const OLEUI_CTERR_DVASPECTINVALID = OLEUI_ERR_STANDARDMAX+2; 300 +const OLEUI_CTERR_CBFORMATINVALID = OLEUI_ERR_STANDARDMAX+3; 301 +const OLEUI_CTERR_HMETAPICTINVALID = OLEUI_ERR_STANDARDMAX+4; 302 +const OLEUI_CTERR_STRINGINVALID = OLEUI_ERR_STANDARDMAX+5; 303 + 304 +const BZ_DISABLECANCELBUTTON = 1; 305 +const BZ_DISABLESWITCHTOBUTTON = 2; 306 +const BZ_DISABLERETRYBUTTON = 4; 307 +const BZ_NOTRESPONDINGDIALOG = 8; 308 + 309 +const OLEUI_BZERR_HTASKINVALID = OLEUI_ERR_STANDARDMAX; 310 +const OLEUI_BZ_SWITCHTOSELECTED = OLEUI_ERR_STANDARDMAX+1; 311 +const OLEUI_BZ_RETRYSELECTED = OLEUI_ERR_STANDARDMAX+2; 312 +const OLEUI_BZ_CALLUNBLOCKED = OLEUI_ERR_STANDARDMAX+3; 313 + 314 +const CSF_SHOWHELP = 1; 315 +const CSF_VALIDSOURCE = 2; 316 +const CSF_ONLYGETSOURCE = 4; 317 +const CSF_EXPLORER = 8; 318 + 319 +const OLEUI_CSERR_LINKCNTRNULL = OLEUI_ERR_STANDARDMAX; 320 +const OLEUI_CSERR_LINKCNTRINVALID = OLEUI_ERR_STANDARDMAX+1; 321 +const OLEUI_CSERR_FROMNOTNULL = OLEUI_ERR_STANDARDMAX+2; 322 +const OLEUI_CSERR_TONOTNULL = OLEUI_ERR_STANDARDMAX+3; 323 +const OLEUI_CSERR_SOURCENULL = OLEUI_ERR_STANDARDMAX+4; 324 +const OLEUI_CSERR_SOURCEINVALID = OLEUI_ERR_STANDARDMAX+5; 325 +const OLEUI_CSERR_SOURCEPARSERROR = OLEUI_ERR_STANDARDMAX+6; 326 +const OLEUI_CSERR_SOURCEPARSEERROR = OLEUI_ERR_STANDARDMAX+7; 327 + 328 +const VPF_SELECTRELATIVE=1; 329 +const VPF_DISABLERELATIVE=2; 330 +const VPF_DISABLESCALE=4; 331 + 332 +align(8): 333 +extern (Windows) { 334 + alias UINT function(HWND, UINT, WPARAM, LPARAM) LPFNOLEUIHOOK; 335 +} 336 + 337 +struct OLEUIINSERTOBJECTW { 338 + DWORD cbStruct; 339 + DWORD dwFlags; 340 + HWND hWndOwner; 341 + LPCWSTR lpszCaption; 342 + LPFNOLEUIHOOK lpfnHook; 343 + LPARAM lCustData; 344 + HINSTANCE hInstance; 345 + LPCWSTR lpszTemplate; 346 + HRSRC hResource; 347 + CLSID clsid; 348 + LPWSTR lpszFile; 349 + UINT cchFile; 350 + UINT cClsidExclude; 351 + LPCLSID lpClsidExclude; 352 + IID iid; 353 + DWORD oleRender; 354 + LPFORMATETC lpFormatEtc; 355 + LPOLECLIENTSITE lpIOleClientSite; 356 + LPSTORAGE lpIStorage; 357 + PVOID *ppvObj; 358 + SCODE sc; 359 + HGLOBAL hMetaPict; 360 +} 361 +alias OLEUIINSERTOBJECTW* POLEUIINSERTOBJECTW, LPOLEUIINSERTOBJECTW; 362 + 363 +struct OLEUIINSERTOBJECTA { 364 + DWORD cbStruct; 365 + DWORD dwFlags; 366 + HWND hWndOwner; 367 + LPCSTR lpszCaption; 368 + LPFNOLEUIHOOK lpfnHook; 369 + LPARAM lCustData; 370 + HINSTANCE hInstance; 371 + LPCSTR lpszTemplate; 372 + HRSRC hResource; 373 + CLSID clsid; 374 + LPSTR lpszFile; 375 + UINT cchFile; 376 + UINT cClsidExclude; 377 + LPCLSID lpClsidExclude; 378 + IID iid; 379 + DWORD oleRender; 380 + LPFORMATETC lpFormatEtc; 381 + LPOLECLIENTSITE lpIOleClientSite; 382 + LPSTORAGE lpIStorage; 383 + PVOID *ppvObj; 384 + SCODE sc; 385 + HGLOBAL hMetaPict; 386 +} 387 +alias OLEUIINSERTOBJECTA* POLEUIINSERTOBJECTA, LPOLEUIINSERTOBJECTA; 388 + 389 +UINT OleUIInsertObjectW(LPOLEUIINSERTOBJECTW); 390 +UINT OleUIInsertObjectA(LPOLEUIINSERTOBJECTA); 391 + 392 +enum OLEUIPASTEFLAG { 393 + OLEUIPASTE_PASTEONLY, 394 + OLEUIPASTE_LINKTYPE1, 395 + OLEUIPASTE_LINKTYPE2, 396 + OLEUIPASTE_LINKTYPE3 = 4, 397 + OLEUIPASTE_LINKTYPE4 = 8, 398 + OLEUIPASTE_LINKTYPE5 = 16, 399 + OLEUIPASTE_LINKTYPE6 = 32, 400 + OLEUIPASTE_LINKTYPE7 = 64, 401 + OLEUIPASTE_LINKTYPE8 = 128, 402 + OLEUIPASTE_PASTE = 512, 403 + OLEUIPASTE_LINKANYTYPE = 1024, 404 + OLEUIPASTE_ENABLEICON = 2048 405 +} 406 + 407 +struct OLEUIPASTEENTRYW { 408 + FORMATETC fmtetc; 409 + LPCWSTR lpstrFormatName; 410 + LPCWSTR lpstrResultText; 411 + DWORD dwFlags; 412 + DWORD dwScratchSpace; 413 +} 414 +alias OLEUIPASTEENTRYW* POLEUIPASTEENTRYW, LPOLEUIPASTEENTRYW; 415 + 416 +struct OLEUIPASTEENTRYA { 417 + FORMATETC fmtetc; 418 + LPCSTR lpstrFormatName; 419 + LPCSTR lpstrResultText; 420 + DWORD dwFlags; 421 + DWORD dwScratchSpace; 422 +} 423 +alias OLEUIPASTEENTRYA* POLEUIPASTEENTRYA, LPOLEUIPASTEENTRYA; 424 + 425 +struct OLEUIPASTESPECIALW { 426 + DWORD cbStruct; 427 + DWORD dwFlags; 428 + HWND hWndOwner; 429 + LPCWSTR lpszCaption; 430 + LPFNOLEUIHOOK lpfnHook; 431 + LPARAM lCustData; 432 + HINSTANCE hInstance; 433 + LPCWSTR lpszTemplate; 434 + HRSRC hResource; 435 + LPDATAOBJECT lpSrcDataObj; 436 + LPOLEUIPASTEENTRYW arrPasteEntries; 437 + int cPasteEntries; 438 + UINT *arrLinkTypes; 439 + int cLinkTypes; 440 + UINT cClsidExclude; 441 + LPCLSID lpClsidExclude; 442 + int nSelectedIndex; 443 + BOOL fLink; 444 + HGLOBAL hMetaPict; 445 + SIZEL sizel; 446 +} 447 +alias OLEUIPASTESPECIALW* POLEUIPASTESPECIALW, LPOLEUIPASTESPECIALW; 448 + 449 +struct OLEUIPASTESPECIALA { 450 + DWORD cbStruct; 451 + DWORD dwFlags; 452 + HWND hWndOwner; 453 + LPCSTR lpszCaption; 454 + LPFNOLEUIHOOK lpfnHook; 455 + LPARAM lCustData; 456 + HINSTANCE hInstance; 457 + LPCSTR lpszTemplate; 458 + HRSRC hResource; 459 + LPDATAOBJECT lpSrcDataObj; 460 + LPOLEUIPASTEENTRYA arrPasteEntries; 461 + int cPasteEntries; 462 + UINT* arrLinkTypes; 463 + int cLinkTypes; 464 + UINT cClsidExclude; 465 + LPCLSID lpClsidExclude; 466 + int nSelectedIndex; 467 + BOOL fLink; 468 + HGLOBAL hMetaPict; 469 + SIZEL sizel; 470 +} 471 +alias OLEUIPASTESPECIALA* POLEUIPASTESPECIALA, LPOLEUIPASTESPECIALA; 472 + 473 +interface IOleUILinkContainerW : IUnknown 474 +{ 475 + HRESULT QueryInterface(REFIID, PVOID*); 476 + ULONG AddRef(); 477 + ULONG Release(); 478 + DWORD GetNextLink(DWORD dwLink); 479 + HRESULT SetLinkUpdateOptions(DWORD, DWORD); 480 + HRESULT GetLinkUpdateOptions(DWORD, PDWORD); 481 + HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); 482 + HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, BOOL*); 483 + HRESULT OpenLinkSource(DWORD); 484 + HRESULT UpdateLink(DWORD, BOOL, BOOL); 485 + HRESULT CancelLink(DWORD); 486 +} 487 +alias IOleUILinkContainerW* LPOLEUILINKCONTAINERW; 488 + 489 +interface IOleUILinkContainerA : IUnknown 490 +{ 491 + HRESULT QueryInterface(REFIID, PVOID*); 492 + ULONG AddRef(); 493 + ULONG Release(); 494 + DWORD GetNextLink(DWORD); 495 + HRESULT SetLinkUpdateOptions(DWORD, DWORD); 496 + HRESULT GetLinkUpdateOptions(DWORD, PDWORD); 497 + HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); 498 + HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL*); 499 + HRESULT OpenLinkSource(DWORD); 500 + HRESULT UpdateLink(DWORD, BOOL, BOOL); 501 + HRESULT CancelLink(DWORD); 502 +} 503 +alias IOleUILinkContainerA* LPOLEUILINKCONTAINERA; 504 + 505 +struct OLEUIEDITLINKSW { 506 + DWORD cbStruct; 507 + DWORD dwFlags; 508 + HWND hWndOwner; 509 + LPCWSTR lpszCaption; 510 + LPFNOLEUIHOOK lpfnHook; 511 + LPARAM lCustData; 512 + HINSTANCE hInstance; 513 + LPCWSTR lpszTemplate; 514 + HRSRC hResource; 515 + LPOLEUILINKCONTAINERW lpOleUILinkContainer; 516 +} 517 +alias OLEUIEDITLINKSW* POLEUIEDITLINKSW, LPOLEUIEDITLINKSW; 518 + 519 +struct OLEUIEDITLINKSA { 520 + DWORD cbStruct; 521 + DWORD dwFlags; 522 + HWND hWndOwner; 523 + LPCSTR lpszCaption; 524 + LPFNOLEUIHOOK lpfnHook; 525 + LPARAM lCustData; 526 + HINSTANCE hInstance; 527 + LPCSTR lpszTemplate; 528 + HRSRC hResource; 529 + LPOLEUILINKCONTAINERA lpOleUILinkContainer; 530 +} 531 +alias OLEUIEDITLINKSA* POLEUIEDITLINKSA, LPOLEUIEDITLINKSA; 532 + 533 +struct OLEUICHANGEICONW { 534 + DWORD cbStruct; 535 + DWORD dwFlags; 536 + HWND hWndOwner; 537 + LPCWSTR lpszCaption; 538 + LPFNOLEUIHOOK lpfnHook; 539 + LPARAM lCustData; 540 + HINSTANCE hInstance; 541 + LPCWSTR lpszTemplate; 542 + HRSRC hResource; 543 + HGLOBAL hMetaPict; 544 + CLSID clsid; 545 + WCHAR szIconExe[MAX_PATH]; 546 + int cchIconExe; 547 +} 548 +alias OLEUICHANGEICONW* POLEUICHANGEICONW, LPOLEUICHANGEICONW; 549 + 550 +struct OLEUICHANGEICONA { 551 + DWORD cbStruct; 552 + DWORD dwFlags; 553 + HWND hWndOwner; 554 + LPCSTR lpszCaption; 555 + LPFNOLEUIHOOK lpfnHook; 556 + LPARAM lCustData; 557 + HINSTANCE hInstance; 558 + LPCSTR lpszTemplate; 559 + HRSRC hResource; 560 + HGLOBAL hMetaPict; 561 + CLSID clsid; 562 + CHAR szIconExe[MAX_PATH]; 563 + int cchIconExe; 564 +} 565 +alias OLEUICHANGEICONA* POLEUICHANGEICONA, LPOLEUICHANGEICONA; 566 + 567 +struct OLEUICONVERTW { 568 + DWORD cbStruct; 569 + DWORD dwFlags; 570 + HWND hWndOwner; 571 + LPCWSTR lpszCaption; 572 + LPFNOLEUIHOOK lpfnHook; 573 + LPARAM lCustData; 574 + HINSTANCE hInstance; 575 + LPCWSTR lpszTemplate; 576 + HRSRC hResource; 577 + CLSID clsid; 578 + CLSID clsidConvertDefault; 579 + CLSID clsidActivateDefault; 580 + CLSID clsidNew; 581 + DWORD dvAspect; 582 + WORD wFormat; 583 + BOOL fIsLinkedObject; 584 + HGLOBAL hMetaPict; 585 + LPWSTR lpszUserType; 586 + BOOL fObjectsIconChanged; 587 + LPWSTR lpszDefLabel; 588 + UINT cClsidExclude; 589 + LPCLSID lpClsidExclude; 590 +} 591 +alias OLEUICONVERTW* POLEUICONVERTW, LPOLEUICONVERTW; 592 + 593 +struct OLEUICONVERTA { 594 + DWORD cbStruct; 595 + DWORD dwFlags; 596 + HWND hWndOwner; 597 + LPCSTR lpszCaption; 598 + LPFNOLEUIHOOK lpfnHook; 599 + LPARAM lCustData; 600 + HINSTANCE hInstance; 601 + LPCSTR lpszTemplate; 602 + HRSRC hResource; 603 + CLSID clsid; 604 + CLSID clsidConvertDefault; 605 + CLSID clsidActivateDefault; 606 + CLSID clsidNew; 607 + DWORD dvAspect; 608 + WORD wFormat; 609 + BOOL fIsLinkedObject; 610 + HGLOBAL hMetaPict; 611 + LPSTR lpszUserType; 612 + BOOL fObjectsIconChanged; 613 + LPSTR lpszDefLabel; 614 + UINT cClsidExclude; 615 + LPCLSID lpClsidExclude; 616 +} 617 +alias OLEUICONVERTA* POLEUICONVERTA, LPOLEUICONVERTA; 618 + 619 +struct OLEUIBUSYW { 620 + DWORD cbStruct; 621 + DWORD dwFlags; 622 + HWND hWndOwner; 623 + LPCWSTR lpszCaption; 624 + LPFNOLEUIHOOK lpfnHook; 625 + LPARAM lCustData; 626 + HINSTANCE hInstance; 627 + LPCWSTR lpszTemplate; 628 + HRSRC hResource; 629 + HTASK hTask; 630 + HWND *lphWndDialog; 631 +} 632 +alias OLEUIBUSYW* POLEUIBUSYW, LPOLEUIBUSYW; 633 + 634 +struct OLEUIBUSYA { 635 + DWORD cbStruct; 636 + DWORD dwFlags; 637 + HWND hWndOwner; 638 + LPCSTR lpszCaption; 639 + LPFNOLEUIHOOK lpfnHook; 640 + LPARAM lCustData; 641 + HINSTANCE hInstance; 642 + LPCSTR lpszTemplate; 643 + HRSRC hResource; 644 + HTASK hTask; 645 + HWND *lphWndDialog; 646 +} 647 +alias OLEUIBUSYA* POLEUIBUSYA, LPOLEUIBUSYA; 648 + 649 +struct OLEUICHANGESOURCEW { 650 + DWORD cbStruct; 651 + DWORD dwFlags; 652 + HWND hWndOwner; 653 + LPCWSTR lpszCaption; 654 + LPFNOLEUIHOOK lpfnHook; 655 + LPARAM lCustData; 656 + HINSTANCE hInstance; 657 + LPCWSTR lpszTemplate; 658 + HRSRC hResource; 659 + OPENFILENAMEW* lpOFN; 660 + DWORD dwReserved1[4]; 661 + LPOLEUILINKCONTAINERW lpOleUILinkContainer; 662 + DWORD dwLink; 663 + LPWSTR lpszDisplayName; 664 + ULONG nFileLength; 665 + LPWSTR lpszFrom; 666 + LPWSTR lpszTo; 667 +} 668 +alias OLEUICHANGESOURCEW* POLEUICHANGESOURCEW, LPOLEUICHANGESOURCEW; 669 + 670 +struct OLEUICHANGESOURCEA { 671 + DWORD cbStruct; 672 + DWORD dwFlags; 673 + HWND hWndOwner; 674 + LPCSTR lpszCaption; 675 + LPFNOLEUIHOOK lpfnHook; 676 + LPARAM lCustData; 677 + HINSTANCE hInstance; 678 + LPCSTR lpszTemplate; 679 + HRSRC hResource; 680 + OPENFILENAMEA *lpOFN; 681 + DWORD dwReserved1[4]; 682 + LPOLEUILINKCONTAINERA lpOleUILinkContainer; 683 + DWORD dwLink; 684 + LPSTR lpszDisplayName; 685 + ULONG nFileLength; 686 + LPSTR lpszFrom; 687 + LPSTR lpszTo; 688 +} 689 +alias OLEUICHANGESOURCEA* POLEUICHANGESOURCEA, LPOLEUICHANGESOURCEA; 690 + 691 +interface IOleUIObjInfoW : IUnknown 692 +{ 693 + HRESULT QueryInterface(REFIID, PVOID*); 694 + ULONG AddRef(); 695 + ULONG Release(); 696 + HRESULT GetObjectInfo(DWORD, PDWORD, LPWSTR*, LPWSTR*, LPWSTR*, LPWSTR*); 697 + HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); 698 + HRESULT ConvertObject(DWORD, REFCLSID); 699 + HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); 700 + HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); 701 +} 702 +alias IOleUIObjInfoW *LPOLEUIOBJINFOW; 703 + 704 +interface IOleUIObjInfoA : IUnknown 705 +{ 706 + HRESULT QueryInterface(REFIID, PVOID*); 707 + ULONG AddRef(); 708 + ULONG Release(); 709 + HRESULT GetObjectInfo(DWORD, PDWORD, LPSTR*, LPSTR*, LPSTR*, LPSTR*); 710 + HRESULT GetConvertInfo(DWORD, CLSID*, PWORD, CLSID*, LPCLSID*, UINT*); 711 + HRESULT ConvertObject(DWORD, REFCLSID); 712 + HRESULT GetViewInfo(DWORD, HGLOBAL*, PDWORD, int*); 713 + HRESULT SetViewInfo(DWORD, HGLOBAL, DWORD, int, BOOL); 714 +} 715 +alias IOleUIObjInfoA *LPOLEUIOBJINFOA; 716 + 717 +interface IOleUILinkInfoW : IOleUILinkContainerW 718 +{ 719 + HRESULT QueryInterface(REFIID, PVOID*); 720 + ULONG AddRef(); 721 + ULONG Release(); 722 + DWORD GetNextLink(DWORD); 723 + HRESULT SetLinkUpdateOptions(DWORD, DWORD); 724 + HRESULT GetLinkUpdateOptions(DWORD, DWORD*); 725 + HRESULT SetLinkSource(DWORD, LPWSTR, ULONG, PULONG, BOOL); 726 + HRESULT GetLinkSource(DWORD, LPWSTR*, PULONG, LPWSTR*, LPWSTR*, BOOL*, BOOL*); 727 + HRESULT OpenLinkSource(DWORD); 728 + HRESULT UpdateLink(DWORD, BOOL, BOOL); 729 + HRESULT CancelLink(DWORD); 730 + HRESULT GetLastUpdate(DWORD, FILETIME*); 731 +} 732 +alias IOleUILinkInfoW *LPOLEUILINKINFOW; 733 + 734 +interface IOleUILinkInfoA : IOleUILinkContainerA 735 +{ 736 + HRESULT QueryInterface(REFIID, PVOID*); 737 + ULONG AddRef(); 738 + ULONG Release(); 739 + DWORD GetNextLink(DWORD); 740 + HRESULT SetLinkUpdateOptions(DWORD, DWORD); 741 + HRESULT GetLinkUpdateOptions(DWORD, DWORD*); 742 + HRESULT SetLinkSource(DWORD, LPSTR, ULONG, PULONG, BOOL); 743 + HRESULT GetLinkSource(DWORD, LPSTR*, PULONG, LPSTR*, LPSTR*, BOOL*, BOOL*); 744 + HRESULT OpenLinkSource(DWORD); 745 + HRESULT UpdateLink(DWORD, BOOL, BOOL); 746 + HRESULT CancelLink(DWORD); 747 + HRESULT GetLastUpdate(DWORD, FILETIME*); 748 +} 749 +alias IOleUILinkInfoA* LPOLEUILINKINFOA; 750 + 751 +struct OLEUIGNRLPROPSW { 752 + DWORD cbStruct; 753 + DWORD dwFlags; 754 + DWORD dwReserved1[2]; 755 + LPFNOLEUIHOOK lpfnHook; 756 + LPARAM lCustData; 757 + DWORD dwReserved2[3]; 758 + OLEUIOBJECTPROPSW* lpOP; 759 +} 760 +alias OLEUIGNRLPROPSW* POLEUIGNRLPROPSW, LPOLEUIGNRLPROPSW; 761 + 762 +struct OLEUIGNRLPROPSA { 763 + DWORD cbStruct; 764 + DWORD dwFlags; 765 + DWORD dwReserved1[2]; 766 + LPFNOLEUIHOOK lpfnHook; 767 + LPARAM lCustData; 768 + DWORD dwReserved2[3]; 769 + OLEUIOBJECTPROPSA* lpOP; 770 +} 771 +alias OLEUIGNRLPROPSA* POLEUIGNRLPROPSA, LPOLEUIGNRLPROPSA; 772 + 773 +struct OLEUIVIEWPROPSW { 774 + DWORD cbStruct; 775 + DWORD dwFlags; 776 + DWORD dwReserved1[2]; 777 + LPFNOLEUIHOOK lpfnHook; 778 + LPARAM lCustData; 779 + DWORD dwReserved2[3]; 780 + OLEUIOBJECTPROPSW* lpOP; 781 + int nScaleMin; 782 + int nScaleMax; 783 +} 784 +alias OLEUIVIEWPROPSW* POLEUIVIEWPROPSW, LPOLEUIVIEWPROPSW; 785 + 786 +struct OLEUIVIEWPROPSA { 787 + DWORD cbStruct; 788 + DWORD dwFlags; 789 + DWORD dwReserved1[2]; 790 + LPFNOLEUIHOOK lpfnHook; 791 + LPARAM lCustData; 792 + DWORD dwReserved2[3]; 793 + OLEUIOBJECTPROPSA *lpOP; 794 + int nScaleMin; 795 + int nScaleMax; 796 +} 797 +alias OLEUIVIEWPROPSA* POLEUIVIEWPROPSA, LPOLEUIVIEWPROPSA; 798 + 799 +struct OLEUILINKPROPSW { 800 + DWORD cbStruct; 801 + DWORD dwFlags; 802 + DWORD dwReserved1[2]; 803 + LPFNOLEUIHOOK lpfnHook; 804 + LPARAM lCustData; 805 + DWORD dwReserved2[3]; 806 + OLEUIOBJECTPROPSW *lpOP; 807 +} 808 +alias OLEUILINKPROPSW* POLEUILINKPROPSW, LPOLEUILINKPROPSW; 809 + 810 +struct OLEUILINKPROPSA { 811 + DWORD cbStruct; 812 + DWORD dwFlags; 813 + DWORD dwReserved1[2]; 814 + LPFNOLEUIHOOK lpfnHook; 815 + LPARAM lCustData; 816 + DWORD dwReserved2[3]; 817 + OLEUIOBJECTPROPSA* lpOP; 818 +} 819 +alias OLEUILINKPROPSA* POLEUILINKPROPSA, LPOLEUILINKPROPSA; 820 + 821 +struct OLEUIOBJECTPROPSW { 822 + DWORD cbStruct; 823 + DWORD dwFlags; 824 + LPPROPSHEETHEADERW lpPS; 825 + DWORD dwObject; 826 + LPOLEUIOBJINFOW lpObjInfo; 827 + DWORD dwLink; 828 + LPOLEUILINKINFOW lpLinkInfo; 829 + LPOLEUIGNRLPROPSW lpGP; 830 + LPOLEUIVIEWPROPSW lpVP; 831 + LPOLEUILINKPROPSW lpLP; 832 +} 833 +alias OLEUIOBJECTPROPSW* POLEUIOBJECTPROPSW, LPOLEUIOBJECTPROPSW; 834 + 835 +struct OLEUIOBJECTPROPSA { 836 + DWORD cbStruct; 837 + DWORD dwFlags; 838 + LPPROPSHEETHEADERA lpPS; 839 + DWORD dwObject; 840 + LPOLEUIOBJINFOA lpObjInfo; 841 + DWORD dwLink; 842 + LPOLEUILINKINFOA lpLinkInfo; 843 + LPOLEUIGNRLPROPSA lpGP; 844 + LPOLEUIVIEWPROPSA lpVP; 845 + LPOLEUILINKPROPSA lpLP; 846 +} 847 +alias OLEUIOBJECTPROPSA* POLEUIOBJECTPROPSA, LPOLEUIOBJECTPROPSA; 848 + 849 +extern (Windows) { 850 + BOOL OleUIAddVerbMenuW(LPOLEOBJECT, LPCWSTR, HMENU, UINT, UINT, UINT, BOOL, UINT, HMENU*); 851 + BOOL OleUIAddVerbMenuA(LPOLEOBJECT, LPCSTR, HMENU, UINT, UINT, UINT, BOOL, UINT, HMENU*); 852 + UINT OleUIBusyW(LPOLEUIBUSYW); 853 + UINT OleUIBusyA(LPOLEUIBUSYA); 854 + BOOL OleUICanConvertOrActivateAs(REFCLSID, BOOL, WORD); 855 + UINT OleUIChangeIconW(LPOLEUICHANGEICONW); 856 + UINT OleUIChangeIconA(LPOLEUICHANGEICONA); 857 + UINT OleUIChangeSourceW(LPOLEUICHANGESOURCEW); 858 + UINT OleUIChangeSourceA(LPOLEUICHANGESOURCEA); 859 + UINT OleUIConvertW(LPOLEUICONVERTW); 860 + UINT OleUIConvertA(LPOLEUICONVERTA); 861 + UINT OleUIEditLinksW(LPOLEUIEDITLINKSW); 862 + UINT OleUIEditLinksA(LPOLEUIEDITLINKSA); 863 + UINT OleUIObjectPropertiesW(LPOLEUIOBJECTPROPSW); 864 + UINT OleUIObjectPropertiesA(LPOLEUIOBJECTPROPSA); 865 + UINT OleUIPasteSpecialW(LPOLEUIPASTESPECIALW); 866 + UINT OleUIPasteSpecialA(LPOLEUIPASTESPECIALA); 867 + BOOL OleUIUpdateLinksW(LPOLEUILINKCONTAINERW, HWND, LPWSTR, int); 868 + BOOL OleUIUpdateLinksA(LPOLEUILINKCONTAINERA, HWND, LPSTR, int); 869 +} 870 + 871 +extern (C) { 872 + int OleUIPromptUserW(int, HWND, ...); 873 + int OleUIPromptUserA(int, HWND, ...); 874 +} 875 + 876 +version(Unicode) { 877 + alias IDD_SERVERNOTREGW IDD_SERVERNOTREG; 878 + alias IDD_LINKTYPECHANGEDW IDD_LINKTYPECHANGED; 879 + alias OleUIUpdateLinksW OleUIUpdateLinks; 880 + alias OleUIAddVerbMenuW OleUIAddVerbMenu; 881 + alias OLEUIOBJECTPROPSW OLEUIOBJECTPROPS; 882 + alias POLEUIOBJECTPROPSW POLEUIOBJECTPROPS; 883 + alias LPOLEUIOBJECTPROPSW LPOLEUIOBJECTPROPS; 884 + alias OleUIObjectPropertiesW OleUIObjectProperties; 885 + alias OLEUIINSERTOBJECTW OLEUIINSERTOBJECT; 886 + alias POLEUIINSERTOBJECTW POLEUIINSERTOBJECT; 887 + alias LPOLEUIINSERTOBJECTW LPOLEUIINSERTOBJECT; 888 + alias OleUIInsertObjectW OleUIInsertObject; 889 + alias OleUIPromptUserW OleUIPromptUser; 890 + alias OLEUIPASTEENTRYW OLEUIPASTEENTRY; 891 + alias POLEUIPASTEENTRYW POLEUIPASTEENTRY; 892 + alias LPOLEUIPASTEENTRYW LPOLEUIPASTEENTRY; 893 + alias OLEUIPASTESPECIALW OLEUIPASTESPECIAL; 894 + alias POLEUIPASTESPECIALW POLEUIPASTESPECIAL; 895 + alias LPOLEUIPASTESPECIALW LPOLEUIPASTESPECIAL; 896 + alias OleUIPasteSpecialW OleUIPasteSpecial; 897 + alias IOleUILinkContainerW IOleUILinkContainer; 898 + alias LPOLEUILINKCONTAINERW LPOLEUILINKCONTAINER; 899 + alias OLEUIEDITLINKSW OLEUIEDITLINKS; 900 + alias POLEUIEDITLINKSW POLEUIEDITLINKS; 901 + alias LPOLEUIEDITLINKSW LPOLEUIEDITLINKS; 902 + alias OleUIEditLinksW OleUIEditLinks; 903 + alias OLEUICHANGEICONW OLEUICHANGEICON; 904 + alias POLEUICHANGEICONW POLEUICHANGEICON; 905 + alias LPOLEUICHANGEICONW LPOLEUICHANGEICON; 906 + alias OleUIChangeIconW OleUIChangeIcon; 907 + alias OLEUICONVERTW OLEUICONVERT; 908 + alias POLEUICONVERTW POLEUICONVERT; 909 + alias LPOLEUICONVERTW LPOLEUICONVERT; 910 + alias OleUIConvertW OleUIConvert; 911 + alias OLEUIBUSYW OLEUIBUSY; 912 + alias POLEUIBUSYW POLEUIBUSY; 913 + alias LPOLEUIBUSYW LPOLEUIBUSY; 914 + alias OleUIBusyW OleUIBusy; 915 + alias OLEUICHANGESOURCEW OLEUICHANGESOURCE; 916 + alias POLEUICHANGESOURCEW POLEUICHANGESOURCE; 917 + alias LPOLEUICHANGESOURCEW LPOLEUICHANGESOURCE; 918 + alias OleUIChangeSourceW OleUIChangeSource; 919 + alias IOleUIObjInfoW IOleUIObjInfo; 920 + alias LPOLEUIOBJINFOW LPOLEUIOBJINFO; 921 + alias IOleUILinkInfoW IOleUILinkInfo; 922 + //alias IOleUILinkInfoWVtbl IOleUILinkInfoVtbl; 923 + alias LPOLEUILINKINFOW LPOLEUILINKINFO; 924 + alias OLEUIGNRLPROPSW OLEUIGNRLPROPS; 925 + alias POLEUIGNRLPROPSW POLEUIGNRLPROPS; 926 + alias LPOLEUIGNRLPROPSW LPOLEUIGNRLPROPS; 927 + alias OLEUIVIEWPROPSW OLEUIVIEWPROPS; 928 + alias POLEUIVIEWPROPSW POLEUIVIEWPROPS; 929 + alias LPOLEUIVIEWPROPSW LPOLEUIVIEWPROPS; 930 + alias OLEUILINKPROPSW OLEUILINKPROPS; 931 + alias POLEUILINKPROPSW POLEUILINKPROPS; 932 + alias LPOLEUILINKPROPSW LPOLEUILINKPROPS; 933 +} else { 934 + alias IDD_SERVERNOTREGA IDD_SERVERNOTREG; 935 + alias IDD_LINKTYPECHANGEDA IDD_LINKTYPECHANGED; 936 + alias OleUIUpdateLinksA OleUIUpdateLinks; 937 + alias OleUIAddVerbMenuA OleUIAddVerbMenu; 938 + alias OLEUIOBJECTPROPSA OLEUIOBJECTPROPS; 939 + alias POLEUIOBJECTPROPSA POLEUIOBJECTPROPS; 940 + alias LPOLEUIOBJECTPROPSA LPOLEUIOBJECTPROPS; 941 + alias OleUIObjectPropertiesA OleUIObjectProperties; 942 + alias OLEUIINSERTOBJECTA OLEUIINSERTOBJECT; 943 + alias POLEUIINSERTOBJECTA POLEUIINSERTOBJECT; 944 + alias LPOLEUIINSERTOBJECTA LPOLEUIINSERTOBJECT; 945 + alias OleUIInsertObjectA OleUIInsertObject; 946 + alias OleUIPromptUserA OleUIPromptUser; 947 + alias OLEUIPASTEENTRYA OLEUIPASTEENTRY; 948 + alias POLEUIPASTEENTRYA POLEUIPASTEENTRY; 949 + alias LPOLEUIPASTEENTRYA LPOLEUIPASTEENTRY; 950 + alias OLEUIPASTESPECIALA OLEUIPASTESPECIAL; 951 + alias POLEUIPASTESPECIALA POLEUIPASTESPECIAL; 952 + alias LPOLEUIPASTESPECIALA LPOLEUIPASTESPECIAL; 953 + alias OleUIPasteSpecialA OleUIPasteSpecial; 954 + alias IOleUILinkContainerA IOleUILinkContainer; 955 + alias LPOLEUILINKCONTAINERA LPOLEUILINKCONTAINER; 956 + alias OLEUIEDITLINKSA OLEUIEDITLINKS; 957 + alias POLEUIEDITLINKSA POLEUIEDITLINKS; 958 + alias LPOLEUIEDITLINKSA LPOLEUIEDITLINKS; 959 + alias OleUIEditLinksA OleUIEditLinks; 960 + alias OLEUICHANGEICONA OLEUICHANGEICON; 961 + alias POLEUICHANGEICONA POLEUICHANGEICON; 962 + alias LPOLEUICHANGEICONA LPOLEUICHANGEICON; 963 + alias OleUIChangeIconA OleUIChangeIcon; 964 + alias OLEUICONVERTA OLEUICONVERT; 965 + alias POLEUICONVERTA POLEUICONVERT; 966 + alias LPOLEUICONVERTA LPOLEUICONVERT; 967 + alias OleUIConvertA OleUIConvert; 968 + alias OLEUIBUSYA OLEUIBUSY; 969 + alias POLEUIBUSYA POLEUIBUSY; 970 + alias LPOLEUIBUSYA LPOLEUIBUSY; 971 + alias OleUIBusyA OleUIBusy; 972 + alias OLEUICHANGESOURCEA OLEUICHANGESOURCE; 973 + alias POLEUICHANGESOURCEA POLEUICHANGESOURCE; 974 + alias LPOLEUICHANGESOURCEA LPOLEUICHANGESOURCE; 975 + alias OleUIChangeSourceA OleUIChangeSource; 976 + alias IOleUIObjInfoA IOleUIObjInfo; 977 + alias LPOLEUIOBJINFOA LPOLEUIOBJINFO; 978 + alias IOleUILinkInfoA IOleUILinkInfo; 979 + //alias IOleUILinkInfoAVtbl IOleUILinkInfoVtbl; 980 + alias LPOLEUILINKINFOA LPOLEUILINKINFO; 981 + alias OLEUIGNRLPROPSA OLEUIGNRLPROPS; 982 + alias POLEUIGNRLPROPSA POLEUIGNRLPROPS; 983 + alias LPOLEUIGNRLPROPSA LPOLEUIGNRLPROPS; 984 + alias OLEUIVIEWPROPSA OLEUIVIEWPROPS; 985 + alias POLEUIVIEWPROPSA POLEUIVIEWPROPS; 986 + alias LPOLEUIVIEWPROPSA LPOLEUIVIEWPROPS; 987 + alias OLEUILINKPROPSA OLEUILINKPROPS; 988 + alias POLEUILINKPROPSA POLEUILINKPROPS; 989 + alias LPOLEUILINKPROPSA LPOLEUILINKPROPS; 990 +}

Added src/win32/oleidl.d version [0d8181c3ae90ee78]

1 +/***********************************************************************\ 2 +* oleidl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.oleidl; 11 + 12 +// DAC: This is defined in ocidl !! 13 +// what is it doing in here? 14 +//alias IEnumOleUndoUnits* LPENUMOLEUNDOUNITS; 15 + 16 +private import win32.basetyps, win32.objidl, win32.unknwn, win32.windef, 17 + win32.winuser, win32.wtypes; 18 +private import win32.objfwd; // for LPMONIKER 19 +private import win32.wingdi; // for LPLOGPALETTE 20 + 21 +const MK_ALT = 32; 22 + 23 +enum BINDSPEED { 24 + BINDSPEED_INDEFINITE = 1, 25 + BINDSPEED_MODERATE, 26 + BINDSPEED_IMMEDIATE 27 +} 28 + 29 +enum OLEWHICHMK { 30 + OLEWHICHMK_CONTAINER = 1, 31 + OLEWHICHMK_OBJREL, 32 + OLEWHICHMK_OBJFULL 33 +} 34 + 35 +enum OLEGETMONIKER { 36 + OLEGETMONIKER_ONLYIFTHERE = 1, 37 + OLEGETMONIKER_FORCEASSIGN, 38 + OLEGETMONIKER_UNASSIGN, 39 + OLEGETMONIKER_TEMPFORUSER 40 +} 41 + 42 +enum USERCLASSTYPE { 43 + USERCLASSTYPE_FULL = 1, 44 + USERCLASSTYPE_SHORT, 45 + USERCLASSTYPE_APPNAME 46 +} 47 + 48 +enum DROPEFFECT { 49 + DROPEFFECT_NONE = 0, 50 + DROPEFFECT_COPY = 1, 51 + DROPEFFECT_MOVE = 2, 52 + DROPEFFECT_LINK = 4, 53 + DROPEFFECT_SCROLL = 0x80000000 54 +} 55 + 56 +struct OLEMENUGROUPWIDTHS { 57 + LONG width[6]; 58 +} 59 +alias OLEMENUGROUPWIDTHS* LPOLEMENUGROUPWIDTHS; 60 + 61 +alias HGLOBAL HOLEMENU; 62 + 63 +enum OLECLOSE { 64 + OLECLOSE_SAVEIFDIRTY, 65 + OLECLOSE_NOSAVE, 66 + OLECLOSE_PROMPTSAVE 67 +} 68 + 69 +struct OLEVERB { 70 + LONG lVerb; 71 + LPWSTR lpszVerbName; 72 + DWORD fuFlags; 73 + DWORD grfAttribs; 74 +} 75 +alias OLEVERB* LPOLEVERB; 76 + 77 +alias RECT BORDERWIDTHS; 78 +alias LPRECT LPBORDERWIDTHS; 79 +alias LPCRECT LPCBORDERWIDTHS; 80 + 81 +struct OLEINPLACEFRAMEINFO { 82 + UINT cb; 83 + BOOL fMDIApp; 84 + HWND hwndFrame; 85 + HACCEL haccel; 86 + UINT cAccelEntries; 87 +} 88 +alias OLEINPLACEFRAMEINFO* LPOLEINPLACEFRAMEINFO; 89 + 90 +interface IEnumOLEVERB : IUnknown 91 +{ 92 + HRESULT Next(ULONG,OLEVERB*,ULONG*); 93 + HRESULT Skip(ULONG); 94 + HRESULT Reset(); 95 + HRESULT Clone(IEnumOLEVERB**); 96 +} 97 +//alias IEnumOLEVERB IEnumOleVerb; 98 +alias IEnumOLEVERB LPENUMOLEVERB; 99 + 100 + 101 +interface IParseDisplayName : IUnknown { 102 + HRESULT ParseDisplayName(IBindCtx*,LPOLESTR,ULONG*,IMoniker**); 103 +} 104 +alias IParseDisplayName LPPARSEDISPLAYNAME; 105 + 106 +interface IOleContainer : IParseDisplayName { 107 + HRESULT EnumObjects(DWORD,IEnumUnknown**); 108 + HRESULT LockContainer(BOOL); 109 +} 110 +alias IOleContainer LPOLECONTAINER; 111 + 112 +interface IOleItemContainer : IOleContainer { 113 + HRESULT GetObject(LPOLESTR,DWORD,IBindCtx*,REFIID,void**); 114 + HRESULT GetObjectStorage(LPOLESTR,IBindCtx*,REFIID,void**); 115 + HRESULT IsRunning(LPOLESTR); 116 +} 117 + 118 + 119 +interface IOleClientSite : IUnknown { 120 + HRESULT SaveObject(); 121 + HRESULT GetMoniker(DWORD,DWORD,LPMONIKER*); 122 + HRESULT GetContainer(LPOLECONTAINER*); 123 + HRESULT ShowObject(); 124 + HRESULT OnShowWindow(BOOL); 125 + HRESULT RequestNewObjectLayout(); 126 +} 127 +alias IOleClientSite LPOLECLIENTSITE; 128 + 129 +interface IOleObject : IUnknown { 130 + HRESULT SetClientSite(LPOLECLIENTSITE); 131 + HRESULT GetClientSite(LPOLECLIENTSITE*); 132 + HRESULT SetHostNames(LPCOLESTR,LPCOLESTR); 133 + HRESULT Close(DWORD); 134 + HRESULT SetMoniker(DWORD,LPMONIKER); 135 + HRESULT GetMoniker(DWORD,DWORD,LPMONIKER*); 136 + HRESULT InitFromData(LPDATAOBJECT,BOOL,DWORD); 137 + HRESULT GetClipboardData(DWORD,LPDATAOBJECT*); 138 + HRESULT DoVerb(LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT); 139 + HRESULT EnumVerbs(LPENUMOLEVERB*); 140 + HRESULT Update(); 141 + HRESULT IsUpToDate(); 142 + HRESULT GetUserClassID(LPCLSID); 143 + HRESULT GetUserType(DWORD,LPOLESTR*); 144 + HRESULT SetExtent(DWORD,SIZEL*); 145 + HRESULT GetExtent(DWORD,SIZEL*); 146 + HRESULT Advise(LPADVISESINK,PDWORD); 147 + HRESULT Unadvise(DWORD); 148 + HRESULT EnumAdvise(LPENUMSTATDATA*); 149 + HRESULT GetMiscStatus(DWORD,PDWORD); 150 + HRESULT SetColorScheme(LPLOGPALETTE); 151 +} 152 +alias IOleObject LPOLEOBJECT; 153 + 154 +interface IOleWindow : IUnknown { 155 + HRESULT GetWindow(HWND*); 156 + HRESULT ContextSensitiveHelp(BOOL); 157 +} 158 +alias IOleWindow LPOLEWINDOW; 159 + 160 +interface IOleInPlaceUIWindow : IOleWindow { 161 + HRESULT GetBorder(LPRECT); 162 + HRESULT RequestBorderSpace(LPCBORDERWIDTHS); 163 + HRESULT SetBorderSpace(LPCBORDERWIDTHS); 164 + HRESULT SetActiveObject(LPOLEINPLACEACTIVEOBJECT,LPCOLESTR); 165 +} 166 +alias IOleInPlaceUIWindow LPOLEINPLACEUIWINDOW; 167 + 168 +interface IOleInPlaceObject : IOleWindow { 169 + HRESULT InPlaceDeactivate(); 170 + HRESULT UIDeactivate(); 171 + HRESULT SetObjectRects(LPCRECT,LPCRECT); 172 + HRESULT ReactivateAndUndo(); 173 +} 174 + 175 + 176 +interface IOleInPlaceActiveObject : IOleWindow { 177 + HRESULT TranslateAccelerator(LPMSG); 178 + HRESULT OnFrameWindowActivate(BOOL); 179 + HRESULT OnDocWindowActivate(BOOL); 180 + HRESULT ResizeBorder(LPCRECT,LPOLEINPLACEUIWINDOW,BOOL); 181 + HRESULT EnableModeless(BOOL); 182 +} 183 +alias IOleInPlaceActiveObject LPOLEINPLACEACTIVEOBJECT; 184 + 185 +interface IOleInPlaceFrame : IOleInPlaceUIWindow { 186 + HRESULT InsertMenus(HMENU,LPOLEMENUGROUPWIDTHS); 187 + HRESULT SetMenu(HMENU,HOLEMENU,HWND); 188 + HRESULT RemoveMenus(HMENU); 189 + HRESULT SetStatusText(LPCOLESTR); 190 + HRESULT EnableModeless(BOOL); 191 + HRESULT TranslateAccelerator(LPMSG,WORD); 192 +} 193 +alias IOleInPlaceFrame LPOLEINPLACEFRAME; 194 + 195 +interface IOleInPlaceSite : IOleWindow { 196 + HRESULT CanInPlaceActivate(); 197 + HRESULT OnInPlaceActivate(); 198 + HRESULT OnUIActivate(); 199 + HRESULT GetWindowContext(IOleInPlaceFrame*,IOleInPlaceUIWindow*,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO); 200 + HRESULT Scroll(SIZE); 201 + HRESULT OnUIDeactivate(BOOL); 202 + HRESULT OnInPlaceDeactivate(); 203 + HRESULT DiscardUndoState(); 204 + HRESULT DeactivateAndUndo(); 205 + HRESULT OnPosRectChange(LPCRECT); 206 +} 207 + 208 +interface IOleAdviseHolder : IUnknown { 209 + HRESULT Advise(LPADVISESINK,PDWORD); 210 + HRESULT Unadvise(DWORD); 211 + HRESULT EnumAdvise(LPENUMSTATDATA*); 212 + HRESULT SendOnRename(LPMONIKER); 213 + HRESULT SendOnSave(); 214 + HRESULT SendOnClose(); 215 +} 216 +alias IOleAdviseHolder LPOLEADVISEHOLDER; 217 + 218 +interface IDropSource : IUnknown { 219 + HRESULT QueryContinueDrag(BOOL,DWORD); 220 + HRESULT GiveFeedback(DWORD); 221 +} 222 +alias IDropSource LPDROPSOURCE; 223 + 224 +interface IDropTarget : IUnknown { 225 + HRESULT DragEnter(LPDATAOBJECT,DWORD,POINTL,PDWORD); 226 + HRESULT DragOver(DWORD,POINTL,PDWORD); 227 + HRESULT DragLeave(); 228 + HRESULT Drop(LPDATAOBJECT,DWORD,POINTL,PDWORD); 229 +} 230 +alias IDropTarget LPDROPTARGET; 231 + 232 +extern (Windows) { 233 + alias BOOL function(DWORD) __IView_pfncont; 234 +} 235 + 236 +interface IViewObject : IUnknown { 237 + HRESULT Draw(DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD); 238 + HRESULT GetColorSet(DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*); 239 + HRESULT Freeze(DWORD,LONG,PVOID,PDWORD); 240 + HRESULT Unfreeze(DWORD); 241 + HRESULT SetAdvise(DWORD,DWORD,IAdviseSink*); 242 + HRESULT GetAdvise(PDWORD,PDWORD,IAdviseSink**); 243 +} 244 +alias IViewObject LPVIEWOBJECT; 245 + 246 +interface IViewObject2 : IViewObject { 247 + HRESULT GetExtent(DWORD,LONG,DVTARGETDEVICE*,LPSIZEL); 248 +} 249 +alias IViewObject2 LPVIEWOBJECT2; 250 + 251 +interface IOleCache : IUnknown { 252 + HRESULT Cache(FORMATETC*,DWORD,DWORD*); 253 + HRESULT Uncache(DWORD); 254 + HRESULT EnumCache(IEnumSTATDATA**); 255 + HRESULT InitCache(LPDATAOBJECT); 256 + HRESULT SetData(FORMATETC*,STGMEDIUM*,BOOL); 257 +} 258 +alias IOleCache LPOLECACHE; 259 + 260 +interface IOleCache2 : IOleCache { 261 + HRESULT UpdateCache(LPDATAOBJECT,DWORD,LPVOID); 262 + HRESULT DiscardCache(DWORD); 263 +} 264 +alias IOleCache2 LPOLECACHE2; 265 + 266 +interface IOleCacheControl : IUnknown { 267 + HRESULT OnRun(LPDATAOBJECT); 268 + HRESULT OnStop(); 269 +} 270 +alias IOleCacheControl LPOLECACHECONTROL;

Added src/win32/pbt.d version [2dc3980bf690d05f]

1 +/***********************************************************************\ 2 +* pbt.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.pbt; 12 + 13 +private import win32.windef; 14 + 15 +enum : WPARAM { 16 + PBT_APMQUERYSUSPEND, 17 + PBT_APMQUERYSTANDBY, 18 + PBT_APMQUERYSUSPENDFAILED, 19 + PBT_APMQUERYSTANDBYFAILED, 20 + PBT_APMSUSPEND, 21 + PBT_APMSTANDBY, 22 + PBT_APMRESUMECRITICAL, 23 + PBT_APMRESUMESUSPEND, 24 + PBT_APMRESUMESTANDBY, 25 + PBT_APMBATTERYLOW, 26 + PBT_APMPOWERSTATUSCHANGE, 27 + PBT_APMOEMEVENT // = 11 28 +} 29 + 30 +const LPARAM PBTF_APMRESUMEFROMFAILURE = 1;

Added src/win32/powrprof.d version [db10623ed83eba41]

1 +/***********************************************************************\ 2 +* powrprof.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.powrprof; 12 +pragma(lib, "powrprof.lib"); 13 + 14 +private import win32.windef; 15 +private import win32.ntdef; 16 + 17 +// FIXME: look up Windows version support 18 + 19 +const ULONG 20 + EnableSysTrayBatteryMeter = 1, 21 + EnableMultiBatteryDisplay = 2, 22 + EnablePasswordLogon = 4, 23 + EnableWakeOnRing = 8, 24 + EnableVideoDimDisplay = 16; 25 + 26 +const UINT NEWSCHEME = -1; 27 + 28 +struct GLOBAL_MACHINE_POWER_POLICY { 29 + ULONG Revision; 30 + SYSTEM_POWER_STATE LidOpenWakeAc; 31 + SYSTEM_POWER_STATE LidOpenWakeDc; 32 + ULONG BroadcastCapacityResolution; 33 +} 34 +alias GLOBAL_MACHINE_POWER_POLICY* PGLOBAL_MACHINE_POWER_POLICY; 35 + 36 +struct GLOBAL_USER_POWER_POLICY { 37 + ULONG Revision; 38 + POWER_ACTION_POLICY PowerButtonAc; 39 + POWER_ACTION_POLICY PowerButtonDc; 40 + POWER_ACTION_POLICY SleepButtonAc; 41 + POWER_ACTION_POLICY SleepButtonDc; 42 + POWER_ACTION_POLICY LidCloseAc; 43 + POWER_ACTION_POLICY LidCloseDc; 44 + SYSTEM_POWER_LEVEL[NUM_DISCHARGE_POLICIES] DischargePolicy; 45 + ULONG GlobalFlags; 46 +} 47 +alias GLOBAL_USER_POWER_POLICY* PGLOBAL_USER_POWER_POLICY; 48 + 49 +struct GLOBAL_POWER_POLICY { 50 + GLOBAL_USER_POWER_POLICY user; 51 + GLOBAL_MACHINE_POWER_POLICY mach; 52 +} 53 +alias GLOBAL_POWER_POLICY* PGLOBAL_POWER_POLICY; 54 + 55 +struct MACHINE_POWER_POLICY { 56 + ULONG Revision; 57 + SYSTEM_POWER_STATE MinSleepAc; 58 + SYSTEM_POWER_STATE MinSleepDc; 59 + SYSTEM_POWER_STATE ReducedLatencySleepAc; 60 + SYSTEM_POWER_STATE ReducedLatencySleepDc; 61 + ULONG DozeTimeoutAc; 62 + ULONG DozeTimeoutDc; 63 + ULONG DozeS4TimeoutAc; 64 + ULONG DozeS4TimeoutDc; 65 + UCHAR MinThrottleAc; 66 + UCHAR MinThrottleDc; 67 + UCHAR[2] pad1; 68 + POWER_ACTION_POLICY OverThrottledAc; 69 + POWER_ACTION_POLICY OverThrottledDc; 70 +} 71 +alias MACHINE_POWER_POLICY* PMACHINE_POWER_POLICY; 72 + 73 +struct MACHINE_PROCESSOR_POWER_POLICY { 74 + ULONG Revision; 75 + PROCESSOR_POWER_POLICY ProcessorPolicyAc; 76 + PROCESSOR_POWER_POLICY ProcessorPolicyDc; 77 +} 78 +alias MACHINE_PROCESSOR_POWER_POLICY* PMACHINE_PROCESSOR_POWER_POLICY; 79 + 80 +struct USER_POWER_POLICY { 81 + ULONG Revision; 82 + POWER_ACTION_POLICY IdleAc; 83 + POWER_ACTION_POLICY IdleDc; 84 + ULONG IdleTimeoutAc; 85 + ULONG IdleTimeoutDc; 86 + UCHAR IdleSensitivityAc; 87 + UCHAR IdleSensitivityDc; 88 + UCHAR ThrottlePolicyAc; 89 + UCHAR ThrottlePolicyDc; 90 + SYSTEM_POWER_STATE MaxSleepAc; 91 + SYSTEM_POWER_STATE MaxSleepDc; 92 + ULONG[2] Reserved; 93 + ULONG VideoTimeoutAc; 94 + ULONG VideoTimeoutDc; 95 + ULONG SpindownTimeoutAc; 96 + ULONG SpindownTimeoutDc; 97 + BOOLEAN OptimizeForPowerAc; 98 + BOOLEAN OptimizeForPowerDc; 99 + UCHAR FanThrottleToleranceAc; 100 + UCHAR FanThrottleToleranceDc; 101 + UCHAR ForcedThrottleAc; 102 + UCHAR ForcedThrottleDc; 103 +} 104 +alias USER_POWER_POLICY* PUSER_POWER_POLICY; 105 + 106 +struct POWER_POLICY { 107 + USER_POWER_POLICY user; 108 + MACHINE_POWER_POLICY mach; 109 +} 110 +alias POWER_POLICY* PPOWER_POLICY; 111 + 112 +extern (Windows) { 113 + alias BOOLEAN function(UINT, DWORD, LPTSTR, DWORD, LPTSTR, PPOWER_POLICY, 114 + LPARAM) PWRSCHEMESENUMPROC; 115 + alias BOOLEAN function(POWER_ACTION, SYSTEM_POWER_STATE, ULONG, BOOLEAN) 116 + PFNNTINITIATEPWRACTION; 117 + 118 + NTSTATUS CallNtPowerInformation(POWER_INFORMATION_LEVEL, PVOID, ULONG, 119 + PVOID, ULONG); 120 + BOOLEAN CanUserWritePwrScheme(); 121 + BOOLEAN DeletePwrScheme(UINT); 122 + BOOLEAN EnumPwrSchemes(PWRSCHEMESENUMPROC, LPARAM); 123 + BOOLEAN GetActivePwrScheme(PUINT); 124 + BOOLEAN GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY); 125 + BOOLEAN GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES); 126 + BOOLEAN GetPwrDiskSpindownRange(PUINT, PUINT); 127 + BOOLEAN IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY); 128 + BOOLEAN IsPwrHibernateAllowed(); 129 + BOOLEAN IsPwrShutdownAllowed(); 130 + BOOLEAN IsPwrSuspendAllowed(); 131 + BOOLEAN ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY); 132 + BOOLEAN ReadProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY); 133 + BOOLEAN ReadPwrScheme(UINT, PPOWER_POLICY); 134 + BOOLEAN SetActivePwrScheme(UINT, PGLOBAL_POWER_POLICY, PPOWER_POLICY); 135 + BOOLEAN SetSuspendState(BOOLEAN, BOOLEAN, BOOLEAN); 136 + BOOLEAN WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY); 137 + BOOLEAN WriteProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY); 138 + BOOLEAN ValidatePowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY); 139 + BOOLEAN WritePwrScheme(PUINT, LPTSTR, LPTSTR, PPOWER_POLICY); 140 +}

Added src/win32/prsht.d version [11c80dc8e4f04de3]

1 +/***********************************************************************\ 2 +* prsht.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Vladimir Vlasov * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.prsht; 12 +pragma(lib, "comctl32.lib"); 13 + 14 +private import win32.w32api, win32.windef, win32.winuser; 15 + 16 +const MAXPROPPAGES = 100; 17 + 18 +enum { 19 + PSP_DEFAULT = 0x00000000, 20 + PSP_DLGINDIRECT = 0x00000001, 21 + PSP_USEHICON = 0x00000002, 22 + PSP_USEICONID = 0x00000004, 23 + PSP_USETITLE = 0x00000008, 24 + PSP_RTLREADING = 0x00000010, 25 + PSP_HASHELP = 0x00000020, 26 + PSP_USEREFPARENT = 0x00000040, 27 + PSP_USECALLBACK = 0x00000080, 28 + PSP_PREMATURE = 0x00000400 29 +} 30 + 31 +static if (_WIN32_IE >= 0x0400) { 32 + enum { 33 + PSP_HIDEHEADER = 0x00000800, 34 + PSP_USEHEADERTITLE = 0x00001000, 35 + PSP_USEHEADERSUBTITLE = 0x00002000 36 + } 37 +} 38 + 39 +enum { 40 + PSPCB_RELEASE = 1, 41 + PSPCB_CREATE 42 +} 43 + 44 +enum { 45 + PSH_DEFAULT = 0x00000000, 46 + PSH_PROPTITLE = 0x00000001, 47 + PSH_USEHICON = 0x00000002, 48 + PSH_USEICONID = 0x00000004, 49 + PSH_PROPSHEETPAGE = 0x00000008, 50 + PSH_WIZARDHASFINISH = 0x00000010, 51 + PSH_WIZARD = 0x00000020, 52 + PSH_USEPSTARTPAGE = 0x00000040, 53 + PSH_NOAPPLYNOW = 0x00000080, 54 + PSH_USECALLBACK = 0x00000100, 55 + PSH_HASHELP = 0x00000200, 56 + PSH_MODELESS = 0x00000400, 57 + PSH_RTLREADING = 0x00000800, 58 + PSH_WIZARDCONTEXTHELP = 0x00001000 59 +} 60 + 61 +static if (_WIN32_IE >= 0x0400) { 62 + enum { 63 + PSH_WATERMARK = 0x00008000, 64 + PSH_USEHBMWATERMARK = 0x00010000, 65 + PSH_USEHPLWATERMARK = 0x00020000, 66 + PSH_STRETCHWATERMARK = 0x00040000, 67 + PSH_HEADER = 0x00080000, 68 + PSH_USEHBMHEADER = 0x00100000, 69 + PSH_USEPAGELANG = 0x00200000 70 + } 71 + static if (_WIN32_IE < 0x0500) { 72 + enum { 73 + PSH_WIZARD97 = 0x00002000 74 + } 75 + } else { 76 + enum { 77 + PSH_WIZARD97 = 0x01000000 78 + } 79 + } 80 +} 81 + 82 +static if (_WIN32_IE >= 0x0500) { 83 + enum { 84 + PSH_WIZARD_LITE = 0x00400000, 85 + PSH_NOCONTEXTHELP = 0x02000000 86 + } 87 +} 88 + 89 +enum { 90 + PSCB_INITIALIZED = 1, 91 + PSCB_PRECREATE 92 +} 93 + 94 +enum { 95 + PSN_FIRST = (-200), 96 + PSN_LAST = (-299), 97 + PSN_SETACTIVE = (-200), 98 + PSN_KILLACTIVE = (-201), 99 + PSN_APPLY = (-202), 100 + PSN_RESET = (-203), 101 + PSN_HELP = (-205), 102 + PSN_WIZBACK = (-206), 103 + PSN_WIZNEXT = (-207), 104 + PSN_WIZFINISH = (-208), 105 + PSN_QUERYCANCEL = (-209) 106 +} 107 +static if (_WIN32_IE >= 0x0400) { 108 + enum { 109 + PSN_GETOBJECT = (-210) 110 + } 111 +} 112 +static if (_WIN32_IE >= 0x0500) { 113 + enum { 114 + PSN_TRANSLATEACCELERATOR = (-212), 115 + PSN_QUERYINITIALFOCUS = (-213) 116 + } 117 +} 118 + 119 +enum { 120 + PSNRET_NOERROR, 121 + PSNRET_INVALID, 122 + PSNRET_INVALID_NOCHANGEPAGE, 123 + PSNRET_MESSAGEHANDLED 124 +} 125 + 126 +enum { 127 + ID_PSRESTARTWINDOWS = 0x2, 128 + ID_PSREBOOTSYSTEM = ID_PSRESTARTWINDOWS | 0x1 129 +} 130 + 131 +enum { 132 + WIZ_CXDLG = 276, 133 + WIZ_CYDLG = 140, 134 + WIZ_CXBMP = 80, 135 + WIZ_BODYX = 92, 136 + WIZ_BODYCX = 184 137 +} 138 + 139 +enum { 140 + PROP_SM_CXDLG = 212, 141 + PROP_SM_CYDLG = 188, 142 + PROP_MED_CXDLG = 227, 143 + PROP_MED_CYDLG = 215, 144 + PROP_LG_CXDLG = 252, 145 + PROP_LG_CYDLG = 218 146 +} 147 + 148 +enum { 149 + PSBTN_BACK, 150 + PSBTN_NEXT, 151 + PSBTN_FINISH, 152 + PSBTN_OK, 153 + PSBTN_APPLYNOW, 154 + PSBTN_CANCEL, 155 + PSBTN_HELP, 156 + PSBTN_MAX = 6 157 +} 158 + 159 +enum { 160 + PSWIZB_BACK = 1, 161 + PSWIZB_NEXT = 2, 162 + PSWIZB_FINISH = 4, 163 + PSWIZB_DISABLEDFINISH = 8 164 +} 165 + 166 +enum { 167 + PSM_SETCURSEL = WM_USER + 101, 168 + PSM_REMOVEPAGE, 169 + PSM_ADDPAGE, 170 + PSM_CHANGED, 171 + PSM_RESTARTWINDOWS, 172 + PSM_REBOOTSYSTEM, 173 + PSM_CANCELTOCLOSE, 174 + PSM_QUERYSIBLINGS, 175 + PSM_UNCHANGED, 176 + PSM_APPLY, 177 + PSM_SETTITLEA, 178 + PSM_SETWIZBUTTONS, 179 + PSM_PRESSBUTTON, 180 + PSM_SETCURSELID, 181 + PSM_SETFINISHTEXTA, 182 + PSM_GETTABCONTROL, 183 + PSM_ISDIALOGMESSAGE, 184 + PSM_GETCURRENTPAGEHWND, 185 + PSM_INSERTPAGE, 186 + PSM_SETTITLEW, 187 + PSM_SETFINISHTEXTW // = WM_USER + 121, 188 +} 189 + 190 +alias UINT function(HWND, UINT, LPPROPSHEETPAGEA) LPFNPSPCALLBACKA; 191 +alias UINT function(HWND, UINT, LPPROPSHEETPAGEW) LPFNPSPCALLBACKW; 192 +alias int function(HWND, UINT, LPARAM) PFNPROPSHEETCALLBACK; 193 + 194 +align(4): 195 + 196 +struct PROPSHEETPAGEA { 197 + DWORD dwSize = PROPSHEETPAGEA.sizeof; 198 + DWORD dwFlags; 199 + HINSTANCE hInstance; 200 + union { 201 + LPCSTR pszTemplate; 202 + LPCDLGTEMPLATE pResource; 203 + } 204 + union { 205 + HICON hIcon; 206 + LPCSTR pszIcon; 207 + } 208 + LPCSTR pszTitle; 209 + DLGPROC pfnDlgProc; 210 + LPARAM lParam; 211 + LPFNPSPCALLBACKA pfnCallback; 212 + UINT* pcRefParent; 213 + static if (_WIN32_IE >= 0x0400) { 214 + LPCSTR pszHeaderTitle; 215 + LPCSTR pszHeaderSubTitle; 216 + } 217 +} 218 +alias PROPSHEETPAGEA* LPPROPSHEETPAGEA; 219 +alias CPtr!(PROPSHEETPAGEA) LPCPROPSHEETPAGEA; 220 + 221 +struct PROPSHEETPAGEW { 222 + DWORD dwSize = PROPSHEETPAGEW.sizeof; 223 + DWORD dwFlags; 224 + HINSTANCE hInstance; 225 + union { 226 + LPCWSTR pszTemplate; 227 + LPCDLGTEMPLATE pResource; 228 + } 229 + union { 230 + HICON hIcon; 231 + LPCWSTR pszIcon; 232 + } 233 + LPCWSTR pszTitle; 234 + DLGPROC pfnDlgProc; 235 + LPARAM lParam; 236 + LPFNPSPCALLBACKW pfnCallback; 237 + UINT* pcRefParent; 238 + static if (_WIN32_IE >= 0x0400) { 239 + LPCWSTR pszHeaderTitle; 240 + LPCWSTR pszHeaderSubTitle; 241 + } 242 +} 243 +alias PROPSHEETPAGEW* LPPROPSHEETPAGEW; 244 +alias CPtr!(PROPSHEETPAGEW) LPCPROPSHEETPAGEW; 245 + 246 +alias HANDLE HPROPSHEETPAGE; 247 + 248 +struct PROPSHEETHEADERA { 249 + DWORD dwSize = PROPSHEETHEADERA.sizeof; 250 + DWORD dwFlags; 251 + HWND hwndParent; 252 + HINSTANCE hInstance; 253 + union { 254 + HICON hIcon; 255 + LPCSTR pszIcon; 256 + } 257 + LPCSTR pszCaption; 258 + UINT nPages; 259 + union { 260 + UINT nStartPage; 261 + LPCSTR pStartPage; 262 + } 263 + union { 264 + LPCPROPSHEETPAGEA ppsp; 265 + HPROPSHEETPAGE* phpage; 266 + } 267 + PFNPROPSHEETCALLBACK pfnCallback; 268 + static if (_WIN32_IE >= 0x0400) { 269 + union { 270 + HBITMAP hbmWatermark; 271 + LPCSTR pszbmWatermark; 272 + } 273 + HPALETTE hplWatermark; 274 + union { 275 + HBITMAP hbmHeader; 276 + LPCSTR pszbmHeader; 277 + } 278 + } 279 +} 280 +alias PROPSHEETHEADERA* LPPROPSHEETHEADERA; 281 +alias CPtr!(PROPSHEETHEADERA) LPCPROPSHEETHEADERA; 282 + 283 +struct PROPSHEETHEADERW { 284 + DWORD dwSize = PROPSHEETHEADERW.sizeof; 285 + DWORD dwFlags; 286 + HWND hwndParent; 287 + HINSTANCE hInstance; 288 + union { 289 + HICON hIcon; 290 + LPCWSTR pszIcon; 291 + } 292 + LPCWSTR pszCaption; 293 + UINT nPages; 294 + union { 295 + UINT nStartPage; 296 + LPCWSTR pStartPage; 297 + } 298 + union { 299 + LPCPROPSHEETPAGEW ppsp; 300 + HPROPSHEETPAGE* phpage; 301 + } 302 + PFNPROPSHEETCALLBACK pfnCallback; 303 + static if (_WIN32_IE >= 0x0400) { 304 + union { 305 + HBITMAP hbmWatermark; 306 + LPCWSTR pszbmWatermark; 307 + } 308 + HPALETTE hplWatermark; 309 + union { 310 + HBITMAP hbmHeader; 311 + LPCWSTR pszbmHeader; 312 + } 313 + } 314 +} 315 +alias PROPSHEETHEADERW* LPPROPSHEETHEADERW; 316 +alias CPtr!(PROPSHEETHEADERW) LPCPROPSHEETHEADERW; 317 + 318 +alias BOOL function(HPROPSHEETPAGE, LPARAM) LPFNADDPROPSHEETPAGE; 319 +alias BOOL function(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM) 320 + LPFNADDPROPSHEETPAGES; 321 + 322 +struct PSHNOTIFY { 323 + NMHDR hdr; 324 + LPARAM lParam; 325 +} 326 +alias PSHNOTIFY* LPPSHNOTIFY; 327 + 328 +extern (Windows) { 329 + HPROPSHEETPAGE CreatePropertySheetPageA(LPCPROPSHEETPAGEA); 330 + HPROPSHEETPAGE CreatePropertySheetPageW(LPCPROPSHEETPAGEW); 331 + BOOL DestroyPropertySheetPage(HPROPSHEETPAGE); 332 + int PropertySheetA(LPCPROPSHEETHEADERA); 333 + int PropertySheetW(LPCPROPSHEETHEADERW); 334 +} 335 + 336 +version (Unicode) { 337 + alias LPFNPSPCALLBACKW LPFNPSPCALLBACK; 338 + alias PROPSHEETPAGEW PROPSHEETPAGE; 339 + alias LPPROPSHEETPAGEW LPPROPSHEETPAGE; 340 + alias LPCPROPSHEETPAGEW LPCPROPSHEETPAGE; 341 + alias PROPSHEETHEADERW PROPSHEETHEADER; 342 + alias LPPROPSHEETHEADERW LPPROPSHEETHEADER; 343 + alias LPCPROPSHEETHEADERW LPCPROPSHEETHEADER; 344 + alias PSM_SETTITLEW PSM_SETTITLE; 345 + alias PSM_SETFINISHTEXTW PSM_SETFINISHTEXT; 346 + alias CreatePropertySheetPageW CreatePropertySheetPage; 347 + alias PropertySheetW PropertySheet; 348 +} else { 349 + alias LPFNPSPCALLBACKA LPFNPSPCALLBACK; 350 + alias PROPSHEETPAGEA PROPSHEETPAGE; 351 + alias LPPROPSHEETPAGEA LPPROPSHEETPAGE; 352 + alias LPCPROPSHEETPAGEA LPCPROPSHEETPAGE; 353 + alias PROPSHEETHEADERA PROPSHEETHEADER; 354 + alias LPPROPSHEETHEADERA LPPROPSHEETHEADER; 355 + alias LPCPROPSHEETHEADERA LPCPROPSHEETHEADER; 356 + alias PSM_SETTITLEA PSM_SETTITLE; 357 + alias PSM_SETFINISHTEXTA PSM_SETFINISHTEXT; 358 + alias CreatePropertySheetPageA CreatePropertySheetPage; 359 + alias PropertySheetA PropertySheet; 360 +} 361 + 362 +BOOL PropSheet_SetCurSel(HWND hPropSheetDlg, HPROPSHEETPAGE hpage, 363 + HPROPSHEETPAGE index) { 364 + return cast(BOOL) SendMessage(hPropSheetDlg, PSM_SETCURSEL, 365 + cast(WPARAM) index, cast(LPARAM) hpage); 366 +} 367 + 368 +VOID PropSheet_RemovePage(HWND hPropSheetDlg, int index, HPROPSHEETPAGE hpage) { 369 + SendMessage(hPropSheetDlg, PSM_REMOVEPAGE, index, cast(LPARAM) hpage); 370 +} 371 + 372 +BOOL PropSheet_AddPage(HWND hPropSheetDlg, HPROPSHEETPAGE hpage) { 373 + return cast(BOOL) SendMessage(hPropSheetDlg, PSM_ADDPAGE, 374 + 0, cast(LPARAM) hpage); 375 +} 376 + 377 +VOID PropSheet_Changed(HWND hPropSheetDlg, HWND hwndPage) { 378 + SendMessage(hPropSheetDlg, PSM_CHANGED, cast(WPARAM) hwndPage, 0); 379 +} 380 + 381 +VOID PropSheet_RestartWindows(HWND hPropSheetDlg) { 382 + SendMessage(hPropSheetDlg, PSM_RESTARTWINDOWS, 0, 0); 383 +} 384 + 385 +VOID PropSheet_RebootSystem(HWND hPropSheetDlg) { 386 + SendMessage(hPropSheetDlg, PSM_REBOOTSYSTEM, 0, 0); 387 +} 388 + 389 +VOID PropSheet_CancelToClose(HWND hPropSheetDlg) { 390 + SendMessage(hPropSheetDlg, PSM_CANCELTOCLOSE, 0, 0); 391 +} 392 + 393 +int PropSheet_QuerySiblings(HWND hPropSheetDlg, WPARAM param1, LPARAM param2) { 394 + return SendMessage(hPropSheetDlg, PSM_QUERYSIBLINGS, param1, param2); 395 +} 396 + 397 +VOID PropSheet_UnChanged(HWND hPropSheetDlg, HWND hwndPage) { 398 + SendMessage(hPropSheetDlg, PSM_UNCHANGED, cast(WPARAM) hwndPage, 0); 399 +} 400 + 401 +BOOL PropSheet_Apply(HWND hPropSheetDlg) { 402 + return cast(BOOL) SendMessage(hPropSheetDlg, PSM_APPLY, 0, 0); 403 +} 404 + 405 +VOID PropSheet_SetTitle(HWND hPropSheetDlg, DWORD wStyle, LPTSTR lpszText) { 406 + SendMessage(hPropSheetDlg, PSM_SETTITLE, wStyle, cast(LPARAM) lpszText); 407 +} 408 + 409 +VOID PropSheet_SetWizButtons(HWND hPropSheetDlg, DWORD dwFlags) { 410 + PostMessage(hPropSheetDlg, PSM_SETWIZBUTTONS, 0, cast(LPARAM) dwFlags); 411 +} 412 + 413 +BOOL PropSheet_PressButton(HWND hPropSheetDlg, int iButton) { 414 + return cast(BOOL) SendMessage(hPropSheetDlg, PSM_PRESSBUTTON, iButton, 0); 415 +} 416 + 417 +BOOL PropSheet_SetCurSelByID(HWND hPropSheetDlg, int id) { 418 + return cast(BOOL) SendMessage(hPropSheetDlg, PSM_SETCURSELID, 0, id); 419 +} 420 + 421 +VOID PropSheet_SetFinishText(HWND hPropSheetDlg, LPTSTR lpszText) { 422 + SendMessage(hPropSheetDlg, PSM_SETFINISHTEXT, 0, cast(LPARAM) lpszText); 423 +} 424 + 425 +HWND PropSheet_GetTabControl(HWND hPropSheetDlg) { 426 + return cast(HWND) SendMessage(hPropSheetDlg, PSM_GETTABCONTROL, 0, 0); 427 +} 428 + 429 +BOOL PropSheet_IsDialogMessage(HWND hDlg, LPMSG pMsg) { 430 + return cast(BOOL) SendMessage(hDlg, PSM_ISDIALOGMESSAGE, 431 + 0, cast(LPARAM) pMsg); 432 +} 433 + 434 +HWND PropSheet_GetCurrentPageHwnd(HWND hDlg) { 435 + return cast(HWND) SendMessage(hDlg, PSM_GETCURRENTPAGEHWND, 0, 0); 436 +} 437 + 438 +BOOL PropSheet_InsertPage(HWND hPropSheetDlg, WPARAM wInsertAfter, 439 + HPROPSHEETPAGE hpage) { 440 + return cast(BOOL) SendMessage(hPropSheetDlg, PSM_INSERTPAGE, 441 + wInsertAfter, cast(LPARAM) hpage); 442 +}

Added src/win32/psapi.d version [918550e05f5d1ab7]

1 +/***********************************************************************\ 2 +* psapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +/* Comment from MinGW 11 + * Process status API (PSAPI) 12 + * http://windowssdk.msdn.microsoft.com/library/ms684884.aspx 13 + */ 14 + 15 +module win32.psapi; 16 + 17 +private import win32.w32api; 18 +private import win32.winbase; 19 +private import win32.windef; 20 + 21 +struct MODULEINFO { 22 + LPVOID lpBaseOfDll; 23 + DWORD SizeOfImage; 24 + LPVOID EntryPoint; 25 +} 26 +alias MODULEINFO* LPMODULEINFO; 27 + 28 +struct PSAPI_WS_WATCH_INFORMATION { 29 + LPVOID FaultingPc; 30 + LPVOID FaultingVa; 31 +} 32 +alias PSAPI_WS_WATCH_INFORMATION* PPSAPI_WS_WATCH_INFORMATION; 33 + 34 +struct PSAPI_WS_WATCH_INFORMATION_EX { 35 + PSAPI_WS_WATCH_INFORMATION BasicInfo; 36 + ULONG_PTR FaultingThreadId; 37 + ULONG_PTR Flags; 38 +} 39 +alias PSAPI_WS_WATCH_INFORMATION_EX* PPSAPI_WS_WATCH_INFORMATION_EX; 40 + 41 +struct PROCESS_MEMORY_COUNTERS { 42 + DWORD cb; 43 + DWORD PageFaultCount; 44 + DWORD PeakWorkingSetSize; 45 + DWORD WorkingSetSize; 46 + DWORD QuotaPeakPagedPoolUsage; 47 + DWORD QuotaPagedPoolUsage; 48 + DWORD QuotaPeakNonPagedPoolUsage; 49 + DWORD QuotaNonPagedPoolUsage; 50 + DWORD PagefileUsage; 51 + DWORD PeakPagefileUsage; 52 +} 53 +alias PROCESS_MEMORY_COUNTERS* PPROCESS_MEMORY_COUNTERS; 54 + 55 +struct PERFORMANCE_INFORMATION { 56 + DWORD cb; 57 + SIZE_T CommitTotal; 58 + SIZE_T CommitLimit; 59 + SIZE_T CommitPeak; 60 + SIZE_T PhysicalTotal; 61 + SIZE_T PhysicalAvailable; 62 + SIZE_T SystemCache; 63 + SIZE_T KernelTotal; 64 + SIZE_T KernelPaged; 65 + SIZE_T KernelNonpaged; 66 + SIZE_T PageSize; 67 + DWORD HandleCount; 68 + DWORD ProcessCount; 69 + DWORD ThreadCount; 70 +} 71 +alias PERFORMANCE_INFORMATION* PPERFORMANCE_INFORMATION; 72 + 73 +struct ENUM_PAGE_FILE_INFORMATION { 74 + DWORD cb; 75 + DWORD Reserved; 76 + SIZE_T TotalSize; 77 + SIZE_T TotalInUse; 78 + SIZE_T PeakUsage; 79 +} 80 +alias ENUM_PAGE_FILE_INFORMATION* PENUM_PAGE_FILE_INFORMATION; 81 + 82 +/* application-defined callback function used with the EnumPageFiles() 83 + * http://windowssdk.msdn.microsoft.com/library/ms682627.aspx */ 84 +version (Unicode) { 85 + alias BOOL function(LPVOID, PENUM_PAGE_FILE_INFORMATION, LPCWSTR) 86 + PENUM_PAGE_FILE_CALLBACK; 87 +} else { 88 + alias BOOL function(LPVOID, PENUM_PAGE_FILE_INFORMATION, LPCSTR) 89 + PENUM_PAGE_FILE_CALLBACK; 90 +} 91 + 92 +// Grouped by application, not in alphabetical order. 93 +extern (Windows) { 94 + /* Process Information 95 + * http://windowssdk.msdn.microsoft.com/library/ms684870.aspx */ 96 + BOOL EnumProcesses(DWORD*, DWORD, DWORD*); /* NT/2000/XP/Server2003/Vista/Longhorn */ 97 + DWORD GetProcessImageFileNameA(HANDLE, LPSTR, DWORD); /* XP/Server2003/Vista/Longhorn */ 98 + DWORD GetProcessImageFileNameW(HANDLE, LPWSTR, DWORD); /* XP/Server2003/Vista/Longhorn */ 99 + 100 + /* Module Information 101 + * http://windowssdk.msdn.microsoft.com/library/ms684232.aspx */ 102 + BOOL EnumProcessModules(HANDLE, HMODULE*, DWORD, LPDWORD); 103 + BOOL EnumProcessModulesEx(HANDLE, HMODULE*, DWORD, LPDWORD, DWORD); /* Vista/Longhorn */ 104 + DWORD GetModuleBaseNameA(HANDLE, HMODULE, LPSTR, DWORD); 105 + DWORD GetModuleBaseNameW(HANDLE, HMODULE, LPWSTR, DWORD); 106 + DWORD GetModuleFileNameExA(HANDLE, HMODULE, LPSTR, DWORD); 107 + DWORD GetModuleFileNameExW(HANDLE, HMODULE, LPWSTR, DWORD); 108 + BOOL GetModuleInformation(HANDLE, HMODULE, LPMODULEINFO, DWORD); 109 + 110 + /* Device Driver Information 111 + * http://windowssdk.msdn.microsoft.com/library/ms682578.aspx */ 112 + BOOL EnumDeviceDrivers(LPVOID*, DWORD, LPDWORD); 113 + DWORD GetDeviceDriverBaseNameA(LPVOID, LPSTR, DWORD); 114 + DWORD GetDeviceDriverBaseNameW(LPVOID, LPWSTR, DWORD); 115 + DWORD GetDeviceDriverFileNameA(LPVOID, LPSTR, DWORD); 116 + DWORD GetDeviceDriverFileNameW(LPVOID, LPWSTR, DWORD); 117 + 118 + /* Process Memory Usage Information 119 + * http://windowssdk.msdn.microsoft.com/library/ms684879.aspx */ 120 + BOOL GetProcessMemoryInfo(HANDLE, PPROCESS_MEMORY_COUNTERS, DWORD); 121 + 122 + /* Working Set Information 123 + * http://windowssdk.msdn.microsoft.com/library/ms687398.aspx */ 124 + BOOL EmptyWorkingSet(HANDLE); 125 + BOOL GetWsChanges(HANDLE, PPSAPI_WS_WATCH_INFORMATION, DWORD); 126 + BOOL GetWsChangesEx(HANDLE, PPSAPI_WS_WATCH_INFORMATION_EX, DWORD); /* Vista/Longhorn */ 127 + BOOL InitializeProcessForWsWatch(HANDLE); 128 + BOOL QueryWorkingSet(HANDLE, PVOID, DWORD); 129 + BOOL QueryWorkingSetEx(HANDLE, PVOID, DWORD); 130 + 131 + /* Memory-Mapped File Information 132 + * http://windowssdk.msdn.microsoft.com/library/ms684212.aspx */ 133 + DWORD GetMappedFileNameW(HANDLE, LPVOID, LPWSTR, DWORD); 134 + DWORD GetMappedFileNameA(HANDLE, LPVOID, LPSTR, DWORD); 135 + 136 + /* Resources Information */ 137 + BOOL GetPerformanceInfo(PPERFORMANCE_INFORMATION, DWORD); /* XP/Server2003/Vista/Longhorn */ 138 + BOOL EnumPageFilesW(PENUM_PAGE_FILE_CALLBACK, LPVOID); /* 2000/XP/Server2003/Vista/Longhorn */ 139 + BOOL EnumPageFilesA(PENUM_PAGE_FILE_CALLBACK, LPVOID); /* 2000/XP/Server2003/Vista/Longhorn */ 140 +} 141 + 142 +version (Unicode) { 143 + alias GetModuleBaseNameW GetModuleBaseName; 144 + alias GetModuleFileNameExW GetModuleFileNameEx; 145 + alias GetMappedFileNameW GetMappedFileName; 146 + alias GetDeviceDriverBaseNameW GetDeviceDriverBaseName; 147 + alias GetDeviceDriverFileNameW GetDeviceDriverFileName; 148 + alias EnumPageFilesW EnumPageFiles; 149 + alias GetProcessImageFileNameW GetProcessImageFileName; 150 +} else { 151 + alias GetModuleBaseNameA GetModuleBaseName; 152 + alias GetModuleFileNameExA GetModuleFileNameEx; 153 + alias GetMappedFileNameA GetMappedFileName; 154 + alias GetDeviceDriverBaseNameA GetDeviceDriverBaseName; 155 + alias GetDeviceDriverFileNameA GetDeviceDriverFileName; 156 + alias EnumPageFilesA EnumPageFiles; 157 + alias GetProcessImageFileNameA GetProcessImageFileName; 158 +}

Added src/win32/rapi.d version [f5377fbd24e425cd]

1 +/***********************************************************************\ 2 +* rapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.rapi; 12 + 13 +/* Comment from MinGW 14 + NOTE: This strictly does not belong in the Win32 API since it's 15 + really part of Platform SDK. 16 + */ 17 + 18 +private import win32.winbase, win32.windef; 19 + 20 +struct IRAPIStream { 21 + IRAPIStreamVtbl* lpVtbl; 22 +} 23 + 24 +enum RAPISTREAMFLAG { 25 + STREAM_TIMEOUT_READ 26 +} 27 + 28 +extern (Windows) { 29 + alias HRESULT function(IRAPIStream*, RAPISTREAMFLAG, DWORD) _SetRapiStat; 30 + alias HRESULT function(IRAPIStream*, RAPISTREAMFLAG, DWORD*) _GetRapiStat; 31 +} 32 + 33 +struct IRAPIStreamVtbl { 34 + _SetRapiStat SetRapiStat; 35 + _GetRapiStat GetRapiStat; 36 +} 37 + 38 +// FIXME: what's this? 39 +//typedef HRESULT(STDAPICALLTYPE RAPIEXT)(DWORD, BYTE, DWORD, BYTE, IRAPIStream*); 40 + 41 +struct RAPIINIT { 42 + DWORD cbSize = this.sizeof; 43 + HANDLE heRapiInit; 44 + HRESULT hrRapiInit; 45 +} 46 + 47 +extern (Windows) { 48 + HRESULT CeRapiInit(); 49 + HRESULT CeRapiInitEx(RAPIINIT*); 50 + BOOL CeCreateProcess(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES, 51 + LPSECURITY_ATTRIBUTES, BOOL, DWORD, LPVOID, LPWSTR, LPSTARTUPINFO, 52 + LPPROCESS_INFORMATION); 53 + HRESULT CeRapiUninit(); 54 + BOOL CeWriteFile(HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED); 55 + HANDLE CeCreateFile(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, 56 + DWORD, HANDLE); 57 + BOOL CeCreateDirectory(LPCWSTR, LPSECURITY_ATTRIBUTES); 58 + DWORD CeGetLastError(); 59 + BOOL CeGetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); 60 + BOOL CeCloseHandle(HANDLE); 61 +}

Added src/win32/ras.d version [4c380b195643fbdf]

1 +/***********************************************************************\ 2 +* ras.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.ras; 11 +pragma(lib, "rasapi32.lib"); 12 + 13 +private import win32.basetyps, win32.lmcons, win32.w32api, win32.windef; 14 + 15 +align(4): 16 + 17 +const RAS_MaxDeviceType = 16; 18 +const RAS_MaxPhoneNumber = 128; 19 +const RAS_MaxIpAddress = 15; 20 +const RAS_MaxIpxAddress = 21; 21 +const RAS_MaxEntryName = 256; 22 +const RAS_MaxDeviceName = 128; 23 +const RAS_MaxCallbackNumber = RAS_MaxPhoneNumber; 24 +const RAS_MaxAreaCode = 10; 25 +const RAS_MaxPadType = 32; 26 +const RAS_MaxX25Address = 200; 27 +const RAS_MaxFacilities = 200; 28 +const RAS_MaxUserData = 200; 29 +const RAS_MaxReplyMessage = 1024; 30 + 31 +const RDEOPT_UsePrefixSuffix = 0x00000001; 32 +const RDEOPT_PausedStates = 0x00000002; 33 +const RDEOPT_IgnoreModemSpeaker = 0x00000004; 34 +const RDEOPT_SetModemSpeaker = 0x00000008; 35 +const RDEOPT_IgnoreSoftwareCompression = 0x00000010; 36 +const RDEOPT_SetSoftwareCompression = 0x00000020; 37 +const RDEOPT_DisableConnectedUI = 0x00000040; 38 +const RDEOPT_DisableReconnectUI = 0x00000080; 39 +const RDEOPT_DisableReconnect = 0x00000100; 40 +const RDEOPT_NoUser = 0x00000200; 41 +const RDEOPT_PauseOnScript = 0x00000400; 42 +const RDEOPT_Router = 0x00000800; 43 + 44 +const REN_User = 0x00000000; 45 +const REN_AllUsers = 0x00000001; 46 +const VS_Default = 0; 47 +const VS_PptpOnly = 1; 48 +const VS_PptpFirst = 2; 49 +const VS_L2tpOnly = 3; 50 +const VS_L2tpFirst = 4; 51 + 52 +const RASDIALEVENT = "RasDialEvent"; 53 +const WM_RASDIALEVENT = 0xCCCD; 54 + 55 +const RASEO_UseCountryAndAreaCodes = 0x00000001; 56 +const RASEO_SpecificIpAddr = 0x00000002; 57 +const RASEO_SpecificNameServers = 0x00000004; 58 +const RASEO_IpHeaderCompression = 0x00000008; 59 +const RASEO_RemoteDefaultGateway = 0x00000010; 60 +const RASEO_DisableLcpExtensions = 0x00000020; 61 +const RASEO_TerminalBeforeDial = 0x00000040; 62 +const RASEO_TerminalAfterDial = 0x00000080; 63 +const RASEO_ModemLights = 0x00000100; 64 +const RASEO_SwCompression = 0x00000200; 65 +const RASEO_RequireEncryptedPw = 0x00000400; 66 +const RASEO_RequireMsEncryptedPw = 0x00000800; 67 +const RASEO_RequireDataEncryption = 0x00001000; 68 +const RASEO_NetworkLogon = 0x00002000; 69 +const RASEO_UseLogonCredentials = 0x00004000; 70 +const RASEO_PromoteAlternates = 0x00008000; 71 +const RASNP_NetBEUI = 0x00000001; 72 +const RASNP_Ipx = 0x00000002; 73 +const RASNP_Ip = 0x00000004; 74 +const RASFP_Ppp = 0x00000001; 75 +const RASFP_Slip = 0x00000002; 76 +const RASFP_Ras = 0x00000004; 77 + 78 +const TCHAR[] 79 + RASDT_Modem = "modem", 80 + RASDT_Isdn = "isdn", 81 + RASDT_X25 = "x25", 82 + RASDT_Vpn = "vpn", 83 + RASDT_Pad = "pad", 84 + RASDT_Generic = "GENERIC", 85 + RASDT_Serial = "SERIAL", 86 + RASDT_FrameRelay = "FRAMERELAY", 87 + RASDT_Atm = "ATM", 88 + RASDT_Sonet = "SONET", 89 + RASDT_SW56 = "SW56", 90 + RASDT_Irda = "IRDA", 91 + RASDT_Parallel = "PARALLEL"; 92 + 93 +const RASET_Phone = 1; 94 +const RASET_Vpn = 2; 95 +const RASET_Direct = 3; 96 +const RASET_Internet = 4; 97 + 98 +static if (WINVER >= 0x0401) { 99 + const RASEO_SecureLocalFiles = 0x00010000; 100 + const RASCN_Connection = 0x00000001; 101 + const RASCN_Disconnection = 0x00000002; 102 + const RASCN_BandwidthAdded = 0x00000004; 103 + const RASCN_BandwidthRemoved = 0x00000008; 104 + const RASEDM_DialAll = 1; 105 + const RASEDM_DialAsNeeded = 2; 106 + const RASIDS_Disabled = 0xffffffff; 107 + const RASIDS_UseGlobalValue = 0; 108 + const RASADFLG_PositionDlg = 0x00000001; 109 + const RASCM_UserName = 0x00000001; 110 + const RASCM_Password = 0x00000002; 111 + const RASCM_Domain = 0x00000004; 112 + const RASADP_DisableConnectionQuery = 0; 113 + const RASADP_LoginSessionDisable = 1; 114 + const RASADP_SavedAddressesLimit = 2; 115 + const RASADP_FailedConnectionTimeout = 3; 116 + const RASADP_ConnectionQueryTimeout = 4; 117 +} 118 +static if (WINVER >= 0x0500) { 119 + const RDEOPT_CustomDial = 0x00001000; 120 + const RASLCPAP_PAP = 0xC023; 121 + const RASLCPAP_SPAP = 0xC027; 122 + const RASLCPAP_CHAP = 0xC223; 123 + const RASLCPAP_EAP = 0xC227; 124 + const RASLCPAD_CHAP_MD5 = 0x05; 125 + const RASLCPAD_CHAP_MS = 0x80; 126 + const RASLCPAD_CHAP_MSV2 = 0x81; 127 + const RASLCPO_PFC = 0x00000001; 128 + const RASLCPO_ACFC = 0x00000002; 129 + const RASLCPO_SSHF = 0x00000004; 130 + const RASLCPO_DES_56 = 0x00000008; 131 + const RASLCPO_3_DES = 0x00000010; 132 + 133 + const RASCCPCA_MPPC = 0x00000006; 134 + const RASCCPCA_STAC = 0x00000005; 135 + 136 + const RASCCPO_Compression = 0x00000001; 137 + const RASCCPO_HistoryLess = 0x00000002; 138 + const RASCCPO_Encryption56bit = 0x00000010; 139 + const RASCCPO_Encryption40bit = 0x00000020; 140 + const RASCCPO_Encryption128bit = 0x00000040; 141 + 142 + const RASEO_RequireEAP = 0x00020000; 143 + const RASEO_RequirePAP = 0x00040000; 144 + const RASEO_RequireSPAP = 0x00080000; 145 + const RASEO_Custom = 0x00100000; 146 + const RASEO_PreviewPhoneNumber = 0x00200000; 147 + const RASEO_SharedPhoneNumbers = 0x00800000; 148 + const RASEO_PreviewUserPw = 0x01000000; 149 + const RASEO_PreviewDomain = 0x02000000; 150 + const RASEO_ShowDialingProgress = 0x04000000; 151 + const RASEO_RequireCHAP = 0x08000000; 152 + const RASEO_RequireMsCHAP = 0x10000000; 153 + const RASEO_RequireMsCHAP2 = 0x20000000; 154 + const RASEO_RequireW95MSCHAP = 0x40000000; 155 + const RASEO_CustomScript = 0x80000000; 156 + 157 + const RASIPO_VJ = 0x00000001; 158 + const RCD_SingleUser = 0; 159 + const RCD_AllUsers = 0x00000001; 160 + const RCD_Eap = 0x00000002; 161 + const RASEAPF_NonInteractive = 0x00000002; 162 + const RASEAPF_Logon = 0x00000004; 163 + const RASEAPF_Preview = 0x00000008; 164 + const ET_40Bit = 1; 165 + const ET_128Bit = 2; 166 + const ET_None = 0; 167 + const ET_Require = 1; 168 + const ET_RequireMax = 2; 169 + const ET_Optional = 3; 170 +} 171 + 172 +const RASCS_PAUSED = 0x1000; 173 +const RASCS_DONE = 0x2000; 174 +enum RASCONNSTATE { 175 + RASCS_OpenPort = 0, 176 + RASCS_PortOpened, 177 + RASCS_ConnectDevice, 178 + RASCS_DeviceConnected, 179 + RASCS_AllDevicesConnected, 180 + RASCS_Authenticate, 181 + RASCS_AuthNotify, 182 + RASCS_AuthRetry, 183 + RASCS_AuthCallback, 184 + RASCS_AuthChangePassword, 185 + RASCS_AuthProject, 186 + RASCS_AuthLinkSpeed, 187 + RASCS_AuthAck, 188 + RASCS_ReAuthenticate, 189 + RASCS_Authenticated, 190 + RASCS_PrepareForCallback, 191 + RASCS_WaitForModemReset, 192 + RASCS_WaitForCallback, 193 + RASCS_Projected, 194 + RASCS_StartAuthentication, 195 + RASCS_CallbackComplete, 196 + RASCS_LogonNetwork, 197 + RASCS_SubEntryConnected, 198 + RASCS_SubEntryDisconnected, 199 + RASCS_Interactive = RASCS_PAUSED, 200 + RASCS_RetryAuthentication, 201 + RASCS_CallbackSetByCaller, 202 + RASCS_PasswordExpired, 203 +// static if (WINVER >= 0x0500) { 204 + RASCS_InvokeEapUI, 205 +// } 206 + RASCS_Connected = RASCS_DONE, 207 + RASCS_Disconnected 208 +} 209 +alias RASCONNSTATE* LPRASCONNSTATE; 210 + 211 +enum RASPROJECTION { 212 + RASP_Amb = 0x10000, 213 + RASP_PppNbf = 0x803F, 214 + RASP_PppIpx = 0x802B, 215 + RASP_PppIp = 0x8021, 216 +// static if (WINVER >= 0x0500) { 217 + RASP_PppCcp = 0x80FD, 218 +// } 219 + RASP_PppLcp = 0xC021, 220 + RASP_Slip = 0x20000 221 +} 222 +alias RASPROJECTION* LPRASPROJECTION; 223 + 224 +alias HANDLE HRASCONN; 225 +alias HRASCONN* LPHRASCONN; 226 + 227 +struct RASCONNW { 228 + DWORD dwSize; 229 + HRASCONN hrasconn; 230 + WCHAR szEntryName[RAS_MaxEntryName + 1]; 231 + static if (WINVER >= 0x0400) { 232 + WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 233 + WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 234 + } 235 + static if (WINVER >= 0x0401) { 236 + WCHAR szPhonebook[MAX_PATH]; 237 + DWORD dwSubEntry; 238 + } 239 + static if (WINVER >= 0x0500) { 240 + GUID guidEntry; 241 + } 242 + static if (WINVER >= 0x0501) { 243 + DWORD dwFlags; 244 + LUID luid; 245 + } 246 +} 247 +alias RASCONNW* LPRASCONNW; 248 + 249 +struct RASCONNA { 250 + DWORD dwSize; 251 + HRASCONN hrasconn; 252 + CHAR szEntryName[RAS_MaxEntryName + 1]; 253 + static if (WINVER >= 0x0400) { 254 + CHAR szDeviceType[RAS_MaxDeviceType + 1]; 255 + CHAR szDeviceName[RAS_MaxDeviceName + 1]; 256 + } 257 + static if (WINVER >= 0x0401) { 258 + CHAR szPhonebook[MAX_PATH]; 259 + DWORD dwSubEntry; 260 + } 261 + static if (WINVER >= 0x0500) { 262 + GUID guidEntry; 263 + } 264 + static if (WINVER >= 0x0501) { 265 + DWORD dwFlags; 266 + LUID luid; 267 + } 268 +} 269 +alias RASCONNA* LPRASCONNA; 270 + 271 +struct RASCONNSTATUSW { 272 + DWORD dwSize; 273 + RASCONNSTATE rasconnstate; 274 + DWORD dwError; 275 + WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 276 + WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 277 + static if (WINVER >= 0x0401) { 278 + WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; 279 + } 280 +} 281 +alias RASCONNSTATUSW* LPRASCONNSTATUSW; 282 + 283 +struct RASCONNSTATUSA { 284 + DWORD dwSize; 285 + RASCONNSTATE rasconnstate; 286 + DWORD dwError; 287 + CHAR szDeviceType[RAS_MaxDeviceType + 1]; 288 + CHAR szDeviceName[RAS_MaxDeviceName + 1]; 289 + static if (WINVER >= 0x0401) { 290 + CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; 291 + } 292 +} 293 +alias RASCONNSTATUSA* LPRASCONNSTATUSA; 294 + 295 +struct RASDIALPARAMSW { 296 + DWORD dwSize; 297 + WCHAR szEntryName[RAS_MaxEntryName + 1]; 298 + WCHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; 299 + WCHAR szCallbackNumber[RAS_MaxCallbackNumber + 1]; 300 + WCHAR szUserName[UNLEN + 1]; 301 + WCHAR szPassword[PWLEN + 1]; 302 + WCHAR szDomain[DNLEN + 1]; 303 + static if (WINVER >= 0x0401) { 304 + DWORD dwSubEntry; 305 + ULONG_PTR dwCallbackId; 306 + } 307 +} 308 +alias RASDIALPARAMSW* LPRASDIALPARAMSW; 309 + 310 +struct RASDIALPARAMSA{ 311 + DWORD dwSize; 312 + CHAR szEntryName[RAS_MaxEntryName + 1]; 313 + CHAR szPhoneNumber[RAS_MaxPhoneNumber + 1]; 314 + CHAR szCallbackNumber[RAS_MaxCallbackNumber + 1]; 315 + CHAR szUserName[UNLEN + 1]; 316 + CHAR szPassword[PWLEN + 1]; 317 + CHAR szDomain[DNLEN + 1]; 318 + static if (WINVER >= 0x0401) { 319 + DWORD dwSubEntry; 320 + ULONG_PTR dwCallbackId; 321 + } 322 +} 323 +alias RASDIALPARAMSA* LPRASDIALPARAMSA; 324 + 325 +static if (WINVER >= 0x0500) { 326 + struct RASEAPINFO { 327 + DWORD dwSizeofEapInfo; 328 + BYTE *pbEapInfo; 329 + } 330 +} 331 + 332 +struct RASDIALEXTENSIONS { 333 + DWORD dwSize; 334 + DWORD dwfOptions; 335 + HWND hwndParent; 336 + ULONG_PTR reserved; 337 + static if (WINVER >= 0x0500) { 338 + ULONG_PTR reserved1; 339 + RASEAPINFO RasEapInfo; 340 + } 341 +} 342 +alias RASDIALEXTENSIONS* LPRASDIALEXTENSIONS; 343 + 344 +struct RASENTRYNAMEW { 345 + DWORD dwSize; 346 + WCHAR szEntryName[RAS_MaxEntryName + 1]; 347 + static if (WINVER >= 0x0500) { 348 + DWORD dwFlags; 349 + WCHAR szPhonebookPath[MAX_PATH + 1]; 350 + } 351 +} 352 +alias RASENTRYNAMEW* LPRASENTRYNAMEW; 353 + 354 +struct RASENTRYNAMEA{ 355 + DWORD dwSize; 356 + CHAR szEntryName[RAS_MaxEntryName + 1]; 357 + static if (WINVER >= 0x0500) { 358 + DWORD dwFlags; 359 + CHAR szPhonebookPath[MAX_PATH + 1]; 360 + } 361 +} 362 +alias RASENTRYNAMEA* LPRASENTRYNAMEA; 363 + 364 +struct RASAMBW{ 365 + DWORD dwSize; 366 + DWORD dwError; 367 + WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; 368 + BYTE bLana; 369 +} 370 +alias RASAMBW* LPRASAMBW; 371 + 372 +struct RASAMBA{ 373 + DWORD dwSize; 374 + DWORD dwError; 375 + CHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; 376 + BYTE bLana; 377 +} 378 +alias RASAMBA* LPRASAMBA; 379 + 380 +struct RASPPPNBFW{ 381 + DWORD dwSize; 382 + DWORD dwError; 383 + DWORD dwNetBiosError; 384 + WCHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; 385 + WCHAR szWorkstationName[NETBIOS_NAME_LEN + 1]; 386 + BYTE bLana; 387 +} 388 +alias RASPPPNBFW* LPRASPPPNBFW; 389 + 390 +struct RASPPPNBFA{ 391 + DWORD dwSize; 392 + DWORD dwError; 393 + DWORD dwNetBiosError; 394 + CHAR szNetBiosError[NETBIOS_NAME_LEN + 1]; 395 + CHAR szWorkstationName[NETBIOS_NAME_LEN + 1]; 396 + BYTE bLana; 397 +} 398 +alias RASPPPNBFA* LPRASPPPNBFA; 399 + 400 +struct RASPPPIPXW { 401 + DWORD dwSize; 402 + DWORD dwError; 403 + WCHAR szIpxAddress[RAS_MaxIpxAddress + 1]; 404 +} 405 +alias RASPPPIPXW* LPRASPPPIPXW; 406 + 407 +struct RASPPPIPXA { 408 + DWORD dwSize; 409 + DWORD dwError; 410 + CHAR szIpxAddress[RAS_MaxIpxAddress + 1]; 411 +} 412 +alias RASPPPIPXA* LPRASPPPIPXA; 413 + 414 +struct RASPPPIPW{ 415 + DWORD dwSize; 416 + DWORD dwError; 417 + WCHAR szIpAddress[RAS_MaxIpAddress + 1]; 418 + //#ifndef WINNT35COMPATIBLE 419 + WCHAR szServerIpAddress[RAS_MaxIpAddress + 1]; 420 + //#endif 421 + static if (WINVER >= 0x0500) { 422 + DWORD dwOptions; 423 + DWORD dwServerOptions; 424 + } 425 +} 426 +alias RASPPPIPW* LPRASPPPIPW; 427 + 428 +struct RASPPPIPA{ 429 + DWORD dwSize; 430 + DWORD dwError; 431 + CHAR szIpAddress[RAS_MaxIpAddress + 1]; 432 + //#ifndef WINNT35COMPATIBLE 433 + CHAR szServerIpAddress[RAS_MaxIpAddress + 1]; 434 + //#endif 435 + static if (WINVER >= 0x0500) { 436 + DWORD dwOptions; 437 + DWORD dwServerOptions; 438 + } 439 +} 440 +alias RASPPPIPA* LPRASPPPIPA; 441 + 442 +struct RASPPPLCPW{ 443 + DWORD dwSize; 444 + BOOL fBundled; 445 + static if (WINVER >= 0x0500) { 446 + DWORD dwError; 447 + DWORD dwAuthenticationProtocol; 448 + DWORD dwAuthenticationData; 449 + DWORD dwEapTypeId; 450 + DWORD dwServerAuthenticationProtocol; 451 + DWORD dwServerAuthenticationData; 452 + DWORD dwServerEapTypeId; 453 + BOOL fMultilink; 454 + DWORD dwTerminateReason; 455 + DWORD dwServerTerminateReason; 456 + WCHAR szReplyMessage[RAS_MaxReplyMessage]; 457 + DWORD dwOptions; 458 + DWORD dwServerOptions; 459 + } 460 +} 461 +alias RASPPPLCPW* LPRASPPPLCPW; 462 + 463 +struct RASPPPLCPA{ 464 + DWORD dwSize; 465 + BOOL fBundled; 466 + static if (WINVER >= 0x0500) { 467 + DWORD dwError; 468 + DWORD dwAuthenticationProtocol; 469 + DWORD dwAuthenticationData; 470 + DWORD dwEapTypeId; 471 + DWORD dwServerAuthenticationProtocol; 472 + DWORD dwServerAuthenticationData; 473 + DWORD dwServerEapTypeId; 474 + BOOL fMultilink; 475 + DWORD dwTerminateReason; 476 + DWORD dwServerTerminateReason; 477 + CHAR szReplyMessage[RAS_MaxReplyMessage]; 478 + DWORD dwOptions; 479 + DWORD dwServerOptions; 480 + } 481 +} 482 +alias RASPPPLCPA* LPRASPPPLCPA; 483 + 484 +struct RASSLIPW{ 485 + DWORD dwSize; 486 + DWORD dwError; 487 + WCHAR szIpAddress[RAS_MaxIpAddress + 1]; 488 +} 489 +alias RASSLIPW* LPRASSLIPW; 490 + 491 +struct RASSLIPA{ 492 + DWORD dwSize; 493 + DWORD dwError; 494 + CHAR szIpAddress[RAS_MaxIpAddress + 1]; 495 +} 496 +alias RASSLIPA* LPRASSLIPA; 497 + 498 +struct RASDEVINFOW{ 499 + DWORD dwSize; 500 + WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 501 + WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 502 +} 503 +alias RASDEVINFOW* LPRASDEVINFOW; 504 + 505 +struct RASDEVINFOA{ 506 + DWORD dwSize; 507 + CHAR szDeviceType[RAS_MaxDeviceType + 1]; 508 + CHAR szDeviceName[RAS_MaxDeviceName + 1]; 509 +} 510 +alias RASDEVINFOA* LPRASDEVINFOA; 511 + 512 +struct RASCTRYINFO { 513 + DWORD dwSize; 514 + DWORD dwCountryID; 515 + DWORD dwNextCountryID; 516 + DWORD dwCountryCode; 517 + DWORD dwCountryNameOffset; 518 +} 519 +alias RASCTRYINFO* LPRASCTRYINFO; 520 +alias RASCTRYINFO RASCTRYINFOW, RASCTRYINFOA; 521 +alias RASCTRYINFOW* LPRASCTRYINFOW; 522 +alias RASCTRYINFOA* LPRASCTRYINFOA; 523 + 524 +struct RASIPADDR { 525 + BYTE a; 526 + BYTE b; 527 + BYTE c; 528 + BYTE d; 529 +} 530 + 531 +struct RASENTRYW { 532 + DWORD dwSize; 533 + DWORD dwfOptions; 534 + DWORD dwCountryID; 535 + DWORD dwCountryCode; 536 + WCHAR szAreaCode[RAS_MaxAreaCode + 1]; 537 + WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; 538 + DWORD dwAlternateOffset; 539 + RASIPADDR ipaddr; 540 + RASIPADDR ipaddrDns; 541 + RASIPADDR ipaddrDnsAlt; 542 + RASIPADDR ipaddrWins; 543 + RASIPADDR ipaddrWinsAlt; 544 + DWORD dwFrameSize; 545 + DWORD dwfNetProtocols; 546 + DWORD dwFramingProtocol; 547 + WCHAR szScript[MAX_PATH]; 548 + WCHAR szAutodialDll[MAX_PATH]; 549 + WCHAR szAutodialFunc[MAX_PATH]; 550 + WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 551 + WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 552 + WCHAR szX25PadType[RAS_MaxPadType + 1]; 553 + WCHAR szX25Address[RAS_MaxX25Address + 1]; 554 + WCHAR szX25Facilities[RAS_MaxFacilities + 1]; 555 + WCHAR szX25UserData[RAS_MaxUserData + 1]; 556 + DWORD dwChannels; 557 + DWORD dwReserved1; 558 + DWORD dwReserved2; 559 + static if (WINVER >= 0x0401) { 560 + DWORD dwSubEntries; 561 + DWORD dwDialMode; 562 + DWORD dwDialExtraPercent; 563 + DWORD dwDialExtraSampleSeconds; 564 + DWORD dwHangUpExtraPercent; 565 + DWORD dwHangUpExtraSampleSeconds; 566 + DWORD dwIdleDisconnectSeconds; 567 + } 568 + static if (WINVER >= 0x0500) { 569 + DWORD dwType; 570 + DWORD dwEncryptionType; 571 + DWORD dwCustomAuthKey; 572 + GUID guidId; 573 + WCHAR szCustomDialDll[MAX_PATH]; 574 + DWORD dwVpnStrategy; 575 + } 576 +} 577 +alias RASENTRYW* LPRASENTRYW; 578 + 579 +struct RASENTRYA { 580 + DWORD dwSize; 581 + DWORD dwfOptions; 582 + DWORD dwCountryID; 583 + DWORD dwCountryCode; 584 + CHAR szAreaCode[RAS_MaxAreaCode + 1]; 585 + CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; 586 + DWORD dwAlternateOffset; 587 + RASIPADDR ipaddr; 588 + RASIPADDR ipaddrDns; 589 + RASIPADDR ipaddrDnsAlt; 590 + RASIPADDR ipaddrWins; 591 + RASIPADDR ipaddrWinsAlt; 592 + DWORD dwFrameSize; 593 + DWORD dwfNetProtocols; 594 + DWORD dwFramingProtocol; 595 + CHAR szScript[MAX_PATH]; 596 + CHAR szAutodialDll[MAX_PATH]; 597 + CHAR szAutodialFunc[MAX_PATH]; 598 + CHAR szDeviceType[RAS_MaxDeviceType + 1]; 599 + CHAR szDeviceName[RAS_MaxDeviceName + 1]; 600 + CHAR szX25PadType[RAS_MaxPadType + 1]; 601 + CHAR szX25Address[RAS_MaxX25Address + 1]; 602 + CHAR szX25Facilities[RAS_MaxFacilities + 1]; 603 + CHAR szX25UserData[RAS_MaxUserData + 1]; 604 + DWORD dwChannels; 605 + DWORD dwReserved1; 606 + DWORD dwReserved2; 607 + static if (WINVER >= 0x0401) { 608 + DWORD dwSubEntries; 609 + DWORD dwDialMode; 610 + DWORD dwDialExtraPercent; 611 + DWORD dwDialExtraSampleSeconds; 612 + DWORD dwHangUpExtraPercent; 613 + DWORD dwHangUpExtraSampleSeconds; 614 + DWORD dwIdleDisconnectSeconds; 615 + } 616 + static if (WINVER >= 0x0500) { 617 + DWORD dwType; 618 + DWORD dwEncryptionType; 619 + DWORD dwCustomAuthKey; 620 + GUID guidId; 621 + CHAR szCustomDialDll[MAX_PATH]; 622 + DWORD dwVpnStrategy; 623 + } 624 +} 625 +alias RASENTRYA* LPRASENTRYA; 626 + 627 + 628 +static if (WINVER >= 0x0401) { 629 + struct RASADPARAMS { 630 + DWORD dwSize; 631 + HWND hwndOwner; 632 + DWORD dwFlags; 633 + LONG xDlg; 634 + LONG yDlg; 635 + } 636 + alias RASADPARAMS* LPRASADPARAMS; 637 + 638 + struct RASSUBENTRYW{ 639 + DWORD dwSize; 640 + DWORD dwfFlags; 641 + WCHAR szDeviceType[RAS_MaxDeviceType + 1]; 642 + WCHAR szDeviceName[RAS_MaxDeviceName + 1]; 643 + WCHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; 644 + DWORD dwAlternateOffset; 645 + } 646 + alias RASSUBENTRYW* LPRASSUBENTRYW; 647 + 648 + struct RASSUBENTRYA{ 649 + DWORD dwSize; 650 + DWORD dwfFlags; 651 + CHAR szDeviceType[RAS_MaxDeviceType + 1]; 652 + CHAR szDeviceName[RAS_MaxDeviceName + 1]; 653 + CHAR szLocalPhoneNumber[RAS_MaxPhoneNumber + 1]; 654 + DWORD dwAlternateOffset; 655 + } 656 + alias RASSUBENTRYA* LPRASSUBENTRYA; 657 + 658 + struct RASCREDENTIALSW{ 659 + DWORD dwSize; 660 + DWORD dwMask; 661 + WCHAR szUserName[UNLEN + 1]; 662 + WCHAR szPassword[PWLEN + 1]; 663 + WCHAR szDomain[DNLEN + 1]; 664 + } 665 + alias RASCREDENTIALSW* LPRASCREDENTIALSW; 666 + 667 + struct RASCREDENTIALSA{ 668 + DWORD dwSize; 669 + DWORD dwMask; 670 + CHAR szUserName[UNLEN + 1]; 671 + CHAR szPassword[PWLEN + 1]; 672 + CHAR szDomain[DNLEN + 1]; 673 + } 674 + alias RASCREDENTIALSA* LPRASCREDENTIALSA; 675 + 676 + struct RASAUTODIALENTRYW{ 677 + DWORD dwSize; 678 + DWORD dwFlags; 679 + DWORD dwDialingLocation; 680 + WCHAR szEntry[RAS_MaxEntryName + 1]; 681 + } 682 + alias RASAUTODIALENTRYW* LPRASAUTODIALENTRYW; 683 + 684 + struct RASAUTODIALENTRYA{ 685 + DWORD dwSize; 686 + DWORD dwFlags; 687 + DWORD dwDialingLocation; 688 + CHAR szEntry[RAS_MaxEntryName + 1]; 689 + } 690 + alias RASAUTODIALENTRYA* LPRASAUTODIALENTRYA; 691 +} 692 + 693 +static if (WINVER >= 0x0500) { 694 + struct RASPPPCCP{ 695 + DWORD dwSize; 696 + DWORD dwError; 697 + DWORD dwCompressionAlgorithm; 698 + DWORD dwOptions; 699 + DWORD dwServerCompressionAlgorithm; 700 + DWORD dwServerOptions; 701 + } 702 + alias RASPPPCCP* LPRASPPPCCP; 703 + 704 + struct RASEAPUSERIDENTITYW{ 705 + WCHAR szUserName[UNLEN + 1]; 706 + DWORD dwSizeofEapInfo; 707 + BYTE pbEapInfo[1]; 708 + } 709 + alias RASEAPUSERIDENTITYW* LPRASEAPUSERIDENTITYW; 710 + 711 + struct RASEAPUSERIDENTITYA{ 712 + CHAR szUserName[UNLEN + 1]; 713 + DWORD dwSizeofEapInfo; 714 + BYTE pbEapInfo[1]; 715 + } 716 + alias RASEAPUSERIDENTITYA* LPRASEAPUSERIDENTITYA; 717 + 718 + struct RAS_STATS{ 719 + DWORD dwSize; 720 + DWORD dwBytesXmited; 721 + DWORD dwBytesRcved; 722 + DWORD dwFramesXmited; 723 + DWORD dwFramesRcved; 724 + DWORD dwCrcErr; 725 + DWORD dwTimeoutErr; 726 + DWORD dwAlignmentErr; 727 + DWORD dwHardwareOverrunErr; 728 + DWORD dwFramingErr; 729 + DWORD dwBufferOverrunErr; 730 + DWORD dwCompressionRatioIn; 731 + DWORD dwCompressionRatioOut; 732 + DWORD dwBps; 733 + DWORD dwConnectDuration; 734 + } 735 + alias RAS_STATS* PRAS_STATS; 736 +} 737 + 738 + 739 +/* UNICODE typedefs for structures*/ 740 +version (Unicode) { 741 + alias RASCONNW RASCONN; 742 + alias RASENTRYW RASENTRY; 743 + alias RASCONNSTATUSW RASCONNSTATUS; 744 + alias RASDIALPARAMSW RASDIALPARAMS; 745 + alias RASAMBW RASAMB; 746 + alias RASPPPNBFW RASPPPNBF; 747 + alias RASPPPIPXW RASPPPIPX; 748 + alias RASPPPIPW RASPPPIP; 749 + alias RASPPPLCPW RASPPPLCP; 750 + alias RASSLIPW RASSLIP; 751 + alias RASDEVINFOW RASDEVINFO; 752 + alias RASENTRYNAMEW RASENTRYNAME; 753 + 754 + static if (WINVER >= 0x0401) { 755 + alias RASSUBENTRYW RASSUBENTRY; 756 + alias RASCREDENTIALSW RASCREDENTIALS; 757 + alias RASAUTODIALENTRYW RASAUTODIALENTRY; 758 + } 759 + 760 + static if (WINVER >= 0x0500) { 761 + alias RASEAPUSERIDENTITYW RASEAPUSERIDENTITY; 762 + } 763 + 764 +} else { // ! defined UNICODE 765 + 766 + alias RASCONNA RASCONN; 767 + alias RASENTRYA RASENTRY; 768 + alias RASCONNSTATUSA RASCONNSTATUS; 769 + alias RASDIALPARAMSA RASDIALPARAMS; 770 + alias RASAMBA RASAMB; 771 + alias RASPPPNBFA RASPPPNBF; 772 + alias RASPPPIPXA RASPPPIPX; 773 + alias RASPPPIPA RASPPPIP; 774 + alias RASPPPLCPA RASPPPLCP; 775 + alias RASSLIPA RASSLIP; 776 + alias RASDEVINFOA RASDEVINFO; 777 + alias RASENTRYNAMEA RASENTRYNAME; 778 + 779 + static if (WINVER >= 0x0401) { 780 + alias RASSUBENTRYA RASSUBENTRY; 781 + alias RASCREDENTIALSA RASCREDENTIALS; 782 + alias RASAUTODIALENTRYA RASAUTODIALENTRY; 783 + } 784 + static if (WINVER >= 0x0500) { 785 + alias RASEAPUSERIDENTITYA RASEAPUSERIDENTITY; 786 + } 787 +}// ! UNICODE 788 + 789 + 790 +alias RASCONN* LPRASCONN; 791 +alias RASENTRY* LPRASENTRY; 792 +alias RASCONNSTATUS* LPRASCONNSTATUS; 793 +alias RASDIALPARAMS* LPRASDIALPARAMS; 794 +alias RASAMB* LPRASAM; 795 +alias RASPPPNBF* LPRASPPPNBF; 796 +alias RASPPPIPX* LPRASPPPIPX; 797 +alias RASPPPIP* LPRASPPPIP; 798 +alias RASPPPLCP* LPRASPPPLCP; 799 +alias RASSLIP* LPRASSLIP; 800 +alias RASDEVINFO* LPRASDEVINFO; 801 +alias RASENTRYNAME* LPRASENTRYNAME; 802 + 803 +static if (WINVER >= 0x0401) { 804 + alias RASSUBENTRY* LPRASSUBENTRY; 805 + alias RASCREDENTIALS* LPRASCREDENTIALS; 806 + alias RASAUTODIALENTRY* LPRASAUTODIALENTRY; 807 +} 808 +static if (WINVER >= 0x0500) { 809 + alias RASEAPUSERIDENTITY* LPRASEAPUSERIDENTITY; 810 +} 811 + 812 +/* Callback prototypes */ 813 +deprecated { 814 + alias BOOL function (HWND, LPSTR, DWORD, LPDWORD) ORASADFUNC; 815 +} 816 + 817 +alias void function (UINT, RASCONNSTATE, DWORD) RASDIALFUNC; 818 +alias void function(HRASCONN, UINT, RASCONNSTATE, DWORD, 819 +DWORD) RASDIALFUNC1; 820 +alias DWORD function (ULONG_PTR, DWORD, HRASCONN, UINT, 821 +RASCONNSTATE, DWORD, DWORD) RASDIALFUNC2; 822 + 823 +/* External functions */ 824 +DWORD RasDialA (LPRASDIALEXTENSIONS, LPCSTR, LPRASDIALPARAMSA, 825 +DWORD, LPVOID, LPHRASCONN); 826 +DWORD RasDialW (LPRASDIALEXTENSIONS, LPCWSTR, LPRASDIALPARAMSW, 827 +DWORD, LPVOID, LPHRASCONN); 828 +DWORD RasEnumConnectionsA (LPRASCONNA, LPDWORD, LPDWORD); 829 +DWORD RasEnumConnectionsW (LPRASCONNW, LPDWORD, LPDWORD); 830 +DWORD RasEnumEntriesA (LPCSTR, LPCSTR, LPRASENTRYNAMEA, LPDWORD, 831 +LPDWORD); 832 +DWORD RasEnumEntriesW (LPCWSTR, LPCWSTR, LPRASENTRYNAMEW, LPDWORD, 833 +LPDWORD); 834 +DWORD RasGetConnectStatusA (HRASCONN, LPRASCONNSTATUSA); 835 +DWORD RasGetConnectStatusW (HRASCONN, LPRASCONNSTATUSW); 836 +DWORD RasGetErrorStringA (UINT, LPSTR, DWORD); 837 +DWORD RasGetErrorStringW (UINT, LPWSTR, DWORD); 838 +DWORD RasHangUpA (HRASCONN); 839 +DWORD RasHangUpW (HRASCONN); 840 +DWORD RasGetProjectionInfoA (HRASCONN, RASPROJECTION, LPVOID, 841 +LPDWORD); 842 +DWORD RasGetProjectionInfoW (HRASCONN, RASPROJECTION, LPVOID, 843 +LPDWORD); 844 +DWORD RasCreatePhonebookEntryA (HWND, LPCSTR); 845 +DWORD RasCreatePhonebookEntryW (HWND, LPCWSTR); 846 +DWORD RasEditPhonebookEntryA (HWND, LPCSTR, LPCSTR); 847 +DWORD RasEditPhonebookEntryW (HWND, LPCWSTR, LPCWSTR); 848 +DWORD RasSetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, BOOL); 849 +DWORD RasSetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, BOOL); 850 +DWORD RasGetEntryDialParamsA (LPCSTR, LPRASDIALPARAMSA, LPBOOL); 851 +DWORD RasGetEntryDialParamsW (LPCWSTR, LPRASDIALPARAMSW, LPBOOL); 852 +DWORD RasEnumDevicesA (LPRASDEVINFOA, LPDWORD, LPDWORD); 853 +DWORD RasEnumDevicesW (LPRASDEVINFOW, LPDWORD, LPDWORD); 854 +DWORD RasGetCountryInfoA (LPRASCTRYINFOA, LPDWORD); 855 +DWORD RasGetCountryInfoW (LPRASCTRYINFOW, LPDWORD); 856 +DWORD RasGetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, LPDWORD, 857 +LPBYTE, LPDWORD); 858 +DWORD RasGetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW, 859 +LPDWORD, LPBYTE, LPDWORD); 860 +DWORD RasSetEntryPropertiesA (LPCSTR, LPCSTR, LPRASENTRYA, DWORD, 861 +LPBYTE, DWORD); 862 +DWORD RasSetEntryPropertiesW (LPCWSTR, LPCWSTR, LPRASENTRYW, DWORD, 863 +LPBYTE, DWORD); 864 +DWORD RasRenameEntryA (LPCSTR, LPCSTR, LPCSTR); 865 +DWORD RasRenameEntryW (LPCWSTR, LPCWSTR, LPCWSTR); 866 +DWORD RasDeleteEntryA (LPCSTR, LPCSTR); 867 +DWORD RasDeleteEntryW (LPCWSTR, LPCWSTR); 868 +DWORD RasValidateEntryNameA (LPCSTR, LPCSTR); 869 +DWORD RasValidateEntryNameW (LPCWSTR, LPCWSTR); 870 + 871 +static if (WINVER >= 0x0401) { 872 + alias BOOL function (LPSTR, LPSTR, LPRASADPARAMS, LPDWORD) RASADFUNCA; 873 + alias BOOL function (LPWSTR, LPWSTR, LPRASADPARAMS, LPDWORD) RASADFUNCW; 874 + 875 + DWORD RasGetSubEntryHandleA (HRASCONN, DWORD, LPHRASCONN); 876 + DWORD RasGetSubEntryHandleW (HRASCONN, DWORD, LPHRASCONN); 877 + DWORD RasGetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA); 878 + DWORD RasGetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW); 879 + DWORD RasSetCredentialsA (LPCSTR, LPCSTR, LPRASCREDENTIALSA, BOOL); 880 + DWORD RasSetCredentialsW (LPCWSTR, LPCWSTR, LPRASCREDENTIALSW, BOOL); 881 + DWORD RasConnectionNotificationA (HRASCONN, HANDLE, DWORD); 882 + DWORD RasConnectionNotificationW (HRASCONN, HANDLE, DWORD); 883 + DWORD RasGetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD, 884 + LPRASSUBENTRYA, LPDWORD, LPBYTE, LPDWORD); 885 + DWORD RasGetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD, 886 + LPRASSUBENTRYW, LPDWORD, LPBYTE, LPDWORD); 887 + DWORD RasSetSubEntryPropertiesA (LPCSTR, LPCSTR, DWORD, 888 + LPRASSUBENTRYA, DWORD, LPBYTE, DWORD); 889 + DWORD RasSetSubEntryPropertiesW (LPCWSTR, LPCWSTR, DWORD, 890 + LPRASSUBENTRYW, DWORD, LPBYTE, DWORD); 891 + DWORD RasGetAutodialAddressA (LPCSTR, LPDWORD, LPRASAUTODIALENTRYA, 892 + LPDWORD, LPDWORD); 893 + DWORD RasGetAutodialAddressW (LPCWSTR, LPDWORD, 894 + LPRASAUTODIALENTRYW, LPDWORD, LPDWORD); 895 + DWORD RasSetAutodialAddressA (LPCSTR, DWORD, LPRASAUTODIALENTRYA, 896 + DWORD, DWORD); 897 + DWORD RasSetAutodialAddressW (LPCWSTR, DWORD, LPRASAUTODIALENTRYW, 898 + DWORD, DWORD); 899 + DWORD RasEnumAutodialAddressesA (LPSTR *, LPDWORD, LPDWORD); 900 + DWORD RasEnumAutodialAddressesW (LPWSTR *, LPDWORD, LPDWORD); 901 + DWORD RasGetAutodialEnableA (DWORD, LPBOOL); 902 + DWORD RasGetAutodialEnableW (DWORD, LPBOOL); 903 + DWORD RasSetAutodialEnableA (DWORD, BOOL); 904 + DWORD RasSetAutodialEnableW (DWORD, BOOL); 905 + DWORD RasGetAutodialParamA (DWORD, LPVOID, LPDWORD); 906 + DWORD RasGetAutodialParamW (DWORD, LPVOID, LPDWORD); 907 + DWORD RasSetAutodialParamA (DWORD, LPVOID, DWORD); 908 + DWORD RasSetAutodialParamW (DWORD, LPVOID, DWORD); 909 +} 910 + 911 +static if (WINVER >= 0x0500) { 912 + alias DWORD function (HRASCONN) RasCustomHangUpFn; 913 + alias DWORD function (LPCTSTR, LPCTSTR, DWORD) RasCustomDeleteEntryNotifyFn; 914 + alias DWORD function (HINSTANCE, LPRASDIALEXTENSIONS, 915 + LPCTSTR, LPRASDIALPARAMS, DWORD, LPVOID, LPHRASCONN, DWORD) RasCustomDialFn; 916 + 917 + DWORD RasInvokeEapUI (HRASCONN, DWORD, LPRASDIALEXTENSIONS, HWND); 918 + DWORD RasGetLinkStatistics (HRASCONN, DWORD, RAS_STATS*); 919 + DWORD RasGetConnectionStatistics (HRASCONN, RAS_STATS*); 920 + DWORD RasClearLinkStatistics (HRASCONN, DWORD); 921 + DWORD RasClearConnectionStatistics (HRASCONN); 922 + DWORD RasGetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD*); 923 + DWORD RasGetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD*); 924 + DWORD RasSetEapUserDataA (HANDLE, LPCSTR, LPCSTR, BYTE*, DWORD); 925 + DWORD RasSetEapUserDataW (HANDLE, LPCWSTR, LPCWSTR, BYTE*, DWORD); 926 + DWORD RasGetCustomAuthDataA (LPCSTR, LPCSTR, BYTE*, DWORD*); 927 + DWORD RasGetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD*); 928 + DWORD RasSetCustomAuthDataA (LPCSTR, LPCSTR, BYTE*, DWORD); 929 + DWORD RasSetCustomAuthDataW (LPCWSTR, LPCWSTR, BYTE*, DWORD); 930 + DWORD RasGetEapUserIdentityW (LPCWSTR, LPCWSTR, DWORD, HWND, LPRASEAPUSERIDENTITYW*); 931 + DWORD RasGetEapUserIdentityA (LPCSTR, LPCSTR, DWORD, HWND, LPRASEAPUSERIDENTITYA*); 932 + void RasFreeEapUserIdentityW (LPRASEAPUSERIDENTITYW); 933 + void RasFreeEapUserIdentityA (LPRASEAPUSERIDENTITYA); 934 +} 935 + 936 + 937 +/* UNICODE defines for functions */ 938 +version(Unicode) { 939 + alias RasDialW RasDial; 940 + alias RasEnumConnectionsW RasEnumConnections; 941 + alias RasEnumEntriesW RasEnumEntries; 942 + alias RasGetConnectStatusW RasGetConnectStatus; 943 + alias RasGetErrorStringW RasGetErrorString; 944 + alias RasHangUpW RasHangUp; 945 + alias RasGetProjectionInfoW RasGetProjectionInfo; 946 + alias RasCreatePhonebookEntryW RasCreatePhonebookEntry; 947 + alias RasEditPhonebookEntryW RasEditPhonebookEntry; 948 + alias RasSetEntryDialParamsW RasSetEntryDialParams; 949 + alias RasGetEntryDialParamsW RasGetEntryDialParams; 950 + alias RasEnumDevicesW RasEnumDevices; 951 + alias RasGetCountryInfoW RasGetCountryInfo; 952 + alias RasGetEntryPropertiesW RasGetEntryProperties; 953 + alias RasSetEntryPropertiesW RasSetEntryProperties; 954 + alias RasRenameEntryW RasRenameEntry; 955 + alias RasDeleteEntryW RasDeleteEntry; 956 + alias RasValidateEntryNameW RasValidateEntryName; 957 + 958 + static if (WINVER >= 0x0401) { 959 + alias RASADFUNCW RASADFUNC; 960 + alias RasGetSubEntryHandleW RasGetSubEntryHandle; 961 + alias RasConnectionNotificationW RasConnectionNotification; 962 + alias RasGetSubEntryPropertiesW RasGetSubEntryProperties; 963 + alias RasSetSubEntryPropertiesW RasSetSubEntryProperties; 964 + alias RasGetCredentialsW RasGetCredentials; 965 + alias RasSetCredentialsW RasSetCredentials; 966 + alias RasGetAutodialAddressW RasGetAutodialAddress; 967 + alias RasSetAutodialAddressW RasSetAutodialAddress; 968 + alias RasEnumAutodialAddressesW RasEnumAutodialAddresses; 969 + alias RasGetAutodialEnableW RasGetAutodialEnable; 970 + alias RasSetAutodialEnableW RasSetAutodialEnable; 971 + alias RasGetAutodialParamW RasGetAutodialParam; 972 + alias RasSetAutodialParamW RasSetAutodialParam; 973 + } 974 + 975 + static if (WINVER >= 0x0500) { 976 + alias RasGetEapUserDataW RasGetEapUserData; 977 + alias RasSetEapUserDataW RasSetEapUserData; 978 + alias RasGetCustomAuthDataW RasGetCustomAuthData; 979 + alias RasSetCustomAuthDataW RasSetCustomAuthData; 980 + alias RasGetEapUserIdentityW RasGetEapUserIdentity; 981 + alias RasFreeEapUserIdentityW RasFreeEapUserIdentity; 982 + } 983 + 984 +} else { // ! defined UNICODE 985 + alias RasDialA RasDial; 986 + alias RasEnumConnectionsA RasEnumConnections; 987 + alias RasEnumEntriesA RasEnumEntries; 988 + alias RasGetConnectStatusA RasGetConnectStatus; 989 + alias RasGetErrorStringA RasGetErrorString; 990 + alias RasHangUpA RasHangUp; 991 + alias RasGetProjectionInfoA RasGetProjectionInfo; 992 + alias RasCreatePhonebookEntryA RasCreatePhonebookEntry; 993 + alias RasEditPhonebookEntryA RasEditPhonebookEntry; 994 + alias RasSetEntryDialParamsA RasSetEntryDialParams; 995 + alias RasGetEntryDialParamsA RasGetEntryDialParams; 996 + alias RasEnumDevicesA RasEnumDevices; 997 + alias RasGetCountryInfoA RasGetCountryInfo; 998 + alias RasGetEntryPropertiesA RasGetEntryProperties; 999 + alias RasSetEntryPropertiesA RasSetEntryProperties; 1000 + alias RasRenameEntryA RasRenameEntry; 1001 + alias RasDeleteEntryA RasDeleteEntry; 1002 + alias RasValidateEntryNameA RasValidateEntryName; 1003 + 1004 + static if (WINVER >= 0x0401) { 1005 + alias RASADFUNCA RASADFUNC; 1006 + alias RasGetSubEntryHandleA RasGetSubEntryHandle; 1007 + alias RasConnectionNotificationA RasConnectionNotification; 1008 + alias RasGetSubEntryPropertiesA RasGetSubEntryProperties; 1009 + alias RasSetSubEntryPropertiesA RasSetSubEntryProperties; 1010 + alias RasGetCredentialsA RasGetCredentials; 1011 + alias RasSetCredentialsA RasSetCredentials; 1012 + alias RasGetAutodialAddressA RasGetAutodialAddress; 1013 + alias RasSetAutodialAddressA RasSetAutodialAddress; 1014 + alias RasEnumAutodialAddressesA RasEnumAutodialAddresses; 1015 + alias RasGetAutodialEnableA RasGetAutodialEnable; 1016 + alias RasSetAutodialEnableA RasSetAutodialEnable; 1017 + alias RasGetAutodialParamA RasGetAutodialParam; 1018 + alias RasSetAutodialParamA RasSetAutodialParam; 1019 + } 1020 + 1021 + static if (WINVER >= 0x0500) { 1022 + alias RasGetEapUserDataA RasGetEapUserData; 1023 + alias RasSetEapUserDataA RasSetEapUserData; 1024 + alias RasGetCustomAuthDataA RasGetCustomAuthData; 1025 + alias RasSetCustomAuthDataA RasSetCustomAuthData; 1026 + alias RasGetEapUserIdentityA RasGetEapUserIdentity; 1027 + alias RasFreeEapUserIdentityA RasFreeEapUserIdentity; 1028 + } 1029 +} //#endif // ! UNICODE

Added src/win32/rasdlg.d version [95419ef551ec8336]

1 +/***********************************************************************\ 2 +* rasdlg.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.rasdlg; 12 + 13 +import win32.ras; 14 +private import win32.lmcons, win32.windef; 15 + 16 +enum { 17 + RASPBDEVENT_AddEntry = 1, 18 + RASPBDEVENT_EditEntry, 19 + RASPBDEVENT_RemoveEntry, 20 + RASPBDEVENT_DialEntry, 21 + RASPBDEVENT_EditGlobals, 22 + RASPBDEVENT_NoUser, 23 + RASPBDEVENT_NoUserEdit 24 +} 25 + 26 +const RASPBDFLAG_PositionDlg = 1; 27 +const RASPBDFLAG_ForceCloseOnDial = 2; 28 +const RASPBDFLAG_NoUser = 16; 29 + 30 +const RASEDFLAG_PositionDlg = 1; 31 +const RASEDFLAG_NewEntry = 2; 32 +const RASEDFLAG_CloneEntry = 4; 33 + 34 +const RASDDFLAG_PositionDlg = 1; 35 + 36 +align(4): 37 + 38 +struct RASENTRYDLGA { 39 + DWORD dwSize = RASENTRYDLGA.sizeof; 40 + HWND hwndOwner; 41 + DWORD dwFlags; 42 + LONG xDlg; 43 + LONG yDlg; 44 + CHAR[RAS_MaxEntryName + 1] szEntry; 45 + DWORD dwError; 46 + ULONG_PTR reserved; 47 + ULONG_PTR reserved2; 48 +} 49 +alias RASENTRYDLGA* LPRASENTRYDLGA; 50 + 51 +struct RASENTRYDLGW { 52 + DWORD dwSize = RASENTRYDLGW.sizeof; 53 + HWND hwndOwner; 54 + DWORD dwFlags; 55 + LONG xDlg; 56 + LONG yDlg; 57 + WCHAR[RAS_MaxEntryName + 1] szEntry; 58 + DWORD dwError; 59 + ULONG_PTR reserved; 60 + ULONG_PTR reserved2; 61 +} 62 +alias RASENTRYDLGW* LPRASENTRYDLGW; 63 + 64 +struct RASDIALDLG { 65 + DWORD dwSize; 66 + HWND hwndOwner; 67 + DWORD dwFlags; 68 + LONG xDlg; 69 + LONG yDlg; 70 + DWORD dwSubEntry; 71 + DWORD dwError; 72 + ULONG_PTR reserved; 73 + ULONG_PTR reserved2; 74 +} 75 +alias RASDIALDLG* LPRASDIALDLG; 76 + 77 +// Application-defined callback functions 78 +extern (Windows) { 79 + alias VOID function(DWORD, DWORD, LPWSTR, LPVOID) RASPBDLGFUNCW; 80 + alias VOID function(DWORD, DWORD, LPSTR, LPVOID) RASPBDLGFUNCA; 81 +} 82 + 83 +struct RASPBDLGA { 84 + DWORD dwSize = RASPBDLGA.sizeof; 85 + HWND hwndOwner; 86 + DWORD dwFlags; 87 + LONG xDlg; 88 + LONG yDlg; 89 + ULONG_PTR dwCallbackId; 90 + RASPBDLGFUNCA pCallback; 91 + DWORD dwError; 92 + ULONG_PTR reserved; 93 + ULONG_PTR reserved2; 94 +} 95 +alias RASPBDLGA* LPRASPBDLGA; 96 + 97 +struct RASPBDLGW { 98 + DWORD dwSize = RASPBDLGW.sizeof; 99 + HWND hwndOwner; 100 + DWORD dwFlags; 101 + LONG xDlg; 102 + LONG yDlg; 103 + ULONG_PTR dwCallbackId; 104 + RASPBDLGFUNCW pCallback; 105 + DWORD dwError; 106 + ULONG_PTR reserved; 107 + ULONG_PTR reserved2; 108 +} 109 +alias RASPBDLGW* LPRASPBDLGW; 110 + 111 +struct RASNOUSERA 112 +{ 113 + DWORD dwSize = RASNOUSERA.sizeof; 114 + DWORD dwFlags; 115 + DWORD dwTimeoutMs; 116 + CHAR[UNLEN + 1] szUserName; 117 + CHAR[PWLEN + 1] szPassword; 118 + CHAR[DNLEN + 1] szDomain; 119 +} 120 +alias RASNOUSERA* LPRASNOUSERA; 121 + 122 +struct RASNOUSERW { 123 + DWORD dwSize = RASNOUSERW.sizeof; 124 + DWORD dwFlags; 125 + DWORD dwTimeoutMs; 126 + WCHAR[UNLEN + 1] szUserName; 127 + WCHAR[PWLEN + 1] szPassword; 128 + WCHAR[DNLEN + 1] szDomain; 129 +} 130 +alias RASNOUSERW* LPRASNOUSERW; 131 + 132 +extern (Windows) { 133 + BOOL RasDialDlgA(LPSTR, LPSTR, LPSTR, LPRASDIALDLG); 134 + BOOL RasDialDlgW(LPWSTR, LPWSTR, LPWSTR, LPRASDIALDLG); 135 + BOOL RasEntryDlgA(LPSTR, LPSTR, LPRASENTRYDLGA); 136 + BOOL RasEntryDlgW(LPWSTR, LPWSTR, LPRASENTRYDLGW); 137 + BOOL RasPhonebookDlgA(LPSTR, LPSTR, LPRASPBDLGA); 138 + BOOL RasPhonebookDlgW(LPWSTR, LPWSTR, LPRASPBDLGW); 139 +} 140 + 141 +version (Unicode) { 142 + alias RASENTRYDLGW RASENTRYDLG; 143 + alias RASPBDLGW RASPBDLG; 144 + alias RASNOUSERW RASNOUSER; 145 + alias RasDialDlgW RasDialDlg; 146 + alias RasEntryDlgW RasEntryDlg; 147 + alias RasPhonebookDlgW RasPhonebookDlg; 148 +} else { 149 + alias RASENTRYDLGA RASENTRYDLG; 150 + alias RASPBDLGA RASPBDLG; 151 + alias RASNOUSERA RASNOUSER; 152 + alias RasDialDlgA RasDialDlg; 153 + alias RasEntryDlgA RasEntryDlg; 154 + alias RasPhonebookDlgA RasPhonebookDlg; 155 +} 156 + 157 +alias RASENTRYDLG* LPRASENTRYDLG; 158 +alias RASPBDLG* LPRASPBDLG; 159 +alias RASNOUSER* LPRASNOUSER;

Added src/win32/raserror.d version [d12ed6abe667cce7]

1 +/***********************************************************************\ 2 +* raserror.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.raserror; 11 + 12 +enum { 13 + SUCCESS = 0, 14 + RASBASE = 600, 15 + PENDING = RASBASE, 16 + ERROR_INVALID_PORT_HANDLE, 17 + ERROR_PORT_ALREADY_OPEN, 18 + ERROR_BUFFER_TOO_SMALL, 19 + ERROR_WRONG_INFO_SPECIFIED, 20 + ERROR_CANNOT_SET_PORT_INFO, 21 + ERROR_PORT_NOT_CONNECTED, 22 + ERROR_EVENT_INVALID, 23 + ERROR_DEVICE_DOES_NOT_EXIST, 24 + ERROR_DEVICETYPE_DOES_NOT_EXIST, 25 + ERROR_BUFFER_INVALID, 26 + ERROR_ROUTE_NOT_AVAILABLE, 27 + ERROR_ROUTE_NOT_ALLOCATED, 28 + ERROR_INVALID_COMPRESSION_SPECIFIED, 29 + ERROR_OUT_OF_BUFFERS, 30 + ERROR_PORT_NOT_FOUND, 31 + ERROR_ASYNC_REQUEST_PENDING, 32 + ERROR_ALREADY_DISCONNECTING, 33 + ERROR_PORT_NOT_OPEN, 34 + ERROR_PORT_DISCONNECTED, 35 + ERROR_NO_ENDPOINTS, 36 + ERROR_CANNOT_OPEN_PHONEBOOK, 37 + ERROR_CANNOT_LOAD_PHONEBOOK, 38 + ERROR_CANNOT_FIND_PHONEBOOK_ENTRY, 39 + ERROR_CANNOT_WRITE_PHONEBOOK, 40 + ERROR_CORRUPT_PHONEBOOK, 41 + ERROR_CANNOT_LOAD_STRING, 42 + ERROR_KEY_NOT_FOUND, 43 + ERROR_DISCONNECTION, 44 + ERROR_REMOTE_DISCONNECTION, 45 + ERROR_HARDWARE_FAILURE, 46 + ERROR_USER_DISCONNECTION, 47 + ERROR_INVALID_SIZE, 48 + ERROR_PORT_NOT_AVAILABLE, 49 + ERROR_CANNOT_PROJECT_CLIENT, 50 + ERROR_UNKNOWN, 51 + ERROR_WRONG_DEVICE_ATTACHED, 52 + ERROR_BAD_STRING, 53 + ERROR_REQUEST_TIMEOUT, 54 + ERROR_CANNOT_GET_LANA, 55 + ERROR_NETBIOS_ERROR, 56 + ERROR_SERVER_OUT_OF_RESOURCES, 57 + ERROR_NAME_EXISTS_ON_NET, 58 + ERROR_SERVER_GENERAL_NET_FAILURE, 59 + WARNING_MSG_ALIAS_NOT_ADDED, 60 + ERROR_AUTH_INTERNAL, 61 + ERROR_RESTRICTED_LOGON_HOURS, 62 + ERROR_ACCT_DISABLED, 63 + ERROR_PASSWD_EXPIRED, 64 + ERROR_NO_DIALIN_PERMISSION, 65 + ERROR_SERVER_NOT_RESPONDING, 66 + ERROR_FROM_DEVICE, 67 + ERROR_UNRECOGNIZED_RESPONSE, 68 + ERROR_MACRO_NOT_FOUND, 69 + ERROR_MACRO_NOT_DEFINED, 70 + ERROR_MESSAGE_MACRO_NOT_FOUND, 71 + ERROR_DEFAULTOFF_MACRO_NOT_FOUND, 72 + ERROR_FILE_COULD_NOT_BE_OPENED, 73 + ERROR_DEVICENAME_TOO_LONG, 74 + ERROR_DEVICENAME_NOT_FOUND, 75 + ERROR_NO_RESPONSES, 76 + ERROR_NO_COMMAND_FOUND, 77 + ERROR_WRONG_KEY_SPECIFIED, 78 + ERROR_UNKNOWN_DEVICE_TYPE, 79 + ERROR_ALLOCATING_MEMORY, 80 + ERROR_PORT_NOT_CONFIGURED, 81 + ERROR_DEVICE_NOT_READY, 82 + ERROR_READING_INI_FILE, 83 + ERROR_NO_CONNECTION, 84 + ERROR_BAD_USAGE_IN_INI_FILE, 85 + ERROR_READING_SECTIONNAME, 86 + ERROR_READING_DEVICETYPE, 87 + ERROR_READING_DEVICENAME, 88 + ERROR_READING_USAGE, 89 + ERROR_READING_MAXCONNECTBPS, 90 + ERROR_READING_MAXCARRIERBPS, 91 + ERROR_LINE_BUSY, 92 + ERROR_VOICE_ANSWER, 93 + ERROR_NO_ANSWER, 94 + ERROR_NO_CARRIER, 95 + ERROR_NO_DIALTONE, 96 + ERROR_IN_COMMAND, 97 + ERROR_WRITING_SECTIONNAME, 98 + ERROR_WRITING_DEVICETYPE, 99 + ERROR_WRITING_DEVICENAME, 100 + ERROR_WRITING_MAXCONNECTBPS, 101 + ERROR_WRITING_MAXCARRIERBPS, 102 + ERROR_WRITING_USAGE, 103 + ERROR_WRITING_DEFAULTOFF, 104 + ERROR_READING_DEFAULTOFF, 105 + ERROR_EMPTY_INI_FILE, 106 + ERROR_AUTHENTICATION_FAILURE, 107 + ERROR_PORT_OR_DEVICE, 108 + ERROR_NOT_BINARY_MACRO, 109 + ERROR_DCB_NOT_FOUND, 110 + ERROR_STATE_MACHINES_NOT_STARTED, 111 + ERROR_STATE_MACHINES_ALREADY_STARTED, 112 + ERROR_PARTIAL_RESPONSE_LOOPING, 113 + ERROR_UNKNOWN_RESPONSE_KEY, 114 + ERROR_RECV_BUF_FULL, 115 + ERROR_CMD_TOO_LONG, 116 + ERROR_UNSUPPORTED_BPS, 117 + ERROR_UNEXPECTED_RESPONSE, 118 + ERROR_INTERACTIVE_MODE, 119 + ERROR_BAD_CALLBACK_NUMBER, 120 + ERROR_INVALID_AUTH_STATE, 121 + ERROR_WRITING_INITBPS, 122 + ERROR_X25_DIAGNOSTIC, 123 + ERROR_ACCT_EXPIRED, 124 + ERROR_CHANGING_PASSWORD, 125 + ERROR_OVERRUN, 126 + ERROR_RASMAN_CANNOT_INITIALIZE, 127 + ERROR_BIPLEX_PORT_NOT_AVAILABLE, 128 + ERROR_NO_ACTIVE_ISDN_LINES, 129 + ERROR_NO_ISDN_CHANNELS_AVAILABLE, 130 + ERROR_TOO_MANY_LINE_ERRORS, 131 + ERROR_IP_CONFIGURATION, 132 + ERROR_NO_IP_ADDRESSES, 133 + ERROR_PPP_TIMEOUT, 134 + ERROR_PPP_REMOTE_TERMINATED, 135 + ERROR_PPP_NO_PROTOCOLS_CONFIGURED, 136 + ERROR_PPP_NO_RESPONSE, 137 + ERROR_PPP_INVALID_PACKET, 138 + ERROR_PHONE_NUMBER_TOO_LONG, 139 + ERROR_IPXCP_NO_DIALOUT_CONFIGURED, 140 + ERROR_IPXCP_NO_DIALIN_CONFIGURED, 141 + ERROR_IPXCP_DIALOUT_ALREADY_ACTIVE, 142 + ERROR_ACCESSING_TCPCFGDLL, 143 + ERROR_NO_IP_RAS_ADAPTER, 144 + ERROR_SLIP_REQUIRES_IP, 145 + ERROR_PROJECTION_NOT_COMPLETE, 146 + ERROR_PROTOCOL_NOT_CONFIGURED, 147 + ERROR_PPP_NOT_CONVERGING, 148 + ERROR_PPP_CP_REJECTED, 149 + ERROR_PPP_LCP_TERMINATED, 150 + ERROR_PPP_REQUIRED_ADDRESS_REJECTED, 151 + ERROR_PPP_NCP_TERMINATED, 152 + ERROR_PPP_LOOPBACK_DETECTED, 153 + ERROR_PPP_NO_ADDRESS_ASSIGNED, 154 + ERROR_CANNOT_USE_LOGON_CREDENTIALS, 155 + ERROR_TAPI_CONFIGURATION, 156 + ERROR_NO_LOCAL_ENCRYPTION, 157 + ERROR_NO_REMOTE_ENCRYPTION, 158 + ERROR_REMOTE_REQUIRES_ENCRYPTION, 159 + ERROR_IPXCP_NET_NUMBER_CONFLICT, 160 + ERROR_INVALID_SMM, 161 + ERROR_SMM_UNINITIALIZED, 162 + ERROR_NO_MAC_FOR_PORT, 163 + ERROR_SMM_TIMEOUT, 164 + ERROR_BAD_PHONE_NUMBER, 165 + ERROR_WRONG_MODULE, 166 + ERROR_INVALID_CALLBACK_NUMBER, 167 + ERROR_SCRIPT_SYNTAX, 168 + ERROR_HANGUP_FAILED, 169 + ERROR_BUNDLE_NOT_FOUND, 170 + ERROR_CANNOT_DO_CUSTOMDIAL, 171 + ERROR_DIAL_ALREADY_IN_PROGRESS, 172 + ERROR_RASAUTO_CANNOT_INITIALIZE, 173 + ERROR_CONNECTION_ALREADY_SHARED, 174 + ERROR_SHARING_CHANGE_FAILED, 175 + ERROR_SHARING_ROUTER_INSTALL, 176 + ERROR_SHARE_CONNECTION_FAILED, 177 + ERROR_SHARING_PRIVATE_INSTALL, 178 + ERROR_CANNOT_SHARE_CONNECTION, 179 + ERROR_NO_SMART_CARD_READER, 180 + ERROR_SHARING_ADDRESS_EXISTS, 181 + ERROR_NO_CERTIFICATE, 182 + ERROR_SHARING_MULTIPLE_ADDRESSES, 183 + ERROR_FAILED_TO_ENCRYPT, 184 + ERROR_BAD_ADDRESS_SPECIFIED, 185 + ERROR_CONNECTION_REJECT, 186 + ERROR_CONGESTION, 187 + ERROR_INCOMPATIBLE, 188 + ERROR_NUMBERCHANGED, 189 + ERROR_TEMPFAILURE, 190 + ERROR_BLOCKED, 191 + ERROR_DONOTDISTURB, 192 + ERROR_OUTOFORDER, 193 + ERROR_UNABLE_TO_AUTHENTICATE_SERVER, 194 + ERROR_SMART_CARD_REQUIRED, 195 + ERROR_INVALID_FUNCTION_FOR_ENTRY, 196 + ERROR_CERT_FOR_ENCRYPTION_NOT_FOUND, 197 + ERROR_SHARING_RRAS_CONFLICT, 198 + ERROR_SHARING_NO_PRIVATE_LAN, 199 + ERROR_NO_DIFF_USER_AT_LOGON, 200 + ERROR_NO_REG_CERT_AT_LOGON, 201 + ERROR_OAKLEY_NO_CERT, 202 + ERROR_OAKLEY_AUTH_FAIL, 203 + ERROR_OAKLEY_ATTRIB_FAIL, 204 + ERROR_OAKLEY_GENERAL_PROCESSING, 205 + ERROR_OAKLEY_NO_PEER_CERT, 206 + ERROR_OAKLEY_NO_POLICY, 207 + ERROR_OAKLEY_TIMED_OUT, 208 + ERROR_OAKLEY_ERROR, 209 + ERROR_UNKNOWN_FRAMED_PROTOCOL, 210 + ERROR_WRONG_TUNNEL_TYPE, 211 + ERROR_UNKNOWN_SERVICE_TYPE, 212 + ERROR_CONNECTING_DEVICE_NOT_FOUND, 213 + ERROR_NO_EAPTLS_CERTIFICATE, // = RASBASE+198 214 + RASBASEEND = ERROR_NO_EAPTLS_CERTIFICATE 215 +}

Added src/win32/rassapi.d version [c36a057a2e8d1a48]

1 +/***********************************************************************\ 2 +* rassapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.rassapi; 12 + 13 +private import win32.lmcons, win32.windef; 14 + 15 +// FIXME: check types of constants 16 + 17 +const size_t 18 + RASSAPI_MAX_PHONENUMBER_SIZE = 128, 19 + RASSAPI_MAX_MEDIA_NAME = 16, 20 + RASSAPI_MAX_PORT_NAME = 16, 21 + RASSAPI_MAX_DEVICE_NAME = 128, 22 + RASSAPI_MAX_DEVICETYPE_NAME = 16, 23 + RASSAPI_MAX_PARAM_KEY_SIZE = 32; 24 + 25 +const RASPRIV_NoCallback = 0x01; 26 +const RASPRIV_AdminSetCallback = 0x02; 27 +const RASPRIV_CallerSetCallback = 0x04; 28 +const RASPRIV_DialinPrivilege = 0x08; 29 +const RASPRIV_CallbackType = 0x07; 30 + 31 +enum { 32 + RAS_MODEM_OPERATIONAL = 1, 33 + RAS_MODEM_NOT_RESPONDING, 34 + RAS_MODEM_HARDWARE_FAILURE, 35 + RAS_MODEM_INCORRECT_RESPONSE, 36 + RAS_MODEM_UNKNOWN // = 5 37 +} 38 + 39 +enum { 40 + RAS_PORT_NON_OPERATIONAL = 1, 41 + RAS_PORT_DISCONNECTED, 42 + RAS_PORT_CALLING_BACK, 43 + RAS_PORT_LISTENING, 44 + RAS_PORT_AUTHENTICATING, 45 + RAS_PORT_AUTHENTICATED, 46 + RAS_PORT_INITIALIZING // = 7 47 +} 48 + 49 +enum { 50 + MEDIA_UNKNOWN, 51 + MEDIA_SERIAL, 52 + MEDIA_RAS10_SERIAL, 53 + MEDIA_X25, 54 + MEDIA_ISDN 55 +} 56 + 57 +const USER_AUTHENTICATED = 0x0001; 58 +const MESSENGER_PRESENT = 0x0002; 59 +const PPP_CLIENT = 0x0004; 60 +const GATEWAY_ACTIVE = 0x0008; 61 +const REMOTE_LISTEN = 0x0010; 62 +const PORT_MULTILINKED = 0x0020; 63 + 64 +const size_t 65 + RAS_IPADDRESSLEN = 15, 66 + RAS_IPXADDRESSLEN = 22, 67 + RAS_ATADDRESSLEN = 32; 68 + 69 +// FIXME: should these be grouped together? 70 +enum { 71 + RASDOWNLEVEL = 10, 72 + RASADMIN_35 = 35, 73 + RASADMIN_CURRENT = 40 74 +} 75 + 76 +alias ULONG IPADDR; 77 + 78 +enum RAS_PARAMS_FORMAT { 79 + ParamNumber = 0, 80 + ParamString 81 +} 82 + 83 +union RAS_PARAMS_VALUE { 84 + DWORD Number; 85 + struct _String { 86 + DWORD Length; 87 + PCHAR Data; 88 + } 89 + _String String; 90 +} 91 + 92 +struct RAS_PARAMETERS { 93 + CHAR[RASSAPI_MAX_PARAM_KEY_SIZE] P_Key; 94 + RAS_PARAMS_FORMAT P_Type; 95 + BYTE P_Attributes; 96 + RAS_PARAMS_VALUE P_Value; 97 +} 98 + 99 +struct RAS_USER_0 { 100 + BYTE bfPrivilege; 101 + WCHAR[RASSAPI_MAX_PHONENUMBER_SIZE + 1] szPhoneNumber; 102 +} 103 +alias RAS_USER_0* PRAS_USER_0; 104 + 105 +struct RAS_PORT_0 { 106 + WCHAR[RASSAPI_MAX_PORT_NAME] wszPortName; 107 + WCHAR[RASSAPI_MAX_DEVICETYPE_NAME] wszDeviceType; 108 + WCHAR[RASSAPI_MAX_DEVICE_NAME] wszDeviceName; 109 + WCHAR[RASSAPI_MAX_MEDIA_NAME] wszMediaName; 110 + DWORD reserved; 111 + DWORD Flags; 112 + WCHAR[UNLEN + 1] wszUserName; 113 + WCHAR[NETBIOS_NAME_LEN] wszComputer; 114 + DWORD dwStartSessionTime; // seconds from 1/1/1970 115 + WCHAR[DNLEN + 1] wszLogonDomain; 116 + BOOL fAdvancedServer; 117 +} 118 +alias RAS_PORT_0* PRAS_PORT_0; 119 + 120 +struct RAS_PPP_NBFCP_RESULT { 121 + DWORD dwError; 122 + DWORD dwNetBiosError; 123 + CHAR[NETBIOS_NAME_LEN + 1] szName; 124 + WCHAR[NETBIOS_NAME_LEN + 1] wszWksta; 125 +} 126 + 127 +struct RAS_PPP_IPCP_RESULT { 128 + DWORD dwError; 129 + WCHAR[RAS_IPADDRESSLEN + 1] wszAddress; 130 +} 131 + 132 +struct RAS_PPP_IPXCP_RESULT { 133 + DWORD dwError; 134 + WCHAR[RAS_IPXADDRESSLEN + 1] wszAddress; 135 +} 136 + 137 +struct RAS_PPP_ATCP_RESULT { 138 + DWORD dwError; 139 + WCHAR[RAS_ATADDRESSLEN + 1] wszAddress; 140 +} 141 + 142 +struct RAS_PPP_PROJECTION_RESULT { 143 + RAS_PPP_NBFCP_RESULT nbf; 144 + RAS_PPP_IPCP_RESULT ip; 145 + RAS_PPP_IPXCP_RESULT ipx; 146 + RAS_PPP_ATCP_RESULT at; 147 +} 148 + 149 +struct RAS_PORT_1 { 150 + RAS_PORT_0 rasport0; 151 + DWORD LineCondition; 152 + DWORD HardwareCondition; 153 + DWORD LineSpeed; 154 + WORD NumStatistics; 155 + WORD NumMediaParms; 156 + DWORD SizeMediaParms; 157 + RAS_PPP_PROJECTION_RESULT ProjResult; 158 +} 159 +alias RAS_PORT_1* PRAS_PORT_1; 160 + 161 +struct RAS_PORT_STATISTICS { 162 + DWORD dwBytesXmited; 163 + DWORD dwBytesRcved; 164 + DWORD dwFramesXmited; 165 + DWORD dwFramesRcved; 166 + DWORD dwCrcErr; 167 + DWORD dwTimeoutErr; 168 + DWORD dwAlignmentErr; 169 + DWORD dwHardwareOverrunErr; 170 + DWORD dwFramingErr; 171 + DWORD dwBufferOverrunErr; 172 + DWORD dwBytesXmitedUncompressed; 173 + DWORD dwBytesRcvedUncompressed; 174 + DWORD dwBytesXmitedCompressed; 175 + DWORD dwBytesRcvedCompressed; 176 + DWORD dwPortBytesXmited; 177 + DWORD dwPortBytesRcved; 178 + DWORD dwPortFramesXmited; 179 + DWORD dwPortFramesRcved; 180 + DWORD dwPortCrcErr; 181 + DWORD dwPortTimeoutErr; 182 + DWORD dwPortAlignmentErr; 183 + DWORD dwPortHardwareOverrunErr; 184 + DWORD dwPortFramingErr; 185 + DWORD dwPortBufferOverrunErr; 186 + DWORD dwPortBytesXmitedUncompressed; 187 + DWORD dwPortBytesRcvedUncompressed; 188 + DWORD dwPortBytesXmitedCompressed; 189 + DWORD dwPortBytesRcvedCompressed; 190 +} 191 +alias RAS_PORT_STATISTICS* PRAS_PORT_STATISTICS; 192 + 193 +struct RAS_SERVER_0 { 194 + WORD TotalPorts; 195 + WORD PortsInUse; 196 + DWORD RasVersion; 197 +} 198 +alias RAS_SERVER_0* PRAS_SERVER_0; 199 + 200 +extern (Windows) { 201 + DWORD RasAdminServerGetInfo(CPtr!(WCHAR), PRAS_SERVER_0); 202 + DWORD RasAdminGetUserAccountServer(CPtr!(WCHAR), CPtr!(WCHAR), LPWSTR); 203 + DWORD RasAdminUserGetInfo(CPtr!(WCHAR), CPtr!(WCHAR), PRAS_USER_0); 204 + DWORD RasAdminUserSetInfo(CPtr!(WCHAR), CPtr!(WCHAR), PRAS_USER_0); 205 + DWORD RasAdminPortEnum(WCHAR*, PRAS_PORT_0*, WORD*); 206 + DWORD RasAdminPortGetInfo(CPtr!(WCHAR), CPtr!(WCHAR), RAS_PORT_1*, 207 + RAS_PORT_STATISTICS*, RAS_PARAMETERS**); 208 + DWORD RasAdminPortClearStatistics(CPtr!(WCHAR), CPtr!(WCHAR)); 209 + DWORD RasAdminPortDisconnect(CPtr!(WCHAR), CPtr!(WCHAR)); 210 + DWORD RasAdminFreeBuffer(PVOID); 211 + DWORD RasAdminGetErrorString(UINT, WCHAR*, DWORD); 212 + BOOL RasAdminAcceptNewConnection(RAS_PORT_1*, RAS_PORT_STATISTICS*, 213 + RAS_PARAMETERS*); 214 + VOID RasAdminConnectionHangupNotification(RAS_PORT_1*, 215 + RAS_PORT_STATISTICS*, RAS_PARAMETERS*); 216 + DWORD RasAdminGetIpAddressForUser (WCHAR*, WCHAR*, IPADDR*, BOOL*); 217 + VOID RasAdminReleaseIpAddress (WCHAR*, WCHAR*,IPADDR*); 218 + DWORD RasAdminGetUserParms(WCHAR*, PRAS_USER_0); 219 + DWORD RasAdminSetUserParms(WCHAR*, DWORD, PRAS_USER_0); 220 +}

Added src/win32/reason.d version [6ebbc56617c07542]

1 +/***********************************************************************\ 2 +* reason.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.reason; 12 + 13 +private import win32.w32api, win32.windef; 14 + 15 +static assert (_WIN32_WINNT >= 0x501, 16 + "win32.reason is only available on WindowsXP and later"); 17 + 18 + 19 +enum : DWORD { 20 + SHTDN_REASON_MAJOR_OTHER = 0x00000000, 21 + SHTDN_REASON_MAJOR_HARDWARE = 0x00010000, 22 + SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000, 23 + SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000, 24 + SHTDN_REASON_MAJOR_APPLICATION = 0x00040000, 25 + SHTDN_REASON_MAJOR_SYSTEM = 0x00050000, 26 + SHTDN_REASON_MAJOR_POWER = 0x00060000, 27 + SHTDN_REASON_MAJOR_LEGACY_API = 0x00070000 28 +} 29 + 30 +enum : DWORD { 31 + SHTDN_REASON_MINOR_OTHER, 32 + SHTDN_REASON_MINOR_MAINTENANCE, 33 + SHTDN_REASON_MINOR_INSTALLATION, 34 + SHTDN_REASON_MINOR_UPGRADE, 35 + SHTDN_REASON_MINOR_RECONFIG, 36 + SHTDN_REASON_MINOR_HUNG, 37 + SHTDN_REASON_MINOR_UNSTABLE, 38 + SHTDN_REASON_MINOR_DISK, 39 + SHTDN_REASON_MINOR_PROCESSOR, 40 + SHTDN_REASON_MINOR_NETWORKCARD, 41 + SHTDN_REASON_MINOR_POWER_SUPPLY, 42 + SHTDN_REASON_MINOR_CORDUNPLUGGED, 43 + SHTDN_REASON_MINOR_ENVIRONMENT, 44 + SHTDN_REASON_MINOR_HARDWARE_DRIVER, 45 + SHTDN_REASON_MINOR_OTHERDRIVER, 46 + SHTDN_REASON_MINOR_BLUESCREEN, 47 + SHTDN_REASON_MINOR_SERVICEPACK, 48 + SHTDN_REASON_MINOR_HOTFIX, 49 + SHTDN_REASON_MINOR_SECURITYFIX, 50 + SHTDN_REASON_MINOR_SECURITY, 51 + SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY, 52 + SHTDN_REASON_MINOR_WMI, 53 + SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL, 54 + SHTDN_REASON_MINOR_HOTFIX_UNINSTALL, 55 + SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL, 56 + SHTDN_REASON_MINOR_MMC, // = 0x00000019 57 + SHTDN_REASON_MINOR_TERMSRV = 0x00000020 58 +} 59 + 60 +enum : DWORD { 61 + SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000, 62 + SHTDN_REASON_FLAG_PLANNED = 0x80000000 63 +}

Added src/win32/regstr.d version [ecf2fc3721a14d98]

1 +/***********************************************************************\ 2 +* regstr.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.regstr; 11 + 12 +// TODO: fix possible conflict with shloj. Sort out NEC_98 issue. 13 + 14 +private import win32.windef; 15 + 16 +const REGSTR_MAX_VALUE_LENGTH = 256; 17 + 18 +enum { 19 + IT_COMPACT = 0, 20 + IT_TYPICAL, 21 + IT_PORTABLE, 22 + IT_CUSTOM // = 3 23 +} 24 + 25 +const DOSOPTGF_DEFCLEAN = 1; 26 + 27 +const DOSOPTF_DEFAULT = 0x01; 28 +const DOSOPTF_SUPPORTED = 0x02; 29 +const DOSOPTF_ALWAYSUSE = 0x04; 30 +const DOSOPTF_USESPMODE = 0x08; 31 +const DOSOPTF_PROVIDESUMB = 0x10; 32 +const DOSOPTF_NEEDSETUP = 0x20; 33 +const DOSOPTF_INDOSSTART = 0x40; 34 +const DOSOPTF_MULTIPLE = 0x80; 35 + 36 +const SUF_FIRSTTIME = 0x0001; 37 +const SUF_EXPRESS = 0x0002; 38 +const SUF_BATCHINF = 0x0004; 39 +const SUF_CLEAN = 0x0008; 40 +const SUF_INSETUP = 0x0010; 41 +const SUF_NETSETUP = 0x0020; 42 +const SUF_NETHDBOOT = 0x0040; 43 +const SUF_NETRPLBOOT = 0x0080; 44 +const SUF_SBSCOPYOK = 0x0100; 45 + 46 +const VPDF_DISABLEPWRMGMT = 1; 47 +const VPDF_FORCEAPM10MODE = 2; 48 +const VPDF_SKIPINTELSLCHECK = 4; 49 +const VPDF_DISABLEPWRSTATUSPOLL = 8; 50 + 51 +const PCMCIA_OPT_HAVE_SOCKET = 0x01; 52 +const PCMCIA_OPT_AUTOMEM = 0x04; 53 +const PCMCIA_OPT_NO_SOUND = 0x08; 54 +const PCMCIA_OPT_NO_AUDIO = 0x10; 55 +const PCMCIA_OPT_NO_APMREMOVE = 0x20; 56 + 57 +const PCMCIA_DEF_MEMBEGIN = 0x0C0000; 58 +const PCMCIA_DEF_MEMEND = 0xFFFFFF; 59 +const PCMCIA_DEF_MEMLEN = 0x001000; 60 +const PCMCIA_DEF_MIN_REGION = 0x010000; 61 + 62 +enum { 63 + PCI_OPTIONS_USE_BIOS = 1, 64 + PCI_OPTIONS_USE_IRQ_STEERING = 2 65 +} 66 + 67 +const PCI_FLAG_NO_VIDEO_IRQ = 0x0001; 68 +const PCI_FLAG_PCMCIA_WANT_IRQ = 0x0002; 69 +const PCI_FLAG_DUAL_IDE = 0x0004; 70 +const PCI_FLAG_NO_ENUM_AT_ALL = 0x0008; 71 +const PCI_FLAG_ENUM_NO_RESOURCE = 0x0010; 72 +const PCI_FLAG_NEED_DWORD_ACCESS = 0x0020; 73 +const PCI_FLAG_SINGLE_FUNCTION = 0x0040; 74 +const PCI_FLAG_ALWAYS_ENABLED = 0x0080; 75 +const PCI_FLAG_IS_IDE = 0x0100; 76 +const PCI_FLAG_IS_VIDEO = 0x0200; 77 +const PCI_FLAG_FAIL_START = 0x0400; 78 + 79 +const size_t REGSTR_VAL_MAX_HCID_LEN = 1024; 80 + 81 +const REGDF_NOTDETIO = 0x00000001; 82 +const REGDF_NOTDETMEM = 0x00000002; 83 +const REGDF_NOTDETIRQ = 0x00000004; 84 +const REGDF_NOTDETDMA = 0x00000008; 85 +const REGDF_NOTDETALL = REGDF_NOTDETIO | REGDF_NOTDETMEM | REGDF_NOTDETIRQ | REGDF_NOTDETDMA; 86 +const REGDF_NEEDFULLCONFIG = 0x00000010; 87 +const REGDF_GENFORCEDCONFIG = 0x00000020; 88 +const REGDF_NODETCONFIG = 0x00008000; 89 +const REGDF_CONFLICTIO = 0x00010000; 90 +const REGDF_CONFLICTMEM = 0x00020000; 91 +const REGDF_CONFLICTIRQ = 0x00040000; 92 +const REGDF_CONFLICTDMA = 0x00080000; 93 +const REGDF_CONFLICTALL = REGDF_CONFLICTIO | REGDF_CONFLICTMEM | REGDF_CONFLICTIRQ | REGDF_CONFLICTDMA; 94 +const REGDF_MAPIRQ2TO9 = 0x00100000; 95 +const REGDF_NOTVERIFIED = 0x80000000; 96 + 97 +const CONFIGFLAG_DISABLED = 0x0001; 98 +const CONFIGFLAG_REMOVED = 0x0002; 99 +const CONFIGFLAG_MANUAL_INSTALL = 0x0004; 100 +const CONFIGFLAG_IGNORE_BOOT_LC = 0x0008; 101 +const CONFIGFLAG_NET_BOOT = 0x0010; 102 +const CONFIGFLAG_REINSTALL = 0x0020; 103 +const CONFIGFLAG_FAILEDINSTALL = 0x0040; 104 +const CONFIGFLAG_CANTSTOPACHILD = 0x0080; 105 +const CONFIGFLAG_OKREMOVEROM = 0x0100; 106 +const CONFIGFLAG_NOREMOVEEXIT = 0x0200; 107 + 108 +const CSCONFIGFLAG_DISABLED = 1; 109 +const CSCONFIGFLAG_DO_NOT_CREATE = 2; 110 +const CSCONFIGFLAG_DO_NOT_START = 4; 111 +const CSCONFIGFLAG_BITS = 7; 112 + 113 +const DMSTATEFLAG_APPLYTOALL = 1; 114 + 115 +const NUM_RESOURCE_MAP = 256; 116 + 117 +const MF_FLAGS_EVEN_IF_NO_RESOURCE = 1; 118 +const MF_FLAGS_NO_CREATE_IF_NO_RESOURCE = 2; 119 +const MF_FLAGS_FILL_IN_UNKNOWN_RESOURCE = 4; 120 +const MF_FLAGS_CREATE_BUT_NO_SHOW_DISABLED = 8; 121 + 122 +const EISAFLAG_NO_IO_MERGE = 1; 123 +const EISAFLAG_SLOT_IO_FIRST = 2; 124 + 125 +const EISA_NO_MAX_FUNCTION = 0xFF; 126 + 127 +const NUM_EISA_RANGES = 4; 128 + 129 +const APMMENUSUSPEND_DISABLED = 0; 130 +const APMMENUSUSPEND_ENABLED = 1; 131 +const APMMENUSUSPEND_UNDOCKED = 2; 132 +const APMMENUSUSPEND_NOCHANGE = 128; 133 + 134 +//#ifndef NEC_98 135 +const TCHAR[] 136 + REGSTR_KEY_ISAENUM = "ISAPnP", 137 + REGSTR_KEY_EISAENUM = "EISA", 138 + REGSTR_VAL_EISA_RANGES = "EISARanges", 139 + REGSTR_VAL_EISA_FUNCTIONS = "EISAFunctions", 140 + REGSTR_VAL_EISA_FUNCTIONS_MASK = "EISAFunctionsMask", 141 + REGSTR_VAL_EISA_FLAGS = "EISAFlags", 142 + REGSTR_VAL_EISA_SIMULATE_INT15 = "EISASimulateInt15"; 143 +// #else 144 +// #define REGSTR_KEY_ISAENUM TEXT("C98PnP") 145 +// #define REGSTR_KEY_EISAENUM TEXT("NESA") 146 +// #define REGSTR_VAL_EISA_RANGES TEXT("NESARanges") 147 +// #define REGSTR_VAL_EISA_FUNCTIONS TEXT("NESAFunctions") 148 +// #define REGSTR_VAL_EISA_FUNCTIONS_MASK TEXT("NESAFunctionsMask") 149 +// #define REGSTR_VAL_EISA_FLAGS TEXT("NESAFlags") 150 +// #define REGSTR_VAL_EISA_SIMULATE_INT15 TEXT("NESASimulateInt15") 151 +// #endif 152 + 153 +const TCHAR[] 154 + REGSTR_KEY_CLASS = `Class`, 155 + REGSTR_KEY_CONFIG = `Config`, 156 + REGSTR_KEY_ENUM = `Enum`, 157 + REGSTR_KEY_ROOTENUM = `Root`, 158 + REGSTR_KEY_BIOSENUM = `BIOS`, 159 + REGSTR_KEY_PCMCIAENUM = `PCMCIA`, 160 + REGSTR_KEY_PCIENUM = `PCI`, 161 + REGSTR_KEY_LOGCONFIG = `LogConfig`, 162 + REGSTR_KEY_SYSTEMBOARD = `*PNP0C01`, 163 + REGSTR_KEY_APM = `*PNP0C05`, 164 + REGSTR_KEY_INIUPDATE = `IniUpdate`, 165 + REG_KEY_INSTDEV = `Installed`, 166 + REGSTR_KEY_DOSOPTCDROM = `CD-ROM`, 167 + REGSTR_KEY_DOSOPTMOUSE = `MOUSE`, 168 + REGSTR_DEFAULT_INSTANCE = `0000`, 169 + REGSTR_PATH_MOTHERBOARD = REGSTR_KEY_SYSTEMBOARD ~ `\` ~ REGSTR_DEFAULT_INSTANCE, 170 + REGSTR_PATH_SETUP = `Software\Microsoft\Windows\CurrentVersion`, 171 + REGSTR_PATH_PIFCONVERT = `Software\Microsoft\Windows\CurrentVersion\PIFConvert`, 172 + REGSTR_PATH_MSDOSOPTS = `Software\Microsoft\Windows\CurrentVersion\MS-DOSOptions`, 173 + REGSTR_PATH_MSDOSEMU = `Software\Microsoft\Windows\CurrentVersion\MS-DOS Emulation`, 174 + REGSTR_PATH_NEWDOSBOX = `Software\Microsoft\Windows\CurrentVersion\MS-DOS Emulation\AppCompat`, 175 + REGSTR_PATH_RUNONCE = `Software\Microsoft\Windows\CurrentVersion\RunOnce`, 176 + REGSTR_PATH_RUN = `Software\Microsoft\Windows\CurrentVersion\Run`, 177 + REGSTR_PATH_RUNSERVICESONCE = `Software\Microsoft\Windows\CurrentVersion\RunServicesOnce`, 178 + REGSTR_PATH_RUNSERVICES = `Software\Microsoft\Windows\CurrentVersion\RunServices`, 179 + 180 +//#ifndef REGSTR_PATH_EXPLORER /* also in shlobj.h */ 181 + REGSTR_PATH_EXPLORER = `Software\Microsoft\Windows\CurrentVersion\Explorer`, 182 +//#endif 183 + 184 + REGSTR_PATH_DETECT = `Software\Microsoft\Windows\CurrentVersion\Detect`, 185 + REGSTR_PATH_APPPATHS = `Software\Microsoft\Windows\CurrentVersion\App Paths`, 186 + REGSTR_PATH_UNINSTALL = `Software\Microsoft\Windows\CurrentVersion\Uninstall`, 187 + REGSTR_PATH_REALMODENET = `Software\Microsoft\Windows\CurrentVersion\Network\Real Mode Net`, 188 + REGSTR_PATH_NETEQUIV = `Software\Microsoft\Windows\CurrentVersion\Network\Equivalent`, 189 + REGSTR_PATH_CVNETWORK = `Software\Microsoft\Windows\CurrentVersion\Network`, 190 + REGSTR_PATH_IDCONFIGDB = `System\CurrentControlSet\Control\IDConfigDB`, 191 + REGSTR_PATH_CLASS = `System\CurrentControlSet\Services\Class`, 192 + REGSTR_PATH_DISPLAYSETTINGS = `Display\Settings`, 193 + REGSTR_PATH_FONTS = `Display\Fonts`, 194 + REGSTR_PATH_ENUM = `Enum`, 195 + REGSTR_PATH_ROOT = `Enum\Root`, 196 + REGSTR_PATH_SERVICES = `System\CurrentControlSet\Services`, 197 + REGSTR_PATH_VXD = `System\CurrentControlSet\Services\VxD`, 198 + REGSTR_PATH_IOS = `System\CurrentControlSet\Services\VxD\IOS`, 199 + REGSTR_PATH_VMM = `System\CurrentControlSet\Services\VxD\VMM`, 200 + REGSTR_PATH_VPOWERD = `System\CurrentControlSet\Services\VxD\VPOWERD`, 201 + REGSTR_PATH_VNETSUP = `System\CurrentControlSet\Services\VxD\VNETSUP`, 202 + REGSTR_PATH_NWREDIR = `System\CurrentControlSet\Services\VxD\NWREDIR`, 203 + REGSTR_PATH_NCPSERVER = `System\CurrentControlSet\Services\NcpServer\Parameters`, 204 + REGSTR_PATH_IOARB = `System\CurrentControlSet\Services\Arbitrators\IOArb`, 205 + REGSTR_PATH_ADDRARB = `System\CurrentControlSet\Services\Arbitrators\AddrArb`, 206 + REGSTR_PATH_DMAARB = `System\CurrentControlSet\Services\Arbitrators\DMAArb`, 207 + REGSTR_PATH_IRQARB = `System\CurrentControlSet\Services\Arbitrators\IRQArb`, 208 + REGSTR_PATH_CODEPAGE = `System\CurrentControlSet\Control\Nls\Codepage`, 209 + REGSTR_PATH_FILESYSTEM = `System\CurrentControlSet\Control\FileSystem`, 210 + REGSTR_PATH_FILESYSTEM_NOVOLTRACK = `System\CurrentControlSet\Control\FileSystem\NoVolTrack`, 211 + REGSTR_PATH_CDFS = `System\CurrentControlSet\Control\FileSystem\CDFS`, 212 + REGSTR_PATH_WINBOOT = `System\CurrentControlSet\Control\WinBoot`, 213 + REGSTR_PATH_INSTALLEDFILES = `System\CurrentControlSet\Control\InstalledFiles`, 214 + REGSTR_PATH_VMM32FILES = `System\CurrentControlSet\Control\VMM32Files`, 215 + 216 + REGSTR_VAL_BITSPERPIXEL = `BitsPerPixel`, 217 + REGSTR_VAL_RESOLUTION = `Resolution`, 218 + REGSTR_VAL_DPILOGICALX = `DPILogicalX`, 219 + REGSTR_VAL_DPILOGICALY = `DPILogicalY`, 220 + REGSTR_VAL_DPIPHYSICALX = `DPIPhysicalX`, 221 + REGSTR_VAL_DPIPHYSICALY = `DPIPhysicalY`, 222 + REGSTR_VAL_REFRESHRATE = `RefreshRate`, 223 + REGSTR_VAL_DISPLAYFLAGS = `DisplayFlags`, 224 + REGSTR_PATH_CONTROLPANEL = `Control Panel`, 225 + REGSTR_PATH_CONTROLSFOLDER = `Software\Microsoft\Windows\CurrentVersion\Controls Folder`, 226 + REGSTR_VAL_DOSCP = `OEMCP`, 227 + REGSTR_VAL_WINCP = `ACP`, 228 + REGSTR_PATH_DYNA_ENUM = `Config Manager\Enum`, 229 + REGSTR_VAL_HARDWARE_KEY = `HardWareKey`, 230 + REGSTR_VAL_ALLOCATION = `Allocation`, 231 + REGSTR_VAL_PROBLEM = `Problem`, 232 + REGSTR_VAL_STATUS = `Status`, 233 + REGSTR_VAL_DONTUSEMEM = `DontAllocLastMem`, 234 + REGSTR_VAL_SYSTEMROOT = `SystemRoot`, 235 + REGSTR_VAL_BOOTCOUNT = `BootCount`, 236 + REGSTR_VAL_REALNETSTART = `RealNetStart`, 237 + REGSTR_VAL_MEDIA = `MediaPath`, 238 + REGSTR_VAL_CONFIG = `ConfigPath`, 239 + REGSTR_VAL_DEVICEPATH = `DevicePath`, 240 + REGSTR_VAL_SRCPATH = `SourcePath`, 241 + REGSTR_VAL_OLDWINDIR = `OldWinDir`, 242 + REGSTR_VAL_SETUPFLAGS = `SetupFlags`, 243 + REGSTR_VAL_REGOWNER = `RegisteredOwner`, 244 + REGSTR_VAL_REGORGANIZATION = `RegisteredOrganization`, 245 + REGSTR_VAL_LICENSINGINFO = `LicensingInfo`, 246 + REGSTR_VAL_OLDMSDOSVER = `OldMSDOSVer`, 247 + REGSTR_VAL_FIRSTINSTALLDATETIME = `FirstInstallDateTime`, 248 + REGSTR_VAL_INSTALLTYPE = `InstallType`, 249 + REGSTR_VAL_WRAPPER = `Wrapper`, 250 + 251 + REGSTR_KEY_SETUP = `\Setup`, 252 + REGSTR_VAL_BOOTDIR = `BootDir`, 253 + REGSTR_VAL_WINBOOTDIR = `WinbootDir`, 254 + REGSTR_VAL_WINDIR = `WinDir`, 255 + REGSTR_VAL_APPINSTPATH = `AppInstallPath`, 256 + REGSTR_PATH_EBD = REGSTR_PATH_SETUP ~ REGSTR_KEY_SETUP ~ `\EBD`, 257 + REGSTR_KEY_EBDFILESLOCAL = `EBDFilesLocale`, 258 + REGSTR_KEY_EBDFILESKEYBOARD = `EBDFilesKeyboard`, 259 + REGSTR_KEY_EBDAUTOEXECBATLOCAL = `EBDAutoexecBatLocale`, 260 + REGSTR_KEY_EBDAUTOEXECBATKEYBOARD = `EBDAutoexecBatKeyboard`, 261 + REGSTR_KEY_EBDCONFIGSYSLOCAL = `EBDConfigSysLocale`, 262 + REGSTR_KEY_EBDCONFIGSYSKEYBOARD = `EBDConfigSysKeyboard`, 263 + REGSTR_VAL_MSDOSMODE = `MSDOSMode`, 264 + REGSTR_VAL_MSDOSMODEDISCARD = `Discard`, 265 + REGSTR_VAL_DOSOPTGLOBALFLAGS = `GlobalFlags`, 266 + REGSTR_VAL_DOSOPTFLAGS = `Flags`, 267 + REGSTR_VAL_OPTORDER = `Order`, 268 + REGSTR_VAL_CONFIGSYS = `Config.Sys`, 269 + REGSTR_VAL_AUTOEXEC = `Autoexec.Bat`, 270 + REGSTR_VAL_STDDOSOPTION = `StdOption`, 271 + REGSTR_VAL_DOSOPTTIP = `TipText`, 272 + 273 + REGSTR_VAL_DOSPAGER = `DOSPager`, 274 + REGSTR_VAL_VXDGROUPS = `VXDGroups`, 275 + REGSTR_VAL_VPOWERDFLAGS = `Flags`, 276 + 277 + REGSTR_VAL_WORKGROUP = `Workgroup`, 278 + REGSTR_VAL_DIRECTHOST = `DirectHost`, 279 + REGSTR_VAL_FILESHARING = `FileSharing`, 280 + REGSTR_VAL_PRINTSHARING = `PrintSharing`, 281 + REGSTR_VAL_FIRSTNETDRIVE = `FirstNetworkDrive`, 282 + REGSTR_VAL_MAXCONNECTIONS = `MaxConnections`, 283 + REGSTR_VAL_APISUPPORT = `APISupport`, 284 + REGSTR_VAL_MAXRETRY = `MaxRetry`, 285 + REGSTR_VAL_MINRETRY = `MinRetry`, 286 + REGSTR_VAL_SUPPORTLFN = `SupportLFN`, 287 + REGSTR_VAL_SUPPORTBURST = `SupportBurst`, 288 + REGSTR_VAL_SUPPORTTUNNELLING = `SupportTunnelling`, 289 + REGSTR_VAL_FULLTRACE = `FullTrace`, 290 + REGSTR_VAL_READCACHING = `ReadCaching`, 291 + REGSTR_VAL_SHOWDOTS = `ShowDots`, 292 + REGSTR_VAL_GAPTIME = `GapTime`, 293 + REGSTR_VAL_SEARCHMODE = `SearchMode`, 294 + REGSTR_VAL_SHELLVERSION = `ShellVersion`, 295 + REGSTR_VAL_MAXLIP = `MaxLIP`, 296 + REGSTR_VAL_PRESERVECASE = `PreserveCase`, 297 + REGSTR_VAL_OPTIMIZESFN = `OptimizeSFN`, 298 + REGSTR_VAL_NCP_BROWSEMASTER = `BrowseMaster`, 299 + REGSTR_VAL_NCP_USEPEERBROWSING = `Use_PeerBrowsing`, 300 + REGSTR_VAL_NCP_USESAP = `Use_Sap`, 301 + REGSTR_VAL_WIN31FILESYSTEM = `Win31FileSystem`, 302 + REGSTR_VAL_PRESERVELONGNAMES = `PreserveLongNames`, 303 + REGSTR_VAL_DRIVEWRITEBEHIND = `DriveWriteBehind`, 304 + REGSTR_VAL_ASYNCFILECOMMIT = `AsyncFileCommit`, 305 + REGSTR_VAL_PATHCACHECOUNT = `PathCache`, 306 + REGSTR_VAL_NAMECACHECOUNT = `NameCache`, 307 + REGSTR_VAL_CONTIGFILEALLOC = `ContigFileAllocSize`, 308 + REGSTR_VAL_VOLIDLETIMEOUT = `VolumeIdleTimeout`, 309 + REGSTR_VAL_BUFFIDLETIMEOUT = `BufferIdleTimeout`, 310 + REGSTR_VAL_BUFFAGETIMEOUT = `BufferAgeTimeout`, 311 + REGSTR_VAL_NAMENUMERICTAIL = `NameNumericTail`, 312 + REGSTR_VAL_READAHEADTHRESHOLD = `ReadAheadThreshold`, 313 + REGSTR_VAL_DOUBLEBUFFER = `DoubleBuffer`, 314 + REGSTR_VAL_SOFTCOMPATMODE = `SoftCompatMode`, 315 + REGSTR_VAL_DRIVESPINDOWN = `DriveSpinDown`, 316 + REGSTR_VAL_FORCEPMIO = `ForcePMIO`, 317 + REGSTR_VAL_FORCERMIO = `ForceRMIO`, 318 + REGSTR_VAL_LASTBOOTPMDRVS = `LastBootPMDrvs`, 319 + REGSTR_VAL_VIRTUALHDIRQ = `VirtualHDIRQ`, 320 + REGSTR_VAL_SRVNAMECACHECOUNT = `ServerNameCacheMax`, 321 + REGSTR_VAL_SRVNAMECACHE = `ServerNameCache`, 322 + REGSTR_VAL_SRVNAMECACHENETPROV = `ServerNameCacheNumNets`, 323 + REGSTR_VAL_AUTOMOUNT = `AutoMountDrives`, 324 + REGSTR_VAL_COMPRESSIONMETHOD = `CompressionAlgorithm`, 325 + REGSTR_VAL_COMPRESSIONTHRESHOLD = `CompressionThreshold`, 326 + REGSTR_VAL_CDCACHESIZE = `CacheSize`, 327 + REGSTR_VAL_CDPREFETCH = `Prefetch`, 328 + REGSTR_VAL_CDPREFETCHTAIL = `PrefetchTail`, 329 + REGSTR_VAL_CDRAWCACHE = `RawCache`, 330 + REGSTR_VAL_CDEXTERRORS = `ExtendedErrors`, 331 + REGSTR_VAL_CDSVDSENSE = `SVDSense`, 332 + REGSTR_VAL_CDSHOWVERSIONS = `ShowVersions`, 333 + REGSTR_VAL_CDCOMPATNAMES = `MSCDEXCompatNames`, 334 + REGSTR_VAL_CDNOREADAHEAD = `NoReadAhead`, 335 + REGSTR_VAL_SCSI = `SCSI\`, 336 + REGSTR_VAL_ESDI = `ESDI\`, 337 + REGSTR_VAL_FLOP = `FLOP\`, 338 + REGSTR_VAL_DISK = `GenDisk`, 339 + REGSTR_VAL_CDROM = `GenCD`, 340 + REGSTR_VAL_TAPE = `TAPE`, 341 + REGSTR_VAL_SCANNER = `SCANNER`, 342 + REGSTR_VAL_FLOPPY = `FLOPPY`, 343 + REGSTR_VAL_SCSITID = `SCSITargetID`, 344 + REGSTR_VAL_SCSILUN = `SCSILUN`, 345 + REGSTR_VAL_REVLEVEL = `RevisionLevel`, 346 + REGSTR_VAL_PRODUCTID = `ProductId`, 347 + REGSTR_VAL_PRODUCTTYPE = `ProductType`, 348 + REGSTR_VAL_DEVTYPE = `DeviceType`, 349 + REGSTR_VAL_REMOVABLE = `Removable`, 350 + REGSTR_VAL_CURDRVLET = `CurrentDriveLetterAssignment`, 351 + REGSTR_VAL_USRDRVLET = `UserDriveLetterAssignment`, 352 + REGSTR_VAL_SYNCDATAXFER = `SyncDataXfer`, 353 + REGSTR_VAL_AUTOINSNOTE = `AutoInsertNotification`, 354 + REGSTR_VAL_DISCONNECT = `Disconnect`, 355 + REGSTR_VAL_INT13 = `Int13`, 356 + REGSTR_VAL_PMODE_INT13 = `PModeInt13`, 357 + REGSTR_VAL_USERSETTINGS = `AdapterSettings`, 358 + REGSTR_VAL_NOIDE = `NoIDE`, 359 + REGSTR_VAL_DISKCLASSNAME = `DiskDrive`, 360 + REGSTR_VAL_CDROMCLASSNAME = `CDROM`, 361 + REGSTR_VAL_FORCELOAD = `ForceLoadPD`, 362 + REGSTR_VAL_FORCEFIFO = `ForceFIFO`, 363 + REGSTR_VAL_FORCECL = `ForceChangeLine`, 364 + REGSTR_VAL_NOUSECLASS = `NoUseClass`, 365 + REGSTR_VAL_NOINSTALLCLASS = `NoInstallClass`, 366 + REGSTR_VAL_NODISPLAYCLASS = `NoDisplayClass`, 367 + REGSTR_VAL_SILENTINSTALL = `SilentInstall`, 368 + REGSTR_KEY_PCMCIA_CLASS = `PCMCIA`, 369 + REGSTR_KEY_SCSI_CLASS = `SCSIAdapter`, 370 + REGSTR_KEY_PORTS_CLASS = `ports`, 371 + REGSTR_KEY_MEDIA_CLASS = `MEDIA`, 372 + REGSTR_KEY_DISPLAY_CLASS = `Display`, 373 + REGSTR_KEY_KEYBOARD_CLASS = `Keyboard`, 374 + REGSTR_KEY_MOUSE_CLASS = `Mouse`, 375 + REGSTR_KEY_MONITOR_CLASS = `Monitor`, 376 + REGSTR_VAL_PCMCIA_OPT = `Options`, 377 + REGSTR_VAL_PCMCIA_MEM = `Memory`, 378 + REGSTR_VAL_PCMCIA_ALLOC = `AllocMemWin`, 379 + REGSTR_VAL_PCMCIA_ATAD = `ATADelay`, 380 + REGSTR_VAL_PCMCIA_SIZ = `MinRegionSize`, 381 + REGSTR_VAL_P1284MDL = `Model`, 382 + REGSTR_VAL_P1284MFG = `Manufacturer`, 383 + REGSTR_VAL_ISAPNP = `ISAPNP`, 384 + REGSTR_VAL_ISAPNP_RDP_OVERRIDE = `RDPOverRide`, 385 + REGSTR_VAL_PCI = `PCI`, 386 + REGSTR_PCI_OPTIONS = `Options`, 387 + REGSTR_PCI_DUAL_IDE = `PCIDualIDE`, 388 + 389 + REGSTR_KEY_CRASHES = `Crashes`, 390 + REGSTR_KEY_DANGERS = `Dangers`, 391 + REGSTR_KEY_DETMODVARS = `DetModVars`, 392 + REGSTR_KEY_NDISINFO = `NDISInfo`, 393 + REGSTR_VAL_PROTINIPATH = `ProtIniPath`, 394 + REGSTR_VAL_RESOURCES = `Resources`, 395 + REGSTR_VAL_CRASHFUNCS = `CrashFuncs`, 396 + REGSTR_VAL_CLASS = `Class`, 397 + REGSTR_VAL_DEVDESC = `DeviceDesc`, 398 + REGSTR_VAL_BOOTCONFIG = `BootConfig`, 399 + REGSTR_VAL_DETFUNC = `DetFunc`, 400 + REGSTR_VAL_DETFLAGS = `DetFlags`, 401 + REGSTR_VAL_COMPATIBLEIDS = `CompatibleIDs`, 402 + REGSTR_VAL_DETCONFIG = `DetConfig`, 403 + REGSTR_VAL_VERIFYKEY = `VerifyKey`, 404 + REGSTR_VAL_COMINFO = `ComInfo`, 405 + REGSTR_VAL_INFNAME = `InfName`, 406 + REGSTR_VAL_CARDSPECIFIC = `CardSpecific`, 407 + REGSTR_VAL_NETOSTYPE = `NetOSType`, 408 + REGSTR_DATA_NETOS_NDIS = `NDIS`, 409 + REGSTR_DATA_NETOS_ODI = `ODI`, 410 + REGSTR_DATA_NETOS_IPX = `IPX`, 411 + REGSTR_VAL_MFG = `Mfg`, 412 + REGSTR_VAL_SCAN_ONLY_FIRST = `ScanOnlyFirstDrive`, 413 + REGSTR_VAL_SHARE_IRQ = `ForceIRQSharing`, 414 + REGSTR_VAL_NONSTANDARD_ATAPI = `NonStandardATAPI`, 415 + REGSTR_VAL_IDE_FORCE_SERIALIZE = `ForceSerialization`, 416 + REGSTR_VAL_HWREV = `HWRevision`, 417 + REGSTR_VAL_ENABLEINTS = `EnableInts`, 418 + 419 + REGSTR_VAL_APMBIOSVER = `APMBiosVer`, 420 + REGSTR_VAL_APMFLAGS = `APMFlags`, 421 + REGSTR_VAL_SLSUPPORT = `SLSupport`, 422 + REGSTR_VAL_MACHINETYPE = `MachineType`, 423 + REGSTR_VAL_SETUPMACHINETYPE = `SetupMachineType`, 424 + REGSTR_MACHTYPE_UNKNOWN = `Unknown`, 425 + REGSTR_MACHTYPE_IBMPC = `IBM PC`, 426 + REGSTR_MACHTYPE_IBMPCJR = `IBM PCjr`, 427 + REGSTR_MACHTYPE_IBMPCCONV = `IBM PC Convertible`, 428 + REGSTR_MACHTYPE_IBMPCXT = `IBM PC/XT`, 429 + REGSTR_MACHTYPE_IBMPCXT_286 = `IBM PC/XT 286`, 430 + REGSTR_MACHTYPE_IBMPCAT = `IBM PC/AT`, 431 + REGSTR_MACHTYPE_IBMPS2_25 = `IBM PS/2-25`, 432 + REGSTR_MACHTYPE_IBMPS2_30_286 = `IBM PS/2-30 286`, 433 + REGSTR_MACHTYPE_IBMPS2_30 = `IBM PS/2-30`, 434 + REGSTR_MACHTYPE_IBMPS2_50 = `IBM PS/2-50`, 435 + REGSTR_MACHTYPE_IBMPS2_50Z = `IBM PS/2-50Z`, 436 + REGSTR_MACHTYPE_IBMPS2_55SX = `IBM PS/2-55SX`, 437 + REGSTR_MACHTYPE_IBMPS2_60 = `IBM PS/2-60`, 438 + REGSTR_MACHTYPE_IBMPS2_65SX = `IBM PS/2-65SX`, 439 + REGSTR_MACHTYPE_IBMPS2_70 = `IBM PS/2-70`, 440 + REGSTR_MACHTYPE_IBMPS2_P70 = `IBM PS/2-P70`, 441 + REGSTR_MACHTYPE_IBMPS2_70_80 = `IBM PS/2-70/80`, 442 + REGSTR_MACHTYPE_IBMPS2_80 = `IBM PS/2-80`, 443 + REGSTR_MACHTYPE_IBMPS2_90 = `IBM PS/2-90`, 444 + REGSTR_MACHTYPE_IBMPS1 = `IBM PS/1`, 445 + REGSTR_MACHTYPE_PHOENIX_PCAT = `Phoenix PC/AT Compatible`, 446 + REGSTR_MACHTYPE_HP_VECTRA = `HP Vectra`, 447 + REGSTR_MACHTYPE_ATT_PC = `AT&T PC`, 448 + REGSTR_MACHTYPE_ZENITH_PC = `Zenith PC`, 449 + REGSTR_VAL_APMMENUSUSPEND = `APMMenuSuspend`, 450 + 451 + REGSTR_VAL_BUSTYPE = `BusType`, 452 + REGSTR_VAL_CPU = `CPU`, 453 + REGSTR_VAL_NDP = `NDP`, 454 + REGSTR_VAL_PNPBIOSVER = `PnPBIOSVer`, 455 + REGSTR_VAL_PNPSTRUCOFFSET = `PnPStrucOffset`, 456 + REGSTR_VAL_PCIBIOSVER = `PCIBIOSVer`, 457 + REGSTR_VAL_HWMECHANISM = `HWMechanism`, 458 + REGSTR_VAL_LASTPCIBUSNUM = `LastPCIBusNum`, 459 + REGSTR_VAL_CONVMEM = `ConvMem`, 460 + REGSTR_VAL_EXTMEM = `ExtMem`, 461 + REGSTR_VAL_COMPUTERNAME = `ComputerName`, 462 + REGSTR_VAL_BIOSNAME = `BIOSName`, 463 + REGSTR_VAL_BIOSVERSION = `BIOSVersion`, 464 + REGSTR_VAL_BIOSDATE = `BIOSDate`, 465 + REGSTR_VAL_MODEL = `Model`, 466 + REGSTR_VAL_SUBMODEL = `Submodel`, 467 + REGSTR_VAL_REVISION = `Revision`, 468 + REGSTR_VAL_FIFODEPTH = `FIFODepth`, 469 + REGSTR_VAL_RDINTTHRESHOLD = `RDIntThreshold`, 470 + REGSTR_VAL_WRINTTHRESHOLD = `WRIntThreshold`, 471 + REGSTR_VAL_PRIORITY = `Priority`, 472 + REGSTR_VAL_DRIVER = `Driver`, 473 + REGSTR_VAL_FUNCDESC = `FunctionDesc`, 474 + REGSTR_VAL_FORCEDCONFIG = `ForcedConfig`, 475 + REGSTR_VAL_CONFIGFLAGS = `ConfigFlags`, 476 + REGSTR_VAL_CSCONFIGFLAGS = `CSConfigFlags`, 477 + 478 + REGSTR_VAL_ROOT_DEVNODE = `HTREE\ROOT\0`, 479 + REGSTR_VAL_RESERVED_DEVNODE = `HTREE\RESERVED\0`, 480 + REGSTR_PATH_READDATAPORT = REGSTR_KEY_ISAENUM ~ `\ReadDataPort\0`, 481 + REGSTR_PATH_MULTI_FUNCTION = `MF`, 482 + REGSTR_VAL_RESOURCE_MAP = `ResourceMap`, 483 + REGSTR_PATH_CHILD_PREFIX = `Child`, 484 + REGSTR_VAL_MF_FLAGS = `MFFlags`, 485 + REGSTR_VAL_DRVDESC = `DriverDesc`, 486 + REGSTR_VAL_DEVLOADER = `DevLoader`, 487 + REGSTR_VAL_STATICVXD = `StaticVxD`, 488 + REGSTR_VAL_PROPERTIES = `Properties`, 489 + REGSTR_VAL_MANUFACTURER = `Manufacturer`, 490 + REGSTR_VAL_EXISTS = `Exists`, 491 + REGSTR_VAL_CMENUMFLAGS = `CMEnumFlags`, 492 + REGSTR_VAL_CMDRIVFLAGS = `CMDrivFlags`, 493 + REGSTR_VAL_ENUMERATOR = `Enumerator`, 494 + REGSTR_VAL_DEVICEDRIVER = `DeviceDriver`, 495 + REGSTR_VAL_PORTNAME = `PortName`, 496 + REGSTR_VAL_INFPATH = `InfPath`, 497 + REGSTR_VAL_INFSECTION = `InfSection`, 498 + REGSTR_VAL_POLLING = `Polling`, 499 + REGSTR_VAL_DONTLOADIFCONFLICT = `DontLoadIfConflict`, 500 + REGSTR_VAL_PORTSUBCLASS = `PortSubClass`, 501 + REGSTR_VAL_NETCLEAN = `NetClean`, 502 + REGSTR_VAL_IDE_NO_SERIALIZE = `IDENoSerialize`, 503 + REGSTR_VAL_NOCMOSORFDPT = `NoCMOSorFDPT`, 504 + REGSTR_VAL_COMVERIFYBASE = `COMVerifyBase`, 505 + REGSTR_KEY_OVERRIDE = `Override`, 506 + REGSTR_VAL_CONFIGMG = `CONFIGMG`, 507 + REGSTR_VAL_SYSDM = `SysDM`, 508 + REGSTR_VAL_SYSDMFUNC = `SysDMFunc`, 509 + REGSTR_VAL_PRIVATE = `Private`, 510 + REGSTR_VAL_PRIVATEFUNC = `PrivateFunc`, 511 + REGSTR_VAL_DETECT = `Detect`, 512 + REGSTR_VAL_DETECTFUNC = `DetectFunc`, 513 + REGSTR_VAL_ASKFORCONFIG = `AskForConfig`, 514 + REGSTR_VAL_ASKFORCONFIGFUNC = `AskForConfigFunc`, 515 + REGSTR_VAL_WAITFORUNDOCK = `WaitForUndock`, 516 + REGSTR_VAL_WAITFORUNDOCKFUNC = `WaitForUndockFunc`, 517 + REGSTR_VAL_REMOVEROMOKAY = `RemoveRomOkay`, 518 + REGSTR_VAL_REMOVEROMOKAYFUNC = `RemoveRomOkayFunc`, 519 + REGSTR_VAL_CURCONFIG = `CurrentConfig`, 520 + REGSTR_VAL_FRIENDLYNAME = `FriendlyName`, 521 + REGSTR_VAL_CURRENTCONFIG = `CurrentConfig`, 522 + REGSTR_VAL_MAP = `Map`, 523 + REGSTR_VAL_ID = `CurrentID`, 524 + REGSTR_VAL_DOCKED = `CurrentDockedState`, 525 + REGSTR_VAL_CHECKSUM = `CurrentChecksum`, 526 + REGSTR_VAL_HWDETECT = `HardwareDetect`, 527 + REGSTR_VAL_INHIBITRESULTS = `InhibitResults`, 528 + REGSTR_VAL_PROFILEFLAGS = `ProfileFlags`, 529 + REGSTR_KEY_PCMCIA = `PCMCIA\`, 530 + REGSTR_KEY_PCUNKNOWN = `UNKNOWN_MANUFACTURER`, 531 + REGSTR_VAL_PCSSDRIVER = `Driver`, 532 + REGSTR_KEY_PCMTD = `MTD-`, 533 + REGSTR_VAL_PCMTDRIVER = `MTD`, 534 + REGSTR_VAL_HARDWAREID = `HardwareID`, 535 + REGSTR_VAL_INSTALLER = `Installer`, 536 + REGSTR_VAL_INSICON = `Icon`, 537 + REGSTR_VAL_ENUMPROPPAGES = `EnumPropPages`, 538 + REGSTR_VAL_BASICPROPERTIES = `BasicProperties`, 539 + REGSTR_VAL_PRIVATEPROBLEM = `PrivateProblem`, 540 + REGSTR_KEY_CURRENT = `Current`, 541 + REGSTR_KEY_DEFAULT = `Default`, 542 + REGSTR_KEY_MODES = `Modes`, 543 + REGSTR_VAL_MODE = `Mode`, 544 + REGSTR_VAL_BPP = `BPP`, 545 + REGSTR_VAL_HRES = `HRes`, 546 + REGSTR_VAL_VRES = `VRes`, 547 + REGSTR_VAL_FONTSIZE = `FontSize`, 548 + REGSTR_VAL_DRV = `drv`, 549 + REGSTR_VAL_GRB = `grb`, 550 + REGSTR_VAL_VDD = `vdd`, 551 + REGSTR_VAL_VER = `Ver`, 552 + REGSTR_VAL_MAXRES = `MaxResolution`, 553 + REGSTR_VAL_DPMS = `DPMS`, 554 + REGSTR_VAL_RESUMERESET = `ResumeReset`, 555 + REGSTR_VAL_DESCRIPTION = `Description`, 556 + REGSTR_KEY_SYSTEM = `System`, 557 + REGSTR_KEY_USER = `User`, 558 + REGSTR_VAL_DPI = `dpi`, 559 + REGSTR_VAL_PCICOPTIONS = `PCICOptions`, 560 + 561 + REGSTR_VAL_PCICIRQMAP = `PCICIRQMap`, 562 + REGSTR_PATH_APPEARANCE = `Control Panel\Appearance`, 563 + REGSTR_PATH_LOOKSCHEMES = `Control Panel\Appearance\Schemes`, 564 + REGSTR_VAL_CUSTOMCOLORS = `CustomColors`, 565 + REGSTR_PATH_SCREENSAVE = `Control Panel\Desktop`, 566 + REGSTR_VALUE_USESCRPASSWORD = `ScreenSaveUsePassword`, 567 + REGSTR_VALUE_SCRPASSWORD = `ScreenSave_Data`, 568 + REGSTR_VALUE_LOWPOWERTIMEOUT = `ScreenSaveLowPowerTimeout`, 569 + REGSTR_VALUE_POWEROFFTIMEOUT = `ScreenSavePowerOffTimeout`, 570 + REGSTR_VALUE_LOWPOWERACTIVE = `ScreenSaveLowPowerActive`, 571 + REGSTR_VALUE_POWEROFFACTIVE = `ScreenSavePowerOffActive`, 572 + REGSTR_PATH_WINDOWSAPPLETS = `Software\Microsoft\Windows\CurrentVersion\Applets`, 573 + REGSTR_PATH_SYSTRAY = `Software\Microsoft\Windows\CurrentVersion\Applets\SysTray`, 574 + REGSTR_VAL_SYSTRAYSVCS = `Services`, 575 + REGSTR_VAL_SYSTRAYBATFLAGS = `PowerFlags`, 576 + REGSTR_VAL_SYSTRAYPCCARDFLAGS = `PCMCIAFlags`, 577 + REGSTR_PATH_NETWORK_USERSETTINGS = `Network`, 578 + REGSTR_KEY_NETWORK_PERSISTENT = `\Persistent`, 579 + REGSTR_KEY_NETWORK_RECENT = `\Recent`, 580 + REGSTR_VAL_REMOTE_PATH = `RemotePath`, 581 + REGSTR_VAL_USER_NAME = `UserName`, 582 + REGSTR_VAL_PROVIDER_NAME = `ProviderName`, 583 + REGSTR_VAL_CONNECTION_TYPE = `ConnectionType`, 584 + REGSTR_VAL_UPGRADE = `Upgrade`, 585 + REGSTR_KEY_LOGON = `\Logon`, 586 + REGSTR_VAL_MUSTBEVALIDATED = `MustBeValidated`, 587 + REGSTR_VAL_RUNLOGINSCRIPT = `ProcessLoginScript`, 588 + REGSTR_KEY_NETWORKPROVIDER = `\NetworkProvider`, 589 + REGSTR_PATH_NW32NETPROVIDER =REGSTR_PATH_SERVICES ~ `\NWNP32` ~ REGSTR_KEY_NETWORKPROVIDER, 590 + REGSTR_PATH_MS32NETPROVIDER =REGSTR_PATH_SERVICES ~ `\MSNP32` ~ REGSTR_KEY_NETWORKPROVIDER, 591 + REGSTR_VAL_AUTHENT_AGENT = `AuthenticatingAgent`, 592 + REGSTR_VAL_PREFREDIR = `PreferredRedir`, 593 + REGSTR_VAL_AUTOSTART = `AutoStart`, 594 + REGSTR_VAL_AUTOLOGON = `AutoLogon`, 595 + REGSTR_VAL_NETCARD = `Netcard`, 596 + REGSTR_VAL_TRANSPORT = `Transport`, 597 + REGSTR_VAL_DYNAMIC = `Dynamic`, 598 + REGSTR_VAL_TRANSITION = `Transition`, 599 + REGSTR_VAL_STATICDRIVE = `StaticDrive`, 600 + REGSTR_VAL_LOADHI = `LoadHi`, 601 + REGSTR_VAL_LOADRMDRIVERS = `LoadRMDrivers`, 602 + REGSTR_VAL_SETUPN = `SetupN`, 603 + REGSTR_VAL_SETUPNPATH = `SetupNPath`, 604 + REGSTR_VAL_WRKGRP_FORCEMAPPING = `WrkgrpForceMapping`, 605 + REGSTR_VAL_WRKGRP_REQUIRED = `WrkgrpRequired`, 606 + REGSTR_PATH_CURRENT_CONTROL_SET = `System\CurrentControlSet\Control`, 607 + REGSTR_VAL_CURRENT_USER = `Current User`, 608 + REGSTR_PATH_PWDPROVIDER = `System\CurrentControlSet\Control\PwdProvider`, 609 + REGSTR_VAL_PWDPROVIDER_PATH = `ProviderPath`, 610 + REGSTR_VAL_PWDPROVIDER_DESC = `Description`, 611 + REGSTR_VAL_PWDPROVIDER_CHANGEPWD = `ChangePassword`, 612 + REGSTR_VAL_PWDPROVIDER_CHANGEPWDHWND = `ChangePasswordHwnd`, 613 + REGSTR_VAL_PWDPROVIDER_GETPWDSTATUS = `GetPasswordStatus`, 614 + REGSTR_VAL_PWDPROVIDER_ISNP = `NetworkProvider`, 615 + REGSTR_VAL_PWDPROVIDER_CHANGEORDER = `ChangeOrder`, 616 + REGSTR_PATH_POLICIES = `Software\Microsoft\Windows\CurrentVersion\Policies`, 617 + REGSTR_PATH_UPDATE = `System\CurrentControlSet\Control\Update`, 618 + REGSTR_VALUE_ENABLE = `Enable`, 619 + REGSTR_VALUE_VERBOSE = `Verbose`, 620 + REGSTR_VALUE_NETPATH = `NetworkPath`, 621 + REGSTR_VALUE_DEFAULTLOC = `UseDefaultNetLocation`, 622 + REGSTR_KEY_NETWORK = `Network`, 623 +// [Redefined] REGSTR_KEY_SYSTEM = `System`) 624 + REGSTR_KEY_PRINTERS = `Printers`, 625 + REGSTR_KEY_WINOLDAPP = `WinOldApp`, 626 + REGSTR_VAL_NOFILESHARING = `NoFileSharing`, 627 + REGSTR_VAL_NOPRINTSHARING = `NoPrintSharing`, 628 + REGSTR_VAL_NOFILESHARINGCTRL = `NoFileSharingControl`, 629 + REGSTR_VAL_NOPRINTSHARINGCTRL = `NoPrintSharingControl`, 630 + REGSTR_VAL_HIDESHAREPWDS = `HideSharePwds`, 631 + REGSTR_VAL_DISABLEPWDCACHING = `DisablePwdCaching`, 632 + REGSTR_VAL_ALPHANUMPWDS = `AlphanumPwds`, 633 + REGSTR_VAL_NETSETUP_DISABLE = `NoNetSetup`, 634 + REGSTR_VAL_NETSETUP_NOCONFIGPAGE = `NoNetSetupConfigPage`, 635 + REGSTR_VAL_NETSETUP_NOIDPAGE = `NoNetSetupIDPage`, 636 + REGSTR_VAL_NETSETUP_NOSECURITYPAGE = `NoNetSetupSecurityPage`, 637 + REGSTR_VAL_SYSTEMCPL_NOVIRTMEMPAGE = `NoVirtMemPage`, 638 + REGSTR_VAL_SYSTEMCPL_NODEVMGRPAGE = `NoDevMgrPage`, 639 + REGSTR_VAL_SYSTEMCPL_NOCONFIGPAGE = `NoConfigPage`, 640 + REGSTR_VAL_SYSTEMCPL_NOFILESYSPAGE = `NoFileSysPage`, 641 + REGSTR_VAL_DISPCPL_NODISPCPL = `NoDispCPL`, 642 + REGSTR_VAL_DISPCPL_NOBACKGROUNDPAGE = `NoDispBackgroundPage`, 643 + REGSTR_VAL_DISPCPL_NOSCRSAVPAGE = `NoDispScrSavPage`, 644 + REGSTR_VAL_DISPCPL_NOAPPEARANCEPAGE = `NoDispAppearancePage`, 645 + REGSTR_VAL_DISPCPL_NOSETTINGSPAGE = `NoDispSettingsPage`, 646 + REGSTR_VAL_SECCPL_NOSECCPL = `NoSecCPL`, 647 + REGSTR_VAL_SECCPL_NOPWDPAGE = `NoPwdPage`, 648 + REGSTR_VAL_SECCPL_NOADMINPAGE = `NoAdminPage`, 649 + REGSTR_VAL_SECCPL_NOPROFILEPAGE = `NoProfilePage`, 650 + REGSTR_VAL_PRINTERS_HIDETABS = `NoPrinterTabs`, 651 + REGSTR_VAL_PRINTERS_NODELETE = `NoDeletePrinter`, 652 + REGSTR_VAL_PRINTERS_NOADD = `NoAddPrinter`, 653 + REGSTR_VAL_WINOLDAPP_DISABLED = `Disabled`, 654 + REGSTR_VAL_WINOLDAPP_NOREALMODE = `NoRealMode`, 655 + REGSTR_VAL_NOENTIRENETWORK = `NoEntireNetwork`, 656 + REGSTR_VAL_NOWORKGROUPCONTENTS = `NoWorkgroupContents`, 657 + REGSTR_VAL_MINPWDLEN = `MinPwdLen`, 658 + REGSTR_VAL_PWDEXPIRATION = `PwdExpiration`, 659 + REGSTR_VAL_WIN31PROVIDER = `Win31Provider`, 660 + REGSTR_VAL_DISABLEREGTOOLS = `DisableRegistryTools`, 661 + REGSTR_PATH_WINLOGON = `Software\Microsoft\Windows\CurrentVersion\Winlogon`, 662 + REGSTR_VAL_LEGALNOTICECAPTION = `LegalNoticeCaption`, 663 + REGSTR_VAL_LEGALNOTICETEXT = `LegalNoticeText`, 664 + REGSTR_VAL_RESTRICTRUN = `RestrictRun`, 665 + REGSTR_KEY_POL_USERS = `Users`, 666 + REGSTR_KEY_POL_COMPUTERS = `Computers`, 667 + REGSTR_KEY_POL_USERGROUPS = `UserGroups`, 668 + REGSTR_KEY_POL_DEFAULT = `.default`, 669 + REGSTR_KEY_POL_USERGROUPDATA = `GroupData\UserGroups\Priority`, 670 + REGSTR_PATH_TIMEZONE = `System\CurrentControlSet\Control\TimeZoneInformation`, 671 + REGSTR_VAL_TZBIAS = `Bias`, 672 + REGSTR_VAL_TZDLTBIAS = `DaylightBias`, 673 + REGSTR_VAL_TZSTDBIAS = `StandardBias`, 674 + REGSTR_VAL_TZACTBIAS = `ActiveTimeBias`, 675 + REGSTR_VAL_TZDLTFLAG = `DaylightFlag`, 676 + REGSTR_VAL_TZSTDSTART = `StandardStart`, 677 + REGSTR_VAL_TZDLTSTART = `DaylightStart`, 678 + REGSTR_VAL_TZDLTNAME = `DaylightName`, 679 + REGSTR_VAL_TZSTDNAME = `StandardName`, 680 + REGSTR_VAL_TZNOCHANGESTART = `NoChangeStart`, 681 + REGSTR_VAL_TZNOCHANGEEND = `NoChangeEnd`, 682 + REGSTR_VAL_TZNOAUTOTIME = `DisableAutoDaylightTimeSet`, 683 + REGSTR_PATH_FLOATINGPOINTPROCESSOR = `HARDWARE\DESCRIPTION\System\FloatingPointProcessor`, 684 + REGSTR_PATH_FLOATINGPOINTPROCESSOR0 = `HARDWARE\DESCRIPTION\System\FloatingPointProcessor\0`, 685 + REGSTR_PATH_COMPUTRNAME = `System\CurrentControlSet\Control\ComputerName\ComputerName`, 686 + REGSTR_VAL_COMPUTRNAME = `ComputerName`, 687 + REGSTR_PATH_SHUTDOWN = `System\CurrentControlSet\Control\Shutdown`, 688 + REGSTR_VAL_FORCEREBOOT = `ForceReboot`, 689 + REGSTR_VAL_SETUPPROGRAMRAN = `SetupProgramRan`, 690 + REGSTR_VAL_DOES_POLLING = `PollingSupportNeeded`, 691 + REGSTR_PATH_KNOWNDLLS = `System\CurrentControlSet\Control\SessionManager\KnownDLLs`, 692 + REGSTR_PATH_KNOWN16DLLS = `System\CurrentControlSet\Control\SessionManager\Known16DLLs`, 693 + REGSTR_PATH_CHECKVERDLLS = `System\CurrentControlSet\Control\SessionManager\CheckVerDLLs`, 694 + REGSTR_PATH_WARNVERDLLS = `System\CurrentControlSet\Control\SessionManager\WarnVerDLLs`, 695 + REGSTR_PATH_HACKINIFILE = `System\CurrentControlSet\Control\SessionManager\HackIniFiles`, 696 + REGSTR_PATH_CHECKBADAPPS = `System\CurrentControlSet\Control\SessionManager\CheckBadApps`, 697 + REGSTR_PATH_APPPATCH = `System\CurrentControlSet\Control\SessionManager\AppPatches`, 698 + REGSTR_PATH_KNOWNVXDS = `System\CurrentControlSet\Control\SessionManager\KnownVxDs`, 699 + REGSTR_VAL_UNINSTALLER_DISPLAYNAME = `DisplayName`, 700 + REGSTR_VAL_UNINSTALLER_COMMANDLINE = `UninstallString`, 701 + REGSTR_PATH_DESKTOP = REGSTR_PATH_SCREENSAVE, 702 + REGSTR_PATH_MOUSE = `Control Panel\Mouse`, 703 + REGSTR_PATH_KEYBOARD = `Control Panel\Keyboard`, 704 + REGSTR_PATH_COLORS = `Control Panel\Colors`, 705 + REGSTR_PATH_SOUND = `Control Panel\Sound`, 706 + REGSTR_PATH_METRICS = `Control Panel\Desktop\WindowMetrics`, 707 + REGSTR_PATH_ICONS = `Control Panel\Icons`, 708 + REGSTR_PATH_CURSORS = `Control Panel\Cursors`, 709 + REGSTR_PATH_CHECKDISK = `Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive`, 710 + REGSTR_PATH_CHECKDISKSET = `Settings`, 711 + REGSTR_PATH_CHECKDISKUDRVS = `NoUnknownDDErrDrvs`, 712 + REGSTR_PATH_FAULT = `Software\Microsoft\Windows\CurrentVersion\Fault`, 713 + REGSTR_VAL_FAULT_LOGFILE = `LogFile`, 714 + REGSTR_PATH_AEDEBUG = `Software\Microsoft\Windows NT\CurrentVersion\AeDebug`, 715 + REGSTR_VAL_AEDEBUG_DEBUGGER = `Debugger`, 716 + REGSTR_VAL_AEDEBUG_AUTO = `Auto`, 717 + REGSTR_PATH_GRPCONV = `Software\Microsoft\Windows\CurrentVersion\GrpConv`, 718 + REGSTR_VAL_REGITEMDELETEMESSAGE = `Removal Message`, 719 + REGSTR_PATH_LASTCHECK = `Software\Microsoft\Windows\CurrentVersion\Explorer\LastCheck`, 720 + REGSTR_PATH_LASTOPTIMIZE = `Software\Microsoft\Windows\CurrentVersion\Explorer\LastOptimize`, 721 + REGSTR_PATH_LASTBACKUP = `Software\Microsoft\Windows\CurrentVersion\Explorer\LastBackup`, 722 + REGSTR_PATH_CHKLASTCHECK = `Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive\LastCheck`, 723 + REGSTR_PATH_CHKLASTSURFAN = `Software\Microsoft\Windows\CurrentVersion\Applets\Check Drive\LastSurfaceAnalysis`, 724 + REGSTR_KEY_SHARES = `Software\Microsoft\Windows\CurrentVersion\Network\LanMan`, 725 + REGSTR_VAL_SHARES_FLAGS = `Flags`, 726 + REGSTR_VAL_SHARES_TYPE = `Type`, 727 + REGSTR_VAL_SHARES_PATH = `Path`, 728 + REGSTR_VAL_SHARES_REMARK = `Remark`, 729 + REGSTR_VAL_SHARES_RW_PASS = `Parm1`, 730 + REGSTR_VAL_SHARES_RO_PASS = `Parm2`, 731 + REGSTR_PATH_PRINT = `System\CurrentControlSet\Control\Print`, 732 + REGSTR_PATH_PRINTERS = `System\CurrentControlSet\Control\Print\Printers`, 733 + REGSTR_PATH_PROVIDERS = `System\CurrentControlSet\Control\Print\Providers`, 734 + REGSTR_PATH_MONITORS = `System\CurrentControlSet\Control\Print\Monitors`, 735 + REGSTR_PATH_ENVIRONMENTS = `System\CurrentControlSet\Control\Print\Environments`, 736 + REGSTR_VAL_START_ON_BOOT = `StartOnBoot`, 737 + REGSTR_VAL_PRINTERS_MASK = `PrintersMask`, 738 + REGSTR_VAL_DOS_SPOOL_MASK = `DOSSpoolMask`, 739 + REGSTR_KEY_CURRENT_ENV = `\Windows 4.0`, 740 + REGSTR_KEY_DRIVERS = `\Drivers`, 741 + REGSTR_KEY_PRINT_PROC = `\Print Processors`, 742 + REGSTR_PATH_EVENTLABELS = `AppEvents\EventLabels`, 743 + REGSTR_PATH_SCHEMES = `AppEvents\Schemes`, 744 + REGSTR_PATH_APPS = REGSTR_PATH_SCHEMES ~ `\Apps`, 745 + REGSTR_PATH_APPS_DEFAULT = REGSTR_PATH_SCHEMES ~ `\Apps\.Default`, 746 + REGSTR_PATH_NAMES = REGSTR_PATH_SCHEMES ~ `\Names`, 747 + REGSTR_PATH_MULTIMEDIA = REGSTR_PATH_SETUP ~ `\Multimedia`, 748 + REGSTR_PATH_MULTIMEDIA_AUDIO = `Software\Microsoft\Multimedia\Audio`, 749 + REGSTR_PATH_MEDIARESOURCES = REGSTR_PATH_CURRENT_CONTROL_SET ~ `\MediaResources`, 750 + REGSTR_PATH_MEDIAPROPERTIES = REGSTR_PATH_CURRENT_CONTROL_SET ~ `\MediaProperties`, 751 + REGSTR_PATH_PRIVATEPROPERTIES = REGSTR_PATH_MEDIAPROPERTIES ~ `\PrivateProperties`, 752 + REGSTR_PATH_PUBLICPROPERTIES = REGSTR_PATH_MEDIAPROPERTIES ~ `\PublicProperties`, 753 + REGSTR_PATH_JOYOEM = REGSTR_PATH_PRIVATEPROPERTIES ~ `\Joystick\OEM`, 754 + REGSTR_PATH_JOYCONFIG = REGSTR_PATH_MEDIARESOURCES ~ `\Joystick`, 755 + REGSTR_KEY_JOYCURR = `CurrentJoystickSettings`, 756 + REGSTR_KEY_JOYSETTINGS = `JoystickSettings`, 757 + REGSTR_VAL_JOYUSERVALUES = `JoystickUserValues`, 758 + REGSTR_VAL_JOYCALLOUT = `JoystickCallout`, 759 + REGSTR_VAL_JOYNCONFIG = `Joystick%dConfiguration`, 760 + REGSTR_VAL_JOYNOEMNAME = `Joystick%dOEMName`, 761 + REGSTR_VAL_JOYNOEMCALLOUT = `Joystick%dOEMCallout`, 762 + REGSTR_VAL_JOYOEMCALLOUT = `OEMCallout`, 763 + REGSTR_VAL_JOYOEMNAME = `OEMName`, 764 + REGSTR_VAL_JOYOEMDATA = `OEMData`, 765 + REGSTR_VAL_JOYOEMXYLABEL = `OEMXYLabel`, 766 + REGSTR_VAL_JOYOEMZLABEL = `OEMZLabel`, 767 + REGSTR_VAL_JOYOEMRLABEL = `OEMRLabel`, 768 + REGSTR_VAL_JOYOEMPOVLABEL = `OEMPOVLabel`, 769 + REGSTR_VAL_JOYOEMULABEL = `OEMULabel`, 770 + REGSTR_VAL_JOYOEMVLABEL = `OEMVLabel`, 771 + REGSTR_VAL_JOYOEMTESTMOVEDESC = `OEMTestMoveDesc`, 772 + REGSTR_VAL_JOYOEMTESTBUTTONDESC = `OEMTestButtonDesc`, 773 + REGSTR_VAL_JOYOEMTESTMOVECAP = `OEMTestMoveCap`, 774 + REGSTR_VAL_JOYOEMTESTBUTTONCAP = `OEMTestButtonCap`, 775 + REGSTR_VAL_JOYOEMTESTWINCAP = `OEMTestWinCap`, 776 + REGSTR_VAL_JOYOEMCALCAP = `OEMCalCap`, 777 + REGSTR_VAL_JOYOEMCALWINCAP = `OEMCalWinCap`, 778 + REGSTR_VAL_JOYOEMCAL1 = `OEMCal1`, 779 + REGSTR_VAL_JOYOEMCAL2 = `OEMCal2`, 780 + REGSTR_VAL_JOYOEMCAL3 = `OEMCal3`, 781 + REGSTR_VAL_JOYOEMCAL4 = `OEMCal4`, 782 + REGSTR_VAL_JOYOEMCAL5 = `OEMCal5`, 783 + REGSTR_VAL_JOYOEMCAL6 = `OEMCal6`, 784 + REGSTR_VAL_JOYOEMCAL7 = `OEMCal7`, 785 + REGSTR_VAL_JOYOEMCAL8 = `OEMCal8`, 786 + REGSTR_VAL_JOYOEMCAL9 = `OEMCal9`, 787 + REGSTR_VAL_JOYOEMCAL10 = `OEMCal10`, 788 + REGSTR_VAL_JOYOEMCAL11 = `OEMCal11`, 789 + REGSTR_VAL_JOYOEMCAL12 = `OEMCal12`; 790 + 791 +enum { 792 + DTRESULTOK, 793 + DTRESULTFIX, 794 + DTRESULTPROB, 795 + DTRESULTPART 796 +} 797 + 798 +//#ifndef NEC_98 799 +const PCIC_DEFAULT_IRQMASK = 0x4EB8; 800 +//#else 801 +//#define PCIC_DEFAULT_IRQMASK 0x1468 802 +//#endif 803 +const PCIC_DEFAULT_NUMSOCKETS = 0; 804 + 805 +struct DSKTLSYSTEMTIME { 806 + WORD wYear; 807 + WORD wMonth; 808 + WORD wDayOfWeek; 809 + WORD wDay; 810 + WORD wHour; 811 + WORD wMinute; 812 + WORD wSecond; 813 + WORD wMilliseconds; 814 + WORD wResult; 815 +} 816 +alias DSKTLSYSTEMTIME* PDSKTLSYSTEMTIME, LPDSKTLSYSTEMTIME;

Added src/win32/richedit.d version [8cbb9c5888a9f01f]

1 +/***********************************************************************\ 2 +* richedit.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.richedit; 11 + 12 +private import win32.windef, win32.winuser; 13 +private import win32.wingdi; // for LF_FACESIZE 14 + 15 +align(4): 16 + 17 +version(Unicode) { 18 + const wchar[] RICHEDIT_CLASS = "RichEdit20W"; 19 +} else { 20 + const char[] RICHEDIT_CLASS = "RichEdit20A"; 21 +} 22 + 23 +const RICHEDIT_CLASS10A = "RICHEDIT"; 24 + 25 +const TCHAR[] 26 + CF_RTF = "Rich Text Format", 27 + CF_RTFNOOBJS = "Rich Text Format Without Objects", 28 + CF_RETEXTOBJ = "RichEdit Text and Objects"; 29 + 30 +const DWORD 31 + CFM_BOLD = 1, 32 + CFM_ITALIC = 2, 33 + CFM_UNDERLINE = 4, 34 + CFM_STRIKEOUT = 8, 35 + CFM_PROTECTED = 16, 36 + CFM_LINK = 32, 37 + CFM_SIZE = 0x80000000, 38 + CFM_COLOR = 0x40000000, 39 + CFM_FACE = 0x20000000, 40 + CFM_OFFSET = 0x10000000, 41 + CFM_CHARSET = 0x08000000, 42 + CFM_SUBSCRIPT = 0x00030000, 43 + CFM_SUPERSCRIPT = 0x00030000; 44 + 45 +const DWORD 46 + CFE_BOLD = 1, 47 + CFE_ITALIC = 2, 48 + CFE_UNDERLINE = 4, 49 + CFE_STRIKEOUT = 8, 50 + CFE_PROTECTED = 16, 51 + CFE_SUBSCRIPT = 0x00010000, 52 + CFE_SUPERSCRIPT = 0x00020000, 53 + CFE_AUTOCOLOR = 0x40000000; 54 + 55 +const CFM_EFFECTS = CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE | CFM_COLOR 56 + | CFM_STRIKEOUT | CFE_PROTECTED | CFM_LINK; 57 + 58 +// flags for EM_SETIMEOPTIONS 59 +const LPARAM 60 + IMF_FORCENONE = 1, 61 + IMF_FORCEENABLE = 2, 62 + IMF_FORCEDISABLE = 4, 63 + IMF_CLOSESTATUSWINDOW = 8, 64 + IMF_VERTICAL = 32, 65 + IMF_FORCEACTIVE = 64, 66 + IMF_FORCEINACTIVE = 128, 67 + IMF_FORCEREMEMBER = 256; 68 + 69 +const SEL_EMPTY=0; 70 +const SEL_TEXT=1; 71 +const SEL_OBJECT=2; 72 +const SEL_MULTICHAR=4; 73 +const SEL_MULTIOBJECT=8; 74 + 75 +const MAX_TAB_STOPS=32; 76 + 77 +const PFM_ALIGNMENT=8; 78 +const PFM_NUMBERING=32; 79 +const PFM_OFFSET=4; 80 +const PFM_OFFSETINDENT=0x80000000; 81 +const PFM_RIGHTINDENT=2; 82 +const PFM_STARTINDENT=1; 83 +const PFM_TABSTOPS=16; 84 +const PFM_BORDER=2048; 85 +const PFM_LINESPACING=256; 86 +const PFM_NUMBERINGSTART=32768; 87 +const PFM_NUMBERINGSTYLE=8192; 88 +const PFM_NUMBERINGTAB=16384; 89 +const PFM_SHADING=4096; 90 +const PFM_SPACEAFTER=128; 91 +const PFM_SPACEBEFORE=64; 92 +const PFM_STYLE=1024; 93 +const PFM_DONOTHYPHEN=4194304; 94 +const PFM_KEEP=131072; 95 +const PFM_KEEPNEXT=262144; 96 +const PFM_NOLINENUMBER=1048576; 97 +const PFM_NOWIDOWCONTROL=2097152; 98 +const PFM_PAGEBREAKBEFORE=524288; 99 +const PFM_RTLPARA=65536; 100 +const PFM_SIDEBYSIDE=8388608; 101 +const PFM_TABLE=1073741824; 102 +const PFN_BULLET=1; 103 + 104 +const PFE_DONOTHYPHEN=64; 105 +const PFE_KEEP=2; 106 +const PFE_KEEPNEXT=4; 107 +const PFE_NOLINENUMBER=16; 108 +const PFE_NOWIDOWCONTROL=32; 109 +const PFE_PAGEBREAKBEFORE=8; 110 +const PFE_RTLPARA=1; 111 +const PFE_SIDEBYSIDE=128; 112 +const PFE_TABLE=16384; 113 +const PFA_LEFT=1; 114 +const PFA_RIGHT=2; 115 +const PFA_CENTER=3; 116 +const PFA_JUSTIFY=4; 117 +const PFA_FULL_INTERWORD=4; 118 + 119 +const SF_TEXT=1; 120 +const SF_RTF=2; 121 +const SF_RTFNOOBJS=3; 122 +const SF_TEXTIZED=4; 123 +const SF_UNICODE=16; 124 +const SF_USECODEPAGE=32; 125 +const SF_NCRFORNONASCII=64; 126 +const SF_RTFVAL=0x0700; 127 + 128 +const SFF_PWD=0x0800; 129 +const SFF_KEEPDOCINFO=0x1000; 130 +const SFF_PERSISTVIEWSCALE=0x2000; 131 +const SFF_PLAINRTF=0x4000; 132 +const SFF_SELECTION=0x8000; 133 + 134 +const WB_CLASSIFY = 3; 135 +const WB_MOVEWORDLEFT = 4; 136 +const WB_MOVEWORDRIGHT = 5; 137 +const WB_LEFTBREAK = 6; 138 +const WB_RIGHTBREAK = 7; 139 +const WB_MOVEWORDPREV = 4; 140 +const WB_MOVEWORDNEXT = 5; 141 +const WB_PREVBREAK = 6; 142 +const WB_NEXTBREAK = 7; 143 + 144 +const WBF_WORDWRAP = 16; 145 +const WBF_WORDBREAK = 32; 146 +const WBF_OVERFLOW = 64; 147 +const WBF_LEVEL1 = 128; 148 +const WBF_LEVEL2 = 256; 149 +const WBF_CUSTOM = 512; 150 + 151 +const ES_DISABLENOSCROLL = 8192; 152 +const ES_SUNKEN = 16384; 153 +const ES_SAVESEL = 32768; 154 +const ES_EX_NOCALLOLEINIT = 16777216; 155 +const ES_NOIME = 524288; 156 +const ES_NOOLEDRAGDROP = 8; 157 +const ES_SELECTIONBAR = 16777216; 158 +const ES_SELFIME = 262144; 159 +const ES_VERTICAL = 4194304; 160 + 161 +const EM_CANPASTE = WM_USER+50; 162 +const EM_DISPLAYBAND = WM_USER+51; 163 +const EM_EXGETSEL = WM_USER+52; 164 +const EM_EXLIMITTEXT = WM_USER+53; 165 +const EM_EXLINEFROMCHAR = WM_USER+54; 166 +const EM_EXSETSEL = WM_USER+55; 167 +const EM_FINDTEXT = WM_USER+56; 168 +const EM_FORMATRANGE = WM_USER+57; 169 +const EM_GETCHARFORMAT = WM_USER+58; 170 +const EM_GETEVENTMASK = WM_USER+59; 171 +const EM_GETOLEINTERFACE = WM_USER+60; 172 +const EM_GETPARAFORMAT = WM_USER+61; 173 +const EM_GETSELTEXT = WM_USER+62; 174 +const EM_HIDESELECTION = WM_USER+63; 175 +const EM_PASTESPECIAL = WM_USER+64; 176 +const EM_REQUESTRESIZE = WM_USER+65; 177 +const EM_SELECTIONTYPE = WM_USER+66; 178 +const EM_SETBKGNDCOLOR = WM_USER+67; 179 +const EM_SETCHARFORMAT = WM_USER+68; 180 +const EM_SETEVENTMASK = WM_USER+69; 181 +const EM_SETOLECALLBACK = WM_USER+70; 182 +const EM_SETPARAFORMAT = WM_USER+71; 183 +const EM_SETTARGETDEVICE = WM_USER+72; 184 +const EM_STREAMIN = WM_USER+73; 185 +const EM_STREAMOUT = WM_USER+74; 186 +const EM_GETTEXTRANGE = WM_USER+75; 187 +const EM_FINDWORDBREAK = WM_USER+76; 188 +const EM_SETOPTIONS = WM_USER+77; 189 +const EM_GETOPTIONS = WM_USER+78; 190 +const EM_FINDTEXTEX = WM_USER+79; 191 +const EM_GETWORDBREAKPROCEX = WM_USER+80; 192 +const EM_SETWORDBREAKPROCEX = WM_USER+81; 193 +/* RichEdit 2.0 messages */ 194 +const EM_SETUNDOLIMIT = WM_USER+82; 195 +const EM_REDO = WM_USER+84; 196 +const EM_CANREDO = WM_USER+85; 197 +const EM_GETUNDONAME = WM_USER+86; 198 +const EM_GETREDONAME = WM_USER+87; 199 +const EM_STOPGROUPTYPING = WM_USER+88; 200 +const EM_SETTEXTMODE = WM_USER+89; 201 +const EM_GETTEXTMODE = WM_USER+90; 202 +const EM_AUTOURLDETECT = WM_USER+91; 203 +const EM_GETAUTOURLDETECT = WM_USER + 92; 204 +const EM_SETPALETTE = WM_USER + 93; 205 +const EM_GETTEXTEX = WM_USER+94; 206 +const EM_GETTEXTLENGTHEX = WM_USER+95; 207 +const EM_SHOWSCROLLBAR = WM_USER+96; 208 +const EM_SETTEXTEX = WM_USER + 97; 209 +const EM_SETPUNCTUATION = WM_USER + 100; 210 +const EM_GETPUNCTUATION = WM_USER + 101; 211 +const EM_SETWORDWRAPMODE = WM_USER + 102; 212 +const EM_GETWORDWRAPMODE = WM_USER + 103; 213 +const EM_SETIMECOLOR = WM_USER + 104; 214 +const EM_GETIMECOLOR = WM_USER + 105; 215 +const EM_SETIMEOPTIONS = WM_USER + 106; 216 +const EM_GETIMEOPTIONS = WM_USER + 107; 217 +const EM_SETLANGOPTIONS = WM_USER+120; 218 +const EM_GETLANGOPTIONS = WM_USER+121; 219 +const EM_GETIMECOMPMODE = WM_USER+122; 220 +const EM_FINDTEXTW = WM_USER + 123; 221 +const EM_FINDTEXTEXW = WM_USER + 124; 222 +const EM_RECONVERSION = WM_USER + 125; 223 +const EM_SETBIDIOPTIONS = WM_USER + 200; 224 +const EM_GETBIDIOPTIONS = WM_USER + 201; 225 +const EM_SETTYPOGRAPHYOPTIONS = WM_USER+202; 226 +const EM_GETTYPOGRAPHYOPTIONS = WM_USER+203; 227 +const EM_SETEDITSTYLE = WM_USER + 204; 228 +const EM_GETEDITSTYLE = WM_USER + 205; 229 +const EM_GETSCROLLPOS = WM_USER+221; 230 +const EM_SETSCROLLPOS = WM_USER+222; 231 +const EM_SETFONTSIZE = WM_USER+223; 232 +const EM_GETZOOM = WM_USER+224; 233 +const EM_SETZOOM = WM_USER+225; 234 + 235 +const EN_MSGFILTER = 1792; 236 +const EN_REQUESTRESIZE = 1793; 237 +const EN_SELCHANGE = 1794; 238 +const EN_DROPFILES = 1795; 239 +const EN_PROTECTED = 1796; 240 +const EN_CORRECTTEXT = 1797; 241 +const EN_STOPNOUNDO = 1798; 242 +const EN_IMECHANGE = 1799; 243 +const EN_SAVECLIPBOARD = 1800; 244 +const EN_OLEOPFAILED = 1801; 245 +const EN_LINK = 1803; 246 + 247 +const ENM_NONE = 0; 248 +const ENM_CHANGE = 1; 249 +const ENM_UPDATE = 2; 250 +const ENM_SCROLL = 4; 251 +const ENM_SCROLLEVENTS = 8; 252 +const ENM_DRAGDROPDONE = 16; 253 +const ENM_KEYEVENTS = 65536; 254 +const ENM_MOUSEEVENTS = 131072; 255 +const ENM_REQUESTRESIZE = 262144; 256 +const ENM_SELCHANGE = 524288; 257 +const ENM_DROPFILES = 1048576; 258 +const ENM_PROTECTED = 2097152; 259 +const ENM_CORRECTTEXT = 4194304; 260 +const ENM_IMECHANGE = 8388608; 261 +const ENM_LANGCHANGE = 16777216; 262 +const ENM_OBJECTPOSITIONS = 33554432; 263 +const ENM_LINK = 67108864; 264 + 265 +const ECO_AUTOWORDSELECTION=1; 266 +const ECO_AUTOVSCROLL=64; 267 +const ECO_AUTOHSCROLL=128; 268 +const ECO_NOHIDESEL=256; 269 +const ECO_READONLY=2048; 270 +const ECO_WANTRETURN=4096; 271 +const ECO_SAVESEL=0x8000; 272 +const ECO_SELECTIONBAR=0x1000000; 273 +const ECO_VERTICAL=0x400000; 274 + 275 +enum { 276 + ECOOP_SET = 1, 277 + ECOOP_OR, 278 + ECOOP_AND, 279 + ECOOP_XOR 280 +} 281 + 282 +const SCF_DEFAULT = 0; 283 +const SCF_SELECTION = 1; 284 +const SCF_WORD = 2; 285 +const SCF_ALL = 4; 286 +const SCF_USEUIRULES = 8; 287 + 288 +const TM_PLAINTEXT=1; 289 +const TM_RICHTEXT=2; 290 +const TM_SINGLELEVELUNDO=4; 291 +const TM_MULTILEVELUNDO=8; 292 +const TM_SINGLECODEPAGE=16; 293 +const TM_MULTICODEPAGE=32; 294 + 295 +const GT_DEFAULT=0; 296 +const GT_USECRLF=1; 297 + 298 +const yHeightCharPtsMost=1638; 299 +const lDefaultTab=720; 300 + 301 +struct CHARFORMATA { 302 + UINT cbSize = this.sizeof; 303 + DWORD dwMask; 304 + DWORD dwEffects; 305 + LONG yHeight; 306 + LONG yOffset; 307 + COLORREF crTextColor; 308 + BYTE bCharSet; 309 + BYTE bPitchAndFamily; 310 + char szFaceName[LF_FACESIZE]; 311 +} 312 +struct CHARFORMATW { 313 + UINT cbSize = this.sizeof; 314 + DWORD dwMask; 315 + DWORD dwEffects; 316 + LONG yHeight; 317 + LONG yOffset; 318 + COLORREF crTextColor; 319 + BYTE bCharSet; 320 + BYTE bPitchAndFamily; 321 + WCHAR szFaceName[LF_FACESIZE]; 322 +} 323 + 324 +struct CHARFORMAT2A { 325 + UINT cbSize = this.sizeof; 326 + DWORD dwMask; 327 + DWORD dwEffects; 328 + LONG yHeight; 329 + LONG yOffset; 330 + COLORREF crTextColor; 331 + BYTE bCharSet; 332 + BYTE bPitchAndFamily; 333 + char szFaceName[LF_FACESIZE]; 334 + WORD wWeight; 335 + SHORT sSpacing; 336 + COLORREF crBackColor; 337 + LCID lcid; 338 + DWORD dwReserved; 339 + SHORT sStyle; 340 + WORD wKerning; 341 + BYTE bUnderlineType; 342 + BYTE bAnimation; 343 + BYTE bRevAuthor; 344 +} 345 + 346 +struct CHARFORMAT2W { 347 + UINT cbSize = this.sizeof; 348 + DWORD dwMask; 349 + DWORD dwEffects; 350 + LONG yHeight; 351 + LONG yOffset; 352 + COLORREF crTextColor; 353 + BYTE bCharSet; 354 + BYTE bPitchAndFamily; 355 + WCHAR szFaceName[LF_FACESIZE]; 356 + WORD wWeight; 357 + SHORT sSpacing; 358 + COLORREF crBackColor; 359 + LCID lcid; 360 + DWORD dwReserved; 361 + SHORT sStyle; 362 + WORD wKerning; 363 + BYTE bUnderlineType; 364 + BYTE bAnimation; 365 + BYTE bRevAuthor; 366 +} 367 + 368 +struct CHARRANGE { 369 + LONG cpMin; 370 + LONG cpMax; 371 +} 372 + 373 +struct COMPCOLOR { 374 + COLORREF crText; 375 + COLORREF crBackground; 376 + DWORD dwEffects; 377 +} 378 + 379 +extern (Windows) { 380 + alias DWORD function(DWORD,PBYTE,LONG,LONG*) EDITSTREAMCALLBACK; 381 +} 382 + 383 +struct EDITSTREAM { 384 + DWORD dwCookie; 385 + DWORD dwError; 386 + EDITSTREAMCALLBACK pfnCallback; 387 +} 388 + 389 +struct ENCORRECTTEXT { 390 + NMHDR nmhdr; 391 + CHARRANGE chrg; 392 + WORD seltyp; 393 +} 394 + 395 +struct ENDROPFILES { 396 + NMHDR nmhdr; 397 + HANDLE hDrop; 398 + LONG cp; 399 + BOOL fProtected; 400 +} 401 + 402 +struct ENLINK { 403 + NMHDR nmhdr; 404 + UINT msg; 405 + WPARAM wParam; 406 + LPARAM lParam; 407 + CHARRANGE chrg; 408 +} 409 + 410 +struct ENOLEOPFAILED { 411 + NMHDR nmhdr; 412 + LONG iob; 413 + LONG lOper; 414 + HRESULT hr; 415 +} 416 + 417 +struct ENPROTECTED { 418 + NMHDR nmhdr; 419 + UINT msg; 420 + WPARAM wParam; 421 + LPARAM lParam; 422 + CHARRANGE chrg; 423 +} 424 +alias ENPROTECTED* LPENPROTECTED; 425 + 426 +struct ENSAVECLIPBOARD { 427 + NMHDR nmhdr; 428 + LONG cObjectCount; 429 + LONG cch; 430 +} 431 + 432 +struct FINDTEXTA { 433 + CHARRANGE chrg; 434 + LPSTR lpstrText; 435 +} 436 + 437 +struct FINDTEXTW { 438 + CHARRANGE chrg; 439 + LPWSTR lpstrText; 440 +} 441 + 442 +struct FINDTEXTEXA { 443 + CHARRANGE chrg; 444 + LPSTR lpstrText; 445 + CHARRANGE chrgText; 446 +} 447 + 448 +struct FINDTEXTEXW { 449 + CHARRANGE chrg; 450 + LPWSTR lpstrText; 451 + CHARRANGE chrgText; 452 +} 453 + 454 +struct FORMATRANGE { 455 + HDC hdc; 456 + HDC hdcTarget; 457 + RECT rc; 458 + RECT rcPage; 459 + CHARRANGE chrg; 460 +} 461 + 462 +struct MSGFILTER { 463 + NMHDR nmhdr; 464 + UINT msg; 465 + WPARAM wParam; 466 + LPARAM lParam; 467 +} 468 + 469 +struct PARAFORMAT { 470 + UINT cbSize = this.sizeof; 471 + DWORD dwMask; 472 + WORD wNumbering; 473 + WORD wReserved; 474 + LONG dxStartIndent; 475 + LONG dxRightIndent; 476 + LONG dxOffset; 477 + WORD wAlignment; 478 + SHORT cTabCount; 479 + LONG rgxTabs[MAX_TAB_STOPS]; 480 +} 481 + 482 +struct PARAFORMAT2 { 483 + UINT cbSize = this.sizeof; 484 + DWORD dwMask; 485 + WORD wNumbering; 486 + WORD wEffects; 487 + LONG dxStartIndent; 488 + LONG dxRightIndent; 489 + LONG dxOffset; 490 + WORD wAlignment; 491 + SHORT cTabCount; 492 + LONG rgxTabs[MAX_TAB_STOPS]; 493 + LONG dySpaceBefore; 494 + LONG dySpaceAfter; 495 + LONG dyLineSpacing; 496 + SHORT sStype; 497 + BYTE bLineSpacingRule; 498 + BYTE bOutlineLevel; 499 + WORD wShadingWeight; 500 + WORD wShadingStyle; 501 + WORD wNumberingStart; 502 + WORD wNumberingStyle; 503 + WORD wNumberingTab; 504 + WORD wBorderSpace; 505 + WORD wBorderWidth; 506 + WORD wBorders; 507 +} 508 + 509 +struct SELCHANGE { 510 + NMHDR nmhdr; 511 + CHARRANGE chrg; 512 + WORD seltyp; 513 +} 514 + 515 +struct TEXTRANGEA { 516 + CHARRANGE chrg; 517 + LPSTR lpstrText; 518 +} 519 + 520 +struct TEXTRANGEW { 521 + CHARRANGE chrg; 522 + LPWSTR lpstrText; 523 +} 524 + 525 +struct REQRESIZE { 526 + NMHDR nmhdr; 527 + RECT rc; 528 +} 529 + 530 +struct REPASTESPECIAL { 531 + DWORD dwAspect; 532 + DWORD dwParam; 533 +} 534 + 535 +struct PUNCTUATION { 536 + UINT iSize; 537 + LPSTR szPunctuation; 538 +} 539 + 540 +struct GETTEXTEX { 541 + DWORD cb; 542 + DWORD flags; 543 + UINT codepage; 544 + LPCSTR lpDefaultChar; 545 + LPBOOL lpUsedDefaultChar; 546 +} 547 + 548 +extern (Windows) { 549 +alias LONG function(char*,LONG,BYTE,INT) EDITWORDBREAKPROCEX; 550 +} 551 + 552 +/* Defines for EM_SETTYPOGRAPHYOPTIONS */ 553 +const TO_ADVANCEDTYPOGRAPHY = 1; 554 +const TO_SIMPLELINEBREAK = 2; 555 + 556 +/* Defines for GETTEXTLENGTHEX */ 557 +const GTL_DEFAULT = 0; 558 +const GTL_USECRLF = 1; 559 +const GTL_PRECISE = 2; 560 +const GTL_CLOSE = 4; 561 +const GTL_NUMCHARS = 8; 562 +const GTL_NUMBYTES = 16; 563 + 564 +struct GETTEXTLENGTHEX { 565 + DWORD flags; 566 + UINT codepage; 567 +} 568 + 569 +version(Unicode) { 570 + alias CHARFORMATW CHARFORMAT; 571 + alias CHARFORMAT2W CHARFORMAT2; 572 + alias FINDTEXTW FINDTEXT; 573 + alias FINDTEXTEXW FINDTEXTEX; 574 + alias TEXTRANGEW TEXTRANGE; 575 +} else { 576 + alias CHARFORMATA CHARFORMAT; 577 + alias CHARFORMAT2A CHARFORMAT2; 578 + alias FINDTEXTA FINDTEXT; 579 + alias FINDTEXTEXA FINDTEXTEX; 580 + alias TEXTRANGEA TEXTRANGE; 581 +}

Added src/win32/richole.d version [b40faba978847e1c]

1 +/***********************************************************************\ 2 +* richole.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.richole; 11 + 12 +private import win32.objfwd, win32.objidl, win32.ole2, win32.unknwn, 13 + win32.windef; 14 +private import win32.richedit; // for CHARRANGE 15 + 16 +align(4): 17 + 18 +const ULONG 19 + REO_GETOBJ_NO_INTERFACES = 0, 20 + REO_GETOBJ_POLEOBJ = 1, 21 + REO_GETOBJ_PSTG = 2, 22 + REO_GETOBJ_POLESITE = 4, 23 + REO_GETOBJ_ALL_INTERFACES = 7, 24 + REO_CP_SELECTION = -1, 25 + REO_IOB_SELECTION = -1, 26 + REO_IOB_USE_CP = -2, 27 + REO_NULL = 0, 28 + REO_READWRITEMASK = 0x3F, 29 + REO_DONTNEEDPALETTE = 32, 30 + REO_BLANK = 16, 31 + REO_DYNAMICSIZE = 8, 32 + REO_INVERTEDSELECT = 4, 33 + REO_BELOWBASELINE = 2, 34 + REO_RESIZABLE = 1, 35 + REO_LINK = 0x80000000, 36 + REO_STATIC = 0x40000000, 37 + REO_SELECTED = 0x08000000, 38 + REO_OPEN = 0x4000000, 39 + REO_INPLACEACTIVE = 0x2000000, 40 + REO_HILITED = 0x1000000, 41 + REO_LINKAVAILABLE = 0x800000, 42 + REO_GETMETAFILE = 0x400000; 43 + 44 +enum { 45 + RECO_PASTE = 0, 46 + RECO_DROP, 47 + RECO_COPY, 48 + RECO_CUT, 49 + RECO_DRAG // = 4 50 +} 51 + 52 +extern (C) extern const GUID 53 + IID_IRichEditOle, 54 + IID_IRichEditOleCallback; 55 + 56 +struct REOBJECT { 57 + DWORD cbStruct = REOBJECT.sizeof; 58 + LONG cp; 59 + CLSID clsid; 60 + LPOLEOBJECT poleobj; 61 + LPSTORAGE pstg; 62 + LPOLECLIENTSITE polesite; 63 + SIZEL sizel; 64 + DWORD dvaspect; 65 + DWORD dwFlags; 66 + DWORD dwUser; 67 +} 68 + 69 +interface IRichEditOle : IUnknown { 70 + HRESULT GetClientSite(LPOLECLIENTSITE*); 71 + LONG GetObjectCount(); 72 + LONG GetLinkCount(); 73 + HRESULT GetObject(LONG, REOBJECT*, DWORD); 74 + HRESULT InsertObject(REOBJECT*); 75 + HRESULT ConvertObject(LONG, REFCLSID, LPCSTR); 76 + HRESULT ActivateAs(REFCLSID, REFCLSID); 77 + HRESULT SetHostNames(LPCSTR, LPCSTR); 78 + HRESULT SetLinkAvailable(LONG, BOOL); 79 + HRESULT SetDvaspect(LONG, DWORD); 80 + HRESULT HandsOffStorage(LONG); 81 + HRESULT SaveCompleted(LONG, LPSTORAGE); 82 + HRESULT InPlaceDeactivate(); 83 + HRESULT ContextSensitiveHelp(BOOL); 84 + HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); 85 + HRESULT ImportDataObject(LPDATAOBJECT, CLIPFORMAT, HGLOBAL); 86 +}; 87 +alias IRichEditOle* LPRICHEDITOLE; 88 + 89 +interface IRichEditOleCallback : IUnknown { 90 + HRESULT GetNewStorage(LPSTORAGE*); 91 + HRESULT GetInPlaceContext(LPOLEINPLACEFRAME*, LPOLEINPLACEUIWINDOW*, LPOLEINPLACEFRAMEINFO); 92 + HRESULT ShowContainerUI(BOOL); 93 + HRESULT QueryInsertObject(LPCLSID, LPSTORAGE, LONG); 94 + HRESULT DeleteObject(LPOLEOBJECT); 95 + HRESULT QueryAcceptData(LPDATAOBJECT, CLIPFORMAT*, DWORD, BOOL, HGLOBAL); 96 + HRESULT ContextSensitiveHelp(BOOL); 97 + HRESULT GetClipboardData(CHARRANGE*, DWORD, LPDATAOBJECT*); 98 + HRESULT GetDragDropEffect(BOOL, DWORD, PDWORD); 99 + HRESULT GetContextMenu(WORD, LPOLEOBJECT, CHARRANGE*, HMENU*); 100 +}; 101 +alias IRichEditOleCallback* LPRICHEDITOLECALLBACK;

Added src/win32/rpc.d version [744671b954e4e438]

1 +/***********************************************************************\ 2 +* rpc.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.rpc; 11 + 12 +/* Moved to rpcdecp (duplicate definition). 13 + typedef void *I_RPC_HANDLE; 14 + alias long RPC_STATUS; 15 + // Moved to rpcdce: 16 + RpcImpersonateClient 17 + RpcRevertToSelf 18 +*/ 19 + 20 +public import win32.unknwn; 21 +public import win32.rpcdce; // also pulls in rpcdcep 22 +public import win32.rpcnsi; 23 +public import win32.rpcnterr; 24 +public import win32.winerror; 25 + 26 +alias MIDL_user_allocate midl_user_allocate; 27 +alias MIDL_user_free midl_user_free; 28 + 29 +extern (Windows) { 30 + int I_RpcMapWin32Status(RPC_STATUS); 31 +}

Added src/win32/rpcdce.d version [ed6eabc89b35f750]

1 +/***********************************************************************\ 2 +* rpcdce.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.rpcdce; 11 +pragma(lib, "Rpcrt4.lib"); 12 + 13 +// TODO: I think MinGW got this wrong. RPC_UNICODE_SUPPORTED should be 14 +// replaced aliases for version(Unicode) 15 + 16 +public import win32.rpcdcep; 17 +private import win32.basetyps, win32.w32api, win32.windef; 18 + 19 +// FIXME: clean up Windows version support 20 + 21 +alias UUID uuid_t; 22 +alias UUID_VECTOR uuid_vector_t; 23 +alias void RPC_MGR_EPV; 24 + 25 +// for RpcMgmtSetComTimeout() 26 +enum : uint { 27 + RPC_C_BINDING_MIN_TIMEOUT = 0, 28 + RPC_C_BINDING_DEFAULT_TIMEOUT = 5, 29 + RPC_C_BINDING_MAX_TIMEOUT = 9, 30 + RPC_C_BINDING_INFINITE_TIMEOUT = 10 31 +} 32 + 33 +const RPC_C_CANCEL_INFINITE_TIMEOUT= -1; 34 +const RPC_C_LISTEN_MAX_CALLS_DEFAULT=1234; 35 +const RPC_C_PROTSEQ_MAX_REQS_DEFAULT=10; 36 +const RPC_C_BIND_TO_ALL_NICS=1; 37 +const RPC_C_USE_INTERNET_PORT=1; 38 +const RPC_C_USE_INTRANET_PORT=2; 39 + 40 +// for RPC_STATS_VECTOR, used by RpcMgmyInqStats 41 +enum : uint { 42 + RPC_C_STATS_CALLS_IN = 0, 43 + RPC_C_STATS_CALLS_OUT, 44 + RPC_C_STATS_PKTS_IN, 45 + RPC_C_STATS_PKTS_OUT 46 +} 47 + 48 +const RPC_IF_AUTOLISTEN=0x0001; 49 +const RPC_IF_OLE=2; 50 +const RPC_C_MGMT_INQ_IF_IDS=0; 51 +const RPC_C_MGMT_INQ_PRINC_NAME=1; 52 +const RPC_C_MGMT_INQ_STATS=2; 53 +const RPC_C_MGMT_IS_SERVER_LISTEN=3; 54 +const RPC_C_MGMT_STOP_SERVER_LISTEN=4; 55 + 56 +// Inquiry Type for RpcMgmtEpEltInqBegin() 57 +enum : uint { 58 + RPC_C_EP_ALL_ELTS = 0, 59 + RPC_C_EP_MATCH_BY_IF, 60 + RPC_C_EP_MATCH_BY_OBJ, 61 + RPC_C_EP_MATCH_BY_BOTH 62 +} 63 + 64 +// for RpcMgmtEpEltInqNext() 65 +enum : uint { 66 + RPC_C_VERS_ALL = 1, 67 + RPC_C_VERS_COMPATIBLE, 68 + RPC_C_VERS_EXACT, 69 + RPC_C_VERS_MAJOR_ONLY, 70 + RPC_C_VERS_UPTO 71 +} 72 + 73 +const DCE_C_ERROR_STRING_LEN=256; 74 +const RPC_C_PARM_MAX_PACKET_LENGTH=1; 75 +const RPC_C_PARM_BUFFER_LENGTH=2; 76 +const RPC_C_AUTHN_LEVEL_DEFAULT=0; 77 +const RPC_C_AUTHN_LEVEL_NONE=1; 78 +const RPC_C_AUTHN_LEVEL_CONNECT=2; 79 +const RPC_C_AUTHN_LEVEL_CALL=3; 80 +const RPC_C_AUTHN_LEVEL_PKT=4; 81 +const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY=5; 82 +const RPC_C_AUTHN_LEVEL_PKT_PRIVACY=6; 83 +const RPC_C_IMP_LEVEL_ANONYMOUS=1; 84 +const RPC_C_IMP_LEVEL_IDENTIFY=2; 85 +const RPC_C_IMP_LEVEL_IMPERSONATE=3; 86 +const RPC_C_IMP_LEVEL_DELEGATE=4; 87 +const RPC_C_QOS_IDENTITY_STATIC=0; 88 +const RPC_C_QOS_IDENTITY_DYNAMIC=1; 89 +const RPC_C_QOS_CAPABILITIES_DEFAULT=0; 90 +const RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH=1; 91 + 92 +// These enums were buggy in MinGW ! 93 +const RPC_C_PROTECT_LEVEL_DEFAULT = RPC_C_AUTHN_LEVEL_DEFAULT; 94 +const RPC_C_PROTECT_LEVEL_NONE = RPC_C_AUTHN_LEVEL_NONE; 95 +const RPC_C_PROTECT_LEVEL_CONNECT = RPC_C_AUTHN_LEVEL_CONNECT; 96 +const RPC_C_PROTECT_LEVEL_CALL = RPC_C_AUTHN_LEVEL_CALL; 97 +const RPC_C_PROTECT_LEVEL_PKT = RPC_C_AUTHN_LEVEL_PKT; 98 +const RPC_C_PROTECT_LEVEL_PKT_INTEGRITY = RPC_C_AUTHN_LEVEL_PKT_INTEGRITY; 99 +const RPC_C_PROTECT_LEVEL_PKT_PRIVACY = RPC_C_AUTHN_LEVEL_PKT_PRIVACY; 100 + 101 +const RPC_C_AUTHN_NONE=0; 102 +const RPC_C_AUTHN_DCE_PRIVATE=1; 103 +const RPC_C_AUTHN_DCE_PUBLIC=2; 104 +const RPC_C_AUTHN_DEC_PUBLIC=4; 105 +const RPC_C_AUTHN_WINNT=10; 106 +const RPC_C_AUTHN_DEFAULT=0xFFFFFFFF; 107 +//const RPC_C_SECURITY_QOS_VERSION=L; // FIXME(MinGW): This is nonsense! 108 +const SEC_WINNT_AUTH_IDENTITY_ANSI=0x1; 109 +const SEC_WINNT_AUTH_IDENTITY_UNICODE=0x2; 110 +const RPC_C_AUTHZ_NONE=0; 111 +const RPC_C_AUTHZ_NAME=1; 112 +const RPC_C_AUTHZ_DCE=2; 113 +const RPC_C_AUTHZ_DEFAULT=0xFFFFFFFF; 114 + 115 +alias I_RPC_HANDLE RPC_BINDING_HANDLE; 116 +alias RPC_BINDING_HANDLE handle_t; 117 + 118 +struct RPC_BINDING_VECTOR { 119 + uint Count; 120 + RPC_BINDING_HANDLE BindingH[1]; 121 +} 122 + 123 +alias RPC_BINDING_HANDLE rpc_binding_handle_t; 124 +alias RPC_BINDING_VECTOR rpc_binding_vector_t; 125 + 126 + 127 +struct UUID_VECTOR { 128 + uint Count; 129 + UUID* Uuid[1]; 130 +} 131 + 132 +alias void* RPC_IF_HANDLE; 133 + 134 +struct RPC_IF_ID { 135 + UUID Uuid; 136 + ushort VersMajor; 137 + ushort VersMinor; 138 +} 139 + 140 +struct RPC_POLICY { 141 + uint Length; 142 + uint EndpointFlags; 143 + uint NICFlags; 144 +} 145 +alias RPC_POLICY* PRPC_POLICY; 146 + 147 +extern (Windows) { 148 + alias void function(UUID*, UUID*, RPC_STATUS*) RPC_OBJECT_INQ_FN; 149 + alias RPC_STATUS function(RPC_IF_HANDLE, void*) RPC_IF_CALLBACK_FN; 150 +} 151 + 152 +struct RPC_STATS_VECTOR { 153 + uint Count; 154 + uint[1] Stats; 155 +} 156 + 157 +struct RPC_IF_ID_VECTOR { 158 + uint Count; 159 + RPC_IF_ID*[1] IfId; 160 +} 161 +alias HANDLE RPC_AUTH_IDENTITY_HANDLE, RPC_AUTHZ_HANDLE; 162 + 163 +struct RPC_SECURITY_QOS { 164 + uint Version; 165 + uint Capabilities; 166 + uint IdentityTracking; 167 + uint ImpersonationType; 168 +} 169 +alias RPC_SECURITY_QOS* PRPC_SECURITY_QOS; 170 + 171 +struct SEC_WINNT_AUTH_IDENTITY_W { 172 + ushort* User; 173 + uint UserLength; 174 + ushort* Domain; 175 + uint DomainLength; 176 + ushort* Password; 177 + uint PasswordLength; 178 + uint Flags; 179 +} 180 +alias SEC_WINNT_AUTH_IDENTITY_W* PSEC_WINNT_AUTH_IDENTITY_W; 181 + 182 +struct SEC_WINNT_AUTH_IDENTITY_A { 183 + ubyte* User; 184 + uint UserLength; 185 + ubyte* Domain; 186 + uint DomainLength; 187 + ubyte* Password; 188 + uint PasswordLength; 189 + uint Flags; 190 +} 191 +alias SEC_WINNT_AUTH_IDENTITY_A* PSEC_WINNT_AUTH_IDENTITY_A; 192 + 193 +struct RPC_CLIENT_INFORMATION1 { 194 + ubyte* UserName; 195 + ubyte* ComputerName; 196 + ushort Privilege; 197 + uint AuthFlags; 198 +} 199 +alias RPC_CLIENT_INFORMATION1* PRPC_CLIENT_INFORMATION1; 200 +alias I_RPC_HANDLE* RPC_EP_INQ_HANDLE; 201 +extern (Windows) { 202 + alias int function(RPC_BINDING_HANDLE, uint, RPC_STATUS*) RPC_MGMT_AUTHORIZATION_FN; 203 +} 204 + 205 +static if(_WIN32_WINNT_ONLY) { 206 + 207 + struct RPC_PROTSEQ_VECTORA { 208 + uint Count; 209 + ubyte*[1] Protseq; 210 + } 211 + 212 + struct RPC_PROTSEQ_VECTORW { 213 + uint Count; 214 + ushort*[1] Protseq; 215 + } 216 + 217 + extern (Windows) { 218 + RPC_STATUS RpcBindingFromStringBindingA(char*, RPC_BINDING_HANDLE*); 219 + RPC_STATUS RpcBindingFromStringBindingW(wchar*, RPC_BINDING_HANDLE*); 220 + RPC_STATUS RpcBindingToStringBindingA(RPC_BINDING_HANDLE, char**); 221 + RPC_STATUS RpcBindingToStringBindingW(RPC_BINDING_HANDLE, wchar**); 222 + RPC_STATUS RpcStringBindingComposeA(char*, char*, char*, char*, char*, char**); 223 + RPC_STATUS RpcStringBindingComposeW(wchar*, wchar*, wchar*, wchar*, wchar*, wchar**); 224 + RPC_STATUS RpcStringBindingParseA(char*, char**, char**, char**, char**, char**); 225 + RPC_STATUS RpcStringBindingParseW(wchar*, wchar**, wchar**, wchar**, wchar**, wchar**); 226 + RPC_STATUS RpcStringFreeA(char**); 227 + RPC_STATUS RpcStringFreeW(wchar**); 228 + RPC_STATUS RpcNetworkIsProtseqValidA(char*); 229 + RPC_STATUS RpcNetworkIsProtseqValidW(wchar*); 230 + RPC_STATUS RpcNetworkInqProtseqsA(RPC_PROTSEQ_VECTORA**); 231 + RPC_STATUS RpcNetworkInqProtseqsW(RPC_PROTSEQ_VECTORW**); 232 + RPC_STATUS RpcProtseqVectorFreeA(RPC_PROTSEQ_VECTORA**); 233 + RPC_STATUS RpcProtseqVectorFreeW(RPC_PROTSEQ_VECTORW**); 234 + RPC_STATUS RpcServerUseProtseqA(char*, uint, void*); 235 + RPC_STATUS RpcServerUseProtseqW(wchar*, uint, void*); 236 + RPC_STATUS RpcServerUseProtseqExA(char*, uint MaxCalls, void*, PRPC_POLICY); 237 + RPC_STATUS RpcServerUseProtseqExW(wchar*, uint, void*, PRPC_POLICY); 238 + RPC_STATUS RpcServerUseProtseqEpA(char*, uint, char*, void*); 239 + RPC_STATUS RpcServerUseProtseqEpExA(char*, uint, char*, void*, PRPC_POLICY); 240 + RPC_STATUS RpcServerUseProtseqEpW(wchar*, uint, wchar*, void*); 241 + RPC_STATUS RpcServerUseProtseqEpExW(wchar*, uint, wchar*, void*, PRPC_POLICY); 242 + RPC_STATUS RpcServerUseProtseqIfA(char*, uint, RPC_IF_HANDLE, void*); 243 + RPC_STATUS RpcServerUseProtseqIfExA(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 244 + RPC_STATUS RpcServerUseProtseqIfW(wchar*, uint, RPC_IF_HANDLE, void*); 245 + RPC_STATUS RpcServerUseProtseqIfExW(wchar*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 246 + RPC_STATUS RpcMgmtInqServerPrincNameA(RPC_BINDING_HANDLE, uint, char**); 247 + RPC_STATUS RpcMgmtInqServerPrincNameW(RPC_BINDING_HANDLE, uint, wchar**); 248 + RPC_STATUS RpcServerInqDefaultPrincNameA(uint, char**); 249 + RPC_STATUS RpcServerInqDefaultPrincNameW(uint, wchar**); 250 + RPC_STATUS RpcNsBindingInqEntryNameA(RPC_BINDING_HANDLE, uint, char**); 251 + RPC_STATUS RpcNsBindingInqEntryNameW(RPC_BINDING_HANDLE, uint, wchar**); 252 + RPC_STATUS RpcBindingInqAuthClientA(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*); 253 + RPC_STATUS RpcBindingInqAuthClientW(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, wchar**, uint*, uint*, uint*); 254 + RPC_STATUS RpcBindingInqAuthInfoA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 255 + RPC_STATUS RpcBindingInqAuthInfoW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 256 + RPC_STATUS RpcBindingSetAuthInfoA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 257 + RPC_STATUS RpcBindingSetAuthInfoExA(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*); 258 + RPC_STATUS RpcBindingSetAuthInfoW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 259 + RPC_STATUS RpcBindingSetAuthInfoExW(RPC_BINDING_HANDLE, wchar*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint, RPC_SECURITY_QOS*); 260 + RPC_STATUS RpcBindingInqAuthInfoExA(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*); 261 + RPC_STATUS RpcBindingInqAuthInfoExW(RPC_BINDING_HANDLE, wchar**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*, uint, RPC_SECURITY_QOS*); 262 + alias void function(void*, wchar*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN; 263 + RPC_STATUS RpcServerRegisterAuthInfoA(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 264 + RPC_STATUS RpcServerRegisterAuthInfoW(wchar*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 265 + RPC_STATUS UuidToStringA(UUID*, char**); 266 + RPC_STATUS UuidFromStringA(char*, UUID*); 267 + RPC_STATUS UuidToStringW(UUID*, wchar**); 268 + RPC_STATUS UuidFromStringW(wchar*, UUID*); 269 + RPC_STATUS RpcEpRegisterNoReplaceA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 270 + RPC_STATUS RpcEpRegisterNoReplaceW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*); 271 + RPC_STATUS RpcEpRegisterA(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 272 + RPC_STATUS RpcEpRegisterW(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, wchar*); 273 + RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*); 274 + RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*); 275 + RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, char**); 276 + RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, UUID*, wchar**); 277 + 278 + // MinGW erroneously had these in rpc.h 279 + RPC_STATUS RpcImpersonateClient(RPC_BINDING_HANDLE); 280 + RPC_STATUS RpcRevertToSelf(); 281 + } 282 + 283 + version(Unicode) { 284 + alias RPC_PROTSEQ_VECTORW RPC_PROTSEQ_VECTOR; 285 + alias SEC_WINNT_AUTH_IDENTITY_W SEC_WINNT_AUTH_IDENTITY; 286 + alias PSEC_WINNT_AUTH_IDENTITY_W PSEC_WINNT_AUTH_IDENTITY; 287 + alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext; 288 + alias RpcBindingFromStringBindingW RpcBindingFromStringBinding; 289 + alias RpcBindingToStringBindingW RpcBindingToStringBinding; 290 + alias RpcStringBindingComposeW RpcStringBindingCompose; 291 + alias RpcStringBindingParseW RpcStringBindingParse; 292 + alias RpcStringFreeW RpcStringFree; 293 + alias RpcNetworkIsProtseqValidW RpcNetworkIsProtseqValid; 294 + alias RpcNetworkInqProtseqsW RpcNetworkInqProtseqs; 295 + alias RpcProtseqVectorFreeW RpcProtseqVectorFree; 296 + alias RpcServerUseProtseqW RpcServerUseProtseq; 297 + alias RpcServerUseProtseqExW RpcServerUseProtseqEx; 298 + alias RpcServerUseProtseqEpW RpcServerUseProtseqEp; 299 + alias RpcServerUseProtseqEpExW RpcServerUseProtseqEpEx; 300 + alias RpcServerUseProtseqIfW RpcServerUseProtseqIf; 301 + alias RpcServerUseProtseqIfExW RpcServerUseProtseqIfEx; 302 + alias RpcMgmtInqServerPrincNameW RpcMgmtInqServerPrincName; 303 + alias RpcServerInqDefaultPrincNameW RpcServerInqDefaultPrincName; 304 + alias RpcNsBindingInqEntryNameW RpcNsBindingInqEntryName; 305 + alias RpcBindingInqAuthClientW RpcBindingInqAuthClient; 306 + alias RpcBindingInqAuthInfoW RpcBindingInqAuthInfo; 307 + alias RpcBindingSetAuthInfoW RpcBindingSetAuthInfo; 308 + alias RpcServerRegisterAuthInfoW RpcServerRegisterAuthInfo; 309 + alias RpcBindingInqAuthInfoExW RpcBindingInqAuthInfoEx; 310 + alias RpcBindingSetAuthInfoExW RpcBindingSetAuthInfoEx; 311 + alias UuidFromStringW UuidFromString; 312 + alias UuidToStringW UuidToString; 313 + alias RpcEpRegisterNoReplaceW RpcEpRegisterNoReplace; 314 + alias RpcEpRegisterW RpcEpRegister; 315 + alias DceErrorInqTextW DceErrorInqText; 316 + } else { // Ansi 317 + alias RPC_PROTSEQ_VECTORA RPC_PROTSEQ_VECTOR; 318 + alias SEC_WINNT_AUTH_IDENTITY_A SEC_WINNT_AUTH_IDENTITY; 319 + alias PSEC_WINNT_AUTH_IDENTITY_A PSEC_WINNT_AUTH_IDENTITY; 320 + alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext; 321 + alias RpcBindingFromStringBindingA RpcBindingFromStringBinding; 322 + alias RpcBindingToStringBindingA RpcBindingToStringBinding; 323 + alias RpcStringBindingComposeA RpcStringBindingCompose; 324 + alias RpcStringBindingParseA RpcStringBindingParse; 325 + alias RpcStringFreeA RpcStringFree; 326 + alias RpcNetworkIsProtseqValidA RpcNetworkIsProtseqValid; 327 + alias RpcNetworkInqProtseqsA RpcNetworkInqProtseqs; 328 + alias RpcProtseqVectorFreeA RpcProtseqVectorFree; 329 + alias RpcServerUseProtseqA RpcServerUseProtseq; 330 + alias RpcServerUseProtseqExA RpcServerUseProtseqEx; 331 + alias RpcServerUseProtseqEpA RpcServerUseProtseqEp; 332 + alias RpcServerUseProtseqEpExA RpcServerUseProtseqEpEx; 333 + alias RpcServerUseProtseqIfA RpcServerUseProtseqIf; 334 + alias RpcServerUseProtseqIfExA RpcServerUseProtseqIfEx; 335 + alias RpcMgmtInqServerPrincNameA RpcMgmtInqServerPrincName; 336 + alias RpcServerInqDefaultPrincNameA RpcServerInqDefaultPrincName; 337 + alias RpcNsBindingInqEntryNameA RpcNsBindingInqEntryName; 338 + alias RpcBindingInqAuthClientA RpcBindingInqAuthClient; 339 + alias RpcBindingInqAuthInfoA RpcBindingInqAuthInfo; 340 + alias RpcBindingSetAuthInfoA RpcBindingSetAuthInfo; 341 + alias RpcServerRegisterAuthInfoA RpcServerRegisterAuthInfo; 342 + alias RpcBindingInqAuthInfoExA RpcBindingInqAuthInfoEx; 343 + alias RpcBindingSetAuthInfoExA RpcBindingSetAuthInfoEx; 344 + alias UuidFromStringA UuidFromString; 345 + alias UuidToStringA UuidToString; 346 + alias RpcEpRegisterNoReplaceA RpcEpRegisterNoReplace; 347 + alias RpcEpRegisterA RpcEpRegister; 348 + alias DceErrorInqTextA DceErrorInqText; 349 + } //#endif // UNICODE 350 + 351 +} else { // _WIN32_WINNT_ONLY 352 + 353 + struct RPC_PROTSEQ_VECTOR { 354 + uint Count; 355 + ubyte* Protseq[1]; 356 + } 357 + // versions without Unicode. 358 + RPC_STATUS RpcBindingFromStringBinding(char*, RPC_BINDING_HANDLE*); 359 + RPC_STATUS RpcBindingToStringBinding(RPC_BINDING_HANDLE, char**); 360 + RPC_STATUS RpcStringBindingCompose(char*, char*, char*, char*, char*, char**); 361 + RPC_STATUS RpcStringBindingParse(char*, char**, char**, char**, char**, char**); 362 + RPC_STATUS RpcStringFree(char**); 363 + RPC_STATUS RpcNetworkIsProtseqValid(char*); 364 + RPC_STATUS RpcNetworkInqProtseqs(RPC_PROTSEQ_VECTOR**); 365 + RPC_STATUS RpcServerInqBindings(RPC_BINDING_VECTOR**); 366 + RPC_STATUS RpcServerUseProtseq(char*, uint, void*); 367 + RPC_STATUS RpcServerUseProtseqEx(char*, uint, void*, PRPC_POLICY); 368 + RPC_STATUS RpcServerUseProtseqEp(char*, uint, char*, void*); 369 + RPC_STATUS RpcServerUseProtseqEpEx(char*, uint, char*, void*, PRPC_POLICY); 370 + RPC_STATUS RpcServerUseProtseqIf(char*, uint, RPC_IF_HANDLE, void*); 371 + RPC_STATUS RpcServerUseProtseqIfEx(char*, uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 372 + RPC_STATUS RpcMgmtInqServerPrincName(RPC_BINDING_HANDLE, uint, char**); 373 + RPC_STATUS RpcServerInqDefaultPrincName(uint, char**); 374 + RPC_STATUS RpcNsBindingInqEntryName(RPC_BINDING_HANDLE, uint, char**); 375 + RPC_STATUS RpcBindingInqAuthClient(RPC_BINDING_HANDLE, RPC_AUTHZ_HANDLE*, char**, uint*, uint*, uint*); 376 + RPC_STATUS RpcBindingInqAuthInfo(RPC_BINDING_HANDLE, char**, uint*, uint*, RPC_AUTH_IDENTITY_HANDLE*, uint*); 377 + RPC_STATUS RpcBindingSetAuthInfo(RPC_BINDING_HANDLE, char*, uint, uint, RPC_AUTH_IDENTITY_HANDLE, uint); 378 + alias void function(void*, char*, uint, void**, RPC_STATUS*) RPC_AUTH_KEY_RETRIEVAL_FN; 379 + RPC_STATUS RpcServerRegisterAuthInfo(char*, uint, RPC_AUTH_KEY_RETRIEVAL_FN, void*); 380 + RPC_STATUS UuidToString(UUID*, char**); 381 + RPC_STATUS UuidFromString(char*, UUID*); 382 + RPC_STATUS RpcEpRegisterNoReplace(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 383 + RPC_STATUS RpcEpRegister(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*, char*); 384 + RPC_STATUS DceErrorInqText(RPC_STATUS, char*); 385 + RPC_STATUS RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE*, char**); 386 +}// _WIN32_WINNT_ONLY 387 + 388 + 389 +RPC_STATUS RpcBindingCopy(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*); 390 +RPC_STATUS RpcBindingFree(RPC_BINDING_HANDLE*); 391 +RPC_STATUS RpcBindingInqObject(RPC_BINDING_HANDLE, UUID*); 392 +RPC_STATUS RpcBindingReset(RPC_BINDING_HANDLE); 393 +RPC_STATUS RpcBindingSetObject(RPC_BINDING_HANDLE, UUID*); 394 +RPC_STATUS RpcMgmtInqDefaultProtectLevel(uint, uint*); 395 +RPC_STATUS RpcBindingVectorFree(RPC_BINDING_VECTOR**); 396 +RPC_STATUS RpcIfInqId(RPC_IF_HANDLE, RPC_IF_ID*); 397 +RPC_STATUS RpcMgmtInqComTimeout(RPC_BINDING_HANDLE, uint*); 398 +RPC_STATUS RpcMgmtSetComTimeout(RPC_BINDING_HANDLE, uint); 399 +RPC_STATUS RpcMgmtSetCancelTimeout(int Timeout); 400 +RPC_STATUS RpcObjectInqType(UUID*, UUID*); 401 +RPC_STATUS RpcObjectSetInqFn(RPC_OBJECT_INQ_FN*); 402 +RPC_STATUS RpcObjectSetType(UUID*, UUID*); 403 +RPC_STATUS RpcProtseqVectorFree(RPC_PROTSEQ_VECTOR**); 404 +RPC_STATUS RpcServerInqIf(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV**); 405 +RPC_STATUS RpcServerListen(uint, uint, uint); 406 +RPC_STATUS RpcServerRegisterIf(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*); 407 +RPC_STATUS RpcServerRegisterIfEx(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*, uint, uint, RPC_IF_CALLBACK_FN*); 408 +RPC_STATUS RpcServerRegisterIf2(RPC_IF_HANDLE, UUID*, RPC_MGR_EPV*, uint, uint, uint, RPC_IF_CALLBACK_FN*); 409 +RPC_STATUS RpcServerUnregisterIf(RPC_IF_HANDLE, UUID*, uint); 410 +RPC_STATUS RpcServerUseAllProtseqs(uint, void*); 411 +RPC_STATUS RpcServerUseAllProtseqsEx(uint, void*, PRPC_POLICY); 412 +RPC_STATUS RpcServerUseAllProtseqsIf(uint, RPC_IF_HANDLE, void*); 413 +RPC_STATUS RpcServerUseAllProtseqsIfEx(uint, RPC_IF_HANDLE, void*, PRPC_POLICY); 414 +RPC_STATUS RpcMgmtStatsVectorFree(RPC_STATS_VECTOR**); 415 +RPC_STATUS RpcMgmtInqStats(RPC_BINDING_HANDLE, RPC_STATS_VECTOR**); 416 +RPC_STATUS RpcMgmtIsServerListening(RPC_BINDING_HANDLE); 417 +RPC_STATUS RpcMgmtStopServerListening(RPC_BINDING_HANDLE); 418 +RPC_STATUS RpcMgmtWaitServerListen(); 419 +RPC_STATUS RpcMgmtSetServerStackSize(uint); 420 +void RpcSsDontSerializeContext(); 421 +RPC_STATUS RpcMgmtEnableIdleCleanup(); 422 +RPC_STATUS RpcMgmtInqIfIds(RPC_BINDING_HANDLE, RPC_IF_ID_VECTOR**); 423 +RPC_STATUS RpcIfIdVectorFree(RPC_IF_ID_VECTOR**); 424 +RPC_STATUS RpcEpResolveBinding(RPC_BINDING_HANDLE, RPC_IF_HANDLE); 425 +RPC_STATUS RpcBindingServerFromClient(RPC_BINDING_HANDLE, RPC_BINDING_HANDLE*); 426 + 427 +// never returns 428 +void RpcRaiseException(RPC_STATUS); 429 +RPC_STATUS RpcTestCancel(); 430 +RPC_STATUS RpcCancelThread(void*); 431 +RPC_STATUS UuidCreate(UUID*); 432 +int UuidCompare(UUID*, UUID*, RPC_STATUS*); 433 +RPC_STATUS UuidCreateNil(UUID*); 434 +int UuidEqual(UUID*, UUID*, RPC_STATUS*); 435 +ushort UuidHash(UUID*, RPC_STATUS*); 436 +int UuidIsNil(UUID*, RPC_STATUS*); 437 +RPC_STATUS RpcEpUnregister(RPC_IF_HANDLE, RPC_BINDING_VECTOR*, UUID_VECTOR*); 438 +RPC_STATUS RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE, uint, RPC_IF_ID*, uint, UUID*, RPC_EP_INQ_HANDLE*); 439 +RPC_STATUS RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*); 440 +RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*, RPC_BINDING_HANDLE, UUID*); 441 +RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN); 442 +RPC_STATUS RpcMgmtInqParameter(uint, uint*); 443 +RPC_STATUS RpcMgmtSetParameter(uint, uint); 444 +RPC_STATUS RpcMgmtBindingInqParameter(RPC_BINDING_HANDLE, uint, uint*); 445 +RPC_STATUS RpcMgmtBindingSetParameter(RPC_BINDING_HANDLE, uint, uint); 446 + 447 +static if (_WIN32_WINNT >= 0x0500) { 448 + RPC_STATUS UuidCreateSequential(UUID*); 449 +}

Added src/win32/rpcdce2.d version [d3ce7b71ab1b6ffb]

1 +/***********************************************************************\ 2 +* rpcdce2.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.rpcdce2; 11 + 12 +import win32.rpcdce; 13 +private import win32.basetyps; 14 + 15 +// FIXME: deal with RPC_UNICODE_SUPPORTED 16 +// FIXME: check types of constants 17 + 18 +enum { 19 + RPC_C_EP_ALL_ELTS, 20 + RPC_C_EP_MATCH_BY_IF, 21 + RPC_C_EP_MATCH_BY_OBJ, 22 + RPC_C_EP_MATCH_BY_BOTH 23 +} 24 + 25 +enum { 26 + RPC_C_VERS_ALL = 1, 27 + RPC_C_VERS_COMPATIBLE, 28 + RPC_C_VERS_EXACT, 29 + RPC_C_VERS_MAJOR_ONLY, 30 + RPC_C_VERS_UPTO 31 +} 32 + 33 +const size_t DCE_C_ERROR_STRING_LEN = 256; 34 + 35 +enum { 36 + RPC_C_MGMT_INQ_IF_IDS, 37 + RPC_C_MGMT_INQ_PRINC_NAME, 38 + RPC_C_MGMT_INQ_STATS, 39 + RPC_C_MGMT_IS_SERVER_LISTEN, 40 + RPC_C_MGMT_STOP_SERVER_LISTEN 41 +} 42 + 43 +extern (Windows) { 44 + int UuidCompare(UUID*, UUID*, RPC_STATUS*); 45 + RPC_STATUS UuidCreateNil(UUID*); 46 + int UuidEqual(UUID*, UUID*, RPC_STATUS*); 47 + ushort UuidHash(UUID*, RPC_STATUS*); 48 + int UuidIsNil(UUID*, RPC_STATUS*); 49 + 50 + RPC_STATUS RpcMgmtEpEltInqBegin(RPC_BINDING_HANDLE, uint, RPC_IF_ID*, 51 + uint, UUID*, RPC_EP_INQ_HANDLE*); 52 + RPC_STATUS RpcMgmtEpEltInqDone(RPC_EP_INQ_HANDLE*); 53 + RPC_STATUS RpcMgmtEpUnregister(RPC_BINDING_HANDLE, RPC_IF_ID*, 54 + RPC_BINDING_HANDLE, UUID*); 55 + RPC_STATUS RpcMgmtSetAuthorizationFn(RPC_MGMT_AUTHORIZATION_FN); 56 +} 57 + 58 + 59 +//#ifdef RPC_UNICODE_SUPPORTED 60 +RPC_STATUS DceErrorInqTextA(RPC_STATUS, char*); 61 +RPC_STATUS DceErrorInqTextW(RPC_STATUS, wchar*); 62 +RPC_STATUS RpcMgmtEpEltInqNextA(RPC_EP_INQ_HANDLE, RPC_IF_ID*, 63 + RPC_BINDING_HANDLE*, UUID*, char**); 64 +RPC_STATUS RpcMgmtEpEltInqNextW(RPC_EP_INQ_HANDLE, RPC_IF_ID*, 65 + RPC_BINDING_HANDLE*, UUID*, wchar**); 66 +version (Unicode) { 67 + alias RpcMgmtEpEltInqNextW RpcMgmtEpEltInqNext; 68 + alias DceErrorInqTextW DceErrorInqText; 69 +} else { 70 + alias RpcMgmtEpEltInqNextA RpcMgmtEpEltInqNext; 71 + alias DceErrorInqTextA DceErrorInqText; 72 +} 73 +/+ 74 +#else /* RPC_UNICODE_SUPPORTED */ 75 + RPC_STATUS RPC_ENTRY DceErrorInqText(RPC_STATUS,unsigned char*); 76 + RPC_STATUS RPC_ENTRY RpcMgmtEpEltInqNext(RPC_EP_INQ_HANDLE,RPC_IF_ID*,RPC_BINDING_HANDLE*,UUID*,unsigned char**); 77 +#endif 78 ++/

Added src/win32/rpcdcep.d version [fac68aa535f8bb3c]

1 +/***********************************************************************\ 2 +* rpcdcep.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.rpcdcep; 11 + 12 +private import win32.basetyps; 13 +private import win32.w32api; 14 +private import win32.windef; 15 + 16 +alias HANDLE I_RPC_HANDLE; 17 +alias long RPC_STATUS; 18 + 19 +const RPC_NCA_FLAGS_DEFAULT=0; 20 +const RPC_NCA_FLAGS_IDEMPOTENT=1; 21 +const RPC_NCA_FLAGS_BROADCAST=2; 22 +const RPC_NCA_FLAGS_MAYBE=4; 23 +const RPCFLG_ASYNCHRONOUS=0x40000000; 24 +const RPCFLG_INPUT_SYNCHRONOUS=0x20000000; 25 +const RPC_FLAGS_VALID_BIT=0x8000; 26 + 27 +const TRANSPORT_TYPE_CN=1; 28 +const TRANSPORT_TYPE_DG=2; 29 +const TRANSPORT_TYPE_LPC=4; 30 +const TRANSPORT_TYPE_WMSG=8; 31 + 32 +struct RPC_VERSION { 33 + ushort MajorVersion; 34 + ushort MinorVersion; 35 +} 36 +struct RPC_SYNTAX_IDENTIFIER { 37 + GUID SyntaxGUID; 38 + RPC_VERSION SyntaxVersion; 39 +} 40 +alias RPC_SYNTAX_IDENTIFIER* PRPC_SYNTAX_IDENTIFIER; 41 + 42 +struct RPC_MESSAGE { 43 + HANDLE Handle; 44 + uint DataRepresentation; 45 + void* Buffer; 46 + uint BufferLength; 47 + uint ProcNum; 48 + PRPC_SYNTAX_IDENTIFIER TransferSyntax; 49 + void* RpcInterfaceInformation; 50 + void* ReservedForRuntime; 51 + void* ManagerEpv; 52 + void* ImportContext; 53 + uint RpcFlags; 54 +} 55 +alias RPC_MESSAGE* PRPC_MESSAGE; 56 + 57 +extern (Windows) { 58 +alias void function (PRPC_MESSAGE Message) RPC_DISPATCH_FUNCTION; 59 +} 60 + 61 +struct RPC_DISPATCH_TABLE { 62 + uint DispatchTableCount; 63 + RPC_DISPATCH_FUNCTION* DispatchTable; 64 + int Reserved; 65 +} 66 +alias RPC_DISPATCH_TABLE* PRPC_DISPATCH_TABLE; 67 + 68 +struct RPC_PROTSEQ_ENDPOINT { 69 + ubyte* RpcProtocolSequence; 70 + ubyte* Endpoint; 71 +} 72 +alias RPC_PROTSEQ_ENDPOINT* PRPC_PROTSEQ_ENDPOINT; 73 + 74 +struct RPC_SERVER_INTERFACE { 75 + uint Length; 76 + RPC_SYNTAX_IDENTIFIER InterfaceId; 77 + RPC_SYNTAX_IDENTIFIER TransferSyntax; 78 + PRPC_DISPATCH_TABLE DispatchTable; 79 + uint RpcProtseqEndpointCount; 80 + PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; 81 + void* DefaultManagerEpv; 82 + CPtr!(void) InterpreterInfo; 83 +} 84 +alias RPC_SERVER_INTERFACE* PRPC_SERVER_INTERFACE; 85 + 86 +struct RPC_CLIENT_INTERFACE { 87 + uint Length; 88 + RPC_SYNTAX_IDENTIFIER InterfaceId; 89 + RPC_SYNTAX_IDENTIFIER TransferSyntax; 90 + PRPC_DISPATCH_TABLE DispatchTable; 91 + uint RpcProtseqEndpointCount; 92 + PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; 93 + uint Reserved; 94 + CPtr!(void) InterpreterInfo; 95 +} 96 +alias RPC_CLIENT_INTERFACE* PRPC_CLIENT_INTERFACE; 97 + 98 +alias void* I_RPC_MUTEX; 99 + 100 +struct RPC_TRANSFER_SYNTAX { 101 + GUID Uuid; 102 + ushort VersMajor; 103 + ushort VersMinor; 104 +} 105 +alias RPC_STATUS function(void*, void*, void*) RPC_BLOCKING_FN; 106 + 107 +extern (Windows) { 108 + alias void function(void*) PRPC_RUNDOWN; 109 + 110 + int I_RpcGetBuffer(RPC_MESSAGE*); 111 + int I_RpcSendReceive(RPC_MESSAGE*); 112 + int I_RpcSend(RPC_MESSAGE*); 113 + int I_RpcFreeBuffer(RPC_MESSAGE*); 114 + void I_RpcRequestMutex(I_RPC_MUTEX*); 115 + void I_RpcClearMutex(I_RPC_MUTEX); 116 + void I_RpcDeleteMutex(I_RPC_MUTEX); 117 + void* I_RpcAllocate(uint); 118 + void I_RpcFree(void*); 119 + void I_RpcPauseExecution(uint); 120 + int I_RpcMonitorAssociation(HANDLE, PRPC_RUNDOWN, void*); 121 + int I_RpcStopMonitorAssociation(HANDLE); 122 + HANDLE I_RpcGetCurrentCallHandle(); 123 + int I_RpcGetAssociationContext(void**); 124 + int I_RpcSetAssociationContext(void*); 125 + 126 + static if (_WIN32_WINNT_ONLY) { 127 + int I_RpcNsBindingSetEntryName(HANDLE, uint, wchar*); 128 + int I_RpcBindingInqDynamicEndpoint(HANDLE, wchar**); 129 + } else { 130 + int I_RpcNsBindingSetEntryName(HANDLE, uint, char*); 131 + int I_RpcBindingInqDynamicEndpoint(HANDLE, char**); 132 + } 133 + 134 + int I_RpcBindingInqTransportType(HANDLE, uint*); 135 + int I_RpcIfInqTransferSyntaxes(HANDLE, RPC_TRANSFER_SYNTAX*, uint, 136 + uint*); 137 + int I_UuidCreate(GUID*); 138 + int I_RpcBindingCopy(HANDLE, HANDLE*); 139 + int I_RpcBindingIsClientLocal(HANDLE, uint*); 140 + void I_RpcSsDontSerializeContext(); 141 + int I_RpcServerRegisterForwardFunction(int function (GUID*, 142 + RPC_VERSION*, GUID*, ubyte*, void**)); 143 + int I_RpcConnectionInqSockBuffSize(uint*, uint*); 144 + int I_RpcConnectionSetSockBuffSize(uint, uint); 145 + int I_RpcBindingSetAsync(HANDLE, RPC_BLOCKING_FN); 146 + int I_RpcAsyncSendReceive(RPC_MESSAGE*, void*); 147 + int I_RpcGetThreadWindowHandle(void**); 148 + int I_RpcServerThreadPauseListening(); 149 + int I_RpcServerThreadContinueListening(); 150 + int I_RpcServerUnregisterEndpointA(ubyte*, ubyte*); 151 + int I_RpcServerUnregisterEndpointW(ushort*, ushort*); 152 +} 153 + 154 +version(Unicode) { 155 + alias I_RpcServerUnregisterEndpointW I_RpcServerUnregisterEndpoint; 156 +} else { 157 + alias I_RpcServerUnregisterEndpointA I_RpcServerUnregisterEndpoint; 158 +}

Added src/win32/rpcndr.d version [8b8a4b41425c59e6]

1 +/***********************************************************************\ 2 +* rpcndr.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.rpcndr; 11 +pragma(lib, "rpcrt4.lib"); 12 + 13 +/* Translation notes: 14 + RPC_CLIENT_ALLOC*, RPC_CLIENT_FREE* were replaced with PRPC_CLIENT_ALLOC, PRPC_CLIENT_FREE 15 +*/ 16 + 17 +// TODO: Bitfields in MIDL_STUB_MESSAGE. 18 +// Macros need to be converted. 19 +const __RPCNDR_H_VERSION__= 450; 20 + 21 +import win32.rpcnsip; 22 +private import win32.rpc, win32.rpcdce, win32.unknwn, win32.windef; 23 +private import win32.objidl; // for IRpcChannelBuffer, IRpcStubBuffer 24 +private import win32.basetyps; 25 + 26 +extern (Windows): 27 + 28 +const uint NDR_CHAR_REP_MASK = 0xF, 29 + NDR_INT_REP_MASK = 0xF0, 30 + NDR_FLOAT_REP_MASK = 0xFF00, 31 + NDR_LITTLE_ENDIAN = 0x10, 32 + NDR_BIG_ENDIAN = 0, 33 + NDR_IEEE_FLOAT = 0, 34 + NDR_VAX_FLOAT = 0x100, 35 + NDR_ASCII_CHAR = 0, 36 + NDR_EBCDIC_CHAR = 1, 37 + NDR_LOCAL_DATA_REPRESENTATION = 0x10, 38 + NDR_LOCAL_ENDIAN = NDR_LITTLE_ENDIAN; 39 + 40 +alias MIDL_user_allocate midl_user_allocate; 41 +alias MIDL_user_free midl_user_free; 42 + 43 +alias long hyper; 44 +alias ulong MIDL_uhyper; 45 +alias char small; 46 + 47 +const cbNDRContext=20; 48 +//MACRO #define NDRSContextValue(hContext) (&(hContext)->userContext) 49 +//MACRO #define byte_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; } 50 + 51 +//MACRO #define byte_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); } 52 + 53 +//MACRO #define boolean_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; } 54 + 55 +//MACRO #define boolean_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); } 56 + 57 +//MACRO #define small_from_ndr(source, target) { *(target) = *(*(char**)&(source)->Buffer)++; } 58 + 59 +//MACRO #define small_from_ndr_temp(source, target, format) { *(target) = *(*(char**)(source))++; } 60 + 61 +//MACRO #define small_array_from_ndr(Source, LowerIndex, UpperIndex, Target) { NDRcopy ((((char *)(Target))+(LowerIndex)), (Source)->Buffer, (unsigned int)((UpperIndex)-(LowerIndex))); *(unsigned long *)&(Source)->Buffer += ((UpperIndex)-(LowerIndex)); } 62 + 63 +//MACRO #define MIDL_ascii_strlen(string) strlen(string) 64 + 65 +//MACRO #define MIDL_ascii_strcpy(target,source) strcpy(target,source) 66 + 67 +//MACRO #define MIDL_memset(s,c,n) memset(s,c,n) 68 + 69 +//MACRO #define _midl_ma1( p, cast ) *(*( cast **)&p)++ 70 +//MACRO #define _midl_ma2( p, cast ) *(*( cast **)&p)++ 71 +//MACRO #define _midl_ma4( p, cast ) *(*( cast **)&p)++ 72 +//MACRO #define _midl_ma8( p, cast ) *(*( cast **)&p)++ 73 +//MACRO #define _midl_unma1( p, cast ) *(( cast *)p)++ 74 +//MACRO #define _midl_unma2( p, cast ) *(( cast *)p)++ 75 +//MACRO #define _midl_unma3( p, cast ) *(( cast *)p)++ 76 +//MACRO #define _midl_unma4( p, cast ) *(( cast *)p)++ 77 +//MACRO #define _midl_fa2( p ) (p = (RPC_BUFPTR )((unsigned long)(p+1) & 0xfffffffe)) 78 +//MACRO #define _midl_fa4( p ) (p = (RPC_BUFPTR )((unsigned long)(p+3) & 0xfffffffc)) 79 +//MACRO #define _midl_fa8( p ) (p = (RPC_BUFPTR )((unsigned long)(p+7) & 0xfffffff8)) 80 +//MACRO #define _midl_addp( p, n ) (p += n) 81 +//MACRO #define _midl_marsh_lhs( p, cast ) *(*( cast **)&p)++ 82 +//MACRO #define _midl_marsh_up( mp, p ) *(*(unsigned long **)&mp)++ = (unsigned long)p 83 +//MACRO #define _midl_advmp( mp ) *(*(unsigned long **)&mp)++ 84 +//MACRO #define _midl_unmarsh_up( p ) (*(*(unsigned long **)&p)++) 85 + 86 +//MACRO #define NdrMarshConfStringHdr( p, s, l ) (_midl_ma4( p, unsigned long) = s, _midl_ma4( p, unsigned long) = 0, _midl_ma4( p, unsigned long) = l) 87 + 88 +//MACRO #define NdrUnMarshConfStringHdr(p, s, l) ((s=_midl_unma4(p,unsigned long), (_midl_addp(p,4)), (l=_midl_unma4(p,unsigned long)) 89 + 90 +//MACRO #define NdrMarshCCtxtHdl(pc,p) (NDRCContextMarshall( (NDR_CCONTEXT)pc, p ),p+20) 91 +//MACRO #define NdrUnMarshCCtxtHdl(pc,p,h,drep) (NDRCContextUnmarshall((NDR_CONTEXT)pc,h,p,drep), p+20) 92 +//MACRO #define NdrUnMarshSCtxtHdl(pc, p,drep) (pc = NdrSContextUnMarshall(p,drep )) 93 +//MACRO #define NdrMarshSCtxtHdl(pc,p,rd) (NdrSContextMarshall((NDR_SCONTEXT)pc,p, (NDR_RUNDOWN)rd) 94 + 95 +//MACRO #define NdrFieldOffset(s,f) (long)(& (((s *)0)->f)) 96 +//MACRO #define NdrFieldPad(s,f,p,t) (NdrFieldOffset(s,f) - NdrFieldOffset(s,p) - sizeof(t)) 97 +//MACRO #define NdrFcShort(s) (unsigned char)(s & 0xff), (unsigned char)(s >> 8) 98 +//MACRO #define NdrFcLong(s) (unsigned char)(s & 0xff), (unsigned char)((s & 0x0000ff00) >> 8), (unsigned char)((s & 0x00ff0000) >> 16), (unsigned char)(s >> 24) 99 + 100 +alias void * NDR_CCONTEXT; 101 +struct tagNDR_SCONTEXT { 102 + void *pad[2]; 103 + void *userContext; 104 +} 105 +alias tagNDR_SCONTEXT * NDR_SCONTEXT; 106 + 107 +struct SCONTEXT_QUEUE { 108 + uint NumberOfObjects; 109 + NDR_SCONTEXT *ArrayOfObjects; 110 +} 111 +alias SCONTEXT_QUEUE * PSCONTEXT_QUEUE; 112 + 113 +struct _MIDL_STUB_MESSAGE; 114 +struct _MIDL_STUB_DESC; 115 +struct _FULL_PTR_XLAT_TABLES; 116 + 117 +alias ubyte *RPC_BUFPTR; 118 +alias uint RPC_LENGTH; 119 + 120 +alias CPtr!(char) PFORMAT_STRING; 121 + 122 +struct ARRAY_INFO { 123 + int Dimension; 124 + uint *BufferConformanceMark; 125 + uint *BufferVarianceMark; 126 + uint *MaxCountArray; 127 + uint *OffsetArray; 128 + uint *ActualCountArray; 129 +} 130 +alias ARRAY_INFO * PARRAY_INFO; 131 + 132 +RPC_BINDING_HANDLE NDRCContextBinding(NDR_CCONTEXT); 133 +void NDRCContextMarshall(NDR_CCONTEXT,void*); 134 +void NDRCContextUnmarshall(NDR_CCONTEXT*,RPC_BINDING_HANDLE,void*,uint); 135 +void NDRSContextMarshall(NDR_SCONTEXT,void*,NDR_RUNDOWN); 136 +NDR_SCONTEXT NDRSContextUnmarshall(void*pBuff,uint); 137 +void RpcSsDestroyClientContext(void**); 138 +void NDRcopy(void*,void*,uint); 139 +uint MIDL_wchar_strlen(wchar *); 140 +void MIDL_wchar_strcpy(void*,wchar *); 141 +void char_from_ndr(PRPC_MESSAGE,ubyte*); 142 +void char_array_from_ndr(PRPC_MESSAGE,uint,uint,ubyte*); 143 +void short_from_ndr(PRPC_MESSAGE,ushort*); 144 +void short_array_from_ndr(PRPC_MESSAGE,uint,uint,ushort*); 145 +void short_from_ndr_temp(ubyte**,ushort*,uint); 146 +void int_from_ndr(PRPC_MESSAGE,uint*); 147 +void int_array_from_ndr(PRPC_MESSAGE,uint,uint,uint*); 148 +void int_from_ndr_temp(ubyte**,uint*,uint); 149 +void enum_from_ndr(PRPC_MESSAGE,uint*); 150 +void float_from_ndr(PRPC_MESSAGE,void*); 151 +void float_array_from_ndr(PRPC_MESSAGE,uint,uint,void*); 152 +void double_from_ndr(PRPC_MESSAGE,void*); 153 +void double_array_from_ndr(PRPC_MESSAGE,uint,uint,void*); 154 +void hyper_from_ndr(PRPC_MESSAGE,hyper*); 155 +void hyper_array_from_ndr(PRPC_MESSAGE,uint,uint,hyper*); 156 +void hyper_from_ndr_temp(ubyte**,hyper*,uint); 157 +void data_from_ndr(PRPC_MESSAGE,void*,char*,ubyte); 158 +void data_into_ndr(void*,PRPC_MESSAGE,char*,ubyte); 159 +void tree_into_ndr(void*,PRPC_MESSAGE,char*,ubyte); 160 +void data_size_ndr(void*,PRPC_MESSAGE,char*,ubyte); 161 +void tree_size_ndr(void*,PRPC_MESSAGE,char*,ubyte); 162 +void tree_peek_ndr(PRPC_MESSAGE,ubyte**,char*,ubyte); 163 +void * midl_allocate(int); 164 + 165 +align(4): 166 +struct MIDL_STUB_MESSAGE { 167 + PRPC_MESSAGE RpcMsg; 168 + ubyte *Buffer; 169 + ubyte *BufferStart; 170 + ubyte *BufferEnd; 171 + ubyte *BufferMark; 172 + uint BufferLength; 173 + uint MemorySize; 174 + ubyte *Memory; 175 + int IsClient; 176 + int ReuseBuffer; 177 + ubyte *AllocAllNodesMemory; 178 + ubyte *AllocAllNodesMemoryEnd; 179 + int IgnoreEmbeddedPointers; 180 + ubyte *PointerBufferMark; 181 + ubyte fBufferValid; 182 + ubyte Unused; 183 + uint MaxCount; 184 + uint Offset; 185 + uint ActualCount; 186 + void* function (uint) pfnAllocate; 187 + void function (void*) pfnFree; 188 + ubyte * StackTop; 189 + ubyte * pPresentedType; 190 + ubyte * pTransmitType; 191 + handle_t SavedHandle; 192 + CPtr!(_MIDL_STUB_DESC) StubDesc; 193 + _FULL_PTR_XLAT_TABLES *FullPtrXlatTables; 194 + uint FullPtrRefId; 195 + int fCheckBounds; 196 + // FIXME: 197 + byte bit_fields_for_D; // FIXME: Bitfields 198 +// int fInDontFree :1; 199 +// int fDontCallFreeInst :1; 200 +// int fInOnlyParam :1; 201 +// int fHasReturn :1; 202 + uint dwDestContext; 203 + void* pvDestContext; 204 + NDR_SCONTEXT * SavedContextHandles; 205 + int ParamNumber; 206 + IRpcChannelBuffer * pRpcChannelBuffer; 207 + PARRAY_INFO pArrayInfo; 208 + uint * SizePtrCountArray; 209 + uint * SizePtrOffsetArray; 210 + uint * SizePtrLengthArray; 211 + void* pArgQueue; 212 + uint dwStubPhase; 213 + uint w2kReserved[5]; 214 +} 215 +alias MIDL_STUB_MESSAGE * PMIDL_STUB_MESSAGE; 216 + 217 +extern (Windows) { 218 + alias void* function (void*) GENERIC_BINDING_ROUTINE; 219 + alias void function (void*,ubyte*) GENERIC_UNBIND_ROUTINE; 220 + alias uint function (uint *,uint,void *) USER_MARSHAL_SIZING_ROUTINE; 221 + alias ubyte * function (uint *,ubyte *,void *) USER_MARSHAL_MARSHALLING_ROUTINE; 222 + alias ubyte * function (uint *,ubyte *,void *) USER_MARSHAL_UNMARSHALLING_ROUTINE; 223 + alias void function (uint *,void *) USER_MARSHAL_FREEING_ROUTINE; 224 + alias void function () NDR_NOTIFY_ROUTINE; 225 +} 226 + 227 +align: 228 +struct GENERIC_BINDING_ROUTINE_PAIR { 229 + GENERIC_BINDING_ROUTINE pfnBind; 230 + GENERIC_UNBIND_ROUTINE pfnUnbind; 231 +} 232 +alias GENERIC_BINDING_ROUTINE_PAIR * PGENERIC_BINDING_ROUTINE_PAIR; 233 + 234 +struct GENERIC_BINDING_INFO { 235 + void *pObj; 236 + uint Size; 237 + GENERIC_BINDING_ROUTINE pfnBind; 238 + GENERIC_UNBIND_ROUTINE pfnUnbind; 239 +} 240 +alias GENERIC_BINDING_INFO * PGENERIC_BINDING_INFO; 241 + 242 + 243 +struct XMIT_ROUTINE_QUINTUPLE { 244 + XMIT_HELPER_ROUTINE pfnTranslateToXmit; 245 + XMIT_HELPER_ROUTINE pfnTranslateFromXmit; 246 + XMIT_HELPER_ROUTINE pfnFreeXmit; 247 + XMIT_HELPER_ROUTINE pfnFreeInst; 248 +} 249 +alias XMIT_ROUTINE_QUINTUPLE * PXMIT_ROUTINE_QUINTUPLE; 250 + 251 +struct MALLOC_FREE_STRUCT { 252 + void* function (uint) pfnAllocate; 253 + void function (void*) pfnFree; 254 +} 255 + 256 +struct COMM_FAULT_OFFSETS { 257 + short CommOffset; 258 + short FaultOffset; 259 +} 260 + 261 +struct USER_MARSHAL_ROUTINE_QUADRUPLE { 262 + USER_MARSHAL_SIZING_ROUTINE pfnBufferSize; 263 + USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall; 264 + USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall; 265 + USER_MARSHAL_FREEING_ROUTINE pfnFree; 266 +} 267 + 268 +enum IDL_CS_CONVERT { 269 + IDL_CS_NO_CONVERT, 270 + IDL_CS_IN_PLACE_CONVERT, 271 + IDL_CS_NEW_BUFFER_CONVERT 272 +} 273 + 274 +struct NDR_CS_SIZE_CONVERT_ROUTINES { 275 + CS_TYPE_NET_SIZE_ROUTINE pfnNetSize; 276 + CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs; 277 + CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize; 278 + CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs; 279 +} 280 + 281 +struct NDR_CS_ROUTINES { 282 + NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines; 283 + CS_TAG_GETTING_ROUTINE *pTagGettingRoutines; 284 +} 285 + 286 +struct MIDL_STUB_DESC { 287 + void* RpcInterfaceInformation; 288 + void* function(uint) pfnAllocate; 289 + void function (void*) pfnFree; 290 + union _IMPLICIT_HANDLE_INFO { 291 + handle_t *pAutoHandle; 292 + handle_t *pPrimitiveHandle; 293 + PGENERIC_BINDING_INFO pGenericBindingInfo; 294 + } 295 + _IMPLICIT_HANDLE_INFO IMPLICIT_HANDLE_INFO; 296 + CPtr!(NDR_RUNDOWN) apfnNdrRundownRoutines; 297 + CPtr!(GENERIC_BINDING_ROUTINE_PAIR) aGenericBindingRoutinePairs; 298 + CPtr!(EXPR_EVAL) apfnExprEval; 299 + CPtr!(XMIT_ROUTINE_QUINTUPLE) aXmitQuintuple; 300 + CPtr!(char) *pFormatTypes; 301 + int fCheckBounds; 302 + uint Version; 303 + MALLOC_FREE_STRUCT *pMallocFreeStruct; 304 + int MIDLVersion; 305 + CPtr!(COMM_FAULT_OFFSETS) CommFaultOffsets; 306 + CPtr!(USER_MARSHAL_ROUTINE_QUADRUPLE) aUserMarshalQuadruple; 307 + CPtr!(NDR_NOTIFY_ROUTINE) NotifyRoutineTable; 308 + ULONG_PTR mFlags; 309 + CPtr!(NDR_CS_ROUTINES) CsRoutineTables; 310 + void *Reserved4; 311 + ULONG_PTR Reserved5; 312 +} 313 +alias CPtr!(MIDL_STUB_DESC) PMIDL_STUB_DESC; 314 + 315 +alias void * PMIDL_XMIT_TYPE; 316 + 317 +struct MIDL_FORMAT_STRING { 318 + short Pad; 319 + ubyte Format[1]; 320 +} 321 + 322 +struct MIDL_SERVER_INFO { 323 + PMIDL_STUB_DESC pStubDesc; 324 + CPtr!(SERVER_ROUTINE) DispatchTable; 325 + PFORMAT_STRING ProcString; 326 + CPtr!(ushort) FmtStringOffset; 327 + CPtr!(STUB_THUNK) ThunkTable; 328 +} 329 +alias MIDL_SERVER_INFO * PMIDL_SERVER_INFO; 330 + 331 +struct MIDL_STUBLESS_PROXY_INFO { 332 + PMIDL_STUB_DESC pStubDesc; 333 + PFORMAT_STRING ProcFormatString; 334 + CPtr!(ushort) FormatStringOffset; 335 +} 336 +alias MIDL_STUBLESS_PROXY_INFO *PMIDL_STUBLESS_PROXY_INFO; 337 + 338 +union CLIENT_CALL_RETURN { 339 + void *Pointer; 340 + int Simple; 341 +} 342 + 343 +enum XLAT_SIDE { 344 + XLAT_SERVER = 1, 345 + XLAT_CLIENT 346 +} 347 +struct FULL_PTR_TO_REFID_ELEMENT { 348 + FULL_PTR_TO_REFID_ELEMENT * Next; 349 + void* Pointer; 350 + uint RefId; 351 + ubyte State; 352 +} 353 +alias FULL_PTR_TO_REFID_ELEMENT * PFULL_PTR_TO_REFID_ELEMENT; 354 + 355 +struct FULL_PTR_XLAT_TABLES { 356 + struct RefIdToPointer { 357 + void **XlatTable; 358 + ubyte *StateTable; 359 + uint NumberOfEntries; 360 + } 361 + struct PointerToRefId { 362 + PFULL_PTR_TO_REFID_ELEMENT *XlatTable; 363 + uint NumberOfBuckets; 364 + uint HashMask; 365 + } 366 + uint NextRefId; 367 + XLAT_SIDE XlatSide; 368 +} 369 +alias FULL_PTR_XLAT_TABLES * PFULL_PTR_XLAT_TABLES; 370 + 371 + 372 +enum STUB_PHASE { 373 + STUB_UNMARSHAL, 374 + STUB_CALL_SERVER, 375 + STUB_MARSHAL, 376 + STUB_CALL_SERVER_NO_HRESULT 377 +} 378 + 379 +enum PROXY_PHASE { 380 + PROXY_CALCSIZE, 381 + PROXY_GETBUFFER, 382 + PROXY_MARSHAL, 383 + PROXY_SENDRECEIVE, 384 + PROXY_UNMARSHAL 385 +} 386 + 387 +alias void * RPC_SS_THREAD_HANDLE; 388 + 389 +extern (Windows) { 390 +alias void function (void*) NDR_RUNDOWN; 391 +alias void function (_MIDL_STUB_MESSAGE*) EXPR_EVAL; 392 +alias void function(PMIDL_STUB_MESSAGE) XMIT_HELPER_ROUTINE; 393 +alias void function (RPC_BINDING_HANDLE,uint,uint,IDL_CS_CONVERT*,uint*,error_status_t*) CS_TYPE_NET_SIZE_ROUTINE; 394 +alias void function (RPC_BINDING_HANDLE,uint,uint,IDL_CS_CONVERT*,uint*,error_status_t*) CS_TYPE_LOCAL_SIZE_ROUTINE; 395 +alias void function (RPC_BINDING_HANDLE,uint,void*,uint,byte*,uint*,error_status_t*) CS_TYPE_TO_NETCS_ROUTINE; 396 +alias void function (RPC_BINDING_HANDLE,uint,byte*,uint,uint,void*,uint*,error_status_t*) CS_TYPE_FROM_NETCS_ROUTINE; 397 +alias void function (RPC_BINDING_HANDLE,int,uint*,uint*,uint*,error_status_t*) CS_TAG_GETTING_ROUTINE; 398 + 399 +//alias void* RPC_CLIENT_ALLOC(uint); 400 +//alias void RPC_CLIENT_FREE(void*); 401 +alias void* function(uint) PRPC_CLIENT_ALLOC; 402 +alias void function(void*) PRPC_CLIENT_FREE; 403 + 404 + alias void function (PMIDL_STUB_MESSAGE) STUB_THUNK; 405 + alias int function() SERVER_ROUTINE; 406 +} 407 + 408 +void NdrSimpleTypeMarshall(PMIDL_STUB_MESSAGE,ubyte*,ubyte); 409 +ubyte * NdrPointerMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING pFormat); 410 +ubyte * NdrSimpleStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 411 +ubyte * NdrConformantStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 412 +ubyte * NdrConformantVaryingStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 413 +ubyte * NdrHardStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 414 +ubyte * NdrComplexStructMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 415 +ubyte * NdrFixedArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 416 +ubyte * NdrConformantArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 417 +ubyte * NdrConformantVaryingArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 418 +ubyte * NdrVaryingArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 419 +ubyte * NdrComplexArrayMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 420 +ubyte * NdrNonConformantStringMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 421 +ubyte * NdrConformantStringMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 422 +ubyte * NdrEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 423 +ubyte * NdrNonEncapsulatedUnionMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 424 +ubyte * NdrByteCountPointerMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 425 +ubyte * NdrXmitOrRepAsMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 426 +ubyte * NdrInterfacePointerMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 427 +void NdrClientContextMarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT,int); 428 +void NdrServerContextMarshall(PMIDL_STUB_MESSAGE,NDR_SCONTEXT,NDR_RUNDOWN); 429 +void NdrSimpleTypeUnmarshall(PMIDL_STUB_MESSAGE,ubyte*,ubyte); 430 +ubyte * NdrPointerUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 431 +ubyte * NdrSimpleStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 432 +ubyte * NdrConformantStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 433 +ubyte * NdrConformantVaryingStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 434 +ubyte * NdrHardStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 435 +ubyte * NdrComplexStructUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 436 +ubyte * NdrFixedArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 437 +ubyte * NdrConformantArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 438 +ubyte * NdrConformantVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 439 +ubyte * NdrVaryingArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 440 +ubyte * NdrComplexArrayUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 441 +ubyte * NdrNonConformantStringUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 442 +ubyte * NdrConformantStringUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 443 +ubyte * NdrEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 444 +ubyte * NdrNonEncapsulatedUnionUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 445 +ubyte * NdrByteCountPointerUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 446 +ubyte * NdrXmitOrRepAsUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 447 +ubyte * NdrInterfacePointerUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 448 +void NdrClientContextUnmarshall(PMIDL_STUB_MESSAGE,NDR_CCONTEXT*,RPC_BINDING_HANDLE); 449 +NDR_SCONTEXT NdrServerContextUnmarshall(PMIDL_STUB_MESSAGE); 450 +void NdrPointerBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 451 +void NdrSimpleStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 452 +void NdrConformantStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 453 +void NdrConformantVaryingStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 454 +void NdrHardStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 455 +void NdrComplexStructBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 456 +void NdrFixedArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 457 +void NdrConformantArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 458 +void NdrConformantVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 459 +void NdrVaryingArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 460 +void NdrComplexArrayBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 461 +void NdrConformantStringBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 462 +void NdrNonConformantStringBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 463 +void NdrEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 464 +void NdrNonEncapsulatedUnionBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 465 +void NdrByteCountPointerBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 466 +void NdrXmitOrRepAsBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 467 +void NdrInterfacePointerBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 468 +void NdrContextHandleSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 469 +uint NdrPointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 470 +uint NdrSimpleStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 471 +uint NdrConformantStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 472 +uint NdrConformantVaryingStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 473 +uint NdrHardStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 474 +uint NdrComplexStructMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 475 +uint NdrFixedArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 476 +uint NdrConformantArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 477 +uint NdrConformantVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 478 +uint NdrVaryingArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 479 +uint NdrComplexArrayMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 480 +uint NdrConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 481 +uint NdrNonConformantStringMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 482 +uint NdrEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 483 +uint NdrNonEncapsulatedUnionMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 484 +uint NdrXmitOrRepAsMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 485 +uint NdrInterfacePointerMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 486 +void NdrPointerFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 487 +void NdrSimpleStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 488 +void NdrConformantStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 489 +void NdrConformantVaryingStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 490 +void NdrHardStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 491 +void NdrComplexStructFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 492 +void NdrFixedArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 493 +void NdrConformantArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 494 +void NdrConformantVaryingArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 495 +void NdrVaryingArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 496 +void NdrComplexArrayFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 497 +void NdrEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 498 +void NdrNonEncapsulatedUnionFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 499 +void NdrByteCountPointerFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 500 +void NdrXmitOrRepAsFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 501 +void NdrInterfacePointerFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 502 +void NdrConvert(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 503 +void NdrClientInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,uint); 504 +ubyte * NdrServerInitializeNew(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC); 505 +void NdrClientInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,uint); 506 +ubyte * NdrServerInitialize(PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC); 507 +ubyte * NdrServerInitializeUnmarshall(PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PRPC_MESSAGE); 508 +void NdrServerInitializeMarshall(PRPC_MESSAGE,PMIDL_STUB_MESSAGE); 509 +ubyte * NdrGetBuffer(PMIDL_STUB_MESSAGE,uint,RPC_BINDING_HANDLE); 510 +ubyte * NdrNsGetBuffer(PMIDL_STUB_MESSAGE,uint,RPC_BINDING_HANDLE); 511 +ubyte * NdrSendReceive(PMIDL_STUB_MESSAGE,ubyte*); 512 +ubyte * NdrNsSendReceive(PMIDL_STUB_MESSAGE,ubyte*,RPC_BINDING_HANDLE*); 513 +void NdrFreeBuffer(PMIDL_STUB_MESSAGE); 514 + 515 +CLIENT_CALL_RETURN NdrClientCall(PMIDL_STUB_DESC,PFORMAT_STRING,...); 516 + 517 +int NdrStubCall(IRpcStubBuffer*, IRpcChannelBuffer*,PRPC_MESSAGE,uint*); 518 +void NdrServerCall(PRPC_MESSAGE); 519 +int NdrServerUnmarshall(IRpcChannelBuffer*, PRPC_MESSAGE,PMIDL_STUB_MESSAGE,PMIDL_STUB_DESC,PFORMAT_STRING,void*); 520 +void NdrServerMarshall(IRpcStubBuffer*, IRpcChannelBuffer*,PMIDL_STUB_MESSAGE,PFORMAT_STRING); 521 +RPC_STATUS NdrMapCommAndFaultStatus(PMIDL_STUB_MESSAGE,uint*,uint*,RPC_STATUS); 522 +int NdrSH_UPDecision(PMIDL_STUB_MESSAGE,ubyte**,RPC_BUFPTR); 523 +int NdrSH_TLUPDecision(PMIDL_STUB_MESSAGE,ubyte**); 524 +int NdrSH_TLUPDecisionBuffer(PMIDL_STUB_MESSAGE,ubyte**); 525 +int NdrSH_IfAlloc(PMIDL_STUB_MESSAGE,ubyte**,uint); 526 +int NdrSH_IfAllocRef(PMIDL_STUB_MESSAGE,ubyte**,uint); 527 +int NdrSH_IfAllocSet(PMIDL_STUB_MESSAGE,ubyte**,uint); 528 +RPC_BUFPTR NdrSH_IfCopy(PMIDL_STUB_MESSAGE,ubyte**,uint); 529 +RPC_BUFPTR NdrSH_IfAllocCopy(PMIDL_STUB_MESSAGE,ubyte**,uint); 530 +uint NdrSH_Copy(ubyte*,ubyte*,uint); 531 +void NdrSH_IfFree(PMIDL_STUB_MESSAGE,ubyte*); 532 +RPC_BUFPTR NdrSH_StringMarshall(PMIDL_STUB_MESSAGE,ubyte*,uint,int); 533 +RPC_BUFPTR NdrSH_StringUnMarshall(PMIDL_STUB_MESSAGE,ubyte**,int); 534 +void* RpcSsAllocate(uint); 535 +void RpcSsDisableAllocate(); 536 +void RpcSsEnableAllocate(); 537 +void RpcSsFree(void*); 538 +RPC_SS_THREAD_HANDLE RpcSsGetThreadHandle(); 539 +void RpcSsSetClientAllocFree(PRPC_CLIENT_ALLOC,PRPC_CLIENT_FREE); 540 +void RpcSsSetThreadHandle(RPC_SS_THREAD_HANDLE); 541 +void RpcSsSwapClientAllocFree(PRPC_CLIENT_ALLOC,PRPC_CLIENT_FREE,PRPC_CLIENT_ALLOC*,PRPC_CLIENT_FREE*); 542 +void* RpcSmAllocate(uint,RPC_STATUS*); 543 +RPC_STATUS RpcSmClientFree(void*); 544 +RPC_STATUS RpcSmDestroyClientContext(void**); 545 +RPC_STATUS RpcSmDisableAllocate(); 546 +RPC_STATUS RpcSmEnableAllocate(); 547 +RPC_STATUS RpcSmFree(void*); 548 +RPC_SS_THREAD_HANDLE RpcSmGetThreadHandle(RPC_STATUS*); 549 +RPC_STATUS RpcSmSetClientAllocFree(PRPC_CLIENT_ALLOC,PRPC_CLIENT_FREE); 550 +RPC_STATUS RpcSmSetThreadHandle(RPC_SS_THREAD_HANDLE); 551 +RPC_STATUS RpcSmSwapClientAllocFree(PRPC_CLIENT_ALLOC,PRPC_CLIENT_FREE,PRPC_CLIENT_ALLOC*,PRPC_CLIENT_FREE*); 552 +void NdrRpcSsEnableAllocate(PMIDL_STUB_MESSAGE); 553 +void NdrRpcSsDisableAllocate(PMIDL_STUB_MESSAGE); 554 +void NdrRpcSmSetClientToOsf(PMIDL_STUB_MESSAGE); 555 +void* NdrRpcSmClientAllocate(uint); 556 +void NdrRpcSmClientFree(void*); 557 +void* NdrRpcSsDefaultAllocate(uint); 558 +void NdrRpcSsDefaultFree(void*); 559 +PFULL_PTR_XLAT_TABLES NdrFullPointerXlatInit(uint,XLAT_SIDE); 560 +void NdrFullPointerXlatFree(PFULL_PTR_XLAT_TABLES); 561 +int NdrFullPointerQueryPointer(PFULL_PTR_XLAT_TABLES,void*,ubyte,uint*); 562 +int NdrFullPointerQueryRefId(PFULL_PTR_XLAT_TABLES,uint,ubyte,void**); 563 +void NdrFullPointerInsertRefId(PFULL_PTR_XLAT_TABLES,uint,void*); 564 +int NdrFullPointerFree(PFULL_PTR_XLAT_TABLES,void*); 565 +void* NdrAllocate(PMIDL_STUB_MESSAGE,uint); 566 +void NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*); 567 +void* NdrOleAllocate(uint); 568 +void NdrOleFree(void*); 569 +ubyte* NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 570 +ubyte* NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,ubyte**,PFORMAT_STRING,ubyte); 571 +void NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING); 572 +uint NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING); 573 +void NdrUserMarshalFree(PMIDL_STUB_MESSAGE,ubyte*,PFORMAT_STRING);

Added src/win32/rpcnsi.d version [3c5ab0849ccdf24f]

1 +/***********************************************************************\ 2 +* rpcnsi.d * 3 +* * 4 +* Windows API header module * 5 +* RPC Name Service (RpcNs APIs) * 6 +* * 7 +* Translated from MinGW Windows headers * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.rpcnsi; 12 +pragma(lib, "rpcns4.lib"); 13 + 14 +private import win32.basetyps, win32.rpcdcep, win32.rpcnsi, win32.rpcdce, 15 + win32.w32api; 16 +private import win32.windef; // for HANDLE 17 + 18 +alias HANDLE RPC_NS_HANDLE; 19 + 20 +const RPC_C_NS_SYNTAX_DEFAULT=0; 21 +const RPC_C_NS_SYNTAX_DCE=3; 22 +const RPC_C_PROFILE_DEFAULT_ELT=0; 23 +const RPC_C_PROFILE_ALL_ELT=1; 24 +const RPC_C_PROFILE_MATCH_BY_IF=2; 25 +const RPC_C_PROFILE_MATCH_BY_MBR=3; 26 +const RPC_C_PROFILE_MATCH_BY_BOTH=4; 27 +const RPC_C_NS_DEFAULT_EXP_AGE=-1; 28 + 29 +extern (Windows) { 30 + RPC_STATUS RpcNsBindingExportA(uint, ubyte*, RPC_IF_HANDLE, 31 + RPC_BINDING_VECTOR*, UUID_VECTOR*); 32 + RPC_STATUS RpcNsBindingUnexportA(uint, ubyte*, RPC_IF_HANDLE, 33 + UUID_VECTOR*); 34 + RPC_STATUS RpcNsBindingLookupBeginA(uint, ubyte*, RPC_IF_HANDLE, UUID*, 35 + uint, RPC_NS_HANDLE*); 36 + RPC_STATUS RpcNsBindingLookupNext(RPC_NS_HANDLE, RPC_BINDING_VECTOR**); 37 + RPC_STATUS RpcNsBindingLookupDone(RPC_NS_HANDLE*); 38 + RPC_STATUS RpcNsGroupDeleteA(uint, ubyte*); 39 + RPC_STATUS RpcNsGroupMbrAddA(uint, ubyte*, uint, ubyte*); 40 + RPC_STATUS RpcNsGroupMbrRemoveA(uint, ubyte*, uint, ubyte*); 41 + RPC_STATUS RpcNsGroupMbrInqBeginA(uint, ubyte*, uint, RPC_NS_HANDLE*); 42 + RPC_STATUS RpcNsGroupMbrInqNextA(RPC_NS_HANDLE, ubyte**); 43 + RPC_STATUS RpcNsGroupMbrInqDone(RPC_NS_HANDLE*); 44 + RPC_STATUS RpcNsProfileDeleteA(uint, ubyte*); 45 + RPC_STATUS RpcNsProfileEltAddA(uint, ubyte*, RPC_IF_ID*, uint, ubyte*, 46 + uint, ubyte*); 47 + RPC_STATUS RpcNsProfileEltRemoveA(uint, ubyte*, RPC_IF_ID*, uint, ubyte*); 48 + RPC_STATUS RpcNsProfileEltInqBeginA(uint, ubyte*, uint, RPC_IF_ID*, uint, 49 + uint, ubyte*, RPC_NS_HANDLE*); 50 + RPC_STATUS RpcNsProfileEltInqNextA(RPC_NS_HANDLE, RPC_IF_ID*, ubyte**, 51 + uint*, ubyte**); 52 + RPC_STATUS RpcNsProfileEltInqDone(RPC_NS_HANDLE*); 53 + RPC_STATUS RpcNsEntryObjectInqNext(in RPC_NS_HANDLE, out UUID*); 54 + RPC_STATUS RpcNsEntryObjectInqDone(ref RPC_NS_HANDLE*); 55 + RPC_STATUS RpcNsEntryExpandNameA(uint, ubyte*, ubyte**); 56 + RPC_STATUS RpcNsMgmtBindingUnexportA(uint, ubyte*, RPC_IF_ID*, uint, 57 + UUID_VECTOR*); 58 + RPC_STATUS RpcNsMgmtEntryCreateA(uint, ubyte*); 59 + RPC_STATUS RpcNsMgmtEntryDeleteA(uint, ubyte*); 60 + RPC_STATUS RpcNsMgmtEntryInqIfIdsA(uint, ubyte*, RPC_IF_ID_VECTOR**); 61 + RPC_STATUS RpcNsMgmtHandleSetExpAge(RPC_NS_HANDLE, uint); 62 + RPC_STATUS RpcNsMgmtInqExpAge(uint*); 63 + RPC_STATUS RpcNsMgmtSetExpAge(uint); 64 + RPC_STATUS RpcNsBindingImportNext(RPC_NS_HANDLE, RPC_BINDING_HANDLE*); 65 + RPC_STATUS RpcNsBindingImportDone(RPC_NS_HANDLE*); 66 + RPC_STATUS RpcNsBindingSelect(RPC_BINDING_VECTOR*, RPC_BINDING_HANDLE*); 67 +} 68 + 69 +// For the cases where Win95, 98, ME have no _W versions, and we must alias to 70 +// _A even for version(Unicode). 71 + 72 +version (Unicode) { 73 + static if (_WIN32_WINNT_ONLY) { 74 + const bool _WIN32_USE_UNICODE = true; 75 + } else { 76 + const bool _WIN32_USE_UNICODE = false; 77 + } 78 +} else { 79 + const bool _WIN32_USE_UNICODE = false; 80 +} 81 + 82 +static if (!_WIN32_USE_UNICODE) { 83 + RPC_STATUS RpcNsEntryObjectInqBeginA(uint, ubyte*, RPC_NS_HANDLE*); 84 + RPC_STATUS RpcNsBindingImportBeginA(uint, ubyte*, RPC_IF_HANDLE, UUID*, 85 + RPC_NS_HANDLE*); 86 +} 87 + 88 +static if (_WIN32_WINNT_ONLY) { 89 + RPC_STATUS RpcNsBindingExportW(uint, ushort*, RPC_IF_HANDLE, 90 + RPC_BINDING_VECTOR*, UUID_VECTOR*); 91 + RPC_STATUS RpcNsBindingUnexportW(uint, ushort*, RPC_IF_HANDLE, 92 + UUID_VECTOR*); 93 + RPC_STATUS RpcNsBindingLookupBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*, 94 + uint, RPC_NS_HANDLE*); 95 + RPC_STATUS RpcNsGroupDeleteW(uint, ushort*); 96 + RPC_STATUS RpcNsGroupMbrAddW(uint, ushort*, uint, ushort*); 97 + RPC_STATUS RpcNsGroupMbrRemoveW(uint, ushort*, uint, ushort*); 98 + RPC_STATUS RpcNsGroupMbrInqBeginW(uint, ushort*, uint, RPC_NS_HANDLE*); 99 + RPC_STATUS RpcNsGroupMbrInqNextW(RPC_NS_HANDLE, ushort**); 100 + RPC_STATUS RpcNsProfileDeleteW(uint, ushort*); 101 + RPC_STATUS RpcNsProfileEltAddW(uint, ushort*, RPC_IF_ID*, uint, ushort*, 102 + uint, ushort*); 103 + RPC_STATUS RpcNsProfileEltRemoveW(uint, ushort*, RPC_IF_ID*, uint, 104 + ushort*); 105 + RPC_STATUS RpcNsProfileEltInqBeginW(uint, ushort*, uint, RPC_IF_ID*, 106 + uint, uint, ushort*, RPC_NS_HANDLE*); 107 + RPC_STATUS RpcNsProfileEltInqNextW(RPC_NS_HANDLE, RPC_IF_ID*, ushort**, 108 + uint*, ushort**); 109 + RPC_STATUS RpcNsEntryObjectInqBeginW(uint, ushort*, RPC_NS_HANDLE*); 110 + RPC_STATUS RpcNsEntryExpandNameW(uint, ushort*, ushort**); 111 + RPC_STATUS RpcNsMgmtBindingUnexportW(uint, ushort*, RPC_IF_ID*, uint, 112 + UUID_VECTOR*); 113 + RPC_STATUS RpcNsMgmtEntryCreateW(uint, ushort*); 114 + RPC_STATUS RpcNsMgmtEntryDeleteW(uint, ushort*); 115 + RPC_STATUS RpcNsMgmtEntryInqIfIdsW(uint, ushort , RPC_IF_ID_VECTOR**); 116 + RPC_STATUS RpcNsBindingImportBeginW(uint, ushort*, RPC_IF_HANDLE, UUID*, 117 + RPC_NS_HANDLE*); 118 +} // _WIN32_WINNT_ONLY 119 + 120 +static if (_WIN32_USE_UNICODE) { 121 + alias RpcNsBindingLookupBeginW RpcNsBindingLookupBegin; 122 + alias RpcNsBindingImportBeginW RpcNsBindingImportBegin; 123 + alias RpcNsBindingExportW RpcNsBindingExport; 124 + alias RpcNsBindingUnexportW RpcNsBindingUnexport; 125 + alias RpcNsGroupDeleteW RpcNsGroupDelete; 126 + alias RpcNsGroupMbrAddW RpcNsGroupMbrAdd; 127 + alias RpcNsGroupMbrRemoveW RpcNsGroupMbrRemove; 128 + alias RpcNsGroupMbrInqBeginW RpcNsGroupMbrInqBegin; 129 + alias RpcNsGroupMbrInqNextW RpcNsGroupMbrInqNext; 130 + alias RpcNsEntryExpandNameW RpcNsEntryExpandName; 131 + alias RpcNsEntryObjectInqBeginW RpcNsEntryObjectInqBegin; 132 + alias RpcNsMgmtBindingUnexportW RpcNsMgmtBindingUnexport; 133 + alias RpcNsMgmtEntryCreateW RpcNsMgmtEntryCreate; 134 + alias RpcNsMgmtEntryDeleteW RpcNsMgmtEntryDelete; 135 + alias RpcNsMgmtEntryInqIfIdsW RpcNsMgmtEntryInqIfIds; 136 + alias RpcNsProfileDeleteW RpcNsProfileDelete; 137 + alias RpcNsProfileEltAddW RpcNsProfileEltAdd; 138 + alias RpcNsProfileEltRemoveW RpcNsProfileEltRemove; 139 + alias RpcNsProfileEltInqBeginW RpcNsProfileEltInqBegin; 140 + alias RpcNsProfileEltInqNextW RpcNsProfileEltInqNext; 141 +} else { 142 + alias RpcNsBindingLookupBeginA RpcNsBindingLookupBegin; 143 + alias RpcNsBindingImportBeginA RpcNsBindingImportBegin; 144 + alias RpcNsBindingExportA RpcNsBindingExport; 145 + alias RpcNsBindingUnexportA RpcNsBindingUnexport; 146 + alias RpcNsGroupDeleteA RpcNsGroupDelete; 147 + alias RpcNsGroupMbrAddA RpcNsGroupMbrAdd; 148 + alias RpcNsGroupMbrRemoveA RpcNsGroupMbrRemove; 149 + alias RpcNsGroupMbrInqBeginA RpcNsGroupMbrInqBegin; 150 + alias RpcNsGroupMbrInqNextA RpcNsGroupMbrInqNext; 151 + alias RpcNsEntryExpandNameA RpcNsEntryExpandName; 152 + alias RpcNsEntryObjectInqBeginA RpcNsEntryObjectInqBegin; 153 + alias RpcNsMgmtBindingUnexportA RpcNsMgmtBindingUnexport; 154 + alias RpcNsMgmtEntryCreateA RpcNsMgmtEntryCreate; 155 + alias RpcNsMgmtEntryDeleteA RpcNsMgmtEntryDelete; 156 + alias RpcNsMgmtEntryInqIfIdsA RpcNsMgmtEntryInqIfIds; 157 + alias RpcNsProfileDeleteA RpcNsProfileDelete; 158 + alias RpcNsProfileEltAddA RpcNsProfileEltAdd; 159 + alias RpcNsProfileEltRemoveA RpcNsProfileEltRemove; 160 + alias RpcNsProfileEltInqBeginA RpcNsProfileEltInqBegin; 161 + alias RpcNsProfileEltInqNextA RpcNsProfileEltInqNext; 162 +}

Added src/win32/rpcnsip.d version [a36abd154cf4e5b1]

1 +/***********************************************************************\ 2 +* rpcnsip.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.rpcnsip; 11 + 12 +private import win32.rpcdce, win32.rpcdcep, win32.rpcnsi; 13 + 14 +struct RPC_IMPORT_CONTEXT_P { 15 + RPC_NS_HANDLE LookupContext; 16 + RPC_BINDING_HANDLE ProposedHandle; 17 + RPC_BINDING_VECTOR* Bindings; 18 +} 19 +alias RPC_IMPORT_CONTEXT_P* PRPC_IMPORT_CONTEXT_P; 20 + 21 +extern(Windows) { 22 + RPC_STATUS I_RpcNsGetBuffer(PRPC_MESSAGE); 23 + RPC_STATUS I_RpcNsSendReceive(PRPC_MESSAGE, RPC_BINDING_HANDLE*); 24 + void I_RpcNsRaiseException(PRPC_MESSAGE, RPC_STATUS); 25 + RPC_STATUS I_RpcReBindBuffer(PRPC_MESSAGE); 26 + RPC_STATUS I_NsServerBindSearch(); 27 + RPC_STATUS I_NsClientBindSearch(); 28 + void I_NsClientBindDone(); 29 +}

Added src/win32/rpcnterr.d version [63a9f93c83055c7e]

1 +/***********************************************************************\ 2 +* rpcnterr.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.rpcnterr; 11 + 12 +import win32.winerror; 13 + 14 +enum : uint { 15 + RPC_S_OK = ERROR_SUCCESS, 16 + RPC_S_INVALID_ARG = ERROR_INVALID_PARAMETER, 17 + RPC_S_OUT_OF_MEMORY = ERROR_OUTOFMEMORY, 18 + RPC_S_OUT_OF_THREADS = ERROR_MAX_THRDS_REACHED, 19 + RPC_S_INVALID_LEVEL = ERROR_INVALID_PARAMETER, 20 + RPC_S_BUFFER_TOO_SMALL = ERROR_INSUFFICIENT_BUFFER, 21 + RPC_S_INVALID_SECURITY_DESC = ERROR_INVALID_SECURITY_DESCR, 22 + RPC_S_ACCESS_DENIED = ERROR_ACCESS_DENIED, 23 + RPC_S_SERVER_OUT_OF_MEMORY = ERROR_NOT_ENOUGH_SERVER_MEMORY, 24 + RPC_X_NO_MEMORY = RPC_S_OUT_OF_MEMORY, 25 + RPC_X_INVALID_BOUND = RPC_S_INVALID_BOUND, 26 + RPC_X_INVALID_TAG = RPC_S_INVALID_TAG, 27 + RPC_X_ENUM_VALUE_TOO_LARGE = RPC_X_ENUM_VALUE_OUT_OF_RANGE, 28 + RPC_X_SS_CONTEXT_MISMATCH = ERROR_INVALID_HANDLE, 29 + RPC_X_INVALID_BUFFER = ERROR_INVALID_USER_BUFFER, 30 + RPC_X_INVALID_PIPE_OPERATION = RPC_X_WRONG_PIPE_ORDER 31 +}

Added src/win32/schannel.d version [e98e6679e02fb18d]

1 +/***********************************************************************\ 2 +* schannel.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.schannel; 12 + 13 +import win32.wincrypt; 14 +private import win32.windef; 15 + 16 +const DWORD SCHANNEL_CRED_VERSION = 4; 17 +const SCHANNEL_SHUTDOWN = 1; 18 +/* Comment from MinGW 19 + ? Do these belong here or in wincrypt.h 20 + */ 21 +enum : DWORD { 22 + AUTHTYPE_CLIENT = 1, 23 + AUTHTYPE_SERVER = 2 24 +} 25 + 26 +const DWORD 27 + SP_PROT_PCT1_SERVER = 0x01, 28 + SP_PROT_PCT1_CLIENT = 0x02, 29 + SP_PROT_SSL2_SERVER = 0x04, 30 + SP_PROT_SSL2_CLIENT = 0x08, 31 + SP_PROT_SSL3_SERVER = 0x10, 32 + SP_PROT_SSL3_CLIENT = 0x20, 33 + SP_PROT_TLS1_SERVER = 0x40, 34 + SP_PROT_TLS1_CLIENT = 0x80, 35 + SP_PROT_PCT1 = SP_PROT_PCT1_CLIENT | SP_PROT_PCT1_SERVER, 36 + SP_PROT_TLS1 = SP_PROT_TLS1_CLIENT | SP_PROT_TLS1_SERVER, 37 + SP_PROT_SSL2 = SP_PROT_SSL2_CLIENT | SP_PROT_SSL2_SERVER, 38 + SP_PROT_SSL3 = SP_PROT_SSL3_CLIENT | SP_PROT_SSL3_SERVER; 39 + 40 +const DWORD 41 + SCH_CRED_NO_SYSTEM_MAPPER = 0x0002, 42 + SCH_CRED_NO_SERVERNAME_CHECK = 0x0004, 43 + SCH_CRED_MANUAL_CRED_VALIDATION = 0x0008, 44 + SCH_CRED_NO_DEFAULT_CREDS = 0x0010, 45 + SCH_CRED_AUTO_CRED_VALIDATION = 0x0020, 46 + SCH_CRED_USE_DEFAULT_CREDS = 0x0040, 47 + SCH_CRED_REVOCATION_CHECK_END_CERT = 0x0100, 48 + SCH_CRED_REVOCATION_CHECK_CHAIN = 0x0200, 49 + SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x0400, 50 + SCH_CRED_IGNORE_NO_REVOCATION_CHECK = 0x0800, 51 + SCH_CRED_IGNORE_REVOCATION_OFFLINE = 0x1000; 52 + 53 +// No definition - presumably an opaque structure 54 +struct _HMAPPER; 55 + 56 +struct SCHANNEL_CRED { 57 + DWORD dwVersion = SCHANNEL_CRED_VERSION; 58 + DWORD cCreds; 59 + PCCERT_CONTEXT* paCred; 60 + HCERTSTORE hRootStore; 61 + DWORD cMappers; 62 + _HMAPPER** aphMappers; 63 + DWORD cSupportedAlgs; 64 + ALG_ID* palgSupportedAlgs; 65 + DWORD grbitEnabledProtocols; 66 + DWORD dwMinimumCypherStrength; 67 + DWORD dwMaximumCypherStrength; 68 + DWORD dwSessionLifespan; 69 + DWORD dwFlags; 70 + DWORD reserved; 71 +} 72 +alias SCHANNEL_CRED* PSCHANNEL_CRED; 73 + 74 +struct SecPkgCred_SupportedAlgs { 75 + DWORD cSupportedAlgs; 76 + ALG_ID* palgSupportedAlgs; 77 +} 78 +alias SecPkgCred_SupportedAlgs* PSecPkgCred_SupportedAlgs; 79 + 80 +struct SecPkgCred_CypherStrengths { 81 + DWORD dwMinimumCypherStrength; 82 + DWORD dwMaximumCypherStrength; 83 +} 84 +alias SecPkgCred_CypherStrengths* PSecPkgCred_CypherStrengths; 85 + 86 +struct SecPkgCred_SupportedProtocols { 87 + DWORD grbitProtocol; 88 +} 89 +alias SecPkgCred_SupportedProtocols* PSecPkgCred_SupportedProtocols; 90 + 91 +struct SecPkgContext_IssuerListInfoEx { 92 + PCERT_NAME_BLOB aIssuers; 93 + DWORD cIssuers; 94 +} 95 +alias SecPkgContext_IssuerListInfoEx* PSecPkgContext_IssuerListInfoEx; 96 + 97 +struct SecPkgContext_ConnectionInfo { 98 + DWORD dwProtocol; 99 + ALG_ID aiCipher; 100 + DWORD dwCipherStrength; 101 + ALG_ID aiHash; 102 + DWORD dwHashStrength; 103 + ALG_ID aiExch; 104 + DWORD dwExchStrength; 105 +} 106 +alias SecPkgContext_ConnectionInfo* PSecPkgContext_ConnectionInfo;

Added src/win32/secext.d version [ceb5b518aee9d6cf]

1 +/***********************************************************************\ 2 +* secext.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +// Don't include this file directly, use win32.security instead. 11 +module win32.secext; 12 +pragma(lib, "secur32.lib"); 13 + 14 +private import win32.w32api, win32.windef; 15 + 16 +static assert (_WIN32_WINNT >= 0x0501, 17 + "SecExt is only available on WindowsXP and later"); 18 + 19 +enum EXTENDED_NAME_FORMAT { 20 + NameUnknown, 21 + NameFullyQualifiedDN, 22 + NameSamCompatible, 23 + NameDisplay, // = 3 24 + NameUniqueId = 6, 25 + NameCanonical, 26 + NameUserPrincipal, 27 + NameCanonicalEx, 28 + NameServicePrincipal, // = 10 29 + NameDnsDomain = 12 30 +} 31 +alias EXTENDED_NAME_FORMAT* PEXTENDED_NAME_FORMAT; 32 + 33 +extern (Windows) { 34 + BOOLEAN GetComputerObjectNameA(EXTENDED_NAME_FORMAT, LPSTR, PULONG); 35 + BOOLEAN GetComputerObjectNameW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 36 + BOOLEAN GetUserNameExA(EXTENDED_NAME_FORMAT, LPSTR, PULONG); 37 + BOOLEAN GetUserNameExW(EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 38 + BOOLEAN TranslateNameA(LPCSTR, EXTENDED_NAME_FORMAT, 39 + EXTENDED_NAME_FORMAT, LPSTR, PULONG); 40 + BOOLEAN TranslateNameW(LPCWSTR, EXTENDED_NAME_FORMAT, 41 + EXTENDED_NAME_FORMAT, LPWSTR, PULONG); 42 +} 43 + 44 +version (Unicode) { 45 + alias GetComputerObjectNameW GetComputerObjectName; 46 + alias GetUserNameExW GetUserNameEx; 47 + alias TranslateNameW TranslateName; 48 +} else { 49 + alias GetComputerObjectNameA GetComputerObjectName; 50 + alias GetUserNameExA GetUserNameEx; 51 + alias TranslateNameA TranslateName; 52 +}

Added src/win32/servprov.d version [3e46ab1399af3137]

1 +/***********************************************************************\ 2 +* servprov.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.servprov; 11 + 12 +private import win32.basetyps, win32.unknwn, win32.windef, win32.wtypes; 13 + 14 +interface IServiceProvider : IUnknown { 15 + HRESULT QueryService(REFGUID, REFIID, void**); 16 +}

Added src/win32/setupapi.d version [aed39609d10f2169]

1 +/***********************************************************************\ 2 +* setupapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Vladimir Vlasov * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.setupapi; 12 +pragma(lib, "setupapi.lib"); 13 + 14 +private import win32.basetyps, win32.commctrl, win32.prsht, win32.w32api, 15 + win32.winreg, win32.windef; 16 +private import win32.winbase; // for SYSTEMTIME 17 + 18 +/*static if(_WIN32_WINNT < _WIN32_WINDOWS) { 19 + const UINT _SETUPAPI_VER = _WIN32_WINNT; // SetupAPI version follows Windows NT version 20 +} else static if(_WIN32_WINDOWS) { 21 + static if(_WIN32_WINDOWS >= 0x0490) { 22 + const UINT _SETUPAPI_VER = 0x0500; // WinME uses same version of SetupAPI as Win2k 23 + } else static if(_WIN32_WINDOWS >= 0x0410) { 24 + const UINT _SETUPAPI_VER = 0x0410; // Indicates version of SetupAPI shipped with Win98 25 + } else { 26 + const UINT _SETUPAPI_VER = 0x0400; // Earliest SetupAPI version 27 + } 28 +} else { 29 + const UINT _SETUPAPI_VER = 0x0501; 30 +} 31 + 32 +version (WindowsNTonly) { 33 + static if (_WIN32_WINNT >= 0x500) { 34 + const UINT USE_SP_DRVINFO_DATA_V1 = 0; 35 + } else { 36 + const UINT USE_SP_DRVINFO_DATA_V1 = 1; 37 + } 38 +} else { 39 + const UINT USE_SP_DRVINFO_DATA_V1 = 1; 40 +}*/ 41 +/+ 42 +const UINT _SETUPAPI_VER = 0x0400; // Earliest SetupAPI version 43 +const UINT USE_SP_DRVINFO_DATA_V1 = 1; 44 ++/ 45 +const UINT _SETUPAPI_VER = WINVER; 46 +const bool USE_SP_DRVINFO_DATA_V1 = !_WIN32_WINNT_ONLY || _WIN32_WINNT < 0x500; 47 + 48 +enum : uint { 49 + LINE_LEN = 256, 50 + MAX_INF_STRING_LENGTH = 4096, 51 + MAX_TITLE_LEN = 60, 52 + MAX_INSTRUCTION_LEN = 256, 53 + MAX_LABEL_LEN = 30, 54 + MAX_SERVICE_NAME_LEN = 256, 55 + MAX_SUBTITLE_LEN = 256, 56 + SP_MAX_MACHINENAME_LENGTH = MAX_PATH + 3 57 +} 58 + 59 +enum : DWORD { 60 + COPYFLG_WARN_IF_SKIP = 0x00000001, 61 + COPYFLG_NOSKIP = 0x00000002, 62 + COPYFLG_NOVERSIONCHECK = 0x00000004, 63 + COPYFLG_FORCE_FILE_IN_USE = 0x00000008, 64 + COPYFLG_NO_OVERWRITE = 0x00000010, 65 + COPYFLG_NO_VERSION_DIALOG = 0x00000020, 66 + COPYFLG_OVERWRITE_OLDER_ONLY = 0x00000040, 67 + COPYFLG_REPLACEONLY = 0x00000400, 68 + COPYFLG_NODECOMP = 0x00000800, 69 + COPYFLG_REPLACE_BOOT_FILE = 0x00001000, 70 + COPYFLG_NOPRUNE = 0x00002000 71 +} 72 + 73 +enum : DWORD { 74 + DELFLG_IN_USE = 0x00000001, 75 + DELFLG_IN_USE1 = 0x00010000 76 +} 77 + 78 +enum : DWORD { 79 + DI_REMOVEDEVICE_GLOBAL = 0x00000001, 80 + DI_REMOVEDEVICE_CONFIGSPECIFIC = 0x00000002, 81 + DI_UNREMOVEDEVICE_CONFIGSPECIFIC = 0x00000002, 82 + DI_SHOWOEM = 0x00000001, 83 + DI_SHOWCOMPAT = 0x00000002, 84 + DI_SHOWCLASS = 0x00000004, 85 + DI_SHOWALL = 0x00000007, 86 + DI_NOVCP = 0x00000008, 87 + DI_DIDCOMPAT = 0x00000010, 88 + DI_DIDCLASS = 0x00000020, 89 + DI_AUTOASSIGNRES = 0x00000040, 90 + DI_NEEDRESTART = 0x00000080, 91 + DI_NEEDREBOOT = 0x00000100, 92 + DI_NOBROWSE = 0x00000200, 93 + DI_MULTMFGS = 0x00000400, 94 + DI_DISABLED = 0x00000800, 95 + DI_GENERALPAGE_ADDED = 0x00001000, 96 + DI_RESOURCEPAGE_ADDED = 0x00002000, 97 + DI_PROPERTIES_CHANGE = 0x00004000, 98 + DI_INF_IS_SORTED = 0x00008000, 99 + DI_ENUMSINGLEINF = 0x00010000, 100 + DI_DONOTCALLCONFIGMG = 0x00020000, 101 + DI_INSTALLDISABLED = 0x00040000, 102 + DI_COMPAT_FROM_CLASS = 0x00080000, 103 + DI_CLASSINSTALLPARAMS = 0x00100000, 104 + DI_NODI_DEFAULTACTION = 0x00200000, 105 + DI_QUIETINSTALL = 0x00800000, 106 + DI_NOFILECOPY = 0x01000000, 107 + DI_FORCECOPY = 0x02000000, 108 + DI_DRIVERPAGE_ADDED = 0x04000000, 109 + DI_USECI_SELECTSTRINGS = 0x08000000, 110 + DI_OVERRIDE_INFFLAGS = 0x10000000, 111 + DI_PROPS_NOCHANGEUSAGE = 0x20000000, 112 + DI_NOSELECTICONS = 0x40000000, 113 + DI_NOWRITE_IDS = 0x80000000, 114 + DI_FLAGSEX_USEOLDINFSEARCH = 0x00000001, 115 + DI_FLAGSEX_AUTOSELECTRANK0 = 0x00000002, 116 + DI_FLAGSEX_CI_FAILED = 0x00000004, 117 + DI_FLAGSEX_DIDINFOLIST = 0x00000010, 118 + DI_FLAGSEX_DIDCOMPATINFO = 0x00000020, 119 + DI_FLAGSEX_FILTERCLASSES = 0x00000040, 120 + DI_FLAGSEX_SETFAILEDINSTALL = 0x00000080, 121 + DI_FLAGSEX_DEVICECHANGE = 0x00000100, 122 + DI_FLAGSEX_ALWAYSWRITEIDS = 0x00000200, 123 + DI_FLAGSEX_PROPCHANGE_PENDING = 0x00000400, 124 + DI_FLAGSEX_ALLOWEXCLUDEDDRVS = 0x00000800, 125 + DI_FLAGSEX_NOUIONQUERYREMOVE = 0x00001000, 126 + DI_FLAGSEX_USECLASSFORCOMPAT = 0x00002000, 127 + DI_FLAGSEX_OLDINF_IN_CLASSLIST = 0x00004000, 128 + DI_FLAGSEX_NO_DRVREG_MODIFY = 0x00008000, 129 + DI_FLAGSEX_IN_SYSTEM_SETUP = 0x00010000, 130 + DI_FLAGSEX_INET_DRIVER = 0x00020000, 131 + DI_FLAGSEX_APPENDDRIVERLIST = 0x00040000, 132 + DI_FLAGSEX_PREINSTALLBACKUP = 0x00080000, 133 + DI_FLAGSEX_BACKUPONREPLACE = 0x00100000, 134 + DI_FLAGSEX_DRIVERLIST_FROM_URL = 0x00200000, 135 + DI_FLAGSEX_RESERVED1 = 0x00400000, 136 + DI_FLAGSEX_EXCLUDE_OLD_INET_DRIVERS = 0x00800000, 137 + DI_FLAGSEX_POWERPAGE_ADDED = 0x01000000 138 +} 139 + 140 +enum : DWORD { 141 + DIBCI_NOINSTALLCLASS = 0x00000001, 142 + DIBCI_NODISPLAYCLASS = 0x00000002 143 +} 144 + 145 +enum : DWORD { 146 + DICD_GENERATE_ID = 0x00000001, 147 + DICD_INHERIT_CLASSDRVS = 0x00000002 148 +} 149 + 150 +enum : DWORD { 151 + DICS_ENABLE = 1, 152 + DICS_DISABLE, 153 + DICS_PROPCHANGE, 154 + DICS_START, 155 + DICS_STOP // = 5 156 +} 157 + 158 +enum : DWORD { 159 + DICS_FLAG_GLOBAL = 1, 160 + DICS_FLAG_CONFIGSPECIFIC = 2, 161 + DICS_FLAG_CONFIGGENERAL = 4 162 +} 163 + 164 +alias UINT DI_FUNCTION; 165 + 166 +enum : DI_FUNCTION { 167 + DIF_SELECTDEVICE = 1, 168 + DIF_INSTALLDEVICE, 169 + DIF_ASSIGNRESOURCES, 170 + DIF_PROPERTIES, 171 + DIF_REMOVE, 172 + DIF_FIRSTTIMESETUP, 173 + DIF_FOUNDDEVICE, 174 + DIF_SELECTCLASSDRIVERS, 175 + DIF_VALIDATECLASSDRIVERS, 176 + DIF_INSTALLCLASSDRIVERS, 177 + DIF_CALCDISKSPACE, 178 + DIF_DESTROYPRIVATEDATA, 179 + DIF_VALIDATEDRIVER, 180 + DIF_MOVEDEVICE, 181 + DIF_DETECT, 182 + DIF_INSTALLWIZARD, 183 + DIF_DESTROYWIZARDDATA, 184 + DIF_PROPERTYCHANGE, 185 + DIF_ENABLECLASS, 186 + DIF_DETECTVERIFY, 187 + DIF_INSTALLDEVICEFILES, 188 + DIF_UNREMOVE, 189 + DIF_SELECTBESTCOMPATDRV, 190 + DIF_ALLOW_INSTALL, 191 + DIF_REGISTERDEVICE, 192 + DIF_NEWDEVICEWIZARD_PRESELECT, 193 + DIF_NEWDEVICEWIZARD_SELECT, 194 + DIF_NEWDEVICEWIZARD_PREANALYZE, 195 + DIF_NEWDEVICEWIZARD_POSTANALYZE, 196 + DIF_NEWDEVICEWIZARD_FINISHINSTALL, 197 + DIF_UNUSED1, 198 + DIF_INSTALLINTERFACES, 199 + DIF_DETECTCANCEL, 200 + DIF_REGISTER_COINSTALLERS, 201 + DIF_ADDPROPERTYPAGE_ADVANCED, 202 + DIF_ADDPROPERTYPAGE_BASIC, 203 + DIF_RESERVED1, 204 + DIF_TROUBLESHOOTER, 205 + DIF_POWERMESSAGEWAKE // = 39 206 +} 207 + 208 +enum : DWORD { 209 + DIGCF_DEFAULT = 0x00000001, 210 + DIGCF_PRESENT = 0x00000002, 211 + DIGCF_ALLCLASSES = 0x00000004, 212 + DIGCF_PROFILE = 0x00000008, 213 + DIGCF_DEVICEINTERFACE = 0x00000010 214 +} 215 + 216 +deprecated enum : DWORD { 217 + DIGCF_INTERFACEDEVICE = DIGCF_DEVICEINTERFACE 218 +} 219 + 220 +enum : DWORD { 221 + DIGCDP_FLAG_BASIC = 0x00000001, 222 + DIGCDP_FLAG_ADVANCED = 0x00000002 223 +} 224 + 225 +enum : DWORD { 226 + DIOCR_INSTALLER = 0x00000001, 227 + DIOCR_INTERFACE = 0x00000002 228 +} 229 + 230 +enum : DWORD { 231 + DIODI_NO_ADD = 0x00000001 232 +} 233 + 234 +enum : DWORD { 235 + DIOD_INHERIT_CLASSDRVS = 0x00000002, 236 + DIOD_CANCEL_REMOVE = 0x00000004 237 +} 238 + 239 +enum : DWORD { 240 + DIREG_DEV = 0x00000001, 241 + DIREG_DRV = 0x00000002, 242 + DIREG_BOTH = 0x00000004 243 +} 244 + 245 +enum : int { 246 + DIRID_ABSOLUTE = -1, 247 + DIRID_NULL = 0, 248 + DIRID_SRCPATH = 1, 249 + DIRID_WINDOWS = 10, 250 + DIRID_SYSTEM = 11, 251 + DIRID_DRIVERS = 12, 252 + DIRID_IOSUBSYS = DIRID_DRIVERS, 253 + DIRID_INF = 17, 254 + DIRID_HELP = 18, 255 + DIRID_FONTS = 20, 256 + DIRID_VIEWERS = 21, 257 + DIRID_COLOR = 23, 258 + DIRID_APPS = 24, 259 + DIRID_SHARED = 25, 260 + DIRID_BOOT = 30, 261 + DIRID_SYSTEM16 = 50, 262 + DIRID_SPOOL = 51, 263 + DIRID_SPOOLDRIVERS = 52, 264 + DIRID_USERPROFILE = 53, 265 + DIRID_LOADER = 54, 266 + DIRID_PRINTPROCESSOR = 55, 267 + DIRID_DEFAULT = DIRID_SYSTEM 268 +} 269 + 270 +enum : int { 271 + DIRID_COMMON_STARTMENU = 16406, 272 + DIRID_COMMON_PROGRAMS = 16407, 273 + DIRID_COMMON_STARTUP = 16408, 274 + DIRID_COMMON_DESKTOPDIRECTORY = 16409, 275 + DIRID_COMMON_FAVORITES = 16415, 276 + DIRID_COMMON_APPDATA = 16419, 277 + DIRID_PROGRAM_FILES = 16422, 278 + DIRID_SYSTEM_X86 = 16425, 279 + DIRID_PROGRAM_FILES_X86 = 16426, 280 + DIRID_PROGRAM_FILES_COMMON = 16427, 281 + DIRID_PROGRAM_FILES_COMMONX86 = 16428, 282 + DIRID_COMMON_TEMPLATES = 16429, 283 + DIRID_COMMON_DOCUMENTS = 16430, 284 + DIRID_USER = 0x8000, 285 + DIRID_ABSOLUTE_16BIT = 0xffff 286 +} 287 + 288 +enum : DWORD { 289 + DMI_MASK = 0x00000001, 290 + DMI_BKCOLOR = 0x00000002, 291 + DMI_USERECT = 0x00000004 292 +} 293 + 294 +enum : DWORD { 295 + DNF_DUPDESC = 0x00000001, 296 + DNF_OLDDRIVER = 0x00000002, 297 + DNF_EXCLUDEFROMLIST = 0x00000004, 298 + DNF_NODRIVER = 0x00000008, 299 + DNF_LEGACYINF = 0x00000010, 300 + DNF_CLASS_DRIVER = 0x00000020, 301 + DNF_COMPATIBLE_DRIVER = 0x00000040, 302 + DNF_INET_DRIVER = 0x00000080, 303 + DNF_UNUSED1 = 0x00000100, 304 + DNF_INDEXED_DRIVER = 0x00000200, 305 + DNF_OLD_INET_DRIVER = 0x00000400, 306 + DNF_BAD_DRIVER = 0x00000800, 307 + DNF_DUPPROVIDER = 0x00001000 308 +} 309 + 310 +enum : UINT { 311 + DPROMPT_SUCCESS, 312 + DPROMPT_CANCEL, 313 + DPROMPT_SKIPFILE, 314 + DPROMPT_BUFFERTOOSMALL, 315 + DPROMPT_OUTOFMEMORY // = 4 316 +} 317 + 318 +enum : DWORD { 319 + DRIVER_HARDWAREID_RANK = 0x00000FFF, 320 + DRIVER_COMPATID_RANK = 0x00003FFF, 321 + DRIVER_UNTRUSTED_RANK = 0x00008000, 322 + DRIVER_UNTRUSTED_HARDWAREID_RANK = 0x00008FFF, 323 + DRIVER_UNTRUSTED_COMPATID_RANK = 0x0000BFFF, 324 + DRIVER_W9X_SUSPECT_RANK = 0x0000C000, 325 + DRIVER_W9X_SUSPECT_HARDWAREID_RANK = 0x0000CFFF, 326 + DRIVER_W9X_SUSPECT_COMPATID_RANK = 0x0000FFFF 327 +} 328 + 329 +enum : DWORD { 330 + DYNAWIZ_FLAG_PAGESADDED = 0x00000001, 331 + DYNAWIZ_FLAG_INSTALLDET_NEXT = 0x00000002, 332 + DYNAWIZ_FLAG_INSTALLDET_PREV = 0x00000004, 333 + DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT = 0x00000008 334 +} 335 + 336 +enum : WORD { 337 + ENABLECLASS_QUERY, 338 + ENABLECLASS_SUCCESS, 339 + ENABLECLASS_FAILURE // = 2 340 +} 341 + 342 +enum : DWORD { 343 + ERROR_EXPECTED_SECTION_NAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0, 344 + ERROR_BAD_SECTION_NAME_LINE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 1, 345 + ERROR_SECTION_NAME_TOO_LONG = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 2, 346 + ERROR_GENERAL_SYNTAX = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 3, 347 + ERROR_WRONG_INF_STYLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x100, 348 + ERROR_NOT_INSTALLED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x1000, 349 + ERROR_SECTION_NOT_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x101, 350 + ERROR_LINE_NOT_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x102, 351 + ERROR_NO_BACKUP = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x103, 352 + ERROR_NO_ASSOCIATED_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x200, 353 + ERROR_CLASS_MISMATCH = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x201, 354 + ERROR_DUPLICATE_FOUND = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x202, 355 + ERROR_NO_DRIVER_SELECTED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x203, 356 + ERROR_KEY_DOES_NOT_EXIST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x204, 357 + ERROR_INVALID_DEVINST_NAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x205, 358 + ERROR_INVALID_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x206, 359 + ERROR_DEVINST_ALREADY_EXISTS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x207, 360 + ERROR_DEVINFO_NOT_REGISTERED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x208, 361 + ERROR_INVALID_REG_PROPERTY = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x209, 362 + ERROR_NO_INF = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20A, 363 + ERROR_NO_SUCH_DEVINST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20B, 364 + ERROR_CANT_LOAD_CLASS_ICON = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20C, 365 + ERROR_INVALID_CLASS_INSTALLER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20D, 366 + ERROR_DI_DO_DEFAULT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20E, 367 + ERROR_DI_NOFILECOPY = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x20F, 368 + ERROR_INVALID_HWPROFILE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x210, 369 + ERROR_NO_DEVICE_SELECTED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x211, 370 + ERROR_DEVINFO_LIST_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x212, 371 + ERROR_DEVINFO_DATA_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x213, 372 + ERROR_DI_BAD_PATH = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x214, 373 + ERROR_NO_CLASSINSTALL_PARAMS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x215, 374 + ERROR_FILEQUEUE_LOCKED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x216, 375 + ERROR_BAD_SERVICE_INSTALLSECT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x217, 376 + ERROR_NO_CLASS_DRIVER_LIST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x218, 377 + ERROR_NO_ASSOCIATED_SERVICE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x219, 378 + ERROR_NO_DEFAULT_DEVICE_INTERFACE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21A, 379 + ERROR_DEVICE_INTERFACE_ACTIVE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21B, 380 + ERROR_DEVICE_INTERFACE_REMOVED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21C, 381 + ERROR_BAD_INTERFACE_INSTALLSECT = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21D, 382 + ERROR_NO_SUCH_INTERFACE_CLASS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21E, 383 + ERROR_INVALID_REFERENCE_STRING = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x21F, 384 + ERROR_INVALID_MACHINENAME = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x220, 385 + ERROR_REMOTE_COMM_FAILURE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x221, 386 + ERROR_MACHINE_UNAVAILABLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x222, 387 + ERROR_NO_CONFIGMGR_SERVICES = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x223, 388 + ERROR_INVALID_PROPPAGE_PROVIDER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x224, 389 + ERROR_NO_SUCH_DEVICE_INTERFACE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x225, 390 + ERROR_DI_POSTPROCESSING_REQUIRED = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x226, 391 + ERROR_INVALID_COINSTALLER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x227, 392 + ERROR_NO_COMPAT_DRIVERS = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x228, 393 + ERROR_NO_DEVICE_ICON = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x229, 394 + ERROR_INVALID_INF_LOGCONFIG = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22A, 395 + ERROR_DI_DONT_INSTALL = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22B, 396 + ERROR_INVALID_FILTER_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22C, 397 + ERROR_NON_WINDOWS_NT_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22D, 398 + ERROR_NON_WINDOWS_DRIVER = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22E, 399 + ERROR_NO_CATALOG_FOR_OEM_INF = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x22F, 400 + ERROR_DEVINSTALL_QUEUE_NONNATIVE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x230, 401 + ERROR_NOT_DISABLEABLE = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x231, 402 + ERROR_CANT_REMOVE_DEVINST = APPLICATION_ERROR_MASK | ERROR_SEVERITY_ERROR | 0x232 403 +} 404 + 405 +deprecated enum : DWORD { 406 + ERROR_NO_DEFAULT_INTERFACE_DEVICE = ERROR_NO_DEFAULT_DEVICE_INTERFACE, 407 + ERROR_INTERFACE_DEVICE_ACTIVE = ERROR_DEVICE_INTERFACE_ACTIVE, 408 + ERROR_INTERFACE_DEVICE_REMOVED = ERROR_DEVICE_INTERFACE_REMOVED, 409 + ERROR_NO_SUCH_INTERFACE_DEVICE = ERROR_NO_SUCH_DEVICE_INTERFACE, 410 +} 411 + 412 +enum : UINT { 413 + FILEOP_COPY, 414 + FILEOP_RENAME, 415 + FILEOP_DELETE, 416 + FILEOP_BACKUP, 417 + FILEOP_NEWPATH, // = 4 418 + FILEOP_ABORT = 0, 419 + FILEOP_DOIT, 420 + FILEOP_SKIP, // = 2 421 + FILEOP_RETRY = FILEOP_DOIT 422 +} 423 + 424 +enum : UINT { 425 + FILE_COMPRESSION_NONE, 426 + FILE_COMPRESSION_WINLZA, 427 + FILE_COMPRESSION_MSZIP, 428 + FILE_COMPRESSION_NTCAB // = 3 429 +} 430 + 431 +enum : DWORD { 432 + FLG_ADDREG_TYPE_SZ = 0x00000000, 433 + FLG_ADDREG_BINVALUETYPE = 0x00000001, 434 + FLG_ADDREG_NOCLOBBER = 0x00000002, 435 + FLG_ADDREG_DELVAL = 0x00000004, 436 + FLG_ADDREG_APPEND = 0x00000008, 437 + FLG_ADDREG_KEYONLY = 0x00000010, 438 + FLG_ADDREG_OVERWRITEONLY = 0x00000020, 439 + FLG_ADDREG_TYPE_MULTI_SZ = 0x00010000, 440 + FLG_ADDREG_TYPE_EXPAND_SZ = 0x00020000, 441 + FLG_ADDREG_TYPE_BINARY = 0x00000000 | FLG_ADDREG_BINVALUETYPE, 442 + FLG_ADDREG_TYPE_DWORD = 0x00010000 | FLG_ADDREG_BINVALUETYPE, 443 + FLG_ADDREG_TYPE_NONE = 0x00020000 | FLG_ADDREG_BINVALUETYPE, 444 + FLG_ADDREG_TYPE_MASK = 0xFFFF0000 | FLG_ADDREG_BINVALUETYPE 445 +} 446 + 447 +static if(_SETUPAPI_VER >= 0x0501) { 448 + enum : DWORD { 449 + FLG_ADDREG_64BITKEY = 0x00001000, 450 + FLG_ADDREG_KEYONLY_COMMON = 0x00002000, 451 + FLG_ADDREG_32BITKEY = 0x00004000, 452 + FLG_ADDREG_DELREG_BIT = 0x00008000 453 + } 454 +} 455 + 456 +enum : DWORD { 457 + FLG_DELREG_VALUE = 0x00000000 458 +} 459 + 460 +static if(_SETUPAPI_VER >= 0x0501) { 461 + enum : DWORD { 462 + FLG_DELREG_TYPE_MASK = FLG_ADDREG_TYPE_MASK, 463 + FLG_DELREG_TYPE_SZ = FLG_ADDREG_TYPE_SZ, 464 + FLG_DELREG_TYPE_MULTI_SZ = FLG_ADDREG_TYPE_MULTI_SZ, 465 + FLG_DELREG_TYPE_EXPAND_SZ = FLG_ADDREG_TYPE_EXPAND_SZ, 466 + FLG_DELREG_TYPE_BINARY = FLG_ADDREG_TYPE_BINARY, 467 + FLG_DELREG_TYPE_DWORD = FLG_ADDREG_TYPE_DWORD, 468 + FLG_DELREG_TYPE_NONE = FLG_ADDREG_TYPE_NONE, 469 + FLG_DELREG_64BITKEY = FLG_ADDREG_64BITKEY, 470 + FLG_DELREG_KEYONLY_COMMON = FLG_ADDREG_KEYONLY_COMMON, 471 + FLG_DELREG_32BITKEY = FLG_ADDREG_32BITKEY, 472 + FLG_DELREG_OPERATION_MASK = 0x000000FE, 473 + FLG_DELREG_MULTI_SZ_DELSTRING = 0x00000002 | FLG_DELREG_TYPE_MULTI_SZ | FLG_ADDREG_DELREG_BIT 474 + } 475 +} 476 + 477 +enum : DWORD { 478 + FLG_BITREG_CLEARBITS = 0x00000000, 479 + FLG_BITREG_SETBITS = 0x00000001 480 +} 481 + 482 +static if(_SETUPAPI_VER >= 0x0501) { 483 + enum : DWORD { 484 + FLG_BITREG_64BITKEY = 0x00001000, 485 + FLG_BITREG_32BITKEY = 0x00004000 486 + } 487 +} 488 + 489 +enum : DWORD { 490 + FLG_PROFITEM_CURRENTUSER = 0x00000001, 491 + FLG_PROFITEM_DELETE = 0x00000002, 492 + FLG_PROFITEM_GROUP = 0x00000004, 493 + FLG_PROFITEM_CSIDL = 0x00000008 494 +} 495 + 496 +enum : DWORD { 497 + FLG_REGSVR_DLLREGISTER = 0x00000001, 498 + FLG_REGSVR_DLLINSTALL = 0x00000002 499 +} 500 + 501 +enum { 502 + IDD_DYNAWIZ_FIRSTPAGE = 10000, 503 + IDD_DYNAWIZ_SELECT_PREVPAGE, 504 + IDD_DYNAWIZ_SELECT_NEXTPAGE, 505 + IDD_DYNAWIZ_ANALYZE_PREVPAGE, 506 + IDD_DYNAWIZ_ANALYZE_NEXTPAGE, // = 1004 507 + IDD_DYNAWIZ_INSTALLDETECTED_PREVPAGE = 10006, 508 + IDD_DYNAWIZ_INSTALLDETECTED_NEXTPAGE, 509 + IDD_DYNAWIZ_INSTALLDETECTED_NODEVS, 510 + IDD_DYNAWIZ_SELECTDEV_PAGE, 511 + IDD_DYNAWIZ_ANALYZEDEV_PAGE, 512 + IDD_DYNAWIZ_INSTALLDETECTEDDEVS_PAGE, 513 + IDD_DYNAWIZ_SELECTCLASS_PAGE, // = 10012 514 + MIN_IDD_DYNAWIZ_RESOURCE_ID = 10000, 515 + MAX_IDD_DYNAWIZ_RESOURCE_ID = 11000 516 +} 517 + 518 +enum : DWORD { 519 + IDF_NOBROWSE = 0x00000001, 520 + IDF_NOSKIP = 0x00000002, 521 + IDF_NODETAILS = 0x00000004, 522 + IDF_NOCOMPRESSED = 0x00000008, 523 + IDF_CHECKFIRST = 0x00000100, 524 + IDF_NOBEEP = 0x00000200, 525 + IDF_NOFOREGROUND = 0x00000400, 526 + IDF_WARNIFSKIP = 0x00000800 527 +} 528 + 529 +static if(_SETUPAPI_VER >= 0x0501) { 530 + enum : DWORD { 531 + IDF_NOREMOVABLEMEDIAPROMPT = 0x00001000, 532 + IDF_USEDISKNAMEASPROMPT = 0x00002000, 533 + IDF_OEMDISK = 0x80000000 534 + } 535 +} 536 + 537 +enum { 538 + IDI_RESOURCEFIRST = 159, 539 + IDI_RESOURCE = 159, 540 + IDI_RESOURCELAST = 161, 541 + IDI_RESOURCEOVERLAYFIRST = 161, 542 + IDI_RESOURCEOVERLAYLAST = 161, 543 + IDI_CONFLICT = 161, 544 + IDI_PROBLEM_OVL = 500, 545 + IDI_DISABLED_OVL = 501, 546 + IDI_FORCED_OVL = 502, 547 + IDI_CLASSICON_OVERLAYFIRST = 500, 548 + IDI_CLASSICON_OVERLAYLAST = 502 549 +} 550 + 551 +enum : DWORD { 552 + INF_STYLE_NONE = 0x00000000, 553 + INF_STYLE_OLDNT = 0x00000001, 554 + INF_STYLE_WIN4 = 0x00000002, 555 + INF_STYLE_CACHE_ENABLE = 0x00000010, 556 + INF_STYLE_CACHE_DISABLE = 0x00000020 557 +} 558 + 559 +enum : DWORD { 560 + INFINFO_INF_SPEC_IS_HINF = 1, 561 + INFINFO_INF_NAME_IS_ABSOLUTE, 562 + INFINFO_DEFAULT_SEARCH, 563 + INFINFO_REVERSE_DEFAULT_SEARCH, 564 + INFINFO_INF_PATH_LIST_SEARCH // = 5 565 +} 566 + 567 +alias DWORD LogSeverity; 568 +enum : LogSeverity { 569 + LogSevInformation, 570 + LogSevWarning, 571 + LogSevError, 572 + LogSevFatalError, 573 + LogSevMaximum // = 4 574 +} 575 + 576 +const MAX_INSTALLWIZARD_DYNAPAGES = 20; 577 + 578 +enum : DWORD { 579 + NDW_INSTALLFLAG_DIDFACTDEFS = 0x00000001, 580 + NDW_INSTALLFLAG_HARDWAREALLREADYIN = 0x00000002, 581 + NDW_INSTALLFLAG_NEEDSHUTDOWN = 0x00000200, 582 + NDW_INSTALLFLAG_EXPRESSINTRO = 0x00000400, 583 + NDW_INSTALLFLAG_SKIPISDEVINSTALLED = 0x00000800, 584 + NDW_INSTALLFLAG_NODETECTEDDEVS = 0x00001000, 585 + NDW_INSTALLFLAG_INSTALLSPECIFIC = 0x00002000, 586 + NDW_INSTALLFLAG_SKIPCLASSLIST = 0x00004000, 587 + NDW_INSTALLFLAG_CI_PICKED_OEM = 0x00008000, 588 + NDW_INSTALLFLAG_PCMCIAMODE = 0x00010000, 589 + NDW_INSTALLFLAG_PCMCIADEVICE = 0x00020000, 590 + NDW_INSTALLFLAG_USERCANCEL = 0x00040000, 591 + NDW_INSTALLFLAG_KNOWNCLASS = 0x00080000, 592 + NDW_INSTALLFLAG_NEEDRESTART = 0x00000080, 593 + NDW_INSTALLFLAG_NEEDREBOOT = 0x00000100 594 +} 595 + 596 +enum : DWORD { 597 + SETDIRID_NOT_FULL_PATH = 0x00000001 598 +} 599 + 600 +enum : DWORD { 601 + SP_COPY_DELETESOURCE = 0x0000001, 602 + SP_COPY_REPLACEONLY = 0x0000002, 603 + SP_COPY_NEWER = 0x0000004, 604 + SP_COPY_NEWER_OR_SAME = 0x0000004, 605 + SP_COPY_NOOVERWRITE = 0x0000008, 606 + SP_COPY_NODECOMP = 0x0000010, 607 + SP_COPY_LANGUAGEAWARE = 0x0000020, 608 + SP_COPY_SOURCE_ABSOLUTE = 0x0000040, 609 + SP_COPY_SOURCEPATH_ABSOLUTE = 0x0000080, 610 + SP_COPY_IN_USE_NEEDS_REBOOT = 0x0000100, 611 + SP_COPY_FORCE_IN_USE = 0x0000200, 612 + SP_COPY_NOSKIP = 0x0000400, 613 + SP_FLAG_CABINETCONTINUATION = 0x0000800, 614 + SP_COPY_FORCE_NOOVERWRITE = 0x0001000, 615 + SP_COPY_FORCE_NEWER = 0x0002000, 616 + SP_COPY_WARNIFSKIP = 0x0004000, 617 + SP_COPY_NOBROWSE = 0x0008000, 618 + SP_COPY_NEWER_ONLY = 0x0010000, 619 + SP_COPY_SOURCE_SIS_MASTER = 0x0020000, 620 + SP_COPY_OEMINF_CATALOG_ONLY = 0x0040000, 621 + SP_COPY_REPLACE_BOOT_FILE = 0x0080000, 622 + SP_COPY_NOPRUNE = 0x0100000 623 +} 624 + 625 +static if(_SETUPAPI_VER >= 0x0501) { 626 + enum : DWORD { 627 + SP_COPY_OEM_F6_INF = 0x0200000 628 + } 629 +} 630 + 631 +enum : DWORD { 632 + SPCRP_SECURITY = 23, 633 + SPCRP_SECURITY_SDS, 634 + SPCRP_DEVTYPE, 635 + SPCRP_EXCLUSIVE, 636 + SPCRP_CHARACTERISTICS, 637 + SPCRP_MAXIMUM_PROPERTY // = 28 638 +} 639 + 640 +enum : DWORD { 641 + SPDIT_NODRIVER, 642 + SPDIT_CLASSDRIVER, 643 + SPDIT_COMPATDRIVER // = 2 644 +} 645 + 646 +enum : DWORD { 647 + SPDRP_DEVICEDESC, 648 + SPDRP_HARDWAREID, 649 + SPDRP_COMPATIBLEIDS, 650 + SPDRP_UNUSED0, 651 + SPDRP_SERVICE, 652 + SPDRP_UNUSED1, 653 + SPDRP_UNUSED2, 654 + SPDRP_CLASS, 655 + SPDRP_CLASSGUID, 656 + SPDRP_DRIVER, 657 + SPDRP_CONFIGFLAGS, 658 + SPDRP_MFG, 659 + SPDRP_FRIENDLYNAME, 660 + SPDRP_LOCATION_INFORMATION, 661 + SPDRP_PHYSICAL_DEVICE_OBJECT_NAME, 662 + SPDRP_CAPABILITIES, 663 + SPDRP_UI_NUMBER, 664 + SPDRP_UPPERFILTERS, 665 + SPDRP_LOWERFILTERS, 666 + SPDRP_BUSTYPEGUID, 667 + SPDRP_LEGACYBUSTYPE, 668 + SPDRP_BUSNUMBER, 669 + SPDRP_ENUMERATOR_NAME, 670 + SPDRP_SECURITY, 671 + SPDRP_SECURITY_SDS, 672 + SPDRP_DEVTYPE, 673 + SPDRP_EXCLUSIVE, 674 + SPDRP_CHARACTERISTICS, 675 + SPDRP_ADDRESS, // = 28 676 + SPDRP_UI_NUMBER_DESC_FORMAT = 30, 677 + SPDRP_MAXIMUM_PROPERTY = 31 678 +} 679 + 680 +enum : UINT { 681 + SPDSL_IGNORE_DISK = 1, 682 + SPDSL_DISALLOW_NEGATIVE_ADJUST 683 +} 684 + 685 +enum : UINT { 686 + SPFILENOTIFY_STARTQUEUE = 1, 687 + SPFILENOTIFY_ENDQUEUE, 688 + SPFILENOTIFY_STARTSUBQUEUE, 689 + SPFILENOTIFY_ENDSUBQUEUE, 690 + SPFILENOTIFY_STARTDELETE, 691 + SPFILENOTIFY_ENDDELETE, 692 + SPFILENOTIFY_DELETEERROR, 693 + SPFILENOTIFY_STARTRENAME, 694 + SPFILENOTIFY_ENDRENAME, 695 + SPFILENOTIFY_RENAMEERROR, 696 + SPFILENOTIFY_STARTCOPY, 697 + SPFILENOTIFY_ENDCOPY, 698 + SPFILENOTIFY_COPYERROR, 699 + SPFILENOTIFY_NEEDMEDIA, 700 + SPFILENOTIFY_QUEUESCAN, 701 + SPFILENOTIFY_CABINETINFO, 702 + SPFILENOTIFY_FILEINCABINET, 703 + SPFILENOTIFY_NEEDNEWCABINET, 704 + SPFILENOTIFY_FILEEXTRACTED, 705 + SPFILENOTIFY_FILEOPDELAYED, 706 + SPFILENOTIFY_STARTBACKUP, 707 + SPFILENOTIFY_BACKUPERROR, 708 + SPFILENOTIFY_ENDBACKUP, 709 + SPFILENOTIFY_QUEUESCAN_EX, 710 + SPFILENOTIFY_STARTREGISTRATION, // = 25 711 + SPFILENOTIFY_ENDREGISTRATION = 32, 712 + SPFILENOTIFY_LANGMISMATCH = 0x00010000, 713 + SPFILENOTIFY_TARGETEXISTS = 0x00020000, 714 + SPFILENOTIFY_TARGETNEWER = 0x00040000 715 +} 716 + 717 +static if(_SETUPAPI_VER >= 0x0501) { 718 + enum : UINT { 719 + SPFILENOTIFY_QUEUESCAN_SIGNERINFO = 0x00000040 720 + } 721 +} 722 + 723 +enum : DWORD { 724 + SPFILELOG_SYSTEMLOG = 0x00000001, 725 + SPFILELOG_OEMFILE = 0x00000001, 726 + SPFILELOG_FORCENEW = 0x00000002, 727 + SPFILELOG_QUERYONLY = 0x00000004 728 +} 729 + 730 +enum : INT { 731 + SPFILEQ_FILE_IN_USE = 0x00000001, 732 + SPFILEQ_REBOOT_RECOMMENDED = 0x00000002, 733 + SPFILEQ_REBOOT_IN_PROGRESS = 0x00000004 734 +} 735 + 736 +enum : DWORD { 737 + SPINT_ACTIVE = 0x00000001, 738 + SPINT_DEFAULT = 0x00000002, 739 + SPINT_REMOVED = 0x00000004 740 +} 741 + 742 +deprecated enum : DWORD { 743 + SPID_ACTIVE = SPINT_ACTIVE, 744 + SPID_DEFAULT = SPINT_DEFAULT, 745 + SPID_REMOVED = SPINT_REMOVED 746 +} 747 + 748 +enum : UINT { 749 + SPINST_LOGCONFIG = 0x00000001, 750 + SPINST_INIFILES = 0x00000002, 751 + SPINST_REGISTRY = 0x00000004, 752 + SPINST_INI2REG = 0x00000008, 753 + SPINST_FILES = 0x00000010, 754 + SPINST_BITREG = 0x00000020, 755 + SPINST_REGSVR = 0x00000040, 756 + SPINST_UNREGSVR = 0x00000080, 757 + SPINST_PROFILEITEMS = 0x00000100, 758 + SPINST_SINGLESECTION = 0x00010000, 759 + SPINST_LOGCONFIG_IS_FORCED = 0x00020000, 760 + SPINST_LOGCONFIGS_ARE_OVERRIDES = 0x00040000 761 +} 762 + 763 +static if(_SETUPAPI_VER >= 0x0501) { 764 + enum : UINT { 765 + SPINST_COPYINF = 0x00000200, 766 + SPINST_ALL = 0x000003ff, 767 + SPINST_REGISTERCALLBACKAWARE = 0x00080000 768 + } 769 +} else { 770 + enum : UINT { 771 + SPINST_ALL = 0x000001ff 772 + } 773 +} 774 + 775 +enum : DWORD { 776 + SPOST_NONE, 777 + SPOST_PATH, 778 + SPOST_URL, 779 + SPOST_MAX // = 3 780 +} 781 + 782 +enum : DWORD { 783 + SPPSR_SELECT_DEVICE_RESOURCES = 1, 784 + SPPSR_ENUM_BASIC_DEVICE_PROPERTIES, 785 + SPPSR_ENUM_ADV_DEVICE_PROPERTIES 786 +} 787 + 788 +enum : DWORD { 789 + SPQ_SCAN_FILE_PRESENCE = 0x00000001, 790 + SPQ_SCAN_FILE_VALIDITY = 0x00000002, 791 + SPQ_SCAN_USE_CALLBACK = 0x00000004, 792 + SPQ_SCAN_USE_CALLBACKEX = 0x00000008, 793 + SPQ_SCAN_INFORM_USER = 0x00000010, 794 + SPQ_SCAN_PRUNE_COPY_QUEUE = 0x00000020 795 +} 796 + 797 +static if(_SETUPAPI_VER >= 0x0501) { 798 + enum : DWORD { 799 + SPQ_SCAN_USE_CALLBACK_SIGNERINFO = 0x00000040, 800 + SPQ_SCAN_PRUNE_DELREN = 0x00000080 801 + } 802 +} 803 + 804 +enum : UINT_PTR { 805 + SPQ_DELAYED_COPY = 0x00000001 806 +} 807 + 808 +enum : DWORD { 809 + SPRDI_FIND_DUPS = 0x00000001, 810 +} 811 + 812 +enum : DWORD { 813 + SPSVCINST_TAGTOFRONT = 0x00000001, 814 + SPSVCINST_ASSOCSERVICE = 0x00000002, 815 + SPSVCINST_DELETEEVENTLOGENTRY = 0x00000004, 816 + SPSVCINST_NOCLOBBER_DISPLAYNAME = 0x00000008, 817 + SPSVCINST_NOCLOBBER_STARTTYPE = 0x00000010, 818 + SPSVCINST_NOCLOBBER_ERRORCONTROL = 0x00000020, 819 + SPSVCINST_NOCLOBBER_LOADORDERGROUP = 0x00000040, 820 + SPSVCINST_NOCLOBBER_DEPENDENCIES = 0x00000080, 821 + SPSVCINST_NOCLOBBER_DESCRIPTION = 0x00000100, 822 + SPSVCINST_STOPSERVICE = 0x00000200 823 +} 824 + 825 +static if(_SETUPAPI_VER >= 0x0501) { 826 + enum : DWORD { 827 + SPSVCINST_CLOBBER_SECURITY = 0x00000400 828 + } 829 +} 830 + 831 +enum : DWORD { 832 + SPWPT_SELECTDEVICE = 0x00000001 833 +} 834 + 835 +enum : DWORD { 836 + SPWP_USE_DEVINFO_DATA = 0x00000001 837 +} 838 + 839 +enum : UINT { 840 + SRCINFO_PATH = 1, 841 + SRCINFO_TAGFILE, 842 + SRCINFO_DESCRIPTION, 843 + SRCINFO_FLAGS // = 4 844 +} 845 + 846 +enum : DWORD { 847 + SRCLIST_TEMPORARY = 0x00000001, 848 + SRCLIST_NOBROWSE = 0x00000002, 849 + SRCLIST_SYSTEM = 0x00000010, 850 + SRCLIST_USER = 0x00000020, 851 + SRCLIST_SYSIFADMIN = 0x00000040, 852 + SRCLIST_SUBDIRS = 0x00000100, 853 + SRCLIST_APPEND = 0x00000200, 854 + SRCLIST_NOSTRIPPLATFORM = 0x00000400 855 +} 856 + 857 +alias PVOID HINF; 858 +alias PVOID HDSKSPC; 859 +alias HANDLE HDEVINFO; 860 +alias PVOID HSPFILEQ; 861 +alias PVOID HSPFILELOG; 862 + 863 +enum SetupFileLogInfo { 864 + SetupFileLogSourceFilename, 865 + SetupFileLogChecksum, 866 + SetupFileLogDiskTagfile, 867 + SetupFileLogDiskDescription, 868 + SetupFileLogOtherInfo, 869 + SetupFileLogMax 870 +} 871 + 872 +align(1): 873 + 874 +struct INFCONTEXT { 875 + PVOID Inf; 876 + PVOID CurrentInf; 877 + UINT Section; 878 + UINT Line; 879 +} 880 +alias INFCONTEXT* PINFCONTEXT; 881 + 882 +struct SP_INF_INFORMATION { 883 + DWORD InfStyle; 884 + DWORD InfCount; 885 + BYTE _VersionData[1]; 886 + BYTE* VersionData() { return _VersionData.ptr; } 887 +} 888 +alias SP_INF_INFORMATION* PSP_INF_INFORMATION; 889 + 890 +struct SP_ALTPLATFORM_INFO { 891 + DWORD cbSize = SP_ALTPLATFORM_INFO.sizeof; 892 + DWORD Platform; 893 + DWORD MajorVersion; 894 + DWORD MinorVersion; 895 + WORD ProcessorArchitecture; 896 + WORD Reserved; 897 +} 898 +alias SP_ALTPLATFORM_INFO* PSP_ALTPLATFORM_INFO; 899 + 900 +struct SP_ORIGINAL_FILE_INFO_A { 901 + DWORD cbSize = SP_ORIGINAL_FILE_INFO_A.sizeof; 902 + CHAR OriginalInfName[MAX_PATH]; 903 + CHAR OriginalCatalogName[MAX_PATH]; 904 +} 905 +alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO_A; 906 + 907 +struct SP_ORIGINAL_FILE_INFO_W { 908 + DWORD cbSize = SP_ORIGINAL_FILE_INFO_W.sizeof; 909 + WCHAR OriginalInfName[MAX_PATH]; 910 + WCHAR OriginalCatalogName[MAX_PATH]; 911 +} 912 +alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO_W; 913 + 914 +struct FILEPATHS_A { 915 + PCSTR Target; 916 + PCSTR Source; 917 + UINT Win32Error; 918 + DWORD Flags; 919 +} 920 +alias FILEPATHS_A* PFILEPATHS_A; 921 + 922 +struct FILEPATHS_W { 923 + PCWSTR Target; 924 + PCWSTR Source; 925 + UINT Win32Error; 926 + DWORD Flags; 927 +} 928 +alias FILEPATHS_W* PFILEPATHS_W; 929 + 930 +struct SOURCE_MEDIA_A { 931 + PCSTR Reserved; 932 + PCSTR Tagfile; 933 + PCSTR Description; 934 + PCSTR SourcePath; 935 + PCSTR SourceFile; 936 + DWORD Flags; 937 +} 938 +alias SOURCE_MEDIA_A* PSOURCE_MEDIA_A; 939 + 940 +struct SOURCE_MEDIA_W { 941 + PCWSTR Reserved; 942 + PCWSTR Tagfile; 943 + PCWSTR Description; 944 + PCWSTR SourcePath; 945 + PCWSTR SourceFile; 946 + DWORD Flags; 947 +} 948 +alias SOURCE_MEDIA_W* PSOURCE_MEDIA_W; 949 + 950 +struct CABINET_INFO_A { 951 + PCSTR CabinetPath; 952 + PCSTR CabinetFile; 953 + PCSTR DiskName; 954 + USHORT SetId; 955 + USHORT CabinetNumber; 956 +} 957 +alias CABINET_INFO_A* PCABINET_INFO_A; 958 + 959 +struct CABINET_INFO_W { 960 + PCWSTR CabinetPath; 961 + PCWSTR CabinetFile; 962 + PCWSTR DiskName; 963 + USHORT SetId; 964 + USHORT CabinetNumber; 965 +} 966 +alias CABINET_INFO_W* PCABINET_INFO_W; 967 + 968 +struct FILE_IN_CABINET_INFO_A { 969 + PCSTR NameInCabinet; 970 + DWORD FileSize; 971 + DWORD Win32Error; 972 + WORD DosDate; 973 + WORD DosTime; 974 + WORD DosAttribs; 975 + CHAR FullTargetName[MAX_PATH]; 976 +} 977 +alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO_A; 978 + 979 +struct FILE_IN_CABINET_INFO_W { 980 + PCWSTR NameInCabinet; 981 + DWORD FileSize; 982 + DWORD Win32Error; 983 + WORD DosDate; 984 + WORD DosTime; 985 + WORD DosAttribs; 986 + WCHAR FullTargetName[MAX_PATH]; 987 +} 988 +alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO_W; 989 + 990 +struct SP_FILE_COPY_PARAMS_A { 991 + DWORD cbSize = SP_FILE_COPY_PARAMS_A.sizeof; 992 + HSPFILEQ QueueHandle; 993 + PCSTR SourceRootPath; 994 + PCSTR SourcePath; 995 + PCSTR SourceFilename; 996 + PCSTR SourceDescription; 997 + PCSTR SourceTagfile; 998 + PCSTR TargetDirectory; 999 + PCSTR TargetFilename; 1000 + DWORD CopyStyle; 1001 + HINF LayoutInf; 1002 + PCSTR SecurityDescriptor; 1003 +} 1004 +alias SP_FILE_COPY_PARAMS_A* PSP_FILE_COPY_PARAMS_A; 1005 + 1006 +struct SP_FILE_COPY_PARAMS_W { 1007 + DWORD cbSize = SP_FILE_COPY_PARAMS_W.sizeof; 1008 + HSPFILEQ QueueHandle; 1009 + PCWSTR SourceRootPath; 1010 + PCWSTR SourcePath; 1011 + PCWSTR SourceFilename; 1012 + PCWSTR SourceDescription; 1013 + PCWSTR SourceTagfile; 1014 + PCWSTR TargetDirectory; 1015 + PCWSTR TargetFilename; 1016 + DWORD CopyStyle; 1017 + HINF LayoutInf; 1018 + PCWSTR SecurityDescriptor; 1019 +} 1020 +alias SP_FILE_COPY_PARAMS_W* PSP_FILE_COPY_PARAMS_W; 1021 + 1022 +struct SP_DEVINFO_DATA { 1023 + DWORD cbSize = SP_DEVINFO_DATA.sizeof; 1024 + GUID ClassGuid; 1025 + DWORD DevInst; 1026 + ULONG_PTR Reserved; 1027 +} 1028 +alias SP_DEVINFO_DATA* PSP_DEVINFO_DATA; 1029 + 1030 +struct SP_DEVICE_INTERFACE_DATA { 1031 + DWORD cbSize = SP_DEVICE_INTERFACE_DATA.sizeof; 1032 + GUID InterfaceClassGuid; 1033 + DWORD Flags; 1034 + ULONG_PTR Reserved; 1035 +} 1036 +alias SP_DEVICE_INTERFACE_DATA* PSP_DEVICE_INTERFACE_DATA; 1037 +deprecated alias SP_DEVICE_INTERFACE_DATA SP_INTERFACE_DEVICE_DATA; 1038 +deprecated alias SP_DEVICE_INTERFACE_DATA* PSP_INTERFACE_DEVICE_DATA; 1039 + 1040 +struct SP_DEVICE_INTERFACE_DETAIL_DATA_A { 1041 + DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_A.sizeof; 1042 + CHAR _DevicePath[1]; 1043 + CHAR* DevicePath() { return _DevicePath.ptr; } 1044 +} 1045 +alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA_A; 1046 + 1047 +struct SP_DEVICE_INTERFACE_DETAIL_DATA_W { 1048 + DWORD cbSize = SP_DEVICE_INTERFACE_DETAIL_DATA_W.sizeof; 1049 + WCHAR _DevicePath[1]; 1050 + WCHAR* DevicePath() { return _DevicePath.ptr; } 1051 +} 1052 +alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA_W; 1053 + 1054 +deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA_A; 1055 +deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_INTERFACE_DEVICE_DETAIL_DATA_A; 1056 +deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA_W; 1057 +deprecated alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_DATA_W; 1058 + 1059 +struct SP_DEVINFO_LIST_DETAIL_DATA_A { 1060 + DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_A.sizeof; 1061 + GUID ClassGuid; 1062 + HANDLE RemoteMachineHandle; 1063 + CHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; 1064 +} 1065 +alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA_A; 1066 + 1067 +struct SP_DEVINFO_LIST_DETAIL_DATA_W { 1068 + DWORD cbSize = SP_DEVINFO_LIST_DETAIL_DATA_W.sizeof; 1069 + GUID ClassGuid; 1070 + HANDLE RemoteMachineHandle; 1071 + WCHAR RemoteMachineName[SP_MAX_MACHINENAME_LENGTH]; 1072 +} 1073 +alias SP_DEVINFO_LIST_DETAIL_DATA_W* PSP_DEVINFO_LIST_DETAIL_DATA_W; 1074 + 1075 +extern(Windows) alias UINT function(PVOID,UINT,UINT_PTR,UINT_PTR) PSP_FILE_CALLBACK_A; 1076 +extern(Windows) alias UINT function(PVOID,UINT,UINT_PTR,UINT_PTR) PSP_FILE_CALLBACK_W; 1077 + 1078 +struct SP_DEVINSTALL_PARAMS_A { 1079 + DWORD cbSize = SP_DEVINSTALL_PARAMS_A.sizeof; 1080 + DWORD Flags; 1081 + DWORD FlagsEx; 1082 + HWND hwndParent; 1083 + PSP_FILE_CALLBACK_A InstallMsgHandler; 1084 + PVOID InstallMsgHandlerContext; 1085 + HSPFILEQ FileQueue; 1086 + ULONG_PTR ClassInstallReserved; 1087 + DWORD Reserved; 1088 + CHAR DriverPath[MAX_PATH]; 1089 +} 1090 +alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS_A; 1091 + 1092 +struct SP_DEVINSTALL_PARAMS_W { 1093 + DWORD cbSize = SP_DEVINSTALL_PARAMS_W.sizeof; 1094 + DWORD Flags; 1095 + DWORD FlagsEx; 1096 + HWND hwndParent; 1097 + PSP_FILE_CALLBACK_W InstallMsgHandler; 1098 + PVOID InstallMsgHandlerContext; 1099 + HSPFILEQ FileQueue; 1100 + ULONG_PTR ClassInstallReserved; 1101 + DWORD Reserved; 1102 + WCHAR DriverPath[MAX_PATH]; 1103 +} 1104 +alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS_W; 1105 + 1106 +struct SP_CLASSINSTALL_HEADER { 1107 + DWORD cbSize = SP_CLASSINSTALL_HEADER.sizeof; 1108 + DI_FUNCTION InstallFunction; 1109 +} 1110 +alias SP_CLASSINSTALL_HEADER* PSP_CLASSINSTALL_HEADER; 1111 + 1112 +struct SP_ENABLECLASS_PARAMS { 1113 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1114 + GUID ClassGuid; 1115 + DWORD EnableMessage; 1116 +} 1117 +alias SP_ENABLECLASS_PARAMS* PSP_ENABLECLASS_PARAMS; 1118 + 1119 +struct SP_MOVEDEV_PARAMS { 1120 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1121 + SP_DEVINFO_DATA SourceDeviceInfoData; 1122 +} 1123 +alias SP_MOVEDEV_PARAMS* PSP_MOVEDEV_PARAMS; 1124 + 1125 +struct SP_PROPCHANGE_PARAMS { 1126 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1127 + DWORD StateChange; 1128 + DWORD Scope; 1129 + DWORD HwProfile; 1130 +} 1131 +alias SP_PROPCHANGE_PARAMS* PSP_PROPCHANGE_PARAMS; 1132 + 1133 +struct SP_REMOVEDEVICE_PARAMS { 1134 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1135 + DWORD Scope; 1136 + DWORD HwProfile; 1137 +} 1138 +alias SP_REMOVEDEVICE_PARAMS* PSP_REMOVEDEVICE_PARAMS; 1139 + 1140 +struct SP_UNREMOVEDEVICE_PARAMS { 1141 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1142 + DWORD Scope; 1143 + DWORD HwProfile; 1144 +} 1145 +alias SP_UNREMOVEDEVICE_PARAMS* PSP_UNREMOVEDEVICE_PARAMS; 1146 + 1147 +struct SP_SELECTDEVICE_PARAMS_A { 1148 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1149 + CHAR Title[MAX_TITLE_LEN]; 1150 + CHAR Instructions[MAX_INSTRUCTION_LEN]; 1151 + CHAR ListLabel[MAX_LABEL_LEN]; 1152 + CHAR SubTitle[MAX_SUBTITLE_LEN]; 1153 + BYTE Reserved[2]; 1154 +} 1155 +alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS_A; 1156 + 1157 +struct SP_SELECTDEVICE_PARAMS_W { 1158 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1159 + WCHAR Title[MAX_TITLE_LEN]; 1160 + WCHAR Instructions[MAX_INSTRUCTION_LEN]; 1161 + WCHAR ListLabel[MAX_LABEL_LEN]; 1162 + WCHAR SubTitle[MAX_SUBTITLE_LEN]; 1163 +} 1164 +alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS_W; 1165 + 1166 +extern(Windows) alias BOOL function(PVOID,DWORD) PDETECT_PROGRESS_NOTIFY; 1167 + 1168 +struct SP_DETECTDEVICE_PARAMS { 1169 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1170 + PDETECT_PROGRESS_NOTIFY DetectProgressNotify; 1171 + PVOID ProgressNotifyParam; 1172 +} 1173 +alias SP_DETECTDEVICE_PARAMS* PSP_DETECTDEVICE_PARAMS; 1174 + 1175 +struct SP_INSTALLWIZARD_DATA { 1176 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1177 + DWORD Flags; 1178 + HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; 1179 + DWORD NumDynamicPages; 1180 + DWORD DynamicPageFlags; 1181 + DWORD PrivateFlags; 1182 + LPARAM PrivateData; 1183 + HWND hwndWizardDlg; 1184 +} 1185 +alias SP_INSTALLWIZARD_DATA* PSP_INSTALLWIZARD_DATA; 1186 + 1187 +struct SP_NEWDEVICEWIZARD_DATA { 1188 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1189 + DWORD Flags; 1190 + HPROPSHEETPAGE DynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; 1191 + DWORD NumDynamicPages; 1192 + HWND hwndWizardDlg; 1193 +} 1194 +alias SP_NEWDEVICEWIZARD_DATA* PSP_NEWDEVICEWIZARD_DATA; 1195 +alias SP_NEWDEVICEWIZARD_DATA SP_ADDPROPERTYPAGE_DATA; 1196 +alias SP_NEWDEVICEWIZARD_DATA* PSP_ADDPROPERTYPAGE_DATA; 1197 + 1198 +struct SP_TROUBLESHOOTER_PARAMS_A { 1199 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1200 + CHAR ChmFile[MAX_PATH]; 1201 + CHAR HtmlTroubleShooter[MAX_PATH]; 1202 +} 1203 +alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS_A; 1204 + 1205 +struct SP_TROUBLESHOOTER_PARAMS_W { 1206 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1207 + WCHAR ChmFile[MAX_PATH]; 1208 + WCHAR HtmlTroubleShooter[MAX_PATH]; 1209 +} 1210 +alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS_W; 1211 + 1212 +struct SP_POWERMESSAGEWAKE_PARAMS_A { 1213 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1214 + CHAR PowerMessageWake[LINE_LEN*2]; 1215 +} 1216 +alias SP_POWERMESSAGEWAKE_PARAMS_A* PSP_POWERMESSAGEWAKE_PARAMS_A; 1217 + 1218 +struct SP_POWERMESSAGEWAKE_PARAMS_W { 1219 + SP_CLASSINSTALL_HEADER ClassInstallHeader; 1220 + WCHAR PowerMessageWake[LINE_LEN*2]; 1221 +} 1222 +alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS_W; 1223 + 1224 +struct SP_DRVINFO_DATA_V2_A { 1225 + DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; 1226 + DWORD DriverType; 1227 + ULONG_PTR Reserved; 1228 + CHAR Description[LINE_LEN]; 1229 + CHAR MfgName[LINE_LEN]; 1230 + CHAR ProviderName[LINE_LEN]; 1231 + FILETIME DriverDate; 1232 + DWORDLONG DriverVersion; 1233 +} 1234 +alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_V2_A; 1235 + 1236 +struct SP_DRVINFO_DATA_V2_W { 1237 + DWORD cbSize = SP_DRVINFO_DATA_V2_A.sizeof; 1238 + DWORD DriverType; 1239 + ULONG_PTR Reserved; 1240 + WCHAR Description[LINE_LEN]; 1241 + WCHAR MfgName[LINE_LEN]; 1242 + WCHAR ProviderName[LINE_LEN]; 1243 + FILETIME DriverDate; 1244 + DWORDLONG DriverVersion; 1245 +} 1246 +alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_V2_W; 1247 + 1248 +struct SP_DRVINFO_DATA_V1_A { 1249 + DWORD cbSize = SP_DRVINFO_DATA_V1_A.sizeof; 1250 + DWORD DriverType; 1251 + ULONG_PTR Reserved; 1252 + CHAR Description[LINE_LEN]; 1253 + CHAR MfgName[LINE_LEN]; 1254 + CHAR ProviderName[LINE_LEN]; 1255 +} 1256 +alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_V1_A; 1257 + 1258 +struct SP_DRVINFO_DATA_V1_W { 1259 + DWORD cbSize = SP_DRVINFO_DATA_V1_W.sizeof; 1260 + DWORD DriverType; 1261 + ULONG_PTR Reserved; 1262 + WCHAR Description[LINE_LEN]; 1263 + WCHAR MfgName[LINE_LEN]; 1264 + WCHAR ProviderName[LINE_LEN]; 1265 +} 1266 +alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_V1_W; 1267 + 1268 +version (Unicode) { 1269 + alias SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_V1; 1270 + alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_V2; 1271 +} else { 1272 + alias SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_V1; 1273 + alias SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_V2; 1274 +} 1275 +alias SP_DRVINFO_DATA_V1* PSP_DRVINFO_DATA_V1; 1276 +alias SP_DRVINFO_DATA_V2* PSP_DRVINFO_DATA_V2; 1277 + 1278 +static if(USE_SP_DRVINFO_DATA_V1) { 1279 + alias SP_DRVINFO_DATA_V1_A SP_DRVINFO_DATA_A; 1280 + alias SP_DRVINFO_DATA_V1_A* PSP_DRVINFO_DATA_A; 1281 + alias SP_DRVINFO_DATA_V1_W SP_DRVINFO_DATA_W; 1282 + alias SP_DRVINFO_DATA_V1_W* PSP_DRVINFO_DATA_W; 1283 + alias SP_DRVINFO_DATA_V1 SP_DRVINFO_DATA; 1284 + alias SP_DRVINFO_DATA_V1* PSP_DRVINFO_DATA; 1285 +} else { 1286 + alias SP_DRVINFO_DATA_V2_A SP_DRVINFO_DATA_A; 1287 + alias SP_DRVINFO_DATA_V2_A* PSP_DRVINFO_DATA_A; 1288 + alias SP_DRVINFO_DATA_V2_W SP_DRVINFO_DATA_W; 1289 + alias SP_DRVINFO_DATA_V2_W* PSP_DRVINFO_DATA_W; 1290 + alias SP_DRVINFO_DATA_V2 SP_DRVINFO_DATA; 1291 + alias SP_DRVINFO_DATA_V2* PSP_DRVINFO_DATA; 1292 +} 1293 + 1294 +extern(Windows) alias DWORD function(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINFO_DATA,PVOID) PSP_DETSIG_CMPPROC; 1295 + 1296 +struct SP_DRVINFO_DETAIL_DATA_A { 1297 + DWORD cbSize = SP_DRVINFO_DETAIL_DATA_A.sizeof; 1298 + FILETIME InfDate; 1299 + DWORD CompatIDsOffset; 1300 + DWORD CompatIDsLength; 1301 + ULONG_PTR Reserved; 1302 + CHAR SectionName[LINE_LEN]; 1303 + CHAR InfFileName[MAX_PATH]; 1304 + CHAR DrvDescription[LINE_LEN]; 1305 + CHAR _HardwareID[1]; 1306 + CHAR* HardwareID() { return _HardwareID.ptr; } 1307 +} 1308 +alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA_A; 1309 + 1310 +struct SP_DRVINFO_DETAIL_DATA_W { 1311 + DWORD cbSize = SP_DRVINFO_DETAIL_DATA_W.sizeof; 1312 + FILETIME InfDate; 1313 + DWORD CompatIDsOffset; 1314 + DWORD CompatIDsLength; 1315 + ULONG_PTR Reserved; 1316 + WCHAR SectionName[LINE_LEN]; 1317 + WCHAR InfFileName[MAX_PATH]; 1318 + WCHAR DrvDescription[LINE_LEN]; 1319 + WCHAR _HardwareID[1]; 1320 + WCHAR* HardwareID() { return _HardwareID.ptr; } 1321 +} 1322 +alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA_W; 1323 + 1324 +struct SP_DRVINSTALL_PARAMS { 1325 + DWORD cbSize = SP_DRVINSTALL_PARAMS.sizeof; 1326 + DWORD Rank; 1327 + DWORD Flags; 1328 + DWORD_PTR PrivateData; 1329 + DWORD Reserved; 1330 +} 1331 +alias SP_DRVINSTALL_PARAMS* PSP_DRVINSTALL_PARAMS; 1332 + 1333 +struct COINSTALLER_CONTEXT_DATA { 1334 + BOOL PostProcessing; 1335 + DWORD InstallResult; 1336 + PVOID PrivateData; 1337 +} 1338 +alias COINSTALLER_CONTEXT_DATA* PCOINSTALLER_CONTEXT_DATA; 1339 + 1340 +struct SP_CLASSIMAGELIST_DATA { 1341 + DWORD cbSize = SP_CLASSIMAGELIST_DATA.sizeof; 1342 + HIMAGELIST ImageList; 1343 + ULONG_PTR Reserved; 1344 +} 1345 +alias SP_CLASSIMAGELIST_DATA* PSP_CLASSIMAGELIST_DATA; 1346 + 1347 +struct SP_PROPSHEETPAGE_REQUEST { 1348 + DWORD cbSize = SP_PROPSHEETPAGE_REQUEST.sizeof; 1349 + DWORD PageRequested; 1350 + HDEVINFO DeviceInfoSet; 1351 + PSP_DEVINFO_DATA DeviceInfoData; 1352 +} 1353 +alias SP_PROPSHEETPAGE_REQUEST* PSP_PROPSHEETPAGE_REQUEST; 1354 + 1355 +struct SP_BACKUP_QUEUE_PARAMS_A { 1356 + DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_A.sizeof; 1357 + CHAR FullInfPath[MAX_PATH]; 1358 + INT FilenameOffset; 1359 +} 1360 +alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS_A; 1361 + 1362 +struct SP_BACKUP_QUEUE_PARAMS_W { 1363 + DWORD cbSize = SP_BACKUP_QUEUE_PARAMS_W.sizeof; 1364 + WCHAR FullInfPath[MAX_PATH]; 1365 + INT FilenameOffset; 1366 +} 1367 +alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS_W; 1368 + 1369 +version (Unicode) { 1370 + alias SP_ORIGINAL_FILE_INFO_W SP_ORIGINAL_FILE_INFO; 1371 + alias SP_ORIGINAL_FILE_INFO_W* PSP_ORIGINAL_FILE_INFO; 1372 + alias FILEPATHS_W FILEPATHS; 1373 + alias FILEPATHS_W* PFILEPATHS; 1374 + alias SOURCE_MEDIA_W SOURCE_MEDIA; 1375 + alias SOURCE_MEDIA_W* PSOURCE_MEDIA; 1376 + alias CABINET_INFO_W CABINET_INFO; 1377 + alias CABINET_INFO_W* PCABINET_INFO; 1378 + alias FILE_IN_CABINET_INFO_W FILE_IN_CABINET_INFO; 1379 + alias FILE_IN_CABINET_INFO_W* PFILE_IN_CABINET_INFO; 1380 + alias SP_FILE_COPY_PARAMS_W SP_FILE_COPY_PARAMS; 1381 + alias SP_FILE_COPY_PARAMS_W* PSP_FILE_COPY_PARAMS; 1382 + alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_DEVICE_INTERFACE_DETAIL_DATA; 1383 + alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_DEVICE_INTERFACE_DETAIL_DATA; 1384 + deprecated { 1385 + alias SP_DEVICE_INTERFACE_DETAIL_DATA_W SP_INTERFACE_DEVICE_DETAIL_DATA; 1386 + alias SP_DEVICE_INTERFACE_DETAIL_DATA_W* PSP_INTERFACE_DEVICE_DETAIL_DATA; 1387 + } 1388 + alias SP_DEVINFO_LIST_DETAIL_DATA_W SP_DEVINFO_LIST_DETAIL_DATA; 1389 + alias SP_DEVINFO_LIST_DETAIL_DATA_W *PSP_DEVINFO_LIST_DETAIL_DATA; 1390 + alias SP_DEVINSTALL_PARAMS_W SP_DEVINSTALL_PARAMS; 1391 + alias SP_DEVINSTALL_PARAMS_W* PSP_DEVINSTALL_PARAMS; 1392 + alias SP_SELECTDEVICE_PARAMS_W SP_SELECTDEVICE_PARAMS; 1393 + alias SP_SELECTDEVICE_PARAMS_W* PSP_SELECTDEVICE_PARAMS; 1394 + alias SP_TROUBLESHOOTER_PARAMS_W SP_TROUBLESHOOTER_PARAMS; 1395 + alias SP_TROUBLESHOOTER_PARAMS_W* PSP_TROUBLESHOOTER_PARAMS; 1396 + alias SP_POWERMESSAGEWAKE_PARAMS_W SP_POWERMESSAGEWAKE_PARAMS; 1397 + alias SP_POWERMESSAGEWAKE_PARAMS_W* PSP_POWERMESSAGEWAKE_PARAMS; 1398 + alias SP_DRVINFO_DETAIL_DATA_W SP_DRVINFO_DETAIL_DATA; 1399 + alias SP_DRVINFO_DETAIL_DATA_W* PSP_DRVINFO_DETAIL_DATA; 1400 + alias SP_BACKUP_QUEUE_PARAMS_W SP_BACKUP_QUEUE_PARAMS; 1401 + alias SP_BACKUP_QUEUE_PARAMS_W* PSP_BACKUP_QUEUE_PARAMS; 1402 +} else { 1403 + alias SP_ORIGINAL_FILE_INFO_A SP_ORIGINAL_FILE_INFO; 1404 + alias SP_ORIGINAL_FILE_INFO_A* PSP_ORIGINAL_FILE_INFO; 1405 + alias FILEPATHS_A FILEPATHS; 1406 + alias FILEPATHS_A* PFILEPATHS; 1407 + alias SOURCE_MEDIA_A SOURCE_MEDIA; 1408 + alias SOURCE_MEDIA_A* PSOURCE_MEDIA; 1409 + alias CABINET_INFO_A CABINET_INFO; 1410 + alias CABINET_INFO_A* PCABINET_INFO; 1411 + alias FILE_IN_CABINET_INFO_A FILE_IN_CABINET_INFO; 1412 + alias FILE_IN_CABINET_INFO_A* PFILE_IN_CABINET_INFO; 1413 + alias SP_FILE_COPY_PARAMS_A SP_FILE_COPY_PARAMS; 1414 + alias SP_FILE_COPY_PARAMS_A* PSP_FILE_COPY_PARAMS; 1415 + alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_DEVICE_INTERFACE_DETAIL_DATA; 1416 + alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_DEVICE_INTERFACE_DETAIL_DATA; 1417 + deprecated { 1418 + alias SP_DEVICE_INTERFACE_DETAIL_DATA_A SP_INTERFACE_DEVICE_DETAIL_DATA; 1419 + alias SP_DEVICE_INTERFACE_DETAIL_DATA_A* PSP_INTERFACE_DEVICE_DETAIL_DATA; 1420 + } 1421 + alias SP_DEVINFO_LIST_DETAIL_DATA_A SP_DEVINFO_LIST_DETAIL_DATA; 1422 + alias SP_DEVINFO_LIST_DETAIL_DATA_A* PSP_DEVINFO_LIST_DETAIL_DATA; 1423 + alias SP_DEVINSTALL_PARAMS_A SP_DEVINSTALL_PARAMS; 1424 + alias SP_DEVINSTALL_PARAMS_A* PSP_DEVINSTALL_PARAMS; 1425 + alias SP_SELECTDEVICE_PARAMS_A SP_SELECTDEVICE_PARAMS; 1426 + alias SP_SELECTDEVICE_PARAMS_A* PSP_SELECTDEVICE_PARAMS; 1427 + alias SP_TROUBLESHOOTER_PARAMS_A SP_TROUBLESHOOTER_PARAMS; 1428 + alias SP_TROUBLESHOOTER_PARAMS_A* PSP_TROUBLESHOOTER_PARAMS; 1429 + alias SP_POWERMESSAGEWAKE_PARAMS_A SP_POWERMESSAGEWAKE_PARAMS; 1430 + alias SP_POWERMESSAGEWAKE_PARAMS_A* PSP_POWERMESSAGEWAKE_PARAMS; 1431 + alias SP_DRVINFO_DETAIL_DATA_A SP_DRVINFO_DETAIL_DATA; 1432 + alias SP_DRVINFO_DETAIL_DATA_A* PSP_DRVINFO_DETAIL_DATA; 1433 + alias SP_BACKUP_QUEUE_PARAMS_A SP_BACKUP_QUEUE_PARAMS; 1434 + alias SP_BACKUP_QUEUE_PARAMS_A* PSP_BACKUP_QUEUE_PARAMS; 1435 +} 1436 + 1437 +extern (Windows) { 1438 + BOOL SetupAddInstallSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT); 1439 + BOOL SetupAddInstallSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT); 1440 + BOOL SetupAddSectionToDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT); 1441 + BOOL SetupAddSectionToDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT); 1442 + BOOL SetupAddToDiskSpaceListA(HDSKSPC,PCSTR,LONGLONG,UINT,PVOID,UINT); 1443 + BOOL SetupAddToDiskSpaceListW(HDSKSPC,PCWSTR,LONGLONG,UINT,PVOID,UINT); 1444 + BOOL SetupAddToSourceListA(DWORD,PCSTR); 1445 + BOOL SetupAddToSourceListW(DWORD,PCWSTR); 1446 + BOOL SetupQuerySourceListA(DWORD,PCSTR**List,PUINT); 1447 + BOOL SetupQuerySourceListW(DWORD,PCWSTR**List,PUINT); 1448 + BOOL SetupFreeSourceListA(PCSTR**List,UINT); 1449 + BOOL SetupFreeSourceListW(PCWSTR**List,UINT); 1450 + BOOL SetupAdjustDiskSpaceListA(HDSKSPC,LPCSTR,LONGLONG,PVOID,UINT); 1451 + BOOL SetupAdjustDiskSpaceListW(HDSKSPC,LPCWSTR,LONGLONG,PVOID,UINT); 1452 + UINT SetupBackupErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD); 1453 + UINT SetupBackupErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD); 1454 + BOOL SetupCancelTemporary(); 1455 + BOOL SetupCloseFileQueue(HSPFILEQ); 1456 + VOID SetupCloseInfFile(HINF); 1457 + VOID SetupCloseLog(); 1458 + BOOL SetupCommitFileQueueA(HWND,HSPFILEQ,PSP_FILE_CALLBACK_A,PVOID); 1459 + BOOL SetupCommitFileQueueW(HWND,HSPFILEQ,PSP_FILE_CALLBACK_W,PVOID); 1460 + UINT SetupCopyErrorA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,UINT,DWORD,PSTR,DWORD,PDWORD); 1461 + UINT SetupCopyErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD,PWSTR,DWORD,PDWORD); 1462 + BOOL SetupCopyOEMInfA(PCSTR,PCSTR,DWORD,DWORD,PSTR,DWORD,PDWORD,PSTR*); 1463 + BOOL SetupCopyOEMInfW(PCWSTR,PCWSTR,DWORD,DWORD,PWSTR,DWORD,PDWORD,PWSTR*); 1464 + HDSKSPC SetupCreateDiskSpaceListA(PVOID,DWORD,UINT); 1465 + HDSKSPC SetupCreateDiskSpaceListW(PVOID,DWORD,UINT); 1466 + DWORD SetupDecompressOrCopyFileA(PCSTR,PCSTR,PUINT); 1467 + DWORD SetupDecompressOrCopyFileW(PCWSTR,PCWSTR,PUINT); 1468 + UINT SetupDefaultQueueCallbackA(PVOID,UINT,UINT_PTR,UINT_PTR); 1469 + UINT SetupDefaultQueueCallbackW(PVOID,UINT,UINT_PTR,UINT_PTR); 1470 + UINT SetupDeleteErrorA(HWND,PCSTR,PCSTR,UINT,DWORD); 1471 + UINT SetupDeleteErrorW(HWND,PCWSTR,PCWSTR,UINT,DWORD); 1472 + BOOL SetupDestroyDiskSpaceList(HDSKSPC); 1473 + BOOL SetupDiAskForOEMDisk(HDEVINFO,PSP_DEVINFO_DATA); 1474 + BOOL SetupDiBuildClassInfoList(DWORD,LPGUID,DWORD,PDWORD); 1475 + BOOL SetupDiBuildClassInfoListExA(DWORD,LPGUID,DWORD,PDWORD,PCSTR,PVOID); 1476 + BOOL SetupDiBuildClassInfoListExW(DWORD,LPGUID,DWORD,PDWORD,PCWSTR,PVOID); 1477 + BOOL SetupDiBuildDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD); 1478 + BOOL SetupDiCallClassInstaller(DI_FUNCTION,HDEVINFO,PSP_DEVINFO_DATA); 1479 + BOOL SetupDiCancelDriverInfoSearch(HDEVINFO); 1480 + BOOL SetupDiChangeState(HDEVINFO,PSP_DEVINFO_DATA); 1481 + BOOL SetupDiClassGuidsFromNameA(PCSTR,LPGUID,DWORD,PDWORD); 1482 + BOOL SetupDiClassGuidsFromNameW(PCWSTR,LPGUID,DWORD,PDWORD); 1483 + BOOL SetupDiClassGuidsFromNameExA(PCSTR,LPGUID,DWORD,PDWORD,PCSTR,PVOID); 1484 + BOOL SetupDiClassGuidsFromNameExW(PCWSTR,LPGUID,DWORD,PDWORD,PCWSTR,PVOID); 1485 + BOOL SetupDiClassNameFromGuidA(CPtr!(GUID),PSTR,DWORD,PDWORD); 1486 + BOOL SetupDiClassNameFromGuidW(CPtr!(GUID),PWSTR,DWORD,PDWORD); 1487 + BOOL SetupDiClassNameFromGuidExA(CPtr!(GUID),PSTR,DWORD,PDWORD,PCSTR,PVOID); 1488 + BOOL SetupDiClassNameFromGuidExW(CPtr!(GUID),PWSTR,DWORD,PDWORD,PCWSTR,PVOID); 1489 + BOOL SetupDiCreateDeviceInfoA(HDEVINFO,PCSTR,CPtr!(GUID),PCSTR,HWND,DWORD,PSP_DEVINFO_DATA); 1490 + BOOL SetupDiCreateDeviceInfoW(HDEVINFO,PCWSTR,CPtr!(GUID),PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA); 1491 + HDEVINFO SetupDiCreateDeviceInfoList(CPtr!(GUID),HWND); 1492 + HDEVINFO SetupDiCreateDeviceInfoListExA(CPtr!(GUID),HWND,PCSTR,PVOID); 1493 + HDEVINFO SetupDiCreateDeviceInfoListExW(CPtr!(GUID),HWND,PCWSTR,PVOID); 1494 + BOOL SetupDiCreateDeviceInterfaceA(HDEVINFO,PSP_DEVINFO_DATA,CPtr!(GUID),PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA); 1495 + BOOL SetupDiCreateDeviceInterfaceW(HDEVINFO,PSP_DEVINFO_DATA,CPtr!(GUID),PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA); 1496 + HKEY SetupDiCreateDeviceInterfaceRegKeyA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCSTR); 1497 + HKEY SetupDiCreateDeviceInterfaceRegKeyW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM,HINF,PCWSTR); 1498 + HKEY SetupDiCreateDevRegKeyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCSTR); 1499 + HKEY SetupDiCreateDevRegKeyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,HINF,PCWSTR); 1500 + BOOL SetupDiDeleteDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA); 1501 + BOOL SetupDiDeleteDeviceInterfaceData(HDEVINFO,PSP_DEVICE_INTERFACE_DATA); 1502 + BOOL SetupDiDeleteDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD); 1503 + BOOL SetupDiDeleteDevRegKey(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD); 1504 + BOOL SetupDiDestroyClassImageList(PSP_CLASSIMAGELIST_DATA); 1505 + BOOL SetupDiDestroyDeviceInfoList(HDEVINFO); 1506 + BOOL SetupDiDestroyDriverInfoList(HDEVINFO,PSP_DEVINFO_DATA,DWORD); 1507 + INT SetupDiDrawMiniIcon(HDC,RECT,INT,DWORD); 1508 + BOOL SetupDiEnumDeviceInfo(HDEVINFO,DWORD,PSP_DEVINFO_DATA); 1509 + BOOL SetupDiEnumDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA,CPtr!(GUID),DWORD,PSP_DEVICE_INTERFACE_DATA); 1510 + BOOL SetupDiEnumDriverInfoA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_A); 1511 + BOOL SetupDiEnumDriverInfoW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,PSP_DRVINFO_DATA_W); 1512 + BOOL SetupDiGetActualSectionToInstallA(HINF,PCSTR,PSTR,DWORD,PDWORD,PSTR*); 1513 + BOOL SetupDiGetActualSectionToInstallW(HINF,PCWSTR,PWSTR,DWORD,PDWORD,PWSTR*); 1514 + BOOL SetupDiGetClassBitmapIndex(CPtr!(GUID),PINT); 1515 + BOOL SetupDiGetClassDescriptionA(CPtr!(GUID),PSTR,DWORD,PDWORD); 1516 + BOOL SetupDiGetClassDescriptionW(CPtr!(GUID),PWSTR,DWORD,PDWORD); 1517 + BOOL SetupDiGetClassDescriptionExA(CPtr!(GUID),PSTR,DWORD,PDWORD,PCSTR,PVOID); 1518 + BOOL SetupDiGetClassDescriptionExW(CPtr!(GUID),PWSTR,DWORD,PDWORD,PCWSTR,PVOID); 1519 + BOOL SetupDiGetClassDevPropertySheetsA(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERA,DWORD,PDWORD,DWORD); 1520 + BOOL SetupDiGetClassDevPropertySheetsW(HDEVINFO,PSP_DEVINFO_DATA,LPPROPSHEETHEADERW,DWORD,PDWORD,DWORD); 1521 + HDEVINFO SetupDiGetClassDevsA(CPtr!(GUID),PCSTR,HWND,DWORD); 1522 + HDEVINFO SetupDiGetClassDevsW(CPtr!(GUID),PCWSTR,HWND,DWORD); 1523 + HDEVINFO SetupDiGetClassDevsExA(CPtr!(GUID),PCSTR,HWND,DWORD,HDEVINFO,PCSTR,PVOID); 1524 + HDEVINFO SetupDiGetClassDevsExW(CPtr!(GUID),PCWSTR,HWND,DWORD,HDEVINFO,PCWSTR,PVOID); 1525 + BOOL SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA,CPtr!(GUID),PINT); 1526 + BOOL SetupDiGetClassImageList(PSP_CLASSIMAGELIST_DATA); 1527 + BOOL SetupDiGetClassImageListExA(PSP_CLASSIMAGELIST_DATA,PCSTR,PVOID); 1528 + BOOL SetupDiGetClassImageListExW(PSP_CLASSIMAGELIST_DATA,PCWSTR,PVOID); 1529 + BOOL SetupDiGetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD); 1530 + BOOL SetupDiGetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD,PDWORD); 1531 + BOOL SetupDiGetClassRegistryPropertyA(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCSTR,PVOID); 1532 + BOOL SetupDiGetClassRegistryPropertyW(LPGUID,DWORD,PDWORD,PBYTE,DWORD,PDWORD,PCWSTR,PVOID); 1533 + BOOL SetupDiGetDeviceInfoListClass(HDEVINFO,LPGUID); 1534 + BOOL SetupDiGetDeviceInfoListDetailA(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_A); 1535 + BOOL SetupDiGetDeviceInfoListDetailW(HDEVINFO,PSP_DEVINFO_LIST_DETAIL_DATA_W); 1536 + BOOL SetupDiGetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A); 1537 + BOOL SetupDiGetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W); 1538 + BOOL SetupDiGetDeviceInstanceIdA(HDEVINFO,PSP_DEVINFO_DATA,PSTR,DWORD,PDWORD); 1539 + BOOL SetupDiGetDeviceInstanceIdW(HDEVINFO,PSP_DEVINFO_DATA,PWSTR,DWORD,PDWORD); 1540 + BOOL SetupDiGetDeviceInterfaceAlias(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,CPtr!(GUID),PSP_DEVICE_INTERFACE_DATA); 1541 + BOOL SetupDiGetDeviceInterfaceDetailA(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_A,DWORD,PDWORD,PSP_DEVINFO_DATA); 1542 + BOOL SetupDiGetDeviceInterfaceDetailW(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,PSP_DEVICE_INTERFACE_DETAIL_DATA_W,DWORD,PDWORD,PSP_DEVINFO_DATA); 1543 + BOOL SetupDiGetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD); 1544 + BOOL SetupDiGetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PDWORD,PBYTE,DWORD,PDWORD); 1545 + BOOL SetupDiGetDriverInfoDetailA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINFO_DETAIL_DATA_A,DWORD,PDWORD); 1546 + BOOL SetupDiGetDriverInfoDetailW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINFO_DETAIL_DATA_W,DWORD,PDWORD); 1547 + BOOL SetupDiGetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS); 1548 + BOOL SetupDiGetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS); 1549 + BOOL SetupDiGetHwProfileFriendlyNameA(DWORD,PSTR,DWORD,PDWORD); 1550 + BOOL SetupDiGetHwProfileFriendlyNameExA(DWORD,PSTR,DWORD,PDWORD,PCSTR,PVOID); 1551 + BOOL SetupDiGetHwProfileFriendlyNameExW(DWORD,PWSTR,DWORD,PDWORD,PCWSTR,PVOID); 1552 + BOOL SetupDiGetHwProfileFriendlyNameW(DWORD,PWSTR,DWORD,PDWORD); 1553 + BOOL SetupDiGetHwProfileList(PDWORD,DWORD,PDWORD,PDWORD); 1554 + BOOL SetupDiGetHwProfileListExA(PDWORD,DWORD,PDWORD,PDWORD,PCSTR,PVOID); 1555 + BOOL SetupDiGetHwProfileListExW(PDWORD,DWORD,PDWORD,PDWORD,PCWSTR,PVOID); 1556 + BOOL SetupDiGetINFClassA(PCSTR,LPGUID,PSTR,DWORD,PDWORD); 1557 + BOOL SetupDiGetINFClassW(PCWSTR,LPGUID,PWSTR,DWORD,PDWORD); 1558 + BOOL SetupDiGetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA); 1559 + BOOL SetupDiGetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A); 1560 + BOOL SetupDiGetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W); 1561 + HPROPSHEETPAGE SetupDiGetWizardage(HDEVINFO,PSP_DEVINFO_DATA,PSP_INSTALLWIZARD_DATA,DWORD,DWORD); 1562 + BOOL SetupDiInstallClassA(HWND,PCSTR,DWORD,HSPFILEQ); 1563 + BOOL SetupDiInstallClassW(HWND,PCWSTR,DWORD,HSPFILEQ); 1564 + BOOL SetupDiInstallClassExA(HWND,PCSTR,DWORD,HSPFILEQ,CPtr!(GUID),PVOID,PVOID); 1565 + BOOL SetupDiInstallClassExW(HWND,PCWSTR,DWORD,HSPFILEQ,CPtr!(GUID),PVOID,PVOID); 1566 + BOOL SetupDiInstallDevice(HDEVINFO,PSP_DEVINFO_DATA); 1567 + BOOL SetupDiInstallDeviceInterfaces(HDEVINFO,PSP_DEVINFO_DATA); 1568 + BOOL SetupDiInstallDriverFiles(HDEVINFO,PSP_DEVINFO_DATA); 1569 + BOOL SetupDiLoadClassIcon(CPtr!(GUID),HICON*,PINT); 1570 + BOOL SetupDiMoveDuplicateDevice(HDEVINFO,PSP_DEVINFO_DATA); 1571 + HKEY SetupDiOpenClassRegKey(CPtr!(GUID),REGSAM); 1572 + HKEY SetupDiOpenClassRegKeyExA(CPtr!(GUID),REGSAM,DWORD,PCSTR,PVOID); 1573 + HKEY SetupDiOpenClassRegKeyExW(CPtr!(GUID),REGSAM,DWORD,PCWSTR,PVOID); 1574 + BOOL SetupDiOpenDeviceInfoA(HDEVINFO,PCSTR,HWND,DWORD,PSP_DEVINFO_DATA); 1575 + BOOL SetupDiOpenDeviceInfoW(HDEVINFO,PCWSTR,HWND,DWORD,PSP_DEVINFO_DATA); 1576 + BOOL SetupDiOpenDeviceInterfaceA(HDEVINFO,PCSTR,DWORD,PSP_DEVICE_INTERFACE_DATA); 1577 + BOOL SetupDiOpenDeviceInterfaceW(HDEVINFO,PCWSTR,DWORD,PSP_DEVICE_INTERFACE_DATA); 1578 + HKEY SetupDiOpenDeviceInterfaceRegKey(HDEVINFO,PSP_DEVICE_INTERFACE_DATA,DWORD,REGSAM); 1579 + HKEY SetupDiOpenDevRegKey(HDEVINFO,PSP_DEVINFO_DATA,DWORD,DWORD,DWORD,REGSAM); 1580 + BOOL SetupDiRegisterCoDeviceInstallers(HDEVINFO,PSP_DEVINFO_DATA); 1581 + BOOL SetupDiRegisterDeviceInfo(HDEVINFO,PSP_DEVINFO_DATA,DWORD,PSP_DETSIG_CMPPROC,PVOID,PSP_DEVINFO_DATA); 1582 + BOOL SetupDiRemoveDevice(HDEVINFO,PSP_DEVINFO_DATA); 1583 + BOOL SetupDiRemoveDeviceInterface(HDEVINFO,PSP_DEVICE_INTERFACE_DATA); 1584 + BOOL SetupDiSelectBestCompatDrv(HDEVINFO,PSP_DEVINFO_DATA); 1585 + BOOL SetupDiSelectDevice(HDEVINFO,PSP_DEVINFO_DATA); 1586 + BOOL SetupDiSelectOEMDrv(HWND,HDEVINFO,PSP_DEVINFO_DATA); 1587 + BOOL SetupDiSetClassInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD); 1588 + BOOL SetupDiSetClassInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_CLASSINSTALL_HEADER,DWORD); 1589 + BOOL SetupDiSetClassRegistryPropertyA(LPGUID,DWORD,CPtr!(BYTE),DWORD,PCSTR,PVOID); 1590 + BOOL SetupDiSetClassRegistryPropertyW(LPGUID,DWORD,CPtr!(BYTE),DWORD,PCWSTR,PVOID); 1591 + BOOL SetupDiSetDeviceInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_A); 1592 + BOOL SetupDiSetDeviceInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DEVINSTALL_PARAMS_W); 1593 + BOOL SetupDiSetDeviceRegistryPropertyA(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CPtr!(BYTE),DWORD); 1594 + BOOL SetupDiSetDeviceRegistryPropertyW(HDEVINFO,PSP_DEVINFO_DATA,DWORD,CPtr!(BYTE),DWORD); 1595 + BOOL SetupDiSetDriverInstallParamsA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A,PSP_DRVINSTALL_PARAMS); 1596 + BOOL SetupDiSetDriverInstallParamsW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W,PSP_DRVINSTALL_PARAMS); 1597 + BOOL SetupDiSetSelectedDevice(HDEVINFO,PSP_DEVINFO_DATA); 1598 + BOOL SetupDiSetSelectedDriverA(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_A); 1599 + BOOL SetupDiSetSelectedDriverW(HDEVINFO,PSP_DEVINFO_DATA,PSP_DRVINFO_DATA_W); 1600 + BOOL SetupDiUnremoveDevice(HDEVINFO,PSP_DEVINFO_DATA); 1601 + HDSKSPC SetupDuplicateDiskSpaceListA(HDSKSPC,PVOID,DWORD,UINT); 1602 + HDSKSPC SetupDuplicateDiskSpaceListW(HDSKSPC,PVOID,DWORD,UINT); 1603 + BOOL SetupFindFirstLineA(HINF,PCSTR,PCSTR,PINFCONTEXT); 1604 + BOOL SetupFindFirstLineW(HINF,PCWSTR,PCWSTR,PINFCONTEXT); 1605 + BOOL SetupFindNextLine(PINFCONTEXT,PINFCONTEXT); 1606 + BOOL SetupFindNextMatchLineA(PINFCONTEXT,PCSTR,PINFCONTEXT); 1607 + BOOL SetupFindNextMatchLineW(PINFCONTEXT,PCWSTR,PINFCONTEXT); 1608 + BOOL SetupFreeA(PCSTR**,UINT); 1609 + BOOL SetupFreeW(PCWSTR**,UINT); 1610 + BOOL SetupGetBackupInformationA(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_A); 1611 + BOOL SetupGetBackupInformationW(HSPFILEQ,PSP_BACKUP_QUEUE_PARAMS_W); 1612 + BOOL SetupGetBinaryField(PINFCONTEXT,DWORD,PBYTE,DWORD,LPDWORD); 1613 + DWORD SetupGetFieldCount(PINFCONTEXT); 1614 + DWORD SetupGetFileCompressionInfoA(PCSTR,PSTR*,PDWORD,PDWORD,PUINT); 1615 + DWORD SetupGetFileCompressionInfoW(PCWSTR,PWSTR*,PDWORD,PDWORD,PUINT); 1616 + BOOL SetupGetInfFileListA(PCSTR,DWORD,PSTR,DWORD,PDWORD); 1617 + BOOL SetupGetInfFileListW(PCWSTR,DWORD,PWSTR,DWORD,PDWORD); 1618 + BOOL SetupGetInfInformationA(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD); 1619 + BOOL SetupGetInfInformationW(LPCVOID,DWORD,PSP_INF_INFORMATION,DWORD,PDWORD); 1620 + BOOL SetupGetIntField(PINFCONTEXT,DWORD,PINT); 1621 + BOOL SetupGetLineByIndexA(HINF,PCSTR,DWORD,PINFCONTEXT); 1622 + BOOL SetupGetLineByIndexW(HINF,PCWSTR,DWORD,PINFCONTEXT); 1623 + LONG SetupGetLineCountA(HINF,PCSTR); 1624 + LONG SetupGetLineCountW(HINF,PCWSTR); 1625 + BOOL SetupGetLineTextA(PINFCONTEXT,HINF,PCSTR,PCSTR,PSTR,DWORD,PDWORD); 1626 + BOOL SetupGetLineTextW(PINFCONTEXT,HINF,PCWSTR,PCWSTR,PWSTR,DWORD,PDWORD); 1627 + BOOL SetupGetMultiSzFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,LPDWORD); 1628 + BOOL SetupGetMultiSzFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,LPDWORD); 1629 + BOOL SetupGetSourceFileLocationA(HINF,PINFCONTEXT,PCSTR,PUINT,PSTR,DWORD,PDWORD); 1630 + BOOL SetupGetSourceFileLocationW(HINF,PINFCONTEXT,PCWSTR,PUINT,PWSTR,DWORD,PDWORD); 1631 + BOOL SetupGetSourceFileSizeA(HINF,PINFCONTEXT,PCSTR,PCSTR,PDWORD,UINT); 1632 + BOOL SetupGetSourceFileSizeW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PDWORD,UINT); 1633 + BOOL SetupGetSourceInfoA(HINF,UINT,UINT,PSTR,DWORD,PDWORD); 1634 + BOOL SetupGetSourceInfoW(HINF,UINT,UINT,PWSTR,DWORD,PDWORD); 1635 + BOOL SetupGetStringFieldA(PINFCONTEXT,DWORD,PSTR,DWORD,PDWORD); 1636 + BOOL SetupGetStringFieldW(PINFCONTEXT,DWORD,PWSTR,DWORD,PDWORD); 1637 + BOOL SetupGetTargetPathA(HINF,PINFCONTEXT,PCSTR,PSTR,DWORD,PDWORD); 1638 + BOOL SetupGetTargetPathW(HINF,PINFCONTEXT,PCWSTR,PWSTR,DWORD,PDWORD); 1639 + PVOID SetupInitDefaultQueueCallback(HWND); 1640 + PVOID SetupInitDefaultQueueCallbackEx(HWND,HWND,UINT,DWORD,PVOID); 1641 + HSPFILELOG SetupInitializeFileLogA(PCSTR,DWORD); 1642 + HSPFILELOG SetupInitializeFileLogW(PCWSTR,DWORD); 1643 + BOOL SetupInstallFileA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID); 1644 + BOOL SetupInstallFileW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID); 1645 + BOOL SetupInstallFileExA(HINF,PINFCONTEXT,PCSTR,PCSTR,PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID,PBOOL); 1646 + BOOL SetupInstallFileExW(HINF,PINFCONTEXT,PCWSTR,PCWSTR,PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID,PBOOL); 1647 + BOOL SetupInstallFilesFromInfSectionA(HINF,HINF,HSPFILEQ,PCSTR,PCSTR,UINT); 1648 + BOOL SetupInstallFilesFromInfSectionW(HINF,HINF,HSPFILEQ,PCWSTR,PCWSTR,UINT); 1649 + BOOL SetupInstallFromInfSectionA(HWND,HINF,PCSTR,UINT,HKEY,PCSTR,UINT,PSP_FILE_CALLBACK_A,PVOID,HDEVINFO,PSP_DEVINFO_DATA); 1650 + BOOL SetupInstallFromInfSectionW(HWND,HINF,PCWSTR,UINT,HKEY,PCWSTR,UINT,PSP_FILE_CALLBACK_W,PVOID,HDEVINFO,PSP_DEVINFO_DATA); 1651 + BOOL SetupInstallServicesFromInfSectionA(HINF,PCSTR,DWORD); 1652 + BOOL SetupInstallServicesFromInfSectionW(HINF,PCWSTR,DWORD); 1653 + BOOL SetupInstallServicesFromInfSectionExA(HINF,PCSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID); 1654 + BOOL SetupInstallServicesFromInfSectionExW(HINF,PCWSTR,DWORD,HDEVINFO,PSP_DEVINFO_DATA,PVOID,PVOID); 1655 + BOOL SetupIterateCabinetA(PCSTR,DWORD,PSP_FILE_CALLBACK_A,PVOID); 1656 + BOOL SetupIterateCabinetW(PCWSTR,DWORD,PSP_FILE_CALLBACK_W,PVOID); 1657 + BOOL SetupLogErrorA(LPCSTR,LogSeverity); 1658 + BOOL SetupLogErrorW(LPCWSTR,LogSeverity); 1659 + BOOL SetupLogFileA(HSPFILELOG,PCSTR,PCSTR,PCSTR,DWORD,PCSTR,PCSTR,PCSTR,DWORD); 1660 + BOOL SetupLogFileW(HSPFILELOG,PCWSTR,PCWSTR,PCWSTR,DWORD,PCWSTR,PCWSTR,PCWSTR,DWORD); 1661 + BOOL SetupOpenAppendInfFileA(PCSTR,HINF,PUINT); 1662 + BOOL SetupOpenAppendInfFileW(PCWSTR,HINF,PUINT); 1663 + HSPFILEQ SetupOpenFileQueue(); 1664 + HINF SetupOpenInfFileA(PCSTR,PCSTR,DWORD,PUINT); 1665 + HINF SetupOpenInfFileW(PCWSTR,PCWSTR,DWORD,PUINT); 1666 + BOOL SetupOpenLog(BOOL); 1667 + HINF SetupOpenMasterInf(); 1668 + UINT SetupPromptForDiskA(HWND,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD,PSTR,DWORD,PDWORD); 1669 + UINT SetupPromptForDiskW(HWND,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD,PWSTR,DWORD,PDWORD); 1670 + INT SetupPromptReboot(HSPFILEQ,HWND,BOOL); 1671 + BOOL SetupQueryA(DWORD,PCSTR**,PUINT); 1672 + BOOL SetupQueryW(DWORD,PCWSTR**,PUINT); 1673 + BOOL SetupQueryDrivesInDiskSpaceListA(HDSKSPC,PSTR,DWORD,PDWORD); 1674 + BOOL SetupQueryDrivesInDiskSpaceListW(HDSKSPC,PWSTR,DWORD,PDWORD); 1675 + BOOL SetupQueryFileLogA(HSPFILELOG,PCSTR,PCSTR,SetupFileLogInfo,PSTR,DWORD,PDWORD); 1676 + BOOL SetupQueryFileLogW(HSPFILELOG,PCWSTR,PCWSTR,SetupFileLogInfo,PWSTR,DWORD,PDWORD); 1677 + BOOL SetupQueryInfFileInformationA(PSP_INF_INFORMATION,UINT,PSTR,DWORD,PDWORD); 1678 + BOOL SetupQueryInfFileInformationW(PSP_INF_INFORMATION,UINT,PWSTR,DWORD,PDWORD); 1679 + BOOL SetupQueryInfOriginalFileInformationA(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_A); 1680 + BOOL SetupQueryInfOriginalFileInformationW(PSP_INF_INFORMATION,UINT,PSP_ALTPLATFORM_INFO,PSP_ORIGINAL_FILE_INFO_W); 1681 + BOOL SetupQueryInfVersionInformationA(PSP_INF_INFORMATION,UINT,PSTR,PSTR,DWORD,PDWORD); 1682 + BOOL SetupQueryInfVersionInformationW(PSP_INF_INFORMATION,UINT,PCWSTR,PWSTR,DWORD,PDWORD); 1683 + BOOL SetupQuerySpaceRequiredOnDriveA(HDSKSPC,PCSTR,LONGLONG*,PVOID,UINT); 1684 + BOOL SetupQuerySpaceRequiredOnDriveW(HDSKSPC,PCWSTR,LONGLONG*,PVOID,UINT); 1685 + BOOL SetupQueueCopyA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,PCSTR,DWORD); 1686 + BOOL SetupQueueCopyW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,PCWSTR,DWORD); 1687 + BOOL SetupQueueCopyIndirectA(PSP_FILE_COPY_PARAMS_A); 1688 + BOOL SetupQueueCopyIndirectW(PSP_FILE_COPY_PARAMS_W); 1689 + BOOL SetupQueueCopySectionA(HSPFILEQ,PCSTR,HINF,HINF,PCSTR,DWORD); 1690 + BOOL SetupQueueCopySectionW(HSPFILEQ,PCWSTR,HINF,HINF,PCWSTR,DWORD); 1691 + BOOL SetupQueueDefaultCopyA(HSPFILEQ,HINF,PCSTR,PCSTR,PCSTR,DWORD); 1692 + BOOL SetupQueueDefaultCopyW(HSPFILEQ,HINF,PCWSTR,PCWSTR,PCWSTR,DWORD); 1693 + BOOL SetupQueueDeleteA(HSPFILEQ,PCSTR,PCSTR); 1694 + BOOL SetupQueueDeleteW(HSPFILEQ,PCWSTR,PCWSTR); 1695 + BOOL SetupQueueDeleteSectionA(HSPFILEQ,HINF,HINF,PCSTR); 1696 + BOOL SetupQueueDeleteSectionW(HSPFILEQ,HINF,HINF,PCWSTR); 1697 + BOOL SetupQueueRenameA(HSPFILEQ,PCSTR,PCSTR,PCSTR,PCSTR); 1698 + BOOL SetupQueueRenameW(HSPFILEQ,PCWSTR,PCWSTR,PCWSTR,PCWSTR); 1699 + BOOL SetupQueueRenameSectionA(HSPFILEQ,HINF,HINF,PCSTR); 1700 + BOOL SetupQueueRenameSectionW(HSPFILEQ,HINF,HINF,PCWSTR); 1701 + BOOL SetupRemoveFileLogEntryA(HSPFILELOG,PCSTR,PCSTR); 1702 + BOOL SetupRemoveFileLogEntryW(HSPFILELOG,PCWSTR,PCWSTR); 1703 + BOOL SetupRemoveFromDiskSpaceListA(HDSKSPC,PCSTR,UINT,PVOID,UINT); 1704 + BOOL SetupRemoveFromDiskSpaceListW(HDSKSPC,PCWSTR,UINT,PVOID,UINT); 1705 + BOOL SetupRemoveFromSourceListA(DWORD,PCSTR); 1706 + BOOL SetupRemoveFromSourceListW(DWORD,PCWSTR); 1707 + BOOL SetupRemoveInstallSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,PVOID,UINT); 1708 + BOOL SetupRemoveInstallSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,PVOID,UINT); 1709 + BOOL SetupRemoveSectionFromDiskSpaceListA(HDSKSPC,HINF,HINF,PCSTR,UINT,PVOID,UINT); 1710 + BOOL SetupRemoveSectionFromDiskSpaceListW(HDSKSPC,HINF,HINF,PCWSTR,UINT,PVOID,UINT); 1711 + UINT SetupRenameErrorA(HWND,PCSTR,PCSTR,PCSTR,UINT,DWORD); 1712 + UINT SetupRenameErrorW(HWND,PCWSTR,PCWSTR,PCWSTR,UINT,DWORD); 1713 + BOOL SetupScanFileQueueA(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_A,PVOID,PDWORD); 1714 + BOOL SetupScanFileQueueW(HSPFILEQ,DWORD,HWND,PSP_FILE_CALLBACK_W,PVOID,PDWORD); 1715 + BOOL SetupSetDirectoryIdA(HINF,DWORD,PCSTR); 1716 + BOOL SetupSetDirectoryIdW(HINF,DWORD,PCWSTR); 1717 + BOOL SetupSetDirectoryIdExA(HINF,DWORD,PCSTR,DWORD,DWORD,PVOID); 1718 + BOOL SetupSetDirectoryIdExW(HINF,DWORD,PCWSTR,DWORD,DWORD,PVOID); 1719 + BOOL SetupSetFileQueueAlternatePlatformA(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCSTR); 1720 + BOOL SetupSetFileQueueAlternatePlatformW(HSPFILEQ,PSP_ALTPLATFORM_INFO,PCWSTR); 1721 + BOOL SetupSetPlatformPathOverrideA(PCSTR); 1722 + BOOL SetupSetPlatformPathOverrideW(PCWSTR); 1723 + BOOL SetupSetSourceListA(DWORD,PCSTR*,UINT); 1724 + BOOL SetupSetSourceListW(DWORD,PCWSTR*,UINT); 1725 + VOID SetupTermDefaultQueueCallback(PVOID); 1726 + BOOL SetupTerminateFileLog(HSPFILELOG); 1727 +} 1728 + 1729 +deprecated { 1730 + alias SetupDiCreateDeviceInterfaceW SetupDiCreateInterfaceDeviceW; 1731 + alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateInterfaceDeviceRegKeyW; 1732 + alias SetupDiOpenDeviceInterfaceW SetupDiOpenInterfaceDeviceW; 1733 + alias SetupDiGetDeviceInterfaceDetailW SetupDiGetInterfaceDeviceDetailW; 1734 + alias SetupDiCreateDeviceInterfaceA SetupDiCreateInterfaceDeviceA; 1735 + alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateInterfaceDeviceRegKeyA; 1736 + alias SetupDiOpenDeviceInterfaceA SetupDiOpenInterfaceDeviceA; 1737 + alias SetupDiGetDeviceInterfaceDetailA SetupDiGetInterfaceDeviceDetailA; 1738 +} 1739 + 1740 +version (Unicode) { 1741 + alias PSP_FILE_CALLBACK_W PSP_FILE_CALLBACK; 1742 + alias SetupAddInstallSectionToDiskSpaceListW SetupAddInstallSectionToDiskSpaceList; 1743 + alias SetupAddSectionToDiskSpaceListW SetupAddSectionToDiskSpaceList; 1744 + alias SetupAddToDiskSpaceListW SetupAddToDiskSpaceList; 1745 + alias SetupAddToSourceListW SetupAddToSourceList; 1746 + alias SetupAdjustDiskSpaceListW SetupAdjustDiskSpaceList; 1747 + alias SetupBackupErrorW SetupBackupError; 1748 + alias SetupCommitFileQueueW SetupCommitFileQueue; 1749 + alias SetupCopyErrorW SetupCopyError; 1750 + alias SetupCopyOEMInfW SetupCopyOEMInf; 1751 + alias SetupCreateDiskSpaceListW SetupCreateDiskSpaceList; 1752 + alias SetupDecompressOrCopyFileW SetupDecompressOrCopyFile; 1753 + alias SetupDefaultQueueCallbackW SetupDefaultQueueCallback; 1754 + alias SetupDeleteErrorW SetupDeleteError; 1755 + alias SetupDiBuildClassInfoListExW SetupDiBuildClassInfoListEx; 1756 + alias SetupDiClassGuidsFromNameExW SetupDiClassGuidsFromNameEx; 1757 + alias SetupDiClassGuidsFromNameW SetupDiClassGuidsFromName; 1758 + alias SetupDiClassNameFromGuidExW SetupDiClassNameFromGuidEx; 1759 + alias SetupDiClassNameFromGuidW SetupDiClassNameFromGuid; 1760 + alias SetupDiCreateDeviceInfoListExW SetupDiCreateDeviceInfoListEx; 1761 + alias SetupDiCreateDeviceInfoW SetupDiCreateDeviceInfo; 1762 + alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateDeviceInterfaceRegKey; 1763 + deprecated alias SetupDiCreateDeviceInterfaceRegKeyW SetupDiCreateInterfaceDeviceRegKey; 1764 + alias SetupDiCreateDeviceInterfaceW SetupDiCreateDeviceInterface; 1765 + deprecated alias SetupDiCreateDeviceInterfaceW SetupDiCreateInterfaceDevice; 1766 + alias SetupDiCreateDevRegKeyW SetupDiCreateDevRegKey; 1767 + alias SetupDiEnumDriverInfoW SetupDiEnumDriverInfo; 1768 + alias SetupDiGetActualSectionToInstallW SetupDiGetActualSectionToInstall; 1769 + alias SetupDiGetClassDescriptionExW SetupDiGetClassDescriptionEx; 1770 + alias SetupDiGetClassDescriptionW SetupDiGetClassDescription; 1771 + alias SetupDiGetClassDevPropertySheetsW SetupDiGetClassDevPropertySheets; 1772 + alias SetupDiGetClassDevsExW SetupDiGetClassDevsEx; 1773 + alias SetupDiGetClassDevsW SetupDiGetClassDevs; 1774 + alias SetupDiGetClassImageListExW SetupDiGetClassImageListEx; 1775 + alias SetupDiGetClassInstallParamsW SetupDiGetClassInstallParams; 1776 + alias SetupDiGetClassRegistryPropertyW SetupDiGetClassRegistryProperty; 1777 + alias SetupDiGetDeviceInfoListDetailW SetupDiGetDeviceInfoListDetail; 1778 + alias SetupDiGetDeviceInstallParamsW SetupDiGetDeviceInstallParams; 1779 + alias SetupDiGetDeviceInstanceIdW SetupDiGetDeviceInstanceId; 1780 + alias SetupDiGetDeviceInterfaceDetailW SetupDiGetDeviceInterfaceDetail; 1781 + deprecated alias SetupDiGetDeviceInterfaceDetailW SetupDiGetInterfaceDeviceDetail; 1782 + alias SetupDiGetDeviceRegistryPropertyW SetupDiGetDeviceRegistryProperty; 1783 + alias SetupDiGetDriverInfoDetailW SetupDiGetDriverInfoDetail; 1784 + alias SetupDiGetDriverInstallParamsW SetupDiGetDriverInstallParams; 1785 + alias SetupDiGetHwProfileFriendlyNameExW SetupDiGetHwProfileFriendlyNameEx; 1786 + alias SetupDiGetHwProfileFriendlyNameW SetupDiGetHwProfileFriendlyName; 1787 + alias SetupDiGetHwProfileListExW SetupDiGetHwProfileListEx; 1788 + alias SetupDiGetINFClassW SetupDiGetINFClass; 1789 + alias SetupDiGetSelectedDriverW SetupDiGetSelectedDriver; 1790 + alias SetupDiInstallClassExW SetupDiInstallClassEx; 1791 + alias SetupDiInstallClassW SetupDiInstallClass; 1792 + alias SetupDiOpenClassRegKeyExW SetupDiOpenClassRegKeyEx; 1793 + alias SetupDiOpenDeviceInfoW SetupDiOpenDeviceInfo; 1794 + alias SetupDiOpenDeviceInterfaceW SetupDiOpenDeviceInterface; 1795 + deprecated alias SetupDiOpenDeviceInterfaceW SetupDiOpenInterfaceDevice; 1796 + alias SetupDiSetClassInstallParamsW SetupDiSetClassInstallParams; 1797 + alias SetupDiSetClassRegistryPropertyW SetupDiSetClassRegistryProperty; 1798 + alias SetupDiSetDeviceInstallParamsW SetupDiSetDeviceInstallParams; 1799 + alias SetupDiSetDeviceRegistryPropertyW SetupDiSetDeviceRegistryProperty; 1800 + alias SetupDiSetDriverInstallParamsW SetupDiSetDriverInstallParams; 1801 + alias SetupDiSetSelectedDriverW SetupDiSetSelectedDriver; 1802 + alias SetupDuplicateDiskSpaceListW SetupDuplicateDiskSpaceList; 1803 + alias SetupFindFirstLineW SetupFindFirstLine; 1804 + alias SetupFindNextMatchLineW SetupFindNextMatchLine; 1805 + alias SetupFreeSourceListW SetupFreeSourceList; 1806 + alias SetupGetBackupInformationW SetupGetBackupInformation; 1807 + alias SetupGetFileCompressionInfoW SetupGetFileCompressionInfo; 1808 + alias SetupGetInfFileListW SetupGetInfFileList; 1809 + alias SetupGetInfInformationW SetupGetInfInformation; 1810 + alias SetupGetLineByIndexW SetupGetLineByIndex; 1811 + alias SetupGetLineCountW SetupGetLineCount; 1812 + alias SetupGetLineTextW SetupGetLineText; 1813 + alias SetupGetMultiSzFieldW SetupGetMultiSzField; 1814 + alias SetupGetSourceFileLocationW SetupGetSourceFileLocation; 1815 + alias SetupGetSourceFileSizeW SetupGetSourceFileSize; 1816 + alias SetupGetSourceInfoW SetupGetSourceInfo; 1817 + alias SetupGetStringFieldW SetupGetStringField; 1818 + alias SetupGetTargetPathW SetupGetTargetPath; 1819 + alias SetupInitializeFileLogW SetupInitializeFileLog; 1820 + alias SetupInstallFileExW SetupInstallFileEx; 1821 + alias SetupInstallFilesFromInfSectionW SetupInstallFilesFromInfSection; 1822 + alias SetupInstallFileW SetupInstallFile; 1823 + alias SetupInstallFromInfSectionW SetupInstallFromInfSection; 1824 + alias SetupInstallServicesFromInfSectionExW SetupInstallServicesFromInfSectionEx; 1825 + alias SetupInstallServicesFromInfSectionW SetupInstallServicesFromInfSection; 1826 + alias SetupIterateCabinetW SetupIterateCabinet; 1827 + alias SetupLogErrorW SetupLogError; 1828 + alias SetupLogFileW SetupLogFile; 1829 + alias SetupOpenAppendInfFileW SetupOpenAppendInfFile; 1830 + alias SetupOpenInfFileW SetupOpenInfFile; 1831 + alias SetupPromptForDiskW SetupPromptForDisk; 1832 + alias SetupQueryDrivesInDiskSpaceListW SetupQueryDrivesInDiskSpaceList; 1833 + alias SetupQueryFileLogW SetupQueryFileLog; 1834 + alias SetupQueryInfFileInformationW SetupQueryInfFileInformation; 1835 + alias SetupQueryInfOriginalFileInformationW SetupQueryInfOriginalFileInformation; 1836 + alias SetupQueryInfVersionInformationW SetupQueryInfVersionInformation; 1837 + alias SetupQuerySourceListW SetupQuerySourceList; 1838 + alias SetupQuerySpaceRequiredOnDriveW SetupQuerySpaceRequiredOnDrive; 1839 + alias SetupQueueCopyIndirectW SetupQueueCopyIndirect; 1840 + alias SetupQueueCopySectionW SetupQueueCopySection; 1841 + alias SetupQueueCopyW SetupQueueCopy; 1842 + alias SetupQueueDefaultCopyW SetupQueueDefaultCopy; 1843 + alias SetupQueueDeleteSectionW SetupQueueDeleteSection; 1844 + alias SetupQueueDeleteW SetupQueueDelete; 1845 + alias SetupQueueRenameSectionW SetupQueueRenameSection; 1846 + alias SetupQueueRenameW SetupQueueRename; 1847 + alias SetupRemoveFileLogEntryW SetupRemoveFileLogEntry; 1848 + alias SetupRemoveFromDiskSpaceListW SetupRemoveFromDiskSpaceList; 1849 + alias SetupRemoveFromSourceListW SetupRemoveFromSourceList; 1850 + alias SetupRemoveInstallSectionFromDiskSpaceListW SetupRemoveInstallSectionFromDiskSpaceList; 1851 + alias SetupRemoveSectionFromDiskSpaceListW SetupRemoveSectionFromDiskSpaceList; 1852 + alias SetupRenameErrorW SetupRenameError; 1853 + alias SetupScanFileQueueW SetupScanFileQueue; 1854 + alias SetupSetDirectoryIdExW SetupSetDirectoryIdEx; 1855 + alias SetupSetDirectoryIdW SetupSetDirectoryId; 1856 + alias SetupSetFileQueueAlternatePlatformW SetupSetFileQueueAlternatePlatform; 1857 + alias SetupSetPlatformPathOverrideW SetupSetPlatformPathOverride; 1858 + alias SetupSetSourceListW SetupSetSourceList; 1859 +} else { 1860 + alias PSP_FILE_CALLBACK_A PSP_FILE_CALLBACK; 1861 + alias SetupAddInstallSectionToDiskSpaceListA SetupAddInstallSectionToDiskSpaceList; 1862 + alias SetupAddSectionToDiskSpaceListA SetupAddSectionToDiskSpaceList; 1863 + alias SetupAddToDiskSpaceListA SetupAddToDiskSpaceList; 1864 + alias SetupAddToSourceListA SetupAddToSourceList; 1865 + alias SetupAdjustDiskSpaceListA SetupAdjustDiskSpaceList; 1866 + alias SetupBackupErrorA SetupBackupError; 1867 + alias SetupCommitFileQueueA SetupCommitFileQueue; 1868 + alias SetupCopyErrorA SetupCopyError; 1869 + alias SetupCopyOEMInfA SetupCopyOEMInf; 1870 + alias SetupCreateDiskSpaceListA SetupCreateDiskSpaceList; 1871 + alias SetupDecompressOrCopyFileA SetupDecompressOrCopyFile; 1872 + alias SetupDefaultQueueCallbackA SetupDefaultQueueCallback; 1873 + alias SetupDeleteErrorA SetupDeleteError; 1874 + alias SetupDiBuildClassInfoListExA SetupDiBuildClassInfoListEx; 1875 + alias SetupDiClassGuidsFromNameA SetupDiClassGuidsFromName; 1876 + alias SetupDiClassGuidsFromNameExA SetupDiClassGuidsFromNameEx; 1877 + alias SetupDiClassNameFromGuidA SetupDiClassNameFromGuid; 1878 + alias SetupDiClassNameFromGuidExA SetupDiClassNameFromGuidEx; 1879 + alias SetupDiCreateDeviceInfoA SetupDiCreateDeviceInfo; 1880 + alias SetupDiCreateDeviceInfoListExA SetupDiCreateDeviceInfoListEx; 1881 + alias SetupDiCreateDeviceInterfaceA SetupDiCreateDeviceInterface; 1882 + deprecated alias SetupDiCreateDeviceInterfaceA SetupDiCreateInterfaceDevice; 1883 + alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateDeviceInterfaceRegKey; 1884 + deprecated alias SetupDiCreateDeviceInterfaceRegKeyA SetupDiCreateInterfaceDeviceRegKey; 1885 + alias SetupDiCreateDevRegKeyA SetupDiCreateDevRegKey; 1886 + alias SetupDiDeleteDeviceInterfaceData SetupDiDeleteInterfaceDeviceData; 1887 + alias SetupDiEnumDriverInfoA SetupDiEnumDriverInfo; 1888 + alias SetupDiGetActualSectionToInstallA SetupDiGetActualSectionToInstall; 1889 + alias SetupDiGetClassDescriptionA SetupDiGetClassDescription; 1890 + alias SetupDiGetClassDescriptionExA SetupDiGetClassDescriptionEx; 1891 + alias SetupDiGetClassDevPropertySheetsA SetupDiGetClassDevPropertySheets; 1892 + alias SetupDiGetClassDevsA SetupDiGetClassDevs; 1893 + alias SetupDiGetClassDevsExA SetupDiGetClassDevsEx; 1894 + alias SetupDiGetClassImageListExA SetupDiGetClassImageListEx; 1895 + alias SetupDiGetClassInstallParamsA SetupDiGetClassInstallParams; 1896 + alias SetupDiGetClassRegistryPropertyA SetupDiGetClassRegistryProperty; 1897 + alias SetupDiGetDeviceInfoListDetailA SetupDiGetDeviceInfoListDetail; 1898 + alias SetupDiGetDeviceInstallParamsA SetupDiGetDeviceInstallParams; 1899 + alias SetupDiGetDeviceInstanceIdA SetupDiGetDeviceInstanceId; 1900 + alias SetupDiGetDeviceInterfaceDetailA SetupDiGetDeviceInterfaceDetail; 1901 + deprecated alias SetupDiGetDeviceInterfaceDetailA SetupDiGetInterfaceDeviceDetail; 1902 + alias SetupDiGetDeviceRegistryPropertyA SetupDiGetDeviceRegistryProperty; 1903 + alias SetupDiGetDriverInfoDetailA SetupDiGetDriverInfoDetail; 1904 + alias SetupDiGetDriverInstallParamsA SetupDiGetDriverInstallParams; 1905 + alias SetupDiGetHwProfileFriendlyNameA SetupDiGetHwProfileFriendlyName; 1906 + alias SetupDiGetHwProfileFriendlyNameExA SetupDiGetHwProfileFriendlyNameEx; 1907 + alias SetupDiGetHwProfileListExA SetupDiGetHwProfileListEx; 1908 + alias SetupDiGetINFClassA SetupDiGetINFClass; 1909 + alias SetupDiGetSelectedDriverA SetupDiGetSelectedDriver; 1910 + alias SetupDiInstallClassA SetupDiInstallClass; 1911 + alias SetupDiInstallClassExA SetupDiInstallClassEx; 1912 + alias SetupDiOpenClassRegKeyExA SetupDiOpenClassRegKeyEx; 1913 + alias SetupDiOpenDeviceInfoA SetupDiOpenDeviceInfo; 1914 + alias SetupDiOpenDeviceInterfaceA SetupDiOpenDeviceInterface; 1915 + deprecated alias SetupDiOpenDeviceInterfaceA SetupDiOpenInterfaceDevice; 1916 + alias SetupDiSetClassInstallParamsA SetupDiSetClassInstallParams; 1917 + alias SetupDiSetClassRegistryPropertyA SetupDiSetClassRegistryProperty; 1918 + alias SetupDiSetDeviceInstallParamsA SetupDiSetDeviceInstallParams; 1919 + alias SetupDiSetDeviceRegistryPropertyA SetupDiSetDeviceRegistryProperty; 1920 + alias SetupDiSetDriverInstallParamsA SetupDiSetDriverInstallParams; 1921 + alias SetupDiSetSelectedDriverA SetupDiSetSelectedDriver; 1922 + alias SetupDuplicateDiskSpaceListA SetupDuplicateDiskSpaceList; 1923 + alias SetupFindFirstLineA SetupFindFirstLine; 1924 + alias SetupFindNextMatchLineA SetupFindNextMatchLine; 1925 + alias SetupFreeSourceListA SetupFreeSourceList; 1926 + alias SetupGetBackupInformationA SetupGetBackupInformation; 1927 + alias SetupGetFileCompressionInfoA SetupGetFileCompressionInfo; 1928 + alias SetupGetInfFileListA SetupGetInfFileList; 1929 + alias SetupGetInfInformationA SetupGetInfInformation; 1930 + alias SetupGetLineByIndexA SetupGetLineByIndex; 1931 + alias SetupGetLineCountA SetupGetLineCount; 1932 + alias SetupGetLineTextA SetupGetLineText; 1933 + alias SetupGetMultiSzFieldA SetupGetMultiSzField; 1934 + alias SetupGetSourceFileLocationA SetupGetSourceFileLocation; 1935 + alias SetupGetSourceFileSizeA SetupGetSourceFileSize; 1936 + alias SetupGetSourceInfoA SetupGetSourceInfo; 1937 + alias SetupGetStringFieldA SetupGetStringField; 1938 + alias SetupGetTargetPathA SetupGetTargetPath; 1939 + alias SetupInitializeFileLogA SetupInitializeFileLog; 1940 + alias SetupInstallFileA SetupInstallFile; 1941 + alias SetupInstallFileExA SetupInstallFileEx; 1942 + alias SetupInstallFilesFromInfSectionA SetupInstallFilesFromInfSection; 1943 + alias SetupInstallFromInfSectionA SetupInstallFromInfSection; 1944 + alias SetupInstallServicesFromInfSectionA SetupInstallServicesFromInfSection; 1945 + alias SetupInstallServicesFromInfSectionExA SetupInstallServicesFromInfSectionEx; 1946 + alias SetupIterateCabinetA SetupIterateCabinet; 1947 + alias SetupLogErrorA SetupLogError; 1948 + alias SetupLogFileA SetupLogFile; 1949 + alias SetupOpenAppendInfFileA SetupOpenAppendInfFile; 1950 + alias SetupOpenInfFileA SetupOpenInfFile; 1951 + alias SetupPromptForDiskA SetupPromptForDisk; 1952 + alias SetupQueryDrivesInDiskSpaceListA SetupQueryDrivesInDiskSpaceList; 1953 + alias SetupQueryFileLogA SetupQueryFileLog; 1954 + alias SetupQueryInfFileInformationA SetupQueryInfFileInformation; 1955 + alias SetupQueryInfOriginalFileInformationA SetupQueryInfOriginalFileInformation; 1956 + alias SetupQueryInfVersionInformationA SetupQueryInfVersionInformation; 1957 + alias SetupQuerySourceListA SetupQuerySourceList; 1958 + alias SetupQuerySpaceRequiredOnDriveA SetupQuerySpaceRequiredOnDrive; 1959 + alias SetupQueueCopyA SetupQueueCopy; 1960 + alias SetupQueueCopyIndirectA SetupQueueCopyIndirect; 1961 + alias SetupQueueCopySectionA SetupQueueCopySection; 1962 + alias SetupQueueDefaultCopyA SetupQueueDefaultCopy; 1963 + alias SetupQueueDeleteA SetupQueueDelete; 1964 + alias SetupQueueDeleteSectionA SetupQueueDeleteSection; 1965 + alias SetupQueueRenameA SetupQueueRename; 1966 + alias SetupQueueRenameSectionA SetupQueueRenameSection; 1967 + alias SetupRemoveFileLogEntryA SetupRemoveFileLogEntry; 1968 + alias SetupRemoveFromDiskSpaceListA SetupRemoveFromDiskSpaceList; 1969 + alias SetupRemoveFromSourceListA SetupRemoveFromSourceList; 1970 + alias SetupRemoveInstallSectionFromDiskSpaceListA SetupRemoveInstallSectionFromDiskSpaceList; 1971 + alias SetupRemoveSectionFromDiskSpaceListA SetupRemoveSectionFromDiskSpaceList; 1972 + alias SetupRenameErrorA SetupRenameError; 1973 + alias SetupScanFileQueueA SetupScanFileQueue; 1974 + alias SetupSetDirectoryIdA SetupSetDirectoryId; 1975 + alias SetupSetDirectoryIdExA SetupSetDirectoryIdEx; 1976 + alias SetupSetFileQueueAlternatePlatformA SetupSetFileQueueAlternatePlatform; 1977 + alias SetupSetPlatformPathOverrideA SetupSetPlatformPathOverride; 1978 + alias SetupSetSourceListA SetupSetSourceList; 1979 +}

Modified src/win32/shellapi.d from [165235cd7bb780a4] to [dbc32f4888561832].

1 +/***********************************************************************\ 2 +* shellapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.shellapi; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 12 +pragma(lib, "shell32.lib"); 13 + 14 +private import win32.w32api, win32.windef, win32.basetyps; 15 + 16 +enum : UINT { 17 + ABE_LEFT, 18 + ABE_TOP, 19 + ABE_RIGHT, 20 + ABE_BOTTOM // = 3 21 +} 22 + 23 +enum : UINT { 24 + ABS_AUTOHIDE = 1, 25 + ABS_ALWAYSONTOP 26 +} 27 + 28 +const ULONG 29 + SEE_MASK_CLASSNAME = 1, 30 + SEE_MASK_CLASSKEY = 3, 31 + SEE_MASK_IDLIST = 4, 32 + SEE_MASK_INVOKEIDLIST = 12, 33 + SEE_MASK_ICON = 0x000010, 34 + SEE_MASK_HOTKEY = 0x000020, 35 + SEE_MASK_NOCLOSEPROCESS = 0x000040, 36 + SEE_MASK_CONNECTNETDRV = 0x000080, 37 + SEE_MASK_FLAG_DDEWAIT = 0x000100, 38 + SEE_MASK_DOENVSUBST = 0x000200, 39 + SEE_MASK_FLAG_NO_UI = 0x000400, 40 + SEE_MASK_NO_CONSOLE = 0x008000, 41 + SEE_MASK_UNICODE = 0x010000, 42 + SEE_MASK_ASYNCOK = 0x100000, 43 + SEE_MASK_HMONITOR = 0x200000; 44 + 45 +enum : DWORD { 46 + ABM_NEW, 47 + ABM_REMOVE, 48 + ABM_QUERYPOS, 49 + ABM_SETPOS, 50 + ABM_GETSTATE, 51 + ABM_GETTASKBARPOS, 52 + ABM_ACTIVATE, 53 + ABM_GETAUTOHIDEBAR, 54 + ABM_SETAUTOHIDEBAR, 55 + ABM_WINDOWPOSCHANGED // = 9 56 +} 57 + 58 +static if (WINVER >= 0x501) { 59 + const DWORD ABM_SETSTATE = 10; 60 +} 61 + 62 +enum : UINT { 63 + ABN_STATECHANGE, 64 + ABN_POSCHANGED, 65 + ABN_FULLSCREENAPP, 66 + ABN_WINDOWARRANGE 67 +} 68 + 69 +enum : DWORD { 70 + NIM_ADD, 71 + NIM_MODIFY, 72 + NIM_DELETE 73 +} 74 + 75 +static if (_WIN32_IE >= 0x500) { 76 + const NOTIFYICON_VERSION = 3; 77 + 78 + enum : DWORD { 79 + NIM_SETFOCUS = 3, 80 + NIM_SETVERSION 81 + } 82 +} 83 + 84 +const UINT 85 + NIF_MESSAGE = 1, 86 + NIF_ICON = 2, 87 + NIF_TIP = 4, 88 + NIF_STATE = 8; 89 + 90 +static if (_WIN32_IE >= 0x500) { 91 + const UINT NIF_INFO = 0x00000010; 92 +} 93 + 94 +static if (_WIN32_IE >= 0x600) { 95 + const UINT NIF_GUID = 0x00000020; 96 +} 97 + 98 +static if (_WIN32_IE >= 0x500) { 99 + enum : DWORD { 100 + NIIF_NONE, 101 + NIIF_INFO, 102 + NIIF_WARNING, 103 + NIIF_ERROR 104 + } 105 +} 106 + 107 +static if (_WIN32_IE >= 0x600) { 108 + enum : DWORD { 109 + NIIF_ICON_MASK = 15, 110 + NIIF_NOSOUND 111 + } 112 +} 113 + 114 +const DWORD 115 + NIS_HIDDEN = 1, 116 + NIS_SHAREDICON = 2; 117 + 118 +const HINSTANCE 119 + SE_ERR_FNF = cast(HANDLE) 2, 120 + SE_ERR_PNF = cast(HANDLE) 3, 121 + SE_ERR_ACCESSDENIED = cast(HANDLE) 5, 122 + SE_ERR_OOM = cast(HANDLE) 8, 123 + SE_ERR_DLLNOTFOUND = cast(HANDLE) 32, 124 + SE_ERR_SHARE = cast(HANDLE) 26, 125 + SE_ERR_ASSOCINCOMPLETE = cast(HANDLE) 27, 126 + SE_ERR_DDETIMEOUT = cast(HANDLE) 28, 127 + SE_ERR_DDEFAIL = cast(HANDLE) 29, 128 + SE_ERR_DDEBUSY = cast(HANDLE) 30, 129 + SE_ERR_NOASSOC = cast(HANDLE) 31; 130 + 131 +enum : UINT { 132 + FO_MOVE = 1, 133 + FO_COPY, 134 + FO_DELETE, 135 + FO_RENAME 136 +} 137 + 138 +const FILEOP_FLAGS 139 + FOF_MULTIDESTFILES = 0x0001, 140 + FOF_CONFIRMMOUSE = 0x0002, 141 + FOF_SILENT = 0x0004, 142 + FOF_RENAMEONCOLLISION = 0x0008, 143 + FOF_NOCONFIRMATION = 0x0010, 144 + FOF_WANTMAPPINGHANDLE = 0x0020, 145 + FOF_ALLOWUNDO = 0x0040, 146 + FOF_FILESONLY = 0x0080, 147 + FOF_SIMPLEPROGRESS = 0x0100, 148 + FOF_NOCONFIRMMKDIR = 0x0200, 149 + FOF_NOERRORUI = 0x0400, 150 + FOF_NOCOPYSECURITYATTRIBS = 0x0800; 151 + 152 +// these are not documented on the MSDN site 153 +enum { 154 + PO_DELETE = 19, 155 + PO_RENAME = 20, 156 + PO_PORTCHANGE = 32, 157 + PO_REN_PORT = 52 158 +} 159 + 160 +const UINT 161 + SHGFI_LARGEICON = 0x000000, 162 + SHGFI_SMALLICON = 0x000001, 163 + SHGFI_OPENICON = 0x000002, 164 + SHGFI_SHELLICONSIZE = 0x000004, 165 + SHGFI_PIDL = 0x000008, 166 + SHGFI_USEFILEATTRIBUTES = 0x000010, 167 + SHGFI_ICON = 0x000100, 168 + SHGFI_DISPLAYNAME = 0x000200, 169 + SHGFI_TYPENAME = 0x000400, 170 + SHGFI_ATTRIBUTES = 0x000800, 171 + SHGFI_ICONLOCATION = 0x001000, 172 + SHGFI_EXETYPE = 0x002000, 173 + SHGFI_SYSICONINDEX = 0x004000, 174 + SHGFI_LINKOVERLAY = 0x008000, 175 + SHGFI_SELECTED = 0x010000, 176 + SHGFI_ATTR_SPECIFIED = 0x020000; 177 + 178 +const SHERB_NOCONFIRMATION = 1; 179 +const SHERB_NOPROGRESSUI = 2; 180 +const SHERB_NOSOUND = 4; 181 + 182 +alias WORD FILEOP_FLAGS, PRINTEROP_FLAGS; 183 +alias HANDLE HDROP; 184 + 185 +align(2): 186 + 187 +struct APPBARDATA { 188 + DWORD cbSize = APPBARDATA.sizeof; 189 + HWND hWnd; 190 + UINT uCallbackMessage; 191 + UINT uEdge; 192 + RECT rc; 193 + LPARAM lParam; 194 +} 195 +alias APPBARDATA* PAPPBARDATA; 5 196 6 -import win32.windef; 7 -import win32.winbase; 8 -import win32.winuser; 197 +struct NOTIFYICONDATAA { 198 + DWORD cbSize = NOTIFYICONDATAA.sizeof; 199 + HWND hWnd; 200 + UINT uID; 201 + UINT uFlags; 202 + UINT uCallbackMessage; 203 + HICON hIcon; 204 + static if (_WIN32_IE >= 0x500) { 205 + CHAR[128] szTip; 206 + DWORD dwState; 207 + DWORD dwStateMask; 208 + CHAR[256] szInfo; 209 + union { 210 + UINT uTimeout; 211 + UINT uVersion; 212 + } 213 + CHAR[64] szInfoTitle; 214 + DWORD dwInfoFlags; 215 + } else { 216 + CHAR[64] szTip; 217 + } 218 + static if (_WIN32_IE >= 0x600) { 219 + GUID guidItem; 220 + } 221 +} 222 +alias NOTIFYICONDATAA* PNOTIFYICONDATAA; 9 223 10 -// #ifndef _INC_SHELLAPI 11 -// #define _INC_SHELLAPI 224 +struct NOTIFYICONDATAW { 225 + DWORD cbSize = NOTIFYICONDATAW.sizeof; 226 + HWND hWnd; 227 + UINT uID; 228 + UINT uFlags; 229 + UINT uCallbackMessage; 230 + HICON hIcon; 231 + static if (_WIN32_IE >= 0x500) { 232 + WCHAR[128] szTip; 233 + DWORD dwState; 234 + DWORD dwStateMask; 235 + WCHAR[256] szInfo; 236 + union { 237 + UINT uTimeout; 238 + UINT uVersion; 239 + } 240 + WCHAR[64] szInfoTitle; 241 + DWORD dwInfoFlags; 242 + } else { 243 + WCHAR[64] szTip; 244 + } 245 + static if (_WIN32_IE >= 0x600) { 246 + GUID guidItem; 247 + } 248 +} 249 +alias NOTIFYICONDATAW* PNOTIFYICONDATAW; 12 250 13 -// #ifndef WINSHELLAPI 14 -// #if !defined(_SHELL32_) 15 -// #define WINSHELLAPI DECLSPEC_IMPORT 16 -// #else 17 -// #... 18 -// #endif 19 -// #endif // WINSHELLAPI 251 +struct SHELLEXECUTEINFOA { 252 + DWORD cbSize = SHELLEXECUTEINFOA.sizeof; 253 + ULONG fMask; 254 + HWND hwnd; 255 + LPCSTR lpVerb; 256 + LPCSTR lpFile; 257 + LPCSTR lpParameters; 258 + LPCSTR lpDirectory; 259 + int nShow; 260 + HINSTANCE hInstApp; 261 + PVOID lpIDList; 262 + LPCSTR lpClass; 263 + HKEY hkeyClass; 264 + DWORD dwHotKey; 265 + HANDLE hIcon; 266 + HANDLE hProcess; 267 +} 268 +alias SHELLEXECUTEINFOA* LPSHELLEXECUTEINFOA; 20 269 21 -// #ifndef SHSTDAPI 22 -// #if !defined(_SHELL32_) 23 -// #define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE 24 -// #define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE 25 -// #else 26 -// #... 27 -// #... 28 -// #endif 29 -// #endif // SHSTDAPI 270 +struct SHELLEXECUTEINFOW { 271 + DWORD cbSize = SHELLEXECUTEINFOW.sizeof; 272 + ULONG fMask; 273 + HWND hwnd; 274 + LPCWSTR lpVerb; 275 + LPCWSTR lpFile; 276 + LPCWSTR lpParameters; 277 + LPCWSTR lpDirectory; 278 + int nShow; 279 + HINSTANCE hInstApp; 280 + PVOID lpIDList; 281 + LPCWSTR lpClass; 282 + HKEY hkeyClass; 283 + DWORD dwHotKey; 284 + HANDLE hIcon; 285 + HANDLE hProcess; 286 +} 287 +alias SHELLEXECUTEINFOW* LPSHELLEXECUTEINFOW; 30 288 31 -// #ifndef SHDOCAPI 32 -// #if !defined(_SHDOCVW_) 33 -// #define SHDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE 34 -// #define SHDOCAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE 35 -// #else 36 -// #... 37 -// #... 38 -// #endif 39 -// #endif // SHDOCAPI 289 +struct SHFILEOPSTRUCTA { 290 + HWND hwnd; 291 + UINT wFunc; 292 + LPCSTR pFrom; 293 + LPCSTR pTo; 294 + FILEOP_FLAGS fFlags; 295 + BOOL fAnyOperationsAborted; 296 + PVOID hNameMappings; 297 + LPCSTR lpszProgressTitle; 298 +} 299 +alias SHFILEOPSTRUCTA* LPSHFILEOPSTRUCTA; 40 300 41 -// #if !defined(_WIN64) 42 -align(1): 43 -// #endif 44 - 45 -// #ifdef __cplusplus 46 -// extern "C" { /* Assume C declarations for C++ */ 47 -// #endif /* __cplusplus */ 48 - 49 -alias void* HDROP; 50 - 51 -extern(Windows) export UINT DragQueryFileA(HDROP,UINT,LPSTR,UINT); 52 -extern(Windows) export UINT DragQueryFileW(HDROP,UINT,LPWSTR,UINT); 53 -// #ifdef UNICODE 54 -alias DragQueryFileW DragQueryFile; 55 -// #else 56 -// #... 57 -// #endif // !UNICODE 58 -extern(Windows) export BOOL DragQueryPoint(HDROP,LPPOINT); 59 -extern(Windows) export void DragFinish(HDROP); 60 -extern(Windows) export void DragAcceptFiles(HWND,BOOL); 61 - 62 -extern(Windows) export HINSTANCE ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd); 63 -extern(Windows) export HINSTANCE ShellExecuteW(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd); 64 -// #ifdef UNICODE 65 -alias ShellExecuteW ShellExecute; 66 -// #else 67 -// #... 68 -// #endif // !UNICODE 69 -extern(Windows) export HINSTANCE FindExecutableA(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult); 70 -extern(Windows) export HINSTANCE FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult); 71 -// #ifdef UNICODE 72 -alias FindExecutableW FindExecutable; 73 -// #else 74 -// #... 75 -// #endif // !UNICODE 76 -extern(Windows) export LPWSTR * CommandLineToArgvW(LPCWSTR lpCmdLine, int*pNumArgs); 301 +struct SHFILEOPSTRUCTW { 302 + HWND hwnd; 303 + UINT wFunc; 304 + LPCWSTR pFrom; 305 + LPCWSTR pTo; 306 + FILEOP_FLAGS fFlags; 307 + BOOL fAnyOperationsAborted; 308 + PVOID hNameMappings; 309 + LPCWSTR lpszProgressTitle; 310 +} 311 +alias SHFILEOPSTRUCTW* LPSHFILEOPSTRUCTW; 77 312 78 -extern(Windows) export INT ShellAboutA(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon); 79 -extern(Windows) export INT ShellAboutW(HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon); 80 -// #ifdef UNICODE 81 -alias ShellAboutW ShellAbout; 82 -// #else 83 -// #... 84 -// #endif // !UNICODE 85 -extern(Windows) export HICON DuplicateIcon(HINSTANCE hInst, HICON hIcon); 86 -extern(Windows) export HICON ExtractAssociatedIconA(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lpiIcon); 87 -extern(Windows) export HICON ExtractAssociatedIconW(HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIcon); 88 -// #ifdef UNICODE 89 -alias ExtractAssociatedIconW ExtractAssociatedIcon; 90 -// #else 91 -// #... 92 -// #endif // !UNICODE 93 -extern(Windows) export HICON ExtractIconA(HINSTANCE hInst, LPCSTR lpszExeFileName, UINT nIconIndex); 94 -extern(Windows) export HICON ExtractIconW(HINSTANCE hInst, LPCWSTR lpszExeFileName, UINT nIconIndex); 95 -// #ifdef UNICODE 96 -alias ExtractIconW ExtractIcon; 97 -// #else 98 -// #... 99 -// #endif // !UNICODE 100 - 101 -// #if(WINVER >= 0x0400) 102 -struct _DRAGINFOA { 103 - UINT uSize; 104 - POINT pt; 105 - BOOL fNC; 106 - LPSTR lpFileList; 107 - DWORD grfKeyState; 313 +struct SHFILEINFOA { 314 + HICON hIcon; 315 + int iIcon; 316 + DWORD dwAttributes; 317 + CHAR[MAX_PATH] szDisplayName; 318 + CHAR[80] szTypeName; 108 319 } 109 -alias _DRAGINFOA DRAGINFOA; 110 -alias _DRAGINFOA* LPDRAGINFOA; 111 - 112 -struct _DRAGINFOW { 113 - UINT uSize; 114 - POINT pt; 115 - BOOL fNC; 116 - LPWSTR lpFileList; 117 - DWORD grfKeyState; 118 -} 119 -alias _DRAGINFOW DRAGINFOW; 120 -alias _DRAGINFOW* LPDRAGINFOW; 121 - 122 -// #ifdef UNICODE 123 -alias DRAGINFOW DRAGINFO; 124 -alias LPDRAGINFOW LPDRAGINFO; 125 -// #else 126 -// ... 127 -// #endif // UNICODE 128 320 129 -enum : uint { ABM_NEW = 0x00000000 } 130 -enum : uint { ABM_REMOVE = 0x00000001 } 131 -enum : uint { ABM_QUERYPOS = 0x00000002 } 132 -enum : uint { ABM_SETPOS = 0x00000003 } 133 -enum : uint { ABM_GETSTATE = 0x00000004 } 134 -enum : uint { ABM_GETTASKBARPOS = 0x00000005 } 135 -enum : uint { ABM_ACTIVATE = 0x00000006 } 136 -enum : uint { ABM_GETAUTOHIDEBAR = 0x00000007 } 137 -enum : uint { ABM_SETAUTOHIDEBAR = 0x00000008 } 138 - 139 -enum : uint { ABM_WINDOWPOSCHANGED = 0x0000009 } 140 -enum : uint { ABM_SETSTATE = 0x0000000a } 141 - 142 -enum : uint { ABN_STATECHANGE = 0x0000000 } 143 -enum : uint { ABN_POSCHANGED = 0x0000001 } 144 -enum : uint { ABN_FULLSCREENAPP = 0x0000002 } 145 -enum : uint { ABN_WINDOWARRANGE = 0x0000003 } 146 - 147 -enum : uint { ABS_AUTOHIDE = 0x0000001 } 148 -enum : uint { ABS_ALWAYSONTOP = 0x0000002 } 149 - 150 -enum : uint { ABE_LEFT = 0 } 151 -enum : uint { ABE_TOP = 1 } 152 -enum : uint { ABE_RIGHT = 2 } 153 -enum : uint { ABE_BOTTOM = 3 } 154 - 155 -struct _AppBarData { 156 - DWORD cbSize; 157 - HWND hWnd; 158 - UINT uCallbackMessage; 159 - UINT uEdge; 160 - RECT rc; 161 - LPARAM lParam; 321 +struct SHFILEINFOW { 322 + HICON hIcon; 323 + int iIcon; 324 + DWORD dwAttributes; 325 + WCHAR[MAX_PATH] szDisplayName; 326 + WCHAR[80] szTypeName; 162 327 } 163 -alias _AppBarData APPBARDATA; 164 -alias _AppBarData* PAPPBARDATA; 165 328 166 -extern(Windows) export UINT_PTR SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData); 167 - 168 -extern(Windows) export DWORD DoEnvironmentSubstA(LPSTR szString, UINT cchString); 169 -extern(Windows) export DWORD DoEnvironmentSubstW(LPWSTR szString, UINT cchString); 170 -// #ifdef UNICODE 171 -alias DoEnvironmentSubstW DoEnvironmentSubst; 172 -// #else 173 -// #... 174 -// #endif // !UNICODE 175 - 176 -// #define EIRESID(x) (-1 * (int)(x)) 177 -extern(Windows) export UINT ExtractIconExA(LPCSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons); 178 -extern(Windows) export UINT ExtractIconExW(LPCWSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons); 179 -// #ifdef UNICODE 180 -alias ExtractIconExW ExtractIconEx; 181 -// #else 182 -// #... 183 -// #endif // !UNICODE 184 - 185 -// #ifndef FO_MOVE //these need to be kept in sync with the ones in shlobj.h 186 - 187 -enum : uint { FO_MOVE = 0x0001 } 188 -enum : uint { FO_COPY = 0x0002 } 189 -enum : uint { FO_DELETE = 0x0003 } 190 -enum : uint { FO_RENAME = 0x0004 } 191 - 192 -enum : uint { FOF_MULTIDESTFILES = 0x0001 } 193 -enum : uint { FOF_CONFIRMMOUSE = 0x0002 } 194 -enum : uint { FOF_SILENT = 0x0004 } 195 -enum : uint { FOF_RENAMEONCOLLISION = 0x0008 } 196 -enum : uint { FOF_NOCONFIRMATION = 0x0010 } 197 -enum : uint { FOF_WANTMAPPINGHANDLE = 0x0020 } 198 - 199 -enum : uint { FOF_ALLOWUNDO = 0x0040 } 200 -enum : uint { FOF_FILESONLY = 0x0080 } 201 -enum : uint { FOF_SIMPLEPROGRESS = 0x0100 } 202 -enum : uint { FOF_NOCONFIRMMKDIR = 0x0200 } 203 -enum : uint { FOF_NOERRORUI = 0x0400 } 204 -enum : uint { FOF_NOCOPYSECURITYATTRIBS = 0x0800 } 205 -enum : uint { FOF_NORECURSION = 0x1000 } 206 -// #if (_WIN32_IE >= 0x0500) 207 -enum : uint { FOF_NO_CONNECTED_ELEMENTS = 0x2000 } 208 -enum : uint { FOF_WANTNUKEWARNING = 0x4000 } 209 -// #endif // (_WIN32_IE >= 0x500) 210 -// #if (_WIN32_WINNT >= 0x0501) 211 -enum : uint { FOF_NORECURSEREPARSE = 0x8000 } 212 -// #endif // (_WIN32_WINNT >= 0x501) 213 - 214 -alias WORD FILEOP_FLAGS; 215 - 216 -enum : uint { PO_DELETE = 0x0013 } 217 -enum : uint { PO_RENAME = 0x0014 } 218 -enum : uint { PO_PORTCHANGE = 0x0020 } 219 - 220 -enum : uint { PO_REN_PORT = 0x0034 } 221 - 222 -alias WORD PRINTEROP_FLAGS; 223 - 224 -// #endif // FO_MOVE 225 - 226 -struct _SHFILEOPSTRUCTA { 227 - HWND hwnd; 228 - UINT wFunc; 229 - LPCSTR pFrom; 230 - LPCSTR pTo; 231 - FILEOP_FLAGS fFlags; 232 - BOOL fAnyOperationsAborted; 233 - LPVOID hNameMappings; 234 - LPCSTR lpszProgressTitle; 235 -} 236 -alias _SHFILEOPSTRUCTA SHFILEOPSTRUCTA; 237 -alias _SHFILEOPSTRUCTA* LPSHFILEOPSTRUCTA; 238 - 239 -struct _SHFILEOPSTRUCTW { 240 - HWND hwnd; 241 - UINT wFunc; 242 - LPCWSTR pFrom; 243 - LPCWSTR pTo; 244 - FILEOP_FLAGS fFlags; 245 - BOOL fAnyOperationsAborted; 246 - LPVOID hNameMappings; 247 - LPCWSTR lpszProgressTitle; 329 +struct SHQUERYRBINFO { 330 + DWORD cbSize = SHQUERYRBINFO.sizeof; 331 + long i64Size; 332 + long i64NumItems; 248 333 } 249 -alias _SHFILEOPSTRUCTW SHFILEOPSTRUCTW; 250 -alias _SHFILEOPSTRUCTW* LPSHFILEOPSTRUCTW; 251 - 252 -// #ifdef UNICODE 253 -alias SHFILEOPSTRUCTW SHFILEOPSTRUCT; 254 -alias LPSHFILEOPSTRUCTW LPSHFILEOPSTRUCT; 255 -// #else 256 -// ... 257 -// #endif // UNICODE 334 +alias SHQUERYRBINFO* LPSHQUERYRBINFO; 258 335 259 -extern(Windows) export int SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp); 260 -extern(Windows) export int SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp); 261 -// #ifdef UNICODE 262 -alias SHFileOperationW SHFileOperation; 263 -// #else 264 -// #... 265 -// #endif // !UNICODE 266 -extern(Windows) export void SHFreeNameMappings(HANDLE hNameMappings); 267 - 268 -struct _SHNAMEMAPPINGA { 269 - LPSTR pszOldPath; 270 - LPSTR pszNewPath; 271 - int cchOldPath; 272 - int cchNewPath; 273 -} 274 -alias _SHNAMEMAPPINGA SHNAMEMAPPINGA; 275 -alias _SHNAMEMAPPINGA* LPSHNAMEMAPPINGA; 276 - 277 -struct _SHNAMEMAPPINGW { 278 - LPWSTR pszOldPath; 279 - LPWSTR pszNewPath; 280 - int cchOldPath; 281 - int cchNewPath; 282 -} 283 -alias _SHNAMEMAPPINGW SHNAMEMAPPINGW; 284 -alias _SHNAMEMAPPINGW* LPSHNAMEMAPPINGW; 285 - 286 -// #ifdef UNICODE 287 -alias SHNAMEMAPPINGW SHNAMEMAPPING; 288 -alias LPSHNAMEMAPPINGW LPSHNAMEMAPPING; 289 -// #else 290 -// ... 291 -// #endif // UNICODE 292 - 293 -enum : uint { SE_ERR_FNF = 2 } 294 -enum : uint { SE_ERR_PNF = 3 } 295 -enum : uint { SE_ERR_ACCESSDENIED = 5 } 296 -enum : uint { SE_ERR_OOM = 8 } 297 -enum : uint { SE_ERR_DLLNOTFOUND = 32 } 298 - 299 -// #endif /* WINVER >= 0x0400 */ 300 - 301 -enum : uint { SE_ERR_SHARE = 26 } 302 -enum : uint { SE_ERR_ASSOCINCOMPLETE = 27 } 303 -enum : uint { SE_ERR_DDETIMEOUT = 28 } 304 -enum : uint { SE_ERR_DDEFAIL = 29 } 305 -enum : uint { SE_ERR_DDEBUSY = 30 } 306 -enum : uint { SE_ERR_NOASSOC = 31 } 307 - 308 -// #if(WINVER >= 0x0400) 309 - 310 -enum : uint { SEE_MASK_CLASSNAME = 0x00000001 } 311 -enum : uint { SEE_MASK_CLASSKEY = 0x00000003 } 312 - 313 -enum : uint { SEE_MASK_IDLIST = 0x00000004 } 314 -enum : uint { SEE_MASK_INVOKEIDLIST = 0x0000000c } 315 -enum : uint { SEE_MASK_ICON = 0x00000010 } 316 -enum : uint { SEE_MASK_HOTKEY = 0x00000020 } 317 -enum : uint { SEE_MASK_NOCLOSEPROCESS = 0x00000040 } 318 -enum : uint { SEE_MASK_CONNECTNETDRV = 0x00000080 } 319 -enum : uint { SEE_MASK_FLAG_DDEWAIT = 0x00000100 } 320 -enum : uint { SEE_MASK_DOENVSUBST = 0x00000200 } 321 -enum : uint { SEE_MASK_FLAG_NO_UI = 0x00000400 } 322 -enum : uint { SEE_MASK_UNICODE = 0x00004000 } 323 -enum : uint { SEE_MASK_NO_CONSOLE = 0x00008000 } 324 -enum : uint { SEE_MASK_ASYNCOK = 0x00100000 } 325 -enum : uint { SEE_MASK_HMONITOR = 0x00200000 } 326 -// #if (_WIN32_IE >= 0x0500) 327 -enum : uint { SEE_MASK_NOQUERYCLASSSTORE = 0x01000000 } 328 -enum : uint { SEE_MASK_WAITFORINPUTIDLE = 0x02000000 } 329 -// #endif // (_WIN32_IE >= 0x500) 330 -// #if (_WIN32_IE >= 0x0560) 331 -enum : uint { SEE_MASK_FLAG_LOG_USAGE = 0x04000000 } 332 -// #endif // (_WIN32_IE >= 0x560) 333 - 334 -// #ifndef DUMMYUNIONNAME 335 -// #ifdef NONAMELESSUNION 336 -// #... 337 -// #... 338 -// #... 339 -// #... 340 -// #... 341 -// #else 342 -// #define DUMMYUNIONNAME 343 -// #define DUMMYUNIONNAME2 344 -// #define DUMMYUNIONNAME3 345 -// #define DUMMYUNIONNAME4 346 -// #define DUMMYUNIONNAME5 347 -// #endif 348 -// #endif // DUMMYUNIONNAME 349 - 350 -struct _SHELLEXECUTEINFOA { 351 - DWORD cbSize; 352 - ULONG fMask; 353 - HWND hwnd; 354 - LPCSTR lpVerb; 355 - LPCSTR lpFile; 356 - LPCSTR lpParameters; 357 - LPCSTR lpDirectory; 358 - int nShow; 359 - HINSTANCE hInstApp; 360 - 361 - LPVOID lpIDList; 362 - LPCSTR lpClass; 363 - HKEY hkeyClass; 364 - DWORD dwHotKey; 365 -union { 366 - HANDLE hIcon; 367 - HANDLE hMonitor; 336 +extern (Windows) { 337 + LPWSTR* CommandLineToArgvW(LPCWSTR, int*); 338 + void DragAcceptFiles(HWND, BOOL); 339 + void DragFinish(HDROP); 340 + UINT DragQueryFileA(HDROP, UINT, LPSTR, UINT); 341 + UINT DragQueryFileW(HDROP, UINT, LPWSTR, UINT); 342 + BOOL DragQueryPoint(HDROP, LPPOINT); 343 + HICON DuplicateIcon(HINSTANCE, HICON); 344 + HICON ExtractAssociatedIconA(HINSTANCE, LPCSTR, PWORD); 345 + HICON ExtractAssociatedIconW(HINSTANCE, LPCWSTR, PWORD); 346 + HICON ExtractIconA(HINSTANCE, LPCSTR, UINT); 347 + HICON ExtractIconW(HINSTANCE, LPCWSTR, UINT); 348 + UINT ExtractIconExA(LPCSTR, int, HICON*, HICON*, UINT); 349 + UINT ExtractIconExW(LPCWSTR, int, HICON*, HICON*, UINT); 350 + HINSTANCE FindExecutableA(LPCSTR, LPCSTR, LPSTR); 351 + HINSTANCE FindExecutableW(LPCWSTR, LPCWSTR, LPWSTR); 352 + UINT SHAppBarMessage(DWORD, PAPPBARDATA); 353 + BOOL Shell_NotifyIconA(DWORD, PNOTIFYICONDATAA); 354 + BOOL Shell_NotifyIconW(DWORD, PNOTIFYICONDATAW); 355 + int ShellAboutA(HWND, LPCSTR, LPCSTR, HICON); 356 + int ShellAboutW(HWND, LPCWSTR, LPCWSTR, HICON); 357 + HINSTANCE ShellExecuteA(HWND, LPCSTR, LPCSTR, LPCSTR, LPCSTR, INT); 358 + HINSTANCE ShellExecuteW(HWND, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, INT); 359 + BOOL ShellExecuteExA(LPSHELLEXECUTEINFOA); 360 + BOOL ShellExecuteExW(LPSHELLEXECUTEINFOW); 361 + int SHFileOperationA(LPSHFILEOPSTRUCTA); 362 + int SHFileOperationW(LPSHFILEOPSTRUCTW); 363 + void SHFreeNameMappings(HANDLE); 364 + DWORD SHGetFileInfoA(LPCSTR, DWORD, SHFILEINFOA*, UINT, UINT); 365 + DWORD SHGetFileInfoW(LPCWSTR, DWORD, SHFILEINFOW*, UINT, UINT); 366 + HRESULT SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO); 367 + HRESULT SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO); 368 + HRESULT SHEmptyRecycleBinA(HWND, LPCSTR, DWORD); 369 + HRESULT SHEmptyRecycleBinW(HWND, LPCWSTR, DWORD); 368 370 } 369 371 370 - HANDLE hProcess; 371 -} 372 -alias _SHELLEXECUTEINFOA SHELLEXECUTEINFOA; 373 -alias _SHELLEXECUTEINFOA* LPSHELLEXECUTEINFOA; 374 - 375 -struct _SHELLEXECUTEINFOW { 376 - DWORD cbSize; 377 - ULONG fMask; 378 - HWND hwnd; 379 - LPCWSTR lpVerb; 380 - LPCWSTR lpFile; 381 - LPCWSTR lpParameters; 382 - LPCWSTR lpDirectory; 383 - int nShow; 384 - HINSTANCE hInstApp; 385 - 386 - LPVOID lpIDList; 387 - LPCWSTR lpClass; 388 - HKEY hkeyClass; 389 - DWORD dwHotKey; 390 -union { 391 - HANDLE hIcon; 392 - HANDLE hMonitor; 372 +version (Unicode) { 373 + alias NOTIFYICONDATAW NOTIFYICONDATA; 374 + alias SHELLEXECUTEINFOW SHELLEXECUTEINFO; 375 + alias SHFILEOPSTRUCTW SHFILEOPSTRUCT; 376 + alias SHFILEINFOW SHFILEINFO; 377 + alias DragQueryFileW DragQueryFile; 378 + alias ExtractAssociatedIconW ExtractAssociatedIcon; 379 + alias ExtractIconW ExtractIcon; 380 + alias ExtractIconExW ExtractIconEx; 381 + alias FindExecutableW FindExecutable; 382 + alias Shell_NotifyIconW Shell_NotifyIcon; 383 + alias ShellAboutW ShellAbout; 384 + alias ShellExecuteW ShellExecute; 385 + alias ShellExecuteExW ShellExecuteEx; 386 + alias SHFileOperationW SHFileOperation; 387 + alias SHGetFileInfoW SHGetFileInfo; 388 + alias SHQueryRecycleBinW SHQueryRecycleBin; 389 + alias SHEmptyRecycleBinW SHEmptyRecycleBin; 390 +} else { 391 + alias NOTIFYICONDATAA NOTIFYICONDATA; 392 + alias SHELLEXECUTEINFOA SHELLEXECUTEINFO; 393 + alias SHFILEOPSTRUCTA SHFILEOPSTRUCT; 394 + alias SHFILEINFOA SHFILEINFO; 395 + alias DragQueryFileA DragQueryFile; 396 + alias ExtractAssociatedIconA ExtractAssociatedIcon; 397 + alias ExtractIconA ExtractIcon; 398 + alias ExtractIconExA ExtractIconEx; 399 + alias FindExecutableA FindExecutable; 400 + alias Shell_NotifyIconA Shell_NotifyIcon; 401 + alias ShellAboutA ShellAbout; 402 + alias ShellExecuteA ShellExecute; 403 + alias ShellExecuteExA ShellExecuteEx; 404 + alias SHFileOperationA SHFileOperation; 405 + alias SHGetFileInfoA SHGetFileInfo; 406 + alias SHQueryRecycleBinA SHQueryRecycleBin; 407 + alias SHEmptyRecycleBinA SHEmptyRecycleBin; 393 408 } 394 409 395 - HANDLE hProcess; 396 -} 397 -alias _SHELLEXECUTEINFOW SHELLEXECUTEINFOW; 398 -alias _SHELLEXECUTEINFOW* LPSHELLEXECUTEINFOW; 399 - 400 -// #ifdef UNICODE 401 -alias SHELLEXECUTEINFOW SHELLEXECUTEINFO; 402 -alias LPSHELLEXECUTEINFOW LPSHELLEXECUTEINFO; 403 -// #else 404 -// ... 405 -// #endif // UNICODE 406 - 407 -extern(Windows) export BOOL ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo); 408 -extern(Windows) export BOOL ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo); 409 -// #ifdef UNICODE 410 -alias ShellExecuteExW ShellExecuteEx; 411 -// #else 412 -// #... 413 -// #endif // !UNICODE 414 -extern(Windows) export void WinExecErrorA(HWND hwnd, int error, LPCSTR lpstrFileName, LPCSTR lpstrTitle); 415 -extern(Windows) export void WinExecErrorW(HWND hwnd, int error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle); 416 -// #ifdef UNICODE 417 -alias WinExecErrorW WinExecError; 418 -// #else 419 -// #... 420 -// #endif // !UNICODE 421 - 422 -struct _SHCREATEPROCESSINFOW { 423 - DWORD cbSize; 424 - ULONG fMask; 425 - HWND hwnd; 426 - LPCWSTR pszFile; 427 - LPCWSTR pszParameters; 428 - LPCWSTR pszCurrentDirectory; 429 - HANDLE hUserToken; 430 - LPSECURITY_ATTRIBUTES lpProcessAttributes; 431 - LPSECURITY_ATTRIBUTES lpThreadAttributes; 432 - BOOL bInheritHandles; 433 - DWORD dwCreationFlags; 434 - LPSTARTUPINFOW lpStartupInfo; 435 - LPPROCESS_INFORMATION lpProcessInformation; 436 -} 437 -alias _SHCREATEPROCESSINFOW SHCREATEPROCESSINFOW; 438 -alias _SHCREATEPROCESSINFOW* PSHCREATEPROCESSINFOW; 439 - 440 -extern(Windows) export BOOL SHCreateProcessAsUserW(PSHCREATEPROCESSINFOW pscpi); 441 - 442 -struct _SHQUERYRBINFO { 443 - DWORD cbSize; 444 -// #if !defined(_MAC) || defined(_MAC_INT_64) 445 - __int64 i64Size; 446 - __int64 i64NumItems; 447 -// #else 448 -// ... 449 -// #endif 450 -} 451 -alias _SHQUERYRBINFO SHQUERYRBINFO; 452 -alias _SHQUERYRBINFO* LPSHQUERYRBINFO; 453 - 454 -enum : uint { SHERB_NOCONFIRMATION = 0x00000001 } 455 -enum : uint { SHERB_NOPROGRESSUI = 0x00000002 } 456 -enum : uint { SHERB_NOSOUND = 0x00000004 } 457 - 458 -extern(Windows) export HRESULT SHQueryRecycleBinA(LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo); 459 -extern(Windows) export HRESULT SHQueryRecycleBinW(LPCWSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo); 460 -// #ifdef UNICODE 461 -alias SHQueryRecycleBinW SHQueryRecycleBin; 462 -// #else 463 -// #... 464 -// #endif // !UNICODE 465 -extern(Windows) export HRESULT SHEmptyRecycleBinA(HWND hwnd, LPCSTR pszRootPath, DWORD dwFlags); 466 -extern(Windows) export HRESULT SHEmptyRecycleBinW(HWND hwnd, LPCWSTR pszRootPath, DWORD dwFlags); 467 -// #ifdef UNICODE 468 -alias SHEmptyRecycleBinW SHEmptyRecycleBin; 469 -// #else 470 -// #... 471 -// #endif // !UNICODE 472 - 473 -struct _NOTIFYICONDATAA { 474 - DWORD cbSize; 475 - HWND hWnd; 476 - UINT uID; 477 - UINT uFlags; 478 - UINT uCallbackMessage; 479 - HICON hIcon; 480 -// #if (_WIN32_IE < 0x0500) 481 -// ... 482 -// #else 483 - CHAR szTip[128]; 484 -// #endif 485 -// #if (_WIN32_IE >= 0x0500) 486 - DWORD dwState; 487 - DWORD dwStateMask; 488 - CHAR szInfo[256]; 489 -union { 490 - UINT uTimeout; 491 - UINT uVersion; 492 -} 493 - 494 - CHAR szInfoTitle[64]; 495 - DWORD dwInfoFlags; 496 -// #endif 497 -// #if (_WIN32_IE >= 0x600) 498 - GUID guidItem; 499 -// #endif 500 -} 501 -alias _NOTIFYICONDATAA NOTIFYICONDATAA; 502 -alias _NOTIFYICONDATAA* PNOTIFYICONDATAA; 503 - 504 -struct _NOTIFYICONDATAW { 505 - DWORD cbSize; 506 - HWND hWnd; 507 - UINT uID; 508 - UINT uFlags; 509 - UINT uCallbackMessage; 510 - HICON hIcon; 511 -// #if (_WIN32_IE < 0x0500) 512 -// ... 513 -// #else 514 - WCHAR szTip[128]; 515 -// #endif 516 -// #if (_WIN32_IE >= 0x0500) 517 - DWORD dwState; 518 - DWORD dwStateMask; 519 - WCHAR szInfo[256]; 520 -union { 521 - UINT uTimeout; 522 - UINT uVersion; 523 -} 524 - 525 - WCHAR szInfoTitle[64]; 526 - DWORD dwInfoFlags; 527 -// #endif 528 -// #if (_WIN32_IE >= 0x600) 529 - GUID guidItem; 530 -// #endif 531 -} 532 -alias _NOTIFYICONDATAW NOTIFYICONDATAW; 533 -alias _NOTIFYICONDATAW* PNOTIFYICONDATAW; 534 - 535 -// #ifdef UNICODE 536 -alias NOTIFYICONDATAW NOTIFYICONDATA; 537 -alias PNOTIFYICONDATAW PNOTIFYICONDATA; 538 -// #else 539 -// ... 540 -// #endif // UNICODE 541 - 542 -// #define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA, szTip[64]) 543 -// #define NOTIFYICONDATAW_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAW, szTip[64]) 544 -// #ifdef UNICODE 545 -// #define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAW_V1_SIZE 546 -// #else 547 -// #... 548 -// #endif 549 - 550 -// #define NOTIFYICONDATAA_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAA, guidItem) 551 -// #define NOTIFYICONDATAW_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAW, guidItem) 552 -// #ifdef UNICODE 553 -// #define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAW_V2_SIZE 554 -// #else 555 -// #... 556 -// #endif 557 - 558 -// #if (_WIN32_IE >= 0x0500) 559 -const uint NIN_SELECT = WM_USER + 0; 560 -enum : uint { NINF_KEY = 0x1 } 561 -const uint NIN_KEYSELECT = NIN_SELECT | NINF_KEY; 562 -// #endif 563 - 564 -// #if (_WIN32_IE >= 0x0501) 565 -const uint NIN_BALLOONSHOW = WM_USER + 2; 566 -const uint NIN_BALLOONHIDE = WM_USER + 3; 567 -const uint NIN_BALLOONTIMEOUT = WM_USER + 4; 568 -const uint NIN_BALLOONUSERCLICK = WM_USER + 5; 569 -// #endif 570 - 571 -enum : uint { NIM_ADD = 0x00000000 } 572 -enum : uint { NIM_MODIFY = 0x00000001 } 573 -enum : uint { NIM_DELETE = 0x00000002 } 574 -// #if (_WIN32_IE >= 0x0500) 575 -enum : uint { NIM_SETFOCUS = 0x00000003 } 576 -enum : uint { NIM_SETVERSION = 0x00000004 } 577 -enum : uint { NOTIFYICON_VERSION = 3 } 578 -// #endif 579 - 580 -enum : uint { NIF_MESSAGE = 0x00000001 } 581 -enum : uint { NIF_ICON = 0x00000002 } 582 -enum : uint { NIF_TIP = 0x00000004 } 583 -// #if (_WIN32_IE >= 0x0500) 584 -enum : uint { NIF_STATE = 0x00000008 } 585 -enum : uint { NIF_INFO = 0x00000010 } 586 -// #endif 587 -// #if (_WIN32_IE >= 0x600) 588 -enum : uint { NIF_GUID = 0x00000020 } 589 -// #endif 590 - 591 -// #if (_WIN32_IE >= 0x0500) 592 -enum : uint { NIS_HIDDEN = 0x00000001 } 593 -enum : uint { NIS_SHAREDICON = 0x00000002 } 594 - 595 -enum : uint { NIIF_NONE = 0x00000000 } 596 - 597 -enum : uint { NIIF_INFO = 0x00000001 } 598 -enum : uint { NIIF_WARNING = 0x00000002 } 599 -enum : uint { NIIF_ERROR = 0x00000003 } 600 -enum : uint { NIIF_ICON_MASK = 0x0000000F } 601 -// #if (_WIN32_IE >= 0x0501) 602 -enum : uint { NIIF_NOSOUND = 0x00000010 } 603 -// #endif 604 -// #endif 605 - 606 -extern(Windows) export BOOL Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData); 607 -extern(Windows) export BOOL Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData); 608 -// #ifdef UNICODE 609 -alias Shell_NotifyIconW Shell_NotifyIcon; 610 -// #else 611 -// #... 612 -// #endif // !UNICODE 613 - 614 -// #ifndef SHFILEINFO_DEFINED 615 -// #define SHFILEINFO_DEFINED 616 - 617 -struct _SHFILEINFOA { 618 - HICON hIcon; 619 - int iIcon; 620 - DWORD dwAttributes; 621 - CHAR szDisplayName[MAX_PATH]; 622 - CHAR szTypeName[80]; 623 -} 624 -alias _SHFILEINFOA SHFILEINFOA; 625 - 626 -struct _SHFILEINFOW { 627 - HICON hIcon; 628 - int iIcon; 629 - DWORD dwAttributes; 630 - WCHAR szDisplayName[MAX_PATH]; 631 - WCHAR szTypeName[80]; 632 -} 633 -alias _SHFILEINFOW SHFILEINFOW; 634 - 635 -// #ifdef UNICODE 636 -alias SHFILEINFOW SHFILEINFO; 637 -// #else 638 -// ... 639 -// #endif // UNICODE 640 - 641 -// #endif // !SHFILEINFO_DEFINED 642 - 643 -enum : uint { SHGFI_ICON = 0x000000100 } 644 -enum : uint { SHGFI_DISPLAYNAME = 0x000000200 } 645 -enum : uint { SHGFI_TYPENAME = 0x000000400 } 646 -enum : uint { SHGFI_ATTRIBUTES = 0x000000800 } 647 -enum : uint { SHGFI_ICONLOCATION = 0x000001000 } 648 -enum : uint { SHGFI_EXETYPE = 0x000002000 } 649 -enum : uint { SHGFI_SYSICONINDEX = 0x000004000 } 650 -enum : uint { SHGFI_LINKOVERLAY = 0x000008000 } 651 -enum : uint { SHGFI_SELECTED = 0x000010000 } 652 -enum : uint { SHGFI_ATTR_SPECIFIED = 0x000020000 } 653 -enum : uint { SHGFI_LARGEICON = 0x000000000 } 654 -enum : uint { SHGFI_SMALLICON = 0x000000001 } 655 -enum : uint { SHGFI_OPENICON = 0x000000002 } 656 -enum : uint { SHGFI_SHELLICONSIZE = 0x000000004 } 657 -enum : uint { SHGFI_PIDL = 0x000000008 } 658 -enum : uint { SHGFI_USEFILEATTRIBUTES = 0x000000010 } 659 - 660 -// #if (_WIN32_IE >= 0x0500) 661 -enum : uint { SHGFI_ADDOVERLAYS = 0x000000020 } 662 -enum : uint { SHGFI_OVERLAYINDEX = 0x000000040 } 663 - 664 -// #endif 665 - 666 -extern(Windows) export DWORD_PTR SHGetFileInfoA(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags); 667 -extern(Windows) export DWORD_PTR SHGetFileInfoW(LPCWSTR pszPath, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags); 668 -// #ifdef UNICODE 669 -alias SHGetFileInfoW SHGetFileInfo; 670 -// #else 671 -// #... 672 -// #endif // !UNICODE 673 - 674 -alias SHGetDiskFreeSpaceEx SHGetDiskFreeSpace; 675 - 676 -extern(Windows) export BOOL SHGetDiskFreeSpaceExA(LPCSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes); 677 -extern(Windows) export BOOL SHGetDiskFreeSpaceExW(LPCWSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes); 678 -// #ifdef UNICODE 679 -alias SHGetDiskFreeSpaceExW SHGetDiskFreeSpaceEx; 680 -// #else 681 -// #... 682 -// #endif // !UNICODE 683 -extern(Windows) export BOOL SHGetNewLinkInfoA(LPCSTR pszLinkTo, LPCSTR pszDir, LPSTR pszName, BOOL *pfMustCopy, UINT uFlags); 684 -extern(Windows) export BOOL SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags); 685 -// #ifdef UNICODE 686 -alias SHGetNewLinkInfoW SHGetNewLinkInfo; 687 -// #else 688 -// #... 689 -// #endif // !UNICODE 690 - 691 -enum : uint { SHGNLI_PIDL = 0x000000001 } 692 -enum : uint { SHGNLI_PREFIXNAME = 0x000000002 } 693 -enum : uint { SHGNLI_NOUNIQUE = 0x000000004 } 694 -// #if (_WIN32_IE >= 0x0501) 695 -enum : uint { SHGNLI_NOLNK = 0x000000008 } 696 -// #endif // _WIN2_IE >= 0x0501 697 - 698 -enum : uint { PRINTACTION_OPEN = 0 } 699 -enum : uint { PRINTACTION_PROPERTIES = 1 } 700 -enum : uint { PRINTACTION_NETINSTALL = 2 } 701 -enum : uint { PRINTACTION_NETINSTALLLINK = 3 } 702 -enum : uint { PRINTACTION_TESTPAGE = 4 } 703 -enum : uint { PRINTACTION_OPENNETPRN = 5 } 704 -// #ifdef WINNT 705 -// #... 706 -// #... 707 -// #endif 708 - 709 -extern(Windows) export BOOL SHInvokePrinterCommandA(HWND hwnd, UINT uAction, LPCSTR lpBuf1, LPCSTR lpBuf2, BOOL fModal); 710 -extern(Windows) export BOOL SHInvokePrinterCommandW(HWND hwnd, UINT uAction, LPCWSTR lpBuf1, LPCWSTR lpBuf2, BOOL fModal); 711 -// #ifdef UNICODE 712 -alias SHInvokePrinterCommandW SHInvokePrinterCommand; 713 -// #else 714 -// #... 715 -// #endif // !UNICODE 716 - 717 -// #endif /* WINVER >= 0x0400 */ 718 - 719 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0500) 720 - 721 -extern(Windows) export HRESULT SHLoadNonloadedIconOverlayIdentifiers(); 722 - 723 -extern(Windows) export HRESULT SHIsFileAvailableOffline(LPCWSTR pwszPath, LPDWORD pdwStatus); 724 - 725 -enum : uint { OFFLINE_STATUS_LOCAL = 0x0001 } 726 -enum : uint { OFFLINE_STATUS_REMOTE = 0x0002 } 727 -enum : uint { OFFLINE_STATUS_INCOMPLETE = 0x0004 } 728 - 729 -// #endif 730 - 731 -extern(Windows) export HRESULT SHSetLocalizedName(LPWSTR pszPath, LPCWSTR pszResModule, int idsRes); 732 - 733 -// #if _WIN32_IE >= 0x0600 734 - 735 -extern(Windows) export HRESULT SHEnumerateUnreadMailAccountsA(HKEY hKeyUser, DWORD dwIndex, LPSTR pszMailAddress, int cchMailAddress); 736 -extern(Windows) export HRESULT SHEnumerateUnreadMailAccountsW(HKEY hKeyUser, DWORD dwIndex, LPWSTR pszMailAddress, int cchMailAddress); 737 -// #ifdef UNICODE 738 -alias SHEnumerateUnreadMailAccountsW SHEnumerateUnreadMailAccounts; 739 -// #else 740 -// #... 741 -// #endif // !UNICODE 742 -extern(Windows) export HRESULT SHGetUnreadMailCountA(HKEY hKeyUser, LPCSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPSTR pszShellExecuteCommand, int cchShellExecuteCommand); 743 -extern(Windows) export HRESULT SHGetUnreadMailCountW(HKEY hKeyUser, LPCWSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPWSTR pszShellExecuteCommand, int cchShellExecuteCommand); 744 -// #ifdef UNICODE 745 -alias SHGetUnreadMailCountW SHGetUnreadMailCount; 746 -// #else 747 -// #... 748 -// #endif // !UNICODE 749 -extern(Windows) export HRESULT SHSetUnreadMailCountA(LPCSTR pszMailAddress, DWORD dwCount, LPCSTR pszShellExecuteCommand); 750 -extern(Windows) export HRESULT SHSetUnreadMailCountW(LPCWSTR pszMailAddress, DWORD dwCount, LPCWSTR pszShellExecuteCommand); 751 -// #ifdef UNICODE 752 -alias SHSetUnreadMailCountW SHSetUnreadMailCount; 753 -// #else 754 -// #... 755 -// #endif // !UNICODE 756 - 757 -// #endif /* _WIN32_IE >= 0x0600 */ 758 - 759 -// #if _WIN32_IE >= 0x0600 760 - 761 -extern(Windows) export HRESULT SHGetImageList(int iImageList, REFIID riid, void **ppvObj); 762 - 763 -enum : uint { SHIL_LARGE = 0 } 764 -enum : uint { SHIL_SMALL = 1 } 765 -enum : uint { SHIL_EXTRALARGE = 2 } 766 -enum : uint { SHIL_SYSSMALL = 3 } 767 - 768 -alias SHIL_SYSSMALL SHIL_LAST; 769 - 770 -extern(Windows) alias HRESULT function( LPCWSTR pszPath) PFNCANSHAREFOLDERW; 771 -extern(Windows) alias HRESULT function( HWND hwndParent, LPCWSTR pszPath) PFNSHOWSHAREFOLDERUIW; 772 - 773 -// #endif /* _WIN32_IE >= 0x0600 */ 774 - 775 -// #ifdef __cplusplus 776 -// } 777 -// #endif /* __cplusplus */ 778 - 779 -// #if !defined(_WIN64) 780 -align: 781 -// #endif 782 - 783 -// #endif /* _INC_SHELLAPI */ 784 - 410 +alias NOTIFYICONDATA* PNOTIFYICONDATA; 411 +alias SHELLEXECUTEINFO* LPSHELLEXECUTEINFO; 412 +alias SHFILEOPSTRUCT* LPSHFILEOPSTRUCT;

Added src/win32/shldisp.d version [c1af51274ab1ba01]

1 +/***********************************************************************\ 2 +* shldisp.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.shldisp; 11 + 12 +private import win32.unknwn, win32.windef, win32.wtypes; 13 + 14 +// options for IAutoComplete2 15 +const DWORD ACO_AUTOSUGGEST = 0x01; 16 + 17 +interface IAutoComplete : IUnknown { 18 + HRESULT Init(HWND, IUnknown*, LPCOLESTR, LPCOLESTR); 19 + HRESULT Enable(BOOL); 20 +} 21 +alias IAutoComplete* LPAUTOCOMPLETE; 22 + 23 +interface IAutoComplete2 : IAutoComplete { 24 + HRESULT SetOptions(DWORD); 25 + HRESULT GetOptions(DWORD*); 26 +} 27 +alias IAutoComplete2* LPAUTOCOMPLETE2;

Added src/win32/shlguid.d version [b28a9f2a219fc8a0]

1 +/***********************************************************************\ 2 +* shlguid.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.shlguid; 11 + 12 +private import win32.basetyps, win32.w32api; 13 + 14 +// FIXME: clean up Windows version support 15 + 16 +// I think this is just a helper macro for other win32 headers? 17 +//MACRO #define DEFINE_SHLGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) 18 +

Added src/win32/shlobj.d version [3b1d34f9e7047278]

1 +/***********************************************************************\ 2 +* shlobj.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.shlobj; 11 +pragma(lib, "shell32.lib"); 12 + 13 +// TODO: fix bitfields 14 +// TODO: CMIC_VALID_SEE_FLAGS 15 +// SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K 16 + 17 +import win32.commctrl, win32.ole2, win32.shlguid, win32.shellapi; 18 +private import win32.prsht, win32.unknwn, win32.w32api, win32.winbase, 19 + win32.winnt, win32.winuser, win32.wtypes, win32.objfwd, win32.objidl; 20 +private import win32.winnetwk; // for NETRESOURCE 21 + 22 + 23 +// FIXME: clean up Windows version support 24 + 25 +align(1): 26 + 27 +const BIF_RETURNONLYFSDIRS = 1; 28 +const BIF_DONTGOBELOWDOMAIN = 2; 29 +const BIF_STATUSTEXT = 4; 30 +const BIF_RETURNFSANCESTORS = 8; 31 +const BIF_EDITBOX = 16; 32 +const BIF_VALIDATE = 32; 33 +const BIF_NEWDIALOGSTYLE = 64; 34 +const BIF_BROWSEINCLUDEURLS = 128; 35 +const BIF_USENEWUI = BIF_EDITBOX | BIF_NEWDIALOGSTYLE; 36 +const BIF_BROWSEFORCOMPUTER = 0x1000; 37 +const BIF_BROWSEFORPRINTER = 0x2000; 38 +const BIF_BROWSEINCLUDEFILES = 0x4000; 39 +const BIF_SHAREABLE = 0x8000; 40 +const BFFM_INITIALIZED = 1; 41 +const BFFM_SELCHANGED = 2; 42 +const BFFM_VALIDATEFAILEDA = 3; 43 +const BFFM_VALIDATEFAILEDW = 4; 44 +const BFFM_SETSTATUSTEXTA = WM_USER + 100; 45 +const BFFM_ENABLEOK = WM_USER + 101; 46 +const BFFM_SETSELECTIONA = WM_USER + 102; 47 +const BFFM_SETSELECTIONW = WM_USER + 103; 48 +const BFFM_SETSTATUSTEXTW = WM_USER + 104; 49 +const BFFM_SETOKTEXT = WM_USER + 105; 50 +const BFFM_SETEXPANDED = WM_USER + 106; 51 + 52 +version(Unicode) { 53 + alias BFFM_SETSTATUSTEXTW BFFM_SETSTATUSTEXT; 54 + alias BFFM_SETSELECTIONW BFFM_SETSELECTION; 55 + alias BFFM_VALIDATEFAILEDW BFFM_VALIDATEFAILED; 56 +} else { 57 + alias BFFM_SETSTATUSTEXTA BFFM_SETSTATUSTEXT; 58 + alias BFFM_SETSELECTIONA BFFM_SETSELECTION; 59 + alias BFFM_VALIDATEFAILEDA BFFM_VALIDATEFAILED; 60 +} 61 + 62 +const DVASPECT_SHORTNAME = 2; 63 + 64 +const SHARD_PIDL = 1; 65 +const SHARD_PATH = 2; 66 + 67 +const SHCNE_RENAMEITEM = 1; 68 +const SHCNE_CREATE = 2; 69 +const SHCNE_DELETE = 4; 70 +const SHCNE_MKDIR = 8; 71 +const SHCNE_RMDIR = 16; 72 +const SHCNE_MEDIAINSERTED = 32; 73 +const SHCNE_MEDIAREMOVED = 64; 74 +const SHCNE_DRIVEREMOVED = 128; 75 +const SHCNE_DRIVEADD = 256; 76 +const SHCNE_NETSHARE = 512; 77 +const SHCNE_NETUNSHARE = 1024; 78 +const SHCNE_ATTRIBUTES = 2048; 79 +const SHCNE_UPDATEDIR = 4096; 80 +const SHCNE_UPDATEITEM = 8192; 81 +const SHCNE_SERVERDISCONNECT = 16384; 82 +const SHCNE_UPDATEIMAGE = 32768; 83 +const SHCNE_DRIVEADDGUI = 65536; 84 +const SHCNE_RENAMEFOLDER = 0x20000; 85 +const SHCNE_FREESPACE = 0x40000; 86 +const SHCNE_ASSOCCHANGED = 0x8000000; 87 +const SHCNE_DISKEVENTS = 0x2381F; 88 +const SHCNE_GLOBALEVENTS = 0xC0581E0; 89 +const SHCNE_ALLEVENTS = 0x7FFFFFFF; 90 +const SHCNE_INTERRUPT = 0x80000000; 91 + 92 +const SHCNF_IDLIST = 0; 93 +const SHCNF_PATHA = 1; 94 +const SHCNF_PRINTERA = 2; 95 +const SHCNF_DWORD = 3; 96 +const SHCNF_PATHW = 5; 97 +const SHCNF_PRINTERW = 6; 98 +const SHCNF_TYPE = 0xFF; 99 +const SHCNF_FLUSH = 0x1000; 100 +const SHCNF_FLUSHNOWAIT = 0x2000; 101 + 102 +version(Unicode) { 103 + alias SHCNF_PATHW SHCNF_PATH; 104 + alias SHCNF_PRINTERW SHCNF_PRINTER; 105 +} else { 106 + alias SHCNF_PATHA SHCNF_PATH; 107 + alias SHCNF_PRINTERA SHCNF_PRINTER; 108 +} 109 + 110 +const SFGAO_CANCOPY = DROPEFFECT.DROPEFFECT_COPY; 111 +const SFGAO_CANMOVE = DROPEFFECT.DROPEFFECT_MOVE; 112 +const SFGAO_CANLINK = DROPEFFECT.DROPEFFECT_LINK; 113 +const SFGAO_CANRENAME = 0x00000010L; 114 +const SFGAO_CANDELETE = 0x00000020L; 115 +const SFGAO_HASPROPSHEET = 0x00000040L; 116 +const SFGAO_DROPTARGET = 0x00000100L; 117 +const SFGAO_CAPABILITYMASK = 0x00000177L; 118 +const SFGAO_GHOSTED = 0x00008000L; 119 +const SFGAO_LINK = 0x00010000L; 120 +const SFGAO_SHARE = 0x00020000L; 121 +const SFGAO_READONLY = 0x00040000L; 122 +const SFGAO_HIDDEN = 0x00080000L; 123 +const SFGAO_DISPLAYATTRMASK = 0x000F0000L; 124 +const SFGAO_FILESYSANCESTOR = 0x10000000L; 125 +const SFGAO_FOLDER = 0x20000000L; 126 +const SFGAO_FILESYSTEM = 0x40000000L; 127 +const SFGAO_HASSUBFOLDER = 0x80000000L; 128 +const SFGAO_CONTENTSMASK = 0x80000000L; 129 +const SFGAO_VALIDATE = 0x01000000L; 130 +const SFGAO_REMOVABLE = 0x02000000L; 131 +const SFGAO_COMPRESSED = 0x04000000L; 132 +const STRRET_WSTR = 0; 133 +const STRRET_OFFSET = 1; 134 +const STRRET_CSTR = 2; 135 + 136 +enum { 137 + SHGDFIL_FINDDATA = 1, 138 + SHGDFIL_NETRESOURCE, 139 + SHGDFIL_DESCRIPTIONID 140 +} 141 + 142 +enum { 143 + SHDID_ROOT_REGITEM = 1, 144 + SHDID_FS_FILE, 145 + SHDID_FS_DIRECTORY, 146 + SHDID_FS_OTHER, 147 + SHDID_COMPUTER_DRIVE35, 148 + SHDID_COMPUTER_DRIVE525, 149 + SHDID_COMPUTER_REMOVABLE, 150 + SHDID_COMPUTER_FIXED, 151 + SHDID_COMPUTER_NETDRIVE, 152 + SHDID_COMPUTER_CDROM, 153 + SHDID_COMPUTER_RAMDISK, 154 + SHDID_COMPUTER_OTHER, 155 + SHDID_NET_DOMAIN, 156 + SHDID_NET_SERVER, 157 + SHDID_NET_SHARE, 158 + SHDID_NET_RESTOFNET, 159 + SHDID_NET_OTHER 160 +} 161 + 162 +const TCHAR[] REGSTR_PATH_EXPLORER = "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer"; 163 +const TCHAR[] REGSTR_PATH_SPECIAL_FOLDERS=REGSTR_PATH_EXPLORER ~ "\\Shell Folders"; 164 + 165 +enum { 166 + CSIDL_DESKTOP = 0, 167 + CSIDL_INTERNET, 168 + CSIDL_PROGRAMS, 169 + CSIDL_CONTROLS, 170 + CSIDL_PRINTERS, 171 + CSIDL_PERSONAL, 172 + CSIDL_FAVORITES, 173 + CSIDL_STARTUP, 174 + CSIDL_RECENT, 175 + CSIDL_SENDTO, 176 + CSIDL_BITBUCKET, 177 + CSIDL_STARTMENU, // = 11 178 + CSIDL_DESKTOPDIRECTORY = 16, 179 + CSIDL_DRIVES, 180 + CSIDL_NETWORK, 181 + CSIDL_NETHOOD, 182 + CSIDL_FONTS, 183 + CSIDL_TEMPLATES, 184 + CSIDL_COMMON_STARTMENU, 185 + CSIDL_COMMON_PROGRAMS, 186 + CSIDL_COMMON_STARTUP, 187 + CSIDL_COMMON_DESKTOPDIRECTORY, 188 + CSIDL_APPDATA, 189 + CSIDL_PRINTHOOD, 190 + CSIDL_LOCAL_APPDATA, 191 + CSIDL_ALTSTARTUP, 192 + CSIDL_COMMON_ALTSTARTUP, 193 + CSIDL_COMMON_FAVORITES, 194 + CSIDL_INTERNET_CACHE, 195 + CSIDL_COOKIES, 196 + CSIDL_HISTORY, 197 + CSIDL_COMMON_APPDATA, 198 + CSIDL_WINDOWS, 199 + CSIDL_SYSTEM, 200 + CSIDL_PROGRAM_FILES, 201 + CSIDL_MYPICTURES, 202 + CSIDL_PROFILE, 203 + CSIDL_SYSTEMX86, 204 + CSIDL_PROGRAM_FILESX86, 205 + CSIDL_PROGRAM_FILES_COMMON, 206 + CSIDL_PROGRAM_FILES_COMMONX86, 207 + CSIDL_COMMON_TEMPLATES, 208 + CSIDL_COMMON_DOCUMENTS, 209 + CSIDL_COMMON_ADMINTOOLS, 210 + CSIDL_ADMINTOOLS, 211 + CSIDL_CONNECTIONS, // =49 212 + CSIDL_COMMON_MUSIC = 53, 213 + CSIDL_COMMON_PICTURES, 214 + CSIDL_COMMON_VIDEO, 215 + CSIDL_RESOURCES, 216 + CSIDL_RESOURCES_LOCALIZED, 217 + CSIDL_COMMON_OEM_LINKS, 218 + CSIDL_CDBURN_AREA, // = 59 219 + CSIDL_COMPUTERSNEARME = 61, 220 + CSIDL_FLAG_DONT_VERIFY = 0x4000, 221 + CSIDL_FLAG_CREATE = 0x8000, 222 + CSIDL_FLAG_MASK = 0xFF00 223 +} 224 + 225 +const TCHAR[] 226 + CFSTR_SHELLIDLIST = "Shell IDList Array", 227 + CFSTR_SHELLIDLISTOFFSET = "Shell Object Offsets", 228 + CFSTR_NETRESOURCES = "Net Resource", 229 + CFSTR_FILECONTENTS = "FileContents", 230 + CFSTR_FILENAMEA = "FileName", 231 + CFSTR_FILENAMEMAPA = "FileNameMap", 232 + CFSTR_FILEDESCRIPTORA = "FileGroupDescriptor", 233 + CFSTR_INETURLA = "UniformResourceLocator", 234 + CFSTR_SHELLURL = CFSTR_INETURLA, 235 + CFSTR_FILENAMEW = "FileNameW", 236 + CFSTR_FILENAMEMAPW = "FileNameMapW", 237 + CFSTR_FILEDESCRIPTORW = "FileGroupDescriptorW", 238 + CFSTR_INETURLW = "UniformResourceLocatorW"; 239 + 240 +version(Unicode) { 241 + alias CFSTR_FILENAMEW CFSTR_FILENAME; 242 + alias CFSTR_FILENAMEMAPW CFSTR_FILENAMEMAP; 243 + alias CFSTR_FILEDESCRIPTORW CFSTR_FILEDESCRIPTOR; 244 + alias CFSTR_INETURLW CFSTR_INETURL; 245 +} else { 246 + alias CFSTR_FILENAMEA CFSTR_FILENAME; 247 + alias CFSTR_FILENAMEMAPA CFSTR_FILENAMEMAP; 248 + alias CFSTR_FILEDESCRIPTORA CFSTR_FILEDESCRIPTOR; 249 + alias CFSTR_INETURLA CFSTR_INETURL; 250 +} 251 +const TCHAR[] 252 + CFSTR_PRINTERGROUP = "PrinterFriendlyName", 253 + CFSTR_INDRAGLOOP = "InShellDragLoop", 254 + CFSTR_PASTESUCCEEDED = "Paste Succeeded", 255 + CFSTR_PERFORMEDDROPEFFECT = "Performed DropEffect", 256 + CFSTR_PREFERREDDROPEFFECT = "Preferred DropEffect"; 257 + 258 +const CMF_NORMAL=0; 259 +const CMF_DEFAULTONLY=1; 260 +const CMF_VERBSONLY=2; 261 +const CMF_EXPLORE=4; 262 +const CMF_NOVERBS=8; 263 +const CMF_CANRENAME=16; 264 +const CMF_NODEFAULT=32; 265 +const CMF_INCLUDESTATIC=64; 266 +const CMF_RESERVED=0xffff0000; 267 +const GCS_VERBA=0; 268 +const GCS_HELPTEXTA=1; 269 +const GCS_VALIDATEA=2; 270 +const GCS_VERBW=4; 271 +const GCS_HELPTEXTW=5; 272 +const GCS_VALIDATEW=6; 273 +const GCS_UNICODE=4; 274 + 275 +version(Unicode) { 276 + alias GCS_VERBW GCS_VERB; 277 + alias GCS_HELPTEXTW GCS_HELPTEXT; 278 + alias GCS_VALIDATEW GCS_VALIDATE; 279 +} else { 280 + alias GCS_VERBA GCS_VERB; 281 + alias GCS_HELPTEXTA GCS_HELPTEXT; 282 + alias GCS_VALIDATEA GCS_VALIDATE; 283 +} 284 + 285 +const TCHAR[] 286 + CMDSTR_NEWFOLDER = "NewFolder", 287 + CMDSTR_VIEWLIST = "ViewList", 288 + CMDSTR_VIEWDETAILS = "ViewDetails"; 289 + 290 +const CMIC_MASK_HOTKEY = SEE_MASK_HOTKEY; 291 +const CMIC_MASK_ICON = SEE_MASK_ICON; 292 +const CMIC_MASK_FLAG_NO_UI = SEE_MASK_FLAG_NO_UI; 293 +const CMIC_MASK_MODAL = 0x80000000; 294 +// TODO: This isn't defined anywhere in MinGW. 295 +//const CMIC_VALID_SEE_FLAGS=SEE_VALID_CMIC_FLAGS; 296 + 297 +const GIL_OPENICON = 1; 298 +const GIL_FORSHELL = 2; 299 +const GIL_SIMULATEDOC = 1; 300 +const GIL_PERINSTANCE = 2; 301 +const GIL_PERCLASS = 4; 302 +const GIL_NOTFILENAME = 8; 303 +const GIL_DONTCACHE = 16; 304 + 305 +const FVSIF_RECT = 1; 306 +const FVSIF_PINNED = 2; 307 +const FVSIF_NEWFAILED = 0x8000000; 308 +const FVSIF_NEWFILE = 0x80000000; 309 +const FVSIF_CANVIEWIT = 0x40000000; 310 + 311 +const CDBOSC_SETFOCUS = 0; 312 +const CDBOSC_KILLFOCUS = 1; 313 +const CDBOSC_SELCHANGE = 2; 314 +const CDBOSC_RENAME = 3; 315 + 316 +const FCIDM_SHVIEWFIRST = 0; 317 +const FCIDM_SHVIEWLAST = 0x7fff; 318 +const FCIDM_BROWSERFIRST = 0xa000; 319 +const FCIDM_BROWSERLAST = 0xbf00; 320 +const FCIDM_GLOBALFIRST = 0x8000; 321 +const FCIDM_GLOBALLAST = 0x9fff; 322 +const FCIDM_MENU_FILE = FCIDM_GLOBALFIRST; 323 +const FCIDM_MENU_EDIT = FCIDM_GLOBALFIRST+0x0040; 324 +const FCIDM_MENU_VIEW = FCIDM_GLOBALFIRST+0x0080; 325 +const FCIDM_MENU_VIEW_SEP_OPTIONS = FCIDM_GLOBALFIRST+0x0081; 326 +const FCIDM_MENU_TOOLS = FCIDM_GLOBALFIRST+0x00c0; 327 +const FCIDM_MENU_TOOLS_SEP_GOTO = FCIDM_GLOBALFIRST+0x00c1; 328 +const FCIDM_MENU_HELP = FCIDM_GLOBALFIRST+0x0100; 329 +const FCIDM_MENU_FIND = FCIDM_GLOBALFIRST+0x0140; 330 +const FCIDM_MENU_EXPLORE = FCIDM_GLOBALFIRST+0x0150; 331 +const FCIDM_MENU_FAVORITES = FCIDM_GLOBALFIRST+0x0170; 332 +const FCIDM_TOOLBAR = FCIDM_BROWSERFIRST; 333 +const FCIDM_STATUS = FCIDM_BROWSERFIRST+1; 334 + 335 +const SBSP_DEFBROWSER = 0; 336 +const SBSP_SAMEBROWSER = 1; 337 +const SBSP_NEWBROWSER = 2; 338 +const SBSP_DEFMODE = 0; 339 +const SBSP_OPENMODE = 16; 340 +const SBSP_EXPLOREMODE = 32; 341 +const SBSP_ABSOLUTE = 0; 342 +const SBSP_RELATIVE = 0x1000; 343 +const SBSP_PARENT = 0x2000; 344 +const SBSP_INITIATEDBYHLINKFRAME = 0x80000000; 345 +const SBSP_REDIRECT = 0x40000000; 346 + 347 +enum { 348 + FCW_STATUS=1, 349 + FCW_TOOLBAR, 350 + FCW_TREE 351 +} 352 + 353 +const FCT_MERGE=1; 354 +const FCT_CONFIGABLE=2; 355 +const FCT_ADDTOEND=4; 356 + 357 +const SVSI_DESELECT=0; 358 +const SVSI_SELECT=1; 359 +const SVSI_EDIT=3; 360 +const SVSI_DESELECTOTHERS=4; 361 +const SVSI_ENSUREVISIBLE=8; 362 +const SVSI_FOCUSED=16; 363 + 364 +const SVGIO_BACKGROUND=0; 365 +const SVGIO_SELECTION=1; 366 +const SVGIO_ALLVIEW=2; 367 + 368 +const UINT SV2GV_CURRENTVIEW=-1; 369 +const UINT SV2GV_DEFAULTVIEW=-2; 370 + 371 +alias ULONG SFGAOF; 372 +alias DWORD SHGDNF; 373 + 374 +struct CIDA { 375 + UINT cidl; 376 + UINT[1] aoffset; 377 +} 378 +alias CIDA* LPIDA; 379 + 380 +struct SHITEMID { 381 + USHORT cb; 382 + BYTE[1] abID; 383 +} 384 +alias SHITEMID* LPSHITEMID; 385 +alias CPtr!(SHITEMID) LPCSHITEMID; 386 + 387 +struct ITEMIDLIST { 388 + SHITEMID mkid; 389 +} 390 +alias ITEMIDLIST* LPITEMIDLIST; 391 +alias CPtr!(ITEMIDLIST) LPCITEMIDLIST; 392 + 393 +alias int function(HWND,UINT,LPARAM,LPARAM) BFFCALLBACK; 394 + 395 +struct BROWSEINFOA { 396 + HWND hwndOwner; 397 + LPCITEMIDLIST pidlRoot; 398 + LPSTR pszDisplayName; 399 + LPCSTR lpszTitle; 400 + UINT ulFlags; 401 + BFFCALLBACK lpfn; 402 + LPARAM lParam; 403 + int iImage; 404 +} 405 +alias BROWSEINFOA* PBROWSEINFOA, LPBROWSEINFOA; 406 + 407 +struct BROWSEINFOW { 408 + HWND hwndOwner; 409 + LPCITEMIDLIST pidlRoot; 410 + LPWSTR pszDisplayName; 411 + LPCWSTR lpszTitle; 412 + UINT ulFlags; 413 + BFFCALLBACK lpfn; 414 + LPARAM lParam; 415 + int iImage; 416 +} 417 +alias BROWSEINFOW* PBROWSEINFOW, LPBROWSEINFOW; 418 + 419 +struct CMINVOKECOMMANDINFO { 420 + DWORD cbSize = this.sizeof; 421 + DWORD fMask; 422 + HWND hwnd; 423 + LPCSTR lpVerb; 424 + LPCSTR lpParameters; 425 + LPCSTR lpDirectory; 426 + int nShow; 427 + DWORD dwHotKey; 428 + HANDLE hIcon; 429 +} 430 +alias CMINVOKECOMMANDINFO* LPCMINVOKECOMMANDINFO; 431 + 432 +struct DROPFILES { 433 + DWORD pFiles; 434 + POINT pt; 435 + BOOL fNC; 436 + BOOL fWide; 437 +} 438 +alias DROPFILES* LPDROPFILES; 439 + 440 +enum SHGNO { 441 + SHGDN_NORMAL = 0, 442 + SHGDN_INFOLDER, 443 + SHGDN_FOREDITING = 0x1000, 444 + SHGDN_INCLUDE_NONFILESYS = 0x2000, 445 + SHGDN_FORADDRESSBAR = 0x4000, 446 + SHGDN_FORPARSING = 0x8000 447 +} 448 + 449 +enum SHCONTF { 450 + SHCONTF_FOLDERS = 32, 451 + SHCONTF_NONFOLDERS = 64, 452 + SHCONTF_INCLUDEHIDDEN = 128, 453 + SHCONTF_INIT_ON_FIRST_NEXT = 256, 454 + SHCONTF_NETPRINTERSRCH = 512, 455 + SHCONTF_SHAREABLE = 1024, 456 + SHCONTF_STORAGE = 2048 457 +} 458 + 459 +struct STRRET { 460 + UINT uType; 461 + union { 462 + LPWSTR pOleStr; 463 + UINT uOffset; 464 + char cStr[MAX_PATH]; 465 + } 466 +} 467 +alias STRRET* LPSTRRET; 468 + 469 +enum FD_FLAGS { 470 + FD_CLSID = 1, 471 + FD_SIZEPOINT = 2, 472 + FD_ATTRIBUTES = 4, 473 + FD_CREATETIME = 8, 474 + FD_ACCESSTIME = 16, 475 + FD_WRITESTIME = 32, 476 + FD_FILESIZE = 64, 477 + FD_LINKUI = 0x8000 478 +} 479 + 480 +struct FILEDESCRIPTORA { 481 + DWORD dwFlags; 482 + CLSID clsid; 483 + SIZEL sizel; 484 + POINTL pointl; 485 + DWORD dwFileAttributes; 486 + FILETIME ftCreationTime; 487 + FILETIME ftLastAccessTime; 488 + FILETIME ftLastWriteTime; 489 + DWORD nFileSizeHigh; 490 + DWORD nFileSizeLow; 491 + CHAR cFileName[MAX_PATH]; 492 +} 493 +alias FILEDESCRIPTORA* LPFILEDESCRIPTORA; 494 + 495 +struct FILEDESCRIPTORW { 496 + DWORD dwFlags; 497 + CLSID clsid; 498 + SIZEL sizel; 499 + POINTL pointl; 500 + DWORD dwFileAttributes; 501 + FILETIME ftCreationTime; 502 + FILETIME ftLastAccessTime; 503 + FILETIME ftLastWriteTime; 504 + DWORD nFileSizeHigh; 505 + DWORD nFileSizeLow; 506 + WCHAR cFileName[MAX_PATH]; 507 +} 508 +alias FILEDESCRIPTORW* LPFILEDESCRIPTORW; 509 + 510 +struct FILEGROUPDESCRIPTORA { 511 + UINT cItems; 512 + FILEDESCRIPTORA fgd[1]; 513 +} 514 +alias FILEGROUPDESCRIPTORA* LPFILEGROUPDESCRIPTORA; 515 + 516 +struct FILEGROUPDESCRIPTORW { 517 + UINT cItems; 518 + FILEDESCRIPTORW fgd[1]; 519 +} 520 +alias FILEGROUPDESCRIPTORW* LPFILEGROUPDESCRIPTORW; 521 + 522 +enum SLR_FLAGS { 523 + SLR_NO_UI = 1, 524 + SLR_ANY_MATCH = 2, 525 + SLR_UPDATE = 4, 526 + SLR_NOUPDATE = 8, 527 + SLR_NOSEARCH = 16, 528 + SLR_NOTRACK = 32, 529 + SLR_NOLINKINFO = 64, 530 + SLR_INVOKE_MSI = 128 531 +} 532 + 533 +enum SLGP_FLAGS { 534 + SLGP_SHORTPATH=1, 535 + SLGP_UNCPRIORITY=2, 536 + SLGP_RAWPATH=4 537 +} 538 + 539 +alias PBYTE LPVIEWSETTINGS; 540 + 541 +enum FOLDERFLAGS { 542 + FWF_AUTOARRANGE = 1, 543 + FWF_ABBREVIATEDNAMES = 2, 544 + FWF_SNAPTOGRID = 4, 545 + FWF_OWNERDATA = 8, 546 + FWF_BESTFITWINDOW = 16, 547 + FWF_DESKTOP = 32, 548 + FWF_SINGLESEL = 64, 549 + FWF_NOSUBFOLDERS = 128, 550 + FWF_TRANSPARENT = 256, 551 + FWF_NOCLIENTEDGE = 512, 552 + FWF_NOSCROLL = 0x400, 553 + FWF_ALIGNLEFT = 0x800, 554 + FWF_SINGLECLICKACTIVATE = 0x8000 555 +} 556 + 557 +enum FOLDERVIEWMODE { 558 + FVM_ICON = 1, 559 + FVM_SMALLICON, 560 + FVM_LIST, 561 + FVM_DETAILS 562 +} 563 + 564 +struct FOLDERSETTINGS { 565 + UINT ViewMode; 566 + UINT fFlags; 567 +} 568 +alias FOLDERSETTINGS* LPFOLDERSETTINGS; 569 +alias CPtr!(FOLDERSETTINGS) LPCFOLDERSETTINGS; 570 + 571 +struct FVSHOWINFO { 572 + DWORD cbSize = this.sizeof; 573 + HWND hwndOwner; 574 + int iShow; 575 + DWORD dwFlags; 576 + RECT rect; 577 + LPUNKNOWN punkRel; 578 + OLECHAR strNewFile[MAX_PATH]; 579 +} 580 +alias FVSHOWINFO* LPFVSHOWINFO; 581 + 582 +struct NRESARRAY { 583 + UINT cItems; 584 + NETRESOURCE nr[1]; 585 +} 586 +alias NRESARRAY* LPNRESARRAY; 587 + 588 +enum { 589 + SBSC_HIDE, 590 + SBSC_SHOW, 591 + SBSC_TOGGLE, 592 + SBSC_QUERY 593 +} 594 + 595 +enum { 596 + SBCMDID_ENABLESHOWTREE, 597 + SBCMDID_SHOWCONTROL, 598 + SBCMDID_CANCELNAVIGATION, 599 + SBCMDID_MAYSAVECHANGES, 600 + SBCMDID_SETHLINKFRAME, 601 + SBCMDID_ENABLESTOP, 602 + SBCMDID_OPTIONS 603 +} 604 +enum SVUIA_STATUS { 605 + SVUIA_DEACTIVATE, 606 + SVUIA_ACTIVATE_NOFOCUS, 607 + SVUIA_ACTIVATE_FOCUS, 608 + SVUIA_INPLACEACTIVATE 609 +} 610 + 611 +static if (_WIN32_IE >= 0x0500) { 612 + 613 + struct EXTRASEARCH 614 + { 615 + GUID guidSearch; 616 + WCHAR wszFriendlyName[80]; 617 + WCHAR wszUrl[2084]; 618 + } 619 + alias EXTRASEARCH* LPEXTRASEARCH; 620 + 621 + alias DWORD SHCOLSTATEF; 622 + 623 + struct SHCOLUMNID { 624 + GUID fmtid; 625 + DWORD pid; 626 + } 627 + alias SHCOLUMNID* LPSHCOLUMNID; 628 + alias CPtr!(SHCOLUMNID) LPCSHCOLUMNID; 629 + 630 + struct SHELLDETAILS { 631 + int fmt; 632 + int cxChar; 633 + STRRET str; 634 + } 635 + alias SHELLDETAILS* LPSHELLDETAILS; 636 + 637 + struct PERSIST_FOLDER_TARGET_INFO 638 + { 639 + LPITEMIDLIST pidlTargetFolder; 640 + WCHAR szTargetParsingName[MAX_PATH]; 641 + WCHAR szNetworkProvider[MAX_PATH]; 642 + DWORD dwAttributes; 643 + int csidl; 644 + } 645 + 646 + enum SHGFP_TYPE { 647 + SHGFP_TYPE_CURRENT = 0, 648 + SHGFP_TYPE_DEFAULT = 1, 649 + } 650 + 651 +} 652 + 653 +interface IEnumIDList: IUnknown 654 +{ 655 + HRESULT QueryInterface(REFIID,PVOID*); 656 + ULONG AddRef(); 657 + ULONG Release(); 658 + HRESULT Next(ULONG,LPITEMIDLIST*,ULONG*); 659 + HRESULT Skip(ULONG); 660 + HRESULT Reset(); 661 + HRESULT Clone(IEnumIDList**); 662 +} 663 +alias IEnumIDList *LPENUMIDLIST; 664 + 665 +interface IObjMgr : IUnknown 666 +{ 667 + HRESULT QueryInterface(REFIID,PVOID*); 668 + ULONG AddRef(); 669 + ULONG Release(); 670 + HRESULT Append(IUnknown*); 671 + HRESULT Remove(IUnknown*); 672 +} 673 + 674 +interface IContextMenu : IUnknown 675 +{ 676 + HRESULT QueryInterface(REFIID,PVOID*); 677 + ULONG AddRef(); 678 + ULONG Release(); 679 + HRESULT QueryContextMenu(HMENU,UINT,UINT,UINT,UINT); 680 + HRESULT InvokeCommand(LPCMINVOKECOMMANDINFO); 681 + HRESULT GetCommandString(UINT,UINT,PUINT,LPSTR,UINT); 682 +} 683 +alias IContextMenu* LPCONTEXTMENU; 684 + 685 +interface IContextMenu2 : IContextMenu 686 +{ 687 + HRESULT QueryInterface(REFIID,PVOID*); 688 + ULONG AddRef(); 689 + ULONG Release(); 690 + HRESULT QueryContextMenu(HMENU,UINT,UINT,UINT,UINT); 691 + HRESULT InvokeCommand(LPCMINVOKECOMMANDINFO); 692 + HRESULT GetCommandString(UINT,UINT,PUINT,LPSTR,UINT); 693 + HRESULT HandleMenuMsg(UINT,WPARAM,LPARAM); 694 +}; 695 +alias IContextMenu2* LPCONTEXTMENU2; 696 + 697 +static if (_WIN32_IE >= 0x0500) { 698 + 699 + align(8): 700 + struct SHCOLUMNINIT { 701 + ULONG dwFlags; 702 + ULONG dwReserved; 703 + WCHAR wszFolder[MAX_PATH]; 704 + } 705 + alias SHCOLUMNINIT* LPSHCOLUMNINIT; 706 + alias CPtr!(SHCOLUMNINIT) LPCSHCOLUMNINIT; 707 + 708 + struct SHCOLUMNDATA { 709 + ULONG dwFlags; 710 + DWORD dwFileAttributes; 711 + ULONG dwReserved; 712 + WCHAR *pwszExt; 713 + WCHAR wszFile[MAX_PATH]; 714 + } 715 + alias SHCOLUMNDATA* LPSHCOLUMNDATA; 716 + alias CPtr!(SHCOLUMNDATA) LPCSHCOLUMNDATA; 717 + align: 718 + 719 + const MAX_COLUMN_NAME_LEN = 80; 720 + const MAX_COLUMN_DESC_LEN = 128; 721 + 722 + align(1): 723 + struct SHCOLUMNINFO { 724 + SHCOLUMNID scid; 725 + VARTYPE vt; 726 + DWORD fmt; 727 + UINT cChars; 728 + DWORD csFlags; 729 + WCHAR wszTitle[MAX_COLUMN_NAME_LEN]; 730 + WCHAR wszDescription[MAX_COLUMN_DESC_LEN]; 731 + } 732 + alias SHCOLUMNINFO* LPSHCOLUMNINFO; 733 + alias CPtr!(SHCOLUMNINFO) LPCSHCOLUMNINFO; 734 + align: 735 + 736 + enum SHCOLSTATE { 737 + SHCOLSTATE_TYPE_STR = 0x00000001, 738 + SHCOLSTATE_TYPE_INT = 0x00000002, 739 + SHCOLSTATE_TYPE_DATE = 0x00000003, 740 + SHCOLSTATE_TYPEMASK = 0x0000000f, 741 + SHCOLSTATE_ONBYDEFAULT = 0x00000010, 742 + SHCOLSTATE_SLOW = 0x00000020, 743 + SHCOLSTATE_EXTENDED = 0x00000040, 744 + SHCOLSTATE_SECONDARYUI = 0x00000080, 745 + SHCOLSTATE_HIDDEN = 0x00000100, 746 + SHCOLSTATE_PREFER_VARCMP = 0x00000200 747 + } 748 + 749 + interface IColumnProvider : IUnknown 750 + { 751 + HRESULT QueryInterface(REFIID,PVOID*); 752 + ULONG AddRef(); 753 + ULONG Release(); 754 + HRESULT Initialize(LPCSHCOLUMNINIT); 755 + HRESULT GetColumnInfo(DWORD,SHCOLUMNINFO*); 756 + HRESULT GetItemData(LPCSHCOLUMNID,LPCSHCOLUMNDATA,VARIANT*); 757 + } 758 +}/* _WIN32_IE >= 0x0500 */ 759 + 760 +interface IQueryInfo : IUnknown 761 +{ 762 + HRESULT QueryInterface(REFIID,PVOID*); 763 + ULONG AddRef(); 764 + ULONG Release(); 765 + HRESULT GetInfoTip(DWORD,WCHAR**); 766 + HRESULT GetInfoFlags(DWORD*); 767 +} 768 + 769 +interface IShellExtInit : IUnknown 770 +{ 771 + HRESULT QueryInterface(REFIID,PVOID*); 772 + ULONG AddRef(); 773 + ULONG Release(); 774 + HRESULT Initialize(LPCITEMIDLIST,LPDATAOBJECT,HKEY); 775 +} 776 +alias IShellExtInit *LPSHELLEXTINIT; 777 + 778 +interface IShellPropSheetExt : IUnknown 779 +{ 780 + HRESULT QueryInterface(REFIID,PVOID*); 781 + ULONG AddRef(); 782 + ULONG Release(); 783 + HRESULT AddPages(LPFNADDPROPSHEETPAGE,LPARAM); 784 + HRESULT ReplacePage(UINT,LPFNADDPROPSHEETPAGE,LPARAM); 785 +} 786 +alias IShellPropSheetExt *LPSHELLPROPSHEETEXT; 787 + 788 +interface IExtractIconA : IUnknown 789 +{ 790 + HRESULT QueryInterface(REFIID,PVOID*); 791 + ULONG AddRef(); 792 + ULONG Release(); 793 + HRESULT GetIconLocation(UINT,LPSTR,UINT,int*,PUINT); 794 + HRESULT Extract(LPCSTR,UINT,HICON*,HICON*,UINT); 795 +}; 796 +alias IExtractIconA *LPEXTRACTICONA; 797 + 798 +interface IExtractIconW : IUnknown 799 +{ 800 + HRESULT QueryInterface(REFIID,PVOID*); 801 + ULONG AddRef(); 802 + ULONG Release(); 803 + HRESULT GetIconLocation(UINT,LPWSTR,UINT,int*,PUINT); 804 + HRESULT Extract(LPCWSTR,UINT,HICON*,HICON*,UINT); 805 +} 806 +alias IExtractIconW *LPEXTRACTICONW; 807 + 808 +version(Unicode) { 809 + alias IExtractIconW IExtractIcon; 810 + alias LPEXTRACTICONW LPEXTRACTICON; 811 +} else { 812 + alias IExtractIconA IExtractIcon; 813 + alias LPEXTRACTICONA LPEXTRACTICON; 814 +} 815 + 816 +interface IShellLinkA : IUnknown 817 +{ 818 + HRESULT QueryInterface(REFIID,PVOID*); 819 + ULONG AddRef(); 820 + ULONG Release(); 821 + HRESULT GetPath(LPSTR,int,WIN32_FIND_DATAA*,DWORD); 822 + HRESULT GetIDList(LPITEMIDLIST*); 823 + HRESULT SetIDList(LPCITEMIDLIST); 824 + HRESULT GetDescription(LPSTR,int); 825 + HRESULT SetDescription(LPCSTR); 826 + HRESULT GetWorkingDirectory(LPSTR,int); 827 + HRESULT SetWorkingDirectory(LPCSTR); 828 + HRESULT GetArguments(LPSTR,int); 829 + HRESULT SetArguments(LPCSTR); 830 + HRESULT GetHotkey(PWORD); 831 + HRESULT SetHotkey(WORD); 832 + HRESULT GetShowCmd(int*); 833 + HRESULT SetShowCmd(int); 834 + HRESULT GetIconLocation(LPSTR,int,int*); 835 + HRESULT SetIconLocation(LPCSTR,int); 836 + HRESULT SetRelativePath(LPCSTR ,DWORD); 837 + HRESULT Resolve(HWND,DWORD); 838 + HRESULT SetPath(LPCSTR); 839 +} 840 + 841 +interface IShellLinkW : IUnknown 842 +{ 843 + HRESULT QueryInterface(REFIID,PVOID*); 844 + ULONG AddRef(); 845 + ULONG Release(); 846 + HRESULT GetPath(LPWSTR,int,WIN32_FIND_DATAW*,DWORD); 847 + HRESULT GetIDList(LPITEMIDLIST*); 848 + HRESULT SetIDList(LPCITEMIDLIST); 849 + HRESULT GetDescription(LPWSTR,int); 850 + HRESULT SetDescription(LPCWSTR); 851 + HRESULT GetWorkingDirectory(LPWSTR,int); 852 + HRESULT SetWorkingDirectory(LPCWSTR); 853 + HRESULT GetArguments(LPWSTR,int); 854 + HRESULT SetArguments(LPCWSTR); 855 + HRESULT GetHotkey(PWORD); 856 + HRESULT SetHotkey(WORD); 857 + HRESULT GetShowCmd(int*); 858 + HRESULT SetShowCmd(int); 859 + HRESULT GetIconLocation(LPWSTR,int,int*); 860 + HRESULT SetIconLocation(LPCWSTR,int); 861 + HRESULT SetRelativePath(LPCWSTR ,DWORD); 862 + HRESULT Resolve(HWND,DWORD); 863 + HRESULT SetPath(LPCWSTR); 864 +} 865 + 866 + 867 +interface IShellFolder : IUnknown 868 +{ 869 + HRESULT QueryInterface(REFIID,PVOID*); 870 + ULONG AddRef(); 871 + ULONG Release(); 872 + HRESULT ParseDisplayName(HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG); 873 + HRESULT EnumObjects(HWND,DWORD,LPENUMIDLIST*); 874 + HRESULT BindToObject(LPCITEMIDLIST,LPBC,REFIID,PVOID*); 875 + HRESULT BindToStorage(LPCITEMIDLIST,LPBC,REFIID,PVOID*); 876 + HRESULT CompareIDs(LPARAM,LPCITEMIDLIST,LPCITEMIDLIST); 877 + HRESULT CreateViewObject(HWND,REFIID,PVOID*); 878 + HRESULT GetAttributesOf(UINT,LPCITEMIDLIST*,PULONG); 879 + HRESULT GetUIObjectOf(HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*); 880 + HRESULT GetDisplayNameOf(LPCITEMIDLIST,DWORD,LPSTRRET); 881 + HRESULT SetNameOf(HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*); 882 +} 883 +alias IShellFolder *LPSHELLFOLDER; 884 + 885 +static if (_WIN32_IE >= 0x0500) { 886 + 887 +interface IEnumExtraSearch: IUnknown 888 +{ 889 + HRESULT QueryInterface(REFIID,PVOID*); 890 + ULONG AddRef(); 891 + ULONG Release(); 892 + HRESULT Next(ULONG,LPEXTRASEARCH*,ULONG*); 893 + HRESULT Skip(ULONG); 894 + HRESULT Reset(); 895 + HRESULT Clone(IEnumExtraSearch**); 896 +} 897 +alias IEnumExtraSearch *LPENUMEXTRASEARCH; 898 + 899 +interface IShellFolder2 : IShellFolder 900 +{ 901 + HRESULT QueryInterface(REFIID,PVOID*); 902 + ULONG AddRef(); 903 + ULONG Release(); 904 + HRESULT ParseDisplayName(HWND,LPBC,LPOLESTR,PULONG,LPITEMIDLIST*,PULONG); 905 + HRESULT EnumObjects(HWND,DWORD,LPENUMIDLIST*); 906 + HRESULT BindToObject(LPCITEMIDLIST,LPBC,REFIID,PVOID*); 907 + HRESULT BindToStorage(LPCITEMIDLIST,LPBC,REFIID,PVOID*); 908 + HRESULT CompareIDs(LPARAM,LPCITEMIDLIST,LPCITEMIDLIST); 909 + HRESULT CreateViewObject(HWND,REFIID,PVOID*); 910 + HRESULT GetAttributesOf(UINT,LPCITEMIDLIST*,PULONG); 911 + HRESULT GetUIObjectOf(HWND,UINT,LPCITEMIDLIST*,REFIID,PUINT,PVOID*); 912 + HRESULT GetDisplayNameOf(LPCITEMIDLIST,DWORD,LPSTRRET); 913 + HRESULT SetNameOf(HWND,LPCITEMIDLIST,LPCOLESTR,DWORD,LPITEMIDLIST*); 914 + HRESULT GetDefaultSearchGUID(GUID*); 915 + HRESULT EnumSearches(IEnumExtraSearch**); 916 + HRESULT GetDefaultColumn(DWORD,ULONG*,ULONG*); 917 + HRESULT GetDefaultColumnState(UINT,SHCOLSTATEF*); 918 + HRESULT GetDetailsEx(LPCITEMIDLIST, CPtr!(SHCOLUMNID),VARIANT*); 919 + HRESULT GetDetailsOf(LPCITEMIDLIST,UINT,SHELLDETAILS*); 920 + HRESULT MapColumnToSCID(UINT,SHCOLUMNID*); 921 +} 922 +alias IShellFolder2 *LPSHELLFOLDER2; 923 + 924 +} /* _WIN32_IE >= 0x0500 */ 925 + 926 +interface ICopyHook : IUnknown 927 +{ 928 + HRESULT QueryInterface(REFIID,PVOID*); 929 + ULONG AddRef(); 930 + ULONG Release(); 931 + UINT CopyCallback(HWND,UINT,UINT,LPCSTR,DWORD,LPCSTR,DWORD); 932 +} 933 +alias ICopyHook *LPCOPYHOOK; 934 + 935 +interface IFileViewerSite : IUnknown 936 +{ 937 + HRESULT QueryInterface(REFIID,PVOID*); 938 + ULONG AddRef(); 939 + ULONG Release(); 940 + HRESULT SetPinnedWindow(HWND); 941 + HRESULT GetPinnedWindow(HWND*); 942 +} 943 +alias IFileViewerSite *LPFILEVIEWERSITE; 944 + 945 +interface IFileViewer : IUnknown 946 +{ 947 + HRESULT QueryInterface(REFIID,PVOID*); 948 + ULONG AddRef(); 949 + ULONG Release(); 950 + HRESULT ShowInitialize(LPFILEVIEWERSITE); 951 + HRESULT Show(LPFVSHOWINFO); 952 + HRESULT PrintTo(LPSTR,BOOL); 953 +} 954 +alias IFileViewer *LPFILEVIEWER; 955 + 956 +interface IFileSystemBindData : IUnknown 957 +{ 958 + HRESULT QueryInterface(REFIID,PVOID*); 959 + ULONG AddRef(); 960 + ULONG Release(); 961 + HRESULT SetFindData(CPtr!(WIN32_FIND_DATAW)); 962 + HRESULT GetFindData(WIN32_FIND_DATAW*); 963 +} 964 + 965 +interface IPersistFolder : IPersist 966 +{ 967 + HRESULT QueryInterface(REFIID,PVOID*); 968 + ULONG AddRef(); 969 + ULONG Release(); 970 + HRESULT GetClassID(CLSID*); 971 + HRESULT Initialize(LPCITEMIDLIST); 972 +} 973 +alias IPersistFolder *LPPERSISTFOLDER; 974 + 975 +static if (_WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500) { 976 + 977 +interface IPersistFolder2 : IPersistFolder 978 +{ 979 + HRESULT QueryInterface(REFIID,PVOID*); 980 + ULONG AddRef(); 981 + ULONG Release(); 982 + HRESULT GetClassID(CLSID*); 983 + HRESULT Initialize(LPCITEMIDLIST); 984 + HRESULT GetCurFolder(LPITEMIDLIST*); 985 +} 986 +alias IPersistFolder2 *LPPERSISTFOLDER2; 987 + 988 +}/* _WIN32_IE >= 0x0400 || _WIN32_WINNT >= 0x0500 */ 989 + 990 +static if (_WIN32_IE >= 0x0500) { 991 + 992 +interface IPersistFolder3 : IPersistFolder2 993 +{ 994 + HRESULT QueryInterface(REFIID,PVOID*); 995 + ULONG AddRef(); 996 + ULONG Release(); 997 + HRESULT GetClassID(CLSID*); 998 + HRESULT Initialize(LPCITEMIDLIST); 999 + HRESULT GetCurFolder(LPITEMIDLIST*); 1000 + HRESULT InitializeEx(IBindCtx*,LPCITEMIDLIST, CPtr!(PERSIST_FOLDER_TARGET_INFO)); 1001 + HRESULT GetFolderTargetInfo(PERSIST_FOLDER_TARGET_INFO*); 1002 +} 1003 +alias IPersistFolder3 *LPPERSISTFOLDER3; 1004 + 1005 +} /* _WIN32_IE >= 0x0500 */ 1006 + 1007 +alias IShellBrowser* LPSHELLBROWSER; 1008 +alias IShellView* LPSHELLVIEW; 1009 + 1010 +interface IShellBrowser : IOleWindow 1011 +{ 1012 + HRESULT QueryInterface(REFIID,PVOID*); 1013 + ULONG AddRef(); 1014 + ULONG Release(); 1015 + HRESULT GetWindow(HWND*); 1016 + HRESULT ContextSensitiveHelp(BOOL); 1017 + HRESULT InsertMenusSB(HMENU,LPOLEMENUGROUPWIDTHS); 1018 + HRESULT SetMenuSB(HMENU,HOLEMENU,HWND); 1019 + HRESULT RemoveMenusSB(HMENU); 1020 + HRESULT SetStatusTextSB(LPCOLESTR); 1021 + HRESULT EnableModelessSB(BOOL); 1022 + HRESULT TranslateAcceleratorSB(LPMSG,WORD); 1023 + HRESULT BrowseObject(LPCITEMIDLIST,UINT); 1024 + HRESULT GetViewStateStream(DWORD,LPSTREAM*); 1025 + HRESULT GetControlWindow(UINT,HWND*); 1026 + HRESULT SendControlMsg(UINT,UINT,WPARAM,LPARAM,LRESULT*); 1027 + HRESULT QueryActiveShellView(LPSHELLVIEW*); 1028 + HRESULT OnViewWindowActive(LPSHELLVIEW); 1029 + HRESULT SetToolbarItems(LPTBBUTTON,UINT,UINT); 1030 +} 1031 + 1032 +interface IShellView : IOleWindow 1033 +{ 1034 + HRESULT QueryInterface(REFIID,PVOID*); 1035 + ULONG AddRef(); 1036 + ULONG Release(); 1037 + HRESULT GetWindow(HWND*); 1038 + HRESULT ContextSensitiveHelp(BOOL); 1039 + HRESULT TranslateAccelerator(LPMSG); 1040 +//[No] #ifdef _FIX_ENABLEMODELESS_CONFLICT 1041 +//[No] STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; 1042 +//[Yes] #else 1043 + HRESULT EnableModeless(BOOL); 1044 +//[Yes] #endif 1045 + HRESULT UIActivate(UINT); 1046 + HRESULT Refresh(); 1047 + HRESULT CreateViewWindow(IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*); 1048 + HRESULT DestroyViewWindow(); 1049 + HRESULT GetCurrentInfo(LPFOLDERSETTINGS); 1050 + HRESULT AddPropertySheetPages(DWORD,LPFNADDPROPSHEETPAGE,LPARAM); 1051 + HRESULT SaveViewState(); 1052 + HRESULT SelectItem(LPCITEMIDLIST,UINT); 1053 + HRESULT GetItemObject(UINT,REFIID,PVOID*); 1054 +} 1055 + 1056 +interface ICommDlgBrowser : IUnknown 1057 +{ 1058 + HRESULT QueryInterface(REFIID,PVOID*); 1059 + ULONG AddRef(); 1060 + ULONG Release(); 1061 + HRESULT OnDefaultCommand(IShellView*); 1062 + HRESULT OnStateChange(IShellView*,ULONG); 1063 + HRESULT IncludeObject(IShellView*,LPCITEMIDLIST); 1064 +} 1065 +alias ICommDlgBrowser *LPCOMMDLGBROWSER; 1066 + 1067 +alias GUID SHELLVIEWID; 1068 + 1069 +struct SV2CVW2_PARAMS { 1070 + DWORD cbSize = this.sizeof; 1071 + IShellView *psvPrev; 1072 + FOLDERSETTINGS *pfs; 1073 + IShellBrowser *psbOwner; 1074 + RECT *prcView; 1075 + CPtr!(SHELLVIEWID) pvid; 1076 + HWND hwndView; 1077 +} 1078 +alias SV2CVW2_PARAMS* LPSV2CVW2_PARAMS; 1079 + 1080 +interface IShellView2 : IShellView 1081 +{ 1082 + 1083 + HRESULT QueryInterface(REFIID,PVOID*); 1084 + ULONG AddRef(); 1085 + ULONG Release(); 1086 + HRESULT GetWindow(HWND*); 1087 + HRESULT ContextSensitiveHelp(BOOL); 1088 + HRESULT TranslateAccelerator(LPMSG); 1089 +//[No] #ifdef _FIX_ENABLEMODELESS_CONFLICT 1090 +//[No] STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; 1091 +//[Yes] #else 1092 + HRESULT EnableModeless(BOOL); 1093 +//[Yes] #endif 1094 + HRESULT UIActivate(UINT); 1095 + HRESULT Refresh(); 1096 + HRESULT CreateViewWindow(IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*); 1097 + HRESULT DestroyViewWindow(); 1098 + HRESULT GetCurrentInfo(LPFOLDERSETTINGS); 1099 + HRESULT AddPropertySheetPages(DWORD,LPFNADDPROPSHEETPAGE,LPARAM); 1100 + HRESULT SaveViewState(); 1101 + HRESULT SelectItem(LPCITEMIDLIST,UINT); 1102 + HRESULT GetItemObject(UINT,REFIID,PVOID*); 1103 + HRESULT GetView(SHELLVIEWID*,ULONG); 1104 + HRESULT CreateViewWindow2(LPSV2CVW2_PARAMS); 1105 +} 1106 + 1107 +interface IShellExecuteHookA : IUnknown 1108 +{ 1109 + HRESULT QueryInterface(REFIID,PVOID*); 1110 + ULONG AddRef(); 1111 + ULONG Release(); 1112 + HRESULT Execute(LPSHELLEXECUTEINFOA); 1113 +} 1114 + 1115 +interface IShellExecuteHookW : IUnknown 1116 +{ 1117 + HRESULT QueryInterface(REFIID,PVOID*); 1118 + ULONG AddRef(); 1119 + ULONG Release(); 1120 + HRESULT Execute(LPSHELLEXECUTEINFOW); 1121 +} 1122 + 1123 +interface IShellIcon : IUnknown 1124 +{ 1125 + HRESULT QueryInterface(REFIID,PVOID*); 1126 + ULONG AddRef(); 1127 + ULONG Release(); 1128 + HRESULT GetIconOf(LPCITEMIDLIST,UINT,PINT); 1129 +} 1130 +alias IShellIcon* LPSHELLICON; 1131 + 1132 +struct SHELLFLAGSTATE { 1133 +// TODO 1134 + short bitflags_; // for D. 1135 + /* 1136 + BOOL fShowAllObjects : 1; 1137 + BOOL fShowExtensions : 1; 1138 + BOOL fNoConfirmRecycle : 1; 1139 + BOOL fShowSysFiles : 1; 1140 + BOOL fShowCompColor : 1; 1141 + BOOL fDoubleClickInWebView : 1; 1142 + BOOL fDesktopHTML : 1; 1143 + BOOL fWin95Classic : 1; 1144 + BOOL fDontPrettyPath : 1; 1145 + BOOL fShowAttribCol : 1; 1146 + BOOL fMapNetDrvBtn : 1; 1147 + BOOL fShowInfoTip : 1; 1148 + BOOL fHideIcons : 1; 1149 + UINT fRestFlags : 3; 1150 +*/ 1151 +} 1152 +alias SHELLFLAGSTATE* LPSHELLFLAGSTATE; 1153 + 1154 +const SSF_SHOWALLOBJECTS = 0x1; 1155 +const SSF_SHOWEXTENSIONS = 0x2; 1156 +const SSF_SHOWCOMPCOLOR = 0x8; 1157 +const SSF_SHOWSYSFILES = 0x20; 1158 +const SSF_DOUBLECLICKINWEBVIEW = 0x80; 1159 +const SSF_SHOWATTRIBCOL = 0x100; 1160 +const SSF_DESKTOPHTML = 0x200; 1161 +const SSF_WIN95CLASSIC = 0x400; 1162 +const SSF_DONTPRETTYPATH = 0x800; 1163 +const SSF_MAPNETDRVBUTTON = 0x1000; 1164 +const SSF_SHOWINFOTIP = 0x2000; 1165 +const SSF_HIDEICONS = 0x4000; 1166 +const SSF_NOCONFIRMRECYCLE = 0x8000; 1167 + 1168 +interface IShellIconOverlayIdentifier : IUnknown 1169 +{ 1170 + HRESULT QueryInterface(REFIID,PVOID*); 1171 + ULONG AddRef(); 1172 + ULONG Release(); 1173 + HRESULT IsMemberOf(LPCWSTR,DWORD); 1174 + HRESULT GetOverlayInfo(LPWSTR,int,int*,DWORD*); 1175 + HRESULT GetPriority(int*); 1176 +} 1177 + 1178 +const ISIOI_ICONFILE = 0x00000001; 1179 +const ISIOI_ICONINDEX = 0x00000002; 1180 + 1181 +static if (_WIN32_WINNT >= 0x0500) {/* W2K */ 1182 + struct SHELLSTATE { 1183 + //TODO: 1184 + /* 1185 + BOOL fShowAllObjects : 1; 1186 + BOOL fShowExtensions : 1; 1187 + BOOL fNoConfirmRecycle : 1; 1188 + BOOL fShowSysFiles : 1; 1189 + BOOL fShowCompColor : 1; 1190 + BOOL fDoubleClickInWebView : 1; 1191 + BOOL fDesktopHTML : 1; 1192 + BOOL fWin95Classic : 1; 1193 + BOOL fDontPrettyPath : 1; 1194 + BOOL fShowAttribCol : 1; 1195 + BOOL fMapNetDrvBtn : 1; 1196 + BOOL fShowInfoTip : 1; 1197 + BOOL fHideIcons : 1; 1198 + BOOL fWebView : 1; 1199 + BOOL fFilter : 1; 1200 + BOOL fShowSuperHidden : 1; 1201 + BOOL fNoNetCrawling : 1; 1202 + DWORD dwWin95Unused; 1203 + UINT uWin95Unused; 1204 + LONG lParamSort; 1205 + int iSortDirection; 1206 + UINT version; 1207 + UINT uNotUsed; 1208 + BOOL fSepProcess : 1; 1209 + BOOL fStartPanelOn : 1; 1210 + BOOL fShowStartPage : 1; 1211 + UINT fSpareFlags : 13; 1212 +*/ 1213 + } 1214 + alias SHELLSTATE* LPSHELLSTATE; 1215 +} 1216 + 1217 +static if (_WIN32_IE >= 0x0500) { 1218 + align(8): 1219 + struct SHDRAGIMAGE { 1220 + SIZE sizeDragImage; 1221 + POINT ptOffset; 1222 + HBITMAP hbmpDragImage; 1223 + COLORREF crColorKey; 1224 + } 1225 + alias SHDRAGIMAGE* LPSHDRAGIMAGE; 1226 + align: 1227 + 1228 + interface IDragSourceHelper : IUnknown 1229 + { 1230 + HRESULT QueryInterface(REFIID riid, void **ppv); 1231 + ULONG AddRef(); 1232 + ULONG Release(); 1233 + HRESULT InitializeFromBitmap(LPSHDRAGIMAGE pshdi, IDataObject* pDataObject); 1234 + HRESULT InitializeFromWindow(HWND hwnd, POINT* ppt, IDataObject* pDataObject); 1235 + } 1236 + 1237 + interface IDropTargetHelper : IUnknown 1238 + { 1239 + HRESULT QueryInterface(REFIID riid, void** ppv); 1240 + ULONG AddRef(); 1241 + ULONG Release(); 1242 + HRESULT DragEnter(HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect); 1243 + HRESULT DragLeave(); 1244 + HRESULT DragOver(POINT* ppt, DWORD dwEffect); 1245 + HRESULT Drop(IDataObject* pDataObject, POINT* ppt, DWORD dwEffect); 1246 + HRESULT Show(BOOL fShow); 1247 + } 1248 +} 1249 + 1250 +extern (Windows): 1251 +void SHAddToRecentDocs(UINT,PCVOID); 1252 +LPITEMIDLIST SHBrowseForFolderA(PBROWSEINFOA); 1253 +LPITEMIDLIST SHBrowseForFolderW(PBROWSEINFOW); 1254 +void SHChangeNotify(LONG,UINT,PCVOID,PCVOID); 1255 +HRESULT SHGetDataFromIDListA(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); 1256 +HRESULT SHGetDataFromIDListW(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); 1257 +HRESULT SHGetDesktopFolder(LPSHELLFOLDER*); 1258 +HRESULT SHGetInstanceExplorer(IUnknown **); 1259 +HRESULT SHGetMalloc(LPMALLOC*); 1260 +BOOL SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR); 1261 +BOOL SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR); 1262 +HRESULT SHGetSpecialFolderLocation(HWND,int,LPITEMIDLIST*); 1263 +HRESULT SHLoadInProc(REFCLSID); 1264 + 1265 +static if (_WIN32_IE >= 0x0400) { 1266 + BOOL SHGetSpecialFolderPathA(HWND,LPSTR,int,BOOL); 1267 + BOOL SHGetSpecialFolderPathW(HWND,LPWSTR,int,BOOL); 1268 +} 1269 + 1270 +/* SHGetFolderPath in shfolder.dll on W9x, NT4, also in shell32.dll on W2K */ 1271 +HRESULT SHGetFolderPathA(HWND,int,HANDLE,DWORD,LPSTR); 1272 +HRESULT SHGetFolderPathW(HWND,int,HANDLE,DWORD,LPWSTR); 1273 + 1274 +static if ((_WIN32_WINDOWS >= 0x0490) || (_WIN32_WINNT >= 0x0500)) {/* ME or W2K */ 1275 + HRESULT SHGetFolderLocation(HWND,int,HANDLE,DWORD,LPITEMIDLIST*); 1276 +} 1277 + 1278 +static if (_WIN32_WINNT >= 0x0500) { 1279 + INT SHCreateDirectoryExA(HWND,LPCSTR,LPSECURITY_ATTRIBUTES); 1280 + INT SHCreateDirectoryExW(HWND,LPCWSTR,LPSECURITY_ATTRIBUTES); 1281 + HRESULT SHBindToParent(LPCITEMIDLIST,REFIID,VOID**,LPCITEMIDLIST*); 1282 +} 1283 + 1284 +static if (_WIN32_WINNT >= 0x0501) {/* XP */ 1285 + HRESULT SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR); 1286 + HRESULT SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR); 1287 +} 1288 + 1289 +void SHGetSettings(LPSHELLFLAGSTATE,DWORD); 1290 + 1291 +static if (_WIN32_WINNT >= 0x0500) {/* W2K */ 1292 + void SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL); 1293 +} 1294 + 1295 +static if (_WIN32_WINNT >= 0x0500) {/* W2K */ 1296 + BOOL ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST); 1297 + BOOL ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL); 1298 + BOOL ILRemoveLastID(LPITEMIDLIST); 1299 + HRESULT ILLoadFromStream(IStream*, LPITEMIDLIST*); 1300 + HRESULT ILSaveToStream(IStream*, LPCITEMIDLIST); 1301 + LPITEMIDLIST ILAppendID(LPITEMIDLIST, LPCSHITEMID, BOOL); 1302 + LPITEMIDLIST ILClone(LPCITEMIDLIST); 1303 + LPITEMIDLIST ILCloneFirst(LPCITEMIDLIST); 1304 + LPITEMIDLIST ILCombine(LPCITEMIDLIST, LPCITEMIDLIST); 1305 + LPITEMIDLIST ILFindChild(LPCITEMIDLIST, LPCITEMIDLIST); 1306 + LPITEMIDLIST ILFindLastID(LPCITEMIDLIST); 1307 + LPITEMIDLIST ILGetNext(LPCITEMIDLIST); 1308 + UINT ILGetSize(LPCITEMIDLIST); 1309 + void ILFree(LPITEMIDLIST); 1310 + 1311 + HRESULT SHCoCreateInstance(LPCWSTR,REFCLSID,IUnknown*,REFIID,void**); 1312 +} 1313 + 1314 +version(Unicode) { 1315 + alias IShellExecuteHookW IShellExecuteHook; 1316 + alias IShellLinkW IShellLink; 1317 + alias BROWSEINFOW BROWSEINFO; 1318 + alias SHBrowseForFolderW SHBrowseForFolder; 1319 + alias SHGetDataFromIDListW SHGetDataFromIDList; 1320 + alias SHGetPathFromIDListW SHGetPathFromIDList; 1321 + static if (_WIN32_IE >= 0x0400) { 1322 + alias SHGetSpecialFolderPathW SHGetSpecialFolderPath; 1323 + } 1324 + alias SHGetFolderPathW SHGetFolderPath; 1325 + static if (_WIN32_WINNT >= 0x0500) { 1326 + alias SHCreateDirectoryExW SHCreateDirectoryEx; 1327 + } 1328 + static if (_WIN32_WINNT >= 0x0501) { 1329 + alias SHGetFolderPathAndSubDirW SHGetFolderPathAndSubDir; 1330 + } 1331 + alias FILEDESCRIPTORW FILEDESCRIPTOR; 1332 + alias LPFILEDESCRIPTORW LPFILEDESCRIPTOR; 1333 + alias FILEGROUPDESCRIPTORW FILEGROUPDESCRIPTOR; 1334 + alias LPFILEGROUPDESCRIPTORW LPFILEGROUPDESCRIPTOR; 1335 + 1336 +} else { 1337 + alias IShellExecuteHookA IShellExecuteHook; 1338 + alias IShellLinkA IShellLink; 1339 + alias BROWSEINFOA BROWSEINFO; 1340 + alias SHBrowseForFolderA SHBrowseForFolder; 1341 + alias SHGetDataFromIDListA SHGetDataFromIDList; 1342 + alias SHGetPathFromIDListA SHGetPathFromIDList; 1343 + static if (_WIN32_IE >= 0x0400) { 1344 + alias SHGetSpecialFolderPathA SHGetSpecialFolderPath; 1345 + } 1346 + alias SHGetFolderPathA SHGetFolderPath; 1347 + static if (_WIN32_WINNT >= 0x0500) { 1348 + alias SHCreateDirectoryExA SHCreateDirectoryEx; 1349 + } 1350 + static if (_WIN32_WINNT >= 0x0501) { 1351 + alias SHGetFolderPathAndSubDirA SHGetFolderPathAndSubDir; 1352 + } 1353 + alias FILEDESCRIPTORA FILEDESCRIPTOR; 1354 + alias LPFILEDESCRIPTORA LPFILEDESCRIPTOR; 1355 + alias FILEGROUPDESCRIPTORA FILEGROUPDESCRIPTOR; 1356 + alias LPFILEGROUPDESCRIPTORA LPFILEGROUPDESCRIPTOR; 1357 +} 1358 +alias BROWSEINFO* PBROWSEINFO, LPBROWSEINFO;

Added src/win32/shlwapi.d version [06ead287f10f9815]

1 +/***********************************************************************\ 2 +* shlwapi.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.shlwapi; 11 +pragma(lib, "shlwapi.lib"); 12 + 13 +/* Changes compared to MinGW: 14 +wnsprintf functions are not included. 15 +// Macros unneeded for D 16 +#define StrCmpIA lstrcmpiA; 17 +#define StrCmpA lstrcmpA; 18 +#define StrCpyA lstrcpyA; 19 +#define StrCpyNA lstrcpynA; 20 +#define MAKEDLLVERULL(major, minor, build, qfe) \ 21 + (((ULONGLONG)(major) << 48) | \ 22 + ((ULONGLONG)(minor) << 32) | \ 23 + ((ULONGLONG)(build) << 16) | \ 24 + ((ULONGLONG)( qfe) << 0)) 25 +*/ 26 + 27 +import win32.objbase, win32.shlobj; 28 +private import win32.basetyps, win32.objidl, win32.unknwn, win32.windef, 29 + win32.winbase, win32.winreg; 30 + 31 +const DLLVER_PLATFORM_WINDOWS = 0x00000001; 32 +const DLLVER_PLATFORM_NT = 0x00000002; 33 + 34 +const URL_DONT_ESCAPE_EXTRA_INFO = 0x02000000; 35 +const URL_DONT_SIMPLIFY = 0x08000000; 36 +const URL_ESCAPE_PERCENT = 0x00001000; 37 +const URL_ESCAPE_SEGMENT_ONLY = 0x00002000; 38 +const URL_ESCAPE_SPACES_ONLY = 0x04000000; 39 +const URL_ESCAPE_UNSAFE = 0x20000000; 40 +const URL_INTERNAL_PATH = 0x00800000; 41 +const URL_PARTFLAG_KEEPSCHEME = 0x00000001; 42 +const URL_PLUGGABLE_PROTOCOL = 0x40000000; 43 +const URL_UNESCAPE = 0x10000000; 44 +const URL_UNESCAPE_HIGH_ANSI_ONLY = 0x00400000; 45 +const URL_UNESCAPE_INPLACE = 0x00100000; 46 + 47 +align(1): 48 +struct DLLVERSIONINFO 49 +{ 50 + DWORD cbSize = this.sizeof; 51 + DWORD dwMajorVersion; 52 + DWORD dwMinorVersion; 53 + DWORD dwBuildNumber; 54 + DWORD dwPlatformID; 55 +} 56 + 57 +struct DLLVERSIONINFO2 58 +{ 59 + DLLVERSIONINFO info1; 60 + DWORD dwFlags; 61 + ULONGLONG ullVersion; 62 +} 63 + 64 +enum ASSOCSTR { 65 + ASSOCSTR_COMMAND, 66 + ASSOCSTR_EXECUTABLE, 67 + ASSOCSTR_FRIENDLYDOCNAME, 68 + ASSOCSTR_FRIENDLYAPPNAME, 69 + ASSOCSTR_NOOPEN, 70 + ASSOCSTR_SHELLNEWVALUE, 71 + ASSOCSTR_DDECOMMAND, 72 + ASSOCSTR_DDEIFEXEC, 73 + ASSOCSTR_DDEAPPLICATION, 74 + ASSOCSTR_DDETOPIC 75 +} 76 + 77 +enum ASSOCKEY 78 +{ 79 + ASSOCKEY_SHELLEXECCLASS = 1, 80 + ASSOCKEY_APP, 81 + ASSOCKEY_CLASS, 82 + ASSOCKEY_BASECLASS 83 +} 84 + 85 +enum ASSOCDATA 86 +{ 87 + ASSOCDATA_MSIDESCRIPTOR = 1, 88 + ASSOCDATA_NOACTIVATEHANDLER, 89 + ASSOCDATA_QUERYCLASSSTORE 90 +} 91 + 92 +alias DWORD ASSOCF; 93 + 94 +enum SHREGDEL_FLAGS 95 +{ 96 + SHREGDEL_DEFAULT = 0x00000000, 97 + SHREGDEL_HKCU = 0x00000001, 98 + SHREGDEL_HKLM = 0x00000010, 99 + SHREGDEL_BOTH = 0x00000011 100 +} 101 + 102 +enum SHREGENUM_FLAGS 103 +{ 104 + SHREGENUM_DEFAULT = 0x00000000, 105 + SHREGENUM_HKCU = 0x00000001, 106 + SHREGENUM_HKLM = 0x00000010, 107 + SHREGENUM_BOTH = 0x00000011 108 +} 109 + 110 +enum URLIS 111 +{ 112 + URLIS_URL, 113 + URLIS_OPAQUE, 114 + URLIS_NOHISTORY, 115 + URLIS_FILEURL, 116 + URLIS_APPLIABLE, 117 + URLIS_DIRECTORY, 118 + URLIS_HASQUERY 119 +} 120 + 121 +alias HANDLE HUSKEY; 122 +alias HUSKEY* PHUSKEY; 123 + 124 +extern (Windows) 125 +{ 126 + alias HRESULT function (DLLVERSIONINFO *) DLLGETVERSIONPROC; 127 +} 128 + 129 + 130 +BOOL IntlStrEqNA(LPCSTR pStr1, LPCSTR pStr2, int nChar) 131 +{ 132 + return IntlStrEqWorkerA(TRUE, pStr1, pStr2, nChar); 133 +} 134 + 135 +BOOL IntlStrEqNW(LPCWSTR pStr1, LPCWSTR pStr2, int nChar) 136 +{ 137 + return IntlStrEqWorkerW(TRUE, pStr1, pStr2, nChar); 138 +} 139 + 140 +BOOL IntlStrEqNIA(LPCSTR pStr1, LPCSTR pStr2, int nChar) 141 +{ 142 + return IntlStrEqWorkerA(FALSE, pStr1, pStr2, nChar); 143 +} 144 + 145 +BOOL IntlStrEqNIW(LPCWSTR pStr1, LPCWSTR pStr2, int nChar) 146 +{ 147 + return IntlStrEqWorkerW(FALSE, pStr1, pStr2, nChar); 148 +} 149 + 150 +BOOL UrlIsFileUrlA(LPCSTR pszURL) 151 +{ 152 + return UrlIsA(pszURL, URLIS.URLIS_FILEURL); 153 +} 154 + 155 +BOOL UrlIsFileUrlW(LPCWSTR pszURL) 156 +{ 157 + return UrlIsW(pszURL, URLIS.URLIS_FILEURL); 158 +} 159 + 160 +HRESULT UrlUnescapeInPlaceA(LPSTR pszUrl,DWORD dwFlags) 161 +{ 162 + return UrlUnescapeA(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE); 163 +} 164 +HRESULT UrlUnescapeInPlaceW(LPWSTR pszUrl,DWORD dwFlags) 165 +{ 166 + return UrlUnescapeW(pszUrl, null, null, dwFlags | URL_UNESCAPE_INPLACE); 167 +} 168 + 169 +extern (Windows): 170 +BOOL ChrCmpIA(WORD,WORD); 171 +BOOL ChrCmpIW(WCHAR,WCHAR); 172 +BOOL IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int); 173 +BOOL IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int); 174 +HRESULT SHStrDupA(LPCSTR,LPWSTR*); 175 +HRESULT SHStrDupW(LPCWSTR,LPWSTR*); 176 +LPSTR StrCatA(LPSTR,LPCSTR); 177 +LPWSTR StrCatW(LPWSTR,LPCWSTR); 178 +LPSTR StrCatBuffA(LPSTR,LPCSTR,int); 179 +LPWSTR StrCatBuffW(LPWSTR,LPCWSTR,int); 180 +DWORD StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR); 181 +LPSTR StrChrA(LPCSTR,WORD); 182 +LPWSTR StrChrW(LPCWSTR,WCHAR); 183 +LPSTR StrChrIA(LPCSTR,WORD); 184 +LPWSTR StrChrIW(LPCWSTR,WCHAR); 185 +int StrCmpIW(LPCWSTR,LPCWSTR); 186 +int StrCmpW(LPCWSTR,LPCWSTR); 187 +LPWSTR StrCpyW(LPWSTR,LPCWSTR); 188 +LPWSTR StrCpyNW(LPWSTR,LPCWSTR,int); 189 +int StrCmpNA(LPCSTR,LPCSTR,int); 190 +int StrCmpNW(LPCWSTR,LPCWSTR,int); 191 +int StrCmpNIA(LPCSTR,LPCSTR,int); 192 +int StrCmpNIW(LPCWSTR,LPCWSTR,int); 193 +int StrCSpnA(LPCSTR,LPCSTR); 194 +int StrCSpnW(LPCWSTR,LPCWSTR); 195 +int StrCSpnIA(LPCSTR,LPCSTR); 196 +int StrCSpnIW(LPCWSTR,LPCWSTR); 197 +LPSTR StrDupA(LPCSTR); 198 +LPWSTR StrDupW(LPCWSTR); 199 +LPSTR StrFormatByteSize64A(LONGLONG,LPSTR,UINT); 200 +LPSTR StrFormatByteSizeA(DWORD,LPSTR,UINT); 201 +LPWSTR StrFormatByteSizeW(LONGLONG,LPWSTR,UINT); 202 +LPSTR StrFormatKBSizeA(LONGLONG,LPSTR,UINT); 203 +LPWSTR StrFormatKBSizeW(LONGLONG,LPWSTR,UINT); 204 +int StrFromTimeIntervalA(LPSTR,UINT,DWORD,int); 205 +int StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int); 206 +BOOL StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int); 207 +BOOL StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int); 208 +LPSTR StrNCatA(LPSTR,LPCSTR,int); 209 +LPWSTR StrNCatW(LPWSTR,LPCWSTR,int); 210 +LPSTR StrPBrkA(LPCSTR,LPCSTR); 211 +LPWSTR StrPBrkW(LPCWSTR,LPCWSTR); 212 +LPSTR StrRChrA(LPCSTR,LPCSTR,WORD); 213 +LPWSTR StrRChrW(LPCWSTR,LPCWSTR,WCHAR); 214 +LPSTR StrRChrIA(LPCSTR,LPCSTR,WORD); 215 +LPWSTR StrRChrIW(LPCWSTR,LPCWSTR,WCHAR); 216 +LPSTR StrRStrIA(LPCSTR,LPCSTR,LPCSTR); 217 +LPWSTR StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR); 218 +int StrSpnA(LPCSTR,LPCSTR); 219 +int StrSpnW(LPCWSTR,LPCWSTR); 220 +LPSTR StrStrA(LPCSTR, LPCSTR); 221 +LPSTR StrStrIA(LPCSTR,LPCSTR); 222 +LPWSTR StrStrIW(LPCWSTR,LPCWSTR); 223 +LPWSTR StrStrW(LPCWSTR,LPCWSTR); 224 +int StrToIntA(LPCSTR); 225 +int StrToIntW(LPCWSTR); 226 +BOOL StrToIntExA(LPCSTR,DWORD,int*); 227 +BOOL StrToIntExW(LPCWSTR,DWORD,int*); 228 +BOOL StrTrimA(LPSTR,LPCSTR); 229 +BOOL StrTrimW(LPWSTR,LPCWSTR); 230 +LPSTR PathAddBackslashA(LPSTR); 231 +LPWSTR PathAddBackslashW(LPWSTR); 232 +BOOL PathAddExtensionA(LPSTR,LPCSTR); 233 +BOOL PathAddExtensionW(LPWSTR,LPCWSTR); 234 +BOOL PathAppendA(LPSTR,LPCSTR); 235 +BOOL PathAppendW(LPWSTR,LPCWSTR); 236 +LPSTR PathBuildRootA(LPSTR,int); 237 +LPWSTR PathBuildRootW(LPWSTR,int); 238 +BOOL PathCanonicalizeA(LPSTR,LPCSTR); 239 +BOOL PathCanonicalizeW(LPWSTR,LPCWSTR); 240 +LPSTR PathCombineA(LPSTR,LPCSTR,LPCSTR); 241 +LPWSTR PathCombineW(LPWSTR,LPCWSTR,LPCWSTR); 242 +int PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR); 243 +int PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR); 244 +BOOL PathCompactPathA(HDC,LPSTR,UINT); 245 +BOOL PathCompactPathW(HDC,LPWSTR,UINT); 246 +BOOL PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD); 247 +BOOL PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD); 248 +HRESULT PathCreateFromUrlA(LPCSTR,LPSTR,LPDWORD,DWORD); 249 +HRESULT PathCreateFromUrlW(LPCWSTR,LPWSTR,LPDWORD,DWORD); 250 +BOOL PathFileExistsA(LPCSTR); 251 +BOOL PathFileExistsW(LPCWSTR); 252 +LPSTR PathFindExtensionA(LPCSTR); 253 +LPWSTR PathFindExtensionW(LPCWSTR); 254 +LPSTR PathFindFileNameA(LPCSTR); 255 +LPWSTR PathFindFileNameW(LPCWSTR); 256 +LPSTR PathFindNextComponentA(LPCSTR); 257 +LPWSTR PathFindNextComponentW(LPCWSTR); 258 +BOOL PathFindOnPathA(LPSTR,LPCSTR*); 259 +BOOL PathFindOnPathW(LPWSTR,LPCWSTR*); 260 +LPCSTR PathFindSuffixArrayA(LPCSTR,LPCSTR*,int); 261 +LPCWSTR PathFindSuffixArrayW(LPCWSTR,LPCWSTR*,int); 262 +LPSTR PathGetArgsA(LPCSTR); 263 +LPWSTR PathGetArgsW(LPCWSTR); 264 +UINT PathGetCharTypeA(UCHAR); 265 +UINT PathGetCharTypeW(WCHAR); 266 +int PathGetDriveNumberA(LPCSTR); 267 +int PathGetDriveNumberW(LPCWSTR); 268 +BOOL PathIsContentTypeA(LPCSTR,LPCSTR); 269 +BOOL PathIsContentTypeW(LPCWSTR,LPCWSTR); 270 +BOOL PathIsDirectoryA(LPCSTR); 271 +BOOL PathIsDirectoryEmptyA(LPCSTR); 272 +BOOL PathIsDirectoryEmptyW(LPCWSTR); 273 +BOOL PathIsDirectoryW(LPCWSTR); 274 +BOOL PathIsFileSpecA(LPCSTR); 275 +BOOL PathIsFileSpecW(LPCWSTR); 276 +BOOL PathIsLFNFileSpecA(LPCSTR); 277 +BOOL PathIsLFNFileSpecW(LPCWSTR); 278 +BOOL PathIsNetworkPathA(LPCSTR); 279 +BOOL PathIsNetworkPathW(LPCWSTR); 280 +BOOL PathIsPrefixA(LPCSTR,LPCSTR); 281 +BOOL PathIsPrefixW(LPCWSTR,LPCWSTR); 282 +BOOL PathIsRelativeA(LPCSTR); 283 +BOOL PathIsRelativeW(LPCWSTR); 284 +BOOL PathIsRootA(LPCSTR); 285 +BOOL PathIsRootW(LPCWSTR); 286 +BOOL PathIsSameRootA(LPCSTR,LPCSTR); 287 +BOOL PathIsSameRootW(LPCWSTR,LPCWSTR); 288 +BOOL PathIsSystemFolderA(LPCSTR,DWORD); 289 +BOOL PathIsSystemFolderW(LPCWSTR,DWORD); 290 +BOOL PathIsUNCA(LPCSTR); 291 +BOOL PathIsUNCServerA(LPCSTR); 292 +BOOL PathIsUNCServerShareA(LPCSTR); 293 +BOOL PathIsUNCServerShareW(LPCWSTR); 294 +BOOL PathIsUNCServerW(LPCWSTR); 295 +BOOL PathIsUNCW(LPCWSTR); 296 +BOOL PathIsURLA(LPCSTR); 297 +BOOL PathIsURLW(LPCWSTR); 298 +BOOL PathMakePrettyA(LPSTR); 299 +BOOL PathMakePrettyW(LPWSTR); 300 +BOOL PathMakeSystemFolderA(LPSTR); 301 +BOOL PathMakeSystemFolderW(LPWSTR); 302 +BOOL PathMatchSpecA(LPCSTR,LPCSTR); 303 +BOOL PathMatchSpecW(LPCWSTR,LPCWSTR); 304 +int PathParseIconLocationA(LPSTR); 305 +int PathParseIconLocationW(LPWSTR); 306 +void PathQuoteSpacesA(LPSTR); 307 +void PathQuoteSpacesW(LPWSTR); 308 +BOOL PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD); 309 +BOOL PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD); 310 +void PathRemoveArgsA(LPSTR); 311 +void PathRemoveArgsW(LPWSTR); 312 +LPSTR PathRemoveBackslashA(LPSTR); 313 +LPWSTR PathRemoveBackslashW(LPWSTR); 314 +void PathRemoveBlanksA(LPSTR); 315 +void PathRemoveBlanksW(LPWSTR); 316 +void PathRemoveExtensionA(LPSTR); 317 +void PathRemoveExtensionW(LPWSTR); 318 +BOOL PathRemoveFileSpecA(LPSTR); 319 +BOOL PathRemoveFileSpecW(LPWSTR); 320 +BOOL PathRenameExtensionA(LPSTR,LPCSTR); 321 +BOOL PathRenameExtensionW(LPWSTR,LPCWSTR); 322 +BOOL PathSearchAndQualifyA(LPCSTR,LPSTR,UINT); 323 +BOOL PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT); 324 +void PathSetDlgItemPathA(HWND,int,LPCSTR); 325 +void PathSetDlgItemPathW(HWND,int,LPCWSTR); 326 +LPSTR PathSkipRootA(LPCSTR); 327 +LPWSTR PathSkipRootW(LPCWSTR); 328 +void PathStripPathA(LPSTR); 329 +void PathStripPathW(LPWSTR); 330 +BOOL PathStripToRootA(LPSTR); 331 +BOOL PathStripToRootW(LPWSTR); 332 +void PathUndecorateA(LPSTR); 333 +void PathUndecorateW(LPWSTR); 334 +BOOL PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT); 335 +BOOL PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT); 336 +BOOL PathUnmakeSystemFolderA(LPSTR); 337 +BOOL PathUnmakeSystemFolderW(LPWSTR); 338 +void PathUnquoteSpacesA(LPSTR); 339 +void PathUnquoteSpacesW(LPWSTR); 340 +HRESULT SHAutoComplete(HWND,DWORD); 341 +BOOL SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE); 342 +DWORD SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD); 343 +DWORD SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD); 344 +DWORD SHDeleteEmptyKeyA(HKEY,LPCSTR); 345 +DWORD SHDeleteEmptyKeyW(HKEY,LPCWSTR); 346 +DWORD SHDeleteKeyA(HKEY,LPCSTR); 347 +DWORD SHDeleteKeyW(HKEY,LPCWSTR); 348 +DWORD SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD); 349 +DWORD SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD); 350 +DWORD SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); 351 +DWORD SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); 352 +DWORD SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); 353 +DWORD SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); 354 +HRESULT SHGetThreadRef(IUnknown**); 355 +HRESULT SHSetThreadRef(IUnknown*); 356 +BOOL SHSkipJunction(IBindCtx*, CPtr!(CLSID)); 357 +DWORD SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); 358 +DWORD SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); 359 +DWORD SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD); 360 +DWORD SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD); 361 +DWORD SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD); 362 +DWORD SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD); 363 +DWORD SHDeleteValueA(HKEY,LPCSTR,LPCSTR); 364 +DWORD SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR); 365 +HRESULT AssocCreate(CLSID, CPtr!(IID) ,CPtr!(LPVOID)); 366 +HRESULT AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,HKEY*); 367 +HRESULT AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,HKEY*); 368 +HRESULT AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,DWORD*); 369 +HRESULT AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,DWORD*); 370 +HRESULT AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,DWORD*); 371 +HRESULT AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD*); 372 +HRESULT UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD); 373 +HRESULT UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD); 374 +HRESULT UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD); 375 +HRESULT UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD); 376 +HRESULT UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD); 377 +HRESULT UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD); 378 +int UrlCompareA(LPCSTR,LPCSTR,BOOL); 379 +int UrlCompareW(LPCWSTR,LPCWSTR,BOOL); 380 +HRESULT UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD); 381 +HRESULT UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD); 382 +HRESULT UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD); 383 +HRESULT UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD); 384 +LPCSTR UrlGetLocationA(LPCSTR); 385 +LPCWSTR UrlGetLocationW(LPCWSTR); 386 +HRESULT UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD); 387 +HRESULT UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD); 388 +HRESULT UrlHashA(LPCSTR,LPBYTE,DWORD); 389 +HRESULT UrlHashW(LPCWSTR,LPBYTE,DWORD); 390 +BOOL UrlIsA(LPCSTR,URLIS); 391 +BOOL UrlIsW(LPCWSTR,URLIS); 392 +BOOL UrlIsNoHistoryA(LPCSTR); 393 +BOOL UrlIsNoHistoryW(LPCWSTR); 394 +BOOL UrlIsOpaqueA(LPCSTR); 395 +BOOL UrlIsOpaqueW(LPCWSTR); 396 +HRESULT UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD); 397 +HRESULT UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD); 398 +DWORD SHRegCloseUSKey(HUSKEY); 399 +LONG SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD); 400 +LONG SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD); 401 +LONG SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS); 402 +LONG SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS); 403 +LONG SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS); 404 +LONG SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS); 405 +HKEY SHRegDuplicateHKey(HKEY); 406 +DWORD SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS); 407 +DWORD SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS); 408 +DWORD SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS); 409 +DWORD SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS); 410 +BOOL SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL); 411 +BOOL SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL); 412 +DWORD SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD); 413 +DWORD SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD); 414 +LONG SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); 415 +LONG SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); 416 +LONG SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL); 417 +LONG SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL); 418 +DWORD SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS); 419 +DWORD SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS); 420 +LONG SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); 421 +LONG SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); 422 +DWORD SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD); 423 +DWORD SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD); 424 +LONG SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD); 425 +LONG SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD); 426 +LONG SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD); 427 +LONG SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD); 428 +HRESULT HashData(LPBYTE,DWORD,LPBYTE,DWORD); 429 +HPALETTE SHCreateShellPalette(HDC); 430 +COLORREF ColorHLSToRGB(WORD,WORD,WORD); 431 +COLORREF ColorAdjustLuma(COLORREF,int,BOOL); 432 +void ColorRGBToHLS(COLORREF,WORD*,WORD*,WORD*); 433 +/** Should not be necessary for D? 434 +extern (C): 435 +int wnsprintfA(LPSTR,int,LPCSTR,...); 436 +int wnsprintfW(LPWSTR,int,LPCWSTR,...); 437 +extern (Windows): 438 +int wvnsprintfA(LPSTR,int,LPCSTR,va_list); 439 +int wvnsprintfW(LPWSTR,int,LPCWSTR,va_list); 440 +*/ 441 + 442 +HINSTANCE MLLoadLibraryA(LPCSTR,HANDLE,DWORD,LPCSTR,BOOL); 443 +HINSTANCE MLLoadLibraryW(LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL); 444 + 445 +HRESULT DllInstall(BOOL,LPCWSTR); 446 + 447 +HRESULT StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT); 448 +HRESULT StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT); 449 +HRESULT StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*); 450 +HRESULT StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*); 451 +HRESULT SHCreateStreamOnFileA(LPCSTR,DWORD,IStream**); 452 +HRESULT SHCreateStreamOnFileW(LPCWSTR,DWORD,IStream**); 453 +IStream* SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD); 454 +IStream* SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD); 455 +IStream* SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD); 456 +IStream* SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD); 457 + 458 +version(Unicode) { 459 +alias ChrCmpIW ChrCmpI; 460 +alias IntlStrEqNW IntlStrEqN; 461 +alias IntlStrEqNIW IntlStrEqNI; 462 +alias IntlStrEqWorkerW IntlStrEqWorker; 463 +alias SHStrDupW SHStrDup; 464 +alias StrCatW StrCat; 465 +alias StrCatBuffW StrCatBuff; 466 +alias StrChrW StrChr; 467 +alias StrChrIW StrChrI; 468 +alias StrCmpW StrCmp; 469 +alias StrCmpIW StrCmpI; 470 +alias StrCmpNIW StrCmpNI; 471 +alias StrCmpNW StrCmpN; 472 +alias StrCpyNW StrCpyN; 473 +alias StrCpyW StrCpy; 474 +alias StrCSpnIW StrCSpnI; 475 +alias StrCSpnW StrCSpn; 476 +alias StrDupW StrDup; 477 +alias StrFormatByteSizeW StrFormatByteSize; 478 +alias StrFormatKBSizeW StrFormatKBSize; 479 +alias StrFromTimeIntervalW StrFromTimeInterval; 480 +alias StrIsIntlEqualW StrIsIntlEqual; 481 +alias StrNCatW StrNCat; 482 +alias StrPBrkW StrPBrk; 483 +alias StrRChrW StrRChr; 484 +alias StrRChrIW StrRChrI; 485 +alias StrRetToBufW StrRetToBuf; 486 +alias StrRetToStrW StrRetToStr; 487 +alias StrRStrIW StrRStrI; 488 +alias StrSpnW StrSpn; 489 +alias StrStrIW StrStrI; 490 +alias StrStrW StrStr; 491 +alias StrToIntW StrToInt; 492 +alias StrToIntExW StrToIntEx; 493 +alias StrTrimW StrTrim; 494 +alias PathAddBackslashW PathAddBackslash; 495 +alias PathAddExtensionW PathAddExtension; 496 +alias PathAppendW PathAppend; 497 +alias PathBuildRootW PathBuildRoot; 498 +alias PathCanonicalizeW PathCanonicalize; 499 +alias PathCombineW PathCombine; 500 +alias PathCommonPrefixW PathCommonPrefix; 501 +alias PathCompactPathW PathCompactPath; 502 +alias PathCompactPathExW PathCompactPathEx; 503 +alias PathCreateFromUrlW PathCreateFromUrl; 504 +alias PathFileExistsW PathFileExists; 505 +alias PathFindExtensionW PathFindExtension; 506 +alias PathFindFileNameW PathFindFileName; 507 +alias PathFindNextComponentW PathFindNextComponent; 508 +alias PathFindOnPathW PathFindOnPath; 509 +alias PathFindSuffixArrayW PathFindSuffixArray; 510 +alias PathGetArgsW PathGetArgs; 511 +alias PathGetCharTypeW PathGetCharType; 512 +alias PathGetDriveNumberW PathGetDriveNumber; 513 +alias PathIsContentTypeW PathIsContentType; 514 +alias PathIsDirectoryEmptyW PathIsDirectoryEmpty; 515 +alias PathIsDirectoryW PathIsDirectory; 516 +alias PathIsFileSpecW PathIsFileSpec; 517 +alias PathIsLFNFileSpecW PathIsLFNFileSpec; 518 +alias PathIsNetworkPathW PathIsNetworkPath; 519 +alias PathIsPrefixW PathIsPrefix; 520 +alias PathIsRelativeW PathIsRelative; 521 +alias PathIsRootW PathIsRoot; 522 +alias PathIsSameRootW PathIsSameRoot; 523 +alias PathIsSystemFolderW PathIsSystemFolder; 524 +alias PathIsUNCServerShareW PathIsUNCServerShare; 525 +alias PathIsUNCServerW PathIsUNCServer; 526 +alias PathIsUNCW PathIsUNC; 527 +alias PathIsURLW PathIsURL; 528 +alias PathMakePrettyW PathMakePretty; 529 +alias PathMakeSystemFolderW PathMakeSystemFolder; 530 +alias PathMatchSpecW PathMatchSpec; 531 +alias PathParseIconLocationW PathParseIconLocation; 532 +alias PathQuoteSpacesW PathQuoteSpaces; 533 +alias PathRelativePathToW PathRelativePathTo; 534 +alias PathRemoveArgsW PathRemoveArgs; 535 +alias PathRemoveBackslashW PathRemoveBackslash; 536 +alias PathRemoveBlanksW PathRemoveBlanks; 537 +alias PathRemoveExtensionW PathRemoveExtension; 538 +alias PathRemoveFileSpecW PathRemoveFileSpec; 539 +alias PathRenameExtensionW PathRenameExtension; 540 +alias PathSearchAndQualifyW PathSearchAndQualify; 541 +alias PathSetDlgItemPathW PathSetDlgItemPath; 542 +alias PathSkipRootW PathSkipRoot; 543 +alias PathStripPathW PathStripPath; 544 +alias PathStripToRootW PathStripToRoot; 545 +alias PathUndecorateW PathUndecorate; 546 +alias PathUnExpandEnvStringsW PathUnExpandEnvStrings; 547 +alias PathUnmakeSystemFolderW PathUnmakeSystemFolder; 548 +alias PathUnquoteSpacesW PathUnquoteSpaces; 549 +alias SHCreateStreamOnFileW SHCreateStreamOnFile; 550 +alias SHOpenRegStreamW SHOpenRegStream; 551 +alias SHOpenRegStream2W SHOpenRegStream2; 552 +alias SHCopyKeyW SHCopyKey; 553 +alias SHDeleteEmptyKeyW SHDeleteEmptyKey; 554 +alias SHDeleteKeyW SHDeleteKey; 555 +alias SHEnumKeyExW SHEnumKeyEx; 556 +alias SHQueryInfoKeyW SHQueryInfoKey; 557 +alias SHQueryValueExW SHQueryValueEx; 558 +alias SHEnumValueW SHEnumValue; 559 +alias SHGetValueW SHGetValue; 560 +alias SHSetValueW SHSetValue; 561 +alias SHDeleteValueW SHDeleteValue; 562 +alias AssocQueryKeyW AssocQueryKey; 563 +alias AssocQueryStringByKeyW AssocQueryStringByKey; 564 +alias AssocQueryStringW AssocQueryString; 565 +alias UrlApplySchemeW UrlApplyScheme; 566 +alias UrlCanonicalizeW UrlCanonicalize; 567 +alias UrlCombineW UrlCombine; 568 +alias UrlCompareW UrlCompare; 569 +alias UrlCreateFromPathW UrlCreateFromPath; 570 +alias UrlEscapeW UrlEscape; 571 +alias UrlGetLocationW UrlGetLocation; 572 +alias UrlGetPartW UrlGetPart; 573 +alias UrlHashW UrlHash; 574 +alias UrlIsW UrlIs; 575 +alias UrlIsFileUrlW UrlIsFileUrl; 576 +alias UrlIsNoHistoryW UrlIsNoHistory; 577 +alias UrlIsOpaqueW UrlIsOpaque; 578 +alias UrlUnescapeW UrlUnescape; 579 +alias UrlUnescapeInPlaceW UrlUnescapeInPlace; 580 +alias SHRegCreateUSKeyW SHRegCreateUSKey; 581 +alias SHRegDeleteEmptyUSKeyW SHRegDeleteEmptyUSKey; 582 +alias SHRegDeleteUSValueW SHRegDeleteUSValue; 583 +alias SHRegEnumUSKeyW SHRegEnumUSKey; 584 +alias SHRegEnumUSValueW SHRegEnumUSValue; 585 +alias SHRegGetBoolUSValueW SHRegGetBoolUSValue; 586 +alias SHRegGetPathW SHRegGetPath; 587 +alias SHRegGetUSValueW SHRegGetUSValue; 588 +alias SHRegOpenUSKeyW SHRegOpenUSKey; 589 +alias SHRegQueryInfoUSKeyW SHRegQueryInfoUSKey; 590 +alias SHRegQueryUSValueW SHRegQueryUSValue; 591 +alias SHRegSetPathW SHRegSetPath; 592 +alias SHRegSetUSValueW SHRegSetUSValue; 593 +alias SHRegWriteUSValueW SHRegWriteUSValue; 594 +//alias wnsprintfW wnsprintf; 595 +//alias wvnsprintfW wvnsprintf; 596 +} else { 597 +alias ChrCmpIA ChrCmpI; 598 +alias IntlStrEqNA IntlStrEqN; 599 +alias IntlStrEqNIA IntlStrEqNI; 600 +alias IntlStrEqWorkerA IntlStrEqWorker; 601 +alias SHStrDupA SHStrDup; 602 +alias StrCatBuffA StrCatBuff; 603 +alias StrChrA StrChr; 604 +alias StrChrIA StrChrI; 605 +alias StrCmpNIA StrCmpNI; 606 +alias StrCmpNA StrCmpN; 607 +alias StrCSpnIA StrCSpnI; 608 +alias StrCSpnA StrCSpn; 609 +alias StrDupA StrDup; 610 +alias StrFormatByteSizeA StrFormatByteSize; 611 +alias StrFormatKBSizeA StrFormatKBSize; 612 +alias StrFromTimeIntervalA StrFromTimeInterval; 613 +alias StrIsIntlEqualA StrIsIntlEqual; 614 +alias StrNCatA StrNCat; 615 +alias StrPBrkA StrPBrk; 616 +alias StrRChrA StrRChr; 617 +alias StrRChrIA StrRChrI; 618 +alias StrRetToBufA StrRetToBuf; 619 +alias StrRetToStrA StrRetToStr; 620 +alias StrRStrIA StrRStrI; 621 +alias StrSpnA StrSpn; 622 +alias StrStrIA StrStrI; 623 +alias StrStrA StrStr; 624 +alias StrToIntA StrToInt; 625 +alias StrToIntExA StrToIntEx; 626 +alias StrTrimA StrTrim; 627 +alias PathAddBackslashA PathAddBackslash; 628 +alias PathAddExtensionA PathAddExtension; 629 +alias PathAppendA PathAppend; 630 +alias PathBuildRootA PathBuildRoot; 631 +alias PathCanonicalizeA PathCanonicalize; 632 +alias PathCombineA PathCombine; 633 +alias PathCommonPrefixA PathCommonPrefix; 634 +alias PathCompactPathA PathCompactPath; 635 +alias PathCompactPathExA PathCompactPathEx; 636 +alias PathCreateFromUrlA PathCreateFromUrl; 637 +alias PathFileExistsA PathFileExists; 638 +alias PathFindExtensionA PathFindExtension; 639 +alias PathFindFileNameA PathFindFileName; 640 +alias PathFindNextComponentA PathFindNextComponent; 641 +alias PathFindOnPathA PathFindOnPath; 642 +alias PathFindSuffixArrayA PathFindSuffixArray; 643 +alias PathGetArgsA PathGetArgs; 644 +alias PathGetCharTypeA PathGetCharType; 645 +alias PathGetDriveNumberA PathGetDriveNumber; 646 +alias PathIsContentTypeA PathIsContentType; 647 +alias PathIsDirectoryEmptyA PathIsDirectoryEmpty; 648 +alias PathIsDirectoryA PathIsDirectory; 649 +alias PathIsFileSpecA PathIsFileSpec; 650 +alias PathIsLFNFileSpecA PathIsLFNFileSpec; 651 +alias PathIsNetworkPathA PathIsNetworkPath; 652 +alias PathIsPrefixA PathIsPrefix; 653 +alias PathIsRelativeA PathIsRelative; 654 +alias PathIsRootA PathIsRoot; 655 +alias PathIsSameRootA PathIsSameRoot; 656 +alias PathIsSystemFolderA PathIsSystemFolder; 657 +alias PathIsUNCServerShareA PathIsUNCServerShare; 658 +alias PathIsUNCServerA PathIsUNCServer; 659 +alias PathIsUNCA PathIsUNC; 660 +alias PathIsURLA PathIsURL; 661 +alias PathMakePrettyA PathMakePretty; 662 +alias PathMakeSystemFolderA PathMakeSystemFolder; 663 +alias PathMatchSpecA PathMatchSpec; 664 +alias PathParseIconLocationA PathParseIconLocation; 665 +alias PathQuoteSpacesA PathQuoteSpaces; 666 +alias PathRelativePathToA PathRelativePathTo; 667 +alias PathRemoveArgsA PathRemoveArgs; 668 +alias PathRemoveBackslashA PathRemoveBackslash; 669 +alias PathRemoveBlanksA PathRemoveBlanks; 670 +alias PathRemoveExtensionA PathRemoveExtension; 671 +alias PathRemoveFileSpecA PathRemoveFileSpec; 672 +alias PathRenameExtensionA PathRenameExtension; 673 +alias PathSearchAndQualifyA PathSearchAndQualify; 674 +alias PathSetDlgItemPathA PathSetDlgItemPath; 675 +alias PathSkipRootA PathSkipRoot; 676 +alias PathStripPathA PathStripPath; 677 +alias PathStripToRootA PathStripToRoot; 678 +alias PathUndecorateA PathUndecorate; 679 +alias PathUnExpandEnvStringsA PathUnExpandEnvStrings; 680 +alias PathUnmakeSystemFolderA PathUnmakeSystemFolder; 681 +alias PathUnquoteSpacesA PathUnquoteSpaces; 682 +alias SHCreateStreamOnFileA SHCreateStreamOnFile; 683 +alias SHOpenRegStreamA SHOpenRegStream; 684 +alias SHOpenRegStream2A SHOpenRegStream2; 685 +alias SHCopyKeyA SHCopyKey; 686 +alias SHDeleteEmptyKeyA SHDeleteEmptyKey; 687 +alias SHDeleteKeyA SHDeleteKey; 688 +alias SHEnumKeyExA SHEnumKeyEx; 689 +alias SHQueryInfoKeyA SHQueryInfoKey; 690 +alias SHQueryValueExA SHQueryValueEx; 691 +alias SHEnumValueA SHEnumValue; 692 +alias SHGetValueA SHGetValue; 693 +alias SHSetValueA SHSetValue; 694 +alias SHDeleteValueA SHDeleteValue; 695 +alias AssocQueryKeyA AssocQueryKey; 696 +alias AssocQueryStringByKeyA AssocQueryStringByKey; 697 +alias AssocQueryStringA AssocQueryString; 698 +alias UrlApplySchemeA UrlApplyScheme; 699 +alias UrlCanonicalizeA UrlCanonicalize; 700 +alias UrlCombineA UrlCombine; 701 +alias UrlCompareA UrlCompare; 702 +alias UrlCreateFromPathA UrlCreateFromPath; 703 +alias UrlEscapeA UrlEscape; 704 +alias UrlGetLocationA UrlGetLocation; 705 +alias UrlGetPartA UrlGetPart; 706 +alias UrlHashA UrlHash; 707 +alias UrlIsA UrlIs; 708 +alias UrlIsNoHistoryA UrlIsNoHistory; 709 +alias UrlIsOpaqueA UrlIsOpaque; 710 +alias UrlUnescapeA UrlUnescape; 711 +alias UrlUnescapeInPlaceA UrlUnescapeInPlace; 712 +alias SHRegCreateUSKeyA SHRegCreateUSKey; 713 +alias SHRegDeleteEmptyUSKeyA SHRegDeleteEmptyUSKey; 714 +alias SHRegDeleteUSValueA SHRegDeleteUSValue; 715 +alias SHRegEnumUSKeyA SHRegEnumUSKey; 716 +alias SHRegEnumUSValueA SHRegEnumUSValue; 717 +alias SHRegGetBoolUSValueA SHRegGetBoolUSValue; 718 +alias SHRegGetPathA SHRegGetPath; 719 +alias SHRegGetUSValueA SHRegGetUSValue; 720 +alias SHRegOpenUSKeyA SHRegOpenUSKey; 721 +alias SHRegQueryInfoUSKeyA SHRegQueryInfoUSKey; 722 +alias SHRegQueryUSValueA SHRegQueryUSValue; 723 +alias SHRegSetPathA SHRegSetPath; 724 +alias SHRegSetUSValueA SHRegSetUSValue; 725 +alias SHRegWriteUSValueA SHRegWriteUSValue; 726 +//alias wnsprintfA wnsprintf; 727 +//alias wvnsprintfA wvnsprintf; 728 +} 729 + 730 +alias StrToInt StrToLong;

Added src/win32/snmp.d version [c6a48338a4008905]

1 +/***********************************************************************\ 2 +* snmp.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.snmp; 12 + 13 +private import win32.windows; 14 + 15 +// These are not documented on MSDN 16 +enum { 17 + DEFAULT_SNMP_PORT_UDP = 161, 18 + DEFAULT_SNMP_PORT_IPX = 36879, 19 + DEFAULT_SNMPTRAP_PORT_UDP = 162, 20 + DEFAULT_SNMPTRAP_PORT_IPX = 36880 21 +} 22 + 23 +enum : BYTE { 24 + ASN_UNIVERSAL = 0x00, 25 + ASN_PRIMITIVE = 0x00, 26 + ASN_CONSTRUCTOR = 0x20, 27 + ASN_APPLICATION = 0x40, 28 + ASN_CONTEXT = 0x80, 29 + ASN_PRIVATE = 0xC0, 30 + 31 + SNMP_PDU_GET = ASN_CONTEXT | ASN_CONSTRUCTOR, 32 + SNMP_PDU_GETNEXT, 33 + SNMP_PDU_RESPONSE, 34 + SNMP_PDU_SET, 35 + SNMP_PDU_GETBULK, // = ASN_CONTEXT | ASN_CONSTRUCTOR | 4 36 + SNMP_PDU_V1TRAP = ASN_CONTEXT | ASN_CONSTRUCTOR | 4, 37 + SNMP_PDU_INFORM = ASN_CONTEXT | ASN_CONSTRUCTOR | 6, 38 + SNMP_PDU_TRAP, 39 + SNMP_PDU_REPORT, 40 + ASN_INTEGER = ASN_UNIVERSAL | ASN_PRIMITIVE | 2, 41 + ASN_BITS, 42 + ASN_OCTETSTRING, 43 + ASN_NULL, 44 + ASN_OBJECTIDENTIFIER, // = ASN_UNIVERSAL | ASN_PRIMITIVE | 6 45 + ASN_INTEGER32 = ASN_INTEGER, 46 + ASN_SEQUENCE = ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10, 47 + ASN_SEQUENCEOF = ASN_SEQUENCE, 48 + ASN_IPADDRESS = ASN_APPLICATION | ASN_PRIMITIVE, 49 + ASN_COUNTER32, 50 + ASN_GAUGE32, 51 + ASN_TIMETICKS, 52 + ASN_OPAQUE, // = ASN_APPLICATION | ASN_PRIMITIVE | 4 53 + ASN_COUNTER64 = ASN_APPLICATION | ASN_PRIMITIVE | 6, 54 + ASN_UNSIGNED32, // = ASN_APPLICATION | ASN_PRIMITIVE | 7 55 + SNMP_EXCEPTION_NOSUCHOBJECT = ASN_CONTEXT | ASN_PRIMITIVE, 56 + SNMP_EXCEPTION_NOSUCHINSTANCE, 57 + SNMP_EXCEPTION_ENDOFMIBVIEW, 58 + SNMP_EXTENSION_GET = SNMP_PDU_GET, 59 + SNMP_EXTENSION_GET_NEXT = SNMP_PDU_GETNEXT, 60 + SNMP_EXTENSION_GET_BULK = SNMP_PDU_GETBULK, 61 + SNMP_EXTENSION_SET_TEST = ASN_PRIVATE | ASN_CONSTRUCTOR, 62 + SNMP_EXTENSION_SET_COMMIT = SNMP_PDU_SET, 63 + SNMP_EXTENSION_SET_UNDO = ASN_PRIVATE | ASN_CONSTRUCTOR | 1, 64 + SNMP_EXTENSION_SET_CLEANUP 65 +} 66 + 67 + 68 +enum : AsnInteger { 69 + SNMP_ERRORSTATUS_NOERROR, 70 + SNMP_ERRORSTATUS_TOOBIG, 71 + SNMP_ERRORSTATUS_NOSUCHNAME, 72 + SNMP_ERRORSTATUS_BADVALUE, 73 + SNMP_ERRORSTATUS_READONLY, 74 + SNMP_ERRORSTATUS_GENERR, 75 + SNMP_ERRORSTATUS_NOACCESS, 76 + SNMP_ERRORSTATUS_WRONGTYPE, 77 + SNMP_ERRORSTATUS_WRONGLENGTH, 78 + SNMP_ERRORSTATUS_WRONGENCODING, 79 + SNMP_ERRORSTATUS_WRONGVALUE, 80 + SNMP_ERRORSTATUS_NOCREATION, 81 + SNMP_ERRORSTATUS_INCONSISTENTVALUE, 82 + SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE, 83 + SNMP_ERRORSTATUS_COMMITFAILED, 84 + SNMP_ERRORSTATUS_UNDOFAILED, 85 + SNMP_ERRORSTATUS_AUTHORIZATIONERROR, 86 + SNMP_ERRORSTATUS_NOTWRITABLE, 87 + SNMP_ERRORSTATUS_INCONSISTENTNAME 88 +} 89 + 90 +enum : AsnInteger { 91 + SNMP_GENERICTRAP_COLDSTART, 92 + SNMP_GENERICTRAP_WARMSTART, 93 + SNMP_GENERICTRAP_LINKDOWN, 94 + SNMP_GENERICTRAP_LINKUP, 95 + SNMP_GENERICTRAP_AUTHFAILURE, 96 + SNMP_GENERICTRAP_EGPNEIGHLOSS, 97 + SNMP_GENERICTRAP_ENTERSPECIFIC 98 +} 99 + 100 +// These are not documented on MSDN 101 +enum { 102 + SNMP_ACCESS_NONE, 103 + SNMP_ACCESS_NOTIFY, 104 + SNMP_ACCESS_READ_ONLY, 105 + SNMP_ACCESS_READ_WRITE, 106 + SNMP_ACCESS_READ_CREATE 107 +} 108 + 109 +enum : BOOL { 110 + SNMPAPI_ERROR = false, 111 + SNMPAPI_NOERROR = true 112 +} 113 + 114 +enum : INT { 115 + SNMP_LOG_SILENT, 116 + SNMP_LOG_FATAL, 117 + SNMP_LOG_ERROR, 118 + SNMP_LOG_WARNING, 119 + SNMP_LOG_TRACE, 120 + SNMP_LOG_VERBOSE 121 +} 122 + 123 +const INT 124 + SNMP_OUTPUT_TO_CONSOLE = 1, 125 + SNMP_OUTPUT_TO_LOGFILE = 2, 126 + SNMP_OUTPUT_TO_EVENTLOG = 4, 127 + SNMP_OUTPUT_TO_DEBUGGER = 8; 128 + 129 +const size_t SNMP_MAX_OID_LEN = 128; 130 + 131 +enum : DWORD { 132 + SNMP_MEM_ALLOC_ERROR = 1, 133 + SNMP_BERAPI_INVALID_LENGTH = 10, 134 + SNMP_BERAPI_INVALID_TAG, 135 + SNMP_BERAPI_OVERFLOW, 136 + SNMP_BERAPI_SHORT_BUFFER, 137 + SNMP_BERAPI_INVALID_OBJELEM, 138 + SNMP_PDUAPI_UNRECOGNIZED_PDU = 20, 139 + SNMP_PDUAPI_INVALID_ES, 140 + SNMP_PDUAPI_INVALID_GT, 141 + SNMP_AUTHAPI_INVALID_VERSION = 30, 142 + SNMP_AUTHAPI_INVALID_MSG_TYPE, 143 + SNMP_AUTHAPI_TRIV_AUTH_FAILED, 144 +} 145 + 146 +alias INT SNMPAPI; 147 +alias LONG AsnInteger32; 148 +alias ULONG AsnUnsigned32, AsnCounter32, AsnGauge32, AsnTimeticks; 149 +alias ULARGE_INTEGER AsnCounter64; 150 + 151 +align (4): 152 + 153 +struct AsnOctetString { 154 + BYTE* stream; 155 + UINT length; 156 + BOOL dynamic; 157 +} 158 +alias AsnOctetString AsnBits, AsnSequence, AsnImplicitSequence, 159 + AsnIPAddress, AsnNetworkAddress, AsnDisplayString, AsnOpaque; 160 + 161 +struct AsnObjectIdentifier { 162 + UINT idLength; 163 + UINT* ids; 164 +} 165 +alias AsnObjectIdentifier AsnObjectName; 166 + 167 +struct AsnAny { 168 + BYTE asnType; 169 + union _asnValue { 170 + AsnInteger32 number; 171 + AsnUnsigned32 unsigned32; 172 + AsnCounter64 counter64; 173 + AsnOctetString string; 174 + AsnBits bits; 175 + AsnObjectIdentifier object; 176 + AsnSequence sequence; 177 + AsnIPAddress address; 178 + AsnCounter32 counter; 179 + AsnGauge32 gauge; 180 + AsnTimeticks ticks; 181 + AsnOpaque arbitrary; 182 + } 183 + _asnValue asnValue; 184 +} 185 +alias AsnAny AsnObjectSyntax; 186 + 187 +struct SnmpVarBind { 188 + AsnObjectName name; 189 + AsnObjectSyntax value; 190 +} 191 + 192 +struct SnmpVarBindList { 193 + SnmpVarBind* list; 194 + UINT len; 195 +} 196 + 197 +extern (Windows) { 198 + VOID SnmpExtensionClose(); 199 + BOOL SnmpExtensionInit(DWORD, HANDLE*, AsnObjectIdentifier*); 200 + BOOL SnmpExtensionInitEx(AsnObjectIdentifier*); 201 + BOOL SnmpExtensionMonitor(LPVOID); 202 + BOOL SnmpExtensionQuery(BYTE, SnmpVarBindList*, AsnInteger32*, 203 + AsnInteger32*); 204 + BOOL SnmpExtensionQueryEx(DWORD, DWORD, SnmpVarBindList*, AsnOctetString*, 205 + AsnInteger32*, AsnInteger32*); 206 + BOOL SnmpExtensionTrap(AsnObjectIdentifier*, AsnInteger32*, AsnInteger32*, 207 + AsnTimeticks*, SnmpVarBindList*); 208 + DWORD SnmpSvcGetUptime(); 209 + VOID SnmpSvcSetLogLevel(INT); 210 + VOID SnmpSvcSetLogType(INT); 211 + SNMPAPI SnmpUtilAsnAnyCpy(AsnAny*, AsnAny*); 212 + VOID SnmpUtilAsnAnyFree(AsnAny*); 213 + VOID SnmpUtilDbgPrint(INT, LPSTR, ...); 214 + LPSTR SnmpUtilIdsToA(UINT*, UINT); 215 + LPVOID SnmpUtilMemAlloc(UINT); 216 + VOID SnmpUtilMemFree(LPVOID); 217 + LPVOID SnmpUtilMemReAlloc(LPVOID, UINT); 218 + SNMPAPI SnmpUtilOctetsCmp(AsnOctetString*, AsnOctetString*); 219 + SNMPAPI SnmpUtilOctetsCpy(AsnOctetString*, AsnOctetString*); 220 + VOID SnmpUtilOctetsFree(AsnOctetString*); 221 + SNMPAPI SnmpUtilOctetsNCmp(AsnOctetString*, AsnOctetString*, UINT); 222 + SNMPAPI SnmpUtilOidAppend(AsnObjectIdentifier*, AsnObjectIdentifier*); 223 + SNMPAPI SnmpUtilOidCmp(AsnObjectIdentifier*, AsnObjectIdentifier*); 224 + SNMPAPI SnmpUtilOidCpy(AsnObjectIdentifier*, AsnObjectIdentifier*); 225 + VOID SnmpUtilOidFree(AsnObjectIdentifier*); 226 + SNMPAPI SnmpUtilOidNCmp(AsnObjectIdentifier*, AsnObjectIdentifier*, UINT); 227 + LPSTR SnmpUtilOidToA(AsnObjectIdentifier*); 228 + VOID SnmpUtilPrintAsnAny(AsnAny*); 229 + VOID SnmpUtilPrintOid(AsnObjectIdentifier*); 230 + SNMPAPI SnmpUtilVarBindCpy(SnmpVarBind*, SnmpVarBind*); 231 + SNMPAPI SnmpUtilVarBindListCpy(SnmpVarBindList*, SnmpVarBindList*); 232 + VOID SnmpUtilVarBindFree(SnmpVarBind*); 233 + VOID SnmpUtilVarBindListFree(SnmpVarBindList*); 234 +} 235 + 236 +alias SnmpUtilMemAlloc SNMP_malloc; 237 +alias SnmpUtilMemFree SNMP_free; 238 +alias SnmpUtilMemReAlloc SNMP_realloc; 239 +alias SnmpUtilMemAlloc SNMP_DBG_malloc; 240 +alias SnmpUtilMemFree SNMP_DBG_free; 241 +alias SnmpUtilMemReAlloc SNMP_DBG_realloc; 242 +alias SnmpUtilOidAppend SNMP_oidappend; 243 +alias SnmpUtilOidCmp SNMP_oidcmp; 244 +alias SnmpUtilOidCpy SNMP_oidcpy; 245 +alias SnmpUtilOidFree SNMP_oidfree; 246 +alias SnmpUtilOidNCmp SNMP_oidncmp; 247 +alias SnmpUtilPrintAsnAny SNMP_printany; 248 +alias SnmpUtilVarBindCpy SNMP_CopyVarBind; 249 +alias SnmpUtilVarBindListCpy SNMP_CopyVarBindList; 250 +alias SnmpUtilVarBindFree SNMP_FreeVarBind; 251 +alias SnmpUtilVarBindListFree SNMP_FreeVarBindList; 252 +alias ASN_IPADDRESS ASN_RFC1155_IPADDRESS; 253 +alias ASN_COUNTER32 ASN_RFC1155_COUNTER; 254 +alias ASN_GAUGE32 ASN_RFC1155_GAUGE; 255 +alias ASN_TIMETICKS ASN_RFC1155_TIMETICKS; 256 +alias ASN_OPAQUE ASN_RFC1155_OPAQUE; 257 +alias ASN_OCTETSTRING ASN_RFC1213_DISPSTRING; 258 +alias SNMP_PDU_GET ASN_RFC1157_GETREQUEST; 259 +alias SNMP_PDU_GETNEXT ASN_RFC1157_GETNEXTREQUEST; 260 +alias SNMP_PDU_RESPONSE ASN_RFC1157_GETRESPONSE; 261 +alias SNMP_PDU_SET ASN_RFC1157_SETREQUEST; 262 +alias SNMP_PDU_V1TRAP ASN_RFC1157_TRAP; 263 +alias ASN_CONTEXT ASN_CONTEXTSPECIFIC; 264 +alias ASN_PRIMITIVE ASN_PRIMATIVE; 265 +alias SnmpVarBindList RFC1157VarBindList; 266 +alias SnmpVarBind RFC1157VarBind; 267 +alias AsnInteger32 AsnInteger; 268 +alias AsnCounter32 AsnCounter; 269 +alias AsnGauge32 AsnGauge;

Added src/win32/sql.d version [edd10e7d6d473fa3]

1 +/***********************************************************************\ 2 +* sql.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.sql; 11 + 12 +public import win32.sqltypes; 13 +private import win32.windef; 14 + 15 +const ODBCVER = 0x0351; 16 + 17 +const SQL_ACCESSIBLE_PROCEDURES=20; 18 +const SQL_ACCESSIBLE_TABLES=19; 19 +const SQL_ALL_TYPES=0; 20 +const SQL_ALTER_TABLE=86; 21 +const SQL_API_SQLALLOCCONNECT=1; 22 +const SQL_API_SQLALLOCENV=2; 23 +const SQL_API_SQLALLOCSTMT=3; 24 +const SQL_API_SQLBINDCOL=4; 25 +const SQL_API_SQLCANCEL=5; 26 +const SQL_API_SQLCOLUMNS=40; 27 +const SQL_API_SQLCONNECT=7; 28 +const SQL_API_SQLDATASOURCES=57; 29 +const SQL_API_SQLDESCRIBECOL=8; 30 +const SQL_API_SQLDISCONNECT=9; 31 +const SQL_API_SQLERROR=10; 32 +const SQL_API_SQLEXECDIRECT=11; 33 +const SQL_API_SQLEXECUTE=12; 34 +const SQL_API_SQLFETCH=13; 35 +const SQL_API_SQLFREECONNECT=14; 36 +const SQL_API_SQLFREEENV=15; 37 +const SQL_API_SQLFREESTMT=16; 38 +const SQL_API_SQLGETCONNECTOPTION=42; 39 +const SQL_API_SQLGETCURSORNAME=17; 40 +const SQL_API_SQLGETDATA=43; 41 +const SQL_API_SQLGETFUNCTIONS=44; 42 +const SQL_API_SQLGETINFO=45; 43 +const SQL_API_SQLGETSTMTOPTION=46; 44 +const SQL_API_SQLGETTYPEINFO=47; 45 +const SQL_API_SQLNUMRESULTCOLS=18; 46 +const SQL_API_SQLPARAMDATA=48; 47 +const SQL_API_SQLPREPARE=19; 48 +const SQL_API_SQLPUTDATA=49; 49 +const SQL_API_SQLROWCOUNT=20; 50 +const SQL_API_SQLSETCONNECTOPTION=50; 51 +const SQL_API_SQLSETCURSORNAME=21; 52 +const SQL_API_SQLSETPARAM=22; 53 +const SQL_API_SQLSETSTMTOPTION=51; 54 +const SQL_API_SQLSPECIALCOLUMNS=52; 55 +const SQL_API_SQLSTATISTICS=53; 56 +const SQL_API_SQLTABLES=54; 57 +const SQL_API_SQLTRANSACT=23; 58 + 59 +const SQL_CB_DELETE=0; 60 +const SQL_CB_CLOSE=1; 61 +const SQL_CB_PRESERVE=2; 62 + 63 +const SQL_CHAR=1; 64 +const SQL_CLOSE=0; 65 +const SQL_COMMIT=0; 66 +const SQL_CURSOR_COMMIT_BEHAVIOR=23; 67 +const SQL_DATA_AT_EXEC=-2; 68 +const SQL_DATA_SOURCE_NAME=2; 69 +const SQL_DATA_SOURCE_READ_ONLY=25; 70 +const SQL_DBMS_NAME=17; 71 +const SQL_DBMS_VER=18; 72 +const SQL_DECIMAL=3; 73 +const SQL_DEFAULT_TXN_ISOLATION=26; 74 +const SQL_DOUBLE=8; 75 +const SQL_DROP=1; 76 +const SQL_ERROR=-1; 77 + 78 +const SQL_FD_FETCH_NEXT=1; 79 +const SQL_FD_FETCH_FIRST=2; 80 +const SQL_FD_FETCH_LAST=4; 81 +const SQL_FD_FETCH_PRIOR=8; 82 +const SQL_FD_FETCH_ABSOLUTE=16; 83 +const SQL_FD_FETCH_RELATIVE=32; 84 + 85 +const SQL_FETCH_ABSOLUTE=5; 86 +const SQL_FETCH_DIRECTION=8; 87 +const SQL_FETCH_FIRST=2; 88 +const SQL_FETCH_LAST=3; 89 +const SQL_FETCH_NEXT=1; 90 +const SQL_FETCH_PRIOR=4; 91 +const SQL_FETCH_RELATIVE=6; 92 +const SQL_FLOAT=6; 93 +const SQL_GD_ANY_COLUMN=1; 94 +const SQL_GD_ANY_ORDER=2; 95 +const SQL_GETDATA_EXTENSIONS=81; 96 +const SQL_IC_LOWER=2; 97 +const SQL_IC_MIXED=4; 98 +const SQL_IC_SENSITIVE=3; 99 +const SQL_IC_UPPER=1; 100 +const SQL_IDENTIFIER_CASE=28; 101 +const SQL_IDENTIFIER_QUOTE_CHAR=29; 102 + 103 +const SQL_INDEX_ALL=1; 104 +const SQL_INDEX_CLUSTERED=1; 105 +const SQL_INDEX_HASHED=2; 106 +const SQL_INDEX_OTHER=3; 107 +const SQL_INDEX_UNIQUE=0; 108 + 109 +const SQL_INTEGER=4; 110 +const SQL_INTEGRITY=73; 111 +const SQL_INVALID_HANDLE=-2; 112 + 113 +const SQL_MAX_CATALOG_NAME_LEN=34; 114 +const SQL_MAX_COLUMN_NAME_LEN=30; 115 +const SQL_MAX_COLUMNS_IN_GROUP_BY=97; 116 +const SQL_MAX_COLUMNS_IN_INDEX=98; 117 +const SQL_MAX_COLUMNS_IN_ORDER_BY=99; 118 +const SQL_MAX_COLUMNS_IN_SELECT=100; 119 +const SQL_MAX_COLUMNS_IN_TABLE=101; 120 +const SQL_MAX_CURSOR_NAME_LEN=31; 121 +const SQL_MAX_INDEX_SIZE=102; 122 +const SQL_MAX_MESSAGE_LENGTH=512; 123 +const SQL_MAX_ROW_SIZE=104; 124 +const SQL_MAX_SCHEMA_NAME_LEN=32; 125 +const SQL_MAX_STATEMENT_LEN=105; 126 +const SQL_MAX_TABLE_NAME_LEN=35; 127 +const SQL_MAX_TABLES_IN_SELECT=106; 128 +const SQL_MAX_USER_NAME_LEN=107; 129 + 130 +const SQL_MAXIMUM_CATALOG_NAME_LENGTH=SQL_MAX_CATALOG_NAME_LEN; 131 +const SQL_MAXIMUM_COLUMN_NAME_LENGTH=SQL_MAX_COLUMN_NAME_LEN; 132 +const SQL_MAXIMUM_COLUMNS_IN_GROUP_BY=SQL_MAX_COLUMNS_IN_GROUP_BY; 133 +const SQL_MAXIMUM_COLUMNS_IN_INDEX=SQL_MAX_COLUMNS_IN_INDEX; 134 +const SQL_MAXIMUM_COLUMNS_IN_ORDER_BY=SQL_MAX_COLUMNS_IN_ORDER_BY; 135 +const SQL_MAXIMUM_COLUMNS_IN_SELECT=SQL_MAX_COLUMNS_IN_SELECT; 136 +const SQL_MAXIMUM_CURSOR_NAME_LENGTH=SQL_MAX_CURSOR_NAME_LEN; 137 +const SQL_MAXIMUM_INDEX_SIZE=SQL_MAX_INDEX_SIZE; 138 +const SQL_MAXIMUM_ROW_SIZE=SQL_MAX_ROW_SIZE; 139 +const SQL_MAXIMUM_SCHEMA_NAME_LENGTH=SQL_MAX_SCHEMA_NAME_LEN; 140 +const SQL_MAXIMUM_STATEMENT_LENGTH=SQL_MAX_STATEMENT_LEN; 141 +const SQL_MAXIMUM_TABLES_IN_SELECT=SQL_MAX_TABLES_IN_SELECT; 142 +const SQL_MAXIMUM_USER_NAME_LENGTH=SQL_MAX_USER_NAME_LEN; 143 + 144 +const SQL_NC_HIGH=0; 145 +const SQL_NC_LOW=1; 146 +const SQL_NEED_DATA=99; 147 +const SQL_NO_NULLS=0; 148 +const SQL_NTS=-3; 149 +const LONG SQL_NTSL=-3; 150 +const SQL_NULL_COLLATION=85; 151 +const SQL_NULL_DATA=-1; 152 +const SQL_NULL_HDBC=0; 153 +const SQL_NULL_HENV=0; 154 +const SQL_NULL_HSTMT=0; 155 +const SQL_NULLABLE=1; 156 +const SQL_NULLABLE_UNKNOWN=2; 157 +const SQL_NUMERIC=2; 158 +const SQL_ORDER_BY_COLUMNS_IN_SELECT=90; 159 +const SQL_PC_PSEUDO=2; 160 +const SQL_PC_UNKNOWN=0; 161 +const SQL_REAL=7; 162 +const SQL_RESET_PARAMS=3; 163 +const SQL_ROLLBACK=1; 164 +const SQL_SCCO_LOCK=2; 165 +const SQL_SCCO_OPT_ROWVER=4; 166 +const SQL_SCCO_OPT_VALUES=8; 167 +const SQL_SCCO_READ_ONLY=1; 168 +const SQL_SCOPE_CURROW=0; 169 +const SQL_SCOPE_SESSION=2; 170 +const SQL_SCOPE_TRANSACTION=1; 171 +const SQL_SCROLL_CONCURRENCY=43; 172 +const SQL_SEARCH_PATTERN_ESCAPE=14; 173 +const SQL_SERVER_NAME=13; 174 +const SQL_SMALLINT=5; 175 +const SQL_SPECIAL_CHARACTERS=94; 176 +const SQL_STILL_EXECUTING=2; 177 +//MACRO #define SQL_SUCCEEDED(rc) (((rc)&(~1))==0) 178 + 179 +const SQL_SUCCESS=0; 180 +const SQL_SUCCESS_WITH_INFO=1; 181 + 182 +const SQL_TC_ALL=2; 183 +const SQL_TC_DDL_COMMIT=3; 184 +const SQL_TC_DDL_IGNORE=4; 185 +const SQL_TC_DML=1; 186 +const SQL_TC_NONE=0; 187 + 188 + 189 +const SQL_TXN_CAPABLE=46; 190 +const SQL_TXN_ISOLATION_OPTION=72; 191 +const SQL_TXN_READ_COMMITTED=2; 192 +const SQL_TXN_READ_UNCOMMITTED=1; 193 +const SQL_TXN_REPEATABLE_READ=4; 194 +const SQL_TXN_SERIALIZABLE=8; 195 + 196 +const SQL_TRANSACTION_CAPABLE=SQL_TXN_CAPABLE; 197 +const SQL_TRANSACTION_ISOLATION_OPTION=SQL_TXN_ISOLATION_OPTION; 198 +const SQL_TRANSACTION_READ_COMMITTED=SQL_TXN_READ_COMMITTED; 199 +const SQL_TRANSACTION_READ_UNCOMMITTED=SQL_TXN_READ_UNCOMMITTED; 200 +const SQL_TRANSACTION_REPEATABLE_READ=SQL_TXN_REPEATABLE_READ; 201 +const SQL_TRANSACTION_SERIALIZABLE=SQL_TXN_SERIALIZABLE; 202 + 203 +const SQL_UNBIND=2; 204 +const SQL_UNKNOWN_TYPE=0; 205 +const SQL_USER_NAME=47; 206 +const SQL_VARCHAR=12; 207 + 208 +static if (ODBCVER >= 0x0200) { 209 + const SQL_AT_ADD_COLUMN = 1; 210 + const SQL_AT_DROP_COLUMN = 2; 211 +} 212 + 213 +static if (ODBCVER >= 0x0201) { 214 + const SQL_OJ_LEFT = 1; 215 + const SQL_OJ_RIGHT = 2; 216 + const SQL_OJ_FULL = 4; 217 + const SQL_OJ_NESTED = 8; 218 + const SQL_OJ_NOT_ORDERED = 16; 219 + const SQL_OJ_INNER = 32; 220 + const SQL_OJ_ALL_COMPARISON_OPS = 64; 221 +} 222 + 223 +static if (ODBCVER >= 0x0300) { 224 + const SQL_AM_CONNECTION=1; 225 + const SQL_AM_NONE=0; 226 + const SQL_AM_STATEMENT=2; 227 + const SQL_API_SQLALLOCHANDLE=1001; 228 + const SQL_API_SQLBINDPARAM=1002; 229 + const SQL_API_SQLCLOSECURSOR=1003; 230 + const SQL_API_SQLCOLATTRIBUTE=6; 231 + const SQL_API_SQLCOPYDESC=1004; 232 + const SQL_API_SQLENDTRAN=1005; 233 + const SQL_API_SQLFETCHSCROLL=1021; 234 + const SQL_API_SQLFREEHANDLE=1006; 235 + const SQL_API_SQLGETCONNECTATTR=1007; 236 + const SQL_API_SQLGETDESCFIELD=1008; 237 + const SQL_API_SQLGETDESCREC=1009; 238 + const SQL_API_SQLGETDIAGFIELD=1010; 239 + const SQL_API_SQLGETDIAGREC=1011; 240 + const SQL_API_SQLGETENVATTR=1012; 241 + const SQL_API_SQLGETSTMTATTR=1014; 242 + const SQL_API_SQLSETCONNECTATTR=1016; 243 + const SQL_API_SQLSETDESCFIELD=1017; 244 + const SQL_API_SQLSETDESCREC=1018; 245 + const SQL_API_SQLSETENVATTR=1019; 246 + const SQL_API_SQLSETSTMTATTR=1020; 247 + const SQL_ARD_TYPE=-99; 248 + const SQL_AT_ADD_CONSTRAINT=8; 249 + const SQL_ATTR_APP_PARAM_DESC=10011; 250 + const SQL_ATTR_APP_ROW_DESC=10010; 251 + const SQL_ATTR_AUTO_IPD=10001; 252 + const SQL_ATTR_CURSOR_SCROLLABLE=-1; 253 + const SQL_ATTR_CURSOR_SENSITIVITY=-2; 254 + const SQL_ATTR_IMP_PARAM_DESC=10013; 255 + const SQL_ATTR_IMP_ROW_DESC=10012; 256 + const SQL_ATTR_METADATA_ID=10014; 257 + const SQL_ATTR_OUTPUT_NTS=10001; 258 + const SQL_CATALOG_NAME=10003; 259 + const SQL_CODE_DATE=1; 260 + const SQL_CODE_TIME=2; 261 + const SQL_CODE_TIMESTAMP=3; 262 + const SQL_COLLATION_SEQ=10004; 263 + const SQL_CURSOR_SENSITIVITY=10001; 264 + const SQL_DATE_LEN=10; 265 + const SQL_DATETIME=9; 266 + const SQL_DEFAULT=99; 267 + 268 + const SQL_DESC_ALLOC_AUTO=1; 269 + const SQL_DESC_ALLOC_USER=2; 270 + const SQL_DESC_ALLOC_TYPE=1099; 271 + const SQL_DESC_COUNT=1001; 272 + const SQL_DESC_TYPE=1002; 273 + const SQL_DESC_LENGTH=1003; 274 + const SQL_DESC_OCTET_LENGTH_PTR=1004; 275 + const SQL_DESC_PRECISION=1005; 276 + const SQL_DESC_SCALE=1006; 277 + const SQL_DESC_DATETIME_INTERVAL_CODE=1007; 278 + const SQL_DESC_NULLABLE=1008; 279 + const SQL_DESC_INDICATOR_PTR=1009; 280 + const SQL_DESC_DATA_PTR=1010; 281 + const SQL_DESC_NAME=1011; 282 + const SQL_DESC_UNNAMED=1012; 283 + const SQL_DESC_OCTET_LENGTH=1013; 284 + 285 + const SQL_DESCRIBE_PARAMETER=10002; 286 + 287 + const SQL_DIAG_ALTER_DOMAIN=3; 288 + const SQL_DIAG_ALTER_TABLE=4; 289 + const SQL_DIAG_CALL=7; 290 + const SQL_DIAG_CLASS_ORIGIN=8; 291 + const SQL_DIAG_CONNECTION_NAME=10; 292 + const SQL_DIAG_CREATE_ASSERTION=6; 293 + const SQL_DIAG_CREATE_CHARACTER_SET=8; 294 + const SQL_DIAG_CREATE_COLLATION=10; 295 + const SQL_DIAG_CREATE_DOMAIN=23; 296 + const SQL_DIAG_CREATE_INDEX=-1; 297 + const SQL_DIAG_CREATE_SCHEMA=64; 298 + const SQL_DIAG_CREATE_TABLE=77; 299 + const SQL_DIAG_CREATE_TRANSLATION=79; 300 + const SQL_DIAG_CREATE_VIEW=84; 301 + const SQL_DIAG_DELETE_WHERE=19; 302 + const SQL_DIAG_DROP_ASSERTION=24; 303 + const SQL_DIAG_DROP_CHARACTER_SET=25; 304 + const SQL_DIAG_DROP_COLLATION=26; 305 + const SQL_DIAG_DROP_DOMAIN=27; 306 + const SQL_DIAG_DROP_INDEX=(-2); 307 + const SQL_DIAG_DROP_SCHEMA=31; 308 + const SQL_DIAG_DROP_TABLE=32; 309 + const SQL_DIAG_DROP_TRANSLATION=33; 310 + const SQL_DIAG_DROP_VIEW=36; 311 + const SQL_DIAG_DYNAMIC_DELETE_CURSOR=38; 312 + const SQL_DIAG_DYNAMIC_FUNCTION=7; 313 + const SQL_DIAG_DYNAMIC_FUNCTION_CODE=12; 314 + const SQL_DIAG_DYNAMIC_UPDATE_CURSOR=81; 315 + const SQL_DIAG_GRANT=48; 316 + const SQL_DIAG_INSERT=50; 317 + const SQL_DIAG_MESSAGE_TEXT=6; 318 + const SQL_DIAG_NATIVE=5; 319 + const SQL_DIAG_NUMBER=2; 320 + const SQL_DIAG_RETURNCODE=1; 321 + const SQL_DIAG_REVOKE=59; 322 + const SQL_DIAG_ROW_COUNT=3; 323 + const SQL_DIAG_SELECT_CURSOR=85; 324 + const SQL_DIAG_SERVER_NAME=11; 325 + const SQL_DIAG_SQLSTATE=4; 326 + const SQL_DIAG_SUBCLASS_ORIGIN=9; 327 + const SQL_DIAG_UNKNOWN_STATEMENT=0; 328 + const SQL_DIAG_UPDATE_WHERE=82; 329 + 330 + const SQL_FALSE=0; 331 + const SQL_HANDLE_DBC=2; 332 + const SQL_HANDLE_DESC=4; 333 + const SQL_HANDLE_ENV=1; 334 + const SQL_HANDLE_STMT=3; 335 + const SQL_INSENSITIVE=1; 336 + const SQL_MAX_CONCURRENT_ACTIVITIES=1; 337 + const SQL_MAX_DRIVER_CONNECTIONS=0; 338 + const SQL_MAX_IDENTIFIER_LEN=10005; 339 + const SQL_MAXIMUM_CONCURRENT_ACTIVITIES=SQL_MAX_CONCURRENT_ACTIVITIES; 340 + const SQL_MAXIMUM_DRIVER_CONNECTIONS=SQL_MAX_DRIVER_CONNECTIONS; 341 + const SQL_MAXIMUM_IDENTIFIER_LENGTH=SQL_MAX_IDENTIFIER_LEN; 342 + const SQL_NAMED=0; 343 + const SQL_NO_DATA=100; 344 + const SQL_NONSCROLLABLE=0; 345 + const SQL_NULL_HANDLE=0L; 346 + const SQL_NULL_HDESC=0; 347 + const SQL_OJ_CAPABILITIES=115; 348 + const SQL_OUTER_JOIN_CAPABILITIES=SQL_OJ_CAPABILITIES; 349 + const SQL_PC_NON_PSEUDO=1; 350 + 351 + const SQL_PRED_NONE=0; 352 + const SQL_PRED_CHAR=1; 353 + const SQL_PRED_BASIC=2; 354 + 355 + const SQL_ROW_IDENTIFIER=1; 356 + const SQL_SCROLLABLE=1; 357 + const SQL_SENSITIVE=2; 358 + const SQL_TIME_LEN=8; 359 + const SQL_TIMESTAMP_LEN=19; 360 + const SQL_TRUE=1; 361 + const SQL_TYPE_DATE=91; 362 + const SQL_TYPE_TIME=92; 363 + const SQL_TYPE_TIMESTAMP=93; 364 + const SQL_UNNAMED=1; 365 + const SQL_UNSPECIFIED=0; 366 + const SQL_XOPEN_CLI_YEAR=10000; 367 +}//#endif /* ODBCVER >= 0x0300 */ 368 + 369 +extern (Windows) { 370 + deprecated { 371 + SQLRETURN SQLAllocConnect(SQLHENV, SQLHDBC*); 372 + SQLRETURN SQLAllocEnv(SQLHENV*); 373 + SQLRETURN SQLAllocStmt(SQLHDBC, SQLHSTMT*); 374 + SQLRETURN SQLError(SQLHENV, SQLHDBC, SQLHSTMT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 375 + SQLRETURN SQLFreeConnect(SQLHDBC); 376 + SQLRETURN SQLFreeEnv(SQLHENV); 377 + SQLRETURN SQLSetParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN*); 378 + SQLRETURN SQLGetConnectOption(SQLHDBC, SQLUSMALLINT, SQLPOINTER); 379 + SQLRETURN SQLGetStmtOption(SQLHSTMT, SQLUSMALLINT, SQLPOINTER); 380 + SQLRETURN SQLSetConnectOption(SQLHDBC, SQLUSMALLINT, SQLULEN); 381 + SQLRETURN SQLSetStmtOption(SQLHSTMT, SQLUSMALLINT, SQLROWCOUNT); 382 + } 383 + SQLRETURN SQLBindCol(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*); 384 + SQLRETURN SQLCancel(SQLHSTMT); 385 + SQLRETURN SQLConnect(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 386 + SQLRETURN SQLDescribeCol(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*); 387 + SQLRETURN SQLDisconnect(SQLHDBC); 388 + SQLRETURN SQLExecDirect(SQLHSTMT, SQLCHAR*, SQLINTEGER); 389 + SQLRETURN SQLExecute(SQLHSTMT); 390 + SQLRETURN SQLFetch(SQLHSTMT); 391 + SQLRETURN SQLFreeStmt(SQLHSTMT, SQLUSMALLINT); 392 + SQLRETURN SQLGetCursorName(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 393 + SQLRETURN SQLNumResultCols(SQLHSTMT, SQLSMALLINT*); 394 + SQLRETURN SQLPrepare(SQLHSTMT, SQLCHAR*, SQLINTEGER); 395 + SQLRETURN SQLRowCount(SQLHSTMT, SQLLEN*); 396 + SQLRETURN SQLSetCursorName(SQLHSTMT, SQLCHAR*, SQLSMALLINT); 397 + SQLRETURN SQLTransact(SQLHENV, SQLHDBC, SQLUSMALLINT); 398 + SQLRETURN SQLColumns(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 399 + SQLRETURN SQLGetData(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*); 400 + SQLRETURN SQLGetFunctions(SQLHDBC, SQLUSMALLINT, SQLUSMALLINT*); 401 + SQLRETURN SQLGetInfo(SQLHDBC, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*); 402 + SQLRETURN SQLGetTypeInfo(SQLHSTMT, SQLSMALLINT); 403 + SQLRETURN SQLParamData(SQLHSTMT, SQLPOINTER*); 404 + SQLRETURN SQLPutData(SQLHSTMT, SQLPOINTER, SQLLEN); 405 + SQLRETURN SQLSpecialColumns(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT); 406 + SQLRETURN SQLStatistics(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLUSMALLINT, SQLUSMALLINT); 407 + SQLRETURN SQLTables(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 408 + SQLRETURN SQLDataSources(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 409 + 410 + static if (ODBCVER >= 0x0300) { 411 + SQLRETURN SQLAllocHandle(SQLSMALLINT, SQLHANDLE, SQLHANDLE*); 412 + SQLRETURN SQLBindParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN*); 413 + SQLRETURN SQLCloseCursor(SQLHSTMT); 414 + SQLRETURN SQLColAttribute(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLPOINTER); 415 + SQLRETURN SQLCopyDesc(SQLHDESC, SQLHDESC); 416 + SQLRETURN SQLEndTran(SQLSMALLINT, SQLHANDLE, SQLSMALLINT); 417 + SQLRETURN SQLFetchScroll(SQLHSTMT, SQLSMALLINT, SQLROWOFFSET); 418 + SQLRETURN SQLFreeHandle(SQLSMALLINT, SQLHANDLE); 419 + SQLRETURN SQLGetConnectAttr(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 420 + SQLRETURN SQLGetDescField(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 421 + SQLRETURN SQLGetDescRec(SQLHDESC, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, 422 + SQLSMALLINT*, SQLSMALLINT*, SQLLEN*, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*); 423 + SQLRETURN SQLGetDiagField(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*); 424 + SQLRETURN SQLGetDiagRec(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 425 + SQLRETURN SQLGetEnvAttr(SQLHENV, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 426 + SQLRETURN SQLGetStmtAttr(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 427 + SQLRETURN SQLSetConnectAttr(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER); 428 + SQLRETURN SQLSetDescField(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER); 429 + SQLRETURN SQLSetDescRec(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLLEN, SQLSMALLINT, 430 + SQLSMALLINT, SQLPOINTER, SQLLEN*, SQLLEN*); 431 + SQLRETURN SQLSetEnvAttr(SQLHENV, SQLINTEGER, SQLPOINTER, SQLINTEGER); 432 + SQLRETURN SQLSetStmtAttr(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER); 433 + }/* (ODBCVER >= 0x0300) */ 434 +}

Added src/win32/sqlext.d version [4eaa68ebc36b3782]

1 +/***********************************************************************\ 2 +* sqlext.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.sqlext; 11 + 12 +/* Conversion notes: 13 + The MinGW file was a horrible mess. All of the #defines were sorted alphabetically, 14 + which is crazy. This file needs a lot of work. 15 + In MinGW, sqlext #includes sqlucode, but sqlucode #includes sqlext, 16 + creating a circular dependency! 17 +*/ 18 + 19 +public import win32.sql; 20 +private import win32.windef; 21 + 22 +const SQL_SPEC_MAJOR = 3; 23 +const SQL_SPEC_MINOR = 51; 24 +const char[] SQL_SPEC_STRING = "03.51"; 25 +const SQL_ACCESS_MODE = 101; 26 +const SQL_ACTIVE_CONNECTIONS = 0; 27 +const SQL_ACTIVE_STATEMENTS = 1; 28 + 29 +const SQL_DATE = 9; 30 +const SQL_TIME = 10; 31 +const SQL_SIGNED_OFFSET = -20; 32 +const SQL_TINYINT = -6; 33 +const SQL_TIMESTAMP = 11; 34 +const SQL_UNSIGNED_OFFSET = -22; 35 + 36 +const SQL_ADD = 4; 37 +const SQL_ALL_EXCEPT_LIKE = 2; 38 + 39 +const SQL_API_ALL_FUNCTIONS = 0; 40 +const SQL_API_SQLCOLATTRIBUTES = 6; 41 +const SQL_API_SQLDRIVERCONNECT = 41; 42 +const SQL_API_SQLBROWSECONNECT = 55; 43 +const SQL_API_SQLCOLUMNPRIVILEGES = 56; 44 +const SQL_API_SQLDESCRIBEPARAM = 58; 45 +const SQL_API_SQLEXTENDEDFETCH = 59; 46 +const SQL_API_SQLFOREIGNKEYS = 60; 47 +const SQL_API_SQLMORERESULTS = 61; 48 +const SQL_API_SQLNATIVESQL = 62; 49 +const SQL_API_SQLNUMPARAMS = 63; 50 +const SQL_API_SQLPARAMOPTIONS = 64; 51 +const SQL_API_SQLPRIMARYKEYS = 65; 52 +const SQL_API_SQLPROCEDURECOLUMNS = 66; 53 +const SQL_API_SQLPROCEDURES = 67; 54 +const SQL_API_SQLSETPOS = 68; 55 +const SQL_API_SQLSETSCROLLOPTIONS = 69; 56 +const SQL_API_SQLTABLEPRIVILEGES = 70; 57 +const SQL_API_SQLDRIVERS = 71; 58 +const SQL_API_SQLBINDPARAMETER = 72; 59 +const SQL_API_LOADBYORDINAL = 199; 60 + 61 +const SQL_ASYNC_ENABLE = 4; 62 +const SQL_ASYNC_ENABLE_OFF = 0UL; 63 +const SQL_ASYNC_ENABLE_ON = 1UL; 64 +const SQL_ASYNC_ENABLE_DEFAULT = SQL_ASYNC_ENABLE_OFF; 65 + 66 +const SQL_ATTR_CONNECTION_DEAD = 1209; 67 +const SQL_ATTR_READONLY = 0; 68 +const SQL_ATTR_READWRITE_UNKNOWN = 2; 69 +const SQL_ATTR_WRITE = 1; 70 + 71 +const SQL_AUTOCOMMIT = 102; 72 +const SQL_AUTOCOMMIT_OFF = 0UL; 73 +const SQL_AUTOCOMMIT_ON = 1UL; 74 +const SQL_AUTOCOMMIT_DEFAULT = SQL_AUTOCOMMIT_ON; 75 +const SQL_BEST_ROWID = 1; 76 +const SQL_BIGINT = -5; 77 +const SQL_BINARY = -2; 78 +const SQL_BIND_BY_COLUMN = 0UL; 79 +const SQL_BIND_TYPE = 5; 80 +const SQL_BIND_TYPE_DEFAULT = SQL_BIND_BY_COLUMN; 81 +const SQL_BIT = -7; 82 + 83 +const SQL_BOOKMARK_PERSISTENCE = 82; 84 + 85 +// for BOOKMARK_PERSISTENCE 86 +const SQL_BP_CLOSE = 1; 87 +const SQL_BP_DELETE = 2; 88 +const SQL_BP_DROP = 4; 89 +const SQL_BP_TRANSACTION = 8; 90 +const SQL_BP_UPDATE = 16; 91 +const SQL_BP_OTHER_HSTMT = 32; 92 +const SQL_BP_SCROLL = 64; 93 + 94 +const SQL_C_BINARY = SQL_BINARY; 95 +const SQL_C_BIT = SQL_BIT; 96 +const SQL_C_CHAR = SQL_CHAR; 97 +const SQL_C_DATE = SQL_DATE; 98 +const SQL_C_DOUBLE = SQL_DOUBLE; 99 +const SQL_C_FLOAT = SQL_REAL; 100 +const SQL_C_LONG = SQL_INTEGER; 101 +const SQL_C_SHORT = SQL_SMALLINT; 102 +const SQL_C_SLONG = SQL_C_LONG+SQL_SIGNED_OFFSET; 103 +const SQL_C_SSHORT = SQL_C_SHORT+SQL_SIGNED_OFFSET; 104 +const SQL_C_STINYINT = SQL_TINYINT+SQL_SIGNED_OFFSET; 105 +const SQL_C_TIME = SQL_TIME; 106 +const SQL_C_TIMESTAMP = SQL_TIMESTAMP; 107 +const SQL_C_TINYINT = SQL_TINYINT; 108 +const SQL_C_ULONG = SQL_C_LONG+SQL_UNSIGNED_OFFSET; 109 +const SQL_C_USHORT = SQL_C_SHORT+SQL_UNSIGNED_OFFSET; 110 +const SQL_C_UTINYINT = SQL_TINYINT+SQL_UNSIGNED_OFFSET; 111 +const SQL_C_BOOKMARK = SQL_C_ULONG; 112 +const SQL_C_DEFAULT = 99; 113 + 114 +const SQL_CASCADE = 0; 115 +const SQL_CB_NON_NULL = 1; 116 +const SQL_CB_NULL = 0; 117 +deprecated { 118 +const SQL_CC_CLOSE = SQL_CB_CLOSE;/* deprecated */ 119 +const SQL_CC_DELETE = SQL_CB_DELETE;/* deprecated */ 120 +const SQL_CC_PRESERVE = SQL_CB_PRESERVE;/* deprecated */ 121 +} 122 +const SQL_CD_FALSE = 0L; 123 +const SQL_CD_TRUE = 1L; 124 + 125 +const SQL_CN_ANY = 2; 126 +const SQL_CN_DIFFERENT = 1; 127 +const SQL_CN_NONE = 0; 128 + 129 +const SQL_COLUMN_ALIAS = 87; 130 + 131 +const SQL_COLUMN_COUNT = 0; 132 +const SQL_COLUMN_NAME = 1; 133 +const SQL_COLUMN_DISPLAY_SIZE = 6; 134 +const SQL_COLUMN_LABEL = 18; 135 +const SQL_COLUMN_LENGTH = 3; 136 +const SQL_COLUMN_MONEY = 9; 137 +const SQL_COLUMN_NULLABLE = 7; 138 +const SQL_COLUMN_OWNER_NAME = 16; 139 +const SQL_COLUMN_PRECISION = 4; 140 +const SQL_COLUMN_QUALIFIER_NAME = 17; 141 +const SQL_COLUMN_SCALE = 5; 142 +const SQL_COLUMN_UNSIGNED = 8; 143 +const SQL_COLUMN_UPDATABLE = 10; 144 +const SQL_COLUMN_AUTO_INCREMENT = 11; 145 +const SQL_COLUMN_CASE_SENSITIVE = 12; 146 +const SQL_COLUMN_SEARCHABLE = 13; 147 +const SQL_COLUMN_TYPE = 2; 148 +const SQL_COLUMN_TYPE_NAME = 14; 149 +const SQL_COLUMN_TABLE_NAME = 15; 150 + 151 +const SQL_CONCAT_NULL_BEHAVIOR = 22; 152 + 153 +const SQL_CONCUR_READ_ONLY = 1; 154 +const SQL_CONCUR_DEFAULT = SQL_CONCUR_READ_ONLY; 155 +const SQL_CONCUR_LOCK = 2; 156 +const SQL_CONCUR_ROWVER = 3; 157 +const SQL_CONCUR_TIMESTAMP = SQL_CONCUR_ROWVER;/* deprecated */ 158 +const SQL_CONCUR_VALUES = 4; 159 + 160 +const SQL_CONCURRENCY = 7; 161 +const SQL_CONVERT_BIGINT = 53; 162 +const SQL_CONVERT_BINARY = 54; 163 +const SQL_CONVERT_BIT = 55; 164 +const SQL_CONVERT_CHAR = 56; 165 +const SQL_CONVERT_DATE = 57; 166 +const SQL_CONVERT_DECIMAL = 58; 167 +const SQL_CONVERT_DOUBLE = 59; 168 +const SQL_CONVERT_FLOAT = 60; 169 +const SQL_CONVERT_FUNCTIONS = 48; 170 +const SQL_CONVERT_INTEGER = 61; 171 +const SQL_CONVERT_LONGVARBINARY = 71; 172 +const SQL_CONVERT_LONGVARCHAR = 62; 173 +const SQL_CONVERT_NUMERIC = 63; 174 +const SQL_CONVERT_REAL = 64; 175 +const SQL_CONVERT_SMALLINT = 65; 176 +const SQL_CONVERT_TIME = 66; 177 +const SQL_CONVERT_TIMESTAMP = 67; 178 +const SQL_CONVERT_TINYINT = 68; 179 +const SQL_CONVERT_VARBINARY = 69; 180 +const SQL_CONVERT_VARCHAR = 70; 181 +const SQL_CORRELATION_NAME = 74; 182 +const SQL_CR_CLOSE = SQL_CB_CLOSE;/* deprecated */ 183 +const SQL_CR_DELETE = SQL_CB_DELETE;/* deprecated */ 184 +const SQL_CR_PRESERVE = SQL_CB_PRESERVE;/* deprecated */ 185 + 186 +enum : ULONG { 187 + SQL_CUR_USE_IF_NEEDED = 0, 188 + SQL_CUR_USE_ODBC, 189 + SQL_CUR_USE_DRIVER, 190 + SQL_CUR_DEFAULT = SQL_CUR_USE_DRIVER 191 +} 192 + 193 +const SQL_CURRENT_QUALIFIER = 109; 194 +const SQL_CURSOR_DYNAMIC = 2UL; 195 +const SQL_CURSOR_FORWARD_ONLY = 0UL; 196 +const SQL_CURSOR_KEYSET_DRIVEN = 1UL; 197 +const SQL_CURSOR_ROLLBACK_BEHAVIOR = 24; 198 +const SQL_CURSOR_STATIC = 3UL; 199 +const SQL_CURSOR_TYPE = 6; 200 +const SQL_CURSOR_TYPE_DEFAULT = SQL_CURSOR_FORWARD_ONLY; 201 + 202 +const SQL_CV_CASCADED = 0x00000004L; 203 +const SQL_CV_CHECK_OPTION = 0x00000002L; 204 +const SQL_CV_CREATE_VIEW = 0x00000001L; 205 +const SQL_CV_LOCAL = 0x00000008L; 206 +const SQL_CVT_BIGINT = 0x00004000L; 207 +const SQL_CVT_BINARY = 0x00000400L; 208 +const SQL_CVT_BIT = 0x00001000L; 209 +const SQL_CVT_CHAR = 0x00000001L; 210 +const SQL_CVT_DATE = 0x00008000L; 211 +const SQL_CVT_DECIMAL = 0x00000004L; 212 +const SQL_CVT_DOUBLE = 0x00000080L; 213 +const SQL_CVT_FLOAT = 0x00000020L; 214 +const SQL_CVT_INTEGER = 0x00000008L; 215 +const SQL_CVT_LONGVARBINARY = 0x00040000L; 216 +const SQL_CVT_LONGVARCHAR = 0x00000200L; 217 +const SQL_CVT_NUMERIC = 0x00000002L; 218 +const SQL_CVT_REAL = 0x00000040L; 219 +const SQL_CVT_SMALLINT = 0x00000010L; 220 +const SQL_CVT_TIME = 0x00010000L; 221 +const SQL_CVT_TIMESTAMP = 0x00020000L; 222 +const SQL_CVT_TINYINT = 0x00002000L; 223 +const SQL_CVT_VARBINARY = 0x00000800L; 224 +const SQL_CVT_VARCHAR = 0x00000100L; 225 +const SQL_DATABASE_NAME = 16;/* deprecated */ 226 + 227 +const SQL_DEFAULT_PARAM = -5; 228 +const SQL_DELETE = 3; 229 + 230 +const SQL_DRIVER_COMPLETE = 1; 231 +const SQL_DRIVER_COMPLETE_REQUIRED = 3; 232 +const SQL_DRIVER_HDBC = 3; 233 +const SQL_DRIVER_HENV = 4; 234 +const SQL_DRIVER_HLIB = 76; 235 +const SQL_DRIVER_HSTMT = 5; 236 +const SQL_DRIVER_NAME = 6; 237 +const SQL_DRIVER_NOPROMPT = 0; 238 +const SQL_DRIVER_ODBC_VER = 77; 239 +const SQL_DRIVER_PROMPT = 2; 240 +const SQL_DRIVER_VER = 7; 241 + 242 +const SQL_DTC_ENLIST_EXPENSIVE = 1; 243 +const SQL_DTC_UNENLIST_EXPENSIVE = 2; 244 +const SQL_DTC_TRANSITION_COST = 1750; 245 +const SQL_ENSURE = 1; 246 +const SQL_ENTIRE_ROWSET = 0; 247 +const SQL_EXPRESSIONS_IN_ORDERBY = 27; 248 +const SQL_FD_FETCH_BOOKMARK = 128; 249 +const SQL_FD_FETCH_PREV = SQL_FD_FETCH_PRIOR;/* deprecated */ 250 +const SQL_FD_FETCH_RESUME = 64; 251 +const SQL_FETCH_BOOKMARK = 8; 252 +const SQL_FETCH_PREV = SQL_FETCH_PRIOR;/* deprecated */ 253 +const SQL_FETCH_RESUME = 7;/* deprecated */ 254 + 255 +const SQL_FILE_NOT_SUPPORTED = 0x0000; 256 +const SQL_FILE_TABLE = 0x0001; 257 +const SQL_FILE_QUALIFIER = 0x0002; 258 +const SQL_FILE_CATALOG = SQL_FILE_QUALIFIER; 259 +const SQL_FILE_USAGE = 84; 260 + 261 +const SQL_FN_CVT_CONVERT = 0x00000001L; 262 +const SQL_FN_NUM_ABS = 0x00000001L; 263 +const SQL_FN_NUM_ACOS = 0x00000002L; 264 +const SQL_FN_NUM_ASIN = 0x00000004L; 265 +const SQL_FN_NUM_ATAN = 0x00000008L; 266 +const SQL_FN_NUM_ATAN2 = 0x00000010L; 267 +const SQL_FN_NUM_CEILING = 0x00000020L; 268 +const SQL_FN_NUM_COS = 0x00000040L; 269 +const SQL_FN_NUM_COT = 0x00000080L; 270 +const SQL_FN_NUM_DEGREES = 0x00040000L; 271 +const SQL_FN_NUM_EXP = 0x00000100L; 272 +const SQL_FN_NUM_FLOOR = 0x00000200L; 273 +const SQL_FN_NUM_LOG = 0x00000400L; 274 +const SQL_FN_NUM_LOG10 = 0x00080000L; 275 +const SQL_FN_NUM_MOD = 0x00000800L; 276 +const SQL_FN_NUM_PI = 0x00010000L; 277 +const SQL_FN_NUM_POWER = 0x00100000L; 278 +const SQL_FN_NUM_RADIANS = 0x00200000L; 279 +const SQL_FN_NUM_RAND = 0x00020000L; 280 +const SQL_FN_NUM_ROUND = 0x00400000L; 281 +const SQL_FN_NUM_SIGN = 0x00001000L; 282 +const SQL_FN_NUM_SIN = 0x00002000L; 283 +const SQL_FN_NUM_SQRT = 0x00004000L; 284 +const SQL_FN_NUM_TAN = 0x00008000L; 285 +const SQL_FN_NUM_TRUNCATE = 0x00800000L; 286 +const SQL_FN_STR_ASCII = 0x00002000L; 287 +const SQL_FN_STR_CHAR = 0x00004000L; 288 +const SQL_FN_STR_CONCAT = 0x00000001L; 289 +const SQL_FN_STR_DIFFERENCE = 0x00008000L; 290 +const SQL_FN_STR_INSERT = 0x00000002L; 291 +const SQL_FN_STR_LCASE = 0x00000040L; 292 +const SQL_FN_STR_LEFT = 0x00000004L; 293 +const SQL_FN_STR_LENGTH = 0x00000010L; 294 +const SQL_FN_STR_LOCATE = 0x00000020L; 295 +const SQL_FN_STR_LOCATE_2 = 0x00010000L; 296 +const SQL_FN_STR_LTRIM = 0x00000008L; 297 +const SQL_FN_STR_REPEAT = 0x00000080L; 298 +const SQL_FN_STR_REPLACE = 0x00000100L; 299 +const SQL_FN_STR_RIGHT = 0x00000200L; 300 +const SQL_FN_STR_RTRIM = 0x00000400L; 301 +const SQL_FN_STR_SOUNDEX = 0x00020000L; 302 +const SQL_FN_STR_SPACE = 0x00040000L; 303 +const SQL_FN_STR_SUBSTRING = 0x00000800L; 304 +const SQL_FN_STR_UCASE = 0x00001000L; 305 +const SQL_FN_SYS_DBNAME = 0x00000002L; 306 +const SQL_FN_SYS_IFNULL = 0x00000004L; 307 +const SQL_FN_SYS_USERNAME = 0x00000001L; 308 +const SQL_FN_TD_CURDATE = 0x00000002L; 309 +const SQL_FN_TD_CURTIME = 0x00000200L; 310 +const SQL_FN_TD_DAYNAME = 0x00008000L; 311 +const SQL_FN_TD_DAYOFMONTH = 0x00000004L; 312 +const SQL_FN_TD_DAYOFWEEK = 0x00000008L; 313 +const SQL_FN_TD_DAYOFYEAR = 0x00000010L; 314 +const SQL_FN_TD_HOUR = 0x00000400L; 315 +const SQL_FN_TD_MINUTE = 0x00000800L; 316 +const SQL_FN_TD_MONTH = 0x00000020L; 317 +const SQL_FN_TD_MONTHNAME = 0x00010000L; 318 +const SQL_FN_TD_NOW = 0x00000001L; 319 +const SQL_FN_TD_QUARTER = 0x00000040L; 320 +const SQL_FN_TD_SECOND = 0x00001000L; 321 +const SQL_FN_TD_TIMESTAMPADD = 0x00002000L; 322 +const SQL_FN_TD_TIMESTAMPDIFF = 0x00004000L; 323 +const SQL_FN_TD_WEEK = 0x00000080L; 324 +const SQL_FN_TD_YEAR = 0x00000100L; 325 +const SQL_FN_TSI_DAY = 0x00000010L; 326 +const SQL_FN_TSI_FRAC_SECOND = 0x00000001L; 327 +const SQL_FN_TSI_HOUR = 0x00000008L; 328 +const SQL_FN_TSI_MINUTE = 0x00000004L; 329 +const SQL_FN_TSI_MONTH = 0x00000040L; 330 +const SQL_FN_TSI_QUARTER = 0x00000080L; 331 +const SQL_FN_TSI_SECOND = 0x00000002L; 332 +const SQL_FN_TSI_WEEK = 0x00000020L; 333 +const SQL_FN_TSI_YEAR = 0x00000100L; 334 +const SQL_GB_GROUP_BY_CONTAINS_SELECT = 2; 335 +const SQL_GB_GROUP_BY_EQUALS_SELECT = 1; 336 +const SQL_GB_NO_RELATION = 3; 337 +const SQL_GB_NOT_SUPPORTED = 0; 338 +const SQL_GD_BLOCK = 4; 339 +const SQL_GD_BOUND = 8; 340 +const SQL_GET_BOOKMARK = 13; 341 +const SQL_GROUP_BY = 88; 342 +const SQL_IGNORE = -6; 343 +const SQL_INFO_FIRST = 0; 344 +const SQL_KEYSET_SIZE = 8; 345 +const SQL_KEYSET_SIZE_DEFAULT = 0UL; 346 +const SQL_KEYWORDS = 89; 347 +const SQL_LCK_EXCLUSIVE = 2; 348 +const SQL_LCK_NO_CHANGE = 1; 349 +const SQL_LCK_UNLOCK = 4; 350 + 351 +const SQL_LEN_BINARY_ATTR_OFFSET = -100; 352 +const SQL_LEN_DATA_AT_EXEC_OFFSET = -100; 353 +//MACRO #define SQL_LEN_BINARY_ATTR(length) (-(length)+SQL_LEN_BINARY_ATTR_OFFSET) 354 +//MACRO #define SQL_LEN_DATA_AT_EXEC(length) (-(length)+SQL_LEN_DATA_AT_EXEC_OFFSET) 355 + 356 +const SQL_LIKE_ESCAPE_CLAUSE = 113; 357 +const SQL_LIKE_ONLY = 1; 358 +const SQL_LOCK_EXCLUSIVE = 1; 359 +const SQL_LOCK_NO_CHANGE = 0; 360 +const SQL_LOCK_TYPES = 78; 361 +const SQL_LOCK_UNLOCK = 2; 362 +const SQL_LOGIN_TIMEOUT = 103; 363 +const SQL_LOGIN_TIMEOUT_DEFAULT = 15UL; 364 +const SQL_LONGVARBINARY = -4; 365 +const SQL_LONGVARCHAR = -1; 366 +const SQL_MAX_BINARY_LITERAL_LEN = 112; 367 +const SQL_MAX_CHAR_LITERAL_LEN = 108; 368 +const SQL_MAX_DSN_LENGTH = 32; 369 +const SQL_MAX_LENGTH = 3; 370 +const SQL_MAX_LENGTH_DEFAULT = 0UL; 371 +const SQL_MAX_OPTION_STRING_LENGTH = 256; 372 +const SQL_MAX_OWNER_NAME_LEN = 32; 373 +const SQL_MAX_PROCEDURE_NAME_LEN = 33; 374 +const SQL_MAX_QUALIFIER_NAME_LEN = 34; 375 +const SQL_MAX_ROW_SIZE_INCLUDES_LONG = 103; 376 +const SQL_MAX_ROWS = 1; 377 +const SQL_MAX_ROWS_DEFAULT = 0UL; 378 + 379 +const SQL_MODE_READ_WRITE = 0UL; 380 +const SQL_MODE_READ_ONLY = 1UL; 381 +const SQL_MODE_DEFAULT = SQL_MODE_READ_WRITE; 382 + 383 +const SQL_MULT_RESULT_SETS = 36; 384 +const SQL_MULTIPLE_ACTIVE_TXN = 37; 385 +const SQL_NC_END = 0x0004; 386 +const SQL_NC_START = 0x0002; 387 +const SQL_NEED_LONG_DATA_LEN = 111; 388 +const SQL_NNC_NON_NULL = 0x0001; 389 +const SQL_NNC_NULL = 0x0000; 390 +const SQL_NO_TOTAL = -4; 391 +const SQL_NON_NULLABLE_COLUMNS = 75; 392 + 393 +const SQL_NOSCAN_OFF = 0UL; 394 +const SQL_NOSCAN_ON = 1UL; 395 +const SQL_NOSCAN = 2; 396 +const SQL_NOSCAN_DEFAULT = SQL_NOSCAN_OFF; 397 + 398 +const SQL_NUMERIC_FUNCTIONS = 49; 399 +const SQL_OAC_LEVEL1 = 0x0001; 400 +const SQL_OAC_LEVEL2 = 0x0002; 401 +const SQL_OAC_NONE = 0x0000; 402 +const SQL_ODBC_API_CONFORMANCE = 9; 403 +const SQL_ODBC_CURSORS = 110; 404 +const SQL_ODBC_SAG_CLI_CONFORMANCE = 12; 405 +const SQL_ODBC_SQL_CONFORMANCE = 15; 406 +const SQL_ODBC_SQL_OPT_IEF = 73; 407 +const SQL_ODBC_VER = 10; 408 +const SQL_OPT_TRACE = 104; 409 + 410 +const SQL_OPT_TRACE_FILE_DEFAULT = "\\SQL.LOG"; 411 +const SQL_OPT_TRACE_OFF = 0UL; 412 +const SQL_OPT_TRACE_DEFAULT = SQL_OPT_TRACE_OFF; 413 +const SQL_OPT_TRACE_ON = 1UL; 414 + 415 +const SQL_OPT_TRACEFILE = 105; 416 +const SQL_OSC_CORE = 1; 417 +const SQL_OSC_EXTENDED = 2; 418 +const SQL_OSC_MINIMUM = 0; 419 +const SQL_OSCC_COMPLIANT = 1; 420 +const SQL_OSCC_NOT_COMPLIANT = 0; 421 +const SQL_OU_DML_STATEMENTS = 1; 422 +const SQL_OU_INDEX_DEFINITION = 8; 423 +const SQL_OU_PRIVILEGE_DEFINITION = 16; 424 +const SQL_OU_PROCEDURE_INVOCATION = 2; 425 +const SQL_OU_TABLE_DEFINITION = 4; 426 +const SQL_OUTER_JOINS = 38; 427 +const SQL_OWNER_TERM = 39; 428 +const SQL_OWNER_USAGE = 91; 429 +const SQL_PACKET_SIZE = 112; 430 +const SQL_PARAM_INPUT = 1; 431 +const SQL_PARAM_INPUT_OUTPUT = 2; 432 +const SQL_PARAM_OUTPUT = 4; 433 +const SQL_PARAM_TYPE_DEFAULT = SQL_PARAM_INPUT_OUTPUT; 434 +const SQL_PARAM_TYPE_UNKNOWN = 0; 435 +const SQL_PC_NOT_PSEUDO = 1; 436 +const SQL_POS_ADD = 16; 437 +const SQL_POS_DELETE = 8; 438 +const SQL_POS_OPERATIONS = 79; 439 +const SQL_POS_POSITION = 1; 440 +const SQL_POS_REFRESH = 2; 441 +const SQL_POS_UPDATE = 4; 442 +const SQL_POSITION = 0; 443 +const SQL_POSITIONED_STATEMENTS = 80; 444 +const SQL_PROCEDURE_TERM = 40; 445 +const SQL_PROCEDURES = 21; 446 +const SQL_PS_POSITIONED_DELETE = 1; 447 +const SQL_PS_POSITIONED_UPDATE = 2; 448 +const SQL_PS_SELECT_FOR_UPDATE = 4; 449 +const SQL_PT_FUNCTION = 2; 450 +const SQL_PT_PROCEDURE = 1; 451 +const SQL_PT_UNKNOWN = 0; 452 +const SQL_QL_END = 0x0002; 453 +const SQL_QL_START = 0x0001; 454 +const SQL_QU_DML_STATEMENTS = 1; 455 +const SQL_QU_INDEX_DEFINITION = 8; 456 +const SQL_QU_PRIVILEGE_DEFINITION = 16; 457 +const SQL_QU_PROCEDURE_INVOCATION = 2; 458 +const SQL_QU_TABLE_DEFINITION = 4; 459 +const SQL_QUALIFIER_LOCATION = 114; 460 +const SQL_QUALIFIER_NAME_SEPARATOR = 41; 461 +const SQL_QUALIFIER_TERM = 42; 462 +const SQL_QUALIFIER_USAGE = 92; 463 +const SQL_QUERY_TIMEOUT = 0; 464 +const SQL_QUERY_TIMEOUT_DEFAULT = 0UL; 465 +const SQL_QUICK = 0; 466 +const SQL_QUIET_MODE = 111; 467 +const SQL_QUOTED_IDENTIFIER_CASE = 93; 468 + 469 +const SQL_RD_OFF = 0UL; 470 +const SQL_RD_ON = 1UL; 471 +const SQL_RD_DEFAULT = SQL_RD_ON; 472 + 473 +const SQL_REFRESH = 1; 474 +const SQL_RESTRICT = 1; 475 +const SQL_RESULT_COL = 3; 476 +const SQL_RETRIEVE_DATA = 11; 477 +const SQL_RETURN_VALUE = 5; 478 +const SQL_ROW_ADDED = 4; 479 +const SQL_ROW_DELETED = 1; 480 +const SQL_ROW_ERROR = 5; 481 +const SQL_ROW_NOROW = 3; 482 +const SQL_ROW_NUMBER = 14; 483 +const SQL_ROW_SUCCESS = 0; 484 +const SQL_ROW_UPDATED = 2; 485 +const SQL_ROW_UPDATES = 11; 486 +const SQL_ROWSET_SIZE = 9; 487 +const SQL_ROWSET_SIZE_DEFAULT = 1UL; 488 +const SQL_ROWVER = 2; 489 +const SQL_SC_NON_UNIQUE = 0UL; 490 +const SQL_SC_TRY_UNIQUE = 1UL; 491 +const SQL_SC_UNIQUE = 2UL; 492 +const SQL_SCCO_OPT_TIMESTAMP = SQL_SCCO_OPT_ROWVER;/* deprecated */ 493 +const SQL_SCROLL_DYNAMIC = -2L;/* deprecated */ 494 +const SQL_SCROLL_FORWARD_ONLY = 0L;/* deprecated */ 495 +const SQL_SCROLL_KEYSET_DRIVEN = -1L;/* deprecated */ 496 +const SQL_SCROLL_OPTIONS = 44; 497 +const SQL_SCROLL_STATIC = -3L;/* deprecated */ 498 +const SQL_SEARCHABLE = 3; 499 +const SQL_SET_NULL = 2; 500 +const SQL_SETPARAM_VALUE_MAX = -1L; 501 +const SQL_SETPOS_MAX_LOCK_VALUE = SQL_LOCK_UNLOCK; 502 +const SQL_SETPOS_MAX_OPTION_VALUE = SQL_ADD; 503 +const SQL_SIMULATE_CURSOR = 10; 504 +const SQL_SO_DYNAMIC = 4; 505 +const SQL_SO_FORWARD_ONLY = 1; 506 +const SQL_SO_KEYSET_DRIVEN = 2; 507 +const SQL_SO_MIXED = 8; 508 +const SQL_SO_STATIC = 16; 509 +const SQL_SQ_COMPARISON = 1; 510 +const SQL_SQ_CORRELATED_SUBQUERIES = 16; 511 +const SQL_SQ_EXISTS = 2; 512 +const SQL_SQ_IN = 4; 513 +const SQL_SQ_QUANTIFIED = 8; 514 +const SQL_SQLSTATE_SIZE = 5; 515 +const SQL_SS_ADDITIONS = 1; 516 +const SQL_SS_DELETIONS = 2; 517 +const SQL_SS_UPDATES = 4; 518 +const SQL_STATIC_SENSITIVITY = 83; 519 +const SQL_STRING_FUNCTIONS = 50; 520 +const SQL_SUBQUERIES = 95; 521 +const SQL_SYSTEM_FUNCTIONS = 51; 522 +const SQL_TABLE_STAT = 0; 523 +const SQL_TABLE_TERM = 45; 524 +const SQL_TIMEDATE_ADD_INTERVALS = 109; 525 +const SQL_TIMEDATE_DIFF_INTERVALS = 110; 526 +const SQL_TIMEDATE_FUNCTIONS = 52; 527 +const SQL_TRANSLATE_DLL = 106; 528 +const SQL_TRANSLATE_OPTION = 107; 529 +const SQL_TXN_ISOLATION = 108; 530 +const SQL_TXN_VERSIONING = 16; 531 +const SQL_TYPE_NULL = 0; 532 +const SQL_U_UNION = 1; 533 +const SQL_U_UNION_ALL = 2; 534 + 535 +const SQL_UB_OFF = 0UL; 536 +const SQL_UB_DEFAULT = SQL_UB_OFF; 537 +const SQL_UB_ON = 01UL; 538 + 539 +const SQL_UNION = 96; 540 +const SQL_UNSEARCHABLE = 0; 541 +const SQL_UPDATE = 2; 542 +const SQL_USE_BOOKMARKS = 12; 543 +const SQL_VARBINARY = -3; 544 + 545 +const SQL_COLATT_OPT_MAX = SQL_COLUMN_LABEL; 546 +const SQL_COLATT_OPT_MIN = SQL_COLUMN_COUNT; 547 +const SQL_PRED_SEARCHABLE = SQL_SEARCHABLE; 548 + 549 +//MACRO #define SQL_POSITION_TO(s, r) SQLSetPos(s, r, SQL_POSITION, SQL_LOCK_NO_CHANGE) 550 + 551 +//MACRO #define SQL_LOCK_RECORD(s, r, l) SQLSetPos(s, r, SQL_POSITION, l) 552 + 553 +//MACRO #define SQL_REFRESH_RECORD(s, r, l) SQLSetPos(s, r, SQL_REFRESH, l) 554 + 555 +//MACRO #define SQL_UPDATE_RECORD(s, r) SQLSetPos(s, r, SQL_UPDATE, SQL_LOCK_NO_CHANGE) 556 + 557 +//MACRO #define SQL_DELETE_RECORD(s, r) SQLSetPos(s, r, SQL_DELETE, SQL_LOCK_NO_CHANGE) 558 + 559 +//MACRO #define SQL_ADD_RECORD(s, r) SQLSetPos(s, r, SQL_ADD, SQL_LOCK_NO_CHANGE) 560 + 561 + 562 +static if (ODBCVER < 0x0300) { 563 + const SQL_CONNECT_OPT_DRVR_START = 1000; 564 + const SQL_CONN_OPT_MAX = SQL_PACKET_SIZE; 565 + const SQL_CONN_OPT_MIN = SQL_ACCESS_MODE; 566 + const SQL_STMT_OPT_MAX = SQL_ROW_NUMBER; 567 + const SQL_STMT_OPT_MIN = SQL_QUERY_TIMEOUT; 568 + const SQL_TYPE_DRIVER_START = SQL_INTERVAL_YEAR; 569 + const SQL_TYPE_DRIVER_END = SQL_UNICODE_LONGVARCHAR; 570 + const SQL_TYPE_MIN = SQL_BIT; 571 + const SQL_TYPE_MAX = SQL_VARCHAR; 572 +} 573 + 574 +static if (ODBCVER < 0x0300) { 575 + const SQL_NO_DATA_FOUND = 100; 576 + const SQL_INTERVAL_YEAR = -80; 577 + const SQL_INTERVAL_MONTH = -81; 578 + const SQL_INTERVAL_YEAR_TO_MONTH = -82; 579 + const SQL_INTERVAL_DAY = -83; 580 + const SQL_INTERVAL_HOUR = -84; 581 + const SQL_INTERVAL_MINUTE = -85; 582 + const SQL_INTERVAL_SECOND = -86; 583 + const SQL_INTERVAL_DAY_TO_HOUR = -87; 584 + const SQL_INTERVAL_DAY_TO_MINUTE = -88; 585 + const SQL_INTERVAL_DAY_TO_SECOND = -89; 586 + const SQL_INTERVAL_HOUR_TO_MINUTE = -90; 587 + const SQL_INTERVAL_HOUR_TO_SECOND = -91; 588 + const SQL_INTERVAL_MINUTE_TO_SECOND = -92; 589 +} else { 590 + const SQL_NO_DATA_FOUND = SQL_NO_DATA; 591 + const SQL_CODE_YEAR = 1; 592 + const SQL_CODE_MONTH = 2; 593 + const SQL_CODE_DAY = 3; 594 + const SQL_CODE_HOUR = 4; 595 + const SQL_CODE_MINUTE = 5; 596 + const SQL_CODE_SECOND = 6; 597 + const SQL_CODE_YEAR_TO_MONTH = 7; 598 + const SQL_CODE_DAY_TO_HOUR = 8; 599 + const SQL_CODE_DAY_TO_MINUTE = 9; 600 + const SQL_CODE_DAY_TO_SECOND = 10; 601 + const SQL_CODE_HOUR_TO_MINUTE = 11; 602 + const SQL_CODE_HOUR_TO_SECOND = 12; 603 + const SQL_CODE_MINUTE_TO_SECOND = 13; 604 + const SQL_INTERVAL_YEAR = 100 + SQL_CODE_YEAR; 605 + const SQL_INTERVAL_MONTH = 100 + SQL_CODE_MONTH; 606 + const SQL_INTERVAL_DAY = 100 + SQL_CODE_DAY; 607 + const SQL_INTERVAL_HOUR = 100 + SQL_CODE_HOUR; 608 + const SQL_INTERVAL_MINUTE = 100 + SQL_CODE_MINUTE; 609 + const SQL_INTERVAL_SECOND = 100 + SQL_CODE_SECOND; 610 + const SQL_INTERVAL_YEAR_TO_MONTH = 100 + SQL_CODE_YEAR_TO_MONTH; 611 + const SQL_INTERVAL_DAY_TO_HOUR = 100 + SQL_CODE_DAY_TO_HOUR; 612 + const SQL_INTERVAL_DAY_TO_MINUTE = 100 + SQL_CODE_DAY_TO_MINUTE; 613 + const SQL_INTERVAL_DAY_TO_SECOND = 100 + SQL_CODE_DAY_TO_SECOND; 614 + const SQL_INTERVAL_HOUR_TO_MINUTE = 100 + SQL_CODE_HOUR_TO_MINUTE; 615 + const SQL_INTERVAL_HOUR_TO_SECOND = 100 + SQL_CODE_HOUR_TO_SECOND; 616 + const SQL_INTERVAL_MINUTE_TO_SECOND = 100 + SQL_CODE_MINUTE_TO_SECOND; 617 +}//[Yes] #endif 618 + 619 + 620 +static if ((ODBCVER >= 0x0201) && (ODBCVER < 0x0300)) { 621 + const SQL_OJ_CAPABILITIES = 65003; 622 +} 623 + 624 +static if (ODBCVER >= 0x0250) { 625 + const SQL_NO_ACTION = 3; 626 + const SQL_SET_DEFAULT = 4; 627 +} 628 + 629 +static if (ODBCVER >= 0x0300) { 630 + const SQL_ACTIVE_ENVIRONMENTS = 116; 631 + const SQL_AD_ADD_CONSTRAINT_DEFERRABLE = 0x00000080L; 632 + const SQL_AD_ADD_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L; 633 + const SQL_AD_ADD_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L; 634 + const SQL_AD_ADD_CONSTRAINT_NON_DEFERRABLE = 0x00000100L; 635 + const SQL_AD_ADD_DOMAIN_CONSTRAINT = 0x00000002L; 636 + const SQL_AD_ADD_DOMAIN_DEFAULT = 0x00000008L; 637 + const SQL_AD_CONSTRAINT_NAME_DEFINITION = 0x00000001L; 638 + const SQL_AD_DROP_DOMAIN_CONSTRAINT = 0x00000004L; 639 + const SQL_AD_DROP_DOMAIN_DEFAULT = 0x00000010L; 640 + const SQL_AF_ALL = 0x00000040L; 641 + const SQL_AF_AVG = 0x00000001L; 642 + const SQL_AF_COUNT = 0x00000002L; 643 + const SQL_AF_DISTINCT = 0x00000020L; 644 + const SQL_AF_MAX = 0x00000004L; 645 + const SQL_AF_MIN = 0x00000008L; 646 + const SQL_AF_SUM = 0x00000010L; 647 + const SQL_AGGREGATE_FUNCTIONS = 169; 648 + const SQL_ALL_CATALOGS = "%"; 649 + const SQL_ALL_SCHEMAS = "%"; 650 + const SQL_ALL_TABLE_TYPES = "%"; 651 + const SQL_ALTER_DOMAIN = 117; 652 + const SQL_AM_CONNECTION = 1; 653 + const SQL_AM_NONE = 0; 654 + const SQL_AM_STATEMENT = 2; 655 + const SQL_API_ODBC3_ALL_FUNCTIONS = 999; 656 + const SQL_API_ODBC3_ALL_FUNCTIONS_SIZE = 250; 657 + const SQL_API_SQLALLOCHANDLESTD = 73; 658 + const SQL_API_SQLBULKOPERATIONS = 24; 659 + const SQL_ASYNC_MODE = 10021; 660 + const SQL_AT_ADD_COLUMN_COLLATION = 0x00000080L; 661 + const SQL_AT_ADD_COLUMN_DEFAULT = 0x00000040L; 662 + const SQL_AT_ADD_COLUMN_SINGLE = 0x00000020L; 663 + const SQL_AT_ADD_TABLE_CONSTRAINT = 0x00001000L; 664 + const SQL_AT_CONSTRAINT_DEFERRABLE = 0x00040000L; 665 + const SQL_AT_CONSTRAINT_INITIALLY_DEFERRED = 0x00010000L; 666 + const SQL_AT_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00020000L; 667 + const SQL_AT_CONSTRAINT_NAME_DEFINITION = 0x00008000L; 668 + const SQL_AT_CONSTRAINT_NON_DEFERRABLE = 0x00080000L; 669 + const SQL_AT_DROP_COLUMN_CASCADE = 0x00000400L; 670 + const SQL_AT_DROP_COLUMN_DEFAULT = 0x00000200L; 671 + const SQL_AT_DROP_COLUMN_RESTRICT = 0x00000800L; 672 + const SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE = 0x00002000L; 673 + const SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT = 0x00004000L; 674 + const SQL_AT_SET_COLUMN_DEFAULT = 0x00000100L; 675 + const SQL_ATTR_ACCESS_MODE = SQL_ACCESS_MODE; 676 + const SQL_ATTR_ASYNC_ENABLE = 4; 677 + const SQL_ATTR_AUTOCOMMIT = SQL_AUTOCOMMIT; 678 + const SQL_ATTR_CONCURRENCY = SQL_CONCURRENCY; 679 + const SQL_ATTR_CONNECTION_POOLING = 201; 680 + const SQL_ATTR_CONNECTION_TIMEOUT = 113; 681 + const SQL_ATTR_CP_MATCH = 202; 682 + const SQL_ATTR_CURRENT_CATALOG = SQL_CURRENT_QUALIFIER; 683 + const SQL_ATTR_CURSOR_TYPE = SQL_CURSOR_TYPE; 684 + const SQL_ATTR_DISCONNECT_BEHAVIOR = 114; 685 + const SQL_ATTR_ENABLE_AUTO_IPD = 15; 686 + const SQL_ATTR_ENLIST_IN_DTC = 1207; 687 + const SQL_ATTR_ENLIST_IN_XA = 1208; 688 + const SQL_ATTR_FETCH_BOOKMARK_PTR = 16; 689 + const SQL_ATTR_KEYSET_SIZE = SQL_KEYSET_SIZE; 690 + const SQL_ATTR_LOGIN_TIMEOUT = SQL_LOGIN_TIMEOUT; 691 + const SQL_ATTR_MAX_LENGTH = SQL_MAX_LENGTH; 692 + const SQL_ATTR_MAX_ROWS = SQL_MAX_ROWS; 693 + const SQL_ATTR_NOSCAN = SQL_NOSCAN; 694 + const SQL_ATTR_ODBC_CURSORS = SQL_ODBC_CURSORS; 695 + const SQL_ATTR_ODBC_VERSION = 200; 696 + const SQL_ATTR_PACKET_SIZE = SQL_PACKET_SIZE; 697 + const SQL_ATTR_PARAM_BIND_OFFSET_PTR = 17; 698 + const SQL_ATTR_PARAM_BIND_TYPE = 18; 699 + const SQL_ATTR_PARAM_OPERATION_PTR = 19; 700 + const SQL_ATTR_PARAM_STATUS_PTR = 20; 701 + const SQL_ATTR_PARAMS_PROCESSED_PTR = 21; 702 + const SQL_ATTR_PARAMSET_SIZE = 22; 703 + const SQL_ATTR_QUERY_TIMEOUT = SQL_QUERY_TIMEOUT; 704 + const SQL_ATTR_QUIET_MODE = SQL_QUIET_MODE; 705 + const SQL_ATTR_RETRIEVE_DATA = SQL_RETRIEVE_DATA; 706 + const SQL_ATTR_ROW_ARRAY_SIZE = 27; 707 + const SQL_ATTR_ROW_BIND_OFFSET_PTR = 23; 708 + const SQL_ATTR_ROW_BIND_TYPE = SQL_BIND_TYPE; 709 + const SQL_ATTR_ROW_NUMBER = SQL_ROW_NUMBER; 710 + const SQL_ATTR_ROW_OPERATION_PTR = 24; 711 + const SQL_ATTR_ROW_STATUS_PTR = 25; 712 + const SQL_ATTR_ROWS_FETCHED_PTR = 26; 713 + const SQL_ATTR_SIMULATE_CURSOR = SQL_SIMULATE_CURSOR; 714 + const SQL_ATTR_TRACE = SQL_OPT_TRACE; 715 + const SQL_ATTR_TRACEFILE = SQL_OPT_TRACEFILE; 716 + const SQL_ATTR_TRANSLATE_LIB = SQL_TRANSLATE_DLL; 717 + const SQL_ATTR_TRANSLATE_OPTION = SQL_TRANSLATE_OPTION; 718 + const SQL_ATTR_TXN_ISOLATION = SQL_TXN_ISOLATION; 719 + const SQL_ATTR_USE_BOOKMARKS = SQL_USE_BOOKMARKS; 720 + const SQL_BATCH_ROW_COUNT = 120; 721 + const SQL_BATCH_SUPPORT = 121; 722 + const SQL_BRC_EXPLICIT = 0x0000002; 723 + const SQL_BRC_PROCEDURES = 0x0000001; 724 + const SQL_BRC_ROLLED_UP = 0x0000004; 725 + const SQL_BS_ROW_COUNT_EXPLICIT = 0x00000002L; 726 + const SQL_BS_ROW_COUNT_PROC = 0x00000008L; 727 + const SQL_BS_SELECT_EXPLICIT = 0x00000001L; 728 + const SQL_BS_SELECT_PROC = 0x00000004L; 729 + const SQL_C_INTERVAL_DAY = SQL_INTERVAL_DAY; 730 + const SQL_C_INTERVAL_DAY_TO_HOUR = SQL_INTERVAL_DAY_TO_HOUR; 731 + const SQL_C_INTERVAL_DAY_TO_MINUTE = SQL_INTERVAL_DAY_TO_MINUTE; 732 + const SQL_C_INTERVAL_DAY_TO_SECOND = SQL_INTERVAL_DAY_TO_SECOND; 733 + const SQL_C_INTERVAL_HOUR = SQL_INTERVAL_HOUR; 734 + const SQL_C_INTERVAL_HOUR_TO_MINUTE = SQL_INTERVAL_HOUR_TO_MINUTE; 735 + const SQL_C_INTERVAL_HOUR_TO_SECOND = SQL_INTERVAL_HOUR_TO_SECOND; 736 + const SQL_C_INTERVAL_MINUTE = SQL_INTERVAL_MINUTE; 737 + const SQL_C_INTERVAL_MINUTE_TO_SECOND = SQL_INTERVAL_MINUTE_TO_SECOND; 738 + const SQL_C_INTERVAL_MONTH = SQL_INTERVAL_MONTH; 739 + const SQL_C_INTERVAL_SECOND = SQL_INTERVAL_SECOND; 740 + const SQL_C_INTERVAL_YEAR = SQL_INTERVAL_YEAR; 741 + const SQL_C_INTERVAL_YEAR_TO_MONTH = SQL_INTERVAL_YEAR_TO_MONTH; 742 + const SQL_C_NUMERIC = SQL_NUMERIC; 743 + const SQL_C_SBIGINT = SQL_BIGINT+SQL_SIGNED_OFFSET; 744 + const SQL_C_TYPE_DATE = SQL_TYPE_DATE; 745 + const SQL_C_TYPE_TIME = SQL_TYPE_TIME; 746 + const SQL_C_TYPE_TIMESTAMP = SQL_TYPE_TIMESTAMP; 747 + const SQL_C_UBIGINT = SQL_BIGINT+SQL_UNSIGNED_OFFSET; 748 + const SQL_C_VARBOOKMARK = SQL_C_BINARY; 749 + const SQL_CA_CONSTRAINT_DEFERRABLE = 0x00000040L; 750 + const SQL_CA_CONSTRAINT_INITIALLY_DEFERRED = 0x00000010L; 751 + const SQL_CA_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000020L; 752 + const SQL_CA_CONSTRAINT_NON_DEFERRABLE = 0x00000080L; 753 + const SQL_CA_CREATE_ASSERTION = 0x00000001L; 754 + const SQL_CA1_ABSOLUTE = 0x00000002L; 755 + const SQL_CA1_BOOKMARK = 0x00000008L; 756 + const SQL_CA1_BULK_ADD = 0x00010000L; 757 + const SQL_CA1_BULK_DELETE_BY_BOOKMARK = 0x00040000L; 758 + const SQL_CA1_BULK_FETCH_BY_BOOKMARK = 0x00080000L; 759 + const SQL_CA1_BULK_UPDATE_BY_BOOKMARK = 0x00020000L; 760 + const SQL_CA1_LOCK_EXCLUSIVE = 0x00000080L; 761 + const SQL_CA1_LOCK_NO_CHANGE = 0x00000040L; 762 + const SQL_CA1_LOCK_UNLOCK = 0x00000100L; 763 + const SQL_CA1_NEXT = 0x00000001L; 764 + const SQL_CA1_POS_DELETE = 0x00000800L; 765 + const SQL_CA1_POS_POSITION = 0x00000200L; 766 + const SQL_CA1_POS_REFRESH = 0x00001000L; 767 + const SQL_CA1_POS_UPDATE = 0x00000400L; 768 + const SQL_CA1_POSITIONED_DELETE = 0x00004000L; 769 + const SQL_CA1_POSITIONED_UPDATE = 0x00002000L; 770 + const SQL_CA1_RELATIVE = 0x00000004L; 771 + const SQL_CA1_SELECT_FOR_UPDATE = 0x00008000L; 772 + const SQL_CA2_CRC_APPROXIMATE = 0x00002000L; 773 + const SQL_CA2_CRC_EXACT = 0x00001000L; 774 + const SQL_CA2_LOCK_CONCURRENCY = 0x00000002L; 775 + 776 + const SQL_CA2_MAX_ROWS_CATALOG = 0x00000800L; 777 + const SQL_CA2_MAX_ROWS_DELETE = 0x00000200L; 778 + const SQL_CA2_MAX_ROWS_INSERT = 0x00000100L; 779 + const SQL_CA2_MAX_ROWS_SELECT = 0x00000080L; 780 + const SQL_CA2_MAX_ROWS_UPDATE = 0x00000400L; 781 + const SQL_CA2_MAX_ROWS_AFFECTS_ALL = SQL_CA2_MAX_ROWS_SELECT | SQL_CA2_MAX_ROWS_INSERT | 782 + SQL_CA2_MAX_ROWS_DELETE | SQL_CA2_MAX_ROWS_UPDATE | SQL_CA2_MAX_ROWS_CATALOG; 783 + 784 + const SQL_CA2_OPT_ROWVER_CONCURRENCY = 0x00000004L; 785 + const SQL_CA2_OPT_VALUES_CONCURRENCY = 0x00000008L; 786 + const SQL_CA2_READ_ONLY_CONCURRENCY = 0x00000001L; 787 + const SQL_CA2_SENSITIVITY_ADDITIONS = 0x00000010L; 788 + const SQL_CA2_SENSITIVITY_DELETIONS = 0x00000020L; 789 + const SQL_CA2_SENSITIVITY_UPDATES = 0x00000040L; 790 + const SQL_CA2_SIMULATE_NON_UNIQUE = 0x00004000L; 791 + const SQL_CA2_SIMULATE_TRY_UNIQUE = 0x00008000L; 792 + const SQL_CA2_SIMULATE_UNIQUE = 0x00010000L; 793 + const SQL_CATALOG_LOCATION = SQL_QUALIFIER_LOCATION; 794 + const SQL_CATALOG_NAME_SEPARATOR = SQL_QUALIFIER_NAME_SEPARATOR; 795 + const SQL_CATALOG_TERM = SQL_QUALIFIER_TERM; 796 + const SQL_CATALOG_USAGE = SQL_QUALIFIER_USAGE; 797 + const SQL_CCOL_CREATE_COLLATION = 0x00000001L; 798 + const SQL_CCS_COLLATE_CLAUSE = 0x00000002L; 799 + const SQL_CCS_CREATE_CHARACTER_SET = 0x00000001L; 800 + const SQL_CCS_LIMITED_COLLATION = 0x00000004L; 801 + const SQL_CDO_COLLATION = 0x00000008L; 802 + const SQL_CDO_CONSTRAINT = 0x00000004L; 803 + const SQL_CDO_CONSTRAINT_DEFERRABLE = 0x00000080L; 804 + const SQL_CDO_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L; 805 + const SQL_CDO_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L; 806 + const SQL_CDO_CONSTRAINT_NAME_DEFINITION = 0x00000010L; 807 + const SQL_CDO_CONSTRAINT_NON_DEFERRABLE = 0x00000100L; 808 + const SQL_CDO_CREATE_DOMAIN = 0x00000001L; 809 + const SQL_CDO_DEFAULT = 0x00000002L; 810 + const SQL_CL_END = SQL_QL_END; 811 + const SQL_CL_START = SQL_QL_START; 812 + const SQL_COL_PRED_BASIC = SQL_ALL_EXCEPT_LIKE; 813 + const SQL_COL_PRED_CHAR = SQL_LIKE_ONLY; 814 + const SQL_COLUMN_DRIVER_START = 1000; 815 + const SQL_COLUMN_IGNORE = SQL_IGNORE; 816 + const SQL_COLUMN_NUMBER_UNKNOWN = -2; 817 + const SQL_CONVERT_GUID = 173; 818 + 819 + const SQL_CONVERT_WCHAR = 122; 820 + const SQL_CONVERT_INTERVAL_DAY_TIME = 123; 821 + const SQL_CONVERT_INTERVAL_YEAR_MONTH = 124; 822 + const SQL_CONVERT_WLONGVARCHAR = 125; 823 + const SQL_CONVERT_WVARCHAR = 126; 824 + 825 + const SQL_CREATE_ASSERTION = 127; 826 + const SQL_CREATE_CHARACTER_SET = 128; 827 + const SQL_CREATE_COLLATION = 129; 828 + const SQL_CREATE_DOMAIN = 130; 829 + const SQL_CREATE_SCHEMA = 131; 830 + const SQL_CREATE_TABLE = 132; 831 + const SQL_CREATE_TRANSLATION = 133; 832 + const SQL_CREATE_VIEW = 134; 833 + 834 + 835 + const SQL_CP_OFF = 0UL; 836 + const SQL_CP_DEFAULT = SQL_CP_OFF; 837 + const SQL_CP_ONE_PER_DRIVER = 1UL; 838 + const SQL_CP_ONE_PER_HENV = 2UL; 839 + 840 + const SQL_CP_STRICT_MATCH = 0UL; 841 + const SQL_CP_MATCH_DEFAULT = SQL_CP_STRICT_MATCH; 842 + const SQL_CP_RELAXED_MATCH = 1UL; 843 + 844 + const SQL_CS_CREATE_SCHEMA = 0x00000001L; 845 + const SQL_CS_AUTHORIZATION = 0x00000002L; 846 + const SQL_CS_DEFAULT_CHARACTER_SET = 0x00000004L; 847 + 848 + const SQL_CT_COLUMN_COLLATION = 0x00000800L; 849 + const SQL_CT_COLUMN_CONSTRAINT = 0x00000200L; 850 + const SQL_CT_COLUMN_DEFAULT = 0x00000400L; 851 + const SQL_CT_COMMIT_DELETE = 0x00000004L; 852 + const SQL_CT_COMMIT_PRESERVE = 0x00000002L; 853 + const SQL_CT_CONSTRAINT_DEFERRABLE = 0x00000080L; 854 + const SQL_CT_CONSTRAINT_INITIALLY_DEFERRED = 0x00000020L; 855 + const SQL_CT_CONSTRAINT_INITIALLY_IMMEDIATE = 0x00000040L; 856 + const SQL_CT_CONSTRAINT_NAME_DEFINITION = 0x00002000L; 857 + const SQL_CT_CONSTRAINT_NON_DEFERRABLE = 0x00000100L; 858 + const SQL_CT_CREATE_TABLE = 0x00000001L; 859 + const SQL_CT_GLOBAL_TEMPORARY = 0x00000008L; 860 + const SQL_CT_LOCAL_TEMPORARY = 0x00000010L; 861 + const SQL_CT_TABLE_CONSTRAINT = 0x00001000L; 862 + 863 + const SQL_CTR_CREATE_TRANSLATION = 0x00000001L; 864 + 865 + const SQL_CU_DML_STATEMENTS = SQL_QU_DML_STATEMENTS; 866 + const SQL_CU_INDEX_DEFINITION = SQL_QU_INDEX_DEFINITION; 867 + const SQL_CU_PRIVILEGE_DEFINITION = SQL_QU_PRIVILEGE_DEFINITION; 868 + const SQL_CU_PROCEDURE_INVOCATION = SQL_QU_PROCEDURE_INVOCATION; 869 + const SQL_CU_TABLE_DEFINITION = SQL_QU_TABLE_DEFINITION; 870 + 871 + const SQL_CVT_INTERVAL_YEAR_MONTH = 0x00080000L; 872 + const SQL_CVT_INTERVAL_DAY_TIME = 0x00100000L; 873 + const SQL_CVT_WCHAR = 0x00200000L; 874 + const SQL_CVT_WLONGVARCHAR = 0x00400000L; 875 + const SQL_CVT_WVARCHAR = 0x00800000L; 876 + const SQL_CVT_GUID = 0x01000000L; 877 + 878 + const SQL_DA_DROP_ASSERTION = 0x00000001L; 879 + const SQL_DATETIME_LITERALS = 119; 880 + 881 + const SQL_DB_DISCONNECT = 1UL; 882 + const SQL_DB_RETURN_TO_POOL = 0UL; 883 + const SQL_DB_DEFAULT = SQL_DB_RETURN_TO_POOL; 884 + 885 + const SQL_DC_DROP_COLLATION = 0x00000001L; 886 + const SQL_DCS_DROP_CHARACTER_SET = 0x00000001L; 887 + const SQL_DD_CASCADE = 0x00000004L; 888 + const SQL_DD_DROP_DOMAIN = 0x00000001L; 889 + const SQL_DD_RESTRICT = 0x00000002L; 890 + const SQL_DDL_INDEX = 170; 891 + const SQL_DELETE_BY_BOOKMARK = 6; 892 + const SQL_DESC_ARRAY_SIZE = 20; 893 + const SQL_DESC_ARRAY_STATUS_PTR = 21; 894 + const SQL_DESC_AUTO_UNIQUE_VALUE = SQL_COLUMN_AUTO_INCREMENT; 895 + const SQL_DESC_BASE_COLUMN_NAME = 22; 896 + const SQL_DESC_BASE_TABLE_NAME = 23; 897 + const SQL_DESC_BIND_OFFSET_PTR = 24; 898 + const SQL_DESC_BIND_TYPE = 25; 899 + const SQL_DESC_CASE_SENSITIVE = SQL_COLUMN_CASE_SENSITIVE; 900 + const SQL_DESC_CATALOG_NAME = SQL_COLUMN_QUALIFIER_NAME; 901 + const SQL_DESC_CONCISE_TYPE = SQL_COLUMN_TYPE; 902 + const SQL_DESC_DATETIME_INTERVAL_PRECISION = 26; 903 + const SQL_DESC_DISPLAY_SIZE = SQL_COLUMN_DISPLAY_SIZE; 904 + const SQL_DESC_FIXED_PREC_SCALE = SQL_COLUMN_MONEY; 905 + const SQL_DESC_LABEL = SQL_COLUMN_LABEL; 906 + const SQL_DESC_LITERAL_PREFIX = 27; 907 + const SQL_DESC_LITERAL_SUFFIX = 28; 908 + const SQL_DESC_LOCAL_TYPE_NAME = 29; 909 + const SQL_DESC_MAXIMUM_SCALE = 30; 910 + const SQL_DESC_MINIMUM_SCALE = 31; 911 + const SQL_DESC_NUM_PREC_RADIX = 32; 912 + const SQL_DESC_PARAMETER_TYPE = 33; 913 + const SQL_DESC_ROWS_PROCESSED_PTR = 34; 914 + const SQL_DESC_SCHEMA_NAME = SQL_COLUMN_OWNER_NAME; 915 + const SQL_DESC_SEARCHABLE = SQL_COLUMN_SEARCHABLE; 916 + const SQL_DESC_TABLE_NAME = SQL_COLUMN_TABLE_NAME; 917 + const SQL_DESC_TYPE_NAME = SQL_COLUMN_TYPE_NAME; 918 + const SQL_DESC_UNSIGNED = SQL_COLUMN_UNSIGNED; 919 + const SQL_DESC_UPDATABLE = SQL_COLUMN_UPDATABLE; 920 + const SQL_DI_CREATE_INDEX = 0x00000001L; 921 + const SQL_DI_DROP_INDEX = 0x00000002L; 922 + 923 + const SQL_DIAG_COLUMN_NUMBER = -1247; 924 + const SQL_DIAG_ROW_NUMBER = -1248; 925 + const SQL_DIAG_CURSOR_ROW_COUNT = -1249; 926 + 927 + const SQL_DL_SQL92_DATE = 0x00000001L; 928 + const SQL_DL_SQL92_INTERVAL_DAY = 0x00000020L; 929 + const SQL_DL_SQL92_INTERVAL_DAY_TO_HOUR = 0x00000400L; 930 + const SQL_DL_SQL92_INTERVAL_DAY_TO_MINUTE = 0x00000800L; 931 + const SQL_DL_SQL92_INTERVAL_DAY_TO_SECOND = 0x00001000L; 932 + const SQL_DL_SQL92_INTERVAL_HOUR = 0x00000040L; 933 + const SQL_DL_SQL92_INTERVAL_HOUR_TO_MINUTE = 0x00002000L; 934 + const SQL_DL_SQL92_INTERVAL_HOUR_TO_SECOND = 0x00004000L; 935 + const SQL_DL_SQL92_INTERVAL_MINUTE = 0x00000080L; 936 + const SQL_DL_SQL92_INTERVAL_MINUTE_TO_SECOND = 0x00008000L; 937 + const SQL_DL_SQL92_INTERVAL_MONTH = 0x00000010L; 938 + const SQL_DL_SQL92_INTERVAL_SECOND = 0x00000100L; 939 + const SQL_DL_SQL92_INTERVAL_YEAR = 0x00000008L; 940 + const SQL_DL_SQL92_INTERVAL_YEAR_TO_MONTH = 0x00000200L; 941 + const SQL_DL_SQL92_TIME = 0x00000002L; 942 + const SQL_DL_SQL92_TIMESTAMP = 0x00000004L; 943 + const SQL_DM_VER = 171; 944 + const SQL_DRIVER_HDESC = 135; 945 + const SQL_DROP_ASSERTION = 136; 946 + const SQL_DROP_CHARACTER_SET = 137; 947 + const SQL_DROP_COLLATION = 138; 948 + const SQL_DROP_DOMAIN = 139; 949 + const SQL_DROP_SCHEMA = 140; 950 + const SQL_DROP_TABLE = 141; 951 + const SQL_DROP_TRANSLATION = 142; 952 + const SQL_DROP_VIEW = 143; 953 + const SQL_DS_CASCADE = 0x00000004L; 954 + const SQL_DS_DROP_SCHEMA = 0x00000001L; 955 + const SQL_DS_RESTRICT = 0x00000002L; 956 + const SQL_DT_CASCADE = 0x00000004L; 957 + const SQL_DT_DROP_TABLE = 0x00000001L; 958 + const SQL_DT_RESTRICT = 0x00000002L; 959 + const SQL_DTC_DONE = 0L; 960 + const SQL_DTR_DROP_TRANSLATION = 0x00000001L; 961 + const SQL_DV_CASCADE = 0x00000004L; 962 + const SQL_DV_DROP_VIEW = 0x00000001L; 963 + const SQL_DV_RESTRICT = 0x00000002L; 964 + const SQL_DYNAMIC_CURSOR_ATTRIBUTES1 = 144; 965 + const SQL_DYNAMIC_CURSOR_ATTRIBUTES2 = 145; 966 + const SQL_EXT_API_LAST = SQL_API_SQLBINDPARAMETER; 967 + const SQL_EXT_API_START = 40; 968 + const SQL_FETCH_BY_BOOKMARK = 7; 969 + const SQL_FETCH_FIRST_SYSTEM = 32; 970 + const SQL_FETCH_FIRST_USER = 31; 971 + const SQL_FN_CVT_CAST = 0x00000002L; 972 + const SQL_FN_STR_BIT_LENGTH = 0x00080000L; 973 + const SQL_FN_STR_CHAR_LENGTH = 0x00100000L; 974 + const SQL_FN_STR_CHARACTER_LENGTH = 0x00200000L; 975 + const SQL_FN_STR_OCTET_LENGTH = 0x00400000L; 976 + const SQL_FN_STR_POSITION = 0x00800000L; 977 + const SQL_FN_TD_CURRENT_DATE = 0x00020000L; 978 + const SQL_FN_TD_CURRENT_TIME = 0x00040000L; 979 + const SQL_FN_TD_CURRENT_TIMESTAMP = 0x00080000L; 980 + const SQL_FN_TD_EXTRACT = 0x00100000L; 981 + const SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1 = 146; 982 + const SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2 = 147; 983 + /* #define SQL_FUNC_EXISTS(exists, api) 984 + ((*(((UWORD*) (exists)) + ((api) >> 4)) & (1 << ((api) & 15)) ) ? 985 + SQL_TRUE : SQL_FALSE ) 986 + */ 987 + const SQL_GB_COLLATE = 0x0004; 988 + const SQL_HANDLE_SENV = 5; 989 + 990 + const SQL_IK_NONE = 0; 991 + const SQL_IK_ASC = 1; 992 + const SQL_IK_DESC = 2; 993 + const SQL_IK_ALL = SQL_IK_ASC | SQL_IK_DESC; 994 + 995 + const SQL_INDEX_KEYWORDS = 148; 996 + const SQL_INFO_DRIVER_START = 1000; 997 + const SQL_INFO_LAST = SQL_QUALIFIER_LOCATION; 998 + const SQL_INFO_SCHEMA_VIEWS = 149; 999 + const SQL_INITIALLY_DEFERRED = 5; 1000 + const SQL_INITIALLY_IMMEDIATE = 6; 1001 + const SQL_INSERT_STATEMENT = 172; 1002 + const SQL_INTERVAL = 10; 1003 + const SQL_IS_INSERT_LITERALS = 0x00000001L; 1004 + const SQL_IS_INSERT_SEARCHED = 0x00000002L; 1005 + const SQL_IS_INTEGER = -6; 1006 + const SQL_IS_POINTER = -4; 1007 + const SQL_IS_SELECT_INTO = 0x00000004L; 1008 + const SQL_IS_SMALLINT = -8; 1009 + const SQL_IS_UINTEGER = -5; 1010 + const SQL_IS_USMALLINT = -7; 1011 + const SQL_ISV_ASSERTIONS = 0x00000001L; 1012 + const SQL_ISV_CHARACTER_SETS = 0x00000002L; 1013 + const SQL_ISV_CHECK_CONSTRAINTS = 0x00000004L; 1014 + const SQL_ISV_COLLATIONS = 0x00000008L; 1015 + const SQL_ISV_COLUMN_DOMAIN_USAGE = 0x00000010L; 1016 + const SQL_ISV_COLUMN_PRIVILEGES = 0x00000020L; 1017 + const SQL_ISV_COLUMNS = 0x00000040L; 1018 + const SQL_ISV_CONSTRAINT_COLUMN_USAGE = 0x00000080L; 1019 + const SQL_ISV_CONSTRAINT_TABLE_USAGE = 0x00000100L; 1020 + const SQL_ISV_DOMAIN_CONSTRAINTS = 0x00000200L; 1021 + const SQL_ISV_DOMAINS = 0x00000400L; 1022 + const SQL_ISV_KEY_COLUMN_USAGE = 0x00000800L; 1023 + const SQL_ISV_REFERENTIAL_CONSTRAINTS = 0x00001000L; 1024 + const SQL_ISV_SCHEMATA = 0x00002000L; 1025 + const SQL_ISV_SQL_LANGUAGES = 0x00004000L; 1026 + const SQL_ISV_TABLE_CONSTRAINTS = 0x00008000L; 1027 + const SQL_ISV_TABLE_PRIVILEGES = 0x00010000L; 1028 + const SQL_ISV_TABLES = 0x00020000L; 1029 + const SQL_ISV_TRANSLATIONS = 0x00040000L; 1030 + const SQL_ISV_USAGE_PRIVILEGES = 0x00080000L; 1031 + const SQL_ISV_VIEW_COLUMN_USAGE = 0x00100000L; 1032 + const SQL_ISV_VIEW_TABLE_USAGE = 0x00200000L; 1033 + const SQL_ISV_VIEWS = 0x00400000L; 1034 + const SQL_KEYSET_CURSOR_ATTRIBUTES1 = 150; 1035 + const SQL_KEYSET_CURSOR_ATTRIBUTES2 = 151; 1036 + const SQL_MAX_ASYNC_CONCURRENT_STATEMENTS = 10022; 1037 + const SQL_NO_COLUMN_NUMBER = -1; 1038 + const SQL_NO_ROW_NUMBER = -1; 1039 + const SQL_NOT_DEFERRABLE = 7; 1040 + const SQL_NUM_EXTENSIONS = SQL_EXT_API_LAST-SQL_EXT_API_START+1; 1041 + const SQL_NUM_FUNCTIONS = 23; 1042 + const SQL_ODBC_INTERFACE_CONFORMANCE = 152; 1043 + 1044 + enum : ULONG { 1045 + SQL_OIC_CORE = 1, 1046 + SQL_OIC_LEVEL1, 1047 + SQL_OIC_LEVEL2 1048 + } 1049 + enum : ULONG { 1050 + SQL_OV_ODBC2 = 2, 1051 + SQL_OV_ODBC3 = 3 1052 + } 1053 + 1054 + const ULONG 1055 + SQL_PARAM_BIND_BY_COLUMN = 0, 1056 + SQL_PARAM_BIND_TYPE_DEFAULT = SQL_PARAM_BIND_BY_COLUMN; 1057 + 1058 + const SQL_PARAM_ARRAY_ROW_COUNTS = 153; 1059 + const SQL_PARAM_ARRAY_SELECTS = 154; 1060 + const SQL_PARAM_DIAG_UNAVAILABLE = 1; 1061 + const SQL_PARAM_ERROR = 5; 1062 + const SQL_PARAM_IGNORE = 1; 1063 + const SQL_PARAM_PROCEED = 0; 1064 + const SQL_PARAM_SUCCESS = 0; 1065 + const SQL_PARAM_SUCCESS_WITH_INFO = 6; 1066 + const SQL_PARAM_UNUSED = 7; 1067 + 1068 + const SQL_PARC_BATCH = 1; 1069 + const SQL_PARC_NO_BATCH = 2; 1070 + const SQL_PAS_BATCH = 1; 1071 + const SQL_PAS_NO_BATCH = 2; 1072 + const SQL_PAS_NO_SELECT = 3; 1073 + 1074 + const SQL_ROW_IGNORE = 1; 1075 + const SQL_ROW_NUMBER_UNKNOWN = -2; 1076 + const SQL_ROW_PROCEED = 0; 1077 + const SQL_ROW_SUCCESS_WITH_INFO = 6; 1078 + 1079 + const SQL_SC_FIPS127_2_TRANSITIONAL = 0x00000002L; 1080 + const SQL_SC_SQL92_ENTRY = 0x00000001L; 1081 + const SQL_SC_SQL92_FULL = 0x00000008L; 1082 + const SQL_SC_SQL92_INTERMEDIATE = 0x00000004L; 1083 + 1084 + const SQL_SCC_ISO92_CLI = 0x00000002L; 1085 + const SQL_SCC_XOPEN_CLI_VERSION1 = 0x00000001L; 1086 + 1087 + const SQL_SCHEMA_TERM = SQL_OWNER_TERM; 1088 + const SQL_SCHEMA_USAGE = SQL_OWNER_USAGE; 1089 + const SQL_SDF_CURRENT_DATE = 0x00000001L; 1090 + const SQL_SDF_CURRENT_TIME = 0x00000002L; 1091 + const SQL_SDF_CURRENT_TIMESTAMP = 0x00000004L; 1092 + const SQL_SFKD_CASCADE = 0x00000001L; 1093 + const SQL_SFKD_NO_ACTION = 0x00000002L; 1094 + const SQL_SFKD_SET_DEFAULT = 0x00000004L; 1095 + const SQL_SFKD_SET_NULL = 0x00000008L; 1096 + const SQL_SFKU_CASCADE = 0x00000001L; 1097 + const SQL_SFKU_NO_ACTION = 0x00000002L; 1098 + const SQL_SFKU_SET_DEFAULT = 0x00000004L; 1099 + const SQL_SFKU_SET_NULL = 0x00000008L; 1100 + const SQL_SG_DELETE_TABLE = 0x00000020L; 1101 + const SQL_SG_INSERT_COLUMN = 0x00000080L; 1102 + const SQL_SG_INSERT_TABLE = 0x00000040L; 1103 + const SQL_SG_REFERENCES_COLUMN = 0x00000200L; 1104 + const SQL_SG_REFERENCES_TABLE = 0x00000100L; 1105 + const SQL_SG_SELECT_TABLE = 0x00000400L; 1106 + const SQL_SG_UPDATE_COLUMN = 0x00001000L; 1107 + const SQL_SG_UPDATE_TABLE = 0x00000800L; 1108 + const SQL_SG_USAGE_ON_CHARACTER_SET = 0x00000002L; 1109 + const SQL_SG_USAGE_ON_COLLATION = 0x00000004L; 1110 + const SQL_SG_USAGE_ON_DOMAIN = 0x00000001L; 1111 + const SQL_SG_USAGE_ON_TRANSLATION = 0x00000008L; 1112 + const SQL_SG_WITH_GRANT_OPTION = 0x00000010L; 1113 + const SQL_SNVF_BIT_LENGTH = 0x00000001L; 1114 + const SQL_SNVF_CHAR_LENGTH = 0x00000002L; 1115 + const SQL_SNVF_CHARACTER_LENGTH = 0x00000004L; 1116 + const SQL_SNVF_EXTRACT = 0x00000008L; 1117 + const SQL_SNVF_OCTET_LENGTH = 0x00000010L; 1118 + const SQL_SNVF_POSITION = 0x00000020L; 1119 + const SQL_SP_BETWEEN = 0x00000800L; 1120 + const SQL_SP_COMPARISON = 0x00001000L; 1121 + const SQL_SP_EXISTS = 0x00000001L; 1122 + const SQL_SP_IN = 0x00000400L; 1123 + const SQL_SP_ISNOTNULL = 0x00000002L; 1124 + const SQL_SP_ISNULL = 0x00000004L; 1125 + const SQL_SP_LIKE = 0x00000200L; 1126 + const SQL_SP_MATCH_FULL = 0x00000008L; 1127 + const SQL_SP_MATCH_PARTIAL = 0x00000010L; 1128 + const SQL_SP_MATCH_UNIQUE_FULL = 0x00000020L; 1129 + const SQL_SP_MATCH_UNIQUE_PARTIAL = 0x00000040L; 1130 + const SQL_SP_OVERLAPS = 0x00000080L; 1131 + const SQL_SP_QUANTIFIED_COMPARISON = 0x00002000L; 1132 + const SQL_SP_UNIQUE = 0x00000100L; 1133 + const SQL_SQL_CONFORMANCE = 118; 1134 + const SQL_SQL92_DATETIME_FUNCTIONS = 155; 1135 + const SQL_SQL92_FOREIGN_KEY_DELETE_RULE = 156; 1136 + const SQL_SQL92_FOREIGN_KEY_UPDATE_RULE = 157; 1137 + const SQL_SQL92_GRANT = 158; 1138 + const SQL_SQL92_NUMERIC_VALUE_FUNCTIONS = 159; 1139 + const SQL_SQL92_PREDICATES = 160; 1140 + const SQL_SQL92_RELATIONAL_JOIN_OPERATORS = 161; 1141 + const SQL_SQL92_REVOKE = 162; 1142 + const SQL_SQL92_ROW_VALUE_CONSTRUCTOR = 163; 1143 + const SQL_SQL92_STRING_FUNCTIONS = 164; 1144 + const SQL_SQL92_VALUE_EXPRESSIONS = 165; 1145 + const SQL_SR_CASCADE = 0x00000020L; 1146 + const SQL_SR_DELETE_TABLE = 0x00000080L; 1147 + const SQL_SR_GRANT_OPTION_FOR = 0x00000010L; 1148 + const SQL_SR_INSERT_COLUMN = 0x00000200L; 1149 + const SQL_SR_INSERT_TABLE = 0x00000100L; 1150 + const SQL_SR_REFERENCES_COLUMN = 0x00000800L; 1151 + const SQL_SR_REFERENCES_TABLE = 0x00000400L; 1152 + const SQL_SR_RESTRICT = 0x00000040L; 1153 + const SQL_SR_SELECT_TABLE = 0x00001000L; 1154 + const SQL_SR_UPDATE_COLUMN = 0x00004000L; 1155 + const SQL_SR_UPDATE_TABLE = 0x00002000L; 1156 + const SQL_SR_USAGE_ON_CHARACTER_SET = 0x00000002L; 1157 + const SQL_SR_USAGE_ON_COLLATION = 0x00000004L; 1158 + const SQL_SR_USAGE_ON_DOMAIN = 0x00000001L; 1159 + const SQL_SR_USAGE_ON_TRANSLATION = 0x00000008L; 1160 + const SQL_SRJO_CORRESPONDING_CLAUSE = 0x00000001L; 1161 + const SQL_SRJO_CROSS_JOIN = 0x00000002L; 1162 + const SQL_SRJO_EXCEPT_JOIN = 0x00000004L; 1163 + const SQL_SRJO_FULL_OUTER_JOIN = 0x00000008L; 1164 + const SQL_SRJO_INNER_JOIN = 0x00000010L; 1165 + const SQL_SRJO_INTERSECT_JOIN = 0x00000020L; 1166 + const SQL_SRJO_LEFT_OUTER_JOIN = 0x00000040L; 1167 + const SQL_SRJO_NATURAL_JOIN = 0x00000080L; 1168 + const SQL_SRJO_RIGHT_OUTER_JOIN = 0x00000100L; 1169 + const SQL_SRJO_UNION_JOIN = 0x00000200L; 1170 + const SQL_SRVC_DEFAULT = 0x00000004L; 1171 + const SQL_SRVC_NULL = 0x00000002L; 1172 + const SQL_SRVC_ROW_SUBQUERY = 0x00000008L; 1173 + const SQL_SRVC_VALUE_EXPRESSION = 0x00000001L; 1174 + const SQL_SSF_CONVERT = 0x00000001L; 1175 + const SQL_SSF_LOWER = 0x00000002L; 1176 + const SQL_SSF_SUBSTRING = 0x00000008L; 1177 + const SQL_SSF_TRANSLATE = 0x00000010L; 1178 + const SQL_SSF_TRIM_BOTH = 0x00000020L; 1179 + const SQL_SSF_TRIM_LEADING = 0x00000040L; 1180 + const SQL_SSF_TRIM_TRAILING = 0x00000080L; 1181 + const SQL_SSF_UPPER = 0x00000004L; 1182 + const SQL_STANDARD_CLI_CONFORMANCE = 166; 1183 + const SQL_STATIC_CURSOR_ATTRIBUTES1 = 167; 1184 + const SQL_STATIC_CURSOR_ATTRIBUTES2 = 168; 1185 + const SQL_SU_DML_STATEMENTS = SQL_OU_DML_STATEMENTS; 1186 + const SQL_SU_INDEX_DEFINITION = SQL_OU_INDEX_DEFINITION; 1187 + const SQL_SU_PRIVILEGE_DEFINITION = SQL_OU_PRIVILEGE_DEFINITION; 1188 + const SQL_SU_PROCEDURE_INVOCATION = SQL_OU_PROCEDURE_INVOCATION; 1189 + const SQL_SU_TABLE_DEFINITION = SQL_OU_TABLE_DEFINITION; 1190 + const SQL_SVE_CASE = 0x00000001L; 1191 + const SQL_SVE_CAST = 0x00000002L; 1192 + const SQL_SVE_COALESCE = 0x00000004L; 1193 + const SQL_SVE_NULLIF = 0x00000008L; 1194 + const SQL_UB_FIXED = SQL_UB_ON; 1195 + const SQL_UB_VARIABLE = 2UL; 1196 + const SQL_UNION_STATEMENT = SQL_UNION; 1197 + const SQL_UPDATE_BY_BOOKMARK = 5; 1198 + const SQL_US_UNION = SQL_U_UNION; 1199 + const SQL_US_UNION_ALL = SQL_U_UNION_ALL; 1200 +}//[Yes] #endif /* ODBCVER >= 0x300 */ 1201 +static if (ODBCVER >= 0x0350) { 1202 + const SQL_DESC_ROWVER = 35; 1203 + const SQL_GUID = -11; 1204 + const SQL_C_GUID = SQL_GUID; 1205 + //#ifdef ODBC_STD 1206 + //#define SQLAllocHandle SQLAllocHandleStd 1207 + //#define SQLAllocEnv(p) SQLAllocHandleStd(SQL_HANDLE_ENV, SQL_NULL_HANDLE, p) 1208 + //#define SQL_YEAR SQL_CODE_YEAR 1209 + //#define SQL_MONTH SQL_CODE_MONTH 1210 + //#define SQL_DAY SQL_CODE_DAY 1211 + //#define SQL_HOUR SQL_CODE_HOUR 1212 + //#define SQL_MINUTE SQL_CODE_MINUTE 1213 + //#define SQL_SECOND SQL_CODE_SECOND 1214 + //#define SQL_YEAR_TO_MONTH SQL_CODE_YEAR_TO_MONTH 1215 + //#define SQL_DAY_TO_HOUR SQL_CODE_DAY_TO_HOUR 1216 + //#define SQL_DAY_TO_MINUTE SQL_CODE_DAY_TO_MINUTE 1217 + //#define SQL_DAY_TO_SECOND SQL_CODE_DAY_TO_SECOND 1218 + //#define SQL_HOUR_TO_MINUTE SQL_CODE_HOUR_TO_MINUTE 1219 + //#define SQL_HOUR_TO_SECOND SQL_CODE_HOUR_TO_SECOND 1220 + //#define SQL_MINUTE_TO_SECOND SQL_CODE_MINUTE_TO_SECOND 1221 + //#endif /* ODBC_STD */ 1222 +}//#endif /* ODBCVER >= 0x0350 */ 1223 + 1224 +//static if (ODBCVER >= 0x0351) { 1225 +const SQL_ATTR_ANSI_APP=115; 1226 +const SQL_AA_TRUE=1L; 1227 +const SQL_AA_FALSE=0L; 1228 +//}//[Yes] #endif 1229 + 1230 +const TRACE_VERSION=1000; 1231 +const TRACE_ON=1; 1232 + 1233 +const char [] SQL_ODBC_KEYWORDS = 1234 + "ABSOLUTE, ACTION, ADA, ADD, ALL, ALLOCATE, ALTER, AND, ANY, ARE, AS, " 1235 + ~ "ASC, ASSERTION, AT, AUTHORIZATION, AVG, " 1236 + ~ "BEGIN, BETWEEN, BIT, BIT_LENGTH, BOTH, BY, CASCADE, CASCADED, CASE, CAST, CATALOG, " 1237 + ~ "CHAR, CHAR_LENGTH, CHARACTER, CHARACTER_LENGTH, CHECK, CLOSE, COALESCE, " 1238 + ~ "COLLATE, COLLATION, COLUMN, COMMIT, CONNECT, CONNECTION, CONSTRAINT, " 1239 + ~ "CONSTRAINTS, CONTINUE, CONVERT, CORRESPONDING, COUNT, CREATE, CROSS, CURRENT, " 1240 + ~ "CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, CURSOR, " 1241 + ~ "DATE, DAY, DEALLOCATE, DEC, DECIMAL, DECLARE, DEFAULT, DEFERRABLE, " 1242 + ~ "DEFERRED, DELETE, DESC, DESCRIBE, DESCRIPTOR, DIAGNOSTICS, DISCONNECT, " 1243 + ~ "DISTINCT, DOMAIN, DOUBLE, DROP, " 1244 + ~ "ELSE, END, END-EXEC, ESCAPE, EXCEPT, EXCEPTION, EXEC, EXECUTE, " 1245 + ~ "EXISTS, EXTERNAL, EXTRACT, " 1246 + ~ "FALSE, FETCH, FIRST, FLOAT, FOR, FOREIGN, FORTRAN, FOUND, FROM, FULL, " 1247 + ~ "GET, GLOBAL, GO, GOTO, GRANT, GROUP, HAVING, HOUR, " 1248 + ~ "IDENTITY, IMMEDIATE, IN, INCLUDE, INDEX, INDICATOR, INITIALLY, INNER, " 1249 + ~ "INPUT, INSENSITIVE, INSERT, INT, INTEGER, INTERSECT, INTERVAL, INTO, IS, ISOLATION, " 1250 + ~ "JOIN, KEY, LANGUAGE, LAST, LEADING, LEFT, LEVEL, LIKE, LOCAL, LOWER, " 1251 + ~ "MATCH, MAX, MIN, MINUTE, MODULE, MONTH, " 1252 + ~ "NAMES, NATIONAL, NATURAL, NCHAR, NEXT, NO, NONE, NOT, NULL, NULLIF, NUMERIC, " 1253 + ~ "OCTET_LENGTH, OF, ON, ONLY, OPEN, OPTION, OR, ORDER, OUTER, OUTPUT, OVERLAPS, " 1254 + ~ "PAD, PARTIAL, PASCAL, PLI, POSITION, PRECISION, PREPARE, PRESERVE, " 1255 + ~ "PRIMARY, PRIOR, PRIVILEGES, PROCEDURE, PUBLIC, " 1256 + ~ "READ, REAL, REFERENCES, RELATIVE, RESTRICT, REVOKE, RIGHT, ROLLBACK, ROWS" 1257 + ~ "SCHEMA, SCROLL, SECOND, SECTION, SELECT, SESSION, SESSION_USER, SET, SIZE, " 1258 + ~ "SMALLINT, SOME, SPACE, SQL, SQLCA, SQLCODE, SQLERROR, SQLSTATE, SQLWARNING, " 1259 + ~ "SUBSTRING, SUM, SYSTEM_USER, " 1260 + ~ "TABLE, TEMPORARY, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE, " 1261 + ~ "TO, TRAILING, TRANSACTION, TRANSLATE, TRANSLATION, TRIM, TRUE, " 1262 + ~ "UNION, UNIQUE, UNKNOWN, UPDATE, UPPER, USAGE, USER, USING, " 1263 + ~ "VALUE, VALUES, VARCHAR, VARYING, VIEW, WHEN, WHENEVER, WHERE, WITH, WORK, WRITE, " 1264 + ~ "YEAR, ZONE"; 1265 +extern (Windows) { 1266 + SQLRETURN SQLDriverConnect(SQLHDBC, SQLHWND, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLUSMALLINT); 1267 + SQLRETURN SQLBrowseConnect(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 1268 + SQLRETURN SQLColumnPrivileges(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 1269 + SQLRETURN SQLColAttributes(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*); 1270 + SQLRETURN SQLDescribeParam(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*); 1271 + SQLRETURN SQLExtendedFetch(SQLHSTMT, SQLUSMALLINT, SQLINTEGER, SQLUINTEGER*, SQLUSMALLINT*); 1272 + SQLRETURN SQLForeignKeys(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 1273 + SQLRETURN SQLMoreResults(SQLHSTMT); 1274 + SQLRETURN SQLNativeSql(SQLHDBC, SQLCHAR*, SQLINTEGER, SQLCHAR*, SQLINTEGER, SQLINTEGER*); 1275 + SQLRETURN SQLNumParams(SQLHSTMT, SQLSMALLINT*); 1276 + SQLRETURN SQLParamOptions(SQLHSTMT, SQLUINTEGER, SQLUINTEGER*); 1277 + SQLRETURN SQLPrimaryKeys(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 1278 + SQLRETURN SQLProcedureColumns(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 1279 + SQLRETURN SQLProcedures(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 1280 + SQLRETURN SQLSetPos(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLUSMALLINT); 1281 + SQLRETURN SQLTablePrivileges(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 1282 + SQLRETURN SQLDrivers(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 1283 + SQLRETURN SQLBindParameter(SQLHSTMT, SQLUSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLULEN, SQLSMALLINT, SQLPOINTER, SQLLEN, SQLLEN*); 1284 + SQLRETURN SQLSetScrollOptions(SQLHSTMT, SQLUSMALLINT, SQLLEN, SQLUSMALLINT);/* deprecated */ 1285 + DWORD ODBCGetTryWaitValue(); 1286 + BOOL ODBCSetTryWaitValue(DWORD); 1287 + RETCODE TraceOpenLogFile(LPWSTR, LPWSTR, DWORD); 1288 + RETCODE TraceCloseLogFile(); 1289 + VOID TraceReturn(RETCODE, RETCODE); 1290 + DWORD TraceVersion(); 1291 + //static if (ODBCVER >= 0x0300) { 1292 + SQLRETURN SQLBulkOperations(SQLHSTMT, SQLSMALLINT); 1293 + SQLRETURN SQLAllocHandleStd( SQLSMALLINT, SQLHANDLE, SQLHANDLE*); 1294 + //} 1295 +}

Added src/win32/sqltypes.d version [96280391078c825f]

1 +/***********************************************************************\ 2 +* sqltypes.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.sqltypes; 11 + 12 +/* Conversion notes: 13 + It's assumed that ODBC >= 0x0300. 14 +*/ 15 + 16 +private import win32.windef; 17 +private import win32.basetyps; // for GUID 18 + 19 +alias byte SCHAR, SQLSCHAR; 20 +alias int SDWORD, SLONG, SQLINTEGER; 21 +alias short SWORD, SSHORT, RETCODE, SQLSMALLINT; 22 +alias ULONG UDWORD; 23 +alias USHORT UWORD, SQLUSMALLINT; 24 +alias double SDOUBLE, LDOUBLE; 25 +alias float SFLOAT; 26 +alias PVOID PTR, HENV, HDBC, HSTMT, SQLPOINTER; 27 +alias UCHAR SQLCHAR; 28 +// #ifndef _WIN64 29 +alias UDWORD SQLUINTEGER; 30 +// #endif 31 + 32 +//static if (ODBCVER >= 0x0300) { 33 +alias HANDLE SQLHANDLE; 34 +alias SQLHANDLE SQLHENV, SQLHDBC, SQLHSTMT, SQLHDESC; 35 +/* 36 +} else { 37 +alias void* SQLHENV; 38 +alias void* SQLHDBC; 39 +alias void* SQLHSTMT; 40 +} 41 +*/ 42 +alias SQLSMALLINT SQLRETURN; 43 +alias HWND SQLHWND; 44 +alias ULONG BOOKMARK; 45 + 46 +alias SQLINTEGER SQLLEN, SQLROWOFFSET; 47 +alias SQLUINTEGER SQLROWCOUNT, SQLULEN; 48 +alias DWORD SQLTRANSID; 49 +alias SQLUSMALLINT SQLSETPOSIROW; 50 +alias wchar SQLWCHAR; 51 + 52 +version(Unicode) { 53 + alias SQLWCHAR SQLTCHAR; 54 +} else { 55 + alias SQLCHAR SQLTCHAR; 56 +} 57 +//static if (ODBCVER >= 0x0300) { 58 +alias ubyte SQLDATE, SQLDECIMAL; 59 +alias double SQLDOUBLE, SQLFLOAT; 60 +alias ubyte SQLNUMERIC; 61 +alias float SQLREAL; 62 +alias ubyte SQLTIME, SQLTIMESTAMP, SQLVARCHAR; 63 +alias long ODBCINT64, SQLBIGINT; 64 +alias ulong SQLUBIGINT; 65 +//} 66 + 67 +struct DATE_STRUCT { 68 + SQLSMALLINT year; 69 + SQLUSMALLINT month; 70 + SQLUSMALLINT day; 71 +} 72 + 73 +struct TIME_STRUCT { 74 + SQLUSMALLINT hour; 75 + SQLUSMALLINT minute; 76 + SQLUSMALLINT second; 77 +} 78 + 79 +struct TIMESTAMP_STRUCT { 80 + SQLSMALLINT year; 81 + SQLUSMALLINT month; 82 + SQLUSMALLINT day; 83 + SQLUSMALLINT hour; 84 + SQLUSMALLINT minute; 85 + SQLUSMALLINT second; 86 + SQLUINTEGER fraction; 87 +} 88 + 89 +//static if (ODBCVER >= 0x0300) { 90 +alias DATE_STRUCT SQL_DATE_STRUCT; 91 +alias TIME_STRUCT SQL_TIME_STRUCT; 92 +alias TIMESTAMP_STRUCT SQL_TIMESTAMP_STRUCT; 93 + 94 +enum SQLINTERVAL { 95 + SQL_IS_YEAR = 1, 96 + SQL_IS_MONTH, 97 + SQL_IS_DAY, 98 + SQL_IS_HOUR, 99 + SQL_IS_MINUTE, 100 + SQL_IS_SECOND, 101 + SQL_IS_YEAR_TO_MONTH, 102 + SQL_IS_DAY_TO_HOUR, 103 + SQL_IS_DAY_TO_MINUTE, 104 + SQL_IS_DAY_TO_SECOND, 105 + SQL_IS_HOUR_TO_MINUTE, 106 + SQL_IS_HOUR_TO_SECOND, 107 + SQL_IS_MINUTE_TO_SECOND 108 +} 109 + 110 +struct SQL_YEAR_MONTH_STRUCT { 111 + SQLUINTEGER year; 112 + SQLUINTEGER month; 113 +} 114 + 115 +struct SQL_DAY_SECOND_STRUCT { 116 + SQLUINTEGER day; 117 + SQLUINTEGER hour; 118 + SQLUINTEGER minute; 119 + SQLUINTEGER second; 120 + SQLUINTEGER fraction; 121 +} 122 + 123 +struct SQL_INTERVAL_STRUCT { 124 + SQLINTERVAL interval_type; 125 + SQLSMALLINT interval_sign; 126 + union _intval { 127 + SQL_YEAR_MONTH_STRUCT year_month; 128 + SQL_DAY_SECOND_STRUCT day_second; 129 + } 130 + _intval intval; 131 +} 132 + 133 +const SQL_MAX_NUMERIC_LEN = 16; 134 + 135 +struct SQL_NUMERIC_STRUCT { 136 + SQLCHAR precision; 137 + SQLSCHAR scale; 138 + SQLCHAR sign; 139 + SQLCHAR val[SQL_MAX_NUMERIC_LEN]; 140 +} 141 +// } ODBCVER >= 0x0300 142 +alias GUID SQLGUID;

Added src/win32/sqlucode.d version [99f932d0d28c09d9]

1 +/***********************************************************************\ 2 +* sqlucode.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.sqlucode; 11 + 12 +private import win32.sqlext; 13 + 14 +const SQL_WCHAR = -8; 15 +const SQL_WVARCHAR = -9; 16 +const SQL_WLONGVARCHAR = -10; 17 +const SQL_C_WCHAR = SQL_WCHAR; 18 + 19 +const SQL_SQLSTATE_SIZEW = 10; 20 +version(Unicode) { 21 + const SQL_C_TCHAR = SQL_C_WCHAR; 22 +} else { 23 + const SQL_C_TCHAR = SQL_C_CHAR; 24 +} 25 + 26 +// Moved from sqlext 27 +static if (ODBCVER <= 0x0300) { 28 + const SQL_UNICODE = -95; 29 + const SQL_UNICODE_VARCHAR = -96; 30 + const SQL_UNICODE_LONGVARCHAR = -97; 31 + const SQL_UNICODE_CHAR = SQL_UNICODE; 32 +} else { 33 + const SQL_UNICODE = SQL_WCHAR; 34 + const SQL_UNICODE_VARCHAR = SQL_WVARCHAR; 35 + const SQL_UNICODE_LONGVARCHAR = SQL_WLONGVARCHAR; 36 + const SQL_UNICODE_CHAR = SQL_WCHAR; 37 +} 38 + 39 +extern (Windows) { 40 + SQLRETURN SQLBrowseConnectA(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 41 + SQLRETURN SQLBrowseConnectW(SQLHDBC, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*); 42 + SQLRETURN SQLColAttributeA(SQLHSTMT, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLPOINTER); 43 + SQLRETURN SQLColAttributeW(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLPOINTER); 44 + SQLRETURN SQLColAttributesA(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*); 45 + SQLRETURN SQLColAttributesW(SQLHSTMT, SQLUSMALLINT, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*, SQLLEN*); 46 + SQLRETURN SQLColumnPrivilegesA( SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT , SQLCHAR*, SQLSMALLINT ); 47 + SQLRETURN SQLColumnPrivilegesW( SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT ); 48 + SQLRETURN SQLColumnsA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT , SQLCHAR*, SQLSMALLINT ); 49 + SQLRETURN SQLColumnsW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT , SQLWCHAR*, SQLSMALLINT ); 50 + SQLRETURN SQLConnectA(SQLHDBC, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 51 + SQLRETURN SQLConnectW(SQLHDBC, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT); 52 + SQLRETURN SQLDataSourcesA(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 53 + SQLRETURN SQLDataSourcesW(SQLHENV, SQLUSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*); 54 + SQLRETURN SQLDescribeColA(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*); 55 + SQLRETURN SQLDescribeColW(SQLHSTMT, SQLUSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLULEN*, SQLSMALLINT*, SQLSMALLINT*); 56 + SQLRETURN SQLDriverConnectA(SQLHDBC, SQLHWND, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLUSMALLINT); 57 + SQLRETURN SQLDriverConnectW(SQLHDBC, SQLHWND, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLUSMALLINT); 58 + SQLRETURN SQLDriversA(SQLHENV, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 59 + SQLRETURN SQLDriversW(SQLHENV, SQLUSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*); 60 + SQLRETURN SQLErrorA(SQLHENV, SQLHDBC, SQLHSTMT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 61 + SQLRETURN SQLErrorW(SQLHENV, SQLHDBC, SQLHSTMT, SQLWCHAR*, SQLINTEGER*, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*); 62 + SQLRETURN SQLExecDirectA(SQLHSTMT, SQLCHAR*, SQLINTEGER); 63 + SQLRETURN SQLExecDirectW(SQLHSTMT, SQLWCHAR*, SQLINTEGER); 64 + SQLRETURN SQLForeignKeysA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 65 + SQLRETURN SQLForeignKeysW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT); 66 + SQLRETURN SQLGetConnectAttrA(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 67 + SQLRETURN SQLGetConnectAttrW(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 68 + SQLRETURN SQLGetConnectOptionA(SQLHDBC, SQLUSMALLINT, SQLPOINTER); 69 + SQLRETURN SQLGetConnectOptionW(SQLHDBC, SQLUSMALLINT, SQLPOINTER); 70 + SQLRETURN SQLGetCursorNameA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 71 + SQLRETURN SQLGetCursorNameW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*); 72 + SQLRETURN SQLGetInfoA(SQLHDBC, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*); 73 + SQLRETURN SQLGetInfoW(SQLHDBC, SQLUSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*); 74 + SQLRETURN SQLGetTypeInfoA(SQLHSTMT, SQLSMALLINT); 75 + SQLRETURN SQLGetTypeInfoW(SQLHSTMT, SQLSMALLINT); 76 + SQLRETURN SQLNativeSqlA(SQLHDBC, SQLCHAR*, SQLINTEGER, SQLCHAR*, SQLINTEGER, SQLINTEGER*); 77 + SQLRETURN SQLNativeSqlW(SQLHDBC, SQLWCHAR*, SQLINTEGER, SQLWCHAR*, SQLINTEGER, SQLINTEGER*); 78 + SQLRETURN SQLPrepareA(SQLHSTMT, SQLCHAR*, SQLINTEGER); 79 + SQLRETURN SQLPrepareW(SQLHSTMT, SQLWCHAR*, SQLINTEGER); 80 + SQLRETURN SQLPrimaryKeysA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT ); 81 + SQLRETURN SQLPrimaryKeysW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT); 82 + SQLRETURN SQLProcedureColumnsA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 83 + SQLRETURN SQLProcedureColumnsW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT); 84 + SQLRETURN SQLProceduresA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 85 + SQLRETURN SQLProceduresW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT); 86 + SQLRETURN SQLSetConnectAttrA(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER); 87 + SQLRETURN SQLSetConnectAttrW(SQLHDBC, SQLINTEGER, SQLPOINTER, SQLINTEGER); 88 + SQLRETURN SQLSetConnectOptionA(SQLHDBC, SQLUSMALLINT, SQLULEN); 89 + SQLRETURN SQLSetConnectOptionW(SQLHDBC, SQLUSMALLINT, SQLULEN); 90 + SQLRETURN SQLSetCursorNameA(SQLHSTMT, SQLCHAR*, SQLSMALLINT); 91 + SQLRETURN SQLSetCursorNameW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT); 92 + SQLRETURN SQLSpecialColumnsA(SQLHSTMT, SQLUSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT , SQLUSMALLINT, SQLUSMALLINT); 93 + SQLRETURN SQLSpecialColumnsW(SQLHSTMT, SQLUSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT , SQLUSMALLINT, SQLUSMALLINT); 94 + SQLRETURN SQLStatisticsA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT , SQLUSMALLINT, SQLUSMALLINT); 95 + SQLRETURN SQLStatisticsW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT , SQLUSMALLINT, SQLUSMALLINT); 96 + SQLRETURN SQLTablePrivilegesA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 97 + SQLRETURN SQLTablePrivilegesW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT ); 98 + SQLRETURN SQLTablesA(SQLHSTMT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLCHAR*, SQLSMALLINT); 99 + SQLRETURN SQLTablesW(SQLHSTMT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT); 100 + static if (ODBCVER >= 0x0300) { 101 + SQLRETURN SQLGetDescFieldA(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 102 + SQLRETURN SQLGetDescFieldW(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 103 + SQLRETURN SQLSetDescFieldA(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER); 104 + SQLRETURN SQLSetDescFieldW(SQLHDESC, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLINTEGER); 105 + SQLRETURN SQLGetDescRecA(SQLHDESC, SQLSMALLINT, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*, SQLLEN*, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*); 106 + SQLRETURN SQLGetDescRecW(SQLHDESC, SQLSMALLINT, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*, SQLLEN*, SQLSMALLINT*, SQLSMALLINT*, SQLSMALLINT*); 107 + SQLRETURN SQLGetDiagFieldA(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*); 108 + SQLRETURN SQLGetDiagFieldW(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLSMALLINT, SQLPOINTER, SQLSMALLINT, SQLSMALLINT*); 109 + SQLRETURN SQLGetDiagRecA(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLCHAR*, SQLINTEGER*, SQLCHAR*, SQLSMALLINT, SQLSMALLINT*); 110 + SQLRETURN SQLGetDiagRecW(SQLSMALLINT, SQLHANDLE, SQLSMALLINT, SQLWCHAR*, SQLINTEGER*, SQLWCHAR*, SQLSMALLINT, SQLSMALLINT*); 111 + SQLRETURN SQLGetStmtAttrA(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 112 + SQLRETURN SQLGetStmtAttrW(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER, SQLINTEGER*); 113 + SQLRETURN SQLSetStmtAttrA(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER); 114 + SQLRETURN SQLSetStmtAttrW(SQLHSTMT, SQLINTEGER, SQLPOINTER, SQLINTEGER); 115 + } // #endif /* (ODBCVER >= 0x0300) */ 116 +} 117 + 118 +version (Unicode) { 119 + alias SQLBrowseConnectW SQLBrowseConnect; 120 + alias SQLColAttributeW SQLColAttribute; 121 + alias SQLColAttributesW SQLColAttributes; 122 + alias SQLColumnPrivilegesW SQLColumnPrivileges; 123 + alias SQLColumnsW SQLColumns; 124 + alias SQLConnectW SQLConnect; 125 + alias SQLDataSourcesW SQLDataSources; 126 + alias SQLDescribeColW SQLDescribeCol; 127 + alias SQLDriverConnectW SQLDriverConnect; 128 + alias SQLDriversW SQLDrivers; 129 + alias SQLErrorW SQLError; 130 + alias SQLExecDirectW SQLExecDirect; 131 + alias SQLForeignKeysW SQLForeignKeys; 132 + alias SQLGetConnectAttrW SQLGetConnectAttr; 133 + alias SQLGetConnectOptionW SQLGetConnectOption; 134 + alias SQLGetCursorNameW SQLGetCursorName; 135 + alias SQLGetDescFieldW SQLGetDescField; 136 + alias SQLGetDescRecW SQLGetDescRec; 137 + alias SQLGetDiagFieldW SQLGetDiagField; 138 + alias SQLGetDiagRecW SQLGetDiagRec; 139 + alias SQLGetInfoW SQLGetInfo; 140 + alias SQLGetStmtAttrW SQLGetStmtAttr; 141 + alias SQLGetTypeInfoW SQLGetTypeInfo; 142 + alias SQLNativeSqlW SQLNativeSql; 143 + alias SQLPrepareW SQLPrepare; 144 + alias SQLPrimaryKeysW SQLPrimaryKeys; 145 + alias SQLProcedureColumnsW SQLProcedureColumns; 146 + alias SQLProceduresW SQLProcedures; 147 + alias SQLSetConnectAttrW SQLSetConnectAttr; 148 + alias SQLSetConnectOptionW SQLSetConnectOption; 149 + alias SQLSetCursorNameW SQLSetCursorName; 150 + alias SQLSetDescFieldW SQLSetDescField; 151 + alias SQLSetStmtAttrW SQLSetStmtAttr; 152 + alias SQLSpecialColumnsW SQLSpecialColumns; 153 + alias SQLStatisticsW SQLStatistics; 154 + alias SQLTablePrivilegesW SQLTablePrivileges; 155 + alias SQLTablesW SQLTables; 156 +}

Added src/win32/subauth.d version [f644874abd87ad5a]

1 +/***********************************************************************\ 2 +* subauth.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.subauth; 11 + 12 +private import win32.ntdef, win32.windef; 13 + 14 +/+ 15 +alias LONG NTSTATUS; 16 +alias NTSTATUS* PNTSTATUS; 17 ++/ 18 + 19 +enum : ULONG { 20 + MSV1_0_PASSTHRU = 1, 21 + MSV1_0_GUEST_LOGON = 2 22 +} 23 + 24 +// USER_ALL_INFORMATION.WhichFields (Undocumented) 25 +const ULONG 26 + MSV1_0_VALIDATION_LOGOFF_TIME = 1, 27 + MSV1_0_VALIDATION_KICKOFF_TIME = 2, 28 + MSV1_0_VALIDATION_LOGON_SERVER = 4, 29 + MSV1_0_VALIDATION_LOGON_DOMAIN = 8, 30 + MSV1_0_VALIDATION_SESSION_KEY = 16, 31 + MSV1_0_VALIDATION_USER_FLAGS = 32, 32 + MSV1_0_VALIDATION_USER_ID = 64; 33 + 34 +// ?ActionsPerformed? (Undocumented) 35 +const MSV1_0_SUBAUTH_ACCOUNT_DISABLED = 1; 36 +const MSV1_0_SUBAUTH_PASSWORD = 2; 37 +const MSV1_0_SUBAUTH_WORKSTATIONS = 4; 38 +const MSV1_0_SUBAUTH_LOGON_HOURS = 8; 39 +const MSV1_0_SUBAUTH_ACCOUNT_EXPIRY = 16; 40 +const MSV1_0_SUBAUTH_PASSWORD_EXPIRY = 32; 41 +const MSV1_0_SUBAUTH_ACCOUNT_TYPE = 64; 42 +const MSV1_0_SUBAUTH_LOCKOUT = 128; 43 + 44 +const NEXT_FREE_ACCOUNT_CONTROL_BIT = 131072; 45 + 46 +const SAM_DAYS_PER_WEEK = 7; 47 +const SAM_HOURS_PER_WEEK = 168; 48 +const SAM_MINUTES_PER_WEEK = 10080; 49 + 50 +enum : NTSTATUS { 51 + STATUS_SUCCESS = 0, 52 + STATUS_INVALID_INFO_CLASS = 0xC0000003, 53 + STATUS_NO_SUCH_USER = 0xC0000064, 54 + STATUS_WRONG_PASSWORD = 0xC000006A, 55 + STATUS_PASSWORD_RESTRICTION = 0xC000006C, 56 + STATUS_LOGON_FAILURE = 0xC000006D, 57 + STATUS_ACCOUNT_RESTRICTION = 0xC000006E, 58 + STATUS_INVALID_LOGON_HOURS = 0xC000006F, 59 + STATUS_INVALID_WORKSTATION = 0xC0000070, 60 + STATUS_PASSWORD_EXPIRED = 0xC0000071, 61 + STATUS_ACCOUNT_DISABLED = 0xC0000072, 62 + STATUS_INSUFFICIENT_RESOURCES = 0xC000009A, 63 + STATUS_ACCOUNT_EXPIRED = 0xC0000193, 64 + STATUS_PASSWORD_MUST_CHANGE = 0xC0000224, 65 + STATUS_ACCOUNT_LOCKED_OUT = 0xC0000234 66 +} 67 + 68 +// Note: undocumented in MSDN 69 +// USER_ALL_INFORMATION.UserAccountControl 70 +const ULONG 71 + USER_ACCOUNT_DISABLED = 1, 72 + USER_HOME_DIRECTORY_REQUIRED = 2, 73 + USER_PASSWORD_NOT_REQUIRED = 4, 74 + USER_TEMP_DUPLICATE_ACCOUNT = 8, 75 + USER_NORMAL_ACCOUNT = 16, 76 + USER_MNS_LOGON_ACCOUNT = 32, 77 + USER_INTERDOMAIN_TRUST_ACCOUNT = 64, 78 + USER_WORKSTATION_TRUST_ACCOUNT = 128, 79 + USER_SERVER_TRUST_ACCOUNT = 256, 80 + USER_DONT_EXPIRE_PASSWORD = 512, 81 + USER_ACCOUNT_AUTO_LOCKED = 1024, 82 + USER_ENCRYPTED_TEXT_PASSWORD_ALLOWED = 2048, 83 + USER_SMARTCARD_REQUIRED = 4096, 84 + USER_TRUSTED_FOR_DELEGATION = 8192, 85 + USER_NOT_DELEGATED = 16384, 86 + USER_USE_DES_KEY_ONLY = 32768, 87 + USER_DONT_REQUIRE_PREAUTH = 65536, 88 + 89 + USER_MACHINE_ACCOUNT_MASK = 448, 90 + USER_ACCOUNT_TYPE_MASK = 472, 91 + USER_ALL_PARAMETERS = 2097152; 92 + 93 +/+ 94 +struct UNICODE_STRING { 95 + USHORT Length; 96 + USHORT MaximumLength; 97 + PWSTR Buffer; 98 +} 99 +alias UNICODE_STRING* PUNICODE_STRING; 100 + 101 +struct STRING { 102 + USHORT Length; 103 + USHORT MaximumLength; 104 + PCHAR Buffer; 105 +} 106 +alias STRING* PSTRING; 107 ++/ 108 + 109 +alias HANDLE SAM_HANDLE; 110 +alias HANDLE* PSAM_HANDLE; 111 + 112 +struct OLD_LARGE_INTEGER { 113 + ULONG LowPart; 114 + LONG HighPart; 115 +} 116 +alias OLD_LARGE_INTEGER* POLD_LARGE_INTEGER; 117 + 118 +enum NETLOGON_LOGON_INFO_CLASS { 119 + NetlogonInteractiveInformation = 1, 120 + NetlogonNetworkInformation, 121 + NetlogonServiceInformation, 122 + NetlogonGenericInformation, 123 + NetlogonInteractiveTransitiveInformation, 124 + NetlogonNetworkTransitiveInformation, 125 + NetlogonServiceTransitiveInformation 126 +} 127 + 128 + 129 +const CYPHER_BLOCK_LENGTH = 8; 130 +const USER_SESSION_KEY_LENGTH = CYPHER_BLOCK_LENGTH * 2; 131 +const CLEAR_BLOCK_LENGTH = 8; 132 + 133 +struct CYPHER_BLOCK { 134 + CHAR data[CYPHER_BLOCK_LENGTH]; 135 +} 136 +alias CYPHER_BLOCK* PCYPHER_BLOCK; 137 + 138 +struct CLEAR_BLOCK { 139 + CHAR data[CLEAR_BLOCK_LENGTH]; 140 +} 141 +alias CLEAR_BLOCK* PCLEAR_BLOCK; 142 + 143 +struct LM_OWF_PASSWORD { 144 + CYPHER_BLOCK data[2]; 145 +} 146 +alias LM_OWF_PASSWORD* PLM_OWF_PASSWORD; 147 + 148 +struct USER_SESSION_KEY { 149 + CYPHER_BLOCK data[2]; 150 +} 151 +alias USER_SESSION_KEY* PUSER_SESSION_KEY; 152 + 153 +alias CLEAR_BLOCK LM_CHALLENGE; 154 +alias LM_CHALLENGE* PLM_CHALLENGE; 155 + 156 +alias LM_OWF_PASSWORD NT_OWF_PASSWORD; 157 +alias NT_OWF_PASSWORD* PNT_OWF_PASSWORD; 158 +alias LM_CHALLENGE NT_CHALLENGE; 159 +alias NT_CHALLENGE* PNT_CHALLENGE; 160 + 161 +struct LOGON_HOURS { 162 + USHORT UnitsPerWeek; 163 + PUCHAR LogonHours; 164 +} 165 +alias LOGON_HOURS* PLOGON_HOURS; 166 + 167 +struct SR_SECURITY_DESCRIPTOR { 168 + ULONG Length; 169 + PUCHAR SecurityDescriptor; 170 +} 171 +alias SR_SECURITY_DESCRIPTOR* PSR_SECURITY_DESCRIPTOR; 172 + 173 +align(4): 174 +struct USER_ALL_INFORMATION { 175 + LARGE_INTEGER LastLogon; 176 + LARGE_INTEGER LastLogoff; 177 + LARGE_INTEGER PasswordLastSet; 178 + LARGE_INTEGER AccountExpires; 179 + LARGE_INTEGER PasswordCanChange; 180 + LARGE_INTEGER PasswordMustChange; 181 + UNICODE_STRING UserName; 182 + UNICODE_STRING FullName; 183 + UNICODE_STRING HomeDirectory; 184 + UNICODE_STRING HomeDirectoryDrive; 185 + UNICODE_STRING ScriptPath; 186 + UNICODE_STRING ProfilePath; 187 + UNICODE_STRING AdminComment; 188 + UNICODE_STRING WorkStations; 189 + UNICODE_STRING UserComment; 190 + UNICODE_STRING Parameters; 191 + UNICODE_STRING LmPassword; 192 + UNICODE_STRING NtPassword; 193 + UNICODE_STRING PrivateData; 194 + SR_SECURITY_DESCRIPTOR SecurityDescriptor; 195 + ULONG UserId; 196 + ULONG PrimaryGroupId; 197 + ULONG UserAccountControl; 198 + ULONG WhichFields; 199 + LOGON_HOURS LogonHours; 200 + USHORT BadPasswordCount; 201 + USHORT LogonCount; 202 + USHORT CountryCode; 203 + USHORT CodePage; 204 + BOOLEAN LmPasswordPresent; 205 + BOOLEAN NtPasswordPresent; 206 + BOOLEAN PasswordExpired; 207 + BOOLEAN PrivateDataSensitive; 208 +} 209 +alias USER_ALL_INFORMATION* PUSER_ALL_INFORMATION; 210 +align: 211 + 212 +struct MSV1_0_VALIDATION_INFO { 213 + LARGE_INTEGER LogoffTime; 214 + LARGE_INTEGER KickoffTime; 215 + UNICODE_STRING LogonServer; 216 + UNICODE_STRING LogonDomainName; 217 + USER_SESSION_KEY SessionKey; 218 + BOOLEAN Authoritative; 219 + ULONG UserFlags; 220 + ULONG WhichFields; 221 + ULONG UserId; 222 +} 223 +alias MSV1_0_VALIDATION_INFO* PMSV1_0_VALIDATION_INFO; 224 + 225 +struct NETLOGON_LOGON_IDENTITY_INFO { 226 + UNICODE_STRING LogonDomainName; 227 + ULONG ParameterControl; 228 + OLD_LARGE_INTEGER LogonId; 229 + UNICODE_STRING UserName; 230 + UNICODE_STRING Workstation; 231 +} 232 +alias NETLOGON_LOGON_IDENTITY_INFO* PNETLOGON_LOGON_IDENTITY_INFO; 233 + 234 +struct NETLOGON_INTERACTIVE_INFO { 235 + NETLOGON_LOGON_IDENTITY_INFO Identity; 236 + LM_OWF_PASSWORD LmOwfPassword; 237 + NT_OWF_PASSWORD NtOwfPassword; 238 +} 239 +alias NETLOGON_INTERACTIVE_INFO* PNETLOGON_INTERACTIVE_INFO; 240 + 241 +struct NETLOGON_GENERIC_INFO { 242 + NETLOGON_LOGON_IDENTITY_INFO Identity; 243 + UNICODE_STRING PackageName; 244 + ULONG DataLength; 245 + PUCHAR LogonData; 246 +} 247 +alias NETLOGON_GENERIC_INFO* PNETLOGON_GENERIC_INFO; 248 + 249 +struct NETLOGON_NETWORK_INFO { 250 + NETLOGON_LOGON_IDENTITY_INFO Identity; 251 + LM_CHALLENGE LmChallenge; 252 + STRING NtChallengeResponse; 253 + STRING LmChallengeResponse; 254 +} 255 +alias NETLOGON_NETWORK_INFO* PNETLOGON_NETWORK_INFO; 256 + 257 +struct NETLOGON_SERVICE_INFO { 258 + NETLOGON_LOGON_IDENTITY_INFO Identity; 259 + LM_OWF_PASSWORD LmOwfPassword; 260 + NT_OWF_PASSWORD NtOwfPassword; 261 +} 262 +alias NETLOGON_SERVICE_INFO* PNETLOGON_SERVICE_INFO; 263 + 264 +extern (Windows) { 265 +NTSTATUS Msv1_0SubAuthenticationRoutine(NETLOGON_LOGON_INFO_CLASS,PVOID, 266 + ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG, 267 + PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER); 268 +NTSTATUS Msv1_0SubAuthenticationFilter(NETLOGON_LOGON_INFO_CLASS,PVOID, 269 + ULONG,PUSER_ALL_INFORMATION,PULONG,PULONG, 270 + PBOOLEAN,PLARGE_INTEGER,PLARGE_INTEGER); 271 +NTSTATUS Msv1_0SubAuthenticationRoutineGeneric(PVOID,ULONG,PULONG,PVOID*); 272 +NTSTATUS Msv1_0SubAuthenticationRoutineEx(NETLOGON_LOGON_INFO_CLASS,PVOID, 273 + ULONG,PUSER_ALL_INFORMATION,SAM_HANDLE, 274 + PMSV1_0_VALIDATION_INFO,PULONG); 275 +}

Added src/win32/tlhelp32.d version [57d6b78740d2c6bb]

1 +/***********************************************************************\ 2 +* tlhelp32.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.tlhelp32; 11 + 12 +private import win32.windef; 13 + 14 +enum : uint { 15 + HF32_DEFAULT = 1, 16 + HF32_SHARED 17 +} 18 + 19 +enum : uint { 20 + LF32_FIXED = 0x1, 21 + LF32_FREE = 0x2, 22 + LF32_MOVEABLE = 0x4 23 +} 24 + 25 +const MAX_MODULE_NAME32 = 255; 26 + 27 +enum : uint { 28 + TH32CS_SNAPHEAPLIST = 0x1, 29 + TH32CS_SNAPPROCESS = 0x2, 30 + TH32CS_SNAPTHREAD = 0x4, 31 + TH32CS_SNAPMODULE = 0x8, 32 + TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST|TH32CS_SNAPPROCESS|TH32CS_SNAPTHREAD|TH32CS_SNAPMODULE), 33 + TH32CS_INHERIT = 0x80000000 34 +} 35 + 36 +struct HEAPLIST32 { 37 + DWORD dwSize; 38 + DWORD th32ProcessID; 39 + DWORD th32HeapID; 40 + DWORD dwFlags; 41 +} 42 +alias HEAPLIST32* PHEAPLIST32; 43 +alias HEAPLIST32* LPHEAPLIST32; 44 + 45 +struct HEAPENTRY32 { 46 + DWORD dwSize; 47 + HANDLE hHandle; 48 + DWORD dwAddress; 49 + DWORD dwBlockSize; 50 + DWORD dwFlags; 51 + DWORD dwLockCount; 52 + DWORD dwResvd; 53 + DWORD th32ProcessID; 54 + DWORD th32HeapID; 55 +} 56 +alias HEAPENTRY32* PHEAPENTRY32; 57 +alias HEAPENTRY32* LPHEAPENTRY32; 58 + 59 +struct PROCESSENTRY32W { 60 + DWORD dwSize; 61 + DWORD cntUsage; 62 + DWORD th32ProcessID; 63 + DWORD th32DefaultHeapID; 64 + DWORD th32ModuleID; 65 + DWORD cntThreads; 66 + DWORD th32ParentProcessID; 67 + LONG pcPriClassBase; 68 + DWORD dwFlags; 69 + WCHAR szExeFile[MAX_PATH]; 70 +} 71 +alias PROCESSENTRY32W* PPROCESSENTRY32W; 72 +alias PROCESSENTRY32W* LPPROCESSENTRY32W; 73 + 74 +struct THREADENTRY32 { 75 + DWORD dwSize; 76 + DWORD cntUsage; 77 + DWORD th32ThreadID; 78 + DWORD th32OwnerProcessID; 79 + LONG tpBasePri; 80 + LONG tpDeltaPri; 81 + DWORD dwFlags; 82 +} 83 +alias THREADENTRY32* PTHREADENTRY32; 84 +alias THREADENTRY32* LPTHREADENTRY32; 85 + 86 +struct MODULEENTRY32W { 87 + DWORD dwSize; 88 + DWORD th32ModuleID; 89 + DWORD th32ProcessID; 90 + DWORD GlblcntUsage; 91 + DWORD ProccntUsage; 92 + BYTE *modBaseAddr; 93 + DWORD modBaseSize; 94 + HMODULE hModule; 95 + WCHAR szModule[MAX_MODULE_NAME32 + 1]; 96 + WCHAR szExePath[MAX_PATH]; 97 +} 98 +alias MODULEENTRY32W* PMODULEENTRY32W; 99 +alias MODULEENTRY32W* LPMODULEENTRY32W; 100 + 101 +version(Unicode) { 102 + alias PROCESSENTRY32W PROCESSENTRY32; 103 + alias PPROCESSENTRY32W PPROCESSENTRY32; 104 + alias LPPROCESSENTRY32W LPPROCESSENTRY32; 105 + 106 + alias MODULEENTRY32W MODULEENTRY32; 107 + alias PMODULEENTRY32W PMODULEENTRY32; 108 + alias LPMODULEENTRY32W LPMODULEENTRY32; 109 +} else { 110 + struct PROCESSENTRY32 { 111 + DWORD dwSize; 112 + DWORD cntUsage; 113 + DWORD th32ProcessID; 114 + DWORD th32DefaultHeapID; 115 + DWORD th32ModuleID; 116 + DWORD cntThreads; 117 + DWORD th32ParentProcessID; 118 + LONG pcPriClassBase; 119 + DWORD dwFlags; 120 + CHAR szExeFile[MAX_PATH]; 121 + } 122 + alias PROCESSENTRY32* PPROCESSENTRY32; 123 + alias PROCESSENTRY32* LPPROCESSENTRY32; 124 + 125 + struct MODULEENTRY32 { 126 + DWORD dwSize; 127 + DWORD th32ModuleID; 128 + DWORD th32ProcessID; 129 + DWORD GlblcntUsage; 130 + DWORD ProccntUsage; 131 + BYTE *modBaseAddr; 132 + DWORD modBaseSize; 133 + HMODULE hModule; 134 + char szModule[MAX_MODULE_NAME32 + 1]; 135 + char szExePath[MAX_PATH]; 136 + } 137 + alias MODULEENTRY32* PMODULEENTRY32; 138 + alias MODULEENTRY32* LPMODULEENTRY32; 139 +} 140 + 141 + 142 +extern(Windows) { 143 + BOOL Heap32First(LPHEAPENTRY32,DWORD,DWORD); 144 + BOOL Heap32ListFirst(HANDLE,LPHEAPLIST32); 145 + BOOL Heap32ListNext(HANDLE,LPHEAPLIST32); 146 + BOOL Heap32Next(LPHEAPENTRY32); 147 + BOOL Thread32First(HANDLE,LPTHREADENTRY32); 148 + BOOL Thread32Next(HANDLE,LPTHREADENTRY32); 149 + BOOL Toolhelp32ReadProcessMemory(DWORD,LPCVOID,LPVOID,DWORD,LPDWORD); 150 + HANDLE CreateToolhelp32Snapshot(DWORD,DWORD); 151 + BOOL Module32FirstW(HANDLE,LPMODULEENTRY32W); 152 + BOOL Module32NextW(HANDLE,LPMODULEENTRY32W); 153 + BOOL Process32FirstW(HANDLE,LPPROCESSENTRY32W); 154 + BOOL Process32NextW(HANDLE,LPPROCESSENTRY32W); 155 +} 156 + 157 +version(Unicode) { 158 + alias Module32FirstW Module32First; 159 + alias Module32NextW Module32Next; 160 + alias Process32FirstW Process32First; 161 + alias Process32NextW Process32Next; 162 +} else { 163 + extern(Windows) { 164 + BOOL Module32First(HANDLE,LPMODULEENTRY32); 165 + BOOL Module32Next(HANDLE,LPMODULEENTRY32); 166 + BOOL Process32First(HANDLE,LPPROCESSENTRY32); 167 + BOOL Process32Next(HANDLE,LPPROCESSENTRY32); 168 + } 169 +}

Added src/win32/tmschema.d version [57cb44d41ff60fd2]

1 +/***********************************************************************\ 2 +* tmschema.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.tmschema; 11 + 12 +/* BUTTON parts */ 13 +enum { 14 + BP_PUSHBUTTON = 1, 15 + BP_RADIOBUTTON = 2, 16 + BP_CHECKBOX = 3, 17 + BP_GROUPBOX = 4, 18 + BP_USERBUTTON = 5 19 +} 20 + 21 +enum { 22 + CBS_UNCHECKEDNORMAL = 1, 23 + CBS_UNCHECKEDHOT = 2, 24 + CBS_UNCHECKEDPRESSED = 3, 25 + CBS_UNCHECKEDDISABLED = 4, 26 + CBS_CHECKEDNORMAL = 5, 27 + CBS_CHECKEDHOT = 6, 28 + CBS_CHECKEDPRESSED = 7, 29 + CBS_CHECKEDDISABLED = 8, 30 + CBS_MIXEDNORMAL = 9, 31 + CBS_MIXEDHOT = 10, 32 + CBS_MIXEDPRESSED = 11, 33 + CBS_MIXEDDISABLED = 12 34 +} 35 + 36 +enum { 37 + GBS_NORMAL = 1, 38 + GBS_DISABLED = 2 39 +} 40 + 41 +enum { 42 + PBS_NORMAL = 1, 43 + PBS_HOT = 2, 44 + PBS_PRESSED = 3, 45 + PBS_DISABLED = 4, 46 + PBS_DEFAULTED = 5 47 +} 48 + 49 +enum { 50 + RBS_UNCHECKEDNORMAL = 1, 51 + RBS_UNCHECKEDHOT = 2, 52 + RBS_UNCHECKEDPRESSED = 3, 53 + RBS_UNCHECKEDDISABLED = 4, 54 + RBS_CHECKEDNORMAL = 5, 55 + RBS_CHECKEDHOT = 6, 56 + RBS_CHECKEDPRESSED = 7, 57 + RBS_CHECKEDDISABLED = 8 58 +} 59 + 60 +/* CLOCK parts */ 61 +enum { 62 + CLP_TIME = 1 63 +} 64 + 65 +enum { 66 + CLS_NORMAL = 1 67 +} 68 + 69 +/* COMBOBOX parts */ 70 +enum { 71 + CP_DROPDOWNBUTTON = 1 72 +} 73 + 74 +enum { 75 + CBXS_NORMAL = 1, 76 + CBXS_HOT = 2, 77 + CBXS_PRESSED = 3, 78 + CBXS_DISABLED = 4 79 +} 80 + 81 +/* EDIT parts */ 82 +enum { 83 + EP_EDITTEXT = 1, 84 + EP_CARET = 2 85 +} 86 + 87 +enum { 88 + ETS_NORMAL = 1, 89 + ETS_HOT = 2, 90 + ETS_SELECTED = 3, 91 + ETS_DISABLED = 4, 92 + ETS_FOCUSED = 5, 93 + ETS_READONLY = 6, 94 + ETS_ASSIST = 7 95 +} 96 +/* EXPLORERBAR parts */ 97 +enum { 98 + EBP_HEADERBACKGROUND = 1, 99 + EBP_HEADERCLOSE = 2, 100 + EBP_HEADERPIN = 3, 101 + EBP_IEBARMENU = 4, 102 + EBP_NORMALGROUPBACKGROUND = 5, 103 + EBP_NORMALGROUPCOLLAPSE = 6, 104 + EBP_NORMALGROUPEXPAND = 7, 105 + EBP_NORMALGROUPHEAD = 8, 106 + EBP_SPECIALGROUPBACKGROUND = 9, 107 + EBP_SPECIALGROUPCOLLAPSE = 10, 108 + EBP_SPECIALGROUPEXPAND = 11, 109 + EBP_SPECIALGROUPHEAD = 12 110 +} 111 + 112 +enum { 113 + EBHC_NORMAL = 1, 114 + EBHC_HOT = 2, 115 + EBHC_PRESSED = 3 116 +} 117 + 118 +enum { 119 + EBHP_NORMAL = 1, 120 + EBHP_HOT = 2, 121 + EBHP_PRESSED = 3, 122 + EBHP_SELECTEDNORMAL = 4, 123 + EBHP_SELECTEDHOT = 5, 124 + EBHP_SELECTEDPRESSED = 6 125 +} 126 + 127 +enum { 128 + EBM_NORMAL = 1, 129 + EBM_HOT = 2, 130 + EBM_PRESSED = 3 131 +} 132 + 133 +enum { 134 + EBNGC_NORMAL = 1, 135 + EBNGC_HOT = 2, 136 + EBNGC_PRESSED = 3 137 +} 138 + 139 +enum { 140 + EBNGE_NORMAL = 1, 141 + EBNGE_HOT = 2, 142 + EBNGE_PRESSED = 3 143 +} 144 + 145 +enum { 146 + EBSGC_NORMAL = 1, 147 + EBSGC_HOT = 2, 148 + EBSGC_PRESSED = 3 149 +} 150 + 151 +enum { 152 + EBSGE_NORMAL = 1, 153 + EBSGE_HOT = 2, 154 + EBSGE_PRESSED = 3 155 +} 156 + 157 +/* HEADER parts */ 158 +enum { 159 + HP_HEADERITEM = 1, 160 + HP_HEADERITEMLEFT = 2, 161 + HP_HEADERITEMRIGHT = 3, 162 + HP_HEADERSORTARROW = 4 163 +} 164 + 165 +enum { 166 + HIS_NORMAL = 1, 167 + HIS_HOT = 2, 168 + HIS_PRESSED = 3 169 +} 170 + 171 +enum { 172 + HILS_NORMAL = 1, 173 + HILS_HOT = 2, 174 + HILS_PRESSED = 3 175 +} 176 + 177 +enum { 178 + HIRS_NORMAL = 1, 179 + HIRS_HOT = 2, 180 + HIRS_PRESSED = 3 181 +} 182 + 183 +enum { 184 + HSAS_SORTEDUP = 1, 185 + HSAS_SORTEDDOWN = 2 186 +} 187 + 188 +/* LISTVIEW parts */ 189 +enum { 190 + LVP_LISTITEM = 1, 191 + LVP_LISTGROUP = 2, 192 + LVP_LISTDETAIL = 3, 193 + LVP_LISTSORTEDDETAIL = 4, 194 + LVP_EMPTYTEXT = 5 195 +} 196 + 197 +enum { 198 + LIS_NORMAL = 1, 199 + LIS_HOT = 2, 200 + LIS_SELECTED = 3, 201 + LIS_DISABLED = 4, 202 + LIS_SELECTEDNOTFOCUS = 5 203 +} 204 + 205 +/* MENU parts */ 206 +enum { 207 + MP_MENUITEM = 1, 208 + MP_MENUDROPDOWN = 2, 209 + MP_MENUBARITEM = 3, 210 + MP_MENUBARDROPDOWN = 4, 211 + MP_CHEVRON = 5, 212 + MP_SEPARATOR = 6 213 +} 214 + 215 +enum { 216 + MS_NORMAL = 1, 217 + MS_SELECTED = 2, 218 + MS_DEMOTED = 3 219 +} 220 +/* MENUBAND parts */ 221 +enum { 222 + MDP_NEWAPPBUTTON = 1, 223 + MDP_SEPERATOR = 2 224 +} 225 + 226 +enum { 227 + MDS_NORMAL = 1, 228 + MDS_HOT = 2, 229 + MDS_PRESSED = 3, 230 + MDS_DISABLED = 4, 231 + MDS_CHECKED = 5, 232 + MDS_HOTCHECKED = 6 233 +} 234 + 235 +/* PAGE parts */ 236 +enum { 237 + PGRP_UP = 1, 238 + PGRP_DOWN = 2, 239 + PGRP_UPHORZ = 3, 240 + PGRP_DOWNHORZ = 4 241 +} 242 + 243 +enum { 244 + DNS_NORMAL = 1, 245 + DNS_HOT = 2, 246 + DNS_PRESSED = 3, 247 + DNS_DISABLED = 4 248 +} 249 + 250 +enum { 251 + DNHZS_NORMAL = 1, 252 + DNHZS_HOT = 2, 253 + DNHZS_PRESSED = 3, 254 + DNHZS_DISABLED = 4 255 +} 256 + 257 +enum { 258 + UPS_NORMAL = 1, 259 + UPS_HOT = 2, 260 + UPS_PRESSED = 3, 261 + UPS_DISABLED = 4 262 +} 263 + 264 +enum { 265 + UPHZS_NORMAL = 1, 266 + UPHZS_HOT = 2, 267 + UPHZS_PRESSED = 3, 268 + UPHZS_DISABLED = 4 269 +} 270 + 271 +/* PROGRESS parts */ 272 +enum { 273 + PP_BAR = 1, 274 + PP_BARVERT = 2, 275 + PP_CHUNK = 3, 276 + PP_CHUNKVERT = 4 277 +} 278 + 279 +/* REBAR parts */ 280 +enum { 281 + RP_GRIPPER = 1, 282 + RP_GRIPPERVERT = 2, 283 + RP_BAND = 3, 284 + RP_CHEVRON = 4, 285 + RP_CHEVRONVERT = 5 286 +} 287 + 288 +enum { 289 + CHEVS_NORMAL = 1, 290 + CHEVS_HOT = 2, 291 + CHEVS_PRESSED = 3 292 +} 293 + 294 +/* SCROLLBAR parts */ 295 +enum { 296 + SBP_ARROWBTN = 1, 297 + SBP_THUMBBTNHORZ = 2, 298 + SBP_THUMBBTNVERT = 3, 299 + SBP_LOWERTRACKHORZ = 4, 300 + SBP_UPPERTRACKHORZ = 5, 301 + SBP_LOWERTRACKVERT = 6, 302 + SBP_UPPERTRACKVERT = 7, 303 + SBP_GRIPPERHORZ = 8, 304 + SBP_GRIPPERVERT = 9, 305 + SBP_SIZEBOX = 10 306 +} 307 + 308 +enum { 309 + ABS_UPNORMAL = 1, 310 + ABS_UPHOT = 2, 311 + ABS_UPPRESSED = 3, 312 + ABS_UPDISABLED = 4, 313 + ABS_DOWNNORMAL = 5, 314 + ABS_DOWNHOT = 6, 315 + ABS_DOWNPRESSED = 7, 316 + ABS_DOWNDISABLED = 8, 317 + ABS_LEFTNORMAL = 9, 318 + ABS_LEFTHOT = 10, 319 + ABS_LEFTPRESSED = 11, 320 + ABS_LEFTDISABLED = 12, 321 + ABS_RIGHTNORMAL = 13, 322 + ABS_RIGHTHOT = 14, 323 + ABS_RIGHTPRESSED = 15, 324 + ABS_RIGHTDISABLED = 16 325 +} 326 + 327 +enum { 328 + SCRBS_NORMAL = 1, 329 + SCRBS_HOT = 2, 330 + SCRBS_PRESSED = 3, 331 + SCRBS_DISABLED = 4 332 +} 333 + 334 +enum { 335 + SZB_RIGHTALIGN = 1, 336 + SZB_LEFTALIGN = 2 337 +} 338 + 339 +/* SPIN parts */ 340 +enum { 341 + SPNP_UP = 1, 342 + SPNP_DOWN = 2, 343 + SPNP_UPHORZ = 3, 344 + SPNP_DOWNHORZ = 4 345 +} 346 + 347 +/* STARTPANEL parts */ 348 +enum { 349 + SPP_USERPANE = 1, 350 + SPP_MOREPROGRAMS = 2, 351 + SPP_MOREPROGRAMSARROW = 3, 352 + SPP_PROGLIST = 4, 353 + SPP_PROGLISTSEPARATOR = 5, 354 + SPP_PLACESLIST = 6, 355 + SPP_PLACESLISTSEPARATOR = 7, 356 + SPP_LOGOFF = 8, 357 + SPP_LOGOFFBUTTONS = 9, 358 + SPP_USERPICTURE = 10, 359 + SPP_PREVIEW = 11 360 +} 361 + 362 +enum { 363 + SPLS_NORMAL = 1, 364 + SPLS_HOT = 2, 365 + SPLS_PRESSED = 3 366 +} 367 + 368 +enum { 369 + SPS_NORMAL = 1, 370 + SPS_HOT = 2, 371 + SPS_PRESSED = 3 372 +} 373 + 374 +/* STATUS parts */ 375 +enum { 376 + SP_PANE = 1, 377 + SP_GRIPPERPANE = 2, 378 + SP_GRIPPER = 3 379 +} 380 + 381 +/* TAB parts */ 382 +enum { 383 + TABP_TABITEM = 1, 384 + TABP_TABITEMLEFTEDGE = 2, 385 + TABP_TABITEMRIGHTEDGE = 3, 386 + TABP_TABITEMBOTHEDGE = 4, 387 + TABP_TOPTABITEM = 5, 388 + TABP_TOPTABITEMLEFTEDGE = 6, 389 + TABP_TOPTABITEMRIGHTEDGE = 7, 390 + TABP_TOPTABITEMBOTHEDGE = 8, 391 + TABP_PANE = 9, 392 + TABP_BODY = 10 393 +} 394 + 395 +enum { 396 + TIS_NORMAL = 1, 397 + TIS_HOT = 2, 398 + TIS_SELECTED = 3, 399 + TIS_DISABLED = 4, 400 + TIS_FOCUSED = 5 401 +} 402 + 403 +enum { 404 + TIBES_NORMAL = 1, 405 + TIBES_HOT = 2, 406 + TIBES_SELECTED = 3, 407 + TIBES_DISABLED = 4, 408 + TIBES_FOCUSED = 5 409 +} 410 + 411 +enum { 412 + TILES_NORMAL = 1, 413 + TILES_HOT = 2, 414 + TILES_SELECTED = 3, 415 + TILES_DISABLED = 4, 416 + TILES_FOCUSED = 5 417 +} 418 + 419 +enum { 420 + TIRES_NORMAL = 1, 421 + TIRES_HOT = 2, 422 + TIRES_SELECTED = 3, 423 + TIRES_DISABLED = 4, 424 + TIRES_FOCUSED = 5 425 +} 426 + 427 +enum { 428 + TTIS_NORMAL = 1, 429 + TTIS_HOT = 2, 430 + TTIS_SELECTED = 3, 431 + TTIS_DISABLED = 4, 432 + TTIS_FOCUSED = 5 433 +} 434 + 435 +enum { 436 + TTIBES_NORMAL = 1, 437 + TTIBES_HOT = 2, 438 + TTIBES_SELECTED = 3, 439 + TTIBES_DISABLED = 4, 440 + TTIBES_FOCUSED = 5 441 +} 442 + 443 +enum { 444 + TTILES_NORMAL = 1, 445 + TTILES_HOT = 2, 446 + TTILES_SELECTED = 3, 447 + TTILES_DISABLED = 4, 448 + TTILES_FOCUSED = 5 449 +} 450 + 451 +enum { 452 + TTIRES_NORMAL = 1, 453 + TTIRES_HOT = 2, 454 + TTIRES_SELECTED = 3, 455 + TTIRES_DISABLED = 4, 456 + TTIRES_FOCUSED = 5 457 +} 458 + 459 +/* TASKBAND parts */ 460 +enum { 461 + TDP_GROUPCOUNT = 1, 462 + TDP_FLASHBUTTON = 2, 463 + TDP_FLASHBUTTONGROUPMENU = 3 464 +} 465 + 466 +/* TASKBAR parts */ 467 +enum { 468 + TBP_BACKGROUNDBOTTOM = 1, 469 + TBP_BACKGROUNDRIGHT = 2, 470 + TBP_BACKGROUNDTOP = 3, 471 + TBP_BACKGROUNDLEFT = 4, 472 + TBP_SIZINGBARBOTTOM = 5, 473 + TBP_SIZINGBARRIGHT = 6, 474 + TBP_SIZINGBARTOP = 7, 475 + TBP_SIZINGBARLEFT = 8 476 +} 477 + 478 +/* TOOLBAR parts */ 479 +enum { 480 + TP_BUTTON = 1, 481 + TP_DROPDOWNBUTTON = 2, 482 + TP_SPLITBUTTON = 3, 483 + TP_SPLITBUTTONDROPDOWN = 4, 484 + TP_SEPARATOR = 5, 485 + TP_SEPARATORVERT = 6 486 +} 487 + 488 +enum { 489 + TS_NORMAL = 1, 490 + TS_HOT = 2, 491 + TS_PRESSED = 3, 492 + TS_DISABLED = 4, 493 + TS_CHECKED = 5, 494 + TS_HOTCHECKED = 6 495 +} 496 + 497 +/* TOOLTIP parts */ 498 +enum { 499 + TTP_STANDARD = 1, 500 + TTP_STANDARDTITLE = 2, 501 + TTP_BALLOON = 3, 502 + TTP_BALLOONTITLE = 4, 503 + TTP_CLOSE = 5 504 +} 505 + 506 +enum { 507 + TTBS_NORMAL = 1, 508 + TTBS_LINK = 2 509 +} 510 + 511 +enum { 512 + TTCS_NORMAL = 1, 513 + TTCS_HOT = 2, 514 + TTCS_PRESSED = 3 515 +} 516 + 517 +enum { 518 + TTSS_NORMAL = 1, 519 + TTSS_LINK = 2 520 +} 521 + 522 +/* TRACKBAR parts */ 523 +enum { 524 + TKP_TRACK = 1, 525 + TKP_TRACKVERT = 2, 526 + TKP_THUMB = 3, 527 + TKP_THUMBBOTTOM = 4, 528 + TKP_THUMBTOP = 5, 529 + TKP_THUMBVERT = 6, 530 + TKP_THUMBLEFT = 7, 531 + TKP_THUMBRIGHT = 8, 532 + TKP_TICS = 9, 533 + TKP_TICSVERT = 10 534 +} 535 + 536 +enum { 537 + TUS_NORMAL = 1, 538 + TUS_HOT = 2, 539 + TUS_PRESSED = 3, 540 + TUS_FOCUSED = 4, 541 + TUS_DISABLED = 5 542 +} 543 + 544 +enum { 545 + TUBS_NORMAL = 1, 546 + TUBS_HOT = 2, 547 + TUBS_PRESSED = 3, 548 + TUBS_FOCUSED = 4, 549 + TUBS_DISABLED = 5 550 +} 551 + 552 +enum { 553 + TUVLS_NORMAL = 1, 554 + TUVLS_HOT = 2, 555 + TUVLS_PRESSED = 3, 556 + TUVLS_FOCUSED = 4, 557 + TUVLS_DISABLED = 5 558 +} 559 + 560 +enum { 561 + TUVRS_NORMAL = 1, 562 + TUVRS_HOT = 2, 563 + TUVRS_PRESSED = 3, 564 + TUVRS_FOCUSED = 4, 565 + TUVRS_DISABLED = 5 566 +} 567 + 568 +enum { 569 + TUTS_NORMAL = 1, 570 + TUTS_HOT = 2, 571 + TUTS_PRESSED = 3, 572 + TUTS_FOCUSED = 4, 573 + TUTS_DISABLED = 5 574 +} 575 + 576 +enum { 577 + TUVS_NORMAL = 1, 578 + TUVS_HOT = 2, 579 + TUVS_PRESSED = 3, 580 + TUVS_FOCUSED = 4, 581 + TUVS_DISABLED = 5 582 +} 583 + 584 +enum { 585 + TSS_NORMAL = 1 586 +} 587 + 588 +enum { 589 + TSVS_NORMAL = 1 590 +} 591 + 592 +enum { 593 + TRS_NORMAL = 1 594 +} 595 + 596 +enum { 597 + TRVS_NORMAL = 1 598 +} 599 + 600 +/* TRAYNOTIFY parts */ 601 +enum { 602 + TNP_BACKGROUND = 1, 603 + TNP_ANIMBACKGROUND = 2 604 +} 605 + 606 +/* TREEVIEW parts */ 607 +enum { 608 + TVP_TREEITEM = 1, 609 + TVP_GLYPH = 2, 610 + TVP_BRANCH = 3 611 +} 612 + 613 +enum { 614 + GLPS_CLOSED = 1, 615 + GLPS_OPENED = 2 616 +} 617 + 618 +enum { 619 + TREIS_NORMAL = 1, 620 + TREIS_HOT = 2, 621 + TREIS_SELECTED = 3, 622 + TREIS_DISABLED = 4, 623 + TREIS_SELECTEDNOTFOCUS = 5 624 +} 625 + 626 +/* WINDOW parts */ 627 +enum { 628 + WP_CAPTION = 1, 629 + WP_SMALLCAPTION = 2, 630 + WP_MINCAPTION = 3, 631 + WP_SMALLMINCAPTION = 4, 632 + WP_MAXCAPTION = 5, 633 + WP_SMALLMAXCAPTION = 6, 634 + WP_FRAMELEFT = 7, 635 + WP_FRAMERIGHT = 8, 636 + WP_FRAMEBOTTOM = 9, 637 + WP_SMALLFRAMELEFT = 10, 638 + WP_SMALLFRAMERIGHT = 11, 639 + WP_SMALLFRAMEBOTTOM = 12, 640 + WP_SYSBUTTON = 13, 641 + WP_MDISYSBUTTON = 14, 642 + WP_MINBUTTON = 15, 643 + WP_MDIMINBUTTON = 16, 644 + WP_MAXBUTTON = 17, 645 + WP_CLOSEBUTTON = 18, 646 + WP_SMALLCLOSEBUTTON = 19, 647 + WP_MDICLOSEBUTTON = 20, 648 + WP_RESTOREBUTTON = 21, 649 + WP_MDIRESTOREBUTTON = 22, 650 + WP_HELPBUTTON = 23, 651 + WP_MDIHELPBUTTON = 24, 652 + WP_HORZSCROLL = 25, 653 + WP_HORZTHUMB = 26, 654 + WP_VERTSCROLL = 27, 655 + WP_VERTTHUMB = 28, 656 + WP_DIALOG = 29, 657 + WP_CAPTIONSIZINGTEMPLATE = 30, 658 + WP_SMALLCAPTIONSIZINGTEMPLATE = 31, 659 + WP_FRAMELEFTSIZINGTEMPLATE = 32, 660 + WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33, 661 + WP_FRAMERIGHTSIZINGTEMPLATE = 34, 662 + WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35, 663 + WP_FRAMEBOTTOMSIZINGTEMPLATE = 36, 664 + WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37 665 +} 666 + 667 +enum { 668 + CS_ACTIVE = 1, 669 + CS_INACTIVE = 2, 670 + CS_DISABLED = 3 671 +} 672 + 673 +enum { 674 + CBS_NORMAL = 1, 675 + CBS_HOT = 2, 676 + CBS_PUSHED = 3, 677 + CBS_DISABLED = 4 678 +} 679 + 680 +enum { 681 + FS_ACTIVE = 1, 682 + FS_INACTIVE = 2 683 +} 684 + 685 +enum { 686 + HBS_NORMAL = 1, 687 + HBS_HOT = 2, 688 + HBS_PUSHED = 3, 689 + HBS_DISABLED = 4 690 +} 691 + 692 +enum { 693 + HSS_NORMAL = 1, 694 + HSS_HOT = 2, 695 + HSS_PUSHED = 3, 696 + HSS_DISABLED = 4 697 +} 698 + 699 +enum { 700 + HTS_NORMAL = 1, 701 + HTS_HOT = 2, 702 + HTS_PUSHED = 3, 703 + HTS_DISABLED = 4 704 +} 705 + 706 +enum { 707 + MAXBS_NORMAL = 1, 708 + MAXBS_HOT = 2, 709 + MAXBS_PUSHED = 3, 710 + MAXBS_DISABLED = 4 711 +} 712 + 713 +enum { 714 + MXCS_ACTIVE = 1, 715 + MXCS_INACTIVE = 2, 716 + MXCS_DISABLED = 3 717 +} 718 + 719 +enum { 720 + MINBS_NORMAL = 1, 721 + MINBS_HOT = 2, 722 + MINBS_PUSHED = 3, 723 + MINBS_DISABLED = 4 724 +} 725 + 726 +enum { 727 + RBS_NORMAL = 1, 728 + RBS_HOT = 2, 729 + RBS_PUSHED = 3, 730 + RBS_DISABLED = 4 731 +} 732 + 733 +enum { 734 + SBS_NORMAL = 1, 735 + SBS_HOT = 2, 736 + SBS_PUSHED = 3, 737 + SBS_DISABLED = 4 738 +} 739 + 740 +enum { 741 + MNCS_ACTIVE = 1, 742 + MNCS_INACTIVE = 2, 743 + MNCS_DISABLED = 3 744 +} 745 + 746 +enum { 747 + VSS_NORMAL = 1, 748 + VSS_HOT = 2, 749 + VSS_PUSHED = 3, 750 + VSS_DISABLED = 4 751 +} 752 + 753 +enum { 754 + VTS_NORMAL = 1, 755 + VTS_HOT = 2, 756 + VTS_PUSHED = 3, 757 + VTS_DISABLED = 4 758 +}

Added src/win32/unknwn.d version [bef2bcd5872970ce]

1 +/***********************************************************************\ 2 +* unknwn.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.unknwn; 11 + 12 +import win32.objfwd, win32.windef, win32.wtypes; 13 +private import win32.basetyps; 14 + 15 +extern (Windows) { 16 + void* MIDL_user_allocate(size_t); 17 + void MIDL_user_free(void*); 18 +} 19 + 20 + 21 +extern (Windows) { 22 + 23 + interface IUnknown { 24 + HRESULT QueryInterface(IID* riid, void** pvObject); 25 + ULONG AddRef(); 26 + ULONG Release(); 27 + } 28 + 29 + alias IUnknown LPUNKNOWN; 30 + 31 + interface IClassFactory : IUnknown { 32 + HRESULT CreateInstance(IUnknown UnkOuter, IID* riid, void** pvObject); 33 + HRESULT LockServer(BOOL fLock); 34 + } 35 + alias IClassFactory LPCLASSFACTORY; 36 + 37 + /+ 38 + // These do not seem to be necessary (or desirable) for D. 39 + HRESULT IUnknown_QueryInterface_Proxy(IUnknown*,REFIID,void**); 40 + ULONG IUnknown_AddRef_Proxy(IUnknown*); 41 + ULONG IUnknown_Release_Proxy(IUnknown*); 42 + HRESULT IClassFactory_RemoteCreateInstance_Proxy(IClassFactory*,REFIID,IUnknown**); 43 + HRESULT IClassFactory_RemoteLockServer_Proxy(IClassFactory*,BOOL); 44 + HRESULT IClassFactory_CreateInstance_Proxy(IClassFactory*,IUnknown*,REFIID,void**); 45 + HRESULT IClassFactory_CreateInstance_Stub(IClassFactory*,REFIID,IUnknown**); 46 + HRESULT IClassFactory_LockServer_Proxy(IClassFactory*,BOOL); 47 + HRESULT IClassFactory_LockServer_Stub(IClassFactory*,BOOL); 48 + 49 + void IUnknown_QueryInterface_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 50 + void IUnknown_AddRef_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 51 + void IUnknown_Release_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 52 + void IClassFactory_RemoteCreateInstance_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 53 + void IClassFactory_RemoteLockServer_Stub(LPRPCSTUBBUFFER,LPRPCCHANNELBUFFER,PRPC_MESSAGE,PDWORD); 54 + +/ 55 +}

Added src/win32/usp10.d version [a70e4c08c60d829b]

1 +/* USP - Unicode Complex Script processor 2 + * http://msdn2.microsoft.com/library/ms776488 */ 3 + 4 + 5 +module win32.usp10; 6 +import win32.windows; 7 + 8 + 9 + 10 +/* Uniscribe Enumeration Types 11 + * http://msdn2.microsoft.com/library/ms776518 */ 12 + 13 +enum : WORD { 14 + SCRIPT_UNDEFINED = 0, 15 +} 16 + 17 +enum : DWORD { 18 + SGCM_RTL = 0x00000001, 19 +} 20 + 21 +enum : DWORD { 22 + SSA_PASSWORD = 0x00000001, 23 + SSA_TAB = 0x00000002, 24 + SSA_CLIP = 0x00000004, 25 + SSA_FIT = 0x00000008, 26 + SSA_DZWG = 0x00000010, 27 + SSA_FALLBACK = 0x00000020, 28 + SSA_BREAK = 0x00000040, 29 + SSA_GLYPHS = 0x00000080, 30 + SSA_RTL = 0x00000100, 31 + SSA_GCP = 0x00000200, 32 + SSA_HOTKEY = 0x00000400, 33 + SSA_METAFILE = 0x00000800, 34 + SSA_LINK = 0x00001000, 35 + SSA_HIDEHOTKEY = 0x00002000, 36 + SSA_HOTKEYONLY = 0x00002400, 37 + SSA_FULLMEASURE = 0x04000000, 38 + SSA_LPKANSIFALLBACK = 0x08000000, 39 + SSA_PIDX = 0x10000000, 40 + SSA_LAYOUTRTL = 0x20000000, 41 + SSA_DONTGLYPH = 0x40000000, 42 + SSA_NOKASHIDA = 0x80000000, 43 +} 44 + 45 +enum : DWORD { 46 + SIC_COMPLEX = 1, 47 + SIC_ASCIIDIGIT = 2, 48 + SIC_NEUTRAL = 4, 49 +} 50 + 51 +enum : DWORD { 52 + SCRIPT_DIGITSUBSTITUTE_CONTEXT, 53 + SCRIPT_DIGITSUBSTITUTE_NONE, 54 + SCRIPT_DIGITSUBSTITUTE_NATIONAL, 55 + SCRIPT_DIGITSUBSTITUTE_TRADITIONAL, 56 +} 57 + 58 +enum SCRIPT_JUSTIFY : WORD { 59 + SCRIPT_JUSTIFY_NONE, 60 + SCRIPT_JUSTIFY_ARABIC_BLANK, 61 + SCRIPT_JUSTIFY_CHARACTER, 62 + SCRIPT_JUSTIFY_RESERVED1, 63 + SCRIPT_JUSTIFY_BLANK, 64 + SCRIPT_JUSTIFY_RESERVED2, 65 + SCRIPT_JUSTIFY_RESERVED3, 66 + SCRIPT_JUSTIFY_ARABIC_NORMAL, 67 + SCRIPT_JUSTIFY_ARABIC_KASHIDA, 68 + SCRIPT_JUSTIFY_ARABIC_ALEF, 69 + SCRIPT_JUSTIFY_ARABIC_HA, 70 + SCRIPT_JUSTIFY_ARABIC_RA, 71 + SCRIPT_JUSTIFY_ARABIC_BA, 72 + SCRIPT_JUSTIFY_ARABIC_BARA, 73 + SCRIPT_JUSTIFY_ARABIC_SEEN, 74 + SCRIPT_JUSTIFY_ARABIC_SEEN_M, 75 +} 76 + 77 + 78 + 79 +/* Uniscribe Structures 80 + * http://msdn2.microsoft.com/library/ms776479 */ 81 + 82 +alias void* SCRIPT_CACHE; 83 +alias void* SCRIPT_STRING_ANALYSIS; 84 + 85 +extern (C) 86 +{ 87 + struct SCRIPT_CONTROL 88 + { 89 + private DWORD _bitfield; 90 + DWORD uDefaultLanguage() { return (_bitfield >> 0) & 0xFFFF; } 91 + DWORD uDefaultLanguage(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFFFF0000) | (val << 0)); return val; } 92 + DWORD fContextDigits() { return (_bitfield >> 16) & 0x1; } 93 + DWORD fContextDigits(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFFFEFFFF) | (val << 16)); return val; } 94 + DWORD fInvertPreBoundDir() { return (_bitfield >> 17) & 0x1; } 95 + DWORD fInvertPreBoundDir(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFFFDFFFF) | (val << 17)); return val; } 96 + DWORD fInvertPostBoundDir() { return (_bitfield >> 18) & 0x1; } 97 + DWORD fInvertPostBoundDir(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFFFBFFFF) | (val << 18)); return val; } 98 + DWORD fLinkStringBefore() { return (_bitfield >> 19) & 0x1; } 99 + DWORD fLinkStringBefore(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFFF7FFFF) | (val << 19)); return val; } 100 + DWORD fLinkStringAfter() { return (_bitfield >> 20) & 0x1; } 101 + DWORD fLinkStringAfter(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFFEFFFFF) | (val << 20)); return val; } 102 + DWORD fNeutralOverride() { return (_bitfield >> 21) & 0x1; } 103 + DWORD fNeutralOverride(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFFDFFFFF) | (val << 21)); return val; } 104 + DWORD fNumericOverride() { return (_bitfield >> 22) & 0x1; } 105 + DWORD fNumericOverride(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFFBFFFFF) | (val << 22)); return val; } 106 + DWORD fLegacyBidiClass() { return (_bitfield >> 23) & 0x1; } 107 + DWORD fLegacyBidiClass(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFFFF7FFFFF) | (val << 23)); return val; } 108 + DWORD fReserved() { return (_bitfield >> 24) & 0xFF; } 109 + DWORD fReserved(DWORD val) { _bitfield = cast(DWORD)((_bitfield & 0xFFFFFFFF00FFFFFF) | (val << 24)); return val; } 110 + } 111 + 112 + struct SCRIPT_STATE 113 + { 114 + private WORD _bitfield; 115 + WORD uBidiLevel() { return cast(WORD)((_bitfield >> 0) & 0x1F); } 116 + WORD uBidiLevel(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFFE0) | (val << 0)); return val; } 117 + WORD fOverrideDirection() { return cast(WORD)((_bitfield >> 5) & 0x1); } 118 + WORD fOverrideDirection(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFFDF) | (val << 5)); return val; } 119 + WORD fInhibitSymSwap() { return cast(WORD)((_bitfield >> 6) & 0x1); } 120 + WORD fInhibitSymSwap(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFFBF) | (val << 6)); return val; } 121 + WORD fCharShape() { return cast(WORD)((_bitfield >> 7) & 0x1); } 122 + WORD fCharShape(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFF7F) | (val << 7)); return val; } 123 + WORD fDigitSubstitute() { return cast(WORD)((_bitfield >> 8) & 0x1); } 124 + WORD fDigitSubstitute(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFEFF) | (val << 8)); return val; } 125 + WORD fInhibitLigate() { return cast(WORD)((_bitfield >> 9) & 0x1); } 126 + WORD fInhibitLigate(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFDFF) | (val << 9)); return val; } 127 + WORD fDisplayZWG() { return cast(WORD)((_bitfield >> 10) & 0x1); } 128 + WORD fDisplayZWG(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFBFF) | (val << 10)); return val; } 129 + WORD fArabicNumContext() { return cast(WORD)((_bitfield >> 11) & 0x1); } 130 + WORD fArabicNumContext(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFF7FF) | (val << 11)); return val; } 131 + WORD fGcpClusters() { return cast(WORD)((_bitfield >> 12) & 0x1); } 132 + WORD fGcpClusters(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFEFFF) | (val << 12)); return val; } 133 + WORD fReserved() { return cast(WORD)((_bitfield >> 13) & 0x1); } 134 + WORD fReserved(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFDFFF) | (val << 13)); return val; } 135 + WORD fEngineReserved() { return cast(WORD)((_bitfield >> 14) & 0x3); } 136 + WORD fEngineReserved(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFF3FFF) | (val << 14)); return val; } 137 + } 138 + 139 + 140 + struct SCRIPT_ANALYSIS 141 + { 142 + private WORD _bitfield; 143 + WORD eScript() { return cast(WORD)((_bitfield >> 0) & 0x3FF); } 144 + WORD eScript(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFC00) | (val << 0)); return val; } 145 + WORD fRTL() { return cast(WORD)((_bitfield >> 10) & 0x1); } 146 + WORD fRTL(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFBFF) | (val << 10)); return val; } 147 + WORD fLayoutRTL() { return cast(WORD)((_bitfield >> 11) & 0x1); } 148 + WORD fLayoutRTL(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFF7FF) | (val << 11)); return val; } 149 + WORD fLinkBefore() { return cast(WORD)((_bitfield >> 12) & 0x1); } 150 + WORD fLinkBefore(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFEFFF) | (val << 12)); return val; } 151 + WORD fLinkAfter() { return cast(WORD)((_bitfield >> 13) & 0x1); } 152 + WORD fLinkAfter(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFDFFF) | (val << 13)); return val; } 153 + WORD fLogicalOrder() { return cast(WORD)((_bitfield >> 14) & 0x1); } 154 + WORD fLogicalOrder(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFBFFF) | (val << 14)); return val; } 155 + WORD fNoGlyphIndex() { return cast(WORD)((_bitfield >> 15) & 0x1); } 156 + WORD fNoGlyphIndex(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFF7FFF) | (val << 15)); return val; } 157 + SCRIPT_STATE s; 158 + } 159 + 160 + 161 + struct SCRIPT_ITEM 162 + { 163 + int iCharPos; 164 + SCRIPT_ANALYSIS a; 165 + } 166 + 167 + struct SCRIPT_VISATTR 168 + { 169 + private WORD _bitfield; 170 + WORD uJustification() { return cast(WORD)((_bitfield >> 0) & 0xF); } 171 + WORD uJustification(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFFF0) | (val << 0)); return val; } 172 + WORD fClusterStart() { return cast(WORD)((_bitfield >> 4) & 0x1); } 173 + WORD fClusterStart(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFFEF) | (val << 4)); return val; } 174 + WORD fDiacritic() { return cast(WORD)((_bitfield >> 5) & 0x1); } 175 + WORD fDiacritic(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFFDF) | (val << 5)); return val; } 176 + WORD fZeroWidth() { return cast(WORD)((_bitfield >> 6) & 0x1); } 177 + WORD fZeroWidth(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFFBF) | (val << 6)); return val; } 178 + WORD fReserved() { return cast(WORD)((_bitfield >> 7) & 0x1); } 179 + WORD fReserved(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFFFF7F) | (val << 7)); return val; } 180 + WORD fShapeReserved() { return cast(WORD)((_bitfield >> 8) & 0xFF); } 181 + WORD fShapeReserved(WORD val) { _bitfield = cast(WORD)((_bitfield & 0xFFFFFFFFFFFF00FF) | (val << 8)); return val; } 182 + } 183 + 184 + struct GOFFSET 185 + { 186 + LONG du; 187 + LONG dv; 188 + } 189 + 190 + struct SCRIPT_LOGATTR 191 + { 192 + BYTE _bitfield; 193 + BYTE fSoftBreak() { return cast(BYTE)((_bitfield >> 0) & 0x1); } 194 + BYTE fSoftBreak(BYTE val) { _bitfield = cast(BYTE)((_bitfield & 0xFFFFFFFFFFFFFFFE) | (val << 0)); return val; } 195 + BYTE fWhiteSpace() { return cast(BYTE)((_bitfield >> 1) & 0x1); } 196 + BYTE fWhiteSpace(BYTE val) { _bitfield = cast(BYTE)((_bitfield & 0xFFFFFFFFFFFFFFFD) | (val << 1)); return val; } 197 + BYTE fCharStop() { return cast(BYTE)((_bitfield >> 2) & 0x1); } 198 + BYTE fCharStop(BYTE val) { _bitfield = cast(BYTE)((_bitfield & 0xFFFFFFFFFFFFFFFB) | (val << 2)); return val; } 199 + BYTE fWordStop() { return cast(BYTE)((_bitfield >> 3) & 0x1); } 200 + BYTE fWordStop(BYTE val) { _bitfield = cast(BYTE)((_bitfield & 0xFFFFFFFFFFFFFFF7) | (val << 3)); return val; } 201 + BYTE fInvalid() { return cast(BYTE)((_bitfield >> 4) & 0x1); } 202 + BYTE fInvalid(BYTE val) { _bitfield = cast(BYTE)((_bitfield & 0xFFFFFFFFFFFFFFEF) | (val << 4)); return val; } 203 + BYTE fReserved() { return cast(BYTE)((_bitfield >> 5) & 0x7); } 204 + BYTE fReserved(BYTE val) { _bitfield = cast(BYTE)((_bitfield & 0xFFFFFFFFFFFFFF1F) | (val << 5)); return val; } 205 + } 206 + 207 + struct SCRIPT_PROPERTIES 208 + { 209 + private DWORD _bitfield1; 210 + DWORD langid() { return (_bitfield1 >> 0) & 0xFFFF; } 211 + DWORD langid(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFFFFF0000) | (val << 0)); return val; } 212 + DWORD fNumeric() { return (_bitfield1 >> 16) & 0x1; } 213 + DWORD fNumeric(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFFFFEFFFF) | (val << 16)); return val; } 214 + DWORD fComplex() { return (_bitfield1 >> 17) & 0x1; } 215 + DWORD fComplex(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFFFFDFFFF) | (val << 17)); return val; } 216 + DWORD fNeedsWordBreaking() { return (_bitfield1 >> 18) & 0x1; } 217 + DWORD fNeedsWordBreaking(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFFFFBFFFF) | (val << 18)); return val; } 218 + DWORD fNeedsCaretInfo() { return (_bitfield1 >> 19) & 0x1; } 219 + DWORD fNeedsCaretInfo(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFFFF7FFFF) | (val << 19)); return val; } 220 + DWORD bCharSet() { return (_bitfield1 >> 20) & 0xFF; } 221 + DWORD bCharSet(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFF00FFFFF) | (val << 20)); return val; } 222 + DWORD fControl() { return (_bitfield1 >> 28) & 0x1; } 223 + DWORD fControl(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFEFFFFFFF) | (val << 28)); return val; } 224 + DWORD fPrivateUseArea() { return (_bitfield1 >> 29) & 0x1; } 225 + DWORD fPrivateUseArea(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFDFFFFFFF) | (val << 29)); return val; } 226 + DWORD fNeedsCharacterJustify() { return (_bitfield1 >> 30) & 0x1; } 227 + DWORD fNeedsCharacterJustify(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFBFFFFFFF) | (val << 30)); return val; } 228 + DWORD fInvalidGlyph() { return (_bitfield1 >> 31) & 0x1; } 229 + DWORD fInvalidGlyph(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFF7FFFFFFF) | (val << 31)); return val; } 230 + private DWORD _bitfield2; 231 + DWORD fInvalidLogAttr() { return (_bitfield2 >> 0) & 0x1; } 232 + DWORD fInvalidLogAttr(DWORD val) { _bitfield2 = cast(DWORD)((_bitfield2 & 0xFFFFFFFFFFFFFFFE) | (val << 0)); return val; } 233 + DWORD fCDM() { return (_bitfield2 >> 1) & 0x1; } 234 + DWORD fCDM(DWORD val) { _bitfield2 = cast(DWORD)((_bitfield2 & 0xFFFFFFFFFFFFFFFD) | (val << 1)); return val; } 235 + DWORD fAmbiguousCharSet() { return (_bitfield2 >> 2) & 0x1; } 236 + DWORD fAmbiguousCharSet(DWORD val) { _bitfield2 = cast(DWORD)((_bitfield2 & 0xFFFFFFFFFFFFFFFB) | (val << 2)); return val; } 237 + DWORD fClusterSizeVaries() { return (_bitfield2 >> 3) & 0x1; } 238 + DWORD fClusterSizeVaries(DWORD val) { _bitfield2 = cast(DWORD)((_bitfield2 & 0xFFFFFFFFFFFFFFF7) | (val << 3)); return val; } 239 + DWORD fRejectInvalid() { return (_bitfield2 >> 4) & 0x1; } 240 + DWORD fRejectInvalid(DWORD val) { _bitfield2 = cast(DWORD)((_bitfield2 & 0xFFFFFFFFFFFFFFEF) | (val << 4)); return val; } 241 + } 242 + 243 + struct SCRIPT_FONTPROPERTIES 244 + { 245 + int cBytes = SCRIPT_FONTPROPERTIES.sizeof; 246 + WORD wgBlank; 247 + WORD wgDefault; 248 + WORD wgInvalid; 249 + WORD wgKashida; 250 + int iKashidaWidth; 251 + } 252 + 253 + struct SCRIPT_TABDEF 254 + { 255 + int cTabStops; 256 + int iScale; 257 + int* pTabStops; 258 + int iTabOrigin; 259 + } 260 + 261 + struct SCRIPT_DIGITSUBSTITUTE 262 + { 263 + private DWORD _bitfield1; 264 + DWORD NationalDigitLanguage() { return (_bitfield1 >> 0) & 0xFFFF; } 265 + DWORD NationalDigitLanguage(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFFFFFF0000) | (val << 0)); return val; } 266 + DWORD TraditionalDigitLanguage() { return (_bitfield1 >> 16) & 0xFFFF; } 267 + DWORD TraditionalDigitLanguage(DWORD val) { _bitfield1 = cast(DWORD)((_bitfield1 & 0xFFFFFFFF0000FFFF) | (val << 16)); return val; } 268 + private DWORD _bitfield2; 269 + DWORD DigitSubstitute() { return (_bitfield2 >> 0) & 0xFF; } 270 + DWORD DigitSubstitute(DWORD val) { _bitfield2 = cast(DWORD)((_bitfield2 & 0xFFFFFFFFFFFFFF00) | (val << 0)); return val; } 271 + DWORD dwReserved; 272 + } 273 + 274 + /* TODO: Windows Vista fearured structs 275 + OPENTYPE_FEATURE_RECORD 276 + OPENTYPE_TAG 277 + SCRIPT_CHARPROP 278 + SCRIPT_GLYPHPROP 279 + TEXTRANGE_PROPERTIES 280 + */ 281 +} 282 + 283 + 284 +/* Uniscribe Functions 285 + * http://msdn2.microsoft.com/library/ms776469 */ 286 +extern (Windows) 287 +{ 288 + HRESULT ScriptFreeCache(SCRIPT_CACHE*); 289 + HRESULT ScriptItemize(CPtr!(WCHAR), int, int, CPtr!(SCRIPT_CONTROL), CPtr!(SCRIPT_STATE), SCRIPT_ITEM*, int*); 290 + HRESULT ScriptLayout(int, CPtr!(BYTE), int*, int*); 291 + HRESULT ScriptShape(HDC, SCRIPT_CACHE*, CPtr!(WCHAR), int, int, SCRIPT_ANALYSIS*, WORD*, WORD*, SCRIPT_VISATTR*, int*); 292 + HRESULT ScriptPlace(HDC, SCRIPT_CACHE*, CPtr!(WORD), int, CPtr!(SCRIPT_VISATTR), SCRIPT_ANALYSIS*, int*, GOFFSET*, ABC*); 293 + HRESULT ScriptTextOut(HDC, SCRIPT_CACHE*, int, int, UINT, CPtr!(RECT), CPtr!(SCRIPT_ANALYSIS), CPtr!(WCHAR), int, CPtr!(WORD), int, CPtr!(int), int*, CPtr!(GOFFSET)); 294 + HRESULT ScriptJustify(CPtr!(SCRIPT_VISATTR), CPtr!(int), int, int, int, int*); 295 + HRESULT ScriptBreak(CPtr!(WCHAR), int, CPtr!(SCRIPT_ANALYSIS), CPtr!(SCRIPT_LOGATTR)); 296 + HRESULT ScriptCPtoX(int, BOOL, int, int, CPtr!(WORD), CPtr!(SCRIPT_VISATTR), CPtr!(int), CPtr!(SCRIPT_ANALYSIS), int*); 297 + HRESULT ScriptXtoCP(int, int, int, CPtr!(WORD), CPtr!(SCRIPT_VISATTR), CPtr!(int), CPtr!(SCRIPT_ANALYSIS), int*, int*); 298 + HRESULT ScriptGetLogicalWidths(CPtr!(SCRIPT_ANALYSIS), int, int, CPtr!(int), CPtr!(WORD), CPtr!(SCRIPT_VISATTR), int*); 299 + HRESULT ScriptApplyLogicalWidth(CPtr!(int), int, int, CPtr!(WORD), CPtr!(SCRIPT_VISATTR), CPtr!(int), CPtr!(SCRIPT_ANALYSIS), ABC*, int*); 300 + HRESULT ScriptGetCMap(HDC, SCRIPT_CACHE*, CPtr!(WCHAR), int, DWORD, WORD*); 301 + HRESULT ScriptGetGlyphABCWidth(HDC, SCRIPT_CACHE*, WORD, ABC*); 302 + HRESULT ScriptGetProperties(CPtr!(SCRIPT_PROPERTIES**), int*); 303 + HRESULT ScriptGetFontProperties(HDC, SCRIPT_CACHE*, SCRIPT_FONTPROPERTIES*); 304 + HRESULT ScriptCacheGetHeight(HDC, SCRIPT_CACHE*, int*); 305 + HRESULT ScriptIsComplex(CPtr!(WCHAR), int, DWORD); 306 + HRESULT ScriptRecordDigitSubstitution(LCID, SCRIPT_DIGITSUBSTITUTE*); 307 + HRESULT ScriptApplyDigitSubstitution(CPtr!(SCRIPT_DIGITSUBSTITUTE), SCRIPT_CONTROL*, SCRIPT_STATE*); 308 + 309 + /* ScriptString Functions 310 + * http://msdn2.microsoft.com/library/ms776485 */ 311 + HRESULT ScriptStringAnalyse(HDC, CPtr!(void), int, int, int, DWORD, int, SCRIPT_CONTROL*, SCRIPT_STATE*, CPtr!(int), SCRIPT_TABDEF*, CPtr!(BYTE), SCRIPT_STRING_ANALYSIS*); 312 + HRESULT ScriptStringFree(SCRIPT_STRING_ANALYSIS*); 313 + CPtr!(SIZE) ScriptString_pSize(SCRIPT_STRING_ANALYSIS); 314 + CPtr!(int) ScriptString_pcOutChars(SCRIPT_STRING_ANALYSIS); 315 + CPtr!(SCRIPT_LOGATTR) ScriptString_pLogAttr(SCRIPT_STRING_ANALYSIS); 316 + HRESULT ScriptStringGetOrder(SCRIPT_STRING_ANALYSIS, UINT*); 317 + HRESULT ScriptStringCPtoX(SCRIPT_STRING_ANALYSIS, int, BOOL, int*); 318 + HRESULT ScriptStringXtoCP(SCRIPT_STRING_ANALYSIS, int, int*, int*); 319 + HRESULT ScriptStringGetLogicalWidths(SCRIPT_STRING_ANALYSIS, int*); 320 + HRESULT ScriptStringValidate(SCRIPT_STRING_ANALYSIS); 321 + HRESULT ScriptStringOut(SCRIPT_STRING_ANALYSIS, int, int, UINT, CPtr!(RECT), int, int, BOOL); 322 + 323 + /* TODO: Windows Vista fearured functions 324 + ScriptGetFontAlternateGlyphs() 325 + ScriptGetFontFeatureTags() 326 + ScriptGetFontLanguageTags() 327 + ScriptGetFontScriptTags() 328 + ScriptItemizeOpenType() 329 + ScriptPlaceOpenType() 330 + ScriptPositionSingleGlyph() 331 + ScriptShapeOpenType() 332 + ScriptSubstituteSingleGlyph() 333 + */ 334 +}

Added src/win32/uuid.d version [522e1289f42c29a4]

1 +module win32.uuid; 2 + 3 +import win32.basetyps; 4 + 5 +extern(C) { 6 + const IID _DBBMKGUID = {0xF6304BB0, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 7 + const IID _DBCIDGUID = {0xFE284700, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 8 + const IID _GUID_NAMEONLY = {0xE8BF1170, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 9 + const IID ARRAYID_PathProperties = {0x7ECBBA04, 0x2D97, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 10 + const IID BFID_GRAY_16 = {0xF9D6BC00, 0x449C, 0x11D0, [0x91, 0x8C, 0x00, 0xAA, 0x00, 0x6C, 0x1A, 0x01]}; 11 + const IID BFID_GRAY_8 = {0xD93DE910, 0x449C, 0x11D0, [0x91, 0x8C, 0x00, 0xAA, 0x00, 0x6C, 0x1A, 0x01]}; 12 + const IID BFID_MONOCHROME = {0xE436EB78, 0x524F, 0x11CE, [0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70]}; 13 + const IID BFID_RGB_24 = {0xE436EB7D, 0x524F, 0x11CE, [0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70]}; 14 + const IID BFID_RGB_32 = {0xE436EB7E, 0x524F, 0x11CE, [0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70]}; 15 + const IID BFID_RGB_4 = {0xE436EB79, 0x524F, 0x11CE, [0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70]}; 16 + const IID BFID_RGB_555 = {0xE436EB7C, 0x524F, 0x11CE, [0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70]}; 17 + const IID BFID_RGB_565 = {0xE436EB7B, 0x524F, 0x11CE, [0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70]}; 18 + const IID BFID_RGB_8 = {0xE436EB7A, 0x524F, 0x11CE, [0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70]}; 19 + const IID BFID_RGBA_32 = {0x773C9AC0, 0x3274, 0x11D0, [0xB7, 0x24, 0x00, 0xAA, 0x00, 0x6C, 0x1A, 0x01]}; 20 + const IID BHID_LinkTargetItem = {0x3981E228, 0xF559, 0x11D3, [0x8E, 0x3A, 0x00, 0xC0, 0x4F, 0x68, 0x37, 0xD5]}; 21 + const IID BHID_SFObject = {0x3981E224, 0xF559, 0x11D3, [0x8E, 0x3A, 0x00, 0xC0, 0x4F, 0x68, 0x37, 0xD5]}; 22 + const IID BHID_SFUIObject = {0x3981E225, 0xF559, 0x11D3, [0x8E, 0x3A, 0x00, 0xC0, 0x4F, 0x68, 0x37, 0xD5]}; 23 + const IID BHID_SFViewObject = {0x3981E226, 0xF559, 0x11D3, [0x8E, 0x3A, 0x00, 0xC0, 0x4F, 0x68, 0x37, 0xD5]}; 24 + const IID BHID_Storage = {0x3981E227, 0xF559, 0x11D3, [0x8E, 0x3A, 0x00, 0xC0, 0x4F, 0x68, 0x37, 0xD5]}; 25 + const IID BHID_StorageEnum = {0x4621A4E3, 0xF0D6, 0x4773, [0x8A, 0x9C, 0x46, 0xE7, 0x7B, 0x17, 0x48, 0x40]}; 26 + const IID BHID_Stream = {0x1CEBB3AB, 0x7C10, 0x499A, [0xA4, 0x17, 0x92, 0xCA, 0x16, 0xC4, 0xCB, 0x83]}; 27 + const IID CATID_BrowsableShellExt = {0x00021490, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 28 + const IID CATID_BrowseInPlace = {0x00021491, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 29 + const IID CATID_ClusCfgCapabilities = {0x4653EEC4, 0x2788, 0x4EBD, [0xA8, 0x31, 0x7E, 0x0D, 0x9F, 0x82, 0xD6, 0xE7]}; 30 + const IID CATID_ClusCfgMemberSetChangeListener = {0x8A43EAD4, 0x10F1, 0x440D, [0x8D, 0xAA, 0x1F, 0xE3, 0x8D, 0x16, 0x98, 0xCD]}; 31 + const IID CATID_ClusCfgResourceTypes = {0x7C4CAE52, 0xCAC9, 0x499D, [0x82, 0xC6, 0xBC, 0x6A, 0x21, 0x77, 0xE5, 0x56]}; 32 + const IID CATID_ClusCfgStartupListeners = {0xDF406DB4, 0x7872, 0x4A99, [0xBB, 0x3C, 0x14, 0xA9, 0xC3, 0x39, 0x33, 0xD1]}; 33 + const IID CATID_CommBand = {0x00021494, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 34 + const IID CATID_Control = {0x40FC6ED4, 0x2438, 0x11CF, [0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02]}; 35 + const IID CATID_DesignTimeUIActivatableControl = {0xF2BB56D1, 0xDB07, 0x11D1, [0xAA, 0x6B, 0x00, 0x60, 0x97, 0xDB, 0x95, 0x39]}; 36 + const IID CATID_DeskBand = {0x00021492, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 37 + const IID CATID_DocObject = {0x40FC6ED8, 0x2438, 0x11CF, [0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02]}; 38 + const IID CATID_EnumClusCfgManagedResources = {0x02A34F88, 0xD31A, 0x4688, [0xBD, 0xDD, 0x38, 0xA7, 0x39, 0xE4, 0xF8, 0x9B]}; 39 + const IID CATID_InfoBand = {0x00021493, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 40 + const IID CATID_Insertable = {0x40FC6ED3, 0x2438, 0x11CF, [0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02]}; 41 + const IID CATID_InternetAware = {0x0DE86A58, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 42 + const IID CATID_IsShortcut = {0x40FC6ED6, 0x2438, 0x11CF, [0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02]}; 43 + const IID CATID_MARSHALER = {0x00000003, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 44 + const IID CATID_NeverShowExt = {0x40FC6ED7, 0x2438, 0x11CF, [0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02]}; 45 + const IID CATID_PersistsToFile = {0x0DE86A56, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 46 + const IID CATID_PersistsToMemory = {0x0DE86A55, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 47 + const IID CATID_PersistsToMoniker = {0x0DE86A51, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 48 + const IID CATID_PersistsToPropertyBag = {0x0DE86A57, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 49 + const IID CATID_PersistsToStorage = {0x0DE86A52, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 50 + const IID CATID_PersistsToStream = {0x0DE86A54, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 51 + const IID CATID_PersistsToStreamInit = {0x0DE86A53, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 52 + const IID CATID_Printable = {0x40FC6ED9, 0x2438, 0x11CF, [0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02]}; 53 + const IID CATID_Programmable = {0x40FC6ED5, 0x2438, 0x11CF, [0xA3, 0xDB, 0x08, 0x00, 0x36, 0xF1, 0x25, 0x02]}; 54 + const IID CATID_RequiresDataPathHost = {0x0DE86A50, 0x2BAA, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 55 + const IID CATID_SafeForInitializing = {0x7DD95802, 0x9882, 0x11CF, [0x9F, 0xA9, 0x00, 0xAA, 0x00, 0x6C, 0x42, 0xC4]}; 56 + const IID CATID_SafeForScripting = {0x7DD95801, 0x9882, 0x11CF, [0x9F, 0xA9, 0x00, 0xAA, 0x00, 0x6C, 0x42, 0xC4]}; 57 + const IID CGID_DocHostCommandHandler = {0xF38BC242, 0xB950, 0x11D1, [0x89, 0x18, 0x00, 0xC0, 0x4F, 0xC2, 0xC8, 0x36]}; 58 + const IID CGID_DownloadHost = {0xE0608728, 0xAE4C, 0x11D1, [0xBA, 0x40, 0x00, 0xC0, 0x4F, 0xB9, 0x2D, 0x79]}; 59 + const IID CGID_Explorer = {0x000214D0, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 60 + const IID CGID_ExplorerBarDoc = {0x000214D3, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 61 + const IID CGID_InternetExplorer = {0xEB7EED00, 0xF74D, 0x11D2, [0xBB, 0x7F, 0x00, 0x10, 0x4B, 0x35, 0xE7, 0xF9]}; 62 + const IID CGID_MSHTML = {0xDE4BA900, 0x59CA, 0x11CF, [0x95, 0x92, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 63 + const IID CGID_ShellDocView = {0x000214D1, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 64 + const IID CGID_ShellServiceObject = {0x000214D2, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 65 + const IID CGID_ShortCut = {0x93A68750, 0x951A, 0x11D1, [0x94, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]}; 66 + const IID CLSID_1 = {0xD34F1813, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 67 + const IID CLSID_2 = {0xD34F1814, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 68 + const IID CLSID_3 = {0xD34F1815, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 69 + const IID CLSID_4 = {0xD34F1816, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 70 + const IID CLSID_5 = {0xD34F1817, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 71 + const IID CLSID_6 = {0xD34F1818, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 72 + const IID CLSID_7 = {0xD34F1819, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 73 + const IID CLSID_8 = {0xD34F181A, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 74 + const IID CLSID_9 = {0xD34F181B, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 75 + const IID CLSID_a = {0xD34F181C, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 76 + const IID CLSID_AboutProtocol = {0x3050F406, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 77 + const IID CLSID_AccessControlEntry = {0xB75AC000, 0x9BDD, 0x11D0, [0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 78 + const IID CLSID_AccessControlList = {0xB85EA052, 0x9BDD, 0x11D0, [0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 79 + const IID CLSID_AccountDiscovery = {0x3DAB30ED, 0x8132, 0x40BF, [0xA8, 0xBA, 0x7B, 0x50, 0x57, 0xF0, 0xCD, 0x10]}; 80 + const IID CLSID_ACLCustomMRU = {0x6935DB93, 0x21E8, 0x4CCC, [0xBE, 0xB9, 0x9F, 0xE3, 0xC7, 0x7A, 0x29, 0x7A]}; 81 + const IID CLSID_ACLHistory = {0x00BB2764, 0x6A77, 0x11D0, [0xA5, 0x35, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62]}; 82 + const IID CLSID_ACListISF = {0x03C036F1, 0xA186, 0x11D0, [0x82, 0x4A, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83]}; 83 + const IID CLSID_ACLMRU = {0x6756A641, 0xDE71, 0x11D0, [0x83, 0x1B, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83]}; 84 + const IID CLSID_ACLMulti = {0x00BB2765, 0x6A77, 0x11D0, [0xA5, 0x35, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62]}; 85 + const IID CLSID_ActiveDesktop = {0x75048700, 0xEF1F, 0x11D0, [0x98, 0x88, 0x00, 0x60, 0x97, 0xDE, 0xAC, 0xF9]}; 86 + const IID CLSID_AdapterInfo = {0x6F9942C9, 0xC1B1, 0x4AB5, [0x93, 0xDA, 0x60, 0x58, 0x99, 0x1D, 0xC8, 0xF3]}; 87 + const IID CLSID_AddrControl = {0x00000348, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 88 + const IID CLSID_AddressBarParser = {0xE0E11A09, 0x5CB8, 0x4B6C, [0x83, 0x32, 0xE0, 0x07, 0x20, 0xA1, 0x68, 0xF2]}; 89 + const IID CLSID_ADsDSOObject = {0x549365D0, 0xEC26, 0x11CF, [0x83, 0x10, 0x00, 0xAA, 0x00, 0xB5, 0x05, 0xDB]}; 90 + const IID CLSID_ADsSecurityUtility = {0xF270C64A, 0xFFB8, 0x4AE4, [0x85, 0xFE, 0x3A, 0x75, 0xE5, 0x34, 0x79, 0x66]}; 91 + const IID CLSID_ADSystemInfo = {0x50B6327F, 0xAFD1, 0x11D2, [0x9C, 0xB9, 0x00, 0x00, 0xF8, 0x7A, 0x36, 0x9E]}; 92 + const IID CLSID_AlgSetup = {0x27D0BCCC, 0x344D, 0x4287, [0xAF, 0x37, 0x0C, 0x72, 0xC1, 0x61, 0xC1, 0x4C]}; 93 + const IID CLSID_AllClasses = {0x00000330, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 94 + const IID CLSID_AlphabeticalCategorizer = {0x3C2654C6, 0x7372, 0x4F6B, [0xB3, 0x10, 0x55, 0xD6, 0x12, 0x8F, 0x49, 0xD2]}; 95 + const IID CLSID_AnchorClick = {0x13D5413C, 0x33B9, 0x11D2, [0x95, 0xA7, 0x00, 0xC0, 0x4F, 0x8E, 0xCB, 0x02]}; 96 + const IID CLSID_AnimationComposerFactory = {0x332B2A56, 0xF86C, 0x47E7, [0x86, 0x02, 0xFC, 0x42, 0xAC, 0x8B, 0x99, 0x20]}; 97 + const IID CLSID_AnimationComposerSiteFactory = {0x16911A65, 0xD41D, 0x4431, [0x87, 0xF7, 0xE7, 0x57, 0xF4, 0xD0, 0x3B, 0xD8]}; 98 + const IID CLSID_ApplicationGatewayServices = {0xF8ADE1D3, 0x49DF, 0x4B75, [0x90, 0x05, 0xEF, 0x95, 0x08, 0xE6, 0xA3, 0x37]}; 99 + const IID CLSID_AutoComplete = {0x00BB2763, 0x6A77, 0x11D0, [0xA5, 0x35, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62]}; 100 + const IID CLSID_AutoDiscoveryProvider = {0xC4F3D5BF, 0x4809, 0x44E3, [0x84, 0xA4, 0x36, 0x8B, 0x6B, 0x33, 0xB0, 0xB4]}; 101 + const IID CLSID_AutoplayForSlideShow = {0x00E7B358, 0xF65B, 0x4DCF, [0x83, 0xDF, 0xCD, 0x02, 0x6B, 0x94, 0xBF, 0xD4]}; 102 + const IID CLSID_b = {0xD34F181D, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 103 + const IID CLSID_BackgroundCopyManager = {0x4991D34B, 0x80A1, 0x4291, [0x83, 0xB6, 0x33, 0x28, 0x36, 0x6B, 0x90, 0x97]}; 104 + const IID CLSID_BackgroundCopyManager1_5 = {0xF087771F, 0xD74F, 0x4C1A, [0xBB, 0x8A, 0xE1, 0x6A, 0xCA, 0x91, 0x24, 0xEA]}; 105 + const IID CLSID_BackgroundCopyQMgr = {0x69AD4AEE, 0x51BE, 0x439B, [0xA9, 0x2C, 0x86, 0xAE, 0x49, 0x0E, 0x8B, 0x30]}; 106 + const IID CLSID_BackLink = {0xFCBF906F, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 107 + const IID CLSID_BasicImageEffects = {0x16B280C8, 0xEE70, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 108 + const IID CLSID_BasicImageEffectsPP = {0x16B280C9, 0xEE70, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 109 + const IID CLSID_BlockFormats = {0x3050F831, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 110 + const IID CLSID_BridgeTerminal = {0x8EBAE7A3, 0x8943, 0x11D1, [0x96, 0xB8, 0x00, 0xC0, 0x4F, 0xB6, 0xE8, 0x66]}; 111 + const IID CLSID_c = {0xD34F181E, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 112 + const IID CLSID_CAccPropServices = {0xB5F8350B, 0x0548, 0x48B1, [0xA6, 0xEE, 0x88, 0xBD, 0x00, 0xB4, 0xA5, 0xE7]}; 113 + const IID CLSID_CActiveIMM = {0x4955DD33, 0xB159, 0x11D0, [0x8F, 0xCF, 0x00, 0xAA, 0x00, 0x6B, 0xCC, 0x59]}; 114 + const IID CLSID_CAnchorBrowsePropertyPage = {0x3050F3BB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 115 + const IID CLSID_CaseIgnoreList = {0x15F88A55, 0x4680, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 116 + const IID CLSID_CCheckBox = {0x3050F686, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 117 + const IID CLSID_CColorPropPage = {0x0BE35201, 0x8F91, 0x11CE, [0x9D, 0xE3, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 118 + const IID CLSID_CCombobox = {0x3050F678, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 119 + const IID CLSID_CDBurn = {0xFBEB8A05, 0xBEEE, 0x4442, [0x80, 0x4E, 0x40, 0x9D, 0x6C, 0x45, 0x15, 0xE9]}; 120 + const IID CLSID_CDebugDocumentHelper = {0x83B8BCA6, 0x687C, 0x11D0, [0xA4, 0x05, 0x00, 0xAA, 0x00, 0x60, 0x27, 0x5C]}; 121 + const IID CLSID_CDeviceRect = {0x3050F6D4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 122 + const IID CLSID_CDirect3DRM = {0x4516EC41, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 123 + const IID CLSID_CDirect3DRMAnimation = {0x4FA35698, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 124 + const IID CLSID_CDirect3DRMAnimationSet = {0x4FA35699, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 125 + const IID CLSID_CDirect3DRMClippedVisual = {0x5434E72D, 0x6D66, 0x11D1, [0xBB, 0x0B, 0x00, 0x00, 0xF8, 0x75, 0x86, 0x5A]}; 126 + const IID CLSID_CDirect3DRMDevice = {0x4FA3568E, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 127 + const IID CLSID_CDirect3DRMFace = {0x4FA35693, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 128 + const IID CLSID_CDirect3DRMFrame = {0x4FA35690, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 129 + const IID CLSID_CDirect3DRMFrameInterpolator = {0x0DE9EAA2, 0x3B84, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 130 + const IID CLSID_CDirect3DRMLight = {0x4FA35694, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 131 + const IID CLSID_CDirect3DRMLightInterpolator = {0x0DE9EAA6, 0x3B84, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 132 + const IID CLSID_CDirect3DRMMaterial = {0x4FA35697, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 133 + const IID CLSID_CDirect3DRMMaterialInterpolato = {0x0DE9EAA7, 0x3B84, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 134 + const IID CLSID_CDirect3DRMMesh = {0x4FA35691, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 135 + const IID CLSID_CDirect3DRMMeshBuilder = {0x4FA35692, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 136 + const IID CLSID_CDirect3DRMMeshInterpolator = {0x0DE9EAA3, 0x3B84, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 137 + const IID CLSID_CDirect3DRMProgressiveMesh = {0x4516EC40, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 138 + const IID CLSID_CDirect3DRMShadow = {0x4FA3569B, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 139 + const IID CLSID_CDirect3DRMTexture = {0x4FA35695, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 140 + const IID CLSID_CDirect3DRMTextureInterpolator = {0x0DE9EAA8, 0x3B84, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 141 + const IID CLSID_CDirect3DRMUserVisual = {0x4FA3569A, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 142 + const IID CLSID_CDirect3DRMViewport = {0x4FA3568F, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 143 + const IID CLSID_CDirect3DRMViewportInterpolato = {0x0DE9EAA1, 0x3B84, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 144 + const IID CLSID_CDirect3DRMWrap = {0x4FA35696, 0x623F, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 145 + const IID CLSID_CDirectXFile = {0x4516EC43, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 146 + const IID CLSID_CDLAgent = {0x7D559C10, 0x9FE9, 0x11D0, [0x93, 0xF7, 0x00, 0xAA, 0x00, 0x59, 0xCE, 0x02]}; 147 + const IID CLSID_CdlProtocol = {0x3DD53D40, 0x7B8B, 0x11D0, [0xB0, 0x13, 0x00, 0xAA, 0x00, 0x59, 0xCE, 0x02]}; 148 + const IID CLSID_CDocBrowsePropertyPage = {0x3050F3B4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 149 + const IID CLSID_CDownloadBehavior = {0x3050F5BE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 150 + const IID CLSID_CEnroll = {0x43F8F289, 0x7A20, 0x11D0, [0x8F, 0x06, 0x00, 0xC0, 0x4F, 0xC2, 0x95, 0xE1]}; 151 + const IID CLSID_CEventObj = {0x3050F48A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 152 + const IID CLSID_CFontPropPage = {0x0BE35200, 0x8F91, 0x11CE, [0x9D, 0xE3, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 153 + const IID CLSID_CFSIconOverlayManager = {0x63B51F81, 0xC868, 0x11D0, [0x99, 0x9C, 0x00, 0xC0, 0x4F, 0xD6, 0x55, 0xE1]}; 154 + const IID CLSID_ChannelAgent = {0xE3A8BDE6, 0xABCE, 0x11D0, [0xBC, 0x4B, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 155 + const IID CLSID_ChannelMgr = {0xB3CDAE90, 0xD170, 0x11D0, [0x80, 0x2B, 0x00, 0xC0, 0x4F, 0xD7, 0x5D, 0x13]}; 156 + const IID CLSID_CHeaderFooter = {0x3050F6CD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 157 + const IID CLSID_CHtmlArea = {0x3050F64F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 158 + const IID CLSID_CIEOptionElement = {0x3050F698, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 159 + const IID CLSID_CIESelectElement = {0x3050F688, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 160 + const IID CLSID_CImageBrowsePropertyPage = {0x3050F3B3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 161 + const IID CLSID_ClassInstallFilter = {0x32B533BB, 0xEDAE, 0x11D0, [0xBD, 0x5A, 0x00, 0xAA, 0x00, 0xB9, 0x2A, 0xF1]}; 162 + const IID CLSID_CLayoutRect = {0x3050F664, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 163 + const IID CLSID_ClientCaps = {0x7E8BC44E, 0xAEFF, 0x11D1, [0x89, 0xC2, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4]}; 164 + const IID CLSID_ClusAppWiz = {0x24F97150, 0x6689, 0x11D1, [0x9A, 0xA7, 0x00, 0xC0, 0x4F, 0xB9, 0x3A, 0x80]}; 165 + const IID CLSID_ClusCfgAsyncEvictCleanup = {0x08F35A72, 0xD7C4, 0x42F4, [0xBC, 0x81, 0x51, 0x88, 0xE1, 0x9D, 0xFA, 0x39]}; 166 + const IID CLSID_ClusCfgEvictCleanup = {0x32152BE9, 0xDE8C, 0x4D0F, [0x81, 0xB0, 0xBC, 0xE5, 0xD1, 0x1E, 0xCB, 0x00]}; 167 + const IID CLSID_ClusCfgResTypeGenScript = {0xD513C4F4, 0x1D34, 0x44A3, [0x83, 0xD4, 0x81, 0x26, 0x51, 0xDB, 0x89, 0x18]}; 168 + const IID CLSID_ClusCfgResTypeMajorityNodeSet = {0xB6870B44, 0x0BDF, 0x4B46, [0xAC, 0x1F, 0x6C, 0x69, 0x1B, 0x62, 0x2E, 0xDF]}; 169 + const IID CLSID_ClusCfgResTypeServices = {0x6A370489, 0xBB52, 0x4727, [0xB7, 0x40, 0x08, 0xF4, 0x94, 0x16, 0x34, 0x78]}; 170 + const IID CLSID_ClusCfgStartupNotify = {0x105EEEB6, 0x32FD, 0x4EA9, [0x89, 0x12, 0x84, 0x3A, 0x7F, 0xF3, 0xCA, 0x2D]}; 171 + const IID CLSID_ClusCfgWizard = {0x1919C4FE, 0x6F46, 0x4027, [0x97, 0x7D, 0x0E, 0xF1, 0xC8, 0xF2, 0x63, 0x72]}; 172 + const IID CLSID_ClusterConfigurationType = {0xBF3768C2, 0xE0E5, 0x448F, [0x95, 0x2B, 0x25, 0xD4, 0x33, 0x2D, 0xEF, 0xA3]}; 173 + const IID CLSID_CMimeTypes = {0x3050F3FE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 174 + const IID CLSID_CMLangConvertCharset = {0xD66D6F99, 0xCDAA, 0x11D0, [0xB8, 0x22, 0x00, 0xC0, 0x4F, 0xC9, 0xB3, 0x1F]}; 175 + const IID CLSID_CMLangString = {0xC04D65CF, 0xB70D, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 176 + const IID CLSID_CMultiLanguage = {0x275C23E2, 0x3747, 0x11D0, [0x9F, 0xEA, 0x00, 0xAA, 0x00, 0x3F, 0x86, 0x46]}; 177 + const IID CLSID_CNetCfg = {0x5B035261, 0x40F9, 0x11D1, [0xAA, 0xEC, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 178 + const IID CLSID_CoDitherToRGB8 = {0xA860CE50, 0x3910, 0x11D0, [0x86, 0xFC, 0x00, 0xA0, 0xC9, 0x13, 0xF7, 0x50]}; 179 + const IID CLSID_CoMapMIMEToCLSID = {0x30C3B080, 0x30FB, 0x11D0, [0xB7, 0x24, 0x00, 0xAA, 0x00, 0x6C, 0x1A, 0x01]}; 180 + const IID CLSID_ComBinding = {0x00000328, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 181 + const IID CLSID_CommonQuery = {0x83BC5EC0, 0x6F2A, 0x11D0, [0xA1, 0xC4, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 182 + const IID CLSID_CompositePP = {0x25B33660, 0xFD83, 0x11D1, [0x8A, 0xDE, 0x44, 0x45, 0x53, 0x54, 0x00, 0x01]}; 183 + const IID CLSID_ConnectionCommonUi = {0x7007ACD1, 0x3202, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 184 + const IID CLSID_ConnectionManager = {0xBA126AD1, 0x2166, 0x11D1, [0xB1, 0xD0, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 185 + const IID CLSID_ConnectionManager2 = {0xBA126AE5, 0x2166, 0x11D1, [0xB1, 0xD0, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 186 + const IID CLSID_ControlPanel = {0x21EC2020, 0x3AEA, 0x1069, [0xA2, 0xDD, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D]}; 187 + const IID CLSID_ConvertVBX = {0xFB8F0822, 0x0164, 0x101B, [0x84, 0xED, 0x08, 0x00, 0x2B, 0x2E, 0xC7, 0x13]}; 188 + const IID CLSID_ConvolvePP = {0x25B33661, 0xFD83, 0x11D1, [0x8A, 0xDE, 0x44, 0x45, 0x53, 0x54, 0x00, 0x01]}; 189 + const IID CLSID_COpsProfile = {0x3050F402, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 190 + const IID CLSID_CoSniffStream = {0x6A01FDA0, 0x30DF, 0x11D0, [0xB7, 0x24, 0x00, 0xAA, 0x00, 0x6C, 0x1A, 0x01]}; 191 + const IID CLSID_CPersistDataPeer = {0x3050F487, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 192 + const IID CLSID_CPersistHistory = {0x3050F4C8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 193 + const IID CLSID_CPersistShortcut = {0x3050F4C6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 194 + const IID CLSID_CPersistSnapshot = {0x3050F4C9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 195 + const IID CLSID_CPersistUserData = {0x3050F48E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 196 + const IID CLSID_CPicturePropPage = {0x0BE35202, 0x8F91, 0x11CE, [0x9D, 0xE3, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 197 + const IID CLSID_CPlugins = {0x3050F3FF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 198 + const IID CLSID_CRadioButton = {0x3050F69C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 199 + const IID CLSID_CrBarn = {0xC3BDF740, 0x0B58, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 200 + const IID CLSID_CrBarnPP = {0xFCAD7436, 0xF151, 0x4110, [0xB9, 0x7E, 0x32, 0xBD, 0x60, 0x7F, 0xBD, 0xB8]}; 201 + const IID CLSID_CrBlindPP = {0x213052C1, 0x100D, 0x11D2, [0x8B, 0x82, 0x00, 0xA0, 0xC9, 0x3C, 0x09, 0xB2]}; 202 + const IID CLSID_CrBlinds = {0x00C429C0, 0x0BA9, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 203 + const IID CLSID_CrBlur = {0x7312498D, 0xE87A, 0x11D1, [0x81, 0xE0, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 204 + const IID CLSID_CrBlurPP = {0x623E287E, 0xFC0E, 0x11D1, [0x9A, 0x77, 0x00, 0x00, 0xF8, 0x75, 0x6A, 0x10]}; 205 + const IID CLSID_CrEmboss = {0xF515306D, 0x0156, 0x11D2, [0x81, 0xEA, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 206 + const IID CLSID_CrEngrave = {0xF515306E, 0x0156, 0x11D2, [0x81, 0xEA, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 207 + const IID CLSID_CrInset = {0x93073C40, 0x0BA5, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 208 + const IID CLSID_CrIris = {0x3F69F351, 0x0379, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 209 + const IID CLSID_CrIrisPP = {0x80DE22C4, 0x0F44, 0x11D2, [0x8B, 0x82, 0x00, 0xA0, 0xC9, 0x3C, 0x09, 0xB2]}; 210 + const IID CLSID_CrRadialWipe = {0x424B71AF, 0x0695, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 211 + const IID CLSID_CrRadialWipePP = {0x33D932E0, 0x0F48, 0x11D2, [0x8B, 0x82, 0x00, 0xA0, 0xC9, 0x3C, 0x09, 0xB2]}; 212 + const IID CLSID_CrSlide = {0x810E402F, 0x056B, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 213 + const IID CLSID_CrSlidePP = {0xCC8CEDE1, 0x1003, 0x11D2, [0x8B, 0x82, 0x00, 0xA0, 0xC9, 0x3C, 0x09, 0xB2]}; 214 + const IID CLSID_CrSpiral = {0xACA97E00, 0x0C7D, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 215 + const IID CLSID_CrSpiralPP = {0xC6A4FE81, 0x1022, 0x11D2, [0x8B, 0x82, 0x00, 0xA0, 0xC9, 0x3C, 0x09, 0xB2]}; 216 + const IID CLSID_CrStretch = {0x7658F2A2, 0x0A83, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 217 + const IID CLSID_CrStretchPP = {0x15FB95E0, 0x0F77, 0x11D2, [0x8B, 0x82, 0x00, 0xA0, 0xC9, 0x3C, 0x09, 0xB2]}; 218 + const IID CLSID_CrWheel = {0x5AE1DAE0, 0x1461, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 219 + const IID CLSID_CrWheelPP = {0xFA9F6180, 0x1464, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 220 + const IID CLSID_CrZigzag = {0xE6E73D20, 0x0C8A, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 221 + const IID CLSID_CrZigzagPP = {0x1559A3C1, 0x102B, 0x11D2, [0x8B, 0x82, 0x00, 0xA0, 0xC9, 0x3C, 0x09, 0xB2]}; 222 + const IID CLSID_CScriptErrorList = {0xEFD01300, 0x160F, 0x11D2, [0xBB, 0x2E, 0x00, 0x80, 0x5F, 0xF7, 0xEF, 0xCA]}; 223 + const IID CLSID_CScrollBar = {0x3050F68A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 224 + const IID CLSID_CSliderBar = {0x3050F68E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 225 + const IID CLSID_CSpinButton = {0x3050F68C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 226 + const IID CLSID_CTemplatePrinter = {0x3050F6B3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 227 + const IID CLSID_CUrlHistory = {0x3C374A40, 0xBAE4, 0x11CF, [0xBF, 0x7D, 0x00, 0xAA, 0x00, 0x69, 0x46, 0xEE]}; 228 + const IID CLSID_CURLSearchHook = {0xCFBFAE00, 0x17A6, 0x11D0, [0x99, 0xCB, 0x00, 0xC0, 0x4F, 0xD6, 0x44, 0x97]}; 229 + const IID CLSID_CurrentUserClasses = {0x00000332, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 230 + const IID CLSID_CUtilityButton = {0x3050F6B0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 231 + const IID CLSID_d = {0xD34F181F, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 232 + const IID CLSID_DAArray = {0x9CDE7340, 0x3C20, 0x11D0, [0xA3, 0x30, 0x00, 0xAA, 0x00, 0xB9, 0x2C, 0x03]}; 233 + const IID CLSID_DABbox2 = {0x50B4791E, 0x4731, 0x11D0, [0x89, 0x12, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 234 + const IID CLSID_DABbox3 = {0x4A933703, 0xE36F, 0x11D0, [0x9B, 0x99, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 235 + const IID CLSID_DABehavior = {0xC46C1BF2, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 236 + const IID CLSID_DABoolean = {0x25B0F91D, 0xD23D, 0x11D0, [0x9B, 0x85, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 237 + const IID CLSID_DACamera = {0xC46C1BD9, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 238 + const IID CLSID_DAColor = {0xC46C1BC9, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 239 + const IID CLSID_DADashStyle = {0x9CADDC0C, 0xAD56, 0x11D1, [0x9F, 0xF8, 0x00, 0xC0, 0x4F, 0xA3, 0x21, 0x95]}; 240 + const IID CLSID_DAEndStyle = {0xFC54BEAB, 0x5B12, 0x11D1, [0x8E, 0x7B, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 241 + const IID CLSID_DAEvent = {0x3E2487C4, 0x8709, 0x11D0, [0xB1, 0x77, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 242 + const IID CLSID_DAFontStyle = {0x3F3DA01A, 0x4705, 0x11D0, [0x87, 0x10, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 243 + const IID CLSID_DAGeometry = {0xC46C1BDB, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 244 + const IID CLSID_DAImage = {0xC46C1BCB, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 245 + const IID CLSID_DAImportationResult = {0x283807B3, 0x2C60, 0x11D0, [0xA3, 0x1D, 0x00, 0xAA, 0x00, 0xB9, 0x2C, 0x03]}; 246 + const IID CLSID_DAJoinStyle = {0xFC54BEAA, 0x5B12, 0x11D1, [0x8E, 0x7B, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 247 + const IID CLSID_DALineStyle = {0x283807B8, 0x2C60, 0x11D0, [0xA3, 0x1D, 0x00, 0xAA, 0x00, 0xB9, 0x2C, 0x03]}; 248 + const IID CLSID_DAMatte = {0xC46C1BC3, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 249 + const IID CLSID_DAMicrophone = {0xC46C1BE3, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 250 + const IID CLSID_DAMontage = {0xC46C1BD7, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 251 + const IID CLSID_DANumber = {0xC46C1BC7, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 252 + const IID CLSID_DAPair = {0xBC0BFD34, 0xD21D, 0x11D0, [0x93, 0x85, 0x00, 0xC0, 0x4F, 0xB6, 0xBD, 0x36]}; 253 + const IID CLSID_DAPath2 = {0xC46C1BCF, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 254 + const IID CLSID_DAPickableResult = {0x34F681D0, 0x3640, 0x11CF, [0x92, 0x94, 0x00, 0xAA, 0x00, 0xB8, 0xA7, 0x33]}; 255 + const IID CLSID_DAPoint2 = {0xC46C1BD5, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 256 + const IID CLSID_DAPoint3 = {0xC46C1BE5, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 257 + const IID CLSID_DarwinAppPublisher = {0xCFCCC7A0, 0xA282, 0x11D1, [0x90, 0x82, 0x00, 0x60, 0x08, 0x05, 0x93, 0x82]}; 258 + const IID CLSID_DASound = {0xC46C1BD1, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 259 + const IID CLSID_DAStatics = {0xC46C1BF3, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 260 + const IID CLSID_DAString = {0xC46C1BD3, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 261 + const IID CLSID_DataChannel = {0xBBB36F15, 0x408D, 0x4056, [0x8C, 0x27, 0x92, 0x08, 0x43, 0xD4, 0x0B, 0xE5]}; 262 + const IID CLSID_DATransform2 = {0xC46C1BDF, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 263 + const IID CLSID_DATransform3 = {0xC46C1BC5, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 264 + const IID CLSID_DATuple = {0x283807B7, 0x2C60, 0x11D0, [0xA3, 0x1D, 0x00, 0xAA, 0x00, 0xB9, 0x2C, 0x03]}; 265 + const IID CLSID_DAUserData = {0x283807B4, 0x2C60, 0x11D0, [0xA3, 0x1D, 0x00, 0xAA, 0x00, 0xB9, 0x2C, 0x03]}; 266 + const IID CLSID_DAVector2 = {0xC46C1BE1, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 267 + const IID CLSID_DAVector3 = {0xC46C1BC0, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 268 + const IID CLSID_DAView = {0x960D8EFF, 0xE494, 0x11D1, [0xAB, 0x75, 0x00, 0xC0, 0x4F, 0xD9, 0x2B, 0x6B]}; 269 + const IID CLSID_DAViewerControl = {0xC46C1BEB, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 270 + const IID CLSID_DAViewerControlWindowed = {0xC46C1BF1, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 271 + const IID CLSID_DCOMAccessControl = {0x0000031D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 272 + const IID CLSID_DebugHelper = {0x0BFCC060, 0x8C1D, 0x11D0, [0xAC, 0xCD, 0x00, 0xAA, 0x00, 0x60, 0x27, 0x5C]}; 273 + const IID CLSID_DeCompMimeFilter = {0x8F6B0360, 0xB80D, 0x11D0, [0xA9, 0xB3, 0x00, 0x60, 0x97, 0x94, 0x23, 0x11]}; 274 + const IID CLSID_DefaultDebugSessionProvider = {0x834128A2, 0x51F4, 0x11D0, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 275 + const IID CLSID_DirectDraw = {0xD7B70EE0, 0x4340, 0x11CF, [0xB0, 0x63, 0x00, 0x20, 0xAF, 0xC2, 0xCD, 0x35]}; 276 + const IID CLSID_DirectDrawClipper = {0x593817A0, 0x7DB3, 0x11CF, [0xA2, 0xDE, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56]}; 277 + const IID CLSID_DirectDrawFactory2 = {0xB9DC4790, 0x4AF1, 0x11D1, [0x8C, 0x4C, 0x00, 0xC0, 0x4F, 0xD9, 0x30, 0xC5]}; 278 + const IID CLSID_DirectInput = {0x25E609E0, 0xB259, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 279 + const IID CLSID_DirectInputDevice = {0x25E609E1, 0xB259, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 280 + const IID CLSID_DirectMusic = {0x636B9F10, 0x0C7D, 0x11D1, [0x95, 0xB2, 0x00, 0x20, 0xAF, 0xDC, 0x74, 0x21]}; 281 + const IID CLSID_DirectMusicBand = {0x79BA9E00, 0xB6EE, 0x11D1, [0x86, 0xBE, 0x00, 0xC0, 0x4F, 0xBF, 0x8F, 0xEF]}; 282 + const IID CLSID_DirectMusicBandTrack = {0xD2AC2894, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 283 + const IID CLSID_DirectMusicChordMap = {0xD2AC288F, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 284 + const IID CLSID_DirectMusicChordMapTrack = {0xD2AC2896, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 285 + const IID CLSID_DirectMusicChordTrack = {0xD2AC288B, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 286 + const IID CLSID_DirectMusicCollection = {0x480FF4B0, 0x28B2, 0x11D1, [0xBE, 0xF7, 0x00, 0xC0, 0x4F, 0xBF, 0x8F, 0xEF]}; 287 + const IID CLSID_DirectMusicCommandTrack = {0xD2AC288C, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 288 + const IID CLSID_DirectMusicComposer = {0xD2AC2890, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 289 + const IID CLSID_DirectMusicGraph = {0xD2AC2884, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 290 + const IID CLSID_DirectMusicLoader = {0xD2AC2892, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 291 + const IID CLSID_DirectMusicMotifTrack = {0xD2AC288E, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 292 + const IID CLSID_DirectMusicMuteTrack = {0xD2AC2898, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 293 + const IID CLSID_DirectMusicPerformance = {0xD2AC2881, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 294 + const IID CLSID_DirectMusicSegment = {0xD2AC2882, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 295 + const IID CLSID_DirectMusicSegmentState = {0xD2AC2883, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 296 + const IID CLSID_DirectMusicSeqTrack = {0xD2AC2886, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 297 + const IID CLSID_DirectMusicSignPostTrack = {0xF17E8672, 0xC3B4, 0x11D1, [0x87, 0x0B, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 298 + const IID CLSID_DirectMusicStyle = {0xD2AC288A, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 299 + const IID CLSID_DirectMusicStyleTrack = {0xD2AC288D, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 300 + const IID CLSID_DirectMusicSynth = {0x58C2B4D0, 0x46E7, 0x11D1, [0x89, 0xAC, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 301 + const IID CLSID_DirectMusicSysExTrack = {0xD2AC2887, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 302 + const IID CLSID_DirectMusicTempoTrack = {0xD2AC2885, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 303 + const IID CLSID_DirectMusicTimeSigTrack = {0xD2AC2888, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 304 + const IID CLSID_DirectPlay = {0xD1EB6D20, 0x8923, 0x11D0, [0x9D, 0x97, 0x00, 0xA0, 0xC9, 0x0A, 0x43, 0xCB]}; 305 + const IID CLSID_DirectPlayLobby = {0x2FE8F810, 0xB2A5, 0x11D0, [0xA7, 0x87, 0x00, 0x00, 0xF8, 0x03, 0xAB, 0xFC]}; 306 + const IID CLSID_DirectSound = {0x47D4D946, 0x62E8, 0x11CF, [0x93, 0xBC, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 307 + const IID CLSID_DirectSoundCapture = {0xB0210780, 0x89CD, 0x11D0, [0xAF, 0x08, 0x00, 0xA0, 0xC9, 0x25, 0xCD, 0x16]}; 308 + const IID CLSID_DispatchMapper = {0xE9225296, 0xC759, 0x11D1, [0xA0, 0x2B, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 309 + const IID CLSID_DNWithBinary = {0x7E99C0A3, 0xF935, 0x11D2, [0xBA, 0x96, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1]}; 310 + const IID CLSID_DNWithString = {0x334857CC, 0xF934, 0x11D2, [0xBA, 0x96, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1]}; 311 + const IID CLSID_DocFileColumnProvider = {0x24F14F01, 0x7B1C, 0x11D1, [0x83, 0x8F, 0x00, 0x00, 0xF8, 0x04, 0x61, 0xCF]}; 312 + const IID CLSID_DocHostUIHandler = {0x7057E952, 0xBD1B, 0x11D1, [0x89, 0x19, 0x00, 0xC0, 0x4F, 0xC2, 0xC8, 0x36]}; 313 + const IID CLSID_DOMChildrenCollection = {0x3050F5AA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 314 + const IID CLSID_DOMDocument = {0x2933BF90, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 315 + const IID CLSID_DOMFreeThreadedDocument = {0x2933BF91, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 316 + const IID CLSID_DragDropHelper = {0x4657278A, 0x411B, 0x11D2, [0x83, 0x9A, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xD0]}; 317 + const IID CLSID_DriveSizeCategorizer = {0x94357B53, 0xCA29, 0x4B78, [0x83, 0xAE, 0xE8, 0xFE, 0x74, 0x09, 0x13, 0x4F]}; 318 + const IID CLSID_DriveTypeCategorizer = {0xB0A8F3CF, 0x4333, 0x4BAB, [0x88, 0x73, 0x1C, 0xCB, 0x1C, 0xAD, 0xA4, 0x8B]}; 319 + const IID CLSID_DsDisplaySpecifier = {0x1AB4A8C0, 0x6A0B, 0x11D2, [0xAD, 0x49, 0x00, 0xC0, 0x4F, 0xA3, 0x1A, 0x86]}; 320 + const IID CLSID_DsDomainTreeBrowser = {0x1698790A, 0xE2B4, 0x11D0, [0xB0, 0xB1, 0x00, 0xC0, 0x4F, 0xD8, 0xDC, 0xA6]}; 321 + const IID CLSID_DsFindAdvanced = {0x83EE3FE3, 0x57D9, 0x11D0, [0xB9, 0x32, 0x00, 0xA0, 0x24, 0xAB, 0x2D, 0xBB]}; 322 + const IID CLSID_DsFindComputer = {0x16006700, 0x87AD, 0x11D0, [0x91, 0x40, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 323 + const IID CLSID_DsFindContainer = {0xC1B3CBF2, 0x886A, 0x11D0, [0x91, 0x40, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 324 + const IID CLSID_DsFindDomainController = {0x538C7B7E, 0xD25E, 0x11D0, [0x97, 0x42, 0x00, 0xA0, 0xC9, 0x06, 0xAF, 0x45]}; 325 + const IID CLSID_DsFindFrsMembers = {0x94CE4B18, 0xB3D3, 0x11D1, [0xB9, 0xB4, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xB0]}; 326 + const IID CLSID_DsFindObjects = {0x83EE3FE1, 0x57D9, 0x11D0, [0xB9, 0x32, 0x00, 0xA0, 0x24, 0xAB, 0x2D, 0xBB]}; 327 + const IID CLSID_DsFindPeople = {0x83EE3FE2, 0x57D9, 0x11D0, [0xB9, 0x32, 0x00, 0xA0, 0x24, 0xAB, 0x2D, 0xBB]}; 328 + const IID CLSID_DsFindPrinter = {0xB577F070, 0x7EE2, 0x11D0, [0x91, 0x3F, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 329 + const IID CLSID_DsFindVolume = {0xC1B3CBF1, 0x886A, 0x11D0, [0x91, 0x40, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 330 + const IID CLSID_DsFolderProperties = {0x9E51E0D0, 0x6E0F, 0x11D2, [0x96, 0x01, 0x00, 0xC0, 0x4F, 0xA3, 0x1A, 0x86]}; 331 + const IID CLSID_DsPropertyPages = {0x0D45D530, 0x764B, 0x11D0, [0xA1, 0xCA, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 332 + const IID CLSID_DsQuery = {0x8A23E65E, 0x31C2, 0x11D0, [0x89, 0x1C, 0x00, 0xA0, 0x24, 0xAB, 0x2D, 0xBB]}; 333 + const IID CLSID_DWbemClassObject = {0x64AB3751, 0x12BC, 0x11D1, [0x9E, 0x61, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 334 + const IID CLSID_DWbemContext = {0x752FF212, 0xF7B7, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 335 + const IID CLSID_DWbemLocator = {0xCB7CA032, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 336 + const IID CLSID_DX2D = {0x473AA80B, 0x4577, 0x11D1, [0x81, 0xA8, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 337 + const IID CLSID_DXFade = {0x16B280C5, 0xEE70, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 338 + const IID CLSID_DXGradient = {0xC6365470, 0xF667, 0x11D1, [0x90, 0x67, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 339 + const IID CLSID_DXLUTBuilder = {0x1E54333B, 0x2A00, 0x11D1, [0x81, 0x98, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 340 + const IID CLSID_DXRasterizer = {0x8652CE55, 0x9E80, 0x11D1, [0x90, 0x53, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 341 + const IID CLSID_DXSurface = {0x0E890F83, 0x5F79, 0x11D1, [0x90, 0x43, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 342 + const IID CLSID_DXSurfaceModifier = {0x3E669F1D, 0x9C23, 0x11D1, [0x90, 0x53, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 343 + const IID CLSID_DXTAlpha = {0xADC6CB82, 0x424C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 344 + const IID CLSID_DXTAlphaImageLoader = {0x0C7EFBDE, 0x0303, 0x4C6F, [0xA4, 0xF7, 0x31, 0xFA, 0x2B, 0xE5, 0xE3, 0x97]}; 345 + const IID CLSID_DXTAlphaImageLoaderPP = {0x8C80CE2D, 0x850D, 0x47DA, [0x8E, 0xCD, 0x55, 0x02, 0x35, 0x62, 0xD1, 0x67]}; 346 + const IID CLSID_DXTAlphaPP = {0xD687A7E0, 0x4BA4, 0x11D2, [0x8A, 0xDE, 0x00, 0xA0, 0xC9, 0x8E, 0x65, 0x27]}; 347 + const IID CLSID_DXTaskManager = {0x4CB26C03, 0xFF93, 0x11D0, [0x81, 0x7E, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 348 + const IID CLSID_DXTBarn = {0xEC9BA17D, 0x60B5, 0x462B, [0xA6, 0xD8, 0x14, 0xB8, 0x90, 0x57, 0xE2, 0x2A]}; 349 + const IID CLSID_DXTBlinds = {0x9A4A4A51, 0xFB3A, 0x4F4B, [0x9B, 0x57, 0xA2, 0x91, 0x2A, 0x28, 0x97, 0x69]}; 350 + const IID CLSID_DXTCheckerBoard = {0xB3EE7802, 0x8224, 0x4787, [0xA1, 0xEA, 0xF0, 0xDE, 0x16, 0xDE, 0xAB, 0xD3]}; 351 + const IID CLSID_DXTCheckerBoardPP = {0xCBF47525, 0x98D2, 0x45EA, [0xB8, 0x43, 0xFD, 0x21, 0x3D, 0x93, 0x2B, 0x10]}; 352 + const IID CLSID_DXTChroma = {0x421516C1, 0x3CF8, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 353 + const IID CLSID_DXTChromaPP = {0xEC7E0760, 0x4C76, 0x11D2, [0x8A, 0xDE, 0x00, 0xA0, 0xC9, 0x8E, 0x65, 0x27]}; 354 + const IID CLSID_DXTComposite = {0x9A43A844, 0x0831, 0x11D1, [0x81, 0x7F, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 355 + const IID CLSID_DXTConvolution = {0x2BC0EF29, 0xE6BA, 0x11D1, [0x81, 0xDD, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 356 + const IID CLSID_DXTDropShadow = {0xADC6CB86, 0x424C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 357 + const IID CLSID_DXTDropShadowPP = {0xEC7E0761, 0x4C76, 0x11D2, [0x8A, 0xDE, 0x00, 0xA0, 0xC9, 0x8E, 0x65, 0x27]}; 358 + const IID CLSID_DXTFilter = {0x385A91BC, 0x1E8A, 0x4E4A, [0xA7, 0xA6, 0xF4, 0xFC, 0x1E, 0x6C, 0xA1, 0xBD]}; 359 + const IID CLSID_DXTFilterBehavior = {0x649EEC1E, 0xB579, 0x4E8C, [0xBB, 0x3B, 0x49, 0x97, 0xF8, 0x42, 0x65, 0x36]}; 360 + const IID CLSID_DXTFilterCollection = {0xA7EE7F34, 0x3BD1, 0x427F, [0x92, 0x31, 0xF9, 0x41, 0xE9, 0xB7, 0xE1, 0xFE]}; 361 + const IID CLSID_DXTFilterFactory = {0x81397204, 0xF51A, 0x4571, [0x8D, 0x7B, 0xDC, 0x03, 0x05, 0x21, 0xAA, 0xBD]}; 362 + const IID CLSID_DXTGlow = {0x9F8E6421, 0x3D9B, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 363 + const IID CLSID_DXTGlowPP = {0xEC7E0764, 0x4C76, 0x11D2, [0x8A, 0xDE, 0x00, 0xA0, 0xC9, 0x8E, 0x65, 0x27]}; 364 + const IID CLSID_DXTGradientD = {0x623E2882, 0xFC0E, 0x11D1, [0x9A, 0x77, 0x00, 0x00, 0xF8, 0x75, 0x6A, 0x10]}; 365 + const IID CLSID_DXTGradientWipe = {0xB96F67A2, 0x30C2, 0x47E8, [0xBD, 0x85, 0x70, 0xA2, 0xC9, 0x48, 0xB5, 0x0F]}; 366 + const IID CLSID_DXTICMFilter = {0xA1BFB370, 0x5A9F, 0x4429, [0xBB, 0x72, 0xB1, 0x3E, 0x2F, 0xEA, 0xED, 0xEF]}; 367 + const IID CLSID_DXTICMFilterPP = {0x1958FB12, 0x31E6, 0x47E5, [0xAA, 0x49, 0xB2, 0x3D, 0x12, 0xC8, 0x53, 0xE6]}; 368 + const IID CLSID_DXTInset = {0x76F363F2, 0x7E9F, 0x4ED7, [0xA6, 0xA7, 0xEE, 0x30, 0x35, 0x1B, 0x66, 0x28]}; 369 + const IID CLSID_DXTIris = {0x049F2CE6, 0xD996, 0x4721, [0x89, 0x7A, 0xDB, 0x15, 0xCE, 0x9E, 0xB7, 0x3D]}; 370 + const IID CLSID_DXTLabel = {0x54702535, 0x2606, 0x11D1, [0x99, 0x9C, 0x00, 0x00, 0xF8, 0x75, 0x6A, 0x10]}; 371 + const IID CLSID_DXTLight = {0xF9EFBEC2, 0x4302, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 372 + const IID CLSID_DXTLightPP = {0x694AF25F, 0x124D, 0x11D3, [0x91, 0xD5, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 373 + const IID CLSID_DXTMaskFilter = {0x3A04D93B, 0x1EDD, 0x4F3F, [0xA3, 0x75, 0xA0, 0x3E, 0xC1, 0x95, 0x72, 0xC4]}; 374 + const IID CLSID_DXTMatrix = {0x4ABF5A06, 0x5568, 0x4834, [0xBE, 0xE3, 0x32, 0x7A, 0x6D, 0x95, 0xA6, 0x85]}; 375 + const IID CLSID_DXTMatrixPP = {0xC591103A, 0xB3A8, 0x4D47, [0xA3, 0xF7, 0x2A, 0xEE, 0xE4, 0xB8, 0x01, 0x3F]}; 376 + const IID CLSID_DXTMetaBurnFilm = {0x107045D1, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 377 + const IID CLSID_DXTMetaCenterPeel = {0xAA0D4D0C, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 378 + const IID CLSID_DXTMetaColorFade = {0x2A54C908, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 379 + const IID CLSID_DXTMetaFlowMotion = {0x2A54C90B, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 380 + const IID CLSID_DXTMetaGriddler = {0x2A54C911, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 381 + const IID CLSID_DXTMetaGriddler2 = {0x2A54C913, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 382 + const IID CLSID_DXTMetaJaws = {0x2A54C904, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 383 + const IID CLSID_DXTMetaLightWipe = {0x107045C8, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 384 + const IID CLSID_DXTMetaLiquid = {0xAA0D4D0A, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 385 + const IID CLSID_DXTMetaPageTurn = {0xAA0D4D08, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 386 + const IID CLSID_DXTMetaPeelPiece = {0xAA0D4D10, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 387 + const IID CLSID_DXTMetaPeelSmall = {0xAA0D4D0E, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 388 + const IID CLSID_DXTMetaPeelSplit = {0xAA0D4D12, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 389 + const IID CLSID_DXTMetaRadialScaleWipe = {0x107045CA, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 390 + const IID CLSID_DXTMetaRipple = {0xAA0D4D03, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 391 + const IID CLSID_DXTMetaRoll = {0x9C61F46E, 0x0530, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 392 + const IID CLSID_DXTMetaThreshold = {0x2A54C915, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 393 + const IID CLSID_DXTMetaTwister = {0x107045CF, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 394 + const IID CLSID_DXTMetaVacuum = {0x2A54C90D, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 395 + const IID CLSID_DXTMetaWater = {0x107045C5, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 396 + const IID CLSID_DXTMetaWhiteOut = {0x107045CC, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 397 + const IID CLSID_DXTMetaWormHole = {0x0E6AE022, 0x0C83, 0x11D2, [0x8C, 0xD4, 0x00, 0x10, 0x4B, 0xC7, 0x5D, 0x9A]}; 398 + const IID CLSID_DXTMotionBlur = {0xDD13DE77, 0xD3BA, 0x42D4, [0xB5, 0xC6, 0x77, 0x45, 0xFA, 0x4E, 0x2D, 0x4B]}; 399 + const IID CLSID_DXTMotionBlurPP = {0x926433E1, 0x7F8F, 0x4BC6, [0xBE, 0xC4, 0x8C, 0x12, 0x6C, 0x6B, 0x7D, 0xC4]}; 400 + const IID CLSID_DXTRadialWipe = {0x164484A9, 0x35D9, 0x4FB7, [0x9F, 0xAB, 0x48, 0x27, 0x3B, 0x96, 0xAA, 0x1D]}; 401 + const IID CLSID_DXTRandomBars = {0x2E7700B7, 0x27C4, 0x437F, [0x9F, 0xBF, 0x1E, 0x8B, 0xE2, 0x81, 0x75, 0x66]}; 402 + const IID CLSID_DXTRandomBarsPP = {0xE3E6AE11, 0x7FDC, 0x40C4, [0xAF, 0xBF, 0x1D, 0xCE, 0xA8, 0x28, 0x62, 0xCC]}; 403 + const IID CLSID_DXTRandomDissolve = {0xF7F4A1B6, 0x8E87, 0x452F, [0xA2, 0xD7, 0x30, 0x77, 0xF5, 0x08, 0xDB, 0xC0]}; 404 + const IID CLSID_DXTransformFactory = {0xD1FE6762, 0xFC48, 0x11D0, [0x88, 0x3A, 0x3C, 0x8B, 0x00, 0xC1, 0x00, 0x00]}; 405 + const IID CLSID_DXTRedirect = {0x42B07B28, 0x2280, 0x4937, [0xB0, 0x35, 0x02, 0x93, 0xFB, 0x81, 0x27, 0x81]}; 406 + const IID CLSID_DXTRevealTrans = {0xE31E87C4, 0x86EA, 0x4940, [0x9B, 0x8A, 0x5B, 0xD5, 0xD1, 0x79, 0xA7, 0x37]}; 407 + const IID CLSID_DXTScale = {0x555278E2, 0x05DB, 0x11D1, [0x88, 0x3A, 0x3C, 0x8B, 0x00, 0xC1, 0x00, 0x00]}; 408 + const IID CLSID_DXTShadow = {0xE71B4063, 0x3E59, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 409 + const IID CLSID_DXTShadowPP = {0xEC7E0765, 0x4C76, 0x11D2, [0x8A, 0xDE, 0x00, 0xA0, 0xC9, 0x8E, 0x65, 0x27]}; 410 + const IID CLSID_DXTSlide = {0xD1C5A1E7, 0xCC47, 0x4E32, [0xBD, 0xD2, 0x4B, 0x3C, 0x5F, 0xC5, 0x0A, 0xF5]}; 411 + const IID CLSID_DXTSpiral = {0x4A03DCB9, 0x6E17, 0x4A39, [0x88, 0x45, 0x4E, 0xE7, 0xDC, 0x53, 0x31, 0xA5]}; 412 + const IID CLSID_DXTStretch = {0xF088DE73, 0xBDD0, 0x4E3C, [0x81, 0xF8, 0x6D, 0x32, 0xF4, 0xFE, 0x9D, 0x28]}; 413 + const IID CLSID_DXTStrips = {0x63A4B1FC, 0x259A, 0x4A5B, [0x81, 0x29, 0xA8, 0x3B, 0x8C, 0x9E, 0x6F, 0x4F]}; 414 + const IID CLSID_DXTStripsPP = {0xFEC0B7EE, 0x7AEC, 0x4067, [0x9E, 0xE1, 0xFA, 0xCF, 0xB7, 0xCE, 0x9A, 0xF9]}; 415 + const IID CLSID_DXTWave = {0xADC6CB88, 0x424C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 416 + const IID CLSID_DXTWavePP = {0xF12456C0, 0x4C9E, 0x11D2, [0x8A, 0xDE, 0x00, 0xA0, 0xC9, 0x8E, 0x65, 0x27]}; 417 + const IID CLSID_DXTWipe = {0xAF279B30, 0x86EB, 0x11D1, [0x81, 0xBF, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 418 + const IID CLSID_DXTWipePP = {0x7FFE4D08, 0xFBFD, 0x11D1, [0x9A, 0x77, 0x00, 0x00, 0xF8, 0x75, 0x6A, 0x10]}; 419 + const IID CLSID_DXTZigzag = {0x23E26328, 0x3928, 0x40F2, [0x95, 0xE5, 0x93, 0xCA, 0xD6, 0x90, 0x16, 0xEB]}; 420 + const IID CLSID_EAPOLManager = {0xBA126AE4, 0x2166, 0x11D1, [0xB1, 0xD0, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 421 + const IID CLSID_Email = {0x8F92A857, 0x478E, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 422 + const IID CLSID_EnumAdapterInfo = {0x6F9942CA, 0xC1B1, 0x4AB5, [0x93, 0xDA, 0x60, 0x58, 0x99, 0x1D, 0xC8, 0xF3]}; 423 + const IID CLSID_EVENTQUEUE = {0x6E0FF466, 0x339E, 0x11D1, [0xBE, 0x5B, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0xBB]}; 424 + const IID CLSID_EXTENDEDERRORINFO = {0xC8B522CF, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 425 + const IID CLSID_FadePP = {0x16B280C6, 0xEE70, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 426 + const IID CLSID_FaxNumber = {0xA5062215, 0x4681, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 427 + const IID CLSID_FilePlaybackTerminal = {0x0CB9914C, 0x79CD, 0x47DC, [0xAD, 0xB0, 0x32, 0x7F, 0x47, 0xCE, 0xFB, 0x20]}; 428 + const IID CLSID_FileProtocol = {0x79EAC9E7, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 429 + const IID CLSID_FileRecordingTerminal = {0x521F3D06, 0xC3D0, 0x4511, [0x86, 0x17, 0x86, 0xB9, 0xA7, 0x83, 0xDA, 0x77]}; 430 + const IID CLSID_FileRecordingTrack = {0xBF14A2E4, 0xE88B, 0x4EF5, [0x97, 0x40, 0x5A, 0xC5, 0xD0, 0x22, 0xF8, 0xC9]}; 431 + const IID CLSID_FileSearchBand = {0xC4EE31F3, 0x4768, 0x11D2, [0xBE, 0x5C, 0x00, 0xA0, 0xC9, 0xA8, 0x3D, 0xA1]}; 432 + const IID CLSID_FileSysColumnProvider = {0x0D2E74C4, 0x3C34, 0x11D2, [0xA2, 0x7E, 0x00, 0xC0, 0x4F, 0xC3, 0x08, 0x71]}; 433 + const IID CLSID_FileTerminal = {0xAAF578F1, 0xDC70, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 434 + const IID CLSID_FolderShortcut = {0x0AFACED1, 0xE828, 0x11D1, [0x91, 0x87, 0xB5, 0x32, 0xF1, 0xE9, 0x57, 0x5D]}; 435 + const IID CLSID_FolderViewHost = {0x20B1CB23, 0x6968, 0x4EB9, [0xB7, 0xD4, 0xA6, 0x6D, 0x00, 0xD0, 0x7C, 0xEE]}; 436 + const IID CLSID_FontNames = {0x3050F83A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 437 + const IID CLSID_FramesCollection = {0x3050F7F6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 438 + const IID CLSID_FreeSpaceCategorizer = {0xB5607793, 0x24AC, 0x44C7, [0x82, 0xE2, 0x83, 0x17, 0x26, 0xAA, 0x6C, 0xB7]}; 439 + const IID CLSID_FtpProtocol = {0x79EAC9E3, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 440 + const IID CLSID_GblComponentCategoriesMgr = {0x0002E006, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 441 + const IID CLSID_GLOBAL_BROADCAST = {0xD34F1810, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 442 + const IID CLSID_GopherProtocol = {0x79EAC9E4, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 443 + const IID CLSID_GradientPP = {0x623E2880, 0xFC0E, 0x11D1, [0x9A, 0x77, 0x00, 0x00, 0xF8, 0x75, 0x6A, 0x10]}; 444 + const IID CLSID_HandsetTerminal = {0xAAF578EB, 0xDC70, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 445 + const IID CLSID_HeadsetTerminal = {0xAAF578ED, 0xDC70, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 446 + const IID CLSID_HNetCfgMgr = {0x46C166AA, 0x3108, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 447 + const IID CLSID_Hold = {0xB3AD3E13, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 448 + const IID CLSID_HomeNetAutoConfigService = {0x9A8EA3B5, 0x572E, 0x4CB3, [0x9E, 0xB9, 0xEC, 0x68, 0x9A, 0xC5, 0x75, 0xAE]}; 449 + const IID CLSID_HomePage = {0x766BF2AE, 0xD650, 0x11D1, [0x98, 0x11, 0x00, 0xC0, 0x4F, 0xC3, 0x1D, 0x2E]}; 450 + const IID CLSID_HostDialogHelper = {0x429AF92C, 0xA51F, 0x11D2, [0x86, 0x1E, 0x00, 0xC0, 0x4F, 0xA3, 0x5C, 0x89]}; 451 + const IID CLSID_HTADocument = {0x3050F5C8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 452 + const IID CLSID_HTCAttachBehavior = {0x3050F5F5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 453 + const IID CLSID_HTCDefaultDispatch = {0x3050F4FC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 454 + const IID CLSID_HTCDescBehavior = {0x3050F5DD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 455 + const IID CLSID_HTCEventBehavior = {0x3050F4FE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 456 + const IID CLSID_HTCMethodBehavior = {0x3050F630, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 457 + const IID CLSID_HTCPropertyBehavior = {0x3050F5DE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 458 + const IID CLSID_HTMLAnchorElement = {0x3050F248, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 459 + const IID CLSID_HTMLAppBehavior = {0x3050F5CB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 460 + const IID CLSID_HTMLApplication = {0x3050F4D8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 461 + const IID CLSID_HTMLAreaElement = {0x3050F283, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 462 + const IID CLSID_HTMLAreasCollection = {0x3050F4CA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 463 + const IID CLSID_HTMLAttributeCollection = {0x3050F4CC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 464 + const IID CLSID_HTMLBaseElement = {0x3050F276, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 465 + const IID CLSID_HTMLBaseFontElement = {0x3050F282, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 466 + const IID CLSID_HTMLBGsound = {0x3050F370, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 467 + const IID CLSID_HTMLBlockElement = {0x3050F281, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 468 + const IID CLSID_HTMLBody = {0x3050F24A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 469 + const IID CLSID_HTMLBRElement = {0x3050F280, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 470 + const IID CLSID_HTMLButtonElement = {0x3050F2C6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 471 + const IID CLSID_HTMLCommentElement = {0x3050F317, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 472 + const IID CLSID_HTMLCurrentStyle = {0x3050F3DC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 473 + const IID CLSID_HTMLDDElement = {0x3050F27F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 474 + const IID CLSID_HTMLDefaults = {0x3050F6C8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 475 + const IID CLSID_HTMLDialog = {0x3050F28A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 476 + const IID CLSID_HTMLDivElement = {0x3050F27E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 477 + const IID CLSID_HTMLDivPosition = {0x3050F249, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 478 + const IID CLSID_HtmlDlgSafeHelper = {0x3050F819, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 479 + const IID CLSID_HTMLDListElement = {0x3050F27D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 480 + const IID CLSID_HTMLDocument = {0x25336920, 0x03F9, 0x11CF, [0x8F, 0xD0, 0x00, 0xAA, 0x00, 0x68, 0x6F, 0x13]}; 481 + const IID CLSID_HTMLDOMAttribute = {0x3050F4B2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 482 + const IID CLSID_HTMLDOMImplementation = {0x3050F80E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 483 + const IID CLSID_HTMLDOMTextNode = {0x3050F4BA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 484 + const IID CLSID_HTMLDTElement = {0x3050F27C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 485 + const IID CLSID_HTMLElementCollection = {0x3050F4CB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 486 + const IID CLSID_HTMLEmbed = {0x3050F25D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 487 + const IID CLSID_HTMLFieldSetElement = {0x3050F3E8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 488 + const IID CLSID_HTMLFontElement = {0x3050F27B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 489 + const IID CLSID_HTMLFormElement = {0x3050F251, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 490 + const IID CLSID_HTMLFrameBase = {0x3050F312, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 491 + const IID CLSID_HTMLFrameElement = {0x3050F314, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 492 + const IID CLSID_HTMLFrameSetSite = {0x3050F31A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 493 + const IID CLSID_HTMLGenericElement = {0x3050F4B8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 494 + const IID CLSID_HTMLHeadElement = {0x3050F493, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 495 + const IID CLSID_HTMLHeaderElement = {0x3050F27A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 496 + const IID CLSID_HTMLHistory = {0xFECEAAA3, 0x8405, 0x11CF, [0x8B, 0xA1, 0x00, 0xAA, 0x00, 0x47, 0x6D, 0xA6]}; 497 + const IID CLSID_HTMLHRElement = {0x3050F252, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 498 + const IID CLSID_HTMLHtmlElement = {0x3050F491, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 499 + const IID CLSID_HTMLIFrame = {0x3050F316, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 500 + const IID CLSID_HTMLImageElementFactory = {0x3050F38F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 501 + const IID CLSID_HTMLImg = {0x3050F241, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 502 + const IID CLSID_HTMLInputButtonElement = {0x3050F2B4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 503 + const IID CLSID_HTMLInputElement = {0x3050F5D8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 504 + const IID CLSID_HTMLInputFileElement = {0x3050F2AE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 505 + const IID CLSID_HTMLInputImage = {0x3050F2C4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 506 + const IID CLSID_HTMLInputTextElement = {0x3050F2AB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 507 + const IID CLSID_HTMLIsIndexElement = {0x3050F278, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 508 + const IID CLSID_HTMLLabelElement = {0x3050F32B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 509 + const IID CLSID_HTMLLegendElement = {0x3050F3E9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 510 + const IID CLSID_HTMLLIElement = {0x3050F273, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 511 + const IID CLSID_HTMLLinkElement = {0x3050F277, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 512 + const IID CLSID_HTMLListElement = {0x3050F272, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 513 + const IID CLSID_HTMLLoadOptions = {0x18845040, 0x0FA5, 0x11D1, [0xBA, 0x19, 0x00, 0xC0, 0x4F, 0xD9, 0x12, 0xD0]}; 514 + const IID CLSID_HTMLLocation = {0x163BB1E1, 0x6E00, 0x11CF, [0x83, 0x7A, 0x48, 0xDC, 0x04, 0xC1, 0x00, 0x00]}; 515 + const IID CLSID_HTMLMapElement = {0x3050F271, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 516 + const IID CLSID_HTMLMarqueeElement = {0x3050F2B9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 517 + const IID CLSID_HTMLMetaElement = {0x3050F275, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 518 + const IID CLSID_HTMLNamespace = {0x3050F6BC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 519 + const IID CLSID_HTMLNamespaceCollection = {0x3050F6B9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 520 + const IID CLSID_HTMLNavigator = {0xFECEAAA6, 0x8405, 0x11CF, [0x8B, 0xA1, 0x00, 0xAA, 0x00, 0x47, 0x6D, 0xA6]}; 521 + const IID CLSID_HTMLNextIdElement = {0x3050F279, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 522 + const IID CLSID_HTMLNoShowElement = {0x3050F38B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 523 + const IID CLSID_HTMLObjectElement = {0x3050F24E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 524 + const IID CLSID_HTMLOListElement = {0x3050F270, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 525 + const IID CLSID_HTMLOptionButtonElement = {0x3050F2BE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 526 + const IID CLSID_HTMLOptionElement = {0x3050F24D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 527 + const IID CLSID_HTMLOptionElementFactory = {0x3050F38D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 528 + const IID CLSID_HTMLParaElement = {0x3050F26F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 529 + const IID CLSID_HTMLParamElement = {0x3050F83E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 530 + const IID CLSID_HTMLPhraseElement = {0x3050F26E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 531 + const IID CLSID_HTMLPluginDocument = {0x25336921, 0x03F9, 0x11CF, [0x8F, 0xD0, 0x00, 0xAA, 0x00, 0x68, 0x6F, 0x13]}; 532 + const IID CLSID_HTMLPopup = {0x3050F667, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 533 + const IID CLSID_HTMLRenderStyle = {0x3050F6AA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 534 + const IID CLSID_HTMLRichtextElement = {0x3050F2DF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 535 + const IID CLSID_HTMLRuleStyle = {0x3050F3D0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 536 + const IID CLSID_HTMLScreen = {0x3050F35D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 537 + const IID CLSID_HTMLScriptElement = {0x3050F28C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 538 + const IID CLSID_HTMLSelectElement = {0x3050F245, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 539 + const IID CLSID_HTMLSpanElement = {0x3050F3F5, 0x98B4, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 540 + const IID CLSID_HTMLSpanFlow = {0x3050F3E6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 541 + const IID CLSID_HTMLStyle = {0x3050F285, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 542 + const IID CLSID_HTMLStyleElement = {0x3050F37D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 543 + const IID CLSID_HTMLStyleFontFace = {0x3050F3D4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 544 + const IID CLSID_HTMLStyleSheet = {0x3050F2E4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 545 + const IID CLSID_HTMLStyleSheetPage = {0x3050F7EF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 546 + const IID CLSID_HTMLStyleSheetPagesCollection = {0x3050F7F1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 547 + const IID CLSID_HTMLStyleSheetRule = {0x3050F3CE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 548 + const IID CLSID_HTMLStyleSheetRulesCollection = {0x3050F3CD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 549 + const IID CLSID_HTMLStyleSheetsCollection = {0x3050F37F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 550 + const IID CLSID_HTMLTable = {0x3050F26B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 551 + const IID CLSID_HTMLTableCaption = {0x3050F2EC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 552 + const IID CLSID_HTMLTableCell = {0x3050F246, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 553 + const IID CLSID_HTMLTableCol = {0x3050F26C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 554 + const IID CLSID_HTMLTableRow = {0x3050F26D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 555 + const IID CLSID_HTMLTableSection = {0x3050F2E9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 556 + const IID CLSID_HTMLTextAreaElement = {0x3050F2AC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 557 + const IID CLSID_HTMLTextElement = {0x3050F26A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 558 + const IID CLSID_HTMLTitleElement = {0x3050F284, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 559 + const IID CLSID_HTMLUListElement = {0x3050F269, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 560 + const IID CLSID_HTMLUnknownElement = {0x3050F268, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 561 + const IID CLSID_HTMLUrnCollection = {0x3050F580, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 562 + const IID CLSID_HTMLWindow2 = {0xD48A6EC6, 0x6A4A, 0x11CF, [0x94, 0xA7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 563 + const IID CLSID_HTMLWindowProxy = {0x3050F391, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 564 + const IID CLSID_HttpProtocol = {0x79EAC9E2, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 565 + const IID CLSID_HttpSProtocol = {0x79EAC9E5, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 566 + const IID CLSID_HWShellExecute = {0xFFB8655F, 0x81B9, 0x4FCE, [0xB8, 0x9C, 0x9A, 0x6B, 0xA7, 0x6D, 0x13, 0xE7]}; 567 + const IID CLSID_IActiveXSafetyProvider = {0xAAF8C6CE, 0xF972, 0x11D0, [0x97, 0xEB, 0x00, 0xAA, 0x00, 0x61, 0x53, 0x33]}; 568 + const IID CLSID_IImageDecodeFilter = {0x607FD4E8, 0x0A03, 0x11D1, [0xAB, 0x1D, 0x00, 0xC0, 0x4F, 0xC9, 0xB3, 0x04]}; 569 + const IID CLSID_IImgCtx = {0x3050F3D6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 570 + const IID CLSID_ImageList = {0x7C476BA2, 0x02B1, 0x48F4, [0x80, 0x48, 0xB2, 0x46, 0x19, 0xDD, 0xC0, 0x58]}; 571 + const IID CLSID_ImageProperties = {0x7AB770C7, 0x0E23, 0x4D7A, [0x8A, 0xA2, 0x19, 0xBF, 0xAD, 0x47, 0x98, 0x29]}; 572 + const IID CLSID_InProcFreeMarshaler = {0x0000033A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 573 + const IID CLSID_IntDitherer = {0x05F6FE1A, 0xECEF, 0x11D0, [0xAA, 0xE7, 0x00, 0xC0, 0x4F, 0xC9, 0xB3, 0x04]}; 574 + const IID CLSID_IntelliForms = {0x613AB92E, 0x16BF, 0x11D2, [0xBC, 0xA5, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 575 + const IID CLSID_Internet = {0x871C5380, 0x42A0, 0x1069, [0xA2, 0xEA, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D]}; 576 + const IID CLSID_InternetButtons = {0x1E796980, 0x9CC5, 0x11D1, [0xA8, 0x3F, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0x61]}; 577 + const IID CLSID_InternetConnectionBeaconServic = {0x04DF613A, 0x5610, 0x11D4, [0x9E, 0xC8, 0x00, 0xB0, 0xD0, 0x22, 0xDD, 0x1F]}; 578 + const IID CLSID_InternetExplorer = {0x0002DF01, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 579 + const IID CLSID_InternetPrintOrdering = {0xADD36AA8, 0x751A, 0x4579, [0xA2, 0x66, 0xD6, 0x6F, 0x52, 0x02, 0xCC, 0xBB]}; 580 + const IID CLSID_InternetSecurityManager = {0x7B8A2D94, 0x0AC9, 0x11D1, [0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4]}; 581 + const IID CLSID_InternetShortcut = {0xFBF23B40, 0xE3F0, 0x101B, [0x84, 0x88, 0x00, 0xAA, 0x00, 0x3E, 0x56, 0xF8]}; 582 + const IID CLSID_InternetZoneManager = {0x7B8A2D95, 0x0AC9, 0x11D1, [0x89, 0x6C, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4]}; 583 + const IID CLSID_LanConnectionManager = {0xBA126AD3, 0x2166, 0x11D1, [0xB1, 0xD0, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 584 + const IID CLSID_LargeInteger = {0x927971F5, 0x0939, 0x11D1, [0x8B, 0xE1, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 585 + const IID CLSID_LDAPConnectionObject = {0x7DA2A9C4, 0x0C46, 0x43BD, [0xB0, 0x4E, 0xD9, 0x2B, 0x1B, 0xE2, 0x7C, 0x45]}; 586 + const IID CLSID_LDAPObject = {0x05709878, 0x5195, 0x466C, [0x9E, 0x64, 0x48, 0x7C, 0xE3, 0xCA, 0x20, 0xBF]}; 587 + const IID CLSID_LinkColumnProvider = {0x24F14F02, 0x7B1C, 0x11D1, [0x83, 0x8F, 0x00, 0x00, 0xF8, 0x04, 0x61, 0xCF]}; 588 + const IID CLSID_LocalMachineClasses = {0x00000331, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 589 + const IID CLSID_LogManager = {0x8FDA8FA4, 0x8763, 0x479F, [0xB9, 0xB1, 0x22, 0x02, 0xB2, 0x80, 0xD2, 0x93]}; 590 + const IID CLSID_LUTBuilderPP = {0x25B33662, 0xFD83, 0x11D1, [0x8A, 0xDE, 0x44, 0x45, 0x53, 0x54, 0x00, 0x01]}; 591 + const IID CLSID_MachineDebugManager = {0x0C0A3666, 0x30C9, 0x11D0, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 592 + const IID CLSID_MailAutoDiscovery = {0x008FD5DD, 0x6DBB, 0x48E3, [0x99, 0x1B, 0x2D, 0x3E, 0xD6, 0x58, 0x51, 0x6A]}; 593 + const IID CLSID_MailProtocolADEntry = {0x61A5D6F3, 0xC131, 0x4C35, [0xBF, 0x40, 0x90, 0xA5, 0x0F, 0x21, 0x41, 0x22]}; 594 + const IID CLSID_ManualResetEvent = {0x0000032C, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 595 + const IID CLSID_McastAddressAllocation = {0xDF0DAEF2, 0xA289, 0x11D1, [0x86, 0x97, 0x00, 0x60, 0x08, 0xB0, 0xE5, 0xD2]}; 596 + const IID CLSID_MediaStreamTerminal = {0xE2F7AEF7, 0x4971, 0x11D1, [0xA6, 0x71, 0x00, 0x60, 0x97, 0xC9, 0xA2, 0xE8]}; 597 + const IID CLSID_MergedCategorizer = {0x8E827C11, 0x33E7, 0x4BC1, [0xB2, 0x42, 0x8C, 0xD9, 0xA1, 0xC2, 0xB3, 0x04]}; 598 + const IID CLSID_MHTMLDocument = {0x3050F3D9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 599 + const IID CLSID_MicrophoneTerminal = {0xAAF578EF, 0xDC70, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 600 + const IID CLSID_MicrosoftDS = {0xFE1290F0, 0xCFBD, 0x11CF, [0xA3, 0x30, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 601 + const IID CLSID_MigrationWizardAuto = {0x67331D85, 0xBE17, 0x42F6, [0x8D, 0x3F, 0x47, 0xB8, 0xE8, 0xB2, 0x66, 0x37]}; 602 + const IID CLSID_MkProtocol = {0x79EAC9E6, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 603 + const IID CLSID_MofCompiler = {0x6DAF9757, 0x2E37, 0x11D2, [0xAE, 0xC9, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 604 + const IID CLSID_MountedVolume = {0x12518493, 0x00B2, 0x11D2, [0x9F, 0xA5, 0x9E, 0x34, 0x20, 0x52, 0x41, 0x53]}; 605 + const IID CLSID_MSBurnEngineObj = {0x520CCA67, 0x51A5, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 606 + const IID CLSID_MSDATT = {0xC8B522CE, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 607 + const IID CLSID_MSDAVTM = {0x0C733A8E, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 608 + const IID CLSID_MSDiscMasterObj = {0x520CCA63, 0x51A5, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 609 + const IID CLSID_MSDiscRecorderObj = {0x520CCA61, 0x51A5, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 610 + const IID CLSID_MSDiscStashObj = {0x520CCA65, 0x51A5, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 611 + const IID CLSID_MSEnumDiscRecordersObj = {0x8A03567A, 0x63CB, 0x4BA8, [0xBA, 0xF6, 0x52, 0x11, 0x98, 0x16, 0xD1, 0xEF]}; 612 + const IID CLSID_MSOButtons = {0x178F34B8, 0xA282, 0x11D2, [0x86, 0xC5, 0x00, 0xC0, 0x4F, 0x8E, 0xEA, 0x99]}; 613 + const IID CLSID_MyComputer = {0x20D04FE0, 0x3AEA, 0x1069, [0xA2, 0xD8, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D]}; 614 + const IID CLSID_MyDocuments = {0x450D8FBA, 0xAD25, 0x11D0, [0x98, 0xA8, 0x08, 0x00, 0x36, 0x1B, 0x11, 0x03]}; 615 + const IID CLSID_NameTranslate = {0x274FAE1F, 0x3626, 0x11D1, [0xA3, 0xA4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 616 + const IID CLSID_NetAddress = {0xB0B71247, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 617 + const IID CLSID_NetConnectionHNetUtil = {0xBA126AE3, 0x2166, 0x11D1, [0xB1, 0xD0, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 618 + const IID CLSID_NetConnectionUiUtilities = {0x7007ACD3, 0x3202, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 619 + const IID CLSID_NetCrawler = {0x601AC3DC, 0x786A, 0x4EB0, [0xBF, 0x40, 0xEE, 0x35, 0x21, 0xE7, 0x0B, 0xFB]}; 620 + const IID CLSID_NetSharingManager = {0x5C63C1AD, 0x3956, 0x4FF8, [0x84, 0x86, 0x40, 0x03, 0x47, 0x58, 0x31, 0x5B]}; 621 + const IID CLSID_NetworkDomain = {0x46E06680, 0x4BF0, 0x11D1, [0x83, 0xEE, 0x00, 0xA0, 0xC9, 0x0D, 0xC8, 0x49]}; 622 + const IID CLSID_NetworkPlaces = {0x208D2C60, 0x3AEA, 0x1069, [0xA2, 0xD7, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D]}; 623 + const IID CLSID_NetworkServer = {0xC0542A90, 0x4BF0, 0x11D1, [0x83, 0xEE, 0x00, 0xA0, 0xC9, 0x0D, 0xC8, 0x49]}; 624 + const IID CLSID_NetworkShare = {0x54A754C0, 0x4BF0, 0x11D1, [0x83, 0xEE, 0x00, 0xA0, 0xC9, 0x0D, 0xC8, 0x49]}; 625 + const IID CLSID_NetworkType = {0xD4F3D51B, 0x1755, 0x4953, [0x9C, 0x8B, 0x24, 0x95, 0xAB, 0xE5, 0xE0, 0x7E]}; 626 + const IID CLSID_NodeType = {0x1AAA3D11, 0x4792, 0x44E4, [0x9D, 0x49, 0x78, 0xFE, 0xD3, 0x69, 0x1A, 0x14]}; 627 + const IID CLSID_NotificaitonTest1 = {0xC733E501, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 628 + const IID CLSID_NotificaitonTest2 = {0xC733E502, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 629 + const IID CLSID_NotificaitonTest3 = {0xC733E503, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 630 + const IID CLSID_NotificaitonTest4 = {0xC733E504, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 631 + const IID CLSID_NotificationManager = {0xE1813DD0, 0xAADA, 0x4738, [0xB5, 0xFF, 0x96, 0xB4, 0x18, 0x9C, 0x50, 0x19]}; 632 + const IID CLSID_ObjectManager = {0x955661BD, 0xCCA2, 0x4EAC, [0x91, 0xD0, 0xA0, 0x39, 0x6A, 0x28, 0xAE, 0xFD]}; 633 + const IID CLSID_OctetList = {0x1241400F, 0x4680, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 634 + const IID CLSID_OldHTMLDocument = {0xD48A6EC9, 0x6A4A, 0x11CF, [0x94, 0xA7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 635 + const IID CLSID_OldHTMLFormElement = {0x0D04D285, 0x6BEC, 0x11CF, [0x8B, 0x97, 0x00, 0xAA, 0x00, 0x47, 0x6D, 0xA6]}; 636 + const IID CLSID_OLEDB_CONVERSIONLIBRARY = {0xC8B522D1, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 637 + const IID CLSID_OLEDB_ENUMERATOR = {0xC8B522D0, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 638 + const IID CLSID_OLEDB_ROWPOSITIONLIBRARY = {0x2048EEE6, 0x7FA2, 0x11D0, [0x9E, 0x6A, 0x00, 0xA0, 0xC9, 0x13, 0x8C, 0x29]}; 639 + const IID CLSID_PassportClientServices = {0x2D2307C8, 0x7DB4, 0x40D6, [0x91, 0x00, 0xD5, 0x2A, 0xF4, 0xF9, 0x7A, 0x5B]}; 640 + const IID CLSID_Path = {0xB2538919, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 641 + const IID CLSID_Pathname = {0x080D0D78, 0xF421, 0x11D0, [0xA3, 0x6E, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 642 + const IID CLSID_PeerFactory = {0x3050F4CF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 643 + const IID CLSID_PendingProxyConnection = {0xD8A68E5E, 0x2B37, 0x426C, [0xA3, 0x29, 0xC1, 0x17, 0xC1, 0x4C, 0x42, 0x9E]}; 644 + const IID CLSID_PersistentDataChannel = {0xBC9B54AB, 0x7883, 0x4C13, [0x90, 0x9F, 0x03, 0x3D, 0x03, 0x26, 0x79, 0x90]}; 645 + const IID CLSID_PersistPropset = {0xFB8F0821, 0x0164, 0x101B, [0x84, 0xED, 0x08, 0x00, 0x2B, 0x2E, 0xC7, 0x13]}; 646 + const IID CLSID_Picture_Dib = {0x00000316, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 647 + const IID CLSID_Picture_EnhMetafile = {0x00000319, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 648 + const IID CLSID_Picture_Metafile = {0x00000315, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 649 + const IID CLSID_Pixelate = {0x4CCEA634, 0xFBE0, 0x11D1, [0x90, 0x6A, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 650 + const IID CLSID_PixelatePP = {0x4CCEA635, 0xFBE0, 0x11D1, [0x90, 0x6A, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 651 + const IID CLSID_PluggableSuperclassRegistratio = {0xBB918E32, 0x2A5C, 0x4986, [0xAB, 0x40, 0x16, 0x86, 0xA0, 0x34, 0x39, 0x0A]}; 652 + const IID CLSID_PluggableTerminalRegistration = {0x45234E3E, 0x61CC, 0x4311, [0xA3, 0xAB, 0x24, 0x80, 0x82, 0x55, 0x44, 0x82]}; 653 + const IID CLSID_PostAgent = {0xD8BD2030, 0x6FC9, 0x11D0, [0x86, 0x4F, 0x00, 0xAA, 0x00, 0x68, 0x09, 0xD9]}; 654 + const IID CLSID_PostalAddress = {0x0A75AFCD, 0x4680, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 655 + const IID CLSID_PrimaryControlChannel = {0x3CEB5509, 0xC1CD, 0x432F, [0x9D, 0x8F, 0x65, 0xD1, 0xE2, 0x86, 0xAA, 0x80]}; 656 + const IID CLSID_Printers = {0x2227A280, 0x3AEA, 0x1069, [0xA2, 0xDE, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D]}; 657 + const IID CLSID_PROCESS_BROADCAST = {0xD34F1811, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 658 + const IID CLSID_ProcessDebugManager = {0x78A51822, 0x51F4, 0x11D0, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 659 + const IID CLSID_ProgressDialog = {0xF8383852, 0xFCD3, 0x11D1, [0xA6, 0xB9, 0x00, 0x60, 0x97, 0xDF, 0x5B, 0xD4]}; 660 + const IID CLSID_PropertiesUI = {0xD912F8CF, 0x0396, 0x4915, [0x88, 0x4E, 0xFB, 0x42, 0x5D, 0x32, 0x94, 0x3B]}; 661 + const IID CLSID_PropertyEntry = {0x72D3EDC2, 0xA4C4, 0x11D0, [0x85, 0x33, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 662 + const IID CLSID_PropertyValue = {0x7B9E38B0, 0xA97C, 0x11D0, [0x85, 0x34, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 663 + const IID CLSID_PSBindCtx = {0x00000312, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 664 + const IID CLSID_PSClassObject = {0x0000030E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 665 + const IID CLSID_PSClientSite = {0x0000030D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 666 + const IID CLSID_PSDragDrop = {0x00000311, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 667 + const IID CLSID_PSEnumerators = {0x00000313, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 668 + const IID CLSID_PseudoSink = {0xE002E4F0, 0xE6EA, 0x11D2, [0x9C, 0xB3, 0x00, 0x10, 0x5A, 0x1F, 0x48, 0x01]}; 669 + const IID CLSID_PSGenObject = {0x0000030C, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 670 + const IID CLSID_PSInPlaceActive = {0x0000030F, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 671 + const IID CLSID_PSInPlaceFrame = {0x00000310, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 672 + const IID CLSID_PSUrlMonProxy = {0x79EAC9F1, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 673 + const IID CLSID_PublishDropTarget = {0xCC6EEFFB, 0x43F6, 0x46C5, [0x96, 0x19, 0x51, 0xD5, 0x71, 0x96, 0x7F, 0x7D]}; 674 + const IID CLSID_PublishingWizard = {0x6B33163C, 0x76A5, 0x4B6C, [0xBF, 0x21, 0x45, 0xDE, 0x9C, 0xD5, 0x03, 0xA1]}; 675 + const IID CLSID_QueryAssociations = {0xA07034FD, 0x6CAA, 0x4954, [0xAC, 0x3F, 0x97, 0xA2, 0x72, 0x16, 0xF9, 0x8A]}; 676 + const IID CLSID_QueryCancelAutoPlay = {0x331F1768, 0x05A9, 0x4DDD, [0xB8, 0x6E, 0xDA, 0xE3, 0x4D, 0xDC, 0x99, 0x8A]}; 677 + const IID CLSID_RecycleBin = {0x645FF040, 0x5081, 0x101B, [0x9F, 0x08, 0x00, 0xAA, 0x00, 0x2F, 0x95, 0x4E]}; 678 + const IID CLSID_RemoteUnknownPSFactory = {0x00000340, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 679 + const IID CLSID_Rendezvous = {0xF1029E5B, 0xCB5B, 0x11D0, [0x8D, 0x59, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 680 + const IID CLSID_ReplicaPointer = {0xF5D1BADF, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 681 + const IID CLSID_Request = {0x6BC096B1, 0x0CE6, 0x11D1, [0xBA, 0xAE, 0x00, 0xC0, 0x4F, 0xC2, 0xE2, 0x0D]}; 682 + const IID CLSID_RequestMakeCall = {0xAC48FFE0, 0xF8C4, 0x11D1, [0xA0, 0x30, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 683 + const IID CLSID_ResProtocol = {0x3050F3BC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 684 + const IID CLSID_RTCClient = {0x7A42EA29, 0xA2B7, 0x40C4, [0xB0, 0x91, 0xF6, 0xF0, 0x24, 0xAA, 0x89, 0xBE]}; 685 + const IID CLSID_Scriptlet = {0xAE24FDAE, 0x03C6, 0x11D1, [0x8B, 0x76, 0x00, 0x80, 0xC7, 0x44, 0xF3, 0x89]}; 686 + const IID CLSID_SdoMachine = {0xE9218AE7, 0x9E91, 0x11D1, [0xBF, 0x60, 0x00, 0x80, 0xC7, 0x84, 0x6B, 0xC0]}; 687 + const IID CLSID_SdpConferenceBlob = {0x9B2719DD, 0xB696, 0x11D0, [0xA4, 0x89, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 688 + const IID CLSID_SearchAssistantOC = {0xB45FF030, 0x4447, 0x11D2, [0x85, 0xDE, 0x00, 0xC0, 0x4F, 0xA3, 0x5C, 0x89]}; 689 + const IID CLSID_SearchCommand = {0xB005E690, 0x678D, 0x11D1, [0xB7, 0x58, 0x00, 0xA0, 0xC9, 0x05, 0x64, 0xFE]}; 690 + const IID CLSID_SecondaryControlChannel = {0x7B3181A0, 0xC92F, 0x4567, [0xB0, 0xFA, 0xCD, 0x9A, 0x10, 0xEC, 0xD7, 0xD1]}; 691 + const IID CLSID_SecurityDescriptor = {0xB958F73C, 0x9BDD, 0x11D0, [0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 692 + const IID CLSID_SENS = {0xD597CAFE, 0x5B9F, 0x11D1, [0x8D, 0xD2, 0x00, 0xAA, 0x00, 0x4A, 0xBD, 0x5E]}; 693 + const IID CLSID_ServiceManager = {0xABD0388A, 0xDEC1, 0x44F3, [0x98, 0xE1, 0x8D, 0x5C, 0xC8, 0x0B, 0x97, 0xEB]}; 694 + const IID CLSID_SharingApplicationDefinition = {0x46C166B0, 0x3108, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 695 + const IID CLSID_SharingConfiguration = {0x46C166B1, 0x3108, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 696 + const IID CLSID_SharingManagerEnumApplicationDe = {0x46C166AE, 0x3108, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 697 + const IID CLSID_SharingManagerEnumPortMapping = {0x46C166AF, 0x3108, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 698 + const IID CLSID_SharingManagerEnumPrivateConnec = {0x46C166AD, 0x3108, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 699 + const IID CLSID_SharingManagerEnumPublicConnect = {0x46C166AC, 0x3108, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 700 + const IID CLSID_Shell = {0x13709620, 0xC279, 0x11CE, [0xA4, 0x9E, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 701 + const IID CLSID_ShellBrowserWindow = {0xC08AFD90, 0xF2A1, 0x11D1, [0x84, 0x55, 0x00, 0xA0, 0xC9, 0x1F, 0x38, 0x80]}; 702 + const IID CLSID_ShellDesktop = {0x00021400, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 703 + const IID CLSID_ShellDispatchInproc = {0x0A89A860, 0xD7B1, 0x11CE, [0x83, 0x50, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 704 + const IID CLSID_ShellFolderItem = {0x2FE352EA, 0xFD1F, 0x11D2, [0xB1, 0xF4, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x3E]}; 705 + const IID CLSID_ShellFolderView = {0x62112AA1, 0xEBE4, 0x11CF, [0xA5, 0xFB, 0x00, 0x20, 0xAF, 0xE7, 0x29, 0x2D]}; 706 + const IID CLSID_ShellFolderViewOC = {0x9BA05971, 0xF6A8, 0x11CF, [0xA4, 0x42, 0x00, 0xA0, 0xC9, 0x0A, 0x8F, 0x39]}; 707 + const IID CLSID_ShellFSFolder = {0xF3364BA0, 0x65B9, 0x11CE, [0xA9, 0xBA, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37]}; 708 + const IID CLSID_ShellImageDataFactory = {0x66E4E4FB, 0xF385, 0x4DD0, [0x8D, 0x74, 0xA2, 0xEF, 0xD1, 0xBC, 0x61, 0x78]}; 709 + const IID CLSID_ShellLink = {0x00021401, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 710 + const IID CLSID_ShellLinkObject = {0x11219420, 0x1768, 0x11D1, [0x95, 0xBE, 0x00, 0x60, 0x97, 0x97, 0xEA, 0x4F]}; 711 + const IID CLSID_ShellLocalMachine = {0x60664CAF, 0xAF0D, 0x0005, [0xA3, 0x00, 0x5C, 0x7D, 0x25, 0xFF, 0x22, 0xA0]}; 712 + const IID CLSID_ShellLogonEnumUsers = {0x60664CAF, 0xAF0D, 0x0004, [0xA3, 0x00, 0x5C, 0x7D, 0x25, 0xFF, 0x22, 0xA0]}; 713 + const IID CLSID_ShellLogonStatusHost = {0x60664CAF, 0xAF0D, 0x0007, [0xA3, 0x00, 0x5C, 0x7D, 0x25, 0xFF, 0x22, 0xA0]}; 714 + const IID CLSID_ShellLogonUser = {0x60664CAF, 0xAF0D, 0x0003, [0xA3, 0x00, 0x5C, 0x7D, 0x25, 0xFF, 0x22, 0xA0]}; 715 + const IID CLSID_ShellNameSpace = {0x55136805, 0xB2DE, 0x11D1, [0xB9, 0xF2, 0x00, 0xA0, 0xC9, 0x8B, 0xC5, 0x47]}; 716 + const IID CLSID_ShellUIHelper = {0x64AB4BB7, 0x111E, 0x11D1, [0x8F, 0x79, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 717 + const IID CLSID_ShellWindows = {0x9BA05972, 0xF6A8, 0x11CF, [0xA4, 0x42, 0x00, 0xA0, 0xC9, 0x0A, 0x8F, 0x39]}; 718 + const IID CLSID_SizeCategorizer = {0x55D7B852, 0xF6D1, 0x42F2, [0xAA, 0x75, 0x87, 0x28, 0xA1, 0xB2, 0xD2, 0x64]}; 719 + const IID CLSID_SoftDistExt = {0xB15B8DC0, 0xC7E1, 0x11D0, [0x86, 0x80, 0x00, 0xAA, 0x00, 0xBD, 0xCB, 0x71]}; 720 + const IID CLSID_SpeakerphoneTerminal = {0xAAF578EE, 0xDC70, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 721 + const IID CLSID_SpeakersTerminal = {0xAAF578F0, 0xDC70, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 722 + const IID CLSID_SpeechUIServer = {0x1443904B, 0x34E4, 0x40F6, [0xB3, 0x0F, 0x6B, 0xEB, 0x81, 0x26, 0x7B, 0x80]}; 723 + const IID CLSID_StaticDib = {0x00000316, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 724 + const IID CLSID_StaticMetafile = {0x00000315, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 725 + const IID CLSID_StdAsyncActManager = {0x00000329, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 726 + const IID CLSID_StdComponentCategoriesMgr = {0x0002E005, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 727 + const IID CLSID_StdEncodingFilterFac = {0x54C37CD0, 0xD944, 0x11D0, [0xA9, 0xF4, 0x00, 0x60, 0x97, 0x94, 0x23, 0x11]}; 728 + const IID CLSID_StdEvent = {0x0000032B, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 729 + const IID CLSID_StdFont = {0x0BE35203, 0x8F91, 0x11CE, [0x9D, 0xE3, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 730 + const IID CLSID_StdGlobalInterfaceTable = {0x00000323, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 731 + const IID CLSID_StdHlink = {0x79EAC9D0, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 732 + const IID CLSID_StdHlinkBrowseContext = {0x79EAC9D1, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 733 + const IID CLSID_StdMarshal = {0x00000017, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 734 + const IID CLSID_StdNotificationMgr = {0xC733E4AF, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 735 + const IID CLSID_StdPicture = {0x0BE35204, 0x8F91, 0x11CE, [0x9D, 0xE3, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 736 + const IID CLSID_StdURLMoniker = {0x79EAC9E0, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 737 + const IID CLSID_StdURLProtocol = {0x79EAC9E1, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 738 + const IID CLSID_StgFolder = {0xE773F1AF, 0x3A65, 0x4866, [0x85, 0x7D, 0x84, 0x6F, 0xC9, 0xC4, 0x59, 0x8A]}; 739 + const IID CLSID_StockColorPage = {0x7EBDAAE1, 0x8120, 0x11CF, [0x89, 0x9F, 0x00, 0xAA, 0x00, 0x68, 0x8B, 0x10]}; 740 + const IID CLSID_StockFontPage = {0x7EBDAAE0, 0x8120, 0x11CF, [0x89, 0x9F, 0x00, 0xAA, 0x00, 0x68, 0x8B, 0x10]}; 741 + const IID CLSID_StockPicturePage = {0x7EBDAAE2, 0x8120, 0x11CF, [0x89, 0x9F, 0x00, 0xAA, 0x00, 0x68, 0x8B, 0x10]}; 742 + const IID CLSID_SubscriptionMgr = {0xABBE31D0, 0x6DAE, 0x11D0, [0xBE, 0xCA, 0x00, 0xC0, 0x4F, 0xD9, 0x40, 0xBE]}; 743 + const IID CLSID_SubscriptionThrottler = {0x1E9B00E5, 0x9846, 0x11D1, [0xA1, 0xEE, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 744 + const IID CLSID_SWbemDateTime = {0x47DFBE54, 0xCF76, 0x11D3, [0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A]}; 745 + const IID CLSID_SWbemEventSource = {0x04B83D58, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 746 + const IID CLSID_SWbemLastError = {0xC2FEEEAC, 0xCFCD, 0x11D1, [0x8B, 0x05, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 747 + const IID CLSID_SWbemLocator = {0x76A64158, 0xCB41, 0x11D1, [0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 748 + const IID CLSID_SWbemMethod = {0x04B83D5B, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 749 + const IID CLSID_SWbemMethodSet = {0x04B83D5A, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 750 + const IID CLSID_SWbemNamedValue = {0x04B83D60, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 751 + const IID CLSID_SWbemNamedValueSet = {0x9AED384E, 0xCE8B, 0x11D1, [0x8B, 0x05, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 752 + const IID CLSID_SWbemObject = {0x04B83D62, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 753 + const IID CLSID_SWbemObjectEx = {0xD6BDAFB2, 0x9435, 0x491F, [0xBB, 0x87, 0x6A, 0xA0, 0xF0, 0xBC, 0x31, 0xA2]}; 754 + const IID CLSID_SWbemObjectPath = {0x5791BC26, 0xCE9C, 0x11D1, [0x97, 0xBF, 0x00, 0x00, 0xF8, 0x1E, 0x84, 0x9C]}; 755 + const IID CLSID_SWbemObjectSet = {0x04B83D61, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 756 + const IID CLSID_SWbemPrivilege = {0x26EE67BC, 0x5804, 0x11D2, [0x8B, 0x4A, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 757 + const IID CLSID_SWbemPrivilegeSet = {0x26EE67BE, 0x5804, 0x11D2, [0x8B, 0x4A, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 758 + const IID CLSID_SWbemProperty = {0x04B83D5D, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 759 + const IID CLSID_SWbemPropertySet = {0x04B83D5C, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 760 + const IID CLSID_SWbemQualifier = {0x04B83D5F, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 761 + const IID CLSID_SWbemQualifierSet = {0x04B83D5E, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 762 + const IID CLSID_SWbemRefreshableItem = {0x8C6854BC, 0xDE4B, 0x11D3, [0xB3, 0x90, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A]}; 763 + const IID CLSID_SWbemRefresher = {0xD269BF5C, 0xD9C1, 0x11D3, [0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A]}; 764 + const IID CLSID_SWbemSecurity = {0xB54D66E9, 0x2287, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 765 + const IID CLSID_SWbemServices = {0x04B83D63, 0x21AE, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 766 + const IID CLSID_SWbemServicesEx = {0x62E522DC, 0x8CF3, 0x40A8, [0x8B, 0x2E, 0x37, 0xD5, 0x95, 0x65, 0x1E, 0x40]}; 767 + const IID CLSID_SWbemSink = {0x75718C9A, 0xF029, 0x11D1, [0xA1, 0xAC, 0x00, 0xC0, 0x4F, 0xB6, 0xC2, 0x23]}; 768 + const IID CLSID_SynchronizeContainer = {0x0000032D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 769 + const IID CLSID_SyncMgr = {0x6295DF27, 0x35EE, 0x11D1, [0x87, 0x07, 0x00, 0xC0, 0x4F, 0xD9, 0x33, 0x27]}; 770 + const IID CLSID_TAPI = {0x21D6D48E, 0xA88B, 0x11D0, [0x83, 0xDD, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 771 + const IID CLSID_TaskbarList = {0x56FDF344, 0xFD6D, 0x11D0, [0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90]}; 772 + const IID CLSID_TaskManager = {0xC0F615A7, 0xF874, 0x4521, [0x87, 0x91, 0xED, 0x3B, 0x84, 0x01, 0x7E, 0xF7]}; 773 + const IID CLSID_TerminalManager = {0x7170F2E0, 0x9BE3, 0x11D0, [0xA0, 0x09, 0x00, 0xAA, 0x00, 0xB6, 0x05, 0xA4]}; 774 + const IID CLSID_THREAD_BROADCAST = {0xD34F1812, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 775 + const IID CLSID_ThreadDialogProcParam = {0x3050F5EB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 776 + const IID CLSID_ThumbnailFCNHandler = {0xCEFC65D8, 0x66D8, 0x11D1, [0x8D, 0x8C, 0x00, 0x00, 0xF8, 0x04, 0xB0, 0x57]}; 777 + const IID CLSID_ThumbnailUpdater = {0xA3C63918, 0x889D, 0x11D1, [0x83, 0xE9, 0x00, 0xC0, 0x4F, 0xC2, 0xC6, 0xD4]}; 778 + const IID CLSID_TIME = {0xE32EF57B, 0x7FDE, 0x4765, [0x9B, 0xC5, 0xA1, 0xBA, 0x97, 0x05, 0xC4, 0x4E]}; 779 + const IID CLSID_TIMEAnimation = {0xF99D135A, 0xC07C, 0x449E, [0x96, 0x5C, 0x7D, 0xBB, 0x7C, 0x55, 0x4A, 0x51]}; 780 + const IID CLSID_TimeCategorizer = {0x3BB4118F, 0xDDFD, 0x4D30, [0xA3, 0x48, 0x9F, 0xB5, 0xD6, 0xBF, 0x1A, 0xFE]}; 781 + const IID CLSID_TIMEColorAnimation = {0x62F75052, 0xF3EC, 0x4A64, [0x84, 0xFB, 0xAB, 0x18, 0xE0, 0x74, 0x6E, 0xD8]}; 782 + const IID CLSID_TIMEFactory = {0x17237A20, 0x3ADB, 0x48EC, [0xB1, 0x82, 0x35, 0x29, 0x1F, 0x11, 0x57, 0x90]}; 783 + const IID CLSID_TIMEFilterAnimation = {0xC54515D0, 0xF2E5, 0x4BDD, [0xAA, 0x86, 0x1E, 0x4F, 0x23, 0xE4, 0x80, 0xE7]}; 784 + const IID CLSID_TIMEMotionAnimation = {0x0019A09D, 0x1A81, 0x41C5, [0x89, 0xEC, 0xD9, 0xE7, 0x37, 0x81, 0x13, 0x03]}; 785 + const IID CLSID_TIMESetAnimation = {0xBA91CE53, 0xBAEB, 0x4F05, [0x86, 0x1C, 0x0A, 0x2A, 0x09, 0x34, 0xF8, 0x2E]}; 786 + const IID CLSID_Timestamp = {0xB2BED2EB, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 787 + const IID CLSID_ToolbarExtButtons = {0x2CE4B5D8, 0xA28F, 0x11D2, [0x86, 0xC5, 0x00, 0xC0, 0x4F, 0x8E, 0xEA, 0x99]}; 788 + const IID CLSID_TrackFile = {0x8790C947, 0xA30B, 0x11D0, [0x8C, 0xAB, 0x00, 0xC0, 0x4F, 0xD9, 0x0F, 0x85]}; 789 + const IID CLSID_TrkForceOwnership = {0xA2531F45, 0xC67D, 0x11D0, [0x8C, 0xB1, 0x00, 0xC0, 0x4F, 0xD9, 0x0F, 0x85]}; 790 + const IID CLSID_TrkRestoreNotify = {0xD0056F6C, 0xE2A0, 0x11D0, [0xB1, 0xC2, 0x00, 0xC0, 0x4F, 0xB9, 0x38, 0x6D]}; 791 + const IID CLSID_TrkRestoreParser = {0x755939E4, 0xE381, 0x11D0, [0xB1, 0xC5, 0x00, 0xC0, 0x4F, 0xB9, 0x38, 0x6D]}; 792 + const IID CLSID_TypedName = {0xB33143CB, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 793 + const IID CLSID_UmiLDAPQueryObject = {0xCD5D4D76, 0xA818, 0x4F95, [0xB9, 0x58, 0x79, 0x70, 0xFD, 0x94, 0x12, 0xCA]}; 794 + const IID CLSID_UnsecuredApartment = {0x49BD2028, 0x1523, 0x11D1, [0xAD, 0x79, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 795 + const IID CLSID_UPnPDescriptionDocument = {0x1D8A9B47, 0x3A28, 0x4CE2, [0x8A, 0x4B, 0xBD, 0x34, 0xE4, 0x5B, 0xCE, 0xEB]}; 796 + const IID CLSID_UPnPDevice = {0xA32552C5, 0xBA61, 0x457A, [0xB5, 0x9A, 0xA2, 0x56, 0x1E, 0x12, 0x5E, 0x33]}; 797 + const IID CLSID_UPnPDeviceFinder = {0xE2085F28, 0xFEB7, 0x404A, [0xB8, 0xE7, 0xE6, 0x59, 0xBD, 0xEA, 0xAA, 0x02]}; 798 + const IID CLSID_UPnPDeviceHostICSSupport = {0x797A9BB1, 0x9E49, 0x4E63, [0xAF, 0xE1, 0x1B, 0x45, 0xB9, 0xDC, 0x81, 0x62]}; 799 + const IID CLSID_UPnPDeviceHostSetup = {0xB4609411, 0xC81C, 0x4CCE, [0x8C, 0x76, 0xC6, 0xB5, 0x0C, 0x94, 0x02, 0xC6]}; 800 + const IID CLSID_UPnPDevices = {0xB9E84FFD, 0xAD3C, 0x40A4, [0xB8, 0x35, 0x08, 0x82, 0xEB, 0xCB, 0xAA, 0xA8]}; 801 + const IID CLSID_UPnPNAT = {0xAE1E00AA, 0x3FD5, 0x403C, [0x8A, 0x27, 0x2B, 0xBD, 0xC3, 0x0C, 0xD0, 0xE1]}; 802 + const IID CLSID_UPnPRegistrar = {0x204810B9, 0x73B2, 0x11D4, [0xBF, 0x42, 0x00, 0xB0, 0xD0, 0x11, 0x8B, 0x56]}; 803 + const IID CLSID_UPnPService = {0xC624BA95, 0xFBCB, 0x4409, [0x8C, 0x03, 0x8C, 0xCE, 0xEC, 0x53, 0x3E, 0xF1]}; 804 + const IID CLSID_UPnPServices = {0xC0BC4B4A, 0xA406, 0x4EFC, [0x93, 0x2F, 0xB8, 0x54, 0x6B, 0x81, 0x00, 0xCC]}; 805 + const IID CLSID_UrlMkBindCtx = {0x79EAC9F2, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 806 + const IID CLSID_UserEventTimer = {0x864A1288, 0x354C, 0x4D19, [0x9D, 0x68, 0xC2, 0x74, 0x2B, 0xB1, 0x49, 0x97]}; 807 + const IID CLSID_UserEventTimerCallback = {0x15FFFD13, 0x5140, 0x41B8, [0xB8, 0x9A, 0xC8, 0xD5, 0x75, 0x9C, 0xD2, 0xB2]}; 808 + const IID CLSID_UserNotification = {0x0010890E, 0x8789, 0x413C, [0xAD, 0xBC, 0x48, 0xF5, 0xB5, 0x11, 0xB3, 0xAF]}; 809 + const IID CLSID_VideoInputTerminal = {0xAAF578EC, 0xDC70, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 810 + const IID CLSID_VideoWindowTerm = {0xF7438990, 0xD6EB, 0x11D0, [0x82, 0xA6, 0x00, 0xAA, 0x00, 0xB5, 0xCA, 0x1B]}; 811 + const IID CLSID_VirusScan = {0xE88E5DE0, 0xBD3E, 0x11CF, [0xAA, 0xFA, 0x00, 0xAA, 0x00, 0xB6, 0x01, 0x5C]}; 812 + const IID CLSID_WbemAdministrativeLocator = {0xCB8555CC, 0x9128, 0x11D1, [0xAD, 0x9B, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 813 + const IID CLSID_WbemAuthenticatedLocator = {0xCD184336, 0x9128, 0x11D1, [0xAD, 0x9B, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 814 + const IID CLSID_WbemBackupRestore = {0xC49E32C6, 0xBC8B, 0x11D2, [0x85, 0xD4, 0x00, 0x10, 0x5A, 0x1F, 0x83, 0x04]}; 815 + const IID CLSID_WbemClassObject = {0x9A653086, 0x174F, 0x11D2, [0xB5, 0xF9, 0x00, 0x10, 0x4B, 0x70, 0x3E, 0xFD]}; 816 + const IID CLSID_WbemContext = {0x674B6698, 0xEE92, 0x11D0, [0xAD, 0x71, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 817 + const IID CLSID_WbemDCOMTransport = {0xF7CE2E13, 0x8C90, 0x11D1, [0x9E, 0x7B, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 818 + const IID CLSID_WbemDecoupledBasicEventProvide = {0xF5F75737, 0x2843, 0x4F22, [0x93, 0x3D, 0xC7, 0x6A, 0x97, 0xCD, 0xA6, 0x2F]}; 819 + const IID CLSID_WbemDecoupledRegistrar = {0x4CFC7932, 0x0F9D, 0x4BEF, [0x9C, 0x32, 0x8E, 0xA2, 0xA6, 0xB5, 0x6F, 0xCB]}; 820 + const IID CLSID_WbemDefPath = {0xCF4CC405, 0xE2C5, 0x4DDD, [0xB3, 0xCE, 0x5E, 0x75, 0x82, 0xD8, 0xC9, 0xFA]}; 821 + const IID CLSID_WbemLevel1Login = {0x8BC3F05E, 0xD86B, 0x11D0, [0xA0, 0x75, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 822 + const IID CLSID_WbemLocalAddrRes = {0xA1044801, 0x8F7E, 0x11D1, [0x9E, 0x7C, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 823 + const IID CLSID_WbemLocator = {0x4590F811, 0x1D3A, 0x11D0, [0x89, 0x1F, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24]}; 824 + const IID CLSID_WbemObjectTextSrc = {0x8D1C559D, 0x84F0, 0x4BB3, [0xA7, 0xD5, 0x56, 0xA7, 0x43, 0x5A, 0x9B, 0xA6]}; 825 + const IID CLSID_WbemQuery = {0xEAC8A024, 0x21E2, 0x4523, [0xAD, 0x73, 0xA7, 0x1A, 0x0A, 0xA2, 0xF5, 0x6A]}; 826 + const IID CLSID_WbemRefresher = {0xC71566F2, 0x561E, 0x11D1, [0xAD, 0x87, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 827 + const IID CLSID_WbemStatusCodeText = {0xEB87E1BD, 0x3233, 0x11D2, [0xAE, 0xC9, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 828 + const IID CLSID_WbemUnauthenticatedLocator = {0x443E7B79, 0xDE31, 0x11D2, [0xB3, 0x40, 0x00, 0x10, 0x4B, 0xCC, 0x4B, 0x4A]}; 829 + const IID CLSID_WbemUninitializedClassObject = {0x7A0227F6, 0x7108, 0x11D1, [0xAD, 0x90, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 830 + const IID CLSID_WebBrowser = {0x8856F961, 0x340A, 0x11D0, [0xA9, 0x6B, 0x00, 0xC0, 0x4F, 0xD7, 0x05, 0xA2]}; 831 + const IID CLSID_WebBrowser_V1 = {0xEAB22AC3, 0x30C1, 0x11CF, [0xA7, 0xEB, 0x00, 0x00, 0xC0, 0x5B, 0xAE, 0x0B]}; 832 + const IID CLSID_WebCheck = {0xE6FB5E20, 0xDE35, 0x11CF, [0x9C, 0x87, 0x00, 0xAA, 0x00, 0x51, 0x27, 0xED]}; 833 + const IID CLSID_WebCheckDefaultProcess = {0xC733E4B0, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 834 + const IID CLSID_WebCheckOfflineSync = {0x7FC0B86E, 0x5FA7, 0x11D1, [0xBC, 0x7C, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 835 + const IID CLSID_WebCrawlerAgent = {0x08165EA0, 0xE946, 0x11CF, [0x9C, 0x87, 0x00, 0xAA, 0x00, 0x51, 0x27, 0xED]}; 836 + const IID CLSID_WebViewFolderContents = {0x1820FED0, 0x473E, 0x11D0, [0xA9, 0x6C, 0x00, 0xC0, 0x4F, 0xD7, 0x05, 0xA2]}; 837 + const IID CLSID_WebWizardHost = {0xC827F149, 0x55C1, 0x4D28, [0x93, 0x5E, 0x57, 0xE4, 0x7C, 0xAE, 0xD9, 0x73]}; 838 + const IID CLSID_wfolders = {0xBAE31F9A, 0x1B81, 0x11D2, [0xA9, 0x7A, 0x00, 0xC0, 0x4F, 0x8E, 0xCB, 0x02]}; 839 + const IID CLSID_WinNTConnectionObject = {0x7992C6EB, 0xD142, 0x4332, [0x83, 0x1E, 0x31, 0x54, 0xC5, 0x0A, 0x83, 0x16]}; 840 + const IID CLSID_WinNTObject = {0xB8324185, 0x4050, 0x4220, [0x98, 0x0A, 0xAB, 0x14, 0x62, 0x3E, 0x06, 0x3A]}; 841 + const IID CLSID_WinNTSystemInfo = {0x66182EC4, 0xAFD1, 0x11D2, [0x9C, 0xB9, 0x00, 0x00, 0xF8, 0x7A, 0x36, 0x9E]}; 842 + const IID CLSID_WMIExtension = {0xF0975AFE, 0x5C7F, 0x11D2, [0x8B, 0x74, 0x00, 0x10, 0x4B, 0x2A, 0xFB, 0x41]}; 843 + const IID CLSID_XMLDocument = {0xCFC399AF, 0xD876, 0x11D0, [0x9C, 0x10, 0x00, 0xC0, 0x4F, 0xC9, 0x9C, 0x8E]}; 844 + const IID CLSID_XMLDSOControl = {0x550DDA30, 0x0541, 0x11D2, [0x9C, 0xA9, 0x00, 0x60, 0xB0, 0xEC, 0x3D, 0x39]}; 845 + const IID CLSID_XMLHTTPRequest = {0xED8C108E, 0x4349, 0x11D2, [0x91, 0xA4, 0x00, 0xC0, 0x4F, 0x79, 0x69, 0xE8]}; 846 + const IID CLSID_XMLParser = {0xD2423620, 0x51A0, 0x11D2, [0x9C, 0xAF, 0x00, 0x60, 0xB0, 0xEC, 0x3D, 0x39]}; 847 + const IID DB_PROPERTY_AUTOMATICUPDATE = {0xC8B52209, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 848 + const IID DB_PROPERTY_BTREE = {0xC8B52201, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 849 + const IID DB_PROPERTY_CHECK_OPTION = {0xC8B5220B, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 850 + const IID DB_PROPERTY_CLUSTERED = {0xC8B521FF, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 851 + const IID DB_PROPERTY_CONSTRAINT_CHECK_DEFERRE = {0xC8B521F0, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 852 + const IID DB_PROPERTY_DISALLOWNULL = {0xC8B52205, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 853 + const IID DB_PROPERTY_DROP_CASCADE = {0xC8B521F3, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 854 + const IID DB_PROPERTY_EXPLICITUPDATE = {0xC8B5220A, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 855 + const IID DB_PROPERTY_FILLFACTOR = {0xC8B52203, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 856 + const IID DB_PROPERTY_HASH = {0xC8B52202, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 857 + const IID DB_PROPERTY_IGNOREANYNULL = {0xC8B52207, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 858 + const IID DB_PROPERTY_IGNORENULL = {0xC8B52206, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 859 + const IID DB_PROPERTY_INITIALSIZE = {0xC8B52204, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 860 + const IID DB_PROPERTY_NONCLUSTERED = {0xC8B52200, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 861 + const IID DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS = {0xC8B52230, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 862 + const IID DB_PROPERTY_PRIMARY = {0xC8B521FC, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 863 + const IID DB_PROPERTY_SORTBOOKMARKS = {0xC8B52208, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 864 + const IID DB_PROPERTY_UNIQUE = {0xC8B521F5, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 865 + const IID DBCOL_SELFCOLUMNS = {0xC8B52231, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 866 + const IID DBCOL_SPECIALCOL = {0xC8B52232, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 867 + const IID DBGUID_COMMAND = {0xC8B522F8, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 868 + const IID DBGUID_CONTAINEROBJECT = {0xC8B522FB, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 869 + const IID DBGUID_DBSQL = {0xC8B521FB, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 870 + const IID DBGUID_DEFAULT = {0xC8B521FB, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 871 + const IID DBGUID_DSO = {0xC8B522F4, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 872 + const IID DBGUID_HISTOGRAM_ROWSET = {0xC8B52300, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 873 + const IID DBGUID_LDAPDialect = {0xEFF65380, 0x9C98, 0x11CF, [0xB9, 0x63, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 874 + const IID DBGUID_LIKE_DOS = {0xC8B521F7, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 875 + const IID DBGUID_LIKE_MAPI = {0xC8B521F9, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 876 + const IID DBGUID_LIKE_OFS = {0xC8B521F8, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 877 + const IID DBGUID_LIKE_SQL = {0xC8B521F6, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 878 + const IID DBGUID_MDX = {0xA07CCCD0, 0x8148, 0x11D0, [0x87, 0xBB, 0x00, 0xC0, 0x4F, 0xC3, 0x39, 0x42]}; 879 + const IID DBGUID_ROW = {0xC8B522F7, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 880 + const IID DBGUID_ROWSET = {0xC8B522F6, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 881 + const IID DBGUID_SESSION = {0xC8B522F5, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 882 + const IID DBGUID_SQL = {0xC8B522D7, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 883 + const IID DBGUID_STREAM = {0xC8B522F9, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 884 + const IID DBOBJECT_CHARACTERSET = {0xC8B522ED, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 885 + const IID DBOBJECT_COLLATION = {0xC8B522EA, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 886 + const IID DBOBJECT_COLUMN = {0xC8B522E4, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 887 + const IID DBOBJECT_DATABASE = {0xC8B522E5, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 888 + const IID DBOBJECT_DOMAIN = {0xC8B522E9, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 889 + const IID DBOBJECT_PROCEDURE = {0xC8B522E6, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 890 + const IID DBOBJECT_SCHEMA = {0xC8B522E8, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 891 + const IID DBOBJECT_SCHEMAROWSET = {0xC8B522EC, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 892 + const IID DBOBJECT_TABLE = {0xC8B522E2, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 893 + const IID DBOBJECT_TRANSLATION = {0xC8B522EE, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 894 + const IID DBOBJECT_TRUSTEE = {0xC8B522EB, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 895 + const IID DBOBJECT_VIEW = {0xC8B522E7, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 896 + const IID DBPROPSET_ADSIBIND = {0x6DA66DC8, 0xB7E8, 0x11D2, [0x9D, 0x60, 0x00, 0xC0, 0x4F, 0x68, 0x93, 0x45]}; 897 + const IID DBPROPSET_ADSISEARCH = {0xCFCFC928, 0x9AA2, 0x11D0, [0xA7, 0x9A, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8]}; 898 + const IID DBPROPSET_COLUMN = {0xC8B522B9, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 899 + const IID DBPROPSET_COLUMNALL = {0xC8B522F0, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 900 + const IID DBPROPSET_CONSTRAINTALL = {0xC8B522FA, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 901 + const IID DBPROPSET_DATASOURCE = {0xC8B522BA, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 902 + const IID DBPROPSET_DATASOURCEALL = {0xC8B522C0, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 903 + const IID DBPROPSET_DATASOURCEINFO = {0xC8B522BB, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 904 + const IID DBPROPSET_DATASOURCEINFOALL = {0xC8B522C1, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 905 + const IID DBPROPSET_DBINIT = {0xC8B522BC, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 906 + const IID DBPROPSET_DBINITALL = {0xC8B522CA, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 907 + const IID DBPROPSET_INDEX = {0xC8B522BD, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 908 + const IID DBPROPSET_INDEXALL = {0xC8B522F1, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 909 + const IID DBPROPSET_PROPERTIESINERROR = {0xC8B522D4, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 910 + const IID DBPROPSET_ROWSET = {0xC8B522BE, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 911 + const IID DBPROPSET_ROWSETALL = {0xC8B522C2, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 912 + const IID DBPROPSET_SESSION = {0xC8B522C6, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 913 + const IID DBPROPSET_SESSIONALL = {0xC8B522C7, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 914 + const IID DBPROPSET_STREAM = {0xC8B522FD, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 915 + const IID DBPROPSET_STREAMALL = {0xC8B522FE, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 916 + const IID DBPROPSET_TABLE = {0xC8B522BF, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 917 + const IID DBPROPSET_TABLEALL = {0xC8B522F2, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 918 + const IID DBPROPSET_TRUSTEE = {0xC8B522E1, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 919 + const IID DBPROPSET_TRUSTEEALL = {0xC8B522F3, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 920 + const IID DBPROPSET_VIEW = {0xC8B522DF, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 921 + const IID DBPROPSET_VIEWALL = {0xC8B522FC, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 922 + const IID DBSCHEMA_ASSERTIONS = {0xC8B52210, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 923 + const IID DBSCHEMA_CATALOGS = {0xC8B52211, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 924 + const IID DBSCHEMA_CHARACTER_SETS = {0xC8B52212, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 925 + const IID DBSCHEMA_CHECK_CONSTRAINTS = {0xC8B52215, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 926 + const IID DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE = {0xC8B52301, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 927 + const IID DBSCHEMA_COLLATIONS = {0xC8B52213, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 928 + const IID DBSCHEMA_COLUMN_DOMAIN_USAGE = {0xC8B5221B, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 929 + const IID DBSCHEMA_COLUMN_PRIVILEGES = {0xC8B52221, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 930 + const IID DBSCHEMA_COLUMNS = {0xC8B52214, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 931 + const IID DBSCHEMA_CONSTRAINT_COLUMN_USAGE = {0xC8B52216, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 932 + const IID DBSCHEMA_CONSTRAINT_TABLE_USAGE = {0xC8B52217, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 933 + const IID DBSCHEMA_FOREIGN_KEYS = {0xC8B522C4, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 934 + const IID DBSCHEMA_INDEXES = {0xC8B5221E, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 935 + const IID DBSCHEMA_KEY_COLUMN_USAGE = {0xC8B52218, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 936 + const IID DBSCHEMA_PRIMARY_KEYS = {0xC8B522C5, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 937 + const IID DBSCHEMA_PROCEDURE_COLUMNS = {0xC8B522C9, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 938 + const IID DBSCHEMA_PROCEDURE_PARAMETERS = {0xC8B522B8, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 939 + const IID DBSCHEMA_PROCEDURES = {0xC8B52224, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 940 + const IID DBSCHEMA_PROVIDER_TYPES = {0xC8B5222C, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 941 + const IID DBSCHEMA_REFERENTIAL_CONSTRAINTS = {0xC8B52219, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 942 + const IID DBSCHEMA_SCHEMATA = {0xC8B52225, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 943 + const IID DBSCHEMA_SQL_LANGUAGES = {0xC8B52226, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 944 + const IID DBSCHEMA_STATISTICS = {0xC8B52227, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 945 + const IID DBSCHEMA_TABLE_CONSTRAINTS = {0xC8B5221A, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 946 + const IID DBSCHEMA_TABLE_PRIVILEGES = {0xC8B52222, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 947 + const IID DBSCHEMA_TABLE_STATISTICS = {0xC8B522FF, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 948 + const IID DBSCHEMA_TABLES = {0xC8B52229, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 949 + const IID DBSCHEMA_TABLES_INFO = {0xC8B522E0, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 950 + const IID DBSCHEMA_TRANSLATIONS = {0xC8B5222A, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 951 + const IID DBSCHEMA_TRUSTEE = {0xC8B522EF, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 952 + const IID DBSCHEMA_USAGE_PRIVILEGES = {0xC8B52223, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 953 + const IID DBSCHEMA_VIEW_COLUMN_USAGE = {0xC8B5222E, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 954 + const IID DBSCHEMA_VIEW_TABLE_USAGE = {0xC8B5222F, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 955 + const IID DBSCHEMA_VIEWS = {0xC8B5222D, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 956 + const IID DDVPTYPE_BROOKTREE = {0x1352A560, 0xDA61, 0x11CF, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 957 + const IID DDVPTYPE_CCIR656 = {0xFCA326A0, 0xDA60, 0x11CF, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 958 + const IID DDVPTYPE_E_HREFH_VREFL = {0x92783220, 0xDA60, 0x11CF, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 959 + const IID DDVPTYPE_E_HREFL_VREFL = {0xE09C77E0, 0xDA60, 0x11CF, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 960 + const IID DDVPTYPE_PHILIPS = {0x332CF160, 0xDA61, 0x11CF, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 961 + const IID DIID__SearchAssistantEvents = {0x1611FDDA, 0x445B, 0x11D2, [0x85, 0xDE, 0x00, 0xC0, 0x4F, 0xA3, 0x5C, 0x89]}; 962 + const IID DIID_DispCEventObj = {0x3050F558, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 963 + const IID DIID_DispDOMChildrenCollection = {0x3050F577, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 964 + const IID DIID_DispHTCAttachBehavior = {0x3050F583, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 965 + const IID DIID_DispHTCDefaultDispatch = {0x3050F573, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 966 + const IID DIID_DispHTCDescBehavior = {0x3050F57E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 967 + const IID DIID_DispHTCEventBehavior = {0x3050F574, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 968 + const IID DIID_DispHTCMethodBehavior = {0x3050F587, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 969 + const IID DIID_DispHTCPropertyBehavior = {0x3050F57F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 970 + const IID DIID_DispHTMLAnchorElement = {0x3050F502, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 971 + const IID DIID_DispHTMLAppBehavior = {0x3050F57C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 972 + const IID DIID_DispHTMLAreaElement = {0x3050F503, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 973 + const IID DIID_DispHTMLAreasCollection = {0x3050F56A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 974 + const IID DIID_DispHTMLAttributeCollection = {0x3050F56C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 975 + const IID DIID_DispHTMLBaseElement = {0x3050F518, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 976 + const IID DIID_DispHTMLBaseFontElement = {0x3050F504, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 977 + const IID DIID_DispHTMLBGsound = {0x3050F53C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 978 + const IID DIID_DispHTMLBlockElement = {0x3050F506, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 979 + const IID DIID_DispHTMLBody = {0x3050F507, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 980 + const IID DIID_DispHTMLBRElement = {0x3050F53A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 981 + const IID DIID_DispHTMLButtonElement = {0x3050F51F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 982 + const IID DIID_DispHTMLCommentElement = {0x3050F50A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 983 + const IID DIID_DispHTMLCurrentStyle = {0x3050F557, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 984 + const IID DIID_DispHTMLDDElement = {0x3050F50B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 985 + const IID DIID_DispHTMLDefaults = {0x3050F58C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 986 + const IID DIID_DispHTMLDivElement = {0x3050F50C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 987 + const IID DIID_DispHTMLDivPosition = {0x3050F50F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 988 + const IID DIID_DispHTMLDListElement = {0x3050F53B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 989 + const IID DIID_DispHTMLDocument = {0x3050F55F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 990 + const IID DIID_DispHTMLDOMAttribute = {0x3050F564, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 991 + const IID DIID_DispHTMLDOMImplementation = {0x3050F58F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 992 + const IID DIID_DispHTMLDOMTextNode = {0x3050F565, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 993 + const IID DIID_DispHTMLDTElement = {0x3050F50D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 994 + const IID DIID_DispHTMLElementCollection = {0x3050F56B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 995 + const IID DIID_DispHTMLEmbed = {0x3050F52E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 996 + const IID DIID_DispHTMLFieldSetElement = {0x3050F545, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 997 + const IID DIID_DispHTMLFontElement = {0x3050F512, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 998 + const IID DIID_DispHTMLFormElement = {0x3050F510, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 999 + const IID DIID_DispHTMLFrameBase = {0x3050F541, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1000 + const IID DIID_DispHTMLFrameElement = {0x3050F513, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1001 + const IID DIID_DispHTMLFrameSetSite = {0x3050F514, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1002 + const IID DIID_DispHTMLGenericElement = {0x3050F563, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1003 + const IID DIID_DispHTMLHeadElement = {0x3050F561, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1004 + const IID DIID_DispHTMLHeaderElement = {0x3050F515, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1005 + const IID DIID_DispHTMLHRElement = {0x3050F53D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1006 + const IID DIID_DispHTMLHtmlElement = {0x3050F560, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1007 + const IID DIID_DispHTMLIFrame = {0x3050F51B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1008 + const IID DIID_DispHTMLImg = {0x3050F51C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1009 + const IID DIID_DispHTMLInputElement = {0x3050F57D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1010 + const IID DIID_DispHTMLIsIndexElement = {0x3050F519, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1011 + const IID DIID_DispHTMLLabelElement = {0x3050F522, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1012 + const IID DIID_DispHTMLLegendElement = {0x3050F546, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1013 + const IID DIID_DispHTMLLIElement = {0x3050F523, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1014 + const IID DIID_DispHTMLLinkElement = {0x3050F524, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1015 + const IID DIID_DispHTMLListElement = {0x3050F525, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1016 + const IID DIID_DispHTMLMapElement = {0x3050F526, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1017 + const IID DIID_DispHTMLMarqueeElement = {0x3050F527, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1018 + const IID DIID_DispHTMLMetaElement = {0x3050F517, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1019 + const IID DIID_DispHTMLNextIdElement = {0x3050F51A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1020 + const IID DIID_DispHTMLNoShowElement = {0x3050F528, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1021 + const IID DIID_DispHTMLObjectElement = {0x3050F529, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1022 + const IID DIID_DispHTMLOListElement = {0x3050F52A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1023 + const IID DIID_DispHTMLOptionElement = {0x3050F52B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1024 + const IID DIID_DispHTMLParaElement = {0x3050F52C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1025 + const IID DIID_DispHTMLParamElement = {0x3050F590, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1026 + const IID DIID_DispHTMLPhraseElement = {0x3050F52D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1027 + const IID DIID_DispHTMLPopup = {0x3050F589, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1028 + const IID DIID_DispHTMLRenderStyle = {0x3050F58B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1029 + const IID DIID_DispHTMLRichtextElement = {0x3050F54D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1030 + const IID DIID_DispHTMLRuleStyle = {0x3050F55C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1031 + const IID DIID_DispHTMLScreen = {0x3050F591, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1032 + const IID DIID_DispHTMLScriptElement = {0x3050F530, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1033 + const IID DIID_DispHTMLSelectElement = {0x3050F531, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1034 + const IID DIID_DispHTMLSpanElement = {0x3050F548, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1035 + const IID DIID_DispHTMLSpanFlow = {0x3050F544, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1036 + const IID DIID_DispHTMLStyle = {0x3050F55A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1037 + const IID DIID_DispHTMLStyleElement = {0x3050F511, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1038 + const IID DIID_DispHTMLStyleSheet = {0x3050F58D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1039 + const IID DIID_DispHTMLTable = {0x3050F532, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1040 + const IID DIID_DispHTMLTableCaption = {0x3050F508, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1041 + const IID DIID_DispHTMLTableCell = {0x3050F536, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1042 + const IID DIID_DispHTMLTableCol = {0x3050F533, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1043 + const IID DIID_DispHTMLTableRow = {0x3050F535, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1044 + const IID DIID_DispHTMLTableSection = {0x3050F534, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1045 + const IID DIID_DispHTMLTextAreaElement = {0x3050F521, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1046 + const IID DIID_DispHTMLTextElement = {0x3050F537, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1047 + const IID DIID_DispHTMLTitleElement = {0x3050F516, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1048 + const IID DIID_DispHTMLUListElement = {0x3050F538, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1049 + const IID DIID_DispHTMLUnknownElement = {0x3050F539, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1050 + const IID DIID_DispHTMLWindow2 = {0x3050F55D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1051 + const IID DIID_DispHTMLWindowProxy = {0x3050F55E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1052 + const IID DIID_DispIHTMLInputButtonElement = {0x3050F51E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1053 + const IID DIID_DispIHTMLInputFileElement = {0x3050F542, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1054 + const IID DIID_DispIHTMLInputImage = {0x3050F51D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1055 + const IID DIID_DispIHTMLInputTextElement = {0x3050F520, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1056 + const IID DIID_DispIHTMLOptionButtonElement = {0x3050F509, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1057 + const IID DIID_DMigrationWizardAutoEvents = {0xD2AC137D, 0xA6D8, 0x43B6, [0x98, 0x79, 0xEA, 0x34, 0xB6, 0x7E, 0x18, 0x80]}; 1058 + const IID DIID_DSearchCommandEvents = {0x60890160, 0x69F0, 0x11D1, [0xB7, 0x58, 0x00, 0xA0, 0xC9, 0x05, 0x64, 0xFE]}; 1059 + const IID DIID_DShellFolderViewEvents = {0x62112AA2, 0xEBE4, 0x11CF, [0xA5, 0xFB, 0x00, 0x20, 0xAF, 0xE7, 0x29, 0x2D]}; 1060 + const IID DIID_DShellNameSpaceEvents = {0x55136806, 0xB2DE, 0x11D1, [0xB9, 0xF2, 0x00, 0xA0, 0xC9, 0x8B, 0xC5, 0x47]}; 1061 + const IID DIID_DShellWindowsEvents = {0xFE4106E0, 0x399A, 0x11D0, [0xA4, 0x8C, 0x00, 0xA0, 0xC9, 0x0A, 0x8F, 0x39]}; 1062 + const IID DIID_DWebBridgeEvents = {0xA6D897FF, 0x0A95, 0x11D1, [0xB0, 0xBA, 0x00, 0x60, 0x08, 0x16, 0x6E, 0x11]}; 1063 + const IID DIID_DWebBrowserEvents = {0xEAB22AC2, 0x30C1, 0x11CF, [0xA7, 0xEB, 0x00, 0x00, 0xC0, 0x5B, 0xAE, 0x0B]}; 1064 + const IID DIID_DWebBrowserEvents2 = {0x34A715A0, 0x6587, 0x11D0, [0x92, 0x4A, 0x00, 0x20, 0xAF, 0xC7, 0xAC, 0x4D]}; 1065 + const IID DIID_HTMLAnchorEvents = {0x3050F29D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1066 + const IID DIID_HTMLAnchorEvents2 = {0x3050F610, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1067 + const IID DIID_HTMLAreaEvents = {0x3050F366, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1068 + const IID DIID_HTMLAreaEvents2 = {0x3050F611, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1069 + const IID DIID_HTMLButtonElementEvents = {0x3050F2B3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1070 + const IID DIID_HTMLButtonElementEvents2 = {0x3050F617, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1071 + const IID DIID_HTMLControlElementEvents = {0x3050F4EA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1072 + const IID DIID_HTMLControlElementEvents2 = {0x3050F612, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1073 + const IID DIID_HTMLDocumentEvents = {0x3050F260, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1074 + const IID DIID_HTMLDocumentEvents2 = {0x3050F613, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1075 + const IID DIID_HTMLElementEvents = {0x3050F33C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1076 + const IID DIID_HTMLElementEvents2 = {0x3050F60F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1077 + const IID DIID_HTMLFormElementEvents = {0x3050F364, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1078 + const IID DIID_HTMLFormElementEvents2 = {0x3050F614, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1079 + const IID DIID_HTMLFrameSiteEvents = {0x3050F800, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1080 + const IID DIID_HTMLFrameSiteEvents2 = {0x3050F7FF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1081 + const IID DIID_HTMLImgEvents = {0x3050F25B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1082 + const IID DIID_HTMLImgEvents2 = {0x3050F616, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1083 + const IID DIID_HTMLInputFileElementEvents = {0x3050F2AF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1084 + const IID DIID_HTMLInputFileElementEvents2 = {0x3050F61A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1085 + const IID DIID_HTMLInputImageEvents = {0x3050F2C3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1086 + const IID DIID_HTMLInputImageEvents2 = {0x3050F61B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1087 + const IID DIID_HTMLInputTextElementEvents = {0x3050F2A7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1088 + const IID DIID_HTMLInputTextElementEvents2 = {0x3050F618, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1089 + const IID DIID_HTMLLabelEvents = {0x3050F329, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1090 + const IID DIID_HTMLLabelEvents2 = {0x3050F61C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1091 + const IID DIID_HTMLLinkElementEvents = {0x3050F3CC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1092 + const IID DIID_HTMLLinkElementEvents2 = {0x3050F61D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1093 + const IID DIID_HTMLMapEvents = {0x3050F3BA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1094 + const IID DIID_HTMLMapEvents2 = {0x3050F61E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1095 + const IID DIID_HTMLMarqueeElementEvents = {0x3050F2B8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1096 + const IID DIID_HTMLMarqueeElementEvents2 = {0x3050F61F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1097 + const IID DIID_HTMLNamespaceEvents = {0x3050F6BD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1098 + const IID DIID_HTMLObjectElementEvents = {0x3050F3C4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1099 + const IID DIID_HTMLObjectElementEvents2 = {0x3050F620, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1100 + const IID DIID_HTMLOptionButtonElementEvents = {0x3050F2BD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1101 + const IID DIID_HTMLOptionButtonElementEvents2 = {0x3050F619, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1102 + const IID DIID_HTMLPersistEvents = {0x3050F4C7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1103 + const IID DIID_HTMLScriptEvents = {0x3050F3E2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1104 + const IID DIID_HTMLScriptEvents2 = {0x3050F621, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1105 + const IID DIID_HTMLSelectElementEvents = {0x3050F302, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1106 + const IID DIID_HTMLSelectElementEvents2 = {0x3050F622, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1107 + const IID DIID_HTMLStyleElementEvents = {0x3050F3CB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1108 + const IID DIID_HTMLStyleElementEvents2 = {0x3050F615, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1109 + const IID DIID_HTMLTableEvents = {0x3050F407, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1110 + const IID DIID_HTMLTableEvents2 = {0x3050F623, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1111 + const IID DIID_HTMLTextContainerEvents = {0x1FF6AA72, 0x5842, 0x11CF, [0xA7, 0x07, 0x00, 0xAA, 0x00, 0xC0, 0x09, 0x8D]}; 1112 + const IID DIID_HTMLTextContainerEvents2 = {0x3050F624, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1113 + const IID DIID_HTMLWindowEvents = {0x96A0A4E0, 0xD062, 0x11CF, [0x94, 0xB6, 0x00, 0xAA, 0x00, 0x60, 0x27, 0x5C]}; 1114 + const IID DIID_HTMLWindowEvents2 = {0x3050F625, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1115 + const IID DIID_IRTCDispatchEventNotification = {0x176DDFBE, 0xFEC0, 0x4D55, [0xBC, 0x87, 0x84, 0xCF, 0xF1, 0xEF, 0x7F, 0x91]}; 1116 + const IID DIID_ISWbemSinkEvents = {0x75718CA0, 0xF029, 0x11D1, [0xA1, 0xAC, 0x00, 0xC0, 0x4F, 0xB6, 0xC2, 0x23]}; 1117 + const IID DIID_ITTAPIDispatchEventNotification = {0x9F34325B, 0x7E62, 0x11D2, [0x94, 0x57, 0x00, 0xC0, 0x4F, 0x8E, 0xC8, 0x88]}; 1118 + const IID DIID_LayoutRectEvents = {0x3050F674, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1119 + const IID DIID_XMLDOMDocumentEvents = {0x3EFAA427, 0x272F, 0x11D2, [0x83, 0x6F, 0x00, 0x00, 0xF8, 0x7A, 0x77, 0x82]}; 1120 + const IID DPAID_ComPort = {0xF2F0CE00, 0xE0AF, 0x11CF, [0x9C, 0x4E, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1121 + const IID DPAID_INet = {0xC4A54DA0, 0xE0AF, 0x11CF, [0x9C, 0x4E, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1122 + const IID DPAID_INetPort = {0xE4524541, 0x8EA5, 0x11D1, [0x8A, 0x96, 0x00, 0x60, 0x97, 0xB0, 0x14, 0x11]}; 1123 + const IID DPAID_INetW = {0xE63232A0, 0x9DBF, 0x11D0, [0x9C, 0xC1, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1124 + const IID DPAID_LobbyProvider = {0x59B95640, 0x9667, 0x11D0, [0xA7, 0x7D, 0x00, 0x00, 0xF8, 0x03, 0xAB, 0xFC]}; 1125 + const IID DPAID_Modem = {0xF6DCC200, 0xA2FE, 0x11D0, [0x9C, 0x4F, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1126 + const IID DPAID_ModemW = {0x01FD92E0, 0xA2FF, 0x11D0, [0x9C, 0x4F, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1127 + const IID DPAID_Phone = {0x78EC89A0, 0xE0AF, 0x11CF, [0x9C, 0x4E, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1128 + const IID DPAID_PhoneW = {0xBA5A7A70, 0x9DBF, 0x11D0, [0x9C, 0xC1, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1129 + const IID DPAID_ServiceProvider = {0x07D916C0, 0xE0AF, 0x11CF, [0x9C, 0x4E, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1130 + const IID DPAID_TotalSize = {0x1318F560, 0x912C, 0x11D0, [0x9D, 0xAA, 0x00, 0xA0, 0xC9, 0x0A, 0x43, 0xCB]}; 1131 + const IID DPLPROPERTY_LobbyGuid = {0xF56920A0, 0xD218, 0x11D0, [0xBA, 0x39, 0x00, 0xC0, 0x4F, 0xD7, 0xED, 0x67]}; 1132 + const IID DPLPROPERTY_MessagesSupported = {0x762CCDA1, 0xD916, 0x11D0, [0xBA, 0x39, 0x00, 0xC0, 0x4F, 0xD7, 0xED, 0x67]}; 1133 + const IID DPLPROPERTY_PlayerGuid = {0xB4319322, 0xD20D, 0x11D0, [0xBA, 0x39, 0x00, 0xC0, 0x4F, 0xD7, 0xED, 0x67]}; 1134 + const IID DPLPROPERTY_PlayerScore = {0x48784000, 0xD219, 0x11D0, [0xBA, 0x39, 0x00, 0xC0, 0x4F, 0xD7, 0xED, 0x67]}; 1135 + const IID DPSPGUID_IPX = {0x685BC400, 0x9D2C, 0x11CF, [0xA9, 0xCD, 0x00, 0xAA, 0x00, 0x68, 0x86, 0xE3]}; 1136 + const IID DPSPGUID_MODEM = {0x44EAA760, 0xCB68, 0x11CF, [0x9C, 0x4E, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1137 + const IID DPSPGUID_SERIAL = {0x0F1D6860, 0x88D9, 0x11CF, [0x9C, 0x4E, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 1138 + const IID DPSPGUID_TCPIP = {0x36E95EE0, 0x8577, 0x11CF, [0x96, 0x0C, 0x00, 0x80, 0xC7, 0x53, 0x4E, 0x82]}; 1139 + const IID DS3DALG_HRTF_FULL = {0xC2413340, 0x1C1B, 0x11D2, [0x94, 0xF5, 0x00, 0xC0, 0x4F, 0xC2, 0x8A, 0xCA]}; 1140 + const IID DS3DALG_HRTF_LIGHT = {0xC2413342, 0x1C1B, 0x11D2, [0x94, 0xF5, 0x00, 0xC0, 0x4F, 0xC2, 0x8A, 0xCA]}; 1141 + const IID DS3DALG_NO_VIRTUALIZATION = {0xC241333F, 0x1C1B, 0x11D2, [0x94, 0xF5, 0x00, 0xC0, 0x4F, 0xC2, 0x8A, 0xCA]}; 1142 + const IID FLAGID_Internet = {0x96300DA0, 0x2BAB, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 1143 + const IID FMTID_AudioSummaryInformation = {0x64440490, 0x4C8B, 0x11D1, [0x8B, 0x70, 0x08, 0x00, 0x36, 0xB1, 0x1A, 0x03]}; 1144 + const IID FMTID_Briefcase = {0x328D8B21, 0x7729, 0x4BFC, [0x95, 0x4C, 0x90, 0x2B, 0x32, 0x9D, 0x56, 0xB0]}; 1145 + const IID FMTID_DiscardableInformation = {0xD725EBB0, 0xC9B8, 0x11D1, [0x89, 0xBC, 0x00, 0x00, 0xF8, 0x04, 0xB0, 0x57]}; 1146 + const IID FMTID_Displaced = {0x9B174B33, 0x40FF, 0x11D2, [0xA2, 0x7E, 0x00, 0xC0, 0x4F, 0xC3, 0x08, 0x71]}; 1147 + const IID FMTID_DocSummaryInformation = {0xD5CDD502, 0x2E9C, 0x101B, [0x93, 0x97, 0x08, 0x00, 0x2B, 0x2C, 0xF9, 0xAE]}; 1148 + const IID FMTID_DRM = {0xAEAC19E4, 0x89AE, 0x4508, [0xB9, 0xB7, 0xBB, 0x86, 0x7A, 0xBE, 0xE2, 0xED]}; 1149 + const IID FMTID_ImageProperties = {0x14B81DA1, 0x0135, 0x4D31, [0x96, 0xD9, 0x6C, 0xBF, 0xC9, 0x67, 0x1A, 0x99]}; 1150 + const IID FMTID_ImageSummaryInformation = {0x6444048F, 0x4C8B, 0x11D1, [0x8B, 0x70, 0x08, 0x00, 0x36, 0xB1, 0x1A, 0x03]}; 1151 + const IID FMTID_InternetSite = {0x000214A1, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1152 + const IID FMTID_Intshcut = {0x000214A0, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1153 + const IID FMTID_MediaFileSummaryInformation = {0x64440492, 0x4C8B, 0x11D1, [0x8B, 0x70, 0x08, 0x00, 0x36, 0xB1, 0x1A, 0x03]}; 1154 + const IID FMTID_Misc = {0x9B174B34, 0x40FF, 0x11D2, [0xA2, 0x7E, 0x00, 0xC0, 0x4F, 0xC3, 0x08, 0x71]}; 1155 + const IID FMTID_MUSIC = {0x56A3372E, 0xCE9C, 0x11D2, [0x9F, 0x0E, 0x00, 0x60, 0x97, 0xC6, 0x86, 0xF6]}; 1156 + const IID FMTID_PropertyBag = {0x20001801, 0x5DE6, 0x11D1, [0x8E, 0x38, 0x00, 0xC0, 0x4F, 0xB9, 0x38, 0x6D]}; 1157 + const IID FMTID_Query = {0x49691C90, 0x7E17, 0x101A, [0xA9, 0x1C, 0x08, 0x00, 0x2B, 0x2E, 0xCD, 0xA9]}; 1158 + const IID FMTID_ShellDetails = {0x28636AA6, 0x953D, 0x11D2, [0xB5, 0xD6, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xD0]}; 1159 + const IID FMTID_Storage = {0xB725F130, 0x47EF, 0x101A, [0xA5, 0xF1, 0x02, 0x60, 0x8C, 0x9E, 0xEB, 0xAC]}; 1160 + const IID FMTID_SummaryInformation = {0xF29F85E0, 0x4FF9, 0x1068, [0xAB, 0x91, 0x08, 0x00, 0x2B, 0x27, 0xB3, 0xD9]}; 1161 + const IID FMTID_UserDefinedProperties = {0xD5CDD505, 0x2E9C, 0x101B, [0x93, 0x97, 0x08, 0x00, 0x2B, 0x2C, 0xF9, 0xAE]}; 1162 + const IID FMTID_VideoSummaryInformation = {0x64440491, 0x4C8B, 0x11D1, [0x8B, 0x70, 0x08, 0x00, 0x36, 0xB1, 0x1A, 0x03]}; 1163 + const IID FMTID_Volume = {0x9B174B35, 0x40FF, 0x11D2, [0xA2, 0x7E, 0x00, 0xC0, 0x4F, 0xC3, 0x08, 0x71]}; 1164 + const IID FMTID_WebView = {0xF2275480, 0xF782, 0x4291, [0xBD, 0x94, 0xF1, 0x36, 0x93, 0x51, 0x3A, 0xEC]}; 1165 + const IID GUID_ACPI_CMOS_INTERFACE_STANDARD = {0x3A8D0384, 0x6505, 0x40CA, [0xBC, 0x39, 0x56, 0xC1, 0x5F, 0x8C, 0x5F, 0xED]}; 1166 + const IID GUID_ACPI_INTERFACE_STANDARD = {0xB091A08A, 0xBA97, 0x11D0, [0xBD, 0x14, 0x00, 0xAA, 0x00, 0xB7, 0xB3, 0x2A]}; 1167 + const IID GUID_ACPI_PORT_RANGES_INTERFACE_STAND = {0xF14F609B, 0xCBBD, 0x4957, [0xA6, 0x74, 0xBC, 0x00, 0x21, 0x3F, 0x1C, 0x97]}; 1168 + const IID GUID_ACPI_REGS_INTERFACE_STANDARD = {0x06141966, 0x7245, 0x6369, [0x46, 0x2E, 0x4E, 0x65, 0x6C, 0x73, 0x6F, 0x6E]}; 1169 + const IID GUID_ARBITER_INTERFACE_STANDARD = {0xE644F185, 0x8C0E, 0x11D0, [0xBE, 0xCF, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1170 + const IID GUID_BUS_INTERFACE_STANDARD = {0x496B8280, 0x6F25, 0x11D0, [0xBE, 0xAF, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1171 + const IID GUID_BUS_TYPE_1394 = {0xF74E73EB, 0x9AC5, 0x45EB, [0xBE, 0x4D, 0x77, 0x2C, 0xC7, 0x1D, 0xDF, 0xB3]}; 1172 + const IID GUID_BUS_TYPE_AVC = {0xC06FF265, 0xAE09, 0x48F0, [0x81, 0x2C, 0x16, 0x75, 0x3D, 0x7C, 0xBA, 0x83]}; 1173 + const IID GUID_BUS_TYPE_DOT4PRT = {0x441EE001, 0x4342, 0x11D5, [0xA1, 0x84, 0x00, 0xC0, 0x4F, 0x60, 0x52, 0x4D]}; 1174 + const IID GUID_BUS_TYPE_EISA = {0xDDC35509, 0xF3FC, 0x11D0, [0xA5, 0x37, 0x00, 0x00, 0xF8, 0x75, 0x3E, 0xD1]}; 1175 + const IID GUID_BUS_TYPE_HID = {0xEEAF37D0, 0x1963, 0x47C4, [0xAA, 0x48, 0x72, 0x47, 0x6D, 0xB7, 0xCF, 0x49]}; 1176 + const IID GUID_BUS_TYPE_INTERNAL = {0x1530EA73, 0x086B, 0x11D1, [0xA0, 0x9F, 0x00, 0xC0, 0x4F, 0xC3, 0x40, 0xB1]}; 1177 + const IID GUID_BUS_TYPE_IRDA = {0x7AE17DC1, 0xC944, 0x44D6, [0x88, 0x1F, 0x4C, 0x2E, 0x61, 0x05, 0x3B, 0xC1]}; 1178 + const IID GUID_BUS_TYPE_ISAPNP = {0xE676F854, 0xD87D, 0x11D0, [0x92, 0xB2, 0x00, 0xA0, 0xC9, 0x05, 0x5F, 0xC5]}; 1179 + const IID GUID_BUS_TYPE_LPTENUM = {0xC4CA1000, 0x2DDC, 0x11D5, [0xA1, 0x7A, 0x00, 0xC0, 0x4F, 0x60, 0x52, 0x4D]}; 1180 + const IID GUID_BUS_TYPE_MCA = {0x1C75997A, 0xDC33, 0x11D0, [0x92, 0xB2, 0x00, 0xA0, 0xC9, 0x05, 0x5F, 0xC5]}; 1181 + const IID GUID_BUS_TYPE_PCI = {0xC8EBDFB0, 0xB510, 0x11D0, [0x80, 0xE5, 0x00, 0xA0, 0xC9, 0x25, 0x42, 0xE3]}; 1182 + const IID GUID_BUS_TYPE_PCMCIA = {0x09343630, 0xAF9F, 0x11D0, [0x92, 0xE9, 0x00, 0x00, 0xF8, 0x1E, 0x1B, 0x30]}; 1183 + const IID GUID_BUS_TYPE_SERENUM = {0x77114A87, 0x8944, 0x11D1, [0xBD, 0x90, 0x00, 0xA0, 0xC9, 0x06, 0xBE, 0x2D]}; 1184 + const IID GUID_BUS_TYPE_USB = {0x9D7DEBBC, 0xC85D, 0x11D1, [0x9E, 0xB4, 0x00, 0x60, 0x08, 0xC3, 0xA1, 0x9A]}; 1185 + const IID GUID_BUS_TYPE_USBPRINT = {0x441EE000, 0x4342, 0x11D5, [0xA1, 0x84, 0x00, 0xC0, 0x4F, 0x60, 0x52, 0x4D]}; 1186 + const IID GUID_Button = {0xA36D02F0, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1187 + const IID GUID_CHECKVALUEEXCLUSIVE = {0x6650430C, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1188 + const IID GUID_ChordParam = {0xD2AC289E, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1189 + const IID GUID_Clear_All_Bands = {0xD2AC28AB, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1190 + const IID GUID_COLOR = {0x66504301, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1191 + const IID GUID_ColorControlCallbacks = {0xEFD60CC2, 0x49E7, 0x11D0, [0x88, 0x9D, 0x00, 0xAA, 0x00, 0xBB, 0xB7, 0x6A]}; 1192 + const IID GUID_CommandParam = {0xD2AC289D, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1193 + const IID GUID_CommandParam2 = {0x28F97EF7, 0x9538, 0x11D2, [0x97, 0xA9, 0x00, 0xC0, 0x4F, 0xA3, 0x6E, 0x58]}; 1194 + const IID GUID_ConnectToDLSCollection = {0x1DB1AE6B, 0xE92E, 0x11D1, [0xA8, 0xC5, 0x00, 0xC0, 0x4F, 0xA3, 0x72, 0x6E]}; 1195 + const IID GUID_ConstantForce = {0x13541C20, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1196 + const IID GUID_CustomForce = {0x13541C2B, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1197 + const IID GUID_D3DCallbacks2 = {0x0BA584E1, 0x70B6, 0x11D0, [0x88, 0x9D, 0x00, 0xAA, 0x00, 0xBB, 0xB7, 0x6A]}; 1198 + const IID GUID_D3DCallbacks3 = {0xDDF41230, 0xEC0A, 0x11D0, [0xA9, 0xB6, 0x00, 0xAA, 0x00, 0xC0, 0x99, 0x3E]}; 1199 + const IID GUID_D3DExtendedCaps = {0x7DE41F80, 0x9D93, 0x11D0, [0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 1200 + const IID GUID_D3DParseUnknownCommandCallback = {0x2E04FFA0, 0x98E4, 0x11D1, [0x8C, 0xE1, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 1201 + const IID GUID_Damper = {0x13541C28, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1202 + const IID GUID_DDMoreCaps = {0x880BAF30, 0xB030, 0x11D0, [0x8E, 0xA7, 0x00, 0x60, 0x97, 0x97, 0xEA, 0x5B]}; 1203 + const IID GUID_DDMoreSurfaceCaps = {0x3B8A0466, 0xF269, 0x11D1, [0x88, 0x0B, 0x00, 0xC0, 0x4F, 0xD9, 0x30, 0xC5]}; 1204 + const IID GUID_DDStereoMode = {0xF828169C, 0xA8E8, 0x11D2, [0xA1, 0xF2, 0x00, 0xA0, 0xC9, 0x83, 0xEA, 0xF6]}; 1205 + const IID GUID_DefaultGMCollection = {0xF17E8673, 0xC3B4, 0x11D1, [0x87, 0x0B, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1206 + const IID GUID_DEVCLASS_1394 = {0x6BDD1FC1, 0x810F, 0x11D0, [0xBE, 0xC7, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1207 + const IID GUID_DEVCLASS_1394DEBUG = {0x66F250D6, 0x7801, 0x4A64, [0xB1, 0x39, 0xEE, 0xA8, 0x0A, 0x45, 0x0B, 0x24]}; 1208 + const IID GUID_DEVCLASS_61883 = {0x7EBEFBC0, 0x3200, 0x11D2, [0xB4, 0xC2, 0x00, 0xA0, 0xC9, 0x69, 0x7D, 0x07]}; 1209 + const IID GUID_DEVCLASS_ADAPTER = {0x4D36E964, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1210 + const IID GUID_DEVCLASS_APMSUPPORT = {0xD45B1C18, 0xC8FA, 0x11D1, [0x9F, 0x77, 0x00, 0x00, 0xF8, 0x05, 0xF5, 0x30]}; 1211 + const IID GUID_DEVCLASS_AVC = {0xC06FF265, 0xAE09, 0x48F0, [0x81, 0x2C, 0x16, 0x75, 0x3D, 0x7C, 0xBA, 0x83]}; 1212 + const IID GUID_DEVCLASS_BATTERY = {0x72631E54, 0x78A4, 0x11D0, [0xBC, 0xF7, 0x00, 0xAA, 0x00, 0xB7, 0xB3, 0x2A]}; 1213 + const IID GUID_DEVCLASS_BLUETOOTH = {0xE0CBF06C, 0xCD8B, 0x4647, [0xBB, 0x8A, 0x26, 0x3B, 0x43, 0xF0, 0xF9, 0x74]}; 1214 + const IID GUID_DEVCLASS_CDROM = {0x4D36E965, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1215 + const IID GUID_DEVCLASS_COMPUTER = {0x4D36E966, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1216 + const IID GUID_DEVCLASS_DECODER = {0x6BDD1FC2, 0x810F, 0x11D0, [0xBE, 0xC7, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1217 + const IID GUID_DEVCLASS_DISKDRIVE = {0x4D36E967, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1218 + const IID GUID_DEVCLASS_DISPLAY = {0x4D36E968, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1219 + const IID GUID_DEVCLASS_DOT4 = {0x48721B56, 0x6795, 0x11D2, [0xB1, 0xA8, 0x00, 0x80, 0xC7, 0x2E, 0x74, 0xA2]}; 1220 + const IID GUID_DEVCLASS_DOT4PRINT = {0x49CE6AC8, 0x6F86, 0x11D2, [0xB1, 0xE5, 0x00, 0x80, 0xC7, 0x2E, 0x74, 0xA2]}; 1221 + const IID GUID_DEVCLASS_ENUM1394 = {0xC459DF55, 0xDB08, 0x11D1, [0xB0, 0x09, 0x00, 0xA0, 0xC9, 0x08, 0x1F, 0xF6]}; 1222 + const IID GUID_DEVCLASS_FDC = {0x4D36E969, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1223 + const IID GUID_DEVCLASS_FLOPPYDISK = {0x4D36E980, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1224 + const IID GUID_DEVCLASS_FSFILTER_ACTIVITYMONIT = {0xB86DFF51, 0xA31E, 0x4BAC, [0xB3, 0xCF, 0xE8, 0xCF, 0xE7, 0x5C, 0x9F, 0xC2]}; 1225 + const IID GUID_DEVCLASS_FSFILTER_ANTIVIRUS = {0xB1D1A169, 0xC54F, 0x4379, [0x81, 0xDB, 0xBE, 0xE7, 0xD8, 0x8D, 0x74, 0x54]}; 1226 + const IID GUID_DEVCLASS_FSFILTER_CFSMETADATASER = {0xCDCF0939, 0xB75B, 0x4630, [0xBF, 0x76, 0x80, 0xF7, 0xBA, 0x65, 0x58, 0x84]}; 1227 + const IID GUID_DEVCLASS_FSFILTER_COMPRESSION = {0xF3586BAF, 0xB5AA, 0x49B5, [0x8D, 0x6C, 0x05, 0x69, 0x28, 0x4C, 0x63, 0x9F]}; 1228 + const IID GUID_DEVCLASS_FSFILTER_CONTENTSCREEN = {0x3E3F0674, 0xC83C, 0x4558, [0xBB, 0x26, 0x98, 0x20, 0xE1, 0xEB, 0xA5, 0xC5]}; 1229 + const IID GUID_DEVCLASS_FSFILTER_CONTINUOUSBACK = {0x71AA14F8, 0x6FAD, 0x4622, [0xAD, 0x77, 0x92, 0xBB, 0x9D, 0x7E, 0x69, 0x47]}; 1230 + const IID GUID_DEVCLASS_FSFILTER_COPYPROTECTIO = {0x89786FF1, 0x9C12, 0x402F, [0x9C, 0x9E, 0x17, 0x75, 0x3C, 0x7F, 0x43, 0x75]}; 1231 + const IID GUID_DEVCLASS_FSFILTER_ENCRYPTION = {0xA0A701C0, 0xA511, 0x42FF, [0xAA, 0x6C, 0x06, 0xDC, 0x03, 0x95, 0x57, 0x6F]}; 1232 + const IID GUID_DEVCLASS_FSFILTER_HSM = {0xD546500A, 0x2AEB, 0x45F6, [0x94, 0x82, 0xF4, 0xB1, 0x79, 0x9C, 0x31, 0x77]}; 1233 + const IID GUID_DEVCLASS_FSFILTER_INFRASTRUCTUR = {0xE55FA6F9, 0x128C, 0x4D04, [0xAB, 0xAB, 0x63, 0x0C, 0x74, 0xB1, 0x45, 0x3A]}; 1234 + const IID GUID_DEVCLASS_FSFILTER_OPENFILEBACKU = {0xF8ECAFA6, 0x66D1, 0x41A5, [0x89, 0x9B, 0x66, 0x58, 0x5D, 0x72, 0x16, 0xB7]}; 1235 + const IID GUID_DEVCLASS_FSFILTER_PHYSICALQUOTAM = {0x6A0A8E78, 0xBBA6, 0x4FC4, [0xA7, 0x09, 0x1E, 0x33, 0xCD, 0x09, 0xD6, 0x7E]}; 1236 + const IID GUID_DEVCLASS_FSFILTER_QUOTAMANAGEME = {0x8503C911, 0xA6C7, 0x4919, [0x8F, 0x79, 0x50, 0x28, 0xF5, 0x86, 0x6B, 0x0C]}; 1237 + const IID GUID_DEVCLASS_FSFILTER_REPLICATION = {0x48D3EBC4, 0x4CF8, 0x48FF, [0xB8, 0x69, 0x9C, 0x68, 0xAD, 0x42, 0xEB, 0x9F]}; 1238 + const IID GUID_DEVCLASS_FSFILTER_SECURITYENHANC = {0xD02BC3DA, 0x0C8E, 0x4945, [0x9B, 0xD5, 0xF1, 0x88, 0x3C, 0x22, 0x6C, 0x8C]}; 1239 + const IID GUID_DEVCLASS_FSFILTER_SYSTEM = {0x5D1B9AAA, 0x01E2, 0x46AF, [0x84, 0x9F, 0x27, 0x2B, 0x3F, 0x32, 0x4C, 0x46]}; 1240 + const IID GUID_DEVCLASS_FSFILTER_SYSTEMRECOVER = {0x2DB15374, 0x706E, 0x4131, [0xA0, 0xC7, 0xD7, 0xC7, 0x8E, 0xB0, 0x28, 0x9A]}; 1241 + const IID GUID_DEVCLASS_FSFILTER_UNDELETE = {0xFE8F1572, 0xC67A, 0x48C0, [0xBB, 0xAC, 0x0B, 0x5C, 0x6D, 0x66, 0xCA, 0xFB]}; 1242 + const IID GUID_DEVCLASS_GPS = {0x6BDD1FC3, 0x810F, 0x11D0, [0xBE, 0xC7, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1243 + const IID GUID_DEVCLASS_HDC = {0x4D36E96A, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1244 + const IID GUID_DEVCLASS_HIDCLASS = {0x745A17A0, 0x74D3, 0x11D0, [0xB6, 0xFE, 0x00, 0xA0, 0xC9, 0x0F, 0x57, 0xDA]}; 1245 + const IID GUID_DEVCLASS_IMAGE = {0x6BDD1FC6, 0x810F, 0x11D0, [0xBE, 0xC7, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1246 + const IID GUID_DEVCLASS_INFRARED = {0x6BDD1FC5, 0x810F, 0x11D0, [0xBE, 0xC7, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1247 + const IID GUID_DEVCLASS_KEYBOARD = {0x4D36E96B, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1248 + const IID GUID_DEVCLASS_LEGACYDRIVER = {0x8ECC055D, 0x047F, 0x11D1, [0xA5, 0x37, 0x00, 0x00, 0xF8, 0x75, 0x3E, 0xD1]}; 1249 + const IID GUID_DEVCLASS_MEDIA = {0x4D36E96C, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1250 + const IID GUID_DEVCLASS_MEDIUM_CHANGER = {0xCE5939AE, 0xEBDE, 0x11D0, [0xB1, 0x81, 0x00, 0x00, 0xF8, 0x75, 0x3E, 0xC4]}; 1251 + const IID GUID_DEVCLASS_MODEM = {0x4D36E96D, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1252 + const IID GUID_DEVCLASS_MONITOR = {0x4D36E96E, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1253 + const IID GUID_DEVCLASS_MOUSE = {0x4D36E96F, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1254 + const IID GUID_DEVCLASS_MTD = {0x4D36E970, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1255 + const IID GUID_DEVCLASS_MULTIFUNCTION = {0x4D36E971, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1256 + const IID GUID_DEVCLASS_MULTIPORTSERIAL = {0x50906CB8, 0xBA12, 0x11D1, [0xBF, 0x5D, 0x00, 0x00, 0xF8, 0x05, 0xF5, 0x30]}; 1257 + const IID GUID_DEVCLASS_NET = {0x4D36E972, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1258 + const IID GUID_DEVCLASS_NETCLIENT = {0x4D36E973, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1259 + const IID GUID_DEVCLASS_NETSERVICE = {0x4D36E974, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1260 + const IID GUID_DEVCLASS_NETTRANS = {0x4D36E975, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1261 + const IID GUID_DEVCLASS_NODRIVER = {0x4D36E976, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1262 + const IID GUID_DEVCLASS_PCMCIA = {0x4D36E977, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1263 + const IID GUID_DEVCLASS_PNPPRINTERS = {0x4658EE7E, 0xF050, 0x11D1, [0xB6, 0xBD, 0x00, 0xC0, 0x4F, 0xA3, 0x72, 0xA7]}; 1264 + const IID GUID_DEVCLASS_PORTS = {0x4D36E978, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1265 + const IID GUID_DEVCLASS_PRINTER = {0x4D36E979, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1266 + const IID GUID_DEVCLASS_PRINTERUPGRADE = {0x4D36E97A, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1267 + const IID GUID_DEVCLASS_PROCESSOR = {0x50127DC3, 0x0F36, 0x415E, [0xA6, 0xCC, 0x4C, 0xB3, 0xBE, 0x91, 0x0B, 0x65]}; 1268 + const IID GUID_DEVCLASS_SBP2 = {0xD48179BE, 0xEC20, 0x11D1, [0xB6, 0xB8, 0x00, 0xC0, 0x4F, 0xA3, 0x72, 0xA7]}; 1269 + const IID GUID_DEVCLASS_SCSIADAPTER = {0x4D36E97B, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1270 + const IID GUID_DEVCLASS_SMARTCARDREADER = {0x50DD5230, 0xBA8A, 0x11D1, [0xBF, 0x5D, 0x00, 0x00, 0xF8, 0x05, 0xF5, 0x30]}; 1271 + const IID GUID_DEVCLASS_SOUND = {0x4D36E97C, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1272 + const IID GUID_DEVCLASS_SYSTEM = {0x4D36E97D, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1273 + const IID GUID_DEVCLASS_TAPEDRIVE = {0x6D807884, 0x7D21, 0x11CF, [0x80, 0x1C, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1274 + const IID GUID_DEVCLASS_UNKNOWN = {0x4D36E97E, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1275 + const IID GUID_DEVCLASS_USB = {0x36FC9E60, 0xC465, 0x11CF, [0x80, 0x56, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1276 + const IID GUID_DEVCLASS_VOLUME = {0x71A27CDD, 0x812A, 0x11D0, [0xBE, 0xC7, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1277 + const IID GUID_DEVCLASS_VOLUMESNAPSHOT = {0x533C5B84, 0xEC70, 0x11D2, [0x95, 0x05, 0x00, 0xC0, 0x4F, 0x79, 0xDE, 0xAF]}; 1278 + const IID GUID_DEVCLASS_WCEUSBS = {0x25DBCE51, 0x6C8F, 0x4A72, [0x8A, 0x6D, 0xB5, 0x4C, 0x2B, 0x4F, 0xC8, 0x35]}; 1279 + const IID GUID_DEVICE_INTERFACE_ARRIVAL = {0xCB3A4004, 0x46F0, 0x11D0, [0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3F]}; 1280 + const IID GUID_DEVICE_INTERFACE_REMOVAL = {0xCB3A4005, 0x46F0, 0x11D0, [0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3F]}; 1281 + const IID GUID_DEVINTERFACE_CDCHANGER = {0x53F56312, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1282 + const IID GUID_DEVINTERFACE_CDROM = {0x53F56308, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1283 + const IID GUID_DEVINTERFACE_COMPORT = {0x86E0D1E0, 0x8089, 0x11D0, [0x9C, 0xE4, 0x08, 0x00, 0x3E, 0x30, 0x1F, 0x73]}; 1284 + const IID GUID_DEVINTERFACE_DISK = {0x53F56307, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1285 + const IID GUID_DEVINTERFACE_FLOPPY = {0x53F56311, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1286 + const IID GUID_DEVINTERFACE_MEDIUMCHANGER = {0x53F56310, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1287 + const IID GUID_DEVINTERFACE_PARTITION = {0x53F5630A, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1288 + const IID GUID_DEVINTERFACE_SERENUM_BUS_ENUMERA = {0x4D36E978, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1289 + const IID GUID_DEVINTERFACE_STORAGEPORT = {0x2ACCFE60, 0xC130, 0x11D2, [0xB0, 0x82, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1290 + const IID GUID_DEVINTERFACE_TAPE = {0x53F5630B, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1291 + const IID GUID_DEVINTERFACE_VOLUME = {0x53F5630D, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1292 + const IID GUID_DEVINTERFACE_WRITEONCEDISK = {0x53F5630C, 0xB6BF, 0x11D0, [0x94, 0xF2, 0x00, 0xA0, 0xC9, 0x1E, 0xFB, 0x8B]}; 1293 + const IID GUID_DirectDrawPaletteStream = {0x730C7FFC, 0x5347, 0x11D1, [0x8C, 0x4D, 0x00, 0xC0, 0x4F, 0xD9, 0x30, 0xC5]}; 1294 + const IID GUID_DirectDrawSurfaceStream = {0xE043BC46, 0x5317, 0x11D1, [0x8C, 0x4D, 0x00, 0xC0, 0x4F, 0xD9, 0x30, 0xC5]}; 1295 + const IID GUID_DirectMusicAllTypes = {0xD2AC2893, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1296 + const IID GUID_Disable_Auto_Download = {0xD2AC28AA, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1297 + const IID GUID_DisableTempo = {0x45FC707D, 0x1DB4, 0x11D2, [0xBC, 0xAC, 0x00, 0xA0, 0xC9, 0x22, 0xE6, 0xEB]}; 1298 + const IID GUID_DisableTimeSig = {0x45FC707B, 0x1DB4, 0x11D2, [0xBC, 0xAC, 0x00, 0xA0, 0xC9, 0x22, 0xE6, 0xEB]}; 1299 + const IID GUID_DMUS_PROP_DLS1 = {0x178F2F27, 0xC364, 0x11D1, [0xA7, 0x60, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 1300 + const IID GUID_DMUS_PROP_DLS2 = {0xF14599E5, 0x4689, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 1301 + const IID GUID_DMUS_PROP_Effects = {0xCDA8D611, 0x684A, 0x11D2, [0x87, 0x1E, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1302 + const IID GUID_DMUS_PROP_GM_Hardware = {0x178F2F24, 0xC364, 0x11D1, [0xA7, 0x60, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 1303 + const IID GUID_DMUS_PROP_GS_Capable = {0x6496ABA2, 0x61B0, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 1304 + const IID GUID_DMUS_PROP_GS_Hardware = {0x178F2F25, 0xC364, 0x11D1, [0xA7, 0x60, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 1305 + const IID GUID_DMUS_PROP_INSTRUMENT2 = {0x865FD372, 0x9F67, 0x11D2, [0x87, 0x2A, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1306 + const IID GUID_DMUS_PROP_LegacyCaps = {0xCFA7CDC2, 0x00A1, 0x11D2, [0xAA, 0xD5, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 1307 + const IID GUID_DMUS_PROP_MemorySize = {0x178F2F28, 0xC364, 0x11D1, [0xA7, 0x60, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 1308 + const IID GUID_DMUS_PROP_SampleMemorySize = {0x178F2F28, 0xC364, 0x11D1, [0xA7, 0x60, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 1309 + const IID GUID_DMUS_PROP_SamplePlaybackRate = {0x2A91F713, 0xA4BF, 0x11D2, [0xBB, 0xDF, 0x00, 0x60, 0x08, 0x33, 0xDB, 0xD8]}; 1310 + const IID GUID_DMUS_PROP_SynthSink_DSOUND = {0x0AA97844, 0xC877, 0x11D1, [0x87, 0x0C, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1311 + const IID GUID_DMUS_PROP_SynthSink_WAVE = {0x0AA97845, 0xC877, 0x11D1, [0x87, 0x0C, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1312 + const IID GUID_DMUS_PROP_Volume = {0xFEDFAE25, 0xE46E, 0x11D1, [0xAA, 0xCE, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 1313 + const IID GUID_DMUS_PROP_WavesReverb = {0x04CB5622, 0x32E5, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 1314 + const IID GUID_DMUS_PROP_WriteLatency = {0x268A0FA0, 0x60F2, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 1315 + const IID GUID_DMUS_PROP_WritePeriod = {0x268A0FA1, 0x60F2, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 1316 + const IID GUID_DMUS_PROP_XG_Capable = {0x6496ABA1, 0x61B0, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 1317 + const IID GUID_DMUS_PROP_XG_Hardware = {0x178F2F26, 0xC364, 0x11D1, [0xA7, 0x60, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 1318 + const IID GUID_Download = {0xD2AC28A7, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1319 + const IID GUID_Enable_Auto_Download = {0xD2AC28A9, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1320 + const IID GUID_EnableTempo = {0x45FC707E, 0x1DB4, 0x11D2, [0xBC, 0xAC, 0x00, 0xA0, 0xC9, 0x22, 0xE6, 0xEB]}; 1321 + const IID GUID_EnableTimeSig = {0x45FC707C, 0x1DB4, 0x11D2, [0xBC, 0xAC, 0x00, 0xA0, 0xC9, 0x22, 0xE6, 0xEB]}; 1322 + const IID GUID_FONTBOLD = {0x6650430F, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1323 + const IID GUID_FONTITALIC = {0x66504310, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1324 + const IID GUID_FONTNAME = {0x6650430D, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1325 + const IID GUID_FONTSIZE = {0x6650430E, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1326 + const IID GUID_FONTSTRIKETHROUGH = {0x66504312, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1327 + const IID GUID_FONTUNDERSCORE = {0x66504311, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1328 + const IID GUID_Friction = {0x13541C2A, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1329 + const IID GUID_HANDLE = {0x66504313, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1330 + const IID GUID_HasPathProperties = {0x0002DE81, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1331 + const IID GUID_HIDClass = {0x745A17A0, 0x74D3, 0x11D0, [0xB6, 0xFE, 0x00, 0xA0, 0xC9, 0x0F, 0x57, 0xDA]}; 1332 + const IID GUID_HIMETRIC = {0x66504300, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1333 + const IID GUID_HWPROFILE_CHANGE_CANCELLED = {0xCB3A4002, 0x46F0, 0x11D0, [0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3F]}; 1334 + const IID GUID_HWPROFILE_CHANGE_COMPLETE = {0xCB3A4003, 0x46F0, 0x11D0, [0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3F]}; 1335 + const IID GUID_HWPROFILE_QUERY_CHANGE = {0xCB3A4001, 0x46F0, 0x11D0, [0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3F]}; 1336 + const IID GUID_IDirectMusicBand = {0xD2AC28AC, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1337 + const IID GUID_IDirectMusicChordMap = {0xD2AC28AD, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1338 + const IID GUID_IDirectMusicStyle = {0xD2AC28A1, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1339 + const IID GUID_Inertia = {0x13541C29, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1340 + const IID GUID_INT_ROUTE_INTERFACE_STANDARD = {0x70941BF4, 0x0073, 0x11D1, [0xA0, 0x9E, 0x00, 0xC0, 0x4F, 0xC3, 0x40, 0xB1]}; 1341 + const IID GUID_Joystick = {0x6F1D2B70, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1342 + const IID GUID_KernelCallbacks = {0x80863800, 0x6B06, 0x11D0, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 1343 + const IID GUID_KernelCaps = {0xFFAA7540, 0x7AA8, 0x11D0, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 1344 + const IID GUID_Key = {0x55728220, 0xD33C, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1345 + const IID GUID_KeyboardClass = {0x4D36E96B, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1346 + const IID GUID_LEGACY_DEVICE_DETECTION_STANDAR = {0x50FEB0DE, 0x596A, 0x11D2, [0xA5, 0xB8, 0x00, 0x00, 0xF8, 0x1A, 0x46, 0x19]}; 1347 + const IID GUID_MediaClass = {0x4D36E96C, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1348 + const IID GUID_MF_ENUMERATION_INTERFACE = {0xAEB895F0, 0x5586, 0x11D1, [0x8D, 0x84, 0x00, 0xA0, 0xC9, 0x06, 0xB2, 0x44]}; 1349 + const IID GUID_Miscellaneous2Callbacks = {0x406B2F00, 0x3E5A, 0x11D1, [0xB6, 0x40, 0x00, 0xAA, 0x00, 0xA1, 0xF9, 0x6A]}; 1350 + const IID GUID_MiscellaneousCallbacks = {0xEFD60CC0, 0x49E7, 0x11D0, [0x88, 0x9D, 0x00, 0xAA, 0x00, 0xBB, 0xB7, 0x6A]}; 1351 + const IID GUID_MotionCompCallbacks = {0xB1122B40, 0x5DA5, 0x11D1, [0x8F, 0xCF, 0x00, 0xC0, 0x4F, 0xC2, 0x9B, 0x4E]}; 1352 + const IID GUID_MouseClass = {0x4D36E96F, 0xE325, 0x11CE, [0xBF, 0xC1, 0x08, 0x00, 0x2B, 0xE1, 0x03, 0x18]}; 1353 + const IID GUID_MuteParam = {0xD2AC28AF, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1354 + const IID GUID_NDIS_802_11_ADD_WEP = {0x4307BFF0, 0x2129, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1355 + const IID GUID_NDIS_802_11_AUTHENTICATION_MODE = {0x43920A24, 0x2129, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1356 + const IID GUID_NDIS_802_11_BASIC_RATES = {0x4A198516, 0x2068, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1357 + const IID GUID_NDIS_802_11_BSSID = {0x2504B6C2, 0x1FA5, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1358 + const IID GUID_NDIS_802_11_BSSID_LIST = {0x69526F9A, 0x2062, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1359 + const IID GUID_NDIS_802_11_BSSID_LIST_SCAN = {0x0D9E01E1, 0xBA70, 0x11D4, [0xB6, 0x75, 0x00, 0x20, 0x48, 0x57, 0x03, 0x37]}; 1360 + const IID GUID_NDIS_802_11_CONFIGURATION = {0x4A4DF982, 0x2068, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1361 + const IID GUID_NDIS_802_11_DESIRED_RATES = {0x452EE08E, 0x2536, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1362 + const IID GUID_NDIS_802_11_DISASSOCIATE = {0x43671F40, 0x2129, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1363 + const IID GUID_NDIS_802_11_FRAGMENTATION_THRESH = {0x69AAA7C4, 0x2062, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1364 + const IID GUID_NDIS_802_11_INFRASTRUCTURE_MODE = {0x697D5A7E, 0x2062, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1365 + const IID GUID_NDIS_802_11_NETWORK_TYPE_IN_USE = {0x857E2326, 0x2041, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1366 + const IID GUID_NDIS_802_11_NETWORK_TYPES_SUPPOR = {0x8531D6E6, 0x2041, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1367 + const IID GUID_NDIS_802_11_NUMBER_OF_ANTENNAS = {0x01779336, 0x2064, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1368 + const IID GUID_NDIS_802_11_POWER_MODE = {0x85BE837C, 0x2041, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1369 + const IID GUID_NDIS_802_11_PRIVACY_FILTER = {0x6733C4E9, 0x4792, 0x11D4, [0x97, 0xF1, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1370 + const IID GUID_NDIS_802_11_REMOVE_WEP = {0x433C345C, 0x2129, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1371 + const IID GUID_NDIS_802_11_RSSI = {0x1507DB16, 0x2053, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1372 + const IID GUID_NDIS_802_11_RSSI_TRIGGER = {0x155689B8, 0x2053, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1373 + const IID GUID_NDIS_802_11_RTS_THRESHOLD = {0x0134D07E, 0x2064, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1374 + const IID GUID_NDIS_802_11_RX_ANTENNA_SELECTED = {0x01AC07A2, 0x2064, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1375 + const IID GUID_NDIS_802_11_SSID = {0x7D2A90EA, 0x2041, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1376 + const IID GUID_NDIS_802_11_STATISTICS = {0x42BB73B0, 0x2129, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1377 + const IID GUID_NDIS_802_11_SUPPORTED_RATES = {0x49DB8722, 0x2068, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1378 + const IID GUID_NDIS_802_11_TX_ANTENNA_SELECTED = {0x01DBB74A, 0x2064, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1379 + const IID GUID_NDIS_802_11_TX_POWER_LEVEL = {0x11E6BA76, 0x2053, 0x11D4, [0x97, 0xEB, 0x00, 0xC0, 0x4F, 0x79, 0xC4, 0x03]}; 1380 + const IID GUID_NDIS_802_11_WEP_STATUS = {0xB027A21F, 0x3CFA, 0x4125, [0x80, 0x0B, 0x3F, 0x7A, 0x18, 0xFD, 0xDC, 0xDC]}; 1381 + const IID GUID_NDIS_802_3_CURRENT_ADDRESS = {0x44795700, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1382 + const IID GUID_NDIS_802_3_MAC_OPTIONS = {0x44795703, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1383 + const IID GUID_NDIS_802_3_MAXIMUM_LIST_SIZE = {0x44795702, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1384 + const IID GUID_NDIS_802_3_MULTICAST_LIST = {0x44795701, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1385 + const IID GUID_NDIS_802_3_PERMANENT_ADDRESS = {0x447956FF, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1386 + const IID GUID_NDIS_802_3_RCV_ERROR_ALIGNMENT = {0x44795704, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1387 + const IID GUID_NDIS_802_3_XMIT_MORE_COLLISIONS = {0x44795706, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1388 + const IID GUID_NDIS_802_3_XMIT_ONE_COLLISION = {0x44795705, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1389 + const IID GUID_NDIS_802_5_CURRENT_ADDRESS = {0x44795708, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1390 + const IID GUID_NDIS_802_5_CURRENT_FUNCTIONAL = {0x44795709, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1391 + const IID GUID_NDIS_802_5_CURRENT_GROUP = {0x4479570A, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1392 + const IID GUID_NDIS_802_5_CURRENT_RING_STATE = {0xACF14032, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1393 + const IID GUID_NDIS_802_5_CURRENT_RING_STATUS = {0x890A36EC, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1394 + const IID GUID_NDIS_802_5_LAST_OPEN_STATUS = {0x4479570B, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1395 + const IID GUID_NDIS_802_5_LINE_ERRORS = {0xACF14033, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1396 + const IID GUID_NDIS_802_5_LOST_FRAMES = {0xACF14034, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1397 + const IID GUID_NDIS_802_5_PERMANENT_ADDRESS = {0x44795707, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1398 + const IID GUID_NDIS_ATM_HW_CURRENT_ADDRESS = {0x791AD1A1, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1399 + const IID GUID_NDIS_ATM_MAX_AAL0_PACKET_SIZE = {0x791AD1A5, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1400 + const IID GUID_NDIS_ATM_MAX_AAL1_PACKET_SIZE = {0x791AD1A6, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1401 + const IID GUID_NDIS_ATM_MAX_AAL34_PACKET_SIZE = {0x791AD1A7, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1402 + const IID GUID_NDIS_ATM_MAX_AAL5_PACKET_SIZE = {0x791AD191, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1403 + const IID GUID_NDIS_ATM_MAX_ACTIVE_VCI_BITS = {0x791AD1A3, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1404 + const IID GUID_NDIS_ATM_MAX_ACTIVE_VCS = {0x791AD1A2, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1405 + const IID GUID_NDIS_ATM_MAX_ACTIVE_VPI_BITS = {0x791AD1A4, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1406 + const IID GUID_NDIS_ATM_RCV_CELLS_DROPPED = {0x0A21480C, 0xE35F, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1407 + const IID GUID_NDIS_ATM_RCV_CELLS_OK = {0x0A21480A, 0xE35F, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1408 + const IID GUID_NDIS_ATM_SUPPORTED_AAL_TYPES = {0x791AD1A0, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1409 + const IID GUID_NDIS_ATM_SUPPORTED_SERVICE_CATEG = {0x791AD19F, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1410 + const IID GUID_NDIS_ATM_SUPPORTED_VC_RATES = {0x791AD19E, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1411 + const IID GUID_NDIS_ATM_XMIT_CELLS_OK = {0x0A21480B, 0xE35F, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1412 + const IID GUID_NDIS_ENUMERATE_ADAPTER = {0x981F2D7F, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1413 + const IID GUID_NDIS_ENUMERATE_VC = {0x981F2D82, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1414 + const IID GUID_NDIS_FDDI_ATTACHMENT_TYPE = {0xACF1403D, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1415 + const IID GUID_NDIS_FDDI_DOWNSTREAM_NODE_LONG = {0xACF1403F, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1416 + const IID GUID_NDIS_FDDI_FRAME_ERRORS = {0xACF14040, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1417 + const IID GUID_NDIS_FDDI_FRAMES_LOST = {0xACF14041, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1418 + const IID GUID_NDIS_FDDI_LCONNECTION_STATE = {0xACF14045, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1419 + const IID GUID_NDIS_FDDI_LCT_FAILURES = {0xACF14043, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1420 + const IID GUID_NDIS_FDDI_LEM_REJECTS = {0xACF14044, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1421 + const IID GUID_NDIS_FDDI_LONG_CURRENT_ADDR = {0xACF14036, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1422 + const IID GUID_NDIS_FDDI_LONG_MAX_LIST_SIZE = {0xACF14038, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1423 + const IID GUID_NDIS_FDDI_LONG_MULTICAST_LIST = {0xACF14037, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1424 + const IID GUID_NDIS_FDDI_LONG_PERMANENT_ADDR = {0xACF14035, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1425 + const IID GUID_NDIS_FDDI_RING_MGT_STATE = {0xACF14042, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1426 + const IID GUID_NDIS_FDDI_SHORT_CURRENT_ADDR = {0xACF1403A, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1427 + const IID GUID_NDIS_FDDI_SHORT_MAX_LIST_SIZE = {0xACF1403C, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1428 + const IID GUID_NDIS_FDDI_SHORT_MULTICAST_LIST = {0xACF1403B, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1429 + const IID GUID_NDIS_FDDI_SHORT_PERMANENT_ADDR = {0xACF14039, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1430 + const IID GUID_NDIS_FDDI_UPSTREAM_NODE_LONG = {0xACF1403E, 0xA61C, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1431 + const IID GUID_NDIS_GEN_CO_DRIVER_VERSION = {0x791AD198, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1432 + const IID GUID_NDIS_GEN_CO_HARDWARE_STATUS = {0x791AD192, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1433 + const IID GUID_NDIS_GEN_CO_LINK_SPEED = {0x791AD195, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1434 + const IID GUID_NDIS_GEN_CO_MAC_OPTIONS = {0x791AD19A, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1435 + const IID GUID_NDIS_GEN_CO_MEDIA_CONNECT_STATU = {0x791AD19B, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1436 + const IID GUID_NDIS_GEN_CO_MEDIA_IN_USE = {0x791AD194, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1437 + const IID GUID_NDIS_GEN_CO_MEDIA_SUPPORTED = {0x791AD193, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1438 + const IID GUID_NDIS_GEN_CO_MINIMUM_LINK_SPEED = {0x791AD19D, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1439 + const IID GUID_NDIS_GEN_CO_RCV_PDUS_ERROR = {0x0A214808, 0xE35F, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1440 + const IID GUID_NDIS_GEN_CO_RCV_PDUS_NO_BUFFER = {0x0A214809, 0xE35F, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1441 + const IID GUID_NDIS_GEN_CO_RCV_PDUS_OK = {0x0A214806, 0xE35F, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1442 + const IID GUID_NDIS_GEN_CO_VENDOR_DESCRIPTION = {0x791AD197, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1443 + const IID GUID_NDIS_GEN_CO_VENDOR_DRIVER_VERSI = {0x791AD19C, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1444 + const IID GUID_NDIS_GEN_CO_VENDOR_ID = {0x791AD196, 0xE35C, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1445 + const IID GUID_NDIS_GEN_CO_XMIT_PDUS_ERROR = {0x0A214807, 0xE35F, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1446 + const IID GUID_NDIS_GEN_CO_XMIT_PDUS_OK = {0x0A214805, 0xE35F, 0x11D0, [0x96, 0x92, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1447 + const IID GUID_NDIS_GEN_CURRENT_LOOKAHEAD = {0x5EC10361, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1448 + const IID GUID_NDIS_GEN_CURRENT_PACKET_FILTER = {0x5EC10360, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1449 + const IID GUID_NDIS_GEN_DRIVER_VERSION = {0x5EC10362, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1450 + const IID GUID_NDIS_GEN_HARDWARE_STATUS = {0x5EC10354, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1451 + const IID GUID_NDIS_GEN_LINK_SPEED = {0x5EC10359, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1452 + const IID GUID_NDIS_GEN_MAC_OPTIONS = {0x5EC10365, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1453 + const IID GUID_NDIS_GEN_MAXIMUM_FRAME_SIZE = {0x5EC10358, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1454 + const IID GUID_NDIS_GEN_MAXIMUM_LOOKAHEAD = {0x5EC10357, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1455 + const IID GUID_NDIS_GEN_MAXIMUM_SEND_PACKETS = {0x5EC10367, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1456 + const IID GUID_NDIS_GEN_MAXIMUM_TOTAL_SIZE = {0x5EC10363, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1457 + const IID GUID_NDIS_GEN_MEDIA_CONNECT_STATUS = {0x5EC10366, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1458 + const IID GUID_NDIS_GEN_MEDIA_IN_USE = {0x5EC10356, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1459 + const IID GUID_NDIS_GEN_MEDIA_SUPPORTED = {0x5EC10355, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1460 + const IID GUID_NDIS_GEN_PHYSICAL_MEDIUM = {0x418CA16D, 0x3937, 0x4208, [0x94, 0x0A, 0xEC, 0x61, 0x96, 0x27, 0x80, 0x85]}; 1461 + const IID GUID_NDIS_GEN_RCV_ERROR = {0x447956FD, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1462 + const IID GUID_NDIS_GEN_RCV_NO_BUFFER = {0x447956FE, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1463 + const IID GUID_NDIS_GEN_RCV_OK = {0x447956FB, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1464 + const IID GUID_NDIS_GEN_RECEIVE_BLOCK_SIZE = {0x5EC1035D, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1465 + const IID GUID_NDIS_GEN_RECEIVE_BUFFER_SPACE = {0x5EC1035B, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1466 + const IID GUID_NDIS_GEN_TRANSMIT_BLOCK_SIZE = {0x5EC1035C, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1467 + const IID GUID_NDIS_GEN_TRANSMIT_BUFFER_SPACE = {0x5EC1035A, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1468 + const IID GUID_NDIS_GEN_VENDOR_DESCRIPTION = {0x5EC1035F, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1469 + const IID GUID_NDIS_GEN_VENDOR_DRIVER_VERSION = {0x447956F9, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1470 + const IID GUID_NDIS_GEN_VENDOR_ID = {0x5EC1035E, 0xA61A, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1471 + const IID GUID_NDIS_GEN_VLAN_ID = {0x765DC702, 0xC5E8, 0x4B67, [0x84, 0x3B, 0x3F, 0x5A, 0x4F, 0xF2, 0x64, 0x8B]}; 1472 + const IID GUID_NDIS_GEN_XMIT_ERROR = {0x447956FC, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1473 + const IID GUID_NDIS_GEN_XMIT_OK = {0x447956FA, 0xA61B, 0x11D0, [0x8D, 0xD4, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1474 + const IID GUID_NDIS_LAN_CLASS = {0xAD498944, 0x762F, 0x11D0, [0x8D, 0xCB, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1475 + const IID GUID_NDIS_NOTIFY_ADAPTER_ARRIVAL = {0x981F2D81, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1476 + const IID GUID_NDIS_NOTIFY_ADAPTER_REMOVAL = {0x981F2D80, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1477 + const IID GUID_NDIS_NOTIFY_BIND = {0x5413531C, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1478 + const IID GUID_NDIS_NOTIFY_UNBIND = {0x6E3CE1EC, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1479 + const IID GUID_NDIS_NOTIFY_VC_ARRIVAL = {0x182F9E0C, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1480 + const IID GUID_NDIS_NOTIFY_VC_REMOVAL = {0x981F2D79, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1481 + const IID GUID_NDIS_STATUS_LINK_SPEED_CHANGE = {0x981F2D85, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1482 + const IID GUID_NDIS_STATUS_MEDIA_CONNECT = {0x981F2D7D, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1483 + const IID GUID_NDIS_STATUS_MEDIA_DISCONNECT = {0x981F2D7E, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1484 + const IID GUID_NDIS_STATUS_MEDIA_SPECIFIC_INDIC = {0x981F2D84, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1485 + const IID GUID_NDIS_STATUS_RESET_END = {0x981F2D77, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1486 + const IID GUID_NDIS_STATUS_RESET_START = {0x981F2D76, 0xB1F3, 0x11D0, [0x8D, 0xD7, 0x00, 0xC0, 0x4F, 0xC3, 0x35, 0x8C]}; 1487 + const IID GUID_NDIS_WAKE_ON_MAGIC_PACKET_ONLY = {0xA14F1C97, 0x8839, 0x4F8A, [0x99, 0x96, 0xA2, 0x89, 0x96, 0xEB, 0xBF, 0x1D]}; 1488 + const IID GUID_NETSHELL_PROPS = {0x2D15A9A1, 0xA556, 0x4189, [0x91, 0xAD, 0x02, 0x74, 0x58, 0xF1, 0x1A, 0x07]}; 1489 + const IID GUID_NonLocalVidMemCaps = {0x86C4FA80, 0x8D84, 0x11D0, [0x94, 0xE8, 0x00, 0xC0, 0x4F, 0xC3, 0x41, 0x37]}; 1490 + const IID GUID_NOTIFICATION_CHORD = {0xD2AC289B, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1491 + const IID GUID_NOTIFICATION_COMMAND = {0xD2AC289C, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1492 + const IID GUID_NOTIFICATION_MEASUREANDBEAT = {0xD2AC289A, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1493 + const IID GUID_NOTIFICATION_PERFORMANCE = {0x81F75BC5, 0x4E5D, 0x11D2, [0xBC, 0xC7, 0x00, 0xA0, 0xC9, 0x22, 0xE6, 0xEB]}; 1494 + const IID GUID_NOTIFICATION_SEGMENT = {0xD2AC2899, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1495 + const IID GUID_NULL = {0x00000000, 0x0000, 0x0000, [0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]}; 1496 + const IID GUID_OPTIONVALUEEXCLUSIVE = {0x6650430B, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1497 + const IID GUID_OptSurfaceKmodeInfo = {0xE05C8472, 0x51D4, 0x11D1, [0x8C, 0xCE, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 1498 + const IID GUID_OptSurfaceUmodeInfo = {0x9D792804, 0x5FA8, 0x11D1, [0x8C, 0xD0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 1499 + const IID GUID_PathProperty = {0x0002DE80, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1500 + const IID GUID_PCI_BUS_INTERFACE_STANDARD = {0x496B8281, 0x6F25, 0x11D0, [0xBE, 0xAF, 0x08, 0x00, 0x2B, 0xE2, 0x09, 0x2F]}; 1501 + const IID GUID_PCI_DEVICE_PRESENT_INTERFACE = {0xD1B82C26, 0xBF49, 0x45EF, [0xB2, 0x16, 0x71, 0xCB, 0xD7, 0x88, 0x9B, 0x57]}; 1502 + const IID GUID_PCMCIA_BUS_INTERFACE_STANDARD = {0x76173AF0, 0xC504, 0x11D1, [0x94, 0x7F, 0x00, 0xC0, 0x4F, 0xB9, 0x60, 0xEE]}; 1503 + const IID GUID_PerfAutoDownload = {0xFB09565B, 0x3631, 0x11D2, [0xBC, 0xB8, 0x00, 0xA0, 0xC9, 0x22, 0xE6, 0xEB]}; 1504 + const IID GUID_PerfMasterGrooveLevel = {0xD2AC28B2, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1505 + const IID GUID_PerfMasterTempo = {0xD2AC28B0, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1506 + const IID GUID_PerfMasterVolume = {0xD2AC28B1, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1507 + const IID GUID_PNP_CUSTOM_NOTIFICATION = {0xACA73F8E, 0x8D23, 0x11D1, [0xAC, 0x7D, 0x00, 0x00, 0xF8, 0x75, 0x71, 0xD0]}; 1508 + const IID GUID_PNP_POWER_NOTIFICATION = {0xC2CF0660, 0xEB7A, 0x11D1, [0xBD, 0x7F, 0x00, 0x00, 0xF8, 0x75, 0x71, 0xD0]}; 1509 + const IID GUID_POV = {0xA36D02F2, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1510 + const IID GUID_POWER_DEVICE_ENABLE = {0x827C0A6F, 0xFEB0, 0x11D0, [0xBD, 0x26, 0x00, 0xAA, 0x00, 0xB7, 0xB3, 0x2A]}; 1511 + const IID GUID_POWER_DEVICE_TIMEOUTS = {0xA45DA735, 0xFEB0, 0x11D0, [0xBD, 0x26, 0x00, 0xAA, 0x00, 0xB7, 0xB3, 0x2A]}; 1512 + const IID GUID_POWER_DEVICE_WAKE_ENABLE = {0xA9546A82, 0xFEB0, 0x11D0, [0xBD, 0x26, 0x00, 0xAA, 0x00, 0xB7, 0xB3, 0x2A]}; 1513 + const IID GUID_QOS_BESTEFFORT_BANDWIDTH = {0xED885290, 0x40EC, 0x11D1, [0x2C, 0x91, 0x00, 0xAA, 0x00, 0x57, 0x49, 0x15]}; 1514 + const IID GUID_QOS_ENABLE_AVG_STATS = {0xBAFB6D11, 0x27C4, 0x4801, [0xA4, 0x6F, 0xEF, 0x80, 0x80, 0xC1, 0x88, 0xC8]}; 1515 + const IID GUID_QOS_ENABLE_WINDOW_ADJUSTMENT = {0xAA966725, 0xD3E9, 0x4C55, [0xB3, 0x35, 0x2A, 0x00, 0x27, 0x9A, 0x1E, 0x64]}; 1516 + const IID GUID_QOS_FLOW_8021P_CONFORMING = {0x08C1E013, 0xFCD2, 0x11D2, [0xBE, 0x1E, 0x00, 0xA0, 0xC9, 0x9E, 0xE6, 0x3B]}; 1517 + const IID GUID_QOS_FLOW_8021P_NONCONFORMING = {0x09023F91, 0xFCD2, 0x11D2, [0xBE, 0x1E, 0x00, 0xA0, 0xC9, 0x9E, 0xE6, 0x3B]}; 1518 + const IID GUID_QOS_FLOW_COUNT = {0x1147F880, 0x40ED, 0x11D1, [0x2C, 0x91, 0x00, 0xAA, 0x00, 0x57, 0x49, 0x15]}; 1519 + const IID GUID_QOS_FLOW_IP_CONFORMING = {0x07F99A8B, 0xFCD2, 0x11D2, [0xBE, 0x1E, 0x00, 0xA0, 0xC9, 0x9E, 0xE6, 0x3B]}; 1520 + const IID GUID_QOS_FLOW_IP_NONCONFORMING = {0x087A5987, 0xFCD2, 0x11D2, [0xBE, 0x1E, 0x00, 0xA0, 0xC9, 0x9E, 0xE6, 0x3B]}; 1521 + const IID GUID_QOS_FLOW_MODE = {0x5C82290A, 0x515A, 0x11D2, [0x8E, 0x58, 0x00, 0xC0, 0x4F, 0xC9, 0xBF, 0xCB]}; 1522 + const IID GUID_QOS_ISSLOW_FLOW = {0xABF273A4, 0xEE07, 0x11D2, [0xBE, 0x1B, 0x00, 0xA0, 0xC9, 0x9E, 0xE6, 0x3B]}; 1523 + const IID GUID_QOS_LATENCY = {0xFC408EF0, 0x40EC, 0x11D1, [0x2C, 0x91, 0x00, 0xAA, 0x00, 0x57, 0x49, 0x15]}; 1524 + const IID GUID_QOS_MAX_OUTSTANDING_SENDS = {0x161FFA86, 0x6120, 0x11D1, [0x2C, 0x91, 0x00, 0xAA, 0x00, 0x57, 0x49, 0x15]}; 1525 + const IID GUID_QOS_NON_BESTEFFORT_LIMIT = {0x185C44E0, 0x40ED, 0x11D1, [0x2C, 0x91, 0x00, 0xAA, 0x00, 0x57, 0x49, 0x15]}; 1526 + const IID GUID_QOS_REMAINING_BANDWIDTH = {0xC4C51720, 0x40EC, 0x11D1, [0x2C, 0x91, 0x00, 0xAA, 0x00, 0x57, 0x49, 0x15]}; 1527 + const IID GUID_QOS_STATISTICS_BUFFER = {0xBB2C0980, 0xE900, 0x11D1, [0xB0, 0x7E, 0x00, 0x80, 0xC7, 0x13, 0x82, 0xBF]}; 1528 + const IID GUID_QOS_TIMER_RESOLUTION = {0xBA10CC88, 0xF13E, 0x11D2, [0xBE, 0x1B, 0x00, 0xA0, 0xC9, 0x9E, 0xE6, 0x3B]}; 1529 + const IID GUID_RampForce = {0x13541C21, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1530 + const IID GUID_RhythmParam = {0xD2AC289F, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1531 + const IID GUID_RxAxis = {0xA36D02F4, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1532 + const IID GUID_RyAxis = {0xA36D02F5, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1533 + const IID GUID_RzAxis = {0xA36D02E3, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1534 + const IID GUID_SawtoothDown = {0x13541C26, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1535 + const IID GUID_SawtoothUp = {0x13541C25, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1536 + const IID GUID_SeedVariations = {0x65B76FA5, 0xFF37, 0x11D2, [0x81, 0x4E, 0x00, 0xC0, 0x4F, 0xA3, 0x6E, 0x58]}; 1537 + const IID GUID_Sine = {0x13541C23, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1538 + const IID GUID_Slider = {0xA36D02E4, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1539 + const IID GUID_Spring = {0x13541C27, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1540 + const IID GUID_Square = {0x13541C22, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1541 + const IID GUID_StandardMIDIFile = {0x06621075, 0xE92E, 0x11D1, [0xA8, 0xC5, 0x00, 0xC0, 0x4F, 0xA3, 0x72, 0x6E]}; 1542 + const IID GUID_SysKeyboard = {0x6F1D2B61, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1543 + const IID GUID_SysKeyboardEm = {0x6F1D2B82, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1544 + const IID GUID_SysKeyboardEm2 = {0x6F1D2B83, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1545 + const IID GUID_SysMouse = {0x6F1D2B60, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1546 + const IID GUID_SysMouseEm = {0x6F1D2B80, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1547 + const IID GUID_SysMouseEm2 = {0x6F1D2B81, 0xD5A0, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1548 + const IID GUID_TARGET_DEVICE_QUERY_REMOVE = {0xCB3A4006, 0x46F0, 0x11D0, [0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3F]}; 1549 + const IID GUID_TARGET_DEVICE_REMOVE_CANCELLED = {0xCB3A4007, 0x46F0, 0x11D0, [0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3F]}; 1550 + const IID GUID_TARGET_DEVICE_REMOVE_COMPLETE = {0xCB3A4008, 0x46F0, 0x11D0, [0xB0, 0x8F, 0x00, 0x60, 0x97, 0x13, 0x05, 0x3F]}; 1551 + const IID GUID_TempoParam = {0xD2AC28A5, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1552 + const IID GUID_TimeSignature = {0xD2AC28A4, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1553 + const IID GUID_TRANSLATOR_INTERFACE_STANDARD = {0x6C154A92, 0xAACF, 0x11D0, [0x8D, 0x2A, 0x00, 0xA0, 0xC9, 0x06, 0xB2, 0x44]}; 1554 + const IID GUID_Triangle = {0x13541C24, 0x8E33, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 1555 + const IID GUID_TRISTATE = {0x6650430A, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1556 + const IID GUID_Unknown = {0xA36D02F3, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1557 + const IID GUID_Unload = {0xD2AC28A8, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 1558 + const IID GUID_UserModeDriverInfo = {0xF0B0E8E2, 0x5F97, 0x11D1, [0x8C, 0xD0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 1559 + const IID GUID_UserModeDriverPassword = {0x97F861B6, 0x60A1, 0x11D1, [0x8C, 0xD0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 1560 + const IID GUID_VideoPortCallbacks = {0xEFD60CC1, 0x49E7, 0x11D0, [0x88, 0x9D, 0x00, 0xAA, 0x00, 0xBB, 0xB7, 0x6A]}; 1561 + const IID GUID_VideoPortCaps = {0xEFD60CC3, 0x49E7, 0x11D0, [0x88, 0x9D, 0x00, 0xAA, 0x00, 0xBB, 0xB7, 0x6A]}; 1562 + const IID GUID_XAxis = {0xA36D02E0, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1563 + const IID GUID_XPOS = {0x66504306, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1564 + const IID GUID_XPOSPIXEL = {0x66504302, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1565 + const IID GUID_XSIZE = {0x66504308, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1566 + const IID GUID_XSIZEPIXEL = {0x66504304, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1567 + const IID GUID_YAxis = {0xA36D02E1, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1568 + const IID GUID_YPOS = {0x66504307, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1569 + const IID GUID_YPOSPIXEL = {0x66504303, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1570 + const IID GUID_YSIZE = {0x66504309, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1571 + const IID GUID_YSIZEPIXEL = {0x66504305, 0xBE0F, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 1572 + const IID GUID_ZAxis = {0xA36D02E2, 0xC9F3, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1573 + const IID GUID_ZPixelFormats = {0x93869880, 0x36CF, 0x11D1, [0x9B, 0x1B, 0x00, 0xAA, 0x00, 0xBB, 0xB8, 0xAE]}; 1574 + const IID IID_AsyncIAdviseSink = {0x00000150, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1575 + const IID IID_AsyncIAdviseSink2 = {0x00000151, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1576 + const IID IID_AsyncIBackgroundCopyCallback = {0xCA29D251, 0xB4BB, 0x4679, [0xA3, 0xD9, 0xAE, 0x80, 0x06, 0x11, 0x9D, 0x54]}; 1577 + const IID IID_AsyncIClusCfgBaseCluster = {0xA8A5C614, 0x2518, 0x47F5, [0x96, 0xCA, 0xCA, 0xFA, 0x7F, 0xFB, 0xAF, 0x68]}; 1578 + const IID IID_AsyncIClusCfgCallback = {0xEBCE8945, 0xAC69, 0x4B3A, [0x86, 0x5D, 0xE2, 0xD4, 0xEB, 0x33, 0xE4, 0x1B]}; 1579 + const IID IID_AsyncIClusCfgClusterInfo = {0x8BDBA247, 0x04F5, 0x4114, [0x83, 0x7E, 0xB2, 0x63, 0x41, 0x2A, 0x4B, 0x64]}; 1580 + const IID IID_AsyncIClusCfgCredentials = {0x54AA9406, 0xA409, 0x4B49, [0xB3, 0x14, 0x5F, 0x0A, 0x0C, 0xE4, 0xC8, 0x8F]}; 1581 + const IID IID_AsyncIClusCfgEvictCleanup = {0x6FE3E362, 0xD373, 0x4C5F, [0xA0, 0xAF, 0x1D, 0xFE, 0x84, 0x93, 0xC6, 0x55]}; 1582 + const IID IID_AsyncIClusCfgInitialize = {0x2A0EB82E, 0xF878, 0x492A, [0x95, 0x1E, 0xAE, 0x00, 0x09, 0x18, 0xC4, 0xA6]}; 1583 + const IID IID_AsyncIClusCfgIPAddressInfo = {0xAAEAF0A5, 0xE310, 0x4604, [0xA5, 0x5E, 0x2F, 0x9D, 0xDC, 0x41, 0x57, 0xA9]}; 1584 + const IID IID_AsyncIClusCfgManagedResourceInfo = {0x73616028, 0x1243, 0x4749, [0xAD, 0x84, 0x0B, 0x5E, 0xB3, 0x58, 0xFF, 0xA0]}; 1585 + const IID IID_AsyncIClusCfgMemberSetChangeListe = {0x2B645350, 0x2643, 0x4ABC, [0xA4, 0xE5, 0x82, 0x4D, 0x88, 0x1B, 0x75, 0x82]}; 1586 + const IID IID_AsyncIClusCfgNetworkInfo = {0xED71FD2D, 0xAD02, 0x4DFC, [0xB3, 0x76, 0x5F, 0xFA, 0x5F, 0x5A, 0x7C, 0x2C]}; 1587 + const IID IID_AsyncIClusCfgNodeInfo = {0x4F3BB40B, 0xDF27, 0x40A0, [0xB3, 0x1A, 0xBA, 0x18, 0x32, 0x4C, 0xEB, 0x9D]}; 1588 + const IID IID_AsyncIClusCfgPartitionInfo = {0xEC1EBD9F, 0x5866, 0x4846, [0x89, 0x52, 0xEC, 0x36, 0xC3, 0x96, 0x1E, 0xEF]}; 1589 + const IID IID_AsyncIClusCfgResourceTypeCreate = {0x3AFCE3B9, 0x5F3E, 0x4DDF, [0xA8, 0xF4, 0x4B, 0x4F, 0xCB, 0xF2, 0x8F, 0x8F]}; 1590 + const IID IID_AsyncIClusCfgResourceTypeInfo = {0xC649A282, 0xC847, 0x4F5C, [0x98, 0x41, 0xD2, 0xF7, 0x3B, 0x5A, 0xA7, 0x1D]}; 1591 + const IID IID_AsyncIClusCfgServer = {0x2A1640AA, 0x4561, 0x4A08, [0xB5, 0xD9, 0x0A, 0xA3, 0x8C, 0x6B, 0xE6, 0x28]}; 1592 + const IID IID_AsyncIClusCfgStartupListener = {0xD282CAF0, 0x2EDE, 0x4AB9, [0xA5, 0xD5, 0xF7, 0xBD, 0xE3, 0xD2, 0x3F, 0x10]}; 1593 + const IID IID_AsyncIClusCfgStartupNotify = {0xC2B0D06A, 0x6353, 0x4EE1, [0xB2, 0x53, 0x6B, 0x0D, 0x75, 0xDB, 0x2C, 0xD3]}; 1594 + const IID IID_AsyncIEnumClusCfgIPAddresses = {0xBD5F35BA, 0x0BC0, 0x455F, [0x92, 0x6D, 0xC3, 0xD3, 0x56, 0x41, 0x94, 0x87]}; 1595 + const IID IID_AsyncIEnumClusCfgManagedResource = {0xB138483F, 0x9695, 0x4FA6, [0xA9, 0x8F, 0x0D, 0xE2, 0xFB, 0x35, 0x54, 0x49]}; 1596 + const IID IID_AsyncIEnumClusCfgNetworks = {0xF56B9B0D, 0xE7B8, 0x49EC, [0xA8, 0x43, 0x54, 0x75, 0x07, 0x6B, 0x94, 0x7D]}; 1597 + const IID IID_AsyncIEnumClusCfgPartitions = {0x4440BB6A, 0xB0AC, 0x479D, [0xB5, 0x34, 0x72, 0x65, 0xA3, 0x1D, 0x6C, 0x56]}; 1598 + const IID IID_AsyncIMultiQI = {0x000E0020, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1599 + const IID IID_AsyncIPipeByte = {0xDB2F3ACB, 0x2F86, 0x11D1, [0x8E, 0x04, 0x00, 0xC0, 0x4F, 0xB9, 0x98, 0x9A]}; 1600 + const IID IID_AsyncIPipeDouble = {0xDB2F3ACF, 0x2F86, 0x11D1, [0x8E, 0x04, 0x00, 0xC0, 0x4F, 0xB9, 0x98, 0x9A]}; 1601 + const IID IID_AsyncIPipeLong = {0xDB2F3ACD, 0x2F86, 0x11D1, [0x8E, 0x04, 0x00, 0xC0, 0x4F, 0xB9, 0x98, 0x9A]}; 1602 + const IID IID_AsyncIUnknown = {0x000E0000, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1603 + const IID IID_DFConstraint = {0x4A3DF050, 0x23BD, 0x11D2, [0x93, 0x9F, 0x00, 0xA0, 0xC9, 0x1E, 0xED, 0xBA]}; 1604 + const IID IID_DIEnumWbemClassObject = {0xCB7CA037, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 1605 + const IID IID_DIWbemCallResult = {0xCB7CA039, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 1606 + const IID IID_DIWbemClassObject = {0xCB7CA033, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 1607 + const IID IID_DIWbemContext = {0xCB7CA038, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 1608 + const IID IID_DIWbemLocator = {0xCB7CA035, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 1609 + const IID IID_DIWbemObjectSink = {0xCB7CA036, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 1610 + const IID IID_DIWbemQualifierSet = {0xCB7CA034, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 1611 + const IID IID_DIWbemServices = {0xCB7CA03A, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 1612 + const IID IID_Folder = {0xBBCBDE60, 0xC3FF, 0x11CE, [0x83, 0x50, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1613 + const IID IID_Folder2 = {0xF0D2D8EF, 0x3890, 0x11D2, [0xBF, 0x8B, 0x00, 0xC0, 0x4F, 0xB9, 0x36, 0x61]}; 1614 + const IID IID_Folder3 = {0xA7AE5F64, 0xC4D7, 0x4D7F, [0x93, 0x07, 0x4D, 0x24, 0xEE, 0x54, 0xB8, 0x41]}; 1615 + const IID IID_FolderItem = {0xFAC32C80, 0xCBE4, 0x11CE, [0x83, 0x50, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1616 + const IID IID_FolderItem2 = {0xEDC817AA, 0x92B8, 0x11D1, [0xB0, 0x75, 0x00, 0xC0, 0x4F, 0xC3, 0x3A, 0xA5]}; 1617 + const IID IID_FolderItems = {0x744129E0, 0xCBE5, 0x11CE, [0x83, 0x50, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 1618 + const IID IID_FolderItems2 = {0xC94F0AD0, 0xF363, 0x11D2, [0xA3, 0x27, 0x00, 0xC0, 0x4F, 0x8E, 0xEC, 0x7F]}; 1619 + const IID IID_FolderItems3 = {0xEAA7C309, 0xBBEC, 0x49D5, [0x82, 0x1D, 0x64, 0xD9, 0x66, 0xCB, 0x66, 0x7F]}; 1620 + const IID IID_FolderItemVerb = {0x08EC3E00, 0x50B0, 0x11CF, [0x96, 0x0C, 0x00, 0x80, 0xC7, 0xF4, 0xEE, 0x85]}; 1621 + const IID IID_FolderItemVerbs = {0x1F8352C0, 0x50B0, 0x11CF, [0x96, 0x0C, 0x00, 0x80, 0xC7, 0xF4, 0xEE, 0x85]}; 1622 + const IID IID_IAccessControl = {0xEEDD23E0, 0x8410, 0x11CE, [0xA1, 0xC3, 0x08, 0x00, 0x2B, 0x2B, 0x8D, 0x8F]}; 1623 + const IID IID_IAccessible = {0x618736E0, 0x3C3D, 0x11CF, [0x81, 0x0C, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71]}; 1624 + const IID IID_IAccessibleHandler = {0x03022430, 0xABC4, 0x11D0, [0xBD, 0xE2, 0x00, 0xAA, 0x00, 0x1A, 0x19, 0x53]}; 1625 + const IID IID_IAccessor = {0x0C733A8C, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1626 + const IID IID_IAccIdentity = {0x7852B78D, 0x1CFD, 0x41C1, [0xA6, 0x15, 0x9C, 0x0C, 0x85, 0x96, 0x0B, 0x5F]}; 1627 + const IID IID_IAccountDiscovery = {0xFA202BBC, 0x6ABE, 0x4C17, [0xB1, 0x84, 0x57, 0x0B, 0x6C, 0xF2, 0x56, 0xA6]}; 1628 + const IID IID_IAccPropServer = {0x76C0DBBB, 0x15E0, 0x4E7B, [0xB6, 0x1B, 0x20, 0xEE, 0xEA, 0x20, 0x01, 0xE0]}; 1629 + const IID IID_IAccPropServices = {0x6E26E776, 0x04F0, 0x495D, [0x80, 0xE4, 0x33, 0x30, 0x35, 0x2E, 0x31, 0x69]}; 1630 + const IID IID_IACList = {0x77A130B0, 0x94FD, 0x11D0, [0xA5, 0x44, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62]}; 1631 + const IID IID_IACList2 = {0x470141A0, 0x5186, 0x11D2, [0xBB, 0xB6, 0x00, 0x60, 0x97, 0x7B, 0x46, 0x4C]}; 1632 + const IID IID_IActionProgress = {0x49FF1173, 0xEADC, 0x446D, [0x92, 0x85, 0x15, 0x64, 0x53, 0xA6, 0x43, 0x1C]}; 1633 + const IID IID_IActionProgressDialog = {0x49FF1172, 0xEADC, 0x446D, [0x92, 0x85, 0x15, 0x64, 0x53, 0xA6, 0x43, 0x1C]}; 1634 + const IID IID_IActiveDesktop = {0xF490EB00, 0x1240, 0x11D1, [0x98, 0x88, 0x00, 0x60, 0x97, 0xDE, 0xAC, 0xF9]}; 1635 + const IID IID_IActiveIME = {0x6FE20962, 0xD077, 0x11D0, [0x8F, 0xE7, 0x00, 0xAA, 0x00, 0x6B, 0xCC, 0x59]}; 1636 + const IID IID_IActiveIME2 = {0xE1C4BF0E, 0x2D53, 0x11D2, [0x93, 0xE1, 0x00, 0x60, 0xB0, 0x67, 0xB8, 0x6E]}; 1637 + const IID IID_IActiveIMMApp = {0x08C0E040, 0x62D1, 0x11D1, [0x93, 0x26, 0x00, 0x60, 0xB0, 0x67, 0xB8, 0x6E]}; 1638 + const IID IID_IActiveIMMIME = {0x08C03411, 0xF96B, 0x11D0, [0xA4, 0x75, 0x00, 0xAA, 0x00, 0x6B, 0xCC, 0x59]}; 1639 + const IID IID_IActiveIMMMessagePumpOwner = {0xB5CF2CFA, 0x8AEB, 0x11D1, [0x93, 0x64, 0x00, 0x60, 0xB0, 0x67, 0xB8, 0x6E]}; 1640 + const IID IID_IActiveIMMRegistrar = {0xB3458082, 0xBD00, 0x11D1, [0x93, 0x9B, 0x00, 0x60, 0xB0, 0x67, 0xB8, 0x6E]}; 1641 + const IID IID_IActiveScript = {0xBB1A2AE1, 0xA4F9, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 1642 + const IID IID_IActiveScriptAuthor = {0x9C109DA0, 0x7006, 0x11D1, [0xB3, 0x6C, 0x00, 0xA0, 0xC9, 0x11, 0xE8, 0xB2]}; 1643 + const IID IID_IActiveScriptAuthorProcedure = {0x7E2D4B70, 0xBD9A, 0x11D0, [0x93, 0x36, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 1644 + const IID IID_IActiveScriptDebug = {0x51973C10, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 1645 + const IID IID_IActiveScriptDebug32 = {0x51973C10, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 1646 + const IID IID_IActiveScriptDebug64 = {0xBC437E23, 0xF5B8, 0x47F4, [0xBB, 0x79, 0x7D, 0x1C, 0xE5, 0x48, 0x3B, 0x86]}; 1647 + const IID IID_IActiveScriptEncode = {0xBB1A2AE3, 0xA4F9, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 1648 + const IID IID_IActiveScriptError = {0xEAE1BA61, 0xA4ED, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 1649 + const IID IID_IActiveScriptError64 = {0xB21FB2A1, 0x5B8F, 0x4963, [0x8C, 0x21, 0x21, 0x45, 0x0F, 0x84, 0xED, 0x7F]}; 1650 + const IID IID_IActiveScriptErrorDebug = {0x51973C12, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 1651 + const IID IID_IActiveScriptGarbageCollector = {0x6AA2C4A0, 0x2B53, 0x11D4, [0xA2, 0xA0, 0x00, 0x10, 0x4B, 0xD3, 0x50, 0x90]}; 1652 + const IID IID_IActiveScriptHostEncode = {0xBEE9B76E, 0xCFE3, 0x11D1, [0xB7, 0x47, 0x00, 0xC0, 0x4F, 0xC2, 0xB0, 0x85]}; 1653 + const IID IID_IActiveScriptParse = {0xBB1A2AE2, 0xA4F9, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 1654 + const IID IID_IActiveScriptParse32 = {0xBB1A2AE2, 0xA4F9, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 1655 + const IID IID_IActiveScriptParse64 = {0xC7EF7658, 0xE1EE, 0x480E, [0x97, 0xEA, 0xD5, 0x2C, 0xB4, 0xD7, 0x6D, 0x17]}; 1656 + const IID IID_IActiveScriptParseProcedure = {0xAA5B6A80, 0xB834, 0x11D0, [0x93, 0x2F, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 1657 + const IID IID_IActiveScriptParseProcedure2_32 = {0x71EE5B20, 0xFB04, 0x11D1, [0xB3, 0xA8, 0x00, 0xA0, 0xC9, 0x11, 0xE8, 0xB2]}; 1658 + const IID IID_IActiveScriptParseProcedure2_64 = {0xFE7C4271, 0x210C, 0x448D, [0x9F, 0x54, 0x76, 0xDA, 0xB7, 0x04, 0x7B, 0x28]}; 1659 + const IID IID_IActiveScriptParseProcedure32 = {0xAA5B6A80, 0xB834, 0x11D0, [0x93, 0x2F, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 1660 + const IID IID_IActiveScriptParseProcedure64 = {0xC64713B6, 0xE029, 0x4CC5, [0x92, 0x00, 0x43, 0x8B, 0x72, 0x89, 0x0B, 0x6A]}; 1661 + const IID IID_IActiveScriptParseProcedureOld = {0x1CFF0050, 0x6FDD, 0x11D0, [0x93, 0x28, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 1662 + const IID IID_IActiveScriptParseProcedureOld32 = {0x1CFF0050, 0x6FDD, 0x11D0, [0x93, 0x28, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 1663 + const IID IID_IActiveScriptParseProcedureOld64 = {0x21F57128, 0x08C9, 0x4638, [0xBA, 0x12, 0x22, 0xD1, 0x5D, 0x88, 0xDC, 0x5C]}; 1664 + const IID IID_IActiveScriptProperty = {0x4954E0D0, 0xFBC7, 0x11D1, [0x84, 0x10, 0x00, 0x60, 0x08, 0xC3, 0xFB, 0xFC]}; 1665 + const IID IID_IActiveScriptSIPInfo = {0x764651D0, 0x38DE, 0x11D4, [0xA2, 0xA3, 0x00, 0x10, 0x4B, 0xD3, 0x50, 0x90]}; 1666 + const IID IID_IActiveScriptSite = {0xDB01A1E3, 0xA42B, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 1667 + const IID IID_IActiveScriptSiteDebug32 = {0x51973C11, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 1668 + const IID IID_IActiveScriptSiteDebug64 = {0xD6B96B0A, 0x7463, 0x402C, [0x92, 0xAC, 0x89, 0x98, 0x42, 0x26, 0x94, 0x2F]}; 1669 + const IID IID_IActiveScriptSiteInterruptPoll = {0x539698A0, 0xCDCA, 0x11CF, [0xA5, 0xEB, 0x00, 0xAA, 0x00, 0x47, 0xA0, 0x63]}; 1670 + const IID IID_IActiveScriptSiteWindow = {0xD10F6761, 0x83E9, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 1671 + const IID IID_IActiveScriptStats = {0xB8DA6310, 0xE19B, 0x11D0, [0x93, 0x3C, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 1672 + const IID IID_IActiveXSafetyProvider = {0x69FF5101, 0xFC63, 0x11D0, [0x97, 0xEB, 0x00, 0xAA, 0x00, 0x61, 0x53, 0x33]}; 1673 + const IID IID_IAdapterInfo = {0x480BF94A, 0x09FD, 0x4F8A, [0xA3, 0xE0, 0xB0, 0x70, 0x02, 0x82, 0xD8, 0x4D]}; 1674 + const IID IID_IAdapterNotificationSink = {0x44AB2DC3, 0x23B2, 0x47DE, [0x82, 0x28, 0x2E, 0x1C, 0xCE, 0xEB, 0x99, 0x11]}; 1675 + const IID IID_IAddEvents = {0xD710A6AE, 0x3371, 0x11D1, [0xBE, 0x5B, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0xBB]}; 1676 + const IID IID_IAddressBarParser = {0xC9D81948, 0x443A, 0x40C7, [0x94, 0x5C, 0x5E, 0x17, 0x1B, 0x8C, 0x66, 0xB4]}; 1677 + const IID IID_IAddrExclusionControl = {0x00000148, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1678 + const IID IID_IAddrTrackingControl = {0x00000147, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1679 + const IID IID_IADs = {0xFD8256D0, 0xFD15, 0x11CE, [0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53]}; 1680 + const IID IID_IADsAccessControlEntry = {0xB4F3A14C, 0x9BDD, 0x11D0, [0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1681 + const IID IID_IADsAccessControlList = {0xB7EE91CC, 0x9BDD, 0x11D0, [0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1682 + const IID IID_IADsAcePrivate = {0xFD145DF2, 0xFD96, 0x4135, [0x9B, 0x22, 0x68, 0xFF, 0x0F, 0x6B, 0xF5, 0xBB]}; 1683 + const IID IID_IADsAcl = {0x8452D3AB, 0x0869, 0x11D1, [0xA3, 0x77, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1684 + const IID IID_IADsADSystemInfo = {0x5BB11929, 0xAFD1, 0x11D2, [0x9C, 0xB9, 0x00, 0x00, 0xF8, 0x7A, 0x36, 0x9E]}; 1685 + const IID IID_IADsBackLink = {0xFD1302BD, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1686 + const IID IID_IADsCaseIgnoreList = {0x7B66B533, 0x4680, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1687 + const IID IID_IADsClass = {0xC8F93DD0, 0x4AE0, 0x11CF, [0x9E, 0x73, 0x00, 0xAA, 0x00, 0x4A, 0x56, 0x91]}; 1688 + const IID IID_IADsCollection = {0x72B945E0, 0x253B, 0x11CF, [0xA9, 0x88, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1689 + const IID IID_IADsComputer = {0xEFE3CC70, 0x1D9F, 0x11CF, [0xB1, 0xF3, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53]}; 1690 + const IID IID_IADsComputerOperations = {0xEF497680, 0x1D9F, 0x11CF, [0xB1, 0xF3, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53]}; 1691 + const IID IID_IADsContainer = {0x001677D0, 0xFD16, 0x11CE, [0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53]}; 1692 + const IID IID_IADsDeleteOps = {0xB2BD0902, 0x8878, 0x11D1, [0x8C, 0x21, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1693 + const IID IID_IADsDNWithBinary = {0x7E99C0A2, 0xF935, 0x11D2, [0xBA, 0x96, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1]}; 1694 + const IID IID_IADsDNWithString = {0x370DF02E, 0xF934, 0x11D2, [0xBA, 0x96, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1]}; 1695 + const IID IID_IADsDomain = {0x00E4C220, 0xFD16, 0x11CE, [0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53]}; 1696 + const IID IID_IADsEmail = {0x97AF011A, 0x478E, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1697 + const IID IID_IADsExtension = {0x3D35553C, 0xD2B0, 0x11D1, [0xB1, 0x7B, 0x00, 0x00, 0xF8, 0x75, 0x93, 0xA0]}; 1698 + const IID IID_IADsFaxNumber = {0xA910DEA9, 0x4680, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1699 + const IID IID_IADsFileService = {0xA89D1900, 0x31CA, 0x11CF, [0xA9, 0x8A, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1700 + const IID IID_IADsFileServiceOperations = {0xA02DED10, 0x31CA, 0x11CF, [0xA9, 0x8A, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1701 + const IID IID_IADsFileShare = {0xEB6DCAF0, 0x4B83, 0x11CF, [0xA9, 0x95, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1702 + const IID IID_IADsGroup = {0x27636B00, 0x410F, 0x11CF, [0xB1, 0xFF, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53]}; 1703 + const IID IID_IADsHold = {0xB3EB3B37, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1704 + const IID IID_IADsLargeInteger = {0x9068270B, 0x0939, 0x11D1, [0x8B, 0xE1, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1705 + const IID IID_IADsLocality = {0xA05E03A2, 0xEFFE, 0x11CF, [0x8A, 0xBC, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1706 + const IID IID_IADsMembers = {0x451A0030, 0x72EC, 0x11CF, [0xB0, 0x3B, 0x00, 0xAA, 0x00, 0x6E, 0x09, 0x75]}; 1707 + const IID IID_IADsNamespaces = {0x28B96BA0, 0xB330, 0x11CF, [0xA9, 0xAD, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1708 + const IID IID_IADsNameTranslate = {0xB1B272A3, 0x3625, 0x11D1, [0xA3, 0xA4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1709 + const IID IID_IADsNetAddress = {0xB21A50A9, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1710 + const IID IID_IADsO = {0xA1CD2DC6, 0xEFFE, 0x11CF, [0x8A, 0xBC, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1711 + const IID IID_IADsObjectOptions = {0x46F14FDA, 0x232B, 0x11D1, [0xA8, 0x08, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8]}; 1712 + const IID IID_IADsObjOptPrivate = {0x81CBB829, 0x1867, 0x11D2, [0x92, 0x20, 0x00, 0xC0, 0x4F, 0xB6, 0xD0, 0xD1]}; 1713 + const IID IID_IADsOctetList = {0x7B28B80F, 0x4680, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1714 + const IID IID_IADsOpenDSObject = {0xDDF2891E, 0x0F9C, 0x11D0, [0x8A, 0xD4, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1715 + const IID IID_IADsOU = {0xA2F733B8, 0xEFFE, 0x11CF, [0x8A, 0xBC, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1716 + const IID IID_IADsPath = {0xB287FCD5, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1717 + const IID IID_IADsPathname = {0xD592AED4, 0xF420, 0x11D0, [0xA3, 0x6E, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1718 + const IID IID_IADsPathnameProvider = {0xAACD1D30, 0x8BD0, 0x11D2, [0x92, 0xA9, 0x00, 0xC0, 0x4F, 0x79, 0xF8, 0x34]}; 1719 + const IID IID_IADsPostalAddress = {0x7ADECF29, 0x4680, 0x11D1, [0xA3, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1720 + const IID IID_IADsPrintJob = {0x32FB6780, 0x1ED0, 0x11CF, [0xA9, 0x88, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1721 + const IID IID_IADsPrintJobOperations = {0x9A52DB30, 0x1ECF, 0x11CF, [0xA9, 0x88, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1722 + const IID IID_IADsPrintQueue = {0xB15160D0, 0x1226, 0x11CF, [0xA9, 0x85, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1723 + const IID IID_IADsPrintQueueOperations = {0x124BE5C0, 0x156E, 0x11CF, [0xA9, 0x86, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1724 + const IID IID_IADsProperty = {0xC8F93DD3, 0x4AE0, 0x11CF, [0x9E, 0x73, 0x00, 0xAA, 0x00, 0x4A, 0x56, 0x91]}; 1725 + const IID IID_IADsPropertyEntry = {0x05792C8E, 0x941F, 0x11D0, [0x85, 0x29, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1726 + const IID IID_IADsPropertyList = {0xC6F602B6, 0x8F69, 0x11D0, [0x85, 0x28, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1727 + const IID IID_IADsPropertyValue = {0x79FA9AD0, 0xA97C, 0x11D0, [0x85, 0x34, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1728 + const IID IID_IADsPropertyValue2 = {0x306E831C, 0x5BC7, 0x11D1, [0xA3, 0xB8, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1729 + const IID IID_IADsReplicaPointer = {0xF60FB803, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1730 + const IID IID_IADsResource = {0x34A05B20, 0x4AAB, 0x11CF, [0xAE, 0x2C, 0x00, 0xAA, 0x00, 0x6E, 0xBF, 0xB9]}; 1731 + const IID IID_IADsSearch = {0xC69F7780, 0x4008, 0x11D0, [0xB9, 0x4C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8]}; 1732 + const IID IID_IADsSecurityDescriptor = {0xB8C787CA, 0x9BDD, 0x11D0, [0x85, 0x2C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1733 + const IID IID_IADsSecurityUtility = {0xA63251B2, 0x5F21, 0x474B, [0xAB, 0x52, 0x4A, 0x8E, 0xFA, 0xD1, 0x08, 0x95]}; 1734 + const IID IID_IADsService = {0x68AF66E0, 0x31CA, 0x11CF, [0xA9, 0x8A, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1735 + const IID IID_IADsServiceOperations = {0x5D7B33F0, 0x31CA, 0x11CF, [0xA9, 0x8A, 0x00, 0xAA, 0x00, 0x6B, 0xC1, 0x49]}; 1736 + const IID IID_IADsSession = {0x398B7DA0, 0x4AAB, 0x11CF, [0xAE, 0x2C, 0x00, 0xAA, 0x00, 0x6E, 0xBF, 0xB9]}; 1737 + const IID IID_IADsSyntax = {0xC8F93DD2, 0x4AE0, 0x11CF, [0x9E, 0x73, 0x00, 0xAA, 0x00, 0x4A, 0x56, 0x91]}; 1738 + const IID IID_IADsTimestamp = {0xB2F5A901, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1739 + const IID IID_IADsTypedName = {0xB371A349, 0x4080, 0x11D1, [0xA3, 0xAC, 0x00, 0xC0, 0x4F, 0xB9, 0x50, 0xDC]}; 1740 + const IID IID_IADsUmiHelperPrivate = {0x4FE243F0, 0xAD89, 0x4CBC, [0x9B, 0x14, 0x48, 0x61, 0x26, 0x44, 0x6A, 0xE0]}; 1741 + const IID IID_IADsUser = {0x3E37E320, 0x17E2, 0x11CF, [0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53]}; 1742 + const IID IID_IADsValue = {0x1E3EF0AA, 0xAEF5, 0x11D0, [0x85, 0x37, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 1743 + const IID IID_IADsWinNTSystemInfo = {0x6C6D65DC, 0xAFD1, 0x11D2, [0x9C, 0xB9, 0x00, 0x00, 0xF8, 0x7A, 0x36, 0x9E]}; 1744 + const IID IID_IAdviseSink = {0x0000010F, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1745 + const IID IID_IAdviseSink2 = {0x00000125, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1746 + const IID IID_IAdviseSinkEx = {0x3AF24290, 0x0C96, 0x11CE, [0xA0, 0xCF, 0x00, 0xAA, 0x00, 0x60, 0x0A, 0xB8]}; 1747 + const IID IID_IAlertReport = {0x4E81DFE8, 0x4CA0, 0x101A, [0x82, 0x06, 0x08, 0x00, 0x2B, 0x2F, 0xC0, 0x9B]}; 1748 + const IID IID_IAlertTarget = {0x589B61C0, 0x54E6, 0x11CE, [0x94, 0xDD, 0x00, 0xAA, 0x00, 0x51, 0xE4, 0x0F]}; 1749 + const IID IID_IAlgSetup = {0xA779AF1A, 0x009A, 0x4C44, [0xB9, 0xF0, 0x8F, 0x0F, 0x4C, 0xF2, 0xAE, 0x49]}; 1750 + const IID IID_IAlterIndex = {0x0C733AA6, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1751 + const IID IID_IAlterTable = {0x0C733AA5, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1752 + const IID IID_IAnchorClick = {0x13D5413B, 0x33B9, 0x11D2, [0x95, 0xA7, 0x00, 0xC0, 0x4F, 0x8E, 0xCB, 0x02]}; 1753 + const IID IID_IAnimationComposer = {0x5459C83D, 0x322B, 0x44B3, [0x8D, 0xAA, 0x24, 0xC9, 0x47, 0xE7, 0xB2, 0x75]}; 1754 + const IID IID_IAnimationComposer2 = {0x1A4F0E79, 0x09CD, 0x47F3, [0xAF, 0xF1, 0x48, 0x3B, 0xF3, 0xA2, 0x22, 0xDC]}; 1755 + const IID IID_IAnimationComposerFactory = {0xBEEB3233, 0xF71F, 0x4683, [0x8B, 0x05, 0x9A, 0x53, 0x14, 0xC9, 0x7D, 0xBC]}; 1756 + const IID IID_IAnimationComposerSite = {0x488FCB56, 0x8FD6, 0x4CDA, [0xA0, 0x6A, 0x5B, 0xB2, 0x32, 0x93, 0x0E, 0xCA]}; 1757 + const IID IID_IAnimationComposerSiteFactory = {0xB4EA5681, 0xED72, 0x4EFE, [0xBB, 0xD7, 0x7C, 0x47, 0xD1, 0x32, 0x56, 0x96]}; 1758 + const IID IID_IAnimationComposerSiteSink = {0x8EF76C64, 0x71CD, 0x480F, [0x96, 0xFC, 0xBA, 0x26, 0x96, 0xE6, 0x59, 0xBE]}; 1759 + const IID IID_IAnimationFragment = {0x319DFD88, 0x0AC6, 0x4AB1, [0xA1, 0x9F, 0x90, 0x22, 0x3B, 0xA2, 0xDA, 0x16]}; 1760 + const IID IID_IAnimationRoot = {0x29DF6387, 0x30B4, 0x4A62, [0x89, 0x1B, 0xA9, 0xC5, 0xBE, 0x37, 0xBE, 0x88]}; 1761 + const IID IID_IApplicationDebugger = {0x51973C2A, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 1762 + const IID IID_IApplicationDebuggerUI = {0x51973C2B, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 1763 + const IID IID_IApplicationGateway = {0x5134842B, 0xFDCE, 0x485D, [0x93, 0xCD, 0xDE, 0x16, 0x40, 0x64, 0x3B, 0xBE]}; 1764 + const IID IID_IApplicationGatewayServices = {0x5134842A, 0xFDCE, 0x485D, [0x93, 0xCD, 0xDE, 0x16, 0x40, 0x64, 0x3B, 0xBE]}; 1765 + const IID IID_IAppPublisher = {0x07250A10, 0x9CF9, 0x11D1, [0x90, 0x76, 0x00, 0x60, 0x08, 0x05, 0x93, 0x82]}; 1766 + const IID IID_IAsyncBindCtx = {0x79EAC9D4, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1767 + const IID IID_IAsyncManager = {0x0000002A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1768 + const IID IID_IAsyncMoniker = {0x79EAC9D3, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1769 + const IID IID_IAsyncOperation = {0x3D8B0590, 0xF691, 0x11D2, [0x8E, 0xA9, 0x00, 0x60, 0x97, 0xDF, 0x5B, 0xD4]}; 1770 + const IID IID_IAsyncRpcChannelBuffer = {0xA5029FB6, 0x3C34, 0x11D1, [0x9C, 0x99, 0x00, 0xC0, 0x4F, 0xB9, 0x98, 0xAA]}; 1771 + const IID IID_IAttributesRaw = {0x6BC096A8, 0x0CE6, 0x11D1, [0xBA, 0xAE, 0x00, 0xC0, 0x4F, 0xC2, 0xE2, 0x0D]}; 1772 + const IID IID_IAuditControl = {0x1DA6292F, 0xBC66, 0x11CE, [0xAA, 0xE3, 0x00, 0xAA, 0x00, 0x4C, 0x27, 0x37]}; 1773 + const IID IID_IAuthenticate = {0x79EAC9D0, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1774 + const IID IID_IAutoComplete = {0x00BB2762, 0x6A77, 0x11D0, [0xA5, 0x35, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62]}; 1775 + const IID IID_IAutoComplete2 = {0xEAC04BC0, 0x3791, 0x11D2, [0xBB, 0x95, 0x00, 0x60, 0x97, 0x7B, 0x46, 0x4C]}; 1776 + const IID IID_IAutoCompleteDropDown = {0x3CD141F4, 0x3C6A, 0x11D2, [0xBC, 0xAA, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 1777 + const IID IID_IAutoCompList = {0x00BB2760, 0x6A77, 0x11D0, [0xA5, 0x35, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62]}; 1778 + const IID IID_IAutoDiscoveryProvider = {0x9DCF4A37, 0x01DE, 0x4549, [0xA9, 0xCB, 0x3A, 0xC3, 0x1E, 0xC2, 0x3C, 0x4F]}; 1779 + const IID IID_IBackgroundCopyCallback = {0x97EA99C7, 0x0186, 0x4AD4, [0x8D, 0xF9, 0xC5, 0xB4, 0xE0, 0xED, 0x6B, 0x22]}; 1780 + const IID IID_IBackgroundCopyCallback1 = {0x084F6593, 0x3800, 0x4E08, [0x9B, 0x59, 0x99, 0xFA, 0x59, 0xAD, 0xDF, 0x82]}; 1781 + const IID IID_IBackgroundCopyError = {0x19C613A0, 0xFCB8, 0x4F28, [0x81, 0xAE, 0x89, 0x7C, 0x3D, 0x07, 0x8F, 0x81]}; 1782 + const IID IID_IBackgroundCopyFile = {0x01B7BD23, 0xFB88, 0x4A77, [0x84, 0x90, 0x58, 0x91, 0xD3, 0xE4, 0x65, 0x3A]}; 1783 + const IID IID_IBackgroundCopyGroup = {0x1DED80A7, 0x53EA, 0x424F, [0x8A, 0x04, 0x17, 0xFE, 0xA9, 0xAD, 0xC4, 0xF5]}; 1784 + const IID IID_IBackgroundCopyJob = {0x37668D37, 0x507E, 0x4160, [0x93, 0x16, 0x26, 0x30, 0x6D, 0x15, 0x0B, 0x12]}; 1785 + const IID IID_IBackgroundCopyJob1 = {0x59F5553C, 0x2031, 0x4629, [0xBB, 0x18, 0x26, 0x45, 0xA6, 0x97, 0x09, 0x47]}; 1786 + const IID IID_IBackgroundCopyJob2 = {0x54B50739, 0x686F, 0x45EB, [0x9D, 0xFF, 0xD6, 0xA9, 0xA0, 0xFA, 0xA9, 0xAF]}; 1787 + const IID IID_IBackgroundCopyManager = {0x5CE34C0D, 0x0DC9, 0x4C1F, [0x89, 0x7C, 0xDA, 0xA1, 0xB7, 0x8C, 0xEE, 0x7C]}; 1788 + const IID IID_IBackgroundCopyQMgr = {0x16F41C69, 0x09F5, 0x41D2, [0x8C, 0xD8, 0x3C, 0x08, 0xC4, 0x7B, 0xC8, 0xA8]}; 1789 + const IID IID_IBidiRequestSpl = {0x9C007000, 0xFFA8, 0x44FF, [0xB2, 0xB3, 0xAE, 0x91, 0x02, 0xC7, 0x4D, 0x4C]}; 1790 + const IID IID_IBindCtx = {0x0000000E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1791 + const IID IID_IBindEventHandler = {0x63CDBCB0, 0xC1B1, 0x11D0, [0x93, 0x36, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 1792 + const IID IID_IBindHost = {0xFC4801A1, 0x2BA9, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 1793 + const IID IID_IBinding = {0x79EAC9C0, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1794 + const IID IID_IBindProtocol = {0x79EAC9CD, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1795 + const IID IID_IBindResource = {0x0C733AB1, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1796 + const IID IID_IBindStatusCallback = {0x79EAC9C1, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1797 + const IID IID_IBindStatusCallbackHolder = {0x79EAC9CC, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1798 + const IID IID_IBindStatusCallbackMsg = {0x79EAC9D5, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1799 + const IID IID_IBitsTest1 = {0x51A183DB, 0x67E0, 0x4472, [0x86, 0x02, 0x3D, 0xBC, 0x73, 0x0B, 0x7E, 0xF5]}; 1800 + const IID IID_IBlockFormats = {0x3050F830, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1801 + const IID IID_IBlockingLock = {0x30F3D47A, 0x6447, 0x11D1, [0x8E, 0x3C, 0x00, 0xC0, 0x4F, 0xB9, 0x38, 0x6D]}; 1802 + const IID IID_IBoundObject = {0x9BFBBC00, 0xEFF1, 0x101A, [0x84, 0xED, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 1803 + const IID IID_IBoundObjectSite = {0x9BFBBC01, 0xEFF1, 0x101A, [0x84, 0xED, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 1804 + const IID IID_IBriefcaseStg = {0x8BCE1FA1, 0x0921, 0x101B, [0xB1, 0xFF, 0x00, 0xDD, 0x01, 0x0C, 0xCC, 0x48]}; 1805 + const IID IID_IBurnEngine = {0x520CCA66, 0x51A5, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 1806 + const IID IID_ICallFactory = {0x1C733A30, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1807 + const IID IID_ICallFrame = {0xD573B4B0, 0x894E, 0x11D2, [0xB8, 0xB6, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A]}; 1808 + const IID IID_ICallFrameEvents = {0xFD5E0843, 0xFC91, 0x11D0, [0x97, 0xD7, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A]}; 1809 + const IID IID_ICallFrameWalker = {0x08B23919, 0x392D, 0x11D2, [0xB8, 0xA4, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A]}; 1810 + const IID IID_ICallIndirect = {0xD573B4B1, 0x894E, 0x11D2, [0xB8, 0xB6, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A]}; 1811 + const IID IID_ICallInterceptor = {0x60C7CA75, 0x896D, 0x11D2, [0xB8, 0xB6, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A]}; 1812 + const IID IID_ICallUnmarshal = {0x5333B003, 0x2E42, 0x11D2, [0xB8, 0x9D, 0x00, 0xC0, 0x4F, 0xB9, 0x61, 0x8A]}; 1813 + const IID IID_ICancelMethodCalls = {0x00000029, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1814 + const IID IID_ICatalogFileInfo = {0x711C7600, 0x6B48, 0x11D1, [0xB4, 0x03, 0x00, 0xAA, 0x00, 0xB9, 0x2A, 0xF1]}; 1815 + const IID IID_ICategorizer = {0xA3B14589, 0x9174, 0x49A8, [0x89, 0xA3, 0x06, 0xA1, 0xAE, 0x2B, 0x9B, 0xA7]}; 1816 + const IID IID_ICategoryProvider = {0x9AF64809, 0x5864, 0x4C26, [0xA7, 0x20, 0xC1, 0xF7, 0x8C, 0x08, 0x6E, 0xE3]}; 1817 + const IID IID_ICatInformation = {0x0002E013, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1818 + const IID IID_ICatRegister = {0x0002E012, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1819 + const IID IID_ICDBurn = {0x3D73A659, 0xE5D0, 0x4D42, [0xAF, 0xC0, 0x51, 0x21, 0xBA, 0x42, 0x5C, 0x8D]}; 1820 + const IID IID_ICEnroll = {0x43F8F288, 0x7A20, 0x11D0, [0x8F, 0x06, 0x00, 0xC0, 0x4F, 0xC2, 0x95, 0xE1]}; 1821 + const IID IID_ICEnroll2 = {0x704CA730, 0xC90B, 0x11D1, [0x9B, 0xEC, 0x00, 0xC0, 0x4F, 0xC2, 0x95, 0xE1]}; 1822 + const IID IID_ICEnroll3 = {0xC28C2D95, 0xB7DE, 0x11D2, [0xA4, 0x21, 0x00, 0xC0, 0x4F, 0x79, 0xFE, 0x8E]}; 1823 + const IID IID_ICEnroll4 = {0xC1F1188A, 0x2EB5, 0x4A80, [0x84, 0x1B, 0x7E, 0x72, 0x9A, 0x35, 0x6D, 0x90]}; 1824 + const IID IID_IChannelHook = {0x1008C4A0, 0x7613, 0x11CF, [0x9A, 0xF1, 0x00, 0x20, 0xAF, 0x6E, 0x72, 0xF4]}; 1825 + const IID IID_IChannelMgr = {0x85BD8E82, 0x0FBA, 0x11D1, [0x90, 0xC3, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x68]}; 1826 + const IID IID_IChapteredRowset = {0x0C733A93, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1827 + const IID IID_ICheckBox = {0x3050F685, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1828 + const IID IID_ICiAdmin = {0xAE67C7D8, 0x85D3, 0x11D0, [0x8C, 0x45, 0x00, 0xC0, 0x4F, 0xC2, 0xDB, 0x8D]}; 1829 + const IID IID_ICiAdminParams = {0xA82D48C6, 0x3F0F, 0x11D0, [0x8C, 0x91, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1830 + const IID IID_ICiCAdviseStatus = {0xCA05734A, 0x1218, 0x11D3, [0xAE, 0x7A, 0x00, 0xC0, 0x4F, 0x72, 0xF8, 0x31]}; 1831 + const IID IID_ICiCDeferredPropRetriever = {0xC273AF70, 0x6D72, 0x11D0, [0x8D, 0x64, 0x00, 0xA0, 0xC9, 0x08, 0xDB, 0xF1]}; 1832 + const IID IID_ICiCDocName = {0x76615076, 0x3C2B, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1833 + const IID IID_ICiCDocNameToWorkidTranslator = {0x25FC3F54, 0x3CB4, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1834 + const IID IID_ICiCDocNameToWorkidTranslatorEx = {0x7BBA76E6, 0xA0E3, 0x11D2, [0xBC, 0x5D, 0x00, 0xC0, 0x4F, 0xA3, 0x54, 0xBA]}; 1835 + const IID IID_ICiCDocStore = {0x46625468, 0x3C32, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1836 + const IID IID_ICiCDocStoreEx = {0xF98282A7, 0xFA72, 0x11D1, [0x97, 0x98, 0x00, 0xC0, 0x4F, 0xC2, 0xF4, 0x10]}; 1837 + const IID IID_ICiCDocStoreLocator = {0x97EE7C06, 0x5908, 0x11D0, [0x8C, 0x9B, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1838 + const IID IID_ICiCEventLogItem = {0x44CC886A, 0x4314, 0x11D0, [0x8C, 0x91, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1839 + const IID IID_ICiCFilterClient = {0xA1E0BCB6, 0x3C24, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1840 + const IID IID_ICiCFilterStatus = {0xBC5F3D60, 0x8BBC, 0x11D1, [0x8F, 0x73, 0x00, 0xA0, 0xC9, 0x19, 0x17, 0xF5]}; 1841 + const IID IID_ICiCIndexNotificationStatus = {0x5FFF3840, 0x8E76, 0x11D0, [0x8D, 0x69, 0x00, 0xA0, 0xC9, 0x08, 0xDB, 0xF1]}; 1842 + const IID IID_ICiCLangRes = {0x914C2E6C, 0x43FE, 0x11D0, [0x8C, 0x91, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1843 + const IID IID_ICiControl = {0x63DEB7F4, 0x3CCB, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1844 + const IID IID_ICiCOpenedDoc = {0x151EDFBE, 0x3C2F, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1845 + const IID IID_ICiCPropertyStorage = {0x4C46225A, 0x3CB5, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1846 + const IID IID_ICiCPropRetriever = {0x77D9B2DA, 0x4401, 0x11D0, [0x8C, 0x91, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1847 + const IID IID_ICiCQueryNotification = {0x0A9E9F6C, 0x3CE2, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1848 + const IID IID_ICiCQuerySession = {0xAE461FD6, 0x4E1D, 0x11D0, [0x8C, 0x94, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1849 + const IID IID_ICiCResourceMonitor = {0xF700FF8E, 0x20EE, 0x11D2, [0x80, 0xF7, 0x00, 0xC0, 0x4F, 0xA3, 0x54, 0xBA]}; 1850 + const IID IID_ICiCScope = {0x1021C882, 0x3CC0, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1851 + const IID IID_ICiCScopeChecker = {0x7D820C9C, 0x3CBC, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1852 + const IID IID_ICiCScopeEnumerator = {0xCF8505EA, 0x3CCA, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1853 + const IID IID_ICiCSecurityChecker = {0xCA130CF4, 0x3CC2, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1854 + const IID IID_ICiCUserSecurity = {0x5D01D9CE, 0x3CC2, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1855 + const IID IID_ICiDocChangeNotifySink = {0x8BFA1386, 0x3CE5, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1856 + const IID IID_ICiEnumWorkids = {0x77900150, 0xA09C, 0x11D0, [0xA8, 0x0D, 0x00, 0xA0, 0xC9, 0x06, 0x24, 0x1A]}; 1857 + const IID IID_ICiFrameworkQuery = {0xAE67C7D9, 0x85D3, 0x11D0, [0x8C, 0x45, 0x00, 0xC0, 0x4F, 0xC2, 0xDB, 0x8D]}; 1858 + const IID IID_ICiIndexNotification = {0x4F2CD6E0, 0x8E74, 0x11D0, [0x8D, 0x69, 0x00, 0xA0, 0xC9, 0x08, 0xDB, 0xF1]}; 1859 + const IID IID_ICiIndexNotificationEntry = {0x210769D0, 0x8E75, 0x11D0, [0x8D, 0x69, 0x00, 0xA0, 0xC9, 0x08, 0xDB, 0xF1]}; 1860 + const IID IID_ICiISearchCreator = {0x7DC07FA0, 0x902E, 0x11D0, [0xA8, 0x0C, 0x00, 0xA0, 0xC9, 0x06, 0x24, 0x1A]}; 1861 + const IID IID_ICiManager = {0xCF0FCF56, 0x3CCE, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1862 + const IID IID_ICiPersistIncrFile = {0x31B311E2, 0x4498, 0x11D0, [0x8C, 0x91, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1863 + const IID IID_ICiQueryPropertyMapper = {0xD2333EB0, 0x756B, 0x11D0, [0x8D, 0x66, 0x00, 0xA0, 0xC9, 0x08, 0xDB, 0xF1]}; 1864 + const IID IID_ICiStartup = {0x68232CB8, 0x3CCC, 0x11D0, [0x8C, 0x90, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 1865 + const IID IID_IClassActivator = {0x00000140, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1866 + const IID IID_IClassFactory = {0x00000001, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1867 + const IID IID_IClassFactory2 = {0xB196B28F, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 1868 + const IID IID_IClassFactoryEx = {0x342D1EA0, 0xAE25, 0x11D1, [0x89, 0xC5, 0x00, 0x60, 0x08, 0xC3, 0xFB, 0xFC]}; 1869 + const IID IID_IClientCaps = {0x7E8BC44D, 0xAEFF, 0x11D1, [0x89, 0xC2, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4]}; 1870 + const IID IID_IClientSecurity = {0x0000013D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1871 + const IID IID_IClusCfgAsyncEvictCleanup = {0x52C80B95, 0xC1AD, 0x4240, [0x8D, 0x89, 0x72, 0xE9, 0xFA, 0x84, 0x02, 0x5E]}; 1872 + const IID IID_IClusCfgBaseCluster = {0xA8A5C613, 0x2518, 0x47F5, [0x96, 0xCA, 0xCA, 0xFA, 0x7F, 0xFB, 0xAF, 0x68]}; 1873 + const IID IID_IClusCfgCallback = {0x238DCA63, 0xE2EF, 0x4F32, [0xA2, 0x4D, 0xAC, 0xBF, 0x97, 0x5B, 0xE8, 0x42]}; 1874 + const IID IID_IClusCfgCapabilities = {0xD94AB253, 0x36C7, 0x41C1, [0xB5, 0x2E, 0x26, 0xB4, 0x51, 0x97, 0x5C, 0x8D]}; 1875 + const IID IID_IClusCfgClusterConnection = {0xCE6EF90C, 0x3602, 0x41E7, [0x95, 0xBD, 0xAA, 0xFD, 0x37, 0xA6, 0x76, 0xDF]}; 1876 + const IID IID_IClusCfgClusterInfo = {0x85B4BBC0, 0xDDC4, 0x4AE7, [0x82, 0x68, 0xF4, 0x85, 0x0B, 0xB2, 0xA6, 0xEE]}; 1877 + const IID IID_IClusCfgCredentials = {0x54AA9406, 0xA409, 0x4B49, [0xB3, 0x14, 0x5F, 0x0A, 0x0C, 0xE4, 0xC8, 0x8E]}; 1878 + const IID IID_IClusCfgEvictCleanup = {0x6FE3E361, 0xD373, 0x4C5F, [0xA0, 0xAF, 0x1D, 0xFE, 0x84, 0x93, 0xC6, 0x55]}; 1879 + const IID IID_IClusCfgGroupCfg = {0xDCB6D3D2, 0xA55F, 0x49E5, [0xA6, 0x4A, 0x0C, 0xCF, 0xEB, 0x01, 0xED, 0x3A]}; 1880 + const IID IID_IClusCfgInitialize = {0x2A0EB82D, 0xF878, 0x492A, [0x95, 0x1E, 0xAE, 0x00, 0x09, 0x18, 0xC4, 0xA6]}; 1881 + const IID IID_IClusCfgIPAddressInfo = {0xAAEAF0A5, 0xE310, 0x4604, [0xA5, 0x5E, 0x2F, 0x9D, 0xDC, 0x41, 0x57, 0xA8]}; 1882 + const IID IID_IClusCfgManagedResourceCfg = {0x60300A0F, 0x77E1, 0x440C, [0xBD, 0x94, 0x6B, 0xFB, 0x0D, 0xBF, 0xDB, 0x3A]}; 1883 + const IID IID_IClusCfgManagedResourceInfo = {0xE0324847, 0x1520, 0x41B0, [0xB9, 0x60, 0x54, 0x19, 0x8D, 0xA5, 0xF8, 0xAF]}; 1884 + const IID IID_IClusCfgMemberSetChangeListener = {0x2B64534F, 0x2643, 0x4ABC, [0xA4, 0xE5, 0x82, 0x4D, 0x88, 0x1B, 0x75, 0x82]}; 1885 + const IID IID_IClusCfgNetworkInfo = {0x19FC7580, 0x950A, 0x44A6, [0x96, 0x6E, 0x74, 0xB1, 0x4B, 0x20, 0x91, 0x8F]}; 1886 + const IID IID_IClusCfgNodeInfo = {0xE4B5FA15, 0xDD07, 0x439E, [0xA6, 0x23, 0x88, 0x23, 0x52, 0x4E, 0x3D, 0x19]}; 1887 + const IID IID_IClusCfgPartitionInfo = {0xEC1EBD9F, 0x5866, 0x4846, [0x89, 0x52, 0xEC, 0x36, 0xC3, 0x96, 0x1E, 0xEE]}; 1888 + const IID IID_IClusCfgPollingCallback = {0xC72DB1FD, 0x51A2, 0x43E6, [0xB7, 0x08, 0xD9, 0xDB, 0x7D, 0xA7, 0x96, 0x30]}; 1889 + const IID IID_IClusCfgPollingCallbackInfo = {0x2AF55DA7, 0xCB6F, 0x40DE, [0xBB, 0x11, 0x66, 0x73, 0x46, 0x4B, 0x2C, 0x54]}; 1890 + const IID IID_IClusCfgResourceCreate = {0x0647B41A, 0xC777, 0x443C, [0x94, 0x32, 0x02, 0xCC, 0xCF, 0x4F, 0xF4, 0x43]}; 1891 + const IID IID_IClusCfgResourcePostCreate = {0x72A9BF54, 0x13B6, 0x451F, [0x91, 0x0D, 0x69, 0x13, 0xEB, 0xF0, 0x25, 0xAB]}; 1892 + const IID IID_IClusCfgResourcePreCreate = {0x4240F6A1, 0x9D49, 0x427E, [0x8F, 0x3D, 0x09, 0x38, 0x4E, 0x1F, 0x59, 0xE4]}; 1893 + const IID IID_IClusCfgResourceTypeCreate = {0x3AFCE3B8, 0x5F3E, 0x4DDF, [0xA8, 0xF4, 0x4B, 0x4F, 0xCB, 0xF2, 0x8F, 0x8F]}; 1894 + const IID IID_IClusCfgResourceTypeInfo = {0xC649A281, 0xC847, 0x4F5C, [0x98, 0x41, 0xD2, 0xF7, 0x3B, 0x5A, 0xA7, 0x1D]}; 1895 + const IID IID_IClusCfgResTypeServicesInitializ = {0x6E109698, 0xDFC4, 0x4471, [0xAC, 0xE1, 0x04, 0x14, 0x93, 0x1B, 0x3B, 0xB3]}; 1896 + const IID IID_IClusCfgServer = {0x4C06EAE6, 0x990E, 0x4051, [0x8A, 0xA1, 0xAD, 0x4B, 0x4E, 0xAE, 0x9C, 0xAF]}; 1897 + const IID IID_IClusCfgSetCredentials = {0x58E6E5B9, 0x4788, 0x4D9A, [0x82, 0x55, 0x1E, 0x27, 0x4E, 0x5D, 0xCC, 0xB0]}; 1898 + const IID IID_IClusCfgStartupListener = {0xD282CAEF, 0x2EDE, 0x4AB9, [0xA5, 0xD5, 0xF7, 0xBD, 0xE3, 0xD2, 0x3F, 0x0F]}; 1899 + const IID IID_IClusCfgStartupNotify = {0xC2B0D069, 0x6353, 0x4EE1, [0xB2, 0x53, 0x6B, 0x0D, 0x75, 0xDB, 0x2C, 0xD3]}; 1900 + const IID IID_IClusCfgVerify = {0xD47BBEEC, 0x2286, 0x4514, [0xAA, 0x90, 0x7E, 0x88, 0xBD, 0x0F, 0xE5, 0x43]}; 1901 + const IID IID_IClusCfgWizard = {0x2EB57A3B, 0xDA8D, 0x4B56, [0x97, 0xCF, 0xA3, 0x19, 0x1B, 0xF8, 0xFD, 0x5B]}; 1902 + const IID IID_IClusterApplicationWizard = {0x24F97151, 0x6689, 0x11D1, [0x9A, 0xA7, 0x00, 0xC0, 0x4F, 0xB9, 0x3A, 0x80]}; 1903 + const IID IID_ICodeInstall = {0x79EAC9D1, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 1904 + const IID IID_IColumnMapper = {0x0B63E37A, 0x9CCC, 0x11D0, [0xBC, 0xDB, 0x00, 0x80, 0x5F, 0xCC, 0xCE, 0x04]}; 1905 + const IID IID_IColumnMapperCreator = {0x0B63E37B, 0x9CCC, 0x11D0, [0xBC, 0xDB, 0x00, 0x80, 0x5F, 0xCC, 0xCE, 0x04]}; 1906 + const IID IID_IColumnProvider = {0xE8025004, 0x1C42, 0x11D2, [0xBE, 0x2C, 0x00, 0xA0, 0xC9, 0xA8, 0x3D, 0xA1]}; 1907 + const IID IID_IColumnsInfo = {0x0C733A11, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1908 + const IID IID_IColumnsInfo2 = {0x0C733AB8, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1909 + const IID IID_IColumnsRowset = {0x0C733A10, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1910 + const IID IID_ICombobox = {0x3050F677, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1911 + const IID IID_ICommand = {0x0C733A63, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1912 + const IID IID_ICommandCost = {0x0C733A4E, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1913 + const IID IID_ICommandPersist = {0x0C733AA7, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1914 + const IID IID_ICommandPrepare = {0x0C733A26, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1915 + const IID IID_ICommandProperties = {0x0C733A79, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1916 + const IID IID_ICommandStream = {0x0C733ABF, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1917 + const IID IID_ICommandText = {0x0C733A27, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1918 + const IID IID_ICommandTree = {0x0C733A87, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1919 + const IID IID_ICommandValidate = {0x0C733A18, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1920 + const IID IID_ICommandWithParameters = {0x0C733A64, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1921 + const IID IID_ICommDlgBrowser = {0x000214F1, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1922 + const IID IID_ICommDlgBrowser2 = {0x10339516, 0x2894, 0x11D2, [0x90, 0x39, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x3E]}; 1923 + const IID IID_ICommonQuery = {0xAB50DEC0, 0x6F1D, 0x11D0, [0xA1, 0xC4, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 1924 + const IID IID_IComThreadingInfo = {0x000001CE, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1925 + const IID IID_IConfigurationConnection = {0xDDAD8191, 0x66C5, 0x4A30, [0xA4, 0xDF, 0xCB, 0x6C, 0x21, 0x67, 0x04, 0xCA]}; 1926 + const IID IID_IConnectionInfo = {0x15182CE3, 0x82D7, 0x473F, [0x92, 0xDE, 0x70, 0x6E, 0x2B, 0xCE, 0xA9, 0x02]}; 1927 + const IID IID_IConnectionManager = {0xC0017768, 0x1BF3, 0x4352, [0x8D, 0x6C, 0x3A, 0x8C, 0x1D, 0x0F, 0xB4, 0x77]}; 1928 + const IID IID_IConnectionPoint = {0xB196B286, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 1929 + const IID IID_IConnectionPointContainer = {0xB196B284, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 1930 + const IID IID_IContextCallback = {0x000001DA, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1931 + const IID IID_IContextMenu = {0x000214E4, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1932 + const IID IID_IContextMenu2 = {0x000214F4, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1933 + const IID IID_IContextMenu3 = {0xBCFCE0A0, 0xEC17, 0x11D0, [0x8D, 0x10, 0x00, 0xA0, 0xC9, 0x0F, 0x27, 0x19]}; 1934 + const IID IID_IContinue = {0x0000012A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1935 + const IID IID_IContinueCallback = {0xB722BCCA, 0x4E68, 0x101B, [0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70]}; 1936 + const IID IID_IConvertType = {0x0C733A88, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1937 + const IID IID_ICrBarn = {0x276A2EE0, 0x0B5D, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1938 + const IID IID_ICrBarn2 = {0xB66A7A1B, 0x8FC6, 0x448C, [0xA2, 0xEB, 0x3C, 0x55, 0x95, 0x74, 0x78, 0xA1]}; 1939 + const IID IID_ICrBlinds = {0x5AF5C340, 0x0BA9, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1940 + const IID IID_ICrBlinds2 = {0x7059D403, 0x599A, 0x4264, [0x81, 0x40, 0x64, 0x1E, 0xB8, 0xAE, 0x1F, 0x64]}; 1941 + const IID IID_ICrBlur = {0x9F7C7827, 0xE87A, 0x11D1, [0x81, 0xE0, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 1942 + const IID IID_ICreateErrorInfo = {0x22F03340, 0x547D, 0x101B, [0x8E, 0x65, 0x08, 0x00, 0x2B, 0x2B, 0xD1, 0x19]}; 1943 + const IID IID_ICreateRow = {0x0C733AB2, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 1944 + const IID IID_ICreateTypeInfo = {0x00020405, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1945 + const IID IID_ICreateTypeInfo2 = {0x0002040E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1946 + const IID IID_ICreateTypeLib = {0x00020406, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1947 + const IID IID_ICreateTypeLib2 = {0x0002040F, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 1948 + const IID IID_ICrEmboss = {0xE4ACFB80, 0x053E, 0x11D2, [0x81, 0xEA, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 1949 + const IID IID_ICrEngrave = {0xE4ACFB7F, 0x053E, 0x11D2, [0x81, 0xEA, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 1950 + const IID IID_ICrInset = {0x05C5EE20, 0x0BA6, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1951 + const IID IID_ICrIris = {0x3F69F350, 0x0379, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1952 + const IID IID_ICrIris2 = {0xF7B06961, 0xBA8C, 0x4970, [0x91, 0x8B, 0x1C, 0x60, 0xCB, 0x9F, 0xF1, 0x80]}; 1953 + const IID IID_ICrRadialWipe = {0x424B71AE, 0x0695, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1954 + const IID IID_ICrSlide = {0x810E402E, 0x056B, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1955 + const IID IID_ICrSpiral = {0x0DE527A0, 0x0C7E, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1956 + const IID IID_ICrStretch = {0x6684AF00, 0x0A87, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1957 + const IID IID_ICrWheel = {0x3943DE80, 0x1464, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1958 + const IID IID_ICrZigzag = {0x4E5A64A0, 0x0C8B, 0x11D2, [0xA4, 0x84, 0x00, 0xC0, 0x4F, 0x8E, 0xFB, 0x69]}; 1959 + const IID IID_ICSSFilter = {0x3050F3EC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1960 + const IID IID_ICSSFilterDispatch = {0x9519152B, 0x9484, 0x4A6C, [0xB6, 0xA7, 0x4F, 0x25, 0xE9, 0x2D, 0x6C, 0x6B]}; 1961 + const IID IID_ICSSFilterSite = {0x3050F3ED, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1962 + const IID IID_ICurrentWorkingDirectory = {0x91956D21, 0x9276, 0x11D1, [0x92, 0x1A, 0x00, 0x60, 0x97, 0xDF, 0x5B, 0xD4]}; 1963 + const IID IID_ICursor = {0x9F6AA700, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 1964 + const IID IID_ICursorFind = {0xE01D7850, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 1965 + const IID IID_ICursorMove = {0xACFF0690, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 1966 + const IID IID_ICursorScroll = {0xBB87E420, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 1967 + const IID IID_ICursorUpdateARow = {0xD14216A0, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 1968 + const IID IID_ICustomDoc = {0x3050F3F0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 1969 + const IID IID_ICustomRatingHelper = {0xD0D9842D, 0xE211, 0x4B2C, [0x88, 0xDC, 0xBC, 0x72, 0x93, 0x42, 0xDF, 0xCB]}; 1970 + const IID IID_IDA2Array = {0x2A8F0B06, 0xBE2B, 0x11D1, [0xB2, 0x19, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 1971 + const IID IID_IDA2Behavior = {0xC46C1BF0, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1972 + const IID IID_IDA2Event = {0x69B5BC70, 0x9B19, 0x11D0, [0x9B, 0x60, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 1973 + const IID IID_IDA2FontStyle = {0x283807B5, 0x2C60, 0x11D0, [0xA3, 0x1D, 0x00, 0xAA, 0x00, 0xB9, 0x2C, 0x03]}; 1974 + const IID IID_IDA2Geometry = {0x4A933702, 0xE36F, 0x11D0, [0x9B, 0x99, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 1975 + const IID IID_IDA2Image = {0x45393DF0, 0x54B9, 0x11CF, [0x92, 0xA2, 0x00, 0xAA, 0x00, 0xB8, 0xA7, 0x33]}; 1976 + const IID IID_IDA2LineStyle = {0x2AE71568, 0x4B34, 0x11D1, [0xB1, 0xE3, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 1977 + const IID IID_IDA2Statics = {0xD17506C2, 0x6B26, 0x11D0, [0x89, 0x14, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 1978 + const IID IID_IDA2View = {0x5F00F545, 0xDF18, 0x11D1, [0xAB, 0x6F, 0x00, 0xC0, 0x4F, 0xD9, 0x2B, 0x6B]}; 1979 + const IID IID_IDA2ViewerControl = {0xC46C1BEF, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1980 + const IID IID_IDA2ViewerControlWindowed = {0xC46C1BED, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1981 + const IID IID_IDAArray = {0xFA261CF0, 0xC44E, 0x11D1, [0x9B, 0xE4, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 1982 + const IID IID_IDABbox2 = {0xBA8B033E, 0x1E91, 0x11D1, [0x88, 0x09, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 1983 + const IID IID_IDABbox3 = {0x0E41257B, 0x812D, 0x11D0, [0x9B, 0x4A, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 1984 + const IID IID_IDABehavior = {0x5DFB2651, 0x9668, 0x11D0, [0xB1, 0x7B, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 1985 + const IID IID_IDABoolean = {0xC46C1BDA, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1986 + const IID IID_IDABvrHook = {0x50B4791F, 0x4731, 0x11D0, [0x89, 0x12, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 1987 + const IID IID_IDACamera = {0xC46C1BCA, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1988 + const IID IID_IDAColor = {0xC46C1BDC, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1989 + const IID IID_IDADashStyle = {0xF3E1B522, 0xD8A6, 0x11D1, [0x9B, 0xE5, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 1990 + const IID IID_IDADrawingSurface = {0xC46C1BF4, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1991 + const IID IID_IDADXTransformResult = {0xAF868305, 0xAB0B, 0x11D0, [0x87, 0x6A, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 1992 + const IID IID_IDAEndStyle = {0xB6FFC24C, 0x7E13, 0x11D0, [0x9B, 0x47, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 1993 + const IID IID_IDAEvent = {0xC46C1BCE, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1994 + const IID IID_IDAFontStyle = {0xC46C1BC1, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1995 + const IID IID_IDAGeometry = {0xC46C1BCC, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1996 + const IID IID_IDAImage = {0xC46C1BC4, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1997 + const IID IID_IDAImport = {0xC46C1BEE, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 1998 + const IID IID_IDAImportationResult = {0xB90E5258, 0x574A, 0x11D1, [0x8E, 0x7B, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 1999 + const IID IID_IDAJoinStyle = {0xA3034056, 0xEC1C, 0x11D1, [0x9B, 0xE8, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 2000 + const IID IID_IDALineStyle = {0x69AD90EF, 0x1C20, 0x11D1, [0x88, 0x01, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 2001 + const IID IID_IDAMatte = {0xC46C1BE4, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2002 + const IID IID_IDAMicrophone = {0xC46C1BD8, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2003 + const IID IID_IDAModifiableBehavior = {0xC46C1BEC, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2004 + const IID IID_IDAMontage = {0xC46C1BC8, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2005 + const IID IID_IDANumber = {0xD17506C3, 0x6B26, 0x11D0, [0x89, 0x14, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 2006 + const IID IID_IDAPair = {0x542FB453, 0x5003, 0x11CF, [0x92, 0xA2, 0x00, 0xAA, 0x00, 0xB8, 0xA7, 0x33]}; 2007 + const IID IID_IDAPath2 = {0xC46C1BD0, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2008 + const IID IID_IDAPickableResult = {0xC46C1BDE, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2009 + const IID IID_IDAPoint2 = {0x9CDE7341, 0x3C20, 0x11D0, [0xA3, 0x30, 0x00, 0xAA, 0x00, 0xB9, 0x2C, 0x03]}; 2010 + const IID IID_IDAPoint3 = {0xC46C1BD6, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2011 + const IID IID_IDAPreferences = {0xB90E525A, 0x574A, 0x11D1, [0x8E, 0x7B, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 2012 + const IID IID_IDASite = {0xB90E5259, 0x574A, 0x11D1, [0x8E, 0x7B, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 2013 + const IID IID_IDASound = {0xC46C1BE6, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2014 + const IID IID_IDAStatics = {0x5DFB2650, 0x9668, 0x11D0, [0xB1, 0x7B, 0x00, 0xC0, 0x4F, 0xC2, 0xA0, 0xCA]}; 2015 + const IID IID_IDAString = {0xC46C1BD2, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2016 + const IID IID_IDataAdviseHolder = {0x00000110, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2017 + const IID IID_IDataChannel = {0xAD42D12A, 0x4AD0, 0x4856, [0x91, 0x9E, 0xE8, 0x54, 0xC9, 0x1D, 0x18, 0x56]}; 2018 + const IID IID_IDataConvert = {0x0C733A8D, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2019 + const IID IID_IDataFilter = {0x69D14C80, 0xC18E, 0x11D0, [0xA9, 0xCE, 0x00, 0x60, 0x97, 0x94, 0x23, 0x11]}; 2020 + const IID IID_IDataObject = {0x0000010E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2021 + const IID IID_IDATransform2 = {0xC46C1BD4, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2022 + const IID IID_IDATransform3 = {0xC46C1BE0, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2023 + const IID IID_IDATuple = {0x542FB452, 0x5003, 0x11CF, [0x92, 0xA2, 0x00, 0xAA, 0x00, 0xB8, 0xA7, 0x33]}; 2024 + const IID IID_IDAUntilNotifier = {0x25B0F91C, 0xD23D, 0x11D0, [0x9B, 0x85, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 2025 + const IID IID_IDAUserData = {0xBACD4D86, 0x4A4F, 0x11D1, [0x9B, 0xC8, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 2026 + const IID IID_IDAVector2 = {0xC46C1BC6, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2027 + const IID IID_IDAVector3 = {0xC46C1BE2, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2028 + const IID IID_IDAView = {0xAF868304, 0xAB0B, 0x11D0, [0x87, 0x6A, 0x00, 0xC0, 0x4F, 0xC2, 0x9D, 0x46]}; 2029 + const IID IID_IDAViewerControl = {0xC46C1BDD, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2030 + const IID IID_IDAViewerControlWindowed = {0xC46C1BCD, 0x3C52, 0x11D0, [0x92, 0x00, 0x84, 0x8C, 0x1D, 0x00, 0x00, 0x00]}; 2031 + const IID IID_IDAViewSite = {0xBCBB1F75, 0xE384, 0x11D0, [0x9B, 0x99, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 2032 + const IID IID_IDBAsynchNotify = {0x0C733A96, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2033 + const IID IID_IDBAsynchStatus = {0x0C733A95, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2034 + const IID IID_IDBBinderProperties = {0x0C733AB3, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2035 + const IID IID_IDBCreateCommand = {0x0C733A1D, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2036 + const IID IID_IDBCreateSession = {0x0C733A5D, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2037 + const IID IID_IDBDataSourceAdmin = {0x0C733A7A, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2038 + const IID IID_IDBInfo = {0x0C733A89, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2039 + const IID IID_IDBInitialize = {0x0C733A8B, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2040 + const IID IID_IDBProperties = {0x0C733A8A, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2041 + const IID IID_IDBSchemaCommand = {0x0C733A50, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2042 + const IID IID_IDBSchemaRowset = {0x0C733A7B, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2043 + const IID IID_IDCInfo = {0x0C733A9C, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2044 + const IID IID_IDDVideoAcceleratorContainer = {0xACA12120, 0x3356, 0x11D1, [0x8F, 0xCF, 0x00, 0xC0, 0x4F, 0xC2, 0x9B, 0x4E]}; 2045 + const IID IID_IDDVideoPortContainer = {0x6C142760, 0xA733, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2046 + const IID IID_IDebug = {0x00000123, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2047 + const IID IID_IDebugApplication = {0x51973C32, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2048 + const IID IID_IDebugApplication32 = {0x51973C32, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2049 + const IID IID_IDebugApplication64 = {0x4DEDC754, 0x04C7, 0x4F10, [0x9E, 0x60, 0x16, 0xA3, 0x90, 0xFE, 0x6E, 0x62]}; 2050 + const IID IID_IDebugApplicationEx = {0x51973C00, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2051 + const IID IID_IDebugApplicationNode = {0x51973C34, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2052 + const IID IID_IDebugApplicationNodeEvents = {0x51973C35, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2053 + const IID IID_IDebugApplicationThread = {0x51973C38, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2054 + const IID IID_IDebugApplicationThread64 = {0x9DAC5886, 0xDBAD, 0x456D, [0x9D, 0xEE, 0x5D, 0xEC, 0x39, 0xAB, 0x3D, 0xDA]}; 2055 + const IID IID_IDebugAsyncOperation = {0x51973C1B, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2056 + const IID IID_IDebugAsyncOperationCallBack = {0x51973C1C, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2057 + const IID IID_IDebugCodeContext = {0x51973C13, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2058 + const IID IID_IDebugCookie = {0x51973C39, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2059 + const IID IID_IDebugDocument = {0x51973C21, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2060 + const IID IID_IDebugDocumentContext = {0x51973C28, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2061 + const IID IID_IDebugDocumentHelper32 = {0x51973C26, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2062 + const IID IID_IDebugDocumentHelper64 = {0xC4C7363C, 0x20FD, 0x47F9, [0xBD, 0x82, 0x48, 0x55, 0xE0, 0x15, 0x08, 0x71]}; 2063 + const IID IID_IDebugDocumentHelperEx = {0x51973C02, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2064 + const IID IID_IDebugDocumentHost = {0x51973C27, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2065 + const IID IID_IDebugDocumentInfo = {0x51973C1F, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2066 + const IID IID_IDebugDocumentProvider = {0x51973C20, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2067 + const IID IID_IDebugDocumentText = {0x51973C22, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2068 + const IID IID_IDebugDocumentTextAuthor = {0x51973C24, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2069 + const IID IID_IDebugDocumentTextEvents = {0x51973C23, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2070 + const IID IID_IDebugDocumentTextExternalAuthor = {0x51973C25, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2071 + const IID IID_IDebugExpression = {0x51973C14, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2072 + const IID IID_IDebugExpressionCallBack = {0x51973C16, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2073 + const IID IID_IDebugExpressionContext = {0x51973C15, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2074 + const IID IID_IDebugExtendedProperty = {0x51973C52, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2075 + const IID IID_IDebugFormatter = {0x51973C05, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2076 + const IID IID_IDebugHelper = {0x51973C3F, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2077 + const IID IID_IDebugHelperEx = {0x51973C08, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2078 + const IID IID_IDebugOut = {0xC733E4F1, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 2079 + const IID IID_IDebugProperty = {0x51973C50, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2080 + const IID IID_IDebugPropertyEnumType_All = {0x51973C55, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2081 + const IID IID_IDebugPropertyEnumType_Arguments = {0x51973C57, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2082 + const IID IID_IDebugPropertyEnumType_Locals = {0x51973C56, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2083 + const IID IID_IDebugPropertyEnumType_LocalsPlus = {0x51973C58, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2084 + const IID IID_IDebugPropertyEnumType_Registers = {0x51973C59, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2085 + const IID IID_IDebugRegister = {0xC733E4F0, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 2086 + const IID IID_IDebugSessionProvider = {0x51973C29, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2087 + const IID IID_IDebugSessionProviderEx = {0x51973C09, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2088 + const IID IID_IDebugSetValueCallback = {0x51973C06, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2089 + const IID IID_IDebugStackFrame = {0x51973C17, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2090 + const IID IID_IDebugStackFrameSniffer = {0x51973C18, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2091 + const IID IID_IDebugStackFrameSnifferEx = {0x51973C19, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2092 + const IID IID_IDebugStackFrameSnifferEx32 = {0x51973C19, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2093 + const IID IID_IDebugStackFrameSnifferEx64 = {0x8CD12AF4, 0x49C1, 0x4D52, [0x8D, 0x8A, 0xC1, 0x46, 0xF4, 0x75, 0x81, 0xAA]}; 2094 + const IID IID_IDebugStream = {0x00000124, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2095 + const IID IID_IDebugSyncOperation = {0x51973C1A, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2096 + const IID IID_IDebugThreadCall = {0x51973C36, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2097 + const IID IID_IDebugThreadCall32 = {0x51973C36, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2098 + const IID IID_IDebugThreadCall64 = {0xCB3FA335, 0xE979, 0x42FD, [0x9F, 0xCF, 0xA7, 0x54, 0x6A, 0x0F, 0x39, 0x05]}; 2099 + const IID IID_IDelaydC = {0xBFF9C030, 0xB58F, 0x11CE, [0xB5, 0xB0, 0x00, 0xAA, 0x00, 0x6C, 0xB3, 0x7D]}; 2100 + const IID IID_IDelayedRelease = {0x000214ED, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2101 + const IID IID_IDelegateFolder = {0xADD8BA80, 0x002B, 0x11D0, [0x8F, 0x0F, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62]}; 2102 + const IID IID_IDeskBand = {0xEB0FE172, 0x1A3A, 0x11D0, [0x89, 0xB3, 0x00, 0xA0, 0xC9, 0x0A, 0x90, 0xAC]}; 2103 + const IID IID_IDeviceRect = {0x3050F6D5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2104 + const IID IID_IDfReserved1 = {0x00000013, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2105 + const IID IID_IDfReserved2 = {0x00000014, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2106 + const IID IID_IDfReserved3 = {0x00000015, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2107 + const IID IID_IDialBranding = {0x8AECAFA9, 0x4306, 0x43CC, [0x8C, 0x5A, 0x76, 0x5F, 0x29, 0x79, 0xCC, 0x16]}; 2108 + const IID IID_IDialEngine = {0x39FD782B, 0x7905, 0x40D5, [0x91, 0x48, 0x3C, 0x9B, 0x19, 0x04, 0x23, 0xD5]}; 2109 + const IID IID_IDialEventSink = {0x2D86F4FF, 0x6E2D, 0x4488, [0xB2, 0xE9, 0x69, 0x34, 0xAF, 0xD4, 0x1B, 0xEA]}; 2110 + const IID IID_IDifferencing = {0x994F0AF0, 0x2977, 0x11CE, [0xBB, 0x80, 0x08, 0x00, 0x2B, 0x36, 0xB2, 0xB0]}; 2111 + const IID IID_IDirect3D = {0x3BBA0080, 0x2421, 0x11CF, [0xA3, 0x1A, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56]}; 2112 + const IID IID_IDirect3D2 = {0x6AAE1EC1, 0x662A, 0x11D0, [0x88, 0x9D, 0x00, 0xAA, 0x00, 0xBB, 0xB7, 0x6A]}; 2113 + const IID IID_IDirect3D3 = {0xBB223240, 0xE72B, 0x11D0, [0xA9, 0xB4, 0x00, 0xAA, 0x00, 0xC0, 0x99, 0x3E]}; 2114 + const IID IID_IDirect3D7 = {0xF5049E77, 0x4861, 0x11D2, [0xA4, 0x07, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 2115 + const IID IID_IDirect3DDevice = {0x64108800, 0x957D, 0x11D0, [0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 2116 + const IID IID_IDirect3DDevice2 = {0x93281501, 0x8CF8, 0x11D0, [0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 2117 + const IID IID_IDirect3DDevice3 = {0xB0AB3B60, 0x33D7, 0x11D1, [0xA9, 0x81, 0x00, 0xC0, 0x4F, 0xD7, 0xB1, 0x74]}; 2118 + const IID IID_IDirect3DDevice7 = {0xF5049E79, 0x4861, 0x11D2, [0xA4, 0x07, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 2119 + const IID IID_IDirect3DExecuteBuffer = {0x4417C145, 0x33AD, 0x11CF, [0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E]}; 2120 + const IID IID_IDirect3DHALDevice = {0x84E63DE0, 0x46AA, 0x11CF, [0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E]}; 2121 + const IID IID_IDirect3DLight = {0x4417C142, 0x33AD, 0x11CF, [0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E]}; 2122 + const IID IID_IDirect3DMaterial = {0x4417C144, 0x33AD, 0x11CF, [0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E]}; 2123 + const IID IID_IDirect3DMaterial2 = {0x93281503, 0x8CF8, 0x11D0, [0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 2124 + const IID IID_IDirect3DMaterial3 = {0xCA9C46F4, 0xD3C5, 0x11D1, [0xB7, 0x5A, 0x00, 0x60, 0x08, 0x52, 0xB3, 0x12]}; 2125 + const IID IID_IDirect3DMMXDevice = {0x881949A1, 0xD6F3, 0x11D0, [0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 2126 + const IID IID_IDirect3DNullDevice = {0x8767DF22, 0xBACC, 0x11D1, [0x89, 0x69, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 2127 + const IID IID_IDirect3DRampDevice = {0xF2086B20, 0x259F, 0x11CF, [0xA3, 0x1A, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56]}; 2128 + const IID IID_IDirect3DRefDevice = {0x50936643, 0x13E9, 0x11D1, [0x89, 0xAA, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 2129 + const IID IID_IDirect3DRGBDevice = {0xA4665C60, 0x2673, 0x11CF, [0xA3, 0x1A, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56]}; 2130 + const IID IID_IDirect3DRM = {0x2BC49361, 0x8327, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2131 + const IID IID_IDirect3DRM2 = {0x4516ECC8, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2132 + const IID IID_IDirect3DRM3 = {0x4516EC83, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2133 + const IID IID_IDirect3DRMAnimation = {0xEB16CB0D, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2134 + const IID IID_IDirect3DRMAnimation2 = {0xFF6B7F77, 0xA40E, 0x11D1, [0x91, 0xF9, 0x00, 0x00, 0xF8, 0x75, 0x8E, 0x66]}; 2135 + const IID IID_IDirect3DRMAnimationArray = {0xD5F1CAE0, 0x4BD7, 0x11D1, [0xB9, 0x74, 0x00, 0x60, 0x08, 0x3E, 0x45, 0xF3]}; 2136 + const IID IID_IDirect3DRMAnimationSet = {0xEB16CB0E, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2137 + const IID IID_IDirect3DRMAnimationSet2 = {0xFF6B7F79, 0xA40E, 0x11D1, [0x91, 0xF9, 0x00, 0x00, 0xF8, 0x75, 0x8E, 0x66]}; 2138 + const IID IID_IDirect3DRMClippedVisual = {0x5434E733, 0x6D66, 0x11D1, [0xBB, 0x0B, 0x00, 0x00, 0xF8, 0x75, 0x86, 0x5A]}; 2139 + const IID IID_IDirect3DRMDevice = {0xE9E19280, 0x6E05, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2140 + const IID IID_IDirect3DRMDevice2 = {0x4516EC78, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2141 + const IID IID_IDirect3DRMDevice3 = {0x549F498B, 0xBFEB, 0x11D1, [0x8E, 0xD8, 0x00, 0xA0, 0xC9, 0x67, 0xA4, 0x82]}; 2142 + const IID IID_IDirect3DRMDeviceArray = {0xEB16CB10, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2143 + const IID IID_IDirect3DRMFace = {0xEB16CB07, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2144 + const IID IID_IDirect3DRMFace2 = {0x4516EC81, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2145 + const IID IID_IDirect3DRMFaceArray = {0xEB16CB17, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2146 + const IID IID_IDirect3DRMFrame = {0xEB16CB03, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2147 + const IID IID_IDirect3DRMFrame2 = {0xC3DFBD60, 0x3988, 0x11D0, [0x9E, 0xC2, 0x00, 0x00, 0xC0, 0x29, 0x1A, 0xC3]}; 2148 + const IID IID_IDirect3DRMFrame3 = {0xFF6B7F70, 0xA40E, 0x11D1, [0x91, 0xF9, 0x00, 0x00, 0xF8, 0x75, 0x8E, 0x66]}; 2149 + const IID IID_IDirect3DRMFrameArray = {0xEB16CB12, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2150 + const IID IID_IDirect3DRMInterpolator = {0x242F6BC1, 0x3849, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2151 + const IID IID_IDirect3DRMLight = {0xEB16CB08, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2152 + const IID IID_IDirect3DRMLightArray = {0xEB16CB14, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2153 + const IID IID_IDirect3DRMMaterial = {0xEB16CB0B, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2154 + const IID IID_IDirect3DRMMaterial2 = {0xFF6B7F75, 0xA40E, 0x11D1, [0x91, 0xF9, 0x00, 0x00, 0xF8, 0x75, 0x8E, 0x66]}; 2155 + const IID IID_IDirect3DRMMesh = {0xA3A80D01, 0x6E12, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2156 + const IID IID_IDirect3DRMMeshBuilder = {0xA3A80D02, 0x6E12, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2157 + const IID IID_IDirect3DRMMeshBuilder2 = {0x4516EC77, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2158 + const IID IID_IDirect3DRMMeshBuilder3 = {0x4516EC82, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2159 + const IID IID_IDirect3DRMObject = {0xEB16CB00, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2160 + const IID IID_IDirect3DRMObject2 = {0x4516EC7C, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2161 + const IID IID_IDirect3DRMObjectArray = {0x242F6BC2, 0x3849, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2162 + const IID IID_IDirect3DRMPicked2Array = {0x4516EC7B, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2163 + const IID IID_IDirect3DRMPickedArray = {0xEB16CB16, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2164 + const IID IID_IDirect3DRMProgressiveMesh = {0x4516EC79, 0x8F20, 0x11D0, [0x9B, 0x6D, 0x00, 0x00, 0xC0, 0x78, 0x1B, 0xC3]}; 2165 + const IID IID_IDirect3DRMShadow = {0xAF359780, 0x6BA3, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2166 + const IID IID_IDirect3DRMShadow2 = {0x86B44E25, 0x9C82, 0x11D1, [0xBB, 0x0B, 0x00, 0xA0, 0xC9, 0x81, 0xA0, 0xA6]}; 2167 + const IID IID_IDirect3DRMTexture = {0xEB16CB09, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2168 + const IID IID_IDirect3DRMTexture2 = {0x120F30C0, 0x1629, 0x11D0, [0x94, 0x1C, 0x00, 0x80, 0xC8, 0x0C, 0xFA, 0x7B]}; 2169 + const IID IID_IDirect3DRMTexture3 = {0xFF6B7F73, 0xA40E, 0x11D1, [0x91, 0xF9, 0x00, 0x00, 0xF8, 0x75, 0x8E, 0x66]}; 2170 + const IID IID_IDirect3DRMUserVisual = {0x59163DE0, 0x6D43, 0x11CF, [0xAC, 0x4A, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2171 + const IID IID_IDirect3DRMViewport = {0xEB16CB02, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2172 + const IID IID_IDirect3DRMViewport2 = {0x4A1B1BE6, 0xBFED, 0x11D1, [0x8E, 0xD8, 0x00, 0xA0, 0xC9, 0x67, 0xA4, 0x82]}; 2173 + const IID IID_IDirect3DRMViewportArray = {0xEB16CB11, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2174 + const IID IID_IDirect3DRMVisual = {0xEB16CB04, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2175 + const IID IID_IDirect3DRMVisualArray = {0xEB16CB13, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2176 + const IID IID_IDirect3DRMWinDevice = {0xC5016CC0, 0xD273, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2177 + const IID IID_IDirect3DRMWrap = {0xEB16CB0A, 0xD271, 0x11CE, [0xAC, 0x48, 0x00, 0x00, 0xC0, 0x38, 0x25, 0xA1]}; 2178 + const IID IID_IDirect3DTexture = {0x2CDCD9E0, 0x25A0, 0x11CF, [0xA3, 0x1A, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56]}; 2179 + const IID IID_IDirect3DTexture2 = {0x93281502, 0x8CF8, 0x11D0, [0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 2180 + const IID IID_IDirect3DTnLHalDevice = {0xF5049E78, 0x4861, 0x11D2, [0xA4, 0x07, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 2181 + const IID IID_IDirect3DVertexBuffer = {0x7A503555, 0x4A83, 0x11D1, [0xA5, 0xDB, 0x00, 0xA0, 0xC9, 0x03, 0x67, 0xF8]}; 2182 + const IID IID_IDirect3DVertexBuffer7 = {0xF5049E7D, 0x4861, 0x11D2, [0xA4, 0x07, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 2183 + const IID IID_IDirect3DViewport = {0x4417C146, 0x33AD, 0x11CF, [0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E]}; 2184 + const IID IID_IDirect3DViewport2 = {0x93281500, 0x8CF8, 0x11D0, [0x89, 0xAB, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29]}; 2185 + const IID IID_IDirect3DViewport3 = {0xB0AB3B61, 0x33D7, 0x11D1, [0xA9, 0x81, 0x00, 0xC0, 0x4F, 0xD7, 0xB1, 0x74]}; 2186 + const IID IID_IDirectDraw = {0x6C14DB80, 0xA733, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2187 + const IID IID_IDirectDraw2 = {0xB3A6F3E0, 0x2B43, 0x11CF, [0xA2, 0xDE, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56]}; 2188 + const IID IID_IDirectDraw4 = {0x9C59509A, 0x39BD, 0x11D1, [0x8C, 0x4A, 0x00, 0xC0, 0x4F, 0xD9, 0x30, 0xC5]}; 2189 + const IID IID_IDirectDraw7 = {0x15E65EC0, 0x3B9C, 0x11D2, [0xB9, 0x2F, 0x00, 0x60, 0x97, 0x97, 0xEA, 0x5B]}; 2190 + const IID IID_IDirectDrawClipper = {0x6C14DB85, 0xA733, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2191 + const IID IID_IDirectDrawColorControl = {0x4B9F0EE0, 0x0D7E, 0x11D0, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 2192 + const IID IID_IDirectDrawFactory2 = {0x89B2C488, 0x4AF4, 0x11D1, [0x8C, 0x4C, 0x00, 0xC0, 0x4F, 0xD9, 0x30, 0xC5]}; 2193 + const IID IID_IDirectDrawGammaControl = {0x69C11C3E, 0xB46B, 0x11D1, [0xAD, 0x7A, 0x00, 0xC0, 0x4F, 0xC2, 0x9B, 0x4E]}; 2194 + const IID IID_IDirectDrawKernel = {0x8D56C120, 0x6A08, 0x11D0, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 2195 + const IID IID_IDirectDrawOptSurface = {0x51191F1E, 0x4F2B, 0x11D1, [0x8C, 0xC3, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0xA8]}; 2196 + const IID IID_IDirectDrawPalette = {0x6C14DB84, 0xA733, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2197 + const IID IID_IDirectDrawPalette2 = {0xC03C477E, 0x6519, 0x11D1, [0x8C, 0x52, 0x00, 0xC0, 0x4F, 0xD9, 0x30, 0xC5]}; 2198 + const IID IID_IDirectDrawSurface = {0x6C14DB81, 0xA733, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2199 + const IID IID_IDirectDrawSurface2 = {0x57805885, 0x6EEC, 0x11CF, [0x94, 0x41, 0xA8, 0x23, 0x03, 0xC1, 0x0E, 0x27]}; 2200 + const IID IID_IDirectDrawSurface3 = {0xDA044E00, 0x69B2, 0x11D0, [0xA1, 0xD5, 0x00, 0xAA, 0x00, 0xB8, 0xDF, 0xBB]}; 2201 + const IID IID_IDirectDrawSurface4 = {0x0B2B8630, 0xAD35, 0x11D0, [0x8E, 0xA6, 0x00, 0x60, 0x97, 0x97, 0xEA, 0x5B]}; 2202 + const IID IID_IDirectDrawSurface7 = {0x06675A80, 0x3B9B, 0x11D2, [0xB9, 0x2F, 0x00, 0x60, 0x97, 0x97, 0xEA, 0x5B]}; 2203 + const IID IID_IDirectDrawSurfaceKernel = {0x60755DA0, 0x6A40, 0x11D0, [0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8]}; 2204 + const IID IID_IDirectDrawVideoAccelerator = {0xC9B2D740, 0x3356, 0x11D1, [0x8F, 0xCF, 0x00, 0xC0, 0x4F, 0xC2, 0x9B, 0x4E]}; 2205 + const IID IID_IDirectDrawVideoPort = {0xB36D93E0, 0x2B43, 0x11CF, [0xA2, 0xDE, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56]}; 2206 + const IID IID_IDirectInput2A = {0x5944E662, 0xAA8A, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2207 + const IID IID_IDirectInput2W = {0x5944E663, 0xAA8A, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2208 + const IID IID_IDirectInput7A = {0x9A4CB684, 0x236D, 0x11D3, [0x8E, 0x9D, 0x00, 0xC0, 0x4F, 0x68, 0x44, 0xAE]}; 2209 + const IID IID_IDirectInput7W = {0x9A4CB685, 0x236D, 0x11D3, [0x8E, 0x9D, 0x00, 0xC0, 0x4F, 0x68, 0x44, 0xAE]}; 2210 + const IID IID_IDirectInputA = {0x89521360, 0xAA8A, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2211 + const IID IID_IDirectInputDevice2A = {0x5944E682, 0xC92E, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2212 + const IID IID_IDirectInputDevice2W = {0x5944E683, 0xC92E, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2213 + const IID IID_IDirectInputDevice7A = {0x57D7C6BC, 0x2356, 0x11D3, [0x8E, 0x9D, 0x00, 0xC0, 0x4F, 0x68, 0x44, 0xAE]}; 2214 + const IID IID_IDirectInputDevice7W = {0x57D7C6BD, 0x2356, 0x11D3, [0x8E, 0x9D, 0x00, 0xC0, 0x4F, 0x68, 0x44, 0xAE]}; 2215 + const IID IID_IDirectInputDeviceA = {0x5944E680, 0xC92E, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2216 + const IID IID_IDirectInputDeviceW = {0x5944E681, 0xC92E, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2217 + const IID IID_IDirectInputEffect = {0xE7E1F7C0, 0x88D2, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 2218 + const IID IID_IDirectInputEffectDriver = {0x02538130, 0x898F, 0x11D0, [0x9A, 0xD0, 0x00, 0xA0, 0xC9, 0xA0, 0x6E, 0x35]}; 2219 + const IID IID_IDirectInputJoyConfig = {0x1DE12AB1, 0xC9F5, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2220 + const IID IID_IDirectInputPIDDriver = {0xEEC6993A, 0xB3FD, 0x11D2, [0xA9, 0x16, 0x00, 0xC0, 0x4F, 0xB9, 0x86, 0x38]}; 2221 + const IID IID_IDirectInputW = {0x89521361, 0xAA8A, 0x11CF, [0xBF, 0xC7, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2222 + const IID IID_IDirectMusic = {0x6536115A, 0x7B2D, 0x11D2, [0xBA, 0x18, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 2223 + const IID IID_IDirectMusic2 = {0x6FC2CAE1, 0xBC78, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 2224 + const IID IID_IDirectMusicBand = {0xD2AC28C0, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2225 + const IID IID_IDirectMusicBuffer = {0xD2AC2878, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2226 + const IID IID_IDirectMusicChordMap = {0xD2AC28BE, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2227 + const IID IID_IDirectMusicCollection = {0xD2AC287C, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2228 + const IID IID_IDirectMusicComposer = {0xD2AC28BF, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2229 + const IID IID_IDirectMusicDownload = {0xD2AC287B, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2230 + const IID IID_IDirectMusicDownloadedInstrument = {0xD2AC287E, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2231 + const IID IID_IDirectMusicGetLoader = {0x68A04844, 0xD13D, 0x11D1, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 2232 + const IID IID_IDirectMusicGraph = {0x2BEFC277, 0x5497, 0x11D2, [0xBC, 0xCB, 0x00, 0xA0, 0xC9, 0x22, 0xE6, 0xEB]}; 2233 + const IID IID_IDirectMusicInstrument = {0xD2AC287D, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2234 + const IID IID_IDirectMusicLoader = {0x2FFAACA2, 0x5DCA, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 2235 + const IID IID_IDirectMusicObject = {0xD2AC28B5, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2236 + const IID IID_IDirectMusicPerformance = {0x07D43D03, 0x6523, 0x11D2, [0x87, 0x1D, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2237 + const IID IID_IDirectMusicPerformance2 = {0x6FC2CAE0, 0xBC78, 0x11D2, [0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6]}; 2238 + const IID IID_IDirectMusicPort = {0x08F2D8C9, 0x37C2, 0x11D2, [0xB9, 0xF9, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 2239 + const IID IID_IDirectMusicPortDownload = {0xD2AC287A, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2240 + const IID IID_IDirectMusicSegment = {0xF96029A2, 0x4282, 0x11D2, [0x87, 0x17, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2241 + const IID IID_IDirectMusicSegment2 = {0xD38894D1, 0xC052, 0x11D2, [0x87, 0x2F, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2242 + const IID IID_IDirectMusicSegmentState = {0xA3AFDCC7, 0xD3EE, 0x11D1, [0xBC, 0x8D, 0x00, 0xA0, 0xC9, 0x22, 0xE6, 0xEB]}; 2243 + const IID IID_IDirectMusicStyle = {0xD2AC28BD, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2244 + const IID IID_IDirectMusicThru = {0xCED153E7, 0x3606, 0x11D2, [0xB9, 0xF9, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12]}; 2245 + const IID IID_IDirectMusicTool = {0xD2AC28BA, 0xB39B, 0x11D1, [0x87, 0x04, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2246 + const IID IID_IDirectMusicTrack = {0xF96029A1, 0x4282, 0x11D2, [0x87, 0x17, 0x00, 0x60, 0x08, 0x93, 0xB1, 0xBD]}; 2247 + const IID IID_IDirectoryObject = {0xE798DE2C, 0x22E4, 0x11D0, [0x84, 0xFE, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 2248 + const IID IID_IDirectorySchemaMgmt = {0x75DB3B9C, 0xA4D8, 0x11D0, [0xA7, 0x9C, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8]}; 2249 + const IID IID_IDirectorySearch = {0x109BA8EC, 0x92F0, 0x11D0, [0xA7, 0x90, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0xA8]}; 2250 + const IID IID_IDirectPlay = {0x5454E9A0, 0xDB65, 0x11CE, [0x92, 0x1C, 0x00, 0xAA, 0x00, 0x6C, 0x49, 0x72]}; 2251 + const IID IID_IDirectPlay2 = {0x2B74F7C0, 0x9154, 0x11CF, [0xA9, 0xCD, 0x00, 0xAA, 0x00, 0x68, 0x86, 0xE3]}; 2252 + const IID IID_IDirectPlay2A = {0x9D460580, 0xA822, 0x11CF, [0x96, 0x0C, 0x00, 0x80, 0xC7, 0x53, 0x4E, 0x82]}; 2253 + const IID IID_IDirectPlay3 = {0x133EFE40, 0x32DC, 0x11D0, [0x9C, 0xFB, 0x00, 0xA0, 0xC9, 0x0A, 0x43, 0xCB]}; 2254 + const IID IID_IDirectPlay3A = {0x133EFE41, 0x32DC, 0x11D0, [0x9C, 0xFB, 0x00, 0xA0, 0xC9, 0x0A, 0x43, 0xCB]}; 2255 + const IID IID_IDirectPlay4 = {0x0AB1C530, 0x4745, 0x11D1, [0xA7, 0xA1, 0x00, 0x00, 0xF8, 0x03, 0xAB, 0xFC]}; 2256 + const IID IID_IDirectPlay4A = {0x0AB1C531, 0x4745, 0x11D1, [0xA7, 0xA1, 0x00, 0x00, 0xF8, 0x03, 0xAB, 0xFC]}; 2257 + const IID IID_IDirectPlayLobby = {0xAF465C71, 0x9588, 0x11CF, [0xA0, 0x20, 0x00, 0xAA, 0x00, 0x61, 0x57, 0xAC]}; 2258 + const IID IID_IDirectPlayLobby2 = {0x0194C220, 0xA303, 0x11D0, [0x9C, 0x4F, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 2259 + const IID IID_IDirectPlayLobby2A = {0x1BB4AF80, 0xA303, 0x11D0, [0x9C, 0x4F, 0x00, 0xA0, 0xC9, 0x05, 0x42, 0x5E]}; 2260 + const IID IID_IDirectPlayLobby3 = {0x2DB72490, 0x652C, 0x11D1, [0xA7, 0xA8, 0x00, 0x00, 0xF8, 0x03, 0xAB, 0xFC]}; 2261 + const IID IID_IDirectPlayLobby3A = {0x2DB72491, 0x652C, 0x11D1, [0xA7, 0xA8, 0x00, 0x00, 0xF8, 0x03, 0xAB, 0xFC]}; 2262 + const IID IID_IDirectPlayLobbyA = {0x26C66A70, 0xB367, 0x11CF, [0xA0, 0x24, 0x00, 0xAA, 0x00, 0x61, 0x57, 0xAC]}; 2263 + const IID IID_IDirectSound = {0x279AFA83, 0x4981, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2264 + const IID IID_IDirectSound3DBuffer = {0x279AFA86, 0x4981, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2265 + const IID IID_IDirectSound3DListener = {0x279AFA84, 0x4981, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2266 + const IID IID_IDirectSoundBuffer = {0x279AFA85, 0x4981, 0x11CE, [0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]}; 2267 + const IID IID_IDirectSoundCapture = {0xB0210781, 0x89CD, 0x11D0, [0xAF, 0x08, 0x00, 0xA0, 0xC9, 0x25, 0xCD, 0x16]}; 2268 + const IID IID_IDirectSoundCaptureBuffer = {0xB0210782, 0x89CD, 0x11D0, [0xAF, 0x08, 0x00, 0xA0, 0xC9, 0x25, 0xCD, 0x16]}; 2269 + const IID IID_IDirectSoundNotify = {0xB0210783, 0x89CD, 0x11D0, [0xAF, 0x08, 0x00, 0xA0, 0xC9, 0x25, 0xCD, 0x16]}; 2270 + const IID IID_IDirectWriterLock = {0x0E6D4D92, 0x6738, 0x11CF, [0x96, 0x08, 0x00, 0xAA, 0x00, 0x68, 0x0D, 0xB4]}; 2271 + const IID IID_IDirectXFile = {0x3D82AB40, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 2272 + const IID IID_IDirectXFileBinary = {0x3D82AB46, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 2273 + const IID IID_IDirectXFileData = {0x3D82AB44, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 2274 + const IID IID_IDirectXFileDataReference = {0x3D82AB45, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 2275 + const IID IID_IDirectXFileEnumObject = {0x3D82AB41, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 2276 + const IID IID_IDirectXFileObject = {0x3D82AB43, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 2277 + const IID IID_IDirectXFileSaveObject = {0x3D82AB42, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 2278 + const IID IID_IDiscardableBrowserProperty = {0x49C3DE7C, 0xD329, 0x11D0, [0xAB, 0x73, 0x00, 0xC0, 0x4F, 0xC3, 0x3E, 0x80]}; 2279 + const IID IID_IDiscMaster = {0x520CCA62, 0x51A5, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 2280 + const IID IID_IDiscMasterProgressEvents = {0xEC9E51C1, 0x4E5D, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 2281 + const IID IID_IDiscRecorder = {0x85AC9776, 0xCA88, 0x4CF2, [0x89, 0x4E, 0x09, 0x59, 0x8C, 0x07, 0x8A, 0x41]}; 2282 + const IID IID_IDiscStash = {0x520CCA64, 0x51A5, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 2283 + const IID IID_IDispatch = {0x00020400, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2284 + const IID IID_IDispatchEx = {0xA6EF9860, 0xC720, 0x11D0, [0x93, 0x37, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 2285 + const IID IID_IDispError = {0xA6EF9861, 0xC720, 0x11D0, [0x93, 0x37, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 2286 + const IID IID_IDisplayPointer = {0x3050F69E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2287 + const IID IID_IDisplayServices = {0x3050F69D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2288 + const IID IID_IDithererImpl = {0x7C48E840, 0x3910, 0x11D0, [0x86, 0xFC, 0x00, 0xA0, 0xC9, 0x13, 0xF7, 0x50]}; 2289 + const IID IID_IDocHostShowUI = {0xC4D244B0, 0xD43E, 0x11CF, [0x89, 0x3B, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x1A]}; 2290 + const IID IID_IDocHostUIHandler = {0xBD3F23C0, 0xD43E, 0x11CF, [0x89, 0x3B, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x1A]}; 2291 + const IID IID_IDocHostUIHandler2 = {0x3050F6D0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2292 + const IID IID_IDockingWindow = {0x012DD920, 0x7B26, 0x11D0, [0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8]}; 2293 + const IID IID_IDockingWindowFrame = {0x47D2657A, 0x7B27, 0x11D0, [0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8]}; 2294 + const IID IID_IDockingWindowSite = {0x2A342FC2, 0x7B26, 0x11D0, [0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8]}; 2295 + const IID IID_IDoTask = {0x0230C9F8, 0xEE7F, 0x4307, [0x98, 0xDB, 0x72, 0x6E, 0xBC, 0xAE, 0x55, 0xD6]}; 2296 + const IID IID_IDownloadBehavior = {0x3050F5BD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2297 + const IID IID_IDownloadManager = {0x988934A4, 0x064B, 0x11D3, [0xBB, 0x80, 0x00, 0x10, 0x4B, 0x35, 0xE7, 0xF9]}; 2298 + const IID IID_IDownloadNotify = {0xCAEB5D28, 0xAE4C, 0x11D1, [0xBA, 0x40, 0x00, 0xC0, 0x4F, 0xB9, 0x2D, 0x79]}; 2299 + const IID IID_IDragSourceHelper = {0xDE5BF786, 0x477A, 0x11D2, [0x83, 0x9D, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xD0]}; 2300 + const IID IID_IDropSource = {0x00000121, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2301 + const IID IID_IDropTarget = {0x00000122, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2302 + const IID IID_IDropTargetHelper = {0x4657278B, 0x411B, 0x11D2, [0x83, 0x9A, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xD0]}; 2303 + const IID IID_IDsBrowseDomainTree = {0x7CABCF1E, 0x78F5, 0x11D2, [0x96, 0x0C, 0x00, 0xC0, 0x4F, 0xA3, 0x1A, 0x86]}; 2304 + const IID IID_IDsQueryColumnHandler = {0xC072999E, 0xFA49, 0x11D1, [0xA0, 0xAF, 0x00, 0xC0, 0x4F, 0xA3, 0x1A, 0x86]}; 2305 + const IID IID_IDummy = {0x0D7CA54A, 0xD252, 0x4FCB, [0x91, 0x04, 0xF6, 0xDD, 0xD3, 0x10, 0xB3, 0xF9]}; 2306 + const IID IID_IDummyHICONIncluder = {0x947990DE, 0xCC28, 0x11D2, [0xA0, 0xF7, 0x00, 0x80, 0x5F, 0x85, 0x8F, 0xB1]}; 2307 + const IID IID_IDX2D = {0x9EFD02A9, 0xA996, 0x11D1, [0x81, 0xC9, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2308 + const IID IID_IDX2DDebug = {0x03BB2457, 0xA279, 0x11D1, [0x81, 0xC6, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2309 + const IID IID_IDXARGBReadPtr = {0xEAAAC2D6, 0xC290, 0x11D1, [0x90, 0x5D, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2310 + const IID IID_IDXARGBReadWritePtr = {0xEAAAC2D7, 0xC290, 0x11D1, [0x90, 0x5D, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2311 + const IID IID_IDXARGBSurfaceInit = {0x9EA3B63A, 0xC37D, 0x11D1, [0x90, 0x5E, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2312 + const IID IID_IDXBaseObject = {0x17B59B2B, 0x9CC8, 0x11D1, [0x90, 0x53, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2313 + const IID IID_IDXBasicImage = {0x16B280C7, 0xEE70, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2314 + const IID IID_IDXDCLock = {0x0F619456, 0xCF39, 0x11D1, [0x90, 0x5E, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2315 + const IID IID_IDXDLUTBuilder = {0x73068231, 0x35EE, 0x11D1, [0x81, 0xA1, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2316 + const IID IID_IDXDMapper = {0x7FD9088B, 0x35ED, 0x11D1, [0x81, 0xA1, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2317 + const IID IID_IDXEffect = {0xE31FB81B, 0x1335, 0x11D1, [0x81, 0x89, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2318 + const IID IID_IDXGradient = {0xB2024B51, 0xEE77, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2319 + const IID IID_IDXGradient2 = {0xD0EF2A80, 0x61DC, 0x11D2, [0xB2, 0xEB, 0x00, 0xA0, 0xC9, 0x36, 0xB2, 0x12]}; 2320 + const IID IID_IDXLookupTable = {0x01BAFC7F, 0x9E63, 0x11D1, [0x90, 0x53, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2321 + const IID IID_IDXLUTBuilder = {0xF4370FC1, 0xCADB, 0x11D0, [0xB5, 0x2C, 0x00, 0xA0, 0xC9, 0x05, 0x43, 0x73]}; 2322 + const IID IID_IDXMapper = {0x555278E5, 0x05DB, 0x11D1, [0x88, 0x3A, 0x3C, 0x8B, 0x00, 0xC1, 0x00, 0x00]}; 2323 + const IID IID_IDXPixelate = {0xD33E180F, 0xFBE9, 0x11D1, [0x90, 0x6A, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2324 + const IID IID_IDXRasterizer = {0x9EA3B635, 0xC37D, 0x11D1, [0x90, 0x5E, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2325 + const IID IID_IDXRawSurface = {0x09756C8A, 0xD96A, 0x11D1, [0x90, 0x62, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2326 + const IID IID_IDXSurface = {0xB39FD73F, 0xE139, 0x11D1, [0x90, 0x65, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2327 + const IID IID_IDXSurfaceFactory = {0x144946F5, 0xC4D4, 0x11D1, [0x81, 0xD1, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2328 + const IID IID_IDXSurfaceInit = {0x9EA3B639, 0xC37D, 0x11D1, [0x90, 0x5E, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2329 + const IID IID_IDXSurfaceModifier = {0x9EA3B637, 0xC37D, 0x11D1, [0x90, 0x5E, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2330 + const IID IID_IDXSurfacePick = {0x30A5FB79, 0xE11F, 0x11D1, [0x90, 0x64, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2331 + const IID IID_IDXTAlpha = {0x1D4637E0, 0x383C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 2332 + const IID IID_IDXTAlphaImageLoader = {0xA5F2D3E8, 0x7A7E, 0x48E5, [0xBC, 0x75, 0x40, 0x79, 0x0B, 0xE4, 0xA9, 0x41]}; 2333 + const IID IID_IDXTaskManager = {0x254DBBC1, 0xF922, 0x11D0, [0x88, 0x3A, 0x3C, 0x8B, 0x00, 0xC1, 0x00, 0x00]}; 2334 + const IID IID_IDXTBindHost = {0xD26BCE55, 0xE9DC, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2335 + const IID IID_IDXTCheckerBoard = {0xAD3C2576, 0x117C, 0x4510, [0x84, 0xDD, 0xB6, 0x68, 0x97, 0x1D, 0xCF, 0xD1]}; 2336 + const IID IID_IDXTChroma = {0x1D4637E2, 0x383C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 2337 + const IID IID_IDXTClipOrigin = {0xEE1663D8, 0x0988, 0x4C48, [0x9F, 0xD6, 0xDB, 0x44, 0x50, 0x88, 0x56, 0x68]}; 2338 + const IID IID_IDXTComposite = {0x9A43A843, 0x0831, 0x11D1, [0x81, 0x7F, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2339 + const IID IID_IDXTConvolution = {0x7BA7F8AF, 0xE5EA, 0x11D1, [0x81, 0xDD, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2340 + const IID IID_IDXTDropShadow = {0x1D4637E3, 0x383C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 2341 + const IID IID_IDXTFade = {0x16B280C4, 0xEE70, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2342 + const IID IID_IDXTFilter = {0x6187E5A2, 0xA445, 0x4608, [0x8F, 0xC0, 0xBE, 0x7A, 0x6C, 0x8D, 0xB3, 0x86]}; 2343 + const IID IID_IDXTFilterBehavior = {0x14D7DDDD, 0xACA2, 0x4E45, [0x95, 0x04, 0x38, 0x08, 0xAB, 0xEB, 0x4F, 0x92]}; 2344 + const IID IID_IDXTFilterBehaviorSite = {0x909B23C2, 0x9018, 0x499F, [0xA8, 0x6D, 0x4E, 0x7D, 0xA9, 0x37, 0xE9, 0x31]}; 2345 + const IID IID_IDXTFilterCollection = {0x22B07B33, 0x8BFB, 0x49D4, [0x9B, 0x90, 0x09, 0x38, 0x37, 0x0C, 0x90, 0x19]}; 2346 + const IID IID_IDXTFilterController = {0x5CF315F2, 0x273D, 0x47B6, [0xB9, 0xED, 0xF7, 0x5D, 0xC3, 0xB0, 0x15, 0x0B]}; 2347 + const IID IID_IDXTGlow = {0x1D4637E4, 0x383C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 2348 + const IID IID_IDXTGradientD = {0x623E2881, 0xFC0E, 0x11D1, [0x9A, 0x77, 0x00, 0x00, 0xF8, 0x75, 0x6A, 0x10]}; 2349 + const IID IID_IDXTGridSize = {0xD6BBE91E, 0xFF60, 0x11D2, [0x8F, 0x6E, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x74]}; 2350 + const IID IID_IDXTICMFilter = {0x734321ED, 0x1E7B, 0x4E1C, [0xBB, 0xFA, 0x89, 0xC8, 0x19, 0x80, 0x0E, 0x2F]}; 2351 + const IID IID_IDXTLabel = {0xC0C17F0E, 0xAE41, 0x11D1, [0x9A, 0x3B, 0x00, 0x00, 0xF8, 0x75, 0x6A, 0x10]}; 2352 + const IID IID_IDXTLight = {0xF9EFBEC1, 0x4302, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 2353 + const IID IID_IDXTMask = {0xA1067146, 0xB063, 0x47D7, [0xA5, 0x4A, 0x2C, 0x23, 0x09, 0xE9, 0x88, 0x9D]}; 2354 + const IID IID_IDXTMatrix = {0xAC66A493, 0x0F0C, 0x4C76, [0x82, 0x5C, 0x9D, 0x68, 0xBE, 0xDE, 0x91, 0x88]}; 2355 + const IID IID_IDXTMetaBurnFilm = {0x107045D0, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2356 + const IID IID_IDXTMetaCenterPeel = {0xAA0D4D0B, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 2357 + const IID IID_IDXTMetaColorFade = {0x2A54C907, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2358 + const IID IID_IDXTMetaFlowMotion = {0x2A54C90A, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2359 + const IID IID_IDXTMetaGriddler = {0x2A54C910, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2360 + const IID IID_IDXTMetaGriddler2 = {0x2A54C912, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2361 + const IID IID_IDXTMetaJaws = {0x2A54C903, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2362 + const IID IID_IDXTMetaLightWipe = {0x107045C7, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2363 + const IID IID_IDXTMetaLiquid = {0xAA0D4D09, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 2364 + const IID IID_IDXTMetaPageTurn = {0xAA0D4D07, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 2365 + const IID IID_IDXTMetaPeelPiece = {0xAA0D4D0F, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 2366 + const IID IID_IDXTMetaPeelSmall = {0xAA0D4D0D, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 2367 + const IID IID_IDXTMetaPeelSplit = {0xAA0D4D11, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 2368 + const IID IID_IDXTMetaRadialScaleWipe = {0x107045C9, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2369 + const IID IID_IDXTMetaRipple = {0xAA0D4D02, 0x06A3, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 2370 + const IID IID_IDXTMetaRoll = {0x9C61F46D, 0x0530, 0x11D2, [0x8F, 0x98, 0x00, 0xC0, 0x4F, 0xB9, 0x2E, 0xB7]}; 2371 + const IID IID_IDXTMetaThreshold = {0x2A54C914, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2372 + const IID IID_IDXTMetaTwister = {0x107045CE, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2373 + const IID IID_IDXTMetaVacuum = {0x2A54C90C, 0x07AA, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2374 + const IID IID_IDXTMetaWater = {0x107045C4, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2375 + const IID IID_IDXTMetaWhiteOut = {0x107045CB, 0x06E0, 0x11D2, [0x8D, 0x6D, 0x00, 0xC0, 0x4F, 0x8E, 0xF8, 0xE0]}; 2376 + const IID IID_IDXTMetaWormHole = {0x0E6AE021, 0x0C83, 0x11D2, [0x8C, 0xD4, 0x00, 0x10, 0x4B, 0xC7, 0x5D, 0x9A]}; 2377 + const IID IID_IDXTMotionBlur = {0x089057BE, 0xD3F5, 0x4A2C, [0xB1, 0x0A, 0xA5, 0x13, 0x01, 0x84, 0xA0, 0xF7]}; 2378 + const IID IID_IDXTRandomBars = {0x8A6D2022, 0x4A8F, 0x4EB9, [0xBB, 0x25, 0xAA, 0x05, 0x20, 0x1F, 0x9C, 0x84]}; 2379 + const IID IID_IDXTransform = {0x30A5FB78, 0xE11F, 0x11D1, [0x90, 0x64, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2380 + const IID IID_IDXTransformFactory = {0x6A950B2B, 0xA971, 0x11D1, [0x81, 0xC8, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2381 + const IID IID_IDXTRedirect = {0x02F5140B, 0x626F, 0x4019, [0x9C, 0x9E, 0x2D, 0xAA, 0x1E, 0x93, 0xE8, 0xFC]}; 2382 + const IID IID_IDXTRedirectFilterInit = {0xD1A57094, 0x21F7, 0x4E6C, [0x93, 0xE5, 0xF5, 0xF7, 0x7F, 0x74, 0x82, 0x93]}; 2383 + const IID IID_IDXTRevealTrans = {0xB8095006, 0xA128, 0x464B, [0x8B, 0x2D, 0x90, 0x58, 0x0A, 0xEE, 0x2B, 0x05]}; 2384 + const IID IID_IDXTScale = {0xB39FD742, 0xE139, 0x11D1, [0x90, 0x65, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2385 + const IID IID_IDXTScaleOutput = {0xB2024B50, 0xEE77, 0x11D1, [0x90, 0x66, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0x9D]}; 2386 + const IID IID_IDXTShadow = {0x1D4637E6, 0x383C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 2387 + const IID IID_IDXTStrips = {0xA83C9B5C, 0xFB11, 0x4AF5, [0x8F, 0x65, 0xD0, 0x3F, 0x15, 0x1D, 0x3E, 0xD5]}; 2388 + const IID IID_IDXTWave = {0x1D4637E7, 0x383C, 0x11D2, [0x95, 0x2A, 0x00, 0xC0, 0x4F, 0xA3, 0x4F, 0x05]}; 2389 + const IID IID_IDXTWipe = {0xAF279B2F, 0x86EB, 0x11D1, [0x81, 0xBF, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 2390 + const IID IID_IDXTWipe2 = {0xE1FF8091, 0x442B, 0x4801, [0x88, 0xB6, 0x2B, 0x47, 0xB1, 0x61, 0x1F, 0xD2]}; 2391 + const IID IID_IDynamicPortMapping = {0x4FC80282, 0x23B6, 0x4378, [0x9A, 0x27, 0xCD, 0x8F, 0x17, 0xC9, 0x40, 0x0C]}; 2392 + const IID IID_IDynamicPortMappingCollection = {0xB60DE00F, 0x156E, 0x4E8D, [0x9E, 0xC1, 0x3A, 0x23, 0x42, 0xC1, 0x08, 0x99]}; 2393 + const IID IID_IEditDebugServices = {0x3050F60B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2394 + const IID IID_IElementAdorner = {0x3050F607, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2395 + const IID IID_IElementBehavior = {0x3050F425, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2396 + const IID IID_IElementBehaviorCategory = {0x3050F4ED, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2397 + const IID IID_IElementBehaviorFactory = {0x3050F429, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2398 + const IID IID_IElementBehaviorFocus = {0x3050F6B6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2399 + const IID IID_IElementBehaviorLayout = {0x3050F6BA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2400 + const IID IID_IElementBehaviorLayout2 = {0x3050F846, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2401 + const IID IID_IElementBehaviorRender = {0x3050F4AA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2402 + const IID IID_IElementBehaviorSite = {0x3050F427, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2403 + const IID IID_IElementBehaviorSiteCategory = {0x3050F4EE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2404 + const IID IID_IElementBehaviorSiteLayout = {0x3050F6B7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2405 + const IID IID_IElementBehaviorSiteLayout2 = {0x3050F847, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2406 + const IID IID_IElementBehaviorSiteOM = {0x3050F489, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2407 + const IID IID_IElementBehaviorSiteOM2 = {0x3050F659, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2408 + const IID IID_IElementBehaviorSiteRender = {0x3050F4A7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2409 + const IID IID_IElementBehaviorSubmit = {0x3050F646, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2410 + const IID IID_IElementBehaviorUI = {0x3050F4BF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2411 + const IID IID_IElementNamespace = {0x3050F671, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2412 + const IID IID_IElementNamespaceFactory = {0x3050F672, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2413 + const IID IID_IElementNamespaceFactory2 = {0x3050F805, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2414 + const IID IID_IElementNamespaceFactoryCallback = {0x3050F7FD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2415 + const IID IID_IElementNamespacePrivate = {0x3050F7FF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2416 + const IID IID_IElementNamespaceTable = {0x3050F670, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2417 + const IID IID_IElementSegment = {0x3050F68F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2418 + const IID IID_IEmptyVolumeCache = {0x8FCE5227, 0x04DA, 0x11D1, [0xA0, 0x04, 0x00, 0x80, 0x5F, 0x8A, 0xBE, 0x06]}; 2419 + const IID IID_IEmptyVolumeCache2 = {0x02B7E3BA, 0x4DB3, 0x11D2, [0xB2, 0xD9, 0x00, 0xC0, 0x4F, 0x8E, 0xEC, 0x8C]}; 2420 + const IID IID_IEmptyVolumeCacheCallBack = {0x6E793361, 0x73C6, 0x11D0, [0x84, 0x69, 0x00, 0xAA, 0x00, 0x44, 0x29, 0x01]}; 2421 + const IID IID_IEncodingFilterFactory = {0x70BDDE00, 0xC18E, 0x11D0, [0xA9, 0xCE, 0x00, 0x60, 0x97, 0x94, 0x23, 0x11]}; 2422 + const IID IID_IEnroll = {0xACAA7838, 0x4585, 0x11D1, [0xAB, 0x57, 0x00, 0xC0, 0x4F, 0xC2, 0x95, 0xE1]}; 2423 + const IID IID_IEnroll2 = {0xC080E199, 0xB7DF, 0x11D2, [0xA4, 0x21, 0x00, 0xC0, 0x4F, 0x79, 0xFE, 0x8E]}; 2424 + const IID IID_IEnroll4 = {0xF8053FE5, 0x78F4, 0x448F, [0xA0, 0xDB, 0x41, 0xD6, 0x1B, 0x73, 0x44, 0x6B]}; 2425 + const IID IID_IEntryID = {0xE4D19810, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 2426 + const IID IID_IEnumACDGroup = {0x5AFC3157, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 2427 + const IID IID_IEnumACString = {0x8E74C210, 0xCF9D, 0x4EAF, [0xA4, 0x03, 0x73, 0x56, 0x42, 0x8F, 0x0A, 0x5A]}; 2428 + const IID IID_IEnumAdapterInfo = {0xA23F9D11, 0x714C, 0x41FE, [0x84, 0x71, 0xFF, 0xB1, 0x9B, 0xC2, 0x84, 0x54]}; 2429 + const IID IID_IEnumAddress = {0x1666FCA1, 0x9363, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 2430 + const IID IID_IEnumAgent = {0x5AFC314D, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 2431 + const IID IID_IEnumAgentHandler = {0x587E8C28, 0x9802, 0x11D1, [0xA0, 0xA4, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 2432 + const IID IID_IEnumAgentSession = {0x5AFC314E, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 2433 + const IID IID_IEnumBackgroundCopyFiles = {0xCA51E165, 0xC365, 0x424C, [0x8D, 0x41, 0x24, 0xAA, 0xA4, 0xFF, 0x3C, 0x40]}; 2434 + const IID IID_IEnumBackgroundCopyGroups = {0xD993E603, 0x4AA4, 0x47C5, [0x86, 0x65, 0xC2, 0x0D, 0x39, 0xC2, 0xBA, 0x4F]}; 2435 + const IID IID_IEnumBackgroundCopyJobs = {0x1AF4F612, 0x3B71, 0x466F, [0x8F, 0x58, 0x7B, 0x6F, 0x73, 0xAC, 0x57, 0xAD]}; 2436 + const IID IID_IEnumBackgroundCopyJobs1 = {0x8BAEBA9D, 0x8F1C, 0x42C4, [0xB8, 0x2C, 0x09, 0xAE, 0x79, 0x98, 0x0D, 0x25]}; 2437 + const IID IID_IEnumBstr = {0x35372049, 0x0BC6, 0x11D2, [0xA0, 0x33, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 2438 + const IID IID_IEnumCall = {0xAE269CF6, 0x935E, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 2439 + const IID IID_IEnumCallback = {0x00000108, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2440 + const IID IID_IEnumCallHub = {0xA3C15450, 0x5B92, 0x11D1, [0x8F, 0x4E, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 2441 + const IID IID_IEnumCallingCard = {0x0C4D8F02, 0x8DDB, 0x11D1, [0xA0, 0x9E, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 2442 + const IID IID_IEnumCATEGORYINFO = {0x0002E011, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2443 + const IID IID_IEnumChannels = {0xA4C65425, 0x0F82, 0x11D1, [0x90, 0xC3, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x68]}; 2444 + const IID IID_IEnumClusCfgIPAddresses = {0xBD5F35BA, 0x0BC0, 0x455F, [0x92, 0x6D, 0xC3, 0xD3, 0x56, 0x41, 0x94, 0x86]}; 2445 + const IID IID_IEnumClusCfgManagedResources = {0x7DBE11EB, 0xA5DF, 0x4534, [0xAB, 0xF6, 0x8B, 0xAC, 0x7B, 0x53, 0xFC, 0x95]}; 2446 + const IID IID_IEnumClusCfgNetworks = {0xCF3FAED8, 0x1322, 0x4BCB, [0x99, 0x23, 0xB5, 0xB7, 0x45, 0xA6, 0x9E, 0x36]}; 2447 + const IID IID_IEnumClusCfgPartitions = {0x4440BB6A, 0xB0AC, 0x479D, [0xB5, 0x34, 0x72, 0x65, 0xA3, 0x1D, 0x6C, 0x55]}; 2448 + const IID IID_IEnumCodePage = {0x275C23E3, 0x3747, 0x11D0, [0x9F, 0xEA, 0x00, 0xAA, 0x00, 0x3F, 0x86, 0x46]}; 2449 + const IID IID_IEnumConnectionPoints = {0xB196B285, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 2450 + const IID IID_IEnumConnections = {0xB196B287, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 2451 + const IID IID_IEnumCookies = {0x5E3E482E, 0x3C22, 0x482C, [0xB6, 0x64, 0x69, 0x30, 0x51, 0xAD, 0x0A, 0x5D]}; 2452 + const IID IID_IEnumDebugApplicationNodes = {0x51973C3A, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2453 + const IID IID_IEnumDebugCodeContexts = {0x51973C1D, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2454 + const IID IID_IEnumDebugExpressionContexts = {0x51973C40, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2455 + const IID IID_IEnumDebugExtendedPropertyInfo = {0x51973C53, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2456 + const IID IID_IEnumDebugPropertyInfo = {0x51973C51, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2457 + const IID IID_IEnumDebugStackFrames = {0x51973C1E, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2458 + const IID IID_IEnumDebugStackFrames64 = {0x0DC38853, 0xC1B0, 0x4176, [0xA9, 0x84, 0xB2, 0x98, 0x36, 0x10, 0x27, 0xAF]}; 2459 + const IID IID_IEnumDialableAddrs = {0x34621D70, 0x6CFF, 0x11D1, [0xAF, 0xF7, 0x00, 0xC0, 0x4F, 0xC3, 0x1F, 0xEE]}; 2460 + const IID IID_IEnumDirectory = {0x34621D6D, 0x6CFF, 0x11D1, [0xAF, 0xF7, 0x00, 0xC0, 0x4F, 0xC3, 0x1F, 0xEE]}; 2461 + const IID IID_IEnumDirectoryObject = {0x06C9B64A, 0x306D, 0x11D1, [0x97, 0x74, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 2462 + const IID IID_IEnumDiscMasterFormats = {0xDDF445E1, 0x54BA, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 2463 + const IID IID_IEnumDiscRecorders = {0x9B1921E1, 0x54AC, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 2464 + const IID IID_IEnumExtraSearch = {0x0E700BE1, 0x9DB6, 0x11D1, [0xA1, 0xCE, 0x00, 0xC0, 0x4F, 0xD7, 0x5D, 0x13]}; 2465 + const IID IID_IEnumFORMATETC = {0x00000103, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2466 + const IID IID_IEnumGeneric = {0x00000106, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2467 + const IID IID_IEnumGUID = {0x0002E000, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2468 + const IID IID_IEnumHLITEM = {0x79EAC9C6, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2469 + const IID IID_IEnumHNetApplicationProtocols = {0x85D18B7B, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2470 + const IID IID_IEnumHNetBridgedConnections = {0x85D18B7D, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2471 + const IID IID_IEnumHNetBridges = {0x85D18B77, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2472 + const IID IID_IEnumHNetFirewalledConnections = {0x85D18B78, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2473 + const IID IID_IEnumHNetIcsPrivateConnections = {0x85D18B7A, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2474 + const IID IID_IEnumHNetIcsPublicConnections = {0x85D18B79, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2475 + const IID IID_IEnumHNetPortMappingBindings = {0x85D18B81, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2476 + const IID IID_IEnumHNetPortMappingProtocols = {0x85D18B7C, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2477 + const IID IID_IEnumHolder = {0x00000107, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2478 + const IID IID_IEnumIDList = {0x000214F2, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2479 + const IID IID_IEnumInputContext = {0x09B5EAB0, 0xF997, 0x11D1, [0x93, 0xD4, 0x00, 0x60, 0xB0, 0x67, 0xB8, 0x6E]}; 2480 + const IID IID_IEnumItemProperties = {0xF72C8D96, 0x6DBD, 0x11D1, [0xA1, 0xE8, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 2481 + const IID IID_IEnumLocation = {0x0C4D8F01, 0x8DDB, 0x11D1, [0xA0, 0x9E, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 2482 + const IID IID_IEnumMcastScope = {0xDF0DAF09, 0xA289, 0x11D1, [0x86, 0x97, 0x00, 0x60, 0x08, 0xB0, 0xE5, 0xD2]}; 2483 + const IID IID_IEnumMedia = {0xCA8397BE, 0x2FA4, 0x11D1, [0x97, 0x74, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 2484 + const IID IID_IEnumMoniker = {0x00000102, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2485 + const IID IID_IEnumNetCfgBindingInterface = {0xC0E8AE90, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2486 + const IID IID_IEnumNetCfgBindingPath = {0xC0E8AE91, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2487 + const IID IID_IEnumNetCfgComponent = {0xC0E8AE92, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2488 + const IID IID_IEnumNetConnection = {0xC08956A0, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2489 + const IID IID_IEnumNetSharingEveryConnection = {0xC08956B8, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2490 + const IID IID_IEnumNetSharingPortMapping = {0xC08956B0, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2491 + const IID IID_IEnumNetSharingPrivateConnection = {0xC08956B5, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2492 + const IID IID_IEnumNetSharingPublicConnection = {0xC08956B4, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2493 + const IID IID_IEnumNodes = {0xC477E363, 0xAF0A, 0x4203, [0xA6, 0x04, 0x45, 0xCD, 0x60, 0x7D, 0xD7, 0x10]}; 2494 + const IID IID_IEnumNotification = {0xC733E4A8, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 2495 + const IID IID_IEnumNotificationSinkItem = {0xC733E4AA, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 2496 + const IID IID_IEnumOleDocumentViews = {0xB722BCC8, 0x4E68, 0x101B, [0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70]}; 2497 + const IID IID_IEnumOleUndoUnits = {0xB3E7C340, 0xEF97, 0x11CE, [0x9B, 0xC9, 0x00, 0xAA, 0x00, 0x60, 0x8E, 0x01]}; 2498 + const IID IID_IEnumOLEVERB = {0x00000104, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2499 + const IID IID_IEnumParticipant = {0x0A91B56C, 0x5A35, 0x11D2, [0x95, 0xA0, 0x00, 0xA0, 0x24, 0x4D, 0x22, 0x98]}; 2500 + const IID IID_IEnumPhone = {0xF15B7669, 0x4780, 0x4595, [0x8C, 0x89, 0xFB, 0x36, 0x9C, 0x8C, 0xF7, 0xAA]}; 2501 + const IID IID_IEnumPluggableSuperclassInfo = {0xE9586A80, 0x89E6, 0x4CFF, [0x93, 0x1D, 0x47, 0x8D, 0x57, 0x51, 0xF4, 0xC0]}; 2502 + const IID IID_IEnumPluggableTerminalClassInfo = {0x4567450C, 0xDBEE, 0x4E3F, [0xAA, 0xF5, 0x37, 0xBF, 0x9E, 0xBF, 0x5E, 0x29]}; 2503 + const IID IID_IEnumPrivacyRecords = {0x3050F844, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2504 + const IID IID_IEnumPropertyMap = {0xC733E4A1, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 2505 + const IID IID_IEnumPublishedApps = {0x0B124F8C, 0x91F0, 0x11D1, [0xB8, 0xB5, 0x00, 0x60, 0x08, 0x05, 0x93, 0x82]}; 2506 + const IID IID_IEnumQueue = {0x5AFC3158, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 2507 + const IID IID_IEnumRegisterWordA = {0x08C03412, 0xF96B, 0x11D0, [0xA4, 0x75, 0x00, 0xAA, 0x00, 0x6B, 0xCC, 0x59]}; 2508 + const IID IID_IEnumRegisterWordW = {0x4955DD31, 0xB159, 0x11D0, [0x8F, 0xCF, 0x00, 0xAA, 0x00, 0x6B, 0xCC, 0x59]}; 2509 + const IID IID_IEnumRemoteDebugApplications = {0x51973C3B, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2510 + const IID IID_IEnumRemoteDebugApplicationThrea = {0x51973C3C, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2511 + const IID IID_IEnumRfc1766 = {0x3DC39D1D, 0xC030, 0x11D0, [0xB8, 0x1B, 0x00, 0xC0, 0x4F, 0xC9, 0xB3, 0x1F]}; 2512 + const IID IID_IEnumScheduleGroup = {0xC733E4A9, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 2513 + const IID IID_IEnumScript = {0xAE5F1430, 0x388B, 0x11D2, [0x83, 0x80, 0x00, 0xC0, 0x4F, 0x8F, 0x5D, 0xA1]}; 2514 + const IID IID_IEnumSTATDATA = {0x00000105, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2515 + const IID IID_IEnumSTATPROPBAG = {0x20021801, 0x5DE6, 0x11D1, [0x8E, 0x38, 0x00, 0xC0, 0x4F, 0xB9, 0x38, 0x6D]}; 2516 + const IID IID_IEnumSTATPROPSETSTG = {0x0000013B, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2517 + const IID IID_IEnumSTATPROPSTG = {0x00000139, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2518 + const IID IID_IEnumSTATSTG = {0x0000000D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2519 + const IID IID_IEnumSTATURL = {0x3C374A42, 0xBAE4, 0x11CF, [0xBF, 0x7D, 0x00, 0xAA, 0x00, 0x69, 0x46, 0xEE]}; 2520 + const IID IID_IEnumStream = {0xEE3BD606, 0x3868, 0x11D2, [0xA0, 0x45, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 2521 + const IID IID_IEnumString = {0x00000101, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2522 + const IID IID_IEnumSubscription = {0xF72C8D97, 0x6DBD, 0x11D1, [0xA1, 0xE8, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 2523 + const IID IID_IEnumSubStream = {0xEE3BD609, 0x3868, 0x11D2, [0xA0, 0x45, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 2524 + const IID IID_IEnumSyncItems = {0xF0E1589A, 0xA700, 0x11D1, [0x98, 0x31, 0x00, 0xC0, 0x4F, 0xD9, 0x10, 0xDD]}; 2525 + const IID IID_IEnumSyncSchedules = {0xF0E15898, 0xA700, 0x11D1, [0x98, 0x31, 0x00, 0xC0, 0x4F, 0xD9, 0x10, 0xDD]}; 2526 + const IID IID_IEnumTerminal = {0xAE269CF4, 0x935E, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 2527 + const IID IID_IEnumTerminalClass = {0xAE269CF5, 0x935E, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 2528 + const IID IID_IEnumTime = {0x9055322E, 0x2FA8, 0x11D1, [0x97, 0x74, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 2529 + const IID IID_IEnumTravelLogEntry = {0x7EBFDD85, 0xAD18, 0x11D3, [0xA4, 0xC5, 0x00, 0xC0, 0x4F, 0x72, 0xD6, 0xB8]}; 2530 + const IID IID_IEnumUnknown = {0x00000100, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2531 + const IID IID_IEnumVARIANT = {0x00020404, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2532 + const IID IID_IEnumWbemClassObject = {0x027947E1, 0xD731, 0x11CE, [0xA3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01]}; 2533 + const IID IID_IErrorInfo = {0x1CF2B120, 0x547D, 0x101B, [0x8E, 0x65, 0x08, 0x00, 0x2B, 0x2B, 0xD1, 0x19]}; 2534 + const IID IID_IErrorLog = {0x3127CA40, 0x446E, 0x11CE, [0x81, 0x35, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 2535 + const IID IID_IErrorLookup = {0x0C733A66, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2536 + const IID IID_IErrorRecords = {0x0C733A67, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2537 + const IID IID_IESP = {0xE99A04AA, 0xAB95, 0x11D0, [0xBE, 0x96, 0x00, 0xA0, 0xC9, 0x49, 0x89, 0xDE]}; 2538 + const IID IID_IExtendObjectManager = {0xCA7BB0B9, 0x700C, 0x4DC5, [0x99, 0x1E, 0x75, 0xF9, 0xE6, 0x5E, 0xE9, 0x75]}; 2539 + const IID IID_IExtensionServices = {0x79EAC9CB, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2540 + const IID IID_IExternalConnection = {0x00000019, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2541 + const IID IID_IExtractIconA = {0x000214EB, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2542 + const IID IID_IExtractIconW = {0x000214FA, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2543 + const IID IID_IExtractImage = {0xBB2E617C, 0x0920, 0x11D1, [0x9A, 0x0B, 0x00, 0xC0, 0x4F, 0xC2, 0xD6, 0xC1]}; 2544 + const IID IID_IExtractImage2 = {0x953BB1EE, 0x93B4, 0x11D1, [0x98, 0xA3, 0x00, 0xC0, 0x4F, 0xB6, 0x87, 0xDA]}; 2545 + const IID IID_IFileSearchBand = {0x2D91EEA1, 0x9932, 0x11D2, [0xBE, 0x86, 0x00, 0xA0, 0xC9, 0xA8, 0x3D, 0xA1]}; 2546 + const IID IID_IFileSystemBindData = {0x01E18D10, 0x4D8B, 0x11D2, [0x85, 0x5D, 0x00, 0x60, 0x08, 0x05, 0x93, 0x67]}; 2547 + const IID IID_IFileViewerA = {0x000214F0, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2548 + const IID IID_IFileViewerSite = {0x000214F3, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2549 + const IID IID_IFileViewerW = {0x000214F8, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2550 + const IID IID_IFillLockBytes = {0x99CAF010, 0x415E, 0x11CF, [0x88, 0x14, 0x00, 0xAA, 0x00, 0xB5, 0x69, 0xF5]}; 2551 + const IID IID_IFilter = {0x89BCB740, 0x6119, 0x101A, [0xBC, 0xB7, 0x00, 0xDD, 0x01, 0x06, 0x55, 0xAF]}; 2552 + const IID IID_IFilterAnimationInfo = {0x02E29300, 0xC758, 0x49B4, [0x9E, 0x11, 0xC5, 0x8B, 0xFE, 0x90, 0x55, 0x8B]}; 2553 + const IID IID_IFilterStatus = {0xF4EB8260, 0x8DDA, 0x11D1, [0xB3, 0xAA, 0x00, 0xA0, 0xC9, 0x06, 0x37, 0x96]}; 2554 + const IID IID_IFolderFilter = {0x9CC22886, 0xDC8E, 0x11D2, [0xB1, 0xD0, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x3E]}; 2555 + const IID IID_IFolderFilterSite = {0xC0A651F5, 0xB48B, 0x11D2, [0xB5, 0xED, 0x00, 0x60, 0x97, 0xC6, 0x86, 0xF6]}; 2556 + const IID IID_IFolderView = {0xCDE725B0, 0xCCC9, 0x4519, [0x91, 0x7E, 0x32, 0x5D, 0x72, 0xFA, 0xB4, 0xCE]}; 2557 + const IID IID_IFolderViewHost = {0x1EA58F02, 0xD55A, 0x411D, [0xB0, 0x9E, 0x9E, 0x65, 0xAC, 0x21, 0x60, 0x5B]}; 2558 + const IID IID_IFolderViewOC = {0x9BA05970, 0xF6A8, 0x11CF, [0xA4, 0x42, 0x00, 0xA0, 0xC9, 0x0A, 0x8F, 0x39]}; 2559 + const IID IID_IFont = {0xBEF6E002, 0xA874, 0x101A, [0x8B, 0xBA, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 2560 + const IID IID_IFontDisp = {0xBEF6E003, 0xA874, 0x101A, [0x8B, 0xBA, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 2561 + const IID IID_IFontEventsDisp = {0x4EF6100A, 0xAF88, 0x11D0, [0x98, 0x46, 0x00, 0xC0, 0x4F, 0xC2, 0x99, 0x93]}; 2562 + const IID IID_IFontNames = {0x3050F839, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2563 + const IID IID_IForegroundTransfer = {0x00000145, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2564 + const IID IID_IFsCiAdmin = {0x75398C30, 0x7A26, 0x11D0, [0xA8, 0x0A, 0x00, 0xA0, 0xC9, 0x06, 0x24, 0x1A]}; 2565 + const IID IID_IGatherData = {0x65318F4A, 0xB63C, 0x4E21, [0xAD, 0xDC, 0xBD, 0xCF, 0xB9, 0x69, 0xE1, 0x81]}; 2566 + const IID IID_IGetClusterDataInfo = {0x97DEDE51, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 2567 + const IID IID_IGetClusterGroupInfo = {0x97DEDE54, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 2568 + const IID IID_IGetClusterNetInterfaceInfo = {0x97DEDE57, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 2569 + const IID IID_IGetClusterNetworkInfo = {0x97DEDE56, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 2570 + const IID IID_IGetClusterNodeInfo = {0x97DEDE53, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 2571 + const IID IID_IGetClusterObjectInfo = {0x97DEDE52, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 2572 + const IID IID_IGetClusterResourceInfo = {0x97DEDE55, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 2573 + const IID IID_IGetClusterUIInfo = {0x97DEDE50, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 2574 + const IID IID_IGetDataSource = {0x0C733A75, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2575 + const IID IID_IGetRow = {0x0C733AAF, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2576 + const IID IID_IGetSession = {0x0C733ABA, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2577 + const IID IID_IGetSourceRow = {0x0C733ABB, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2578 + const IID IID_IGlobalInterfaceTable = {0x00000146, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2579 + const IID IID_IH26XEncodeOptions = {0x65698D40, 0x282D, 0x11D0, [0x88, 0x00, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2580 + const IID IID_IH26XEncoderControl = {0xF9B78AA1, 0xEA12, 0x11CF, [0x9F, 0xEC, 0x00, 0xAA, 0x00, 0xA5, 0x9F, 0x69]}; 2581 + const IID IID_IH26XRTPControl = {0x1FC3F2C0, 0x2BFD, 0x11D0, [0x88, 0x00, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2582 + const IID IID_IH26XSnapshot = {0x3CB194A0, 0x10AA, 0x11D0, [0x88, 0x00, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 2583 + const IID IID_IH26XVideoEffects = {0x21555140, 0x9C2B, 0x11CF, [0x90, 0xFA, 0x00, 0xAA, 0x00, 0xA7, 0x29, 0xEA]}; 2584 + const IID IID_IH323LineEx = {0x44CF6A9D, 0xCB40, 0x4BBC, [0xB2, 0xD3, 0xB6, 0xAA, 0x93, 0x32, 0x2C, 0x71]}; 2585 + const IID IID_IHeaderFooter = {0x3050F6CE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2586 + const IID IID_IHighlightRenderingServices = {0x3050F606, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2587 + const IID IID_IHighlightSegment = {0x3050F690, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2588 + const IID IID_IHlink = {0x79EAC9C3, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2589 + const IID IID_IHlinkBrowseContext = {0x79EAC9C7, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2590 + const IID IID_IHlinkFrame = {0x79EAC9C5, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2591 + const IID IID_IHlinkSite = {0x79EAC9C2, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2592 + const IID IID_IHlinkTarget = {0x79EAC9C4, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2593 + const IID IID_IHNetApplicationProtocol = {0x85D18B7F, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2594 + const IID IID_IHNetBridge = {0x85D18B75, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2595 + const IID IID_IHNetBridgedConnection = {0x85D18B76, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2596 + const IID IID_IHNetBridgeSettings = {0x85D18B6D, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2597 + const IID IID_IHNetCfgMgr = {0x85D18B6C, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2598 + const IID IID_IHNetConnection = {0x85D18B71, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2599 + const IID IID_IHNetFirewalledConnection = {0x85D18B72, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2600 + const IID IID_IHNetFirewallSettings = {0x85D18B6E, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2601 + const IID IID_IHNetIcsPrivateConnection = {0x85D18B74, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2602 + const IID IID_IHNetIcsPublicConnection = {0x85D18B73, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2603 + const IID IID_IHNetIcsSettings = {0x85D18B6F, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2604 + const IID IID_IHNetPortMappingBinding = {0x85D18B80, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2605 + const IID IID_IHNetPortMappingProtocol = {0x85D18B7E, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2606 + const IID IID_IHNetProtocolSettings = {0x85D18B70, 0x3032, 0x11D4, [0x93, 0x48, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x71]}; 2607 + const IID IID_IHomePage = {0x766BF2AF, 0xD650, 0x11D1, [0x98, 0x11, 0x00, 0xC0, 0x4F, 0xC3, 0x1D, 0x2E]}; 2608 + const IID IID_IHostBehaviorInit = {0x3050F842, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2609 + const IID IID_IHostDialogHelper = {0x53DEC138, 0xA51E, 0x11D2, [0x86, 0x1E, 0x00, 0xC0, 0x4F, 0xA3, 0x5C, 0x89]}; 2610 + const IID IID_IHTCAttachBehavior = {0x3050F5F4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2611 + const IID IID_IHTCAttachBehavior2 = {0x3050F7EB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2612 + const IID IID_IHTCDefaultDispatch = {0x3050F4FD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2613 + const IID IID_IHTCDescBehavior = {0x3050F5DC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2614 + const IID IID_IHTCEventBehavior = {0x3050F4FF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2615 + const IID IID_IHTCMethodBehavior = {0x3050F631, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2616 + const IID IID_IHTCPropertyBehavior = {0x3050F5DF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2617 + const IID IID_IHTMLAnchorElement = {0x3050F1DA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2618 + const IID IID_IHTMLAnchorElement2 = {0x3050F825, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2619 + const IID IID_IHTMLAppBehavior = {0x3050F5CA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2620 + const IID IID_IHTMLAppBehavior2 = {0x3050F5C9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2621 + const IID IID_IHTMLAppBehavior3 = {0x3050F5CD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2622 + const IID IID_IHtmlArea = {0x3050F64E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2623 + const IID IID_IHTMLAreaElement = {0x3050F265, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2624 + const IID IID_IHTMLAreasCollection = {0x3050F383, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2625 + const IID IID_IHTMLAreasCollection2 = {0x3050F5EC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2626 + const IID IID_IHTMLAreasCollection3 = {0x3050F837, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2627 + const IID IID_IHTMLAttributeCollection = {0x3050F4C3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2628 + const IID IID_IHTMLAttributeCollection2 = {0x3050F80A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2629 + const IID IID_IHTMLBaseElement = {0x3050F204, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2630 + const IID IID_IHTMLBaseFontElement = {0x3050F202, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2631 + const IID IID_IHTMLBGsound = {0x3050F369, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2632 + const IID IID_IHTMLBlockElement = {0x3050F208, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2633 + const IID IID_IHTMLBlockElement2 = {0x3050F823, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2634 + const IID IID_IHTMLBodyElement = {0x3050F1D8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2635 + const IID IID_IHTMLBodyElement2 = {0x3050F5C5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2636 + const IID IID_IHTMLBookmarkCollection = {0x3050F4CE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2637 + const IID IID_IHTMLBRElement = {0x3050F1F0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2638 + const IID IID_IHTMLButtonElement = {0x3050F2BB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2639 + const IID IID_IHTMLCaret = {0x3050F604, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2640 + const IID IID_IHTMLChangeLog = {0x3050F649, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2641 + const IID IID_IHTMLChangePlayback = {0x3050F6E0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2642 + const IID IID_IHTMLChangeSink = {0x3050F64A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2643 + const IID IID_IHTMLCommentElement = {0x3050F20C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2644 + const IID IID_IHTMLCommentElement2 = {0x3050F813, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2645 + const IID IID_IHTMLComputedStyle = {0x3050F6C3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2646 + const IID IID_IHTMLControlElement = {0x3050F4E9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2647 + const IID IID_IHTMLControlRange = {0x3050F29C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2648 + const IID IID_IHTMLControlRange2 = {0x3050F65E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2649 + const IID IID_IHTMLCurrentStyle = {0x3050F3DB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2650 + const IID IID_IHTMLCurrentStyle2 = {0x3050F658, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2651 + const IID IID_IHTMLCurrentStyle3 = {0x3050F818, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2652 + const IID IID_IHTMLDatabinding = {0x3050F3F2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2653 + const IID IID_IHTMLDataTransfer = {0x3050F4B3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2654 + const IID IID_IHTMLDDElement = {0x3050F1F2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2655 + const IID IID_IHTMLDialog = {0x3050F216, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2656 + const IID IID_IHTMLDialog2 = {0x3050F5E0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2657 + const IID IID_IHTMLDialog3 = {0x3050F388, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2658 + const IID IID_IHTMLDivElement = {0x3050F200, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2659 + const IID IID_IHTMLDivPosition = {0x3050F212, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2660 + const IID IID_IHtmlDlgSafeHelper = {0x3050F81A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2661 + const IID IID_IHTMLDListElement = {0x3050F1F1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2662 + const IID IID_IHTMLDocument = {0x626FC520, 0xA41E, 0x11CF, [0xA7, 0x31, 0x00, 0xA0, 0xC9, 0x08, 0x26, 0x37]}; 2663 + const IID IID_IHTMLDocument2 = {0x332C4425, 0x26CB, 0x11D0, [0xB4, 0x83, 0x00, 0xC0, 0x4F, 0xD9, 0x01, 0x19]}; 2664 + const IID IID_IHTMLDocument3 = {0x3050F485, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2665 + const IID IID_IHTMLDocument4 = {0x3050F69A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2666 + const IID IID_IHTMLDocument5 = {0x3050F80C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2667 + const IID IID_IHTMLDOMAttribute = {0x3050F4B0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2668 + const IID IID_IHTMLDOMAttribute2 = {0x3050F810, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2669 + const IID IID_IHTMLDOMChildrenCollection = {0x3050F5AB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2670 + const IID IID_IHTMLDOMImplementation = {0x3050F80D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2671 + const IID IID_IHTMLDOMNode = {0x3050F5DA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2672 + const IID IID_IHTMLDOMNode2 = {0x3050F80B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2673 + const IID IID_IHTMLDOMTextNode = {0x3050F4B1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2674 + const IID IID_IHTMLDOMTextNode2 = {0x3050F809, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2675 + const IID IID_IHTMLDTElement = {0x3050F1F3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2676 + const IID IID_IHTMLDXTransform = {0x30E2AB7D, 0x4FDD, 0x4159, [0xB7, 0xEA, 0xDC, 0x72, 0x2B, 0xF4, 0xAD, 0xE5]}; 2677 + const IID IID_IHTMLEditDesigner = {0x3050F662, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2678 + const IID IID_IHTMLEditHost = {0x3050F6A0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2679 + const IID IID_IHTMLEditHost2 = {0x3050F848, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0D]}; 2680 + const IID IID_IHTMLEditingServices = {0x3050F7FB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2681 + const IID IID_IHTMLEditor = {0x3050F7FA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2682 + const IID IID_IHTMLEditServices = {0x3050F663, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2683 + const IID IID_IHTMLEditServices2 = {0x3050F812, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2684 + const IID IID_IHTMLElement = {0x3050F1FF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2685 + const IID IID_IHTMLElement2 = {0x3050F434, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2686 + const IID IID_IHTMLElement3 = {0x3050F673, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2687 + const IID IID_IHTMLElement4 = {0x3050F80F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2688 + const IID IID_IHTMLElementCollection = {0x3050F21F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2689 + const IID IID_IHTMLElementCollection2 = {0x3050F5EE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2690 + const IID IID_IHTMLElementCollection3 = {0x3050F835, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2691 + const IID IID_IHTMLElementDefaults = {0x3050F6C9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2692 + const IID IID_IHTMLElementRender = {0x3050F669, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2693 + const IID IID_IHTMLEmbedElement = {0x3050F25F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2694 + const IID IID_IHTMLEventObj = {0x3050F32D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2695 + const IID IID_IHTMLEventObj2 = {0x3050F48B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2696 + const IID IID_IHTMLEventObj3 = {0x3050F680, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2697 + const IID IID_IHTMLEventObj4 = {0x3050F814, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2698 + const IID IID_IHTMLFieldSetElement = {0x3050F3E7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2699 + const IID IID_IHTMLFieldSetElement2 = {0x3050F833, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2700 + const IID IID_IHTMLFilterPainter = {0x3050F6DE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2701 + const IID IID_IHTMLFilterPaintSite = {0x3050F6D3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2702 + const IID IID_IHTMLFiltersCollection = {0x3050F3EE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2703 + const IID IID_IHTMLFontElement = {0x3050F1D9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2704 + const IID IID_IHTMLFontNamesCollection = {0x3050F376, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2705 + const IID IID_IHTMLFontSizesCollection = {0x3050F377, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2706 + const IID IID_IHTMLFormElement = {0x3050F1F7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2707 + const IID IID_IHTMLFormElement2 = {0x3050F4F6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2708 + const IID IID_IHTMLFormElement3 = {0x3050F836, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2709 + const IID IID_IHTMLFrameBase = {0x3050F311, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2710 + const IID IID_IHTMLFrameBase2 = {0x3050F6DB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2711 + const IID IID_IHTMLFrameBase3 = {0x3050F82E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2712 + const IID IID_IHTMLFrameElement = {0x3050F313, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2713 + const IID IID_IHTMLFrameElement2 = {0x3050F7F5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2714 + const IID IID_IHTMLFramesCollection2 = {0x332C4426, 0x26CB, 0x11D0, [0xB4, 0x83, 0x00, 0xC0, 0x4F, 0xD9, 0x01, 0x19]}; 2715 + const IID IID_IHTMLFrameSetElement = {0x3050F319, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2716 + const IID IID_IHTMLFrameSetElement2 = {0x3050F5C6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2717 + const IID IID_IHTMLGenericElement = {0x3050F4B7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2718 + const IID IID_IHTMLHeadElement = {0x3050F81D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2719 + const IID IID_IHTMLHeaderElement = {0x3050F1F6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2720 + const IID IID_IHTMLHRElement = {0x3050F1F4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2721 + const IID IID_IHTMLHtmlElement = {0x3050F81C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2722 + const IID IID_IHTMLIFrameElement = {0x3050F315, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2723 + const IID IID_IHTMLIFrameElement2 = {0x3050F4E6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2724 + const IID IID_IHTMLImageElementFactory = {0x3050F38E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2725 + const IID IID_IHTMLImgElement = {0x3050F240, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2726 + const IID IID_IHTMLImgElement2 = {0x3050F826, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2727 + const IID IID_IHTMLInputButtonElement = {0x3050F2B2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2728 + const IID IID_IHTMLInputElement = {0x3050F5D2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2729 + const IID IID_IHTMLInputElement2 = {0x3050F821, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2730 + const IID IID_IHTMLInputFileElement = {0x3050F2AD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2731 + const IID IID_IHTMLInputHiddenElement = {0x3050F2A4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2732 + const IID IID_IHTMLInputImage = {0x3050F2C2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2733 + const IID IID_IHTMLInputTextElement = {0x3050F2A6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2734 + const IID IID_IHTMLIPrintCollection = {0x3050F6B5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2735 + const IID IID_IHTMLIsIndexElement = {0x3050F206, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2736 + const IID IID_IHTMLIsIndexElement2 = {0x3050F82F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2737 + const IID IID_IHTMLLabelElement = {0x3050F32A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2738 + const IID IID_IHTMLLabelElement2 = {0x3050F832, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2739 + const IID IID_IHTMLLegendElement = {0x3050F3EA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2740 + const IID IID_IHTMLLegendElement2 = {0x3050F834, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2741 + const IID IID_IHTMLLIElement = {0x3050F1E0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2742 + const IID IID_IHTMLLinkElement = {0x3050F205, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2743 + const IID IID_IHTMLLinkElement2 = {0x3050F4E5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2744 + const IID IID_IHTMLLinkElement3 = {0x3050F81E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2745 + const IID IID_IHTMLListElement = {0x3050F20E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2746 + const IID IID_IHTMLListElement2 = {0x3050F822, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2747 + const IID IID_IHtmlLoadOptions = {0xA71A0808, 0x0F88, 0x11D1, [0xBA, 0x19, 0x00, 0xC0, 0x4F, 0xD9, 0x12, 0xD0]}; 2748 + const IID IID_IHTMLLocation = {0x163BB1E0, 0x6E00, 0x11CF, [0x83, 0x7A, 0x48, 0xDC, 0x04, 0xC1, 0x00, 0x00]}; 2749 + const IID IID_IHTMLMapElement = {0x3050F266, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2750 + const IID IID_IHTMLMarqueeElement = {0x3050F2B5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2751 + const IID IID_IHTMLMetaElement = {0x3050F203, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2752 + const IID IID_IHTMLMetaElement2 = {0x3050F81F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2753 + const IID IID_IHTMLMimeTypesCollection = {0x3050F3FC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2754 + const IID IID_IHTMLModelessInit = {0x3050F5E4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2755 + const IID IID_IHTMLNamespace = {0x3050F6BB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2756 + const IID IID_IHTMLNamespaceCollection = {0x3050F6B8, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2757 + const IID IID_IHTMLNextIdElement = {0x3050F207, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2758 + const IID IID_IHTMLNoShowElement = {0x3050F38A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2759 + const IID IID_IHTMLObjectElement = {0x3050F24F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2760 + const IID IID_IHTMLObjectElement2 = {0x3050F4CD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2761 + const IID IID_IHTMLObjectElement3 = {0x3050F827, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2762 + const IID IID_IHTMLOListElement = {0x3050F1DE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2763 + const IID IID_IHTMLOMWindowServices = {0x3050F5FC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2764 + const IID IID_IHTMLOpsProfile = {0x3050F401, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2765 + const IID IID_IHTMLOptionButtonElement = {0x3050F2BC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2766 + const IID IID_IHTMLOptionElement = {0x3050F211, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2767 + const IID IID_IHTMLOptionElement2 = {0x3050F697, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2768 + const IID IID_IHTMLOptionElement3 = {0x3050F820, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2769 + const IID IID_IHTMLOptionElementFactory = {0x3050F38C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2770 + const IID IID_IHTMLOptionsHolder = {0x3050F378, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2771 + const IID IID_IHTMLPainter = {0x3050F6A6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2772 + const IID IID_IHTMLPainterEventInfo = {0x3050F6DF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2773 + const IID IID_IHTMLPainterOverlay = {0x3050F7E3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2774 + const IID IID_IHTMLPaintSite = {0x3050F6A7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2775 + const IID IID_IHTMLParaElement = {0x3050F1F5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2776 + const IID IID_IHTMLParamElement = {0x3050F83D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2777 + const IID IID_IHTMLPersistData = {0x3050F4C5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2778 + const IID IID_IHTMLPersistDataOM = {0x3050F4C0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2779 + const IID IID_IHTMLPhraseElement = {0x3050F20A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2780 + const IID IID_IHTMLPhraseElement2 = {0x3050F824, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2781 + const IID IID_IHTMLPluginsCollection = {0x3050F3FD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2782 + const IID IID_IHTMLPopup = {0x3050F666, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2783 + const IID IID_IHTMLPrivateWindow = {0x3050F6DC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2784 + const IID IID_IHTMLPrivateWindow2 = {0x3050F7E5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2785 + const IID IID_IHTMLPrivateWindow3 = {0x3050F840, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2786 + const IID IID_IHTMLRect = {0x3050F4A3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2787 + const IID IID_IHTMLRectCollection = {0x3050F4A4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2788 + const IID IID_IHTMLRenderStyle = {0x3050F6AE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2789 + const IID IID_IHTMLRuleStyle = {0x3050F3CF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2790 + const IID IID_IHTMLRuleStyle2 = {0x3050F4AC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2791 + const IID IID_IHTMLRuleStyle3 = {0x3050F657, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2792 + const IID IID_IHTMLRuleStyle4 = {0x3050F817, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2793 + const IID IID_IHTMLScreen = {0x3050F35C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2794 + const IID IID_IHTMLScreen2 = {0x3050F84A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2795 + const IID IID_IHTMLScriptElement = {0x3050F28B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2796 + const IID IID_IHTMLScriptElement2 = {0x3050F828, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2797 + const IID IID_IHTMLSelectElement = {0x3050F244, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2798 + const IID IID_IHTMLSelectElement2 = {0x3050F5ED, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2799 + const IID IID_IHTMLSelectElement3 = {0x3050F687, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2800 + const IID IID_IHTMLSelectElement4 = {0x3050F838, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2801 + const IID IID_IHTMLSelectionObject = {0x3050F25A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2802 + const IID IID_IHTMLSelectionObject2 = {0x3050F7EC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2803 + const IID IID_IHTMLSpanElement = {0x3050F3F3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2804 + const IID IID_IHTMLSpanFlow = {0x3050F3E5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2805 + const IID IID_IHTMLStyle = {0x3050F25E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2806 + const IID IID_IHTMLStyle2 = {0x3050F4A2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2807 + const IID IID_IHTMLStyle3 = {0x3050F656, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2808 + const IID IID_IHTMLStyle4 = {0x3050F816, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2809 + const IID IID_IHTMLStyleElement = {0x3050F375, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2810 + const IID IID_IHTMLStyleFontFace = {0x3050F3D5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2811 + const IID IID_IHTMLStyleSheet = {0x3050F2E3, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2812 + const IID IID_IHTMLStyleSheet2 = {0x3050F3D1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2813 + const IID IID_IHTMLStyleSheetPage = {0x3050F7EE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2814 + const IID IID_IHTMLStyleSheetPagesCollection = {0x3050F7F0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2815 + const IID IID_IHTMLStyleSheetRule = {0x3050F357, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2816 + const IID IID_IHTMLStyleSheetRulesCollection = {0x3050F2E5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2817 + const IID IID_IHTMLStyleSheetsCollection = {0x3050F37E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2818 + const IID IID_IHTMLSubmitData = {0x3050F645, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2819 + const IID IID_IHTMLTable = {0x3050F21E, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2820 + const IID IID_IHTMLTable2 = {0x3050F4AD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2821 + const IID IID_IHTMLTable3 = {0x3050F829, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2822 + const IID IID_IHTMLTableCaption = {0x3050F2EB, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2823 + const IID IID_IHTMLTableCell = {0x3050F23D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2824 + const IID IID_IHTMLTableCell2 = {0x3050F82D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2825 + const IID IID_IHTMLTableCol = {0x3050F23A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2826 + const IID IID_IHTMLTableCol2 = {0x3050F82A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2827 + const IID IID_IHTMLTableRow = {0x3050F23C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2828 + const IID IID_IHTMLTableRow2 = {0x3050F4A1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2829 + const IID IID_IHTMLTableRow3 = {0x3050F82C, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2830 + const IID IID_IHTMLTableRowMetrics = {0x3050F413, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2831 + const IID IID_IHTMLTableSection = {0x3050F23B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2832 + const IID IID_IHTMLTableSection2 = {0x3050F5C7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2833 + const IID IID_IHTMLTableSection3 = {0x3050F82B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2834 + const IID IID_IHTMLTextAreaElement = {0x3050F2AA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2835 + const IID IID_IHTMLTextContainer = {0x3050F230, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2836 + const IID IID_IHTMLTextElement = {0x3050F218, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2837 + const IID IID_IHTMLTextRangeMetrics = {0x3050F40B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2838 + const IID IID_IHTMLTextRangeMetrics2 = {0x3050F4A6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2839 + const IID IID_IHTMLTitleElement = {0x3050F322, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2840 + const IID IID_IHTMLTxtRange = {0x3050F220, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2841 + const IID IID_IHTMLTxtRangeCollection = {0x3050F7ED, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2842 + const IID IID_IHTMLUListElement = {0x3050F1DD, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2843 + const IID IID_IHTMLUniqueName = {0x3050F4D0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2844 + const IID IID_IHTMLUnknownElement = {0x3050F209, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2845 + const IID IID_IHTMLUrnCollection = {0x3050F5E2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2846 + const IID IID_IHTMLUserDataOM = {0x3050F48F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2847 + const IID IID_IHTMLViewFilter = {0x3050F2F1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2848 + const IID IID_IHTMLViewFilterSite = {0x3050F2F4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2849 + const IID IID_IHTMLWindow2 = {0x332C4427, 0x26CB, 0x11D0, [0xB4, 0x83, 0x00, 0xC0, 0x4F, 0xD9, 0x01, 0x19]}; 2850 + const IID IID_IHTMLWindow3 = {0x3050F4AE, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2851 + const IID IID_IHTMLWindow4 = {0x3050F6CF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2852 + const IID IID_IHttpNegotiate = {0x79EAC9D2, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2853 + const IID IID_IHttpNegotiate2 = {0x4F9F9FCB, 0xE0F4, 0x48EB, [0xB7, 0xAB, 0xFA, 0x2E, 0xA9, 0x36, 0x5C, 0xB4]}; 2854 + const IID IID_IHttpSecurity = {0x79EAC9D7, 0xBAFA, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2855 + const IID IID_IHWEventHandler = {0xC1FB73D0, 0xEC3A, 0x4BA2, [0xB5, 0x12, 0x8C, 0xDB, 0x91, 0x87, 0xB6, 0xD1]}; 2856 + const IID IID_IImageDecodeEventSink = {0xBAA342A0, 0x2DED, 0x11D0, [0x86, 0xF4, 0x00, 0xA0, 0xC9, 0x13, 0xF7, 0x50]}; 2857 + const IID IID_IImageDecodeFilter = {0xA3CCEDF3, 0x2DE2, 0x11D0, [0x86, 0xF4, 0x00, 0xA0, 0xC9, 0x13, 0xF7, 0x50]}; 2858 + const IID IID_IImageList = {0x46EB5926, 0x582E, 0x4017, [0x9F, 0xDF, 0xE8, 0x99, 0x8D, 0xAA, 0x09, 0x50]}; 2859 + const IID IID_IIMEServices = {0x3050F6CA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2860 + const IID IID_IImgCtx = {0x3050F3D7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2861 + const IID IID_IIndexDefinition = {0x0C733A68, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2862 + const IID IID_IInputObject = {0x68284FAA, 0x6A48, 0x11D0, [0x8C, 0x78, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xB4]}; 2863 + const IID IID_IInputObjectSite = {0xF1DB8392, 0x7331, 0x11D0, [0x8C, 0x99, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8]}; 2864 + const IID IID_IIntDitherer = {0x06670CA0, 0xECEF, 0x11D0, [0xAA, 0xE7, 0x00, 0xC0, 0x4F, 0xC9, 0xB3, 0x04]}; 2865 + const IID IID_IIntelliForms = {0x9B9F68E6, 0x1AAA, 0x11D2, [0xBC, 0xA5, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 2866 + const IID IID_IInterfaceRelated = {0xD1FB5A79, 0x7706, 0x11D1, [0xAD, 0xBA, 0x00, 0xC0, 0x4F, 0xC2, 0xAD, 0xC0]}; 2867 + const IID IID_IInternalMoniker = {0x00000011, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2868 + const IID IID_IInternalUnknown = {0x00000021, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2869 + const IID IID_IInternet = {0x79EAC9E0, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2870 + const IID IID_IInternetBindInfo = {0x79EAC9E1, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2871 + const IID IID_IInternetConnectionDevice = {0x04DF6137, 0x5610, 0x11D4, [0x9E, 0xC8, 0x00, 0xB0, 0xD0, 0x22, 0xDD, 0x1F]}; 2872 + const IID IID_IInternetConnectionDeviceClient = {0x04DF6139, 0x5610, 0x11D4, [0x9E, 0xC8, 0x00, 0xB0, 0xD0, 0x22, 0xDD, 0x1F]}; 2873 + const IID IID_IInternetConnectionDeviceSharedCo = {0x04DF6138, 0x5610, 0x11D4, [0x9E, 0xC8, 0x00, 0xB0, 0xD0, 0x22, 0xDD, 0x1F]}; 2874 + const IID IID_IInternetHostSecurityManager = {0x3AF280B6, 0xCB3F, 0x11D0, [0x89, 0x1E, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4]}; 2875 + const IID IID_IInternetPriority = {0x79EAC9EB, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2876 + const IID IID_IInternetProtocol = {0x79EAC9E4, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2877 + const IID IID_IInternetProtocolInfo = {0x79EAC9EC, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2878 + const IID IID_IInternetProtocolRoot = {0x79EAC9E3, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2879 + const IID IID_IInternetProtocolSink = {0x79EAC9E5, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2880 + const IID IID_IInternetProtocolSinkStackable = {0x79EAC9F0, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2881 + const IID IID_IInternetSecurityManager = {0x79EAC9EE, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2882 + const IID IID_IInternetSecurityMgrSite = {0x79EAC9ED, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2883 + const IID IID_IInternetSession = {0x79EAC9E7, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2884 + const IID IID_IInternetThreadSwitch = {0x79EAC9E8, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2885 + const IID IID_IInternetZoneManager = {0x79EAC9EF, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 2886 + const IID IID_IIpxAdapterInfo = {0x98133270, 0x4B20, 0x11D1, [0xAB, 0x01, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2887 + const IID IID_IItemNameLimits = {0x1DF0D7F1, 0xB267, 0x4D28, [0x8B, 0x10, 0x12, 0xE2, 0x32, 0x02, 0xA5, 0xC4]}; 2888 + const IID IID_IJolietDiscMaster = {0xE3BC42CE, 0x4E5C, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 2889 + const IID IID_IKeyFrameControl = {0xC3341386, 0xAF91, 0x4EF9, [0x83, 0xB6, 0xBE, 0x37, 0x62, 0xE4, 0x2E, 0xCB]}; 2890 + const IID IID_IKsControl = {0x28F54685, 0x06FD, 0x11D2, [0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96]}; 2891 + const IID IID_IKsPropertySet = {0x31EFAC30, 0x515C, 0x11D0, [0xA9, 0xAA, 0x00, 0xAA, 0x00, 0x61, 0xBE, 0x93]}; 2892 + const IID IID_ILayoutRect = {0x3050F665, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2893 + const IID IID_ILayoutStorage = {0x0E6D4D90, 0x6738, 0x11CF, [0x96, 0x08, 0x00, 0xAA, 0x00, 0x68, 0x0D, 0xB4]}; 2894 + const IID IID_ILineInfo = {0x3050F7E2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2895 + const IID IID_ILocalMachine = {0x60664CAF, 0xAF0D, 0x1005, [0xA3, 0x00, 0x5C, 0x7D, 0x25, 0xFF, 0x22, 0xA0]}; 2896 + const IID IID_ILockBytes = {0x0000000A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2897 + const IID IID_ILogger = {0xD9598418, 0x304E, 0x4F94, [0xB6, 0xA1, 0xE6, 0x42, 0xFE, 0x95, 0xED, 0x57]}; 2898 + const IID IID_ILogManager = {0x4759DC11, 0x8DA0, 0x4261, [0xBB, 0xFB, 0xEC, 0x32, 0x19, 0x11, 0xD1, 0xC9]}; 2899 + const IID IID_ILogonEnumUsers = {0x60664CAF, 0xAF0D, 0x1004, [0xA3, 0x00, 0x5C, 0x7D, 0x25, 0xFF, 0x22, 0xA0]}; 2900 + const IID IID_ILogonStatusHost = {0x60664CAF, 0xAF0D, 0x1007, [0xA3, 0x00, 0x5C, 0x7D, 0x25, 0xFF, 0x22, 0xA0]}; 2901 + const IID IID_ILogonUser = {0x60664CAF, 0xAF0D, 0x1003, [0xA3, 0x00, 0x5C, 0x7D, 0x25, 0xFF, 0x22, 0xA0]}; 2902 + const IID IID_IMachineDebugManager = {0x51973C2C, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2903 + const IID IID_IMachineDebugManagerCookie = {0x51973C2D, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2904 + const IID IID_IMachineDebugManagerEvents = {0x51973C2E, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 2905 + const IID IID_IMailAutoDiscovery = {0x80402DEE, 0xB114, 0x4D32, [0xB4, 0x4E, 0x82, 0xFD, 0x82, 0x34, 0xC9, 0x2A]}; 2906 + const IID IID_IMailProtocolADEntry = {0x40EF8C68, 0xD554, 0x47ED, [0xAA, 0x37, 0xE5, 0xFB, 0x6B, 0xC9, 0x10, 0x75]}; 2907 + const IID IID_IMalloc = {0x00000002, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2908 + const IID IID_IMallocSpy = {0x0000001D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2909 + const IID IID_IMapMIMEToCLSID = {0xD9E89500, 0x30FA, 0x11D0, [0xB7, 0x24, 0x00, 0xAA, 0x00, 0x6C, 0x1A, 0x01]}; 2910 + const IID IID_IMarkupContainer = {0x3050F5F9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2911 + const IID IID_IMarkupContainer2 = {0x3050F648, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2912 + const IID IID_IMarkupPointer = {0x3050F49F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2913 + const IID IID_IMarkupPointer2 = {0x3050F675, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2914 + const IID IID_IMarkupServices = {0x3050F4A0, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2915 + const IID IID_IMarkupServices2 = {0x3050F682, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2916 + const IID IID_IMarkupTextFrags = {0x3050F5FA, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 2917 + const IID IID_IMarshal = {0x00000003, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2918 + const IID IID_IMarshal2 = {0x000001CF, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2919 + const IID IID_IMcastAddressAllocation = {0xDF0DAEF1, 0xA289, 0x11D1, [0x86, 0x97, 0x00, 0x60, 0x08, 0xB0, 0xE5, 0xD2]}; 2920 + const IID IID_IMcastLeaseInfo = {0xDF0DAEFD, 0xA289, 0x11D1, [0x86, 0x97, 0x00, 0x60, 0x08, 0xB0, 0xE5, 0xD2]}; 2921 + const IID IID_IMcastScope = {0xDF0DAEF4, 0xA289, 0x11D1, [0x86, 0x97, 0x00, 0x60, 0x08, 0xB0, 0xE5, 0xD2]}; 2922 + const IID IID_IMDDataset = {0xA07CCCD1, 0x8148, 0x11D0, [0x87, 0xBB, 0x00, 0xC0, 0x4F, 0xC3, 0x39, 0x42]}; 2923 + const IID IID_IMDFind = {0xA07CCCD2, 0x8148, 0x11D0, [0x87, 0xBB, 0x00, 0xC0, 0x4F, 0xC3, 0x39, 0x42]}; 2924 + const IID IID_IMDRangeRowset = {0x0C733AA0, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2925 + const IID IID_IMessageFilter = {0x00000016, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2926 + const IID IID_IMigrationWizardAuto = {0xCE20DAB9, 0xB353, 0x469B, [0x8B, 0x4D, 0x6D, 0xBB, 0x3A, 0x7B, 0xA0, 0x16]}; 2927 + const IID IID_IMimeInfo = {0xF77459A0, 0xBF9A, 0x11CF, [0xBA, 0x4E, 0x00, 0xC0, 0x4F, 0xD7, 0x08, 0x16]}; 2928 + const IID IID_IMLangCodePages = {0x359F3443, 0xBD4A, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 2929 + const IID IID_IMLangConvertCharset = {0xD66D6F98, 0xCDAA, 0x11D0, [0xB8, 0x22, 0x00, 0xC0, 0x4F, 0xC9, 0xB3, 0x1F]}; 2930 + const IID IID_IMLangFontLink = {0x359F3441, 0xBD4A, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 2931 + const IID IID_IMLangFontLink2 = {0xDCCFC162, 0x2B38, 0x11D2, [0xB7, 0xEC, 0x00, 0xC0, 0x4F, 0x8F, 0x5D, 0x9A]}; 2932 + const IID IID_IMLangLineBreakConsole = {0xF5BE2EE1, 0xBFD7, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 2933 + const IID IID_IMLangString = {0xC04D65CE, 0xB70D, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 2934 + const IID IID_IMLangStringAStr = {0xC04D65D2, 0xB70D, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 2935 + const IID IID_IMLangStringBufA = {0xD24ACD23, 0xBA72, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 2936 + const IID IID_IMLangStringBufW = {0xD24ACD21, 0xBA72, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 2937 + const IID IID_IMLangStringWStr = {0xC04D65D0, 0xB70D, 0x11D0, [0xB1, 0x88, 0x00, 0xAA, 0x00, 0x38, 0xC9, 0x69]}; 2938 + const IID IID_IMofCompiler = {0x6DAF974E, 0x2E37, 0x11D2, [0xAE, 0xC9, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 2939 + const IID IID_IMoniker = {0x0000000F, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2940 + const IID IID_IMonikerProp = {0xA5CA5F7F, 0x1847, 0x4D87, [0x9C, 0x5B, 0x91, 0x85, 0x09, 0xF7, 0x51, 0x1D]}; 2941 + const IID IID_IMountedVolume = {0x12518492, 0x00B2, 0x11D2, [0x9F, 0xA5, 0x9E, 0x34, 0x20, 0x52, 0x41, 0x53]}; 2942 + const IID IID_IMulticastControl = {0x410FA507, 0x4DC6, 0x415A, [0x90, 0x14, 0x63, 0x38, 0x75, 0xD5, 0x40, 0x6E]}; 2943 + const IID IID_IMultiLanguage = {0x275C23E1, 0x3747, 0x11D0, [0x9F, 0xEA, 0x00, 0xAA, 0x00, 0x3F, 0x86, 0x46]}; 2944 + const IID IID_IMultiLanguage2 = {0xDCCFC164, 0x2B38, 0x11D2, [0xB7, 0xEC, 0x00, 0xC0, 0x4F, 0x8F, 0x5D, 0x9A]}; 2945 + const IID IID_IMultiLanguage3 = {0x4E5868AB, 0xB157, 0x4623, [0x9A, 0xCC, 0x6A, 0x1D, 0x9C, 0xAE, 0xBE, 0x04]}; 2946 + const IID IID_IMultiplePropertyAccess = {0xEC81FEDE, 0xD432, 0x11CE, [0x92, 0x44, 0x00, 0x20, 0xAF, 0x6E, 0x72, 0xDB]}; 2947 + const IID IID_IMultipleResults = {0x0C733A90, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 2948 + const IID IID_IMultiQI = {0x00000020, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 2949 + const IID IID_INamedPropertyBag = {0xFB700430, 0x952C, 0x11D1, [0x94, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]}; 2950 + const IID IID_INATEventManager = {0x624BD588, 0x9060, 0x4109, [0xB0, 0xB0, 0x1A, 0xDB, 0xBC, 0xAC, 0x32, 0xDF]}; 2951 + const IID IID_INATExternalIPAddressCallback = {0x9C416740, 0xA34E, 0x446F, [0xBA, 0x06, 0xAB, 0xD0, 0x4C, 0x31, 0x49, 0xAE]}; 2952 + const IID IID_INATNumberOfEntriesCallback = {0xC83A0A74, 0x91EE, 0x41B6, [0xB6, 0x7A, 0x67, 0xE0, 0xF0, 0x0B, 0xBD, 0x78]}; 2953 + const IID IID_INetCfg = {0xC0E8AE93, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2954 + const IID IID_INetCfgBindingInterface = {0xC0E8AE94, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2955 + const IID IID_INetCfgBindingPath = {0xC0E8AE96, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2956 + const IID IID_INetCfgClass = {0xC0E8AE97, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2957 + const IID IID_INetCfgClassSetup = {0xC0E8AE9D, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2958 + const IID IID_INetCfgComponent = {0xC0E8AE99, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2959 + const IID IID_INetCfgComponentBindings = {0xC0E8AE9E, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2960 + const IID IID_INetCfgComponentControl = {0x932238DF, 0xBEA1, 0x11D0, [0x92, 0x98, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0xCF]}; 2961 + const IID IID_INetCfgComponentNotifyBinding = {0x932238E1, 0xBEA1, 0x11D0, [0x92, 0x98, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0xCF]}; 2962 + const IID IID_INetCfgComponentNotifyGlobal = {0x932238E2, 0xBEA1, 0x11D0, [0x92, 0x98, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0xCF]}; 2963 + const IID IID_INetCfgComponentPrivate = {0x98133273, 0x4B20, 0x11D1, [0xAB, 0x01, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2964 + const IID IID_INetCfgComponentPropertyUi = {0x932238E0, 0xBEA1, 0x11D0, [0x92, 0x98, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0xCF]}; 2965 + const IID IID_INetCfgComponentSetup = {0x932238E3, 0xBEA1, 0x11D0, [0x92, 0x98, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0xCF]}; 2966 + const IID IID_INetCfgComponentSysPrep = {0xC0E8AE9A, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2967 + const IID IID_INetCfgComponentUpperEdge = {0x932238E4, 0xBEA1, 0x11D0, [0x92, 0x98, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0xCF]}; 2968 + const IID IID_INetCfgInternalSetup = {0x98133276, 0x4B20, 0x11D1, [0xAB, 0x01, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2969 + const IID IID_INetCfgLock = {0xC0E8AE9F, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2970 + const IID IID_INetCfgPnpReconfigCallback = {0x8D84BD35, 0xE227, 0x11D2, [0xB7, 0x00, 0x00, 0xA0, 0xC9, 0x8A, 0x6A, 0x85]}; 2971 + const IID IID_INetCfgSpecialCase = {0xC0E8AE95, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2972 + const IID IID_INetCfgSysPrep = {0xC0E8AE98, 0x306E, 0x11D1, [0xAA, 0xCF, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2973 + const IID IID_INetConnection = {0xC08956A1, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2974 + const IID IID_INetConnection2 = {0xFAEDCF6A, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2975 + const IID IID_INetConnectionBrandingInfo = {0xFAEDCF5B, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2976 + const IID IID_INetConnectionCMUtil = {0xFAEDCF60, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2977 + const IID IID_INetConnectionCommonUi = {0xC08956A5, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2978 + const IID IID_INetConnectionConnectUi = {0xC08956A3, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2979 + const IID IID_INetConnectionHNetUtil = {0xFAEDCF64, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2980 + const IID IID_INetConnectionManager = {0xC08956A2, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2981 + const IID IID_INetConnectionManager2 = {0xFAEDCF69, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2982 + const IID IID_INetConnectionManagerDebug = {0xFAEDCF5D, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2983 + const IID IID_INetConnectionManagerEvents = {0xC08956BA, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2984 + const IID IID_INetConnectionNotifySink = {0xFAEDCF5C, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2985 + const IID IID_INetConnectionPropertyUi = {0xC08956A4, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2986 + const IID IID_INetConnectionPropertyUi2 = {0xC08956B9, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2987 + const IID IID_INetConnectionProps = {0xF4277C95, 0xCE5B, 0x463D, [0x81, 0x67, 0x56, 0x62, 0xD9, 0xBC, 0xAA, 0x72]}; 2988 + const IID IID_INetConnectionRefresh = {0xFAEDCF5F, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2989 + const IID IID_INetConnectionSysTray = {0xFAEDCF65, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2990 + const IID IID_INetConnectionUiLock = {0xFAEDCF50, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2991 + const IID IID_INetConnectionUiUtilities = {0xFAEDCF5E, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2992 + const IID IID_INetConnectionWizardUi = {0xFAEDCF51, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2993 + const IID IID_INetConnectionWizardUiContext = {0xFAEDCF52, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2994 + const IID IID_INetCrawler = {0x49C929EE, 0xA1B7, 0x4C58, [0xB5, 0x39, 0xE6, 0x3B, 0xE3, 0x92, 0xB6, 0xF3]}; 2995 + const IID IID_INetDefaultConnection = {0xFAEDCF66, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2996 + const IID IID_INetInboundConnection = {0xFAEDCF53, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2997 + const IID IID_INetInstallQueue = {0x98133274, 0x4B20, 0x11D1, [0xAB, 0x01, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2998 + const IID IID_INetLanConnection = {0xFAEDCF54, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 2999 + const IID IID_INetLanConnectionUiInfo = {0xC08956A6, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3000 + const IID IID_INetLanConnectionWizardUi = {0xFAEDCF56, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3001 + const IID IID_INetMachinePolicies = {0xFAEDCF68, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3002 + const IID IID_INetRasConnection = {0xFAEDCF57, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3003 + const IID IID_INetRasConnectionIpUiInfo = {0xFAEDCF58, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3004 + const IID IID_INetSharedAccessConnection = {0xFAEDCF55, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3005 + const IID IID_INetSharingConfiguration = {0xC08956B6, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3006 + const IID IID_INetSharingEveryConnectionCollect = {0x33C4643C, 0x7811, 0x46FA, [0xA8, 0x9A, 0x76, 0x85, 0x97, 0xBD, 0x72, 0x23]}; 3007 + const IID IID_INetSharingManager = {0xC08956B7, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3008 + const IID IID_INetSharingPortMapping = {0xC08956B1, 0x1CD3, 0x11D1, [0xB1, 0xC5, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3009 + const IID IID_INetSharingPortMappingCollection = {0x02E4A2DE, 0xDA20, 0x4E34, [0x89, 0xC8, 0xAC, 0x22, 0x27, 0x5A, 0x01, 0x0B]}; 3010 + const IID IID_INetSharingPortMappingProps = {0x24B7E9B5, 0xE38F, 0x4685, [0x85, 0x1B, 0x00, 0x89, 0x2C, 0xF5, 0xF9, 0x40]}; 3011 + const IID IID_INetSharingPrivateConnectionColle = {0x38AE69E0, 0x4409, 0x402A, [0xA2, 0xCB, 0xE9, 0x65, 0xC7, 0x27, 0xF8, 0x40]}; 3012 + const IID IID_INetSharingPublicConnectionCollec = {0x7D7A6355, 0xF372, 0x4971, [0xA1, 0x49, 0xBF, 0xC9, 0x27, 0xBE, 0x76, 0x2A]}; 3013 + const IID IID_INewShortcutHookA = {0x000214E1, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3014 + const IID IID_INewShortcutHookW = {0x000214F7, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3015 + const IID IID_INewWDEvents = {0x0751C551, 0x7568, 0x41C9, [0x8E, 0x5B, 0xE2, 0x2E, 0x38, 0x91, 0x92, 0x36]}; 3016 + const IID IID_INotification = {0xC733E4A3, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3017 + const IID IID_INotificationHelper = {0xC733E4AB, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3018 + const IID IID_INotificationManager = {0x95531501, 0x8782, 0x4845, [0x90, 0x1D, 0x31, 0x2F, 0x36, 0xBA, 0x6C, 0x6E]}; 3019 + const IID IID_INotificationMgr = {0xC733E4A4, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3020 + const IID IID_INotificationPing = {0xC733E4AC, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3021 + const IID IID_INotificationProcessMgr0 = {0xC733E4AE, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3022 + const IID IID_INotificationReport = {0xC733E4A7, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3023 + const IID IID_INotificationRunning = {0xC733E4AD, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3024 + const IID IID_INotificationSink = {0xC733E4A5, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3025 + const IID IID_INotifyDBEvents = {0xDB526CC0, 0xD188, 0x11CD, [0xAD, 0x48, 0x00, 0xAA, 0x00, 0x3C, 0x9C, 0xB6]}; 3026 + const IID IID_INotifyReplica = {0x99180163, 0xDA16, 0x101A, [0x93, 0x5C, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 3027 + const IID IID_INotifyUI = {0xE5E8D401, 0x1A37, 0x4FBF, [0x88, 0x0C, 0x82, 0x6C, 0xC8, 0x95, 0x16, 0xFD]}; 3028 + const IID IID_IObjectAccessControl = {0x0C733AA3, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3029 + const IID IID_IObjectIdentity = {0xCA04B7E6, 0x0D21, 0x11D1, [0x8C, 0xC5, 0x00, 0xC0, 0x4F, 0xC2, 0xB0, 0x85]}; 3030 + const IID IID_IObjectManager = {0xD51351DF, 0x6394, 0x4236, [0x97, 0x83, 0x65, 0xED, 0x05, 0x63, 0x10, 0x68]}; 3031 + const IID IID_IObjectSafety = {0xCB5BDC81, 0x93C1, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 3032 + const IID IID_IObjectWithSite = {0xFC4801A3, 0x2BA9, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 3033 + const IID IID_IObjMgr = {0x00BB2761, 0x6A77, 0x11D0, [0xA5, 0x35, 0x00, 0xC0, 0x4F, 0xD7, 0xD0, 0x62]}; 3034 + const IID IID_IOInet = {0x79EAC9E0, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3035 + const IID IID_IOInetBindClient = {0x79EAC9E2, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3036 + const IID IID_IOInetBindInfo = {0x79EAC9E1, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3037 + const IID IID_IOInetCache = {0x79EAC9EA, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3038 + const IID IID_IOInetPriority = {0x79EAC9EB, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3039 + const IID IID_IOInetProtocol = {0x79EAC9E4, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3040 + const IID IID_IOInetProtocolInfo = {0x79EAC9EC, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3041 + const IID IID_IOInetProtocolRoot = {0x79EAC9E3, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3042 + const IID IID_IOInetProtocolSink = {0x79EAC9E5, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3043 + const IID IID_IOInetSession = {0x79EAC967, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3044 + const IID IID_IOInetThreadSwitch = {0x79EAC968, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3045 + const IID IID_IOldSyncMgrRegister = {0x894D8C55, 0xBDDF, 0x11D1, [0xB8, 0x5D, 0x00, 0xC0, 0x4F, 0xB9, 0x39, 0x81]}; 3046 + const IID IID_IOldSyncMgrSynchronize = {0x6295DF28, 0x35EE, 0x11D1, [0x87, 0x07, 0x00, 0xC0, 0x4F, 0xD9, 0x33, 0x27]}; 3047 + const IID IID_IOldSyncMgrSynchronizeCallback = {0x6295DF29, 0x35EE, 0x11D1, [0x87, 0x07, 0x00, 0xC0, 0x4F, 0xD9, 0x33, 0x27]}; 3048 + const IID IID_IOleAdviseHolder = {0x00000111, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3049 + const IID IID_IOleCache = {0x0000011E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3050 + const IID IID_IOleCache2 = {0x00000128, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3051 + const IID IID_IOleCacheControl = {0x00000129, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3052 + const IID IID_IOleClientSite = {0x00000118, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3053 + const IID IID_IOleCommandTarget = {0xB722BCCB, 0x4E68, 0x101B, [0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70]}; 3054 + const IID IID_IOleContainer = {0x0000011B, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3055 + const IID IID_IOleControl = {0xB196B288, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 3056 + const IID IID_IOleControlSite = {0xB196B289, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 3057 + const IID IID_IOleDocument = {0xB722BCC5, 0x4E68, 0x101B, [0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70]}; 3058 + const IID IID_IOleDocumentSite = {0xB722BCC7, 0x4E68, 0x101B, [0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70]}; 3059 + const IID IID_IOleDocumentView = {0xB722BCC6, 0x4E68, 0x101B, [0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70]}; 3060 + const IID IID_IOleInPlaceActiveObject = {0x00000117, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3061 + const IID IID_IOleInPlaceFrame = {0x00000116, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3062 + const IID IID_IOleInPlaceObject = {0x00000113, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3063 + const IID IID_IOleInPlaceObjectWindowless = {0x1C2056CC, 0x5EF4, 0x101B, [0x8B, 0xC8, 0x00, 0xAA, 0x00, 0x3E, 0x3B, 0x29]}; 3064 + const IID IID_IOleInPlaceSite = {0x00000119, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3065 + const IID IID_IOleInPlaceSiteEx = {0x9C2CAD80, 0x3424, 0x11CF, [0xB6, 0x70, 0x00, 0xAA, 0x00, 0x4C, 0xD6, 0xD8]}; 3066 + const IID IID_IOleInPlaceSiteWindowless = {0x922EADA0, 0x3424, 0x11CF, [0xB6, 0x70, 0x00, 0xAA, 0x00, 0x4C, 0xD6, 0xD8]}; 3067 + const IID IID_IOleInPlaceUIWindow = {0x00000115, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3068 + const IID IID_IOleItemContainer = {0x0000011C, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3069 + const IID IID_IOleLink = {0x0000011D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3070 + const IID IID_IOleManager = {0x0000011F, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3071 + const IID IID_IOleObject = {0x00000112, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3072 + const IID IID_IOleParentUndoUnit = {0xA1FAF330, 0xEF97, 0x11CE, [0x9B, 0xC9, 0x00, 0xAA, 0x00, 0x60, 0x8E, 0x01]}; 3073 + const IID IID_IOlePresObj = {0x00000120, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3074 + const IID IID_IOleUndoManager = {0xD001F200, 0xEF97, 0x11CE, [0x9B, 0xC9, 0x00, 0xAA, 0x00, 0x60, 0x8E, 0x01]}; 3075 + const IID IID_IOleUndoUnit = {0x894AD3B0, 0xEF97, 0x11CE, [0x9B, 0xC9, 0x00, 0xAA, 0x00, 0x60, 0x8E, 0x01]}; 3076 + const IID IID_IOleWindow = {0x00000114, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3077 + const IID IID_IOmHistory = {0xFECEAAA2, 0x8405, 0x11CF, [0x8B, 0xA1, 0x00, 0xAA, 0x00, 0x47, 0x6D, 0xA6]}; 3078 + const IID IID_IOmNavigator = {0xFECEAAA5, 0x8405, 0x11CF, [0x8B, 0xA1, 0x00, 0xAA, 0x00, 0x47, 0x6D, 0xA6]}; 3079 + const IID IID_IOpaqueDataInfo = {0x000001A9, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3080 + const IID IID_IOpenRowset = {0x0C733A69, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3081 + const IID IID_IOplockStorage = {0x8D19C834, 0x8879, 0x11D1, [0x83, 0xE9, 0x00, 0xC0, 0x4F, 0xC2, 0xC6, 0xD4]}; 3082 + const IID IID_IOpsProfileSimple = {0x7DD1362C, 0x28B6, 0x11D2, [0xBC, 0xA7, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 3083 + const IID IID_IOptionArray = {0x22B6D492, 0x0F88, 0x11D1, [0xBA, 0x19, 0x00, 0xC0, 0x4F, 0xD9, 0x12, 0xD0]}; 3084 + const IID IID_IOverlappedCompletion = {0x521A28F0, 0xE40B, 0x11CE, [0xB2, 0xC9, 0x00, 0xAA, 0x00, 0x68, 0x09, 0x37]}; 3085 + const IID IID_IOverlappedStream = {0x49384070, 0xE40A, 0x11CE, [0xB2, 0xC9, 0x00, 0xAA, 0x00, 0x68, 0x09, 0x37]}; 3086 + const IID IID_IParentRowset = {0x0C733AAA, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3087 + const IID IID_IParseDisplayName = {0x0000011A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3088 + const IID IID_IParser = {0x186442B0, 0x472E, 0x11D1, [0x89, 0x52, 0x00, 0xC0, 0x4F, 0xD6, 0x11, 0xD7]}; 3089 + const IID IID_IParserSession = {0x186442B1, 0x472E, 0x11D1, [0x89, 0x52, 0x00, 0xC0, 0x4F, 0xD6, 0x11, 0xD7]}; 3090 + const IID IID_IParserTreeProperties = {0x186442B2, 0x472E, 0x11D1, [0x89, 0x52, 0x00, 0xC0, 0x4F, 0xD6, 0x11, 0xD7]}; 3091 + const IID IID_IParserVerify = {0x186442B3, 0x472E, 0x11D1, [0x89, 0x52, 0x00, 0xC0, 0x4F, 0xD6, 0x11, 0xD7]}; 3092 + const IID IID_IPassportClientServices = {0xB30F7305, 0x5967, 0x45D1, [0xB7, 0xBC, 0xD6, 0xEB, 0x71, 0x63, 0xD7, 0x70]}; 3093 + const IID IID_IPeerFactory = {0x6663F9D3, 0xB482, 0x11D1, [0x89, 0xC6, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4]}; 3094 + const IID IID_IPendingProxyConnection = {0xB68E5043, 0x3E3D, 0x4CC2, [0xB9, 0xC1, 0x5F, 0x8F, 0x88, 0xFE, 0xE8, 0x1C]}; 3095 + const IID IID_IPerPropertyBrowsing = {0x376BD3AA, 0x3845, 0x101B, [0x84, 0xED, 0x08, 0x00, 0x2B, 0x2E, 0xC7, 0x13]}; 3096 + const IID IID_IPerPropertyBrowsing2 = {0x51973C54, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3097 + const IID IID_IPersist = {0x0000010C, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3098 + const IID IID_IPersistentDataChannel = {0xA180E934, 0xD92A, 0x415D, [0x91, 0x44, 0x75, 0x9F, 0x80, 0x54, 0xE8, 0xF6]}; 3099 + const IID IID_IPersistFile = {0x0000010B, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3100 + const IID IID_IPersistFolder = {0x000214EA, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3101 + const IID IID_IPersistFolder2 = {0x1AC3D9F0, 0x175C, 0x11D1, [0x95, 0xBE, 0x00, 0x60, 0x97, 0x97, 0xEA, 0x4F]}; 3102 + const IID IID_IPersistFolder3 = {0xCEF04FDF, 0xFE72, 0x11D2, [0x87, 0xA5, 0x00, 0xC0, 0x4F, 0x68, 0x37, 0xCF]}; 3103 + const IID IID_IPersistHistory = {0x91A565C1, 0xE38F, 0x11D0, [0x94, 0xBF, 0x00, 0xA0, 0xC9, 0x05, 0x5C, 0xBF]}; 3104 + const IID IID_IPersistIDList = {0x1079ACFC, 0x29BD, 0x11D3, [0x8E, 0x0D, 0x00, 0xC0, 0x4F, 0x68, 0x37, 0xD5]}; 3105 + const IID IID_IPersistMemory = {0xBD1AE5E0, 0xA6AE, 0x11CE, [0xBD, 0x37, 0x50, 0x42, 0x00, 0xC1, 0x00, 0x00]}; 3106 + const IID IID_IPersistMoniker = {0x79EAC9C9, 0xBAF9, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3107 + const IID IID_IPersistNetConnection = {0xFAEDCF59, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3108 + const IID IID_IPersistPropertyBag = {0x37D84F60, 0x42CB, 0x11CE, [0x81, 0x35, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 3109 + const IID IID_IPersistPropertyBag2 = {0x22F55881, 0x280B, 0x11D0, [0xA8, 0xA9, 0x00, 0xA0, 0xC9, 0x0C, 0x20, 0x04]}; 3110 + const IID IID_IPersistQuery = {0x1A3114B8, 0xA62E, 0x11D0, [0xA6, 0xC5, 0x00, 0xA0, 0xC9, 0x06, 0xAF, 0x45]}; 3111 + const IID IID_IPersistStorage = {0x0000010A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3112 + const IID IID_IPersistStream = {0x00000109, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3113 + const IID IID_IPersistStreamInit = {0x7FD52380, 0x4E07, 0x101B, [0xAE, 0x2D, 0x08, 0x00, 0x2B, 0x2E, 0xC7, 0x13]}; 3114 + const IID IID_IPhraseSink = {0xCC906FF0, 0xC058, 0x101A, [0xB5, 0x54, 0x08, 0x00, 0x2B, 0x33, 0xB0, 0xE6]}; 3115 + const IID IID_IPicture = {0x7BF80980, 0xBF32, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 3116 + const IID IID_IPictureDisp = {0x7BF80981, 0xBF32, 0x101A, [0x8B, 0xBB, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 3117 + const IID IID_IPipeByte = {0xDB2F3ACA, 0x2F86, 0x11D1, [0x8E, 0x04, 0x00, 0xC0, 0x4F, 0xB9, 0x98, 0x9A]}; 3118 + const IID IID_IPipeDouble = {0xDB2F3ACE, 0x2F86, 0x11D1, [0x8E, 0x04, 0x00, 0xC0, 0x4F, 0xB9, 0x98, 0x9A]}; 3119 + const IID IID_IPipeLong = {0xDB2F3ACC, 0x2F86, 0x11D1, [0x8E, 0x04, 0x00, 0xC0, 0x4F, 0xB9, 0x98, 0x9A]}; 3120 + const IID IID_IPointerInactive = {0x55980BA0, 0x35AA, 0x11CF, [0xB6, 0x71, 0x00, 0xAA, 0x00, 0x4C, 0xD6, 0xD8]}; 3121 + const IID IID_IPrimaryControlChannel = {0x1A2E8B62, 0x9012, 0x4BE6, [0x84, 0xAE, 0x32, 0xBD, 0x66, 0xBA, 0x65, 0x7A]}; 3122 + const IID IID_IPrint = {0xB722BCC9, 0x4E68, 0x101B, [0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70]}; 3123 + const IID IID_IPrintDialogCallback = {0x5852A2C3, 0x6530, 0x11D1, [0xB6, 0xA3, 0x00, 0x00, 0xF8, 0x75, 0x7B, 0xF9]}; 3124 + const IID IID_IPrintDialogServices = {0x509AAEDA, 0x5639, 0x11D1, [0xB6, 0xA1, 0x00, 0x00, 0xF8, 0x75, 0x7B, 0xF9]}; 3125 + const IID IID_IPrivacyServices = {0x3050F84B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3126 + const IID IID_IPrivateDispatch = {0x86AB4BBE, 0x65F6, 0x11D1, [0x8C, 0x13, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 3127 + const IID IID_IPrivateUnknown = {0x89126BAB, 0x6EAD, 0x11D1, [0x8C, 0x18, 0x00, 0xC0, 0x4F, 0xD8, 0xD5, 0x03]}; 3128 + const IID IID_IPrivSyncMgrSynchronizeInvoke = {0x6295DF2E, 0x35EE, 0x11D1, [0x87, 0x07, 0x00, 0xC0, 0x4F, 0xD9, 0x33, 0x27]}; 3129 + const IID IID_IProcessDebugManager = {0x51973C2F, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3130 + const IID IID_IProcessDebugManager32 = {0x51973C2F, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3131 + const IID IID_IProcessDebugManager64 = {0x56B9FC1C, 0x63A9, 0x4CC1, [0xAC, 0x21, 0x08, 0x7D, 0x69, 0xA1, 0x7F, 0xAB]}; 3132 + const IID IID_IProcessInitControl = {0x72380D55, 0x8D2B, 0x43A3, [0x85, 0x13, 0x2B, 0x6E, 0xF3, 0x14, 0x34, 0xE9]}; 3133 + const IID IID_IProfferService = {0xCB728B20, 0xF786, 0x11CE, [0x92, 0xAD, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xD0]}; 3134 + const IID IID_IProgressDialog = {0xEBBC7C04, 0x315E, 0x11D2, [0xB6, 0x2F, 0x00, 0x60, 0x97, 0xDF, 0x5B, 0xD4]}; 3135 + const IID IID_IProgressNotify = {0xA9D758A0, 0x4617, 0x11CF, [0x95, 0xFC, 0x00, 0xAA, 0x00, 0x68, 0x0D, 0xB4]}; 3136 + const IID IID_IProgSink = {0x3050F371, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3137 + const IID IID_IPropertyBag = {0x55272A00, 0x42CB, 0x11CE, [0x81, 0x35, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 3138 + const IID IID_IPropertyBag2 = {0x22F55882, 0x280B, 0x11D0, [0xA8, 0xA9, 0x00, 0xA0, 0xC9, 0x0C, 0x20, 0x04]}; 3139 + const IID IID_IPropertyBagEx = {0x20011801, 0x5DE6, 0x11D1, [0x8E, 0x38, 0x00, 0xC0, 0x4F, 0xB9, 0x38, 0x6D]}; 3140 + const IID IID_IPropertyFrame = {0xB196B28A, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 3141 + const IID IID_IPropertyMap = {0xC733E4A2, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3142 + const IID IID_IPropertyMapper = {0xB324B226, 0x41A0, 0x11D0, [0x8C, 0x91, 0x00, 0x20, 0xAF, 0x1D, 0x74, 0x0E]}; 3143 + const IID IID_IPropertyNotifySink = {0x9BFBBC02, 0xEFF1, 0x101A, [0x84, 0xED, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 3144 + const IID IID_IPropertyPage = {0xB196B28D, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 3145 + const IID IID_IPropertyPage2 = {0x01E44665, 0x24AC, 0x101B, [0x84, 0xED, 0x08, 0x00, 0x2B, 0x2E, 0xC7, 0x13]}; 3146 + const IID IID_IPropertyPageSite = {0xB196B28C, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 3147 + const IID IID_IPropertySetContainer = {0xB4FFAE60, 0xA7CA, 0x11CD, [0xB5, 0x8B, 0x00, 0x00, 0x6B, 0x82, 0x91, 0x56]}; 3148 + const IID IID_IPropertySetStorage = {0x0000013A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3149 + const IID IID_IPropertyStorage = {0x00000138, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3150 + const IID IID_IPropertyUI = {0x757A7D9F, 0x919A, 0x4118, [0x99, 0xD7, 0xDB, 0xB2, 0x08, 0xC8, 0xCC, 0x66]}; 3151 + const IID IID_IPropSheetPage = {0x000214F6, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3152 + const IID IID_IProvideClassInfo = {0xB196B283, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 3153 + const IID IID_IProvideClassInfo2 = {0xA6BC3AC0, 0xDBAA, 0x11CE, [0x9D, 0xE3, 0x00, 0xAA, 0x00, 0x4B, 0xB8, 0x51]}; 3154 + const IID IID_IProvideExpressionContexts = {0x51973C41, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3155 + const IID IID_IProvideMoniker = {0x0C733A4D, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3156 + const IID IID_IProvideMultipleClassInfo = {0xA7ABA9C1, 0x8983, 0x11CF, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 3157 + const IID IID_IProxy = {0x00000027, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3158 + const IID IID_IProxyManager = {0x00000008, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3159 + const IID IID_IPSFactory = {0x00000009, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3160 + const IID IID_IPSFactoryBuffer = {0xD5F569D0, 0x593B, 0x101A, [0xB5, 0x69, 0x08, 0x00, 0x2B, 0x2D, 0xBF, 0x7A]}; 3161 + const IID IID_IPublishedApp = {0x1BC752E0, 0x9046, 0x11D1, [0xB8, 0xB3, 0x00, 0x60, 0x08, 0x05, 0x93, 0x82]}; 3162 + const IID IID_IPublishingWizard = {0xAA9198BB, 0xCCEC, 0x472D, [0xBE, 0xED, 0x19, 0xA4, 0xF6, 0x73, 0x3F, 0x7A]}; 3163 + const IID IID_IQualityControl = {0x6BC096AB, 0x0CE6, 0x11D1, [0xBA, 0xAE, 0x00, 0xC0, 0x4F, 0xC2, 0xE2, 0x0D]}; 3164 + const IID IID_IQuery = {0x0C733A51, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3165 + const IID IID_IQueryAssociations = {0xC46CA590, 0x3C3F, 0x11D2, [0xBE, 0xE6, 0x00, 0x00, 0xF8, 0x05, 0xCA, 0x57]}; 3166 + const IID IID_IQueryCancelAutoPlay = {0xDDEFE873, 0x6997, 0x4E68, [0xBE, 0x26, 0x39, 0xB6, 0x33, 0xAD, 0xBE, 0x12]}; 3167 + const IID IID_IQueryContinue = {0x7307055C, 0xB24A, 0x486B, [0x9F, 0x25, 0x16, 0x3E, 0x59, 0x7A, 0x28, 0xA9]}; 3168 + const IID IID_IQueryForm = {0x8CFCEE30, 0x39BD, 0x11D0, [0xB8, 0xD1, 0x00, 0xA0, 0x24, 0xAB, 0x2D, 0xBB]}; 3169 + const IID IID_IQueryFrame = {0x7E8C7C20, 0x7C9D, 0x11D0, [0x91, 0x3F, 0x00, 0xAA, 0x00, 0xC1, 0x6E, 0x65]}; 3170 + const IID IID_IQueryHandler = {0xA60CC73F, 0xE0FC, 0x11D0, [0x97, 0x50, 0x00, 0xA0, 0xC9, 0x06, 0xAF, 0x45]}; 3171 + const IID IID_IQueryInfo = {0x00021500, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3172 + const IID IID_IQuickActivate = {0xCF51ED10, 0x62FE, 0x11CF, [0xBF, 0x86, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0x36]}; 3173 + const IID IID_IRadioButton = {0x3050F69B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3174 + const IID IID_IRatingNotification = {0x639447BD, 0xB2D3, 0x44B9, [0x9F, 0xB0, 0x51, 0x0F, 0x23, 0xCB, 0x45, 0xE4]}; 3175 + const IID IID_IReadData = {0x0C733A6A, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3176 + const IID IID_IReadEvents = {0xF64AEFDE, 0x3376, 0x11D1, [0xBE, 0x5B, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0xBB]}; 3177 + const IID IID_IRecalcEngine = {0x3050F496, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3178 + const IID IID_IRecalcHost = {0x3050F497, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3179 + const IID IID_IRecalcHostDebug = {0x3050F5F7, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3180 + const IID IID_IRecalcProperty = {0x3050F5D6, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3181 + const IID IID_IReconcilableObject = {0x99180162, 0xDA16, 0x101A, [0x93, 0x5C, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 3182 + const IID IID_IReconcileInitiator = {0x99180161, 0xDA16, 0x101A, [0x93, 0x5C, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 3183 + const IID IID_IRecordInfo = {0x0000002F, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3184 + const IID IID_IRedbookDiscMaster = {0xE3BC42CD, 0x4E5C, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 3185 + const IID IID_IReferenceClock = {0x56A86897, 0x0AD4, 0x11CE, [0xB0, 0x3A, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70]}; 3186 + const IID IID_IRegisterProvider = {0x0C733AB9, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3187 + const IID IID_IRegisterVirusScanEngine = {0x0825E060, 0xB961, 0x11CF, [0xAA, 0xFA, 0x00, 0xAA, 0x00, 0xB6, 0x01, 0x5C]}; 3188 + const IID IID_IReleaseMarshalBuffers = {0xEB0CB9E8, 0x7996, 0x11D2, [0x87, 0x2E, 0x00, 0x00, 0xF8, 0x08, 0x08, 0x59]}; 3189 + const IID IID_IRemoteCallBack = {0x8947C648, 0x3833, 0x11D1, [0x86, 0x82, 0x00, 0xC0, 0x4F, 0xBF, 0xE1, 0x71]}; 3190 + const IID IID_IRemoteComputer = {0x000214FE, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3191 + const IID IID_IRemoteDebugApplication = {0x51973C30, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3192 + const IID IID_IRemoteDebugApplicationEvents = {0x51973C33, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3193 + const IID IID_IRemoteDebugApplicationEx = {0x51973C01, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3194 + const IID IID_IRemoteDebugApplicationThread = {0x51973C37, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3195 + const IID IID_IRemoteDebugApplicationThreadEx = {0xB9B32B0C, 0x9147, 0x11D1, [0x94, 0xEA, 0x00, 0xC0, 0x4F, 0xA3, 0x02, 0xA1]}; 3196 + const IID IID_IRemoteDelaydC = {0x394540A0, 0x6FCF, 0x11D0, [0xAC, 0xE0, 0x00, 0x00, 0xF8, 0x01, 0x14, 0xD3]}; 3197 + const IID IID_IRemoteESP = {0xE99A04AB, 0xAB95, 0x11D0, [0xBE, 0x96, 0x00, 0xA0, 0xC9, 0x49, 0x89, 0xDE]}; 3198 + const IID IID_IRemoteFinder = {0x944AD532, 0xB09D, 0x11CE, [0xB5, 0x9C, 0x00, 0xAA, 0x00, 0x6C, 0xB3, 0x7D]}; 3199 + const IID IID_IRemoteStats = {0x944AD531, 0xB09D, 0x11CE, [0xB5, 0x9C, 0x00, 0xAA, 0x00, 0x6C, 0xB3, 0x7D]}; 3200 + const IID IID_IRequest = {0x6BC096A7, 0x0CE6, 0x11D1, [0xBA, 0xAE, 0x00, 0xC0, 0x4F, 0xC2, 0xE2, 0x0D]}; 3201 + const IID IID_IRequestHandler = {0x6BC096AA, 0x0CE6, 0x11D1, [0xBA, 0xAE, 0x00, 0xC0, 0x4F, 0xC2, 0xE2, 0x0D]}; 3202 + const IID IID_IRequestSource = {0x6BC096A9, 0x0CE6, 0x11D1, [0xBA, 0xAE, 0x00, 0xC0, 0x4F, 0xC2, 0xE2, 0x0D]}; 3203 + const IID IID_IRequestState = {0x6BC096BA, 0x0CE6, 0x11D1, [0xBA, 0xAE, 0x00, 0xC0, 0x4F, 0xC2, 0xE2, 0x0D]}; 3204 + const IID IID_IResolveShellLink = {0x5CD52983, 0x9449, 0x11D2, [0x96, 0x3A, 0x00, 0xC0, 0x4F, 0x79, 0xAD, 0xF0]}; 3205 + const IID IID_IRichEditOle = {0x00020D00, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3206 + const IID IID_IRichEditOleCallback = {0x00020D03, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3207 + const IID IID_IRootStorage = {0x00000012, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3208 + const IID IID_IROTData = {0xF29F6BC0, 0x5021, 0x11CE, [0xAA, 0x15, 0x00, 0x00, 0x69, 0x01, 0x29, 0x3F]}; 3209 + const IID IID_IRow = {0x0C733AB4, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3210 + const IID IID_IRowChange = {0x0C733AB5, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3211 + const IID IID_IRowInfo = {0x0C733AC1, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3212 + const IID IID_IRowPosition = {0x0C733A94, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3213 + const IID IID_IRowPositionChange = {0x0997A571, 0x126E, 0x11D0, [0x9F, 0x8A, 0x00, 0xA0, 0xC9, 0xA0, 0x63, 0x1E]}; 3214 + const IID IID_IRowSchemaChange = {0x0C733AAE, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3215 + const IID IID_IRowset = {0x0C733A7C, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3216 + const IID IID_IRowsetAsynch = {0x0C733A0F, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3217 + const IID IID_IRowsetBookmark = {0x0C733AC2, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3218 + const IID IID_IRowsetChange = {0x0C733A05, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3219 + const IID IID_IRowsetChapterMember = {0x0C733AA8, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3220 + const IID IID_IRowsetCopyRows = {0x0C733A6B, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3221 + const IID IID_IRowsetCurrentIndex = {0x0C733ABD, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3222 + const IID IID_IRowsetExactScroll = {0x0C733A7F, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3223 + const IID IID_IRowsetFind = {0x0C733A9D, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3224 + const IID IID_IRowsetIdentity = {0x0C733A09, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3225 + const IID IID_IRowsetIndex = {0x0C733A82, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3226 + const IID IID_IRowsetInfo = {0x0C733A55, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3227 + const IID IID_IRowsetKeys = {0x0C733A12, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3228 + const IID IID_IRowsetLocate = {0x0C733A7D, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3229 + const IID IID_IRowsetNewRowAfter = {0x0C733A71, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3230 + const IID IID_IRowsetNextRowset = {0x0C733A72, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3231 + const IID IID_IRowsetNotify = {0x0C733A83, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3232 + const IID IID_IRowsetQueryStatus = {0xA7AC77ED, 0xF8D7, 0x11CE, [0xA7, 0x98, 0x00, 0x20, 0xF8, 0x00, 0x80, 0x24]}; 3233 + const IID IID_IRowsetRefresh = {0x0C733AA9, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3234 + const IID IID_IRowsetResynch = {0x0C733A84, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3235 + const IID IID_IRowsetScroll = {0x0C733A7E, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3236 + const IID IID_IRowsetUpdate = {0x0C733A6D, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3237 + const IID IID_IRowsetView = {0x0C733A99, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3238 + const IID IID_IRowsetWatchAll = {0x0C733A73, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3239 + const IID IID_IRowsetWatchNotify = {0x0C733A44, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3240 + const IID IID_IRowsetWatchRegion = {0x0C733A45, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3241 + const IID IID_IRowsetWithParameters = {0x0C733A6E, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3242 + const IID IID_IRpcChannel = {0x00000004, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3243 + const IID IID_IRpcChannelBuffer = {0xD5F56B60, 0x593B, 0x101A, [0xB5, 0x69, 0x08, 0x00, 0x2B, 0x2D, 0xBF, 0x7A]}; 3244 + const IID IID_IRpcChannelBuffer2 = {0x594F31D0, 0x7F19, 0x11D0, [0xB1, 0x94, 0x00, 0xA0, 0xC9, 0x0D, 0xC8, 0xBF]}; 3245 + const IID IID_IRpcChannelBuffer3 = {0x25B15600, 0x0115, 0x11D0, [0xBF, 0x0D, 0x00, 0xAA, 0x00, 0xB8, 0xDF, 0xD2]}; 3246 + const IID IID_IRpcHelper = {0x00000149, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3247 + const IID IID_IRpcOptions = {0x00000144, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3248 + const IID IID_IRpcProxy = {0x00000007, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3249 + const IID IID_IRpcProxyBuffer = {0xD5F56A34, 0x593B, 0x101A, [0xB5, 0x69, 0x08, 0x00, 0x2B, 0x2D, 0xBF, 0x7A]}; 3250 + const IID IID_IRpcStub = {0x00000005, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3251 + const IID IID_IRpcStubBuffer = {0xD5F56AFC, 0x593B, 0x101A, [0xB5, 0x69, 0x08, 0x00, 0x2B, 0x2D, 0xBF, 0x7A]}; 3252 + const IID IID_IRpcSyntaxNegotiate = {0x58A08519, 0x24C8, 0x4935, [0xB4, 0x82, 0x3F, 0xD8, 0x23, 0x33, 0x3A, 0x4F]}; 3253 + const IID IID_IRTC = {0x4811EA40, 0xB582, 0x11CE, [0xB5, 0xAF, 0x00, 0xAA, 0x00, 0x6C, 0xB3, 0x7D]}; 3254 + const IID IID_IRTCBuddy = {0xFCB136C8, 0x7B90, 0x4E0C, [0xBE, 0xFE, 0x56, 0xED, 0xF0, 0xBA, 0x6F, 0x1C]}; 3255 + const IID IID_IRTCBuddyEvent = {0xF36D755D, 0x17E6, 0x404E, [0x95, 0x4F, 0x0F, 0xC0, 0x75, 0x74, 0xC7, 0x8D]}; 3256 + const IID IID_IRTCClient = {0x07829E45, 0x9A34, 0x408E, [0xA0, 0x11, 0xBD, 0xDF, 0x13, 0x48, 0x7C, 0xD1]}; 3257 + const IID IID_IRTCClientEvent = {0x2B493B7A, 0x3CBA, 0x4170, [0x9C, 0x8B, 0x76, 0xA9, 0xDA, 0xCD, 0xD6, 0x44]}; 3258 + const IID IID_IRTCClientPresence = {0x11C3CBCC, 0x0744, 0x42D1, [0x96, 0x8A, 0x51, 0xAA, 0x1B, 0xB2, 0x74, 0xC6]}; 3259 + const IID IID_IRTCClientProvisioning = {0xB9F5CF06, 0x65B9, 0x4A80, [0xA0, 0xE6, 0x73, 0xCA, 0xE3, 0xEF, 0x38, 0x22]}; 3260 + const IID IID_IRTCCollection = {0xEC7C8096, 0xB918, 0x4044, [0x94, 0xF1, 0xE4, 0xFB, 0xA0, 0x36, 0x1D, 0x5C]}; 3261 + const IID IID_IRTCEnumBuddies = {0xF7296917, 0x5569, 0x4B3B, [0xB3, 0xAF, 0x98, 0xD1, 0x14, 0x4B, 0x2B, 0x87]}; 3262 + const IID IID_IRTCEnumParticipants = {0xFCD56F29, 0x4A4F, 0x41B2, [0xBA, 0x5C, 0xF5, 0xBC, 0xCC, 0x06, 0x0B, 0xF6]}; 3263 + const IID IID_IRTCEnumProfiles = {0x29B7C41C, 0xED82, 0x4BCA, [0x84, 0xAD, 0x39, 0xD5, 0x10, 0x1B, 0x58, 0xE3]}; 3264 + const IID IID_IRTCEnumWatchers = {0xA87D55D7, 0xDB74, 0x4ED1, [0x9C, 0xA4, 0x77, 0xA0, 0xE4, 0x1B, 0x41, 0x3E]}; 3265 + const IID IID_IRTCEventNotification = {0x13FA24C7, 0x5748, 0x4B21, [0x91, 0xF5, 0x73, 0x97, 0x60, 0x9C, 0xE7, 0x47]}; 3266 + const IID IID_IRTCIntensityEvent = {0x4C23BF51, 0x390C, 0x4992, [0xA4, 0x1D, 0x41, 0xEE, 0xC0, 0x5B, 0x2A, 0x4B]}; 3267 + const IID IID_IRTCMediaEvent = {0x099944FB, 0xBCDA, 0x453E, [0x8C, 0x41, 0xE1, 0x3D, 0xA2, 0xAD, 0xF7, 0xF3]}; 3268 + const IID IID_IRTCMessagingEvent = {0xD3609541, 0x1B29, 0x4DE5, [0xA4, 0xAD, 0x5A, 0xEB, 0xAF, 0x31, 0x95, 0x12]}; 3269 + const IID IID_IRTCParticipant = {0xAE86ADD5, 0x26B1, 0x4414, [0xAF, 0x1D, 0xB9, 0x4C, 0xD9, 0x38, 0xD7, 0x39]}; 3270 + const IID IID_IRTCParticipantStateChangeEvent = {0x09BCB597, 0xF0FA, 0x48F9, [0xB4, 0x20, 0x46, 0x8C, 0xEA, 0x7F, 0xDE, 0x04]}; 3271 + const IID IID_IRTCPresenceContact = {0x8B22F92C, 0xCD90, 0x42DB, [0xA7, 0x33, 0x21, 0x22, 0x05, 0xC3, 0xE3, 0xDF]}; 3272 + const IID IID_IRTCProfile = {0xD07ECA9E, 0x4062, 0x4DD4, [0x9E, 0x7D, 0x72, 0x2A, 0x49, 0xBA, 0x73, 0x03]}; 3273 + const IID IID_IRTCProfileEvent = {0xD6D5AB3B, 0x770E, 0x43E8, [0x80, 0x0A, 0x79, 0xB0, 0x62, 0x39, 0x5F, 0xCA]}; 3274 + const IID IID_IRTCRegistrationStateChangeEvent = {0x62D0991B, 0x50AB, 0x4F02, [0xB9, 0x48, 0xCA, 0x94, 0xF2, 0x6F, 0x8F, 0x95]}; 3275 + const IID IID_IRTCSession = {0x387C8086, 0x99BE, 0x42FB, [0x99, 0x73, 0x7C, 0x0F, 0xC0, 0xCA, 0x9F, 0xA8]}; 3276 + const IID IID_IRTCSessionOperationCompleteEven = {0xA6BFF4C0, 0xF7C8, 0x4D3C, [0x9A, 0x41, 0x35, 0x50, 0xF7, 0x8A, 0x95, 0xB0]}; 3277 + const IID IID_IRTCSessionStateChangeEvent = {0xB5BAD703, 0x5952, 0x48B3, [0x93, 0x21, 0x7F, 0x45, 0x00, 0x52, 0x15, 0x06]}; 3278 + const IID IID_IRTCWatcher = {0xC7CEDAD8, 0x346B, 0x4D1B, [0xAC, 0x02, 0xA2, 0x08, 0x8D, 0xF9, 0xBE, 0x4F]}; 3279 + const IID IID_IRTCWatcherEvent = {0xF30D7261, 0x587A, 0x424F, [0x82, 0x2C, 0x31, 0x27, 0x88, 0xF4, 0x35, 0x48]}; 3280 + const IID IID_IRunnableObject = {0x00000126, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3281 + const IID IID_IRunnableTask = {0x85788D00, 0x6807, 0x11D0, [0xB8, 0x10, 0x00, 0xC0, 0x4F, 0xD7, 0x06, 0xEC]}; 3282 + const IID IID_IRunningObjectTable = {0x00000010, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3283 + const IID IID_IScheduleGroup = {0xC733E4A6, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3284 + const IID IID_IScopedOperations = {0x0C733AB0, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3285 + const IID IID_IScriptEntry = {0x0AEE2A95, 0xBCBB, 0x11D0, [0x8C, 0x72, 0x00, 0xC0, 0x4F, 0xC2, 0xB0, 0x85]}; 3286 + const IID IID_IScriptErrorList = {0xF3470F24, 0x15FD, 0x11D2, [0xBB, 0x2E, 0x00, 0x80, 0x5F, 0xF7, 0xEF, 0xCA]}; 3287 + const IID IID_IScriptNode = {0x0AEE2A94, 0xBCBB, 0x11D0, [0x8C, 0x72, 0x00, 0xC0, 0x4F, 0xC2, 0xB0, 0x85]}; 3288 + const IID IID_IScriptScriptlet = {0x0AEE2A96, 0xBCBB, 0x11D0, [0x8C, 0x72, 0x00, 0xC0, 0x4F, 0xC2, 0xB0, 0x85]}; 3289 + const IID IID_IScrollBar = {0x3050F689, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3290 + const IID IID_ISdo = {0x56BC53DE, 0x96DB, 0x11D1, [0xBF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]}; 3291 + const IID IID_ISdoCollection = {0x56BC53E2, 0x96DB, 0x11D1, [0xBF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]}; 3292 + const IID IID_ISdoDictionaryOld = {0xD432E5F4, 0x53D8, 0x11D2, [0x9A, 0x3A, 0x00, 0xC0, 0x4F, 0xB9, 0x98, 0xAC]}; 3293 + const IID IID_ISdoMachine = {0x479F6E75, 0x49A2, 0x11D2, [0x8E, 0xCA, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x19]}; 3294 + const IID IID_ISdoServiceControl = {0x479F6E74, 0x49A2, 0x11D2, [0x8E, 0xCA, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x19]}; 3295 + const IID IID_ISearch = {0xBA9239A4, 0x3DD5, 0x11D2, [0xBF, 0x8B, 0x00, 0xC0, 0x4F, 0xB9, 0x36, 0x61]}; 3296 + const IID IID_ISearchAssistantOC = {0x72423E8F, 0x8011, 0x11D2, [0xBE, 0x79, 0x00, 0xA0, 0xC9, 0xA8, 0x3D, 0xA1]}; 3297 + const IID IID_ISearchAssistantOC2 = {0x72423E8F, 0x8011, 0x11D2, [0xBE, 0x79, 0x00, 0xA0, 0xC9, 0xA8, 0x3D, 0xA2]}; 3298 + const IID IID_ISearchAssistantOC3 = {0x72423E8F, 0x8011, 0x11D2, [0xBE, 0x79, 0x00, 0xA0, 0xC9, 0xA8, 0x3D, 0xA3]}; 3299 + const IID IID_ISearchCommandExt = {0x1D2EFD50, 0x75CE, 0x11D1, [0xB7, 0x5A, 0x00, 0xA0, 0xC9, 0x05, 0x64, 0xFE]}; 3300 + const IID IID_ISearchContext = {0x09F656A2, 0x41AF, 0x480C, [0x88, 0xF7, 0x16, 0xCC, 0x0D, 0x16, 0x46, 0x15]}; 3301 + const IID IID_ISearches = {0x47C922A2, 0x3DD5, 0x11D2, [0xBF, 0x8B, 0x00, 0xC0, 0x4F, 0xB9, 0x36, 0x61]}; 3302 + const IID IID_ISearchQueryHits = {0xED8CE7E0, 0x106C, 0x11CE, [0x84, 0xE2, 0x00, 0xAA, 0x00, 0x4B, 0x99, 0x86]}; 3303 + const IID IID_ISecondaryControlChannel = {0xA23F9D10, 0x714C, 0x41FE, [0x84, 0x71, 0xFF, 0xB1, 0x9B, 0xC2, 0x84, 0x54]}; 3304 + const IID IID_ISecureUrlHost = {0xC81984C4, 0x74C8, 0x11D2, [0xBA, 0xA9, 0x00, 0xC0, 0x4F, 0xC2, 0x04, 0x0E]}; 3305 + const IID IID_ISecurityInfo = {0x0C733AA4, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3306 + const IID IID_ISegment = {0x3050F683, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3307 + const IID IID_ISegmentList = {0x3050F605, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3308 + const IID IID_ISegmentListIterator = {0x3050F692, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3309 + const IID IID_ISelectionObject2 = {0x3050F7FC, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3310 + const IID IID_ISelectionServices = {0x3050F684, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3311 + const IID IID_ISelectionServicesListener = {0x3050F699, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3312 + const IID IID_ISensLogon = {0xD597BAB3, 0x5B9F, 0x11D1, [0x8D, 0xD2, 0x00, 0xAA, 0x00, 0x4A, 0xBD, 0x5E]}; 3313 + const IID IID_ISensLogon2 = {0xD597BAB4, 0x5B9F, 0x11D1, [0x8D, 0xD2, 0x00, 0xAA, 0x00, 0x4A, 0xBD, 0x5E]}; 3314 + const IID IID_ISensNetwork = {0xD597BAB1, 0x5B9F, 0x11D1, [0x8D, 0xD2, 0x00, 0xAA, 0x00, 0x4A, 0xBD, 0x5E]}; 3315 + const IID IID_ISensOnNow = {0xD597BAB2, 0x5B9F, 0x11D1, [0x8D, 0xD2, 0x00, 0xAA, 0x00, 0x4A, 0xBD, 0x5E]}; 3316 + const IID IID_ISequenceNumber = {0x3050F6C1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3317 + const IID IID_ISequentialStream = {0x0C733A30, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3318 + const IID IID_IServerSecurity = {0x0000013E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3319 + const IID IID_IServiceProvider = {0x6D5140C1, 0x7436, 0x11CE, [0x80, 0x34, 0x00, 0xAA, 0x00, 0x60, 0x09, 0xFA]}; 3320 + const IID IID_ISessionProperties = {0x0C733A85, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3321 + const IID IID_ISetNextStatement = {0x51973C03, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3322 + const IID IID_ISharedAccessBeacon = {0xFAEDCF6B, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3323 + const IID IID_ISharedAccessBeaconFinder = {0xFAEDCF67, 0x31FE, 0x11D1, [0xAA, 0xD2, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3324 + const IID IID_IShellApp = {0xA3E14960, 0x935F, 0x11D1, [0xB8, 0xB8, 0x00, 0x60, 0x08, 0x05, 0x93, 0x82]}; 3325 + const IID IID_IShellBrowser = {0x000214E2, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3326 + const IID IID_IShellChangeNotify = {0xD82BE2B1, 0x5764, 0x11D0, [0xA9, 0x6E, 0x00, 0xC0, 0x4F, 0xD7, 0x05, 0xA2]}; 3327 + const IID IID_IShellCopyHookA = {0x000214EF, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3328 + const IID IID_IShellCopyHookW = {0x000214FC, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3329 + const IID IID_IShellDetails = {0x000214EC, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3330 + const IID IID_IShellDetails3 = {0xD2A105C0, 0x87D5, 0x11D1, [0x83, 0x91, 0x00, 0x00, 0xF8, 0x04, 0x61, 0xCF]}; 3331 + const IID IID_IShellDispatch = {0xD8F015C0, 0xC278, 0x11CE, [0xA4, 0x9E, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 3332 + const IID IID_IShellDispatch2 = {0xA4C6892C, 0x3BA9, 0x11D2, [0x9D, 0xEA, 0x00, 0xC0, 0x4F, 0xB1, 0x61, 0x62]}; 3333 + const IID IID_IShellDispatch3 = {0x177160CA, 0xBB5A, 0x411C, [0x84, 0x1D, 0xBD, 0x38, 0xFA, 0xCD, 0xEA, 0xA0]}; 3334 + const IID IID_IShellDispatch4 = {0xEFD84B2D, 0x4BCF, 0x4298, [0xBE, 0x25, 0xEB, 0x54, 0x2A, 0x59, 0xFB, 0xDA]}; 3335 + const IID IID_IShellExecuteHookA = {0x000214F5, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3336 + const IID IID_IShellExecuteHookW = {0x000214FB, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3337 + const IID IID_IShellExtInit = {0x000214E8, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3338 + const IID IID_IShellFavoritesNameSpace = {0x55136804, 0xB2DE, 0x11D1, [0xB9, 0xF2, 0x00, 0xA0, 0xC9, 0x8B, 0xC5, 0x47]}; 3339 + const IID IID_IShellFolder = {0x000214E6, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3340 + const IID IID_IShellFolder2 = {0x93F2F68C, 0x1D1B, 0x11D3, [0xA3, 0x0E, 0x00, 0xC0, 0x4F, 0x79, 0xAB, 0xD1]}; 3341 + const IID IID_IShellFolderViewCB = {0x2047E320, 0xF2A9, 0x11CE, [0xAE, 0x65, 0x08, 0x00, 0x2B, 0x2E, 0x12, 0x62]}; 3342 + const IID IID_IShellFolderViewDual = {0xE7A1AF80, 0x4D96, 0x11CF, [0x96, 0x0C, 0x00, 0x80, 0xC7, 0xF4, 0xEE, 0x85]}; 3343 + const IID IID_IShellFolderViewDual2 = {0x31C147B6, 0x0ADE, 0x4A3C, [0xB5, 0x14, 0xDD, 0xF9, 0x32, 0xEF, 0x6D, 0x17]}; 3344 + const IID IID_IShellIcon = {0x000214E5, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3345 + const IID IID_IShellIconOverlay = {0x7D688A70, 0xC613, 0x11D0, [0x99, 0x9B, 0x00, 0xC0, 0x4F, 0xD6, 0x55, 0xE1]}; 3346 + const IID IID_IShellIconOverlayIdentifier = {0x0C6C4200, 0xC589, 0x11D0, [0x99, 0x9A, 0x00, 0xC0, 0x4F, 0xD6, 0x55, 0xE1]}; 3347 + const IID IID_IShellImageData = {0xBFDEEC12, 0x8040, 0x4403, [0xA5, 0xEA, 0x9E, 0x07, 0xDA, 0xFC, 0xF5, 0x30]}; 3348 + const IID IID_IShellImageDataAbort = {0x53FB8E58, 0x50C0, 0x4003, [0xB4, 0xAA, 0x0C, 0x8D, 0xF2, 0x8E, 0x7F, 0x3A]}; 3349 + const IID IID_IShellImageDataFactory = {0x9BE8ED5C, 0xEDAB, 0x4D75, [0x90, 0xF3, 0xBD, 0x5B, 0xDB, 0xB2, 0x1C, 0x82]}; 3350 + const IID IID_IShellLinkA = {0x000214EE, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3351 + const IID IID_IShellLinkDataList = {0x45E2B4AE, 0xB1C3, 0x11D0, [0xB9, 0x2F, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1]}; 3352 + const IID IID_IShellLinkDual = {0x88A05C00, 0xF000, 0x11CE, [0x83, 0x50, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00]}; 3353 + const IID IID_IShellLinkDual2 = {0x317EE249, 0xF12E, 0x11D2, [0xB1, 0xE4, 0x00, 0xC0, 0x4F, 0x8E, 0xEB, 0x3E]}; 3354 + const IID IID_IShellLinkW = {0x000214F9, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3355 + const IID IID_IShellNameSpace = {0xE572D3C9, 0x37BE, 0x4AE2, [0x82, 0x5D, 0xD5, 0x21, 0x76, 0x3E, 0x31, 0x08]}; 3356 + const IID IID_IShellPropSheetExt = {0x000214E9, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3357 + const IID IID_IShellUIHelper = {0x729FE2F8, 0x1EA8, 0x11D1, [0x8F, 0x85, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 3358 + const IID IID_IShellView = {0x000214E3, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3359 + const IID IID_IShellView2 = {0x88E39E80, 0x3578, 0x11CF, [0xAE, 0x69, 0x08, 0x00, 0x2B, 0x2E, 0x12, 0x62]}; 3360 + const IID IID_IShellWindows = {0x85CB6900, 0x4D95, 0x11CF, [0x96, 0x0C, 0x00, 0x80, 0xC7, 0xF4, 0xEE, 0x85]}; 3361 + const IID IID_ISimpleCommandCreator = {0x5E341AB7, 0x02D0, 0x11D1, [0x90, 0x0C, 0x00, 0xA0, 0xC9, 0x06, 0x37, 0x96]}; 3362 + const IID IID_ISimpleConnectionPoint = {0x51973C3E, 0xCB0C, 0x11D0, [0xB5, 0xC9, 0x00, 0xA0, 0x24, 0x4A, 0x0E, 0x7A]}; 3363 + const IID IID_ISimpleFrameSite = {0x742B0E01, 0x14E6, 0x101B, [0x91, 0x4E, 0x00, 0xAA, 0x00, 0x30, 0x0C, 0xAB]}; 3364 + const IID IID_ISliderBar = {0x3050F68D, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3365 + const IID IID_ISniffStream = {0x4EF17940, 0x30E0, 0x11D0, [0xB7, 0x24, 0x00, 0xAA, 0x00, 0x6C, 0x1A, 0x01]}; 3366 + const IID IID_ISOAPRequest = {0xAD194525, 0x6E01, 0x4BCA, [0x92, 0x9C, 0x23, 0xC7, 0x38, 0x33, 0x36, 0xAF]}; 3367 + const IID IID_ISoftDistExt = {0xB15B8DC1, 0xC7E1, 0x11D0, [0x86, 0x80, 0x00, 0xAA, 0x00, 0xBD, 0xCB, 0x71]}; 3368 + const IID IID_ISourcesRowset = {0x0C733A1E, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3369 + const IID IID_ISpecialSystemProperties = {0x000001B9, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3370 + const IID IID_ISpecifyPropertyPages = {0xB196B28B, 0xBAB4, 0x101A, [0xB6, 0x9C, 0x00, 0xAA, 0x00, 0x34, 0x1D, 0x07]}; 3371 + const IID IID_ISpinButton = {0x3050F68B, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3372 + const IID IID_ISQLErrorInfo = {0x0C733A74, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3373 + const IID IID_IStandardActivator = {0x000001B8, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3374 + const IID IID_IStandardInfo = {0xF1D9C1A5, 0x9589, 0x40DD, [0xB6, 0x3D, 0x9B, 0xB0, 0xB3, 0x8A, 0x10, 0x22]}; 3375 + const IID IID_IStaticPortMapping = {0x6F10711F, 0x729B, 0x41E5, [0x93, 0xB8, 0xF2, 0x1D, 0x0F, 0x81, 0x8D, 0xF1]}; 3376 + const IID IID_IStaticPortMappingCollection = {0xCD1F3E77, 0x66D6, 0x4664, [0x82, 0xC7, 0x36, 0xDB, 0xB6, 0x41, 0xD0, 0xF1]}; 3377 + const IID IID_IStats = {0x944AD530, 0xB09D, 0x11CE, [0xB5, 0x9C, 0x00, 0xAA, 0x00, 0x6C, 0xB3, 0x7D]}; 3378 + const IID IID_IStdMarshalInfo = {0x00000018, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3379 + const IID IID_IStemmer = {0xEFBAF140, 0x7F42, 0x11CE, [0xBE, 0x57, 0x00, 0xAA, 0x00, 0x51, 0xFE, 0x20]}; 3380 + const IID IID_IStemSink = {0xFE77C330, 0x7F42, 0x11CE, [0xBE, 0x57, 0x00, 0xAA, 0x00, 0x51, 0xFE, 0x20]}; 3381 + const IID IID_IStorage = {0x0000000B, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3382 + const IID IID_IStream = {0x0000000C, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3383 + const IID IID_IStub = {0x00000026, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3384 + const IID IID_IStubManager = {0x00000006, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3385 + const IID IID_ISubDivisionProvider = {0x3050F4D2, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3386 + const IID IID_ISubscriptionAgentControl = {0xA89E8FF0, 0x70F4, 0x11D1, [0xBC, 0x7F, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 3387 + const IID IID_ISubscriptionAgentEvents = {0xA89E8FF1, 0x70F4, 0x11D1, [0xBC, 0x7F, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 3388 + const IID IID_ISubscriptionAgentShellExt = {0x81B184BA, 0xB302, 0x11D1, [0x85, 0x52, 0x00, 0xC0, 0x4F, 0xA3, 0x5C, 0x89]}; 3389 + const IID IID_ISubscriptionItem = {0xA97559F8, 0x6C4A, 0x11D1, [0xA1, 0xE8, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 3390 + const IID IID_ISubscriptionMgr = {0x085FB2C0, 0x0DF8, 0x11D1, [0x8F, 0x4B, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x3F]}; 3391 + const IID IID_ISubscriptionMgr2 = {0x614BC270, 0xAEDF, 0x11D1, [0xA1, 0xF9, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 3392 + const IID IID_ISubscriptionMgrPriv = {0xD66B399E, 0xAF1D, 0x11D1, [0xA1, 0xF9, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 3393 + const IID IID_ISubscriptionThrottler = {0x1E9B00E4, 0x9846, 0x11D1, [0xA1, 0xEE, 0x00, 0xC0, 0x4F, 0xC2, 0xFB, 0xE1]}; 3394 + const IID IID_ISupportErrorInfo = {0xDF0B3D60, 0x548F, 0x101B, [0x8E, 0x65, 0x08, 0x00, 0x2B, 0x2B, 0xD1, 0x19]}; 3395 + const IID IID_ISurrogate = {0x00000022, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3396 + const IID IID_ISWbemDateTime = {0x5E97458A, 0xCF77, 0x11D3, [0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A]}; 3397 + const IID IID_ISWbemEventSource = {0x27D54D92, 0x0EBE, 0x11D2, [0x8B, 0x22, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3398 + const IID IID_ISWbemLastError = {0xD962DB84, 0xD4BB, 0x11D1, [0x8B, 0x09, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3399 + const IID IID_ISWbemLocator = {0x76A6415B, 0xCB41, 0x11D1, [0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3400 + const IID IID_ISWbemMethod = {0x422E8E90, 0xD955, 0x11D1, [0x8B, 0x09, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3401 + const IID IID_ISWbemMethodSet = {0xC93BA292, 0xD955, 0x11D1, [0x8B, 0x09, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3402 + const IID IID_ISWbemNamedValue = {0x76A64164, 0xCB41, 0x11D1, [0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3403 + const IID IID_ISWbemNamedValueSet = {0xCF2376EA, 0xCE8C, 0x11D1, [0x8B, 0x05, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3404 + const IID IID_ISWbemObject = {0x76A6415A, 0xCB41, 0x11D1, [0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3405 + const IID IID_ISWbemObjectEx = {0x269AD56A, 0x8A67, 0x4129, [0xBC, 0x8C, 0x05, 0x06, 0xDC, 0xFE, 0x98, 0x80]}; 3406 + const IID IID_ISWbemObjectPath = {0x5791BC27, 0xCE9C, 0x11D1, [0x97, 0xBF, 0x00, 0x00, 0xF8, 0x1E, 0x84, 0x9C]}; 3407 + const IID IID_ISWbemObjectSet = {0x76A6415F, 0xCB41, 0x11D1, [0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3408 + const IID IID_ISWbemPrivilege = {0x26EE67BD, 0x5804, 0x11D2, [0x8B, 0x4A, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3409 + const IID IID_ISWbemPrivilegeSet = {0x26EE67BF, 0x5804, 0x11D2, [0x8B, 0x4A, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3410 + const IID IID_ISWbemProperty = {0x1A388F98, 0xD4BA, 0x11D1, [0x8B, 0x09, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3411 + const IID IID_ISWbemPropertySet = {0xDEA0A7B2, 0xD4BA, 0x11D1, [0x8B, 0x09, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3412 + const IID IID_ISWbemQualifier = {0x79B05932, 0xD3B7, 0x11D1, [0x8B, 0x06, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3413 + const IID IID_ISWbemQualifierSet = {0x9B16ED16, 0xD3DF, 0x11D1, [0x8B, 0x08, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3414 + const IID IID_ISWbemRefreshableItem = {0x5AD4BF92, 0xDAAB, 0x11D3, [0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A]}; 3415 + const IID IID_ISWbemRefresher = {0x14D8250E, 0xD9C2, 0x11D3, [0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A]}; 3416 + const IID IID_ISWbemSecurity = {0xB54D66E6, 0x2287, 0x11D2, [0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3417 + const IID IID_ISWbemServices = {0x76A6415C, 0xCB41, 0x11D1, [0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3418 + const IID IID_ISWbemServicesEx = {0xD2F68443, 0x85DC, 0x427E, [0x91, 0xD8, 0x36, 0x65, 0x54, 0xCC, 0x75, 0x4C]}; 3419 + const IID IID_ISWbemSink = {0x75718C9F, 0xF029, 0x11D1, [0xA1, 0xAC, 0x00, 0xC0, 0x4F, 0xB6, 0xC2, 0x23]}; 3420 + const IID IID_ISynchronize = {0x00000030, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3421 + const IID IID_ISynchronizeContainer = {0x00000033, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3422 + const IID IID_ISynchronizedCallBack = {0x74C26041, 0x70D1, 0x11D1, [0xB7, 0x5A, 0x00, 0xA0, 0xC9, 0x05, 0x64, 0xFE]}; 3423 + const IID IID_ISynchronizeEvent = {0x00000032, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3424 + const IID IID_ISynchronizeHandle = {0x00000031, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3425 + const IID IID_ISynchronizeMutex = {0x00000025, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3426 + const IID IID_ISyncMgrEnumItems = {0x6295DF2A, 0x35EE, 0x11D1, [0x87, 0x07, 0x00, 0xC0, 0x4F, 0xD9, 0x33, 0x27]}; 3427 + const IID IID_ISyncMgrRegisterCSC = {0x47681A61, 0xBC74, 0x11D2, [0xB5, 0xC5, 0x00, 0xC0, 0x4F, 0xB9, 0x39, 0x81]}; 3428 + const IID IID_ISyncMgrSynchronizeInvoke = {0x6295DF2C, 0x35EE, 0x11D1, [0x87, 0x07, 0x00, 0xC0, 0x4F, 0xD9, 0x33, 0x27]}; 3429 + const IID IID_ISyncSchedule = {0xF0E15899, 0xA700, 0x11D1, [0x98, 0x31, 0x00, 0xC0, 0x4F, 0xD9, 0x10, 0xDD]}; 3430 + const IID IID_ISyncScheduleMgr = {0xF0E15897, 0xA700, 0x11D1, [0x98, 0x31, 0x00, 0xC0, 0x4F, 0xD9, 0x10, 0xDD]}; 3431 + const IID IID_ISyncSchedulep = {0xF0E1589B, 0xA700, 0x11D1, [0x98, 0x31, 0x00, 0xC0, 0x4F, 0xD9, 0x10, 0xDD]}; 3432 + const IID IID_ITableCreation = {0x0C733ABC, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3433 + const IID IID_ITableDefinition = {0x0C733A86, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3434 + const IID IID_ITableDefinitionWithConstraints = {0x0C733AAB, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3435 + const IID IID_ITableRename = {0x0C733A77, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3436 + const IID IID_ITACDGroup = {0x5AFC3148, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3437 + const IID IID_ITACDGroupEvent = {0x297F3032, 0xBD11, 0x11D1, [0xA0, 0xA7, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3438 + const IID IID_ITAddress = {0xB1EFC386, 0x9355, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3439 + const IID IID_ITAddress2 = {0xB0AE5D9B, 0xBE51, 0x46C9, [0xB0, 0xF7, 0xDF, 0xA8, 0xA2, 0x2A, 0x8B, 0xC4]}; 3440 + const IID IID_ITAddressCapabilities = {0x8DF232F5, 0x821B, 0x11D1, [0xBB, 0x5C, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3441 + const IID IID_ITAddressDeviceSpecificEvent = {0x3ACB216B, 0x40BD, 0x487A, [0x86, 0x72, 0x5C, 0xE7, 0x7B, 0xD7, 0xE3, 0xA3]}; 3442 + const IID IID_ITAddressEvent = {0x831CE2D1, 0x83B5, 0x11D1, [0xBB, 0x5C, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3443 + const IID IID_ITAddressTranslation = {0x0C4D8F03, 0x8DDB, 0x11D1, [0xA0, 0x9E, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3444 + const IID IID_ITAddressTranslationInfo = {0xAFC15945, 0x8D40, 0x11D1, [0xA0, 0x9E, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3445 + const IID IID_ITAgent = {0x5770ECE5, 0x4B27, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3446 + const IID IID_ITAgentEvent = {0x5AFC314A, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3447 + const IID IID_ITAgentHandler = {0x587E8C22, 0x9802, 0x11D1, [0xA0, 0xA4, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3448 + const IID IID_ITAgentHandlerEvent = {0x297F3034, 0xBD11, 0x11D1, [0xA0, 0xA7, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3449 + const IID IID_ITAgentSession = {0x5AFC3147, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3450 + const IID IID_ITAgentSessionEvent = {0x5AFC314B, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3451 + const IID IID_ITAllocatorProperties = {0xC1BC3C90, 0xBCFE, 0x11D1, [0x97, 0x45, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3452 + const IID IID_ITAMMediaFormat = {0x0364EB00, 0x4A77, 0x11D1, [0xA6, 0x71, 0x00, 0x60, 0x97, 0xC9, 0xA2, 0xE8]}; 3453 + const IID IID_ITargetContainer = {0x7847EC01, 0x2BEC, 0x11D0, [0x82, 0xB4, 0x00, 0xA0, 0xC9, 0x0C, 0x29, 0xC5]}; 3454 + const IID IID_ITargetEmbedding = {0x548793C0, 0x9E74, 0x11CF, [0x96, 0x55, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0x23]}; 3455 + const IID IID_ITargetFrame = {0xD5F78C80, 0x5252, 0x11CF, [0x90, 0xFA, 0x00, 0xAA, 0x00, 0x42, 0x10, 0x6E]}; 3456 + const IID IID_ITargetFrame2 = {0x86D52E11, 0x94A8, 0x11D0, [0x82, 0xAF, 0x00, 0xC0, 0x4F, 0xD5, 0xAE, 0x38]}; 3457 + const IID IID_ITargetFramePriv = {0x9216E421, 0x2BF5, 0x11D0, [0x82, 0xB4, 0x00, 0xA0, 0xC9, 0x0C, 0x29, 0xC5]}; 3458 + const IID IID_ITargetNotify = {0x863A99A0, 0x21BC, 0x11D0, [0x82, 0xB4, 0x00, 0xA0, 0xC9, 0x0C, 0x29, 0xC5]}; 3459 + const IID IID_ITargetNotify2 = {0x3050F6B1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3460 + const IID IID_ITaskAnalyzeCluster = {0x795737A1, 0xE13A, 0x45EB, [0x8D, 0xFD, 0x81, 0x85, 0xC4, 0xB7, 0xAD, 0x4E]}; 3461 + const IID IID_ITaskbarList = {0x56FDF342, 0xFD6D, 0x11D0, [0x95, 0x8A, 0x00, 0x60, 0x97, 0xC9, 0xA0, 0x90]}; 3462 + const IID IID_ITaskbarList2 = {0x602D4995, 0xB13A, 0x429B, [0xA6, 0x6E, 0x19, 0x35, 0xE4, 0x4F, 0x43, 0x17]}; 3463 + const IID IID_ITaskCommitClusterChanges = {0x1BF12DDE, 0xF8B0, 0x49B1, [0xA4, 0x58, 0x67, 0x47, 0xDB, 0x78, 0x8A, 0x47]}; 3464 + const IID IID_ITaskCompareAndPushInformation = {0xD4F1C2AF, 0xB370, 0x49DE, [0x87, 0x68, 0x40, 0x10, 0xB5, 0x68, 0x63, 0x6C]}; 3465 + const IID IID_ITaskGatherClusterInfo = {0xE167965C, 0xC5D6, 0x493C, [0xA3, 0x43, 0x4C, 0x10, 0x5C, 0x01, 0xDD, 0xE7]}; 3466 + const IID IID_ITaskGatherInformation = {0xB9AAF3F8, 0x238E, 0x4993, [0xBA, 0x31, 0x14, 0x85, 0x98, 0x04, 0xF9, 0x2C]}; 3467 + const IID IID_ITaskGatherNodeInfo = {0xF19A2E01, 0x2CB3, 0x47B4, [0x8F, 0x5D, 0xB9, 0x77, 0x17, 0x6B, 0x45, 0xC8]}; 3468 + const IID IID_ITaskGetDomains = {0xDFCB4ACD, 0xC4DB, 0x4DB4, [0x8E, 0xBB, 0x1D, 0xD0, 0x7A, 0x9D, 0x5B, 0x82]}; 3469 + const IID IID_ITaskGetDomainsCallback = {0x85402E44, 0x6834, 0x41DF, [0x85, 0x90, 0x01, 0x82, 0x7D, 0x12, 0x4E, 0x1B]}; 3470 + const IID IID_ITaskLoginDomain = {0x76AD8E51, 0x53C3, 0x4347, [0x89, 0x5D, 0x6C, 0x30, 0xF4, 0x13, 0x93, 0x74]}; 3471 + const IID IID_ITaskLoginDomainCallback = {0xEFAF3C43, 0x7A8F, 0x469B, [0xB8, 0xBB, 0xC8, 0x0C, 0x57, 0x47, 0xCE, 0x05]}; 3472 + const IID IID_ITaskManager = {0x16116694, 0xDFC5, 0x470B, [0xAC, 0x12, 0x46, 0xFB, 0xB0, 0x1C, 0xEF, 0x10]}; 3473 + const IID IID_ITaskPollingCallback = {0x49E92395, 0x66AF, 0x4ADD, [0xA4, 0x1E, 0x43, 0x51, 0x2C, 0xB5, 0x19, 0xB3]}; 3474 + const IID IID_ITaskVerifyIPAddress = {0x0C95E1B1, 0x0CFF, 0x4740, [0x8A, 0xBD, 0x69, 0x91, 0x2D, 0x10, 0x5B, 0xD1]}; 3475 + const IID IID_ITASRTerminalEvent = {0xEE016A02, 0x4FA9, 0x467C, [0x93, 0x3F, 0x5A, 0x15, 0xB1, 0x23, 0x77, 0xD7]}; 3476 + const IID IID_ITAttributeList = {0x5037FB82, 0xCAE9, 0x11D0, [0x8D, 0x58, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3477 + const IID IID_ITAudioDeviceControl = {0x6C0AB6C5, 0x21E3, 0x11D3, [0xA5, 0x77, 0x00, 0xC0, 0x4F, 0x8E, 0xF6, 0xE3]}; 3478 + const IID IID_ITAudioSettings = {0x6C0AB6C6, 0x21E3, 0x11D3, [0xA5, 0x77, 0x00, 0xC0, 0x4F, 0x8E, 0xF6, 0xE3]}; 3479 + const IID IID_ITAutomatedPhoneControl = {0x1EE1AF0E, 0x6159, 0x4A61, [0xB7, 0x9B, 0x6A, 0x4B, 0xA3, 0xFC, 0x9D, 0xFC]}; 3480 + const IID IID_ITBasicAudioTerminal = {0xB1EFC38D, 0x9355, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3481 + const IID IID_ITBasicCallControl = {0xB1EFC389, 0x9355, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3482 + const IID IID_ITBasicCallControl2 = {0x161A4A56, 0x1E99, 0x4B3F, [0xA4, 0x6A, 0x16, 0x8F, 0x38, 0xA5, 0xEE, 0x4C]}; 3483 + const IID IID_ITCallHub = {0xA3C1544E, 0x5B92, 0x11D1, [0x8F, 0x4E, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3484 + const IID IID_ITCallHubEvent = {0xA3C15451, 0x5B92, 0x11D1, [0x8F, 0x4E, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3485 + const IID IID_ITCallInfo = {0x350F85D1, 0x1227, 0x11D3, [0x83, 0xD4, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3486 + const IID IID_ITCallInfo2 = {0x94D70CA6, 0x7AB0, 0x4DAA, [0x81, 0xCA, 0xB8, 0xF8, 0x64, 0x3F, 0xAE, 0xC1]}; 3487 + const IID IID_ITCallInfoChangeEvent = {0x5D4B65F9, 0xE51C, 0x11D1, [0xA0, 0x2F, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3488 + const IID IID_ITCallingCard = {0x0C4D8F00, 0x8DDB, 0x11D1, [0xA0, 0x9E, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3489 + const IID IID_ITCallMediaEvent = {0xFF36B87F, 0xEC3A, 0x11D0, [0x8E, 0xE4, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3490 + const IID IID_ITCallNotificationEvent = {0x895801DF, 0x3DD6, 0x11D1, [0x8F, 0x30, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3491 + const IID IID_ITCallQualityControl = {0xFE1D8AE0, 0xEDC4, 0x49B5, [0x8F, 0x8C, 0x4D, 0xE4, 0x0F, 0x9C, 0xDF, 0xAF]}; 3492 + const IID IID_ITCallStateEvent = {0x62F47097, 0x95C9, 0x11D0, [0x83, 0x5D, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3493 + const IID IID_ITCollection = {0x5EC5ACF2, 0x9C02, 0x11D0, [0x83, 0x62, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3494 + const IID IID_ITCollection2 = {0xE6DDDDA5, 0xA6D3, 0x48FF, [0x87, 0x37, 0xD3, 0x2F, 0xC4, 0xD9, 0x54, 0x77]}; 3495 + const IID IID_ITConferenceBlob = {0xC259D7AA, 0xC8AB, 0x11D0, [0x8D, 0x58, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3496 + const IID IID_ITConnection = {0x8FA381D4, 0xC8C2, 0x11D0, [0x8D, 0x58, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3497 + const IID IID_ITcpipProperties = {0x98133271, 0x4B20, 0x11D1, [0xAB, 0x01, 0x00, 0x80, 0x5F, 0xC1, 0x27, 0x0E]}; 3498 + const IID IID_ITCustomTone = {0x357AD764, 0xB3C6, 0x4B2A, [0x8F, 0xA5, 0x07, 0x22, 0x82, 0x7A, 0x92, 0x54]}; 3499 + const IID IID_ITDetectTone = {0x961F79BD, 0x3097, 0x49DF, [0xA1, 0xD6, 0x90, 0x9B, 0x77, 0xE8, 0x9C, 0xA0]}; 3500 + const IID IID_ITDigitDetectionEvent = {0x80D3BFAC, 0x57D9, 0x11D2, [0xA0, 0x4A, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3501 + const IID IID_ITDigitGenerationEvent = {0x80D3BFAD, 0x57D9, 0x11D2, [0xA0, 0x4A, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3502 + const IID IID_ITDigitsGatheredEvent = {0xE52EC4C1, 0xCBA3, 0x441A, [0x9E, 0x6A, 0x93, 0xCB, 0x90, 0x9E, 0x97, 0x24]}; 3503 + const IID IID_ITDirectory = {0x34621D6C, 0x6CFF, 0x11D1, [0xAF, 0xF7, 0x00, 0xC0, 0x4F, 0xC3, 0x1F, 0xEE]}; 3504 + const IID IID_ITDirectoryObject = {0x34621D6E, 0x6CFF, 0x11D1, [0xAF, 0xF7, 0x00, 0xC0, 0x4F, 0xC3, 0x1F, 0xEE]}; 3505 + const IID IID_ITDirectoryObjectConference = {0xF1029E5D, 0xCB5B, 0x11D0, [0x8D, 0x59, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3506 + const IID IID_ITDirectoryObjectUser = {0x34621D6F, 0x6CFF, 0x11D1, [0xAF, 0xF7, 0x00, 0xC0, 0x4F, 0xC3, 0x1F, 0xEE]}; 3507 + const IID IID_ITDispatchMapper = {0xE9225295, 0xC759, 0x11D1, [0xA0, 0x2B, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3508 + const IID IID_ITemplatePrinter = {0x3050F6B4, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3509 + const IID IID_ITemplatePrinter2 = {0x3050F83F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3510 + const IID IID_ITFileTerminalEvent = {0xE4A7FBAC, 0x8C17, 0x4427, [0x9F, 0x55, 0x9F, 0x58, 0x9A, 0xC8, 0xAF, 0x00]}; 3511 + const IID IID_ITFileTrack = {0x31CA6EA9, 0xC08A, 0x4BEA, [0x88, 0x11, 0x8E, 0x9C, 0x1B, 0xA3, 0xEA, 0x3A]}; 3512 + const IID IID_ITfLangBarAddIn = {0xC9ADDAC3, 0x15CB, 0x4957, [0xB9, 0x3C, 0xDB, 0x08, 0x73, 0xFF, 0x98, 0xBB]}; 3513 + const IID IID_ITFormatControl = {0x6C0AB6C1, 0x21E3, 0x11D3, [0xA5, 0x77, 0x00, 0xC0, 0x4F, 0x8E, 0xF6, 0xE3]}; 3514 + const IID IID_ITForwardInformation = {0x449F659E, 0x88A3, 0x11D1, [0xBB, 0x5D, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3515 + const IID IID_ITForwardInformation2 = {0x5229B4ED, 0xB260, 0x4382, [0x8E, 0x1A, 0x5D, 0xF3, 0xA8, 0xA4, 0xCC, 0xC0]}; 3516 + const IID IID_ITfSpeechUIServer = {0x90E9A944, 0x9244, 0x489F, [0xA7, 0x8F, 0xDE, 0x67, 0xAF, 0xC0, 0x13, 0xA7]}; 3517 + const IID IID_IThumbnailCapture = {0x4EA39266, 0x7211, 0x409F, [0xB6, 0x22, 0xF6, 0x3D, 0xBD, 0x16, 0xC5, 0x33]}; 3518 + const IID IID_IThumbnailExtractor = {0x969DC708, 0x5C76, 0x11D1, [0x8D, 0x86, 0x00, 0x00, 0xF8, 0x04, 0xB0, 0x57]}; 3519 + const IID IID_ITILSConfig = {0x34621D72, 0x6CFF, 0x11D1, [0xAF, 0xF7, 0x00, 0xC0, 0x4F, 0xC3, 0x1F, 0xEE]}; 3520 + const IID IID_ITIMEActiveElementCollection = {0x403E2540, 0x4520, 0x11D3, [0x93, 0xAB, 0x00, 0xA0, 0xC9, 0x67, 0xA4, 0x38]}; 3521 + const IID IID_ITimeAndNoticeControl = {0xBC0BF6AE, 0x8878, 0x11D1, [0x83, 0xE9, 0x00, 0xC0, 0x4F, 0xC2, 0xC6, 0xD4]}; 3522 + const IID IID_ITIMEAnimationElement = {0xA74F14B1, 0xB6A2, 0x430A, [0xA5, 0xE8, 0x1F, 0x4E, 0x53, 0xF7, 0x10, 0xFE]}; 3523 + const IID IID_ITIMEAnimationElement2 = {0x29CE8661, 0xBD43, 0x421A, [0xB6, 0x16, 0xE9, 0xB3, 0x1F, 0x33, 0xA5, 0x72]}; 3524 + const IID IID_ITIMEBodyElement = {0x8C90E348, 0xEC0A, 0x4229, [0x90, 0xB0, 0xE5, 0x7D, 0x2C, 0xA4, 0x5C, 0xCB]}; 3525 + const IID IID_ITIMEDMusicPlayerObject = {0x407954F5, 0x2BAB, 0x4CFA, [0x95, 0x4D, 0x24, 0x9F, 0x9F, 0xCE, 0x43, 0xA1]}; 3526 + const IID IID_ITIMEDVDPlayerObject = {0x3AF7AB68, 0x4F29, 0x462C, [0xAA, 0x6E, 0x58, 0x72, 0x44, 0x88, 0x99, 0xE3]}; 3527 + const IID IID_ITIMEElement = {0x1C2EF64E, 0xF07D, 0x4338, [0x97, 0x71, 0x91, 0x54, 0x49, 0x1C, 0xD8, 0xB9]}; 3528 + const IID IID_ITIMEElementCollection = {0x50ABC224, 0x6D53, 0x4F83, [0x91, 0x35, 0x24, 0x40, 0xA4, 0x1B, 0x7B, 0xC8]}; 3529 + const IID IID_ITIMEFactory = {0xCD51E446, 0x3006, 0x434F, [0x90, 0xE2, 0xE3, 0x7E, 0x8F, 0xB8, 0xCA, 0x8F]}; 3530 + const IID IID_ITIMEMediaElement = {0x47A6972F, 0xAE65, 0x4A6B, [0xAE, 0x63, 0xD0, 0xC1, 0xD5, 0x30, 0x7B, 0x58]}; 3531 + const IID IID_ITIMEMediaElement2 = {0x9EE29400, 0x7EE6, 0x453A, [0x85, 0xB3, 0x4E, 0xC2, 0x8E, 0x03, 0x05, 0xB4]}; 3532 + const IID IID_ITIMEMediaPlayer = {0xEA4A95BE, 0xACC9, 0x4BF0, [0x85, 0xA4, 0x1B, 0xF3, 0xC5, 0x1E, 0x43, 0x1C]}; 3533 + const IID IID_ITIMEMediaPlayerAudio = {0xFFAACFDA, 0xB374, 0x4F22, [0xAC, 0x9A, 0xC5, 0xBB, 0x94, 0x37, 0xCB, 0x56]}; 3534 + const IID IID_ITIMEMediaPlayerControl = {0x897A99E7, 0xF386, 0x45C8, [0xB5, 0x1B, 0x3A, 0x25, 0xBB, 0xCB, 0xBA, 0x69]}; 3535 + const IID IID_ITIMEMediaPlayerNetwork = {0xB9987FCA, 0x7FBB, 0x4015, [0xBD, 0x3D, 0x74, 0x18, 0x60, 0x55, 0x14, 0xDA]}; 3536 + const IID IID_ITIMEMediaPlayerSite = {0xBF0571ED, 0x344F, 0x4F58, [0x82, 0xC7, 0x74, 0x31, 0xED, 0x0F, 0xD8, 0x34]}; 3537 + const IID IID_ITIMEPlayItem = {0x2A6096D9, 0x2CE0, 0x47DC, [0xA8, 0x13, 0x90, 0x99, 0xA2, 0x46, 0x63, 0x09]}; 3538 + const IID IID_ITIMEPlayItem2 = {0x4262CD38, 0x6BDC, 0x40A4, [0xBC, 0x50, 0x4C, 0xC5, 0x03, 0x66, 0xE7, 0x02]}; 3539 + const IID IID_ITIMEPlayList = {0xE9B75B62, 0xDD97, 0x4B19, [0x8F, 0xD9, 0x96, 0x46, 0x29, 0x29, 0x52, 0xE0]}; 3540 + const IID IID_ITimer = {0x3050F360, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3541 + const IID IID_ITimerService = {0x3050F35F, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3542 + const IID IID_ITimerSink = {0x3050F361, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3543 + const IID IID_ITIMEState = {0xDD5EC62A, 0x9D77, 0x4573, [0x80, 0xA8, 0x75, 0x85, 0x94, 0xE6, 0x9C, 0xEA]}; 3544 + const IID IID_ITIMETransitionElement = {0xF383D66F, 0x5E68, 0x4FC2, [0xB6, 0x41, 0x03, 0x67, 0x2B, 0x54, 0x3A, 0x49]}; 3545 + const IID IID_ITLegacyAddressMediaControl = {0xAB493640, 0x4C0B, 0x11D2, [0xA0, 0x46, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3546 + const IID IID_ITLegacyAddressMediaControl2 = {0xB0EE512B, 0xA531, 0x409E, [0x9D, 0xD9, 0x40, 0x99, 0xFE, 0x86, 0xC7, 0x38]}; 3547 + const IID IID_ITLegacyCallMediaControl = {0xD624582F, 0xCC23, 0x4436, [0xB8, 0xA5, 0x47, 0xC6, 0x25, 0xC8, 0x04, 0x5D]}; 3548 + const IID IID_ITLegacyCallMediaControl2 = {0x57CA332D, 0x7BC2, 0x44F1, [0xA6, 0x0C, 0x93, 0x6F, 0xE8, 0xD7, 0xCE, 0x73]}; 3549 + const IID IID_ITLegacyWaveSupport = {0x207823EA, 0xE252, 0x11D2, [0xB7, 0x7E, 0x00, 0x80, 0xC7, 0x13, 0x53, 0x81]}; 3550 + const IID IID_ITLocalParticipant = {0x39CBF055, 0xF77A, 0x11D2, [0xA8, 0x24, 0x00, 0xC0, 0x4F, 0x8E, 0xF6, 0xE3]}; 3551 + const IID IID_ITLocationInfo = {0x0C4D8EFF, 0x8DDB, 0x11D1, [0xA0, 0x9E, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3552 + const IID IID_ITMedia = {0x0CC1F053, 0xCAEB, 0x11D0, [0x8D, 0x58, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3553 + const IID IID_ITMediaCollection = {0x6A8E16A2, 0x0ABC, 0x11D1, [0x97, 0x6D, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3554 + const IID IID_ITMediaControl = {0xC445DDE8, 0x5199, 0x4BC7, [0x98, 0x07, 0x5F, 0xFB, 0x92, 0xE4, 0x2E, 0x09]}; 3555 + const IID IID_ITMediaPlayback = {0x627E8AE6, 0xAE4C, 0x4A69, [0xBB, 0x63, 0x2A, 0xD6, 0x25, 0x40, 0x4B, 0x77]}; 3556 + const IID IID_ITMediaRecord = {0xF5DD4592, 0x5476, 0x4CC1, [0x9D, 0x4D, 0xFA, 0xD3, 0xEE, 0xFE, 0x7D, 0xB2]}; 3557 + const IID IID_ITMediaSupport = {0xB1EFC384, 0x9355, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3558 + const IID IID_ITMSPAddress = {0xEE3BD600, 0x3868, 0x11D2, [0xA0, 0x45, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3559 + const IID IID_ITMultiTrackTerminal = {0xFE040091, 0xADE8, 0x4072, [0x95, 0xC9, 0xBF, 0x7D, 0xE8, 0xC5, 0x4B, 0x44]}; 3560 + const IID IID_ITParticipant = {0x5899B820, 0x5A34, 0x11D2, [0x95, 0xA0, 0x00, 0xA0, 0x24, 0x4D, 0x22, 0x98]}; 3561 + const IID IID_ITParticipantControl = {0xD2EE6684, 0x5A34, 0x11D2, [0x95, 0xA0, 0x00, 0xA0, 0x24, 0x4D, 0x22, 0x98]}; 3562 + const IID IID_ITParticipantEvent = {0x8BB35070, 0x2DAD, 0x11D3, [0xA5, 0x80, 0x00, 0xC0, 0x4F, 0x8E, 0xF6, 0xE3]}; 3563 + const IID IID_ITParticipantSubStreamControl = {0x2C679108, 0x5A35, 0x11D2, [0x95, 0xA0, 0x00, 0xA0, 0x24, 0x4D, 0x22, 0x98]}; 3564 + const IID IID_ITPhone = {0x09D48DB4, 0x10CC, 0x4388, [0x9D, 0xE7, 0xA8, 0x46, 0x56, 0x18, 0x97, 0x5A]}; 3565 + const IID IID_ITPhoneDeviceSpecificEvent = {0x63FFB2A6, 0x872B, 0x4CD3, [0xA5, 0x01, 0x32, 0x6E, 0x8F, 0xB4, 0x0A, 0xF7]}; 3566 + const IID IID_ITPhoneEvent = {0x8F942DD8, 0x64ED, 0x4AAF, [0xA7, 0x7D, 0xB2, 0x3D, 0xB0, 0x83, 0x7E, 0xAD]}; 3567 + const IID IID_ITPluggableTerminalClassInfo = {0x41757F4A, 0xCF09, 0x4B34, [0xBC, 0x96, 0x0A, 0x79, 0xD2, 0x39, 0x00, 0x76]}; 3568 + const IID IID_ITPluggableTerminalClassRegistrat = {0x924A3723, 0xA00B, 0x4F5F, [0x9F, 0xEE, 0x8E, 0x9A, 0xEB, 0x9E, 0x82, 0xAA]}; 3569 + const IID IID_ITPluggableTerminalEventSink = {0x6E0887BE, 0xBA1A, 0x492E, [0xBD, 0x10, 0x40, 0x20, 0xEC, 0x5E, 0x33, 0xE0]}; 3570 + const IID IID_ITPluggableTerminalEventSinkRegis = {0xF7115709, 0xA216, 0x4957, [0xA7, 0x59, 0x06, 0x0A, 0xB3, 0x2A, 0x90, 0xD1]}; 3571 + const IID IID_ITPluggableTerminalInitializatio = {0xAED6483C, 0x3304, 0x11D2, [0x86, 0xF1, 0x00, 0x60, 0x08, 0xB0, 0xE5, 0xD2]}; 3572 + const IID IID_ITPluggableTerminalSuperclassInf = {0x6D54E42C, 0x4625, 0x4359, [0xA6, 0xF7, 0x63, 0x19, 0x99, 0x10, 0x7E, 0x05]}; 3573 + const IID IID_ITPluggableTerminalSuperclassRegi = {0x60D3C08A, 0xC13E, 0x4195, [0x9A, 0xB0, 0x8D, 0xE7, 0x68, 0x09, 0x0F, 0x25]}; 3574 + const IID IID_ITPrivateEvent = {0x0E269CD0, 0x10D4, 0x4121, [0x9C, 0x22, 0x9C, 0x85, 0xD6, 0x25, 0x65, 0x0D]}; 3575 + const IID IID_ITQOSApplicationID = {0xE8C89D27, 0xA3BD, 0x47D5, [0xA6, 0xFC, 0xD2, 0xAE, 0x40, 0xCD, 0xBC, 0x6E]}; 3576 + const IID IID_ITQOSEvent = {0xCFA3357C, 0xAD77, 0x11D1, [0xBB, 0x68, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3577 + const IID IID_ITQueue = {0x5AFC3149, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3578 + const IID IID_ITQueueEvent = {0x297F3033, 0xBD11, 0x11D1, [0xA0, 0xA7, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3579 + const IID IID_ITrackFile = {0x8790C948, 0xA30B, 0x11D0, [0x8C, 0xAB, 0x00, 0xC0, 0x4F, 0xD9, 0x0F, 0x85]}; 3580 + const IID IID_ITransaction = {0x0FB15084, 0xAF41, 0x11CE, [0xBD, 0x2B, 0x20, 0x4C, 0x4F, 0x4F, 0x50, 0x20]}; 3581 + const IID IID_ITransaction2 = {0x34021548, 0x0065, 0x11D3, [0xBA, 0xC1, 0x00, 0xC0, 0x4F, 0x79, 0x7B, 0xE2]}; 3582 + const IID IID_ITransactionCloner = {0x02656950, 0x2152, 0x11D0, [0x94, 0x4C, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x6E]}; 3583 + const IID IID_ITransactionDispenser = {0x3A6AD9E1, 0x23B9, 0x11CF, [0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD]}; 3584 + const IID IID_ITransactionJoin = {0x0C733A5E, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3585 + const IID IID_ITransactionLocal = {0x0C733A5F, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3586 + const IID IID_ITransactionObject = {0x0C733A60, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3587 + const IID IID_ITransactionOptions = {0x3A6AD9E0, 0x23B9, 0x11CF, [0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD]}; 3588 + const IID IID_ITransactionOutcomeEvents = {0x3A6AD9E2, 0x23B9, 0x11CF, [0xAD, 0x60, 0x00, 0xAA, 0x00, 0xA7, 0x4C, 0xCD]}; 3589 + const IID IID_ITransmt = {0xB3C9F150, 0xB593, 0x11CE, [0xB5, 0xB0, 0x00, 0xAA, 0x00, 0x6C, 0xB3, 0x7D]}; 3590 + const IID IID_ITravelEntry = {0xF46EDB3B, 0xBC2F, 0x11D0, [0x94, 0x12, 0x00, 0xAA, 0x00, 0xA3, 0xEB, 0xD3]}; 3591 + const IID IID_ITravelLog = {0x66A9CB08, 0x4802, 0x11D2, [0xA5, 0x61, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8]}; 3592 + const IID IID_ITravelLogClient = {0x3050F67A, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3593 + const IID IID_ITravelLogClient2 = {0x0AD364CE, 0xADCB, 0x11D3, [0x82, 0x69, 0x00, 0x80, 0x5F, 0xC7, 0x32, 0xC0]}; 3594 + const IID IID_ITravelLogEntry = {0x7EBFDD87, 0xAD18, 0x11D3, [0xA4, 0xC5, 0x00, 0xC0, 0x4F, 0x72, 0xD6, 0xB8]}; 3595 + const IID IID_ITravelLogEx = {0x3050F679, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3596 + const IID IID_ITravelLogStg = {0x7EBFDD80, 0xAD18, 0x11D3, [0xA4, 0xC5, 0x00, 0xC0, 0x4F, 0x72, 0xD6, 0xB8]}; 3597 + const IID IID_ITRendezvous = {0x34621D6B, 0x6CFF, 0x11D1, [0xAF, 0xF7, 0x00, 0xC0, 0x4F, 0xC3, 0x1F, 0xEE]}; 3598 + const IID IID_ITRequest = {0xAC48FFDF, 0xF8C4, 0x11D1, [0xA0, 0x30, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3599 + const IID IID_ITRequestEvent = {0xAC48FFDE, 0xF8C4, 0x11D1, [0xA0, 0x30, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3600 + const IID IID_ITridentEventSink = {0x1DC9CA50, 0x06EF, 0x11D2, [0x84, 0x15, 0x00, 0x60, 0x08, 0xC3, 0xFB, 0xFC]}; 3601 + const IID IID_ITrkForceOwnership = {0xA2531F44, 0xC67D, 0x11D0, [0x8C, 0xB1, 0x00, 0xC0, 0x4F, 0xD9, 0x0F, 0x85]}; 3602 + const IID IID_ITrkRestoreNotify = {0xD0056F6B, 0xE2A0, 0x11D0, [0xB1, 0xC2, 0x00, 0xC0, 0x4F, 0xB9, 0x38, 0x6D]}; 3603 + const IID IID_ITrkRestoreParser = {0x755939E3, 0xE381, 0x11D0, [0xB1, 0xC5, 0x00, 0xC0, 0x4F, 0xB9, 0x38, 0x6D]}; 3604 + const IID IID_ITrusteeAdmin = {0x0C733AA1, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3605 + const IID IID_ITrusteeGroupAdmin = {0x0C733AA2, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3606 + const IID IID_ITScriptableAudioFormat = {0xB87658BD, 0x3C59, 0x4F64, [0xBE, 0x74, 0xAE, 0xDE, 0x3E, 0x86, 0xA8, 0x1E]}; 3607 + const IID IID_ITSdp = {0x9B2719D8, 0xB696, 0x11D0, [0xA4, 0x89, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3608 + const IID IID_ITStaticAudioTerminal = {0xA86B7871, 0xD14C, 0x48E6, [0x92, 0x2E, 0xA8, 0xD1, 0x5F, 0x98, 0x48, 0x00]}; 3609 + const IID IID_ITStream = {0xEE3BD605, 0x3868, 0x11D2, [0xA0, 0x45, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3610 + const IID IID_ITStreamControl = {0xEE3BD604, 0x3868, 0x11D2, [0xA0, 0x45, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3611 + const IID IID_ITStreamQualityControl = {0x6C0AB6C2, 0x21E3, 0x11D3, [0xA5, 0x77, 0x00, 0xC0, 0x4F, 0x8E, 0xF6, 0xE3]}; 3612 + const IID IID_ITSubStream = {0xEE3BD608, 0x3868, 0x11D2, [0xA0, 0x45, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3613 + const IID IID_ITSubStreamControl = {0xEE3BD607, 0x3868, 0x11D2, [0xA0, 0x45, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3614 + const IID IID_ITTAPI = {0xB1EFC382, 0x9355, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3615 + const IID IID_ITTAPI2 = {0x54FBDC8C, 0xD90F, 0x4DAD, [0x96, 0x95, 0xB3, 0x73, 0x09, 0x7F, 0x09, 0x4B]}; 3616 + const IID IID_ITTAPICallCenter = {0x5AFC3154, 0x4BCC, 0x11D1, [0xBF, 0x80, 0x00, 0x80, 0x5F, 0xC1, 0x47, 0xD3]}; 3617 + const IID IID_ITTAPIEventNotification = {0xEDDB9426, 0x3B91, 0x11D1, [0x8F, 0x30, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3618 + const IID IID_ITTAPIObjectEvent = {0xF4854D48, 0x937A, 0x11D1, [0xBB, 0x58, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3619 + const IID IID_ITTAPIObjectEvent2 = {0x359DDA6E, 0x68CE, 0x4383, [0xBF, 0x0B, 0x16, 0x91, 0x33, 0xC4, 0x1B, 0x46]}; 3620 + const IID IID_ITTerminal = {0xB1EFC38A, 0x9355, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3621 + const IID IID_ITTerminalControl = {0xAED6483B, 0x3304, 0x11D2, [0x86, 0xF1, 0x00, 0x60, 0x08, 0xB0, 0xE5, 0xD2]}; 3622 + const IID IID_ITTerminalManager = {0x7170F2DE, 0x9BE3, 0x11D0, [0xA0, 0x09, 0x00, 0xAA, 0x00, 0xB6, 0x05, 0xA4]}; 3623 + const IID IID_ITTerminalManager2 = {0xBB33DEC6, 0xB2C7, 0x46E6, [0x9E, 0xD1, 0x49, 0x8B, 0x91, 0xFA, 0x85, 0xAC]}; 3624 + const IID IID_ITTerminalSupport = {0xB1EFC385, 0x9355, 0x11D0, [0x83, 0x5C, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3625 + const IID IID_ITTerminalSupport2 = {0xF3EB39BC, 0x1B1F, 0x4E99, [0xA0, 0xC0, 0x56, 0x30, 0x5C, 0x4D, 0xD5, 0x91]}; 3626 + const IID IID_ITTime = {0x2652BB78, 0x1516, 0x11D1, [0x97, 0x71, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3627 + const IID IID_ITTimeCollection = {0x0CC1F04F, 0xCAEB, 0x11D0, [0x8D, 0x58, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3628 + const IID IID_ITToneDetectionEvent = {0x407E0FAF, 0xD047, 0x4753, [0xB0, 0xC6, 0x8E, 0x06, 0x03, 0x73, 0xFE, 0xCD]}; 3629 + const IID IID_ITToneTerminalEvent = {0xE6F56009, 0x611F, 0x4945, [0xBB, 0xD2, 0x2D, 0x0C, 0xE5, 0x61, 0x20, 0x56]}; 3630 + const IID IID_ITTTSTerminalEvent = {0xD964788F, 0x95A5, 0x461D, [0xAB, 0x0C, 0xB9, 0x90, 0x0A, 0x6C, 0x27, 0x13]}; 3631 + const IID IID_ITypeChangeEvents = {0x00020410, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3632 + const IID IID_ITypeComp = {0x00020403, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3633 + const IID IID_ITypeFactory = {0x0000002E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3634 + const IID IID_ITypeInfo = {0x00020401, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3635 + const IID IID_ITypeInfo2 = {0x00020412, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3636 + const IID IID_ITypeLib = {0x00020402, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3637 + const IID IID_ITypeLib2 = {0x00020411, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3638 + const IID IID_ITypeMarshal = {0x0000002D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3639 + const IID IID_IUmiADSIPrivate = {0xCFCECB01, 0x3123, 0x4926, [0xB5, 0xE3, 0x62, 0x78, 0x08, 0x27, 0x26, 0x43]}; 3640 + const IID IID_IUniformResourceLocatorA = {0xFBF23B80, 0xE3F0, 0x101B, [0x84, 0x88, 0x00, 0xAA, 0x00, 0x3E, 0x56, 0xF8]}; 3641 + const IID IID_IUniformResourceLocatorW = {0xCABB0DA0, 0xDA57, 0x11CF, [0x99, 0x74, 0x00, 0x20, 0xAF, 0xD7, 0x97, 0x62]}; 3642 + const IID IID_IUnknown = {0x00000000, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3643 + const IID IID_IUnsecuredApartment = {0x1CFABA8C, 0x1523, 0x11D1, [0xAD, 0x79, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3644 + const IID IID_IUPnPDescriptionDocument = {0x11D1C1B2, 0x7DAA, 0x4C9E, [0x95, 0x95, 0x7F, 0x82, 0xED, 0x20, 0x6D, 0x1E]}; 3645 + const IID IID_IUPnPDescriptionDocumentCallback = {0x77394C69, 0x5486, 0x40D6, [0x9B, 0xC3, 0x49, 0x91, 0x98, 0x3E, 0x02, 0xDA]}; 3646 + const IID IID_IUPnPDevice = {0x3D44D0D1, 0x98C9, 0x4889, [0xAC, 0xD1, 0xF9, 0xD6, 0x74, 0xBF, 0x22, 0x21]}; 3647 + const IID IID_IUPnPDeviceControl = {0x204810BA, 0x73B2, 0x11D4, [0xBF, 0x42, 0x00, 0xB0, 0xD0, 0x11, 0x8B, 0x56]}; 3648 + const IID IID_IUPnPDeviceDocumentAccess = {0xE7772804, 0x3287, 0x418E, [0x90, 0x72, 0xCF, 0x2B, 0x47, 0x23, 0x89, 0x81]}; 3649 + const IID IID_IUPnPDeviceFinder = {0xADDA3D55, 0x6F72, 0x4319, [0xBF, 0xF9, 0x18, 0x60, 0x0A, 0x53, 0x9B, 0x10]}; 3650 + const IID IID_IUPnPDeviceFinderAddCallbackWithI = {0x983DFC0B, 0x1796, 0x44DF, [0x89, 0x75, 0xCA, 0x54, 0x5B, 0x62, 0x0E, 0xE5]}; 3651 + const IID IID_IUPnPDeviceFinderCallback = {0x415A984A, 0x88B3, 0x49F3, [0x92, 0xAF, 0x05, 0x08, 0xBE, 0xDF, 0x0D, 0x6C]}; 3652 + const IID IID_IUPnPDeviceHostICSSupport = {0x3FFC5AE5, 0xA66B, 0x499C, [0xA1, 0x80, 0xC7, 0x39, 0x3D, 0xB6, 0xBA, 0x8D]}; 3653 + const IID IID_IUPnPDeviceHostSetup = {0x6BD34909, 0x54E7, 0x4FBF, [0x85, 0x62, 0x7B, 0x89, 0x70, 0x9A, 0x58, 0x9A]}; 3654 + const IID IID_IUPnPDeviceProvider = {0x204810B8, 0x73B2, 0x11D4, [0xBF, 0x42, 0x00, 0xB0, 0xD0, 0x11, 0x8B, 0x56]}; 3655 + const IID IID_IUPnPDevices = {0xFDBC0C73, 0xBDA3, 0x4C66, [0xAC, 0x4F, 0xF2, 0xD9, 0x6F, 0xDA, 0xD6, 0x8C]}; 3656 + const IID IID_IUPnPEventSink = {0x204810B4, 0x73B2, 0x11D4, [0xBF, 0x42, 0x00, 0xB0, 0xD0, 0x11, 0x8B, 0x56]}; 3657 + const IID IID_IUPnPEventSource = {0x204810B5, 0x73B2, 0x11D4, [0xBF, 0x42, 0x00, 0xB0, 0xD0, 0x11, 0x8B, 0x56]}; 3658 + const IID IID_IUPnPNAT = {0xB171C812, 0xCC76, 0x485A, [0x94, 0xD8, 0xB6, 0xB3, 0xA2, 0x79, 0x4E, 0x99]}; 3659 + const IID IID_IUPnPPrivateCallbackHelper = {0x8DCC8327, 0xDBE9, 0x48E6, [0x84, 0x6C, 0x33, 0x72, 0x58, 0x65, 0xD5, 0x0C]}; 3660 + const IID IID_IUPnPPrivateDocumentCallbackHelp = {0x19432A8E, 0x4A32, 0x4860, [0xB8, 0xFB, 0x95, 0xB1, 0x11, 0x7C, 0xD4, 0xE5]}; 3661 + const IID IID_IUPnPPrivateServiceHelper2 = {0x340F4076, 0x6856, 0x48F9, [0xB3, 0xC4, 0x97, 0xB9, 0x1B, 0x68, 0xD7, 0x7E]}; 3662 + const IID IID_IUPnPRegistrar = {0x204810B6, 0x73B2, 0x11D4, [0xBF, 0x42, 0x00, 0xB0, 0xD0, 0x11, 0x8B, 0x56]}; 3663 + const IID IID_IUPnPReregistrar = {0x204810B7, 0x73B2, 0x11D4, [0xBF, 0x42, 0x00, 0xB0, 0xD0, 0x11, 0x8B, 0x56]}; 3664 + const IID IID_IUPnPService = {0xA295019C, 0xDC65, 0x47DD, [0x90, 0xDC, 0x7F, 0xE9, 0x18, 0xA1, 0xAB, 0x44]}; 3665 + const IID IID_IUPnPServiceCallback = {0x31FADCA9, 0xAB73, 0x464B, [0xB6, 0x7D, 0x5C, 0x1D, 0x0F, 0x83, 0xC8, 0xB8]}; 3666 + const IID IID_IUPnPServiceCallbackPrivate = {0x24EA2515, 0xF612, 0x4528, [0xBA, 0x82, 0x7B, 0xD3, 0xDB, 0xBA, 0xD3, 0x03]}; 3667 + const IID IID_IUPnPServices = {0x3F8C8E9E, 0x9A7A, 0x4DC8, [0xBC, 0x41, 0xFF, 0x31, 0xFA, 0x37, 0x49, 0x56]}; 3668 + const IID IID_IUrlHistoryNotify = {0xBC40BEC1, 0xC493, 0x11D0, [0x83, 0x1B, 0x00, 0xC0, 0x4F, 0xD5, 0xAE, 0x38]}; 3669 + const IID IID_IUrlHistoryStg = {0x3C374A41, 0xBAE4, 0x11CF, [0xBF, 0x7D, 0x00, 0xAA, 0x00, 0x69, 0x46, 0xEE]}; 3670 + const IID IID_IUrlHistoryStg2 = {0xAFA0DC11, 0xC313, 0x11D0, [0x83, 0x1A, 0x00, 0xC0, 0x4F, 0xD5, 0xAE, 0x38]}; 3671 + const IID IID_IUrlMon = {0x00000026, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3672 + const IID IID_IURLSearchHook = {0xAC60F6A0, 0x0FD9, 0x11D0, [0x99, 0xCB, 0x00, 0xC0, 0x4F, 0xD6, 0x44, 0x97]}; 3673 + const IID IID_IURLSearchHook2 = {0x5EE44DA4, 0x6D32, 0x46E3, [0x86, 0xBC, 0x07, 0x54, 0x0D, 0xED, 0xD0, 0xE0]}; 3674 + const IID IID_IUrlTrackingStg = {0xF2F8CBB3, 0xB040, 0x11D0, [0xBB, 0x16, 0x00, 0xC0, 0x4F, 0xB6, 0x6F, 0x63]}; 3675 + const IID IID_IUserEventTimer = {0x0F504B94, 0x6E42, 0x42E6, [0x99, 0xE0, 0xE2, 0x0F, 0xAF, 0xE5, 0x2A, 0xB4]}; 3676 + const IID IID_IUserEventTimerCallback = {0xE9EAD8E6, 0x2A25, 0x410E, [0x9B, 0x58, 0xA9, 0xFB, 0xEF, 0x1D, 0xD1, 0xA2]}; 3677 + const IID IID_IUserNotification = {0xBA9711BA, 0x5893, 0x4787, [0xA7, 0xE1, 0x41, 0x27, 0x71, 0x51, 0x55, 0x0B]}; 3678 + const IID IID_IUtilityButton = {0x3050F6AF, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3679 + const IID IID_IVariantChangeType = {0xA6EF9862, 0xC720, 0x11D0, [0x93, 0x37, 0x00, 0xA0, 0xC9, 0x0D, 0xCA, 0xA9]}; 3680 + const IID IID_IVersionHost = {0x667115AC, 0xDC02, 0x11D1, [0xBA, 0x57, 0x00, 0xC0, 0x4F, 0xC2, 0x04, 0x0E]}; 3681 + const IID IID_IVersionVector = {0x4EB01410, 0xDB1A, 0x11D1, [0xBA, 0x53, 0x00, 0xC0, 0x4F, 0xC2, 0x04, 0x0E]}; 3682 + const IID IID_IViewChapter = {0x0C733A98, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3683 + const IID IID_IViewFilter = {0x0C733A9B, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3684 + const IID IID_IViewObject = {0x0000010D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3685 + const IID IID_IViewObject2 = {0x00000127, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3686 + const IID IID_IViewObjectEx = {0x3AF24292, 0x0C96, 0x11CE, [0xA0, 0xCF, 0x00, 0xAA, 0x00, 0x60, 0x0A, 0xB8]}; 3687 + const IID IID_IViewRowset = {0x0C733A97, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3688 + const IID IID_IViewSort = {0x0C733A9A, 0x2A1C, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3689 + const IID IID_IVirusScanEngine = {0x083DB180, 0xB4A8, 0x11CF, [0xAA, 0xFA, 0x00, 0xAA, 0x00, 0xB6, 0x01, 0x5C]}; 3690 + const IID IID_IVirusScanner = {0x4589BEE0, 0xB4B1, 0x11CF, [0xAA, 0xFA, 0x00, 0xAA, 0x00, 0xB6, 0x01, 0x5C]}; 3691 + const IID IID_IWaitMultiple = {0x0000002B, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3692 + const IID IID_IWbemAddressResolution = {0xF7CE2E12, 0x8C90, 0x11D1, [0x9E, 0x7B, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 3693 + const IID IID_IWbemBackupRestore = {0xC49E32C7, 0xBC8B, 0x11D2, [0x85, 0xD4, 0x00, 0x10, 0x5A, 0x1F, 0x83, 0x04]}; 3694 + const IID IID_IWbemBackupRestoreEx = {0xA359DEC5, 0xE813, 0x4834, [0x8A, 0x2A, 0xBA, 0x7F, 0x1D, 0x77, 0x7D, 0x76]}; 3695 + const IID IID_IWbemCallResult = {0x44ACA675, 0xE8FC, 0x11D0, [0xA0, 0x7C, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3696 + const IID IID_IWbemCallStatus = {0x4212DC47, 0x142E, 0x4C6C, [0xBC, 0x49, 0x6C, 0xA2, 0x32, 0xDD, 0x09, 0x59]}; 3697 + const IID IID_IWbemClassObject = {0xDC12A681, 0x737F, 0x11CF, [0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24]}; 3698 + const IID IID_IWbemClientConnectionTransport = {0xA889C72A, 0xFCC1, 0x4A9E, [0xAF, 0x61, 0xED, 0x07, 0x13, 0x33, 0xFB, 0x5B]}; 3699 + const IID IID_IWbemClientTransport = {0xF7CE2E11, 0x8C90, 0x11D1, [0x9E, 0x7B, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 3700 + const IID IID_IWbemConfigure = {0x9A368276, 0x26CF, 0x11D0, [0xAD, 0x3C, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3701 + const IID IID_IWbemConfigureRefresher = {0x49353C92, 0x516B, 0x11D1, [0xAE, 0xA6, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3702 + const IID IID_IWbemConnectorLogin = {0xD8EC9CB1, 0xB135, 0x4F10, [0x8B, 0x1B, 0xC7, 0x18, 0x8B, 0xB0, 0xD1, 0x86]}; 3703 + const IID IID_IWbemConstructClassObject = {0x9EF76194, 0x70D5, 0x11D1, [0xAD, 0x90, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3704 + const IID IID_IWbemContext = {0x44ACA674, 0xE8FC, 0x11D0, [0xA0, 0x7C, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3705 + const IID IID_IWbemDecoupledBasicEventProvider = {0x86336D20, 0xCA11, 0x4786, [0x9E, 0xF1, 0xBC, 0x8A, 0x94, 0x6B, 0x42, 0xFC]}; 3706 + const IID IID_IWbemDecoupledEventSink = {0xCD94EBF2, 0xE622, 0x11D2, [0x9C, 0xB3, 0x00, 0x10, 0x5A, 0x1F, 0x48, 0x01]}; 3707 + const IID IID_IWbemDecoupledRegistrar = {0x1005CBCF, 0xE64F, 0x4646, [0xBC, 0xD3, 0x3A, 0x08, 0x9D, 0x8A, 0x84, 0xB4]}; 3708 + const IID IID_IWbemEventConsumerProvider = {0xE246107A, 0xB06E, 0x11D0, [0xAD, 0x61, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3709 + const IID IID_IWbemEventConsumerProviderEx = {0x17CF534A, 0xD8A3, 0x4AD0, [0xAC, 0x92, 0x5E, 0x3D, 0x01, 0x71, 0x71, 0x51]}; 3710 + const IID IID_IWbemEventProvider = {0xE245105B, 0xB06E, 0x11D0, [0xAD, 0x61, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3711 + const IID IID_IWbemEventProviderQuerySink = {0x580ACAF8, 0xFA1C, 0x11D0, [0xAD, 0x72, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3712 + const IID IID_IWbemEventProviderSecurity = {0x631F7D96, 0xD993, 0x11D2, [0xB3, 0x39, 0x00, 0x10, 0x5A, 0x1F, 0x4A, 0xAF]}; 3713 + const IID IID_IWbemEventSink = {0x3AE0080A, 0x7E3A, 0x4366, [0xBF, 0x89, 0x0F, 0xEE, 0xDC, 0x93, 0x16, 0x59]}; 3714 + const IID IID_IWbemHiPerfEnum = {0x2705C288, 0x79AE, 0x11D2, [0xB3, 0x48, 0x00, 0x10, 0x5A, 0x1F, 0x81, 0x77]}; 3715 + const IID IID_IWbemHiPerfProvider = {0x49353C93, 0x516B, 0x11D1, [0xAE, 0xA6, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3716 + const IID IID_IWbemLevel1Login = {0xF309AD18, 0xD86A, 0x11D0, [0xA0, 0x75, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3717 + const IID IID_IWbemLocator = {0xDC12A687, 0x737F, 0x11CF, [0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24]}; 3718 + const IID IID_IWbemObjectAccess = {0x49353C9A, 0x516B, 0x11D1, [0xAE, 0xA6, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3719 + const IID IID_IWbemObjectSink = {0x7C857801, 0x7381, 0x11CF, [0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24]}; 3720 + const IID IID_IWbemObjectTextSrc = {0xBFBF883A, 0xCAD7, 0x11D3, [0xA1, 0x1B, 0x00, 0x10, 0x5A, 0x1F, 0x51, 0x5A]}; 3721 + const IID IID_IWbemPath = {0x3BC15AF2, 0x736C, 0x477E, [0x9E, 0x51, 0x23, 0x8A, 0xF8, 0x66, 0x7D, 0xCC]}; 3722 + const IID IID_IWbemPathKeyList = {0x9AE62877, 0x7544, 0x4BB0, [0xAA, 0x26, 0xA1, 0x38, 0x24, 0x65, 0x9E, 0xD6]}; 3723 + const IID IID_IWbemPropertyProvider = {0xCE61E841, 0x65BC, 0x11D0, [0xB6, 0xBD, 0x00, 0xAA, 0x00, 0x32, 0x40, 0xC7]}; 3724 + const IID IID_IWbemProviderIdentity = {0x631F7D97, 0xD993, 0x11D2, [0xB3, 0x39, 0x00, 0x10, 0x5A, 0x1F, 0x4A, 0xAF]}; 3725 + const IID IID_IWbemProviderInit = {0x1BE41572, 0x91DD, 0x11D1, [0xAE, 0xB2, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3726 + const IID IID_IWbemProviderInitSink = {0x1BE41571, 0x91DD, 0x11D1, [0xAE, 0xB2, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3727 + const IID IID_IWbemQualifierSet = {0xDC12A680, 0x737F, 0x11CF, [0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24]}; 3728 + const IID IID_IWbemQuery = {0x81166F58, 0xDD98, 0x11D3, [0xA1, 0x20, 0x00, 0x10, 0x5A, 0x1F, 0x51, 0x5A]}; 3729 + const IID IID_IWbemRawSdAccessor = {0xC1E2D759, 0xCABD, 0x11D3, [0xA1, 0x1B, 0x00, 0x10, 0x5A, 0x1F, 0x51, 0x5A]}; 3730 + const IID IID_IWbemRefresher = {0x49353C99, 0x516B, 0x11D1, [0xAE, 0xA6, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3731 + const IID IID_IWbemServices = {0x9556DC99, 0x828C, 0x11CF, [0xA3, 0x7E, 0x00, 0xAA, 0x00, 0x32, 0x40, 0xC7]}; 3732 + const IID IID_IWbemShutdown = {0xB7B31DF9, 0xD515, 0x11D3, [0xA1, 0x1C, 0x00, 0x10, 0x5A, 0x1F, 0x51, 0x5A]}; 3733 + const IID IID_IWbemStatusCodeText = {0xEB87E1BC, 0x3233, 0x11D2, [0xAE, 0xC9, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20]}; 3734 + const IID IID_IWbemTransport = {0x553FE584, 0x2156, 0x11D0, [0xB6, 0xAE, 0x00, 0xAA, 0x00, 0x32, 0x40, 0xC7]}; 3735 + const IID IID_IWbemUnboundObjectSink = {0xE246107B, 0xB06E, 0x11D0, [0xAD, 0x61, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3736 + const IID IID_IWBScriptControl = {0xA5170870, 0x0CF8, 0x11D1, [0x8B, 0x91, 0x00, 0x80, 0xC7, 0x44, 0xF3, 0x89]}; 3737 + const IID IID_IWCContextMenuCallback = {0x97DEDE64, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3738 + const IID IID_IWCPropertySheetCallback = {0x97DEDE60, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3739 + const IID IID_IWCWizard97Callback = {0x97DEDE67, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3740 + const IID IID_IWCWizardCallback = {0x97DEDE62, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3741 + const IID IID_IWebBridge = {0xAE24FDAD, 0x03C6, 0x11D1, [0x8B, 0x76, 0x00, 0x80, 0xC7, 0x44, 0xF3, 0x89]}; 3742 + const IID IID_IWebBrowser = {0xEAB22AC1, 0x30C1, 0x11CF, [0xA7, 0xEB, 0x00, 0x00, 0xC0, 0x5B, 0xAE, 0x0B]}; 3743 + const IID IID_IWebBrowser2 = {0xD30C1661, 0xCDAF, 0x11D0, [0x8A, 0x3E, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E]}; 3744 + const IID IID_IWebBrowserApp = {0x0002DF05, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3745 + const IID IID_IWebWizardExtension = {0x0E6B3F66, 0x98D1, 0x48C0, [0xA2, 0x22, 0xFB, 0xDE, 0x74, 0xE2, 0xFB, 0xC5]}; 3746 + const IID IID_IWebWizardHost = {0x18BCC359, 0x4990, 0x4BFB, [0xB9, 0x51, 0x3C, 0x83, 0x70, 0x2B, 0xE5, 0xF9]}; 3747 + const IID IID_IWEExtendContextMenu = {0x97DEDE65, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3748 + const IID IID_IWEExtendPropertySheet = {0x97DEDE61, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3749 + const IID IID_IWEExtendWizard = {0x97DEDE63, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3750 + const IID IID_IWEExtendWizard97 = {0x97DEDE68, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3751 + const IID IID_IWEInvokeCommand = {0x97DEDE66, 0xFC6B, 0x11CF, [0xB5, 0xF5, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x05]}; 3752 + const IID IID_Iwfolders = {0xBAE31F98, 0x1B81, 0x11D2, [0xA9, 0x7A, 0x00, 0xC0, 0x4F, 0x8E, 0xCB, 0x02]}; 3753 + const IID IID_IWindowForBindingUI = {0x79EAC9D5, 0xBAFA, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3754 + const IID IID_IWinInetHttpInfo = {0x79EAC9D8, 0xBAFA, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3755 + const IID IID_IWinInetInfo = {0x79EAC9D6, 0xBAFA, 0x11CE, [0x8C, 0x82, 0x00, 0xAA, 0x00, 0x4B, 0xA9, 0x0B]}; 3756 + const IID IID_IWizardExtension = {0xC02EA696, 0x86CC, 0x491E, [0x9B, 0x23, 0x74, 0x39, 0x4A, 0x04, 0x44, 0xA8]}; 3757 + const IID IID_IWizardSite = {0x88960F5B, 0x422F, 0x4E7B, [0x80, 0x13, 0x73, 0x41, 0x53, 0x81, 0xC3, 0xC3]}; 3758 + const IID IID_IWMIExtension = {0xADC1F06E, 0x5C7E, 0x11D2, [0x8B, 0x74, 0x00, 0x10, 0x4B, 0x2A, 0xFB, 0x41]}; 3759 + const IID IID_IWordBreaker = {0xD53552C8, 0x77E3, 0x101A, [0xB5, 0x52, 0x08, 0x00, 0x2B, 0x33, 0xB0, 0xE6]}; 3760 + const IID IID_IWordSink = {0xCC907054, 0xC058, 0x101A, [0xB5, 0x54, 0x08, 0x00, 0x2B, 0x33, 0xB0, 0xE6]}; 3761 + const IID IID_IWrappedProtocol = {0x53C84785, 0x8425, 0x4DC5, [0x97, 0x1B, 0xE5, 0x8D, 0x9C, 0x19, 0xF9, 0xB6]}; 3762 + const IID IID_IXMLAttribute = {0xD4D4A0FC, 0x3B73, 0x11D1, [0xB2, 0xB4, 0x00, 0xC0, 0x4F, 0xB9, 0x25, 0x96]}; 3763 + const IID IID_IXMLDocument = {0xF52E2B61, 0x18A1, 0x11D1, [0xB1, 0x05, 0x00, 0x80, 0x5F, 0x49, 0x91, 0x6B]}; 3764 + const IID IID_IXMLDocument2 = {0x2B8DE2FE, 0x8D2D, 0x11D1, [0xB2, 0xFC, 0x00, 0xC0, 0x4F, 0xD9, 0x15, 0xA9]}; 3765 + const IID IID_IXMLDOMAttribute = {0x2933BF85, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3766 + const IID IID_IXMLDOMCDATASection = {0x2933BF8A, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3767 + const IID IID_IXMLDOMCharacterData = {0x2933BF84, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3768 + const IID IID_IXMLDOMComment = {0x2933BF88, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3769 + const IID IID_IXMLDOMDocument = {0x2933BF81, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3770 + const IID IID_IXMLDOMDocumentFragment = {0x3EFAA413, 0x272F, 0x11D2, [0x83, 0x6F, 0x00, 0x00, 0xF8, 0x7A, 0x77, 0x82]}; 3771 + const IID IID_IXMLDOMDocumentType = {0x2933BF8B, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3772 + const IID IID_IXMLDOMElement = {0x2933BF86, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3773 + const IID IID_IXMLDOMEntity = {0x2933BF8D, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3774 + const IID IID_IXMLDOMEntityReference = {0x2933BF8E, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3775 + const IID IID_IXMLDOMImplementation = {0x2933BF8F, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3776 + const IID IID_IXMLDOMNamedNodeMap = {0x2933BF83, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3777 + const IID IID_IXMLDOMNode = {0x2933BF80, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3778 + const IID IID_IXMLDOMNodeList = {0x2933BF82, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3779 + const IID IID_IXMLDOMNotation = {0x2933BF8C, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3780 + const IID IID_IXMLDOMParseError = {0x3EFAA426, 0x272F, 0x11D2, [0x83, 0x6F, 0x00, 0x00, 0xF8, 0x7A, 0x77, 0x82]}; 3781 + const IID IID_IXMLDOMProcessingInstruction = {0x2933BF89, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3782 + const IID IID_IXMLDOMText = {0x2933BF87, 0x7B36, 0x11D2, [0xB2, 0x0E, 0x00, 0xC0, 0x4F, 0x98, 0x3E, 0x60]}; 3783 + const IID IID_IXMLDSOControl = {0x310AFA62, 0x0575, 0x11D2, [0x9C, 0xA9, 0x00, 0x60, 0xB0, 0xEC, 0x3D, 0x39]}; 3784 + const IID IID_IXMLElement = {0x3F7F31AC, 0xE15F, 0x11D0, [0x9C, 0x25, 0x00, 0xC0, 0x4F, 0xC9, 0x9C, 0x8E]}; 3785 + const IID IID_IXMLElement2 = {0x2B8DE2FF, 0x8D2D, 0x11D1, [0xB2, 0xFC, 0x00, 0xC0, 0x4F, 0xD9, 0x15, 0xA9]}; 3786 + const IID IID_IXMLElementCollection = {0x65725580, 0x9B5D, 0x11D0, [0x9B, 0xFE, 0x00, 0xC0, 0x4F, 0xC9, 0x9C, 0x8E]}; 3787 + const IID IID_IXMLError = {0x948C5AD3, 0xC58D, 0x11D0, [0x9C, 0x0B, 0x00, 0xC0, 0x4F, 0xC9, 0x9C, 0x8E]}; 3788 + const IID IID_IXMLGenericParse = {0xE4E23071, 0x4D07, 0x11D2, [0xAE, 0x76, 0x00, 0x80, 0xC7, 0x3B, 0xC1, 0x99]}; 3789 + const IID IID_IXMLHttpRequest = {0xED8C108D, 0x4349, 0x11D2, [0x91, 0xA4, 0x00, 0xC0, 0x4F, 0x79, 0x69, 0xE8]}; 3790 + const IID IID_IXMLNodeFactory = {0xD242361F, 0x51A0, 0x11D2, [0x9C, 0xAF, 0x00, 0x60, 0xB0, 0xEC, 0x3D, 0x39]}; 3791 + const IID IID_IXMLNodeSource = {0xD242361D, 0x51A0, 0x11D2, [0x9C, 0xAF, 0x00, 0x60, 0xB0, 0xEC, 0x3D, 0x39]}; 3792 + const IID IID_IXMLParser = {0xD242361E, 0x51A0, 0x11D2, [0x9C, 0xAF, 0x00, 0x60, 0xB0, 0xEC, 0x3D, 0x39]}; 3793 + const IID IID_IXTLRuntime = {0x3EFAA425, 0x272F, 0x11D2, [0x83, 0x6F, 0x00, 0x00, 0xF8, 0x7A, 0x77, 0x82]}; 3794 + const IID IID_StdOle = {0x00020430, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3795 + const IID KSDATAFORMAT_SUBTYPE_DIRECTMUSIC = {0x1A82F8BC, 0x3F8B, 0x11D2, [0xB7, 0x74, 0x00, 0x60, 0x08, 0x33, 0x16, 0xC1]}; 3796 + const IID KSDATAFORMAT_SUBTYPE_MIDI = {0x1D262760, 0xE957, 0x11CF, [0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00]}; 3797 + const IID LIBID_Accessibility = {0x1EA4DBF0, 0x3C3B, 0x11CF, [0x81, 0x0C, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71]}; 3798 + const IID LIBID_ActiveIMM = {0x4955DD30, 0xB159, 0x11D0, [0x8F, 0xCF, 0x00, 0xAA, 0x00, 0x6B, 0xCC, 0x59]}; 3799 + const IID LIBID_ADs = {0x97D25DB0, 0x0363, 0x11CF, [0xAB, 0xC4, 0x02, 0x60, 0x8C, 0x9E, 0x75, 0x53]}; 3800 + const IID LIBID_ALGLib = {0xB6D1D098, 0xE235, 0x4B99, [0xBA, 0x98, 0x7C, 0x62, 0x4F, 0xD8, 0x75, 0xDB]}; 3801 + const IID LIBID_AutoDiscovery = {0x4EAFB888, 0x81CB, 0x4EBA, [0xBA, 0xC9, 0xDA, 0x25, 0x4E, 0x57, 0x21, 0xF1]}; 3802 + const IID LIBID_BackgroundCopyManager = {0x1DEEB74F, 0x7915, 0x4560, [0xB5, 0x58, 0x91, 0x8C, 0x83, 0xF1, 0x76, 0xA6]}; 3803 + const IID LIBID_BackgroundCopyManager1_5 = {0xEA9319EA, 0xC628, 0x480F, [0x83, 0x31, 0x76, 0x8F, 0xAC, 0x39, 0x7E, 0x4E]}; 3804 + const IID LIBID_BackgroundCopyQMgr = {0xF5B26DCB, 0xB37E, 0x4D7C, [0xAE, 0x7A, 0x1C, 0xB3, 0xFB, 0xEB, 0x18, 0x3E]}; 3805 + const IID LIBID_CHANNELMGR = {0x4804F2E0, 0xD16E, 0x11D0, [0x80, 0x2B, 0x00, 0xC0, 0x4F, 0xD7, 0x5D, 0x13]}; 3806 + const IID LIBID_CLADMWIZLib = {0x24F97140, 0x6689, 0x11D1, [0x9A, 0xA7, 0x00, 0xC0, 0x4F, 0xB9, 0x3A, 0x80]}; 3807 + const IID LIBID_ClusCfgWizard = {0x6D01FEDC, 0x8D34, 0x4728, [0xAD, 0x0B, 0xB3, 0xA2, 0x1A, 0x10, 0x3B, 0x42]}; 3808 + const IID LIBID_CommonControlObjects = {0xBCADA15B, 0xB428, 0x420C, [0x8D, 0x28, 0x02, 0x35, 0x90, 0x92, 0x4C, 0x9F]}; 3809 + const IID LIBID_DirectAnimation = {0xBCBB1F74, 0xE384, 0x11D0, [0x9B, 0x99, 0x00, 0xC0, 0x4F, 0xC2, 0xF5, 0x1D]}; 3810 + const IID LIBID_DWbemServices_v3 = {0xCB7CA031, 0xF729, 0x11D0, [0x9E, 0x4D, 0x00, 0xC0, 0x4F, 0xC3, 0x24, 0xA8]}; 3811 + const IID LIBID_DXTMSFTLib = {0x5E77EB03, 0x937C, 0x11D1, [0xB0, 0x47, 0x00, 0xAA, 0x00, 0x3B, 0x60, 0x61]}; 3812 + const IID LIBID_DXTRANSLib = {0x54314D1D, 0x35FE, 0x11D1, [0x81, 0xA1, 0x00, 0x00, 0xF8, 0x75, 0x57, 0xDB]}; 3813 + const IID LIBID_DXTRANSPLib = {0x527A4DA4, 0x7F2C, 0x11D2, [0xB1, 0x2D, 0x00, 0x00, 0xF8, 0x1F, 0x59, 0x95]}; 3814 + const IID LIBID_EventQLib = {0xA70080F2, 0x403B, 0x11D1, [0x88, 0x36, 0x00, 0xA0, 0xC9, 0x49, 0xAC, 0x67]}; 3815 + const IID LIBID_IASPolicyLib = {0x6BC096A5, 0x0CE6, 0x11D1, [0xBA, 0xAE, 0x00, 0xC0, 0x4F, 0xC2, 0xE2, 0x0D]}; 3816 + const IID LIBID_IEXTagLib = {0x7E8BC440, 0xAEFF, 0x11D1, [0x89, 0xC2, 0x00, 0xC0, 0x4F, 0xB6, 0xBF, 0xC4]}; 3817 + const IID LIBID_IMAPILib = {0xC49F2184, 0x50A7, 0x11D3, [0x91, 0x44, 0x00, 0x10, 0x4B, 0xA1, 0x1C, 0x5E]}; 3818 + const IID LIBID_ImgUtilLib = {0xCF790840, 0x2DC4, 0x11D0, [0xB7, 0x24, 0x00, 0xAA, 0x00, 0x6C, 0x1A, 0x01]}; 3819 + const IID LIBID_ITRKADMNLib = {0xA2531F35, 0xC67D, 0x11D0, [0x8C, 0xB1, 0x00, 0xC0, 0x4F, 0xD9, 0x0F, 0x85]}; 3820 + const IID LIBID_McastLib = {0x64217CC0, 0xA285, 0x11D1, [0x86, 0x97, 0x00, 0x60, 0x08, 0xB0, 0xE5, 0xD2]}; 3821 + const IID LIBID_MSHTML = {0x3050F1C5, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3822 + const IID LIBID_MSHTMLINTERNAL = {0x3050F7E1, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3823 + const IID LIBID_MSTIME = {0x87C96271, 0xADDB, 0x4745, [0xB2, 0xE8, 0xDF, 0x88, 0xA8, 0x47, 0x2F, 0xD1]}; 3824 + const IID LIBID_MSXML = {0xD63E0CE2, 0xA0A2, 0x11D0, [0x9C, 0x02, 0x00, 0xC0, 0x4F, 0xC9, 0x9C, 0x8E]}; 3825 + const IID LIBID_MultiLanguage = {0x275C23E0, 0x3747, 0x11D0, [0x9F, 0xEA, 0x00, 0xAA, 0x00, 0x3F, 0x86, 0x46]}; 3826 + const IID LIBID_NATUPNPLib = {0x1C565858, 0xF302, 0x471E, [0xB4, 0x09, 0xF1, 0x80, 0xAA, 0x4A, 0xBE, 0xC6]}; 3827 + const IID LIBID_NETCONLib = {0x43E734CA, 0x043D, 0x4A70, [0x9A, 0x2C, 0xA8, 0xF2, 0x54, 0x06, 0x3D, 0x91]}; 3828 + const IID LIBID_PassiveSink = {0xE002EEEF, 0xE6EA, 0x11D2, [0x9C, 0xB3, 0x00, 0x10, 0x5A, 0x1F, 0x48, 0x01]}; 3829 + const IID LIBID_ProcessDebugManagerLib = {0x78A51821, 0x51F4, 0x11D0, [0x8F, 0x20, 0x00, 0x80, 0x5F, 0x2C, 0xD0, 0x64]}; 3830 + const IID LIBID_RENDLib = {0xF1029E4D, 0xCB5B, 0x11D0, [0x8D, 0x59, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3831 + const IID LIBID_RTCCORELib = {0xCD260094, 0xDE10, 0x4AEE, [0xAC, 0x73, 0xEF, 0x87, 0xF6, 0xE1, 0x26, 0x83]}; 3832 + const IID LIBID_SDOIASLib = {0x81DDF732, 0x4AA8, 0x4A35, [0xBD, 0xFF, 0x8B, 0x42, 0xEF, 0xE7, 0xC6, 0x24]}; 3833 + const IID LIBID_SDPBLBLib = {0xC259D79A, 0xC8AB, 0x11D0, [0x8D, 0x58, 0x00, 0xC0, 0x4F, 0xD9, 0x1A, 0xC0]}; 3834 + const IID LIBID_SensEvents = {0xD597DEED, 0x5B9F, 0x11D1, [0x8D, 0xD2, 0x00, 0xAA, 0x00, 0x4A, 0xBD, 0x5E]}; 3835 + const IID LIBID_SHDocVw = {0xEAB22AC0, 0x30C1, 0x11CF, [0xA7, 0xEB, 0x00, 0x00, 0xC0, 0x5B, 0xAE, 0x0B]}; 3836 + const IID LIBID_Shell32 = {0x50A7E9B0, 0x70EF, 0x11D1, [0xB7, 0x5A, 0x00, 0xA0, 0xC9, 0x05, 0x64, 0xFE]}; 3837 + const IID LIBID_ShellImageData = {0x0B8AFF06, 0x8DF0, 0x4F13, [0x8E, 0x25, 0x25, 0xB2, 0x31, 0x9C, 0x43, 0x6A]}; 3838 + const IID LIBID_ShellObjects = {0x50A7E9B1, 0x70EF, 0x11D1, [0xB7, 0x5A, 0x00, 0xA0, 0xC9, 0x05, 0x64, 0xFE]}; 3839 + const IID LIBID_SHGINALib = {0x0A055C02, 0xBABE, 0x4480, [0xBB, 0x7B, 0xA8, 0xEC, 0x72, 0x3C, 0xE9, 0xC0]}; 3840 + const IID LIBID_SubscriptionMgr = {0xC54FD88A, 0xFFA1, 0x11D0, [0xBC, 0x5E, 0x00, 0xC0, 0x4F, 0xD9, 0x29, 0xDB]}; 3841 + const IID LIBID_TAPI3Lib = {0x21D6D480, 0xA88B, 0x11D0, [0x83, 0xDD, 0x00, 0xAA, 0x00, 0x3C, 0xCA, 0xBD]}; 3842 + const IID LIBID_TERMMGRLib = {0x28DCD85B, 0xACA4, 0x11D0, [0xA0, 0x28, 0x00, 0xAA, 0x00, 0xB6, 0x05, 0xA4]}; 3843 + const IID LIBID_UPnPHostLib = {0x204810B3, 0x73B2, 0x11D4, [0xBF, 0x42, 0x00, 0xB0, 0xD0, 0x11, 0x8B, 0x56]}; 3844 + const IID LIBID_UPNPLib = {0xDB3442A7, 0xA2E9, 0x4A59, [0x9C, 0xB5, 0xF5, 0xC1, 0xA5, 0xD9, 0x01, 0xE5]}; 3845 + const IID LIBID_VIRUSSCAN = {0x5F47DB70, 0xD9FE, 0x11D0, [0x95, 0x64, 0x00, 0x60, 0x97, 0x97, 0xEA, 0x4F]}; 3846 + const IID LIBID_WbemClient_v1 = {0x7EC196FE, 0x7005, 0x11D1, [0xAD, 0x90, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3847 + const IID LIBID_WbemProviders_v1 = {0x092DF710, 0x7010, 0x11D1, [0xAD, 0x90, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF]}; 3848 + const IID LIBID_WbemScripting = {0x565783C6, 0xCB41, 0x11D1, [0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6]}; 3849 + const IID LIBID_WbemTransports_v1 = {0x027947F3, 0xD731, 0x11CE, [0xA3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01]}; 3850 + const IID LIBID_WbemUtilities_v1 = {0x226C9290, 0xDD96, 0x11D3, [0xA1, 0x20, 0x00, 0x10, 0x5A, 0x1F, 0x51, 0x5A]}; 3851 + const IID LIBID_WebCheck = {0x10BD2E25, 0xF235, 0x11CF, [0xB5, 0xDD, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xEC]}; 3852 + const IID LIBID_WMIEXTENSIONLib = {0xE503D000, 0x5C7F, 0x11D2, [0x8B, 0x74, 0x00, 0x10, 0x4B, 0x2A, 0xFB, 0x41]}; 3853 + const IID LIBID_XENROLLLib = {0x43F8F27B, 0x7A20, 0x11D0, [0x8F, 0x06, 0x00, 0xC0, 0x4F, 0xC2, 0x95, 0xE1]}; 3854 + const IID LIBID_XMLPSR = {0xD242361C, 0x51A0, 0x11D2, [0x9C, 0xAF, 0x00, 0x60, 0xB0, 0xEC, 0x3D, 0x39]}; 3855 + const IID MDGUID_MDX = {0xA07CCCD0, 0x8148, 0x11D0, [0x87, 0xBB, 0x00, 0xC0, 0x4F, 0xC3, 0x39, 0x42]}; 3856 + const IID MDSCHEMA_ACTIONS = {0xA07CCD08, 0x8148, 0x11D0, [0x87, 0xBB, 0x00, 0xC0, 0x4F, 0xC3, 0x39, 0x42]}; 3857 + const IID MDSCHEMA_COMMANDS = {0xA07CCD09, 0x8148, 0x11D0, [0x87, 0xBB, 0x00, 0xC0, 0x4F, 0xC3, 0x39, 0x42]}; 3858 + const IID MDSCHEMA_CUBES = {0xC8B522D8, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3859 + const IID MDSCHEMA_DIMENSIONS = {0xC8B522D9, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3860 + const IID MDSCHEMA_FUNCTIONS = {0xA07CCD07, 0x8148, 0x11D0, [0x87, 0xBB, 0x00, 0xC0, 0x4F, 0xC3, 0x39, 0x42]}; 3861 + const IID MDSCHEMA_HIERARCHIES = {0xC8B522DA, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3862 + const IID MDSCHEMA_LEVELS = {0xC8B522DB, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3863 + const IID MDSCHEMA_MEASURES = {0xC8B522DC, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3864 + const IID MDSCHEMA_MEMBERS = {0xC8B522DE, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3865 + const IID MDSCHEMA_PROPERTIES = {0xC8B522DD, 0x5CF3, 0x11CE, [0xAD, 0xE5, 0x00, 0xAA, 0x00, 0x44, 0x77, 0x3D]}; 3866 + const IID MDSCHEMA_SETS = {0xA07CCD0B, 0x8148, 0x11D0, [0x87, 0xBB, 0x00, 0xC0, 0x4F, 0xC3, 0x39, 0x42]}; 3867 + const IID NAMEDTIMER_DRAW = {0x3050F362, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3868 + const IID NOTFCOOKIE_SCHEDULE_GROUP_DAILY = {0xD34F18B0, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3869 + const IID NOTFCOOKIE_SCHEDULE_GROUP_MANUAL = {0xD34F18B3, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3870 + const IID NOTFCOOKIE_SCHEDULE_GROUP_MONTHLY = {0xD34F18B2, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3871 + const IID NOTFCOOKIE_SCHEDULE_GROUP_WEEKLY = {0xD34F18B1, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3872 + const IID NOTIFICATIONTYPE_11 = {0xD34F17FB, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3873 + const IID NOTIFICATIONTYPE_12 = {0xD34F17FC, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3874 + const IID NOTIFICATIONTYPE_13 = {0xD34F17FD, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3875 + const IID NOTIFICATIONTYPE_14 = {0xD34F17FE, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3876 + const IID NOTIFICATIONTYPE_15 = {0xD34F17FF, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3877 + const IID NOTIFICATIONTYPE_AGENT_INIT = {0x1E4A7390, 0xC70B, 0x11D0, [0x95, 0xF8, 0x00, 0xA0, 0xC9, 0x03, 0x48, 0xEC]}; 3878 + const IID NOTIFICATIONTYPE_AGENT_START = {0xD34F17EC, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3879 + const IID NOTIFICATIONTYPE_ALERT = {0xD34F17E3, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3880 + const IID NOTIFICATIONTYPE_ANOUNCMENT = {0xD34F17E1, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3881 + const IID NOTIFICATIONTYPE_BEGIN_REPORT = {0xD34F17EE, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3882 + const IID NOTIFICATIONTYPE_CONFIG_CHANGED = {0xD34F17F2, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3883 + const IID NOTIFICATIONTYPE_CONNECT_TO_INTERNET = {0xD34F17F0, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3884 + const IID NOTIFICATIONTYPE_d = {0xD34F17F8, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3885 + const IID NOTIFICATIONTYPE_DISCONNECT_FROM_INTE = {0xD34F17F1, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3886 + const IID NOTIFICATIONTYPE_e = {0xD34F17F9, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3887 + const IID NOTIFICATIONTYPE_END_REPORT = {0xD34F17EF, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3888 + const IID NOTIFICATIONTYPE_f = {0xD34F17FA, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3889 + const IID NOTIFICATIONTYPE_GROUP_DONE = {0xD34F1885, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3890 + const IID NOTIFICATIONTYPE_GROUP_RESTART = {0xD34F1884, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3891 + const IID NOTIFICATIONTYPE_GROUP_START = {0xD34F1883, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3892 + const IID NOTIFICATIONTYPE_i6 = {0xD34F1886, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3893 + const IID NOTIFICATIONTYPE_i7 = {0xD34F1887, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3894 + const IID NOTIFICATIONTYPE_i8 = {0xD34F1888, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3895 + const IID NOTIFICATIONTYPE_i9 = {0xD34F1889, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3896 + const IID NOTIFICATIONTYPE_iA = {0xD34F188A, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3897 + const IID NOTIFICATIONTYPE_iB = {0xD34F188B, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3898 + const IID NOTIFICATIONTYPE_iC = {0xD34F188C, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3899 + const IID NOTIFICATIONTYPE_iD = {0xD34F188D, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3900 + const IID NOTIFICATIONTYPE_iE = {0xD34F188E, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3901 + const IID NOTIFICATIONTYPE_iF = {0xD34F188F, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3902 + const IID NOTIFICATIONTYPE_INET_IDLE = {0xD34F17E4, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3903 + const IID NOTIFICATIONTYPE_INET_OFFLINE = {0xD34F17E5, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3904 + const IID NOTIFICATIONTYPE_INET_ONLINE = {0xD34F17E6, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3905 + const IID NOTIFICATIONTYPE_ITEM_DONE = {0xD34F1882, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3906 + const IID NOTIFICATIONTYPE_ITEM_RESTART = {0xD34F1881, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3907 + const IID NOTIFICATIONTYPE_ITEM_START = {0xD34F1880, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3908 + const IID NOTIFICATIONTYPE_NULL = {0xD34F17E0, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3909 + const IID NOTIFICATIONTYPE_PROGRESS_REPORT = {0xD34F17F3, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3910 + const IID NOTIFICATIONTYPE_START_0 = {0xD34F1800, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3911 + const IID NOTIFICATIONTYPE_START_1 = {0xD34F1801, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3912 + const IID NOTIFICATIONTYPE_START_2 = {0xD34F1802, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3913 + const IID NOTIFICATIONTYPE_START_3 = {0xD34F1803, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3914 + const IID NOTIFICATIONTYPE_START_4 = {0xD34F1804, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3915 + const IID NOTIFICATIONTYPE_START_5 = {0xD34F1805, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3916 + const IID NOTIFICATIONTYPE_START_6 = {0xD34F1806, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3917 + const IID NOTIFICATIONTYPE_START_7 = {0xD34F1807, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3918 + const IID NOTIFICATIONTYPE_START_8 = {0xD34F1808, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3919 + const IID NOTIFICATIONTYPE_START_9 = {0xD34F1809, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3920 + const IID NOTIFICATIONTYPE_START_A = {0xD34F180A, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3921 + const IID NOTIFICATIONTYPE_START_B = {0xD34F180B, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3922 + const IID NOTIFICATIONTYPE_START_C = {0xD34F180C, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3923 + const IID NOTIFICATIONTYPE_START_D = {0xD34F180D, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3924 + const IID NOTIFICATIONTYPE_START_E = {0xD34F180E, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3925 + const IID NOTIFICATIONTYPE_START_F = {0xD34F180F, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3926 + const IID NOTIFICATIONTYPE_TASK = {0xD34F17E2, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3927 + const IID NOTIFICATIONTYPE_TASKS_ABORT = {0xD34F17E9, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3928 + const IID NOTIFICATIONTYPE_TASKS_COMPLETED = {0xD34F17EA, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3929 + const IID NOTIFICATIONTYPE_TASKS_ERROR = {0xD34F17F7, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3930 + const IID NOTIFICATIONTYPE_TASKS_PROGRESS = {0xD34F17EB, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3931 + const IID NOTIFICATIONTYPE_TASKS_RESUME = {0xD34F17E8, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3932 + const IID NOTIFICATIONTYPE_TASKS_STARTED = {0xD34F17F6, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3933 + const IID NOTIFICATIONTYPE_TASKS_SUSPEND = {0xD34F17E7, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3934 + const IID NOTIFICATIONTYPE_USER_IDLE_BEGIN = {0xD34F17F4, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3935 + const IID NOTIFICATIONTYPE_USER_IDLE_END = {0xD34F17F5, 0x576E, 0x11D0, [0xB2, 0x8C, 0x00, 0xC0, 0x4F, 0xD7, 0xCD, 0x22]}; 3936 + const IID OLE_DATAPATH_ALLIMAGE = {0x0002DE0E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3937 + const IID OLE_DATAPATH_ALLMM = {0x0002DE18, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3938 + const IID OLE_DATAPATH_ALLTEXT = {0x0002DE1E, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3939 + const IID OLE_DATAPATH_ANSITEXT = {0x0002DE19, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3940 + const IID OLE_DATAPATH_AVI = {0x0002DE0F, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3941 + const IID OLE_DATAPATH_BASICAUDIO = {0x0002DE12, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3942 + const IID OLE_DATAPATH_BIFF = {0x0002DE21, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3943 + const IID OLE_DATAPATH_BMP = {0x0002DE01, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3944 + const IID OLE_DATAPATH_CGM = {0x0002DE0B, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3945 + const IID OLE_DATAPATH_COMMONIMAGE = {0x0002DE0D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3946 + const IID OLE_DATAPATH_DIB = {0x0002DE02, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3947 + const IID OLE_DATAPATH_DIF = {0x0002DE1F, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3948 + const IID OLE_DATAPATH_ENHMF = {0x0002DE04, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3949 + const IID OLE_DATAPATH_EPS = {0x0002DE0C, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3950 + const IID OLE_DATAPATH_GIF = {0x0002DE05, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3951 + const IID OLE_DATAPATH_HTML = {0x0002DE1C, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3952 + const IID OLE_DATAPATH_JPEG = {0x0002DE06, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3953 + const IID OLE_DATAPATH_MIDI = {0x0002DE13, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3954 + const IID OLE_DATAPATH_MPEG = {0x0002DE10, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3955 + const IID OLE_DATAPATH_PALETTE = {0x0002DE22, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3956 + const IID OLE_DATAPATH_PCX = {0x0002DE09, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3957 + const IID OLE_DATAPATH_PENDATA = {0x0002DE23, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3958 + const IID OLE_DATAPATH_PICT = {0x0002DE0A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3959 + const IID OLE_DATAPATH_POSTSCRIPT = {0x0002DE1D, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3960 + const IID OLE_DATAPATH_QUICKTIME = {0x0002DE11, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3961 + const IID OLE_DATAPATH_RIFF = {0x0002DE15, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3962 + const IID OLE_DATAPATH_RTF = {0x0002DE1B, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3963 + const IID OLE_DATAPATH_SOUND = {0x0002DE16, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3964 + const IID OLE_DATAPATH_SYLK = {0x0002DE20, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3965 + const IID OLE_DATAPATH_TIFF = {0x0002DE07, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3966 + const IID OLE_DATAPATH_UNICODE = {0x0002DE1A, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3967 + const IID OLE_DATAPATH_VIDEO = {0x0002DE17, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3968 + const IID OLE_DATAPATH_WAV = {0x0002DE14, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3969 + const IID OLE_DATAPATH_WMF = {0x0002DE03, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3970 + const IID OLE_DATAPATH_XBM = {0x0002DE08, 0x0000, 0x0000, [0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46]}; 3971 + const IID OLEDB_SVC_DSLPropertyPages = {0x51740C02, 0x7E8E, 0x11D2, [0xA0, 0x2D, 0x00, 0xC0, 0x4F, 0xA3, 0x73, 0x48]}; 3972 + const IID PSGUID_QUERY = {0x49691C90, 0x7E17, 0x101A, [0xA9, 0x1C, 0x08, 0x00, 0x2B, 0x2E, 0xCD, 0xA9]}; 3973 + const IID RESCLASSTYPE_IPAddress = {0x57A80E0F, 0x6F18, 0x458B, [0xA7, 0x2A, 0xD1, 0x17, 0x0C, 0x47, 0x93, 0x90]}; 3974 + const IID RESCLASSTYPE_NetworkName = {0xBBA69EB9, 0xF5D0, 0x487B, [0x92, 0xAE, 0x1B, 0xA1, 0x0F, 0x39, 0x21, 0x58]}; 3975 + const IID RESCLASSTYPE_StorageDevice = {0x12453A47, 0x8C5E, 0x4837, [0xBA, 0xC6, 0xB2, 0x54, 0xB8, 0xF2, 0x64, 0xCC]}; 3976 + const IID RESTYPE_ClusterIPAddress = {0xE50DF832, 0x477C, 0x440C, [0xB7, 0xA3, 0x38, 0x23, 0xA6, 0xEF, 0x6C, 0xCB]}; 3977 + const IID RESTYPE_ClusterNetName = {0xB2897CCF, 0x8D2C, 0x4BC1, [0xB4, 0x96, 0x6E, 0x2B, 0xC7, 0xA0, 0xBB, 0x38]}; 3978 + const IID RESTYPE_ClusterQuorumDisk = {0xD9DDFB80, 0x0BDC, 0x40D4, [0xB3, 0x96, 0x1A, 0xFD, 0x77, 0xDD, 0xD1, 0x9C]}; 3979 + const IID RESTYPE_GenericScript = {0xF372184D, 0xDFDB, 0x4370, [0xA0, 0x05, 0xE1, 0xEF, 0x30, 0x1B, 0x23, 0xA4]}; 3980 + const IID RESTYPE_IPAddress = {0xE61ADE71, 0xC79A, 0x4FDA, [0xB1, 0xDB, 0xA9, 0xB8, 0xD2, 0x0C, 0x8B, 0x14]}; 3981 + const IID RESTYPE_LocalQuorum = {0xF004656D, 0x5B48, 0x4580, [0xA1, 0xF4, 0xC3, 0xEC, 0x14, 0x98, 0x3D, 0x1E]}; 3982 + const IID RESTYPE_MajorityNodeSet = {0x56BFAE11, 0xD2F7, 0x4F4F, [0x99, 0x52, 0x55, 0xAF, 0x19, 0xBA, 0xC3, 0xE9]}; 3983 + const IID RESTYPE_NetworkName = {0xC1D2FE1E, 0xD332, 0x445F, [0x8D, 0xA1, 0x12, 0xE5, 0xE2, 0xD3, 0x7C, 0xBF]}; 3984 + const IID RESTYPE_PhysicalDisk = {0xCC558763, 0x3386, 0x42EF, [0xB1, 0x50, 0xBE, 0x79, 0x33, 0x44, 0xD4, 0x5F]}; 3985 + const IID SID_CtxQueryAssociations = {0xFAADFC40, 0xB777, 0x4B69, [0xAA, 0x81, 0x77, 0x03, 0x5E, 0xF0, 0xE6, 0xE8]}; 3986 + const IID SID_SContainerDispatch = {0xB722BE00, 0x4E68, 0x101B, [0xA2, 0xBC, 0x00, 0xAA, 0x00, 0x40, 0x47, 0x70]}; 3987 + const IID SID_SDataPathBrowser = {0xFC4801A5, 0x2BA9, 0x11CF, [0xA2, 0x29, 0x00, 0xAA, 0x00, 0x3D, 0x73, 0x52]}; 3988 + const IID SID_SGetViewFromViewDual = {0x889A935D, 0x971E, 0x4B12, [0xB9, 0x0C, 0x24, 0xDF, 0xC9, 0xE1, 0xE5, 0xE8]}; 3989 + const IID SID_SHTMLEditServices = {0x3050F7F9, 0x98B5, 0x11CF, [0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B]}; 3990 + const IID SID_STopLevelBrowser = {0x4C96BE40, 0x915C, 0x11CF, [0x99, 0xD3, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37]}; 3991 + const IID SID_STopWindow = {0x49E1B500, 0x4636, 0x11D3, [0x97, 0xF7, 0x00, 0xC0, 0x4F, 0x45, 0xD0, 0xB3]}; 3992 + const IID SID_SVersionHost = {0x371EA634, 0xDC5C, 0x11D1, [0xBA, 0x57, 0x00, 0xC0, 0x4F, 0xC2, 0x04, 0x0E]}; 3993 + const IID TAPIMEDIATYPE_Audio = {0x028ED8C2, 0xDC7A, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3994 + const IID TAPIMEDIATYPE_DataModem = {0x028ED8C6, 0xDC7A, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3995 + const IID TAPIMEDIATYPE_G3Fax = {0x028ED8C7, 0xDC7A, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3996 + const IID TAPIMEDIATYPE_Video = {0x028ED8C4, 0xDC7A, 0x11D0, [0x8E, 0xD3, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3997 + const IID TAPIPROTOCOL_H323 = {0x831CE2D7, 0x83B5, 0x11D1, [0xBB, 0x5C, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3998 + const IID TAPIPROTOCOL_Multicast = {0x831CE2D8, 0x83B5, 0x11D1, [0xBB, 0x5C, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 3999 + const IID TAPIPROTOCOL_PSTN = {0x831CE2D6, 0x83B5, 0x11D1, [0xBB, 0x5C, 0x00, 0xC0, 0x4F, 0xB6, 0x80, 0x9F]}; 4000 + const IID TASK_AnalyzeCluster = {0x3140B5A6, 0x9AFA, 0x4588, [0x8C, 0xA0, 0x9B, 0xE8, 0xF8, 0xB6, 0x15, 0x06]}; 4001 + const IID TASK_CommitClusterChanges = {0x2D03030B, 0xF084, 0x4807, [0xBB, 0xAC, 0x94, 0x26, 0x9E, 0x50, 0xB5, 0x6F]}; 4002 + const IID TASKID_Major_Check_Cluster_Feasibili = {0xEBC8AEFF, 0x10C3, 0x4D5B, [0xAC, 0x17, 0xFC, 0x0F, 0x4C, 0x38, 0x71, 0xB7]}; 4003 + const IID TASKID_Major_Check_Node_Feasibility = {0xCC5E57B1, 0x4520, 0x4672, [0xB4, 0xBA, 0xA2, 0x88, 0xEC, 0x42, 0x94, 0x6E]}; 4004 + const IID TASKID_Major_Checking_For_Existing_Cl = {0xB8453B8F, 0x92FD, 0x4350, [0xA6, 0xD9, 0x55, 0x1F, 0xD0, 0x18, 0xB7, 0x91]}; 4005 + const IID TASKID_Major_Client_And_Server_Log = {0xCD36919C, 0x9F31, 0x46B4, [0xA2, 0x9D, 0xAC, 0x87, 0xF4, 0xE6, 0xCC, 0x93]}; 4006 + const IID TASKID_Major_Client_Log = {0x64ECA0EA, 0x9CB6, 0x4324, [0x97, 0x02, 0xDF, 0x15, 0xC6, 0x96, 0xC3, 0x0A]}; 4007 + const IID TASKID_Major_Configure_Cluster_Servic = {0x7C5F0774, 0x1611, 0x42B5, [0xAF, 0x3C, 0x6E, 0x12, 0x4A, 0xC4, 0xD3, 0x6B]}; 4008 + const IID TASKID_Major_Configure_Resource_Type = {0x6D47AF1F, 0x7F17, 0x4B80, [0x8F, 0xAB, 0x3A, 0x2D, 0x19, 0xB1, 0x23, 0x3D]}; 4009 + const IID TASKID_Major_Configure_Resources = {0x411BCDEC, 0x69D3, 0x4485, [0x8D, 0x5D, 0xE1, 0x9E, 0xE7, 0x7A, 0x6D, 0xD4]}; 4010 + const IID TASKID_Major_Establish_Connection = {0x93C32F99, 0x39CA, 0x4D38, [0x9D, 0x7F, 0x27, 0x07, 0xCA, 0x0E, 0xAF, 0x46]}; 4011 + const IID TASKID_Major_Find_Devices = {0x036BF567, 0x2377, 0x4BB3, [0x8A, 0xE1, 0xE4, 0x10, 0x4E, 0x2E, 0xB3, 0xC5]}; 4012 + const IID TASKID_Major_Reanalyze = {0xE25968DA, 0x9C7B, 0x42DB, [0xAD, 0xA9, 0xBC, 0x4E, 0x34, 0xF1, 0x7E, 0x6E]}; 4013 + const IID TASKID_Major_Server_Log = {0x05AA0768, 0x5F49, 0x49CD, [0xAF, 0xDC, 0x96, 0xF9, 0xD5, 0x18, 0x02, 0xD4]}; 4014 + const IID TASKID_Minor_Update_Progress = {0x2362D3DA, 0xA6A4, 0x4551, [0xB8, 0x46, 0x7B, 0xB3, 0xA1, 0x36, 0x5F, 0x56]}; 4015 + const IID TID_D3DRMAnimation = {0x3D82AB4F, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4016 + const IID TID_D3DRMAnimationKey = {0x10DD46A8, 0x775B, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4017 + const IID TID_D3DRMAnimationOptions = {0xE2BF56C0, 0x840F, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4018 + const IID TID_D3DRMAnimationSet = {0x3D82AB50, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4019 + const IID TID_D3DRMAppData = {0xE5745280, 0xB24F, 0x11CF, [0x9D, 0xD5, 0x00, 0xAA, 0x00, 0xA7, 0x1A, 0x2F]}; 4020 + const IID TID_D3DRMBoolean = {0x537DA6A0, 0xCA37, 0x11D0, [0x94, 0x1C, 0x00, 0x80, 0xC8, 0x0C, 0xFA, 0x7B]}; 4021 + const IID TID_D3DRMBoolean2d = {0x4885AE63, 0x78E8, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4022 + const IID TID_D3DRMCamera = {0x3D82AB51, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4023 + const IID TID_D3DRMColorRGB = {0xD3E16E81, 0x7835, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4024 + const IID TID_D3DRMColorRGBA = {0x35FF44E0, 0x6C7C, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4025 + const IID TID_D3DRMCoords2d = {0xF6F23F44, 0x7686, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4026 + const IID TID_D3DRMExternalVisual = {0x98116AA0, 0xBDBA, 0x11D1, [0x82, 0xC0, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x71]}; 4027 + const IID TID_D3DRMFloatKeys = {0x10DD46A9, 0x775B, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4028 + const IID TID_D3DRMFrame = {0x3D82AB46, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4029 + const IID TID_D3DRMFramePosition = {0xE2BF56C1, 0x840F, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4030 + const IID TID_D3DRMFrameRotation = {0xE2BF56C3, 0x840F, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4031 + const IID TID_D3DRMFrameTransformMatrix = {0xF6F23F41, 0x7686, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4032 + const IID TID_D3DRMFrameVelocity = {0xE2BF56C2, 0x840F, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4033 + const IID TID_D3DRMGuid = {0xA42790E0, 0x7810, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4034 + const IID TID_D3DRMIndexedColor = {0x1630B820, 0x7842, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4035 + const IID TID_D3DRMInfo = {0x2B957100, 0x9E9A, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4036 + const IID TID_D3DRMInlineData = {0x3A23EEA0, 0x94B1, 0x11D0, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4037 + const IID TID_D3DRMLight = {0x3D82AB4A, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4038 + const IID TID_D3DRMLightAttenuation = {0xA8A98BA0, 0xC5E5, 0x11CF, [0xB9, 0x41, 0x00, 0x80, 0xC8, 0x0C, 0xFA, 0x7B]}; 4039 + const IID TID_D3DRMLightPenumbra = {0xAED22741, 0xB31F, 0x11CF, [0x9D, 0xD5, 0x00, 0xAA, 0x00, 0xA7, 0x1A, 0x2F]}; 4040 + const IID TID_D3DRMLightRange = {0xAED22742, 0xB31F, 0x11CF, [0x9D, 0xD5, 0x00, 0xAA, 0x00, 0xA7, 0x1A, 0x2F]}; 4041 + const IID TID_D3DRMLightUmbra = {0xAED22740, 0xB31F, 0x11CF, [0x9D, 0xD5, 0x00, 0xAA, 0x00, 0xA7, 0x1A, 0x2F]}; 4042 + const IID TID_D3DRMMaterial = {0x3D82AB4D, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4043 + const IID TID_D3DRMMaterialAmbientColor = {0x01411840, 0x7786, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4044 + const IID TID_D3DRMMaterialArray = {0x35FF44E1, 0x6C7C, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4045 + const IID TID_D3DRMMaterialDiffuseColor = {0x01411841, 0x7786, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4046 + const IID TID_D3DRMMaterialEmissiveColor = {0xD3E16E80, 0x7835, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4047 + const IID TID_D3DRMMaterialPower = {0x01411843, 0x7786, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4048 + const IID TID_D3DRMMaterialSpecularColor = {0x01411842, 0x7786, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4049 + const IID TID_D3DRMMaterialWrap = {0x4885AE60, 0x78E8, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4050 + const IID TID_D3DRMMatrix4x4 = {0xF6F23F45, 0x7686, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4051 + const IID TID_D3DRMMesh = {0x3D82AB44, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4052 + const IID TID_D3DRMMeshFace = {0x3D82AB5F, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4053 + const IID TID_D3DRMMeshFaceWraps = {0xED1EC5C0, 0xC0A8, 0x11D0, [0x94, 0x1C, 0x00, 0x80, 0xC8, 0x0C, 0xFA, 0x7B]}; 4054 + const IID TID_D3DRMMeshMaterialList = {0xF6F23F42, 0x7686, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4055 + const IID TID_D3DRMMeshNormals = {0xF6F23F43, 0x7686, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4056 + const IID TID_D3DRMMeshTextureCoords = {0xF6F23F40, 0x7686, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4057 + const IID TID_D3DRMMeshVertexColors = {0x1630B821, 0x7842, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4058 + const IID TID_D3DRMProgressiveMesh = {0x8A63C360, 0x997D, 0x11D0, [0x94, 0x1C, 0x00, 0x80, 0xC8, 0x0C, 0xFA, 0x7B]}; 4059 + const IID TID_D3DRMPropertyBag = {0x7F0F21E1, 0xBFE1, 0x11D1, [0x82, 0xC0, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x71]}; 4060 + const IID TID_D3DRMRightHanded = {0x7F5D5EA0, 0xD53A, 0x11D1, [0x82, 0xC0, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x71]}; 4061 + const IID TID_D3DRMStringProperty = {0x7F0F21E0, 0xBFE1, 0x11D1, [0x82, 0xC0, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x71]}; 4062 + const IID TID_D3DRMTextureFilename = {0xA42790E1, 0x7810, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4063 + const IID TID_D3DRMTextureReference = {0xA42790E2, 0x7810, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4064 + const IID TID_D3DRMTimedFloatKeys = {0xF406B180, 0x7B3B, 0x11CF, [0x8F, 0x52, 0x00, 0x40, 0x33, 0x35, 0x94, 0xA3]}; 4065 + const IID TID_D3DRMUrl = {0x3A23EEA1, 0x94B1, 0x11D0, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4066 + const IID TID_D3DRMVector = {0x3D82AB5E, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4067 + const IID TID_DXFILEHeader = {0x3D82AB43, 0x62DA, 0x11CF, [0xAB, 0x39, 0x00, 0x20, 0xAF, 0x71, 0xE4, 0x33]}; 4068 +}

Added src/win32/vfw.d version [b5a6268e1454a5d6]

1 +/***********************************************************************\ 2 +* vfw.d * 3 +* * 4 +* Windows API header module * 5 +* written in the D programming language * 6 +* * 7 +* Placed into public domain * 8 +\***********************************************************************/ 9 + 10 +module win32.vfw; 11 +pragma(lib, "vfw32.lib"); 12 + 13 +private import 14 + win32.commdlg, 15 + win32.wingdi, 16 + win32.mmsystem, 17 + win32.unknwn, 18 + win32.w32api, 19 + win32.windef, 20 + win32.winuser; 21 + 22 +extern(Windows) { 23 + DWORD VideoForWindowsVersion(); 24 + LONG InitVFW(); 25 + LONG TermVFW(); 26 +} 27 + 28 +DWORD MKFOURCC(char ch0, char ch1, char ch2, char ch3) { 29 + return (cast(DWORD)ch0) | ((cast(DWORD)ch1) << 8) | ((cast(DWORD)ch2) << 16) | ((cast(DWORD)ch3) << 24); 30 +} 31 + 32 +/** 33 + * COMPMAN - Installable Compression Manager. 34 + */ 35 + 36 +const ICVERSION = 0x0104; 37 + 38 +alias HANDLE HIC; 39 + 40 +const BI_1632 = 0x32333631; 41 + 42 +template aviTWOCC(char c0, char c1) { 43 + const WORD aviTWOCC = c0 | (c1 << 8); 44 +} 45 + 46 +const ICTYPE_VIDEO = mmioFOURCC!('v', 'i', 'd', 'c'); 47 +const ICTYPE_AUDIO = mmioFOURCC!('a', 'u', 'd', 'c'); 48 + 49 +enum { 50 + ICERR_OK = 0, 51 + ICERR_DONTDRAW = 1, 52 + ICERR_NEWPALETTE = 2, 53 + ICERR_GOTOKEYFRAME = 3, 54 + ICERR_STOPDRAWING = 4, 55 +} 56 + 57 +const ICERR_UNSUPPORTED = -1; 58 +const ICERR_BADFORMAT = -2; 59 +const ICERR_MEMORY = -3; 60 +const ICERR_INTERNAL = -4; 61 +const ICERR_BADFLAGS = -5; 62 +const ICERR_BADPARAM = -6; 63 +const ICERR_BADSIZE = -7; 64 +const ICERR_BADHANDLE = -8; 65 +const ICERR_CANTUPDATE = -9; 66 +const ICERR_ABORT = -10; 67 +const ICERR_ERROR = -100; 68 +const ICERR_BADBITDEPTH = -200; 69 +const ICERR_BADIMAGESIZE = -201; 70 + 71 +const ICERR_CUSTOM = -400; 72 + 73 +enum { 74 + ICMODE_COMPRESS = 1, 75 + ICMODE_DECOMPRESS, 76 + ICMODE_FASTDECOMPRESS, 77 + ICMODE_QUERY, 78 + ICMODE_FASTCOMPRESS, 79 + ICMODE_DRAW = 8, 80 +} 81 + 82 +const ICMODE_INTERNALF_FUNCTION32 = 0x8000; 83 +const ICMODE_INTERNALF_MASK = 0x8000; 84 + 85 +enum { 86 + AVIIF_LIST = 0x00000001, 87 + AVIIF_TWOCC = 0x00000002, 88 + AVIIF_KEYFRAME = 0x00000010, 89 +} 90 + 91 +const ICQUALITY_LOW = 0; 92 +const ICQUALITY_HIGH = 10000; 93 +const ICQUALITY_DEFAULT = -1; 94 + 95 +enum { 96 + ICM_USER = DRV_USER + 0x0000, 97 + ICM_RESERVED_LOW = DRV_USER + 0x1000, 98 + ICM_RESERVED_HIGH = DRV_USER + 0x2000, 99 + ICM_RESERVED = ICM_RESERVED_LOW, 100 +} 101 + 102 +// messages 103 + 104 +enum { 105 + ICM_GETSTATE = ICM_RESERVED + 0, 106 + ICM_SETSTATE = ICM_RESERVED + 1, 107 + ICM_GETINFO = ICM_RESERVED + 2, 108 + ICM_CONFIGURE = ICM_RESERVED + 10, 109 + ICM_ABOUT = ICM_RESERVED + 11, 110 + ICM_GETERRORTEXT = ICM_RESERVED + 12, 111 + ICM_GETFORMATNAME = ICM_RESERVED + 20, 112 + ICM_ENUMFORMATS = ICM_RESERVED + 21, 113 + ICM_GETDEFAULTQUALITY = ICM_RESERVED + 30, 114 + ICM_GETQUALITY = ICM_RESERVED + 31, 115 + ICM_SETQUALITY = ICM_RESERVED + 32, 116 + ICM_SET = ICM_RESERVED + 40, 117 + ICM_GET = ICM_RESERVED + 41, 118 +} 119 + 120 +const ICM_FRAMERATE = mmioFOURCC!('F','r','m','R'); 121 +const ICM_KEYFRAMERATE = mmioFOURCC!('K','e','y','R'); 122 + 123 +// ICM specific messages. 124 + 125 +enum { 126 + ICM_COMPRESS_GET_FORMAT = ICM_USER + 4, 127 + ICM_COMPRESS_GET_SIZE = ICM_USER + 5, 128 + ICM_COMPRESS_QUERY = ICM_USER + 6, 129 + ICM_COMPRESS_BEGIN = ICM_USER + 7, 130 + ICM_COMPRESS = ICM_USER + 8, 131 + ICM_COMPRESS_END = ICM_USER + 9, 132 + ICM_DECOMPRESS_GET_FORMAT = ICM_USER + 10, 133 + ICM_DECOMPRESS_QUERY = ICM_USER + 11, 134 + ICM_DECOMPRESS_BEGIN = ICM_USER + 12, 135 + ICM_DECOMPRESS = ICM_USER + 13, 136 + ICM_DECOMPRESS_END = ICM_USER + 14, 137 + ICM_DECOMPRESS_SET_PALETTE = ICM_USER + 29, 138 + ICM_DECOMPRESS_GET_PALETTE = ICM_USER + 30, 139 + ICM_DRAW_QUERY = ICM_USER + 31, 140 + ICM_DRAW_BEGIN = ICM_USER + 15, 141 + ICM_DRAW_GET_PALETTE = ICM_USER + 16, 142 + ICM_DRAW_UPDATE = ICM_USER + 17, 143 + ICM_DRAW_START = ICM_USER + 18, 144 + ICM_DRAW_STOP = ICM_USER + 19, 145 + ICM_DRAW_BITS = ICM_USER + 20, 146 + ICM_DRAW_END = ICM_USER + 21, 147 + ICM_DRAW_GETTIME = ICM_USER + 32, 148 + ICM_DRAW = ICM_USER + 33, 149 + ICM_DRAW_WINDOW = ICM_USER + 34, 150 + ICM_DRAW_SETTIME = ICM_USER + 35, 151 + ICM_DRAW_REALIZE = ICM_USER + 36, 152 + ICM_DRAW_FLUSH = ICM_USER + 37, 153 + ICM_DRAW_RENDERBUFFER = ICM_USER + 38, 154 + ICM_DRAW_START_PLAY = ICM_USER + 39, 155 + ICM_DRAW_STOP_PLAY = ICM_USER + 40, 156 + ICM_DRAW_SUGGESTFORMAT = ICM_USER + 50, 157 + ICM_DRAW_CHANGEPALETTE = ICM_USER + 51, 158 + ICM_DRAW_IDLE = ICM_USER + 52, 159 + ICM_GETBUFFERSWANTED = ICM_USER + 41, 160 + ICM_GETDEFAULTKEYFRAMERATE = ICM_USER + 42, 161 + ICM_DECOMPRESSEX_BEGIN = ICM_USER + 60, 162 + ICM_DECOMPRESSEX_QUERY = ICM_USER + 61, 163 + ICM_DECOMPRESSEX = ICM_USER + 62, 164 + ICM_DECOMPRESSEX_END = ICM_USER + 63, 165 + ICM_COMPRESS_FRAMES_INFO = ICM_USER + 70, 166 + ICM_COMPRESS_FRAMES = ICM_USER + 71, 167 + ICM_SET_STATUS_PROC = ICM_USER + 72, 168 +} 169 + 170 +struct ICOPEN { 171 + DWORD dwSize; 172 + DWORD fccType; 173 + DWORD fccHandler; 174 + DWORD dwVersion; 175 + DWORD dwFlags; 176 + LRESULT dwError; 177 + LPVOID pV1Reserved; 178 + LPVOID pV2Reserved; 179 + DWORD dnDevNode; 180 +} 181 + 182 +struct ICINFO { 183 + DWORD dwSize; 184 + DWORD fccType; 185 + DWORD fccHandler; 186 + DWORD dwFlags; 187 + DWORD dwVersion; 188 + DWORD dwVersionICM; 189 + WCHAR szName[16]; 190 + WCHAR szDescription[128]; 191 + WCHAR szDriver[128]; 192 +} 193 + 194 +enum { 195 + VIDCF_QUALITY = 0x0001, 196 + VIDCF_CRUNCH = 0x0002, 197 + VIDCF_TEMPORAL = 0x0004, 198 + VIDCF_COMPRESSFRAMES = 0x0008, 199 + VIDCF_DRAW = 0x0010, 200 + VIDCF_FASTTEMPORALC = 0x0020, 201 + VIDCF_FASTTEMPORALD = 0x0080, 202 +} 203 + 204 +const ICCOMPRESS_KEYFRAME = 0x00000001L; 205 + 206 +struct ICCOMPRESS { 207 + DWORD dwFlags; 208 + LPBITMAPINFOHEADER lpbiOutput; 209 + LPVOID lpOutput; 210 + LPBITMAPINFOHEADER lpbiInput; 211 + LPVOID lpInput; 212 + LPDWORD lpckid; 213 + LPDWORD lpdwFlags; 214 + LONG lFrameNum; 215 + DWORD dwFrameSize; 216 + DWORD dwQuality; 217 + LPBITMAPINFOHEADER lpbiPrev; 218 + LPVOID lpPrev; 219 +} 220 + 221 +const ICCOMPRESSFRAMES_PADDING = 0x00000001; 222 + 223 +struct ICCOMPRESSFRAMES { 224 + DWORD dwFlags; 225 + LPBITMAPINFOHEADER lpbiOutput; 226 + LPARAM lOutput; 227 + LPBITMAPINFOHEADER lpbiInput; 228 + LPARAM lInput; 229 + LONG lStartFrame; 230 + LONG lFrameCount; 231 + LONG lQuality; 232 + LONG lDataRate; 233 + LONG lKeyRate; 234 + DWORD dwRate; 235 + DWORD dwScale; DWORD dwOverheadPerFrame; 236 + DWORD dwReserved2; 237 + 238 + LONG function(LPARAM lInput, LONG lFrame, LPVOID lpBits, LONG len) GetData; 239 + LONG function(LPARAM lOutput, LONG lFrame, LPVOID lpBits, LONG len) PutData; 240 +} 241 + 242 +enum { 243 + ICSTATUS_START = 0, 244 + ICSTATUS_STATUS = 1, 245 + ICSTATUS_END = 2, 246 + ICSTATUS_ERROR = 3, 247 + ICSTATUS_YIELD = 4, 248 +} 249 + 250 +struct ICSETSTATUSPROC { 251 + DWORD dwFlags; 252 + LPARAM lParam; 253 + LONG function(LPARAM lParam, UINT message, LONG l) Status; 254 +} 255 + 256 +enum { 257 + ICDECOMPRESS_NOTKEYFRAME = 0x08000000, 258 + ICDECOMPRESS_NULLFRAME = 0x10000000, 259 + ICDECOMPRESS_PREROLL = 0x20000000, 260 + ICDECOMPRESS_UPDATE = 0x40000000, 261 + ICDECOMPRESS_HURRYUP = 0x80000000, 262 +} 263 + 264 +struct ICDECOMPRESS { 265 + DWORD dwFlags; 266 + LPBITMAPINFOHEADER lpbiInput; 267 + LPVOID lpInput; 268 + LPBITMAPINFOHEADER lpbiOutput; 269 + LPVOID lpOutput; 270 + DWORD ckid; 271 +} 272 + 273 +struct ICDECOMPRESSEX { 274 + DWORD dwFlags; 275 + LPBITMAPINFOHEADER lpbiSrc; 276 + LPVOID lpSrc; 277 + LPBITMAPINFOHEADER lpbiDst; 278 + LPVOID lpDst; 279 + int xDst; 280 + int yDst; 281 + int dxDst; 282 + int dyDst; 283 + int xSrc; 284 + int ySrc; 285 + int dxSrc; 286 + int dySrc; 287 +} 288 + 289 +enum { 290 + ICDRAW_QUERY = 0x00000001, 291 + ICDRAW_FULLSCREEN = 0x00000002, 292 + ICDRAW_HDC = 0x00000004, 293 + ICDRAW_ANIMATE = 0x00000008, 294 + ICDRAW_CONTINUE = 0x00000010, 295 + ICDRAW_MEMORYDC = 0x00000020, 296 + ICDRAW_UPDATING = 0x00000040, 297 + ICDRAW_RENDER = 0x00000080, 298 + ICDRAW_BUFFER = 0x00000100, 299 +} 300 + 301 +struct ICDRAWBEGIN { 302 + DWORD dwFlags; 303 + HPALETTE hpal; 304 + HWND hwnd; 305 + HDC hdc; 306 + int xDst; 307 + int yDst; 308 + int dxDst; 309 + int dyDst; 310 + LPBITMAPINFOHEADER lpbi; 311 + int xSrc; 312 + int ySrc; 313 + int dxSrc; 314 + int dySrc; 315 + DWORD dwRate; 316 + DWORD dwScale; 317 +} 318 + 319 +enum { 320 + ICDRAW_NOTKEYFRAME = 0x08000000, 321 + ICDRAW_NULLFRAME = 0x10000000, 322 + ICDRAW_PREROLL = 0x20000000, 323 + ICDRAW_UPDATE = 0x40000000, 324 + ICDRAW_HURRYUP = 0x80000000, 325 +} 326 + 327 +struct ICDRAW { 328 + DWORD dwFlags; 329 + LPVOID lpFormat; 330 + LPVOID lpData; 331 + DWORD cbData; 332 + LONG lTime; 333 +} 334 + 335 +struct ICDRAWSUGGEST { 336 + LPBITMAPINFOHEADER lpbiIn; 337 + LPBITMAPINFOHEADER lpbiSuggest; 338 + int dxSrc; 339 + int dySrc; 340 + int dxDst; 341 + int dyDst; 342 + HIC hicDecompressor; 343 +} 344 + 345 +struct ICPALETTE { 346 + DWORD dwFlags; 347 + int iStart; 348 + int iLen; 349 + LPPALETTEENTRY lppe; 350 +} 351 + 352 + 353 +/** 354 + * ICM function declarations 355 + */ 356 + 357 +extern (Windows) { 358 + BOOL ICInfo(DWORD fccType, DWORD fccHandler, ICINFO *lpicinfo); 359 + BOOL ICInstall(DWORD fccType, DWORD fccHandler, LPARAM lParam, LPSTR szDesc, UINT wFlags); 360 + BOOL ICRemove(DWORD fccType, DWORD fccHandler, UINT wFlags); 361 + LRESULT ICGetInfo(HIC hic, ICINFO *picinfo, DWORD cb); 362 + HIC ICOpen(DWORD fccType, DWORD fccHandler, UINT wMode); 363 + HIC ICOpenFunction(DWORD fccType, DWORD fccHandler, UINT wMode, FARPROC lpfnHandler); 364 + LRESULT ICClose(HIC hic); 365 + LRESULT ICSendMessage(HIC hic, UINT msg, DWORD_PTR dw1, DWORD_PTR dw2); 366 +} 367 + 368 +enum { 369 + ICINSTALL_FUNCTION = 0x0001, 370 + ICINSTALL_DRIVER = 0x0002, 371 + ICINSTALL_HDRV = 0x0004, 372 + ICINSTALL_UNICODE = 0x8000, 373 + ICINSTALL_DRIVERW = 0x8002, 374 +} 375 + 376 +// query macros 377 + 378 +const ICMF_CONFIGURE_QUERY = 0x00000001; 379 +const ICMF_ABOUT_QUERY = 0x00000001; 380 + 381 +DWORD ICQueryAbout(HIC hic) { 382 + return ICSendMessage(hic, ICM_ABOUT, -1, ICMF_ABOUT_QUERY) == ICERR_OK; 383 +} 384 + 385 +DWORD ICAbout(HIC hic, HWND hwnd) { 386 + return ICSendMessage(hic, ICM_ABOUT, cast(UINT)hwnd, 0); 387 +} 388 + 389 +DWORD ICQueryConfigure(HIC hic) { 390 + return (ICSendMessage(hic, ICM_CONFIGURE, -1, ICMF_CONFIGURE_QUERY) == ICERR_OK); 391 +} 392 + 393 +DWORD ICConfigure(HIC hic, HWND hwnd) { 394 + return ICSendMessage(hic, ICM_CONFIGURE, cast(UINT)hwnd, 0); 395 +} 396 + 397 +DWORD ICGetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 398 + return ICSendMessage(hic, ICM_GETSTATE, cast(DWORD)pv, cast(DWORD)cb); 399 +} 400 + 401 +DWORD ICSetState(HIC hic, LPVOID pv, DWORD_PTR cb) { 402 + return ICSendMessage(hic, ICM_SETSTATE, cast(DWORD)pv, cast(DWORD)cb); 403 +} 404 + 405 +DWORD ICGetStateSize(HIC hic) { 406 + return ICGetState(hic, null, 0); 407 +} 408 + 409 +DWORD dwICValue; 410 + 411 +DWORD ICGetDefaultQuality(HIC hic) { 412 + ICSendMessage(hic, ICM_GETDEFAULTQUALITY, cast(DWORD_PTR)&dwICValue, DWORD.sizeof); 413 + return dwICValue; 414 +} 415 + 416 +DWORD ICGetDefaultKeyFrameRate(HIC hic) { 417 + ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, cast(DWORD_PTR)&dwICValue, DWORD.sizeof); 418 + return dwICValue; 419 +} 420 + 421 +DWORD ICDrawWindow(HIC hic, LPVOID prc) { 422 + return ICSendMessage(hic, ICM_DRAW_WINDOW, cast(DWORD)prc, RECT.sizeof); 423 +} 424 + 425 +extern (Windows) { 426 + DWORD ICCompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiOutput, LPVOID lpData, 427 + LPBITMAPINFOHEADER lpbiInput, LPVOID lpBits, LPDWORD lpckid, LPDWORD lpdwFlags, 428 + LONG lFrameNum, DWORD dwFrameSize, DWORD dwQuality, LPBITMAPINFOHEADER lpbiPrev, LPVOID lpPrev); 429 +} 430 + 431 +LRESULT ICCompressBegin(HIC hic, LPVOID lpbiInput, LPVOID lpbiOutput) { 432 + return ICSendMessage(hic, ICM_COMPRESS_BEGIN, cast(DWORD_PTR)lpbiInput, cast(DWORD_PTR)lpbiOutput); 433 +} 434 +LRESULT ICCompressQuery(HIC hic, LPVOID lpbiInput, LPVOID lpbiOutput) { 435 + return ICSendMessage(hic, ICM_COMPRESS_QUERY, cast(DWORD_PTR)lpbiInput, cast(DWORD_PTR)lpbiOutput); 436 +} 437 +LRESULT ICCompressGetFormat(HIC hic, LPVOID lpbiInput, LPVOID lpbiOutput) { 438 + return ICSendMessage(hic, ICM_COMPRESS_GET_FORMAT, cast(DWORD_PTR)lpbiInput, cast(DWORD_PTR)lpbiOutput); 439 +} 440 +DWORD ICCompressGetFormatSize(HIC hic, LPVOID lpbi) { 441 + return cast(DWORD)ICCompressGetFormat(hic, lpbi, null); 442 +} 443 +DWORD ICCompressGetSize(HIC hic, LPVOID lpbiInput, LPVOID lpbiOutput) { 444 + return cast(DWORD)ICSendMessage(hic, ICM_COMPRESS_GET_SIZE, cast(DWORD_PTR)lpbiInput, cast(DWORD_PTR)lpbiOutput); 445 +} 446 +LRESULT ICCompressEnd(HIC hic) { 447 + return ICSendMessage(hic, ICM_COMPRESS_END, 0, 0); 448 +} 449 + 450 +extern (Windows) { 451 + DWORD ICDecompress(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiFormat, LPVOID lpData, LPBITMAPINFOHEADER lpbi, LPVOID lpBits); 452 +} 453 + 454 +LRESULT ICDecompressBegin(HIC hic, LPVOID lpbiInput, LPVOID lpbiOutput) { 455 + return ICSendMessage(hic, ICM_DECOMPRESS_BEGIN, cast(DWORD_PTR)lpbiInput, cast(DWORD_PTR)lpbiOutput); 456 +} 457 +LRESULT ICDecompressQuery(HIC hic, LPVOID lpbiInput, LPVOID lpbiOutput) { 458 + return ICSendMessage(hic, ICM_DECOMPRESS_QUERY, cast(DWORD_PTR)lpbiInput, cast(DWORD_PTR)lpbiOutput); 459 +} 460 +LONG ICDecompressGetFormat(HIC hic, LPVOID lpbiInput, LPVOID lpbiOutput) { 461 + return cast(LONG)ICSendMessage(hic, ICM_DECOMPRESS_GET_FORMAT, cast(DWORD_PTR)lpbiInput, cast(DWORD_PTR)lpbiOutput); 462 +} 463 +LONG ICDecompressGetFormatSize(HIC hic, LPVOID lpbi) { 464 + return ICDecompressGetFormat(hic, lpbi, null); 465 +} 466 +LRESULT ICDecompressGetPalette(HIC hic, LPVOID lpbiInput, LPVOID lpbiOutput) { 467 + return ICSendMessage(hic, ICM_DECOMPRESS_GET_PALETTE, cast(DWORD_PTR)lpbiInput, cast(DWORD_PTR)lpbiOutput); 468 +} 469 +LRESULT ICDecompressSetPalette(HIC hic, LPVOID lpbiPalette) { 470 + return ICSendMessage(hic, ICM_DECOMPRESS_SET_PALETTE, cast(DWORD_PTR)lpbiPalette, 0); 471 +} 472 +LRESULT ICDecompressEnd(HIC hic) { 473 + return ICSendMessage(hic, ICM_DECOMPRESS_END, 0, 0); 474 +} 475 + 476 +LRESULT ICDecompressEx(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiSrc, 477 + LPVOID lpSrc, int xSrc, int ySrc, int dxSrc, int dySrc, LPBITMAPINFOHEADER lpbiDst, 478 + LPVOID lpDst, int xDst, int yDst, int dxDst, int dyDst) { 479 + ICDECOMPRESSEX ic; 480 + 481 + ic.dwFlags = dwFlags; 482 + ic.lpbiSrc = lpbiSrc; 483 + ic.lpSrc = lpSrc; 484 + ic.xSrc = xSrc; 485 + ic.ySrc = ySrc; 486 + ic.dxSrc = dxSrc; 487 + ic.dySrc = dySrc; 488 + ic.lpbiDst = lpbiDst; 489 + ic.lpDst = lpDst; 490 + ic.xDst = xDst; 491 + ic.yDst = yDst; 492 + ic.dxDst = dxDst; 493 + ic.dyDst = dyDst; 494 + 495 + return ICSendMessage(hic, ICM_DECOMPRESSEX, cast(DWORD_PTR)&ic, ic.sizeof); 496 +} 497 + 498 +LRESULT ICDecompressExBegin(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiSrc, 499 + LPVOID lpSrc, int xSrc, int ySrc, int dxSrc, int dySrc, LPBITMAPINFOHEADER lpbiDst, 500 + LPVOID lpDst, int xDst, int yDst, int dxDst, int dyDst) { 501 + ICDECOMPRESSEX ic; 502 + 503 + ic.dwFlags = dwFlags; 504 + ic.lpbiSrc = lpbiSrc; 505 + ic.lpSrc = lpSrc; 506 + ic.xSrc = xSrc; 507 + ic.ySrc = ySrc; 508 + ic.dxSrc = dxSrc; 509 + ic.dySrc = dySrc; 510 + ic.lpbiDst = lpbiDst; 511 + ic.lpDst = lpDst; 512 + ic.xDst = xDst; 513 + ic.yDst = yDst; 514 + ic.dxDst = dxDst; 515 + ic.dyDst = dyDst; 516 + 517 + return ICSendMessage(hic, ICM_DECOMPRESSEX_BEGIN, cast(DWORD_PTR)&ic, ic.sizeof); 518 +} 519 + 520 +LRESULT ICDecompressExQuery(HIC hic, DWORD dwFlags, LPBITMAPINFOHEADER lpbiSrc, 521 + LPVOID lpSrc, int xSrc, int ySrc, int dxSrc, int dySrc, LPBITMAPINFOHEADER lpbiDst, 522 + LPVOID lpDst, int xDst, int yDst, int dxDst, int dyDst) { 523 + ICDECOMPRESSEX ic; 524 + 525 + ic.dwFlags = dwFlags; 526 + ic.lpbiSrc = lpbiSrc; 527 + ic.lpSrc = lpSrc; 528 + ic.xSrc = xSrc; 529 + ic.ySrc = ySrc; 530 + ic.dxSrc = dxSrc; 531 + ic.dySrc = dySrc; 532 + ic.lpbiDst = lpbiDst; 533 + ic.lpDst = lpDst; 534 + ic.xDst = xDst; 535 + ic.yDst = yDst; 536 + ic.dxDst = dxDst; 537 + ic.dyDst = dyDst; 538 + 539 + return ICSendMessage(hic, ICM_DECOMPRESSEX_QUERY, cast(DWORD_PTR)&ic, ic.sizeof); 540 +} 541 + 542 +LRESULT ICDecompressExEnd(HIC hic) { 543 + return ICSendMessage(hic, ICM_DECOMPRESSEX_END, 0, 0); 544 +} 545 + 546 +extern (Windows) { 547 + DWORD ICDrawBegin(HIC hic, DWORD dwFlags, HPALETTE hpal, HWND hwnd, HDC hdc, 548 + int xDst, int yDst, int dxDst, int dyDst, LPBITMAPINFOHEADER lpbi, 549 + int xSrc, int ySrc, int dxSrc, int dySrc, DWORD dwRate, DWORD dwScale); 550 +} 551 + 552 +extern (Windows) { 553 + DWORD ICDraw(HIC hic, DWORD dwFlags, LPVOID lpFormat, LPVOID lpData, DWORD cbData, LONG lTime); 554 +} 555 + 556 +LRESULT ICDrawSuggestFormat(HIC hic, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, 557 + int dxSrc, int dySrc, int dxDst, int dyDst, HIC hicDecomp) { 558 + ICDRAWSUGGEST ic; 559 + 560 + ic.lpbiIn = lpbiIn; 561 + ic.lpbiSuggest = lpbiOut; 562 + ic.dxSrc = dxSrc; 563 + ic.dySrc = dySrc; 564 + ic.dxDst = dxDst; 565 + ic.dyDst = dyDst; 566 + ic.hicDecompressor = hicDecomp; 567 + 568 + return ICSendMessage(hic, ICM_DRAW_SUGGESTFORMAT, cast(DWORD_PTR)&ic, ic.sizeof); 569 +} 570 + 571 +LRESULT ICDrawQuery(HIC hic, LPVOID lpbiInput) { 572 + return ICSendMessage(hic, ICM_DRAW_QUERY, cast(DWORD_PTR)lpbiInput, 0L); 573 +} 574 +LRESULT ICDrawChangePalette(HIC hic, LPVOID lpbiInput) { 575 + return ICSendMessage(hic, ICM_DRAW_CHANGEPALETTE, cast(DWORD_PTR)lpbiInput, 0L); 576 +} 577 +LRESULT ICGetBuffersWanted(HIC hic, LPVOID lpdwBuffers) { 578 + return ICSendMessage(hic, ICM_GETBUFFERSWANTED, cast(DWORD_PTR)lpdwBuffers, 0); 579 +} 580 +LRESULT ICDrawEnd(HIC hic) { 581 + return ICSendMessage(hic, ICM_DRAW_END, 0, 0); 582 +} 583 +LRESULT ICDrawStart(HIC hic) { 584 + return ICSendMessage(hic, ICM_DRAW_START, 0, 0); 585 +} 586 +LRESULT ICDrawStartPlay(HIC hic, DWORD lFrom, DWORD lTo) { 587 + return ICSendMessage(hic, ICM_DRAW_START_PLAY, cast(DWORD_PTR)lFrom, cast(DWORD_PTR)lTo); 588 +} 589 +LRESULT ICDrawStop(HIC hic) { 590 + return ICSendMessage(hic, ICM_DRAW_STOP, 0, 0); 591 +} 592 +LRESULT ICDrawStopPlay(HIC hic) { 593 + return ICSendMessage(hic, ICM_DRAW_STOP_PLAY, 0, 0); 594 +} 595 +LRESULT ICDrawGetTime(HIC hic, LPVOID lplTime) { 596 + return ICSendMessage(hic, ICM_DRAW_GETTIME, cast(DWORD_PTR)lplTime, 0); 597 +} 598 +LRESULT ICDrawSetTime(HIC hic, DWORD lTime) { 599 + return ICSendMessage(hic, ICM_DRAW_SETTIME, cast(DWORD_PTR)lTime, 0); 600 +} 601 +LRESULT ICDrawRealize(HIC hic, HDC hdc, BOOL fBackground) { 602 + return ICSendMessage(hic, ICM_DRAW_REALIZE, cast(DWORD_PTR)hdc, cast(DWORD_PTR)fBackground); 603 +} 604 +LRESULT ICDrawFlush(HIC hic) { 605 + return ICSendMessage(hic, ICM_DRAW_FLUSH, 0, 0); 606 +} 607 +LRESULT ICDrawRenderBuffer(HIC hic) { 608 + return ICSendMessage(hic, ICM_DRAW_RENDERBUFFER, 0, 0); 609 +} 610 + 611 +LRESULT ICSetStatusProc(HIC hic, DWORD dwFlags, LRESULT lParam, LONG function(LPARAM, UINT, LONG) fpfnStatus) { 612 + ICSETSTATUSPROC ic; 613 + 614 + ic.dwFlags = dwFlags; 615 + ic.lParam = lParam; 616 + ic.Status = fpfnStatus; 617 + 618 + return ICSendMessage(hic, ICM_SET_STATUS_PROC, cast(DWORD_PTR)&ic, ic.sizeof); 619 +} 620 + 621 +HIC ICDecompressOpen(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut) { 622 + return ICLocate(fccType, fccHandler, lpbiIn, lpbiOut, ICMODE_DECOMPRESS); 623 +} 624 + 625 +HIC ICDrawOpen(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn) { 626 + return ICLocate(fccType, fccHandler, lpbiIn, null, ICMODE_DRAW); 627 +} 628 + 629 +extern (Windows) { 630 + HIC ICLocate(DWORD fccType, DWORD fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, WORD wFlags); 631 + HIC ICGetDisplayFormat(HIC hic, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, int BitDepth, int dx, int dy); 632 + HANDLE ICImageCompress(HIC hic, UINT uiFlags, LPBITMAPINFO lpbiIn, LPVOID lpBits, LPBITMAPINFO lpbiOut, LONG lQuality, LONG* plSize); 633 + HANDLE ICImageDecompress(HIC hic, UINT uiFlags, LPBITMAPINFO lpbiIn, LPVOID lpBits, LPBITMAPINFO lpbiOut); 634 +} 635 + 636 +struct COMPVARS { 637 + LONG cbSize = this.sizeof; 638 + DWORD dwFlags; 639 + HIC hic; 640 + DWORD fccType; 641 + DWORD fccHandler; 642 + LPBITMAPINFO lpbiIn; 643 + LPBITMAPINFO lpbiOut; 644 + LPVOID lpBitsOut; 645 + LPVOID lpBitsPrev; 646 + LONG lFrame; 647 + LONG lKey; 648 + LONG lDataRate; 649 + LONG lQ; 650 + LONG lKeyCount; 651 + LPVOID lpState; 652 + LONG cbState; 653 +} 654 +alias COMPVARS* PCOMPVARS; 655 + 656 +const ICMF_COMPVARS_VALID = 0x00000001; 657 + 658 +extern (Windows) { 659 + BOOL ICCompressorChoose(HWND hwnd, UINT uiFlags, LPVOID pvIn, LPVOID lpData, PCOMPVARS pc, LPSTR lpszTitle); 660 +} 661 + 662 +enum { 663 + ICMF_CHOOSE_KEYFRAME = 0x0001, 664 + ICMF_CHOOSE_DATARATE = 0x0002, 665 + ICMF_CHOOSE_PREVIEW = 0x0004, 666 + ICMF_CHOOSE_ALLCOMPRESSORS = 0x0008, 667 +} 668 + 669 +extern (Windows) { 670 + BOOL ICSeqCompressFrameStart(PCOMPVARS pc, LPBITMAPINFO lpbiIn); 671 + void ICSeqCompressFrameEnd(PCOMPVARS pc); 672 + LPVOID ICSeqCompressFrame(PCOMPVARS pc, UINT uiFlags, LPVOID lpBits, BOOL* pfKey, LONG* plSize); 673 + void ICCompressorFree(PCOMPVARS pc); 674 +} 675 + 676 +alias HANDLE HDRAWDIB; 677 + 678 +enum { 679 + DDF_0001 = 0x0001, 680 + DDF_UPDATE = 0x0002, 681 + DDF_SAME_HDC = 0x0004, 682 + DDF_SAME_DRAW = 0x0008, 683 + DDF_DONTDRAW = 0x0010, 684 + DDF_ANIMATE = 0x0020, 685 + DDF_BUFFER = 0x0040, 686 + DDF_JUSTDRAWIT = 0x0080, 687 + DDF_FULLSCREEN = 0x0100, 688 + DDF_BACKGROUNDPAL = 0x0200, 689 + DDF_NOTKEYFRAME = 0x0400, 690 + DDF_HURRYUP = 0x0800, 691 + DDF_HALFTONE = 0x1000, 692 + DDF_2000 = 0x2000, 693 + DDF_PREROLL = DDF_DONTDRAW, 694 + DDF_SAME_DIB = DDF_SAME_DRAW, 695 + DDF_SAME_SIZE = DDF_SAME_DRAW, 696 +} 697 + 698 +extern (Windows) { 699 + BOOL DrawDibInit(); 700 + HDRAWDIB DrawDibOpen(); 701 + BOOL DrawDibClose(HDRAWDIB hdd); 702 + LPVOID DrawDibGetBuffer(HDRAWDIB hdd, LPBITMAPINFOHEADER lpbi, DWORD dwSize, DWORD dwFlags); 703 + UINT DrawDibError(HDRAWDIB hdd); 704 + HPALETTE DrawDibGetPalette(HDRAWDIB hdd); 705 + BOOL DrawDibSetPalette(HDRAWDIB hdd, HPALETTE hpal); 706 + BOOL DrawDibChangePalette(HDRAWDIB hdd, int iStart, int iLen, LPPALETTEENTRY lppe); 707 + UINT DrawDibRealize(HDRAWDIB hdd, HDC hdc, BOOL fBackground); 708 + BOOL DrawDibStart(HDRAWDIB hdd, DWORD rate); 709 + BOOL DrawDibStop(HDRAWDIB hdd); 710 + BOOL DrawDibBegin(HDRAWDIB hdd, HDC hdc, int dxDst, int dyDst, LPBITMAPINFOHEADER lpbi, int dxSrc, int dySrc, UINT wFlags); 711 + BOOL DrawDibDraw(HDRAWDIB hdd, HDC hdc, int xDst, int yDst, int dxDst, int dyDst, LPBITMAPINFOHEADER lpbi, 712 + LPVOID lpBits, int xSrc, int ySrc, int dxSrc, int dySrc, UINT wFlags); 713 +} 714 + 715 +BOOL DrawDibUpdate(HDRAWDIB hdd, HDC hdc, int x, int y) { 716 + return DrawDibDraw(hdd, hdc, x, y, 0, 0, null, null, 0, 0, 0, 0, DDF_UPDATE); 717 +} 718 + 719 +extern (Windows) { 720 + BOOL DrawDibEnd(HDRAWDIB hdd); 721 +} 722 + 723 +struct DRAWDIBTIME { 724 + LONG timeCount; 725 + LONG timeDraw; 726 + LONG timeDecompress; 727 + LONG timeDither; 728 + LONG timeStretch; 729 + LONG timeBlt; 730 + LONG timeSetDIBits; 731 +} 732 +alias DRAWDIBTIME* LPDRAWDIBTIME; 733 + 734 +extern (Windows) { 735 + BOOL DrawDibTime(HDRAWDIB hdd, LPDRAWDIBTIME lpddtime); 736 +} 737 + 738 +enum { 739 + PD_CAN_DRAW_DIB = 0x0001, 740 + PD_CAN_STRETCHDIB = 0x0002, 741 + PD_STRETCHDIB_1_1_OK = 0x0004, 742 + PD_STRETCHDIB_1_2_OK = 0x0008, 743 + PD_STRETCHDIB_1_N_OK = 0x0010, 744 +} 745 + 746 +extern (Windows) { 747 + LRESULT DrawDibProfileDisplay(LPBITMAPINFOHEADER lpbi); 748 + void StretchDIB(LPBITMAPINFOHEADER biDst, LPVOID lpDst, int DstX, int DstY, 749 + int DstXE, int DstYE, LPBITMAPINFOHEADER biSrc, LPVOID lpSrc, 750 + int SrcX, int SrcY, int SrcXE, int SrcYE); 751 +} 752 + 753 +alias DWORD FOURCC; 754 + 755 +alias WORD TWOCC; 756 + 757 +const formtypeAVI = mmioFOURCC!('A', 'V', 'I', ' '); 758 +const listtypeAVIHEADER = mmioFOURCC!('h', 'd', 'r', 'l'); 759 +const ckidAVIMAINHDR = mmioFOURCC!('a', 'v', 'i', 'h'); 760 +const listtypeSTREAMHEADER = mmioFOURCC!('s', 't', 'r', 'l'); 761 +const ckidSTREAMHEADER = mmioFOURCC!('s', 't', 'r', 'h'); 762 +const ckidSTREAMFORMAT = mmioFOURCC!('s', 't', 'r', 'f'); 763 +const ckidSTREAMHANDLERDATA = mmioFOURCC!('s', 't', 'r', 'd'); 764 +const ckidSTREAMNAME = mmioFOURCC!('s', 't', 'r', 'n'); 765 +const listtypeAVIMOVIE = mmioFOURCC!('m', 'o', 'v', 'i'); 766 +const listtypeAVIRECORD = mmioFOURCC!('r', 'e', 'c', ' '); 767 +const ckidAVINEWINDEX = mmioFOURCC!('i', 'd', 'x', '1'); 768 +const streamtypeVIDEO = mmioFOURCC!('v', 'i', 'd', 's'); 769 +const streamtypeAUDIO = mmioFOURCC!('a', 'u', 'd', 's'); 770 +const streamtypeMIDI = mmioFOURCC!('m', 'i', 'd', 's'); 771 +const streamtypeTEXT = mmioFOURCC!('t', 'x', 't', 's'); 772 + 773 +const cktypeDIBbits = aviTWOCC!('d', 'b'); 774 +const cktypeDIBcompressed = aviTWOCC!('d', 'c'); 775 +const cktypePALchange = aviTWOCC!('p', 'c'); 776 +const cktypeWAVEbytes = aviTWOCC!('w', 'b'); 777 + 778 +const ckidAVIPADDING = mmioFOURCC!('J', 'U', 'N', 'K'); 779 + 780 +DWORD FromHex(char n) { 781 + return (n >= 'A') ? n + 10 - 'A' : n - '0'; 782 +} 783 + 784 +WORD StreamFromFOURCC(DWORD fcc) { 785 + return cast(WORD)((FromHex(LOBYTE(LOWORD(fcc))) << 4) + (FromHex(HIBYTE(LOWORD(fcc))))); 786 +} 787 + 788 +WORD TWOCCFromFOURCC(DWORD fcc) { 789 + return HIWORD(fcc); 790 +} 791 + 792 +BYTE ToHex(DWORD n) { 793 + return cast(BYTE)((n > 9) ? n - 10 + 'A' : n + '0'); 794 +} 795 + 796 +DWORD MAKEAVICKID(WORD tcc, WORD stream) { 797 + return MAKELONG(cast(WORD)((ToHex(stream & 0x0f) << 8) | (ToHex((stream & 0xf0) >> 4))), tcc); 798 +} 799 + 800 +enum { 801 + AVIF_HASINDEX = 0x00000010, 802 + AVIF_MUSTUSEINDEX = 0x00000020, 803 + AVIF_ISINTERLEAVED = 0x00000100, 804 + AVIF_WASCAPTUREFILE = 0x00010000, 805 + AVIF_COPYRIGHTED = 0x00020000, 806 +} 807 + 808 +const AVI_HEADERSIZE = 2048; 809 + 810 +struct MainAVIHeader { 811 + DWORD dwMicroSecPerFrame; 812 + DWORD dwMaxBytesPerSec; 813 + DWORD dwPaddingGranularity; 814 + DWORD dwFlags; 815 + DWORD dwTotalFrames; 816 + DWORD dwInitialFrames; 817 + DWORD dwStreams; 818 + DWORD dwSuggestedBufferSize; 819 + DWORD dwWidth; 820 + DWORD dwHeight; 821 + DWORD dwReserved[4]; 822 +} 823 + 824 +const AVISF_DISABLED = 0x00000001; 825 + 826 +const AVISF_VIDEO_PALCHANGES = 0x00010000; 827 + 828 +struct AVIStreamHeader { 829 + FOURCC fccType; 830 + FOURCC fccHandler; 831 + DWORD dwFlags; 832 + WORD wPriority; 833 + WORD wLanguage; 834 + DWORD dwInitialFrames; 835 + DWORD dwScale; 836 + DWORD dwRate; 837 + DWORD dwStart; 838 + DWORD dwLength; 839 + DWORD dwSuggestedBufferSize; 840 + DWORD dwQuality; 841 + DWORD dwSampleSize; 842 + RECT rcFrame; 843 +} 844 + 845 +enum { 846 + AVIIF_FIRSTPART = 0x00000020L, 847 + AVIIF_LASTPART = 0x00000040L, 848 + AVIIF_MIDPART = (AVIIF_LASTPART|AVIIF_FIRSTPART), 849 + AVIIF_NOTIME = 0x00000100L, 850 + AVIIF_COMPUSE = 0x0FFF0000L, 851 +} 852 + 853 +struct AVIINDEXENTRY { 854 + DWORD ckid; 855 + DWORD dwFlags; 856 + DWORD dwChunkOffset; 857 + DWORD dwChunkLength; 858 +} 859 + 860 +struct AVIPALCHANGE { 861 + BYTE bFirstEntry; 862 + BYTE bNumEntries; 863 + WORD wFlags; 864 + PALETTEENTRY peNew[]; 865 +} 866 + 867 +const AVIGETFRAMEF_BESTDISPLAYFMT = 1; 868 + 869 +struct AVISTREAMINFOW { 870 + DWORD fccType; 871 + DWORD fccHandler; 872 + DWORD dwFlags; 873 + DWORD dwCaps; 874 + WORD wPriority; 875 + WORD wLanguage; 876 + DWORD dwScale; 877 + DWORD dwRate; 878 + DWORD dwStart; 879 + DWORD dwLength; 880 + DWORD dwInitialFrames; 881 + DWORD dwSuggestedBufferSize; 882 + DWORD dwQuality; 883 + DWORD dwSampleSize; 884 + RECT rcFrame; 885 + DWORD dwEditCount; 886 + DWORD dwFormatChangeCount; 887 + WCHAR szName[64]; 888 +} 889 +alias AVISTREAMINFOW* LPAVISTREAMINFOW; 890 + 891 +struct AVISTREAMINFOA { 892 + DWORD fccType; 893 + DWORD fccHandler; 894 + DWORD dwFlags; 895 + DWORD dwCaps; 896 + WORD wPriority; 897 + WORD wLanguage; 898 + DWORD dwScale; 899 + DWORD dwRate; 900 + DWORD dwStart; 901 + DWORD dwLength; 902 + DWORD dwInitialFrames; 903 + DWORD dwSuggestedBufferSize; 904 + DWORD dwQuality; 905 + DWORD dwSampleSize; 906 + RECT rcFrame; 907 + DWORD dwEditCount; 908 + DWORD dwFormatChangeCount; 909 + char szName[64]; 910 +} 911 +alias AVISTREAMINFOA* LPAVISTREAMINFOA; 912 + 913 +version(Unicode) { 914 + alias AVISTREAMINFOW AVISTREAMINFO; 915 + alias LPAVISTREAMINFOW LPAVISTREAMINFO; 916 +} else { // Unicode 917 + alias AVISTREAMINFOA AVISTREAMINFO; 918 + alias LPAVISTREAMINFOA LPAVISTREAMINFO; 919 +} 920 + 921 +const AVISTREAMINFO_DISABLED = 0x00000001; 922 +const AVISTREAMINFO_FORMATCHANGES = 0x00010000; 923 + 924 +struct AVIFILEINFOW { 925 + DWORD dwMaxBytesPerSec; 926 + DWORD dwFlags; 927 + DWORD dwCaps; 928 + DWORD dwStreams; 929 + DWORD dwSuggestedBufferSize; 930 + DWORD dwWidth; 931 + DWORD dwHeight; 932 + DWORD dwScale; 933 + DWORD dwRate; 934 + DWORD dwLength; 935 + DWORD dwEditCount; 936 + WCHAR szFileType[64]; 937 +} 938 +alias AVIFILEINFOW* LPAVIFILEINFOW; 939 + 940 +struct AVIFILEINFOA { 941 + DWORD dwMaxBytesPerSec; 942 + DWORD dwFlags; 943 + DWORD dwCaps; 944 + DWORD dwStreams; 945 + DWORD dwSuggestedBufferSize; 946 + DWORD dwWidth; 947 + DWORD dwHeight; 948 + DWORD dwScale; 949 + DWORD dwRate; 950 + DWORD dwLength; 951 + DWORD dwEditCount; 952 + char szFileType[64]; 953 +} 954 +alias AVIFILEINFOA* LPAVIFILEINFOA; 955 + 956 +version(Unicode) { 957 + alias AVIFILEINFOW AVIFILEINFO; 958 + alias LPAVIFILEINFOW LPAVIFILEINFO; 959 +} else { // Unicode 960 + alias AVIFILEINFOA AVIFILEINFO; 961 + alias LPAVIFILEINFOA LPAVIFILEINFO; 962 +} 963 + 964 +enum { 965 + AVIFILEINFO_HASINDEX = 0x00000010, 966 + AVIFILEINFO_MUSTUSEINDEX = 0x00000020, 967 + AVIFILEINFO_ISINTERLEAVED = 0x00000100, 968 + AVIFILEINFO_WASCAPTUREFILE = 0x00010000, 969 + AVIFILEINFO_COPYRIGHTED = 0x00020000, 970 +} 971 + 972 +enum { 973 + AVIFILECAPS_CANREAD = 0x00000001, 974 + AVIFILECAPS_CANWRITE = 0x00000002, 975 + AVIFILECAPS_ALLKEYFRAMES = 0x00000010, 976 + AVIFILECAPS_NOCOMPRESSION = 0x00000020, 977 +} 978 + 979 +extern (Windows) { 980 + alias BOOL function(int) AVISAVECALLBACK; 981 +} 982 + 983 +struct AVICOMPRESSOPTIONS { 984 + DWORD fccType; 985 + DWORD fccHandler; 986 + DWORD dwKeyFrameEvery; 987 + DWORD dwQuality; 988 + DWORD dwBytesPerSecond; 989 + DWORD dwFlags; 990 + LPVOID lpFormat; 991 + DWORD cbFormat; 992 + LPVOID lpParms; 993 + DWORD cbParms; 994 + DWORD dwInterleaveEvery; 995 +} 996 +alias AVICOMPRESSOPTIONS* LPAVICOMPRESSOPTIONS; 997 + 998 +enum { 999 + AVICOMPRESSF_INTERLEAVE = 0x00000001, 1000 + AVICOMPRESSF_DATARATE = 0x00000002, 1001 + AVICOMPRESSF_KEYFRAMES = 0x00000004, 1002 + AVICOMPRESSF_VALID = 0x00000008, 1003 +} 1004 + 1005 +/+ TODO: 1006 +DECLARE_INTERFACE_(IAVIStream, IUnknown) 1007 +{ 1008 + STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; 1009 + STDMETHOD_(ULONG,AddRef) (THIS) PURE; 1010 + STDMETHOD_(ULONG,Release) (THIS) PURE; 1011 + 1012 + STDMETHOD(Create) (THIS_ LPARAM lParam1, LPARAM lParam2) PURE ; 1013 + STDMETHOD(Info) (THIS_ AVISTREAMINFOW FAR * psi, LONG lSize) PURE ; 1014 + STDMETHOD_(LONG, FindSample)(THIS_ LONG lPos, LONG lFlags) PURE ; 1015 + STDMETHOD(ReadFormat) (THIS_ LONG lPos, 1016 + LPVOID lpFormat, LONG FAR *lpcbFormat) PURE ; 1017 + STDMETHOD(SetFormat) (THIS_ LONG lPos, 1018 + LPVOID lpFormat, LONG cbFormat) PURE ; 1019 + STDMETHOD(Read) (THIS_ LONG lStart, LONG lSamples, 1020 + LPVOID lpBuffer, LONG cbBuffer, 1021 + LONG FAR * plBytes, LONG FAR * plSamples) PURE ; 1022 + STDMETHOD(Write) (THIS_ LONG lStart, LONG lSamples, 1023 + LPVOID lpBuffer, LONG cbBuffer, 1024 + DWORD dwFlags, 1025 + LONG FAR *plSampWritten, 1026 + LONG FAR *plBytesWritten) PURE ; 1027 + STDMETHOD(Delete) (THIS_ LONG lStart, LONG lSamples) PURE; 1028 + STDMETHOD(ReadData) (THIS_ DWORD fcc, LPVOID lp, LONG FAR *lpcb) PURE ; 1029 + STDMETHOD(WriteData) (THIS_ DWORD fcc, LPVOID lp, LONG cb) PURE ; 1030 +#ifdef _WIN32 1031 + STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo, 1032 + LONG cbInfo) PURE; 1033 +#else 1034 + STDMETHOD(Reserved1) (THIS) PURE; 1035 + STDMETHOD(Reserved2) (THIS) PURE; 1036 + STDMETHOD(Reserved3) (THIS) PURE; 1037 + STDMETHOD(Reserved4) (THIS) PURE; 1038 + STDMETHOD(Reserved5) (THIS) PURE; 1039 +#endif 1040 +}; 1041 + 1042 +typedef IAVIStream FAR* PAVISTREAM; 1043 + 1044 +#undef INTERFACE 1045 +#define INTERFACE IAVIStreaming 1046 + 1047 +DECLARE_INTERFACE_(IAVIStreaming, IUnknown) 1048 +{ 1049 + STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; 1050 + STDMETHOD_(ULONG,AddRef) (THIS) PURE; 1051 + STDMETHOD_(ULONG,Release) (THIS) PURE; 1052 + 1053 + STDMETHOD(Begin) (THIS_ 1054 + LONG lStart, 1055 + LONG lEnd, 1056 + LONG lRate) PURE; 1057 + STDMETHOD(End) (THIS) PURE; 1058 +}; 1059 + 1060 +typedef IAVIStreaming FAR* PAVISTREAMING; 1061 + 1062 + 1063 +#undef INTERFACE 1064 +#define INTERFACE IAVIEditStream 1065 + 1066 +DECLARE_INTERFACE_(IAVIEditStream, IUnknown) 1067 +{ 1068 + STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; 1069 + STDMETHOD_(ULONG,AddRef) (THIS) PURE; 1070 + STDMETHOD_(ULONG,Release) (THIS) PURE; 1071 + 1072 + STDMETHOD(Cut) (THIS_ LONG FAR *plStart, 1073 + LONG FAR *plLength, 1074 + PAVISTREAM FAR * ppResult) PURE; 1075 + STDMETHOD(Copy) (THIS_ LONG FAR *plStart, 1076 + LONG FAR *plLength, 1077 + PAVISTREAM FAR * ppResult) PURE; 1078 + STDMETHOD(Paste) (THIS_ LONG FAR *plPos, 1079 + LONG FAR *plLength, 1080 + PAVISTREAM pstream, 1081 + LONG lStart, 1082 + LONG lEnd) PURE; 1083 + STDMETHOD(Clone) (THIS_ PAVISTREAM FAR *ppResult) PURE; 1084 + STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo, 1085 + LONG cbInfo) PURE; 1086 +}; 1087 + 1088 +typedef IAVIEditStream FAR* PAVIEDITSTREAM; 1089 + 1090 +#undef INTERFACE 1091 +#define INTERFACE IAVIPersistFile 1092 + 1093 +DECLARE_INTERFACE_(IAVIPersistFile, IPersistFile) 1094 +{ 1095 + STDMETHOD(Reserved1)(THIS) PURE; 1096 +}; 1097 + 1098 +typedef IAVIPersistFile FAR* PAVIPERSISTFILE; 1099 + 1100 +#undef INTERFACE 1101 +#define INTERFACE IAVIFile 1102 +#define PAVIFILE IAVIFile FAR* 1103 + 1104 +DECLARE_INTERFACE_(IAVIFile, IUnknown) 1105 +{ 1106 + STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; 1107 + STDMETHOD_(ULONG,AddRef) (THIS) PURE; 1108 + STDMETHOD_(ULONG,Release) (THIS) PURE; 1109 + 1110 + STDMETHOD(Info) (THIS_ 1111 + AVIFILEINFOW FAR * pfi, 1112 + LONG lSize) PURE; 1113 + STDMETHOD(GetStream) (THIS_ 1114 + PAVISTREAM FAR * ppStream, 1115 + DWORD fccType, 1116 + LONG lParam) PURE; 1117 + STDMETHOD(CreateStream) (THIS_ 1118 + PAVISTREAM FAR * ppStream, 1119 + AVISTREAMINFOW FAR * psi) PURE; 1120 + STDMETHOD(WriteData) (THIS_ 1121 + DWORD ckid, 1122 + LPVOID lpData, 1123 + LONG cbData) PURE; 1124 + STDMETHOD(ReadData) (THIS_ 1125 + DWORD ckid, 1126 + LPVOID lpData, 1127 + LONG FAR *lpcbData) PURE; 1128 + STDMETHOD(EndRecord) (THIS) PURE; 1129 + STDMETHOD(DeleteStream) (THIS_ 1130 + DWORD fccType, 1131 + LONG lParam) PURE; 1132 +}; 1133 + 1134 +#undef PAVIFILE 1135 +typedef IAVIFile FAR* PAVIFILE; 1136 + 1137 +#undef INTERFACE 1138 +#define INTERFACE IGetFrame 1139 +#define PGETFRAME IGetFrame FAR* 1140 + 1141 +DECLARE_INTERFACE_(IGetFrame, IUnknown) 1142 +{ 1143 + STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE; 1144 + STDMETHOD_(ULONG,AddRef) (THIS) PURE; 1145 + STDMETHOD_(ULONG,Release) (THIS) PURE; 1146 + 1147 + STDMETHOD_(LPVOID,GetFrame) (THIS_ LONG lPos) PURE; 1148 + 1149 + STDMETHOD(Begin) (THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; 1150 + STDMETHOD(End) (THIS) PURE; 1151 + 1152 + STDMETHOD(SetFormat) (THIS_ LPBITMAPINFOHEADER lpbi, LPVOID lpBits, int x, int y, int dx, int dy) PURE; 1153 +}; 1154 + 1155 +#undef PGETFRAME 1156 +typedef IGetFrame FAR* PGETFRAME; 1157 + 1158 +#define DEFINE_AVIGUID(name, l, w1, w2) DEFINE_GUID(name, l, w1, w2, 0xC0,0,0,0,0,0,0,0x46) 1159 + 1160 +DEFINE_AVIGUID(IID_IAVIFile, 0x00020020, 0, 0); 1161 +DEFINE_AVIGUID(IID_IAVIStream, 0x00020021, 0, 0); 1162 +DEFINE_AVIGUID(IID_IAVIStreaming, 0x00020022, 0, 0); 1163 +DEFINE_AVIGUID(IID_IGetFrame, 0x00020023, 0, 0); 1164 +DEFINE_AVIGUID(IID_IAVIEditStream, 0x00020024, 0, 0); 1165 +DEFINE_AVIGUID(IID_IAVIPersistFile, 0x00020025, 0, 0); 1166 +#ifndef UNICODE 1167 +DEFINE_AVIGUID(CLSID_AVISimpleUnMarshal, 0x00020009, 0, 0); 1168 +#endif 1169 + 1170 +DEFINE_AVIGUID(CLSID_AVIFile, 0x00020000, 0, 0); 1171 + 1172 +#define AVIFILEHANDLER_CANREAD 0x0001 1173 +#define AVIFILEHANDLER_CANWRITE 0x0002 1174 +#define AVIFILEHANDLER_CANACCEPTNONRGB 0x0004 1175 + 1176 +STDAPI_(void) AVIFileInit(void); 1177 +STDAPI_(void) AVIFileExit(void); 1178 + 1179 +STDAPI_(ULONG) AVIFileAddRef (PAVIFILE pfile); 1180 +STDAPI_(ULONG) AVIFileRelease (PAVIFILE pfile); 1181 + 1182 +#ifdef _WIN32 1183 +STDAPI AVIFileOpenA (PAVIFILE FAR * ppfile, LPCSTR szFile, 1184 + UINT uMode, LPCLSID lpHandler); 1185 +STDAPI AVIFileOpenW (PAVIFILE FAR * ppfile, LPCWSTR szFile, 1186 + UINT uMode, LPCLSID lpHandler); 1187 +#ifdef UNICODE 1188 +#define AVIFileOpen AVIFileOpenW 1189 +#else 1190 +#define AVIFileOpen AVIFileOpenA 1191 +#endif 1192 +#else 1193 +STDAPI AVIFileOpen (PAVIFILE FAR * ppfile, LPCSTR szFile, 1194 + UINT uMode, LPCLSID lpHandler); 1195 +#define AVIFileOpenW AVIFileOpen 1196 +#endif 1197 + 1198 +#ifdef _WIN32 1199 +STDAPI AVIFileInfoW (PAVIFILE pfile, LPAVIFILEINFOW pfi, LONG lSize); 1200 +STDAPI AVIFileInfoA (PAVIFILE pfile, LPAVIFILEINFOA pfi, LONG lSize); 1201 +#ifdef UNICODE 1202 +#define AVIFileInfo AVIFileInfoW 1203 +#else 1204 +#define AVIFileInfo AVIFileInfoA 1205 +#endif 1206 +#else 1207 +STDAPI AVIFileInfo (PAVIFILE pfile, LPAVIFILEINFO pfi, LONG lSize); 1208 +#define AVIFileInfoW AVIFileInfo 1209 +#endif 1210 + 1211 + 1212 +STDAPI AVIFileGetStream (PAVIFILE pfile, PAVISTREAM FAR * ppavi, DWORD fccType, LONG lParam); 1213 + 1214 + 1215 +#ifdef _WIN32 1216 +STDAPI AVIFileCreateStreamW (PAVIFILE pfile, PAVISTREAM FAR *ppavi, AVISTREAMINFOW FAR * psi); 1217 +STDAPI AVIFileCreateStreamA (PAVIFILE pfile, PAVISTREAM FAR *ppavi, AVISTREAMINFOA FAR * psi); 1218 +#ifdef UNICODE 1219 +#define AVIFileCreateStream AVIFileCreateStreamW 1220 +#else 1221 +#define AVIFileCreateStream AVIFileCreateStreamA 1222 +#endif 1223 +#else 1224 +STDAPI AVIFileCreateStream(PAVIFILE pfile, PAVISTREAM FAR *ppavi, AVISTREAMINFO FAR * psi); 1225 +#define AVIFileCreateStreamW AVIFileCreateStream 1226 +#endif 1227 + 1228 +STDAPI AVIFileWriteData (PAVIFILE pfile, 1229 + DWORD ckid, 1230 + LPVOID lpData, 1231 + LONG cbData); 1232 +STDAPI AVIFileReadData (PAVIFILE pfile, 1233 + DWORD ckid, 1234 + LPVOID lpData, 1235 + LONG FAR *lpcbData); 1236 +STDAPI AVIFileEndRecord (PAVIFILE pfile); 1237 + 1238 +STDAPI_(ULONG) AVIStreamAddRef (PAVISTREAM pavi); 1239 +STDAPI_(ULONG) AVIStreamRelease (PAVISTREAM pavi); 1240 + 1241 +STDAPI AVIStreamInfoW (PAVISTREAM pavi, LPAVISTREAMINFOW psi, LONG lSize); 1242 +STDAPI AVIStreamInfoA (PAVISTREAM pavi, LPAVISTREAMINFOA psi, LONG lSize); 1243 +#ifdef UNICODE 1244 +#define AVIStreamInfo AVIStreamInfoW 1245 +#else 1246 +#define AVIStreamInfo AVIStreamInfoA 1247 +#endif 1248 + 1249 +STDAPI_(LONG) AVIStreamFindSample(PAVISTREAM pavi, LONG lPos, LONG lFlags); 1250 +STDAPI AVIStreamReadFormat (PAVISTREAM pavi, LONG lPos,LPVOID lpFormat,LONG FAR *lpcbFormat); 1251 +STDAPI AVIStreamSetFormat (PAVISTREAM pavi, LONG lPos,LPVOID lpFormat,LONG cbFormat); 1252 +STDAPI AVIStreamReadData (PAVISTREAM pavi, DWORD fcc, LPVOID lp, LONG FAR *lpcb); 1253 +STDAPI AVIStreamWriteData (PAVISTREAM pavi, DWORD fcc, LPVOID lp, LONG cb); 1254 + 1255 +STDAPI AVIStreamRead (PAVISTREAM pavi, 1256 + LONG lStart, 1257 + LONG lSamples, 1258 + LPVOID lpBuffer, 1259 + LONG cbBuffer, 1260 + LONG FAR * plBytes, 1261 + LONG FAR * plSamples); 1262 +#define AVISTREAMREAD_CONVENIENT (-1L) 1263 + 1264 +STDAPI AVIStreamWrite (PAVISTREAM pavi, 1265 + LONG lStart, LONG lSamples, 1266 + LPVOID lpBuffer, LONG cbBuffer, DWORD dwFlags, 1267 + LONG FAR *plSampWritten, 1268 + LONG FAR *plBytesWritten); 1269 + 1270 +STDAPI_(LONG) AVIStreamStart (PAVISTREAM pavi); 1271 +STDAPI_(LONG) AVIStreamLength (PAVISTREAM pavi); 1272 +STDAPI_(LONG) AVIStreamTimeToSample (PAVISTREAM pavi, LONG lTime); 1273 +STDAPI_(LONG) AVIStreamSampleToTime (PAVISTREAM pavi, LONG lSample); 1274 + 1275 + 1276 +STDAPI AVIStreamBeginStreaming(PAVISTREAM pavi, LONG lStart, LONG lEnd, LONG lRate); 1277 +STDAPI AVIStreamEndStreaming(PAVISTREAM pavi); 1278 + 1279 +STDAPI_(PGETFRAME) AVIStreamGetFrameOpen(PAVISTREAM pavi, 1280 + LPBITMAPINFOHEADER lpbiWanted); 1281 +STDAPI_(LPVOID) AVIStreamGetFrame(PGETFRAME pg, LONG lPos); 1282 +STDAPI AVIStreamGetFrameClose(PGETFRAME pg); 1283 + 1284 +STDAPI AVIStreamOpenFromFileA(PAVISTREAM FAR *ppavi, LPCSTR szFile, 1285 + DWORD fccType, LONG lParam, 1286 + UINT mode, CLSID FAR *pclsidHandler); 1287 +STDAPI AVIStreamOpenFromFileW(PAVISTREAM FAR *ppavi, LPCWSTR szFile, 1288 + DWORD fccType, LONG lParam, 1289 + UINT mode, CLSID FAR *pclsidHandler); 1290 +#ifdef UNICODE 1291 +#define AVIStreamOpenFromFile AVIStreamOpenFromFileW 1292 +#else 1293 +#define AVIStreamOpenFromFile AVIStreamOpenFromFileA 1294 +#endif 1295 + 1296 +STDAPI AVIStreamCreate(PAVISTREAM FAR *ppavi, LONG lParam1, LONG lParam2, 1297 + CLSID FAR *pclsidHandler); 1298 + 1299 + 1300 + 1301 +#define FIND_DIR 0x0000000FL 1302 +#define FIND_NEXT 0x00000001L 1303 +#define FIND_PREV 0x00000004L 1304 +#define FIND_FROM_START 0x00000008L 1305 + 1306 +#define FIND_TYPE 0x000000F0L 1307 +#define FIND_KEY 0x00000010L 1308 +#define FIND_ANY 0x00000020L 1309 +#define FIND_FORMAT 0x00000040L 1310 + 1311 +#define FIND_RET 0x0000F000L 1312 +#define FIND_POS 0x00000000L 1313 +#define FIND_LENGTH 0x00001000L 1314 +#define FIND_OFFSET 0x00002000L 1315 +#define FIND_SIZE 0x00003000L 1316 +#define FIND_INDEX 0x00004000L 1317 + 1318 +#define AVIStreamFindKeyFrame AVIStreamFindSample 1319 +#define FindKeyFrame FindSample 1320 + 1321 +#define AVIStreamClose AVIStreamRelease 1322 +#define AVIFileClose AVIFileRelease 1323 +#define AVIStreamInit AVIFileInit 1324 +#define AVIStreamExit AVIFileExit 1325 + 1326 +#define SEARCH_NEAREST FIND_PREV 1327 +#define SEARCH_BACKWARD FIND_PREV 1328 +#define SEARCH_FORWARD FIND_NEXT 1329 +#define SEARCH_KEY FIND_KEY 1330 +#define SEARCH_ANY FIND_ANY 1331 + 1332 +#define AVIStreamSampleToSample(pavi1, pavi2, l) AVIStreamTimeToSample(pavi1,AVIStreamSampleToTime(pavi2, l)) 1333 + 1334 +#define AVIStreamNextSample(pavi, l) AVIStreamFindSample(pavi,l+1,FIND_NEXT|FIND_ANY) 1335 + 1336 +#define AVIStreamPrevSample(pavi, l) AVIStreamFindSample(pavi,l-1,FIND_PREV|FIND_ANY) 1337 + 1338 +#define AVIStreamNearestSample(pavi, l) AVIStreamFindSample(pavi,l,FIND_PREV|FIND_ANY) 1339 + 1340 +#define AVIStreamNextKeyFrame(pavi,l) AVIStreamFindSample(pavi,l+1,FIND_NEXT|FIND_KEY) 1341 + 1342 +#define AVIStreamPrevKeyFrame(pavi, l) AVIStreamFindSample(pavi,l-1,FIND_PREV|FIND_KEY) 1343 + 1344 +#define AVIStreamNearestKeyFrame(pavi, l) AVIStreamFindSample(pavi,l,FIND_PREV|FIND_KEY) 1345 + 1346 +#define AVIStreamIsKeyFrame(pavi, l) (AVIStreamNearestKeyFrame(pavi,l) == l) 1347 + 1348 +#define AVIStreamPrevSampleTime(pavi, t) AVIStreamSampleToTime(pavi, AVIStreamPrevSample(pavi,AVIStreamTimeToSample(pavi,t))) 1349 + 1350 +#define AVIStreamNextSampleTime(pavi, t) AVIStreamSampleToTime(pavi, AVIStreamNextSample(pavi,AVIStreamTimeToSample(pavi,t))) 1351 + 1352 +#define AVIStreamNearestSampleTime(pavi, t) AVIStreamSampleToTime(pavi, AVIStreamNearestSample(pavi,AVIStreamTimeToSample(pavi,t))) 1353 + 1354 +#define AVIStreamNextKeyFrameTime(pavi, t) AVIStreamSampleToTime(pavi, AVIStreamNextKeyFrame(pavi,AVIStreamTimeToSample(pavi, t))) 1355 + 1356 +#define AVIStreamPrevKeyFrameTime(pavi, t) AVIStreamSampleToTime(pavi, AVIStreamPrevKeyFrame(pavi,AVIStreamTimeToSample(pavi, t))) 1357 + 1358 +#define AVIStreamNearestKeyFrameTime(pavi, t) AVIStreamSampleToTime(pavi, AVIStreamNearestKeyFrame(pavi,AVIStreamTimeToSample(pavi, t))) 1359 + 1360 +#define AVIStreamStartTime(pavi) AVIStreamSampleToTime(pavi, AVIStreamStart(pavi)) 1361 + 1362 +#define AVIStreamLengthTime(pavi) AVIStreamSampleToTime(pavi, AVIStreamLength(pavi)) 1363 + 1364 +#define AVIStreamEnd(pavi) (AVIStreamStart(pavi) + AVIStreamLength(pavi)) 1365 + 1366 +#define AVIStreamEndTime(pavi) AVIStreamSampleToTime(pavi, AVIStreamEnd(pavi)) 1367 + 1368 +#define AVIStreamSampleSize(pavi, lPos, plSize) AVIStreamRead(pavi,lPos,1,NULL,0,plSize,NULL) 1369 + 1370 +#define AVIStreamFormatSize(pavi, lPos, plSize) AVIStreamReadFormat(pavi,lPos,NULL,plSize) 1371 + 1372 +#define AVIStreamDataSize(pavi, fcc, plSize) AVIStreamReadData(pavi,fcc,NULL,plSize) 1373 + 1374 +#ifndef comptypeDIB 1375 +#define comptypeDIB mmioFOURCC('D', 'I', 'B', ' ') 1376 +#endif 1377 + 1378 +STDAPI AVIMakeCompressedStream( 1379 + PAVISTREAM FAR * ppsCompressed, 1380 + PAVISTREAM ppsSource, 1381 + AVICOMPRESSOPTIONS FAR * lpOptions, 1382 + CLSID FAR *pclsidHandler); 1383 + 1384 +EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile, 1385 + CLSID FAR *pclsidHandler, 1386 + AVISAVECALLBACK lpfnCallback, 1387 + int nStreams, 1388 + PAVISTREAM pfile, 1389 + LPAVICOMPRESSOPTIONS lpOptions, 1390 + ...); 1391 + 1392 +STDAPI AVISaveVA(LPCSTR szFile, 1393 + CLSID FAR *pclsidHandler, 1394 + AVISAVECALLBACK lpfnCallback, 1395 + int nStreams, 1396 + PAVISTREAM FAR * ppavi, 1397 + LPAVICOMPRESSOPTIONS FAR *plpOptions); 1398 +EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile, 1399 + CLSID FAR *pclsidHandler, 1400 + AVISAVECALLBACK lpfnCallback, 1401 + int nStreams, 1402 + PAVISTREAM pfile, 1403 + LPAVICOMPRESSOPTIONS lpOptions, 1404 + ...); 1405 + 1406 +STDAPI AVISaveVW(LPCWSTR szFile, 1407 + CLSID FAR *pclsidHandler, 1408 + AVISAVECALLBACK lpfnCallback, 1409 + int nStreams, 1410 + PAVISTREAM FAR * ppavi, 1411 + LPAVICOMPRESSOPTIONS FAR *plpOptions); 1412 +#ifdef UNICODE 1413 +#define AVISave AVISaveW 1414 +#define AVISaveV AVISaveVW 1415 +#else 1416 +#define AVISave AVISaveA 1417 +#define AVISaveV AVISaveVA 1418 +#endif 1419 + 1420 + 1421 + 1422 +STDAPI_(INT_PTR) AVISaveOptions(HWND hwnd, 1423 + UINT uiFlags, 1424 + int nStreams, 1425 + PAVISTREAM FAR *ppavi, 1426 + LPAVICOMPRESSOPTIONS FAR *plpOptions); 1427 + 1428 +STDAPI AVISaveOptionsFree(int nStreams, 1429 + LPAVICOMPRESSOPTIONS FAR *plpOptions); 1430 + 1431 +STDAPI AVIBuildFilterW(LPWSTR lpszFilter, LONG cbFilter, BOOL fSaving); 1432 +STDAPI AVIBuildFilterA(LPSTR lpszFilter, LONG cbFilter, BOOL fSaving); 1433 +#ifdef UNICODE 1434 +#define AVIBuildFilter AVIBuildFilterW 1435 +#else 1436 +#define AVIBuildFilter AVIBuildFilterA 1437 +#endif 1438 +STDAPI AVIMakeFileFromStreams(PAVIFILE FAR * ppfile, 1439 + int nStreams, 1440 + PAVISTREAM FAR * papStreams); 1441 + 1442 +STDAPI AVIMakeStreamFromClipboard(UINT cfFormat, HANDLE hGlobal, PAVISTREAM FAR *ppstream); 1443 + 1444 +STDAPI AVIPutFileOnClipboard(PAVIFILE pf); 1445 + 1446 +STDAPI AVIGetFromClipboard(PAVIFILE FAR * lppf); 1447 + 1448 +STDAPI AVIClearClipboard(void); 1449 + 1450 +STDAPI CreateEditableStream( 1451 + PAVISTREAM FAR * ppsEditable, 1452 + PAVISTREAM psSource); 1453 + 1454 +STDAPI EditStreamCut(PAVISTREAM pavi, LONG FAR *plStart, LONG FAR *plLength, PAVISTREAM FAR * ppResult); 1455 + 1456 +STDAPI EditStreamCopy(PAVISTREAM pavi, LONG FAR *plStart, LONG FAR *plLength, PAVISTREAM FAR * ppResult); 1457 + 1458 +STDAPI EditStreamPaste(PAVISTREAM pavi, LONG FAR *plPos, LONG FAR *plLength, PAVISTREAM pstream, LONG lStart, LONG lEnd); 1459 + 1460 +STDAPI EditStreamClone(PAVISTREAM pavi, PAVISTREAM FAR *ppResult); 1461 + 1462 + 1463 +STDAPI EditStreamSetNameA(PAVISTREAM pavi, LPCSTR lpszName); 1464 +STDAPI EditStreamSetNameW(PAVISTREAM pavi, LPCWSTR lpszName); 1465 +STDAPI EditStreamSetInfoW(PAVISTREAM pavi, LPAVISTREAMINFOW lpInfo, LONG cbInfo); 1466 +STDAPI EditStreamSetInfoA(PAVISTREAM pavi, LPAVISTREAMINFOA lpInfo, LONG cbInfo); 1467 +#ifdef UNICODE 1468 +#define EditStreamSetInfo EditStreamSetInfoW 1469 +#define EditStreamSetName EditStreamSetNameW 1470 +#else 1471 +#define EditStreamSetInfo EditStreamSetInfoA 1472 +#define EditStreamSetName EditStreamSetNameA 1473 +#endif 1474 ++/ 1475 +const AVIERR_OK = 0L; 1476 + 1477 +SCODE MAKE_AVIERR(DWORD error) { 1478 + return MAKE_SCODE(SEVERITY_ERROR, FACILITY_ITF, 0x4000 + error); 1479 +} 1480 + 1481 +const AVIERR_UNSUPPORTED = MAKE_AVIERR(101); 1482 +const AVIERR_BADFORMAT = MAKE_AVIERR(102); 1483 +const AVIERR_MEMORY = MAKE_AVIERR(103); 1484 +const AVIERR_INTERNAL = MAKE_AVIERR(104); 1485 +const AVIERR_BADFLAGS = MAKE_AVIERR(105); 1486 +const AVIERR_BADPARAM = MAKE_AVIERR(106); 1487 +const AVIERR_BADSIZE = MAKE_AVIERR(107); 1488 +const AVIERR_BADHANDLE = MAKE_AVIERR(108); 1489 +const AVIERR_FILEREAD = MAKE_AVIERR(109); 1490 +const AVIERR_FILEWRITE = MAKE_AVIERR(110); 1491 +const AVIERR_FILEOPEN = MAKE_AVIERR(111); 1492 +const AVIERR_COMPRESSOR = MAKE_AVIERR(112); 1493 +const AVIERR_NOCOMPRESSOR = MAKE_AVIERR(113); 1494 +const AVIERR_READONLY = MAKE_AVIERR(114); 1495 +const AVIERR_NODATA = MAKE_AVIERR(115); 1496 +const AVIERR_BUFFERTOOSMALL = MAKE_AVIERR(116); 1497 +const AVIERR_CANTCOMPRESS = MAKE_AVIERR(117); 1498 +const AVIERR_USERABORT = MAKE_AVIERR(198); 1499 +const AVIERR_ERROR = MAKE_AVIERR(199); 1500 + 1501 +const TCHAR[] MCIWND_WINDOW_CLASS = "MCIWndClass"; 1502 + 1503 +extern (Windows) { 1504 + HWND MCIWndCreateA(HWND hwndParent, HINSTANCE hInstance, DWORD dwStyle, LPCSTR szFile); 1505 + HWND MCIWndCreateW(HWND hwndParent, HINSTANCE hInstance, DWORD dwStyle, LPCWSTR szFile); 1506 +} 1507 + 1508 +version(Unicode) { 1509 + alias MCIWndCreateW MCIWndCreate; 1510 +} else { // Unicode 1511 + alias MCIWndCreateA MCIWndCreate; 1512 +} 1513 + 1514 +extern(Windows) { 1515 + BOOL MCIWndRegisterClass(); 1516 +} 1517 + 1518 +enum { 1519 + MCIWNDOPENF_NEW = 0x0001, 1520 + MCIWNDF_NOAUTOSIZEWINDOW = 0x0001, 1521 + MCIWNDF_NOPLAYBAR = 0x0002, 1522 + MCIWNDF_NOAUTOSIZEMOVIE = 0x0004, 1523 + MCIWNDF_NOMENU = 0x0008, 1524 + MCIWNDF_SHOWNAME = 0x0010, 1525 + MCIWNDF_SHOWPOS = 0x0020, 1526 + MCIWNDF_SHOWMODE = 0x0040, 1527 + MCIWNDF_SHOWALL = 0x0070, 1528 + MCIWNDF_NOTIFYMODE = 0x0100, 1529 + MCIWNDF_NOTIFYPOS = 0x0200, 1530 + MCIWNDF_NOTIFYSIZE = 0x0400, 1531 + MCIWNDF_NOTIFYERROR = 0x1000, 1532 + MCIWNDF_NOTIFYALL = 0x1F00, 1533 + MCIWNDF_NOTIFYANSI = 0x0080, 1534 + MCIWNDF_NOTIFYMEDIAA = 0x0880, 1535 + MCIWNDF_NOTIFYMEDIAW = 0x0800, 1536 +} 1537 + 1538 +version(Unicode) { 1539 + alias MCIWNDF_NOTIFYMEDIAW MCIWNDF_NOTIFYMEDIA; 1540 +} else { // Unicode 1541 + alias MCIWNDF_NOTIFYMEDIAA MCIWNDF_NOTIFYMEDIA; 1542 +} 1543 + 1544 +enum { 1545 + MCIWNDF_RECORD = 0x2000, 1546 + MCIWNDF_NOERRORDLG = 0x4000, 1547 + MCIWNDF_NOOPEN = 0x8000, 1548 +} 1549 + 1550 +// can macros 1551 + 1552 +BOOL MCIWndCanPlay(HWND hwnd) 1553 + { return cast(BOOL)SendMessage(hwnd, MCIWNDM_CAN_PLAY, 0, 0); } 1554 +BOOL MCIWndCanRecord(HWND hwnd) 1555 + { return cast(BOOL)SendMessage(hwnd, MCIWNDM_CAN_RECORD, 0, 0); } 1556 +BOOL MCIWndCanSave(HWND hwnd) 1557 + { return cast(BOOL)SendMessage(hwnd, MCIWNDM_CAN_SAVE, 0, 0); } 1558 +BOOL MCIWndCanWindow(HWND hwnd) 1559 + { return cast(BOOL)SendMessage(hwnd, MCIWNDM_CAN_WINDOW, 0, 0); } 1560 +BOOL MCIWndCanEject(HWND hwnd) 1561 + { return cast(BOOL)SendMessage(hwnd, MCIWNDM_CAN_EJECT, 0, 0); } 1562 +BOOL MCIWndCanConfig(HWND hwnd) 1563 + { return cast(BOOL)SendMessage(hwnd, MCIWNDM_CAN_CONFIG, 0, 0); } 1564 +BOOL MCIWndPaletteKick(HWND hwnd) 1565 + { return cast(BOOL)SendMessage(hwnd, MCIWNDM_PALETTEKICK, 0, 0); } 1566 +LONG MCIWndSave(HWND hwnd, LPVOID szFile) 1567 + { return cast(LONG)SendMessage(hwnd, MCI_SAVE, 0, cast(LPARAM)szFile); } 1568 +LONG MCIWndSaveDialog(HWND hwnd) 1569 + { return MCIWndSave(hwnd, cast(LPVOID)-1); } 1570 +LONG MCIWndNew(HWND hwnd, LPVOID lp) 1571 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_NEW, 0, cast(LPARAM)lp); } 1572 +LONG MCIWndRecord(HWND hwnd) 1573 + { return cast(LONG)SendMessage(hwnd, MCI_RECORD, 0, 0); } 1574 +LONG MCIWndOpen(HWND hwnd, LPVOID sz, UINT f) 1575 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_OPEN, cast(WPARAM)f, cast(LPARAM)sz); } 1576 +LONG MCIWndOpenDialog(HWND hwnd) 1577 + { return MCIWndOpen(hwnd, cast(LPVOID)-1, 0); } 1578 +LONG MCIWndClose(HWND hwnd) 1579 + { return cast(LONG)SendMessage(hwnd, MCI_CLOSE, 0, 0); } 1580 +LONG MCIWndPlay(HWND hwnd) 1581 + { return cast(LONG)SendMessage(hwnd, MCI_PLAY, 0, 0); } 1582 +LONG MCIWndStop(HWND hwnd) 1583 + { return cast(LONG)SendMessage(hwnd, MCI_STOP, 0, 0); } 1584 +LONG MCIWndPause(HWND hwnd) 1585 + { return cast(LONG)SendMessage(hwnd, MCI_PAUSE, 0, 0); } 1586 +LONG MCIWndResume(HWND hwnd) 1587 + { return cast(LONG)SendMessage(hwnd, MCI_RESUME, 0, 0); } 1588 +LONG MCIWndSeek(HWND hwnd, LONG lPos) 1589 + { return cast(LONG)SendMessage(hwnd, MCI_SEEK, 0, cast(LPARAM)lPos); } 1590 +LONG MCIWndHome(HWND hwnd) 1591 + { return MCIWndSeek(hwnd, MCIWND_START); } 1592 +LONG MCIWndEnd(HWND hwnd) 1593 + { return MCIWndSeek(hwnd, MCIWND_END); } 1594 +LONG MCIWndEject(HWND hwnd) 1595 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_EJECT, 0, 0); } 1596 +LONG MCIWndGetSource(HWND hwnd, LPRECT prc) 1597 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GET_SOURCE, 0, cast(LPARAM)prc); } 1598 +LONG MCIWndPutSource(HWND hwnd, LPRECT prc) 1599 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_PUT_SOURCE, 0, cast(LPARAM)prc); } 1600 +LONG MCIWndGetDest(HWND hwnd, LPRECT prc) 1601 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GET_DEST, 0, cast(LPARAM)prc); } 1602 +LONG MCIWndPutDest(HWND hwnd, LPRECT prc) 1603 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_PUT_DEST, 0, cast(LPARAM)prc); } 1604 +LONG MCIWndPlayReverse(HWND hwnd) 1605 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_PLAYREVERSE, 0, 0); } 1606 +LONG MCIWndPlayFrom(HWND hwnd, LONG lPos) 1607 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_PLAYFROM, 0, cast(LPARAM)lPos); } 1608 +LONG MCIWndPlayTo(HWND hwnd, LONG lPos) 1609 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_PLAYTO, 0, cast(LPARAM)lPos); } 1610 +LONG MCIWndPlayFromTo(HWND hwnd, LONG lStart, LONG lEnd) 1611 + { MCIWndSeek(hwnd, lStart); return MCIWndPlayTo(hwnd, lEnd); } 1612 +UINT MCIWndGetDeviceID(HWND hwnd) 1613 + { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETDEVICEID, 0, 0); } 1614 +UINT MCIWndGetAlias(HWND hwnd) 1615 + { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETALIAS, 0, 0); } 1616 +LONG MCIWndGetMode(HWND hwnd, LPTSTR lp, UINT len) 1617 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETMODE, cast(WPARAM)len, cast(LPARAM)lp); } 1618 +LONG MCIWndGetPosition(HWND hwnd) 1619 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETPOSITION, 0, 0); } 1620 +LONG MCIWndGetPositionString(HWND hwnd, LPTSTR lp, UINT len) 1621 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETPOSITION, cast(WPARAM)len, cast(LPARAM)lp); } 1622 +LONG MCIWndGetStart(HWND hwnd) 1623 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETSTART, 0, 0); } 1624 +LONG MCIWndGetLength(HWND hwnd) 1625 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETLENGTH, 0, 0); } 1626 +LONG MCIWndGetEnd(HWND hwnd) 1627 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETEND, 0, 0); } 1628 +LONG MCIWndStep(HWND hwnd, LONG n) 1629 + { return cast(LONG)SendMessage(hwnd, MCI_STEP, 0, cast(LPARAM)n); } 1630 +void MCIWndDestroy(HWND hwnd) 1631 + { SendMessage(hwnd, WM_CLOSE, 0, 0); } 1632 +void MCIWndSetZoom(HWND hwnd, UINT iZoom) 1633 + { SendMessage(hwnd, MCIWNDM_SETZOOM, 0, cast(LPARAM)iZoom); } 1634 +UINT MCIWndGetZoom(HWND hwnd) 1635 + { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETZOOM, 0, 0); } 1636 +LONG MCIWndSetVolume(HWND hwnd, UINT iVol) 1637 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_SETVOLUME, 0, cast(LPARAM)iVol); } 1638 +LONG MCIWndGetVolume(HWND hwnd) 1639 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETVOLUME, 0, 0); } 1640 +LONG MCIWndSetSpeed(HWND hwnd, UINT iSpeed) 1641 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_SETSPEED, 0, cast(LPARAM)iSpeed); } 1642 +LONG MCIWndGetSpeed(HWND hwnd) 1643 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETSPEED, 0, 0); } 1644 +LONG MCIWndSetTimeFormat(HWND hwnd, LPTSTR lp) 1645 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_SETTIMEFORMAT, 0, cast(LPARAM)lp); } 1646 +LONG MCIWndUseFrames(HWND hwnd) 1647 + { return MCIWndSetTimeFormat(hwnd, (cast(TCHAR[])"frames").ptr); } 1648 +LONG MCIWndUseTime(HWND hwnd) 1649 + { return MCIWndSetTimeFormat(hwnd, (cast(TCHAR[])"ms").ptr); } 1650 +LONG MCIWndGetTimeFormat(HWND hwnd, LPTSTR lp, UINT len) 1651 + { return cast(LONG)SendMessage(hwnd, MCIWNDM_GETTIMEFORMAT, cast(WPARAM)len, cast(LPARAM)lp); } 1652 +void MCIWndValidateMedia(HWND hwnd) 1653 + { SendMessage(hwnd, MCIWNDM_VALIDATEMEDIA, 0, 0); } 1654 +void MCIWndSetRepeat(HWND hwnd, BOOL f) 1655 + { SendMessage(hwnd, MCIWNDM_SETREPEAT, 0, cast(LPARAM)f); } 1656 +BOOL MCIWndGetRepeat(HWND hwnd) 1657 + { return cast(BOOL)SendMessage(hwnd, MCIWNDM_GETREPEAT, 0, 0); } 1658 +void MCIWndSetActiveTimer(HWND hwnd, UINT active) 1659 + { SendMessage(hwnd, MCIWNDM_SETACTIVETIMER, cast(WPARAM)active, 0); } 1660 +void MCIWndSetInactiveTimer(HWND hwnd, UINT inactive) 1661 + { SendMessage(hwnd, MCIWNDM_SETINACTIVETIMER, cast(WPARAM)inactive, 0); } 1662 +void MCIWndSetTimers(HWND hwnd, UINT active, UINT inactive) 1663 + { SendMessage(hwnd, MCIWNDM_SETTIMERS, cast(WPARAM)active, cast(LPARAM)inactive); } 1664 +UINT MCIWndGetActiveTimer(HWND hwnd) 1665 + { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETACTIVETIMER, 0, 0); } 1666 +UINT MCIWndGetInactiveTimer(HWND hwnd) 1667 + { return cast(UINT)SendMessage(hwnd, MCIWNDM_GETINACTIVETIMER, 0, 0); } 1668 +LONG MCIWndRealize(HWND hwnd, BOOL fBkgnd) 1669 + { return SendMessage(hwnd, MCIWNDM_REALIZE, cast(WPARAM)fBkgnd, 0); } 1670 +LONG MCIWndSendString(HWND hwnd, LPTSTR sz) 1671 + { return SendMessage(hwnd, MCIWNDM_SENDSTRING, 0, cast(LPARAM)sz); } 1672 +LONG MCIWndReturnString(HWND hwnd, LPVOID lp, UINT len) 1673 + { return SendMessage(hwnd, MCIWNDM_RETURNSTRING, cast(WPARAM)len, cast(LPARAM)lp); } 1674 +LONG MCIWndGetError(HWND hwnd, LPVOID lp, UINT len) 1675 + { return SendMessage(hwnd, MCIWNDM_GETERROR, cast(WPARAM)len, cast(LPARAM)lp); } 1676 +HPALETTE MCIWndGetPalette(HWND hwnd) 1677 + { return cast(HPALETTE)SendMessage(hwnd, MCIWNDM_GETPALETTE, 0, 0); } 1678 +LONG MCIWndSetPalette(HWND hwnd, HPALETTE hpal) 1679 + { return SendMessage(hwnd, MCIWNDM_SETPALETTE, cast(WPARAM)hpal, 0); } 1680 +LONG MCIWndGetFileName(HWND hwnd, LPVOID lp, UINT len) 1681 + { return SendMessage(hwnd, MCIWNDM_GETFILENAME, cast(WPARAM)len, cast(LPARAM)lp); } 1682 +LONG MCIWndGetDevice(HWND hwnd, LPVOID lp, UINT len) 1683 + { return SendMessage(hwnd, MCIWNDM_GETDEVICE, cast(WPARAM)len, cast(LPARAM)lp); } 1684 +UINT MCIWndGetStyles(HWND hwnd) 1685 + { return SendMessage(hwnd, MCIWNDM_GETSTYLES, 0, 0); } 1686 +LONG MCIWndChangeStyles(HWND hwnd, UINT mask, LONG value) 1687 + { return SendMessage(hwnd, MCIWNDM_CHANGESTYLES, cast(WPARAM)mask, cast(LPARAM)value); } 1688 +LONG MCIWndOpenInterface(HWND hwnd, LPUNKNOWN pUnk) 1689 + { return SendMessage(hwnd, MCIWNDM_OPENINTERFACE, 0, cast(LPARAM)cast(void*)pUnk); } 1690 +LONG MCIWndSetOwner(HWND hwnd, HWND hwndP) 1691 + { return SendMessage(hwnd, MCIWNDM_SETOWNER, cast(WPARAM)hwndP, 0); } 1692 + 1693 +enum { 1694 + MCIWNDM_GETDEVICEID = WM_USER + 100, 1695 + MCIWNDM_SENDSTRINGA = WM_USER + 101, 1696 + MCIWNDM_GETPOSITIONA = WM_USER + 102, 1697 + MCIWNDM_GETSTART = WM_USER + 103, 1698 + MCIWNDM_GETLENGTH = WM_USER + 104, 1699 + MCIWNDM_GETEND = WM_USER + 105, 1700 + MCIWNDM_GETMODEA = WM_USER + 106, 1701 + MCIWNDM_EJECT = WM_USER + 107, 1702 + MCIWNDM_SETZOOM = WM_USER + 108, 1703 + MCIWNDM_GETZOOM = WM_USER + 109, 1704 + MCIWNDM_SETVOLUME = WM_USER + 110, 1705 + MCIWNDM_GETVOLUME = WM_USER + 111, 1706 + MCIWNDM_SETSPEED = WM_USER + 112, 1707 + MCIWNDM_GETSPEED = WM_USER + 113, 1708 + MCIWNDM_SETREPEAT = WM_USER + 114, 1709 + MCIWNDM_GETREPEAT = WM_USER + 115, 1710 + MCIWNDM_REALIZE = WM_USER + 118, 1711 + MCIWNDM_SETTIMEFORMATA = WM_USER + 119, 1712 + MCIWNDM_GETTIMEFORMATA = WM_USER + 120, 1713 + MCIWNDM_VALIDATEMEDIA = WM_USER + 121, 1714 + MCIWNDM_PLAYFROM = WM_USER + 122, 1715 + MCIWNDM_PLAYTO = WM_USER + 123, 1716 + MCIWNDM_GETFILENAMEA = WM_USER + 124, 1717 + MCIWNDM_GETDEVICEA = WM_USER + 125, 1718 + MCIWNDM_GETPALETTE = WM_USER + 126, 1719 + MCIWNDM_SETPALETTE = WM_USER + 127, 1720 + MCIWNDM_GETERRORA = WM_USER + 128, 1721 + MCIWNDM_SETTIMERS = WM_USER + 129, 1722 + MCIWNDM_SETACTIVETIMER = WM_USER + 130, 1723 + MCIWNDM_SETINACTIVETIMER = WM_USER + 131, 1724 + MCIWNDM_GETACTIVETIMER = WM_USER + 132, 1725 + MCIWNDM_GETINACTIVETIMER = WM_USER + 133, 1726 + MCIWNDM_NEWA = WM_USER + 134, 1727 + MCIWNDM_CHANGESTYLES = WM_USER + 135, 1728 + MCIWNDM_GETSTYLES = WM_USER + 136, 1729 + MCIWNDM_GETALIAS = WM_USER + 137, 1730 + MCIWNDM_RETURNSTRINGA = WM_USER + 138, 1731 + MCIWNDM_PLAYREVERSE = WM_USER + 139, 1732 + MCIWNDM_GET_SOURCE = WM_USER + 140, 1733 + MCIWNDM_PUT_SOURCE = WM_USER + 141, 1734 + MCIWNDM_GET_DEST = WM_USER + 142, 1735 + MCIWNDM_PUT_DEST = WM_USER + 143, 1736 + MCIWNDM_CAN_PLAY = WM_USER + 144, 1737 + MCIWNDM_CAN_WINDOW = WM_USER + 145, 1738 + MCIWNDM_CAN_RECORD = WM_USER + 146, 1739 + MCIWNDM_CAN_SAVE = WM_USER + 147, 1740 + MCIWNDM_CAN_EJECT = WM_USER + 148, 1741 + MCIWNDM_CAN_CONFIG = WM_USER + 149, 1742 + MCIWNDM_PALETTEKICK = WM_USER + 150, 1743 + MCIWNDM_OPENINTERFACE = WM_USER + 151, 1744 + MCIWNDM_SETOWNER = WM_USER + 152, 1745 + MCIWNDM_OPENA = WM_USER + 153, 1746 + MCIWNDM_SENDSTRINGW = WM_USER + 201, 1747 + MCIWNDM_GETPOSITIONW = WM_USER + 202, 1748 + MCIWNDM_GETMODEW = WM_USER + 206, 1749 + MCIWNDM_SETTIMEFORMATW = WM_USER + 219, 1750 + MCIWNDM_GETTIMEFORMATW = WM_USER + 220, 1751 + MCIWNDM_GETFILENAMEW = WM_USER + 224, 1752 + MCIWNDM_GETDEVICEW = WM_USER + 225, 1753 + MCIWNDM_GETERRORW = WM_USER + 228, 1754 + MCIWNDM_NEWW = WM_USER + 234, 1755 + MCIWNDM_RETURNSTRINGW = WM_USER + 238, 1756 + MCIWNDM_OPENW = WM_USER + 252, 1757 +} 1758 + 1759 +version(Unicode) { 1760 + alias MCIWNDM_SENDSTRINGW MCIWNDM_SENDSTRING; 1761 + alias MCIWNDM_GETPOSITIONW MCIWNDM_GETPOSITION; 1762 + alias MCIWNDM_GETMODEW MCIWNDM_GETMODE; 1763 + alias MCIWNDM_SETTIMEFORMATW MCIWNDM_SETTIMEFORMAT; 1764 + alias MCIWNDM_GETTIMEFORMATW MCIWNDM_GETTIMEFORMAT; 1765 + alias MCIWNDM_GETFILENAMEW MCIWNDM_GETFILENAME; 1766 + alias MCIWNDM_GETDEVICEW MCIWNDM_GETDEVICE; 1767 + alias MCIWNDM_GETERRORW MCIWNDM_GETERROR; 1768 + alias MCIWNDM_NEWW MCIWNDM_NEW; 1769 + alias MCIWNDM_RETURNSTRINGW MCIWNDM_RETURNSTRING; 1770 + alias MCIWNDM_OPENW MCIWNDM_OPEN; 1771 +} else { // Unicode 1772 + alias MCIWNDM_SENDSTRINGA MCIWNDM_SENDSTRING; 1773 + alias MCIWNDM_GETPOSITIONA MCIWNDM_GETPOSITION; 1774 + alias MCIWNDM_GETMODEA MCIWNDM_GETMODE; 1775 + alias MCIWNDM_SETTIMEFORMATA MCIWNDM_SETTIMEFORMAT; 1776 + alias MCIWNDM_GETTIMEFORMATA MCIWNDM_GETTIMEFORMAT; 1777 + alias MCIWNDM_GETFILENAMEA MCIWNDM_GETFILENAME; 1778 + alias MCIWNDM_GETDEVICEA MCIWNDM_GETDEVICE; 1779 + alias MCIWNDM_GETERRORA MCIWNDM_GETERROR; 1780 + alias MCIWNDM_NEWA MCIWNDM_NEW; 1781 + alias MCIWNDM_RETURNSTRINGA MCIWNDM_RETURNSTRING; 1782 + alias MCIWNDM_OPENA MCIWNDM_OPEN; 1783 +} 1784 + 1785 +enum { 1786 + MCIWNDM_NOTIFYMODE = WM_USER + 200, 1787 + MCIWNDM_NOTIFYPOS = WM_USER + 201, 1788 + MCIWNDM_NOTIFYSIZE = WM_USER + 202, 1789 + MCIWNDM_NOTIFYMEDIA = WM_USER + 203, 1790 + MCIWNDM_NOTIFYERROR = WM_USER + 205, 1791 +} 1792 + 1793 +const MCIWND_START = -1; 1794 +const MCIWND_END = -2; 1795 + 1796 +enum { 1797 + MCI_CLOSE = 0x0804, 1798 + MCI_PLAY = 0x0806, 1799 + MCI_SEEK = 0x0807, 1800 + MCI_STOP = 0x0808, 1801 + MCI_PAUSE = 0x0809, 1802 + MCI_STEP = 0x080E, 1803 + MCI_RECORD = 0x080F, 1804 + MCI_SAVE = 0x0813, 1805 + MCI_CUT = 0x0851, 1806 + MCI_COPY = 0x0852, 1807 + MCI_PASTE = 0x0853, 1808 + MCI_RESUME = 0x0855, 1809 + MCI_DELETE = 0x0856, 1810 +} 1811 + 1812 +enum { 1813 + MCI_MODE_NOT_READY = 524, 1814 + MCI_MODE_STOP, 1815 + MCI_MODE_PLAY, 1816 + MCI_MODE_RECORD, 1817 + MCI_MODE_SEEK, 1818 + MCI_MODE_PAUSE, 1819 + MCI_MODE_OPEN, 1820 +} 1821 + 1822 +alias HANDLE HVIDEO; 1823 +alias HVIDEO* LPHVIDEO; 1824 + 1825 +// Error Return Values 1826 + 1827 +enum { 1828 + DV_ERR_OK = 0, 1829 + DV_ERR_BASE = 1, 1830 + DV_ERR_NONSPECIFIC = DV_ERR_BASE, 1831 + DV_ERR_BADFORMAT = DV_ERR_BASE + 1, 1832 + DV_ERR_STILLPLAYING = DV_ERR_BASE + 2, 1833 + DV_ERR_UNPREPARED = DV_ERR_BASE + 3, 1834 + DV_ERR_SYNC = DV_ERR_BASE + 4, 1835 + DV_ERR_TOOMANYCHANNELS = DV_ERR_BASE + 5, 1836 + DV_ERR_NOTDETECTED = DV_ERR_BASE + 6, 1837 + DV_ERR_BADINSTALL = DV_ERR_BASE + 7, 1838 + DV_ERR_CREATEPALETTE = DV_ERR_BASE + 8, 1839 + DV_ERR_SIZEFIELD = DV_ERR_BASE + 9, 1840 + DV_ERR_PARAM1 = DV_ERR_BASE + 10, 1841 + DV_ERR_PARAM2 = DV_ERR_BASE + 11, 1842 + DV_ERR_CONFIG1 = DV_ERR_BASE + 12, 1843 + DV_ERR_CONFIG2 = DV_ERR_BASE + 13, 1844 + DV_ERR_FLAGS = DV_ERR_BASE + 14, 1845 + DV_ERR_13 = DV_ERR_BASE + 15, 1846 + DV_ERR_NOTSUPPORTED = DV_ERR_BASE + 16, 1847 + DV_ERR_NOMEM = DV_ERR_BASE + 17, 1848 + DV_ERR_ALLOCATED = DV_ERR_BASE + 18, 1849 + DV_ERR_BADDEVICEID = DV_ERR_BASE + 19, 1850 + DV_ERR_INVALHANDLE = DV_ERR_BASE + 20, 1851 + DV_ERR_BADERRNUM = DV_ERR_BASE + 21, 1852 + DV_ERR_NO_BUFFERS = DV_ERR_BASE + 22, 1853 + DV_ERR_MEM_CONFLICT = DV_ERR_BASE + 23, 1854 + DV_ERR_IO_CONFLICT = DV_ERR_BASE + 24, 1855 + DV_ERR_DMA_CONFLICT = DV_ERR_BASE + 25, 1856 + DV_ERR_INT_CONFLICT = DV_ERR_BASE + 26, 1857 + DV_ERR_PROTECT_ONLY = DV_ERR_BASE + 27, 1858 + DV_ERR_LASTERROR = DV_ERR_BASE + 27, 1859 + DV_ERR_USER_MSG = DV_ERR_BASE + 1000, 1860 +} 1861 + 1862 +// Callback Messages 1863 + 1864 +enum { 1865 + MM_DRVM_OPEN = 0x3D0, 1866 + MM_DRVM_CLOSE, 1867 + MM_DRVM_DATA, 1868 + MM_DRVM_ERROR, 1869 +} 1870 + 1871 +enum { 1872 + DV_VM_OPEN = MM_DRVM_OPEN, 1873 + DV_VM_CLOSE = MM_DRVM_CLOSE, 1874 + DV_VM_DATA = MM_DRVM_DATA, 1875 + DV_VM_ERROR = MM_DRVM_ERROR, 1876 +} 1877 + 1878 +/** 1879 + * Structures 1880 + */ 1881 + 1882 +struct VIDEOHDR { 1883 + LPBYTE lpData; 1884 + DWORD dwBufferLength; 1885 + DWORD dwBytesUsed; 1886 + DWORD dwTimeCaptured; 1887 + DWORD_PTR dwUser; 1888 + DWORD dwFlags; 1889 + DWORD_PTR dwReserved[4]; 1890 +} 1891 +alias VIDEOHDR* PVIDEOHDR, LPVIDEOHDR; 1892 + 1893 +enum { 1894 + VHDR_DONE = 0x00000001, 1895 + VHDR_PREPARED = 0x00000002, 1896 + VHDR_INQUEUE = 0x00000004, 1897 + VHDR_KEYFRAME = 0x00000008, 1898 + VHDR_VALID = 0x0000000F, 1899 +} 1900 + 1901 +struct CHANNEL_CAPS { 1902 + DWORD dwFlags; 1903 + DWORD dwSrcRectXMod; 1904 + DWORD dwSrcRectYMod; 1905 + DWORD dwSrcRectWidthMod; 1906 + DWORD dwSrcRectHeightMod; 1907 + DWORD dwDstRectXMod; 1908 + DWORD dwDstRectYMod; 1909 + DWORD dwDstRectWidthMod; 1910 + DWORD dwDstRectHeightMod; 1911 +} 1912 +alias CHANNEL_CAPS* PCHANNEL_CAPS, LPCHANNEL_CAPS; 1913 + 1914 +enum { 1915 + VCAPS_OVERLAY = 0x00000001, 1916 + VCAPS_SRC_CAN_CLIP = 0x00000002, 1917 + VCAPS_DST_CAN_CLIP = 0x00000004, 1918 + VCAPS_CAN_SCALE = 0x00000008, 1919 +} 1920 + 1921 +/** 1922 + * API Flags 1923 + */ 1924 + 1925 +enum { 1926 + VIDEO_EXTERNALIN = 0x0001, 1927 + VIDEO_EXTERNALOUT = 0x0002, 1928 + VIDEO_IN = 0x0004, 1929 + VIDEO_OUT = 0x0008, 1930 + VIDEO_DLG_QUERY = 0x0010, 1931 +} 1932 + 1933 +enum { 1934 + VIDEO_CONFIGURE_QUERYSIZE = 0x0001, 1935 + VIDEO_CONFIGURE_CURRENT = 0x0010, 1936 + VIDEO_CONFIGURE_NOMINAL = 0x0020, 1937 + VIDEO_CONFIGURE_MIN = 0x0040, 1938 + VIDEO_CONFIGURE_MAX = 0x0080, 1939 + VIDEO_CONFIGURE_SET = 0x1000, 1940 + VIDEO_CONFIGURE_GET = 0x2000, 1941 + VIDEO_CONFIGURE_QUERY = 0x8000, 1942 +} 1943 + 1944 +/** 1945 + * CONFIGURE MESSAGES 1946 + */ 1947 + 1948 +enum { 1949 + DVM_USER = 0x4000, 1950 + DVM_CONFIGURE_START = 0x1000, 1951 + DVM_CONFIGURE_END = 0x1FFF, 1952 + DVM_PALETTE = DVM_CONFIGURE_START + 1, 1953 + DVM_FORMAT = DVM_CONFIGURE_START + 2, 1954 + DVM_PALETTERGB555 = DVM_CONFIGURE_START + 3, 1955 + DVM_SRC_RECT = DVM_CONFIGURE_START + 4, 1956 + DVM_DST_RECT = DVM_CONFIGURE_START + 5, 1957 +} 1958 + 1959 +/** 1960 + * AVICap window class 1961 + */ 1962 + 1963 +LRESULT AVICapSM(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { 1964 + if (IsWindow(hWnd)) { 1965 + return SendMessage(hWnd, msg, wParam, lParam); 1966 + } 1967 + return 0; 1968 +} 1969 + 1970 +enum { 1971 + WM_CAP_START = WM_USER, 1972 + WM_CAP_UNICODE_START = WM_USER + 100, 1973 + 1974 + WM_CAP_GET_CAPSTREAMPTR = WM_CAP_START + 1, 1975 + WM_CAP_SET_CALLBACK_ERRORA = WM_CAP_START + 2, 1976 + WM_CAP_SET_CALLBACK_STATUSA = WM_CAP_START + 3, 1977 + 1978 + WM_CAP_SET_CALLBACK_ERRORW = WM_CAP_UNICODE_START + 2, 1979 + WM_CAP_SET_CALLBACK_STATUSW = WM_CAP_UNICODE_START + 3, 1980 +} 1981 + 1982 +version(Unicode) { 1983 + alias WM_CAP_SET_CALLBACK_ERRORW WM_CAP_SET_CALLBACK_ERROR; 1984 + alias WM_CAP_SET_CALLBACK_STATUSW WM_CAP_SET_CALLBACK_STATUS; 1985 +} else { // Unicode 1986 + alias WM_CAP_SET_CALLBACK_ERRORA WM_CAP_SET_CALLBACK_ERROR; 1987 + alias WM_CAP_SET_CALLBACK_STATUSA WM_CAP_SET_CALLBACK_STATUS; 1988 +} 1989 + 1990 +enum { 1991 + WM_CAP_SET_CALLBACK_YIELD = WM_CAP_START + 4, 1992 + WM_CAP_SET_CALLBACK_FRAME = WM_CAP_START + 5, 1993 + WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START + 6, 1994 + WM_CAP_SET_CALLBACK_WAVESTREAM = WM_CAP_START + 7, 1995 + WM_CAP_GET_USER_DATA = WM_CAP_START + 8, 1996 + WM_CAP_SET_USER_DATA = WM_CAP_START + 9, 1997 + WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10, 1998 + WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11, 1999 + WM_CAP_DRIVER_GET_NAMEA = WM_CAP_START + 12, 2000 + WM_CAP_DRIVER_GET_VERSIONA = WM_CAP_START + 13, 2001 + 2002 + WM_CAP_DRIVER_GET_NAMEW = WM_CAP_UNICODE_START + 12, 2003 + WM_CAP_DRIVER_GET_VERSIONW = WM_CAP_UNICODE_START + 13, 2004 +} 2005 + 2006 +version(Unicode) { 2007 + alias WM_CAP_DRIVER_GET_NAMEW WM_CAP_DRIVER_GET_NAME; 2008 + alias WM_CAP_DRIVER_GET_VERSIONW WM_CAP_DRIVER_GET_VERSION; 2009 +} else { // Unicode 2010 + alias WM_CAP_DRIVER_GET_NAMEA WM_CAP_DRIVER_GET_NAME; 2011 + alias WM_CAP_DRIVER_GET_VERSIONA WM_CAP_DRIVER_GET_VERSION; 2012 +} 2013 + 2014 +enum { 2015 + WM_CAP_DRIVER_GET_CAPS = WM_CAP_START + 14, 2016 + WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20, 2017 + WM_CAP_FILE_GET_CAPTURE_FILEA = WM_CAP_START + 21, 2018 + WM_CAP_FILE_SAVEASA = WM_CAP_START + 23, 2019 + WM_CAP_FILE_SAVEDIBA = WM_CAP_START + 25, 2020 + 2021 + WM_CAP_FILE_SET_CAPTURE_FILEW = WM_CAP_UNICODE_START + 20, 2022 + WM_CAP_FILE_GET_CAPTURE_FILEW = WM_CAP_UNICODE_START + 21, 2023 + WM_CAP_FILE_SAVEASW = WM_CAP_UNICODE_START + 23, 2024 + WM_CAP_FILE_SAVEDIBW = WM_CAP_UNICODE_START + 25, 2025 +} 2026 + 2027 +version(Unicode) { 2028 + alias WM_CAP_FILE_SET_CAPTURE_FILEW WM_CAP_FILE_SET_CAPTURE_FILE; 2029 + alias WM_CAP_FILE_GET_CAPTURE_FILEW WM_CAP_FILE_GET_CAPTURE_FILE; 2030 + alias WM_CAP_FILE_SAVEASW WM_CAP_FILE_SAVEAS; 2031 + alias WM_CAP_FILE_SAVEDIBW WM_CAP_FILE_SAVEDIB; 2032 +} else { // Unicode 2033 + alias WM_CAP_FILE_SET_CAPTURE_FILEA WM_CAP_FILE_SET_CAPTURE_FILE; 2034 + alias WM_CAP_FILE_GET_CAPTURE_FILEA WM_CAP_FILE_GET_CAPTURE_FILE; 2035 + alias WM_CAP_FILE_SAVEASA WM_CAP_FILE_SAVEAS; 2036 + alias WM_CAP_FILE_SAVEDIBA WM_CAP_FILE_SAVEDIB; 2037 +} 2038 + 2039 +enum { 2040 + WM_CAP_FILE_ALLOCATE = WM_CAP_START + 22, 2041 + WM_CAP_FILE_SET_INFOCHUNK = WM_CAP_START + 24, 2042 + WM_CAP_EDIT_COPY = WM_CAP_START + 30, 2043 + WM_CAP_SET_AUDIOFORMAT = WM_CAP_START + 35, 2044 + WM_CAP_GET_AUDIOFORMAT = WM_CAP_START + 36, 2045 + WM_CAP_DLG_VIDEOFORMAT = WM_CAP_START + 41, 2046 + WM_CAP_DLG_VIDEOSOURCE = WM_CAP_START + 42, 2047 + WM_CAP_DLG_VIDEODISPLAY = WM_CAP_START + 43, 2048 + WM_CAP_GET_VIDEOFORMAT = WM_CAP_START + 44, 2049 + WM_CAP_SET_VIDEOFORMAT = WM_CAP_START + 45, 2050 + WM_CAP_DLG_VIDEOCOMPRESSION = WM_CAP_START + 46, 2051 + WM_CAP_SET_PREVIEW = WM_CAP_START + 50, 2052 + WM_CAP_SET_OVERLAY = WM_CAP_START + 51, 2053 + WM_CAP_SET_PREVIEWRATE = WM_CAP_START + 52, 2054 + WM_CAP_SET_SCALE = WM_CAP_START + 53, 2055 + WM_CAP_GET_STATUS = WM_CAP_START + 54, 2056 + WM_CAP_SET_SCROLL = WM_CAP_START + 55, 2057 + WM_CAP_GRAB_FRAME = WM_CAP_START + 60, 2058 + WM_CAP_GRAB_FRAME_NOSTOP = WM_CAP_START + 61, 2059 + WM_CAP_SEQUENCE = WM_CAP_START + 62, 2060 + WM_CAP_SEQUENCE_NOFILE = WM_CAP_START + 63, 2061 + WM_CAP_SET_SEQUENCE_SETUP = WM_CAP_START + 64, 2062 + WM_CAP_GET_SEQUENCE_SETUP = WM_CAP_START + 65, 2063 + WM_CAP_SET_MCI_DEVICEA = WM_CAP_START + 66, 2064 + WM_CAP_GET_MCI_DEVICEA = WM_CAP_START + 67, 2065 + 2066 + WM_CAP_SET_MCI_DEVICEW = WM_CAP_UNICODE_START + 66, 2067 + WM_CAP_GET_MCI_DEVICEW = WM_CAP_UNICODE_START + 67, 2068 +} 2069 + 2070 +version(Unicode) { 2071 + alias WM_CAP_SET_MCI_DEVICEW WM_CAP_SET_MCI_DEVICE; 2072 + alias WM_CAP_GET_MCI_DEVICEW WM_CAP_GET_MCI_DEVICE; 2073 +} else { // Unicode 2074 + alias WM_CAP_SET_MCI_DEVICEA WM_CAP_SET_MCI_DEVICE; 2075 + alias WM_CAP_GET_MCI_DEVICEA WM_CAP_GET_MCI_DEVICE; 2076 +} 2077 + 2078 +enum { 2079 + WM_CAP_STOP = WM_CAP_START + 68, 2080 + WM_CAP_ABORT = WM_CAP_START + 69, 2081 + WM_CAP_SINGLE_FRAME_OPEN = WM_CAP_START + 70, 2082 + WM_CAP_SINGLE_FRAME_CLOSE = WM_CAP_START + 71, 2083 + WM_CAP_SINGLE_FRAME = WM_CAP_START + 72, 2084 + WM_CAP_PAL_OPENA = WM_CAP_START + 80, 2085 + WM_CAP_PAL_SAVEA = WM_CAP_START + 81, 2086 + 2087 + WM_CAP_PAL_OPENW = WM_CAP_UNICODE_START + 80, 2088 + WM_CAP_PAL_SAVEW = WM_CAP_UNICODE_START + 81, 2089 +} 2090 + 2091 +version(Unicode) { 2092 + alias WM_CAP_PAL_OPENW WM_CAP_PAL_OPEN; 2093 + alias WM_CAP_PAL_SAVEW WM_CAP_PAL_SAVE; 2094 +} else { // Unicode 2095 + alias WM_CAP_PAL_OPENA WM_CAP_PAL_OPEN; 2096 + alias WM_CAP_PAL_SAVEA WM_CAP_PAL_SAVE; 2097 +} 2098 + 2099 +enum { 2100 + WM_CAP_PAL_PASTE = WM_CAP_START + 82, 2101 + WM_CAP_PAL_AUTOCREATE = WM_CAP_START + 83, 2102 + WM_CAP_PAL_MANUALCREATE = WM_CAP_START + 84, 2103 + WM_CAP_SET_CALLBACK_CAPCONTROL = WM_CAP_START + 85, 2104 + WM_CAP_UNICODE_END = WM_CAP_PAL_SAVEW, 2105 + WM_CAP_END = WM_CAP_UNICODE_END, 2106 +} 2107 + 2108 +/** 2109 + * message wrapper 2110 + */ 2111 + 2112 +BOOL capSetCallbackOnError(HWND hWnd, LPVOID fpProc) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_CALLBACK_ERROR, 0, cast(LPARAM)fpProc); } 2113 +BOOL capSetCallbackOnStatus(HWND hWnd, LPVOID fpProc) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_CALLBACK_STATUS, 0, cast(LPARAM)fpProc); } 2114 +BOOL capSetCallbackOnYield(HWND hWnd, LPVOID fpProc) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_CALLBACK_YIELD, 0, cast(LPARAM)fpProc); } 2115 +BOOL capSetCallbackOnFrame(HWND hWnd, LPVOID fpProc) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_CALLBACK_FRAME, 0, cast(LPARAM)fpProc); } 2116 +BOOL capSetCallbackOnVideoStream(HWND hWnd, LPVOID fpProc) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, cast(LPARAM)fpProc); } 2117 +BOOL capSetCallbackOnWaveStream(HWND hWnd, LPVOID fpProc) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_CALLBACK_WAVESTREAM, 0, cast(LPARAM)fpProc); } 2118 +BOOL capSetCallbackOnCapControl(HWND hWnd, LPVOID fpProc) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_CALLBACK_CAPCONTROL, 0, cast(LPARAM)fpProc); } 2119 + 2120 +BOOL capSetUserData(HWND hWnd, LPARAM lUser) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_USER_DATA, 0, lUser); } 2121 +BOOL capGetUserData(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_GET_USER_DATA, 0, 0); } 2122 + 2123 +BOOL capDriverConnect(HWND hWnd, WPARAM i) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DRIVER_CONNECT, i, 0); } 2124 +BOOL capDriverDisconnect(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DRIVER_DISCONNECT, 0, 0); } 2125 +BOOL capDriverGetName(HWND hWnd, LPTSTR szName, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DRIVER_GET_NAME, wSize, cast(LPARAM)szName); } 2126 +BOOL capDriverGetVersion(HWND hWnd, LPTSTR szVer, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DRIVER_GET_VERSION, wSize, cast(LPARAM)szVer); } 2127 +BOOL capDriverGetCaps(HWND hWnd, LPCAPDRIVERCAPS s, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DRIVER_GET_CAPS, wSize, cast(LPARAM)s); } 2128 + 2129 +BOOL capFileSetCaptureFile(HWND hWnd, LPTSTR szName) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_FILE_SET_CAPTURE_FILE, 0, cast(LPARAM)szName); } 2130 +BOOL capFileGetCaptureFile(HWND hWnd, LPTSTR szName, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_FILE_GET_CAPTURE_FILE, wSize, cast(LPARAM)szName); } 2131 +BOOL capFileAlloc(HWND hWnd, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_FILE_ALLOCATE, wSize, 0); } 2132 +BOOL capFileSaveAs(HWND hWnd, LPTSTR szName) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_FILE_SAVEAS, 0, cast(LPARAM)szName); } 2133 +BOOL capFileSetInfoChunk(HWND hWnd, LPCAPINFOCHUNK lpInfoChunk) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_FILE_SET_INFOCHUNK, 0, cast(LPARAM)lpInfoChunk); } 2134 +BOOL capFileSaveDIB(HWND hWnd, LPTSTR szName) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_FILE_SAVEDIB, 0, cast(LPARAM)szName); } 2135 + 2136 +BOOL capEditCopy(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_EDIT_COPY, 0, 0); } 2137 + 2138 +BOOL capSetAudioFormat(HWND hWnd, LPWAVEFORMATEX s, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_AUDIOFORMAT, wSize, cast(LPARAM)s); } 2139 +DWORD capGetAudioFormat(HWND hWnd, LPWAVEFORMATEX s, WPARAM wSize) { return cast(DWORD)AVICapSM(hWnd, WM_CAP_GET_AUDIOFORMAT, wSize, cast(LPARAM)s); } 2140 +DWORD capGetAudioFormatSize(HWND hWnd) { return cast(DWORD)AVICapSM(hWnd, WM_CAP_GET_AUDIOFORMAT, 0, 0); } 2141 + 2142 +BOOL capDlgVideoFormat(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DLG_VIDEOFORMAT, 0, 0); } 2143 +BOOL capDlgVideoSource(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DLG_VIDEOSOURCE, 0, 0); } 2144 +BOOL capDlgVideoDisplay(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DLG_VIDEODISPLAY, 0, 0); } 2145 +BOOL capDlgVideoCompression(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_DLG_VIDEOCOMPRESSION, 0, 0); } 2146 + 2147 +DWORD capGetVideoFormat(HWND hWnd, void* s, WPARAM wSize) { return cast(DWORD)AVICapSM(hWnd, WM_CAP_GET_VIDEOFORMAT, wSize, cast(LPARAM)s); } 2148 +DWORD capGetVideoFormatSize(HWND hWnd) { return cast(DWORD)AVICapSM(hWnd, WM_CAP_GET_VIDEOFORMAT, 0, 0); } 2149 +BOOL capSetVideoFormat(HWND hWnd, void* s, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_VIDEOFORMAT, wSize, cast(LPARAM)s); } 2150 + 2151 +BOOL capPreview(HWND hWnd, BOOL f) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_PREVIEW, cast(WPARAM)f, 0); } 2152 +BOOL capPreviewRate(HWND hWnd, WPARAM wMS) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_PREVIEWRATE, wMS, 0); } 2153 +BOOL capOverlay(HWND hWnd, BOOL f) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_OVERLAY, cast(WPARAM)f, 0); } 2154 +BOOL capPreviewScale(HWND hWnd, BOOL f) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_SCALE, cast(WPARAM)f, 0); } 2155 +BOOL capGetStatus(HWND hWnd, LPCAPSTATUS s, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_GET_STATUS, wSize, cast(LPARAM)s); } 2156 +BOOL capSetScrollPos(HWND hWnd, LPPOINT lpP) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_SCROLL, 0, cast(LPARAM)lpP); } 2157 + 2158 +BOOL capGrabFrame(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_GRAB_FRAME, 0, 0); } 2159 +BOOL capGrabFrameNoStop(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_GRAB_FRAME_NOSTOP, 0, 0); } 2160 + 2161 +BOOL capCaptureSequence(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SEQUENCE, 0, 0); } 2162 +BOOL capCaptureSequenceNoFile(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SEQUENCE_NOFILE, 0, 0); } 2163 +BOOL capCaptureStop(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_STOP, 0, 0); } 2164 +BOOL capCaptureAbort(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_ABORT, 0, 0); } 2165 + 2166 +BOOL capCaptureSingleFrameOpen(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SINGLE_FRAME_OPEN, 0, 0); } 2167 +BOOL capCaptureSingleFrameClose(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SINGLE_FRAME_CLOSE, 0, 0); } 2168 +BOOL capCaptureSingleFrame(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SINGLE_FRAME, 0, 0); } 2169 + 2170 +BOOL capCaptureGetSetup(HWND hWnd, LPCAPTUREPARMS s, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_GET_SEQUENCE_SETUP, wSize, cast(LPARAM)s); } 2171 +BOOL capCaptureSetSetup(HWND hWnd, LPCAPTUREPARMS s, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_SEQUENCE_SETUP, wSize, cast(LPARAM)s); } 2172 + 2173 +BOOL capSetMCIDeviceName(HWND hWnd, LPTSTR szName) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_SET_MCI_DEVICE, 0, cast(LPARAM)szName); } 2174 +BOOL capGetMCIDeviceName(HWND hWnd, LPTSTR szName, WPARAM wSize) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_GET_MCI_DEVICE, wSize, cast(LPARAM)szName); } 2175 + 2176 +BOOL capPaletteOpen(HWND hWnd, LPTSTR szName) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_PAL_OPEN, 0, cast(LPARAM)szName); } 2177 +BOOL capPaletteSave(HWND hWnd, LPTSTR szName) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_PAL_SAVE, 0, cast(LPARAM)szName); } 2178 +BOOL capPalettePaste(HWND hWnd) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_PAL_PASTE, 0, 0); } 2179 +BOOL capPaletteAuto(HWND hWnd, WPARAM iFrames, LPARAM iColors) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_PAL_AUTOCREATE, iFrames, iColors); } 2180 +BOOL capPaletteManual(HWND hWnd, WPARAM fGrab, LPARAM iColors) { return cast(BOOL)AVICapSM(hWnd, WM_CAP_PAL_MANUALCREATE, fGrab, iColors); } 2181 + 2182 +/** 2183 + * structs 2184 + */ 2185 + 2186 +struct CAPDRIVERCAPS { 2187 + UINT wDeviceIndex; 2188 + BOOL fHasOverlay; 2189 + BOOL fHasDlgVideoSource; 2190 + BOOL fHasDlgVideoFormat; 2191 + BOOL fHasDlgVideoDisplay; 2192 + BOOL fCaptureInitialized; 2193 + BOOL fDriverSuppliesPalettes; 2194 + HANDLE hVideoIn; 2195 + HANDLE hVideoOut; 2196 + HANDLE hVideoExtIn; 2197 + HANDLE hVideoExtOut; 2198 +} 2199 +alias CAPDRIVERCAPS* PCAPDRIVERCAPS, LPCAPDRIVERCAPS; 2200 + 2201 +struct CAPSTATUS { 2202 + UINT uiImageWidth; 2203 + UINT uiImageHeight; 2204 + BOOL fLiveWindow; 2205 + BOOL fOverlayWindow; 2206 + BOOL fScale; 2207 + POINT ptScroll; 2208 + BOOL fUsingDefaultPalette; 2209 + BOOL fAudioHardware; 2210 + BOOL fCapFileExists; 2211 + DWORD dwCurrentVideoFrame; 2212 + DWORD dwCurrentVideoFramesDropped; 2213 + DWORD dwCurrentWaveSamples; 2214 + DWORD dwCurrentTimeElapsedMS; 2215 + HPALETTE hPalCurrent; 2216 + BOOL fCapturingNow; 2217 + DWORD dwReturn; 2218 + UINT wNumVideoAllocated; 2219 + UINT wNumAudioAllocated; 2220 +} 2221 +alias CAPSTATUS* PCAPSTATUS, LPCAPSTATUS; 2222 + 2223 +struct CAPTUREPARMS { 2224 + DWORD dwRequestMicroSecPerFrame; 2225 + BOOL fMakeUserHitOKToCapture; 2226 + UINT wPercentDropForError; 2227 + BOOL fYield; 2228 + DWORD dwIndexSize; 2229 + UINT wChunkGranularity; 2230 + BOOL fUsingDOSMemory; 2231 + UINT wNumVideoRequested; 2232 + BOOL fCaptureAudio; 2233 + UINT wNumAudioRequested; 2234 + UINT vKeyAbort; 2235 + BOOL fAbortLeftMouse; 2236 + BOOL fAbortRightMouse; 2237 + BOOL fLimitEnabled; 2238 + UINT wTimeLimit; 2239 + BOOL fMCIControl; 2240 + BOOL fStepMCIDevice; 2241 + DWORD dwMCIStartTime; 2242 + DWORD dwMCIStopTime; 2243 + BOOL fStepCaptureAt2x; 2244 + UINT wStepCaptureAverageFrames; 2245 + DWORD dwAudioBufferSize; 2246 + BOOL fDisableWriteCache; 2247 + UINT AVStreamMaster; 2248 +} 2249 +alias CAPTUREPARMS* PCAPTUREPARMS, LPCAPTUREPARMS; 2250 + 2251 +const AVSTREAMMASTER_AUDIO = 0; 2252 +const AVSTREAMMASTER_NONE = 1; 2253 + 2254 +struct CAPINFOCHUNK { 2255 + FOURCC fccInfoID; 2256 + LPVOID lpData; 2257 + LONG cbData; 2258 +} 2259 +alias CAPINFOCHUNK* PCAPINFOCHUNK, LPCAPINFOCHUNK; 2260 + 2261 +// Callback Definitions 2262 + 2263 +extern (Windows) { 2264 + alias LRESULT function(HWND hWnd) CAPYIELDCALLBACK; 2265 + alias LRESULT function(HWND hWnd, int nID, LPCWSTR lpsz) CAPSTATUSCALLBACKW; 2266 + alias LRESULT function(HWND hWnd, int nID, LPCWSTR lpsz) CAPERRORCALLBACKW; 2267 + alias LRESULT function(HWND hWnd, int nID, LPCSTR lpsz) CAPSTATUSCALLBACKA; 2268 + alias LRESULT function(HWND hWnd, int nID, LPCSTR lpsz) CAPERRORCALLBACKA; 2269 +} 2270 + 2271 +version(Unicode) { 2272 + alias CAPSTATUSCALLBACKW CAPSTATUSCALLBACK; 2273 + alias CAPERRORCALLBACKW CAPERRORCALLBACK; 2274 +} else { // Unicode 2275 + alias CAPSTATUSCALLBACKA CAPSTATUSCALLBACK; 2276 + alias CAPERRORCALLBACKA CAPERRORCALLBACK; 2277 +} 2278 + 2279 +extern (Windows) { 2280 + alias LRESULT function(HWND hWnd, LPVIDEOHDR lpVHdr) CAPVIDEOCALLBACK; 2281 + alias LRESULT function(HWND hWnd, LPWAVEHDR lpWHdr) CAPWAVECALLBACK; 2282 + alias LRESULT function(HWND hWnd, int nState) CAPCONTROLCALLBACK; 2283 +} 2284 + 2285 +// CapControlCallback states 2286 +const CONTROLCALLBACK_PREROLL = 1; 2287 +const CONTROLCALLBACK_CAPTURING = 2; 2288 + 2289 +extern (Windows) { 2290 + HWND capCreateCaptureWindowA(LPCSTR lpszWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hwndParent, int nID); 2291 + BOOL capGetDriverDescriptionA(UINT wDriverIndex, LPSTR lpszName, int cbName, LPSTR lpszVer, int cbVer); 2292 + HWND capCreateCaptureWindowW(LPCWSTR lpszWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hwndParent, int nID); 2293 + BOOL capGetDriverDescriptionW(UINT wDriverIndex, LPWSTR lpszName, int cbName, LPWSTR lpszVer, int cbVer); 2294 +} 2295 + 2296 +version(Unicode) { 2297 + alias capCreateCaptureWindowW capCreateCaptureWindow; 2298 + alias capGetDriverDescriptionW capGetDriverDescription; 2299 +} else { // Unicode 2300 + alias capCreateCaptureWindowA capCreateCaptureWindow; 2301 + alias capGetDriverDescriptionA capGetDriverDescription; 2302 +} 2303 + 2304 +// New Information chunk IDs 2305 +const infotypeDIGITIZATION_TIME = mmioFOURCC!('I', 'D', 'I', 'T'); 2306 +const infotypeSMPTE_TIME = mmioFOURCC!('I', 'S', 'M', 'P'); 2307 + 2308 +// status and error callbacks 2309 +enum { 2310 + IDS_CAP_BEGIN = 300, 2311 + IDS_CAP_END = 301, 2312 + 2313 + IDS_CAP_INFO = 401, 2314 + IDS_CAP_OUTOFMEM = 402, 2315 + IDS_CAP_FILEEXISTS = 403, 2316 + IDS_CAP_ERRORPALOPEN = 404, 2317 + IDS_CAP_ERRORPALSAVE = 405, 2318 + IDS_CAP_ERRORDIBSAVE = 406, 2319 + IDS_CAP_DEFAVIEXT = 407, 2320 + IDS_CAP_DEFPALEXT = 408, 2321 + IDS_CAP_CANTOPEN = 409, 2322 + IDS_CAP_SEQ_MSGSTART = 410, 2323 + IDS_CAP_SEQ_MSGSTOP = 411, 2324 + 2325 + IDS_CAP_VIDEDITERR = 412, 2326 + IDS_CAP_READONLYFILE = 413, 2327 + IDS_CAP_WRITEERROR = 414, 2328 + IDS_CAP_NODISKSPACE = 415, 2329 + IDS_CAP_SETFILESIZE = 416, 2330 + IDS_CAP_SAVEASPERCENT = 417, 2331 + 2332 + IDS_CAP_DRIVER_ERROR = 418, 2333 + 2334 + IDS_CAP_WAVE_OPEN_ERROR = 419, 2335 + IDS_CAP_WAVE_ALLOC_ERROR = 420, 2336 + IDS_CAP_WAVE_PREPARE_ERROR = 421, 2337 + IDS_CAP_WAVE_ADD_ERROR = 422, 2338 + IDS_CAP_WAVE_SIZE_ERROR = 423, 2339 + 2340 + IDS_CAP_VIDEO_OPEN_ERROR = 424, 2341 + IDS_CAP_VIDEO_ALLOC_ERROR = 425, 2342 + IDS_CAP_VIDEO_PREPARE_ERROR = 426, 2343 + IDS_CAP_VIDEO_ADD_ERROR = 427, 2344 + IDS_CAP_VIDEO_SIZE_ERROR = 428, 2345 + 2346 + IDS_CAP_FILE_OPEN_ERROR = 429, 2347 + IDS_CAP_FILE_WRITE_ERROR = 430, 2348 + IDS_CAP_RECORDING_ERROR = 431, 2349 + IDS_CAP_RECORDING_ERROR2 = 432, 2350 + IDS_CAP_AVI_INIT_ERROR = 433, 2351 + IDS_CAP_NO_FRAME_CAP_ERROR = 434, 2352 + IDS_CAP_NO_PALETTE_WARN = 435, 2353 + IDS_CAP_MCI_CONTROL_ERROR = 436, 2354 + IDS_CAP_MCI_CANT_STEP_ERROR = 437, 2355 + IDS_CAP_NO_AUDIO_CAP_ERROR = 438, 2356 + IDS_CAP_AVI_DRAWDIB_ERROR = 439, 2357 + IDS_CAP_COMPRESSOR_ERROR = 440, 2358 + IDS_CAP_AUDIO_DROP_ERROR = 441, 2359 + IDS_CAP_AUDIO_DROP_COMPERROR = 442, 2360 + 2361 + IDS_CAP_STAT_LIVE_MODE = 500, 2362 + IDS_CAP_STAT_OVERLAY_MODE = 501, 2363 + IDS_CAP_STAT_CAP_INIT = 502, 2364 + IDS_CAP_STAT_CAP_FINI = 503, 2365 + IDS_CAP_STAT_PALETTE_BUILD = 504, 2366 + IDS_CAP_STAT_OPTPAL_BUILD = 505, 2367 + IDS_CAP_STAT_I_FRAMES = 506, 2368 + IDS_CAP_STAT_L_FRAMES = 507, 2369 + IDS_CAP_STAT_CAP_L_FRAMES = 508, 2370 + IDS_CAP_STAT_CAP_AUDIO = 509, 2371 + IDS_CAP_STAT_VIDEOCURRENT = 510, 2372 + IDS_CAP_STAT_VIDEOAUDIO = 511, 2373 + IDS_CAP_STAT_VIDEOONLY = 512, 2374 + IDS_CAP_STAT_FRAMESDROPPED = 513, 2375 +} 2376 + 2377 +/** 2378 + * FilePreview dialog. 2379 + */ 2380 + 2381 +extern (Windows) { 2382 + BOOL GetOpenFileNamePreviewA(LPOPENFILENAMEA lpofn); 2383 + BOOL GetSaveFileNamePreviewA(LPOPENFILENAMEA lpofn); 2384 + BOOL GetOpenFileNamePreviewW(LPOPENFILENAMEW lpofn); 2385 + BOOL GetSaveFileNamePreviewW(LPOPENFILENAMEW lpofn); 2386 +} 2387 + 2388 +version(Unicode) { 2389 + alias GetOpenFileNamePreviewW GetOpenFileNamePreview; 2390 + alias GetSaveFileNamePreviewW GetSaveFileNamePreview; 2391 +} else { // Unicode 2392 + alias GetOpenFileNamePreviewA GetOpenFileNamePreview; 2393 + alias GetSaveFileNamePreviewA GetSaveFileNamePreview; 2394 +}

Added src/win32/w32api.d version [a45ec6a241aff65f]

1 +/***********************************************************************\ 2 +* w32api.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.12 * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.w32api; 12 + 13 +const __W32API_VERSION = 3.12; 14 +const __W32API_MAJOR_VERSION = 3; 15 +const __W32API_MINOR_VERSION = 12; 16 + 17 +/* These version identifiers are used to specify the minimum version of 18 + * Windows that an application will support. 19 + * 20 + * The programmer should set two version identifiers: one for the 21 + * minimum Windows NT version and one for the minimum Windows 9x 22 + * version. If no Windows NT version is specified, Windows NT 4 is 23 + * assumed. If no Windows 9x version is specified, Windows 95 is 24 + * assumed, unless WindowsNTonly, WindowsXP, Windows2003 or WindowsVista 25 + * is specified, implying that the application supports only the NT line of 26 + * versions. 27 + */ 28 + 29 +/* For Windows XP and later, assume no Windows 9x support. 30 + * API features new to Windows Vista are not yet included in this 31 + * translation or in MinGW, but this is here ready to start adding them. 32 + */ 33 +version (WindowsVista) { 34 + const uint 35 + _WIN32_WINNT = 0x600, 36 + _WIN32_WINDOWS = uint.max; 37 + 38 +} else version (Windows2003) { 39 + const uint 40 + _WIN32_WINNT = 0x502, 41 + _WIN32_WINDOWS = uint.max; 42 + 43 +} else version (WindowsXP) { 44 + const uint 45 + _WIN32_WINNT = 0x501, 46 + _WIN32_WINDOWS = uint.max; 47 + 48 +} else { 49 + /* for earlier Windows versions, separate version identifiers into 50 + * the NT and 9x lines 51 + */ 52 + version (Windows2000) { 53 + const uint _WIN32_WINNT = 0x500; 54 + } else { 55 + const uint _WIN32_WINNT = 0x400; 56 + } 57 + 58 + version (WindowsNTonly) { 59 + const uint _WIN32_WINDOWS = uint.max; 60 + } else version (WindowsME) { 61 + const uint _WIN32_WINDOWS = 0x500; 62 + } else version (Windows98) { 63 + const uint _WIN32_WINDOWS = 0x410; 64 + } else { 65 + const uint _WIN32_WINDOWS = 0x400; 66 + } 67 +} 68 + 69 +// Just a bit of syntactic sugar for the static ifs 70 +const uint WINVER = _WIN32_WINDOWS < _WIN32_WINNT ? 71 + _WIN32_WINDOWS : _WIN32_WINNT; 72 +const bool _WIN32_WINNT_ONLY = _WIN32_WINDOWS == uint.max; 73 + 74 +version (IE7) { 75 + const uint _WIN32_IE = 0x700; 76 +} else version (IE602) { 77 + const uint _WIN32_IE = 0x603; 78 +} else version (IE601) { 79 + const uint _WIN32_IE = 0x601; 80 +} else version (IE6) { 81 + const uint _WIN32_IE = 0x600; 82 +} else version (IE56) { 83 + const uint _WIN32_IE = 0x560; 84 +} else version (IE501) { 85 + const uint _WIN32_IE = 0x501; 86 +} else version (IE5) { 87 + const uint _WIN32_IE = 0x500; 88 +} else version (IE401) { 89 + const uint _WIN32_IE = 0x401; 90 +} else version (IE4) { 91 + const uint _WIN32_IE = 0x400; 92 +} else version (IE3) { 93 + const uint _WIN32_IE = 0x300; 94 +} else static if (WINVER >= 0x410) { 95 + const uint _WIN32_IE = 0x400; 96 +} else { 97 + const uint _WIN32_IE = 0; 98 +} 99 + 100 +debug (WindowsUnitTest) { 101 + unittest { 102 + printf("Windows NT version: %03x\n", _WIN32_WINNT); 103 + printf("Windows 9x version: %03x\n", _WIN32_WINDOWS); 104 + printf("IE version: %03x\n", _WIN32_IE); 105 + } 106 +}

Modified src/win32/winbase.d from [59684aebe49706fd] to [5a227ddcf54fb45e].

1 +/***********************************************************************\ 2 +* winbase.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.winbase; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.windef; 7 - 8 -// #ifndef _WINBASE_ 9 -// #define _WINBASE_ 10 - 11 -// #if _MSC_VER > 1000 12 -// #pragma once 13 -// #endif 14 - 15 -// #ifdef _MAC 16 -// #... 17 -// #endif //_MAC 18 - 19 -// #if !defined(_ADVAPI32_) 20 -// #define WINADVAPI DECLSPEC_IMPORT 21 -// #else 22 -// #... 23 -// #endif 24 - 25 -// #if !defined(_KERNEL32_) 26 -// #define WINBASEAPI DECLSPEC_IMPORT 27 -// #else 28 -// #... 29 -// #endif 30 - 31 -// #if !defined(_ZAWPROXY_) 32 -// #define ZAWPROXYAPI DECLSPEC_IMPORT 33 -// #else 34 -// #... 35 -// #endif 36 - 37 -// #ifdef __cplusplus 38 -// extern "C" { 39 -// #endif 40 - 41 -// #define DefineHandleTable(w) ((w),TRUE) 42 -// #define LimitEmsPages(dw) 43 -// #define SetSwapAreaSize(w) (w) 44 -// #define LockSegment(w) GlobalFix((HANDLE)(w)) 45 -// #define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) 46 -alias GetTickCount GetCurrentTime; 47 - 48 -// #define Yield() 49 - 50 -HANDLE INVALID_HANDLE_VALUE = cast(HANDLE)-1; 51 -enum : uint { INVALID_FILE_SIZE = cast(DWORD)0xFFFFFFFF } 52 -enum : uint { INVALID_SET_FILE_POINTER = cast(DWORD)-1 } 53 -enum : uint { INVALID_FILE_ATTRIBUTES = cast(DWORD)-1 } 54 - 55 -enum : uint { FILE_BEGIN = 0 } 56 -enum : uint { FILE_CURRENT = 1 } 57 -enum : uint { FILE_END = 2 } 58 - 59 -enum : uint { TIME_ZONE_ID_INVALID = cast(DWORD)0xFFFFFFFF } 60 - 61 -enum : uint { WAIT_FAILED = cast(DWORD)0xFFFFFFFF } 62 -alias STATUS_WAIT_0 WAIT_OBJECT_0; 63 - 64 -alias STATUS_ABANDONED_WAIT_0 WAIT_ABANDONED; 65 -alias STATUS_ABANDONED_WAIT_0 WAIT_ABANDONED_0; 66 - 67 -alias STATUS_USER_APC WAIT_IO_COMPLETION; 68 -alias STATUS_PENDING STILL_ACTIVE; 69 -alias STATUS_ACCESS_VIOLATION EXCEPTION_ACCESS_VIOLATION; 70 -alias STATUS_DATATYPE_MISALIGNMENT EXCEPTION_DATATYPE_MISALIGNMENT; 71 -alias STATUS_BREAKPOINT EXCEPTION_BREAKPOINT; 72 -alias STATUS_SINGLE_STEP EXCEPTION_SINGLE_STEP; 73 -alias STATUS_ARRAY_BOUNDS_EXCEEDED EXCEPTION_ARRAY_BOUNDS_EXCEEDED; 74 -alias STATUS_FLOAT_DENORMAL_OPERAND EXCEPTION_FLT_DENORMAL_OPERAND; 75 -alias STATUS_FLOAT_DIVIDE_BY_ZERO EXCEPTION_FLT_DIVIDE_BY_ZERO; 76 -alias STATUS_FLOAT_INEXACT_RESULT EXCEPTION_FLT_INEXACT_RESULT; 77 -alias STATUS_FLOAT_INVALID_OPERATION EXCEPTION_FLT_INVALID_OPERATION; 78 -alias STATUS_FLOAT_OVERFLOW EXCEPTION_FLT_OVERFLOW; 79 -alias STATUS_FLOAT_STACK_CHECK EXCEPTION_FLT_STACK_CHECK; 80 -alias STATUS_FLOAT_UNDERFLOW EXCEPTION_FLT_UNDERFLOW; 81 -alias STATUS_INTEGER_DIVIDE_BY_ZERO EXCEPTION_INT_DIVIDE_BY_ZERO; 82 -alias STATUS_INTEGER_OVERFLOW EXCEPTION_INT_OVERFLOW; 83 -alias STATUS_PRIVILEGED_INSTRUCTION EXCEPTION_PRIV_INSTRUCTION; 84 -alias STATUS_IN_PAGE_ERROR EXCEPTION_IN_PAGE_ERROR; 85 -alias STATUS_ILLEGAL_INSTRUCTION EXCEPTION_ILLEGAL_INSTRUCTION; 86 -alias STATUS_NONCONTINUABLE_EXCEPTION EXCEPTION_NONCONTINUABLE_EXCEPTION; 87 -alias STATUS_STACK_OVERFLOW EXCEPTION_STACK_OVERFLOW; 88 -alias STATUS_INVALID_DISPOSITION EXCEPTION_INVALID_DISPOSITION; 89 -alias STATUS_GUARD_PAGE_VIOLATION EXCEPTION_GUARD_PAGE; 90 -alias STATUS_INVALID_HANDLE EXCEPTION_INVALID_HANDLE; 91 -alias STATUS_CONTROL_C_EXIT CONTROL_C_EXIT; 92 -alias RtlMoveMemory MoveMemory; 93 -alias RtlCopyMemory CopyMemory; 94 -alias RtlFillMemory FillMemory; 95 -alias RtlZeroMemory ZeroMemory; 96 - 97 -enum : uint { FILE_FLAG_WRITE_THROUGH = 0x80000000 } 98 -enum : uint { FILE_FLAG_OVERLAPPED = 0x40000000 } 99 -enum : uint { FILE_FLAG_NO_BUFFERING = 0x20000000 } 100 -enum : uint { FILE_FLAG_RANDOM_ACCESS = 0x10000000 } 101 -enum : uint { FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000 } 102 -enum : uint { FILE_FLAG_DELETE_ON_CLOSE = 0x04000000 } 103 -enum : uint { FILE_FLAG_BACKUP_SEMANTICS = 0x02000000 } 104 -enum : uint { FILE_FLAG_POSIX_SEMANTICS = 0x01000000 } 105 -enum : uint { FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000 } 106 -enum : uint { FILE_FLAG_OPEN_NO_RECALL = 0x00100000 } 107 -enum : uint { FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000 } 108 - 109 -enum : uint { CREATE_NEW = 1 } 110 -enum : uint { CREATE_ALWAYS = 2 } 111 -enum : uint { OPEN_EXISTING = 3 } 112 -enum : uint { OPEN_ALWAYS = 4 } 113 -enum : uint { TRUNCATE_EXISTING = 5 } 114 - 115 -// #if(_WIN32_WINNT >= 0x0400) 116 - 117 -enum : uint { PROGRESS_CONTINUE = 0 } 118 -enum : uint { PROGRESS_CANCEL = 1 } 119 -enum : uint { PROGRESS_STOP = 2 } 120 -enum : uint { PROGRESS_QUIET = 3 } 121 - 122 -enum : uint { CALLBACK_CHUNK_FINISHED = 0x00000000 } 123 -enum : uint { CALLBACK_STREAM_SWITCH = 0x00000001 } 124 - 125 -enum : uint { COPY_FILE_FAIL_IF_EXISTS = 0x00000001 } 126 -enum : uint { COPY_FILE_RESTARTABLE = 0x00000002 } 127 -enum : uint { COPY_FILE_OPEN_SOURCE_FOR_WRITE = 0x00000004 } 128 -enum : uint { COPY_FILE_ALLOW_DECRYPTED_DESTINATION = 0x00000008 } 129 -// #endif /* _WIN32_WINNT >= 0x0400 */ 130 - 131 -// #if (_WIN32_WINNT >= 0x0500) 132 - 133 -enum : uint { REPLACEFILE_WRITE_THROUGH = 0x00000001 } 134 -enum : uint { REPLACEFILE_IGNORE_MERGE_ERRORS = 0x00000002 } 135 - 136 -// #endif // #if (_WIN32_WINNT >= 0x0500) 137 - 138 -enum : uint { PIPE_ACCESS_INBOUND = 0x00000001 } 139 -enum : uint { PIPE_ACCESS_OUTBOUND = 0x00000002 } 140 -enum : uint { PIPE_ACCESS_DUPLEX = 0x00000003 } 141 - 142 -enum : uint { PIPE_CLIENT_END = 0x00000000 } 143 -enum : uint { PIPE_SERVER_END = 0x00000001 } 144 - 145 -enum : uint { PIPE_WAIT = 0x00000000 } 146 -enum : uint { PIPE_NOWAIT = 0x00000001 } 147 -enum : uint { PIPE_READMODE_BYTE = 0x00000000 } 148 -enum : uint { PIPE_READMODE_MESSAGE = 0x00000002 } 149 -enum : uint { PIPE_TYPE_BYTE = 0x00000000 } 150 -enum : uint { PIPE_TYPE_MESSAGE = 0x00000004 } 151 - 152 -enum : uint { PIPE_UNLIMITED_INSTANCES = 255 } 153 - 154 -enum : uint { SECURITY_ANONYMOUS = SecurityAnonymous << 16 } 155 -enum : uint { SECURITY_IDENTIFICATION = SecurityIdentification << 16 } 156 -enum : uint { SECURITY_IMPERSONATION = SecurityImpersonation << 16 } 157 -enum : uint { SECURITY_DELEGATION = SecurityDelegation << 16 } 158 - 159 -enum : uint { SECURITY_CONTEXT_TRACKING = 0x00040000 } 160 -enum : uint { SECURITY_EFFECTIVE_ONLY = 0x00080000 } 161 - 162 -enum : uint { SECURITY_SQOS_PRESENT = 0x00100000 } 163 -enum : uint { SECURITY_VALID_SQOS_FLAGS = 0x001F0000 } 164 - 165 -struct _OVERLAPPED { 166 - ULONG_PTR Internal; 167 - ULONG_PTR InternalHigh; 168 -union { 169 -struct { 170 - DWORD Offset; 171 - DWORD OffsetHigh; 172 -} 173 - 174 - PVOID Pointer; 175 -} 176 - 177 - HANDLE hEvent; 178 -} 179 -alias _OVERLAPPED OVERLAPPED; 180 -alias _OVERLAPPED* LPOVERLAPPED; 181 - 182 -struct _SECURITY_ATTRIBUTES { 183 - DWORD nLength; 184 - LPVOID lpSecurityDescriptor; 185 - BOOL bInheritHandle; 186 -} 187 -alias _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES; 188 -alias _SECURITY_ATTRIBUTES* PSECURITY_ATTRIBUTES; 189 -alias _SECURITY_ATTRIBUTES* LPSECURITY_ATTRIBUTES; 190 - 191 -struct _PROCESS_INFORMATION { 192 - HANDLE hProcess; 193 - HANDLE hThread; 194 - DWORD dwProcessId; 195 - DWORD dwThreadId; 196 -} 197 -alias _PROCESS_INFORMATION PROCESS_INFORMATION; 198 -alias _PROCESS_INFORMATION* PPROCESS_INFORMATION; 199 -alias _PROCESS_INFORMATION* LPPROCESS_INFORMATION; 200 - 201 -struct _FILETIME { 202 - DWORD dwLowDateTime; 203 - DWORD dwHighDateTime; 204 -} 205 -alias _FILETIME FILETIME; 206 -alias _FILETIME* PFILETIME; 207 -alias _FILETIME* LPFILETIME; 208 - 209 -struct _SYSTEMTIME { 210 - WORD wYear; 211 - WORD wMonth; 212 - WORD wDayOfWeek; 213 - WORD wDay; 214 - WORD wHour; 215 - WORD wMinute; 216 - WORD wSecond; 217 - WORD wMilliseconds; 218 -} 219 -alias _SYSTEMTIME SYSTEMTIME; 220 -alias _SYSTEMTIME* PSYSTEMTIME; 221 -alias _SYSTEMTIME* LPSYSTEMTIME; 222 - 223 -extern(Windows) alias DWORD function( LPVOID lpThreadParameter ) PTHREAD_START_ROUTINE; 224 -alias PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE; 225 - 226 -// #if(_WIN32_WINNT >= 0x0400) 227 -extern(Windows) alias VOID function( LPVOID lpFiberParameter ) PFIBER_START_ROUTINE; 228 -alias PFIBER_START_ROUTINE LPFIBER_START_ROUTINE; 229 -// #endif /* _WIN32_WINNT >= 0x0400 */ 230 - 231 -alias RTL_CRITICAL_SECTION CRITICAL_SECTION; 232 -alias PRTL_CRITICAL_SECTION PCRITICAL_SECTION; 233 -alias PRTL_CRITICAL_SECTION LPCRITICAL_SECTION; 234 - 235 -alias RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG; 236 -alias PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; 237 -alias PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG; 238 - 239 -// #if defined(_X86_) 240 -alias PLDT_ENTRY LPLDT_ENTRY; 241 -// #else 242 -// ... 243 -// #endif 244 - 245 -alias MUTANT_QUERY_STATE MUTEX_MODIFY_STATE; 246 -alias MUTANT_ALL_ACCESS MUTEX_ALL_ACCESS; 247 - 248 -enum : uint { SP_SERIALCOMM = cast(DWORD)0x00000001 } 249 - 250 -enum : uint { PST_UNSPECIFIED = cast(DWORD)0x00000000 } 251 -enum : uint { PST_RS232 = cast(DWORD)0x00000001 } 252 -enum : uint { PST_PARALLELPORT = cast(DWORD)0x00000002 } 253 -enum : uint { PST_RS422 = cast(DWORD)0x00000003 } 254 -enum : uint { PST_RS423 = cast(DWORD)0x00000004 } 255 -enum : uint { PST_RS449 = cast(DWORD)0x00000005 } 256 -enum : uint { PST_MODEM = cast(DWORD)0x00000006 } 257 -enum : uint { PST_FAX = cast(DWORD)0x00000021 } 258 -enum : uint { PST_SCANNER = cast(DWORD)0x00000022 } 259 -enum : uint { PST_NETWORK_BRIDGE = cast(DWORD)0x00000100 } 260 -enum : uint { PST_LAT = cast(DWORD)0x00000101 } 261 -enum : uint { PST_TCPIP_TELNET = cast(DWORD)0x00000102 } 262 -enum : uint { PST_X25 = cast(DWORD)0x00000103 } 263 - 264 -enum : uint { PCF_DTRDSR = cast(DWORD)0x0001 } 265 -enum : uint { PCF_RTSCTS = cast(DWORD)0x0002 } 266 -enum : uint { PCF_RLSD = cast(DWORD)0x0004 } 267 -enum : uint { PCF_PARITY_CHECK = cast(DWORD)0x0008 } 268 -enum : uint { PCF_XONXOFF = cast(DWORD)0x0010 } 269 -enum : uint { PCF_SETXCHAR = cast(DWORD)0x0020 } 270 -enum : uint { PCF_TOTALTIMEOUTS = cast(DWORD)0x0040 } 271 -enum : uint { PCF_INTTIMEOUTS = cast(DWORD)0x0080 } 272 -enum : uint { PCF_SPECIALCHARS = cast(DWORD)0x0100 } 273 -enum : uint { PCF_16BITMODE = cast(DWORD)0x0200 } 274 - 275 -enum : uint { SP_PARITY = cast(DWORD)0x0001 } 276 -enum : uint { SP_BAUD = cast(DWORD)0x0002 } 277 -enum : uint { SP_DATABITS = cast(DWORD)0x0004 } 278 -enum : uint { SP_STOPBITS = cast(DWORD)0x0008 } 279 -enum : uint { SP_HANDSHAKING = cast(DWORD)0x0010 } 280 -enum : uint { SP_PARITY_CHECK = cast(DWORD)0x0020 } 281 -enum : uint { SP_RLSD = cast(DWORD)0x0040 } 282 - 283 -enum : uint { BAUD_075 = cast(DWORD)0x00000001 } 284 -enum : uint { BAUD_110 = cast(DWORD)0x00000002 } 285 -enum : uint { BAUD_134_5 = cast(DWORD)0x00000004 } 286 -enum : uint { BAUD_150 = cast(DWORD)0x00000008 } 287 -enum : uint { BAUD_300 = cast(DWORD)0x00000010 } 288 -enum : uint { BAUD_600 = cast(DWORD)0x00000020 } 289 -enum : uint { BAUD_1200 = cast(DWORD)0x00000040 } 290 -enum : uint { BAUD_1800 = cast(DWORD)0x00000080 } 291 -enum : uint { BAUD_2400 = cast(DWORD)0x00000100 } 292 -enum : uint { BAUD_4800 = cast(DWORD)0x00000200 } 293 -enum : uint { BAUD_7200 = cast(DWORD)0x00000400 } 294 -enum : uint { BAUD_9600 = cast(DWORD)0x00000800 } 295 -enum : uint { BAUD_14400 = cast(DWORD)0x00001000 } 296 -enum : uint { BAUD_19200 = cast(DWORD)0x00002000 } 297 -enum : uint { BAUD_38400 = cast(DWORD)0x00004000 } 298 -enum : uint { BAUD_56K = cast(DWORD)0x00008000 } 299 -enum : uint { BAUD_128K = cast(DWORD)0x00010000 } 300 -enum : uint { BAUD_115200 = cast(DWORD)0x00020000 } 301 -enum : uint { BAUD_57600 = cast(DWORD)0x00040000 } 302 -enum : uint { BAUD_USER = cast(DWORD)0x10000000 } 303 - 304 -enum : uint { DATABITS_5 = cast(WORD)0x0001 } 305 -enum : uint { DATABITS_6 = cast(WORD)0x0002 } 306 -enum : uint { DATABITS_7 = cast(WORD)0x0004 } 307 -enum : uint { DATABITS_8 = cast(WORD)0x0008 } 308 -enum : uint { DATABITS_16 = cast(WORD)0x0010 } 309 -enum : uint { DATABITS_16X = cast(WORD)0x0020 } 310 - 311 -enum : uint { STOPBITS_10 = cast(WORD)0x0001 } 312 -enum : uint { STOPBITS_15 = cast(WORD)0x0002 } 313 -enum : uint { STOPBITS_20 = cast(WORD)0x0004 } 314 -enum : uint { PARITY_NONE = cast(WORD)0x0100 } 315 -enum : uint { PARITY_ODD = cast(WORD)0x0200 } 316 -enum : uint { PARITY_EVEN = cast(WORD)0x0400 } 317 -enum : uint { PARITY_MARK = cast(WORD)0x0800 } 318 -enum : uint { PARITY_SPACE = cast(WORD)0x1000 } 319 - 320 -struct _COMMPROP { 321 - WORD wPacketLength; 322 - WORD wPacketVersion; 323 - DWORD dwServiceMask; 324 - DWORD dwReserved1; 325 - DWORD dwMaxTxQueue; 326 - DWORD dwMaxRxQueue; 327 - DWORD dwMaxBaud; 328 - DWORD dwProvSubType; 329 - DWORD dwProvCapabilities; 330 - DWORD dwSettableParams; 331 - DWORD dwSettableBaud; 332 - WORD wSettableData; 333 - WORD wSettableStopParity; 334 - DWORD dwCurrentTxQueue; 335 - DWORD dwCurrentRxQueue; 336 - DWORD dwProvSpec1; 337 - DWORD dwProvSpec2; 338 - WCHAR wcProvChar[1]; 339 -} 340 -alias _COMMPROP COMMPROP; 341 -alias _COMMPROP* LPCOMMPROP; 342 - 343 -enum : uint { COMMPROP_INITIALIZED = cast(DWORD)0xE73CF52E } 344 - 345 -struct _COMSTAT { 346 -// DWORD fCtsHold : 1; 347 -// DWORD fDsrHold : 1; 348 -// DWORD fRlsdHold : 1; 349 -// DWORD fXoffHold : 1; 350 -// DWORD fXoffSent : 1; 351 -// DWORD fEof : 1; 352 -// DWORD fTxim : 1; 353 -// DWORD fReserved : 25; 354 - DWORD cbInQue; 355 - DWORD cbOutQue; 356 -} 357 -alias _COMSTAT COMSTAT; 358 -alias _COMSTAT* LPCOMSTAT; 359 - 360 -enum : uint { DTR_CONTROL_DISABLE = 0x00 } 361 -enum : uint { DTR_CONTROL_ENABLE = 0x01 } 362 -enum : uint { DTR_CONTROL_HANDSHAKE = 0x02 } 363 - 364 -enum : uint { RTS_CONTROL_DISABLE = 0x00 } 365 -enum : uint { RTS_CONTROL_ENABLE = 0x01 } 366 -enum : uint { RTS_CONTROL_HANDSHAKE = 0x02 } 367 -enum : uint { RTS_CONTROL_TOGGLE = 0x03 } 368 - 369 -struct _DCB { 370 - DWORD DCBlength; 371 - DWORD BaudRate; 372 -// DWORD fBinary: 1; 373 -// DWORD fParity: 1; 374 -// DWORD fOutxCtsFlow:1; 375 -// DWORD fOutxDsrFlow:1; 376 -// DWORD fDtrControl:2; 377 -// DWORD fDsrSensitivity:1; 378 -// DWORD fTXContinueOnXoff: 1; 379 -// DWORD fOutX: 1; 380 -// DWORD fInX: 1; 381 -// DWORD fErrorChar: 1; 382 -// DWORD fNull: 1; 383 -// DWORD fRtsControl:2; 384 -// DWORD fAbortOnError:1; 385 -// DWORD fDummy2:17; 386 - WORD wReserved; 387 - WORD XonLim; 388 - WORD XoffLim; 389 - BYTE ByteSize; 390 - BYTE Parity; 391 - BYTE StopBits; 392 - char XonChar; 393 - char XoffChar; 394 - char ErrorChar; 395 - char EofChar; 396 - char EvtChar; 397 - WORD wReserved1; 398 -} 399 -alias _DCB DCB; 400 -alias _DCB* LPDCB; 401 - 402 -struct _COMMTIMEOUTS { 403 - DWORD ReadIntervalTimeout; 404 - DWORD ReadTotalTimeoutMultiplier; 405 - DWORD ReadTotalTimeoutConstant; 406 - DWORD WriteTotalTimeoutMultiplier; 407 - DWORD WriteTotalTimeoutConstant; 408 -} 409 -alias _COMMTIMEOUTS COMMTIMEOUTS; 410 -alias _COMMTIMEOUTS* LPCOMMTIMEOUTS; 411 - 412 -struct _COMMCONFIG { 413 - DWORD dwSize; 414 - WORD wVersion; 415 - WORD wReserved; 416 - DCB dcb; 417 - DWORD dwProviderSubType; 418 - DWORD dwProviderOffset; 419 - DWORD dwProviderSize; 420 - WCHAR wcProviderData[1]; 421 -} 422 -alias _COMMCONFIG COMMCONFIG; 423 -alias _COMMCONFIG* LPCOMMCONFIG; 424 - 425 -struct _SYSTEM_INFO { 426 -union { 427 - DWORD dwOemId; 428 -struct { 429 - WORD wProcessorArchitecture; 430 - WORD wReserved; 431 -} 432 - 433 -} 434 - 435 - DWORD dwPageSize; 436 - LPVOID lpMinimumApplicationAddress; 437 - LPVOID lpMaximumApplicationAddress; 438 - DWORD_PTR dwActiveProcessorMask; 439 - DWORD dwNumberOfProcessors; 440 - DWORD dwProcessorType; 441 - DWORD dwAllocationGranularity; 442 - WORD wProcessorLevel; 443 - WORD wProcessorRevision; 444 -} 445 -alias _SYSTEM_INFO SYSTEM_INFO; 446 -alias _SYSTEM_INFO* LPSYSTEM_INFO; 447 - 448 -alias FreeLibrary FreeModule; 449 -// #define MakeProcInstance(lpProc,hInstance) (lpProc) 450 -// #define FreeProcInstance(lpProc) (lpProc) 451 - 452 -enum : uint { GMEM_FIXED = 0x0000 } 453 -enum : uint { GMEM_MOVEABLE = 0x0002 } 454 -enum : uint { GMEM_NOCOMPACT = 0x0010 } 455 -enum : uint { GMEM_NODISCARD = 0x0020 } 456 -enum : uint { GMEM_ZEROINIT = 0x0040 } 457 -enum : uint { GMEM_MODIFY = 0x0080 } 458 -enum : uint { GMEM_DISCARDABLE = 0x0100 } 459 -enum : uint { GMEM_NOT_BANKED = 0x1000 } 460 -enum : uint { GMEM_SHARE = 0x2000 } 461 -enum : uint { GMEM_DDESHARE = 0x2000 } 462 -enum : uint { GMEM_NOTIFY = 0x4000 } 463 -alias GMEM_NOT_BANKED GMEM_LOWER; 464 -enum : uint { GMEM_VALID_FLAGS = 0x7F72 } 465 -enum : uint { GMEM_INVALID_HANDLE = 0x8000 } 466 - 467 -enum : uint { GHND = GMEM_MOVEABLE | GMEM_ZEROINIT } 468 -enum : uint { GPTR = GMEM_FIXED | GMEM_ZEROINIT } 469 - 470 -// #define GlobalLRUNewest( h ) ((HANDLE)(h)) 471 -// #define GlobalLRUOldest( h ) ((HANDLE)(h)) 472 -// #define GlobalDiscard( h ) GlobalReAlloc( (h), 0, GMEM_MOVEABLE ) 473 - 474 -enum : uint { GMEM_DISCARDED = 0x4000 } 475 -enum : uint { GMEM_LOCKCOUNT = 0x00FF } 476 - 477 -struct _MEMORYSTATUS { 478 - DWORD dwLength; 479 - DWORD dwMemoryLoad; 480 - SIZE_T dwTotalPhys; 481 - SIZE_T dwAvailPhys; 482 - SIZE_T dwTotalPageFile; 483 - SIZE_T dwAvailPageFile; 484 - SIZE_T dwTotalVirtual; 485 - SIZE_T dwAvailVirtual; 486 -} 487 -alias _MEMORYSTATUS MEMORYSTATUS; 488 -alias _MEMORYSTATUS* LPMEMORYSTATUS; 489 - 490 -enum : uint { LMEM_FIXED = 0x0000 } 491 -enum : uint { LMEM_MOVEABLE = 0x0002 } 492 -enum : uint { LMEM_NOCOMPACT = 0x0010 } 493 -enum : uint { LMEM_NODISCARD = 0x0020 } 494 -enum : uint { LMEM_ZEROINIT = 0x0040 } 495 -enum : uint { LMEM_MODIFY = 0x0080 } 496 -enum : uint { LMEM_DISCARDABLE = 0x0F00 } 497 -enum : uint { LMEM_VALID_FLAGS = 0x0F72 } 498 -enum : uint { LMEM_INVALID_HANDLE = 0x8000 } 499 - 500 -enum : uint { LHND = LMEM_MOVEABLE | LMEM_ZEROINIT } 501 -enum : uint { LPTR = LMEM_FIXED | LMEM_ZEROINIT } 502 - 503 -enum : uint { NONZEROLHND = LMEM_MOVEABLE } 504 -enum : uint { NONZEROLPTR = LMEM_FIXED } 505 - 506 -// #define LocalDiscard( h ) LocalReAlloc( (h), 0, LMEM_MOVEABLE ) 507 - 508 -enum : uint { LMEM_DISCARDED = 0x4000 } 509 -enum : uint { LMEM_LOCKCOUNT = 0x00FF } 510 - 511 -enum : uint { DEBUG_PROCESS = 0x00000001 } 512 -enum : uint { DEBUG_ONLY_THIS_PROCESS = 0x00000002 } 513 - 514 -enum : uint { CREATE_SUSPENDED = 0x00000004 } 515 - 516 -enum : uint { DETACHED_PROCESS = 0x00000008 } 517 - 518 -enum : uint { CREATE_NEW_CONSOLE = 0x00000010 } 519 - 520 -enum : uint { NORMAL_PRIORITY_CLASS = 0x00000020 } 521 -enum : uint { IDLE_PRIORITY_CLASS = 0x00000040 } 522 -enum : uint { HIGH_PRIORITY_CLASS = 0x00000080 } 523 -enum : uint { REALTIME_PRIORITY_CLASS = 0x00000100 } 524 - 525 -enum : uint { CREATE_NEW_PROCESS_GROUP = 0x00000200 } 526 -enum : uint { CREATE_UNICODE_ENVIRONMENT = 0x00000400 } 527 - 528 -enum : uint { CREATE_SEPARATE_WOW_VDM = 0x00000800 } 529 -enum : uint { CREATE_SHARED_WOW_VDM = 0x00001000 } 530 -enum : uint { CREATE_FORCEDOS = 0x00002000 } 531 - 532 -enum : uint { BELOW_NORMAL_PRIORITY_CLASS = 0x00004000 } 533 -enum : uint { ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000 } 534 -enum : uint { STACK_SIZE_PARAM_IS_A_RESERVATION = 0x00010000 } 535 - 536 -enum : uint { CREATE_BREAKAWAY_FROM_JOB = 0x01000000 } 537 -enum : uint { CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000 } 538 - 539 -enum : uint { CREATE_DEFAULT_ERROR_MODE = 0x04000000 } 540 -enum : uint { CREATE_NO_WINDOW = 0x08000000 } 541 - 542 -enum : uint { PROFILE_USER = 0x10000000 } 543 -enum : uint { PROFILE_KERNEL = 0x20000000 } 544 -enum : uint { PROFILE_SERVER = 0x40000000 } 545 - 546 -enum : uint { CREATE_IGNORE_SYSTEM_DEFAULT = 0x80000000 } 547 - 548 -alias THREAD_BASE_PRIORITY_MIN THREAD_PRIORITY_LOWEST; 549 -enum : uint { THREAD_PRIORITY_BELOW_NORMAL = THREAD_PRIORITY_LOWEST+1 } 550 -enum : uint { THREAD_PRIORITY_NORMAL = 0 } 551 -alias THREAD_BASE_PRIORITY_MAX THREAD_PRIORITY_HIGHEST; 552 -enum : uint { THREAD_PRIORITY_ABOVE_NORMAL = THREAD_PRIORITY_HIGHEST-1 } 553 -enum : uint { THREAD_PRIORITY_ERROR_RETURN = MAXLONG } 554 - 555 -alias THREAD_BASE_PRIORITY_LOWRT THREAD_PRIORITY_TIME_CRITICAL; 556 -alias THREAD_BASE_PRIORITY_IDLE THREAD_PRIORITY_IDLE; 557 - 558 -enum : uint { EXCEPTION_DEBUG_EVENT = 1 } 559 -enum : uint { CREATE_THREAD_DEBUG_EVENT = 2 } 560 -enum : uint { CREATE_PROCESS_DEBUG_EVENT = 3 } 561 -enum : uint { EXIT_THREAD_DEBUG_EVENT = 4 } 562 -enum : uint { EXIT_PROCESS_DEBUG_EVENT = 5 } 563 -enum : uint { LOAD_DLL_DEBUG_EVENT = 6 } 564 -enum : uint { UNLOAD_DLL_DEBUG_EVENT = 7 } 565 -enum : uint { OUTPUT_DEBUG_STRING_EVENT = 8 } 566 -enum : uint { RIP_EVENT = 9 } 567 - 568 -struct _EXCEPTION_DEBUG_INFO { 569 - EXCEPTION_RECORD ExceptionRecord; 570 - DWORD dwFirstChance; 571 -} 572 -alias _EXCEPTION_DEBUG_INFO EXCEPTION_DEBUG_INFO; 573 -alias _EXCEPTION_DEBUG_INFO* LPEXCEPTION_DEBUG_INFO; 574 - 575 -struct _CREATE_THREAD_DEBUG_INFO { 576 - HANDLE hThread; 577 - LPVOID lpThreadLocalBase; 578 - LPTHREAD_START_ROUTINE lpStartAddress; 579 -} 580 -alias _CREATE_THREAD_DEBUG_INFO CREATE_THREAD_DEBUG_INFO; 581 -alias _CREATE_THREAD_DEBUG_INFO* LPCREATE_THREAD_DEBUG_INFO; 582 - 583 -struct _CREATE_PROCESS_DEBUG_INFO { 584 - HANDLE hFile; 585 - HANDLE hProcess; 586 - HANDLE hThread; 587 - LPVOID lpBaseOfImage; 588 - DWORD dwDebugInfoFileOffset; 589 - DWORD nDebugInfoSize; 590 - LPVOID lpThreadLocalBase; 591 - LPTHREAD_START_ROUTINE lpStartAddress; 592 - LPVOID lpImageName; 593 - WORD fUnicode; 594 -} 595 -alias _CREATE_PROCESS_DEBUG_INFO CREATE_PROCESS_DEBUG_INFO; 596 -alias _CREATE_PROCESS_DEBUG_INFO* LPCREATE_PROCESS_DEBUG_INFO; 597 - 598 -struct _EXIT_THREAD_DEBUG_INFO { 599 - DWORD dwExitCode; 600 -} 601 -alias _EXIT_THREAD_DEBUG_INFO EXIT_THREAD_DEBUG_INFO; 602 -alias _EXIT_THREAD_DEBUG_INFO* LPEXIT_THREAD_DEBUG_INFO; 603 - 604 -struct _EXIT_PROCESS_DEBUG_INFO { 605 - DWORD dwExitCode; 606 -} 607 -alias _EXIT_PROCESS_DEBUG_INFO EXIT_PROCESS_DEBUG_INFO; 608 -alias _EXIT_PROCESS_DEBUG_INFO* LPEXIT_PROCESS_DEBUG_INFO; 609 - 610 -struct _LOAD_DLL_DEBUG_INFO { 611 - HANDLE hFile; 612 - LPVOID lpBaseOfDll; 613 - DWORD dwDebugInfoFileOffset; 614 - DWORD nDebugInfoSize; 615 - LPVOID lpImageName; 616 - WORD fUnicode; 617 -} 618 -alias _LOAD_DLL_DEBUG_INFO LOAD_DLL_DEBUG_INFO; 619 -alias _LOAD_DLL_DEBUG_INFO* LPLOAD_DLL_DEBUG_INFO; 620 - 621 -struct _UNLOAD_DLL_DEBUG_INFO { 622 - LPVOID lpBaseOfDll; 623 -} 624 -alias _UNLOAD_DLL_DEBUG_INFO UNLOAD_DLL_DEBUG_INFO; 625 -alias _UNLOAD_DLL_DEBUG_INFO* LPUNLOAD_DLL_DEBUG_INFO; 626 - 627 -struct _OUTPUT_DEBUG_STRING_INFO { 628 - LPSTR lpDebugStringData; 629 - WORD fUnicode; 630 - WORD nDebugStringLength; 631 -} 632 -alias _OUTPUT_DEBUG_STRING_INFO OUTPUT_DEBUG_STRING_INFO; 633 -alias _OUTPUT_DEBUG_STRING_INFO* LPOUTPUT_DEBUG_STRING_INFO; 634 - 635 -struct _RIP_INFO { 636 - DWORD dwError; 637 - DWORD dwType; 638 -} 639 -alias _RIP_INFO RIP_INFO; 640 -alias _RIP_INFO* LPRIP_INFO; 641 - 642 -struct _DEBUG_EVENT { 643 - DWORD dwDebugEventCode; 644 - DWORD dwProcessId; 645 - DWORD dwThreadId; 646 -union { 647 - EXCEPTION_DEBUG_INFO Exception; 648 - CREATE_THREAD_DEBUG_INFO CreateThread; 649 - CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; 650 - EXIT_THREAD_DEBUG_INFO ExitThread; 651 - EXIT_PROCESS_DEBUG_INFO ExitProcess; 652 - LOAD_DLL_DEBUG_INFO LoadDll; 653 - UNLOAD_DLL_DEBUG_INFO UnloadDll; 654 - OUTPUT_DEBUG_STRING_INFO DebugString; 655 - RIP_INFO RipInfo; 656 -} 657 - 658 -} 659 -alias _DEBUG_EVENT DEBUG_EVENT; 660 -alias _DEBUG_EVENT* LPDEBUG_EVENT; 661 - 662 -// #if !defined(MIDL_PASS) 663 -alias PCONTEXT LPCONTEXT; 664 -alias PEXCEPTION_RECORD LPEXCEPTION_RECORD; 665 -alias PEXCEPTION_POINTERS LPEXCEPTION_POINTERS; 666 -// #endif 667 - 668 -enum : uint { DRIVE_UNKNOWN = 0 } 669 -enum : uint { DRIVE_NO_ROOT_DIR = 1 } 670 -enum : uint { DRIVE_REMOVABLE = 2 } 671 -enum : uint { DRIVE_FIXED = 3 } 672 -enum : uint { DRIVE_REMOTE = 4 } 673 -enum : uint { DRIVE_CDROM = 5 } 674 -enum : uint { DRIVE_RAMDISK = 6 } 675 - 676 -// #ifndef _MAC 677 -// #define GetFreeSpace(w) (0x100000L) 678 -// #else 679 -// ... 680 -// #endif 681 - 682 -enum : uint { FILE_TYPE_UNKNOWN = 0x0000 } 683 -enum : uint { FILE_TYPE_DISK = 0x0001 } 684 -enum : uint { FILE_TYPE_CHAR = 0x0002 } 685 -enum : uint { FILE_TYPE_PIPE = 0x0003 } 686 -enum : uint { FILE_TYPE_REMOTE = 0x8000 } 687 - 688 -enum : uint { STD_INPUT_HANDLE = cast(DWORD)-10 } 689 -enum : uint { STD_OUTPUT_HANDLE = cast(DWORD)-11 } 690 -enum : uint { STD_ERROR_HANDLE = cast(DWORD)-12 } 691 - 692 -enum : uint { NOPARITY = 0 } 693 -enum : uint { ODDPARITY = 1 } 694 -enum : uint { EVENPARITY = 2 } 695 -enum : uint { MARKPARITY = 3 } 696 -enum : uint { SPACEPARITY = 4 } 697 - 698 -enum : uint { ONESTOPBIT = 0 } 699 -enum : uint { ONE5STOPBITS = 1 } 700 -enum : uint { TWOSTOPBITS = 2 } 701 - 702 -enum : uint { IGNORE = 0 } 703 -enum : uint { INFINITE = 0xFFFFFFFF } 704 - 705 -enum : uint { CBR_110 = 110 } 706 -enum : uint { CBR_300 = 300 } 707 -enum : uint { CBR_600 = 600 } 708 -enum : uint { CBR_1200 = 1200 } 709 -enum : uint { CBR_2400 = 2400 } 710 -enum : uint { CBR_4800 = 4800 } 711 -enum : uint { CBR_9600 = 9600 } 712 -enum : uint { CBR_14400 = 14400 } 713 -enum : uint { CBR_19200 = 19200 } 714 -enum : uint { CBR_38400 = 38400 } 715 -enum : uint { CBR_56000 = 56000 } 716 -enum : uint { CBR_57600 = 57600 } 717 -enum : uint { CBR_115200 = 115200 } 718 -enum : uint { CBR_128000 = 128000 } 719 -enum : uint { CBR_256000 = 256000 } 720 - 721 -enum : uint { CE_RXOVER = 0x0001 } 722 -enum : uint { CE_OVERRUN = 0x0002 } 723 -enum : uint { CE_RXPARITY = 0x0004 } 724 -enum : uint { CE_FRAME = 0x0008 } 725 -enum : uint { CE_BREAK = 0x0010 } 726 -enum : uint { CE_TXFULL = 0x0100 } 727 -enum : uint { CE_PTO = 0x0200 } 728 -enum : uint { CE_IOE = 0x0400 } 729 -enum : uint { CE_DNS = 0x0800 } 730 -enum : uint { CE_OOP = 0x1000 } 731 -enum : uint { CE_MODE = 0x8000 } 732 - 733 -enum { IE_BADID = -1 } 734 -enum { IE_OPEN = -2 } 735 -enum { IE_NOPEN = -3 } 736 -enum { IE_MEMORY = -4 } 737 -enum { IE_DEFAULT = -5 } 738 -enum { IE_HARDWARE = -10 } 739 -enum { IE_BYTESIZE = -11 } 740 -enum { IE_BAUDRATE = -12 } 741 - 742 -enum : uint { EV_RXCHAR = 0x0001 } 743 -enum : uint { EV_RXFLAG = 0x0002 } 744 -enum : uint { EV_TXEMPTY = 0x0004 } 745 -enum : uint { EV_CTS = 0x0008 } 746 -enum : uint { EV_DSR = 0x0010 } 747 -enum : uint { EV_RLSD = 0x0020 } 748 -enum : uint { EV_BREAK = 0x0040 } 749 -enum : uint { EV_ERR = 0x0080 } 750 -enum : uint { EV_RING = 0x0100 } 751 -enum : uint { EV_PERR = 0x0200 } 752 -enum : uint { EV_RX80FULL = 0x0400 } 753 -enum : uint { EV_EVENT1 = 0x0800 } 754 -enum : uint { EV_EVENT2 = 0x1000 } 755 - 756 -enum : uint { SETXOFF = 1 } 757 -enum : uint { SETXON = 2 } 758 -enum : uint { SETRTS = 3 } 759 -enum : uint { CLRRTS = 4 } 760 -enum : uint { SETDTR = 5 } 761 -enum : uint { CLRDTR = 6 } 762 -enum : uint { RESETDEV = 7 } 763 -enum : uint { SETBREAK = 8 } 764 -enum : uint { CLRBREAK = 9 } 765 - 766 -enum : uint { PURGE_TXABORT = 0x0001 } 767 -enum : uint { PURGE_RXABORT = 0x0002 } 768 -enum : uint { PURGE_TXCLEAR = 0x0004 } 769 -enum : uint { PURGE_RXCLEAR = 0x0008 } 770 - 771 -enum : uint { LPTx = 0x80 } 772 - 773 -enum : uint { MS_CTS_ON = cast(DWORD)0x0010 } 774 -enum : uint { MS_DSR_ON = cast(DWORD)0x0020 } 775 -enum : uint { MS_RING_ON = cast(DWORD)0x0040 } 776 -enum : uint { MS_RLSD_ON = cast(DWORD)0x0080 } 777 - 778 -enum : uint { S_QUEUEEMPTY = 0 } 779 -enum : uint { S_THRESHOLD = 1 } 780 -enum : uint { S_ALLTHRESHOLD = 2 } 781 - 782 -enum : uint { S_NORMAL = 0 } 783 -enum : uint { S_LEGATO = 1 } 784 -enum : uint { S_STACCATO = 2 } 785 - 786 -enum : uint { S_PERIOD512 = 0 } 787 -enum : uint { S_PERIOD1024 = 1 } 788 -enum : uint { S_PERIOD2048 = 2 } 789 -enum : uint { S_PERIODVOICE = 3 } 790 -enum : uint { S_WHITE512 = 4 } 791 -enum : uint { S_WHITE1024 = 5 } 792 -enum : uint { S_WHITE2048 = 6 } 793 -enum : uint { S_WHITEVOICE = 7 } 794 - 795 -enum { S_SERDVNA = -1 } 796 -enum { S_SEROFM = -2 } 797 -enum { S_SERMACT = -3 } 798 -enum { S_SERQFUL = -4 } 799 -enum { S_SERBDNT = -5 } 800 -enum { S_SERDLN = -6 } 801 -enum { S_SERDCC = -7 } 802 -enum { S_SERDTP = -8 } 803 -enum { S_SERDVL = -9 } 804 -enum { S_SERDMD = -10 } 805 -enum { S_SERDSH = -11 } 806 -enum { S_SERDPT = -12 } 807 -enum { S_SERDFQ = -13 } 808 -enum { S_SERDDR = -14 } 809 -enum { S_SERDSR = -15 } 810 -enum { S_SERDST = -16 } 811 - 812 -enum : uint { NMPWAIT_WAIT_FOREVER = 0xffffffff } 813 -enum : uint { NMPWAIT_NOWAIT = 0x00000001 } 814 -enum : uint { NMPWAIT_USE_DEFAULT_WAIT = 0x00000000 } 815 - 816 -alias FILE_CASE_PRESERVED_NAMES FS_CASE_IS_PRESERVED; 817 -alias FILE_CASE_SENSITIVE_SEARCH FS_CASE_SENSITIVE; 818 -alias FILE_UNICODE_ON_DISK FS_UNICODE_STORED_ON_DISK; 819 -alias FILE_PERSISTENT_ACLS FS_PERSISTENT_ACLS; 820 -alias FILE_VOLUME_IS_COMPRESSED FS_VOL_IS_COMPRESSED; 821 -alias FILE_FILE_COMPRESSION FS_FILE_COMPRESSION; 822 -alias FILE_SUPPORTS_ENCRYPTION FS_FILE_ENCRYPTION; 823 - 824 -alias SECTION_QUERY FILE_MAP_COPY; 825 -alias SECTION_MAP_WRITE FILE_MAP_WRITE; 826 -alias SECTION_MAP_READ FILE_MAP_READ; 827 -alias SECTION_ALL_ACCESS FILE_MAP_ALL_ACCESS; 828 - 829 -enum : uint { OF_READ = 0x00000000 } 830 -enum : uint { OF_WRITE = 0x00000001 } 831 -enum : uint { OF_READWRITE = 0x00000002 } 832 -enum : uint { OF_SHARE_COMPAT = 0x00000000 } 833 -enum : uint { OF_SHARE_EXCLUSIVE = 0x00000010 } 834 -enum : uint { OF_SHARE_DENY_WRITE = 0x00000020 } 835 -enum : uint { OF_SHARE_DENY_READ = 0x00000030 } 836 -enum : uint { OF_SHARE_DENY_NONE = 0x00000040 } 837 -enum : uint { OF_PARSE = 0x00000100 } 838 -enum : uint { OF_DELETE = 0x00000200 } 839 -enum : uint { OF_VERIFY = 0x00000400 } 840 -enum : uint { OF_CANCEL = 0x00000800 } 841 -enum : uint { OF_CREATE = 0x00001000 } 842 -enum : uint { OF_PROMPT = 0x00002000 } 843 -enum : uint { OF_EXIST = 0x00004000 } 844 -enum : uint { OF_REOPEN = 0x00008000 } 845 - 846 -enum : uint { OFS_MAXPATHNAME = 128 } 847 -struct _OFSTRUCT { 848 - BYTE cBytes; 849 - BYTE fFixedDisk; 850 - WORD nErrCode; 851 - WORD Reserved1; 852 - WORD Reserved2; 853 - CHAR szPathName[OFS_MAXPATHNAME]; 854 -} 855 -alias _OFSTRUCT OFSTRUCT; 856 -alias _OFSTRUCT* LPOFSTRUCT; 857 -alias _OFSTRUCT* POFSTRUCT; 858 - 859 -// #ifndef NOWINBASEINTERLOCK 860 - 861 -// #ifndef _NTOS_ 862 - 863 -// #if defined(_M_IA64) && !defined(RC_INVOKED) 864 - 865 -// #... 866 -// #... 867 -// #... 868 -// #... 869 -// #... 870 -// #... 871 -// #... 872 - 873 -// ... 874 - 875 -// ... 876 - 877 -// ... 878 - 879 -// ... 880 - 881 -// ... 882 - 883 -// ... 884 - 885 -// ... 886 - 887 -// #... 888 -// #... 889 -// #... 890 -// #... 891 -// #... 892 -// #... 893 -// #... 894 - 895 -// #elif defined(_M_AMD64) && !defined(RC_INVOKED) 896 - 897 -// #... 898 -// #... 899 -// #... 900 -// #... 901 -// #... 902 -// #... 903 -// #... 904 - 905 -// ... 906 - 907 -// ... 908 - 909 -// ... 910 - 911 -// ... 912 - 913 -// ... 914 - 915 -// ... 916 - 917 -// ... 918 - 919 -// #... 920 -// #... 921 -// #... 922 -// #... 923 -// #... 924 -// #... 925 -// #... 926 - 927 -// #else // X86 interlocked definitions 928 - 929 -extern(Windows) export LONG InterlockedIncrement( 930 - LONG *lpAddend); 931 - 932 -extern(Windows) export LONG InterlockedDecrement( 933 - LONG *lpAddend); 934 - 935 -extern(Windows) export LONG InterlockedExchange( 936 - LONG *Target, 937 - LONG Value); 938 - 939 -void* InterlockedExchangePointer(void** t, void* v){ return cast(void*)InterlockedExchange(cast(PLONG)t, cast(LONG)v); } 940 - 941 -extern(Windows) export LONG InterlockedExchangeAdd( 942 - LONG *Addend, 943 - LONG Value); 944 - 945 -extern(Windows) export LONG InterlockedCompareExchange( 946 - LONG *Destination, 947 - LONG Exchange, 948 - LONG Comperand); 949 - 950 -// #ifdef __cplusplus 951 - 952 -PVOID __InlineInterlockedCompareExchangePointer(PVOID* Destination, PVOID ExChange, PVOID Comperand){ return(cast(PVOID)cast(LONG_PTR)InterlockedCompareExchange(cast(LONG*)Destination, cast(LONG)cast(LONG_PTR)ExChange, cast(LONG)cast(LONG_PTR)Comperand)); } 953 -alias __InlineInterlockedCompareExchangePointer InterlockedCompareExchangePointer; 954 - 955 -// #else 956 - 957 -// #... 958 -// ... 959 - 960 -// #endif /* __cplusplus */ 961 - 962 -// #endif /* X86 | IA64 */ 963 - 964 -// #if defined(_SLIST_HEADER_) && !defined(_NTOSP_) 965 - 966 -// ... 967 - 968 -// ... 969 - 970 -// ... 971 - 972 -// ... 973 - 974 -// ... 975 - 976 -// #endif /* _SLIST_HEADER_ */ 977 -// #endif /* _NTOS_ */ 978 - 979 -// #endif /* NOWINBASEINTERLOCK */ 980 - 981 -extern(Windows) export BOOL FreeResource( 982 - HGLOBAL hResData); 983 - 984 -extern(Windows) export LPVOID LockResource( 985 - HGLOBAL hResData); 986 - 987 -// #define UnlockResource(hResData) ((hResData), 0) 988 -enum : uint { MAXINTATOM = 0xC000 } 989 -// #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i))) 990 -enum : ATOM { INVALID_ATOM = 0 } 991 - 992 -// #ifndef _MAC 11 +pragma(lib, "kernel32.lib"); 12 + 13 +/** 14 +Translation Notes: 15 +The following macros are obsolete, and have no effect. 16 + 17 +LockSegment(w), MakeProcInstance(p, i), UnlockResource(h), UnlockSegment(w) 18 +FreeModule(m), FreeProcInstance(p), GetFreeSpace(w), DefineHandleTable(w) 19 +SetSwapAreaSize(w), LimitEmsPages(n), Yield() 20 + 21 +// The following Win16 functions are obselete in Win32. 22 + 23 + int _hread(HFILE, LPVOID, int); 24 + int _hwrite(HFILE, LPCSTR, int); 25 + HFILE _lclose(HFILE); 26 + HFILE _lcreat(LPCSTR, int); 27 + LONG _llseek(HFILE, LONG, int); 28 + HFILE _lopen(LPCSTR, int); 29 + UINT _lread(HFILE, LPVOID, UINT); 30 + UINT _lwrite(HFILE, LPCSTR, UINT); 31 + SIZE_T GlobalCompact(DWORD); 32 + VOID GlobalFix(HGLOBAL); 33 +* MSDN contradicts itself on GlobalFlags: 34 +* "This function is provided only for compatibility with 16-bit versions of Windows." 35 +* but also requires Windows 2000 or above 36 + UINT GlobalFlags(HGLOBAL); 37 + VOID GlobalUnfix(HGLOBAL); 38 + BOOL GlobalUnWire(HGLOBAL); 39 + PVOID GlobalWire(HGLOBAL); 40 + SIZE_T LocalCompact(UINT); 41 + UINT LocalFlags(HLOCAL); 42 + SIZE_T LocalShrink(HLOCAL, UINT); 43 + 44 +// These are not required for DMD. 45 + 46 +//FIXME: 47 +// #ifndef UNDER_CE 48 + int WinMain(HINSTANCE, HINSTANCE, LPSTR, int); 49 +#else 50 + int WinMain(HINSTANCE, HINSTANCE, LPWSTR, int); 51 +#endif 52 +int wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int); 53 + 54 +*/ 55 + 56 +import win32.windef, win32.winver; 57 +private import win32.basetyps, win32.w32api, win32.winnt; 58 + 59 +// FIXME: 60 +alias void va_list; 61 + 62 + 63 +/+ 64 +//-------------------------------------- 65 +// These functions are problematic 66 + 67 +version(UseNtoSKernel) {}else { 68 + /* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.h 69 + as __fastcall functions, but are exported from kernel32.dll as __stdcall */ 70 + static if (_WIN32_WINNT >= 0x0501) { 71 + VOID InitializeSListHead(PSLIST_HEADER); 72 + } 73 + LONG InterlockedCompareExchange(LPLONG, LONG, LONG); 74 + // PVOID WINAPI InterlockedCompareExchangePointer(PVOID*, PVOID, PVOID); 75 + (PVOID)InterlockedCompareExchange((LPLONG)(d) (PVOID)InterlockedCompareExchange((LPLONG)(d), (LONG)(e), (LONG)(c)) 76 + LONG InterlockedDecrement(LPLONG); 77 + LONG InterlockedExchange(LPLONG, LONG); 78 + // PVOID WINAPI InterlockedExchangePointer(PVOID*, PVOID); 79 + (PVOID)InterlockedExchange((LPLONG)((PVOID)InterlockedExchange((LPLONG)(t), (LONG)(v)) 80 + LONG InterlockedExchangeAdd(LPLONG, LONG); 81 + 82 + static if (_WIN32_WINNT >= 0x0501) { 83 + PSLIST_ENTRY InterlockedFlushSList(PSLIST_HEADER); 84 + } 85 + LONG InterlockedIncrement(LPLONG); 86 + static if (_WIN32_WINNT >= 0x0501) { 87 + PSLIST_ENTRY InterlockedPopEntrySList(PSLIST_HEADER); 88 + PSLIST_ENTRY InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY); 89 + } 90 +} // #endif // __USE_NTOSKRNL__ 91 +//-------------------------------------- 92 ++/ 93 + 94 +// COMMPROP structure, used by GetCommProperties() 95 +// ----------------------------------------------- 96 + 97 +// Communications provider type 98 +enum : DWORD { 99 + PST_UNSPECIFIED, 100 + PST_RS232, 101 + PST_PARALLELPORT, 102 + PST_RS422, 103 + PST_RS423, 104 + PST_RS449, 105 + PST_MODEM, // = 6 106 + PST_FAX = 0x0021, 107 + PST_SCANNER = 0x0022, 108 + PST_NETWORK_BRIDGE = 0x0100, 109 + PST_LAT = 0x0101, 110 + PST_TCPIP_TELNET = 0x0102, 111 + PST_X25 = 0x0103 112 +} 113 + 114 +// Max baud rate 115 +enum : DWORD { 116 + BAUD_075 = 0x00000001, 117 + BAUD_110 = 0x00000002, 118 + BAUD_134_5 = 0x00000004, 119 + BAUD_150 = 0x00000008, 120 + BAUD_300 = 0x00000010, 121 + BAUD_600 = 0x00000020, 122 + BAUD_1200 = 0x00000040, 123 + BAUD_1800 = 0x00000080, 124 + BAUD_2400 = 0x00000100, 125 + BAUD_4800 = 0x00000200, 126 + BAUD_7200 = 0x00000400, 127 + BAUD_9600 = 0x00000800, 128 + BAUD_14400 = 0x00001000, 129 + BAUD_19200 = 0x00002000, 130 + BAUD_38400 = 0x00004000, 131 + BAUD_56K = 0x00008000, 132 + BAUD_128K = 0x00010000, 133 + BAUD_115200 = 0x00020000, 134 + BAUD_57600 = 0x00040000, 135 + BAUD_USER = 0x10000000 136 +} 137 + 138 +// Comm capabilities 139 +enum : DWORD { 140 + PCF_DTRDSR = 0x0001, 141 + PCF_RTSCTS = 0x0002, 142 + PCF_RLSD = 0x0004, 143 + PCF_PARITY_CHECK = 0x0008, 144 + PCF_XONXOFF = 0x0010, 145 + PCF_SETXCHAR = 0x0020, 146 + PCF_TOTALTIMEOUTS = 0x0040, 147 + PCF_INTTIMEOUTS = 0x0080, 148 + PCF_SPECIALCHARS = 0x0100, 149 + PCF_16BITMODE = 0x0200 150 +} 151 + 152 +enum : DWORD { 153 + SP_PARITY = 1, 154 + SP_BAUD = 2, 155 + SP_DATABITS = 4, 156 + SP_STOPBITS = 8, 157 + SP_HANDSHAKING = 16, 158 + SP_PARITY_CHECK = 32, 159 + SP_RLSD = 64 160 +} 161 + 162 +enum : DWORD { 163 + DATABITS_5 = 1, 164 + DATABITS_6 = 2, 165 + DATABITS_7 = 4, 166 + DATABITS_8 = 8, 167 + DATABITS_16 = 16, 168 + DATABITS_16X = 32 169 +} 170 + 171 +enum : WORD { 172 + STOPBITS_10 = 0x0001, 173 + STOPBITS_15 = 0x0002, 174 + STOPBITS_20 = 0x0004, 175 + PARITY_NONE = 0x0100, 176 + PARITY_ODD = 0x0200, 177 + PARITY_EVEN = 0x0400, 178 + PARITY_MARK = 0x0800, 179 + PARITY_SPACE = 0x1000 180 +} 181 + 182 +// used by dwServiceMask 183 +const SP_SERIALCOMM = 1; 184 + 185 +struct COMMPROP { 186 + WORD wPacketLength; 187 + WORD wPacketVersion; 188 + DWORD dwServiceMask; 189 + DWORD dwReserved1; 190 + DWORD dwMaxTxQueue; 191 + DWORD dwMaxRxQueue; 192 + DWORD dwMaxBaud; 193 + DWORD dwProvSubType; 194 + DWORD dwProvCapabilities; 195 + DWORD dwSettableParams; 196 + DWORD dwSettableBaud; 197 + WORD wSettableData; 198 + WORD wSettableStopParity; 199 + DWORD dwCurrentTxQueue; 200 + DWORD dwCurrentRxQueue; 201 + DWORD dwProvSpec1; 202 + DWORD dwProvSpec2; 203 + WCHAR _wcProvChar; 204 + 205 + WCHAR* wcProvChar() { return &_wcProvChar; } 206 +} 207 +alias COMMPROP* LPCOMMPROP; 208 + 209 +// ---------- 210 + 211 +// for DEBUG_EVENT 212 +enum : DWORD { 213 + EXCEPTION_DEBUG_EVENT = 1, 214 + CREATE_THREAD_DEBUG_EVENT, 215 + CREATE_PROCESS_DEBUG_EVENT, 216 + EXIT_THREAD_DEBUG_EVENT, 217 + EXIT_PROCESS_DEBUG_EVENT, 218 + LOAD_DLL_DEBUG_EVENT, 219 + UNLOAD_DLL_DEBUG_EVENT, 220 + OUTPUT_DEBUG_STRING_EVENT, 221 + RIP_EVENT 222 +} 223 + 224 +const HFILE HFILE_ERROR = cast(HFILE) (-1); 225 + 226 +// for SetFilePointer() 227 +enum : DWORD { 228 + FILE_BEGIN = 0, 229 + FILE_CURRENT = 1, 230 + FILE_END = 2 231 +} 232 +const DWORD INVALID_SET_FILE_POINTER = -1; 233 + 234 + 235 +// for OpenFile() 236 +deprecated enum : UINT { 237 + OF_READ = 0, 238 + OF_WRITE = 0x0001, 239 + OF_READWRITE = 0x0002, 240 + OF_SHARE_COMPAT = 0, 241 + OF_SHARE_EXCLUSIVE = 0x0010, 242 + OF_SHARE_DENY_WRITE = 0x0020, 243 + OF_SHARE_DENY_READ = 0x0030, 244 + OF_SHARE_DENY_NONE = 0x0040, 245 + OF_PARSE = 0x0100, 246 + OF_DELETE = 0x0200, 247 + OF_VERIFY = 0x0400, 248 + OF_CANCEL = 0x0800, 249 + OF_CREATE = 0x1000, 250 + OF_PROMPT = 0x2000, 251 + OF_EXIST = 0x4000, 252 + OF_REOPEN = 0x8000 253 +} 254 + 255 +enum : DWORD { 256 + NMPWAIT_NOWAIT = 1, 257 + NMPWAIT_WAIT_FOREVER = -1, 258 + NMPWAIT_USE_DEFAULT_WAIT = 0 259 +} 260 + 261 +// for ClearCommError() 262 +const DWORD 263 + CE_RXOVER = 0x0001, 264 + CE_OVERRUN = 0x0002, 265 + CE_RXPARITY = 0x0004, 266 + CE_FRAME = 0x0008, 267 + CE_BREAK = 0x0010, 268 + CE_TXFULL = 0x0100, 269 + CE_PTO = 0x0200, 270 + CE_IOE = 0x0400, 271 + CE_DNS = 0x0800, 272 + CE_OOP = 0x1000, 273 + CE_MODE = 0x8000; 274 + 275 +// for CopyProgressRoutine callback. 276 +enum : DWORD { 277 + PROGRESS_CONTINUE = 0, 278 + PROGRESS_CANCEL = 1, 279 + PROGRESS_STOP = 2, 280 + PROGRESS_QUIET = 3 281 +} 282 + 283 +enum : DWORD { 284 + CALLBACK_CHUNK_FINISHED = 0, 285 + CALLBACK_STREAM_SWITCH = 1 286 +} 287 + 288 +// CopyFileEx() 289 +enum : DWORD { 290 + COPY_FILE_FAIL_IF_EXISTS = 1, 291 + COPY_FILE_RESTARTABLE = 2 292 +} 293 + 294 +enum : DWORD { 295 + FILE_MAP_COPY = 1, 296 + FILE_MAP_WRITE = 2, 297 + FILE_MAP_READ = 4, 298 + FILE_MAP_ALL_ACCESS = 0x000F001F 299 +} 300 + 301 +enum : DWORD { 302 + MUTEX_ALL_ACCESS = 0x001f0001, 303 + MUTEX_MODIFY_STATE = 0x00000001, 304 + SEMAPHORE_ALL_ACCESS = 0x001f0003, 305 + SEMAPHORE_MODIFY_STATE = 0x00000002, 306 + EVENT_ALL_ACCESS = 0x001f0003, 307 + EVENT_MODIFY_STATE = 0x00000002 308 +} 309 + 310 +// CreateNamedPipe() 311 +enum : DWORD { 312 + PIPE_ACCESS_INBOUND = 1, 313 + PIPE_ACCESS_OUTBOUND = 2, 314 + PIPE_ACCESS_DUPLEX = 3 315 +} 316 + 317 +const DWORD 318 + PIPE_TYPE_BYTE = 0, 319 + PIPE_TYPE_MESSAGE = 4, 320 + PIPE_READMODE_BYTE = 0, 321 + PIPE_READMODE_MESSAGE = 2, 322 + PIPE_WAIT = 0, 323 + PIPE_NOWAIT = 1; 324 + 325 +// GetNamedPipeInfo() 326 +const DWORD 327 + PIPE_CLIENT_END = 0, 328 + PIPE_SERVER_END = 1; 329 + 330 +const DWORD PIPE_UNLIMITED_INSTANCES = 255; 331 + 332 +// dwCreationFlags for CreateProcess() and CreateProcessAsUser() 333 +enum : DWORD { 334 + DEBUG_PROCESS = 0x00000001, 335 + DEBUG_ONLY_THIS_PROCESS = 0x00000002, 336 + CREATE_SUSPENDED = 0x00000004, 337 + DETACHED_PROCESS = 0x00000008, 338 + CREATE_NEW_CONSOLE = 0x00000010, 339 + NORMAL_PRIORITY_CLASS = 0x00000020, 340 + IDLE_PRIORITY_CLASS = 0x00000040, 341 + HIGH_PRIORITY_CLASS = 0x00000080, 342 + REALTIME_PRIORITY_CLASS = 0x00000100, 343 + CREATE_NEW_PROCESS_GROUP = 0x00000200, 344 + CREATE_UNICODE_ENVIRONMENT = 0x00000400, 345 + CREATE_SEPARATE_WOW_VDM = 0x00000800, 346 + CREATE_SHARED_WOW_VDM = 0x00001000, 347 + CREATE_FORCEDOS = 0x00002000, 348 + BELOW_NORMAL_PRIORITY_CLASS = 0x00004000, 349 + ABOVE_NORMAL_PRIORITY_CLASS = 0x00008000, 350 + CREATE_BREAKAWAY_FROM_JOB = 0x01000000, 351 + CREATE_WITH_USERPROFILE = 0x02000000, 352 + CREATE_DEFAULT_ERROR_MODE = 0x04000000, 353 + CREATE_NO_WINDOW = 0x08000000, 354 + PROFILE_USER = 0x10000000, 355 + PROFILE_KERNEL = 0x20000000, 356 + PROFILE_SERVER = 0x40000000 357 +} 358 + 359 +const DWORD CONSOLE_TEXTMODE_BUFFER = 1; 360 + 361 +// CreateFile() 362 +enum : DWORD { 363 + CREATE_NEW = 1, 364 + CREATE_ALWAYS, 365 + OPEN_EXISTING, 366 + OPEN_ALWAYS, 367 + TRUNCATE_EXISTING 368 +} 369 + 370 +// CreateFile() 371 +const DWORD 372 + FILE_FLAG_WRITE_THROUGH = 0x80000000, 373 + FILE_FLAG_OVERLAPPED = 0x40000000, 374 + FILE_FLAG_NO_BUFFERING = 0x20000000, 375 + FILE_FLAG_RANDOM_ACCESS = 0x10000000, 376 + FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000, 377 + FILE_FLAG_DELETE_ON_CLOSE = 0x04000000, 378 + FILE_FLAG_BACKUP_SEMANTICS = 0x02000000, 379 + FILE_FLAG_POSIX_SEMANTICS = 0x01000000, 380 + FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000, 381 + FILE_FLAG_OPEN_NO_RECALL = 0x00100000; 382 + 383 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 384 + const DWORD FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000; 385 +} 386 + 387 +// for CreateFile() 388 +const DWORD 389 + SECURITY_ANONYMOUS = SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous<<16, 390 + SECURITY_IDENTIFICATION = SECURITY_IMPERSONATION_LEVEL.SecurityIdentification<<16, 391 + SECURITY_IMPERSONATION = SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation<<16, 392 + SECURITY_DELEGATION = SECURITY_IMPERSONATION_LEVEL.SecurityDelegation<<16, 393 + SECURITY_CONTEXT_TRACKING = 0x00040000, 394 + SECURITY_EFFECTIVE_ONLY = 0x00080000, 395 + SECURITY_SQOS_PRESENT = 0x00100000, 396 + SECURITY_VALID_SQOS_FLAGS = 0x001F0000; 397 + 398 + 399 +// Thread exit code 400 +const DWORD STILL_ACTIVE = 0x103; 401 + 402 +/* ??? The only documentation of this seems to be about Windows CE and to 403 + * state what _doesn't_ support it. 404 + */ 405 +const DWORD FIND_FIRST_EX_CASE_SENSITIVE = 1; 406 + 407 +// GetBinaryType() 408 +enum : DWORD { 409 + SCS_32BIT_BINARY = 0, 410 + SCS_DOS_BINARY, 411 + SCS_WOW_BINARY, 412 + SCS_PIF_BINARY, 413 + SCS_POSIX_BINARY, 414 + SCS_OS216_BINARY 415 +} 416 + 417 +const size_t 418 + MAX_COMPUTERNAME_LENGTH = 15, 419 + HW_PROFILE_GUIDLEN = 39, 420 + MAX_PROFILE_LEN = 80; 421 + 422 +// HW_PROFILE_INFO 423 +const DWORD 424 + DOCKINFO_UNDOCKED = 1, 425 + DOCKINFO_DOCKED = 2, 426 + DOCKINFO_USER_SUPPLIED = 4, 427 + DOCKINFO_USER_UNDOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED, 428 + DOCKINFO_USER_DOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED; 429 + 430 +// DriveType(), RealDriveType() 431 +enum : int { 432 + DRIVE_UNKNOWN = 0, 433 + DRIVE_NO_ROOT_DIR, 434 + DRIVE_REMOVABLE, 435 + DRIVE_FIXED, 436 + DRIVE_REMOTE, 437 + DRIVE_CDROM, 438 + DRIVE_RAMDISK 439 +} 440 + 441 +// GetFileType() 442 +enum : DWORD { 443 + FILE_TYPE_UNKNOWN = 0, 444 + FILE_TYPE_DISK, 445 + FILE_TYPE_CHAR, 446 + FILE_TYPE_PIPE, 447 + FILE_TYPE_REMOTE = 0x8000 448 +} 449 + 450 +// Get/SetHandleInformation() 451 +const DWORD 452 + HANDLE_FLAG_INHERIT = 0x01, 453 + HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x02; 454 + 455 +enum : DWORD { 456 + STD_INPUT_HANDLE = 0xFFFFFFF6, 457 + STD_OUTPUT_HANDLE = 0xFFFFFFF5, 458 + STD_ERROR_HANDLE = 0xFFFFFFF4 459 +} 460 + 461 +const HANDLE INVALID_HANDLE_VALUE = cast(HANDLE) (-1); 462 + 463 +enum : DWORD { 464 + GET_TAPE_MEDIA_INFORMATION = 0, 465 + GET_TAPE_DRIVE_INFORMATION = 1 466 +} 467 + 468 +enum : DWORD { 469 + SET_TAPE_MEDIA_INFORMATION = 0, 470 + SET_TAPE_DRIVE_INFORMATION = 1 471 +} 472 + 473 +// SetThreadPriority()/GetThreadPriority() 474 +enum : int { 475 + THREAD_PRIORITY_IDLE = -15, 476 + THREAD_PRIORITY_LOWEST = -2, 477 + THREAD_PRIORITY_BELOW_NORMAL = -1, 478 + THREAD_PRIORITY_NORMAL = 0, 479 + THREAD_PRIORITY_ABOVE_NORMAL = 1, 480 + THREAD_PRIORITY_HIGHEST = 2, 481 + THREAD_PRIORITY_TIME_CRITICAL = 15, 482 + THREAD_PRIORITY_ERROR_RETURN = 2147483647 483 +} 484 + 485 +enum : DWORD { 486 + TIME_ZONE_ID_UNKNOWN, 487 + TIME_ZONE_ID_STANDARD, 488 + TIME_ZONE_ID_DAYLIGHT, 489 + TIME_ZONE_ID_INVALID = 0xFFFFFFFF 490 +} 491 + 492 +const DWORD 493 + FS_CASE_SENSITIVE = 1, 494 + FS_CASE_IS_PRESERVED = 2, 495 + FS_UNICODE_STORED_ON_DISK = 4, 496 + FS_PERSISTENT_ACLS = 8, 497 + FS_FILE_COMPRESSION = 16, 498 + FS_VOL_IS_COMPRESSED = 32768; 499 + 500 +// Flags for GlobalAlloc 501 +const UINT 502 + GMEM_FIXED = 0, 503 + GMEM_MOVEABLE = 0x0002, 504 + GMEM_ZEROINIT = 0x0040, 505 + GPTR = 0x0040, 506 + GHND = 0x0042, 507 + GMEM_MODIFY = 0x0080, // used only for GlobalRealloc 508 + GMEM_VALID_FLAGS = 0x7F72; 509 + 510 +/+ // Obselete flags (Win16 only) 511 + GMEM_NOCOMPACT=16; 512 + GMEM_NODISCARD=32; 513 + GMEM_DISCARDABLE=256; 514 + GMEM_NOT_BANKED=4096; 515 + GMEM_LOWER=4096; 516 + GMEM_SHARE=8192; 517 + GMEM_DDESHARE=8192; 518 + 519 + GMEM_LOCKCOUNT=255; 520 + 521 +// for GlobalFlags() 522 + GMEM_DISCARDED = 16384; 523 + GMEM_INVALID_HANDLE = 32768; 524 + 525 + GMEM_NOTIFY = 16384; 526 ++/ 527 + 528 +const UINT 529 + LMEM_FIXED = 0, 530 + LMEM_MOVEABLE = 0x0002, 531 + LMEM_NONZEROLPTR = 0, 532 + NONZEROLPTR = 0, 533 + LMEM_NONZEROLHND = 0x0002, 534 + NONZEROLHND = 0x0002, 535 + LMEM_DISCARDABLE = 0x0F00, 536 + LMEM_NOCOMPACT = 0x0010, 537 + LMEM_NODISCARD = 0x0020, 538 + LMEM_ZEROINIT = 0x0040, 539 + LPTR = 0x0040, 540 + LHND = 0x0042, 541 + LMEM_MODIFY = 0x0080, 542 + LMEM_LOCKCOUNT = 0x00FF, 543 + LMEM_DISCARDED = 0x4000, 544 + LMEM_INVALID_HANDLE = 0x8000; 545 + 546 + 547 + 548 +// used in EXCEPTION_RECORD 549 +enum : DWORD { 550 + STATUS_WAIT_0 = 0, 551 + STATUS_ABANDONED_WAIT_0 = 0x00000080, 552 + STATUS_USER_APC = 0x000000C0, 553 + STATUS_TIMEOUT = 0x00000102, 554 + STATUS_PENDING = 0x00000103, 555 + 556 + STATUS_SEGMENT_NOTIFICATION = 0x40000005, 557 + STATUS_GUARD_PAGE_VIOLATION = 0x80000001, 558 + STATUS_DATATYPE_MISALIGNMENT = 0x80000002, 559 + STATUS_BREAKPOINT = 0x80000003, 560 + STATUS_SINGLE_STEP = 0x80000004, 561 + 562 + STATUS_ACCESS_VIOLATION = 0xC0000005, 563 + STATUS_IN_PAGE_ERROR = 0xC0000006, 564 + STATUS_INVALID_HANDLE = 0xC0000008, 565 + 566 + STATUS_NO_MEMORY = 0xC0000017, 567 + STATUS_ILLEGAL_INSTRUCTION = 0xC000001D, 568 + STATUS_NONCONTINUABLE_EXCEPTION = 0xC0000025, 569 + STATUS_INVALID_DISPOSITION = 0xC0000026, 570 + STATUS_ARRAY_BOUNDS_EXCEEDED = 0xC000008C, 571 + STATUS_FLOAT_DENORMAL_OPERAND = 0xC000008D, 572 + STATUS_FLOAT_DIVIDE_BY_ZERO = 0xC000008E, 573 + STATUS_FLOAT_INEXACT_RESULT = 0xC000008F, 574 + STATUS_FLOAT_INVALID_OPERATION = 0xC0000090, 575 + STATUS_FLOAT_OVERFLOW = 0xC0000091, 576 + STATUS_FLOAT_STACK_CHECK = 0xC0000092, 577 + STATUS_FLOAT_UNDERFLOW = 0xC0000093, 578 + STATUS_INTEGER_DIVIDE_BY_ZERO = 0xC0000094, 579 + STATUS_INTEGER_OVERFLOW = 0xC0000095, 580 + STATUS_PRIVILEGED_INSTRUCTION = 0xC0000096, 581 + STATUS_STACK_OVERFLOW = 0xC00000FD, 582 + STATUS_CONTROL_C_EXIT = 0xC000013A, 583 + STATUS_DLL_INIT_FAILED = 0xC0000142, 584 + STATUS_DLL_INIT_FAILED_LOGOFF = 0xC000026B, 585 + 586 + CONTROL_C_EXIT = STATUS_CONTROL_C_EXIT, 587 + 588 + EXCEPTION_ACCESS_VIOLATION = STATUS_ACCESS_VIOLATION, 589 + EXCEPTION_DATATYPE_MISALIGNMENT = STATUS_DATATYPE_MISALIGNMENT, 590 + EXCEPTION_BREAKPOINT = STATUS_BREAKPOINT, 591 + EXCEPTION_SINGLE_STEP = STATUS_SINGLE_STEP, 592 + EXCEPTION_ARRAY_BOUNDS_EXCEEDED = STATUS_ARRAY_BOUNDS_EXCEEDED, 593 + EXCEPTION_FLT_DENORMAL_OPERAND = STATUS_FLOAT_DENORMAL_OPERAND, 594 + EXCEPTION_FLT_DIVIDE_BY_ZERO = STATUS_FLOAT_DIVIDE_BY_ZERO, 595 + EXCEPTION_FLT_INEXACT_RESULT = STATUS_FLOAT_INEXACT_RESULT, 596 + EXCEPTION_FLT_INVALID_OPERATION = STATUS_FLOAT_INVALID_OPERATION, 597 + EXCEPTION_FLT_OVERFLOW = STATUS_FLOAT_OVERFLOW, 598 + EXCEPTION_FLT_STACK_CHECK = STATUS_FLOAT_STACK_CHECK, 599 + EXCEPTION_FLT_UNDERFLOW = STATUS_FLOAT_UNDERFLOW, 600 + EXCEPTION_INT_DIVIDE_BY_ZERO = STATUS_INTEGER_DIVIDE_BY_ZERO, 601 + EXCEPTION_INT_OVERFLOW = STATUS_INTEGER_OVERFLOW, 602 + EXCEPTION_PRIV_INSTRUCTION = STATUS_PRIVILEGED_INSTRUCTION, 603 + EXCEPTION_IN_PAGE_ERROR = STATUS_IN_PAGE_ERROR, 604 + EXCEPTION_ILLEGAL_INSTRUCTION = STATUS_ILLEGAL_INSTRUCTION, 605 + EXCEPTION_NONCONTINUABLE_EXCEPTION = STATUS_NONCONTINUABLE_EXCEPTION, 606 + EXCEPTION_STACK_OVERFLOW = STATUS_STACK_OVERFLOW, 607 + EXCEPTION_INVALID_DISPOSITION = STATUS_INVALID_DISPOSITION, 608 + EXCEPTION_GUARD_PAGE = STATUS_GUARD_PAGE_VIOLATION, 609 + EXCEPTION_INVALID_HANDLE = STATUS_INVALID_HANDLE 610 +} 611 + 612 +// for PROCESS_HEAP_ENTRY 613 +const WORD 614 + PROCESS_HEAP_REGION = 1, 615 + PROCESS_HEAP_UNCOMMITTED_RANGE = 2, 616 + PROCESS_HEAP_ENTRY_BUSY = 4, 617 + PROCESS_HEAP_ENTRY_MOVEABLE = 16, 618 + PROCESS_HEAP_ENTRY_DDESHARE = 32; 619 + 620 +// for LoadLibraryEx() 621 +const DWORD 622 + DONT_RESOLVE_DLL_REFERENCES = 0x01, // not for WinME and earlier 623 + LOAD_LIBRARY_AS_DATAFILE = 0x02, 624 + LOAD_WITH_ALTERED_SEARCH_PATH = 0x08, 625 + LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x10; // only for XP and later 626 + 627 +// for LockFile() 628 +const DWORD 629 + LOCKFILE_FAIL_IMMEDIATELY = 1, 630 + LOCKFILE_EXCLUSIVE_LOCK = 2; 631 + 632 +const MAXIMUM_WAIT_OBJECTS = 64; 633 +const MAXIMUM_SUSPEND_COUNT = 0x7F; 634 + 635 +const WAIT_OBJECT_0 = 0; 636 +const WAIT_ABANDONED_0 = 128; 637 + 638 +//const WAIT_TIMEOUT=258; // also in winerror.h 639 + 640 +enum : DWORD { 641 + WAIT_IO_COMPLETION = 0x000000C0, 642 + WAIT_ABANDONED = 0x00000080, 643 + WAIT_FAILED = 0xFFFFFFFF 644 +} 645 + 646 +// PurgeComm() 647 +const DWORD 648 + PURGE_TXABORT = 1, 649 + PURGE_RXABORT = 2, 650 + PURGE_TXCLEAR = 4, 651 + PURGE_RXCLEAR = 8; 652 + 653 +// ReadEventLog() 654 +const DWORD 655 + EVENTLOG_SEQUENTIAL_READ = 1, 656 + EVENTLOG_SEEK_READ = 2, 657 + EVENTLOG_FORWARDS_READ = 4, 658 + EVENTLOG_BACKWARDS_READ = 8; 659 + 660 +// ReportEvent() 661 +enum : WORD { 662 + EVENTLOG_SUCCESS = 0, 663 + EVENTLOG_ERROR_TYPE = 1, 664 + EVENTLOG_WARNING_TYPE = 2, 665 + EVENTLOG_INFORMATION_TYPE = 4, 666 + EVENTLOG_AUDIT_SUCCESS = 8, 667 + EVENTLOG_AUDIT_FAILURE = 16 668 +} 669 + 670 +// FormatMessage() 671 +const DWORD 672 + FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x0100, 673 + FORMAT_MESSAGE_IGNORE_INSERTS = 0x0200, 674 + FORMAT_MESSAGE_FROM_STRING = 0x0400, 675 + FORMAT_MESSAGE_FROM_HMODULE = 0x0800, 676 + FORMAT_MESSAGE_FROM_SYSTEM = 0x1000, 677 + FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x2000; 678 + 679 +const DWORD FORMAT_MESSAGE_MAX_WIDTH_MASK = 255; 680 + 681 +// also in ddk/ntapi.h 682 +// To restore default error mode, call SetErrorMode(0) 683 +enum { 684 + SEM_FAILCRITICALERRORS = 0x0001, 685 + SEM_NOGPFAULTERRORBOX = 0x0002, 686 + SEM_NOALIGNMENTFAULTEXCEPT = 0x0004, 687 + SEM_NOOPENFILEERRORBOX = 0x8000 688 +} 689 +// end ntapi.h 690 + 691 +enum { 692 + SLE_ERROR = 1, 693 + SLE_MINORERROR, 694 + SLE_WARNING 695 +} 696 + 697 +const SHUTDOWN_NORETRY = 1; 698 + 699 +// Return type for exception filters. 700 +enum : LONG { 701 + EXCEPTION_EXECUTE_HANDLER = 1, 702 + EXCEPTION_CONTINUE_EXECUTION = -1, 703 + EXCEPTION_CONTINUE_SEARCH = 0 704 +} 705 + 706 +enum : ATOM { 707 + MAXINTATOM = 0xC000, 708 + INVALID_ATOM = 0 709 +} 710 + 711 +const IGNORE = 0; 712 +const INFINITE = 0xFFFFFFFF; 713 + 714 +// EscapeCommFunction() 715 +enum { 716 + SETXOFF = 1, 717 + SETXON, 718 + SETRTS, 719 + CLRRTS, 720 + SETDTR, 721 + CLRDTR, // = 6 722 + SETBREAK = 8, 723 + CLRBREAK = 9 724 +} 725 + 726 + 727 +// for SetCommMask() 728 +const DWORD 729 + EV_RXCHAR = 0x0001, 730 + EV_RXFLAG = 0x0002, 731 + EV_TXEMPTY = 0x0004, 732 + EV_CTS = 0x0008, 733 + EV_DSR = 0x0010, 734 + EV_RLSD = 0x0020, 735 + EV_BREAK = 0x0040, 736 + EV_ERR = 0x0080, 737 + EV_RING = 0x0100, 738 + EV_PERR = 0x0200, 739 + EV_RX80FULL = 0x0400, 740 + EV_EVENT1 = 0x0800, 741 + EV_EVENT2 = 0x1000; 742 + 743 +// GetCommModemStatus() 744 +const DWORD 745 + MS_CTS_ON = 0x0010, 746 + MS_DSR_ON = 0x0020, 747 + MS_RING_ON = 0x0040, 748 + MS_RLSD_ON = 0x0080; 749 + 750 + 751 +// DCB 752 +enum : BYTE { 753 + NOPARITY = 0, 754 + ODDPARITY, 755 + EVENPARITY, 756 + MARKPARITY, 757 + SPACEPARITY 758 +} 759 +// DCB 760 +enum : BYTE { 761 + ONESTOPBIT = 0, 762 + ONE5STOPBITS, 763 + TWOSTOPBITS 764 +} 765 +// DCB 766 +enum : DWORD { 767 + CBR_110 = 110, 768 + CBR_300 = 300, 769 + CBR_600 = 600, 770 + CBR_1200 = 1200, 771 + CBR_2400 = 2400, 772 + CBR_4800 = 4800, 773 + CBR_9600 = 9600, 774 + CBR_14400 = 14400, 775 + CBR_19200 = 19200, 776 + CBR_38400 = 38400, 777 + CBR_56000 = 56000, 778 + CBR_57600 = 57600, 779 + CBR_115200 = 115200, 780 + CBR_128000 = 128000, 781 + CBR_256000 = 256000 782 +} 783 +// DCB, 2-bit bitfield 784 +enum { 785 + DTR_CONTROL_DISABLE = 0, 786 + DTR_CONTROL_ENABLE, 787 + DTR_CONTROL_HANDSHAKE 788 +} 789 + 790 +// DCB, 2-bit bitfield 791 +enum { 792 + RTS_CONTROL_DISABLE = 0, 793 + RTS_CONTROL_ENABLE, 794 + RTS_CONTROL_HANDSHAKE, 795 + RTS_CONTROL_TOGGLE, 796 +} 797 + 798 +// WIN32_STREAM_ID 799 +enum : DWORD { 800 + BACKUP_INVALID = 0, 801 + BACKUP_DATA, 802 + BACKUP_EA_DATA, 803 + BACKUP_SECURITY_DATA, 804 + BACKUP_ALTERNATE_DATA, 805 + BACKUP_LINK, 806 + BACKUP_PROPERTY_DATA, 807 + BACKUP_OBJECT_ID, 808 + BACKUP_REPARSE_DATA, 809 + BACKUP_SPARSE_BLOCK 810 +} 811 + 812 +// WIN32_STREAM_ID 813 +enum : DWORD { 814 + STREAM_NORMAL_ATTRIBUTE = 0, 815 + STREAM_MODIFIED_WHEN_READ = 1, 816 + STREAM_CONTAINS_SECURITY = 2, 817 + STREAM_CONTAINS_PROPERTIES = 4 818 +} 819 + 820 +// STARTUPINFO 821 +const DWORD 822 + STARTF_USESHOWWINDOW = 0x0001, 823 + STARTF_USESIZE = 0x0002, 824 + STARTF_USEPOSITION = 0x0004, 825 + STARTF_USECOUNTCHARS = 0x0008, 826 + STARTF_USEFILLATTRIBUTE = 0x0010, 827 + STARTF_RUNFULLSCREEN = 0x0020, 828 + STARTF_FORCEONFEEDBACK = 0x0040, 829 + STARTF_FORCEOFFFEEDBACK = 0x0080, 830 + STARTF_USESTDHANDLES = 0x0100, 831 + STARTF_USEHOTKEY = 0x0200; 832 + 833 +// ??? 834 +enum { 835 + TC_NORMAL = 0, 836 + TC_HARDERR = 1, 837 + TC_GP_TRAP = 2, 838 + TC_SIGNAL = 3 839 +} 840 + 841 +/+ These seem to be Windows CE-specific 842 +enum { 843 + AC_LINE_OFFLINE = 0, 844 + AC_LINE_ONLINE = 1, 845 + AC_LINE_BACKUP_POWER = 2, 846 + AC_LINE_UNKNOWN = 255 847 +} 848 + 849 +enum { 850 + BATTERY_FLAG_HIGH = 1, 851 + BATTERY_FLAG_LOW = 2, 852 + BATTERY_FLAG_CRITICAL = 4, 853 + BATTERY_FLAG_CHARGING = 8, 854 + BATTERY_FLAG_NO_BATTERY = 128, 855 + BATTERY_FLAG_UNKNOWN = 255, 856 + BATTERY_PERCENTAGE_UNKNOWN = 255, 857 + BATTERY_LIFE_UNKNOWN = 0xFFFFFFFF 858 +} 859 ++/ 860 + 993 861 // ??? 994 -// ??? 995 -// #else 996 -// ... 997 -// #endif 998 -// WinMain 999 - 1000 -extern(Windows) export BOOL FreeLibrary( 1001 - HMODULE hLibModule); 1002 - 1003 -extern(Windows) export VOID FreeLibraryAndExitThread( 1004 - HMODULE hLibModule, 1005 - DWORD dwExitCode); 1006 - 1007 -extern(Windows) export BOOL DisableThreadLibraryCalls( 1008 - HMODULE hLibModule); 1009 - 1010 -extern(Windows) export FARPROC GetProcAddress( 1011 - HMODULE hModule, 1012 - LPCSTR lpProcName); 1013 - 1014 -extern(Windows) export DWORD GetVersion(); 1015 - 1016 -extern(Windows) export HGLOBAL GlobalAlloc( 1017 - UINT uFlags, 1018 - SIZE_T dwBytes); 1019 - 1020 -extern(Windows) export HGLOBAL GlobalReAlloc( 1021 - HGLOBAL hMem, 1022 - SIZE_T dwBytes, 1023 - UINT uFlags); 1024 - 1025 -extern(Windows) export SIZE_T GlobalSize( 1026 - HGLOBAL hMem); 1027 - 1028 -extern(Windows) export UINT GlobalFlags( 1029 - HGLOBAL hMem); 1030 - 1031 -extern(Windows) export LPVOID GlobalLock( 1032 - HGLOBAL hMem); 1033 - 1034 -extern(Windows) export HGLOBAL GlobalHandle( 1035 - LPCVOID pMem); 1036 - 1037 -extern(Windows) export BOOL GlobalUnlock( 1038 - HGLOBAL hMem); 1039 - 1040 -extern(Windows) export HGLOBAL GlobalFree( 1041 - HGLOBAL hMem); 1042 - 1043 -extern(Windows) export SIZE_T GlobalCompact( 1044 - DWORD dwMinFree); 1045 - 1046 -extern(Windows) export VOID GlobalFix( 1047 - HGLOBAL hMem); 1048 - 1049 -extern(Windows) export VOID GlobalUnfix( 1050 - HGLOBAL hMem); 1051 - 1052 -extern(Windows) export LPVOID GlobalWire( 1053 - HGLOBAL hMem); 1054 - 1055 -extern(Windows) export BOOL GlobalUnWire( 1056 - HGLOBAL hMem); 1057 - 1058 -extern(Windows) export VOID GlobalMemoryStatus( 1059 - LPMEMORYSTATUS lpBuffer); 1060 - 1061 -struct _MEMORYSTATUSEX { 1062 - DWORD dwLength; 1063 - DWORD dwMemoryLoad; 1064 - DWORDLONG ullTotalPhys; 1065 - DWORDLONG ullAvailPhys; 1066 - DWORDLONG ullTotalPageFile; 1067 - DWORDLONG ullAvailPageFile; 1068 - DWORDLONG ullTotalVirtual; 1069 - DWORDLONG ullAvailVirtual; 1070 - DWORDLONG ullAvailExtendedVirtual; 1071 -} 1072 -alias _MEMORYSTATUSEX MEMORYSTATUSEX; 1073 -alias _MEMORYSTATUSEX* LPMEMORYSTATUSEX; 1074 - 1075 -extern(Windows) export BOOL GlobalMemoryStatusEx( 1076 - LPMEMORYSTATUSEX lpBuffer); 1077 - 1078 -extern(Windows) export HLOCAL LocalAlloc( 1079 - UINT uFlags, 1080 - SIZE_T uBytes); 1081 - 1082 -extern(Windows) export HLOCAL LocalReAlloc( 1083 - HLOCAL hMem, 1084 - SIZE_T uBytes, 1085 - UINT uFlags); 1086 - 1087 -extern(Windows) export LPVOID LocalLock( 1088 - HLOCAL hMem); 1089 - 1090 -extern(Windows) export HLOCAL LocalHandle( 1091 - LPCVOID pMem); 1092 - 1093 -extern(Windows) export BOOL LocalUnlock( 1094 - HLOCAL hMem); 1095 - 1096 -extern(Windows) export SIZE_T LocalSize( 1097 - HLOCAL hMem); 1098 - 1099 -extern(Windows) export UINT LocalFlags( 1100 - HLOCAL hMem); 1101 - 1102 -extern(Windows) export HLOCAL LocalFree( 1103 - HLOCAL hMem); 1104 - 1105 -extern(Windows) export SIZE_T LocalShrink( 1106 - HLOCAL hMem, 1107 - UINT cbNewSize); 1108 - 1109 -extern(Windows) export SIZE_T LocalCompact( 1110 - UINT uMinFree); 1111 - 1112 -extern(Windows) export BOOL FlushInstructionCache( 1113 - HANDLE hProcess, 1114 - LPCVOID lpBaseAddress, 1115 - SIZE_T dwSize); 1116 - 1117 -extern(Windows) export LPVOID VirtualAlloc( 1118 - LPVOID lpAddress, 1119 - SIZE_T dwSize, 1120 - DWORD flAllocationType, 1121 - DWORD flProtect); 1122 - 1123 -extern(Windows) export BOOL VirtualFree( 1124 - LPVOID lpAddress, 1125 - SIZE_T dwSize, 1126 - DWORD dwFreeType); 1127 - 1128 -extern(Windows) export BOOL VirtualProtect( 1129 - LPVOID lpAddress, 1130 - SIZE_T dwSize, 1131 - DWORD flNewProtect, 1132 - PDWORD lpflOldProtect); 1133 - 1134 -extern(Windows) export SIZE_T VirtualQuery( 1135 - LPCVOID lpAddress, 1136 - PMEMORY_BASIC_INFORMATION lpBuffer, 1137 - SIZE_T dwLength); 1138 - 1139 -extern(Windows) export LPVOID VirtualAllocEx( 1140 - HANDLE hProcess, 1141 - LPVOID lpAddress, 1142 - SIZE_T dwSize, 1143 - DWORD flAllocationType, 1144 - DWORD flProtect); 1145 - 1146 -extern(Windows) export UINT GetWriteWatch( 1147 - DWORD dwFlags, 1148 - PVOID lpBaseAddress, 1149 - SIZE_T dwRegionSize, 1150 - PVOID *lpAddresses, 1151 - PULONG_PTR lpdwCount, 1152 - PULONG lpdwGranularity); 1153 - 1154 -extern(Windows) export UINT ResetWriteWatch( 1155 - LPVOID lpBaseAddress, 1156 - SIZE_T dwRegionSize); 1157 - 1158 -extern(Windows) export BOOL VirtualFreeEx( 1159 - HANDLE hProcess, 1160 - LPVOID lpAddress, 1161 - SIZE_T dwSize, 1162 - DWORD dwFreeType); 1163 - 1164 -extern(Windows) export BOOL VirtualProtectEx( 1165 - HANDLE hProcess, 1166 - LPVOID lpAddress, 1167 - SIZE_T dwSize, 1168 - DWORD flNewProtect, 1169 - PDWORD lpflOldProtect); 1170 - 1171 -extern(Windows) export SIZE_T VirtualQueryEx( 1172 - HANDLE hProcess, 1173 - LPCVOID lpAddress, 1174 - PMEMORY_BASIC_INFORMATION lpBuffer, 1175 - SIZE_T dwLength); 1176 - 1177 -extern(Windows) export HANDLE HeapCreate( 1178 - DWORD flOptions, 1179 - SIZE_T dwInitialSize, 1180 - SIZE_T dwMaximumSize); 1181 - 1182 -extern(Windows) export BOOL HeapDestroy( 1183 - HANDLE hHeap); 1184 - 1185 -extern(Windows) export LPVOID HeapAlloc( 1186 - HANDLE hHeap, 1187 - DWORD dwFlags, 1188 - SIZE_T dwBytes); 1189 - 1190 -extern(Windows) export LPVOID HeapReAlloc( 1191 - HANDLE hHeap, 1192 - DWORD dwFlags, 1193 - LPVOID lpMem, 1194 - SIZE_T dwBytes); 1195 - 1196 -extern(Windows) export BOOL HeapFree( 1197 - HANDLE hHeap, 1198 - DWORD dwFlags, 1199 - LPVOID lpMem); 1200 - 1201 -extern(Windows) export SIZE_T HeapSize( 1202 - HANDLE hHeap, 1203 - DWORD dwFlags, 1204 - LPCVOID lpMem); 1205 - 1206 -extern(Windows) export BOOL HeapValidate( 1207 - HANDLE hHeap, 1208 - DWORD dwFlags, 1209 - LPCVOID lpMem); 1210 - 1211 -extern(Windows) export SIZE_T HeapCompact( 1212 - HANDLE hHeap, 1213 - DWORD dwFlags); 1214 - 1215 -extern(Windows) export HANDLE GetProcessHeap(); 1216 - 1217 -extern(Windows) export DWORD GetProcessHeaps( 1218 - DWORD NumberOfHeaps, 1219 - PHANDLE ProcessHeaps); 1220 - 1221 -struct _PROCESS_HEAP_ENTRY { 1222 - PVOID lpData; 1223 - DWORD cbData; 1224 - BYTE cbOverhead; 1225 - BYTE iRegionIndex; 1226 - WORD wFlags; 1227 -union { 1228 -struct { 1229 - HANDLE hMem; 1230 - DWORD dwReserved[ 3 ]; 1231 -} 1232 - 1233 -struct { 1234 - DWORD dwCommittedSize; 1235 - DWORD dwUnCommittedSize; 1236 - LPVOID lpFirstBlock; 1237 - LPVOID lpLastBlock; 1238 -} 1239 - 1240 -} 1241 - 1242 -} 1243 -alias _PROCESS_HEAP_ENTRY PROCESS_HEAP_ENTRY; 1244 -alias _PROCESS_HEAP_ENTRY* LPPROCESS_HEAP_ENTRY; 1245 -alias _PROCESS_HEAP_ENTRY* PPROCESS_HEAP_ENTRY; 1246 - 1247 -enum : uint { PROCESS_HEAP_REGION = 0x0001 } 1248 -enum : uint { PROCESS_HEAP_UNCOMMITTED_RANGE = 0x0002 } 1249 -enum : uint { PROCESS_HEAP_ENTRY_BUSY = 0x0004 } 1250 -enum : uint { PROCESS_HEAP_ENTRY_MOVEABLE = 0x0010 } 1251 -enum : uint { PROCESS_HEAP_ENTRY_DDESHARE = 0x0020 } 1252 - 1253 -extern(Windows) export BOOL HeapLock( 1254 - HANDLE hHeap); 1255 - 1256 -extern(Windows) export BOOL HeapUnlock( 1257 - HANDLE hHeap); 1258 - 1259 -extern(Windows) export BOOL HeapWalk( 1260 - HANDLE hHeap, 1261 - LPPROCESS_HEAP_ENTRY lpEntry); 1262 - 1263 -extern(Windows) export BOOL HeapSetInformation( 1264 - PVOID HeapHandle, 1265 - HEAP_INFORMATION_CLASS HeapInformationClass, 1266 - PVOID HeapInformation , 1267 - SIZE_T HeapInformationLength ); 1268 - 1269 -extern(Windows) export BOOL HeapQueryInformation( 1270 - PVOID HeapHandle, 1271 - HEAP_INFORMATION_CLASS HeapInformationClass, 1272 - PVOID HeapInformation , 1273 - SIZE_T HeapInformationLength , 1274 - PSIZE_T ReturnLength ); 1275 - 1276 -enum : uint { SCS_32BIT_BINARY = 0 } 1277 -enum : uint { SCS_DOS_BINARY = 1 } 1278 -enum : uint { SCS_WOW_BINARY = 2 } 1279 -enum : uint { SCS_PIF_BINARY = 3 } 1280 -enum : uint { SCS_POSIX_BINARY = 4 } 1281 -enum : uint { SCS_OS216_BINARY = 5 } 1282 -enum : uint { SCS_64BIT_BINARY = 6 } 1283 - 1284 -// #if defined(_WIN64) 1285 -// #... 862 +const HINSTANCE_ERROR = 32; 863 + 864 +// returned from GetFileSize() 865 +const DWORD INVALID_FILE_SIZE = 0xFFFFFFFF; 866 + 867 +const DWORD TLS_OUT_OF_INDEXES = 0xFFFFFFFF; 868 + 869 +// GetWriteWatch() 870 +const DWORD WRITE_WATCH_FLAG_RESET = 1; 871 + 872 +static if (_WIN32_WINNT_ONLY) { 873 + // for LogonUser() 874 + enum : DWORD { 875 + LOGON32_LOGON_INTERACTIVE = 2, 876 + LOGON32_LOGON_NETWORK = 3, 877 + LOGON32_LOGON_BATCH = 4, 878 + LOGON32_LOGON_SERVICE = 5, 879 + LOGON32_LOGON_UNLOCK = 7 880 + } 881 + 882 + // for LogonUser() 883 + enum : DWORD { 884 + LOGON32_PROVIDER_DEFAULT, 885 + LOGON32_PROVIDER_WINNT35, 886 + LOGON32_PROVIDER_WINNT40, 887 + LOGON32_PROVIDER_WINNT50 888 + } 889 + 890 + // for MoveFileEx() 891 + const DWORD 892 + MOVEFILE_REPLACE_EXISTING = 1, 893 + MOVEFILE_COPY_ALLOWED = 2, 894 + MOVEFILE_DELAY_UNTIL_REBOOT = 4, 895 + MOVEFILE_WRITE_THROUGH = 8; 896 + 897 + // DefineDosDevice() 898 + const DWORD 899 + DDD_RAW_TARGET_PATH = 1, 900 + DDD_REMOVE_DEFINITION = 2, 901 + DDD_EXACT_MATCH_ON_REMOVE = 4; 902 + 903 + static if (_WIN32_WINNT >= 0x500) { 904 + enum : DWORD { 905 + LOGON32_LOGON_NETWORK_CLEARTEXT = 8, 906 + LOGON32_LOGON_NEW_CREDENTIALS = 9 907 + } 908 + 909 + // ReplaceFile() 910 + const DWORD 911 + REPLACEFILE_WRITE_THROUGH = 1, 912 + REPLACEFILE_IGNORE_MERGE_ERRORS = 2; 913 + } 914 + 915 + static if (_WIN32_WINNT >= 0x501) { 916 + const DWORD 917 + GET_MODULE_HANDLE_EX_FLAG_PIN = 1, 918 + GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 2, 919 + GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 4; 920 + 921 + // for ACTCTX 922 + const DWORD 923 + ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x01, 924 + ACTCTX_FLAG_LANGID_VALID = 0x02, 925 + ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x04, 926 + ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x08, 927 + ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x10, 928 + ACTCTX_FLAG_APPLICATION_NAME_VALID = 0x20, 929 + ACTCTX_FLAG_HMODULE_VALID = 0x80; 930 + 931 + // DeactivateActCtx() 932 + const DWORD DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 1; 933 + // FindActCtxSectionString() 934 + const DWORD FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX = 1; 935 + // QueryActCtxW() 936 + const DWORD 937 + QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX = 0x04, 938 + QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE = 0x08, 939 + QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS = 0x10; 940 + 941 + enum { 942 + LOGON_WITH_PROFILE = 1, 943 + LOGON_NETCREDENTIALS_ONLY 944 + } 945 + } 946 +} 947 + 948 +// ---- 949 + 950 +struct FILETIME { 951 + DWORD dwLowDateTime; 952 + DWORD dwHighDateTime; 953 +} 954 +alias FILETIME* PFILETIME, LPFILETIME; 955 + 956 +struct BY_HANDLE_FILE_INFORMATION { 957 + DWORD dwFileAttributes; 958 + FILETIME ftCreationTime; 959 + FILETIME ftLastAccessTime; 960 + FILETIME ftLastWriteTime; 961 + DWORD dwVolumeSerialNumber; 962 + DWORD nFileSizeHigh; 963 + DWORD nFileSizeLow; 964 + DWORD nNumberOfLinks; 965 + DWORD nFileIndexHigh; 966 + DWORD nFileIndexLow; 967 +} 968 +alias BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION; 969 + 970 +struct DCB { 971 + DWORD DCBlength = DCB.sizeof; 972 + DWORD BaudRate; 973 +/+ 974 + DWORD fBinary:1; // Binary Mode (skip EOF check) 975 + DWORD fParity:1; // Enable parity checking 976 + DWORD fOutxCtsFlow:1; // CTS handshaking on output 977 + DWORD fOutxDsrFlow:1; // DSR handshaking on output 978 + DWORD fDtrControl:2; // DTR Flow control 979 + DWORD fDsrSensitivity:1; // DSR Sensitivity 980 + DWORD fTXContinueOnXoff:1; // Continue TX when Xoff sent 981 + DWORD fOutX:1; // Enable output X-ON/X-OFF 982 + DWORD fInX:1; // Enable input X-ON/X-OFF 983 + DWORD fErrorChar:1; // Enable Err Replacement 984 + DWORD fNull:1; // Enable Null stripping 985 + DWORD fRtsControl:2; // Rts Flow control 986 + DWORD fAbortOnError:1; // Abort all reads and writes on Error 987 + DWORD fDummy2:17; // Reserved 988 ++/ 989 + uint _bf; 990 + bool fBinary(bool f) { _bf = (_bf & ~0x0001) | f; return f; } 991 + bool fParity(bool f) { _bf = (_bf & ~0x0002) | (f<<1); return f; } 992 + bool fOutxCtsFlow(bool f) { _bf = (_bf & ~0x0004) | (f<<2); return f; } 993 + bool fOutxDsrFlow(bool f) { _bf = (_bf & ~0x0008) | (f<<3); return f; } 994 + byte fDtrControl(byte x) { _bf = (_bf & ~0x0030) | (x<<4); return cast(byte)(x & 3); } 995 + bool fDsrSensitivity(bool f) { _bf = (_bf & ~0x0040) | (f<<6); return f; } 996 + bool fTXContinueOnXoff(bool f) { _bf = (_bf & ~0x0080) | (f<<7); return f; } 997 + bool fOutX(bool f) { _bf = (_bf & ~0x0100) | (f<<8); return f; } 998 + bool fInX(bool f) { _bf = (_bf & ~0x0200) | (f<<9); return f; } 999 + bool fErrorChar(bool f) { _bf = (_bf & ~0x0400) | (f<<10); return f; } 1000 + bool fNull(bool f) { _bf = (_bf & ~0x0800) | (f<<11); return f; } 1001 + byte fRtsControl(byte x) { _bf = (_bf & ~0x3000) | (x<<12); return cast(byte)(x & 3); } 1002 + bool fAbortOnError(bool f) { _bf = (_bf & ~0x4000) | (f<<14); return f; } 1003 + 1004 + bool fBinary() { return cast(bool) (_bf & 1); } 1005 + bool fParity() { return cast(bool) (_bf & 2); } 1006 + bool fOutxCtsFlow() { return cast(bool) (_bf & 4); } 1007 + bool fOutxDsrFlow() { return cast(bool) (_bf & 8); } 1008 + byte fDtrControl() { return cast(byte) ((_bf & (32+16))>>4); } 1009 + bool fDsrSensitivity() { return cast(bool) (_bf & 64); } 1010 + bool fTXContinueOnXoff() { return cast(bool) (_bf & 128); } 1011 + bool fOutX() { return cast(bool) (_bf & 256); } 1012 + bool fInX() { return cast(bool) (_bf & 512); } 1013 + bool fErrorChar() { return cast(bool) (_bf & 1024); } 1014 + bool fNull() { return cast(bool) (_bf & 2048); } 1015 + byte fRtsControl() { return cast(byte) ((_bf & (4096+8192))>>12); } 1016 + bool fAbortOnError() { return cast(bool) (_bf & 16384); } 1017 + 1018 + WORD wReserved; 1019 + WORD XonLim; 1020 + WORD XoffLim; 1021 + BYTE ByteSize; 1022 + BYTE Parity; 1023 + BYTE StopBits; 1024 + char XonChar; 1025 + char XoffChar; 1026 + char ErrorChar; 1027 + char EofChar; 1028 + char EvtChar; 1029 + WORD wReserved1; 1030 +} 1031 +alias DCB* LPDCB; 1032 + 1033 +struct COMMCONFIG { 1034 + DWORD dwSize = COMMCONFIG.sizeof; 1035 + WORD wVersion; 1036 + WORD wReserved; 1037 + DCB dcb; 1038 + DWORD dwProviderSubType; 1039 + DWORD dwProviderOffset; 1040 + DWORD dwProviderSize; 1041 + WCHAR _wcProviderData; 1042 + 1043 + WCHAR* wcProviderData() { return &_wcProviderData; } 1044 +} 1045 +alias COMMCONFIG* LPCOMMCONFIG; 1046 + 1047 +struct COMMTIMEOUTS { 1048 + DWORD ReadIntervalTimeout; 1049 + DWORD ReadTotalTimeoutMultiplier; 1050 + DWORD ReadTotalTimeoutConstant; 1051 + DWORD WriteTotalTimeoutMultiplier; 1052 + DWORD WriteTotalTimeoutConstant; 1053 +} 1054 +alias COMMTIMEOUTS* LPCOMMTIMEOUTS; 1055 + 1056 +struct COMSTAT { 1057 +/+ 1058 + DWORD fCtsHold:1; 1059 + DWORD fDsrHold:1; 1060 + DWORD fRlsdHold:1; 1061 + DWORD fXoffHold:1; 1062 + DWORD fXoffSent:1; 1063 + DWORD fEof:1; 1064 + DWORD fTxim:1; 1065 + DWORD fReserved:25; 1066 ++/ 1067 + DWORD _bf; 1068 + bool fCtsHold(bool f) { _bf = (_bf & ~1) | f; return f; } 1069 + bool fDsrHold(bool f) { _bf = (_bf & ~2) | (f<<1); return f; } 1070 + bool fRlsdHold(bool f) { _bf = (_bf & ~4) | (f<<2); return f; } 1071 + bool fXoffHold(bool f) { _bf = (_bf & ~8) | (f<<3); return f; } 1072 + bool fXoffSent(bool f) { _bf = (_bf & ~16) | (f<<4); return f; } 1073 + bool fEof(bool f) { _bf = (_bf & ~32) | (f<<5); return f; } 1074 + bool fTxim(bool f) { _bf = (_bf & ~64) | (f<<6); return f; } 1075 + 1076 + bool fCtsHold() { return cast(bool) (_bf & 1); } 1077 + bool fDsrHold() { return cast(bool) (_bf & 2); } 1078 + bool fRlsdHold() { return cast(bool) (_bf & 4); } 1079 + bool fXoffHold() { return cast(bool) (_bf & 8); } 1080 + bool fXoffSent() { return cast(bool) (_bf & 16); } 1081 + bool fEof() { return cast(bool) (_bf & 32); } 1082 + bool fTxim() { return cast(bool) (_bf & 64); } 1083 + 1084 + DWORD cbInQue; 1085 + DWORD cbOutQue; 1086 +} 1087 +alias COMSTAT* LPCOMSTAT; 1088 + 1089 +struct CREATE_PROCESS_DEBUG_INFO { 1090 + HANDLE hFile; 1091 + HANDLE hProcess; 1092 + HANDLE hThread; 1093 + LPVOID lpBaseOfImage; 1094 + DWORD dwDebugInfoFileOffset; 1095 + DWORD nDebugInfoSize; 1096 + LPVOID lpThreadLocalBase; 1097 + LPTHREAD_START_ROUTINE lpStartAddress; 1098 + LPVOID lpImageName; 1099 + WORD fUnicode; 1100 +} 1101 +alias CREATE_PROCESS_DEBUG_INFO* LPCREATE_PROCESS_DEBUG_INFO; 1102 + 1103 +struct CREATE_THREAD_DEBUG_INFO { 1104 + HANDLE hThread; 1105 + LPVOID lpThreadLocalBase; 1106 + LPTHREAD_START_ROUTINE lpStartAddress; 1107 +} 1108 +alias CREATE_THREAD_DEBUG_INFO* LPCREATE_THREAD_DEBUG_INFO; 1109 + 1110 +struct EXCEPTION_DEBUG_INFO { 1111 + EXCEPTION_RECORD ExceptionRecord; 1112 + DWORD dwFirstChance; 1113 +} 1114 +alias EXCEPTION_DEBUG_INFO* LPEXCEPTION_DEBUG_INFO; 1115 + 1116 +struct EXIT_THREAD_DEBUG_INFO { 1117 + DWORD dwExitCode; 1118 +} 1119 +alias EXIT_THREAD_DEBUG_INFO* LPEXIT_THREAD_DEBUG_INFO; 1120 + 1121 +struct EXIT_PROCESS_DEBUG_INFO { 1122 + DWORD dwExitCode; 1123 +} 1124 +alias EXIT_PROCESS_DEBUG_INFO* LPEXIT_PROCESS_DEBUG_INFO; 1125 + 1126 +struct LOAD_DLL_DEBUG_INFO { 1127 + HANDLE hFile; 1128 + LPVOID lpBaseOfDll; 1129 + DWORD dwDebugInfoFileOffset; 1130 + DWORD nDebugInfoSize; 1131 + LPVOID lpImageName; 1132 + WORD fUnicode; 1133 +} 1134 +alias LOAD_DLL_DEBUG_INFO* LPLOAD_DLL_DEBUG_INFO; 1135 + 1136 +struct UNLOAD_DLL_DEBUG_INFO { 1137 + LPVOID lpBaseOfDll; 1138 +} 1139 +alias UNLOAD_DLL_DEBUG_INFO* LPUNLOAD_DLL_DEBUG_INFO; 1140 + 1141 +struct OUTPUT_DEBUG_STRING_INFO { 1142 + LPSTR lpDebugStringData; 1143 + WORD fUnicode; 1144 + WORD nDebugStringLength; 1145 +} 1146 +alias OUTPUT_DEBUG_STRING_INFO* LPOUTPUT_DEBUG_STRING_INFO; 1147 + 1148 +struct RIP_INFO { 1149 + DWORD dwError; 1150 + DWORD dwType; 1151 +} 1152 +alias RIP_INFO* LPRIP_INFO; 1153 + 1154 +struct DEBUG_EVENT { 1155 + DWORD dwDebugEventCode; 1156 + DWORD dwProcessId; 1157 + DWORD dwThreadId; 1158 + union { 1159 + EXCEPTION_DEBUG_INFO Exception; 1160 + CREATE_THREAD_DEBUG_INFO CreateThread; 1161 + CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; 1162 + EXIT_THREAD_DEBUG_INFO ExitThread; 1163 + EXIT_PROCESS_DEBUG_INFO ExitProcess; 1164 + LOAD_DLL_DEBUG_INFO LoadDll; 1165 + UNLOAD_DLL_DEBUG_INFO UnloadDll; 1166 + OUTPUT_DEBUG_STRING_INFO DebugString; 1167 + RIP_INFO RipInfo; 1168 + } 1169 +} 1170 +alias DEBUG_EVENT* LPDEBUG_EVENT; 1171 + 1172 +struct OVERLAPPED { 1173 + ULONG_PTR Internal; 1174 + ULONG_PTR InternalHigh; 1175 + union { 1176 + struct { 1177 + DWORD Offset; 1178 + DWORD OffsetHigh; 1179 + } 1180 + PVOID Pointer; 1181 + } 1182 + HANDLE hEvent; 1183 +} 1184 +alias OVERLAPPED* POVERLAPPED, LPOVERLAPPED; 1185 + 1186 +struct STARTUPINFOA { 1187 + DWORD cb = STARTUPINFOA.sizeof; 1188 + LPSTR lpReserved; 1189 + LPSTR lpDesktop; 1190 + LPSTR lpTitle; 1191 + DWORD dwX; 1192 + DWORD dwY; 1193 + DWORD dwXSize; 1194 + DWORD dwYSize; 1195 + DWORD dwXCountChars; 1196 + DWORD dwYCountChars; 1197 + DWORD dwFillAttribute; 1198 + DWORD dwFlags; 1199 + WORD wShowWindow; 1200 + WORD cbReserved2; 1201 + PBYTE lpReserved2; 1202 + HANDLE hStdInput; 1203 + HANDLE hStdOutput; 1204 + HANDLE hStdError; 1205 +} 1206 +alias STARTUPINFOA* LPSTARTUPINFOA; 1207 + 1208 +struct STARTUPINFOW { 1209 + DWORD cb = STARTUPINFOW.sizeof; 1210 + LPWSTR lpReserved; 1211 + LPWSTR lpDesktop; 1212 + LPWSTR lpTitle; 1213 + DWORD dwX; 1214 + DWORD dwY; 1215 + DWORD dwXSize; 1216 + DWORD dwYSize; 1217 + DWORD dwXCountChars; 1218 + DWORD dwYCountChars; 1219 + DWORD dwFillAttribute; 1220 + DWORD dwFlags; 1221 + WORD wShowWindow; 1222 + WORD cbReserved2; 1223 + PBYTE lpReserved2; 1224 + HANDLE hStdInput; 1225 + HANDLE hStdOutput; 1226 + HANDLE hStdError; 1227 +} 1228 +alias STARTUPINFOW* LPSTARTUPINFOW; 1229 + 1230 +struct PROCESS_INFORMATION { 1231 + HANDLE hProcess; 1232 + HANDLE hThread; 1233 + DWORD dwProcessId; 1234 + DWORD dwThreadId; 1235 +} 1236 +alias PROCESS_INFORMATION* PPROCESS_INFORMATION, LPPROCESS_INFORMATION; 1237 + 1238 +struct CRITICAL_SECTION_DEBUG { 1239 + WORD Type; 1240 + WORD CreatorBackTraceIndex; 1241 + CRITICAL_SECTION* CriticalSection; 1242 + LIST_ENTRY ProcessLocksList; 1243 + DWORD EntryCount; 1244 + DWORD ContentionCount; 1245 + DWORD[2] Spare; 1246 +} 1247 +alias CRITICAL_SECTION_DEBUG* PCRITICAL_SECTION_DEBUG; 1248 + 1249 +struct CRITICAL_SECTION { 1250 + PCRITICAL_SECTION_DEBUG DebugInfo; 1251 + LONG LockCount; 1252 + LONG RecursionCount; 1253 + HANDLE OwningThread; 1254 + HANDLE LockSemaphore; 1255 + DWORD SpinCount; 1256 +} 1257 +alias CRITICAL_SECTION* PCRITICAL_SECTION, LPCRITICAL_SECTION; 1258 + 1259 +struct SYSTEMTIME { 1260 + WORD wYear; 1261 + WORD wMonth; 1262 + WORD wDayOfWeek; 1263 + WORD wDay; 1264 + WORD wHour; 1265 + WORD wMinute; 1266 + WORD wSecond; 1267 + WORD wMilliseconds; 1268 +} 1269 +alias SYSTEMTIME* LPSYSTEMTIME; 1270 + 1271 +static if (_WIN32_WINDOWS >= 0x410) { 1272 + struct WIN32_FILE_ATTRIBUTE_DATA { 1273 + DWORD dwFileAttributes; 1274 + FILETIME ftCreationTime; 1275 + FILETIME ftLastAccessTime; 1276 + FILETIME ftLastWriteTime; 1277 + DWORD nFileSizeHigh; 1278 + DWORD nFileSizeLow; 1279 + } 1280 + alias WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA; 1281 +} 1282 + 1283 +struct WIN32_FIND_DATAA { 1284 + DWORD dwFileAttributes; 1285 + FILETIME ftCreationTime; 1286 + FILETIME ftLastAccessTime; 1287 + FILETIME ftLastWriteTime; 1288 + DWORD nFileSizeHigh; 1289 + DWORD nFileSizeLow; 1290 +// #ifdef _WIN32_WCE 1291 +// DWORD dwOID; 1286 1292 // #else 1287 -alias SCS_32BIT_BINARY SCS_THIS_PLATFORM_BINARY; 1293 + DWORD dwReserved0; 1294 + DWORD dwReserved1; 1295 +// #endif 1296 + CHAR[MAX_PATH] cFileName; 1297 +// #ifndef _WIN32_WCE 1298 + CHAR[14] cAlternateFileName; 1288 1299 // #endif 1289 - 1290 -extern(Windows) export BOOL GetBinaryTypeA( 1291 - LPCSTR lpApplicationName, 1292 - LPDWORD lpBinaryType); 1293 -extern(Windows) export BOOL GetBinaryTypeW( 1294 - LPCWSTR lpApplicationName, 1295 - LPDWORD lpBinaryType); 1296 -// #ifdef UNICODE 1297 -alias GetBinaryTypeW GetBinaryType; 1298 -// #else 1299 -// #... 1300 -// #endif // !UNICODE 1301 - 1302 -extern(Windows) export DWORD GetShortPathNameA( 1303 - LPCSTR lpszLongPath, 1304 - LPSTR lpszShortPath, 1305 - DWORD cchBuffer); 1306 -extern(Windows) export DWORD GetShortPathNameW( 1307 - LPCWSTR lpszLongPath, 1308 - LPWSTR lpszShortPath, 1309 - DWORD cchBuffer); 1310 -// #ifdef UNICODE 1311 -alias GetShortPathNameW GetShortPathName; 1312 -// #else 1313 -// #... 1314 -// #endif // !UNICODE 1315 - 1316 -extern(Windows) export DWORD GetLongPathNameA( 1317 - LPCSTR lpszShortPath, 1318 - LPSTR lpszLongPath, 1319 - DWORD cchBuffer); 1320 -extern(Windows) export DWORD GetLongPathNameW( 1321 - LPCWSTR lpszShortPath, 1322 - LPWSTR lpszLongPath, 1323 - DWORD cchBuffer); 1324 -// #ifdef UNICODE 1325 -alias GetLongPathNameW GetLongPathName; 1326 -// #else 1327 -// #... 1328 -// #endif // !UNICODE 1329 - 1330 -extern(Windows) export BOOL GetProcessAffinityMask( 1331 - HANDLE hProcess, 1332 - PDWORD_PTR lpProcessAffinityMask, 1333 - PDWORD_PTR lpSystemAffinityMask); 1334 - 1335 -extern(Windows) export BOOL SetProcessAffinityMask( 1336 - HANDLE hProcess, 1337 - DWORD_PTR dwProcessAffinityMask); 1338 - 1339 -extern(Windows) export BOOL GetProcessTimes( 1340 - HANDLE hProcess, 1341 - LPFILETIME lpCreationTime, 1342 - LPFILETIME lpExitTime, 1343 - LPFILETIME lpKernelTime, 1344 - LPFILETIME lpUserTime); 1345 - 1346 -extern(Windows) export BOOL GetProcessIoCounters( 1347 - HANDLE hProcess, 1348 - PIO_COUNTERS lpIoCounters); 1349 - 1350 -extern(Windows) export BOOL GetProcessWorkingSetSize( 1351 - HANDLE hProcess, 1352 - PSIZE_T lpMinimumWorkingSetSize, 1353 - PSIZE_T lpMaximumWorkingSetSize); 1354 - 1355 -extern(Windows) export BOOL SetProcessWorkingSetSize( 1356 - HANDLE hProcess, 1357 - SIZE_T dwMinimumWorkingSetSize, 1358 - SIZE_T dwMaximumWorkingSetSize); 1359 - 1360 -extern(Windows) export HANDLE OpenProcess( 1361 - DWORD dwDesiredAccess, 1362 - BOOL bInheritHandle, 1363 - DWORD dwProcessId); 1364 - 1365 -extern(Windows) export HANDLE GetCurrentProcess(); 1366 - 1367 -extern(Windows) export DWORD GetCurrentProcessId(); 1368 - 1369 -extern(Windows) export VOID ExitProcess( 1370 - UINT uExitCode); 1371 - 1372 -extern(Windows) export BOOL TerminateProcess( 1373 - HANDLE hProcess, 1374 - UINT uExitCode); 1375 - 1376 -extern(Windows) export BOOL GetExitCodeProcess( 1377 - HANDLE hProcess, 1378 - LPDWORD lpExitCode); 1379 - 1380 -extern(Windows) export VOID FatalExit( 1381 - int ExitCode); 1382 - 1383 -extern(Windows) export LPSTR GetEnvironmentStrings(); 1384 - 1385 -extern(Windows) export LPWSTR GetEnvironmentStringsW(); 1386 - 1387 -// #ifdef UNICODE 1388 -alias GetEnvironmentStringsW GetEnvironmentStrings; 1300 +} 1301 +alias WIN32_FIND_DATAA* PWIN32_FIND_DATAA, LPWIN32_FIND_DATAA; 1302 + 1303 +struct WIN32_FIND_DATAW { 1304 + DWORD dwFileAttributes; 1305 + FILETIME ftCreationTime; 1306 + FILETIME ftLastAccessTime; 1307 + FILETIME ftLastWriteTime; 1308 + DWORD nFileSizeHigh; 1309 + DWORD nFileSizeLow; 1310 +// #ifdef _WIN32_WCE 1311 +// DWORD dwOID; 1389 1312 // #else 1390 -// #... 1391 -// #endif // !UNICODE 1392 - 1393 -extern(Windows) export BOOL FreeEnvironmentStringsA( 1394 - LPSTR); 1395 -extern(Windows) export BOOL FreeEnvironmentStringsW( 1396 - LPWSTR); 1397 -// #ifdef UNICODE 1398 -alias FreeEnvironmentStringsW FreeEnvironmentStrings; 1399 -// #else 1400 -// #... 1401 -// #endif // !UNICODE 1402 - 1403 -extern(Windows) export VOID RaiseException( 1404 - DWORD dwExceptionCode, 1405 - DWORD dwExceptionFlags, 1406 - DWORD nNumberOfArguments, 1407 - ULONG_PTR *lpArguments); 1408 - 1409 -extern(Windows) export LONG UnhandledExceptionFilter( 1410 - _EXCEPTION_POINTERS *ExceptionInfo); 1411 - 1412 -extern(Windows) alias LONG function( _EXCEPTION_POINTERS *ExceptionInfo ) PTOP_LEVEL_EXCEPTION_FILTER; 1413 -alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; 1414 - 1415 -extern(Windows) export LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter( 1416 - LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter); 1417 - 1418 -// #if(_WIN32_WINNT >= 0x0400) 1419 - 1420 -extern(Windows) export LPVOID CreateFiber( 1421 - SIZE_T dwStackSize, 1422 - LPFIBER_START_ROUTINE lpStartAddress, 1423 - LPVOID lpParameter); 1424 - 1425 -extern(Windows) export LPVOID CreateFiberEx( 1426 - SIZE_T dwStackCommitSize, 1427 - SIZE_T dwStackReserveSize, 1428 - DWORD dwFlags, 1429 - LPFIBER_START_ROUTINE lpStartAddress, 1430 - LPVOID lpParameter); 1431 - 1432 -extern(Windows) export VOID DeleteFiber( 1433 - LPVOID lpFiber); 1434 - 1435 -extern(Windows) export LPVOID ConvertThreadToFiber( 1436 - LPVOID lpParameter); 1437 - 1438 -extern(Windows) export BOOL ConvertFiberToThread(); 1439 - 1440 -extern(Windows) export VOID SwitchToFiber( 1441 - LPVOID lpFiber); 1442 - 1443 -extern(Windows) export BOOL SwitchToThread(); 1444 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1445 - 1446 -extern(Windows) export HANDLE CreateThread( 1447 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 1448 - SIZE_T dwStackSize, 1449 - LPTHREAD_START_ROUTINE lpStartAddress, 1450 - LPVOID lpParameter, 1451 - DWORD dwCreationFlags, 1452 - LPDWORD lpThreadId); 1453 - 1454 -extern(Windows) export HANDLE CreateRemoteThread( 1455 - HANDLE hProcess, 1456 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 1457 - SIZE_T dwStackSize, 1458 - LPTHREAD_START_ROUTINE lpStartAddress, 1459 - LPVOID lpParameter, 1460 - DWORD dwCreationFlags, 1461 - LPDWORD lpThreadId); 1462 - 1463 -extern(Windows) export HANDLE GetCurrentThread(); 1464 - 1465 -extern(Windows) export DWORD GetCurrentThreadId(); 1466 - 1467 -extern(Windows) export DWORD_PTR SetThreadAffinityMask( 1468 - HANDLE hThread, 1469 - DWORD_PTR dwThreadAffinityMask); 1470 - 1471 -// #if(_WIN32_WINNT >= 0x0400) 1472 -extern(Windows) export DWORD SetThreadIdealProcessor( 1473 - HANDLE hThread, 1474 - DWORD dwIdealProcessor); 1475 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1476 - 1477 -extern(Windows) export BOOL SetProcessPriorityBoost( 1478 - HANDLE hProcess, 1479 - BOOL bDisablePriorityBoost); 1480 - 1481 -extern(Windows) export BOOL GetProcessPriorityBoost( 1482 - HANDLE hProcess, 1483 - PBOOL pDisablePriorityBoost); 1484 - 1485 -extern(Windows) export BOOL RequestWakeupLatency( 1486 - LATENCY_TIME latency); 1487 - 1488 -extern(Windows) export BOOL IsSystemResumeAutomatic(); 1489 - 1490 -extern(Windows) export HANDLE OpenThread( 1491 - DWORD dwDesiredAccess, 1492 - BOOL bInheritHandle, 1493 - DWORD dwThreadId); 1494 - 1495 -extern(Windows) export BOOL SetThreadPriority( 1496 - HANDLE hThread, 1497 - int nPriority); 1498 - 1499 -extern(Windows) export BOOL SetThreadPriorityBoost( 1500 - HANDLE hThread, 1501 - BOOL bDisablePriorityBoost); 1502 - 1503 -extern(Windows) export BOOL GetThreadPriorityBoost( 1504 - HANDLE hThread, 1505 - PBOOL pDisablePriorityBoost); 1506 - 1507 -extern(Windows) export int GetThreadPriority( 1508 - HANDLE hThread); 1509 - 1510 -extern(Windows) export BOOL GetThreadTimes( 1511 - HANDLE hThread, 1512 - LPFILETIME lpCreationTime, 1513 - LPFILETIME lpExitTime, 1514 - LPFILETIME lpKernelTime, 1515 - LPFILETIME lpUserTime); 1516 - 1517 -extern(Windows) export VOID ExitThread( 1518 - DWORD dwExitCode); 1519 - 1520 -extern(Windows) export BOOL TerminateThread( 1521 - HANDLE hThread, 1522 - DWORD dwExitCode); 1523 - 1524 -extern(Windows) export BOOL GetExitCodeThread( 1525 - HANDLE hThread, 1526 - LPDWORD lpExitCode); 1527 - 1528 -extern(Windows) export BOOL GetThreadSelectorEntry( 1529 - HANDLE hThread, 1530 - DWORD dwSelector, 1531 - LPLDT_ENTRY lpSelectorEntry); 1532 - 1533 -extern(Windows) export EXECUTION_STATE SetThreadExecutionState( 1534 - EXECUTION_STATE esFlags); 1535 - 1536 -extern(Windows) export DWORD GetLastError(); 1537 - 1538 -extern(Windows) export VOID SetLastError( 1539 - DWORD dwErrCode); 1540 - 1541 -// #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_RESTORE_LAST_ERROR" is a bit long. 1542 - 1543 -// #if defined(WINBASE_DECLARE_RESTORE_LAST_ERROR) 1544 - 1545 -// ... 1546 - 1547 -// ... 1548 -// #... 1549 -// #... 1550 -// #... 1551 - 1313 + DWORD dwReserved0; 1314 + DWORD dwReserved1; 1315 +// #endif 1316 + WCHAR[MAX_PATH] cFileName; 1317 +// #ifndef _WIN32_WCE 1318 + WCHAR[14] cAlternateFileName; 1552 1319 // #endif 1553 -// #endif 1554 - 1555 -bit HasOverlappedIoCompleted(LPOVERLAPPED lpOverlapped){ return (*lpOverlapped).Internal != STATUS_PENDING; } 1556 - 1557 -extern(Windows) export BOOL GetOverlappedResult( 1558 - HANDLE hFile, 1559 - LPOVERLAPPED lpOverlapped, 1560 - LPDWORD lpNumberOfBytesTransferred, 1561 - BOOL bWait); 1562 - 1563 -extern(Windows) export HANDLE CreateIoCompletionPort( 1564 - HANDLE FileHandle, 1565 - HANDLE ExistingCompletionPort, 1566 - ULONG_PTR CompletionKey, 1567 - DWORD NumberOfConcurrentThreads); 1568 - 1569 -extern(Windows) export BOOL GetQueuedCompletionStatus( 1570 - HANDLE CompletionPort, 1571 - LPDWORD lpNumberOfBytesTransferred, 1572 - PULONG_PTR lpCompletionKey, 1573 - LPOVERLAPPED *lpOverlapped, 1574 - DWORD dwMilliseconds); 1575 - 1576 -extern(Windows) export BOOL PostQueuedCompletionStatus( 1577 - HANDLE CompletionPort, 1578 - DWORD dwNumberOfBytesTransferred, 1579 - ULONG_PTR dwCompletionKey, 1580 - LPOVERLAPPED lpOverlapped); 1581 - 1582 -enum : uint { SEM_FAILCRITICALERRORS = 0x0001 } 1583 -enum : uint { SEM_NOGPFAULTERRORBOX = 0x0002 } 1584 -enum : uint { SEM_NOALIGNMENTFAULTEXCEPT = 0x0004 } 1585 -enum : uint { SEM_NOOPENFILEERRORBOX = 0x8000 } 1586 - 1587 -extern(Windows) export UINT SetErrorMode( 1588 - UINT uMode); 1589 - 1590 -extern(Windows) export BOOL ReadProcessMemory( 1591 - HANDLE hProcess, 1592 - LPCVOID lpBaseAddress, 1593 - LPVOID lpBuffer, 1594 - SIZE_T nSize, 1595 - SIZE_T * lpNumberOfBytesRead); 1596 - 1597 -extern(Windows) export BOOL WriteProcessMemory( 1598 - HANDLE hProcess, 1599 - LPVOID lpBaseAddress, 1600 - LPCVOID lpBuffer, 1601 - SIZE_T nSize, 1602 - SIZE_T * lpNumberOfBytesWritten); 1603 - 1604 -// #if !defined(MIDL_PASS) 1605 -extern(Windows) export BOOL GetThreadContext( 1606 - HANDLE hThread, 1607 - LPCONTEXT lpContext); 1608 - 1609 -extern(Windows) export BOOL SetThreadContext( 1610 - HANDLE hThread, 1611 - CONTEXT *lpContext); 1612 -// #endif 1613 - 1614 -extern(Windows) export DWORD SuspendThread( 1615 - HANDLE hThread); 1616 - 1617 -extern(Windows) export DWORD ResumeThread( 1618 - HANDLE hThread); 1619 - 1620 -// #if(_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 1621 - 1622 -// ... 1623 - 1624 -// ... 1625 - 1626 -// #endif /* _WIN32_WINNT >= 0x0400 || _WIN32_WINDOWS > 0x0400 */ 1627 - 1628 -// #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 1629 -extern(Windows) export BOOL IsDebuggerPresent(); 1630 -// #endif 1631 - 1632 -extern(Windows) export VOID DebugBreak(); 1633 - 1634 -extern(Windows) export BOOL WaitForDebugEvent( 1635 - LPDEBUG_EVENT lpDebugEvent, 1636 - DWORD dwMilliseconds); 1637 - 1638 -extern(Windows) export BOOL ContinueDebugEvent( 1639 - DWORD dwProcessId, 1640 - DWORD dwThreadId, 1641 - DWORD dwContinueStatus); 1642 - 1643 -extern(Windows) export BOOL DebugActiveProcess( 1644 - DWORD dwProcessId); 1645 - 1646 -extern(Windows) export BOOL DebugActiveProcessStop( 1647 - DWORD dwProcessId); 1648 - 1649 -extern(Windows) export BOOL DebugSetProcessKillOnExit( 1650 - BOOL KillOnExit); 1651 - 1652 -extern(Windows) export BOOL DebugBreakProcess( 1653 - HANDLE Process); 1654 - 1655 -extern(Windows) export VOID InitializeCriticalSection( 1656 - LPCRITICAL_SECTION lpCriticalSection); 1657 - 1658 -extern(Windows) export VOID EnterCriticalSection( 1659 - LPCRITICAL_SECTION lpCriticalSection); 1660 - 1661 -extern(Windows) export VOID LeaveCriticalSection( 1662 - LPCRITICAL_SECTION lpCriticalSection); 1663 - 1664 -// #if (_WIN32_WINNT >= 0x0403) 1665 -extern(Windows) export BOOL InitializeCriticalSectionAndSpinCount( 1666 - LPCRITICAL_SECTION lpCriticalSection, 1667 - DWORD dwSpinCount); 1668 - 1669 -extern(Windows) export DWORD SetCriticalSectionSpinCount( 1670 - LPCRITICAL_SECTION lpCriticalSection, 1671 - DWORD dwSpinCount); 1672 -// #endif 1673 - 1674 -// #if(_WIN32_WINNT >= 0x0400) 1675 -extern(Windows) export BOOL TryEnterCriticalSection( 1676 - LPCRITICAL_SECTION lpCriticalSection); 1677 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1678 - 1679 -extern(Windows) export VOID DeleteCriticalSection( 1680 - LPCRITICAL_SECTION lpCriticalSection); 1681 - 1682 -extern(Windows) export BOOL SetEvent( 1683 - HANDLE hEvent); 1684 - 1685 -extern(Windows) export BOOL ResetEvent( 1686 - HANDLE hEvent); 1687 - 1688 -extern(Windows) export BOOL PulseEvent( 1689 - HANDLE hEvent); 1690 - 1691 -extern(Windows) export BOOL ReleaseSemaphore( 1692 - HANDLE hSemaphore, 1693 - LONG lReleaseCount, 1694 - LPLONG lpPreviousCount); 1695 - 1696 -extern(Windows) export BOOL ReleaseMutex( 1697 - HANDLE hMutex); 1698 - 1699 -extern(Windows) export DWORD WaitForSingleObject( 1700 - HANDLE hHandle, 1701 - DWORD dwMilliseconds); 1702 - 1703 -extern(Windows) export DWORD WaitForMultipleObjects( 1704 - DWORD nCount, 1705 - HANDLE *lpHandles, 1706 - BOOL bWaitAll, 1707 - DWORD dwMilliseconds); 1708 - 1709 -extern(Windows) export VOID Sleep( 1710 - DWORD dwMilliseconds); 1711 - 1712 -extern(Windows) export HGLOBAL LoadResource( 1713 - HMODULE hModule, 1714 - HRSRC hResInfo); 1715 - 1716 -extern(Windows) export DWORD SizeofResource( 1717 - HMODULE hModule, 1718 - HRSRC hResInfo); 1719 - 1720 -extern(Windows) export ATOM GlobalDeleteAtom( 1721 - ATOM nAtom); 1722 - 1723 -extern(Windows) export BOOL InitAtomTable( 1724 - DWORD nSize); 1725 - 1726 -extern(Windows) export ATOM DeleteAtom( 1727 - ATOM nAtom); 1728 - 1729 -extern(Windows) export UINT SetHandleCount( 1730 - UINT uNumber); 1731 - 1732 -extern(Windows) export DWORD GetLogicalDrives(); 1733 - 1734 -extern(Windows) export BOOL LockFile( 1735 - HANDLE hFile, 1736 - DWORD dwFileOffsetLow, 1737 - DWORD dwFileOffsetHigh, 1738 - DWORD nNumberOfBytesToLockLow, 1739 - DWORD nNumberOfBytesToLockHigh); 1740 - 1741 -extern(Windows) export BOOL UnlockFile( 1742 - HANDLE hFile, 1743 - DWORD dwFileOffsetLow, 1744 - DWORD dwFileOffsetHigh, 1745 - DWORD nNumberOfBytesToUnlockLow, 1746 - DWORD nNumberOfBytesToUnlockHigh); 1747 - 1748 -extern(Windows) export BOOL LockFileEx( 1749 - HANDLE hFile, 1750 - DWORD dwFlags, 1751 - DWORD dwReserved, 1752 - DWORD nNumberOfBytesToLockLow, 1753 - DWORD nNumberOfBytesToLockHigh, 1754 - LPOVERLAPPED lpOverlapped); 1755 - 1756 -enum : uint { LOCKFILE_FAIL_IMMEDIATELY = 0x00000001 } 1757 -enum : uint { LOCKFILE_EXCLUSIVE_LOCK = 0x00000002 } 1758 - 1759 -extern(Windows) export BOOL UnlockFileEx( 1760 - HANDLE hFile, 1761 - DWORD dwReserved, 1762 - DWORD nNumberOfBytesToUnlockLow, 1763 - DWORD nNumberOfBytesToUnlockHigh, 1764 - LPOVERLAPPED lpOverlapped); 1765 - 1766 -struct _BY_HANDLE_FILE_INFORMATION { 1767 - DWORD dwFileAttributes; 1768 - FILETIME ftCreationTime; 1769 - FILETIME ftLastAccessTime; 1770 - FILETIME ftLastWriteTime; 1771 - DWORD dwVolumeSerialNumber; 1772 - DWORD nFileSizeHigh; 1773 - DWORD nFileSizeLow; 1774 - DWORD nNumberOfLinks; 1775 - DWORD nFileIndexHigh; 1776 - DWORD nFileIndexLow; 1320 +} 1321 +alias WIN32_FIND_DATAW* PWIN32_FIND_DATAW, LPWIN32_FIND_DATAW; 1322 + 1323 +static if (_WIN32_WINNT_ONLY) { 1324 + struct WIN32_STREAM_ID { 1325 + DWORD dwStreamId; 1326 + DWORD dwStreamAttributes; 1327 + LARGE_INTEGER Size; 1328 + DWORD dwStreamNameSize; 1329 + WCHAR _cStreamName; 1330 + 1331 + WCHAR* cStreamName() { return &_cStreamName; } 1332 + } 1333 + alias WIN32_STREAM_ID* LPWIN32_STREAM_ID; 1334 + 1335 + enum FINDEX_INFO_LEVELS { 1336 + FindExInfoStandard, 1337 + FindExInfoMaxInfoLevel 1338 + } 1339 + 1340 + enum FINDEX_SEARCH_OPS { 1341 + FindExSearchNameMatch, 1342 + FindExSearchLimitToDirectories, 1343 + FindExSearchLimitToDevices, 1344 + FindExSearchMaxSearchOp 1345 + } 1346 + 1347 + enum ACL_INFORMATION_CLASS { 1348 + AclRevisionInformation = 1, 1349 + AclSizeInformation 1350 + } 1351 + 1352 + struct HW_PROFILE_INFOA { 1353 + DWORD dwDockInfo; 1354 + CHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid; 1355 + CHAR[MAX_PROFILE_LEN] szHwProfileName; 1356 + } 1357 + alias HW_PROFILE_INFOA* LPHW_PROFILE_INFOA; 1358 + 1359 + struct HW_PROFILE_INFOW { 1360 + DWORD dwDockInfo; 1361 + WCHAR[HW_PROFILE_GUIDLEN] szHwProfileGuid; 1362 + WCHAR[MAX_PROFILE_LEN] szHwProfileName; 1363 + } 1364 + alias HW_PROFILE_INFOW* LPHW_PROFILE_INFOW; 1365 +} 1366 + 1367 +/* ??? MSDN documents this only for Windows CE/Mobile, but it's used by 1368 + * GetFileAttributesEx, which is in desktop Windows. 1369 + */ 1370 +enum GET_FILEEX_INFO_LEVELS { 1371 + GetFileExInfoStandard, 1372 + GetFileExMaxInfoLevel 1373 +} 1374 + 1375 +struct SYSTEM_INFO { 1376 + union { 1377 + DWORD dwOemId; 1378 + struct { 1379 + WORD wProcessorArchitecture; 1380 + WORD wReserved; 1381 + } 1382 + } 1383 + DWORD dwPageSize; 1384 + PVOID lpMinimumApplicationAddress; 1385 + PVOID lpMaximumApplicationAddress; 1386 + DWORD dwActiveProcessorMask; 1387 + DWORD dwNumberOfProcessors; 1388 + DWORD dwProcessorType; 1389 + DWORD dwAllocationGranularity; 1390 + WORD wProcessorLevel; 1391 + WORD wProcessorRevision; 1392 +} 1393 +alias SYSTEM_INFO* LPSYSTEM_INFO; 1394 + 1395 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 1396 + struct SYSTEM_POWER_STATUS { 1397 + BYTE ACLineStatus; 1398 + BYTE BatteryFlag; 1399 + BYTE BatteryLifePercent; 1400 + BYTE Reserved1; 1401 + DWORD BatteryLifeTime; 1402 + DWORD BatteryFullLifeTime; 1403 + } 1404 + alias SYSTEM_POWER_STATUS* LPSYSTEM_POWER_STATUS; 1405 +} 1406 + 1407 +struct TIME_ZONE_INFORMATION { 1408 + LONG Bias; 1409 + WCHAR[32] StandardName; 1410 + SYSTEMTIME StandardDate; 1411 + LONG StandardBias; 1412 + WCHAR[32] DaylightName; 1413 + SYSTEMTIME DaylightDate; 1414 + LONG DaylightBias; 1415 +} 1416 +alias TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION; 1417 + 1418 +// MSDN documents this, possibly erroneously, as Win2000+. 1419 +struct MEMORYSTATUS { 1420 + DWORD dwLength; 1421 + DWORD dwMemoryLoad; 1422 + DWORD dwTotalPhys; 1423 + DWORD dwAvailPhys; 1424 + DWORD dwTotalPageFile; 1425 + DWORD dwAvailPageFile; 1426 + DWORD dwTotalVirtual; 1427 + DWORD dwAvailVirtual; 1428 +} 1429 +alias MEMORYSTATUS* LPMEMORYSTATUS; 1430 + 1431 +static if (_WIN32_WINNT >= 0x500) { 1432 + struct MEMORYSTATUSEX { 1433 + DWORD dwLength; 1434 + DWORD dwMemoryLoad; 1435 + DWORDLONG ullTotalPhys; 1436 + DWORDLONG ullAvailPhys; 1437 + DWORDLONG ullTotalPageFile; 1438 + DWORDLONG ullAvailPageFile; 1439 + DWORDLONG ullTotalVirtual; 1440 + DWORDLONG ullAvailVirtual; 1441 + DWORDLONG ullAvailExtendedVirtual; 1442 + } 1443 + alias MEMORYSTATUSEX* LPMEMORYSTATUSEX; 1444 +} 1445 + 1446 +struct LDT_ENTRY { 1447 + WORD LimitLow; 1448 + WORD BaseLow; 1449 + struct { 1450 + BYTE BaseMid; 1451 + BYTE Flags1; 1452 + BYTE Flags2; 1453 + BYTE BaseHi; 1454 + 1455 + byte Type(byte f) { Flags1 = cast(BYTE) ((Flags1 & 0xE0) | f); return cast(byte)(f & 0x1F); } 1456 + byte Dpl(byte f) { Flags1 = cast(BYTE) ((Flags1 & 0x9F) | (f<<5)); return cast(byte)(f & 3); } 1457 + bool Pres(bool f) { Flags1 = cast(BYTE) ((Flags1 & 0x7F) | (f<<7)); return f; } 1458 + 1459 + byte LimitHi(byte f) { Flags2 = cast(BYTE) ((Flags2 & 0xF0) | (f&0x0F)); return cast(byte)(f & 0x0F); } 1460 + bool Sys(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0xEF) | (f<<4)); return f; } 1461 + // Next bit is reserved 1462 + bool Default_Big(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0xBF) | (f<<6)); return f; } 1463 + bool Granularity(bool f) { Flags2 = cast(BYTE) ((Flags2 & 0x7F) | (f<<7)); return f; } 1464 + 1465 + byte Type() { return cast(byte) (Flags1 & 0x1F); } 1466 + byte Dpl() { return cast(byte) ((Flags1 & 0x60)>>5); } 1467 + bool Pres() { return cast(bool) (Flags1 & 0x80); } 1468 + 1469 + byte LimitHi() { return cast(byte) (Flags2 & 0x0F); } 1470 + bool Sys() { return cast(bool) (Flags2 & 0x10); } 1471 + bool Default_Big() { return cast(bool) (Flags2 & 0x40); } 1472 + bool Granularity() { return cast(bool) (Flags2 & 0x80); } 1473 + } 1474 +/+ 1475 + union HighWord { 1476 + struct Bytes { 1477 + BYTE BaseMid; 1478 + BYTE Flags1; 1479 + BYTE Flags2; 1480 + BYTE BaseHi; 1481 + } 1482 + struct Bits { 1483 + DWORD BaseMid:8; 1484 + DWORD Type:5; 1485 + DWORD Dpl:2; 1486 + DWORD Pres:1; 1487 + DWORD LimitHi:4; 1488 + DWORD Sys:1; 1489 + DWORD Reserved_0:1; 1490 + DWORD Default_Big:1; 1491 + DWORD Granularity:1; 1492 + DWORD BaseHi:8; 1493 + } 1494 + } 1495 ++/ 1496 +} 1497 +alias LDT_ENTRY* PLDT_ENTRY, LPLDT_ENTRY; 1498 + 1499 +/* As with the other memory management functions and structures, MSDN's 1500 + * Windows version info shall be taken with a cup of salt. 1501 + */ 1502 +struct PROCESS_HEAP_ENTRY { 1503 + PVOID lpData; 1504 + DWORD cbData; 1505 + BYTE cbOverhead; 1506 + BYTE iRegionIndex; 1507 + WORD wFlags; 1508 + union { 1509 + struct Block { 1510 + HANDLE hMem; 1511 + DWORD[3] dwReserved; 1512 + } 1513 + struct Region { 1514 + DWORD dwCommittedSize; 1515 + DWORD dwUnCommittedSize; 1516 + LPVOID lpFirstBlock; 1517 + LPVOID lpLastBlock; 1518 + } 1519 + } 1520 +} 1521 +alias PROCESS_HEAP_ENTRY* LPPROCESS_HEAP_ENTRY; 1522 + 1523 +struct OFSTRUCT { 1524 + BYTE cBytes = OFSTRUCT.sizeof; 1525 + BYTE fFixedDisk; 1526 + WORD nErrCode; 1527 + WORD Reserved1; 1528 + WORD Reserved2; 1529 + CHAR[128] szPathName; // const OFS_MAXPATHNAME = 128; 1530 +} 1531 +alias OFSTRUCT* LPOFSTRUCT, POFSTRUCT; 1532 + 1533 +/* ??? MSDN documents this only for Windows CE, but it's used by 1534 + * ImageGetCertificateData, which is in desktop Windows. 1535 + */ 1536 +struct WIN_CERTIFICATE { 1537 + DWORD dwLength; 1538 + WORD wRevision; 1539 + WORD wCertificateType; 1540 + BYTE _bCertificate; 1541 + 1542 + BYTE* bCertificate() { return &_bCertificate; } 1543 +} 1544 +alias WIN_CERTIFICATE* LPWIN_CERTIFICATE; 1545 + 1546 +static if (_WIN32_WINNT >= 0x500) { 1547 + enum COMPUTER_NAME_FORMAT { 1548 + ComputerNameNetBIOS, 1549 + ComputerNameDnsHostname, 1550 + ComputerNameDnsDomain, 1551 + ComputerNameDnsFullyQualified, 1552 + ComputerNamePhysicalNetBIOS, 1553 + ComputerNamePhysicalDnsHostname, 1554 + ComputerNamePhysicalDnsDomain, 1555 + ComputerNamePhysicalDnsFullyQualified, 1556 + ComputerNameMax 1557 + } 1558 +} 1559 + 1560 +static if (_WIN32_WINNT >= 0x501) { 1561 + struct ACTCTXA { 1562 + ULONG cbSize = this.sizeof; 1563 + DWORD dwFlags; 1564 + LPCSTR lpSource; 1565 + USHORT wProcessorArchitecture; 1566 + LANGID wLangId; 1567 + LPCSTR lpAssemblyDirectory; 1568 + LPCSTR lpResourceName; 1569 + LPCSTR lpApplicationName; 1570 + HMODULE hModule; 1571 + } 1572 + alias ACTCTXA* PACTCTXA; 1573 + alias CPtr!(ACTCTXA) PCACTCTXA; 1574 + 1575 + struct ACTCTXW { 1576 + ULONG cbSize = this.sizeof; 1577 + DWORD dwFlags; 1578 + LPCWSTR lpSource; 1579 + USHORT wProcessorArchitecture; 1580 + LANGID wLangId; 1581 + LPCWSTR lpAssemblyDirectory; 1582 + LPCWSTR lpResourceName; 1583 + LPCWSTR lpApplicationName; 1584 + HMODULE hModule; 1585 + } 1586 + alias ACTCTXW* PACTCTXW; 1587 + alias CPtr!(ACTCTXW) PCACTCTXW; 1588 + 1589 + struct ACTCTX_SECTION_KEYED_DATA { 1590 + ULONG cbSize = this.sizeof; 1591 + ULONG ulDataFormatVersion; 1592 + PVOID lpData; 1593 + ULONG ulLength; 1594 + PVOID lpSectionGlobalData; 1595 + ULONG ulSectionGlobalDataLength; 1596 + PVOID lpSectionBase; 1597 + ULONG ulSectionTotalLength; 1598 + HANDLE hActCtx; 1599 + HANDLE ulAssemblyRosterIndex; 1600 + } 1601 + alias ACTCTX_SECTION_KEYED_DATA* PACTCTX_SECTION_KEYED_DATA; 1602 + alias CPtr!(ACTCTX_SECTION_KEYED_DATA) PCACTCTX_SECTION_KEYED_DATA; 1603 + 1604 + enum MEMORY_RESOURCE_NOTIFICATION_TYPE { 1605 + LowMemoryResourceNotification, 1606 + HighMemoryResourceNotification 1607 + } 1608 + 1609 +} // (_WIN32_WINNT >= 0x0501) 1610 + 1611 +static if (WINVER >= 0x410) { 1612 + /* apparently used only by SetThreadExecutionState (Win2000+) 1613 + * and DDK functions (version compatibility not established) 1614 + */ 1615 + alias DWORD EXECUTION_STATE; 1616 +} 1617 + 1618 +// Callbacks 1619 +extern (Windows) { 1620 + alias DWORD function(LPVOID) LPTHREAD_START_ROUTINE; 1621 + alias DWORD function(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, 1622 + DWORD, DWORD, HANDLE, HANDLE, LPVOID) LPPROGRESS_ROUTINE; 1623 + alias void function(PVOID) LPFIBER_START_ROUTINE; 1624 + 1625 + alias BOOL function(HMODULE, LPCSTR, LPCSTR, WORD, LONG) ENUMRESLANGPROCA; 1626 + alias BOOL function(HMODULE, LPCWSTR, LPCWSTR, WORD, LONG) ENUMRESLANGPROCW; 1627 + alias BOOL function(HMODULE, LPCSTR, LPSTR, LONG) ENUMRESNAMEPROCA; 1628 + alias BOOL function(HMODULE, LPCWSTR, LPWSTR, LONG) ENUMRESNAMEPROCW; 1629 + alias BOOL function(HMODULE, LPSTR, LONG) ENUMRESTYPEPROCA; 1630 + alias BOOL function(HMODULE, LPWSTR, LONG) ENUMRESTYPEPROCW; 1631 + alias void function(DWORD, DWORD, LPOVERLAPPED) LPOVERLAPPED_COMPLETION_ROUTINE; 1632 + alias LONG function(LPEXCEPTION_POINTERS) PTOP_LEVEL_EXCEPTION_FILTER; 1633 + alias PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; 1634 + 1635 + alias void function(ULONG_PTR) PAPCFUNC; 1636 + alias void function(PVOID, DWORD, DWORD) PTIMERAPCROUTINE; 1637 + 1638 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 1639 + alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACK; 1640 + } 1641 +} 1642 + 1643 +LPTSTR MAKEINTATOM(short i) { 1644 + return cast(LPTSTR) i; 1777 1645 } 1778 -alias _BY_HANDLE_FILE_INFORMATION BY_HANDLE_FILE_INFORMATION; 1779 -alias _BY_HANDLE_FILE_INFORMATION* PBY_HANDLE_FILE_INFORMATION; 1780 -alias _BY_HANDLE_FILE_INFORMATION* LPBY_HANDLE_FILE_INFORMATION; 1781 - 1782 -extern(Windows) export BOOL GetFileInformationByHandle( 1783 - HANDLE hFile, 1784 - LPBY_HANDLE_FILE_INFORMATION lpFileInformation); 1785 - 1786 -extern(Windows) export DWORD GetFileType( 1787 - HANDLE hFile); 1788 - 1789 -extern(Windows) export DWORD GetFileSize( 1790 - HANDLE hFile, 1791 - LPDWORD lpFileSizeHigh); 1792 - 1793 -extern(Windows) export BOOL GetFileSizeEx( 1794 - HANDLE hFile, 1795 - PLARGE_INTEGER lpFileSize); 1796 - 1797 -extern(Windows) export HANDLE GetStdHandle( 1798 - DWORD nStdHandle); 1799 - 1800 -extern(Windows) export BOOL SetStdHandle( 1801 - DWORD nStdHandle, 1802 - HANDLE hHandle); 1803 - 1804 -extern(Windows) export BOOL WriteFile( 1805 - HANDLE hFile, 1806 - LPCVOID lpBuffer, 1807 - DWORD nNumberOfBytesToWrite, 1808 - LPDWORD lpNumberOfBytesWritten, 1809 - LPOVERLAPPED lpOverlapped); 1810 - 1811 -extern(Windows) export BOOL ReadFile( 1812 - HANDLE hFile, 1813 - LPVOID lpBuffer, 1814 - DWORD nNumberOfBytesToRead, 1815 - LPDWORD lpNumberOfBytesRead, 1816 - LPOVERLAPPED lpOverlapped); 1817 - 1818 -extern(Windows) export BOOL FlushFileBuffers( 1819 - HANDLE hFile); 1820 - 1821 -extern(Windows) export BOOL DeviceIoControl( 1822 - HANDLE hDevice, 1823 - DWORD dwIoControlCode, 1824 - LPVOID lpInBuffer, 1825 - DWORD nInBufferSize, 1826 - LPVOID lpOutBuffer, 1827 - DWORD nOutBufferSize, 1828 - LPDWORD lpBytesReturned, 1829 - LPOVERLAPPED lpOverlapped); 1830 - 1831 -extern(Windows) export BOOL RequestDeviceWakeup( 1832 - HANDLE hDevice); 1833 - 1834 -extern(Windows) export BOOL CancelDeviceWakeupRequest( 1835 - HANDLE hDevice); 1836 - 1837 -extern(Windows) export BOOL GetDevicePowerState( 1838 - HANDLE hDevice, 1839 - BOOL *pfOn); 1840 - 1841 -extern(Windows) export BOOL SetMessageWaitingIndicator( 1842 - HANDLE hMsgIndicator, 1843 - ULONG ulMsgCount); 1844 - 1845 -extern(Windows) export BOOL SetEndOfFile( 1846 - HANDLE hFile); 1847 - 1848 -extern(Windows) export DWORD SetFilePointer( 1849 - HANDLE hFile, 1850 - LONG lDistanceToMove, 1851 - PLONG lpDistanceToMoveHigh, 1852 - DWORD dwMoveMethod); 1853 - 1854 -extern(Windows) export BOOL SetFilePointerEx( 1855 - HANDLE hFile, 1856 - LARGE_INTEGER liDistanceToMove, 1857 - PLARGE_INTEGER lpNewFilePointer, 1858 - DWORD dwMoveMethod); 1859 - 1860 -extern(Windows) export BOOL FindClose( 1861 - HANDLE hFindFile); 1862 - 1863 -extern(Windows) export BOOL GetFileTime( 1864 - HANDLE hFile, 1865 - LPFILETIME lpCreationTime, 1866 - LPFILETIME lpLastAccessTime, 1867 - LPFILETIME lpLastWriteTime); 1868 - 1869 -extern(Windows) export BOOL SetFileTime( 1870 - HANDLE hFile, 1871 - FILETIME *lpCreationTime, 1872 - FILETIME *lpLastAccessTime, 1873 - FILETIME *lpLastWriteTime); 1874 - 1875 -extern(Windows) export BOOL SetFileValidData( 1876 - HANDLE hFile, 1877 - LONGLONG ValidDataLength); 1878 - 1879 -extern(Windows) export BOOL SetFileShortNameA( 1880 - HANDLE hFile, 1881 - LPCSTR lpShortName); 1882 -extern(Windows) export BOOL SetFileShortNameW( 1883 - HANDLE hFile, 1884 - LPCWSTR lpShortName); 1885 -// #ifdef UNICODE 1886 -alias SetFileShortNameW SetFileShortName; 1887 -// #else 1888 -// #... 1889 -// #endif // !UNICODE 1890 - 1891 -extern(Windows) export BOOL CloseHandle( 1892 - HANDLE hObject); 1893 - 1894 -extern(Windows) export BOOL DuplicateHandle( 1895 - HANDLE hSourceProcessHandle, 1896 - HANDLE hSourceHandle, 1897 - HANDLE hTargetProcessHandle, 1898 - LPHANDLE lpTargetHandle, 1899 - DWORD dwDesiredAccess, 1900 - BOOL bInheritHandle, 1901 - DWORD dwOptions); 1902 - 1903 -extern(Windows) export BOOL GetHandleInformation( 1904 - HANDLE hObject, 1905 - LPDWORD lpdwFlags); 1906 - 1907 -extern(Windows) export BOOL SetHandleInformation( 1908 - HANDLE hObject, 1909 - DWORD dwMask, 1910 - DWORD dwFlags); 1911 - 1912 -enum : uint { HANDLE_FLAG_INHERIT = 0x00000001 } 1913 -enum : uint { HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x00000002 } 1914 - 1915 -enum : uint { HINSTANCE_ERROR = 32 } 1916 - 1917 -extern(Windows) export DWORD LoadModule( 1918 - LPCSTR lpModuleName, 1919 - LPVOID lpParameterBlock); 1920 - 1921 -extern(Windows) export UINT WinExec( 1922 - LPCSTR lpCmdLine, 1923 - UINT uCmdShow); 1924 - 1925 -extern(Windows) export BOOL ClearCommBreak( 1926 - HANDLE hFile); 1927 - 1928 -extern(Windows) export BOOL ClearCommError( 1929 - HANDLE hFile, 1930 - LPDWORD lpErrors, 1931 - LPCOMSTAT lpStat); 1932 - 1933 -extern(Windows) export BOOL SetupComm( 1934 - HANDLE hFile, 1935 - DWORD dwInQueue, 1936 - DWORD dwOutQueue); 1937 - 1938 -extern(Windows) export BOOL EscapeCommFunction( 1939 - HANDLE hFile, 1940 - DWORD dwFunc); 1941 - 1942 -extern(Windows) export BOOL GetCommConfig( 1943 - HANDLE hCommDev, 1944 - LPCOMMCONFIG lpCC, 1945 - LPDWORD lpdwSize); 1946 - 1947 -extern(Windows) export BOOL GetCommMask( 1948 - HANDLE hFile, 1949 - LPDWORD lpEvtMask); 1950 - 1951 -extern(Windows) export BOOL GetCommProperties( 1952 - HANDLE hFile, 1953 - LPCOMMPROP lpCommProp); 1954 - 1955 -extern(Windows) export BOOL GetCommModemStatus( 1956 - HANDLE hFile, 1957 - LPDWORD lpModemStat); 1958 - 1959 -extern(Windows) export BOOL GetCommState( 1960 - HANDLE hFile, 1961 - LPDCB lpDCB); 1962 - 1963 -extern(Windows) export BOOL GetCommTimeouts( 1964 - HANDLE hFile, 1965 - LPCOMMTIMEOUTS lpCommTimeouts); 1966 - 1967 -extern(Windows) export BOOL PurgeComm( 1968 - HANDLE hFile, 1969 - DWORD dwFlags); 1970 - 1971 -extern(Windows) export BOOL SetCommBreak( 1972 - HANDLE hFile); 1973 - 1974 -extern(Windows) export BOOL SetCommConfig( 1975 - HANDLE hCommDev, 1976 - LPCOMMCONFIG lpCC, 1977 - DWORD dwSize); 1978 - 1979 -extern(Windows) export BOOL SetCommMask( 1980 - HANDLE hFile, 1981 - DWORD dwEvtMask); 1982 - 1983 -extern(Windows) export BOOL SetCommState( 1984 - HANDLE hFile, 1985 - LPDCB lpDCB); 1986 - 1987 -extern(Windows) export BOOL SetCommTimeouts( 1988 - HANDLE hFile, 1989 - LPCOMMTIMEOUTS lpCommTimeouts); 1990 - 1991 -extern(Windows) export BOOL TransmitCommChar( 1992 - HANDLE hFile, 1993 - char cChar); 1994 - 1995 -extern(Windows) export BOOL WaitCommEvent( 1996 - HANDLE hFile, 1997 - LPDWORD lpEvtMask, 1998 - LPOVERLAPPED lpOverlapped); 1999 - 2000 -extern(Windows) export DWORD SetTapePosition( 2001 - HANDLE hDevice, 2002 - DWORD dwPositionMethod, 2003 - DWORD dwPartition, 2004 - DWORD dwOffsetLow, 2005 - DWORD dwOffsetHigh, 2006 - BOOL bImmediate); 2007 - 2008 -extern(Windows) export DWORD GetTapePosition( 2009 - HANDLE hDevice, 2010 - DWORD dwPositionType, 2011 - LPDWORD lpdwPartition, 2012 - LPDWORD lpdwOffsetLow, 2013 - LPDWORD lpdwOffsetHigh); 2014 - 2015 -extern(Windows) export DWORD PrepareTape( 2016 - HANDLE hDevice, 2017 - DWORD dwOperation, 2018 - BOOL bImmediate); 2019 - 2020 -extern(Windows) export DWORD EraseTape( 2021 - HANDLE hDevice, 2022 - DWORD dwEraseType, 2023 - BOOL bImmediate); 2024 - 2025 -extern(Windows) export DWORD CreateTapePartition( 2026 - HANDLE hDevice, 2027 - DWORD dwPartitionMethod, 2028 - DWORD dwCount, 2029 - DWORD dwSize); 2030 - 2031 -extern(Windows) export DWORD WriteTapemark( 2032 - HANDLE hDevice, 2033 - DWORD dwTapemarkType, 2034 - DWORD dwTapemarkCount, 2035 - BOOL bImmediate); 2036 - 2037 -extern(Windows) export DWORD GetTapeStatus( 2038 - HANDLE hDevice); 2039 - 2040 -extern(Windows) export DWORD GetTapeParameters( 2041 - HANDLE hDevice, 2042 - DWORD dwOperation, 2043 - LPDWORD lpdwSize, 2044 - LPVOID lpTapeInformation); 2045 - 2046 -enum : uint { GET_TAPE_MEDIA_INFORMATION = 0 } 2047 -enum : uint { GET_TAPE_DRIVE_INFORMATION = 1 } 2048 - 2049 -extern(Windows) export DWORD SetTapeParameters( 2050 - HANDLE hDevice, 2051 - DWORD dwOperation, 2052 - LPVOID lpTapeInformation); 2053 - 2054 -enum : uint { SET_TAPE_MEDIA_INFORMATION = 0 } 2055 -enum : uint { SET_TAPE_DRIVE_INFORMATION = 1 } 2056 - 2057 -extern(Windows) export BOOL Beep( 2058 - DWORD dwFreq, 2059 - DWORD dwDuration); 2060 - 2061 -extern(Windows) export int MulDiv( 2062 - int nNumber, 2063 - int nNumerator, 2064 - int nDenominator); 2065 - 2066 -extern(Windows) export VOID GetSystemTime( 2067 - LPSYSTEMTIME lpSystemTime); 2068 - 2069 -extern(Windows) export VOID GetSystemTimeAsFileTime( 2070 - LPFILETIME lpSystemTimeAsFileTime); 2071 - 2072 -extern(Windows) export BOOL SetSystemTime( 2073 - SYSTEMTIME *lpSystemTime); 2074 - 2075 -extern(Windows) export VOID GetLocalTime( 2076 - LPSYSTEMTIME lpSystemTime); 2077 - 2078 -extern(Windows) export BOOL SetLocalTime( 2079 - SYSTEMTIME *lpSystemTime); 2080 - 2081 -extern(Windows) export VOID GetSystemInfo( 2082 - LPSYSTEM_INFO lpSystemInfo); 2083 - 2084 -// #if _WIN32_WINNT >= 0x0501 2085 -extern(Windows) export VOID GetNativeSystemInfo( 2086 - LPSYSTEM_INFO lpSystemInfo); 2087 -// #endif 2088 - 2089 -extern(Windows) export BOOL IsProcessorFeaturePresent( 2090 - DWORD ProcessorFeature); 2091 - 2092 -struct _TIME_ZONE_INFORMATION { 2093 - LONG Bias; 2094 - WCHAR StandardName[ 32 ]; 2095 - SYSTEMTIME StandardDate; 2096 - LONG StandardBias; 2097 - WCHAR DaylightName[ 32 ]; 2098 - SYSTEMTIME DaylightDate; 2099 - LONG DaylightBias; 1646 + 1647 +extern (Windows) { 1648 + ATOM AddAtomA(LPCSTR); 1649 + ATOM AddAtomW(LPCWSTR); 1650 + BOOL AreFileApisANSI(); 1651 + BOOL Beep(DWORD, DWORD); 1652 + HANDLE BeginUpdateResourceA(LPCSTR, BOOL); 1653 + HANDLE BeginUpdateResourceW(LPCWSTR, BOOL); 1654 + BOOL BuildCommDCBA(LPCSTR, LPDCB); 1655 + BOOL BuildCommDCBW(LPCWSTR, LPDCB); 1656 + BOOL BuildCommDCBAndTimeoutsA(LPCSTR, LPDCB, LPCOMMTIMEOUTS); 1657 + BOOL BuildCommDCBAndTimeoutsW(LPCWSTR, LPDCB, LPCOMMTIMEOUTS); 1658 + BOOL CallNamedPipeA(LPCSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD); 1659 + BOOL CallNamedPipeW(LPCWSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD); 1660 + BOOL CancelDeviceWakeupRequest(HANDLE); 1661 + BOOL CheckTokenMembership(HANDLE, PSID, PBOOL); 1662 + BOOL ClearCommBreak(HANDLE); 1663 + BOOL ClearCommError(HANDLE, PDWORD, LPCOMSTAT); 1664 + BOOL CloseHandle(HANDLE); 1665 + BOOL CommConfigDialogA(LPCSTR, HWND, LPCOMMCONFIG); 1666 + BOOL CommConfigDialogW(LPCWSTR, HWND, LPCOMMCONFIG); 1667 + LONG CompareFileTime(CPtr!(FILETIME), CPtr!(FILETIME)); 1668 + BOOL ContinueDebugEvent(DWORD, DWORD, DWORD); 1669 + BOOL CopyFileA(LPCSTR, LPCSTR, BOOL); 1670 + BOOL CopyFileW(LPCWSTR, LPCWSTR, BOOL); 1671 + BOOL CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD); 1672 + BOOL CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD); 1673 + 1674 + /+ FIXME 1675 + alias memmove RtlMoveMemory; 1676 + alias memcpy RtlCopyMemory; 1677 + 1678 + void RtlFillMemory(PVOID dest, SIZE_T len, BYTE fill) { 1679 + memset(dest, fill, len); 1680 + } 1681 + 1682 + void RtlZeroMemory(PVOID dest, SIZE_T len) { 1683 + RtlFillMemory(dest, len , 0); 1684 + } 1685 + 1686 + alias RtlMoveMemory MoveMemory; 1687 + alias RtlCopyMemory CopyMemory; 1688 + alias RtlFillMemory FillMemory; 1689 + alias RtlZeroMemory ZeroMemory; 1690 + +/ 1691 + BOOL CreateDirectoryA(LPCSTR, LPSECURITY_ATTRIBUTES); 1692 + BOOL CreateDirectoryW(LPCWSTR, LPSECURITY_ATTRIBUTES); 1693 + BOOL CreateDirectoryExA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES); 1694 + BOOL CreateDirectoryExW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES); 1695 + HANDLE CreateEventA(LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCSTR); 1696 + HANDLE CreateEventW(LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCWSTR); 1697 + HANDLE CreateFileA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); 1698 + HANDLE CreateFileW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); 1699 + HANDLE CreateIoCompletionPort(HANDLE, HANDLE, ULONG_PTR, DWORD); 1700 + HANDLE CreateMailslotA(LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 1701 + HANDLE CreateMailslotW(LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 1702 + HANDLE CreateMutexA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR); 1703 + HANDLE CreateMutexW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR); 1704 + BOOL CreatePipe(PHANDLE, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD); 1705 + BOOL CreateProcessA(LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION); 1706 + BOOL CreateProcessW(LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION); 1707 + HANDLE CreateSemaphoreA(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR); 1708 + HANDLE CreateSemaphoreW(LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR); 1709 + HANDLE CreateThread(LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, PVOID, DWORD, PDWORD); 1710 + BOOL DebugActiveProcess(DWORD); 1711 + void DebugBreak(); 1712 + ATOM DeleteAtom(ATOM); 1713 + void DeleteCriticalSection(PCRITICAL_SECTION); 1714 + BOOL DeleteFileA(LPCSTR); 1715 + BOOL DeleteFileW(LPCWSTR); 1716 + BOOL DisableThreadLibraryCalls(HMODULE); 1717 + BOOL DosDateTimeToFileTime(WORD, WORD, LPFILETIME); 1718 + BOOL DuplicateHandle(HANDLE, HANDLE, HANDLE, PHANDLE, DWORD, BOOL, DWORD); 1719 + BOOL EndUpdateResourceA(HANDLE, BOOL); 1720 + BOOL EndUpdateResourceW(HANDLE, BOOL); 1721 + void EnterCriticalSection(LPCRITICAL_SECTION); 1722 + BOOL EnumResourceLanguagesA(HMODULE, LPCSTR, LPCSTR, ENUMRESLANGPROC, LONG_PTR); 1723 + BOOL EnumResourceLanguagesW(HMODULE, LPCWSTR, LPCWSTR, ENUMRESLANGPROC, LONG_PTR); 1724 + BOOL EnumResourceNamesA(HMODULE, LPCSTR, ENUMRESNAMEPROC, LONG_PTR); 1725 + BOOL EnumResourceNamesW(HMODULE, LPCWSTR, ENUMRESNAMEPROC, LONG_PTR); 1726 + BOOL EnumResourceTypesA(HMODULE, ENUMRESTYPEPROC, LONG_PTR); 1727 + BOOL EnumResourceTypesW(HMODULE, ENUMRESTYPEPROC, LONG_PTR); 1728 + BOOL EscapeCommFunction(HANDLE, DWORD); 1729 + void ExitProcess(UINT); // Never returns 1730 + void ExitThread(DWORD); // Never returns 1731 + DWORD ExpandEnvironmentStringsA(LPCSTR, LPSTR, DWORD); 1732 + DWORD ExpandEnvironmentStringsW(LPCWSTR, LPWSTR, DWORD); 1733 + void FatalAppExitA(UINT, LPCSTR); 1734 + void FatalAppExitW(UINT, LPCWSTR); 1735 + void FatalExit(int); 1736 + BOOL FileTimeToDosDateTime(CPtr!(FILETIME) , LPWORD, LPWORD); 1737 + BOOL FileTimeToLocalFileTime(CPtr!(FILETIME) , LPFILETIME); 1738 + BOOL FileTimeToSystemTime(CPtr!(FILETIME) , LPSYSTEMTIME); 1739 + ATOM FindAtomA(LPCSTR); 1740 + ATOM FindAtomW(LPCWSTR); 1741 + BOOL FindClose(HANDLE); 1742 + BOOL FindCloseChangeNotification(HANDLE); 1743 + HANDLE FindFirstChangeNotificationA(LPCSTR, BOOL, DWORD); 1744 + HANDLE FindFirstChangeNotificationW(LPCWSTR, BOOL, DWORD); 1745 + HANDLE FindFirstFileA(LPCSTR, LPWIN32_FIND_DATAA); 1746 + HANDLE FindFirstFileW(LPCWSTR, LPWIN32_FIND_DATAW); 1747 + BOOL FindNextChangeNotification(HANDLE); 1748 + BOOL FindNextFileA(HANDLE, LPWIN32_FIND_DATAA); 1749 + BOOL FindNextFileW(HANDLE, LPWIN32_FIND_DATAW); 1750 + HRSRC FindResourceA(HMODULE, LPCSTR, LPCSTR); 1751 + HRSRC FindResourceW(HINSTANCE, LPCWSTR, LPCWSTR); 1752 + HRSRC FindResourceExA(HINSTANCE, LPCSTR, LPCSTR, WORD); 1753 + HRSRC FindResourceExW(HINSTANCE, LPCWSTR, LPCWSTR, WORD); 1754 + BOOL FlushFileBuffers(HANDLE); 1755 + BOOL FlushInstructionCache(HANDLE, PCVOID, DWORD); 1756 + DWORD FormatMessageA(DWORD, PCVOID, DWORD, DWORD, LPSTR, DWORD, va_list*); 1757 + DWORD FormatMessageW(DWORD, PCVOID, DWORD, DWORD, LPWSTR, DWORD, va_list*); 1758 + BOOL FreeEnvironmentStringsA(LPSTR); 1759 + BOOL FreeEnvironmentStringsW(LPWSTR); 1760 + BOOL FreeLibrary(HMODULE); 1761 + void FreeLibraryAndExitThread(HMODULE, DWORD); // never returns 1762 + BOOL FreeResource(HGLOBAL); 1763 + UINT GetAtomNameA(ATOM, LPSTR, int); 1764 + UINT GetAtomNameW(ATOM, LPWSTR, int); 1765 + LPSTR GetCommandLineA(); 1766 + LPWSTR GetCommandLineW(); 1767 + BOOL GetCommConfig(HANDLE, LPCOMMCONFIG, PDWORD); 1768 + BOOL GetCommMask(HANDLE, PDWORD); 1769 + BOOL GetCommModemStatus(HANDLE, PDWORD); 1770 + BOOL GetCommProperties(HANDLE, LPCOMMPROP); 1771 + BOOL GetCommState(HANDLE, LPDCB); 1772 + BOOL GetCommTimeouts(HANDLE, LPCOMMTIMEOUTS); 1773 + BOOL GetComputerNameA(LPSTR, PDWORD); 1774 + BOOL GetComputerNameW(LPWSTR, PDWORD); 1775 + DWORD GetCurrentDirectoryA(DWORD, LPSTR); 1776 + DWORD GetCurrentDirectoryW(DWORD, LPWSTR); 1777 + HANDLE GetCurrentProcess(); 1778 + DWORD GetCurrentProcessId(); 1779 + HANDLE GetCurrentThread(); 1780 +/* In MinGW: 1781 +#ifdef _WIN32_WCE 1782 +extern DWORD GetCurrentThreadId(void); 1783 +#else 1784 +WINBASEAPI DWORD WINAPI GetCurrentThreadId(void); 1785 +#endif 1786 +*/ 1787 + DWORD GetCurrentThreadId(); 1788 + 1789 + alias GetTickCount GetCurrentTime; 1790 + 1791 + BOOL GetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, PDWORD); 1792 + BOOL GetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, PDWORD); 1793 + BOOL GetDiskFreeSpaceA(LPCSTR, PDWORD, PDWORD, PDWORD, PDWORD); 1794 + BOOL GetDiskFreeSpaceW(LPCWSTR, PDWORD, PDWORD, PDWORD, PDWORD); 1795 + BOOL GetDiskFreeSpaceExA(LPCSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER); 1796 + BOOL GetDiskFreeSpaceExW(LPCWSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER); 1797 + UINT GetDriveTypeA(LPCSTR); 1798 + UINT GetDriveTypeW(LPCWSTR); 1799 + LPSTR GetEnvironmentStrings(); // ??? 1800 + LPSTR GetEnvironmentStringsA(); 1801 + LPWSTR GetEnvironmentStringsW(); 1802 + DWORD GetEnvironmentVariableA(LPCSTR, LPSTR, DWORD); 1803 + DWORD GetEnvironmentVariableW(LPCWSTR, LPWSTR, DWORD); 1804 + BOOL GetExitCodeProcess(HANDLE, PDWORD); 1805 + BOOL GetExitCodeThread(HANDLE, PDWORD); 1806 + DWORD GetFileAttributesA(LPCSTR); 1807 + DWORD GetFileAttributesW(LPCWSTR); 1808 + BOOL GetFileInformationByHandle(HANDLE, LPBY_HANDLE_FILE_INFORMATION); 1809 + DWORD GetFileSize(HANDLE, PDWORD); 1810 + BOOL GetFileTime(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME); 1811 + DWORD GetFileType(HANDLE); 1812 + DWORD GetFullPathNameA(LPCSTR, DWORD, LPSTR, LPSTR*); 1813 + DWORD GetFullPathNameW(LPCWSTR, DWORD, LPWSTR, LPWSTR*); 1814 + DWORD GetLastError(); 1815 + void GetLocalTime(LPSYSTEMTIME); 1816 + DWORD GetLogicalDrives(); 1817 + DWORD GetLogicalDriveStringsA(DWORD, LPSTR); 1818 + DWORD GetLogicalDriveStringsW(DWORD, LPWSTR); 1819 + BOOL GetMailslotInfo(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD); 1820 + DWORD GetModuleFileNameA(HINSTANCE, LPSTR, DWORD); 1821 + DWORD GetModuleFileNameW(HINSTANCE, LPWSTR, DWORD); 1822 + HMODULE GetModuleHandleA(LPCSTR); 1823 + HMODULE GetModuleHandleW(LPCWSTR); 1824 + BOOL GetNamedPipeHandleStateA(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD); 1825 + BOOL GetNamedPipeHandleStateW(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD); 1826 + BOOL GetNamedPipeInfo(HANDLE, PDWORD, PDWORD, PDWORD, PDWORD); 1827 + BOOL GetOverlappedResult(HANDLE, LPOVERLAPPED, PDWORD, BOOL); 1828 + DWORD GetPriorityClass(HANDLE); 1829 + UINT GetPrivateProfileIntA(LPCSTR, LPCSTR, INT, LPCSTR); 1830 + UINT GetPrivateProfileIntW(LPCWSTR, LPCWSTR, INT, LPCWSTR); 1831 + DWORD GetPrivateProfileSectionA(LPCSTR, LPSTR, DWORD, LPCSTR); 1832 + DWORD GetPrivateProfileSectionW(LPCWSTR, LPWSTR, DWORD, LPCWSTR); 1833 + DWORD GetPrivateProfileSectionNamesA(LPSTR, DWORD, LPCSTR); 1834 + DWORD GetPrivateProfileSectionNamesW(LPWSTR, DWORD, LPCWSTR); 1835 + DWORD GetPrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPCSTR); 1836 + DWORD GetPrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD, LPCWSTR); 1837 + BOOL GetPrivateProfileStructA(LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR); 1838 + BOOL GetPrivateProfileStructW(LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR); 1839 + FARPROC GetProcAddress(HINSTANCE, LPCSTR); 1840 + BOOL GetProcessAffinityMask(HANDLE, PDWORD, PDWORD); 1841 + DWORD GetProcessVersion(DWORD); 1842 + UINT GetProfileIntA(LPCSTR, LPCSTR, INT); 1843 + UINT GetProfileIntW(LPCWSTR, LPCWSTR, INT); 1844 + DWORD GetProfileSectionA(LPCSTR, LPSTR, DWORD); 1845 + DWORD GetProfileSectionW(LPCWSTR, LPWSTR, DWORD); 1846 + DWORD GetProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD); 1847 + DWORD GetProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD); 1848 + DWORD GetShortPathNameA(LPCSTR, LPSTR, DWORD); 1849 + DWORD GetShortPathNameW(LPCWSTR, LPWSTR, DWORD); 1850 + VOID GetStartupInfoA(LPSTARTUPINFOA); 1851 + VOID GetStartupInfoW(LPSTARTUPINFOW); 1852 + HANDLE GetStdHandle(DWORD); 1853 + UINT GetSystemDirectoryA(LPSTR, UINT); 1854 + UINT GetSystemDirectoryW(LPWSTR, UINT); 1855 + VOID GetSystemInfo(LPSYSTEM_INFO); 1856 + VOID GetSystemTime(LPSYSTEMTIME); 1857 + BOOL GetSystemTimeAdjustment(PDWORD, PDWORD, PBOOL); 1858 + void GetSystemTimeAsFileTime(LPFILETIME); 1859 + UINT GetTempFileNameA(LPCSTR, LPCSTR, UINT, LPSTR); 1860 + UINT GetTempFileNameW(LPCWSTR, LPCWSTR, UINT, LPWSTR); 1861 + DWORD GetTempPathA(DWORD, LPSTR); 1862 + DWORD GetTempPathW(DWORD, LPWSTR); 1863 + BOOL GetThreadContext(HANDLE, LPCONTEXT); 1864 + int GetThreadPriority(HANDLE); 1865 + BOOL GetThreadSelectorEntry(HANDLE, DWORD, LPLDT_ENTRY); 1866 + DWORD GetTickCount(); 1867 + DWORD GetTimeZoneInformation(LPTIME_ZONE_INFORMATION); 1868 + BOOL GetUserNameA (LPSTR, PDWORD); 1869 + BOOL GetUserNameW(LPWSTR, PDWORD); 1870 + DWORD GetVersion(); 1871 + BOOL GetVersionExA(LPOSVERSIONINFOA); 1872 + BOOL GetVersionExW(LPOSVERSIONINFOW); 1873 + BOOL GetVolumeInformationA(LPCSTR, LPSTR, DWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD); 1874 + BOOL GetVolumeInformationW(LPCWSTR, LPWSTR, DWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD); 1875 + UINT GetWindowsDirectoryA(LPSTR, UINT); 1876 + UINT GetWindowsDirectoryW(LPWSTR, UINT); 1877 + DWORD GetWindowThreadProcessId(HWND, PDWORD); 1878 + ATOM GlobalAddAtomA(LPCSTR); 1879 + ATOM GlobalAddAtomW(LPCWSTR); 1880 + ATOM GlobalDeleteAtom(ATOM); 1881 + ATOM GlobalFindAtomA(LPCSTR); 1882 + ATOM GlobalFindAtomW(LPCWSTR); 1883 + UINT GlobalGetAtomNameA(ATOM, LPSTR, int); 1884 + UINT GlobalGetAtomNameW(ATOM, LPWSTR, int); 1885 + 1886 + bool HasOverlappedIoCompleted(LPOVERLAPPED lpOverlapped) { 1887 + return lpOverlapped.Internal != STATUS_PENDING; 1888 + } 1889 + 1890 + BOOL InitAtomTable(DWORD); 1891 + VOID InitializeCriticalSection(LPCRITICAL_SECTION); 1892 + /* ??? The next two are allegedly obsolete and "supported only for 1893 + * backward compatibility with the 16-bit Windows API". Yet the 1894 + * replacements IsBadReadPtr and IsBadWritePtr are apparently Win2000+ 1895 + * only. Where's the mistake? 1896 + */ 1897 + BOOL IsBadHugeReadPtr(PCVOID, UINT); 1898 + BOOL IsBadHugeWritePtr(PVOID, UINT); 1899 + BOOL IsBadReadPtr(PCVOID, UINT); 1900 + BOOL IsBadStringPtrA(LPCSTR, UINT); 1901 + BOOL IsBadStringPtrW(LPCWSTR, UINT); 1902 + BOOL IsBadWritePtr(PVOID, UINT); 1903 + void LeaveCriticalSection(LPCRITICAL_SECTION); 1904 + HINSTANCE LoadLibraryA(LPCSTR); 1905 + HINSTANCE LoadLibraryW(LPCWSTR); 1906 + HINSTANCE LoadLibraryExA(LPCSTR, HANDLE, DWORD); 1907 + HINSTANCE LoadLibraryExW(LPCWSTR, HANDLE, DWORD); 1908 + DWORD LoadModule(LPCSTR, PVOID); 1909 + HGLOBAL LoadResource(HINSTANCE, HRSRC); 1910 + BOOL LocalFileTimeToFileTime(CPtr!(FILETIME) , LPFILETIME); 1911 + BOOL LockFile(HANDLE, DWORD, DWORD, DWORD, DWORD); 1912 + PVOID LockResource(HGLOBAL); 1913 + 1914 + LPSTR lstrcatA(LPSTR, LPCSTR); 1915 + LPWSTR lstrcatW(LPWSTR, LPCWSTR); 1916 + int lstrcmpA(LPCSTR, LPCSTR); 1917 + int lstrcmpiA(LPCSTR, LPCSTR); 1918 + int lstrcmpiW(LPCWSTR, LPCWSTR); 1919 + int lstrcmpW(LPCWSTR, LPCWSTR); 1920 + LPSTR lstrcpyA(LPSTR, LPCSTR); 1921 + LPSTR lstrcpynA(LPSTR, LPCSTR, int); 1922 + LPWSTR lstrcpynW(LPWSTR, LPCWSTR, int); 1923 + LPWSTR lstrcpyW(LPWSTR, LPCWSTR); 1924 + int lstrlenA(LPCSTR); 1925 + int lstrlenW(LPCWSTR); 1926 + 1927 + BOOL MoveFileA(LPCSTR, LPCSTR); 1928 + BOOL MoveFileW(LPCWSTR, LPCWSTR); 1929 + int MulDiv(int, int, int); 1930 + HANDLE OpenEventA(DWORD, BOOL, LPCSTR); 1931 + HANDLE OpenEventW(DWORD, BOOL, LPCWSTR); 1932 + deprecated HFILE OpenFile(LPCSTR, LPOFSTRUCT, UINT); 1933 + HANDLE OpenMutexA(DWORD, BOOL, LPCSTR); 1934 + HANDLE OpenMutexW(DWORD, BOOL, LPCWSTR); 1935 + HANDLE OpenProcess(DWORD, BOOL, DWORD); 1936 + HANDLE OpenSemaphoreA(DWORD, BOOL, LPCSTR); 1937 + HANDLE OpenSemaphoreW(DWORD, BOOL, LPCWSTR); 1938 + void OutputDebugStringA(LPCSTR); 1939 + void OutputDebugStringW(LPCWSTR); 1940 + BOOL PeekNamedPipe(HANDLE, PVOID, DWORD, PDWORD, PDWORD, PDWORD); 1941 + BOOL PulseEvent(HANDLE); 1942 + BOOL PurgeComm(HANDLE, DWORD); 1943 + BOOL QueryPerformanceCounter(PLARGE_INTEGER); 1944 + BOOL QueryPerformanceFrequency(PLARGE_INTEGER); 1945 + DWORD QueueUserAPC(PAPCFUNC, HANDLE, ULONG_PTR); 1946 + void RaiseException(DWORD, DWORD, DWORD, CPtr!(DWORD)); 1947 + BOOL ReadFile(HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED); 1948 + BOOL ReadFileEx(HANDLE, PVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE); 1949 + BOOL ReadProcessMemory(HANDLE, PCVOID, PVOID, DWORD, PDWORD); 1950 + BOOL ReleaseMutex(HANDLE); 1951 + BOOL ReleaseSemaphore(HANDLE, LONG, LPLONG); 1952 + BOOL RemoveDirectoryA(LPCSTR); 1953 + BOOL RemoveDirectoryW(LPCWSTR); 1954 +/* In MinGW: 1955 +#ifdef _WIN32_WCE 1956 +extern BOOL ResetEvent(HANDLE); 1957 +#else 1958 +WINBASEAPI BOOL WINAPI ResetEvent(HANDLE); 1959 +#endif 1960 +*/ 1961 + BOOL ResetEvent(HANDLE); 1962 + DWORD ResumeThread(HANDLE); 1963 + DWORD SearchPathA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR*); 1964 + DWORD SearchPathW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR*); 1965 + BOOL SetCommBreak(HANDLE); 1966 + BOOL SetCommConfig(HANDLE, LPCOMMCONFIG, DWORD); 1967 + BOOL SetCommMask(HANDLE, DWORD); 1968 + BOOL SetCommState(HANDLE, LPDCB); 1969 + BOOL SetCommTimeouts(HANDLE, LPCOMMTIMEOUTS); 1970 + BOOL SetComputerNameA(LPCSTR); 1971 + BOOL SetComputerNameW(LPCWSTR); 1972 + BOOL SetCurrentDirectoryA(LPCSTR); 1973 + BOOL SetCurrentDirectoryW(LPCWSTR); 1974 + BOOL SetDefaultCommConfigA(LPCSTR, LPCOMMCONFIG, DWORD); 1975 + BOOL SetDefaultCommConfigW(LPCWSTR, LPCOMMCONFIG, DWORD); 1976 + BOOL SetEndOfFile(HANDLE); 1977 + BOOL SetEnvironmentVariableA(LPCSTR, LPCSTR); 1978 + BOOL SetEnvironmentVariableW(LPCWSTR, LPCWSTR); 1979 + UINT SetErrorMode(UINT); 1980 +/* In MinGW: 1981 +#ifdef _WIN32_WCE 1982 +extern BOOL SetEvent(HANDLE); 1983 +#else 1984 +WINBASEAPI BOOL WINAPI SetEvent(HANDLE); 1985 +#endif 1986 +*/ 1987 + BOOL SetEvent(HANDLE); 1988 + VOID SetFileApisToANSI(); 1989 + VOID SetFileApisToOEM(); 1990 + BOOL SetFileAttributesA(LPCSTR, DWORD); 1991 + BOOL SetFileAttributesW(LPCWSTR, DWORD); 1992 + DWORD SetFilePointer(HANDLE, LONG, PLONG, DWORD); 1993 + BOOL SetFileTime(HANDLE, CPtr!(FILETIME), CPtr!(FILETIME), CPtr!(FILETIME)); 1994 + deprecated UINT SetHandleCount(UINT); 1995 + void SetLastError(DWORD); 1996 + void SetLastErrorEx(DWORD, DWORD); 1997 + BOOL SetLocalTime(CPtr!(SYSTEMTIME)); 1998 + BOOL SetMailslotInfo(HANDLE, DWORD); 1999 + BOOL SetNamedPipeHandleState(HANDLE, PDWORD, PDWORD, PDWORD); 2000 + BOOL SetPriorityClass(HANDLE, DWORD); 2001 + BOOL SetStdHandle(DWORD, HANDLE); 2002 + BOOL SetSystemTime(CPtr!(SYSTEMTIME)); 2003 + DWORD SetThreadAffinityMask(HANDLE, DWORD); 2004 + BOOL SetThreadContext(HANDLE, CPtr!(CONTEXT)); 2005 + BOOL SetThreadPriority(HANDLE, int); 2006 + BOOL SetTimeZoneInformation(CPtr!(TIME_ZONE_INFORMATION)); 2007 + LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER); 2008 + BOOL SetupComm(HANDLE, DWORD, DWORD); 2009 + BOOL SetVolumeLabelA(LPCSTR, LPCSTR); 2010 + BOOL SetVolumeLabelW(LPCWSTR, LPCWSTR); 2011 + 2012 + DWORD SizeofResource(HINSTANCE, HRSRC); 2013 + void Sleep(DWORD); 2014 + DWORD SleepEx(DWORD, BOOL); 2015 + DWORD SuspendThread(HANDLE); 2016 + BOOL SystemTimeToFileTime(CPtr!(SYSTEMTIME), LPFILETIME); 2017 + BOOL TerminateProcess(HANDLE, UINT); 2018 + BOOL TerminateThread(HANDLE, DWORD); 2019 + DWORD TlsAlloc(); 2020 + BOOL TlsFree(DWORD); 2021 + PVOID TlsGetValue(DWORD); 2022 + BOOL TlsSetValue(DWORD, PVOID); 2023 + BOOL TransactNamedPipe(HANDLE, PVOID, DWORD, PVOID, DWORD, PDWORD, LPOVERLAPPED); 2024 + BOOL TransmitCommChar(HANDLE, char); 2025 + LONG UnhandledExceptionFilter(LPEXCEPTION_POINTERS); 2026 + BOOL UnlockFile(HANDLE, DWORD, DWORD, DWORD, DWORD); 2027 + BOOL WaitCommEvent(HANDLE, PDWORD, LPOVERLAPPED); 2028 + BOOL WaitForDebugEvent(LPDEBUG_EVENT, DWORD); 2029 + DWORD WaitForMultipleObjects(DWORD, CPtr!(HANDLE), BOOL, DWORD); 2030 + DWORD WaitForMultipleObjectsEx(DWORD, CPtr!(HANDLE), BOOL, DWORD, BOOL); 2031 + DWORD WaitForSingleObject(HANDLE, DWORD); 2032 + DWORD WaitForSingleObjectEx(HANDLE, DWORD, BOOL); 2033 + BOOL WaitNamedPipeA(LPCSTR, DWORD); 2034 + BOOL WaitNamedPipeW(LPCWSTR, DWORD); 2035 + // undocumented on MSDN 2036 + BOOL WinLoadTrustProvider(GUID*); 2037 + BOOL WriteFile(HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED); 2038 + BOOL WriteFileEx(HANDLE, PCVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE); 2039 + BOOL WritePrivateProfileSectionA(LPCSTR, LPCSTR, LPCSTR); 2040 + BOOL WritePrivateProfileSectionW(LPCWSTR, LPCWSTR, LPCWSTR); 2041 + BOOL WritePrivateProfileStringA(LPCSTR, LPCSTR, LPCSTR, LPCSTR); 2042 + BOOL WritePrivateProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR); 2043 + BOOL WritePrivateProfileStructA(LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR); 2044 + BOOL WritePrivateProfileStructW(LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR); 2045 + BOOL WriteProcessMemory(HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T*); 2046 + BOOL WriteProfileSectionA(LPCSTR, LPCSTR); 2047 + BOOL WriteProfileSectionW(LPCWSTR, LPCWSTR); 2048 + BOOL WriteProfileStringA(LPCSTR, LPCSTR, LPCSTR); 2049 + BOOL WriteProfileStringW(LPCWSTR, LPCWSTR, LPCWSTR); 2050 + 2051 + /* Memory allocation functions. 2052 + * MSDN documents these erroneously as Win2000+; thus it is uncertain what 2053 + * version compatibility they really have. 2054 + */ 2055 + HGLOBAL GlobalAlloc(UINT, DWORD); 2056 + HGLOBAL GlobalDiscard(HGLOBAL); 2057 + HGLOBAL GlobalFree(HGLOBAL); 2058 + HGLOBAL GlobalHandle(PCVOID); 2059 + LPVOID GlobalLock(HGLOBAL); 2060 + VOID GlobalMemoryStatus(LPMEMORYSTATUS); 2061 + HGLOBAL GlobalReAlloc(HGLOBAL, DWORD, UINT); 2062 + DWORD GlobalSize(HGLOBAL); 2063 + BOOL GlobalUnlock(HGLOBAL); 2064 + PVOID HeapAlloc(HANDLE, DWORD, DWORD); 2065 + SIZE_T HeapCompact(HANDLE, DWORD); 2066 + HANDLE HeapCreate(DWORD, DWORD, DWORD); 2067 + BOOL HeapDestroy(HANDLE); 2068 + BOOL HeapFree(HANDLE, DWORD, PVOID); 2069 + BOOL HeapLock(HANDLE); 2070 + PVOID HeapReAlloc(HANDLE, DWORD, PVOID, DWORD); 2071 + DWORD HeapSize(HANDLE, DWORD, PCVOID); 2072 + BOOL HeapUnlock(HANDLE); 2073 + BOOL HeapValidate(HANDLE, DWORD, PCVOID); 2074 + BOOL HeapWalk(HANDLE, LPPROCESS_HEAP_ENTRY); 2075 + HLOCAL LocalAlloc(UINT, SIZE_T); 2076 + HLOCAL LocalDiscard(HLOCAL); 2077 + HLOCAL LocalFree(HLOCAL); 2078 + HLOCAL LocalHandle(LPCVOID); 2079 + PVOID LocalLock(HLOCAL); 2080 + HLOCAL LocalReAlloc(HLOCAL, SIZE_T, UINT); 2081 + UINT LocalSize(HLOCAL); 2082 + BOOL LocalUnlock(HLOCAL); 2083 + PVOID VirtualAlloc(PVOID, DWORD, DWORD, DWORD); 2084 + PVOID VirtualAllocEx(HANDLE, PVOID, DWORD, DWORD, DWORD); 2085 + BOOL VirtualFree(PVOID, DWORD, DWORD); 2086 + BOOL VirtualFreeEx(HANDLE, PVOID, DWORD, DWORD); 2087 + BOOL VirtualLock(PVOID, DWORD); 2088 + BOOL VirtualProtect(PVOID, DWORD, DWORD, PDWORD); 2089 + BOOL VirtualProtectEx(HANDLE, PVOID, DWORD, DWORD, PDWORD); 2090 + DWORD VirtualQuery(LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD); 2091 + DWORD VirtualQueryEx(HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD); 2092 + BOOL VirtualUnlock(PVOID, DWORD); 2093 + 2094 + static if (_WIN32_WINDOWS >= 0x600) { 2095 + BOOL CancelIoEx(HANDLE, LPOVERLAPPED); 2096 + } 2097 + 2098 + static if (_WIN32_WINDOWS >= 0x410) { 2099 + BOOL CancelIo(HANDLE); 2100 + BOOL CancelWaitableTimer(HANDLE); 2101 + PVOID ConvertThreadToFiber(PVOID); 2102 + LPVOID CreateFiber(SIZE_T, LPFIBER_START_ROUTINE, LPVOID); 2103 + HANDLE CreateWaitableTimerA(LPSECURITY_ATTRIBUTES, BOOL, LPCSTR); 2104 + HANDLE CreateWaitableTimerW(LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR); 2105 + void DeleteFiber(PVOID); 2106 + BOOL GetFileAttributesExA(LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID); 2107 + BOOL GetFileAttributesExW(LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID); 2108 + DWORD GetLongPathNameA(LPCSTR, LPSTR, DWORD); 2109 + DWORD GetLongPathNameW(LPCWSTR, LPWSTR, DWORD); 2110 + BOOL InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION, DWORD); 2111 + BOOL IsDebuggerPresent(); 2112 + HANDLE OpenWaitableTimerA(DWORD, BOOL, LPCSTR); 2113 + HANDLE OpenWaitableTimerW(DWORD, BOOL, LPCWSTR); 2114 + DWORD QueryDosDeviceA(LPCSTR, LPSTR, DWORD); 2115 + DWORD QueryDosDeviceW(LPCWSTR, LPWSTR, DWORD); 2116 + BOOL SetWaitableTimer(HANDLE, CPtr!(LARGE_INTEGER), LONG, PTIMERAPCROUTINE, PVOID, BOOL); 2117 + void SwitchToFiber(PVOID); 2118 + } 2119 + 2120 + static if (WINVER >= 0x500) { 2121 + HANDLE OpenThread(DWORD, BOOL, DWORD); 2122 + } 2123 + 2124 + static if (_WIN32_WINNT_ONLY) { 2125 + BOOL AccessCheck(PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, PPRIVILEGE_SET, PDWORD, PDWORD, PBOOL); 2126 + BOOL AccessCheckAndAuditAlarmA(LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL); 2127 + BOOL AccessCheckAndAuditAlarmW(LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL); 2128 + BOOL AddAccessAllowedAce(PACL, DWORD, DWORD, PSID); 2129 + BOOL AddAccessDeniedAce(PACL, DWORD, DWORD, PSID); 2130 + BOOL AddAce(PACL, DWORD, DWORD, PVOID, DWORD); 2131 + BOOL AddAuditAccessAce(PACL, DWORD, DWORD, PSID, BOOL, BOOL); 2132 + BOOL AdjustTokenGroups(HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD); 2133 + BOOL AdjustTokenPrivileges(HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD); 2134 + BOOL AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*); 2135 + BOOL AllocateLocallyUniqueId(PLUID); 2136 + BOOL AreAllAccessesGranted(DWORD, DWORD); 2137 + BOOL AreAnyAccessesGranted(DWORD, DWORD); 2138 + BOOL BackupEventLogA(HANDLE, LPCSTR); 2139 + BOOL BackupEventLogW(HANDLE, LPCWSTR); 2140 + BOOL BackupRead(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*); 2141 + BOOL BackupSeek(HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID*); 2142 + BOOL BackupWrite(HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID*); 2143 + BOOL ClearEventLogA(HANDLE, LPCSTR); 2144 + BOOL ClearEventLogW(HANDLE, LPCWSTR); 2145 + BOOL CloseEventLog(HANDLE); 2146 + BOOL ConnectNamedPipe(HANDLE, LPOVERLAPPED); 2147 + BOOL CopySid(DWORD, PSID, PSID); 2148 + HANDLE CreateNamedPipeA(LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 2149 + HANDLE CreateNamedPipeW(LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 2150 + BOOL CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR*, BOOL, HANDLE, PGENERIC_MAPPING); 2151 + BOOL CreateProcessAsUserA(HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION); 2152 + BOOL CreateProcessAsUserW(HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION); 2153 + HANDLE CreateRemoteThread(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, LPVOID, DWORD, LPDWORD); 2154 + DWORD CreateTapePartition(HANDLE, DWORD, DWORD, DWORD); 2155 + BOOL DefineDosDeviceA(DWORD, LPCSTR, LPCSTR); 2156 + BOOL DefineDosDeviceW(DWORD, LPCWSTR, LPCWSTR); 2157 + BOOL DeleteAce(PACL, DWORD); 2158 + BOOL DeregisterEventSource(HANDLE); 2159 + BOOL DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*); 2160 + BOOL DeviceIoControl(HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, PDWORD, POVERLAPPED); 2161 + BOOL DisconnectNamedPipe(HANDLE); 2162 + BOOL DuplicateToken(HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE); 2163 + BOOL DuplicateTokenEx(HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECURITY_IMPERSONATION_LEVEL, TOKEN_TYPE, PHANDLE); 2164 + BOOL EqualPrefixSid(PSID, PSID); 2165 + BOOL EqualSid(PSID, PSID); 2166 + DWORD EraseTape(HANDLE, DWORD, BOOL); 2167 + HANDLE FindFirstFileExA(LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD); 2168 + HANDLE FindFirstFileExW(LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD); 2169 + BOOL FindFirstFreeAce(PACL, PVOID*); 2170 + PVOID FreeSid(PSID); 2171 + BOOL GetAce(PACL, DWORD, LPVOID*); 2172 + BOOL GetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS); 2173 + BOOL GetBinaryTypeA(LPCSTR, PDWORD); 2174 + BOOL GetBinaryTypeW(LPCWSTR, PDWORD); 2175 + DWORD GetCompressedFileSizeA(LPCSTR, PDWORD); 2176 + DWORD GetCompressedFileSizeW(LPCWSTR, PDWORD); 2177 + BOOL GetCurrentHwProfileA(LPHW_PROFILE_INFOA); 2178 + BOOL GetCurrentHwProfileW(LPHW_PROFILE_INFOW); 2179 + BOOL GetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD); 2180 + BOOL GetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD); 2181 + BOOL GetHandleInformation(HANDLE, PDWORD); 2182 + BOOL GetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD); 2183 + DWORD GetLengthSid(PSID); 2184 + BOOL GetNumberOfEventLogRecords(HANDLE, PDWORD); 2185 + BOOL GetOldestEventLogRecord(HANDLE, PDWORD); 2186 + BOOL GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD); 2187 + BOOL GetProcessPriorityBoost(HANDLE, PBOOL); 2188 + BOOL GetProcessShutdownParameters(PDWORD, PDWORD); 2189 + BOOL GetProcessTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME); 2190 + HWINSTA GetProcessWindowStation(); 2191 + BOOL GetProcessWorkingSetSize(HANDLE, PSIZE_T, PSIZE_T); 2192 + BOOL GetQueuedCompletionStatus(HANDLE, PDWORD, PULONG_PTR, LPOVERLAPPED*, DWORD); 2193 + BOOL GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, PDWORD); 2194 + BOOL GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL); 2195 + BOOL GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID*, LPBOOL); 2196 + DWORD GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR); 2197 + BOOL GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID*, LPBOOL); 2198 + BOOL GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, LPBOOL, PACL*, LPBOOL); 2199 + PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority(PSID); 2200 + DWORD GetSidLengthRequired(UCHAR); 2201 + PDWORD GetSidSubAuthority(PSID, DWORD); 2202 + PUCHAR GetSidSubAuthorityCount(PSID); 2203 + DWORD GetTapeParameters(HANDLE, DWORD, PDWORD, PVOID); 2204 + DWORD GetTapePosition(HANDLE, DWORD, PDWORD, PDWORD, PDWORD); 2205 + DWORD GetTapeStatus(HANDLE); 2206 + BOOL GetThreadPriorityBoost(HANDLE, PBOOL); 2207 + BOOL GetThreadTimes(HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME); 2208 + BOOL GetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD, PDWORD); 2209 + BOOL ImpersonateLoggedOnUser(HANDLE); 2210 + BOOL ImpersonateNamedPipeClient(HANDLE); 2211 + BOOL ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL); 2212 + BOOL InitializeAcl(PACL, DWORD, DWORD); 2213 + DWORD SetCriticalSectionSpinCount(LPCRITICAL_SECTION, DWORD); 2214 + BOOL InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR, DWORD); 2215 + BOOL InitializeSid(PSID, PSID_IDENTIFIER_AUTHORITY, BYTE); 2216 + BOOL IsProcessorFeaturePresent(DWORD); 2217 + BOOL IsTextUnicode(PCVOID, int, LPINT); 2218 + BOOL IsValidAcl(PACL); 2219 + BOOL IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR); 2220 + BOOL IsValidSid(PSID); 2221 + BOOL LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED); 2222 + BOOL LogonUserA(LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE); 2223 + BOOL LogonUserW(LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE); 2224 + BOOL LookupAccountNameA(LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDWORD, PSID_NAME_USE); 2225 + BOOL LookupAccountNameW(LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE); 2226 + BOOL LookupAccountSidA(LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWORD, PSID_NAME_USE); 2227 + BOOL LookupAccountSidW(LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE); 2228 + BOOL LookupPrivilegeDisplayNameA(LPCSTR, LPCSTR, LPSTR, PDWORD, PDWORD); 2229 + BOOL LookupPrivilegeDisplayNameW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD, PDWORD); 2230 + BOOL LookupPrivilegeNameA(LPCSTR, PLUID, LPSTR, PDWORD); 2231 + BOOL LookupPrivilegeNameW(LPCWSTR, PLUID, LPWSTR, PDWORD); 2232 + BOOL LookupPrivilegeValueA(LPCSTR, LPCSTR, PLUID); 2233 + BOOL LookupPrivilegeValueW(LPCWSTR, LPCWSTR, PLUID); 2234 + BOOL MakeAbsoluteSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, PACL, PDWORD, PACL, PDWORD, PSID, PDWORD, PSID, PDWORD); 2235 + BOOL MakeSelfRelativeSD(PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD); 2236 + VOID MapGenericMask(PDWORD, PGENERIC_MAPPING); 2237 + BOOL MoveFileExA(LPCSTR, LPCSTR, DWORD); 2238 + BOOL MoveFileExW(LPCWSTR, LPCWSTR, DWORD); 2239 + BOOL NotifyChangeEventLog(HANDLE, HANDLE); 2240 + BOOL ObjectCloseAuditAlarmA(LPCSTR, PVOID, BOOL); 2241 + BOOL ObjectCloseAuditAlarmW(LPCWSTR, PVOID, BOOL); 2242 + BOOL ObjectDeleteAuditAlarmA(LPCSTR, PVOID, BOOL); 2243 + BOOL ObjectDeleteAuditAlarmW(LPCWSTR, PVOID, BOOL); 2244 + BOOL ObjectOpenAuditAlarmA(LPCSTR, PVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL); 2245 + BOOL ObjectOpenAuditAlarmW(LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL); 2246 + BOOL ObjectPrivilegeAuditAlarmA(LPCSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL); 2247 + BOOL ObjectPrivilegeAuditAlarmW(LPCWSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL); 2248 + HANDLE OpenBackupEventLogA(LPCSTR, LPCSTR); 2249 + HANDLE OpenBackupEventLogW(LPCWSTR, LPCWSTR); 2250 + HANDLE OpenEventLogA(LPCSTR, LPCSTR); 2251 + HANDLE OpenEventLogW(LPCWSTR, LPCWSTR); 2252 + BOOL OpenProcessToken(HANDLE, DWORD, PHANDLE); 2253 + BOOL OpenThreadToken(HANDLE, DWORD, BOOL, PHANDLE); 2254 + BOOL PostQueuedCompletionStatus(HANDLE, DWORD, ULONG_PTR, LPOVERLAPPED); 2255 + DWORD PrepareTape(HANDLE, DWORD, BOOL); 2256 + BOOL PrivilegeCheck(HANDLE, PPRIVILEGE_SET, PBOOL); 2257 + BOOL PrivilegedServiceAuditAlarmA(LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, BOOL); 2258 + BOOL PrivilegedServiceAuditAlarmW(LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, BOOL); 2259 + BOOL ReadDirectoryChangesW(HANDLE, PVOID, DWORD, BOOL, DWORD, PDWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE); 2260 + BOOL ReadEventLogA(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*); 2261 + BOOL ReadEventLogW(HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD*, DWORD*); 2262 + BOOL ReadFileScatter(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOVERLAPPED); 2263 + HANDLE RegisterEventSourceA (LPCSTR, LPCSTR); 2264 + HANDLE RegisterEventSourceW(LPCWSTR, LPCWSTR); 2265 + BOOL ReportEventA(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCSTR*, PVOID); 2266 + BOOL ReportEventW(HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCWSTR*, PVOID); 2267 + BOOL RevertToSelf(); 2268 + BOOL SetAclInformation(PACL, PVOID, DWORD, ACL_INFORMATION_CLASS); 2269 + BOOL SetFileSecurityA(LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 2270 + BOOL SetFileSecurityW(LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 2271 + BOOL SetHandleInformation(HANDLE, DWORD, DWORD); 2272 + BOOL SetKernelObjectSecurity(HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 2273 + BOOL SetPrivateObjectSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR* , PGENERIC_MAPPING, HANDLE); 2274 + BOOL SetProcessAffinityMask(HANDLE, DWORD); 2275 + BOOL SetProcessPriorityBoost(HANDLE, BOOL); 2276 + BOOL SetProcessShutdownParameters(DWORD, DWORD); 2277 + BOOL SetProcessWorkingSetSize(HANDLE, SIZE_T, SIZE_T); 2278 + BOOL SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL); 2279 + BOOL SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR, PSID, BOOL); 2280 + BOOL SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR, PSID, BOOL); 2281 + BOOL SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL); 2282 + BOOL SetSystemTimeAdjustment(DWORD, BOOL); 2283 + DWORD SetTapeParameters(HANDLE, DWORD, PVOID); 2284 + DWORD SetTapePosition(HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL); 2285 + BOOL SetThreadPriorityBoost(HANDLE, BOOL); 2286 + BOOL SetThreadToken(PHANDLE, HANDLE); 2287 + BOOL SetTokenInformation(HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD); 2288 + DWORD SignalObjectAndWait(HANDLE, HANDLE, DWORD, BOOL); 2289 + BOOL SwitchToThread(); 2290 + BOOL SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME); 2291 + BOOL TryEnterCriticalSection(LPCRITICAL_SECTION); 2292 + BOOL UnlockFileEx(HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED); 2293 + BOOL UpdateResourceA(HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD); 2294 + BOOL UpdateResourceW(HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWORD); 2295 + BOOL WriteFileGather(HANDLE, FILE_SEGMENT_ELEMENT*, DWORD, LPDWORD, LPOVERLAPPED); 2296 + DWORD WriteTapemark(HANDLE, DWORD, DWORD, BOOL); 2297 + 2298 + static if (_WIN32_WINNT >= 0x500) { 2299 + BOOL AddAccessAllowedAceEx(PACL, DWORD, DWORD, DWORD, PSID); 2300 + BOOL AddAccessDeniedAceEx(PACL, DWORD, DWORD, DWORD, PSID); 2301 + PVOID AddVectoredExceptionHandler(ULONG, PVECTORED_EXCEPTION_HANDLER); 2302 + BOOL AllocateUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR); 2303 + BOOL AssignProcessToJobObject(HANDLE, HANDLE); 2304 + BOOL ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG); 2305 + LPVOID CreateFiberEx(SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID); 2306 + HANDLE CreateFileMappingA(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR); 2307 + HANDLE CreateFileMappingW(HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR); 2308 + BOOL CreateHardLinkA(LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES); 2309 + BOOL CreateHardLinkW(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES); 2310 + HANDLE CreateJobObjectA(LPSECURITY_ATTRIBUTES, LPCSTR); 2311 + HANDLE CreateJobObjectW(LPSECURITY_ATTRIBUTES, LPCWSTR); 2312 + BOOL CreateProcessWithLogonW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD, LPVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION); 2313 + HANDLE CreateTimerQueue(); 2314 + BOOL CreateTimerQueueTimer(PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, DWORD, DWORD, ULONG); 2315 + BOOL DeleteTimerQueue(HANDLE); 2316 + BOOL DeleteTimerQueueEx(HANDLE, HANDLE); 2317 + BOOL DeleteTimerQueueTimer(HANDLE, HANDLE, HANDLE); 2318 + BOOL DeleteVolumeMountPointA(LPCSTR); 2319 + BOOL DeleteVolumeMountPointW(LPCWSTR); 2320 + BOOL DnsHostnameToComputerNameA(LPCSTR, LPSTR, LPDWORD); 2321 + BOOL DnsHostnameToComputerNameW(LPCWSTR, LPWSTR, LPDWORD); 2322 + BOOL EncryptFileA(LPCSTR); 2323 + BOOL EncryptFileW(LPCWSTR); 2324 + BOOL FileEncryptionStatusA(LPCSTR, LPDWORD); 2325 + BOOL FileEncryptionStatusW(LPCWSTR, LPDWORD); 2326 + HANDLE FindFirstVolumeA(LPCSTR, DWORD); 2327 + HANDLE FindFirstVolumeMountPointA(LPSTR, LPSTR, DWORD); 2328 + HANDLE FindFirstVolumeMountPointW(LPWSTR, LPWSTR, DWORD); 2329 + HANDLE FindFirstVolumeW(LPCWSTR, DWORD); 2330 + BOOL FindNextVolumeA(HANDLE, LPCSTR, DWORD); 2331 + BOOL FindNextVolumeW(HANDLE, LPWSTR, DWORD); 2332 + BOOL FindNextVolumeMountPointA(HANDLE, LPSTR, DWORD); 2333 + BOOL FindNextVolumeMountPointW(HANDLE, LPWSTR, DWORD); 2334 + BOOL FindVolumeClose(HANDLE); 2335 + BOOL FindVolumeMountPointClose(HANDLE); 2336 + BOOL FlushViewOfFile(PCVOID, DWORD); 2337 + BOOL FreeUserPhysicalPages(HANDLE, PULONG_PTR, PULONG_PTR); 2338 + BOOL GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD); 2339 + BOOL GetComputerNameExW(COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD); 2340 + BOOL GetFileSizeEx(HANDLE, PLARGE_INTEGER); 2341 + BOOL GetModuleHandleExA(DWORD, LPCSTR, HMODULE*); 2342 + BOOL GetModuleHandleExW(DWORD, LPCWSTR, HMODULE*); 2343 + HANDLE GetProcessHeap(); 2344 + DWORD GetProcessHeaps(DWORD, PHANDLE); 2345 + BOOL GetProcessIoCounters(HANDLE, PIO_COUNTERS); 2346 + BOOL GetSystemPowerStatus(LPSYSTEM_POWER_STATUS); 2347 + UINT GetSystemWindowsDirectoryA(LPSTR, UINT); 2348 + UINT GetSystemWindowsDirectoryW(LPWSTR, UINT); 2349 + BOOL GetVolumeNameForVolumeMountPointA(LPCSTR, LPSTR, DWORD); 2350 + BOOL GetVolumeNameForVolumeMountPointW(LPCWSTR, LPWSTR, DWORD); 2351 + BOOL GetVolumePathNameA(LPCSTR, LPSTR, DWORD); 2352 + BOOL GetVolumePathNameW(LPCWSTR, LPWSTR, DWORD); 2353 + BOOL GlobalMemoryStatusEx(LPMEMORYSTATUSEX); 2354 + BOOL IsBadCodePtr(FARPROC); 2355 + BOOL IsSystemResumeAutomatic(); 2356 + BOOL MapUserPhysicalPages(PVOID, ULONG_PTR, PULONG_PTR); 2357 + BOOL MapUserPhysicalPagesScatter(PVOID*, ULONG_PTR, PULONG_PTR); 2358 + PVOID MapViewOfFile(HANDLE, DWORD, DWORD, DWORD, DWORD); 2359 + PVOID MapViewOfFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, PVOID); 2360 + HANDLE OpenFileMappingA(DWORD, BOOL, LPCSTR); 2361 + HANDLE OpenFileMappingW(DWORD, BOOL, LPCWSTR); 2362 + BOOL ProcessIdToSessionId(DWORD, DWORD*); 2363 + BOOL QueryInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD); 2364 + ULONG RemoveVectoredExceptionHandler(PVOID); 2365 + BOOL ReplaceFileA(LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID); 2366 + BOOL ReplaceFileW(LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID); 2367 + BOOL SetComputerNameExA(COMPUTER_NAME_FORMAT, LPCSTR); 2368 + BOOL SetComputerNameExW(COMPUTER_NAME_FORMAT, LPCWSTR); 2369 + BOOL SetFilePointerEx(HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWORD); 2370 + BOOL SetInformationJobObject(HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD); 2371 + BOOL SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL); 2372 + BOOL SetSystemPowerState(BOOL, BOOL); 2373 + EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE); 2374 + DWORD SetThreadIdealProcessor(HANDLE, DWORD); 2375 + BOOL SetVolumeMountPointA(LPCSTR, LPCSTR); 2376 + BOOL SetVolumeMountPointW(LPCWSTR, LPCWSTR); 2377 + BOOL TerminateJobObject(HANDLE, UINT); 2378 + BOOL UnmapViewOfFile(PVOID); 2379 + BOOL UnregisterWait(HANDLE); 2380 + BOOL UnregisterWaitEx(HANDLE, HANDLE); 2381 + BOOL VerifyVersionInfoA(LPOSVERSIONINFOEXA, DWORD, DWORDLONG); 2382 + BOOL VerifyVersionInfoW(LPOSVERSIONINFOEXW, DWORD, DWORDLONG); 2383 + } 2384 + 2385 + static if (_WIN32_WINNT >= 0x501) { 2386 + BOOL ActivateActCtx(HANDLE, ULONG_PTR*); 2387 + void AddRefActCtx(HANDLE); 2388 + BOOL CheckNameLegalDOS8Dot3A(LPCSTR, LPSTR, DWORD, PBOOL, PBOOL); 2389 + BOOL CheckNameLegalDOS8Dot3W(LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL); 2390 + BOOL CheckRemoteDebuggerPresent(HANDLE, PBOOL); 2391 + BOOL ConvertFiberToThread(); 2392 + HANDLE CreateActCtxA(PCACTCTXA); 2393 + HANDLE CreateActCtxW(PCACTCTXW); 2394 + HANDLE CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE); 2395 + BOOL DeactivateActCtx(DWORD, ULONG_PTR); 2396 + BOOL DebugActiveProcessStop(DWORD); 2397 + BOOL DebugBreakProcess(HANDLE); 2398 + BOOL DebugSetProcessKillOnExit(BOOL); 2399 + BOOL FindActCtxSectionGuid(DWORD, CPtr!(GUID), ULONG, CPtr!(GUID), 2400 + PACTCTX_SECTION_KEYED_DATA); 2401 + BOOL FindActCtxSectionStringA(DWORD, CPtr!(GUID), ULONG, LPCSTR, 2402 + PACTCTX_SECTION_KEYED_DATA); 2403 + BOOL FindActCtxSectionStringW(DWORD, CPtr!(GUID), ULONG, LPCWSTR, 2404 + PACTCTX_SECTION_KEYED_DATA); 2405 + BOOL GetCurrentActCtx(HANDLE*); 2406 + VOID GetNativeSystemInfo(LPSYSTEM_INFO); 2407 + BOOL GetProcessHandleCount(HANDLE, PDWORD); 2408 + BOOL GetSystemRegistryQuota(PDWORD, PDWORD); 2409 + BOOL GetSystemTimes(LPFILETIME, LPFILETIME, LPFILETIME); 2410 + UINT GetSystemWow64DirectoryA(LPSTR, UINT); 2411 + UINT GetSystemWow64DirectoryW(LPWSTR, UINT); 2412 + BOOL GetThreadIOPendingFlag(HANDLE, PBOOL); 2413 + BOOL GetVolumePathNamesForVolumeNameA(LPCSTR, LPSTR, DWORD, PDWORD); 2414 + BOOL GetVolumePathNamesForVolumeNameW(LPCWSTR, LPWSTR, DWORD, PDWORD); 2415 + UINT GetWriteWatch(DWORD, PVOID, SIZE_T, PVOID*, PULONG_PTR, PULONG); 2416 + BOOL HeapQueryInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T); 2417 + BOOL HeapSetInformation(HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T); 2418 + BOOL IsProcessInJob(HANDLE, HANDLE, PBOOL); 2419 + BOOL IsWow64Process(HANDLE, PBOOL); 2420 + BOOL QueryActCtxW(DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T*); 2421 + BOOL QueryMemoryResourceNotification(HANDLE, PBOOL); 2422 + void ReleaseActCtx(HANDLE); 2423 + UINT ResetWriteWatch(LPVOID, SIZE_T); 2424 + BOOL SetFileShortNameA(HANDLE, LPCSTR); 2425 + BOOL SetFileShortNameW(HANDLE, LPCWSTR); 2426 + BOOL SetFileValidData(HANDLE, LONGLONG); 2427 + BOOL ZombifyActCtx(HANDLE); 2428 + } 2429 + 2430 + static if (_WIN32_WINNT >= 0x502) { 2431 + DWORD GetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWORD); 2432 + DWORD GetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, DWORD); 2433 + DWORD GetDllDirectoryA(DWORD, LPSTR); 2434 + DWORD GetDllDirectoryW(DWORD, LPWSTR); 2435 + DWORD GetProcessId(HANDLE); 2436 + HANDLE ReOpenFile(HANDLE, DWORD, DWORD, DWORD); 2437 + BOOL SetDllDirectoryA(LPCSTR); 2438 + BOOL SetDllDirectoryW(LPCWSTR); 2439 + BOOL SetFirmwareEnvironmentVariableA(LPCSTR, LPCSTR, PVOID, DWORD); 2440 + BOOL SetFirmwareEnvironmentVariableW(LPCWSTR, LPCWSTR, PVOID, DWORD); 2441 + } 2442 + } 2443 + 2444 + // ??? 2445 + static if (_WIN32_WINNT >= 0x510) { 2446 + VOID RestoreLastError(DWORD); 2447 + } 2100 2448 } 2101 -alias _TIME_ZONE_INFORMATION TIME_ZONE_INFORMATION; 2102 -alias _TIME_ZONE_INFORMATION* PTIME_ZONE_INFORMATION; 2103 -alias _TIME_ZONE_INFORMATION* LPTIME_ZONE_INFORMATION; 2449 + 2450 + 2451 +version (Unicode) { 2452 + alias STARTUPINFOW STARTUPINFO; 2453 + alias WIN32_FIND_DATAW WIN32_FIND_DATA; 2454 + alias ENUMRESLANGPROCW ENUMRESLANGPROC; 2455 + alias ENUMRESNAMEPROCW ENUMRESNAMEPROC; 2456 + alias ENUMRESTYPEPROCW ENUMRESTYPEPROC; 2457 + alias AddAtomW AddAtom; 2458 + alias BeginUpdateResourceW BeginUpdateResource; 2459 + alias BuildCommDCBW BuildCommDCB; 2460 + alias BuildCommDCBAndTimeoutsW BuildCommDCBAndTimeouts; 2461 + alias CallNamedPipeW CallNamedPipe; 2462 + alias CommConfigDialogW CommConfigDialog; 2463 + alias CopyFileW CopyFile; 2464 + alias CopyFileExW CopyFileEx; 2465 + alias CreateDirectoryW CreateDirectory; 2466 + alias CreateDirectoryExW CreateDirectoryEx; 2467 + alias CreateEventW CreateEvent; 2468 + alias CreateFileW CreateFile; 2469 + alias CreateMailslotW CreateMailslot; 2470 + alias CreateMutexW CreateMutex; 2471 + alias CreateProcessW CreateProcess; 2472 + alias CreateSemaphoreW CreateSemaphore; 2473 + alias DeleteFileW DeleteFile; 2474 + alias EndUpdateResourceW EndUpdateResource; 2475 + alias EnumResourceLanguagesW EnumResourceLanguages; 2476 + alias EnumResourceNamesW EnumResourceNames; 2477 + alias EnumResourceTypesW EnumResourceTypes; 2478 + alias ExpandEnvironmentStringsW ExpandEnvironmentStrings; 2479 + alias FatalAppExitW FatalAppExit; 2480 + alias FindAtomW FindAtom; 2481 + alias FindFirstChangeNotificationW FindFirstChangeNotification; 2482 + alias FindFirstFileW FindFirstFile; 2483 + alias FindNextFileW FindNextFile; 2484 + alias FindResourceW FindResource; 2485 + alias FindResourceExW FindResourceEx; 2486 + alias FormatMessageW FormatMessage; 2487 + alias FreeEnvironmentStringsW FreeEnvironmentStrings; 2488 + alias GetAtomNameW GetAtomName; 2489 + alias GetCommandLineW GetCommandLine; 2490 + alias GetComputerNameW GetComputerName; 2491 + alias GetCurrentDirectoryW GetCurrentDirectory; 2492 + alias GetDefaultCommConfigW GetDefaultCommConfig; 2493 + alias GetDiskFreeSpaceW GetDiskFreeSpace; 2494 + alias GetDiskFreeSpaceExW GetDiskFreeSpaceEx; 2495 + alias GetDriveTypeW GetDriveType; 2496 + alias GetEnvironmentStringsW GetEnvironmentStrings; 2497 + alias GetEnvironmentVariableW GetEnvironmentVariable; 2498 + alias GetFileAttributesW GetFileAttributes; 2499 + alias GetFullPathNameW GetFullPathName; 2500 + alias GetLogicalDriveStringsW GetLogicalDriveStrings; 2501 + alias GetModuleFileNameW GetModuleFileName; 2502 + alias GetModuleHandleW GetModuleHandle; 2503 + alias GetNamedPipeHandleStateW GetNamedPipeHandleState; 2504 + alias GetPrivateProfileIntW GetPrivateProfileInt; 2505 + alias GetPrivateProfileSectionW GetPrivateProfileSection; 2506 + alias GetPrivateProfileSectionNamesW GetPrivateProfileSectionNames; 2507 + alias GetPrivateProfileStringW GetPrivateProfileString; 2508 + alias GetPrivateProfileStructW GetPrivateProfileStruct; 2509 + alias GetProfileIntW GetProfileInt; 2510 + alias GetProfileSectionW GetProfileSection; 2511 + alias GetProfileStringW GetProfileString; 2512 + alias GetShortPathNameW GetShortPathName; 2513 + alias GetStartupInfoW GetStartupInfo; 2514 + alias GetSystemDirectoryW GetSystemDirectory; 2515 + alias GetTempFileNameW GetTempFileName; 2516 + alias GetTempPathW GetTempPath; 2517 + alias GetUserNameW GetUserName; 2518 + alias GetVersionExW GetVersionEx; 2519 + alias GetVolumeInformationW GetVolumeInformation; 2520 + alias GetWindowsDirectoryW GetWindowsDirectory; 2521 + alias GlobalAddAtomW GlobalAddAtom; 2522 + alias GlobalFindAtomW GlobalFindAtom; 2523 + alias GlobalGetAtomNameW GlobalGetAtomName; 2524 + alias IsBadStringPtrW IsBadStringPtr; 2525 + alias LoadLibraryW LoadLibrary; 2526 + alias LoadLibraryExW LoadLibraryEx; 2527 + alias lstrcatW lstrcat; 2528 + alias lstrcmpW lstrcmp; 2529 + alias lstrcmpiW lstrcmpi; 2530 + alias lstrcpyW lstrcpy; 2531 + alias lstrcpynW lstrcpyn; 2532 + alias lstrlenW lstrlen; 2533 + alias MoveFileW MoveFile; 2534 + alias OpenEventW OpenEvent; 2535 + alias OpenMutexW OpenMutex; 2536 + alias OpenSemaphoreW OpenSemaphore; 2537 + alias OutputDebugStringW OutputDebugString; 2538 + alias RemoveDirectoryW RemoveDirectory; 2539 + alias SearchPathW SearchPath; 2540 + alias SetComputerNameW SetComputerName; 2541 + alias SetCurrentDirectoryW SetCurrentDirectory; 2542 + alias SetDefaultCommConfigW SetDefaultCommConfig; 2543 + alias SetEnvironmentVariableW SetEnvironmentVariable; 2544 + alias SetFileAttributesW SetFileAttributes; 2545 + alias SetVolumeLabelW SetVolumeLabel; 2546 + alias WaitNamedPipeW WaitNamedPipe; 2547 + alias WritePrivateProfileSectionW WritePrivateProfileSection; 2548 + alias WritePrivateProfileStringW WritePrivateProfileString; 2549 + alias WritePrivateProfileStructW WritePrivateProfileStruct; 2550 + alias WriteProfileSectionW WriteProfileSection; 2551 + alias WriteProfileStringW WriteProfileString; 2552 + 2553 + static if (_WIN32_WINDOWS >= 0x410) { 2554 + alias CreateWaitableTimerW CreateWaitableTimer; 2555 + alias GetFileAttributesExW GetFileAttributesEx; 2556 + alias GetLongPathNameW GetLongPathName; 2557 + alias QueryDosDeviceW QueryDosDevice; 2558 + } 2559 + 2560 + static if (_WIN32_WINNT_ONLY) { 2561 + alias HW_PROFILE_INFOW HW_PROFILE_INFO; 2562 + alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm; 2563 + alias BackupEventLogW BackupEventLog; 2564 + alias ClearEventLogW ClearEventLog; 2565 + alias CreateNamedPipeW CreateNamedPipe; 2566 + alias CreateProcessAsUserW CreateProcessAsUser; 2567 + alias DefineDosDeviceW DefineDosDevice; 2568 + alias FindFirstFileExW FindFirstFileEx; 2569 + alias GetBinaryTypeW GetBinaryType; 2570 + alias GetCompressedFileSizeW GetCompressedFileSize; 2571 + alias GetFileSecurityW GetFileSecurity; 2572 + alias LogonUserW LogonUser; 2573 + alias LookupAccountNameW LookupAccountName; 2574 + alias LookupAccountSidW LookupAccountSid; 2575 + alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName; 2576 + alias LookupPrivilegeNameW LookupPrivilegeName; 2577 + alias LookupPrivilegeValueW LookupPrivilegeValue; 2578 + alias MoveFileExW MoveFileEx; 2579 + alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm; 2580 + alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm; 2581 + alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm; 2582 + alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm; 2583 + alias OpenBackupEventLogW OpenBackupEventLog; 2584 + alias OpenEventLogW OpenEventLog; 2585 + alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm; 2586 + alias ReadEventLogW ReadEventLog; 2587 + alias RegisterEventSourceW RegisterEventSource; 2588 + alias ReportEventW ReportEvent; 2589 + alias SetFileSecurityW SetFileSecurity; 2590 + alias UpdateResourceW UpdateResource; 2104 2591 2105 -extern(Windows) export BOOL SystemTimeToTzSpecificLocalTime( 2106 - LPTIME_ZONE_INFORMATION lpTimeZoneInformation, 2107 - LPSYSTEMTIME lpUniversalTime, 2108 - LPSYSTEMTIME lpLocalTime); 2592 + static if (_WIN32_WINNT >= 0x500) { 2593 + alias CreateFileMappingW CreateFileMapping; 2594 + alias CreateHardLinkW CreateHardLink; 2595 + alias CreateJobObjectW CreateJobObject; 2596 + alias DeleteVolumeMountPointW DeleteVolumeMountPoint; 2597 + alias DnsHostnameToComputerNameW DnsHostnameToComputerName; 2598 + alias EncryptFileW EncryptFile; 2599 + alias FileEncryptionStatusW FileEncryptionStatus; 2600 + alias FindFirstVolumeW FindFirstVolume; 2601 + alias FindFirstVolumeMountPointW FindFirstVolumeMountPoint; 2602 + alias FindNextVolumeW FindNextVolume; 2603 + alias FindNextVolumeMountPointW FindNextVolumeMountPoint; 2604 + alias GetModuleHandleExW GetModuleHandleEx; 2605 + alias GetSystemWindowsDirectoryW GetSystemWindowsDirectory; 2606 + alias GetVolumeNameForVolumeMountPointW GetVolumeNameForVolumeMountPoint; 2607 + alias GetVolumePathNameW GetVolumePathName; 2608 + alias OpenFileMappingW OpenFileMapping; 2609 + alias ReplaceFileW ReplaceFile; 2610 + alias SetVolumeMountPointW SetVolumeMountPoint; 2611 + alias VerifyVersionInfoW VerifyVersionInfo; 2612 + } 2109 2613 2110 -extern(Windows) export BOOL TzSpecificLocalTimeToSystemTime( 2111 - LPTIME_ZONE_INFORMATION lpTimeZoneInformation, 2112 - LPSYSTEMTIME lpLocalTime, 2113 - LPSYSTEMTIME lpUniversalTime); 2114 - 2115 -extern(Windows) export DWORD GetTimeZoneInformation( 2116 - LPTIME_ZONE_INFORMATION lpTimeZoneInformation); 2614 + static if (_WIN32_WINNT >= 0x501) { 2615 + alias ACTCTXW ACTCTX; 2616 + alias CheckNameLegalDOS8Dot3W CheckNameLegalDOS8Dot3; 2617 + alias CreateActCtxW CreateActCtx; 2618 + alias FindActCtxSectionStringW FindActCtxSectionString; 2619 + alias GetSystemWow64DirectoryW GetSystemWow64Directory; 2620 + alias GetVolumePathNamesForVolumeNameW GetVolumePathNamesForVolumeName; 2621 + alias SetFileShortNameW SetFileShortName; 2622 + } 2117 2623 2118 -extern(Windows) export BOOL SetTimeZoneInformation( 2119 - TIME_ZONE_INFORMATION *lpTimeZoneInformation); 2624 + static if (_WIN32_WINNT >= 0x502) { 2625 + alias SetFirmwareEnvironmentVariableW SetFirmwareEnvironmentVariable; 2626 + alias SetDllDirectoryW SetDllDirectory; 2627 + alias GetDllDirectoryW GetDllDirectory; 2628 + } 2629 + } 2120 2630 2121 -extern(Windows) export BOOL SystemTimeToFileTime( 2122 - SYSTEMTIME *lpSystemTime, 2123 - LPFILETIME lpFileTime); 2124 - 2125 -extern(Windows) export BOOL FileTimeToLocalFileTime( 2126 - FILETIME *lpFileTime, 2127 - LPFILETIME lpLocalFileTime); 2631 +} else { 2632 + alias STARTUPINFOA STARTUPINFO; 2633 + alias WIN32_FIND_DATAA WIN32_FIND_DATA; 2634 + alias ENUMRESLANGPROCW ENUMRESLANGPROC; 2635 + alias ENUMRESNAMEPROCW ENUMRESNAMEPROC; 2636 + alias ENUMRESTYPEPROCW ENUMRESTYPEPROC; 2637 + alias AddAtomA AddAtom; 2638 + alias BeginUpdateResourceA BeginUpdateResource; 2639 + alias BuildCommDCBA BuildCommDCB; 2640 + alias BuildCommDCBAndTimeoutsA BuildCommDCBAndTimeouts; 2641 + alias CallNamedPipeA CallNamedPipe; 2642 + alias CommConfigDialogA CommConfigDialog; 2643 + alias CopyFileA CopyFile; 2644 + alias CopyFileExA CopyFileEx; 2645 + alias CreateDirectoryA CreateDirectory; 2646 + alias CreateDirectoryExA CreateDirectoryEx; 2647 + alias CreateEventA CreateEvent; 2648 + alias CreateFileA CreateFile; 2649 + alias CreateMailslotA CreateMailslot; 2650 + alias CreateMutexA CreateMutex; 2651 + alias CreateProcessA CreateProcess; 2652 + alias CreateSemaphoreA CreateSemaphore; 2653 + alias DeleteFileA DeleteFile; 2654 + alias EndUpdateResourceA EndUpdateResource; 2655 + alias EnumResourceLanguagesA EnumResourceLanguages; 2656 + alias EnumResourceNamesA EnumResourceNames; 2657 + alias EnumResourceTypesA EnumResourceTypes; 2658 + alias ExpandEnvironmentStringsA ExpandEnvironmentStrings; 2659 + alias FatalAppExitA FatalAppExit; 2660 + alias FindAtomA FindAtom; 2661 + alias FindFirstChangeNotificationA FindFirstChangeNotification; 2662 + alias FindFirstFileA FindFirstFile; 2663 + alias FindNextFileA FindNextFile; 2664 + alias FindResourceA FindResource; 2665 + alias FindResourceExA FindResourceEx; 2666 + alias FormatMessageA FormatMessage; 2667 + alias FreeEnvironmentStringsA FreeEnvironmentStrings; 2668 + alias GetAtomNameA GetAtomName; 2669 + alias GetCommandLineA GetCommandLine; 2670 + alias GetComputerNameA GetComputerName; 2671 + alias GetCurrentDirectoryA GetCurrentDirectory; 2672 + alias GetDefaultCommConfigA GetDefaultCommConfig; 2673 + alias GetDiskFreeSpaceA GetDiskFreeSpace; 2674 + alias GetDiskFreeSpaceExA GetDiskFreeSpaceEx; 2675 + alias GetDriveTypeA GetDriveType; 2676 + alias GetEnvironmentVariableA GetEnvironmentVariable; 2677 + alias GetFileAttributesA GetFileAttributes; 2678 + alias GetFullPathNameA GetFullPathName; 2679 + alias GetLogicalDriveStringsA GetLogicalDriveStrings; 2680 + alias GetNamedPipeHandleStateA GetNamedPipeHandleState; 2681 + alias GetModuleHandleA GetModuleHandle; 2682 + alias GetModuleFileNameA GetModuleFileName; 2683 + alias GetPrivateProfileIntA GetPrivateProfileInt; 2684 + alias GetPrivateProfileSectionA GetPrivateProfileSection; 2685 + alias GetPrivateProfileSectionNamesA GetPrivateProfileSectionNames; 2686 + alias GetPrivateProfileStringA GetPrivateProfileString; 2687 + alias GetPrivateProfileStructA GetPrivateProfileStruct; 2688 + alias GetProfileIntA GetProfileInt; 2689 + alias GetProfileSectionA GetProfileSection; 2690 + alias GetProfileStringA GetProfileString; 2691 + alias GetShortPathNameA GetShortPathName; 2692 + alias GetStartupInfoA GetStartupInfo; 2693 + alias GetSystemDirectoryA GetSystemDirectory; 2694 + alias GetTempFileNameA GetTempFileName; 2695 + alias GetTempPathA GetTempPath; 2696 + alias GetUserNameA GetUserName; 2697 + alias GetVersionExA GetVersionEx; 2698 + alias GetVolumeInformationA GetVolumeInformation; 2699 + alias GetWindowsDirectoryA GetWindowsDirectory; 2700 + alias GlobalAddAtomA GlobalAddAtom; 2701 + alias GlobalFindAtomA GlobalFindAtom; 2702 + alias GlobalGetAtomNameA GlobalGetAtomName; 2703 + alias IsBadStringPtrA IsBadStringPtr; 2704 + alias LoadLibraryA LoadLibrary; 2705 + alias LoadLibraryExA LoadLibraryEx; 2706 + alias lstrcatA lstrcat; 2707 + alias lstrcmpA lstrcmp; 2708 + alias lstrcmpiA lstrcmpi; 2709 + alias lstrcpyA lstrcpy; 2710 + alias lstrcpynA lstrcpyn; 2711 + alias lstrlenA lstrlen; 2712 + alias MoveFileA MoveFile; 2713 + alias OpenEventA OpenEvent; 2714 + alias OpenMutexA OpenMutex; 2715 + alias OpenSemaphoreA OpenSemaphore; 2716 + alias OutputDebugStringA OutputDebugString; 2717 + alias RemoveDirectoryA RemoveDirectory; 2718 + alias SearchPathA SearchPath; 2719 + alias SetComputerNameA SetComputerName; 2720 + alias SetCurrentDirectoryA SetCurrentDirectory; 2721 + alias SetDefaultCommConfigA SetDefaultCommConfig; 2722 + alias SetEnvironmentVariableA SetEnvironmentVariable; 2723 + alias SetFileAttributesA SetFileAttributes; 2724 + alias SetVolumeLabelA SetVolumeLabel; 2725 + alias WaitNamedPipeA WaitNamedPipe; 2726 + alias WritePrivateProfileSectionA WritePrivateProfileSection; 2727 + alias WritePrivateProfileStringA WritePrivateProfileString; 2728 + alias WritePrivateProfileStructA WritePrivateProfileStruct; 2729 + alias WriteProfileSectionA WriteProfileSection; 2730 + alias WriteProfileStringA WriteProfileString; 2128 2731 2129 -extern(Windows) export BOOL LocalFileTimeToFileTime( 2130 - FILETIME *lpLocalFileTime, 2131 - LPFILETIME lpFileTime); 2132 - 2133 -extern(Windows) export BOOL FileTimeToSystemTime( 2134 - FILETIME *lpFileTime, 2135 - LPSYSTEMTIME lpSystemTime); 2136 - 2137 -extern(Windows) export LONG CompareFileTime( 2138 - FILETIME *lpFileTime1, 2139 - FILETIME *lpFileTime2); 2140 - 2141 -extern(Windows) export BOOL FileTimeToDosDateTime( 2142 - FILETIME *lpFileTime, 2143 - LPWORD lpFatDate, 2144 - LPWORD lpFatTime); 2145 - 2146 -extern(Windows) export BOOL DosDateTimeToFileTime( 2147 - WORD wFatDate, 2148 - WORD wFatTime, 2149 - LPFILETIME lpFileTime); 2732 + static if (_WIN32_WINDOWS >= 0x410) { 2733 + alias CreateWaitableTimerA CreateWaitableTimer; 2734 + alias GetFileAttributesExA GetFileAttributesEx; 2735 + alias GetLongPathNameA GetLongPathName; 2736 + alias QueryDosDeviceA QueryDosDevice; 2737 + } 2150 2738 2151 -extern(Windows) export DWORD GetTickCount(); 2152 - 2153 -extern(Windows) export BOOL SetSystemTimeAdjustment( 2154 - DWORD dwTimeAdjustment, 2155 - BOOL bTimeAdjustmentDisabled); 2156 - 2157 -extern(Windows) export BOOL GetSystemTimeAdjustment( 2158 - PDWORD lpTimeAdjustment, 2159 - PDWORD lpTimeIncrement, 2160 - PBOOL lpTimeAdjustmentDisabled); 2161 - 2162 -// #if !defined(MIDL_PASS) 2163 -extern(Windows) export DWORD FormatMessageA( 2164 - DWORD dwFlags, 2165 - LPCVOID lpSource, 2166 - DWORD dwMessageId, 2167 - DWORD dwLanguageId, 2168 - LPSTR lpBuffer, 2169 - DWORD nSize, 2170 - va_list *Arguments); 2171 -extern(Windows) export DWORD FormatMessageW( 2172 - DWORD dwFlags, 2173 - LPCVOID lpSource, 2174 - DWORD dwMessageId, 2175 - DWORD dwLanguageId, 2176 - LPWSTR lpBuffer, 2177 - DWORD nSize, 2178 - va_list *Arguments); 2179 -// #ifdef UNICODE 2180 -alias FormatMessageW FormatMessage; 2181 -// #else 2182 -// #... 2183 -// #endif // !UNICODE 2184 -// #endif 2185 - 2186 -enum : uint { FORMAT_MESSAGE_ALLOCATE_BUFFER = 0x00000100 } 2187 -enum : uint { FORMAT_MESSAGE_IGNORE_INSERTS = 0x00000200 } 2188 -enum : uint { FORMAT_MESSAGE_FROM_STRING = 0x00000400 } 2189 -enum : uint { FORMAT_MESSAGE_FROM_HMODULE = 0x00000800 } 2190 -enum : uint { FORMAT_MESSAGE_FROM_SYSTEM = 0x00001000 } 2191 -enum : uint { FORMAT_MESSAGE_ARGUMENT_ARRAY = 0x00002000 } 2192 -enum : uint { FORMAT_MESSAGE_MAX_WIDTH_MASK = 0x000000FF } 2193 - 2194 -extern(Windows) export BOOL CreatePipe( 2195 - PHANDLE hReadPipe, 2196 - PHANDLE hWritePipe, 2197 - LPSECURITY_ATTRIBUTES lpPipeAttributes, 2198 - DWORD nSize); 2739 + static if (_WIN32_WINNT_ONLY) { 2740 + alias HW_PROFILE_INFOA HW_PROFILE_INFO; 2741 + alias AccessCheckAndAuditAlarmA AccessCheckAndAuditAlarm; 2742 + alias BackupEventLogA BackupEventLog; 2743 + alias ClearEventLogA ClearEventLog; 2744 + alias CreateNamedPipeA CreateNamedPipe; 2745 + alias CreateProcessAsUserA CreateProcessAsUser; 2746 + alias DefineDosDeviceA DefineDosDevice; 2747 + alias FindFirstFileExA FindFirstFileEx; 2748 + alias GetBinaryTypeA GetBinaryType; 2749 + alias GetCompressedFileSizeA GetCompressedFileSize; 2750 + alias GetFileSecurityA GetFileSecurity; 2751 + alias LogonUserA LogonUser; 2752 + alias LookupAccountNameA LookupAccountName; 2753 + alias LookupAccountSidA LookupAccountSid; 2754 + alias LookupPrivilegeDisplayNameA LookupPrivilegeDisplayName; 2755 + alias LookupPrivilegeNameA LookupPrivilegeName; 2756 + alias LookupPrivilegeValueA LookupPrivilegeValue; 2757 + alias MoveFileExA MoveFileEx; 2758 + alias ObjectCloseAuditAlarmA ObjectCloseAuditAlarm; 2759 + alias ObjectDeleteAuditAlarmA ObjectDeleteAuditAlarm; 2760 + alias ObjectOpenAuditAlarmA ObjectOpenAuditAlarm; 2761 + alias ObjectPrivilegeAuditAlarmA ObjectPrivilegeAuditAlarm; 2762 + alias OpenBackupEventLogA OpenBackupEventLog; 2763 + alias OpenEventLogA OpenEventLog; 2764 + alias PrivilegedServiceAuditAlarmA PrivilegedServiceAuditAlarm; 2765 + alias ReadEventLogA ReadEventLog; 2766 + alias RegisterEventSourceA RegisterEventSource; 2767 + alias ReportEventA ReportEvent; 2768 + alias SetFileSecurityA SetFileSecurity; 2769 + alias UpdateResourceA UpdateResource; 2199 2770 2200 -extern(Windows) export BOOL ConnectNamedPipe( 2201 - HANDLE hNamedPipe, 2202 - LPOVERLAPPED lpOverlapped); 2203 - 2204 -extern(Windows) export BOOL DisconnectNamedPipe( 2205 - HANDLE hNamedPipe); 2206 - 2207 -extern(Windows) export BOOL SetNamedPipeHandleState( 2208 - HANDLE hNamedPipe, 2209 - LPDWORD lpMode, 2210 - LPDWORD lpMaxCollectionCount, 2211 - LPDWORD lpCollectDataTimeout); 2212 - 2213 -extern(Windows) export BOOL GetNamedPipeInfo( 2214 - HANDLE hNamedPipe, 2215 - LPDWORD lpFlags, 2216 - LPDWORD lpOutBufferSize, 2217 - LPDWORD lpInBufferSize, 2218 - LPDWORD lpMaxInstances); 2219 - 2220 -extern(Windows) export BOOL PeekNamedPipe( 2221 - HANDLE hNamedPipe, 2222 - LPVOID lpBuffer, 2223 - DWORD nBufferSize, 2224 - LPDWORD lpBytesRead, 2225 - LPDWORD lpTotalBytesAvail, 2226 - LPDWORD lpBytesLeftThisMessage); 2227 - 2228 -extern(Windows) export BOOL TransactNamedPipe( 2229 - HANDLE hNamedPipe, 2230 - LPVOID lpInBuffer, 2231 - DWORD nInBufferSize, 2232 - LPVOID lpOutBuffer, 2233 - DWORD nOutBufferSize, 2234 - LPDWORD lpBytesRead, 2235 - LPOVERLAPPED lpOverlapped); 2236 - 2237 -extern(Windows) export HANDLE CreateMailslotA( 2238 - LPCSTR lpName, 2239 - DWORD nMaxMessageSize, 2240 - DWORD lReadTimeout, 2241 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 2242 -extern(Windows) export HANDLE CreateMailslotW( 2243 - LPCWSTR lpName, 2244 - DWORD nMaxMessageSize, 2245 - DWORD lReadTimeout, 2246 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 2247 -// #ifdef UNICODE 2248 -alias CreateMailslotW CreateMailslot; 2249 -// #else 2250 -// #... 2251 -// #endif // !UNICODE 2252 - 2253 -extern(Windows) export BOOL GetMailslotInfo( 2254 - HANDLE hMailslot, 2255 - LPDWORD lpMaxMessageSize, 2256 - LPDWORD lpNextSize, 2257 - LPDWORD lpMessageCount, 2258 - LPDWORD lpReadTimeout); 2771 + static if (_WIN32_WINNT >= 0x500) { 2772 + alias CreateFileMappingA CreateFileMapping; 2773 + alias CreateHardLinkA CreateHardLink; 2774 + alias CreateJobObjectA CreateJobObject; 2775 + alias DeleteVolumeMountPointA DeleteVolumeMountPoint; 2776 + alias DnsHostnameToComputerNameA DnsHostnameToComputerName; 2777 + alias EncryptFileA EncryptFile; 2778 + alias FileEncryptionStatusA FileEncryptionStatus; 2779 + alias FindFirstVolumeA FindFirstVolume; 2780 + alias FindFirstVolumeMountPointA FindFirstVolumeMountPoint; 2781 + alias FindNextVolumeA FindNextVolume; 2782 + alias FindNextVolumeMountPointA FindNextVolumeMountPoint; 2783 + alias GetModuleHandleExA GetModuleHandleEx; 2784 + alias GetSystemWindowsDirectoryA GetSystemWindowsDirectory; 2785 + alias GetVolumeNameForVolumeMountPointA GetVolumeNameForVolumeMountPoint; 2786 + alias GetVolumePathNameA GetVolumePathName; 2787 + alias OpenFileMappingA OpenFileMapping; 2788 + alias ReplaceFileA ReplaceFile; 2789 + alias SetVolumeMountPointA SetVolumeMountPoint; 2790 + alias VerifyVersionInfoA VerifyVersionInfo; 2791 + } 2259 2792 2260 -extern(Windows) export BOOL SetMailslotInfo( 2261 - HANDLE hMailslot, 2262 - DWORD lReadTimeout); 2263 - 2264 -extern(Windows) export LPVOID MapViewOfFile( 2265 - HANDLE hFileMappingObject, 2266 - DWORD dwDesiredAccess, 2267 - DWORD dwFileOffsetHigh, 2268 - DWORD dwFileOffsetLow, 2269 - SIZE_T dwNumberOfBytesToMap); 2270 - 2271 -extern(Windows) export BOOL FlushViewOfFile( 2272 - LPCVOID lpBaseAddress, 2273 - SIZE_T dwNumberOfBytesToFlush); 2274 - 2275 -extern(Windows) export BOOL UnmapViewOfFile( 2276 - LPCVOID lpBaseAddress); 2277 - 2278 -extern(Windows) export BOOL EncryptFileA( 2279 - LPCSTR lpFileName); 2280 -extern(Windows) export BOOL EncryptFileW( 2281 - LPCWSTR lpFileName); 2282 -// #ifdef UNICODE 2283 -alias EncryptFileW EncryptFile; 2284 -// #else 2285 -// #... 2286 -// #endif // !UNICODE 2287 - 2288 -extern(Windows) export BOOL DecryptFileA( 2289 - LPCSTR lpFileName, 2290 - DWORD dwReserved); 2291 -extern(Windows) export BOOL DecryptFileW( 2292 - LPCWSTR lpFileName, 2293 - DWORD dwReserved); 2294 -// #ifdef UNICODE 2295 -alias DecryptFileW DecryptFile; 2296 -// #else 2297 -// #... 2298 -// #endif // !UNICODE 2299 - 2300 -enum : uint { FILE_ENCRYPTABLE = 0 } 2301 -enum : uint { FILE_IS_ENCRYPTED = 1 } 2302 -enum : uint { FILE_SYSTEM_ATTR = 2 } 2303 -enum : uint { FILE_ROOT_DIR = 3 } 2304 -enum : uint { FILE_SYSTEM_DIR = 4 } 2305 -enum : uint { FILE_UNKNOWN = 5 } 2306 -enum : uint { FILE_SYSTEM_NOT_SUPPORT = 6 } 2307 -enum : uint { FILE_USER_DISALLOWED = 7 } 2308 -enum : uint { FILE_READ_ONLY = 8 } 2309 -enum : uint { FILE_DIR_DISALLOWED = 9 } 2310 - 2311 -extern(Windows) export BOOL FileEncryptionStatusA( 2312 - LPCSTR lpFileName, 2313 - LPDWORD lpStatus); 2314 -extern(Windows) export BOOL FileEncryptionStatusW( 2315 - LPCWSTR lpFileName, 2316 - LPDWORD lpStatus); 2317 -// #ifdef UNICODE 2318 -alias FileEncryptionStatusW FileEncryptionStatus; 2319 -// #else 2320 -// #... 2321 -// #endif // !UNICODE 2322 - 2323 -enum : uint { EFS_USE_RECOVERY_KEYS = 0x1 } 2324 - 2325 -extern(Windows) alias DWORD function( PBYTE pbData, PVOID pvCallbackContext, ULONG ulLength ) PFE_EXPORT_FUNC; 2326 - 2327 -extern(Windows) alias DWORD function( PBYTE pbData, PVOID pvCallbackContext, PULONG ulLength ) PFE_IMPORT_FUNC; 2328 - 2329 -enum : uint { CREATE_FOR_IMPORT = 1 } 2330 -enum : uint { CREATE_FOR_DIR = 2 } 2331 -enum : uint { OVERWRITE_HIDDEN = 4 } 2332 - 2333 -extern(Windows) export DWORD OpenEncryptedFileRawA( 2334 - LPCSTR lpFileName, 2335 - ULONG ulFlags, 2336 - PVOID * pvContext); 2337 -extern(Windows) export DWORD OpenEncryptedFileRawW( 2338 - LPCWSTR lpFileName, 2339 - ULONG ulFlags, 2340 - PVOID * pvContext); 2341 -// #ifdef UNICODE 2342 -alias OpenEncryptedFileRawW OpenEncryptedFileRaw; 2343 -// #else 2344 -// #... 2345 -// #endif // !UNICODE 2346 - 2347 -extern(Windows) export DWORD ReadEncryptedFileRaw( 2348 - PFE_EXPORT_FUNC pfExportCallback, 2349 - PVOID pvCallbackContext, 2350 - PVOID pvContext); 2351 - 2352 -extern(Windows) export DWORD WriteEncryptedFileRaw( 2353 - PFE_IMPORT_FUNC pfImportCallback, 2354 - PVOID pvCallbackContext, 2355 - PVOID pvContext); 2356 - 2357 -extern(Windows) export VOID CloseEncryptedFileRaw( 2358 - PVOID pvContext); 2793 + static if (_WIN32_WINNT >= 0x501) { 2794 + alias ACTCTXA ACTCTX; 2795 + alias CheckNameLegalDOS8Dot3A CheckNameLegalDOS8Dot3; 2796 + alias CreateActCtxA CreateActCtx; 2797 + alias FindActCtxSectionStringA FindActCtxSectionString; 2798 + alias GetSystemWow64DirectoryA GetSystemWow64Directory; 2799 + alias GetVolumePathNamesForVolumeNameA GetVolumePathNamesForVolumeName; 2800 + alias SetFileShortNameA SetFileShortName; 2801 + } 2359 2802 2360 -extern(Windows) export int lstrcmpA( 2361 - LPCSTR lpString1, 2362 - LPCSTR lpString2); 2363 -extern(Windows) export int lstrcmpW( 2364 - LPCWSTR lpString1, 2365 - LPCWSTR lpString2); 2366 -// #ifdef UNICODE 2367 -alias lstrcmpW lstrcmp; 2368 -// #else 2369 -// #... 2370 -// #endif // !UNICODE 2371 - 2372 -extern(Windows) export int lstrcmpiA( 2373 - LPCSTR lpString1, 2374 - LPCSTR lpString2); 2375 -extern(Windows) export int lstrcmpiW( 2376 - LPCWSTR lpString1, 2377 - LPCWSTR lpString2); 2378 -// #ifdef UNICODE 2379 -alias lstrcmpiW lstrcmpi; 2380 -// #else 2381 -// #... 2382 -// #endif // !UNICODE 2383 - 2384 -extern(Windows) export LPSTR lstrcpynA( 2385 - LPSTR lpString1, 2386 - LPCSTR lpString2, 2387 - int iMaxLength); 2388 -extern(Windows) export LPWSTR lstrcpynW( 2389 - LPWSTR lpString1, 2390 - LPCWSTR lpString2, 2391 - int iMaxLength); 2392 -// #ifdef UNICODE 2393 -alias lstrcpynW lstrcpyn; 2394 -// #else 2395 -// #... 2396 -// #endif // !UNICODE 2397 - 2398 -extern(Windows) export LPSTR lstrcpyA( 2399 - LPSTR lpString1, 2400 - LPCSTR lpString2); 2401 -extern(Windows) export LPWSTR lstrcpyW( 2402 - LPWSTR lpString1, 2403 - LPCWSTR lpString2); 2404 -// #ifdef UNICODE 2405 -alias lstrcpyW lstrcpy; 2406 -// #else 2407 -// #... 2408 -// #endif // !UNICODE 2409 - 2410 -extern(Windows) export LPSTR lstrcatA( 2411 - LPSTR lpString1, 2412 - LPCSTR lpString2); 2413 -extern(Windows) export LPWSTR lstrcatW( 2414 - LPWSTR lpString1, 2415 - LPCWSTR lpString2); 2416 -// #ifdef UNICODE 2417 -alias lstrcatW lstrcat; 2418 -// #else 2419 -// #... 2420 -// #endif // !UNICODE 2421 - 2422 -extern(Windows) export int lstrlenA( 2423 - LPCSTR lpString); 2424 -extern(Windows) export int lstrlenW( 2425 - LPCWSTR lpString); 2426 -// #ifdef UNICODE 2427 -alias lstrlenW lstrlen; 2428 -// #else 2429 -// #... 2430 -// #endif // !UNICODE 2431 - 2432 -extern(Windows) export HFILE OpenFile( 2433 - LPCSTR lpFileName, 2434 - LPOFSTRUCT lpReOpenBuff, 2435 - UINT uStyle); 2436 - 2437 -extern(Windows) export HFILE _lopen( 2438 - LPCSTR lpPathName, 2439 - int iReadWrite); 2440 - 2441 -extern(Windows) export HFILE _lcreat( 2442 - LPCSTR lpPathName, 2443 - int iAttribute); 2444 - 2445 -extern(Windows) export UINT _lread( 2446 - HFILE hFile, 2447 - LPVOID lpBuffer, 2448 - UINT uBytes); 2449 - 2450 -extern(Windows) export UINT _lwrite( 2451 - HFILE hFile, 2452 - LPCSTR lpBuffer, 2453 - UINT uBytes); 2454 - 2455 -extern(Windows) export int _hread( 2456 - HFILE hFile, 2457 - LPVOID lpBuffer, 2458 - int lBytes); 2459 - 2460 -extern(Windows) export int _hwrite( 2461 - HFILE hFile, 2462 - LPCSTR lpBuffer, 2463 - int lBytes); 2464 - 2465 -extern(Windows) export HFILE _lclose( 2466 - HFILE hFile); 2467 - 2468 -extern(Windows) export LONG _llseek( 2469 - HFILE hFile, 2470 - LONG lOffset, 2471 - int iOrigin); 2472 - 2473 -extern(Windows) export BOOL IsTextUnicode( 2474 - VOID* lpBuffer, 2475 - int cb, 2476 - LPINT lpi); 2477 - 2478 -extern(Windows) export DWORD TlsAlloc(); 2479 - 2480 -enum : uint { TLS_OUT_OF_INDEXES = cast(DWORD)0xFFFFFFFF } 2481 - 2482 -extern(Windows) export LPVOID TlsGetValue( 2483 - DWORD dwTlsIndex); 2484 - 2485 -extern(Windows) export BOOL TlsSetValue( 2486 - DWORD dwTlsIndex, 2487 - LPVOID lpTlsValue); 2488 - 2489 -extern(Windows) export BOOL TlsFree( 2490 - DWORD dwTlsIndex); 2491 - 2492 -extern(Windows) alias VOID function( DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped ) LPOVERLAPPED_COMPLETION_ROUTINE; 2493 - 2494 -extern(Windows) export DWORD SleepEx( 2495 - DWORD dwMilliseconds, 2496 - BOOL bAlertable); 2497 - 2498 -extern(Windows) export DWORD WaitForSingleObjectEx( 2499 - HANDLE hHandle, 2500 - DWORD dwMilliseconds, 2501 - BOOL bAlertable); 2502 - 2503 -extern(Windows) export DWORD WaitForMultipleObjectsEx( 2504 - DWORD nCount, 2505 - HANDLE *lpHandles, 2506 - BOOL bWaitAll, 2507 - DWORD dwMilliseconds, 2508 - BOOL bAlertable); 2509 - 2510 -// #if(_WIN32_WINNT >= 0x0400) 2511 -extern(Windows) export DWORD SignalObjectAndWait( 2512 - HANDLE hObjectToSignal, 2513 - HANDLE hObjectToWaitOn, 2514 - DWORD dwMilliseconds, 2515 - BOOL bAlertable); 2516 -// #endif /* _WIN32_WINNT >= 0x0400 */ 2517 - 2518 -extern(Windows) export BOOL ReadFileEx( 2519 - HANDLE hFile, 2520 - LPVOID lpBuffer, 2521 - DWORD nNumberOfBytesToRead, 2522 - LPOVERLAPPED lpOverlapped, 2523 - LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); 2524 - 2525 -extern(Windows) export BOOL WriteFileEx( 2526 - HANDLE hFile, 2527 - LPCVOID lpBuffer, 2528 - DWORD nNumberOfBytesToWrite, 2529 - LPOVERLAPPED lpOverlapped, 2530 - LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); 2531 - 2532 -extern(Windows) export BOOL BackupRead( 2533 - HANDLE hFile, 2534 - LPBYTE lpBuffer, 2535 - DWORD nNumberOfBytesToRead, 2536 - LPDWORD lpNumberOfBytesRead, 2537 - BOOL bAbort, 2538 - BOOL bProcessSecurity, 2539 - LPVOID *lpContext); 2540 - 2541 -extern(Windows) export BOOL BackupSeek( 2542 - HANDLE hFile, 2543 - DWORD dwLowBytesToSeek, 2544 - DWORD dwHighBytesToSeek, 2545 - LPDWORD lpdwLowByteSeeked, 2546 - LPDWORD lpdwHighByteSeeked, 2547 - LPVOID *lpContext); 2548 - 2549 -extern(Windows) export BOOL BackupWrite( 2550 - HANDLE hFile, 2551 - LPBYTE lpBuffer, 2552 - DWORD nNumberOfBytesToWrite, 2553 - LPDWORD lpNumberOfBytesWritten, 2554 - BOOL bAbort, 2555 - BOOL bProcessSecurity, 2556 - LPVOID *lpContext); 2557 - 2558 -struct _WIN32_STREAM_ID { 2559 - DWORD dwStreamId ; 2560 - DWORD dwStreamAttributes ; 2561 - LARGE_INTEGER Size ; 2562 - DWORD dwStreamNameSize ; 2563 - WCHAR cStreamName[ ANYSIZE_ARRAY ] ; 2803 + static if (_WIN32_WINNT >= 0x502) { 2804 + alias GetDllDirectoryA GetDllDirectory; 2805 + alias SetDllDirectoryA SetDllDirectory; 2806 + alias SetFirmwareEnvironmentVariableA SetFirmwareEnvironmentVariable; 2807 + } 2808 + } 2564 2809 } 2565 -alias _WIN32_STREAM_ID WIN32_STREAM_ID; 2566 -alias _WIN32_STREAM_ID* LPWIN32_STREAM_ID; 2567 2810 2568 -enum : uint { BACKUP_INVALID = 0x00000000 } 2569 -enum : uint { BACKUP_DATA = 0x00000001 } 2570 -enum : uint { BACKUP_EA_DATA = 0x00000002 } 2571 -enum : uint { BACKUP_SECURITY_DATA = 0x00000003 } 2572 -enum : uint { BACKUP_ALTERNATE_DATA = 0x00000004 } 2573 -enum : uint { BACKUP_LINK = 0x00000005 } 2574 -enum : uint { BACKUP_PROPERTY_DATA = 0x00000006 } 2575 -enum : uint { BACKUP_OBJECT_ID = 0x00000007 } 2576 -enum : uint { BACKUP_REPARSE_DATA = 0x00000008 } 2577 -enum : uint { BACKUP_SPARSE_BLOCK = 0x00000009 } 2578 - 2579 -enum : uint { STREAM_NORMAL_ATTRIBUTE = 0x00000000 } 2580 -enum : uint { STREAM_MODIFIED_WHEN_READ = 0x00000001 } 2581 -enum : uint { STREAM_CONTAINS_SECURITY = 0x00000002 } 2582 -enum : uint { STREAM_CONTAINS_PROPERTIES = 0x00000004 } 2583 -enum : uint { STREAM_SPARSE_ATTRIBUTE = 0x00000008 } 2584 - 2585 -extern(Windows) export BOOL ReadFileScatter( 2586 - HANDLE hFile, 2587 - FILE_SEGMENT_ELEMENT aSegmentArray[], 2588 - DWORD nNumberOfBytesToRead, 2589 - LPDWORD lpReserved, 2590 - LPOVERLAPPED lpOverlapped); 2591 - 2592 -extern(Windows) export BOOL WriteFileGather( 2593 - HANDLE hFile, 2594 - FILE_SEGMENT_ELEMENT aSegmentArray[], 2595 - DWORD nNumberOfBytesToWrite, 2596 - LPDWORD lpReserved, 2597 - LPOVERLAPPED lpOverlapped); 2598 - 2599 -enum : uint { STARTF_USESHOWWINDOW = 0x00000001 } 2600 -enum : uint { STARTF_USESIZE = 0x00000002 } 2601 -enum : uint { STARTF_USEPOSITION = 0x00000004 } 2602 -enum : uint { STARTF_USECOUNTCHARS = 0x00000008 } 2603 -enum : uint { STARTF_USEFILLATTRIBUTE = 0x00000010 } 2604 -enum : uint { STARTF_RUNFULLSCREEN = 0x00000020 } 2605 -enum : uint { STARTF_FORCEONFEEDBACK = 0x00000040 } 2606 -enum : uint { STARTF_FORCEOFFFEEDBACK = 0x00000080 } 2607 -enum : uint { STARTF_USESTDHANDLES = 0x00000100 } 2608 - 2609 -// #if(WINVER >= 0x0400) 2811 +alias STARTUPINFO* LPSTARTUPINFO; 2812 +alias WIN32_FIND_DATA* LPWIN32_FIND_DATA; 2610 2813 2611 -enum : uint { STARTF_USEHOTKEY = 0x00000200 } 2612 -// #endif /* WINVER >= 0x0400 */ 2613 - 2614 -struct _STARTUPINFOA { 2615 - DWORD cb; 2616 - LPSTR lpReserved; 2617 - LPSTR lpDesktop; 2618 - LPSTR lpTitle; 2619 - DWORD dwX; 2620 - DWORD dwY; 2621 - DWORD dwXSize; 2622 - DWORD dwYSize; 2623 - DWORD dwXCountChars; 2624 - DWORD dwYCountChars; 2625 - DWORD dwFillAttribute; 2626 - DWORD dwFlags; 2627 - WORD wShowWindow; 2628 - WORD cbReserved2; 2629 - LPBYTE lpReserved2; 2630 - HANDLE hStdInput; 2631 - HANDLE hStdOutput; 2632 - HANDLE hStdError; 2633 -} 2634 -alias _STARTUPINFOA STARTUPINFOA; 2635 -alias _STARTUPINFOA* LPSTARTUPINFOA; 2636 - 2637 -struct _STARTUPINFOW { 2638 - DWORD cb; 2639 - LPWSTR lpReserved; 2640 - LPWSTR lpDesktop; 2641 - LPWSTR lpTitle; 2642 - DWORD dwX; 2643 - DWORD dwY; 2644 - DWORD dwXSize; 2645 - DWORD dwYSize; 2646 - DWORD dwXCountChars; 2647 - DWORD dwYCountChars; 2648 - DWORD dwFillAttribute; 2649 - DWORD dwFlags; 2650 - WORD wShowWindow; 2651 - WORD cbReserved2; 2652 - LPBYTE lpReserved2; 2653 - HANDLE hStdInput; 2654 - HANDLE hStdOutput; 2655 - HANDLE hStdError; 2656 -} 2657 -alias _STARTUPINFOW STARTUPINFOW; 2658 -alias _STARTUPINFOW* LPSTARTUPINFOW; 2659 - 2660 -// #ifdef UNICODE 2661 -alias STARTUPINFOW STARTUPINFO; 2662 -alias LPSTARTUPINFOW LPSTARTUPINFO; 2663 -// #else 2664 -// ... 2665 -// #endif // UNICODE 2666 - 2667 -enum : uint { SHUTDOWN_NORETRY = 0x00000001 } 2668 - 2669 -struct _WIN32_FIND_DATAA { 2670 - DWORD dwFileAttributes; 2671 - FILETIME ftCreationTime; 2672 - FILETIME ftLastAccessTime; 2673 - FILETIME ftLastWriteTime; 2674 - DWORD nFileSizeHigh; 2675 - DWORD nFileSizeLow; 2676 - DWORD dwReserved0; 2677 - DWORD dwReserved1; 2678 - CHAR cFileName[ MAX_PATH ]; 2679 - CHAR cAlternateFileName[ 14 ]; 2680 -// #ifdef _MAC 2681 -// ... 2682 -// #endif 2683 -} 2684 -alias _WIN32_FIND_DATAA WIN32_FIND_DATAA; 2685 -alias _WIN32_FIND_DATAA* PWIN32_FIND_DATAA; 2686 -alias _WIN32_FIND_DATAA* LPWIN32_FIND_DATAA; 2687 - 2688 -struct _WIN32_FIND_DATAW { 2689 - DWORD dwFileAttributes; 2690 - FILETIME ftCreationTime; 2691 - FILETIME ftLastAccessTime; 2692 - FILETIME ftLastWriteTime; 2693 - DWORD nFileSizeHigh; 2694 - DWORD nFileSizeLow; 2695 - DWORD dwReserved0; 2696 - DWORD dwReserved1; 2697 - WCHAR cFileName[ MAX_PATH ]; 2698 - WCHAR cAlternateFileName[ 14 ]; 2699 -// #ifdef _MAC 2700 -// ... 2701 -// #endif 2702 -} 2703 -alias _WIN32_FIND_DATAW WIN32_FIND_DATAW; 2704 -alias _WIN32_FIND_DATAW* PWIN32_FIND_DATAW; 2705 -alias _WIN32_FIND_DATAW* LPWIN32_FIND_DATAW; 2706 - 2707 -// #ifdef UNICODE 2708 -alias WIN32_FIND_DATAW WIN32_FIND_DATA; 2709 -alias PWIN32_FIND_DATAW PWIN32_FIND_DATA; 2710 -alias LPWIN32_FIND_DATAW LPWIN32_FIND_DATA; 2711 -// #else 2712 -// ... 2713 -// #endif // UNICODE 2714 - 2715 -struct _WIN32_FILE_ATTRIBUTE_DATA { 2716 - DWORD dwFileAttributes; 2717 - FILETIME ftCreationTime; 2718 - FILETIME ftLastAccessTime; 2719 - FILETIME ftLastWriteTime; 2720 - DWORD nFileSizeHigh; 2721 - DWORD nFileSizeLow; 2722 -} 2723 -alias _WIN32_FILE_ATTRIBUTE_DATA WIN32_FILE_ATTRIBUTE_DATA; 2724 -alias _WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA; 2725 - 2726 -extern(Windows) export HANDLE CreateMutexA( 2727 - LPSECURITY_ATTRIBUTES lpMutexAttributes, 2728 - BOOL bInitialOwner, 2729 - LPCSTR lpName); 2730 -extern(Windows) export HANDLE CreateMutexW( 2731 - LPSECURITY_ATTRIBUTES lpMutexAttributes, 2732 - BOOL bInitialOwner, 2733 - LPCWSTR lpName); 2734 -// #ifdef UNICODE 2735 -alias CreateMutexW CreateMutex; 2736 -// #else 2737 -// #... 2738 -// #endif // !UNICODE 2739 - 2740 -extern(Windows) export HANDLE OpenMutexA( 2741 - DWORD dwDesiredAccess, 2742 - BOOL bInheritHandle, 2743 - LPCSTR lpName); 2744 -extern(Windows) export HANDLE OpenMutexW( 2745 - DWORD dwDesiredAccess, 2746 - BOOL bInheritHandle, 2747 - LPCWSTR lpName); 2748 -// #ifdef UNICODE 2749 -alias OpenMutexW OpenMutex; 2750 -// #else 2751 -// #... 2752 -// #endif // !UNICODE 2753 - 2754 -extern(Windows) export HANDLE CreateEventA( 2755 - LPSECURITY_ATTRIBUTES lpEventAttributes, 2756 - BOOL bManualReset, 2757 - BOOL bInitialState, 2758 - LPCSTR lpName); 2759 -extern(Windows) export HANDLE CreateEventW( 2760 - LPSECURITY_ATTRIBUTES lpEventAttributes, 2761 - BOOL bManualReset, 2762 - BOOL bInitialState, 2763 - LPCWSTR lpName); 2764 -// #ifdef UNICODE 2765 -alias CreateEventW CreateEvent; 2766 -// #else 2767 -// #... 2768 -// #endif // !UNICODE 2769 - 2770 -extern(Windows) export HANDLE OpenEventA( 2771 - DWORD dwDesiredAccess, 2772 - BOOL bInheritHandle, 2773 - LPCSTR lpName); 2774 -extern(Windows) export HANDLE OpenEventW( 2775 - DWORD dwDesiredAccess, 2776 - BOOL bInheritHandle, 2777 - LPCWSTR lpName); 2778 -// #ifdef UNICODE 2779 -alias OpenEventW OpenEvent; 2780 -// #else 2781 -// #... 2782 -// #endif // !UNICODE 2783 - 2784 -extern(Windows) export HANDLE CreateSemaphoreA( 2785 - LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, 2786 - LONG lInitialCount, 2787 - LONG lMaximumCount, 2788 - LPCSTR lpName); 2789 -extern(Windows) export HANDLE CreateSemaphoreW( 2790 - LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, 2791 - LONG lInitialCount, 2792 - LONG lMaximumCount, 2793 - LPCWSTR lpName); 2794 -// #ifdef UNICODE 2795 -alias CreateSemaphoreW CreateSemaphore; 2796 -// #else 2797 -// #... 2798 -// #endif // !UNICODE 2799 - 2800 -extern(Windows) export HANDLE OpenSemaphoreA( 2801 - DWORD dwDesiredAccess, 2802 - BOOL bInheritHandle, 2803 - LPCSTR lpName); 2804 -extern(Windows) export HANDLE OpenSemaphoreW( 2805 - DWORD dwDesiredAccess, 2806 - BOOL bInheritHandle, 2807 - LPCWSTR lpName); 2808 -// #ifdef UNICODE 2809 -alias OpenSemaphoreW OpenSemaphore; 2810 -// #else 2811 -// #... 2812 -// #endif // !UNICODE 2813 - 2814 -// #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 2815 -extern(Windows) alias VOID function( LPVOID lpArgToCompletionRoutine, DWORD dwTimerLowValue, DWORD dwTimerHighValue ) PTIMERAPCROUTINE; 2814 +static if (_WIN32_WINNT_ONLY) { 2815 + alias HW_PROFILE_INFO* LPHW_PROFILE_INFO; 2816 2816 2817 -extern(Windows) export HANDLE CreateWaitableTimerA( 2818 - LPSECURITY_ATTRIBUTES lpTimerAttributes, 2819 - BOOL bManualReset, 2820 - LPCSTR lpTimerName); 2821 -extern(Windows) export HANDLE CreateWaitableTimerW( 2822 - LPSECURITY_ATTRIBUTES lpTimerAttributes, 2823 - BOOL bManualReset, 2824 - LPCWSTR lpTimerName); 2825 -// #ifdef UNICODE 2826 -alias CreateWaitableTimerW CreateWaitableTimer; 2827 -// #else 2828 -// #... 2829 -// #endif // !UNICODE 2830 - 2831 -extern(Windows) export HANDLE OpenWaitableTimerA( 2832 - DWORD dwDesiredAccess, 2833 - BOOL bInheritHandle, 2834 - LPCSTR lpTimerName); 2835 -extern(Windows) export HANDLE OpenWaitableTimerW( 2836 - DWORD dwDesiredAccess, 2837 - BOOL bInheritHandle, 2838 - LPCWSTR lpTimerName); 2839 -// #ifdef UNICODE 2840 -alias OpenWaitableTimerW OpenWaitableTimer; 2841 -// #else 2842 -// #... 2843 -// #endif // !UNICODE 2844 - 2845 -extern(Windows) export BOOL SetWaitableTimer( 2846 - HANDLE hTimer, 2847 - LARGE_INTEGER *lpDueTime, 2848 - LONG lPeriod, 2849 - PTIMERAPCROUTINE pfnCompletionRoutine, 2850 - LPVOID lpArgToCompletionRoutine, 2851 - BOOL fResume); 2852 - 2853 -extern(Windows) export BOOL CancelWaitableTimer( 2854 - HANDLE hTimer); 2855 -// #endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */ 2856 - 2857 -extern(Windows) export HANDLE CreateFileMappingA( 2858 - HANDLE hFile, 2859 - LPSECURITY_ATTRIBUTES lpFileMappingAttributes, 2860 - DWORD flProtect, 2861 - DWORD dwMaximumSizeHigh, 2862 - DWORD dwMaximumSizeLow, 2863 - LPCSTR lpName); 2864 -extern(Windows) export HANDLE CreateFileMappingW( 2865 - HANDLE hFile, 2866 - LPSECURITY_ATTRIBUTES lpFileMappingAttributes, 2867 - DWORD flProtect, 2868 - DWORD dwMaximumSizeHigh, 2869 - DWORD dwMaximumSizeLow, 2870 - LPCWSTR lpName); 2871 -// #ifdef UNICODE 2872 -alias CreateFileMappingW CreateFileMapping; 2873 -// #else 2874 -// #... 2875 -// #endif // !UNICODE 2876 - 2877 -extern(Windows) export HANDLE OpenFileMappingA( 2878 - DWORD dwDesiredAccess, 2879 - BOOL bInheritHandle, 2880 - LPCSTR lpName); 2881 -extern(Windows) export HANDLE OpenFileMappingW( 2882 - DWORD dwDesiredAccess, 2883 - BOOL bInheritHandle, 2884 - LPCWSTR lpName); 2885 -// #ifdef UNICODE 2886 -alias OpenFileMappingW OpenFileMapping; 2887 -// #else 2888 -// #... 2889 -// #endif // !UNICODE 2890 - 2891 -extern(Windows) export DWORD GetLogicalDriveStringsA( 2892 - DWORD nBufferLength, 2893 - LPSTR lpBuffer); 2894 -extern(Windows) export DWORD GetLogicalDriveStringsW( 2895 - DWORD nBufferLength, 2896 - LPWSTR lpBuffer); 2897 -// #ifdef UNICODE 2898 -alias GetLogicalDriveStringsW GetLogicalDriveStrings; 2899 -// #else 2900 -// #... 2901 -// #endif // !UNICODE 2902 - 2903 -// #if _WIN32_WINNT >= 0x0501 2904 - 2905 -alias int _MEMORY_RESOURCE_NOTIFICATION_TYPE; 2906 -enum { 2907 - LowMemoryResourceNotification, 2908 - HighMemoryResourceNotification, 2909 -} 2910 -alias _MEMORY_RESOURCE_NOTIFICATION_TYPE MEMORY_RESOURCE_NOTIFICATION_TYPE; 2911 - 2912 -extern(Windows) export HANDLE CreateMemoryResourceNotification( 2913 - MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType); 2914 - 2915 -extern(Windows) export BOOL QueryMemoryResourceNotification( 2916 - HANDLE ResourceNotificationHandle, 2917 - PBOOL ResourceState); 2918 - 2919 -// #endif // _WIN32_WINNT >= 0x0501 2920 - 2921 -extern(Windows) export HMODULE LoadLibraryA( 2922 - LPCSTR lpLibFileName); 2923 -extern(Windows) export HMODULE LoadLibraryW( 2924 - LPCWSTR lpLibFileName); 2925 -// #ifdef UNICODE 2926 -alias LoadLibraryW LoadLibrary; 2927 -// #else 2928 -// #... 2929 -// #endif // !UNICODE 2930 - 2931 -extern(Windows) export HMODULE LoadLibraryExA( 2932 - LPCSTR lpLibFileName, 2933 - HANDLE hFile, 2934 - DWORD dwFlags); 2935 -extern(Windows) export HMODULE LoadLibraryExW( 2936 - LPCWSTR lpLibFileName, 2937 - HANDLE hFile, 2938 - DWORD dwFlags); 2939 -// #ifdef UNICODE 2940 -alias LoadLibraryExW LoadLibraryEx; 2941 -// #else 2942 -// #... 2943 -// #endif // !UNICODE 2944 - 2945 -enum : uint { DONT_RESOLVE_DLL_REFERENCES = 0x00000001 } 2946 -enum : uint { LOAD_LIBRARY_AS_DATAFILE = 0x00000002 } 2947 -enum : uint { LOAD_WITH_ALTERED_SEARCH_PATH = 0x00000008 } 2948 -enum : uint { LOAD_IGNORE_CODE_AUTHZ_LEVEL = 0x00000010 } 2949 - 2950 -extern(Windows) export DWORD GetModuleFileNameA( 2951 - HMODULE hModule, 2952 - LPSTR lpFilename, 2953 - DWORD nSize); 2954 -extern(Windows) export DWORD GetModuleFileNameW( 2955 - HMODULE hModule, 2956 - LPWSTR lpFilename, 2957 - DWORD nSize); 2958 -// #ifdef UNICODE 2959 -alias GetModuleFileNameW GetModuleFileName; 2960 -// #else 2961 -// #... 2962 -// #endif // !UNICODE 2963 - 2964 -extern(Windows) export HMODULE GetModuleHandleA( 2965 - LPCSTR lpModuleName); 2966 -extern(Windows) export HMODULE GetModuleHandleW( 2967 - LPCWSTR lpModuleName); 2968 -// #ifdef UNICODE 2969 -alias GetModuleHandleW GetModuleHandle; 2970 -// #else 2971 -// #... 2972 -// #endif // !UNICODE 2973 - 2974 -// #if !defined(RC_INVOKED) 2975 -// #if _WIN32_WINNT > 0x0500 || defined(WINBASE_DECLARE_GET_MODULE_HANDLE_EX) || ISOLATION_AWARE_ENABLED 2976 - 2977 -enum : uint { GET_MODULE_HANDLE_EX_FLAG_PIN = 0x00000001 } 2978 -enum : uint { GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT = 0x00000002 } 2979 -enum : uint { GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS = 0x00000004 } 2980 - 2981 -extern(Windows) alias BOOL function( DWORD dwFlags, LPCSTR lpModuleName, HMODULE* phModule ) PGET_MODULE_HANDLE_EXA; 2982 -extern(Windows) alias BOOL function( DWORD dwFlags, LPCWSTR lpModuleName, HMODULE* phModule ) PGET_MODULE_HANDLE_EXW; 2983 -// #ifdef UNICODE 2984 -alias PGET_MODULE_HANDLE_EXW PGET_MODULE_HANDLE_EX; 2985 -// #else 2986 -// #... 2987 -// #endif // !UNICODE 2988 - 2989 -extern(Windows) export BOOL GetModuleHandleExA( 2990 - DWORD dwFlags, 2991 - LPCSTR lpModuleName, 2992 - HMODULE* phModule); 2993 -extern(Windows) export BOOL GetModuleHandleExW( 2994 - DWORD dwFlags, 2995 - LPCWSTR lpModuleName, 2996 - HMODULE* phModule); 2997 -// #ifdef UNICODE 2998 -alias GetModuleHandleExW GetModuleHandleEx; 2999 -// #else 3000 -// #... 3001 -// #endif // !UNICODE 3002 - 3003 -// #endif 3004 -// #endif 3005 - 3006 -extern(Windows) export BOOL CreateProcessA( 3007 - LPCSTR lpApplicationName, 3008 - LPSTR lpCommandLine, 3009 - LPSECURITY_ATTRIBUTES lpProcessAttributes, 3010 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 3011 - BOOL bInheritHandles, 3012 - DWORD dwCreationFlags, 3013 - LPVOID lpEnvironment, 3014 - LPCSTR lpCurrentDirectory, 3015 - LPSTARTUPINFOA lpStartupInfo, 3016 - LPPROCESS_INFORMATION lpProcessInformation); 3017 -extern(Windows) export BOOL CreateProcessW( 3018 - LPCWSTR lpApplicationName, 3019 - LPWSTR lpCommandLine, 3020 - LPSECURITY_ATTRIBUTES lpProcessAttributes, 3021 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 3022 - BOOL bInheritHandles, 3023 - DWORD dwCreationFlags, 3024 - LPVOID lpEnvironment, 3025 - LPCWSTR lpCurrentDirectory, 3026 - LPSTARTUPINFOW lpStartupInfo, 3027 - LPPROCESS_INFORMATION lpProcessInformation); 3028 -// #ifdef UNICODE 3029 -alias CreateProcessW CreateProcess; 3030 -// #else 3031 -// #... 3032 -// #endif // !UNICODE 3033 - 3034 -extern(Windows) export BOOL SetProcessShutdownParameters( 3035 - DWORD dwLevel, 3036 - DWORD dwFlags); 3037 - 3038 -extern(Windows) export BOOL GetProcessShutdownParameters( 3039 - LPDWORD lpdwLevel, 3040 - LPDWORD lpdwFlags); 3041 - 3042 -extern(Windows) export DWORD GetProcessVersion( 3043 - DWORD ProcessId); 3044 - 3045 -extern(Windows) export VOID FatalAppExitA( 3046 - UINT uAction, 3047 - LPCSTR lpMessageText); 3048 -extern(Windows) export VOID FatalAppExitW( 3049 - UINT uAction, 3050 - LPCWSTR lpMessageText); 3051 -// #ifdef UNICODE 3052 -alias FatalAppExitW FatalAppExit; 3053 -// #else 3054 -// #... 3055 -// #endif // !UNICODE 3056 - 3057 -extern(Windows) export VOID GetStartupInfoA( 3058 - LPSTARTUPINFOA lpStartupInfo); 3059 -extern(Windows) export VOID GetStartupInfoW( 3060 - LPSTARTUPINFOW lpStartupInfo); 3061 -// #ifdef UNICODE 3062 -alias GetStartupInfoW GetStartupInfo; 3063 -// #else 3064 -// #... 3065 -// #endif // !UNICODE 3066 - 3067 -extern(Windows) export LPSTR GetCommandLineA(); 3068 -extern(Windows) export LPWSTR GetCommandLineW(); 3069 -// #ifdef UNICODE 3070 -alias GetCommandLineW GetCommandLine; 3071 -// #else 3072 -// #... 3073 -// #endif // !UNICODE 3074 - 3075 -extern(Windows) export DWORD GetEnvironmentVariableA( 3076 - LPCSTR lpName, 3077 - LPSTR lpBuffer, 3078 - DWORD nSize); 3079 -extern(Windows) export DWORD GetEnvironmentVariableW( 3080 - LPCWSTR lpName, 3081 - LPWSTR lpBuffer, 3082 - DWORD nSize); 3083 -// #ifdef UNICODE 3084 -alias GetEnvironmentVariableW GetEnvironmentVariable; 3085 -// #else 3086 -// #... 3087 -// #endif // !UNICODE 3088 - 3089 -extern(Windows) export BOOL SetEnvironmentVariableA( 3090 - LPCSTR lpName, 3091 - LPCSTR lpValue); 3092 -extern(Windows) export BOOL SetEnvironmentVariableW( 3093 - LPCWSTR lpName, 3094 - LPCWSTR lpValue); 3095 -// #ifdef UNICODE 3096 -alias SetEnvironmentVariableW SetEnvironmentVariable; 3097 -// #else 3098 -// #... 3099 -// #endif // !UNICODE 3100 - 3101 -extern(Windows) export DWORD ExpandEnvironmentStringsA( 3102 - LPCSTR lpSrc, 3103 - LPSTR lpDst, 3104 - DWORD nSize); 3105 -extern(Windows) export DWORD ExpandEnvironmentStringsW( 3106 - LPCWSTR lpSrc, 3107 - LPWSTR lpDst, 3108 - DWORD nSize); 3109 -// #ifdef UNICODE 3110 -alias ExpandEnvironmentStringsW ExpandEnvironmentStrings; 3111 -// #else 3112 -// #... 3113 -// #endif // !UNICODE 3114 - 3115 -extern(Windows) export DWORD GetFirmwareEnvironmentVariableA( 3116 - LPCSTR lpName, 3117 - LPCSTR lpGuid, 3118 - PVOID pBuffer, 3119 - DWORD nSize); 3120 -extern(Windows) export DWORD GetFirmwareEnvironmentVariableW( 3121 - LPCWSTR lpName, 3122 - LPCWSTR lpGuid, 3123 - PVOID pBuffer, 3124 - DWORD nSize); 3125 -// #ifdef UNICODE 3126 -alias GetFirmwareEnvironmentVariableW GetFirmwareEnvironmentVariable; 3127 -// #else 3128 -// #... 3129 -// #endif // !UNICODE 3130 - 3131 -extern(Windows) export BOOL SetFirmwareEnvironmentVariableA( 3132 - LPCSTR lpName, 3133 - LPCSTR lpGuid, 3134 - PVOID pValue, 3135 - DWORD nSize); 3136 -extern(Windows) export BOOL SetFirmwareEnvironmentVariableW( 3137 - LPCWSTR lpName, 3138 - LPCWSTR lpGuid, 3139 - PVOID pValue, 3140 - DWORD nSize); 3141 -// #ifdef UNICODE 3142 -alias SetFirmwareEnvironmentVariableW SetFirmwareEnvironmentVariable; 3143 -// #else 3144 -// #... 3145 -// #endif // !UNICODE 3146 - 3147 -extern(Windows) export VOID OutputDebugStringA( 3148 - LPCSTR lpOutputString); 3149 -extern(Windows) export VOID OutputDebugStringW( 3150 - LPCWSTR lpOutputString); 3151 -// #ifdef UNICODE 3152 -alias OutputDebugStringW OutputDebugString; 3153 -// #else 3154 -// #... 3155 -// #endif // !UNICODE 3156 - 3157 -extern(Windows) export HRSRC FindResourceA( 3158 - HMODULE hModule, 3159 - LPCSTR lpName, 3160 - LPCSTR lpType); 3161 -extern(Windows) export HRSRC FindResourceW( 3162 - HMODULE hModule, 3163 - LPCWSTR lpName, 3164 - LPCWSTR lpType); 3165 -// #ifdef UNICODE 3166 -alias FindResourceW FindResource; 3167 -// #else 3168 -// #... 3169 -// #endif // !UNICODE 3170 - 3171 -extern(Windows) export HRSRC FindResourceExA( 3172 - HMODULE hModule, 3173 - LPCSTR lpType, 3174 - LPCSTR lpName, 3175 - WORD wLanguage); 3176 -extern(Windows) export HRSRC FindResourceExW( 3177 - HMODULE hModule, 3178 - LPCWSTR lpType, 3179 - LPCWSTR lpName, 3180 - WORD wLanguage); 3181 -// #ifdef UNICODE 3182 -alias FindResourceExW FindResourceEx; 3183 -// #else 3184 -// #... 3185 -// #endif // !UNICODE 3186 - 3187 -// #ifdef STRICT 3188 -extern(Windows) alias BOOL function(HMODULE hModule, LPSTR lpType, LONG_PTR lParam) ENUMRESTYPEPROCA; 3189 -extern(Windows) alias BOOL function(HMODULE hModule, LPWSTR lpType, LONG_PTR lParam) ENUMRESTYPEPROCW; 3190 -// #ifdef UNICODE 3191 -alias ENUMRESTYPEPROCW ENUMRESTYPEPROC; 3192 -// #else 3193 -// #... 3194 -// #endif // !UNICODE 3195 -extern(Windows) alias BOOL function(HMODULE hModule, LPCSTR lpType, LPSTR lpName, LONG_PTR lParam) ENUMRESNAMEPROCA; 3196 -extern(Windows) alias BOOL function(HMODULE hModule, LPCWSTR lpType, LPWSTR lpName, LONG_PTR lParam) ENUMRESNAMEPROCW; 3197 -// #ifdef UNICODE 3198 -alias ENUMRESNAMEPROCW ENUMRESNAMEPROC; 3199 -// #else 3200 -// #... 3201 -// #endif // !UNICODE 3202 -extern(Windows) alias BOOL function(HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage, LONG_PTR lParam) ENUMRESLANGPROCA; 3203 -extern(Windows) alias BOOL function(HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage, LONG_PTR lParam) ENUMRESLANGPROCW; 3204 -// #ifdef UNICODE 3205 -alias ENUMRESLANGPROCW ENUMRESLANGPROC; 3206 -// #else 3207 -// #... 3208 -// #endif // !UNICODE 3209 -// #else 3210 -// ... 3211 -// #ifdef UNICODE 3212 -// ... 3213 -// #else 3214 -// ... 3215 -// #endif // UNICODE 3216 -// ... 3217 -// #ifdef UNICODE 3218 -// ... 3219 -// #else 3220 -// ... 3221 -// #endif // UNICODE 3222 -// ... 3223 -// #ifdef UNICODE 3224 -// ... 3225 -// #else 3226 -// ... 3227 -// #endif // UNICODE 3228 -// #endif 3229 - 3230 -extern(Windows) export BOOL EnumResourceTypesA( 3231 - HMODULE hModule, 3232 - ENUMRESTYPEPROCA lpEnumFunc, 3233 - LONG_PTR lParam); 3234 -extern(Windows) export BOOL EnumResourceTypesW( 3235 - HMODULE hModule, 3236 - ENUMRESTYPEPROCW lpEnumFunc, 3237 - LONG_PTR lParam); 3238 -// #ifdef UNICODE 3239 -alias EnumResourceTypesW EnumResourceTypes; 3240 -// #else 3241 -// #... 3242 -// #endif // !UNICODE 3243 - 3244 -extern(Windows) export BOOL EnumResourceNamesA( 3245 - HMODULE hModule, 3246 - LPCSTR lpType, 3247 - ENUMRESNAMEPROCA lpEnumFunc, 3248 - LONG_PTR lParam); 3249 -extern(Windows) export BOOL EnumResourceNamesW( 3250 - HMODULE hModule, 3251 - LPCWSTR lpType, 3252 - ENUMRESNAMEPROCW lpEnumFunc, 3253 - LONG_PTR lParam); 3254 -// #ifdef UNICODE 3255 -alias EnumResourceNamesW EnumResourceNames; 3256 -// #else 3257 -// #... 3258 -// #endif // !UNICODE 3259 - 3260 -extern(Windows) export BOOL EnumResourceLanguagesA( 3261 - HMODULE hModule, 3262 - LPCSTR lpType, 3263 - LPCSTR lpName, 3264 - ENUMRESLANGPROCA lpEnumFunc, 3265 - LONG_PTR lParam); 3266 -extern(Windows) export BOOL EnumResourceLanguagesW( 3267 - HMODULE hModule, 3268 - LPCWSTR lpType, 3269 - LPCWSTR lpName, 3270 - ENUMRESLANGPROCW lpEnumFunc, 3271 - LONG_PTR lParam); 3272 -// #ifdef UNICODE 3273 -alias EnumResourceLanguagesW EnumResourceLanguages; 3274 -// #else 3275 -// #... 3276 -// #endif // !UNICODE 3277 - 3278 -extern(Windows) export HANDLE BeginUpdateResourceA( 3279 - LPCSTR pFileName, 3280 - BOOL bDeleteExistingResources); 3281 -extern(Windows) export HANDLE BeginUpdateResourceW( 3282 - LPCWSTR pFileName, 3283 - BOOL bDeleteExistingResources); 3284 -// #ifdef UNICODE 3285 -alias BeginUpdateResourceW BeginUpdateResource; 3286 -// #else 3287 -// #... 3288 -// #endif // !UNICODE 3289 - 3290 -extern(Windows) export BOOL UpdateResourceA( 3291 - HANDLE hUpdate, 3292 - LPCSTR lpType, 3293 - LPCSTR lpName, 3294 - WORD wLanguage, 3295 - LPVOID lpData, 3296 - DWORD cbData); 3297 -extern(Windows) export BOOL UpdateResourceW( 3298 - HANDLE hUpdate, 3299 - LPCWSTR lpType, 3300 - LPCWSTR lpName, 3301 - WORD wLanguage, 3302 - LPVOID lpData, 3303 - DWORD cbData); 3304 -// #ifdef UNICODE 3305 -alias UpdateResourceW UpdateResource; 3306 -// #else 3307 -// #... 3308 -// #endif // !UNICODE 3309 - 3310 -extern(Windows) export BOOL EndUpdateResourceA( 3311 - HANDLE hUpdate, 3312 - BOOL fDiscard); 3313 -extern(Windows) export BOOL EndUpdateResourceW( 3314 - HANDLE hUpdate, 3315 - BOOL fDiscard); 3316 -// #ifdef UNICODE 3317 -alias EndUpdateResourceW EndUpdateResource; 3318 -// #else 3319 -// #... 3320 -// #endif // !UNICODE 3321 - 3322 -extern(Windows) export ATOM GlobalAddAtomA( 3323 - LPCSTR lpString); 3324 -extern(Windows) export ATOM GlobalAddAtomW( 3325 - LPCWSTR lpString); 3326 -// #ifdef UNICODE 3327 -alias GlobalAddAtomW GlobalAddAtom; 3328 -// #else 3329 -// #... 3330 -// #endif // !UNICODE 3331 - 3332 -extern(Windows) export ATOM GlobalFindAtomA( 3333 - LPCSTR lpString); 3334 -extern(Windows) export ATOM GlobalFindAtomW( 3335 - LPCWSTR lpString); 3336 -// #ifdef UNICODE 3337 -alias GlobalFindAtomW GlobalFindAtom; 3338 -// #else 3339 -// #... 3340 -// #endif // !UNICODE 3341 - 3342 -extern(Windows) export UINT GlobalGetAtomNameA( 3343 - ATOM nAtom, 3344 - LPSTR lpBuffer, 3345 - int nSize); 3346 -extern(Windows) export UINT GlobalGetAtomNameW( 3347 - ATOM nAtom, 3348 - LPWSTR lpBuffer, 3349 - int nSize); 3350 -// #ifdef UNICODE 3351 -alias GlobalGetAtomNameW GlobalGetAtomName; 3352 -// #else 3353 -// #... 3354 -// #endif // !UNICODE 3355 - 3356 -extern(Windows) export ATOM AddAtomA( 3357 - LPCSTR lpString); 3358 -extern(Windows) export ATOM AddAtomW( 3359 - LPCWSTR lpString); 3360 -// #ifdef UNICODE 3361 -alias AddAtomW AddAtom; 3362 -// #else 3363 -// #... 3364 -// #endif // !UNICODE 3365 - 3366 -extern(Windows) export ATOM FindAtomA( 3367 - LPCSTR lpString); 3368 -extern(Windows) export ATOM FindAtomW( 3369 - LPCWSTR lpString); 3370 -// #ifdef UNICODE 3371 -alias FindAtomW FindAtom; 3372 -// #else 3373 -// #... 3374 -// #endif // !UNICODE 3375 - 3376 -extern(Windows) export UINT GetAtomNameA( 3377 - ATOM nAtom, 3378 - LPSTR lpBuffer, 3379 - int nSize); 3380 -extern(Windows) export UINT GetAtomNameW( 3381 - ATOM nAtom, 3382 - LPWSTR lpBuffer, 3383 - int nSize); 3384 -// #ifdef UNICODE 3385 -alias GetAtomNameW GetAtomName; 3386 -// #else 3387 -// #... 3388 -// #endif // !UNICODE 3389 - 3390 -extern(Windows) export UINT GetProfileIntA( 3391 - LPCSTR lpAppName, 3392 - LPCSTR lpKeyName, 3393 - INT nDefault); 3394 -extern(Windows) export UINT GetProfileIntW( 3395 - LPCWSTR lpAppName, 3396 - LPCWSTR lpKeyName, 3397 - INT nDefault); 3398 -// #ifdef UNICODE 3399 -alias GetProfileIntW GetProfileInt; 3400 -// #else 3401 -// #... 3402 -// #endif // !UNICODE 3403 - 3404 -extern(Windows) export DWORD GetProfileStringA( 3405 - LPCSTR lpAppName, 3406 - LPCSTR lpKeyName, 3407 - LPCSTR lpDefault, 3408 - LPSTR lpReturnedString, 3409 - DWORD nSize); 3410 -extern(Windows) export DWORD GetProfileStringW( 3411 - LPCWSTR lpAppName, 3412 - LPCWSTR lpKeyName, 3413 - LPCWSTR lpDefault, 3414 - LPWSTR lpReturnedString, 3415 - DWORD nSize); 3416 -// #ifdef UNICODE 3417 -alias GetProfileStringW GetProfileString; 3418 -// #else 3419 -// #... 3420 -// #endif // !UNICODE 3421 - 3422 -extern(Windows) export BOOL WriteProfileStringA( 3423 - LPCSTR lpAppName, 3424 - LPCSTR lpKeyName, 3425 - LPCSTR lpString); 3426 -extern(Windows) export BOOL WriteProfileStringW( 3427 - LPCWSTR lpAppName, 3428 - LPCWSTR lpKeyName, 3429 - LPCWSTR lpString); 3430 -// #ifdef UNICODE 3431 -alias WriteProfileStringW WriteProfileString; 3432 -// #else 3433 -// #... 3434 -// #endif // !UNICODE 3435 - 3436 -extern(Windows) export DWORD GetProfileSectionA( 3437 - LPCSTR lpAppName, 3438 - LPSTR lpReturnedString, 3439 - DWORD nSize); 3440 -extern(Windows) export DWORD GetProfileSectionW( 3441 - LPCWSTR lpAppName, 3442 - LPWSTR lpReturnedString, 3443 - DWORD nSize); 3444 -// #ifdef UNICODE 3445 -alias GetProfileSectionW GetProfileSection; 3446 -// #else 3447 -// #... 3448 -// #endif // !UNICODE 3449 - 3450 -extern(Windows) export BOOL WriteProfileSectionA( 3451 - LPCSTR lpAppName, 3452 - LPCSTR lpString); 3453 -extern(Windows) export BOOL WriteProfileSectionW( 3454 - LPCWSTR lpAppName, 3455 - LPCWSTR lpString); 3456 -// #ifdef UNICODE 3457 -alias WriteProfileSectionW WriteProfileSection; 3458 -// #else 3459 -// #... 3460 -// #endif // !UNICODE 3461 - 3462 -extern(Windows) export UINT GetPrivateProfileIntA( 3463 - LPCSTR lpAppName, 3464 - LPCSTR lpKeyName, 3465 - INT nDefault, 3466 - LPCSTR lpFileName); 3467 -extern(Windows) export UINT GetPrivateProfileIntW( 3468 - LPCWSTR lpAppName, 3469 - LPCWSTR lpKeyName, 3470 - INT nDefault, 3471 - LPCWSTR lpFileName); 3472 -// #ifdef UNICODE 3473 -alias GetPrivateProfileIntW GetPrivateProfileInt; 3474 -// #else 3475 -// #... 3476 -// #endif // !UNICODE 3477 - 3478 -extern(Windows) export DWORD GetPrivateProfileStringA( 3479 - LPCSTR lpAppName, 3480 - LPCSTR lpKeyName, 3481 - LPCSTR lpDefault, 3482 - LPSTR lpReturnedString, 3483 - DWORD nSize, 3484 - LPCSTR lpFileName); 3485 -extern(Windows) export DWORD GetPrivateProfileStringW( 3486 - LPCWSTR lpAppName, 3487 - LPCWSTR lpKeyName, 3488 - LPCWSTR lpDefault, 3489 - LPWSTR lpReturnedString, 3490 - DWORD nSize, 3491 - LPCWSTR lpFileName); 3492 -// #ifdef UNICODE 3493 -alias GetPrivateProfileStringW GetPrivateProfileString; 3494 -// #else 3495 -// #... 3496 -// #endif // !UNICODE 3497 - 3498 -extern(Windows) export BOOL WritePrivateProfileStringA( 3499 - LPCSTR lpAppName, 3500 - LPCSTR lpKeyName, 3501 - LPCSTR lpString, 3502 - LPCSTR lpFileName); 3503 -extern(Windows) export BOOL WritePrivateProfileStringW( 3504 - LPCWSTR lpAppName, 3505 - LPCWSTR lpKeyName, 3506 - LPCWSTR lpString, 3507 - LPCWSTR lpFileName); 3508 -// #ifdef UNICODE 3509 -alias WritePrivateProfileStringW WritePrivateProfileString; 3510 -// #else 3511 -// #... 3512 -// #endif // !UNICODE 3513 - 3514 -extern(Windows) export DWORD GetPrivateProfileSectionA( 3515 - LPCSTR lpAppName, 3516 - LPSTR lpReturnedString, 3517 - DWORD nSize, 3518 - LPCSTR lpFileName); 3519 -extern(Windows) export DWORD GetPrivateProfileSectionW( 3520 - LPCWSTR lpAppName, 3521 - LPWSTR lpReturnedString, 3522 - DWORD nSize, 3523 - LPCWSTR lpFileName); 3524 -// #ifdef UNICODE 3525 -alias GetPrivateProfileSectionW GetPrivateProfileSection; 3526 -// #else 3527 -// #... 3528 -// #endif // !UNICODE 3529 - 3530 -extern(Windows) export BOOL WritePrivateProfileSectionA( 3531 - LPCSTR lpAppName, 3532 - LPCSTR lpString, 3533 - LPCSTR lpFileName); 3534 -extern(Windows) export BOOL WritePrivateProfileSectionW( 3535 - LPCWSTR lpAppName, 3536 - LPCWSTR lpString, 3537 - LPCWSTR lpFileName); 3538 -// #ifdef UNICODE 3539 -alias WritePrivateProfileSectionW WritePrivateProfileSection; 3540 -// #else 3541 -// #... 3542 -// #endif // !UNICODE 3543 - 3544 -extern(Windows) export DWORD GetPrivateProfileSectionNamesA( 3545 - LPSTR lpszReturnBuffer, 3546 - DWORD nSize, 3547 - LPCSTR lpFileName); 3548 -extern(Windows) export DWORD GetPrivateProfileSectionNamesW( 3549 - LPWSTR lpszReturnBuffer, 3550 - DWORD nSize, 3551 - LPCWSTR lpFileName); 3552 -// #ifdef UNICODE 3553 -alias GetPrivateProfileSectionNamesW GetPrivateProfileSectionNames; 3554 -// #else 3555 -// #... 3556 -// #endif // !UNICODE 3557 - 3558 -extern(Windows) export BOOL GetPrivateProfileStructA( 3559 - LPCSTR lpszSection, 3560 - LPCSTR lpszKey, 3561 - LPVOID lpStruct, 3562 - UINT uSizeStruct, 3563 - LPCSTR szFile); 3564 -extern(Windows) export BOOL GetPrivateProfileStructW( 3565 - LPCWSTR lpszSection, 3566 - LPCWSTR lpszKey, 3567 - LPVOID lpStruct, 3568 - UINT uSizeStruct, 3569 - LPCWSTR szFile); 3570 -// #ifdef UNICODE 3571 -alias GetPrivateProfileStructW GetPrivateProfileStruct; 3572 -// #else 3573 -// #... 3574 -// #endif // !UNICODE 3575 - 3576 -extern(Windows) export BOOL WritePrivateProfileStructA( 3577 - LPCSTR lpszSection, 3578 - LPCSTR lpszKey, 3579 - LPVOID lpStruct, 3580 - UINT uSizeStruct, 3581 - LPCSTR szFile); 3582 -extern(Windows) export BOOL WritePrivateProfileStructW( 3583 - LPCWSTR lpszSection, 3584 - LPCWSTR lpszKey, 3585 - LPVOID lpStruct, 3586 - UINT uSizeStruct, 3587 - LPCWSTR szFile); 3588 -// #ifdef UNICODE 3589 -alias WritePrivateProfileStructW WritePrivateProfileStruct; 3590 -// #else 3591 -// #... 3592 -// #endif // !UNICODE 3593 - 3594 -extern(Windows) export UINT GetDriveTypeA( 3595 - LPCSTR lpRootPathName); 3596 -extern(Windows) export UINT GetDriveTypeW( 3597 - LPCWSTR lpRootPathName); 3598 -// #ifdef UNICODE 3599 -alias GetDriveTypeW GetDriveType; 3600 -// #else 3601 -// #... 3602 -// #endif // !UNICODE 3603 - 3604 -extern(Windows) export UINT GetSystemDirectoryA( 3605 - LPSTR lpBuffer, 3606 - UINT uSize); 3607 -extern(Windows) export UINT GetSystemDirectoryW( 3608 - LPWSTR lpBuffer, 3609 - UINT uSize); 3610 -// #ifdef UNICODE 3611 -alias GetSystemDirectoryW GetSystemDirectory; 3612 -// #else 3613 -// #... 3614 -// #endif // !UNICODE 3615 - 3616 -extern(Windows) export DWORD GetTempPathA( 3617 - DWORD nBufferLength, 3618 - LPSTR lpBuffer); 3619 -extern(Windows) export DWORD GetTempPathW( 3620 - DWORD nBufferLength, 3621 - LPWSTR lpBuffer); 3622 -// #ifdef UNICODE 3623 -alias GetTempPathW GetTempPath; 3624 -// #else 3625 -// #... 3626 -// #endif // !UNICODE 3627 - 3628 -extern(Windows) export UINT GetTempFileNameA( 3629 - LPCSTR lpPathName, 3630 - LPCSTR lpPrefixString, 3631 - UINT uUnique, 3632 - LPSTR lpTempFileName); 3633 -extern(Windows) export UINT GetTempFileNameW( 3634 - LPCWSTR lpPathName, 3635 - LPCWSTR lpPrefixString, 3636 - UINT uUnique, 3637 - LPWSTR lpTempFileName); 3638 -// #ifdef UNICODE 3639 -alias GetTempFileNameW GetTempFileName; 3640 -// #else 3641 -// #... 3642 -// #endif // !UNICODE 3643 - 3644 -extern(Windows) export UINT GetWindowsDirectoryA( 3645 - LPSTR lpBuffer, 3646 - UINT uSize); 3647 -extern(Windows) export UINT GetWindowsDirectoryW( 3648 - LPWSTR lpBuffer, 3649 - UINT uSize); 3650 -// #ifdef UNICODE 3651 -alias GetWindowsDirectoryW GetWindowsDirectory; 3652 -// #else 3653 -// #... 3654 -// #endif // !UNICODE 3655 - 3656 -extern(Windows) export UINT GetSystemWindowsDirectoryA( 3657 - LPSTR lpBuffer, 3658 - UINT uSize); 3659 -extern(Windows) export UINT GetSystemWindowsDirectoryW( 3660 - LPWSTR lpBuffer, 3661 - UINT uSize); 3662 -// #ifdef UNICODE 3663 -alias GetSystemWindowsDirectoryW GetSystemWindowsDirectory; 3664 -// #else 3665 -// #... 3666 -// #endif // !UNICODE 3667 - 3668 -// #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY" is a bit long. 3669 -// #if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY) 3670 - 3671 -extern(Windows) export UINT GetSystemWow64DirectoryA( 3672 - LPSTR lpBuffer, 3673 - UINT uSize); 3674 -extern(Windows) export UINT GetSystemWow64DirectoryW( 3675 - LPWSTR lpBuffer, 3676 - UINT uSize); 3677 -// #ifdef UNICODE 3678 -alias GetSystemWow64DirectoryW GetSystemWow64Directory; 3679 -// #else 3680 -// #... 3681 -// #endif // !UNICODE 3682 - 3683 -extern(Windows) alias UINT function( LPSTR lpBuffer, UINT uSize) PGET_SYSTEM_WOW64_DIRECTORY_A; 3684 -extern(Windows) alias UINT function( LPWSTR lpBuffer, UINT uSize) PGET_SYSTEM_WOW64_DIRECTORY_W; 3685 - 3686 -const char[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A = "GetSystemWow64DirectoryA"; 3687 -const wchar[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W = "GetSystemWow64DirectoryA"; 3688 -const TCHAR[] GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T = "GetSystemWow64DirectoryA"; 3689 -const char[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A = "GetSystemWow64DirectoryW"; 3690 -const wchar[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W = "GetSystemWow64DirectoryW"; 3691 -const TCHAR[] GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T = "GetSystemWow64DirectoryW"; 3692 - 3693 -// #ifdef UNICODE 3694 -alias GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A; 3695 -alias GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W; 3696 -alias GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T; 3697 -// #else 3698 -// #... 3699 -// #... 3700 -// #... 3701 -// #endif 3702 - 3703 -// #endif // _WIN32_WINNT >= 0x0501 3704 -// #endif 3705 - 3706 -extern(Windows) export BOOL SetCurrentDirectoryA( 3707 - LPCSTR lpPathName); 3708 -extern(Windows) export BOOL SetCurrentDirectoryW( 3709 - LPCWSTR lpPathName); 3710 -// #ifdef UNICODE 3711 -alias SetCurrentDirectoryW SetCurrentDirectory; 3712 -// #else 3713 -// #... 3714 -// #endif // !UNICODE 3715 - 3716 -extern(Windows) export DWORD GetCurrentDirectoryA( 3717 - DWORD nBufferLength, 3718 - LPSTR lpBuffer); 3719 -extern(Windows) export DWORD GetCurrentDirectoryW( 3720 - DWORD nBufferLength, 3721 - LPWSTR lpBuffer); 3722 -// #ifdef UNICODE 3723 -alias GetCurrentDirectoryW GetCurrentDirectory; 3724 -// #else 3725 -// #... 3726 -// #endif // !UNICODE 3727 - 3728 -extern(Windows) export BOOL GetDiskFreeSpaceA( 3729 - LPCSTR lpRootPathName, 3730 - LPDWORD lpSectorsPerCluster, 3731 - LPDWORD lpBytesPerSector, 3732 - LPDWORD lpNumberOfFreeClusters, 3733 - LPDWORD lpTotalNumberOfClusters); 3734 -extern(Windows) export BOOL GetDiskFreeSpaceW( 3735 - LPCWSTR lpRootPathName, 3736 - LPDWORD lpSectorsPerCluster, 3737 - LPDWORD lpBytesPerSector, 3738 - LPDWORD lpNumberOfFreeClusters, 3739 - LPDWORD lpTotalNumberOfClusters); 3740 -// #ifdef UNICODE 3741 -alias GetDiskFreeSpaceW GetDiskFreeSpace; 3742 -// #else 3743 -// #... 3744 -// #endif // !UNICODE 3745 - 3746 -extern(Windows) export BOOL GetDiskFreeSpaceExA( 3747 - LPCSTR lpDirectoryName, 3748 - PULARGE_INTEGER lpFreeBytesAvailableToCaller, 3749 - PULARGE_INTEGER lpTotalNumberOfBytes, 3750 - PULARGE_INTEGER lpTotalNumberOfFreeBytes); 3751 -extern(Windows) export BOOL GetDiskFreeSpaceExW( 3752 - LPCWSTR lpDirectoryName, 3753 - PULARGE_INTEGER lpFreeBytesAvailableToCaller, 3754 - PULARGE_INTEGER lpTotalNumberOfBytes, 3755 - PULARGE_INTEGER lpTotalNumberOfFreeBytes); 3756 -// #ifdef UNICODE 3757 -alias GetDiskFreeSpaceExW GetDiskFreeSpaceEx; 3758 -// #else 3759 -// #... 3760 -// #endif // !UNICODE 3761 - 3762 -extern(Windows) export BOOL CreateDirectoryA( 3763 - LPCSTR lpPathName, 3764 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 3765 -extern(Windows) export BOOL CreateDirectoryW( 3766 - LPCWSTR lpPathName, 3767 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 3768 -// #ifdef UNICODE 3769 -alias CreateDirectoryW CreateDirectory; 3770 -// #else 3771 -// #... 3772 -// #endif // !UNICODE 3773 - 3774 -extern(Windows) export BOOL CreateDirectoryExA( 3775 - LPCSTR lpTemplateDirectory, 3776 - LPCSTR lpNewDirectory, 3777 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 3778 -extern(Windows) export BOOL CreateDirectoryExW( 3779 - LPCWSTR lpTemplateDirectory, 3780 - LPCWSTR lpNewDirectory, 3781 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 3782 -// #ifdef UNICODE 3783 -alias CreateDirectoryExW CreateDirectoryEx; 3784 -// #else 3785 -// #... 3786 -// #endif // !UNICODE 3787 - 3788 -extern(Windows) export BOOL RemoveDirectoryA( 3789 - LPCSTR lpPathName); 3790 -extern(Windows) export BOOL RemoveDirectoryW( 3791 - LPCWSTR lpPathName); 3792 -// #ifdef UNICODE 3793 -alias RemoveDirectoryW RemoveDirectory; 3794 -// #else 3795 -// #... 3796 -// #endif // !UNICODE 3797 - 3798 -extern(Windows) export DWORD GetFullPathNameA( 3799 - LPCSTR lpFileName, 3800 - DWORD nBufferLength, 3801 - LPSTR lpBuffer, 3802 - LPSTR *lpFilePart); 3803 -extern(Windows) export DWORD GetFullPathNameW( 3804 - LPCWSTR lpFileName, 3805 - DWORD nBufferLength, 3806 - LPWSTR lpBuffer, 3807 - LPWSTR *lpFilePart); 3808 -// #ifdef UNICODE 3809 -alias GetFullPathNameW GetFullPathName; 3810 -// #else 3811 -// #... 3812 -// #endif // !UNICODE 3813 - 3814 -enum : uint { DDD_RAW_TARGET_PATH = 0x00000001 } 3815 -enum : uint { DDD_REMOVE_DEFINITION = 0x00000002 } 3816 -enum : uint { DDD_EXACT_MATCH_ON_REMOVE = 0x00000004 } 3817 -enum : uint { DDD_NO_BROADCAST_SYSTEM = 0x00000008 } 3818 -enum : uint { DDD_LUID_BROADCAST_DRIVE = 0x00000010 } 3819 - 3820 -extern(Windows) export BOOL DefineDosDeviceA( 3821 - DWORD dwFlags, 3822 - LPCSTR lpDeviceName, 3823 - LPCSTR lpTargetPath); 3824 -extern(Windows) export BOOL DefineDosDeviceW( 3825 - DWORD dwFlags, 3826 - LPCWSTR lpDeviceName, 3827 - LPCWSTR lpTargetPath); 3828 -// #ifdef UNICODE 3829 -alias DefineDosDeviceW DefineDosDevice; 3830 -// #else 3831 -// #... 3832 -// #endif // !UNICODE 3833 - 3834 -extern(Windows) export DWORD QueryDosDeviceA( 3835 - LPCSTR lpDeviceName, 3836 - LPSTR lpTargetPath, 3837 - DWORD ucchMax); 3838 -extern(Windows) export DWORD QueryDosDeviceW( 3839 - LPCWSTR lpDeviceName, 3840 - LPWSTR lpTargetPath, 3841 - DWORD ucchMax); 3842 -// #ifdef UNICODE 3843 -alias QueryDosDeviceW QueryDosDevice; 3844 -// #else 3845 -// #... 3846 -// #endif // !UNICODE 3847 - 3848 -// #define EXPAND_LOCAL_DRIVES 3849 - 3850 -extern(Windows) export HANDLE CreateFileA( 3851 - LPCSTR lpFileName, 3852 - DWORD dwDesiredAccess, 3853 - DWORD dwShareMode, 3854 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 3855 - DWORD dwCreationDisposition, 3856 - DWORD dwFlagsAndAttributes, 3857 - HANDLE hTemplateFile); 3858 -extern(Windows) export HANDLE CreateFileW( 3859 - LPCWSTR lpFileName, 3860 - DWORD dwDesiredAccess, 3861 - DWORD dwShareMode, 3862 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 3863 - DWORD dwCreationDisposition, 3864 - DWORD dwFlagsAndAttributes, 3865 - HANDLE hTemplateFile); 3866 -// #ifdef UNICODE 3867 -alias CreateFileW CreateFile; 3868 -// #else 3869 -// #... 3870 -// #endif // !UNICODE 3871 - 3872 -extern(Windows) export BOOL SetFileAttributesA( 3873 - LPCSTR lpFileName, 3874 - DWORD dwFileAttributes); 3875 -extern(Windows) export BOOL SetFileAttributesW( 3876 - LPCWSTR lpFileName, 3877 - DWORD dwFileAttributes); 3878 -// #ifdef UNICODE 3879 -alias SetFileAttributesW SetFileAttributes; 3880 -// #else 3881 -// #... 3882 -// #endif // !UNICODE 3883 - 3884 -extern(Windows) export DWORD GetFileAttributesA( 3885 - LPCSTR lpFileName); 3886 -extern(Windows) export DWORD GetFileAttributesW( 3887 - LPCWSTR lpFileName); 3888 -// #ifdef UNICODE 3889 -alias GetFileAttributesW GetFileAttributes; 3890 -// #else 3891 -// #... 3892 -// #endif // !UNICODE 3893 - 3894 -alias int _GET_FILEEX_INFO_LEVELS; 3895 -enum { 3896 - GetFileExInfoStandard, 3897 - GetFileExMaxInfoLevel, 3898 -} 3899 -alias _GET_FILEEX_INFO_LEVELS GET_FILEEX_INFO_LEVELS; 3900 - 3901 -extern(Windows) export BOOL GetFileAttributesExA( 3902 - LPCSTR lpFileName, 3903 - GET_FILEEX_INFO_LEVELS fInfoLevelId, 3904 - LPVOID lpFileInformation); 3905 -extern(Windows) export BOOL GetFileAttributesExW( 3906 - LPCWSTR lpFileName, 3907 - GET_FILEEX_INFO_LEVELS fInfoLevelId, 3908 - LPVOID lpFileInformation); 3909 -// #ifdef UNICODE 3910 -alias GetFileAttributesExW GetFileAttributesEx; 3911 -// #else 3912 -// #... 3913 -// #endif // !UNICODE 3914 - 3915 -extern(Windows) export DWORD GetCompressedFileSizeA( 3916 - LPCSTR lpFileName, 3917 - LPDWORD lpFileSizeHigh); 3918 -extern(Windows) export DWORD GetCompressedFileSizeW( 3919 - LPCWSTR lpFileName, 3920 - LPDWORD lpFileSizeHigh); 3921 -// #ifdef UNICODE 3922 -alias GetCompressedFileSizeW GetCompressedFileSize; 3923 -// #else 3924 -// #... 3925 -// #endif // !UNICODE 3926 - 3927 -extern(Windows) export BOOL DeleteFileA( 3928 - LPCSTR lpFileName); 3929 -extern(Windows) export BOOL DeleteFileW( 3930 - LPCWSTR lpFileName); 3931 -// #ifdef UNICODE 3932 -alias DeleteFileW DeleteFile; 3933 -// #else 3934 -// #... 3935 -// #endif // !UNICODE 3936 - 3937 -// #if(_WIN32_WINNT >= 0x0400) 3938 -alias int _FINDEX_INFO_LEVELS; 3939 -enum { 3940 - FindExInfoStandard, 3941 - FindExInfoMaxInfoLevel, 3942 -} 3943 -alias _FINDEX_INFO_LEVELS FINDEX_INFO_LEVELS; 3944 - 3945 -alias int _FINDEX_SEARCH_OPS; 3946 -enum { 3947 - FindExSearchNameMatch, 3948 - FindExSearchLimitToDirectories, 3949 - FindExSearchLimitToDevices, 3950 - FindExSearchMaxSearchOp, 3951 -} 3952 -alias _FINDEX_SEARCH_OPS FINDEX_SEARCH_OPS; 3953 - 3954 -enum : uint { FIND_FIRST_EX_CASE_SENSITIVE = 0x00000001 } 3955 - 3956 -extern(Windows) export HANDLE FindFirstFileExA( 3957 - LPCSTR lpFileName, 3958 - FINDEX_INFO_LEVELS fInfoLevelId, 3959 - LPVOID lpFindFileData, 3960 - FINDEX_SEARCH_OPS fSearchOp, 3961 - LPVOID lpSearchFilter, 3962 - DWORD dwAdditionalFlags); 3963 -extern(Windows) export HANDLE FindFirstFileExW( 3964 - LPCWSTR lpFileName, 3965 - FINDEX_INFO_LEVELS fInfoLevelId, 3966 - LPVOID lpFindFileData, 3967 - FINDEX_SEARCH_OPS fSearchOp, 3968 - LPVOID lpSearchFilter, 3969 - DWORD dwAdditionalFlags); 3970 -// #ifdef UNICODE 3971 -alias FindFirstFileExW FindFirstFileEx; 3972 -// #else 3973 -// #... 3974 -// #endif // !UNICODE 3975 -// #endif /* _WIN32_WINNT >= 0x0400 */ 3976 - 3977 -extern(Windows) export HANDLE FindFirstFileA( 3978 - LPCSTR lpFileName, 3979 - LPWIN32_FIND_DATAA lpFindFileData); 3980 -extern(Windows) export HANDLE FindFirstFileW( 3981 - LPCWSTR lpFileName, 3982 - LPWIN32_FIND_DATAW lpFindFileData); 3983 -// #ifdef UNICODE 3984 -alias FindFirstFileW FindFirstFile; 3985 -// #else 3986 -// #... 3987 -// #endif // !UNICODE 3988 - 3989 -extern(Windows) export BOOL FindNextFileA( 3990 - HANDLE hFindFile, 3991 - LPWIN32_FIND_DATAA lpFindFileData); 3992 -extern(Windows) export BOOL FindNextFileW( 3993 - HANDLE hFindFile, 3994 - LPWIN32_FIND_DATAW lpFindFileData); 3995 -// #ifdef UNICODE 3996 -alias FindNextFileW FindNextFile; 3997 -// #else 3998 -// #... 3999 -// #endif // !UNICODE 4000 - 4001 -extern(Windows) export DWORD SearchPathA( 4002 - LPCSTR lpPath, 4003 - LPCSTR lpFileName, 4004 - LPCSTR lpExtension, 4005 - DWORD nBufferLength, 4006 - LPSTR lpBuffer, 4007 - LPSTR *lpFilePart); 4008 -extern(Windows) export DWORD SearchPathW( 4009 - LPCWSTR lpPath, 4010 - LPCWSTR lpFileName, 4011 - LPCWSTR lpExtension, 4012 - DWORD nBufferLength, 4013 - LPWSTR lpBuffer, 4014 - LPWSTR *lpFilePart); 4015 -// #ifdef UNICODE 4016 -alias SearchPathW SearchPath; 4017 -// #else 4018 -// #... 4019 -// #endif // !UNICODE 4020 - 4021 -extern(Windows) export BOOL CopyFileA( 4022 - LPCSTR lpExistingFileName, 4023 - LPCSTR lpNewFileName, 4024 - BOOL bFailIfExists); 4025 -extern(Windows) export BOOL CopyFileW( 4026 - LPCWSTR lpExistingFileName, 4027 - LPCWSTR lpNewFileName, 4028 - BOOL bFailIfExists); 4029 -// #ifdef UNICODE 4030 -alias CopyFileW CopyFile; 4031 -// #else 4032 -// #... 4033 -// #endif // !UNICODE 4034 - 4035 -// #if(_WIN32_WINNT >= 0x0400) 4036 -extern(Windows) alias DWORD function( LARGE_INTEGER TotalFileSize, LARGE_INTEGER TotalBytesTransferred, LARGE_INTEGER StreamSize, LARGE_INTEGER StreamBytesTransferred, DWORD dwStreamNumber, DWORD dwCallbackReason, HANDLE hSourceFile, HANDLE hDestinationFile, LPVOID lpData ) LPPROGRESS_ROUTINE; 4037 - 4038 -extern(Windows) export BOOL CopyFileExA( 4039 - LPCSTR lpExistingFileName, 4040 - LPCSTR lpNewFileName, 4041 - LPPROGRESS_ROUTINE lpProgressRoutine , 4042 - LPVOID lpData , 4043 - LPBOOL pbCancel , 4044 - DWORD dwCopyFlags); 4045 -extern(Windows) export BOOL CopyFileExW( 4046 - LPCWSTR lpExistingFileName, 4047 - LPCWSTR lpNewFileName, 4048 - LPPROGRESS_ROUTINE lpProgressRoutine , 4049 - LPVOID lpData , 4050 - LPBOOL pbCancel , 4051 - DWORD dwCopyFlags); 4052 -// #ifdef UNICODE 4053 -alias CopyFileExW CopyFileEx; 4054 -// #else 4055 -// #... 4056 -// #endif // !UNICODE 4057 -// #endif /* _WIN32_WINNT >= 0x0400 */ 4058 - 4059 -extern(Windows) export BOOL MoveFileA( 4060 - LPCSTR lpExistingFileName, 4061 - LPCSTR lpNewFileName); 4062 -extern(Windows) export BOOL MoveFileW( 4063 - LPCWSTR lpExistingFileName, 4064 - LPCWSTR lpNewFileName); 4065 -// #ifdef UNICODE 4066 -alias MoveFileW MoveFile; 4067 -// #else 4068 -// #... 4069 -// #endif // !UNICODE 4070 - 4071 -extern(Windows) export BOOL MoveFileExA( 4072 - LPCSTR lpExistingFileName, 4073 - LPCSTR lpNewFileName, 4074 - DWORD dwFlags); 4075 -extern(Windows) export BOOL MoveFileExW( 4076 - LPCWSTR lpExistingFileName, 4077 - LPCWSTR lpNewFileName, 4078 - DWORD dwFlags); 4079 -// #ifdef UNICODE 4080 -alias MoveFileExW MoveFileEx; 4081 -// #else 4082 -// #... 4083 -// #endif // !UNICODE 4084 - 4085 -// #if (_WIN32_WINNT >= 0x0500) 4086 -extern(Windows) export BOOL MoveFileWithProgressA( 4087 - LPCSTR lpExistingFileName, 4088 - LPCSTR lpNewFileName, 4089 - LPPROGRESS_ROUTINE lpProgressRoutine , 4090 - LPVOID lpData , 4091 - DWORD dwFlags); 4092 -extern(Windows) export BOOL MoveFileWithProgressW( 4093 - LPCWSTR lpExistingFileName, 4094 - LPCWSTR lpNewFileName, 4095 - LPPROGRESS_ROUTINE lpProgressRoutine , 4096 - LPVOID lpData , 4097 - DWORD dwFlags); 4098 -// #ifdef UNICODE 4099 -alias MoveFileWithProgressW MoveFileWithProgress; 4100 -// #else 4101 -// #... 4102 -// #endif // !UNICODE 4103 -// #endif // (_WIN32_WINNT >= 0x0500) 4104 - 4105 -enum : uint { MOVEFILE_REPLACE_EXISTING = 0x00000001 } 4106 -enum : uint { MOVEFILE_COPY_ALLOWED = 0x00000002 } 4107 -enum : uint { MOVEFILE_DELAY_UNTIL_REBOOT = 0x00000004 } 4108 -enum : uint { MOVEFILE_WRITE_THROUGH = 0x00000008 } 4109 -// #if (_WIN32_WINNT >= 0x0500) 4110 -enum : uint { MOVEFILE_CREATE_HARDLINK = 0x00000010 } 4111 -enum : uint { MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x00000020 } 4112 -// #endif // (_WIN32_WINNT >= 0x0500) 4113 - 4114 -// #if (_WIN32_WINNT >= 0x0500) 4115 -extern(Windows) export BOOL ReplaceFileA( 4116 - LPCSTR lpReplacedFileName, 4117 - LPCSTR lpReplacementFileName, 4118 - LPCSTR lpBackupFileName, 4119 - DWORD dwReplaceFlags, 4120 - LPVOID lpExclude, 4121 - LPVOID lpReserved); 4122 -extern(Windows) export BOOL ReplaceFileW( 4123 - LPCWSTR lpReplacedFileName, 4124 - LPCWSTR lpReplacementFileName, 4125 - LPCWSTR lpBackupFileName, 4126 - DWORD dwReplaceFlags, 4127 - LPVOID lpExclude, 4128 - LPVOID lpReserved); 4129 -// #ifdef UNICODE 4130 -alias ReplaceFileW ReplaceFile; 4131 -// #else 4132 -// #... 4133 -// #endif // !UNICODE 4134 -// #endif // (_WIN32_WINNT >= 0x0500) 4135 - 4136 -// #if (_WIN32_WINNT >= 0x0500) 4137 - 4138 -extern(Windows) export BOOL CreateHardLinkA( 4139 - LPCSTR lpFileName, 4140 - LPCSTR lpExistingFileName, 4141 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 4142 -extern(Windows) export BOOL CreateHardLinkW( 4143 - LPCWSTR lpFileName, 4144 - LPCWSTR lpExistingFileName, 4145 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 4146 -// #ifdef UNICODE 4147 -alias CreateHardLinkW CreateHardLink; 4148 -// #else 4149 -// #... 4150 -// #endif // !UNICODE 4151 - 4152 -// #endif // (_WIN32_WINNT >= 0x0500) 4153 - 4154 -extern(Windows) export HANDLE CreateNamedPipeA( 4155 - LPCSTR lpName, 4156 - DWORD dwOpenMode, 4157 - DWORD dwPipeMode, 4158 - DWORD nMaxInstances, 4159 - DWORD nOutBufferSize, 4160 - DWORD nInBufferSize, 4161 - DWORD nDefaultTimeOut, 4162 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 4163 -extern(Windows) export HANDLE CreateNamedPipeW( 4164 - LPCWSTR lpName, 4165 - DWORD dwOpenMode, 4166 - DWORD dwPipeMode, 4167 - DWORD nMaxInstances, 4168 - DWORD nOutBufferSize, 4169 - DWORD nInBufferSize, 4170 - DWORD nDefaultTimeOut, 4171 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 4172 -// #ifdef UNICODE 4173 -alias CreateNamedPipeW CreateNamedPipe; 4174 -// #else 4175 -// #... 4176 -// #endif // !UNICODE 4177 - 4178 -extern(Windows) export BOOL GetNamedPipeHandleStateA( 4179 - HANDLE hNamedPipe, 4180 - LPDWORD lpState, 4181 - LPDWORD lpCurInstances, 4182 - LPDWORD lpMaxCollectionCount, 4183 - LPDWORD lpCollectDataTimeout, 4184 - LPSTR lpUserName, 4185 - DWORD nMaxUserNameSize); 4186 -extern(Windows) export BOOL GetNamedPipeHandleStateW( 4187 - HANDLE hNamedPipe, 4188 - LPDWORD lpState, 4189 - LPDWORD lpCurInstances, 4190 - LPDWORD lpMaxCollectionCount, 4191 - LPDWORD lpCollectDataTimeout, 4192 - LPWSTR lpUserName, 4193 - DWORD nMaxUserNameSize); 4194 -// #ifdef UNICODE 4195 -alias GetNamedPipeHandleStateW GetNamedPipeHandleState; 4196 -// #else 4197 -// #... 4198 -// #endif // !UNICODE 4199 - 4200 -extern(Windows) export BOOL CallNamedPipeA( 4201 - LPCSTR lpNamedPipeName, 4202 - LPVOID lpInBuffer, 4203 - DWORD nInBufferSize, 4204 - LPVOID lpOutBuffer, 4205 - DWORD nOutBufferSize, 4206 - LPDWORD lpBytesRead, 4207 - DWORD nTimeOut); 4208 -extern(Windows) export BOOL CallNamedPipeW( 4209 - LPCWSTR lpNamedPipeName, 4210 - LPVOID lpInBuffer, 4211 - DWORD nInBufferSize, 4212 - LPVOID lpOutBuffer, 4213 - DWORD nOutBufferSize, 4214 - LPDWORD lpBytesRead, 4215 - DWORD nTimeOut); 4216 -// #ifdef UNICODE 4217 -alias CallNamedPipeW CallNamedPipe; 4218 -// #else 4219 -// #... 4220 -// #endif // !UNICODE 4221 - 4222 -extern(Windows) export BOOL WaitNamedPipeA( 4223 - LPCSTR lpNamedPipeName, 4224 - DWORD nTimeOut); 4225 -extern(Windows) export BOOL WaitNamedPipeW( 4226 - LPCWSTR lpNamedPipeName, 4227 - DWORD nTimeOut); 4228 -// #ifdef UNICODE 4229 -alias WaitNamedPipeW WaitNamedPipe; 4230 -// #else 4231 -// #... 4232 -// #endif // !UNICODE 4233 - 4234 -extern(Windows) export BOOL SetVolumeLabelA( 4235 - LPCSTR lpRootPathName, 4236 - LPCSTR lpVolumeName); 4237 -extern(Windows) export BOOL SetVolumeLabelW( 4238 - LPCWSTR lpRootPathName, 4239 - LPCWSTR lpVolumeName); 4240 -// #ifdef UNICODE 4241 -alias SetVolumeLabelW SetVolumeLabel; 4242 -// #else 4243 -// #... 4244 -// #endif // !UNICODE 4245 - 4246 -extern(Windows) export VOID SetFileApisToOEM(); 4247 - 4248 -extern(Windows) export VOID SetFileApisToANSI(); 4249 - 4250 -extern(Windows) export BOOL AreFileApisANSI(); 4251 - 4252 -extern(Windows) export BOOL GetVolumeInformationA( 4253 - LPCSTR lpRootPathName, 4254 - LPSTR lpVolumeNameBuffer, 4255 - DWORD nVolumeNameSize, 4256 - LPDWORD lpVolumeSerialNumber, 4257 - LPDWORD lpMaximumComponentLength, 4258 - LPDWORD lpFileSystemFlags, 4259 - LPSTR lpFileSystemNameBuffer, 4260 - DWORD nFileSystemNameSize); 4261 -extern(Windows) export BOOL GetVolumeInformationW( 4262 - LPCWSTR lpRootPathName, 4263 - LPWSTR lpVolumeNameBuffer, 4264 - DWORD nVolumeNameSize, 4265 - LPDWORD lpVolumeSerialNumber, 4266 - LPDWORD lpMaximumComponentLength, 4267 - LPDWORD lpFileSystemFlags, 4268 - LPWSTR lpFileSystemNameBuffer, 4269 - DWORD nFileSystemNameSize); 4270 -// #ifdef UNICODE 4271 -alias GetVolumeInformationW GetVolumeInformation; 4272 -// #else 4273 -// #... 4274 -// #endif // !UNICODE 4275 - 4276 -extern(Windows) export BOOL CancelIo( 4277 - HANDLE hFile); 4278 - 4279 -extern(Windows) export BOOL ClearEventLogA( 4280 - HANDLE hEventLog, 4281 - LPCSTR lpBackupFileName); 4282 -extern(Windows) export BOOL ClearEventLogW( 4283 - HANDLE hEventLog, 4284 - LPCWSTR lpBackupFileName); 4285 -// #ifdef UNICODE 4286 -alias ClearEventLogW ClearEventLog; 4287 -// #else 4288 -// #... 4289 -// #endif // !UNICODE 4290 - 4291 -extern(Windows) export BOOL BackupEventLogA( 4292 - HANDLE hEventLog, 4293 - LPCSTR lpBackupFileName); 4294 -extern(Windows) export BOOL BackupEventLogW( 4295 - HANDLE hEventLog, 4296 - LPCWSTR lpBackupFileName); 4297 -// #ifdef UNICODE 4298 -alias BackupEventLogW BackupEventLog; 4299 -// #else 4300 -// #... 4301 -// #endif // !UNICODE 4302 - 4303 -extern(Windows) export BOOL CloseEventLog( 4304 - HANDLE hEventLog); 4305 - 4306 -extern(Windows) export BOOL DeregisterEventSource( 4307 - HANDLE hEventLog); 4308 - 4309 -extern(Windows) export BOOL NotifyChangeEventLog( 4310 - HANDLE hEventLog, 4311 - HANDLE hEvent); 4312 - 4313 -extern(Windows) export BOOL GetNumberOfEventLogRecords( 4314 - HANDLE hEventLog, 4315 - PDWORD NumberOfRecords); 4316 - 4317 -extern(Windows) export BOOL GetOldestEventLogRecord( 4318 - HANDLE hEventLog, 4319 - PDWORD OldestRecord); 4320 - 4321 -extern(Windows) export HANDLE OpenEventLogA( 4322 - LPCSTR lpUNCServerName, 4323 - LPCSTR lpSourceName); 4324 -extern(Windows) export HANDLE OpenEventLogW( 4325 - LPCWSTR lpUNCServerName, 4326 - LPCWSTR lpSourceName); 4327 -// #ifdef UNICODE 4328 -alias OpenEventLogW OpenEventLog; 4329 -// #else 4330 -// #... 4331 -// #endif // !UNICODE 4332 - 4333 -extern(Windows) export HANDLE RegisterEventSourceA( 4334 - LPCSTR lpUNCServerName, 4335 - LPCSTR lpSourceName); 4336 -extern(Windows) export HANDLE RegisterEventSourceW( 4337 - LPCWSTR lpUNCServerName, 4338 - LPCWSTR lpSourceName); 4339 -// #ifdef UNICODE 4340 -alias RegisterEventSourceW RegisterEventSource; 4341 -// #else 4342 -// #... 4343 -// #endif // !UNICODE 4344 - 4345 -extern(Windows) export HANDLE OpenBackupEventLogA( 4346 - LPCSTR lpUNCServerName, 4347 - LPCSTR lpFileName); 4348 -extern(Windows) export HANDLE OpenBackupEventLogW( 4349 - LPCWSTR lpUNCServerName, 4350 - LPCWSTR lpFileName); 4351 -// #ifdef UNICODE 4352 -alias OpenBackupEventLogW OpenBackupEventLog; 4353 -// #else 4354 -// #... 4355 -// #endif // !UNICODE 4356 - 4357 -extern(Windows) export BOOL ReadEventLogA( 4358 - HANDLE hEventLog, 4359 - DWORD dwReadFlags, 4360 - DWORD dwRecordOffset, 4361 - LPVOID lpBuffer, 4362 - DWORD nNumberOfBytesToRead, 4363 - DWORD *pnBytesRead, 4364 - DWORD *pnMinNumberOfBytesNeeded); 4365 -extern(Windows) export BOOL ReadEventLogW( 4366 - HANDLE hEventLog, 4367 - DWORD dwReadFlags, 4368 - DWORD dwRecordOffset, 4369 - LPVOID lpBuffer, 4370 - DWORD nNumberOfBytesToRead, 4371 - DWORD *pnBytesRead, 4372 - DWORD *pnMinNumberOfBytesNeeded); 4373 -// #ifdef UNICODE 4374 -alias ReadEventLogW ReadEventLog; 4375 -// #else 4376 -// #... 4377 -// #endif // !UNICODE 4378 - 4379 -extern(Windows) export BOOL ReportEventA( 4380 - HANDLE hEventLog, 4381 - WORD wType, 4382 - WORD wCategory, 4383 - DWORD dwEventID, 4384 - PSID lpUserSid, 4385 - WORD wNumStrings, 4386 - DWORD dwDataSize, 4387 - LPCSTR *lpStrings, 4388 - LPVOID lpRawData); 4389 -extern(Windows) export BOOL ReportEventW( 4390 - HANDLE hEventLog, 4391 - WORD wType, 4392 - WORD wCategory, 4393 - DWORD dwEventID, 4394 - PSID lpUserSid, 4395 - WORD wNumStrings, 4396 - DWORD dwDataSize, 4397 - LPCWSTR *lpStrings, 4398 - LPVOID lpRawData); 4399 -// #ifdef UNICODE 4400 -alias ReportEventW ReportEvent; 4401 -// #else 4402 -// #... 4403 -// #endif // !UNICODE 4404 - 4405 -enum : uint { EVENTLOG_FULL_INFO = 0 } 4406 - 4407 -struct _EVENTLOG_FULL_INFORMATION { 4408 - DWORD dwFull; 4409 -} 4410 -alias _EVENTLOG_FULL_INFORMATION EVENTLOG_FULL_INFORMATION; 4411 -alias _EVENTLOG_FULL_INFORMATION* LPEVENTLOG_FULL_INFORMATION; 4412 - 4413 -extern(Windows) export BOOL GetEventLogInformation( 4414 - HANDLE hEventLog, 4415 - DWORD dwInfoLevel, 4416 - LPVOID lpBuffer, 4417 - DWORD cbBufSize, 4418 - LPDWORD pcbBytesNeeded); 4419 - 4420 -extern(Windows) export BOOL DuplicateToken( 4421 - HANDLE ExistingTokenHandle, 4422 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, 4423 - PHANDLE DuplicateTokenHandle); 4424 - 4425 -extern(Windows) export BOOL GetKernelObjectSecurity( 4426 - HANDLE Handle, 4427 - SECURITY_INFORMATION RequestedInformation, 4428 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4429 - DWORD nLength, 4430 - LPDWORD lpnLengthNeeded); 4431 - 4432 -extern(Windows) export BOOL ImpersonateNamedPipeClient( 4433 - HANDLE hNamedPipe); 4434 - 4435 -extern(Windows) export BOOL ImpersonateSelf( 4436 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel); 4437 - 4438 -extern(Windows) export BOOL RevertToSelf(); 4439 - 4440 -extern(Windows) export BOOL SetThreadToken( 4441 - PHANDLE Thread, 4442 - HANDLE Token); 4443 - 4444 -extern(Windows) export BOOL AccessCheck( 4445 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4446 - HANDLE ClientToken, 4447 - DWORD DesiredAccess, 4448 - PGENERIC_MAPPING GenericMapping, 4449 - PPRIVILEGE_SET PrivilegeSet, 4450 - LPDWORD PrivilegeSetLength, 4451 - LPDWORD GrantedAccess, 4452 - LPBOOL AccessStatus); 4453 - 4454 -// #if(_WIN32_WINNT >= 0x0500) 4455 -extern(Windows) export BOOL AccessCheckByType( 4456 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4457 - PSID PrincipalSelfSid, 4458 - HANDLE ClientToken, 4459 - DWORD DesiredAccess, 4460 - POBJECT_TYPE_LIST ObjectTypeList, 4461 - DWORD ObjectTypeListLength, 4462 - PGENERIC_MAPPING GenericMapping, 4463 - PPRIVILEGE_SET PrivilegeSet, 4464 - LPDWORD PrivilegeSetLength, 4465 - LPDWORD GrantedAccess, 4466 - LPBOOL AccessStatus); 4467 - 4468 -extern(Windows) export BOOL AccessCheckByTypeResultList( 4469 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4470 - PSID PrincipalSelfSid, 4471 - HANDLE ClientToken, 4472 - DWORD DesiredAccess, 4473 - POBJECT_TYPE_LIST ObjectTypeList, 4474 - DWORD ObjectTypeListLength, 4475 - PGENERIC_MAPPING GenericMapping, 4476 - PPRIVILEGE_SET PrivilegeSet, 4477 - LPDWORD PrivilegeSetLength, 4478 - LPDWORD GrantedAccessList, 4479 - LPDWORD AccessStatusList); 4480 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4481 - 4482 -extern(Windows) export BOOL OpenProcessToken( 4483 - HANDLE ProcessHandle, 4484 - DWORD DesiredAccess, 4485 - PHANDLE TokenHandle); 4486 - 4487 -extern(Windows) export BOOL OpenThreadToken( 4488 - HANDLE ThreadHandle, 4489 - DWORD DesiredAccess, 4490 - BOOL OpenAsSelf, 4491 - PHANDLE TokenHandle); 4492 - 4493 -extern(Windows) export BOOL GetTokenInformation( 4494 - HANDLE TokenHandle, 4495 - TOKEN_INFORMATION_CLASS TokenInformationClass, 4496 - LPVOID TokenInformation, 4497 - DWORD TokenInformationLength, 4498 - PDWORD ReturnLength); 4499 - 4500 -extern(Windows) export BOOL SetTokenInformation( 4501 - HANDLE TokenHandle, 4502 - TOKEN_INFORMATION_CLASS TokenInformationClass, 4503 - LPVOID TokenInformation, 4504 - DWORD TokenInformationLength); 4505 - 4506 -extern(Windows) export BOOL AdjustTokenPrivileges( 4507 - HANDLE TokenHandle, 4508 - BOOL DisableAllPrivileges, 4509 - PTOKEN_PRIVILEGES NewState, 4510 - DWORD BufferLength, 4511 - PTOKEN_PRIVILEGES PreviousState, 4512 - PDWORD ReturnLength); 4513 - 4514 -extern(Windows) export BOOL AdjustTokenGroups( 4515 - HANDLE TokenHandle, 4516 - BOOL ResetToDefault, 4517 - PTOKEN_GROUPS NewState, 4518 - DWORD BufferLength, 4519 - PTOKEN_GROUPS PreviousState, 4520 - PDWORD ReturnLength); 4521 - 4522 -extern(Windows) export BOOL PrivilegeCheck( 4523 - HANDLE ClientToken, 4524 - PPRIVILEGE_SET RequiredPrivileges, 4525 - LPBOOL pfResult); 4526 - 4527 -extern(Windows) export BOOL AccessCheckAndAuditAlarmA( 4528 - LPCSTR SubsystemName, 4529 - LPVOID HandleId, 4530 - LPSTR ObjectTypeName, 4531 - LPSTR ObjectName, 4532 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4533 - DWORD DesiredAccess, 4534 - PGENERIC_MAPPING GenericMapping, 4535 - BOOL ObjectCreation, 4536 - LPDWORD GrantedAccess, 4537 - LPBOOL AccessStatus, 4538 - LPBOOL pfGenerateOnClose); 4539 -extern(Windows) export BOOL AccessCheckAndAuditAlarmW( 4540 - LPCWSTR SubsystemName, 4541 - LPVOID HandleId, 4542 - LPWSTR ObjectTypeName, 4543 - LPWSTR ObjectName, 4544 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4545 - DWORD DesiredAccess, 4546 - PGENERIC_MAPPING GenericMapping, 4547 - BOOL ObjectCreation, 4548 - LPDWORD GrantedAccess, 4549 - LPBOOL AccessStatus, 4550 - LPBOOL pfGenerateOnClose); 4551 -// #ifdef UNICODE 4552 -alias AccessCheckAndAuditAlarmW AccessCheckAndAuditAlarm; 4553 -// #else 4554 -// #... 4555 -// #endif // !UNICODE 4556 - 4557 -// #if(_WIN32_WINNT >= 0x0500) 4558 - 4559 -extern(Windows) export BOOL AccessCheckByTypeAndAuditAlarmA( 4560 - LPCSTR SubsystemName, 4561 - LPVOID HandleId, 4562 - LPCSTR ObjectTypeName, 4563 - LPCSTR ObjectName, 4564 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4565 - PSID PrincipalSelfSid, 4566 - DWORD DesiredAccess, 4567 - AUDIT_EVENT_TYPE AuditType, 4568 - DWORD Flags, 4569 - POBJECT_TYPE_LIST ObjectTypeList, 4570 - DWORD ObjectTypeListLength, 4571 - PGENERIC_MAPPING GenericMapping, 4572 - BOOL ObjectCreation, 4573 - LPDWORD GrantedAccess, 4574 - LPBOOL AccessStatus, 4575 - LPBOOL pfGenerateOnClose); 4576 -extern(Windows) export BOOL AccessCheckByTypeAndAuditAlarmW( 4577 - LPCWSTR SubsystemName, 4578 - LPVOID HandleId, 4579 - LPCWSTR ObjectTypeName, 4580 - LPCWSTR ObjectName, 4581 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4582 - PSID PrincipalSelfSid, 4583 - DWORD DesiredAccess, 4584 - AUDIT_EVENT_TYPE AuditType, 4585 - DWORD Flags, 4586 - POBJECT_TYPE_LIST ObjectTypeList, 4587 - DWORD ObjectTypeListLength, 4588 - PGENERIC_MAPPING GenericMapping, 4589 - BOOL ObjectCreation, 4590 - LPDWORD GrantedAccess, 4591 - LPBOOL AccessStatus, 4592 - LPBOOL pfGenerateOnClose); 4593 -// #ifdef UNICODE 4594 -alias AccessCheckByTypeAndAuditAlarmW AccessCheckByTypeAndAuditAlarm; 4595 -// #else 4596 -// #... 4597 -// #endif // !UNICODE 4598 - 4599 -extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmA( 4600 - LPCSTR SubsystemName, 4601 - LPVOID HandleId, 4602 - LPCSTR ObjectTypeName, 4603 - LPCSTR ObjectName, 4604 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4605 - PSID PrincipalSelfSid, 4606 - DWORD DesiredAccess, 4607 - AUDIT_EVENT_TYPE AuditType, 4608 - DWORD Flags, 4609 - POBJECT_TYPE_LIST ObjectTypeList, 4610 - DWORD ObjectTypeListLength, 4611 - PGENERIC_MAPPING GenericMapping, 4612 - BOOL ObjectCreation, 4613 - LPDWORD GrantedAccess, 4614 - LPDWORD AccessStatusList, 4615 - LPBOOL pfGenerateOnClose); 4616 -extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmW( 4617 - LPCWSTR SubsystemName, 4618 - LPVOID HandleId, 4619 - LPCWSTR ObjectTypeName, 4620 - LPCWSTR ObjectName, 4621 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4622 - PSID PrincipalSelfSid, 4623 - DWORD DesiredAccess, 4624 - AUDIT_EVENT_TYPE AuditType, 4625 - DWORD Flags, 4626 - POBJECT_TYPE_LIST ObjectTypeList, 4627 - DWORD ObjectTypeListLength, 4628 - PGENERIC_MAPPING GenericMapping, 4629 - BOOL ObjectCreation, 4630 - LPDWORD GrantedAccess, 4631 - LPDWORD AccessStatusList, 4632 - LPBOOL pfGenerateOnClose); 4633 -// #ifdef UNICODE 4634 -alias AccessCheckByTypeResultListAndAuditAlarmW AccessCheckByTypeResultListAndAuditAlarm; 4635 -// #else 4636 -// #... 4637 -// #endif // !UNICODE 4638 - 4639 -extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmByHandleA( 4640 - LPCSTR SubsystemName, 4641 - LPVOID HandleId, 4642 - HANDLE ClientToken, 4643 - LPCSTR ObjectTypeName, 4644 - LPCSTR ObjectName, 4645 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4646 - PSID PrincipalSelfSid, 4647 - DWORD DesiredAccess, 4648 - AUDIT_EVENT_TYPE AuditType, 4649 - DWORD Flags, 4650 - POBJECT_TYPE_LIST ObjectTypeList, 4651 - DWORD ObjectTypeListLength, 4652 - PGENERIC_MAPPING GenericMapping, 4653 - BOOL ObjectCreation, 4654 - LPDWORD GrantedAccess, 4655 - LPDWORD AccessStatusList, 4656 - LPBOOL pfGenerateOnClose); 4657 -extern(Windows) export BOOL AccessCheckByTypeResultListAndAuditAlarmByHandleW( 4658 - LPCWSTR SubsystemName, 4659 - LPVOID HandleId, 4660 - HANDLE ClientToken, 4661 - LPCWSTR ObjectTypeName, 4662 - LPCWSTR ObjectName, 4663 - PSECURITY_DESCRIPTOR SecurityDescriptor, 4664 - PSID PrincipalSelfSid, 4665 - DWORD DesiredAccess, 4666 - AUDIT_EVENT_TYPE AuditType, 4667 - DWORD Flags, 4668 - POBJECT_TYPE_LIST ObjectTypeList, 4669 - DWORD ObjectTypeListLength, 4670 - PGENERIC_MAPPING GenericMapping, 4671 - BOOL ObjectCreation, 4672 - LPDWORD GrantedAccess, 4673 - LPDWORD AccessStatusList, 4674 - LPBOOL pfGenerateOnClose); 4675 -// #ifdef UNICODE 4676 -alias AccessCheckByTypeResultListAndAuditAlarmByHandleW AccessCheckByTypeResultListAndAuditAlarmByHandle; 4677 -// #else 4678 -// #... 4679 -// #endif // !UNICODE 4680 - 4681 -// #endif //(_WIN32_WINNT >= 0x0500) 4682 - 4683 -extern(Windows) export BOOL ObjectOpenAuditAlarmA( 4684 - LPCSTR SubsystemName, 4685 - LPVOID HandleId, 4686 - LPSTR ObjectTypeName, 4687 - LPSTR ObjectName, 4688 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4689 - HANDLE ClientToken, 4690 - DWORD DesiredAccess, 4691 - DWORD GrantedAccess, 4692 - PPRIVILEGE_SET Privileges, 4693 - BOOL ObjectCreation, 4694 - BOOL AccessGranted, 4695 - LPBOOL GenerateOnClose); 4696 -extern(Windows) export BOOL ObjectOpenAuditAlarmW( 4697 - LPCWSTR SubsystemName, 4698 - LPVOID HandleId, 4699 - LPWSTR ObjectTypeName, 4700 - LPWSTR ObjectName, 4701 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 4702 - HANDLE ClientToken, 4703 - DWORD DesiredAccess, 4704 - DWORD GrantedAccess, 4705 - PPRIVILEGE_SET Privileges, 4706 - BOOL ObjectCreation, 4707 - BOOL AccessGranted, 4708 - LPBOOL GenerateOnClose); 4709 -// #ifdef UNICODE 4710 -alias ObjectOpenAuditAlarmW ObjectOpenAuditAlarm; 4711 -// #else 4712 -// #... 4713 -// #endif // !UNICODE 4714 - 4715 -extern(Windows) export BOOL ObjectPrivilegeAuditAlarmA( 4716 - LPCSTR SubsystemName, 4717 - LPVOID HandleId, 4718 - HANDLE ClientToken, 4719 - DWORD DesiredAccess, 4720 - PPRIVILEGE_SET Privileges, 4721 - BOOL AccessGranted); 4722 -extern(Windows) export BOOL ObjectPrivilegeAuditAlarmW( 4723 - LPCWSTR SubsystemName, 4724 - LPVOID HandleId, 4725 - HANDLE ClientToken, 4726 - DWORD DesiredAccess, 4727 - PPRIVILEGE_SET Privileges, 4728 - BOOL AccessGranted); 4729 -// #ifdef UNICODE 4730 -alias ObjectPrivilegeAuditAlarmW ObjectPrivilegeAuditAlarm; 4731 -// #else 4732 -// #... 4733 -// #endif // !UNICODE 4734 - 4735 -extern(Windows) export BOOL ObjectCloseAuditAlarmA( 4736 - LPCSTR SubsystemName, 4737 - LPVOID HandleId, 4738 - BOOL GenerateOnClose); 4739 -extern(Windows) export BOOL ObjectCloseAuditAlarmW( 4740 - LPCWSTR SubsystemName, 4741 - LPVOID HandleId, 4742 - BOOL GenerateOnClose); 4743 -// #ifdef UNICODE 4744 -alias ObjectCloseAuditAlarmW ObjectCloseAuditAlarm; 4745 -// #else 4746 -// #... 4747 -// #endif // !UNICODE 4748 - 4749 -extern(Windows) export BOOL ObjectDeleteAuditAlarmA( 4750 - LPCSTR SubsystemName, 4751 - LPVOID HandleId, 4752 - BOOL GenerateOnClose); 4753 -extern(Windows) export BOOL ObjectDeleteAuditAlarmW( 4754 - LPCWSTR SubsystemName, 4755 - LPVOID HandleId, 4756 - BOOL GenerateOnClose); 4757 -// #ifdef UNICODE 4758 -alias ObjectDeleteAuditAlarmW ObjectDeleteAuditAlarm; 4759 -// #else 4760 -// #... 4761 -// #endif // !UNICODE 4762 - 4763 -extern(Windows) export BOOL PrivilegedServiceAuditAlarmA( 4764 - LPCSTR SubsystemName, 4765 - LPCSTR ServiceName, 4766 - HANDLE ClientToken, 4767 - PPRIVILEGE_SET Privileges, 4768 - BOOL AccessGranted); 4769 -extern(Windows) export BOOL PrivilegedServiceAuditAlarmW( 4770 - LPCWSTR SubsystemName, 4771 - LPCWSTR ServiceName, 4772 - HANDLE ClientToken, 4773 - PPRIVILEGE_SET Privileges, 4774 - BOOL AccessGranted); 4775 -// #ifdef UNICODE 4776 -alias PrivilegedServiceAuditAlarmW PrivilegedServiceAuditAlarm; 4777 -// #else 4778 -// #... 4779 -// #endif // !UNICODE 4780 - 4781 -// #if(_WIN32_WINNT >= 0x0501) 4782 - 4783 -enum _0 { 4784 - 4785 - WinNullSid = 0, 4786 - WinWorldSid = 1, 4787 - WinLocalSid = 2, 4788 - WinCreatorOwnerSid = 3, 4789 - WinCreatorGroupSid = 4, 4790 - WinCreatorOwnerServerSid = 5, 4791 - WinCreatorGroupServerSid = 6, 4792 - WinNtAuthoritySid = 7, 4793 - WinDialupSid = 8, 4794 - WinNetworkSid = 9, 4795 - WinBatchSid = 10, 4796 - WinInteractiveSid = 11, 4797 - WinServiceSid = 12, 4798 - WinAnonymousSid = 13, 4799 - WinProxySid = 14, 4800 - WinEnterpriseControllersSid = 15, 4801 - WinSelfSid = 16, 4802 - WinAuthenticatedUserSid = 17, 4803 - WinRestrictedCodeSid = 18, 4804 - WinTerminalServerSid = 19, 4805 - WinRemoteLogonIdSid = 20, 4806 - WinLogonIdsSid = 21, 4807 - WinLocalSystemSid = 22, 4808 - WinLocalServiceSid = 23, 4809 - WinNetworkServiceSid = 24, 4810 - WinBuiltinDomainSid = 25, 4811 - WinBuiltinAdministratorsSid = 26, 4812 - WinBuiltinUsersSid = 27, 4813 - WinBuiltinGuestsSid = 28, 4814 - WinBuiltinPowerUsersSid = 29, 4815 - WinBuiltinAccountOperatorsSid = 30, 4816 - WinBuiltinSystemOperatorsSid = 31, 4817 - WinBuiltinPrintOperatorsSid = 32, 4818 - WinBuiltinBackupOperatorsSid = 33, 4819 - WinBuiltinReplicatorSid = 34, 4820 - WinBuiltinPreWindows2000CompatibleAccessSid = 35, 4821 - WinBuiltinRemoteDesktopUsersSid = 36, 4822 - WinBuiltinNetworkConfigurationOperatorsSid = 37, 4823 - WinAccountAdministratorSid = 38, 4824 - WinAccountGuestSid = 39, 4825 - WinAccountKrbtgtSid = 40, 4826 - WinAccountDomainAdminsSid = 41, 4827 - WinAccountDomainUsersSid = 42, 4828 - WinAccountDomainGuestsSid = 43, 4829 - WinAccountComputersSid = 44, 4830 - WinAccountControllersSid = 45, 4831 - WinAccountCertAdminsSid = 46, 4832 - WinAccountSchemaAdminsSid = 47, 4833 - WinAccountEnterpriseAdminsSid = 48, 4834 - WinAccountPolicyAdminsSid = 49, 4835 - WinAccountRasAndIasServersSid = 50, 4836 - 4837 -} 4838 -alias _0 WELL_KNOWN_SID_TYPE; 4839 - 4840 -extern(Windows) export BOOL IsWellKnownSid( 4841 - PSID pSid, 4842 - WELL_KNOWN_SID_TYPE WellKnownSidType); 4843 - 4844 -extern(Windows) export BOOL CreateWellKnownSid( 4845 - WELL_KNOWN_SID_TYPE WellKnownSidType, 4846 - PSID DomainSid , 4847 - PSID pSid, 4848 - DWORD *cbSid); 4849 - 4850 -extern(Windows) export BOOL EqualDomainSid( 4851 - PSID pSid1, 4852 - PSID pSid2, 4853 - BOOL *pfEqual); 4854 - 4855 -extern(Windows) export BOOL GetWindowsAccountDomainSid( 4856 - PSID pSid, 4857 - PSID ppDomainSid , 4858 - DWORD *cbSid); 4859 - 4860 -// #endif //(_WIN32_WINNT >= 0x0501) 4861 - 4862 -extern(Windows) export BOOL IsValidSid( 4863 - PSID pSid); 4864 - 4865 -extern(Windows) export BOOL EqualSid( 4866 - PSID pSid1, 4867 - PSID pSid2); 4868 - 4869 -extern(Windows) export BOOL EqualPrefixSid( 4870 - PSID pSid1, 4871 - PSID pSid2); 4872 - 4873 -extern(Windows) export DWORD GetSidLengthRequired( 4874 - UCHAR nSubAuthorityCount); 4875 - 4876 -extern(Windows) export BOOL AllocateAndInitializeSid( 4877 - PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, 4878 - BYTE nSubAuthorityCount, 4879 - DWORD nSubAuthority0, 4880 - DWORD nSubAuthority1, 4881 - DWORD nSubAuthority2, 4882 - DWORD nSubAuthority3, 4883 - DWORD nSubAuthority4, 4884 - DWORD nSubAuthority5, 4885 - DWORD nSubAuthority6, 4886 - DWORD nSubAuthority7, 4887 - PSID *pSid); 4888 - 4889 -extern(Windows) export PVOID FreeSid( 4890 - PSID pSid); 4891 - 4892 -extern(Windows) export BOOL InitializeSid( 4893 - PSID Sid, 4894 - PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, 4895 - BYTE nSubAuthorityCount); 4896 - 4897 -extern(Windows) export PSID_IDENTIFIER_AUTHORITY GetSidIdentifierAuthority( 4898 - PSID pSid); 4899 - 4900 -extern(Windows) export PDWORD GetSidSubAuthority( 4901 - PSID pSid, 4902 - DWORD nSubAuthority); 4903 - 4904 -extern(Windows) export PUCHAR GetSidSubAuthorityCount( 4905 - PSID pSid); 4906 - 4907 -extern(Windows) export DWORD GetLengthSid( 4908 - PSID pSid); 4909 - 4910 -extern(Windows) export BOOL CopySid( 4911 - DWORD nDestinationSidLength, 4912 - PSID pDestinationSid, 4913 - PSID pSourceSid); 4914 - 4915 -extern(Windows) export BOOL AreAllAccessesGranted( 4916 - DWORD GrantedAccess, 4917 - DWORD DesiredAccess); 4918 - 4919 -extern(Windows) export BOOL AreAnyAccessesGranted( 4920 - DWORD GrantedAccess, 4921 - DWORD DesiredAccess); 4922 - 4923 -extern(Windows) export VOID MapGenericMask( 4924 - PDWORD AccessMask, 4925 - PGENERIC_MAPPING GenericMapping); 4926 - 4927 -extern(Windows) export BOOL IsValidAcl( 4928 - PACL pAcl); 4929 - 4930 -extern(Windows) export BOOL InitializeAcl( 4931 - PACL pAcl, 4932 - DWORD nAclLength, 4933 - DWORD dwAclRevision); 4934 - 4935 -extern(Windows) export BOOL GetAclInformation( 4936 - PACL pAcl, 4937 - LPVOID pAclInformation, 4938 - DWORD nAclInformationLength, 4939 - ACL_INFORMATION_CLASS dwAclInformationClass); 4940 - 4941 -extern(Windows) export BOOL SetAclInformation( 4942 - PACL pAcl, 4943 - LPVOID pAclInformation, 4944 - DWORD nAclInformationLength, 4945 - ACL_INFORMATION_CLASS dwAclInformationClass); 4946 - 4947 -extern(Windows) export BOOL AddAce( 4948 - PACL pAcl, 4949 - DWORD dwAceRevision, 4950 - DWORD dwStartingAceIndex, 4951 - LPVOID pAceList, 4952 - DWORD nAceListLength); 4953 - 4954 -extern(Windows) export BOOL DeleteAce( 4955 - PACL pAcl, 4956 - DWORD dwAceIndex); 4957 - 4958 -extern(Windows) export BOOL GetAce( 4959 - PACL pAcl, 4960 - DWORD dwAceIndex, 4961 - LPVOID *pAce); 4962 - 4963 -extern(Windows) export BOOL AddAccessAllowedAce( 4964 - PACL pAcl, 4965 - DWORD dwAceRevision, 4966 - DWORD AccessMask, 4967 - PSID pSid); 4968 - 4969 -// #if(_WIN32_WINNT >= 0x0500) 4970 -extern(Windows) export BOOL AddAccessAllowedAceEx( 4971 - PACL pAcl, 4972 - DWORD dwAceRevision, 4973 - DWORD AceFlags, 4974 - DWORD AccessMask, 4975 - PSID pSid); 4976 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4977 - 4978 -extern(Windows) export BOOL AddAccessDeniedAce( 4979 - PACL pAcl, 4980 - DWORD dwAceRevision, 4981 - DWORD AccessMask, 4982 - PSID pSid); 4983 - 4984 -// #if(_WIN32_WINNT >= 0x0500) 4985 -extern(Windows) export BOOL AddAccessDeniedAceEx( 4986 - PACL pAcl, 4987 - DWORD dwAceRevision, 4988 - DWORD AceFlags, 4989 - DWORD AccessMask, 4990 - PSID pSid); 4991 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4992 - 4993 -extern(Windows) export BOOL AddAuditAccessAce( 4994 - PACL pAcl, 4995 - DWORD dwAceRevision, 4996 - DWORD dwAccessMask, 4997 - PSID pSid, 4998 - BOOL bAuditSuccess, 4999 - BOOL bAuditFailure); 5000 - 5001 -// #if(_WIN32_WINNT >= 0x0500) 5002 -extern(Windows) export BOOL AddAuditAccessAceEx( 5003 - PACL pAcl, 5004 - DWORD dwAceRevision, 5005 - DWORD AceFlags, 5006 - DWORD dwAccessMask, 5007 - PSID pSid, 5008 - BOOL bAuditSuccess, 5009 - BOOL bAuditFailure); 5010 - 5011 -extern(Windows) export BOOL AddAccessAllowedObjectAce( 5012 - PACL pAcl, 5013 - DWORD dwAceRevision, 5014 - DWORD AceFlags, 5015 - DWORD AccessMask, 5016 - GUID *ObjectTypeGuid, 5017 - GUID *InheritedObjectTypeGuid, 5018 - PSID pSid); 5019 - 5020 -extern(Windows) export BOOL AddAccessDeniedObjectAce( 5021 - PACL pAcl, 5022 - DWORD dwAceRevision, 5023 - DWORD AceFlags, 5024 - DWORD AccessMask, 5025 - GUID *ObjectTypeGuid, 5026 - GUID *InheritedObjectTypeGuid, 5027 - PSID pSid); 5028 - 5029 -extern(Windows) export BOOL AddAuditAccessObjectAce( 5030 - PACL pAcl, 5031 - DWORD dwAceRevision, 5032 - DWORD AceFlags, 5033 - DWORD AccessMask, 5034 - GUID *ObjectTypeGuid, 5035 - GUID *InheritedObjectTypeGuid, 5036 - PSID pSid, 5037 - BOOL bAuditSuccess, 5038 - BOOL bAuditFailure); 5039 -// #endif /* _WIN32_WINNT >= 0x0500 */ 5040 - 5041 -extern(Windows) export BOOL FindFirstFreeAce( 5042 - PACL pAcl, 5043 - LPVOID *pAce); 5044 - 5045 -extern(Windows) export BOOL InitializeSecurityDescriptor( 5046 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5047 - DWORD dwRevision); 5048 - 5049 -extern(Windows) export BOOL IsValidSecurityDescriptor( 5050 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 5051 - 5052 -extern(Windows) export DWORD GetSecurityDescriptorLength( 5053 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 5054 - 5055 -extern(Windows) export BOOL GetSecurityDescriptorControl( 5056 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5057 - PSECURITY_DESCRIPTOR_CONTROL pControl, 5058 - LPDWORD lpdwRevision); 5059 - 5060 -// #if(_WIN32_WINNT >= 0x0500) 5061 -extern(Windows) export BOOL SetSecurityDescriptorControl( 5062 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5063 - SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, 5064 - SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet); 5065 -// #endif /* _WIN32_WINNT >= 0x0500 */ 5066 - 5067 -extern(Windows) export BOOL SetSecurityDescriptorDacl( 5068 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5069 - BOOL bDaclPresent, 5070 - PACL pDacl, 5071 - BOOL bDaclDefaulted); 5072 - 5073 -extern(Windows) export BOOL GetSecurityDescriptorDacl( 5074 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5075 - LPBOOL lpbDaclPresent, 5076 - PACL *pDacl, 5077 - LPBOOL lpbDaclDefaulted); 5078 - 5079 -extern(Windows) export BOOL SetSecurityDescriptorSacl( 5080 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5081 - BOOL bSaclPresent, 5082 - PACL pSacl, 5083 - BOOL bSaclDefaulted); 5084 - 5085 -extern(Windows) export BOOL GetSecurityDescriptorSacl( 5086 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5087 - LPBOOL lpbSaclPresent, 5088 - PACL *pSacl, 5089 - LPBOOL lpbSaclDefaulted); 5090 - 5091 -extern(Windows) export BOOL SetSecurityDescriptorOwner( 5092 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5093 - PSID pOwner, 5094 - BOOL bOwnerDefaulted); 5095 - 5096 -extern(Windows) export BOOL GetSecurityDescriptorOwner( 5097 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5098 - PSID *pOwner, 5099 - LPBOOL lpbOwnerDefaulted); 5100 - 5101 -extern(Windows) export BOOL SetSecurityDescriptorGroup( 5102 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5103 - PSID pGroup, 5104 - BOOL bGroupDefaulted); 5105 - 5106 -extern(Windows) export BOOL GetSecurityDescriptorGroup( 5107 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5108 - PSID *pGroup, 5109 - LPBOOL lpbGroupDefaulted); 5110 - 5111 -extern(Windows) export DWORD SetSecurityDescriptorRMControl( 5112 - PSECURITY_DESCRIPTOR SecurityDescriptor, 5113 - PUCHAR RMControl ); 5114 - 5115 -extern(Windows) export DWORD GetSecurityDescriptorRMControl( 5116 - PSECURITY_DESCRIPTOR SecurityDescriptor, 5117 - PUCHAR RMControl); 5118 - 5119 -extern(Windows) export BOOL CreatePrivateObjectSecurity( 5120 - PSECURITY_DESCRIPTOR ParentDescriptor, 5121 - PSECURITY_DESCRIPTOR CreatorDescriptor, 5122 - PSECURITY_DESCRIPTOR * NewDescriptor, 5123 - BOOL IsDirectoryObject, 5124 - HANDLE Token, 5125 - PGENERIC_MAPPING GenericMapping); 5126 - 5127 -// #if(_WIN32_WINNT >= 0x0500) 5128 -extern(Windows) export BOOL ConvertToAutoInheritPrivateObjectSecurity( 5129 - PSECURITY_DESCRIPTOR ParentDescriptor, 5130 - PSECURITY_DESCRIPTOR CurrentSecurityDescriptor, 5131 - PSECURITY_DESCRIPTOR *NewSecurityDescriptor, 5132 - GUID *ObjectType, 5133 - BOOLEAN IsDirectoryObject, 5134 - PGENERIC_MAPPING GenericMapping); 5135 - 5136 -extern(Windows) export BOOL CreatePrivateObjectSecurityEx( 5137 - PSECURITY_DESCRIPTOR ParentDescriptor, 5138 - PSECURITY_DESCRIPTOR CreatorDescriptor, 5139 - PSECURITY_DESCRIPTOR * NewDescriptor, 5140 - GUID *ObjectType , 5141 - BOOL IsContainerObject, 5142 - ULONG AutoInheritFlags, 5143 - HANDLE Token, 5144 - PGENERIC_MAPPING GenericMapping); 5145 - 5146 -extern(Windows) export BOOL CreatePrivateObjectSecurityWithMultipleInheritance( 5147 - PSECURITY_DESCRIPTOR ParentDescriptor, 5148 - PSECURITY_DESCRIPTOR CreatorDescriptor, 5149 - PSECURITY_DESCRIPTOR * NewDescriptor, 5150 - GUID **ObjectTypes , 5151 - ULONG GuidCount, 5152 - BOOL IsContainerObject, 5153 - ULONG AutoInheritFlags, 5154 - HANDLE Token, 5155 - PGENERIC_MAPPING GenericMapping); 5156 -// #endif /* _WIN32_WINNT >= 0x0500 */ 5157 - 5158 -extern(Windows) export BOOL SetPrivateObjectSecurity( 5159 - SECURITY_INFORMATION SecurityInformation, 5160 - PSECURITY_DESCRIPTOR ModificationDescriptor, 5161 - PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, 5162 - PGENERIC_MAPPING GenericMapping, 5163 - HANDLE Token); 5164 - 5165 -// #if(_WIN32_WINNT >= 0x0500) 5166 -extern(Windows) export BOOL SetPrivateObjectSecurityEx( 5167 - SECURITY_INFORMATION SecurityInformation, 5168 - PSECURITY_DESCRIPTOR ModificationDescriptor, 5169 - PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor, 5170 - ULONG AutoInheritFlags, 5171 - PGENERIC_MAPPING GenericMapping, 5172 - HANDLE Token ); 5173 -// #endif /* _WIN32_WINNT >= 0x0500 */ 5174 - 5175 -extern(Windows) export BOOL GetPrivateObjectSecurity( 5176 - PSECURITY_DESCRIPTOR ObjectDescriptor, 5177 - SECURITY_INFORMATION SecurityInformation, 5178 - PSECURITY_DESCRIPTOR ResultantDescriptor, 5179 - DWORD DescriptorLength, 5180 - PDWORD ReturnLength); 5181 - 5182 -extern(Windows) export BOOL DestroyPrivateObjectSecurity( 5183 - PSECURITY_DESCRIPTOR * ObjectDescriptor); 5184 - 5185 -extern(Windows) export BOOL MakeSelfRelativeSD( 5186 - PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, 5187 - PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, 5188 - LPDWORD lpdwBufferLength); 5189 - 5190 -extern(Windows) export BOOL MakeAbsoluteSD( 5191 - PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, 5192 - PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, 5193 - LPDWORD lpdwAbsoluteSecurityDescriptorSize, 5194 - PACL pDacl, 5195 - LPDWORD lpdwDaclSize, 5196 - PACL pSacl, 5197 - LPDWORD lpdwSaclSize, 5198 - PSID pOwner, 5199 - LPDWORD lpdwOwnerSize, 5200 - PSID pPrimaryGroup, 5201 - LPDWORD lpdwPrimaryGroupSize); 5202 - 5203 -extern(Windows) export BOOL MakeAbsoluteSD2( 5204 - PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, 5205 - LPDWORD lpdwBufferSize); 5206 - 5207 -extern(Windows) export BOOL SetFileSecurityA( 5208 - LPCSTR lpFileName, 5209 - SECURITY_INFORMATION SecurityInformation, 5210 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 5211 -extern(Windows) export BOOL SetFileSecurityW( 5212 - LPCWSTR lpFileName, 5213 - SECURITY_INFORMATION SecurityInformation, 5214 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 5215 -// #ifdef UNICODE 5216 -alias SetFileSecurityW SetFileSecurity; 5217 -// #else 5218 -// #... 5219 -// #endif // !UNICODE 5220 - 5221 -extern(Windows) export BOOL GetFileSecurityA( 5222 - LPCSTR lpFileName, 5223 - SECURITY_INFORMATION RequestedInformation, 5224 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5225 - DWORD nLength, 5226 - LPDWORD lpnLengthNeeded); 5227 -extern(Windows) export BOOL GetFileSecurityW( 5228 - LPCWSTR lpFileName, 5229 - SECURITY_INFORMATION RequestedInformation, 5230 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 5231 - DWORD nLength, 5232 - LPDWORD lpnLengthNeeded); 5233 -// #ifdef UNICODE 5234 -alias GetFileSecurityW GetFileSecurity; 5235 -// #else 5236 -// #... 5237 -// #endif // !UNICODE 5238 - 5239 -extern(Windows) export BOOL SetKernelObjectSecurity( 5240 - HANDLE Handle, 5241 - SECURITY_INFORMATION SecurityInformation, 5242 - PSECURITY_DESCRIPTOR SecurityDescriptor); 5243 - 5244 -extern(Windows) export HANDLE FindFirstChangeNotificationA( 5245 - LPCSTR lpPathName, 5246 - BOOL bWatchSubtree, 5247 - DWORD dwNotifyFilter); 5248 -extern(Windows) export HANDLE FindFirstChangeNotificationW( 5249 - LPCWSTR lpPathName, 5250 - BOOL bWatchSubtree, 5251 - DWORD dwNotifyFilter); 5252 -// #ifdef UNICODE 5253 -alias FindFirstChangeNotificationW FindFirstChangeNotification; 5254 -// #else 5255 -// #... 5256 -// #endif // !UNICODE 5257 - 5258 -extern(Windows) export BOOL FindNextChangeNotification( 5259 - HANDLE hChangeHandle); 5260 - 5261 -extern(Windows) export BOOL FindCloseChangeNotification( 5262 - HANDLE hChangeHandle); 5263 - 5264 -// #if(_WIN32_WINNT >= 0x0400) 5265 -extern(Windows) export BOOL ReadDirectoryChangesW( 5266 - HANDLE hDirectory, 5267 - LPVOID lpBuffer, 5268 - DWORD nBufferLength, 5269 - BOOL bWatchSubtree, 5270 - DWORD dwNotifyFilter, 5271 - LPDWORD lpBytesReturned, 5272 - LPOVERLAPPED lpOverlapped, 5273 - LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); 5274 -// #endif /* _WIN32_WINNT >= 0x0400 */ 5275 - 5276 -extern(Windows) export BOOL VirtualLock( 5277 - LPVOID lpAddress, 5278 - SIZE_T dwSize); 5279 - 5280 -extern(Windows) export BOOL VirtualUnlock( 5281 - LPVOID lpAddress, 5282 - SIZE_T dwSize); 5283 - 5284 -extern(Windows) export LPVOID MapViewOfFileEx( 5285 - HANDLE hFileMappingObject, 5286 - DWORD dwDesiredAccess, 5287 - DWORD dwFileOffsetHigh, 5288 - DWORD dwFileOffsetLow, 5289 - SIZE_T dwNumberOfBytesToMap, 5290 - LPVOID lpBaseAddress); 5291 - 5292 -extern(Windows) export BOOL SetPriorityClass( 5293 - HANDLE hProcess, 5294 - DWORD dwPriorityClass); 5295 - 5296 -extern(Windows) export DWORD GetPriorityClass( 5297 - HANDLE hProcess); 5298 - 5299 -extern(Windows) export BOOL IsBadReadPtr( 5300 - VOID *lp, 5301 - UINT_PTR ucb); 5302 - 5303 -extern(Windows) export BOOL IsBadWritePtr( 5304 - LPVOID lp, 5305 - UINT_PTR ucb); 5306 - 5307 -extern(Windows) export BOOL IsBadHugeReadPtr( 5308 - VOID *lp, 5309 - UINT_PTR ucb); 5310 - 5311 -extern(Windows) export BOOL IsBadHugeWritePtr( 5312 - LPVOID lp, 5313 - UINT_PTR ucb); 5314 - 5315 -extern(Windows) export BOOL IsBadCodePtr( 5316 - FARPROC lpfn); 5317 - 5318 -extern(Windows) export BOOL IsBadStringPtrA( 5319 - LPCSTR lpsz, 5320 - UINT_PTR ucchMax); 5321 -extern(Windows) export BOOL IsBadStringPtrW( 5322 - LPCWSTR lpsz, 5323 - UINT_PTR ucchMax); 5324 -// #ifdef UNICODE 5325 -alias IsBadStringPtrW IsBadStringPtr; 5326 -// #else 5327 -// #... 5328 -// #endif // !UNICODE 5329 - 5330 -extern(Windows) export BOOL LookupAccountSidA( 5331 - LPCSTR lpSystemName, 5332 - PSID Sid, 5333 - LPSTR Name, 5334 - LPDWORD cbName, 5335 - LPSTR ReferencedDomainName, 5336 - LPDWORD cbReferencedDomainName, 5337 - PSID_NAME_USE peUse); 5338 -extern(Windows) export BOOL LookupAccountSidW( 5339 - LPCWSTR lpSystemName, 5340 - PSID Sid, 5341 - LPWSTR Name, 5342 - LPDWORD cbName, 5343 - LPWSTR ReferencedDomainName, 5344 - LPDWORD cbReferencedDomainName, 5345 - PSID_NAME_USE peUse); 5346 -// #ifdef UNICODE 5347 -alias LookupAccountSidW LookupAccountSid; 5348 -// #else 5349 -// #... 5350 -// #endif // !UNICODE 5351 - 5352 -extern(Windows) export BOOL LookupAccountNameA( 5353 - LPCSTR lpSystemName, 5354 - LPCSTR lpAccountName, 5355 - PSID Sid, 5356 - LPDWORD cbSid, 5357 - LPSTR ReferencedDomainName, 5358 - LPDWORD cbReferencedDomainName, 5359 - PSID_NAME_USE peUse); 5360 -extern(Windows) export BOOL LookupAccountNameW( 5361 - LPCWSTR lpSystemName, 5362 - LPCWSTR lpAccountName, 5363 - PSID Sid, 5364 - LPDWORD cbSid, 5365 - LPWSTR ReferencedDomainName, 5366 - LPDWORD cbReferencedDomainName, 5367 - PSID_NAME_USE peUse); 5368 -// #ifdef UNICODE 5369 -alias LookupAccountNameW LookupAccountName; 5370 -// #else 5371 -// #... 5372 -// #endif // !UNICODE 5373 - 5374 -extern(Windows) export BOOL LookupPrivilegeValueA( 5375 - LPCSTR lpSystemName, 5376 - LPCSTR lpName, 5377 - PLUID lpLuid); 5378 -extern(Windows) export BOOL LookupPrivilegeValueW( 5379 - LPCWSTR lpSystemName, 5380 - LPCWSTR lpName, 5381 - PLUID lpLuid); 5382 -// #ifdef UNICODE 5383 -alias LookupPrivilegeValueW LookupPrivilegeValue; 5384 -// #else 5385 -// #... 5386 -// #endif // !UNICODE 5387 - 5388 -extern(Windows) export BOOL LookupPrivilegeNameA( 5389 - LPCSTR lpSystemName, 5390 - PLUID lpLuid, 5391 - LPSTR lpName, 5392 - LPDWORD cbName); 5393 -extern(Windows) export BOOL LookupPrivilegeNameW( 5394 - LPCWSTR lpSystemName, 5395 - PLUID lpLuid, 5396 - LPWSTR lpName, 5397 - LPDWORD cbName); 5398 -// #ifdef UNICODE 5399 -alias LookupPrivilegeNameW LookupPrivilegeName; 5400 -// #else 5401 -// #... 5402 -// #endif // !UNICODE 5403 - 5404 -extern(Windows) export BOOL LookupPrivilegeDisplayNameA( 5405 - LPCSTR lpSystemName, 5406 - LPCSTR lpName, 5407 - LPSTR lpDisplayName, 5408 - LPDWORD cbDisplayName, 5409 - LPDWORD lpLanguageId); 5410 -extern(Windows) export BOOL LookupPrivilegeDisplayNameW( 5411 - LPCWSTR lpSystemName, 5412 - LPCWSTR lpName, 5413 - LPWSTR lpDisplayName, 5414 - LPDWORD cbDisplayName, 5415 - LPDWORD lpLanguageId); 5416 -// #ifdef UNICODE 5417 -alias LookupPrivilegeDisplayNameW LookupPrivilegeDisplayName; 5418 -// #else 5419 -// #... 5420 -// #endif // !UNICODE 5421 - 5422 -extern(Windows) export BOOL AllocateLocallyUniqueId( 5423 - PLUID Luid); 5424 - 5425 -extern(Windows) export BOOL BuildCommDCBA( 5426 - LPCSTR lpDef, 5427 - LPDCB lpDCB); 5428 -extern(Windows) export BOOL BuildCommDCBW( 5429 - LPCWSTR lpDef, 5430 - LPDCB lpDCB); 5431 -// #ifdef UNICODE 5432 -alias BuildCommDCBW BuildCommDCB; 5433 -// #else 5434 -// #... 5435 -// #endif // !UNICODE 5436 - 5437 -extern(Windows) export BOOL BuildCommDCBAndTimeoutsA( 5438 - LPCSTR lpDef, 5439 - LPDCB lpDCB, 5440 - LPCOMMTIMEOUTS lpCommTimeouts); 5441 -extern(Windows) export BOOL BuildCommDCBAndTimeoutsW( 5442 - LPCWSTR lpDef, 5443 - LPDCB lpDCB, 5444 - LPCOMMTIMEOUTS lpCommTimeouts); 5445 -// #ifdef UNICODE 5446 -alias BuildCommDCBAndTimeoutsW BuildCommDCBAndTimeouts; 5447 -// #else 5448 -// #... 5449 -// #endif // !UNICODE 5450 - 5451 -extern(Windows) export BOOL CommConfigDialogA( 5452 - LPCSTR lpszName, 5453 - HWND hWnd, 5454 - LPCOMMCONFIG lpCC); 5455 -extern(Windows) export BOOL CommConfigDialogW( 5456 - LPCWSTR lpszName, 5457 - HWND hWnd, 5458 - LPCOMMCONFIG lpCC); 5459 -// #ifdef UNICODE 5460 -alias CommConfigDialogW CommConfigDialog; 5461 -// #else 5462 -// #... 5463 -// #endif // !UNICODE 5464 - 5465 -extern(Windows) export BOOL GetDefaultCommConfigA( 5466 - LPCSTR lpszName, 5467 - LPCOMMCONFIG lpCC, 5468 - LPDWORD lpdwSize); 5469 -extern(Windows) export BOOL GetDefaultCommConfigW( 5470 - LPCWSTR lpszName, 5471 - LPCOMMCONFIG lpCC, 5472 - LPDWORD lpdwSize); 5473 -// #ifdef UNICODE 5474 -alias GetDefaultCommConfigW GetDefaultCommConfig; 5475 -// #else 5476 -// #... 5477 -// #endif // !UNICODE 5478 - 5479 -extern(Windows) export BOOL SetDefaultCommConfigA( 5480 - LPCSTR lpszName, 5481 - LPCOMMCONFIG lpCC, 5482 - DWORD dwSize); 5483 -extern(Windows) export BOOL SetDefaultCommConfigW( 5484 - LPCWSTR lpszName, 5485 - LPCOMMCONFIG lpCC, 5486 - DWORD dwSize); 5487 -// #ifdef UNICODE 5488 -alias SetDefaultCommConfigW SetDefaultCommConfig; 5489 -// #else 5490 -// #... 5491 -// #endif // !UNICODE 5492 - 5493 -// #ifndef _MAC 5494 -enum : uint { MAX_COMPUTERNAME_LENGTH = 15 } 5495 -// #else 5496 -// #... 5497 -// #endif 5498 - 5499 -extern(Windows) export BOOL GetComputerNameA( 5500 - LPSTR lpBuffer, 5501 - LPDWORD nSize); 5502 -extern(Windows) export BOOL GetComputerNameW( 5503 - LPWSTR lpBuffer, 5504 - LPDWORD nSize); 5505 -// #ifdef UNICODE 5506 -alias GetComputerNameW GetComputerName; 5507 -// #else 5508 -// #... 5509 -// #endif // !UNICODE 5510 - 5511 -extern(Windows) export BOOL SetComputerNameA( 5512 - LPCSTR lpComputerName); 5513 -extern(Windows) export BOOL SetComputerNameW( 5514 - LPCWSTR lpComputerName); 5515 -// #ifdef UNICODE 5516 -alias SetComputerNameW SetComputerName; 5517 -// #else 5518 -// #... 5519 -// #endif // !UNICODE 5520 - 5521 -// #if (_WIN32_WINNT >= 0x0500) 5522 - 5523 -alias int _COMPUTER_NAME_FORMAT; 5524 -enum { 5525 - ComputerNameNetBIOS, 5526 - ComputerNameDnsHostname, 5527 - ComputerNameDnsDomain, 5528 - ComputerNameDnsFullyQualified, 5529 - ComputerNamePhysicalNetBIOS, 5530 - ComputerNamePhysicalDnsHostname, 5531 - ComputerNamePhysicalDnsDomain, 5532 - ComputerNamePhysicalDnsFullyQualified, 5533 - ComputerNameMax, 5534 -} 5535 -alias _COMPUTER_NAME_FORMAT COMPUTER_NAME_FORMAT; 5536 - 5537 -extern(Windows) export BOOL GetComputerNameExA( 5538 - COMPUTER_NAME_FORMAT NameType, 5539 - LPSTR lpBuffer, 5540 - LPDWORD nSize); 5541 -extern(Windows) export BOOL GetComputerNameExW( 5542 - COMPUTER_NAME_FORMAT NameType, 5543 - LPWSTR lpBuffer, 5544 - LPDWORD nSize); 5545 -// #ifdef UNICODE 5546 -alias GetComputerNameExW GetComputerNameEx; 5547 -// #else 5548 -// #... 5549 -// #endif // !UNICODE 5550 - 5551 -extern(Windows) export BOOL SetComputerNameExA( 5552 - COMPUTER_NAME_FORMAT NameType, 5553 - LPCSTR lpBuffer); 5554 -extern(Windows) export BOOL SetComputerNameExW( 5555 - COMPUTER_NAME_FORMAT NameType, 5556 - LPCWSTR lpBuffer); 5557 -// #ifdef UNICODE 5558 -alias SetComputerNameExW SetComputerNameEx; 5559 -// #else 5560 -// #... 5561 -// #endif // !UNICODE 5562 - 5563 -extern(Windows) export DWORD AddLocalAlternateComputerNameA( 5564 - LPCSTR lpDnsFQHostname, 5565 - ULONG ulFlags); 5566 -extern(Windows) export DWORD AddLocalAlternateComputerNameW( 5567 - LPCWSTR lpDnsFQHostname, 5568 - ULONG ulFlags); 5569 -// #ifdef UNICODE 5570 -alias AddLocalAlternateComputerNameW AddLocalAlternateComputerName; 5571 -// #else 5572 -// #... 5573 -// #endif // !UNICODE 5574 - 5575 -extern(Windows) export DWORD RemoveLocalAlternateComputerNameA( 5576 - LPCSTR lpAltDnsFQHostname, 5577 - ULONG ulFlags); 5578 -extern(Windows) export DWORD RemoveLocalAlternateComputerNameW( 5579 - LPCWSTR lpAltDnsFQHostname, 5580 - ULONG ulFlags); 5581 -// #ifdef UNICODE 5582 -alias RemoveLocalAlternateComputerNameW RemoveLocalAlternateComputerName; 5583 -// #else 5584 -// #... 5585 -// #endif // !UNICODE 5586 - 5587 -extern(Windows) export DWORD SetLocalPrimaryComputerNameA( 5588 - LPCSTR lpAltDnsFQHostname, 5589 - ULONG ulFlags); 5590 -extern(Windows) export DWORD SetLocalPrimaryComputerNameW( 5591 - LPCWSTR lpAltDnsFQHostname, 5592 - ULONG ulFlags); 5593 -// #ifdef UNICODE 5594 -alias SetLocalPrimaryComputerNameW SetLocalPrimaryComputerName; 5595 -// #else 5596 -// #... 5597 -// #endif // !UNICODE 5598 - 5599 -alias int _COMPUTER_NAME_TYPE; 5600 -enum { 5601 - PrimaryComputerName, 5602 - AlternateComputerNames, 5603 - AllComputerNames, 5604 - ComputerNameTypeMax, 5605 -} 5606 -alias _COMPUTER_NAME_TYPE COMPUTER_NAME_TYPE; 5607 - 5608 -extern(Windows) export DWORD EnumerateLocalComputerNamesA( 5609 - COMPUTER_NAME_TYPE NameType, 5610 - ULONG ulFlags, 5611 - LPSTR lpDnsFQHostname, 5612 - LPDWORD nSize); 5613 -extern(Windows) export DWORD EnumerateLocalComputerNamesW( 5614 - COMPUTER_NAME_TYPE NameType, 5615 - ULONG ulFlags, 5616 - LPWSTR lpDnsFQHostname, 5617 - LPDWORD nSize); 5618 -// #ifdef UNICODE 5619 -alias EnumerateLocalComputerNamesW EnumerateLocalComputerNames; 5620 -// #else 5621 -// #... 5622 -// #endif // !UNICODE 5623 - 5624 -extern(Windows) export BOOL DnsHostnameToComputerNameA( 5625 - LPCSTR Hostname, 5626 - LPSTR ComputerName, 5627 - LPDWORD nSize); 5628 -extern(Windows) export BOOL DnsHostnameToComputerNameW( 5629 - LPCWSTR Hostname, 5630 - LPWSTR ComputerName, 5631 - LPDWORD nSize); 5632 -// #ifdef UNICODE 5633 -alias DnsHostnameToComputerNameW DnsHostnameToComputerName; 5634 -// #else 5635 -// #... 5636 -// #endif // !UNICODE 5637 - 5638 -// #endif // _WIN32_WINNT 5639 - 5640 -extern(Windows) export BOOL GetUserNameA( 5641 - LPSTR lpBuffer, 5642 - LPDWORD nSize); 5643 -extern(Windows) export BOOL GetUserNameW( 5644 - LPWSTR lpBuffer, 5645 - LPDWORD nSize); 5646 -// #ifdef UNICODE 5647 -alias GetUserNameW GetUserName; 5648 -// #else 5649 -// #... 5650 -// #endif // !UNICODE 5651 - 5652 -enum : uint { LOGON32_LOGON_INTERACTIVE = 2 } 5653 -enum : uint { LOGON32_LOGON_NETWORK = 3 } 5654 -enum : uint { LOGON32_LOGON_BATCH = 4 } 5655 -enum : uint { LOGON32_LOGON_SERVICE = 5 } 5656 -enum : uint { LOGON32_LOGON_UNLOCK = 7 } 5657 -// #if(_WIN32_WINNT >= 0x0500) 5658 -enum : uint { LOGON32_LOGON_NETWORK_CLEARTEXT = 8 } 5659 -enum : uint { LOGON32_LOGON_NEW_CREDENTIALS = 9 } 5660 -// #endif // (_WIN32_WINNT >= 0x0500) 5661 - 5662 -enum : uint { LOGON32_PROVIDER_DEFAULT = 0 } 5663 -enum : uint { LOGON32_PROVIDER_WINNT35 = 1 } 5664 -// #if(_WIN32_WINNT >= 0x0400) 5665 -enum : uint { LOGON32_PROVIDER_WINNT40 = 2 } 5666 -// #endif /* _WIN32_WINNT >= 0x0400 */ 5667 -// #if(_WIN32_WINNT >= 0x0500) 5668 -enum : uint { LOGON32_PROVIDER_WINNT50 = 3 } 5669 -// #endif // (_WIN32_WINNT >= 0x0500) 5670 - 5671 -extern(Windows) export BOOL LogonUserA( 5672 - LPSTR lpszUsername, 5673 - LPSTR lpszDomain, 5674 - LPSTR lpszPassword, 5675 - DWORD dwLogonType, 5676 - DWORD dwLogonProvider, 5677 - PHANDLE phToken); 5678 -extern(Windows) export BOOL LogonUserW( 5679 - LPWSTR lpszUsername, 5680 - LPWSTR lpszDomain, 5681 - LPWSTR lpszPassword, 5682 - DWORD dwLogonType, 5683 - DWORD dwLogonProvider, 5684 - PHANDLE phToken); 5685 -// #ifdef UNICODE 5686 -alias LogonUserW LogonUser; 5687 -// #else 5688 -// #... 5689 -// #endif // !UNICODE 5690 - 5691 -extern(Windows) export BOOL LogonUserExA( 5692 - LPSTR lpszUsername, 5693 - LPSTR lpszDomain, 5694 - LPSTR lpszPassword, 5695 - DWORD dwLogonType, 5696 - DWORD dwLogonProvider, 5697 - PHANDLE phToken , 5698 - PSID *ppLogonSid , 5699 - PVOID *ppProfileBuffer , 5700 - LPDWORD pdwProfileLength , 5701 - PQUOTA_LIMITS pQuotaLimits ); 5702 -extern(Windows) export BOOL LogonUserExW( 5703 - LPWSTR lpszUsername, 5704 - LPWSTR lpszDomain, 5705 - LPWSTR lpszPassword, 5706 - DWORD dwLogonType, 5707 - DWORD dwLogonProvider, 5708 - PHANDLE phToken , 5709 - PSID *ppLogonSid , 5710 - PVOID *ppProfileBuffer , 5711 - LPDWORD pdwProfileLength , 5712 - PQUOTA_LIMITS pQuotaLimits ); 5713 -// #ifdef UNICODE 5714 -alias LogonUserExW LogonUserEx; 5715 -// #else 5716 -// #... 5717 -// #endif // !UNICODE 5718 - 5719 -extern(Windows) export BOOL ImpersonateLoggedOnUser( 5720 - HANDLE hToken); 5721 - 5722 -extern(Windows) export BOOL CreateProcessAsUserA( 5723 - HANDLE hToken, 5724 - LPCSTR lpApplicationName, 5725 - LPSTR lpCommandLine, 5726 - LPSECURITY_ATTRIBUTES lpProcessAttributes, 5727 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 5728 - BOOL bInheritHandles, 5729 - DWORD dwCreationFlags, 5730 - LPVOID lpEnvironment, 5731 - LPCSTR lpCurrentDirectory, 5732 - LPSTARTUPINFOA lpStartupInfo, 5733 - LPPROCESS_INFORMATION lpProcessInformation); 5734 -extern(Windows) export BOOL CreateProcessAsUserW( 5735 - HANDLE hToken, 5736 - LPCWSTR lpApplicationName, 5737 - LPWSTR lpCommandLine, 5738 - LPSECURITY_ATTRIBUTES lpProcessAttributes, 5739 - LPSECURITY_ATTRIBUTES lpThreadAttributes, 5740 - BOOL bInheritHandles, 5741 - DWORD dwCreationFlags, 5742 - LPVOID lpEnvironment, 5743 - LPCWSTR lpCurrentDirectory, 5744 - LPSTARTUPINFOW lpStartupInfo, 5745 - LPPROCESS_INFORMATION lpProcessInformation); 5746 -// #ifdef UNICODE 5747 -alias CreateProcessAsUserW CreateProcessAsUser; 5748 -// #else 5749 -// #... 5750 -// #endif // !UNICODE 5751 - 5752 -// #if(_WIN32_WINNT >= 0x0500) 5753 - 5754 -enum : uint { LOGON_WITH_PROFILE = 0x00000001 } 5755 -enum : uint { LOGON_NETCREDENTIALS_ONLY = 0x00000002 } 5756 - 5757 -extern(Windows) export BOOL CreateProcessWithLogonW( 5758 - LPCWSTR lpUsername, 5759 - LPCWSTR lpDomain, 5760 - LPCWSTR lpPassword, 5761 - DWORD dwLogonFlags, 5762 - LPCWSTR lpApplicationName, 5763 - LPWSTR lpCommandLine, 5764 - DWORD dwCreationFlags, 5765 - LPVOID lpEnvironment, 5766 - LPCWSTR lpCurrentDirectory, 5767 - LPSTARTUPINFOW lpStartupInfo, 5768 - LPPROCESS_INFORMATION lpProcessInformation); 5769 - 5770 -// #endif // (_WIN32_WINNT >= 0x0500) 5771 - 5772 -extern(Windows) export BOOL ImpersonateAnonymousToken( 5773 - HANDLE ThreadHandle); 5774 - 5775 -extern(Windows) export BOOL DuplicateTokenEx( 5776 - HANDLE hExistingToken, 5777 - DWORD dwDesiredAccess, 5778 - LPSECURITY_ATTRIBUTES lpTokenAttributes, 5779 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, 5780 - TOKEN_TYPE TokenType, 5781 - PHANDLE phNewToken); 5782 - 5783 -extern(Windows) export BOOL CreateRestrictedToken( 5784 - HANDLE ExistingTokenHandle, 5785 - DWORD Flags, 5786 - DWORD DisableSidCount, 5787 - PSID_AND_ATTRIBUTES SidsToDisable , 5788 - DWORD DeletePrivilegeCount, 5789 - PLUID_AND_ATTRIBUTES PrivilegesToDelete , 5790 - DWORD RestrictedSidCount, 5791 - PSID_AND_ATTRIBUTES SidsToRestrict , 5792 - PHANDLE NewTokenHandle); 5793 - 5794 -extern(Windows) export BOOL IsTokenRestricted( 5795 - HANDLE TokenHandle); 5796 - 5797 -extern(Windows) export BOOL IsTokenUntrusted( 5798 - HANDLE TokenHandle); 5799 - 5800 -extern(Windows) export BOOL CheckTokenMembership( 5801 - HANDLE TokenHandle , 5802 - PSID SidToCheck, 5803 - PBOOL IsMember); 5804 - 5805 -// #if (_WIN32_WINNT >= 0x0500) 5806 - 5807 -alias WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK; 5808 - 5809 -extern(Windows) export BOOL RegisterWaitForSingleObject( 5810 - PHANDLE phNewWaitObject, 5811 - HANDLE hObject, 5812 - WAITORTIMERCALLBACK Callback, 5813 - PVOID Context, 5814 - ULONG dwMilliseconds, 5815 - ULONG dwFlags); 5816 - 5817 -extern(Windows) export HANDLE RegisterWaitForSingleObjectEx( 5818 - HANDLE hObject, 5819 - WAITORTIMERCALLBACK Callback, 5820 - PVOID Context, 5821 - ULONG dwMilliseconds, 5822 - ULONG dwFlags); 5823 - 5824 -extern(Windows) export BOOL UnregisterWait( 5825 - HANDLE WaitHandle); 5826 - 5827 -extern(Windows) export BOOL UnregisterWaitEx( 5828 - HANDLE WaitHandle, 5829 - HANDLE CompletionEvent); 5830 - 5831 -extern(Windows) export BOOL QueueUserWorkItem( 5832 - LPTHREAD_START_ROUTINE Function, 5833 - PVOID Context, 5834 - ULONG Flags); 5835 - 5836 -extern(Windows) export BOOL BindIoCompletionCallback( 5837 - HANDLE FileHandle, 5838 - LPOVERLAPPED_COMPLETION_ROUTINE Function, 5839 - ULONG Flags); 5840 - 5841 -extern(Windows) export HANDLE CreateTimerQueue(); 5842 - 5843 -extern(Windows) export BOOL CreateTimerQueueTimer( 5844 - PHANDLE phNewTimer, 5845 - HANDLE TimerQueue, 5846 - WAITORTIMERCALLBACK Callback, 5847 - PVOID Parameter, 5848 - DWORD DueTime, 5849 - DWORD Period, 5850 - ULONG Flags); 5851 - 5852 -extern(Windows) export BOOL ChangeTimerQueueTimer( 5853 - HANDLE TimerQueue, 5854 - HANDLE Timer, 5855 - ULONG DueTime, 5856 - ULONG Period); 5857 - 5858 -extern(Windows) export BOOL DeleteTimerQueueTimer( 5859 - HANDLE TimerQueue, 5860 - HANDLE Timer, 5861 - HANDLE CompletionEvent); 5862 - 5863 -extern(Windows) export BOOL DeleteTimerQueueEx( 5864 - HANDLE TimerQueue, 5865 - HANDLE CompletionEvent); 5866 - 5867 -extern(Windows) export HANDLE SetTimerQueueTimer( 5868 - HANDLE TimerQueue, 5869 - WAITORTIMERCALLBACK Callback, 5870 - PVOID Parameter, 5871 - DWORD DueTime, 5872 - DWORD Period, 5873 - BOOL PreferIo); 5874 - 5875 -extern(Windows) export BOOL CancelTimerQueueTimer( 5876 - HANDLE TimerQueue, 5877 - HANDLE Timer); 5878 - 5879 -extern(Windows) export BOOL DeleteTimerQueue( 5880 - HANDLE TimerQueue); 5881 - 5882 -// #endif // _WIN32_WINNT 5883 - 5884 -// #if(_WIN32_WINNT >= 0x0400) 5885 - 5886 -enum : uint { HW_PROFILE_GUIDLEN = 39 } 5887 -enum : uint { MAX_PROFILE_LEN = 80 } 5888 - 5889 -enum : uint { DOCKINFO_UNDOCKED = 0x1 } 5890 -enum : uint { DOCKINFO_DOCKED = 0x2 } 5891 -enum : uint { DOCKINFO_USER_SUPPLIED = 0x4 } 5892 -enum : uint { DOCKINFO_USER_UNDOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED } 5893 -enum : uint { DOCKINFO_USER_DOCKED = DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED } 5894 - 5895 -struct tagHW_PROFILE_INFOA { 5896 - DWORD dwDockInfo; 5897 - CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; 5898 - CHAR szHwProfileName[MAX_PROFILE_LEN]; 5899 -} 5900 -alias tagHW_PROFILE_INFOA HW_PROFILE_INFOA; 5901 -alias tagHW_PROFILE_INFOA* LPHW_PROFILE_INFOA; 5902 - 5903 -struct tagHW_PROFILE_INFOW { 5904 - DWORD dwDockInfo; 5905 - WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; 5906 - WCHAR szHwProfileName[MAX_PROFILE_LEN]; 5907 -} 5908 -alias tagHW_PROFILE_INFOW HW_PROFILE_INFOW; 5909 -alias tagHW_PROFILE_INFOW* LPHW_PROFILE_INFOW; 5910 - 5911 -// #ifdef UNICODE 5912 -alias HW_PROFILE_INFOW HW_PROFILE_INFO; 5913 -alias LPHW_PROFILE_INFOW LPHW_PROFILE_INFO; 5914 -// #else 5915 -// ... 5916 -// #endif // UNICODE 5917 - 5918 -extern(Windows) export BOOL GetCurrentHwProfileA( 5919 - LPHW_PROFILE_INFOA lpHwProfileInfo); 5920 -extern(Windows) export BOOL GetCurrentHwProfileW( 5921 - LPHW_PROFILE_INFOW lpHwProfileInfo); 5922 -// #ifdef UNICODE 5923 -alias GetCurrentHwProfileW GetCurrentHwProfile; 5924 -// #else 5925 -// #... 5926 -// #endif // !UNICODE 5927 -// #endif /* _WIN32_WINNT >= 0x0400 */ 5928 - 5929 -extern(Windows) export BOOL QueryPerformanceCounter( 5930 - LARGE_INTEGER *lpPerformanceCount); 5931 - 5932 -extern(Windows) export BOOL QueryPerformanceFrequency( 5933 - LARGE_INTEGER *lpFrequency); 5934 - 5935 -extern(Windows) export BOOL GetVersionExA( 5936 - LPOSVERSIONINFOA lpVersionInformation); 5937 -extern(Windows) export BOOL GetVersionExW( 5938 - LPOSVERSIONINFOW lpVersionInformation); 5939 -// #ifdef UNICODE 5940 -alias GetVersionExW GetVersionEx; 5941 -// #else 5942 -// #... 5943 -// #endif // !UNICODE 5944 - 5945 -extern(Windows) export BOOL VerifyVersionInfoA( 5946 - LPOSVERSIONINFOEXA lpVersionInformation, 5947 - DWORD dwTypeMask, 5948 - DWORDLONG dwlConditionMask); 5949 -extern(Windows) export BOOL VerifyVersionInfoW( 5950 - LPOSVERSIONINFOEXW lpVersionInformation, 5951 - DWORD dwTypeMask, 5952 - DWORDLONG dwlConditionMask); 5953 -// #ifdef UNICODE 5954 -alias VerifyVersionInfoW VerifyVersionInfo; 5955 -// #else 5956 -// #... 5957 -// #endif // !UNICODE 5958 - 5959 -import win32.winerror; 5960 - 5961 -enum : uint { TC_NORMAL = 0 } 5962 -enum : uint { TC_HARDERR = 1 } 5963 -enum : uint { TC_GP_TRAP = 2 } 5964 -enum : uint { TC_SIGNAL = 3 } 5965 - 5966 -// #if(WINVER >= 0x0400) 5967 - 5968 -enum : uint { AC_LINE_OFFLINE = 0x00 } 5969 -enum : uint { AC_LINE_ONLINE = 0x01 } 5970 -enum : uint { AC_LINE_BACKUP_POWER = 0x02 } 5971 -enum : uint { AC_LINE_UNKNOWN = 0xFF } 5972 - 5973 -enum : uint { BATTERY_FLAG_HIGH = 0x01 } 5974 -enum : uint { BATTERY_FLAG_LOW = 0x02 } 5975 -enum : uint { BATTERY_FLAG_CRITICAL = 0x04 } 5976 -enum : uint { BATTERY_FLAG_CHARGING = 0x08 } 5977 -enum : uint { BATTERY_FLAG_NO_BATTERY = 0x80 } 5978 -enum : uint { BATTERY_FLAG_UNKNOWN = 0xFF } 5979 - 5980 -enum : uint { BATTERY_PERCENTAGE_UNKNOWN = 0xFF } 5981 - 5982 -enum : uint { BATTERY_LIFE_UNKNOWN = 0xFFFFFFFF } 5983 - 5984 -struct _SYSTEM_POWER_STATUS { 5985 - BYTE ACLineStatus; 5986 - BYTE BatteryFlag; 5987 - BYTE BatteryLifePercent; 5988 - BYTE Reserved1; 5989 - DWORD BatteryLifeTime; 5990 - DWORD BatteryFullLifeTime; 5991 -} 5992 -alias _SYSTEM_POWER_STATUS SYSTEM_POWER_STATUS; 5993 -alias _SYSTEM_POWER_STATUS* LPSYSTEM_POWER_STATUS; 5994 - 5995 -extern(Windows) export BOOL GetSystemPowerStatus( 5996 - LPSYSTEM_POWER_STATUS lpSystemPowerStatus); 5997 - 5998 -extern(Windows) export BOOL SetSystemPowerState( 5999 - BOOL fSuspend, 6000 - BOOL fForce); 6001 - 6002 -// #endif /* WINVER >= 0x0400 */ 6003 - 6004 -// #if (_WIN32_WINNT >= 0x0500) 6005 - 6006 -extern(Windows) export BOOL AllocateUserPhysicalPages( 6007 - HANDLE hProcess, 6008 - PULONG_PTR NumberOfPages, 6009 - PULONG_PTR PageArray); 6010 - 6011 -extern(Windows) export BOOL FreeUserPhysicalPages( 6012 - HANDLE hProcess, 6013 - PULONG_PTR NumberOfPages, 6014 - PULONG_PTR PageArray); 6015 - 6016 -extern(Windows) export BOOL MapUserPhysicalPages( 6017 - PVOID VirtualAddress, 6018 - ULONG_PTR NumberOfPages, 6019 - PULONG_PTR PageArray ); 6020 - 6021 -extern(Windows) export BOOL MapUserPhysicalPagesScatter( 6022 - PVOID *VirtualAddresses, 6023 - ULONG_PTR NumberOfPages, 6024 - PULONG_PTR PageArray ); 6025 - 6026 -extern(Windows) export HANDLE CreateJobObjectA( 6027 - LPSECURITY_ATTRIBUTES lpJobAttributes, 6028 - LPCSTR lpName); 6029 -extern(Windows) export HANDLE CreateJobObjectW( 6030 - LPSECURITY_ATTRIBUTES lpJobAttributes, 6031 - LPCWSTR lpName); 6032 -// #ifdef UNICODE 6033 -alias CreateJobObjectW CreateJobObject; 6034 -// #else 6035 -// #... 6036 -// #endif // !UNICODE 6037 - 6038 -extern(Windows) export HANDLE OpenJobObjectA( 6039 - DWORD dwDesiredAccess, 6040 - BOOL bInheritHandle, 6041 - LPCSTR lpName); 6042 -extern(Windows) export HANDLE OpenJobObjectW( 6043 - DWORD dwDesiredAccess, 6044 - BOOL bInheritHandle, 6045 - LPCWSTR lpName); 6046 -// #ifdef UNICODE 6047 -alias OpenJobObjectW OpenJobObject; 6048 -// #else 6049 -// #... 6050 -// #endif // !UNICODE 6051 - 6052 -extern(Windows) export BOOL AssignProcessToJobObject( 6053 - HANDLE hJob, 6054 - HANDLE hProcess); 6055 - 6056 -extern(Windows) export BOOL TerminateJobObject( 6057 - HANDLE hJob, 6058 - UINT uExitCode); 6059 - 6060 -extern(Windows) export BOOL QueryInformationJobObject( 6061 - HANDLE hJob, 6062 - JOBOBJECTINFOCLASS JobObjectInformationClass, 6063 - LPVOID lpJobObjectInformation, 6064 - DWORD cbJobObjectInformationLength, 6065 - LPDWORD lpReturnLength); 6066 - 6067 -extern(Windows) export BOOL SetInformationJobObject( 6068 - HANDLE hJob, 6069 - JOBOBJECTINFOCLASS JobObjectInformationClass, 6070 - LPVOID lpJobObjectInformation, 6071 - DWORD cbJobObjectInformationLength); 6072 - 6073 -extern(Windows) export BOOL IsProcessInJob( 6074 - HANDLE ProcessHandle, 6075 - HANDLE JobHandle, 6076 - PBOOL Result); 6077 - 6078 -extern(Windows) export BOOL CreateJobSet( 6079 - ULONG NumJob, 6080 - PJOB_SET_ARRAY UserJobSet, 6081 - ULONG Flags); 6082 - 6083 -extern(Windows) export PVOID AddVectoredExceptionHandler( 6084 - ULONG FirstHandler, 6085 - PVECTORED_EXCEPTION_HANDLER VectoredHandler); 6086 - 6087 -extern(Windows) export ULONG RemoveVectoredExceptionHandler( 6088 - PVOID VectoredHandlerHandle); 6089 - 6090 -extern(Windows) export HANDLE FindFirstVolumeA( 6091 - LPSTR lpszVolumeName, 6092 - DWORD cchBufferLength); 6093 -extern(Windows) export HANDLE FindFirstVolumeW( 6094 - LPWSTR lpszVolumeName, 6095 - DWORD cchBufferLength); 6096 -// #ifdef UNICODE 6097 -alias FindFirstVolumeW FindFirstVolume; 6098 -// #else 6099 -// #... 6100 -// #endif // !UNICODE 6101 - 6102 -extern(Windows) export BOOL FindNextVolumeA( 6103 - HANDLE hFindVolume, 6104 - LPSTR lpszVolumeName, 6105 - DWORD cchBufferLength); 6106 -extern(Windows) export BOOL FindNextVolumeW( 6107 - HANDLE hFindVolume, 6108 - LPWSTR lpszVolumeName, 6109 - DWORD cchBufferLength); 6110 -// #ifdef UNICODE 6111 -alias FindNextVolumeW FindNextVolume; 6112 -// #else 6113 -// #... 6114 -// #endif // !UNICODE 6115 - 6116 -extern(Windows) export BOOL FindVolumeClose( 6117 - HANDLE hFindVolume); 6118 - 6119 -extern(Windows) export HANDLE FindFirstVolumeMountPointA( 6120 - LPCSTR lpszRootPathName, 6121 - LPSTR lpszVolumeMountPoint, 6122 - DWORD cchBufferLength); 6123 -extern(Windows) export HANDLE FindFirstVolumeMountPointW( 6124 - LPCWSTR lpszRootPathName, 6125 - LPWSTR lpszVolumeMountPoint, 6126 - DWORD cchBufferLength); 6127 -// #ifdef UNICODE 6128 -alias FindFirstVolumeMountPointW FindFirstVolumeMountPoint; 6129 -// #else 6130 -// #... 6131 -// #endif // !UNICODE 6132 - 6133 -extern(Windows) export BOOL FindNextVolumeMountPointA( 6134 - HANDLE hFindVolumeMountPoint, 6135 - LPSTR lpszVolumeMountPoint, 6136 - DWORD cchBufferLength); 6137 -extern(Windows) export BOOL FindNextVolumeMountPointW( 6138 - HANDLE hFindVolumeMountPoint, 6139 - LPWSTR lpszVolumeMountPoint, 6140 - DWORD cchBufferLength); 6141 -// #ifdef UNICODE 6142 -alias FindNextVolumeMountPointW FindNextVolumeMountPoint; 6143 -// #else 6144 -// #... 6145 -// #endif // !UNICODE 6146 - 6147 -extern(Windows) export BOOL FindVolumeMountPointClose( 6148 - HANDLE hFindVolumeMountPoint); 6149 - 6150 -extern(Windows) export BOOL SetVolumeMountPointA( 6151 - LPCSTR lpszVolumeMountPoint, 6152 - LPCSTR lpszVolumeName); 6153 -extern(Windows) export BOOL SetVolumeMountPointW( 6154 - LPCWSTR lpszVolumeMountPoint, 6155 - LPCWSTR lpszVolumeName); 6156 -// #ifdef UNICODE 6157 -alias SetVolumeMountPointW SetVolumeMountPoint; 6158 -// #else 6159 -// #... 6160 -// #endif // !UNICODE 6161 - 6162 -extern(Windows) export BOOL DeleteVolumeMountPointA( 6163 - LPCSTR lpszVolumeMountPoint); 6164 -extern(Windows) export BOOL DeleteVolumeMountPointW( 6165 - LPCWSTR lpszVolumeMountPoint); 6166 -// #ifdef UNICODE 6167 -alias DeleteVolumeMountPointW DeleteVolumeMountPoint; 6168 -// #else 6169 -// #... 6170 -// #endif // !UNICODE 6171 - 6172 -extern(Windows) export BOOL GetVolumeNameForVolumeMountPointA( 6173 - LPCSTR lpszVolumeMountPoint, 6174 - LPSTR lpszVolumeName, 6175 - DWORD cchBufferLength); 6176 -extern(Windows) export BOOL GetVolumeNameForVolumeMountPointW( 6177 - LPCWSTR lpszVolumeMountPoint, 6178 - LPWSTR lpszVolumeName, 6179 - DWORD cchBufferLength); 6180 -// #ifdef UNICODE 6181 -alias GetVolumeNameForVolumeMountPointW GetVolumeNameForVolumeMountPoint; 6182 -// #else 6183 -// #... 6184 -// #endif // !UNICODE 6185 - 6186 -extern(Windows) export BOOL GetVolumePathNameA( 6187 - LPCSTR lpszFileName, 6188 - LPSTR lpszVolumePathName, 6189 - DWORD cchBufferLength); 6190 -extern(Windows) export BOOL GetVolumePathNameW( 6191 - LPCWSTR lpszFileName, 6192 - LPWSTR lpszVolumePathName, 6193 - DWORD cchBufferLength); 6194 -// #ifdef UNICODE 6195 -alias GetVolumePathNameW GetVolumePathName; 6196 -// #else 6197 -// #... 6198 -// #endif // !UNICODE 6199 - 6200 -extern(Windows) export BOOL GetVolumePathNamesForVolumeNameA( 6201 - LPCSTR lpszVolumeName, 6202 - LPSTR lpszVolumePathNames, 6203 - DWORD cchBufferLength, 6204 - PDWORD lpcchReturnLength); 6205 -extern(Windows) export BOOL GetVolumePathNamesForVolumeNameW( 6206 - LPCWSTR lpszVolumeName, 6207 - LPWSTR lpszVolumePathNames, 6208 - DWORD cchBufferLength, 6209 - PDWORD lpcchReturnLength); 6210 -// #ifdef UNICODE 6211 -alias GetVolumePathNamesForVolumeNameW GetVolumePathNamesForVolumeName; 6212 -// #else 6213 -// #... 6214 -// #endif // !UNICODE 6215 - 6216 -// #endif 6217 - 6218 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED 6219 - 6220 -enum : uint { ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID = 0x00000001 } 6221 -enum : uint { ACTCTX_FLAG_LANGID_VALID = 0x00000002 } 6222 -enum : uint { ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID = 0x00000004 } 6223 -enum : uint { ACTCTX_FLAG_RESOURCE_NAME_VALID = 0x00000008 } 6224 -enum : uint { ACTCTX_FLAG_SET_PROCESS_DEFAULT = 0x00000010 } 6225 -enum : uint { ACTCTX_FLAG_APPLICATION_NAME_VALID = 0x00000020 } 6226 -enum : uint { ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF = 0x00000040 } 6227 -enum : uint { ACTCTX_FLAG_HMODULE_VALID = 0x00000080 } 6228 - 6229 -struct tagACTCTXA { 6230 - ULONG cbSize; 6231 - DWORD dwFlags; 6232 - LPCSTR lpSource; 6233 - USHORT wProcessorArchitecture; 6234 - LANGID wLangId; 6235 - LPCSTR lpAssemblyDirectory; 6236 - LPCSTR lpResourceName; 6237 - LPCSTR lpApplicationName; 6238 - HMODULE hModule; 6239 -} 6240 -alias tagACTCTXA ACTCTXA; 6241 -alias tagACTCTXA* PACTCTXA; 6242 - 6243 -struct tagACTCTXW { 6244 - ULONG cbSize; 6245 - DWORD dwFlags; 6246 - LPCWSTR lpSource; 6247 - USHORT wProcessorArchitecture; 6248 - LANGID wLangId; 6249 - LPCWSTR lpAssemblyDirectory; 6250 - LPCWSTR lpResourceName; 6251 - LPCWSTR lpApplicationName; 6252 - HMODULE hModule; 6253 -} 6254 -alias tagACTCTXW ACTCTXW; 6255 -alias tagACTCTXW* PACTCTXW; 6256 - 6257 -// #ifdef UNICODE 6258 -// skip typedef ACTCTXW ACTCTX; 6259 -alias PACTCTXW PACTCTX; 6260 -// #else 6261 -// ... 6262 -// #endif // UNICODE 6263 - 6264 -alias ACTCTXA* PCACTCTXA; 6265 -alias ACTCTXW* PCACTCTXW; 6266 -// #ifdef UNICODE 6267 -// skip typedef ACTCTXW ACTCTX; 6268 -alias PCACTCTXW PCACTCTX; 6269 -// #else 6270 -// ... 6271 -// #endif // UNICODE 6272 - 6273 -// #endif 6274 - 6275 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) 6276 - 6277 -extern(Windows) export HANDLE CreateActCtxA( 6278 - PCACTCTXA pActCtx); 6279 -extern(Windows) export HANDLE CreateActCtxW( 6280 - PCACTCTXW pActCtx); 6281 -// #ifdef UNICODE 6282 -alias CreateActCtxW CreateActCtx; 6283 -// #else 6284 -// #... 6285 -// #endif // !UNICODE 6286 - 6287 -extern(Windows) export VOID AddRefActCtx( 6288 - HANDLE hActCtx); 6289 - 6290 -extern(Windows) export VOID ReleaseActCtx( 6291 - HANDLE hActCtx); 6292 - 6293 -extern(Windows) export BOOL ZombifyActCtx( 6294 - HANDLE hActCtx); 6295 - 6296 -extern(Windows) export BOOL ActivateActCtx( 6297 - HANDLE hActCtx, 6298 - ULONG_PTR *lpCookie); 6299 - 6300 -enum : uint { DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION = 0x00000001 } 6301 - 6302 -extern(Windows) export BOOL DeactivateActCtx( 6303 - DWORD dwFlags, 6304 - ULONG_PTR ulCookie); 6305 - 6306 -extern(Windows) export BOOL GetCurrentActCtx( 6307 - HANDLE *lphActCtx); 6308 - 6309 -// #endif 6310 - 6311 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED 6312 - 6313 -struct tagACTCTX_SECTION_KEYED_DATA { 6314 - ULONG cbSize; 6315 - ULONG ulDataFormatVersion; 6316 - PVOID lpData; 6317 - ULONG ulLength; 6318 - PVOID lpSectionGlobalData; 6319 - ULONG ulSectionGlobalDataLength; 6320 - PVOID lpSectionBase; 6321 - ULONG ulSectionTotalLength; 6322 - HANDLE hActCtx; 6323 - ULONG ulAssemblyRosterIndex; 6324 -} 6325 -alias tagACTCTX_SECTION_KEYED_DATA ACTCTX_SECTION_KEYED_DATA; 6326 -alias tagACTCTX_SECTION_KEYED_DATA* PACTCTX_SECTION_KEYED_DATA; 6327 - 6328 -enum : uint { FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX = 0x00000001 } 6329 - 6330 -// #endif 6331 - 6332 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) 6333 - 6334 -extern(Windows) export BOOL FindActCtxSectionStringA( 6335 - DWORD dwFlags, 6336 - GUID *lpExtensionGuid, 6337 - ULONG ulSectionId, 6338 - LPCSTR lpStringToFind, 6339 - PACTCTX_SECTION_KEYED_DATA ReturnedData); 6340 -extern(Windows) export BOOL FindActCtxSectionStringW( 6341 - DWORD dwFlags, 6342 - GUID *lpExtensionGuid, 6343 - ULONG ulSectionId, 6344 - LPCWSTR lpStringToFind, 6345 - PACTCTX_SECTION_KEYED_DATA ReturnedData); 6346 -// #ifdef UNICODE 6347 -alias FindActCtxSectionStringW FindActCtxSectionString; 6348 -// #else 6349 -// #... 6350 -// #endif // !UNICODE 6351 - 6352 -extern(Windows) export BOOL FindActCtxSectionGuid( 6353 - DWORD dwFlags, 6354 - GUID *lpExtensionGuid, 6355 - ULONG ulSectionId, 6356 - GUID *lpGuidToFind, 6357 - PACTCTX_SECTION_KEYED_DATA ReturnedData); 6358 - 6359 -// #endif 6360 - 6361 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED 6362 - 6363 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 6364 -// #if !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) 6365 - 6366 -// ... 6367 - 6368 -// ... 6369 - 6370 -// #... 6371 - 6372 -// #endif // !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) 6373 -// #endif 6374 - 6375 -enum : uint { QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX = 0x00000004 } 6376 -enum : uint { QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE = 0x00000008 } 6377 -enum : uint { QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS = 0x00000010 } 6378 -enum : uint { QUERY_ACTCTX_FLAG_NO_ADDREF = 0x80000000 } 6379 - 6380 -// #endif 6381 - 6382 -// #if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) 6383 - 6384 -extern(Windows) export BOOL QueryActCtxW( 6385 - DWORD dwFlags, 6386 - HANDLE hActCtx, 6387 - PVOID pvSubInstance, 6388 - ULONG ulInfoClass, 6389 - PVOID pvBuffer, 6390 - SIZE_T cbBuffer , 6391 - SIZE_T *pcbWrittenOrRequired ); 6392 - 6393 -extern(Windows) alias BOOL function( DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer , SIZE_T *pcbWrittenOrRequired ) PQUERYACTCTXW_FUNC; 6394 - 6395 -// #endif // (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) 6396 - 6397 -extern(Windows) export BOOL ProcessIdToSessionId( 6398 - DWORD dwProcessId, 6399 - DWORD *pSessionId); 6400 - 6401 -// #if _WIN32_WINNT >= 0x0501 6402 - 6403 -extern(Windows) export DWORD WTSGetActiveConsoleSessionId(); 6404 - 6405 -extern(Windows) export BOOL IsWow64Process( 6406 - HANDLE hProcess, 6407 - PBOOL Wow64Process); 6408 - 6409 -// #endif // (_WIN32_WINNT >= 0x0501) 6410 - 6411 -extern(Windows) export BOOL GetNumaHighestNodeNumber( 6412 - PULONG HighestNodeNumber); 6413 - 6414 -extern(Windows) export BOOL GetNumaProcessorNode( 6415 - UCHAR Processor, 6416 - PUCHAR NodeNumber); 6417 - 6418 -extern(Windows) export BOOL GetNumaNodeProcessorMask( 6419 - UCHAR Node, 6420 - PULONGLONG ProcessorMask); 6421 - 6422 -extern(Windows) export BOOL GetNumaProcessorMap( 6423 - PSYSTEM_NUMA_INFORMATION Map, 6424 - ULONG Length, 6425 - PULONG ReturnedLength); 6426 - 6427 -extern(Windows) export BOOL GetNumaAvailableMemory( 6428 - PSYSTEM_NUMA_INFORMATION Memory, 6429 - ULONG Length, 6430 - PULONG ReturnedLength); 6431 - 6432 -extern(Windows) export BOOL GetNumaAvailableMemoryNode( 6433 - UCHAR Node, 6434 - PULONGLONG AvailableBytes); 6435 - 6436 -extern(Windows) export ULONGLONG NumaVirtualQueryNode( 6437 - ULONG NumberOfRanges, 6438 - PULONG_PTR RangeList, 6439 - PULONG_PTR VirtualPageAndNode, 6440 - SIZE_T MaximumOutputLength); 6441 - 6442 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 6443 -// #if ISOLATION_AWARE_ENABLED 6444 -// #... 6445 -// #endif /* ISOLATION_AWARE_ENABLED */ 6446 -// #endif /* RC */ 6447 - 6448 -// #ifdef __cplusplus 6449 -// } 6450 -// #endif 6451 - 6452 -// #endif // _WINBASE_ 6453 - 2817 + static if (_WIN32_WINNT >= 0x501) { 2818 + alias ACTCTX* PACTCTX, PCACTCTX; 2819 + } 2820 +}

Added src/win32/winber.d version [4ba5ee97ba871a5e]

1 +/***********************************************************************\ 2 +* winber.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.winber; 12 + 13 +/* Comment from MinGW 14 + winber.h - Header file for the Windows LDAP Basic Encoding Rules API 15 + 16 + Written by Filip Navara <xnavara@volny.cz> 17 + 18 + References: 19 + The C LDAP Application Program Interface 20 + http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt 21 + 22 + Lightweight Directory Access Protocol Reference 23 + http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp 24 + 25 + This library is distributed in the hope that it will be useful, 26 + but WITHOUT ANY WARRANTY; without even the implied warranty of 27 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 28 + */ 29 + 30 + import win32.basetsd; 31 + 32 +/* Opaque structure 33 + * http://msdn.microsoft.com/library/en-us/ldap/ldap/berelement.asp 34 + */ 35 +struct BerElement; 36 + 37 +alias int ber_int_t, ber_slen_t; 38 +alias uint ber_uint_t, ber_len_t, ber_tag_t; 39 + 40 +align(4): 41 +struct BerValue { 42 + ber_len_t bv_len; 43 + char* bv_val; 44 +} 45 +alias BerValue LDAP_BERVAL, BERVAL; 46 +alias BerValue* PLDAP_BERVAL, PBERVAL; 47 + 48 +const ber_tag_t 49 + LBER_ERROR = -1, 50 + LBER_DEFAULT = -1, 51 + LBER_USE_DER = 1; 52 + 53 +/* FIXME: In MinGW, these are WINBERAPI == DECLSPEC_IMPORT. Linkage 54 + * attribute? 55 + */ 56 +extern (C) { 57 + BerElement* ber_init(CPtr!(BerValue)); 58 + int ber_printf(BerElement*, CPtr!(char), ...); 59 + int ber_flatten(BerElement*, BerValue**); 60 + ber_tag_t ber_scanf(BerElement*, CPtr!(char), ...); 61 + ber_tag_t ber_peek_tag(BerElement*, ber_len_t*); 62 + ber_tag_t ber_skip_tag(BerElement*, ber_len_t*); 63 + ber_tag_t ber_first_element(BerElement*, ber_len_t*, char**); 64 + ber_tag_t ber_next_element(BerElement*, ber_len_t*, char*); 65 + void ber_bvfree(BerValue*); 66 + void ber_bvecfree(BerValue**); 67 + void ber_free(BerElement*, int); 68 + BerValue* ber_bvdup(BerValue*); 69 + BerElement* ber_alloc_t(int); 70 +}

Modified src/win32/wincon.d from [5ebbf537eec215cc] to [a1d2dfcf9ddedace].

1 +/***********************************************************************\ 2 +* wincon.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.wincon; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 -import win32.winbase; 8 - 9 -// #ifndef _WINCON_ 10 -// #define _WINCON_ 11 +pragma(lib, "kernel32.lib"); 12 + 13 +private import win32.w32api, win32.windef; 14 + 15 +// FIXME: clean up Windows version support 16 + 17 +enum { 18 + FOREGROUND_BLUE = 1, 19 + FOREGROUND_GREEN = 2, 20 + FOREGROUND_RED = 4, 21 + FOREGROUND_INTENSITY = 8, 22 + BACKGROUND_BLUE = 16, 23 + BACKGROUND_GREEN = 32, 24 + BACKGROUND_RED = 64, 25 + BACKGROUND_INTENSITY = 128 26 +} 27 + 28 +static if (_WIN32_WINNT >= 0x0501) { 29 + enum { 30 + CONSOLE_FULLSCREEN_MODE = 1, 31 + CONSOLE_WINDOWED_MODE = 0 32 + } 33 +} 34 + 35 +enum { 36 + CTRL_C_EVENT = 0, 37 + CTRL_BREAK_EVENT = 1, 38 + CTRL_CLOSE_EVENT = 2, 39 + CTRL_LOGOFF_EVENT = 5, 40 + CTRL_SHUTDOWN_EVENT = 6 41 +} 42 + 43 +enum { 44 + ENABLE_PROCESSED_INPUT = 1, 45 + ENABLE_LINE_INPUT = 2, 46 + ENABLE_ECHO_INPUT = 4, 47 + ENABLE_WINDOW_INPUT = 8, 48 + ENABLE_MOUSE_INPUT = 16 49 +} 50 + 51 +enum { 52 + ENABLE_PROCESSED_OUTPUT = 1, 53 + ENABLE_WRAP_AT_EOL_OUTPUT = 2 54 +} 55 + 56 +enum { 57 + KEY_EVENT = 1, 58 + MOUSE_EVENT = 2, 59 + WINDOW_BUFFER_SIZE_EVENT = 4, 60 + MENU_EVENT = 8, 61 + FOCUS_EVENT = 16 62 +} 63 +enum { 64 + RIGHT_ALT_PRESSED = 1, 65 + LEFT_ALT_PRESSED = 2, 66 + RIGHT_CTRL_PRESSED = 4, 67 + LEFT_CTRL_PRESSED = 8, 68 + SHIFT_PRESSED = 16, 69 + NUMLOCK_ON = 32, 70 + SCROLLLOCK_ON = 64, 71 + CAPSLOCK_ON = 128, 72 + ENHANCED_KEY = 256 73 +} 74 +enum { 75 + FROM_LEFT_1ST_BUTTON_PRESSED = 1, 76 + RIGHTMOST_BUTTON_PRESSED = 2, 77 + FROM_LEFT_2ND_BUTTON_PRESSED = 4, 78 + FROM_LEFT_3RD_BUTTON_PRESSED = 8, 79 + FROM_LEFT_4TH_BUTTON_PRESSED = 16 80 +} 81 + 82 +enum { 83 + MOUSE_MOVED = 1, 84 + DOUBLE_CLICK = 2, 85 + MOUSE_WHEELED = 4 86 +} 87 + 88 +struct CHAR_INFO { 89 + union _Char { 90 + WCHAR UnicodeChar; 91 + CHAR AsciiChar; 92 + } 93 + _Char Char; 94 + WORD Attributes; 95 +} 96 +alias CHAR_INFO* PCHAR_INFO; 97 + 98 +struct SMALL_RECT { 99 + SHORT Left; 100 + SHORT Top; 101 + SHORT Right; 102 + SHORT Bottom; 103 +} 104 +alias SMALL_RECT* PSMALL_RECT; 105 + 106 +struct CONSOLE_CURSOR_INFO { 107 + DWORD dwSize; 108 + BOOL bVisible; 109 +} 110 +alias CONSOLE_CURSOR_INFO* PCONSOLE_CURSOR_INFO; 111 + 112 +struct COORD { 113 + SHORT X; 114 + SHORT Y; 115 +} 116 +alias COORD* PCOORD; 117 + 118 +struct CONSOLE_FONT_INFO { 119 + DWORD nFont; 120 + COORD dwFontSize; 121 +} 122 +alias CONSOLE_FONT_INFO* PCONSOLE_FONT_INFO; 123 + 124 +struct CONSOLE_SCREEN_BUFFER_INFO { 125 + COORD dwSize; 126 + COORD dwCursorPosition; 127 + WORD wAttributes; 128 + SMALL_RECT srWindow; 129 + COORD dwMaximumWindowSize; 130 +} 131 +alias CONSOLE_SCREEN_BUFFER_INFO* PCONSOLE_SCREEN_BUFFER_INFO; 132 + 133 +alias BOOL function(DWORD) PHANDLER_ROUTINE; 134 + 135 +struct KEY_EVENT_RECORD { 136 + BOOL bKeyDown; 137 + WORD wRepeatCount; 138 + WORD wVirtualKeyCode; 139 + WORD wVirtualScanCode; 140 + union _uChar { 141 + WCHAR UnicodeChar; 142 + CHAR AsciiChar; 143 + } 144 + _uChar uChar; 145 + DWORD dwControlKeyState; 146 +} 147 + 148 +struct MOUSE_EVENT_RECORD { 149 + COORD dwMousePosition; 150 + DWORD dwButtonState; 151 + DWORD dwControlKeyState; 152 + DWORD dwEventFlags; 153 +} 11 154 12 -// #ifdef __cplusplus 13 -// extern "C" { 14 -// #endif 15 - 16 -struct _COORD { 17 - SHORT X; 18 - SHORT Y; 155 +struct WINDOW_BUFFER_SIZE_RECORD { 156 + COORD dwSize; 19 157 } 20 -alias _COORD COORD; 21 -alias _COORD* PCOORD; 22 158 23 -struct _SMALL_RECT { 24 - SHORT Left; 25 - SHORT Top; 26 - SHORT Right; 27 - SHORT Bottom; 159 +struct MENU_EVENT_RECORD { 160 + UINT dwCommandId; 28 161 } 29 -alias _SMALL_RECT SMALL_RECT; 30 -alias _SMALL_RECT* PSMALL_RECT; 162 +alias MENU_EVENT_RECORD* PMENU_EVENT_RECORD; 31 163 32 -struct _KEY_EVENT_RECORD { 33 - BOOL bKeyDown; 34 - WORD wRepeatCount; 35 - WORD wVirtualKeyCode; 36 - WORD wVirtualScanCode; 37 -union { 38 - WCHAR UnicodeChar; 39 - CHAR AsciiChar; 164 +struct FOCUS_EVENT_RECORD { 165 + BOOL bSetFocus; 40 166 } 41 167 42 - DWORD dwControlKeyState; 43 -} 44 -alias _KEY_EVENT_RECORD KEY_EVENT_RECORD; 45 -alias _KEY_EVENT_RECORD* PKEY_EVENT_RECORD; 46 - 47 -enum : uint { RIGHT_ALT_PRESSED = 0x0001 } 48 -enum : uint { LEFT_ALT_PRESSED = 0x0002 } 49 -enum : uint { RIGHT_CTRL_PRESSED = 0x0004 } 50 -enum : uint { LEFT_CTRL_PRESSED = 0x0008 } 51 -enum : uint { SHIFT_PRESSED = 0x0010 } 52 -enum : uint { NUMLOCK_ON = 0x0020 } 53 -enum : uint { SCROLLLOCK_ON = 0x0040 } 54 -enum : uint { CAPSLOCK_ON = 0x0080 } 55 -enum : uint { ENHANCED_KEY = 0x0100 } 56 -enum : uint { NLS_DBCSCHAR = 0x00010000 } 57 -enum : uint { NLS_ALPHANUMERIC = 0x00000000 } 58 -enum : uint { NLS_KATAKANA = 0x00020000 } 59 -enum : uint { NLS_HIRAGANA = 0x00040000 } 60 -enum : uint { NLS_ROMAN = 0x00400000 } 61 -enum : uint { NLS_IME_CONVERSION = 0x00800000 } 62 -enum : uint { NLS_IME_DISABLE = 0x20000000 } 63 - 64 -struct _MOUSE_EVENT_RECORD { 65 - COORD dwMousePosition; 66 - DWORD dwButtonState; 67 - DWORD dwControlKeyState; 68 - DWORD dwEventFlags; 168 +struct INPUT_RECORD { 169 + WORD EventType; 170 + union _Event { 171 + KEY_EVENT_RECORD KeyEvent; 172 + MOUSE_EVENT_RECORD MouseEvent; 173 + WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; 174 + MENU_EVENT_RECORD MenuEvent; 175 + FOCUS_EVENT_RECORD FocusEvent; 176 + } 177 + _Event Event; 69 178 } 70 -alias _MOUSE_EVENT_RECORD MOUSE_EVENT_RECORD; 71 -alias _MOUSE_EVENT_RECORD* PMOUSE_EVENT_RECORD; 179 +alias INPUT_RECORD* PINPUT_RECORD; 72 180 73 -enum : uint { FROM_LEFT_1ST_BUTTON_PRESSED = 0x0001 } 74 -enum : uint { RIGHTMOST_BUTTON_PRESSED = 0x0002 } 75 -enum : uint { FROM_LEFT_2ND_BUTTON_PRESSED = 0x0004 } 76 -enum : uint { FROM_LEFT_3RD_BUTTON_PRESSED = 0x0008 } 77 -enum : uint { FROM_LEFT_4TH_BUTTON_PRESSED = 0x0010 } 181 +extern (Windows): 78 182 79 -enum : uint { MOUSE_MOVED = 0x0001 } 80 -enum : uint { DOUBLE_CLICK = 0x0002 } 81 -enum : uint { MOUSE_WHEELED = 0x0004 } 82 - 83 -struct _WINDOW_BUFFER_SIZE_RECORD { 84 - COORD dwSize; 85 -} 86 -alias _WINDOW_BUFFER_SIZE_RECORD WINDOW_BUFFER_SIZE_RECORD; 87 -alias _WINDOW_BUFFER_SIZE_RECORD* PWINDOW_BUFFER_SIZE_RECORD; 88 - 89 -struct _MENU_EVENT_RECORD { 90 - UINT dwCommandId; 91 -} 92 -alias _MENU_EVENT_RECORD MENU_EVENT_RECORD; 93 -alias _MENU_EVENT_RECORD* PMENU_EVENT_RECORD; 183 +BOOL AllocConsole(); 184 +HANDLE CreateConsoleScreenBuffer(DWORD, DWORD, SECURITY_ATTRIBUTES*, DWORD, LPVOID); 185 +BOOL FillConsoleOutputAttribute(HANDLE, WORD, DWORD, COORD, PDWORD); 186 +BOOL FillConsoleOutputCharacterA(HANDLE, CHAR, DWORD, COORD, PDWORD); 187 +BOOL FillConsoleOutputCharacterW(HANDLE, WCHAR, DWORD, COORD, PDWORD); 188 +BOOL FlushConsoleInputBuffer(HANDLE); 189 +BOOL FreeConsole(); 190 +BOOL GenerateConsoleCtrlEvent(DWORD, DWORD); 191 +UINT GetConsoleCP(); 192 +BOOL GetConsoleCursorInfo(HANDLE, PCONSOLE_CURSOR_INFO); 193 +BOOL GetConsoleMode(HANDLE,PDWORD); 194 +UINT GetConsoleOutputCP(); 195 +BOOL GetConsoleScreenBufferInfo(HANDLE, PCONSOLE_SCREEN_BUFFER_INFO); 196 +DWORD GetConsoleTitleA(LPSTR, DWORD); 197 +DWORD GetConsoleTitleW(LPWSTR, DWORD); 198 +COORD GetLargestConsoleWindowSize(HANDLE); 199 +BOOL GetNumberOfConsoleInputEvents(HANDLE, PDWORD); 200 +BOOL GetNumberOfConsoleMouseButtons(PDWORD); 201 +BOOL PeekConsoleInputA(HANDLE, PINPUT_RECORD, DWORD, PDWORD); 202 +BOOL PeekConsoleInputW(HANDLE, PINPUT_RECORD, DWORD, PDWORD); 203 +BOOL ReadConsoleA(HANDLE, PVOID, DWORD, PDWORD, PVOID); 204 +BOOL ReadConsoleW(HANDLE, PVOID, DWORD, PDWORD, PVOID); 205 +BOOL ReadConsoleInputA(HANDLE, PINPUT_RECORD, DWORD, PDWORD); 206 +BOOL ReadConsoleInputW(HANDLE, PINPUT_RECORD, DWORD, PDWORD); 207 +BOOL ReadConsoleOutputAttribute(HANDLE, LPWORD, DWORD, COORD, LPDWORD); 208 +BOOL ReadConsoleOutputCharacterA(HANDLE, LPSTR, DWORD, COORD, PDWORD); 209 +BOOL ReadConsoleOutputCharacterW(HANDLE, LPWSTR, DWORD, COORD, PDWORD); 210 +BOOL ReadConsoleOutputA(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT); 211 +BOOL ReadConsoleOutputW(HANDLE, PCHAR_INFO, COORD, COORD, PSMALL_RECT); 212 +BOOL ScrollConsoleScreenBufferA(HANDLE, CPtr!(SMALL_RECT), CPtr!(SMALL_RECT), COORD, CPtr!(CHAR_INFO)); 213 +BOOL ScrollConsoleScreenBufferW(HANDLE, CPtr!(SMALL_RECT), CPtr!(SMALL_RECT), COORD, CPtr!(CHAR_INFO)); 214 +BOOL SetConsoleActiveScreenBuffer(HANDLE); 215 +BOOL SetConsoleCP(UINT); 216 +BOOL SetConsoleCtrlHandler(PHANDLER_ROUTINE, BOOL); 217 +BOOL SetConsoleCursorInfo(HANDLE, CPtr!(CONSOLE_CURSOR_INFO)); 218 +BOOL SetConsoleCursorPosition(HANDLE, COORD); 219 + 94 220 95 -struct _FOCUS_EVENT_RECORD { 96 - BOOL bSetFocus; 97 -} 98 -alias _FOCUS_EVENT_RECORD FOCUS_EVENT_RECORD; 99 -alias _FOCUS_EVENT_RECORD* PFOCUS_EVENT_RECORD; 100 - 101 -struct _INPUT_RECORD { 102 - WORD EventType; 103 -union { 104 - KEY_EVENT_RECORD KeyEvent; 105 - MOUSE_EVENT_RECORD MouseEvent; 106 - WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; 107 - MENU_EVENT_RECORD MenuEvent; 108 - FOCUS_EVENT_RECORD FocusEvent; 221 +static if (_WIN32_WINNT >= 0x0500) { 222 +BOOL GetConsoleDisplayMode(LPDWORD); 223 +HWND GetConsoleWindow(); 109 224 } 110 225 111 -} 112 -alias _INPUT_RECORD INPUT_RECORD; 113 -alias _INPUT_RECORD* PINPUT_RECORD; 114 - 115 -enum : uint { KEY_EVENT = 0x0001 } 116 -enum : uint { MOUSE_EVENT = 0x0002 } 117 -enum : uint { WINDOW_BUFFER_SIZE_EVENT = 0x0004 } 118 -enum : uint { MENU_EVENT = 0x0008 } 119 -enum : uint { FOCUS_EVENT = 0x0010 } 120 - 121 -struct _CHAR_INFO { 122 -union { 123 - WCHAR UnicodeChar; 124 - CHAR AsciiChar; 226 +static if (_WIN32_WINNT >= 0x0501) { 227 +BOOL AttachConsole(DWORD); 228 +BOOL SetConsoleDisplayMode(HANDLE, DWORD, PCOORD); 229 +const DWORD ATTACH_PARENT_PROCESS = cast(DWORD)-1; 125 230 } 126 231 127 - WORD Attributes; 128 -} 129 -alias _CHAR_INFO CHAR_INFO; 130 -alias _CHAR_INFO* PCHAR_INFO; 131 - 132 -enum : uint { FOREGROUND_BLUE = 0x0001 } 133 -enum : uint { FOREGROUND_GREEN = 0x0002 } 134 -enum : uint { FOREGROUND_RED = 0x0004 } 135 -enum : uint { FOREGROUND_INTENSITY = 0x0008 } 136 -enum : uint { BACKGROUND_BLUE = 0x0010 } 137 -enum : uint { BACKGROUND_GREEN = 0x0020 } 138 -enum : uint { BACKGROUND_RED = 0x0040 } 139 -enum : uint { BACKGROUND_INTENSITY = 0x0080 } 140 -enum : uint { COMMON_LVB_LEADING_BYTE = 0x0100 } 141 -enum : uint { COMMON_LVB_TRAILING_BYTE = 0x0200 } 142 -enum : uint { COMMON_LVB_GRID_HORIZONTAL = 0x0400 } 143 -enum : uint { COMMON_LVB_GRID_LVERTICAL = 0x0800 } 144 -enum : uint { COMMON_LVB_GRID_RVERTICAL = 0x1000 } 145 -enum : uint { COMMON_LVB_REVERSE_VIDEO = 0x4000 } 146 -enum : uint { COMMON_LVB_UNDERSCORE = 0x8000 } 147 - 148 -enum : uint { COMMON_LVB_SBCSDBCS = 0x0300 } 149 - 150 -struct _CONSOLE_SCREEN_BUFFER_INFO { 151 - COORD dwSize; 152 - COORD dwCursorPosition; 153 - WORD wAttributes; 154 - SMALL_RECT srWindow; 155 - COORD dwMaximumWindowSize; 156 -} 157 -alias _CONSOLE_SCREEN_BUFFER_INFO CONSOLE_SCREEN_BUFFER_INFO; 158 -alias _CONSOLE_SCREEN_BUFFER_INFO* PCONSOLE_SCREEN_BUFFER_INFO; 159 - 160 -struct _CONSOLE_CURSOR_INFO { 161 - DWORD dwSize; 162 - BOOL bVisible; 163 -} 164 -alias _CONSOLE_CURSOR_INFO CONSOLE_CURSOR_INFO; 165 -alias _CONSOLE_CURSOR_INFO* PCONSOLE_CURSOR_INFO; 166 - 167 -struct _CONSOLE_FONT_INFO { 168 - DWORD nFont; 169 - COORD dwFontSize; 170 -} 171 -alias _CONSOLE_FONT_INFO CONSOLE_FONT_INFO; 172 -alias _CONSOLE_FONT_INFO* PCONSOLE_FONT_INFO; 173 - 174 -// #if(_WIN32_WINNT >= 0x0500) 175 -struct _CONSOLE_SELECTION_INFO { 176 - DWORD dwFlags; 177 - COORD dwSelectionAnchor; 178 - SMALL_RECT srSelection; 179 -} 180 -alias _CONSOLE_SELECTION_INFO CONSOLE_SELECTION_INFO; 181 -alias _CONSOLE_SELECTION_INFO* PCONSOLE_SELECTION_INFO; 182 - 183 -enum : uint { CONSOLE_NO_SELECTION = 0x0000 } 184 -enum : uint { CONSOLE_SELECTION_IN_PROGRESS = 0x0001 } 185 -enum : uint { CONSOLE_SELECTION_NOT_EMPTY = 0x0002 } 186 -enum : uint { CONSOLE_MOUSE_SELECTION = 0x0004 } 187 -enum : uint { CONSOLE_MOUSE_DOWN = 0x0008 } 188 -// #endif /* _WIN32_WINNT >= 0x0500 */ 189 - 190 -extern(Windows) alias BOOL function( DWORD CtrlType ) PHANDLER_ROUTINE; 191 - 192 -enum : uint { CTRL_C_EVENT = 0 } 193 -enum : uint { CTRL_BREAK_EVENT = 1 } 194 -enum : uint { CTRL_CLOSE_EVENT = 2 } 195 - 196 -enum : uint { CTRL_LOGOFF_EVENT = 5 } 197 -enum : uint { CTRL_SHUTDOWN_EVENT = 6 } 198 - 199 -enum : uint { ENABLE_PROCESSED_INPUT = 0x0001 } 200 -enum : uint { ENABLE_LINE_INPUT = 0x0002 } 201 -enum : uint { ENABLE_ECHO_INPUT = 0x0004 } 202 -enum : uint { ENABLE_WINDOW_INPUT = 0x0008 } 203 -enum : uint { ENABLE_MOUSE_INPUT = 0x0010 } 204 - 205 -enum : uint { ENABLE_PROCESSED_OUTPUT = 0x0001 } 206 -enum : uint { ENABLE_WRAP_AT_EOL_OUTPUT = 0x0002 } 207 - 208 -extern(Windows) export BOOL PeekConsoleInputA( 209 - HANDLE hConsoleInput, 210 - PINPUT_RECORD lpBuffer, 211 - DWORD nLength, 212 - LPDWORD lpNumberOfEventsRead 213 - ); 214 -extern(Windows) export BOOL PeekConsoleInputW( 215 - HANDLE hConsoleInput, 216 - PINPUT_RECORD lpBuffer, 217 - DWORD nLength, 218 - LPDWORD lpNumberOfEventsRead 219 - ); 220 -// #ifdef UNICODE 221 -alias PeekConsoleInputW PeekConsoleInput; 222 -// #else 223 -// #... 224 -// #endif // !UNICODE 225 - 226 -extern(Windows) export BOOL ReadConsoleInputA( 227 - HANDLE hConsoleInput, 228 - PINPUT_RECORD lpBuffer, 229 - DWORD nLength, 230 - LPDWORD lpNumberOfEventsRead 231 - ); 232 -extern(Windows) export BOOL ReadConsoleInputW( 233 - HANDLE hConsoleInput, 234 - PINPUT_RECORD lpBuffer, 235 - DWORD nLength, 236 - LPDWORD lpNumberOfEventsRead 237 - ); 238 -// #ifdef UNICODE 239 -alias ReadConsoleInputW ReadConsoleInput; 240 -// #else 241 -// #... 242 -// #endif // !UNICODE 243 - 244 -extern(Windows) export BOOL WriteConsoleInputA( 245 - HANDLE hConsoleInput, 246 - INPUT_RECORD *lpBuffer, 247 - DWORD nLength, 248 - LPDWORD lpNumberOfEventsWritten 249 - ); 250 -extern(Windows) export BOOL WriteConsoleInputW( 251 - HANDLE hConsoleInput, 252 - INPUT_RECORD *lpBuffer, 253 - DWORD nLength, 254 - LPDWORD lpNumberOfEventsWritten 255 - ); 256 -// #ifdef UNICODE 257 -alias WriteConsoleInputW WriteConsoleInput; 258 -// #else 259 -// #... 260 -// #endif // !UNICODE 232 +BOOL SetConsoleMode(HANDLE, DWORD); 233 +BOOL SetConsoleOutputCP(UINT); 234 +BOOL SetConsoleScreenBufferSize(HANDLE, COORD); 235 +BOOL SetConsoleTextAttribute(HANDLE, WORD); 236 +BOOL SetConsoleTitleA(LPCSTR); 237 +BOOL SetConsoleTitleW(LPCWSTR); 238 +BOOL SetConsoleWindowInfo(HANDLE, BOOL, CPtr!(SMALL_RECT)); 239 +BOOL WriteConsoleA(HANDLE, PCVOID, DWORD, PDWORD, PVOID); 240 +BOOL WriteConsoleW(HANDLE, PCVOID, DWORD, PDWORD, PVOID); 241 +BOOL WriteConsoleInputA(HANDLE, CPtr!(INPUT_RECORD), DWORD, PDWORD); 242 +BOOL WriteConsoleInputW(HANDLE, CPtr!(INPUT_RECORD), DWORD, PDWORD); 243 +BOOL WriteConsoleOutputA(HANDLE, CPtr!(CHAR_INFO), COORD, COORD, PSMALL_RECT); 244 +BOOL WriteConsoleOutputW(HANDLE, CPtr!(CHAR_INFO), COORD, COORD, PSMALL_RECT); 245 +BOOL WriteConsoleOutputAttribute(HANDLE, CPtr!(WORD), DWORD, COORD, PDWORD); 246 +BOOL WriteConsoleOutputCharacterA(HANDLE, LPCSTR, DWORD, COORD, PDWORD); 247 +BOOL WriteConsoleOutputCharacterW(HANDLE, LPCWSTR, DWORD, COORD, PDWORD); 261 248 262 -extern(Windows) export BOOL ReadConsoleOutputA( 263 - HANDLE hConsoleOutput, 264 - PCHAR_INFO lpBuffer, 265 - COORD dwBufferSize, 266 - COORD dwBufferCoord, 267 - PSMALL_RECT lpReadRegion 268 - ); 269 -extern(Windows) export BOOL ReadConsoleOutputW( 270 - HANDLE hConsoleOutput, 271 - PCHAR_INFO lpBuffer, 272 - COORD dwBufferSize, 273 - COORD dwBufferCoord, 274 - PSMALL_RECT lpReadRegion 275 - ); 276 -// #ifdef UNICODE 277 -alias ReadConsoleOutputW ReadConsoleOutput; 278 -// #else 279 -// #... 280 -// #endif // !UNICODE 281 - 282 -extern(Windows) export BOOL WriteConsoleOutputA( 283 - HANDLE hConsoleOutput, 284 - CHAR_INFO *lpBuffer, 285 - COORD dwBufferSize, 286 - COORD dwBufferCoord, 287 - PSMALL_RECT lpWriteRegion 288 - ); 289 -extern(Windows) export BOOL WriteConsoleOutputW( 290 - HANDLE hConsoleOutput, 291 - CHAR_INFO *lpBuffer, 292 - COORD dwBufferSize, 293 - COORD dwBufferCoord, 294 - PSMALL_RECT lpWriteRegion 295 - ); 296 -// #ifdef UNICODE 297 -alias WriteConsoleOutputW WriteConsoleOutput; 298 -// #else 299 -// #... 300 -// #endif // !UNICODE 301 - 302 -extern(Windows) export BOOL ReadConsoleOutputCharacterA( 303 - HANDLE hConsoleOutput, 304 - LPSTR lpCharacter, 305 - DWORD nLength, 306 - COORD dwReadCoord, 307 - LPDWORD lpNumberOfCharsRead 308 - ); 309 -extern(Windows) export BOOL ReadConsoleOutputCharacterW( 310 - HANDLE hConsoleOutput, 311 - LPWSTR lpCharacter, 312 - DWORD nLength, 313 - COORD dwReadCoord, 314 - LPDWORD lpNumberOfCharsRead 315 - ); 316 -// #ifdef UNICODE 317 -alias ReadConsoleOutputCharacterW ReadConsoleOutputCharacter; 318 -// #else 319 -// #... 320 -// #endif // !UNICODE 321 - 322 -extern(Windows) export BOOL ReadConsoleOutputAttribute( 323 - HANDLE hConsoleOutput, 324 - LPWORD lpAttribute, 325 - DWORD nLength, 326 - COORD dwReadCoord, 327 - LPDWORD lpNumberOfAttrsRead 328 - ); 329 - 330 -extern(Windows) export BOOL WriteConsoleOutputCharacterA( 331 - HANDLE hConsoleOutput, 332 - LPCSTR lpCharacter, 333 - DWORD nLength, 334 - COORD dwWriteCoord, 335 - LPDWORD lpNumberOfCharsWritten 336 - ); 337 -extern(Windows) export BOOL WriteConsoleOutputCharacterW( 338 - HANDLE hConsoleOutput, 339 - LPCWSTR lpCharacter, 340 - DWORD nLength, 341 - COORD dwWriteCoord, 342 - LPDWORD lpNumberOfCharsWritten 343 - ); 344 -// #ifdef UNICODE 345 -alias WriteConsoleOutputCharacterW WriteConsoleOutputCharacter; 346 -// #else 347 -// #... 348 -// #endif // !UNICODE 349 - 350 -extern(Windows) export BOOL WriteConsoleOutputAttribute( 351 - HANDLE hConsoleOutput, 352 - WORD *lpAttribute, 353 - DWORD nLength, 354 - COORD dwWriteCoord, 355 - LPDWORD lpNumberOfAttrsWritten 356 - ); 357 - 358 -extern(Windows) export BOOL FillConsoleOutputCharacterA( 359 - HANDLE hConsoleOutput, 360 - CHAR cCharacter, 361 - DWORD nLength, 362 - COORD dwWriteCoord, 363 - LPDWORD lpNumberOfCharsWritten 364 - ); 365 -extern(Windows) export BOOL FillConsoleOutputCharacterW( 366 - HANDLE hConsoleOutput, 367 - WCHAR cCharacter, 368 - DWORD nLength, 369 - COORD dwWriteCoord, 370 - LPDWORD lpNumberOfCharsWritten 371 - ); 372 -// #ifdef UNICODE 373 -alias FillConsoleOutputCharacterW FillConsoleOutputCharacter; 374 -// #else 375 -// #... 376 -// #endif // !UNICODE 377 - 378 -extern(Windows) export BOOL FillConsoleOutputAttribute( 379 - HANDLE hConsoleOutput, 380 - WORD wAttribute, 381 - DWORD nLength, 382 - COORD dwWriteCoord, 383 - LPDWORD lpNumberOfAttrsWritten 384 - ); 385 - 386 -extern(Windows) export BOOL GetConsoleMode( 387 - HANDLE hConsoleHandle, 388 - LPDWORD lpMode 389 - ); 390 - 391 -extern(Windows) export BOOL GetNumberOfConsoleInputEvents( 392 - HANDLE hConsoleInput, 393 - LPDWORD lpNumberOfEvents 394 - ); 395 - 396 -extern(Windows) export BOOL GetConsoleScreenBufferInfo( 397 - HANDLE hConsoleOutput, 398 - PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo 399 - ); 400 - 401 -extern(Windows) export COORD GetLargestConsoleWindowSize( 402 - HANDLE hConsoleOutput 403 - ); 404 - 405 -extern(Windows) export BOOL GetConsoleCursorInfo( 406 - HANDLE hConsoleOutput, 407 - PCONSOLE_CURSOR_INFO lpConsoleCursorInfo 408 - ); 409 - 410 -// #if(_WIN32_WINNT >= 0x0500) 411 - 412 -extern(Windows) export BOOL GetCurrentConsoleFont( 413 - HANDLE hConsoleOutput, 414 - BOOL bMaximumWindow, 415 - PCONSOLE_FONT_INFO lpConsoleCurrentFont 416 - ); 417 - 418 -extern(Windows) export COORD GetConsoleFontSize( 419 - HANDLE hConsoleOutput, 420 - DWORD nFont 421 - ); 422 - 423 -extern(Windows) export BOOL GetConsoleSelectionInfo( 424 - PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo 425 - ); 426 - 427 -// #endif /* _WIN32_WINNT >= 0x0500 */ 428 - 429 -extern(Windows) export BOOL GetNumberOfConsoleMouseButtons( 430 - LPDWORD lpNumberOfMouseButtons 431 - ); 432 - 433 -extern(Windows) export BOOL SetConsoleMode( 434 - HANDLE hConsoleHandle, 435 - DWORD dwMode 436 - ); 437 - 438 -extern(Windows) export BOOL SetConsoleActiveScreenBuffer( 439 - HANDLE hConsoleOutput 440 - ); 441 - 442 -extern(Windows) export BOOL FlushConsoleInputBuffer( 443 - HANDLE hConsoleInput 444 - ); 445 - 446 -extern(Windows) export BOOL SetConsoleScreenBufferSize( 447 - HANDLE hConsoleOutput, 448 - COORD dwSize 449 - ); 450 - 451 -extern(Windows) export BOOL SetConsoleCursorPosition( 452 - HANDLE hConsoleOutput, 453 - COORD dwCursorPosition 454 - ); 455 - 456 -extern(Windows) export BOOL SetConsoleCursorInfo( 457 - HANDLE hConsoleOutput, 458 - CONSOLE_CURSOR_INFO *lpConsoleCursorInfo 459 - ); 460 - 461 -extern(Windows) export BOOL ScrollConsoleScreenBufferA( 462 - HANDLE hConsoleOutput, 463 - SMALL_RECT *lpScrollRectangle, 464 - SMALL_RECT *lpClipRectangle, 465 - COORD dwDestinationOrigin, 466 - CHAR_INFO *lpFill 467 - ); 468 -extern(Windows) export BOOL ScrollConsoleScreenBufferW( 469 - HANDLE hConsoleOutput, 470 - SMALL_RECT *lpScrollRectangle, 471 - SMALL_RECT *lpClipRectangle, 472 - COORD dwDestinationOrigin, 473 - CHAR_INFO *lpFill 474 - ); 475 -// #ifdef UNICODE 476 -alias ScrollConsoleScreenBufferW ScrollConsoleScreenBuffer; 477 -// #else 478 -// #... 479 -// #endif // !UNICODE 480 - 481 -extern(Windows) export BOOL SetConsoleWindowInfo( 482 - HANDLE hConsoleOutput, 483 - BOOL bAbsolute, 484 - SMALL_RECT *lpConsoleWindow 485 - ); 486 - 487 -extern(Windows) export BOOL SetConsoleTextAttribute( 488 - HANDLE hConsoleOutput, 489 - WORD wAttributes 490 - ); 491 - 492 -extern(Windows) export BOOL SetConsoleCtrlHandler( 493 - PHANDLER_ROUTINE HandlerRoutine, 494 - BOOL Add 495 - ); 496 - 497 -extern(Windows) export BOOL GenerateConsoleCtrlEvent( 498 - DWORD dwCtrlEvent, 499 - DWORD dwProcessGroupId 500 - ); 501 - 502 -extern(Windows) export BOOL AllocConsole(); 503 - 504 -extern(Windows) export BOOL FreeConsole(); 505 - 506 -// #if(_WIN32_WINNT >= 0x0500) 507 -extern(Windows) export BOOL AttachConsole( 508 - DWORD dwProcessId 509 - ); 510 -// #endif /* _WIN32_WINNT >= 0x0500 */ 511 - 512 -extern(Windows) export DWORD GetConsoleTitleA( 513 - LPSTR lpConsoleTitle, 514 - DWORD nSize 515 - ); 516 -extern(Windows) export DWORD GetConsoleTitleW( 517 - LPWSTR lpConsoleTitle, 518 - DWORD nSize 519 - ); 520 -// #ifdef UNICODE 521 -alias GetConsoleTitleW GetConsoleTitle; 522 -// #else 523 -// #... 524 -// #endif // !UNICODE 525 - 526 -extern(Windows) export BOOL SetConsoleTitleA( 527 - LPCSTR lpConsoleTitle 528 - ); 529 -extern(Windows) export BOOL SetConsoleTitleW( 530 - LPCWSTR lpConsoleTitle 531 - ); 532 -// #ifdef UNICODE 533 -alias SetConsoleTitleW SetConsoleTitle; 534 -// #else 535 -// #... 536 -// #endif // !UNICODE 537 - 538 -extern(Windows) export BOOL ReadConsoleA( 539 - HANDLE hConsoleInput, 540 - LPVOID lpBuffer, 541 - DWORD nNumberOfCharsToRead, 542 - LPDWORD lpNumberOfCharsRead, 543 - LPVOID lpReserved 544 - ); 545 -extern(Windows) export BOOL ReadConsoleW( 546 - HANDLE hConsoleInput, 547 - LPVOID lpBuffer, 548 - DWORD nNumberOfCharsToRead, 549 - LPDWORD lpNumberOfCharsRead, 550 - LPVOID lpReserved 551 - ); 552 -// #ifdef UNICODE 553 -alias ReadConsoleW ReadConsole; 554 -// #else 555 -// #... 556 -// #endif // !UNICODE 557 - 558 -extern(Windows) export BOOL WriteConsoleA( 559 - HANDLE hConsoleOutput, 560 - VOID *lpBuffer, 561 - DWORD nNumberOfCharsToWrite, 562 - LPDWORD lpNumberOfCharsWritten, 563 - LPVOID lpReserved 564 - ); 565 -extern(Windows) export BOOL WriteConsoleW( 566 - HANDLE hConsoleOutput, 567 - VOID *lpBuffer, 568 - DWORD nNumberOfCharsToWrite, 569 - LPDWORD lpNumberOfCharsWritten, 570 - LPVOID lpReserved 571 - ); 572 -// #ifdef UNICODE 573 -alias WriteConsoleW WriteConsole; 574 -// #else 575 -// #... 576 -// #endif // !UNICODE 577 - 578 -enum : uint { CONSOLE_TEXTMODE_BUFFER = 1 } 579 - 580 -extern(Windows) export HANDLE CreateConsoleScreenBuffer( 581 - DWORD dwDesiredAccess, 582 - DWORD dwShareMode, 583 - SECURITY_ATTRIBUTES *lpSecurityAttributes, 584 - DWORD dwFlags, 585 - LPVOID lpScreenBufferData 586 - ); 587 - 588 -extern(Windows) export UINT GetConsoleCP(); 589 - 590 -extern(Windows) export BOOL SetConsoleCP( 591 - UINT wCodePageID 592 - ); 593 - 594 -extern(Windows) export UINT GetConsoleOutputCP(); 595 - 596 -extern(Windows) export BOOL SetConsoleOutputCP( 597 - UINT wCodePageID 598 - ); 599 - 600 -// #if(_WIN32_WINNT >= 0x0500) 601 - 602 -enum : uint { CONSOLE_FULLSCREEN = 1 } 603 -enum : uint { CONSOLE_FULLSCREEN_HARDWARE = 2 } 604 - 605 -extern(Windows) export BOOL GetConsoleDisplayMode( 606 - LPDWORD lpModeFlags 607 - ); 608 - 609 -extern(Windows) export HWND GetConsoleWindow(); 610 - 611 -// #endif /* _WIN32_WINNT >= 0x0500 */ 612 - 613 -// #if(_WIN32_WINNT >= 0x0501) 614 - 615 -extern(Windows) export DWORD GetConsoleProcessList( 616 - LPDWORD lpdwProcessList, 617 - DWORD dwProcessCount); 618 -// #endif /* _WIN32_WINNT >= 0x0501 */ 619 - 620 -// #ifdef __cplusplus 621 -// } 622 -// #endif 623 - 624 -// #endif // _WINCON_ 625 - 249 +version (Unicode) { 250 + alias FillConsoleOutputCharacterW FillConsoleOutputCharacter; 251 + alias GetConsoleTitleW GetConsoleTitle; 252 + alias PeekConsoleInputW PeekConsoleInput; 253 + alias ReadConsoleW ReadConsole; 254 + alias ReadConsoleInputW ReadConsoleInput; 255 + alias ReadConsoleOutputW ReadConsoleOutput; 256 + alias ReadConsoleOutputCharacterW ReadConsoleOutputCharacter; 257 + alias ScrollConsoleScreenBufferW ScrollConsoleScreenBuffer; 258 + alias SetConsoleTitleW SetConsoleTitle; 259 + alias WriteConsoleW WriteConsole; 260 + alias WriteConsoleInputW WriteConsoleInput; 261 + alias WriteConsoleOutputW WriteConsoleOutput; 262 + alias WriteConsoleOutputCharacterW WriteConsoleOutputCharacter; 263 +} else { 264 + alias FillConsoleOutputCharacterA FillConsoleOutputCharacter; 265 + alias GetConsoleTitleA GetConsoleTitle; 266 + alias PeekConsoleInputA PeekConsoleInput; 267 + alias ReadConsoleA ReadConsole; 268 + alias ReadConsoleInputA ReadConsoleInput; 269 + alias ReadConsoleOutputA ReadConsoleOutput; 270 + alias ReadConsoleOutputCharacterA ReadConsoleOutputCharacter; 271 + alias ScrollConsoleScreenBufferA ScrollConsoleScreenBuffer; 272 + alias SetConsoleTitleA SetConsoleTitle; 273 + alias WriteConsoleA WriteConsole; 274 + alias WriteConsoleInputA WriteConsoleInput; 275 + alias WriteConsoleOutputA WriteConsoleOutput; 276 + alias WriteConsoleOutputCharacterA WriteConsoleOutputCharacter; 277 +}

Added src/win32/wincrypt.d version [01dc6f0e64f6c54b]

1 +/***********************************************************************\ 2 +* wincrypt.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.wincrypt; 12 + 13 +private import win32.w32api, win32.winbase, win32.windef; 14 + 15 +/* FIXME: 16 + * Types of some constants 17 + * Types of macros 18 + * Inits of various "size" and "version" members 19 + * Why are some #ifdefs commented out? 20 + */ 21 + 22 +const TCHAR[] 23 + MS_DEF_PROV = "Microsoft Base Cryptographic Provider v1.0", 24 + MS_ENHANCED_PROV = "Microsoft Enhanced Cryptographic Provider v1.0", 25 + MS_STRONG_PROV = "Microsoft Strong Cryptographic Provider", 26 + MS_DEF_RSA_SIG_PROV = "Microsoft RSA Signature Cryptographic Provider", 27 + MS_DEF_RSA_SCHANNEL_PROV = "Microsoft RSA SChannel Cryptographic Provider", 28 + MS_DEF_DSS_PROV = "Microsoft Base DSS Cryptographic Provider", 29 + MS_DEF_DSS_DH_PROV 30 + = "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider", 31 + MS_ENH_DSS_DH_PROV 32 + = "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider", 33 + MS_DEF_DH_SCHANNEL_PROV = "Microsoft DH SChannel Cryptographic Provider", 34 + MS_SCARD_PROV = "Microsoft Base Smart Card Crypto Provider"; 35 + 36 +static if (WINVER > 0x501) { 37 + const TCHAR[] MS_ENH_RSA_AES_PROV 38 + = "Microsoft Enhanced RSA and AES Cryptographic Provider"; 39 +} else static if (WINVER == 0x501) { 40 + const TCHAR[] MS_ENH_RSA_AES_PROV 41 + = "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"; 42 +} 43 + 44 +ALG_ID GET_ALG_CLASS(ALG_ID x) { return x & 0xE000; } 45 +ALG_ID GET_ALG_TYPE (ALG_ID x) { return x & 0x1E00; } 46 +ALG_ID GET_ALG_SID (ALG_ID x) { return x & 0x01FF; } 47 + 48 +enum : ALG_ID { 49 + ALG_CLASS_ANY = 0, 50 + ALG_CLASS_SIGNATURE = 0x2000, 51 + ALG_CLASS_MSG_ENCRYPT = 0x4000, 52 + ALG_CLASS_DATA_ENCRYPT = 0x6000, 53 + ALG_CLASS_HASH = 0x8000, 54 + ALG_CLASS_KEY_EXCHANGE = 0xA000, 55 + ALG_CLASS_ALL = 0xE000 56 +} 57 + 58 +enum : ALG_ID { 59 + ALG_TYPE_ANY = 0, 60 + ALG_TYPE_DSS = 0x0200, 61 + ALG_TYPE_RSA = 0x0400, 62 + ALG_TYPE_BLOCK = 0x0600, 63 + ALG_TYPE_STREAM = 0x0800, 64 + ALG_TYPE_DH = 0x0A00, 65 + ALG_TYPE_SECURECHANNEL = 0x0C00 66 +} 67 + 68 +enum : ALG_ID { 69 + ALG_SID_ANY = 0, 70 + ALG_SID_RSA_ANY = 0, 71 + ALG_SID_RSA_PKCS, 72 + ALG_SID_RSA_MSATWORK, 73 + ALG_SID_RSA_ENTRUST, 74 + ALG_SID_RSA_PGP, // = 4 75 + ALG_SID_DSS_ANY = 0, 76 + ALG_SID_DSS_PKCS, 77 + ALG_SID_DSS_DMS, // = 2 78 + ALG_SID_DES = 1, 79 + ALG_SID_3DES = 3, 80 + ALG_SID_DESX, 81 + ALG_SID_IDEA, 82 + ALG_SID_CAST, 83 + ALG_SID_SAFERSK64, 84 + ALG_SID_SAFERSK128, 85 + ALG_SID_3DES_112, 86 + ALG_SID_SKIPJACK, 87 + ALG_SID_TEK, 88 + ALG_SID_CYLINK_MEK, 89 + ALG_SID_RC5, // = 13 90 + ALG_SID_RC2 = 2, 91 + ALG_SID_RC4 = 1, 92 + ALG_SID_SEAL = 2, 93 + ALG_SID_MD2 = 1, 94 + ALG_SID_MD4, 95 + ALG_SID_MD5, 96 + ALG_SID_SHA, 97 + ALG_SID_MAC, 98 + ALG_SID_RIPEMD, 99 + ALG_SID_RIPEMD160, 100 + ALG_SID_SSL3SHAMD5, 101 + ALG_SID_HMAC, 102 + ALG_SID_TLS1PRF, // = 10 103 + ALG_SID_AES_128 = 14, 104 + ALG_SID_AES_192, 105 + ALG_SID_AES_256, 106 + ALG_SID_AES, // = 17 107 + ALG_SID_EXAMPLE = 80 108 +} 109 + 110 +enum : ALG_ID { 111 + CALG_MD2 = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD2, 112 + CALG_MD4 = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4, 113 + CALG_MD5 = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5, 114 + CALG_SHA = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA, 115 + CALG_SHA1 = CALG_SHA, 116 + CALG_MAC = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC, 117 + CALG_3DES = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 3, 118 + CALG_CYLINK_MEK = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 12, 119 + CALG_SKIPJACK = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 10, 120 + CALG_KEA_KEYX = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_STREAM | ALG_TYPE_DSS | 4, 121 + CALG_RSA_SIGN = ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY, 122 + CALG_DSS_SIGN = ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_DSS_ANY, 123 + CALG_RSA_KEYX = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_RSA | ALG_SID_RSA_ANY, 124 + CALG_DES = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DES, 125 + CALG_RC2 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_RC2, 126 + CALG_RC4 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_RC4, 127 + CALG_SEAL = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_STREAM | ALG_SID_SEAL, 128 + CALG_DH_EPHEM = ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_STREAM | ALG_TYPE_DSS 129 + | ALG_SID_DSS_DMS, 130 + CALG_DESX = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_DESX, 131 +// is undefined ALG_CLASS_DHASH in MinGW - presuming typo 132 + CALG_TLS1PRF = ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF, 133 + CALG_AES_128 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_128, 134 + CALG_AES_192 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_192, 135 + CALG_AES_256 = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES_256, 136 + CALG_AES = ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | ALG_SID_AES, 137 +} 138 + 139 +/+ 140 +#define CRYPT_VERIFYCONTEXT 0xF0000000 141 +#define CRYPT_NEWKEYSET 8 142 +#define CRYPT_DELETEKEYSET 16 143 +#define CRYPT_MACHINE_KEYSET 32 144 +#define CRYPT_SILENT 64 145 +#define CRYPT_EXPORTABLE 1 146 +#define CRYPT_USER_PROTECTED 2 147 +#define CRYPT_CREATE_SALT 4 148 +#define CRYPT_UPDATE_KEY 8 149 +#define SIMPLEBLOB 1 150 +#define PUBLICKEYBLOB 6 151 +#define PRIVATEKEYBLOB 7 152 +#define PLAINTEXTKEYBLOB 8 153 +#define OPAQUEKEYBLOB 9 154 +#define PUBLICKEYBLOBEX 10 155 +#define SYMMETRICWRAPKEYBLOB 11 156 +#define AT_KEYEXCHANGE 1 157 +#define AT_SIGNATURE 2 158 +#define CRYPT_USERDATA 1 159 +#define PKCS5_PADDING 1 160 +#define CRYPT_MODE_CBC 1 161 +#define CRYPT_MODE_ECB 2 162 +#define CRYPT_MODE_OFB 3 163 +#define CRYPT_MODE_CFB 4 164 +#define CRYPT_MODE_CTS 5 165 +#define CRYPT_MODE_CBCI 6 166 +#define CRYPT_MODE_CFBP 7 167 +#define CRYPT_MODE_OFBP 8 168 +#define CRYPT_MODE_CBCOFM 9 169 +#define CRYPT_MODE_CBCOFMI 10 170 +#define CRYPT_ENCRYPT 1 171 +#define CRYPT_DECRYPT 2 172 +#define CRYPT_EXPORT 4 173 +#define CRYPT_READ 8 174 +#define CRYPT_WRITE 16 175 +#define CRYPT_MAC 32 176 +#define HP_ALGID 1 177 +#define HP_HASHVAL 2 178 +#define HP_HASHSIZE 4 179 +#define HP_HMAC_INFO 5 180 +#define CRYPT_FAILED FALSE 181 +#define CRYPT_SUCCEED TRUE 182 +#define RCRYPT_SUCCEEDED(r) ((r)==CRYPT_SUCCEED) 183 +#define RCRYPT_FAILED(r) ((r)==CRYPT_FAILED) 184 +#define PP_ENUMALGS 1 185 +#define PP_ENUMCONTAINERS 2 186 +#define PP_IMPTYPE 3 187 +#define PP_NAME 4 188 +#define PP_VERSION 5 189 +#define PP_CONTAINER 6 190 +#define PP_CHANGE_PASSWORD 7 191 +#define PP_KEYSET_SEC_DESCR 8 192 +#define PP_CERTCHAIN 9 193 +#define PP_KEY_TYPE_SUBTYPE 10 194 +#define PP_PROVTYPE 16 195 +#define PP_KEYSTORAGE 17 196 +#define PP_APPLI_CERT 18 197 +#define PP_SYM_KEYSIZE 19 198 +#define PP_SESSION_KEYSIZE 20 199 +#define PP_UI_PROMPT 21 200 +#define PP_ENUMALGS_EX 22 201 +#define PP_ENUMMANDROOTS 25 202 +#define PP_ENUMELECTROOTS 26 203 +#define PP_KEYSET_TYPE 27 204 +#define PP_ADMIN_PIN 31 205 +#define PP_KEYEXCHANGE_PIN 32 206 +#define PP_SIGNATURE_PIN 33 207 +#define PP_SIG_KEYSIZE_INC 34 208 +#define PP_KEYX_KEYSIZE_INC 35 209 +#define PP_UNIQUE_CONTAINER 36 210 +#define PP_SGC_INFO 37 211 +#define PP_USE_HARDWARE_RNG 38 212 +#define PP_KEYSPEC 39 213 +#define PP_ENUMEX_SIGNING_PROT 40 214 +#define CRYPT_FIRST 1 215 +#define CRYPT_NEXT 2 216 +#define CRYPT_IMPL_HARDWARE 1 217 +#define CRYPT_IMPL_SOFTWARE 2 218 +#define CRYPT_IMPL_MIXED 3 219 +#define CRYPT_IMPL_UNKNOWN 4 220 +#define PROV_RSA_FULL 1 221 +#define PROV_RSA_SIG 2 222 +#define PROV_DSS 3 223 +#define PROV_FORTEZZA 4 224 +#define PROV_MS_MAIL 5 225 +#define PROV_SSL 6 226 +#define PROV_STT_MER 7 227 +#define PROV_STT_ACQ 8 228 +#define PROV_STT_BRND 9 229 +#define PROV_STT_ROOT 10 230 +#define PROV_STT_ISS 11 231 +#define PROV_RSA_SCHANNEL 12 232 +#define PROV_DSS_DH 13 233 +#define PROV_EC_ECDSA_SIG 14 234 +#define PROV_EC_ECNRA_SIG 15 235 +#define PROV_EC_ECDSA_FULL 16 236 +#define PROV_EC_ECNRA_FULL 17 237 +#define PROV_DH_SCHANNEL 18 238 +#define PROV_SPYRUS_LYNKS 20 239 +#define PROV_RNG 21 240 +#define PROV_INTEL_SEC 22 241 +#define PROV_RSA_AES 24 242 +#define MAXUIDLEN 64 243 +#define CUR_BLOB_VERSION 2 244 +#define X509_ASN_ENCODING 1 245 +#define PKCS_7_ASN_ENCODING 65536 246 +#define CERT_V1 0 247 +#define CERT_V2 1 248 +#define CERT_V3 2 249 +#define CERT_E_CHAINING (-2146762486) 250 +#define CERT_E_CN_NO_MATCH (-2146762481) 251 +#define CERT_E_EXPIRED (-2146762495) 252 +#define CERT_E_PURPOSE (-2146762490) 253 +#define CERT_E_REVOCATION_FAILURE (-2146762482) 254 +#define CERT_E_REVOKED (-2146762484) 255 +#define CERT_E_ROLE (-2146762493) 256 +#define CERT_E_UNTRUSTEDROOT (-2146762487) 257 +#define CERT_E_UNTRUSTEDTESTROOT (-2146762483) 258 +#define CERT_E_VALIDITYPERIODNESTING (-2146762494) 259 +#define CERT_E_WRONG_USAGE (-2146762480) 260 +#define CERT_E_PATHLENCONST (-2146762492) 261 +#define CERT_E_CRITICAL (-2146762491) 262 +#define CERT_E_ISSUERCHAINING (-2146762489) 263 +#define CERT_E_MALFORMED (-2146762488) 264 +#define CRYPT_E_REVOCATION_OFFLINE (-2146885613) 265 +#define CRYPT_E_REVOKED (-2146885616) 266 +#define TRUST_E_BASIC_CONSTRAINTS (-2146869223) 267 +#define TRUST_E_CERT_SIGNATURE (-2146869244) 268 +#define TRUST_E_FAIL (-2146762485) 269 +#define CERT_TRUST_NO_ERROR 0 270 +#define CERT_TRUST_IS_NOT_TIME_VALID 1 271 +#define CERT_TRUST_IS_NOT_TIME_NESTED 2 272 +#define CERT_TRUST_IS_REVOKED 4 273 +#define CERT_TRUST_IS_NOT_SIGNATURE_VALID 8 274 +#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE 16 275 +#define CERT_TRUST_IS_UNTRUSTED_ROOT 32 276 +#define CERT_TRUST_REVOCATION_STATUS_UNKNOWN 64 277 +#define CERT_TRUST_IS_CYCLIC 128 278 +#define CERT_TRUST_IS_PARTIAL_CHAIN 65536 279 +#define CERT_TRUST_CTL_IS_NOT_TIME_VALID 131072 280 +#define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 262144 281 +#define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 524288 282 +#define CERT_TRUST_HAS_EXACT_MATCH_ISSUER 1 283 +#define CERT_TRUST_HAS_KEY_MATCH_ISSUER 2 284 +#define CERT_TRUST_HAS_NAME_MATCH_ISSUER 4 285 +#define CERT_TRUST_IS_SELF_SIGNED 8 286 +#define CERT_TRUST_IS_COMPLEX_CHAIN 65536 287 +#define CERT_CHAIN_POLICY_BASE ((LPCSTR) 1) 288 +#define CERT_CHAIN_POLICY_AUTHENTICODE ((LPCSTR) 2) 289 +#define CERT_CHAIN_POLICY_AUTHENTICODE_TS ((LPCSTR) 3) 290 +#define CERT_CHAIN_POLICY_SSL ((LPCSTR) 4) 291 +#define CERT_CHAIN_POLICY_BASIC_CONSTRAINTS ((LPCSTR) 5) 292 +#define CERT_CHAIN_POLICY_NT_AUTH ((LPCSTR) 6) 293 +#define USAGE_MATCH_TYPE_AND 0 294 +#define USAGE_MATCH_TYPE_OR 1 295 +#define CERT_SIMPLE_NAME_STR 1 296 +#define CERT_OID_NAME_STR 2 297 +#define CERT_X500_NAME_STR 3 298 +#define CERT_NAME_STR_SEMICOLON_FLAG 1073741824 299 +#define CERT_NAME_STR_CRLF_FLAG 134217728 300 +#define CERT_NAME_STR_NO_PLUS_FLAG 536870912 301 +#define CERT_NAME_STR_NO_QUOTING_FLAG 268435456 302 +#define CERT_NAME_STR_REVERSE_FLAG 33554432 303 +#define CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG 131072 304 +#define CERT_FIND_ANY 0 305 +#define CERT_FIND_CERT_ID 1048576 306 +#define CERT_FIND_CTL_USAGE 655360 307 +#define CERT_FIND_ENHKEY_USAGE 655360 308 +#define CERT_FIND_EXISTING 851968 309 +#define CERT_FIND_HASH 65536 310 +#define CERT_FIND_ISSUER_ATTR 196612 311 +#define CERT_FIND_ISSUER_NAME 131076 312 +#define CERT_FIND_ISSUER_OF 786432 313 +#define CERT_FIND_KEY_IDENTIFIER 983040 314 +#define CERT_FIND_KEY_SPEC 589824 315 +#define CERT_FIND_MD5_HASH 262144 316 +#define CERT_FIND_PROPERTY 327680 317 +#define CERT_FIND_PUBLIC_KEY 393216 318 +#define CERT_FIND_SHA1_HASH 65536 319 +#define CERT_FIND_SIGNATURE_HASH 917504 320 +#define CERT_FIND_SUBJECT_ATTR 196615 321 +#define CERT_FIND_SUBJECT_CERT 720896 322 +#define CERT_FIND_SUBJECT_NAME 131079 323 +#define CERT_FIND_SUBJECT_STR_A 458759 324 +#define CERT_FIND_SUBJECT_STR_W 524295 325 +#define CERT_FIND_ISSUER_STR_A 458756 326 +#define CERT_FIND_ISSUER_STR_W 524292 327 +#define CERT_FIND_OR_ENHKEY_USAGE_FLAG 16 328 +#define CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG 1 329 +#define CERT_FIND_NO_ENHKEY_USAGE_FLAG 8 330 +#define CERT_FIND_VALID_ENHKEY_USAGE_FLAG 32 331 +#define CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG 2 332 +#define CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 2 333 +#define CERT_UNICODE_IS_RDN_ATTRS_FLAG 1 334 +#define CERT_CHAIN_FIND_BY_ISSUER 1 335 +#define CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG 1 336 +#define CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG 2 337 +#define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG 32768 338 +#define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG 4 339 +#define CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG 8 340 +#define CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG 16384 341 +#define CERT_STORE_PROV_SYSTEM 10 342 +#define CERT_SYSTEM_STORE_LOCAL_MACHINE 131072 343 +#define szOID_PKIX_KP_SERVER_AUTH "4235600" 344 +#define szOID_SERVER_GATED_CRYPTO "4235658" 345 +#define szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1" 346 +#define szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2" 347 +#define CRYPT_NOHASHOID 0x00000001 348 +#define CRYPT_NO_SALT 0x10 349 +#define CRYPT_PREGEN 0x40 350 +#define CRYPT_RECIPIENT 0x10 351 +#define CRYPT_INITIATOR 0x40 352 +#define CRYPT_ONLINE 0x80 353 +#define CRYPT_SF 0x100 354 +#define CRYPT_CREATE_IV 0x200 355 +#define CRYPT_KEK 0x400 356 +#define CRYPT_DATA_KEY 0x800 357 +#define CRYPT_VOLATILE 0x1000 358 +#define CRYPT_SGCKEY 0x2000 359 +#define KP_IV 0x00000001 360 +#define KP_SALT 0x00000002 361 +#define KP_PADDING 0x00000003 362 +#define KP_MODE 0x00000004 363 +#define KP_MODE_BITS 0x00000005 364 +#define KP_PERMISSIONS 0x00000006 365 +#define KP_ALGID 0x00000007 366 +#define KP_BLOCKLEN 0x00000008 367 +#define KP_KEYLEN 0x00000009 368 +#define KP_SALT_EX 0x0000000a 369 +#define KP_P 0x0000000b 370 +#define KP_G 0x0000000c 371 +#define KP_Q 0x0000000d 372 +#define KP_X 0x0000000e 373 +#define KP_Y 0x0000000f 374 +#define KP_RA 0x00000010 375 +#define KP_RB 0x00000011 376 +#define KP_INFO 0x00000012 377 +#define KP_EFFECTIVE_KEYLEN 0x00000013 378 +#define KP_SCHANNEL_ALG 0x00000014 379 +#define KP_PUB_PARAMS 0x00000027 380 +#define CRYPT_FLAG_PCT1 0x0001 381 +#define CRYPT_FLAG_SSL2 0x0002 382 +#define CRYPT_FLAG_SSL3 0x0004 383 +#define CRYPT_FLAG_TLS1 0x0008 384 +#define CRYPT_FLAG_IPSEC 0x0010 385 +#define CRYPT_FLAG_SIGNING 0x0020 386 +#define SCHANNEL_MAC_KEY 0x00000000 387 +#define SCHANNEL_ENC_KEY 0x00000001 388 +#define INTERNATIONAL_USAGE 0x00000001 389 ++/ 390 + 391 +alias UINT ALG_ID; 392 +alias ULONG HCRYPTPROV, HCRYPTKEY, HCRYPTHASH; 393 +alias PVOID HCERTSTORE, HCRYPTMSG, HCERTCHAINENGINE; 394 + 395 +struct VTableProvStruc { 396 + FARPROC FuncVerifyImage; 397 +} 398 +alias VTableProvStruc* PVTableProvStruc; 399 + 400 +struct _CRYPTOAPI_BLOB { 401 + DWORD cbData; 402 + BYTE* pbData; 403 +} 404 +alias _CRYPTOAPI_BLOB CRYPT_INTEGER_BLOB, CRYPT_UINT_BLOB, 405 + CRYPT_OBJID_BLOB, CERT_NAME_BLOB, CERT_RDN_VALUE_BLOB, CERT_BLOB, 406 + CRL_BLOB, DATA_BLOB, CRYPT_DATA_BLOB, CRYPT_HASH_BLOB, 407 + CRYPT_DIGEST_BLOB, CRYPT_DER_BLOB, CRYPT_ATTR_BLOB; 408 +alias _CRYPTOAPI_BLOB* PCRYPT_INTEGER_BLOB, PCRYPT_UINT_BLOB, 409 + PCRYPT_OBJID_BLOB, PCERT_NAME_BLOB, PCERT_RDN_VALUE_BLOB, PCERT_BLOB, 410 + PCRL_BLOB, PDATA_BLOB, PCRYPT_DATA_BLOB, PCRYPT_HASH_BLOB, 411 + PCRYPT_DIGEST_BLOB, PCRYPT_DER_BLOB, PCRYPT_ATTR_BLOB; 412 + 413 +// not described in SDK; has the same layout as HTTPSPolicyCallbackData 414 +struct SSL_EXTRA_CERT_CHAIN_POLICY_PARA { 415 + DWORD cbStruct; 416 + DWORD dwAuthType; 417 + DWORD fdwChecks; 418 + LPWSTR pwszServerName; 419 +} 420 +alias SSL_EXTRA_CERT_CHAIN_POLICY_PARA HTTPSPolicyCallbackData; 421 +alias SSL_EXTRA_CERT_CHAIN_POLICY_PARA* PSSL_EXTRA_CERT_CHAIN_POLICY_PARA, 422 + PHTTPSPolicyCallbackData; 423 + 424 +/* #if (_WIN32_WINNT>=0x500) */ 425 +struct CERT_CHAIN_POLICY_PARA { 426 + DWORD cbSize = CERT_CHAIN_POLICY_PARA.sizeof; 427 + DWORD dwFlags; 428 + void* pvExtraPolicyPara; 429 +} 430 +alias CERT_CHAIN_POLICY_PARA* PCERT_CHAIN_POLICY_PARA; 431 + 432 +struct CERT_CHAIN_POLICY_STATUS { 433 + DWORD cbSize = CERT_CHAIN_POLICY_STATUS.sizeof; 434 + DWORD dwError; 435 + LONG lChainIndex; 436 + LONG lElementIndex; 437 + void* pvExtraPolicyStatus; 438 +} 439 +alias CERT_CHAIN_POLICY_STATUS* PCERT_CHAIN_POLICY_STATUS; 440 +/* #endif */ 441 + 442 +struct CRYPT_ALGORITHM_IDENTIFIER { 443 + LPSTR pszObjId; 444 + CRYPT_OBJID_BLOB Parameters; 445 +} 446 +alias CRYPT_ALGORITHM_IDENTIFIER* PCRYPT_ALGORITHM_IDENTIFIER; 447 + 448 +struct CRYPT_BIT_BLOB { 449 + DWORD cbData; 450 + BYTE* pbData; 451 + DWORD cUnusedBits; 452 +} 453 +alias CRYPT_BIT_BLOB* PCRYPT_BIT_BLOB; 454 + 455 +struct CERT_PUBLIC_KEY_INFO { 456 + CRYPT_ALGORITHM_IDENTIFIER Algorithm; 457 + CRYPT_BIT_BLOB PublicKey; 458 +} 459 +alias CERT_PUBLIC_KEY_INFO* PCERT_PUBLIC_KEY_INFO; 460 + 461 +struct CERT_EXTENSION { 462 + LPSTR pszObjId; 463 + BOOL fCritical; 464 + CRYPT_OBJID_BLOB Value; 465 +} 466 +alias CERT_EXTENSION* PCERT_EXTENSION; 467 + 468 +struct CERT_INFO { 469 + DWORD dwVersion; 470 + CRYPT_INTEGER_BLOB SerialNumber; 471 + CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm; 472 + CERT_NAME_BLOB Issuer; 473 + FILETIME NotBefore; 474 + FILETIME NotAfter; 475 + CERT_NAME_BLOB Subject; 476 + CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo; 477 + CRYPT_BIT_BLOB IssuerUniqueId; 478 + CRYPT_BIT_BLOB SubjectUniqueId; 479 + DWORD cExtension; 480 + PCERT_EXTENSION rgExtension; 481 +} 482 +alias CERT_INFO* PCERT_INFO; 483 + 484 +struct CERT_CONTEXT { 485 + DWORD dwCertEncodingType; 486 + BYTE* pbCertEncoded; 487 + DWORD cbCertEncoded; 488 + PCERT_INFO pCertInfo; 489 + HCERTSTORE hCertStore; 490 +} 491 +alias CERT_CONTEXT* PCERT_CONTEXT; 492 +alias CPtr!(CERT_CONTEXT) PCCERT_CONTEXT; 493 + 494 +struct CTL_USAGE { 495 + DWORD cUsageIdentifier; 496 + LPSTR* rgpszUsageIdentifier; 497 +} 498 +alias CTL_USAGE CERT_ENHKEY_USAGE; 499 +alias CTL_USAGE* PCTRL_USAGE, PCERT_ENHKEY_USAGE; 500 + 501 +struct CERT_USAGE_MATCH { 502 + DWORD dwType; 503 + CERT_ENHKEY_USAGE Usage; 504 +} 505 +alias CERT_USAGE_MATCH* PCERT_USAGE_MATCH; 506 +/* #if (_WIN32_WINNT>=0x500) */ 507 + 508 +struct CERT_CHAIN_PARA { 509 + DWORD cbSize = CERT_CHAIN_PARA.sizeof; 510 + CERT_USAGE_MATCH RequestedUsage; 511 +//#if CERT_CHAIN_PARA_HAS_EXTRA_FIELDS 512 + CERT_USAGE_MATCH RequestedIssuancePolicy; 513 + DWORD dwUrlRetrievalTimeout; 514 + BOOL fCheckRevocationFreshnessTime; 515 + DWORD dwRevocationFreshnessTime; 516 +//#endif 517 +} 518 +alias CERT_CHAIN_PARA* PCERT_CHAIN_PARA; 519 + 520 +extern (Windows) alias BOOL function(PCCERT_CONTEXT, void*) 521 + PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK; 522 + 523 +struct CERT_CHAIN_FIND_BY_ISSUER_PARA { 524 + DWORD cbSize = CERT_CHAIN_FIND_BY_ISSUER_PARA.sizeof; 525 + LPCSTR pszUsageIdentifier; 526 + DWORD dwKeySpec; 527 + DWORD dwAcquirePrivateKeyFlags; 528 + DWORD cIssuer; 529 + CERT_NAME_BLOB* rgIssuer; 530 + PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK pfnFIndCallback; 531 + void* pvFindArg; 532 + DWORD* pdwIssuerChainIndex; 533 + DWORD* pdwIssuerElementIndex; 534 +} 535 +alias CERT_CHAIN_FIND_BY_ISSUER_PARA* PCERT_CHAIN_FIND_BY_ISSUER_PARA; 536 +/* #endif */ 537 + 538 +struct CERT_TRUST_STATUS { 539 + DWORD dwErrorStatus; 540 + DWORD dwInfoStatus; 541 +} 542 +alias CERT_TRUST_STATUS* PCERT_TRUST_STATUS; 543 + 544 +struct CRL_ENTRY { 545 + CRYPT_INTEGER_BLOB SerialNumber; 546 + FILETIME RevocationDate; 547 + DWORD cExtension; 548 + PCERT_EXTENSION rgExtension; 549 +} 550 +alias CRL_ENTRY* PCRL_ENTRY; 551 + 552 +struct CRL_INFO { 553 + DWORD dwVersion; 554 + CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm; 555 + CERT_NAME_BLOB Issuer; 556 + FILETIME ThisUpdate; 557 + FILETIME NextUpdate; 558 + DWORD cCRLEntry; 559 + PCRL_ENTRY rgCRLEntry; 560 + DWORD cExtension; 561 + PCERT_EXTENSION rgExtension; 562 +} 563 +alias CRL_INFO* PCRL_INFO; 564 + 565 +struct CRL_CONTEXT { 566 + DWORD dwCertEncodingType; 567 + BYTE* pbCrlEncoded; 568 + DWORD cbCrlEncoded; 569 + PCRL_INFO pCrlInfo; 570 + HCERTSTORE hCertStore; 571 +} 572 +alias CRL_CONTEXT* PCRL_CONTEXT; 573 +alias CPtr!(CRL_CONTEXT) PCCRL_CONTEXT; 574 + 575 +struct CERT_REVOCATION_CRL_INFO { 576 + DWORD cbSize = CERT_REVOCATION_CRL_INFO.sizeof; 577 + PCCRL_CONTEXT pBaseCRLContext; 578 + PCCRL_CONTEXT pDeltaCRLContext; 579 + PCRL_ENTRY pCrlEntry; 580 + BOOL fDeltaCrlEntry; 581 +} 582 +alias CERT_REVOCATION_CRL_INFO* PCERT_REVOCATION_CRL_INFO; 583 + 584 +struct CERT_REVOCATION_INFO { 585 + DWORD cbSize = CERT_REVOCATION_INFO.sizeof; 586 + DWORD dwRevocationResult; 587 + LPCSTR pszRevocationOid; 588 + LPVOID pvOidSpecificInfo; 589 + BOOL fHasFreshnessTime; 590 + DWORD dwFreshnessTime; 591 + PCERT_REVOCATION_CRL_INFO pCrlInfo; 592 +} 593 +alias CERT_REVOCATION_INFO* PCERT_REVOCATION_INFO; 594 + 595 +/* #if (_WIN32_WINNT>=0x500) */ 596 +struct CERT_CHAIN_ELEMENT { 597 + DWORD cbSize = CERT_CHAIN_ELEMENT.sizeof; 598 + PCCERT_CONTEXT pCertContext; 599 + CERT_TRUST_STATUS TrustStatus; 600 + PCERT_REVOCATION_INFO pRevocationInfo; 601 + PCERT_ENHKEY_USAGE pIssuanceUsage; 602 + PCERT_ENHKEY_USAGE pApplicationUsage; 603 +} 604 +alias CERT_CHAIN_ELEMENT* PCERT_CHAIN_ELEMENT; 605 +/* #endif */ 606 + 607 +struct CRYPT_ATTRIBUTE { 608 + LPSTR pszObjId; 609 + DWORD cValue; 610 + PCRYPT_ATTR_BLOB rgValue; 611 +} 612 +alias CRYPT_ATTRIBUTE* PCRYPT_ATTRIBUTE; 613 + 614 +struct CTL_ENTRY { 615 + CRYPT_DATA_BLOB SubjectIdentifier; 616 + DWORD cAttribute; 617 + PCRYPT_ATTRIBUTE rgAttribute; 618 +} 619 +alias CTL_ENTRY* PCTL_ENTRY; 620 + 621 +struct CTL_INFO { 622 + DWORD dwVersion; 623 + CTL_USAGE SubjectUsage; 624 + CRYPT_DATA_BLOB ListIdentifier; 625 + CRYPT_INTEGER_BLOB SequenceNumber; 626 + FILETIME ThisUpdate; 627 + FILETIME NextUpdate; 628 + CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm; 629 + DWORD cCTLEntry; 630 + PCTL_ENTRY rgCTLEntry; 631 + DWORD cExtension; 632 + PCERT_EXTENSION rgExtension; 633 +} 634 +alias CTL_INFO* PCTL_INFO; 635 + 636 +struct CTL_CONTEXT { 637 + DWORD dwMsgAndCertEncodingType; 638 + BYTE* pbCtlEncoded; 639 + DWORD cbCtlEncoded; 640 + PCTL_INFO pCtlInfo; 641 + HCERTSTORE hCertStore; 642 + HCRYPTMSG hCryptMsg; 643 + BYTE* pbCtlContent; 644 + DWORD cbCtlContent; 645 +} 646 +alias CTL_CONTEXT* PCTL_CONTEXT; 647 +alias CPtr!(CTL_CONTEXT) PCCTL_CONTEXT; 648 + 649 +struct CERT_TRUST_LIST_INFO { 650 + DWORD cbSize = CERT_TRUST_LIST_INFO.sizeof; 651 + PCTL_ENTRY pCtlEntry; 652 + PCCTL_CONTEXT pCtlContext; 653 +} 654 +alias CERT_TRUST_LIST_INFO* PCERT_TRUST_LIST_INFO; 655 + 656 +struct CERT_SIMPLE_CHAIN { 657 + DWORD cbSize = CERT_SIMPLE_CHAIN.sizeof; 658 + CERT_TRUST_STATUS TrustStatus; 659 + DWORD cElement; 660 + PCERT_CHAIN_ELEMENT* rgpElement; 661 + PCERT_TRUST_LIST_INFO pTrustListInfo; 662 + BOOL fHasRevocationFreshnessTime; 663 + DWORD dwRevocationFreshnessTime; 664 +} 665 +alias CERT_SIMPLE_CHAIN* PCERT_SIMPLE_CHAIN; 666 + 667 +/* #if (_WIN32_WINNT>=0x500) */ 668 +alias CPtr!(CERT_CHAIN_CONTEXT) PCCERT_CHAIN_CONTEXT; 669 +struct CERT_CHAIN_CONTEXT { 670 + DWORD cbSize = CERT_CHAIN_CONTEXT.sizeof; 671 + CERT_TRUST_STATUS TrustStatus; 672 + DWORD cChain; 673 + PCERT_SIMPLE_CHAIN* rgpChain; 674 + DWORD cLowerQualityChainContext; 675 + PCCERT_CHAIN_CONTEXT* rgpLowerQualityChainContext; 676 + BOOL fHasRevocationFreshnessTime; 677 + DWORD dwRevocationFreshnessTime; 678 +} 679 +alias CERT_CHAIN_CONTEXT* PCERT_CHAIN_CONTEXT; 680 +/* #endif */ 681 + 682 +struct PROV_ENUMALGS { 683 + ALG_ID aiAlgid; 684 + DWORD dwBitLen; 685 + DWORD dwNameLen; 686 + CHAR[20] szName; 687 +} 688 + 689 +struct PUBLICKEYSTRUC { 690 + BYTE bType; 691 + BYTE bVersion; 692 + WORD reserved; 693 + ALG_ID aiKeyAlg; 694 +} 695 +alias PUBLICKEYSTRUC BLOBHEADER; 696 + 697 +struct RSAPUBKEY { 698 + DWORD magic; 699 + DWORD bitlen; 700 + DWORD pubexp; 701 +} 702 + 703 +struct HMAC_INFO { 704 + ALG_ID HashAlgid; 705 + BYTE* pbInnerString; 706 + DWORD cbInnerString; 707 + BYTE* pbOuterString; 708 + DWORD cbOuterString; 709 +} 710 +alias HMAC_INFO* PHMAC_INFO; 711 + 712 +extern (Windows) { 713 + BOOL CertCloseStore(HCERTSTORE, DWORD); 714 + BOOL CertGetCertificateChain(HCERTCHAINENGINE, PCCERT_CONTEXT, LPFILETIME, 715 + HCERTSTORE, PCERT_CHAIN_PARA, DWORD, LPVOID, PCCERT_CHAIN_CONTEXT*); 716 + BOOL CertVerifyCertificateChainPolicy(LPCSTR, PCCERT_CHAIN_CONTEXT, 717 + PCERT_CHAIN_POLICY_PARA, PCERT_CHAIN_POLICY_STATUS); 718 + void CertFreeCertificateChain(PCCERT_CHAIN_CONTEXT); 719 + DWORD CertNameToStrA(DWORD, PCERT_NAME_BLOB, DWORD, LPSTR, DWORD); 720 + DWORD CertNameToStrW(DWORD, PCERT_NAME_BLOB, DWORD, LPWSTR, DWORD); 721 + HCERTSTORE CertOpenSystemStoreA(HCRYPTPROV, LPCSTR); 722 + HCERTSTORE CertOpenSystemStoreW(HCRYPTPROV, LPCWSTR); 723 + HCERTSTORE CertOpenStore(LPCSTR, DWORD, HCRYPTPROV, DWORD, CPtr!(void)); 724 + PCCERT_CONTEXT CertFindCertificateInStore(HCERTSTORE, DWORD, DWORD, DWORD, 725 + CPtr!(void), PCCERT_CONTEXT); 726 + BOOL CertFreeCertificateContext(PCCERT_CONTEXT); 727 + PCCERT_CONTEXT CertGetIssuerCertificateFromStore(HCERTSTORE, 728 + PCCERT_CONTEXT, PCCERT_CONTEXT, DWORD*); 729 + PCCERT_CHAIN_CONTEXT CertFindChainInStore(HCERTSTORE, DWORD, DWORD, DWORD, 730 + CPtr!(void), PCCERT_CHAIN_CONTEXT); 731 + 732 + BOOL CryptAcquireContextA(HCRYPTPROV*, LPCSTR, LPCSTR, DWORD, DWORD); 733 + BOOL CryptAcquireContextW(HCRYPTPROV*, LPCWSTR, LPCWSTR, DWORD, DWORD); 734 + BOOL CryptContextAddRef(HCRYPTPROV, DWORD*, DWORD); 735 + BOOL CryptReleaseContext(HCRYPTPROV, DWORD); 736 + BOOL CryptGenKey(HCRYPTPROV, ALG_ID, DWORD, HCRYPTKEY*); 737 + BOOL CryptDeriveKey(HCRYPTPROV, ALG_ID, HCRYPTHASH, DWORD, HCRYPTKEY*); 738 + BOOL CryptDestroyKey(HCRYPTKEY); 739 + static if (WINVER >= 0x0500) { 740 + BOOL CryptDuplicateHash(HCRYPTHASH, DWORD*, DWORD, HCRYPTHASH*); 741 + BOOL CryptDuplicateKey(HCRYPTKEY, DWORD*, DWORD, HCRYPTKEY*); 742 + } 743 + BOOL CryptSetKeyParam(HCRYPTKEY, DWORD, PBYTE, DWORD); 744 + BOOL CryptGetKeyParam(HCRYPTKEY, DWORD, PBYTE, PDWORD, DWORD); 745 + BOOL CryptSetHashParam(HCRYPTHASH, DWORD, PBYTE, DWORD); 746 + BOOL CryptGetHashParam(HCRYPTHASH, DWORD, PBYTE, PDWORD, DWORD); 747 + BOOL CryptSetProvParam(HCRYPTPROV, DWORD, PBYTE, DWORD); 748 + BOOL CryptGetProvParam(HCRYPTPROV, DWORD, PBYTE, PDWORD, DWORD); 749 + BOOL CryptGenRandom(HCRYPTPROV, DWORD, PBYTE); 750 + BOOL CryptGetUserKey(HCRYPTPROV, DWORD, HCRYPTKEY*); 751 + BOOL CryptExportKey(HCRYPTKEY, HCRYPTKEY, DWORD, DWORD, PBYTE, PDWORD); 752 + BOOL CryptImportKey(HCRYPTPROV, PBYTE, DWORD, HCRYPTKEY, DWORD, 753 + HCRYPTKEY*); 754 + BOOL CryptEncrypt(HCRYPTKEY, HCRYPTHASH, BOOL, DWORD, PBYTE, PDWORD, 755 + DWORD); 756 + BOOL CryptDecrypt(HCRYPTKEY, HCRYPTHASH, BOOL, DWORD, PBYTE, PDWORD); 757 + BOOL CryptCreateHash(HCRYPTPROV, ALG_ID, HCRYPTKEY, DWORD, HCRYPTHASH*); 758 + BOOL CryptHashData(HCRYPTHASH, PBYTE, DWORD, DWORD); 759 + BOOL CryptHashSessionKey(HCRYPTHASH, HCRYPTKEY, DWORD); 760 + BOOL CryptGetHashValue(HCRYPTHASH, DWORD, PBYTE, PDWORD); 761 + BOOL CryptDestroyHash(HCRYPTHASH); 762 + BOOL CryptSignHashA(HCRYPTHASH, DWORD, LPCSTR, DWORD, PBYTE, PDWORD); 763 + BOOL CryptSignHashW(HCRYPTHASH, DWORD, LPCWSTR, DWORD, PBYTE, PDWORD); 764 + BOOL CryptVerifySignatureA(HCRYPTHASH, PBYTE, DWORD, HCRYPTKEY, LPCSTR, 765 + DWORD); 766 + BOOL CryptVerifySignatureW(HCRYPTHASH, PBYTE, DWORD, HCRYPTKEY, LPCWSTR, 767 + DWORD); 768 + BOOL CryptSetProviderA(LPCSTR, DWORD); 769 + BOOL CryptSetProviderW(LPCWSTR, DWORD); 770 +} 771 + 772 +version (Unicode) { 773 + alias CertNameToStrW CertNameToStr; 774 + alias CryptAcquireContextW CryptAcquireContext; 775 + alias CryptSignHashW CryptSignHash; 776 + alias CryptVerifySignatureW CryptVerifySignature; 777 + alias CryptSetProviderW CryptSetProvider; 778 + alias CertOpenSystemStoreW CertOpenSystemStore; 779 + /+alias CERT_FIND_SUBJECT_STR_W CERT_FIND_SUBJECT_STR; 780 + alias CERT_FIND_ISSUER_STR_W CERT_FIND_ISSUER_STR;+/ 781 +} else { 782 + alias CertNameToStrA CertNameToStr; 783 + alias CryptAcquireContextA CryptAcquireContext; 784 + alias CryptSignHashA CryptSignHash; 785 + alias CryptVerifySignatureA CryptVerifySignature; 786 + alias CryptSetProviderA CryptSetProvider; 787 + alias CertOpenSystemStoreA CertOpenSystemStore; 788 + /+alias CERT_FIND_SUBJECT_STR_A CERT_FIND_SUBJECT_STR; 789 + alias CERT_FIND_ISSUER_STR_A CERT_FIND_ISSUER_STR;+/ 790 +}

Modified src/win32/windef.d from [ea907e90fcf49ce3] to [d85b79a6d3b758cc].

1 + 2 +/***********************************************************************\ 3 +* windef.d * 4 +* * 5 +* Windows API header module * 6 +* * 7 +* Translated from MinGW Windows headers * 8 +* by Stewart Gordon * 9 +* * 10 +* Placed into public domain * 11 +\***********************************************************************/ 1 12 module win32.windef; 2 13 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 14 +public import win32.winnt; 15 +private import win32.w32api; 16 + 17 +const size_t MAX_PATH = 260; 18 + 19 +ushort MAKEWORD(ubyte a, ubyte b) 20 +{ 21 + return cast(ushort) ((b << 8) | a); 22 +} 23 + 24 + 25 +uint MAKELONG(ushort a, ushort b) 26 +{ 27 + return cast(uint) ((b << 16) | a); 28 +} 29 + 30 + 31 +ushort LOWORD(uint l) 32 +{ 33 + return cast(ushort) l; 34 +} 35 + 36 + 37 +ushort HIWORD(uint l) 38 +{ 39 + return cast(ushort) (l >>> 16); 40 +} 41 + 42 + 43 +ubyte LOBYTE(ushort w) 44 +{ 45 + return cast(ubyte) w; 46 +} 47 + 48 + 49 +ubyte HIBYTE(ushort w) 50 +{ 51 + return cast(ubyte) (w >>> 8); 52 +} 53 + 54 + 55 +/+ template max(T) { 56 + T max(T a, T b) 57 + { 58 + return a > b ? a : b; 59 + } 60 +} 61 + 62 +template min(T) { 63 + T min(T a, T b) 64 + { 65 + return a < b ? a : b; 66 + } 67 +} +/ 68 + 69 +enum NULL = null; 70 +//~ alias null NULL; 71 +//~ const void *NULL = null; 72 +alias ubyte BYTE; 73 +alias ubyte *PBYTE, LPBYTE; 74 +alias ushort USHORT, WORD, ATOM; 75 +alias ushort*PUSHORT, PWORD, LPWORD; 76 +alias uint ULONG, DWORD, UINT, COLORREF; 77 +alias uint *PULONG, PDWORD, LPDWORD, PUINT, LPUINT; 78 +alias int WINBOOL, BOOL, INT, LONG, HFILE, HRESULT; 79 +alias int*PWINBOOL, LPWINBOOL, PBOOL, LPBOOL, PINT, LPINT, LPLONG; 80 +alias float FLOAT; 81 +alias float*PFLOAT; 82 +alias CPtr!(void) PCVOID, LPCVOID; 83 + 84 +alias UINT_PTR WPARAM; 85 +alias LONG_PTR LPARAM, LRESULT; 86 + 87 +alias HANDLE HGLOBAL, HLOCAL, GLOBALHANDLE, LOCALHANDLE, HGDIOBJ, HACCEL, 88 + HBITMAP, HBRUSH, HCOLORSPACE, HDC, HGLRC, HDESK, HENHMETAFILE, HFONT, 89 + HICON, HINSTANCE, HKEY, HMENU, HMETAFILE, HMODULE, HMONITOR, HPALETTE, HPEN, 90 + HRGN, HRSRC, HSTR, HTASK, HWND, HWINSTA, HKL, HCURSOR; 91 +alias HANDLE*PHKEY; 92 + 93 +static 94 + 95 +if (WINVER >= 0x500) 96 +{ 97 + alias HANDLE HTERMINAL, HWINEVENTHOOK; 98 +} 5 99 6 -alias void* va_list; 7 -alias long __int64; 8 -alias ulong DWORD64; 9 -alias uint SIZE_T; 10 -alias SIZE_T* PSIZE_T; 11 -alias int INT_PTR; 12 -alias uint UINT_PTR; 13 -alias uint LONG_PTR; 14 -alias uint ULONG_PTR; 15 -alias uint DWORD_PTR; 16 -alias DWORD_PTR* PDWORD_PTR; 17 -alias UINT_PTR* PUINT_PTR; 18 -alias ULONG_PTR* PULONG_PTR; 19 -enum : UINT { UINT_MAX = UINT.max } 100 +alias extern (Windows) int function() FARPROC, NEARPROC, PROC; 20 101 21 -// #ifndef _WINDEF_ 22 -// #define _WINDEF_ 23 - 24 -// #ifndef NO_STRICT 25 -// #ifndef STRICT 26 -// #... 27 -// #endif 28 -// #endif /* NO_STRICT */ 102 +struct RECT 103 +{ 104 + LONG left; 105 + LONG top; 106 + LONG right; 107 + LONG bottom; 108 +} 109 +alias RECT RECTL; 110 +alias RECT*PRECT, LPRECT, PRECTL, LPRECTL; 111 +alias CPtr!(RECT) LPCRECT, LPCRECTL; 29 112 30 -// #ifdef _MAC 31 -// #ifndef _WIN32 32 -// #... 33 -// #endif 34 -// #endif //_MAC 35 - 36 -// #ifdef __cplusplus 37 -// extern "C" { 38 -// #endif 39 - 40 -// #ifndef WINVER 41 -// #... 42 -// #endif /* WINVER */ 43 - 44 -// #ifndef BASETYPES 45 -// #define BASETYPES 46 -alias uint ULONG; 47 -alias ULONG* PULONG; 48 -alias ushort USHORT; 49 -alias USHORT* PUSHORT; 50 -alias ubyte UCHAR; 51 -alias UCHAR* PUCHAR; 52 -alias char* PSZ; 53 -// #endif /* !BASETYPES */ 113 +struct POINT 114 +{ 115 + LONG x; 116 + LONG y; 117 + alias x e1; 118 + alias y e2; 119 +} 120 +alias POINT POINTL; 121 +alias POINT*PPOINT, LPPOINT, PPOINTL, LPPOINTL; 54 122 55 -enum : uint { MAX_PATH = 260 } 56 - 57 -// #ifndef NULL 58 -// #ifdef __cplusplus 59 -const void* NULL = null; 60 -// #else 61 -// #... 62 -// #endif 63 -// #endif 64 - 65 -// #ifndef FALSE 66 -enum : uint { FALSE = 0 } 67 -// #endif 68 - 69 -// #ifndef TRUE 70 -enum : uint { TRUE = 1 } 71 -// #endif 72 - 73 -// #ifndef IN 74 -// #define IN 75 -// #endif 76 - 77 -// #ifndef OUT 78 -// #define OUT 79 -// #endif 123 +struct SIZE 124 +{ 125 + LONG cx; 126 + LONG cy; 127 +} 128 +alias SIZE SIZEL; 129 +alias SIZE*PSIZE, LPSIZE, PSIZEL, LPSIZEL; 80 130 81 -// #ifndef OPTIONAL 82 -// #define OPTIONAL 83 -// #endif 84 - 85 -// #undef far 86 -// #undef near 87 -// #undef pascal 88 - 89 -// #define far 90 -// #define near 91 -// #if (!defined(_MAC)) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)) 92 -// #define pascal __stdcall 93 -// #else 94 -// #... 95 -// #endif 96 - 97 -// #if defined(DOSWIN32) || defined(_MAC) 98 -// #... 99 -// #ifndef CDECL 100 -// #... 101 -// #endif 102 -// #else 103 -// #define cdecl 104 -// #ifndef CDECL 105 -// #define CDECL 106 -// #endif 107 -// #endif 108 - 109 -// #ifdef _MAC 110 -// #... 111 -// #... 112 -// #... 113 -// #... 114 -// #... 115 -// #ifdef _68K_ 116 -// #... 117 -// #else 118 -// #... 119 -// #endif 120 -// #elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) 121 -// #define CALLBACK __stdcall 122 -// #define WINAPI __stdcall 123 -// #define WINAPIV __cdecl 124 -// #define APIENTRY WINAPI 125 -// #define APIPRIVATE __stdcall 126 -// #define PASCAL __stdcall 127 -// #else 128 -// #... 129 -// #... 130 -// #... 131 -// #... 132 -// #... 133 -// #... 134 -// #endif 135 - 136 -// #undef FAR 137 -// #undef NEAR 138 -// #define FAR far 139 -// #define NEAR near 140 -// #ifndef CONST 141 -// #define CONST const 142 -// #endif 131 +struct POINTS 132 +{ 133 + SHORT x; 134 + SHORT y; 135 +} 136 +alias POINTS*PPOINTS, LPPOINTS; 143 137 144 -alias uint DWORD; 145 -alias int BOOL; 146 -alias ubyte BYTE; 147 -alias ushort WORD; 148 -alias float FLOAT; 149 -alias FLOAT* PFLOAT; 150 -alias BOOL* PBOOL; 151 -alias BOOL* LPBOOL; 152 -alias BYTE* PBYTE; 153 -alias BYTE* LPBYTE; 154 -alias int* PINT; 155 -alias int* LPINT; 156 -alias WORD* PWORD; 157 -alias WORD* LPWORD; 158 -alias int* LPLONG; 159 -alias DWORD* PDWORD; 160 -alias DWORD* LPDWORD; 161 -alias void* LPVOID; 162 -alias void* LPCVOID; 163 - 164 -alias int INT; 165 -alias uint UINT; 166 -alias uint* PUINT; 167 - 168 -// #ifndef NT_INCLUDED 169 -import win32.winnt; 170 -// #endif /* NT_INCLUDED */ 171 - 172 -alias UINT_PTR WPARAM; 173 -alias LONG_PTR LPARAM; 174 -alias LONG_PTR LRESULT; 175 - 176 -// #ifndef NOMINMAX 177 - 178 -// #ifndef max 179 -int max(int a, int b){ return (a > b)? a : b; } 180 -uint max(uint a, uint b){ return (a > b)? a : b; } 181 -real max(real a, real b){ return (a > b)? a : b; } 182 -// #endif 183 - 184 -// #ifndef min 185 -int min(int a, int b){ return (a < b)? a : b; } 186 -uint min(uint a, uint b){ return (a < b)? a : b; } 187 -real min(real a, real b){ return (a < b)? a : b; } 188 -// #endif 189 - 190 -// #endif /* NOMINMAX */ 191 - 192 -ushort MAKEWORD(byte a, byte b){ return (a & 0xff) | ((b & 0xff) << 8); } 193 -uint MAKELONG(ushort a, ushort b){ return (a & 0xffff) | ((b & 0xffff) << 16); } 194 -ushort LOWORD(uint l){ return l & 0xffff; } 195 -ushort HIWORD(uint l){ return l >>> 16; } 196 -ubyte LOBYTE(ushort l){ return l & 0xff; } 197 -ubyte HIBYTE(ushort l){ return l >>> 8; } 198 - 199 -// #ifndef WIN_INTERNAL 200 -alias void* HWND; 201 -alias void* HHOOK; 202 -// #ifdef WINABLE 203 -// ... 204 -// #endif 205 -// #endif 206 - 207 -alias WORD ATOM; 208 - 209 -alias HANDLE* SPHANDLE; 210 -alias HANDLE* LPHANDLE; 211 -alias HANDLE HGLOBAL; 212 -alias HANDLE HLOCAL; 213 -alias HANDLE GLOBALHANDLE; 214 -alias HANDLE LOCALHANDLE; 215 -// #ifndef _MAC 216 -// #ifdef _WIN64 217 -// ... 218 -// #else 219 -extern(Windows) alias int function() FARPROC; 220 -extern(Windows) alias int function() NEARPROC; 221 -extern(Windows) alias int function() PROC; 222 -// #endif // _WIN64 223 -// #else 224 -// ... 225 -// #endif 226 - 227 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 228 -// #ifdef STRICT 229 -alias void* HGDIOBJ; 230 -// #else 231 -// ... 232 -// #endif 233 -// #endif 234 - 235 -alias void* HKEY; 236 -alias HKEY* PHKEY; 237 - 238 -// #if !defined(_MAC) || !defined(WIN_INTERNAL) 239 -alias void* HACCEL; 240 -// #endif 241 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 242 -alias void* HBITMAP; 243 -alias void* HBRUSH; 244 -// #endif 245 -// #if(WINVER >= 0x0400) 246 -alias void* HCOLORSPACE; 247 -// #endif /* WINVER >= 0x0400 */ 248 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 249 -alias void* HDC; 250 -// #endif 251 -alias void* HGLRC; 252 -alias void* HDESK; 253 -alias void* HENHMETAFILE; 254 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 255 -alias void* HFONT; 256 -// #endif 257 -alias void* HICON; 258 -// #if !defined(_MAC) || !defined(WIN_INTERNAL) 259 -alias void* HMENU; 260 -// #endif 261 -alias void* HMETAFILE; 262 -alias void* HINSTANCE; 263 -alias HINSTANCE HMODULE; 264 -// #if !defined(_MAC) || !defined(GDI_INTERNAL) 265 -alias void* HPALETTE; 266 -alias void* HPEN; 267 -// #endif 268 -alias void* HRGN; 269 -alias void* HRSRC; 270 -alias void* HSTR; 271 -alias void* HTASK; 272 -alias void* HWINSTA; 273 -alias void* HKL; 274 - 275 -// #if(WINVER >= 0x0500) 276 -// #ifndef _MAC 277 -alias void* HMONITOR; 278 -alias void* HWINEVENTHOOK; 279 -// #endif 280 -alias void* HUMPD; 281 -// #endif /* WINVER >= 0x0500 */ 282 - 283 -// #ifndef _MAC 284 -alias int HFILE; 285 -alias HICON HCURSOR; 286 -// #else 287 -// ... 288 -// #endif 289 - 290 -alias DWORD COLORREF; 291 -alias DWORD* LPCOLORREF; 292 - 293 -const HFILE HFILE_ERROR = -1; 294 - 295 -struct tagRECT { 296 - LONG left; 297 - LONG top; 298 - LONG right; 299 - LONG bottom; 300 -} 301 -alias tagRECT RECT; 302 -alias tagRECT* PRECT; 303 -alias tagRECT* NPRECT; 304 -alias tagRECT* LPRECT; 305 - 306 -alias RECT* LPCRECT; 307 - 308 -struct _RECTL { 309 - LONG left; 310 - LONG top; 311 - LONG right; 312 - LONG bottom; 313 -} 314 -alias _RECTL RECTL; 315 -alias _RECTL* PRECTL; 316 -alias _RECTL* LPRECTL; 317 - 318 -alias RECTL* LPCRECTL; 319 - 320 -struct tagPOINT { 321 - LONG x; 322 - LONG y; 323 -} 324 -alias tagPOINT POINT; 325 -alias tagPOINT* PPOINT; 326 -alias tagPOINT* NPPOINT; 327 -alias tagPOINT* LPPOINT; 328 - 329 -struct _POINTL { 330 - LONG x; 331 - LONG y; 332 -} 333 -alias _POINTL POINTL; 334 -alias _POINTL* PPOINTL; 335 - 336 -struct tagSIZE { 337 - LONG cx; 338 - LONG cy; 339 -} 340 -alias tagSIZE SIZE; 341 -alias tagSIZE* PSIZE; 342 -alias tagSIZE* LPSIZE; 343 - 344 -alias SIZE SIZEL; 345 -alias SIZE* PSIZEL; 346 -alias SIZE* LPSIZEL; 347 - 348 -struct tagPOINTS { 349 -// #ifndef _MAC 350 - SHORT x; 351 - SHORT y; 352 -// #else 353 -// ... 354 -// #endif 355 -} 356 -alias tagPOINTS POINTS; 357 -alias tagPOINTS* PPOINTS; 358 -alias tagPOINTS* LPPOINTS; 359 - 360 -enum : uint { DM_UPDATE = 1 } 361 -enum : uint { DM_COPY = 2 } 362 -enum : uint { DM_PROMPT = 4 } 363 -enum : uint { DM_MODIFY = 8 } 364 - 365 -alias DM_MODIFY DM_IN_BUFFER; 366 -alias DM_PROMPT DM_IN_PROMPT; 367 -alias DM_COPY DM_OUT_BUFFER; 368 -alias DM_UPDATE DM_OUT_DEFAULT; 369 - 370 -enum : uint { DC_FIELDS = 1 } 371 -enum : uint { DC_PAPERS = 2 } 372 -enum : uint { DC_PAPERSIZE = 3 } 373 -enum : uint { DC_MINEXTENT = 4 } 374 -enum : uint { DC_MAXEXTENT = 5 } 375 -enum : uint { DC_BINS = 6 } 376 -enum : uint { DC_DUPLEX = 7 } 377 -enum : uint { DC_SIZE = 8 } 378 -enum : uint { DC_EXTRA = 9 } 379 -enum : uint { DC_VERSION = 10 } 380 -enum : uint { DC_DRIVER = 11 } 381 -enum : uint { DC_BINNAMES = 12 } 382 -enum : uint { DC_ENUMRESOLUTIONS = 13 } 383 -enum : uint { DC_FILEDEPENDENCIES = 14 } 384 -enum : uint { DC_TRUETYPE = 15 } 385 -enum : uint { DC_PAPERNAMES = 16 } 386 -enum : uint { DC_ORIENTATION = 17 } 387 -enum : uint { DC_COPIES = 18 } 388 - 389 -// #ifdef __cplusplus 390 -// } 391 -// #endif 392 - 393 -// #endif /* _WINDEF_ */ 394 - 138 +enum : BOOL { 139 + FALSE = 0, 140 + TRUE = 1 141 +}

Modified src/win32/windows.d from [df032703cbe98ced] to [886c2dae4f8ee53d].

1 +/***********************************************************************\ 2 +* windows.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.10 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.windows; 2 11 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 12 +/* 13 + windows.h - main header file for the Win32 API 14 + 15 + Written by Anders Norlander <anorland@hem2.passagen.se> 16 + 17 + This file is part of a free library for the Win32 API. 18 + 19 + This library is distributed in the hope that it will be useful, 20 + but WITHOUT ANY WARRANTY; without even the implied warranty of 21 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 22 + 23 +*/ 24 + 25 +public import win32.w32api; 26 +public import win32.core; 27 + 28 +// We can't use static if for imports, build gets confused. 29 +version (WindowsVista) { 30 + public import win32.winsvc; 31 +} else version (Windows2003) { 32 + public import win32.winsvc; 33 +} else version (WindowsXP) { 34 + public import win32.winsvc; 35 +} else version (WindowsNTonly) { 36 + public import win32.winsvc; 37 +} 38 + 39 +public import win32.cderr; 40 +public import win32.dde; 41 +public import win32.ddeml; 42 +public import win32.dlgs; 43 +public import win32.imm; 44 +public import win32.lzexpand; 45 +public import win32.mmsystem; 46 +public import win32.nb30; 5 47 6 48 7 -// #ifndef _WINDOWS_ 8 -// #define _WINDOWS_ 9 - 10 -// #ifndef WINVER 11 -// #... 12 -// #else 13 -// #if defined(_WIN32_WINNT) && (WINVER < 0x0400) && (_WIN32_WINNT > 0x0400) 14 -// #... 15 -// #endif 16 -// #endif 17 - 18 -// #ifndef _INC_WINDOWS 19 -// #define _INC_WINDOWS 20 49 21 -// #if defined (_MSC_VER) && (_MSC_VER >= 1020) 22 -// #pragma once 23 -// #endif 24 - 25 -// #if defined(RC_INVOKED) && !defined(NOWINRES) 26 - 27 -// #... 28 - 29 -// #else 30 - 31 -// #if defined(RC_INVOKED) 50 +public import win32.rpc; 51 +public import win32.shellapi; 52 +public import win32.winperf; 53 +public import win32.commdlg; 54 +public import win32.winspool; 55 +public import win32.ole2; 32 56 33 -// #... 34 -// #... 35 -// #... 36 -// #... 37 -// #... 38 -// #... 39 -// #... 40 -// #... 41 -// #... 42 -// #... 43 -// #... 44 -// #... 45 -// #... 46 -// #... 47 -// #... 48 -// #... 49 -// #... 50 -// #endif 51 - 52 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_IX86) 53 -// #... 54 -// #endif 55 - 56 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_AMD64) 57 -// #... 58 -// #endif 59 - 60 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_M68K) 61 -// #... 62 -// #endif 63 - 64 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) && defined(_M_MPPC) 65 -// #... 66 -// #endif 57 +// Select correct version of winsock. Importing the incorrect 58 +// module will cause a static assert to prevent problems later on. 59 +version (Win32_Winsock1) { 60 + public import win32.winsock; 61 +} else { 62 + public import win32.winsock2; 63 + public import win32.ws2tcpip; 64 +} 67 65 68 -// #if !defined(_68K_) && !defined(_MPPC_) && !defined(_X86_) && !defined(_M_IX86) && !defined(_AMD64_) && defined(_M_IA64) 69 -// #if !defined(_IA64_) 70 -// #... 71 -// #endif // !_IA64_ 72 -// #endif 73 - 74 -// #ifndef _MAC 75 -// #if defined(_68K_) || defined(_MPPC_) 76 -// #... 77 -// #endif 78 -// #endif 79 - 80 -// #if defined (_MSC_VER) 81 -// #if ( _MSC_VER >= 800 ) 82 -// #ifndef __cplusplus 83 -// #... 84 - 85 -// #endif 86 -// #endif 87 -// #endif 88 - 89 -// #ifndef RC_INVOKED 90 -// #if ( _MSC_VER >= 800 ) 91 -// #pragma warning(disable:4514) 92 -// #ifndef __WINDOWS_DONT_DISABLE_PRAGMA_PACK_WARNING__ 93 -// #pragma warning(disable:4103) 94 -// #endif 95 -// #if _MSC_VER >= 1200 96 -// #pragma warning(push) 97 -// #endif 98 -// #pragma warning(disable:4001) 99 -// #pragma warning(disable:4201) 100 -// #pragma warning(disable:4214) 101 -// #endif 102 -// #include <excpt.h> 103 -// #include <stdarg.h> 104 -// #endif /* RC_INVOKED */ 105 - 106 -import win32.windef; 107 -import win32.winbase; 108 -import win32.wingdi; 109 -import win32.winuser; 110 -// #if !defined(_MAC) || defined(_WIN32NLS) 111 -import win32.winnls; 112 -// #endif 113 -// #ifndef _MAC 114 -import win32.wincon; 115 -import win32.winver; 116 -// #endif 117 -// #if !defined(_MAC) || defined(_WIN32REG) 118 -import win32.winreg; 119 -// #endif 120 -// #ifndef _MAC 121 -// #include <winnetwk.h> 122 -// #endif 123 - 124 -// #ifndef WIN32_LEAN_AND_MEAN 125 -// #include <cderr.h> 126 -import win32.dde; 127 -import win32.ddeml; 128 -import win32.dlgs; 129 -// #ifndef _MAC 130 -// #include <lzexpand.h> 131 -import win32.mmsystem; 132 -// #include <nb30.h> 133 -// #include <rpc.h> 134 -// #endif 135 -import win32.shellapi; 136 -// #ifndef _MAC 137 -// #include <winperf.h> 138 -// #include <winsock.h> 139 -// #endif 140 -// #ifndef NOCRYPT 141 -// #... 142 -// #... 143 -// #... 144 -// #endif 145 - 146 -// #ifndef NOGDI 147 -// #ifndef _MAC 148 -import win32.winspool; 149 -// #ifdef INC_OLE1 150 -// #... 151 -// #else 152 -// #include <ole2.h> 153 -// #endif /* !INC_OLE1 */ 154 -// #endif /* !MAC */ 155 -import win32.commdlg; 156 -// #endif /* !NOGDI */ 157 -// #endif /* WIN32_LEAN_AND_MEAN */ 158 - 159 -// #include <stralign.h> 160 - 161 -// #ifdef _MAC 162 -// #... 163 -// #endif 164 - 165 -// #ifdef INC_OLE2 166 -// #... 167 -// #endif /* INC_OLE2 */ 168 - 169 -// #ifndef _MAC 170 -// #ifndef NOSERVICE 171 -// #... 172 -// #endif 173 - 174 -// #if(WINVER >= 0x0400) 175 -// #ifndef NOMCX 176 -// #... 177 -// #endif /* NOMCX */ 178 - 179 -// #ifndef NOIME 180 -import win32.imm; 181 -// #endif 182 -// #endif /* WINVER >= 0x0400 */ 183 -// #endif 184 - 185 -// #ifndef RC_INVOKED 186 -// #if ( _MSC_VER >= 800 ) 187 -// #if _MSC_VER >= 1200 188 -// #pragma warning(pop) 189 -// #else 190 -// #... 191 -// #... 192 -// #... 193 - 194 -// #endif 195 -// #endif 196 -// #endif /* RC_INVOKED */ 197 - 198 -// #endif /* RC_INVOKED */ 199 - 200 -// #endif /* _INC_WINDOWS */ 201 -// #endif /* _WINDOWS_ */ 202 - 66 +/+ 67 +#if (_WIN32_WINNT >= 0x0400) 68 +#include <winsock2.h> 69 +/* 70 + * MS likes to include mswsock.h here as well, 71 + * but that can cause undefined symbols if 72 + * winsock2.h is included before windows.h 73 + */ 74 +#else 75 +#include <winsock.h> 76 +#endif /* (_WIN32_WINNT >= 0x0400) */ 77 ++/

Modified src/win32/winerror.d from [e6836976082781cc] to [71c5579353ac7b76].

1 +/***********************************************************************\ 2 +* winerror.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.winerror; 2 11 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 12 +/* Comments from the Mingw header: 13 + * WAIT_TIMEOUT is also defined in winbase.h 14 + */ 15 + 16 +private import win32.windef; 17 + 18 +alias int SCODE; // was in win32.wtypes. 19 + 20 +enum : uint { 21 + ERROR_SUCCESS = 0, 22 + NO_ERROR = 0, 23 + ERROR_INVALID_FUNCTION, 24 + ERROR_FILE_NOT_FOUND, 25 + ERROR_PATH_NOT_FOUND, 26 + ERROR_TOO_MANY_OPEN_FILES, 27 + ERROR_ACCESS_DENIED, 28 + ERROR_INVALID_HANDLE, 29 + ERROR_ARENA_TRASHED, 30 + ERROR_NOT_ENOUGH_MEMORY, 31 + ERROR_INVALID_BLOCK, 32 + ERROR_BAD_ENVIRONMENT, 33 + ERROR_BAD_FORMAT, 34 + ERROR_INVALID_ACCESS, 35 + ERROR_INVALID_DATA, 36 + ERROR_OUTOFMEMORY, 37 + ERROR_INVALID_DRIVE, 38 + ERROR_CURRENT_DIRECTORY, 39 + ERROR_NOT_SAME_DEVICE, 40 + ERROR_NO_MORE_FILES, 41 + ERROR_WRITE_PROTECT, 42 + ERROR_BAD_UNIT, 43 + ERROR_NOT_READY, 44 + ERROR_BAD_COMMAND, 45 + ERROR_CRC, 46 + ERROR_BAD_LENGTH, 47 + ERROR_SEEK, 48 + ERROR_NOT_DOS_DISK, 49 + ERROR_SECTOR_NOT_FOUND, 50 + ERROR_OUT_OF_PAPER, 51 + ERROR_WRITE_FAULT, 52 + ERROR_READ_FAULT, 53 + ERROR_GEN_FAILURE, 54 + ERROR_SHARING_VIOLATION, 55 + ERROR_LOCK_VIOLATION, 56 + ERROR_WRONG_DISK, // = 34 57 + ERROR_SHARING_BUFFER_EXCEEDED = 36, 58 + ERROR_HANDLE_EOF = 38, 59 + ERROR_HANDLE_DISK_FULL, // = 39 60 + ERROR_NOT_SUPPORTED = 50, 61 + ERROR_REM_NOT_LIST, 62 + ERROR_DUP_NAME, 63 + ERROR_BAD_NETPATH, 64 + ERROR_NETWORK_BUSY, 65 + ERROR_DEV_NOT_EXIST, 66 + ERROR_TOO_MANY_CMDS, 67 + ERROR_ADAP_HDW_ERR, 68 + ERROR_BAD_NET_RESP, 69 + ERROR_UNEXP_NET_ERR, 70 + ERROR_BAD_REM_ADAP, 71 + ERROR_PRINTQ_FULL, 72 + ERROR_NO_SPOOL_SPACE, 73 + ERROR_PRINT_CANCELLED, 74 + ERROR_NETNAME_DELETED, 75 + ERROR_NETWORK_ACCESS_DENIED, 76 + ERROR_BAD_DEV_TYPE, 77 + ERROR_BAD_NET_NAME, 78 + ERROR_TOO_MANY_NAMES, 79 + ERROR_TOO_MANY_SESS, 80 + ERROR_SHARING_PAUSED, 81 + ERROR_REQ_NOT_ACCEP, 82 + ERROR_REDIR_PAUSED, // = 72 83 + ERROR_FILE_EXISTS = 80, 84 + ERROR_CANNOT_MAKE = 82, 85 + ERROR_FAIL_I24, 86 + ERROR_OUT_OF_STRUCTURES, 87 + ERROR_ALREADY_ASSIGNED, 88 + ERROR_INVALID_PASSWORD, 89 + ERROR_INVALID_PARAMETER, 90 + ERROR_NET_WRITE_FAULT, 91 + ERROR_NO_PROC_SLOTS, // = 89 92 + ERROR_TOO_MANY_SEMAPHORES = 100, 93 + ERROR_EXCL_SEM_ALREADY_OWNED, 94 + ERROR_SEM_IS_SET, 95 + ERROR_TOO_MANY_SEM_REQUESTS, 96 + ERROR_INVALID_AT_INTERRUPT_TIME, 97 + ERROR_SEM_OWNER_DIED, 98 + ERROR_SEM_USER_LIMIT, 99 + ERROR_DISK_CHANGE, 100 + ERROR_DRIVE_LOCKED, 101 + ERROR_BROKEN_PIPE, 102 + ERROR_OPEN_FAILED, 103 + ERROR_BUFFER_OVERFLOW, 104 + ERROR_DISK_FULL, 105 + ERROR_NO_MORE_SEARCH_HANDLES, 106 + ERROR_INVALID_TARGET_HANDLE, // = 114 107 + ERROR_INVALID_CATEGORY = 117, 108 + ERROR_INVALID_VERIFY_SWITCH, 109 + ERROR_BAD_DRIVER_LEVEL, 110 + ERROR_CALL_NOT_IMPLEMENTED, 111 + ERROR_SEM_TIMEOUT, 112 + ERROR_INSUFFICIENT_BUFFER, 113 + ERROR_INVALID_NAME, 114 + ERROR_INVALID_LEVEL, 115 + ERROR_NO_VOLUME_LABEL, 116 + ERROR_MOD_NOT_FOUND, 117 + ERROR_PROC_NOT_FOUND, 118 + ERROR_WAIT_NO_CHILDREN, 119 + ERROR_CHILD_NOT_COMPLETE, 120 + ERROR_DIRECT_ACCESS_HANDLE, 121 + ERROR_NEGATIVE_SEEK, 122 + ERROR_SEEK_ON_DEVICE, 123 + ERROR_IS_JOIN_TARGET, 124 + ERROR_IS_JOINED, 125 + ERROR_IS_SUBSTED, 126 + ERROR_NOT_JOINED, 127 + ERROR_NOT_SUBSTED, 128 + ERROR_JOIN_TO_JOIN, 129 + ERROR_SUBST_TO_SUBST, 130 + ERROR_JOIN_TO_SUBST, 131 + ERROR_SUBST_TO_JOIN, 132 + ERROR_BUSY_DRIVE, 133 + ERROR_SAME_DRIVE, 134 + ERROR_DIR_NOT_ROOT, 135 + ERROR_DIR_NOT_EMPTY, 136 + ERROR_IS_SUBST_PATH, 137 + ERROR_IS_JOIN_PATH, 138 + ERROR_PATH_BUSY, 139 + ERROR_IS_SUBST_TARGET, 140 + ERROR_SYSTEM_TRACE, 141 + ERROR_INVALID_EVENT_COUNT, 142 + ERROR_TOO_MANY_MUXWAITERS, 143 + ERROR_INVALID_LIST_FORMAT, 144 + ERROR_LABEL_TOO_LONG, 145 + ERROR_TOO_MANY_TCBS, 146 + ERROR_SIGNAL_REFUSED, 147 + ERROR_DISCARDED, 148 + ERROR_NOT_LOCKED, 149 + ERROR_BAD_THREADID_ADDR, 150 + ERROR_BAD_ARGUMENTS, 151 + ERROR_BAD_PATHNAME, 152 + ERROR_SIGNAL_PENDING, // = 162 153 + ERROR_MAX_THRDS_REACHED = 164, 154 + ERROR_LOCK_FAILED = 167, 155 + ERROR_BUSY = 170, 156 + ERROR_CANCEL_VIOLATION = 173, 157 + ERROR_ATOMIC_LOCKS_NOT_SUPPORTED, // = 174 158 + ERROR_INVALID_SEGMENT_NUMBER = 180, 159 + ERROR_INVALID_ORDINAL = 182, 160 + ERROR_ALREADY_EXISTS, // = 183 161 + ERROR_INVALID_FLAG_NUMBER = 186, 162 + ERROR_SEM_NOT_FOUND, 163 + ERROR_INVALID_STARTING_CODESEG, 164 + ERROR_INVALID_STACKSEG, 165 + ERROR_INVALID_MODULETYPE, 166 + ERROR_INVALID_EXE_SIGNATURE, 167 + ERROR_EXE_MARKED_INVALID, 168 + ERROR_BAD_EXE_FORMAT, 169 + ERROR_ITERATED_DATA_EXCEEDS_64k, 170 + ERROR_INVALID_MINALLOCSIZE, 171 + ERROR_DYNLINK_FROM_INVALID_RING, 172 + ERROR_IOPL_NOT_ENABLED, 173 + ERROR_INVALID_SEGDPL, 174 + ERROR_AUTODATASEG_EXCEEDS_64k, 175 + ERROR_RING2SEG_MUST_BE_MOVABLE, 176 + ERROR_RELOC_CHAIN_XEEDS_SEGLIM, 177 + ERROR_INFLOOP_IN_RELOC_CHAIN, 178 + ERROR_ENVVAR_NOT_FOUND, // = 203 179 + ERROR_NO_SIGNAL_SENT = 205, 180 + ERROR_FILENAME_EXCED_RANGE, 181 + ERROR_RING2_STACK_IN_USE, 182 + ERROR_META_EXPANSION_TOO_LONG, 183 + ERROR_INVALID_SIGNAL_NUMBER, 184 + ERROR_THREAD_1_INACTIVE, // = 210 185 + ERROR_LOCKED = 212, 186 + ERROR_TOO_MANY_MODULES = 214, 187 + ERROR_NESTING_NOT_ALLOWED, 188 + ERROR_EXE_MACHINE_TYPE_MISMATCH, 189 + ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY, 190 + ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY, // = 218 191 + ERROR_BAD_PIPE = 230, 192 + ERROR_PIPE_BUSY, 193 + ERROR_NO_DATA, 194 + ERROR_PIPE_NOT_CONNECTED, 195 + ERROR_MORE_DATA, // = 234 196 + ERROR_VC_DISCONNECTED = 240, 197 + ERROR_INVALID_EA_NAME = 254, 198 + ERROR_EA_LIST_INCONSISTENT, // = 255 199 + WAIT_TIMEOUT = 258, 200 + ERROR_NO_MORE_ITEMS, // = 259 201 + ERROR_CANNOT_COPY = 266, 202 + ERROR_DIRECTORY, // = 267 203 + ERROR_EAS_DIDNT_FIT = 275, 204 + ERROR_EA_FILE_CORRUPT, 205 + ERROR_EA_TABLE_FULL, 206 + ERROR_INVALID_EA_HANDLE, // = 278 207 + ERROR_EAS_NOT_SUPPORTED = 282, 208 + ERROR_NOT_OWNER = 288, 209 + ERROR_TOO_MANY_POSTS = 298, 210 + ERROR_PARTIAL_COPY, 211 + ERROR_OPLOCK_NOT_GRANTED, 212 + ERROR_INVALID_OPLOCK_PROTOCOL, 213 + ERROR_DISK_TOO_FRAGMENTED, 214 + ERROR_DELETE_PENDING, // = 303 215 + ERROR_MR_MID_NOT_FOUND = 317, 216 + ERROR_SCOPE_NOT_FOUND, // = 318 217 + ERROR_INVALID_ADDRESS = 487, 218 + ERROR_ARITHMETIC_OVERFLOW = 534, 219 + ERROR_PIPE_CONNECTED, 220 + ERROR_PIPE_LISTENING, // = 536 221 + ERROR_EA_ACCESS_DENIED = 994, 222 + ERROR_OPERATION_ABORTED, 223 + ERROR_IO_INCOMPLETE, 224 + ERROR_IO_PENDING, 225 + ERROR_NOACCESS, 226 + ERROR_SWAPERROR, // = 999 227 + ERROR_STACK_OVERFLOW = 1001, 228 + ERROR_INVALID_MESSAGE, 229 + ERROR_CAN_NOT_COMPLETE, 230 + ERROR_INVALID_FLAGS, 231 + ERROR_UNRECOGNIZED_VOLUME, 232 + ERROR_FILE_INVALID, 233 + ERROR_FULLSCREEN_MODE, 234 + ERROR_NO_TOKEN, 235 + ERROR_BADDB, 236 + ERROR_BADKEY, 237 + ERROR_CANTOPEN, 238 + ERROR_CANTREAD, 239 + ERROR_CANTWRITE, 240 + ERROR_REGISTRY_RECOVERED, 241 + ERROR_REGISTRY_CORRUPT, 242 + ERROR_REGISTRY_IO_FAILED, 243 + ERROR_NOT_REGISTRY_FILE, 244 + ERROR_KEY_DELETED, 245 + ERROR_NO_LOG_SPACE, 246 + ERROR_KEY_HAS_CHILDREN, 247 + ERROR_CHILD_MUST_BE_VOLATILE, 248 + ERROR_NOTIFY_ENUM_DIR, // = 1022 249 + ERROR_DEPENDENT_SERVICES_RUNNING = 1051, 250 + ERROR_INVALID_SERVICE_CONTROL, 251 + ERROR_SERVICE_REQUEST_TIMEOUT, 252 + ERROR_SERVICE_NO_THREAD, 253 + ERROR_SERVICE_DATABASE_LOCKED, 254 + ERROR_SERVICE_ALREADY_RUNNING, 255 + ERROR_INVALID_SERVICE_ACCOUNT, 256 + ERROR_SERVICE_DISABLED, 257 + ERROR_CIRCULAR_DEPENDENCY, 258 + ERROR_SERVICE_DOES_NOT_EXIST, 259 + ERROR_SERVICE_CANNOT_ACCEPT_CTRL, 260 + ERROR_SERVICE_NOT_ACTIVE, 261 + ERROR_FAILED_SERVICE_CONTROLLER_CONNECT, 262 + ERROR_EXCEPTION_IN_SERVICE, 263 + ERROR_DATABASE_DOES_NOT_EXIST, 264 + ERROR_SERVICE_SPECIFIC_ERROR, 265 + ERROR_PROCESS_ABORTED, 266 + ERROR_SERVICE_DEPENDENCY_FAIL, 267 + ERROR_SERVICE_LOGON_FAILED, 268 + ERROR_SERVICE_START_HANG, 269 + ERROR_INVALID_SERVICE_LOCK, 270 + ERROR_SERVICE_MARKED_FOR_DELETE, 271 + ERROR_SERVICE_EXISTS, 272 + ERROR_ALREADY_RUNNING_LKG, 273 + ERROR_SERVICE_DEPENDENCY_DELETED, 274 + ERROR_BOOT_ALREADY_ACCEPTED, 275 + ERROR_SERVICE_NEVER_STARTED, 276 + ERROR_DUPLICATE_SERVICE_NAME, 277 + ERROR_DIFFERENT_SERVICE_ACCOUNT, 278 + ERROR_CANNOT_DETECT_DRIVER_FAILURE, 279 + ERROR_CANNOT_DETECT_PROCESS_ABORT, 280 + ERROR_NO_RECOVERY_PROGRAM, 281 + ERROR_SERVICE_NOT_IN_EXE, 282 + ERROR_NOT_SAFEBOOT_SERVICE, // = 1084 283 + ERROR_END_OF_MEDIA = 1100, 284 + ERROR_FILEMARK_DETECTED, 285 + ERROR_BEGINNING_OF_MEDIA, 286 + ERROR_SETMARK_DETECTED, 287 + ERROR_NO_DATA_DETECTED, 288 + ERROR_PARTITION_FAILURE, 289 + ERROR_INVALID_BLOCK_LENGTH, 290 + ERROR_DEVICE_NOT_PARTITIONED, 291 + ERROR_UNABLE_TO_LOCK_MEDIA, 292 + ERROR_UNABLE_TO_UNLOAD_MEDIA, 293 + ERROR_MEDIA_CHANGED, 294 + ERROR_BUS_RESET, 295 + ERROR_NO_MEDIA_IN_DRIVE, 296 + ERROR_NO_UNICODE_TRANSLATION, 297 + ERROR_DLL_INIT_FAILED, 298 + ERROR_SHUTDOWN_IN_PROGRESS, 299 + ERROR_NO_SHUTDOWN_IN_PROGRESS, 300 + ERROR_IO_DEVICE, 301 + ERROR_SERIAL_NO_DEVICE, 302 + ERROR_IRQ_BUSY, 303 + ERROR_MORE_WRITES, 304 + ERROR_COUNTER_TIMEOUT, 305 + ERROR_FLOPPY_ID_MARK_NOT_FOUND, 306 + ERROR_FLOPPY_WRONG_CYLINDER, 307 + ERROR_FLOPPY_UNKNOWN_ERROR, 308 + ERROR_FLOPPY_BAD_REGISTERS, 309 + ERROR_DISK_RECALIBRATE_FAILED, 310 + ERROR_DISK_OPERATION_FAILED, 311 + ERROR_DISK_RESET_FAILED, 312 + ERROR_EOM_OVERFLOW, 313 + ERROR_NOT_ENOUGH_SERVER_MEMORY, 314 + ERROR_POSSIBLE_DEADLOCK, 315 + ERROR_MAPPED_ALIGNMENT, // = 1132 316 + ERROR_SET_POWER_STATE_VETOED = 1140, 317 + ERROR_SET_POWER_STATE_FAILED, 318 + ERROR_TOO_MANY_LINKS, // = 1142 319 + ERROR_OLD_WIN_VERSION = 1150, 320 + ERROR_APP_WRONG_OS, 321 + ERROR_SINGLE_INSTANCE_APP, 322 + ERROR_RMODE_APP, 323 + ERROR_INVALID_DLL, 324 + ERROR_NO_ASSOCIATION, 325 + ERROR_DDE_FAIL, 326 + ERROR_DLL_NOT_FOUND, 327 + ERROR_NO_MORE_USER_HANDLES, 328 + ERROR_MESSAGE_SYNC_ONLY, 329 + ERROR_SOURCE_ELEMENT_EMPTY, 330 + ERROR_DESTINATION_ELEMENT_FULL, 331 + ERROR_ILLEGAL_ELEMENT_ADDRESS, 332 + ERROR_MAGAZINE_NOT_PRESENT, 333 + ERROR_DEVICE_REINITIALIZATION_NEEDED, 334 + ERROR_DEVICE_REQUIRES_CLEANING, 335 + ERROR_DEVICE_DOOR_OPEN, 336 + ERROR_DEVICE_NOT_CONNECTED, 337 + ERROR_NOT_FOUND, 338 + ERROR_NO_MATCH, 339 + ERROR_SET_NOT_FOUND, 340 + ERROR_POINT_NOT_FOUND, 341 + ERROR_NO_TRACKING_SERVICE, 342 + ERROR_NO_VOLUME_ID, // = 1173 343 + ERROR_UNABLE_TO_REMOVE_REPLACED = 1175, 344 + ERROR_UNABLE_TO_MOVE_REPLACEMENT, 345 + ERROR_UNABLE_TO_MOVE_REPLACEMENT_2, 346 + ERROR_JOURNAL_DELETE_IN_PROGRESS, 347 + ERROR_JOURNAL_NOT_ACTIVE, 348 + ERROR_POTENTIAL_FILE_FOUND, 349 + ERROR_JOURNAL_ENTRY_DELETED, // = 1181 350 + ERROR_BAD_DEVICE = 1200, 351 + ERROR_CONNECTION_UNAVAIL, 352 + ERROR_DEVICE_ALREADY_REMEMBERED, 353 + ERROR_NO_NET_OR_BAD_PATH, 354 + ERROR_BAD_PROVIDER, 355 + ERROR_CANNOT_OPEN_PROFILE, 356 + ERROR_BAD_PROFILE, 357 + ERROR_NOT_CONTAINER, 358 + ERROR_EXTENDED_ERROR, 359 + ERROR_INVALID_GROUPNAME, 360 + ERROR_INVALID_COMPUTERNAME, 361 + ERROR_INVALID_EVENTNAME, 362 + ERROR_INVALID_DOMAINNAME, 363 + ERROR_INVALID_SERVICENAME, 364 + ERROR_INVALID_NETNAME, 365 + ERROR_INVALID_SHARENAME, 366 + ERROR_INVALID_PASSWORDNAME, 367 + ERROR_INVALID_MESSAGENAME, 368 + ERROR_INVALID_MESSAGEDEST, 369 + ERROR_SESSION_CREDENTIAL_CONFLICT, 370 + ERROR_REMOTE_SESSION_LIMIT_EXCEEDED, 371 + ERROR_DUP_DOMAINNAME, 372 + ERROR_NO_NETWORK, 373 + ERROR_CANCELLED, 374 + ERROR_USER_MAPPED_FILE, 375 + ERROR_CONNECTION_REFUSED, 376 + ERROR_GRACEFUL_DISCONNECT, 377 + ERROR_ADDRESS_ALREADY_ASSOCIATED, 378 + ERROR_ADDRESS_NOT_ASSOCIATED, 379 + ERROR_CONNECTION_INVALID, 380 + ERROR_CONNECTION_ACTIVE, 381 + ERROR_NETWORK_UNREACHABLE, 382 + ERROR_HOST_UNREACHABLE, 383 + ERROR_PROTOCOL_UNREACHABLE, 384 + ERROR_PORT_UNREACHABLE, 385 + ERROR_REQUEST_ABORTED, 386 + ERROR_CONNECTION_ABORTED, 387 + ERROR_RETRY, 388 + ERROR_CONNECTION_COUNT_LIMIT, 389 + ERROR_LOGIN_TIME_RESTRICTION, 390 + ERROR_LOGIN_WKSTA_RESTRICTION, 391 + ERROR_INCORRECT_ADDRESS, 392 + ERROR_ALREADY_REGISTERED, 393 + ERROR_SERVICE_NOT_FOUND, 394 + ERROR_NOT_AUTHENTICATED, 395 + ERROR_NOT_LOGGED_ON, 396 + ERROR_CONTINUE, 397 + ERROR_ALREADY_INITIALIZED, 398 + ERROR_NO_MORE_DEVICES, 399 + ERROR_NO_SUCH_SITE, 400 + ERROR_DOMAIN_CONTROLLER_EXISTS, 401 + ERROR_ONLY_IF_CONNECTED, 402 + ERROR_OVERRIDE_NOCHANGES, 403 + ERROR_BAD_USER_PROFILE, 404 + ERROR_NOT_SUPPORTED_ON_SBS, 405 + ERROR_SERVER_SHUTDOWN_IN_PROGRESS, 406 + ERROR_HOST_DOWN, 407 + ERROR_NON_ACCOUNT_SID, 408 + ERROR_NON_DOMAIN_SID, 409 + ERROR_APPHELP_BLOCK, 410 + ERROR_ACCESS_DISABLED_BY_POLICY, 411 + ERROR_REG_NAT_CONSUMPTION, 412 + ERROR_CSCSHARE_OFFLINE, 413 + ERROR_PKINIT_FAILURE, 414 + ERROR_SMARTCARD_SUBSYSTEM_FAILURE, 415 + ERROR_DOWNGRADE_DETECTED, 416 + SEC_E_SMARTCARD_CERT_REVOKED, 417 + SEC_E_ISSUING_CA_UNTRUSTED, 418 + SEC_E_REVOCATION_OFFLINE_C, 419 + SEC_E_PKINIT_CLIENT_FAILUR, 420 + SEC_E_SMARTCARD_CERT_EXPIRED, 421 + ERROR_MACHINE_LOCKED, // = 1271 422 + ERROR_CALLBACK_SUPPLIED_INVALID_DATA = 1273, 423 + ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED, 424 + ERROR_DRIVER_BLOCKED, 425 + ERROR_INVALID_IMPORT_OF_NON_DLL, 426 + ERROR_ACCESS_DISABLED_WEBBLADE, 427 + ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER, 428 + ERROR_RECOVERY_FAILURE, 429 + ERROR_ALREADY_FIBER, 430 + ERROR_ALREADY_THREAD, 431 + ERROR_STACK_BUFFER_OVERRUN, 432 + ERROR_PARAMETER_QUOTA_EXCEEDED, 433 + ERROR_DEBUGGER_INACTIVE, // = 1284 434 + ERROR_NOT_ALL_ASSIGNED = 1300, 435 + ERROR_SOME_NOT_MAPPED, 436 + ERROR_NO_QUOTAS_FOR_ACCOUNT, 437 + ERROR_LOCAL_USER_SESSION_KEY, 438 + ERROR_NULL_LM_PASSWORD, 439 + ERROR_UNKNOWN_REVISION, 440 + ERROR_REVISION_MISMATCH, 441 + ERROR_INVALID_OWNER, 442 + ERROR_INVALID_PRIMARY_GROUP, 443 + ERROR_NO_IMPERSONATION_TOKEN, 444 + ERROR_CANT_DISABLE_MANDATORY, 445 + ERROR_NO_LOGON_SERVERS, 446 + ERROR_NO_SUCH_LOGON_SESSION, 447 + ERROR_NO_SUCH_PRIVILEGE, 448 + ERROR_PRIVILEGE_NOT_HELD, 449 + ERROR_INVALID_ACCOUNT_NAME, 450 + ERROR_USER_EXISTS, 451 + ERROR_NO_SUCH_USER, 452 + ERROR_GROUP_EXISTS, 453 + ERROR_NO_SUCH_GROUP, 454 + ERROR_MEMBER_IN_GROUP, 455 + ERROR_MEMBER_NOT_IN_GROUP, 456 + ERROR_LAST_ADMIN, 457 + ERROR_WRONG_PASSWORD, 458 + ERROR_ILL_FORMED_PASSWORD, 459 + ERROR_PASSWORD_RESTRICTION, 460 + ERROR_LOGON_FAILURE, 461 + ERROR_ACCOUNT_RESTRICTION, 462 + ERROR_INVALID_LOGON_HOURS, 463 + ERROR_INVALID_WORKSTATION, 464 + ERROR_PASSWORD_EXPIRED, 465 + ERROR_ACCOUNT_DISABLED, 466 + ERROR_NONE_MAPPED, 467 + ERROR_TOO_MANY_LUIDS_REQUESTED, 468 + ERROR_LUIDS_EXHAUSTED, 469 + ERROR_INVALID_SUB_AUTHORITY, 470 + ERROR_INVALID_ACL, 471 + ERROR_INVALID_SID, 472 + ERROR_INVALID_SECURITY_DESCR, // = 1338 473 + ERROR_BAD_INHERITANCE_ACL = 1340, 474 + ERROR_SERVER_DISABLED, 475 + ERROR_SERVER_NOT_DISABLED, 476 + ERROR_INVALID_ID_AUTHORITY, 477 + ERROR_ALLOTTED_SPACE_EXCEEDED, 478 + ERROR_INVALID_GROUP_ATTRIBUTES, 479 + ERROR_BAD_IMPERSONATION_LEVEL, 480 + ERROR_CANT_OPEN_ANONYMOUS, 481 + ERROR_BAD_VALIDATION_CLASS, 482 + ERROR_BAD_TOKEN_TYPE, 483 + ERROR_NO_SECURITY_ON_OBJECT, 484 + ERROR_CANT_ACCESS_DOMAIN_INFO, 485 + ERROR_INVALID_SERVER_STATE, 486 + ERROR_INVALID_DOMAIN_STATE, 487 + ERROR_INVALID_DOMAIN_ROLE, 488 + ERROR_NO_SUCH_DOMAIN, 489 + ERROR_DOMAIN_EXISTS, 490 + ERROR_DOMAIN_LIMIT_EXCEEDED, 491 + ERROR_INTERNAL_DB_CORRUPTION, 492 + ERROR_INTERNAL_ERROR, 493 + ERROR_GENERIC_NOT_MAPPED, 494 + ERROR_BAD_DESCRIPTOR_FORMAT, 495 + ERROR_NOT_LOGON_PROCESS, 496 + ERROR_LOGON_SESSION_EXISTS, 497 + ERROR_NO_SUCH_PACKAGE, 498 + ERROR_BAD_LOGON_SESSION_STATE, 499 + ERROR_LOGON_SESSION_COLLISION, 500 + ERROR_INVALID_LOGON_TYPE, 501 + ERROR_CANNOT_IMPERSONATE, 502 + ERROR_RXACT_INVALID_STATE, 503 + ERROR_RXACT_COMMIT_FAILURE, 504 + ERROR_SPECIAL_ACCOUNT, 505 + ERROR_SPECIAL_GROUP, 506 + ERROR_SPECIAL_USER, 507 + ERROR_MEMBERS_PRIMARY_GROUP, 508 + ERROR_TOKEN_ALREADY_IN_USE, 509 + ERROR_NO_SUCH_ALIAS, 510 + ERROR_MEMBER_NOT_IN_ALIAS, 511 + ERROR_MEMBER_IN_ALIAS, 512 + ERROR_ALIAS_EXISTS, 513 + ERROR_LOGON_NOT_GRANTED, 514 + ERROR_TOO_MANY_SECRETS, 515 + ERROR_SECRET_TOO_LONG, 516 + ERROR_INTERNAL_DB_ERROR, 517 + ERROR_TOO_MANY_CONTEXT_IDS, 518 + ERROR_LOGON_TYPE_NOT_GRANTED, 519 + ERROR_NT_CROSS_ENCRYPTION_REQUIRED, 520 + ERROR_NO_SUCH_MEMBER, 521 + ERROR_INVALID_MEMBER, 522 + ERROR_TOO_MANY_SIDS, 523 + ERROR_LM_CROSS_ENCRYPTION_REQUIRED, 524 + ERROR_NO_INHERITANCE, 525 + ERROR_FILE_CORRUPT, 526 + ERROR_DISK_CORRUPT, 527 + ERROR_NO_USER_SESSION_KEY, 528 + ERROR_LICENSE_QUOTA_EXCEEDED, 529 + ERROR_WRONG_TARGET_NAME, 530 + ERROR_MUTUAL_AUTH_FAILED, 531 + ERROR_TIME_SKEW, 532 + ERROR_CURRENT_DOMAIN_NOT_ALLOWED, 533 + ERROR_INVALID_WINDOW_HANDLE, 534 + ERROR_INVALID_MENU_HANDLE, 535 + ERROR_INVALID_CURSOR_HANDLE, 536 + ERROR_INVALID_ACCEL_HANDLE, 537 + ERROR_INVALID_HOOK_HANDLE, 538 + ERROR_INVALID_DWP_HANDLE, 539 + ERROR_TLW_WITH_WSCHILD, 540 + ERROR_CANNOT_FIND_WND_CLASS, 541 + ERROR_WINDOW_OF_OTHER_THREAD, 542 + ERROR_HOTKEY_ALREADY_REGISTERED, 543 + ERROR_CLASS_ALREADY_EXISTS, 544 + ERROR_CLASS_DOES_NOT_EXIST, 545 + ERROR_CLASS_HAS_WINDOWS, 546 + ERROR_INVALID_INDEX, 547 + ERROR_INVALID_ICON_HANDLE, 548 + ERROR_PRIVATE_DIALOG_INDEX, 549 + ERROR_LISTBOX_ID_NOT_FOUND, 550 + ERROR_NO_WILDCARD_CHARACTERS, 551 + ERROR_CLIPBOARD_NOT_OPEN, 552 + ERROR_HOTKEY_NOT_REGISTERED, 553 + ERROR_WINDOW_NOT_DIALOG, 554 + ERROR_CONTROL_ID_NOT_FOUND, 555 + ERROR_INVALID_COMBOBOX_MESSAGE, 556 + ERROR_WINDOW_NOT_COMBOBOX, 557 + ERROR_INVALID_EDIT_HEIGHT, 558 + ERROR_DC_NOT_FOUND, 559 + ERROR_INVALID_HOOK_FILTER, 560 + ERROR_INVALID_FILTER_PROC, 561 + ERROR_HOOK_NEEDS_HMOD, 562 + ERROR_GLOBAL_ONLY_HOOK, 563 + ERROR_JOURNAL_HOOK_SET, 564 + ERROR_HOOK_NOT_INSTALLED, 565 + ERROR_INVALID_LB_MESSAGE, 566 + ERROR_SETCOUNT_ON_BAD_LB, 567 + ERROR_LB_WITHOUT_TABSTOPS, 568 + ERROR_DESTROY_OBJECT_OF_OTHER_THREAD, 569 + ERROR_CHILD_WINDOW_MENU, 570 + ERROR_NO_SYSTEM_MENU, 571 + ERROR_INVALID_MSGBOX_STYLE, 572 + ERROR_INVALID_SPI_VALUE, 573 + ERROR_SCREEN_ALREADY_LOCKED, 574 + ERROR_HWNDS_HAVE_DIFF_PARENT, 575 + ERROR_NOT_CHILD_WINDOW, 576 + ERROR_INVALID_GW_COMMAND, 577 + ERROR_INVALID_THREAD_ID, 578 + ERROR_NON_MDICHILD_WINDOW, 579 + ERROR_POPUP_ALREADY_ACTIVE, 580 + ERROR_NO_SCROLLBARS, 581 + ERROR_INVALID_SCROLLBAR_RANGE, 582 + ERROR_INVALID_SHOWWIN_COMMAND, 583 + ERROR_NO_SYSTEM_RESOURCES, 584 + ERROR_NONPAGED_SYSTEM_RESOURCES, 585 + ERROR_PAGED_SYSTEM_RESOURCES, 586 + ERROR_WORKING_SET_QUOTA, 587 + ERROR_PAGEFILE_QUOTA, 588 + ERROR_COMMITMENT_LIMIT, 589 + ERROR_MENU_ITEM_NOT_FOUND, 590 + ERROR_INVALID_KEYBOARD_HANDLE, 591 + ERROR_HOOK_TYPE_NOT_ALLOWED, 592 + ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION, 593 + ERROR_TIMEOUT, 594 + ERROR_INVALID_MONITOR_HANDLE, // = 1461 595 + ERROR_EVENTLOG_FILE_CORRUPT = 1500, 596 + ERROR_EVENTLOG_CANT_START, 597 + ERROR_LOG_FILE_FULL, 598 + ERROR_EVENTLOG_FILE_CHANGED, // = 1503 599 + ERROR_INSTALL_SERVICE_FAILURE = 1601, 600 + ERROR_INSTALL_USEREXIT, 601 + ERROR_INSTALL_FAILURE, 602 + ERROR_INSTALL_SUSPEND, 603 + ERROR_UNKNOWN_PRODUCT, 604 + ERROR_UNKNOWN_FEATURE, 605 + ERROR_UNKNOWN_COMPONENT, 606 + ERROR_UNKNOWN_PROPERTY, 607 + ERROR_INVALID_HANDLE_STATE, 608 + ERROR_BAD_CONFIGURATION, 609 + ERROR_INDEX_ABSENT, 610 + ERROR_INSTALL_SOURCE_ABSENT, 611 + ERROR_INSTALL_PACKAGE_VERSION, 612 + ERROR_PRODUCT_UNINSTALLED, 613 + ERROR_BAD_QUERY_SYNTAX, 614 + ERROR_INVALID_FIELD, 615 + ERROR_DEVICE_REMOVED, 616 + ERROR_INSTALL_ALREADY_RUNNING, 617 + ERROR_INSTALL_PACKAGE_OPEN_FAILED, 618 + ERROR_INSTALL_PACKAGE_INVALID, 619 + ERROR_INSTALL_UI_FAILURE, 620 + ERROR_INSTALL_LOG_FAILURE, 621 + ERROR_INSTALL_LANGUAGE_UNSUPPORTED, 622 + ERROR_INSTALL_TRANSFORM_FAILURE, 623 + ERROR_INSTALL_PACKAGE_REJECTED, 624 + ERROR_FUNCTION_NOT_CALLED, 625 + ERROR_FUNCTION_FAILED, 626 + ERROR_INVALID_TABLE, 627 + ERROR_DATATYPE_MISMATCH, 628 + ERROR_UNSUPPORTED_TYPE, 629 + ERROR_CREATE_FAILED, 630 + ERROR_INSTALL_TEMP_UNWRITABLE, 631 + ERROR_INSTALL_PLATFORM_UNSUPPORTED, 632 + ERROR_INSTALL_NOTUSED, 633 + ERROR_PATCH_PACKAGE_OPEN_FAILED, 634 + ERROR_PATCH_PACKAGE_INVALID, 635 + ERROR_PATCH_PACKAGE_UNSUPPORTED, 636 + ERROR_PRODUCT_VERSION, 637 + ERROR_INVALID_COMMAND_LINE, 638 + ERROR_INSTALL_REMOTE_DISALLOWED, 639 + ERROR_SUCCESS_REBOOT_INITIATED, 640 + ERROR_PATCH_TARGET_NOT_FOUND, 641 + ERROR_PATCH_PACKAGE_REJECTED, 642 + ERROR_INSTALL_TRANSFORM_REJECTED, 643 + ERROR_INSTALL_REMOTE_PROHIBITED, // = 1645 644 + RPC_S_INVALID_STRING_BINDING = 1700, 645 + RPC_S_WRONG_KIND_OF_BINDING, 646 + RPC_S_INVALID_BINDING, 647 + RPC_S_PROTSEQ_NOT_SUPPORTED, 648 + RPC_S_INVALID_RPC_PROTSEQ, 649 + RPC_S_INVALID_STRING_UUID, 650 + RPC_S_INVALID_ENDPOINT_FORMAT, 651 + RPC_S_INVALID_NET_ADDR, 652 + RPC_S_NO_ENDPOINT_FOUND, 653 + RPC_S_INVALID_TIMEOUT, 654 + RPC_S_OBJECT_NOT_FOUND, 655 + RPC_S_ALREADY_REGISTERED, 656 + RPC_S_TYPE_ALREADY_REGISTERED, 657 + RPC_S_ALREADY_LISTENING, 658 + RPC_S_NO_PROTSEQS_REGISTERED, 659 + RPC_S_NOT_LISTENING, 660 + RPC_S_UNKNOWN_MGR_TYPE, 661 + RPC_S_UNKNOWN_IF, 662 + RPC_S_NO_BINDINGS, 663 + RPC_S_NO_PROTSEQS, 664 + RPC_S_CANT_CREATE_ENDPOINT, 665 + RPC_S_OUT_OF_RESOURCES, 666 + RPC_S_SERVER_UNAVAILABLE, 667 + RPC_S_SERVER_TOO_BUSY, 668 + RPC_S_INVALID_NETWORK_OPTIONS, 669 + RPC_S_NO_CALL_ACTIVE, 670 + RPC_S_CALL_FAILED, 671 + RPC_S_CALL_FAILED_DNE, 672 + RPC_S_PROTOCOL_ERROR, // = 1728 673 + RPC_S_UNSUPPORTED_TRANS_SYN = 1730, 674 + RPC_S_UNSUPPORTED_TYPE = 1732, 675 + RPC_S_INVALID_TAG, 676 + RPC_S_INVALID_BOUND, 677 + RPC_S_NO_ENTRY_NAME, 678 + RPC_S_INVALID_NAME_SYNTAX, 679 + RPC_S_UNSUPPORTED_NAME_SYNTAX, // = 1737 680 + RPC_S_UUID_NO_ADDRESS = 1739, 681 + RPC_S_DUPLICATE_ENDPOINT, 682 + RPC_S_UNKNOWN_AUTHN_TYPE, 683 + RPC_S_MAX_CALLS_TOO_SMALL, 684 + RPC_S_STRING_TOO_LONG, 685 + RPC_S_PROTSEQ_NOT_FOUND, 686 + RPC_S_PROCNUM_OUT_OF_RANGE, 687 + RPC_S_BINDING_HAS_NO_AUTH, 688 + RPC_S_UNKNOWN_AUTHN_SERVICE, 689 + RPC_S_UNKNOWN_AUTHN_LEVEL, 690 + RPC_S_INVALID_AUTH_IDENTITY, 691 + RPC_S_UNKNOWN_AUTHZ_SERVICE, 692 + EPT_S_INVALID_ENTRY, 693 + EPT_S_CANT_PERFORM_OP, 694 + EPT_S_NOT_REGISTERED, 695 + RPC_S_NOTHING_TO_EXPORT, 696 + RPC_S_INCOMPLETE_NAME, 697 + RPC_S_INVALID_VERS_OPTION, 698 + RPC_S_NO_MORE_MEMBERS, 699 + RPC_S_NOT_ALL_OBJS_UNEXPORTED, 700 + RPC_S_INTERFACE_NOT_FOUND, 701 + RPC_S_ENTRY_ALREADY_EXISTS, 702 + RPC_S_ENTRY_NOT_FOUND, 703 + RPC_S_NAME_SERVICE_UNAVAILABLE, 704 + RPC_S_INVALID_NAF_ID, 705 + RPC_S_CANNOT_SUPPORT, 706 + RPC_S_NO_CONTEXT_AVAILABLE, 707 + RPC_S_INTERNAL_ERROR, 708 + RPC_S_ZERO_DIVIDE, 709 + RPC_S_ADDRESS_ERROR, 710 + RPC_S_FP_DIV_ZERO, 711 + RPC_S_FP_UNDERFLOW, 712 + RPC_S_FP_OVERFLOW, 713 + RPC_X_NO_MORE_ENTRIES, 714 + RPC_X_SS_CHAR_TRANS_OPEN_FAIL, 715 + RPC_X_SS_CHAR_TRANS_SHORT_FILE, 716 + RPC_X_SS_IN_NULL_CONTEXT, // = 1775 717 + RPC_X_SS_CONTEXT_DAMAGED = 1777, 718 + RPC_X_SS_HANDLES_MISMATCH, 719 + RPC_X_SS_CANNOT_GET_CALL_HANDLE, 720 + RPC_X_NULL_REF_POINTER, 721 + RPC_X_ENUM_VALUE_OUT_OF_RANGE, 722 + RPC_X_BYTE_COUNT_TOO_SMALL, 723 + RPC_X_BAD_STUB_DATA, 724 + ERROR_INVALID_USER_BUFFER, 725 + ERROR_UNRECOGNIZED_MEDIA, 726 + ERROR_NO_TRUST_LSA_SECRET, 727 + ERROR_NO_TRUST_SAM_ACCOUNT, 728 + ERROR_TRUSTED_DOMAIN_FAILURE, 729 + ERROR_TRUSTED_RELATIONSHIP_FAILURE, 730 + ERROR_TRUST_FAILURE, 731 + RPC_S_CALL_IN_PROGRESS, 732 + ERROR_NETLOGON_NOT_STARTED, 733 + ERROR_ACCOUNT_EXPIRED, 734 + ERROR_REDIRECTOR_HAS_OPEN_HANDLES, 735 + ERROR_PRINTER_DRIVER_ALREADY_INSTALLED, 736 + ERROR_UNKNOWN_PORT, 737 + ERROR_UNKNOWN_PRINTER_DRIVER, 738 + ERROR_UNKNOWN_PRINTPROCESSOR, 739 + ERROR_INVALID_SEPARATOR_FILE, 740 + ERROR_INVALID_PRIORITY, 741 + ERROR_INVALID_PRINTER_NAME, 742 + ERROR_PRINTER_ALREADY_EXISTS, 743 + ERROR_INVALID_PRINTER_COMMAND, 744 + ERROR_INVALID_DATATYPE, 745 + ERROR_INVALID_ENVIRONMENT, 746 + RPC_S_NO_MORE_BINDINGS, 747 + ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT, 748 + ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT, 749 + ERROR_NOLOGON_SERVER_TRUST_ACCOUNT, 750 + ERROR_DOMAIN_TRUST_INCONSISTENT, 751 + ERROR_SERVER_HAS_OPEN_HANDLES, 752 + ERROR_RESOURCE_DATA_NOT_FOUND, 753 + ERROR_RESOURCE_TYPE_NOT_FOUND, 754 + ERROR_RESOURCE_NAME_NOT_FOUND, 755 + ERROR_RESOURCE_LANG_NOT_FOUND, 756 + ERROR_NOT_ENOUGH_QUOTA, 757 + RPC_S_NO_INTERFACES, 758 + RPC_S_CALL_CANCELLED, 759 + RPC_S_BINDING_INCOMPLETE, 760 + RPC_S_COMM_FAILURE, 761 + RPC_S_UNSUPPORTED_AUTHN_LEVEL, 762 + RPC_S_NO_PRINC_NAME, 763 + RPC_S_NOT_RPC_ERROR, 764 + RPC_S_UUID_LOCAL_ONLY, 765 + RPC_S_SEC_PKG_ERROR, 766 + RPC_S_NOT_CANCELLED, 767 + RPC_X_INVALID_ES_ACTION, 768 + RPC_X_WRONG_ES_VERSION, 769 + RPC_X_WRONG_STUB_VERSION, 770 + RPC_X_INVALID_PIPE_OBJECT, 771 + RPC_X_WRONG_PIPE_ORDER, 772 + RPC_X_WRONG_PIPE_VERSION, // = 1832 773 + RPC_S_GROUP_MEMBER_NOT_FOUND = 1898, 774 + EPT_S_CANT_CREATE, 775 + RPC_S_INVALID_OBJECT, 776 + ERROR_INVALID_TIME, 777 + ERROR_INVALID_FORM_NAME, 778 + ERROR_INVALID_FORM_SIZE, 779 + ERROR_ALREADY_WAITING, 780 + ERROR_PRINTER_DELETED, 781 + ERROR_INVALID_PRINTER_STATE, 782 + ERROR_PASSWORD_MUST_CHANGE, 783 + ERROR_DOMAIN_CONTROLLER_NOT_FOUND, 784 + ERROR_ACCOUNT_LOCKED_OUT, 785 + OR_INVALID_OXID, 786 + OR_INVALID_OID, 787 + OR_INVALID_SET, 788 + RPC_S_SEND_INCOMPLETE, 789 + RPC_S_INVALID_ASYNC_HANDLE, 790 + RPC_S_INVALID_ASYNC_CALL, 791 + RPC_X_PIPE_CLOSED, 792 + RPC_X_PIPE_DISCIPLINE_ERROR, 793 + RPC_X_PIPE_EMPTY, 794 + ERROR_NO_SITENAME, 795 + ERROR_CANT_ACCESS_FILE, 796 + ERROR_CANT_RESOLVE_FILENAME, 797 + RPC_S_ENTRY_TYPE_MISMATCH, 798 + RPC_S_NOT_ALL_OBJS_EXPORTED, 799 + RPC_S_INTERFACE_NOT_EXPORTED, 800 + RPC_S_PROFILE_NOT_ADDED, 801 + RPC_S_PRF_ELT_NOT_ADDED, 802 + RPC_S_PRF_ELT_NOT_REMOVED, 803 + RPC_S_GRP_ELT_NOT_ADDED, 804 + RPC_S_GRP_ELT_NOT_REMOVED, 805 + ERROR_KM_DRIVER_BLOCKED, 806 + ERROR_CONTEXT_EXPIRED, 807 + ERROR_PER_USER_TRUST_QUOTA_EXCEEDED, 808 + ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED, 809 + ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED, // = 1934 810 + ERROR_INVALID_PIXEL_FORMAT = 2000, 811 + ERROR_BAD_DRIVER, 812 + ERROR_INVALID_WINDOW_STYLE, 813 + ERROR_METAFILE_NOT_SUPPORTED, 814 + ERROR_TRANSFORM_NOT_SUPPORTED, 815 + ERROR_CLIPPING_NOT_SUPPORTED, // = 2005 816 + ERROR_INVALID_CMM = 2010, 817 + ERROR_INVALID_PROFILE, 818 + ERROR_TAG_NOT_FOUND, 819 + ERROR_TAG_NOT_PRESENT, 820 + ERROR_DUPLICATE_TAG, 821 + ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE, 822 + ERROR_PROFILE_NOT_FOUND, 823 + ERROR_INVALID_COLORSPACE, 824 + ERROR_ICM_NOT_ENABLED, 825 + ERROR_DELETING_ICM_XFORM, 826 + ERROR_INVALID_TRANSFORM, 827 + ERROR_COLORSPACE_MISMATCH, 828 + ERROR_INVALID_COLORINDEX, // = 2022 829 + ERROR_CONNECTED_OTHER_PASSWORD = 2108, 830 + ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT, // = 2109 831 + ERROR_BAD_USERNAME = 2202, 832 + ERROR_NOT_CONNECTED = 2250, 833 + ERROR_OPEN_FILES = 2401, 834 + ERROR_ACTIVE_CONNECTIONS, // = 2402 835 + ERROR_DEVICE_IN_USE = 2404, 836 + ERROR_UNKNOWN_PRINT_MONITOR = 3000, 837 + ERROR_PRINTER_DRIVER_IN_USE, 838 + ERROR_SPOOL_FILE_NOT_FOUND, 839 + ERROR_SPL_NO_STARTDOC, 840 + ERROR_SPL_NO_ADDJOB, 841 + ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED, 842 + ERROR_PRINT_MONITOR_ALREADY_INSTALLED, 843 + ERROR_INVALID_PRINT_MONITOR, 844 + ERROR_PRINT_MONITOR_IN_USE, 845 + ERROR_PRINTER_HAS_JOBS_QUEUED, 846 + ERROR_SUCCESS_REBOOT_REQUIRED, 847 + ERROR_SUCCESS_RESTART_REQUIRED, 848 + ERROR_PRINTER_NOT_FOUND, 849 + ERROR_PRINTER_DRIVER_WARNED, 850 + ERROR_PRINTER_DRIVER_BLOCKED, // = 3014 851 + ERROR_WINS_INTERNAL = 4000, 852 + ERROR_CAN_NOT_DEL_LOCAL_WINS, 853 + ERROR_STATIC_INIT, 854 + ERROR_INC_BACKUP, 855 + ERROR_FULL_BACKUP, 856 + ERROR_REC_NON_EXISTENT, 857 + ERROR_RPL_NOT_ALLOWED, // = 4006 858 + ERROR_DHCP_ADDRESS_CONFLICT = 4100, 859 + ERROR_WMI_GUID_NOT_FOUND = 4200, 860 + ERROR_WMI_INSTANCE_NOT_FOUND, 861 + ERROR_WMI_ITEMID_NOT_FOUND, 862 + ERROR_WMI_TRY_AGAIN, 863 + ERROR_WMI_DP_NOT_FOUND, 864 + ERROR_WMI_UNRESOLVED_INSTANCE_REF, 865 + ERROR_WMI_ALREADY_ENABLED, 866 + ERROR_WMI_GUID_DISCONNECTED, 867 + ERROR_WMI_SERVER_UNAVAILABLE, 868 + ERROR_WMI_DP_FAILED, 869 + ERROR_WMI_INVALID_MOF, 870 + ERROR_WMI_INVALID_REGINFO, 871 + ERROR_WMI_ALREADY_DISABLED, 872 + ERROR_WMI_READ_ONLY, 873 + ERROR_WMI_SET_FAILURE, // = 4214 874 + ERROR_INVALID_MEDIA = 4300, 875 + ERROR_INVALID_LIBRARY, 876 + ERROR_INVALID_MEDIA_POOL, 877 + ERROR_DRIVE_MEDIA_MISMATCH, 878 + ERROR_MEDIA_OFFLINE, 879 + ERROR_LIBRARY_OFFLINE, 880 + ERROR_EMPTY, 881 + ERROR_NOT_EMPTY, 882 + ERROR_MEDIA_UNAVAILABLE, 883 + ERROR_RESOURCE_DISABLED, 884 + ERROR_INVALID_CLEANER, 885 + ERROR_UNABLE_TO_CLEAN, 886 + ERROR_OBJECT_NOT_FOUND, 887 + ERROR_DATABASE_FAILURE, 888 + ERROR_DATABASE_FULL, 889 + ERROR_MEDIA_INCOMPATIBLE, 890 + ERROR_RESOURCE_NOT_PRESENT, 891 + ERROR_INVALID_OPERATION, 892 + ERROR_MEDIA_NOT_AVAILABLE, 893 + ERROR_DEVICE_NOT_AVAILABLE, 894 + ERROR_REQUEST_REFUSED, 895 + ERROR_INVALID_DRIVE_OBJECT, 896 + ERROR_LIBRARY_FULL, 897 + ERROR_MEDIUM_NOT_ACCESSIBLE, 898 + ERROR_UNABLE_TO_LOAD_MEDIUM, 899 + ERROR_UNABLE_TO_INVENTORY_DRIVE, 900 + ERROR_UNABLE_TO_INVENTORY_SLOT, 901 + ERROR_UNABLE_TO_INVENTORY_TRANSPORT, 902 + ERROR_TRANSPORT_FULL, 903 + ERROR_CONTROLLING_IEPORT, 904 + ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA, 905 + ERROR_CLEANER_SLOT_SET, 906 + ERROR_CLEANER_SLOT_NOT_SET, 907 + ERROR_CLEANER_CARTRIDGE_SPENT, 908 + ERROR_UNEXPECTED_OMID, 909 + ERROR_CANT_DELETE_LAST_ITEM, 910 + ERROR_MESSAGE_EXCEEDS_MAX_SIZE, 911 + ERROR_VOLUME_CONTAINS_SYS_FILES, 912 + ERROR_INDIGENOUS_TYPE, 913 + ERROR_NO_SUPPORTING_DRIVES, 914 + ERROR_CLEANER_CARTRIDGE_INSTALLED, // = 4340 915 + ERROR_FILE_OFFLINE = 4350, 916 + ERROR_REMOTE_STORAGE_NOT_ACTIVE, 917 + ERROR_REMOTE_STORAGE_MEDIA_ERROR, // = 4352 918 + ERROR_NOT_A_REPARSE_POINT = 4390, 919 + ERROR_REPARSE_ATTRIBUTE_CONFLICT, 920 + ERROR_INVALID_REPARSE_DATA, 921 + ERROR_REPARSE_TAG_INVALID, 922 + ERROR_REPARSE_TAG_MISMATCH, // = 4394 923 + ERROR_VOLUME_NOT_SIS_ENABLED = 4500, 924 + ERROR_DEPENDENT_RESOURCE_EXISTS = 5001, 925 + ERROR_DEPENDENCY_NOT_FOUND, 926 + ERROR_DEPENDENCY_ALREADY_EXISTS, 927 + ERROR_RESOURCE_NOT_ONLINE, 928 + ERROR_HOST_NODE_NOT_AVAILABLE, 929 + ERROR_RESOURCE_NOT_AVAILABLE, 930 + ERROR_RESOURCE_NOT_FOUND, 931 + ERROR_SHUTDOWN_CLUSTER, 932 + ERROR_CANT_EVICT_ACTIVE_NODE, 933 + ERROR_OBJECT_ALREADY_EXISTS, 934 + ERROR_OBJECT_IN_LIST, 935 + ERROR_GROUP_NOT_AVAILABLE, 936 + ERROR_GROUP_NOT_FOUND, 937 + ERROR_GROUP_NOT_ONLINE, 938 + ERROR_HOST_NODE_NOT_RESOURCE_OWNER, 939 + ERROR_HOST_NODE_NOT_GROUP_OWNER, 940 + ERROR_RESMON_CREATE_FAILED, 941 + ERROR_RESMON_ONLINE_FAILED, 942 + ERROR_RESOURCE_ONLINE, 943 + ERROR_QUORUM_RESOURCE, 944 + ERROR_NOT_QUORUM_CAPABLE, 945 + ERROR_CLUSTER_SHUTTING_DOWN, 946 + ERROR_INVALID_STATE, 947 + ERROR_RESOURCE_PROPERTIES_STORED, 948 + ERROR_NOT_QUORUM_CLASS, 949 + ERROR_CORE_RESOURCE, 950 + ERROR_QUORUM_RESOURCE_ONLINE_FAILED, 951 + ERROR_QUORUMLOG_OPEN_FAILED, 952 + ERROR_CLUSTERLOG_CORRUPT, 953 + ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE, 954 + ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE, 955 + ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND, 956 + ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE, 957 + ERROR_QUORUM_OWNER_ALIVE, 958 + ERROR_NETWORK_NOT_AVAILABLE, 959 + ERROR_NODE_NOT_AVAILABLE, 960 + ERROR_ALL_NODES_NOT_AVAILABLE, 961 + ERROR_RESOURCE_FAILED, 962 + ERROR_CLUSTER_INVALID_NODE, 963 + ERROR_CLUSTER_NODE_EXISTS, 964 + ERROR_CLUSTER_JOIN_IN_PROGRESS, 965 + ERROR_CLUSTER_NODE_NOT_FOUND, 966 + ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND, 967 + ERROR_CLUSTER_NETWORK_EXISTS, 968 + ERROR_CLUSTER_NETWORK_NOT_FOUND, 969 + ERROR_CLUSTER_NETINTERFACE_EXISTS, 970 + ERROR_CLUSTER_NETINTERFACE_NOT_FOUND, 971 + ERROR_CLUSTER_INVALID_REQUEST, 972 + ERROR_CLUSTER_INVALID_NETWORK_PROVIDER, 973 + ERROR_CLUSTER_NODE_DOWN, 974 + ERROR_CLUSTER_NODE_UNREACHABLE, 975 + ERROR_CLUSTER_NODE_NOT_MEMBER, 976 + ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS, 977 + ERROR_CLUSTER_INVALID_NETWORK, // = 5054 978 + ERROR_CLUSTER_NODE_UP = 5056, 979 + ERROR_CLUSTER_IPADDR_IN_USE, 980 + ERROR_CLUSTER_NODE_NOT_PAUSED, 981 + ERROR_CLUSTER_NO_SECURITY_CONTEXT, 982 + ERROR_CLUSTER_NETWORK_NOT_INTERNAL, 983 + ERROR_CLUSTER_NODE_ALREADY_UP, 984 + ERROR_CLUSTER_NODE_ALREADY_DOWN, 985 + ERROR_CLUSTER_NETWORK_ALREADY_ONLINE, 986 + ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE, 987 + ERROR_CLUSTER_NODE_ALREADY_MEMBER, 988 + ERROR_CLUSTER_LAST_INTERNAL_NETWORK, 989 + ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS, 990 + ERROR_INVALID_OPERATION_ON_QUORUM, 991 + ERROR_DEPENDENCY_NOT_ALLOWED, 992 + ERROR_CLUSTER_NODE_PAUSED, 993 + ERROR_NODE_CANT_HOST_RESOURCE, 994 + ERROR_CLUSTER_NODE_NOT_READY, 995 + ERROR_CLUSTER_NODE_SHUTTING_DOWN, 996 + ERROR_CLUSTER_JOIN_ABORTED, 997 + ERROR_CLUSTER_INCOMPATIBLE_VERSIONS, 998 + ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED, 999 + ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED, 1000 + ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND, 1001 + ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED, 1002 + ERROR_CLUSTER_RESNAME_NOT_FOUND, 1003 + ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED, 1004 + ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST, 1005 + ERROR_CLUSTER_DATABASE_SEQMISMATCH, 1006 + ERROR_RESMON_INVALID_STATE, 1007 + ERROR_CLUSTER_GUM_NOT_LOCKER, 1008 + ERROR_QUORUM_DISK_NOT_FOUND, 1009 + ERROR_DATABASE_BACKUP_CORRUPT, 1010 + ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT, 1011 + ERROR_RESOURCE_PROPERTY_UNCHANGEABLE, // = 5089 1012 + ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE = 5890, 1013 + ERROR_CLUSTER_QUORUMLOG_NOT_FOUND, 1014 + ERROR_CLUSTER_MEMBERSHIP_HALT, 1015 + ERROR_CLUSTER_INSTANCE_ID_MISMATCH, 1016 + ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP, 1017 + ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH, 1018 + ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP, 1019 + ERROR_CLUSTER_PARAMETER_MISMATCH, 1020 + ERROR_NODE_CANNOT_BE_CLUSTERED, 1021 + ERROR_CLUSTER_WRONG_OS_VERSION, 1022 + ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME, 1023 + ERROR_CLUSCFG_ALREADY_COMMITTED, 1024 + ERROR_CLUSCFG_ROLLBACK_FAILED, 1025 + ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT, 1026 + ERROR_CLUSTER_OLD_VERSION, 1027 + ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME, // = 5905 1028 + ERROR_ENCRYPTION_FAILED = 6000, 1029 + ERROR_DECRYPTION_FAILED, 1030 + ERROR_FILE_ENCRYPTED, 1031 + ERROR_NO_RECOVERY_POLICY, 1032 + ERROR_NO_EFS, 1033 + ERROR_WRONG_EFS, 1034 + ERROR_NO_USER_KEYS, 1035 + ERROR_FILE_NOT_ENCRYPTED, 1036 + ERROR_NOT_EXPORT_FORMAT, 1037 + ERROR_FILE_READ_ONLY, 1038 + ERROR_DIR_EFS_DISALLOWED, 1039 + ERROR_EFS_SERVER_NOT_TRUSTED, 1040 + ERROR_BAD_RECOVERY_POLICY, 1041 + ERROR_EFS_ALG_BLOB_TOO_BIG, 1042 + ERROR_VOLUME_NOT_SUPPORT_EFS, 1043 + ERROR_EFS_DISABLED, 1044 + ERROR_EFS_VERSION_NOT_SUPPORT, // = 6016 1045 + ERROR_NO_BROWSER_SERVERS_FOUND = 6118, 1046 + SCHED_E_SERVICE_NOT_LOCALSYSTEM = 6200, 1047 + 1048 + ERROR_CTX_WINSTATION_NAME_INVALID = 7001, 1049 + ERROR_CTX_INVALID_PD, 1050 + ERROR_CTX_PD_NOT_FOUND, 1051 + ERROR_CTX_WD_NOT_FOUND, 1052 + ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY, 1053 + ERROR_CTX_SERVICE_NAME_COLLISION, 1054 + ERROR_CTX_CLOSE_PENDING, 1055 + ERROR_CTX_NO_OUTBUF, 1056 + ERROR_CTX_MODEM_INF_NOT_FOUND, 1057 + ERROR_CTX_INVALID_MODEMNAME, 1058 + ERROR_CTX_MODEM_RESPONSE_ERROR, 1059 + ERROR_CTX_MODEM_RESPONSE_TIMEOUT, 1060 + ERROR_CTX_MODEM_RESPONSE_NO_CARRIER, 1061 + ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE, 1062 + ERROR_CTX_MODEM_RESPONSE_BUSY, 1063 + ERROR_CTX_MODEM_RESPONSE_VOICE, 1064 + ERROR_CTX_TD_ERROR, // = 7017 1065 + ERROR_CTX_WINSTATION_NOT_FOUND = 7022, 1066 + ERROR_CTX_WINSTATION_ALREADY_EXISTS, 1067 + ERROR_CTX_WINSTATION_BUSY, 1068 + ERROR_CTX_BAD_VIDEO_MODE, // = 7025 1069 + ERROR_CTX_GRAPHICS_INVALID = 7035, 1070 + ERROR_CTX_LOGON_DISABLED = 7037, 1071 + ERROR_CTX_NOT_CONSOLE, // = 7038 1072 + ERROR_CTX_CLIENT_QUERY_TIMEOUT = 7040, 1073 + ERROR_CTX_CONSOLE_DISCONNECT, 1074 + ERROR_CTX_CONSOLE_CONNECT, // = 7042 1075 + ERROR_CTX_SHADOW_DENIED = 7044, 1076 + ERROR_CTX_WINSTATION_ACCESS_DENIED, // = 7045 1077 + ERROR_CTX_INVALID_WD = 7049, 1078 + ERROR_CTX_SHADOW_INVALID, 1079 + ERROR_CTX_SHADOW_DISABLED, 1080 + ERROR_CTX_CLIENT_LICENSE_IN_USE, 1081 + ERROR_CTX_CLIENT_LICENSE_NOT_SET, 1082 + ERROR_CTX_LICENSE_NOT_AVAILABLE, 1083 + ERROR_CTX_LICENSE_CLIENT_INVALID, 1084 + ERROR_CTX_LICENSE_EXPIRED, 1085 + ERROR_CTX_SHADOW_NOT_RUNNING, 1086 + ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE, 1087 + ERROR_ACTIVATION_COUNT_EXCEEDED, // = 7059 1088 + 1089 + FRS_ERR_INVALID_API_SEQUENCE = 8001, 1090 + FRS_ERR_STARTING_SERVICE, 1091 + FRS_ERR_STOPPING_SERVICE, 1092 + FRS_ERR_INTERNAL_API, 1093 + FRS_ERR_INTERNAL, 1094 + FRS_ERR_SERVICE_COMM, 1095 + FRS_ERR_INSUFFICIENT_PRIV, 1096 + FRS_ERR_AUTHENTICATION, 1097 + FRS_ERR_PARENT_INSUFFICIENT_PRIV, 1098 + FRS_ERR_PARENT_AUTHENTICATION, 1099 + FRS_ERR_CHILD_TO_PARENT_COMM, 1100 + FRS_ERR_PARENT_TO_CHILD_COMM, 1101 + FRS_ERR_SYSVOL_POPULATE, 1102 + FRS_ERR_SYSVOL_POPULATE_TIMEOUT, 1103 + FRS_ERR_SYSVOL_IS_BUSY, 1104 + FRS_ERR_SYSVOL_DEMOTE, 1105 + FRS_ERR_INVALID_SERVICE_PARAMETER, // = 8017 1106 + ERROR_DS_NOT_INSTALLED = 8200, 1107 + ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY, 1108 + ERROR_DS_NO_ATTRIBUTE_OR_VALUE, 1109 + ERROR_DS_INVALID_ATTRIBUTE_SYNTAX, 1110 + ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED, 1111 + ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS, 1112 + ERROR_DS_BUSY, 1113 + ERROR_DS_UNAVAILABLE, 1114 + ERROR_DS_NO_RIDS_ALLOCATED, 1115 + ERROR_DS_NO_MORE_RIDS, 1116 + ERROR_DS_INCORRECT_ROLE_OWNER, 1117 + ERROR_DS_RIDMGR_INIT_ERROR, 1118 + ERROR_DS_OBJ_CLASS_VIOLATION, 1119 + ERROR_DS_CANT_ON_NON_LEAF, 1120 + ERROR_DS_CANT_ON_RDN, 1121 + ERROR_DS_CANT_MOD_OBJ_CLASS, 1122 + ERROR_DS_CROSS_DOM_MOVE_ERROR, 1123 + ERROR_DS_GC_NOT_AVAILABLE, 1124 + ERROR_SHARED_POLICY, 1125 + ERROR_POLICY_OBJECT_NOT_FOUND, 1126 + ERROR_POLICY_ONLY_IN_DS, 1127 + ERROR_PROMOTION_ACTIVE, 1128 + ERROR_NO_PROMOTION_ACTIVE, // = 8222 1129 + ERROR_DS_OPERATIONS_ERROR = 8224, 1130 + ERROR_DS_PROTOCOL_ERROR, 1131 + ERROR_DS_TIMELIMIT_EXCEEDED, 1132 + ERROR_DS_SIZELIMIT_EXCEEDED, 1133 + ERROR_DS_ADMIN_LIMIT_EXCEEDED, 1134 + ERROR_DS_COMPARE_FALSE, 1135 + ERROR_DS_COMPARE_TRUE, 1136 + ERROR_DS_AUTH_METHOD_NOT_SUPPORTED, 1137 + ERROR_DS_STRONG_AUTH_REQUIRED, 1138 + ERROR_DS_INAPPROPRIATE_AUTH, 1139 + ERROR_DS_AUTH_UNKNOWN, 1140 + ERROR_DS_REFERRAL, 1141 + ERROR_DS_UNAVAILABLE_CRIT_EXTENSION, 1142 + ERROR_DS_CONFIDENTIALITY_REQUIRED, 1143 + ERROR_DS_INAPPROPRIATE_MATCHING, 1144 + ERROR_DS_CONSTRAINT_VIOLATION, 1145 + ERROR_DS_NO_SUCH_OBJECT, 1146 + ERROR_DS_ALIAS_PROBLEM, 1147 + ERROR_DS_INVALID_DN_SYNTAX, 1148 + ERROR_DS_IS_LEAF, 1149 + ERROR_DS_ALIAS_DEREF_PROBLEM, 1150 + ERROR_DS_UNWILLING_TO_PERFORM, 1151 + ERROR_DS_LOOP_DETECT, 1152 + ERROR_DS_NAMING_VIOLATION, 1153 + ERROR_DS_OBJECT_RESULTS_TOO_LARGE, 1154 + ERROR_DS_AFFECTS_MULTIPLE_DSAS, 1155 + ERROR_DS_SERVER_DOWN, 1156 + ERROR_DS_LOCAL_ERROR, 1157 + ERROR_DS_ENCODING_ERROR, 1158 + ERROR_DS_DECODING_ERROR, 1159 + ERROR_DS_FILTER_UNKNOWN, 1160 + ERROR_DS_PARAM_ERROR, 1161 + ERROR_DS_NOT_SUPPORTED, 1162 + ERROR_DS_NO_RESULTS_RETURNED, 1163 + ERROR_DS_CONTROL_NOT_FOUND, 1164 + ERROR_DS_CLIENT_LOOP, 1165 + ERROR_DS_REFERRAL_LIMIT_EXCEEDED, 1166 + ERROR_DS_SORT_CONTROL_MISSING, 1167 + ERROR_DS_OFFSET_RANGE_ERROR, // = 8262 1168 + ERROR_DS_ROOT_MUST_BE_NC = 8301, 1169 + ERROR_DS_ADD_REPLICA_INHIBITED, 1170 + ERROR_DS_ATT_NOT_DEF_IN_SCHEMA, 1171 + ERROR_DS_MAX_OBJ_SIZE_EXCEEDED, 1172 + ERROR_DS_OBJ_STRING_NAME_EXISTS, 1173 + ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA, 1174 + ERROR_DS_RDN_DOESNT_MATCH_SCHEMA, 1175 + ERROR_DS_NO_REQUESTED_ATTS_FOUND, 1176 + ERROR_DS_USER_BUFFER_TO_SMALL, 1177 + ERROR_DS_ATT_IS_NOT_ON_OBJ, 1178 + ERROR_DS_ILLEGAL_MOD_OPERATION, 1179 + ERROR_DS_OBJ_TOO_LARGE, 1180 + ERROR_DS_BAD_INSTANCE_TYPE, 1181 + ERROR_DS_MASTERDSA_REQUIRED, 1182 + ERROR_DS_OBJECT_CLASS_REQUIRED, 1183 + ERROR_DS_MISSING_REQUIRED_ATT, 1184 + ERROR_DS_ATT_NOT_DEF_FOR_CLASS, 1185 + ERROR_DS_ATT_ALREADY_EXISTS, // = 8318 1186 + ERROR_DS_CANT_ADD_ATT_VALUES = 8320, 1187 + ERROR_DS_SINGLE_VALUE_CONSTRAINT, 1188 + ERROR_DS_RANGE_CONSTRAINT, 1189 + ERROR_DS_ATT_VAL_ALREADY_EXISTS, 1190 + ERROR_DS_CANT_REM_MISSING_ATT, 1191 + ERROR_DS_CANT_REM_MISSING_ATT_VAL, 1192 + ERROR_DS_ROOT_CANT_BE_SUBREF, 1193 + ERROR_DS_NO_CHAINING, 1194 + ERROR_DS_NO_CHAINED_EVAL, 1195 + ERROR_DS_NO_PARENT_OBJECT, 1196 + ERROR_DS_PARENT_IS_AN_ALIAS, 1197 + ERROR_DS_CANT_MIX_MASTER_AND_REPS, 1198 + ERROR_DS_CHILDREN_EXIST, 1199 + ERROR_DS_OBJ_NOT_FOUND, 1200 + ERROR_DS_ALIASED_OBJ_MISSING, 1201 + ERROR_DS_BAD_NAME_SYNTAX, 1202 + ERROR_DS_ALIAS_POINTS_TO_ALIAS, 1203 + ERROR_DS_CANT_DEREF_ALIAS, 1204 + ERROR_DS_OUT_OF_SCOPE, 1205 + ERROR_DS_OBJECT_BEING_REMOVED, 1206 + ERROR_DS_CANT_DELETE_DSA_OBJ, 1207 + ERROR_DS_GENERIC_ERROR, 1208 + ERROR_DS_DSA_MUST_BE_INT_MASTER, 1209 + ERROR_DS_CLASS_NOT_DSA, 1210 + ERROR_DS_INSUFF_ACCESS_RIGHTS, 1211 + ERROR_DS_ILLEGAL_SUPERIOR, 1212 + ERROR_DS_ATTRIBUTE_OWNED_BY_SAM, 1213 + ERROR_DS_NAME_TOO_MANY_PARTS, 1214 + ERROR_DS_NAME_TOO_LONG, 1215 + ERROR_DS_NAME_VALUE_TOO_LONG, 1216 + ERROR_DS_NAME_UNPARSEABLE, 1217 + ERROR_DS_NAME_TYPE_UNKNOWN, 1218 + ERROR_DS_NOT_AN_OBJECT, 1219 + ERROR_DS_SEC_DESC_TOO_SHORT, 1220 + ERROR_DS_SEC_DESC_INVALID, 1221 + ERROR_DS_NO_DELETED_NAME, 1222 + ERROR_DS_SUBREF_MUST_HAVE_PARENT, 1223 + ERROR_DS_NCNAME_MUST_BE_NC, 1224 + ERROR_DS_CANT_ADD_SYSTEM_ONLY, 1225 + ERROR_DS_CLASS_MUST_BE_CONCRETE, 1226 + ERROR_DS_INVALID_DMD, 1227 + ERROR_DS_OBJ_GUID_EXISTS, 1228 + ERROR_DS_NOT_ON_BACKLINK, 1229 + ERROR_DS_NO_CROSSREF_FOR_NC, 1230 + ERROR_DS_SHUTTING_DOWN, 1231 + ERROR_DS_UNKNOWN_OPERATION, 1232 + ERROR_DS_INVALID_ROLE_OWNER, 1233 + ERROR_DS_COULDNT_CONTACT_FSMO, 1234 + ERROR_DS_CROSS_NC_DN_RENAME, 1235 + ERROR_DS_CANT_MOD_SYSTEM_ONLY, 1236 + ERROR_DS_REPLICATOR_ONLY, 1237 + ERROR_DS_OBJ_CLASS_NOT_DEFINED, 1238 + ERROR_DS_OBJ_CLASS_NOT_SUBCLASS, 1239 + ERROR_DS_NAME_REFERENCE_INVALID, 1240 + ERROR_DS_CROSS_REF_EXISTS, 1241 + ERROR_DS_CANT_DEL_MASTER_CROSSREF, 1242 + ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD, 1243 + ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX, 1244 + ERROR_DS_DUP_RDN, 1245 + ERROR_DS_DUP_OID, 1246 + ERROR_DS_DUP_MAPI_ID, 1247 + ERROR_DS_DUP_SCHEMA_ID_GUID, 1248 + ERROR_DS_DUP_LDAP_DISPLAY_NAME, 1249 + ERROR_DS_SEMANTIC_ATT_TEST, 1250 + ERROR_DS_SYNTAX_MISMATCH, 1251 + ERROR_DS_EXISTS_IN_MUST_HAVE, 1252 + ERROR_DS_EXISTS_IN_MAY_HAVE, 1253 + ERROR_DS_NONEXISTENT_MAY_HAVE, 1254 + ERROR_DS_NONEXISTENT_MUST_HAVE, 1255 + ERROR_DS_AUX_CLS_TEST_FAIL, 1256 + ERROR_DS_NONEXISTENT_POSS_SUP, 1257 + ERROR_DS_SUB_CLS_TEST_FAIL, 1258 + ERROR_DS_BAD_RDN_ATT_ID_SYNTAX, 1259 + ERROR_DS_EXISTS_IN_AUX_CLS, 1260 + ERROR_DS_EXISTS_IN_SUB_CLS, 1261 + ERROR_DS_EXISTS_IN_POSS_SUP, 1262 + ERROR_DS_RECALCSCHEMA_FAILED, 1263 + ERROR_DS_TREE_DELETE_NOT_FINISHED, 1264 + ERROR_DS_CANT_DELETE, 1265 + ERROR_DS_ATT_SCHEMA_REQ_ID, 1266 + ERROR_DS_BAD_ATT_SCHEMA_SYNTAX, 1267 + ERROR_DS_CANT_CACHE_ATT, 1268 + ERROR_DS_CANT_CACHE_CLASS, 1269 + ERROR_DS_CANT_REMOVE_ATT_CACHE, 1270 + ERROR_DS_CANT_REMOVE_CLASS_CACHE, 1271 + ERROR_DS_CANT_RETRIEVE_DN, 1272 + ERROR_DS_MISSING_SUPREF, 1273 + ERROR_DS_CANT_RETRIEVE_INSTANCE, 1274 + ERROR_DS_CODE_INCONSISTENCY, 1275 + ERROR_DS_DATABASE_ERROR, 1276 + ERROR_DS_GOVERNSID_MISSING, 1277 + ERROR_DS_MISSING_EXPECTED_ATT, 1278 + ERROR_DS_NCNAME_MISSING_CR_REF, 1279 + ERROR_DS_SECURITY_CHECKING_ERROR, 1280 + ERROR_DS_SCHEMA_NOT_LOADED, 1281 + ERROR_DS_SCHEMA_ALLOC_FAILED, 1282 + ERROR_DS_ATT_SCHEMA_REQ_SYNTAX, 1283 + ERROR_DS_GCVERIFY_ERROR, 1284 + ERROR_DS_DRA_SCHEMA_MISMATCH, 1285 + ERROR_DS_CANT_FIND_DSA_OBJ, 1286 + ERROR_DS_CANT_FIND_EXPECTED_NC, 1287 + ERROR_DS_CANT_FIND_NC_IN_CACHE, 1288 + ERROR_DS_CANT_RETRIEVE_CHILD, 1289 + ERROR_DS_SECURITY_ILLEGAL_MODIFY, 1290 + ERROR_DS_CANT_REPLACE_HIDDEN_REC, 1291 + ERROR_DS_BAD_HIERARCHY_FILE, 1292 + ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED, 1293 + ERROR_DS_CONFIG_PARAM_MISSING, 1294 + ERROR_DS_COUNTING_AB_INDICES_FAILED, 1295 + ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED, 1296 + ERROR_DS_INTERNAL_FAILURE, 1297 + ERROR_DS_UNKNOWN_ERROR, 1298 + ERROR_DS_ROOT_REQUIRES_CLASS_TOP, 1299 + ERROR_DS_REFUSING_FSMO_ROLES, 1300 + ERROR_DS_MISSING_FSMO_SETTINGS, 1301 + ERROR_DS_UNABLE_TO_SURRENDER_ROLES, 1302 + ERROR_DS_DRA_GENERIC, 1303 + ERROR_DS_DRA_INVALID_PARAMETER, 1304 + ERROR_DS_DRA_BUSY, 1305 + ERROR_DS_DRA_BAD_DN, 1306 + ERROR_DS_DRA_BAD_NC, 1307 + ERROR_DS_DRA_DN_EXISTS, 1308 + ERROR_DS_DRA_INTERNAL_ERROR, 1309 + ERROR_DS_DRA_INCONSISTENT_DIT, 1310 + ERROR_DS_DRA_CONNECTION_FAILED, 1311 + ERROR_DS_DRA_BAD_INSTANCE_TYPE, 1312 + ERROR_DS_DRA_OUT_OF_MEM, 1313 + ERROR_DS_DRA_MAIL_PROBLEM, 1314 + ERROR_DS_DRA_REF_ALREADY_EXISTS, 1315 + ERROR_DS_DRA_REF_NOT_FOUND, 1316 + ERROR_DS_DRA_OBJ_IS_REP_SOURCE, 1317 + ERROR_DS_DRA_DB_ERROR, 1318 + ERROR_DS_DRA_NO_REPLICA, 1319 + ERROR_DS_DRA_ACCESS_DENIED, 1320 + ERROR_DS_DRA_NOT_SUPPORTED, 1321 + ERROR_DS_DRA_RPC_CANCELLED, 1322 + ERROR_DS_DRA_SOURCE_DISABLED, 1323 + ERROR_DS_DRA_SINK_DISABLED, 1324 + ERROR_DS_DRA_NAME_COLLISION, 1325 + ERROR_DS_DRA_SOURCE_REINSTALLED, 1326 + ERROR_DS_DRA_MISSING_PARENT, 1327 + ERROR_DS_DRA_PREEMPTED, 1328 + ERROR_DS_DRA_ABANDON_SYNC, 1329 + ERROR_DS_DRA_SHUTDOWN, 1330 + ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET, 1331 + ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA, 1332 + ERROR_DS_DRA_EXTN_CONNECTION_FAILED, 1333 + ERROR_DS_INSTALL_SCHEMA_MISMATCH, 1334 + ERROR_DS_DUP_LINK_ID, 1335 + ERROR_DS_NAME_ERROR_RESOLVING, 1336 + ERROR_DS_NAME_ERROR_NOT_FOUND, 1337 + ERROR_DS_NAME_ERROR_NOT_UNIQUE, 1338 + ERROR_DS_NAME_ERROR_NO_MAPPING, 1339 + ERROR_DS_NAME_ERROR_DOMAIN_ONLY, 1340 + ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING, 1341 + ERROR_DS_CONSTRUCTED_ATT_MOD, 1342 + ERROR_DS_WRONG_OM_OBJ_CLASS, 1343 + ERROR_DS_DRA_REPL_PENDING, 1344 + ERROR_DS_DS_REQUIRED, 1345 + ERROR_DS_INVALID_LDAP_DISPLAY_NAME, 1346 + ERROR_DS_NON_BASE_SEARCH, 1347 + ERROR_DS_CANT_RETRIEVE_ATTS, 1348 + ERROR_DS_BACKLINK_WITHOUT_LINK, 1349 + ERROR_DS_EPOCH_MISMATCH, 1350 + ERROR_DS_SRC_NAME_MISMATCH, 1351 + ERROR_DS_SRC_AND_DST_NC_IDENTICAL, 1352 + ERROR_DS_DST_NC_MISMATCH, 1353 + ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC, 1354 + ERROR_DS_SRC_GUID_MISMATCH, 1355 + ERROR_DS_CANT_MOVE_DELETED_OBJECT, 1356 + ERROR_DS_PDC_OPERATION_IN_PROGRESS, 1357 + ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD, 1358 + ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION, 1359 + ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS, 1360 + ERROR_DS_NC_MUST_HAVE_NC_PARENT, 1361 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE, 1362 + ERROR_DS_DST_DOMAIN_NOT_NATIVE, 1363 + ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER, 1364 + ERROR_DS_CANT_MOVE_ACCOUNT_GROUP, 1365 + ERROR_DS_CANT_MOVE_RESOURCE_GROUP, 1366 + ERROR_DS_INVALID_SEARCH_FLAG, 1367 + ERROR_DS_NO_TREE_DELETE_ABOVE_NC, 1368 + ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE, 1369 + ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE, 1370 + ERROR_DS_SAM_INIT_FAILURE, 1371 + ERROR_DS_SENSITIVE_GROUP_VIOLATION, 1372 + ERROR_DS_CANT_MOD_PRIMARYGROUPID, 1373 + ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD, 1374 + ERROR_DS_NONSAFE_SCHEMA_CHANGE, 1375 + ERROR_DS_SCHEMA_UPDATE_DISALLOWED, 1376 + ERROR_DS_CANT_CREATE_UNDER_SCHEMA, 1377 + ERROR_DS_INSTALL_NO_SRC_SCH_VERSION, 1378 + ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE, 1379 + ERROR_DS_INVALID_GROUP_TYPE, 1380 + ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN, 1381 + ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN, 1382 + ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER, 1383 + ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER, 1384 + ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER, 1385 + ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER, 1386 + ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER, 1387 + ERROR_DS_HAVE_PRIMARY_MEMBERS, 1388 + ERROR_DS_STRING_SD_CONVERSION_FAILED, 1389 + ERROR_DS_NAMING_MASTER_GC, 1390 + ERROR_DS_LOOKUP_FAILURE, 1391 + ERROR_DS_COULDNT_UPDATE_SPNS, 1392 + ERROR_DS_CANT_RETRIEVE_SD, 1393 + ERROR_DS_KEY_NOT_UNIQUE, 1394 + ERROR_DS_WRONG_LINKED_ATT_SYNTAX, 1395 + ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD, 1396 + ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY, 1397 + ERROR_DS_CANT_START, 1398 + ERROR_DS_INIT_FAILURE, 1399 + ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION, 1400 + ERROR_DS_SOURCE_DOMAIN_IN_FOREST, 1401 + ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST, 1402 + ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED, 1403 + ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN, 1404 + ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER, 1405 + ERROR_DS_SRC_SID_EXISTS_IN_FOREST, 1406 + ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH, 1407 + ERROR_SAM_INIT_FAILURE, 1408 + ERROR_DS_DRA_SCHEMA_INFO_SHIP, 1409 + ERROR_DS_DRA_SCHEMA_CONFLICT, 1410 + ERROR_DS_DRA_EARLIER_SCHEMA_CONLICT, 1411 + ERROR_DS_DRA_OBJ_NC_MISMATCH, 1412 + ERROR_DS_NC_STILL_HAS_DSAS, 1413 + ERROR_DS_GC_REQUIRED, 1414 + ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY, 1415 + ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS, 1416 + ERROR_DS_CANT_ADD_TO_GC, 1417 + ERROR_DS_NO_CHECKPOINT_WITH_PDC, 1418 + ERROR_DS_SOURCE_AUDITING_NOT_ENABLED, 1419 + ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC, 1420 + ERROR_DS_INVALID_NAME_FOR_SPN, 1421 + ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS, 1422 + ERROR_DS_UNICODEPWD_NOT_IN_QUOTES, 1423 + ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED, 1424 + ERROR_DS_MUST_BE_RUN_ON_DST_DC, 1425 + ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER, 1426 + ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ, 1427 + ERROR_DS_INIT_FAILURE_CONSOLE, 1428 + ERROR_DS_SAM_INIT_FAILURE_CONSOLE, 1429 + ERROR_DS_FOREST_VERSION_TOO_HIGH, 1430 + ERROR_DS_DOMAIN_VERSION_TOO_HIGH, 1431 + ERROR_DS_FOREST_VERSION_TOO_LOW, 1432 + ERROR_DS_DOMAIN_VERSION_TOO_LOW, 1433 + ERROR_DS_INCOMPATIBLE_VERSION, 1434 + ERROR_DS_LOW_DSA_VERSION, 1435 + ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN, 1436 + ERROR_DS_NOT_SUPPORTED_SORT_ORDER, 1437 + ERROR_DS_NAME_NOT_UNIQUE, 1438 + ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4, 1439 + ERROR_DS_OUT_OF_VERSION_STORE, 1440 + ERROR_DS_INCOMPATIBLE_CONTROLS_USED, 1441 + ERROR_DS_NO_REF_DOMAIN, 1442 + ERROR_DS_RESERVED_LINK_ID, 1443 + ERROR_DS_LINK_ID_NOT_AVAILABLE, 1444 + ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER, 1445 + ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE, 1446 + ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC, 1447 + ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG, 1448 + ERROR_DS_MODIFYDN_WRONG_GRANDPARENT, 1449 + ERROR_DS_NAME_ERROR_TRUST_REFERRAL, 1450 + ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER, 1451 + ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD, 1452 + ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2, 1453 + ERROR_DS_THREAD_LIMIT_EXCEEDED, 1454 + ERROR_DS_NOT_CLOSEST, 1455 + ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF, 1456 + ERROR_DS_SINGLE_USER_MODE_FAILED, 1457 + ERROR_DS_NTDSCRIPT_SYNTAX_ERROR, 1458 + ERROR_DS_NTDSCRIPT_PROCESS_ERROR, 1459 + ERROR_DS_DIFFERENT_REPL_EPOCHS, 1460 + ERROR_DS_DRS_EXTENSIONS_CHANGED, 1461 + ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR, 1462 + ERROR_DS_NO_MSDS_INTID, 1463 + ERROR_DS_DUP_MSDS_INTID, 1464 + ERROR_DS_EXISTS_IN_RDNATTID, 1465 + ERROR_DS_AUTHORIZATION_FAILED, 1466 + ERROR_DS_INVALID_SCRIPT, 1467 + ERROR_DS_REMOTE_CROSSREF_OP_FAILED, 1468 + ERROR_DS_CROSS_REF_BUSY, 1469 + ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN, 1470 + ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC, 1471 + ERROR_DS_DUPLICATE_ID_FOUND, 1472 + ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT, 1473 + ERROR_DS_GROUP_CONVERSION_ERROR, 1474 + ERROR_DS_CANT_MOVE_APP_BASIC_GROUP, 1475 + ERROR_DS_CANT_MOVE_APP_QUERY_GROUP, 1476 + ERROR_DS_ROLE_NOT_VERIFIED, 1477 + ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL, 1478 + ERROR_DS_DOMAIN_RENAME_IN_PROGRESS, 1479 + ERROR_DS_EXISTING_AD_CHILD_NC, // = 8613 1480 + DNS_ERROR_RCODE_FORMAT_ERROR = 9001, 1481 + DNS_ERROR_RCODE_SERVER_FAILURE, 1482 + DNS_ERROR_RCODE_NAME_ERROR, 1483 + DNS_ERROR_RCODE_NOT_IMPLEMENTED, 1484 + DNS_ERROR_RCODE_REFUSED, 1485 + DNS_ERROR_RCODE_YXDOMAIN, 1486 + DNS_ERROR_RCODE_YXRRSET, 1487 + DNS_ERROR_RCODE_NXRRSET, 1488 + DNS_ERROR_RCODE_NOTAUTH, 1489 + DNS_ERROR_RCODE_NOTZONE, // = 9010 1490 + DNS_ERROR_RCODE_BADSIG = 9016, 1491 + DNS_ERROR_RCODE_BADKEY, 1492 + DNS_ERROR_RCODE_BADTIME, // = 9018 1493 + DNS_INFO_NO_RECORDS = 9501, 1494 + DNS_ERROR_BAD_PACKET, 1495 + DNS_ERROR_NO_PACKET, 1496 + DNS_ERROR_RCODE, 1497 + DNS_ERROR_UNSECURE_PACKET, // = 9505 1498 + DNS_ERROR_INVALID_TYPE = 9551, 1499 + DNS_ERROR_INVALID_IP_ADDRESS, 1500 + DNS_ERROR_INVALID_PROPERTY, 1501 + DNS_ERROR_TRY_AGAIN_LATER, 1502 + DNS_ERROR_NOT_UNIQUE, 1503 + DNS_ERROR_NON_RFC_NAME, 1504 + DNS_STATUS_FQDN, 1505 + DNS_STATUS_DOTTED_NAME, 1506 + DNS_STATUS_SINGLE_PART_NAME, 1507 + DNS_ERROR_INVALID_NAME_CHAR, 1508 + DNS_ERROR_NUMERIC_NAME, 1509 + DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER, 1510 + DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION, 1511 + DNS_ERROR_CANNOT_FIND_ROOT_HINTS, 1512 + DNS_ERROR_INCONSISTENT_ROOT_HINTS, // = 9565 1513 + DNS_ERROR_ZONE_DOES_NOT_EXIST = 9601, 1514 + DNS_ERROR_NO_ZONE_INFO, 1515 + DNS_ERROR_INVALID_ZONE_OPERATION, 1516 + DNS_ERROR_ZONE_CONFIGURATION_ERROR, 1517 + DNS_ERROR_ZONE_HAS_NO_SOA_RECORD, 1518 + DNS_ERROR_ZONE_HAS_NO_NS_RECORDS, 1519 + DNS_ERROR_ZONE_LOCKED, 1520 + DNS_ERROR_ZONE_CREATION_FAILED, 1521 + DNS_ERROR_ZONE_ALREADY_EXISTS, 1522 + DNS_ERROR_AUTOZONE_ALREADY_EXISTS, 1523 + DNS_ERROR_INVALID_ZONE_TYPE, 1524 + DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP, 1525 + DNS_ERROR_ZONE_NOT_SECONDARY, 1526 + DNS_ERROR_NEED_SECONDARY_ADDRESSES, 1527 + DNS_ERROR_WINS_INIT_FAILED, 1528 + DNS_ERROR_NEED_WINS_SERVERS, 1529 + DNS_ERROR_NBSTAT_INIT_FAILED, 1530 + DNS_ERROR_SOA_DELETE_INVALID, 1531 + DNS_ERROR_FORWARDER_ALREADY_EXISTS, 1532 + DNS_ERROR_ZONE_REQUIRES_MASTER_IP, 1533 + DNS_ERROR_ZONE_IS_SHUTDOWN, // = 9621 1534 + DNS_ERROR_PRIMARY_REQUIRES_DATAFILE = 9651, 1535 + DNS_ERROR_INVALID_DATAFILE_NAME, 1536 + DNS_ERROR_DATAFILE_OPEN_FAILURE, 1537 + DNS_ERROR_FILE_WRITEBACK_FAILED, 1538 + DNS_ERROR_DATAFILE_PARSING, // = 9655 1539 + DNS_ERROR_RECORD_DOES_NOT_EXIST = 9701, 1540 + DNS_ERROR_RECORD_FORMAT, 1541 + DNS_ERROR_NODE_CREATION_FAILED, 1542 + DNS_ERROR_UNKNOWN_RECORD_TYPE, 1543 + DNS_ERROR_RECORD_TIMED_OUT, 1544 + DNS_ERROR_NAME_NOT_IN_ZONE, 1545 + DNS_ERROR_CNAME_LOOP, 1546 + DNS_ERROR_NODE_IS_CNAME, 1547 + DNS_ERROR_CNAME_COLLISION, 1548 + DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT, 1549 + DNS_ERROR_RECORD_ALREADY_EXISTS, 1550 + DNS_ERROR_SECONDARY_DATA, 1551 + DNS_ERROR_NO_CREATE_CACHE_DATA, 1552 + DNS_ERROR_NAME_DOES_NOT_EXIST, 1553 + DNS_WARNING_PTR_CREATE_FAILED, 1554 + DNS_WARNING_DOMAIN_UNDELETED, 1555 + DNS_ERROR_DS_UNAVAILABLE, 1556 + DNS_ERROR_DS_ZONE_ALREADY_EXISTS, 1557 + DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE, // = 9719 1558 + DNS_INFO_AXFR_COMPLETE = 9751, 1559 + DNS_ERROR_AXFR, 1560 + DNS_INFO_ADDED_LOCAL_WINS, // = 9753 1561 + DNS_STATUS_CONTINUE_NEEDED = 9801, 1562 + DNS_ERROR_NO_TCPIP = 9851, 1563 + DNS_ERROR_NO_DNS_SERVERS, // = 9852 1564 + DNS_ERROR_DP_DOES_NOT_EXIST = 9901, 1565 + DNS_ERROR_DP_ALREADY_EXISTS, 1566 + DNS_ERROR_DP_NOT_ENLISTED, 1567 + DNS_ERROR_DP_ALREADY_ENLISTED, 1568 + DNS_ERROR_DP_NOT_AVAILABLE, // = 9905 1569 + 1570 +/+ already in winsock2.d defined! 1571 + 1572 + WSABASEERR = 10000, 1573 + WSAEINTR = 10004, 1574 + WSAEBADF = 10009, 1575 + WSAEACCES = 10013, 1576 + WSAEFAULT, // = 10014 1577 + WSAEINVAL = 10022, 1578 + WSAEMFILE = 10024, 1579 + WSAEWOULDBLOCK = 10035, 1580 + WSAEINPROGRESS, 1581 + WSAEALREADY, 1582 + WSAENOTSOCK, 1583 + WSAEDESTADDRREQ, 1584 + WSAEMSGSIZE, 1585 + WSAEPROTOTYPE, 1586 + WSAENOPROTOOPT, 1587 + WSAEPROTONOSUPPORT, 1588 + WSAESOCKTNOSUPPORT, 1589 + WSAEOPNOTSUPP, 1590 + WSAEPFNOSUPPORT, 1591 + WSAEAFNOSUPPORT, 1592 + WSAEADDRINUSE, 1593 + WSAEADDRNOTAVAIL, 1594 + WSAENETDOWN, 1595 + WSAENETUNREACH, 1596 + WSAENETRESET, 1597 + WSAECONNABORTED, 1598 + WSAECONNRESET, 1599 + WSAENOBUFS, 1600 + WSAEISCONN, 1601 + WSAENOTCONN, 1602 + WSAESHUTDOWN, 1603 + WSAETOOMANYREFS, 1604 + WSAETIMEDOUT, 1605 + WSAECONNREFUSED, 1606 + WSAELOOP, 1607 + WSAENAMETOOLONG, 1608 + WSAEHOSTDOWN, 1609 + WSAEHOSTUNREACH, 1610 + WSAENOTEMPTY, 1611 + WSAEPROCLIM, 1612 + WSAEUSERS, 1613 + WSAEDQUOT, 1614 + WSAESTALE, 1615 + WSAEREMOTE, // = 10071 1616 + WSASYSNOTREADY = 10091, 1617 + WSAVERNOTSUPPORTED, 1618 + WSANOTINITIALISED, // = 10093 1619 + WSAEDISCON = 10101, 1620 + WSAENOMORE, 1621 + WSAECANCELLED, 1622 + WSAEINVALIDPROCTABLE, 1623 + WSAEINVALIDPROVIDER, 1624 + WSAEPROVIDERFAILEDINIT, 1625 + WSASYSCALLFAILURE, 1626 + WSASERVICE_NOT_FOUND, 1627 + WSATYPE_NOT_FOUND, 1628 + WSA_E_NO_MORE, 1629 + WSA_E_CANCELLED, 1630 + WSAEREFUSED, // = 10112 1631 + WSAHOST_NOT_FOUND = 11001, 1632 + WSATRY_AGAIN, 1633 + WSANO_RECOVERY, 1634 + WSANO_DATA, 1635 + WSA_QOS_RECEIVERS, 1636 + WSA_QOS_SENDERS, 1637 + WSA_QOS_NO_SENDERS, 1638 + WSA_QOS_NO_RECEIVERS, 1639 + WSA_QOS_REQUEST_CONFIRMED, 1640 + WSA_QOS_ADMISSION_FAILURE, 1641 + WSA_QOS_POLICY_FAILURE, 1642 + WSA_QOS_BAD_STYLE, 1643 + WSA_QOS_BAD_OBJECT, 1644 + WSA_QOS_TRAFFIC_CTRL_ERROR, 1645 + WSA_QOS_GENERIC_ERROR, 1646 + WSA_QOS_ESERVICETYPE, 1647 + WSA_QOS_EFLOWSPEC, 1648 + WSA_QOS_EPROVSPECBUF, 1649 + WSA_QOS_EFILTERSTYLE, 1650 + WSA_QOS_EFILTERTYPE, 1651 + WSA_QOS_EFILTERCOUNT, 1652 + WSA_QOS_EOBJLENGTH, 1653 + WSA_QOS_EFLOWCOUNT, 1654 + WSA_QOS_EUNKNOWNPSOBJ, 1655 + WSA_QOS_EPOLICYOBJ, 1656 + WSA_QOS_EFLOWDESC, 1657 + WSA_QOS_EPSFLOWSPEC, 1658 + WSA_QOS_EPSFILTERSPEC, 1659 + WSA_QOS_ESDMODEOBJ, 1660 + WSA_QOS_ESHAPERATEOBJ, 1661 + WSA_QOS_RESERVED_PETYPE, // = 11031 1662 + 1663 ++/ 1664 + 1665 + ERROR_IPSEC_QM_POLICY_EXISTS = 13000, 1666 + ERROR_IPSEC_QM_POLICY_NOT_FOUND, 1667 + ERROR_IPSEC_QM_POLICY_IN_USE, 1668 + ERROR_IPSEC_MM_POLICY_EXISTS, 1669 + ERROR_IPSEC_MM_POLICY_NOT_FOUND, 1670 + ERROR_IPSEC_MM_POLICY_IN_USE, 1671 + ERROR_IPSEC_MM_FILTER_EXISTS, 1672 + ERROR_IPSEC_MM_FILTER_NOT_FOUND, 1673 + ERROR_IPSEC_TRANSPORT_FILTER_EXISTS, 1674 + ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND, 1675 + ERROR_IPSEC_MM_AUTH_EXISTS, 1676 + ERROR_IPSEC_MM_AUTH_NOT_FOUND, 1677 + ERROR_IPSEC_MM_AUTH_IN_USE, 1678 + ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND, 1679 + ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND, 1680 + ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND, 1681 + ERROR_IPSEC_TUNNEL_FILTER_EXISTS, 1682 + ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND, 1683 + ERROR_IPSEC_MM_FILTER_PENDING_DELETION, 1684 + ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION, 1685 + ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION, 1686 + ERROR_IPSEC_MM_POLICY_PENDING_DELETION, 1687 + ERROR_IPSEC_MM_AUTH_PENDING_DELETION, 1688 + ERROR_IPSEC_QM_POLICY_PENDING_DELETION, 1689 + WARNING_IPSEC_MM_POLICY_PRUNED, 1690 + WARNING_IPSEC_QM_POLICY_PRUNED, // = 13025 1691 + ERROR_IPSEC_IKE_AUTH_FAIL = 13801, 1692 + ERROR_IPSEC_IKE_ATTRIB_FAIL, 1693 + ERROR_IPSEC_IKE_NEGOTIATION_PENDING, 1694 + ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR, 1695 + ERROR_IPSEC_IKE_TIMED_OUT, 1696 + ERROR_IPSEC_IKE_NO_CERT, 1697 + ERROR_IPSEC_IKE_SA_DELETED, 1698 + ERROR_IPSEC_IKE_SA_REAPED, 1699 + ERROR_IPSEC_IKE_MM_ACQUIRE_DROP, 1700 + ERROR_IPSEC_IKE_QM_ACQUIRE_DROP, 1701 + ERROR_IPSEC_IKE_QUEUE_DROP_MM, 1702 + ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM, 1703 + ERROR_IPSEC_IKE_DROP_NO_RESPONSE, 1704 + ERROR_IPSEC_IKE_MM_DELAY_DROP, 1705 + ERROR_IPSEC_IKE_QM_DELAY_DROP, 1706 + ERROR_IPSEC_IKE_ERROR, 1707 + ERROR_IPSEC_IKE_CRL_FAILED, 1708 + ERROR_IPSEC_IKE_INVALID_KEY_USAGE, 1709 + ERROR_IPSEC_IKE_INVALID_CERT_TYPE, 1710 + ERROR_IPSEC_IKE_NO_PRIVATE_KEY, // = 13820 1711 + ERROR_IPSEC_IKE_DH_FAIL = 13822, 1712 + ERROR_IPSEC_IKE_INVALID_HEADER = 13824, 1713 + ERROR_IPSEC_IKE_NO_POLICY, 1714 + ERROR_IPSEC_IKE_INVALID_SIGNATURE, 1715 + ERROR_IPSEC_IKE_KERBEROS_ERROR, 1716 + ERROR_IPSEC_IKE_NO_PUBLIC_KEY, 1717 + ERROR_IPSEC_IKE_PROCESS_ERR, 1718 + ERROR_IPSEC_IKE_PROCESS_ERR_SA, 1719 + ERROR_IPSEC_IKE_PROCESS_ERR_PROP, 1720 + ERROR_IPSEC_IKE_PROCESS_ERR_TRANS, 1721 + ERROR_IPSEC_IKE_PROCESS_ERR_KE, 1722 + ERROR_IPSEC_IKE_PROCESS_ERR_ID, 1723 + ERROR_IPSEC_IKE_PROCESS_ERR_CERT, 1724 + ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ, 1725 + ERROR_IPSEC_IKE_PROCESS_ERR_HASH, 1726 + ERROR_IPSEC_IKE_PROCESS_ERR_SIG, 1727 + ERROR_IPSEC_IKE_PROCESS_ERR_NONCE, 1728 + ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY, 1729 + ERROR_IPSEC_IKE_PROCESS_ERR_DELETE, 1730 + ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR, 1731 + ERROR_IPSEC_IKE_INVALID_PAYLOAD, 1732 + ERROR_IPSEC_IKE_LOAD_SOFT_SA, 1733 + ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN, 1734 + ERROR_IPSEC_IKE_INVALID_COOKIE, 1735 + ERROR_IPSEC_IKE_NO_PEER_CERT, 1736 + ERROR_IPSEC_IKE_PEER_CRL_FAILED, 1737 + ERROR_IPSEC_IKE_POLICY_CHANGE, 1738 + ERROR_IPSEC_IKE_NO_MM_POLICY, 1739 + ERROR_IPSEC_IKE_NOTCBPRIV, 1740 + ERROR_IPSEC_IKE_SECLOADFAIL, 1741 + ERROR_IPSEC_IKE_FAILSSPINIT, 1742 + ERROR_IPSEC_IKE_FAILQUERYSSP, 1743 + ERROR_IPSEC_IKE_SRVACQFAIL, 1744 + ERROR_IPSEC_IKE_SRVQUERYCRED, 1745 + ERROR_IPSEC_IKE_GETSPIFAIL, 1746 + ERROR_IPSEC_IKE_INVALID_FILTER, 1747 + ERROR_IPSEC_IKE_OUT_OF_MEMORY, 1748 + ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED, 1749 + ERROR_IPSEC_IKE_INVALID_POLICY, 1750 + ERROR_IPSEC_IKE_UNKNOWN_DOI, 1751 + ERROR_IPSEC_IKE_INVALID_SITUATION, 1752 + ERROR_IPSEC_IKE_DH_FAILURE, 1753 + ERROR_IPSEC_IKE_INVALID_GROUP, 1754 + ERROR_IPSEC_IKE_ENCRYPT, 1755 + ERROR_IPSEC_IKE_DECRYPT, 1756 + ERROR_IPSEC_IKE_POLICY_MATCH, 1757 + ERROR_IPSEC_IKE_UNSUPPORTED_ID, 1758 + ERROR_IPSEC_IKE_INVALID_HASH, 1759 + ERROR_IPSEC_IKE_INVALID_HASH_ALG, 1760 + ERROR_IPSEC_IKE_INVALID_HASH_SIZE, 1761 + ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG, 1762 + ERROR_IPSEC_IKE_INVALID_AUTH_ALG, 1763 + ERROR_IPSEC_IKE_INVALID_SIG, 1764 + ERROR_IPSEC_IKE_LOAD_FAILED, 1765 + ERROR_IPSEC_IKE_RPC_DELETE, 1766 + ERROR_IPSEC_IKE_BENIGN_REINIT, 1767 + ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY, // = 13879 1768 + ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN = 13881, 1769 + ERROR_IPSEC_IKE_MM_LIMIT, 1770 + ERROR_IPSEC_IKE_NEGOTIATION_DISABLED, 1771 + ERROR_IPSEC_IKE_NEG_STATUS_END, 1772 + ERROR_SXS_SECTION_NOT_FOUND, 1773 + ERROR_SXS_CANT_GEN_ACTCTX, 1774 + ERROR_SXS_INVALID_ACTCTXDATA_FORMAT, 1775 + ERROR_SXS_ASSEMBLY_NOT_FOUND, 1776 + ERROR_SXS_MANIFEST_FORMAT_ERROR, 1777 + ERROR_SXS_MANIFEST_PARSE_ERROR, 1778 + ERROR_SXS_ACTIVATION_CONTEXT_DISABLED, 1779 + ERROR_SXS_KEY_NOT_FOUND, 1780 + ERROR_SXS_VERSION_CONFLICT, 1781 + ERROR_SXS_WRONG_SECTION_TYPE, 1782 + ERROR_SXS_THREAD_QUERIES_DISABLED, 1783 + ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET, 1784 + ERROR_SXS_UNKNOWN_ENCODING_GROUP, 1785 + ERROR_SXS_UNKNOWN_ENCODING, 1786 + ERROR_SXS_INVALID_XML_NAMESPACE_URI, 1787 + ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED, 1788 + ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED, 1789 + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE, 1790 + ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE, 1791 + ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE, 1792 + ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT, 1793 + ERROR_SXS_DUPLICATE_DLL_NAME, 1794 + ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME, 1795 + ERROR_SXS_DUPLICATE_CLSID, 1796 + ERROR_SXS_DUPLICATE_IID, 1797 + ERROR_SXS_DUPLICATE_TLBID, 1798 + ERROR_SXS_DUPLICATE_PROGID, 1799 + ERROR_SXS_DUPLICATE_ASSEMBLY_NAME, 1800 + ERROR_SXS_FILE_HASH_MISMATCH, 1801 + ERROR_SXS_POLICY_PARSE_ERROR, 1802 + ERROR_SXS_XML_E_MISSINGQUOTE, 1803 + ERROR_SXS_XML_E_COMMENTSYNTAX, 1804 + ERROR_SXS_XML_E_BADSTARTNAMECHAR, 1805 + ERROR_SXS_XML_E_BADNAMECHAR, 1806 + ERROR_SXS_XML_E_BADCHARINSTRING, 1807 + ERROR_SXS_XML_E_XMLDECLSYNTAX, 1808 + ERROR_SXS_XML_E_BADCHARDATA, 1809 + ERROR_SXS_XML_E_MISSINGWHITESPACE, 1810 + ERROR_SXS_XML_E_EXPECTINGTAGEND, 1811 + ERROR_SXS_XML_E_MISSINGSEMICOLON, 1812 + ERROR_SXS_XML_E_UNBALANCEDPAREN, 1813 + ERROR_SXS_XML_E_INTERNALERROR, 1814 + ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE, 1815 + ERROR_SXS_XML_E_INCOMPLETE_ENCODING, 1816 + ERROR_SXS_XML_E_MISSING_PAREN, 1817 + ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE, 1818 + ERROR_SXS_XML_E_MULTIPLE_COLONS, 1819 + ERROR_SXS_XML_E_INVALID_DECIMAL, 1820 + ERROR_SXS_XML_E_INVALID_HEXIDECIMAL, 1821 + ERROR_SXS_XML_E_INVALID_UNICODE, 1822 + ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK, 1823 + ERROR_SXS_XML_E_UNEXPECTEDENDTAG, 1824 + ERROR_SXS_XML_E_UNCLOSEDTAG, 1825 + ERROR_SXS_XML_E_DUPLICATEATTRIBUTE, 1826 + ERROR_SXS_XML_E_MULTIPLEROOTS, 1827 + ERROR_SXS_XML_E_INVALIDATROOTLEVEL, 1828 + ERROR_SXS_XML_E_BADXMLDECL, 1829 + ERROR_SXS_XML_E_MISSINGROOT, 1830 + ERROR_SXS_XML_E_UNEXPECTEDEOF, 1831 + ERROR_SXS_XML_E_BADPEREFINSUBSET, 1832 + ERROR_SXS_XML_E_UNCLOSEDSTARTTAG, 1833 + ERROR_SXS_XML_E_UNCLOSEDENDTAG, 1834 + ERROR_SXS_XML_E_UNCLOSEDSTRING, 1835 + ERROR_SXS_XML_E_UNCLOSEDCOMMENT, 1836 + ERROR_SXS_XML_E_UNCLOSEDDECL, 1837 + ERROR_SXS_XML_E_UNCLOSEDCDATA, 1838 + ERROR_SXS_XML_E_RESERVEDNAMESPACE, 1839 + ERROR_SXS_XML_E_INVALIDENCODING, 1840 + ERROR_SXS_XML_E_INVALIDSWITCH, 1841 + ERROR_SXS_XML_E_BADXMLCASE, 1842 + ERROR_SXS_XML_E_INVALID_STANDALONE, 1843 + ERROR_SXS_XML_E_UNEXPECTED_STANDALONE, 1844 + ERROR_SXS_XML_E_INVALID_VERSION, 1845 + ERROR_SXS_XML_E_MISSINGEQUALS, 1846 + ERROR_SXS_PROTECTION_RECOVERY_FAILED, 1847 + ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT, 1848 + ERROR_SXS_PROTECTION_CATALOG_NOT_VALID, 1849 + ERROR_SXS_UNTRANSLATABLE_HRESULT, 1850 + ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING, 1851 + ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE, 1852 + ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME // = 14080 1853 +} 1854 + 1855 +enum : HRESULT { 1856 + S_OK = 0x00000000, 1857 + S_FALSE = 0x00000001, 1858 + 1859 + NOERROR = 0x00000000, 1860 + 1861 + E_PENDING = 0x8000000A, 1862 + E_NOTIMPL = 0x80004001, 1863 + E_NOINTERFACE = 0x80004002, 1864 + E_POINTER = 0x80004003, 1865 + E_ABORT = 0x80004004, 1866 + E_FAIL = 0x80004005, 1867 + E_ACCESSDENIED = 0x80070005, 1868 + E_HANDLE = 0x80070006, 1869 + E_OUTOFMEMORY = 0x8007000E, 1870 + E_INVALIDARG = 0x80070057, 1871 + E_UNEXPECTED = 0x8000FFFF, 1872 + 1873 + CO_E_INIT_TLS = 0x80004006, 1874 + CO_E_INIT_SHARED_ALLOCATOR = 0x80004007, 1875 + CO_E_INIT_MEMORY_ALLOCATOR = 0x80004008, 1876 + CO_E_INIT_CLASS_CACHE = 0x80004009, 1877 + CO_E_INIT_RPC_CHANNEL = 0x8000400A, 1878 + CO_E_INIT_TLS_SET_CHANNEL_CONTROL = 0x8000400B, 1879 + CO_E_INIT_TLS_CHANNEL_CONTROL = 0x8000400C, 1880 + CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = 0x8000400D, 1881 + CO_E_INIT_SCM_MUTEX_EXISTS = 0x8000400E, 1882 + CO_E_INIT_SCM_FILE_MAPPING_EXISTS = 0x8000400F, 1883 + CO_E_INIT_SCM_MAP_VIEW_OF_FILE = 0x80004010, 1884 + CO_E_INIT_SCM_EXEC_FAILURE = 0x80004011, 1885 + CO_E_INIT_ONLY_SINGLE_THREADED = 0x80004012, 1886 + 1887 + RPC_E_CALL_REJECTED = 0x80010001, 1888 + RPC_E_CALL_CANCELED = 0x80010002, 1889 + RPC_E_CANTPOST_INSENDCALL = 0x80010003, 1890 + RPC_E_CANTCALLOUT_INASYNCCALL = 0x80010004, 1891 + RPC_E_CANTCALLOUT_INEXTERNALCALL = 0x80010005, 1892 + RPC_E_CONNECTION_TERMINATED = 0x80010006, 1893 + RPC_E_SERVER_DIED = 0x80010007, 1894 + RPC_E_CLIENT_DIED = 0x80010008, 1895 + RPC_E_INVALID_DATAPACKET = 0x80010009, 1896 + RPC_E_CANTTRANSMIT_CALL = 0x8001000A, 1897 + RPC_E_CLIENT_CANTMARSHAL_DATA = 0x8001000B, 1898 + RPC_E_CLIENT_CANTUNMARSHAL_DATA = 0x8001000C, 1899 + RPC_E_SERVER_CANTMARSHAL_DATA = 0x8001000D, 1900 + RPC_E_SERVER_CANTUNMARSHAL_DATA = 0x8001000E, 1901 + RPC_E_INVALID_DATA = 0x8001000F, 1902 + RPC_E_INVALID_PARAMETER = 0x80010010, 1903 + RPC_E_CANTCALLOUT_AGAIN = 0x80010011, 1904 + RPC_E_SERVER_DIED_DNE = 0x80010012, 1905 + RPC_E_SYS_CALL_FAILED = 0x80010100, 1906 + RPC_E_OUT_OF_RESOURCES = 0x80010101, 1907 + RPC_E_ATTEMPTED_MULTITHREAD = 0x80010102, 1908 + RPC_E_NOT_REGISTERED = 0x80010103, 1909 + RPC_E_FAULT = 0x80010104, 1910 + RPC_E_SERVERFAULT = 0x80010105, 1911 + RPC_E_CHANGED_MODE = 0x80010106, 1912 + RPC_E_INVALIDMETHOD = 0x80010107, 1913 + RPC_E_DISCONNECTED = 0x80010108, 1914 + RPC_E_RETRY = 0x80010109, 1915 + RPC_E_SERVERCALL_RETRYLATER = 0x8001010A, 1916 + RPC_E_SERVERCALL_REJECTED = 0x8001010B, 1917 + RPC_E_INVALID_CALLDATA = 0x8001010C, 1918 + RPC_E_CANTCALLOUT_ININPUTSYNCCALL = 0x8001010D, 1919 + RPC_E_WRONG_THREAD = 0x8001010E, 1920 + RPC_E_THREAD_NOT_INIT = 0x8001010F, 1921 + RPC_E_UNEXPECTED = 0x8001FFFF, 1922 + 1923 + DISP_E_UNKNOWNINTERFACE = 0x80020001, 1924 + DISP_E_MEMBERNOTFOUND = 0x80020003, 1925 + DISP_E_PARAMNOTFOUND = 0x80020004, 1926 + DISP_E_TYPEMISMATCH = 0x80020005, 1927 + DISP_E_UNKNOWNNAME = 0x80020006, 1928 + DISP_E_NONAMEDARGS = 0x80020007, 1929 + DISP_E_BADVARTYPE = 0x80020008, 1930 + DISP_E_EXCEPTION = 0x80020009, 1931 + DISP_E_OVERFLOW = 0x8002000A, 1932 + DISP_E_BADINDEX = 0x8002000B, 1933 + DISP_E_UNKNOWNLCID = 0x8002000C, 1934 + DISP_E_ARRAYISLOCKED = 0x8002000D, 1935 + DISP_E_BADPARAMCOUNT = 0x8002000E, 1936 + DISP_E_PARAMNOTOPTIONAL = 0x8002000F, 1937 + DISP_E_BADCALLEE = 0x80020010, 1938 + DISP_E_NOTACOLLECTION = 0x80020011, 1939 + DISP_E_DIVBYZERO = 0x80020012, 1940 + 1941 + TYPE_E_BUFFERTOOSMALL = 0x80028016, 1942 + TYPE_E_INVDATAREAD = 0x80028018, 1943 + TYPE_E_UNSUPFORMAT = 0x80028019, 1944 + TYPE_E_REGISTRYACCESS = 0x8002801C, 1945 + TYPE_E_LIBNOTREGISTERED = 0x8002801D, 1946 + TYPE_E_UNDEFINEDTYPE = 0x80028027, 1947 + TYPE_E_QUALIFIEDNAMEDISALLOWED = 0x80028028, 1948 + TYPE_E_INVALIDSTATE = 0x80028029, 1949 + TYPE_E_WRONGTYPEKIND = 0x8002802A, 1950 + TYPE_E_ELEMENTNOTFOUND = 0x8002802B, 1951 + TYPE_E_AMBIGUOUSNAME = 0x8002802C, 1952 + TYPE_E_NAMECONFLICT = 0x8002802D, 1953 + TYPE_E_UNKNOWNLCID = 0x8002802E, 1954 + TYPE_E_DLLFUNCTIONNOTFOUND = 0x8002802F, 1955 + TYPE_E_BADMODULEKIND = 0x800288BD, 1956 + TYPE_E_SIZETOOBIG = 0x800288C5, 1957 + TYPE_E_DUPLICATEID = 0x800288C6, 1958 + TYPE_E_INVALIDID = 0x800288CF, 1959 + TYPE_E_TYPEMISMATCH = 0x80028CA0, 1960 + TYPE_E_OUTOFBOUNDS = 0x80028CA1, 1961 + TYPE_E_IOERROR = 0x80028CA2, 1962 + TYPE_E_CANTCREATETMPFILE = 0x80028CA3, 1963 + TYPE_E_CANTLOADLIBRARY = 0x80029C4A, 1964 + TYPE_E_INCONSISTENTPROPFUNCS = 0x80029C83, 1965 + TYPE_E_CIRCULARTYPE = 0x80029C84, 1966 + 1967 + STG_E_INVALIDFUNCTION = 0x80030001, 1968 + STG_E_FILENOTFOUND = 0x80030002, 1969 + STG_E_PATHNOTFOUND = 0x80030003, 1970 + STG_E_TOOMANYOPENFILES = 0x80030004, 1971 + STG_E_ACCESSDENIED = 0x80030005, 1972 + STG_E_INVALIDHANDLE = 0x80030006, 1973 + STG_E_INSUFFICIENTMEMORY = 0x80030008, 1974 + STG_E_INVALIDPOINTER = 0x80030009, 1975 + STG_E_NOMOREFILES = 0x80030012, 1976 + STG_E_DISKISWRITEPROTECTED = 0x80030013, 1977 + STG_E_SEEKERROR = 0x80030019, 1978 + STG_E_WRITEFAULT = 0x8003001D, 1979 + STG_E_READFAULT = 0x8003001E, 1980 + STG_E_SHAREVIOLATION = 0x80030020, 1981 + STG_E_LOCKVIOLATION = 0x80030021, 1982 + STG_E_FILEALREADYEXISTS = 0x80030050, 1983 + STG_E_INVALIDPARAMETER = 0x80030057, 1984 + STG_E_MEDIUMFULL = 0x80030070, 1985 + STG_E_ABNORMALAPIEXIT = 0x800300FA, 1986 + STG_E_INVALIDHEADER = 0x800300FB, 1987 + STG_E_INVALIDNAME = 0x800300FC, 1988 + STG_E_UNKNOWN = 0x800300FD, 1989 + STG_E_UNIMPLEMENTEDFUNCTION = 0x800300FE, 1990 + STG_E_INVALIDFLAG = 0x800300FF, 1991 + STG_E_INUSE = 0x80030100, 1992 + STG_E_NOTCURRENT = 0x80030101, 1993 + STG_E_REVERTED = 0x80030102, 1994 + STG_E_CANTSAVE = 0x80030103, 1995 + STG_E_OLDFORMAT = 0x80030104, 1996 + STG_E_OLDDLL = 0x80030105, 1997 + STG_E_SHAREREQUIRED = 0x80030106, 1998 + STG_E_NOTFILEBASEDSTORAGE = 0x80030107, 1999 + STG_E_EXTANTMARSHALLINGS = 0x80030108, 2000 + STG_S_CONVERTED = 0x00030200, 2001 + 2002 + OLE_E_FIRST = 0x80040000, 2003 + OLE_S_FIRST = 0x00040000, 2004 + OLE_E_OLEVERB = 0x80040000, 2005 + OLE_S_USEREG = 0x00040000, 2006 + OLE_E_ADVF = 0x80040001, 2007 + OLE_S_STATIC = 0x00040001, 2008 + OLE_E_ENUM_NOMORE = 0x80040002, 2009 + OLE_S_MAC_CLIPFORMAT = 0x00040002, 2010 + OLE_E_ADVISENOTSUPPORTED = 0x80040003, 2011 + OLE_E_NOCONNECTION = 0x80040004, 2012 + OLE_E_NOTRUNNING = 0x80040005, 2013 + OLE_E_NOCACHE = 0x80040006, 2014 + OLE_E_BLANK = 0x80040007, 2015 + OLE_E_CLASSDIFF = 0x80040008, 2016 + OLE_E_CANT_GETMONIKER = 0x80040009, 2017 + OLE_E_CANT_BINDTOSOURCE = 0x8004000A, 2018 + OLE_E_STATIC = 0x8004000B, 2019 + OLE_E_PROMPTSAVECANCELLED = 0x8004000C, 2020 + OLE_E_INVALIDRECT = 0x8004000D, 2021 + OLE_E_WRONGCOMPOBJ = 0x8004000E, 2022 + OLE_E_INVALIDHWND = 0x8004000F, 2023 + OLE_E_NOT_INPLACEACTIVE = 0x80040010, 2024 + OLE_E_CANTCONVERT = 0x80040011, 2025 + OLE_E_NOSTORAGE = 0x80040012, 2026 + 2027 + DV_E_FORMATETC = 0x80040064, 2028 + DV_E_DVTARGETDEVICE = 0x80040065, 2029 + DV_E_STGMEDIUM = 0x80040066, 2030 + DV_E_STATDATA = 0x80040067, 2031 + DV_E_LINDEX = 0x80040068, 2032 + DV_E_TYMED = 0x80040069, 2033 + DV_E_CLIPFORMAT = 0x8004006A, 2034 + DV_E_DVASPECT = 0x8004006B, 2035 + DV_E_DVTARGETDEVICE_SIZE = 0x8004006C, 2036 + DV_E_NOIVIEWOBJECT = 0x8004006D, 2037 + 2038 + OLE_E_LAST = 0x800400FF, 2039 + OLE_S_LAST = 0x000400FF, 2040 + DRAGDROP_E_FIRST = 0x80040100, 2041 + DRAGDROP_S_FIRST = 0x00040100, 2042 + DRAGDROP_E_NOTREGISTERED = 0x80040100, 2043 + DRAGDROP_S_DROP = 0x00040100, 2044 + DRAGDROP_E_ALREADYREGISTERED = 0x80040101, 2045 + DRAGDROP_S_CANCEL = 0x00040101, 2046 + DRAGDROP_E_INVALIDHWND = 0x80040102, 2047 + DRAGDROP_S_USEDEFAULTCURSORS = 0x00040102, 2048 + DRAGDROP_E_LAST = 0x8004010F, 2049 + DRAGDROP_S_LAST = 0x0004010F, 2050 + CLASSFACTORY_E_FIRST = 0x80040110, 2051 + CLASSFACTORY_S_FIRST = 0x00040110, 2052 + CLASS_E_NOAGGREGATION = 0x80040110, 2053 + CLASS_E_CLASSNOTAVAILABLE = 0x80040111, 2054 + CLASSFACTORY_E_LAST = 0x8004011F, 2055 + CLASSFACTORY_S_LAST = 0x0004011F, 2056 + MARSHAL_E_FIRST = 0x80040120, 2057 + MARSHAL_S_FIRST = 0x00040120, 2058 + MARSHAL_E_LAST = 0x8004012F, 2059 + MARSHAL_S_LAST = 0x0004012F, 2060 + DATA_E_FIRST = 0x80040130, 2061 + DATA_S_FIRST = 0x00040130, 2062 + DATA_S_SAMEFORMATETC = 0x00040130, 2063 + DATA_E_LAST = 0x8004013F, 2064 + DATA_S_LAST = 0x0004013F, 2065 + VIEW_E_FIRST = 0x80040140, 2066 + VIEW_S_FIRST = 0x00040140, 2067 + VIEW_E_DRAW = 0x80040140, 2068 + VIEW_S_ALREADY_FROZEN = 0x00040140, 2069 + VIEW_E_LAST = 0x8004014F, 2070 + VIEW_S_LAST = 0x0004014F, 2071 + REGDB_E_FIRST = 0x80040150, 2072 + REGDB_S_FIRST = 0x00040150, 2073 + REGDB_E_READREGDB = 0x80040150, 2074 + REGDB_E_WRITEREGDB = 0x80040151, 2075 + REGDB_E_KEYMISSING = 0x80040152, 2076 + REGDB_E_INVALIDVALUE = 0x80040153, 2077 + REGDB_E_CLASSNOTREG = 0x80040154, 2078 + REGDB_E_IIDNOTREG = 0x80040155, 2079 + REGDB_E_LAST = 0x8004015F, 2080 + REGDB_S_LAST = 0x0004015F, 2081 + CACHE_E_FIRST = 0x80040170, 2082 + CACHE_S_FIRST = 0x00040170, 2083 + CACHE_E_NOCACHE_UPDATED = 0x80040170, 2084 + CACHE_S_FORMATETC_NOTSUPPORTED = 0x00040170, 2085 + CACHE_S_SAMECACHE = 0x00040171, 2086 + CACHE_S_SOMECACHES_NOTUPDATED = 0x00040172, 2087 + CACHE_E_LAST = 0x8004017F, 2088 + CACHE_S_LAST = 0x0004017F, 2089 + OLEOBJ_E_FIRST = 0x80040180, 2090 + OLEOBJ_S_FIRST = 0x00040180, 2091 + OLEOBJ_E_NOVERBS = 0x80040180, 2092 + OLEOBJ_S_INVALIDVERB = 0x00040180, 2093 + OLEOBJ_E_INVALIDVERB = 0x80040181, 2094 + OLEOBJ_S_CANNOT_DOVERB_NOW = 0x00040181, 2095 + OLEOBJ_S_INVALIDHWND = 0x00040182, 2096 + OLEOBJ_E_LAST = 0x8004018F, 2097 + OLEOBJ_S_LAST = 0x0004018F, 2098 + CLIENTSITE_E_FIRST = 0x80040190, 2099 + CLIENTSITE_S_FIRST = 0x00040190, 2100 + CLIENTSITE_E_LAST = 0x8004019F, 2101 + CLIENTSITE_S_LAST = 0x0004019F, 2102 + INPLACE_E_NOTUNDOABLE = 0x800401A0, 2103 + INPLACE_E_FIRST = 0x800401A0, 2104 + INPLACE_S_FIRST = 0x000401A0, 2105 + INPLACE_S_TRUNCATED = 0x000401A0, 2106 + INPLACE_E_NOTOOLSPACE = 0x800401A1, 2107 + INPLACE_E_LAST = 0x800401AF, 2108 + INPLACE_S_LAST = 0x000401AF, 2109 + ENUM_E_FIRST = 0x800401B0, 2110 + ENUM_S_FIRST = 0x000401B0, 2111 + ENUM_E_LAST = 0x800401BF, 2112 + ENUM_S_LAST = 0x000401BF, 2113 + CONVERT10_E_FIRST = 0x800401C0, 2114 + CONVERT10_S_FIRST = 0x000401C0, 2115 + CONVERT10_E_OLESTREAM_GET = 0x800401C0, 2116 + CONVERT10_S_NO_PRESENTATION = 0x000401C0, 2117 + CONVERT10_E_OLESTREAM_PUT = 0x800401C1, 2118 + CONVERT10_E_OLESTREAM_FMT = 0x800401C2, 2119 + CONVERT10_E_OLESTREAM_BITMAP_TO_DIB = 0x800401C3, 2120 + CONVERT10_E_STG_FMT = 0x800401C4, 2121 + CONVERT10_E_STG_NO_STD_STREAM = 0x800401C5, 2122 + CONVERT10_E_STG_DIB_TO_BITMAP = 0x800401C6, 2123 + CONVERT10_E_LAST = 0x800401CF, 2124 + CONVERT10_S_LAST = 0x000401CF, 2125 + CLIPBRD_E_FIRST = 0x800401D0, 2126 + CLIPBRD_S_FIRST = 0x000401D0, 2127 + CLIPBRD_E_CANT_OPEN = 0x800401D0, 2128 + CLIPBRD_E_CANT_EMPTY = 0x800401D1, 2129 + CLIPBRD_E_CANT_SET = 0x800401D2, 2130 + CLIPBRD_E_BAD_DATA = 0x800401D3, 2131 + CLIPBRD_E_CANT_CLOSE = 0x800401D4, 2132 + CLIPBRD_E_LAST = 0x800401DF, 2133 + CLIPBRD_S_LAST = 0x000401DF, 2134 + MK_E_FIRST = 0x800401E0, 2135 + MK_S_FIRST = 0x000401E0, 2136 + MK_E_CONNECTMANUALLY = 0x800401E0, 2137 + MK_E_EXCEEDEDDEADLINE = 0x800401E1, 2138 + MK_E_NEEDGENERIC = 0x800401E2, 2139 + MK_S_REDUCED_TO_SELF = 0x000401E2, 2140 + MK_E_UNAVAILABLE = 0x800401E3, 2141 + MK_E_SYNTAX = 0x800401E4, 2142 + MK_S_ME = 0x000401E4, 2143 + MK_E_NOOBJECT = 0x800401E5, 2144 + MK_S_HIM = 0x000401E5, 2145 + MK_E_INVALIDEXTENSION = 0x800401E6, 2146 + MK_S_US = 0x000401E6, 2147 + MK_E_INTERMEDIATEINTERFACENOTSUPPORTED = 0x800401E7, 2148 + MK_S_MONIKERALREADYREGISTERED = 0x000401E7, 2149 + MK_E_NOTBINDABLE = 0x800401E8, 2150 + MK_E_NOTBOUND = 0x800401E9, 2151 + MK_E_CANTOPENFILE = 0x800401EA, 2152 + MK_E_MUSTBOTHERUSER = 0x800401EB, 2153 + MK_E_NOINVERSE = 0x800401EC, 2154 + MK_E_NOSTORAGE = 0x800401ED, 2155 + MK_E_NOPREFIX = 0x800401EE, 2156 + MK_E_LAST = 0x800401EF, 2157 + MK_S_LAST = 0x000401EF, 2158 + MK_E_ENUMERATION_FAILED = 0x800401EF, 2159 + CO_E_FIRST = 0x800401F0, 2160 + CO_S_FIRST = 0x000401F0, 2161 + CO_E_NOTINITIALIZED = 0x800401F0, 2162 + CO_E_ALREADYINITIALIZED = 0x800401F1, 2163 + CO_E_CANTDETERMINECLASS = 0x800401F2, 2164 + CO_E_CLASSSTRING = 0x800401F3, 2165 + CO_E_IIDSTRING = 0x800401F4, 2166 + CO_E_APPNOTFOUND = 0x800401F5, 2167 + CO_E_APPSINGLEUSE = 0x800401F6, 2168 + CO_E_ERRORINAPP = 0x800401F7, 2169 + CO_E_DLLNOTFOUND = 0x800401F8, 2170 + CO_E_ERRORINDLL = 0x800401F9, 2171 + CO_E_WRONGOSFORAPP = 0x800401FA, 2172 + CO_E_OBJNOTREG = 0x800401FB, 2173 + CO_E_OBJISREG = 0x800401FC, 2174 + CO_E_OBJNOTCONNECTED = 0x800401FD, 2175 + CO_E_APPDIDNTREG = 0x800401FE, 2176 + CO_E_LAST = 0x800401FF, 2177 + CO_S_LAST = 0x000401FF, 2178 + CO_E_RELEASED = 0x800401FF, 2179 + 2180 + CO_E_CLASS_CREATE_FAILED = 0x80080001, 2181 + CO_E_SCM_ERROR = 0x80080002, 2182 + CO_E_SCM_RPC_FAILURE = 0x80080003, 2183 + CO_E_BAD_PATH = 0x80080004, 2184 + CO_E_SERVER_EXEC_FAILURE = 0x80080005, 2185 + CO_E_OBJSRV_RPC_FAILURE = 0x80080006, 2186 + MK_E_NO_NORMALIZED = 0x80080007, 2187 + CO_E_SERVER_STOPPING = 0x80080008, 2188 + MEM_E_INVALID_ROOT = 0x80080009, 2189 + MEM_E_INVALID_LINK = 0x80080010, 2190 + MEM_E_INVALID_SIZE = 0x80080011, 2191 + CO_S_NOTALLINTERFACES = 0x00080012, 2192 + 2193 + NTE_BAD_UID = 0x80090001, 2194 + NTE_BAD_HASH = 0x80090002, 2195 + NTE_BAD_KEY = 0x80090003, 2196 + NTE_BAD_LEN = 0x80090004, 2197 + NTE_BAD_DATA = 0x80090005, 2198 + NTE_BAD_SIGNATURE = 0x80090006, 2199 + NTE_BAD_VER = 0x80090007, 2200 + NTE_BAD_ALGID = 0x80090008, 2201 + NTE_BAD_FLAGS = 0x80090009, 2202 + NTE_BAD_TYPE = 0x8009000A, 2203 + NTE_BAD_KEY_STATE = 0x8009000B, 2204 + NTE_BAD_HASH_STATE = 0x8009000C, 2205 + NTE_NO_KEY = 0x8009000D, 2206 + NTE_NO_MEMORY = 0x8009000E, 2207 + NTE_EXISTS = 0x8009000F, 2208 + NTE_PERM = 0x80090010, 2209 + NTE_NOT_FOUND = 0x80090011, 2210 + NTE_DOUBLE_ENCRYPT = 0x80090012, 2211 + NTE_BAD_PROVIDER = 0x80090013, 2212 + NTE_BAD_PROV_TYPE = 0x80090014, 2213 + NTE_BAD_PUBLIC_KEY = 0x80090015, 2214 + NTE_BAD_KEYSET = 0x80090016, 2215 + NTE_PROV_TYPE_NOT_DEF = 0x80090017, 2216 + NTE_PROV_TYPE_ENTRY_BAD = 0x80090018, 2217 + NTE_KEYSET_NOT_DEF = 0x80090019, 2218 + NTE_KEYSET_ENTRY_BAD = 0x8009001A, 2219 + NTE_PROV_TYPE_NO_MATCH = 0x8009001B, 2220 + NTE_SIGNATURE_FILE_BAD = 0x8009001C, 2221 + NTE_PROVIDER_DLL_FAIL = 0x8009001D, 2222 + NTE_PROV_DLL_NOT_FOUND = 0x8009001E, 2223 + NTE_BAD_KEYSET_PARAM = 0x8009001F, 2224 + NTE_FAIL = 0x80090020, 2225 + NTE_SYS_ERR = 0x80090021 2226 +} 2227 + 2228 + 2229 +enum : bool { 2230 + SEVERITY_SUCCESS = 0, 2231 + SEVERITY_ERROR = 1 2232 +} 2233 + 2234 +enum : uint { 2235 + FACILITY_NULL = 0, 2236 + FACILITY_RPC, 2237 + FACILITY_DISPATCH, 2238 + FACILITY_STORAGE, 2239 + FACILITY_ITF, // = 4 2240 + FACILITY_WIN32 = 7, 2241 + FACILITY_WINDOWS = 8, 2242 + FACILITY_CONTROL = 10, 2243 + FACILITY_NT_BIT = 0x10000000 2244 +} 2245 + 2246 +// C Macros 2247 + 2248 +bool SUCCEEDED(HRESULT Status) { 2249 + return Status >= 0; 2250 +} 2251 + 2252 +bool FAILED(HRESULT Status) { 2253 + return Status < 0; 2254 +} 2255 + 2256 +bool IS_ERROR(HRESULT Status) { 2257 + return (Status >>> 31) == SEVERITY_ERROR; 2258 +} 2259 + 2260 +ushort HRESULT_CODE(HRESULT r) { 2261 + return cast(ushort) (r & 0xFFFF); 2262 +} 5 2263 6 -import win32.winnt; 2264 +ushort SCODE_CODE(SCODE r) { 2265 + return cast(ushort) (r & 0xFFFF); 2266 +} 7 2267 8 -// #ifndef _WINERROR_ 9 -// #define _WINERROR_ 2268 +ushort HRESULT_FACILITY(HRESULT r) { 2269 + return cast(ushort) ((r>>16) & 0x1fff); 2270 +} 10 2271 11 -// #if defined (_MSC_VER) && (_MSC_VER >= 1020) && !defined(__midl) 12 -// #pragma once 13 -// #endif 2272 +ushort SCODE_FACILITY(SCODE r) { 2273 + return cast(ushort) ((r>>16) & 0x1fff); 2274 +} 14 2275 15 -enum : uint { FACILITY_WINDOWS_CE = 24 } 16 -enum : uint { FACILITY_WINDOWS = 8 } 17 -enum : uint { FACILITY_URT = 19 } 18 -enum : uint { FACILITY_UMI = 22 } 19 -enum : uint { FACILITY_SXS = 23 } 20 -enum : uint { FACILITY_STORAGE = 3 } 21 -enum : uint { FACILITY_SSPI = 9 } 22 -enum : uint { FACILITY_SCARD = 16 } 23 -enum : uint { FACILITY_SETUPAPI = 15 } 24 -enum : uint { FACILITY_SECURITY = 9 } 25 -enum : uint { FACILITY_RPC = 1 } 26 -enum : uint { FACILITY_WIN32 = 7 } 27 -enum : uint { FACILITY_CONTROL = 10 } 28 -enum : uint { FACILITY_NULL = 0 } 29 -enum : uint { FACILITY_MSMQ = 14 } 30 -enum : uint { FACILITY_MEDIASERVER = 13 } 31 -enum : uint { FACILITY_INTERNET = 12 } 32 -enum : uint { FACILITY_ITF = 4 } 33 -enum : uint { FACILITY_HTTP = 25 } 34 -enum : uint { FACILITY_DPLAY = 21 } 35 -enum : uint { FACILITY_DISPATCH = 2 } 36 -enum : uint { FACILITY_CONFIGURATION = 33 } 37 -enum : uint { FACILITY_COMPLUS = 17 } 38 -enum : uint { FACILITY_CERT = 11 } 39 -enum : uint { FACILITY_BACKGROUNDCOPY = 32 } 40 -enum : uint { FACILITY_ACS = 20 } 41 -enum : uint { FACILITY_AAF = 18 } 2276 +ushort HRESULT_SEVERITY(HRESULT r) { 2277 + return cast(ushort) ((r>>31) & 0x1); 2278 +} 42 2279 43 -enum : uint { ERROR_SUCCESS = 0 } 2280 +ushort SCODE_SEVERITY(SCODE r) { 2281 + return cast(ushort) ((r>>31) & 0x1); 2282 +} 44 2283 45 -enum : uint { NO_ERROR = 0 } 46 -enum : HRESULT { SEC_E_OK = cast(HRESULT)0x00000000 } 47 - 48 -enum : uint { ERROR_INVALID_FUNCTION = 1 } 49 - 50 -enum : uint { ERROR_FILE_NOT_FOUND = 2 } 51 - 52 -enum : uint { ERROR_PATH_NOT_FOUND = 3 } 53 - 54 -enum : uint { ERROR_TOO_MANY_OPEN_FILES = 4 } 55 - 56 -enum : uint { ERROR_ACCESS_DENIED = 5 } 57 - 58 -enum : uint { ERROR_INVALID_HANDLE = 6 } 59 - 60 -enum : uint { ERROR_ARENA_TRASHED = 7 } 61 - 62 -enum : uint { ERROR_NOT_ENOUGH_MEMORY = 8 } 63 - 64 -enum : uint { ERROR_INVALID_BLOCK = 9 } 65 - 66 -enum : uint { ERROR_BAD_ENVIRONMENT = 10 } 67 - 68 -enum : uint { ERROR_BAD_FORMAT = 11 } 69 - 70 -enum : uint { ERROR_INVALID_ACCESS = 12 } 71 - 72 -enum : uint { ERROR_INVALID_DATA = 13 } 73 - 74 -enum : uint { ERROR_OUTOFMEMORY = 14 } 75 - 76 -enum : uint { ERROR_INVALID_DRIVE = 15 } 77 - 78 -enum : uint { ERROR_CURRENT_DIRECTORY = 16 } 79 - 80 -enum : uint { ERROR_NOT_SAME_DEVICE = 17 } 81 - 82 -enum : uint { ERROR_NO_MORE_FILES = 18 } 2284 +HRESULT MAKE_HRESULT(bool s, uint f, uint c) { 2285 + return (s << 31) | (f << 16) | c; 2286 +} 83 2287 84 -enum : uint { ERROR_WRITE_PROTECT = 19 } 85 - 86 -enum : uint { ERROR_BAD_UNIT = 20 } 87 - 88 -enum : uint { ERROR_NOT_READY = 21 } 89 - 90 -enum : uint { ERROR_BAD_COMMAND = 22 } 91 - 92 -enum : uint { ERROR_CRC = 23 } 93 - 94 -enum : uint { ERROR_BAD_LENGTH = 24 } 95 - 96 -enum : uint { ERROR_SEEK = 25 } 97 - 98 -enum : uint { ERROR_NOT_DOS_DISK = 26 } 99 - 100 -enum : uint { ERROR_SECTOR_NOT_FOUND = 27 } 101 - 102 -enum : uint { ERROR_OUT_OF_PAPER = 28 } 103 - 104 -enum : uint { ERROR_WRITE_FAULT = 29 } 105 - 106 -enum : uint { ERROR_READ_FAULT = 30 } 107 - 108 -enum : uint { ERROR_GEN_FAILURE = 31 } 109 - 110 -enum : uint { ERROR_SHARING_VIOLATION = 32 } 111 - 112 -enum : uint { ERROR_LOCK_VIOLATION = 33 } 113 - 114 -enum : uint { ERROR_WRONG_DISK = 34 } 115 - 116 -enum : uint { ERROR_SHARING_BUFFER_EXCEEDED = 36 } 117 - 118 -enum : uint { ERROR_HANDLE_EOF = 38 } 119 - 120 -enum : uint { ERROR_HANDLE_DISK_FULL = 39 } 121 - 122 -enum : uint { ERROR_NOT_SUPPORTED = 50 } 123 - 124 -enum : uint { ERROR_REM_NOT_LIST = 51 } 125 - 126 -enum : uint { ERROR_DUP_NAME = 52 } 127 - 128 -enum : uint { ERROR_BAD_NETPATH = 53 } 129 - 130 -enum : uint { ERROR_NETWORK_BUSY = 54 } 131 - 132 -enum : uint { ERROR_DEV_NOT_EXIST = 55 } 133 - 134 -enum : uint { ERROR_TOO_MANY_CMDS = 56 } 135 - 136 -enum : uint { ERROR_ADAP_HDW_ERR = 57 } 137 - 138 -enum : uint { ERROR_BAD_NET_RESP = 58 } 139 - 140 -enum : uint { ERROR_UNEXP_NET_ERR = 59 } 141 - 142 -enum : uint { ERROR_BAD_REM_ADAP = 60 } 143 - 144 -enum : uint { ERROR_PRINTQ_FULL = 61 } 145 - 146 -enum : uint { ERROR_NO_SPOOL_SPACE = 62 } 147 - 148 -enum : uint { ERROR_PRINT_CANCELLED = 63 } 2288 +SCODE MAKE_SCODE(bool s, uint f, uint c) { 2289 + return (s << 31) | (f << 16) | c; 2290 +} 149 2291 150 -enum : uint { ERROR_NETNAME_DELETED = 64 } 151 - 152 -enum : uint { ERROR_NETWORK_ACCESS_DENIED = 65 } 153 - 154 -enum : uint { ERROR_BAD_DEV_TYPE = 66 } 155 - 156 -enum : uint { ERROR_BAD_NET_NAME = 67 } 157 - 158 -enum : uint { ERROR_TOO_MANY_NAMES = 68 } 159 - 160 -enum : uint { ERROR_TOO_MANY_SESS = 69 } 161 - 162 -enum : uint { ERROR_SHARING_PAUSED = 70 } 163 - 164 -enum : uint { ERROR_REQ_NOT_ACCEP = 71 } 165 - 166 -enum : uint { ERROR_REDIR_PAUSED = 72 } 167 - 168 -enum : uint { ERROR_FILE_EXISTS = 80 } 169 - 170 -enum : uint { ERROR_CANNOT_MAKE = 82 } 171 - 172 -enum : uint { ERROR_FAIL_I24 = 83 } 173 - 174 -enum : uint { ERROR_OUT_OF_STRUCTURES = 84 } 175 - 176 -enum : uint { ERROR_ALREADY_ASSIGNED = 85 } 177 - 178 -enum : uint { ERROR_INVALID_PASSWORD = 86 } 179 - 180 -enum : uint { ERROR_INVALID_PARAMETER = 87 } 181 - 182 -enum : uint { ERROR_NET_WRITE_FAULT = 88 } 183 - 184 -enum : uint { ERROR_NO_PROC_SLOTS = 89 } 185 - 186 -enum : uint { ERROR_TOO_MANY_SEMAPHORES = 100 } 187 - 188 -enum : uint { ERROR_EXCL_SEM_ALREADY_OWNED = 101 } 189 - 190 -enum : uint { ERROR_SEM_IS_SET = 102 } 191 - 192 -enum : uint { ERROR_TOO_MANY_SEM_REQUESTS = 103 } 193 - 194 -enum : uint { ERROR_INVALID_AT_INTERRUPT_TIME = 104 } 195 - 196 -enum : uint { ERROR_SEM_OWNER_DIED = 105 } 197 - 198 -enum : uint { ERROR_SEM_USER_LIMIT = 106 } 199 - 200 -enum : uint { ERROR_DISK_CHANGE = 107 } 201 - 202 -enum : uint { ERROR_DRIVE_LOCKED = 108 } 203 - 204 -enum : uint { ERROR_BROKEN_PIPE = 109 } 205 - 206 -enum : uint { ERROR_OPEN_FAILED = 110 } 207 - 208 -enum : uint { ERROR_BUFFER_OVERFLOW = 111 } 209 - 210 -enum : uint { ERROR_DISK_FULL = 112 } 211 - 212 -enum : uint { ERROR_NO_MORE_SEARCH_HANDLES = 113 } 213 - 214 -enum : uint { ERROR_INVALID_TARGET_HANDLE = 114 } 215 - 216 -enum : uint { ERROR_INVALID_CATEGORY = 117 } 217 - 218 -enum : uint { ERROR_INVALID_VERIFY_SWITCH = 118 } 219 - 220 -enum : uint { ERROR_BAD_DRIVER_LEVEL = 119 } 221 - 222 -enum : uint { ERROR_CALL_NOT_IMPLEMENTED = 120 } 223 - 224 -enum : uint { ERROR_SEM_TIMEOUT = 121 } 225 - 226 -enum : uint { ERROR_INSUFFICIENT_BUFFER = 122 } 227 - 228 -enum : uint { ERROR_INVALID_NAME = 123 } 229 - 230 -enum : uint { ERROR_INVALID_LEVEL = 124 } 231 - 232 -enum : uint { ERROR_NO_VOLUME_LABEL = 125 } 233 - 234 -enum : uint { ERROR_MOD_NOT_FOUND = 126 } 235 - 236 -enum : uint { ERROR_PROC_NOT_FOUND = 127 } 237 - 238 -enum : uint { ERROR_WAIT_NO_CHILDREN = 128 } 239 - 240 -enum : uint { ERROR_CHILD_NOT_COMPLETE = 129 } 241 - 242 -enum : uint { ERROR_DIRECT_ACCESS_HANDLE = 130 } 243 - 244 -enum : uint { ERROR_NEGATIVE_SEEK = 131 } 245 - 246 -enum : uint { ERROR_SEEK_ON_DEVICE = 132 } 247 - 248 -enum : uint { ERROR_IS_JOIN_TARGET = 133 } 249 - 250 -enum : uint { ERROR_IS_JOINED = 134 } 251 - 252 -enum : uint { ERROR_IS_SUBSTED = 135 } 253 - 254 -enum : uint { ERROR_NOT_JOINED = 136 } 255 - 256 -enum : uint { ERROR_NOT_SUBSTED = 137 } 257 - 258 -enum : uint { ERROR_JOIN_TO_JOIN = 138 } 259 - 260 -enum : uint { ERROR_SUBST_TO_SUBST = 139 } 261 - 262 -enum : uint { ERROR_JOIN_TO_SUBST = 140 } 263 - 264 -enum : uint { ERROR_SUBST_TO_JOIN = 141 } 265 - 266 -enum : uint { ERROR_BUSY_DRIVE = 142 } 267 - 268 -enum : uint { ERROR_SAME_DRIVE = 143 } 269 - 270 -enum : uint { ERROR_DIR_NOT_ROOT = 144 } 271 - 272 -enum : uint { ERROR_DIR_NOT_EMPTY = 145 } 273 - 274 -enum : uint { ERROR_IS_SUBST_PATH = 146 } 275 - 276 -enum : uint { ERROR_IS_JOIN_PATH = 147 } 277 - 278 -enum : uint { ERROR_PATH_BUSY = 148 } 279 - 280 -enum : uint { ERROR_IS_SUBST_TARGET = 149 } 281 - 282 -enum : uint { ERROR_SYSTEM_TRACE = 150 } 283 - 284 -enum : uint { ERROR_INVALID_EVENT_COUNT = 151 } 285 - 286 -enum : uint { ERROR_TOO_MANY_MUXWAITERS = 152 } 287 - 288 -enum : uint { ERROR_INVALID_LIST_FORMAT = 153 } 289 - 290 -enum : uint { ERROR_LABEL_TOO_LONG = 154 } 291 - 292 -enum : uint { ERROR_TOO_MANY_TCBS = 155 } 2292 +SCODE GetScode(HRESULT hr) { 2293 + return hr; 2294 +} 293 2295 294 -enum : uint { ERROR_SIGNAL_REFUSED = 156 } 295 - 296 -enum : uint { ERROR_DISCARDED = 157 } 297 - 298 -enum : uint { ERROR_NOT_LOCKED = 158 } 299 - 300 -enum : uint { ERROR_BAD_THREADID_ADDR = 159 } 301 - 302 -enum : uint { ERROR_BAD_ARGUMENTS = 160 } 303 - 304 -enum : uint { ERROR_BAD_PATHNAME = 161 } 305 - 306 -enum : uint { ERROR_SIGNAL_PENDING = 162 } 307 - 308 -enum : uint { ERROR_MAX_THRDS_REACHED = 164 } 309 - 310 -enum : uint { ERROR_LOCK_FAILED = 167 } 311 - 312 -enum : uint { ERROR_BUSY = 170 } 313 - 314 -enum : uint { ERROR_CANCEL_VIOLATION = 173 } 315 - 316 -enum : uint { ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = 174 } 317 - 318 -enum : uint { ERROR_INVALID_SEGMENT_NUMBER = 180 } 319 - 320 -enum : uint { ERROR_INVALID_ORDINAL = 182 } 321 - 322 -enum : uint { ERROR_ALREADY_EXISTS = 183 } 323 - 324 -enum : uint { ERROR_INVALID_FLAG_NUMBER = 186 } 325 - 326 -enum : uint { ERROR_SEM_NOT_FOUND = 187 } 327 - 328 -enum : uint { ERROR_INVALID_STARTING_CODESEG = 188 } 329 - 330 -enum : uint { ERROR_INVALID_STACKSEG = 189 } 331 - 332 -enum : uint { ERROR_INVALID_MODULETYPE = 190 } 333 - 334 -enum : uint { ERROR_INVALID_EXE_SIGNATURE = 191 } 335 - 336 -enum : uint { ERROR_EXE_MARKED_INVALID = 192 } 337 - 338 -enum : uint { ERROR_BAD_EXE_FORMAT = 193 } 339 - 340 -enum : uint { ERROR_ITERATED_DATA_EXCEEDS_64k = 194 } 341 - 342 -enum : uint { ERROR_INVALID_MINALLOCSIZE = 195 } 343 - 344 -enum : uint { ERROR_DYNLINK_FROM_INVALID_RING = 196 } 345 - 346 -enum : uint { ERROR_IOPL_NOT_ENABLED = 197 } 347 - 348 -enum : uint { ERROR_INVALID_SEGDPL = 198 } 349 - 350 -enum : uint { ERROR_AUTODATASEG_EXCEEDS_64k = 199 } 351 - 352 -enum : uint { ERROR_RING2SEG_MUST_BE_MOVABLE = 200 } 353 - 354 -enum : uint { ERROR_RELOC_CHAIN_XEEDS_SEGLIM = 201 } 355 - 356 -enum : uint { ERROR_INFLOOP_IN_RELOC_CHAIN = 202 } 357 - 358 -enum : uint { ERROR_ENVVAR_NOT_FOUND = 203 } 359 - 360 -enum : uint { ERROR_NO_SIGNAL_SENT = 205 } 361 - 362 -enum : uint { ERROR_FILENAME_EXCED_RANGE = 206 } 363 - 364 -enum : uint { ERROR_RING2_STACK_IN_USE = 207 } 365 - 366 -enum : uint { ERROR_META_EXPANSION_TOO_LONG = 208 } 367 - 368 -enum : uint { ERROR_INVALID_SIGNAL_NUMBER = 209 } 369 - 370 -enum : uint { ERROR_THREAD_1_INACTIVE = 210 } 371 - 372 -enum : uint { ERROR_LOCKED = 212 } 373 - 374 -enum : uint { ERROR_TOO_MANY_MODULES = 214 } 375 - 376 -enum : uint { ERROR_NESTING_NOT_ALLOWED = 215 } 377 - 378 -enum : uint { ERROR_EXE_MACHINE_TYPE_MISMATCH = 216 } 379 - 380 -enum : uint { ERROR_BAD_PIPE = 230 } 381 - 382 -enum : uint { ERROR_PIPE_BUSY = 231 } 383 - 384 -enum : uint { ERROR_NO_DATA = 232 } 385 - 386 -enum : uint { ERROR_PIPE_NOT_CONNECTED = 233 } 387 - 388 -enum : uint { ERROR_MORE_DATA = 234 } 389 - 390 -enum : uint { ERROR_VC_DISCONNECTED = 240 } 391 - 392 -enum : uint { ERROR_INVALID_EA_NAME = 254 } 393 - 394 -enum : uint { ERROR_EA_LIST_INCONSISTENT = 255 } 395 - 396 -enum : uint { WAIT_TIMEOUT = 258 } 397 - 398 -enum : uint { ERROR_NO_MORE_ITEMS = 259 } 399 - 400 -enum : uint { ERROR_CANNOT_COPY = 266 } 401 - 402 -enum : uint { ERROR_DIRECTORY = 267 } 403 - 404 -enum : uint { ERROR_EAS_DIDNT_FIT = 275 } 405 - 406 -enum : uint { ERROR_EA_FILE_CORRUPT = 276 } 407 - 408 -enum : uint { ERROR_EA_TABLE_FULL = 277 } 409 - 410 -enum : uint { ERROR_INVALID_EA_HANDLE = 278 } 411 - 412 -enum : uint { ERROR_EAS_NOT_SUPPORTED = 282 } 413 - 414 -enum : uint { ERROR_NOT_OWNER = 288 } 415 - 416 -enum : uint { ERROR_TOO_MANY_POSTS = 298 } 417 - 418 -enum : uint { ERROR_PARTIAL_COPY = 299 } 419 - 420 -enum : uint { ERROR_OPLOCK_NOT_GRANTED = 300 } 421 - 422 -enum : uint { ERROR_INVALID_OPLOCK_PROTOCOL = 301 } 423 - 424 -enum : uint { ERROR_DISK_TOO_FRAGMENTED = 302 } 425 - 426 -enum : uint { ERROR_DELETE_PENDING = 303 } 427 - 428 -enum : uint { ERROR_MR_MID_NOT_FOUND = 317 } 429 - 430 -enum : uint { ERROR_INVALID_ADDRESS = 487 } 431 - 432 -enum : uint { ERROR_ARITHMETIC_OVERFLOW = 534 } 433 - 434 -enum : uint { ERROR_PIPE_CONNECTED = 535 } 435 - 436 -enum : uint { ERROR_PIPE_LISTENING = 536 } 437 - 438 -enum : uint { ERROR_EA_ACCESS_DENIED = 994 } 439 - 440 -enum : uint { ERROR_OPERATION_ABORTED = 995 } 441 - 442 -enum : uint { ERROR_IO_INCOMPLETE = 996 } 443 - 444 -enum : uint { ERROR_IO_PENDING = 997 } 445 - 446 -enum : uint { ERROR_NOACCESS = 998 } 447 - 448 -enum : uint { ERROR_SWAPERROR = 999 } 449 - 450 -enum : uint { ERROR_STACK_OVERFLOW = 1001 } 451 - 452 -enum : uint { ERROR_INVALID_MESSAGE = 1002 } 453 - 454 -enum : uint { ERROR_CAN_NOT_COMPLETE = 1003 } 455 - 456 -enum : uint { ERROR_INVALID_FLAGS = 1004 } 457 - 458 -enum : uint { ERROR_UNRECOGNIZED_VOLUME = 1005 } 459 - 460 -enum : uint { ERROR_FILE_INVALID = 1006 } 461 - 462 -enum : uint { ERROR_FULLSCREEN_MODE = 1007 } 463 - 464 -enum : uint { ERROR_NO_TOKEN = 1008 } 465 - 466 -enum : uint { ERROR_BADDB = 1009 } 467 - 468 -enum : uint { ERROR_BADKEY = 1010 } 469 - 470 -enum : uint { ERROR_CANTOPEN = 1011 } 471 - 472 -enum : uint { ERROR_CANTREAD = 1012 } 473 - 474 -enum : uint { ERROR_CANTWRITE = 1013 } 475 - 476 -enum : uint { ERROR_REGISTRY_RECOVERED = 1014 } 477 - 478 -enum : uint { ERROR_REGISTRY_CORRUPT = 1015 } 479 - 480 -enum : uint { ERROR_REGISTRY_IO_FAILED = 1016 } 481 - 482 -enum : uint { ERROR_NOT_REGISTRY_FILE = 1017 } 483 - 484 -enum : uint { ERROR_KEY_DELETED = 1018 } 485 - 486 -enum : uint { ERROR_NO_LOG_SPACE = 1019 } 487 - 488 -enum : uint { ERROR_KEY_HAS_CHILDREN = 1020 } 489 - 490 -enum : uint { ERROR_CHILD_MUST_BE_VOLATILE = 1021 } 491 - 492 -enum : uint { ERROR_NOTIFY_ENUM_DIR = 1022 } 493 - 494 -enum : uint { ERROR_DEPENDENT_SERVICES_RUNNING = 1051 } 495 - 496 -enum : uint { ERROR_INVALID_SERVICE_CONTROL = 1052 } 497 - 498 -enum : uint { ERROR_SERVICE_REQUEST_TIMEOUT = 1053 } 499 - 500 -enum : uint { ERROR_SERVICE_NO_THREAD = 1054 } 501 - 502 -enum : uint { ERROR_SERVICE_DATABASE_LOCKED = 1055 } 503 - 504 -enum : uint { ERROR_SERVICE_ALREADY_RUNNING = 1056 } 505 - 506 -enum : uint { ERROR_INVALID_SERVICE_ACCOUNT = 1057 } 507 - 508 -enum : uint { ERROR_SERVICE_DISABLED = 1058 } 509 - 510 -enum : uint { ERROR_CIRCULAR_DEPENDENCY = 1059 } 511 - 512 -enum : uint { ERROR_SERVICE_DOES_NOT_EXIST = 1060 } 513 - 514 -enum : uint { ERROR_SERVICE_CANNOT_ACCEPT_CTRL = 1061 } 515 - 516 -enum : uint { ERROR_SERVICE_NOT_ACTIVE = 1062 } 517 - 518 -enum : uint { ERROR_FAILED_SERVICE_CONTROLLER_CONNECT = 1063 } 519 - 520 -enum : uint { ERROR_EXCEPTION_IN_SERVICE = 1064 } 521 - 522 -enum : uint { ERROR_DATABASE_DOES_NOT_EXIST = 1065 } 523 - 524 -enum : uint { ERROR_SERVICE_SPECIFIC_ERROR = 1066 } 525 - 526 -enum : uint { ERROR_PROCESS_ABORTED = 1067 } 527 - 528 -enum : uint { ERROR_SERVICE_DEPENDENCY_FAIL = 1068 } 529 - 530 -enum : uint { ERROR_SERVICE_LOGON_FAILED = 1069 } 531 - 532 -enum : uint { ERROR_SERVICE_START_HANG = 1070 } 533 - 534 -enum : uint { ERROR_INVALID_SERVICE_LOCK = 1071 } 535 - 536 -enum : uint { ERROR_SERVICE_MARKED_FOR_DELETE = 1072 } 537 - 538 -enum : uint { ERROR_SERVICE_EXISTS = 1073 } 539 - 540 -enum : uint { ERROR_ALREADY_RUNNING_LKG = 1074 } 541 - 542 -enum : uint { ERROR_SERVICE_DEPENDENCY_DELETED = 1075 } 543 - 544 -enum : uint { ERROR_BOOT_ALREADY_ACCEPTED = 1076 } 545 - 546 -enum : uint { ERROR_SERVICE_NEVER_STARTED = 1077 } 547 - 548 -enum : uint { ERROR_DUPLICATE_SERVICE_NAME = 1078 } 549 - 550 -enum : uint { ERROR_DIFFERENT_SERVICE_ACCOUNT = 1079 } 551 - 552 -enum : uint { ERROR_CANNOT_DETECT_DRIVER_FAILURE = 1080 } 553 - 554 -enum : uint { ERROR_CANNOT_DETECT_PROCESS_ABORT = 1081 } 555 - 556 -enum : uint { ERROR_NO_RECOVERY_PROGRAM = 1082 } 557 - 558 -enum : uint { ERROR_SERVICE_NOT_IN_EXE = 1083 } 559 - 560 -enum : uint { ERROR_NOT_SAFEBOOT_SERVICE = 1084 } 561 - 562 -enum : uint { ERROR_END_OF_MEDIA = 1100 } 563 - 564 -enum : uint { ERROR_FILEMARK_DETECTED = 1101 } 565 - 566 -enum : uint { ERROR_BEGINNING_OF_MEDIA = 1102 } 567 - 568 -enum : uint { ERROR_SETMARK_DETECTED = 1103 } 569 - 570 -enum : uint { ERROR_NO_DATA_DETECTED = 1104 } 571 - 572 -enum : uint { ERROR_PARTITION_FAILURE = 1105 } 573 - 574 -enum : uint { ERROR_INVALID_BLOCK_LENGTH = 1106 } 575 - 576 -enum : uint { ERROR_DEVICE_NOT_PARTITIONED = 1107 } 577 - 578 -enum : uint { ERROR_UNABLE_TO_LOCK_MEDIA = 1108 } 579 - 580 -enum : uint { ERROR_UNABLE_TO_UNLOAD_MEDIA = 1109 } 2296 +HRESULT ResultFromScode(SCODE c) { 2297 + return c; 2298 +} 581 2299 582 -enum : uint { ERROR_MEDIA_CHANGED = 1110 } 583 - 584 -enum : uint { ERROR_BUS_RESET = 1111 } 585 - 586 -enum : uint { ERROR_NO_MEDIA_IN_DRIVE = 1112 } 587 - 588 -enum : uint { ERROR_NO_UNICODE_TRANSLATION = 1113 } 589 - 590 -enum : uint { ERROR_DLL_INIT_FAILED = 1114 } 591 - 592 -enum : uint { ERROR_SHUTDOWN_IN_PROGRESS = 1115 } 593 - 594 -enum : uint { ERROR_NO_SHUTDOWN_IN_PROGRESS = 1116 } 595 - 596 -enum : uint { ERROR_IO_DEVICE = 1117 } 597 - 598 -enum : uint { ERROR_SERIAL_NO_DEVICE = 1118 } 599 - 600 -enum : uint { ERROR_IRQ_BUSY = 1119 } 601 - 602 -enum : uint { ERROR_MORE_WRITES = 1120 } 603 - 604 -enum : uint { ERROR_COUNTER_TIMEOUT = 1121 } 605 - 606 -enum : uint { ERROR_FLOPPY_ID_MARK_NOT_FOUND = 1122 } 607 - 608 -enum : uint { ERROR_FLOPPY_WRONG_CYLINDER = 1123 } 609 - 610 -enum : uint { ERROR_FLOPPY_UNKNOWN_ERROR = 1124 } 611 - 612 -enum : uint { ERROR_FLOPPY_BAD_REGISTERS = 1125 } 613 - 614 -enum : uint { ERROR_DISK_RECALIBRATE_FAILED = 1126 } 615 - 616 -enum : uint { ERROR_DISK_OPERATION_FAILED = 1127 } 617 - 618 -enum : uint { ERROR_DISK_RESET_FAILED = 1128 } 619 - 620 -enum : uint { ERROR_EOM_OVERFLOW = 1129 } 621 - 622 -enum : uint { ERROR_NOT_ENOUGH_SERVER_MEMORY = 1130 } 623 - 624 -enum : uint { ERROR_POSSIBLE_DEADLOCK = 1131 } 625 - 626 -enum : uint { ERROR_MAPPED_ALIGNMENT = 1132 } 627 - 628 -enum : uint { ERROR_SET_POWER_STATE_VETOED = 1140 } 629 - 630 -enum : uint { ERROR_SET_POWER_STATE_FAILED = 1141 } 631 - 632 -enum : uint { ERROR_TOO_MANY_LINKS = 1142 } 633 - 634 -enum : uint { ERROR_OLD_WIN_VERSION = 1150 } 635 - 636 -enum : uint { ERROR_APP_WRONG_OS = 1151 } 637 - 638 -enum : uint { ERROR_SINGLE_INSTANCE_APP = 1152 } 639 - 640 -enum : uint { ERROR_RMODE_APP = 1153 } 641 - 642 -enum : uint { ERROR_INVALID_DLL = 1154 } 643 - 644 -enum : uint { ERROR_NO_ASSOCIATION = 1155 } 645 - 646 -enum : uint { ERROR_DDE_FAIL = 1156 } 647 - 648 -enum : uint { ERROR_DLL_NOT_FOUND = 1157 } 649 - 650 -enum : uint { ERROR_NO_MORE_USER_HANDLES = 1158 } 651 - 652 -enum : uint { ERROR_MESSAGE_SYNC_ONLY = 1159 } 653 - 654 -enum : uint { ERROR_SOURCE_ELEMENT_EMPTY = 1160 } 655 - 656 -enum : uint { ERROR_DESTINATION_ELEMENT_FULL = 1161 } 657 - 658 -enum : uint { ERROR_ILLEGAL_ELEMENT_ADDRESS = 1162 } 659 - 660 -enum : uint { ERROR_MAGAZINE_NOT_PRESENT = 1163 } 661 - 662 -enum : uint { ERROR_DEVICE_REINITIALIZATION_NEEDED = 1164 } 663 - 664 -enum : uint { ERROR_DEVICE_REQUIRES_CLEANING = 1165 } 665 - 666 -enum : uint { ERROR_DEVICE_DOOR_OPEN = 1166 } 667 - 668 -enum : uint { ERROR_DEVICE_NOT_CONNECTED = 1167 } 669 - 670 -enum : uint { ERROR_NOT_FOUND = 1168 } 671 - 672 -enum : uint { ERROR_NO_MATCH = 1169 } 673 - 674 -enum : uint { ERROR_SET_NOT_FOUND = 1170 } 675 - 676 -enum : uint { ERROR_POINT_NOT_FOUND = 1171 } 677 - 678 -enum : uint { ERROR_NO_TRACKING_SERVICE = 1172 } 679 - 680 -enum : uint { ERROR_NO_VOLUME_ID = 1173 } 681 - 682 -enum : uint { ERROR_UNABLE_TO_REMOVE_REPLACED = 1175 } 683 - 684 -enum : uint { ERROR_UNABLE_TO_MOVE_REPLACEMENT = 1176 } 685 - 686 -enum : uint { ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 = 1177 } 687 - 688 -enum : uint { ERROR_JOURNAL_DELETE_IN_PROGRESS = 1178 } 689 - 690 -enum : uint { ERROR_JOURNAL_NOT_ACTIVE = 1179 } 691 - 692 -enum : uint { ERROR_POTENTIAL_FILE_FOUND = 1180 } 693 - 694 -enum : uint { ERROR_JOURNAL_ENTRY_DELETED = 1181 } 695 - 696 -enum : uint { ERROR_BAD_DEVICE = 1200 } 697 - 698 -enum : uint { ERROR_CONNECTION_UNAVAIL = 1201 } 699 - 700 -enum : uint { ERROR_DEVICE_ALREADY_REMEMBERED = 1202 } 701 - 702 -enum : uint { ERROR_NO_NET_OR_BAD_PATH = 1203 } 703 - 704 -enum : uint { ERROR_BAD_PROVIDER = 1204 } 705 - 706 -enum : uint { ERROR_CANNOT_OPEN_PROFILE = 1205 } 707 - 708 -enum : uint { ERROR_BAD_PROFILE = 1206 } 709 - 710 -enum : uint { ERROR_NOT_CONTAINER = 1207 } 711 - 712 -enum : uint { ERROR_EXTENDED_ERROR = 1208 } 713 - 714 -enum : uint { ERROR_INVALID_GROUPNAME = 1209 } 715 - 716 -enum : uint { ERROR_INVALID_COMPUTERNAME = 1210 } 717 - 718 -enum : uint { ERROR_INVALID_EVENTNAME = 1211 } 719 - 720 -enum : uint { ERROR_INVALID_DOMAINNAME = 1212 } 721 - 722 -enum : uint { ERROR_INVALID_SERVICENAME = 1213 } 723 - 724 -enum : uint { ERROR_INVALID_NETNAME = 1214 } 725 - 726 -enum : uint { ERROR_INVALID_SHARENAME = 1215 } 727 - 728 -enum : uint { ERROR_INVALID_PASSWORDNAME = 1216 } 729 - 730 -enum : uint { ERROR_INVALID_MESSAGENAME = 1217 } 731 - 732 -enum : uint { ERROR_INVALID_MESSAGEDEST = 1218 } 733 - 734 -enum : uint { ERROR_SESSION_CREDENTIAL_CONFLICT = 1219 } 735 - 736 -enum : uint { ERROR_REMOTE_SESSION_LIMIT_EXCEEDED = 1220 } 737 - 738 -enum : uint { ERROR_DUP_DOMAINNAME = 1221 } 739 - 740 -enum : uint { ERROR_NO_NETWORK = 1222 } 741 - 742 -enum : uint { ERROR_CANCELLED = 1223 } 743 - 744 -enum : uint { ERROR_USER_MAPPED_FILE = 1224 } 745 - 746 -enum : uint { ERROR_CONNECTION_REFUSED = 1225 } 747 - 748 -enum : uint { ERROR_GRACEFUL_DISCONNECT = 1226 } 749 - 750 -enum : uint { ERROR_ADDRESS_ALREADY_ASSOCIATED = 1227 } 751 - 752 -enum : uint { ERROR_ADDRESS_NOT_ASSOCIATED = 1228 } 753 - 754 -enum : uint { ERROR_CONNECTION_INVALID = 1229 } 755 - 756 -enum : uint { ERROR_CONNECTION_ACTIVE = 1230 } 757 - 758 -enum : uint { ERROR_NETWORK_UNREACHABLE = 1231 } 759 - 760 -enum : uint { ERROR_HOST_UNREACHABLE = 1232 } 761 - 762 -enum : uint { ERROR_PROTOCOL_UNREACHABLE = 1233 } 763 - 764 -enum : uint { ERROR_PORT_UNREACHABLE = 1234 } 765 - 766 -enum : uint { ERROR_REQUEST_ABORTED = 1235 } 767 - 768 -enum : uint { ERROR_CONNECTION_ABORTED = 1236 } 769 - 770 -enum : uint { ERROR_RETRY = 1237 } 771 - 772 -enum : uint { ERROR_CONNECTION_COUNT_LIMIT = 1238 } 773 - 774 -enum : uint { ERROR_LOGIN_TIME_RESTRICTION = 1239 } 775 - 776 -enum : uint { ERROR_LOGIN_WKSTA_RESTRICTION = 1240 } 777 - 778 -enum : uint { ERROR_INCORRECT_ADDRESS = 1241 } 779 - 780 -enum : uint { ERROR_ALREADY_REGISTERED = 1242 } 781 - 782 -enum : uint { ERROR_SERVICE_NOT_FOUND = 1243 } 783 - 784 -enum : uint { ERROR_NOT_AUTHENTICATED = 1244 } 785 - 786 -enum : uint { ERROR_NOT_LOGGED_ON = 1245 } 787 - 788 -enum : uint { ERROR_CONTINUE = 1246 } 789 - 790 -enum : uint { ERROR_ALREADY_INITIALIZED = 1247 } 791 - 792 -enum : uint { ERROR_NO_MORE_DEVICES = 1248 } 793 - 794 -enum : uint { ERROR_NO_SUCH_SITE = 1249 } 795 - 796 -enum : uint { ERROR_DOMAIN_CONTROLLER_EXISTS = 1250 } 797 - 798 -enum : uint { ERROR_ONLY_IF_CONNECTED = 1251 } 799 - 800 -enum : uint { ERROR_OVERRIDE_NOCHANGES = 1252 } 801 - 802 -enum : uint { ERROR_BAD_USER_PROFILE = 1253 } 803 - 804 -enum : uint { ERROR_NOT_SUPPORTED_ON_SBS = 1254 } 805 - 806 -enum : uint { ERROR_SERVER_SHUTDOWN_IN_PROGRESS = 1255 } 807 - 808 -enum : uint { ERROR_HOST_DOWN = 1256 } 809 - 810 -enum : uint { ERROR_NON_ACCOUNT_SID = 1257 } 811 - 812 -enum : uint { ERROR_NON_DOMAIN_SID = 1258 } 813 - 814 -enum : uint { ERROR_APPHELP_BLOCK = 1259 } 815 - 816 -enum : uint { ERROR_ACCESS_DISABLED_BY_POLICY = 1260 } 817 - 818 -enum : uint { ERROR_REG_NAT_CONSUMPTION = 1261 } 819 - 820 -enum : uint { ERROR_CSCSHARE_OFFLINE = 1262 } 821 - 822 -enum : uint { ERROR_PKINIT_FAILURE = 1263 } 823 - 824 -enum : uint { ERROR_SMARTCARD_SUBSYSTEM_FAILURE = 1264 } 825 - 826 -enum : uint { ERROR_DOWNGRADE_DETECTED = 1265 } 827 - 828 -enum : uint { SEC_E_SMARTCARD_CERT_REVOKED = 1266 } 829 - 830 -enum : uint { SEC_E_ISSUING_CA_UNTRUSTED = 1267 } 831 - 832 -enum : uint { SEC_E_REVOCATION_OFFLINE_C = 1268 } 833 - 834 -enum : uint { SEC_E_PKINIT_CLIENT_FAILURE = 1269 } 835 - 836 -enum : uint { SEC_E_SMARTCARD_CERT_EXPIRED = 1270 } 837 - 838 -enum : uint { ERROR_MACHINE_LOCKED = 1271 } 839 - 840 -enum : uint { ERROR_CALLBACK_SUPPLIED_INVALID_DATA = 1273 } 841 - 842 -enum : uint { ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED = 1274 } 843 - 844 -enum : uint { ERROR_DRIVER_BLOCKED = 1275 } 845 - 846 -enum : uint { ERROR_INVALID_IMPORT_OF_NON_DLL = 1276 } 847 - 848 -enum : uint { ERROR_NOT_ALL_ASSIGNED = 1300 } 849 - 850 -enum : uint { ERROR_SOME_NOT_MAPPED = 1301 } 851 - 852 -enum : uint { ERROR_NO_QUOTAS_FOR_ACCOUNT = 1302 } 853 - 854 -enum : uint { ERROR_LOCAL_USER_SESSION_KEY = 1303 } 855 - 856 -enum : uint { ERROR_NULL_LM_PASSWORD = 1304 } 857 - 858 -enum : uint { ERROR_UNKNOWN_REVISION = 1305 } 859 - 860 -enum : uint { ERROR_REVISION_MISMATCH = 1306 } 861 - 862 -enum : uint { ERROR_INVALID_OWNER = 1307 } 863 - 864 -enum : uint { ERROR_INVALID_PRIMARY_GROUP = 1308 } 865 - 866 -enum : uint { ERROR_NO_IMPERSONATION_TOKEN = 1309 } 867 - 868 -enum : uint { ERROR_CANT_DISABLE_MANDATORY = 1310 } 869 - 870 -enum : uint { ERROR_NO_LOGON_SERVERS = 1311 } 871 - 872 -enum : uint { ERROR_NO_SUCH_LOGON_SESSION = 1312 } 873 - 874 -enum : uint { ERROR_NO_SUCH_PRIVILEGE = 1313 } 875 - 876 -enum : uint { ERROR_PRIVILEGE_NOT_HELD = 1314 } 877 - 878 -enum : uint { ERROR_INVALID_ACCOUNT_NAME = 1315 } 879 - 880 -enum : uint { ERROR_USER_EXISTS = 1316 } 881 - 882 -enum : uint { ERROR_NO_SUCH_USER = 1317 } 883 - 884 -enum : uint { ERROR_GROUP_EXISTS = 1318 } 885 - 886 -enum : uint { ERROR_NO_SUCH_GROUP = 1319 } 887 - 888 -enum : uint { ERROR_MEMBER_IN_GROUP = 1320 } 889 - 890 -enum : uint { ERROR_MEMBER_NOT_IN_GROUP = 1321 } 891 - 892 -enum : uint { ERROR_LAST_ADMIN = 1322 } 893 - 894 -enum : uint { ERROR_WRONG_PASSWORD = 1323 } 895 - 896 -enum : uint { ERROR_ILL_FORMED_PASSWORD = 1324 } 897 - 898 -enum : uint { ERROR_PASSWORD_RESTRICTION = 1325 } 899 - 900 -enum : uint { ERROR_LOGON_FAILURE = 1326 } 901 - 902 -enum : uint { ERROR_ACCOUNT_RESTRICTION = 1327 } 903 - 904 -enum : uint { ERROR_INVALID_LOGON_HOURS = 1328 } 905 - 906 -enum : uint { ERROR_INVALID_WORKSTATION = 1329 } 907 - 908 -enum : uint { ERROR_PASSWORD_EXPIRED = 1330 } 909 - 910 -enum : uint { ERROR_ACCOUNT_DISABLED = 1331 } 911 - 912 -enum : uint { ERROR_NONE_MAPPED = 1332 } 913 - 914 -enum : uint { ERROR_TOO_MANY_LUIDS_REQUESTED = 1333 } 915 - 916 -enum : uint { ERROR_LUIDS_EXHAUSTED = 1334 } 917 - 918 -enum : uint { ERROR_INVALID_SUB_AUTHORITY = 1335 } 919 - 920 -enum : uint { ERROR_INVALID_ACL = 1336 } 921 - 922 -enum : uint { ERROR_INVALID_SID = 1337 } 923 - 924 -enum : uint { ERROR_INVALID_SECURITY_DESCR = 1338 } 925 - 926 -enum : uint { ERROR_BAD_INHERITANCE_ACL = 1340 } 927 - 928 -enum : uint { ERROR_SERVER_DISABLED = 1341 } 929 - 930 -enum : uint { ERROR_SERVER_NOT_DISABLED = 1342 } 931 - 932 -enum : uint { ERROR_INVALID_ID_AUTHORITY = 1343 } 933 - 934 -enum : uint { ERROR_ALLOTTED_SPACE_EXCEEDED = 1344 } 935 - 936 -enum : uint { ERROR_INVALID_GROUP_ATTRIBUTES = 1345 } 937 - 938 -enum : uint { ERROR_BAD_IMPERSONATION_LEVEL = 1346 } 939 - 940 -enum : uint { ERROR_CANT_OPEN_ANONYMOUS = 1347 } 941 - 942 -enum : uint { ERROR_BAD_VALIDATION_CLASS = 1348 } 943 - 944 -enum : uint { ERROR_BAD_TOKEN_TYPE = 1349 } 945 - 946 -enum : uint { ERROR_NO_SECURITY_ON_OBJECT = 1350 } 947 - 948 -enum : uint { ERROR_CANT_ACCESS_DOMAIN_INFO = 1351 } 949 - 950 -enum : uint { ERROR_INVALID_SERVER_STATE = 1352 } 951 - 952 -enum : uint { ERROR_INVALID_DOMAIN_STATE = 1353 } 953 - 954 -enum : uint { ERROR_INVALID_DOMAIN_ROLE = 1354 } 955 - 956 -enum : uint { ERROR_NO_SUCH_DOMAIN = 1355 } 957 - 958 -enum : uint { ERROR_DOMAIN_EXISTS = 1356 } 959 - 960 -enum : uint { ERROR_DOMAIN_LIMIT_EXCEEDED = 1357 } 961 - 962 -enum : uint { ERROR_INTERNAL_DB_CORRUPTION = 1358 } 963 - 964 -enum : uint { ERROR_INTERNAL_ERROR = 1359 } 965 - 966 -enum : uint { ERROR_GENERIC_NOT_MAPPED = 1360 } 967 - 968 -enum : uint { ERROR_BAD_DESCRIPTOR_FORMAT = 1361 } 969 - 970 -enum : uint { ERROR_NOT_LOGON_PROCESS = 1362 } 971 - 972 -enum : uint { ERROR_LOGON_SESSION_EXISTS = 1363 } 973 - 974 -enum : uint { ERROR_NO_SUCH_PACKAGE = 1364 } 975 - 976 -enum : uint { ERROR_BAD_LOGON_SESSION_STATE = 1365 } 977 - 978 -enum : uint { ERROR_LOGON_SESSION_COLLISION = 1366 } 979 - 980 -enum : uint { ERROR_INVALID_LOGON_TYPE = 1367 } 981 - 982 -enum : uint { ERROR_CANNOT_IMPERSONATE = 1368 } 983 - 984 -enum : uint { ERROR_RXACT_INVALID_STATE = 1369 } 985 - 986 -enum : uint { ERROR_RXACT_COMMIT_FAILURE = 1370 } 987 - 988 -enum : uint { ERROR_SPECIAL_ACCOUNT = 1371 } 989 - 990 -enum : uint { ERROR_SPECIAL_GROUP = 1372 } 991 - 992 -enum : uint { ERROR_SPECIAL_USER = 1373 } 993 - 994 -enum : uint { ERROR_MEMBERS_PRIMARY_GROUP = 1374 } 995 - 996 -enum : uint { ERROR_TOKEN_ALREADY_IN_USE = 1375 } 997 - 998 -enum : uint { ERROR_NO_SUCH_ALIAS = 1376 } 999 - 1000 -enum : uint { ERROR_MEMBER_NOT_IN_ALIAS = 1377 } 1001 - 1002 -enum : uint { ERROR_MEMBER_IN_ALIAS = 1378 } 1003 - 1004 -enum : uint { ERROR_ALIAS_EXISTS = 1379 } 1005 - 1006 -enum : uint { ERROR_LOGON_NOT_GRANTED = 1380 } 1007 - 1008 -enum : uint { ERROR_TOO_MANY_SECRETS = 1381 } 1009 - 1010 -enum : uint { ERROR_SECRET_TOO_LONG = 1382 } 1011 - 1012 -enum : uint { ERROR_INTERNAL_DB_ERROR = 1383 } 1013 - 1014 -enum : uint { ERROR_TOO_MANY_CONTEXT_IDS = 1384 } 1015 - 1016 -enum : uint { ERROR_LOGON_TYPE_NOT_GRANTED = 1385 } 1017 - 1018 -enum : uint { ERROR_NT_CROSS_ENCRYPTION_REQUIRED = 1386 } 1019 - 1020 -enum : uint { ERROR_NO_SUCH_MEMBER = 1387 } 1021 - 1022 -enum : uint { ERROR_INVALID_MEMBER = 1388 } 1023 - 1024 -enum : uint { ERROR_TOO_MANY_SIDS = 1389 } 1025 - 1026 -enum : uint { ERROR_LM_CROSS_ENCRYPTION_REQUIRED = 1390 } 1027 - 1028 -enum : uint { ERROR_NO_INHERITANCE = 1391 } 1029 - 1030 -enum : uint { ERROR_FILE_CORRUPT = 1392 } 1031 - 1032 -enum : uint { ERROR_DISK_CORRUPT = 1393 } 1033 - 1034 -enum : uint { ERROR_NO_USER_SESSION_KEY = 1394 } 1035 - 1036 -enum : uint { ERROR_LICENSE_QUOTA_EXCEEDED = 1395 } 1037 - 1038 -enum : uint { ERROR_WRONG_TARGET_NAME = 1396 } 1039 - 1040 -enum : uint { ERROR_MUTUAL_AUTH_FAILED = 1397 } 1041 - 1042 -enum : uint { ERROR_TIME_SKEW = 1398 } 1043 - 1044 -enum : uint { ERROR_CURRENT_DOMAIN_NOT_ALLOWED = 1399 } 1045 - 1046 -enum : uint { ERROR_INVALID_WINDOW_HANDLE = 1400 } 1047 - 1048 -enum : uint { ERROR_INVALID_MENU_HANDLE = 1401 } 1049 - 1050 -enum : uint { ERROR_INVALID_CURSOR_HANDLE = 1402 } 1051 - 1052 -enum : uint { ERROR_INVALID_ACCEL_HANDLE = 1403 } 1053 - 1054 -enum : uint { ERROR_INVALID_HOOK_HANDLE = 1404 } 1055 - 1056 -enum : uint { ERROR_INVALID_DWP_HANDLE = 1405 } 1057 - 1058 -enum : uint { ERROR_TLW_WITH_WSCHILD = 1406 } 1059 - 1060 -enum : uint { ERROR_CANNOT_FIND_WND_CLASS = 1407 } 1061 - 1062 -enum : uint { ERROR_WINDOW_OF_OTHER_THREAD = 1408 } 1063 - 1064 -enum : uint { ERROR_HOTKEY_ALREADY_REGISTERED = 1409 } 1065 - 1066 -enum : uint { ERROR_CLASS_ALREADY_EXISTS = 1410 } 1067 - 1068 -enum : uint { ERROR_CLASS_DOES_NOT_EXIST = 1411 } 1069 - 1070 -enum : uint { ERROR_CLASS_HAS_WINDOWS = 1412 } 1071 - 1072 -enum : uint { ERROR_INVALID_INDEX = 1413 } 1073 - 1074 -enum : uint { ERROR_INVALID_ICON_HANDLE = 1414 } 1075 - 1076 -enum : uint { ERROR_PRIVATE_DIALOG_INDEX = 1415 } 1077 - 1078 -enum : uint { ERROR_LISTBOX_ID_NOT_FOUND = 1416 } 1079 - 1080 -enum : uint { ERROR_NO_WILDCARD_CHARACTERS = 1417 } 1081 - 1082 -enum : uint { ERROR_CLIPBOARD_NOT_OPEN = 1418 } 1083 - 1084 -enum : uint { ERROR_HOTKEY_NOT_REGISTERED = 1419 } 1085 - 1086 -enum : uint { ERROR_WINDOW_NOT_DIALOG = 1420 } 1087 - 1088 -enum : uint { ERROR_CONTROL_ID_NOT_FOUND = 1421 } 1089 - 1090 -enum : uint { ERROR_INVALID_COMBOBOX_MESSAGE = 1422 } 1091 - 1092 -enum : uint { ERROR_WINDOW_NOT_COMBOBOX = 1423 } 1093 - 1094 -enum : uint { ERROR_INVALID_EDIT_HEIGHT = 1424 } 1095 - 1096 -enum : uint { ERROR_DC_NOT_FOUND = 1425 } 1097 - 1098 -enum : uint { ERROR_INVALID_HOOK_FILTER = 1426 } 1099 - 1100 -enum : uint { ERROR_INVALID_FILTER_PROC = 1427 } 1101 - 1102 -enum : uint { ERROR_HOOK_NEEDS_HMOD = 1428 } 1103 - 1104 -enum : uint { ERROR_GLOBAL_ONLY_HOOK = 1429 } 1105 - 1106 -enum : uint { ERROR_JOURNAL_HOOK_SET = 1430 } 1107 - 1108 -enum : uint { ERROR_HOOK_NOT_INSTALLED = 1431 } 1109 - 1110 -enum : uint { ERROR_INVALID_LB_MESSAGE = 1432 } 1111 - 1112 -enum : uint { ERROR_SETCOUNT_ON_BAD_LB = 1433 } 1113 - 1114 -enum : uint { ERROR_LB_WITHOUT_TABSTOPS = 1434 } 1115 - 1116 -enum : uint { ERROR_DESTROY_OBJECT_OF_OTHER_THREAD = 1435 } 1117 - 1118 -enum : uint { ERROR_CHILD_WINDOW_MENU = 1436 } 1119 - 1120 -enum : uint { ERROR_NO_SYSTEM_MENU = 1437 } 1121 - 1122 -enum : uint { ERROR_INVALID_MSGBOX_STYLE = 1438 } 1123 - 1124 -enum : uint { ERROR_INVALID_SPI_VALUE = 1439 } 1125 - 1126 -enum : uint { ERROR_SCREEN_ALREADY_LOCKED = 1440 } 1127 - 1128 -enum : uint { ERROR_HWNDS_HAVE_DIFF_PARENT = 1441 } 1129 - 1130 -enum : uint { ERROR_NOT_CHILD_WINDOW = 1442 } 1131 - 1132 -enum : uint { ERROR_INVALID_GW_COMMAND = 1443 } 1133 - 1134 -enum : uint { ERROR_INVALID_THREAD_ID = 1444 } 1135 - 1136 -enum : uint { ERROR_NON_MDICHILD_WINDOW = 1445 } 1137 - 1138 -enum : uint { ERROR_POPUP_ALREADY_ACTIVE = 1446 } 1139 - 1140 -enum : uint { ERROR_NO_SCROLLBARS = 1447 } 1141 - 1142 -enum : uint { ERROR_INVALID_SCROLLBAR_RANGE = 1448 } 1143 - 1144 -enum : uint { ERROR_INVALID_SHOWWIN_COMMAND = 1449 } 1145 - 1146 -enum : uint { ERROR_NO_SYSTEM_RESOURCES = 1450 } 1147 - 1148 -enum : uint { ERROR_NONPAGED_SYSTEM_RESOURCES = 1451 } 1149 - 1150 -enum : uint { ERROR_PAGED_SYSTEM_RESOURCES = 1452 } 1151 - 1152 -enum : uint { ERROR_WORKING_SET_QUOTA = 1453 } 1153 - 1154 -enum : uint { ERROR_PAGEFILE_QUOTA = 1454 } 2300 +HRESULT HRESULT_FROM_NT(HRESULT x) { 2301 + return x | FACILITY_NT_BIT; 2302 +} 1155 2303 1156 -enum : uint { ERROR_COMMITMENT_LIMIT = 1455 } 1157 - 1158 -enum : uint { ERROR_MENU_ITEM_NOT_FOUND = 1456 } 1159 - 1160 -enum : uint { ERROR_INVALID_KEYBOARD_HANDLE = 1457 } 1161 - 1162 -enum : uint { ERROR_HOOK_TYPE_NOT_ALLOWED = 1458 } 1163 - 1164 -enum : uint { ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION = 1459 } 1165 - 1166 -enum : uint { ERROR_TIMEOUT = 1460 } 1167 - 1168 -enum : uint { ERROR_INVALID_MONITOR_HANDLE = 1461 } 1169 - 1170 -enum : uint { ERROR_EVENTLOG_FILE_CORRUPT = 1500 } 1171 - 1172 -enum : uint { ERROR_EVENTLOG_CANT_START = 1501 } 1173 - 1174 -enum : uint { ERROR_LOG_FILE_FULL = 1502 } 1175 - 1176 -enum : uint { ERROR_EVENTLOG_FILE_CHANGED = 1503 } 1177 - 1178 -enum : uint { ERROR_INSTALL_SERVICE_FAILURE = 1601 } 1179 - 1180 -enum : uint { ERROR_INSTALL_USEREXIT = 1602 } 1181 - 1182 -enum : uint { ERROR_INSTALL_FAILURE = 1603 } 1183 - 1184 -enum : uint { ERROR_INSTALL_SUSPEND = 1604 } 1185 - 1186 -enum : uint { ERROR_UNKNOWN_PRODUCT = 1605 } 1187 - 1188 -enum : uint { ERROR_UNKNOWN_FEATURE = 1606 } 1189 - 1190 -enum : uint { ERROR_UNKNOWN_COMPONENT = 1607 } 1191 - 1192 -enum : uint { ERROR_UNKNOWN_PROPERTY = 1608 } 1193 - 1194 -enum : uint { ERROR_INVALID_HANDLE_STATE = 1609 } 1195 - 1196 -enum : uint { ERROR_BAD_CONFIGURATION = 1610 } 1197 - 1198 -enum : uint { ERROR_INDEX_ABSENT = 1611 } 1199 - 1200 -enum : uint { ERROR_INSTALL_SOURCE_ABSENT = 1612 } 1201 - 1202 -enum : uint { ERROR_INSTALL_PACKAGE_VERSION = 1613 } 1203 - 1204 -enum : uint { ERROR_PRODUCT_UNINSTALLED = 1614 } 1205 - 1206 -enum : uint { ERROR_BAD_QUERY_SYNTAX = 1615 } 1207 - 1208 -enum : uint { ERROR_INVALID_FIELD = 1616 } 1209 - 1210 -enum : uint { ERROR_DEVICE_REMOVED = 1617 } 1211 - 1212 -enum : uint { ERROR_INSTALL_ALREADY_RUNNING = 1618 } 1213 - 1214 -enum : uint { ERROR_INSTALL_PACKAGE_OPEN_FAILED = 1619 } 1215 - 1216 -enum : uint { ERROR_INSTALL_PACKAGE_INVALID = 1620 } 1217 - 1218 -enum : uint { ERROR_INSTALL_UI_FAILURE = 1621 } 1219 - 1220 -enum : uint { ERROR_INSTALL_LOG_FAILURE = 1622 } 1221 - 1222 -enum : uint { ERROR_INSTALL_LANGUAGE_UNSUPPORTED = 1623 } 1223 - 1224 -enum : uint { ERROR_INSTALL_TRANSFORM_FAILURE = 1624 } 1225 - 1226 -enum : uint { ERROR_INSTALL_PACKAGE_REJECTED = 1625 } 1227 - 1228 -enum : uint { ERROR_FUNCTION_NOT_CALLED = 1626 } 1229 - 1230 -enum : uint { ERROR_FUNCTION_FAILED = 1627 } 1231 - 1232 -enum : uint { ERROR_INVALID_TABLE = 1628 } 1233 - 1234 -enum : uint { ERROR_DATATYPE_MISMATCH = 1629 } 1235 - 1236 -enum : uint { ERROR_UNSUPPORTED_TYPE = 1630 } 1237 - 1238 -enum : uint { ERROR_CREATE_FAILED = 1631 } 1239 - 1240 -enum : uint { ERROR_INSTALL_TEMP_UNWRITABLE = 1632 } 1241 - 1242 -enum : uint { ERROR_INSTALL_PLATFORM_UNSUPPORTED = 1633 } 1243 - 1244 -enum : uint { ERROR_INSTALL_NOTUSED = 1634 } 1245 - 1246 -enum : uint { ERROR_PATCH_PACKAGE_OPEN_FAILED = 1635 } 1247 - 1248 -enum : uint { ERROR_PATCH_PACKAGE_INVALID = 1636 } 1249 - 1250 -enum : uint { ERROR_PATCH_PACKAGE_UNSUPPORTED = 1637 } 1251 - 1252 -enum : uint { ERROR_PRODUCT_VERSION = 1638 } 1253 - 1254 -enum : uint { ERROR_INVALID_COMMAND_LINE = 1639 } 1255 - 1256 -enum : uint { ERROR_INSTALL_REMOTE_DISALLOWED = 1640 } 1257 - 1258 -enum : uint { ERROR_SUCCESS_REBOOT_INITIATED = 1641 } 1259 - 1260 -enum : uint { ERROR_PATCH_TARGET_NOT_FOUND = 1642 } 1261 - 1262 -enum : uint { ERROR_PATCH_PACKAGE_REJECTED = 1643 } 1263 - 1264 -enum : uint { ERROR_INSTALL_TRANSFORM_REJECTED = 1644 } 1265 - 1266 -enum : uint { RPC_S_INVALID_STRING_BINDING = 1700 } 1267 - 1268 -enum : uint { RPC_S_WRONG_KIND_OF_BINDING = 1701 } 1269 - 1270 -enum : uint { RPC_S_INVALID_BINDING = 1702 } 1271 - 1272 -enum : uint { RPC_S_PROTSEQ_NOT_SUPPORTED = 1703 } 1273 - 1274 -enum : uint { RPC_S_INVALID_RPC_PROTSEQ = 1704 } 1275 - 1276 -enum : uint { RPC_S_INVALID_STRING_UUID = 1705 } 1277 - 1278 -enum : uint { RPC_S_INVALID_ENDPOINT_FORMAT = 1706 } 1279 - 1280 -enum : uint { RPC_S_INVALID_NET_ADDR = 1707 } 1281 - 1282 -enum : uint { RPC_S_NO_ENDPOINT_FOUND = 1708 } 1283 - 1284 -enum : uint { RPC_S_INVALID_TIMEOUT = 1709 } 1285 - 1286 -enum : uint { RPC_S_OBJECT_NOT_FOUND = 1710 } 1287 - 1288 -enum : uint { RPC_S_ALREADY_REGISTERED = 1711 } 1289 - 1290 -enum : uint { RPC_S_TYPE_ALREADY_REGISTERED = 1712 } 1291 - 1292 -enum : uint { RPC_S_ALREADY_LISTENING = 1713 } 1293 - 1294 -enum : uint { RPC_S_NO_PROTSEQS_REGISTERED = 1714 } 1295 - 1296 -enum : uint { RPC_S_NOT_LISTENING = 1715 } 1297 - 1298 -enum : uint { RPC_S_UNKNOWN_MGR_TYPE = 1716 } 1299 - 1300 -enum : uint { RPC_S_UNKNOWN_IF = 1717 } 1301 - 1302 -enum : uint { RPC_S_NO_BINDINGS = 1718 } 1303 - 1304 -enum : uint { RPC_S_NO_PROTSEQS = 1719 } 1305 - 1306 -enum : uint { RPC_S_CANT_CREATE_ENDPOINT = 1720 } 1307 - 1308 -enum : uint { RPC_S_OUT_OF_RESOURCES = 1721 } 1309 - 1310 -enum : uint { RPC_S_SERVER_UNAVAILABLE = 1722 } 1311 - 1312 -enum : uint { RPC_S_SERVER_TOO_BUSY = 1723 } 1313 - 1314 -enum : uint { RPC_S_INVALID_NETWORK_OPTIONS = 1724 } 1315 - 1316 -enum : uint { RPC_S_NO_CALL_ACTIVE = 1725 } 1317 - 1318 -enum : uint { RPC_S_CALL_FAILED = 1726 } 1319 - 1320 -enum : uint { RPC_S_CALL_FAILED_DNE = 1727 } 1321 - 1322 -enum : uint { RPC_S_PROTOCOL_ERROR = 1728 } 1323 - 1324 -enum : uint { RPC_S_UNSUPPORTED_TRANS_SYN = 1730 } 1325 - 1326 -enum : uint { RPC_S_UNSUPPORTED_TYPE = 1732 } 1327 - 1328 -enum : uint { RPC_S_INVALID_TAG = 1733 } 1329 - 1330 -enum : uint { RPC_S_INVALID_BOUND = 1734 } 1331 - 1332 -enum : uint { RPC_S_NO_ENTRY_NAME = 1735 } 1333 - 1334 -enum : uint { RPC_S_INVALID_NAME_SYNTAX = 1736 } 1335 - 1336 -enum : uint { RPC_S_UNSUPPORTED_NAME_SYNTAX = 1737 } 1337 - 1338 -enum : uint { RPC_S_UUID_NO_ADDRESS = 1739 } 1339 - 1340 -enum : uint { RPC_S_DUPLICATE_ENDPOINT = 1740 } 1341 - 1342 -enum : uint { RPC_S_UNKNOWN_AUTHN_TYPE = 1741 } 1343 - 1344 -enum : uint { RPC_S_MAX_CALLS_TOO_SMALL = 1742 } 1345 - 1346 -enum : uint { RPC_S_STRING_TOO_LONG = 1743 } 1347 - 1348 -enum : uint { RPC_S_PROTSEQ_NOT_FOUND = 1744 } 1349 - 1350 -enum : uint { RPC_S_PROCNUM_OUT_OF_RANGE = 1745 } 1351 - 1352 -enum : uint { RPC_S_BINDING_HAS_NO_AUTH = 1746 } 1353 - 1354 -enum : uint { RPC_S_UNKNOWN_AUTHN_SERVICE = 1747 } 1355 - 1356 -enum : uint { RPC_S_UNKNOWN_AUTHN_LEVEL = 1748 } 1357 - 1358 -enum : uint { RPC_S_INVALID_AUTH_IDENTITY = 1749 } 1359 - 1360 -enum : uint { RPC_S_UNKNOWN_AUTHZ_SERVICE = 1750 } 1361 - 1362 -enum : uint { EPT_S_INVALID_ENTRY = 1751 } 1363 - 1364 -enum : uint { EPT_S_CANT_PERFORM_OP = 1752 } 1365 - 1366 -enum : uint { EPT_S_NOT_REGISTERED = 1753 } 1367 - 1368 -enum : uint { RPC_S_NOTHING_TO_EXPORT = 1754 } 1369 - 1370 -enum : uint { RPC_S_INCOMPLETE_NAME = 1755 } 1371 - 1372 -enum : uint { RPC_S_INVALID_VERS_OPTION = 1756 } 1373 - 1374 -enum : uint { RPC_S_NO_MORE_MEMBERS = 1757 } 1375 - 1376 -enum : uint { RPC_S_NOT_ALL_OBJS_UNEXPORTED = 1758 } 1377 - 1378 -enum : uint { RPC_S_INTERFACE_NOT_FOUND = 1759 } 1379 - 1380 -enum : uint { RPC_S_ENTRY_ALREADY_EXISTS = 1760 } 1381 - 1382 -enum : uint { RPC_S_ENTRY_NOT_FOUND = 1761 } 1383 - 1384 -enum : uint { RPC_S_NAME_SERVICE_UNAVAILABLE = 1762 } 1385 - 1386 -enum : uint { RPC_S_INVALID_NAF_ID = 1763 } 1387 - 1388 -enum : uint { RPC_S_CANNOT_SUPPORT = 1764 } 1389 - 1390 -enum : uint { RPC_S_NO_CONTEXT_AVAILABLE = 1765 } 1391 - 1392 -enum : uint { RPC_S_INTERNAL_ERROR = 1766 } 1393 - 1394 -enum : uint { RPC_S_ZERO_DIVIDE = 1767 } 1395 - 1396 -enum : uint { RPC_S_ADDRESS_ERROR = 1768 } 1397 - 1398 -enum : uint { RPC_S_FP_DIV_ZERO = 1769 } 1399 - 1400 -enum : uint { RPC_S_FP_UNDERFLOW = 1770 } 1401 - 1402 -enum : uint { RPC_S_FP_OVERFLOW = 1771 } 1403 - 1404 -enum : uint { RPC_X_NO_MORE_ENTRIES = 1772 } 1405 - 1406 -enum : uint { RPC_X_SS_CHAR_TRANS_OPEN_FAIL = 1773 } 1407 - 1408 -enum : uint { RPC_X_SS_CHAR_TRANS_SHORT_FILE = 1774 } 1409 - 1410 -enum : uint { RPC_X_SS_IN_NULL_CONTEXT = 1775 } 1411 - 1412 -enum : uint { RPC_X_SS_CONTEXT_DAMAGED = 1777 } 1413 - 1414 -enum : uint { RPC_X_SS_HANDLES_MISMATCH = 1778 } 1415 - 1416 -enum : uint { RPC_X_SS_CANNOT_GET_CALL_HANDLE = 1779 } 1417 - 1418 -enum : uint { RPC_X_NULL_REF_POINTER = 1780 } 1419 - 1420 -enum : uint { RPC_X_ENUM_VALUE_OUT_OF_RANGE = 1781 } 1421 - 1422 -enum : uint { RPC_X_BYTE_COUNT_TOO_SMALL = 1782 } 1423 - 1424 -enum : uint { RPC_X_BAD_STUB_DATA = 1783 } 1425 - 1426 -enum : uint { ERROR_INVALID_USER_BUFFER = 1784 } 1427 - 1428 -enum : uint { ERROR_UNRECOGNIZED_MEDIA = 1785 } 1429 - 1430 -enum : uint { ERROR_NO_TRUST_LSA_SECRET = 1786 } 1431 - 1432 -enum : uint { ERROR_NO_TRUST_SAM_ACCOUNT = 1787 } 1433 - 1434 -enum : uint { ERROR_TRUSTED_DOMAIN_FAILURE = 1788 } 1435 - 1436 -enum : uint { ERROR_TRUSTED_RELATIONSHIP_FAILURE = 1789 } 1437 - 1438 -enum : uint { ERROR_TRUST_FAILURE = 1790 } 1439 - 1440 -enum : uint { RPC_S_CALL_IN_PROGRESS = 1791 } 1441 - 1442 -enum : uint { ERROR_NETLOGON_NOT_STARTED = 1792 } 1443 - 1444 -enum : uint { ERROR_ACCOUNT_EXPIRED = 1793 } 1445 - 1446 -enum : uint { ERROR_REDIRECTOR_HAS_OPEN_HANDLES = 1794 } 1447 - 1448 -enum : uint { ERROR_PRINTER_DRIVER_ALREADY_INSTALLED = 1795 } 1449 - 1450 -enum : uint { ERROR_UNKNOWN_PORT = 1796 } 1451 - 1452 -enum : uint { ERROR_UNKNOWN_PRINTER_DRIVER = 1797 } 1453 - 1454 -enum : uint { ERROR_UNKNOWN_PRINTPROCESSOR = 1798 } 1455 - 1456 -enum : uint { ERROR_INVALID_SEPARATOR_FILE = 1799 } 1457 - 1458 -enum : uint { ERROR_INVALID_PRIORITY = 1800 } 1459 - 1460 -enum : uint { ERROR_INVALID_PRINTER_NAME = 1801 } 1461 - 1462 -enum : uint { ERROR_PRINTER_ALREADY_EXISTS = 1802 } 1463 - 1464 -enum : uint { ERROR_INVALID_PRINTER_COMMAND = 1803 } 1465 - 1466 -enum : uint { ERROR_INVALID_DATATYPE = 1804 } 1467 - 1468 -enum : uint { ERROR_INVALID_ENVIRONMENT = 1805 } 1469 - 1470 -enum : uint { RPC_S_NO_MORE_BINDINGS = 1806 } 1471 - 1472 -enum : uint { ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT = 1807 } 1473 - 1474 -enum : uint { ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT = 1808 } 1475 - 1476 -enum : uint { ERROR_NOLOGON_SERVER_TRUST_ACCOUNT = 1809 } 1477 - 1478 -enum : uint { ERROR_DOMAIN_TRUST_INCONSISTENT = 1810 } 1479 - 1480 -enum : uint { ERROR_SERVER_HAS_OPEN_HANDLES = 1811 } 1481 - 1482 -enum : uint { ERROR_RESOURCE_DATA_NOT_FOUND = 1812 } 1483 - 1484 -enum : uint { ERROR_RESOURCE_TYPE_NOT_FOUND = 1813 } 1485 - 1486 -enum : uint { ERROR_RESOURCE_NAME_NOT_FOUND = 1814 } 1487 - 1488 -enum : uint { ERROR_RESOURCE_LANG_NOT_FOUND = 1815 } 1489 - 1490 -enum : uint { ERROR_NOT_ENOUGH_QUOTA = 1816 } 1491 - 1492 -enum : uint { RPC_S_NO_INTERFACES = 1817 } 1493 - 1494 -enum : uint { RPC_S_CALL_CANCELLED = 1818 } 1495 - 1496 -enum : uint { RPC_S_BINDING_INCOMPLETE = 1819 } 1497 - 1498 -enum : uint { RPC_S_COMM_FAILURE = 1820 } 1499 - 1500 -enum : uint { RPC_S_UNSUPPORTED_AUTHN_LEVEL = 1821 } 1501 - 1502 -enum : uint { RPC_S_NO_PRINC_NAME = 1822 } 1503 - 1504 -enum : uint { RPC_S_NOT_RPC_ERROR = 1823 } 1505 - 1506 -enum : uint { RPC_S_UUID_LOCAL_ONLY = 1824 } 1507 - 1508 -enum : uint { RPC_S_SEC_PKG_ERROR = 1825 } 1509 - 1510 -enum : uint { RPC_S_NOT_CANCELLED = 1826 } 1511 - 1512 -enum : uint { RPC_X_INVALID_ES_ACTION = 1827 } 1513 - 1514 -enum : uint { RPC_X_WRONG_ES_VERSION = 1828 } 1515 - 1516 -enum : uint { RPC_X_WRONG_STUB_VERSION = 1829 } 1517 - 1518 -enum : uint { RPC_X_INVALID_PIPE_OBJECT = 1830 } 1519 - 1520 -enum : uint { RPC_X_WRONG_PIPE_ORDER = 1831 } 1521 - 1522 -enum : uint { RPC_X_WRONG_PIPE_VERSION = 1832 } 1523 - 1524 -enum : uint { RPC_S_GROUP_MEMBER_NOT_FOUND = 1898 } 1525 - 1526 -enum : uint { EPT_S_CANT_CREATE = 1899 } 1527 - 1528 -enum : uint { RPC_S_INVALID_OBJECT = 1900 } 1529 - 1530 -enum : uint { ERROR_INVALID_TIME = 1901 } 1531 - 1532 -enum : uint { ERROR_INVALID_FORM_NAME = 1902 } 1533 - 1534 -enum : uint { ERROR_INVALID_FORM_SIZE = 1903 } 1535 - 1536 -enum : uint { ERROR_ALREADY_WAITING = 1904 } 1537 - 1538 -enum : uint { ERROR_PRINTER_DELETED = 1905 } 1539 - 1540 -enum : uint { ERROR_INVALID_PRINTER_STATE = 1906 } 1541 - 1542 -enum : uint { ERROR_PASSWORD_MUST_CHANGE = 1907 } 1543 - 1544 -enum : uint { ERROR_DOMAIN_CONTROLLER_NOT_FOUND = 1908 } 1545 - 1546 -enum : uint { ERROR_ACCOUNT_LOCKED_OUT = 1909 } 1547 - 1548 -enum : uint { OR_INVALID_OXID = 1910 } 1549 - 1550 -enum : uint { OR_INVALID_OID = 1911 } 1551 - 1552 -enum : uint { OR_INVALID_SET = 1912 } 1553 - 1554 -enum : uint { RPC_S_SEND_INCOMPLETE = 1913 } 1555 - 1556 -enum : uint { RPC_S_INVALID_ASYNC_HANDLE = 1914 } 1557 - 1558 -enum : uint { RPC_S_INVALID_ASYNC_CALL = 1915 } 1559 - 1560 -enum : uint { RPC_X_PIPE_CLOSED = 1916 } 1561 - 1562 -enum : uint { RPC_X_PIPE_DISCIPLINE_ERROR = 1917 } 1563 - 1564 -enum : uint { RPC_X_PIPE_EMPTY = 1918 } 1565 - 1566 -enum : uint { ERROR_NO_SITENAME = 1919 } 1567 - 1568 -enum : uint { ERROR_CANT_ACCESS_FILE = 1920 } 1569 - 1570 -enum : uint { ERROR_CANT_RESOLVE_FILENAME = 1921 } 1571 - 1572 -enum : uint { RPC_S_ENTRY_TYPE_MISMATCH = 1922 } 1573 - 1574 -enum : uint { RPC_S_NOT_ALL_OBJS_EXPORTED = 1923 } 1575 - 1576 -enum : uint { RPC_S_INTERFACE_NOT_EXPORTED = 1924 } 1577 - 1578 -enum : uint { RPC_S_PROFILE_NOT_ADDED = 1925 } 1579 - 1580 -enum : uint { RPC_S_PRF_ELT_NOT_ADDED = 1926 } 1581 - 1582 -enum : uint { RPC_S_PRF_ELT_NOT_REMOVED = 1927 } 1583 - 1584 -enum : uint { RPC_S_GRP_ELT_NOT_ADDED = 1928 } 1585 - 1586 -enum : uint { RPC_S_GRP_ELT_NOT_REMOVED = 1929 } 1587 - 1588 -enum : uint { ERROR_KM_DRIVER_BLOCKED = 1930 } 1589 - 1590 -enum : uint { ERROR_CONTEXT_EXPIRED = 1931 } 1591 - 1592 -enum : uint { ERROR_INVALID_PIXEL_FORMAT = 2000 } 1593 - 1594 -enum : uint { ERROR_BAD_DRIVER = 2001 } 1595 - 1596 -enum : uint { ERROR_INVALID_WINDOW_STYLE = 2002 } 1597 - 1598 -enum : uint { ERROR_METAFILE_NOT_SUPPORTED = 2003 } 1599 - 1600 -enum : uint { ERROR_TRANSFORM_NOT_SUPPORTED = 2004 } 1601 - 1602 -enum : uint { ERROR_CLIPPING_NOT_SUPPORTED = 2005 } 1603 - 1604 -enum : uint { ERROR_INVALID_CMM = 2010 } 1605 - 1606 -enum : uint { ERROR_INVALID_PROFILE = 2011 } 1607 - 1608 -enum : uint { ERROR_TAG_NOT_FOUND = 2012 } 1609 - 1610 -enum : uint { ERROR_TAG_NOT_PRESENT = 2013 } 1611 - 1612 -enum : uint { ERROR_DUPLICATE_TAG = 2014 } 1613 - 1614 -enum : uint { ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE = 2015 } 1615 - 1616 -enum : uint { ERROR_PROFILE_NOT_FOUND = 2016 } 1617 - 1618 -enum : uint { ERROR_INVALID_COLORSPACE = 2017 } 1619 - 1620 -enum : uint { ERROR_ICM_NOT_ENABLED = 2018 } 1621 - 1622 -enum : uint { ERROR_DELETING_ICM_XFORM = 2019 } 1623 - 1624 -enum : uint { ERROR_INVALID_TRANSFORM = 2020 } 1625 - 1626 -enum : uint { ERROR_COLORSPACE_MISMATCH = 2021 } 1627 - 1628 -enum : uint { ERROR_INVALID_COLORINDEX = 2022 } 1629 - 1630 -enum : uint { ERROR_CONNECTED_OTHER_PASSWORD = 2108 } 1631 - 1632 -enum : uint { ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT = 2109 } 1633 - 1634 -enum : uint { ERROR_BAD_USERNAME = 2202 } 1635 - 1636 -enum : uint { ERROR_NOT_CONNECTED = 2250 } 1637 - 1638 -enum : uint { ERROR_OPEN_FILES = 2401 } 1639 - 1640 -enum : uint { ERROR_ACTIVE_CONNECTIONS = 2402 } 1641 - 1642 -enum : uint { ERROR_DEVICE_IN_USE = 2404 } 1643 - 1644 -enum : uint { ERROR_UNKNOWN_PRINT_MONITOR = 3000 } 1645 - 1646 -enum : uint { ERROR_PRINTER_DRIVER_IN_USE = 3001 } 1647 - 1648 -enum : uint { ERROR_SPOOL_FILE_NOT_FOUND = 3002 } 1649 - 1650 -enum : uint { ERROR_SPL_NO_STARTDOC = 3003 } 1651 - 1652 -enum : uint { ERROR_SPL_NO_ADDJOB = 3004 } 1653 - 1654 -enum : uint { ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED = 3005 } 1655 - 1656 -enum : uint { ERROR_PRINT_MONITOR_ALREADY_INSTALLED = 3006 } 1657 - 1658 -enum : uint { ERROR_INVALID_PRINT_MONITOR = 3007 } 1659 - 1660 -enum : uint { ERROR_PRINT_MONITOR_IN_USE = 3008 } 1661 - 1662 -enum : uint { ERROR_PRINTER_HAS_JOBS_QUEUED = 3009 } 1663 - 1664 -enum : uint { ERROR_SUCCESS_REBOOT_REQUIRED = 3010 } 1665 - 1666 -enum : uint { ERROR_SUCCESS_RESTART_REQUIRED = 3011 } 1667 - 1668 -enum : uint { ERROR_PRINTER_NOT_FOUND = 3012 } 1669 - 1670 -enum : uint { ERROR_PRINTER_DRIVER_WARNED = 3013 } 1671 - 1672 -enum : uint { ERROR_PRINTER_DRIVER_BLOCKED = 3014 } 1673 - 1674 -enum : uint { ERROR_WINS_INTERNAL = 4000 } 1675 - 1676 -enum : uint { ERROR_CAN_NOT_DEL_LOCAL_WINS = 4001 } 1677 - 1678 -enum : uint { ERROR_STATIC_INIT = 4002 } 1679 - 1680 -enum : uint { ERROR_INC_BACKUP = 4003 } 1681 - 1682 -enum : uint { ERROR_FULL_BACKUP = 4004 } 1683 - 1684 -enum : uint { ERROR_REC_NON_EXISTENT = 4005 } 1685 - 1686 -enum : uint { ERROR_RPL_NOT_ALLOWED = 4006 } 1687 - 1688 -enum : uint { ERROR_DHCP_ADDRESS_CONFLICT = 4100 } 1689 - 1690 -enum : uint { ERROR_WMI_GUID_NOT_FOUND = 4200 } 1691 - 1692 -enum : uint { ERROR_WMI_INSTANCE_NOT_FOUND = 4201 } 1693 - 1694 -enum : uint { ERROR_WMI_ITEMID_NOT_FOUND = 4202 } 1695 - 1696 -enum : uint { ERROR_WMI_TRY_AGAIN = 4203 } 1697 - 1698 -enum : uint { ERROR_WMI_DP_NOT_FOUND = 4204 } 1699 - 1700 -enum : uint { ERROR_WMI_UNRESOLVED_INSTANCE_REF = 4205 } 1701 - 1702 -enum : uint { ERROR_WMI_ALREADY_ENABLED = 4206 } 1703 - 1704 -enum : uint { ERROR_WMI_GUID_DISCONNECTED = 4207 } 1705 - 1706 -enum : uint { ERROR_WMI_SERVER_UNAVAILABLE = 4208 } 1707 - 1708 -enum : uint { ERROR_WMI_DP_FAILED = 4209 } 1709 - 1710 -enum : uint { ERROR_WMI_INVALID_MOF = 4210 } 1711 - 1712 -enum : uint { ERROR_WMI_INVALID_REGINFO = 4211 } 1713 - 1714 -enum : uint { ERROR_WMI_ALREADY_DISABLED = 4212 } 1715 - 1716 -enum : uint { ERROR_WMI_READ_ONLY = 4213 } 1717 - 1718 -enum : uint { ERROR_WMI_SET_FAILURE = 4214 } 1719 - 1720 -enum : uint { ERROR_INVALID_MEDIA = 4300 } 1721 - 1722 -enum : uint { ERROR_INVALID_LIBRARY = 4301 } 1723 - 1724 -enum : uint { ERROR_INVALID_MEDIA_POOL = 4302 } 1725 - 1726 -enum : uint { ERROR_DRIVE_MEDIA_MISMATCH = 4303 } 1727 - 1728 -enum : uint { ERROR_MEDIA_OFFLINE = 4304 } 1729 - 1730 -enum : uint { ERROR_LIBRARY_OFFLINE = 4305 } 1731 - 1732 -enum : uint { ERROR_EMPTY = 4306 } 1733 - 1734 -enum : uint { ERROR_NOT_EMPTY = 4307 } 1735 - 1736 -enum : uint { ERROR_MEDIA_UNAVAILABLE = 4308 } 1737 - 1738 -enum : uint { ERROR_RESOURCE_DISABLED = 4309 } 1739 - 1740 -enum : uint { ERROR_INVALID_CLEANER = 4310 } 1741 - 1742 -enum : uint { ERROR_UNABLE_TO_CLEAN = 4311 } 1743 - 1744 -enum : uint { ERROR_OBJECT_NOT_FOUND = 4312 } 1745 - 1746 -enum : uint { ERROR_DATABASE_FAILURE = 4313 } 1747 - 1748 -enum : uint { ERROR_DATABASE_FULL = 4314 } 1749 - 1750 -enum : uint { ERROR_MEDIA_INCOMPATIBLE = 4315 } 1751 - 1752 -enum : uint { ERROR_RESOURCE_NOT_PRESENT = 4316 } 1753 - 1754 -enum : uint { ERROR_INVALID_OPERATION = 4317 } 1755 - 1756 -enum : uint { ERROR_MEDIA_NOT_AVAILABLE = 4318 } 1757 - 1758 -enum : uint { ERROR_DEVICE_NOT_AVAILABLE = 4319 } 1759 - 1760 -enum : uint { ERROR_REQUEST_REFUSED = 4320 } 1761 - 1762 -enum : uint { ERROR_INVALID_DRIVE_OBJECT = 4321 } 1763 - 1764 -enum : uint { ERROR_LIBRARY_FULL = 4322 } 1765 - 1766 -enum : uint { ERROR_MEDIUM_NOT_ACCESSIBLE = 4323 } 1767 - 1768 -enum : uint { ERROR_UNABLE_TO_LOAD_MEDIUM = 4324 } 1769 - 1770 -enum : uint { ERROR_UNABLE_TO_INVENTORY_DRIVE = 4325 } 1771 - 1772 -enum : uint { ERROR_UNABLE_TO_INVENTORY_SLOT = 4326 } 1773 - 1774 -enum : uint { ERROR_UNABLE_TO_INVENTORY_TRANSPORT = 4327 } 1775 - 1776 -enum : uint { ERROR_TRANSPORT_FULL = 4328 } 1777 - 1778 -enum : uint { ERROR_CONTROLLING_IEPORT = 4329 } 1779 - 1780 -enum : uint { ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA = 4330 } 1781 - 1782 -enum : uint { ERROR_CLEANER_SLOT_SET = 4331 } 1783 - 1784 -enum : uint { ERROR_CLEANER_SLOT_NOT_SET = 4332 } 1785 - 1786 -enum : uint { ERROR_CLEANER_CARTRIDGE_SPENT = 4333 } 1787 - 1788 -enum : uint { ERROR_UNEXPECTED_OMID = 4334 } 1789 - 1790 -enum : uint { ERROR_CANT_DELETE_LAST_ITEM = 4335 } 1791 - 1792 -enum : uint { ERROR_MESSAGE_EXCEEDS_MAX_SIZE = 4336 } 1793 - 1794 -enum : uint { ERROR_VOLUME_CONTAINS_SYS_FILES = 4337 } 1795 - 1796 -enum : uint { ERROR_INDIGENOUS_TYPE = 4338 } 1797 - 1798 -enum : uint { ERROR_NO_SUPPORTING_DRIVES = 4339 } 1799 - 1800 -enum : uint { ERROR_CLEANER_CARTRIDGE_INSTALLED = 4340 } 1801 - 1802 -enum : uint { ERROR_FILE_OFFLINE = 4350 } 1803 - 1804 -enum : uint { ERROR_REMOTE_STORAGE_NOT_ACTIVE = 4351 } 1805 - 1806 -enum : uint { ERROR_REMOTE_STORAGE_MEDIA_ERROR = 4352 } 1807 - 1808 -enum : uint { ERROR_NOT_A_REPARSE_POINT = 4390 } 1809 - 1810 -enum : uint { ERROR_REPARSE_ATTRIBUTE_CONFLICT = 4391 } 1811 - 1812 -enum : uint { ERROR_INVALID_REPARSE_DATA = 4392 } 1813 - 1814 -enum : uint { ERROR_REPARSE_TAG_INVALID = 4393 } 1815 - 1816 -enum : uint { ERROR_REPARSE_TAG_MISMATCH = 4394 } 1817 - 1818 -enum : uint { ERROR_VOLUME_NOT_SIS_ENABLED = 4500 } 1819 - 1820 -enum : uint { ERROR_DEPENDENT_RESOURCE_EXISTS = 5001 } 1821 - 1822 -enum : uint { ERROR_DEPENDENCY_NOT_FOUND = 5002 } 1823 - 1824 -enum : uint { ERROR_DEPENDENCY_ALREADY_EXISTS = 5003 } 1825 - 1826 -enum : uint { ERROR_RESOURCE_NOT_ONLINE = 5004 } 1827 - 1828 -enum : uint { ERROR_HOST_NODE_NOT_AVAILABLE = 5005 } 1829 - 1830 -enum : uint { ERROR_RESOURCE_NOT_AVAILABLE = 5006 } 1831 - 1832 -enum : uint { ERROR_RESOURCE_NOT_FOUND = 5007 } 1833 - 1834 -enum : uint { ERROR_SHUTDOWN_CLUSTER = 5008 } 1835 - 1836 -enum : uint { ERROR_CANT_EVICT_ACTIVE_NODE = 5009 } 1837 - 1838 -enum : uint { ERROR_OBJECT_ALREADY_EXISTS = 5010 } 1839 - 1840 -enum : uint { ERROR_OBJECT_IN_LIST = 5011 } 1841 - 1842 -enum : uint { ERROR_GROUP_NOT_AVAILABLE = 5012 } 1843 - 1844 -enum : uint { ERROR_GROUP_NOT_FOUND = 5013 } 1845 - 1846 -enum : uint { ERROR_GROUP_NOT_ONLINE = 5014 } 1847 - 1848 -enum : uint { ERROR_HOST_NODE_NOT_RESOURCE_OWNER = 5015 } 1849 - 1850 -enum : uint { ERROR_HOST_NODE_NOT_GROUP_OWNER = 5016 } 1851 - 1852 -enum : uint { ERROR_RESMON_CREATE_FAILED = 5017 } 1853 - 1854 -enum : uint { ERROR_RESMON_ONLINE_FAILED = 5018 } 1855 - 1856 -enum : uint { ERROR_RESOURCE_ONLINE = 5019 } 1857 - 1858 -enum : uint { ERROR_QUORUM_RESOURCE = 5020 } 1859 - 1860 -enum : uint { ERROR_NOT_QUORUM_CAPABLE = 5021 } 1861 - 1862 -enum : uint { ERROR_CLUSTER_SHUTTING_DOWN = 5022 } 1863 - 1864 -enum : uint { ERROR_INVALID_STATE = 5023 } 1865 - 1866 -enum : uint { ERROR_RESOURCE_PROPERTIES_STORED = 5024 } 1867 - 1868 -enum : uint { ERROR_NOT_QUORUM_CLASS = 5025 } 1869 - 1870 -enum : uint { ERROR_CORE_RESOURCE = 5026 } 1871 - 1872 -enum : uint { ERROR_QUORUM_RESOURCE_ONLINE_FAILED = 5027 } 1873 - 1874 -enum : uint { ERROR_QUORUMLOG_OPEN_FAILED = 5028 } 1875 - 1876 -enum : uint { ERROR_CLUSTERLOG_CORRUPT = 5029 } 1877 - 1878 -enum : uint { ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE = 5030 } 1879 - 1880 -enum : uint { ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE = 5031 } 1881 - 1882 -enum : uint { ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND = 5032 } 1883 - 1884 -enum : uint { ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE = 5033 } 1885 - 1886 -enum : uint { ERROR_QUORUM_OWNER_ALIVE = 5034 } 1887 - 1888 -enum : uint { ERROR_NETWORK_NOT_AVAILABLE = 5035 } 1889 - 1890 -enum : uint { ERROR_NODE_NOT_AVAILABLE = 5036 } 1891 - 1892 -enum : uint { ERROR_ALL_NODES_NOT_AVAILABLE = 5037 } 1893 - 1894 -enum : uint { ERROR_RESOURCE_FAILED = 5038 } 1895 - 1896 -enum : uint { ERROR_CLUSTER_INVALID_NODE = 5039 } 1897 - 1898 -enum : uint { ERROR_CLUSTER_NODE_EXISTS = 5040 } 1899 - 1900 -enum : uint { ERROR_CLUSTER_JOIN_IN_PROGRESS = 5041 } 1901 - 1902 -enum : uint { ERROR_CLUSTER_NODE_NOT_FOUND = 5042 } 1903 - 1904 -enum : uint { ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND = 5043 } 1905 - 1906 -enum : uint { ERROR_CLUSTER_NETWORK_EXISTS = 5044 } 1907 - 1908 -enum : uint { ERROR_CLUSTER_NETWORK_NOT_FOUND = 5045 } 1909 - 1910 -enum : uint { ERROR_CLUSTER_NETINTERFACE_EXISTS = 5046 } 1911 - 1912 -enum : uint { ERROR_CLUSTER_NETINTERFACE_NOT_FOUND = 5047 } 1913 - 1914 -enum : uint { ERROR_CLUSTER_INVALID_REQUEST = 5048 } 1915 - 1916 -enum : uint { ERROR_CLUSTER_INVALID_NETWORK_PROVIDER = 5049 } 1917 - 1918 -enum : uint { ERROR_CLUSTER_NODE_DOWN = 5050 } 1919 - 1920 -enum : uint { ERROR_CLUSTER_NODE_UNREACHABLE = 5051 } 1921 - 1922 -enum : uint { ERROR_CLUSTER_NODE_NOT_MEMBER = 5052 } 1923 - 1924 -enum : uint { ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS = 5053 } 1925 - 1926 -enum : uint { ERROR_CLUSTER_INVALID_NETWORK = 5054 } 1927 - 1928 -enum : uint { ERROR_CLUSTER_NODE_UP = 5056 } 1929 - 1930 -enum : uint { ERROR_CLUSTER_IPADDR_IN_USE = 5057 } 1931 - 1932 -enum : uint { ERROR_CLUSTER_NODE_NOT_PAUSED = 5058 } 1933 - 1934 -enum : uint { ERROR_CLUSTER_NO_SECURITY_CONTEXT = 5059 } 1935 - 1936 -enum : uint { ERROR_CLUSTER_NETWORK_NOT_INTERNAL = 5060 } 1937 - 1938 -enum : uint { ERROR_CLUSTER_NODE_ALREADY_UP = 5061 } 1939 - 1940 -enum : uint { ERROR_CLUSTER_NODE_ALREADY_DOWN = 5062 } 1941 - 1942 -enum : uint { ERROR_CLUSTER_NETWORK_ALREADY_ONLINE = 5063 } 1943 - 1944 -enum : uint { ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE = 5064 } 1945 - 1946 -enum : uint { ERROR_CLUSTER_NODE_ALREADY_MEMBER = 5065 } 1947 - 1948 -enum : uint { ERROR_CLUSTER_LAST_INTERNAL_NETWORK = 5066 } 1949 - 1950 -enum : uint { ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS = 5067 } 1951 - 1952 -enum : uint { ERROR_INVALID_OPERATION_ON_QUORUM = 5068 } 1953 - 1954 -enum : uint { ERROR_DEPENDENCY_NOT_ALLOWED = 5069 } 1955 - 1956 -enum : uint { ERROR_CLUSTER_NODE_PAUSED = 5070 } 1957 - 1958 -enum : uint { ERROR_NODE_CANT_HOST_RESOURCE = 5071 } 1959 - 1960 -enum : uint { ERROR_CLUSTER_NODE_NOT_READY = 5072 } 1961 - 1962 -enum : uint { ERROR_CLUSTER_NODE_SHUTTING_DOWN = 5073 } 1963 - 1964 -enum : uint { ERROR_CLUSTER_JOIN_ABORTED = 5074 } 1965 - 1966 -enum : uint { ERROR_CLUSTER_INCOMPATIBLE_VERSIONS = 5075 } 1967 - 1968 -enum : uint { ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED = 5076 } 1969 - 1970 -enum : uint { ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED = 5077 } 1971 - 1972 -enum : uint { ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND = 5078 } 1973 - 1974 -enum : uint { ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED = 5079 } 1975 - 1976 -enum : uint { ERROR_CLUSTER_RESNAME_NOT_FOUND = 5080 } 1977 - 1978 -enum : uint { ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED = 5081 } 1979 - 1980 -enum : uint { ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST = 5082 } 1981 - 1982 -enum : uint { ERROR_CLUSTER_DATABASE_SEQMISMATCH = 5083 } 1983 - 1984 -enum : uint { ERROR_RESMON_INVALID_STATE = 5084 } 1985 - 1986 -enum : uint { ERROR_CLUSTER_GUM_NOT_LOCKER = 5085 } 1987 - 1988 -enum : uint { ERROR_QUORUM_DISK_NOT_FOUND = 5086 } 1989 - 1990 -enum : uint { ERROR_DATABASE_BACKUP_CORRUPT = 5087 } 1991 - 1992 -enum : uint { ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT = 5088 } 1993 - 1994 -enum : uint { ERROR_RESOURCE_PROPERTY_UNCHANGEABLE = 5089 } 1995 - 1996 -enum : uint { ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE = 5890 } 1997 - 1998 -enum : uint { ERROR_CLUSTER_QUORUMLOG_NOT_FOUND = 5891 } 1999 - 2000 -enum : uint { ERROR_CLUSTER_MEMBERSHIP_HALT = 5892 } 2001 - 2002 -enum : uint { ERROR_CLUSTER_INSTANCE_ID_MISMATCH = 5893 } 2003 - 2004 -enum : uint { ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP = 5894 } 2005 - 2006 -enum : uint { ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH = 5895 } 2007 - 2008 -enum : uint { ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP = 5896 } 2009 - 2010 -enum : uint { ERROR_CLUSTER_PARAMETER_MISMATCH = 5897 } 2011 - 2012 -enum : uint { ERROR_NODE_CANNOT_BE_CLUSTERED = 5898 } 2013 - 2014 -enum : uint { ERROR_CLUSTER_WRONG_OS_VERSION = 5899 } 2015 - 2016 -enum : uint { ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME = 5900 } 2017 - 2018 -enum : uint { ERROR_ENCRYPTION_FAILED = 6000 } 2019 - 2020 -enum : uint { ERROR_DECRYPTION_FAILED = 6001 } 2021 - 2022 -enum : uint { ERROR_FILE_ENCRYPTED = 6002 } 2023 - 2024 -enum : uint { ERROR_NO_RECOVERY_POLICY = 6003 } 2025 - 2026 -enum : uint { ERROR_NO_EFS = 6004 } 2027 - 2028 -enum : uint { ERROR_WRONG_EFS = 6005 } 2029 - 2030 -enum : uint { ERROR_NO_USER_KEYS = 6006 } 2031 - 2032 -enum : uint { ERROR_FILE_NOT_ENCRYPTED = 6007 } 2033 - 2034 -enum : uint { ERROR_NOT_EXPORT_FORMAT = 6008 } 2035 - 2036 -enum : uint { ERROR_FILE_READ_ONLY = 6009 } 2037 - 2038 -enum : uint { ERROR_DIR_EFS_DISALLOWED = 6010 } 2039 - 2040 -enum : uint { ERROR_EFS_SERVER_NOT_TRUSTED = 6011 } 2041 - 2042 -enum : uint { ERROR_BAD_RECOVERY_POLICY = 6012 } 2043 - 2044 -enum : uint { ERROR_EFS_ALG_BLOB_TOO_BIG = 6013 } 2045 - 2046 -enum : uint { ERROR_VOLUME_NOT_SUPPORT_EFS = 6014 } 2047 - 2048 -enum : uint { ERROR_EFS_DISABLED = 6015 } 2049 - 2050 -enum : uint { ERROR_EFS_VERSION_NOT_SUPPORT = 6016 } 2051 - 2052 -enum : uint { ERROR_NO_BROWSER_SERVERS_FOUND = 6118 } 2053 - 2054 -enum : uint { SCHED_E_SERVICE_NOT_LOCALSYSTEM = 6200 } 2055 - 2056 -enum : uint { ERROR_CTX_WINSTATION_NAME_INVALID = 7001 } 2057 - 2058 -enum : uint { ERROR_CTX_INVALID_PD = 7002 } 2059 - 2060 -enum : uint { ERROR_CTX_PD_NOT_FOUND = 7003 } 2061 - 2062 -enum : uint { ERROR_CTX_WD_NOT_FOUND = 7004 } 2063 - 2064 -enum : uint { ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY = 7005 } 2065 - 2066 -enum : uint { ERROR_CTX_SERVICE_NAME_COLLISION = 7006 } 2067 - 2068 -enum : uint { ERROR_CTX_CLOSE_PENDING = 7007 } 2069 - 2070 -enum : uint { ERROR_CTX_NO_OUTBUF = 7008 } 2071 - 2072 -enum : uint { ERROR_CTX_MODEM_INF_NOT_FOUND = 7009 } 2073 - 2074 -enum : uint { ERROR_CTX_INVALID_MODEMNAME = 7010 } 2075 - 2076 -enum : uint { ERROR_CTX_MODEM_RESPONSE_ERROR = 7011 } 2077 - 2078 -enum : uint { ERROR_CTX_MODEM_RESPONSE_TIMEOUT = 7012 } 2079 - 2080 -enum : uint { ERROR_CTX_MODEM_RESPONSE_NO_CARRIER = 7013 } 2081 - 2082 -enum : uint { ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE = 7014 } 2083 - 2084 -enum : uint { ERROR_CTX_MODEM_RESPONSE_BUSY = 7015 } 2085 - 2086 -enum : uint { ERROR_CTX_MODEM_RESPONSE_VOICE = 7016 } 2087 - 2088 -enum : uint { ERROR_CTX_TD_ERROR = 7017 } 2089 - 2090 -enum : uint { ERROR_CTX_WINSTATION_NOT_FOUND = 7022 } 2091 - 2092 -enum : uint { ERROR_CTX_WINSTATION_ALREADY_EXISTS = 7023 } 2093 - 2094 -enum : uint { ERROR_CTX_WINSTATION_BUSY = 7024 } 2095 - 2096 -enum : uint { ERROR_CTX_BAD_VIDEO_MODE = 7025 } 2097 - 2098 -enum : uint { ERROR_CTX_GRAPHICS_INVALID = 7035 } 2099 - 2100 -enum : uint { ERROR_CTX_LOGON_DISABLED = 7037 } 2101 - 2102 -enum : uint { ERROR_CTX_NOT_CONSOLE = 7038 } 2103 - 2104 -enum : uint { ERROR_CTX_CLIENT_QUERY_TIMEOUT = 7040 } 2105 - 2106 -enum : uint { ERROR_CTX_CONSOLE_DISCONNECT = 7041 } 2107 - 2108 -enum : uint { ERROR_CTX_CONSOLE_CONNECT = 7042 } 2109 - 2110 -enum : uint { ERROR_CTX_SHADOW_DENIED = 7044 } 2111 - 2112 -enum : uint { ERROR_CTX_WINSTATION_ACCESS_DENIED = 7045 } 2113 - 2114 -enum : uint { ERROR_CTX_INVALID_WD = 7049 } 2115 - 2116 -enum : uint { ERROR_CTX_SHADOW_INVALID = 7050 } 2117 - 2118 -enum : uint { ERROR_CTX_SHADOW_DISABLED = 7051 } 2119 - 2120 -enum : uint { ERROR_CTX_CLIENT_LICENSE_IN_USE = 7052 } 2121 - 2122 -enum : uint { ERROR_CTX_CLIENT_LICENSE_NOT_SET = 7053 } 2123 - 2124 -enum : uint { ERROR_CTX_LICENSE_NOT_AVAILABLE = 7054 } 2125 - 2126 -enum : uint { ERROR_CTX_LICENSE_CLIENT_INVALID = 7055 } 2127 - 2128 -enum : uint { ERROR_CTX_LICENSE_EXPIRED = 7056 } 2129 - 2130 -enum : uint { ERROR_CTX_SHADOW_NOT_RUNNING = 7057 } 2131 - 2132 -enum : uint { ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE = 7058 } 2133 - 2134 -enum : uint { FRS_ERR_INVALID_API_SEQUENCE = 8001 } 2135 - 2136 -enum : uint { FRS_ERR_STARTING_SERVICE = 8002 } 2137 - 2138 -enum : uint { FRS_ERR_STOPPING_SERVICE = 8003 } 2139 - 2140 -enum : uint { FRS_ERR_INTERNAL_API = 8004 } 2141 - 2142 -enum : uint { FRS_ERR_INTERNAL = 8005 } 2143 - 2144 -enum : uint { FRS_ERR_SERVICE_COMM = 8006 } 2145 - 2146 -enum : uint { FRS_ERR_INSUFFICIENT_PRIV = 8007 } 2147 - 2148 -enum : uint { FRS_ERR_AUTHENTICATION = 8008 } 2149 - 2150 -enum : uint { FRS_ERR_PARENT_INSUFFICIENT_PRIV = 8009 } 2151 - 2152 -enum : uint { FRS_ERR_PARENT_AUTHENTICATION = 8010 } 2153 - 2154 -enum : uint { FRS_ERR_CHILD_TO_PARENT_COMM = 8011 } 2155 - 2156 -enum : uint { FRS_ERR_PARENT_TO_CHILD_COMM = 8012 } 2157 - 2158 -enum : uint { FRS_ERR_SYSVOL_POPULATE = 8013 } 2159 - 2160 -enum : uint { FRS_ERR_SYSVOL_POPULATE_TIMEOUT = 8014 } 2161 - 2162 -enum : uint { FRS_ERR_SYSVOL_IS_BUSY = 8015 } 2163 - 2164 -enum : uint { FRS_ERR_SYSVOL_DEMOTE = 8016 } 2165 - 2166 -enum : uint { FRS_ERR_INVALID_SERVICE_PARAMETER = 8017 } 2167 - 2168 -alias NO_ERROR DS_S_SUCCESS; 2169 - 2170 -enum : uint { ERROR_DS_NOT_INSTALLED = 8200 } 2171 - 2172 -enum : uint { ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY = 8201 } 2173 - 2174 -enum : uint { ERROR_DS_NO_ATTRIBUTE_OR_VALUE = 8202 } 2175 - 2176 -enum : uint { ERROR_DS_INVALID_ATTRIBUTE_SYNTAX = 8203 } 2177 - 2178 -enum : uint { ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED = 8204 } 2179 - 2180 -enum : uint { ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS = 8205 } 2181 - 2182 -enum : uint { ERROR_DS_BUSY = 8206 } 2183 - 2184 -enum : uint { ERROR_DS_UNAVAILABLE = 8207 } 2185 - 2186 -enum : uint { ERROR_DS_NO_RIDS_ALLOCATED = 8208 } 2187 - 2188 -enum : uint { ERROR_DS_NO_MORE_RIDS = 8209 } 2189 - 2190 -enum : uint { ERROR_DS_INCORRECT_ROLE_OWNER = 8210 } 2191 - 2192 -enum : uint { ERROR_DS_RIDMGR_INIT_ERROR = 8211 } 2193 - 2194 -enum : uint { ERROR_DS_OBJ_CLASS_VIOLATION = 8212 } 2195 - 2196 -enum : uint { ERROR_DS_CANT_ON_NON_LEAF = 8213 } 2197 - 2198 -enum : uint { ERROR_DS_CANT_ON_RDN = 8214 } 2199 - 2200 -enum : uint { ERROR_DS_CANT_MOD_OBJ_CLASS = 8215 } 2201 - 2202 -enum : uint { ERROR_DS_CROSS_DOM_MOVE_ERROR = 8216 } 2203 - 2204 -enum : uint { ERROR_DS_GC_NOT_AVAILABLE = 8217 } 2205 - 2206 -enum : uint { ERROR_SHARED_POLICY = 8218 } 2207 - 2208 -enum : uint { ERROR_POLICY_OBJECT_NOT_FOUND = 8219 } 2209 - 2210 -enum : uint { ERROR_POLICY_ONLY_IN_DS = 8220 } 2211 - 2212 -enum : uint { ERROR_PROMOTION_ACTIVE = 8221 } 2213 - 2214 -enum : uint { ERROR_NO_PROMOTION_ACTIVE = 8222 } 2215 - 2216 -enum : uint { ERROR_DS_OPERATIONS_ERROR = 8224 } 2217 - 2218 -enum : uint { ERROR_DS_PROTOCOL_ERROR = 8225 } 2219 - 2220 -enum : uint { ERROR_DS_TIMELIMIT_EXCEEDED = 8226 } 2221 - 2222 -enum : uint { ERROR_DS_SIZELIMIT_EXCEEDED = 8227 } 2223 - 2224 -enum : uint { ERROR_DS_ADMIN_LIMIT_EXCEEDED = 8228 } 2225 - 2226 -enum : uint { ERROR_DS_COMPARE_FALSE = 8229 } 2227 - 2228 -enum : uint { ERROR_DS_COMPARE_TRUE = 8230 } 2229 - 2230 -enum : uint { ERROR_DS_AUTH_METHOD_NOT_SUPPORTED = 8231 } 2231 - 2232 -enum : uint { ERROR_DS_STRONG_AUTH_REQUIRED = 8232 } 2233 - 2234 -enum : uint { ERROR_DS_INAPPROPRIATE_AUTH = 8233 } 2235 - 2236 -enum : uint { ERROR_DS_AUTH_UNKNOWN = 8234 } 2237 - 2238 -enum : uint { ERROR_DS_REFERRAL = 8235 } 2239 - 2240 -enum : uint { ERROR_DS_UNAVAILABLE_CRIT_EXTENSION = 8236 } 2241 - 2242 -enum : uint { ERROR_DS_CONFIDENTIALITY_REQUIRED = 8237 } 2243 - 2244 -enum : uint { ERROR_DS_INAPPROPRIATE_MATCHING = 8238 } 2245 - 2246 -enum : uint { ERROR_DS_CONSTRAINT_VIOLATION = 8239 } 2247 - 2248 -enum : uint { ERROR_DS_NO_SUCH_OBJECT = 8240 } 2249 - 2250 -enum : uint { ERROR_DS_ALIAS_PROBLEM = 8241 } 2251 - 2252 -enum : uint { ERROR_DS_INVALID_DN_SYNTAX = 8242 } 2253 - 2254 -enum : uint { ERROR_DS_IS_LEAF = 8243 } 2255 - 2256 -enum : uint { ERROR_DS_ALIAS_DEREF_PROBLEM = 8244 } 2257 - 2258 -enum : uint { ERROR_DS_UNWILLING_TO_PERFORM = 8245 } 2259 - 2260 -enum : uint { ERROR_DS_LOOP_DETECT = 8246 } 2261 - 2262 -enum : uint { ERROR_DS_NAMING_VIOLATION = 8247 } 2263 - 2264 -enum : uint { ERROR_DS_OBJECT_RESULTS_TOO_LARGE = 8248 } 2265 - 2266 -enum : uint { ERROR_DS_AFFECTS_MULTIPLE_DSAS = 8249 } 2267 - 2268 -enum : uint { ERROR_DS_SERVER_DOWN = 8250 } 2269 - 2270 -enum : uint { ERROR_DS_LOCAL_ERROR = 8251 } 2271 - 2272 -enum : uint { ERROR_DS_ENCODING_ERROR = 8252 } 2273 - 2274 -enum : uint { ERROR_DS_DECODING_ERROR = 8253 } 2275 - 2276 -enum : uint { ERROR_DS_FILTER_UNKNOWN = 8254 } 2277 - 2278 -enum : uint { ERROR_DS_PARAM_ERROR = 8255 } 2279 - 2280 -enum : uint { ERROR_DS_NOT_SUPPORTED = 8256 } 2281 - 2282 -enum : uint { ERROR_DS_NO_RESULTS_RETURNED = 8257 } 2283 - 2284 -enum : uint { ERROR_DS_CONTROL_NOT_FOUND = 8258 } 2285 - 2286 -enum : uint { ERROR_DS_CLIENT_LOOP = 8259 } 2287 - 2288 -enum : uint { ERROR_DS_REFERRAL_LIMIT_EXCEEDED = 8260 } 2289 - 2290 -enum : uint { ERROR_DS_SORT_CONTROL_MISSING = 8261 } 2291 - 2292 -enum : uint { ERROR_DS_OFFSET_RANGE_ERROR = 8262 } 2293 - 2294 -enum : uint { ERROR_DS_ROOT_MUST_BE_NC = 8301 } 2295 - 2296 -enum : uint { ERROR_DS_ADD_REPLICA_INHIBITED = 8302 } 2297 - 2298 -enum : uint { ERROR_DS_ATT_NOT_DEF_IN_SCHEMA = 8303 } 2299 - 2300 -enum : uint { ERROR_DS_MAX_OBJ_SIZE_EXCEEDED = 8304 } 2301 - 2302 -enum : uint { ERROR_DS_OBJ_STRING_NAME_EXISTS = 8305 } 2303 - 2304 -enum : uint { ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA = 8306 } 2305 - 2306 -enum : uint { ERROR_DS_RDN_DOESNT_MATCH_SCHEMA = 8307 } 2304 +HRESULT HRESULT_FROM_WIN32(HRESULT x) { 2305 + return x ? (x & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000 : 0; 2306 +} 2307 2307 2308 -enum : uint { ERROR_DS_NO_REQUESTED_ATTS_FOUND = 8308 } 2309 - 2310 -enum : uint { ERROR_DS_USER_BUFFER_TO_SMALL = 8309 } 2311 - 2312 -enum : uint { ERROR_DS_ATT_IS_NOT_ON_OBJ = 8310 } 2313 - 2314 -enum : uint { ERROR_DS_ILLEGAL_MOD_OPERATION = 8311 } 2315 - 2316 -enum : uint { ERROR_DS_OBJ_TOO_LARGE = 8312 } 2317 - 2318 -enum : uint { ERROR_DS_BAD_INSTANCE_TYPE = 8313 } 2319 - 2320 -enum : uint { ERROR_DS_MASTERDSA_REQUIRED = 8314 } 2321 - 2322 -enum : uint { ERROR_DS_OBJECT_CLASS_REQUIRED = 8315 } 2323 - 2324 -enum : uint { ERROR_DS_MISSING_REQUIRED_ATT = 8316 } 2325 - 2326 -enum : uint { ERROR_DS_ATT_NOT_DEF_FOR_CLASS = 8317 } 2327 - 2328 -enum : uint { ERROR_DS_ATT_ALREADY_EXISTS = 8318 } 2329 - 2330 -enum : uint { ERROR_DS_CANT_ADD_ATT_VALUES = 8320 } 2331 - 2332 -enum : uint { ERROR_DS_SINGLE_VALUE_CONSTRAINT = 8321 } 2333 - 2334 -enum : uint { ERROR_DS_RANGE_CONSTRAINT = 8322 } 2335 - 2336 -enum : uint { ERROR_DS_ATT_VAL_ALREADY_EXISTS = 8323 } 2337 - 2338 -enum : uint { ERROR_DS_CANT_REM_MISSING_ATT = 8324 } 2339 - 2340 -enum : uint { ERROR_DS_CANT_REM_MISSING_ATT_VAL = 8325 } 2341 - 2342 -enum : uint { ERROR_DS_ROOT_CANT_BE_SUBREF = 8326 } 2343 - 2344 -enum : uint { ERROR_DS_NO_CHAINING = 8327 } 2345 - 2346 -enum : uint { ERROR_DS_NO_CHAINED_EVAL = 8328 } 2347 - 2348 -enum : uint { ERROR_DS_NO_PARENT_OBJECT = 8329 } 2349 - 2350 -enum : uint { ERROR_DS_PARENT_IS_AN_ALIAS = 8330 } 2351 - 2352 -enum : uint { ERROR_DS_CANT_MIX_MASTER_AND_REPS = 8331 } 2353 - 2354 -enum : uint { ERROR_DS_CHILDREN_EXIST = 8332 } 2355 - 2356 -enum : uint { ERROR_DS_OBJ_NOT_FOUND = 8333 } 2357 - 2358 -enum : uint { ERROR_DS_ALIASED_OBJ_MISSING = 8334 } 2359 - 2360 -enum : uint { ERROR_DS_BAD_NAME_SYNTAX = 8335 } 2361 - 2362 -enum : uint { ERROR_DS_ALIAS_POINTS_TO_ALIAS = 8336 } 2363 - 2364 -enum : uint { ERROR_DS_CANT_DEREF_ALIAS = 8337 } 2365 - 2366 -enum : uint { ERROR_DS_OUT_OF_SCOPE = 8338 } 2367 - 2368 -enum : uint { ERROR_DS_OBJECT_BEING_REMOVED = 8339 } 2369 - 2370 -enum : uint { ERROR_DS_CANT_DELETE_DSA_OBJ = 8340 } 2371 - 2372 -enum : uint { ERROR_DS_GENERIC_ERROR = 8341 } 2373 - 2374 -enum : uint { ERROR_DS_DSA_MUST_BE_INT_MASTER = 8342 } 2375 - 2376 -enum : uint { ERROR_DS_CLASS_NOT_DSA = 8343 } 2377 - 2378 -enum : uint { ERROR_DS_INSUFF_ACCESS_RIGHTS = 8344 } 2379 - 2380 -enum : uint { ERROR_DS_ILLEGAL_SUPERIOR = 8345 } 2381 - 2382 -enum : uint { ERROR_DS_ATTRIBUTE_OWNED_BY_SAM = 8346 } 2383 - 2384 -enum : uint { ERROR_DS_NAME_TOO_MANY_PARTS = 8347 } 2385 - 2386 -enum : uint { ERROR_DS_NAME_TOO_LONG = 8348 } 2387 - 2388 -enum : uint { ERROR_DS_NAME_VALUE_TOO_LONG = 8349 } 2389 - 2390 -enum : uint { ERROR_DS_NAME_UNPARSEABLE = 8350 } 2391 - 2392 -enum : uint { ERROR_DS_NAME_TYPE_UNKNOWN = 8351 } 2393 - 2394 -enum : uint { ERROR_DS_NOT_AN_OBJECT = 8352 } 2395 - 2396 -enum : uint { ERROR_DS_SEC_DESC_TOO_SHORT = 8353 } 2397 - 2398 -enum : uint { ERROR_DS_SEC_DESC_INVALID = 8354 } 2399 - 2400 -enum : uint { ERROR_DS_NO_DELETED_NAME = 8355 } 2401 - 2402 -enum : uint { ERROR_DS_SUBREF_MUST_HAVE_PARENT = 8356 } 2403 - 2404 -enum : uint { ERROR_DS_NCNAME_MUST_BE_NC = 8357 } 2405 - 2406 -enum : uint { ERROR_DS_CANT_ADD_SYSTEM_ONLY = 8358 } 2407 - 2408 -enum : uint { ERROR_DS_CLASS_MUST_BE_CONCRETE = 8359 } 2409 - 2410 -enum : uint { ERROR_DS_INVALID_DMD = 8360 } 2411 - 2412 -enum : uint { ERROR_DS_OBJ_GUID_EXISTS = 8361 } 2413 - 2414 -enum : uint { ERROR_DS_NOT_ON_BACKLINK = 8362 } 2415 - 2416 -enum : uint { ERROR_DS_NO_CROSSREF_FOR_NC = 8363 } 2417 - 2418 -enum : uint { ERROR_DS_SHUTTING_DOWN = 8364 } 2419 - 2420 -enum : uint { ERROR_DS_UNKNOWN_OPERATION = 8365 } 2421 - 2422 -enum : uint { ERROR_DS_INVALID_ROLE_OWNER = 8366 } 2423 - 2424 -enum : uint { ERROR_DS_COULDNT_CONTACT_FSMO = 8367 } 2425 - 2426 -enum : uint { ERROR_DS_CROSS_NC_DN_RENAME = 8368 } 2427 - 2428 -enum : uint { ERROR_DS_CANT_MOD_SYSTEM_ONLY = 8369 } 2429 - 2430 -enum : uint { ERROR_DS_REPLICATOR_ONLY = 8370 } 2431 - 2432 -enum : uint { ERROR_DS_OBJ_CLASS_NOT_DEFINED = 8371 } 2433 - 2434 -enum : uint { ERROR_DS_OBJ_CLASS_NOT_SUBCLASS = 8372 } 2435 - 2436 -enum : uint { ERROR_DS_NAME_REFERENCE_INVALID = 8373 } 2437 - 2438 -enum : uint { ERROR_DS_CROSS_REF_EXISTS = 8374 } 2439 - 2440 -enum : uint { ERROR_DS_CANT_DEL_MASTER_CROSSREF = 8375 } 2441 - 2442 -enum : uint { ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD = 8376 } 2443 - 2444 -enum : uint { ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX = 8377 } 2445 - 2446 -enum : uint { ERROR_DS_DUP_RDN = 8378 } 2447 - 2448 -enum : uint { ERROR_DS_DUP_OID = 8379 } 2449 - 2450 -enum : uint { ERROR_DS_DUP_MAPI_ID = 8380 } 2451 - 2452 -enum : uint { ERROR_DS_DUP_SCHEMA_ID_GUID = 8381 } 2453 - 2454 -enum : uint { ERROR_DS_DUP_LDAP_DISPLAY_NAME = 8382 } 2455 - 2456 -enum : uint { ERROR_DS_SEMANTIC_ATT_TEST = 8383 } 2457 - 2458 -enum : uint { ERROR_DS_SYNTAX_MISMATCH = 8384 } 2459 - 2460 -enum : uint { ERROR_DS_EXISTS_IN_MUST_HAVE = 8385 } 2461 - 2462 -enum : uint { ERROR_DS_EXISTS_IN_MAY_HAVE = 8386 } 2463 - 2464 -enum : uint { ERROR_DS_NONEXISTENT_MAY_HAVE = 8387 } 2465 - 2466 -enum : uint { ERROR_DS_NONEXISTENT_MUST_HAVE = 8388 } 2467 - 2468 -enum : uint { ERROR_DS_AUX_CLS_TEST_FAIL = 8389 } 2469 - 2470 -enum : uint { ERROR_DS_NONEXISTENT_POSS_SUP = 8390 } 2471 - 2472 -enum : uint { ERROR_DS_SUB_CLS_TEST_FAIL = 8391 } 2473 - 2474 -enum : uint { ERROR_DS_BAD_RDN_ATT_ID_SYNTAX = 8392 } 2475 - 2476 -enum : uint { ERROR_DS_EXISTS_IN_AUX_CLS = 8393 } 2477 - 2478 -enum : uint { ERROR_DS_EXISTS_IN_SUB_CLS = 8394 } 2479 - 2480 -enum : uint { ERROR_DS_EXISTS_IN_POSS_SUP = 8395 } 2481 - 2482 -enum : uint { ERROR_DS_RECALCSCHEMA_FAILED = 8396 } 2483 - 2484 -enum : uint { ERROR_DS_TREE_DELETE_NOT_FINISHED = 8397 } 2485 - 2486 -enum : uint { ERROR_DS_CANT_DELETE = 8398 } 2487 - 2488 -enum : uint { ERROR_DS_ATT_SCHEMA_REQ_ID = 8399 } 2489 - 2490 -enum : uint { ERROR_DS_BAD_ATT_SCHEMA_SYNTAX = 8400 } 2491 - 2492 -enum : uint { ERROR_DS_CANT_CACHE_ATT = 8401 } 2493 - 2494 -enum : uint { ERROR_DS_CANT_CACHE_CLASS = 8402 } 2495 - 2496 -enum : uint { ERROR_DS_CANT_REMOVE_ATT_CACHE = 8403 } 2497 - 2498 -enum : uint { ERROR_DS_CANT_REMOVE_CLASS_CACHE = 8404 } 2499 - 2500 -enum : uint { ERROR_DS_CANT_RETRIEVE_DN = 8405 } 2501 - 2502 -enum : uint { ERROR_DS_MISSING_SUPREF = 8406 } 2503 - 2504 -enum : uint { ERROR_DS_CANT_RETRIEVE_INSTANCE = 8407 } 2505 - 2506 -enum : uint { ERROR_DS_CODE_INCONSISTENCY = 8408 } 2507 - 2508 -enum : uint { ERROR_DS_DATABASE_ERROR = 8409 } 2509 - 2510 -enum : uint { ERROR_DS_GOVERNSID_MISSING = 8410 } 2511 - 2512 -enum : uint { ERROR_DS_MISSING_EXPECTED_ATT = 8411 } 2513 - 2514 -enum : uint { ERROR_DS_NCNAME_MISSING_CR_REF = 8412 } 2515 - 2516 -enum : uint { ERROR_DS_SECURITY_CHECKING_ERROR = 8413 } 2517 - 2518 -enum : uint { ERROR_DS_SCHEMA_NOT_LOADED = 8414 } 2519 - 2520 -enum : uint { ERROR_DS_SCHEMA_ALLOC_FAILED = 8415 } 2521 - 2522 -enum : uint { ERROR_DS_ATT_SCHEMA_REQ_SYNTAX = 8416 } 2523 - 2524 -enum : uint { ERROR_DS_GCVERIFY_ERROR = 8417 } 2525 - 2526 -enum : uint { ERROR_DS_DRA_SCHEMA_MISMATCH = 8418 } 2527 - 2528 -enum : uint { ERROR_DS_CANT_FIND_DSA_OBJ = 8419 } 2529 - 2530 -enum : uint { ERROR_DS_CANT_FIND_EXPECTED_NC = 8420 } 2531 - 2532 -enum : uint { ERROR_DS_CANT_FIND_NC_IN_CACHE = 8421 } 2533 - 2534 -enum : uint { ERROR_DS_CANT_RETRIEVE_CHILD = 8422 } 2535 - 2536 -enum : uint { ERROR_DS_SECURITY_ILLEGAL_MODIFY = 8423 } 2537 - 2538 -enum : uint { ERROR_DS_CANT_REPLACE_HIDDEN_REC = 8424 } 2539 - 2540 -enum : uint { ERROR_DS_BAD_HIERARCHY_FILE = 8425 } 2541 - 2542 -enum : uint { ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED = 8426 } 2543 - 2544 -enum : uint { ERROR_DS_CONFIG_PARAM_MISSING = 8427 } 2545 - 2546 -enum : uint { ERROR_DS_COUNTING_AB_INDICES_FAILED = 8428 } 2547 - 2548 -enum : uint { ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED = 8429 } 2549 - 2550 -enum : uint { ERROR_DS_INTERNAL_FAILURE = 8430 } 2551 - 2552 -enum : uint { ERROR_DS_UNKNOWN_ERROR = 8431 } 2553 - 2554 -enum : uint { ERROR_DS_ROOT_REQUIRES_CLASS_TOP = 8432 } 2555 - 2556 -enum : uint { ERROR_DS_REFUSING_FSMO_ROLES = 8433 } 2557 - 2558 -enum : uint { ERROR_DS_MISSING_FSMO_SETTINGS = 8434 } 2559 - 2560 -enum : uint { ERROR_DS_UNABLE_TO_SURRENDER_ROLES = 8435 } 2561 - 2562 -enum : uint { ERROR_DS_DRA_GENERIC = 8436 } 2563 - 2564 -enum : uint { ERROR_DS_DRA_INVALID_PARAMETER = 8437 } 2565 - 2566 -enum : uint { ERROR_DS_DRA_BUSY = 8438 } 2567 - 2568 -enum : uint { ERROR_DS_DRA_BAD_DN = 8439 } 2569 - 2570 -enum : uint { ERROR_DS_DRA_BAD_NC = 8440 } 2571 - 2572 -enum : uint { ERROR_DS_DRA_DN_EXISTS = 8441 } 2573 - 2574 -enum : uint { ERROR_DS_DRA_INTERNAL_ERROR = 8442 } 2575 - 2576 -enum : uint { ERROR_DS_DRA_INCONSISTENT_DIT = 8443 } 2577 - 2578 -enum : uint { ERROR_DS_DRA_CONNECTION_FAILED = 8444 } 2579 - 2580 -enum : uint { ERROR_DS_DRA_BAD_INSTANCE_TYPE = 8445 } 2581 - 2582 -enum : uint { ERROR_DS_DRA_OUT_OF_MEM = 8446 } 2583 - 2584 -enum : uint { ERROR_DS_DRA_MAIL_PROBLEM = 8447 } 2585 - 2586 -enum : uint { ERROR_DS_DRA_REF_ALREADY_EXISTS = 8448 } 2587 - 2588 -enum : uint { ERROR_DS_DRA_REF_NOT_FOUND = 8449 } 2589 - 2590 -enum : uint { ERROR_DS_DRA_OBJ_IS_REP_SOURCE = 8450 } 2591 - 2592 -enum : uint { ERROR_DS_DRA_DB_ERROR = 8451 } 2593 - 2594 -enum : uint { ERROR_DS_DRA_NO_REPLICA = 8452 } 2595 - 2596 -enum : uint { ERROR_DS_DRA_ACCESS_DENIED = 8453 } 2597 - 2598 -enum : uint { ERROR_DS_DRA_NOT_SUPPORTED = 8454 } 2599 - 2600 -enum : uint { ERROR_DS_DRA_RPC_CANCELLED = 8455 } 2601 - 2602 -enum : uint { ERROR_DS_DRA_SOURCE_DISABLED = 8456 } 2603 - 2604 -enum : uint { ERROR_DS_DRA_SINK_DISABLED = 8457 } 2605 - 2606 -enum : uint { ERROR_DS_DRA_NAME_COLLISION = 8458 } 2607 - 2608 -enum : uint { ERROR_DS_DRA_SOURCE_REINSTALLED = 8459 } 2609 - 2610 -enum : uint { ERROR_DS_DRA_MISSING_PARENT = 8460 } 2611 - 2612 -enum : uint { ERROR_DS_DRA_PREEMPTED = 8461 } 2613 - 2614 -enum : uint { ERROR_DS_DRA_ABANDON_SYNC = 8462 } 2615 - 2616 -enum : uint { ERROR_DS_DRA_SHUTDOWN = 8463 } 2617 - 2618 -enum : uint { ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET = 8464 } 2619 - 2620 -enum : uint { ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA = 8465 } 2621 - 2622 -enum : uint { ERROR_DS_DRA_EXTN_CONNECTION_FAILED = 8466 } 2623 - 2624 -enum : uint { ERROR_DS_INSTALL_SCHEMA_MISMATCH = 8467 } 2625 - 2626 -enum : uint { ERROR_DS_DUP_LINK_ID = 8468 } 2627 - 2628 -enum : uint { ERROR_DS_NAME_ERROR_RESOLVING = 8469 } 2629 - 2630 -enum : uint { ERROR_DS_NAME_ERROR_NOT_FOUND = 8470 } 2631 - 2632 -enum : uint { ERROR_DS_NAME_ERROR_NOT_UNIQUE = 8471 } 2633 - 2634 -enum : uint { ERROR_DS_NAME_ERROR_NO_MAPPING = 8472 } 2635 - 2636 -enum : uint { ERROR_DS_NAME_ERROR_DOMAIN_ONLY = 8473 } 2637 - 2638 -enum : uint { ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING = 8474 } 2639 - 2640 -enum : uint { ERROR_DS_CONSTRUCTED_ATT_MOD = 8475 } 2641 - 2642 -enum : uint { ERROR_DS_WRONG_OM_OBJ_CLASS = 8476 } 2643 - 2644 -enum : uint { ERROR_DS_DRA_REPL_PENDING = 8477 } 2645 - 2646 -enum : uint { ERROR_DS_DS_REQUIRED = 8478 } 2647 - 2648 -enum : uint { ERROR_DS_INVALID_LDAP_DISPLAY_NAME = 8479 } 2649 - 2650 -enum : uint { ERROR_DS_NON_BASE_SEARCH = 8480 } 2651 - 2652 -enum : uint { ERROR_DS_CANT_RETRIEVE_ATTS = 8481 } 2653 - 2654 -enum : uint { ERROR_DS_BACKLINK_WITHOUT_LINK = 8482 } 2655 - 2656 -enum : uint { ERROR_DS_EPOCH_MISMATCH = 8483 } 2657 - 2658 -enum : uint { ERROR_DS_SRC_NAME_MISMATCH = 8484 } 2659 - 2660 -enum : uint { ERROR_DS_SRC_AND_DST_NC_IDENTICAL = 8485 } 2661 - 2662 -enum : uint { ERROR_DS_DST_NC_MISMATCH = 8486 } 2663 - 2664 -enum : uint { ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC = 8487 } 2665 - 2666 -enum : uint { ERROR_DS_SRC_GUID_MISMATCH = 8488 } 2667 - 2668 -enum : uint { ERROR_DS_CANT_MOVE_DELETED_OBJECT = 8489 } 2669 - 2670 -enum : uint { ERROR_DS_PDC_OPERATION_IN_PROGRESS = 8490 } 2671 - 2672 -enum : uint { ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD = 8491 } 2673 - 2674 -enum : uint { ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION = 8492 } 2675 - 2676 -enum : uint { ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS = 8493 } 2677 - 2678 -enum : uint { ERROR_DS_NC_MUST_HAVE_NC_PARENT = 8494 } 2679 - 2680 -enum : uint { ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE = 8495 } 2681 - 2682 -enum : uint { ERROR_DS_DST_DOMAIN_NOT_NATIVE = 8496 } 2683 - 2684 -enum : uint { ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER = 8497 } 2685 - 2686 -enum : uint { ERROR_DS_CANT_MOVE_ACCOUNT_GROUP = 8498 } 2687 - 2688 -enum : uint { ERROR_DS_CANT_MOVE_RESOURCE_GROUP = 8499 } 2689 - 2690 -enum : uint { ERROR_DS_INVALID_SEARCH_FLAG = 8500 } 2691 - 2692 -enum : uint { ERROR_DS_NO_TREE_DELETE_ABOVE_NC = 8501 } 2693 - 2694 -enum : uint { ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE = 8502 } 2695 - 2696 -enum : uint { ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE = 8503 } 2697 - 2698 -enum : uint { ERROR_DS_SAM_INIT_FAILURE = 8504 } 2699 - 2700 -enum : uint { ERROR_DS_SENSITIVE_GROUP_VIOLATION = 8505 } 2701 - 2702 -enum : uint { ERROR_DS_CANT_MOD_PRIMARYGROUPID = 8506 } 2703 - 2704 -enum : uint { ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD = 8507 } 2705 - 2706 -enum : uint { ERROR_DS_NONSAFE_SCHEMA_CHANGE = 8508 } 2707 - 2708 -enum : uint { ERROR_DS_SCHEMA_UPDATE_DISALLOWED = 8509 } 2709 - 2710 -enum : uint { ERROR_DS_CANT_CREATE_UNDER_SCHEMA = 8510 } 2711 - 2712 -enum : uint { ERROR_DS_INSTALL_NO_SRC_SCH_VERSION = 8511 } 2713 - 2714 -enum : uint { ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE = 8512 } 2715 - 2716 -enum : uint { ERROR_DS_INVALID_GROUP_TYPE = 8513 } 2717 - 2718 -enum : uint { ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN = 8514 } 2719 - 2720 -enum : uint { ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN = 8515 } 2721 - 2722 -enum : uint { ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER = 8516 } 2723 - 2724 -enum : uint { ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER = 8517 } 2725 - 2726 -enum : uint { ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER = 8518 } 2727 - 2728 -enum : uint { ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER = 8519 } 2729 - 2730 -enum : uint { ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER = 8520 } 2731 - 2732 -enum : uint { ERROR_DS_HAVE_PRIMARY_MEMBERS = 8521 } 2733 - 2734 -enum : uint { ERROR_DS_STRING_SD_CONVERSION_FAILED = 8522 } 2735 - 2736 -enum : uint { ERROR_DS_NAMING_MASTER_GC = 8523 } 2737 - 2738 -enum : uint { ERROR_DS_DNS_LOOKUP_FAILURE = 8524 } 2739 - 2740 -enum : uint { ERROR_DS_COULDNT_UPDATE_SPNS = 8525 } 2741 - 2742 -enum : uint { ERROR_DS_CANT_RETRIEVE_SD = 8526 } 2743 - 2744 -enum : uint { ERROR_DS_KEY_NOT_UNIQUE = 8527 } 2745 - 2746 -enum : uint { ERROR_DS_WRONG_LINKED_ATT_SYNTAX = 8528 } 2747 - 2748 -enum : uint { ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD = 8529 } 2749 - 2750 -enum : uint { ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY = 8530 } 2751 - 2752 -enum : uint { ERROR_DS_CANT_START = 8531 } 2753 - 2754 -enum : uint { ERROR_DS_INIT_FAILURE = 8532 } 2755 - 2756 -enum : uint { ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION = 8533 } 2757 - 2758 -enum : uint { ERROR_DS_SOURCE_DOMAIN_IN_FOREST = 8534 } 2759 - 2760 -enum : uint { ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST = 8535 } 2761 - 2762 -enum : uint { ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED = 8536 } 2763 - 2764 -enum : uint { ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN = 8537 } 2765 - 2766 -enum : uint { ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER = 8538 } 2767 - 2768 -enum : uint { ERROR_DS_SRC_SID_EXISTS_IN_FOREST = 8539 } 2769 - 2770 -enum : uint { ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH = 8540 } 2771 - 2772 -enum : uint { ERROR_SAM_INIT_FAILURE = 8541 } 2773 - 2774 -enum : uint { ERROR_DS_DRA_SCHEMA_INFO_SHIP = 8542 } 2775 - 2776 -enum : uint { ERROR_DS_DRA_SCHEMA_CONFLICT = 8543 } 2777 - 2778 -enum : uint { ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT = 8544 } 2779 - 2780 -enum : uint { ERROR_DS_DRA_OBJ_NC_MISMATCH = 8545 } 2781 - 2782 -enum : uint { ERROR_DS_NC_STILL_HAS_DSAS = 8546 } 2783 - 2784 -enum : uint { ERROR_DS_GC_REQUIRED = 8547 } 2785 - 2786 -enum : uint { ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY = 8548 } 2787 - 2788 -enum : uint { ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS = 8549 } 2789 - 2790 -enum : uint { ERROR_DS_CANT_ADD_TO_GC = 8550 } 2791 - 2792 -enum : uint { ERROR_DS_NO_CHECKPOINT_WITH_PDC = 8551 } 2793 - 2794 -enum : uint { ERROR_DS_SOURCE_AUDITING_NOT_ENABLED = 8552 } 2795 - 2796 -enum : uint { ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC = 8553 } 2797 - 2798 -enum : uint { ERROR_DS_INVALID_NAME_FOR_SPN = 8554 } 2799 - 2800 -enum : uint { ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS = 8555 } 2801 - 2802 -enum : uint { ERROR_DS_UNICODEPWD_NOT_IN_QUOTES = 8556 } 2803 - 2804 -enum : uint { ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED = 8557 } 2805 - 2806 -enum : uint { ERROR_DS_MUST_BE_RUN_ON_DST_DC = 8558 } 2807 - 2808 -enum : uint { ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER = 8559 } 2809 - 2810 -enum : uint { ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ = 8560 } 2811 - 2812 -enum : uint { ERROR_DS_INIT_FAILURE_CONSOLE = 8561 } 2813 - 2814 -enum : uint { ERROR_DS_SAM_INIT_FAILURE_CONSOLE = 8562 } 2815 - 2816 -enum : uint { ERROR_DS_FOREST_VERSION_TOO_HIGH = 8563 } 2817 - 2818 -enum : uint { ERROR_DS_DOMAIN_VERSION_TOO_HIGH = 8564 } 2819 - 2820 -enum : uint { ERROR_DS_FOREST_VERSION_TOO_LOW = 8565 } 2821 - 2822 -enum : uint { ERROR_DS_DOMAIN_VERSION_TOO_LOW = 8566 } 2823 - 2824 -enum : uint { ERROR_DS_INCOMPATIBLE_VERSION = 8567 } 2825 - 2826 -enum : uint { ERROR_DS_LOW_DSA_VERSION = 8568 } 2827 - 2828 -enum : uint { ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN = 8569 } 2829 - 2830 -enum : uint { ERROR_DS_NOT_SUPPORTED_SORT_ORDER = 8570 } 2831 - 2832 -enum : uint { ERROR_DS_NAME_NOT_UNIQUE = 8571 } 2833 - 2834 -enum : uint { ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 = 8572 } 2835 - 2836 -enum : uint { ERROR_DS_OUT_OF_VERSION_STORE = 8573 } 2837 - 2838 -enum : uint { ERROR_DS_INCOMPATIBLE_CONTROLS_USED = 8574 } 2839 - 2840 -enum : uint { ERROR_DS_NO_REF_DOMAIN = 8575 } 2841 - 2842 -enum : uint { ERROR_DS_RESERVED_LINK_ID = 8576 } 2843 - 2844 -enum : uint { ERROR_DS_LINK_ID_NOT_AVAILABLE = 8577 } 2845 - 2846 -enum : uint { ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER = 8578 } 2847 - 2848 -enum : uint { ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE = 8579 } 2849 - 2850 -enum : uint { ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC = 8580 } 2851 - 2852 -enum : uint { ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG = 8581 } 2853 - 2854 -enum : uint { ERROR_DS_MODIFYDN_WRONG_GRANDPARENT = 8582 } 2855 - 2856 -enum : uint { ERROR_DS_NAME_ERROR_TRUST_REFERRAL = 8583 } 2857 - 2858 -enum : uint { ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER = 8584 } 2859 - 2860 -enum : uint { ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD = 8585 } 2861 - 2862 -enum : uint { ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 = 8586 } 2863 - 2864 -enum : uint { ERROR_DS_THREAD_LIMIT_EXCEEDED = 8587 } 2865 - 2866 -enum : uint { ERROR_DS_NOT_CLOSEST = 8588 } 2867 - 2868 -enum : uint { ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF = 8589 } 2869 - 2870 -enum : uint { ERROR_DS_SINGLE_USER_MODE_FAILED = 8590 } 2871 - 2872 -enum : uint { ERROR_DS_NTDSCRIPT_SYNTAX_ERROR = 8591 } 2873 - 2874 -enum : uint { ERROR_DS_NTDSCRIPT_PROCESS_ERROR = 8592 } 2875 - 2876 -enum : uint { ERROR_DS_DIFFERENT_REPL_EPOCHS = 8593 } 2877 - 2878 -enum : uint { ERROR_DS_DRS_EXTENSIONS_CHANGED = 8594 } 2879 - 2880 -enum : uint { ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR = 8595 } 2881 - 2882 -enum : uint { ERROR_DS_NO_MSDS_INTID = 8596 } 2883 - 2884 -enum : uint { ERROR_DS_DUP_MSDS_INTID = 8597 } 2885 - 2886 -enum : uint { ERROR_DS_EXISTS_IN_RDNATTID = 8598 } 2887 - 2888 -enum : uint { ERROR_DS_AUTHORIZATION_FAILED = 8599 } 2889 - 2890 -enum : uint { ERROR_DS_INVALID_SCRIPT = 8600 } 2891 - 2892 -enum : uint { ERROR_DS_REMOTE_CROSSREF_OP_FAILED = 8601 } 2893 - 2894 -enum : uint { DNS_ERROR_RESPONSE_CODES_BASE = 9000 } 2895 - 2896 -alias NO_ERROR DNS_ERROR_RCODE_NO_ERROR; 2897 - 2898 -enum : uint { DNS_ERROR_MASK = 0x00002328 } 2899 - 2900 -enum : uint { DNS_ERROR_RCODE_FORMAT_ERROR = 9001 } 2901 - 2902 -enum : uint { DNS_ERROR_RCODE_SERVER_FAILURE = 9002 } 2903 - 2904 -enum : uint { DNS_ERROR_RCODE_NAME_ERROR = 9003 } 2905 - 2906 -enum : uint { DNS_ERROR_RCODE_NOT_IMPLEMENTED = 9004 } 2907 - 2908 -enum : uint { DNS_ERROR_RCODE_REFUSED = 9005 } 2909 - 2910 -enum : uint { DNS_ERROR_RCODE_YXDOMAIN = 9006 } 2911 - 2912 -enum : uint { DNS_ERROR_RCODE_YXRRSET = 9007 } 2913 - 2914 -enum : uint { DNS_ERROR_RCODE_NXRRSET = 9008 } 2915 - 2916 -enum : uint { DNS_ERROR_RCODE_NOTAUTH = 9009 } 2917 - 2918 -enum : uint { DNS_ERROR_RCODE_NOTZONE = 9010 } 2919 - 2920 -enum : uint { DNS_ERROR_RCODE_BADSIG = 9016 } 2921 - 2922 -enum : uint { DNS_ERROR_RCODE_BADKEY = 9017 } 2923 - 2924 -enum : uint { DNS_ERROR_RCODE_BADTIME = 9018 } 2925 - 2926 -alias DNS_ERROR_RCODE_BADTIME DNS_ERROR_RCODE_LAST; 2927 - 2928 -enum : uint { DNS_ERROR_PACKET_FMT_BASE = 9500 } 2929 - 2930 -enum : uint { DNS_INFO_NO_RECORDS = 9501 } 2931 - 2932 -enum : uint { DNS_ERROR_BAD_PACKET = 9502 } 2933 - 2934 -enum : uint { DNS_ERROR_NO_PACKET = 9503 } 2935 - 2936 -enum : uint { DNS_ERROR_RCODE = 9504 } 2937 - 2938 -enum : uint { DNS_ERROR_UNSECURE_PACKET = 9505 } 2939 - 2940 -alias DNS_ERROR_UNSECURE_PACKET DNS_STATUS_PACKET_UNSECURE; 2941 - 2942 -alias ERROR_OUTOFMEMORY DNS_ERROR_NO_MEMORY; 2943 -alias ERROR_INVALID_NAME DNS_ERROR_INVALID_NAME; 2944 -alias ERROR_INVALID_DATA DNS_ERROR_INVALID_DATA; 2945 - 2946 -enum : uint { DNS_ERROR_GENERAL_API_BASE = 9550 } 2947 - 2948 -enum : uint { DNS_ERROR_INVALID_TYPE = 9551 } 2949 - 2950 -enum : uint { DNS_ERROR_INVALID_IP_ADDRESS = 9552 } 2951 - 2952 -enum : uint { DNS_ERROR_INVALID_PROPERTY = 9553 } 2953 - 2954 -enum : uint { DNS_ERROR_TRY_AGAIN_LATER = 9554 } 2955 - 2956 -enum : uint { DNS_ERROR_NOT_UNIQUE = 9555 } 2957 - 2958 -enum : uint { DNS_ERROR_NON_RFC_NAME = 9556 } 2959 - 2960 -enum : uint { DNS_STATUS_FQDN = 9557 } 2961 - 2962 -enum : uint { DNS_STATUS_DOTTED_NAME = 9558 } 2963 - 2964 -enum : uint { DNS_STATUS_SINGLE_PART_NAME = 9559 } 2965 - 2966 -enum : uint { DNS_ERROR_INVALID_NAME_CHAR = 9560 } 2967 - 2968 -enum : uint { DNS_ERROR_NUMERIC_NAME = 9561 } 2969 - 2970 -enum : uint { DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER = 9562 } 2971 - 2972 -enum : uint { DNS_ERROR_ZONE_BASE = 9600 } 2973 - 2974 -enum : uint { DNS_ERROR_ZONE_DOES_NOT_EXIST = 9601 } 2975 - 2976 -enum : uint { DNS_ERROR_NO_ZONE_INFO = 9602 } 2977 - 2978 -enum : uint { DNS_ERROR_INVALID_ZONE_OPERATION = 9603 } 2979 - 2980 -enum : uint { DNS_ERROR_ZONE_CONFIGURATION_ERROR = 9604 } 2981 - 2982 -enum : uint { DNS_ERROR_ZONE_HAS_NO_SOA_RECORD = 9605 } 2983 - 2984 -enum : uint { DNS_ERROR_ZONE_HAS_NO_NS_RECORDS = 9606 } 2985 - 2986 -enum : uint { DNS_ERROR_ZONE_LOCKED = 9607 } 2987 - 2988 -enum : uint { DNS_ERROR_ZONE_CREATION_FAILED = 9608 } 2989 - 2990 -enum : uint { DNS_ERROR_ZONE_ALREADY_EXISTS = 9609 } 2991 - 2992 -enum : uint { DNS_ERROR_AUTOZONE_ALREADY_EXISTS = 9610 } 2993 - 2994 -enum : uint { DNS_ERROR_INVALID_ZONE_TYPE = 9611 } 2995 - 2996 -enum : uint { DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP = 9612 } 2997 - 2998 -enum : uint { DNS_ERROR_ZONE_NOT_SECONDARY = 9613 } 2999 - 3000 -enum : uint { DNS_ERROR_NEED_SECONDARY_ADDRESSES = 9614 } 3001 - 3002 -enum : uint { DNS_ERROR_WINS_INIT_FAILED = 9615 } 3003 - 3004 -enum : uint { DNS_ERROR_NEED_WINS_SERVERS = 9616 } 3005 - 3006 -enum : uint { DNS_ERROR_NBSTAT_INIT_FAILED = 9617 } 3007 - 3008 -enum : uint { DNS_ERROR_SOA_DELETE_INVALID = 9618 } 3009 - 3010 -enum : uint { DNS_ERROR_FORWARDER_ALREADY_EXISTS = 9619 } 3011 - 3012 -enum : uint { DNS_ERROR_ZONE_REQUIRES_MASTER_IP = 9620 } 3013 - 3014 -enum : uint { DNS_ERROR_ZONE_IS_SHUTDOWN = 9621 } 3015 - 3016 -enum : uint { DNS_ERROR_DATAFILE_BASE = 9650 } 3017 - 3018 -enum : uint { DNS_ERROR_PRIMARY_REQUIRES_DATAFILE = 9651 } 3019 - 3020 -enum : uint { DNS_ERROR_INVALID_DATAFILE_NAME = 9652 } 3021 - 3022 -enum : uint { DNS_ERROR_DATAFILE_OPEN_FAILURE = 9653 } 3023 - 3024 -enum : uint { DNS_ERROR_FILE_WRITEBACK_FAILED = 9654 } 3025 - 3026 -enum : uint { DNS_ERROR_DATAFILE_PARSING = 9655 } 3027 - 3028 -enum : uint { DNS_ERROR_DATABASE_BASE = 9700 } 3029 - 3030 -enum : uint { DNS_ERROR_RECORD_DOES_NOT_EXIST = 9701 } 3031 - 3032 -enum : uint { DNS_ERROR_RECORD_FORMAT = 9702 } 3033 - 3034 -enum : uint { DNS_ERROR_NODE_CREATION_FAILED = 9703 } 3035 - 3036 -enum : uint { DNS_ERROR_UNKNOWN_RECORD_TYPE = 9704 } 3037 - 3038 -enum : uint { DNS_ERROR_RECORD_TIMED_OUT = 9705 } 3039 - 3040 -enum : uint { DNS_ERROR_NAME_NOT_IN_ZONE = 9706 } 3041 - 3042 -enum : uint { DNS_ERROR_CNAME_LOOP = 9707 } 3043 - 3044 -enum : uint { DNS_ERROR_NODE_IS_CNAME = 9708 } 3045 - 3046 -enum : uint { DNS_ERROR_CNAME_COLLISION = 9709 } 3047 - 3048 -enum : uint { DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT = 9710 } 3049 - 3050 -enum : uint { DNS_ERROR_RECORD_ALREADY_EXISTS = 9711 } 3051 - 3052 -enum : uint { DNS_ERROR_SECONDARY_DATA = 9712 } 3053 - 3054 -enum : uint { DNS_ERROR_NO_CREATE_CACHE_DATA = 9713 } 3055 - 3056 -enum : uint { DNS_ERROR_NAME_DOES_NOT_EXIST = 9714 } 3057 - 3058 -enum : uint { DNS_WARNING_PTR_CREATE_FAILED = 9715 } 3059 - 3060 -enum : uint { DNS_WARNING_DOMAIN_UNDELETED = 9716 } 3061 - 3062 -enum : uint { DNS_ERROR_DS_UNAVAILABLE = 9717 } 3063 - 3064 -enum : uint { DNS_ERROR_DS_ZONE_ALREADY_EXISTS = 9718 } 3065 - 3066 -enum : uint { DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE = 9719 } 3067 - 3068 -enum : uint { DNS_ERROR_OPERATION_BASE = 9750 } 3069 - 3070 -enum : uint { DNS_INFO_AXFR_COMPLETE = 9751 } 3071 - 3072 -enum : uint { DNS_ERROR_AXFR = 9752 } 3073 - 3074 -enum : uint { DNS_INFO_ADDED_LOCAL_WINS = 9753 } 3075 - 3076 -enum : uint { DNS_ERROR_SECURE_BASE = 9800 } 3077 - 3078 -enum : uint { DNS_STATUS_CONTINUE_NEEDED = 9801 } 3079 - 3080 -enum : uint { DNS_ERROR_SETUP_BASE = 9850 } 3081 - 3082 -enum : uint { DNS_ERROR_NO_TCPIP = 9851 } 3083 - 3084 -enum : uint { DNS_ERROR_NO_DNS_SERVERS = 9852 } 3085 - 3086 -enum : uint { DNS_ERROR_DP_BASE = 9900 } 3087 - 3088 -enum : uint { DNS_ERROR_DP_DOES_NOT_EXIST = 9901 } 3089 - 3090 -enum : uint { DNS_ERROR_DP_ALREADY_EXISTS = 9902 } 3091 - 3092 -enum : uint { DNS_ERROR_DP_NOT_ENLISTED = 9903 } 3093 - 3094 -enum : uint { DNS_ERROR_DP_ALREADY_ENLISTED = 9904 } 3095 - 3096 -// #ifndef WSABASEERR 3097 -enum : uint { WSABASEERR = 10000 } 3098 - 3099 -enum : uint { WSAEINTR = 10004 } 3100 - 3101 -enum : uint { WSAEBADF = 10009 } 3102 - 3103 -enum : uint { WSAEACCES = 10013 } 3104 - 3105 -enum : uint { WSAEFAULT = 10014 } 3106 - 3107 -enum : uint { WSAEINVAL = 10022 } 3108 - 3109 -enum : uint { WSAEMFILE = 10024 } 3110 - 3111 -enum : uint { WSAEWOULDBLOCK = 10035 } 3112 - 3113 -enum : uint { WSAEINPROGRESS = 10036 } 3114 - 3115 -enum : uint { WSAEALREADY = 10037 } 3116 - 3117 -enum : uint { WSAENOTSOCK = 10038 } 3118 - 3119 -enum : uint { WSAEDESTADDRREQ = 10039 } 3120 - 3121 -enum : uint { WSAEMSGSIZE = 10040 } 3122 - 3123 -enum : uint { WSAEPROTOTYPE = 10041 } 3124 - 3125 -enum : uint { WSAENOPROTOOPT = 10042 } 3126 - 3127 -enum : uint { WSAEPROTONOSUPPORT = 10043 } 3128 - 3129 -enum : uint { WSAESOCKTNOSUPPORT = 10044 } 3130 - 3131 -enum : uint { WSAEOPNOTSUPP = 10045 } 3132 - 3133 -enum : uint { WSAEPFNOSUPPORT = 10046 } 3134 - 3135 -enum : uint { WSAEAFNOSUPPORT = 10047 } 3136 - 3137 -enum : uint { WSAEADDRINUSE = 10048 } 3138 - 3139 -enum : uint { WSAEADDRNOTAVAIL = 10049 } 3140 - 3141 -enum : uint { WSAENETDOWN = 10050 } 3142 - 3143 -enum : uint { WSAENETUNREACH = 10051 } 3144 - 3145 -enum : uint { WSAENETRESET = 10052 } 3146 - 3147 -enum : uint { WSAECONNABORTED = 10053 } 3148 - 3149 -enum : uint { WSAECONNRESET = 10054 } 3150 - 3151 -enum : uint { WSAENOBUFS = 10055 } 3152 - 3153 -enum : uint { WSAEISCONN = 10056 } 3154 - 3155 -enum : uint { WSAENOTCONN = 10057 } 3156 - 3157 -enum : uint { WSAESHUTDOWN = 10058 } 3158 - 3159 -enum : uint { WSAETOOMANYREFS = 10059 } 3160 - 3161 -enum : uint { WSAETIMEDOUT = 10060 } 3162 - 3163 -enum : uint { WSAECONNREFUSED = 10061 } 3164 - 3165 -enum : uint { WSAELOOP = 10062 } 3166 - 3167 -enum : uint { WSAENAMETOOLONG = 10063 } 3168 - 3169 -enum : uint { WSAEHOSTDOWN = 10064 } 3170 - 3171 -enum : uint { WSAEHOSTUNREACH = 10065 } 3172 - 3173 -enum : uint { WSAENOTEMPTY = 10066 } 3174 - 3175 -enum : uint { WSAEPROCLIM = 10067 } 3176 - 3177 -enum : uint { WSAEUSERS = 10068 } 3178 - 3179 -enum : uint { WSAEDQUOT = 10069 } 3180 - 3181 -enum : uint { WSAESTALE = 10070 } 3182 - 3183 -enum : uint { WSAEREMOTE = 10071 } 3184 - 3185 -enum : uint { WSASYSNOTREADY = 10091 } 3186 - 3187 -enum : uint { WSAVERNOTSUPPORTED = 10092 } 3188 - 3189 -enum : uint { WSANOTINITIALISED = 10093 } 3190 - 3191 -enum : uint { WSAEDISCON = 10101 } 3192 - 3193 -enum : uint { WSAENOMORE = 10102 } 3194 - 3195 -enum : uint { WSAECANCELLED = 10103 } 3196 - 3197 -enum : uint { WSAEINVALIDPROCTABLE = 10104 } 3198 - 3199 -enum : uint { WSAEINVALIDPROVIDER = 10105 } 3200 - 3201 -enum : uint { WSAEPROVIDERFAILEDINIT = 10106 } 3202 - 3203 -enum : uint { WSASYSCALLFAILURE = 10107 } 3204 - 3205 -enum : uint { WSASERVICE_NOT_FOUND = 10108 } 3206 - 3207 -enum : uint { WSATYPE_NOT_FOUND = 10109 } 3208 - 3209 -enum : uint { WSA_E_NO_MORE = 10110 } 3210 - 3211 -enum : uint { WSA_E_CANCELLED = 10111 } 3212 - 3213 -enum : uint { WSAEREFUSED = 10112 } 3214 - 3215 -enum : uint { WSAHOST_NOT_FOUND = 11001 } 3216 - 3217 -enum : uint { WSATRY_AGAIN = 11002 } 3218 - 3219 -enum : uint { WSANO_RECOVERY = 11003 } 3220 - 3221 -enum : uint { WSANO_DATA = 11004 } 3222 - 3223 -enum : uint { WSA_QOS_RECEIVERS = 11005 } 3224 - 3225 -enum : uint { WSA_QOS_SENDERS = 11006 } 3226 - 3227 -enum : uint { WSA_QOS_NO_SENDERS = 11007 } 3228 - 3229 -enum : uint { WSA_QOS_NO_RECEIVERS = 11008 } 3230 - 3231 -enum : uint { WSA_QOS_REQUEST_CONFIRMED = 11009 } 3232 - 3233 -enum : uint { WSA_QOS_ADMISSION_FAILURE = 11010 } 3234 - 3235 -enum : uint { WSA_QOS_POLICY_FAILURE = 11011 } 3236 - 3237 -enum : uint { WSA_QOS_BAD_STYLE = 11012 } 3238 - 3239 -enum : uint { WSA_QOS_BAD_OBJECT = 11013 } 3240 - 3241 -enum : uint { WSA_QOS_TRAFFIC_CTRL_ERROR = 11014 } 3242 - 3243 -enum : uint { WSA_QOS_GENERIC_ERROR = 11015 } 3244 - 3245 -enum : uint { WSA_QOS_ESERVICETYPE = 11016 } 3246 - 3247 -enum : uint { WSA_QOS_EFLOWSPEC = 11017 } 3248 - 3249 -enum : uint { WSA_QOS_EPROVSPECBUF = 11018 } 3250 - 3251 -enum : uint { WSA_QOS_EFILTERSTYLE = 11019 } 3252 - 3253 -enum : uint { WSA_QOS_EFILTERTYPE = 11020 } 3254 - 3255 -enum : uint { WSA_QOS_EFILTERCOUNT = 11021 } 3256 - 3257 -enum : uint { WSA_QOS_EOBJLENGTH = 11022 } 3258 - 3259 -enum : uint { WSA_QOS_EFLOWCOUNT = 11023 } 3260 - 3261 -enum : uint { WSA_QOS_EUNKOWNPSOBJ = 11024 } 3262 - 3263 -enum : uint { WSA_QOS_EPOLICYOBJ = 11025 } 3264 - 3265 -enum : uint { WSA_QOS_EFLOWDESC = 11026 } 3266 - 3267 -enum : uint { WSA_QOS_EPSFLOWSPEC = 11027 } 3268 - 3269 -enum : uint { WSA_QOS_EPSFILTERSPEC = 11028 } 3270 - 3271 -enum : uint { WSA_QOS_ESDMODEOBJ = 11029 } 3272 - 3273 -enum : uint { WSA_QOS_ESHAPERATEOBJ = 11030 } 3274 - 3275 -enum : uint { WSA_QOS_RESERVED_PETYPE = 11031 } 3276 - 3277 -// #endif // defined(WSABASEERR) 3278 - 3279 -enum : uint { ERROR_SXS_SECTION_NOT_FOUND = 14000 } 3280 - 3281 -enum : uint { ERROR_SXS_CANT_GEN_ACTCTX = 14001 } 3282 - 3283 -enum : uint { ERROR_SXS_INVALID_ACTCTXDATA_FORMAT = 14002 } 3284 - 3285 -enum : uint { ERROR_SXS_ASSEMBLY_NOT_FOUND = 14003 } 3286 - 3287 -enum : uint { ERROR_SXS_MANIFEST_FORMAT_ERROR = 14004 } 3288 - 3289 -enum : uint { ERROR_SXS_MANIFEST_PARSE_ERROR = 14005 } 3290 - 3291 -enum : uint { ERROR_SXS_ACTIVATION_CONTEXT_DISABLED = 14006 } 3292 - 3293 -enum : uint { ERROR_SXS_KEY_NOT_FOUND = 14007 } 3294 - 3295 -enum : uint { ERROR_SXS_VERSION_CONFLICT = 14008 } 3296 - 3297 -enum : uint { ERROR_SXS_WRONG_SECTION_TYPE = 14009 } 3298 - 3299 -enum : uint { ERROR_SXS_THREAD_QUERIES_DISABLED = 14010 } 3300 - 3301 -enum : uint { ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET = 14011 } 3302 - 3303 -enum : uint { ERROR_SXS_UNKNOWN_ENCODING_GROUP = 14012 } 3304 - 3305 -enum : uint { ERROR_SXS_UNKNOWN_ENCODING = 14013 } 3306 - 3307 -enum : uint { ERROR_SXS_INVALID_XML_NAMESPACE_URI = 14014 } 3308 - 3309 -enum : uint { ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14015 } 3310 - 3311 -enum : uint { ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED = 14016 } 3312 - 3313 -enum : uint { ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE = 14017 } 3314 - 3315 -enum : uint { ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE = 14018 } 3316 - 3317 -enum : uint { ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE = 14019 } 3318 - 3319 -enum : uint { ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT = 14020 } 3320 - 3321 -enum : uint { ERROR_SXS_DUPLICATE_DLL_NAME = 14021 } 3322 - 3323 -enum : uint { ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME = 14022 } 3324 - 3325 -enum : uint { ERROR_SXS_DUPLICATE_CLSID = 14023 } 3326 - 3327 -enum : uint { ERROR_SXS_DUPLICATE_IID = 14024 } 3328 - 3329 -enum : uint { ERROR_SXS_DUPLICATE_TLBID = 14025 } 3330 - 3331 -enum : uint { ERROR_SXS_DUPLICATE_PROGID = 14026 } 3332 - 3333 -enum : uint { ERROR_SXS_DUPLICATE_ASSEMBLY_NAME = 14027 } 3334 - 3335 -enum : uint { ERROR_SXS_FILE_HASH_MISMATCH = 14028 } 3336 - 3337 -enum : uint { ERROR_SXS_POLICY_PARSE_ERROR = 14029 } 3338 - 3339 -enum : uint { ERROR_SXS_XML_E_MISSINGQUOTE = 14030 } 3340 - 3341 -enum : uint { ERROR_SXS_XML_E_COMMENTSYNTAX = 14031 } 3342 - 3343 -enum : uint { ERROR_SXS_XML_E_BADSTARTNAMECHAR = 14032 } 3344 - 3345 -enum : uint { ERROR_SXS_XML_E_BADNAMECHAR = 14033 } 3346 - 3347 -enum : uint { ERROR_SXS_XML_E_BADCHARINSTRING = 14034 } 3348 - 3349 -enum : uint { ERROR_SXS_XML_E_XMLDECLSYNTAX = 14035 } 3350 - 3351 -enum : uint { ERROR_SXS_XML_E_BADCHARDATA = 14036 } 3352 - 3353 -enum : uint { ERROR_SXS_XML_E_MISSINGWHITESPACE = 14037 } 3354 - 3355 -enum : uint { ERROR_SXS_XML_E_EXPECTINGTAGEND = 14038 } 3356 - 3357 -enum : uint { ERROR_SXS_XML_E_MISSINGSEMICOLON = 14039 } 3358 - 3359 -enum : uint { ERROR_SXS_XML_E_UNBALANCEDPAREN = 14040 } 3360 - 3361 -enum : uint { ERROR_SXS_XML_E_INTERNALERROR = 14041 } 3362 - 3363 -enum : uint { ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE = 14042 } 3364 - 3365 -enum : uint { ERROR_SXS_XML_E_INCOMPLETE_ENCODING = 14043 } 3366 - 3367 -enum : uint { ERROR_SXS_XML_E_MISSING_PAREN = 14044 } 3368 - 3369 -enum : uint { ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE = 14045 } 3370 - 3371 -enum : uint { ERROR_SXS_XML_E_MULTIPLE_COLONS = 14046 } 3372 - 3373 -enum : uint { ERROR_SXS_XML_E_INVALID_DECIMAL = 14047 } 3374 - 3375 -enum : uint { ERROR_SXS_XML_E_INVALID_HEXIDECIMAL = 14048 } 3376 - 3377 -enum : uint { ERROR_SXS_XML_E_INVALID_UNICODE = 14049 } 3378 - 3379 -enum : uint { ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK = 14050 } 3380 - 3381 -enum : uint { ERROR_SXS_XML_E_UNEXPECTEDENDTAG = 14051 } 3382 - 3383 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDTAG = 14052 } 3384 - 3385 -enum : uint { ERROR_SXS_XML_E_DUPLICATEATTRIBUTE = 14053 } 3386 - 3387 -enum : uint { ERROR_SXS_XML_E_MULTIPLEROOTS = 14054 } 3388 - 3389 -enum : uint { ERROR_SXS_XML_E_INVALIDATROOTLEVEL = 14055 } 3390 - 3391 -enum : uint { ERROR_SXS_XML_E_BADXMLDECL = 14056 } 3392 - 3393 -enum : uint { ERROR_SXS_XML_E_MISSINGROOT = 14057 } 3394 - 3395 -enum : uint { ERROR_SXS_XML_E_UNEXPECTEDEOF = 14058 } 3396 - 3397 -enum : uint { ERROR_SXS_XML_E_BADPEREFINSUBSET = 14059 } 3398 - 3399 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDSTARTTAG = 14060 } 3400 - 3401 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDENDTAG = 14061 } 3402 - 3403 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDSTRING = 14062 } 3404 - 3405 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDCOMMENT = 14063 } 3406 - 3407 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDDECL = 14064 } 3408 - 3409 -enum : uint { ERROR_SXS_XML_E_UNCLOSEDCDATA = 14065 } 3410 - 3411 -enum : uint { ERROR_SXS_XML_E_RESERVEDNAMESPACE = 14066 } 3412 - 3413 -enum : uint { ERROR_SXS_XML_E_INVALIDENCODING = 14067 } 3414 - 3415 -enum : uint { ERROR_SXS_XML_E_INVALIDSWITCH = 14068 } 3416 - 3417 -enum : uint { ERROR_SXS_XML_E_BADXMLCASE = 14069 } 3418 - 3419 -enum : uint { ERROR_SXS_XML_E_INVALID_STANDALONE = 14070 } 3420 - 3421 -enum : uint { ERROR_SXS_XML_E_UNEXPECTED_STANDALONE = 14071 } 3422 - 3423 -enum : uint { ERROR_SXS_XML_E_INVALID_VERSION = 14072 } 3424 - 3425 -enum : uint { ERROR_SXS_XML_E_MISSINGEQUALS = 14073 } 3426 - 3427 -enum : uint { ERROR_SXS_PROTECTION_RECOVERY_FAILED = 14074 } 3428 - 3429 -enum : uint { ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT = 14075 } 3430 - 3431 -enum : uint { ERROR_SXS_PROTECTION_CATALOG_NOT_VALID = 14076 } 3432 - 3433 -enum : uint { ERROR_SXS_UNTRANSLATABLE_HRESULT = 14077 } 3434 - 3435 -enum : uint { ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING = 14078 } 3436 - 3437 -enum : uint { ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE = 14079 } 3438 - 3439 -enum : uint { ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME = 14080 } 3440 - 3441 -enum : uint { ERROR_IPSEC_QM_POLICY_EXISTS = 13000 } 3442 - 3443 -enum : uint { ERROR_IPSEC_QM_POLICY_NOT_FOUND = 13001 } 3444 - 3445 -enum : uint { ERROR_IPSEC_QM_POLICY_IN_USE = 13002 } 3446 - 3447 -enum : uint { ERROR_IPSEC_MM_POLICY_EXISTS = 13003 } 3448 - 3449 -enum : uint { ERROR_IPSEC_MM_POLICY_NOT_FOUND = 13004 } 3450 - 3451 -enum : uint { ERROR_IPSEC_MM_POLICY_IN_USE = 13005 } 3452 - 3453 -enum : uint { ERROR_IPSEC_MM_FILTER_EXISTS = 13006 } 3454 - 3455 -enum : uint { ERROR_IPSEC_MM_FILTER_NOT_FOUND = 13007 } 3456 - 3457 -enum : uint { ERROR_IPSEC_TRANSPORT_FILTER_EXISTS = 13008 } 3458 - 3459 -enum : uint { ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND = 13009 } 3460 - 3461 -enum : uint { ERROR_IPSEC_MM_AUTH_EXISTS = 13010 } 3462 - 3463 -enum : uint { ERROR_IPSEC_MM_AUTH_NOT_FOUND = 13011 } 3464 - 3465 -enum : uint { ERROR_IPSEC_MM_AUTH_IN_USE = 13012 } 3466 - 3467 -enum : uint { ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND = 13013 } 3468 - 3469 -enum : uint { ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND = 13014 } 3470 - 3471 -enum : uint { ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND = 13015 } 3472 - 3473 -enum : uint { ERROR_IPSEC_TUNNEL_FILTER_EXISTS = 13016 } 3474 - 3475 -enum : uint { ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND = 13017 } 3476 - 3477 -enum : uint { ERROR_IPSEC_MM_FILTER_PENDING_DELETION = 13018 } 3478 - 3479 -enum : uint { ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION = 13019 } 3480 - 3481 -enum : uint { ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION = 13020 } 3482 - 3483 -enum : uint { ERROR_IPSEC_MM_POLICY_PENDING_DELETION = 13021 } 3484 - 3485 -enum : uint { ERROR_IPSEC_MM_AUTH_PENDING_DELETION = 13022 } 3486 - 3487 -enum : uint { ERROR_IPSEC_QM_POLICY_PENDING_DELETION = 13023 } 3488 - 3489 -enum : uint { ERROR_IPSEC_IKE_NEG_STATUS_BEGIN = 13800 } 3490 - 3491 -enum : uint { ERROR_IPSEC_IKE_AUTH_FAIL = 13801 } 3492 - 3493 -enum : uint { ERROR_IPSEC_IKE_ATTRIB_FAIL = 13802 } 3494 - 3495 -enum : uint { ERROR_IPSEC_IKE_NEGOTIATION_PENDING = 13803 } 3496 - 3497 -enum : uint { ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR = 13804 } 3498 - 3499 -enum : uint { ERROR_IPSEC_IKE_TIMED_OUT = 13805 } 3500 - 3501 -enum : uint { ERROR_IPSEC_IKE_NO_CERT = 13806 } 3502 - 3503 -enum : uint { ERROR_IPSEC_IKE_SA_DELETED = 13807 } 3504 - 3505 -enum : uint { ERROR_IPSEC_IKE_SA_REAPED = 13808 } 3506 - 3507 -enum : uint { ERROR_IPSEC_IKE_MM_ACQUIRE_DROP = 13809 } 3508 - 3509 -enum : uint { ERROR_IPSEC_IKE_QM_ACQUIRE_DROP = 13810 } 3510 - 3511 -enum : uint { ERROR_IPSEC_IKE_QUEUE_DROP_MM = 13811 } 3512 - 3513 -enum : uint { ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM = 13812 } 3514 - 3515 -enum : uint { ERROR_IPSEC_IKE_DROP_NO_RESPONSE = 13813 } 3516 - 3517 -enum : uint { ERROR_IPSEC_IKE_MM_DELAY_DROP = 13814 } 3518 - 3519 -enum : uint { ERROR_IPSEC_IKE_QM_DELAY_DROP = 13815 } 3520 - 3521 -enum : uint { ERROR_IPSEC_IKE_ERROR = 13816 } 3522 - 3523 -enum : uint { ERROR_IPSEC_IKE_CRL_FAILED = 13817 } 3524 - 3525 -enum : uint { ERROR_IPSEC_IKE_INVALID_KEY_USAGE = 13818 } 3526 - 3527 -enum : uint { ERROR_IPSEC_IKE_INVALID_CERT_TYPE = 13819 } 3528 - 3529 -enum : uint { ERROR_IPSEC_IKE_NO_PRIVATE_KEY = 13820 } 3530 - 3531 -enum : uint { ERROR_IPSEC_IKE_DH_FAIL = 13822 } 3532 - 3533 -enum : uint { ERROR_IPSEC_IKE_INVALID_HEADER = 13824 } 3534 - 3535 -enum : uint { ERROR_IPSEC_IKE_NO_POLICY = 13825 } 3536 - 3537 -enum : uint { ERROR_IPSEC_IKE_INVALID_SIGNATURE = 13826 } 3538 - 3539 -enum : uint { ERROR_IPSEC_IKE_KERBEROS_ERROR = 13827 } 3540 - 3541 -enum : uint { ERROR_IPSEC_IKE_NO_PUBLIC_KEY = 13828 } 3542 - 3543 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR = 13829 } 3544 - 3545 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_SA = 13830 } 3546 - 3547 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_PROP = 13831 } 3548 - 3549 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_TRANS = 13832 } 3550 - 3551 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_KE = 13833 } 3552 - 3553 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_ID = 13834 } 3554 - 3555 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_CERT = 13835 } 3556 - 3557 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ = 13836 } 3558 - 3559 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_HASH = 13837 } 3560 - 3561 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_SIG = 13838 } 3562 - 3563 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_NONCE = 13839 } 3564 - 3565 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY = 13840 } 3566 - 3567 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_DELETE = 13841 } 3568 - 3569 -enum : uint { ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR = 13842 } 3570 - 3571 -enum : uint { ERROR_IPSEC_IKE_INVALID_PAYLOAD = 13843 } 3572 - 3573 -enum : uint { ERROR_IPSEC_IKE_LOAD_SOFT_SA = 13844 } 3574 - 3575 -enum : uint { ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN = 13845 } 3576 - 3577 -enum : uint { ERROR_IPSEC_IKE_INVALID_COOKIE = 13846 } 3578 - 3579 -enum : uint { ERROR_IPSEC_IKE_NO_PEER_CERT = 13847 } 3580 - 3581 -enum : uint { ERROR_IPSEC_IKE_PEER_CRL_FAILED = 13848 } 3582 - 3583 -enum : uint { ERROR_IPSEC_IKE_POLICY_CHANGE = 13849 } 3584 - 3585 -enum : uint { ERROR_IPSEC_IKE_NO_MM_POLICY = 13850 } 3586 - 3587 -enum : uint { ERROR_IPSEC_IKE_NOTCBPRIV = 13851 } 3588 - 3589 -enum : uint { ERROR_IPSEC_IKE_SECLOADFAIL = 13852 } 3590 - 3591 -enum : uint { ERROR_IPSEC_IKE_FAILSSPINIT = 13853 } 3592 - 3593 -enum : uint { ERROR_IPSEC_IKE_FAILQUERYSSP = 13854 } 3594 - 3595 -enum : uint { ERROR_IPSEC_IKE_SRVACQFAIL = 13855 } 3596 - 3597 -enum : uint { ERROR_IPSEC_IKE_SRVQUERYCRED = 13856 } 3598 - 3599 -enum : uint { ERROR_IPSEC_IKE_GETSPIFAIL = 13857 } 3600 - 3601 -enum : uint { ERROR_IPSEC_IKE_INVALID_FILTER = 13858 } 3602 - 3603 -enum : uint { ERROR_IPSEC_IKE_OUT_OF_MEMORY = 13859 } 3604 - 3605 -enum : uint { ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED = 13860 } 3606 - 3607 -enum : uint { ERROR_IPSEC_IKE_INVALID_POLICY = 13861 } 3608 - 3609 -enum : uint { ERROR_IPSEC_IKE_UNKNOWN_DOI = 13862 } 3610 - 3611 -enum : uint { ERROR_IPSEC_IKE_INVALID_SITUATION = 13863 } 3612 - 3613 -enum : uint { ERROR_IPSEC_IKE_DH_FAILURE = 13864 } 3614 - 3615 -enum : uint { ERROR_IPSEC_IKE_INVALID_GROUP = 13865 } 3616 - 3617 -enum : uint { ERROR_IPSEC_IKE_ENCRYPT = 13866 } 3618 - 3619 -enum : uint { ERROR_IPSEC_IKE_DECRYPT = 13867 } 3620 - 3621 -enum : uint { ERROR_IPSEC_IKE_POLICY_MATCH = 13868 } 3622 - 3623 -enum : uint { ERROR_IPSEC_IKE_UNSUPPORTED_ID = 13869 } 3624 - 3625 -enum : uint { ERROR_IPSEC_IKE_INVALID_HASH = 13870 } 3626 - 3627 -enum : uint { ERROR_IPSEC_IKE_INVALID_HASH_ALG = 13871 } 3628 - 3629 -enum : uint { ERROR_IPSEC_IKE_INVALID_HASH_SIZE = 13872 } 3630 - 3631 -enum : uint { ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG = 13873 } 3632 - 3633 -enum : uint { ERROR_IPSEC_IKE_INVALID_AUTH_ALG = 13874 } 3634 - 3635 -enum : uint { ERROR_IPSEC_IKE_INVALID_SIG = 13875 } 3636 - 3637 -enum : uint { ERROR_IPSEC_IKE_LOAD_FAILED = 13876 } 3638 - 3639 -enum : uint { ERROR_IPSEC_IKE_RPC_DELETE = 13877 } 3640 - 3641 -enum : uint { ERROR_IPSEC_IKE_BENIGN_REINIT = 13878 } 3642 - 3643 -enum : uint { ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY = 13879 } 3644 - 3645 -enum : uint { ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN = 13881 } 3646 - 3647 -enum : uint { ERROR_IPSEC_IKE_MM_LIMIT = 13882 } 3648 - 3649 -enum : uint { ERROR_IPSEC_IKE_NEGOTIATION_DISABLED = 13883 } 3650 - 3651 -enum : uint { ERROR_IPSEC_IKE_NEG_STATUS_END = 13884 } 3652 - 3653 -enum : uint { SEVERITY_SUCCESS = 0 } 3654 -enum : uint { SEVERITY_ERROR = 1 } 3655 - 3656 -bit SUCCEEDED(HRESULT Status){ return Status >= 0; } 3657 - 3658 -bit FAILED(HRESULT Status){ return Status < 0; } 3659 - 3660 -// #define IS_ERROR(Status) ((unsigned long)(Status) >> 31 == SEVERITY_ERROR) 3661 - 3662 -// #define HRESULT_CODE(hr) ((hr) & 0xFFFF) 3663 -// #define SCODE_CODE(sc) ((sc) & 0xFFFF) 3664 - 3665 -// #define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff) 3666 -// #define SCODE_FACILITY(sc) (((sc) >> 16) & 0x1fff) 3667 - 3668 -// #define HRESULT_SEVERITY(hr) (((hr) >> 31) & 0x1) 3669 -// #define SCODE_SEVERITY(sc) (((sc) >> 31) & 0x1) 3670 - 3671 -// #define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) 3672 -// #define MAKE_SCODE(sev,fac,code) ((SCODE) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) ) 3673 - 3674 -enum : uint { FACILITY_NT_BIT = 0x10000000 } 3675 - 3676 -// #define __HRESULT_FROM_WIN32(x) ((HRESULT)(x) <= 0 ? ((HRESULT)(x)) : ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000))) 3677 - 3678 -// #ifdef INLINE_HRESULT_FROM_WIN32 3679 -// #ifndef _HRESULT_DEFINED 3680 -// #... 3681 -// ... 3682 -// #endif 3683 -// #ifndef __midl 3684 -// ... 3685 -// #else 3686 -// #... 3687 -// #endif 3688 -// #else 3689 -// #define HRESULT_FROM_WIN32(x) __HRESULT_FROM_WIN32(x) 3690 -// #endif 3691 - 3692 -// #define HRESULT_FROM_NT(x) ((HRESULT) ((x) | FACILITY_NT_BIT)) 3693 - 3694 -// #define GetScode(hr) ((SCODE) (hr)) 3695 - 3696 -// #define ResultFromScode(sc) ((HRESULT) (sc)) 3697 - 3698 -// #define PropagateResult(hrPrevious, scBase) ((HRESULT) scBase) 3699 - 3700 -// #ifdef RC_INVOKED 3701 -// #... 3702 -// #else // RC_INVOKED 3703 -// #define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc) 3704 -// #endif // RC_INVOKED 3705 - 3706 -enum : uint { NOERROR = 0 } 3707 - 3708 -enum : HRESULT { E_UNEXPECTED = cast(HRESULT)0x8000FFFFL } 3709 - 3710 -// #if defined(_WIN32) && !defined(_MAC) 3711 - 3712 -enum : HRESULT { E_NOTIMPL = cast(HRESULT)0x80004001L } 3713 - 3714 -enum : HRESULT { E_OUTOFMEMORY = cast(HRESULT)0x8007000EL } 3715 - 3716 -enum : HRESULT { E_INVALIDARG = cast(HRESULT)0x80070057L } 3717 - 3718 -enum : HRESULT { E_NOINTERFACE = cast(HRESULT)0x80004002L } 3719 - 3720 -enum : HRESULT { E_POINTER = cast(HRESULT)0x80004003L } 3721 - 3722 -enum : HRESULT { E_HANDLE = cast(HRESULT)0x80070006L } 3723 - 3724 -enum : HRESULT { E_ABORT = cast(HRESULT)0x80004004L } 3725 - 3726 -enum : HRESULT { E_FAIL = cast(HRESULT)0x80004005L } 3727 - 3728 -enum : HRESULT { E_ACCESSDENIED = cast(HRESULT)0x80070005L } 3729 - 3730 -// #else 3731 - 3732 -// #... 3733 - 3734 -// #... 3735 - 3736 -// #... 3737 - 3738 -// #... 3739 - 3740 -// #... 3741 - 3742 -// #... 3743 - 3744 -// #... 3745 - 3746 -// #... 3747 - 3748 -// #... 3749 - 3750 -// #endif //WIN32 3751 - 3752 -enum : HRESULT { E_PENDING = cast(HRESULT)0x8000000AL } 3753 - 3754 -enum : HRESULT { CO_E_INIT_TLS = cast(HRESULT)0x80004006L } 3755 - 3756 -enum : HRESULT { CO_E_INIT_SHARED_ALLOCATOR = cast(HRESULT)0x80004007L } 3757 - 3758 -enum : HRESULT { CO_E_INIT_MEMORY_ALLOCATOR = cast(HRESULT)0x80004008L } 3759 - 3760 -enum : HRESULT { CO_E_INIT_CLASS_CACHE = cast(HRESULT)0x80004009L } 3761 - 3762 -enum : HRESULT { CO_E_INIT_RPC_CHANNEL = cast(HRESULT)0x8000400AL } 3763 - 3764 -enum : HRESULT { CO_E_INIT_TLS_SET_CHANNEL_CONTROL = cast(HRESULT)0x8000400BL } 3765 - 3766 -enum : HRESULT { CO_E_INIT_TLS_CHANNEL_CONTROL = cast(HRESULT)0x8000400CL } 3767 - 3768 -enum : HRESULT { CO_E_INIT_UNACCEPTED_USER_ALLOCATOR = cast(HRESULT)0x8000400DL } 3769 - 3770 -enum : HRESULT { CO_E_INIT_SCM_MUTEX_EXISTS = cast(HRESULT)0x8000400EL } 3771 - 3772 -enum : HRESULT { CO_E_INIT_SCM_FILE_MAPPING_EXISTS = cast(HRESULT)0x8000400FL } 3773 - 3774 -enum : HRESULT { CO_E_INIT_SCM_MAP_VIEW_OF_FILE = cast(HRESULT)0x80004010L } 3775 - 3776 -enum : HRESULT { CO_E_INIT_SCM_EXEC_FAILURE = cast(HRESULT)0x80004011L } 3777 - 3778 -enum : HRESULT { CO_E_INIT_ONLY_SINGLE_THREADED = cast(HRESULT)0x80004012L } 3779 - 3780 -enum : HRESULT { CO_E_CANT_REMOTE = cast(HRESULT)0x80004013L } 3781 - 3782 -enum : HRESULT { CO_E_BAD_SERVER_NAME = cast(HRESULT)0x80004014L } 3783 - 3784 -enum : HRESULT { CO_E_WRONG_SERVER_IDENTITY = cast(HRESULT)0x80004015L } 3785 - 3786 -enum : HRESULT { CO_E_OLE1DDE_DISABLED = cast(HRESULT)0x80004016L } 3787 - 3788 -enum : HRESULT { CO_E_RUNAS_SYNTAX = cast(HRESULT)0x80004017L } 3789 - 3790 -enum : HRESULT { CO_E_CREATEPROCESS_FAILURE = cast(HRESULT)0x80004018L } 3791 - 3792 -enum : HRESULT { CO_E_RUNAS_CREATEPROCESS_FAILURE = cast(HRESULT)0x80004019L } 3793 - 3794 -enum : HRESULT { CO_E_RUNAS_LOGON_FAILURE = cast(HRESULT)0x8000401AL } 3795 - 3796 -enum : HRESULT { CO_E_LAUNCH_PERMSSION_DENIED = cast(HRESULT)0x8000401BL } 3797 - 3798 -enum : HRESULT { CO_E_START_SERVICE_FAILURE = cast(HRESULT)0x8000401CL } 3799 - 3800 -enum : HRESULT { CO_E_REMOTE_COMMUNICATION_FAILURE = cast(HRESULT)0x8000401DL } 3801 - 3802 -enum : HRESULT { CO_E_SERVER_START_TIMEOUT = cast(HRESULT)0x8000401EL } 3803 - 3804 -enum : HRESULT { CO_E_CLSREG_INCONSISTENT = cast(HRESULT)0x8000401FL } 3805 - 3806 -enum : HRESULT { CO_E_IIDREG_INCONSISTENT = cast(HRESULT)0x80004020L } 3807 - 3808 -enum : HRESULT { CO_E_NOT_SUPPORTED = cast(HRESULT)0x80004021L } 3809 - 3810 -enum : HRESULT { CO_E_RELOAD_DLL = cast(HRESULT)0x80004022L } 3811 - 3812 -enum : HRESULT { CO_E_MSI_ERROR = cast(HRESULT)0x80004023L } 3813 - 3814 -enum : HRESULT { CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT = cast(HRESULT)0x80004024L } 3815 - 3816 -enum : HRESULT { CO_E_SERVER_PAUSED = cast(HRESULT)0x80004025L } 3817 - 3818 -enum : HRESULT { CO_E_SERVER_NOT_PAUSED = cast(HRESULT)0x80004026L } 3819 - 3820 -enum : HRESULT { CO_E_CLASS_DISABLED = cast(HRESULT)0x80004027L } 3821 - 3822 -enum : HRESULT { CO_E_CLRNOTAVAILABLE = cast(HRESULT)0x80004028L } 3823 - 3824 -enum : HRESULT { CO_E_ASYNC_WORK_REJECTED = cast(HRESULT)0x80004029L } 3825 - 3826 -enum : HRESULT { CO_E_SERVER_INIT_TIMEOUT = cast(HRESULT)0x8000402AL } 3827 - 3828 -enum : HRESULT { CO_E_NO_SECCTX_IN_ACTIVATE = cast(HRESULT)0x8000402BL } 3829 - 3830 -enum : HRESULT { CO_E_TRACKER_CONFIG = cast(HRESULT)0x80004030L } 3831 - 3832 -enum : HRESULT { CO_E_THREADPOOL_CONFIG = cast(HRESULT)0x80004031L } 3833 - 3834 -enum : HRESULT { CO_E_SXS_CONFIG = cast(HRESULT)0x80004032L } 3835 - 3836 -enum : HRESULT { CO_E_MALFORMED_SPN = cast(HRESULT)0x80004033L } 3837 - 3838 -enum : HRESULT { S_OK = cast(HRESULT)0x00000000 } 3839 -enum : HRESULT { S_FALSE = cast(HRESULT)0x00000001 } 3840 - 3841 -enum : HRESULT { OLE_E_FIRST = cast(HRESULT)0x80040000 } 3842 -enum : HRESULT { OLE_E_LAST = cast(HRESULT)0x800400FF } 3843 -enum : HRESULT { OLE_S_FIRST = cast(HRESULT)0x00040000 } 3844 -enum : HRESULT { OLE_S_LAST = cast(HRESULT)0x000400FF } 3845 - 3846 -enum : HRESULT { OLE_E_OLEVERB = cast(HRESULT)0x80040000L } 3847 - 3848 -enum : HRESULT { OLE_E_ADVF = cast(HRESULT)0x80040001L } 3849 - 3850 -enum : HRESULT { OLE_E_ENUM_NOMORE = cast(HRESULT)0x80040002L } 3851 - 3852 -enum : HRESULT { OLE_E_ADVISENOTSUPPORTED = cast(HRESULT)0x80040003L } 3853 - 3854 -enum : HRESULT { OLE_E_NOCONNECTION = cast(HRESULT)0x80040004L } 3855 - 3856 -enum : HRESULT { OLE_E_NOTRUNNING = cast(HRESULT)0x80040005L } 3857 - 3858 -enum : HRESULT { OLE_E_NOCACHE = cast(HRESULT)0x80040006L } 3859 - 3860 -enum : HRESULT { OLE_E_BLANK = cast(HRESULT)0x80040007L } 3861 - 3862 -enum : HRESULT { OLE_E_CLASSDIFF = cast(HRESULT)0x80040008L } 3863 - 3864 -enum : HRESULT { OLE_E_CANT_GETMONIKER = cast(HRESULT)0x80040009L } 3865 - 3866 -enum : HRESULT { OLE_E_CANT_BINDTOSOURCE = cast(HRESULT)0x8004000AL } 3867 - 3868 -enum : HRESULT { OLE_E_STATIC = cast(HRESULT)0x8004000BL } 3869 - 3870 -enum : HRESULT { OLE_E_PROMPTSAVECANCELLED = cast(HRESULT)0x8004000CL } 3871 - 3872 -enum : HRESULT { OLE_E_INVALIDRECT = cast(HRESULT)0x8004000DL } 3873 - 3874 -enum : HRESULT { OLE_E_WRONGCOMPOBJ = cast(HRESULT)0x8004000EL } 3875 - 3876 -enum : HRESULT { OLE_E_INVALIDHWND = cast(HRESULT)0x8004000FL } 3877 - 3878 -enum : HRESULT { OLE_E_NOT_INPLACEACTIVE = cast(HRESULT)0x80040010L } 3879 - 3880 -enum : HRESULT { OLE_E_CANTCONVERT = cast(HRESULT)0x80040011L } 3881 - 3882 -enum : HRESULT { OLE_E_NOSTORAGE = cast(HRESULT)0x80040012L } 3883 - 3884 -enum : HRESULT { DV_E_FORMATETC = cast(HRESULT)0x80040064L } 3885 - 3886 -enum : HRESULT { DV_E_DVTARGETDEVICE = cast(HRESULT)0x80040065L } 3887 - 3888 -enum : HRESULT { DV_E_STGMEDIUM = cast(HRESULT)0x80040066L } 3889 - 3890 -enum : HRESULT { DV_E_STATDATA = cast(HRESULT)0x80040067L } 3891 - 3892 -enum : HRESULT { DV_E_LINDEX = cast(HRESULT)0x80040068L } 3893 - 3894 -enum : HRESULT { DV_E_TYMED = cast(HRESULT)0x80040069L } 3895 - 3896 -enum : HRESULT { DV_E_CLIPFORMAT = cast(HRESULT)0x8004006AL } 3897 - 3898 -enum : HRESULT { DV_E_DVASPECT = cast(HRESULT)0x8004006BL } 3899 - 3900 -enum : HRESULT { DV_E_DVTARGETDEVICE_SIZE = cast(HRESULT)0x8004006CL } 3901 - 3902 -enum : HRESULT { DV_E_NOIVIEWOBJECT = cast(HRESULT)0x8004006DL } 3903 - 3904 -enum : uint { DRAGDROP_E_FIRST = 0x80040100 } 3905 -enum : uint { DRAGDROP_E_LAST = 0x8004010F } 3906 -enum : uint { DRAGDROP_S_FIRST = 0x00040100 } 3907 -enum : uint { DRAGDROP_S_LAST = 0x0004010F } 3908 - 3909 -enum : HRESULT { DRAGDROP_E_NOTREGISTERED = cast(HRESULT)0x80040100L } 3910 - 3911 -enum : HRESULT { DRAGDROP_E_ALREADYREGISTERED = cast(HRESULT)0x80040101L } 3912 - 3913 -enum : HRESULT { DRAGDROP_E_INVALIDHWND = cast(HRESULT)0x80040102L } 3914 - 3915 -enum : uint { CLASSFACTORY_E_FIRST = 0x80040110 } 3916 -enum : uint { CLASSFACTORY_E_LAST = 0x8004011F } 3917 -enum : uint { CLASSFACTORY_S_FIRST = 0x00040110 } 3918 -enum : uint { CLASSFACTORY_S_LAST = 0x0004011F } 3919 - 3920 -enum : HRESULT { CLASS_E_NOAGGREGATION = cast(HRESULT)0x80040110L } 3921 - 3922 -enum : HRESULT { CLASS_E_CLASSNOTAVAILABLE = cast(HRESULT)0x80040111L } 3923 - 3924 -enum : HRESULT { CLASS_E_NOTLICENSED = cast(HRESULT)0x80040112L } 3925 - 3926 -enum : uint { MARSHAL_E_FIRST = 0x80040120 } 3927 -enum : uint { MARSHAL_E_LAST = 0x8004012F } 3928 -enum : uint { MARSHAL_S_FIRST = 0x00040120 } 3929 -enum : uint { MARSHAL_S_LAST = 0x0004012F } 3930 -enum : uint { DATA_E_FIRST = 0x80040130 } 3931 -enum : uint { DATA_E_LAST = 0x8004013F } 3932 -enum : uint { DATA_S_FIRST = 0x00040130 } 3933 -enum : uint { DATA_S_LAST = 0x0004013F } 3934 -enum : uint { VIEW_E_FIRST = 0x80040140 } 3935 -enum : uint { VIEW_E_LAST = 0x8004014F } 3936 -enum : uint { VIEW_S_FIRST = 0x00040140 } 3937 -enum : uint { VIEW_S_LAST = 0x0004014F } 3938 - 3939 -enum : HRESULT { VIEW_E_DRAW = cast(HRESULT)0x80040140L } 3940 - 3941 -enum : uint { REGDB_E_FIRST = 0x80040150 } 3942 -enum : uint { REGDB_E_LAST = 0x8004015F } 3943 -enum : uint { REGDB_S_FIRST = 0x00040150 } 3944 -enum : uint { REGDB_S_LAST = 0x0004015F } 3945 - 3946 -enum : HRESULT { REGDB_E_READREGDB = cast(HRESULT)0x80040150L } 3947 - 3948 -enum : HRESULT { REGDB_E_WRITEREGDB = cast(HRESULT)0x80040151L } 3949 - 3950 -enum : HRESULT { REGDB_E_KEYMISSING = cast(HRESULT)0x80040152L } 3951 - 3952 -enum : HRESULT { REGDB_E_INVALIDVALUE = cast(HRESULT)0x80040153L } 3953 - 3954 -enum : HRESULT { REGDB_E_CLASSNOTREG = cast(HRESULT)0x80040154L } 3955 - 3956 -enum : HRESULT { REGDB_E_IIDNOTREG = cast(HRESULT)0x80040155L } 3957 - 3958 -enum : HRESULT { REGDB_E_BADTHREADINGMODEL = cast(HRESULT)0x80040156L } 3959 - 3960 -enum : uint { CAT_E_FIRST = 0x80040160 } 3961 -enum : uint { CAT_E_LAST = 0x80040161 } 3962 - 3963 -enum : HRESULT { CAT_E_CATIDNOEXIST = cast(HRESULT)0x80040160L } 3964 - 3965 -enum : HRESULT { CAT_E_NODESCRIPTION = cast(HRESULT)0x80040161L } 3966 - 3967 -enum : uint { CS_E_FIRST = 0x80040164 } 3968 -enum : uint { CS_E_LAST = 0x8004016F } 3969 - 3970 -enum : HRESULT { CS_E_PACKAGE_NOTFOUND = cast(HRESULT)0x80040164L } 3971 - 3972 -enum : HRESULT { CS_E_NOT_DELETABLE = cast(HRESULT)0x80040165L } 3973 - 3974 -enum : HRESULT { CS_E_CLASS_NOTFOUND = cast(HRESULT)0x80040166L } 3975 - 3976 -enum : HRESULT { CS_E_INVALID_VERSION = cast(HRESULT)0x80040167L } 3977 - 3978 -enum : HRESULT { CS_E_NO_CLASSSTORE = cast(HRESULT)0x80040168L } 3979 - 3980 -enum : HRESULT { CS_E_OBJECT_NOTFOUND = cast(HRESULT)0x80040169L } 3981 - 3982 -enum : HRESULT { CS_E_OBJECT_ALREADY_EXISTS = cast(HRESULT)0x8004016AL } 3983 - 3984 -enum : HRESULT { CS_E_INVALID_PATH = cast(HRESULT)0x8004016BL } 3985 - 3986 -enum : HRESULT { CS_E_NETWORK_ERROR = cast(HRESULT)0x8004016CL } 3987 - 3988 -enum : HRESULT { CS_E_ADMIN_LIMIT_EXCEEDED = cast(HRESULT)0x8004016DL } 3989 - 3990 -enum : HRESULT { CS_E_SCHEMA_MISMATCH = cast(HRESULT)0x8004016EL } 3991 - 3992 -enum : HRESULT { CS_E_INTERNAL_ERROR = cast(HRESULT)0x8004016FL } 3993 - 3994 -enum : uint { CACHE_E_FIRST = 0x80040170 } 3995 -enum : uint { CACHE_E_LAST = 0x8004017F } 3996 -enum : uint { CACHE_S_FIRST = 0x00040170 } 3997 -enum : uint { CACHE_S_LAST = 0x0004017F } 3998 - 3999 -enum : HRESULT { CACHE_E_NOCACHE_UPDATED = cast(HRESULT)0x80040170L } 4000 - 4001 -enum : uint { OLEOBJ_E_FIRST = 0x80040180 } 4002 -enum : uint { OLEOBJ_E_LAST = 0x8004018F } 4003 -enum : uint { OLEOBJ_S_FIRST = 0x00040180 } 4004 -enum : uint { OLEOBJ_S_LAST = 0x0004018F } 4005 - 4006 -enum : HRESULT { OLEOBJ_E_NOVERBS = cast(HRESULT)0x80040180L } 4007 - 4008 -enum : HRESULT { OLEOBJ_E_INVALIDVERB = cast(HRESULT)0x80040181L } 4009 - 4010 -enum : uint { CLIENTSITE_E_FIRST = 0x80040190 } 4011 -enum : uint { CLIENTSITE_E_LAST = 0x8004019F } 4012 -enum : uint { CLIENTSITE_S_FIRST = 0x00040190 } 4013 -enum : uint { CLIENTSITE_S_LAST = 0x0004019F } 4014 - 4015 -enum : HRESULT { INPLACE_E_NOTUNDOABLE = cast(HRESULT)0x800401A0L } 4016 - 4017 -enum : HRESULT { INPLACE_E_NOTOOLSPACE = cast(HRESULT)0x800401A1L } 4018 - 4019 -enum : uint { INPLACE_E_FIRST = 0x800401A0 } 4020 -enum : uint { INPLACE_E_LAST = 0x800401AF } 4021 -enum : uint { INPLACE_S_FIRST = 0x000401A0 } 4022 -enum : uint { INPLACE_S_LAST = 0x000401AF } 4023 -enum : uint { ENUM_E_FIRST = 0x800401B0 } 4024 -enum : uint { ENUM_E_LAST = 0x800401BF } 4025 -enum : uint { ENUM_S_FIRST = 0x000401B0 } 4026 -enum : uint { ENUM_S_LAST = 0x000401BF } 4027 -enum : uint { CONVERT10_E_FIRST = 0x800401C0 } 4028 -enum : uint { CONVERT10_E_LAST = 0x800401CF } 4029 -enum : uint { CONVERT10_S_FIRST = 0x000401C0 } 4030 -enum : uint { CONVERT10_S_LAST = 0x000401CF } 4031 - 4032 -enum : HRESULT { CONVERT10_E_OLESTREAM_GET = cast(HRESULT)0x800401C0L } 4033 - 4034 -enum : HRESULT { CONVERT10_E_OLESTREAM_PUT = cast(HRESULT)0x800401C1L } 4035 - 4036 -enum : HRESULT { CONVERT10_E_OLESTREAM_FMT = cast(HRESULT)0x800401C2L } 4037 - 4038 -enum : HRESULT { CONVERT10_E_OLESTREAM_BITMAP_TO_DIB = cast(HRESULT)0x800401C3L } 4039 - 4040 -enum : HRESULT { CONVERT10_E_STG_FMT = cast(HRESULT)0x800401C4L } 4041 - 4042 -enum : HRESULT { CONVERT10_E_STG_NO_STD_STREAM = cast(HRESULT)0x800401C5L } 4043 - 4044 -enum : HRESULT { CONVERT10_E_STG_DIB_TO_BITMAP = cast(HRESULT)0x800401C6L } 4045 - 4046 -enum : uint { CLIPBRD_E_FIRST = 0x800401D0 } 4047 -enum : uint { CLIPBRD_E_LAST = 0x800401DF } 4048 -enum : uint { CLIPBRD_S_FIRST = 0x000401D0 } 4049 -enum : uint { CLIPBRD_S_LAST = 0x000401DF } 4050 - 4051 -enum : HRESULT { CLIPBRD_E_CANT_OPEN = cast(HRESULT)0x800401D0L } 4052 - 4053 -enum : HRESULT { CLIPBRD_E_CANT_EMPTY = cast(HRESULT)0x800401D1L } 4054 - 4055 -enum : HRESULT { CLIPBRD_E_CANT_SET = cast(HRESULT)0x800401D2L } 4056 - 4057 -enum : HRESULT { CLIPBRD_E_BAD_DATA = cast(HRESULT)0x800401D3L } 4058 - 4059 -enum : HRESULT { CLIPBRD_E_CANT_CLOSE = cast(HRESULT)0x800401D4L } 4060 - 4061 -enum : uint { MK_E_FIRST = 0x800401E0 } 4062 -enum : uint { MK_E_LAST = 0x800401EF } 4063 -enum : uint { MK_S_FIRST = 0x000401E0 } 4064 -enum : uint { MK_S_LAST = 0x000401EF } 4065 - 4066 -enum : HRESULT { MK_E_CONNECTMANUALLY = cast(HRESULT)0x800401E0L } 4067 - 4068 -enum : HRESULT { MK_E_EXCEEDEDDEADLINE = cast(HRESULT)0x800401E1L } 4069 - 4070 -enum : HRESULT { MK_E_NEEDGENERIC = cast(HRESULT)0x800401E2L } 4071 - 4072 -enum : HRESULT { MK_E_UNAVAILABLE = cast(HRESULT)0x800401E3L } 4073 - 4074 -enum : HRESULT { MK_E_SYNTAX = cast(HRESULT)0x800401E4L } 4075 - 4076 -enum : HRESULT { MK_E_NOOBJECT = cast(HRESULT)0x800401E5L } 4077 - 4078 -enum : HRESULT { MK_E_INVALIDEXTENSION = cast(HRESULT)0x800401E6L } 4079 - 4080 -enum : HRESULT { MK_E_INTERMEDIATEINTERFACENOTSUPPORTED = cast(HRESULT)0x800401E7L } 4081 - 4082 -enum : HRESULT { MK_E_NOTBINDABLE = cast(HRESULT)0x800401E8L } 4083 - 4084 -enum : HRESULT { MK_E_NOTBOUND = cast(HRESULT)0x800401E9L } 4085 - 4086 -enum : HRESULT { MK_E_CANTOPENFILE = cast(HRESULT)0x800401EAL } 4087 - 4088 -enum : HRESULT { MK_E_MUSTBOTHERUSER = cast(HRESULT)0x800401EBL } 4089 - 4090 -enum : HRESULT { MK_E_NOINVERSE = cast(HRESULT)0x800401ECL } 4091 - 4092 -enum : HRESULT { MK_E_NOSTORAGE = cast(HRESULT)0x800401EDL } 4093 - 4094 -enum : HRESULT { MK_E_NOPREFIX = cast(HRESULT)0x800401EEL } 4095 - 4096 -enum : HRESULT { MK_E_ENUMERATION_FAILED = cast(HRESULT)0x800401EFL } 4097 - 4098 -enum : uint { CO_E_FIRST = 0x800401F0 } 4099 -enum : uint { CO_E_LAST = 0x800401FF } 4100 -enum : uint { CO_S_FIRST = 0x000401F0 } 4101 -enum : uint { CO_S_LAST = 0x000401FF } 4102 - 4103 -enum : HRESULT { CO_E_NOTINITIALIZED = cast(HRESULT)0x800401F0L } 4104 - 4105 -enum : HRESULT { CO_E_ALREADYINITIALIZED = cast(HRESULT)0x800401F1L } 4106 - 4107 -enum : HRESULT { CO_E_CANTDETERMINECLASS = cast(HRESULT)0x800401F2L } 4108 - 4109 -enum : HRESULT { CO_E_CLASSSTRING = cast(HRESULT)0x800401F3L } 4110 - 4111 -enum : HRESULT { CO_E_IIDSTRING = cast(HRESULT)0x800401F4L } 4112 - 4113 -enum : HRESULT { CO_E_APPNOTFOUND = cast(HRESULT)0x800401F5L } 4114 - 4115 -enum : HRESULT { CO_E_APPSINGLEUSE = cast(HRESULT)0x800401F6L } 4116 - 4117 -enum : HRESULT { CO_E_ERRORINAPP = cast(HRESULT)0x800401F7L } 4118 - 4119 -enum : HRESULT { CO_E_DLLNOTFOUND = cast(HRESULT)0x800401F8L } 4120 - 4121 -enum : HRESULT { CO_E_ERRORINDLL = cast(HRESULT)0x800401F9L } 4122 - 4123 -enum : HRESULT { CO_E_WRONGOSFORAPP = cast(HRESULT)0x800401FAL } 4124 - 4125 -enum : HRESULT { CO_E_OBJNOTREG = cast(HRESULT)0x800401FBL } 4126 - 4127 -enum : HRESULT { CO_E_OBJISREG = cast(HRESULT)0x800401FCL } 4128 - 4129 -enum : HRESULT { CO_E_OBJNOTCONNECTED = cast(HRESULT)0x800401FDL } 4130 - 4131 -enum : HRESULT { CO_E_APPDIDNTREG = cast(HRESULT)0x800401FEL } 4132 - 4133 -enum : HRESULT { CO_E_RELEASED = cast(HRESULT)0x800401FFL } 4134 - 4135 -enum : uint { EVENT_E_FIRST = 0x80040200 } 4136 -enum : uint { EVENT_E_LAST = 0x8004021F } 4137 -enum : uint { EVENT_S_FIRST = 0x00040200 } 4138 -enum : uint { EVENT_S_LAST = 0x0004021F } 4139 - 4140 -enum : HRESULT { EVENT_S_SOME_SUBSCRIBERS_FAILED = cast(HRESULT)0x00040200L } 4141 - 4142 -enum : HRESULT { EVENT_E_ALL_SUBSCRIBERS_FAILED = cast(HRESULT)0x80040201L } 4143 - 4144 -enum : HRESULT { EVENT_S_NOSUBSCRIBERS = cast(HRESULT)0x00040202L } 4145 - 4146 -enum : HRESULT { EVENT_E_QUERYSYNTAX = cast(HRESULT)0x80040203L } 4147 - 4148 -enum : HRESULT { EVENT_E_QUERYFIELD = cast(HRESULT)0x80040204L } 4149 - 4150 -enum : HRESULT { EVENT_E_INTERNALEXCEPTION = cast(HRESULT)0x80040205L } 4151 - 4152 -enum : HRESULT { EVENT_E_INTERNALERROR = cast(HRESULT)0x80040206L } 4153 - 4154 -enum : HRESULT { EVENT_E_INVALID_PER_USER_SID = cast(HRESULT)0x80040207L } 4155 - 4156 -enum : HRESULT { EVENT_E_USER_EXCEPTION = cast(HRESULT)0x80040208L } 4157 - 4158 -enum : HRESULT { EVENT_E_TOO_MANY_METHODS = cast(HRESULT)0x80040209L } 4159 - 4160 -enum : HRESULT { EVENT_E_MISSING_EVENTCLASS = cast(HRESULT)0x8004020AL } 4161 - 4162 -enum : HRESULT { EVENT_E_NOT_ALL_REMOVED = cast(HRESULT)0x8004020BL } 4163 - 4164 -enum : HRESULT { EVENT_E_COMPLUS_NOT_INSTALLED = cast(HRESULT)0x8004020CL } 4165 - 4166 -enum : HRESULT { EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT = cast(HRESULT)0x8004020DL } 4167 - 4168 -enum : HRESULT { EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT = cast(HRESULT)0x8004020EL } 4169 - 4170 -enum : HRESULT { EVENT_E_INVALID_EVENT_CLASS_PARTITION = cast(HRESULT)0x8004020FL } 4171 - 4172 -enum : HRESULT { EVENT_E_PER_USER_SID_NOT_LOGGED_ON = cast(HRESULT)0x80040210L } 4173 - 4174 -enum : uint { XACT_E_FIRST = 0x8004D000 } 4175 -enum : uint { XACT_E_LAST = 0x8004D029 } 4176 -enum : uint { XACT_S_FIRST = 0x0004D000 } 4177 -enum : uint { XACT_S_LAST = 0x0004D010 } 4178 - 4179 -enum : HRESULT { XACT_E_ALREADYOTHERSINGLEPHASE = cast(HRESULT)0x8004D000L } 4180 - 4181 -enum : HRESULT { XACT_E_CANTRETAIN = cast(HRESULT)0x8004D001L } 4182 - 4183 -enum : HRESULT { XACT_E_COMMITFAILED = cast(HRESULT)0x8004D002L } 4184 - 4185 -enum : HRESULT { XACT_E_COMMITPREVENTED = cast(HRESULT)0x8004D003L } 4186 - 4187 -enum : HRESULT { XACT_E_HEURISTICABORT = cast(HRESULT)0x8004D004L } 4188 - 4189 -enum : HRESULT { XACT_E_HEURISTICCOMMIT = cast(HRESULT)0x8004D005L } 4190 - 4191 -enum : HRESULT { XACT_E_HEURISTICDAMAGE = cast(HRESULT)0x8004D006L } 4192 - 4193 -enum : HRESULT { XACT_E_HEURISTICDANGER = cast(HRESULT)0x8004D007L } 4194 - 4195 -enum : HRESULT { XACT_E_ISOLATIONLEVEL = cast(HRESULT)0x8004D008L } 4196 - 4197 -enum : HRESULT { XACT_E_NOASYNC = cast(HRESULT)0x8004D009L } 4198 - 4199 -enum : HRESULT { XACT_E_NOENLIST = cast(HRESULT)0x8004D00AL } 4200 - 4201 -enum : HRESULT { XACT_E_NOISORETAIN = cast(HRESULT)0x8004D00BL } 4202 - 4203 -enum : HRESULT { XACT_E_NORESOURCE = cast(HRESULT)0x8004D00CL } 4204 - 4205 -enum : HRESULT { XACT_E_NOTCURRENT = cast(HRESULT)0x8004D00DL } 4206 - 4207 -enum : HRESULT { XACT_E_NOTRANSACTION = cast(HRESULT)0x8004D00EL } 4208 - 4209 -enum : HRESULT { XACT_E_NOTSUPPORTED = cast(HRESULT)0x8004D00FL } 4210 - 4211 -enum : HRESULT { XACT_E_UNKNOWNRMGRID = cast(HRESULT)0x8004D010L } 4212 - 4213 -enum : HRESULT { XACT_E_WRONGSTATE = cast(HRESULT)0x8004D011L } 4214 - 4215 -enum : HRESULT { XACT_E_WRONGUOW = cast(HRESULT)0x8004D012L } 4216 - 4217 -enum : HRESULT { XACT_E_XTIONEXISTS = cast(HRESULT)0x8004D013L } 4218 - 4219 -enum : HRESULT { XACT_E_NOIMPORTOBJECT = cast(HRESULT)0x8004D014L } 4220 - 4221 -enum : HRESULT { XACT_E_INVALIDCOOKIE = cast(HRESULT)0x8004D015L } 4222 - 4223 -enum : HRESULT { XACT_E_INDOUBT = cast(HRESULT)0x8004D016L } 4224 - 4225 -enum : HRESULT { XACT_E_NOTIMEOUT = cast(HRESULT)0x8004D017L } 4226 - 4227 -enum : HRESULT { XACT_E_ALREADYINPROGRESS = cast(HRESULT)0x8004D018L } 4228 - 4229 -enum : HRESULT { XACT_E_ABORTED = cast(HRESULT)0x8004D019L } 4230 - 4231 -enum : HRESULT { XACT_E_LOGFULL = cast(HRESULT)0x8004D01AL } 4232 - 4233 -enum : HRESULT { XACT_E_TMNOTAVAILABLE = cast(HRESULT)0x8004D01BL } 4234 - 4235 -enum : HRESULT { XACT_E_CONNECTION_DOWN = cast(HRESULT)0x8004D01CL } 4236 - 4237 -enum : HRESULT { XACT_E_CONNECTION_DENIED = cast(HRESULT)0x8004D01DL } 4238 - 4239 -enum : HRESULT { XACT_E_REENLISTTIMEOUT = cast(HRESULT)0x8004D01EL } 4240 - 4241 -enum : HRESULT { XACT_E_TIP_CONNECT_FAILED = cast(HRESULT)0x8004D01FL } 4242 - 4243 -enum : HRESULT { XACT_E_TIP_PROTOCOL_ERROR = cast(HRESULT)0x8004D020L } 4244 - 4245 -enum : HRESULT { XACT_E_TIP_PULL_FAILED = cast(HRESULT)0x8004D021L } 4246 - 4247 -enum : HRESULT { XACT_E_DEST_TMNOTAVAILABLE = cast(HRESULT)0x8004D022L } 4248 - 4249 -enum : HRESULT { XACT_E_TIP_DISABLED = cast(HRESULT)0x8004D023L } 4250 - 4251 -enum : HRESULT { XACT_E_NETWORK_TX_DISABLED = cast(HRESULT)0x8004D024L } 4252 - 4253 -enum : HRESULT { XACT_E_PARTNER_NETWORK_TX_DISABLED = cast(HRESULT)0x8004D025L } 4254 - 4255 -enum : HRESULT { XACT_E_XA_TX_DISABLED = cast(HRESULT)0x8004D026L } 4256 - 4257 -enum : HRESULT { XACT_E_UNABLE_TO_READ_DTC_CONFIG = cast(HRESULT)0x8004D027L } 4258 - 4259 -enum : HRESULT { XACT_E_UNABLE_TO_LOAD_DTC_PROXY = cast(HRESULT)0x8004D028L } 4260 - 4261 -enum : HRESULT { XACT_E_ABORTING = cast(HRESULT)0x8004D029L } 4262 - 4263 -enum : HRESULT { XACT_E_CLERKNOTFOUND = cast(HRESULT)0x8004D080L } 4264 - 4265 -enum : HRESULT { XACT_E_CLERKEXISTS = cast(HRESULT)0x8004D081L } 4266 - 4267 -enum : HRESULT { XACT_E_RECOVERYINPROGRESS = cast(HRESULT)0x8004D082L } 4268 - 4269 -enum : HRESULT { XACT_E_TRANSACTIONCLOSED = cast(HRESULT)0x8004D083L } 4270 - 4271 -enum : HRESULT { XACT_E_INVALIDLSN = cast(HRESULT)0x8004D084L } 4272 - 4273 -enum : HRESULT { XACT_E_REPLAYREQUEST = cast(HRESULT)0x8004D085L } 4274 - 4275 -enum : HRESULT { XACT_S_ASYNC = cast(HRESULT)0x0004D000L } 4276 - 4277 -enum : HRESULT { XACT_S_DEFECT = cast(HRESULT)0x0004D001L } 4278 - 4279 -enum : HRESULT { XACT_S_READONLY = cast(HRESULT)0x0004D002L } 4280 - 4281 -enum : HRESULT { XACT_S_SOMENORETAIN = cast(HRESULT)0x0004D003L } 4282 - 4283 -enum : HRESULT { XACT_S_OKINFORM = cast(HRESULT)0x0004D004L } 4284 - 4285 -enum : HRESULT { XACT_S_MADECHANGESCONTENT = cast(HRESULT)0x0004D005L } 4286 - 4287 -enum : HRESULT { XACT_S_MADECHANGESINFORM = cast(HRESULT)0x0004D006L } 4288 - 4289 -enum : HRESULT { XACT_S_ALLNORETAIN = cast(HRESULT)0x0004D007L } 4290 - 4291 -enum : HRESULT { XACT_S_ABORTING = cast(HRESULT)0x0004D008L } 4292 - 4293 -enum : HRESULT { XACT_S_SINGLEPHASE = cast(HRESULT)0x0004D009L } 4294 - 4295 -enum : HRESULT { XACT_S_LOCALLY_OK = cast(HRESULT)0x0004D00AL } 4296 - 4297 -enum : HRESULT { XACT_S_LASTRESOURCEMANAGER = cast(HRESULT)0x0004D010L } 4298 - 4299 -enum : uint { CONTEXT_E_FIRST = 0x8004E000 } 4300 -enum : uint { CONTEXT_E_LAST = 0x8004E02F } 4301 -enum : uint { CONTEXT_S_FIRST = 0x0004E000 } 4302 -enum : uint { CONTEXT_S_LAST = 0x0004E02F } 4303 - 4304 -enum : HRESULT { CONTEXT_E_ABORTED = cast(HRESULT)0x8004E002L } 4305 - 4306 -enum : HRESULT { CONTEXT_E_ABORTING = cast(HRESULT)0x8004E003L } 4307 - 4308 -enum : HRESULT { CONTEXT_E_NOCONTEXT = cast(HRESULT)0x8004E004L } 4309 - 4310 -enum : HRESULT { CONTEXT_E_SYNCH_TIMEOUT = cast(HRESULT)0x8004E006L } 4311 - 4312 -enum : HRESULT { CONTEXT_E_OLDREF = cast(HRESULT)0x8004E007L } 4313 - 4314 -enum : HRESULT { CONTEXT_E_ROLENOTFOUND = cast(HRESULT)0x8004E00CL } 4315 - 4316 -enum : HRESULT { CONTEXT_E_TMNOTAVAILABLE = cast(HRESULT)0x8004E00FL } 4317 - 4318 -enum : HRESULT { CO_E_ACTIVATIONFAILED = cast(HRESULT)0x8004E021L } 4319 - 4320 -enum : HRESULT { CO_E_ACTIVATIONFAILED_EVENTLOGGED = cast(HRESULT)0x8004E022L } 4321 - 4322 -enum : HRESULT { CO_E_ACTIVATIONFAILED_CATALOGERROR = cast(HRESULT)0x8004E023L } 4323 - 4324 -enum : HRESULT { CO_E_ACTIVATIONFAILED_TIMEOUT = cast(HRESULT)0x8004E024L } 4325 - 4326 -enum : HRESULT { CO_E_INITIALIZATIONFAILED = cast(HRESULT)0x8004E025L } 4327 - 4328 -enum : HRESULT { CONTEXT_E_NOJIT = cast(HRESULT)0x8004E026L } 4329 - 4330 -enum : HRESULT { CONTEXT_E_NOTRANSACTION = cast(HRESULT)0x8004E027L } 4331 - 4332 -enum : HRESULT { CO_E_THREADINGMODEL_CHANGED = cast(HRESULT)0x8004E028L } 4333 - 4334 -enum : HRESULT { CO_E_NOIISINTRINSICS = cast(HRESULT)0x8004E029L } 4335 - 4336 -enum : HRESULT { CO_E_NOCOOKIES = cast(HRESULT)0x8004E02AL } 4337 - 4338 -enum : HRESULT { CO_E_DBERROR = cast(HRESULT)0x8004E02BL } 4339 - 4340 -enum : HRESULT { CO_E_NOTPOOLED = cast(HRESULT)0x8004E02CL } 4341 - 4342 -enum : HRESULT { CO_E_NOTCONSTRUCTED = cast(HRESULT)0x8004E02DL } 4343 - 4344 -enum : HRESULT { CO_E_NOSYNCHRONIZATION = cast(HRESULT)0x8004E02EL } 4345 - 4346 -enum : HRESULT { CO_E_ISOLEVELMISMATCH = cast(HRESULT)0x8004E02FL } 4347 - 4348 -enum : HRESULT { OLE_S_USEREG = cast(HRESULT)0x00040000L } 4349 - 4350 -enum : HRESULT { OLE_S_STATIC = cast(HRESULT)0x00040001L } 4351 - 4352 -enum : HRESULT { OLE_S_MAC_CLIPFORMAT = cast(HRESULT)0x00040002L } 4353 - 4354 -enum : HRESULT { DRAGDROP_S_DROP = cast(HRESULT)0x00040100L } 4355 - 4356 -enum : HRESULT { DRAGDROP_S_CANCEL = cast(HRESULT)0x00040101L } 4357 - 4358 -enum : HRESULT { DRAGDROP_S_USEDEFAULTCURSORS = cast(HRESULT)0x00040102L } 4359 - 4360 -enum : HRESULT { DATA_S_SAMEFORMATETC = cast(HRESULT)0x00040130L } 4361 - 4362 -enum : HRESULT { VIEW_S_ALREADY_FROZEN = cast(HRESULT)0x00040140L } 4363 - 4364 -enum : HRESULT { CACHE_S_FORMATETC_NOTSUPPORTED = cast(HRESULT)0x00040170L } 4365 - 4366 -enum : HRESULT { CACHE_S_SAMECACHE = cast(HRESULT)0x00040171L } 4367 - 4368 -enum : HRESULT { CACHE_S_SOMECACHES_NOTUPDATED = cast(HRESULT)0x00040172L } 4369 - 4370 -enum : HRESULT { OLEOBJ_S_INVALIDVERB = cast(HRESULT)0x00040180L } 4371 - 4372 -enum : HRESULT { OLEOBJ_S_CANNOT_DOVERB_NOW = cast(HRESULT)0x00040181L } 4373 - 4374 -enum : HRESULT { OLEOBJ_S_INVALIDHWND = cast(HRESULT)0x00040182L } 4375 - 4376 -enum : HRESULT { INPLACE_S_TRUNCATED = cast(HRESULT)0x000401A0L } 4377 - 4378 -enum : HRESULT { CONVERT10_S_NO_PRESENTATION = cast(HRESULT)0x000401C0L } 4379 - 4380 -enum : HRESULT { MK_S_REDUCED_TO_SELF = cast(HRESULT)0x000401E2L } 4381 - 4382 -enum : HRESULT { MK_S_ME = cast(HRESULT)0x000401E4L } 4383 - 4384 -enum : HRESULT { MK_S_HIM = cast(HRESULT)0x000401E5L } 4385 - 4386 -enum : HRESULT { MK_S_US = cast(HRESULT)0x000401E6L } 4387 - 4388 -enum : HRESULT { MK_S_MONIKERALREADYREGISTERED = cast(HRESULT)0x000401E7L } 4389 - 4390 -enum : HRESULT { SCHED_S_TASK_READY = cast(HRESULT)0x00041300L } 4391 - 4392 -enum : HRESULT { SCHED_S_TASK_RUNNING = cast(HRESULT)0x00041301L } 4393 - 4394 -enum : HRESULT { SCHED_S_TASK_DISABLED = cast(HRESULT)0x00041302L } 4395 - 4396 -enum : HRESULT { SCHED_S_TASK_HAS_NOT_RUN = cast(HRESULT)0x00041303L } 4397 - 4398 -enum : HRESULT { SCHED_S_TASK_NO_MORE_RUNS = cast(HRESULT)0x00041304L } 4399 - 4400 -enum : HRESULT { SCHED_S_TASK_NOT_SCHEDULED = cast(HRESULT)0x00041305L } 4401 - 4402 -enum : HRESULT { SCHED_S_TASK_TERMINATED = cast(HRESULT)0x00041306L } 4403 - 4404 -enum : HRESULT { SCHED_S_TASK_NO_VALID_TRIGGERS = cast(HRESULT)0x00041307L } 4405 - 4406 -enum : HRESULT { SCHED_S_EVENT_TRIGGER = cast(HRESULT)0x00041308L } 4407 - 4408 -enum : HRESULT { SCHED_E_TRIGGER_NOT_FOUND = cast(HRESULT)0x80041309L } 4409 - 4410 -enum : HRESULT { SCHED_E_TASK_NOT_READY = cast(HRESULT)0x8004130AL } 4411 - 4412 -enum : HRESULT { SCHED_E_TASK_NOT_RUNNING = cast(HRESULT)0x8004130BL } 4413 - 4414 -enum : HRESULT { SCHED_E_SERVICE_NOT_INSTALLED = cast(HRESULT)0x8004130CL } 4415 - 4416 -enum : HRESULT { SCHED_E_CANNOT_OPEN_TASK = cast(HRESULT)0x8004130DL } 4417 - 4418 -enum : HRESULT { SCHED_E_INVALID_TASK = cast(HRESULT)0x8004130EL } 4419 - 4420 -enum : HRESULT { SCHED_E_ACCOUNT_INFORMATION_NOT_SET = cast(HRESULT)0x8004130FL } 4421 - 4422 -enum : HRESULT { SCHED_E_ACCOUNT_NAME_NOT_FOUND = cast(HRESULT)0x80041310L } 4423 - 4424 -enum : HRESULT { SCHED_E_ACCOUNT_DBASE_CORRUPT = cast(HRESULT)0x80041311L } 4425 - 4426 -enum : HRESULT { SCHED_E_NO_SECURITY_SERVICES = cast(HRESULT)0x80041312L } 4427 - 4428 -enum : HRESULT { SCHED_E_UNKNOWN_OBJECT_VERSION = cast(HRESULT)0x80041313L } 4429 - 4430 -enum : HRESULT { SCHED_E_UNSUPPORTED_ACCOUNT_OPTION = cast(HRESULT)0x80041314L } 4431 - 4432 -enum : HRESULT { SCHED_E_SERVICE_NOT_RUNNING = cast(HRESULT)0x80041315L } 4433 - 4434 -enum : HRESULT { CO_E_CLASS_CREATE_FAILED = cast(HRESULT)0x80080001L } 4435 - 4436 -enum : HRESULT { CO_E_SCM_ERROR = cast(HRESULT)0x80080002L } 4437 - 4438 -enum : HRESULT { CO_E_SCM_RPC_FAILURE = cast(HRESULT)0x80080003L } 4439 - 4440 -enum : HRESULT { CO_E_BAD_PATH = cast(HRESULT)0x80080004L } 4441 - 4442 -enum : HRESULT { CO_E_SERVER_EXEC_FAILURE = cast(HRESULT)0x80080005L } 4443 - 4444 -enum : HRESULT { CO_E_OBJSRV_RPC_FAILURE = cast(HRESULT)0x80080006L } 4445 - 4446 -enum : HRESULT { MK_E_NO_NORMALIZED = cast(HRESULT)0x80080007L } 4447 - 4448 -enum : HRESULT { CO_E_SERVER_STOPPING = cast(HRESULT)0x80080008L } 4449 - 4450 -enum : HRESULT { MEM_E_INVALID_ROOT = cast(HRESULT)0x80080009L } 4451 - 4452 -enum : HRESULT { MEM_E_INVALID_LINK = cast(HRESULT)0x80080010L } 4453 - 4454 -enum : HRESULT { MEM_E_INVALID_SIZE = cast(HRESULT)0x80080011L } 4455 - 4456 -enum : HRESULT { CO_S_NOTALLINTERFACES = cast(HRESULT)0x00080012L } 4457 - 4458 -enum : HRESULT { CO_S_MACHINENAMENOTFOUND = cast(HRESULT)0x00080013L } 4459 - 4460 -enum : HRESULT { DISP_E_UNKNOWNINTERFACE = cast(HRESULT)0x80020001L } 4461 - 4462 -enum : HRESULT { DISP_E_MEMBERNOTFOUND = cast(HRESULT)0x80020003L } 4463 - 4464 -enum : HRESULT { DISP_E_PARAMNOTFOUND = cast(HRESULT)0x80020004L } 4465 - 4466 -enum : HRESULT { DISP_E_TYPEMISMATCH = cast(HRESULT)0x80020005L } 4467 - 4468 -enum : HRESULT { DISP_E_UNKNOWNNAME = cast(HRESULT)0x80020006L } 4469 - 4470 -enum : HRESULT { DISP_E_NONAMEDARGS = cast(HRESULT)0x80020007L } 4471 - 4472 -enum : HRESULT { DISP_E_BADVARTYPE = cast(HRESULT)0x80020008L } 4473 - 4474 -enum : HRESULT { DISP_E_EXCEPTION = cast(HRESULT)0x80020009L } 4475 - 4476 -enum : HRESULT { DISP_E_OVERFLOW = cast(HRESULT)0x8002000AL } 4477 - 4478 -enum : HRESULT { DISP_E_BADINDEX = cast(HRESULT)0x8002000BL } 4479 - 4480 -enum : HRESULT { DISP_E_UNKNOWNLCID = cast(HRESULT)0x8002000CL } 4481 - 4482 -enum : HRESULT { DISP_E_ARRAYISLOCKED = cast(HRESULT)0x8002000DL } 4483 - 4484 -enum : HRESULT { DISP_E_BADPARAMCOUNT = cast(HRESULT)0x8002000EL } 4485 - 4486 -enum : HRESULT { DISP_E_PARAMNOTOPTIONAL = cast(HRESULT)0x8002000FL } 4487 - 4488 -enum : HRESULT { DISP_E_BADCALLEE = cast(HRESULT)0x80020010L } 4489 - 4490 -enum : HRESULT { DISP_E_NOTACOLLECTION = cast(HRESULT)0x80020011L } 4491 - 4492 -enum : HRESULT { DISP_E_DIVBYZERO = cast(HRESULT)0x80020012L } 4493 - 4494 -enum : HRESULT { DISP_E_BUFFERTOOSMALL = cast(HRESULT)0x80020013L } 4495 - 4496 -enum : HRESULT { TYPE_E_BUFFERTOOSMALL = cast(HRESULT)0x80028016L } 4497 - 4498 -enum : HRESULT { TYPE_E_FIELDNOTFOUND = cast(HRESULT)0x80028017L } 4499 - 4500 -enum : HRESULT { TYPE_E_INVDATAREAD = cast(HRESULT)0x80028018L } 4501 - 4502 -enum : HRESULT { TYPE_E_UNSUPFORMAT = cast(HRESULT)0x80028019L } 4503 - 4504 -enum : HRESULT { TYPE_E_REGISTRYACCESS = cast(HRESULT)0x8002801CL } 4505 - 4506 -enum : HRESULT { TYPE_E_LIBNOTREGISTERED = cast(HRESULT)0x8002801DL } 4507 - 4508 -enum : HRESULT { TYPE_E_UNDEFINEDTYPE = cast(HRESULT)0x80028027L } 4509 - 4510 -enum : HRESULT { TYPE_E_QUALIFIEDNAMEDISALLOWED = cast(HRESULT)0x80028028L } 4511 - 4512 -enum : HRESULT { TYPE_E_INVALIDSTATE = cast(HRESULT)0x80028029L } 4513 - 4514 -enum : HRESULT { TYPE_E_WRONGTYPEKIND = cast(HRESULT)0x8002802AL } 4515 - 4516 -enum : HRESULT { TYPE_E_ELEMENTNOTFOUND = cast(HRESULT)0x8002802BL } 4517 - 4518 -enum : HRESULT { TYPE_E_AMBIGUOUSNAME = cast(HRESULT)0x8002802CL } 4519 - 4520 -enum : HRESULT { TYPE_E_NAMECONFLICT = cast(HRESULT)0x8002802DL } 4521 - 4522 -enum : HRESULT { TYPE_E_UNKNOWNLCID = cast(HRESULT)0x8002802EL } 4523 - 4524 -enum : HRESULT { TYPE_E_DLLFUNCTIONNOTFOUND = cast(HRESULT)0x8002802FL } 4525 - 4526 -enum : HRESULT { TYPE_E_BADMODULEKIND = cast(HRESULT)0x800288BDL } 4527 - 4528 -enum : HRESULT { TYPE_E_SIZETOOBIG = cast(HRESULT)0x800288C5L } 4529 - 4530 -enum : HRESULT { TYPE_E_DUPLICATEID = cast(HRESULT)0x800288C6L } 4531 - 4532 -enum : HRESULT { TYPE_E_INVALIDID = cast(HRESULT)0x800288CFL } 4533 - 4534 -enum : HRESULT { TYPE_E_TYPEMISMATCH = cast(HRESULT)0x80028CA0L } 4535 - 4536 -enum : HRESULT { TYPE_E_OUTOFBOUNDS = cast(HRESULT)0x80028CA1L } 4537 - 4538 -enum : HRESULT { TYPE_E_IOERROR = cast(HRESULT)0x80028CA2L } 4539 - 4540 -enum : HRESULT { TYPE_E_CANTCREATETMPFILE = cast(HRESULT)0x80028CA3L } 4541 - 4542 -enum : HRESULT { TYPE_E_CANTLOADLIBRARY = cast(HRESULT)0x80029C4AL } 4543 - 4544 -enum : HRESULT { TYPE_E_INCONSISTENTPROPFUNCS = cast(HRESULT)0x80029C83L } 4545 - 4546 -enum : HRESULT { TYPE_E_CIRCULARTYPE = cast(HRESULT)0x80029C84L } 4547 - 4548 -enum : HRESULT { STG_E_INVALIDFUNCTION = cast(HRESULT)0x80030001L } 4549 - 4550 -enum : HRESULT { STG_E_FILENOTFOUND = cast(HRESULT)0x80030002L } 4551 - 4552 -enum : HRESULT { STG_E_PATHNOTFOUND = cast(HRESULT)0x80030003L } 4553 - 4554 -enum : HRESULT { STG_E_TOOMANYOPENFILES = cast(HRESULT)0x80030004L } 4555 - 4556 -enum : HRESULT { STG_E_ACCESSDENIED = cast(HRESULT)0x80030005L } 4557 - 4558 -enum : HRESULT { STG_E_INVALIDHANDLE = cast(HRESULT)0x80030006L } 4559 - 4560 -enum : HRESULT { STG_E_INSUFFICIENTMEMORY = cast(HRESULT)0x80030008L } 4561 - 4562 -enum : HRESULT { STG_E_INVALIDPOINTER = cast(HRESULT)0x80030009L } 4563 - 4564 -enum : HRESULT { STG_E_NOMOREFILES = cast(HRESULT)0x80030012L } 4565 - 4566 -enum : HRESULT { STG_E_DISKISWRITEPROTECTED = cast(HRESULT)0x80030013L } 4567 - 4568 -enum : HRESULT { STG_E_SEEKERROR = cast(HRESULT)0x80030019L } 4569 - 4570 -enum : HRESULT { STG_E_WRITEFAULT = cast(HRESULT)0x8003001DL } 4571 - 4572 -enum : HRESULT { STG_E_READFAULT = cast(HRESULT)0x8003001EL } 4573 - 4574 -enum : HRESULT { STG_E_SHAREVIOLATION = cast(HRESULT)0x80030020L } 4575 - 4576 -enum : HRESULT { STG_E_LOCKVIOLATION = cast(HRESULT)0x80030021L } 4577 - 4578 -enum : HRESULT { STG_E_FILEALREADYEXISTS = cast(HRESULT)0x80030050L } 4579 - 4580 -enum : HRESULT { STG_E_INVALIDPARAMETER = cast(HRESULT)0x80030057L } 4581 - 4582 -enum : HRESULT { STG_E_MEDIUMFULL = cast(HRESULT)0x80030070L } 4583 - 4584 -enum : HRESULT { STG_E_PROPSETMISMATCHED = cast(HRESULT)0x800300F0L } 4585 - 4586 -enum : HRESULT { STG_E_ABNORMALAPIEXIT = cast(HRESULT)0x800300FAL } 4587 - 4588 -enum : HRESULT { STG_E_INVALIDHEADER = cast(HRESULT)0x800300FBL } 4589 - 4590 -enum : HRESULT { STG_E_INVALIDNAME = cast(HRESULT)0x800300FCL } 4591 - 4592 -enum : HRESULT { STG_E_UNKNOWN = cast(HRESULT)0x800300FDL } 4593 - 4594 -enum : HRESULT { STG_E_UNIMPLEMENTEDFUNCTION = cast(HRESULT)0x800300FEL } 4595 - 4596 -enum : HRESULT { STG_E_INVALIDFLAG = cast(HRESULT)0x800300FFL } 4597 - 4598 -enum : HRESULT { STG_E_INUSE = cast(HRESULT)0x80030100L } 4599 - 4600 -enum : HRESULT { STG_E_NOTCURRENT = cast(HRESULT)0x80030101L } 4601 - 4602 -enum : HRESULT { STG_E_REVERTED = cast(HRESULT)0x80030102L } 4603 - 4604 -enum : HRESULT { STG_E_CANTSAVE = cast(HRESULT)0x80030103L } 4605 - 4606 -enum : HRESULT { STG_E_OLDFORMAT = cast(HRESULT)0x80030104L } 4607 - 4608 -enum : HRESULT { STG_E_OLDDLL = cast(HRESULT)0x80030105L } 4609 - 4610 -enum : HRESULT { STG_E_SHAREREQUIRED = cast(HRESULT)0x80030106L } 4611 - 4612 -enum : HRESULT { STG_E_NOTFILEBASEDSTORAGE = cast(HRESULT)0x80030107L } 4613 - 4614 -enum : HRESULT { STG_E_EXTANTMARSHALLINGS = cast(HRESULT)0x80030108L } 4615 - 4616 -enum : HRESULT { STG_E_DOCFILECORRUPT = cast(HRESULT)0x80030109L } 4617 - 4618 -enum : HRESULT { STG_E_BADBASEADDRESS = cast(HRESULT)0x80030110L } 4619 - 4620 -enum : HRESULT { STG_E_DOCFILETOOLARGE = cast(HRESULT)0x80030111L } 4621 - 4622 -enum : HRESULT { STG_E_NOTSIMPLEFORMAT = cast(HRESULT)0x80030112L } 4623 - 4624 -enum : HRESULT { STG_E_INCOMPLETE = cast(HRESULT)0x80030201L } 4625 - 4626 -enum : HRESULT { STG_E_TERMINATED = cast(HRESULT)0x80030202L } 4627 - 4628 -enum : HRESULT { STG_S_CONVERTED = cast(HRESULT)0x00030200L } 4629 - 4630 -enum : HRESULT { STG_S_BLOCK = cast(HRESULT)0x00030201L } 4631 - 4632 -enum : HRESULT { STG_S_RETRYNOW = cast(HRESULT)0x00030202L } 4633 - 4634 -enum : HRESULT { STG_S_MONITORING = cast(HRESULT)0x00030203L } 4635 - 4636 -enum : HRESULT { STG_S_MULTIPLEOPENS = cast(HRESULT)0x00030204L } 4637 - 4638 -enum : HRESULT { STG_S_CONSOLIDATIONFAILED = cast(HRESULT)0x00030205L } 4639 - 4640 -enum : HRESULT { STG_S_CANNOTCONSOLIDATE = cast(HRESULT)0x00030206L } 4641 - 4642 -enum : HRESULT { STG_E_STATUS_COPY_PROTECTION_FAILURE = cast(HRESULT)0x80030305L } 4643 - 4644 -enum : HRESULT { STG_E_CSS_AUTHENTICATION_FAILURE = cast(HRESULT)0x80030306L } 4645 - 4646 -enum : HRESULT { STG_E_CSS_KEY_NOT_PRESENT = cast(HRESULT)0x80030307L } 4647 - 4648 -enum : HRESULT { STG_E_CSS_KEY_NOT_ESTABLISHED = cast(HRESULT)0x80030308L } 4649 - 4650 -enum : HRESULT { STG_E_CSS_SCRAMBLED_SECTOR = cast(HRESULT)0x80030309L } 4651 - 4652 -enum : HRESULT { STG_E_CSS_REGION_MISMATCH = cast(HRESULT)0x8003030AL } 4653 - 4654 -enum : HRESULT { STG_E_RESETS_EXHAUSTED = cast(HRESULT)0x8003030BL } 4655 - 4656 -enum : HRESULT { RPC_E_CALL_REJECTED = cast(HRESULT)0x80010001L } 4657 - 4658 -enum : HRESULT { RPC_E_CALL_CANCELED = cast(HRESULT)0x80010002L } 4659 - 4660 -enum : HRESULT { RPC_E_CANTPOST_INSENDCALL = cast(HRESULT)0x80010003L } 4661 - 4662 -enum : HRESULT { RPC_E_CANTCALLOUT_INASYNCCALL = cast(HRESULT)0x80010004L } 4663 - 4664 -enum : HRESULT { RPC_E_CANTCALLOUT_INEXTERNALCALL = cast(HRESULT)0x80010005L } 4665 - 4666 -enum : HRESULT { RPC_E_CONNECTION_TERMINATED = cast(HRESULT)0x80010006L } 4667 - 4668 -enum : HRESULT { RPC_E_SERVER_DIED = cast(HRESULT)0x80010007L } 4669 - 4670 -enum : HRESULT { RPC_E_CLIENT_DIED = cast(HRESULT)0x80010008L } 4671 - 4672 -enum : HRESULT { RPC_E_INVALID_DATAPACKET = cast(HRESULT)0x80010009L } 4673 - 4674 -enum : HRESULT { RPC_E_CANTTRANSMIT_CALL = cast(HRESULT)0x8001000AL } 4675 - 4676 -enum : HRESULT { RPC_E_CLIENT_CANTMARSHAL_DATA = cast(HRESULT)0x8001000BL } 4677 - 4678 -enum : HRESULT { RPC_E_CLIENT_CANTUNMARSHAL_DATA = cast(HRESULT)0x8001000CL } 4679 - 4680 -enum : HRESULT { RPC_E_SERVER_CANTMARSHAL_DATA = cast(HRESULT)0x8001000DL } 4681 - 4682 -enum : HRESULT { RPC_E_SERVER_CANTUNMARSHAL_DATA = cast(HRESULT)0x8001000EL } 4683 - 4684 -enum : HRESULT { RPC_E_INVALID_DATA = cast(HRESULT)0x8001000FL } 4685 - 4686 -enum : HRESULT { RPC_E_INVALID_PARAMETER = cast(HRESULT)0x80010010L } 4687 - 4688 -enum : HRESULT { RPC_E_CANTCALLOUT_AGAIN = cast(HRESULT)0x80010011L } 4689 - 4690 -enum : HRESULT { RPC_E_SERVER_DIED_DNE = cast(HRESULT)0x80010012L } 4691 - 4692 -enum : HRESULT { RPC_E_SYS_CALL_FAILED = cast(HRESULT)0x80010100L } 4693 - 4694 -enum : HRESULT { RPC_E_OUT_OF_RESOURCES = cast(HRESULT)0x80010101L } 4695 - 4696 -enum : HRESULT { RPC_E_ATTEMPTED_MULTITHREAD = cast(HRESULT)0x80010102L } 4697 - 4698 -enum : HRESULT { RPC_E_NOT_REGISTERED = cast(HRESULT)0x80010103L } 4699 - 4700 -enum : HRESULT { RPC_E_FAULT = cast(HRESULT)0x80010104L } 4701 - 4702 -enum : HRESULT { RPC_E_SERVERFAULT = cast(HRESULT)0x80010105L } 4703 - 4704 -enum : HRESULT { RPC_E_CHANGED_MODE = cast(HRESULT)0x80010106L } 4705 - 4706 -enum : HRESULT { RPC_E_INVALIDMETHOD = cast(HRESULT)0x80010107L } 4707 - 4708 -enum : HRESULT { RPC_E_DISCONNECTED = cast(HRESULT)0x80010108L } 4709 - 4710 -enum : HRESULT { RPC_E_RETRY = cast(HRESULT)0x80010109L } 4711 - 4712 -enum : HRESULT { RPC_E_SERVERCALL_RETRYLATER = cast(HRESULT)0x8001010AL } 4713 - 4714 -enum : HRESULT { RPC_E_SERVERCALL_REJECTED = cast(HRESULT)0x8001010BL } 4715 - 4716 -enum : HRESULT { RPC_E_INVALID_CALLDATA = cast(HRESULT)0x8001010CL } 4717 - 4718 -enum : HRESULT { RPC_E_CANTCALLOUT_ININPUTSYNCCALL = cast(HRESULT)0x8001010DL } 4719 - 4720 -enum : HRESULT { RPC_E_WRONG_THREAD = cast(HRESULT)0x8001010EL } 4721 - 4722 -enum : HRESULT { RPC_E_THREAD_NOT_INIT = cast(HRESULT)0x8001010FL } 4723 - 4724 -enum : HRESULT { RPC_E_VERSION_MISMATCH = cast(HRESULT)0x80010110L } 4725 - 4726 -enum : HRESULT { RPC_E_INVALID_HEADER = cast(HRESULT)0x80010111L } 4727 - 4728 -enum : HRESULT { RPC_E_INVALID_EXTENSION = cast(HRESULT)0x80010112L } 4729 - 4730 -enum : HRESULT { RPC_E_INVALID_IPID = cast(HRESULT)0x80010113L } 4731 - 4732 -enum : HRESULT { RPC_E_INVALID_OBJECT = cast(HRESULT)0x80010114L } 4733 - 4734 -enum : HRESULT { RPC_S_CALLPENDING = cast(HRESULT)0x80010115L } 4735 - 4736 -enum : HRESULT { RPC_S_WAITONTIMER = cast(HRESULT)0x80010116L } 4737 - 4738 -enum : HRESULT { RPC_E_CALL_COMPLETE = cast(HRESULT)0x80010117L } 4739 - 4740 -enum : HRESULT { RPC_E_UNSECURE_CALL = cast(HRESULT)0x80010118L } 4741 - 4742 -enum : HRESULT { RPC_E_TOO_LATE = cast(HRESULT)0x80010119L } 4743 - 4744 -enum : HRESULT { RPC_E_NO_GOOD_SECURITY_PACKAGES = cast(HRESULT)0x8001011AL } 4745 - 4746 -enum : HRESULT { RPC_E_ACCESS_DENIED = cast(HRESULT)0x8001011BL } 4747 - 4748 -enum : HRESULT { RPC_E_REMOTE_DISABLED = cast(HRESULT)0x8001011CL } 4749 - 4750 -enum : HRESULT { RPC_E_INVALID_OBJREF = cast(HRESULT)0x8001011DL } 4751 - 4752 -enum : HRESULT { RPC_E_NO_CONTEXT = cast(HRESULT)0x8001011EL } 4753 - 4754 -enum : HRESULT { RPC_E_TIMEOUT = cast(HRESULT)0x8001011FL } 4755 - 4756 -enum : HRESULT { RPC_E_NO_SYNC = cast(HRESULT)0x80010120L } 4757 - 4758 -enum : HRESULT { RPC_E_FULLSIC_REQUIRED = cast(HRESULT)0x80010121L } 4759 - 4760 -enum : HRESULT { RPC_E_INVALID_STD_NAME = cast(HRESULT)0x80010122L } 4761 - 4762 -enum : HRESULT { CO_E_FAILEDTOIMPERSONATE = cast(HRESULT)0x80010123L } 4763 - 4764 -enum : HRESULT { CO_E_FAILEDTOGETSECCTX = cast(HRESULT)0x80010124L } 4765 - 4766 -enum : HRESULT { CO_E_FAILEDTOOPENTHREADTOKEN = cast(HRESULT)0x80010125L } 4767 - 4768 -enum : HRESULT { CO_E_FAILEDTOGETTOKENINFO = cast(HRESULT)0x80010126L } 4769 - 4770 -enum : HRESULT { CO_E_TRUSTEEDOESNTMATCHCLIENT = cast(HRESULT)0x80010127L } 4771 - 4772 -enum : HRESULT { CO_E_FAILEDTOQUERYCLIENTBLANKET = cast(HRESULT)0x80010128L } 4773 - 4774 -enum : HRESULT { CO_E_FAILEDTOSETDACL = cast(HRESULT)0x80010129L } 4775 - 4776 -enum : HRESULT { CO_E_ACCESSCHECKFAILED = cast(HRESULT)0x8001012AL } 4777 - 4778 -enum : HRESULT { CO_E_NETACCESSAPIFAILED = cast(HRESULT)0x8001012BL } 4779 - 4780 -enum : HRESULT { CO_E_WRONGTRUSTEENAMESYNTAX = cast(HRESULT)0x8001012CL } 4781 - 4782 -enum : HRESULT { CO_E_INVALIDSID = cast(HRESULT)0x8001012DL } 4783 - 4784 -enum : HRESULT { CO_E_CONVERSIONFAILED = cast(HRESULT)0x8001012EL } 4785 - 4786 -enum : HRESULT { CO_E_NOMATCHINGSIDFOUND = cast(HRESULT)0x8001012FL } 4787 - 4788 -enum : HRESULT { CO_E_LOOKUPACCSIDFAILED = cast(HRESULT)0x80010130L } 4789 - 4790 -enum : HRESULT { CO_E_NOMATCHINGNAMEFOUND = cast(HRESULT)0x80010131L } 4791 - 4792 -enum : HRESULT { CO_E_LOOKUPACCNAMEFAILED = cast(HRESULT)0x80010132L } 4793 - 4794 -enum : HRESULT { CO_E_SETSERLHNDLFAILED = cast(HRESULT)0x80010133L } 4795 - 4796 -enum : HRESULT { CO_E_FAILEDTOGETWINDIR = cast(HRESULT)0x80010134L } 4797 - 4798 -enum : HRESULT { CO_E_PATHTOOLONG = cast(HRESULT)0x80010135L } 4799 - 4800 -enum : HRESULT { CO_E_FAILEDTOGENUUID = cast(HRESULT)0x80010136L } 4801 - 4802 -enum : HRESULT { CO_E_FAILEDTOCREATEFILE = cast(HRESULT)0x80010137L } 4803 - 4804 -enum : HRESULT { CO_E_FAILEDTOCLOSEHANDLE = cast(HRESULT)0x80010138L } 4805 - 4806 -enum : HRESULT { CO_E_EXCEEDSYSACLLIMIT = cast(HRESULT)0x80010139L } 4807 - 4808 -enum : HRESULT { CO_E_ACESINWRONGORDER = cast(HRESULT)0x8001013AL } 4809 - 4810 -enum : HRESULT { CO_E_INCOMPATIBLESTREAMVERSION = cast(HRESULT)0x8001013BL } 4811 - 4812 -enum : HRESULT { CO_E_FAILEDTOOPENPROCESSTOKEN = cast(HRESULT)0x8001013CL } 4813 - 4814 -enum : HRESULT { CO_E_DECODEFAILED = cast(HRESULT)0x8001013DL } 4815 - 4816 -enum : HRESULT { CO_E_ACNOTINITIALIZED = cast(HRESULT)0x8001013FL } 4817 - 4818 -enum : HRESULT { CO_E_CANCEL_DISABLED = cast(HRESULT)0x80010140L } 4819 - 4820 -enum : HRESULT { RPC_E_UNEXPECTED = cast(HRESULT)0x8001FFFFL } 4821 - 4822 -enum : HRESULT { ERROR_AUDITING_DISABLED = cast(HRESULT)0xC0090001L } 4823 - 4824 -enum : HRESULT { ERROR_ALL_SIDS_FILTERED = cast(HRESULT)0xC0090002L } 4825 - 4826 -enum : HRESULT { NTE_BAD_UID = cast(HRESULT)0x80090001L } 4827 - 4828 -enum : HRESULT { NTE_BAD_HASH = cast(HRESULT)0x80090002L } 4829 - 4830 -enum : HRESULT { NTE_BAD_KEY = cast(HRESULT)0x80090003L } 4831 - 4832 -enum : HRESULT { NTE_BAD_LEN = cast(HRESULT)0x80090004L } 4833 - 4834 -enum : HRESULT { NTE_BAD_DATA = cast(HRESULT)0x80090005L } 4835 - 4836 -enum : HRESULT { NTE_BAD_SIGNATURE = cast(HRESULT)0x80090006L } 4837 - 4838 -enum : HRESULT { NTE_BAD_VER = cast(HRESULT)0x80090007L } 4839 - 4840 -enum : HRESULT { NTE_BAD_ALGID = cast(HRESULT)0x80090008L } 4841 - 4842 -enum : HRESULT { NTE_BAD_FLAGS = cast(HRESULT)0x80090009L } 4843 - 4844 -enum : HRESULT { NTE_BAD_TYPE = cast(HRESULT)0x8009000AL } 4845 - 4846 -enum : HRESULT { NTE_BAD_KEY_STATE = cast(HRESULT)0x8009000BL } 4847 - 4848 -enum : HRESULT { NTE_BAD_HASH_STATE = cast(HRESULT)0x8009000CL } 4849 - 4850 -enum : HRESULT { NTE_NO_KEY = cast(HRESULT)0x8009000DL } 4851 - 4852 -enum : HRESULT { NTE_NO_MEMORY = cast(HRESULT)0x8009000EL } 4853 - 4854 -enum : HRESULT { NTE_EXISTS = cast(HRESULT)0x8009000FL } 4855 - 4856 -enum : HRESULT { NTE_PERM = cast(HRESULT)0x80090010L } 4857 - 4858 -enum : HRESULT { NTE_NOT_FOUND = cast(HRESULT)0x80090011L } 4859 - 4860 -enum : HRESULT { NTE_DOUBLE_ENCRYPT = cast(HRESULT)0x80090012L } 4861 - 4862 -enum : HRESULT { NTE_BAD_PROVIDER = cast(HRESULT)0x80090013L } 4863 - 4864 -enum : HRESULT { NTE_BAD_PROV_TYPE = cast(HRESULT)0x80090014L } 4865 - 4866 -enum : HRESULT { NTE_BAD_PUBLIC_KEY = cast(HRESULT)0x80090015L } 4867 - 4868 -enum : HRESULT { NTE_BAD_KEYSET = cast(HRESULT)0x80090016L } 4869 - 4870 -enum : HRESULT { NTE_PROV_TYPE_NOT_DEF = cast(HRESULT)0x80090017L } 4871 - 4872 -enum : HRESULT { NTE_PROV_TYPE_ENTRY_BAD = cast(HRESULT)0x80090018L } 4873 - 4874 -enum : HRESULT { NTE_KEYSET_NOT_DEF = cast(HRESULT)0x80090019L } 4875 - 4876 -enum : HRESULT { NTE_KEYSET_ENTRY_BAD = cast(HRESULT)0x8009001AL } 4877 - 4878 -enum : HRESULT { NTE_PROV_TYPE_NO_MATCH = cast(HRESULT)0x8009001BL } 4879 - 4880 -enum : HRESULT { NTE_SIGNATURE_FILE_BAD = cast(HRESULT)0x8009001CL } 4881 - 4882 -enum : HRESULT { NTE_PROVIDER_DLL_FAIL = cast(HRESULT)0x8009001DL } 4883 - 4884 -enum : HRESULT { NTE_PROV_DLL_NOT_FOUND = cast(HRESULT)0x8009001EL } 4885 - 4886 -enum : HRESULT { NTE_BAD_KEYSET_PARAM = cast(HRESULT)0x8009001FL } 4887 - 4888 -enum : HRESULT { NTE_FAIL = cast(HRESULT)0x80090020L } 4889 - 4890 -enum : HRESULT { NTE_SYS_ERR = cast(HRESULT)0x80090021L } 4891 - 4892 -enum : HRESULT { NTE_SILENT_CONTEXT = cast(HRESULT)0x80090022L } 4893 - 4894 -enum : HRESULT { NTE_TOKEN_KEYSET_STORAGE_FULL = cast(HRESULT)0x80090023L } 4895 - 4896 -enum : HRESULT { NTE_TEMPORARY_PROFILE = cast(HRESULT)0x80090024L } 4897 - 4898 -enum : HRESULT { NTE_FIXEDPARAMETER = cast(HRESULT)0x80090025L } 4899 - 4900 -enum : HRESULT { SEC_E_INSUFFICIENT_MEMORY = cast(HRESULT)0x80090300L } 4901 - 4902 -enum : HRESULT { SEC_E_INVALID_HANDLE = cast(HRESULT)0x80090301L } 4903 - 4904 -enum : HRESULT { SEC_E_UNSUPPORTED_FUNCTION = cast(HRESULT)0x80090302L } 4905 - 4906 -enum : HRESULT { SEC_E_TARGET_UNKNOWN = cast(HRESULT)0x80090303L } 4907 - 4908 -enum : HRESULT { SEC_E_INTERNAL_ERROR = cast(HRESULT)0x80090304L } 4909 - 4910 -enum : HRESULT { SEC_E_SECPKG_NOT_FOUND = cast(HRESULT)0x80090305L } 4911 - 4912 -enum : HRESULT { SEC_E_NOT_OWNER = cast(HRESULT)0x80090306L } 4913 - 4914 -enum : HRESULT { SEC_E_CANNOT_INSTALL = cast(HRESULT)0x80090307L } 4915 - 4916 -enum : HRESULT { SEC_E_INVALID_TOKEN = cast(HRESULT)0x80090308L } 4917 - 4918 -enum : HRESULT { SEC_E_CANNOT_PACK = cast(HRESULT)0x80090309L } 4919 - 4920 -enum : HRESULT { SEC_E_QOP_NOT_SUPPORTED = cast(HRESULT)0x8009030AL } 4921 - 4922 -enum : HRESULT { SEC_E_NO_IMPERSONATION = cast(HRESULT)0x8009030BL } 4923 - 4924 -enum : HRESULT { SEC_E_LOGON_DENIED = cast(HRESULT)0x8009030CL } 4925 - 4926 -enum : HRESULT { SEC_E_UNKNOWN_CREDENTIALS = cast(HRESULT)0x8009030DL } 4927 - 4928 -enum : HRESULT { SEC_E_NO_CREDENTIALS = cast(HRESULT)0x8009030EL } 4929 - 4930 -enum : HRESULT { SEC_E_MESSAGE_ALTERED = cast(HRESULT)0x8009030FL } 4931 - 4932 -enum : HRESULT { SEC_E_OUT_OF_SEQUENCE = cast(HRESULT)0x80090310L } 4933 - 4934 -enum : HRESULT { SEC_E_NO_AUTHENTICATING_AUTHORITY = cast(HRESULT)0x80090311L } 4935 - 4936 -enum : HRESULT { SEC_I_CONTINUE_NEEDED = cast(HRESULT)0x00090312L } 4937 - 4938 -enum : HRESULT { SEC_I_COMPLETE_NEEDED = cast(HRESULT)0x00090313L } 4939 - 4940 -enum : HRESULT { SEC_I_COMPLETE_AND_CONTINUE = cast(HRESULT)0x00090314L } 4941 - 4942 -enum : HRESULT { SEC_I_LOCAL_LOGON = cast(HRESULT)0x00090315L } 4943 - 4944 -enum : HRESULT { SEC_E_BAD_PKGID = cast(HRESULT)0x80090316L } 4945 - 4946 -enum : HRESULT { SEC_E_CONTEXT_EXPIRED = cast(HRESULT)0x80090317L } 4947 - 4948 -enum : HRESULT { SEC_I_CONTEXT_EXPIRED = cast(HRESULT)0x00090317L } 4949 - 4950 -enum : HRESULT { SEC_E_INCOMPLETE_MESSAGE = cast(HRESULT)0x80090318L } 4951 - 4952 -enum : HRESULT { SEC_E_INCOMPLETE_CREDENTIALS = cast(HRESULT)0x80090320L } 4953 - 4954 -enum : HRESULT { SEC_E_BUFFER_TOO_SMALL = cast(HRESULT)0x80090321L } 4955 - 4956 -enum : HRESULT { SEC_I_INCOMPLETE_CREDENTIALS = cast(HRESULT)0x00090320L } 4957 - 4958 -enum : HRESULT { SEC_I_RENEGOTIATE = cast(HRESULT)0x00090321L } 4959 - 4960 -enum : HRESULT { SEC_E_WRONG_PRINCIPAL = cast(HRESULT)0x80090322L } 4961 - 4962 -enum : HRESULT { SEC_I_NO_LSA_CONTEXT = cast(HRESULT)0x00090323L } 4963 - 4964 -enum : HRESULT { SEC_E_TIME_SKEW = cast(HRESULT)0x80090324L } 4965 - 4966 -enum : HRESULT { SEC_E_UNTRUSTED_ROOT = cast(HRESULT)0x80090325L } 4967 - 4968 -enum : HRESULT { SEC_E_ILLEGAL_MESSAGE = cast(HRESULT)0x80090326L } 4969 - 4970 -enum : HRESULT { SEC_E_CERT_UNKNOWN = cast(HRESULT)0x80090327L } 4971 - 4972 -enum : HRESULT { SEC_E_CERT_EXPIRED = cast(HRESULT)0x80090328L } 4973 - 4974 -enum : HRESULT { SEC_E_ENCRYPT_FAILURE = cast(HRESULT)0x80090329L } 4975 - 4976 -enum : HRESULT { SEC_E_DECRYPT_FAILURE = cast(HRESULT)0x80090330L } 4977 - 4978 -enum : HRESULT { SEC_E_ALGORITHM_MISMATCH = cast(HRESULT)0x80090331L } 4979 - 4980 -enum : HRESULT { SEC_E_SECURITY_QOS_FAILED = cast(HRESULT)0x80090332L } 4981 - 4982 -enum : HRESULT { SEC_E_UNFINISHED_CONTEXT_DELETED = cast(HRESULT)0x80090333L } 4983 - 4984 -enum : HRESULT { SEC_E_NO_TGT_REPLY = cast(HRESULT)0x80090334L } 4985 - 4986 -enum : HRESULT { SEC_E_NO_IP_ADDRESSES = cast(HRESULT)0x80090335L } 4987 - 4988 -enum : HRESULT { SEC_E_WRONG_CREDENTIAL_HANDLE = cast(HRESULT)0x80090336L } 4989 - 4990 -enum : HRESULT { SEC_E_CRYPTO_SYSTEM_INVALID = cast(HRESULT)0x80090337L } 4991 - 4992 -enum : HRESULT { SEC_E_MAX_REFERRALS_EXCEEDED = cast(HRESULT)0x80090338L } 4993 - 4994 -enum : HRESULT { SEC_E_MUST_BE_KDC = cast(HRESULT)0x80090339L } 4995 - 4996 -enum : HRESULT { SEC_E_STRONG_CRYPTO_NOT_SUPPORTED = cast(HRESULT)0x8009033AL } 4997 - 4998 -enum : HRESULT { SEC_E_TOO_MANY_PRINCIPALS = cast(HRESULT)0x8009033BL } 4999 - 5000 -enum : HRESULT { SEC_E_NO_PA_DATA = cast(HRESULT)0x8009033CL } 5001 - 5002 -enum : HRESULT { SEC_E_PKINIT_NAME_MISMATCH = cast(HRESULT)0x8009033DL } 5003 - 5004 -enum : HRESULT { SEC_E_SMARTCARD_LOGON_REQUIRED = cast(HRESULT)0x8009033EL } 5005 - 5006 -enum : HRESULT { SEC_E_SHUTDOWN_IN_PROGRESS = cast(HRESULT)0x8009033FL } 5007 - 5008 -enum : HRESULT { SEC_E_KDC_INVALID_REQUEST = cast(HRESULT)0x80090340L } 5009 - 5010 -enum : HRESULT { SEC_E_KDC_UNABLE_TO_REFER = cast(HRESULT)0x80090341L } 5011 - 5012 -enum : HRESULT { SEC_E_KDC_UNKNOWN_ETYPE = cast(HRESULT)0x80090342L } 5013 - 5014 -enum : HRESULT { SEC_E_UNSUPPORTED_PREAUTH = cast(HRESULT)0x80090343L } 5015 - 5016 -enum : HRESULT { SEC_E_DELEGATION_REQUIRED = cast(HRESULT)0x80090345L } 5017 - 5018 -enum : HRESULT { SEC_E_BAD_BINDINGS = cast(HRESULT)0x80090346L } 5019 - 5020 -enum : HRESULT { SEC_E_MULTIPLE_ACCOUNTS = cast(HRESULT)0x80090347L } 5021 - 5022 -enum : HRESULT { SEC_E_NO_KERB_KEY = cast(HRESULT)0x80090348L } 5023 - 5024 -alias SEC_E_INTERNAL_ERROR SEC_E_NO_SPM; 5025 -alias SEC_E_UNSUPPORTED_FUNCTION SEC_E_NOT_SUPPORTED; 5026 - 5027 -enum : HRESULT { CRYPT_E_MSG_ERROR = cast(HRESULT)0x80091001L } 5028 - 5029 -enum : HRESULT { CRYPT_E_UNKNOWN_ALGO = cast(HRESULT)0x80091002L } 5030 - 5031 -enum : HRESULT { CRYPT_E_OID_FORMAT = cast(HRESULT)0x80091003L } 5032 - 5033 -enum : HRESULT { CRYPT_E_INVALID_MSG_TYPE = cast(HRESULT)0x80091004L } 5034 - 5035 -enum : HRESULT { CRYPT_E_UNEXPECTED_ENCODING = cast(HRESULT)0x80091005L } 5036 - 5037 -enum : HRESULT { CRYPT_E_AUTH_ATTR_MISSING = cast(HRESULT)0x80091006L } 5038 - 5039 -enum : HRESULT { CRYPT_E_HASH_VALUE = cast(HRESULT)0x80091007L } 5040 - 5041 -enum : HRESULT { CRYPT_E_INVALID_INDEX = cast(HRESULT)0x80091008L } 5042 - 5043 -enum : HRESULT { CRYPT_E_ALREADY_DECRYPTED = cast(HRESULT)0x80091009L } 5044 - 5045 -enum : HRESULT { CRYPT_E_NOT_DECRYPTED = cast(HRESULT)0x8009100AL } 5046 - 5047 -enum : HRESULT { CRYPT_E_RECIPIENT_NOT_FOUND = cast(HRESULT)0x8009100BL } 5048 - 5049 -enum : HRESULT { CRYPT_E_CONTROL_TYPE = cast(HRESULT)0x8009100CL } 5050 - 5051 -enum : HRESULT { CRYPT_E_ISSUER_SERIALNUMBER = cast(HRESULT)0x8009100DL } 5052 - 5053 -enum : HRESULT { CRYPT_E_SIGNER_NOT_FOUND = cast(HRESULT)0x8009100EL } 5054 - 5055 -enum : HRESULT { CRYPT_E_ATTRIBUTES_MISSING = cast(HRESULT)0x8009100FL } 5056 - 5057 -enum : HRESULT { CRYPT_E_STREAM_MSG_NOT_READY = cast(HRESULT)0x80091010L } 5058 - 5059 -enum : HRESULT { CRYPT_E_STREAM_INSUFFICIENT_DATA = cast(HRESULT)0x80091011L } 5060 - 5061 -enum : HRESULT { CRYPT_I_NEW_PROTECTION_REQUIRED = cast(HRESULT)0x00091012L } 5062 - 5063 -enum : HRESULT { CRYPT_E_BAD_LEN = cast(HRESULT)0x80092001L } 5064 - 5065 -enum : HRESULT { CRYPT_E_BAD_ENCODE = cast(HRESULT)0x80092002L } 5066 - 5067 -enum : HRESULT { CRYPT_E_FILE_ERROR = cast(HRESULT)0x80092003L } 5068 - 5069 -enum : HRESULT { CRYPT_E_NOT_FOUND = cast(HRESULT)0x80092004L } 5070 - 5071 -enum : HRESULT { CRYPT_E_EXISTS = cast(HRESULT)0x80092005L } 5072 - 5073 -enum : HRESULT { CRYPT_E_NO_PROVIDER = cast(HRESULT)0x80092006L } 5074 - 5075 -enum : HRESULT { CRYPT_E_SELF_SIGNED = cast(HRESULT)0x80092007L } 5076 - 5077 -enum : HRESULT { CRYPT_E_DELETED_PREV = cast(HRESULT)0x80092008L } 5078 - 5079 -enum : HRESULT { CRYPT_E_NO_MATCH = cast(HRESULT)0x80092009L } 5080 - 5081 -enum : HRESULT { CRYPT_E_UNEXPECTED_MSG_TYPE = cast(HRESULT)0x8009200AL } 5082 - 5083 -enum : HRESULT { CRYPT_E_NO_KEY_PROPERTY = cast(HRESULT)0x8009200BL } 5084 - 5085 -enum : HRESULT { CRYPT_E_NO_DECRYPT_CERT = cast(HRESULT)0x8009200CL } 5086 - 5087 -enum : HRESULT { CRYPT_E_BAD_MSG = cast(HRESULT)0x8009200DL } 5088 - 5089 -enum : HRESULT { CRYPT_E_NO_SIGNER = cast(HRESULT)0x8009200EL } 5090 - 5091 -enum : HRESULT { CRYPT_E_PENDING_CLOSE = cast(HRESULT)0x8009200FL } 5092 - 5093 -enum : HRESULT { CRYPT_E_REVOKED = cast(HRESULT)0x80092010L } 5094 - 5095 -enum : HRESULT { CRYPT_E_NO_REVOCATION_DLL = cast(HRESULT)0x80092011L } 5096 - 5097 -enum : HRESULT { CRYPT_E_NO_REVOCATION_CHECK = cast(HRESULT)0x80092012L } 5098 - 5099 -enum : HRESULT { CRYPT_E_REVOCATION_OFFLINE = cast(HRESULT)0x80092013L } 5100 - 5101 -enum : HRESULT { CRYPT_E_NOT_IN_REVOCATION_DATABASE = cast(HRESULT)0x80092014L } 5102 - 5103 -enum : HRESULT { CRYPT_E_INVALID_NUMERIC_STRING = cast(HRESULT)0x80092020L } 5104 - 5105 -enum : HRESULT { CRYPT_E_INVALID_PRINTABLE_STRING = cast(HRESULT)0x80092021L } 5106 - 5107 -enum : HRESULT { CRYPT_E_INVALID_IA5_STRING = cast(HRESULT)0x80092022L } 5108 - 5109 -enum : HRESULT { CRYPT_E_INVALID_X500_STRING = cast(HRESULT)0x80092023L } 5110 - 5111 -enum : HRESULT { CRYPT_E_NOT_CHAR_STRING = cast(HRESULT)0x80092024L } 5112 - 5113 -enum : HRESULT { CRYPT_E_FILERESIZED = cast(HRESULT)0x80092025L } 5114 - 5115 -enum : HRESULT { CRYPT_E_SECURITY_SETTINGS = cast(HRESULT)0x80092026L } 5116 - 5117 -enum : HRESULT { CRYPT_E_NO_VERIFY_USAGE_DLL = cast(HRESULT)0x80092027L } 5118 - 5119 -enum : HRESULT { CRYPT_E_NO_VERIFY_USAGE_CHECK = cast(HRESULT)0x80092028L } 5120 - 5121 -enum : HRESULT { CRYPT_E_VERIFY_USAGE_OFFLINE = cast(HRESULT)0x80092029L } 5122 - 5123 -enum : HRESULT { CRYPT_E_NOT_IN_CTL = cast(HRESULT)0x8009202AL } 5124 - 5125 -enum : HRESULT { CRYPT_E_NO_TRUSTED_SIGNER = cast(HRESULT)0x8009202BL } 5126 - 5127 -enum : HRESULT { CRYPT_E_MISSING_PUBKEY_PARA = cast(HRESULT)0x8009202CL } 5128 - 5129 -enum : HRESULT { CRYPT_E_OSS_ERROR = cast(HRESULT)0x80093000L } 5130 - 5131 -enum : HRESULT { OSS_MORE_BUF = cast(HRESULT)0x80093001L } 5132 - 5133 -enum : HRESULT { OSS_NEGATIVE_UINTEGER = cast(HRESULT)0x80093002L } 5134 - 5135 -enum : HRESULT { OSS_PDU_RANGE = cast(HRESULT)0x80093003L } 5136 - 5137 -enum : HRESULT { OSS_MORE_INPUT = cast(HRESULT)0x80093004L } 5138 - 5139 -enum : HRESULT { OSS_DATA_ERROR = cast(HRESULT)0x80093005L } 5140 - 5141 -enum : HRESULT { OSS_BAD_ARG = cast(HRESULT)0x80093006L } 5142 - 5143 -enum : HRESULT { OSS_BAD_VERSION = cast(HRESULT)0x80093007L } 5144 - 5145 -enum : HRESULT { OSS_OUT_MEMORY = cast(HRESULT)0x80093008L } 5146 - 5147 -enum : HRESULT { OSS_PDU_MISMATCH = cast(HRESULT)0x80093009L } 5148 - 5149 -enum : HRESULT { OSS_LIMITED = cast(HRESULT)0x8009300AL } 5150 - 5151 -enum : HRESULT { OSS_BAD_PTR = cast(HRESULT)0x8009300BL } 5152 - 5153 -enum : HRESULT { OSS_BAD_TIME = cast(HRESULT)0x8009300CL } 5154 - 5155 -enum : HRESULT { OSS_INDEFINITE_NOT_SUPPORTED = cast(HRESULT)0x8009300DL } 5156 - 5157 -enum : HRESULT { OSS_MEM_ERROR = cast(HRESULT)0x8009300EL } 5158 - 5159 -enum : HRESULT { OSS_BAD_TABLE = cast(HRESULT)0x8009300FL } 5160 - 5161 -enum : HRESULT { OSS_TOO_LONG = cast(HRESULT)0x80093010L } 5162 - 5163 -enum : HRESULT { OSS_CONSTRAINT_VIOLATED = cast(HRESULT)0x80093011L } 5164 - 5165 -enum : HRESULT { OSS_FATAL_ERROR = cast(HRESULT)0x80093012L } 5166 - 5167 -enum : HRESULT { OSS_ACCESS_SERIALIZATION_ERROR = cast(HRESULT)0x80093013L } 5168 - 5169 -enum : HRESULT { OSS_NULL_TBL = cast(HRESULT)0x80093014L } 5170 - 5171 -enum : HRESULT { OSS_NULL_FCN = cast(HRESULT)0x80093015L } 5172 - 5173 -enum : HRESULT { OSS_BAD_ENCRULES = cast(HRESULT)0x80093016L } 5174 - 5175 -enum : HRESULT { OSS_UNAVAIL_ENCRULES = cast(HRESULT)0x80093017L } 5176 - 5177 -enum : HRESULT { OSS_CANT_OPEN_TRACE_WINDOW = cast(HRESULT)0x80093018L } 5178 - 5179 -enum : HRESULT { OSS_UNIMPLEMENTED = cast(HRESULT)0x80093019L } 5180 - 5181 -enum : HRESULT { OSS_OID_DLL_NOT_LINKED = cast(HRESULT)0x8009301AL } 5182 - 5183 -enum : HRESULT { OSS_CANT_OPEN_TRACE_FILE = cast(HRESULT)0x8009301BL } 5184 - 5185 -enum : HRESULT { OSS_TRACE_FILE_ALREADY_OPEN = cast(HRESULT)0x8009301CL } 5186 - 5187 -enum : HRESULT { OSS_TABLE_MISMATCH = cast(HRESULT)0x8009301DL } 5188 - 5189 -enum : HRESULT { OSS_TYPE_NOT_SUPPORTED = cast(HRESULT)0x8009301EL } 5190 - 5191 -enum : HRESULT { OSS_REAL_DLL_NOT_LINKED = cast(HRESULT)0x8009301FL } 5192 - 5193 -enum : HRESULT { OSS_REAL_CODE_NOT_LINKED = cast(HRESULT)0x80093020L } 5194 - 5195 -enum : HRESULT { OSS_OUT_OF_RANGE = cast(HRESULT)0x80093021L } 5196 - 5197 -enum : HRESULT { OSS_COPIER_DLL_NOT_LINKED = cast(HRESULT)0x80093022L } 5198 - 5199 -enum : HRESULT { OSS_CONSTRAINT_DLL_NOT_LINKED = cast(HRESULT)0x80093023L } 5200 - 5201 -enum : HRESULT { OSS_COMPARATOR_DLL_NOT_LINKED = cast(HRESULT)0x80093024L } 5202 - 5203 -enum : HRESULT { OSS_COMPARATOR_CODE_NOT_LINKED = cast(HRESULT)0x80093025L } 5204 - 5205 -enum : HRESULT { OSS_MEM_MGR_DLL_NOT_LINKED = cast(HRESULT)0x80093026L } 5206 - 5207 -enum : HRESULT { OSS_PDV_DLL_NOT_LINKED = cast(HRESULT)0x80093027L } 5208 - 5209 -enum : HRESULT { OSS_PDV_CODE_NOT_LINKED = cast(HRESULT)0x80093028L } 5210 - 5211 -enum : HRESULT { OSS_API_DLL_NOT_LINKED = cast(HRESULT)0x80093029L } 5212 - 5213 -enum : HRESULT { OSS_BERDER_DLL_NOT_LINKED = cast(HRESULT)0x8009302AL } 5214 - 5215 -enum : HRESULT { OSS_PER_DLL_NOT_LINKED = cast(HRESULT)0x8009302BL } 5216 - 5217 -enum : HRESULT { OSS_OPEN_TYPE_ERROR = cast(HRESULT)0x8009302CL } 5218 - 5219 -enum : HRESULT { OSS_MUTEX_NOT_CREATED = cast(HRESULT)0x8009302DL } 5220 - 5221 -enum : HRESULT { OSS_CANT_CLOSE_TRACE_FILE = cast(HRESULT)0x8009302EL } 5222 - 5223 -enum : HRESULT { CRYPT_E_ASN1_ERROR = cast(HRESULT)0x80093100L } 5224 - 5225 -enum : HRESULT { CRYPT_E_ASN1_INTERNAL = cast(HRESULT)0x80093101L } 5226 - 5227 -enum : HRESULT { CRYPT_E_ASN1_EOD = cast(HRESULT)0x80093102L } 5228 - 5229 -enum : HRESULT { CRYPT_E_ASN1_CORRUPT = cast(HRESULT)0x80093103L } 5230 - 5231 -enum : HRESULT { CRYPT_E_ASN1_LARGE = cast(HRESULT)0x80093104L } 5232 - 5233 -enum : HRESULT { CRYPT_E_ASN1_CONSTRAINT = cast(HRESULT)0x80093105L } 5234 - 5235 -enum : HRESULT { CRYPT_E_ASN1_MEMORY = cast(HRESULT)0x80093106L } 5236 - 5237 -enum : HRESULT { CRYPT_E_ASN1_OVERFLOW = cast(HRESULT)0x80093107L } 5238 - 5239 -enum : HRESULT { CRYPT_E_ASN1_BADPDU = cast(HRESULT)0x80093108L } 5240 - 5241 -enum : HRESULT { CRYPT_E_ASN1_BADARGS = cast(HRESULT)0x80093109L } 5242 - 5243 -enum : HRESULT { CRYPT_E_ASN1_BADREAL = cast(HRESULT)0x8009310AL } 5244 - 5245 -enum : HRESULT { CRYPT_E_ASN1_BADTAG = cast(HRESULT)0x8009310BL } 5246 - 5247 -enum : HRESULT { CRYPT_E_ASN1_CHOICE = cast(HRESULT)0x8009310CL } 5248 - 5249 -enum : HRESULT { CRYPT_E_ASN1_RULE = cast(HRESULT)0x8009310DL } 5250 - 5251 -enum : HRESULT { CRYPT_E_ASN1_UTF8 = cast(HRESULT)0x8009310EL } 5252 - 5253 -enum : HRESULT { CRYPT_E_ASN1_PDU_TYPE = cast(HRESULT)0x80093133L } 5254 - 5255 -enum : HRESULT { CRYPT_E_ASN1_NYI = cast(HRESULT)0x80093134L } 5256 - 5257 -enum : HRESULT { CRYPT_E_ASN1_EXTENDED = cast(HRESULT)0x80093201L } 5258 - 5259 -enum : HRESULT { CRYPT_E_ASN1_NOEOD = cast(HRESULT)0x80093202L } 5260 - 5261 -enum : HRESULT { CERTSRV_E_BAD_REQUESTSUBJECT = cast(HRESULT)0x80094001L } 5262 - 5263 -enum : HRESULT { CERTSRV_E_NO_REQUEST = cast(HRESULT)0x80094002L } 5264 - 5265 -enum : HRESULT { CERTSRV_E_BAD_REQUESTSTATUS = cast(HRESULT)0x80094003L } 5266 - 5267 -enum : HRESULT { CERTSRV_E_PROPERTY_EMPTY = cast(HRESULT)0x80094004L } 5268 - 5269 -enum : HRESULT { CERTSRV_E_INVALID_CA_CERTIFICATE = cast(HRESULT)0x80094005L } 5270 - 5271 -enum : HRESULT { CERTSRV_E_SERVER_SUSPENDED = cast(HRESULT)0x80094006L } 5272 - 5273 -enum : HRESULT { CERTSRV_E_ENCODING_LENGTH = cast(HRESULT)0x80094007L } 5274 - 5275 -enum : HRESULT { CERTSRV_E_ROLECONFLICT = cast(HRESULT)0x80094008L } 5276 - 5277 -enum : HRESULT { CERTSRV_E_RESTRICTEDOFFICER = cast(HRESULT)0x80094009L } 5278 - 5279 -enum : HRESULT { CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED = cast(HRESULT)0x8009400AL } 5280 - 5281 -enum : HRESULT { CERTSRV_E_NO_VALID_KRA = cast(HRESULT)0x8009400BL } 5282 - 5283 -enum : HRESULT { CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL = cast(HRESULT)0x8009400CL } 5284 - 5285 -enum : HRESULT { CERTSRV_E_NO_CAADMIN_DEFINED = cast(HRESULT)0x8009400DL } 5286 - 5287 -enum : HRESULT { CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE = cast(HRESULT)0x8009400EL } 5288 - 5289 -enum : HRESULT { CERTSRV_E_NO_DB_SESSIONS = cast(HRESULT)0x8009400FL } 5290 - 5291 -enum : HRESULT { CERTSRV_E_ALIGNMENT_FAULT = cast(HRESULT)0x80094010L } 5292 - 5293 -enum : HRESULT { CERTSRV_E_ENROLL_DENIED = cast(HRESULT)0x80094011L } 5294 - 5295 -enum : HRESULT { CERTSRV_E_TEMPLATE_DENIED = cast(HRESULT)0x80094012L } 5296 - 5297 -enum : HRESULT { CERTSRV_E_UNSUPPORTED_CERT_TYPE = cast(HRESULT)0x80094800L } 5298 - 5299 -enum : HRESULT { CERTSRV_E_NO_CERT_TYPE = cast(HRESULT)0x80094801L } 5300 - 5301 -enum : HRESULT { CERTSRV_E_TEMPLATE_CONFLICT = cast(HRESULT)0x80094802L } 5302 - 5303 -enum : HRESULT { CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED = cast(HRESULT)0x80094803L } 5304 - 5305 -enum : HRESULT { CERTSRV_E_ARCHIVED_KEY_REQUIRED = cast(HRESULT)0x80094804L } 5306 - 5307 -enum : HRESULT { CERTSRV_E_SMIME_REQUIRED = cast(HRESULT)0x80094805L } 5308 - 5309 -enum : HRESULT { CERTSRV_E_BAD_RENEWAL_SUBJECT = cast(HRESULT)0x80094806L } 5310 - 5311 -enum : HRESULT { CERTSRV_E_BAD_TEMPLATE_VERSION = cast(HRESULT)0x80094807L } 5312 - 5313 -enum : HRESULT { CERTSRV_E_TEMPLATE_POLICY_REQUIRED = cast(HRESULT)0x80094808L } 5314 - 5315 -enum : HRESULT { CERTSRV_E_SIGNATURE_POLICY_REQUIRED = cast(HRESULT)0x80094809L } 5316 - 5317 -enum : HRESULT { CERTSRV_E_SIGNATURE_COUNT = cast(HRESULT)0x8009480AL } 5318 - 5319 -enum : HRESULT { CERTSRV_E_SIGNATURE_REJECTED = cast(HRESULT)0x8009480BL } 5320 - 5321 -enum : HRESULT { CERTSRV_E_ISSUANCE_POLICY_REQUIRED = cast(HRESULT)0x8009480CL } 5322 - 5323 -enum : HRESULT { CERTSRV_E_SUBJECT_UPN_REQUIRED = cast(HRESULT)0x8009480DL } 5324 - 5325 -enum : HRESULT { CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED = cast(HRESULT)0x8009480EL } 5326 - 5327 -enum : HRESULT { CERTSRV_E_SUBJECT_DNS_REQUIRED = cast(HRESULT)0x8009480FL } 5328 - 5329 -enum : HRESULT { CERTSRV_E_ARCHIVED_KEY_UNEXPECTED = cast(HRESULT)0x80094810L } 5330 - 5331 -enum : HRESULT { CERTSRV_E_KEY_LENGTH = cast(HRESULT)0x80094811L } 5332 - 5333 -enum : HRESULT { XENROLL_E_KEY_NOT_EXPORTABLE = cast(HRESULT)0x80095000L } 5334 - 5335 -enum : HRESULT { XENROLL_E_CANNOT_ADD_ROOT_CERT = cast(HRESULT)0x80095001L } 5336 - 5337 -enum : HRESULT { XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND = cast(HRESULT)0x80095002L } 5338 - 5339 -enum : HRESULT { XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH = cast(HRESULT)0x80095003L } 5340 - 5341 -enum : HRESULT { XENROLL_E_RESPONSE_KA_HASH_MISMATCH = cast(HRESULT)0x80095004L } 5342 - 5343 -enum : HRESULT { XENROLL_E_KEYSPEC_SMIME_MISMATCH = cast(HRESULT)0x80095005L } 5344 - 5345 -enum : HRESULT { TRUST_E_SYSTEM_ERROR = cast(HRESULT)0x80096001L } 5346 - 5347 -enum : HRESULT { TRUST_E_NO_SIGNER_CERT = cast(HRESULT)0x80096002L } 5348 - 5349 -enum : HRESULT { TRUST_E_COUNTER_SIGNER = cast(HRESULT)0x80096003L } 5350 - 5351 -enum : HRESULT { TRUST_E_CERT_SIGNATURE = cast(HRESULT)0x80096004L } 5352 - 5353 -enum : HRESULT { TRUST_E_TIME_STAMP = cast(HRESULT)0x80096005L } 5354 - 5355 -enum : HRESULT { TRUST_E_BAD_DIGEST = cast(HRESULT)0x80096010L } 5356 - 5357 -enum : HRESULT { TRUST_E_BASIC_CONSTRAINTS = cast(HRESULT)0x80096019L } 5358 - 5359 -enum : HRESULT { TRUST_E_FINANCIAL_CRITERIA = cast(HRESULT)0x8009601EL } 5360 - 5361 -enum : HRESULT { MSSIPOTF_E_OUTOFMEMRANGE = cast(HRESULT)0x80097001L } 5362 - 5363 -enum : HRESULT { MSSIPOTF_E_CANTGETOBJECT = cast(HRESULT)0x80097002L } 5364 - 5365 -enum : HRESULT { MSSIPOTF_E_NOHEADTABLE = cast(HRESULT)0x80097003L } 5366 - 5367 -enum : HRESULT { MSSIPOTF_E_BAD_MAGICNUMBER = cast(HRESULT)0x80097004L } 5368 - 5369 -enum : HRESULT { MSSIPOTF_E_BAD_OFFSET_TABLE = cast(HRESULT)0x80097005L } 5370 - 5371 -enum : HRESULT { MSSIPOTF_E_TABLE_TAGORDER = cast(HRESULT)0x80097006L } 5372 - 5373 -enum : HRESULT { MSSIPOTF_E_TABLE_LONGWORD = cast(HRESULT)0x80097007L } 5374 - 5375 -enum : HRESULT { MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT = cast(HRESULT)0x80097008L } 5376 - 5377 -enum : HRESULT { MSSIPOTF_E_TABLES_OVERLAP = cast(HRESULT)0x80097009L } 5378 - 5379 -enum : HRESULT { MSSIPOTF_E_TABLE_PADBYTES = cast(HRESULT)0x8009700AL } 5380 - 5381 -enum : HRESULT { MSSIPOTF_E_FILETOOSMALL = cast(HRESULT)0x8009700BL } 5382 - 5383 -enum : HRESULT { MSSIPOTF_E_TABLE_CHECKSUM = cast(HRESULT)0x8009700CL } 5384 - 5385 -enum : HRESULT { MSSIPOTF_E_FILE_CHECKSUM = cast(HRESULT)0x8009700DL } 5386 - 5387 -enum : HRESULT { MSSIPOTF_E_FAILED_POLICY = cast(HRESULT)0x80097010L } 5388 - 5389 -enum : HRESULT { MSSIPOTF_E_FAILED_HINTS_CHECK = cast(HRESULT)0x80097011L } 5390 - 5391 -enum : HRESULT { MSSIPOTF_E_NOT_OPENTYPE = cast(HRESULT)0x80097012L } 5392 - 5393 -enum : HRESULT { MSSIPOTF_E_FILE = cast(HRESULT)0x80097013L } 5394 - 5395 -enum : HRESULT { MSSIPOTF_E_CRYPT = cast(HRESULT)0x80097014L } 5396 - 5397 -enum : HRESULT { MSSIPOTF_E_BADVERSION = cast(HRESULT)0x80097015L } 5398 - 5399 -enum : HRESULT { MSSIPOTF_E_DSIG_STRUCTURE = cast(HRESULT)0x80097016L } 5400 - 5401 -enum : HRESULT { MSSIPOTF_E_PCONST_CHECK = cast(HRESULT)0x80097017L } 5402 - 5403 -enum : HRESULT { MSSIPOTF_E_STRUCTURE = cast(HRESULT)0x80097018L } 5404 - 5405 -enum : uint { NTE_OP_OK = 0 } 5406 - 5407 -enum : HRESULT { TRUST_E_PROVIDER_UNKNOWN = cast(HRESULT)0x800B0001L } 5408 - 5409 -enum : HRESULT { TRUST_E_ACTION_UNKNOWN = cast(HRESULT)0x800B0002L } 5410 - 5411 -enum : HRESULT { TRUST_E_SUBJECT_FORM_UNKNOWN = cast(HRESULT)0x800B0003L } 5412 - 5413 -enum : HRESULT { TRUST_E_SUBJECT_NOT_TRUSTED = cast(HRESULT)0x800B0004L } 5414 - 5415 -enum : HRESULT { DIGSIG_E_ENCODE = cast(HRESULT)0x800B0005L } 5416 - 5417 -enum : HRESULT { DIGSIG_E_DECODE = cast(HRESULT)0x800B0006L } 5418 - 5419 -enum : HRESULT { DIGSIG_E_EXTENSIBILITY = cast(HRESULT)0x800B0007L } 5420 - 5421 -enum : HRESULT { DIGSIG_E_CRYPTO = cast(HRESULT)0x800B0008L } 5422 - 5423 -enum : HRESULT { PERSIST_E_SIZEDEFINITE = cast(HRESULT)0x800B0009L } 5424 - 5425 -enum : HRESULT { PERSIST_E_SIZEINDEFINITE = cast(HRESULT)0x800B000AL } 5426 - 5427 -enum : HRESULT { PERSIST_E_NOTSELFSIZING = cast(HRESULT)0x800B000BL } 5428 - 5429 -enum : HRESULT { TRUST_E_NOSIGNATURE = cast(HRESULT)0x800B0100L } 5430 - 5431 -enum : HRESULT { CERT_E_EXPIRED = cast(HRESULT)0x800B0101L } 5432 - 5433 -enum : HRESULT { CERT_E_VALIDITYPERIODNESTING = cast(HRESULT)0x800B0102L } 5434 - 5435 -enum : HRESULT { CERT_E_ROLE = cast(HRESULT)0x800B0103L } 5436 - 5437 -enum : HRESULT { CERT_E_PATHLENCONST = cast(HRESULT)0x800B0104L } 5438 - 5439 -enum : HRESULT { CERT_E_CRITICAL = cast(HRESULT)0x800B0105L } 5440 - 5441 -enum : HRESULT { CERT_E_PURPOSE = cast(HRESULT)0x800B0106L } 5442 - 5443 -enum : HRESULT { CERT_E_ISSUERCHAINING = cast(HRESULT)0x800B0107L } 5444 - 5445 -enum : HRESULT { CERT_E_MALFORMED = cast(HRESULT)0x800B0108L } 5446 - 5447 -enum : HRESULT { CERT_E_UNTRUSTEDROOT = cast(HRESULT)0x800B0109L } 5448 - 5449 -enum : HRESULT { CERT_E_CHAINING = cast(HRESULT)0x800B010AL } 5450 - 5451 -enum : HRESULT { TRUST_E_FAIL = cast(HRESULT)0x800B010BL } 5452 - 5453 -enum : HRESULT { CERT_E_REVOKED = cast(HRESULT)0x800B010CL } 5454 - 5455 -enum : HRESULT { CERT_E_UNTRUSTEDTESTROOT = cast(HRESULT)0x800B010DL } 5456 - 5457 -enum : HRESULT { CERT_E_REVOCATION_FAILURE = cast(HRESULT)0x800B010EL } 5458 - 5459 -enum : HRESULT { CERT_E_CN_NO_MATCH = cast(HRESULT)0x800B010FL } 5460 - 5461 -enum : HRESULT { CERT_E_WRONG_USAGE = cast(HRESULT)0x800B0110L } 5462 - 5463 -enum : HRESULT { TRUST_E_EXPLICIT_DISTRUST = cast(HRESULT)0x800B0111L } 5464 - 5465 -enum : HRESULT { CERT_E_UNTRUSTEDCA = cast(HRESULT)0x800B0112L } 5466 - 5467 -enum : HRESULT { CERT_E_INVALID_POLICY = cast(HRESULT)0x800B0113L } 5468 - 5469 -enum : HRESULT { CERT_E_INVALID_NAME = cast(HRESULT)0x800B0114L } 5470 - 5471 -// #define HRESULT_FROM_SETUPAPI(x) ((((x) & (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR)) == (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR)) ? ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_SETUPAPI << 16) | 0x80000000)) : HRESULT_FROM_WIN32(x)) 5472 - 5473 -enum : HRESULT { SPAPI_E_EXPECTED_SECTION_NAME = cast(HRESULT)0x800F0000L } 5474 - 5475 -enum : HRESULT { SPAPI_E_BAD_SECTION_NAME_LINE = cast(HRESULT)0x800F0001L } 5476 - 5477 -enum : HRESULT { SPAPI_E_SECTION_NAME_TOO_LONG = cast(HRESULT)0x800F0002L } 5478 - 5479 -enum : HRESULT { SPAPI_E_GENERAL_SYNTAX = cast(HRESULT)0x800F0003L } 5480 - 5481 -enum : HRESULT { SPAPI_E_WRONG_INF_STYLE = cast(HRESULT)0x800F0100L } 5482 - 5483 -enum : HRESULT { SPAPI_E_SECTION_NOT_FOUND = cast(HRESULT)0x800F0101L } 5484 - 5485 -enum : HRESULT { SPAPI_E_LINE_NOT_FOUND = cast(HRESULT)0x800F0102L } 5486 - 5487 -enum : HRESULT { SPAPI_E_NO_BACKUP = cast(HRESULT)0x800F0103L } 5488 - 5489 -enum : HRESULT { SPAPI_E_NO_ASSOCIATED_CLASS = cast(HRESULT)0x800F0200L } 5490 - 5491 -enum : HRESULT { SPAPI_E_CLASS_MISMATCH = cast(HRESULT)0x800F0201L } 5492 - 5493 -enum : HRESULT { SPAPI_E_DUPLICATE_FOUND = cast(HRESULT)0x800F0202L } 5494 - 5495 -enum : HRESULT { SPAPI_E_NO_DRIVER_SELECTED = cast(HRESULT)0x800F0203L } 5496 - 5497 -enum : HRESULT { SPAPI_E_KEY_DOES_NOT_EXIST = cast(HRESULT)0x800F0204L } 5498 - 5499 -enum : HRESULT { SPAPI_E_INVALID_DEVINST_NAME = cast(HRESULT)0x800F0205L } 5500 - 5501 -enum : HRESULT { SPAPI_E_INVALID_CLASS = cast(HRESULT)0x800F0206L } 5502 - 5503 -enum : HRESULT { SPAPI_E_DEVINST_ALREADY_EXISTS = cast(HRESULT)0x800F0207L } 5504 - 5505 -enum : HRESULT { SPAPI_E_DEVINFO_NOT_REGISTERED = cast(HRESULT)0x800F0208L } 5506 - 5507 -enum : HRESULT { SPAPI_E_INVALID_REG_PROPERTY = cast(HRESULT)0x800F0209L } 5508 - 5509 -enum : HRESULT { SPAPI_E_NO_INF = cast(HRESULT)0x800F020AL } 5510 - 5511 -enum : HRESULT { SPAPI_E_NO_SUCH_DEVINST = cast(HRESULT)0x800F020BL } 5512 - 5513 -enum : HRESULT { SPAPI_E_CANT_LOAD_CLASS_ICON = cast(HRESULT)0x800F020CL } 5514 - 5515 -enum : HRESULT { SPAPI_E_INVALID_CLASS_INSTALLER = cast(HRESULT)0x800F020DL } 5516 - 5517 -enum : HRESULT { SPAPI_E_DI_DO_DEFAULT = cast(HRESULT)0x800F020EL } 5518 - 5519 -enum : HRESULT { SPAPI_E_DI_NOFILECOPY = cast(HRESULT)0x800F020FL } 5520 - 5521 -enum : HRESULT { SPAPI_E_INVALID_HWPROFILE = cast(HRESULT)0x800F0210L } 5522 - 5523 -enum : HRESULT { SPAPI_E_NO_DEVICE_SELECTED = cast(HRESULT)0x800F0211L } 5524 - 5525 -enum : HRESULT { SPAPI_E_DEVINFO_LIST_LOCKED = cast(HRESULT)0x800F0212L } 5526 - 5527 -enum : HRESULT { SPAPI_E_DEVINFO_DATA_LOCKED = cast(HRESULT)0x800F0213L } 5528 - 5529 -enum : HRESULT { SPAPI_E_DI_BAD_PATH = cast(HRESULT)0x800F0214L } 5530 - 5531 -enum : HRESULT { SPAPI_E_NO_CLASSINSTALL_PARAMS = cast(HRESULT)0x800F0215L } 5532 - 5533 -enum : HRESULT { SPAPI_E_FILEQUEUE_LOCKED = cast(HRESULT)0x800F0216L } 5534 - 5535 -enum : HRESULT { SPAPI_E_BAD_SERVICE_INSTALLSECT = cast(HRESULT)0x800F0217L } 5536 - 5537 -enum : HRESULT { SPAPI_E_NO_CLASS_DRIVER_LIST = cast(HRESULT)0x800F0218L } 5538 - 5539 -enum : HRESULT { SPAPI_E_NO_ASSOCIATED_SERVICE = cast(HRESULT)0x800F0219L } 5540 - 5541 -enum : HRESULT { SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE = cast(HRESULT)0x800F021AL } 5542 - 5543 -enum : HRESULT { SPAPI_E_DEVICE_INTERFACE_ACTIVE = cast(HRESULT)0x800F021BL } 5544 - 5545 -enum : HRESULT { SPAPI_E_DEVICE_INTERFACE_REMOVED = cast(HRESULT)0x800F021CL } 5546 - 5547 -enum : HRESULT { SPAPI_E_BAD_INTERFACE_INSTALLSECT = cast(HRESULT)0x800F021DL } 5548 - 5549 -enum : HRESULT { SPAPI_E_NO_SUCH_INTERFACE_CLASS = cast(HRESULT)0x800F021EL } 5550 - 5551 -enum : HRESULT { SPAPI_E_INVALID_REFERENCE_STRING = cast(HRESULT)0x800F021FL } 5552 - 5553 -enum : HRESULT { SPAPI_E_INVALID_MACHINENAME = cast(HRESULT)0x800F0220L } 5554 - 5555 -enum : HRESULT { SPAPI_E_REMOTE_COMM_FAILURE = cast(HRESULT)0x800F0221L } 5556 - 5557 -enum : HRESULT { SPAPI_E_MACHINE_UNAVAILABLE = cast(HRESULT)0x800F0222L } 5558 - 5559 -enum : HRESULT { SPAPI_E_NO_CONFIGMGR_SERVICES = cast(HRESULT)0x800F0223L } 5560 - 5561 -enum : HRESULT { SPAPI_E_INVALID_PROPPAGE_PROVIDER = cast(HRESULT)0x800F0224L } 5562 - 5563 -enum : HRESULT { SPAPI_E_NO_SUCH_DEVICE_INTERFACE = cast(HRESULT)0x800F0225L } 5564 - 5565 -enum : HRESULT { SPAPI_E_DI_POSTPROCESSING_REQUIRED = cast(HRESULT)0x800F0226L } 5566 - 5567 -enum : HRESULT { SPAPI_E_INVALID_COINSTALLER = cast(HRESULT)0x800F0227L } 5568 - 5569 -enum : HRESULT { SPAPI_E_NO_COMPAT_DRIVERS = cast(HRESULT)0x800F0228L } 5570 - 5571 -enum : HRESULT { SPAPI_E_NO_DEVICE_ICON = cast(HRESULT)0x800F0229L } 5572 - 5573 -enum : HRESULT { SPAPI_E_INVALID_INF_LOGCONFIG = cast(HRESULT)0x800F022AL } 5574 - 5575 -enum : HRESULT { SPAPI_E_DI_DONT_INSTALL = cast(HRESULT)0x800F022BL } 5576 - 5577 -enum : HRESULT { SPAPI_E_INVALID_FILTER_DRIVER = cast(HRESULT)0x800F022CL } 5578 - 5579 -enum : HRESULT { SPAPI_E_NON_WINDOWS_NT_DRIVER = cast(HRESULT)0x800F022DL } 5580 - 5581 -enum : HRESULT { SPAPI_E_NON_WINDOWS_DRIVER = cast(HRESULT)0x800F022EL } 5582 - 5583 -enum : HRESULT { SPAPI_E_NO_CATALOG_FOR_OEM_INF = cast(HRESULT)0x800F022FL } 5584 - 5585 -enum : HRESULT { SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE = cast(HRESULT)0x800F0230L } 5586 - 5587 -enum : HRESULT { SPAPI_E_NOT_DISABLEABLE = cast(HRESULT)0x800F0231L } 5588 - 5589 -enum : HRESULT { SPAPI_E_CANT_REMOVE_DEVINST = cast(HRESULT)0x800F0232L } 5590 - 5591 -enum : HRESULT { SPAPI_E_INVALID_TARGET = cast(HRESULT)0x800F0233L } 5592 - 5593 -enum : HRESULT { SPAPI_E_DRIVER_NONNATIVE = cast(HRESULT)0x800F0234L } 5594 - 5595 -enum : HRESULT { SPAPI_E_IN_WOW64 = cast(HRESULT)0x800F0235L } 5596 - 5597 -enum : HRESULT { SPAPI_E_SET_SYSTEM_RESTORE_POINT = cast(HRESULT)0x800F0236L } 5598 - 5599 -enum : HRESULT { SPAPI_E_INCORRECTLY_COPIED_INF = cast(HRESULT)0x800F0237L } 5600 - 5601 -enum : HRESULT { SPAPI_E_SCE_DISABLED = cast(HRESULT)0x800F0238L } 5602 - 5603 -enum : HRESULT { SPAPI_E_ERROR_NOT_INSTALLED = cast(HRESULT)0x800F1000L } 5604 - 5605 -alias NO_ERROR SCARD_S_SUCCESS; 5606 - 5607 -enum : HRESULT { SCARD_F_INTERNAL_ERROR = cast(HRESULT)0x80100001L } 5608 - 5609 -enum : HRESULT { SCARD_E_CANCELLED = cast(HRESULT)0x80100002L } 5610 - 5611 -enum : HRESULT { SCARD_E_INVALID_HANDLE = cast(HRESULT)0x80100003L } 5612 - 5613 -enum : HRESULT { SCARD_E_INVALID_PARAMETER = cast(HRESULT)0x80100004L } 5614 - 5615 -enum : HRESULT { SCARD_E_INVALID_TARGET = cast(HRESULT)0x80100005L } 5616 - 5617 -enum : HRESULT { SCARD_E_NO_MEMORY = cast(HRESULT)0x80100006L } 5618 - 5619 -enum : HRESULT { SCARD_F_WAITED_TOO_LONG = cast(HRESULT)0x80100007L } 5620 - 5621 -enum : HRESULT { SCARD_E_INSUFFICIENT_BUFFER = cast(HRESULT)0x80100008L } 5622 - 5623 -enum : HRESULT { SCARD_E_UNKNOWN_READER = cast(HRESULT)0x80100009L } 5624 - 5625 -enum : HRESULT { SCARD_E_TIMEOUT = cast(HRESULT)0x8010000AL } 5626 - 5627 -enum : HRESULT { SCARD_E_SHARING_VIOLATION = cast(HRESULT)0x8010000BL } 5628 - 5629 -enum : HRESULT { SCARD_E_NO_SMARTCARD = cast(HRESULT)0x8010000CL } 5630 - 5631 -enum : HRESULT { SCARD_E_UNKNOWN_CARD = cast(HRESULT)0x8010000DL } 5632 - 5633 -enum : HRESULT { SCARD_E_CANT_DISPOSE = cast(HRESULT)0x8010000EL } 5634 - 5635 -enum : HRESULT { SCARD_E_PROTO_MISMATCH = cast(HRESULT)0x8010000FL } 5636 - 5637 -enum : HRESULT { SCARD_E_NOT_READY = cast(HRESULT)0x80100010L } 5638 - 5639 -enum : HRESULT { SCARD_E_INVALID_VALUE = cast(HRESULT)0x80100011L } 5640 - 5641 -enum : HRESULT { SCARD_E_SYSTEM_CANCELLED = cast(HRESULT)0x80100012L } 5642 - 5643 -enum : HRESULT { SCARD_F_COMM_ERROR = cast(HRESULT)0x80100013L } 5644 - 5645 -enum : HRESULT { SCARD_F_UNKNOWN_ERROR = cast(HRESULT)0x80100014L } 5646 - 5647 -enum : HRESULT { SCARD_E_INVALID_ATR = cast(HRESULT)0x80100015L } 5648 - 5649 -enum : HRESULT { SCARD_E_NOT_TRANSACTED = cast(HRESULT)0x80100016L } 5650 - 5651 -enum : HRESULT { SCARD_E_READER_UNAVAILABLE = cast(HRESULT)0x80100017L } 5652 - 5653 -enum : HRESULT { SCARD_P_SHUTDOWN = cast(HRESULT)0x80100018L } 5654 - 5655 -enum : HRESULT { SCARD_E_PCI_TOO_SMALL = cast(HRESULT)0x80100019L } 5656 - 5657 -enum : HRESULT { SCARD_E_READER_UNSUPPORTED = cast(HRESULT)0x8010001AL } 5658 - 5659 -enum : HRESULT { SCARD_E_DUPLICATE_READER = cast(HRESULT)0x8010001BL } 5660 - 5661 -enum : HRESULT { SCARD_E_CARD_UNSUPPORTED = cast(HRESULT)0x8010001CL } 5662 - 5663 -enum : HRESULT { SCARD_E_NO_SERVICE = cast(HRESULT)0x8010001DL } 5664 - 5665 -enum : HRESULT { SCARD_E_SERVICE_STOPPED = cast(HRESULT)0x8010001EL } 5666 - 5667 -enum : HRESULT { SCARD_E_UNEXPECTED = cast(HRESULT)0x8010001FL } 5668 - 5669 -enum : HRESULT { SCARD_E_ICC_INSTALLATION = cast(HRESULT)0x80100020L } 5670 - 5671 -enum : HRESULT { SCARD_E_ICC_CREATEORDER = cast(HRESULT)0x80100021L } 5672 - 5673 -enum : HRESULT { SCARD_E_UNSUPPORTED_FEATURE = cast(HRESULT)0x80100022L } 5674 - 5675 -enum : HRESULT { SCARD_E_DIR_NOT_FOUND = cast(HRESULT)0x80100023L } 5676 - 5677 -enum : HRESULT { SCARD_E_FILE_NOT_FOUND = cast(HRESULT)0x80100024L } 5678 - 5679 -enum : HRESULT { SCARD_E_NO_DIR = cast(HRESULT)0x80100025L } 5680 - 5681 -enum : HRESULT { SCARD_E_NO_FILE = cast(HRESULT)0x80100026L } 5682 - 5683 -enum : HRESULT { SCARD_E_NO_ACCESS = cast(HRESULT)0x80100027L } 5684 - 5685 -enum : HRESULT { SCARD_E_WRITE_TOO_MANY = cast(HRESULT)0x80100028L } 5686 - 5687 -enum : HRESULT { SCARD_E_BAD_SEEK = cast(HRESULT)0x80100029L } 5688 - 5689 -enum : HRESULT { SCARD_E_INVALID_CHV = cast(HRESULT)0x8010002AL } 5690 - 5691 -enum : HRESULT { SCARD_E_UNKNOWN_RES_MNG = cast(HRESULT)0x8010002BL } 5692 - 5693 -enum : HRESULT { SCARD_E_NO_SUCH_CERTIFICATE = cast(HRESULT)0x8010002CL } 5694 - 5695 -enum : HRESULT { SCARD_E_CERTIFICATE_UNAVAILABLE = cast(HRESULT)0x8010002DL } 5696 - 5697 -enum : HRESULT { SCARD_E_NO_READERS_AVAILABLE = cast(HRESULT)0x8010002EL } 5698 - 5699 -enum : HRESULT { SCARD_E_COMM_DATA_LOST = cast(HRESULT)0x8010002FL } 5700 - 5701 -enum : HRESULT { SCARD_E_NO_KEY_CONTAINER = cast(HRESULT)0x80100030L } 5702 - 5703 -enum : HRESULT { SCARD_W_UNSUPPORTED_CARD = cast(HRESULT)0x80100065L } 5704 - 5705 -enum : HRESULT { SCARD_W_UNRESPONSIVE_CARD = cast(HRESULT)0x80100066L } 5706 - 5707 -enum : HRESULT { SCARD_W_UNPOWERED_CARD = cast(HRESULT)0x80100067L } 5708 - 5709 -enum : HRESULT { SCARD_W_RESET_CARD = cast(HRESULT)0x80100068L } 5710 - 5711 -enum : HRESULT { SCARD_W_REMOVED_CARD = cast(HRESULT)0x80100069L } 5712 - 5713 -enum : HRESULT { SCARD_W_SECURITY_VIOLATION = cast(HRESULT)0x8010006AL } 5714 - 5715 -enum : HRESULT { SCARD_W_WRONG_CHV = cast(HRESULT)0x8010006BL } 5716 - 5717 -enum : HRESULT { SCARD_W_CHV_BLOCKED = cast(HRESULT)0x8010006CL } 5718 - 5719 -enum : HRESULT { SCARD_W_EOF = cast(HRESULT)0x8010006DL } 5720 - 5721 -enum : HRESULT { SCARD_W_CANCELLED_BY_USER = cast(HRESULT)0x8010006EL } 5722 - 5723 -enum : HRESULT { SCARD_W_CARD_NOT_AUTHENTICATED = cast(HRESULT)0x8010006FL } 5724 - 5725 -enum : HRESULT { COMADMIN_E_OBJECTERRORS = cast(HRESULT)0x80110401L } 5726 - 5727 -enum : HRESULT { COMADMIN_E_OBJECTINVALID = cast(HRESULT)0x80110402L } 5728 - 5729 -enum : HRESULT { COMADMIN_E_KEYMISSING = cast(HRESULT)0x80110403L } 5730 - 5731 -enum : HRESULT { COMADMIN_E_ALREADYINSTALLED = cast(HRESULT)0x80110404L } 5732 - 5733 -enum : HRESULT { COMADMIN_E_APP_FILE_WRITEFAIL = cast(HRESULT)0x80110407L } 5734 - 5735 -enum : HRESULT { COMADMIN_E_APP_FILE_READFAIL = cast(HRESULT)0x80110408L } 5736 - 5737 -enum : HRESULT { COMADMIN_E_APP_FILE_VERSION = cast(HRESULT)0x80110409L } 5738 - 5739 -enum : HRESULT { COMADMIN_E_BADPATH = cast(HRESULT)0x8011040AL } 5740 - 5741 -enum : HRESULT { COMADMIN_E_APPLICATIONEXISTS = cast(HRESULT)0x8011040BL } 5742 - 5743 -enum : HRESULT { COMADMIN_E_ROLEEXISTS = cast(HRESULT)0x8011040CL } 5744 - 5745 -enum : HRESULT { COMADMIN_E_CANTCOPYFILE = cast(HRESULT)0x8011040DL } 5746 - 5747 -enum : HRESULT { COMADMIN_E_NOUSER = cast(HRESULT)0x8011040FL } 5748 - 5749 -enum : HRESULT { COMADMIN_E_INVALIDUSERIDS = cast(HRESULT)0x80110410L } 5750 - 5751 -enum : HRESULT { COMADMIN_E_NOREGISTRYCLSID = cast(HRESULT)0x80110411L } 5752 - 5753 -enum : HRESULT { COMADMIN_E_BADREGISTRYPROGID = cast(HRESULT)0x80110412L } 5754 - 5755 -enum : HRESULT { COMADMIN_E_AUTHENTICATIONLEVEL = cast(HRESULT)0x80110413L } 5756 - 5757 -enum : HRESULT { COMADMIN_E_USERPASSWDNOTVALID = cast(HRESULT)0x80110414L } 5758 - 5759 -enum : HRESULT { COMADMIN_E_CLSIDORIIDMISMATCH = cast(HRESULT)0x80110418L } 5760 - 5761 -enum : HRESULT { COMADMIN_E_REMOTEINTERFACE = cast(HRESULT)0x80110419L } 5762 - 5763 -enum : HRESULT { COMADMIN_E_DLLREGISTERSERVER = cast(HRESULT)0x8011041AL } 5764 - 5765 -enum : HRESULT { COMADMIN_E_NOSERVERSHARE = cast(HRESULT)0x8011041BL } 5766 - 5767 -enum : HRESULT { COMADMIN_E_DLLLOADFAILED = cast(HRESULT)0x8011041DL } 5768 - 5769 -enum : HRESULT { COMADMIN_E_BADREGISTRYLIBID = cast(HRESULT)0x8011041EL } 5770 - 5771 -enum : HRESULT { COMADMIN_E_APPDIRNOTFOUND = cast(HRESULT)0x8011041FL } 5772 - 5773 -enum : HRESULT { COMADMIN_E_REGISTRARFAILED = cast(HRESULT)0x80110423L } 5774 - 5775 -enum : HRESULT { COMADMIN_E_COMPFILE_DOESNOTEXIST = cast(HRESULT)0x80110424L } 5776 - 5777 -enum : HRESULT { COMADMIN_E_COMPFILE_LOADDLLFAIL = cast(HRESULT)0x80110425L } 5778 - 5779 -enum : HRESULT { COMADMIN_E_COMPFILE_GETCLASSOBJ = cast(HRESULT)0x80110426L } 5780 - 5781 -enum : HRESULT { COMADMIN_E_COMPFILE_CLASSNOTAVAIL = cast(HRESULT)0x80110427L } 5782 - 5783 -enum : HRESULT { COMADMIN_E_COMPFILE_BADTLB = cast(HRESULT)0x80110428L } 5784 - 5785 -enum : HRESULT { COMADMIN_E_COMPFILE_NOTINSTALLABLE = cast(HRESULT)0x80110429L } 5786 - 5787 -enum : HRESULT { COMADMIN_E_NOTCHANGEABLE = cast(HRESULT)0x8011042AL } 5788 - 5789 -enum : HRESULT { COMADMIN_E_NOTDELETEABLE = cast(HRESULT)0x8011042BL } 5790 - 5791 -enum : HRESULT { COMADMIN_E_SESSION = cast(HRESULT)0x8011042CL } 5792 - 5793 -enum : HRESULT { COMADMIN_E_COMP_MOVE_LOCKED = cast(HRESULT)0x8011042DL } 5794 - 5795 -enum : HRESULT { COMADMIN_E_COMP_MOVE_BAD_DEST = cast(HRESULT)0x8011042EL } 5796 - 5797 -enum : HRESULT { COMADMIN_E_REGISTERTLB = cast(HRESULT)0x80110430L } 5798 - 5799 -enum : HRESULT { COMADMIN_E_SYSTEMAPP = cast(HRESULT)0x80110433L } 5800 - 5801 -enum : HRESULT { COMADMIN_E_COMPFILE_NOREGISTRAR = cast(HRESULT)0x80110434L } 5802 - 5803 -enum : HRESULT { COMADMIN_E_COREQCOMPINSTALLED = cast(HRESULT)0x80110435L } 5804 - 5805 -enum : HRESULT { COMADMIN_E_SERVICENOTINSTALLED = cast(HRESULT)0x80110436L } 5806 - 5807 -enum : HRESULT { COMADMIN_E_PROPERTYSAVEFAILED = cast(HRESULT)0x80110437L } 5808 - 5809 -enum : HRESULT { COMADMIN_E_OBJECTEXISTS = cast(HRESULT)0x80110438L } 5810 - 5811 -enum : HRESULT { COMADMIN_E_COMPONENTEXISTS = cast(HRESULT)0x80110439L } 5812 - 5813 -enum : HRESULT { COMADMIN_E_REGFILE_CORRUPT = cast(HRESULT)0x8011043BL } 5814 - 5815 -enum : HRESULT { COMADMIN_E_PROPERTY_OVERFLOW = cast(HRESULT)0x8011043CL } 5816 - 5817 -enum : HRESULT { COMADMIN_E_NOTINREGISTRY = cast(HRESULT)0x8011043EL } 5818 - 5819 -enum : HRESULT { COMADMIN_E_OBJECTNOTPOOLABLE = cast(HRESULT)0x8011043FL } 5820 - 5821 -enum : HRESULT { COMADMIN_E_APPLID_MATCHES_CLSID = cast(HRESULT)0x80110446L } 5822 - 5823 -enum : HRESULT { COMADMIN_E_ROLE_DOES_NOT_EXIST = cast(HRESULT)0x80110447L } 5824 - 5825 -enum : HRESULT { COMADMIN_E_START_APP_NEEDS_COMPONENTS = cast(HRESULT)0x80110448L } 5826 - 5827 -enum : HRESULT { COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM = cast(HRESULT)0x80110449L } 5828 - 5829 -enum : HRESULT { COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY = cast(HRESULT)0x8011044AL } 5830 - 5831 -enum : HRESULT { COMADMIN_E_CAN_NOT_START_APP = cast(HRESULT)0x8011044BL } 5832 - 5833 -enum : HRESULT { COMADMIN_E_CAN_NOT_EXPORT_SYS_APP = cast(HRESULT)0x8011044CL } 5834 - 5835 -enum : HRESULT { COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT = cast(HRESULT)0x8011044DL } 5836 - 5837 -enum : HRESULT { COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER = cast(HRESULT)0x8011044EL } 5838 - 5839 -enum : HRESULT { COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE = cast(HRESULT)0x8011044FL } 5840 - 5841 -enum : HRESULT { COMADMIN_E_BASE_PARTITION_ONLY = cast(HRESULT)0x80110450L } 5842 - 5843 -enum : HRESULT { COMADMIN_E_START_APP_DISABLED = cast(HRESULT)0x80110451L } 5844 - 5845 -enum : HRESULT { COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME = cast(HRESULT)0x80110457L } 5846 - 5847 -enum : HRESULT { COMADMIN_E_CAT_INVALID_PARTITION_NAME = cast(HRESULT)0x80110458L } 5848 - 5849 -enum : HRESULT { COMADMIN_E_CAT_PARTITION_IN_USE = cast(HRESULT)0x80110459L } 5850 - 5851 -enum : HRESULT { COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES = cast(HRESULT)0x8011045AL } 5852 - 5853 -enum : HRESULT { COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED = cast(HRESULT)0x8011045BL } 5854 - 5855 -enum : HRESULT { COMADMIN_E_AMBIGUOUS_APPLICATION_NAME = cast(HRESULT)0x8011045CL } 5856 - 5857 -enum : HRESULT { COMADMIN_E_AMBIGUOUS_PARTITION_NAME = cast(HRESULT)0x8011045DL } 5858 - 5859 -enum : HRESULT { COMADMIN_E_REGDB_NOTINITIALIZED = cast(HRESULT)0x80110472L } 5860 - 5861 -enum : HRESULT { COMADMIN_E_REGDB_NOTOPEN = cast(HRESULT)0x80110473L } 5862 - 5863 -enum : HRESULT { COMADMIN_E_REGDB_SYSTEMERR = cast(HRESULT)0x80110474L } 5864 - 5865 -enum : HRESULT { COMADMIN_E_REGDB_ALREADYRUNNING = cast(HRESULT)0x80110475L } 5866 - 5867 -enum : HRESULT { COMADMIN_E_MIG_VERSIONNOTSUPPORTED = cast(HRESULT)0x80110480L } 5868 - 5869 -enum : HRESULT { COMADMIN_E_MIG_SCHEMANOTFOUND = cast(HRESULT)0x80110481L } 5870 - 5871 -enum : HRESULT { COMADMIN_E_CAT_BITNESSMISMATCH = cast(HRESULT)0x80110482L } 5872 - 5873 -enum : HRESULT { COMADMIN_E_CAT_UNACCEPTABLEBITNESS = cast(HRESULT)0x80110483L } 5874 - 5875 -enum : HRESULT { COMADMIN_E_CAT_WRONGAPPBITNESS = cast(HRESULT)0x80110484L } 5876 - 5877 -enum : HRESULT { COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED = cast(HRESULT)0x80110485L } 5878 - 5879 -enum : HRESULT { COMADMIN_E_CAT_SERVERFAULT = cast(HRESULT)0x80110486L } 5880 - 5881 -enum : HRESULT { COMQC_E_APPLICATION_NOT_QUEUED = cast(HRESULT)0x80110600L } 5882 - 5883 -enum : HRESULT { COMQC_E_NO_QUEUEABLE_INTERFACES = cast(HRESULT)0x80110601L } 5884 - 5885 -enum : HRESULT { COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE = cast(HRESULT)0x80110602L } 5886 - 5887 -enum : HRESULT { COMQC_E_NO_IPERSISTSTREAM = cast(HRESULT)0x80110603L } 5888 - 5889 -enum : HRESULT { COMQC_E_BAD_MESSAGE = cast(HRESULT)0x80110604L } 5890 - 5891 -enum : HRESULT { COMQC_E_UNAUTHENTICATED = cast(HRESULT)0x80110605L } 5892 - 5893 -enum : HRESULT { COMQC_E_UNTRUSTED_ENQUEUER = cast(HRESULT)0x80110606L } 5894 - 5895 -enum : HRESULT { MSDTC_E_DUPLICATE_RESOURCE = cast(HRESULT)0x80110701L } 5896 - 5897 -enum : HRESULT { COMADMIN_E_OBJECT_PARENT_MISSING = cast(HRESULT)0x80110808L } 5898 - 5899 -enum : HRESULT { COMADMIN_E_OBJECT_DOES_NOT_EXIST = cast(HRESULT)0x80110809L } 5900 - 5901 -enum : HRESULT { COMADMIN_E_APP_NOT_RUNNING = cast(HRESULT)0x8011080AL } 5902 - 5903 -enum : HRESULT { COMADMIN_E_INVALID_PARTITION = cast(HRESULT)0x8011080BL } 5904 - 5905 -enum : HRESULT { COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE = cast(HRESULT)0x8011080DL } 5906 - 5907 -enum : HRESULT { COMADMIN_E_USER_IN_SET = cast(HRESULT)0x8011080EL } 5908 - 5909 -enum : HRESULT { COMADMIN_E_CANTRECYCLELIBRARYAPPS = cast(HRESULT)0x8011080FL } 5910 - 5911 -enum : HRESULT { COMADMIN_E_CANTRECYCLESERVICEAPPS = cast(HRESULT)0x80110811L } 5912 - 5913 -enum : HRESULT { COMADMIN_E_PROCESSALREADYRECYCLED = cast(HRESULT)0x80110812L } 5914 - 5915 -enum : HRESULT { COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED = cast(HRESULT)0x80110813L } 5916 - 5917 -enum : HRESULT { COMADMIN_E_CANTMAKEINPROCSERVICE = cast(HRESULT)0x80110814L } 5918 - 5919 -enum : HRESULT { COMADMIN_E_PROGIDINUSEBYCLSID = cast(HRESULT)0x80110815L } 5920 - 5921 -enum : HRESULT { COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET = cast(HRESULT)0x80110816L } 5922 - 5923 -enum : HRESULT { COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED = cast(HRESULT)0x80110817L } 5924 - 5925 -enum : HRESULT { COMADMIN_E_PARTITION_ACCESSDENIED = cast(HRESULT)0x80110818L } 5926 - 5927 -enum : HRESULT { COMADMIN_E_PARTITION_MSI_ONLY = cast(HRESULT)0x80110819L } 5928 - 5929 -enum : HRESULT { COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT = cast(HRESULT)0x8011081AL } 5930 - 5931 -enum : HRESULT { COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS = cast(HRESULT)0x8011081BL } 5932 - 5933 -enum : HRESULT { COMADMIN_E_COMP_MOVE_SOURCE = cast(HRESULT)0x8011081CL } 5934 - 5935 -enum : HRESULT { COMADMIN_E_COMP_MOVE_DEST = cast(HRESULT)0x8011081DL } 5936 - 5937 -enum : HRESULT { COMADMIN_E_COMP_MOVE_PRIVATE = cast(HRESULT)0x8011081EL } 5938 - 5939 -enum : HRESULT { COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET = cast(HRESULT)0x8011081FL } 5940 - 5941 -enum : HRESULT { COMADMIN_E_CANNOT_ALIAS_EVENTCLASS = cast(HRESULT)0x80110820L } 5942 - 5943 -enum : HRESULT { COMADMIN_E_PRIVATE_ACCESSDENIED = cast(HRESULT)0x80110821L } 5944 - 5945 -enum : HRESULT { COMADMIN_E_SAFERINVALID = cast(HRESULT)0x80110822L } 5946 - 5947 -enum : HRESULT { COMADMIN_E_REGISTRY_ACCESSDENIED = cast(HRESULT)0x80110823L } 5948 - 5949 -enum : HRESULT { COMADMIN_E_CAT_DUPLICATE_PARTITION_SET_NAME = cast(HRESULT)0x80110900L } 5950 - 5951 -enum : HRESULT { COMADMIN_E_CAT_INVALID_PARTITION_SET_NAME = cast(HRESULT)0x80110901L } 5952 - 5953 -// #endif//_WINERROR_ 2308 +HRESULT PropagateResult(HRESULT hrPrevious, SCODE scBase) { 2309 + return scBase; 2310 +}

Modified src/win32/wingdi.d from [8dc90b344401d2c4] to [831d9d5a2951cb99].

1 + 2 +/***********************************************************************\ 3 +* wingdi.d * 4 +* * 5 +* Windows API header module * 6 +* * 7 +* Translated from MinGW Windows headers * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.wingdi; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.windef; 7 - 8 -// #ifndef _WINGDI_ 9 -// #define _WINGDI_ 10 - 11 -// #ifdef _MAC 12 -// #... 13 -// #endif 14 - 15 -// #if !defined(_GDI32_) 16 -// #define WINGDIAPI DECLSPEC_IMPORT 17 -// #else 18 -// #... 19 -// #endif 20 - 21 -// #if !defined(_SPOOL32_) 22 -// #define WINSPOOLAPI DECLSPEC_IMPORT 23 -// #else 24 -// #... 25 -// #endif 26 - 27 -// #ifdef __cplusplus 28 -// extern "C" { 29 -// #endif 30 - 31 -// #ifndef WINVER 32 -// #... 33 -// #endif /* WINVER */ 34 - 35 -// #ifndef NOGDI 36 - 37 -// #ifndef NORASTEROPS 38 - 39 -enum : uint { R2_BLACK = 1 } 40 -enum : uint { R2_NOTMERGEPEN = 2 } 41 -enum : uint { R2_MASKNOTPEN = 3 } 42 -enum : uint { R2_NOTCOPYPEN = 4 } 43 -enum : uint { R2_MASKPENNOT = 5 } 44 -enum : uint { R2_NOT = 6 } 45 -enum : uint { R2_XORPEN = 7 } 46 -enum : uint { R2_NOTMASKPEN = 8 } 47 -enum : uint { R2_MASKPEN = 9 } 48 -enum : uint { R2_NOTXORPEN = 10 } 49 -enum : uint { R2_NOP = 11 } 50 -enum : uint { R2_MERGENOTPEN = 12 } 51 -enum : uint { R2_COPYPEN = 13 } 52 -enum : uint { R2_MERGEPENNOT = 14 } 53 -enum : uint { R2_MERGEPEN = 15 } 54 -enum : uint { R2_WHITE = 16 } 55 -enum : uint { R2_LAST = 16 } 56 - 57 -enum : DWORD { SRCCOPY = 0x00CC0020 } 58 -enum : DWORD { SRCPAINT = 0x00EE0086 } 59 -enum : DWORD { SRCAND = 0x008800C6 } 60 -enum : DWORD { SRCINVERT = 0x00660046 } 61 -enum : DWORD { SRCERASE = 0x00440328 } 62 -enum : DWORD { NOTSRCCOPY = 0x00330008 } 63 -enum : DWORD { NOTSRCERASE = 0x001100A6 } 64 -enum : DWORD { MERGECOPY = 0x00C000CA } 65 -enum : DWORD { MERGEPAINT = 0x00BB0226 } 66 -enum : DWORD { PATCOPY = 0x00F00021 } 67 -enum : DWORD { PATPAINT = 0x00FB0A09 } 68 -enum : DWORD { PATINVERT = 0x005A0049 } 69 -enum : DWORD { DSTINVERT = 0x00550009 } 70 -enum : DWORD { BLACKNESS = 0x00000042 } 71 -enum : DWORD { WHITENESS = 0x00FF0062 } 72 -// #if(WINVER >= 0x0500) 73 - 74 -enum : DWORD { NOMIRRORBITMAP = 0x80000000 } 75 -enum : DWORD { CAPTUREBLT = 0x40000000 } 76 -// #endif /* WINVER >= 0x0500 */ 77 - 78 -DWORD MAKEROP4(DWORD fore, DWORD back){ return ((back << 8) & 0xFF000000) | fore; } 79 - 80 -// #endif /* NORASTEROPS */ 81 - 82 -enum : uint { GDI_ERROR = 0xFFFFFFFF } 83 -const HANDLE HGDI_ERROR = cast(HANDLE)(0xFFFFFFFFL); 84 - 85 -enum : uint { ERROR = 0 } 86 -enum : uint { NULLREGION = 1 } 87 -enum : uint { SIMPLEREGION = 2 } 88 -enum : uint { COMPLEXREGION = 3 } 12 +pragma(lib, "gdi32.lib"); 13 + 14 +// FIXME: clean up Windows version support 15 + 16 +private import win32.w32api, win32.windef, win32.winver; 17 + 18 +// BITMAPINFOHEADER.biCompression 19 +enum : DWORD { 20 + BI_RGB = 0, 21 + BI_RLE8, 22 + BI_RLE4, 23 + BI_BITFIELDS, 24 + BI_JPEG, 25 + BI_PNG 26 +} 27 + 28 +// --- 29 +// COLORADJUSTMENT -- only for NT 3.1+, Win2000+ 30 +const WORD 31 +CA_NEGATIVE = 1, 32 +CA_LOG_FILTER = 2; 33 + 34 +// COLORADJUSTMENT 35 +enum : WORD { 36 + ILLUMINANT_DEVICE_DEFAULT = 0, 37 + ILLUMINANT_A, 38 + ILLUMINANT_B, 39 + ILLUMINANT_C, 40 + ILLUMINANT_D50, 41 + ILLUMINANT_D55, 42 + ILLUMINANT_D65, 43 + ILLUMINANT_D75, 44 + ILLUMINANT_F2, 45 + ILLUMINANT_MAX_INDEX = ILLUMINANT_F2, 46 + ILLUMINANT_TUNGSTEN = ILLUMINANT_A, 47 + ILLUMINANT_DAYLIGHT = ILLUMINANT_C, 48 + ILLUMINANT_FLUORESCENT = ILLUMINANT_F2, 49 + ILLUMINANT_NTSC = ILLUMINANT_C 50 +} 51 + 52 +enum { 53 + RGB_GAMMA_MIN = 2500, 54 + RGB_GAMMA_MAX = 65000, 55 + REFERENCE_WHITE_MIN = 6000, 56 + REFERENCE_WHITE_MAX = 10000, 57 + REFERENCE_BLACK_MIN = 0, 58 + REFERENCE_BLACK_MAX = 4000, 59 + COLOR_ADJ_MIN = -100, 60 + COLOR_ADJ_MAX = 100, 61 +} 62 + 63 +// --- 64 + 65 +/* FIXME: move to win32.winuser ? */ 66 + 67 +// DrawIconEx() 68 +enum : UINT { 69 + DI_MASK = 1, 70 + DI_IMAGE = 2, 71 + DI_NORMAL = 3, 72 + DI_COMPAT = 4, 73 + DI_DEFAULTSIZE = 8 74 +} 75 + 76 +// DOCINFO 77 +enum : DWORD { 78 + DI_APPBANDING = 1, 79 + DI_ROPS_READ_DESTINATION = 2, 80 +} 81 + 82 +// ENHMETAHEADER 83 +enum : DWORD { 84 + EMR_HEADER = 1, 85 + EMR_POLYBEZIER, 86 + EMR_POLYGON, 87 + EMR_POLYLINE, 88 + EMR_POLYBEZIERTO, 89 + EMR_POLYLINETO, 90 + EMR_POLYPOLYLINE, 91 + EMR_POLYPOLYGON, 92 + EMR_SETWINDOWEXTEX, 93 + EMR_SETWINDOWORGEX, 94 + EMR_SETVIEWPORTEXTEX, 95 + EMR_SETVIEWPORTORGEX, 96 + EMR_SETBRUSHORGEX, 97 + EMR_EOF, 98 + EMR_SETPIXELV, 99 + EMR_SETMAPPERFLAGS, 100 + EMR_SETMAPMODE, 101 + EMR_SETBKMODE, 102 + EMR_SETPOLYFILLMODE, 103 + EMR_SETROP2, 104 + EMR_SETSTRETCHBLTMODE, 105 + EMR_SETTEXTALIGN, 106 + EMR_SETCOLORADJUSTMENT, 107 + EMR_SETTEXTCOLOR, 108 + EMR_SETBKCOLOR, 109 + EMR_OFFSETCLIPRGN, 110 + EMR_MOVETOEX, 111 + EMR_SETMETARGN, 112 + EMR_EXCLUDECLIPRECT, 113 + EMR_INTERSECTCLIPRECT, 114 + EMR_SCALEVIEWPORTEXTEX, 115 + EMR_SCALEWINDOWEXTEX, 116 + EMR_SAVEDC, 117 + EMR_RESTOREDC, 118 + EMR_SETWORLDTRANSFORM, 119 + EMR_MODIFYWORLDTRANSFORM, 120 + EMR_SELECTOBJECT, 121 + EMR_CREATEPEN, 122 + EMR_CREATEBRUSHINDIRECT, 123 + EMR_DELETEOBJECT, 124 + EMR_ANGLEARC, 125 + EMR_ELLIPSE, 126 + EMR_RECTANGLE, 127 + EMR_ROUNDRECT, 128 + EMR_ARC, 129 + EMR_CHORD, 130 + EMR_PIE, 131 + EMR_SELECTPALETTE, 132 + EMR_CREATEPALETTE, 133 + EMR_SETPALETTEENTRIES, 134 + EMR_RESIZEPALETTE, 135 + EMR_REALIZEPALETTE, 136 + EMR_EXTFLOODFILL, 137 + EMR_LINETO, 138 + EMR_ARCTO, 139 + EMR_POLYDRAW, 140 + EMR_SETARCDIRECTION, 141 + EMR_SETMITERLIMIT, 142 + EMR_BEGINPATH, 143 + EMR_ENDPATH, 144 + EMR_CLOSEFIGURE, 145 + EMR_FILLPATH, 146 + EMR_STROKEANDFILLPATH, 147 + EMR_STROKEPATH, 148 + EMR_FLATTENPATH, 149 + EMR_WIDENPATH, 150 + EMR_SELECTCLIPPATH, 151 + EMR_ABORTPATH, // 68 152 + // reserved 69 153 + EMR_GDICOMMENT = 70, 154 + EMR_FILLRGN, 155 + EMR_FRAMERGN, 156 + EMR_INVERTRGN, 157 + EMR_PAINTRGN, 158 + EMR_EXTSELECTCLIPRGN, 159 + EMR_BITBLT, 160 + EMR_STRETCHBLT, 161 + EMR_MASKBLT, 162 + EMR_PLGBLT, 163 + EMR_SETDIBITSTODEVICE, 164 + EMR_STRETCHDIBITS, 165 + EMR_EXTCREATEFONTINDIRECTW, 166 + EMR_EXTTEXTOUTA, 167 + EMR_EXTTEXTOUTW, 168 + EMR_POLYBEZIER16, 169 + EMR_POLYGON16, 170 + EMR_POLYLINE16, 171 + EMR_POLYBEZIERTO16, 172 + EMR_POLYLINETO16, 173 + EMR_POLYPOLYLINE16, 174 + EMR_POLYPOLYGON16, 175 + EMR_POLYDRAW16, 176 + EMR_CREATEMONOBRUSH, 177 + EMR_CREATEDIBPATTERNBRUSHPT, 178 + EMR_EXTCREATEPEN, 179 + EMR_POLYTEXTOUTA, 180 + EMR_POLYTEXTOUTW, // 97 181 + EMR_SETICMMODE, 182 + EMR_CREATECOLORSPACE, 183 + EMR_SETCOLORSPACE, 184 + EMR_DELETECOLORSPACE, 185 + EMR_GLSRECORD, 186 + EMR_GLSBOUNDEDRECORD, 187 + EMR_PIXELFORMAT, // = 104 188 + // reserved 105 - 110 189 + EMR_COLORCORRECTPALETTE = 111, 190 + EMR_SETICMPROFILEA, 191 + EMR_SETICMPROFILEW, 192 + EMR_ALPHABLEND, 193 + EMR_SETLAYOUT, 194 + EMR_TRANSPARENTBLT, // 116 195 + // reserved 117 196 + EMR_GRADIENTFILL = 118, 197 + 198 + // reserved 119, 120 199 + EMR_COLORMATCHTOTARGETW = 121, 200 + EMR_CREATECOLORSPACEW // 122 201 +} 202 + 203 +const EMR_MIN = EMR_HEADER; 204 + 205 +static 206 + 207 +if (WINVER >= 0x0500) 208 + const EMR_MAX = EMR_CREATECOLORSPACEW; 209 +else static 210 + 211 + if (WINVER >= 0x0400) 212 + const EMR_MAX = EMR_PIXELFORMAT; 213 + else 214 + const EMR_MAX = EMR_POLYTEXTOUTW; 215 + 216 +// ENHMETAHEADER.dSignature, ENHMETAHEADER3.dSignature, 217 +// EMRFORMAT.dSignature 218 +enum : DWORD { 219 + ENHMETA_SIGNATURE = 1179469088, 220 + EPS_SIGNATURE = 0x46535045 221 +} 222 + 223 +static 224 + 225 +if (_WIN32_WINNT >= 0x0500) 226 +{ 227 + // AddFontResourceEx() 228 + enum : DWORD { 229 + FR_PRIVATE = 0x10, 230 + FR_NOT_ENUM = 0x20 231 + } 232 +} 233 + 234 +enum { 235 + META_SAVEDC = 0x1E, 236 + META_REALIZEPALETTE = 0x35, 237 + META_SETPALENTRIES = 0x37, 238 + META_CREATEPALETTE = 0xf7, 239 + META_SETBKMODE = 0x102, 240 + META_SETMAPMODE = 0x103, 241 + META_SETROP2 = 0x104, 242 + META_SETRELABS = 0x105, 243 + META_SETPOLYFILLMODE = 0x106, 244 + META_SETSTRETCHBLTMODE = 0x107, 245 + META_SETTEXTCHAREXTRA = 0x108, 246 + META_RESTOREDC = 0x127, 247 + META_INVERTREGION = 0x12A, 248 + META_PAINTREGION = 0x12B, 249 + META_SELECTCLIPREGION = 0x12C, 250 + META_SELECTOBJECT = 0x12D, 251 + META_SETTEXTALIGN = 0x12E, 252 + META_RESIZEPALETTE = 0x139, 253 + META_DIBCREATEPATTERNBRUSH = 0x142, 254 + META_SETLAYOUT = 0x149, 255 + META_DELETEOBJECT = 0x1F0, 256 + META_CREATEPATTERNBRUSH = 0x1F9, 257 + META_SETBKCOLOR = 0x201, 258 + META_SETTEXTCOLOR = 0x209, 259 + META_SETTEXTJUSTIFICATION = 0x20A, 260 + META_SETWINDOWORG = 0x20B, 261 + META_SETWINDOWEXT = 0x20C, 262 + META_SETVIEWPORTORG = 0x20D, 263 + META_SETVIEWPORTEXT = 0x20E, 264 + META_OFFSETWINDOWORG = 0x20F, 265 + META_OFFSETVIEWPORTORG = 0x211, 266 + META_LINETO = 0x213, 267 + META_MOVETO = 0x214, 268 + META_OFFSETCLIPRGN = 0x220, 269 + META_FILLREGION = 0x228, 270 + META_SETMAPPERFLAGS = 0x231, 271 + META_SELECTPALETTE = 0x234, 272 + META_CREATEPENINDIRECT = 0x2FA, 273 + META_CREATEFONTINDIRECT = 0x2FB, 274 + META_CREATEBRUSHINDIRECT = 0x2FC, 275 + META_POLYGON = 0x324, 276 + META_POLYLINE = 0x325, 277 + META_SCALEWINDOWEXT = 0x410, 278 + META_SCALEVIEWPORTEXT = 0x412, 279 + META_EXCLUDECLIPRECT = 0x415, 280 + META_INTERSECTCLIPRECT = 0x416, 281 + META_ELLIPSE = 0x418, 282 + META_FLOODFILL = 0x419, 283 + META_RECTANGLE = 0x41B, 284 + META_SETPIXEL = 0x41F, 285 + META_FRAMEREGION = 0x429, 286 + META_ANIMATEPALETTE = 0x436, 287 + META_TEXTOUT = 0x521, 288 + META_POLYPOLYGON = 0x538, 289 + META_EXTFLOODFILL = 0x548, 290 + META_ROUNDRECT = 0x61C, 291 + META_PATBLT = 0x61D, 292 + META_ESCAPE = 0x626, 293 + META_CREATEREGION = 0x6FF, 294 + META_ARC = 0x817, 295 + META_PIE = 0x81A, 296 + META_CHORD = 0x830, 297 + META_BITBLT = 0x922, 298 + META_DIBBITBLT = 0x940, 299 + META_EXTTEXTOUT = 0xA32, 300 + META_STRETCHBLT = 0xB23, 301 + META_DIBSTRETCHBLT = 0xB41, 302 + META_SETDIBTODEV = 0xD33, 303 + META_STRETCHDIB = 0xF43 304 +} 305 + 306 +// EMRPOLYDRAW 307 +enum : BYTE { 308 + PT_CLOSEFIGURE = 1, 309 + PT_LINETO = 2, 310 + PT_BEZIERTO = 4, 311 + PT_MOVETO = 6 312 +} 313 + 314 +// ---- 315 +// PIXELFORMATDESCRIPTOR.iPixelType 316 +enum : BYTE { 317 + PFD_TYPE_RGBA = 0, 318 + PFD_TYPE_COLORINDEX = 1 319 +} 320 + 321 +deprecated { 322 + // PIXELFORMATDESCRIPTOR. 323 + const byte 324 + PFD_MAIN_PLANE = 0, 325 + PFD_OVERLAY_PLANE = 1, 326 + PFD_UNDERLAY_PLANE = -1; 327 +} 328 + 329 +// PIXELFORMATDESCRIPTOR.dwFlags 330 +const DWORD 331 +PFD_DOUBLEBUFFER = 0x00000001, 332 +PFD_STEREO = 0x00000002, 333 +PFD_DRAW_TO_WINDOW = 0x00000004, 334 +PFD_DRAW_TO_BITMAP = 0x00000008, 335 +PFD_SUPPORT_GDI = 0x00000010, 336 +PFD_SUPPORT_OPENGL = 0x00000020, 337 +PFD_GENERIC_FORMAT = 0x00000040, 338 +PFD_NEED_PALETTE = 0x00000080, 339 +PFD_NEED_SYSTEM_PALETTE = 0x00000100, 340 +PFD_SWAP_EXCHANGE = 0x00000200, 341 +PFD_SWAP_COPY = 0x00000400, 342 +PFD_SWAP_LAYER_BUFFERS = 0x00000800, 343 +PFD_GENERIC_ACCELERATED = 0x00001000, 344 +PFD_SUPPORT_DIRECTDRAW = 0x00002000, 345 + 346 +/* PIXELFORMATDESCRIPTOR flags for use in ChoosePixelFormat only */ 347 +PFD_DEPTH_DONTCARE = 0x20000000, 348 +PFD_DOUBLEBUFFER_DONTCARE = 0x40000000, 349 +PFD_STEREO_DONTCARE = 0x80000000; 350 + 351 +// ---- 352 + 353 +const DWORD 354 +BLACKNESS = 0x000042, 355 +NOTSRCERASE = 0x1100A6, 356 +NOTSRCCOPY = 0x330008, 357 +SRCERASE = 0x440328, 358 +DSTINVERT = 0x550009, 359 +PATINVERT = 0x5A0049, 360 +SRCINVERT = 0x660046, 361 +SRCAND = 0x8800C6, 362 +MERGEPAINT = 0xBB0226, 363 +MERGECOPY = 0xC000CA, 364 +SRCCOPY = 0xCC0020, 365 +SRCPAINT = 0xEE0086, 366 +PATCOPY = 0xF00021, 367 +PATPAINT = 0xFB0A09, 368 +WHITENESS = 0xFF0062; 369 +static 370 + 371 +if (WINVER >= 0x0500) 372 +{ 373 + const DWORD 374 + NOMIRRORBITMAP = 0x80000000, 375 + CAPTUREBLT = 0x40000000; 376 +} 377 + 378 +// GetROP2(), SetROP2() 379 +enum : int { 380 + R2_BLACK = 1, 381 + R2_NOTMERGEPEN = 2, 382 + R2_MASKNOTPEN = 3, 383 + R2_NOTCOPYPEN = 4, 384 + R2_MASKPENNOT = 5, 385 + R2_NOT = 6, 386 + R2_XORPEN = 7, 387 + R2_NOTMASKPEN = 8, 388 + R2_MASKPEN = 9, 389 + R2_NOTXORPEN = 10, 390 + R2_NOP = 11, 391 + R2_MERGENOTPEN = 12, 392 + R2_COPYPEN = 13, 393 + R2_MERGEPENNOT = 14, 394 + R2_MERGEPEN = 15, 395 + R2_WHITE = 16 396 +} 397 + 398 +const R2_LAST = R2_WHITE; 399 + 400 +// CheckColorsInGamut() 401 +const ubyte 402 +CM_IN_GAMUT = 0, 403 +CM_OUT_OF_GAMUT = 255; 404 + 405 +/* UpdateICMRegKey Constants */ 406 +const int 407 +ICM_ADDPROFILE = 1, 408 +ICM_DELETEPROFILE = 2, 409 +ICM_QUERYPROFILE = 3, 410 +ICM_SETDEFAULTPROFILE = 4, 411 +ICM_REGISTERICMATCHER = 5, 412 +ICM_UNREGISTERICMATCHER = 6, 413 +ICM_QUERYMATCH = 7; 414 + 415 +enum : int { 416 + RGN_AND = 1, 417 + RGN_OR = 2, 418 + RGN_XOR = 3, 419 + RGN_DIFF = 4, 420 + RGN_COPY = 5 421 +} 422 + 423 +const RGN_MIN = RGN_AND; 424 +const RGN_MAX = RGN_COPY; 425 + 426 +// Return values for CombineRgn() 427 +enum { 428 + NULLREGION = 1, 429 + SIMPLEREGION = 2, 430 + COMPLEXREGION = 3 431 +} 432 + 433 +const ERROR = 0; 89 434 alias ERROR RGN_ERROR; 90 435 91 -enum : uint { RGN_AND = 1 } 92 -enum : uint { RGN_OR = 2 } 93 -enum : uint { RGN_XOR = 3 } 94 -enum : uint { RGN_DIFF = 4 } 95 -enum : uint { RGN_COPY = 5 } 96 -alias RGN_AND RGN_MIN; 97 -alias RGN_COPY RGN_MAX; 98 - 99 -enum : uint { BLACKONWHITE = 1 } 100 -enum : uint { WHITEONBLACK = 2 } 101 -enum : uint { COLORONCOLOR = 3 } 102 -enum : uint { HALFTONE = 4 } 103 -enum : uint { MAXSTRETCHBLTMODE = 4 } 104 - 105 -// #if(WINVER >= 0x0400) 106 - 107 -alias BLACKONWHITE STRETCH_ANDSCANS; 108 -alias WHITEONBLACK STRETCH_ORSCANS; 109 -alias COLORONCOLOR STRETCH_DELETESCANS; 110 -alias HALFTONE STRETCH_HALFTONE; 111 -// #endif /* WINVER >= 0x0400 */ 112 - 113 -enum : uint { ALTERNATE = 1 } 114 -enum : uint { WINDING = 2 } 115 -enum : uint { POLYFILL_LAST = 2 } 116 - 117 -// #if(WINVER >= 0x0500) 118 -enum : uint { LAYOUT_RTL = 0x00000001 } 119 -enum : uint { LAYOUT_BTT = 0x00000002 } 120 -enum : uint { LAYOUT_VBH = 0x00000004 } 121 -enum : uint { LAYOUT_ORIENTATIONMASK = LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH } 122 -enum : uint { LAYOUT_BITMAPORIENTATIONPRESERVED = 0x00000008 } 123 -// #endif /* WINVER >= 0x0500 */ 124 - 125 -enum : uint { TA_NOUPDATECP = 0 } 126 -enum : uint { TA_UPDATECP = 1 } 127 - 128 -enum : uint { TA_LEFT = 0 } 129 -enum : uint { TA_RIGHT = 2 } 130 -enum : uint { TA_CENTER = 6 } 131 - 132 -enum : uint { TA_TOP = 0 } 133 -enum : uint { TA_BOTTOM = 8 } 134 -enum : uint { TA_BASELINE = 24 } 135 -// #if (WINVER >= 0x0400) 136 -enum : uint { TA_RTLREADING = 256 } 137 -enum : uint { TA_MASK = TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING } 138 -// #else 139 -// #... 140 -// #endif 141 - 142 -alias TA_BASELINE VTA_BASELINE; 143 -alias TA_BOTTOM VTA_LEFT; 144 -alias TA_TOP VTA_RIGHT; 145 -alias TA_CENTER VTA_CENTER; 146 -alias TA_RIGHT VTA_BOTTOM; 147 -alias TA_LEFT VTA_TOP; 148 - 149 -enum : uint { ETO_OPAQUE = 0x0002 } 150 -enum : uint { ETO_CLIPPED = 0x0004 } 151 -// #if(WINVER >= 0x0400) 152 -enum : uint { ETO_GLYPH_INDEX = 0x0010 } 153 -enum : uint { ETO_RTLREADING = 0x0080 } 154 -enum : uint { ETO_NUMERICSLOCAL = 0x0400 } 155 -enum : uint { ETO_NUMERICSLATIN = 0x0800 } 156 -enum : uint { ETO_IGNORELANGUAGE = 0x1000 } 157 -// #endif /* WINVER >= 0x0400 */ 158 -// #if (_WIN32_WINNT >= 0x0500) 159 -enum : uint { ETO_PDY = 0x2000 } 160 -// #endif // (_WIN32_WINNT >= 0x0500) 161 - 162 -enum : uint { ASPECT_FILTERING = 0x0001 } 163 - 164 -enum : uint { DCB_RESET = 0x0001 } 165 -enum : uint { DCB_ACCUMULATE = 0x0002 } 166 -alias DCB_ACCUMULATE DCB_DIRTY; 167 -enum : uint { DCB_SET = DCB_RESET | DCB_ACCUMULATE } 168 -enum : uint { DCB_ENABLE = 0x0004 } 169 -enum : uint { DCB_DISABLE = 0x0008 } 170 - 171 -// #ifndef NOMETAFILE 172 - 173 -enum : uint { META_SETBKCOLOR = 0x0201 } 174 -enum : uint { META_SETBKMODE = 0x0102 } 175 -enum : uint { META_SETMAPMODE = 0x0103 } 176 -enum : uint { META_SETROP2 = 0x0104 } 177 -enum : uint { META_SETRELABS = 0x0105 } 178 -enum : uint { META_SETPOLYFILLMODE = 0x0106 } 179 -enum : uint { META_SETSTRETCHBLTMODE = 0x0107 } 180 -enum : uint { META_SETTEXTCHAREXTRA = 0x0108 } 181 -enum : uint { META_SETTEXTCOLOR = 0x0209 } 182 -enum : uint { META_SETTEXTJUSTIFICATION = 0x020A } 183 -enum : uint { META_SETWINDOWORG = 0x020B } 184 -enum : uint { META_SETWINDOWEXT = 0x020C } 185 -enum : uint { META_SETVIEWPORTORG = 0x020D } 186 -enum : uint { META_SETVIEWPORTEXT = 0x020E } 187 -enum : uint { META_OFFSETWINDOWORG = 0x020F } 188 -enum : uint { META_SCALEWINDOWEXT = 0x0410 } 189 -enum : uint { META_OFFSETVIEWPORTORG = 0x0211 } 190 -enum : uint { META_SCALEVIEWPORTEXT = 0x0412 } 191 -enum : uint { META_LINETO = 0x0213 } 192 -enum : uint { META_MOVETO = 0x0214 } 193 -enum : uint { META_EXCLUDECLIPRECT = 0x0415 } 194 -enum : uint { META_INTERSECTCLIPRECT = 0x0416 } 195 -enum : uint { META_ARC = 0x0817 } 196 -enum : uint { META_ELLIPSE = 0x0418 } 197 -enum : uint { META_FLOODFILL = 0x0419 } 198 -enum : uint { META_PIE = 0x081A } 199 -enum : uint { META_RECTANGLE = 0x041B } 200 -enum : uint { META_ROUNDRECT = 0x061C } 201 -enum : uint { META_PATBLT = 0x061D } 202 -enum : uint { META_SAVEDC = 0x001E } 203 -enum : uint { META_SETPIXEL = 0x041F } 204 -enum : uint { META_OFFSETCLIPRGN = 0x0220 } 205 -enum : uint { META_TEXTOUT = 0x0521 } 206 -enum : uint { META_BITBLT = 0x0922 } 207 -enum : uint { META_STRETCHBLT = 0x0B23 } 208 -enum : uint { META_POLYGON = 0x0324 } 209 -enum : uint { META_POLYLINE = 0x0325 } 210 -enum : uint { META_ESCAPE = 0x0626 } 211 -enum : uint { META_RESTOREDC = 0x0127 } 212 -enum : uint { META_FILLREGION = 0x0228 } 213 -enum : uint { META_FRAMEREGION = 0x0429 } 214 -enum : uint { META_INVERTREGION = 0x012A } 215 -enum : uint { META_PAINTREGION = 0x012B } 216 -enum : uint { META_SELECTCLIPREGION = 0x012C } 217 -enum : uint { META_SELECTOBJECT = 0x012D } 218 -enum : uint { META_SETTEXTALIGN = 0x012E } 219 -enum : uint { META_CHORD = 0x0830 } 220 -enum : uint { META_SETMAPPERFLAGS = 0x0231 } 221 -enum : uint { META_EXTTEXTOUT = 0x0a32 } 222 -enum : uint { META_SETDIBTODEV = 0x0d33 } 223 -enum : uint { META_SELECTPALETTE = 0x0234 } 224 -enum : uint { META_REALIZEPALETTE = 0x0035 } 225 -enum : uint { META_ANIMATEPALETTE = 0x0436 } 226 -enum : uint { META_SETPALENTRIES = 0x0037 } 227 -enum : uint { META_POLYPOLYGON = 0x0538 } 228 -enum : uint { META_RESIZEPALETTE = 0x0139 } 229 -enum : uint { META_DIBBITBLT = 0x0940 } 230 -enum : uint { META_DIBSTRETCHBLT = 0x0b41 } 231 -enum : uint { META_DIBCREATEPATTERNBRUSH = 0x0142 } 232 -enum : uint { META_STRETCHDIB = 0x0f43 } 233 -enum : uint { META_EXTFLOODFILL = 0x0548 } 234 -// #if(WINVER >= 0x0500) 235 -enum : uint { META_SETLAYOUT = 0x0149 } 236 -// #endif /* WINVER >= 0x0500 */ 237 -enum : uint { META_DELETEOBJECT = 0x01f0 } 238 -enum : uint { META_CREATEPALETTE = 0x00f7 } 239 -enum : uint { META_CREATEPATTERNBRUSH = 0x01F9 } 240 -enum : uint { META_CREATEPENINDIRECT = 0x02FA } 241 -enum : uint { META_CREATEFONTINDIRECT = 0x02FB } 242 -enum : uint { META_CREATEBRUSHINDIRECT = 0x02FC } 243 -enum : uint { META_CREATEREGION = 0x06FF } 244 - 245 -// #if(WINVER >= 0x0400) 246 -struct _DRAWPATRECT { 247 - POINT ptPosition; 248 - POINT ptSize; 249 - WORD wStyle; 250 - WORD wPattern; 251 -} 252 -alias _DRAWPATRECT DRAWPATRECT; 253 -alias _DRAWPATRECT* PDRAWPATRECT; 254 - 255 -// #endif /* WINVER >= 0x0400 */ 256 - 257 -// #endif /* NOMETAFILE */ 258 - 259 -enum : uint { NEWFRAME = 1 } 260 -enum : uint { ABORTDOC = 2 } 261 -enum : uint { NEXTBAND = 3 } 262 -enum : uint { SETCOLORTABLE = 4 } 263 -enum : uint { GETCOLORTABLE = 5 } 264 -enum : uint { FLUSHOUTPUT = 6 } 265 -enum : uint { DRAFTMODE = 7 } 266 -enum : uint { QUERYESCSUPPORT = 8 } 267 -enum : uint { SETABORTPROC = 9 } 268 -enum : uint { STARTDOC = 10 } 269 -enum : uint { ENDDOC = 11 } 270 -enum : uint { GETPHYSPAGESIZE = 12 } 271 -enum : uint { GETPRINTINGOFFSET = 13 } 272 -enum : uint { GETSCALINGFACTOR = 14 } 273 -enum : uint { MFCOMMENT = 15 } 274 -enum : uint { GETPENWIDTH = 16 } 275 -enum : uint { SETCOPYCOUNT = 17 } 276 -enum : uint { SELECTPAPERSOURCE = 18 } 277 -enum : uint { DEVICEDATA = 19 } 278 -enum : uint { PASSTHROUGH = 19 } 279 -enum : uint { GETTECHNOLGY = 20 } 280 -enum : uint { GETTECHNOLOGY = 20 } 281 -enum : uint { SETLINECAP = 21 } 282 -enum : uint { SETLINEJOIN = 22 } 283 -enum : uint { SETMITERLIMIT = 23 } 284 -enum : uint { BANDINFO = 24 } 285 -enum : uint { DRAWPATTERNRECT = 25 } 286 -enum : uint { GETVECTORPENSIZE = 26 } 287 -enum : uint { GETVECTORBRUSHSIZE = 27 } 288 -enum : uint { ENABLEDUPLEX = 28 } 289 -enum : uint { GETSETPAPERBINS = 29 } 290 -enum : uint { GETSETPRINTORIENT = 30 } 291 -enum : uint { ENUMPAPERBINS = 31 } 292 -enum : uint { SETDIBSCALING = 32 } 293 -enum : uint { EPSPRINTING = 33 } 294 -enum : uint { ENUMPAPERMETRICS = 34 } 295 -enum : uint { GETSETPAPERMETRICS = 35 } 296 -enum : uint { POSTSCRIPT_DATA = 37 } 297 -enum : uint { POSTSCRIPT_IGNORE = 38 } 298 -enum : uint { MOUSETRAILS = 39 } 299 -enum : uint { GETDEVICEUNITS = 42 } 300 - 301 -enum : uint { GETEXTENDEDTEXTMETRICS = 256 } 302 -enum : uint { GETEXTENTTABLE = 257 } 303 -enum : uint { GETPAIRKERNTABLE = 258 } 304 -enum : uint { GETTRACKKERNTABLE = 259 } 305 -enum : uint { EXTTEXTOUT = 512 } 306 -enum : uint { GETFACENAME = 513 } 307 -enum : uint { DOWNLOADFACE = 514 } 308 -enum : uint { ENABLERELATIVEWIDTHS = 768 } 309 -enum : uint { ENABLEPAIRKERNING = 769 } 310 -enum : uint { SETKERNTRACK = 770 } 311 -enum : uint { SETALLJUSTVALUES = 771 } 312 -enum : uint { SETCHARSET = 772 } 313 - 314 -enum : uint { STRETCHBLT = 2048 } 315 -enum : uint { METAFILE_DRIVER = 2049 } 316 -enum : uint { GETSETSCREENPARAMS = 3072 } 317 -enum : uint { QUERYDIBSUPPORT = 3073 } 318 -enum : uint { BEGIN_PATH = 4096 } 319 -enum : uint { CLIP_TO_PATH = 4097 } 320 -enum : uint { END_PATH = 4098 } 321 -enum : uint { EXT_DEVICE_CAPS = 4099 } 322 -enum : uint { RESTORE_CTM = 4100 } 323 -enum : uint { SAVE_CTM = 4101 } 324 -enum : uint { SET_ARC_DIRECTION = 4102 } 325 -enum : uint { SET_BACKGROUND_COLOR = 4103 } 326 -enum : uint { SET_POLY_MODE = 4104 } 327 -enum : uint { SET_SCREEN_ANGLE = 4105 } 328 -enum : uint { SET_SPREAD = 4106 } 329 -enum : uint { TRANSFORM_CTM = 4107 } 330 -enum : uint { SET_CLIP_BOX = 4108 } 331 -enum : uint { SET_BOUNDS = 4109 } 332 -enum : uint { SET_MIRROR_MODE = 4110 } 333 -enum : uint { OPENCHANNEL = 4110 } 334 -enum : uint { DOWNLOADHEADER = 4111 } 335 -enum : uint { CLOSECHANNEL = 4112 } 336 -enum : uint { POSTSCRIPT_PASSTHROUGH = 4115 } 337 -enum : uint { ENCAPSULATED_POSTSCRIPT = 4116 } 338 - 339 -enum : uint { POSTSCRIPT_IDENTIFY = 4117 } 340 -enum : uint { POSTSCRIPT_INJECTION = 4118 } 341 - 342 -enum : uint { CHECKJPEGFORMAT = 4119 } 343 -enum : uint { CHECKPNGFORMAT = 4120 } 344 - 345 -enum : uint { GET_PS_FEATURESETTING = 4121 } 346 - 347 -enum : uint { SPCLPASSTHROUGH2 = 4568 } 348 - 349 -enum : uint { PSIDENT_GDICENTRIC = 0 } 350 -enum : uint { PSIDENT_PSCENTRIC = 1 } 351 - 352 -struct _PSINJECTDATA { 353 - 354 - DWORD DataBytes; 355 - WORD InjectionPoint; 356 - WORD PageNumber; 357 - 358 -} 359 -alias _PSINJECTDATA PSINJECTDATA; 360 -alias _PSINJECTDATA* PPSINJECTDATA; 361 - 362 -enum : uint { PSINJECT_BEGINSTREAM = 1 } 363 -enum : uint { PSINJECT_PSADOBE = 2 } 364 -enum : uint { PSINJECT_PAGESATEND = 3 } 365 -enum : uint { PSINJECT_PAGES = 4 } 366 - 367 -enum : uint { PSINJECT_DOCNEEDEDRES = 5 } 368 -enum : uint { PSINJECT_DOCSUPPLIEDRES = 6 } 369 -enum : uint { PSINJECT_PAGEORDER = 7 } 370 -enum : uint { PSINJECT_ORIENTATION = 8 } 371 -enum : uint { PSINJECT_BOUNDINGBOX = 9 } 372 -enum : uint { PSINJECT_DOCUMENTPROCESSCOLORS = 10 } 373 - 374 -enum : uint { PSINJECT_COMMENTS = 11 } 375 -enum : uint { PSINJECT_BEGINDEFAULTS = 12 } 376 -enum : uint { PSINJECT_ENDDEFAULTS = 13 } 377 -enum : uint { PSINJECT_BEGINPROLOG = 14 } 378 -enum : uint { PSINJECT_ENDPROLOG = 15 } 379 -enum : uint { PSINJECT_BEGINSETUP = 16 } 380 -enum : uint { PSINJECT_ENDSETUP = 17 } 381 -enum : uint { PSINJECT_TRAILER = 18 } 382 -enum : uint { PSINJECT_EOF = 19 } 383 -enum : uint { PSINJECT_ENDSTREAM = 20 } 384 -enum : uint { PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21 } 385 - 386 -enum : uint { PSINJECT_PAGENUMBER = 100 } 387 -enum : uint { PSINJECT_BEGINPAGESETUP = 101 } 388 -enum : uint { PSINJECT_ENDPAGESETUP = 102 } 389 -enum : uint { PSINJECT_PAGETRAILER = 103 } 390 -enum : uint { PSINJECT_PLATECOLOR = 104 } 391 - 392 -enum : uint { PSINJECT_SHOWPAGE = 105 } 393 -enum : uint { PSINJECT_PAGEBBOX = 106 } 394 -enum : uint { PSINJECT_ENDPAGECOMMENTS = 107 } 395 - 396 -enum : uint { PSINJECT_VMSAVE = 200 } 397 -enum : uint { PSINJECT_VMRESTORE = 201 } 398 - 399 -enum : uint { FEATURESETTING_NUP = 0 } 400 -enum : uint { FEATURESETTING_OUTPUT = 1 } 401 -enum : uint { FEATURESETTING_PSLEVEL = 2 } 402 -enum : uint { FEATURESETTING_CUSTPAPER = 3 } 403 -enum : uint { FEATURESETTING_MIRROR = 4 } 404 -enum : uint { FEATURESETTING_NEGATIVE = 5 } 405 -enum : uint { FEATURESETTING_PROTOCOL = 6 } 406 - 407 -enum : uint { FEATURESETTING_PRIVATE_BEGIN = 0x1000 } 408 -enum : uint { FEATURESETTING_PRIVATE_END = 0x1FFF } 409 - 410 -struct _PSFEATURE_OUTPUT { 411 - 412 - BOOL bPageIndependent; 413 - BOOL bSetPageDevice; 414 -} 415 -alias _PSFEATURE_OUTPUT PSFEATURE_OUTPUT; 416 -alias _PSFEATURE_OUTPUT* PPSFEATURE_OUTPUT; 417 - 418 -struct _PSFEATURE_CUSTPAPER { 419 - 420 - LONG lOrientation; 421 - LONG lWidth; 422 - LONG lHeight; 423 - LONG lWidthOffset; 424 - LONG lHeightOffset; 425 -} 426 -alias _PSFEATURE_CUSTPAPER PSFEATURE_CUSTPAPER; 427 -alias _PSFEATURE_CUSTPAPER* PPSFEATURE_CUSTPAPER; 428 - 429 -enum : uint { PSPROTOCOL_ASCII = 0 } 430 -enum : uint { PSPROTOCOL_BCP = 1 } 431 -enum : uint { PSPROTOCOL_TBCP = 2 } 432 -enum : uint { PSPROTOCOL_BINARY = 3 } 433 - 434 -enum : uint { QDI_SETDIBITS = 1 } 435 -enum : uint { QDI_GETDIBITS = 2 } 436 -enum : uint { QDI_DIBTOSCREEN = 4 } 437 -enum : uint { QDI_STRETCHDIB = 8 } 438 - 439 -enum : uint { SP_NOTREPORTED = 0x4000 } 440 -enum { SP_ERROR = -1 } 441 -enum { SP_APPABORT = -2 } 442 -enum { SP_USERABORT = -3 } 443 -enum { SP_OUTOFDISK = -4 } 444 -enum { SP_OUTOFMEMORY = -5 } 445 - 446 -enum : uint { PR_JOBSTATUS = 0x0000 } 447 - 448 -enum : uint { OBJ_PEN = 1 } 449 -enum : uint { OBJ_BRUSH = 2 } 450 -enum : uint { OBJ_DC = 3 } 451 -enum : uint { OBJ_METADC = 4 } 452 -enum : uint { OBJ_PAL = 5 } 453 -enum : uint { OBJ_FONT = 6 } 454 -enum : uint { OBJ_BITMAP = 7 } 455 -enum : uint { OBJ_REGION = 8 } 456 -enum : uint { OBJ_METAFILE = 9 } 457 -enum : uint { OBJ_MEMDC = 10 } 458 -enum : uint { OBJ_EXTPEN = 11 } 459 -enum : uint { OBJ_ENHMETADC = 12 } 460 -enum : uint { OBJ_ENHMETAFILE = 13 } 461 -enum : uint { OBJ_COLORSPACE = 14 } 462 - 463 -enum : uint { MWT_IDENTITY = 1 } 464 -enum : uint { MWT_LEFTMULTIPLY = 2 } 465 -enum : uint { MWT_RIGHTMULTIPLY = 3 } 466 - 467 -alias MWT_IDENTITY MWT_MIN; 468 -alias MWT_RIGHTMULTIPLY MWT_MAX; 469 - 470 -// #define _XFORM_ 471 -struct tagXFORM { 472 - FLOAT eM11; 473 - FLOAT eM12; 474 - FLOAT eM21; 475 - FLOAT eM22; 476 - FLOAT eDx; 477 - FLOAT eDy; 478 -} 479 -alias tagXFORM XFORM; 480 -alias tagXFORM* PXFORM; 481 -alias tagXFORM* LPXFORM; 482 - 483 -struct tagBITMAP { 484 - LONG bmType; 485 - LONG bmWidth; 486 - LONG bmHeight; 487 - LONG bmWidthBytes; 488 - WORD bmPlanes; 489 - WORD bmBitsPixel; 490 - LPVOID bmBits; 491 -} 492 -alias tagBITMAP BITMAP; 493 -alias tagBITMAP* PBITMAP; 494 -alias tagBITMAP* NPBITMAP; 495 -alias tagBITMAP* LPBITMAP; 496 - 497 -align(1): 498 -struct tagRGBTRIPLE { 499 - BYTE rgbtBlue; 500 - BYTE rgbtGreen; 501 - BYTE rgbtRed; 502 -} 503 -alias tagRGBTRIPLE RGBTRIPLE; 504 - 505 -align: 506 - 507 -struct tagRGBQUAD { 508 - BYTE rgbBlue; 509 - BYTE rgbGreen; 510 - BYTE rgbRed; 511 - BYTE rgbReserved; 512 -} 513 -alias tagRGBQUAD RGBQUAD; 514 - 515 -alias RGBQUAD* LPRGBQUAD; 516 - 517 -// #if(WINVER >= 0x0400) 518 - 519 -enum : uint { CS_ENABLE = 0x00000001 } 520 -enum : uint { CS_DISABLE = 0x00000002 } 521 -enum : uint { CS_DELETE_TRANSFORM = 0x00000003 } 522 - 523 -// #define LCS_SIGNATURE 'PSOC' 524 - 525 -// #define LCS_sRGB 'sRGB' 526 -// #define LCS_WINDOWS_COLOR_SPACE 'Win ' 527 - 528 -alias LONG LCSCSTYPE; 529 -enum : uint { LCS_CALIBRATED_RGB = 0x00000000 } 530 - 531 -alias LONG LCSGAMUTMATCH; 532 -enum : uint { LCS_GM_BUSINESS = 0x00000001 } 533 -enum : uint { LCS_GM_GRAPHICS = 0x00000002 } 534 -enum : uint { LCS_GM_IMAGES = 0x00000004 } 535 -enum : uint { LCS_GM_ABS_COLORIMETRIC = 0x00000008 } 536 - 537 -enum : uint { CM_OUT_OF_GAMUT = 255 } 538 -enum : uint { CM_IN_GAMUT = 0 } 539 - 540 -enum : uint { ICM_ADDPROFILE = 1 } 541 -enum : uint { ICM_DELETEPROFILE = 2 } 542 -enum : uint { ICM_QUERYPROFILE = 3 } 543 -enum : uint { ICM_SETDEFAULTPROFILE = 4 } 544 -enum : uint { ICM_REGISTERICMATCHER = 5 } 545 -enum : uint { ICM_UNREGISTERICMATCHER = 6 } 546 -enum : uint { ICM_QUERYMATCH = 7 } 547 - 548 -BYTE GetKValue(DWORD cmyk){ return cast(BYTE)cmyk; } 549 -BYTE GetYValue(DWORD cmyk){ return cast(BYTE)(cmyk >>> 8); } 550 -BYTE GetMValue(DWORD cmyk){ return cast(BYTE)(cmyk >>> 16); } 551 -BYTE GetCValue(DWORD cmyk){ return cast(BYTE)(cmyk >>> 24); } 552 - 553 -DWORD CMYK(BYTE c, BYTE m, BYTE y, BYTE k){ return (cast(COLORREF)(((cast(BYTE)(k)|(cast(WORD)(cast(BYTE)(y))<<8))|((cast(DWORD)cast(BYTE)(m))<<16))|((cast(DWORD)cast(BYTE)(c))<<24))); } 436 +// CreateDIBitmap() 437 +const DWORD CBM_INIT = 4; 438 + 439 +// CreateDIBitmap() 440 +enum : UINT { 441 + DIB_RGB_COLORS = 0, 442 + DIB_PAL_COLORS = 1 443 +} 444 + 445 +// --- 446 +// Values for LOGFONT and CreateFont() 447 + 448 +// FIXME: For D, replace with lfFaceName.length() 449 +const LF_FACESIZE = 32; 450 +const LF_FULLFACESIZE = 64; 451 + 452 +// FIXME: Not needed for D, only EXTLOGFONT 453 +const ELF_VENDOR_SIZE = 4; 454 + 455 +// ??? 456 +const ELF_VERSION = 0; 457 +const ELF_CULTURE_LATIN = 0; 458 + 459 +// LOGFONT.lfWeight 460 +const LONG 461 +FW_DONTCARE = 0, 462 +FW_THIN = 100, 463 +FW_EXTRALIGHT = 200, 464 +FW_ULTRALIGHT = FW_EXTRALIGHT, 465 +FW_LIGHT = 300, 466 +FW_NORMAL = 400, 467 +FW_REGULAR = FW_NORMAL, 468 +FW_MEDIUM = 500, 469 +FW_SEMIBOLD = 600, 470 +FW_DEMIBOLD = FW_SEMIBOLD, 471 +FW_BOLD = 700, 472 +FW_EXTRABOLD = 800, 473 +FW_ULTRABOLD = FW_EXTRABOLD, 474 +FW_HEAVY = 900, 475 +FW_BLACK = FW_HEAVY; 476 + 477 +// LOGFONT.lfCharSet 478 +enum : DWORD { 479 + ANSI_CHARSET = 0, 480 + DEFAULT_CHARSET = 1, 481 + SYMBOL_CHARSET = 2, 482 + MAC_CHARSET = 77, 483 + SHIFTJIS_CHARSET = 128, 484 + HANGEUL_CHARSET = 129, 485 + HANGUL_CHARSET = 129, 486 + JOHAB_CHARSET = 130, 487 + GB2312_CHARSET = 134, 488 + CHINESEBIG5_CHARSET = 136, 489 + GREEK_CHARSET = 161, 490 + TURKISH_CHARSET = 162, 491 + VIETNAMESE_CHARSET = 163, 492 + HEBREW_CHARSET = 177, 493 + ARABIC_CHARSET = 178, 494 + BALTIC_CHARSET = 186, 495 + RUSSIAN_CHARSET = 204, 496 + THAI_CHARSET = 222, 497 + EASTEUROPE_CHARSET = 238, 498 + OEM_CHARSET = 255 499 +} 500 + 501 +// LOGFONT.lfOutPrecision 502 +enum : BYTE { 503 + OUT_DEFAULT_PRECIS = 0, 504 + OUT_STRING_PRECIS, 505 + OUT_CHARACTER_PRECIS, 506 + OUT_STROKE_PRECIS, 507 + OUT_TT_PRECIS, 508 + OUT_DEVICE_PRECIS, 509 + OUT_RASTER_PRECIS, 510 + OUT_TT_ONLY_PRECIS, 511 + OUT_OUTLINE_PRECIS, 512 + OUT_SCREEN_OUTLINE_PRECIS, 513 + OUT_PS_ONLY_PRECIS, // 10 514 +} 515 + 516 +// LOGFONT.lfClipPrecision 517 +enum : BYTE { 518 + CLIP_DEFAULT_PRECIS = 0, 519 + CLIP_CHARACTER_PRECIS = 1, 520 + CLIP_STROKE_PRECIS = 2, 521 + CLIP_MASK = 15, 522 + CLIP_LH_ANGLES = 16, 523 + CLIP_TT_ALWAYS = 32, 524 + CLIP_DFA_DISABLE = 64, 525 + CLIP_EMBEDDED = 128 526 +} 527 + 528 +// LOGFONT.lfQuality 529 +enum : BYTE { 530 + DEFAULT_QUALITY = 0, 531 + DRAFT_QUALITY, 532 + PROOF_QUALITY, 533 + NONANTIALIASED_QUALITY, 534 + ANTIALIASED_QUALITY 535 +} 536 + 537 +// LOGFONT.lfPitchAndFamily 538 + 539 +const BYTE 540 +DEFAULT_PITCH = 0, 541 +FIXED_PITCH = 1, 542 +VARIABLE_PITCH = 2, 543 +MONO_FONT = 8, 544 +FF_DONTCARE = 0, 545 +FF_ROMAN = 16, 546 +FF_SWISS = 32, 547 +FF_SCRIPT = 64, 548 +FF_MODERN = 48, 549 +FF_DECORATIVE = 80; 550 + 551 +// ---- 552 +// Enums for the PANOSE struct 553 + 554 +const PANOSE_COUNT=10; 555 + 556 +enum { 557 + PAN_FAMILYTYPE_INDEX = 0, 558 + PAN_SERIFSTYLE_INDEX, 559 + PAN_WEIGHT_INDEX, 560 + PAN_PROPORTION_INDEX, 561 + PAN_CONTRAST_INDEX, 562 + PAN_STROKEVARIATION_INDEX, 563 + PAN_ARMSTYLE_INDEX, 564 + PAN_LETTERFORM_INDEX, 565 + PAN_MIDLINE_INDEX, 566 + PAN_XHEIGHT_INDEX 567 +} 568 + 569 +const PAN_CULTURE_LATIN=0; 570 + 571 +// NOTE: the first two values (PAN_ANY and PAN_NO_FIT) apply to all these enums! 572 +enum : BYTE { 573 + PAN_ANY = 0, 574 + PAN_NO_FIT = 1, 575 +} 576 + 577 +enum : BYTE { 578 + PAN_FAMILY_TEXT_DISPLAY = 2, 579 + PAN_FAMILY_SCRIPT, 580 + PAN_FAMILY_DECORATIVE, 581 + PAN_FAMILY_PICTORIAL 582 +} 583 +enum : BYTE { 584 + PAN_SERIF_COVE = 2, 585 + PAN_SERIF_OBTUSE_COVE, 586 + PAN_SERIF_SQUARE_COVE, 587 + PAN_SERIF_OBTUSE_SQUARE_COVE, 588 + PAN_SERIF_SQUARE, 589 + PAN_SERIF_THIN, 590 + PAN_SERIF_BONE, 591 + PAN_SERIF_EXAGGERATED, 592 + PAN_SERIF_TRIANGLE, 593 + PAN_SERIF_NORMAL_SANS, 594 + PAN_SERIF_OBTUSE_SANS, 595 + PAN_SERIF_PERP_SANS, 596 + PAN_SERIF_FLARED, 597 + PAN_SERIF_ROUNDED 598 +} 599 + 600 +enum : BYTE { 601 + PAN_WEIGHT_VERY_LIGHT = 2, 602 + PAN_WEIGHT_LIGHT, 603 + PAN_WEIGHT_THIN, 604 + PAN_WEIGHT_BOOK, 605 + PAN_WEIGHT_MEDIUM, 606 + PAN_WEIGHT_DEMI, 607 + PAN_WEIGHT_BOLD, 608 + PAN_WEIGHT_HEAVY, 609 + PAN_WEIGHT_BLACK, 610 + PAN_WEIGHT_NORD 611 +} 612 + 613 +enum : BYTE { 614 + PAN_PROP_OLD_STYLE = 2, 615 + PAN_PROP_MODERN, 616 + PAN_PROP_EVEN_WIDTH, 617 + PAN_PROP_EXPANDED, 618 + PAN_PROP_CONDENSED, 619 + PAN_PROP_VERY_EXPANDED, 620 + PAN_PROP_VERY_CONDENSED, 621 + PAN_PROP_MONOSPACED 622 +} 623 + 624 +enum : BYTE { 625 + PAN_CONTRAST_NONE = 2, 626 + PAN_CONTRAST_VERY_LOW, 627 + PAN_CONTRAST_LOW, 628 + PAN_CONTRAST_MEDIUM_LOW, 629 + PAN_CONTRAST_MEDIUM, 630 + PAN_CONTRAST_MEDIUM_HIGH, 631 + PAN_CONTRAST_HIGH, 632 + PAN_CONTRAST_VERY_HIGH 633 +} 634 + 635 +// PANOSE.bStrokeVariation 636 +enum : BYTE { 637 + PAN_STROKE_GRADUAL_DIAG = 2, 638 + PAN_STROKE_GRADUAL_TRAN, 639 + PAN_STROKE_GRADUAL_VERT, 640 + PAN_STROKE_GRADUAL_HORZ, 641 + PAN_STROKE_RAPID_VERT, 642 + PAN_STROKE_RAPID_HORZ, 643 + PAN_STROKE_INSTANT_VERT 644 +} 645 + 646 +// PANOSE.bArmStyle 647 +enum : BYTE { 648 + PAN_STRAIGHT_ARMS_HORZ = 2, 649 + PAN_STRAIGHT_ARMS_WEDGE, 650 + PAN_STRAIGHT_ARMS_VERT, 651 + PAN_STRAIGHT_ARMS_SINGLE_SERIF, 652 + PAN_STRAIGHT_ARMS_DOUBLE_SERIF, 653 + PAN_BENT_ARMS_HORZ, 654 + PAN_BENT_ARMS_WEDGE, 655 + PAN_BENT_ARMS_VERT, 656 + PAN_BENT_ARMS_SINGLE_SERIF, 657 + PAN_BENT_ARMS_DOUBLE_SERIF 658 +} 659 + 660 +// PANOSE.bLetterForm 661 +enum : BYTE { 662 + PAN_LETT_NORMAL_CONTACT = 2, 663 + PAN_LETT_NORMAL_WEIGHTED, 664 + PAN_LETT_NORMAL_BOXED, 665 + PAN_LETT_NORMAL_FLATTENED, 666 + PAN_LETT_NORMAL_ROUNDED, 667 + PAN_LETT_NORMAL_OFF_CENTER, 668 + PAN_LETT_NORMAL_SQUARE, 669 + PAN_LETT_OBLIQUE_CONTACT, 670 + PAN_LETT_OBLIQUE_WEIGHTED, 671 + PAN_LETT_OBLIQUE_BOXED, 672 + PAN_LETT_OBLIQUE_FLATTENED, 673 + PAN_LETT_OBLIQUE_ROUNDED, 674 + PAN_LETT_OBLIQUE_OFF_CENTER, 675 + PAN_LETT_OBLIQUE_SQUARE 676 +} 677 + 678 +// PANOSE.bMidLine 679 +enum : BYTE { 680 + PAN_MIDLINE_STANDARD_TRIMMED = 2, 681 + PAN_MIDLINE_STANDARD_POINTED, 682 + PAN_MIDLINE_STANDARD_SERIFED, 683 + PAN_MIDLINE_HIGH_TRIMMED, 684 + PAN_MIDLINE_HIGH_POINTED, 685 + PAN_MIDLINE_HIGH_SERIFED, 686 + PAN_MIDLINE_CONSTANT_TRIMMED, 687 + PAN_MIDLINE_CONSTANT_POINTED, 688 + PAN_MIDLINE_CONSTANT_SERIFED, 689 + PAN_MIDLINE_LOW_TRIMMED, 690 + PAN_MIDLINE_LOW_POINTED, 691 + PAN_MIDLINE_LOW_SERIFED 692 +} 693 + 694 +// PANOSE.bXHeight 695 +enum : BYTE { 696 + PAN_XHEIGHT_CONSTANT_SMALL = 2, 697 + PAN_XHEIGHT_CONSTANT_STD, 698 + PAN_XHEIGHT_CONSTANT_LARGE, 699 + PAN_XHEIGHT_DUCKING_SMALL, 700 + PAN_XHEIGHT_DUCKING_STD, 701 + PAN_XHEIGHT_DUCKING_LARGE 702 +} 703 + 704 +// ---- 705 +// ??? 706 +const FS_LATIN1 = 0x00000001; 707 +const FS_LATIN2 = 0x00000002; 708 +const FS_CYRILLIC = 0x00000004; 709 +const FS_GREEK = 0x00000008; 710 +const FS_TURKISH = 0x00000010; 711 +const FS_HEBREW = 0x00000020; 712 +const FS_ARABIC = 0x00000040; 713 +const FS_BALTIC = 0x00000080; 714 +const FS_VIETNAMESE = 0x00000100; 715 +const FS_THAI = 0x00010000; 716 +const FS_JISJAPAN = 0x00020000; 717 +const FS_CHINESESIMP = 0x00040000; 718 +const FS_WANSUNG = 0x00080000; 719 +const FS_CHINESETRAD = 0x00100000; 720 +const FS_JOHAB = 0x00200000; 721 +const FS_SYMBOL = 0x80000000; 722 + 723 +// ---- 724 +// Poly Fill Mode 725 +enum : int { 726 + ALTERNATE = 1, 727 + WINDING = 2 728 +} 729 +const int POLYFILL_LAST = WINDING; 730 + 731 +// --- 732 +// LOGBRUSH 733 +enum : LONG { 734 + HS_HORIZONTAL = 0, 735 + HS_VERTICAL, 736 + HS_FDIAGONAL, 737 + HS_BDIAGONAL, 738 + HS_CROSS, 739 + HS_DIAGCROSS 740 +} 741 + 742 +// LOGBRUSH.lbStyle 743 +enum : UINT { 744 + BS_SOLID = 0, 745 + BS_NULL = 1, 746 + BS_HOLLOW = BS_NULL, 747 + BS_HATCHED, 748 + BS_PATTERN, 749 + BS_INDEXED, 750 + BS_DIBPATTERN, 751 + BS_DIBPATTERNPT, 752 + BS_PATTERN8X8, 753 + BS_DIBPATTERN8X8, 754 + BS_MONOPATTERN, 755 +} 756 + 757 +// ----- 758 +// EXTLOGPEN, ExtCreatePen() 759 + 760 +// EXTLOGPEN.elpPenStyle 761 +enum : DWORD { 762 + PS_SOLID = 0, 763 + PS_DASH = 1, 764 + PS_DOT = 2, 765 + PS_DASHDOT = 3, 766 + PS_DASHDOTDOT = 4, 767 + PS_NULL = 5, 768 + PS_INSIDEFRAME = 6, 769 + PS_USERSTYLE = 7, 770 + PS_ALTERNATE = 8, 771 + PS_STYLE_MASK = 15, 772 +} 773 + 774 +enum : DWORD { 775 + PS_COSMETIC = 0x00000000, 776 + PS_GEOMETRIC = 0x00010000, 777 + PS_TYPE_MASK = 0x000F0000, 778 +} 779 +enum : DWORD { 780 + PS_ENDCAP_ROUND = 0x00000000, 781 + PS_ENDCAP_SQUARE = 0x00000100, 782 + PS_ENDCAP_FLAT = 0x00000200, 783 + PS_ENDCAP_MASK = 0x00000F00, 784 +} 785 +enum : DWORD { 786 + PS_JOIN_ROUND = 0x00000000, 787 + PS_JOIN_BEVEL = 0x00001000, 788 + PS_JOIN_MITER = 0x00002000, 789 + PS_JOIN_MASK = 0x0000F000, 790 +} 791 + 792 +// --- 793 +// DeviceCapabilities() 794 + 795 +enum : WORD { 796 + DC_FIELDS = 1, 797 + DC_PAPERS, 798 + DC_PAPERSIZE, 799 + DC_MINEXTENT, 800 + DC_MAXEXTENT, 801 + DC_BINS, 802 + DC_DUPLEX, 803 + DC_SIZE, 804 + DC_EXTRA, 805 + DC_VERSION, 806 + DC_DRIVER, 807 + DC_BINNAMES, 808 + DC_ENUMRESOLUTIONS, 809 + DC_FILEDEPENDENCIES, 810 + DC_TRUETYPE, 811 + DC_PAPERNAMES, 812 + DC_ORIENTATION, 813 + DC_COPIES, 814 + DC_BINADJUST, 815 + DC_EMF_COMPLIANT, 816 + DC_DATATYPE_PRODUCED, 817 + DC_COLLATE, 818 + DC_MANUFACTURER, 819 + DC_MODEL, 820 +} 821 + 822 +static 823 + 824 +if (WINVER >= 0x0500) 825 +{ 826 + enum { 827 + DC_PERSONALITY = 25, 828 + DC_PRINTRATE = 26, 829 + DC_PRINTRATEUNIT = 27, 830 + DC_PRINTERMEM = 28, 831 + DC_MEDIAREADY = 29, 832 + DC_STAPLE = 30, 833 + DC_PRINTRATEPPM = 31, 834 + DC_COLORDEVICE = 32, 835 + DC_NUP = 33, 836 + DC_MEDIATYPENAMES = 34, 837 + DC_MEDIATYPES = 35, 838 + } 839 + enum { 840 + PRINTRATEUNIT_PPM = 1, 841 + PRINTRATEUNIT_CPS = 2, 842 + PRINTRATEUNIT_LPM = 3, 843 + PRINTRATEUNIT_IPM = 4, 844 + } 845 +} 846 + 847 +// return from DC_TRUETYPE 848 +const DWORD 849 +DCTT_BITMAP = 1, 850 +DCTT_DOWNLOAD = 2, 851 +DCTT_SUBDEV = 4, 852 +DCTT_DOWNLOAD_OUTLINE = 8; 853 + 854 +static 855 + 856 +if (WINVER >= 0x0400) 857 +{ 858 + // return from DC_BINADJUST 859 + enum : DWORD { 860 + DCBA_FACEUPNONE = 0x0000, 861 + DCBA_FACEUPCENTER = 0x0001, 862 + DCBA_FACEUPLEFT = 0x0002, 863 + DCBA_FACEUPRIGHT = 0x0003, 864 + DCBA_FACEDOWNNONE = 0x0100, 865 + DCBA_FACEDOWNCENTER = 0x0101, 866 + DCBA_FACEDOWNLEFT = 0x0102, 867 + DCBA_FACEDOWNRIGHT = 0x0103, 868 + } 869 +} 870 + 871 +// --- 872 + 873 +const FLOODFILLBORDER = 0; 874 +const FLOODFILLSURFACE = 1; 875 + 876 +// ExtTextOut() 877 +const UINT 878 +ETO_OPAQUE = 0x0002, 879 +ETO_CLIPPED = 0x0004, 880 +ETO_GLYPH_INDEX = 0x0010, 881 +ETO_RTLREADING = 0x0080, 882 +ETO_NUMERICSLOCAL = 0x0400, 883 +ETO_NUMERICSLATIN = 0x0800, 884 +ETO_IGNORELANGUAGE = 0x1000; 885 +static 886 + 887 +if (_WIN32_WINNT >= 0x0500) 888 +{ 889 + const UINT 890 + ETO_PDY = 0x2000; 891 +} 892 + 893 +// GdiComment() 894 +enum { 895 + GDICOMMENT_BEGINGROUP = 0x00000002, 896 + GDICOMMENT_ENDGROUP = 0x00000003, 897 + GDICOMMENT_UNICODE_STRING = 0x00000040, 898 + GDICOMMENT_UNICODE_END = 0x00000080, 899 + GDICOMMENT_MULTIFORMATS = 0x40000004, 900 + GDICOMMENT_IDENTIFIER = 0x43494447, 901 + GDICOMMENT_WINDOWS_METAFILE = 0x80000001, 902 +} 903 + 904 +// Get/SetArcDirection() 905 +enum : int { 906 + AD_COUNTERCLOCKWISE = 1, 907 + AD_CLOCKWISE = 2 908 +} 909 + 910 +const RDH_RECTANGLES = 1; 911 + 912 +// GCPRESULTS.lpClass 913 +enum { 914 + GCPCLASS_LATIN = 1, 915 + GCPCLASS_HEBREW = 2, 916 + GCPCLASS_ARABIC = 2, 917 + GCPCLASS_NEUTRAL, 918 + GCPCLASS_LOCALNUMBER, 919 + GCPCLASS_LATINNUMBER, 920 + GCPCLASS_LATINNUMERICTERMINATOR, 921 + GCPCLASS_LATINNUMERICSEPARATOR, 922 + GCPCLASS_NUMERICSEPARATOR, // = 8, 923 + GCPCLASS_POSTBOUNDRTL = 16, 924 + GCPCLASS_POSTBOUNDLTR = 32, 925 + GCPCLASS_PREBOUNDRTL = 64, 926 + GCPCLASS_PREBOUNDLTR = 128, 927 + GCPGLYPH_LINKAFTER = 0x4000, 928 + GCPGLYPH_LINKBEFORE = 0x8000 929 +} 930 + 931 +// GetBoundsRect(), SetBoundsRect() 932 +const UINT 933 +DCB_RESET = 1, 934 +DCB_ACCUMULATE = 2, 935 +DCB_SET = DCB_RESET | DCB_ACCUMULATE, 936 +DCB_ENABLE = 4, 937 +DCB_DISABLE = 8, 938 +DCB_DIRTY = DCB_ACCUMULATE; 939 + 940 +// --- 941 +// GetObjectType() 942 +enum : DWORD { 943 + OBJ_PEN = 1, 944 + OBJ_BRUSH, 945 + OBJ_DC, 946 + OBJ_METADC, 947 + OBJ_PAL, 948 + OBJ_FONT, 949 + OBJ_BITMAP, 950 + OBJ_REGION, 951 + OBJ_METAFILE, 952 + OBJ_MEMDC, 953 + OBJ_EXTPEN, 954 + OBJ_ENHMETADC, 955 + OBJ_ENHMETAFILE, 956 + OBJ_COLORSPACE, 957 +} 958 + 959 +// --------------------- 960 +// Capabilities for GetDeviceCaps(dc, xxx) 961 + 962 +enum : int { 963 + DRIVERVERSION = 0, 964 + TECHNOLOGY = 2, 965 + HORZSIZE = 4, 966 + VERTSIZE = 6, 967 + HORZRES = 8, 968 + VERTRES = 10, 969 + BITSPIXEL = 12, 970 + PLANES = 14, 971 + NUMBRUSHES = 16, 972 + NUMPENS = 18, 973 + NUMMARKERS = 20, 974 + NUMFONTS = 22, 975 + NUMCOLORS = 24, 976 + PDEVICESIZE = 26, 977 + CURVECAPS = 28, 978 + LINECAPS = 30, 979 + POLYGONALCAPS = 32, 980 + TEXTCAPS = 34, 981 + CLIPCAPS = 36, 982 + RASTERCAPS = 38, 983 + ASPECTX = 40, 984 + ASPECTY = 42, 985 + ASPECTXY = 44, 986 + LOGPIXELSX = 88, 987 + LOGPIXELSY = 90, 988 + SIZEPALETTE = 104, 989 + NUMRESERVED = 106, 990 + COLORRES = 108, 991 + PHYSICALWIDTH = 110, 992 + PHYSICALHEIGHT = 111, 993 + PHYSICALOFFSETX = 112, 994 + PHYSICALOFFSETY = 113, 995 + SCALINGFACTORX = 114, 996 + SCALINGFACTORY = 115, 997 + VREFRESH = 116, 998 + DESKTOPVERTRES = 117, 999 + DESKTOPHORZRES = 118, 1000 + BLTALIGNMENT = 119 1001 +} 1002 +static 1003 + 1004 +if (WINVER >= 0x0500) 1005 +{ 1006 + int 1007 + SHADEBLENDCAPS = 120, 1008 + COLORMGMTCAPS = 121; 1009 +} 1010 + 1011 +// Return values for GetDeviceCaps(dc, TECHNOLOGY) 1012 +enum : int { 1013 + DT_PLOTTER = 0, 1014 + DT_RASDISPLAY, 1015 + DT_RASPRINTER, 1016 + DT_RASCAMERA, 1017 + DT_CHARSTREAM, 1018 + DT_METAFILE, 1019 + DT_DISPFILE // = 6 1020 +} 1021 + 1022 +// Return values for GetDeviceCaps(dc, RASTERCAPS) 1023 +const int 1024 +RC_NONE = 0, 1025 +RC_BITBLT = 1, 1026 +RC_BANDING = 2, 1027 +RC_SCALING = 4, 1028 +RC_BITMAP64 = 8, 1029 +RC_GDI20_OUTPUT = 16, 1030 +RC_GDI20_STATE = 32, 1031 +RC_SAVEBITMAP = 64, 1032 +RC_DI_BITMAP = 128, 1033 +RC_PALETTE = 256, 1034 +RC_DIBTODEV = 512, 1035 +RC_BIGFONT = 1024, 1036 +RC_STRETCHBLT = 2048, 1037 +RC_FLOODFILL = 4096, 1038 +RC_STRETCHDIB = 8192, 1039 +RC_OP_DX_OUTPUT = 0x4000, 1040 +RC_DEVBITS = 0x8000; 1041 + 1042 +static 1043 + 1044 +if (WINVER >= 0x0500) 1045 +{ 1046 + /* Shading and blending caps */ 1047 + const SB_NONE = 0x00000000; 1048 + const SB_CONST_ALPHA = 0x00000001; 1049 + const SB_PIXEL_ALPHA = 0x00000002; 1050 + const SB_PREMULT_ALPHA = 0x00000004; 1051 + const SB_GRAD_RECT = 0x00000010; 1052 + const SB_GRAD_TRI = 0x00000020; 1053 + 1054 + /* Color Management caps */ 1055 + const CM_NONE = 0x00000000; 1056 + const CM_DEVICE_ICM = 0x00000001; 1057 + const CM_GAMMA_RAMP = 0x00000002; 1058 + const CM_CMYK_COLOR = 0x00000004; 1059 +} 1060 + 1061 +// Return values for GetDeviceCaps(dc, CURVECAPS) 1062 +const int 1063 +CC_NONE = 0, 1064 +CC_CIRCLES = 1, 1065 +CC_PIE = 2, 1066 +CC_CHORD = 4, 1067 +CC_ELLIPSES = 8, 1068 +CC_WIDE = 16, 1069 +CC_STYLED = 32, 1070 +CC_WIDESTYLED = 64, 1071 +CC_INTERIORS = 128, 1072 +CC_ROUNDRECT = 256; 1073 + 1074 +// Return values for GetDeviceCaps(dc, LINECAPS) 1075 + 1076 +const int 1077 +LC_NONE = 0, 1078 +LC_POLYLINE = 2, 1079 +LC_MARKER = 4, 1080 +LC_POLYMARKER = 8, 1081 +LC_WIDE = 16, 1082 +LC_STYLED = 32, 1083 +LC_WIDESTYLED = 64, 1084 +LC_INTERIORS = 128; 1085 + 1086 +// Return values for GetDeviceCaps(dc, POLYGONALCAPS) 1087 + 1088 +const int 1089 +PC_NONE = 0, 1090 +PC_POLYGON = 1, 1091 +PC_RECTANGLE = 2, 1092 +PC_WINDPOLYGON = 4, 1093 +PC_TRAPEZOID = 4, 1094 +PC_SCANLINE = 8, 1095 +PC_WIDE = 16, 1096 +PC_STYLED = 32, 1097 +PC_WIDESTYLED = 64, 1098 +PC_INTERIORS = 128, 1099 +PC_POLYPOLYGON = 256, 1100 +PC_PATHS = 512; 1101 + 1102 +/* Clipping Capabilities */ 1103 +const int CP_NONE = 0, 1104 + CP_RECTANGLE = 1, 1105 + CP_REGION = 2; 1106 + 1107 +// Return values for GetDeviceCaps(dc, TEXTCAPS) 1108 + 1109 +const int 1110 +TC_OP_CHARACTER = 1, 1111 +TC_OP_STROKE = 2, 1112 +TC_CP_STROKE = 4, 1113 +TC_CR_90 = 8, 1114 +TC_CR_ANY = 16, 1115 +TC_SF_X_YINDEP = 32, 1116 +TC_SA_DOUBLE = 64, 1117 +TC_SA_INTEGER = 128, 1118 +TC_SA_CONTIN = 256, 1119 +TC_EA_DOUBLE = 512, 1120 +TC_IA_ABLE = 1024, 1121 +TC_UA_ABLE = 2048, 1122 +TC_SO_ABLE = 4096, 1123 +TC_RA_ABLE = 8192, 1124 +TC_VA_ABLE = 16384, 1125 +TC_RESERVED = 32768, 1126 +TC_SCROLLBLT = 65536; 1127 + 1128 +// End GetDeviceCaps 1129 +// --------------------- 1130 +// GetCharacterPlacement(), and GetFontLanguageInfo() 1131 +const DWORD 1132 +GCP_DBCS = 1, 1133 +GCP_REORDER = 2, 1134 +GCP_USEKERNING = 8, 1135 +GCP_GLYPHSHAPE = 16, 1136 +GCP_LIGATE = 32, 1137 +GCP_DIACRITIC = 256, 1138 +GCP_KASHIDA = 1024, 1139 +GCP_ERROR = 0x8000, 1140 +GCP_JUSTIFY = 0x10000, 1141 +GCP_CLASSIN = 0x80000, 1142 +GCP_MAXEXTENT = 0x100000, 1143 +GCP_JUSTIFYIN = 0x200000, 1144 +GCP_DISPLAYZWG = 0x400000, 1145 +GCP_SYMSWAPOFF = 0x800000, 1146 +GCP_NUMERICOVERRIDE = 0x1000000, 1147 +GCP_NEUTRALOVERRIDE = 0x2000000, 1148 +GCP_NUMERICSLATIN = 0x4000000, 1149 +GCP_NUMERICSLOCAL = 0x8000000, 1150 + 1151 +// Only for GetFontLanguageInfo() 1152 +FLI_GLYPHS = 0x40000, 1153 +FLI_MASK = 0x103b; 1154 + 1155 +// GetGlyphOutline() 1156 +enum : UINT { 1157 + GGO_METRICS = 0, 1158 + GGO_BITMAP = 1, 1159 + GGO_NATIVE = 2, 1160 + GGO_BEZIER = 3, 1161 + GGO_GRAY2_BITMAP = 4, 1162 + GGO_GRAY4_BITMAP = 5, 1163 + GGO_GRAY8_BITMAP = 6, 1164 + GGO_GLYPH_INDEX = 128, 1165 + GGO_UNHINTED = 256 1166 +} 1167 + 1168 +enum : int { 1169 + GM_COMPATIBLE = 1, 1170 + GM_ADVANCED 1171 +} 1172 +const GM_LAST = GM_ADVANCED; 1173 + 1174 +enum : int { 1175 + MM_TEXT = 1, 1176 + MM_LOMETRIC, 1177 + MM_HIMETRIC, 1178 + MM_LOENGLISH, 1179 + MM_HIENGLISH, 1180 + MM_TWIPS, 1181 + MM_ISOTROPIC, 1182 + MM_ANISOTROPIC, 1183 +} 1184 + 1185 +const int 1186 +MM_MIN = MM_TEXT, 1187 +MM_MAX = MM_ANISOTROPIC, 1188 +MM_MAX_FIXEDSCALE = MM_TWIPS; 1189 + 1190 +const ABSOLUTE = 1; 1191 +const RELATIVE = 2; 1192 + 1193 +enum : BYTE { 1194 + PC_RESERVED = 1, 1195 + PC_EXPLICIT = 2, 1196 + PC_NOCOLLAPSE = 4 1197 +} 1198 + 1199 +/* FIXME: move to win32.commctrl ? */ 1200 + 1201 +// ImageList 1202 +const COLORREF 1203 +CLR_NONE = 0xffffffff, 1204 +CLR_INVALID = CLR_NONE, 1205 +CLR_DEFAULT = 0xff000000; 1206 + 1207 +// RASTERIZER_STATUS.wFlags 1208 +const short 1209 +TT_AVAILABLE = 1, 1210 +TT_ENABLED = 2; 1211 + 1212 +// GetStockObject() 1213 +enum : int { 1214 + WHITE_BRUSH = 0, 1215 + LTGRAY_BRUSH, 1216 + GRAY_BRUSH, 1217 + DKGRAY_BRUSH, 1218 + BLACK_BRUSH, 1219 + HOLLOW_BRUSH, // = 5 1220 + NULL_BRUSH = HOLLOW_BRUSH, 1221 + WHITE_PEN = 6, 1222 + BLACK_PEN, 1223 + NULL_PEN, // = 8 1224 + OEM_FIXED_FONT = 10, 1225 + ANSI_FIXED_FONT, 1226 + ANSI_VAR_FONT, 1227 + SYSTEM_FONT, 1228 + DEVICE_DEFAULT_FONT, 1229 + DEFAULT_PALETTE, 1230 + SYSTEM_FIXED_FONT, 1231 +} 1232 +static 1233 + 1234 +if (WINVER >= 0x0400) 1235 +{ 1236 + enum : int { 1237 + DEFAULT_GUI_FONT = SYSTEM_FIXED_FONT + 1, 1238 + } 1239 +} 1240 + 1241 +static 1242 + 1243 +if (_WIN32_WINNT >= 0x0500) 1244 +{ 1245 + enum : int { 1246 + DC_BRUSH = DEFAULT_GUI_FONT + 1, 1247 + DC_PEN, 1248 + } 1249 +} 1250 + 1251 +static 1252 + 1253 +if (_WIN32_WINNT >= 0x0500) 1254 +{ 1255 + const STOCK_LAST = DC_PEN; 1256 +} 1257 +else static 1258 + 1259 + if (WINVER >= 0x0400) 1260 + { 1261 + const STOCK_LAST = DEFAULT_GUI_FONT; 1262 + } 1263 + else 1264 + { 1265 + const STOCK_LAST = SYSTEM_FIXED_FONT; 1266 + } 1267 + 1268 +// Get/SetSystemPaletteUse() 1269 +enum : UINT { 1270 + SYSPAL_ERROR = 0, 1271 + SYSPAL_STATIC = 1, 1272 + SYSPAL_NOSTATIC = 2, 1273 + SYSPAL_NOSTATIC256 = 3, 1274 +} 1275 + 1276 +// SetTextAlign() 1277 +const UINT 1278 +TA_TOP = 0, 1279 +TA_CENTER = 6, 1280 +TA_BOTTOM = 8, 1281 +TA_BASELINE = 24, 1282 +TA_LEFT = 0, 1283 +TA_RIGHT = 2, 1284 +TA_RTLREADING = 256, 1285 +TA_NOUPDATECP = 0, 1286 +TA_UPDATECP = 1, 1287 +TA_MASK = TA_BASELINE + TA_CENTER + TA_UPDATECP + TA_RTLREADING, 1288 +VTA_BASELINE = TA_BASELINE, 1289 +VTA_CENTER = TA_CENTER, 1290 +VTA_LEFT = TA_BOTTOM, 1291 +VTA_RIGHT = TA_TOP, 1292 +VTA_BOTTOM = TA_RIGHT, 1293 +VTA_TOP = TA_LEFT; 1294 + 1295 +// EMRMODIFYWORLDTRANSFORM.iMode 1296 +enum : DWORD { 1297 + MWT_IDENTITY = 1, 1298 + MWT_LEFTMULTIPLY, 1299 + MWT_RIGHTMULTIPLY 1300 +} 1301 + 1302 +const DWORD 1303 +MWT_MIN = MWT_IDENTITY, 1304 +MWT_MAX = MWT_RIGHTMULTIPLY; 1305 + 1306 +enum { 1307 + TRANSPARENT = 1, 1308 + OPAQUE = 2 1309 +} 1310 + 1311 +// Get/SetStretchMode() 1312 +enum : int { 1313 + BLACKONWHITE = 1, 1314 + WHITEONBLACK = 2, 1315 + COLORONCOLOR = 3, 1316 + HALFTONE = 4, 1317 + 1318 + STRETCH_ANDSCANS = 1, 1319 + STRETCH_ORSCANS = 2, 1320 + STRETCH_DELETESCANS = 3, 1321 + STRETCH_HALFTONE = 4, 1322 + 1323 + MAXSTRETCHBLTMODE = 4 1324 +} 1325 + 1326 +// TranslateCharsetInfo() 1327 +enum : DWORD { 1328 + TCI_SRCCHARSET = 1, 1329 + TCI_SRCCODEPAGE = 2, 1330 + TCI_SRCFONTSIG = 3, 1331 + TCI_SRCLOCALE = 0x1000, 1332 +} 1333 + 1334 +// SetICMMode() 1335 +enum : int { 1336 + ICM_OFF = 1, 1337 + ICM_ON = 2, 1338 + ICM_QUERY = 3, 1339 + ICM_DONE_OUTSIDEDC = 4, 1340 +} 1341 + 1342 +// ---- 1343 +// Escape() Spooler Error Codes 1344 +enum : int { 1345 + SP_NOTREPORTED = 0x4000, 1346 + SP_ERROR = -1, 1347 + SP_APPABORT = -2, 1348 + SP_USERABORT = -3, 1349 + SP_OUTOFDISK = -4, 1350 + SP_OUTOFMEMORY = -5 1351 +} 1352 + 1353 +// Escape(), ExtEscape() 1354 +// Most of the following are deprecated (Win16 only) 1355 +enum : int { 1356 + NEWFRAME = 1, 1357 + ABORTDOC = 2, 1358 + NEXTBAND = 3, 1359 + SETCOLORTABLE = 4, 1360 + GETCOLORTABLE = 5, 1361 + FLUSHOUTPUT = 6, 1362 + DRAFTMODE = 7, 1363 + QUERYESCSUPPORT = 8, 1364 + SETABORTPROC = 9, 1365 + STARTDOC = 10, 1366 + ENDDOC = 11, 1367 + GETPHYSPAGESIZE = 12, 1368 + GETPRINTINGOFFSET = 13, 1369 + GETSCALINGFACTOR = 14, 1370 + MFCOMMENT = 15, 1371 + GETPENWIDTH = 16, 1372 + SETCOPYCOUNT = 17, 1373 + SELECTPAPERSOURCE = 18, 1374 + DEVICEDATA = 19, 1375 + PASSTHROUGH = 19, 1376 + GETTECHNOLOGY = 20, 1377 + SETLINECAP = 21, 1378 + SETLINEJOIN = 22, 1379 + SETMITERLIMIT = 23, 1380 + BANDINFO = 24, 1381 + DRAWPATTERNRECT = 25, 1382 + GETVECTORPENSIZE = 26, 1383 + GETVECTORBRUSHSIZE = 27, 1384 + ENABLEDUPLEX = 28, 1385 + GETSETPAPERBINS = 29, 1386 + GETSETPRINTORIENT = 30, 1387 + ENUMPAPERBINS = 31, 1388 + SETDIBSCALING = 32, 1389 + EPSPRINTING = 33, 1390 + ENUMPAPERMETRICS = 34, 1391 + GETSETPAPERMETRICS = 35, 1392 + POSTSCRIPT_DATA = 37, 1393 + POSTSCRIPT_IGNORE = 38, 1394 + MOUSETRAILS = 39, 1395 + GETDEVICEUNITS = 42, 1396 + GETEXTENDEDTEXTMETRICS = 256, 1397 + GETEXTENTTABLE = 257, 1398 + GETPAIRKERNTABLE = 258, 1399 + GETTRACKKERNTABLE = 259, 1400 + EXTTEXTOUT = 512, 1401 + GETFACENAME = 513, 1402 + DOWNLOADFACE = 514, 1403 + ENABLERELATIVEWIDTHS = 768, 1404 + ENABLEPAIRKERNING = 769, 1405 + SETKERNTRACK = 770, 1406 + SETALLJUSTVALUES = 771, 1407 + SETCHARSET = 772, 1408 + STRETCHBLT = 2048, 1409 + METAFILE_DRIVER = 2049, 1410 + GETSETSCREENPARAMS = 3072, 1411 + QUERYDIBSUPPORT = 3073, 1412 + BEGIN_PATH = 4096, 1413 + CLIP_TO_PATH = 4097, 1414 + END_PATH = 4098, 1415 + EXT_DEVICE_CAPS = 4099, 1416 + RESTORE_CTM = 4100, 1417 + SAVE_CTM = 4101, 1418 + SET_ARC_DIRECTION = 4102, 1419 + SET_BACKGROUND_COLOR = 4103, 1420 + SET_POLY_MODE = 4104, 1421 + SET_SCREEN_ANGLE = 4105, 1422 + SET_SPREAD = 4106, 1423 + TRANSFORM_CTM = 4107, 1424 + SET_CLIP_BOX = 4108, 1425 + SET_BOUNDS = 4109, 1426 + SET_MIRROR_MODE = 4110, 1427 + OPENCHANNEL = 4110, 1428 + DOWNLOADHEADER = 4111, 1429 + CLOSECHANNEL = 4112, 1430 + POSTSCRIPT_PASSTHROUGH = 4115, 1431 + ENCAPSULATED_POSTSCRIPT = 4116, 1432 + POSTSCRIPT_IDENTIFY = 4117, 1433 + POSTSCRIPT_INJECTION = 4118, 1434 + CHECKJPEGFORMAT = 4119, 1435 + CHECKPNGFORMAT = 4120, 1436 + GET_PS_FEATURESETTING = 4121, 1437 + SPCLPASSTHROUGH2 = 4568, 1438 +} 1439 + 1440 +enum : int { 1441 + PSIDENT_GDICENTRIC = 0, 1442 + PSIDENT_PSCENTRIC = 1, 1443 +} 1444 + 1445 +/* 1446 + * Header structure for the input buffer to POSTSCRIPT_INJECTION escape 1447 + */ 1448 +struct PSINJECTDATA 1449 +{ 1450 + DWORD DataBytes; 1451 + WORD InjectionPoint; 1452 + WORD PageNumber; 1453 +} 1454 +alias PSINJECTDATA*PPSINJECTDATA; 1455 + 1456 +/* Constants for PSINJECTDATA.InjectionPoint field */ 1457 +enum { 1458 + PSINJECT_BEGINSTREAM = 1, 1459 + PSINJECT_PSADOBE = 2, 1460 + PSINJECT_PAGESATEND = 3, 1461 + PSINJECT_PAGES = 4, 1462 + PSINJECT_DOCNEEDEDRES = 5, 1463 + PSINJECT_DOCSUPPLIEDRES = 6, 1464 + PSINJECT_PAGEORDER = 7, 1465 + PSINJECT_ORIENTATION = 8, 1466 + PSINJECT_BOUNDINGBOX = 9, 1467 + PSINJECT_DOCUMENTPROCESSCOLORS = 10, 1468 + PSINJECT_COMMENTS = 11, 1469 + PSINJECT_BEGINDEFAULTS = 12, 1470 + PSINJECT_ENDDEFAULTS = 13, 1471 + PSINJECT_BEGINPROLOG = 14, 1472 + PSINJECT_ENDPROLOG = 15, 1473 + PSINJECT_BEGINSETUP = 16, 1474 + PSINJECT_ENDSETUP = 17, 1475 + PSINJECT_TRAILER = 18, 1476 + PSINJECT_EOF = 19, 1477 + PSINJECT_ENDSTREAM = 20, 1478 + PSINJECT_DOCUMENTPROCESSCOLORSATEND = 21, 1479 + 1480 + PSINJECT_PAGENUMBER = 100, 1481 + PSINJECT_BEGINPAGESETUP = 101, 1482 + PSINJECT_ENDPAGESETUP = 102, 1483 + PSINJECT_PAGETRAILER = 103, 1484 + PSINJECT_PLATECOLOR = 104, 1485 + PSINJECT_SHOWPAGE = 105, 1486 + PSINJECT_PAGEBBOX = 106, 1487 + PSINJECT_ENDPAGECOMMENTS = 107, 1488 + 1489 + PSINJECT_VMSAVE = 200, 1490 + PSINJECT_VMRESTORE = 201, 1491 +} 1492 + 1493 +/* Parameter for GET_PS_FEATURESETTING escape */ 1494 +enum { 1495 + FEATURESETTING_NUP = 0, 1496 + FEATURESETTING_OUTPUT = 1, 1497 + FEATURESETTING_PSLEVEL = 2, 1498 + FEATURESETTING_CUSTPAPER = 3, 1499 + FEATURESETTING_MIRROR = 4, 1500 + FEATURESETTING_NEGATIVE = 5, 1501 + FEATURESETTING_PROTOCOL = 6, 1502 +} 1503 + 1504 +enum { 1505 + FEATURESETTING_PRIVATE_BEGIN = 0x1000, 1506 + FEATURESETTING_PRIVATE_END = 0x1FFF, 1507 +} 1508 + 1509 +/* Value returned for FEATURESETTING_PROTOCOL */ 1510 +const PSPROTOCOL_ASCII = 0; 1511 +const PSPROTOCOL_BCP = 1; 1512 +const PSPROTOCOL_TBCP = 2; 1513 +const PSPROTOCOL_BINARY = 3; 1514 + 1515 +// ---- 1516 + 1517 +const WPARAM PR_JOBSTATUS = 0; 1518 + 1519 +// ??? 1520 +const QDI_SETDIBITS = 1; 1521 +const QDI_GETDIBITS = 2; 1522 +const QDI_DIBTOSCREEN = 4; 1523 +const QDI_STRETCHDIB = 8; 1524 + 1525 +const ASPECT_FILTERING = 1; 1526 + 1527 +// LOGCOLORSPACE.lcsCSType 1528 +enum : LCSCSTYPE { 1529 + LCS_CALIBRATED_RGB = 0, 1530 + LCS_DEVICE_RGB, 1531 + LCS_DEVICE_CMYK 1532 +} /* What this for? */ 1533 + 1534 +// LOGCOLORSPACE.lcsIntent 1535 +enum : LCSGAMUTMATCH { 1536 + LCS_GM_BUSINESS = 1, 1537 + LCS_GM_GRAPHICS = 2, 1538 + LCS_GM_IMAGES = 4, 1539 + LCS_GM_ABS_COLORIMETRIC = 8, 1540 +} 1541 + 1542 +const DWORD 1543 +RASTER_FONTTYPE = 1, 1544 +DEVICE_FONTTYPE = 2, 1545 +TRUETYPE_FONTTYPE = 4; 1546 + 1547 +// --- 1548 +// DEVMODE struct 1549 + 1550 +// FIXME: Not needed for D (use .length instead) 1551 +const CCHDEVICENAME = 32; 1552 +const CCHFORMNAME = 32; 1553 + 1554 +// DEVMODE.dmSpecVersion 1555 +// current version of specification 1556 +static 1557 + 1558 +if (WINVER >= 0x0500 || _WIN32_WINNT >= 0x0400) 1559 +{ 1560 + const WORD DM_SPECVERSION = 0x0401; 1561 +} 1562 +else static 1563 + 1564 + if (WINVER >= 0x0400) 1565 + { 1566 + const WORD DM_SPECVERSION = 0x0400; 1567 + } 1568 + else 1569 + { 1570 + const WORD DM_SPECVERSION = 0x0320; 1571 + } 1572 + 1573 +// DEVMODE.dmOrientation 1574 +enum : short { 1575 + DMORIENT_PORTRAIT = 1, 1576 + DMORIENT_LANDSCAPE = 2 1577 +} 1578 + 1579 +// DEVMODE.dmPaperSize 1580 +enum : short { 1581 + DMPAPER_LETTER = 1, 1582 + DMPAPER_LETTERSMALL, 1583 + DMPAPER_TABLOID, 1584 + DMPAPER_LEDGER, 1585 + DMPAPER_LEGAL, 1586 + DMPAPER_STATEMENT, 1587 + DMPAPER_EXECUTIVE, 1588 + DMPAPER_A3, 1589 + DMPAPER_A4, 1590 + DMPAPER_A4SMALL, 1591 + DMPAPER_A5, 1592 + DMPAPER_B4, 1593 + DMPAPER_B5, 1594 + DMPAPER_FOLIO, 1595 + DMPAPER_QUARTO, 1596 + DMPAPER_10X14, 1597 + DMPAPER_11X17, 1598 + DMPAPER_NOTE, 1599 + DMPAPER_ENV_9, 1600 + DMPAPER_ENV_10, 1601 + DMPAPER_ENV_11, 1602 + DMPAPER_ENV_12, 1603 + DMPAPER_ENV_14, 1604 + DMPAPER_CSHEET, 1605 + DMPAPER_DSHEET, 1606 + DMPAPER_ESHEET, 1607 + DMPAPER_ENV_DL, 1608 + DMPAPER_ENV_C5, 1609 + DMPAPER_ENV_C3, 1610 + DMPAPER_ENV_C4, 1611 + DMPAPER_ENV_C6, 1612 + DMPAPER_ENV_C65, 1613 + DMPAPER_ENV_B4, 1614 + DMPAPER_ENV_B5, 1615 + DMPAPER_ENV_B6, 1616 + DMPAPER_ENV_ITALY, 1617 + DMPAPER_ENV_MONARCH, 1618 + DMPAPER_ENV_PERSONAL, 1619 + DMPAPER_FANFOLD_US, 1620 + DMPAPER_FANFOLD_STD_GERMAN, 1621 + DMPAPER_FANFOLD_LGL_GERMAN, 1622 + DMPAPER_ISO_B4, 1623 + DMPAPER_JAPANESE_POSTCARD, 1624 + DMPAPER_9X11, 1625 + DMPAPER_10X11, 1626 + DMPAPER_15X11, 1627 + DMPAPER_ENV_INVITE, 1628 + DMPAPER_RESERVED_48, 1629 + DMPAPER_RESERVED_49, 1630 + DMPAPER_LETTER_EXTRA, 1631 + DMPAPER_LEGAL_EXTRA, 1632 + DMPAPER_TABLOID_EXTRA, 1633 + DMPAPER_A4_EXTRA, 1634 + DMPAPER_LETTER_TRANSVERSE, 1635 + DMPAPER_A4_TRANSVERSE, 1636 + DMPAPER_LETTER_EXTRA_TRANSVERSE, 1637 + DMPAPER_A_PLUS, 1638 + DMPAPER_B_PLUS, 1639 + DMPAPER_LETTER_PLUS, 1640 + DMPAPER_A4_PLUS, 1641 + DMPAPER_A5_TRANSVERSE, 1642 + DMPAPER_B5_TRANSVERSE, 1643 + DMPAPER_A3_EXTRA, 1644 + DMPAPER_A5_EXTRA, 1645 + DMPAPER_B5_EXTRA, 1646 + DMPAPER_A2, 1647 + DMPAPER_A3_TRANSVERSE, 1648 + DMPAPER_A3_EXTRA_TRANSVERSE // = 68 1649 +} 1650 +static 1651 + 1652 +if (WINVER >= 0x0500) 1653 +{ 1654 + enum : short { 1655 + DMPAPER_DBL_JAPANESE_POSTCARD = 69, 1656 + DMPAPER_A6, 1657 + DMPAPER_JENV_KAKU2, 1658 + DMPAPER_JENV_KAKU3, 1659 + DMPAPER_JENV_CHOU3, 1660 + DMPAPER_JENV_CHOU4, 1661 + DMPAPER_LETTER_ROTATED, 1662 + DMPAPER_A3_ROTATED, 1663 + DMPAPER_A4_ROTATED, 1664 + DMPAPER_A5_ROTATED, 1665 + DMPAPER_B4_JIS_ROTATED, 1666 + DMPAPER_B5_JIS_ROTATED, 1667 + DMPAPER_JAPANESE_POSTCARD_ROTATED, 1668 + DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED, 1669 + DMPAPER_A6_ROTATED, 1670 + DMPAPER_JENV_KAKU2_ROTATED, 1671 + DMPAPER_JENV_KAKU3_ROTATED, 1672 + DMPAPER_JENV_CHOU3_ROTATED, 1673 + DMPAPER_JENV_CHOU4_ROTATED, 1674 + DMPAPER_B6_JIS, 1675 + DMPAPER_B6_JIS_ROTATED, 1676 + DMPAPER_12X11, 1677 + DMPAPER_JENV_YOU4, 1678 + DMPAPER_JENV_YOU4_ROTATED, 1679 + DMPAPER_P16K, 1680 + DMPAPER_P32K, 1681 + DMPAPER_P32KBIG, 1682 + DMPAPER_PENV_1, 1683 + DMPAPER_PENV_2, 1684 + DMPAPER_PENV_3, 1685 + DMPAPER_PENV_4, 1686 + DMPAPER_PENV_5, 1687 + DMPAPER_PENV_6, 1688 + DMPAPER_PENV_7, 1689 + DMPAPER_PENV_8, 1690 + DMPAPER_PENV_9, 1691 + DMPAPER_PENV_10, 1692 + DMPAPER_P16K_ROTATED, 1693 + DMPAPER_P32K_ROTATED, 1694 + DMPAPER_P32KBIG_ROTATED, 1695 + DMPAPER_PENV_1_ROTATED, 1696 + DMPAPER_PENV_2_ROTATED, 1697 + DMPAPER_PENV_3_ROTATED, 1698 + DMPAPER_PENV_4_ROTATED, 1699 + DMPAPER_PENV_5_ROTATED, 1700 + DMPAPER_PENV_6_ROTATED, 1701 + DMPAPER_PENV_7_ROTATED, 1702 + DMPAPER_PENV_8_ROTATED, 1703 + DMPAPER_PENV_9_ROTATED, 1704 + DMPAPER_PENV_10_ROTATED // 118 1705 + } 1706 +} 1707 + 1708 +const short DMPAPER_FIRST = DMPAPER_LETTER; 1709 + 1710 +static 1711 + 1712 +if (WINVER >= 0x0500) 1713 + const short DMPAPER_LAST = DMPAPER_PENV_10_ROTATED; 1714 +else 1715 + const short DMPAPER_LAST = DMPAPER_A3_EXTRA_TRANSVERSE; 1716 + 1717 +const short DMPAPER_USER = 256; 1718 + 1719 +// DEVMODE.dmDefaultSource 1720 +enum : short { 1721 + DMBIN_ONLYONE = 1, 1722 + DMBIN_UPPER = 1, 1723 + DMBIN_LOWER, 1724 + DMBIN_MIDDLE, 1725 + DMBIN_MANUAL, 1726 + DMBIN_ENVELOPE, 1727 + DMBIN_ENVMANUAL, 1728 + DMBIN_AUTO, 1729 + DMBIN_TRACTOR, 1730 + DMBIN_SMALLFMT, 1731 + DMBIN_LARGEFMT, 1732 + DMBIN_LARGECAPACITY, // = 11 1733 + DMBIN_CASSETTE = 14, 1734 + DMBIN_FORMSOURCE, 1735 +} 1736 +short 1737 +DMBIN_FIRST = DMBIN_UPPER, 1738 +DMBIN_LAST = DMBIN_FORMSOURCE, 1739 +DMBIN_USER = 256; 1740 + 1741 +// DEVMODE.dmPrintQuality 1742 +enum : short { 1743 + DMRES_DRAFT = -1, 1744 + DMRES_LOW = -2, 1745 + DMRES_MEDIUM = -3, 1746 + DMRES_HIGH = -4 1747 +} 1748 + 1749 +// DEVMODE.dmColor 1750 +enum : short { 1751 + DMCOLOR_MONOCHROME = 1, 1752 + DMCOLOR_COLOR = 2 1753 +} 1754 + 1755 +// DEVMODE.dmDuplex 1756 +enum : short { 1757 + DMDUP_SIMPLEX = 1, 1758 + DMDUP_VERTICAL = 2, 1759 + DMDUP_HORIZONTAL = 3 1760 +} 1761 + 1762 +// DEVMODE.dmTTOption 1763 +enum : short { 1764 + DMTT_BITMAP = 1, 1765 + DMTT_DOWNLOAD, 1766 + DMTT_SUBDEV, 1767 + DMTT_DOWNLOAD_OUTLINE 1768 +} 1769 + 1770 +// DEVMODE.dmCollate 1771 +enum : short { 1772 + DMCOLLATE_FALSE = 0, 1773 + DMCOLLATE_TRUE 1774 +} 1775 + 1776 +static 1777 + 1778 +if (WINVER >= 0x0501) 1779 +{ 1780 + /* DEVMODE dmDisplayOrientation specifiations */ 1781 + enum : short { 1782 + DMDO_DEFAULT = 0, 1783 + DMDO_90 = 1, 1784 + DMDO_180 = 2, 1785 + DMDO_270 = 3, 1786 + } 1787 + 1788 + /* DEVMODE dmDisplayFixedOutput specifiations */ 1789 + enum : short { 1790 + DMDFO_DEFAULT = 0, 1791 + DMDFO_STRETCH = 1, 1792 + DMDFO_CENTER = 2, 1793 + } 1794 +} 1795 + 1796 +/* FIXME: this flags are deprecated ? */ 1797 + 1798 +// DEVMODE.dmDisplayFlags 1799 +const DWORD 1800 +DM_GRAYSCALE = 1, 1801 +DM_INTERLACED = 2; 1802 + 1803 +const DWORD 1804 +DMDISPLAYFLAGS_TEXTMODE = 0x00000004; 1805 + 1806 +/* dmNup , multiple logical page per physical page options */ 1807 +const DWORD 1808 +DMNUP_SYSTEM = 1, 1809 +DMNUP_ONEUP = 2; 1810 + 1811 +// DEVMODE.dmFields 1812 +const DWORD 1813 +DM_ORIENTATION = 0x00000001, 1814 +DM_PAPERSIZE = 0x00000002, 1815 +DM_PAPERLENGTH = 0x00000004, 1816 +DM_PAPERWIDTH = 0x00000008, 1817 +DM_SCALE = 0x00000010; 1818 +static 1819 + 1820 +if (WINVER >= 0x0500) 1821 +{ 1822 + const DWORD 1823 + DM_POSITION = 0x00000020, 1824 + DM_NUP = 0x00000040; 1825 +} 1826 + 1827 +static 1828 + 1829 +if (WINVER >= 0x0501) 1830 +{ 1831 + const DWORD 1832 + DM_DISPLAYORIENTATION = 0x00000080; 1833 +} 1834 + 1835 +const DWORD 1836 +DM_COPIES = 0x00000100, 1837 +DM_DEFAULTSOURCE = 0x00000200, 1838 +DM_PRINTQUALITY = 0x00000400, 1839 +DM_COLOR = 0x00000800, 1840 +DM_DUPLEX = 0x00001000, 1841 +DM_YRESOLUTION = 0x00002000, 1842 +DM_TTOPTION = 0x00004000, 1843 +DM_COLLATE = 0x00008000, 1844 +DM_FORMNAME = 0x00010000, 1845 +DM_LOGPIXELS = 0x00020000, 1846 +DM_BITSPERPEL = 0x00040000, 1847 +DM_PELSWIDTH = 0x00080000, 1848 +DM_PELSHEIGHT = 0x00100000, 1849 +DM_DISPLAYFLAGS = 0x00200000, 1850 +DM_DISPLAYFREQUENCY = 0x00400000; 1851 +static 1852 + 1853 +if (WINVER >= 0x0400) 1854 +{ 1855 + const DWORD 1856 + DM_ICMMETHOD = 0x00800000, 1857 + DM_ICMINTENT = 0x01000000, 1858 + DM_MEDIATYPE = 0x02000000, 1859 + DM_DITHERTYPE = 0x04000000, 1860 + DM_PANNINGWIDTH = 0x08000000, 1861 + DM_PANNINGHEIGHT = 0x10000000; 1862 +} 1863 + 1864 +static 1865 + 1866 +if (WINVER >= 0x0501) 1867 +{ 1868 + const DWORD 1869 + DM_DISPLAYFIXEDOUTPUT = 0x20000000; 1870 +} 1871 + 1872 +// DEVMODE.dmICMMethod 1873 +enum : DWORD { 1874 + DMICMMETHOD_NONE = 1, 1875 + DMICMMETHOD_SYSTEM = 2, 1876 + DMICMMETHOD_DRIVER = 3, 1877 + DMICMMETHOD_DEVICE = 4, 1878 + DMICMMETHOD_USER = 256 1879 +} 1880 + 1881 +// DEVMODE.dmICMIntent 1882 +enum : DWORD { 1883 + DMICM_SATURATE = 1, 1884 + DMICM_CONTRAST = 2, 1885 + DMICM_COLORIMETRIC = 3, 1886 + DMICM_ABS_COLORIMETRIC = 4, 1887 + DMICM_USER = 256 1888 +} 1889 + 1890 +// DEVMODE.dmMediaType 1891 +enum : DWORD { 1892 + DMMEDIA_STANDARD = 1, 1893 + DMMEDIA_TRANSPARENCY = 2, 1894 + DMMEDIA_GLOSSY = 3, 1895 + DMMEDIA_USER = 256 1896 +} 1897 + 1898 +// DEVMODE.dmDitherType 1899 +enum : DWORD { 1900 + DMDITHER_NONE = 1, 1901 + DMDITHER_COARSE, 1902 + DMDITHER_FINE, 1903 + DMDITHER_LINEART, 1904 + DMDITHER_ERRORDIFFUSION, 1905 + DMDITHER_RESERVED6, 1906 + DMDITHER_RESERVED7, 1907 + DMDITHER_RESERVED8, 1908 + DMDITHER_RESERVED9, 1909 + DMDITHER_GRAYSCALE, 1910 + DMDITHER_USER = 256 1911 +} 1912 + 1913 +// ---- 1914 +// DocumentProperties() 1915 +const DWORD 1916 +DM_UPDATE = 1, 1917 +DM_COPY = 2, 1918 +DM_PROMPT = 4, 1919 +DM_MODIFY = 8, 1920 +DM_IN_BUFFER = DM_MODIFY, 1921 +DM_IN_PROMPT = DM_PROMPT, 1922 +DM_OUT_BUFFER = DM_COPY, 1923 +DM_OUT_DEFAULT = DM_UPDATE; 1924 + 1925 +// --- 1926 + 1927 +const GDI_ERROR = 0xFFFFFFFF; 1928 +const HGDI_ERROR= cast(HANDLE) GDI_ERROR; 1929 + 1930 +// TEXTMETRIC.tmPitchAndFamily 1931 +const BYTE 1932 +TMPF_FIXED_PITCH = 1, 1933 +TMPF_VECTOR = 2, 1934 +TMPF_TRUETYPE = 4, 1935 +TMPF_DEVICE = 8; 1936 + 1937 +// NEWTEXTMETRIC.ntmFlags 1938 +const DWORD 1939 +NTM_ITALIC = 0x00000001, 1940 +NTM_BOLD = 0x00000020, 1941 +NTM_REGULAR = 0x00000040, 1942 +NTM_NONNEGATIVE_AC = 0x00010000, 1943 +NTM_PS_OPENTYPE = 0x00020000, 1944 +NTM_TT_OPENTYPE = 0x00040000, 1945 +NTM_MULTIPLEMASTER = 0x00080000, 1946 +NTM_TYPE1 = 0x00100000, 1947 +NTM_DSIG = 0x00200000; 1948 + 1949 +// --- 1950 +const DWORD TT_POLYGON_TYPE = 24; 1951 + 1952 +// TTPOLYCURVE 1953 +enum : WORD { 1954 + TT_PRIM_LINE = 1, 1955 + TT_PRIM_QSPLINE = 2, 1956 + TT_PRIM_CSPLINE = 3, 1957 +} 1958 + 1959 +// --- 1960 +const FONTMAPPER_MAX = 10; 1961 +const ENHMETA_STOCK_OBJECT = 0x80000000; 1962 +const WGL_FONT_LINES = 0; 1963 +const WGL_FONT_POLYGONS = 1; 1964 + 1965 +// --- 1966 +// LAYERPLANEDESCRIPTOR.dwFlags 1967 +const DWORD 1968 +LPD_DOUBLEBUFFER = 1, 1969 +LPD_STEREO = 2, 1970 +LPD_SUPPORT_GDI = 16, 1971 +LPD_SUPPORT_OPENGL = 32, 1972 +LPD_SHARE_DEPTH = 64, 1973 +LPD_SHARE_STENCIL = 128, 1974 +LPD_SHARE_ACCUM = 256, 1975 +LPD_SWAP_EXCHANGE = 512, 1976 +LPD_SWAP_COPY = 1024, 1977 +LPD_TRANSPARENT = 4096; 1978 + 1979 +// LAYERPLANEDESCRIPTOR.iPixelType 1980 +enum : BYTE { 1981 + LPD_TYPE_RGBA = 0, 1982 + LPD_TYPE_COLORINDEX = 1 1983 +} 1984 + 1985 +// --- 1986 + 1987 +// wglSwapLayerBuffers() 1988 +const UINT 1989 +WGL_SWAP_MAIN_PLANE = 1, 1990 +WGL_SWAP_OVERLAY1 = 2, 1991 +WGL_SWAP_OVERLAY2 = 4, 1992 +WGL_SWAP_OVERLAY3 = 8, 1993 +WGL_SWAP_OVERLAY4 = 16, 1994 +WGL_SWAP_OVERLAY5 = 32, 1995 +WGL_SWAP_OVERLAY6 = 64, 1996 +WGL_SWAP_OVERLAY7 = 128, 1997 +WGL_SWAP_OVERLAY8 = 256, 1998 +WGL_SWAP_OVERLAY9 = 512, 1999 +WGL_SWAP_OVERLAY10 = 1024, 2000 +WGL_SWAP_OVERLAY11 = 2048, 2001 +WGL_SWAP_OVERLAY12 = 4096, 2002 +WGL_SWAP_OVERLAY13 = 8192, 2003 +WGL_SWAP_OVERLAY14 = 16384, 2004 +WGL_SWAP_OVERLAY15 = 32768, 2005 +WGL_SWAP_UNDERLAY1 = 65536, 2006 +WGL_SWAP_UNDERLAY2 = 0x20000, 2007 +WGL_SWAP_UNDERLAY3 = 0x40000, 2008 +WGL_SWAP_UNDERLAY4 = 0x80000, 2009 +WGL_SWAP_UNDERLAY5 = 0x100000, 2010 +WGL_SWAP_UNDERLAY6 = 0x200000, 2011 +WGL_SWAP_UNDERLAY7 = 0x400000, 2012 +WGL_SWAP_UNDERLAY8 = 0x800000, 2013 +WGL_SWAP_UNDERLAY9 = 0x1000000, 2014 +WGL_SWAP_UNDERLAY10 = 0x2000000, 2015 +WGL_SWAP_UNDERLAY11 = 0x4000000, 2016 +WGL_SWAP_UNDERLAY12 = 0x8000000, 2017 +WGL_SWAP_UNDERLAY13 = 0x10000000, 2018 +WGL_SWAP_UNDERLAY14 = 0x20000000, 2019 +WGL_SWAP_UNDERLAY15 = 0x40000000; 2020 + 2021 +const AC_SRC_OVER = 0x00; 2022 +const AC_SRC_ALPHA = 0x01; 2023 + 2024 +// ??? 2025 +const AC_SRC_NO_PREMULT_ALPHA = 0x01; 2026 +const AC_SRC_NO_ALPHA = 0x02; 2027 +const AC_DST_NO_PREMULT_ALPHA = 0x10; 2028 +const AC_DST_NO_ALPHA = 0x20; 2029 + 2030 +const LAYOUT_RTL = 1; 2031 +const LAYOUT_BTT = 2; 2032 +const LAYOUT_VBH = 4; 2033 +const LAYOUT_BITMAPORIENTATIONPRESERVED = 8; 2034 + 2035 +static 2036 + 2037 +if (WINVER > 0x0400) 2038 +{ 2039 + const CS_ENABLE = 0x00000001; 2040 + const CS_DISABLE = 0x00000002; 2041 + const CS_DELETE_TRANSFORM = 0x00000003; 2042 +} 2043 + 2044 +static 2045 + 2046 +if (WINVER > 0x0500) 2047 +{ 2048 + const GRADIENT_FILL_RECT_H =0x00; 2049 + const GRADIENT_FILL_RECT_V =0x01; 2050 + const GRADIENT_FILL_TRIANGLE =0x02; 2051 + const GRADIENT_FILL_OP_FLAG =0xff; 2052 + const COLORMATCHTOTARGET_EMBEDED=0x00000001; 2053 + const CREATECOLORSPACE_EMBEDED =0x00000001; 2054 + const SETICMPROFILE_EMBEDED =0x00000001; 2055 +} 2056 + 2057 +// DISPLAY_DEVICE.StateFlags 2058 +const DWORD 2059 +DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = 0x00000001, 2060 +DISPLAY_DEVICE_MULTI_DRIVER = 0x00000002, 2061 +DISPLAY_DEVICE_PRIMARY_DEVICE = 0x00000004, 2062 +DISPLAY_DEVICE_MIRRORING_DRIVER = 0x00000008, 2063 +DISPLAY_DEVICE_VGA_COMPATIBLE = 0x00000010, 2064 +DISPLAY_DEVICE_REMOVABLE = 0x00000020, 2065 +DISPLAY_DEVICE_DISCONNECT = 0x02000000, 2066 +DISPLAY_DEVICE_REMOTE = 0x04000000, 2067 +DISPLAY_DEVICE_MODESPRUNED = 0x08000000; 2068 + 2069 +/* Child device state */ 2070 +const DWORD 2071 +DISPLAY_DEVICE_ACTIVE = 0x00000001, 2072 +DISPLAY_DEVICE_ATTACHED = 0x00000002; 2073 + 2074 +static 2075 + 2076 +if (_WIN32_WINNT >= 0x0500) 2077 +{ 2078 + const GGI_MARK_NONEXISTING_GLYPHS = 1; 2079 +} 2080 + 2081 +// ---------- 2082 +// STRUCTS 2083 +// ---------- 2084 + 2085 +struct ABC 2086 +{ 2087 + int abcA; 2088 + UINT abcB; 2089 + int abcC; 2090 +} 2091 +alias ABC*PABC, NPABC, LPABC; 2092 + 2093 +struct ABCFLOAT 2094 +{ 2095 + FLOAT abcfA; 2096 + FLOAT abcfB; 2097 + FLOAT abcfC; 2098 +} 2099 +alias ABCFLOAT*PABCFLOAT, NPABCFLOAT, LPABCFLOAT; 2100 + 2101 +struct BITMAP 2102 +{ 2103 + LONG bmType; 2104 + LONG bmWidth; 2105 + LONG bmHeight; 2106 + LONG bmWidthBytes; 2107 + WORD bmPlanes; 2108 + WORD bmBitsPixel; 2109 + LPVOID bmBits; 2110 +} 2111 +alias BITMAP*PBITMAP, NPBITMAP, LPBITMAP; 2112 + 2113 +struct BITMAPCOREHEADER 2114 +{ 2115 + DWORD bcSize; 2116 + WORD bcWidth; 2117 + WORD bcHeight; 2118 + WORD bcPlanes; 2119 + WORD bcBitCount; 2120 +} 2121 +alias BITMAPCOREHEADER*PBITMAPCOREHEADER, LPBITMAPCOREHEADER; 2122 + 2123 +align (1) : 2124 +struct RGBTRIPLE 2125 +{ 2126 + BYTE rgbtBlue; 2127 + BYTE rgbtGreen; 2128 + BYTE rgbtRed; 2129 +} 2130 +alias RGBTRIPLE*LPRGBTRIPLE; 2131 + 2132 +align (2) : 2133 +struct BITMAPFILEHEADER 2134 +{ 2135 + WORD bfType; 2136 + DWORD bfSize; 2137 + WORD bfReserved1; 2138 + WORD bfReserved2; 2139 + DWORD bfOffBits; 2140 +} 2141 +alias BITMAPFILEHEADER*LPBITMAPFILEHEADER, PBITMAPFILEHEADER; 2142 + 2143 +align : 2144 + 2145 +struct BITMAPCOREINFO 2146 +{ 2147 + BITMAPCOREHEADER bmciHeader; 2148 + RGBTRIPLE[1] bmciColors; 2149 +} 2150 +alias BITMAPCOREINFO*LPBITMAPCOREINFO, PBITMAPCOREINFO; 2151 + 2152 +struct BITMAPINFOHEADER 2153 +{ 2154 + DWORD biSize; 2155 + LONG biWidth; 2156 + LONG biHeight; 2157 + WORD biPlanes; 2158 + WORD biBitCount; 2159 + DWORD biCompression; 2160 + DWORD biSizeImage; 2161 + LONG biXPelsPerMeter; 2162 + LONG biYPelsPerMeter; 2163 + DWORD biClrUsed; 2164 + DWORD biClrImportant; 2165 +} 2166 + 2167 +alias BITMAPINFOHEADER*LPBITMAPINFOHEADER, PBITMAPINFOHEADER; 2168 + 2169 +struct RGBQUAD 2170 +{ 2171 + BYTE rgbBlue; 2172 + BYTE rgbGreen; 2173 + BYTE rgbRed; 2174 + BYTE rgbReserved; 2175 +}; 2176 +alias RGBQUAD*LPRGBQUAD; 2177 + 2178 +struct BITMAPINFO 2179 +{ 2180 + BITMAPINFOHEADER bmiHeader; 2181 + RGBQUAD[1] bmiColors; 2182 +}; 2183 +alias BITMAPINFO*PBITMAPINFO, LPBITMAPINFO; 554 2184 555 2185 alias int FXPT16DOT16; 556 -alias int* LPFXPT16DOT16; 2186 +alias int*LPFXPT16DOT16; 557 2187 alias int FXPT2DOT30; 558 -alias int* LPFXPT2DOT30; 559 - 560 -struct tagCIEXYZ { 561 - FXPT2DOT30 ciexyzX; 562 - FXPT2DOT30 ciexyzY; 563 - FXPT2DOT30 ciexyzZ; 564 -} 565 -alias tagCIEXYZ CIEXYZ; 566 - 567 -alias CIEXYZ* LPCIEXYZ; 568 - 569 -struct tagICEXYZTRIPLE { 570 - CIEXYZ ciexyzRed; 571 - CIEXYZ ciexyzGreen; 572 - CIEXYZ ciexyzBlue; 573 -} 574 -alias tagICEXYZTRIPLE CIEXYZTRIPLE; 575 - 576 -alias CIEXYZTRIPLE* LPCIEXYZTRIPLE; 577 - 578 -struct tagLOGCOLORSPACEA { 579 - DWORD lcsSignature; 580 - DWORD lcsVersion; 581 - DWORD lcsSize; 582 - LCSCSTYPE lcsCSType; 583 - LCSGAMUTMATCH lcsIntent; 584 - CIEXYZTRIPLE lcsEndpoints; 585 - DWORD lcsGammaRed; 586 - DWORD lcsGammaGreen; 587 - DWORD lcsGammaBlue; 588 - CHAR lcsFilename[MAX_PATH]; 589 -} 590 -alias tagLOGCOLORSPACEA LOGCOLORSPACEA; 591 -alias tagLOGCOLORSPACEA* LPLOGCOLORSPACEA; 592 - 593 -struct tagLOGCOLORSPACEW { 594 - DWORD lcsSignature; 595 - DWORD lcsVersion; 596 - DWORD lcsSize; 597 - LCSCSTYPE lcsCSType; 598 - LCSGAMUTMATCH lcsIntent; 599 - CIEXYZTRIPLE lcsEndpoints; 600 - DWORD lcsGammaRed; 601 - DWORD lcsGammaGreen; 602 - DWORD lcsGammaBlue; 603 - WCHAR lcsFilename[MAX_PATH]; 604 -} 605 -alias tagLOGCOLORSPACEW LOGCOLORSPACEW; 606 -alias tagLOGCOLORSPACEW* LPLOGCOLORSPACEW; 607 - 608 -// #ifdef UNICODE 609 -alias LOGCOLORSPACEW LOGCOLORSPACE; 610 -alias LPLOGCOLORSPACEW LPLOGCOLORSPACE; 611 -// #else 612 -// ... 613 -// #endif // UNICODE 614 - 615 -// #endif /* WINVER >= 0x0400 */ 616 - 617 -struct tagBITMAPCOREHEADER { 618 - DWORD bcSize; 619 - WORD bcWidth; 620 - WORD bcHeight; 621 - WORD bcPlanes; 622 - WORD bcBitCount; 623 -} 624 -alias tagBITMAPCOREHEADER BITMAPCOREHEADER; 625 -alias tagBITMAPCOREHEADER* LPBITMAPCOREHEADER; 626 -alias tagBITMAPCOREHEADER* PBITMAPCOREHEADER; 627 - 628 -struct tagBITMAPINFOHEADER { 629 - DWORD biSize; 630 - LONG biWidth; 631 - LONG biHeight; 632 - WORD biPlanes; 633 - WORD biBitCount; 634 - DWORD biCompression; 635 - DWORD biSizeImage; 636 - LONG biXPelsPerMeter; 637 - LONG biYPelsPerMeter; 638 - DWORD biClrUsed; 639 - DWORD biClrImportant; 640 -} 641 -alias tagBITMAPINFOHEADER BITMAPINFOHEADER; 642 -alias tagBITMAPINFOHEADER* LPBITMAPINFOHEADER; 643 -alias tagBITMAPINFOHEADER* PBITMAPINFOHEADER; 644 - 645 -// #if(WINVER >= 0x0400) 646 -struct _0 { 647 - DWORD bV4Size; 648 - LONG bV4Width; 649 - LONG bV4Height; 650 - WORD bV4Planes; 651 - WORD bV4BitCount; 652 - DWORD bV4V4Compression; 653 - DWORD bV4SizeImage; 654 - LONG bV4XPelsPerMeter; 655 - LONG bV4YPelsPerMeter; 656 - DWORD bV4ClrUsed; 657 - DWORD bV4ClrImportant; 658 - DWORD bV4RedMask; 659 - DWORD bV4GreenMask; 660 - DWORD bV4BlueMask; 661 - DWORD bV4AlphaMask; 662 - DWORD bV4CSType; 663 - CIEXYZTRIPLE bV4Endpoints; 664 - DWORD bV4GammaRed; 665 - DWORD bV4GammaGreen; 666 - DWORD bV4GammaBlue; 667 -} 668 -alias _0 BITMAPV4HEADER; 669 -alias _0* LPBITMAPV4HEADER; 670 -alias _0* PBITMAPV4HEADER; 671 - 672 -// #endif /* WINVER >= 0x0400 */ 673 - 674 -// #if (WINVER >= 0x0500) 675 -struct _1 { 676 - DWORD bV5Size; 677 - LONG bV5Width; 678 - LONG bV5Height; 679 - WORD bV5Planes; 680 - WORD bV5BitCount; 681 - DWORD bV5Compression; 682 - DWORD bV5SizeImage; 683 - LONG bV5XPelsPerMeter; 684 - LONG bV5YPelsPerMeter; 685 - DWORD bV5ClrUsed; 686 - DWORD bV5ClrImportant; 687 - DWORD bV5RedMask; 688 - DWORD bV5GreenMask; 689 - DWORD bV5BlueMask; 690 - DWORD bV5AlphaMask; 691 - DWORD bV5CSType; 692 - CIEXYZTRIPLE bV5Endpoints; 693 - DWORD bV5GammaRed; 694 - DWORD bV5GammaGreen; 695 - DWORD bV5GammaBlue; 696 - DWORD bV5Intent; 697 - DWORD bV5ProfileData; 698 - DWORD bV5ProfileSize; 699 - DWORD bV5Reserved; 700 -} 701 -alias _1 BITMAPV5HEADER; 702 -alias _1* LPBITMAPV5HEADER; 703 -alias _1* PBITMAPV5HEADER; 704 - 705 -// #define PROFILE_LINKED 'LINK' 706 -// #define PROFILE_EMBEDDED 'MBED' 707 -// #endif 708 - 709 -enum : uint { BI_RGB = 0 } 710 -enum : uint { BI_RLE8 = 1 } 711 -enum : uint { BI_RLE4 = 2 } 712 -enum : uint { BI_BITFIELDS = 3 } 713 -enum : uint { BI_JPEG = 4 } 714 -enum : uint { BI_PNG = 5 } 715 -// #if (_WIN32_WINNT >= 0x0400) 716 -// #endif 717 - 718 -struct tagBITMAPINFO { 719 - BITMAPINFOHEADER bmiHeader; 720 - RGBQUAD bmiColors[1]; 721 -} 722 -alias tagBITMAPINFO BITMAPINFO; 723 -alias tagBITMAPINFO* LPBITMAPINFO; 724 -alias tagBITMAPINFO* PBITMAPINFO; 725 - 726 -struct tagBITMAPCOREINFO { 727 - BITMAPCOREHEADER bmciHeader; 728 - RGBTRIPLE bmciColors[1]; 729 -} 730 -alias tagBITMAPCOREINFO BITMAPCOREINFO; 731 -alias tagBITMAPCOREINFO* LPBITMAPCOREINFO; 732 -alias tagBITMAPCOREINFO* PBITMAPCOREINFO; 733 - 734 -align(2): 735 -struct tagBITMAPFILEHEADER { 736 - WORD bfType; 737 - DWORD bfSize; 738 - WORD bfReserved1; 739 - WORD bfReserved2; 740 - DWORD bfOffBits; 741 -} 742 -alias tagBITMAPFILEHEADER BITMAPFILEHEADER; 743 -alias tagBITMAPFILEHEADER* LPBITMAPFILEHEADER; 744 -alias tagBITMAPFILEHEADER* PBITMAPFILEHEADER; 745 - 746 -align: 747 - 748 -// #define MAKEPOINTS(l) (*((POINTS FAR *)&(l))) 749 - 750 -// #if(WINVER >= 0x0400) 751 -// #ifndef NOFONTSIG 752 -struct tagFONTSIGNATURE { 753 - DWORD fsUsb[4]; 754 - DWORD fsCsb[2]; 755 -} 756 -alias tagFONTSIGNATURE FONTSIGNATURE; 757 -alias tagFONTSIGNATURE* PFONTSIGNATURE; 758 -alias tagFONTSIGNATURE* LPFONTSIGNATURE; 759 - 760 -struct tagCHARSETINFO { 761 - UINT ciCharset; 762 - UINT ciACP; 763 - FONTSIGNATURE fs; 764 -} 765 -alias tagCHARSETINFO CHARSETINFO; 766 -alias tagCHARSETINFO* PCHARSETINFO; 767 -alias tagCHARSETINFO* NPCHARSETINFO; 768 -alias tagCHARSETINFO* LPCHARSETINFO; 769 - 770 -enum : uint { TCI_SRCCHARSET = 1 } 771 -enum : uint { TCI_SRCCODEPAGE = 2 } 772 -enum : uint { TCI_SRCFONTSIG = 3 } 773 - 774 -struct tagLOCALESIGNATURE { 775 - DWORD lsUsb[4]; 776 - DWORD lsCsbDefault[2]; 777 - DWORD lsCsbSupported[2]; 778 -} 779 -alias tagLOCALESIGNATURE LOCALESIGNATURE; 780 -alias tagLOCALESIGNATURE* PLOCALESIGNATURE; 781 -alias tagLOCALESIGNATURE* LPLOCALESIGNATURE; 782 - 783 -// #endif 784 -// #endif /* WINVER >= 0x0400 */ 785 - 786 -// #ifndef NOMETAFILE 787 - 788 -struct tagHANDLETABLE { 789 - HGDIOBJ objectHandle[1]; 790 -} 791 -alias tagHANDLETABLE HANDLETABLE; 792 -alias tagHANDLETABLE* PHANDLETABLE; 793 -alias tagHANDLETABLE* LPHANDLETABLE; 794 - 795 -struct tagMETARECORD { 796 - DWORD rdSize; 797 - WORD rdFunction; 798 - WORD rdParm[1]; 799 -} 800 -alias tagMETARECORD METARECORD; 801 - 802 -alias tagMETARECORD* PMETARECORD; 803 -alias tagMETARECORD* LPMETARECORD; 804 - 805 -struct tagMETAFILEPICT { 806 - LONG mm; 807 - LONG xExt; 808 - LONG yExt; 809 - HMETAFILE hMF; 810 -} 811 -alias tagMETAFILEPICT METAFILEPICT; 812 -alias tagMETAFILEPICT* LPMETAFILEPICT; 813 - 814 -align(2): 815 -struct tagMETAHEADER { 816 - WORD mtType; 817 - WORD mtHeaderSize; 818 - WORD mtVersion; 819 - DWORD mtSize; 820 - WORD mtNoObjects; 821 - DWORD mtMaxRecord; 822 - WORD mtNoParameters; 823 -} 824 -alias tagMETAHEADER METAHEADER; 825 - 826 -alias tagMETAHEADER* PMETAHEADER; 827 -alias tagMETAHEADER* LPMETAHEADER; 828 - 829 -align: 830 - 831 -struct tagENHMETARECORD { 832 - DWORD iType; 833 - DWORD nSize; 834 - DWORD dParm[1]; 835 -} 836 -alias tagENHMETARECORD ENHMETARECORD; 837 -alias tagENHMETARECORD* PENHMETARECORD; 838 -alias tagENHMETARECORD* LPENHMETARECORD; 839 - 840 -struct tagENHMETAHEADER { 841 - DWORD iType; 842 - DWORD nSize; 843 - 844 - RECTL rclBounds; 845 - RECTL rclFrame; 846 - DWORD dSignature; 847 - DWORD nVersion; 848 - DWORD nBytes; 849 - DWORD nRecords; 850 - WORD nHandles; 851 - 852 - WORD sReserved; 853 - DWORD nDescription; 854 - 855 - DWORD offDescription; 856 - 857 - DWORD nPalEntries; 858 - SIZEL szlDevice; 859 - SIZEL szlMillimeters; 860 -// #if(WINVER >= 0x0400) 861 - DWORD cbPixelFormat; 862 - 863 - DWORD offPixelFormat; 864 - 865 - DWORD bOpenGL; 866 - 867 -// #endif /* WINVER >= 0x0400 */ 868 -// #if(WINVER >= 0x0500) 869 - SIZEL szlMicrometers; 870 -// #endif /* WINVER >= 0x0500 */ 871 - 872 -} 873 -alias tagENHMETAHEADER ENHMETAHEADER; 874 -alias tagENHMETAHEADER* PENHMETAHEADER; 875 -alias tagENHMETAHEADER* LPENHMETAHEADER; 876 - 877 -// #endif /* NOMETAFILE */ 878 - 879 -// #ifndef NOTEXTMETRIC 880 - 881 -enum : uint { TMPF_FIXED_PITCH = 0x01 } 882 -enum : uint { TMPF_VECTOR = 0x02 } 883 -enum : uint { TMPF_DEVICE = 0x08 } 884 -enum : uint { TMPF_TRUETYPE = 0x04 } 885 - 886 -// #ifdef UNICODE 887 -alias WCHAR BCHAR; 888 -// #else 889 -// ... 890 -// #endif 891 - 892 -// #ifndef _TEXTMETRIC_DEFINED 893 -// #define _TEXTMETRIC_DEFINED 894 -struct tagTEXTMETRICA { 895 - LONG tmHeight; 896 - LONG tmAscent; 897 - LONG tmDescent; 898 - LONG tmInternalLeading; 899 - LONG tmExternalLeading; 900 - LONG tmAveCharWidth; 901 - LONG tmMaxCharWidth; 902 - LONG tmWeight; 903 - LONG tmOverhang; 904 - LONG tmDigitizedAspectX; 905 - LONG tmDigitizedAspectY; 906 - BYTE tmFirstChar; 907 - BYTE tmLastChar; 908 - BYTE tmDefaultChar; 909 - BYTE tmBreakChar; 910 - BYTE tmItalic; 911 - BYTE tmUnderlined; 912 - BYTE tmStruckOut; 913 - BYTE tmPitchAndFamily; 914 - BYTE tmCharSet; 915 -} 916 -alias tagTEXTMETRICA TEXTMETRICA; 917 -alias tagTEXTMETRICA* PTEXTMETRICA; 918 -alias tagTEXTMETRICA* NPTEXTMETRICA; 919 -alias tagTEXTMETRICA* LPTEXTMETRICA; 920 - 921 -struct tagTEXTMETRICW { 922 - LONG tmHeight; 923 - LONG tmAscent; 924 - LONG tmDescent; 925 - LONG tmInternalLeading; 926 - LONG tmExternalLeading; 927 - LONG tmAveCharWidth; 928 - LONG tmMaxCharWidth; 929 - LONG tmWeight; 930 - LONG tmOverhang; 931 - LONG tmDigitizedAspectX; 932 - LONG tmDigitizedAspectY; 933 - WCHAR tmFirstChar; 934 - WCHAR tmLastChar; 935 - WCHAR tmDefaultChar; 936 - WCHAR tmBreakChar; 937 - BYTE tmItalic; 938 - BYTE tmUnderlined; 939 - BYTE tmStruckOut; 940 - BYTE tmPitchAndFamily; 941 - BYTE tmCharSet; 942 -} 943 -alias tagTEXTMETRICW TEXTMETRICW; 944 -alias tagTEXTMETRICW* PTEXTMETRICW; 945 -alias tagTEXTMETRICW* NPTEXTMETRICW; 946 -alias tagTEXTMETRICW* LPTEXTMETRICW; 947 - 948 -// #ifdef UNICODE 949 -alias TEXTMETRICW TEXTMETRIC; 950 -alias PTEXTMETRICW PTEXTMETRIC; 951 -alias NPTEXTMETRICW NPTEXTMETRIC; 952 -alias LPTEXTMETRICW LPTEXTMETRIC; 953 -// #else 954 -// ... 955 -// #endif // UNICODE 956 -// #endif // !_TEXTMETRIC_DEFINED 957 - 958 -enum : uint { NTM_REGULAR = 0x00000040 } 959 -enum : uint { NTM_BOLD = 0x00000020 } 960 -enum : uint { NTM_ITALIC = 0x00000001 } 961 - 962 -enum : uint { NTM_NONNEGATIVE_AC = 0x00010000 } 963 -enum : uint { NTM_PS_OPENTYPE = 0x00020000 } 964 -enum : uint { NTM_TT_OPENTYPE = 0x00040000 } 965 -enum : uint { NTM_MULTIPLEMASTER = 0x00080000 } 966 -enum : uint { NTM_TYPE1 = 0x00100000 } 967 -enum : uint { NTM_DSIG = 0x00200000 } 968 - 969 -align(4): 970 -struct tagNEWTEXTMETRICA { 971 - LONG tmHeight; 972 - LONG tmAscent; 973 - LONG tmDescent; 974 - LONG tmInternalLeading; 975 - LONG tmExternalLeading; 976 - LONG tmAveCharWidth; 977 - LONG tmMaxCharWidth; 978 - LONG tmWeight; 979 - LONG tmOverhang; 980 - LONG tmDigitizedAspectX; 981 - LONG tmDigitizedAspectY; 982 - BYTE tmFirstChar; 983 - BYTE tmLastChar; 984 - BYTE tmDefaultChar; 985 - BYTE tmBreakChar; 986 - BYTE tmItalic; 987 - BYTE tmUnderlined; 988 - BYTE tmStruckOut; 989 - BYTE tmPitchAndFamily; 990 - BYTE tmCharSet; 991 - DWORD ntmFlags; 992 - UINT ntmSizeEM; 993 - UINT ntmCellHeight; 994 - UINT ntmAvgWidth; 995 -} 996 -alias tagNEWTEXTMETRICA NEWTEXTMETRICA; 997 -alias tagNEWTEXTMETRICA* PNEWTEXTMETRICA; 998 -alias tagNEWTEXTMETRICA* NPNEWTEXTMETRICA; 999 -alias tagNEWTEXTMETRICA* LPNEWTEXTMETRICA; 1000 - 1001 -struct tagNEWTEXTMETRICW { 1002 - LONG tmHeight; 1003 - LONG tmAscent; 1004 - LONG tmDescent; 1005 - LONG tmInternalLeading; 1006 - LONG tmExternalLeading; 1007 - LONG tmAveCharWidth; 1008 - LONG tmMaxCharWidth; 1009 - LONG tmWeight; 1010 - LONG tmOverhang; 1011 - LONG tmDigitizedAspectX; 1012 - LONG tmDigitizedAspectY; 1013 - WCHAR tmFirstChar; 1014 - WCHAR tmLastChar; 1015 - WCHAR tmDefaultChar; 1016 - WCHAR tmBreakChar; 1017 - BYTE tmItalic; 1018 - BYTE tmUnderlined; 1019 - BYTE tmStruckOut; 1020 - BYTE tmPitchAndFamily; 1021 - BYTE tmCharSet; 1022 - DWORD ntmFlags; 1023 - UINT ntmSizeEM; 1024 - UINT ntmCellHeight; 1025 - UINT ntmAvgWidth; 1026 -} 1027 -alias tagNEWTEXTMETRICW NEWTEXTMETRICW; 1028 -alias tagNEWTEXTMETRICW* PNEWTEXTMETRICW; 1029 -alias tagNEWTEXTMETRICW* NPNEWTEXTMETRICW; 1030 -alias tagNEWTEXTMETRICW* LPNEWTEXTMETRICW; 1031 - 1032 -// #ifdef UNICODE 1033 -alias NEWTEXTMETRICW NEWTEXTMETRIC; 1034 -alias PNEWTEXTMETRICW PNEWTEXTMETRIC; 1035 -alias NPNEWTEXTMETRICW NPNEWTEXTMETRIC; 1036 -alias LPNEWTEXTMETRICW LPNEWTEXTMETRIC; 1037 -// #else 1038 -// ... 1039 -// #endif // UNICODE 1040 -align: 1041 - 1042 -// #if(WINVER >= 0x0400) 1043 -struct tagNEWTEXTMETRICEXA { 1044 - NEWTEXTMETRICA ntmTm; 1045 - FONTSIGNATURE ntmFontSig; 1046 -} 1047 -alias tagNEWTEXTMETRICEXA NEWTEXTMETRICEXA; 1048 - 1049 -struct tagNEWTEXTMETRICEXW { 1050 - NEWTEXTMETRICW ntmTm; 1051 - FONTSIGNATURE ntmFontSig; 1052 -} 1053 -alias tagNEWTEXTMETRICEXW NEWTEXTMETRICEXW; 1054 - 1055 -// #ifdef UNICODE 1056 -alias NEWTEXTMETRICEXW NEWTEXTMETRICEX; 1057 -// #else 1058 -// ... 1059 -// #endif // UNICODE 1060 -// #endif /* WINVER >= 0x0400 */ 1061 - 1062 -// #endif /* NOTEXTMETRIC */ 1063 - 1064 -struct tagPELARRAY { 1065 - LONG paXCount; 1066 - LONG paYCount; 1067 - LONG paXExt; 1068 - LONG paYExt; 1069 - BYTE paRGBs; 1070 -} 1071 -alias tagPELARRAY PELARRAY; 1072 -alias tagPELARRAY* PPELARRAY; 1073 -alias tagPELARRAY* NPPELARRAY; 1074 -alias tagPELARRAY* LPPELARRAY; 1075 - 1076 -struct tagLOGBRUSH { 1077 - UINT lbStyle; 1078 - COLORREF lbColor; 1079 - ULONG_PTR lbHatch; 1080 -} 1081 -alias tagLOGBRUSH LOGBRUSH; 1082 -alias tagLOGBRUSH* PLOGBRUSH; 1083 -alias tagLOGBRUSH* NPLOGBRUSH; 1084 -alias tagLOGBRUSH* LPLOGBRUSH; 1085 - 1086 -struct tagLOGBRUSH32 { 1087 - UINT lbStyle; 1088 - COLORREF lbColor; 1089 - ULONG lbHatch; 1090 -} 1091 -alias tagLOGBRUSH32 LOGBRUSH32; 1092 -alias tagLOGBRUSH32* PLOGBRUSH32; 1093 -alias tagLOGBRUSH32* NPLOGBRUSH32; 1094 -alias tagLOGBRUSH32* LPLOGBRUSH32; 1095 - 2188 +alias int*LPFXPT2DOT30; 2189 + 2190 +struct CIEXYZ 2191 +{ 2192 + FXPT2DOT30 ciexyzX; 2193 + FXPT2DOT30 ciexyzY; 2194 + FXPT2DOT30 ciexyzZ; 2195 +} 2196 +alias CIEXYZ*LPCIEXYZ; 2197 + 2198 +struct CIEXYZTRIPLE 2199 +{ 2200 + CIEXYZ ciexyzRed; 2201 + CIEXYZ ciexyzGreen; 2202 + CIEXYZ ciexyzBlue; 2203 +} 2204 +alias CIEXYZTRIPLE*LPCIEXYZTRIPLE; 2205 + 2206 +struct BITMAPV4HEADER 2207 +{ 2208 + DWORD bV4Size; 2209 + LONG bV4Width; 2210 + LONG bV4Height; 2211 + WORD bV4Planes; 2212 + WORD bV4BitCount; 2213 + DWORD bV4V4Compression; 2214 + DWORD bV4SizeImage; 2215 + LONG bV4XPelsPerMeter; 2216 + LONG bV4YPelsPerMeter; 2217 + DWORD bV4ClrUsed; 2218 + DWORD bV4ClrImportant; 2219 + DWORD bV4RedMask; 2220 + DWORD bV4GreenMask; 2221 + DWORD bV4BlueMask; 2222 + DWORD bV4AlphaMask; 2223 + DWORD bV4CSType; 2224 + CIEXYZTRIPLE bV4Endpoints; 2225 + DWORD bV4GammaRed; 2226 + DWORD bV4GammaGreen; 2227 + DWORD bV4GammaBlue; 2228 +} 2229 +alias BITMAPV4HEADER*LPBITMAPV4HEADER, PBITMAPV4HEADER; 2230 + 2231 +struct BITMAPV5HEADER 2232 +{ 2233 + DWORD bV5Size; 2234 + LONG bV5Width; 2235 + LONG bV5Height; 2236 + WORD bV5Planes; 2237 + WORD bV5BitCount; 2238 + DWORD bV5Compression; 2239 + DWORD bV5SizeImage; 2240 + LONG bV5XPelsPerMeter; 2241 + LONG bV5YPelsPerMeter; 2242 + DWORD bV5ClrUsed; 2243 + DWORD bV5ClrImportant; 2244 + DWORD bV5RedMask; 2245 + DWORD bV5GreenMask; 2246 + DWORD bV5BlueMask; 2247 + DWORD bV5AlphaMask; 2248 + DWORD bV5CSType; 2249 + CIEXYZTRIPLE bV5Endpoints; 2250 + DWORD bV5GammaRed; 2251 + DWORD bV5GammaGreen; 2252 + DWORD bV5GammaBlue; 2253 + DWORD bV5Intent; 2254 + DWORD bV5ProfileData; 2255 + DWORD bV5ProfileSize; 2256 + DWORD bV5Reserved; 2257 +} 2258 +alias BITMAPV5HEADER*LPBITMAPV5HEADER, PBITMAPV5HEADER; 2259 + 2260 +struct FONTSIGNATURE 2261 +{ 2262 + DWORD[4] fsUsb; 2263 + DWORD[2] fsCsb; 2264 +} 2265 +alias FONTSIGNATURE*PFONTSIGNATURE, LPFONTSIGNATURE; 2266 + 2267 +struct CHARSETINFO 2268 +{ 2269 + UINT ciCharset; 2270 + UINT ciACP; 2271 + FONTSIGNATURE fs; 2272 +} 2273 +alias CHARSETINFO*PCHARSETINFO, NPCHARSETINFO, LPCHARSETINFO; 2274 + 2275 +struct COLORADJUSTMENT 2276 +{ 2277 + WORD caSize; 2278 + WORD caFlags; 2279 + WORD caIlluminantIndex; 2280 + WORD caRedGamma; 2281 + WORD caGreenGamma; 2282 + WORD caBlueGamma; 2283 + WORD caReferenceBlack; 2284 + WORD caReferenceWhite; 2285 + SHORT caContrast; 2286 + SHORT caBrightness; 2287 + SHORT caColorfulness; 2288 + SHORT caRedGreenTint; 2289 +} 2290 +alias COLORADJUSTMENT*PCOLORADJUSTMENT, LPCOLORADJUSTMENT; 2291 + 2292 +struct DEVMODEA 2293 +{ 2294 + BYTE[CCHDEVICENAME] dmDeviceName; 2295 + WORD dmSpecVersion; 2296 + WORD dmDriverVersion; 2297 + WORD dmSize; 2298 + WORD dmDriverExtra; 2299 + DWORD dmFields; 2300 + union { 2301 + struct 2302 + { 2303 + short dmOrientation; 2304 + short dmPaperSize; 2305 + short dmPaperLength; 2306 + short dmPaperWidth; 2307 + short dmScale; 2308 + short dmCopies; 2309 + short dmDefaultSource; 2310 + short dmPrintQuality; 2311 + } 2312 + POINTL dmPosition; 2313 + DWORD dmDisplayOrientation; 2314 + DWORD dmDisplayFixedOutput; 2315 + } 2316 + short dmColor; 2317 + short dmDuplex; 2318 + short dmYResolution; 2319 + short dmTTOption; 2320 + short dmCollate; 2321 + BYTE[CCHFORMNAME] dmFormName; 2322 + WORD dmLogPixels; 2323 + DWORD dmBitsPerPel; 2324 + DWORD dmPelsWidth; 2325 + DWORD dmPelsHeight; 2326 + union { 2327 + DWORD dmDisplayFlags; 2328 + DWORD dmNup; 2329 + } 2330 + DWORD dmDisplayFrequency; 2331 + static 2332 + 2333 + if (WINVER >= 0x0400) 2334 + { 2335 + DWORD dmICMMethod; 2336 + DWORD dmICMIntent; 2337 + DWORD dmMediaType; 2338 + DWORD dmDitherType; 2339 + DWORD dmReserved1; 2340 + DWORD dmReserved2; 2341 + static 2342 + 2343 + if ((WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)) 2344 + { 2345 + DWORD dmPanningWidth; 2346 + DWORD dmPanningHeight; 2347 + } 2348 + } 2349 +} 2350 +alias DEVMODEA*PDEVMODEA, NPDEVMODEA, LPDEVMODEA; 2351 + 2352 +struct DEVMODEW 2353 +{ 2354 + WCHAR[CCHDEVICENAME] dmDeviceName; 2355 + WORD dmSpecVersion; 2356 + WORD dmDriverVersion; 2357 + WORD dmSize; 2358 + WORD dmDriverExtra; 2359 + DWORD dmFields; 2360 + union { 2361 + struct 2362 + { 2363 + short dmOrientation; 2364 + short dmPaperSize; 2365 + short dmPaperLength; 2366 + short dmPaperWidth; 2367 + short dmScale; 2368 + short dmCopies; 2369 + short dmDefaultSource; 2370 + short dmPrintQuality; 2371 + } 2372 + POINTL dmPosition; 2373 + DWORD dmDisplayOrientation; 2374 + DWORD dmDisplayFixedOutput; 2375 + } 2376 + 2377 + short dmColor; 2378 + short dmDuplex; 2379 + short dmYResolution; 2380 + short dmTTOption; 2381 + short dmCollate; 2382 + WCHAR[CCHFORMNAME] dmFormName; 2383 + WORD dmLogPixels; 2384 + DWORD dmBitsPerPel; 2385 + DWORD dmPelsWidth; 2386 + DWORD dmPelsHeight; 2387 + union { 2388 + DWORD dmDisplayFlags; 2389 + DWORD dmNup; 2390 + } 2391 + DWORD dmDisplayFrequency; 2392 + static 2393 + 2394 + if (WINVER >= 0x0400) 2395 + { 2396 + DWORD dmICMMethod; 2397 + DWORD dmICMIntent; 2398 + DWORD dmMediaType; 2399 + DWORD dmDitherType; 2400 + DWORD dmReserved1; 2401 + DWORD dmReserved2; 2402 + static 2403 + 2404 + if ((WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400)) 2405 + { 2406 + DWORD dmPanningWidth; 2407 + DWORD dmPanningHeight; 2408 + } 2409 + } 2410 +} 2411 +alias DEVMODEW*PDEVMODEW, NPDEVMODEW, LPDEVMODEW; 2412 + 2413 +/* 2414 + * Information about output options 2415 + */ 2416 +struct PSFEATURE_OUTPUT 2417 +{ 2418 + BOOL bPageIndependent; 2419 + BOOL bSetPageDevice; 2420 +} 2421 +alias PSFEATURE_OUTPUT*PPSFEATURE_OUTPUT; 2422 + 2423 +/* 2424 + * Information about custom paper size 2425 + */ 2426 +struct PSFEATURE_CUSTPAPER 2427 +{ 2428 + LONG lOrientation; 2429 + LONG lWidth; 2430 + LONG lHeight; 2431 + LONG lWidthOffset; 2432 + LONG lHeightOffset; 2433 +} 2434 +alias PSFEATURE_CUSTPAPER*PPSFEATURE_CUSTPAPER; 2435 + 2436 +struct DIBSECTION 2437 +{ 2438 + BITMAP dsBm; 2439 + BITMAPINFOHEADER dsBmih; 2440 + DWORD[3] dsBitfields; 2441 + HANDLE dshSection; 2442 + DWORD dsOffset; 2443 +} 2444 +alias DIBSECTION*PDIBSECTION; 2445 + 2446 +struct DOCINFOA 2447 +{ 2448 + int cbSize = DOCINFOA.sizeof; 2449 + LPCSTR lpszDocName; 2450 + LPCSTR lpszOutput; 2451 + LPCSTR lpszDatatype; 2452 + DWORD fwType; 2453 +} 2454 +alias DOCINFOA*LPDOCINFOA; 2455 + 2456 +struct DOCINFOW 2457 +{ 2458 + int cbSize = DOCINFOW.sizeof; 2459 + LPCWSTR lpszDocName; 2460 + LPCWSTR lpszOutput; 2461 + LPCWSTR lpszDatatype; 2462 + DWORD fwType; 2463 +} 2464 +alias DOCINFOW*LPDOCINFOW; 2465 + 2466 +struct PANOSE 2467 +{ 2468 + BYTE bFamilyType; 2469 + BYTE bSerifStyle; 2470 + BYTE bWeight; 2471 + BYTE bProportion; 2472 + BYTE bContrast; 2473 + BYTE bStrokeVariation; 2474 + BYTE bArmStyle; 2475 + BYTE bLetterform; 2476 + BYTE bMidline; 2477 + BYTE bXHeight; 2478 +} 2479 +alias PANOSE*LPPANOSE; 2480 + 2481 +struct LOGFONTA 2482 +{ 2483 + LONG lfHeight; 2484 + LONG lfWidth; 2485 + LONG lfEscapement; 2486 + LONG lfOrientation; 2487 + LONG lfWeight; 2488 + BYTE lfItalic; 2489 + BYTE lfUnderline; 2490 + BYTE lfStrikeOut; 2491 + BYTE lfCharSet; 2492 + BYTE lfOutPrecision; 2493 + BYTE lfClipPrecision; 2494 + BYTE lfQuality; 2495 + BYTE lfPitchAndFamily; 2496 + CHAR[LF_FACESIZE] lfFaceName; 2497 +} 2498 +alias LOGFONTA*PLOGFONTA, NPLOGFONTA, LPLOGFONTA; 2499 + 2500 +struct LOGFONTW 2501 +{ 2502 + LONG lfHeight; 2503 + LONG lfWidth; 2504 + LONG lfEscapement; 2505 + LONG lfOrientation; 2506 + LONG lfWeight; 2507 + BYTE lfItalic; 2508 + BYTE lfUnderline; 2509 + BYTE lfStrikeOut; 2510 + BYTE lfCharSet; 2511 + BYTE lfOutPrecision; 2512 + BYTE lfClipPrecision; 2513 + BYTE lfQuality; 2514 + BYTE lfPitchAndFamily; 2515 + WCHAR[LF_FACESIZE] lfFaceName; 2516 +} 2517 +alias LOGFONTW*PLOGFONTW, NPLOGFONTW, LPLOGFONTW; 2518 + 2519 +struct EXTLOGFONTA 2520 +{ 2521 + LOGFONTA elfLogFont; 2522 + BYTE[LF_FULLFACESIZE] elfFullName; 2523 + BYTE[LF_FACESIZE] elfStyle; 2524 + DWORD elfVersion; 2525 + DWORD elfStyleSize; 2526 + DWORD elfMatch; 2527 + DWORD elfReserved; 2528 + BYTE[ELF_VENDOR_SIZE] elfVendorId; 2529 + DWORD elfCulture; 2530 + PANOSE elfPanose; 2531 +} 2532 +alias EXTLOGFONTA*PEXTLOGFONTA, NPEXTLOGFONTA, LPEXTLOGFONTA; 2533 + 2534 +struct EXTLOGFONTW 2535 +{ 2536 + LOGFONTW elfLogFont; 2537 + WCHAR[LF_FULLFACESIZE] elfFullName; 2538 + WCHAR[LF_FACESIZE] elfStyle; 2539 + DWORD elfVersion; 2540 + DWORD elfStyleSize; 2541 + DWORD elfMatch; 2542 + DWORD elfReserved; 2543 + BYTE[ELF_VENDOR_SIZE] elfVendorId; 2544 + DWORD elfCulture; 2545 + PANOSE elfPanose; 2546 +} 2547 +alias EXTLOGFONTW*PEXTLOGFONTW, NPEXTLOGFONTW, LPEXTLOGFONTW; 2548 + 2549 +struct LOGPEN 2550 +{ 2551 + UINT lopnStyle; 2552 + POINT lopnWidth; 2553 + COLORREF lopnColor; 2554 +} 2555 +alias LOGPEN*PLOGPEN, NPLOGPEN, LPLOGPEN; 2556 + 2557 +// ---------------------- EMR ------------ 2558 + 2559 +struct EMR 2560 +{ 2561 + DWORD iType; 2562 + DWORD nSize; 2563 +} 2564 +alias EMR*PEMR; 2565 + 2566 +struct EMRANGLEARC 2567 +{ 2568 + EMR emr; 2569 + POINTL ptlCenter; 2570 + DWORD nRadius; 2571 + FLOAT eStartAngle; 2572 + FLOAT eSweepAngle; 2573 +} 2574 +alias EMRANGLEARC*PEMRANGLEARC; 2575 + 2576 +struct EMRARC 2577 +{ 2578 + EMR emr; 2579 + RECTL rclBox; 2580 + POINTL ptlStart; 2581 + POINTL ptlEnd; 2582 +} 2583 +alias EMRARC*PEMRARC; 2584 +alias EMRARC EMRARCTO; 2585 +alias EMRARCTO*PEMRARCTO; 2586 +alias EMRARC EMRCHORD; 2587 +alias EMRCHORD*PEMRCHORD; 2588 +alias EMRARC EMRPIE; 2589 +alias EMRPIE*PEMRPIE; 2590 + 2591 +struct XFORM 2592 +{ 2593 + FLOAT eM11; 2594 + FLOAT eM12; 2595 + FLOAT eM21; 2596 + FLOAT eM22; 2597 + FLOAT eDx; 2598 + FLOAT eDy; 2599 +} 2600 +alias XFORM*PXFORM, LPXFORM; 2601 + 2602 +struct EMRBITBLT 2603 +{ 2604 + EMR emr; 2605 + RECTL rclBounds; 2606 + LONG xDest; 2607 + LONG yDest; 2608 + LONG cxDest; 2609 + LONG cyDest; 2610 + DWORD dwRop; 2611 + LONG xSrc; 2612 + LONG ySrc; 2613 + XFORM xformSrc; 2614 + COLORREF crBkColorSrc; 2615 + DWORD iUsageSrc; 2616 + DWORD offBmiSrc; 2617 + DWORD cbBmiSrc; 2618 + DWORD offBitsSrc; 2619 + DWORD cbBitsSrc; 2620 +} 2621 +alias EMRBITBLT*PEMRBITBLT; 2622 + 2623 +struct LOGBRUSH 2624 +{ 2625 + UINT lbStyle; 2626 + COLORREF lbColor; 2627 + LONG lbHatch; 2628 +} 1096 2629 alias LOGBRUSH PATTERN; 1097 -alias PATTERN* PPATTERN; 1098 -alias PATTERN* NPPATTERN; 1099 -alias PATTERN* LPPATTERN; 1100 - 1101 -struct tagLOGPEN { 1102 - UINT lopnStyle; 1103 - POINT lopnWidth; 1104 - COLORREF lopnColor; 1105 -} 1106 -alias tagLOGPEN LOGPEN; 1107 -alias tagLOGPEN* PLOGPEN; 1108 -alias tagLOGPEN* NPLOGPEN; 1109 -alias tagLOGPEN* LPLOGPEN; 1110 - 1111 -struct tagEXTLOGPEN { 1112 - DWORD elpPenStyle; 1113 - DWORD elpWidth; 1114 - UINT elpBrushStyle; 1115 - COLORREF elpColor; 1116 - ULONG_PTR elpHatch; 1117 - DWORD elpNumEntries; 1118 - DWORD elpStyleEntry[1]; 1119 -} 1120 -alias tagEXTLOGPEN EXTLOGPEN; 1121 -alias tagEXTLOGPEN* PEXTLOGPEN; 1122 -alias tagEXTLOGPEN* NPEXTLOGPEN; 1123 -alias tagEXTLOGPEN* LPEXTLOGPEN; 1124 - 1125 -// #ifndef _PALETTEENTRY_DEFINED 1126 -// #define _PALETTEENTRY_DEFINED 1127 -struct tagPALETTEENTRY { 1128 - BYTE peRed; 1129 - BYTE peGreen; 1130 - BYTE peBlue; 1131 - BYTE peFlags; 1132 -} 1133 -alias tagPALETTEENTRY PALETTEENTRY; 1134 -alias tagPALETTEENTRY* PPALETTEENTRY; 1135 -alias tagPALETTEENTRY* LPPALETTEENTRY; 1136 - 1137 -// #endif // !_PALETTEENTRY_DEFINED 1138 - 1139 -// #ifndef _LOGPALETTE_DEFINED 1140 -// #define _LOGPALETTE_DEFINED 1141 - 1142 -struct tagLOGPALETTE { 1143 - WORD palVersion; 1144 - WORD palNumEntries; 1145 - PALETTEENTRY palPalEntry[1]; 1146 -} 1147 -alias tagLOGPALETTE LOGPALETTE; 1148 -alias tagLOGPALETTE* PLOGPALETTE; 1149 -alias tagLOGPALETTE* NPLOGPALETTE; 1150 -alias tagLOGPALETTE* LPLOGPALETTE; 1151 - 1152 -// #endif // !_LOGPALETTE_DEFINED 1153 - 1154 -enum : uint { LF_FACESIZE = 32 } 1155 - 1156 -struct tagLOGFONTA { 1157 - LONG lfHeight; 1158 - LONG lfWidth; 1159 - LONG lfEscapement; 1160 - LONG lfOrientation; 1161 - LONG lfWeight; 1162 - BYTE lfItalic; 1163 - BYTE lfUnderline; 1164 - BYTE lfStrikeOut; 1165 - BYTE lfCharSet; 1166 - BYTE lfOutPrecision; 1167 - BYTE lfClipPrecision; 1168 - BYTE lfQuality; 1169 - BYTE lfPitchAndFamily; 1170 - CHAR lfFaceName[LF_FACESIZE]; 1171 -} 1172 -alias tagLOGFONTA LOGFONTA; 1173 -alias tagLOGFONTA* PLOGFONTA; 1174 -alias tagLOGFONTA* NPLOGFONTA; 1175 -alias tagLOGFONTA* LPLOGFONTA; 1176 - 1177 -struct tagLOGFONTW { 1178 - LONG lfHeight; 1179 - LONG lfWidth; 1180 - LONG lfEscapement; 1181 - LONG lfOrientation; 1182 - LONG lfWeight; 1183 - BYTE lfItalic; 1184 - BYTE lfUnderline; 1185 - BYTE lfStrikeOut; 1186 - BYTE lfCharSet; 1187 - BYTE lfOutPrecision; 1188 - BYTE lfClipPrecision; 1189 - BYTE lfQuality; 1190 - BYTE lfPitchAndFamily; 1191 - WCHAR lfFaceName[LF_FACESIZE]; 1192 -} 1193 -alias tagLOGFONTW LOGFONTW; 1194 -alias tagLOGFONTW* PLOGFONTW; 1195 -alias tagLOGFONTW* NPLOGFONTW; 1196 -alias tagLOGFONTW* LPLOGFONTW; 1197 - 1198 -// #ifdef UNICODE 1199 -alias LOGFONTW LOGFONT; 1200 -alias PLOGFONTW PLOGFONT; 1201 -alias NPLOGFONTW NPLOGFONT; 1202 -alias LPLOGFONTW LPLOGFONT; 1203 -// #else 1204 -// ... 1205 -// #endif // UNICODE 1206 - 1207 -enum : uint { LF_FULLFACESIZE = 64 } 1208 - 1209 -struct tagENUMLOGFONTA { 1210 - LOGFONTA elfLogFont; 1211 - BYTE elfFullName[LF_FULLFACESIZE]; 1212 - BYTE elfStyle[LF_FACESIZE]; 1213 -} 1214 -alias tagENUMLOGFONTA ENUMLOGFONTA; 1215 -alias tagENUMLOGFONTA* LPENUMLOGFONTA; 1216 - 1217 -struct tagENUMLOGFONTW { 1218 - LOGFONTW elfLogFont; 1219 - WCHAR elfFullName[LF_FULLFACESIZE]; 1220 - WCHAR elfStyle[LF_FACESIZE]; 1221 -} 1222 -alias tagENUMLOGFONTW ENUMLOGFONTW; 1223 -alias tagENUMLOGFONTW* LPENUMLOGFONTW; 1224 - 1225 -// #ifdef UNICODE 1226 -alias ENUMLOGFONTW ENUMLOGFONT; 1227 -alias LPENUMLOGFONTW LPENUMLOGFONT; 1228 -// #else 1229 -// ... 1230 -// #endif // UNICODE 1231 - 1232 -// #if(WINVER >= 0x0400) 1233 -struct tagENUMLOGFONTEXA { 1234 - LOGFONTA elfLogFont; 1235 - BYTE elfFullName[LF_FULLFACESIZE]; 1236 - BYTE elfStyle[LF_FACESIZE]; 1237 - BYTE elfScript[LF_FACESIZE]; 1238 -} 1239 -alias tagENUMLOGFONTEXA ENUMLOGFONTEXA; 1240 -alias tagENUMLOGFONTEXA* LPENUMLOGFONTEXA; 1241 - 1242 -struct tagENUMLOGFONTEXW { 1243 - LOGFONTW elfLogFont; 1244 - WCHAR elfFullName[LF_FULLFACESIZE]; 1245 - WCHAR elfStyle[LF_FACESIZE]; 1246 - WCHAR elfScript[LF_FACESIZE]; 1247 -} 1248 -alias tagENUMLOGFONTEXW ENUMLOGFONTEXW; 1249 -alias tagENUMLOGFONTEXW* LPENUMLOGFONTEXW; 1250 - 1251 -// #ifdef UNICODE 1252 -alias ENUMLOGFONTEXW ENUMLOGFONTEX; 1253 -alias LPENUMLOGFONTEXW LPENUMLOGFONTEX; 1254 -// #else 1255 -// ... 1256 -// #endif // UNICODE 1257 -// #endif /* WINVER >= 0x0400 */ 1258 - 1259 -enum : uint { OUT_DEFAULT_PRECIS = 0 } 1260 -enum : uint { OUT_STRING_PRECIS = 1 } 1261 -enum : uint { OUT_CHARACTER_PRECIS = 2 } 1262 -enum : uint { OUT_STROKE_PRECIS = 3 } 1263 -enum : uint { OUT_TT_PRECIS = 4 } 1264 -enum : uint { OUT_DEVICE_PRECIS = 5 } 1265 -enum : uint { OUT_RASTER_PRECIS = 6 } 1266 -enum : uint { OUT_TT_ONLY_PRECIS = 7 } 1267 -enum : uint { OUT_OUTLINE_PRECIS = 8 } 1268 -enum : uint { OUT_SCREEN_OUTLINE_PRECIS = 9 } 1269 -enum : uint { OUT_PS_ONLY_PRECIS = 10 } 1270 - 1271 -enum : uint { CLIP_DEFAULT_PRECIS = 0 } 1272 -enum : uint { CLIP_CHARACTER_PRECIS = 1 } 1273 -enum : uint { CLIP_STROKE_PRECIS = 2 } 1274 -enum : uint { CLIP_MASK = 0xf } 1275 -enum : uint { CLIP_LH_ANGLES = 1<<4 } 1276 -enum : uint { CLIP_TT_ALWAYS = 2<<4 } 1277 -enum : uint { CLIP_EMBEDDED = 8<<4 } 1278 - 1279 -enum : uint { DEFAULT_QUALITY = 0 } 1280 -enum : uint { DRAFT_QUALITY = 1 } 1281 -enum : uint { PROOF_QUALITY = 2 } 1282 -// #if(WINVER >= 0x0400) 1283 -enum : uint { NONANTIALIASED_QUALITY = 3 } 1284 -enum : uint { ANTIALIASED_QUALITY = 4 } 1285 -// #endif /* WINVER >= 0x0400 */ 1286 - 1287 -// #if (_WIN32_WINNT >= 0x0500) 1288 -enum : uint { CLEARTYPE_QUALITY = 5 } 1289 -// #endif 1290 - 1291 -enum : uint { DEFAULT_PITCH = 0 } 1292 -enum : uint { FIXED_PITCH = 1 } 1293 -enum : uint { VARIABLE_PITCH = 2 } 1294 -// #if(WINVER >= 0x0400) 1295 -enum : uint { MONO_FONT = 8 } 1296 -// #endif /* WINVER >= 0x0400 */ 1297 - 1298 -enum : uint { ANSI_CHARSET = 0 } 1299 -enum : uint { DEFAULT_CHARSET = 1 } 1300 -enum : uint { SYMBOL_CHARSET = 2 } 1301 -enum : uint { SHIFTJIS_CHARSET = 128 } 1302 -enum : uint { HANGEUL_CHARSET = 129 } 1303 -enum : uint { HANGUL_CHARSET = 129 } 1304 -enum : uint { GB2312_CHARSET = 134 } 1305 -enum : uint { CHINESEBIG5_CHARSET = 136 } 1306 -enum : uint { OEM_CHARSET = 255 } 1307 -// #if(WINVER >= 0x0400) 1308 -enum : uint { JOHAB_CHARSET = 130 } 1309 -enum : uint { HEBREW_CHARSET = 177 } 1310 -enum : uint { ARABIC_CHARSET = 178 } 1311 -enum : uint { GREEK_CHARSET = 161 } 1312 -enum : uint { TURKISH_CHARSET = 162 } 1313 -enum : uint { VIETNAMESE_CHARSET = 163 } 1314 -enum : uint { THAI_CHARSET = 222 } 1315 -enum : uint { EASTEUROPE_CHARSET = 238 } 1316 -enum : uint { RUSSIAN_CHARSET = 204 } 1317 - 1318 -enum : uint { MAC_CHARSET = 77 } 1319 -enum : uint { BALTIC_CHARSET = 186 } 1320 - 1321 -enum : uint { FS_LATIN1 = 0x00000001 } 1322 -enum : uint { FS_LATIN2 = 0x00000002 } 1323 -enum : uint { FS_CYRILLIC = 0x00000004 } 1324 -enum : uint { FS_GREEK = 0x00000008 } 1325 -enum : uint { FS_TURKISH = 0x00000010 } 1326 -enum : uint { FS_HEBREW = 0x00000020 } 1327 -enum : uint { FS_ARABIC = 0x00000040 } 1328 -enum : uint { FS_BALTIC = 0x00000080 } 1329 -enum : uint { FS_VIETNAMESE = 0x00000100 } 1330 -enum : uint { FS_THAI = 0x00010000 } 1331 -enum : uint { FS_JISJAPAN = 0x00020000 } 1332 -enum : uint { FS_CHINESESIMP = 0x00040000 } 1333 -enum : uint { FS_WANSUNG = 0x00080000 } 1334 -enum : uint { FS_CHINESETRAD = 0x00100000 } 1335 -enum : uint { FS_JOHAB = 0x00200000 } 1336 -enum : uint { FS_SYMBOL = 0x80000000 } 1337 -// #endif /* WINVER >= 0x0400 */ 1338 - 1339 -enum : uint { FF_DONTCARE = 0<<4 } 1340 -enum : uint { FF_ROMAN = 1<<4 } 1341 - 1342 -enum : uint { FF_SWISS = 2<<4 } 1343 - 1344 -enum : uint { FF_MODERN = 3<<4 } 1345 - 1346 -enum : uint { FF_SCRIPT = 4<<4 } 1347 -enum : uint { FF_DECORATIVE = 5<<4 } 1348 - 1349 -enum : uint { FW_DONTCARE = 0 } 1350 -enum : uint { FW_THIN = 100 } 1351 -enum : uint { FW_EXTRALIGHT = 200 } 1352 -enum : uint { FW_LIGHT = 300 } 1353 -enum : uint { FW_NORMAL = 400 } 1354 -enum : uint { FW_MEDIUM = 500 } 1355 -enum : uint { FW_SEMIBOLD = 600 } 1356 -enum : uint { FW_BOLD = 700 } 1357 -enum : uint { FW_EXTRABOLD = 800 } 1358 -enum : uint { FW_HEAVY = 900 } 1359 - 1360 -alias FW_EXTRALIGHT FW_ULTRALIGHT; 1361 -alias FW_NORMAL FW_REGULAR; 1362 -alias FW_SEMIBOLD FW_DEMIBOLD; 1363 -alias FW_EXTRABOLD FW_ULTRABOLD; 1364 -alias FW_HEAVY FW_BLACK; 1365 - 1366 -enum : uint { PANOSE_COUNT = 10 } 1367 -enum : uint { PAN_FAMILYTYPE_INDEX = 0 } 1368 -enum : uint { PAN_SERIFSTYLE_INDEX = 1 } 1369 -enum : uint { PAN_WEIGHT_INDEX = 2 } 1370 -enum : uint { PAN_PROPORTION_INDEX = 3 } 1371 -enum : uint { PAN_CONTRAST_INDEX = 4 } 1372 -enum : uint { PAN_STROKEVARIATION_INDEX = 5 } 1373 -enum : uint { PAN_ARMSTYLE_INDEX = 6 } 1374 -enum : uint { PAN_LETTERFORM_INDEX = 7 } 1375 -enum : uint { PAN_MIDLINE_INDEX = 8 } 1376 -enum : uint { PAN_XHEIGHT_INDEX = 9 } 1377 - 1378 -enum : uint { PAN_CULTURE_LATIN = 0 } 1379 - 1380 -struct tagPANOSE { 1381 - BYTE bFamilyType; 1382 - BYTE bSerifStyle; 1383 - BYTE bWeight; 1384 - BYTE bProportion; 1385 - BYTE bContrast; 1386 - BYTE bStrokeVariation; 1387 - BYTE bArmStyle; 1388 - BYTE bLetterform; 1389 - BYTE bMidline; 1390 - BYTE bXHeight; 1391 -} 1392 -alias tagPANOSE PANOSE; 1393 -alias tagPANOSE* LPPANOSE; 1394 - 1395 -enum : uint { PAN_ANY = 0 } 1396 -enum : uint { PAN_NO_FIT = 1 } 1397 - 1398 -enum : uint { PAN_FAMILY_TEXT_DISPLAY = 2 } 1399 -enum : uint { PAN_FAMILY_SCRIPT = 3 } 1400 -enum : uint { PAN_FAMILY_DECORATIVE = 4 } 1401 -enum : uint { PAN_FAMILY_PICTORIAL = 5 } 1402 - 1403 -enum : uint { PAN_SERIF_COVE = 2 } 1404 -enum : uint { PAN_SERIF_OBTUSE_COVE = 3 } 1405 -enum : uint { PAN_SERIF_SQUARE_COVE = 4 } 1406 -enum : uint { PAN_SERIF_OBTUSE_SQUARE_COVE = 5 } 1407 -enum : uint { PAN_SERIF_SQUARE = 6 } 1408 -enum : uint { PAN_SERIF_THIN = 7 } 1409 -enum : uint { PAN_SERIF_BONE = 8 } 1410 -enum : uint { PAN_SERIF_EXAGGERATED = 9 } 1411 -enum : uint { PAN_SERIF_TRIANGLE = 10 } 1412 -enum : uint { PAN_SERIF_NORMAL_SANS = 11 } 1413 -enum : uint { PAN_SERIF_OBTUSE_SANS = 12 } 1414 -enum : uint { PAN_SERIF_PERP_SANS = 13 } 1415 -enum : uint { PAN_SERIF_FLARED = 14 } 1416 -enum : uint { PAN_SERIF_ROUNDED = 15 } 1417 - 1418 -enum : uint { PAN_WEIGHT_VERY_LIGHT = 2 } 1419 -enum : uint { PAN_WEIGHT_LIGHT = 3 } 1420 -enum : uint { PAN_WEIGHT_THIN = 4 } 1421 -enum : uint { PAN_WEIGHT_BOOK = 5 } 1422 -enum : uint { PAN_WEIGHT_MEDIUM = 6 } 1423 -enum : uint { PAN_WEIGHT_DEMI = 7 } 1424 -enum : uint { PAN_WEIGHT_BOLD = 8 } 1425 -enum : uint { PAN_WEIGHT_HEAVY = 9 } 1426 -enum : uint { PAN_WEIGHT_BLACK = 10 } 1427 -enum : uint { PAN_WEIGHT_NORD = 11 } 1428 - 1429 -enum : uint { PAN_PROP_OLD_STYLE = 2 } 1430 -enum : uint { PAN_PROP_MODERN = 3 } 1431 -enum : uint { PAN_PROP_EVEN_WIDTH = 4 } 1432 -enum : uint { PAN_PROP_EXPANDED = 5 } 1433 -enum : uint { PAN_PROP_CONDENSED = 6 } 1434 -enum : uint { PAN_PROP_VERY_EXPANDED = 7 } 1435 -enum : uint { PAN_PROP_VERY_CONDENSED = 8 } 1436 -enum : uint { PAN_PROP_MONOSPACED = 9 } 1437 - 1438 -enum : uint { PAN_CONTRAST_NONE = 2 } 1439 -enum : uint { PAN_CONTRAST_VERY_LOW = 3 } 1440 -enum : uint { PAN_CONTRAST_LOW = 4 } 1441 -enum : uint { PAN_CONTRAST_MEDIUM_LOW = 5 } 1442 -enum : uint { PAN_CONTRAST_MEDIUM = 6 } 1443 -enum : uint { PAN_CONTRAST_MEDIUM_HIGH = 7 } 1444 -enum : uint { PAN_CONTRAST_HIGH = 8 } 1445 -enum : uint { PAN_CONTRAST_VERY_HIGH = 9 } 1446 - 1447 -enum : uint { PAN_STROKE_GRADUAL_DIAG = 2 } 1448 -enum : uint { PAN_STROKE_GRADUAL_TRAN = 3 } 1449 -enum : uint { PAN_STROKE_GRADUAL_VERT = 4 } 1450 -enum : uint { PAN_STROKE_GRADUAL_HORZ = 5 } 1451 -enum : uint { PAN_STROKE_RAPID_VERT = 6 } 1452 -enum : uint { PAN_STROKE_RAPID_HORZ = 7 } 1453 -enum : uint { PAN_STROKE_INSTANT_VERT = 8 } 1454 - 1455 -enum : uint { PAN_STRAIGHT_ARMS_HORZ = 2 } 1456 -enum : uint { PAN_STRAIGHT_ARMS_WEDGE = 3 } 1457 -enum : uint { PAN_STRAIGHT_ARMS_VERT = 4 } 1458 -enum : uint { PAN_STRAIGHT_ARMS_SINGLE_SERIF = 5 } 1459 -enum : uint { PAN_STRAIGHT_ARMS_DOUBLE_SERIF = 6 } 1460 -enum : uint { PAN_BENT_ARMS_HORZ = 7 } 1461 -enum : uint { PAN_BENT_ARMS_WEDGE = 8 } 1462 -enum : uint { PAN_BENT_ARMS_VERT = 9 } 1463 -enum : uint { PAN_BENT_ARMS_SINGLE_SERIF = 10 } 1464 -enum : uint { PAN_BENT_ARMS_DOUBLE_SERIF = 11 } 1465 - 1466 -enum : uint { PAN_LETT_NORMAL_CONTACT = 2 } 1467 -enum : uint { PAN_LETT_NORMAL_WEIGHTED = 3 } 1468 -enum : uint { PAN_LETT_NORMAL_BOXED = 4 } 1469 -enum : uint { PAN_LETT_NORMAL_FLATTENED = 5 } 1470 -enum : uint { PAN_LETT_NORMAL_ROUNDED = 6 } 1471 -enum : uint { PAN_LETT_NORMAL_OFF_CENTER = 7 } 1472 -enum : uint { PAN_LETT_NORMAL_SQUARE = 8 } 1473 -enum : uint { PAN_LETT_OBLIQUE_CONTACT = 9 } 1474 -enum : uint { PAN_LETT_OBLIQUE_WEIGHTED = 10 } 1475 -enum : uint { PAN_LETT_OBLIQUE_BOXED = 11 } 1476 -enum : uint { PAN_LETT_OBLIQUE_FLATTENED = 12 } 1477 -enum : uint { PAN_LETT_OBLIQUE_ROUNDED = 13 } 1478 -enum : uint { PAN_LETT_OBLIQUE_OFF_CENTER = 14 } 1479 -enum : uint { PAN_LETT_OBLIQUE_SQUARE = 15 } 1480 - 1481 -enum : uint { PAN_MIDLINE_STANDARD_TRIMMED = 2 } 1482 -enum : uint { PAN_MIDLINE_STANDARD_POINTED = 3 } 1483 -enum : uint { PAN_MIDLINE_STANDARD_SERIFED = 4 } 1484 -enum : uint { PAN_MIDLINE_HIGH_TRIMMED = 5 } 1485 -enum : uint { PAN_MIDLINE_HIGH_POINTED = 6 } 1486 -enum : uint { PAN_MIDLINE_HIGH_SERIFED = 7 } 1487 -enum : uint { PAN_MIDLINE_CONSTANT_TRIMMED = 8 } 1488 -enum : uint { PAN_MIDLINE_CONSTANT_POINTED = 9 } 1489 -enum : uint { PAN_MIDLINE_CONSTANT_SERIFED = 10 } 1490 -enum : uint { PAN_MIDLINE_LOW_TRIMMED = 11 } 1491 -enum : uint { PAN_MIDLINE_LOW_POINTED = 12 } 1492 -enum : uint { PAN_MIDLINE_LOW_SERIFED = 13 } 1493 - 1494 -enum : uint { PAN_XHEIGHT_CONSTANT_SMALL = 2 } 1495 -enum : uint { PAN_XHEIGHT_CONSTANT_STD = 3 } 1496 -enum : uint { PAN_XHEIGHT_CONSTANT_LARGE = 4 } 1497 -enum : uint { PAN_XHEIGHT_DUCKING_SMALL = 5 } 1498 -enum : uint { PAN_XHEIGHT_DUCKING_STD = 6 } 1499 -enum : uint { PAN_XHEIGHT_DUCKING_LARGE = 7 } 1500 - 1501 -enum : uint { ELF_VENDOR_SIZE = 4 } 1502 - 1503 -struct tagEXTLOGFONTA { 1504 - LOGFONTA elfLogFont; 1505 - BYTE elfFullName[LF_FULLFACESIZE]; 1506 - BYTE elfStyle[LF_FACESIZE]; 1507 - DWORD elfVersion; 1508 - DWORD elfStyleSize; 1509 - DWORD elfMatch; 1510 - DWORD elfReserved; 1511 - BYTE elfVendorId[ELF_VENDOR_SIZE]; 1512 - DWORD elfCulture; 1513 - PANOSE elfPanose; 1514 -} 1515 -alias tagEXTLOGFONTA EXTLOGFONTA; 1516 -alias tagEXTLOGFONTA* PEXTLOGFONTA; 1517 -alias tagEXTLOGFONTA* NPEXTLOGFONTA; 1518 -alias tagEXTLOGFONTA* LPEXTLOGFONTA; 1519 - 1520 -struct tagEXTLOGFONTW { 1521 - LOGFONTW elfLogFont; 1522 - WCHAR elfFullName[LF_FULLFACESIZE]; 1523 - WCHAR elfStyle[LF_FACESIZE]; 1524 - DWORD elfVersion; 1525 - DWORD elfStyleSize; 1526 - DWORD elfMatch; 1527 - DWORD elfReserved; 1528 - BYTE elfVendorId[ELF_VENDOR_SIZE]; 1529 - DWORD elfCulture; 1530 - PANOSE elfPanose; 1531 -} 1532 -alias tagEXTLOGFONTW EXTLOGFONTW; 1533 -alias tagEXTLOGFONTW* PEXTLOGFONTW; 1534 -alias tagEXTLOGFONTW* NPEXTLOGFONTW; 1535 -alias tagEXTLOGFONTW* LPEXTLOGFONTW; 1536 - 1537 -// #ifdef UNICODE 1538 -alias EXTLOGFONTW EXTLOGFONT; 1539 -alias PEXTLOGFONTW PEXTLOGFONT; 1540 -alias NPEXTLOGFONTW NPEXTLOGFONT; 1541 -alias LPEXTLOGFONTW LPEXTLOGFONT; 1542 -// #else 1543 -// ... 1544 -// #endif // UNICODE 1545 - 1546 -enum : uint { ELF_VERSION = 0 } 1547 -enum : uint { ELF_CULTURE_LATIN = 0 } 1548 - 1549 -enum : uint { RASTER_FONTTYPE = 0x0001 } 1550 -enum : uint { DEVICE_FONTTYPE = 0x002 } 1551 -enum : uint { TRUETYPE_FONTTYPE = 0x004 } 1552 - 1553 -COLORREF RGB(BYTE r, BYTE g, BYTE b){ return r|(g <<8)|(b << 16); } 1554 -COLORREF PALETTERGB(BYTE r, BYTE g, BYTE b){ return (0x02000000 | RGB(r,g,b)); } 1555 -COLORREF PALETTEINDEX(WORD i){ return (cast(COLORREF)(0x01000000 | cast(DWORD)cast(WORD)(i))); } 1556 - 1557 -enum : uint { PC_RESERVED = 0x01 } 1558 -enum : uint { PC_EXPLICIT = 0x02 } 1559 -enum : uint { PC_NOCOLLAPSE = 0x04 } 1560 - 1561 -BYTE GetRValue(COLORREF rgb){ return cast(BYTE)rgb; } 1562 -BYTE GetGValue(COLORREF rgb){ return cast(BYTE)(rgb >>> 8); } 1563 -BYTE GetBValue(COLORREF rgb){ return cast(BYTE)(rgb >>> 16); } 1564 - 1565 -enum : uint { TRANSPARENT = 1 } 1566 -enum : uint { OPAQUE = 2 } 1567 -enum : uint { BKMODE_LAST = 2 } 1568 - 1569 -enum : uint { GM_COMPATIBLE = 1 } 1570 -enum : uint { GM_ADVANCED = 2 } 1571 -enum : uint { GM_LAST = 2 } 1572 - 1573 -enum : uint { PT_CLOSEFIGURE = 0x01 } 1574 -enum : uint { PT_LINETO = 0x02 } 1575 -enum : uint { PT_BEZIERTO = 0x04 } 1576 -enum : uint { PT_MOVETO = 0x06 } 1577 - 1578 -enum : uint { MM_TEXT = 1 } 1579 -enum : uint { MM_LOMETRIC = 2 } 1580 -enum : uint { MM_HIMETRIC = 3 } 1581 -enum : uint { MM_LOENGLISH = 4 } 1582 -enum : uint { MM_HIENGLISH = 5 } 1583 -enum : uint { MM_TWIPS = 6 } 1584 -enum : uint { MM_ISOTROPIC = 7 } 1585 -enum : uint { MM_ANISOTROPIC = 8 } 1586 - 1587 -alias MM_TEXT MM_MIN; 1588 -alias MM_ANISOTROPIC MM_MAX; 1589 -alias MM_TWIPS MM_MAX_FIXEDSCALE; 1590 - 1591 -enum : uint { ABSOLUTE = 1 } 1592 -enum : uint { RELATIVE = 2 } 1593 - 1594 -enum : uint { WHITE_BRUSH = 0 } 1595 -enum : uint { LTGRAY_BRUSH = 1 } 1596 -enum : uint { GRAY_BRUSH = 2 } 1597 -enum : uint { DKGRAY_BRUSH = 3 } 1598 -enum : uint { BLACK_BRUSH = 4 } 1599 -enum : uint { NULL_BRUSH = 5 } 1600 -alias NULL_BRUSH HOLLOW_BRUSH; 1601 -enum : uint { WHITE_PEN = 6 } 1602 -enum : uint { BLACK_PEN = 7 } 1603 -enum : uint { NULL_PEN = 8 } 1604 -enum : uint { OEM_FIXED_FONT = 10 } 1605 -enum : uint { ANSI_FIXED_FONT = 11 } 1606 -enum : uint { ANSI_VAR_FONT = 12 } 1607 -enum : uint { SYSTEM_FONT = 13 } 1608 -enum : uint { DEVICE_DEFAULT_FONT = 14 } 1609 -enum : uint { DEFAULT_PALETTE = 15 } 1610 -enum : uint { SYSTEM_FIXED_FONT = 16 } 1611 - 1612 -// #if(WINVER >= 0x0400) 1613 -enum : uint { DEFAULT_GUI_FONT = 17 } 1614 -// #endif /* WINVER >= 0x0400 */ 1615 - 1616 -// #if (_WIN32_WINNT >= 0x0500) 1617 -enum : uint { DC_BRUSH = 18 } 1618 -enum : uint { DC_PEN = 19 } 1619 -// #endif 1620 - 1621 -// #if (_WIN32_WINNT >= 0x0500) 1622 -enum : uint { STOCK_LAST = 19 } 1623 -// #elif (WINVER >= 0x0400) 1624 -// #... 1625 -// #else 1626 -// #... 1627 -// #endif 1628 - 1629 -enum : uint { CLR_INVALID = 0xFFFFFFFF } 1630 - 1631 -enum : uint { BS_SOLID = 0 } 1632 -enum : uint { BS_NULL = 1 } 1633 -alias BS_NULL BS_HOLLOW; 1634 -enum : uint { BS_HATCHED = 2 } 1635 -enum : uint { BS_PATTERN = 3 } 1636 -enum : uint { BS_INDEXED = 4 } 1637 -enum : uint { BS_DIBPATTERN = 5 } 1638 -enum : uint { BS_DIBPATTERNPT = 6 } 1639 -enum : uint { BS_PATTERN8X8 = 7 } 1640 -enum : uint { BS_DIBPATTERN8X8 = 8 } 1641 -enum : uint { BS_MONOPATTERN = 9 } 1642 - 1643 -enum : uint { HS_HORIZONTAL = 0 } 1644 -enum : uint { HS_VERTICAL = 1 } 1645 -enum : uint { HS_FDIAGONAL = 2 } 1646 -enum : uint { HS_BDIAGONAL = 3 } 1647 -enum : uint { HS_CROSS = 4 } 1648 -enum : uint { HS_DIAGCROSS = 5 } 1649 - 1650 -enum : uint { PS_SOLID = 0 } 1651 -enum : uint { PS_DASH = 1 } 1652 -enum : uint { PS_DOT = 2 } 1653 -enum : uint { PS_DASHDOT = 3 } 1654 -enum : uint { PS_DASHDOTDOT = 4 } 1655 -enum : uint { PS_NULL = 5 } 1656 -enum : uint { PS_INSIDEFRAME = 6 } 1657 -enum : uint { PS_USERSTYLE = 7 } 1658 -enum : uint { PS_ALTERNATE = 8 } 1659 -enum : uint { PS_STYLE_MASK = 0x0000000F } 1660 - 1661 -enum : uint { PS_ENDCAP_ROUND = 0x00000000 } 1662 -enum : uint { PS_ENDCAP_SQUARE = 0x00000100 } 1663 -enum : uint { PS_ENDCAP_FLAT = 0x00000200 } 1664 -enum : uint { PS_ENDCAP_MASK = 0x00000F00 } 1665 - 1666 -enum : uint { PS_JOIN_ROUND = 0x00000000 } 1667 -enum : uint { PS_JOIN_BEVEL = 0x00001000 } 1668 -enum : uint { PS_JOIN_MITER = 0x00002000 } 1669 -enum : uint { PS_JOIN_MASK = 0x0000F000 } 1670 - 1671 -enum : uint { PS_COSMETIC = 0x00000000 } 1672 -enum : uint { PS_GEOMETRIC = 0x00010000 } 1673 -enum : uint { PS_TYPE_MASK = 0x000F0000 } 1674 - 1675 -enum : uint { AD_COUNTERCLOCKWISE = 1 } 1676 -enum : uint { AD_CLOCKWISE = 2 } 1677 - 1678 -enum : uint { DRIVERVERSION = 0 } 1679 -enum : uint { TECHNOLOGY = 2 } 1680 -enum : uint { HORZSIZE = 4 } 1681 -enum : uint { VERTSIZE = 6 } 1682 -enum : uint { HORZRES = 8 } 1683 -enum : uint { VERTRES = 10 } 1684 -enum : uint { BITSPIXEL = 12 } 1685 -enum : uint { PLANES = 14 } 1686 -enum : uint { NUMBRUSHES = 16 } 1687 -enum : uint { NUMPENS = 18 } 1688 -enum : uint { NUMMARKERS = 20 } 1689 -enum : uint { NUMFONTS = 22 } 1690 -enum : uint { NUMCOLORS = 24 } 1691 -enum : uint { PDEVICESIZE = 26 } 1692 -enum : uint { CURVECAPS = 28 } 1693 -enum : uint { LINECAPS = 30 } 1694 -enum : uint { POLYGONALCAPS = 32 } 1695 -enum : uint { TEXTCAPS = 34 } 1696 -enum : uint { CLIPCAPS = 36 } 1697 -enum : uint { RASTERCAPS = 38 } 1698 -enum : uint { ASPECTX = 40 } 1699 -enum : uint { ASPECTY = 42 } 1700 -enum : uint { ASPECTXY = 44 } 1701 - 1702 -enum : uint { LOGPIXELSX = 88 } 1703 -enum : uint { LOGPIXELSY = 90 } 1704 - 1705 -enum : uint { SIZEPALETTE = 104 } 1706 -enum : uint { NUMRESERVED = 106 } 1707 -enum : uint { COLORRES = 108 } 1708 - 1709 -enum : uint { PHYSICALWIDTH = 110 } 1710 -enum : uint { PHYSICALHEIGHT = 111 } 1711 -enum : uint { PHYSICALOFFSETX = 112 } 1712 -enum : uint { PHYSICALOFFSETY = 113 } 1713 -enum : uint { SCALINGFACTORX = 114 } 1714 -enum : uint { SCALINGFACTORY = 115 } 1715 - 1716 -enum : uint { VREFRESH = 116 } 1717 - 1718 -enum : uint { DESKTOPVERTRES = 117 } 1719 - 1720 -enum : uint { DESKTOPHORZRES = 118 } 1721 - 1722 -enum : uint { BLTALIGNMENT = 119 } 1723 - 1724 -// #if(WINVER >= 0x0500) 1725 -enum : uint { SHADEBLENDCAPS = 120 } 1726 -enum : uint { COLORMGMTCAPS = 121 } 1727 -// #endif /* WINVER >= 0x0500 */ 1728 - 1729 -// #ifndef NOGDICAPMASKS 1730 - 1731 -enum : uint { DT_PLOTTER = 0 } 1732 -enum : uint { DT_RASDISPLAY = 1 } 1733 -enum : uint { DT_RASPRINTER = 2 } 1734 -enum : uint { DT_RASCAMERA = 3 } 1735 -enum : uint { DT_CHARSTREAM = 4 } 1736 -enum : uint { DT_METAFILE = 5 } 1737 -enum : uint { DT_DISPFILE = 6 } 1738 - 1739 -enum : uint { CC_NONE = 0 } 1740 -enum : uint { CC_CIRCLES = 1 } 1741 -enum : uint { CC_PIE = 2 } 1742 -enum : uint { CC_CHORD = 4 } 1743 -enum : uint { CC_ELLIPSES = 8 } 1744 -enum : uint { CC_WIDE = 16 } 1745 -enum : uint { CC_STYLED = 32 } 1746 -enum : uint { CC_WIDESTYLED = 64 } 1747 -enum : uint { CC_INTERIORS = 128 } 1748 -enum : uint { CC_ROUNDRECT = 256 } 1749 - 1750 -enum : uint { LC_NONE = 0 } 1751 -enum : uint { LC_POLYLINE = 2 } 1752 -enum : uint { LC_MARKER = 4 } 1753 -enum : uint { LC_POLYMARKER = 8 } 1754 -enum : uint { LC_WIDE = 16 } 1755 -enum : uint { LC_STYLED = 32 } 1756 -enum : uint { LC_WIDESTYLED = 64 } 1757 -enum : uint { LC_INTERIORS = 128 } 1758 - 1759 -enum : uint { PC_NONE = 0 } 1760 -enum : uint { PC_POLYGON = 1 } 1761 -enum : uint { PC_RECTANGLE = 2 } 1762 -enum : uint { PC_WINDPOLYGON = 4 } 1763 -enum : uint { PC_TRAPEZOID = 4 } 1764 -enum : uint { PC_SCANLINE = 8 } 1765 -enum : uint { PC_WIDE = 16 } 1766 -enum : uint { PC_STYLED = 32 } 1767 -enum : uint { PC_WIDESTYLED = 64 } 1768 -enum : uint { PC_INTERIORS = 128 } 1769 -enum : uint { PC_POLYPOLYGON = 256 } 1770 -enum : uint { PC_PATHS = 512 } 1771 - 1772 -enum : uint { CP_NONE = 0 } 1773 -enum : uint { CP_RECTANGLE = 1 } 1774 -enum : uint { CP_REGION = 2 } 1775 - 1776 -enum : uint { TC_OP_CHARACTER = 0x00000001 } 1777 -enum : uint { TC_OP_STROKE = 0x00000002 } 1778 -enum : uint { TC_CP_STROKE = 0x00000004 } 1779 -enum : uint { TC_CR_90 = 0x00000008 } 1780 -enum : uint { TC_CR_ANY = 0x00000010 } 1781 -enum : uint { TC_SF_X_YINDEP = 0x00000020 } 1782 -enum : uint { TC_SA_DOUBLE = 0x00000040 } 1783 -enum : uint { TC_SA_INTEGER = 0x00000080 } 1784 -enum : uint { TC_SA_CONTIN = 0x00000100 } 1785 -enum : uint { TC_EA_DOUBLE = 0x00000200 } 1786 -enum : uint { TC_IA_ABLE = 0x00000400 } 1787 -enum : uint { TC_UA_ABLE = 0x00000800 } 1788 -enum : uint { TC_SO_ABLE = 0x00001000 } 1789 -enum : uint { TC_RA_ABLE = 0x00002000 } 1790 -enum : uint { TC_VA_ABLE = 0x00004000 } 1791 -enum : uint { TC_RESERVED = 0x00008000 } 1792 -enum : uint { TC_SCROLLBLT = 0x00010000 } 1793 - 1794 -// #endif /* NOGDICAPMASKS */ 1795 - 1796 -// #define RC_NONE 1797 -enum : uint { RC_BITBLT = 1 } 1798 -enum : uint { RC_BANDING = 2 } 1799 -enum : uint { RC_SCALING = 4 } 1800 -enum : uint { RC_BITMAP64 = 8 } 1801 -enum : uint { RC_GDI20_OUTPUT = 0x0010 } 1802 -enum : uint { RC_GDI20_STATE = 0x0020 } 1803 -enum : uint { RC_SAVEBITMAP = 0x0040 } 1804 -enum : uint { RC_DI_BITMAP = 0x0080 } 1805 -enum : uint { RC_PALETTE = 0x0100 } 1806 -enum : uint { RC_DIBTODEV = 0x0200 } 1807 -enum : uint { RC_BIGFONT = 0x0400 } 1808 -enum : uint { RC_STRETCHBLT = 0x0800 } 1809 -enum : uint { RC_FLOODFILL = 0x1000 } 1810 -enum : uint { RC_STRETCHDIB = 0x2000 } 1811 -enum : uint { RC_OP_DX_OUTPUT = 0x4000 } 1812 -enum : uint { RC_DEVBITS = 0x8000 } 1813 - 1814 -// #if(WINVER >= 0x0500) 1815 - 1816 -enum : uint { SB_NONE = 0x00000000 } 1817 -enum : uint { SB_CONST_ALPHA = 0x00000001 } 1818 -enum : uint { SB_PIXEL_ALPHA = 0x00000002 } 1819 -enum : uint { SB_PREMULT_ALPHA = 0x00000004 } 1820 - 1821 -enum : uint { SB_GRAD_RECT = 0x00000010 } 1822 -enum : uint { SB_GRAD_TRI = 0x00000020 } 1823 - 1824 -enum : uint { CM_NONE = 0x00000000 } 1825 -enum : uint { CM_DEVICE_ICM = 0x00000001 } 1826 -enum : uint { CM_GAMMA_RAMP = 0x00000002 } 1827 -enum : uint { CM_CMYK_COLOR = 0x00000004 } 1828 - 1829 -// #endif /* WINVER >= 0x0500 */ 1830 - 1831 -enum : uint { DIB_RGB_COLORS = 0 } 1832 -enum : uint { DIB_PAL_COLORS = 1 } 1833 - 1834 -enum : uint { SYSPAL_ERROR = 0 } 1835 -enum : uint { SYSPAL_STATIC = 1 } 1836 -enum : uint { SYSPAL_NOSTATIC = 2 } 1837 -enum : uint { SYSPAL_NOSTATIC256 = 3 } 1838 - 1839 -enum : uint { CBM_INIT = 0x04 } 1840 - 1841 -enum : uint { FLOODFILLBORDER = 0 } 1842 -enum : uint { FLOODFILLSURFACE = 1 } 1843 - 1844 -enum : uint { CCHDEVICENAME = 32 } 1845 - 1846 -enum : uint { CCHFORMNAME = 32 } 1847 - 1848 -struct _devicemodeA { 1849 - BYTE dmDeviceName[CCHDEVICENAME]; 1850 - WORD dmSpecVersion; 1851 - WORD dmDriverVersion; 1852 - WORD dmSize; 1853 - WORD dmDriverExtra; 1854 - DWORD dmFields; 1855 -union { 1856 -struct { 1857 - short dmOrientation; 1858 - short dmPaperSize; 1859 - short dmPaperLength; 1860 - short dmPaperWidth; 1861 -} 1862 - 1863 - POINTL dmPosition; 1864 -} 1865 - 1866 - short dmScale; 1867 - short dmCopies; 1868 - short dmDefaultSource; 1869 - short dmPrintQuality; 1870 - short dmColor; 1871 - short dmDuplex; 1872 - short dmYResolution; 1873 - short dmTTOption; 1874 - short dmCollate; 1875 - BYTE dmFormName[CCHFORMNAME]; 1876 - WORD dmLogPixels; 1877 - DWORD dmBitsPerPel; 1878 - DWORD dmPelsWidth; 1879 - DWORD dmPelsHeight; 1880 -union { 1881 - DWORD dmDisplayFlags; 1882 - DWORD dmNup; 1883 -} 1884 - 1885 - DWORD dmDisplayFrequency; 1886 -// #if(WINVER >= 0x0400) 1887 - DWORD dmICMMethod; 1888 - DWORD dmICMIntent; 1889 - DWORD dmMediaType; 1890 - DWORD dmDitherType; 1891 - DWORD dmReserved1; 1892 - DWORD dmReserved2; 1893 -// #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1894 - DWORD dmPanningWidth; 1895 - DWORD dmPanningHeight; 1896 -// #endif 1897 -// #endif /* WINVER >= 0x0400 */ 1898 -} 1899 -alias _devicemodeA DEVMODEA; 1900 -alias _devicemodeA* PDEVMODEA; 1901 -alias _devicemodeA* NPDEVMODEA; 1902 -alias _devicemodeA* LPDEVMODEA; 1903 - 1904 -struct _devicemodeW { 1905 - WCHAR dmDeviceName[CCHDEVICENAME]; 1906 - WORD dmSpecVersion; 1907 - WORD dmDriverVersion; 1908 - WORD dmSize; 1909 - WORD dmDriverExtra; 1910 - DWORD dmFields; 1911 -union { 1912 -struct { 1913 - short dmOrientation; 1914 - short dmPaperSize; 1915 - short dmPaperLength; 1916 - short dmPaperWidth; 1917 -} 1918 - 1919 - POINTL dmPosition; 1920 -} 1921 - 1922 - short dmScale; 1923 - short dmCopies; 1924 - short dmDefaultSource; 1925 - short dmPrintQuality; 1926 - short dmColor; 1927 - short dmDuplex; 1928 - short dmYResolution; 1929 - short dmTTOption; 1930 - short dmCollate; 1931 - WCHAR dmFormName[CCHFORMNAME]; 1932 - WORD dmLogPixels; 1933 - DWORD dmBitsPerPel; 1934 - DWORD dmPelsWidth; 1935 - DWORD dmPelsHeight; 1936 -union { 1937 - DWORD dmDisplayFlags; 1938 - DWORD dmNup; 1939 -} 1940 - 1941 - DWORD dmDisplayFrequency; 1942 -// #if(WINVER >= 0x0400) 1943 - DWORD dmICMMethod; 1944 - DWORD dmICMIntent; 1945 - DWORD dmMediaType; 1946 - DWORD dmDitherType; 1947 - DWORD dmReserved1; 1948 - DWORD dmReserved2; 1949 -// #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1950 - DWORD dmPanningWidth; 1951 - DWORD dmPanningHeight; 1952 -// #endif 1953 -// #endif /* WINVER >= 0x0400 */ 1954 -} 1955 -alias _devicemodeW DEVMODEW; 1956 -alias _devicemodeW* PDEVMODEW; 1957 -alias _devicemodeW* NPDEVMODEW; 1958 -alias _devicemodeW* LPDEVMODEW; 1959 - 1960 -// #ifdef UNICODE 1961 -alias DEVMODEW DEVMODE; 1962 -alias PDEVMODEW PDEVMODE; 1963 -alias NPDEVMODEW NPDEVMODE; 1964 -alias LPDEVMODEW LPDEVMODE; 1965 -// #else 1966 -// ... 1967 -// #endif // UNICODE 1968 - 1969 -// #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 1970 -enum : uint { DM_SPECVERSION = 0x0401 } 1971 -// #elif (WINVER >= 0x0400) 1972 -// #... 1973 -// #else 1974 -// #... 1975 -// #endif /* WINVER */ 1976 - 1977 -enum : uint { DM_ORIENTATION = 0x00000001 } 1978 -enum : uint { DM_PAPERSIZE = 0x00000002 } 1979 -enum : uint { DM_PAPERLENGTH = 0x00000004 } 1980 -enum : uint { DM_PAPERWIDTH = 0x00000008 } 1981 -enum : uint { DM_SCALE = 0x00000010 } 1982 -// #if(WINVER >= 0x0500) 1983 -enum : uint { DM_POSITION = 0x00000020 } 1984 -enum : uint { DM_NUP = 0x00000040 } 1985 -// #endif /* WINVER >= 0x0500 */ 1986 -enum : uint { DM_COPIES = 0x00000100 } 1987 -enum : uint { DM_DEFAULTSOURCE = 0x00000200 } 1988 -enum : uint { DM_PRINTQUALITY = 0x00000400 } 1989 -enum : uint { DM_COLOR = 0x00000800 } 1990 -enum : uint { DM_DUPLEX = 0x00001000 } 1991 -enum : uint { DM_YRESOLUTION = 0x00002000 } 1992 -enum : uint { DM_TTOPTION = 0x00004000 } 1993 -enum : uint { DM_COLLATE = 0x00008000 } 1994 -enum : uint { DM_FORMNAME = 0x00010000 } 1995 -enum : uint { DM_LOGPIXELS = 0x00020000 } 1996 -enum : uint { DM_BITSPERPEL = 0x00040000 } 1997 -enum : uint { DM_PELSWIDTH = 0x00080000 } 1998 -enum : uint { DM_PELSHEIGHT = 0x00100000 } 1999 -enum : uint { DM_DISPLAYFLAGS = 0x00200000 } 2000 -enum : uint { DM_DISPLAYFREQUENCY = 0x00400000 } 2001 -// #if(WINVER >= 0x0400) 2002 -enum : uint { DM_ICMMETHOD = 0x00800000 } 2003 -enum : uint { DM_ICMINTENT = 0x01000000 } 2004 -enum : uint { DM_MEDIATYPE = 0x02000000 } 2005 -enum : uint { DM_DITHERTYPE = 0x04000000 } 2006 -enum : uint { DM_PANNINGWIDTH = 0x08000000 } 2007 -enum : uint { DM_PANNINGHEIGHT = 0x10000000 } 2008 -// #endif /* WINVER >= 0x0400 */ 2009 - 2010 -enum : uint { DMORIENT_PORTRAIT = 1 } 2011 -enum : uint { DMORIENT_LANDSCAPE = 2 } 2012 - 2013 -enum { DMPAPER_FIRST = 1 } 2014 -enum : uint { DMPAPER_LETTER = 1 } 2015 -enum : uint { DMPAPER_LETTERSMALL = 2 } 2016 -enum : uint { DMPAPER_TABLOID = 3 } 2017 -enum : uint { DMPAPER_LEDGER = 4 } 2018 -enum : uint { DMPAPER_LEGAL = 5 } 2019 -enum : uint { DMPAPER_STATEMENT = 6 } 2020 -enum : uint { DMPAPER_EXECUTIVE = 7 } 2021 -enum : uint { DMPAPER_A3 = 8 } 2022 -enum : uint { DMPAPER_A4 = 9 } 2023 -enum : uint { DMPAPER_A4SMALL = 10 } 2024 -enum : uint { DMPAPER_A5 = 11 } 2025 -enum : uint { DMPAPER_B4 = 12 } 2026 -enum : uint { DMPAPER_B5 = 13 } 2027 -enum : uint { DMPAPER_FOLIO = 14 } 2028 -enum : uint { DMPAPER_QUARTO = 15 } 2029 -enum : uint { DMPAPER_10X14 = 16 } 2030 -enum : uint { DMPAPER_11X17 = 17 } 2031 -enum : uint { DMPAPER_NOTE = 18 } 2032 -enum : uint { DMPAPER_ENV_9 = 19 } 2033 -enum : uint { DMPAPER_ENV_10 = 20 } 2034 -enum : uint { DMPAPER_ENV_11 = 21 } 2035 -enum : uint { DMPAPER_ENV_12 = 22 } 2036 -enum : uint { DMPAPER_ENV_14 = 23 } 2037 -enum : uint { DMPAPER_CSHEET = 24 } 2038 -enum : uint { DMPAPER_DSHEET = 25 } 2039 -enum : uint { DMPAPER_ESHEET = 26 } 2040 -enum : uint { DMPAPER_ENV_DL = 27 } 2041 -enum : uint { DMPAPER_ENV_C5 = 28 } 2042 -enum : uint { DMPAPER_ENV_C3 = 29 } 2043 -enum : uint { DMPAPER_ENV_C4 = 30 } 2044 -enum : uint { DMPAPER_ENV_C6 = 31 } 2045 -enum : uint { DMPAPER_ENV_C65 = 32 } 2046 -enum : uint { DMPAPER_ENV_B4 = 33 } 2047 -enum : uint { DMPAPER_ENV_B5 = 34 } 2048 -enum : uint { DMPAPER_ENV_B6 = 35 } 2049 -enum : uint { DMPAPER_ENV_ITALY = 36 } 2050 -enum : uint { DMPAPER_ENV_MONARCH = 37 } 2051 -enum : uint { DMPAPER_ENV_PERSONAL = 38 } 2052 -enum : uint { DMPAPER_FANFOLD_US = 39 } 2053 -enum : uint { DMPAPER_FANFOLD_STD_GERMAN = 40 } 2054 -enum : uint { DMPAPER_FANFOLD_LGL_GERMAN = 41 } 2055 -// #if(WINVER >= 0x0400) 2056 -enum : uint { DMPAPER_ISO_B4 = 42 } 2057 -enum : uint { DMPAPER_JAPANESE_POSTCARD = 43 } 2058 -enum : uint { DMPAPER_9X11 = 44 } 2059 -enum : uint { DMPAPER_10X11 = 45 } 2060 -enum : uint { DMPAPER_15X11 = 46 } 2061 -enum : uint { DMPAPER_ENV_INVITE = 47 } 2062 -enum : uint { DMPAPER_RESERVED_48 = 48 } 2063 -enum : uint { DMPAPER_RESERVED_49 = 49 } 2064 -enum : uint { DMPAPER_LETTER_EXTRA = 50 } 2065 -enum : uint { DMPAPER_LEGAL_EXTRA = 51 } 2066 -enum : uint { DMPAPER_TABLOID_EXTRA = 52 } 2067 -enum : uint { DMPAPER_A4_EXTRA = 53 } 2068 -enum : uint { DMPAPER_LETTER_TRANSVERSE = 54 } 2069 -enum : uint { DMPAPER_A4_TRANSVERSE = 55 } 2070 -enum : uint { DMPAPER_LETTER_EXTRA_TRANSVERSE = 56 } 2071 -enum : uint { DMPAPER_A_PLUS = 57 } 2072 -enum : uint { DMPAPER_B_PLUS = 58 } 2073 -enum : uint { DMPAPER_LETTER_PLUS = 59 } 2074 -enum : uint { DMPAPER_A4_PLUS = 60 } 2075 -enum : uint { DMPAPER_A5_TRANSVERSE = 61 } 2076 -enum : uint { DMPAPER_B5_TRANSVERSE = 62 } 2077 -enum : uint { DMPAPER_A3_EXTRA = 63 } 2078 -enum : uint { DMPAPER_A5_EXTRA = 64 } 2079 -enum : uint { DMPAPER_B5_EXTRA = 65 } 2080 -enum : uint { DMPAPER_A2 = 66 } 2081 -enum : uint { DMPAPER_A3_TRANSVERSE = 67 } 2082 -enum : uint { DMPAPER_A3_EXTRA_TRANSVERSE = 68 } 2083 -// #endif /* WINVER >= 0x0400 */ 2084 - 2085 -// #if(WINVER >= 0x0500) 2086 -enum : uint { DMPAPER_DBL_JAPANESE_POSTCARD = 69 } 2087 -enum : uint { DMPAPER_A6 = 70 } 2088 -enum : uint { DMPAPER_JENV_KAKU2 = 71 } 2089 -enum : uint { DMPAPER_JENV_KAKU3 = 72 } 2090 -enum : uint { DMPAPER_JENV_CHOU3 = 73 } 2091 -enum : uint { DMPAPER_JENV_CHOU4 = 74 } 2092 -enum : uint { DMPAPER_LETTER_ROTATED = 75 } 2093 -enum : uint { DMPAPER_A3_ROTATED = 76 } 2094 -enum : uint { DMPAPER_A4_ROTATED = 77 } 2095 -enum : uint { DMPAPER_A5_ROTATED = 78 } 2096 -enum : uint { DMPAPER_B4_JIS_ROTATED = 79 } 2097 -enum : uint { DMPAPER_B5_JIS_ROTATED = 80 } 2098 -enum : uint { DMPAPER_JAPANESE_POSTCARD_ROTATED = 81 } 2099 -enum : uint { DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED = 82 } 2100 -enum : uint { DMPAPER_A6_ROTATED = 83 } 2101 -enum : uint { DMPAPER_JENV_KAKU2_ROTATED = 84 } 2102 -enum : uint { DMPAPER_JENV_KAKU3_ROTATED = 85 } 2103 -enum : uint { DMPAPER_JENV_CHOU3_ROTATED = 86 } 2104 -enum : uint { DMPAPER_JENV_CHOU4_ROTATED = 87 } 2105 -enum : uint { DMPAPER_B6_JIS = 88 } 2106 -enum : uint { DMPAPER_B6_JIS_ROTATED = 89 } 2107 -enum : uint { DMPAPER_12X11 = 90 } 2108 -enum : uint { DMPAPER_JENV_YOU4 = 91 } 2109 -enum : uint { DMPAPER_JENV_YOU4_ROTATED = 92 } 2110 -enum : uint { DMPAPER_P16K = 93 } 2111 -enum : uint { DMPAPER_P32K = 94 } 2112 -enum : uint { DMPAPER_P32KBIG = 95 } 2113 -enum : uint { DMPAPER_PENV_1 = 96 } 2114 -enum : uint { DMPAPER_PENV_2 = 97 } 2115 -enum : uint { DMPAPER_PENV_3 = 98 } 2116 -enum : uint { DMPAPER_PENV_4 = 99 } 2117 -enum : uint { DMPAPER_PENV_5 = 100 } 2118 -enum : uint { DMPAPER_PENV_6 = 101 } 2119 -enum : uint { DMPAPER_PENV_7 = 102 } 2120 -enum : uint { DMPAPER_PENV_8 = 103 } 2121 -enum : uint { DMPAPER_PENV_9 = 104 } 2122 -enum : uint { DMPAPER_PENV_10 = 105 } 2123 -enum : uint { DMPAPER_P16K_ROTATED = 106 } 2124 -enum : uint { DMPAPER_P32K_ROTATED = 107 } 2125 -enum : uint { DMPAPER_P32KBIG_ROTATED = 108 } 2126 -enum : uint { DMPAPER_PENV_1_ROTATED = 109 } 2127 -enum : uint { DMPAPER_PENV_2_ROTATED = 110 } 2128 -enum : uint { DMPAPER_PENV_3_ROTATED = 111 } 2129 -enum : uint { DMPAPER_PENV_4_ROTATED = 112 } 2130 -enum : uint { DMPAPER_PENV_5_ROTATED = 113 } 2131 -enum : uint { DMPAPER_PENV_6_ROTATED = 114 } 2132 -enum : uint { DMPAPER_PENV_7_ROTATED = 115 } 2133 -enum : uint { DMPAPER_PENV_8_ROTATED = 116 } 2134 -enum : uint { DMPAPER_PENV_9_ROTATED = 117 } 2135 -enum : uint { DMPAPER_PENV_10_ROTATED = 118 } 2136 -// #endif /* WINVER >= 0x0500 */ 2137 - 2138 -// #if (WINVER >= 0x0500) 2139 -alias DMPAPER_PENV_10_ROTATED DMPAPER_LAST; 2140 -// #elif (WINVER >= 0x0400) 2141 -// #... 2142 -// #else 2143 -// #... 2144 -// #endif 2145 - 2146 -enum : uint { DMPAPER_USER = 256 } 2147 - 2148 -enum { DMBIN_FIRST = 1 } 2149 -enum : uint { DMBIN_UPPER = 1 } 2150 -enum : uint { DMBIN_ONLYONE = 1 } 2151 -enum : uint { DMBIN_LOWER = 2 } 2152 -enum : uint { DMBIN_MIDDLE = 3 } 2153 -enum : uint { DMBIN_MANUAL = 4 } 2154 -enum : uint { DMBIN_ENVELOPE = 5 } 2155 -enum : uint { DMBIN_ENVMANUAL = 6 } 2156 -enum : uint { DMBIN_AUTO = 7 } 2157 -enum : uint { DMBIN_TRACTOR = 8 } 2158 -enum : uint { DMBIN_SMALLFMT = 9 } 2159 -enum : uint { DMBIN_LARGEFMT = 10 } 2160 -enum : uint { DMBIN_LARGECAPACITY = 11 } 2161 -enum : uint { DMBIN_CASSETTE = 14 } 2162 -enum : uint { DMBIN_FORMSOURCE = 15 } 2163 -alias DMBIN_FORMSOURCE DMBIN_LAST; 2164 - 2165 -enum : uint { DMBIN_USER = 256 } 2166 - 2167 -enum { DMRES_DRAFT = -1 } 2168 -enum { DMRES_LOW = -2 } 2169 -enum { DMRES_MEDIUM = -3 } 2170 -enum { DMRES_HIGH = -4 } 2171 - 2172 -enum : uint { DMCOLOR_MONOCHROME = 1 } 2173 -enum : uint { DMCOLOR_COLOR = 2 } 2174 - 2175 -enum : uint { DMDUP_SIMPLEX = 1 } 2176 -enum : uint { DMDUP_VERTICAL = 2 } 2177 -enum : uint { DMDUP_HORIZONTAL = 3 } 2178 - 2179 -enum : uint { DMTT_BITMAP = 1 } 2180 -enum : uint { DMTT_DOWNLOAD = 2 } 2181 -enum : uint { DMTT_SUBDEV = 3 } 2182 -// #if(WINVER >= 0x0400) 2183 -enum : uint { DMTT_DOWNLOAD_OUTLINE = 4 } 2184 -// #endif /* WINVER >= 0x0400 */ 2185 - 2186 -enum : uint { DMCOLLATE_FALSE = 0 } 2187 -enum : uint { DMCOLLATE_TRUE = 1 } 2188 - 2189 -enum : uint { DMDISPLAYFLAGS_TEXTMODE = 0x00000004 } 2190 - 2191 -enum : uint { DMNUP_SYSTEM = 1 } 2192 -enum : uint { DMNUP_ONEUP = 2 } 2193 - 2194 -// #if(WINVER >= 0x0400) 2195 - 2196 -enum : uint { DMICMMETHOD_NONE = 1 } 2197 -enum : uint { DMICMMETHOD_SYSTEM = 2 } 2198 -enum : uint { DMICMMETHOD_DRIVER = 3 } 2199 -enum : uint { DMICMMETHOD_DEVICE = 4 } 2200 - 2201 -enum : uint { DMICMMETHOD_USER = 256 } 2202 - 2203 -enum : uint { DMICM_SATURATE = 1 } 2204 -enum : uint { DMICM_CONTRAST = 2 } 2205 -enum : uint { DMICM_COLORIMETRIC = 3 } 2206 -enum : uint { DMICM_ABS_COLORIMETRIC = 4 } 2207 - 2208 -enum : uint { DMICM_USER = 256 } 2209 - 2210 -enum : uint { DMMEDIA_STANDARD = 1 } 2211 -enum : uint { DMMEDIA_TRANSPARENCY = 2 } 2212 -enum : uint { DMMEDIA_GLOSSY = 3 } 2213 - 2214 -enum : uint { DMMEDIA_USER = 256 } 2215 - 2216 -enum : uint { DMDITHER_NONE = 1 } 2217 -enum : uint { DMDITHER_COARSE = 2 } 2218 -enum : uint { DMDITHER_FINE = 3 } 2219 -enum : uint { DMDITHER_LINEART = 4 } 2220 -enum : uint { DMDITHER_ERRORDIFFUSION = 5 } 2221 -enum : uint { DMDITHER_RESERVED6 = 6 } 2222 -enum : uint { DMDITHER_RESERVED7 = 7 } 2223 -enum : uint { DMDITHER_RESERVED8 = 8 } 2224 -enum : uint { DMDITHER_RESERVED9 = 9 } 2225 -enum : uint { DMDITHER_GRAYSCALE = 10 } 2226 - 2227 -enum : uint { DMDITHER_USER = 256 } 2228 -// #endif /* WINVER >= 0x0400 */ 2229 - 2230 -struct _DISPLAY_DEVICEA { 2231 - DWORD cb; 2232 - CHAR DeviceName[32]; 2233 - CHAR DeviceString[128]; 2234 - DWORD StateFlags; 2235 - CHAR DeviceID[128]; 2236 - CHAR DeviceKey[128]; 2237 -} 2238 -alias _DISPLAY_DEVICEA DISPLAY_DEVICEA; 2239 -alias _DISPLAY_DEVICEA* PDISPLAY_DEVICEA; 2240 -alias _DISPLAY_DEVICEA* LPDISPLAY_DEVICEA; 2241 - 2242 -struct _DISPLAY_DEVICEW { 2243 - DWORD cb; 2244 - WCHAR DeviceName[32]; 2245 - WCHAR DeviceString[128]; 2246 - DWORD StateFlags; 2247 - WCHAR DeviceID[128]; 2248 - WCHAR DeviceKey[128]; 2249 -} 2250 -alias _DISPLAY_DEVICEW DISPLAY_DEVICEW; 2251 -alias _DISPLAY_DEVICEW* PDISPLAY_DEVICEW; 2252 -alias _DISPLAY_DEVICEW* LPDISPLAY_DEVICEW; 2253 - 2254 -// #ifdef UNICODE 2255 -alias DISPLAY_DEVICEW DISPLAY_DEVICE; 2256 -alias PDISPLAY_DEVICEW PDISPLAY_DEVICE; 2257 -alias LPDISPLAY_DEVICEW LPDISPLAY_DEVICE; 2258 -// #else 2259 -// ... 2260 -// #endif // UNICODE 2261 - 2262 -enum : uint { DISPLAY_DEVICE_ATTACHED_TO_DESKTOP = 0x00000001 } 2263 -enum : uint { DISPLAY_DEVICE_MULTI_DRIVER = 0x00000002 } 2264 -enum : uint { DISPLAY_DEVICE_PRIMARY_DEVICE = 0x00000004 } 2265 -enum : uint { DISPLAY_DEVICE_MIRRORING_DRIVER = 0x00000008 } 2266 -enum : uint { DISPLAY_DEVICE_VGA_COMPATIBLE = 0x00000010 } 2267 -enum : uint { DISPLAY_DEVICE_REMOVABLE = 0x00000020 } 2268 -enum : uint { DISPLAY_DEVICE_MODESPRUNED = 0x08000000 } 2269 -enum : uint { DISPLAY_DEVICE_REMOTE = 0x04000000 } 2270 -enum : uint { DISPLAY_DEVICE_DISCONNECT = 0x02000000 } 2271 - 2272 -enum : uint { DISPLAY_DEVICE_ACTIVE = 0x00000001 } 2273 -enum : uint { DISPLAY_DEVICE_ATTACHED = 0x00000002 } 2274 - 2275 -enum : uint { RDH_RECTANGLES = 1 } 2276 - 2277 -struct _RGNDATAHEADER { 2278 - DWORD dwSize; 2279 - DWORD iType; 2280 - DWORD nCount; 2281 - DWORD nRgnSize; 2282 - RECT rcBound; 2283 -} 2284 -alias _RGNDATAHEADER RGNDATAHEADER; 2285 -alias _RGNDATAHEADER* PRGNDATAHEADER; 2286 - 2287 -struct _RGNDATA { 2288 - RGNDATAHEADER rdh; 2289 - char Buffer[1]; 2290 -} 2291 -alias _RGNDATA RGNDATA; 2292 -alias _RGNDATA* PRGNDATA; 2293 -alias _RGNDATA* NPRGNDATA; 2294 -alias _RGNDATA* LPRGNDATA; 2295 - 2296 -enum : uint { SYSRGN = 4 } 2297 - 2298 -struct _ABC { 2299 - int abcA; 2300 - UINT abcB; 2301 - int abcC; 2302 -} 2303 -alias _ABC ABC; 2304 -alias _ABC* PABC; 2305 -alias _ABC* NPABC; 2306 -alias _ABC* LPABC; 2307 - 2308 -struct _ABCFLOAT { 2309 - FLOAT abcfA; 2310 - FLOAT abcfB; 2311 - FLOAT abcfC; 2312 -} 2313 -alias _ABCFLOAT ABCFLOAT; 2314 -alias _ABCFLOAT* PABCFLOAT; 2315 -alias _ABCFLOAT* NPABCFLOAT; 2316 -alias _ABCFLOAT* LPABCFLOAT; 2317 - 2318 -// #ifndef NOTEXTMETRIC 2319 - 2320 -// #ifdef _MAC 2321 -// #... 2322 -// #endif 2323 -struct _OUTLINETEXTMETRICA { 2324 - UINT otmSize; 2325 - TEXTMETRICA otmTextMetrics; 2326 - BYTE otmFiller; 2327 - PANOSE otmPanoseNumber; 2328 - UINT otmfsSelection; 2329 - UINT otmfsType; 2330 - int otmsCharSlopeRise; 2331 - int otmsCharSlopeRun; 2332 - int otmItalicAngle; 2333 - UINT otmEMSquare; 2334 - int otmAscent; 2335 - int otmDescent; 2336 - UINT otmLineGap; 2337 - UINT otmsCapEmHeight; 2338 - UINT otmsXHeight; 2339 - RECT otmrcFontBox; 2340 - int otmMacAscent; 2341 - int otmMacDescent; 2342 - UINT otmMacLineGap; 2343 - UINT otmusMinimumPPEM; 2344 - POINT otmptSubscriptSize; 2345 - POINT otmptSubscriptOffset; 2346 - POINT otmptSuperscriptSize; 2347 - POINT otmptSuperscriptOffset; 2348 - UINT otmsStrikeoutSize; 2349 - int otmsStrikeoutPosition; 2350 - int otmsUnderscoreSize; 2351 - int otmsUnderscorePosition; 2352 - PSTR otmpFamilyName; 2353 - PSTR otmpFaceName; 2354 - PSTR otmpStyleName; 2355 - PSTR otmpFullName; 2356 -} 2357 -alias _OUTLINETEXTMETRICA OUTLINETEXTMETRICA; 2358 -alias _OUTLINETEXTMETRICA* POUTLINETEXTMETRICA; 2359 -alias _OUTLINETEXTMETRICA* NPOUTLINETEXTMETRICA; 2360 -alias _OUTLINETEXTMETRICA* LPOUTLINETEXTMETRICA; 2361 - 2362 -struct _OUTLINETEXTMETRICW { 2363 - UINT otmSize; 2364 - TEXTMETRICW otmTextMetrics; 2365 - BYTE otmFiller; 2366 - PANOSE otmPanoseNumber; 2367 - UINT otmfsSelection; 2368 - UINT otmfsType; 2369 - int otmsCharSlopeRise; 2370 - int otmsCharSlopeRun; 2371 - int otmItalicAngle; 2372 - UINT otmEMSquare; 2373 - int otmAscent; 2374 - int otmDescent; 2375 - UINT otmLineGap; 2376 - UINT otmsCapEmHeight; 2377 - UINT otmsXHeight; 2378 - RECT otmrcFontBox; 2379 - int otmMacAscent; 2380 - int otmMacDescent; 2381 - UINT otmMacLineGap; 2382 - UINT otmusMinimumPPEM; 2383 - POINT otmptSubscriptSize; 2384 - POINT otmptSubscriptOffset; 2385 - POINT otmptSuperscriptSize; 2386 - POINT otmptSuperscriptOffset; 2387 - UINT otmsStrikeoutSize; 2388 - int otmsStrikeoutPosition; 2389 - int otmsUnderscoreSize; 2390 - int otmsUnderscorePosition; 2391 - PSTR otmpFamilyName; 2392 - PSTR otmpFaceName; 2393 - PSTR otmpStyleName; 2394 - PSTR otmpFullName; 2395 -} 2396 -alias _OUTLINETEXTMETRICW OUTLINETEXTMETRICW; 2397 -alias _OUTLINETEXTMETRICW* POUTLINETEXTMETRICW; 2398 -alias _OUTLINETEXTMETRICW* NPOUTLINETEXTMETRICW; 2399 -alias _OUTLINETEXTMETRICW* LPOUTLINETEXTMETRICW; 2400 - 2401 -// #ifdef UNICODE 2402 -alias OUTLINETEXTMETRICW OUTLINETEXTMETRIC; 2403 -alias POUTLINETEXTMETRICW POUTLINETEXTMETRIC; 2404 -alias NPOUTLINETEXTMETRICW NPOUTLINETEXTMETRIC; 2405 -alias LPOUTLINETEXTMETRICW LPOUTLINETEXTMETRIC; 2406 -// #else 2407 -// ... 2408 -// #endif // UNICODE 2409 - 2410 -// #ifdef _MAC 2411 -// #... 2412 -// #endif 2413 - 2414 -// #endif /* NOTEXTMETRIC */ 2415 - 2416 -struct tagPOLYTEXTA { 2417 - int x; 2418 - int y; 2419 - UINT n; 2420 - LPCSTR lpstr; 2421 - UINT uiFlags; 2422 - RECT rcl; 2423 - int *pdx; 2424 -} 2425 -alias tagPOLYTEXTA POLYTEXTA; 2426 -alias tagPOLYTEXTA* PPOLYTEXTA; 2427 -alias tagPOLYTEXTA* NPPOLYTEXTA; 2428 -alias tagPOLYTEXTA* LPPOLYTEXTA; 2429 - 2430 -struct tagPOLYTEXTW { 2431 - int x; 2432 - int y; 2433 - UINT n; 2434 - LPCWSTR lpstr; 2435 - UINT uiFlags; 2436 - RECT rcl; 2437 - int *pdx; 2438 -} 2439 -alias tagPOLYTEXTW POLYTEXTW; 2440 -alias tagPOLYTEXTW* PPOLYTEXTW; 2441 -alias tagPOLYTEXTW* NPPOLYTEXTW; 2442 -alias tagPOLYTEXTW* LPPOLYTEXTW; 2443 - 2444 -// #ifdef UNICODE 2445 -alias POLYTEXTW POLYTEXT; 2446 -alias PPOLYTEXTW PPOLYTEXT; 2447 -alias NPPOLYTEXTW NPPOLYTEXT; 2448 -alias LPPOLYTEXTW LPPOLYTEXT; 2449 -// #else 2450 -// ... 2451 -// #endif // UNICODE 2452 - 2453 -struct _FIXED { 2454 -// #ifndef _MAC 2455 - WORD fract; 2456 - short value; 2457 -// #else 2458 -// ... 2459 -// #endif 2460 -} 2461 -alias _FIXED FIXED; 2462 - 2463 -struct _MAT2 { 2464 - FIXED eM11; 2465 - FIXED eM12; 2466 - FIXED eM21; 2467 - FIXED eM22; 2468 -} 2469 -alias _MAT2 MAT2; 2470 -alias _MAT2* LPMAT2; 2471 - 2472 -struct _GLYPHMETRICS { 2473 - UINT gmBlackBoxX; 2474 - UINT gmBlackBoxY; 2475 - POINT gmptGlyphOrigin; 2476 - short gmCellIncX; 2477 - short gmCellIncY; 2478 -} 2479 -alias _GLYPHMETRICS GLYPHMETRICS; 2480 -alias _GLYPHMETRICS* LPGLYPHMETRICS; 2481 - 2482 -enum : uint { GGO_METRICS = 0 } 2483 -enum : uint { GGO_BITMAP = 1 } 2484 -enum : uint { GGO_NATIVE = 2 } 2485 -enum : uint { GGO_BEZIER = 3 } 2486 - 2487 -// #if(WINVER >= 0x0400) 2488 -enum : uint { GGO_GRAY2_BITMAP = 4 } 2489 -enum : uint { GGO_GRAY4_BITMAP = 5 } 2490 -enum : uint { GGO_GRAY8_BITMAP = 6 } 2491 -enum : uint { GGO_GLYPH_INDEX = 0x0080 } 2492 -// #endif /* WINVER >= 0x0400 */ 2493 - 2494 -// #if (_WIN32_WINNT >= 0x0500) 2495 -enum : uint { GGO_UNHINTED = 0x0100 } 2496 -// #endif // (_WIN32_WINNT >= 0x0500) 2497 - 2498 -enum : uint { TT_POLYGON_TYPE = 24 } 2499 - 2500 -enum : uint { TT_PRIM_LINE = 1 } 2501 -enum : uint { TT_PRIM_QSPLINE = 2 } 2502 -enum : uint { TT_PRIM_CSPLINE = 3 } 2503 - 2504 -struct tagPOINTFX { 2505 - FIXED x; 2506 - FIXED y; 2507 -} 2508 -alias tagPOINTFX POINTFX; 2509 -alias tagPOINTFX* LPPOINTFX; 2510 - 2511 -struct tagTTPOLYCURVE { 2512 - WORD wType; 2513 - WORD cpfx; 2514 - POINTFX apfx[1]; 2515 -} 2516 -alias tagTTPOLYCURVE TTPOLYCURVE; 2517 -alias tagTTPOLYCURVE* LPTTPOLYCURVE; 2518 - 2519 -struct tagTTPOLYGONHEADER { 2520 - DWORD cb; 2521 - DWORD dwType; 2522 - POINTFX pfxStart; 2523 -} 2524 -alias tagTTPOLYGONHEADER TTPOLYGONHEADER; 2525 -alias tagTTPOLYGONHEADER* LPTTPOLYGONHEADER; 2526 - 2527 -// #if(WINVER >= 0x0400) 2528 -enum : uint { GCP_DBCS = 0x0001 } 2529 -enum : uint { GCP_REORDER = 0x0002 } 2530 -enum : uint { GCP_USEKERNING = 0x0008 } 2531 -enum : uint { GCP_GLYPHSHAPE = 0x0010 } 2532 -enum : uint { GCP_LIGATE = 0x0020 } 2533 - 2534 -enum : uint { GCP_DIACRITIC = 0x0100 } 2535 -enum : uint { GCP_KASHIDA = 0x0400 } 2536 -enum : uint { GCP_ERROR = 0x8000 } 2537 -enum : uint { FLI_MASK = 0x103B } 2538 - 2539 -enum : uint { GCP_JUSTIFY = 0x00010000 } 2540 - 2541 -enum : uint { FLI_GLYPHS = 0x00040000 } 2542 -enum : uint { GCP_CLASSIN = 0x00080000 } 2543 -enum : uint { GCP_MAXEXTENT = 0x00100000 } 2544 -enum : uint { GCP_JUSTIFYIN = 0x00200000 } 2545 -enum : uint { GCP_DISPLAYZWG = 0x00400000 } 2546 -enum : uint { GCP_SYMSWAPOFF = 0x00800000 } 2547 -enum : uint { GCP_NUMERICOVERRIDE = 0x01000000 } 2548 -enum : uint { GCP_NEUTRALOVERRIDE = 0x02000000 } 2549 -enum : uint { GCP_NUMERICSLATIN = 0x04000000 } 2550 -enum : uint { GCP_NUMERICSLOCAL = 0x08000000 } 2551 - 2552 -enum : uint { GCPCLASS_LATIN = 1 } 2553 -enum : uint { GCPCLASS_HEBREW = 2 } 2554 -enum : uint { GCPCLASS_ARABIC = 2 } 2555 -enum : uint { GCPCLASS_NEUTRAL = 3 } 2556 -enum : uint { GCPCLASS_LOCALNUMBER = 4 } 2557 -enum : uint { GCPCLASS_LATINNUMBER = 5 } 2558 -enum : uint { GCPCLASS_LATINNUMERICTERMINATOR = 6 } 2559 -enum : uint { GCPCLASS_LATINNUMERICSEPARATOR = 7 } 2560 -enum : uint { GCPCLASS_NUMERICSEPARATOR = 8 } 2561 -enum : uint { GCPCLASS_PREBOUNDLTR = 0x80 } 2562 -enum : uint { GCPCLASS_PREBOUNDRTL = 0x40 } 2563 -enum : uint { GCPCLASS_POSTBOUNDLTR = 0x20 } 2564 -enum : uint { GCPCLASS_POSTBOUNDRTL = 0x10 } 2565 - 2566 -enum : uint { GCPGLYPH_LINKBEFORE = 0x8000 } 2567 -enum : uint { GCPGLYPH_LINKAFTER = 0x4000 } 2568 - 2569 -struct tagGCP_RESULTSA { 2570 - DWORD lStructSize; 2571 - LPSTR lpOutString; 2572 - UINT *lpOrder; 2573 - int *lpDx; 2574 - int *lpCaretPos; 2575 - LPSTR lpClass; 2576 - LPWSTR lpGlyphs; 2577 - UINT nGlyphs; 2578 - int nMaxFit; 2579 -} 2580 -alias tagGCP_RESULTSA GCP_RESULTSA; 2581 -alias tagGCP_RESULTSA* LPGCP_RESULTSA; 2582 - 2583 -struct tagGCP_RESULTSW { 2584 - DWORD lStructSize; 2585 - LPWSTR lpOutString; 2586 - UINT *lpOrder; 2587 - int *lpDx; 2588 - int *lpCaretPos; 2589 - LPSTR lpClass; 2590 - LPWSTR lpGlyphs; 2591 - UINT nGlyphs; 2592 - int nMaxFit; 2593 -} 2594 -alias tagGCP_RESULTSW GCP_RESULTSW; 2595 -alias tagGCP_RESULTSW* LPGCP_RESULTSW; 2596 - 2597 -// #ifdef UNICODE 2598 -alias GCP_RESULTSW GCP_RESULTS; 2599 -alias LPGCP_RESULTSW LPGCP_RESULTS; 2600 -// #else 2601 -// ... 2602 -// #endif // UNICODE 2603 -// #endif /* WINVER >= 0x0400 */ 2604 - 2605 -struct _RASTERIZER_STATUS { 2606 - short nSize; 2607 - short wFlags; 2608 - short nLanguageID; 2609 -} 2610 -alias _RASTERIZER_STATUS RASTERIZER_STATUS; 2611 -alias _RASTERIZER_STATUS* LPRASTERIZER_STATUS; 2612 - 2613 -enum : uint { TT_AVAILABLE = 0x0001 } 2614 -enum : uint { TT_ENABLED = 0x0002 } 2615 - 2616 -struct tagPIXELFORMATDESCRIPTOR { 2617 - WORD nSize; 2618 - WORD nVersion; 2619 - DWORD dwFlags; 2620 - BYTE iPixelType; 2621 - BYTE cColorBits; 2622 - BYTE cRedBits; 2623 - BYTE cRedShift; 2624 - BYTE cGreenBits; 2625 - BYTE cGreenShift; 2626 - BYTE cBlueBits; 2627 - BYTE cBlueShift; 2628 - BYTE cAlphaBits; 2629 - BYTE cAlphaShift; 2630 - BYTE cAccumBits; 2631 - BYTE cAccumRedBits; 2632 - BYTE cAccumGreenBits; 2633 - BYTE cAccumBlueBits; 2634 - BYTE cAccumAlphaBits; 2635 - BYTE cDepthBits; 2636 - BYTE cStencilBits; 2637 - BYTE cAuxBuffers; 2638 - BYTE iLayerType; 2639 - BYTE bReserved; 2640 - DWORD dwLayerMask; 2641 - DWORD dwVisibleMask; 2642 - DWORD dwDamageMask; 2643 -} 2644 -alias tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR; 2645 -alias tagPIXELFORMATDESCRIPTOR* PPIXELFORMATDESCRIPTOR; 2646 -alias tagPIXELFORMATDESCRIPTOR* LPPIXELFORMATDESCRIPTOR; 2647 - 2648 -enum : uint { PFD_TYPE_RGBA = 0 } 2649 -enum : uint { PFD_TYPE_COLORINDEX = 1 } 2650 - 2651 -enum : uint { PFD_MAIN_PLANE = 0 } 2652 -enum : uint { PFD_OVERLAY_PLANE = 1 } 2653 -enum { PFD_UNDERLAY_PLANE = -1 } 2654 - 2655 -enum : uint { PFD_DOUBLEBUFFER = 0x00000001 } 2656 -enum : uint { PFD_STEREO = 0x00000002 } 2657 -enum : uint { PFD_DRAW_TO_WINDOW = 0x00000004 } 2658 -enum : uint { PFD_DRAW_TO_BITMAP = 0x00000008 } 2659 -enum : uint { PFD_SUPPORT_GDI = 0x00000010 } 2660 -enum : uint { PFD_SUPPORT_OPENGL = 0x00000020 } 2661 -enum : uint { PFD_GENERIC_FORMAT = 0x00000040 } 2662 -enum : uint { PFD_NEED_PALETTE = 0x00000080 } 2663 -enum : uint { PFD_NEED_SYSTEM_PALETTE = 0x00000100 } 2664 -enum : uint { PFD_SWAP_EXCHANGE = 0x00000200 } 2665 -enum : uint { PFD_SWAP_COPY = 0x00000400 } 2666 -enum : uint { PFD_SWAP_LAYER_BUFFERS = 0x00000800 } 2667 -enum : uint { PFD_GENERIC_ACCELERATED = 0x00001000 } 2668 -enum : uint { PFD_SUPPORT_DIRECTDRAW = 0x00002000 } 2669 - 2670 -enum : uint { PFD_DEPTH_DONTCARE = 0x20000000 } 2671 -enum : uint { PFD_DOUBLEBUFFER_DONTCARE = 0x40000000 } 2672 -enum : uint { PFD_STEREO_DONTCARE = 0x80000000 } 2673 - 2674 -// #ifdef STRICT 2675 -// #if !defined(NOTEXTMETRIC) 2676 -extern(Windows) alias int function( LOGFONTA *, TEXTMETRICA *, DWORD, LPARAM) OLDFONTENUMPROCA; 2677 -extern(Windows) alias int function( LOGFONTW *, TEXTMETRICW *, DWORD, LPARAM) OLDFONTENUMPROCW; 2678 -// #ifdef UNICODE 2679 -alias OLDFONTENUMPROCW OLDFONTENUMPROC; 2680 -// #else 2681 -// #... 2682 -// #endif // !UNICODE 2683 -// #else 2684 -// ... 2685 -// #ifdef UNICODE 2686 -// #... 2687 -// #else 2688 -// #... 2689 -// #endif // !UNICODE 2690 -// #endif 2691 - 2692 -alias OLDFONTENUMPROCA FONTENUMPROCA; 2693 -alias OLDFONTENUMPROCW FONTENUMPROCW; 2694 -// #ifdef UNICODE 2695 -alias FONTENUMPROCW FONTENUMPROC; 2696 -// #else 2697 -// ... 2698 -// #endif // UNICODE 2699 - 2700 -extern(Windows) alias int function(LPVOID, LPARAM) GOBJENUMPROC; 2701 -extern(Windows) alias VOID function(int, int, LPARAM) LINEDDAPROC; 2702 -// #else 2703 -// ... 2704 -// #ifdef UNICODE 2705 -// ... 2706 -// #else 2707 -// ... 2708 -// #endif // UNICODE 2709 -// ... 2710 -// #endif 2711 - 2712 -extern(Windows) export int AddFontResourceA(LPCSTR); 2713 -extern(Windows) export int AddFontResourceW(LPCWSTR); 2714 -// #ifdef UNICODE 2715 -alias AddFontResourceW AddFontResource; 2716 -// #else 2717 -// #... 2718 -// #endif // !UNICODE 2719 - 2720 -extern(Windows) export BOOL AnimatePalette(HPALETTE, UINT, UINT, PALETTEENTRY *); 2721 -extern(Windows) export BOOL Arc(HDC, int, int, int, int, int, int, int, int); 2722 -extern(Windows) export BOOL BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD); 2723 -extern(Windows) export BOOL CancelDC(HDC); 2724 -extern(Windows) export BOOL Chord(HDC, int, int, int, int, int, int, int, int); 2725 -extern(Windows) export int ChoosePixelFormat(HDC, PIXELFORMATDESCRIPTOR *); 2726 -extern(Windows) export HMETAFILE CloseMetaFile(HDC); 2727 -extern(Windows) export int CombineRgn(HRGN, HRGN, HRGN, int); 2728 -extern(Windows) export HMETAFILE CopyMetaFileA(HMETAFILE, LPCSTR); 2729 -extern(Windows) export HMETAFILE CopyMetaFileW(HMETAFILE, LPCWSTR); 2730 -// #ifdef UNICODE 2731 -alias CopyMetaFileW CopyMetaFile; 2732 -// #else 2733 -// #... 2734 -// #endif // !UNICODE 2735 -extern(Windows) export HBITMAP CreateBitmap(int, int, UINT, UINT, VOID *); 2736 -extern(Windows) export HBITMAP CreateBitmapIndirect(BITMAP *); 2737 -extern(Windows) export HBRUSH CreateBrushIndirect(LOGBRUSH *); 2738 -extern(Windows) export HBITMAP CreateCompatibleBitmap(HDC, int, int); 2739 -extern(Windows) export HBITMAP CreateDiscardableBitmap(HDC, int, int); 2740 -extern(Windows) export HDC CreateCompatibleDC(HDC); 2741 -extern(Windows) export HDC CreateDCA(LPCSTR, LPCSTR, LPCSTR, DEVMODEA *); 2742 -extern(Windows) export HDC CreateDCW(LPCWSTR, LPCWSTR, LPCWSTR, DEVMODEW *); 2743 -// #ifdef UNICODE 2744 -alias CreateDCW CreateDC; 2745 -// #else 2746 -// #... 2747 -// #endif // !UNICODE 2748 -extern(Windows) export HBITMAP CreateDIBitmap(HDC, BITMAPINFOHEADER *, DWORD, VOID *, BITMAPINFO *, UINT); 2749 -extern(Windows) export HBRUSH CreateDIBPatternBrush(HGLOBAL, UINT); 2750 -extern(Windows) export HBRUSH CreateDIBPatternBrushPt(VOID *, UINT); 2751 -extern(Windows) export HRGN CreateEllipticRgn(int, int, int, int); 2752 -extern(Windows) export HRGN CreateEllipticRgnIndirect(RECT *); 2753 -extern(Windows) export HFONT CreateFontIndirectA(LOGFONTA *); 2754 -extern(Windows) export HFONT CreateFontIndirectW(LOGFONTW *); 2755 -// #ifdef UNICODE 2756 -alias CreateFontIndirectW CreateFontIndirect; 2757 -// #else 2758 -// #... 2759 -// #endif // !UNICODE 2760 -extern(Windows) export HFONT CreateFontA(int, int, int, int, int, DWORD, 2761 - DWORD, DWORD, DWORD, DWORD, DWORD, 2762 - DWORD, DWORD, LPCSTR); 2763 -extern(Windows) export HFONT CreateFontW(int, int, int, int, int, DWORD, 2764 - DWORD, DWORD, DWORD, DWORD, DWORD, 2765 - DWORD, DWORD, LPCWSTR); 2766 -// #ifdef UNICODE 2767 -alias CreateFontW CreateFont; 2768 -// #else 2769 -// #... 2770 -// #endif // !UNICODE 2771 - 2772 -extern(Windows) export HBRUSH CreateHatchBrush(int, COLORREF); 2773 -extern(Windows) export HDC CreateICA(LPCSTR, LPCSTR, LPCSTR, DEVMODEA *); 2774 -extern(Windows) export HDC CreateICW(LPCWSTR, LPCWSTR, LPCWSTR, DEVMODEW *); 2775 -// #ifdef UNICODE 2776 -alias CreateICW CreateIC; 2777 -// #else 2778 -// #... 2779 -// #endif // !UNICODE 2780 -extern(Windows) export HDC CreateMetaFileA(LPCSTR); 2781 -extern(Windows) export HDC CreateMetaFileW(LPCWSTR); 2782 -// #ifdef UNICODE 2783 -alias CreateMetaFileW CreateMetaFile; 2784 -// #else 2785 -// #... 2786 -// #endif // !UNICODE 2787 -extern(Windows) export HPALETTE CreatePalette(LOGPALETTE *); 2788 -extern(Windows) export HPEN CreatePen(int, int, COLORREF); 2789 -extern(Windows) export HPEN CreatePenIndirect(LOGPEN *); 2790 -extern(Windows) export HRGN CreatePolyPolygonRgn(POINT *, INT *, int, int); 2791 -extern(Windows) export HBRUSH CreatePatternBrush(HBITMAP); 2792 -extern(Windows) export HRGN CreateRectRgn(int, int, int, int); 2793 -extern(Windows) export HRGN CreateRectRgnIndirect(RECT *); 2794 -extern(Windows) export HRGN CreateRoundRectRgn(int, int, int, int, int, int); 2795 -extern(Windows) export BOOL CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPCSTR); 2796 -extern(Windows) export BOOL CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR); 2797 -// #ifdef UNICODE 2798 -alias CreateScalableFontResourceW CreateScalableFontResource; 2799 -// #else 2800 -// #... 2801 -// #endif // !UNICODE 2802 -extern(Windows) export HBRUSH CreateSolidBrush(COLORREF); 2803 - 2804 -extern(Windows) export BOOL DeleteDC(HDC); 2805 -extern(Windows) export BOOL DeleteMetaFile(HMETAFILE); 2806 -extern(Windows) export BOOL DeleteObject(HGDIOBJ); 2807 -extern(Windows) export int DescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR); 2808 - 2809 -extern(Windows) alias UINT function(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT) LPFNDEVMODE; 2810 - 2811 -extern(Windows) alias DWORD function(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE) LPFNDEVCAPS; 2812 - 2813 -enum : uint { DM_UPDATE = 1 } 2814 -enum : uint { DM_COPY = 2 } 2815 -enum : uint { DM_PROMPT = 4 } 2816 -enum : uint { DM_MODIFY = 8 } 2817 - 2818 -alias DM_MODIFY DM_IN_BUFFER; 2819 -alias DM_PROMPT DM_IN_PROMPT; 2820 -alias DM_COPY DM_OUT_BUFFER; 2821 -alias DM_UPDATE DM_OUT_DEFAULT; 2822 - 2823 -enum : uint { DC_FIELDS = 1 } 2824 -enum : uint { DC_PAPERS = 2 } 2825 -enum : uint { DC_PAPERSIZE = 3 } 2826 -enum : uint { DC_MINEXTENT = 4 } 2827 -enum : uint { DC_MAXEXTENT = 5 } 2828 -enum : uint { DC_BINS = 6 } 2829 -enum : uint { DC_DUPLEX = 7 } 2830 -enum : uint { DC_SIZE = 8 } 2831 -enum : uint { DC_EXTRA = 9 } 2832 -enum : uint { DC_VERSION = 10 } 2833 -enum : uint { DC_DRIVER = 11 } 2834 -enum : uint { DC_BINNAMES = 12 } 2835 -enum : uint { DC_ENUMRESOLUTIONS = 13 } 2836 -enum : uint { DC_FILEDEPENDENCIES = 14 } 2837 -enum : uint { DC_TRUETYPE = 15 } 2838 -enum : uint { DC_PAPERNAMES = 16 } 2839 -enum : uint { DC_ORIENTATION = 17 } 2840 -enum : uint { DC_COPIES = 18 } 2841 -// #if(WINVER >= 0x0400) 2842 -enum : uint { DC_BINADJUST = 19 } 2843 -enum : uint { DC_EMF_COMPLIANT = 20 } 2844 -enum : uint { DC_DATATYPE_PRODUCED = 21 } 2845 -enum : uint { DC_COLLATE = 22 } 2846 -enum : uint { DC_MANUFACTURER = 23 } 2847 -enum : uint { DC_MODEL = 24 } 2848 -// #endif /* WINVER >= 0x0400 */ 2849 - 2850 -// #if(WINVER >= 0x0500) 2851 -enum : uint { DC_PERSONALITY = 25 } 2852 -enum : uint { DC_PRINTRATE = 26 } 2853 -enum : uint { DC_PRINTRATEUNIT = 27 } 2854 -enum : uint { PRINTRATEUNIT_PPM = 1 } 2855 -enum : uint { PRINTRATEUNIT_CPS = 2 } 2856 -enum : uint { PRINTRATEUNIT_LPM = 3 } 2857 -enum : uint { PRINTRATEUNIT_IPM = 4 } 2858 -enum : uint { DC_PRINTERMEM = 28 } 2859 -enum : uint { DC_MEDIAREADY = 29 } 2860 -enum : uint { DC_STAPLE = 30 } 2861 -enum : uint { DC_PRINTRATEPPM = 31 } 2862 -enum : uint { DC_COLORDEVICE = 32 } 2863 -enum : uint { DC_NUP = 33 } 2864 -enum : uint { DC_MEDIATYPENAMES = 34 } 2865 -enum : uint { DC_MEDIATYPES = 35 } 2866 -// #endif /* WINVER >= 0x0500 */ 2867 - 2868 -enum : uint { DCTT_BITMAP = 0x0000001 } 2869 -enum : uint { DCTT_DOWNLOAD = 0x0000002 } 2870 -enum : uint { DCTT_SUBDEV = 0x0000004 } 2871 -// #if(WINVER >= 0x0400) 2872 -enum : uint { DCTT_DOWNLOAD_OUTLINE = 0x0000008 } 2873 - 2874 -enum : uint { DCBA_FACEUPNONE = 0x0000 } 2875 -enum : uint { DCBA_FACEUPCENTER = 0x0001 } 2876 -enum : uint { DCBA_FACEUPLEFT = 0x0002 } 2877 -enum : uint { DCBA_FACEUPRIGHT = 0x0003 } 2878 -enum : uint { DCBA_FACEDOWNNONE = 0x0100 } 2879 -enum : uint { DCBA_FACEDOWNCENTER = 0x0101 } 2880 -enum : uint { DCBA_FACEDOWNLEFT = 0x0102 } 2881 -enum : uint { DCBA_FACEDOWNRIGHT = 0x0103 } 2882 -// #endif /* WINVER >= 0x0400 */ 2883 - 2884 -extern(Windows) export int DeviceCapabilitiesA(LPCSTR, LPCSTR, WORD, 2885 - LPSTR, DEVMODEA *); 2886 -extern(Windows) export int DeviceCapabilitiesW(LPCWSTR, LPCWSTR, WORD, 2887 - LPWSTR, DEVMODEW *); 2888 -// #ifdef UNICODE 2889 -alias DeviceCapabilitiesW DeviceCapabilities; 2890 -// #else 2891 -// #... 2892 -// #endif // !UNICODE 2893 - 2894 -extern(Windows) export int DrawEscape(HDC, int, int, LPCSTR); 2895 -extern(Windows) export BOOL Ellipse(HDC, int, int, int, int); 2896 - 2897 -// #if(WINVER >= 0x0400) 2898 -extern(Windows) export int EnumFontFamiliesExA(HDC, LPLOGFONTA, FONTENUMPROCA, LPARAM, DWORD); 2899 -extern(Windows) export int EnumFontFamiliesExW(HDC, LPLOGFONTW, FONTENUMPROCW, LPARAM, DWORD); 2900 -// #ifdef UNICODE 2901 -alias EnumFontFamiliesExW EnumFontFamiliesEx; 2902 -// #else 2903 -// #... 2904 -// #endif // !UNICODE 2905 -// #endif /* WINVER >= 0x0400 */ 2906 - 2907 -extern(Windows) export int EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROCA, LPARAM); 2908 -extern(Windows) export int EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROCW, LPARAM); 2909 -// #ifdef UNICODE 2910 -alias EnumFontFamiliesW EnumFontFamilies; 2911 -// #else 2912 -// #... 2913 -// #endif // !UNICODE 2914 -extern(Windows) export int EnumFontsA(HDC, LPCSTR, FONTENUMPROCA, LPARAM); 2915 -extern(Windows) export int EnumFontsW(HDC, LPCWSTR, FONTENUMPROCW, LPARAM); 2916 -// #ifdef UNICODE 2917 -alias EnumFontsW EnumFonts; 2918 -// #else 2919 -// #... 2920 -// #endif // !UNICODE 2921 - 2922 -// #ifdef STRICT 2923 -extern(Windows) export int EnumObjects(HDC, int, GOBJENUMPROC, LPARAM); 2924 -// #else 2925 -// ... 2926 -// #endif 2927 - 2928 -extern(Windows) export BOOL EqualRgn(HRGN, HRGN); 2929 -extern(Windows) export int Escape(HDC, int, int, LPCSTR, LPVOID); 2930 -extern(Windows) export int ExtEscape(HDC, int, int, LPCSTR, int, LPSTR); 2931 -extern(Windows) export int ExcludeClipRect(HDC, int, int, int, int); 2932 -extern(Windows) export HRGN ExtCreateRegion(XFORM *, DWORD, RGNDATA *); 2933 -extern(Windows) export BOOL ExtFloodFill(HDC, int, int, COLORREF, UINT); 2934 -extern(Windows) export BOOL FillRgn(HDC, HRGN, HBRUSH); 2935 -extern(Windows) export BOOL FloodFill(HDC, int, int, COLORREF); 2936 -extern(Windows) export BOOL FrameRgn(HDC, HRGN, HBRUSH, int, int); 2937 -extern(Windows) export int GetROP2(HDC); 2938 -extern(Windows) export BOOL GetAspectRatioFilterEx(HDC, LPSIZE); 2939 -extern(Windows) export COLORREF GetBkColor(HDC); 2940 - 2941 -// #if (_WIN32_WINNT >= 0x0500) 2942 -extern(Windows) export COLORREF GetDCBrushColor(HDC); 2943 -extern(Windows) export COLORREF GetDCPenColor(HDC); 2944 -// #endif 2945 - 2946 -extern(Windows) export int GetBkMode(HDC); 2947 -extern(Windows) export LONG GetBitmapBits(HBITMAP, LONG, LPVOID); 2948 -extern(Windows) export BOOL GetBitmapDimensionEx(HBITMAP, LPSIZE); 2949 -extern(Windows) export UINT GetBoundsRect(HDC, LPRECT, UINT); 2950 - 2951 -extern(Windows) export BOOL GetBrushOrgEx(HDC, LPPOINT); 2952 - 2953 -extern(Windows) export BOOL GetCharWidthA(HDC, UINT, UINT, LPINT); 2954 -extern(Windows) export BOOL GetCharWidthW(HDC, UINT, UINT, LPINT); 2955 -// #ifdef UNICODE 2956 -alias GetCharWidthW GetCharWidth; 2957 -// #else 2958 -// #... 2959 -// #endif // !UNICODE 2960 -extern(Windows) export BOOL GetCharWidth32A(HDC, UINT, UINT, LPINT); 2961 -extern(Windows) export BOOL GetCharWidth32W(HDC, UINT, UINT, LPINT); 2962 -// #ifdef UNICODE 2963 -alias GetCharWidth32W GetCharWidth32; 2964 -// #else 2965 -// #... 2966 -// #endif // !UNICODE 2967 -extern(Windows) export BOOL GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT); 2968 -extern(Windows) export BOOL GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT); 2969 -// #ifdef UNICODE 2970 -alias GetCharWidthFloatW GetCharWidthFloat; 2971 -// #else 2972 -// #... 2973 -// #endif // !UNICODE 2974 -extern(Windows) export BOOL GetCharABCWidthsA(HDC, UINT, UINT, LPABC); 2975 -extern(Windows) export BOOL GetCharABCWidthsW(HDC, UINT, UINT, LPABC); 2976 -// #ifdef UNICODE 2977 -alias GetCharABCWidthsW GetCharABCWidths; 2978 -// #else 2979 -// #... 2980 -// #endif // !UNICODE 2981 -extern(Windows) export BOOL GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT); 2982 -extern(Windows) export BOOL GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT); 2983 -// #ifdef UNICODE 2984 -alias GetCharABCWidthsFloatW GetCharABCWidthsFloat; 2985 -// #else 2986 -// #... 2987 -// #endif // !UNICODE 2988 -extern(Windows) export int GetClipBox(HDC, LPRECT); 2989 -extern(Windows) export int GetClipRgn(HDC, HRGN); 2990 -extern(Windows) export int GetMetaRgn(HDC, HRGN); 2991 -extern(Windows) export HGDIOBJ GetCurrentObject(HDC, UINT); 2992 -extern(Windows) export BOOL GetCurrentPositionEx(HDC, LPPOINT); 2993 -extern(Windows) export int GetDeviceCaps(HDC, int); 2994 -extern(Windows) export int GetDIBits(HDC, HBITMAP, UINT, UINT, LPVOID, LPBITMAPINFO, UINT); 2995 -extern(Windows) export DWORD GetFontData(HDC, DWORD, DWORD, LPVOID, DWORD); 2996 -extern(Windows) export DWORD GetGlyphOutlineA(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, MAT2 *); 2997 -extern(Windows) export DWORD GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, MAT2 *); 2998 -// #ifdef UNICODE 2999 -alias GetGlyphOutlineW GetGlyphOutline; 3000 -// #else 3001 -// #... 3002 -// #endif // !UNICODE 3003 -extern(Windows) export int GetGraphicsMode(HDC); 3004 -extern(Windows) export int GetMapMode(HDC); 3005 -extern(Windows) export UINT GetMetaFileBitsEx(HMETAFILE, UINT, LPVOID); 3006 -extern(Windows) export HMETAFILE GetMetaFileA(LPCSTR); 3007 -extern(Windows) export HMETAFILE GetMetaFileW(LPCWSTR); 3008 -// #ifdef UNICODE 3009 -alias GetMetaFileW GetMetaFile; 3010 -// #else 3011 -// #... 3012 -// #endif // !UNICODE 3013 -extern(Windows) export COLORREF GetNearestColor(HDC, COLORREF); 3014 -extern(Windows) export UINT GetNearestPaletteIndex(HPALETTE, COLORREF); 3015 -extern(Windows) export DWORD GetObjectType(HGDIOBJ h); 3016 - 3017 -// #ifndef NOTEXTMETRIC 3018 - 3019 -extern(Windows) export UINT GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRICA); 3020 -extern(Windows) export UINT GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRICW); 3021 -// #ifdef UNICODE 3022 -alias GetOutlineTextMetricsW GetOutlineTextMetrics; 3023 -// #else 3024 -// #... 3025 -// #endif // !UNICODE 3026 - 3027 -// #endif /* NOTEXTMETRIC */ 3028 - 3029 -extern(Windows) export UINT GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY); 3030 -extern(Windows) export COLORREF GetPixel(HDC, int, int); 3031 -extern(Windows) export int GetPixelFormat(HDC); 3032 -extern(Windows) export int GetPolyFillMode(HDC); 3033 -extern(Windows) export BOOL GetRasterizerCaps(LPRASTERIZER_STATUS, UINT); 3034 -extern(Windows) export int GetRandomRgn(HDC, HRGN, INT); 3035 -extern(Windows) export DWORD GetRegionData(HRGN, DWORD, LPRGNDATA); 3036 -extern(Windows) export int GetRgnBox(HRGN, LPRECT); 3037 -extern(Windows) export HGDIOBJ GetStockObject(int); 3038 -extern(Windows) export int GetStretchBltMode(HDC); 3039 -extern(Windows) export UINT GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY); 3040 -extern(Windows) export UINT GetSystemPaletteUse(HDC); 3041 -extern(Windows) export int GetTextCharacterExtra(HDC); 3042 -extern(Windows) export UINT GetTextAlign(HDC); 3043 -extern(Windows) export COLORREF GetTextColor(HDC); 3044 - 3045 -extern(Windows) export BOOL GetTextExtentPointA( 3046 - HDC, 3047 - LPCSTR, 3048 - int, 3049 - LPSIZE); 3050 -extern(Windows) export BOOL GetTextExtentPointW( 3051 - HDC, 3052 - LPCWSTR, 3053 - int, 3054 - LPSIZE); 3055 -// #ifdef UNICODE 3056 -alias GetTextExtentPointW GetTextExtentPoint; 3057 -// #else 3058 -// #... 3059 -// #endif // !UNICODE 3060 - 3061 -extern(Windows) export BOOL GetTextExtentPoint32A( 3062 - HDC, 3063 - LPCSTR, 3064 - int, 3065 - LPSIZE); 3066 -extern(Windows) export BOOL GetTextExtentPoint32W( 3067 - HDC, 3068 - LPCWSTR, 3069 - int, 3070 - LPSIZE); 3071 -// #ifdef UNICODE 3072 -alias GetTextExtentPoint32W GetTextExtentPoint32; 3073 -// #else 3074 -// #... 3075 -// #endif // !UNICODE 3076 - 3077 -extern(Windows) export BOOL GetTextExtentExPointA( 3078 - HDC, 3079 - LPCSTR, 3080 - int, 3081 - int, 3082 - LPINT, 3083 - LPINT, 3084 - LPSIZE); 3085 -extern(Windows) export BOOL GetTextExtentExPointW( 3086 - HDC, 3087 - LPCWSTR, 3088 - int, 3089 - int, 3090 - LPINT, 3091 - LPINT, 3092 - LPSIZE); 3093 -// #ifdef UNICODE 3094 -alias GetTextExtentExPointW GetTextExtentExPoint; 3095 -// #else 3096 -// #... 3097 -// #endif // !UNICODE 3098 -// #if(WINVER >= 0x0400) 3099 -extern(Windows) export int GetTextCharset(HDC hdc); 3100 -extern(Windows) export int GetTextCharsetInfo(HDC hdc, LPFONTSIGNATURE lpSig, DWORD dwFlags); 3101 -extern(Windows) export BOOL TranslateCharsetInfo(DWORD *lpSrc, LPCHARSETINFO lpCs, DWORD dwFlags); 3102 -extern(Windows) export DWORD GetFontLanguageInfo(HDC ); 3103 -extern(Windows) export DWORD GetCharacterPlacementA(HDC, LPCSTR, int, int, LPGCP_RESULTSA, DWORD); 3104 -extern(Windows) export DWORD GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTSW, DWORD); 3105 -// #ifdef UNICODE 3106 -alias GetCharacterPlacementW GetCharacterPlacement; 3107 -// #else 3108 -// #... 3109 -// #endif // !UNICODE 3110 -// #endif /* WINVER >= 0x0400 */ 3111 - 3112 -// #if (_WIN32_WINNT >= 0x0500) 3113 - 3114 -struct tagWCRANGE { 3115 - WCHAR wcLow; 3116 - USHORT cGlyphs; 3117 -} 3118 -alias tagWCRANGE WCRANGE; 3119 -alias tagWCRANGE* PWCRANGE; 3120 -alias tagWCRANGE* LPWCRANGE; 3121 - 3122 -struct tagGLYPHSET { 3123 - DWORD cbThis; 3124 - DWORD flAccel; 3125 - DWORD cGlyphsSupported; 3126 - DWORD cRanges; 3127 - WCRANGE ranges[1]; 3128 -} 3129 -alias tagGLYPHSET GLYPHSET; 3130 -alias tagGLYPHSET* PGLYPHSET; 3131 -alias tagGLYPHSET* LPGLYPHSET; 3132 - 3133 -enum : uint { GS_8BIT_INDICES = 0x00000001 } 3134 - 3135 -enum : uint { GGI_MARK_NONEXISTING_GLYPHS = 0X0001 } 3136 - 3137 -extern(Windows) export DWORD GetFontUnicodeRanges(HDC, LPGLYPHSET); 3138 -extern(Windows) export DWORD GetGlyphIndicesA(HDC, LPCSTR, int, LPWORD, DWORD); 3139 -extern(Windows) export DWORD GetGlyphIndicesW(HDC, LPCWSTR, int, LPWORD, DWORD); 3140 -// #ifdef UNICODE 3141 -alias GetGlyphIndicesW GetGlyphIndices; 3142 -// #else 3143 -// #... 3144 -// #endif // !UNICODE 3145 -extern(Windows) export BOOL GetTextExtentPointI(HDC, LPWORD, int, LPSIZE); 3146 -extern(Windows) export BOOL GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE); 3147 -extern(Windows) export BOOL GetCharWidthI(HDC, UINT, UINT, LPWORD, LPINT); 3148 -extern(Windows) export BOOL GetCharABCWidthsI(HDC, UINT, UINT, LPWORD, LPABC); 3149 - 3150 -enum : uint { STAMP_DESIGNVECTOR = 0x8000000 + 'd' + ('v' << 8) } 3151 -enum : uint { STAMP_AXESLIST = 0x8000000 + 'a' + ('l' << 8) } 3152 -enum : uint { MM_MAX_NUMAXES = 16 } 3153 - 3154 -struct tagDESIGNVECTOR { 3155 - DWORD dvReserved; 3156 - DWORD dvNumAxes; 3157 - LONG dvValues[MM_MAX_NUMAXES]; 3158 -} 3159 -alias tagDESIGNVECTOR DESIGNVECTOR; 3160 -alias tagDESIGNVECTOR* PDESIGNVECTOR; 3161 -alias tagDESIGNVECTOR* LPDESIGNVECTOR; 3162 - 3163 -extern(Windows) export int AddFontResourceExA(LPCSTR, DWORD, PVOID); 3164 -extern(Windows) export int AddFontResourceExW(LPCWSTR, DWORD, PVOID); 3165 -// #ifdef UNICODE 3166 -alias AddFontResourceExW AddFontResourceEx; 3167 -// #else 3168 -// #... 3169 -// #endif // !UNICODE 3170 -extern(Windows) export BOOL RemoveFontResourceExA(LPCSTR, DWORD, PVOID); 3171 -extern(Windows) export BOOL RemoveFontResourceExW(LPCWSTR, DWORD, PVOID); 3172 -// #ifdef UNICODE 3173 -alias RemoveFontResourceExW RemoveFontResourceEx; 3174 -// #else 3175 -// #... 3176 -// #endif // !UNICODE 3177 -extern(Windows) export HANDLE AddFontMemResourceEx(PVOID, DWORD, PVOID , DWORD*); 3178 -extern(Windows) export BOOL RemoveFontMemResourceEx(HANDLE); 3179 -enum : uint { FR_PRIVATE = 0x10 } 3180 -enum : uint { FR_NOT_ENUM = 0x20 } 3181 - 3182 -enum : uint { MM_MAX_AXES_NAMELEN = 16 } 3183 - 3184 -struct tagAXISINFOA { 3185 - LONG axMinValue; 3186 - LONG axMaxValue; 3187 - BYTE axAxisName[MM_MAX_AXES_NAMELEN]; 3188 -} 3189 -alias tagAXISINFOA AXISINFOA; 3190 -alias tagAXISINFOA* PAXISINFOA; 3191 -alias tagAXISINFOA* LPAXISINFOA; 3192 - 3193 -struct tagAXISINFOW { 3194 - LONG axMinValue; 3195 - LONG axMaxValue; 3196 - WCHAR axAxisName[MM_MAX_AXES_NAMELEN]; 3197 -} 3198 -alias tagAXISINFOW AXISINFOW; 3199 -alias tagAXISINFOW* PAXISINFOW; 3200 -alias tagAXISINFOW* LPAXISINFOW; 3201 - 3202 -// #ifdef UNICODE 3203 -alias AXISINFOW AXISINFO; 3204 -alias PAXISINFOW PAXISINFO; 3205 -alias LPAXISINFOW LPAXISINFO; 3206 -// #else 3207 -// ... 3208 -// #endif // UNICODE 3209 - 3210 -struct tagAXESLISTA { 3211 - DWORD axlReserved; 3212 - DWORD axlNumAxes; 3213 - AXISINFOA axlAxisInfo[MM_MAX_NUMAXES]; 3214 -} 3215 -alias tagAXESLISTA AXESLISTA; 3216 -alias tagAXESLISTA* PAXESLISTA; 3217 -alias tagAXESLISTA* LPAXESLISTA; 3218 - 3219 -struct tagAXESLISTW { 3220 - DWORD axlReserved; 3221 - DWORD axlNumAxes; 3222 - AXISINFOW axlAxisInfo[MM_MAX_NUMAXES]; 3223 -} 3224 -alias tagAXESLISTW AXESLISTW; 3225 -alias tagAXESLISTW* PAXESLISTW; 3226 -alias tagAXESLISTW* LPAXESLISTW; 3227 - 3228 -// #ifdef UNICODE 3229 -alias AXESLISTW AXESLIST; 3230 -alias PAXESLISTW PAXESLIST; 3231 -alias LPAXESLISTW LPAXESLIST; 3232 -// #else 3233 -// ... 3234 -// #endif // UNICODE 3235 - 3236 -struct tagENUMLOGFONTEXDVA { 3237 - ENUMLOGFONTEXA elfEnumLogfontEx; 3238 - DESIGNVECTOR elfDesignVector; 3239 -} 3240 -alias tagENUMLOGFONTEXDVA ENUMLOGFONTEXDVA; 3241 -alias tagENUMLOGFONTEXDVA* PENUMLOGFONTEXDVA; 3242 -alias tagENUMLOGFONTEXDVA* LPENUMLOGFONTEXDVA; 3243 - 3244 -struct tagENUMLOGFONTEXDVW { 3245 - ENUMLOGFONTEXW elfEnumLogfontEx; 3246 - DESIGNVECTOR elfDesignVector; 3247 -} 3248 -alias tagENUMLOGFONTEXDVW ENUMLOGFONTEXDVW; 3249 -alias tagENUMLOGFONTEXDVW* PENUMLOGFONTEXDVW; 3250 -alias tagENUMLOGFONTEXDVW* LPENUMLOGFONTEXDVW; 3251 - 3252 -// #ifdef UNICODE 3253 -alias ENUMLOGFONTEXDVW ENUMLOGFONTEXDV; 3254 -alias PENUMLOGFONTEXDVW PENUMLOGFONTEXDV; 3255 -alias LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV; 3256 -// #else 3257 -// ... 3258 -// #endif // UNICODE 3259 - 3260 -extern(Windows) export HFONT CreateFontIndirectExA(ENUMLOGFONTEXDVA *); 3261 -extern(Windows) export HFONT CreateFontIndirectExW(ENUMLOGFONTEXDVW *); 3262 -// #ifdef UNICODE 3263 -alias CreateFontIndirectExW CreateFontIndirectEx; 3264 -// #else 3265 -// #... 3266 -// #endif // !UNICODE 3267 - 3268 -// #ifndef NOTEXTMETRIC 3269 -struct tagENUMTEXTMETRICA { 3270 - NEWTEXTMETRICEXA etmNewTextMetricEx; 3271 - AXESLISTA etmAxesList; 3272 -} 3273 -alias tagENUMTEXTMETRICA ENUMTEXTMETRICA; 3274 -alias tagENUMTEXTMETRICA* PENUMTEXTMETRICA; 3275 -alias tagENUMTEXTMETRICA* LPENUMTEXTMETRICA; 3276 - 3277 -struct tagENUMTEXTMETRICW { 3278 - NEWTEXTMETRICEXW etmNewTextMetricEx; 3279 - AXESLISTW etmAxesList; 3280 -} 3281 -alias tagENUMTEXTMETRICW ENUMTEXTMETRICW; 3282 -alias tagENUMTEXTMETRICW* PENUMTEXTMETRICW; 3283 -alias tagENUMTEXTMETRICW* LPENUMTEXTMETRICW; 3284 - 3285 -// #ifdef UNICODE 3286 -alias ENUMTEXTMETRICW ENUMTEXTMETRIC; 3287 -alias PENUMTEXTMETRICW PENUMTEXTMETRIC; 3288 -alias LPENUMTEXTMETRICW LPENUMTEXTMETRIC; 3289 -// #else 3290 -// ... 3291 -// #endif // UNICODE 3292 -// #endif /* NOTEXTMETRIC */ 3293 - 3294 -// #endif // (_WIN32_WINNT >= 0x0500) 3295 - 3296 -extern(Windows) export BOOL GetViewportExtEx(HDC, LPSIZE); 3297 -extern(Windows) export BOOL GetViewportOrgEx(HDC, LPPOINT); 3298 -extern(Windows) export BOOL GetWindowExtEx(HDC, LPSIZE); 3299 -extern(Windows) export BOOL GetWindowOrgEx(HDC, LPPOINT); 3300 - 3301 -extern(Windows) export int IntersectClipRect(HDC, int, int, int, int); 3302 -extern(Windows) export BOOL InvertRgn(HDC, HRGN); 3303 -extern(Windows) export BOOL LineDDA(int, int, int, int, LINEDDAPROC, LPARAM); 3304 -extern(Windows) export BOOL LineTo(HDC, int, int); 3305 -extern(Windows) export BOOL MaskBlt(HDC, int, int, int, int, 3306 - HDC, int, int, HBITMAP, int, int, DWORD); 3307 -extern(Windows) export BOOL PlgBlt(HDC, POINT *, HDC, int, int, int, 3308 - int, HBITMAP, int, int); 3309 - 3310 -extern(Windows) export int OffsetClipRgn(HDC, int, int); 3311 -extern(Windows) export int OffsetRgn(HRGN, int, int); 3312 -extern(Windows) export BOOL PatBlt(HDC, int, int, int, int, DWORD); 3313 -extern(Windows) export BOOL Pie(HDC, int, int, int, int, int, int, int, int); 3314 -extern(Windows) export BOOL PlayMetaFile(HDC, HMETAFILE); 3315 -extern(Windows) export BOOL PaintRgn(HDC, HRGN); 3316 -extern(Windows) export BOOL PolyPolygon(HDC, POINT *, INT *, int); 3317 -extern(Windows) export BOOL PtInRegion(HRGN, int, int); 3318 -extern(Windows) export BOOL PtVisible(HDC, int, int); 3319 -extern(Windows) export BOOL RectInRegion(HRGN, RECT *); 3320 -extern(Windows) export BOOL RectVisible(HDC, RECT *); 3321 -extern(Windows) export BOOL Rectangle(HDC, int, int, int, int); 3322 -extern(Windows) export BOOL RestoreDC(HDC, int); 3323 -extern(Windows) export HDC ResetDCA(HDC, DEVMODEA *); 3324 -extern(Windows) export HDC ResetDCW(HDC, DEVMODEW *); 3325 -// #ifdef UNICODE 3326 -alias ResetDCW ResetDC; 3327 -// #else 3328 -// #... 3329 -// #endif // !UNICODE 3330 -extern(Windows) export UINT RealizePalette(HDC); 3331 -extern(Windows) export BOOL RemoveFontResourceA(LPCSTR); 3332 -extern(Windows) export BOOL RemoveFontResourceW(LPCWSTR); 3333 -// #ifdef UNICODE 3334 -alias RemoveFontResourceW RemoveFontResource; 3335 -// #else 3336 -// #... 3337 -// #endif // !UNICODE 3338 -extern(Windows) export BOOL RoundRect(HDC, int, int, int, int, int, int); 3339 -extern(Windows) export BOOL ResizePalette(HPALETTE, UINT); 3340 - 3341 -extern(Windows) export int SaveDC(HDC); 3342 -extern(Windows) export int SelectClipRgn(HDC, HRGN); 3343 -extern(Windows) export int ExtSelectClipRgn(HDC, HRGN, int); 3344 -extern(Windows) export int SetMetaRgn(HDC); 3345 -extern(Windows) export HGDIOBJ SelectObject(HDC, HGDIOBJ); 3346 -extern(Windows) export HPALETTE SelectPalette(HDC, HPALETTE, BOOL); 3347 -extern(Windows) export COLORREF SetBkColor(HDC, COLORREF); 3348 - 3349 -// #if (_WIN32_WINNT >= 0x0500) 3350 -extern(Windows) export COLORREF SetDCBrushColor(HDC, COLORREF); 3351 -extern(Windows) export COLORREF SetDCPenColor(HDC, COLORREF); 3352 -// #endif 3353 - 3354 -extern(Windows) export int SetBkMode(HDC, int); 3355 -extern(Windows) export LONG SetBitmapBits(HBITMAP, DWORD, VOID *); 3356 - 3357 -extern(Windows) export UINT SetBoundsRect(HDC, RECT *, UINT); 3358 -extern(Windows) export int SetDIBits(HDC, HBITMAP, UINT, UINT, VOID *, BITMAPINFO *, UINT); 3359 -extern(Windows) export int SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int, 3360 - int, UINT, UINT, VOID *, BITMAPINFO *, UINT); 3361 -extern(Windows) export DWORD SetMapperFlags(HDC, DWORD); 3362 -extern(Windows) export int SetGraphicsMode(HDC hdc, int iMode); 3363 -extern(Windows) export int SetMapMode(HDC, int); 3364 - 3365 -// #if(WINVER >= 0x0500) 3366 -extern(Windows) export DWORD SetLayout(HDC, DWORD); 3367 -extern(Windows) export DWORD GetLayout(HDC); 3368 -// #endif /* WINVER >= 0x0500 */ 3369 - 3370 -extern(Windows) export HMETAFILE SetMetaFileBitsEx(UINT, BYTE *); 3371 -extern(Windows) export UINT SetPaletteEntries(HPALETTE, UINT, UINT, PALETTEENTRY *); 3372 -extern(Windows) export COLORREF SetPixel(HDC, int, int, COLORREF); 3373 -extern(Windows) export BOOL SetPixelV(HDC, int, int, COLORREF); 3374 -extern(Windows) export BOOL SetPixelFormat(HDC, int, PIXELFORMATDESCRIPTOR *); 3375 -extern(Windows) export int SetPolyFillMode(HDC, int); 3376 -extern(Windows) export BOOL StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD); 3377 -extern(Windows) export BOOL SetRectRgn(HRGN, int, int, int, int); 3378 -extern(Windows) export int StretchDIBits(HDC, int, int, int, int, int, int, int, int, 3379 - VOID *, BITMAPINFO *, UINT, DWORD); 3380 -extern(Windows) export int SetROP2(HDC, int); 3381 -extern(Windows) export int SetStretchBltMode(HDC, int); 3382 -extern(Windows) export UINT SetSystemPaletteUse(HDC, UINT); 3383 -extern(Windows) export int SetTextCharacterExtra(HDC, int); 3384 -extern(Windows) export COLORREF SetTextColor(HDC, COLORREF); 3385 -extern(Windows) export UINT SetTextAlign(HDC, UINT); 3386 -extern(Windows) export BOOL SetTextJustification(HDC, int, int); 3387 -extern(Windows) export BOOL UpdateColors(HDC); 3388 - 3389 -// #if (WINVER >= 0x0400) 2630 +alias LOGBRUSH*PLOGBRUSH, NPLOGBRUSH, LPLOGBRUSH; 2631 +alias PATTERN *PPATTERN, NPPATTERN, LPPATTERN; 2632 + 2633 +struct LOGBRUSH32 2634 +{ 2635 + UINT lbStyle; 2636 + COLORREF lbColor; 2637 + ULONG lbHatch; 2638 +} 2639 +alias LOGBRUSH32*PLOGBRUSH32, NPLOGBRUSH32, LPLOGBRUSH32; 2640 + 2641 +struct EMRCREATEBRUSHINDIRECT 2642 +{ 2643 + EMR emr; 2644 + DWORD ihBrush; 2645 + LOGBRUSH32 lb; 2646 +} 2647 +alias EMRCREATEBRUSHINDIRECT*PEMRCREATEBRUSHINDIRECT; 2648 + 2649 +alias LONG LCSCSTYPE, LCSGAMUTMATCH; 2650 + 2651 +struct LOGCOLORSPACEA 2652 +{ 2653 + DWORD lcsSignature; 2654 + DWORD lcsVersion; 2655 + DWORD lcsSize; 2656 + LCSCSTYPE lcsCSType; 2657 + LCSGAMUTMATCH lcsIntent; 2658 + CIEXYZTRIPLE lcsEndpoints; 2659 + DWORD lcsGammaRed; 2660 + DWORD lcsGammaGreen; 2661 + DWORD lcsGammaBlue; 2662 + CHAR[MAX_PATH] lcsFilename; 2663 +} 2664 +alias LOGCOLORSPACEA*LPLOGCOLORSPACEA; 2665 + 2666 +struct LOGCOLORSPACEW 2667 +{ 2668 + DWORD lcsSignature; 2669 + DWORD lcsVersion; 2670 + DWORD lcsSize; 2671 + LCSCSTYPE lcsCSType; 2672 + LCSGAMUTMATCH lcsIntent; 2673 + CIEXYZTRIPLE lcsEndpoints; 2674 + DWORD lcsGammaRed; 2675 + DWORD lcsGammaGreen; 2676 + DWORD lcsGammaBlue; 2677 + WCHAR[MAX_PATH] lcsFilename; 2678 +} 2679 +alias LOGCOLORSPACEW*LPLOGCOLORSPACEW; 3390 2680 3391 2681 alias USHORT COLOR16; 3392 - 3393 -struct _TRIVERTEX { 3394 - LONG x; 3395 - LONG y; 3396 - COLOR16 Red; 3397 - COLOR16 Green; 3398 - COLOR16 Blue; 3399 - COLOR16 Alpha; 2682 +struct TRIVERTEX 2683 +{ 2684 + LONG x; 2685 + LONG y; 2686 + COLOR16 Red; 2687 + COLOR16 Green; 2688 + COLOR16 Blue; 2689 + COLOR16 Alpha; 2690 +} 2691 +alias TRIVERTEX*PTRIVERTEX, LPTRIVERTEX; 2692 + 2693 +static 2694 + 2695 +if (WINVER >= 0x0400) 2696 +{ 2697 + struct EMRGLSRECORD 2698 + { 2699 + EMR emr; 2700 + DWORD cbData; 2701 + BYTE[1] Data; 2702 + } 2703 + alias EMRGLSRECORD*PEMRGLSRECORD; 2704 + 2705 + struct EMRGLSBOUNDEDRECORD 2706 + { 2707 + EMR emr; 2708 + RECTL rclBounds; 2709 + DWORD cbData; 2710 + BYTE[1] Data; 2711 + } 2712 + alias EMRGLSBOUNDEDRECORD*PEMRGLSBOUNDEDRECORD; 2713 + 2714 + struct EMRPIXELFORMAT 2715 + { 2716 + EMR emr; 2717 + PIXELFORMATDESCRIPTOR pfd; 2718 + } 2719 + alias EMRPIXELFORMAT*PEMRPIXELFORMAT; 2720 + 2721 + struct EMRCREATECOLORSPACE 2722 + { 2723 + EMR emr; 2724 + DWORD ihCS; 2725 + LOGCOLORSPACE lcs; 2726 + } 2727 + alias EMRCREATECOLORSPACE*PEMRCREATECOLORSPACE; 2728 + 2729 + struct EMRSETCOLORSPACE 2730 + { 2731 + EMR emr; 2732 + DWORD ihCS; 2733 + } 2734 + alias EMRSETCOLORSPACE*PEMRSETCOLORSPACE; 2735 + alias EMRSETCOLORSPACE EMRSELECTCOLORSPACE; 2736 + alias EMRSELECTCOLORSPACE*PEMRSELECTCOLORSPACE; 2737 + alias EMRSETCOLORSPACE EMRDELETECOLORSPACE; 2738 + alias EMRDELETECOLORSPACE*PEMRDELETECOLORSPACE; 2739 +} 2740 + 2741 +static 2742 + 2743 +if (WINVER >= 0x0500) 2744 +{ 2745 + struct EMREXTESCAPE 2746 + { 2747 + EMR emr; 2748 + INT iEscape; 2749 + INT cbEscData; 2750 + BYTE[1] EscData; 2751 + } 2752 + alias EMREXTESCAPE*PEMREXTESCAPE; 2753 + alias EMREXTESCAPE EMRDRAWESCAPE; 2754 + alias EMRDRAWESCAPE*PEMRDRAWESCAPE; 2755 + 2756 + struct EMRNAMEDESCAPE 2757 + { 2758 + EMR emr; 2759 + INT iEscape; 2760 + INT cbDriver; 2761 + INT cbEscData; 2762 + BYTE[1] EscData; 2763 + } 2764 + alias EMRNAMEDESCAPE*PEMRNAMEDESCAPE; 2765 + 2766 + struct EMRSETICMPROFILE 2767 + { 2768 + EMR emr; 2769 + DWORD dwFlags; 2770 + DWORD cbName; 2771 + DWORD cbData; 2772 + BYTE[1] Data; 2773 + } 2774 + alias EMRSETICMPROFILE*PEMRSETICMPROFILE; 2775 + alias EMRSETICMPROFILE EMRSETICMPROFILEA; 2776 + alias EMRSETICMPROFILEA*PEMRSETICMPROFILEA; 2777 + alias EMRSETICMPROFILE EMRSETICMPROFILEW; 2778 + alias EMRSETICMPROFILEW*PEMRSETICMPROFILEW; 2779 + 2780 + struct EMRCREATECOLORSPACEW 2781 + { 2782 + EMR emr; 2783 + DWORD ihCS; 2784 + LOGCOLORSPACEW lcs; 2785 + DWORD dwFlags; 2786 + DWORD cbData; 2787 + BYTE[1] Data; 2788 + } 2789 + alias EMRCREATECOLORSPACEW*PEMRCREATECOLORSPACEW; 2790 + 2791 + struct EMRCOLORMATCHTOTARGET 2792 + { 2793 + EMR emr; 2794 + DWORD dwAction; 2795 + DWORD dwFlags; 2796 + DWORD cbName; 2797 + DWORD cbData; 2798 + BYTE[1] Data; 2799 + } 2800 + alias EMRCOLORMATCHTOTARGET*PEMRCOLORMATCHTOTARGET; 2801 + 2802 + struct EMRCOLORCORRECTPALETTE 2803 + { 2804 + EMR emr; 2805 + DWORD ihPalette; 2806 + DWORD nFirstEntry; 2807 + DWORD nPalEntries; 2808 + DWORD nReserved; 2809 + } 2810 + alias EMRCOLORCORRECTPALETTE*PEMRCOLORCORRECTPALETTE; 2811 + 2812 + struct EMRALPHABLEND 2813 + { 2814 + EMR emr; 2815 + RECTL rclBounds; 2816 + LONG xDest; 2817 + LONG yDest; 2818 + LONG cxDest; 2819 + LONG cyDest; 2820 + DWORD dwRop; 2821 + LONG xSrc; 2822 + LONG ySrc; 2823 + XFORM xformSrc; 2824 + COLORREF crBkColorSrc; 2825 + DWORD iUsageSrc; 2826 + DWORD offBmiSrc; 2827 + DWORD cbBmiSrc; 2828 + DWORD offBitsSrc; 2829 + DWORD cbBitsSrc; 2830 + LONG cxSrc; 2831 + LONG cySrc; 2832 + } 2833 + alias EMRALPHABLEND*PEMRALPHABLEND; 2834 + 2835 + struct EMRGRADIENTFILL 2836 + { 2837 + EMR emr; 2838 + RECTL rclBounds; 2839 + DWORD nVer; 2840 + DWORD nTri; 2841 + ULONG ulMode; 2842 + TRIVERTEX[1] Ver; 2843 + } 2844 + alias EMRGRADIENTFILL*PEMRGRADIENTFILL; 2845 + 2846 + struct EMRTRANSPARENTBLT 2847 + { 2848 + EMR emr; 2849 + RECTL rclBounds; 2850 + LONG xDest; 2851 + LONG yDest; 2852 + LONG cxDest; 2853 + LONG cyDest; 2854 + DWORD dwRop; 2855 + LONG xSrc; 2856 + LONG ySrc; 2857 + XFORM xformSrc; 2858 + COLORREF crBkColorSrc; 2859 + DWORD iUsageSrc; 2860 + DWORD offBmiSrc; 2861 + DWORD cbBmiSrc; 2862 + DWORD offBitsSrc; 2863 + DWORD cbBitsSrc; 2864 + LONG cxSrc; 2865 + LONG cySrc; 2866 + } 2867 + alias EMRTRANSPARENTBLT*PEMRTRANSPARENTBLT; 2868 +} 2869 + 2870 +struct EMRCREATEDIBPATTERNBRUSHPT 2871 +{ 2872 + EMR emr; 2873 + DWORD ihBrush; 2874 + DWORD iUsage; 2875 + DWORD offBmi; 2876 + DWORD cbBmi; 2877 + DWORD offBits; 2878 + DWORD cbBits; 2879 +} 2880 +alias EMRCREATEDIBPATTERNBRUSHPT*PEMRCREATEDIBPATTERNBRUSHPT; 2881 + 2882 +struct EMRCREATEMONOBRUSH 2883 +{ 2884 + EMR emr; 2885 + DWORD ihBrush; 2886 + DWORD iUsage; 2887 + DWORD offBmi; 2888 + DWORD cbBmi; 2889 + DWORD offBits; 2890 + DWORD cbBits; 2891 +} 2892 +alias EMRCREATEMONOBRUSH*PEMRCREATEMONOBRUSH; 2893 + 2894 +struct PALETTEENTRY 2895 +{ 2896 + BYTE peRed; 2897 + BYTE peGreen; 2898 + BYTE peBlue; 2899 + BYTE peFlags; 2900 +} 2901 +alias PALETTEENTRY*PPALETTEENTRY, LPPALETTEENTRY; 2902 + 2903 +struct LOGPALETTE 2904 +{ 2905 + WORD palVersion; 2906 + WORD palNumEntries; 2907 + PALETTEENTRY[1] palPalEntry; 2908 +} 2909 +alias LOGPALETTE*PLOGPALETTE, NPLOGPALETTE, LPLOGPALETTE; 2910 + 2911 +struct EMRCREATEPALETTE 2912 +{ 2913 + EMR emr; 2914 + DWORD ihPal; 2915 + LOGPALETTE lgpl; 2916 +} 2917 +alias EMRCREATEPALETTE*PEMRCREATEPALETTE; 2918 + 2919 +struct EMRCREATEPEN 2920 +{ 2921 + EMR emr; 2922 + DWORD ihPen; 2923 + LOGPEN lopn; 2924 +} 2925 +alias EMRCREATEPEN*PEMRCREATEPEN; 2926 + 2927 +struct EMRELLIPSE 2928 +{ 2929 + EMR emr; 2930 + RECTL rclBox; 2931 +} 2932 +alias EMRELLIPSE*PEMRELLIPSE; 2933 + 2934 +alias EMRELLIPSE EMRRECTANGLE; 2935 +alias EMRRECTANGLE*PEMRRECTANGLE; 2936 + 2937 +struct EMREOF 2938 +{ 2939 + EMR emr; 2940 + DWORD nPalEntries; 2941 + DWORD offPalEntries; 2942 + DWORD nSizeLast; 2943 +} 2944 +alias EMREOF*PEMREOF; 2945 + 2946 +struct EMREXCLUDECLIPRECT 2947 +{ 2948 + EMR emr; 2949 + RECTL rclClip; 2950 +} 2951 +alias EMREXCLUDECLIPRECT*PEMREXCLUDECLIPRECT; 2952 +alias EMREXCLUDECLIPRECT EMRINTERSECTCLIPRECT; 2953 +alias EMRINTERSECTCLIPRECT*PEMRINTERSECTCLIPRECT; 2954 + 2955 +struct EMREXTCREATEFONTINDIRECTW 2956 +{ 2957 + EMR emr; 2958 + DWORD ihFont; 2959 + EXTLOGFONTW elfw; 2960 +} 2961 +alias EMREXTCREATEFONTINDIRECTW*PEMREXTCREATEFONTINDIRECTW; 2962 + 2963 +struct EXTLOGPEN 2964 +{ 2965 + UINT elpPenStyle; 2966 + UINT elpWidth; 2967 + UINT elpBrushStyle; 2968 + COLORREF elpColor; 2969 + LONG elpHatch; 2970 + DWORD elpNumEntries; 2971 + DWORD[1] elpStyleEntry; 2972 +} 2973 +alias EXTLOGPEN*PEXTLOGPEN, NPEXTLOGPEN, LPEXTLOGPEN; 2974 + 2975 +struct EMREXTCREATEPEN 2976 +{ 2977 + EMR emr; 2978 + DWORD ihPen; 2979 + DWORD offBmi; 2980 + DWORD cbBmi; 2981 + DWORD offBits; 2982 + DWORD cbBits; 2983 + EXTLOGPEN elp; 2984 +} 2985 +alias EMREXTCREATEPEN*PEMREXTCREATEPEN; 2986 + 2987 +struct EMREXTFLOODFILL 2988 +{ 2989 + EMR emr; 2990 + POINTL ptlStart; 2991 + COLORREF crColor; 2992 + DWORD iMode; 2993 +} 2994 +alias EMREXTFLOODFILL*PEMREXTFLOODFILL; 2995 + 2996 +struct EMREXTSELECTCLIPRGN 2997 +{ 2998 + EMR emr; 2999 + DWORD cbRgnData; 3000 + DWORD iMode; 3001 + BYTE [1] RgnData; 3002 +} 3003 +alias EMREXTSELECTCLIPRGN*PEMREXTSELECTCLIPRGN; 3004 + 3005 +struct EMRTEXT 3006 +{ 3007 + POINTL ptlReference; 3008 + DWORD nChars; 3009 + DWORD offString; 3010 + DWORD fOptions; 3011 + RECTL rcl; 3012 + DWORD offDx; 3013 +} 3014 +alias EMRTEXT*PEMRTEXT; 3015 + 3016 +struct EMREXTTEXTOUTA 3017 +{ 3018 + EMR emr; 3019 + RECTL rclBounds; 3020 + DWORD iGraphicsMode; 3021 + FLOAT exScale; 3022 + FLOAT eyScale; 3023 + EMRTEXT emrtext; 3024 +} 3025 +alias EMREXTTEXTOUTA*PEMREXTTEXTOUTA; 3026 +alias EMREXTTEXTOUTA EMREXTTEXTOUTW; 3027 +alias EMREXTTEXTOUTW*PEMREXTTEXTOUTW; 3028 + 3029 +struct EMRFILLPATH 3030 +{ 3031 + EMR emr; 3032 + RECTL rclBounds; 3033 +} 3034 +alias EMRFILLPATH*PEMRFILLPATH; 3035 + 3036 +alias EMRFILLPATH EMRSTROKEANDFILLPATH; 3037 +alias EMRSTROKEANDFILLPATH*PEMRSTROKEANDFILLPATH; 3038 + 3039 +alias EMRFILLPATH EMRSTROKEPATH; 3040 +alias EMRSTROKEPATH*PEMRSTROKEPATH; 3041 + 3042 +struct EMRFILLRGN 3043 +{ 3044 + EMR emr; 3045 + RECTL rclBounds; 3046 + DWORD cbRgnData; 3047 + DWORD ihBrush; 3048 + BYTE[1] RgnData; 3049 +} 3050 +alias EMRFILLRGN*PEMRFILLRGN; 3051 + 3052 +struct EMRFORMAT 3053 +{ 3054 + DWORD dSignature; 3055 + DWORD nVersion; 3056 + DWORD cbData; 3057 + DWORD offData; 3058 +} 3059 +alias EMRFORMAT*PEMRFORMAT; 3060 + 3061 +struct EMRFRAMERGN 3062 +{ 3063 + EMR emr; 3064 + RECTL rclBounds; 3065 + DWORD cbRgnData; 3066 + DWORD ihBrush; 3067 + SIZEL szlStroke; 3068 + BYTE[1] RgnData; 3069 +} 3070 +alias EMRFRAMERGN*PEMRFRAMERGN; 3071 + 3072 +struct EMRGDICOMMENT 3073 +{ 3074 + EMR emr; 3075 + DWORD cbData; 3076 + BYTE[1] Data; 3077 +} 3078 +alias EMRGDICOMMENT*PEMRGDICOMMENT; 3079 + 3080 +struct EMRINVERTRGN 3081 +{ 3082 + EMR emr; 3083 + RECTL rclBounds; 3084 + DWORD cbRgnData; 3085 + BYTE[1] RgnData; 3086 +} 3087 +alias EMRINVERTRGN*PEMRINVERTRGN; 3088 +alias EMRINVERTRGN EMRPAINTRGN; 3089 +alias EMRPAINTRGN*PEMRPAINTRGN; 3090 + 3091 +struct EMRLINETO 3092 +{ 3093 + EMR emr; 3094 + POINTL ptl; 3095 +} 3096 +alias EMRLINETO*PEMRLINETO; 3097 +alias EMRLINETO EMRMOVETOEX; 3098 +alias EMRMOVETOEX*PEMRMOVETOEX; 3099 + 3100 +struct EMRMASKBLT 3101 +{ 3102 + EMR emr; 3103 + RECTL rclBounds; 3104 + LONG xDest; 3105 + LONG yDest; 3106 + LONG cxDest; 3107 + LONG cyDest; 3108 + DWORD dwRop; 3109 + LONG xSrc; 3110 + LONG ySrc; 3111 + XFORM xformSrc; 3112 + COLORREF crBkColorSrc; 3113 + DWORD iUsageSrc; 3114 + DWORD offBmiSrc; 3115 + DWORD cbBmiSrc; 3116 + DWORD offBitsSrc; 3117 + DWORD cbBitsSrc; 3118 + LONG xMask; 3119 + LONG yMask; 3120 + DWORD iUsageMask; 3121 + DWORD offBmiMask; 3122 + DWORD cbBmiMask; 3123 + DWORD offBitsMask; 3124 + DWORD cbBitsMask; 3125 +} 3126 +alias EMRMASKBLT*PEMRMASKBLT; 3127 + 3128 +struct EMRMODIFYWORLDTRANSFORM 3129 +{ 3130 + EMR emr; 3131 + XFORM xform; 3132 + DWORD iMode; 3133 +} 3134 +alias EMRMODIFYWORLDTRANSFORM*PEMRMODIFYWORLDTRANSFORM; 3135 + 3136 +struct EMROFFSETCLIPRGN 3137 +{ 3138 + EMR emr; 3139 + POINTL ptlOffset; 3140 +} 3141 +alias EMROFFSETCLIPRGN*PEMROFFSETCLIPRGN; 3142 + 3143 +struct EMRPLGBLT 3144 +{ 3145 + EMR emr; 3146 + RECTL rclBounds; 3147 + POINTL[3] aptlDest; 3148 + LONG xSrc; 3149 + LONG ySrc; 3150 + LONG cxSrc; 3151 + LONG cySrc; 3152 + XFORM xformSrc; 3153 + COLORREF crBkColorSrc; 3154 + DWORD iUsageSrc; 3155 + DWORD offBmiSrc; 3156 + DWORD cbBmiSrc; 3157 + DWORD offBitsSrc; 3158 + DWORD cbBitsSrc; 3159 + LONG xMask; 3160 + LONG yMask; 3161 + DWORD iUsageMask; 3162 + DWORD offBmiMask; 3163 + DWORD cbBmiMask; 3164 + DWORD offBitsMask; 3165 + DWORD cbBitsMask; 3166 +} 3167 +alias EMRPLGBLT*PEMRPLGBLT; 3168 + 3169 +struct EMRPOLYDRAW 3170 +{ 3171 + EMR emr; 3172 + RECTL rclBounds; 3173 + DWORD cptl; 3174 + POINTL[1] aptl; 3175 + BYTE[1] abTypes; 3176 +} 3177 +alias EMRPOLYDRAW*PEMRPOLYDRAW; 3178 + 3179 +struct EMRPOLYDRAW16 3180 +{ 3181 + EMR emr; 3182 + RECTL rclBounds; 3183 + DWORD cpts; 3184 + POINTS[1] apts; 3185 + BYTE[1] abTypes; 3186 +} 3187 +alias EMRPOLYDRAW16*PEMRPOLYDRAW16; 3188 + 3189 +struct EMRPOLYLINE 3190 +{ 3191 + EMR emr; 3192 + RECTL rclBounds; 3193 + DWORD cptl; 3194 + POINTL[1] aptl; 3195 +} 3196 +alias EMRPOLYLINE*PEMRPOLYLINE; 3197 +alias EMRPOLYLINE EMRPOLYBEZIER; 3198 +alias EMRPOLYBEZIER*PEMRPOLYBEZIER; 3199 +alias EMRPOLYLINE EMRPOLYGON; 3200 +alias EMRPOLYGON*PEMRPOLYGON; 3201 +alias EMRPOLYLINE EMRPOLYBEZIERTO; 3202 +alias EMRPOLYBEZIERTO*PEMRPOLYBEZIERTO; 3203 +alias EMRPOLYLINE EMRPOLYLINETO; 3204 +alias EMRPOLYLINETO*PEMRPOLYLINETO; 3205 + 3206 +struct EMRPOLYLINE16 3207 +{ 3208 + EMR emr; 3209 + RECTL rclBounds; 3210 + DWORD cpts; 3211 + POINTS[1] apts; 3212 +} 3213 +alias EMRPOLYLINE16*PEMRPOLYLINE16; 3214 +alias EMRPOLYLINE16 EMRPOLYBEZIER16; 3215 +alias EMRPOLYBEZIER16*PEMRPOLYBEZIER16; 3216 +alias EMRPOLYLINE16 EMRPOLYGON16; 3217 +alias EMRPOLYGON16*PEMRPOLYGON16; 3218 +alias EMRPOLYLINE16 EMRPOLYBEZIERTO16; 3219 +alias EMRPOLYBEZIERTO16*PEMRPOLYBEZIERTO16; 3220 +alias EMRPOLYLINE16 EMRPOLYLINETO16; 3221 +alias EMRPOLYLINETO16*PEMRPOLYLINETO16; 3222 + 3223 +struct EMRPOLYPOLYLINE 3224 +{ 3225 + EMR emr; 3226 + RECTL rclBounds; 3227 + DWORD nPolys; 3228 + DWORD cptl; 3229 + DWORD[1] aPolyCounts; 3230 + POINTL[1] aptl; 3231 +} 3232 +alias EMRPOLYPOLYLINE*PEMRPOLYPOLYLINE; 3233 +alias EMRPOLYPOLYLINE EMRPOLYPOLYGON; 3234 +alias EMRPOLYPOLYGON*PEMRPOLYPOLYGON; 3235 + 3236 +struct EMRPOLYPOLYLINE16 3237 +{ 3238 + EMR emr; 3239 + RECTL rclBounds; 3240 + DWORD nPolys; 3241 + DWORD cpts; 3242 + DWORD[1] aPolyCounts; 3243 + POINTS[1] apts; 3244 +} 3245 +alias EMRPOLYPOLYLINE16*PEMRPOLYPOLYLINE16; 3246 +alias EMRPOLYPOLYLINE16 EMRPOLYPOLYGON16; 3247 +alias EMRPOLYPOLYGON16*PEMRPOLYPOLYGON16; 3248 + 3249 +struct EMRPOLYTEXTOUTA 3250 +{ 3251 + EMR emr; 3252 + RECTL rclBounds; 3253 + DWORD iGraphicsMode; 3254 + FLOAT exScale; 3255 + FLOAT eyScale; 3256 + LONG cStrings; 3257 + EMRTEXT[1] aemrtext; 3258 +} 3259 +alias EMRPOLYTEXTOUTA*PEMRPOLYTEXTOUTA; 3260 +alias EMRPOLYTEXTOUTA EMRPOLYTEXTOUTW; 3261 +alias EMRPOLYTEXTOUTW*PEMRPOLYTEXTOUTW; 3262 + 3263 +struct EMRRESIZEPALETTE 3264 +{ 3265 + EMR emr; 3266 + DWORD ihPal; 3267 + DWORD cEntries; 3268 +} 3269 +alias EMRRESIZEPALETTE*PEMRRESIZEPALETTE; 3270 + 3271 +struct EMRRESTOREDC 3272 +{ 3273 + EMR emr; 3274 + LONG iRelative; 3275 +} 3276 +alias EMRRESTOREDC*PEMRRESTOREDC; 3277 + 3278 +struct EMRROUNDRECT 3279 +{ 3280 + EMR emr; 3281 + RECTL rclBox; 3282 + SIZEL szlCorner; 3283 +} 3284 +alias EMRROUNDRECT*PEMRROUNDRECT; 3285 + 3286 +struct EMRSCALEVIEWPORTEXTEX 3287 +{ 3288 + EMR emr; 3289 + LONG xNum; 3290 + LONG xDenom; 3291 + LONG yNum; 3292 + LONG yDenom; 3293 +} 3294 +alias EMRSCALEVIEWPORTEXTEX*PEMRSCALEVIEWPORTEXTEX; 3295 +alias EMRSCALEVIEWPORTEXTEX EMRSCALEWINDOWEXTEX; 3296 +alias EMRSCALEWINDOWEXTEX*PEMRSCALEWINDOWEXTEX; 3297 + 3298 +struct EMRSELECTOBJECT 3299 +{ 3300 + EMR emr; 3301 + DWORD ihObject; 3302 +} 3303 +alias EMRSELECTOBJECT*PEMRSELECTOBJECT; 3304 +alias EMRSELECTOBJECT EMRDELETEOBJECT; 3305 +alias EMRDELETEOBJECT*PEMRDELETEOBJECT; 3306 + 3307 +struct EMRSELECTPALETTE 3308 +{ 3309 + EMR emr; 3310 + DWORD ihPal; 3311 +} 3312 +alias EMRSELECTPALETTE*PEMRSELECTPALETTE; 3313 + 3314 +struct EMRSETARCDIRECTION 3315 +{ 3316 + EMR emr; 3317 + DWORD iArcDirection; 3318 +} 3319 +alias EMRSETARCDIRECTION*PEMRSETARCDIRECTION; 3320 + 3321 +struct EMRSETTEXTCOLOR 3322 +{ 3323 + EMR emr; 3324 + COLORREF crColor; 3325 +} 3326 +alias EMRSETTEXTCOLOR*PEMRSETTEXTCOLOR; 3327 +alias EMRSETTEXTCOLOR EMRSETBKCOLOR; 3328 +alias EMRSETBKCOLOR*PEMRSETBKCOLOR; 3329 + 3330 +struct EMRSETCOLORADJUSTMENT 3331 +{ 3332 + EMR emr; 3333 + COLORADJUSTMENT ColorAdjustment; 3334 +} 3335 +alias EMRSETCOLORADJUSTMENT*PEMRSETCOLORADJUSTMENT; 3336 + 3337 +struct EMRSETDIBITSTODEVICE 3338 +{ 3339 + EMR emr; 3340 + RECTL rclBounds; 3341 + LONG xDest; 3342 + LONG yDest; 3343 + LONG xSrc; 3344 + LONG ySrc; 3345 + LONG cxSrc; 3346 + LONG cySrc; 3347 + DWORD offBmiSrc; 3348 + DWORD cbBmiSrc; 3349 + DWORD offBitsSrc; 3350 + DWORD cbBitsSrc; 3351 + DWORD iUsageSrc; 3352 + DWORD iStartScan; 3353 + DWORD cScans; 3354 +} 3355 +alias EMRSETDIBITSTODEVICE*PEMRSETDIBITSTODEVICE; 3356 + 3357 +struct EMRSETMAPPERFLAGS 3358 +{ 3359 + EMR emr; 3360 + DWORD dwFlags; 3361 +} 3362 +alias EMRSETMAPPERFLAGS*PEMRSETMAPPERFLAGS; 3363 + 3364 +struct EMRSETMITERLIMIT 3365 +{ 3366 + EMR emr; 3367 + FLOAT eMiterLimit; 3368 +} 3369 +alias EMRSETMITERLIMIT*PEMRSETMITERLIMIT; 3370 + 3371 +struct EMRSETPALETTEENTRIES 3372 +{ 3373 + EMR emr; 3374 + DWORD ihPal; 3375 + DWORD iStart; 3376 + DWORD cEntries; 3377 + PALETTEENTRY[1] aPalEntries; 3378 +} 3379 +alias EMRSETPALETTEENTRIES*PEMRSETPALETTEENTRIES; 3380 + 3381 +struct EMRSETPIXELV 3382 +{ 3383 + EMR emr; 3384 + POINTL ptlPixel; 3385 + COLORREF crColor; 3386 +} 3387 +alias EMRSETPIXELV*PEMRSETPIXELV; 3388 + 3389 +struct EMRSETVIEWPORTEXTEX 3390 +{ 3391 + EMR emr; 3392 + SIZEL szlExtent; 3393 +} 3394 +alias EMRSETVIEWPORTEXTEX*PEMRSETVIEWPORTEXTEX; 3395 +alias EMRSETVIEWPORTEXTEX EMRSETWINDOWEXTEX; 3396 +alias EMRSETWINDOWEXTEX*PEMRSETWINDOWEXTEX; 3397 + 3398 +struct EMRSETVIEWPORTORGEX 3399 +{ 3400 + EMR emr; 3401 + POINTL ptlOrigin; 3402 +} 3403 +alias EMRSETVIEWPORTORGEX*PEMRSETVIEWPORTORGEX; 3404 +alias EMRSETVIEWPORTORGEX EMRSETWINDOWORGEX; 3405 +alias EMRSETWINDOWORGEX*PEMRSETWINDOWORGEX; 3406 +alias EMRSETVIEWPORTORGEX EMRSETBRUSHORGEX; 3407 +alias EMRSETBRUSHORGEX*PEMRSETBRUSHORGEX; 3408 + 3409 +struct EMRSETWORLDTRANSFORM 3410 +{ 3411 + EMR emr; 3412 + XFORM xform; 3413 +} 3414 +alias EMRSETWORLDTRANSFORM*PEMRSETWORLDTRANSFORM; 3415 + 3416 +struct EMRSTRETCHBLT 3417 +{ 3418 + EMR emr; 3419 + RECTL rclBounds; 3420 + LONG xDest; 3421 + LONG yDest; 3422 + LONG cxDest; 3423 + LONG cyDest; 3424 + DWORD dwRop; 3425 + LONG xSrc; 3426 + LONG ySrc; 3427 + XFORM xformSrc; 3428 + COLORREF crBkColorSrc; 3429 + DWORD iUsageSrc; 3430 + DWORD offBmiSrc; 3431 + DWORD cbBmiSrc; 3432 + DWORD offBitsSrc; 3433 + DWORD cbBitsSrc; 3434 + LONG cxSrc; 3435 + LONG cySrc; 3436 +} 3437 +alias EMRSTRETCHBLT*PEMRSTRETCHBLT; 3438 + 3439 +struct EMRSTRETCHDIBITS 3440 +{ 3441 + EMR emr; 3442 + RECTL rclBounds; 3443 + LONG xDest; 3444 + LONG yDest; 3445 + LONG xSrc; 3446 + LONG ySrc; 3447 + LONG cxSrc; 3448 + LONG cySrc; 3449 + DWORD offBmiSrc; 3450 + DWORD cbBmiSrc; 3451 + DWORD offBitsSrc; 3452 + DWORD cbBitsSrc; 3453 + DWORD iUsageSrc; 3454 + DWORD dwRop; 3455 + LONG cxDest; 3456 + LONG cyDest; 3457 +} 3458 +alias EMRSTRETCHDIBITS*PEMRSTRETCHDIBITS; 3459 + 3460 +struct EMRABORTPATH 3461 +{ 3462 + EMR emr; 3463 +} 3464 +alias EMRABORTPATH*PEMRABORTPATH; 3465 +alias EMRABORTPATH EMRBEGINPATH; 3466 +alias EMRBEGINPATH*PEMRBEGINPATH; 3467 +alias EMRABORTPATH EMRENDPATH; 3468 +alias EMRENDPATH*PEMRENDPATH; 3469 +alias EMRABORTPATH EMRCLOSEFIGURE; 3470 +alias EMRCLOSEFIGURE*PEMRCLOSEFIGURE; 3471 +alias EMRABORTPATH EMRFLATTENPATH; 3472 +alias EMRFLATTENPATH*PEMRFLATTENPATH; 3473 +alias EMRABORTPATH EMRWIDENPATH; 3474 +alias EMRWIDENPATH*PEMRWIDENPATH; 3475 +alias EMRABORTPATH EMRSETMETARGN; 3476 +alias EMRSETMETARGN*PEMRSETMETARGN; 3477 +alias EMRABORTPATH EMRSAVEDC; 3478 +alias EMRSAVEDC*PEMRSAVEDC; 3479 +alias EMRABORTPATH EMRREALIZEPALETTE; 3480 +alias EMRREALIZEPALETTE*PEMRREALIZEPALETTE; 3481 + 3482 +struct EMRSELECTCLIPPATH 3483 +{ 3484 + EMR emr; 3485 + DWORD iMode; 3486 +} 3487 +alias EMRSELECTCLIPPATH*PEMRSELECTCLIPPATH; 3488 +alias EMRSELECTCLIPPATH EMRSETBKMODE; 3489 +alias EMRSETBKMODE*PEMRSETBKMODE; 3490 +alias EMRSELECTCLIPPATH EMRSETMAPMODE; 3491 +alias EMRSETMAPMODE*PEMRSETMAPMODE; 3492 +alias EMRSELECTCLIPPATH EMRSETPOLYFILLMODE; 3493 +alias EMRSETPOLYFILLMODE*PEMRSETPOLYFILLMODE; 3494 +alias EMRSELECTCLIPPATH EMRSETROP2; 3495 +alias EMRSETROP2*PEMRSETROP2; 3496 +alias EMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE; 3497 +alias EMRSETSTRETCHBLTMODE*PEMRSETSTRETCHBLTMODE; 3498 +alias EMRSELECTCLIPPATH EMRSETICMMODE; 3499 +alias EMRSETICMMODE*PEMRSETICMMODE; 3500 +alias EMRSELECTCLIPPATH EMRSETTEXTALIGN; 3501 +alias EMRSETTEXTALIGN*PEMRSETTEXTALIGN; 3502 +alias EMRSELECTCLIPPATH EMRENABLEICM; 3503 +alias EMRENABLEICM*PEMRENABLEICM; 3504 +static 3505 + 3506 +if (WINVER >= 0x0500) 3507 +{ 3508 + alias EMRSELECTCLIPPATH EMRSETLAYOUT; 3509 + alias EMRSETLAYOUT*PEMRSETLAYOUT; 3510 +} 3511 + 3512 +align (2) : 3513 +struct METAHEADER 3514 +{ 3515 + WORD mtType; 3516 + WORD mtHeaderSize; 3517 + WORD mtVersion; 3518 + DWORD mtSize; 3519 + WORD mtNoObjects; 3520 + DWORD mtMaxRecord; 3521 + WORD mtNoParameters; 3522 +} 3523 +alias METAHEADER*PMETAHEADER; 3524 +alias METAHEADER*LPMETAHEADER; 3525 + 3526 +align : 3527 + 3528 +struct ENHMETAHEADER 3529 +{ 3530 + DWORD iType; 3531 + DWORD nSize; 3532 + RECTL rclBounds; 3533 + RECTL rclFrame; 3534 + DWORD dSignature = ENHMETA_SIGNATURE; 3535 + DWORD nVersion; 3536 + DWORD nBytes; 3537 + DWORD nRecords; 3538 + WORD nHandles; 3539 + WORD sReserved; 3540 + DWORD nDescription; 3541 + DWORD offDescription; 3542 + DWORD nPalEntries; 3543 + SIZEL szlDevice; 3544 + SIZEL szlMillimeters; 3545 + static 3546 + 3547 + if (WINVER >= 0x0400) 3548 + { 3549 + DWORD cbPixelFormat; 3550 + DWORD offPixelFormat; 3551 + DWORD bOpenGL; 3552 + } 3553 + 3554 + static 3555 + 3556 + if (WINVER >= 0x0500) 3557 + { 3558 + SIZEL szlMicrometers; 3559 + } 3560 +} 3561 +alias ENHMETAHEADER*PENHMETAHEADER, LPENHMETAHEADER; 3562 + 3563 +struct METARECORD 3564 +{ 3565 + DWORD rdSize; 3566 + WORD rdFunction; 3567 + WORD[1] rdParm; 3568 +} 3569 +alias METARECORD*PMETARECORD; 3570 +alias METARECORD*LPMETARECORD; 3571 + 3572 +struct ENHMETARECORD 3573 +{ 3574 + DWORD iType; 3575 + DWORD nSize; 3576 + DWORD[1] dParm; 3577 +} 3578 +alias ENHMETARECORD*PENHMETARECORD, LPENHMETARECORD; 3579 + 3580 +// --- 3581 + 3582 +struct HANDLETABLE 3583 +{ 3584 + HGDIOBJ[1] objectHandle; 3585 +} 3586 +alias HANDLETABLE*PHANDLETABLE, LPHANDLETABLE; 3587 + 3588 +struct TEXTMETRICA 3589 +{ 3590 + LONG tmHeight; 3591 + LONG tmAscent; 3592 + LONG tmDescent; 3593 + LONG tmInternalLeading; 3594 + LONG tmExternalLeading; 3595 + LONG tmAveCharWidth; 3596 + LONG tmMaxCharWidth; 3597 + LONG tmWeight; 3598 + LONG tmOverhang; 3599 + LONG tmDigitizedAspectX; 3600 + LONG tmDigitizedAspectY; 3601 + BYTE tmFirstChar; 3602 + BYTE tmLastChar; 3603 + BYTE tmDefaultChar; 3604 + BYTE tmBreakChar; 3605 + BYTE tmItalic; 3606 + BYTE tmUnderlined; 3607 + BYTE tmStruckOut; 3608 + BYTE tmPitchAndFamily; 3609 + BYTE tmCharSet; 3610 +} 3611 +alias TEXTMETRICA*PTEXTMETRICA, NPTEXTMETRICA, LPTEXTMETRICA; 3612 + 3613 +struct TEXTMETRICW 3614 +{ 3615 + LONG tmHeight; 3616 + LONG tmAscent; 3617 + LONG tmDescent; 3618 + LONG tmInternalLeading; 3619 + LONG tmExternalLeading; 3620 + LONG tmAveCharWidth; 3621 + LONG tmMaxCharWidth; 3622 + LONG tmWeight; 3623 + LONG tmOverhang; 3624 + LONG tmDigitizedAspectX; 3625 + LONG tmDigitizedAspectY; 3626 + WCHAR tmFirstChar; 3627 + WCHAR tmLastChar; 3628 + WCHAR tmDefaultChar; 3629 + WCHAR tmBreakChar; 3630 + BYTE tmItalic; 3631 + BYTE tmUnderlined; 3632 + BYTE tmStruckOut; 3633 + BYTE tmPitchAndFamily; 3634 + BYTE tmCharSet; 3635 +} 3636 +alias TEXTMETRICW*PTEXTMETRICW, NPTEXTMETRICW, LPTEXTMETRICW; 3637 + 3638 +struct RGNDATAHEADER 3639 +{ 3640 + DWORD dwSize; 3641 + DWORD iType; 3642 + DWORD nCount; 3643 + DWORD nRgnSize; 3644 + RECT rcBound; 3645 +} 3646 +alias RGNDATAHEADER*PRGNDATAHEADER; 3647 + 3648 +struct RGNDATA 3649 +{ 3650 + RGNDATAHEADER rdh; 3651 + char[1] Buffer; 3652 +} 3653 +alias RGNDATA*PRGNDATA, NPRGNDATA, LPRGNDATA; 3654 + 3655 +/* for GetRandomRgn */ 3656 +const SYSRGN=4; 3657 +struct GCP_RESULTSA 3658 +{ 3659 + DWORD lStructSize; 3660 + LPSTR lpOutString; 3661 + UINT*lpOrder; 3662 + INT*lpDx; 3663 + INT*lpCaretPos; 3664 + LPSTR lpClass; 3665 + LPWSTR lpGlyphs; 3666 + UINT nGlyphs; 3667 + UINT nMaxFit; 3668 +} 3669 +alias GCP_RESULTSA*LPGCP_RESULTSA; 3670 + 3671 +struct GCP_RESULTSW 3672 +{ 3673 + DWORD lStructSize; 3674 + LPWSTR lpOutString; 3675 + UINT*lpOrder; 3676 + INT*lpDx; 3677 + INT*lpCaretPos; 3678 + LPWSTR lpClass; 3679 + LPWSTR lpGlyphs; 3680 + UINT nGlyphs; 3681 + UINT nMaxFit; 3682 +} 3683 +alias GCP_RESULTSW*LPGCP_RESULTSW; 3684 + 3685 +struct GLYPHMETRICS 3686 +{ 3687 + UINT gmBlackBoxX; 3688 + UINT gmBlackBoxY; 3689 + POINT gmptGlyphOrigin; 3690 + short gmCellIncX; 3691 + short gmCellIncY; 3692 +} 3693 +alias GLYPHMETRICS*LPGLYPHMETRICS; 3694 + 3695 +static 3696 + 3697 +if (_WIN32_WINNT >= 0x0500) 3698 +{ 3699 + struct WCRANGE 3700 + { 3701 + WCHAR wcLow; 3702 + USHORT cGlyphs; 3703 + } 3704 + alias WCRANGE*PWCRANGE, LPWCRANGE; 3705 + 3706 + struct GLYPHSET 3707 + { 3708 + DWORD cbThis; 3709 + DWORD flAccel; 3710 + DWORD cGlyphsSupported; 3711 + DWORD cRanges; 3712 + WCRANGE[1] ranges; 3713 + } 3714 + alias GLYPHSET*PGLYPHSET, LPGLYPHSET; 3715 + 3716 + const DWORD GS_8BIT_INDICES = 0x00000001; 3717 +} 3718 + 3719 +struct KERNINGPAIR 3720 +{ 3721 + WORD wFirst; 3722 + WORD wSecond; 3723 + int iKernAmount; 3724 +} 3725 +alias KERNINGPAIR*LPKERNINGPAIR; 3726 + 3727 +struct FIXED 3728 +{ 3729 + WORD fract; 3730 + short value; 3731 +} 3732 + 3733 +struct MAT2 3734 +{ 3735 + FIXED eM11; 3736 + FIXED eM12; 3737 + FIXED eM21; 3738 + FIXED eM22; 3739 +} 3740 +alias MAT2*LPMAT2; 3741 + 3742 +struct OUTLINETEXTMETRICA 3743 +{ 3744 + UINT otmSize; 3745 + TEXTMETRICA otmTextMetrics; 3746 + BYTE otmFiller; 3747 + PANOSE otmPanoseNumber; 3748 + UINT otmfsSelection; 3749 + UINT otmfsType; 3750 + int otmsCharSlopeRise; 3751 + int otmsCharSlopeRun; 3752 + int otmItalicAngle; 3753 + UINT otmEMSquare; 3754 + int otmAscent; 3755 + int otmDescent; 3756 + UINT otmLineGap; 3757 + UINT otmsCapEmHeight; 3758 + UINT otmsXHeight; 3759 + RECT otmrcFontBox; 3760 + int otmMacAscent; 3761 + int otmMacDescent; 3762 + UINT otmMacLineGap; 3763 + UINT otmusMinimumPPEM; 3764 + POINT otmptSubscriptSize; 3765 + POINT otmptSubscriptOffset; 3766 + POINT otmptSuperscriptSize; 3767 + POINT otmptSuperscriptOffset; 3768 + UINT otmsStrikeoutSize; 3769 + int otmsStrikeoutPosition; 3770 + int otmsUnderscoreSize; 3771 + int otmsUnderscorePosition; 3772 + PSTR otmpFamilyName; 3773 + PSTR otmpFaceName; 3774 + PSTR otmpStyleName; 3775 + PSTR otmpFullName; 3776 +} 3777 +alias OUTLINETEXTMETRICA*POUTLINETEXTMETRICA, NPOUTLINETEXTMETRICA, LPOUTLINETEXTMETRICA; 3778 + 3779 +struct OUTLINETEXTMETRICW 3780 +{ 3781 + UINT otmSize; 3782 + TEXTMETRICW otmTextMetrics; 3783 + BYTE otmFiller; 3784 + PANOSE otmPanoseNumber; 3785 + UINT otmfsSelection; 3786 + UINT otmfsType; 3787 + int otmsCharSlopeRise; 3788 + int otmsCharSlopeRun; 3789 + int otmItalicAngle; 3790 + UINT otmEMSquare; 3791 + int otmAscent; 3792 + int otmDescent; 3793 + UINT otmLineGap; 3794 + UINT otmsCapEmHeight; 3795 + UINT otmsXHeight; 3796 + RECT otmrcFontBox; 3797 + int otmMacAscent; 3798 + int otmMacDescent; 3799 + UINT otmMacLineGap; 3800 + UINT otmusMinimumPPEM; 3801 + POINT otmptSubscriptSize; 3802 + POINT otmptSubscriptOffset; 3803 + POINT otmptSuperscriptSize; 3804 + POINT otmptSuperscriptOffset; 3805 + UINT otmsStrikeoutSize; 3806 + int otmsStrikeoutPosition; 3807 + int otmsUnderscoreSize; 3808 + int otmsUnderscorePosition; 3809 + PSTR otmpFamilyName; 3810 + PSTR otmpFaceName; 3811 + PSTR otmpStyleName; 3812 + PSTR otmpFullName; 3813 +} 3814 +alias OUTLINETEXTMETRICW*POUTLINETEXTMETRICW, NPOUTLINETEXTMETRICW, LPOUTLINETEXTMETRICW; 3815 + 3816 +struct RASTERIZER_STATUS 3817 +{ 3818 + short nSize; 3819 + short wFlags; 3820 + short nLanguageID; 3821 +} 3822 +alias RASTERIZER_STATUS*LPRASTERIZER_STATUS; 3823 + 3824 +struct POLYTEXTA 3825 +{ 3826 + int x; 3827 + int y; 3828 + UINT n; 3829 + LPCSTR lpstr; 3830 + UINT uiFlags; 3831 + RECT rcl; 3832 + int*pdx; 3833 +} 3834 +alias POLYTEXTA*PPOLYTEXTA, NPPOLYTEXTA, LPPOLYTEXTA; 3835 + 3836 +struct POLYTEXTW 3837 +{ 3838 + int x; 3839 + int y; 3840 + UINT n; 3841 + LPCWSTR lpstr; 3842 + UINT uiFlags; 3843 + RECT rcl; 3844 + int*pdx; 3845 +} 3846 +alias POLYTEXTW*PPOLYTEXTW, NPPOLYTEXTW, LPPOLYTEXTW; 3847 + 3848 +struct PIXELFORMATDESCRIPTOR 3849 +{ 3850 + WORD nSize; 3851 + WORD nVersion; 3852 + DWORD dwFlags; 3853 + BYTE iPixelType; 3854 + BYTE cColorBits; 3855 + BYTE cRedBits; 3856 + BYTE cRedShift; 3857 + BYTE cGreenBits; 3858 + BYTE cGreenShift; 3859 + BYTE cBlueBits; 3860 + BYTE cBlueShift; 3861 + BYTE cAlphaBits; 3862 + BYTE cAlphaShift; 3863 + BYTE cAccumBits; 3864 + BYTE cAccumRedBits; 3865 + BYTE cAccumGreenBits; 3866 + BYTE cAccumBlueBits; 3867 + BYTE cAccumAlphaBits; 3868 + BYTE cDepthBits; 3869 + BYTE cStencilBits; 3870 + BYTE cAuxBuffers; 3871 + BYTE iLayerType; 3872 + BYTE bReserved; 3873 + DWORD dwLayerMask; 3874 + DWORD dwVisibleMask; 3875 + DWORD dwDamageMask; 3876 +} 3877 +alias PIXELFORMATDESCRIPTOR*PPIXELFORMATDESCRIPTOR, LPPIXELFORMATDESCRIPTOR; 3878 + 3879 +struct METAFILEPICT 3880 +{ 3881 + LONG mm; 3882 + LONG xExt; 3883 + LONG yExt; 3884 + HMETAFILE hMF; 3885 +} 3886 +alias METAFILEPICT*LPMETAFILEPICT; 3887 + 3888 +struct LOCALESIGNATURE 3889 +{ 3890 + DWORD[4] lsUsb; 3891 + DWORD[2] lsCsbDefault; 3892 + DWORD[2] lsCsbSupported; 3893 +} 3894 +alias LOCALESIGNATURE*PLOCALESIGNATURE, LPLOCALESIGNATURE; 3895 + 3896 +alias LONG LCSTYPE; /* What this for? */ 3897 + 3898 +align (4) : 3899 +struct NEWTEXTMETRICA 3900 +{ 3901 + LONG tmHeight; 3902 + LONG tmAscent; 3903 + LONG tmDescent; 3904 + LONG tmInternalLeading; 3905 + LONG tmExternalLeading; 3906 + LONG tmAveCharWidth; 3907 + LONG tmMaxCharWidth; 3908 + LONG tmWeight; 3909 + LONG tmOverhang; 3910 + LONG tmDigitizedAspectX; 3911 + LONG tmDigitizedAspectY; 3912 + BYTE tmFirstChar; 3913 + BYTE tmLastChar; 3914 + BYTE tmDefaultChar; 3915 + BYTE tmBreakChar; 3916 + BYTE tmItalic; 3917 + BYTE tmUnderlined; 3918 + BYTE tmStruckOut; 3919 + BYTE tmPitchAndFamily; 3920 + BYTE tmCharSet; 3921 + DWORD ntmFlags; 3922 + UINT ntmSizeEM; 3923 + UINT ntmCellHeight; 3924 + UINT ntmAvgWidth; 3925 +} 3926 +alias NEWTEXTMETRICA*PNEWTEXTMETRICA, NPNEWTEXTMETRICA, LPNEWTEXTMETRICA; 3927 + 3928 +struct NEWTEXTMETRICW 3929 +{ 3930 + LONG tmHeight; 3931 + LONG tmAscent; 3932 + LONG tmDescent; 3933 + LONG tmInternalLeading; 3934 + LONG tmExternalLeading; 3935 + LONG tmAveCharWidth; 3936 + LONG tmMaxCharWidth; 3937 + LONG tmWeight; 3938 + LONG tmOverhang; 3939 + LONG tmDigitizedAspectX; 3940 + LONG tmDigitizedAspectY; 3941 + WCHAR tmFirstChar; 3942 + WCHAR tmLastChar; 3943 + WCHAR tmDefaultChar; 3944 + WCHAR tmBreakChar; 3945 + BYTE tmItalic; 3946 + BYTE tmUnderlined; 3947 + BYTE tmStruckOut; 3948 + BYTE tmPitchAndFamily; 3949 + BYTE tmCharSet; 3950 + DWORD ntmFlags; 3951 + UINT ntmSizeEM; 3952 + UINT ntmCellHeight; 3953 + UINT ntmAvgWidth; 3954 +} 3955 +alias NEWTEXTMETRICW*PNEWTEXTMETRICW, NPNEWTEXTMETRICW, LPNEWTEXTMETRICW; 3956 + 3957 +align : 3958 +struct NEWTEXTMETRICEXA 3959 +{ 3960 + NEWTEXTMETRICA ntmTm; 3961 + FONTSIGNATURE ntmFontSig; 3962 +} 3963 + 3964 +struct NEWTEXTMETRICEXW 3965 +{ 3966 + NEWTEXTMETRICW ntmTm; 3967 + FONTSIGNATURE ntmFontSig; 3968 +} 3969 + 3970 +struct PELARRAY 3971 +{ 3972 + LONG paXCount; 3973 + LONG paYCount; 3974 + LONG paXExt; 3975 + LONG paYExt; 3976 + BYTE paRGBs; 3977 +} 3978 +alias PELARRAY*PPELARRAY, NPPELARRAY, LPPELARRAY; 3979 + 3980 +struct ENUMLOGFONTA 3981 +{ 3982 + LOGFONTA elfLogFont; 3983 + BYTE[LF_FULLFACESIZE] elfFullName; 3984 + BYTE[LF_FACESIZE] elfStyle; 3985 +} 3986 +alias ENUMLOGFONTA*LPENUMLOGFONTA; 3987 + 3988 +struct ENUMLOGFONTW 3989 +{ 3990 + LOGFONTW elfLogFont; 3991 + WCHAR[LF_FULLFACESIZE] elfFullName; 3992 + WCHAR[LF_FACESIZE] elfStyle; 3993 +} 3994 +alias ENUMLOGFONTW*LPENUMLOGFONTW; 3995 + 3996 +struct ENUMLOGFONTEXA 3997 +{ 3998 + LOGFONTA elfLogFont; 3999 + BYTE[LF_FULLFACESIZE] elfFullName; 4000 + BYTE[LF_FACESIZE] elfStyle; 4001 + BYTE[LF_FACESIZE] elfScript; 4002 +} 4003 +alias ENUMLOGFONTEXA*LPENUMLOGFONTEXA; 4004 + 4005 +struct ENUMLOGFONTEXW 4006 +{ 4007 + LOGFONTW elfLogFont; 4008 + WCHAR[LF_FULLFACESIZE] elfFullName; 4009 + WCHAR[LF_FACESIZE] elfStyle; 4010 + WCHAR[LF_FACESIZE] elfScript; 4011 +} 4012 +alias ENUMLOGFONTEXW*LPENUMLOGFONTEXW; 4013 + 4014 +struct POINTFX 4015 +{ 4016 + FIXED x; 4017 + FIXED y; 4018 +} 4019 +alias POINTFX*LPPOINTFX; 4020 + 4021 +struct TTPOLYCURVE 4022 +{ 4023 + WORD wType; 4024 + WORD cpfx; 4025 + POINTFX[1] apfx; 4026 +} 4027 +alias TTPOLYCURVE*LPTTPOLYCURVE; 4028 + 4029 +struct TTPOLYGONHEADER 4030 +{ 4031 + DWORD cb; 4032 + DWORD dwType; 4033 + POINTFX pfxStart; 4034 +} 4035 +alias TTPOLYGONHEADER*LPTTPOLYGONHEADER; 4036 + 4037 +struct POINTFLOAT 4038 +{ 4039 + FLOAT x; 4040 + FLOAT y; 4041 +} 4042 +alias POINTFLOAT*PPOINTFLOAT; 4043 + 4044 +struct GLYPHMETRICSFLOAT 4045 +{ 4046 + FLOAT gmfBlackBoxX; 4047 + FLOAT gmfBlackBoxY; 4048 + POINTFLOAT gmfptGlyphOrigin; 4049 + FLOAT gmfCellIncX; 4050 + FLOAT gmfCellIncY; 4051 +} 4052 +alias GLYPHMETRICSFLOAT*PGLYPHMETRICSFLOAT, LPGLYPHMETRICSFLOAT; 4053 + 4054 +struct LAYERPLANEDESCRIPTOR 4055 +{ 4056 + WORD nSize; 4057 + WORD nVersion; 4058 + DWORD dwFlags; 4059 + BYTE iPixelType; 4060 + BYTE cColorBits; 4061 + BYTE cRedBits; 4062 + BYTE cRedShift; 4063 + BYTE cGreenBits; 4064 + BYTE cGreenShift; 4065 + BYTE cBlueBits; 4066 + BYTE cBlueShift; 4067 + BYTE cAlphaBits; 4068 + BYTE cAlphaShift; 4069 + BYTE cAccumBits; 4070 + BYTE cAccumRedBits; 4071 + BYTE cAccumGreenBits; 4072 + BYTE cAccumBlueBits; 4073 + BYTE cAccumAlphaBits; 4074 + BYTE cDepthBits; 4075 + BYTE cStencilBits; 4076 + BYTE cAuxBuffers; 4077 + BYTE iLayerPlane; 4078 + BYTE bReserved; 4079 + COLORREF crTransparent; 4080 +} 4081 +alias LAYERPLANEDESCRIPTOR*PLAYERPLANEDESCRIPTOR, LPLAYERPLANEDESCRIPTOR; 4082 + 4083 +struct BLENDFUNCTION 4084 +{ 4085 + BYTE BlendOp; 4086 + BYTE BlendFlags; 4087 + BYTE SourceConstantAlpha; 4088 + BYTE AlphaFormat; 4089 +} 4090 +alias BLENDFUNCTION*PBLENDFUNCTION, LPBLENDFUNCTION; 4091 + 4092 +const MM_MAX_NUMAXES = 16; 4093 + 4094 +struct DESIGNVECTOR 4095 +{ 4096 + DWORD dvReserved; 4097 + DWORD dvNumAxes; 4098 + LONG[MM_MAX_NUMAXES] dvValues; 4099 +} 4100 +alias DESIGNVECTOR*PDESIGNVECTOR, LPDESIGNVECTOR; 4101 +const STAMP_DESIGNVECTOR = 0x8000000 + 'd' + ('v' << 8); 4102 +const STAMP_AXESLIST = 0x8000000 + 'a' + ('l' << 8); 4103 + 4104 +static 4105 + 4106 +if (_WIN32_WINNT >= 0x0500) 4107 +{ 4108 + const MM_MAX_AXES_NAMELEN = 16; 4109 + 4110 + struct AXISINFOA 4111 + { 4112 + LONG axMinValue; 4113 + LONG axMaxValue; 4114 + BYTE[MM_MAX_AXES_NAMELEN] axAxisName; 4115 + } 4116 + alias AXISINFOA*PAXISINFOA, LPAXISINFOA; 4117 + 4118 + struct AXISINFOW 4119 + { 4120 + LONG axMinValue; 4121 + LONG axMaxValue; 4122 + WCHAR[MM_MAX_AXES_NAMELEN] axAxisName; 4123 + } 4124 + alias AXISINFOW*PAXISINFOW, LPAXISINFOW; 4125 + 4126 + version (Unicode) 4127 + { 4128 + alias AXISINFOW AXISINFO; 4129 + alias PAXISINFOW PAXISINFO; 4130 + alias LPAXISINFOW LPAXISINFO; 4131 + } 4132 + else 4133 + { 4134 + alias AXISINFOA AXISINFO; 4135 + alias PAXISINFOA PAXISINFO; 4136 + alias LPAXISINFOA LPAXISINFO; 4137 + } 4138 + 4139 + struct AXESLISTA 4140 + { 4141 + DWORD axlReserved; 4142 + DWORD axlNumAxes; 4143 + AXISINFOA[MM_MAX_NUMAXES] axlAxisInfo; 4144 + } 4145 + alias AXESLISTA*PAXESLISTA, LPAXESLISTA; 4146 + 4147 + struct AXESLISTW 4148 + { 4149 + DWORD axlReserved; 4150 + DWORD axlNumAxes; 4151 + AXISINFOW[MM_MAX_NUMAXES] axlAxisInfo; 4152 + } 4153 + alias AXESLISTW*PAXESLISTW, LPAXESLISTW; 4154 + 4155 + version (Unicode) 4156 + { 4157 + alias AXESLISTW AXESLIST; 4158 + alias PAXESLISTW PAXESLIST; 4159 + alias LPAXESLISTW LPAXESLIST; 4160 + } 4161 + else 4162 + { 4163 + alias AXESLISTA AXESLIST; 4164 + alias PAXESLISTA PAXESLIST; 4165 + alias LPAXESLISTA LPAXESLIST; 4166 + } 4167 + 4168 + struct ENUMLOGFONTEXDVA 4169 + { 4170 + ENUMLOGFONTEXA elfEnumLogfontEx; 4171 + DESIGNVECTOR elfDesignVector; 4172 + } 4173 + alias ENUMLOGFONTEXDVA*PENUMLOGFONTEXDVA, LPENUMLOGFONTEXDVA; 4174 + 4175 + struct ENUMLOGFONTEXDVW 4176 + { 4177 + ENUMLOGFONTEXW elfEnumLogfontEx; 4178 + DESIGNVECTOR elfDesignVector; 4179 + } 4180 + alias ENUMLOGFONTEXDVW*PENUMLOGFONTEXDVW, LPENUMLOGFONTEXDVW; 4181 + 4182 + HFONT CreateFontIndirectExA(ENUMLOGFONTEXDVA*); 4183 + 4184 + HFONT CreateFontIndirectExW(ENUMLOGFONTEXDVW*); 4185 + 4186 + version (Unicode) 4187 + alias CreateFontIndirectExW CreateFontIndirectEx; 4188 + else 4189 + alias CreateFontIndirectExA CreateFontIndirectEx; 4190 + 4191 + struct ENUMTEXTMETRICA 4192 + { 4193 + NEWTEXTMETRICEXA etmNewTextMetricEx; 4194 + AXESLISTA etmAxesList; 4195 + } 4196 + alias ENUMTEXTMETRICA*PENUMTEXTMETRICA, LPENUMTEXTMETRICA; 4197 + 4198 + struct ENUMTEXTMETRICW 4199 + { 4200 + NEWTEXTMETRICEXW etmNewTextMetricEx; 4201 + AXESLISTW etmAxesList; 4202 + } 4203 + alias ENUMTEXTMETRICW*PENUMTEXTMETRICW, LPENUMTEXTMETRICW; 4204 + 4205 + version (Unicode) 4206 + { 4207 + alias ENUMTEXTMETRICW ENUMTEXTMETRIC; 4208 + alias PENUMTEXTMETRICW PENUMTEXTMETRIC; 4209 + alias LPENUMTEXTMETRICW LPENUMTEXTMETRIC; 4210 + } 4211 + else 4212 + { 4213 + alias ENUMTEXTMETRICA ENUMTEXTMETRIC; 4214 + alias PENUMTEXTMETRICA PENUMTEXTMETRIC; 4215 + alias LPENUMTEXTMETRICA LPENUMTEXTMETRIC; 4216 + } 4217 +} /* _WIN32_WINNT >= 0x0500 */ 4218 + 4219 +struct GRADIENT_TRIANGLE 4220 +{ 4221 + ULONG Vertex1; 4222 + ULONG Vertex2; 4223 + ULONG Vertex3; 4224 +} 4225 +alias GRADIENT_TRIANGLE*PGRADIENT_TRIANGLE, LPGRADIENT_TRIANGLE; 4226 + 4227 +struct GRADIENT_RECT 4228 +{ 4229 + ULONG UpperLeft; 4230 + ULONG LowerRight; 4231 +} 4232 +alias GRADIENT_RECT*PGRADIENT_RECT, LPGRADIENT_RECT; 4233 + 4234 +struct DISPLAY_DEVICEA 4235 +{ 4236 + DWORD cb; 4237 + CHAR[32] DeviceName; 4238 + CHAR[128] DeviceString; 4239 + DWORD StateFlags; 4240 + CHAR[128] DeviceID; 4241 + CHAR[128] DeviceKey; 4242 +} 4243 +alias DISPLAY_DEVICEA*PDISPLAY_DEVICEA, LPDISPLAY_DEVICEA; 4244 + 4245 +struct DISPLAY_DEVICEW 4246 +{ 4247 + DWORD cb; 4248 + WCHAR[32] DeviceName; 4249 + WCHAR[128] DeviceString; 4250 + DWORD StateFlags; 4251 + WCHAR[128] DeviceID; 4252 + WCHAR[128] DeviceKey; 4253 +} 4254 +alias DISPLAY_DEVICEW*PDISPLAY_DEVICEW, LPDISPLAY_DEVICEW; 4255 + 4256 +static 4257 + 4258 +if (WINVER >= 0x0400) 4259 +{ 4260 + struct DRAWPATRECT 4261 + { 4262 + POINT ptPosition; 4263 + POINT ptSize; 4264 + WORD wStyle; 4265 + WORD wPattern; 4266 + } 4267 + alias DRAWPATRECT*PDRAWPATRECT; 4268 +} 4269 + 4270 +// --------- 4271 +// Callbacks 4272 + 4273 +alias BOOL function(HDC, int) ABORTPROC; 4274 + 4275 +alias int function(HDC, HANDLETABLE*, METARECORD*, int, LPARAM) MFENUMPROC; 4276 + 4277 +alias int function(HDC, HANDLETABLE*, CPtr!(ENHMETARECORD), int, LPARAM) ENHMFENUMPROC; 4278 + 4279 +alias int function(CPtr!(LOGFONTA), CPtr!(TEXTMETRICA), DWORD, LPARAM) FONTENUMPROCA, OLDFONTENUMPROCA; 4280 + 4281 +alias int function(CPtr!(LOGFONTW), CPtr!(TEXTMETRICW), DWORD, LPARAM) FONTENUMPROCW, OLDFONTENUMPROCW; 4282 + 4283 +alias int function(LPSTR, LPARAM) ICMENUMPROCA; 4284 + 4285 +alias int function(LPWSTR, LPARAM) ICMENUMPROCW; 4286 + 4287 +alias void function(LPVOID, LPARAM) GOBJENUMPROC; 4288 + 4289 +alias void function(int, int, LPARAM) LINEDDAPROC; 4290 + 4291 +alias UINT function(HWND, HMODULE, LPDEVMODEA, LPSTR, LPSTR, LPDEVMODEA, LPSTR, UINT) LPFNDEVMODE; 4292 + 4293 +alias DWORD function(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODEA) LPFNDEVCAPS; 4294 + 4295 +// --------- 4296 +// C Macros. 4297 +// FIXME: 4298 +// POINTS MAKEPOINTS(DWORD dwValue) #define MAKEPOINTS(l) (*((POINTS*)&(l))) 4299 +DWORD MAKEROP4(DWORD fore, DWORD back) 4300 +{ 4301 + return ((back << 8) & 0xFF000000) | (fore); 4302 +} 4303 + 4304 + 4305 +COLORREF CMYK(BYTE c, BYTE m, BYTE y, BYTE k) 4306 +{ 4307 + return cast(COLORREF) (k | (y << 8) | (m << 16) | (c << 24)); 4308 +} 4309 + 4310 + 4311 +BYTE GetCValue(COLORREF cmyk) 4312 +{ 4313 + return cast(BYTE) (cmyk >> 24); 4314 +} 4315 + 4316 + 4317 +BYTE GetMValue(COLORREF cmyk) 4318 +{ 4319 + return cast(BYTE) (cmyk >> 16); 4320 +} 4321 + 4322 + 4323 +BYTE GetYValue(COLORREF cmyk) 4324 +{ 4325 + return cast(BYTE) (cmyk >> 8); 4326 +} 4327 + 4328 + 4329 +BYTE GetKValue(COLORREF cmyk) 4330 +{ 4331 + return cast(BYTE) cmyk; 4332 +} 4333 + 4334 + 4335 +COLORREF RGB(BYTE r, BYTE g, BYTE b) 4336 +{ 4337 + return cast(COLORREF) (r | (g << 8) | (b << 16)); 4338 +} 4339 + 4340 + 4341 +BYTE GetRValue(COLORREF c) 4342 +{ 4343 + return cast(BYTE) c; 4344 +} 4345 + 4346 + 4347 +BYTE GetGValue(COLORREF c) 4348 +{ 4349 + return cast(BYTE) (c >> 8); 4350 +} 4351 + 4352 + 4353 +BYTE GetBValue(COLORREF c) 4354 +{ 4355 + return cast(BYTE) (c >> 16); 4356 +} 4357 + 4358 + 4359 +COLORREF PALETTEINDEX(WORD i) 4360 +{ 4361 + return 0x01000000 | cast(COLORREF) i; 3400 4362 } 3401 -alias _TRIVERTEX TRIVERTEX; 3402 -alias _TRIVERTEX* PTRIVERTEX; 3403 -alias _TRIVERTEX* LPTRIVERTEX; 3404 4363 3405 -struct _GRADIENT_TRIANGLE { 3406 - ULONG Vertex1; 3407 - ULONG Vertex2; 3408 - ULONG Vertex3; 4364 + 4365 +COLORREF PALETTERGB(BYTE r, BYTE g, BYTE b) 4366 +{ 4367 + return 0x02000000 | RGB(r, g, b); 3409 4368 } 3410 -alias _GRADIENT_TRIANGLE GRADIENT_TRIANGLE; 3411 -alias _GRADIENT_TRIANGLE* PGRADIENT_TRIANGLE; 3412 -alias _GRADIENT_TRIANGLE* LPGRADIENT_TRIANGLE; 3413 - 3414 -struct _GRADIENT_RECT { 3415 - ULONG UpperLeft; 3416 - ULONG LowerRight; 3417 -} 3418 -alias _GRADIENT_RECT GRADIENT_RECT; 3419 -alias _GRADIENT_RECT* PGRADIENT_RECT; 3420 -alias _GRADIENT_RECT* LPGRADIENT_RECT; 3421 - 3422 -struct _BLENDFUNCTION { 3423 - BYTE BlendOp; 3424 - BYTE BlendFlags; 3425 - BYTE SourceConstantAlpha; 3426 - BYTE AlphaFormat; 4369 + 4370 + 4371 +extern (Windows) { 4372 +int AbortDoc(HDC); 4373 + 4374 +BOOL AbortPath(HDC); 4375 + 4376 +int AddFontResourceA(LPCSTR); 4377 + 4378 +int AddFontResourceW(LPCWSTR); 4379 + 4380 +BOOL AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT); 4381 + 4382 +BOOL AnimatePalette(HPALETTE, UINT, UINT, CPtr!(PALETTEENTRY)); 4383 + 4384 +BOOL Arc(HDC, int, int, int, int, int, int, int, int); 4385 + 4386 +BOOL ArcTo(HDC, int, int, int, int, int, int, int, int); 4387 + 4388 +BOOL BeginPath(HDC); 4389 + 4390 +BOOL BitBlt(HDC, int, int, int, int, HDC, int, int, DWORD); 4391 + 4392 +BOOL CancelDC(HDC); 4393 + 4394 +BOOL CheckColorsInGamut(HDC, PVOID, PVOID, DWORD); 4395 + 4396 +BOOL Chord(HDC, int, int, int, int, int, int, int, int); 4397 + 4398 +int ChoosePixelFormat(HDC, CPtr!(PIXELFORMATDESCRIPTOR)); 4399 + 4400 +HENHMETAFILE CloseEnhMetaFile(HDC); 4401 + 4402 +BOOL CloseFigure(HDC); 4403 + 4404 +HMETAFILE CloseMetaFile(HDC); 4405 + 4406 +BOOL ColorMatchToTarget(HDC, HDC, DWORD); 4407 + 4408 +BOOL ColorCorrectPalette(HDC, HPALETTE, DWORD, DWORD); 4409 + 4410 +int CombineRgn(HRGN, HRGN, HRGN, int); 4411 + 4412 +BOOL CombineTransform(LPXFORM, CPtr!(XFORM), CPtr!(XFORM)); 4413 + 4414 +HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE, LPCSTR); 4415 + 4416 +HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR); 4417 + 4418 +HMETAFILE CopyMetaFileA(HMETAFILE, LPCSTR); 4419 + 4420 +HMETAFILE CopyMetaFileW(HMETAFILE, LPCWSTR); 4421 + 4422 +HBITMAP CreateBitmap(int, int, UINT, UINT, PCVOID); 4423 + 4424 +HBITMAP CreateBitmapIndirect(CPtr!(BITMAP)); 4425 + 4426 +HBRUSH CreateBrushIndirect(CPtr!(LOGBRUSH)); 4427 + 4428 +HCOLORSPACE CreateColorSpaceA(LPLOGCOLORSPACEA); 4429 + 4430 +HCOLORSPACE CreateColorSpaceW(LPLOGCOLORSPACEW); 4431 + 4432 +HBITMAP CreateCompatibleBitmap(HDC, int, int); 4433 + 4434 +HDC CreateCompatibleDC(HDC); 4435 + 4436 +HDC CreateDCA(LPCSTR, LPCSTR, LPCSTR, CPtr!(DEVMODEA)); 4437 + 4438 +HDC CreateDCW(LPCWSTR, LPCWSTR, LPCWSTR, CPtr!(DEVMODEW)); 4439 + 4440 +HBITMAP CreateDIBitmap(HDC, CPtr!(BITMAPINFOHEADER), DWORD, PCVOID, CPtr!(BITMAPINFO), UINT); 4441 + 4442 +HBRUSH CreateDIBPatternBrush(HGLOBAL, UINT); 4443 + 4444 +HBRUSH CreateDIBPatternBrushPt(PCVOID, UINT); 4445 + 4446 +HBITMAP CreateDIBSection(HDC, CPtr!(BITMAPINFO), UINT, void**, HANDLE, DWORD); 4447 + 4448 +HBITMAP CreateDiscardableBitmap(HDC, int, int); 4449 + 4450 +HRGN CreateEllipticRgn(int, int, int, int); 4451 + 4452 +HRGN CreateEllipticRgnIndirect(LPCRECT); 4453 + 4454 +HDC CreateEnhMetaFileA(HDC, LPCSTR, LPCRECT, LPCSTR); 4455 + 4456 +HDC CreateEnhMetaFileW(HDC, LPCWSTR, LPCRECT, LPCWSTR); 4457 + 4458 +HFONT CreateFontA(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCSTR); 4459 + 4460 +HFONT CreateFontW(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPCWSTR); 4461 + 4462 +HFONT CreateFontIndirectA(CPtr!(LOGFONTA)); 4463 + 4464 +HFONT CreateFontIndirectW(CPtr!(LOGFONTW)); 4465 + 4466 +HPALETTE CreateHalftonePalette(HDC); 4467 + 4468 +HBRUSH CreateHatchBrush(int, COLORREF); 4469 + 4470 +HDC CreateICA(LPCSTR, LPCSTR, LPCSTR, CPtr!(DEVMODEA)); 4471 + 4472 +HDC CreateICW(LPCWSTR, LPCWSTR, LPCWSTR, CPtr!(DEVMODEW)); 4473 + 4474 +HDC CreateMetaFileA(LPCSTR); 4475 + 4476 +HDC CreateMetaFileW(LPCWSTR); 4477 + 4478 +HPALETTE CreatePalette(CPtr!(LOGPALETTE)); 4479 + 4480 +HBRUSH CreatePatternBrush(HBITMAP); 4481 + 4482 +HPEN CreatePen(int, int, COLORREF); 4483 + 4484 +HPEN CreatePenIndirect(CPtr!(LOGPEN)); 4485 + 4486 +HRGN CreatePolygonRgn(CPtr!(POINT), int, int); 4487 + 4488 +HRGN CreatePolyPolygonRgn(CPtr!(POINT), CPtr!(INT), int, int); 4489 + 4490 +HRGN CreateRectRgn(int, int, int, int); 4491 + 4492 +HRGN CreateRectRgnIndirect(LPCRECT); 4493 + 4494 +HRGN CreateRoundRectRgn(int, int, int, int, int, int); 4495 + 4496 +BOOL CreateScalableFontResourceA(DWORD, LPCSTR, LPCSTR, LPCSTR); 4497 + 4498 +BOOL CreateScalableFontResourceW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR); 4499 + 4500 +HBRUSH CreateSolidBrush(COLORREF); 4501 + 4502 +BOOL DeleteColorSpace(HCOLORSPACE); 4503 + 4504 +BOOL DeleteDC(HDC); 4505 + 4506 +BOOL DeleteEnhMetaFile(HENHMETAFILE); 4507 + 4508 +BOOL DeleteMetaFile(HMETAFILE); 4509 + 4510 +BOOL DeleteObject(HGDIOBJ); 4511 + 4512 +int DescribePixelFormat(HDC, int, UINT, LPPIXELFORMATDESCRIPTOR); 4513 + 4514 +DWORD DeviceCapabilitiesA(LPCSTR, LPCSTR, WORD, LPSTR, CPtr!(DEVMODEA)); 4515 + 4516 +DWORD DeviceCapabilitiesW(LPCWSTR, LPCWSTR, WORD, LPWSTR, CPtr!(DEVMODEW)); 4517 + 4518 +BOOL DPtoLP(HDC, LPPOINT, int); 4519 + 4520 +int DrawEscape(HDC, int, int, LPCSTR); 4521 + 4522 +BOOL Ellipse(HDC, int, int, int, int); 4523 + 4524 +int EndDoc(HDC); 4525 + 4526 +int EndPage(HDC); 4527 + 4528 +BOOL EndPath(HDC); 4529 + 4530 +BOOL EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMFENUMPROC, PVOID, LPCRECT); 4531 + 4532 +int EnumFontFamiliesA(HDC, LPCSTR, FONTENUMPROCA, LPARAM); 4533 + 4534 +int EnumFontFamiliesW(HDC, LPCWSTR, FONTENUMPROCW, LPARAM); 4535 + 4536 +int EnumFontFamiliesExA(HDC, PLOGFONTA, FONTENUMPROCA, LPARAM, DWORD); 4537 + 4538 +int EnumFontFamiliesExW(HDC, PLOGFONTW, FONTENUMPROCW, LPARAM, DWORD); 4539 + 4540 +int EnumFontsA(HDC, LPCSTR, FONTENUMPROCA, LPARAM); 4541 + 4542 +int EnumFontsW(HDC, LPCWSTR, FONTENUMPROCW, LPARAM); 4543 + 4544 +int EnumICMProfilesA(HDC, ICMENUMPROCA, LPARAM); 4545 + 4546 +int EnumICMProfilesW(HDC, ICMENUMPROCW, LPARAM); 4547 + 4548 +BOOL EnumMetaFile(HDC, HMETAFILE, MFENUMPROC, LPARAM); 4549 + 4550 +int EnumObjects(HDC, int, GOBJENUMPROC, LPARAM); 4551 + 4552 +BOOL EqualRgn(HRGN, HRGN); 4553 + 4554 +int Escape(HDC, int, int, LPCSTR, PVOID); 4555 + 4556 +int ExcludeClipRect(HDC, int, int, int, int); 4557 + 4558 +int ExcludeUpdateRgn(HDC, HWND); 4559 + 4560 +HPEN ExtCreatePen(DWORD, DWORD, CPtr!(LOGBRUSH), DWORD, CPtr!(DWORD)); 4561 + 4562 +HRGN ExtCreateRegion(CPtr!(XFORM), DWORD, CPtr!(RGNDATA)); 4563 + 4564 +int ExtEscape(HDC, int, int, LPCSTR, int, LPSTR); 4565 + 4566 +BOOL ExtFloodFill(HDC, int, int, COLORREF, UINT); 4567 + 4568 +int ExtSelectClipRgn(HDC, HRGN, int); 4569 + 4570 +BOOL ExtTextOutA(HDC, int, int, UINT, LPCRECT, LPCSTR, UINT, CPtr!(INT)); 4571 + 4572 +BOOL ExtTextOutW(HDC, int, int, UINT, LPCRECT, LPCWSTR, UINT, CPtr!(INT)); 4573 + 4574 +BOOL FillPath(HDC); 4575 + 4576 +int FillRect(HDC, LPCRECT, HBRUSH); 4577 + 4578 +int FillRgn(HDC, HRGN, HBRUSH); 4579 + 4580 +BOOL FixBrushOrgEx(HDC, int, int, LPPOINT); 4581 + 4582 +BOOL FlattenPath(HDC); 4583 + 4584 +BOOL FloodFill(HDC, int, int, COLORREF); 4585 + 4586 +BOOL FrameRgn(HDC, HRGN, HBRUSH, int, int); 4587 + 4588 +BOOL GdiComment(HDC, UINT, CPtr!(BYTE)); 4589 + 4590 +BOOL GdiFlush(); 4591 + 4592 +DWORD GdiGetBatchLimit(); 4593 + 4594 +DWORD GdiSetBatchLimit(DWORD); 4595 + 4596 +int GetArcDirection(HDC); 4597 + 4598 +BOOL GetAspectRatioFilterEx(HDC, LPSIZE); 4599 + 4600 +LONG GetBitmapBits(HBITMAP, LONG, PVOID); 4601 + 4602 +BOOL GetBitmapDimensionEx(HBITMAP, LPSIZE); 4603 + 4604 +COLORREF GetBkColor(HDC); 4605 + 4606 +int GetBkMode(HDC); 4607 + 4608 +UINT GetBoundsRect(HDC, LPRECT, UINT); 4609 + 4610 +BOOL GetBrushOrgEx(HDC, LPPOINT); 4611 + 4612 +BOOL GetCharABCWidthsA(HDC, UINT, UINT, LPABC); 4613 + 4614 +BOOL GetCharABCWidthsW(HDC, UINT, UINT, LPABC); 4615 + 4616 +BOOL GetCharABCWidthsFloatA(HDC, UINT, UINT, LPABCFLOAT); 4617 + 4618 +BOOL GetCharABCWidthsFloatW(HDC, UINT, UINT, LPABCFLOAT); 4619 + 4620 +DWORD GetCharacterPlacementA(HDC, LPCSTR, int, int, LPGCP_RESULTSA, DWORD); 4621 + 4622 +DWORD GetCharacterPlacementW(HDC, LPCWSTR, int, int, LPGCP_RESULTSW, DWORD); 4623 + 4624 +BOOL GetCharWidth32A(HDC, UINT, UINT, LPINT); 4625 + 4626 +BOOL GetCharWidth32W(HDC, UINT, UINT, LPINT); 4627 + 4628 +BOOL GetCharWidthA(HDC, UINT, UINT, LPINT); 4629 + 4630 +BOOL GetCharWidthW(HDC, UINT, UINT, LPINT); 4631 + 4632 +BOOL GetCharWidthFloatA(HDC, UINT, UINT, PFLOAT); 4633 + 4634 +BOOL GetCharWidthFloatW(HDC, UINT, UINT, PFLOAT); 4635 + 4636 +int GetClipBox(HDC, LPRECT); 4637 + 4638 +int GetClipRgn(HDC, HRGN); 4639 + 4640 +BOOL GetColorAdjustment(HDC, LPCOLORADJUSTMENT); 4641 + 4642 +HANDLE GetColorSpace(HDC); 4643 + 4644 +HGDIOBJ GetCurrentObject(HDC, UINT); 4645 + 4646 +BOOL GetCurrentPositionEx(HDC, LPPOINT); 4647 + 4648 +HCURSOR GetCursor(); 4649 + 4650 +BOOL GetDCOrgEx(HDC, LPPOINT); 4651 + 4652 +int GetDeviceCaps(HDC, int); 4653 + 4654 +BOOL GetDeviceGammaRamp(HDC, PVOID); 4655 + 4656 +UINT GetDIBColorTable(HDC, UINT, UINT, RGBQUAD*); 4657 + 4658 +int GetDIBits(HDC, HBITMAP, UINT, UINT, PVOID, LPBITMAPINFO, UINT); 4659 + 4660 +HENHMETAFILE GetEnhMetaFileA(LPCSTR); 4661 + 4662 +HENHMETAFILE GetEnhMetaFileW(LPCWSTR); 4663 + 4664 +UINT GetEnhMetaFileBits(HENHMETAFILE, UINT, LPBYTE); 4665 + 4666 +UINT GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR); 4667 + 4668 +UINT GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR); 4669 + 4670 +UINT GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER); 4671 + 4672 +UINT GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY); 4673 + 4674 +UINT GetEnhMetaFilePixelFormat(HENHMETAFILE, DWORD, CPtr!(PIXELFORMATDESCRIPTOR)); 4675 + 4676 +DWORD GetFontData(HDC, DWORD, DWORD, PVOID, DWORD); 4677 + 4678 +DWORD GetFontLanguageInfo(HDC); 4679 + 4680 +DWORD GetGlyphOutlineA(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, PVOID, CPtr!(MAT2)); 4681 + 4682 +DWORD GetGlyphOutlineW(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, PVOID, CPtr!(MAT2)); 4683 + 4684 +int GetGraphicsMode(HDC); 4685 + 4686 +BOOL GetICMProfileA(HDC, DWORD, LPSTR); 4687 + 4688 +BOOL GetICMProfileW(HDC, DWORD, LPWSTR); 4689 + 4690 +DWORD GetKerningPairsA(HDC, DWORD, LPKERNINGPAIR); 4691 + 4692 +DWORD GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR); 4693 + 4694 +BOOL GetLogColorSpaceA(HCOLORSPACE, LPLOGCOLORSPACEA, DWORD); 4695 + 4696 +BOOL GetLogColorSpaceW(HCOLORSPACE, LPLOGCOLORSPACEW, DWORD); 4697 + 4698 +int GetMapMode(HDC); 4699 + 4700 +HMETAFILE GetMetaFileA(LPCSTR); 4701 + 4702 +HMETAFILE GetMetaFileW(LPCWSTR); 4703 + 4704 +UINT GetMetaFileBitsEx(HMETAFILE, UINT, PVOID); 4705 + 4706 +int GetMetaRgn(HDC, HRGN); 4707 + 4708 +BOOL GetMiterLimit(HDC, PFLOAT); 4709 + 4710 +COLORREF GetNearestColor(HDC, COLORREF); 4711 + 4712 +UINT GetNearestPaletteIndex(HPALETTE, COLORREF); 4713 + 4714 +int GetObjectA(HGDIOBJ, int, PVOID); 4715 + 4716 +int GetObjectW(HGDIOBJ, int, PVOID); 4717 + 4718 +DWORD GetObjectType(HGDIOBJ); 4719 + 4720 +UINT GetOutlineTextMetricsA(HDC, UINT, LPOUTLINETEXTMETRICA); 4721 + 4722 +UINT GetOutlineTextMetricsW(HDC, UINT, LPOUTLINETEXTMETRICW); 4723 + 4724 +UINT GetPaletteEntries(HPALETTE, UINT, UINT, LPPALETTEENTRY); 4725 + 4726 +int GetPath(HDC, LPPOINT, PBYTE, int); 4727 + 4728 +COLORREF GetPixel(HDC, int, int); 4729 + 4730 +int GetPixelFormat(HDC); 4731 + 4732 +int GetPolyFillMode(HDC); 4733 + 4734 +BOOL GetRasterizerCaps(LPRASTERIZER_STATUS, UINT); 4735 + 4736 +int GetRandomRgn(HDC, HRGN, INT); 4737 + 4738 +DWORD GetRegionData(HRGN, DWORD, LPRGNDATA); 4739 + 4740 +int GetRgnBox(HRGN, LPRECT); 4741 + 4742 +int GetROP2(HDC); 4743 + 4744 +HGDIOBJ GetStockObject(int); 4745 + 4746 +int GetStretchBltMode(HDC); 4747 + 4748 +UINT GetSystemPaletteEntries(HDC, UINT, UINT, LPPALETTEENTRY); 4749 + 4750 +UINT GetSystemPaletteUse(HDC); 4751 + 4752 +UINT GetTextAlign(HDC); 4753 + 4754 +int GetTextCharacterExtra(HDC); 4755 + 4756 +int GetTextCharset(HDC); 4757 + 4758 +int GetTextCharsetInfo(HDC, LPFONTSIGNATURE, DWORD); 4759 + 4760 +COLORREF GetTextColor(HDC); 4761 + 4762 +BOOL GetTextExtentExPointA(HDC, LPCSTR, int, int, LPINT, LPINT, LPSIZE); 4763 + 4764 +BOOL GetTextExtentExPointW(HDC, LPCWSTR, int, int, LPINT, LPINT, LPSIZE); 4765 + 4766 +BOOL GetTextExtentPointA(HDC, LPCSTR, int, LPSIZE); 4767 + 4768 +BOOL GetTextExtentPointW(HDC, LPCWSTR, int, LPSIZE); 4769 + 4770 +BOOL GetTextExtentPoint32A(HDC, LPCSTR, int, LPSIZE); 4771 + 4772 +BOOL GetTextExtentPoint32W(HDC, LPCWSTR, int, LPSIZE); 4773 + 4774 +int GetTextFaceA(HDC, int, LPSTR); 4775 + 4776 +int GetTextFaceW(HDC, int, LPWSTR); 4777 + 4778 +BOOL GetTextMetricsA(HDC, LPTEXTMETRICA); 4779 + 4780 +BOOL GetTextMetricsW(HDC, LPTEXTMETRICW); 4781 + 4782 +BOOL GetViewportExtEx(HDC, LPSIZE); 4783 + 4784 +BOOL GetViewportOrgEx(HDC, LPPOINT); 4785 + 4786 +BOOL GetWindowExtEx(HDC, LPSIZE); 4787 + 4788 +BOOL GetWindowOrgEx(HDC, LPPOINT); 4789 + 4790 +UINT GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, INT, HDC); 4791 + 4792 +BOOL GetWorldTransform(HDC, LPXFORM); 4793 + 4794 +int IntersectClipRect(HDC, int, int, int, int); 4795 + 4796 +BOOL InvertRgn(HDC, HRGN); 4797 + 4798 +BOOL LineDDA(int, int, int, int, LINEDDAPROC, LPARAM); 4799 + 4800 +BOOL LineTo(HDC, int, int); 4801 + 4802 +BOOL LPtoDP(HDC, LPPOINT, int); 4803 + 4804 +BOOL MaskBlt(HDC, int, int, int, int, HDC, int, int, HBITMAP, int, int, DWORD); 4805 + 4806 +BOOL ModifyWorldTransform(HDC, CPtr!(XFORM), DWORD); 4807 + 4808 +BOOL MoveToEx(HDC, int, int, LPPOINT); 4809 + 4810 +int OffsetClipRgn(HDC, int, int); 4811 + 4812 +int OffsetRgn(HRGN, int, int); 4813 + 4814 +BOOL OffsetViewportOrgEx(HDC, int, int, LPPOINT); 4815 + 4816 +BOOL OffsetWindowOrgEx(HDC, int, int, LPPOINT); 4817 + 4818 +BOOL PaintRgn(HDC, HRGN); 4819 + 4820 +BOOL PatBlt(HDC, int, int, int, int, DWORD); 4821 + 4822 +HRGN PathToRegion(HDC); 4823 + 4824 +BOOL Pie(HDC, int, int, int, int, int, int, int, int); 4825 + 4826 +BOOL PlayEnhMetaFile(HDC, HENHMETAFILE, LPCRECT); 4827 + 4828 +BOOL PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, CPtr!(ENHMETARECORD), UINT); 4829 + 4830 +BOOL PlayMetaFile(HDC, HMETAFILE); 4831 + 4832 +BOOL PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT); 4833 + 4834 +BOOL PlgBlt(HDC, CPtr!(POINT), HDC, int, int, int, int, HBITMAP, int, int); 4835 + 4836 +BOOL PolyBezier(HDC, CPtr!(POINT), DWORD); 4837 + 4838 +BOOL PolyBezierTo(HDC, CPtr!(POINT), DWORD); 4839 + 4840 +BOOL PolyDraw(HDC, CPtr!(POINT), CPtr!(BYTE), int); 4841 + 4842 +BOOL Polygon(HDC, CPtr!(POINT), int); 4843 + 4844 +BOOL Polyline(HDC, CPtr!(POINT), int); 4845 + 4846 +BOOL PolylineTo(HDC, CPtr!(POINT), DWORD); 4847 + 4848 +BOOL PolyPolygon(HDC, CPtr!(POINT), CPtr!(INT), int); 4849 + 4850 +BOOL PolyPolyline(HDC, CPtr!(POINT), CPtr!(DWORD), DWORD); 4851 + 4852 +BOOL PolyTextOutA(HDC, CPtr!(POLYTEXTA), int); 4853 + 4854 +BOOL PolyTextOutW(HDC, CPtr!(POLYTEXTW), int); 4855 + 4856 +BOOL PtInRegion(HRGN, int, int); 4857 + 4858 +BOOL PtVisible(HDC, int, int); 4859 + 4860 +UINT RealizePalette(HDC); 4861 + 4862 +BOOL Rectangle(HDC, int, int, int, int); 4863 + 4864 +BOOL RectInRegion(HRGN, LPCRECT); 4865 + 4866 +BOOL RectVisible(HDC, LPCRECT); 4867 + 4868 +BOOL RemoveFontResourceA(LPCSTR); 4869 + 4870 +BOOL RemoveFontResourceW(LPCWSTR); 4871 + 4872 +HDC ResetDCA(HDC, CPtr!(DEVMODEA)); 4873 + 4874 +HDC ResetDCW(HDC, CPtr!(DEVMODEW)); 4875 + 4876 +BOOL ResizePalette(HPALETTE, UINT); 4877 + 4878 +BOOL RestoreDC(HDC, int); 4879 + 4880 +BOOL RoundRect(HDC, int, int, int, int, int, int); 4881 + 4882 +int SaveDC(HDC); 4883 + 4884 +BOOL ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE); 4885 + 4886 +BOOL ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE); 4887 + 4888 +BOOL SelectClipPath(HDC, int); 4889 + 4890 +int SelectClipRgn(HDC, HRGN); 4891 + 4892 +HGDIOBJ SelectObject(HDC, HGDIOBJ); 4893 + 4894 +HPALETTE SelectPalette(HDC, HPALETTE, BOOL); 4895 + 4896 +int SetAbortProc(HDC, ABORTPROC); 4897 + 4898 +int SetArcDirection(HDC, int); 4899 + 4900 +LONG SetBitmapBits(HBITMAP, DWORD, PCVOID); 4901 + 4902 +BOOL SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE); 4903 + 4904 +COLORREF SetBkColor(HDC, COLORREF); 4905 + 4906 +int SetBkMode(HDC, int); 4907 + 4908 +UINT SetBoundsRect(HDC, LPCRECT, UINT); 4909 + 4910 +BOOL SetBrushOrgEx(HDC, int, int, LPPOINT); 4911 + 4912 +BOOL SetColorAdjustment(HDC, CPtr!(COLORADJUSTMENT)); 4913 + 4914 +BOOL SetColorSpace(HDC, HCOLORSPACE); 4915 + 4916 +BOOL SetDeviceGammaRamp(HDC, PVOID); 4917 + 4918 +UINT SetDIBColorTable(HDC, UINT, UINT, CPtr!(RGBQUAD)); 4919 + 4920 +int SetDIBits(HDC, HBITMAP, UINT, UINT, PCVOID, CPtr!(BITMAPINFO), UINT); 4921 + 4922 +int SetDIBitsToDevice(HDC, int, int, DWORD, DWORD, int, int, UINT, UINT, PCVOID, CPtr!(BITMAPINFO), UINT); 4923 + 4924 +HENHMETAFILE SetEnhMetaFileBits(UINT, CPtr!(BYTE)); 4925 + 4926 +int SetGraphicsMode(HDC, int); 4927 + 4928 +int SetICMMode(HDC, int); 4929 + 4930 +BOOL SetICMProfileA(HDC, LPSTR); 4931 + 4932 +BOOL SetICMProfileW(HDC, LPWSTR); 4933 + 4934 +int SetMapMode(HDC, int); 4935 + 4936 +static 4937 + 4938 +if (WINVER >= 0x0500) 4939 +{ 4940 + DWORD SetLayout(HDC hdc, DWORD l); 4941 + 4942 + DWORD GetLayout(HDC hdc); 3427 4943 } 3428 -alias _BLENDFUNCTION BLENDFUNCTION; 3429 -alias _BLENDFUNCTION* PBLENDFUNCTION; 3430 - 3431 -enum : uint { AC_SRC_OVER = 0x00 } 3432 - 3433 -enum : uint { AC_SRC_ALPHA = 0x01 } 3434 - 3435 -extern(Windows) export BOOL AlphaBlend(HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION); 3436 - 3437 -extern(Windows) export BOOL TransparentBlt(HDC, int, int, int, int, HDC, int, int, int, int, UINT); 3438 - 3439 -enum : uint { GRADIENT_FILL_RECT_H = 0x00000000 } 3440 -enum : uint { GRADIENT_FILL_RECT_V = 0x00000001 } 3441 -enum : uint { GRADIENT_FILL_TRIANGLE = 0x00000002 } 3442 -enum : uint { GRADIENT_FILL_OP_FLAG = 0x000000ff } 3443 - 3444 -extern(Windows) export BOOL GradientFill(HDC, PTRIVERTEX, ULONG, PVOID, ULONG, ULONG); 3445 - 3446 -// #endif 3447 - 3448 -// #ifndef NOMETAFILE 3449 - 3450 -extern(Windows) export BOOL PlayMetaFileRecord(HDC, LPHANDLETABLE, LPMETARECORD, UINT); 3451 -extern(Windows) alias int function( HDC, HANDLETABLE *, METARECORD *, int, LPARAM) MFENUMPROC; 3452 -extern(Windows) export BOOL EnumMetaFile(HDC, HMETAFILE, MFENUMPROC, LPARAM); 3453 - 3454 -extern(Windows) alias int function(HDC, HANDLETABLE *, ENHMETARECORD *, int, LPARAM) ENHMFENUMPROC; 3455 - 3456 -extern(Windows) export HENHMETAFILE CloseEnhMetaFile(HDC); 3457 -extern(Windows) export HENHMETAFILE CopyEnhMetaFileA(HENHMETAFILE, LPCSTR); 3458 -extern(Windows) export HENHMETAFILE CopyEnhMetaFileW(HENHMETAFILE, LPCWSTR); 3459 -// #ifdef UNICODE 3460 -alias CopyEnhMetaFileW CopyEnhMetaFile; 3461 -// #else 3462 -// #... 3463 -// #endif // !UNICODE 3464 -extern(Windows) export HDC CreateEnhMetaFileA(HDC, LPCSTR, RECT *, LPCSTR); 3465 -extern(Windows) export HDC CreateEnhMetaFileW(HDC, LPCWSTR, RECT *, LPCWSTR); 3466 -// #ifdef UNICODE 3467 -alias CreateEnhMetaFileW CreateEnhMetaFile; 3468 -// #else 3469 -// #... 3470 -// #endif // !UNICODE 3471 -extern(Windows) export BOOL DeleteEnhMetaFile(HENHMETAFILE); 3472 -extern(Windows) export BOOL EnumEnhMetaFile(HDC, HENHMETAFILE, ENHMFENUMPROC, 3473 - LPVOID, RECT *); 3474 -extern(Windows) export HENHMETAFILE GetEnhMetaFileA(LPCSTR); 3475 -extern(Windows) export HENHMETAFILE GetEnhMetaFileW(LPCWSTR); 3476 -// #ifdef UNICODE 3477 -alias GetEnhMetaFileW GetEnhMetaFile; 3478 -// #else 3479 -// #... 3480 -// #endif // !UNICODE 3481 -extern(Windows) export UINT GetEnhMetaFileBits(HENHMETAFILE, UINT, LPBYTE); 3482 -extern(Windows) export UINT GetEnhMetaFileDescriptionA(HENHMETAFILE, UINT, LPSTR ); 3483 -extern(Windows) export UINT GetEnhMetaFileDescriptionW(HENHMETAFILE, UINT, LPWSTR ); 3484 -// #ifdef UNICODE 3485 -alias GetEnhMetaFileDescriptionW GetEnhMetaFileDescription; 3486 -// #else 3487 -// #... 3488 -// #endif // !UNICODE 3489 -extern(Windows) export UINT GetEnhMetaFileHeader(HENHMETAFILE, UINT, LPENHMETAHEADER ); 3490 -extern(Windows) export UINT GetEnhMetaFilePaletteEntries(HENHMETAFILE, UINT, LPPALETTEENTRY ); 3491 -extern(Windows) export UINT GetEnhMetaFilePixelFormat(HENHMETAFILE, UINT, 3492 - PIXELFORMATDESCRIPTOR *); 3493 -extern(Windows) export UINT GetWinMetaFileBits(HENHMETAFILE, UINT, LPBYTE, INT, HDC); 3494 -extern(Windows) export BOOL PlayEnhMetaFile(HDC, HENHMETAFILE, RECT *); 3495 -extern(Windows) export BOOL PlayEnhMetaFileRecord(HDC, LPHANDLETABLE, ENHMETARECORD *, UINT); 3496 -extern(Windows) export HENHMETAFILE SetEnhMetaFileBits(UINT, BYTE *); 3497 -extern(Windows) export HENHMETAFILE SetWinMetaFileBits(UINT, BYTE *, HDC, METAFILEPICT *); 3498 -extern(Windows) export BOOL GdiComment(HDC, UINT, BYTE *); 3499 - 3500 -// #endif /* NOMETAFILE */ 3501 - 3502 -// #ifndef NOTEXTMETRIC 3503 - 3504 -extern(Windows) export BOOL GetTextMetricsA(HDC, LPTEXTMETRICA); 3505 -extern(Windows) export BOOL GetTextMetricsW(HDC, LPTEXTMETRICW); 3506 -// #ifdef UNICODE 3507 -alias GetTextMetricsW GetTextMetrics; 3508 -// #else 3509 -// #... 3510 -// #endif // !UNICODE 3511 - 3512 -// #endif 3513 - 3514 -struct tagDIBSECTION { 3515 - BITMAP dsBm; 3516 - BITMAPINFOHEADER dsBmih; 3517 - DWORD dsBitfields[3]; 3518 - HANDLE dshSection; 3519 - DWORD dsOffset; 4944 + 4945 +DWORD SetMapperFlags(HDC, DWORD); 4946 + 4947 +HMETAFILE SetMetaFileBitsEx(UINT, CPtr!(BYTE)); 4948 + 4949 +int SetMetaRgn(HDC); 4950 + 4951 +BOOL SetMiterLimit(HDC, FLOAT, PFLOAT); 4952 + 4953 +UINT SetPaletteEntries(HPALETTE, UINT, UINT, CPtr!(PALETTEENTRY)); 4954 + 4955 +COLORREF SetPixel(HDC, int, int, COLORREF); 4956 + 4957 +BOOL SetPixelFormat(HDC, int, CPtr!(PIXELFORMATDESCRIPTOR)); 4958 + 4959 +BOOL SetPixelV(HDC, int, int, COLORREF); 4960 + 4961 +int SetPolyFillMode(HDC, int); 4962 + 4963 +BOOL SetRectRgn(HRGN, int, int, int, int); 4964 + 4965 +int SetROP2(HDC, int); 4966 + 4967 +int SetStretchBltMode(HDC, int); 4968 + 4969 +UINT SetSystemPaletteUse(HDC, UINT); 4970 + 4971 +UINT SetTextAlign(HDC, UINT); 4972 + 4973 +int SetTextCharacterExtra(HDC, int); 4974 + 4975 +COLORREF SetTextColor(HDC, COLORREF); 4976 + 4977 +BOOL SetTextJustification(HDC, int, int); 4978 + 4979 +BOOL SetViewportExtEx(HDC, int, int, LPSIZE); 4980 + 4981 +BOOL SetViewportOrgEx(HDC, int, int, LPPOINT); 4982 + 4983 +BOOL SetWindowExtEx(HDC, int, int, LPSIZE); 4984 + 4985 +BOOL SetWindowOrgEx(HDC, int, int, LPPOINT); 4986 + 4987 +HENHMETAFILE SetWinMetaFileBits(UINT, CPtr!(BYTE), HDC, CPtr!(METAFILEPICT)); 4988 + 4989 +BOOL SetWorldTransform(HDC, CPtr!(XFORM)); 4990 + 4991 +int StartDocA(HDC, CPtr!(DOCINFOA)); 4992 + 4993 +int StartDocW(HDC, CPtr!(DOCINFOW)); 4994 + 4995 +int StartPage(HDC); 4996 + 4997 +BOOL StretchBlt(HDC, int, int, int, int, HDC, int, int, int, int, DWORD); 4998 + 4999 +int StretchDIBits(HDC, int, int, int, int, int, int, int, int, CPtr!(VOID), CPtr!(BITMAPINFO), UINT, DWORD); 5000 + 5001 +BOOL StrokeAndFillPath(HDC); 5002 + 5003 +BOOL StrokePath(HDC); 5004 + 5005 +BOOL SwapBuffers(HDC); 5006 + 5007 +BOOL TextOutA(HDC, int, int, LPCSTR, int); 5008 + 5009 +BOOL TextOutW(HDC, int, int, LPCWSTR, int); 5010 + 5011 +BOOL TranslateCharsetInfo(PDWORD, LPCHARSETINFO, DWORD); 5012 + 5013 +BOOL UnrealizeObject(HGDIOBJ); 5014 + 5015 +BOOL UpdateColors(HDC); 5016 + 5017 +BOOL UpdateICMRegKeyA(DWORD, DWORD, LPSTR, UINT); 5018 + 5019 +BOOL UpdateICMRegKeyW(DWORD, DWORD, LPWSTR, UINT); 5020 + 5021 +BOOL WidenPath(HDC); 5022 + 5023 +BOOL wglCopyContext(HGLRC, HGLRC, UINT); 5024 + 5025 +HGLRC wglCreateContext(HDC); 5026 + 5027 +HGLRC wglCreateLayerContext(HDC, int); 5028 + 5029 +BOOL wglDeleteContext(HGLRC); 5030 + 5031 +BOOL wglDescribeLayerPlane(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR); 5032 + 5033 +HGLRC wglGetCurrentContext(); 5034 + 5035 +HDC wglGetCurrentDC(); 5036 + 5037 +int wglGetLayerPaletteEntries(HDC, int, int, int, COLORREF*); 5038 + 5039 +PROC wglGetProcAddress(LPCSTR); 5040 + 5041 +BOOL wglMakeCurrent(HDC, HGLRC); 5042 + 5043 +BOOL wglRealizeLayerPalette(HDC, int, BOOL); 5044 + 5045 +int wglSetLayerPaletteEntries(HDC, int, int, int, CPtr!(COLORREF)); 5046 + 5047 +BOOL wglShareLists(HGLRC, HGLRC); 5048 + 5049 +BOOL wglSwapLayerBuffers(HDC, UINT); 5050 + 5051 +BOOL wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD); 5052 + 5053 +BOOL wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD); 5054 + 5055 +BOOL wglUseFontOutlinesA(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT); 5056 + 5057 +BOOL wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT); 5058 + 5059 +static 5060 + 5061 +if (WINVER >= 0x0500) 5062 +{ 5063 + alias WGLSWAP*PWGLSWAP; 5064 + struct WGLSWAP 5065 + { 5066 + HDC hdc; 5067 + UINT uiFlags; 5068 + } 5069 + const WGL_SWAPMULTIPLE_MAX = 16; 5070 + DWORD wglSwapMultipleBuffers(UINT, WGLSWAP*); 3520 5071 } 3521 -alias tagDIBSECTION DIBSECTION; 3522 -alias tagDIBSECTION* LPDIBSECTION; 3523 -alias tagDIBSECTION* PDIBSECTION; 3524 - 3525 -extern(Windows) export BOOL AngleArc(HDC, int, int, DWORD, FLOAT, FLOAT); 3526 -extern(Windows) export BOOL PolyPolyline(HDC, POINT *, DWORD *, DWORD); 3527 -extern(Windows) export BOOL GetWorldTransform(HDC, LPXFORM); 3528 -extern(Windows) export BOOL SetWorldTransform(HDC, XFORM *); 3529 -extern(Windows) export BOOL ModifyWorldTransform(HDC, XFORM *, DWORD); 3530 -extern(Windows) export BOOL CombineTransform(LPXFORM, XFORM *, XFORM *); 3531 -extern(Windows) export HBITMAP CreateDIBSection(HDC, BITMAPINFO *, UINT, VOID **, HANDLE, DWORD); 3532 -extern(Windows) export UINT GetDIBColorTable(HDC, UINT, UINT, RGBQUAD *); 3533 -extern(Windows) export UINT SetDIBColorTable(HDC, UINT, UINT, RGBQUAD *); 3534 - 3535 -enum : uint { CA_NEGATIVE = 0x0001 } 3536 -enum : uint { CA_LOG_FILTER = 0x0002 } 3537 - 3538 -enum : uint { ILLUMINANT_DEVICE_DEFAULT = 0 } 3539 -enum : uint { ILLUMINANT_A = 1 } 3540 -enum : uint { ILLUMINANT_B = 2 } 3541 -enum : uint { ILLUMINANT_C = 3 } 3542 -enum : uint { ILLUMINANT_D50 = 4 } 3543 -enum : uint { ILLUMINANT_D55 = 5 } 3544 -enum : uint { ILLUMINANT_D65 = 6 } 3545 -enum : uint { ILLUMINANT_D75 = 7 } 3546 -enum : uint { ILLUMINANT_F2 = 8 } 3547 -alias ILLUMINANT_F2 ILLUMINANT_MAX_INDEX; 3548 - 3549 -alias ILLUMINANT_A ILLUMINANT_TUNGSTEN; 3550 -alias ILLUMINANT_C ILLUMINANT_DAYLIGHT; 3551 -alias ILLUMINANT_F2 ILLUMINANT_FLUORESCENT; 3552 -alias ILLUMINANT_C ILLUMINANT_NTSC; 3553 - 3554 -enum : WORD { RGB_GAMMA_MIN = 02500 } 3555 -enum : WORD { RGB_GAMMA_MAX = 65000 } 3556 - 3557 -enum : WORD { REFERENCE_WHITE_MIN = 6000 } 3558 -enum : WORD { REFERENCE_WHITE_MAX = 10000 } 3559 -enum : WORD { REFERENCE_BLACK_MIN = 0 } 3560 -enum : WORD { REFERENCE_BLACK_MAX = 4000 } 3561 - 3562 -enum : SHORT { COLOR_ADJ_MIN = -100 } 3563 -enum : SHORT { COLOR_ADJ_MAX = 100 } 3564 - 3565 -struct tagCOLORADJUSTMENT { 3566 - WORD caSize; 3567 - WORD caFlags; 3568 - WORD caIlluminantIndex; 3569 - WORD caRedGamma; 3570 - WORD caGreenGamma; 3571 - WORD caBlueGamma; 3572 - WORD caReferenceBlack; 3573 - WORD caReferenceWhite; 3574 - SHORT caContrast; 3575 - SHORT caBrightness; 3576 - SHORT caColorfulness; 3577 - SHORT caRedGreenTint; 5072 + 5073 +static 5074 + 5075 +if (WINVER >= 0x0500) 5076 +{ 5077 + BOOL GdiAlphaBlend(HDC, int, int, int, int, HDC, int, int, int, int, BLENDFUNCTION); 5078 + 5079 + BOOL GradientFill(HDC, PTRIVERTEX, ULONG, PVOID, ULONG, ULONG); 5080 + 5081 + BOOL TransparentBlt(HDC, int, int, int, int, HDC, int, int, int, int, UINT); 3578 5082 } 3579 -alias tagCOLORADJUSTMENT COLORADJUSTMENT; 3580 -alias tagCOLORADJUSTMENT* PCOLORADJUSTMENT; 3581 -alias tagCOLORADJUSTMENT* LPCOLORADJUSTMENT; 3582 5083 3583 -extern(Windows) export BOOL SetColorAdjustment(HDC, COLORADJUSTMENT *); 3584 -extern(Windows) export BOOL GetColorAdjustment(HDC, LPCOLORADJUSTMENT); 3585 -extern(Windows) export HPALETTE CreateHalftonePalette(HDC); 5084 +static 3586 5085 3587 -// #ifdef STRICT 3588 -extern(Windows) alias BOOL function( HDC, int) ABORTPROC; 3589 -// #else 3590 -// ... 3591 -// #endif 5086 +if (_WIN32_WINNT >= 0x0500) 5087 +{ 5088 + COLORREF SetDCBrushColor(HDC, COLORREF); 5089 + 5090 + COLORREF SetDCPenColor(HDC, COLORREF); 5091 + 5092 + HANDLE AddFontMemResourceEx(PVOID, DWORD, PVOID, DWORD*); 5093 + 5094 + int AddFontResourceExA(LPCSTR, DWORD, PVOID); 5095 + 5096 + int AddFontResourceExW(LPCWSTR, DWORD, PVOID); 5097 + 5098 + BOOL RemoveFontMemResourceEx(HANDLE); 5099 + 5100 + BOOL RemoveFontResourceExA(LPCSTR, DWORD, PVOID); 5101 + 5102 + BOOL RemoveFontResourceExW(LPCWSTR, DWORD, PVOID); 5103 + 5104 + DWORD GetFontUnicodeRanges(HDC, LPGLYPHSET); 5105 + 5106 + DWORD GetGlyphIndicesA(HDC, LPCSTR, int, LPWORD, DWORD); 5107 + 5108 + DWORD GetGlyphIndicesW(HDC, LPCWSTR, int, LPWORD, DWORD); 5109 + 5110 + BOOL GetTextExtentPointI(HDC, LPWORD, int, LPSIZE); 3592 5111 3593 -struct _DOCINFOA { 3594 - int cbSize; 3595 - LPCSTR lpszDocName; 3596 - LPCSTR lpszOutput; 3597 -// #if (WINVER >= 0x0400) 3598 - LPCSTR lpszDatatype; 3599 - DWORD fwType; 3600 -// #endif /* WINVER */ 3601 -} 3602 -alias _DOCINFOA DOCINFOA; 3603 -alias _DOCINFOA* LPDOCINFOA; 5112 + BOOL GetTextExtentExPointI(HDC, LPWORD, int, int, LPINT, LPINT, LPSIZE); 3604 5113 3605 -struct _DOCINFOW { 3606 - int cbSize; 3607 - LPCWSTR lpszDocName; 3608 - LPCWSTR lpszOutput; 3609 -// #if (WINVER >= 0x0400) 3610 - LPCWSTR lpszDatatype; 3611 - DWORD fwType; 3612 -// #endif /* WINVER */ 3613 -} 3614 -alias _DOCINFOW DOCINFOW; 3615 -alias _DOCINFOW* LPDOCINFOW; 5114 + BOOL GetCharWidthI(HDC, UINT, UINT, LPWORD, LPINT); 3616 5115 3617 -// #ifdef UNICODE 3618 -alias DOCINFOW DOCINFO; 3619 -alias LPDOCINFOW LPDOCINFO; 3620 -// #else 3621 -// ... 3622 -// #endif // UNICODE 3623 - 3624 -// #if(WINVER >= 0x0400) 3625 -enum : uint { DI_APPBANDING = 0x00000001 } 3626 -enum : uint { DI_ROPS_READ_DESTINATION = 0x00000002 } 3627 -// #endif /* WINVER >= 0x0400 */ 3628 - 3629 -extern(Windows) export int StartDocA(HDC, DOCINFOA *); 3630 -extern(Windows) export int StartDocW(HDC, DOCINFOW *); 3631 -// #ifdef UNICODE 3632 -alias StartDocW StartDoc; 3633 -// #else 3634 -// #... 3635 -// #endif // !UNICODE 3636 -extern(Windows) export int EndDoc(HDC); 3637 -extern(Windows) export int StartPage(HDC); 3638 -extern(Windows) export int EndPage(HDC); 3639 -extern(Windows) export int AbortDoc(HDC); 3640 -extern(Windows) export int SetAbortProc(HDC, ABORTPROC); 3641 - 3642 -extern(Windows) export BOOL AbortPath(HDC); 3643 -extern(Windows) export BOOL ArcTo(HDC, int, int, int, int, int, int, int, int); 3644 -extern(Windows) export BOOL BeginPath(HDC); 3645 -extern(Windows) export BOOL CloseFigure(HDC); 3646 -extern(Windows) export BOOL EndPath(HDC); 3647 -extern(Windows) export BOOL FillPath(HDC); 3648 -extern(Windows) export BOOL FlattenPath(HDC); 3649 -extern(Windows) export int GetPath(HDC, LPPOINT, LPBYTE, int); 3650 -extern(Windows) export HRGN PathToRegion(HDC); 3651 -extern(Windows) export BOOL PolyDraw(HDC, POINT *, BYTE *, int); 3652 -extern(Windows) export BOOL SelectClipPath(HDC, int); 3653 -extern(Windows) export int SetArcDirection(HDC, int); 3654 -extern(Windows) export BOOL SetMiterLimit(HDC, FLOAT, PFLOAT); 3655 -extern(Windows) export BOOL StrokeAndFillPath(HDC); 3656 -extern(Windows) export BOOL StrokePath(HDC); 3657 -extern(Windows) export BOOL WidenPath(HDC); 3658 -extern(Windows) export HPEN ExtCreatePen(DWORD, DWORD, LOGBRUSH *, DWORD, DWORD *); 3659 -extern(Windows) export BOOL GetMiterLimit(HDC, PFLOAT); 3660 -extern(Windows) export int GetArcDirection(HDC); 3661 - 3662 -extern(Windows) export int GetObjectA(HGDIOBJ, int, LPVOID); 3663 -extern(Windows) export int GetObjectW(HGDIOBJ, int, LPVOID); 3664 -// #ifdef UNICODE 3665 -alias GetObjectW GetObject; 3666 -// #else 3667 -// #... 3668 -// #endif // !UNICODE 3669 -extern(Windows) export BOOL MoveToEx(HDC, int, int, LPPOINT); 3670 -extern(Windows) export BOOL TextOutA(HDC, int, int, LPCSTR, int); 3671 -extern(Windows) export BOOL TextOutW(HDC, int, int, LPCWSTR, int); 3672 -// #ifdef UNICODE 3673 -alias TextOutW TextOut; 3674 -// #else 3675 -// #... 3676 -// #endif // !UNICODE 3677 -extern(Windows) export BOOL ExtTextOutA(HDC, int, int, UINT, RECT *, LPCSTR, UINT, INT *); 3678 -extern(Windows) export BOOL ExtTextOutW(HDC, int, int, UINT, RECT *, LPCWSTR, UINT, INT *); 3679 -// #ifdef UNICODE 3680 -alias ExtTextOutW ExtTextOut; 3681 -// #else 3682 -// #... 3683 -// #endif // !UNICODE 3684 -extern(Windows) export BOOL PolyTextOutA(HDC, POLYTEXTA *, int); 3685 -extern(Windows) export BOOL PolyTextOutW(HDC, POLYTEXTW *, int); 3686 -// #ifdef UNICODE 3687 -alias PolyTextOutW PolyTextOut; 3688 -// #else 3689 -// #... 3690 -// #endif // !UNICODE 3691 - 3692 -extern(Windows) export HRGN CreatePolygonRgn(POINT *, int, int); 3693 -extern(Windows) export BOOL DPtoLP(HDC, LPPOINT, int); 3694 -extern(Windows) export BOOL LPtoDP(HDC, LPPOINT, int); 3695 -extern(Windows) export BOOL Polygon(HDC, POINT *, int); 3696 -extern(Windows) export BOOL Polyline(HDC, POINT *, int); 3697 - 3698 -extern(Windows) export BOOL PolyBezier(HDC, POINT *, DWORD); 3699 -extern(Windows) export BOOL PolyBezierTo(HDC, POINT *, DWORD); 3700 -extern(Windows) export BOOL PolylineTo(HDC, POINT *, DWORD); 3701 - 3702 -extern(Windows) export BOOL SetViewportExtEx(HDC, int, int, LPSIZE); 3703 -extern(Windows) export BOOL SetViewportOrgEx(HDC, int, int, LPPOINT); 3704 -extern(Windows) export BOOL SetWindowExtEx(HDC, int, int, LPSIZE); 3705 -extern(Windows) export BOOL SetWindowOrgEx(HDC, int, int, LPPOINT); 3706 - 3707 -extern(Windows) export BOOL OffsetViewportOrgEx(HDC, int, int, LPPOINT); 3708 -extern(Windows) export BOOL OffsetWindowOrgEx(HDC, int, int, LPPOINT); 3709 -extern(Windows) export BOOL ScaleViewportExtEx(HDC, int, int, int, int, LPSIZE); 3710 -extern(Windows) export BOOL ScaleWindowExtEx(HDC, int, int, int, int, LPSIZE); 3711 -extern(Windows) export BOOL SetBitmapDimensionEx(HBITMAP, int, int, LPSIZE); 3712 -extern(Windows) export BOOL SetBrushOrgEx(HDC, int, int, LPPOINT); 3713 - 3714 -extern(Windows) export int GetTextFaceA(HDC, int, LPSTR); 3715 -extern(Windows) export int GetTextFaceW(HDC, int, LPWSTR); 3716 -// #ifdef UNICODE 3717 -alias GetTextFaceW GetTextFace; 3718 -// #else 3719 -// #... 3720 -// #endif // !UNICODE 3721 - 3722 -enum : uint { FONTMAPPER_MAX = 10 } 3723 - 3724 -struct tagKERNINGPAIR { 3725 - WORD wFirst; 3726 - WORD wSecond; 3727 - int iKernAmount; 5116 + BOOL GetCharABCWidthsI(HDC, UINT, UINT, LPWORD, LPABC); 3728 5117 } 3729 -alias tagKERNINGPAIR KERNINGPAIR; 3730 -alias tagKERNINGPAIR* LPKERNINGPAIR; 5118 +} // extern (Windows) 5119 + 5120 +version (Unicode) 5121 +{ 5122 + alias WCHAR BCHAR; 5123 + alias DOCINFOW DOCINFO; 5124 + alias LOGFONTW LOGFONT; 3731 5125 3732 -extern(Windows) export DWORD GetKerningPairsA(HDC, DWORD, LPKERNINGPAIR); 3733 -extern(Windows) export DWORD GetKerningPairsW(HDC, DWORD, LPKERNINGPAIR); 3734 -// #ifdef UNICODE 3735 -alias GetKerningPairsW GetKerningPairs; 3736 -// #else 3737 -// #... 3738 -// #endif // !UNICODE 5126 + alias TEXTMETRICW TEXTMETRIC; 5127 + alias NPTEXTMETRICW NPTEXTMETRIC; 5128 + alias ICMENUMPROCW ICMENUMPROC; 5129 + alias FONTENUMPROCW FONTENUMPROC; 5130 + alias DEVMODEW DEVMODE; 3739 5131 3740 -extern(Windows) export BOOL GetDCOrgEx(HDC, LPPOINT); 3741 -extern(Windows) export BOOL FixBrushOrgEx(HDC, int, int, LPPOINT); 3742 -extern(Windows) export BOOL UnrealizeObject(HGDIOBJ); 3743 - 3744 -extern(Windows) export BOOL GdiFlush(); 3745 -extern(Windows) export DWORD GdiSetBatchLimit(DWORD); 3746 -extern(Windows) export DWORD GdiGetBatchLimit(); 3747 - 3748 -// #if(WINVER >= 0x0400) 5132 + alias EXTLOGFONTW EXTLOGFONT; 5133 + alias GCP_RESULTSW GCP_RESULTS; 5134 + alias OUTLINETEXTMETRICW OUTLINETEXTMETRIC; 5135 + alias POLYTEXTW POLYTEXT; 5136 + alias LOGCOLORSPACEW LOGCOLORSPACE; 5137 + alias NEWTEXTMETRICW NEWTEXTMETRIC; 5138 + alias NEWTEXTMETRICEXW NEWTEXTMETRICEX; 5139 + alias ENUMLOGFONTW ENUMLOGFONT; 5140 + alias ENUMLOGFONTEXW ENUMLOGFONTEX; 5141 + alias DISPLAY_DEVICEW DISPLAY_DEVICE; 5142 + alias AddFontResourceW AddFontResource; 3749 5143 3750 -enum : uint { ICM_OFF = 1 } 3751 -enum : uint { ICM_ON = 2 } 3752 -enum : uint { ICM_QUERY = 3 } 3753 -enum : uint { ICM_DONE_OUTSIDEDC = 4 } 3754 - 3755 -extern(Windows) alias int function(LPSTR, LPARAM) ICMENUMPROCA; 3756 -extern(Windows) alias int function(LPWSTR, LPARAM) ICMENUMPROCW; 3757 -// #ifdef UNICODE 3758 -alias ICMENUMPROCW ICMENUMPROC; 3759 -// #else 3760 -// #... 3761 -// #endif // !UNICODE 5144 + alias CopyEnhMetaFileW CopyEnhMetaFile; 5145 + alias CopyMetaFileW CopyMetaFile; 5146 + alias CreateColorSpaceW CreateColorSpace; 5147 + alias CreateDCW CreateDC; 5148 + alias CreateEnhMetaFileW CreateEnhMetaFile; 5149 + alias CreateFontW CreateFont; 5150 + alias CreateFontIndirectW CreateFontIndirect; 5151 + alias CreateICW CreateIC; 5152 + alias CreateMetaFileW CreateMetaFile; 5153 + alias CreateScalableFontResourceW CreateScalableFontResource; 5154 + alias DeviceCapabilitiesW DeviceCapabilities; 5155 + alias EnumFontFamiliesW EnumFontFamilies; 5156 + alias EnumFontFamiliesExW EnumFontFamiliesEx; 5157 + alias EnumFontsW EnumFonts; 5158 + alias EnumICMProfilesW EnumICMProfiles; 5159 + alias ExtTextOutW ExtTextOut; 5160 + alias GetCharABCWidthsFloatW GetCharABCWidthsFloat; 5161 + alias GetCharABCWidthsW GetCharABCWidths; 5162 + alias GetCharacterPlacementW GetCharacterPlacement; 5163 + alias GetCharWidth32W GetCharWidth32; 5164 + alias GetCharWidthFloatW GetCharWidthFloat; 5165 + alias GetCharWidthW GetCharWidth; 5166 + alias GetEnhMetaFileW GetEnhMetaFile; 5167 + alias GetEnhMetaFileDescriptionW GetEnhMetaFileDescription; 5168 + alias GetGlyphOutlineW GetGlyphOutline; 5169 + alias GetICMProfileW GetICMProfile; 5170 + alias GetKerningPairsW GetKerningPairs; 5171 + alias GetLogColorSpaceW GetLogColorSpace; 5172 + alias GetMetaFileW GetMetaFile; 5173 + alias GetObjectW GetObject; 5174 + alias GetOutlineTextMetricsW GetOutlineTextMetrics; 5175 + alias GetTextExtentPointW GetTextExtentPoint; 5176 + alias GetTextExtentExPointW GetTextExtentExPoint; 5177 + alias GetTextExtentPoint32W GetTextExtentPoint32; 5178 + alias GetTextFaceW GetTextFace; 5179 + alias GetTextMetricsW GetTextMetrics; 5180 + alias PolyTextOutW PolyTextOut; 5181 + alias RemoveFontResourceW RemoveFontResource; 3762 5182 3763 -extern(Windows) export int SetICMMode(HDC, int); 3764 -extern(Windows) export BOOL CheckColorsInGamut(HDC, LPVOID, LPVOID, DWORD); 3765 -extern(Windows) export HCOLORSPACE GetColorSpace(HDC); 3766 -extern(Windows) export BOOL GetLogColorSpaceA(HCOLORSPACE, LPLOGCOLORSPACEA, DWORD); 3767 -extern(Windows) export BOOL GetLogColorSpaceW(HCOLORSPACE, LPLOGCOLORSPACEW, DWORD); 3768 -// #ifdef UNICODE 3769 -alias GetLogColorSpaceW GetLogColorSpace; 3770 -// #else 3771 -// #... 3772 -// #endif // !UNICODE 3773 -extern(Windows) export HCOLORSPACE CreateColorSpaceA(LPLOGCOLORSPACEA); 3774 -extern(Windows) export HCOLORSPACE CreateColorSpaceW(LPLOGCOLORSPACEW); 3775 -// #ifdef UNICODE 3776 -alias CreateColorSpaceW CreateColorSpace; 3777 -// #else 3778 -// #... 3779 -// #endif // !UNICODE 3780 -extern(Windows) export HCOLORSPACE SetColorSpace(HDC, HCOLORSPACE); 3781 -extern(Windows) export BOOL DeleteColorSpace(HCOLORSPACE); 3782 -extern(Windows) export BOOL GetICMProfileA(HDC, LPDWORD, LPSTR); 3783 -extern(Windows) export BOOL GetICMProfileW(HDC, LPDWORD, LPWSTR); 3784 -// #ifdef UNICODE 3785 -alias GetICMProfileW GetICMProfile; 3786 -// #else 3787 -// #... 3788 -// #endif // !UNICODE 3789 -extern(Windows) export BOOL SetICMProfileA(HDC, LPSTR); 3790 -extern(Windows) export BOOL SetICMProfileW(HDC, LPWSTR); 3791 -// #ifdef UNICODE 3792 -alias SetICMProfileW SetICMProfile; 3793 -// #else 3794 -// #... 3795 -// #endif // !UNICODE 3796 -extern(Windows) export BOOL GetDeviceGammaRamp(HDC, LPVOID); 3797 -extern(Windows) export BOOL SetDeviceGammaRamp(HDC, LPVOID); 3798 -extern(Windows) export BOOL ColorMatchToTarget(HDC, HDC, DWORD); 3799 -extern(Windows) export int EnumICMProfilesA(HDC, ICMENUMPROCA, LPARAM); 3800 -extern(Windows) export int EnumICMProfilesW(HDC, ICMENUMPROCW, LPARAM); 3801 -// #ifdef UNICODE 3802 -alias EnumICMProfilesW EnumICMProfiles; 3803 -// #else 3804 -// #... 3805 -// #endif // !UNICODE 3806 -extern(Windows) export BOOL UpdateICMRegKeyA(DWORD, LPSTR, LPSTR, UINT); 3807 -extern(Windows) export BOOL UpdateICMRegKeyW(DWORD, LPWSTR, LPWSTR, UINT); 3808 -// #ifdef UNICODE 3809 -alias UpdateICMRegKeyW UpdateICMRegKey; 3810 -// #else 3811 -// #... 3812 -// #endif // !UNICODE 3813 -// #endif /* WINVER >= 0x0400 */ 3814 - 3815 -// #if (WINVER >= 0x0500) 3816 -extern(Windows) export BOOL ColorCorrectPalette(HDC, HPALETTE, DWORD, DWORD); 3817 -// #endif 3818 - 3819 -// #ifndef NOMETAFILE 5183 + alias ResetDCW ResetDC; 5184 + alias SetICMProfileW SetICMProfile; 5185 + alias StartDocW StartDoc; 5186 + alias TextOutW TextOut; 5187 + alias UpdateICMRegKeyW UpdateICMRegKey; 5188 + alias wglUseFontBitmapsW wglUseFontBitmaps; 5189 + alias wglUseFontOutlinesW wglUseFontOutlines; 5190 + static 3820 5191 3821 -// #ifndef _MAC 3822 -enum : uint { ENHMETA_SIGNATURE = 0x464D4520 } 3823 -// #else 3824 -// #... 3825 -// #endif 3826 - 3827 -enum : uint { ENHMETA_STOCK_OBJECT = 0x80000000 } 3828 - 3829 -enum : uint { EMR_HEADER = 1 } 3830 -enum : uint { EMR_POLYBEZIER = 2 } 3831 -enum : uint { EMR_POLYGON = 3 } 3832 -enum : uint { EMR_POLYLINE = 4 } 3833 -enum : uint { EMR_POLYBEZIERTO = 5 } 3834 -enum : uint { EMR_POLYLINETO = 6 } 3835 -enum : uint { EMR_POLYPOLYLINE = 7 } 3836 -enum : uint { EMR_POLYPOLYGON = 8 } 3837 -enum : uint { EMR_SETWINDOWEXTEX = 9 } 3838 -enum : uint { EMR_SETWINDOWORGEX = 10 } 3839 -enum : uint { EMR_SETVIEWPORTEXTEX = 11 } 3840 -enum : uint { EMR_SETVIEWPORTORGEX = 12 } 3841 -enum : uint { EMR_SETBRUSHORGEX = 13 } 3842 -enum : uint { EMR_EOF = 14 } 3843 -enum : uint { EMR_SETPIXELV = 15 } 3844 -enum : uint { EMR_SETMAPPERFLAGS = 16 } 3845 -enum : uint { EMR_SETMAPMODE = 17 } 3846 -enum : uint { EMR_SETBKMODE = 18 } 3847 -enum : uint { EMR_SETPOLYFILLMODE = 19 } 3848 -enum : uint { EMR_SETROP2 = 20 } 3849 -enum : uint { EMR_SETSTRETCHBLTMODE = 21 } 3850 -enum : uint { EMR_SETTEXTALIGN = 22 } 3851 -enum : uint { EMR_SETCOLORADJUSTMENT = 23 } 3852 -enum : uint { EMR_SETTEXTCOLOR = 24 } 3853 -enum : uint { EMR_SETBKCOLOR = 25 } 3854 -enum : uint { EMR_OFFSETCLIPRGN = 26 } 3855 -enum : uint { EMR_MOVETOEX = 27 } 3856 -enum : uint { EMR_SETMETARGN = 28 } 3857 -enum : uint { EMR_EXCLUDECLIPRECT = 29 } 3858 -enum : uint { EMR_INTERSECTCLIPRECT = 30 } 3859 -enum : uint { EMR_SCALEVIEWPORTEXTEX = 31 } 3860 -enum : uint { EMR_SCALEWINDOWEXTEX = 32 } 3861 -enum : uint { EMR_SAVEDC = 33 } 3862 -enum : uint { EMR_RESTOREDC = 34 } 3863 -enum : uint { EMR_SETWORLDTRANSFORM = 35 } 3864 -enum : uint { EMR_MODIFYWORLDTRANSFORM = 36 } 3865 -enum : uint { EMR_SELECTOBJECT = 37 } 3866 -enum : uint { EMR_CREATEPEN = 38 } 3867 -enum : uint { EMR_CREATEBRUSHINDIRECT = 39 } 3868 -enum : uint { EMR_DELETEOBJECT = 40 } 3869 -enum : uint { EMR_ANGLEARC = 41 } 3870 -enum : uint { EMR_ELLIPSE = 42 } 3871 -enum : uint { EMR_RECTANGLE = 43 } 3872 -enum : uint { EMR_ROUNDRECT = 44 } 3873 -enum : uint { EMR_ARC = 45 } 3874 -enum : uint { EMR_CHORD = 46 } 3875 -enum : uint { EMR_PIE = 47 } 3876 -enum : uint { EMR_SELECTPALETTE = 48 } 3877 -enum : uint { EMR_CREATEPALETTE = 49 } 3878 -enum : uint { EMR_SETPALETTEENTRIES = 50 } 3879 -enum : uint { EMR_RESIZEPALETTE = 51 } 3880 -enum : uint { EMR_REALIZEPALETTE = 52 } 3881 -enum : uint { EMR_EXTFLOODFILL = 53 } 3882 -enum : uint { EMR_LINETO = 54 } 3883 -enum : uint { EMR_ARCTO = 55 } 3884 -enum : uint { EMR_POLYDRAW = 56 } 3885 -enum : uint { EMR_SETARCDIRECTION = 57 } 3886 -enum : uint { EMR_SETMITERLIMIT = 58 } 3887 -enum : uint { EMR_BEGINPATH = 59 } 3888 -enum : uint { EMR_ENDPATH = 60 } 3889 -enum : uint { EMR_CLOSEFIGURE = 61 } 3890 -enum : uint { EMR_FILLPATH = 62 } 3891 -enum : uint { EMR_STROKEANDFILLPATH = 63 } 3892 -enum : uint { EMR_STROKEPATH = 64 } 3893 -enum : uint { EMR_FLATTENPATH = 65 } 3894 -enum : uint { EMR_WIDENPATH = 66 } 3895 -enum : uint { EMR_SELECTCLIPPATH = 67 } 3896 -enum : uint { EMR_ABORTPATH = 68 } 3897 - 3898 -enum : uint { EMR_GDICOMMENT = 70 } 3899 -enum : uint { EMR_FILLRGN = 71 } 3900 -enum : uint { EMR_FRAMERGN = 72 } 3901 -enum : uint { EMR_INVERTRGN = 73 } 3902 -enum : uint { EMR_PAINTRGN = 74 } 3903 -enum : uint { EMR_EXTSELECTCLIPRGN = 75 } 3904 -enum : uint { EMR_BITBLT = 76 } 3905 -enum : uint { EMR_STRETCHBLT = 77 } 3906 -enum : uint { EMR_MASKBLT = 78 } 3907 -enum : uint { EMR_PLGBLT = 79 } 3908 -enum : uint { EMR_SETDIBITSTODEVICE = 80 } 3909 -enum : uint { EMR_STRETCHDIBITS = 81 } 3910 -enum : uint { EMR_EXTCREATEFONTINDIRECTW = 82 } 3911 -enum : uint { EMR_EXTTEXTOUTA = 83 } 3912 -enum : uint { EMR_EXTTEXTOUTW = 84 } 3913 -enum : uint { EMR_POLYBEZIER16 = 85 } 3914 -enum : uint { EMR_POLYGON16 = 86 } 3915 -enum : uint { EMR_POLYLINE16 = 87 } 3916 -enum : uint { EMR_POLYBEZIERTO16 = 88 } 3917 -enum : uint { EMR_POLYLINETO16 = 89 } 3918 -enum : uint { EMR_POLYPOLYLINE16 = 90 } 3919 -enum : uint { EMR_POLYPOLYGON16 = 91 } 3920 -enum : uint { EMR_POLYDRAW16 = 92 } 3921 -enum : uint { EMR_CREATEMONOBRUSH = 93 } 3922 -enum : uint { EMR_CREATEDIBPATTERNBRUSHPT = 94 } 3923 -enum : uint { EMR_EXTCREATEPEN = 95 } 3924 -enum : uint { EMR_POLYTEXTOUTA = 96 } 3925 -enum : uint { EMR_POLYTEXTOUTW = 97 } 3926 - 3927 -// #if(WINVER >= 0x0400) 3928 -enum : uint { EMR_SETICMMODE = 98 } 3929 -enum : uint { EMR_CREATECOLORSPACE = 99 } 3930 -enum : uint { EMR_SETCOLORSPACE = 100 } 3931 -enum : uint { EMR_DELETECOLORSPACE = 101 } 3932 -enum : uint { EMR_GLSRECORD = 102 } 3933 -enum : uint { EMR_GLSBOUNDEDRECORD = 103 } 3934 -enum : uint { EMR_PIXELFORMAT = 104 } 3935 -// #endif /* WINVER >= 0x0400 */ 3936 - 3937 -// #if(WINVER >= 0x0500) 3938 -enum : uint { EMR_RESERVED_105 = 105 } 3939 -enum : uint { EMR_RESERVED_106 = 106 } 3940 -enum : uint { EMR_RESERVED_107 = 107 } 3941 -enum : uint { EMR_RESERVED_108 = 108 } 3942 -enum : uint { EMR_RESERVED_109 = 109 } 3943 -enum : uint { EMR_RESERVED_110 = 110 } 3944 -enum : uint { EMR_COLORCORRECTPALETTE = 111 } 3945 -enum : uint { EMR_SETICMPROFILEA = 112 } 3946 -enum : uint { EMR_SETICMPROFILEW = 113 } 3947 -enum : uint { EMR_ALPHABLEND = 114 } 3948 -enum : uint { EMR_SETLAYOUT = 115 } 3949 -enum : uint { EMR_TRANSPARENTBLT = 116 } 3950 -enum : uint { EMR_RESERVED_117 = 117 } 3951 -enum : uint { EMR_GRADIENTFILL = 118 } 3952 -enum : uint { EMR_RESERVED_119 = 119 } 3953 -enum : uint { EMR_RESERVED_120 = 120 } 3954 -enum : uint { EMR_COLORMATCHTOTARGETW = 121 } 3955 -enum : uint { EMR_CREATECOLORSPACEW = 122 } 3956 -// #endif /* WINVER >= 0x0500 */ 3957 - 3958 -enum : uint { EMR_MIN = 1 } 3959 - 3960 -// #if (WINVER >= 0x0500) 3961 -enum : uint { EMR_MAX = 122 } 3962 -// #elif (WINVER >= 0x0400) 3963 -// #... 3964 -// #else 3965 -// #... 3966 -// #endif 3967 - 3968 -struct tagEMR { 3969 - DWORD iType; 3970 - DWORD nSize; 3971 - 5192 + if (_WIN32_WINNT >= 0x0500) 5193 + { 5194 + alias ENUMLOGFONTEXDVW ENUMLOGFONTEXDV; 5195 + alias PENUMLOGFONTEXDVW PENUMLOGFONTEXDV; 5196 + alias LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV; 5197 + alias AddFontResourceExW AddFontResourceEx; 5198 + alias RemoveFontResourceExW RemoveFontResourceEx; 5199 + alias GetGlyphIndicesW GetGlyphIndices; 5200 + } 3972 5201 } 3973 -alias tagEMR EMR; 3974 -alias tagEMR* PEMR; 3975 - 3976 -struct tagEMRTEXT { 3977 - POINTL ptlReference; 3978 - DWORD nChars; 3979 - DWORD offString; 3980 - DWORD fOptions; 3981 - RECTL rcl; 3982 - DWORD offDx; 3983 - 3984 -} 3985 -alias tagEMRTEXT EMRTEXT; 3986 -alias tagEMRTEXT* PEMRTEXT; 3987 - 3988 -struct tagABORTPATH { 3989 - EMR emr; 3990 -} 3991 -alias tagABORTPATH EMRABORTPATH; 3992 -alias tagABORTPATH* PEMRABORTPATH; 3993 -alias tagABORTPATH EMRBEGINPATH; 3994 -alias tagABORTPATH* PEMRBEGINPATH; 3995 -alias tagABORTPATH EMRENDPATH; 3996 -alias tagABORTPATH* PEMRENDPATH; 3997 -alias tagABORTPATH EMRCLOSEFIGURE; 3998 -alias tagABORTPATH* PEMRCLOSEFIGURE; 3999 -alias tagABORTPATH EMRFLATTENPATH; 4000 -alias tagABORTPATH* PEMRFLATTENPATH; 4001 -alias tagABORTPATH EMRWIDENPATH; 4002 -alias tagABORTPATH* PEMRWIDENPATH; 4003 -alias tagABORTPATH EMRSETMETARGN; 4004 -alias tagABORTPATH* PEMRSETMETARGN; 4005 -alias tagABORTPATH EMRSAVEDC; 4006 -alias tagABORTPATH* PEMRSAVEDC; 4007 -alias tagABORTPATH EMRREALIZEPALETTE; 4008 -alias tagABORTPATH* PEMRREALIZEPALETTE; 5202 +else /* non-unicode build */ 5203 +{ 5204 + alias BYTE BCHAR; 5205 + alias DOCINFOA DOCINFO; 5206 + alias LOGFONTA LOGFONT; 5207 + alias TEXTMETRICA TEXTMETRIC; 5208 + alias NPTEXTMETRICA NPTEXTMETRIC; 5209 + alias ICMENUMPROCA ICMENUMPROC; 5210 + alias FONTENUMPROCA FONTENUMPROC; 5211 + alias DEVMODEA DEVMODE; 5212 + alias EXTLOGFONTA EXTLOGFONT; 5213 + alias GCP_RESULTSA GCP_RESULTS; 5214 + alias OUTLINETEXTMETRICA OUTLINETEXTMETRIC; 5215 + alias POLYTEXTA POLYTEXT; 5216 + alias LOGCOLORSPACEA LOGCOLORSPACE; 5217 + alias NEWTEXTMETRICA NEWTEXTMETRIC; 5218 + alias NEWTEXTMETRICEXA NEWTEXTMETRICEX; 5219 + alias ENUMLOGFONTA ENUMLOGFONT; 5220 + alias ENUMLOGFONTEXA ENUMLOGFONTEX; 5221 + alias DISPLAY_DEVICEA DISPLAY_DEVICE; 4009 5222 4010 -struct tagEMRSELECTCLIPPATH { 4011 - EMR emr; 4012 - DWORD iMode; 4013 -} 4014 -alias tagEMRSELECTCLIPPATH EMRSELECTCLIPPATH; 4015 -alias tagEMRSELECTCLIPPATH* PEMRSELECTCLIPPATH; 4016 -alias tagEMRSELECTCLIPPATH EMRSETBKMODE; 4017 -alias tagEMRSELECTCLIPPATH* PEMRSETBKMODE; 4018 -alias tagEMRSELECTCLIPPATH EMRSETMAPMODE; 4019 -alias tagEMRSELECTCLIPPATH* PEMRSETMAPMODE; 4020 -alias tagEMRSELECTCLIPPATH EMRSETLAYOUT; 4021 -alias tagEMRSELECTCLIPPATH* PEMRSETLAYOUT; 4022 -alias tagEMRSELECTCLIPPATH EMRSETPOLYFILLMODE; 4023 -alias tagEMRSELECTCLIPPATH* PEMRSETPOLYFILLMODE; 4024 -alias tagEMRSELECTCLIPPATH EMRSETROP2; 4025 -alias tagEMRSELECTCLIPPATH* PEMRSETROP2; 4026 -alias tagEMRSELECTCLIPPATH EMRSETSTRETCHBLTMODE; 4027 -alias tagEMRSELECTCLIPPATH* PEMRSETSTRETCHBLTMODE; 4028 -alias tagEMRSELECTCLIPPATH EMRSETICMMODE; 4029 -alias tagEMRSELECTCLIPPATH* PEMRSETICMMODE; 4030 -alias tagEMRSELECTCLIPPATH EMRSETTEXTALIGN; 4031 -alias tagEMRSELECTCLIPPATH* PEMRSETTEXTALIGN; 4032 - 4033 -struct tagEMRSETMITERLIMIT { 4034 - EMR emr; 4035 - FLOAT eMiterLimit; 4036 -} 4037 -alias tagEMRSETMITERLIMIT EMRSETMITERLIMIT; 4038 -alias tagEMRSETMITERLIMIT* PEMRSETMITERLIMIT; 4039 - 4040 -struct tagEMRRESTOREDC { 4041 - EMR emr; 4042 - LONG iRelative; 4043 -} 4044 -alias tagEMRRESTOREDC EMRRESTOREDC; 4045 -alias tagEMRRESTOREDC* PEMRRESTOREDC; 4046 - 4047 -struct tagEMRSETARCDIRECTION { 4048 - EMR emr; 4049 - DWORD iArcDirection; 5223 + alias AddFontResourceA AddFontResource; 5224 + alias CopyEnhMetaFileA CopyEnhMetaFile; 5225 + alias CopyMetaFileA CopyMetaFile; 5226 + alias CreateColorSpaceA CreateColorSpace; 5227 + alias CreateDCA CreateDC; 5228 + alias CreateEnhMetaFileA CreateEnhMetaFile; 5229 + alias CreateFontA CreateFont; 5230 + alias CreateFontIndirectA CreateFontIndirect; 5231 + alias CreateICA CreateIC; 5232 + alias CreateMetaFileA CreateMetaFile; 5233 + alias CreateScalableFontResourceA CreateScalableFontResource; 5234 + alias DeviceCapabilitiesA DeviceCapabilities; 5235 + alias EnumFontFamiliesA EnumFontFamilies; 5236 + alias EnumFontFamiliesExA EnumFontFamiliesEx; 5237 + alias EnumFontsA EnumFonts; 5238 + alias EnumICMProfilesA EnumICMProfiles; 5239 + alias ExtTextOutA ExtTextOut; 5240 + alias GetCharWidthFloatA GetCharWidthFloat; 5241 + alias GetCharWidthA GetCharWidth; 5242 + alias GetCharacterPlacementA GetCharacterPlacement; 5243 + alias GetCharABCWidthsA GetCharABCWidths; 5244 + alias GetCharABCWidthsFloatA GetCharABCWidthsFloat; 5245 + alias GetCharWidth32A GetCharWidth32; 5246 + alias GetEnhMetaFileA GetEnhMetaFile; 5247 + alias GetEnhMetaFileDescriptionA GetEnhMetaFileDescription; 5248 + alias GetGlyphOutlineA GetGlyphOutline; 5249 + alias GetICMProfileA GetICMProfile; 5250 + alias GetKerningPairsA GetKerningPairs; 5251 + alias GetLogColorSpaceA GetLogColorSpace; 5252 + alias GetMetaFileA GetMetaFile; 5253 + alias GetObjectA GetObject; 5254 + alias GetOutlineTextMetricsA GetOutlineTextMetrics; 5255 + alias GetTextExtentPointA GetTextExtentPoint; 5256 + alias GetTextExtentExPointA GetTextExtentExPoint; 5257 + alias GetTextExtentPoint32A GetTextExtentPoint32; 5258 + alias GetTextFaceA GetTextFace; 5259 + alias GetTextMetricsA GetTextMetrics; 5260 + alias PolyTextOutA PolyTextOut; 5261 + alias RemoveFontResourceA RemoveFontResource; 5262 + alias ResetDCA ResetDC; 5263 + alias SetICMProfileA SetICMProfile; 5264 + alias StartDocA StartDoc; 5265 + alias TextOutA TextOut; 5266 + alias UpdateICMRegKeyA UpdateICMRegKey; 5267 + alias wglUseFontBitmapsA wglUseFontBitmaps; 5268 + alias wglUseFontOutlinesA wglUseFontOutlines; 5269 + static 4050 5270 4051 -} 4052 -alias tagEMRSETARCDIRECTION EMRSETARCDIRECTION; 4053 -alias tagEMRSETARCDIRECTION* PEMRSETARCDIRECTION; 4054 - 4055 -struct tagEMRSETMAPPERFLAGS { 4056 - EMR emr; 4057 - DWORD dwFlags; 4058 -} 4059 -alias tagEMRSETMAPPERFLAGS EMRSETMAPPERFLAGS; 4060 -alias tagEMRSETMAPPERFLAGS* PEMRSETMAPPERFLAGS; 4061 - 4062 -struct tagEMRSETTEXTCOLOR { 4063 - EMR emr; 4064 - COLORREF crColor; 4065 -} 4066 -alias tagEMRSETTEXTCOLOR EMRSETBKCOLOR; 4067 -alias tagEMRSETTEXTCOLOR* PEMRSETBKCOLOR; 4068 -alias tagEMRSETTEXTCOLOR EMRSETTEXTCOLOR; 4069 -alias tagEMRSETTEXTCOLOR* PEMRSETTEXTCOLOR; 4070 - 4071 -struct tagEMRSELECTOBJECT { 4072 - EMR emr; 4073 - DWORD ihObject; 4074 -} 4075 -alias tagEMRSELECTOBJECT EMRSELECTOBJECT; 4076 -alias tagEMRSELECTOBJECT* PEMRSELECTOBJECT; 4077 -alias tagEMRSELECTOBJECT EMRDELETEOBJECT; 4078 -alias tagEMRSELECTOBJECT* PEMRDELETEOBJECT; 4079 - 4080 -struct tagEMRSELECTPALETTE { 4081 - EMR emr; 4082 - DWORD ihPal; 4083 -} 4084 -alias tagEMRSELECTPALETTE EMRSELECTPALETTE; 4085 -alias tagEMRSELECTPALETTE* PEMRSELECTPALETTE; 4086 - 4087 -struct tagEMRRESIZEPALETTE { 4088 - EMR emr; 4089 - DWORD ihPal; 4090 - DWORD cEntries; 4091 -} 4092 -alias tagEMRRESIZEPALETTE EMRRESIZEPALETTE; 4093 -alias tagEMRRESIZEPALETTE* PEMRRESIZEPALETTE; 4094 - 4095 -struct tagEMRSETPALETTEENTRIES { 4096 - EMR emr; 4097 - DWORD ihPal; 4098 - DWORD iStart; 4099 - DWORD cEntries; 4100 - PALETTEENTRY aPalEntries[1]; 4101 -} 4102 -alias tagEMRSETPALETTEENTRIES EMRSETPALETTEENTRIES; 4103 -alias tagEMRSETPALETTEENTRIES* PEMRSETPALETTEENTRIES; 4104 - 4105 -struct tagEMRSETCOLORADJUSTMENT { 4106 - EMR emr; 4107 - COLORADJUSTMENT ColorAdjustment; 4108 -} 4109 -alias tagEMRSETCOLORADJUSTMENT EMRSETCOLORADJUSTMENT; 4110 -alias tagEMRSETCOLORADJUSTMENT* PEMRSETCOLORADJUSTMENT; 4111 - 4112 -struct tagEMRGDICOMMENT { 4113 - EMR emr; 4114 - DWORD cbData; 4115 - BYTE Data[1]; 4116 -} 4117 -alias tagEMRGDICOMMENT EMRGDICOMMENT; 4118 -alias tagEMRGDICOMMENT* PEMRGDICOMMENT; 4119 - 4120 -struct tagEMREOF { 4121 - EMR emr; 4122 - DWORD nPalEntries; 4123 - DWORD offPalEntries; 4124 - DWORD nSizeLast; 4125 - 4126 -} 4127 -alias tagEMREOF EMREOF; 4128 -alias tagEMREOF* PEMREOF; 4129 - 4130 -struct tagEMRLINETO { 4131 - EMR emr; 4132 - POINTL ptl; 4133 -} 4134 -alias tagEMRLINETO EMRLINETO; 4135 -alias tagEMRLINETO* PEMRLINETO; 4136 -alias tagEMRLINETO EMRMOVETOEX; 4137 -alias tagEMRLINETO* PEMRMOVETOEX; 4138 - 4139 -struct tagEMROFFSETCLIPRGN { 4140 - EMR emr; 4141 - POINTL ptlOffset; 4142 -} 4143 -alias tagEMROFFSETCLIPRGN EMROFFSETCLIPRGN; 4144 -alias tagEMROFFSETCLIPRGN* PEMROFFSETCLIPRGN; 4145 - 4146 -struct tagEMRFILLPATH { 4147 - EMR emr; 4148 - RECTL rclBounds; 4149 -} 4150 -alias tagEMRFILLPATH EMRFILLPATH; 4151 -alias tagEMRFILLPATH* PEMRFILLPATH; 4152 -alias tagEMRFILLPATH EMRSTROKEANDFILLPATH; 4153 -alias tagEMRFILLPATH* PEMRSTROKEANDFILLPATH; 4154 -alias tagEMRFILLPATH EMRSTROKEPATH; 4155 -alias tagEMRFILLPATH* PEMRSTROKEPATH; 4156 - 4157 -struct tagEMREXCLUDECLIPRECT { 4158 - EMR emr; 4159 - RECTL rclClip; 4160 -} 4161 -alias tagEMREXCLUDECLIPRECT EMREXCLUDECLIPRECT; 4162 -alias tagEMREXCLUDECLIPRECT* PEMREXCLUDECLIPRECT; 4163 -alias tagEMREXCLUDECLIPRECT EMRINTERSECTCLIPRECT; 4164 -alias tagEMREXCLUDECLIPRECT* PEMRINTERSECTCLIPRECT; 4165 - 4166 -struct tagEMRSETVIEWPORTORGEX { 4167 - EMR emr; 4168 - POINTL ptlOrigin; 4169 -} 4170 -alias tagEMRSETVIEWPORTORGEX EMRSETVIEWPORTORGEX; 4171 -alias tagEMRSETVIEWPORTORGEX* PEMRSETVIEWPORTORGEX; 4172 -alias tagEMRSETVIEWPORTORGEX EMRSETWINDOWORGEX; 4173 -alias tagEMRSETVIEWPORTORGEX* PEMRSETWINDOWORGEX; 4174 -alias tagEMRSETVIEWPORTORGEX EMRSETBRUSHORGEX; 4175 -alias tagEMRSETVIEWPORTORGEX* PEMRSETBRUSHORGEX; 4176 - 4177 -struct tagEMRSETVIEWPORTEXTEX { 4178 - EMR emr; 4179 - SIZEL szlExtent; 4180 -} 4181 -alias tagEMRSETVIEWPORTEXTEX EMRSETVIEWPORTEXTEX; 4182 -alias tagEMRSETVIEWPORTEXTEX* PEMRSETVIEWPORTEXTEX; 4183 -alias tagEMRSETVIEWPORTEXTEX EMRSETWINDOWEXTEX; 4184 -alias tagEMRSETVIEWPORTEXTEX* PEMRSETWINDOWEXTEX; 4185 - 4186 -struct tagEMRSCALEVIEWPORTEXTEX { 4187 - EMR emr; 4188 - LONG xNum; 4189 - LONG xDenom; 4190 - LONG yNum; 4191 - LONG yDenom; 4192 -} 4193 -alias tagEMRSCALEVIEWPORTEXTEX EMRSCALEVIEWPORTEXTEX; 4194 -alias tagEMRSCALEVIEWPORTEXTEX* PEMRSCALEVIEWPORTEXTEX; 4195 -alias tagEMRSCALEVIEWPORTEXTEX EMRSCALEWINDOWEXTEX; 4196 -alias tagEMRSCALEVIEWPORTEXTEX* PEMRSCALEWINDOWEXTEX; 4197 - 4198 -struct tagEMRSETWORLDTRANSFORM { 4199 - EMR emr; 4200 - XFORM xform; 5271 + if (_WIN32_WINNT >= 0x0500) 5272 + { 5273 + alias ENUMLOGFONTEXDVA ENUMLOGFONTEXDV; 5274 + alias PENUMLOGFONTEXDVA PENUMLOGFONTEXDV; 5275 + alias LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV; 5276 + alias AddFontResourceExA AddFontResourceEx; 5277 + alias RemoveFontResourceExA RemoveFontResourceEx; 5278 + alias GetGlyphIndicesA GetGlyphIndices; 5279 + } 4201 5280 } 4202 -alias tagEMRSETWORLDTRANSFORM EMRSETWORLDTRANSFORM; 4203 -alias tagEMRSETWORLDTRANSFORM* PEMRSETWORLDTRANSFORM; 4204 - 4205 -struct tagEMRMODIFYWORLDTRANSFORM { 4206 - EMR emr; 4207 - XFORM xform; 4208 - DWORD iMode; 4209 -} 4210 -alias tagEMRMODIFYWORLDTRANSFORM EMRMODIFYWORLDTRANSFORM; 4211 -alias tagEMRMODIFYWORLDTRANSFORM* PEMRMODIFYWORLDTRANSFORM; 4212 - 4213 -struct tagEMRSETPIXELV { 4214 - EMR emr; 4215 - POINTL ptlPixel; 4216 - COLORREF crColor; 4217 -} 4218 -alias tagEMRSETPIXELV EMRSETPIXELV; 4219 -alias tagEMRSETPIXELV* PEMRSETPIXELV; 4220 5281 4221 -struct tagEMREXTFLOODFILL { 4222 - EMR emr; 4223 - POINTL ptlStart; 4224 - COLORREF crColor; 4225 - DWORD iMode; 4226 -} 4227 -alias tagEMREXTFLOODFILL EMREXTFLOODFILL; 4228 -alias tagEMREXTFLOODFILL* PEMREXTFLOODFILL; 4229 - 4230 -struct tagEMRELLIPSE { 4231 - EMR emr; 4232 - RECTL rclBox; 4233 -} 4234 -alias tagEMRELLIPSE EMRELLIPSE; 4235 -alias tagEMRELLIPSE* PEMRELLIPSE; 4236 -alias tagEMRELLIPSE EMRRECTANGLE; 4237 -alias tagEMRELLIPSE* PEMRRECTANGLE; 4238 - 4239 -struct tagEMRROUNDRECT { 4240 - EMR emr; 4241 - RECTL rclBox; 4242 - SIZEL szlCorner; 4243 -} 4244 -alias tagEMRROUNDRECT EMRROUNDRECT; 4245 -alias tagEMRROUNDRECT* PEMRROUNDRECT; 4246 - 4247 -struct tagEMRARC { 4248 - EMR emr; 4249 - RECTL rclBox; 4250 - POINTL ptlStart; 4251 - POINTL ptlEnd; 4252 -} 4253 -alias tagEMRARC EMRARC; 4254 -alias tagEMRARC* PEMRARC; 4255 -alias tagEMRARC EMRARCTO; 4256 -alias tagEMRARC* PEMRARCTO; 4257 -alias tagEMRARC EMRCHORD; 4258 -alias tagEMRARC* PEMRCHORD; 4259 -alias tagEMRARC EMRPIE; 4260 -alias tagEMRARC* PEMRPIE; 4261 - 4262 -struct tagEMRANGLEARC { 4263 - EMR emr; 4264 - POINTL ptlCenter; 4265 - DWORD nRadius; 4266 - FLOAT eStartAngle; 4267 - FLOAT eSweepAngle; 4268 -} 4269 -alias tagEMRANGLEARC EMRANGLEARC; 4270 -alias tagEMRANGLEARC* PEMRANGLEARC; 4271 - 4272 -struct tagEMRPOLYLINE { 4273 - EMR emr; 4274 - RECTL rclBounds; 4275 - DWORD cptl; 4276 - POINTL aptl[1]; 4277 -} 4278 -alias tagEMRPOLYLINE EMRPOLYLINE; 4279 -alias tagEMRPOLYLINE* PEMRPOLYLINE; 4280 -alias tagEMRPOLYLINE EMRPOLYBEZIER; 4281 -alias tagEMRPOLYLINE* PEMRPOLYBEZIER; 4282 -alias tagEMRPOLYLINE EMRPOLYGON; 4283 -alias tagEMRPOLYLINE* PEMRPOLYGON; 4284 -alias tagEMRPOLYLINE EMRPOLYBEZIERTO; 4285 -alias tagEMRPOLYLINE* PEMRPOLYBEZIERTO; 4286 -alias tagEMRPOLYLINE EMRPOLYLINETO; 4287 -alias tagEMRPOLYLINE* PEMRPOLYLINETO; 4288 - 4289 -struct tagEMRPOLYLINE16 { 4290 - EMR emr; 4291 - RECTL rclBounds; 4292 - DWORD cpts; 4293 - POINTS apts[1]; 4294 -} 4295 -alias tagEMRPOLYLINE16 EMRPOLYLINE16; 4296 -alias tagEMRPOLYLINE16* PEMRPOLYLINE16; 4297 -alias tagEMRPOLYLINE16 EMRPOLYBEZIER16; 4298 -alias tagEMRPOLYLINE16* PEMRPOLYBEZIER16; 4299 -alias tagEMRPOLYLINE16 EMRPOLYGON16; 4300 -alias tagEMRPOLYLINE16* PEMRPOLYGON16; 4301 -alias tagEMRPOLYLINE16 EMRPOLYBEZIERTO16; 4302 -alias tagEMRPOLYLINE16* PEMRPOLYBEZIERTO16; 4303 -alias tagEMRPOLYLINE16 EMRPOLYLINETO16; 4304 -alias tagEMRPOLYLINE16* PEMRPOLYLINETO16; 4305 - 4306 -struct tagEMRPOLYDRAW { 4307 - EMR emr; 4308 - RECTL rclBounds; 4309 - DWORD cptl; 4310 - POINTL aptl[1]; 4311 - BYTE abTypes[1]; 4312 -} 4313 -alias tagEMRPOLYDRAW EMRPOLYDRAW; 4314 -alias tagEMRPOLYDRAW* PEMRPOLYDRAW; 4315 - 4316 -struct tagEMRPOLYDRAW16 { 4317 - EMR emr; 4318 - RECTL rclBounds; 4319 - DWORD cpts; 4320 - POINTS apts[1]; 4321 - BYTE abTypes[1]; 4322 -} 4323 -alias tagEMRPOLYDRAW16 EMRPOLYDRAW16; 4324 -alias tagEMRPOLYDRAW16* PEMRPOLYDRAW16; 4325 - 4326 -struct tagEMRPOLYPOLYLINE { 4327 - EMR emr; 4328 - RECTL rclBounds; 4329 - DWORD nPolys; 4330 - DWORD cptl; 4331 - DWORD aPolyCounts[1]; 4332 - POINTL aptl[1]; 4333 -} 4334 -alias tagEMRPOLYPOLYLINE EMRPOLYPOLYLINE; 4335 -alias tagEMRPOLYPOLYLINE* PEMRPOLYPOLYLINE; 4336 -alias tagEMRPOLYPOLYLINE EMRPOLYPOLYGON; 4337 -alias tagEMRPOLYPOLYLINE* PEMRPOLYPOLYGON; 4338 - 4339 -struct tagEMRPOLYPOLYLINE16 { 4340 - EMR emr; 4341 - RECTL rclBounds; 4342 - DWORD nPolys; 4343 - DWORD cpts; 4344 - DWORD aPolyCounts[1]; 4345 - POINTS apts[1]; 4346 -} 4347 -alias tagEMRPOLYPOLYLINE16 EMRPOLYPOLYLINE16; 4348 -alias tagEMRPOLYPOLYLINE16* PEMRPOLYPOLYLINE16; 4349 -alias tagEMRPOLYPOLYLINE16 EMRPOLYPOLYGON16; 4350 -alias tagEMRPOLYPOLYLINE16* PEMRPOLYPOLYGON16; 4351 - 4352 -struct tagEMRINVERTRGN { 4353 - EMR emr; 4354 - RECTL rclBounds; 4355 - DWORD cbRgnData; 4356 - BYTE RgnData[1]; 4357 -} 4358 -alias tagEMRINVERTRGN EMRINVERTRGN; 4359 -alias tagEMRINVERTRGN* PEMRINVERTRGN; 4360 -alias tagEMRINVERTRGN EMRPAINTRGN; 4361 -alias tagEMRINVERTRGN* PEMRPAINTRGN; 4362 - 4363 -struct tagEMRFILLRGN { 4364 - EMR emr; 4365 - RECTL rclBounds; 4366 - DWORD cbRgnData; 4367 - DWORD ihBrush; 4368 - BYTE RgnData[1]; 4369 -} 4370 -alias tagEMRFILLRGN EMRFILLRGN; 4371 -alias tagEMRFILLRGN* PEMRFILLRGN; 4372 - 4373 -struct tagEMRFRAMERGN { 4374 - EMR emr; 4375 - RECTL rclBounds; 4376 - DWORD cbRgnData; 4377 - DWORD ihBrush; 4378 - SIZEL szlStroke; 4379 - BYTE RgnData[1]; 4380 -} 4381 -alias tagEMRFRAMERGN EMRFRAMERGN; 4382 -alias tagEMRFRAMERGN* PEMRFRAMERGN; 4383 - 4384 -struct tagEMREXTSELECTCLIPRGN { 4385 - EMR emr; 4386 - DWORD cbRgnData; 4387 - DWORD iMode; 4388 - BYTE RgnData[1]; 4389 -} 4390 -alias tagEMREXTSELECTCLIPRGN EMREXTSELECTCLIPRGN; 4391 -alias tagEMREXTSELECTCLIPRGN* PEMREXTSELECTCLIPRGN; 4392 - 4393 -struct tagEMREXTTEXTOUTA { 4394 - EMR emr; 4395 - RECTL rclBounds; 4396 - DWORD iGraphicsMode; 4397 - FLOAT exScale; 4398 - FLOAT eyScale; 4399 - EMRTEXT emrtext; 4400 - 4401 -} 4402 -alias tagEMREXTTEXTOUTA EMREXTTEXTOUTA; 4403 -alias tagEMREXTTEXTOUTA* PEMREXTTEXTOUTA; 4404 -alias tagEMREXTTEXTOUTA EMREXTTEXTOUTW; 4405 -alias tagEMREXTTEXTOUTA* PEMREXTTEXTOUTW; 4406 - 4407 -struct tagEMRPOLYTEXTOUTA { 4408 - EMR emr; 4409 - RECTL rclBounds; 4410 - DWORD iGraphicsMode; 4411 - FLOAT exScale; 4412 - FLOAT eyScale; 4413 - LONG cStrings; 4414 - EMRTEXT aemrtext[1]; 4415 - 4416 -} 4417 -alias tagEMRPOLYTEXTOUTA EMRPOLYTEXTOUTA; 4418 -alias tagEMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTA; 4419 -alias tagEMRPOLYTEXTOUTA EMRPOLYTEXTOUTW; 4420 -alias tagEMRPOLYTEXTOUTA* PEMRPOLYTEXTOUTW; 4421 - 4422 -struct tagEMRBITBLT { 4423 - EMR emr; 4424 - RECTL rclBounds; 4425 - LONG xDest; 4426 - LONG yDest; 4427 - LONG cxDest; 4428 - LONG cyDest; 4429 - DWORD dwRop; 4430 - LONG xSrc; 4431 - LONG ySrc; 4432 - XFORM xformSrc; 4433 - COLORREF crBkColorSrc; 4434 - DWORD iUsageSrc; 4435 - 4436 - DWORD offBmiSrc; 4437 - DWORD cbBmiSrc; 4438 - DWORD offBitsSrc; 4439 - DWORD cbBitsSrc; 4440 -} 4441 -alias tagEMRBITBLT EMRBITBLT; 4442 -alias tagEMRBITBLT* PEMRBITBLT; 4443 - 4444 -struct tagEMRSTRETCHBLT { 4445 - EMR emr; 4446 - RECTL rclBounds; 4447 - LONG xDest; 4448 - LONG yDest; 4449 - LONG cxDest; 4450 - LONG cyDest; 4451 - DWORD dwRop; 4452 - LONG xSrc; 4453 - LONG ySrc; 4454 - XFORM xformSrc; 4455 - COLORREF crBkColorSrc; 4456 - DWORD iUsageSrc; 4457 - 4458 - DWORD offBmiSrc; 4459 - DWORD cbBmiSrc; 4460 - DWORD offBitsSrc; 4461 - DWORD cbBitsSrc; 4462 - LONG cxSrc; 4463 - LONG cySrc; 4464 -} 4465 -alias tagEMRSTRETCHBLT EMRSTRETCHBLT; 4466 -alias tagEMRSTRETCHBLT* PEMRSTRETCHBLT; 4467 - 4468 -struct tagEMRMASKBLT { 4469 - EMR emr; 4470 - RECTL rclBounds; 4471 - LONG xDest; 4472 - LONG yDest; 4473 - LONG cxDest; 4474 - LONG cyDest; 4475 - DWORD dwRop; 4476 - LONG xSrc; 4477 - LONG ySrc; 4478 - XFORM xformSrc; 4479 - COLORREF crBkColorSrc; 4480 - DWORD iUsageSrc; 4481 - 4482 - DWORD offBmiSrc; 4483 - DWORD cbBmiSrc; 4484 - DWORD offBitsSrc; 4485 - DWORD cbBitsSrc; 4486 - LONG xMask; 4487 - LONG yMask; 4488 - DWORD iUsageMask; 4489 - DWORD offBmiMask; 4490 - DWORD cbBmiMask; 4491 - DWORD offBitsMask; 4492 - DWORD cbBitsMask; 4493 -} 4494 -alias tagEMRMASKBLT EMRMASKBLT; 4495 -alias tagEMRMASKBLT* PEMRMASKBLT; 4496 - 4497 -struct tagEMRPLGBLT { 4498 - EMR emr; 4499 - RECTL rclBounds; 4500 - POINTL aptlDest[3]; 4501 - LONG xSrc; 4502 - LONG ySrc; 4503 - LONG cxSrc; 4504 - LONG cySrc; 4505 - XFORM xformSrc; 4506 - COLORREF crBkColorSrc; 4507 - DWORD iUsageSrc; 4508 - 4509 - DWORD offBmiSrc; 4510 - DWORD cbBmiSrc; 4511 - DWORD offBitsSrc; 4512 - DWORD cbBitsSrc; 4513 - LONG xMask; 4514 - LONG yMask; 4515 - DWORD iUsageMask; 4516 - DWORD offBmiMask; 4517 - DWORD cbBmiMask; 4518 - DWORD offBitsMask; 4519 - DWORD cbBitsMask; 4520 -} 4521 -alias tagEMRPLGBLT EMRPLGBLT; 4522 -alias tagEMRPLGBLT* PEMRPLGBLT; 4523 - 4524 -struct tagEMRSETDIBITSTODEVICE { 4525 - EMR emr; 4526 - RECTL rclBounds; 4527 - LONG xDest; 4528 - LONG yDest; 4529 - LONG xSrc; 4530 - LONG ySrc; 4531 - LONG cxSrc; 4532 - LONG cySrc; 4533 - DWORD offBmiSrc; 4534 - DWORD cbBmiSrc; 4535 - DWORD offBitsSrc; 4536 - DWORD cbBitsSrc; 4537 - DWORD iUsageSrc; 4538 - DWORD iStartScan; 4539 - DWORD cScans; 4540 -} 4541 -alias tagEMRSETDIBITSTODEVICE EMRSETDIBITSTODEVICE; 4542 -alias tagEMRSETDIBITSTODEVICE* PEMRSETDIBITSTODEVICE; 4543 - 4544 -struct tagEMRSTRETCHDIBITS { 4545 - EMR emr; 4546 - RECTL rclBounds; 4547 - LONG xDest; 4548 - LONG yDest; 4549 - LONG xSrc; 4550 - LONG ySrc; 4551 - LONG cxSrc; 4552 - LONG cySrc; 4553 - DWORD offBmiSrc; 4554 - DWORD cbBmiSrc; 4555 - DWORD offBitsSrc; 4556 - DWORD cbBitsSrc; 4557 - DWORD iUsageSrc; 4558 - DWORD dwRop; 4559 - LONG cxDest; 4560 - LONG cyDest; 4561 -} 4562 -alias tagEMRSTRETCHDIBITS EMRSTRETCHDIBITS; 4563 -alias tagEMRSTRETCHDIBITS* PEMRSTRETCHDIBITS; 4564 - 4565 -struct tagEMREXTCREATEFONTINDIRECTW { 4566 - EMR emr; 4567 - DWORD ihFont; 4568 - EXTLOGFONTW elfw; 4569 -} 4570 -alias tagEMREXTCREATEFONTINDIRECTW EMREXTCREATEFONTINDIRECTW; 4571 -alias tagEMREXTCREATEFONTINDIRECTW* PEMREXTCREATEFONTINDIRECTW; 4572 - 4573 -struct tagEMRCREATEPALETTE { 4574 - EMR emr; 4575 - DWORD ihPal; 4576 - LOGPALETTE lgpl; 4577 - 4578 -} 4579 -alias tagEMRCREATEPALETTE EMRCREATEPALETTE; 4580 -alias tagEMRCREATEPALETTE* PEMRCREATEPALETTE; 4581 - 4582 -struct tagEMRCREATEPEN { 4583 - EMR emr; 4584 - DWORD ihPen; 4585 - LOGPEN lopn; 4586 -} 4587 -alias tagEMRCREATEPEN EMRCREATEPEN; 4588 -alias tagEMRCREATEPEN* PEMRCREATEPEN; 4589 - 4590 -struct tagEMREXTCREATEPEN { 4591 - EMR emr; 4592 - DWORD ihPen; 4593 - DWORD offBmi; 4594 - DWORD cbBmi; 4595 - 4596 - DWORD offBits; 4597 - DWORD cbBits; 4598 - EXTLOGPEN elp; 4599 -} 4600 -alias tagEMREXTCREATEPEN EMREXTCREATEPEN; 4601 -alias tagEMREXTCREATEPEN* PEMREXTCREATEPEN; 4602 - 4603 -struct tagEMRCREATEBRUSHINDIRECT { 4604 - EMR emr; 4605 - DWORD ihBrush; 4606 - LOGBRUSH32 lb; 4607 - 4608 -} 4609 -alias tagEMRCREATEBRUSHINDIRECT EMRCREATEBRUSHINDIRECT; 4610 -alias tagEMRCREATEBRUSHINDIRECT* PEMRCREATEBRUSHINDIRECT; 4611 - 4612 -struct tagEMRCREATEMONOBRUSH { 4613 - EMR emr; 4614 - DWORD ihBrush; 4615 - DWORD iUsage; 4616 - DWORD offBmi; 4617 - DWORD cbBmi; 4618 - DWORD offBits; 4619 - DWORD cbBits; 4620 -} 4621 -alias tagEMRCREATEMONOBRUSH EMRCREATEMONOBRUSH; 4622 -alias tagEMRCREATEMONOBRUSH* PEMRCREATEMONOBRUSH; 4623 - 4624 -struct tagEMRCREATEDIBPATTERNBRUSHPT { 4625 - EMR emr; 4626 - DWORD ihBrush; 4627 - DWORD iUsage; 4628 - DWORD offBmi; 4629 - DWORD cbBmi; 4630 - 4631 - DWORD offBits; 4632 - DWORD cbBits; 4633 -} 4634 -alias tagEMRCREATEDIBPATTERNBRUSHPT EMRCREATEDIBPATTERNBRUSHPT; 4635 -alias tagEMRCREATEDIBPATTERNBRUSHPT* PEMRCREATEDIBPATTERNBRUSHPT; 4636 - 4637 -struct tagEMRFORMAT { 4638 - DWORD dSignature; 4639 - DWORD nVersion; 4640 - DWORD cbData; 4641 - DWORD offData; 4642 - 4643 -} 4644 -alias tagEMRFORMAT EMRFORMAT; 4645 -alias tagEMRFORMAT* PEMRFORMAT; 4646 - 4647 -// #if(WINVER >= 0x0400) 4648 - 4649 -struct tagEMRGLSRECORD { 4650 - EMR emr; 4651 - DWORD cbData; 4652 - BYTE Data[1]; 4653 -} 4654 -alias tagEMRGLSRECORD EMRGLSRECORD; 4655 -alias tagEMRGLSRECORD* PEMRGLSRECORD; 4656 - 4657 -struct tagEMRGLSBOUNDEDRECORD { 4658 - EMR emr; 4659 - RECTL rclBounds; 4660 - DWORD cbData; 4661 - BYTE Data[1]; 4662 -} 4663 -alias tagEMRGLSBOUNDEDRECORD EMRGLSBOUNDEDRECORD; 4664 -alias tagEMRGLSBOUNDEDRECORD* PEMRGLSBOUNDEDRECORD; 4665 - 4666 -struct tagEMRPIXELFORMAT { 4667 - EMR emr; 4668 - PIXELFORMATDESCRIPTOR pfd; 4669 -} 4670 -alias tagEMRPIXELFORMAT EMRPIXELFORMAT; 4671 -alias tagEMRPIXELFORMAT* PEMRPIXELFORMAT; 4672 - 4673 -struct tagEMRCREATECOLORSPACE { 4674 - EMR emr; 4675 - DWORD ihCS; 4676 - LOGCOLORSPACEA lcs; 4677 -} 4678 -alias tagEMRCREATECOLORSPACE EMRCREATECOLORSPACE; 4679 -alias tagEMRCREATECOLORSPACE* PEMRCREATECOLORSPACE; 4680 - 4681 -struct tagEMRSETCOLORSPACE { 4682 - EMR emr; 4683 - DWORD ihCS; 4684 -} 4685 -alias tagEMRSETCOLORSPACE EMRSETCOLORSPACE; 4686 -alias tagEMRSETCOLORSPACE* PEMRSETCOLORSPACE; 4687 -alias tagEMRSETCOLORSPACE EMRSELECTCOLORSPACE; 4688 -alias tagEMRSETCOLORSPACE* PEMRSELECTCOLORSPACE; 4689 -alias tagEMRSETCOLORSPACE EMRDELETECOLORSPACE; 4690 -alias tagEMRSETCOLORSPACE* PEMRDELETECOLORSPACE; 4691 - 4692 -// #endif /* WINVER >= 0x0400 */ 4693 - 4694 -// #if(WINVER >= 0x0500) 4695 - 4696 -struct tagEMREXTESCAPE { 4697 - EMR emr; 4698 - INT iEscape; 4699 - INT cbEscData; 4700 - BYTE EscData[1]; 4701 -} 4702 -alias tagEMREXTESCAPE EMREXTESCAPE; 4703 -alias tagEMREXTESCAPE* PEMREXTESCAPE; 4704 -alias tagEMREXTESCAPE EMRDRAWESCAPE; 4705 -alias tagEMREXTESCAPE* PEMRDRAWESCAPE; 4706 - 4707 -struct tagEMRNAMEDESCAPE { 4708 - EMR emr; 4709 - INT iEscape; 4710 - INT cbDriver; 4711 - INT cbEscData; 4712 - BYTE EscData[1]; 4713 -} 4714 -alias tagEMRNAMEDESCAPE EMRNAMEDESCAPE; 4715 -alias tagEMRNAMEDESCAPE* PEMRNAMEDESCAPE; 4716 - 4717 -enum : uint { SETICMPROFILE_EMBEDED = 0x00000001 } 4718 - 4719 -struct tagEMRSETICMPROFILE { 4720 - EMR emr; 4721 - DWORD dwFlags; 4722 - DWORD cbName; 4723 - DWORD cbData; 4724 - BYTE Data[1]; 4725 -} 4726 -alias tagEMRSETICMPROFILE EMRSETICMPROFILE; 4727 -alias tagEMRSETICMPROFILE* PEMRSETICMPROFILE; 4728 -alias tagEMRSETICMPROFILE EMRSETICMPROFILEA; 4729 -alias tagEMRSETICMPROFILE* PEMRSETICMPROFILEA; 4730 -alias tagEMRSETICMPROFILE EMRSETICMPROFILEW; 4731 -alias tagEMRSETICMPROFILE* PEMRSETICMPROFILEW; 4732 - 4733 -enum : uint { CREATECOLORSPACE_EMBEDED = 0x00000001 } 4734 - 4735 -struct tagEMRCREATECOLORSPACEW { 4736 - EMR emr; 4737 - DWORD ihCS; 4738 - LOGCOLORSPACEW lcs; 4739 - DWORD dwFlags; 4740 - DWORD cbData; 4741 - BYTE Data[1]; 4742 -} 4743 -alias tagEMRCREATECOLORSPACEW EMRCREATECOLORSPACEW; 4744 -alias tagEMRCREATECOLORSPACEW* PEMRCREATECOLORSPACEW; 4745 - 4746 -enum : uint { COLORMATCHTOTARGET_EMBEDED = 0x00000001 } 4747 - 4748 -struct tagCOLORMATCHTOTARGET { 4749 - EMR emr; 4750 - DWORD dwAction; 4751 - DWORD dwFlags; 4752 - DWORD cbName; 4753 - DWORD cbData; 4754 - BYTE Data[1]; 4755 -} 4756 -alias tagCOLORMATCHTOTARGET EMRCOLORMATCHTOTARGET; 4757 -alias tagCOLORMATCHTOTARGET* PEMRCOLORMATCHTOTARGET; 4758 - 4759 -struct tagCOLORCORRECTPALETTE { 4760 - EMR emr; 4761 - DWORD ihPalette; 4762 - DWORD nFirstEntry; 4763 - DWORD nPalEntries; 4764 - DWORD nReserved; 4765 -} 4766 -alias tagCOLORCORRECTPALETTE EMRCOLORCORRECTPALETTE; 4767 -alias tagCOLORCORRECTPALETTE* PEMRCOLORCORRECTPALETTE; 4768 - 4769 -struct tagEMRALPHABLEND { 4770 - EMR emr; 4771 - RECTL rclBounds; 4772 - LONG xDest; 4773 - LONG yDest; 4774 - LONG cxDest; 4775 - LONG cyDest; 4776 - DWORD dwRop; 4777 - LONG xSrc; 4778 - LONG ySrc; 4779 - XFORM xformSrc; 4780 - COLORREF crBkColorSrc; 4781 - DWORD iUsageSrc; 4782 - 4783 - DWORD offBmiSrc; 4784 - DWORD cbBmiSrc; 4785 - DWORD offBitsSrc; 4786 - DWORD cbBitsSrc; 4787 - LONG cxSrc; 4788 - LONG cySrc; 4789 -} 4790 -alias tagEMRALPHABLEND EMRALPHABLEND; 4791 -alias tagEMRALPHABLEND* PEMRALPHABLEND; 4792 - 4793 -struct tagEMRGRADIENTFILL { 4794 - EMR emr; 4795 - RECTL rclBounds; 4796 - DWORD nVer; 4797 - DWORD nTri; 4798 - ULONG ulMode; 4799 - TRIVERTEX Ver[1]; 4800 -} 4801 -alias tagEMRGRADIENTFILL EMRGRADIENTFILL; 4802 -alias tagEMRGRADIENTFILL* PEMRGRADIENTFILL; 4803 - 4804 -struct tagEMRTRANSPARENTBLT { 4805 - EMR emr; 4806 - RECTL rclBounds; 4807 - LONG xDest; 4808 - LONG yDest; 4809 - LONG cxDest; 4810 - LONG cyDest; 4811 - DWORD dwRop; 4812 - LONG xSrc; 4813 - LONG ySrc; 4814 - XFORM xformSrc; 4815 - COLORREF crBkColorSrc; 4816 - DWORD iUsageSrc; 4817 - 4818 - DWORD offBmiSrc; 4819 - DWORD cbBmiSrc; 4820 - DWORD offBitsSrc; 4821 - DWORD cbBitsSrc; 4822 - LONG cxSrc; 4823 - LONG cySrc; 4824 -} 4825 -alias tagEMRTRANSPARENTBLT EMRTRANSPARENTBLT; 4826 -alias tagEMRTRANSPARENTBLT* PEMRTRANSPARENTBLT; 4827 - 4828 -// #endif /* WINVER >= 0x0500 */ 4829 - 4830 -enum : uint { GDICOMMENT_IDENTIFIER = 0x43494447 } 4831 -enum : uint { GDICOMMENT_WINDOWS_METAFILE = 0x80000001 } 4832 -enum : uint { GDICOMMENT_BEGINGROUP = 0x00000002 } 4833 -enum : uint { GDICOMMENT_ENDGROUP = 0x00000003 } 4834 -enum : uint { GDICOMMENT_MULTIFORMATS = 0x40000004 } 4835 -enum : uint { EPS_SIGNATURE = 0x46535045 } 4836 -enum : uint { GDICOMMENT_UNICODE_STRING = 0x00000040 } 4837 -enum : uint { GDICOMMENT_UNICODE_END = 0x00000080 } 4838 - 4839 -// #endif /* NOMETAFILE */ 4840 - 4841 -extern(Windows) export BOOL wglCopyContext(HGLRC, HGLRC, UINT); 4842 -extern(Windows) export HGLRC wglCreateContext(HDC); 4843 -extern(Windows) export HGLRC wglCreateLayerContext(HDC, int); 4844 -extern(Windows) export BOOL wglDeleteContext(HGLRC); 4845 -extern(Windows) export HGLRC wglGetCurrentContext(); 4846 -extern(Windows) export HDC wglGetCurrentDC(); 4847 -extern(Windows) export PROC wglGetProcAddress(LPCSTR); 4848 -extern(Windows) export BOOL wglMakeCurrent(HDC, HGLRC); 4849 -extern(Windows) export BOOL wglShareLists(HGLRC, HGLRC); 4850 -extern(Windows) export BOOL wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD); 4851 -extern(Windows) export BOOL wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD); 4852 -// #ifdef UNICODE 4853 -alias wglUseFontBitmapsW wglUseFontBitmaps; 4854 -// #else 4855 -// #... 4856 -// #endif // !UNICODE 4857 -extern(Windows) export BOOL SwapBuffers(HDC); 4858 - 4859 -struct _POINTFLOAT { 4860 - FLOAT x; 4861 - FLOAT y; 4862 -} 4863 -alias _POINTFLOAT POINTFLOAT; 4864 -alias _POINTFLOAT* PPOINTFLOAT; 4865 - 4866 -struct _GLYPHMETRICSFLOAT { 4867 - FLOAT gmfBlackBoxX; 4868 - FLOAT gmfBlackBoxY; 4869 - POINTFLOAT gmfptGlyphOrigin; 4870 - FLOAT gmfCellIncX; 4871 - FLOAT gmfCellIncY; 4872 -} 4873 -alias _GLYPHMETRICSFLOAT GLYPHMETRICSFLOAT; 4874 -alias _GLYPHMETRICSFLOAT* PGLYPHMETRICSFLOAT; 4875 -alias _GLYPHMETRICSFLOAT* LPGLYPHMETRICSFLOAT; 4876 - 4877 -enum : uint { WGL_FONT_LINES = 0 } 4878 -enum : uint { WGL_FONT_POLYGONS = 1 } 4879 -extern(Windows) export BOOL wglUseFontOutlinesA(HDC, DWORD, DWORD, DWORD, FLOAT, 4880 - FLOAT, int, LPGLYPHMETRICSFLOAT); 4881 -extern(Windows) export BOOL wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT, 4882 - FLOAT, int, LPGLYPHMETRICSFLOAT); 4883 -// #ifdef UNICODE 4884 -alias wglUseFontOutlinesW wglUseFontOutlines; 4885 -// #else 4886 -// #... 4887 -// #endif // !UNICODE 4888 - 4889 -struct tagLAYERPLANEDESCRIPTOR { 4890 - WORD nSize; 4891 - WORD nVersion; 4892 - DWORD dwFlags; 4893 - BYTE iPixelType; 4894 - BYTE cColorBits; 4895 - BYTE cRedBits; 4896 - BYTE cRedShift; 4897 - BYTE cGreenBits; 4898 - BYTE cGreenShift; 4899 - BYTE cBlueBits; 4900 - BYTE cBlueShift; 4901 - BYTE cAlphaBits; 4902 - BYTE cAlphaShift; 4903 - BYTE cAccumBits; 4904 - BYTE cAccumRedBits; 4905 - BYTE cAccumGreenBits; 4906 - BYTE cAccumBlueBits; 4907 - BYTE cAccumAlphaBits; 4908 - BYTE cDepthBits; 4909 - BYTE cStencilBits; 4910 - BYTE cAuxBuffers; 4911 - BYTE iLayerPlane; 4912 - BYTE bReserved; 4913 - COLORREF crTransparent; 4914 -} 4915 -alias tagLAYERPLANEDESCRIPTOR LAYERPLANEDESCRIPTOR; 4916 -alias tagLAYERPLANEDESCRIPTOR* PLAYERPLANEDESCRIPTOR; 4917 -alias tagLAYERPLANEDESCRIPTOR* LPLAYERPLANEDESCRIPTOR; 4918 - 4919 -enum : uint { LPD_DOUBLEBUFFER = 0x00000001 } 4920 -enum : uint { LPD_STEREO = 0x00000002 } 4921 -enum : uint { LPD_SUPPORT_GDI = 0x00000010 } 4922 -enum : uint { LPD_SUPPORT_OPENGL = 0x00000020 } 4923 -enum : uint { LPD_SHARE_DEPTH = 0x00000040 } 4924 -enum : uint { LPD_SHARE_STENCIL = 0x00000080 } 4925 -enum : uint { LPD_SHARE_ACCUM = 0x00000100 } 4926 -enum : uint { LPD_SWAP_EXCHANGE = 0x00000200 } 4927 -enum : uint { LPD_SWAP_COPY = 0x00000400 } 4928 -enum : uint { LPD_TRANSPARENT = 0x00001000 } 4929 - 4930 -enum : uint { LPD_TYPE_RGBA = 0 } 4931 -enum : uint { LPD_TYPE_COLORINDEX = 1 } 4932 - 4933 -enum : uint { WGL_SWAP_MAIN_PLANE = 0x00000001 } 4934 -enum : uint { WGL_SWAP_OVERLAY1 = 0x00000002 } 4935 -enum : uint { WGL_SWAP_OVERLAY2 = 0x00000004 } 4936 -enum : uint { WGL_SWAP_OVERLAY3 = 0x00000008 } 4937 -enum : uint { WGL_SWAP_OVERLAY4 = 0x00000010 } 4938 -enum : uint { WGL_SWAP_OVERLAY5 = 0x00000020 } 4939 -enum : uint { WGL_SWAP_OVERLAY6 = 0x00000040 } 4940 -enum : uint { WGL_SWAP_OVERLAY7 = 0x00000080 } 4941 -enum : uint { WGL_SWAP_OVERLAY8 = 0x00000100 } 4942 -enum : uint { WGL_SWAP_OVERLAY9 = 0x00000200 } 4943 -enum : uint { WGL_SWAP_OVERLAY10 = 0x00000400 } 4944 -enum : uint { WGL_SWAP_OVERLAY11 = 0x00000800 } 4945 -enum : uint { WGL_SWAP_OVERLAY12 = 0x00001000 } 4946 -enum : uint { WGL_SWAP_OVERLAY13 = 0x00002000 } 4947 -enum : uint { WGL_SWAP_OVERLAY14 = 0x00004000 } 4948 -enum : uint { WGL_SWAP_OVERLAY15 = 0x00008000 } 4949 -enum : uint { WGL_SWAP_UNDERLAY1 = 0x00010000 } 4950 -enum : uint { WGL_SWAP_UNDERLAY2 = 0x00020000 } 4951 -enum : uint { WGL_SWAP_UNDERLAY3 = 0x00040000 } 4952 -enum : uint { WGL_SWAP_UNDERLAY4 = 0x00080000 } 4953 -enum : uint { WGL_SWAP_UNDERLAY5 = 0x00100000 } 4954 -enum : uint { WGL_SWAP_UNDERLAY6 = 0x00200000 } 4955 -enum : uint { WGL_SWAP_UNDERLAY7 = 0x00400000 } 4956 -enum : uint { WGL_SWAP_UNDERLAY8 = 0x00800000 } 4957 -enum : uint { WGL_SWAP_UNDERLAY9 = 0x01000000 } 4958 -enum : uint { WGL_SWAP_UNDERLAY10 = 0x02000000 } 4959 -enum : uint { WGL_SWAP_UNDERLAY11 = 0x04000000 } 4960 -enum : uint { WGL_SWAP_UNDERLAY12 = 0x08000000 } 4961 -enum : uint { WGL_SWAP_UNDERLAY13 = 0x10000000 } 4962 -enum : uint { WGL_SWAP_UNDERLAY14 = 0x20000000 } 4963 -enum : uint { WGL_SWAP_UNDERLAY15 = 0x40000000 } 4964 - 4965 -extern(Windows) export BOOL wglDescribeLayerPlane(HDC, int, int, UINT, 4966 - LPLAYERPLANEDESCRIPTOR); 4967 -extern(Windows) export int wglSetLayerPaletteEntries(HDC, int, int, int, 4968 - COLORREF *); 4969 -extern(Windows) export int wglGetLayerPaletteEntries(HDC, int, int, int, 4970 - COLORREF *); 4971 -extern(Windows) export BOOL wglRealizeLayerPalette(HDC, int, BOOL); 4972 -extern(Windows) export BOOL wglSwapLayerBuffers(HDC, UINT); 4973 - 4974 -// #if (WINVER >= 0x0500) 4975 - 4976 -struct _WGLSWAP { 4977 - HDC hdc; 4978 - UINT uiFlags; 4979 -} 4980 -alias _WGLSWAP WGLSWAP; 4981 -alias _WGLSWAP* PWGLSWAP; 4982 -alias _WGLSWAP* LPWGLSWAP; 4983 - 4984 -enum : uint { WGL_SWAPMULTIPLE_MAX = 16 } 4985 - 4986 -extern(Windows) export DWORD wglSwapMultipleBuffers(UINT, WGLSWAP *); 4987 - 4988 -// #endif // (WINVER >= 0x0500) 4989 - 4990 -// #endif /* NOGDI */ 4991 - 4992 -// #ifdef __cplusplus 4993 -// } 4994 -// #endif 4995 - 4996 -// #endif /* _WINGDI_ */ 4997 - 5282 +// Common to both ASCII & UNICODE 5283 +alias DOCINFO*LPDOCINFO; 5284 +alias LOGFONT*PLOGFONT, NPLOGFONT, LPLOGFONT; 5285 +alias TEXTMETRIC*PTEXTMETRIC, LPTEXTMETRIC; 5286 +alias DEVMODE*PDEVMODE, NPDEVMODE, LPDEVMODE; 5287 +alias EXTLOGFONT *PEXTLOGFONT, NPEXTLOGFONT, LPEXTLOGFONT; 5288 +alias GCP_RESULTS*LPGCP_RESULTS; 5289 +alias OUTLINETEXTMETRIC*POUTLINETEXTMETRIC, NPOUTLINETEXTMETRIC, LPOUTLINETEXTMETRIC; 5290 +alias POLYTEXT*PPOLYTEXT, NPPOLYTEXT, LPPOLYTEXT; 5291 +alias LOGCOLORSPACE*LPLOGCOLORSPACE; 5292 +alias NEWTEXTMETRIC*PNEWTEXTMETRIC, NPNEWTEXTMETRIC, LPNEWTEXTMETRIC; 5293 +alias ENUMLOGFONT*LPENUMLOGFONT; 5294 +alias ENUMLOGFONTEX *LPENUMLOGFONTEX; 5295 +alias DISPLAY_DEVICE*PDISPLAY_DEVICE, LPDISPLAY_DEVICE;

Added src/win32/wininet.d version [1a3947efdf6afa74]

1 +/***********************************************************************\ 2 +* wininet.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.wininet; 12 + 13 +// FIXME: check types and grouping of constants 14 + 15 +import win32.windows; 16 + 17 +enum { 18 + INTERNET_INVALID_PORT_NUMBER = 0, 19 + INTERNET_DEFAULT_FTP_PORT = 21, 20 + INTERNET_DEFAULT_GOPHER_PORT = 70, 21 + INTERNET_DEFAULT_HTTP_PORT = 80, 22 + INTERNET_DEFAULT_HTTPS_PORT = 443, 23 + INTERNET_DEFAULT_SOCKS_PORT = 1080 24 +} 25 + 26 +const size_t 27 + MAX_CACHE_ENTRY_INFO_SIZE = 4096, 28 + INTERNET_MAX_HOST_NAME_LENGTH = 256, 29 + INTERNET_MAX_USER_NAME_LENGTH = 128, 30 + INTERNET_MAX_PASSWORD_LENGTH = 128, 31 + INTERNET_MAX_PORT_NUMBER_LENGTH = 5, 32 + INTERNET_MAX_PORT_NUMBER_VALUE = 65535, 33 + INTERNET_MAX_PATH_LENGTH = 2048, 34 + INTERNET_MAX_SCHEME_LENGTH = 32, 35 + INTERNET_MAX_URL_LENGTH = INTERNET_MAX_SCHEME_LENGTH 36 + + "://".length 37 + + INTERNET_MAX_PATH_LENGTH; 38 + 39 +enum : DWORD { 40 + INTERNET_KEEP_ALIVE_UNKNOWN = DWORD.max, 41 + INTERNET_KEEP_ALIVE_DISABLED = 0, 42 + INTERNET_KEEP_ALIVE_ENABLED 43 +} 44 + 45 +enum { 46 + INTERNET_REQFLAG_FROM_CACHE = 1, 47 + INTERNET_REQFLAG_ASYNC = 2 48 +} 49 + 50 +const DWORD 51 + INTERNET_FLAG_RELOAD = 0x80000000, 52 + INTERNET_FLAG_RAW_DATA = 0x40000000, 53 + INTERNET_FLAG_EXISTING_CONNECT = 0x20000000, 54 + INTERNET_FLAG_ASYNC = 0x10000000, 55 + INTERNET_FLAG_PASSIVE = 0x08000000, 56 + INTERNET_FLAG_NO_CACHE_WRITE = 0x04000000, 57 + INTERNET_FLAG_DONT_CACHE = INTERNET_FLAG_NO_CACHE_WRITE, 58 + INTERNET_FLAG_MAKE_PERSISTENT = 0x02000000, 59 + INTERNET_FLAG_OFFLINE = 0x01000000, 60 + INTERNET_FLAG_SECURE = 0x00800000, 61 + INTERNET_FLAG_KEEP_CONNECTION = 0x00400000, 62 + INTERNET_FLAG_NO_AUTO_REDIRECT = 0x00200000, 63 + INTERNET_FLAG_READ_PREFETCH = 0x00100000, 64 + INTERNET_FLAG_NO_COOKIES = 0x00080000, 65 + INTERNET_FLAG_NO_AUTH = 0x00040000, 66 + INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP = 0x00008000, 67 + INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS = 0x00004000, 68 + INTERNET_FLAG_IGNORE_CERT_DATE_INVALID = 0x00002000, 69 + INTERNET_FLAG_IGNORE_CERT_CN_INVALID = 0x00001000, 70 + INTERNET_FLAG_RESYNCHRONIZE = 0x00000800, 71 + INTERNET_FLAG_HYPERLINK = 0x00000400, 72 + INTERNET_FLAG_NO_UI = 0x00000200, 73 + INTERNET_FLAG_PRAGMA_NOCACHE = 0x00000100, 74 + INTERNET_FLAG_MUST_CACHE_REQUEST = 0x00000010, 75 + INTERNET_FLAG_TRANSFER_ASCII = FTP_TRANSFER_TYPE_ASCII, 76 + INTERNET_FLAG_TRANSFER_BINARY = FTP_TRANSFER_TYPE_BINARY, 77 + 78 + SECURITY_INTERNET_MASK = 0x0000F000, 79 + SECURITY_SET_MASK = SECURITY_INTERNET_MASK, 80 + 81 + INTERNET_FLAGS_MASK = 0xFFFCFE13, 82 + INTERNET_OPTIONS_MASK = ~INTERNET_FLAGS_MASK; 83 + 84 +const INTERNET_NO_CALLBACK = 0; 85 +const INTERNET_RFC1123_FORMAT = 0; 86 +const size_t INTERNET_RFC1123_BUFSIZE = 30; 87 + 88 +const DWORD 89 + ICU_ESCAPE = 0x80000000, 90 + ICU_USERNAME = 0x40000000, 91 + ICU_NO_ENCODE = 0x20000000, 92 + ICU_DECODE = 0x10000000, 93 + ICU_NO_META = 0x08000000, 94 + ICU_ENCODE_SPACES_ONLY = 0x04000000, 95 + ICU_BROWSER_MODE = 0x02000000; 96 + 97 +enum { 98 + INTERNET_OPEN_TYPE_PRECONFIG = 0, 99 + INTERNET_OPEN_TYPE_DIRECT = 1, 100 + INTERNET_OPEN_TYPE_PROXY = 3, 101 + PRE_CONFIG_INTERNET_ACCESS = INTERNET_OPEN_TYPE_PRECONFIG, 102 + LOCAL_INTERNET_ACCESS = INTERNET_OPEN_TYPE_DIRECT, 103 + GATEWAY_INTERNET_ACCESS = 2, 104 + CERN_PROXY_INTERNET_ACCESS = INTERNET_OPEN_TYPE_PROXY, 105 +} 106 + 107 +const ISO_GLOBAL = 1; 108 +const ISO_REGISTRY = 2; 109 +const ISO_VALID_FLAGS = ISO_GLOBAL | ISO_REGISTRY; 110 + 111 +enum { 112 + INTERNET_OPTION_CALLBACK = 1, 113 + INTERNET_OPTION_CONNECT_TIMEOUT, 114 + INTERNET_OPTION_CONNECT_RETRIES, 115 + INTERNET_OPTION_CONNECT_BACKOFF, 116 + INTERNET_OPTION_SEND_TIMEOUT, 117 + INTERNET_OPTION_CONTROL_SEND_TIMEOUT = INTERNET_OPTION_SEND_TIMEOUT, 118 + INTERNET_OPTION_RECEIVE_TIMEOUT, 119 + INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT = INTERNET_OPTION_RECEIVE_TIMEOUT, 120 + INTERNET_OPTION_DATA_SEND_TIMEOUT, 121 + INTERNET_OPTION_DATA_RECEIVE_TIMEOUT, 122 + INTERNET_OPTION_HANDLE_TYPE, 123 + INTERNET_OPTION_CONTEXT_VALUE, 124 + INTERNET_OPTION_LISTEN_TIMEOUT, 125 + INTERNET_OPTION_READ_BUFFER_SIZE, 126 + INTERNET_OPTION_WRITE_BUFFER_SIZE, // = 13 127 + INTERNET_OPTION_ASYNC_ID = 15, 128 + INTERNET_OPTION_ASYNC_PRIORITY, // = 16 129 + INTERNET_OPTION_PARENT_HANDLE = 21, 130 + INTERNET_OPTION_KEEP_CONNECTION, 131 + INTERNET_OPTION_REQUEST_FLAGS, 132 + INTERNET_OPTION_EXTENDED_ERROR, // = 24 133 + INTERNET_OPTION_OFFLINE_MODE = 26, 134 + INTERNET_OPTION_CACHE_STREAM_HANDLE, 135 + INTERNET_OPTION_USERNAME, 136 + INTERNET_OPTION_PASSWORD, 137 + INTERNET_OPTION_ASYNC, 138 + INTERNET_OPTION_SECURITY_FLAGS, 139 + INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT, 140 + INTERNET_OPTION_DATAFILE_NAME, 141 + INTERNET_OPTION_URL, 142 + INTERNET_OPTION_SECURITY_CERTIFICATE, 143 + INTERNET_OPTION_SECURITY_KEY_BITNESS, 144 + INTERNET_OPTION_REFRESH, 145 + INTERNET_OPTION_PROXY, 146 + INTERNET_OPTION_SETTINGS_CHANGED, 147 + INTERNET_OPTION_VERSION, 148 + INTERNET_OPTION_USER_AGENT, 149 + INTERNET_OPTION_END_BROWSER_SESSION, 150 + INTERNET_OPTION_PROXY_USERNAME, 151 + INTERNET_OPTION_PROXY_PASSWORD, // = 44 152 + INTERNET_FIRST_OPTION = INTERNET_OPTION_CALLBACK, 153 + // why? 154 + INTERNET_LAST_OPTION = INTERNET_OPTION_USER_AGENT 155 +} 156 + 157 +const INTERNET_PRIORITY_FOREGROUND = 1000; 158 + 159 +enum { 160 + INTERNET_HANDLE_TYPE_INTERNET = 1, 161 + INTERNET_HANDLE_TYPE_CONNECT_FTP, 162 + INTERNET_HANDLE_TYPE_CONNECT_GOPHER, 163 + INTERNET_HANDLE_TYPE_CONNECT_HTTP, 164 + INTERNET_HANDLE_TYPE_FTP_FIND, 165 + INTERNET_HANDLE_TYPE_FTP_FIND_HTML, 166 + INTERNET_HANDLE_TYPE_FTP_FILE, 167 + INTERNET_HANDLE_TYPE_FTP_FILE_HTML, 168 + INTERNET_HANDLE_TYPE_GOPHER_FIND, 169 + INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML, 170 + INTERNET_HANDLE_TYPE_GOPHER_FILE, 171 + INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML, 172 + INTERNET_HANDLE_TYPE_HTTP_REQUEST 173 +} 174 + 175 +const DWORD 176 + SECURITY_FLAG_SECURE = 0x00000001, 177 + SECURITY_FLAG_SSL = 0x00000002, 178 + SECURITY_FLAG_SSL3 = 0x00000004, 179 + SECURITY_FLAG_PCT = 0x00000008, 180 + SECURITY_FLAG_PCT4 = 0x00000010, 181 + SECURITY_FLAG_IETFSSL4 = 0x00000020, 182 + SECURITY_FLAG_IGNORE_REVOCATION = 0x00000080, 183 + SECURITY_FLAG_IGNORE_UNKNOWN_CA = 0x00000100, 184 + SECURITY_FLAG_IGNORE_WRONG_USAGE = 0x00000200, 185 + SECURITY_FLAG_40BIT = 0x10000000, 186 + SECURITY_FLAG_128BIT = 0x20000000, 187 + SECURITY_FLAG_56BIT = 0x40000000, 188 + SECURITY_FLAG_UNKNOWNBIT = 0x80000000, 189 + SECURITY_FLAG_NORMALBITNESS = SECURITY_FLAG_40BIT, 190 + SECURITY_FLAG_IGNORE_CERT_CN_INVALID = INTERNET_FLAG_IGNORE_CERT_CN_INVALID, 191 + SECURITY_FLAG_IGNORE_CERT_DATE_INVALID = INTERNET_FLAG_IGNORE_CERT_DATE_INVALID, 192 + SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS, 193 + SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP = INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP; 194 + 195 +enum { 196 + INTERNET_SERVICE_FTP = 1, 197 + INTERNET_SERVICE_GOPHER, 198 + INTERNET_SERVICE_HTTP 199 +} 200 + 201 +enum { 202 + INTERNET_STATUS_RESOLVING_NAME = 10, 203 + INTERNET_STATUS_NAME_RESOLVED = 11, 204 + INTERNET_STATUS_CONNECTING_TO_SERVER = 20, 205 + INTERNET_STATUS_CONNECTED_TO_SERVER = 21, 206 + INTERNET_STATUS_SENDING_REQUEST = 30, 207 + INTERNET_STATUS_REQUEST_SENT = 31, 208 + INTERNET_STATUS_RECEIVING_RESPONSE = 40, 209 + INTERNET_STATUS_RESPONSE_RECEIVED = 41, 210 + INTERNET_STATUS_CTL_RESPONSE_RECEIVED = 42, 211 + INTERNET_STATUS_PREFETCH = 43, 212 + INTERNET_STATUS_CLOSING_CONNECTION = 50, 213 + INTERNET_STATUS_CONNECTION_CLOSED = 51, 214 + INTERNET_STATUS_HANDLE_CREATED = 60, 215 + INTERNET_STATUS_HANDLE_CLOSING = 70, 216 + INTERNET_STATUS_REQUEST_COMPLETE = 100, 217 + INTERNET_STATUS_REDIRECT = 110 218 +} 219 + 220 +const INTERNET_INVALID_STATUS_CALLBACK 221 + = cast(INTERNET_STATUS_CALLBACK) -1; 222 + 223 +enum { 224 + FTP_TRANSFER_TYPE_UNKNOWN = 0, 225 + FTP_TRANSFER_TYPE_ASCII = 1, 226 + FTP_TRANSFER_TYPE_BINARY = 2, 227 + FTP_TRANSFER_TYPE_MASK = 3 228 +} 229 + 230 +const size_t 231 + MAX_GOPHER_DISPLAY_TEXT = 128, 232 + MAX_GOPHER_SELECTOR_TEXT = 256, 233 + MAX_GOPHER_HOST_NAME = INTERNET_MAX_HOST_NAME_LENGTH, 234 + MAX_GOPHER_LOCATOR_LENGTH 235 + = 1 + MAX_GOPHER_DISPLAY_TEXT + 1 + MAX_GOPHER_SELECTOR_TEXT + 1 236 + + MAX_GOPHER_HOST_NAME + 1 + INTERNET_MAX_PORT_NUMBER_LENGTH + 4; 237 + 238 +const DWORD 239 + GOPHER_TYPE_TEXT_FILE = 0x00000001, 240 + GOPHER_TYPE_DIRECTORY = 0x00000002, 241 + GOPHER_TYPE_CSO = 0x00000004, 242 + GOPHER_TYPE_ERROR = 0x00000008, 243 + GOPHER_TYPE_MAC_BINHEX = 0x00000010, 244 + GOPHER_TYPE_DOS_ARCHIVE = 0x00000020, 245 + GOPHER_TYPE_UNIX_UUENCODED = 0x00000040, 246 + GOPHER_TYPE_INDEX_SERVER = 0x00000080, 247 + GOPHER_TYPE_TELNET = 0x00000100, 248 + GOPHER_TYPE_BINARY = 0x00000200, 249 + GOPHER_TYPE_REDUNDANT = 0x00000400, 250 + GOPHER_TYPE_TN3270 = 0x00000800, 251 + GOPHER_TYPE_GIF = 0x00001000, 252 + GOPHER_TYPE_IMAGE = 0x00002000, 253 + GOPHER_TYPE_BITMAP = 0x00004000, 254 + GOPHER_TYPE_MOVIE = 0x00008000, 255 + GOPHER_TYPE_SOUND = 0x00010000, 256 + GOPHER_TYPE_HTML = 0x00020000, 257 + GOPHER_TYPE_PDF = 0x00040000, 258 + GOPHER_TYPE_CALENDAR = 0x00080000, 259 + GOPHER_TYPE_INLINE = 0x00100000, 260 + GOPHER_TYPE_UNKNOWN = 0x20000000, 261 + GOPHER_TYPE_ASK = 0x40000000, 262 + GOPHER_TYPE_GOPHER_PLUS = 0x80000000, 263 + GOPHER_TYPE_FILE_MASK = 0x001FF271; 264 + 265 +BOOL IS_GOPHER_FILE(DWORD t) { 266 + return !!(t & GOPHER_TYPE_FILE_MASK); 267 +} 268 + 269 +BOOL IS_GOPHER_DIRECTORY(DWORD t) { 270 + return !!(t & GOPHER_TYPE_DIRECTORY); 271 +} 272 + 273 +BOOL IS_GOPHER_PHONE_SERVER(DWORD t) { 274 + return !!(t & GOPHER_TYPE_CSO); 275 +} 276 + 277 +BOOL IS_GOPHER_ERROR(DWORD t) { 278 + return !!(t & GOPHER_TYPE_ERROR); 279 +} 280 + 281 +BOOL IS_GOPHER_INDEX_SERVER(DWORD t) { 282 + return !!(t & GOPHER_TYPE_INDEX_SERVER); 283 +} 284 + 285 +BOOL IS_GOPHER_TELNET_SESSION(DWORD t) { 286 + return !!(t & GOPHER_TYPE_TELNET); 287 +} 288 + 289 +BOOL IS_GOPHER_BACKUP_SERVER(DWORD t) { 290 + return !!(t & GOPHER_TYPE_REDUNDANT); 291 +} 292 + 293 +BOOL IS_GOPHER_TN3270_SESSION(DWORD t) { 294 + return !!(t & GOPHER_TYPE_TN3270); 295 +} 296 + 297 +BOOL IS_GOPHER_ASK(DWORD t) { 298 + return !!(t & GOPHER_TYPE_ASK); 299 +} 300 + 301 +BOOL IS_GOPHER_PLUS(DWORD t) { 302 + return !!(t & GOPHER_TYPE_GOPHER_PLUS); 303 +} 304 + 305 +BOOL IS_GOPHER_TYPE_KNOWN(DWORD t) { 306 + return !(t & GOPHER_TYPE_UNKNOWN); 307 +} 308 + 309 +const size_t 310 + MAX_GOPHER_CATEGORY_NAME = 128, 311 + MAX_GOPHER_ATTRIBUTE_NAME = 128, 312 + MIN_GOPHER_ATTRIBUTE_LENGTH = 256; 313 + 314 +const TCHAR[] 315 + GOPHER_INFO_CATEGORY = "+INFO", 316 + GOPHER_ADMIN_CATEGORY = "+ADMIN", 317 + GOPHER_VIEWS_CATEGORY = "+VIEWS", 318 + GOPHER_ABSTRACT_CATEGORY = "+ABSTRACT", 319 + GOPHER_VERONICA_CATEGORY = "+VERONICA", 320 + GOPHER_ADMIN_ATTRIBUTE = "Admin", 321 + GOPHER_MOD_DATE_ATTRIBUTE = "Mod-Date", 322 + GOPHER_TTL_ATTRIBUTE = "TTL", 323 + GOPHER_SCORE_ATTRIBUTE = "Score", 324 + GOPHER_RANGE_ATTRIBUTE = "Score-range", 325 + GOPHER_SITE_ATTRIBUTE = "Site", 326 + GOPHER_ORG_ATTRIBUTE = "Org", 327 + GOPHER_LOCATION_ATTRIBUTE = "Loc", 328 + GOPHER_GEOG_ATTRIBUTE = "Geog", 329 + GOPHER_TIMEZONE_ATTRIBUTE = "TZ", 330 + GOPHER_PROVIDER_ATTRIBUTE = "Provider", 331 + GOPHER_VERSION_ATTRIBUTE = "Version", 332 + GOPHER_ABSTRACT_ATTRIBUTE = "Abstract", 333 + GOPHER_VIEW_ATTRIBUTE = "View", 334 + GOPHER_TREEWALK_ATTRIBUTE = "treewalk"; 335 + 336 +enum : DWORD { 337 + GOPHER_ATTRIBUTE_ID_BASE = 0xABCCCC00, 338 + GOPHER_CATEGORY_ID_ALL, 339 + GOPHER_CATEGORY_ID_INFO, 340 + GOPHER_CATEGORY_ID_ADMIN, 341 + GOPHER_CATEGORY_ID_VIEWS, 342 + GOPHER_CATEGORY_ID_ABSTRACT, 343 + GOPHER_CATEGORY_ID_VERONICA, 344 + GOPHER_CATEGORY_ID_ASK, 345 + GOPHER_CATEGORY_ID_UNKNOWN, 346 + GOPHER_ATTRIBUTE_ID_ALL, 347 + GOPHER_ATTRIBUTE_ID_ADMIN, 348 + GOPHER_ATTRIBUTE_ID_MOD_DATE, 349 + GOPHER_ATTRIBUTE_ID_TTL, 350 + GOPHER_ATTRIBUTE_ID_SCORE, 351 + GOPHER_ATTRIBUTE_ID_RANGE, 352 + GOPHER_ATTRIBUTE_ID_SITE, 353 + GOPHER_ATTRIBUTE_ID_ORG, 354 + GOPHER_ATTRIBUTE_ID_LOCATION, 355 + GOPHER_ATTRIBUTE_ID_GEOG, 356 + GOPHER_ATTRIBUTE_ID_TIMEZONE, 357 + GOPHER_ATTRIBUTE_ID_PROVIDER, 358 + GOPHER_ATTRIBUTE_ID_VERSION, 359 + GOPHER_ATTRIBUTE_ID_ABSTRACT, 360 + GOPHER_ATTRIBUTE_ID_VIEW, 361 + GOPHER_ATTRIBUTE_ID_TREEWALK, 362 + GOPHER_ATTRIBUTE_ID_UNKNOWN 363 +} 364 + 365 +const HTTP_MAJOR_VERSION = 1; 366 +const HTTP_MINOR_VERSION = 0; 367 +const TCHAR[] HTTP_VERSION = "HTTP/1.0"; 368 + 369 +enum : DWORD { 370 + HTTP_QUERY_MIME_VERSION, 371 + HTTP_QUERY_CONTENT_TYPE, 372 + HTTP_QUERY_CONTENT_TRANSFER_ENCODING, 373 + HTTP_QUERY_CONTENT_ID, 374 + HTTP_QUERY_CONTENT_DESCRIPTION, 375 + HTTP_QUERY_CONTENT_LENGTH, 376 + HTTP_QUERY_CONTENT_LANGUAGE, 377 + HTTP_QUERY_ALLOW, 378 + HTTP_QUERY_PUBLIC, 379 + HTTP_QUERY_DATE, 380 + HTTP_QUERY_EXPIRES, 381 + HTTP_QUERY_LAST_MODIFIED, 382 + HTTP_QUERY_MESSAGE_ID, 383 + HTTP_QUERY_URI, 384 + HTTP_QUERY_DERIVED_FROM, 385 + HTTP_QUERY_COST, 386 + HTTP_QUERY_LINK, 387 + HTTP_QUERY_PRAGMA, 388 + HTTP_QUERY_VERSION, 389 + HTTP_QUERY_STATUS_CODE, 390 + HTTP_QUERY_STATUS_TEXT, 391 + HTTP_QUERY_RAW_HEADERS, 392 + HTTP_QUERY_RAW_HEADERS_CRLF, 393 + HTTP_QUERY_CONNECTION, 394 + HTTP_QUERY_ACCEPT, 395 + HTTP_QUERY_ACCEPT_CHARSET, 396 + HTTP_QUERY_ACCEPT_ENCODING, 397 + HTTP_QUERY_ACCEPT_LANGUAGE, 398 + HTTP_QUERY_AUTHORIZATION, 399 + HTTP_QUERY_CONTENT_ENCODING, 400 + HTTP_QUERY_FORWARDED, 401 + HTTP_QUERY_FROM, 402 + HTTP_QUERY_IF_MODIFIED_SINCE, 403 + HTTP_QUERY_LOCATION, 404 + HTTP_QUERY_ORIG_URI, 405 + HTTP_QUERY_REFERER, 406 + HTTP_QUERY_RETRY_AFTER, 407 + HTTP_QUERY_SERVER, 408 + HTTP_QUERY_TITLE, 409 + HTTP_QUERY_USER_AGENT, 410 + HTTP_QUERY_WWW_AUTHENTICATE, 411 + HTTP_QUERY_PROXY_AUTHENTICATE, 412 + HTTP_QUERY_ACCEPT_RANGES, 413 + HTTP_QUERY_SET_COOKIE, 414 + HTTP_QUERY_COOKIE, 415 + HTTP_QUERY_REQUEST_METHOD, 416 + HTTP_QUERY_MAX = 45, 417 + HTTP_QUERY_CUSTOM = 65535 418 +} 419 + 420 +const DWORD 421 + HTTP_QUERY_FLAG_REQUEST_HEADERS = 0x80000000, 422 + HTTP_QUERY_FLAG_SYSTEMTIME = 0x40000000, 423 + HTTP_QUERY_FLAG_NUMBER = 0x20000000, 424 + HTTP_QUERY_FLAG_COALESCE = 0x10000000, 425 + HTTP_QUERY_MODIFIER_FLAGS_MASK = 0xF0000000, 426 + HTTP_QUERY_HEADER_MASK = ~HTTP_QUERY_MODIFIER_FLAGS_MASK; 427 + 428 +enum { 429 + HTTP_STATUS_OK = 200, 430 + HTTP_STATUS_CREATED, 431 + HTTP_STATUS_ACCEPTED, 432 + HTTP_STATUS_PARTIAL, 433 + HTTP_STATUS_NO_CONTENT, // = 204 434 + HTTP_STATUS_AMBIGUOUS = 300, 435 + HTTP_STATUS_MOVED, 436 + HTTP_STATUS_REDIRECT, 437 + HTTP_STATUS_REDIRECT_METHOD, 438 + HTTP_STATUS_NOT_MODIFIED, // = 304 439 + HTTP_STATUS_BAD_REQUEST = 400, 440 + HTTP_STATUS_DENIED, 441 + HTTP_STATUS_PAYMENT_REQ, 442 + HTTP_STATUS_FORBIDDEN, 443 + HTTP_STATUS_NOT_FOUND, 444 + HTTP_STATUS_BAD_METHOD, 445 + HTTP_STATUS_NONE_ACCEPTABLE, 446 + HTTP_STATUS_PROXY_AUTH_REQ, 447 + HTTP_STATUS_REQUEST_TIMEOUT, 448 + HTTP_STATUS_CONFLICT, 449 + HTTP_STATUS_GONE, 450 + HTTP_STATUS_AUTH_REFUSED, // = 411 451 + HTTP_STATUS_SERVER_ERROR = 500, 452 + HTTP_STATUS_NOT_SUPPORTED, 453 + HTTP_STATUS_BAD_GATEWAY, 454 + HTTP_STATUS_SERVICE_UNAVAIL, 455 + HTTP_STATUS_GATEWAY_TIMEOUT // = 504 456 +} 457 + 458 +enum { 459 + INTERNET_PREFETCH_PROGRESS, 460 + INTERNET_PREFETCH_COMPLETE, 461 + INTERNET_PREFETCH_ABORTED 462 +} 463 + 464 +const FLAGS_ERROR_UI_FILTER_FOR_ERRORS = 0x01; 465 +const FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS = 0x02; 466 +const FLAGS_ERROR_UI_FLAGS_GENERATE_DATA = 0x04; 467 +const FLAGS_ERROR_UI_FLAGS_NO_UI = 0x08; 468 + 469 +const DWORD 470 + HTTP_ADDREQ_INDEX_MASK = 0x0000FFFF, 471 + HTTP_ADDREQ_FLAGS_MASK = 0xFFFF0000, 472 + HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON = 0x01000000, 473 + HTTP_ADDREQ_FLAG_ADD_IF_NEW = 0x10000000, 474 + HTTP_ADDREQ_FLAG_ADD = 0x20000000, 475 + HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA = 0x40000000, 476 + HTTP_ADDREQ_FLAG_COALESCE = HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA, 477 + HTTP_ADDREQ_FLAG_REPLACE = 0x80000000; 478 + 479 +enum { 480 + INTERNET_ERROR_BASE = 12000, 481 + ERROR_INTERNET_OUT_OF_HANDLES, 482 + ERROR_INTERNET_TIMEOUT, 483 + ERROR_INTERNET_EXTENDED_ERROR, 484 + ERROR_INTERNET_INTERNAL_ERROR, 485 + ERROR_INTERNET_INVALID_URL, 486 + ERROR_INTERNET_UNRECOGNIZED_SCHEME, 487 + ERROR_INTERNET_NAME_NOT_RESOLVED, 488 + ERROR_INTERNET_PROTOCOL_NOT_FOUND, 489 + ERROR_INTERNET_INVALID_OPTION, 490 + ERROR_INTERNET_BAD_OPTION_LENGTH, 491 + ERROR_INTERNET_OPTION_NOT_SETTABLE, 492 + ERROR_INTERNET_SHUTDOWN, 493 + ERROR_INTERNET_INCORRECT_USER_NAME, 494 + ERROR_INTERNET_INCORRECT_PASSWORD, 495 + ERROR_INTERNET_LOGIN_FAILURE, 496 + ERROR_INTERNET_INVALID_OPERATION, 497 + ERROR_INTERNET_OPERATION_CANCELLED, 498 + ERROR_INTERNET_INCORRECT_HANDLE_TYPE, 499 + ERROR_INTERNET_INCORRECT_HANDLE_STATE, 500 + ERROR_INTERNET_NOT_PROXY_REQUEST, 501 + ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND, 502 + ERROR_INTERNET_BAD_REGISTRY_PARAMETER, 503 + ERROR_INTERNET_NO_DIRECT_ACCESS, 504 + ERROR_INTERNET_NO_CONTEXT, 505 + ERROR_INTERNET_NO_CALLBACK, 506 + ERROR_INTERNET_REQUEST_PENDING, 507 + ERROR_INTERNET_INCORRECT_FORMAT, 508 + ERROR_INTERNET_ITEM_NOT_FOUND, 509 + ERROR_INTERNET_CANNOT_CONNECT, 510 + ERROR_INTERNET_CONNECTION_ABORTED, 511 + ERROR_INTERNET_CONNECTION_RESET, 512 + ERROR_INTERNET_FORCE_RETRY, 513 + ERROR_INTERNET_INVALID_PROXY_REQUEST, 514 + ERROR_INTERNET_NEED_UI, // = INTERNET_ERROR_BASE + 34 515 + ERROR_INTERNET_HANDLE_EXISTS = INTERNET_ERROR_BASE + 36, 516 + ERROR_INTERNET_SEC_CERT_DATE_INVALID, 517 + ERROR_INTERNET_SEC_CERT_CN_INVALID, 518 + ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR, 519 + ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR, 520 + ERROR_INTERNET_MIXED_SECURITY, 521 + ERROR_INTERNET_CHG_POST_IS_NON_SECURE, 522 + ERROR_INTERNET_POST_IS_NON_SECURE, 523 + ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED, 524 + ERROR_INTERNET_INVALID_CA, 525 + ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP, 526 + ERROR_INTERNET_ASYNC_THREAD_FAILED, 527 + ERROR_INTERNET_REDIRECT_SCHEME_CHANGE, // = INTERNET_ERROR_BASE + 48 528 + 529 + ERROR_FTP_TRANSFER_IN_PROGRESS = INTERNET_ERROR_BASE + 110, 530 + ERROR_FTP_DROPPED, // = INTERNET_ERROR_BASE + 111 531 + ERROR_GOPHER_PROTOCOL_ERROR = INTERNET_ERROR_BASE + 130, 532 + ERROR_GOPHER_NOT_FILE, 533 + ERROR_GOPHER_DATA_ERROR, 534 + ERROR_GOPHER_END_OF_DATA, 535 + ERROR_GOPHER_INVALID_LOCATOR, 536 + ERROR_GOPHER_INCORRECT_LOCATOR_TYPE, 537 + ERROR_GOPHER_NOT_GOPHER_PLUS, 538 + ERROR_GOPHER_ATTRIBUTE_NOT_FOUND, 539 + ERROR_GOPHER_UNKNOWN_LOCATOR, // = INTERNET_ERROR_BASE + 138, 540 + ERROR_HTTP_HEADER_NOT_FOUND = INTERNET_ERROR_BASE + 150, 541 + ERROR_HTTP_DOWNLEVEL_SERVER, 542 + ERROR_HTTP_INVALID_SERVER_RESPONSE, 543 + ERROR_HTTP_INVALID_HEADER, 544 + ERROR_HTTP_INVALID_QUERY_REQUEST, 545 + ERROR_HTTP_HEADER_ALREADY_EXISTS, 546 + ERROR_HTTP_REDIRECT_FAILED, 547 + ERROR_INTERNET_SECURITY_CHANNEL_ERROR, 548 + ERROR_INTERNET_UNABLE_TO_CACHE_FILE, 549 + ERROR_INTERNET_TCPIP_NOT_INSTALLED, 550 + ERROR_HTTP_NOT_REDIRECTED, // = INTERNET_ERROR_BASE + 160 551 + // why? 552 + INTERNET_ERROR_LAST = ERROR_INTERNET_TCPIP_NOT_INSTALLED 553 +} 554 + 555 + 556 +const NORMAL_CACHE_ENTRY = 0x000001; 557 +const STABLE_CACHE_ENTRY = 0x000002; 558 +const STICKY_CACHE_ENTRY = 0x000004; 559 +const SPARSE_CACHE_ENTRY = 0x010000; 560 +const OCX_CACHE_ENTRY = 0x020000; 561 +const COOKIE_CACHE_ENTRY = 0x100000; 562 +const URLHISTORY_CACHE_ENTRY = 0x200000; 563 + 564 +const CACHE_ENTRY_ATTRIBUTE_FC = 0x0004; 565 +const CACHE_ENTRY_HITRATE_FC = 0x0010; 566 +const CACHE_ENTRY_MODTIME_FC = 0x0040; 567 +const CACHE_ENTRY_EXPTIME_FC = 0x0080; 568 +const CACHE_ENTRY_ACCTIME_FC = 0x0100; 569 +const CACHE_ENTRY_SYNCTIME_FC = 0x0200; 570 +const CACHE_ENTRY_HEADERINFO_FC = 0x0400; 571 + 572 +enum { 573 + WININET_API_FLAG_ASYNC = 1, 574 + WININET_API_FLAG_SYNC = 4, 575 + WININET_API_FLAG_USE_CONTEXT = 8 576 +} 577 + 578 +// FIXME: how should these really be grouped? 579 +enum { 580 + IRF_ASYNC = WININET_API_FLAG_ASYNC, 581 + IRF_SYNC = WININET_API_FLAG_SYNC, 582 + IRF_USE_CONTEXT = WININET_API_FLAG_USE_CONTEXT, 583 +} 584 +const IRF_NO_WAIT = 8; 585 + 586 +enum { 587 + HSR_ASYNC = WININET_API_FLAG_ASYNC, 588 + HSR_SYNC = WININET_API_FLAG_SYNC, 589 + HSR_USE_CONTEXT = WININET_API_FLAG_USE_CONTEXT, 590 +} 591 + 592 +const HSR_INITIATE = 8; 593 +const HSR_DOWNLOAD = 16; 594 +const HSR_CHUNKED = 32; 595 + 596 +const INTERNET_DIAL_UNATTENDED = 0x8000; 597 +const INTERNET_DIALSTATE_DISCONNECTED = 1; 598 +const INTERENT_GOONLINE_REFRESH = 1; 599 +const INTERENT_GOONLINE_MASK = 1; 600 +const INTERNET_AUTODIAL_FORCE_ONLINE = 1; 601 +const INTERNET_AUTODIAL_FORCE_UNATTENDED = 2; 602 +const INTERNET_AUTODIAL_FAILIFSECURITYCHECK = 4; 603 +const INTERNET_CONNECTION_MODEM = 0x01; 604 +const INTERNET_CONNECTION_LAN = 0x02; 605 +const INTERNET_CONNECTION_PROXY = 0x04; 606 +const INTERNET_CONNECTION_MODEM_BUSY = 0x08; 607 +const INTERNET_RAS_INSTALLED = 0x10; 608 +const INTERNET_CONNECTION_OFFLINE = 0x20; 609 +const INTERNET_CONNECTION_CONFIGURED = 0x40; 610 + 611 +enum { 612 + CACHEGROUP_SEARCH_ALL = 0, 613 + CACHEGROUP_SEARCH_BYURL = 1 614 +} 615 + 616 +enum { 617 + INTERNET_CACHE_GROUP_ADD = 0, 618 + INTERNET_CACHE_GROUP_REMOVE = 1 619 +} 620 + 621 +alias HANDLE HINTERNET; 622 +alias HANDLE* LPHINTERNET; 623 + 624 +alias LONGLONG GROUPID; 625 +alias WORD INTERNET_PORT; 626 +alias WORD* LPINTERNET_PORT; 627 + 628 +enum INTERNET_SCHEME { 629 + INTERNET_SCHEME_PARTIAL = -2, 630 + INTERNET_SCHEME_UNKNOWN, 631 + INTERNET_SCHEME_DEFAULT, 632 + INTERNET_SCHEME_FTP, 633 + INTERNET_SCHEME_GOPHER, 634 + INTERNET_SCHEME_HTTP, 635 + INTERNET_SCHEME_HTTPS, 636 + INTERNET_SCHEME_FILE, 637 + INTERNET_SCHEME_NEWS, 638 + INTERNET_SCHEME_MAILTO, 639 + INTERNET_SCHEME_SOCKS, 640 + INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, 641 + INTERNET_SCHEME_LAST = INTERNET_SCHEME_SOCKS 642 +} 643 +alias INTERNET_SCHEME* LPINTERNET_SCHEME; 644 + 645 +struct INTERNET_ASYNC_RESULT { 646 + DWORD dwResult; 647 + DWORD dwError; 648 +} 649 +alias INTERNET_ASYNC_RESULT* LPINTERNET_ASYNC_RESULT; 650 + 651 +struct INTERNET_PREFETCH_STATUS { 652 + DWORD dwStatus; 653 + DWORD dwSize; 654 +} 655 +alias INTERNET_PREFETCH_STATUS* LPINTERNET_PREFETCH_STATUS; 656 + 657 +struct INTERNET_PROXY_INFO { 658 + DWORD dwAccessType; 659 + LPCTSTR lpszProxy; 660 + LPCTSTR lpszProxyBypass; 661 +} 662 +alias INTERNET_PROXY_INFO* LPINTERNET_PROXY_INFO; 663 + 664 +struct INTERNET_VERSION_INFO { 665 + DWORD dwMajorVersion; 666 + DWORD dwMinorVersion; 667 +} 668 +alias INTERNET_VERSION_INFO* LPINTERNET_VERSION_INFO; 669 + 670 +struct URL_COMPONENTSA { 671 + DWORD dwStructSize = URL_COMPONENTSA.sizeof; 672 + LPSTR lpszScheme; 673 + DWORD dwSchemeLength; 674 + INTERNET_SCHEME nScheme; 675 + LPSTR lpszHostName; 676 + DWORD dwHostNameLength; 677 + INTERNET_PORT nPort; 678 + LPSTR lpszUserName; 679 + DWORD dwUserNameLength; 680 + LPSTR lpszPassword; 681 + DWORD dwPasswordLength; 682 + LPSTR lpszUrlPath; 683 + DWORD dwUrlPathLength; 684 + LPSTR lpszExtraInfo; 685 + DWORD dwExtraInfoLength; 686 +} 687 +alias URL_COMPONENTSA* LPURL_COMPONENTSA; 688 + 689 +struct URL_COMPONENTSW { 690 + DWORD dwStructSize = URL_COMPONENTSW.sizeof; 691 + LPWSTR lpszScheme; 692 + DWORD dwSchemeLength; 693 + INTERNET_SCHEME nScheme; 694 + LPWSTR lpszHostName; 695 + DWORD dwHostNameLength; 696 + INTERNET_PORT nPort; 697 + LPWSTR lpszUserName; 698 + DWORD dwUserNameLength; 699 + LPWSTR lpszPassword; 700 + DWORD dwPasswordLength; 701 + LPWSTR lpszUrlPath; 702 + DWORD dwUrlPathLength; 703 + LPWSTR lpszExtraInfo; 704 + DWORD dwExtraInfoLength; 705 +} 706 +alias URL_COMPONENTSW* LPURL_COMPONENTSW; 707 + 708 +struct INTERNET_CERTIFICATE_INFO { 709 + FILETIME ftExpiry; 710 + FILETIME ftStart; 711 + LPTSTR lpszSubjectInfo; 712 + LPTSTR lpszIssuerInfo; 713 + LPTSTR lpszProtocolName; 714 + LPTSTR lpszSignatureAlgName; 715 + LPTSTR lpszEncryptionAlgName; 716 + DWORD dwKeySize; 717 +} 718 +alias INTERNET_CERTIFICATE_INFO* LPINTERNET_CERTIFICATE_INFO; 719 + 720 +extern (Windows) alias void function(HINTERNET, DWORD, DWORD, PVOID, DWORD) 721 + INTERNET_STATUS_CALLBACK; 722 +alias INTERNET_STATUS_CALLBACK* LPINTERNET_STATUS_CALLBACK; 723 + 724 +struct GOPHER_FIND_DATAA { 725 + CHAR[MAX_GOPHER_DISPLAY_TEXT+1] DisplayString; 726 + DWORD GopherType; 727 + DWORD SizeLow; 728 + DWORD SizeHigh; 729 + FILETIME LastModificationTime; 730 + CHAR[MAX_GOPHER_LOCATOR_LENGTH+1] Locator; 731 +} 732 +alias GOPHER_FIND_DATAA* LPGOPHER_FIND_DATAA; 733 + 734 +struct GOPHER_FIND_DATAW { 735 + WCHAR[MAX_GOPHER_DISPLAY_TEXT+1] DisplayString; 736 + DWORD GopherType; 737 + DWORD SizeLow; 738 + DWORD SizeHigh; 739 + FILETIME LastModificationTime; 740 + WCHAR[MAX_GOPHER_LOCATOR_LENGTH+1] Locator; 741 +} 742 +alias GOPHER_FIND_DATAW* LPGOPHER_FIND_DATAW; 743 + 744 +struct GOPHER_ADMIN_ATTRIBUTE_TYPE { 745 + LPCTSTR Comment; 746 + LPCTSTR EmailAddress; 747 +} 748 +alias GOPHER_ADMIN_ATTRIBUTE_TYPE* LPGOPHER_ADMIN_ATTRIBUTE_TYPE; 749 + 750 +struct GOPHER_MOD_DATE_ATTRIBUTE_TYPE { 751 + FILETIME DateAndTime; 752 +} 753 +alias GOPHER_MOD_DATE_ATTRIBUTE_TYPE* LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE; 754 + 755 +struct GOPHER_TTL_ATTRIBUTE_TYPE { 756 + DWORD Ttl; 757 +} 758 +alias GOPHER_TTL_ATTRIBUTE_TYPE* LPGOPHER_TTL_ATTRIBUTE_TYPE; 759 + 760 +struct GOPHER_SCORE_ATTRIBUTE_TYPE { 761 + INT Score; 762 +} 763 +alias GOPHER_SCORE_ATTRIBUTE_TYPE* LPGOPHER_SCORE_ATTRIBUTE_TYPE; 764 + 765 +struct GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE { 766 + INT LowerBound; 767 + INT UpperBound; 768 +} 769 +alias GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE* LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE; 770 + 771 +struct GOPHER_SITE_ATTRIBUTE_TYPE { 772 + LPCTSTR Site; 773 +} 774 +alias GOPHER_SITE_ATTRIBUTE_TYPE* LPGOPHER_SITE_ATTRIBUTE_TYPE; 775 + 776 +struct GOPHER_ORGANIZATION_ATTRIBUTE_TYPE { 777 + LPCTSTR Organization; 778 +} 779 +alias GOPHER_ORGANIZATION_ATTRIBUTE_TYPE* LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE; 780 + 781 +struct GOPHER_LOCATION_ATTRIBUTE_TYPE { 782 + LPCTSTR Location; 783 +} 784 +alias GOPHER_LOCATION_ATTRIBUTE_TYPE* LPGOPHER_LOCATION_ATTRIBUTE_TYPE; 785 + 786 +struct GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE { 787 + INT DegreesNorth; 788 + INT MinutesNorth; 789 + INT SecondsNorth; 790 + INT DegreesEast; 791 + INT MinutesEast; 792 + INT SecondsEast; 793 +} 794 +alias GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE* 795 + LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE; 796 + 797 +struct GOPHER_TIMEZONE_ATTRIBUTE_TYPE { 798 + INT Zone; 799 +} 800 +alias GOPHER_TIMEZONE_ATTRIBUTE_TYPE* LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE; 801 + 802 +struct GOPHER_PROVIDER_ATTRIBUTE_TYPE { 803 + LPCTSTR Provider; 804 +} 805 +alias GOPHER_PROVIDER_ATTRIBUTE_TYPE* LPGOPHER_PROVIDER_ATTRIBUTE_TYPE; 806 + 807 +struct GOPHER_VERSION_ATTRIBUTE_TYPE { 808 + LPCTSTR Version; 809 +} 810 +alias GOPHER_VERSION_ATTRIBUTE_TYPE* LPGOPHER_VERSION_ATTRIBUTE_TYPE; 811 + 812 +struct GOPHER_ABSTRACT_ATTRIBUTE_TYPE { 813 + LPCTSTR ShortAbstract; 814 + LPCTSTR AbstractFile; 815 +} 816 +alias GOPHER_ABSTRACT_ATTRIBUTE_TYPE* LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE; 817 + 818 +struct GOPHER_VIEW_ATTRIBUTE_TYPE { 819 + LPCTSTR ContentType; 820 + LPCTSTR Language; 821 + DWORD Size; 822 +} 823 +alias GOPHER_VIEW_ATTRIBUTE_TYPE* LPGOPHER_VIEW_ATTRIBUTE_TYPE; 824 + 825 +struct GOPHER_VERONICA_ATTRIBUTE_TYPE { 826 + BOOL TreeWalk; 827 +} 828 +alias GOPHER_VERONICA_ATTRIBUTE_TYPE* LPGOPHER_VERONICA_ATTRIBUTE_TYPE; 829 + 830 +struct GOPHER_ASK_ATTRIBUTE_TYPE { 831 + LPCTSTR QuestionType; 832 + LPCTSTR QuestionText; 833 +} 834 +alias GOPHER_ASK_ATTRIBUTE_TYPE* LPGOPHER_ASK_ATTRIBUTE_TYPE; 835 + 836 +struct GOPHER_UNKNOWN_ATTRIBUTE_TYPE { 837 + LPCTSTR Text; 838 +} 839 +alias GOPHER_UNKNOWN_ATTRIBUTE_TYPE* LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE; 840 + 841 +struct GOPHER_ATTRIBUTE_TYPE { 842 + DWORD CategoryId; 843 + DWORD AttributeId; 844 + union { 845 + GOPHER_ADMIN_ATTRIBUTE_TYPE Admin; 846 + GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate; 847 + GOPHER_TTL_ATTRIBUTE_TYPE Ttl; 848 + GOPHER_SCORE_ATTRIBUTE_TYPE Score; 849 + GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange; 850 + GOPHER_SITE_ATTRIBUTE_TYPE Site; 851 + GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization; 852 + GOPHER_LOCATION_ATTRIBUTE_TYPE Location; 853 + GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation; 854 + GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone; 855 + GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider; 856 + GOPHER_VERSION_ATTRIBUTE_TYPE Version; 857 + GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract; 858 + GOPHER_VIEW_ATTRIBUTE_TYPE View; 859 + GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica; 860 + GOPHER_ASK_ATTRIBUTE_TYPE Ask; 861 + GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown; 862 + } /+AttributeType;+/ 863 +} 864 +alias GOPHER_ATTRIBUTE_TYPE* LPGOPHER_ATTRIBUTE_TYPE; 865 + 866 +alias BOOL function(LPGOPHER_ATTRIBUTE_TYPE, DWORD) 867 + GOPHER_ATTRIBUTE_ENUMERATOR; 868 + 869 +struct INTERNET_CACHE_ENTRY_INFOA { 870 + DWORD dwStructSize = INTERNET_CACHE_ENTRY_INFOA.sizeof; 871 + LPSTR lpszSourceUrlName; 872 + LPSTR lpszLocalFileName; 873 + DWORD CacheEntryType; 874 + DWORD dwUseCount; 875 + DWORD dwHitRate; 876 + DWORD dwSizeLow; 877 + DWORD dwSizeHigh; 878 + FILETIME LastModifiedTime; 879 + FILETIME ExpireTime; 880 + FILETIME LastAccessTime; 881 + FILETIME LastSyncTime; 882 + PBYTE lpHeaderInfo; 883 + DWORD dwHeaderInfoSize; 884 + LPSTR lpszFileExtension; 885 + DWORD dwReserved; 886 +} 887 +alias INTERNET_CACHE_ENTRY_INFOA* LPINTERNET_CACHE_ENTRY_INFOA; 888 + 889 +struct INTERNET_CACHE_ENTRY_INFOW { 890 + DWORD dwStructSize = INTERNET_CACHE_ENTRY_INFOW.sizeof; 891 + LPWSTR lpszSourceUrlName; 892 + LPWSTR lpszLocalFileName; 893 + DWORD CacheEntryType; 894 + DWORD dwUseCount; 895 + DWORD dwHitRate; 896 + DWORD dwSizeLow; 897 + DWORD dwSizeHigh; 898 + FILETIME LastModifiedTime; 899 + FILETIME ExpireTime; 900 + FILETIME LastAccessTime; 901 + FILETIME LastSyncTime; 902 + PBYTE lpHeaderInfo; 903 + DWORD dwHeaderInfoSize; 904 + LPWSTR lpszFileExtension; 905 + DWORD dwReserved; 906 +} 907 +alias INTERNET_CACHE_ENTRY_INFOW* LPINTERNET_CACHE_ENTRY_INFOW; 908 + 909 +struct INTERNET_BUFFERSA { 910 + DWORD dwStructSize = INTERNET_BUFFERSA.sizeof; 911 + INTERNET_BUFFERSA* Next; 912 + LPCSTR lpcszHeader; 913 + DWORD dwHeadersLength; 914 + DWORD dwHeadersTotal; 915 + LPVOID lpvBuffer; 916 + DWORD dwBufferLength; 917 + DWORD dwBufferTotal; 918 + DWORD dwOffsetLow; 919 + DWORD dwOffsetHigh; 920 +} 921 +alias INTERNET_BUFFERSA* LPINTERNET_BUFFERSA; 922 + 923 +struct INTERNET_BUFFERSW { 924 + DWORD dwStructSize = INTERNET_BUFFERSW.sizeof; 925 + INTERNET_BUFFERSW* Next; 926 + LPCWSTR lpcszHeader; 927 + DWORD dwHeadersLength; 928 + DWORD dwHeadersTotal; 929 + LPVOID lpvBuffer; 930 + DWORD dwBufferLength; 931 + DWORD dwBufferTotal; 932 + DWORD dwOffsetLow; 933 + DWORD dwOffsetHigh; 934 +} 935 +alias INTERNET_BUFFERSW* LPINTERNET_BUFFERSW; 936 + 937 +const size_t 938 + GROUP_OWNER_STORAGE_SIZE = 4, 939 + GROUPNAME_MAX_LENGTH = 120; 940 + 941 +struct INTERNET_CACHE_GROUP_INFOA { 942 + DWORD dwGroupSize; 943 + DWORD dwGroupFlags; 944 + DWORD dwGroupType; 945 + DWORD dwDiskUsage; 946 + DWORD dwDiskQuota; 947 + DWORD[GROUP_OWNER_STORAGE_SIZE] dwOwnerStorage; 948 + CHAR[GROUPNAME_MAX_LENGTH] szGroupName; 949 +} 950 +alias INTERNET_CACHE_GROUP_INFOA* LPINTERNET_CACHE_GROUP_INFOA; 951 + 952 +struct INTERNET_CACHE_GROUP_INFOW { 953 + DWORD dwGroupSize; 954 + DWORD dwGroupFlags; 955 + DWORD dwGroupType; 956 + DWORD dwDiskUsage; 957 + DWORD dwDiskQuota; 958 + DWORD[GROUP_OWNER_STORAGE_SIZE] dwOwnerStorage; 959 + WCHAR[GROUPNAME_MAX_LENGTH] szGroupName; 960 +} 961 +alias INTERNET_CACHE_GROUP_INFOW* LPINTERNET_CACHE_GROUP_INFOW; 962 + 963 +extern (Windows) { 964 + BOOL InternetTimeFromSystemTime(SYSTEMTIME*, DWORD, LPSTR, DWORD); 965 + BOOL InternetTimeToSystemTime(LPCSTR, SYSTEMTIME*, DWORD); 966 + BOOL InternetDebugGetLocalTime(SYSTEMTIME*, PDWORD); 967 + BOOL InternetCrackUrlA(LPCSTR, DWORD, DWORD, LPURL_COMPONENTSA); 968 + BOOL InternetCrackUrlW(LPCWSTR, DWORD, DWORD, LPURL_COMPONENTSW); 969 + BOOL InternetCreateUrlA(LPURL_COMPONENTSA, DWORD, LPSTR, PDWORD); 970 + BOOL InternetCreateUrlW(LPURL_COMPONENTSW, DWORD, LPWSTR, PDWORD); 971 + BOOL InternetCanonicalizeUrlA(LPCSTR, LPSTR, PDWORD, DWORD); 972 + BOOL InternetCanonicalizeUrlW(LPCWSTR, LPWSTR, PDWORD, DWORD); 973 + BOOL InternetCheckConnectionA(LPCSTR, DWORD, DWORD); 974 + BOOL InternetCheckConnectionW(LPCWSTR, DWORD, DWORD); 975 + BOOL InternetCombineUrlA(LPCSTR, LPCSTR, LPSTR, PDWORD, DWORD); 976 + BOOL InternetCombineUrlW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD, DWORD); 977 + HINTERNET InternetOpenA(LPCSTR, DWORD, LPCSTR, LPCSTR, DWORD); 978 + HINTERNET InternetOpenW(LPCWSTR, DWORD, LPCWSTR, LPCWSTR, DWORD); 979 + BOOL InternetCloseHandle(HINTERNET); 980 + HINTERNET InternetConnectA(HINTERNET, LPCSTR, INTERNET_PORT, LPCSTR, 981 + LPCSTR, DWORD, DWORD, DWORD); 982 + HINTERNET InternetConnectW(HINTERNET, LPCWSTR, INTERNET_PORT, LPCWSTR, 983 + LPCWSTR, DWORD, DWORD, DWORD); 984 + HINTERNET InternetOpenUrlA(HINTERNET, LPCSTR, LPCSTR, DWORD, DWORD, 985 + DWORD); 986 + HINTERNET InternetOpenUrlW(HINTERNET, LPCWSTR, LPCWSTR, DWORD, DWORD, 987 + DWORD); 988 + BOOL InternetReadFile(HINTERNET, PVOID, DWORD, PDWORD); 989 + DWORD InternetSetFilePointer(HINTERNET, LONG, PVOID, DWORD, DWORD); 990 + BOOL InternetWriteFile(HINTERNET, LPCVOID, DWORD, PDWORD); 991 + BOOL InternetQueryDataAvailable(HINTERNET, PDWORD, DWORD, DWORD); 992 + BOOL InternetFindNextFileA(HINTERNET, PVOID); 993 + BOOL InternetFindNextFileW(HINTERNET, PVOID); 994 + BOOL InternetQueryOptionA(HINTERNET, DWORD, PVOID, PDWORD); 995 + BOOL InternetQueryOptionW(HINTERNET, DWORD, PVOID, PDWORD); 996 + BOOL InternetSetOptionA(HINTERNET, DWORD, PVOID, DWORD); 997 + BOOL InternetSetOptionW(HINTERNET, DWORD, PVOID, DWORD); 998 + BOOL InternetSetOptionExA(HINTERNET, DWORD, PVOID, DWORD, DWORD); 999 + BOOL InternetSetOptionExW(HINTERNET, DWORD, PVOID, DWORD, DWORD); 1000 + BOOL InternetGetLastResponseInfoA(PDWORD, LPSTR, PDWORD); 1001 + BOOL InternetGetLastResponseInfoW(PDWORD, LPWSTR, PDWORD); 1002 + INTERNET_STATUS_CALLBACK InternetSetStatusCallback(HINTERNET, 1003 + INTERNET_STATUS_CALLBACK); 1004 + DWORD FtpGetFileSize(HINTERNET, LPDWORD); 1005 + HINTERNET FtpFindFirstFileA(HINTERNET, LPCSTR, LPWIN32_FIND_DATA, DWORD, 1006 + DWORD); 1007 + HINTERNET FtpFindFirstFileW(HINTERNET, LPCWSTR, LPWIN32_FIND_DATA, DWORD, 1008 + DWORD); 1009 + BOOL FtpGetFileA(HINTERNET, LPCSTR, LPCSTR, BOOL, DWORD, DWORD, DWORD); 1010 + BOOL FtpGetFileW(HINTERNET, LPCWSTR, LPCWSTR, BOOL, DWORD, DWORD, DWORD); 1011 + BOOL FtpPutFileA(HINTERNET, LPCSTR, LPCSTR, DWORD, DWORD); 1012 + BOOL FtpPutFileW(HINTERNET, LPCWSTR, LPCWSTR, DWORD, DWORD); 1013 + BOOL FtpDeleteFileA(HINTERNET, LPCSTR); 1014 + BOOL FtpDeleteFileW(HINTERNET, LPCWSTR); 1015 + BOOL FtpRenameFileA(HINTERNET, LPCSTR, LPCSTR); 1016 + BOOL FtpRenameFileW(HINTERNET, LPCWSTR, LPCWSTR); 1017 + HINTERNET FtpOpenFileA(HINTERNET, LPCSTR, DWORD, DWORD, DWORD); 1018 + HINTERNET FtpOpenFileW(HINTERNET, LPCWSTR, DWORD, DWORD, DWORD); 1019 + BOOL FtpCreateDirectoryA(HINTERNET, LPCSTR); 1020 + BOOL FtpCreateDirectoryW(HINTERNET, LPCWSTR); 1021 + BOOL FtpRemoveDirectoryA(HINTERNET, LPCSTR); 1022 + BOOL FtpRemoveDirectoryW(HINTERNET, LPCWSTR); 1023 + BOOL FtpSetCurrentDirectoryA(HINTERNET, LPCSTR); 1024 + BOOL FtpSetCurrentDirectoryW(HINTERNET, LPCWSTR); 1025 + BOOL FtpGetCurrentDirectoryA(HINTERNET, LPSTR, PDWORD); 1026 + BOOL FtpGetCurrentDirectoryW(HINTERNET, LPWSTR, PDWORD); 1027 + BOOL FtpCommandA(HINTERNET, BOOL, DWORD, LPCSTR, DWORD_PTR, HINTERNET*); 1028 + BOOL FtpCommandW(HINTERNET, BOOL, DWORD, LPCWSTR, DWORD_PTR, HINTERNET*); 1029 + BOOL GopherCreateLocatorA(LPCSTR, INTERNET_PORT, LPCSTR, LPCSTR, DWORD, 1030 + LPSTR, PDWORD); 1031 + BOOL GopherCreateLocatorW(LPCWSTR, INTERNET_PORT, LPCWSTR, LPCWSTR, DWORD, 1032 + LPWSTR, PDWORD); 1033 + BOOL GopherGetLocatorTypeA(LPCSTR, PDWORD); 1034 + BOOL GopherGetLocatorTypeW(LPCWSTR, PDWORD); 1035 + HINTERNET GopherFindFirstFileA(HINTERNET, LPCSTR, LPCSTR, 1036 + LPGOPHER_FIND_DATAA, DWORD, DWORD); 1037 + HINTERNET GopherFindFirstFileW(HINTERNET, LPCWSTR, LPCWSTR, 1038 + LPGOPHER_FIND_DATAW, DWORD, DWORD); 1039 + HINTERNET GopherOpenFileA(HINTERNET, LPCSTR, LPCSTR, DWORD, DWORD); 1040 + HINTERNET GopherOpenFileW(HINTERNET, LPCWSTR, LPCWSTR, DWORD, DWORD); 1041 + BOOL GopherGetAttributeA(HINTERNET, LPCSTR, LPCSTR, LPBYTE, DWORD, 1042 + PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD); 1043 + BOOL GopherGetAttributeW(HINTERNET, LPCWSTR, LPCWSTR, LPBYTE, DWORD, 1044 + PDWORD, GOPHER_ATTRIBUTE_ENUMERATOR, DWORD); 1045 + HINTERNET HttpOpenRequestA(HINTERNET, LPCSTR, LPCSTR, LPCSTR, LPCSTR, 1046 + LPCSTR*, DWORD, DWORD); 1047 + HINTERNET HttpOpenRequestW(HINTERNET, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, 1048 + LPCWSTR*, DWORD, DWORD); 1049 + BOOL HttpAddRequestHeadersA(HINTERNET, LPCSTR, DWORD, DWORD); 1050 + BOOL HttpAddRequestHeadersW(HINTERNET, LPCWSTR, DWORD, DWORD); 1051 + BOOL HttpSendRequestA(HINTERNET, LPCSTR, DWORD, PVOID, DWORD); 1052 + BOOL HttpSendRequestW(HINTERNET, LPCWSTR, DWORD, PVOID, DWORD); 1053 + BOOL HttpQueryInfoA(HINTERNET, DWORD, PVOID, PDWORD, PDWORD); 1054 + BOOL HttpQueryInfoW(HINTERNET, DWORD, PVOID, PDWORD, PDWORD); 1055 + BOOL InternetSetCookieA(LPCSTR, LPCSTR, LPCSTR); 1056 + BOOL InternetSetCookieW(LPCWSTR, LPCWSTR, LPCWSTR); 1057 + BOOL InternetGetCookieA(LPCSTR, LPCSTR, LPSTR, PDWORD); 1058 + BOOL InternetGetCookieW(LPCWSTR, LPCWSTR, LPWSTR, PDWORD); 1059 + DWORD InternetAttemptConnect(DWORD); 1060 + DWORD InternetErrorDlg(HWND, HINTERNET, DWORD, DWORD, PVOID*); 1061 + DWORD InternetConfirmZoneCrossing(HWND, LPSTR, LPSTR, BOOL); 1062 + BOOL CreateUrlCacheEntryA(LPCSTR, DWORD, LPCSTR, LPSTR, DWORD); 1063 + BOOL CreateUrlCacheEntryW(LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD); 1064 + BOOL CommitUrlCacheEntryA(LPCSTR, LPCSTR, FILETIME, FILETIME, DWORD, 1065 + LPBYTE, DWORD, LPCSTR, DWORD); 1066 + BOOL CommitUrlCacheEntryW(LPCWSTR, LPCWSTR, FILETIME, FILETIME, DWORD, 1067 + LPBYTE, DWORD, LPCWSTR, DWORD); 1068 + BOOL RetrieveUrlCacheEntryFileA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, 1069 + PDWORD, DWORD); 1070 + BOOL RetrieveUrlCacheEntryFileW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, 1071 + PDWORD, DWORD); 1072 + BOOL UnlockUrlCacheEntryFile(LPCSTR, DWORD); 1073 + HANDLE RetrieveUrlCacheEntryStreamA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, 1074 + PDWORD, BOOL, DWORD); 1075 + HANDLE RetrieveUrlCacheEntryStreamW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, 1076 + PDWORD, BOOL, DWORD); 1077 + BOOL ReadUrlCacheEntryStream(HANDLE, DWORD, PVOID, PDWORD, DWORD); 1078 + BOOL UnlockUrlCacheEntryStream(HANDLE, DWORD); 1079 + BOOL GetUrlCacheEntryInfoA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, PDWORD); 1080 + BOOL GetUrlCacheEntryInfoW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, PDWORD); 1081 + BOOL SetUrlCacheEntryInfoA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, DWORD); 1082 + BOOL SetUrlCacheEntryInfoW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, DWORD); 1083 + HANDLE FindFirstUrlCacheEntryA(LPCSTR, LPINTERNET_CACHE_ENTRY_INFOA, 1084 + PDWORD); 1085 + HANDLE FindFirstUrlCacheEntryW(LPCWSTR, LPINTERNET_CACHE_ENTRY_INFOW, 1086 + PDWORD); 1087 + BOOL FindNextUrlCacheEntryA(HANDLE, LPINTERNET_CACHE_ENTRY_INFOA, PDWORD); 1088 + BOOL FindNextUrlCacheEntryW(HANDLE, LPINTERNET_CACHE_ENTRY_INFOW, PDWORD); 1089 + BOOL FindCloseUrlCache(HANDLE); 1090 + BOOL DeleteUrlCacheEntry(LPCSTR); 1091 + DWORD AuthenticateUser(PVOID*, LPSTR, LPSTR, DWORD, LPSTR, DWORD, LPSTR, 1092 + LPSTR); 1093 + BOOL HttpSendRequestExA(HINTERNET, LPINTERNET_BUFFERSA, 1094 + LPINTERNET_BUFFERSA, DWORD, DWORD); 1095 + BOOL HttpSendRequestExW(HINTERNET, LPINTERNET_BUFFERSW, 1096 + LPINTERNET_BUFFERSW, DWORD, DWORD); 1097 + BOOL HttpEndRequestA(HINTERNET, LPINTERNET_BUFFERSA, DWORD, DWORD); 1098 + BOOL HttpEndRequestW(HINTERNET, LPINTERNET_BUFFERSW, DWORD, DWORD); 1099 + DWORD InternetDial(HWND, LPTSTR, DWORD, LPDWORD, DWORD); 1100 + DWORD InternetHangUp(DWORD, DWORD); 1101 + BOOL InternetGoOnline(LPTSTR, HWND, DWORD); 1102 + BOOL InternetAutodial(DWORD, DWORD); 1103 + BOOL InternetAutodialHangup(DWORD); 1104 + BOOL InternetGetConnectedState(LPDWORD, DWORD); 1105 + BOOL InternetSetDialState(LPCTSTR, DWORD, DWORD); 1106 + BOOL InternetReadFileExA(HINTERNET, LPINTERNET_BUFFERSA, DWORD, DWORD_PTR); 1107 + BOOL InternetReadFileExW(HINTERNET, LPINTERNET_BUFFERSW, DWORD, DWORD_PTR); 1108 + GROUPID CreateUrlCacheGroup(DWORD, LPVOID); 1109 + BOOL DeleteUrlCacheGroup(GROUPID, DWORD, LPVOID); 1110 + HANDLE FindFirstUrlCacheGroup(DWORD, DWORD, LPVOID, DWORD, GROUPID*, 1111 + LPVOID); 1112 + BOOL FindNextUrlCacheGroup(HANDLE, GROUPID*, LPVOID); 1113 + BOOL GetUrlCacheGroupAttributeA(GROUPID, DWORD, DWORD, 1114 + LPINTERNET_CACHE_GROUP_INFOA, LPDWORD, LPVOID); 1115 + BOOL GetUrlCacheGroupAttributeW(GROUPID, DWORD, DWORD, 1116 + LPINTERNET_CACHE_GROUP_INFOW, LPDWORD, LPVOID); 1117 + BOOL SetUrlCacheGroupAttributeA(GROUPID, DWORD, DWORD, 1118 + LPINTERNET_CACHE_GROUP_INFOA, LPVOID); 1119 + BOOL SetUrlCacheGroupAttributeW(GROUPID, DWORD, DWORD, 1120 + LPINTERNET_CACHE_GROUP_INFOW, LPVOID); 1121 +} 1122 + 1123 +version (Unicode) { 1124 + alias URL_COMPONENTSW URL_COMPONENTS; 1125 + alias LPURL_COMPONENTSW LPURL_COMPONENTS; 1126 + alias GOPHER_FIND_DATAW GOPHER_FIND_DATA; 1127 + alias LPGOPHER_FIND_DATAW LPGOPHER_FIND_DATA; 1128 + alias INTERNET_CACHE_ENTRY_INFOW INTERNET_CACHE_ENTRY_INFO; 1129 + alias LPINTERNET_CACHE_ENTRY_INFOW LPINTERNET_CACHE_ENTRY_INFO; 1130 + alias INTERNET_BUFFERSW INTERNET_BUFFERS; 1131 + alias INTERNET_CACHE_GROUP_INFOW INTERNET_CACHE_GROUP_INFO; 1132 + alias LPINTERNET_CACHE_GROUP_INFOW LPINTERNET_CACHE_GROUP_INFO; 1133 + alias InternetCrackUrlW InternetCrackUrl; 1134 + alias InternetCreateUrlW InternetCreateUrl; 1135 + alias InternetCanonicalizeUrlW InternetCanonicalizeUrl; 1136 + alias InternetCheckConnectionW InternetCheckConnection; 1137 + alias InternetCombineUrlW InternetCombineUrl; 1138 + alias InternetOpenW InternetOpen; 1139 + alias InternetConnectW InternetConnect; 1140 + alias InternetOpenUrlW InternetOpenUrl; 1141 + alias InternetFindNextFileW InternetFindNextFile; 1142 + alias InternetQueryOptionW InternetQueryOption; 1143 + alias InternetSetOptionW InternetSetOption; 1144 + alias InternetSetOptionExW InternetSetOptionEx; 1145 + alias InternetGetLastResponseInfoW InternetGetLastResponseInfo; 1146 + alias InternetReadFileExW InternetReadFileEx; 1147 + alias FtpFindFirstFileW FtpFindFirstFile; 1148 + alias FtpGetFileW FtpGetFile; 1149 + alias FtpPutFileW FtpPutFile; 1150 + alias FtpDeleteFileW FtpDeleteFile; 1151 + alias FtpRenameFileW FtpRenameFile; 1152 + alias FtpOpenFileW FtpOpenFile; 1153 + alias FtpCreateDirectoryW FtpCreateDirectory; 1154 + alias FtpRemoveDirectoryW FtpRemoveDirectory; 1155 + alias FtpSetCurrentDirectoryW FtpSetCurrentDirectory; 1156 + alias FtpGetCurrentDirectoryW FtpGetCurrentDirectory; 1157 + alias FtpCommandW FtpCommand; 1158 + alias GopherGetLocatorTypeW GopherGetLocatorType; 1159 + alias GopherCreateLocatorW GopherCreateLocator; 1160 + alias GopherFindFirstFileW GopherFindFirstFile; 1161 + alias GopherOpenFileW GopherOpenFile; 1162 + alias GopherGetAttributeW GopherGetAttribute; 1163 + alias HttpSendRequestW HttpSendRequest; 1164 + alias HttpOpenRequestW HttpOpenRequest; 1165 + alias HttpAddRequestHeadersW HttpAddRequestHeaders; 1166 + alias HttpQueryInfoW HttpQueryInfo; 1167 + alias InternetSetCookieW InternetSetCookie; 1168 + alias InternetGetCookieW InternetGetCookie; 1169 + alias CreateUrlCacheEntryW CreateUrlCacheEntry; 1170 + alias RetrieveUrlCacheEntryStreamW RetrieveUrlCacheEntryStream; 1171 + alias FindNextUrlCacheEntryW FindNextUrlCacheEntry; 1172 + alias CommitUrlCacheEntryW CommitUrlCacheEntry; 1173 + alias GetUrlCacheEntryInfoW GetUrlCacheEntryInfo; 1174 + alias SetUrlCacheEntryInfoW SetUrlCacheEntryInfo; 1175 + alias FindFirstUrlCacheEntryW FindFirstUrlCacheEntry; 1176 + alias RetrieveUrlCacheEntryFileW RetrieveUrlCacheEntryFile; 1177 + alias HttpSendRequestExW HttpSendRequestEx; 1178 + alias HttpEndRequestW HttpEndRequest; 1179 + alias GetUrlCacheGroupAttributeW GetUrlCacheGroupAttribute; 1180 + alias SetUrlCacheGroupAttributeW SetUrlCacheGroupAttribute; 1181 +} else { 1182 + alias URL_COMPONENTSA URL_COMPONENTS; 1183 + alias LPURL_COMPONENTSA LPURL_COMPONENTS; 1184 + alias GOPHER_FIND_DATAA GOPHER_FIND_DATA; 1185 + alias LPGOPHER_FIND_DATAA LPGOPHER_FIND_DATA; 1186 + alias INTERNET_CACHE_ENTRY_INFOA INTERNET_CACHE_ENTRY_INFO; 1187 + alias LPINTERNET_CACHE_ENTRY_INFOA LPINTERNET_CACHE_ENTRY_INFO; 1188 + alias INTERNET_BUFFERSA INTERNET_BUFFERS; 1189 + alias INTERNET_CACHE_GROUP_INFOA INTERNET_CACHE_GROUP_INFO; 1190 + alias LPINTERNET_CACHE_GROUP_INFOA LPINTERNET_CACHE_GROUP_INFO; 1191 + alias GopherGetAttributeA GopherGetAttribute; 1192 + alias InternetCrackUrlA InternetCrackUrl; 1193 + alias InternetCreateUrlA InternetCreateUrl; 1194 + alias InternetCanonicalizeUrlA InternetCanonicalizeUrl; 1195 + alias InternetCheckConnectionA InternetCheckConnection; 1196 + alias InternetCombineUrlA InternetCombineUrl; 1197 + alias InternetOpenA InternetOpen; 1198 + alias InternetConnectA InternetConnect; 1199 + alias InternetOpenUrlA InternetOpenUrl; 1200 + alias InternetFindNextFileA InternetFindNextFile; 1201 + alias InternetQueryOptionA InternetQueryOption; 1202 + alias InternetSetOptionA InternetSetOption; 1203 + alias InternetSetOptionExA InternetSetOptionEx; 1204 + alias InternetGetLastResponseInfoA InternetGetLastResponseInfo; 1205 + alias InternetReadFileExA InternetReadFileEx; 1206 + alias FtpFindFirstFileA FtpFindFirstFile; 1207 + alias FtpGetFileA FtpGetFile; 1208 + alias FtpPutFileA FtpPutFile; 1209 + alias FtpDeleteFileA FtpDeleteFile; 1210 + alias FtpRenameFileA FtpRenameFile; 1211 + alias FtpOpenFileA FtpOpenFile; 1212 + alias FtpCreateDirectoryA FtpCreateDirectory; 1213 + alias FtpRemoveDirectoryA FtpRemoveDirectory; 1214 + alias FtpSetCurrentDirectoryA FtpSetCurrentDirectory; 1215 + alias FtpGetCurrentDirectoryA FtpGetCurrentDirectory; 1216 + alias FtpCommandA FtpCommand; 1217 + alias GopherGetLocatorTypeA GopherGetLocatorType; 1218 + alias GopherCreateLocatorA GopherCreateLocator; 1219 + alias GopherFindFirstFileA GopherFindFirstFile; 1220 + alias GopherOpenFileA GopherOpenFile; 1221 + alias HttpSendRequestA HttpSendRequest; 1222 + alias HttpOpenRequestA HttpOpenRequest; 1223 + alias HttpAddRequestHeadersA HttpAddRequestHeaders; 1224 + alias HttpQueryInfoA HttpQueryInfo; 1225 + alias InternetSetCookieA InternetSetCookie; 1226 + alias InternetGetCookieA InternetGetCookie; 1227 + alias CreateUrlCacheEntryA CreateUrlCacheEntry; 1228 + alias RetrieveUrlCacheEntryStreamA RetrieveUrlCacheEntryStream; 1229 + alias FindNextUrlCacheEntryA FindNextUrlCacheEntry; 1230 + alias CommitUrlCacheEntryA CommitUrlCacheEntry; 1231 + alias GetUrlCacheEntryInfoA GetUrlCacheEntryInfo; 1232 + alias SetUrlCacheEntryInfoA SetUrlCacheEntryInfo; 1233 + alias FindFirstUrlCacheEntryA FindFirstUrlCacheEntry; 1234 + alias RetrieveUrlCacheEntryFileA RetrieveUrlCacheEntryFile; 1235 + alias HttpSendRequestExA HttpSendRequestEx; 1236 + alias HttpEndRequestA HttpEndRequest; 1237 + alias GetUrlCacheGroupAttributeA GetUrlCacheGroupAttribute; 1238 + alias SetUrlCacheGroupAttributeA SetUrlCacheGroupAttribute; 1239 +} 1240 + 1241 +alias INTERNET_BUFFERS* LPINTERNET_BUFFERS;

Added src/win32/winioctl.d version [0061631e5533d8ae]

1 +/***********************************************************************\ 2 +* winioctl.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.winioctl; 12 + 13 +// FIXME: check types of some constants 14 + 15 +private import win32.basetyps, win32.windef; 16 + 17 +const size_t 18 + HIST_NO_OF_BUCKETS = 24, 19 + HISTOGRAM_BUCKET_SIZE = HISTOGRAM_BUCKET.sizeof, 20 + DISK_HISTOGRAM_SIZE = DISK_HISTOGRAM.sizeof; 21 + 22 +alias DWORD DEVICE_TYPE; 23 + 24 +enum : DEVICE_TYPE { 25 + FILE_DEVICE_BEEP = 1, 26 + FILE_DEVICE_CD_ROM, 27 + FILE_DEVICE_CD_ROM_FILE_SYSTEM, 28 + FILE_DEVICE_CONTROLLER, 29 + FILE_DEVICE_DATALINK, 30 + FILE_DEVICE_DFS, 31 + FILE_DEVICE_DISK, 32 + FILE_DEVICE_DISK_FILE_SYSTEM, 33 + FILE_DEVICE_FILE_SYSTEM, 34 + FILE_DEVICE_INPORT_PORT, 35 + FILE_DEVICE_KEYBOARD, 36 + FILE_DEVICE_MAILSLOT, 37 + FILE_DEVICE_MIDI_IN, 38 + FILE_DEVICE_MIDI_OUT, 39 + FILE_DEVICE_MOUSE, 40 + FILE_DEVICE_MULTI_UNC_PROVIDER, 41 + FILE_DEVICE_NAMED_PIPE, 42 + FILE_DEVICE_NETWORK, 43 + FILE_DEVICE_NETWORK_BROWSER, 44 + FILE_DEVICE_NETWORK_FILE_SYSTEM, 45 + FILE_DEVICE_NULL, 46 + FILE_DEVICE_PARALLEL_PORT, 47 + FILE_DEVICE_PHYSICAL_NETCARD, 48 + FILE_DEVICE_PRINTER, 49 + FILE_DEVICE_SCANNER, 50 + FILE_DEVICE_SERIAL_MOUSE_PORT, 51 + FILE_DEVICE_SERIAL_PORT, 52 + FILE_DEVICE_SCREEN, 53 + FILE_DEVICE_SOUND, 54 + FILE_DEVICE_STREAMS, 55 + FILE_DEVICE_TAPE, 56 + FILE_DEVICE_TAPE_FILE_SYSTEM, 57 + FILE_DEVICE_TRANSPORT, 58 + FILE_DEVICE_UNKNOWN, 59 + FILE_DEVICE_VIDEO, 60 + FILE_DEVICE_VIRTUAL_DISK, 61 + FILE_DEVICE_WAVE_IN, 62 + FILE_DEVICE_WAVE_OUT, 63 + FILE_DEVICE_8042_PORT, 64 + FILE_DEVICE_NETWORK_REDIRECTOR, 65 + FILE_DEVICE_BATTERY, 66 + FILE_DEVICE_BUS_EXTENDER, 67 + FILE_DEVICE_MODEM, 68 + FILE_DEVICE_VDM, 69 + FILE_DEVICE_MASS_STORAGE, 70 + FILE_DEVICE_SMB, 71 + FILE_DEVICE_KS, 72 + FILE_DEVICE_CHANGER, 73 + FILE_DEVICE_SMARTCARD, 74 + FILE_DEVICE_ACPI, 75 + FILE_DEVICE_DVD, 76 + FILE_DEVICE_FULLSCREEN_VIDEO, 77 + FILE_DEVICE_DFS_FILE_SYSTEM, 78 + FILE_DEVICE_DFS_VOLUME, 79 + FILE_DEVICE_SERENUM, 80 + FILE_DEVICE_TERMSRV, 81 + FILE_DEVICE_KSEC // = 57 82 +} 83 + 84 +enum { 85 + METHOD_BUFFERED, 86 + METHOD_IN_DIRECT, 87 + METHOD_OUT_DIRECT, 88 + METHOD_NEITHER 89 +} 90 + 91 +enum { 92 + FILE_ANY_ACCESS, 93 + FILE_SPECIAL_ACCESS = 0, 94 + FILE_READ_ACCESS, 95 + FILE_WRITE_ACCESS 96 +} 97 + 98 +/* Bit pattern: 99 + * tttttttt tttttttt aaffffff ffffffmm 100 + */ 101 +/+ 102 +#define CTL_CODE(t, f, m, a) (((t)<<16)|((a)<<14)|((f)<<2)|(m)) 103 ++/ 104 + 105 +template CTL_CODE_T(DEVICE_TYPE t, uint f, uint m, uint a) { 106 + const DWORD CTL_CODE_T = (t << 16) | (a << 14) | (f << 2) | m; 107 +} 108 + 109 +DEVICE_TYPE DEVICE_TYPE_FROM_CTL_CODE(DWORD c) { 110 + return (c & 0xFFFF0000) >> 16; 111 +} 112 + 113 +const DEVICE_TYPE 114 + IOCTL_STORAGE_BASE = FILE_DEVICE_MASS_STORAGE, 115 + IOCTL_DISK_BASE = FILE_DEVICE_DISK, 116 + IOCTL_VOLUME_BASE = 'V'; 117 + 118 +enum : DWORD { 119 + IOCTL_STORAGE_CHECK_VERIFY = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS), 120 + IOCTL_STORAGE_CHECK_VERIFY2 = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_ANY_ACCESS), 121 + IOCTL_STORAGE_MEDIA_REMOVAL = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS), 122 + IOCTL_STORAGE_EJECT_MEDIA = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS), 123 + IOCTL_STORAGE_LOAD_MEDIA = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS), 124 + IOCTL_STORAGE_LOAD_MEDIA2 = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS), 125 + IOCTL_STORAGE_RESERVE = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS), 126 + IOCTL_STORAGE_RELEASE = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS), 127 + IOCTL_STORAGE_FIND_NEW_DEVICES = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS), 128 + IOCTL_STORAGE_EJECTION_CONTROL = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS), 129 + IOCTL_STORAGE_MCN_CONTROL = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS), 130 + IOCTL_STORAGE_GET_MEDIA_TYPES = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS), 131 + IOCTL_STORAGE_GET_MEDIA_TYPES_EX = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS), 132 + IOCTL_STORAGE_RESET_BUS = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS), 133 + IOCTL_STORAGE_RESET_DEVICE = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS), 134 + IOCTL_STORAGE_GET_DEVICE_NUMBER = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS), 135 + IOCTL_STORAGE_PREDICT_FAILURE = CTL_CODE_T!(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS), 136 + 137 + IOCTL_DISK_GET_DRIVE_GEOMETRY = CTL_CODE_T!(IOCTL_DISK_BASE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS), 138 + IOCTL_DISK_GET_PARTITION_INFO = CTL_CODE_T!(IOCTL_DISK_BASE, 1, METHOD_BUFFERED, FILE_READ_ACCESS), 139 + IOCTL_DISK_SET_PARTITION_INFO = CTL_CODE_T!(IOCTL_DISK_BASE, 2, METHOD_BUFFERED, FILE_READ_ACCESS|FILE_WRITE_ACCESS), 140 + IOCTL_DISK_GET_DRIVE_LAYOUT = CTL_CODE_T!(IOCTL_DISK_BASE, 3, METHOD_BUFFERED, FILE_READ_ACCESS), 141 + IOCTL_DISK_SET_DRIVE_LAYOUT = CTL_CODE_T!(IOCTL_DISK_BASE, 4, METHOD_BUFFERED, FILE_READ_ACCESS|FILE_WRITE_ACCESS), 142 + IOCTL_DISK_VERIFY = CTL_CODE_T!(IOCTL_DISK_BASE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS), 143 + IOCTL_DISK_FORMAT_TRACKS = CTL_CODE_T!(IOCTL_DISK_BASE, 6, METHOD_BUFFERED, FILE_READ_ACCESS|FILE_WRITE_ACCESS), 144 + IOCTL_DISK_REASSIGN_BLOCKS = CTL_CODE_T!(IOCTL_DISK_BASE, 7, METHOD_BUFFERED, FILE_READ_ACCESS|FILE_WRITE_ACCESS), 145 + IOCTL_DISK_PERFORMANCE = CTL_CODE_T!(IOCTL_DISK_BASE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS), 146 + IOCTL_DISK_IS_WRITABLE = CTL_CODE_T!(IOCTL_DISK_BASE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS), 147 + IOCTL_DISK_LOGGING = CTL_CODE_T!(IOCTL_DISK_BASE, 10, METHOD_BUFFERED, FILE_ANY_ACCESS), 148 + IOCTL_DISK_FORMAT_TRACKS_EX = CTL_CODE_T!(IOCTL_DISK_BASE, 11, METHOD_BUFFERED, FILE_READ_ACCESS|FILE_WRITE_ACCESS), 149 + IOCTL_DISK_HISTOGRAM_STRUCTURE = CTL_CODE_T!(IOCTL_DISK_BASE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS), 150 + IOCTL_DISK_HISTOGRAM_DATA = CTL_CODE_T!(IOCTL_DISK_BASE, 13, METHOD_BUFFERED, FILE_ANY_ACCESS), 151 + IOCTL_DISK_HISTOGRAM_RESET = CTL_CODE_T!(IOCTL_DISK_BASE, 14, METHOD_BUFFERED, FILE_ANY_ACCESS), 152 + IOCTL_DISK_REQUEST_STRUCTURE = CTL_CODE_T!(IOCTL_DISK_BASE, 15, METHOD_BUFFERED, FILE_ANY_ACCESS), 153 + IOCTL_DISK_REQUEST_DATA = CTL_CODE_T!(IOCTL_DISK_BASE, 16, METHOD_BUFFERED, FILE_ANY_ACCESS), 154 + IOCTL_DISK_GET_PARTITION_INFO_EX = CTL_CODE_T!(IOCTL_DISK_BASE, 0x12, METHOD_BUFFERED, FILE_ANY_ACCESS), 155 + IOCTL_DISK_SET_PARTITION_INFO_EX = CTL_CODE_T!(IOCTL_DISK_BASE, 0x13, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS), 156 + IOCTL_DISK_GET_DRIVE_LAYOUT_EX = CTL_CODE_T!(IOCTL_DISK_BASE, 0x14, METHOD_BUFFERED, FILE_ANY_ACCESS), 157 + IOCTL_DISK_SET_DRIVE_LAYOUT_EX = CTL_CODE_T!(IOCTL_DISK_BASE, 0x15, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS), 158 + IOCTL_DISK_CREATE_DISK = CTL_CODE_T!(IOCTL_DISK_BASE, 0x16, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS), 159 + IOCTL_DISK_GET_LENGTH_INFO = CTL_CODE_T!(IOCTL_DISK_BASE, 0x17, METHOD_BUFFERED, FILE_READ_ACCESS), 160 + IOCTL_DISK_PERFORMANCE_OFF = CTL_CODE_T!(IOCTL_DISK_BASE, 0x18, METHOD_BUFFERED, FILE_ANY_ACCESS), 161 + IOCTL_DISK_GET_DRIVE_GEOMETRY_EX = CTL_CODE_T!(IOCTL_DISK_BASE, 0x28, METHOD_BUFFERED, FILE_ANY_ACCESS), 162 + IOCTL_DISK_GROW_PARTITION = CTL_CODE_T!(IOCTL_DISK_BASE, 0x34, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS), 163 + IOCTL_DISK_GET_CACHE_INFORMATION = CTL_CODE_T!(IOCTL_DISK_BASE, 0x35, METHOD_BUFFERED, FILE_READ_ACCESS), 164 + IOCTL_DISK_SET_CACHE_INFORMATION = CTL_CODE_T!(IOCTL_DISK_BASE, 0x36, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS), 165 + IOCTL_DISK_DELETE_DRIVE_LAYOUT = CTL_CODE_T!(IOCTL_DISK_BASE, 0x40, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS), 166 + IOCTL_DISK_UPDATE_PROPERTIES = CTL_CODE_T!(IOCTL_DISK_BASE, 0x50, METHOD_BUFFERED, FILE_ANY_ACCESS), 167 + IOCTL_DISK_CHECK_VERIFY = CTL_CODE_T!(IOCTL_DISK_BASE, 0x200, METHOD_BUFFERED, FILE_READ_ACCESS), 168 + IOCTL_DISK_MEDIA_REMOVAL = CTL_CODE_T!(IOCTL_DISK_BASE, 0x201, METHOD_BUFFERED, FILE_READ_ACCESS), 169 + IOCTL_DISK_EJECT_MEDIA = CTL_CODE_T!(IOCTL_DISK_BASE, 0x202, METHOD_BUFFERED, FILE_READ_ACCESS), 170 + IOCTL_DISK_LOAD_MEDIA = CTL_CODE_T!(IOCTL_DISK_BASE, 0x203, METHOD_BUFFERED, FILE_READ_ACCESS), 171 + IOCTL_DISK_RESERVE = CTL_CODE_T!(IOCTL_DISK_BASE, 0x204, METHOD_BUFFERED, FILE_READ_ACCESS), 172 + IOCTL_DISK_RELEASE = CTL_CODE_T!(IOCTL_DISK_BASE, 0x205, METHOD_BUFFERED, FILE_READ_ACCESS), 173 + IOCTL_DISK_FIND_NEW_DEVICES = CTL_CODE_T!(IOCTL_DISK_BASE, 0x206, METHOD_BUFFERED, FILE_READ_ACCESS), 174 + IOCTL_DISK_REMOVE_DEVICE = CTL_CODE_T!(IOCTL_DISK_BASE, 0x207, METHOD_BUFFERED, FILE_READ_ACCESS), 175 + IOCTL_DISK_GET_MEDIA_TYPES = CTL_CODE_T!(IOCTL_DISK_BASE, 0x300, METHOD_BUFFERED, FILE_ANY_ACCESS), 176 + IOCTL_DISK_UPDATE_DRIVE_SIZE = CTL_CODE_T!(IOCTL_DISK_BASE, 0x0032, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS), 177 + IOCTL_SERIAL_LSRMST_INSERT = CTL_CODE_T!(FILE_DEVICE_SERIAL_PORT, 31, METHOD_BUFFERED, FILE_ANY_ACCESS), 178 + 179 + IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS = CTL_CODE_T!(IOCTL_VOLUME_BASE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS), 180 + IOCTL_VOLUME_IS_CLUSTERED = CTL_CODE_T!(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS), 181 + 182 + FSCTL_LOCK_VOLUME = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, FILE_ANY_ACCESS), 183 + FSCTL_UNLOCK_VOLUME = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, FILE_ANY_ACCESS), 184 + FSCTL_DISMOUNT_VOLUME = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, FILE_ANY_ACCESS), 185 + FSCTL_MOUNT_DBLS_VOLUME = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 13, METHOD_BUFFERED, FILE_ANY_ACCESS), 186 + FSCTL_GET_COMPRESSION = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS), 187 + FSCTL_SET_COMPRESSION = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA|FILE_WRITE_DATA), 188 + FSCTL_READ_COMPRESSION = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 17, METHOD_NEITHER, FILE_READ_DATA), 189 + FSCTL_WRITE_COMPRESSION = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 18, METHOD_NEITHER, FILE_WRITE_DATA), 190 + FSCTL_GET_NTFS_VOLUME_DATA = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS), 191 + FSCTL_GET_VOLUME_BITMAP = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, FILE_ANY_ACCESS), 192 + FSCTL_GET_RETRIEVAL_POINTERS = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 28, METHOD_NEITHER, FILE_ANY_ACCESS), 193 + FSCTL_MOVE_FILE = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_ANY_ACCESS), 194 + FSCTL_GET_REPARSE_POINT = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS), 195 + FSCTL_SET_REPARSE_POINT = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_ANY_ACCESS), 196 + FSCTL_DELETE_REPARSE_POINT = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_ANY_ACCESS), 197 + FSCTL_SET_SPARSE = CTL_CODE_T!(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_SPECIAL_ACCESS), 198 +} 199 + 200 +enum : BYTE { 201 + PARTITION_ENTRY_UNUSED, 202 + PARTITION_FAT_12, 203 + PARTITION_XENIX_1, 204 + PARTITION_XENIX_2, 205 + PARTITION_FAT_16, 206 + PARTITION_EXTENDED, 207 + PARTITION_HUGE, 208 + PARTITION_IFS, // = 0x07 209 + PARTITION_FAT32 = 0x0B, 210 + PARTITION_FAT32_XINT13 = 0x0C, 211 + PARTITION_XINT13 = 0x0E, 212 + PARTITION_XINT13_EXTENDED = 0x0F, 213 + PARTITION_PREP = 0x41, 214 + PARTITION_LDM = 0x42, 215 + PARTITION_UNIX = 0x63 216 +} 217 + 218 +const BYTE 219 + PARTITION_NTFT = 0x80, 220 + VALID_NTFT = 0xC0; 221 + 222 +enum { 223 + SERIAL_LSRMST_ESCAPE, 224 + SERIAL_LSRMST_LSR_DATA, 225 + SERIAL_LSRMST_LSR_NODATA, 226 + SERIAL_LSRMST_MST 227 +} 228 + 229 +enum { 230 + DISK_LOGGING_START, 231 + DISK_LOGGING_STOP, 232 + DISK_LOGGING_DUMP, 233 + DISK_BINNING 234 +} 235 + 236 +alias WORD BAD_TRACK_NUMBER; 237 +alias WORD* PBAD_TRACK_NUMBER; 238 + 239 +enum BIN_TYPES { 240 + RequestSize, RequestLocation 241 +} 242 + 243 +struct BIN_RANGE { 244 + LARGE_INTEGER StartValue; 245 + LARGE_INTEGER Length; 246 +} 247 +alias BIN_RANGE* PBIN_RANGE; 248 + 249 +struct BIN_COUNT { 250 + BIN_RANGE BinRange; 251 + DWORD BinCount; 252 +} 253 +alias BIN_COUNT* PBIN_COUNT; 254 + 255 +struct BIN_RESULTS { 256 + DWORD NumberOfBins; 257 + BIN_COUNT _BinCounts; 258 + 259 + BIN_COUNT* BinCounts() { return &_BinCounts; } 260 +} 261 +alias BIN_RESULTS* PBIN_RESULTS; 262 + 263 +enum PARTITION_STYLE { 264 + PARTITION_STYLE_MBR, 265 + PARTITION_STYLE_GPT, 266 + PARTITION_STYLE_RAW 267 +} 268 + 269 +struct CREATE_DISK_GPT { 270 + GUID DiskId; 271 + DWORD MaxPartitionCount; 272 +} 273 +alias CREATE_DISK_GPT* PCREATE_DISK_GPT; 274 + 275 +struct CREATE_DISK_MBR { 276 + DWORD Signature; 277 +} 278 +alias CREATE_DISK_MBR* PCREATE_DISK_MBR; 279 + 280 +struct CREATE_DISK { 281 + PARTITION_STYLE PartitionStyle; 282 + union { 283 + CREATE_DISK_MBR Mbr; 284 + CREATE_DISK_GPT Gpt; 285 + } 286 +} 287 +alias CREATE_DISK* PCREATE_DISK; 288 + 289 +enum DISK_CACHE_RETENTION_PRIORITY { 290 + EqualPriority, 291 + KeepPrefetchedData, 292 + KeepReadData 293 +} 294 + 295 +struct DISK_CACHE_INFORMATION { 296 + BOOLEAN ParametersSavable; 297 + BOOLEAN ReadCacheEnabled; 298 + BOOLEAN WriteCacheEnabled; 299 + DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority; 300 + DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority; 301 + WORD DisablePrefetchTransferLength; 302 + BOOLEAN PrefetchScalar; 303 + union { 304 + struct _ScalarPrefetch { 305 + WORD Minimum; 306 + WORD Maximum; 307 + WORD MaximumBlocks; 308 + } 309 + _ScalarPrefetch ScalarPrefetch; 310 + struct _BlockPrefetch { 311 + WORD Minimum; 312 + WORD Maximum; 313 + } 314 + _BlockPrefetch BlockPrefetch; 315 + } 316 +} 317 +alias DISK_CACHE_INFORMATION* PDISK_CACHE_INFORMATION; 318 + 319 +enum DETECTION_TYPE { 320 + DetectNone, 321 + DetectInt13, 322 + DetectExInt13 323 +} 324 + 325 +struct DISK_INT13_INFO { 326 + WORD DriveSelect; 327 + DWORD MaxCylinders; 328 + WORD SectorsPerTrack; 329 + WORD MaxHeads; 330 + WORD NumberDrives; 331 + } 332 +alias DISK_INT13_INFO* PDISK_INT13_INFO; 333 + 334 +struct DISK_EX_INT13_INFO { 335 + WORD ExBufferSize; 336 + WORD ExFlags; 337 + DWORD ExCylinders; 338 + DWORD ExHeads; 339 + DWORD ExSectorsPerTrack; 340 + DWORD64 ExSectorsPerDrive; 341 + WORD ExSectorSize; 342 + WORD ExReserved; 343 +} 344 +alias DISK_EX_INT13_INFO* PDISK_EX_INT13_INFO; 345 + 346 +struct DISK_DETECTION_INFO { 347 + DWORD SizeOfDetectInfo; 348 + DETECTION_TYPE DetectionType; 349 + DISK_INT13_INFO Int13; 350 + DISK_EX_INT13_INFO ExInt13; 351 +} 352 +alias DISK_DETECTION_INFO* PDISK_DETECTION_INFO; 353 + 354 +enum MEDIA_TYPE { 355 + Unknown, 356 + F5_1Pt2_512, 357 + F3_1Pt44_512, 358 + F3_2Pt88_512, 359 + F3_20Pt8_512, 360 + F3_720_512, 361 + F5_360_512, 362 + F5_320_512, 363 + F5_320_1024, 364 + F5_180_512, 365 + F5_160_512, 366 + RemovableMedia, 367 + FixedMedia, 368 + F3_120M_512, 369 + F3_640_512, 370 + F5_640_512, 371 + F5_720_512, 372 + F3_1Pt2_512, 373 + F3_1Pt23_1024, 374 + F5_1Pt23_1024, 375 + F3_128Mb_512, 376 + F3_230Mb_512, 377 + F8_256_128, 378 + F3_200Mb_512, 379 + F3_240M_512, 380 + F3_32M_512 381 +} 382 +alias MEDIA_TYPE* PMEDIA_TYPE; 383 + 384 +struct DISK_GEOMETRY { 385 + LARGE_INTEGER Cylinders; 386 + MEDIA_TYPE MediaType; 387 + DWORD TracksPerCylinder; 388 + DWORD SectorsPerTrack; 389 + DWORD BytesPerSector; 390 +} 391 +alias DISK_GEOMETRY* PDISK_GEOMETRY; 392 + 393 +struct DISK_GEOMETRY_EX { 394 + DISK_GEOMETRY Geometry; 395 + LARGE_INTEGER DiskSize; 396 + BYTE _Data; 397 + 398 + BYTE* Data() { return &_Data; } 399 +} 400 +alias DISK_GEOMETRY_EX* PDISK_GEOMETRY_EX; 401 + 402 +struct DISK_GROW_PARTITION { 403 + DWORD PartitionNumber; 404 + LARGE_INTEGER BytesToGrow; 405 +} 406 +alias DISK_GROW_PARTITION* PDISK_GROW_PARTITION; 407 + 408 +struct DISK_PARTITION_INFO { 409 + DWORD SizeOfPartitionInfo; 410 + PARTITION_STYLE PartitionStyle; 411 + union { 412 + //struct { 413 + DWORD Signature; 414 + //} Mbr; 415 + //struct { 416 + GUID DiskId; 417 + //} Gpt; 418 + } 419 +} 420 +alias DISK_PARTITION_INFO* PDISK_PARTITION_INFO; 421 + 422 +struct DISK_PERFORMANCE { 423 + LARGE_INTEGER BytesRead; 424 + LARGE_INTEGER BytesWritten; 425 + LARGE_INTEGER ReadTime; 426 + LARGE_INTEGER WriteTime; 427 + DWORD ReadCount; 428 + DWORD WriteCount; 429 + DWORD QueueDepth; 430 +} 431 +alias DISK_PERFORMANCE* PDISK_PERFORMANCE; 432 + 433 +struct DISK_RECORD { 434 + LARGE_INTEGER ByteOffset; 435 + LARGE_INTEGER StartTime; 436 + LARGE_INTEGER EndTime; 437 + PVOID VirtualAddress; 438 + DWORD NumberOfBytes; 439 + BYTE DeviceNumber; 440 + BOOLEAN ReadRequest; 441 +} 442 +alias DISK_RECORD* PDISK_RECORD; 443 + 444 +struct DISK_LOGGING { 445 + BYTE Function; 446 + PVOID BufferAddress; 447 + DWORD BufferSize; 448 +} 449 +alias DISK_LOGGING* PDISK_LOGGING; 450 + 451 +struct DISKQUOTA_USER_INFORMATION { 452 + LONGLONG QuotaUsed; 453 + LONGLONG QuotaThreshold; 454 + LONGLONG QuotaLimit; 455 +} 456 +alias DISKQUOTA_USER_INFORMATION* PDISKQUOTA_USER_INFORMATION; 457 + 458 +struct FORMAT_PARAMETERS { 459 + MEDIA_TYPE MediaType; 460 + DWORD StartCylinderNumber; 461 + DWORD EndCylinderNumber; 462 + DWORD StartHeadNumber; 463 + DWORD EndHeadNumber; 464 +} 465 +alias FORMAT_PARAMETERS* PFORMAT_PARAMETERS; 466 + 467 +struct FORMAT_EX_PARAMETERS { 468 + MEDIA_TYPE MediaType; 469 + DWORD StartCylinderNumber; 470 + DWORD EndCylinderNumber; 471 + DWORD StartHeadNumber; 472 + DWORD EndHeadNumber; 473 + WORD FormatGapLength; 474 + WORD SectorsPerTrack; 475 + WORD _SectorNumber; 476 + 477 + WORD* SectorNumber() { return &_SectorNumber; } 478 +} 479 +alias FORMAT_EX_PARAMETERS* PFORMAT_EX_PARAMETERS; 480 + 481 +struct GET_LENGTH_INFORMATION { 482 + LARGE_INTEGER Length; 483 +} 484 + 485 +struct HISTOGRAM_BUCKET { 486 + DWORD Reads; 487 + DWORD Writes; 488 +} 489 +alias HISTOGRAM_BUCKET* PHISTOGRAM_BUCKET; 490 + 491 +struct DISK_HISTOGRAM { 492 + LARGE_INTEGER DiskSize; 493 + LARGE_INTEGER Start; 494 + LARGE_INTEGER End; 495 + LARGE_INTEGER Average; 496 + LARGE_INTEGER AverageRead; 497 + LARGE_INTEGER AverageWrite; 498 + DWORD Granularity; 499 + DWORD Size; 500 + DWORD ReadCount; 501 + DWORD WriteCount; 502 + PHISTOGRAM_BUCKET Histogram; 503 +} 504 +alias DISK_HISTOGRAM* PDISK_HISTOGRAM; 505 + 506 +struct DISK_EXTENT { 507 + DWORD DiskNumber; 508 + LARGE_INTEGER StartingOffset; 509 + LARGE_INTEGER ExtentLength; 510 +} 511 +alias DISK_EXTENT* PDISK_EXTENT; 512 + 513 +struct VOLUME_DISK_EXTENTS { 514 + DWORD NumberOfDiskExtents; 515 + DISK_EXTENT _Extents; 516 + 517 + DISK_EXTENT* Extents() { return &_Extents; } 518 +} 519 +alias VOLUME_DISK_EXTENTS* PVOLUME_DISK_EXTENTS; 520 + 521 +struct PARTITION_INFORMATION { 522 + LARGE_INTEGER StartingOffset; 523 + LARGE_INTEGER PartitionLength; 524 + DWORD HiddenSectors; 525 + DWORD PartitionNumber; 526 + BYTE PartitionType; 527 + BOOLEAN BootIndicator; 528 + BOOLEAN RecognizedPartition; 529 + BOOLEAN RewritePartition; 530 +} 531 +alias PARTITION_INFORMATION* PPARTITION_INFORMATION; 532 + 533 +struct DRIVE_LAYOUT_INFORMATION { 534 + DWORD PartitionCount; 535 + DWORD Signature; 536 + PARTITION_INFORMATION _PartitionEntry; 537 + 538 + PARTITION_INFORMATION* PartitionEntry() { return &_PartitionEntry; } 539 +} 540 +alias DRIVE_LAYOUT_INFORMATION* PDRIVE_LAYOUT_INFORMATION; 541 + 542 +struct DRIVE_LAYOUT_INFORMATION_GPT { 543 + GUID DiskId; 544 + LARGE_INTEGER StartingUsableOffset; 545 + LARGE_INTEGER UsableLength; 546 + ULONG MaxPartitionCount; 547 +} 548 +alias DRIVE_LAYOUT_INFORMATION_GPT* PDRIVE_LAYOUT_INFORMATION_GPT; 549 + 550 +struct DRIVE_LAYOUT_INFORMATION_MBR { 551 + ULONG Signature; 552 +} 553 +alias DRIVE_LAYOUT_INFORMATION_MBR* PDRIVE_LAYOUT_INFORMATION_MBR; 554 + 555 +struct PARTITION_INFORMATION_MBR { 556 + BYTE PartitionType; 557 + BOOLEAN BootIndicator; 558 + BOOLEAN RecognizedPartition; 559 + DWORD HiddenSectors; 560 +} 561 + 562 +struct PARTITION_INFORMATION_GPT { 563 + GUID PartitionType; 564 + GUID PartitionId; 565 + DWORD64 Attributes; 566 + WCHAR[36] Name; 567 +} 568 + 569 +struct PARTITION_INFORMATION_EX { 570 + PARTITION_STYLE PartitionStyle; 571 + LARGE_INTEGER StartingOffset; 572 + LARGE_INTEGER PartitionLength; 573 + DWORD PartitionNumber; 574 + BOOLEAN RewritePartition; 575 + union { 576 + PARTITION_INFORMATION_MBR Mbr; 577 + PARTITION_INFORMATION_GPT Gpt; 578 + } 579 +} 580 + 581 +struct DRIVE_LAYOUT_INFORMATION_EX { 582 + DWORD PartitionStyle; 583 + DWORD PartitionCount; 584 + union { 585 + DRIVE_LAYOUT_INFORMATION_MBR Mbr; 586 + DRIVE_LAYOUT_INFORMATION_GPT Gpt; 587 + } 588 + PARTITION_INFORMATION_EX _PartitionEntry; 589 + 590 + PARTITION_INFORMATION_EX* PartitionEntry() { return &_PartitionEntry; } 591 +} 592 +alias DRIVE_LAYOUT_INFORMATION_EX* PDRIVE_LAYOUT_INFORMATION_EX; 593 + 594 +struct MOVE_FILE_DATA { 595 + HANDLE FileHandle; 596 + LARGE_INTEGER StartingVcn; 597 + LARGE_INTEGER StartingLcn; 598 + DWORD ClusterCount; 599 +} 600 +alias MOVE_FILE_DATA* PMOVE_FILE_DATA; 601 + 602 +struct PERF_BIN { 603 + DWORD NumberOfBins; 604 + DWORD TypeOfBin; 605 + BIN_RANGE _BinsRanges; 606 + 607 + BIN_RANGE* BinsRanges() { return &_BinsRanges; } 608 +} 609 +alias PERF_BIN* PPERF_BIN; 610 + 611 +struct PREVENT_MEDIA_REMOVAL { 612 + BOOLEAN PreventMediaRemoval; 613 +} 614 +alias PREVENT_MEDIA_REMOVAL* PPREVENT_MEDIA_REMOVAL; 615 + 616 +struct RETRIEVAL_POINTERS_BUFFER { 617 + DWORD ExtentCount; 618 + LARGE_INTEGER StartingVcn; 619 + // In MinGW, this is declared as struct { ... } Extents[1]; 620 + struct Extent { 621 + LARGE_INTEGER NextVcn; 622 + LARGE_INTEGER Lcn; 623 + } 624 + Extent _Extents; 625 + 626 + Extent* Extents() { return &_Extents; } 627 +} 628 +alias RETRIEVAL_POINTERS_BUFFER* PRETRIEVAL_POINTERS_BUFFER; 629 + 630 +struct REASSIGN_BLOCKS { 631 + WORD Reserved; 632 + WORD Count; 633 + DWORD _BlockNumber; 634 + 635 + DWORD* BlockNumber() { return &_BlockNumber; } 636 +} 637 +alias REASSIGN_BLOCKS* PREASSIGN_BLOCKS; 638 + 639 +struct SET_PARTITION_INFORMATION { 640 + BYTE PartitionType; 641 +} 642 +alias SET_PARTITION_INFORMATION* PSET_PARTITION_INFORMATION; 643 + 644 +struct STARTING_LCN_INPUT_BUFFER { 645 + LARGE_INTEGER StartingLcn; 646 +} 647 +alias STARTING_LCN_INPUT_BUFFER* PSTARTING_LCN_INPUT_BUFFER; 648 + 649 +struct STARTING_VCN_INPUT_BUFFER { 650 + LARGE_INTEGER StartingVcn; 651 +} 652 +alias STARTING_VCN_INPUT_BUFFER* PSTARTING_VCN_INPUT_BUFFER; 653 + 654 +struct VERIFY_INFORMATION { 655 + LARGE_INTEGER StartingOffset; 656 + DWORD Length; 657 +} 658 +alias VERIFY_INFORMATION* PVERIFY_INFORMATION; 659 + 660 +struct VOLUME_BITMAP_BUFFER { 661 + LARGE_INTEGER StartingLcn; 662 + LARGE_INTEGER BitmapSize; 663 + BYTE _Buffer; 664 + 665 + BYTE* Buffer() { return &_Buffer; } 666 +} 667 +alias VOLUME_BITMAP_BUFFER* PVOLUME_BITMAP_BUFFER; 668 + 669 +struct NTFS_VOLUME_DATA_BUFFER { 670 + LARGE_INTEGER VolumeSerialNumber; 671 + LARGE_INTEGER NumberSectors; 672 + LARGE_INTEGER TotalClusters; 673 + LARGE_INTEGER FreeClusters; 674 + LARGE_INTEGER TotalReserved; 675 + DWORD BytesPerSector; 676 + DWORD BytesPerCluster; 677 + DWORD BytesPerFileRecordSegment; 678 + DWORD ClustersPerFileRecordSegment; 679 + LARGE_INTEGER MftValidDataLength; 680 + LARGE_INTEGER MftStartLcn; 681 + LARGE_INTEGER Mft2StartLcn; 682 + LARGE_INTEGER MftZoneStart; 683 + LARGE_INTEGER MftZoneEnd; 684 +} 685 +alias NTFS_VOLUME_DATA_BUFFER* PNTFS_VOLUME_DATA_BUFFER; 686 + 687 + 688 +bool IsRecognizedPartition(BYTE t) { 689 + return ((t & PARTITION_NTFT) 690 + && ((t & ~VALID_NTFT) == PARTITION_FAT_12 691 + || (t & ~VALID_NTFT) == PARTITION_FAT_16 692 + || (t & ~VALID_NTFT) == PARTITION_IFS 693 + || (t & ~VALID_NTFT) == PARTITION_HUGE 694 + || (t & ~VALID_NTFT) == PARTITION_FAT32 695 + || (t & ~VALID_NTFT) == PARTITION_FAT32_XINT13 696 + || (t & ~VALID_NTFT) == PARTITION_XINT13)) 697 + || (t & ~PARTITION_NTFT) == PARTITION_FAT_12 698 + || (t & ~PARTITION_NTFT) == PARTITION_FAT_16 699 + || (t & ~PARTITION_NTFT) == PARTITION_IFS 700 + || (t & ~PARTITION_NTFT) == PARTITION_HUGE 701 + || (t & ~PARTITION_NTFT) == PARTITION_FAT32 702 + || (t & ~PARTITION_NTFT) == PARTITION_FAT32_XINT13 703 + || (t & ~PARTITION_NTFT) == PARTITION_XINT13; 704 +} 705 + 706 +bool IsContainerPartition(BYTE t) { 707 + return ((t & PARTITION_NTFT) 708 + && ((t & ~VALID_NTFT) == PARTITION_EXTENDED 709 + || (t & ~VALID_NTFT) == PARTITION_XINT13_EXTENDED)) 710 + || (t & ~PARTITION_NTFT) == PARTITION_EXTENDED 711 + || (t & ~PARTITION_NTFT) == PARTITION_XINT13_EXTENDED; 712 +}

Added src/win32/winldap.d version [b2194d0c5279bcf1]

1 +/***********************************************************************\ 2 +* winldap.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.winldap; 12 + 13 +/* Comment from MinGW 14 + winldap.h - Header file for the Windows LDAP API 15 + 16 + Written by Filip Navara <xnavara@volny.cz> 17 + 18 + References: 19 + The C LDAP Application Program Interface 20 + http://www.watersprings.org/pub/id/draft-ietf-ldapext-ldap-c-api-05.txt 21 + 22 + Lightweight Directory Access Protocol Reference 23 + http://msdn.microsoft.com/library/en-us/netdir/ldap/ldap_reference.asp 24 + 25 + This library is distributed in the hope that it will be useful, 26 + but WITHOUT ANY WARRANTY; without even the implied warranty of 27 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 28 +*/ 29 + 30 +import win32.schannel, win32.winber; 31 +private import win32.wincrypt, win32.windef; 32 +version(Tango){ 33 + private import tango.stdc.stdio; 34 +} 35 + 36 +align(4): 37 + 38 +enum { 39 + LDAP_VERSION1 = 1, 40 + LDAP_VERSION2 = 2, 41 + LDAP_VERSION3 = 3, 42 + LDAP_VERSION = LDAP_VERSION2, 43 + LDAP_VERSION_MIN = LDAP_VERSION2, 44 + LDAP_VERSION_MAX = LDAP_VERSION3 45 +} 46 + 47 +/* MinGW defines ANSI and Unicode versions as LDAP_VENDOR_NAME and 48 + * LDAP_VENDOR_NAME_W respectively; similarly with other string constants 49 + * defined in this module. 50 + */ 51 +const TCHAR[] LDAP_VENDOR_NAME = "Microsoft Corporation."; 52 + 53 +const LDAP_API_VERSION = 2004; 54 +const LDAP_VENDOR_VERSION = 510; 55 +const LDAP_API_INFO_VERSION = 1; 56 +const LDAP_FEATURE_INFO_VERSION = 1; 57 + 58 +enum { 59 + LDAP_SUCCESS = 0x00, 60 + LDAP_OPT_SUCCESS = LDAP_SUCCESS, 61 + LDAP_OPERATIONS_ERROR, 62 + LDAP_PROTOCOL_ERROR, 63 + LDAP_TIMELIMIT_EXCEEDED, 64 + LDAP_SIZELIMIT_EXCEEDED, 65 + LDAP_COMPARE_FALSE, 66 + LDAP_COMPARE_TRUE, 67 + LDAP_STRONG_AUTH_NOT_SUPPORTED, 68 + LDAP_AUTH_METHOD_NOT_SUPPORTED = LDAP_STRONG_AUTH_NOT_SUPPORTED, 69 + LDAP_STRONG_AUTH_REQUIRED, 70 + LDAP_REFERRAL_V2, 71 + LDAP_PARTIAL_RESULTS = LDAP_REFERRAL_V2, 72 + LDAP_REFERRAL, 73 + LDAP_ADMIN_LIMIT_EXCEEDED, 74 + LDAP_UNAVAILABLE_CRIT_EXTENSION, 75 + LDAP_CONFIDENTIALITY_REQUIRED, 76 + LDAP_SASL_BIND_IN_PROGRESS, // = 0x0e 77 + LDAP_NO_SUCH_ATTRIBUTE = 0x10, 78 + LDAP_UNDEFINED_TYPE, 79 + LDAP_INAPPROPRIATE_MATCHING, 80 + LDAP_CONSTRAINT_VIOLATION, 81 + LDAP_TYPE_OR_VALUE_EXISTS, 82 + LDAP_ATTRIBUTE_OR_VALUE_EXISTS = LDAP_TYPE_OR_VALUE_EXISTS, 83 + LDAP_INVALID_SYNTAX, // = 0x15 84 + LDAP_NO_SUCH_OBJECT = 0x20, 85 + LDAP_ALIAS_PROBLEM, 86 + LDAP_INVALID_DN_SYNTAX, 87 + LDAP_IS_LEAF, 88 + LDAP_ALIAS_DEREF_PROBLEM, // = 0x24 89 + LDAP_INAPPROPRIATE_AUTH = 0x30, 90 + LDAP_INVALID_CREDENTIALS, 91 + LDAP_INSUFFICIENT_ACCESS, 92 + LDAP_INSUFFICIENT_RIGHTS = LDAP_INSUFFICIENT_ACCESS, 93 + LDAP_BUSY, 94 + LDAP_UNAVAILABLE, 95 + LDAP_UNWILLING_TO_PERFORM, 96 + LDAP_LOOP_DETECT, // = 0x36 97 + LDAP_NAMING_VIOLATION = 0x40, 98 + LDAP_OBJECT_CLASS_VIOLATION, 99 + LDAP_NOT_ALLOWED_ON_NONLEAF, 100 + LDAP_NOT_ALLOWED_ON_RDN, 101 + LDAP_ALREADY_EXISTS, 102 + LDAP_NO_OBJECT_CLASS_MODS, 103 + LDAP_RESULTS_TOO_LARGE, 104 + LDAP_AFFECTS_MULTIPLE_DSAS, // = 0x47 105 + LDAP_OTHER = 0x50, 106 + LDAP_SERVER_DOWN, 107 + LDAP_LOCAL_ERROR, 108 + LDAP_ENCODING_ERROR, 109 + LDAP_DECODING_ERROR, 110 + LDAP_TIMEOUT, 111 + LDAP_AUTH_UNKNOWN, 112 + LDAP_FILTER_ERROR, 113 + LDAP_USER_CANCELLED, 114 + LDAP_PARAM_ERROR, 115 + LDAP_NO_MEMORY, 116 + LDAP_CONNECT_ERROR, 117 + LDAP_NOT_SUPPORTED, 118 + LDAP_CONTROL_NOT_FOUND, 119 + LDAP_NO_RESULTS_RETURNED, 120 + LDAP_MORE_RESULTS_TO_RETURN, 121 + LDAP_CLIENT_LOOP, 122 + LDAP_REFERRAL_LIMIT_EXCEEDED // = 0x61 123 +} 124 + 125 +enum { 126 + LDAP_PORT = 389, 127 + LDAP_SSL_PORT = 636, 128 + LDAP_GC_PORT = 3268, 129 + LDAP_SSL_GC_PORT = 3269 130 +} 131 + 132 +const void* 133 + LDAP_OPT_OFF = null, 134 + LDAP_OPT_ON = cast(void*) 1; 135 + 136 +enum { 137 + LDAP_OPT_API_INFO = 0x00, 138 + LDAP_OPT_DESC, 139 + LDAP_OPT_DEREF, 140 + LDAP_OPT_SIZELIMIT, 141 + LDAP_OPT_TIMELIMIT, 142 + LDAP_OPT_THREAD_FN_PTRS, 143 + LDAP_OPT_REBIND_FN, 144 + LDAP_OPT_REBIND_ARG, 145 + LDAP_OPT_REFERRALS, 146 + LDAP_OPT_RESTART, 147 + LDAP_OPT_SSL, 148 + LDAP_OPT_TLS = LDAP_OPT_SSL, 149 + LDAP_OPT_IO_FN_PTRS, // = 0x0b 150 + LDAP_OPT_CACHE_FN_PTRS = 0x0d, 151 + LDAP_OPT_CACHE_STRATEGY, 152 + LDAP_OPT_CACHE_ENABLE, 153 + LDAP_OPT_REFERRAL_HOP_LIMIT, 154 + LDAP_OPT_PROTOCOL_VERSION, 155 + LDAP_OPT_VERSION = LDAP_OPT_PROTOCOL_VERSION, 156 + LDAP_OPT_SERVER_CONTROLS, 157 + LDAP_OPT_CLIENT_CONTROLS, // = 0x13 158 + LDAP_OPT_API_FEATURE_INFO = 0x15, 159 + LDAP_OPT_HOST_NAME = 0x30, 160 + LDAP_OPT_ERROR_NUMBER, 161 + LDAP_OPT_ERROR_STRING, 162 + LDAP_OPT_SERVER_ERROR, 163 + LDAP_OPT_SERVER_EXT_ERROR, // = 0x34 164 + LDAP_OPT_PING_KEEP_ALIVE = 0x36, 165 + LDAP_OPT_PING_WAIT_TIME, 166 + LDAP_OPT_PING_LIMIT, // = 0x38 167 + LDAP_OPT_DNSDOMAIN_NAME = 0x3b, 168 + LDAP_OPT_GETDSNAME_FLAGS = 0x3d, 169 + LDAP_OPT_HOST_REACHABLE, 170 + LDAP_OPT_PROMPT_CREDENTIALS, 171 + LDAP_OPT_TCP_KEEPALIVE, // = 0x40 172 + LDAP_OPT_REFERRAL_CALLBACK = 0x70, 173 + LDAP_OPT_CLIENT_CERTIFICATE = 0x80, 174 + LDAP_OPT_SERVER_CERTIFICATE, // = 0x81 175 + LDAP_OPT_AUTO_RECONNECT = 0x91, 176 + LDAP_OPT_SSPI_FLAGS, 177 + LDAP_OPT_SSL_INFO, 178 + LDAP_OPT_TLS_INFO = LDAP_OPT_SSL_INFO, 179 + LDAP_OPT_REF_DEREF_CONN_PER_MSG, 180 + LDAP_OPT_SIGN, 181 + LDAP_OPT_ENCRYPT, 182 + LDAP_OPT_SASL_METHOD, 183 + LDAP_OPT_AREC_EXCLUSIVE, 184 + LDAP_OPT_SECURITY_CONTEXT, 185 + LDAP_OPT_ROOTDSE_CACHE // = 0x9a 186 +} 187 + 188 +enum { 189 + LDAP_DEREF_NEVER, 190 + LDAP_DEREF_SEARCHING, 191 + LDAP_DEREF_FINDING, 192 + LDAP_DEREF_ALWAYS 193 +} 194 + 195 +const LDAP_NO_LIMIT = 0; 196 + 197 +const TCHAR[] LDAP_CONTROL_REFERRALS = "1.2.840.113556.1.4.616"; 198 + 199 +// FIXME: check type (declared with U suffix in MinGW) 200 +enum : uint { 201 + LDAP_CHASE_SUBORDINATE_REFERRALS = 0x20, 202 + LDAP_CHASE_EXTERNAL_REFERRALS = 0x40 203 +} 204 + 205 +enum { 206 + LDAP_SCOPE_DEFAULT = -1, 207 + LDAP_SCOPE_BASE, 208 + LDAP_SCOPE_ONELEVEL, 209 + LDAP_SCOPE_SUBTREE 210 +} 211 + 212 +enum { 213 + LDAP_MOD_ADD, 214 + LDAP_MOD_DELETE, 215 + LDAP_MOD_REPLACE, 216 + LDAP_MOD_BVALUES = 0x80 217 +} 218 + 219 +enum : int { 220 + LDAP_RES_BIND = 0x61, 221 + LDAP_RES_SEARCH_ENTRY = 0x64, 222 + LDAP_RES_SEARCH_RESULT = 0x65, 223 + LDAP_RES_MODIFY = 0x67, 224 + LDAP_RES_ADD = 0x69, 225 + LDAP_RES_DELETE = 0x6b, 226 + LDAP_RES_MODRDN = 0x6d, 227 + LDAP_RES_COMPARE = 0x6f, 228 + LDAP_RES_SEARCH_REFERENCE = 0x73, 229 + LDAP_RES_EXTENDED = 0x78, 230 + LDAP_RES_ANY = -1 231 +} 232 + 233 +enum { 234 + LDAP_MSG_ONE, 235 + LDAP_MSG_ALL, 236 + LDAP_MSG_RECEIVED 237 +} 238 + 239 +const TCHAR[] 240 + LDAP_SERVER_SORT_OID = "1.2.840.113556.1.4.473", 241 + LDAP_SERVER_RESP_SORT_OID = "1.2.840.113556.1.4.474", 242 + LDAP_PAGED_RESULT_OID_STRING = "1.2.840.113556.1.4.319", 243 + LDAP_CONTROL_VLVREQUEST = "2.16.840.1.113730.3.4.9", 244 + LDAP_CONTROL_VLVRESPONSE = "2.16.840.1.113730.3.4.10", 245 + LDAP_START_TLS_OID = "1.3.6.1.4.1.1466.20037", 246 + LDAP_TTL_EXTENDED_OP_OID = "1.3.6.1.4.1.1466.101.119.1"; 247 + 248 +enum { 249 + LDAP_AUTH_NONE = 0x00U, 250 + LDAP_AUTH_SIMPLE = 0x80U, 251 + LDAP_AUTH_SASL = 0x83U, 252 + LDAP_AUTH_OTHERKIND = 0x86U, 253 + LDAP_AUTH_EXTERNAL = LDAP_AUTH_OTHERKIND | 0x0020U, 254 + LDAP_AUTH_SICILY = LDAP_AUTH_OTHERKIND | 0x0200U, 255 + LDAP_AUTH_NEGOTIATE = LDAP_AUTH_OTHERKIND | 0x0400U, 256 + LDAP_AUTH_MSN = LDAP_AUTH_OTHERKIND | 0x0800U, 257 + LDAP_AUTH_NTLM = LDAP_AUTH_OTHERKIND | 0x1000U, 258 + LDAP_AUTH_DIGEST = LDAP_AUTH_OTHERKIND | 0x4000U, 259 + LDAP_AUTH_DPA = LDAP_AUTH_OTHERKIND | 0x2000U, 260 + LDAP_AUTH_SSPI = LDAP_AUTH_NEGOTIATE 261 +} 262 + 263 +enum { 264 + LDAP_FILTER_AND = 0xa0, 265 + LDAP_FILTER_OR, 266 + LDAP_FILTER_NOT, 267 + LDAP_FILTER_EQUALITY, 268 + LDAP_FILTER_SUBSTRINGS, 269 + LDAP_FILTER_GE, 270 + LDAP_FILTER_LE, // = 0xa6 271 + LDAP_FILTER_APPROX = 0xa8, 272 + LDAP_FILTER_EXTENSIBLE, 273 + LDAP_FILTER_PRESENT = 0x87 274 +} 275 + 276 +enum { 277 + LDAP_SUBSTRING_INITIAL = 0x80, 278 + LDAP_SUBSTRING_ANY, 279 + LDAP_SUBSTRING_FINAL 280 +} 281 + 282 +struct LDAP { 283 + char[76] Reserved; 284 + PCHAR ld_host; 285 + ULONG ld_version; 286 + UCHAR ld_lberoptions; 287 + int ld_deref; 288 + int ld_timelimit; 289 + int ld_sizelimit; 290 + int ld_errno; 291 + PCHAR ld_matched; 292 + PCHAR ld_error; 293 +} 294 +alias LDAP* PLDAP; 295 + 296 +struct LDAPMessage { 297 + ULONG lm_msgid; 298 + ULONG lm_msgtype; 299 + BerElement* lm_ber; 300 + LDAPMessage* lm_chain; 301 + LDAPMessage* lm_next; 302 + ULONG lm_time; 303 +} 304 +alias LDAPMessage* PLDAPMessage; 305 + 306 +struct LDAP_TIMEVAL { 307 + LONG tv_sec; 308 + LONG tv_usec; 309 +} 310 +alias LDAP_TIMEVAL* PLDAP_TIMEVAL; 311 + 312 +struct LDAPAPIInfoA { 313 + int ldapai_info_version; 314 + int ldapai_api_version; 315 + int ldapai_protocol_version; 316 + char** ldapai_extensions; 317 + char* ldapai_vendor_name; 318 + int ldapai_vendor_version; 319 +} 320 +alias LDAPAPIInfoA* PLDAPAPIInfoA; 321 + 322 +struct LDAPAPIInfoW { 323 + int ldapai_info_version; 324 + int ldapai_api_version; 325 + int ldapai_protocol_version; 326 + PWCHAR* ldapai_extensions; 327 + PWCHAR ldapai_vendor_name; 328 + int ldapai_vendor_version; 329 +} 330 +alias LDAPAPIInfoW* PLDAPAPIInfoW; 331 + 332 +struct LDAPAPIFeatureInfoA { 333 + int ldapaif_info_version; 334 + char* ldapaif_name; 335 + int ldapaif_version; 336 +} 337 +alias LDAPAPIFeatureInfoA* PLDAPAPIFeatureInfoA; 338 + 339 +struct LDAPAPIFeatureInfoW { 340 + int ldapaif_info_version; 341 + PWCHAR ldapaif_name; 342 + int ldapaif_version; 343 +} 344 +alias LDAPAPIFeatureInfoW* PLDAPAPIFeatureInfoW; 345 + 346 +struct LDAPControlA { 347 + PCHAR ldctl_oid; 348 + BerValue ldctl_value; 349 + BOOLEAN ldctl_iscritical; 350 +} 351 +alias LDAPControlA* PLDAPControlA; 352 + 353 +struct LDAPControlW { 354 + PWCHAR ldctl_oid; 355 + BerValue ldctl_value; 356 + BOOLEAN ldctl_iscritical; 357 +} 358 +alias LDAPControlW* PLDAPControlW; 359 + 360 +/* Do we really need these? In MinGW, LDAPModA/W have only mod_op, mod_type 361 + * and mod_vals, and macros are used to simulate anonymous unions in those 362 + * structures. 363 + */ 364 +union mod_vals_u_tA { 365 + PCHAR* modv_strvals; 366 + BerValue** modv_bvals; 367 +} 368 + 369 +union mod_vals_u_tW { 370 + PWCHAR* modv_strvals; 371 + BerValue** modv_bvals; 372 +} 373 + 374 +struct LDAPModA { 375 + ULONG mod_op; 376 + PCHAR mod_type; 377 + 378 + union { 379 + mod_vals_u_tA mod_vals; 380 + // The following members are defined as macros in MinGW. 381 + PCHAR* mod_values; 382 + BerValue** mod_bvalues; 383 + } 384 +} 385 +alias LDAPModA* PLDAPModA; 386 + 387 +struct LDAPModW { 388 + ULONG mod_op; 389 + PWCHAR mod_type; 390 + 391 + union { 392 + mod_vals_u_tW mod_vals; 393 + // The following members are defined as macros in MinGW. 394 + PWCHAR* mod_values; 395 + BerValue** mod_bvalues; 396 + } 397 +} 398 +alias LDAPModW* PLDAPModW; 399 + 400 +/* Opaque structure 401 + * http://msdn.microsoft.com/library/en-us/ldap/ldap/ldapsearch.asp 402 + */ 403 +struct LDAPSearch; 404 +alias LDAPSearch* PLDAPSearch; 405 + 406 +struct LDAPSortKeyA { 407 + PCHAR sk_attrtype; 408 + PCHAR sk_matchruleoid; 409 + BOOLEAN sk_reverseorder; 410 +} 411 +alias LDAPSortKeyA* PLDAPSortKeyA; 412 + 413 +struct LDAPSortKeyW { 414 + PWCHAR sk_attrtype; 415 + PWCHAR sk_matchruleoid; 416 + BOOLEAN sk_reverseorder; 417 +} 418 +alias LDAPSortKeyW* PLDAPSortKeyW; 419 + 420 +/* MinGW defines these as immediate function typedefs, which don't translate 421 + * well into D. 422 + */ 423 +extern (C) { 424 + alias ULONG function(PLDAP, PLDAP, PWCHAR, PCHAR, ULONG, PVOID, PVOID, 425 + PLDAP*) QUERYFORCONNECTION; 426 + alias BOOLEAN function(PLDAP, PLDAP, PWCHAR, PCHAR, PLDAP, ULONG, PVOID, 427 + PVOID, ULONG) NOTIFYOFNEWCONNECTION; 428 + alias ULONG function(PLDAP, PLDAP) DEREFERENCECONNECTION; 429 + alias BOOLEAN function(PLDAP, PSecPkgContext_IssuerListInfoEx, 430 + PCCERT_CONTEXT*) QUERYCLIENTCERT; 431 +} 432 + 433 +struct LDAP_REFERRAL_CALLBACK { 434 + ULONG SizeOfCallbacks; 435 + QUERYFORCONNECTION* QueryForConnection; 436 + NOTIFYOFNEWCONNECTION* NotifyRoutine; 437 + DEREFERENCECONNECTION* DereferenceRoutine; 438 +} 439 +alias LDAP_REFERRAL_CALLBACK* PLDAP_REFERRAL_CALLBACK; 440 + 441 +struct LDAPVLVInfo { 442 + int ldvlv_version; 443 + uint ldvlv_before_count; 444 + uint ldvlv_after_count; 445 + uint ldvlv_offset; 446 + uint ldvlv_count; 447 + BerValue* ldvlv_attrvalue; 448 + BerValue* ldvlv_context; 449 + void* ldvlv_extradata; 450 +} 451 + 452 +/* 453 + * Under Microsoft WinLDAP the function ldap_error is only stub. 454 + * This macro uses LDAP structure to get error string and pass it to the user. 455 + */ 456 +private extern (C) int printf(in char* format, ...); 457 +int ldap_perror(LDAP* handle, char* message) { 458 + return printf("%s: %s\n", message, handle.ld_error); 459 +} 460 + 461 +/* FIXME: In MinGW, these are WINLDAPAPI == DECLSPEC_IMPORT. Linkage 462 + * attribute? 463 + */ 464 +extern (C) { 465 + PLDAP ldap_initA(PCHAR, ULONG); 466 + PLDAP ldap_initW(PWCHAR, ULONG); 467 + PLDAP ldap_openA(PCHAR, ULONG); 468 + PLDAP ldap_openW(PWCHAR, ULONG); 469 + PLDAP cldap_openA(PCHAR, ULONG); 470 + PLDAP cldap_openW(PWCHAR, ULONG); 471 + ULONG ldap_connect(LDAP*, LDAP_TIMEVAL*); 472 + PLDAP ldap_sslinitA(PCHAR, ULONG, int); 473 + PLDAP ldap_sslinitW(PWCHAR, ULONG, int); 474 + ULONG ldap_start_tls_sA(LDAP*, PLDAPControlA*, PLDAPControlA*); 475 + ULONG ldap_start_tls_sW(LDAP*, PLDAPControlW*, PLDAPControlW*); 476 + BOOLEAN ldap_stop_tls_s(LDAP*); 477 + ULONG ldap_get_optionA(LDAP*, int, void*); 478 + ULONG ldap_get_optionW(LDAP*, int, void*); 479 + ULONG ldap_set_optionA(LDAP*, int, void*); 480 + ULONG ldap_set_optionW(LDAP*, int, void*); 481 + ULONG ldap_control_freeA(LDAPControlA*); 482 + ULONG ldap_control_freeW(LDAPControlW*); 483 + ULONG ldap_controls_freeA(LDAPControlA**); 484 + ULONG ldap_controls_freeW(LDAPControlW**); 485 + ULONG ldap_free_controlsA(LDAPControlA**); 486 + ULONG ldap_free_controlsW(LDAPControlW**); 487 + ULONG ldap_sasl_bindA(LDAP*, PCHAR, PCHAR, BERVAL*, PLDAPControlA*, 488 + PLDAPControlA*, int*); 489 + ULONG ldap_sasl_bindW(LDAP*, PWCHAR, PWCHAR, BERVAL*, PLDAPControlW*, 490 + PLDAPControlW*, int*); 491 + ULONG ldap_sasl_bind_sA(LDAP*, PCHAR, PCHAR, BERVAL*, PLDAPControlA*, 492 + PLDAPControlA*, PBERVAL*); 493 + ULONG ldap_sasl_bind_sW(LDAP*, PWCHAR, PWCHAR, BERVAL*, PLDAPControlW*, 494 + PLDAPControlW*, PBERVAL*); 495 + ULONG ldap_simple_bindA(LDAP*, PCHAR, PCHAR); 496 + ULONG ldap_simple_bindW(LDAP*, PWCHAR, PWCHAR); 497 + ULONG ldap_simple_bind_sA(LDAP*, PCHAR, PCHAR); 498 + ULONG ldap_simple_bind_sW(LDAP*, PWCHAR, PWCHAR); 499 + ULONG ldap_unbind(LDAP*); 500 + ULONG ldap_unbind_s(LDAP*); 501 + ULONG ldap_search_extA(LDAP*, PCHAR, ULONG, PCHAR, PCHAR[], ULONG, 502 + PLDAPControlW*, PLDAPControlW*, ULONG, ULONG, ULONG*); 503 + ULONG ldap_search_extW(LDAP*, PWCHAR, ULONG, PWCHAR, PWCHAR[], ULONG, 504 + PLDAPControlW*, PLDAPControlW*, ULONG, ULONG, ULONG*); 505 + ULONG ldap_search_ext_sA(LDAP*, PCHAR, ULONG, PCHAR, PCHAR[], ULONG, 506 + PLDAPControlA*, PLDAPControlA*, LDAP_TIMEVAL*, ULONG, LDAPMessage**); 507 + ULONG ldap_search_ext_sW(LDAP*, PWCHAR, ULONG, PWCHAR, PWCHAR[], ULONG, 508 + PLDAPControlW*, PLDAPControlW*, LDAP_TIMEVAL*, ULONG, LDAPMessage**); 509 + ULONG ldap_searchA(LDAP*, PCHAR, ULONG, PCHAR, PCHAR[], ULONG); 510 + ULONG ldap_searchW(LDAP*, PWCHAR, ULONG, PWCHAR, PWCHAR[], ULONG); 511 + ULONG ldap_search_sA(LDAP*, PCHAR, ULONG, PCHAR, PCHAR[], ULONG, 512 + LDAPMessage**); 513 + ULONG ldap_search_sW(LDAP*, PWCHAR, ULONG, PWCHAR, PWCHAR[], ULONG, 514 + LDAPMessage**); 515 + ULONG ldap_search_stA(LDAP*, PCHAR, ULONG, PCHAR, PCHAR[], ULONG, 516 + LDAP_TIMEVAL*, LDAPMessage**); 517 + ULONG ldap_search_stW(LDAP*, PWCHAR, ULONG, PWCHAR, PWCHAR[], ULONG, 518 + LDAP_TIMEVAL*, LDAPMessage**); 519 + ULONG ldap_compare_extA(LDAP*, PCHAR, PCHAR, PCHAR, BerValue*, 520 + PLDAPControlA*, PLDAPControlA*, ULONG*); 521 + ULONG ldap_compare_extW(LDAP*, PWCHAR, PWCHAR, PWCHAR, BerValue*, 522 + PLDAPControlW*, PLDAPControlW*, ULONG*); 523 + ULONG ldap_compare_ext_sA(LDAP*, PCHAR, PCHAR, PCHAR, BerValue*, 524 + PLDAPControlA*, PLDAPControlA*); 525 + ULONG ldap_compare_ext_sW(LDAP*, PWCHAR, PWCHAR, PWCHAR, BerValue*, 526 + PLDAPControlW*, PLDAPControlW*); 527 + ULONG ldap_compareA(LDAP*, PCHAR, PCHAR, PCHAR); 528 + ULONG ldap_compareW(LDAP*, PWCHAR, PWCHAR, PWCHAR); 529 + ULONG ldap_compare_sA(LDAP*, PCHAR, PCHAR, PCHAR); 530 + ULONG ldap_compare_sW(LDAP*, PWCHAR, PWCHAR, PWCHAR); 531 + ULONG ldap_modify_extA(LDAP*, PCHAR, LDAPModA*[], PLDAPControlA*, 532 + PLDAPControlA*, ULONG*); 533 + ULONG ldap_modify_extW(LDAP*, PWCHAR, LDAPModW*[], PLDAPControlW*, 534 + PLDAPControlW*, ULONG*); 535 + ULONG ldap_modify_ext_sA(LDAP*, PCHAR, LDAPModA*[], PLDAPControlA*, 536 + PLDAPControlA*); 537 + ULONG ldap_modify_ext_sW(LDAP*, PWCHAR, LDAPModW*[], PLDAPControlW*, 538 + PLDAPControlW*); 539 + ULONG ldap_modifyA(LDAP*, PCHAR, LDAPModA*[]); 540 + ULONG ldap_modifyW(LDAP*, PWCHAR, LDAPModW*[]); 541 + ULONG ldap_modify_sA(LDAP*, PCHAR, LDAPModA*[]); 542 + ULONG ldap_modify_sW(LDAP*, PWCHAR, LDAPModW*[]); 543 + ULONG ldap_rename_extA(LDAP*, PCHAR, PCHAR, PCHAR, INT, PLDAPControlA*, 544 + PLDAPControlA*, ULONG*); 545 + ULONG ldap_rename_extW(LDAP*, PWCHAR, PWCHAR, PWCHAR, INT, PLDAPControlW*, 546 + PLDAPControlW*, ULONG*); 547 + ULONG ldap_rename_ext_sA(LDAP*, PCHAR, PCHAR, PCHAR, INT, 548 + PLDAPControlA*, PLDAPControlA*); 549 + ULONG ldap_rename_ext_sW(LDAP*, PWCHAR, PWCHAR, PWCHAR, INT, 550 + PLDAPControlW*, PLDAPControlW*); 551 + ULONG ldap_add_extA(LDAP*, PCHAR, LDAPModA*[], PLDAPControlA*, 552 + PLDAPControlA*, ULONG*); 553 + ULONG ldap_add_extW(LDAP*, PWCHAR, LDAPModW*[], PLDAPControlW*, 554 + PLDAPControlW*, ULONG*); 555 + ULONG ldap_add_ext_sA(LDAP*, PCHAR, LDAPModA*[], PLDAPControlA*, 556 + PLDAPControlA*); 557 + ULONG ldap_add_ext_sW(LDAP*, PWCHAR, LDAPModW*[], PLDAPControlW*, 558 + PLDAPControlW*); 559 + ULONG ldap_addA(LDAP*, PCHAR, LDAPModA*[]); 560 + ULONG ldap_addW(LDAP*, PWCHAR, LDAPModW*[]); 561 + ULONG ldap_add_sA(LDAP*, PCHAR, LDAPModA*[]); 562 + ULONG ldap_add_sW(LDAP*, PWCHAR, LDAPModW*[]); 563 + ULONG ldap_delete_extA(LDAP*, PCHAR, PLDAPControlA*, PLDAPControlA*, 564 + ULONG*); 565 + ULONG ldap_delete_extW(LDAP*, PWCHAR, PLDAPControlW*, PLDAPControlW*, 566 + ULONG*); 567 + ULONG ldap_delete_ext_sA(LDAP*, PCHAR, PLDAPControlA*, PLDAPControlA*); 568 + ULONG ldap_delete_ext_sW(LDAP*, PWCHAR, PLDAPControlW*, PLDAPControlW*); 569 + ULONG ldap_deleteA(LDAP*, PCHAR); 570 + ULONG ldap_deleteW(LDAP*, PWCHAR); 571 + ULONG ldap_delete_sA(LDAP*, PCHAR); 572 + ULONG ldap_delete_sW(LDAP*, PWCHAR); 573 + ULONG ldap_extended_operationA(LDAP*, PCHAR, BerValue*, PLDAPControlA*, 574 + PLDAPControlA*, ULONG*); 575 + ULONG ldap_extended_operationW(LDAP*, PWCHAR, BerValue*, PLDAPControlW*, 576 + PLDAPControlW*, ULONG*); 577 + ULONG ldap_extended_operation_sA(LDAP*, PCHAR, BerValue*, PLDAPControlA*, 578 + PLDAPControlA*, PCHAR*, BerValue**); 579 + ULONG ldap_extended_operation_sW(LDAP*, PWCHAR, BerValue*, PLDAPControlW*, 580 + PLDAPControlW*, PWCHAR*, BerValue**); 581 + ULONG ldap_close_extended_op(LDAP*, ULONG); 582 + ULONG ldap_abandon(LDAP*, ULONG); 583 + ULONG ldap_result(LDAP*, ULONG, ULONG, LDAP_TIMEVAL*, LDAPMessage**); 584 + ULONG ldap_msgfree(LDAPMessage*); 585 + ULONG ldap_parse_resultA(LDAP*, LDAPMessage*, ULONG*, PCHAR*, PCHAR*, 586 + PCHAR**, PLDAPControlA**, BOOLEAN); 587 + ULONG ldap_parse_resultW(LDAP*, LDAPMessage*, ULONG*, PWCHAR*, PWCHAR*, 588 + PWCHAR**, PLDAPControlW**, BOOLEAN); 589 + ULONG ldap_parse_extended_resultA(LDAP, LDAPMessage*, PCHAR*, BerValue**, 590 + BOOLEAN); 591 + ULONG ldap_parse_extended_resultW(LDAP, LDAPMessage*, PWCHAR*, BerValue**, 592 + BOOLEAN); 593 + PCHAR ldap_err2stringA(ULONG); 594 + PWCHAR ldap_err2stringW(ULONG); 595 + ULONG LdapGetLastError(); 596 + ULONG LdapMapErrorToWin32(ULONG); 597 + ULONG ldap_result2error(LDAP*, LDAPMessage*, ULONG); 598 + PLDAPMessage ldap_first_entry(LDAP*, LDAPMessage*); 599 + PLDAPMessage ldap_next_entry(LDAP*, LDAPMessage*); 600 + PLDAPMessage ldap_first_reference(LDAP*, LDAPMessage*); 601 + PLDAPMessage ldap_next_reference(LDAP*, LDAPMessage*); 602 + ULONG ldap_count_entries(LDAP*, LDAPMessage*); 603 + ULONG ldap_count_references(LDAP*, LDAPMessage*); 604 + PCHAR ldap_first_attributeA(LDAP*, LDAPMessage*, BerElement**); 605 + PWCHAR ldap_first_attributeW(LDAP*, LDAPMessage*, BerElement**); 606 + PCHAR ldap_next_attributeA(LDAP*, LDAPMessage*, BerElement*); 607 + PWCHAR ldap_next_attributeW(LDAP*, LDAPMessage*, BerElement*); 608 + VOID ldap_memfreeA(PCHAR); 609 + VOID ldap_memfreeW(PWCHAR); 610 + PCHAR* ldap_get_valuesA(LDAP*, LDAPMessage*, PCHAR); 611 + PWCHAR* ldap_get_valuesW(LDAP*, LDAPMessage*, PWCHAR); 612 + BerValue** ldap_get_values_lenA(LDAP*, LDAPMessage*, PCHAR); 613 + BerValue** ldap_get_values_lenW(LDAP*, LDAPMessage*, PWCHAR); 614 + ULONG ldap_count_valuesA(PCHAR*); 615 + ULONG ldap_count_valuesW(PWCHAR*); 616 + ULONG ldap_count_values_len(BerValue**); 617 + ULONG ldap_value_freeA(PCHAR*); 618 + ULONG ldap_value_freeW(PWCHAR*); 619 + ULONG ldap_value_free_len(BerValue**); 620 + PCHAR ldap_get_dnA(LDAP*, LDAPMessage*); 621 + PWCHAR ldap_get_dnW(LDAP*, LDAPMessage*); 622 + PCHAR ldap_explode_dnA(PCHAR, ULONG); 623 + PWCHAR ldap_explode_dnW(PWCHAR, ULONG); 624 + PCHAR ldap_dn2ufnA(PCHAR); 625 + PWCHAR ldap_dn2ufnW(PWCHAR); 626 + ULONG ldap_ufn2dnA(PCHAR, PCHAR*); 627 + ULONG ldap_ufn2dnW(PWCHAR, PWCHAR*); 628 + ULONG ldap_parse_referenceA(LDAP*, LDAPMessage*, PCHAR**); 629 + ULONG ldap_parse_referenceW(LDAP*, LDAPMessage*, PWCHAR**); 630 + ULONG ldap_check_filterA(LDAP*, PCHAR); 631 + ULONG ldap_check_filterW(LDAP*, PWCHAR); 632 + ULONG ldap_create_page_controlA(PLDAP, ULONG, BerValue*, UCHAR, 633 + PLDAPControlA*); 634 + ULONG ldap_create_page_controlW(PLDAP, ULONG, BerValue*, UCHAR, 635 + PLDAPControlW*); 636 + ULONG ldap_create_sort_controlA(PLDAP, PLDAPSortKeyA*, UCHAR, 637 + PLDAPControlA*); 638 + ULONG ldap_create_sort_controlW(PLDAP, PLDAPSortKeyW*, UCHAR, 639 + PLDAPControlW*); 640 + INT ldap_create_vlv_controlA(LDAP*, LDAPVLVInfo*, UCHAR, LDAPControlA**); 641 + INT ldap_create_vlv_controlW(LDAP*, LDAPVLVInfo*, UCHAR, LDAPControlW**); 642 + ULONG ldap_encode_sort_controlA(PLDAP, PLDAPSortKeyA*, PLDAPControlA, 643 + BOOLEAN); 644 + ULONG ldap_encode_sort_controlW(PLDAP, PLDAPSortKeyW*, PLDAPControlW, 645 + BOOLEAN); 646 + ULONG ldap_escape_filter_elementA(PCHAR, ULONG, PCHAR, ULONG); 647 + ULONG ldap_escape_filter_elementW(PWCHAR, ULONG, PWCHAR, ULONG); 648 + ULONG ldap_get_next_page(PLDAP, PLDAPSearch, ULONG, ULONG*); 649 + ULONG ldap_get_next_page_s(PLDAP, PLDAPSearch, LDAP_TIMEVAL*, ULONG, 650 + ULONG*, LDAPMessage**); 651 + ULONG ldap_get_paged_count(PLDAP, PLDAPSearch, ULONG*, PLDAPMessage); 652 + ULONG ldap_parse_page_controlA(PLDAP, PLDAPControlA*, ULONG*, BerValue**); 653 + ULONG ldap_parse_page_controlW(PLDAP, PLDAPControlW*, ULONG*, BerValue**); 654 + ULONG ldap_parse_sort_controlA(PLDAP, PLDAPControlA*, ULONG*, PCHAR*); 655 + ULONG ldap_parse_sort_controlW(PLDAP, PLDAPControlW*, ULONG*, PWCHAR*); 656 + INT ldap_parse_vlv_controlA(LDAP*, LDAPControlA**, uint*, uint*, 657 + BerValue**, int*); 658 + INT ldap_parse_vlv_controlW(LDAP*, LDAPControlW**, uint*, uint*, 659 + BerValue**, int*); 660 + PLDAPSearch ldap_search_init_pageA(PLDAP, PCHAR, ULONG, PCHAR, PCHAR[], 661 + ULONG, PLDAPControlA*, PLDAPControlA*, ULONG, ULONG, PLDAPSortKeyA*); 662 + PLDAPSearch ldap_search_init_pageW(PLDAP, PWCHAR, ULONG, PWCHAR, PWCHAR[], 663 + ULONG, PLDAPControlW*, PLDAPControlW*, ULONG, ULONG, PLDAPSortKeyW*); 664 + ULONG ldap_search_abandon_page(PLDAP, PLDAPSearch); 665 + LDAP ldap_conn_from_msg(LDAP*, LDAPMessage*); 666 + INT LdapUnicodeToUTF8(LPCWSTR, int, LPSTR, int); 667 + INT LdapUTF8ToUnicode(LPCSTR, int, LPWSTR, int); 668 + deprecated { 669 + ULONG ldap_bindA(LDAP*, PCHAR, PCHAR, ULONG); 670 + ULONG ldap_bindW(LDAP*, PWCHAR, PWCHAR, ULONG); 671 + ULONG ldap_bind_sA(LDAP*, PCHAR, PCHAR, ULONG); 672 + ULONG ldap_bind_sW(LDAP*, PWCHAR, PWCHAR, ULONG); 673 + ULONG ldap_modrdnA(LDAP*, PCHAR, PCHAR); 674 + ULONG ldap_modrdnW(LDAP*, PWCHAR, PWCHAR); 675 + ULONG ldap_modrdn_sA(LDAP*, PCHAR, PCHAR); 676 + ULONG ldap_modrdn_sW(LDAP*, PWCHAR, PWCHAR); 677 + ULONG ldap_modrdn2A(LDAP*, PCHAR, PCHAR, INT); 678 + ULONG ldap_modrdn2W(LDAP*, PWCHAR, PWCHAR, INT); 679 + ULONG ldap_modrdn2_sA(LDAP*, PCHAR, PCHAR, INT); 680 + ULONG ldap_modrdn2_sW(LDAP*, PWCHAR, PWCHAR, INT); 681 + } 682 +} 683 + 684 +version (Unicode) { 685 + alias LDAPControlW LDAPControl; 686 + alias PLDAPControlW PLDAPControl; 687 + alias LDAPModW LDAPMod; 688 + alias LDAPModW PLDAPMod; 689 + alias LDAPSortKeyW LDAPSortKey; 690 + alias PLDAPSortKeyW PLDAPSortKey; 691 + alias LDAPAPIInfoW LDAPAPIInfo; 692 + alias PLDAPAPIInfoW PLDAPAPIInfo; 693 + alias LDAPAPIFeatureInfoW LDAPAPIFeatureInfo; 694 + alias PLDAPAPIFeatureInfoW PLDAPAPIFeatureInfo; 695 + alias cldap_openW cldap_open; 696 + alias ldap_openW ldap_open; 697 + alias ldap_simple_bindW ldap_simple_bind; 698 + alias ldap_simple_bind_sW ldap_simple_bind_s; 699 + alias ldap_sasl_bindW ldap_sasl_bind; 700 + alias ldap_sasl_bind_sW ldap_sasl_bind_s; 701 + alias ldap_initW ldap_init; 702 + alias ldap_sslinitW ldap_sslinit; 703 + alias ldap_get_optionW ldap_get_option; 704 + alias ldap_set_optionW ldap_set_option; 705 + alias ldap_start_tls_sW ldap_start_tls_s; 706 + alias ldap_addW ldap_add; 707 + alias ldap_add_extW ldap_add_ext; 708 + alias ldap_add_sW ldap_add_s; 709 + alias ldap_add_ext_sW ldap_add_ext_s; 710 + alias ldap_compareW ldap_compare; 711 + alias ldap_compare_extW ldap_compare_ext; 712 + alias ldap_compare_sW ldap_compare_s; 713 + alias ldap_compare_ext_sW ldap_compare_ext_s; 714 + alias ldap_deleteW ldap_delete; 715 + alias ldap_delete_extW ldap_delete_ext; 716 + alias ldap_delete_sW ldap_delete_s; 717 + alias ldap_delete_ext_sW ldap_delete_ext_s; 718 + alias ldap_extended_operation_sW ldap_extended_operation_s; 719 + alias ldap_extended_operationW ldap_extended_operation; 720 + alias ldap_modifyW ldap_modify; 721 + alias ldap_modify_extW ldap_modify_ext; 722 + alias ldap_modify_sW ldap_modify_s; 723 + alias ldap_modify_ext_sW ldap_modify_ext_s; 724 + alias ldap_check_filterW ldap_check_filter; 725 + alias ldap_count_valuesW ldap_count_values; 726 + alias ldap_create_page_controlW ldap_create_page_control; 727 + alias ldap_create_sort_controlW ldap_create_sort_control; 728 + alias ldap_create_vlv_controlW ldap_create_vlv_control; 729 + alias ldap_encode_sort_controlW ldap_encode_sort_control; 730 + alias ldap_escape_filter_elementW ldap_escape_filter_element; 731 + alias ldap_first_attributeW ldap_first_attribute; 732 + alias ldap_next_attributeW ldap_next_attribute; 733 + alias ldap_get_valuesW ldap_get_values; 734 + alias ldap_get_values_lenW ldap_get_values_len; 735 + alias ldap_parse_extended_resultW ldap_parse_extended_result; 736 + alias ldap_parse_page_controlW ldap_parse_page_control; 737 + alias ldap_parse_referenceW ldap_parse_reference; 738 + alias ldap_parse_resultW ldap_parse_result; 739 + alias ldap_parse_sort_controlW ldap_parse_sort_control; 740 + alias ldap_parse_vlv_controlW ldap_parse_vlv_control; 741 + alias ldap_searchW ldap_search; 742 + alias ldap_search_sW ldap_search_s; 743 + alias ldap_search_stW ldap_search_st; 744 + alias ldap_search_extW ldap_search_ext; 745 + alias ldap_search_ext_sW ldap_search_ext_s; 746 + alias ldap_search_init_pageW ldap_search_init_page; 747 + alias ldap_err2stringW ldap_err2string; 748 + alias ldap_control_freeW ldap_control_free; 749 + alias ldap_controls_freeW ldap_controls_free; 750 + alias ldap_free_controlsW ldap_free_controls; 751 + alias ldap_memfreeW ldap_memfree; 752 + alias ldap_value_freeW ldap_value_free; 753 + alias ldap_dn2ufnW ldap_dn2ufn; 754 + alias ldap_ufn2dnW ldap_ufn2dn; 755 + alias ldap_explode_dnW ldap_explode_dn; 756 + alias ldap_get_dnW ldap_get_dn; 757 + alias ldap_rename_extW ldap_rename; 758 + alias ldap_rename_ext_sW ldap_rename_s; 759 + alias ldap_rename_extW ldap_rename_ext; 760 + alias ldap_rename_ext_sW ldap_rename_ext_s; 761 + deprecated { 762 + alias ldap_bindW ldap_bind; 763 + alias ldap_bind_sW ldap_bind_s; 764 + alias ldap_modrdnW ldap_modrdn; 765 + alias ldap_modrdn_sW ldap_modrdn_s; 766 + alias ldap_modrdn2W ldap_modrdn2; 767 + alias ldap_modrdn2_sW ldap_modrdn2_s; 768 + } 769 +} else { 770 + alias LDAPControlA LDAPControl; 771 + alias PLDAPControlA PLDAPControl; 772 + alias LDAPModA LDAPMod; 773 + alias LDAPModA PLDAPMod; 774 + alias LDAPSortKeyA LDAPSortKey; 775 + alias PLDAPSortKeyA PLDAPSortKey; 776 + alias LDAPAPIInfoA LDAPAPIInfo; 777 + alias PLDAPAPIInfoA PLDAPAPIInfo; 778 + alias LDAPAPIFeatureInfoA LDAPAPIFeatureInfo; 779 + alias PLDAPAPIFeatureInfoA PLDAPAPIFeatureInfo; 780 + alias cldap_openA cldap_open; 781 + alias ldap_openA ldap_open; 782 + alias ldap_simple_bindA ldap_simple_bind; 783 + alias ldap_simple_bind_sA ldap_simple_bind_s; 784 + alias ldap_sasl_bindA ldap_sasl_bind; 785 + alias ldap_sasl_bind_sA ldap_sasl_bind_s; 786 + alias ldap_initA ldap_init; 787 + alias ldap_sslinitA ldap_sslinit; 788 + alias ldap_get_optionA ldap_get_option; 789 + alias ldap_set_optionA ldap_set_option; 790 + alias ldap_start_tls_sA ldap_start_tls_s; 791 + alias ldap_addA ldap_add; 792 + alias ldap_add_extA ldap_add_ext; 793 + alias ldap_add_sA ldap_add_s; 794 + alias ldap_add_ext_sA ldap_add_ext_s; 795 + alias ldap_compareA ldap_compare; 796 + alias ldap_compare_extA ldap_compare_ext; 797 + alias ldap_compare_sA ldap_compare_s; 798 + alias ldap_compare_ext_sA ldap_compare_ext_s; 799 + alias ldap_deleteA ldap_delete; 800 + alias ldap_delete_extA ldap_delete_ext; 801 + alias ldap_delete_sA ldap_delete_s; 802 + alias ldap_delete_ext_sA ldap_delete_ext_s; 803 + alias ldap_extended_operation_sA ldap_extended_operation_s; 804 + alias ldap_extended_operationA ldap_extended_operation; 805 + alias ldap_modifyA ldap_modify; 806 + alias ldap_modify_extA ldap_modify_ext; 807 + alias ldap_modify_sA ldap_modify_s; 808 + alias ldap_modify_ext_sA ldap_modify_ext_s; 809 + alias ldap_check_filterA ldap_check_filter; 810 + alias ldap_count_valuesA ldap_count_values; 811 + alias ldap_create_page_controlA ldap_create_page_control; 812 + alias ldap_create_sort_controlA ldap_create_sort_control; 813 + alias ldap_create_vlv_controlA ldap_create_vlv_control; 814 + alias ldap_encode_sort_controlA ldap_encode_sort_control; 815 + alias ldap_escape_filter_elementA ldap_escape_filter_element; 816 + alias ldap_first_attributeA ldap_first_attribute; 817 + alias ldap_next_attributeA ldap_next_attribute; 818 + alias ldap_get_valuesA ldap_get_values; 819 + alias ldap_get_values_lenA ldap_get_values_len; 820 + alias ldap_parse_extended_resultA ldap_parse_extended_result; 821 + alias ldap_parse_page_controlA ldap_parse_page_control; 822 + alias ldap_parse_referenceA ldap_parse_reference; 823 + alias ldap_parse_resultA ldap_parse_result; 824 + alias ldap_parse_sort_controlA ldap_parse_sort_control; 825 + alias ldap_parse_vlv_controlA ldap_parse_vlv_control; 826 + alias ldap_searchA ldap_search; 827 + alias ldap_search_sA ldap_search_s; 828 + alias ldap_search_stA ldap_search_st; 829 + alias ldap_search_extA ldap_search_ext; 830 + alias ldap_search_ext_sA ldap_search_ext_s; 831 + alias ldap_search_init_pageA ldap_search_init_page; 832 + alias ldap_err2stringA ldap_err2string; 833 + alias ldap_control_freeA ldap_control_free; 834 + alias ldap_controls_freeA ldap_controls_free; 835 + alias ldap_free_controlsA ldap_free_controls; 836 + alias ldap_memfreeA ldap_memfree; 837 + alias ldap_value_freeA ldap_value_free; 838 + alias ldap_dn2ufnA ldap_dn2ufn; 839 + alias ldap_ufn2dnA ldap_ufn2dn; 840 + alias ldap_explode_dnA ldap_explode_dn; 841 + alias ldap_get_dnA ldap_get_dn; 842 + alias ldap_rename_extA ldap_rename; 843 + alias ldap_rename_ext_sA ldap_rename_s; 844 + alias ldap_rename_extA ldap_rename_ext; 845 + alias ldap_rename_ext_sA ldap_rename_ext_s; 846 + deprecated { 847 + alias ldap_bindA ldap_bind; 848 + alias ldap_bind_sA ldap_bind_s; 849 + alias ldap_modrdnA ldap_modrdn; 850 + alias ldap_modrdn_sA ldap_modrdn_s; 851 + alias ldap_modrdn2A ldap_modrdn2; 852 + alias ldap_modrdn2_sA ldap_modrdn2_s; 853 + } 854 +}

Added src/win32/winnetwk.d version [95bc9e92ac61060b]

1 +/***********************************************************************\ 2 +* winnetwk.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.winnetwk; 12 +pragma(lib, "mpr.lib"); 13 + 14 +private import win32.winbase, win32.winerror, win32.winnt; 15 + 16 +enum : DWORD { 17 + WNNC_NET_MSNET = 0x00010000, 18 + WNNC_NET_LANMAN = 0x00020000, 19 + WNNC_NET_NETWARE = 0x00030000, 20 + WNNC_NET_VINES = 0x00040000, 21 + WNNC_NET_10NET = 0x00050000, 22 + WNNC_NET_LOCUS = 0x00060000, 23 + WNNC_NET_SUN_PC_NFS = 0x00070000, 24 + WNNC_NET_LANSTEP = 0x00080000, 25 + WNNC_NET_9TILES = 0x00090000, 26 + WNNC_NET_LANTASTIC = 0x000A0000, 27 + WNNC_NET_AS400 = 0x000B0000, 28 + WNNC_NET_FTP_NFS = 0x000C0000, 29 + WNNC_NET_PATHWORKS = 0x000D0000, 30 + WNNC_NET_LIFENET = 0x000E0000, 31 + WNNC_NET_POWERLAN = 0x000F0000, 32 + WNNC_NET_BWNFS = 0x00100000, 33 + WNNC_NET_COGENT = 0x00110000, 34 + WNNC_NET_FARALLON = 0x00120000, 35 + WNNC_NET_APPLETALK = 0x00130000, 36 + WNNC_NET_INTERGRAPH = 0x00140000, 37 + WNNC_NET_SYMFONET = 0x00150000, 38 + WNNC_NET_CLEARCASE = 0x00160000, 39 + WNNC_NET_FRONTIER = 0x00170000, 40 + WNNC_NET_BMC = 0x00180000, 41 + WNNC_NET_DCE = 0x00190000, 42 + WNNC_NET_AVID = 0x001A0000, 43 + WNNC_NET_DOCUSPACE = 0x001B0000, 44 + WNNC_NET_MANGOSOFT = 0x001C0000, 45 + WNNC_NET_SERNET = 0x001D0000, 46 + WNNC_NET_DECORB = 0x00200000, 47 + WNNC_NET_PROTSTOR = 0x00210000, 48 + WNNC_NET_FJ_REDIR = 0x00220000, 49 + WNNC_NET_DISTINCT = 0x00230000, 50 + WNNC_NET_TWINS = 0x00240000, 51 + WNNC_NET_RDR2SAMPLE = 0x00250000, 52 + WNNC_NET_CSC = 0x00260000, 53 + WNNC_NET_3IN1 = 0x00270000, 54 + WNNC_NET_EXTENDNET = 0x00290000, 55 + WNNC_NET_OBJECT_DIRE = 0x00300000, 56 + WNNC_NET_MASFAX = 0x00310000, 57 + WNNC_NET_HOB_NFS = 0x00320000, 58 + WNNC_NET_SHIVA = 0x00330000, 59 + WNNC_NET_IBMAL = 0x00340000, 60 + WNNC_CRED_MANAGER = 0xFFFF0000 61 +} 62 + 63 +enum : DWORD { 64 + RESOURCE_CONNECTED = 1, 65 + RESOURCE_GLOBALNET = 2, 66 + RESOURCE_REMEMBERED = 3, 67 + RESOURCE_RECENT = 4, 68 + RESOURCE_CONTEXT = 5 69 +} 70 + 71 +const DWORD 72 + RESOURCETYPE_ANY = 0, 73 + RESOURCETYPE_DISK = 1, 74 + RESOURCETYPE_PRINT = 2, 75 + RESOURCETYPE_RESERVED = 8, 76 + RESOURCETYPE_UNKNOWN = 0xFFFFFFFF; 77 + 78 +const DWORD 79 + RESOURCEUSAGE_CONNECTABLE = 0x00000001, 80 + RESOURCEUSAGE_CONTAINER = 0x00000002, 81 + RESOURCEUSAGE_NOLOCALDEVICE = 0x00000004, 82 + RESOURCEUSAGE_SIBLING = 0x00000008, 83 + RESOURCEUSAGE_ATTACHED = 0x00000010, 84 + RESOURCEUSAGE_ALL = (RESOURCEUSAGE_CONNECTABLE 85 + | RESOURCEUSAGE_CONTAINER 86 + | RESOURCEUSAGE_ATTACHED), 87 + RESOURCEUSAGE_RESERVED = 0x80000000; 88 + 89 +enum : DWORD { 90 + RESOURCEDISPLAYTYPE_GENERIC, 91 + RESOURCEDISPLAYTYPE_DOMAIN, 92 + RESOURCEDISPLAYTYPE_SERVER, 93 + RESOURCEDISPLAYTYPE_SHARE, 94 + RESOURCEDISPLAYTYPE_FILE, 95 + RESOURCEDISPLAYTYPE_GROUP, 96 + RESOURCEDISPLAYTYPE_NETWORK, 97 + RESOURCEDISPLAYTYPE_ROOT, 98 + RESOURCEDISPLAYTYPE_SHAREADMIN, 99 + RESOURCEDISPLAYTYPE_DIRECTORY, 100 + RESOURCEDISPLAYTYPE_TREE // = 10 101 +} 102 + 103 +const NETPROPERTY_PERSISTENT = 1; 104 + 105 +const DWORD 106 + CONNECT_UPDATE_PROFILE = 1, 107 + CONNECT_UPDATE_RECENT = 2, 108 + CONNECT_TEMPORARY = 4, 109 + CONNECT_INTERACTIVE = 8, 110 + CONNECT_PROMPT = 16, 111 + CONNECT_NEED_DRIVE = 32, 112 + CONNECT_REFCOUNT = 64, 113 + CONNECT_REDIRECT = 128, 114 + CONNECT_LOCALDRIVE = 256, 115 + CONNECT_CURRENT_MEDIA = 512; 116 + 117 +const DWORD 118 + CONNDLG_RO_PATH = 1, 119 + CONNDLG_CONN_POINT = 2, 120 + CONNDLG_USE_MRU = 4, 121 + CONNDLG_HIDE_BOX = 8, 122 + CONNDLG_PERSIST = 16, 123 + CONNDLG_NOT_PERSIST = 32; 124 + 125 +const DWORD 126 + DISC_UPDATE_PROFILE = 1, 127 + DISC_NO_FORCE = 64; 128 + 129 +const DWORD 130 + WNFMT_MULTILINE = 1, 131 + WNFMT_ABBREVIATED = 2, 132 + WNFMT_INENUM = 16, 133 + WNFMT_CONNECTION = 32; 134 + 135 +enum : DWORD { 136 + WN_SUCCESS = NO_ERROR, 137 + WN_NO_ERROR = NO_ERROR, 138 + WN_NOT_SUPPORTED = ERROR_NOT_SUPPORTED, 139 + WN_CANCEL = ERROR_CANCELLED, 140 + WN_RETRY = ERROR_RETRY, 141 + WN_NET_ERROR = ERROR_UNEXP_NET_ERR, 142 + WN_MORE_DATA = ERROR_MORE_DATA, 143 + WN_BAD_POINTER = ERROR_INVALID_ADDRESS, 144 + WN_BAD_VALUE = ERROR_INVALID_PARAMETER, 145 + WN_BAD_USER = ERROR_BAD_USERNAME, 146 + WN_BAD_PASSWORD = ERROR_INVALID_PASSWORD, 147 + WN_ACCESS_DENIED = ERROR_ACCESS_DENIED, 148 + WN_FUNCTION_BUSY = ERROR_BUSY, 149 + WN_WINDOWS_ERROR = ERROR_UNEXP_NET_ERR, 150 + WN_OUT_OF_MEMORY = ERROR_NOT_ENOUGH_MEMORY, 151 + WN_NO_NETWORK = ERROR_NO_NETWORK, 152 + WN_EXTENDED_ERROR = ERROR_EXTENDED_ERROR, 153 + WN_BAD_LEVEL = ERROR_INVALID_LEVEL, 154 + WN_BAD_HANDLE = ERROR_INVALID_HANDLE, 155 + WN_NOT_INITIALIZING = ERROR_ALREADY_INITIALIZED, 156 + WN_NO_MORE_DEVICES = ERROR_NO_MORE_DEVICES, 157 + WN_NOT_CONNECTED = ERROR_NOT_CONNECTED, 158 + WN_OPEN_FILES = ERROR_OPEN_FILES, 159 + WN_DEVICE_IN_USE = ERROR_DEVICE_IN_USE, 160 + WN_BAD_NETNAME = ERROR_BAD_NET_NAME, 161 + WN_BAD_LOCALNAME = ERROR_BAD_DEVICE, 162 + WN_ALREADY_CONNECTED = ERROR_ALREADY_ASSIGNED, 163 + WN_DEVICE_ERROR = ERROR_GEN_FAILURE, 164 + WN_CONNECTION_CLOSED = ERROR_CONNECTION_UNAVAIL, 165 + WN_NO_NET_OR_BAD_PATH = ERROR_NO_NET_OR_BAD_PATH, 166 + WN_BAD_PROVIDER = ERROR_BAD_PROVIDER, 167 + WN_CANNOT_OPEN_PROFILE = ERROR_CANNOT_OPEN_PROFILE, 168 + WN_BAD_PROFILE = ERROR_BAD_PROFILE, 169 + WN_BAD_DEV_TYPE = ERROR_BAD_DEV_TYPE, 170 + WN_DEVICE_ALREADY_REMEMBERED = ERROR_DEVICE_ALREADY_REMEMBERED, 171 + WN_NO_MORE_ENTRIES = ERROR_NO_MORE_ITEMS, 172 + WN_NOT_CONTAINER = ERROR_NOT_CONTAINER, 173 + WN_NOT_AUTHENTICATED = ERROR_NOT_AUTHENTICATED, 174 + WN_NOT_LOGGED_ON = ERROR_NOT_LOGGED_ON, 175 + WN_NOT_VALIDATED = ERROR_NO_LOGON_SERVERS 176 +} 177 + 178 +enum : DWORD { 179 + UNIVERSAL_NAME_INFO_LEVEL = 1, 180 + REMOTE_NAME_INFO_LEVEL 181 +} 182 + 183 +const DWORD 184 + NETINFO_DLL16 = 1, 185 + NETINFO_DISKRED = 4, 186 + NETINFO_PRINTERRED = 8; 187 + 188 +const DWORD 189 + RP_LOGON = 1, 190 + RP_INIFILE = 2; 191 + 192 +const DWORD PP_DISPLAYERRORS = 1; 193 + 194 +const DWORD 195 + WNCON_FORNETCARD = 1, 196 + WNCON_NOTROUTED = 2, 197 + WNCON_SLOWLINK = 4, 198 + WNCON_DYNAMIC = 8; 199 + 200 +struct NETRESOURCEA { 201 + DWORD dwScope; 202 + DWORD dwType; 203 + DWORD dwDisplayType; 204 + DWORD dwUsage; 205 + LPSTR lpLocalName; 206 + LPSTR lpRemoteName; 207 + LPSTR lpComment; 208 + LPSTR lpProvider; 209 +} 210 +alias NETRESOURCEA* LPNETRESOURCEA; 211 + 212 +struct NETRESOURCEW { 213 + DWORD dwScope; 214 + DWORD dwType; 215 + DWORD dwDisplayType; 216 + DWORD dwUsage; 217 + LPWSTR lpLocalName; 218 + LPWSTR lpRemoteName; 219 + LPWSTR lpComment ; 220 + LPWSTR lpProvider; 221 +} 222 +alias NETRESOURCEW* LPNETRESOURCEW; 223 + 224 +struct CONNECTDLGSTRUCTA { 225 + DWORD cbStructure; 226 + HWND hwndOwner; 227 + LPNETRESOURCEA lpConnRes; 228 + DWORD dwFlags; 229 + DWORD dwDevNum; 230 +} 231 +alias CONNECTDLGSTRUCTA* LPCONNECTDLGSTRUCTA; 232 + 233 +struct CONNECTDLGSTRUCTW { 234 + DWORD cbStructure; 235 + HWND hwndOwner; 236 + LPNETRESOURCEW lpConnRes; 237 + DWORD dwFlags; 238 + DWORD dwDevNum; 239 +} 240 +alias CONNECTDLGSTRUCTW* LPCONNECTDLGSTRUCTW; 241 + 242 +struct DISCDLGSTRUCTA { 243 + DWORD cbStructure; 244 + HWND hwndOwner; 245 + LPSTR lpLocalName; 246 + LPSTR lpRemoteName; 247 + DWORD dwFlags; 248 +} 249 +alias DISCDLGSTRUCTA* LPDISCDLGSTRUCTA; 250 + 251 +struct DISCDLGSTRUCTW { 252 + DWORD cbStructure; 253 + HWND hwndOwner; 254 + LPWSTR lpLocalName; 255 + LPWSTR lpRemoteName; 256 + DWORD dwFlags; 257 +} 258 +alias DISCDLGSTRUCTW* LPDISCDLGSTRUCTW; 259 + 260 +struct UNIVERSAL_NAME_INFOA { 261 + LPSTR lpUniversalName; 262 +} 263 +alias UNIVERSAL_NAME_INFOA* LPUNIVERSAL_NAME_INFOA; 264 + 265 +struct UNIVERSAL_NAME_INFOW { 266 + LPWSTR lpUniversalName; 267 +} 268 +alias UNIVERSAL_NAME_INFOW* LPUNIVERSAL_NAME_INFOW; 269 + 270 +struct REMOTE_NAME_INFOA { 271 + LPSTR lpUniversalName; 272 + LPSTR lpConnectionName; 273 + LPSTR lpRemainingPath; 274 +} 275 +alias REMOTE_NAME_INFOA* LPREMOTE_NAME_INFOA; 276 + 277 +struct REMOTE_NAME_INFOW { 278 + LPWSTR lpUniversalName; 279 + LPWSTR lpConnectionName; 280 + LPWSTR lpRemainingPath; 281 +} 282 +alias REMOTE_NAME_INFOW* LPREMOTE_NAME_INFOW; 283 + 284 +struct NETINFOSTRUCT { 285 + DWORD cbStructure; 286 + DWORD dwProviderVersion; 287 + DWORD dwStatus; 288 + DWORD dwCharacteristics; 289 + DWORD dwHandle; 290 + WORD wNetType; 291 + DWORD dwPrinters; 292 + DWORD dwDrives; 293 +} 294 +alias NETINFOSTRUCT* LPNETINFOSTRUCT; 295 + 296 +extern (Pascal) { 297 + alias UINT function(LPCSTR, LPSTR, UINT) PFNGETPROFILEPATHA; 298 + alias UINT function(LPCWSTR, LPWSTR, UINT) PFNGETPROFILEPATHW; 299 + alias UINT function(LPCSTR, LPCSTR, DWORD) PFNRECONCILEPROFILEA; 300 + alias UINT function(LPCWSTR, LPCWSTR, DWORD) PFNRECONCILEPROFILEW; 301 + alias BOOL function(HWND, LPCSTR, LPCSTR, LPCSTR, DWORD) 302 + PFNPROCESSPOLICIESA; 303 + alias BOOL function(HWND, LPCWSTR, LPCWSTR, LPCWSTR, DWORD) 304 + PFNPROCESSPOLICIESW; 305 +} 306 + 307 +struct NETCONNECTINFOSTRUCT { 308 + DWORD cbStructure; 309 + DWORD dwFlags; 310 + DWORD dwSpeed; 311 + DWORD dwDelay; 312 + DWORD dwOptDataSize; 313 +} 314 +alias NETCONNECTINFOSTRUCT* LPNETCONNECTINFOSTRUCT; 315 + 316 +extern (Windows) { 317 + DWORD WNetAddConnection2A(LPNETRESOURCEA, LPCSTR, LPCSTR, DWORD); 318 + DWORD WNetAddConnection2W(LPNETRESOURCEW, LPCWSTR, LPCWSTR, DWORD); 319 + DWORD WNetAddConnection3A(HWND, LPNETRESOURCEA, LPCSTR, LPCSTR, DWORD); 320 + DWORD WNetAddConnection3W(HWND, LPNETRESOURCEW, LPCWSTR, LPCWSTR, DWORD); 321 + DWORD WNetCancelConnection2A(LPCSTR, DWORD, BOOL); 322 + DWORD WNetCancelConnection2W(LPCWSTR, DWORD, BOOL); 323 + DWORD WNetGetConnectionA(LPCSTR, LPSTR, PDWORD); 324 + DWORD WNetGetConnectionW(LPCWSTR, LPWSTR, PDWORD); 325 + DWORD WNetUseConnectionA(HWND, LPNETRESOURCEA, LPCSTR, LPCSTR, DWORD, 326 + LPSTR, PDWORD, PDWORD); 327 + DWORD WNetUseConnectionW(HWND, LPNETRESOURCEW, LPCWSTR, LPCWSTR, DWORD, 328 + LPWSTR, PDWORD, PDWORD); 329 + DWORD WNetSetConnectionA(LPCSTR, DWORD, PVOID); 330 + DWORD WNetSetConnectionW(LPCWSTR, DWORD, PVOID); 331 + DWORD WNetConnectionDialog(HWND, DWORD); 332 + DWORD WNetDisconnectDialog(HWND, DWORD); 333 + DWORD WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA); 334 + DWORD WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW); 335 + DWORD WNetDisconnectDialog1A(LPDISCDLGSTRUCTA); 336 + DWORD WNetDisconnectDialog1W(LPDISCDLGSTRUCTW); 337 + DWORD WNetOpenEnumA(DWORD, DWORD, DWORD, LPNETRESOURCEA, LPHANDLE); 338 + DWORD WNetOpenEnumW(DWORD, DWORD, DWORD, LPNETRESOURCEW, LPHANDLE); 339 + DWORD WNetEnumResourceA(HANDLE, PDWORD, PVOID, PDWORD); 340 + DWORD WNetEnumResourceW(HANDLE, PDWORD, PVOID, PDWORD); 341 + DWORD WNetCloseEnum(HANDLE); 342 + DWORD WNetGetUniversalNameA(LPCSTR, DWORD, PVOID, PDWORD); 343 + DWORD WNetGetUniversalNameW(LPCWSTR, DWORD, PVOID, PDWORD); 344 + DWORD WNetGetUserA(LPCSTR, LPSTR, PDWORD); 345 + DWORD WNetGetUserW(LPCWSTR, LPWSTR, PDWORD); 346 + DWORD WNetGetProviderNameA(DWORD, LPSTR, PDWORD); 347 + DWORD WNetGetProviderNameW(DWORD, LPWSTR, PDWORD); 348 + DWORD WNetGetNetworkInformationA(LPCSTR, LPNETINFOSTRUCT); 349 + DWORD WNetGetNetworkInformationW(LPCWSTR, LPNETINFOSTRUCT); 350 + DWORD WNetGetResourceInformationA(LPNETRESOURCEA, LPVOID, LPDWORD, 351 + LPSTR*); 352 + DWORD WNetGetResourceInformationW(LPNETRESOURCEA, LPVOID, LPDWORD, 353 + LPWSTR*); 354 + DWORD WNetGetResourceParentA(LPNETRESOURCEA, LPVOID, LPDWORD); 355 + DWORD WNetGetResourceParentW(LPNETRESOURCEW, LPVOID, LPDWORD); 356 + DWORD WNetGetLastErrorA(PDWORD, LPSTR, DWORD, LPSTR, DWORD); 357 + DWORD WNetGetLastErrorW(PDWORD, LPWSTR, DWORD, LPWSTR, DWORD); 358 + DWORD MultinetGetConnectionPerformanceA(LPNETRESOURCEA, 359 + LPNETCONNECTINFOSTRUCT); 360 + DWORD MultinetGetConnectionPerformanceW(LPNETRESOURCEW, 361 + LPNETCONNECTINFOSTRUCT); 362 + deprecated { 363 + DWORD WNetAddConnectionA(LPCSTR, LPCSTR, LPCSTR); 364 + DWORD WNetAddConnectionW(LPCWSTR, LPCWSTR, LPCWSTR); 365 + DWORD WNetCancelConnectionA(LPCSTR, BOOL); 366 + DWORD WNetCancelConnectionW(LPCWSTR, BOOL); 367 + } 368 +} 369 + 370 +version (Unicode) { 371 + alias PFNGETPROFILEPATHW PFNGETPROFILEPATH; 372 + alias PFNRECONCILEPROFILEW PFNRECONCILEPROFILE; 373 + alias PFNPROCESSPOLICIESW PFNPROCESSPOLICIES; 374 + alias NETRESOURCEW NETRESOURCE; 375 + alias CONNECTDLGSTRUCTW CONNECTDLGSTRUCT; 376 + alias DISCDLGSTRUCTW DISCDLGSTRUCT; 377 + alias REMOTE_NAME_INFOW REMOTE_NAME_INFO; 378 + alias UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO; 379 + alias WNetAddConnection2W WNetAddConnection2; 380 + alias WNetAddConnection3W WNetAddConnection3; 381 + alias WNetCancelConnection2W WNetCancelConnection2; 382 + alias WNetGetConnectionW WNetGetConnection; 383 + alias WNetUseConnectionW WNetUseConnection; 384 + alias WNetSetConnectionW WNetSetConnection; 385 + alias WNetConnectionDialog1W WNetConnectionDialog1; 386 + alias WNetDisconnectDialog1W WNetDisconnectDialog1; 387 + alias WNetOpenEnumW WNetOpenEnum; 388 + alias WNetEnumResourceW WNetEnumResource; 389 + alias WNetGetUniversalNameW WNetGetUniversalName; 390 + alias WNetGetUserW WNetGetUser; 391 + alias WNetGetProviderNameW WNetGetProviderName; 392 + alias WNetGetNetworkInformationW WNetGetNetworkInformation; 393 + alias WNetGetResourceInformationW WNetGetResourceInformation; 394 + alias WNetGetResourceParentW WNetGetResourceParent; 395 + alias WNetGetLastErrorW WNetGetLastError; 396 + alias MultinetGetConnectionPerformanceW MultinetGetConnectionPerformance; 397 + deprecated { 398 + alias WNetAddConnectionW WNetAddConnection; 399 + alias WNetCancelConnectionW WNetCancelConnection; 400 + } 401 +} else { 402 + alias PFNGETPROFILEPATHA PFNGETPROFILEPATH; 403 + alias PFNRECONCILEPROFILEA PFNRECONCILEPROFILE; 404 + alias PFNPROCESSPOLICIESA PFNPROCESSPOLICIES; 405 + alias NETRESOURCEA NETRESOURCE; 406 + alias CONNECTDLGSTRUCTA CONNECTDLGSTRUCT; 407 + alias DISCDLGSTRUCTA DISCDLGSTRUCT; 408 + alias REMOTE_NAME_INFOA REMOTE_NAME_INFO; 409 + alias UNIVERSAL_NAME_INFOA UNIVERSAL_NAME_INFO; 410 + alias WNetAddConnection2A WNetAddConnection2; 411 + alias WNetAddConnection3A WNetAddConnection3; 412 + alias WNetCancelConnection2A WNetCancelConnection2; 413 + alias WNetGetConnectionA WNetGetConnection; 414 + alias WNetUseConnectionA WNetUseConnection; 415 + alias WNetSetConnectionA WNetSetConnection; 416 + alias WNetConnectionDialog1A WNetConnectionDialog1; 417 + alias WNetDisconnectDialog1A WNetDisconnectDialog1; 418 + alias WNetOpenEnumA WNetOpenEnum; 419 + alias WNetEnumResourceA WNetEnumResource; 420 + alias WNetGetUniversalNameA WNetGetUniversalName; 421 + alias WNetGetUserA WNetGetUser; 422 + alias WNetGetProviderNameA WNetGetProviderName; 423 + alias WNetGetNetworkInformationA WNetGetNetworkInformation; 424 + alias WNetGetResourceInformationA WNetGetResourceInformation; 425 + alias WNetGetResourceParentA WNetGetResourceParent; 426 + alias WNetGetLastErrorA WNetGetLastError; 427 + alias MultinetGetConnectionPerformanceA MultinetGetConnectionPerformance; 428 + deprecated { 429 + alias WNetAddConnectionA WNetAddConnection; 430 + alias WNetCancelConnectionA WNetCancelConnection; 431 + } 432 +} 433 + 434 +alias NETRESOURCE* LPNETRESOURCE; 435 +alias CONNECTDLGSTRUCT* LPCONNECTDLGSTRUCT; 436 +alias DISCDLGSTRUCT* LPDISCDLGSTRUCT; 437 +alias REMOTE_NAME_INFO* LPREMOTE_NAME_INFO; 438 +alias UNIVERSAL_NAME_INFO* LPUNIVERSAL_NAME_INFO;

Modified src/win32/winnls.d from [50bd587780b74515] to [7ac912f533a75996].

1 +/***********************************************************************\ 2 +* winnls.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.winnls; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 -import win32.winbase; 8 - 9 -// #ifndef _WINNLS_ 10 -// #define _WINNLS_ 11 - 12 -// #ifdef __cplusplus 13 -// extern "C" { 14 -// #endif 15 - 16 -// #ifndef NONLS 17 - 18 -// #ifdef _MAC 19 -// #... 20 -// #endif 21 - 22 -enum : uint { MAX_LEADBYTES = 12 } 23 -enum : uint { MAX_DEFAULTCHAR = 2 } 24 - 25 -enum : uint { MB_PRECOMPOSED = 0x00000001 } 26 -enum : uint { MB_COMPOSITE = 0x00000002 } 27 -enum : uint { MB_USEGLYPHCHARS = 0x00000004 } 28 -enum : uint { MB_ERR_INVALID_CHARS = 0x00000008 } 29 - 30 -enum : uint { WC_COMPOSITECHECK = 0x00000200 } 31 -enum : uint { WC_DISCARDNS = 0x00000010 } 32 -enum : uint { WC_SEPCHARS = 0x00000020 } 33 -enum : uint { WC_DEFAULTCHAR = 0x00000040 } 34 - 35 -// #if(WINVER >= 0x0500) 36 -enum : uint { WC_NO_BEST_FIT_CHARS = 0x00000400 } 37 -// #endif /* WINVER >= 0x0500 */ 38 - 39 -enum : uint { CT_CTYPE1 = 0x00000001 } 40 -enum : uint { CT_CTYPE2 = 0x00000002 } 41 -enum : uint { CT_CTYPE3 = 0x00000004 } 42 - 43 -enum : uint { C1_UPPER = 0x0001 } 44 -enum : uint { C1_LOWER = 0x0002 } 45 -enum : uint { C1_DIGIT = 0x0004 } 46 -enum : uint { C1_SPACE = 0x0008 } 47 -enum : uint { C1_PUNCT = 0x0010 } 48 -enum : uint { C1_CNTRL = 0x0020 } 49 -enum : uint { C1_BLANK = 0x0040 } 50 -enum : uint { C1_XDIGIT = 0x0080 } 51 -enum : uint { C1_ALPHA = 0x0100 } 52 -enum : uint { C1_DEFINED = 0x0200 } 53 - 54 -enum : uint { C2_LEFTTORIGHT = 0x0001 } 55 -enum : uint { C2_RIGHTTOLEFT = 0x0002 } 56 - 57 -enum : uint { C2_EUROPENUMBER = 0x0003 } 58 -enum : uint { C2_EUROPESEPARATOR = 0x0004 } 59 -enum : uint { C2_EUROPETERMINATOR = 0x0005 } 60 -enum : uint { C2_ARABICNUMBER = 0x0006 } 61 -enum : uint { C2_COMMONSEPARATOR = 0x0007 } 62 - 63 -enum : uint { C2_BLOCKSEPARATOR = 0x0008 } 64 -enum : uint { C2_SEGMENTSEPARATOR = 0x0009 } 65 -enum : uint { C2_WHITESPACE = 0x000A } 66 -enum : uint { C2_OTHERNEUTRAL = 0x000B } 67 - 68 -enum : uint { C2_NOTAPPLICABLE = 0x0000 } 69 - 70 -enum : uint { C3_NONSPACING = 0x0001 } 71 -enum : uint { C3_DIACRITIC = 0x0002 } 72 -enum : uint { C3_VOWELMARK = 0x0004 } 73 -enum : uint { C3_SYMBOL = 0x0008 } 74 - 75 -enum : uint { C3_KATAKANA = 0x0010 } 76 -enum : uint { C3_HIRAGANA = 0x0020 } 77 -enum : uint { C3_HALFWIDTH = 0x0040 } 78 -enum : uint { C3_FULLWIDTH = 0x0080 } 79 -enum : uint { C3_IDEOGRAPH = 0x0100 } 80 -enum : uint { C3_KASHIDA = 0x0200 } 81 -enum : uint { C3_LEXICAL = 0x0400 } 82 - 83 -enum : uint { C3_ALPHA = 0x8000 } 84 - 85 -enum : uint { C3_NOTAPPLICABLE = 0x0000 } 86 - 87 -enum : uint { NORM_IGNORECASE = 0x00000001 } 88 -enum : uint { NORM_IGNORENONSPACE = 0x00000002 } 89 -enum : uint { NORM_IGNORESYMBOLS = 0x00000004 } 90 - 91 -enum : uint { NORM_IGNOREKANATYPE = 0x00010000 } 92 -enum : uint { NORM_IGNOREWIDTH = 0x00020000 } 93 - 94 -enum : uint { MAP_FOLDCZONE = 0x00000010 } 95 -enum : uint { MAP_PRECOMPOSED = 0x00000020 } 96 -enum : uint { MAP_COMPOSITE = 0x00000040 } 97 -enum : uint { MAP_FOLDDIGITS = 0x00000080 } 98 - 99 -// #if(WINVER >= 0x0500) 100 -enum : uint { MAP_EXPAND_LIGATURES = 0x00002000 } 101 -// #endif /* WINVER >= 0x0500 */ 102 - 103 -enum : uint { LCMAP_LOWERCASE = 0x00000100 } 104 -enum : uint { LCMAP_UPPERCASE = 0x00000200 } 105 -enum : uint { LCMAP_SORTKEY = 0x00000400 } 106 -enum : uint { LCMAP_BYTEREV = 0x00000800 } 107 - 108 -enum : uint { LCMAP_HIRAGANA = 0x00100000 } 109 -enum : uint { LCMAP_KATAKANA = 0x00200000 } 110 -enum : uint { LCMAP_HALFWIDTH = 0x00400000 } 111 -enum : uint { LCMAP_FULLWIDTH = 0x00800000 } 112 - 113 -enum : uint { LCMAP_LINGUISTIC_CASING = 0x01000000 } 114 - 115 -enum : uint { LCMAP_SIMPLIFIED_CHINESE = 0x02000000 } 116 -enum : uint { LCMAP_TRADITIONAL_CHINESE = 0x04000000 } 117 - 118 -enum : uint { LGRPID_INSTALLED = 0x00000001 } 119 -enum : uint { LGRPID_SUPPORTED = 0x00000002 } 120 - 121 -enum : uint { LCID_INSTALLED = 0x00000001 } 122 -enum : uint { LCID_SUPPORTED = 0x00000002 } 123 -enum : uint { LCID_ALTERNATE_SORTS = 0x00000004 } 124 - 125 -enum : uint { CP_INSTALLED = 0x00000001 } 126 -enum : uint { CP_SUPPORTED = 0x00000002 } 127 - 128 -enum : uint { SORT_STRINGSORT = 0x00001000 } 129 - 130 -enum : uint { CSTR_LESS_THAN = 1 } 131 -enum : uint { CSTR_EQUAL = 2 } 132 -enum : uint { CSTR_GREATER_THAN = 3 } 133 - 134 -enum : uint { CP_ACP = 0 } 135 -enum : uint { CP_OEMCP = 1 } 136 -enum : uint { CP_MACCP = 2 } 137 -enum : uint { CP_THREAD_ACP = 3 } 138 -enum : uint { CP_SYMBOL = 42 } 139 - 140 -enum : uint { CP_UTF7 = 65000 } 141 -enum : uint { CP_UTF8 = 65001 } 142 - 143 -enum : uint { CTRY_DEFAULT = 0 } 144 - 145 -enum : uint { CTRY_ALBANIA = 355 } 146 -enum : uint { CTRY_ALGERIA = 213 } 147 -enum : uint { CTRY_ARGENTINA = 54 } 148 -enum : uint { CTRY_ARMENIA = 374 } 149 -enum : uint { CTRY_AUSTRALIA = 61 } 150 -enum : uint { CTRY_AUSTRIA = 43 } 151 -enum : uint { CTRY_AZERBAIJAN = 994 } 152 -enum : uint { CTRY_BAHRAIN = 973 } 153 -enum : uint { CTRY_BELARUS = 375 } 154 -enum : uint { CTRY_BELGIUM = 32 } 155 -enum : uint { CTRY_BELIZE = 501 } 156 -enum : uint { CTRY_BOLIVIA = 591 } 157 -enum : uint { CTRY_BRAZIL = 55 } 158 -enum : uint { CTRY_BRUNEI_DARUSSALAM = 673 } 159 -enum : uint { CTRY_BULGARIA = 359 } 160 -enum : uint { CTRY_CANADA = 2 } 161 -enum : uint { CTRY_CARIBBEAN = 1 } 162 -enum : uint { CTRY_CHILE = 56 } 163 -enum : uint { CTRY_COLOMBIA = 57 } 164 -enum : uint { CTRY_COSTA_RICA = 506 } 165 -enum : uint { CTRY_CROATIA = 385 } 166 -enum : uint { CTRY_CZECH = 420 } 167 -enum : uint { CTRY_DENMARK = 45 } 168 -enum : uint { CTRY_DOMINICAN_REPUBLIC = 1 } 169 -enum : uint { CTRY_ECUADOR = 593 } 170 -enum : uint { CTRY_EGYPT = 20 } 171 -enum : uint { CTRY_EL_SALVADOR = 503 } 172 -enum : uint { CTRY_ESTONIA = 372 } 173 -enum : uint { CTRY_FAEROE_ISLANDS = 298 } 174 -enum : uint { CTRY_FINLAND = 358 } 175 -enum : uint { CTRY_FRANCE = 33 } 176 -enum : uint { CTRY_GEORGIA = 995 } 177 -enum : uint { CTRY_GERMANY = 49 } 178 -enum : uint { CTRY_GREECE = 30 } 179 -enum : uint { CTRY_GUATEMALA = 502 } 180 -enum : uint { CTRY_HONDURAS = 504 } 181 -enum : uint { CTRY_HONG_KONG = 852 } 182 -enum : uint { CTRY_HUNGARY = 36 } 183 -enum : uint { CTRY_ICELAND = 354 } 184 -enum : uint { CTRY_INDIA = 91 } 185 -enum : uint { CTRY_INDONESIA = 62 } 186 -enum : uint { CTRY_IRAN = 981 } 187 -enum : uint { CTRY_IRAQ = 964 } 188 -enum : uint { CTRY_IRELAND = 353 } 189 -enum : uint { CTRY_ISRAEL = 972 } 190 -enum : uint { CTRY_ITALY = 39 } 191 -enum : uint { CTRY_JAMAICA = 1 } 192 -enum : uint { CTRY_JAPAN = 81 } 193 -enum : uint { CTRY_JORDAN = 962 } 194 -enum : uint { CTRY_KAZAKSTAN = 7 } 195 -enum : uint { CTRY_KENYA = 254 } 196 -enum : uint { CTRY_KUWAIT = 965 } 197 -enum : uint { CTRY_KYRGYZSTAN = 996 } 198 -enum : uint { CTRY_LATVIA = 371 } 199 -enum : uint { CTRY_LEBANON = 961 } 200 -enum : uint { CTRY_LIBYA = 218 } 201 -enum : uint { CTRY_LIECHTENSTEIN = 41 } 202 -enum : uint { CTRY_LITHUANIA = 370 } 203 -enum : uint { CTRY_LUXEMBOURG = 352 } 204 -enum : uint { CTRY_MACAU = 853 } 205 -enum : uint { CTRY_MACEDONIA = 389 } 206 -enum : uint { CTRY_MALAYSIA = 60 } 207 -enum : uint { CTRY_MALDIVES = 960 } 208 -enum : uint { CTRY_MEXICO = 52 } 209 -enum : uint { CTRY_MONACO = 33 } 210 -enum : uint { CTRY_MONGOLIA = 976 } 211 -enum : uint { CTRY_MOROCCO = 212 } 212 -enum : uint { CTRY_NETHERLANDS = 31 } 213 -enum : uint { CTRY_NEW_ZEALAND = 64 } 214 -enum : uint { CTRY_NICARAGUA = 505 } 215 -enum : uint { CTRY_NORWAY = 47 } 216 -enum : uint { CTRY_OMAN = 968 } 217 -enum : uint { CTRY_PAKISTAN = 92 } 218 -enum : uint { CTRY_PANAMA = 507 } 219 -enum : uint { CTRY_PARAGUAY = 595 } 220 -enum : uint { CTRY_PERU = 51 } 221 -enum : uint { CTRY_PHILIPPINES = 63 } 222 -enum : uint { CTRY_POLAND = 48 } 223 -enum : uint { CTRY_PORTUGAL = 351 } 224 -enum : uint { CTRY_PRCHINA = 86 } 225 -enum : uint { CTRY_PUERTO_RICO = 1 } 226 -enum : uint { CTRY_QATAR = 974 } 227 -enum : uint { CTRY_ROMANIA = 40 } 228 -enum : uint { CTRY_RUSSIA = 7 } 229 -enum : uint { CTRY_SAUDI_ARABIA = 966 } 230 -enum : uint { CTRY_SERBIA = 381 } 231 -enum : uint { CTRY_SINGAPORE = 65 } 232 -enum : uint { CTRY_SLOVAK = 421 } 233 -enum : uint { CTRY_SLOVENIA = 386 } 234 -enum : uint { CTRY_SOUTH_AFRICA = 27 } 235 -enum : uint { CTRY_SOUTH_KOREA = 82 } 236 -enum : uint { CTRY_SPAIN = 34 } 237 -enum : uint { CTRY_SWEDEN = 46 } 238 -enum : uint { CTRY_SWITZERLAND = 41 } 239 -enum : uint { CTRY_SYRIA = 963 } 240 -enum : uint { CTRY_TAIWAN = 886 } 241 -enum : uint { CTRY_TATARSTAN = 7 } 242 -enum : uint { CTRY_THAILAND = 66 } 243 -enum : uint { CTRY_TRINIDAD_Y_TOBAGO = 1 } 244 -enum : uint { CTRY_TUNISIA = 216 } 245 -enum : uint { CTRY_TURKEY = 90 } 246 -enum : uint { CTRY_UAE = 971 } 247 -enum : uint { CTRY_UKRAINE = 380 } 248 -enum : uint { CTRY_UNITED_KINGDOM = 44 } 249 -enum : uint { CTRY_UNITED_STATES = 1 } 250 -enum : uint { CTRY_URUGUAY = 598 } 251 -enum : uint { CTRY_UZBEKISTAN = 7 } 252 -enum : uint { CTRY_VENEZUELA = 58 } 253 -enum : uint { CTRY_VIET_NAM = 84 } 254 -enum : uint { CTRY_YEMEN = 967 } 255 -enum : uint { CTRY_ZIMBABWE = 263 } 256 - 257 -enum : uint { LOCALE_NOUSEROVERRIDE = 0x80000000 } 258 -enum : uint { LOCALE_USE_CP_ACP = 0x40000000 } 259 - 260 -// #if(WINVER >= 0x0400) 261 -enum : uint { LOCALE_RETURN_NUMBER = 0x20000000 } 262 -// #endif /* WINVER >= 0x0400 */ 263 - 264 -enum : uint { LOCALE_ILANGUAGE = 0x00000001 } 265 -enum : uint { LOCALE_SLANGUAGE = 0x00000002 } 266 -enum : uint { LOCALE_SENGLANGUAGE = 0x00001001 } 267 -enum : uint { LOCALE_SABBREVLANGNAME = 0x00000003 } 268 -enum : uint { LOCALE_SNATIVELANGNAME = 0x00000004 } 269 - 270 -enum : uint { LOCALE_ICOUNTRY = 0x00000005 } 271 -enum : uint { LOCALE_SCOUNTRY = 0x00000006 } 272 -enum : uint { LOCALE_SENGCOUNTRY = 0x00001002 } 273 -enum : uint { LOCALE_SABBREVCTRYNAME = 0x00000007 } 274 -enum : uint { LOCALE_SNATIVECTRYNAME = 0x00000008 } 275 - 276 -enum : uint { LOCALE_IDEFAULTLANGUAGE = 0x00000009 } 277 -enum : uint { LOCALE_IDEFAULTCOUNTRY = 0x0000000A } 278 -enum : uint { LOCALE_IDEFAULTCODEPAGE = 0x0000000B } 279 -enum : uint { LOCALE_IDEFAULTANSICODEPAGE = 0x00001004 } 280 -enum : uint { LOCALE_IDEFAULTMACCODEPAGE = 0x00001011 } 281 - 282 -enum : uint { LOCALE_SLIST = 0x0000000C } 283 -enum : uint { LOCALE_IMEASURE = 0x0000000D } 284 - 285 -enum : uint { LOCALE_SDECIMAL = 0x0000000E } 286 -enum : uint { LOCALE_STHOUSAND = 0x0000000F } 287 -enum : uint { LOCALE_SGROUPING = 0x00000010 } 288 -enum : uint { LOCALE_IDIGITS = 0x00000011 } 289 -enum : uint { LOCALE_ILZERO = 0x00000012 } 290 -enum : uint { LOCALE_INEGNUMBER = 0x00001010 } 291 -enum : uint { LOCALE_SNATIVEDIGITS = 0x00000013 } 292 - 293 -enum : uint { LOCALE_SCURRENCY = 0x00000014 } 294 -enum : uint { LOCALE_SINTLSYMBOL = 0x00000015 } 295 -enum : uint { LOCALE_SMONDECIMALSEP = 0x00000016 } 296 -enum : uint { LOCALE_SMONTHOUSANDSEP = 0x00000017 } 297 -enum : uint { LOCALE_SMONGROUPING = 0x00000018 } 298 -enum : uint { LOCALE_ICURRDIGITS = 0x00000019 } 299 -enum : uint { LOCALE_IINTLCURRDIGITS = 0x0000001A } 300 -enum : uint { LOCALE_ICURRENCY = 0x0000001B } 301 -enum : uint { LOCALE_INEGCURR = 0x0000001C } 302 - 303 -enum : uint { LOCALE_SDATE = 0x0000001D } 304 -enum : uint { LOCALE_STIME = 0x0000001E } 305 -enum : uint { LOCALE_SSHORTDATE = 0x0000001F } 306 -enum : uint { LOCALE_SLONGDATE = 0x00000020 } 307 -enum : uint { LOCALE_STIMEFORMAT = 0x00001003 } 308 -enum : uint { LOCALE_IDATE = 0x00000021 } 309 -enum : uint { LOCALE_ILDATE = 0x00000022 } 310 -enum : uint { LOCALE_ITIME = 0x00000023 } 311 -enum : uint { LOCALE_ITIMEMARKPOSN = 0x00001005 } 312 -enum : uint { LOCALE_ICENTURY = 0x00000024 } 313 -enum : uint { LOCALE_ITLZERO = 0x00000025 } 314 -enum : uint { LOCALE_IDAYLZERO = 0x00000026 } 315 -enum : uint { LOCALE_IMONLZERO = 0x00000027 } 316 -enum : uint { LOCALE_S1159 = 0x00000028 } 317 -enum : uint { LOCALE_S2359 = 0x00000029 } 318 - 319 -enum : uint { LOCALE_ICALENDARTYPE = 0x00001009 } 320 -enum : uint { LOCALE_IOPTIONALCALENDAR = 0x0000100B } 321 -enum : uint { LOCALE_IFIRSTDAYOFWEEK = 0x0000100C } 322 -enum : uint { LOCALE_IFIRSTWEEKOFYEAR = 0x0000100D } 323 - 324 -enum : uint { LOCALE_SDAYNAME1 = 0x0000002A } 325 -enum : uint { LOCALE_SDAYNAME2 = 0x0000002B } 326 -enum : uint { LOCALE_SDAYNAME3 = 0x0000002C } 327 -enum : uint { LOCALE_SDAYNAME4 = 0x0000002D } 328 -enum : uint { LOCALE_SDAYNAME5 = 0x0000002E } 329 -enum : uint { LOCALE_SDAYNAME6 = 0x0000002F } 330 -enum : uint { LOCALE_SDAYNAME7 = 0x00000030 } 331 -enum : uint { LOCALE_SABBREVDAYNAME1 = 0x00000031 } 332 -enum : uint { LOCALE_SABBREVDAYNAME2 = 0x00000032 } 333 -enum : uint { LOCALE_SABBREVDAYNAME3 = 0x00000033 } 334 -enum : uint { LOCALE_SABBREVDAYNAME4 = 0x00000034 } 335 -enum : uint { LOCALE_SABBREVDAYNAME5 = 0x00000035 } 336 -enum : uint { LOCALE_SABBREVDAYNAME6 = 0x00000036 } 337 -enum : uint { LOCALE_SABBREVDAYNAME7 = 0x00000037 } 338 -enum : uint { LOCALE_SMONTHNAME1 = 0x00000038 } 339 -enum : uint { LOCALE_SMONTHNAME2 = 0x00000039 } 340 -enum : uint { LOCALE_SMONTHNAME3 = 0x0000003A } 341 -enum : uint { LOCALE_SMONTHNAME4 = 0x0000003B } 342 -enum : uint { LOCALE_SMONTHNAME5 = 0x0000003C } 343 -enum : uint { LOCALE_SMONTHNAME6 = 0x0000003D } 344 -enum : uint { LOCALE_SMONTHNAME7 = 0x0000003E } 345 -enum : uint { LOCALE_SMONTHNAME8 = 0x0000003F } 346 -enum : uint { LOCALE_SMONTHNAME9 = 0x00000040 } 347 -enum : uint { LOCALE_SMONTHNAME10 = 0x00000041 } 348 -enum : uint { LOCALE_SMONTHNAME11 = 0x00000042 } 349 -enum : uint { LOCALE_SMONTHNAME12 = 0x00000043 } 350 -enum : uint { LOCALE_SMONTHNAME13 = 0x0000100E } 351 -enum : uint { LOCALE_SABBREVMONTHNAME1 = 0x00000044 } 352 -enum : uint { LOCALE_SABBREVMONTHNAME2 = 0x00000045 } 353 -enum : uint { LOCALE_SABBREVMONTHNAME3 = 0x00000046 } 354 -enum : uint { LOCALE_SABBREVMONTHNAME4 = 0x00000047 } 355 -enum : uint { LOCALE_SABBREVMONTHNAME5 = 0x00000048 } 356 -enum : uint { LOCALE_SABBREVMONTHNAME6 = 0x00000049 } 357 -enum : uint { LOCALE_SABBREVMONTHNAME7 = 0x0000004A } 358 -enum : uint { LOCALE_SABBREVMONTHNAME8 = 0x0000004B } 359 -enum : uint { LOCALE_SABBREVMONTHNAME9 = 0x0000004C } 360 -enum : uint { LOCALE_SABBREVMONTHNAME10 = 0x0000004D } 361 -enum : uint { LOCALE_SABBREVMONTHNAME11 = 0x0000004E } 362 -enum : uint { LOCALE_SABBREVMONTHNAME12 = 0x0000004F } 363 -enum : uint { LOCALE_SABBREVMONTHNAME13 = 0x0000100F } 364 - 365 -enum : uint { LOCALE_SPOSITIVESIGN = 0x00000050 } 366 -enum : uint { LOCALE_SNEGATIVESIGN = 0x00000051 } 367 -enum : uint { LOCALE_IPOSSIGNPOSN = 0x00000052 } 368 -enum : uint { LOCALE_INEGSIGNPOSN = 0x00000053 } 369 -enum : uint { LOCALE_IPOSSYMPRECEDES = 0x00000054 } 370 -enum : uint { LOCALE_IPOSSEPBYSPACE = 0x00000055 } 371 -enum : uint { LOCALE_INEGSYMPRECEDES = 0x00000056 } 372 -enum : uint { LOCALE_INEGSEPBYSPACE = 0x00000057 } 373 - 374 -// #if(WINVER >= 0x0400) 375 -enum : uint { LOCALE_FONTSIGNATURE = 0x00000058 } 376 -enum : uint { LOCALE_SISO639LANGNAME = 0x00000059 } 377 -enum : uint { LOCALE_SISO3166CTRYNAME = 0x0000005A } 378 -// #endif /* WINVER >= 0x0400 */ 379 - 380 -// #if(WINVER >= 0x0500) 381 -enum : uint { LOCALE_IDEFAULTEBCDICCODEPAGE = 0x00001012 } 382 -enum : uint { LOCALE_IPAPERSIZE = 0x0000100A } 383 -enum : uint { LOCALE_SENGCURRNAME = 0x00001007 } 384 -enum : uint { LOCALE_SNATIVECURRNAME = 0x00001008 } 385 -enum : uint { LOCALE_SYEARMONTH = 0x00001006 } 386 -enum : uint { LOCALE_SSORTNAME = 0x00001013 } 387 -enum : uint { LOCALE_IDIGITSUBSTITUTION = 0x00001014 } 388 - 389 -// #endif /* WINVER >= 0x0500 */ 390 - 391 -enum : uint { TIME_NOMINUTESORSECONDS = 0x00000001 } 392 -enum : uint { TIME_NOSECONDS = 0x00000002 } 393 -enum : uint { TIME_NOTIMEMARKER = 0x00000004 } 394 -enum : uint { TIME_FORCE24HOURFORMAT = 0x00000008 } 395 - 396 -enum : uint { DATE_SHORTDATE = 0x00000001 } 397 -enum : uint { DATE_LONGDATE = 0x00000002 } 398 -enum : uint { DATE_USE_ALT_CALENDAR = 0x00000004 } 399 - 400 -// #if(WINVER >= 0x0500) 401 -enum : uint { DATE_YEARMONTH = 0x00000008 } 402 -enum : uint { DATE_LTRREADING = 0x00000010 } 403 -enum : uint { DATE_RTLREADING = 0x00000020 } 404 -// #endif /* WINVER >= 0x0500 */ 405 - 406 -// #if(WINVER >= 0x0500) 407 -alias LOCALE_NOUSEROVERRIDE CAL_NOUSEROVERRIDE; 408 -alias LOCALE_USE_CP_ACP CAL_USE_CP_ACP; 409 -alias LOCALE_RETURN_NUMBER CAL_RETURN_NUMBER; 410 -// #endif /* WINVER >= 0x0500 */ 411 - 412 -enum : uint { CAL_ICALINTVALUE = 0x00000001 } 413 -enum : uint { CAL_SCALNAME = 0x00000002 } 414 -enum : uint { CAL_IYEAROFFSETRANGE = 0x00000003 } 415 -enum : uint { CAL_SERASTRING = 0x00000004 } 416 -enum : uint { CAL_SSHORTDATE = 0x00000005 } 417 -enum : uint { CAL_SLONGDATE = 0x00000006 } 418 -enum : uint { CAL_SDAYNAME1 = 0x00000007 } 419 -enum : uint { CAL_SDAYNAME2 = 0x00000008 } 420 -enum : uint { CAL_SDAYNAME3 = 0x00000009 } 421 -enum : uint { CAL_SDAYNAME4 = 0x0000000a } 422 -enum : uint { CAL_SDAYNAME5 = 0x0000000b } 423 -enum : uint { CAL_SDAYNAME6 = 0x0000000c } 424 -enum : uint { CAL_SDAYNAME7 = 0x0000000d } 425 -enum : uint { CAL_SABBREVDAYNAME1 = 0x0000000e } 426 -enum : uint { CAL_SABBREVDAYNAME2 = 0x0000000f } 427 -enum : uint { CAL_SABBREVDAYNAME3 = 0x00000010 } 428 -enum : uint { CAL_SABBREVDAYNAME4 = 0x00000011 } 429 -enum : uint { CAL_SABBREVDAYNAME5 = 0x00000012 } 430 -enum : uint { CAL_SABBREVDAYNAME6 = 0x00000013 } 431 -enum : uint { CAL_SABBREVDAYNAME7 = 0x00000014 } 432 -enum : uint { CAL_SMONTHNAME1 = 0x00000015 } 433 -enum : uint { CAL_SMONTHNAME2 = 0x00000016 } 434 -enum : uint { CAL_SMONTHNAME3 = 0x00000017 } 435 -enum : uint { CAL_SMONTHNAME4 = 0x00000018 } 436 -enum : uint { CAL_SMONTHNAME5 = 0x00000019 } 437 -enum : uint { CAL_SMONTHNAME6 = 0x0000001a } 438 -enum : uint { CAL_SMONTHNAME7 = 0x0000001b } 439 -enum : uint { CAL_SMONTHNAME8 = 0x0000001c } 440 -enum : uint { CAL_SMONTHNAME9 = 0x0000001d } 441 -enum : uint { CAL_SMONTHNAME10 = 0x0000001e } 442 -enum : uint { CAL_SMONTHNAME11 = 0x0000001f } 443 -enum : uint { CAL_SMONTHNAME12 = 0x00000020 } 444 -enum : uint { CAL_SMONTHNAME13 = 0x00000021 } 445 -enum : uint { CAL_SABBREVMONTHNAME1 = 0x00000022 } 446 -enum : uint { CAL_SABBREVMONTHNAME2 = 0x00000023 } 447 -enum : uint { CAL_SABBREVMONTHNAME3 = 0x00000024 } 448 -enum : uint { CAL_SABBREVMONTHNAME4 = 0x00000025 } 449 -enum : uint { CAL_SABBREVMONTHNAME5 = 0x00000026 } 450 -enum : uint { CAL_SABBREVMONTHNAME6 = 0x00000027 } 451 -enum : uint { CAL_SABBREVMONTHNAME7 = 0x00000028 } 452 -enum : uint { CAL_SABBREVMONTHNAME8 = 0x00000029 } 453 -enum : uint { CAL_SABBREVMONTHNAME9 = 0x0000002a } 454 -enum : uint { CAL_SABBREVMONTHNAME10 = 0x0000002b } 455 -enum : uint { CAL_SABBREVMONTHNAME11 = 0x0000002c } 456 -enum : uint { CAL_SABBREVMONTHNAME12 = 0x0000002d } 457 -enum : uint { CAL_SABBREVMONTHNAME13 = 0x0000002e } 458 - 459 -// #if(WINVER >= 0x0500) 460 -enum : uint { CAL_SYEARMONTH = 0x0000002f } 461 -enum : uint { CAL_ITWODIGITYEARMAX = 0x00000030 } 462 -// #endif /* WINVER >= 0x0500 */ 463 - 464 -enum : uint { ENUM_ALL_CALENDARS = 0xffffffff } 465 - 466 -enum : uint { CAL_GREGORIAN = 1 } 467 -enum : uint { CAL_GREGORIAN_US = 2 } 468 -enum : uint { CAL_JAPAN = 3 } 469 -enum : uint { CAL_TAIWAN = 4 } 470 -enum : uint { CAL_KOREA = 5 } 471 -enum : uint { CAL_HIJRI = 6 } 472 -enum : uint { CAL_THAI = 7 } 473 -enum : uint { CAL_HEBREW = 8 } 474 -enum : uint { CAL_GREGORIAN_ME_FRENCH = 9 } 475 -enum : uint { CAL_GREGORIAN_ARABIC = 10 } 476 -enum : uint { CAL_GREGORIAN_XLIT_ENGLISH = 11 } 477 -enum : uint { CAL_GREGORIAN_XLIT_FRENCH = 12 } 478 - 479 -enum : uint { LGRPID_WESTERN_EUROPE = 0x0001 } 480 -enum : uint { LGRPID_CENTRAL_EUROPE = 0x0002 } 481 -enum : uint { LGRPID_BALTIC = 0x0003 } 482 -enum : uint { LGRPID_GREEK = 0x0004 } 483 -enum : uint { LGRPID_CYRILLIC = 0x0005 } 484 -enum : uint { LGRPID_TURKISH = 0x0006 } 485 -enum : uint { LGRPID_JAPANESE = 0x0007 } 486 -enum : uint { LGRPID_KOREAN = 0x0008 } 487 -enum : uint { LGRPID_TRADITIONAL_CHINESE = 0x0009 } 488 -enum : uint { LGRPID_SIMPLIFIED_CHINESE = 0x000a } 489 -enum : uint { LGRPID_THAI = 0x000b } 490 -enum : uint { LGRPID_HEBREW = 0x000c } 491 -enum : uint { LGRPID_ARABIC = 0x000d } 492 -enum : uint { LGRPID_VIETNAMESE = 0x000e } 493 -enum : uint { LGRPID_INDIC = 0x000f } 494 -enum : uint { LGRPID_GEORGIAN = 0x0010 } 495 -enum : uint { LGRPID_ARMENIAN = 0x0011 } 496 - 497 -alias DWORD LGRPID; 498 - 499 -alias DWORD LCTYPE; 500 - 501 -alias DWORD CALTYPE; 502 - 503 -alias DWORD CALID; 504 - 505 -struct _cpinfo { 506 - UINT MaxCharSize; 507 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 508 - BYTE LeadByte[MAX_LEADBYTES]; 509 -} 510 -alias _cpinfo CPINFO; 511 -alias _cpinfo* LPCPINFO; 512 - 513 -struct _cpinfoexA { 514 - UINT MaxCharSize; 515 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 516 - BYTE LeadByte[MAX_LEADBYTES]; 517 - WCHAR UnicodeDefaultChar; 518 - UINT CodePage; 519 - CHAR CodePageName[MAX_PATH]; 520 -} 521 -alias _cpinfoexA CPINFOEXA; 522 -alias _cpinfoexA* LPCPINFOEXA; 523 - 524 -struct _cpinfoexW { 525 - UINT MaxCharSize; 526 - BYTE DefaultChar[MAX_DEFAULTCHAR]; 527 - BYTE LeadByte[MAX_LEADBYTES]; 528 - WCHAR UnicodeDefaultChar; 529 - UINT CodePage; 530 - WCHAR CodePageName[MAX_PATH]; 531 -} 532 -alias _cpinfoexW CPINFOEXW; 533 -alias _cpinfoexW* LPCPINFOEXW; 534 - 535 -// #ifdef UNICODE 536 -alias CPINFOEXW CPINFOEX; 537 -alias LPCPINFOEXW LPCPINFOEX; 538 -// #else 539 -// ... 540 -// #endif // UNICODE 541 - 542 -struct _numberfmtA { 543 - UINT NumDigits; 544 - UINT LeadingZero; 545 - UINT Grouping; 546 - LPSTR lpDecimalSep; 547 - LPSTR lpThousandSep; 548 - UINT NegativeOrder; 549 -} 550 -alias _numberfmtA NUMBERFMTA; 551 -alias _numberfmtA* LPNUMBERFMTA; 552 - 553 -struct _numberfmtW { 554 - UINT NumDigits; 555 - UINT LeadingZero; 556 - UINT Grouping; 557 - LPWSTR lpDecimalSep; 558 - LPWSTR lpThousandSep; 559 - UINT NegativeOrder; 560 -} 561 -alias _numberfmtW NUMBERFMTW; 562 -alias _numberfmtW* LPNUMBERFMTW; 563 - 564 -// #ifdef UNICODE 565 -alias NUMBERFMTW NUMBERFMT; 566 -alias LPNUMBERFMTW LPNUMBERFMT; 567 -// #else 568 -// ... 569 -// #endif // UNICODE 570 - 571 -struct _currencyfmtA { 572 - UINT NumDigits; 573 - UINT LeadingZero; 574 - UINT Grouping; 575 - LPSTR lpDecimalSep; 576 - LPSTR lpThousandSep; 577 - UINT NegativeOrder; 578 - UINT PositiveOrder; 579 - LPSTR lpCurrencySymbol; 580 -} 581 -alias _currencyfmtA CURRENCYFMTA; 582 -alias _currencyfmtA* LPCURRENCYFMTA; 583 - 584 -struct _currencyfmtW { 585 - UINT NumDigits; 586 - UINT LeadingZero; 587 - UINT Grouping; 588 - LPWSTR lpDecimalSep; 589 - LPWSTR lpThousandSep; 590 - UINT NegativeOrder; 591 - UINT PositiveOrder; 592 - LPWSTR lpCurrencySymbol; 593 -} 594 -alias _currencyfmtW CURRENCYFMTW; 595 -alias _currencyfmtW* LPCURRENCYFMTW; 596 - 597 -// #ifdef UNICODE 598 -alias CURRENCYFMTW CURRENCYFMT; 599 -alias LPCURRENCYFMTW LPCURRENCYFMT; 600 -// #else 601 -// ... 602 -// #endif // UNICODE 603 - 604 -alias LONG GEOID; 605 -alias DWORD GEOTYPE; 606 -alias DWORD GEOCLASS; 607 - 608 -enum { GEOID_NOT_AVAILABLE = -1 } 12 +pragma(lib, "kernel32.lib"); 13 + 14 +private import win32.basetsd, win32.w32api, win32.winbase, win32.windef; 15 + 16 +alias DWORD LCTYPE, CALTYPE, CALID, LGRPID, GEOID, GEOTYPE, GEOCLASS; 17 + 18 +const size_t 19 + MAX_DEFAULTCHAR = 2, 20 + MAX_LEADBYTES = 12; 21 + 22 +const LCTYPE 23 + LOCALE_USE_CP_ACP = 0x40000000, 24 + LOCALE_RETURN_NUMBER = 0x20000000; 25 + 26 +enum : LCTYPE { 27 + LOCALE_ILANGUAGE = 1, 28 + LOCALE_SLANGUAGE, 29 + LOCALE_SABBREVLANGNAME, 30 + LOCALE_SNATIVELANGNAME, 31 + LOCALE_ICOUNTRY, 32 + LOCALE_SCOUNTRY, 33 + LOCALE_SABBREVCTRYNAME, 34 + LOCALE_SNATIVECTRYNAME, 35 + LOCALE_IDEFAULTLANGUAGE, 36 + LOCALE_IDEFAULTCOUNTRY, 37 + LOCALE_IDEFAULTCODEPAGE, 38 + LOCALE_SLIST, 39 + LOCALE_IMEASURE, 40 + LOCALE_SDECIMAL, 41 + LOCALE_STHOUSAND, 42 + LOCALE_SGROUPING, 43 + LOCALE_IDIGITS, 44 + LOCALE_ILZERO, 45 + LOCALE_SNATIVEDIGITS, 46 + LOCALE_SCURRENCY, 47 + LOCALE_SINTLSYMBOL, 48 + LOCALE_SMONDECIMALSEP, 49 + LOCALE_SMONTHOUSANDSEP, 50 + LOCALE_SMONGROUPING, 51 + LOCALE_ICURRDIGITS, 52 + LOCALE_IINTLCURRDIGITS, 53 + LOCALE_ICURRENCY, 54 + LOCALE_INEGCURR, 55 + LOCALE_SDATE, 56 + LOCALE_STIME, 57 + LOCALE_SSHORTDATE, 58 + LOCALE_SLONGDATE, 59 + LOCALE_IDATE, 60 + LOCALE_ILDATE, 61 + LOCALE_ITIME, 62 + LOCALE_ICENTURY, 63 + LOCALE_ITLZERO, 64 + LOCALE_IDAYLZERO, 65 + LOCALE_IMONLZERO, 66 + LOCALE_S1159, 67 + LOCALE_S2359, 68 + LOCALE_SDAYNAME1, 69 + LOCALE_SDAYNAME2, 70 + LOCALE_SDAYNAME3, 71 + LOCALE_SDAYNAME4, 72 + LOCALE_SDAYNAME5, 73 + LOCALE_SDAYNAME6, 74 + LOCALE_SDAYNAME7, 75 + LOCALE_SABBREVDAYNAME1, 76 + LOCALE_SABBREVDAYNAME2, 77 + LOCALE_SABBREVDAYNAME3, 78 + LOCALE_SABBREVDAYNAME4, 79 + LOCALE_SABBREVDAYNAME5, 80 + LOCALE_SABBREVDAYNAME6, 81 + LOCALE_SABBREVDAYNAME7, 82 + LOCALE_SMONTHNAME1, 83 + LOCALE_SMONTHNAME2, 84 + LOCALE_SMONTHNAME3, 85 + LOCALE_SMONTHNAME4, 86 + LOCALE_SMONTHNAME5, 87 + LOCALE_SMONTHNAME6, 88 + LOCALE_SMONTHNAME7, 89 + LOCALE_SMONTHNAME8, 90 + LOCALE_SMONTHNAME9, 91 + LOCALE_SMONTHNAME10, 92 + LOCALE_SMONTHNAME11, 93 + LOCALE_SMONTHNAME12, 94 + LOCALE_SABBREVMONTHNAME1, 95 + LOCALE_SABBREVMONTHNAME2, 96 + LOCALE_SABBREVMONTHNAME3, 97 + LOCALE_SABBREVMONTHNAME4, 98 + LOCALE_SABBREVMONTHNAME5, 99 + LOCALE_SABBREVMONTHNAME6, 100 + LOCALE_SABBREVMONTHNAME7, 101 + LOCALE_SABBREVMONTHNAME8, 102 + LOCALE_SABBREVMONTHNAME9, 103 + LOCALE_SABBREVMONTHNAME10, 104 + LOCALE_SABBREVMONTHNAME11, 105 + LOCALE_SABBREVMONTHNAME12, 106 + LOCALE_SPOSITIVESIGN, 107 + LOCALE_SNEGATIVESIGN, 108 + LOCALE_IPOSSIGNPOSN, 109 + LOCALE_INEGSIGNPOSN, 110 + LOCALE_IPOSSYMPRECEDES, 111 + LOCALE_IPOSSEPBYSPACE, 112 + LOCALE_INEGSYMPRECEDES, 113 + LOCALE_INEGSEPBYSPACE, 114 + LOCALE_FONTSIGNATURE, 115 + LOCALE_SISO639LANGNAME, 116 + LOCALE_SISO3166CTRYNAME, // = 90 117 + LOCALE_SENGLANGUAGE = 0x1001, 118 + LOCALE_SENGCOUNTRY = 0x1002, 119 + LOCALE_IDEFAULTANSICODEPAGE = 0x1004, 120 + LOCALE_INEGNUMBER = 0x1010, 121 + LOCALE_STIMEFORMAT = 0x1003, 122 + LOCALE_ITIMEMARKPOSN = 0x1005, 123 + LOCALE_ICALENDARTYPE = 0x1009, 124 + LOCALE_IOPTIONALCALENDAR = 0x100B, 125 + LOCALE_IFIRSTDAYOFWEEK = 0x100C, 126 + LOCALE_IFIRSTWEEKOFYEAR = 0x100D, 127 + LOCALE_SMONTHNAME13 = 0x100E, 128 + LOCALE_SABBREVMONTHNAME13 = 0x100F 129 +} 130 + 131 +enum : LCID { 132 + LOCALE_USER_DEFAULT = 0x400, 133 + LOCALE_SYSTEM_DEFAULT = 0x800 134 +} 135 + 136 +const DWORD 137 + NORM_IGNORECASE = 1, 138 + NORM_IGNORENONSPACE = 2, 139 + NORM_IGNORESYMBOLS = 4, 140 + SORT_STRINGSORT = 0x01000, 141 + NORM_IGNOREKANATYPE = 0x10000, 142 + NORM_IGNOREWIDTH = 0x20000; 143 + 144 +const DWORD 145 + LCMAP_LOWERCASE = 0x00000100, 146 + LCMAP_UPPERCASE = 0x00000200, 147 + LCMAP_SORTKEY = 0x00000400, 148 + LCMAP_BYTEREV = 0x00000800, 149 + LCMAP_HIRAGANA = 0x00100000, 150 + LCMAP_KATAKANA = 0x00200000, 151 + LCMAP_HALFWIDTH = 0x00400000, 152 + LCMAP_FULLWIDTH = 0x00800000, 153 + LCMAP_LINGUISTIC_CASING = 0x01000000, 154 + LCMAP_SIMPLIFIED_CHINESE = 0x02000000, 155 + LCMAP_TRADITIONAL_CHINESE = 0x04000000; 156 + 157 +const CALID ENUM_ALL_CALENDARS = -1; 158 + 159 +const DWORD 160 + DATE_SHORTDATE = 1, 161 + DATE_LONGDATE = 2, 162 + DATE_USE_ALT_CALENDAR = 4, 163 + LOCALE_NOUSEROVERRIDE = 0x80000000; 164 + 165 +enum : DWORD { 166 + CP_INSTALLED = 1, 167 + CP_SUPPORTED 168 +} 169 + 170 +enum : DWORD { 171 + LCID_INSTALLED = 1, 172 + LCID_SUPPORTED = 2, 173 + LCID_ALTERNATE_SORTS = 4 174 +} 175 + 176 +const DWORD 177 + MAP_FOLDCZONE = 16, 178 + MAP_PRECOMPOSED = 32, 179 + MAP_COMPOSITE = 64, 180 + MAP_FOLDDIGITS = 128; 181 + 182 +enum : UINT { 183 + CP_ACP, 184 + CP_OEMCP, 185 + CP_MACCP, 186 + CP_THREAD_ACP, // = 3 187 + CP_SYMBOL = 42, 188 + CP_UTF7 = 65000, 189 + CP_UTF8 = 65001 190 +} 191 + 192 +enum : DWORD { 193 + CT_CTYPE1 = 1, 194 + CT_CTYPE2 = 2, 195 + CT_CTYPE3 = 4 196 +} 197 + 198 +const WORD 199 + C1_UPPER = 1, 200 + C1_LOWER = 2, 201 + C1_DIGIT = 4, 202 + C1_SPACE = 8, 203 + C1_PUNCT = 16, 204 + C1_CNTRL = 32, 205 + C1_BLANK = 64, 206 + C1_XDIGIT = 128, 207 + C1_ALPHA = 256; 208 + 209 +enum : WORD { 210 + C2_NOTAPPLICABLE, 211 + C2_LEFTTORIGHT, 212 + C2_RIGHTTOLEFT, 213 + C2_EUROPENUMBER, 214 + C2_EUROPESEPARATOR, 215 + C2_EUROPETERMINATOR, 216 + C2_ARABICNUMBER, 217 + C2_COMMONSEPARATOR, 218 + C2_BLOCKSEPARATOR, 219 + C2_SEGMENTSEPARATOR, 220 + C2_WHITESPACE, 221 + C2_OTHERNEUTRAL // = 11 222 +} 223 + 224 +const WORD 225 + C3_NOTAPPLICABLE = 0, 226 + C3_NONSPACING = 1, 227 + C3_DIACRITIC = 2, 228 + C3_VOWELMARK = 4, 229 + C3_SYMBOL = 8, 230 + C3_KATAKANA = 0x0010, 231 + C3_HIRAGANA = 0x0020, 232 + C3_HALFWIDTH = 0x0040, 233 + C3_FULLWIDTH = 0x0080, 234 + C3_IDEOGRAPH = 0x0100, 235 + C3_KASHIDA = 0x0200, 236 + C3_LEXICAL = 0x0400, 237 + C3_ALPHA = 0x8000; 238 + 239 +const DWORD 240 + TIME_NOMINUTESORSECONDS = 1, 241 + TIME_NOSECONDS = 2, 242 + TIME_NOTIMEMARKER = 4, 243 + TIME_FORCE24HOURFORMAT = 8; 244 + 245 +const DWORD 246 + MB_PRECOMPOSED = 1, 247 + MB_COMPOSITE = 2, 248 + MB_USEGLYPHCHARS = 4, 249 + MB_ERR_INVALID_CHARS = 8; 250 + 251 +const DWORD 252 + WC_DISCARDNS = 16, 253 + WC_SEPCHARS = 32, 254 + WC_DEFAULTCHAR = 64, 255 + WC_COMPOSITECHECK = 512; 256 + 257 +enum : LONG { 258 + CTRY_DEFAULT = 0, 259 + CTRY_DOMINICAN_REPUBLIC = 1, 260 + CTRY_PUERTO_RICO = 1, 261 + CTRY_CARIBBEAN = 1, 262 + CTRY_JAMAICA = 1, 263 + CTRY_UNITED_STATES = 1, 264 + CTRY_TRINIDAD_Y_TOBAGO = 1, 265 + CTRY_CANADA = 2, 266 + CTRY_RUSSIA = 7, 267 + CTRY_UZBEKISTAN = 7, 268 + CTRY_KAZAKSTAN = 7, 269 + CTRY_TATARSTAN = 7, 270 + CTRY_EGYPT = 20, 271 + CTRY_SOUTH_AFRICA = 27, 272 + CTRY_GREECE = 30, 273 + CTRY_NETHERLANDS = 31, 274 + CTRY_BELGIUM = 32, 275 + CTRY_FRANCE = 33, 276 + CTRY_MONACO = 33, 277 + CTRY_SPAIN = 34, 278 + CTRY_HUNGARY = 36, 279 + CTRY_ITALY = 39, 280 + CTRY_ROMANIA = 40, 281 + CTRY_SWITZERLAND = 41, 282 + CTRY_LIECHTENSTEIN = 41, 283 + CTRY_AUSTRIA = 43, 284 + CTRY_UNITED_KINGDOM = 44, 285 + CTRY_DENMARK = 45, 286 + CTRY_SWEDEN = 46, 287 + CTRY_NORWAY = 47, 288 + CTRY_POLAND = 48, 289 + CTRY_GERMANY = 49, 290 + CTRY_PERU = 51, 291 + CTRY_MEXICO = 52, 292 + CTRY_ARGENTINA = 54, 293 + CTRY_BRAZIL = 55, 294 + CTRY_CHILE = 56, 295 + CTRY_COLOMBIA = 57, 296 + CTRY_VENEZUELA = 58, 297 + CTRY_MALAYSIA = 60, 298 + CTRY_AUSTRALIA = 61, 299 + CTRY_INDONESIA = 62, 300 + CTRY_PHILIPPINES = 63, 301 + CTRY_NEW_ZEALAND = 64, 302 + CTRY_SINGAPORE = 65, 303 + CTRY_THAILAND = 66, 304 + CTRY_JAPAN = 81, 305 + CTRY_SOUTH_KOREA = 82, 306 + CTRY_VIET_NAM = 84, 307 + CTRY_PRCHINA = 86, 308 + CTRY_TURKEY = 90, 309 + CTRY_INDIA = 91, 310 + CTRY_PAKISTAN = 92, 311 + CTRY_MOROCCO = 212, 312 + CTRY_ALGERIA = 213, 313 + CTRY_TUNISIA = 216, 314 + CTRY_LIBYA = 218, 315 + CTRY_KENYA = 254, 316 + CTRY_ZIMBABWE = 263, 317 + CTRY_FAEROE_ISLANDS = 298, 318 + CTRY_PORTUGAL = 351, 319 + CTRY_LUXEMBOURG = 352, 320 + CTRY_IRELAND = 353, 321 + CTRY_ICELAND = 354, 322 + CTRY_ALBANIA = 355, 323 + CTRY_FINLAND = 358, 324 + CTRY_BULGARIA = 359, 325 + CTRY_LITHUANIA = 370, 326 + CTRY_LATVIA = 371, 327 + CTRY_ESTONIA = 372, 328 + CTRY_ARMENIA = 374, 329 + CTRY_BELARUS = 375, 330 + CTRY_UKRAINE = 380, 331 + CTRY_SERBIA = 381, 332 + CTRY_CROATIA = 385, 333 + CTRY_SLOVENIA = 386, 334 + CTRY_MACEDONIA = 389, 335 + CTRY_CZECH = 420, 336 + CTRY_SLOVAK = 421, 337 + CTRY_BELIZE = 501, 338 + CTRY_GUATEMALA = 502, 339 + CTRY_EL_SALVADOR = 503, 340 + CTRY_HONDURAS = 504, 341 + CTRY_NICARAGUA = 505, 342 + CTRY_COSTA_RICA = 506, 343 + CTRY_PANAMA = 507, 344 + CTRY_BOLIVIA = 591, 345 + CTRY_ECUADOR = 593, 346 + CTRY_PARAGUAY = 595, 347 + CTRY_URUGUAY = 598, 348 + CTRY_BRUNEI_DARUSSALAM = 673, 349 + CTRY_HONG_KONG = 852, 350 + CTRY_MACAU = 853, 351 + CTRY_TAIWAN = 886, 352 + CTRY_MALDIVES = 960, 353 + CTRY_LEBANON = 961, 354 + CTRY_JORDAN = 962, 355 + CTRY_SYRIA = 963, 356 + CTRY_IRAQ = 964, 357 + CTRY_KUWAIT = 965, 358 + CTRY_SAUDI_ARABIA = 966, 359 + CTRY_YEMEN = 967, 360 + CTRY_OMAN = 968, 361 + CTRY_UAE = 971, 362 + CTRY_ISRAEL = 972, 363 + CTRY_BAHRAIN = 973, 364 + CTRY_QATAR = 974, 365 + CTRY_MONGOLIA = 976, 366 + CTRY_IRAN = 981, 367 + CTRY_AZERBAIJAN = 994, 368 + CTRY_GEORGIA = 995, 369 + CTRY_KYRGYZSTAN = 996 370 +} 371 + 372 +enum : CALTYPE { 373 + CAL_ICALINTVALUE = 1, 374 + CAL_SCALNAME, 375 + CAL_IYEAROFFSETRANGE, 376 + CAL_SERASTRING, 377 + CAL_SSHORTDATE, 378 + CAL_SLONGDATE, 379 + CAL_SDAYNAME1, 380 + CAL_SDAYNAME2, 381 + CAL_SDAYNAME3, 382 + CAL_SDAYNAME4, 383 + CAL_SDAYNAME5, 384 + CAL_SDAYNAME6, 385 + CAL_SDAYNAME7, 386 + CAL_SABBREVDAYNAME1, 387 + CAL_SABBREVDAYNAME2, 388 + CAL_SABBREVDAYNAME3, 389 + CAL_SABBREVDAYNAME4, 390 + CAL_SABBREVDAYNAME5, 391 + CAL_SABBREVDAYNAME6, 392 + CAL_SABBREVDAYNAME7, 393 + CAL_SMONTHNAME1, 394 + CAL_SMONTHNAME2, 395 + CAL_SMONTHNAME3, 396 + CAL_SMONTHNAME4, 397 + CAL_SMONTHNAME5, 398 + CAL_SMONTHNAME6, 399 + CAL_SMONTHNAME7, 400 + CAL_SMONTHNAME8, 401 + CAL_SMONTHNAME9, 402 + CAL_SMONTHNAME10, 403 + CAL_SMONTHNAME11, 404 + CAL_SMONTHNAME12, 405 + CAL_SMONTHNAME13, 406 + CAL_SABBREVMONTHNAME1, 407 + CAL_SABBREVMONTHNAME2, 408 + CAL_SABBREVMONTHNAME3, 409 + CAL_SABBREVMONTHNAME4, 410 + CAL_SABBREVMONTHNAME5, 411 + CAL_SABBREVMONTHNAME6, 412 + CAL_SABBREVMONTHNAME7, 413 + CAL_SABBREVMONTHNAME8, 414 + CAL_SABBREVMONTHNAME9, 415 + CAL_SABBREVMONTHNAME10, 416 + CAL_SABBREVMONTHNAME11, 417 + CAL_SABBREVMONTHNAME12, 418 + CAL_SABBREVMONTHNAME13 // = 46 419 +} 420 + 421 + 422 +enum : CALTYPE { 423 + CAL_GREGORIAN = 1, 424 + CAL_GREGORIAN_US, 425 + CAL_JAPAN, 426 + CAL_TAIWAN, 427 + CAL_KOREA, 428 + CAL_HIJRI, 429 + CAL_THAI, 430 + CAL_HEBREW, 431 + CAL_GREGORIAN_ME_FRENCH, 432 + CAL_GREGORIAN_ARABIC, 433 + CAL_GREGORIAN_XLIT_ENGLISH, 434 + CAL_GREGORIAN_XLIT_FRENCH // = 12 435 +} 436 + 437 +enum : int { 438 + CSTR_LESS_THAN = 1, 439 + CSTR_EQUAL, 440 + CSTR_GREATER_THAN 441 +} 442 + 443 +enum : DWORD { 444 + LGRPID_INSTALLED = 1, 445 + LGRPID_SUPPORTED 446 +} 447 + 448 +enum : LGRPID { 449 + LGRPID_WESTERN_EUROPE = 1, 450 + LGRPID_CENTRAL_EUROPE, 451 + LGRPID_BALTIC, 452 + LGRPID_GREEK, 453 + LGRPID_CYRILLIC, 454 + LGRPID_TURKISH, 455 + LGRPID_JAPANESE, 456 + LGRPID_KOREAN, 457 + LGRPID_TRADITIONAL_CHINESE, 458 + LGRPID_SIMPLIFIED_CHINESE, 459 + LGRPID_THAI, 460 + LGRPID_HEBREW, 461 + LGRPID_ARABIC, 462 + LGRPID_VIETNAMESE, 463 + LGRPID_INDIC, 464 + LGRPID_GEORGIAN, 465 + LGRPID_ARMENIAN // = 17 466 +} 467 + 468 +static if (WINVER >= 0x500) { 469 + enum : LCTYPE { 470 + LOCALE_SYEARMONTH = 0x1006, 471 + LOCALE_SENGCURRNAME = 0x1007, 472 + LOCALE_SNATIVECURRNAME = 0x1008, 473 + LOCALE_IDEFAULTEBCDICCODEPAGE = 0x1012, 474 + LOCALE_SSORTNAME = 0x1013, 475 + LOCALE_IDIGITSUBSTITUTION = 0x1014, 476 + LOCALE_IPAPERSIZE = 0x100A 477 + } 478 + 479 + const DWORD 480 + DATE_YEARMONTH = 8, 481 + DATE_LTRREADING = 16, 482 + DATE_RTLREADING = 32; 483 + 484 + const DWORD MAP_EXPAND_LIGATURES = 0x2000; 485 + const DWORD WC_NO_BEST_FIT_CHARS = 1024; 486 + 487 + enum : CALTYPE { 488 + CAL_SYEARMONTH = 47, 489 + CAL_ITWODIGITYEARMAX = 48, 490 + CAL_NOUSEROVERRIDE = LOCALE_NOUSEROVERRIDE, 491 + CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER, 492 + CAL_USE_CP_ACP = LOCALE_USE_CP_ACP 493 + } 494 +} // (WINVER >= 0x500) 495 + 496 +extern (Windows) { 497 + alias BOOL function(LPSTR) CALINFO_ENUMPROCA; 498 + alias BOOL function(LPWSTR) CALINFO_ENUMPROCW; 499 + alias BOOL function(LPSTR, CALID) CALINFO_ENUMPROCEXA; 500 + alias BOOL function(LPWSTR, CALID) CALINFO_ENUMPROCEXW; 501 + alias BOOL function(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR) 502 + LANGUAGEGROUP_ENUMPROCA; 503 + alias BOOL function(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR) 504 + LANGUAGEGROUP_ENUMPROCW; 505 + alias BOOL function(LGRPID, LCID, LPSTR, LONG_PTR) 506 + LANGGROUPLOCALE_ENUMPROCA; 507 + alias BOOL function(LGRPID, LCID, LPWSTR, LONG_PTR) 508 + LANGGROUPLOCALE_ENUMPROCW; 509 + alias BOOL function(LPWSTR, LONG_PTR) UILANGUAGE_ENUMPROCW; 510 + alias BOOL function(LPSTR, LONG_PTR) UILANGUAGE_ENUMPROCA; 511 + alias BOOL function(LPSTR) LOCALE_ENUMPROCA; 512 + alias BOOL function(LPWSTR) LOCALE_ENUMPROCW; 513 + alias BOOL function(LPSTR) CODEPAGE_ENUMPROCA; 514 + alias BOOL function(LPWSTR) CODEPAGE_ENUMPROCW; 515 + alias BOOL function(LPSTR) DATEFMT_ENUMPROCA; 516 + alias BOOL function(LPWSTR) DATEFMT_ENUMPROCW; 517 + alias BOOL function(LPSTR, CALID) DATEFMT_ENUMPROCEXA; 518 + alias BOOL function(LPWSTR, CALID) DATEFMT_ENUMPROCEXW; 519 + alias BOOL function(LPSTR) TIMEFMT_ENUMPROCA; 520 + alias BOOL function(LPWSTR) TIMEFMT_ENUMPROCW; 521 + alias BOOL function(GEOID) GEO_ENUMPROC; 522 +} 523 + 524 +enum NLS_FUNCTION { 525 + COMPARE_STRING = 0x0001 526 +} 527 + 528 +enum SYSGEOCLASS { 529 + GEOCLASS_NATION = 16, 530 + GEOCLASS_REGION = 14 531 +} 609 532 610 533 enum SYSGEOTYPE { 611 - GEO_NATION = 0x0001, 612 - GEO_LATITUDE = 0x0002, 613 - GEO_LONGITUDE = 0x0003, 614 - GEO_ISO2 = 0x0004, 615 - GEO_ISO3 = 0x0005, 616 - GEO_RFC1766 = 0x0006, 617 - GEO_LCID = 0x0007, 618 - GEO_FRIENDLYNAME = 0x0008, 619 - GEO_OFFICIALNAME = 0x0009, 620 - GEO_TIMEZONES = 0x000A, 621 - GEO_OFFICIALLANGUAGES = 0x000B, 534 + GEO_NATION = 0x0001, 535 + GEO_LATITUDE = 0x0002, 536 + GEO_LONGITUDE = 0x0003, 537 + GEO_ISO2 = 0x0004, 538 + GEO_ISO3 = 0x0005, 539 + GEO_RFC1766 = 0x0006, 540 + GEO_LCID = 0x0007, 541 + GEO_FRIENDLYNAME = 0x0008, 542 + GEO_OFFICIALNAME = 0x0009, 543 + GEO_TIMEZONES = 0x000a, 544 + GEO_OFFICIALLANGUAGES = 0x000a 545 +} 546 + 547 +struct CPINFO { 548 + UINT MaxCharSize; 549 + BYTE[MAX_DEFAULTCHAR] DefaultChar; 550 + BYTE[MAX_LEADBYTES] LeadByte; 551 +} 552 +alias CPINFO* LPCPINFO; 553 + 554 +struct CPINFOEXA { 555 + UINT MaxCharSize; 556 + BYTE[MAX_DEFAULTCHAR] DefaultChar; 557 + BYTE[MAX_LEADBYTES] LeadByte; 558 + WCHAR UnicodeDefaultChar; 559 + UINT CodePage; 560 + CHAR[MAX_PATH] CodePageName; 561 +} 562 +alias CPINFOEXA* LPCPINFOEXA; 563 + 564 +struct CPINFOEXW { 565 + UINT MaxCharSize; 566 + BYTE[MAX_DEFAULTCHAR] DefaultChar; 567 + BYTE[MAX_LEADBYTES] LeadByte; 568 + WCHAR UnicodeDefaultChar; 569 + UINT CodePage; 570 + WCHAR[MAX_PATH] CodePageName; 571 +} 572 +alias CPINFOEXW* LPCPINFOEXW; 573 + 574 +struct CURRENCYFMTA { 575 + UINT NumDigits; 576 + UINT LeadingZero; 577 + UINT Grouping; 578 + LPSTR lpDecimalSep; 579 + LPSTR lpThousandSep; 580 + UINT NegativeOrder; 581 + UINT PositiveOrder; 582 + LPSTR lpCurrencySymbol; 583 +} 584 +alias CURRENCYFMTA* LPCURRENCYFMTA; 585 + 586 +struct CURRENCYFMTW { 587 + UINT NumDigits; 588 + UINT LeadingZero; 589 + UINT Grouping; 590 + LPWSTR lpDecimalSep; 591 + LPWSTR lpThousandSep; 592 + UINT NegativeOrder; 593 + UINT PositiveOrder; 594 + LPWSTR lpCurrencySymbol; 595 +} 596 +alias CURRENCYFMTW* LPCURRENCYFMTW; 597 + 598 +struct NLSVERSIONINFO { 599 + DWORD dwNLSVersionInfoSize; 600 + DWORD dwNLSVersion; 601 + DWORD dwDefinedVersion; 602 +} 603 +alias NLSVERSIONINFO* LPNLSVERSIONINFO; 604 + 605 +struct NUMBERFMTA { 606 + UINT NumDigits; 607 + UINT LeadingZero; 608 + UINT Grouping; 609 + LPSTR lpDecimalSep; 610 + LPSTR lpThousandSep; 611 + UINT NegativeOrder; 612 +} 613 +alias NUMBERFMTA* LPNUMBERFMTA; 614 + 615 +struct NUMBERFMTW { 616 + UINT NumDigits; 617 + UINT LeadingZero; 618 + UINT Grouping; 619 + LPWSTR lpDecimalSep; 620 + LPWSTR lpThousandSep; 621 + UINT NegativeOrder; 622 622 } 623 +alias NUMBERFMTW* LPNUMBERFMTW; 624 + 625 +extern (Windows) { 626 + int CompareStringA(LCID, DWORD, LPCSTR, int, LPCSTR, int); 627 + int CompareStringW(LCID, DWORD, LPCWSTR, int, LPCWSTR, int); 628 + LCID ConvertDefaultLocale(LCID); 629 + BOOL EnumCalendarInfoA(CALINFO_ENUMPROCA, LCID, CALID, CALTYPE); 630 + BOOL EnumCalendarInfoW(CALINFO_ENUMPROCW, LCID, CALID, CALTYPE); 631 + BOOL EnumDateFormatsA(DATEFMT_ENUMPROCA, LCID, DWORD); 632 + BOOL EnumDateFormatsW(DATEFMT_ENUMPROCW, LCID, DWORD); 633 + BOOL EnumSystemCodePagesA(CODEPAGE_ENUMPROCA, DWORD); 634 + BOOL EnumSystemCodePagesW(CODEPAGE_ENUMPROCW, DWORD); 635 + BOOL EnumSystemGeoID(GEOCLASS, GEOID, GEO_ENUMPROC); 636 + BOOL EnumSystemLocalesA(LOCALE_ENUMPROCA, DWORD); 637 + BOOL EnumSystemLocalesW(LOCALE_ENUMPROCW, DWORD); 638 + BOOL EnumTimeFormatsA(TIMEFMT_ENUMPROCA, LCID, DWORD); 639 + BOOL EnumTimeFormatsW(TIMEFMT_ENUMPROCW, LCID, DWORD); 640 + int FoldStringA(DWORD, LPCSTR, int, LPSTR, int); 641 + int FoldStringW(DWORD, LPCWSTR, int, LPWSTR, int); 642 + UINT GetACP(); 643 + int GetCalendarInfoA(LCID, CALID, CALTYPE, LPSTR, int, LPDWORD); 644 + int GetCalendarInfoW(LCID, CALID, CALTYPE, LPWSTR, int, LPDWORD); 645 + BOOL GetCPInfo(UINT, LPCPINFO); 646 + BOOL GetCPInfoExA(UINT, DWORD, LPCPINFOEXA); 647 + BOOL GetCPInfoExW(UINT, DWORD, LPCPINFOEXW); 648 + int GetCurrencyFormatA(LCID, DWORD, LPCSTR, CPtr!(CURRENCYFMTA), LPSTR, int); 649 + int GetCurrencyFormatW(LCID, DWORD, LPCWSTR, CPtr!(CURRENCYFMTW), LPWSTR, 650 + int); 651 + int GetDateFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int); 652 + int GetDateFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int); 653 + int GetGeoInfoA(GEOID, GEOTYPE, LPSTR, int, LANGID); 654 + int GetGeoInfoW(GEOID, GEOTYPE, LPWSTR, int, LANGID); 655 + int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int); 656 + int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int); 657 + BOOL GetNLSVersion(NLS_FUNCTION, LCID, LPNLSVERSIONINFO); 658 + int GetNumberFormatA(LCID, DWORD, LPCSTR, CPtr!(NUMBERFMTA), LPSTR, int); 659 + int GetNumberFormatW(LCID, DWORD, LPCWSTR, CPtr!(NUMBERFMTW), LPWSTR, int); 660 + UINT GetOEMCP(); 661 + BOOL GetStringTypeA(LCID, DWORD, LPCSTR, int, LPWORD); 662 + BOOL GetStringTypeW(DWORD, LPCWSTR, int, LPWORD); 663 + BOOL GetStringTypeExA(LCID, DWORD, LPCSTR, int, LPWORD); 664 + BOOL GetStringTypeExW(LCID, DWORD, LPCWSTR, int, LPWORD); 665 + LANGID GetSystemDefaultLangID(); 666 + LCID GetSystemDefaultLCID(); 667 + LCID GetThreadLocale(); 668 + int GetTimeFormatA(LCID, DWORD, CPtr!(SYSTEMTIME), LPCSTR, LPSTR, int); 669 + int GetTimeFormatW(LCID, DWORD, CPtr!(SYSTEMTIME), LPCWSTR, LPWSTR, int); 670 + LANGID GetUserDefaultLangID(); 671 + LCID GetUserDefaultLCID(); 672 + GEOID GetUserGeoID(GEOCLASS); 673 + BOOL IsDBCSLeadByte(BYTE); 674 + BOOL IsDBCSLeadByteEx(UINT, BYTE); 675 + BOOL IsNLSDefinedString(NLS_FUNCTION, DWORD, LPNLSVERSIONINFO, LPCWSTR, 676 + int); 677 + BOOL IsValidCodePage(UINT); 678 + BOOL IsValidLocale(LCID, DWORD); 679 + int LCMapStringA(LCID, DWORD, LPCSTR, int, LPSTR, int); 680 + int LCMapStringW(LCID, DWORD, LPCWSTR, int, LPWSTR, int); 681 + int MultiByteToWideChar(UINT, DWORD, LPCSTR, int, LPWSTR, int); 682 + int SetCalendarInfoA(LCID, CALID, CALTYPE, LPCSTR); 683 + int SetCalendarInfoW(LCID, CALID, CALTYPE, LPCWSTR); 684 + BOOL SetLocaleInfoA(LCID, LCTYPE, LPCSTR); 685 + BOOL SetLocaleInfoW(LCID, LCTYPE, LPCWSTR); 686 + BOOL SetThreadLocale(LCID); 687 + BOOL SetUserGeoID(GEOID); 688 + int WideCharToMultiByte(UINT, DWORD, LPCWSTR, int, LPSTR, int, LPCSTR, 689 + LPBOOL); 690 + 691 + static if (WINVER >= 0x410) { 692 + BOOL EnumCalendarInfoExA(CALINFO_ENUMPROCEXA, LCID, CALID, CALTYPE); 693 + BOOL EnumCalendarInfoExW(CALINFO_ENUMPROCEXW, LCID, CALID, CALTYPE); 694 + BOOL EnumDateFormatsExA(DATEFMT_ENUMPROCEXA, LCID, DWORD); 695 + BOOL EnumDateFormatsExW(DATEFMT_ENUMPROCEXW, LCID, DWORD); 696 + BOOL IsValidLanguageGroup(LGRPID, DWORD); 697 + } 698 + 699 + static if (WINVER >= 0x500) { 700 + LANGID GetSystemDefaultUILanguage(); 701 + LANGID GetUserDefaultUILanguage(); 623 702 624 -enum SYSGEOCLASS { 625 - GEOCLASS_NATION = 16, 626 - GEOCLASS_REGION = 14, 703 + static if (_WIN32_WINNT_ONLY) { 704 + BOOL EnumSystemLanguageGroupsA(LANGUAGEGROUP_ENUMPROCA, DWORD, 705 + LONG_PTR); 706 + BOOL EnumSystemLanguageGroupsW(LANGUAGEGROUP_ENUMPROCW, DWORD, 707 + LONG_PTR); 708 + BOOL EnumLanguageGroupLocalesA(LANGGROUPLOCALE_ENUMPROCA, LGRPID, 709 + DWORD, LONG_PTR); 710 + BOOL EnumLanguageGroupLocalesW(LANGGROUPLOCALE_ENUMPROCW, LGRPID, 711 + DWORD, LONG_PTR); 712 + BOOL EnumUILanguagesA(UILANGUAGE_ENUMPROCA, DWORD, LONG_PTR); 713 + BOOL EnumUILanguagesW(UILANGUAGE_ENUMPROCW, DWORD, LONG_PTR); 714 + } 715 + } 627 716 } 628 717 629 -// #ifdef STRICT 630 - 631 -// ... 632 - 633 -// ... 634 - 635 -// #else // !STRICT 636 - 637 -alias FARPROC LANGUAGEGROUP_ENUMPROCA; 638 -alias FARPROC LANGGROUPLOCALE_ENUMPROCA; 639 -alias FARPROC UILANGUAGE_ENUMPROCA; 640 -alias FARPROC LOCALE_ENUMPROCA; 641 -alias FARPROC CODEPAGE_ENUMPROCA; 642 -alias FARPROC DATEFMT_ENUMPROCA; 643 -alias FARPROC DATEFMT_ENUMPROCEXA; 644 -alias FARPROC TIMEFMT_ENUMPROCA; 645 -alias FARPROC CALINFO_ENUMPROCA; 646 -alias FARPROC CALINFO_ENUMPROCEXA; 647 -alias FARPROC GEO_ENUMPROC; 718 +version (Unicode) { 719 + alias CALINFO_ENUMPROCW CALINFO_ENUMPROC; 720 + alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX; 721 + alias LOCALE_ENUMPROCW LOCALE_ENUMPROC; 722 + alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC; 723 + alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC; 724 + alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX; 725 + alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC; 726 + alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC; 727 + alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC; 728 + alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC; 729 + alias CPINFOEXW CPINFOEX; 730 + alias LPCPINFOEXW LPCPINFOEX; 731 + alias CURRENCYFMTW CURRENCYFMT; 732 + alias LPCURRENCYFMTW LPCURRENCYFMT; 733 + alias NUMBERFMTW NUMBERFMT; 734 + alias LPNUMBERFMTW LPNUMBERFMT; 735 + alias CompareStringW CompareString; 736 + alias EnumCalendarInfoW EnumCalendarInfo; 737 + alias EnumSystemCodePagesW EnumSystemCodePages; 738 + alias EnumSystemLocalesW EnumSystemLocales; 739 + alias EnumTimeFormatsW EnumTimeFormats; 740 + alias FoldStringW FoldString; 741 + alias GetCalendarInfoW GetCalendarInfo; 742 + alias GetCPInfoExW GetCPInfoEx; 743 + alias GetCurrencyFormatW GetCurrencyFormat; 744 + alias GetDateFormatW GetDateFormat; 745 + alias GetGeoInfoW GetGeoInfo; 746 + alias GetLocaleInfoW GetLocaleInfo; 747 + alias GetNumberFormatW GetNumberFormat; 748 + alias GetStringTypeExW GetStringTypeEx; 749 + alias GetTimeFormatW GetTimeFormat; 750 + alias LCMapStringW LCMapString; 751 + alias SetCalendarInfoW SetCalendarInfo; 752 + alias SetLocaleInfoW SetLocaleInfo; 648 753 649 -alias FARPROC LANGUAGEGROUP_ENUMPROCW; 650 -alias FARPROC LANGGROUPLOCALE_ENUMPROCW; 651 -alias FARPROC UILANGUAGE_ENUMPROCW; 652 -alias FARPROC LOCALE_ENUMPROCW; 653 -alias FARPROC CODEPAGE_ENUMPROCW; 654 -alias FARPROC DATEFMT_ENUMPROCW; 655 -alias FARPROC DATEFMT_ENUMPROCEXW; 656 -alias FARPROC TIMEFMT_ENUMPROCW; 657 -alias FARPROC CALINFO_ENUMPROCW; 658 -alias FARPROC CALINFO_ENUMPROCEXW; 754 + static if (WINVER >= 0x410) { 755 + alias EnumCalendarInfoExW EnumCalendarInfoEx; 756 + alias EnumDateFormatsExW EnumDateFormatsEx; 757 + } 659 758 660 -// #endif // !STRICT 661 - 662 -// #ifdef UNICODE 663 - 664 -alias LANGUAGEGROUP_ENUMPROCW LANGUAGEGROUP_ENUMPROC; 665 -alias LANGGROUPLOCALE_ENUMPROCW LANGGROUPLOCALE_ENUMPROC; 666 -alias UILANGUAGE_ENUMPROCW UILANGUAGE_ENUMPROC; 667 -alias LOCALE_ENUMPROCW LOCALE_ENUMPROC; 668 -alias CODEPAGE_ENUMPROCW CODEPAGE_ENUMPROC; 669 -alias DATEFMT_ENUMPROCW DATEFMT_ENUMPROC; 670 -alias DATEFMT_ENUMPROCEXW DATEFMT_ENUMPROCEX; 671 -alias TIMEFMT_ENUMPROCW TIMEFMT_ENUMPROC; 672 -alias CALINFO_ENUMPROCW CALINFO_ENUMPROC; 673 -alias CALINFO_ENUMPROCEXW CALINFO_ENUMPROCEX; 674 - 675 -// #else 676 - 677 -// #... 678 -// #... 679 -// #... 680 -// #... 681 -// #... 682 -// #... 683 -// #... 684 -// #... 685 -// #... 686 -// #... 759 + static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) { 760 + alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups; 761 + alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales; 762 + alias EnumUILanguagesW EnumUILanguages; 763 + } 687 764 688 -// #endif // !UNICODE 689 - 690 -extern(Windows) export BOOL IsValidCodePage( 691 - UINT CodePage); 692 - 693 -extern(Windows) export UINT GetACP(); 694 - 695 -extern(Windows) export UINT GetOEMCP(); 696 - 697 -extern(Windows) export BOOL GetCPInfo( 698 - UINT CodePage, 699 - LPCPINFO lpCPInfo); 700 - 701 -extern(Windows) export BOOL GetCPInfoExA( 702 - UINT CodePage, 703 - DWORD dwFlags, 704 - LPCPINFOEXA lpCPInfoEx); 705 -extern(Windows) export BOOL GetCPInfoExW( 706 - UINT CodePage, 707 - DWORD dwFlags, 708 - LPCPINFOEXW lpCPInfoEx); 709 -// #ifdef UNICODE 710 -alias GetCPInfoExW GetCPInfoEx; 711 -// #else 712 -// #... 713 -// #endif // !UNICODE 714 - 715 -extern(Windows) export BOOL IsDBCSLeadByte( 716 - BYTE TestChar); 717 - 718 -extern(Windows) export BOOL IsDBCSLeadByteEx( 719 - UINT CodePage, 720 - BYTE TestChar); 721 - 722 -extern(Windows) export int MultiByteToWideChar( 723 - UINT CodePage, 724 - DWORD dwFlags, 725 - LPCSTR lpMultiByteStr, 726 - int cbMultiByte, 727 - LPWSTR lpWideCharStr, 728 - int cchWideChar); 729 - 730 -extern(Windows) export int WideCharToMultiByte( 731 - UINT CodePage, 732 - DWORD dwFlags, 733 - LPCWSTR lpWideCharStr, 734 - int cchWideChar, 735 - LPSTR lpMultiByteStr, 736 - int cbMultiByte, 737 - LPCSTR lpDefaultChar, 738 - LPBOOL lpUsedDefaultChar); 739 - 740 -extern(Windows) export int CompareStringA( 741 - LCID Locale, 742 - DWORD dwCmpFlags, 743 - LPCSTR lpString1, 744 - int cchCount1, 745 - LPCSTR lpString2, 746 - int cchCount2); 747 -extern(Windows) export int CompareStringW( 748 - LCID Locale, 749 - DWORD dwCmpFlags, 750 - LPCWSTR lpString1, 751 - int cchCount1, 752 - LPCWSTR lpString2, 753 - int cchCount2); 754 -// #ifdef UNICODE 755 -alias CompareStringW CompareString; 756 -// #else 757 -// #... 758 -// #endif // !UNICODE 765 +} else { 766 + alias CALINFO_ENUMPROCA CALINFO_ENUMPROC; 767 + alias CALINFO_ENUMPROCEXA CALINFO_ENUMPROCEX; 768 + alias LOCALE_ENUMPROCA LOCALE_ENUMPROC; 769 + alias CODEPAGE_ENUMPROCA CODEPAGE_ENUMPROC; 770 + alias DATEFMT_ENUMPROCA DATEFMT_ENUMPROC; 771 + alias DATEFMT_ENUMPROCEXA DATEFMT_ENUMPROCEX; 772 + alias TIMEFMT_ENUMPROCA TIMEFMT_ENUMPROC; 773 + alias LANGUAGEGROUP_ENUMPROCA LANGUAGEGROUP_ENUMPROC; 774 + alias LANGGROUPLOCALE_ENUMPROCA LANGGROUPLOCALE_ENUMPROC; 775 + alias UILANGUAGE_ENUMPROCA UILANGUAGE_ENUMPROC; 776 + alias CPINFOEXA CPINFOEX; 777 + alias LPCPINFOEXA LPCPINFOEX; 778 + alias CURRENCYFMTA CURRENCYFMT; 779 + alias LPCURRENCYFMTA LPCURRENCYFMT; 780 + alias NUMBERFMTA NUMBERFMT; 781 + alias LPNUMBERFMTA LPNUMBERFMT; 782 + alias CompareStringA CompareString; 783 + alias EnumCalendarInfoA EnumCalendarInfo; 784 + alias EnumSystemCodePagesA EnumSystemCodePages; 785 + alias EnumSystemLocalesA EnumSystemLocales; 786 + alias EnumTimeFormatsA EnumTimeFormats; 787 + alias FoldStringA FoldString; 788 + alias GetCalendarInfoA GetCalendarInfo; 789 + alias GetCPInfoExA GetCPInfoEx; 790 + alias GetCurrencyFormatA GetCurrencyFormat; 791 + alias GetDateFormatA GetDateFormat; 792 + alias GetGeoInfoA GetGeoInfo; 793 + alias GetLocaleInfoA GetLocaleInfo; 794 + alias GetNumberFormatA GetNumberFormat; 795 + alias GetStringTypeExA GetStringTypeEx; 796 + alias GetTimeFormatA GetTimeFormat; 797 + alias LCMapStringA LCMapString; 798 + alias SetCalendarInfoA SetCalendarInfo; 799 + alias SetLocaleInfoA SetLocaleInfo; 759 800 760 -extern(Windows) export int LCMapStringA( 761 - LCID Locale, 762 - DWORD dwMapFlags, 763 - LPCSTR lpSrcStr, 764 - int cchSrc, 765 - LPSTR lpDestStr, 766 - int cchDest); 767 -extern(Windows) export int LCMapStringW( 768 - LCID Locale, 769 - DWORD dwMapFlags, 770 - LPCWSTR lpSrcStr, 771 - int cchSrc, 772 - LPWSTR lpDestStr, 773 - int cchDest); 774 -// #ifdef UNICODE 775 -alias LCMapStringW LCMapString; 776 -// #else 777 -// #... 778 -// #endif // !UNICODE 779 - 780 -extern(Windows) export int GetLocaleInfoA( 781 - LCID Locale, 782 - LCTYPE LCType, 783 - LPSTR lpLCData, 784 - int cchData); 785 -extern(Windows) export int GetLocaleInfoW( 786 - LCID Locale, 787 - LCTYPE LCType, 788 - LPWSTR lpLCData, 789 - int cchData); 790 -// #ifdef UNICODE 791 -alias GetLocaleInfoW GetLocaleInfo; 792 -// #else 793 -// #... 794 -// #endif // !UNICODE 795 - 796 -extern(Windows) export BOOL SetLocaleInfoA( 797 - LCID Locale, 798 - LCTYPE LCType, 799 - LPCSTR lpLCData); 800 -extern(Windows) export BOOL SetLocaleInfoW( 801 - LCID Locale, 802 - LCTYPE LCType, 803 - LPCWSTR lpLCData); 804 -// #ifdef UNICODE 805 -alias SetLocaleInfoW SetLocaleInfo; 806 -// #else 807 -// #... 808 -// #endif // !UNICODE 809 - 810 -// #if (WINVER >= 0x040A) 811 -extern(Windows) export int GetCalendarInfoA( 812 - LCID Locale, 813 - CALID Calendar, 814 - CALTYPE CalType, 815 - LPSTR lpCalData, 816 - int cchData, 817 - LPDWORD lpValue); 818 -extern(Windows) export int GetCalendarInfoW( 819 - LCID Locale, 820 - CALID Calendar, 821 - CALTYPE CalType, 822 - LPWSTR lpCalData, 823 - int cchData, 824 - LPDWORD lpValue); 825 -// #ifdef UNICODE 826 -alias GetCalendarInfoW GetCalendarInfo; 827 -// #else 828 -// #... 829 -// #endif // !UNICODE 830 - 831 -extern(Windows) export BOOL SetCalendarInfoA( 832 - LCID Locale, 833 - CALID Calendar, 834 - CALTYPE CalType, 835 - LPCSTR lpCalData); 836 -extern(Windows) export BOOL SetCalendarInfoW( 837 - LCID Locale, 838 - CALID Calendar, 839 - CALTYPE CalType, 840 - LPCWSTR lpCalData); 841 -// #ifdef UNICODE 842 -alias SetCalendarInfoW SetCalendarInfo; 843 -// #else 844 -// #... 845 -// #endif // !UNICODE 846 -// #endif 847 - 848 -extern(Windows) export int GetTimeFormatA( 849 - LCID Locale, 850 - DWORD dwFlags, 851 - SYSTEMTIME *lpTime, 852 - LPCSTR lpFormat, 853 - LPSTR lpTimeStr, 854 - int cchTime); 855 -extern(Windows) export int GetTimeFormatW( 856 - LCID Locale, 857 - DWORD dwFlags, 858 - SYSTEMTIME *lpTime, 859 - LPCWSTR lpFormat, 860 - LPWSTR lpTimeStr, 861 - int cchTime); 862 -// #ifdef UNICODE 863 -alias GetTimeFormatW GetTimeFormat; 864 -// #else 865 -// #... 866 -// #endif // !UNICODE 867 - 868 -extern(Windows) export int GetDateFormatA( 869 - LCID Locale, 870 - DWORD dwFlags, 871 - SYSTEMTIME *lpDate, 872 - LPCSTR lpFormat, 873 - LPSTR lpDateStr, 874 - int cchDate); 875 -extern(Windows) export int GetDateFormatW( 876 - LCID Locale, 877 - DWORD dwFlags, 878 - SYSTEMTIME *lpDate, 879 - LPCWSTR lpFormat, 880 - LPWSTR lpDateStr, 881 - int cchDate); 882 -// #ifdef UNICODE 883 -alias GetDateFormatW GetDateFormat; 884 -// #else 885 -// #... 886 -// #endif // !UNICODE 801 + static if (WINVER >= 0x410) { 802 + alias EnumCalendarInfoExA EnumCalendarInfoEx; 803 + alias EnumDateFormatsExA EnumDateFormatsEx; 804 + } 887 805 888 -extern(Windows) export int GetNumberFormatA( 889 - LCID Locale, 890 - DWORD dwFlags, 891 - LPCSTR lpValue, 892 - NUMBERFMTA *lpFormat, 893 - LPSTR lpNumberStr, 894 - int cchNumber); 895 -extern(Windows) export int GetNumberFormatW( 896 - LCID Locale, 897 - DWORD dwFlags, 898 - LPCWSTR lpValue, 899 - NUMBERFMTW *lpFormat, 900 - LPWSTR lpNumberStr, 901 - int cchNumber); 902 -// #ifdef UNICODE 903 -alias GetNumberFormatW GetNumberFormat; 904 -// #else 905 -// #... 906 -// #endif // !UNICODE 907 - 908 -extern(Windows) export int GetCurrencyFormatA( 909 - LCID Locale, 910 - DWORD dwFlags, 911 - LPCSTR lpValue, 912 - CURRENCYFMTA *lpFormat, 913 - LPSTR lpCurrencyStr, 914 - int cchCurrency); 915 -extern(Windows) export int GetCurrencyFormatW( 916 - LCID Locale, 917 - DWORD dwFlags, 918 - LPCWSTR lpValue, 919 - CURRENCYFMTW *lpFormat, 920 - LPWSTR lpCurrencyStr, 921 - int cchCurrency); 922 -// #ifdef UNICODE 923 -alias GetCurrencyFormatW GetCurrencyFormat; 924 -// #else 925 -// #... 926 -// #endif // !UNICODE 927 - 928 -extern(Windows) export BOOL EnumCalendarInfoA( 929 - CALINFO_ENUMPROCA lpCalInfoEnumProc, 930 - LCID Locale, 931 - CALID Calendar, 932 - CALTYPE CalType); 933 -extern(Windows) export BOOL EnumCalendarInfoW( 934 - CALINFO_ENUMPROCW lpCalInfoEnumProc, 935 - LCID Locale, 936 - CALID Calendar, 937 - CALTYPE CalType); 938 -// #ifdef UNICODE 939 -alias EnumCalendarInfoW EnumCalendarInfo; 940 -// #else 941 -// #... 942 -// #endif // !UNICODE 943 - 944 -// #if(WINVER >= 0x0500) 945 -extern(Windows) export BOOL EnumCalendarInfoExA( 946 - CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx, 947 - LCID Locale, 948 - CALID Calendar, 949 - CALTYPE CalType); 950 -extern(Windows) export BOOL EnumCalendarInfoExW( 951 - CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx, 952 - LCID Locale, 953 - CALID Calendar, 954 - CALTYPE CalType); 955 -// #ifdef UNICODE 956 -alias EnumCalendarInfoExW EnumCalendarInfoEx; 957 -// #else 958 -// #... 959 -// #endif // !UNICODE 960 -// #endif /* WINVER >= 0x0500 */ 961 - 962 -extern(Windows) export BOOL EnumTimeFormatsA( 963 - TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, 964 - LCID Locale, 965 - DWORD dwFlags); 966 -extern(Windows) export BOOL EnumTimeFormatsW( 967 - TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, 968 - LCID Locale, 969 - DWORD dwFlags); 970 -// #ifdef UNICODE 971 -alias EnumTimeFormatsW EnumTimeFormats; 972 -// #else 973 -// #... 974 -// #endif // !UNICODE 975 - 976 -extern(Windows) export BOOL EnumDateFormatsA( 977 - DATEFMT_ENUMPROCA lpDateFmtEnumProc, 978 - LCID Locale, 979 - DWORD dwFlags); 980 -extern(Windows) export BOOL EnumDateFormatsW( 981 - DATEFMT_ENUMPROCW lpDateFmtEnumProc, 982 - LCID Locale, 983 - DWORD dwFlags); 984 -// #ifdef UNICODE 985 -alias EnumDateFormatsW EnumDateFormats; 986 -// #else 987 -// #... 988 -// #endif // !UNICODE 989 - 990 -// #if(WINVER >= 0x0500) 991 -extern(Windows) export BOOL EnumDateFormatsExA( 992 - DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx, 993 - LCID Locale, 994 - DWORD dwFlags); 995 -extern(Windows) export BOOL EnumDateFormatsExW( 996 - DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx, 997 - LCID Locale, 998 - DWORD dwFlags); 999 -// #ifdef UNICODE 1000 -alias EnumDateFormatsExW EnumDateFormatsEx; 1001 -// #else 1002 -// #... 1003 -// #endif // !UNICODE 1004 -// #endif /* WINVER >= 0x0500 */ 1005 - 1006 -// #if(WINVER >= 0x0500) 1007 -extern(Windows) export BOOL IsValidLanguageGroup( 1008 - LGRPID LanguageGroup, 1009 - DWORD dwFlags); 1010 -// #endif /* WINVER >= 0x0500 */ 1011 - 1012 -extern(Windows) export BOOL IsValidLocale( 1013 - LCID Locale, 1014 - DWORD dwFlags); 1015 - 1016 -extern(Windows) export int GetGeoInfoA( 1017 - GEOID Location, 1018 - GEOTYPE GeoType, 1019 - LPSTR lpGeoData, 1020 - int cchData, 1021 - LANGID LangId); 1022 -extern(Windows) export int GetGeoInfoW( 1023 - GEOID Location, 1024 - GEOTYPE GeoType, 1025 - LPWSTR lpGeoData, 1026 - int cchData, 1027 - LANGID LangId); 1028 -// #ifdef UNICODE 1029 -alias GetGeoInfoW GetGeoInfo; 1030 -// #else 1031 -// #... 1032 -// #endif // !UNICODE 1033 - 1034 -extern(Windows) export BOOL EnumSystemGeoID( 1035 - GEOCLASS GeoClass, 1036 - GEOID ParentGeoId, 1037 - GEO_ENUMPROC lpGeoEnumProc); 1038 - 1039 -extern(Windows) export GEOID GetUserGeoID( 1040 - GEOCLASS GeoClass); 1041 - 1042 -extern(Windows) export BOOL SetUserGeoID( 1043 - GEOID GeoId); 1044 - 1045 -extern(Windows) export LCID ConvertDefaultLocale( 1046 - LCID Locale); 1047 - 1048 -extern(Windows) export LCID GetThreadLocale(); 1049 - 1050 -extern(Windows) export BOOL SetThreadLocale( 1051 - LCID Locale 1052 - ); 1053 - 1054 -// #if(WINVER >= 0x0500) 1055 -extern(Windows) export LANGID GetSystemDefaultUILanguage(); 1056 - 1057 -extern(Windows) export LANGID GetUserDefaultUILanguage(); 1058 -// #endif /* WINVER >= 0x0500 */ 1059 - 1060 -extern(Windows) export LANGID GetSystemDefaultLangID(); 1061 - 1062 -extern(Windows) export LANGID GetUserDefaultLangID(); 1063 - 1064 -extern(Windows) export LCID GetSystemDefaultLCID(); 1065 - 1066 -extern(Windows) export LCID GetUserDefaultLCID(); 1067 - 1068 -extern(Windows) export BOOL GetStringTypeExA( 1069 - LCID Locale, 1070 - DWORD dwInfoType, 1071 - LPCSTR lpSrcStr, 1072 - int cchSrc, 1073 - LPWORD lpCharType); 1074 -extern(Windows) export BOOL GetStringTypeExW( 1075 - LCID Locale, 1076 - DWORD dwInfoType, 1077 - LPCWSTR lpSrcStr, 1078 - int cchSrc, 1079 - LPWORD lpCharType); 1080 -// #ifdef UNICODE 1081 -alias GetStringTypeExW GetStringTypeEx; 1082 -// #else 1083 -// #... 1084 -// #endif // !UNICODE 1085 - 1086 -extern(Windows) export BOOL GetStringTypeA( 1087 - LCID Locale, 1088 - DWORD dwInfoType, 1089 - LPCSTR lpSrcStr, 1090 - int cchSrc, 1091 - LPWORD lpCharType); 1092 - 1093 -extern(Windows) export BOOL GetStringTypeW( 1094 - DWORD dwInfoType, 1095 - LPCWSTR lpSrcStr, 1096 - int cchSrc, 1097 - LPWORD lpCharType); 1098 - 1099 -extern(Windows) export int FoldStringA( 1100 - DWORD dwMapFlags, 1101 - LPCSTR lpSrcStr, 1102 - int cchSrc, 1103 - LPSTR lpDestStr, 1104 - int cchDest); 1105 -extern(Windows) export int FoldStringW( 1106 - DWORD dwMapFlags, 1107 - LPCWSTR lpSrcStr, 1108 - int cchSrc, 1109 - LPWSTR lpDestStr, 1110 - int cchDest); 1111 -// #ifdef UNICODE 1112 -alias FoldStringW FoldString; 1113 -// #else 1114 -// #... 1115 -// #endif // !UNICODE 1116 - 1117 -// #if(WINVER >= 0x0500) 1118 -extern(Windows) export BOOL EnumSystemLanguageGroupsA( 1119 - LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc, 1120 - DWORD dwFlags, 1121 - LONG_PTR lParam); 1122 -extern(Windows) export BOOL EnumSystemLanguageGroupsW( 1123 - LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc, 1124 - DWORD dwFlags, 1125 - LONG_PTR lParam); 1126 -// #ifdef UNICODE 1127 -alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups; 1128 -// #else 1129 -// #... 1130 -// #endif // !UNICODE 1131 - 1132 -extern(Windows) export BOOL EnumLanguageGroupLocalesA( 1133 - LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc, 1134 - LGRPID LanguageGroup, 1135 - DWORD dwFlags, 1136 - LONG_PTR lParam); 1137 -extern(Windows) export BOOL EnumLanguageGroupLocalesW( 1138 - LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc, 1139 - LGRPID LanguageGroup, 1140 - DWORD dwFlags, 1141 - LONG_PTR lParam); 1142 -// #ifdef UNICODE 1143 -alias EnumLanguageGroupLocalesW EnumLanguageGroupLocales; 1144 -// #else 1145 -// #... 1146 -// #endif // !UNICODE 1147 - 1148 -extern(Windows) export BOOL EnumUILanguagesA( 1149 - UILANGUAGE_ENUMPROCA lpUILanguageEnumProc, 1150 - DWORD dwFlags, 1151 - LONG_PTR lParam); 1152 -extern(Windows) export BOOL EnumUILanguagesW( 1153 - UILANGUAGE_ENUMPROCW lpUILanguageEnumProc, 1154 - DWORD dwFlags, 1155 - LONG_PTR lParam); 1156 -// #ifdef UNICODE 1157 -alias EnumUILanguagesW EnumUILanguages; 1158 -// #else 1159 -// #... 1160 -// #endif // !UNICODE 1161 -// #endif /* WINVER >= 0x0500 */ 1162 - 1163 -extern(Windows) export BOOL EnumSystemLocalesA( 1164 - LOCALE_ENUMPROCA lpLocaleEnumProc, 1165 - DWORD dwFlags); 1166 -extern(Windows) export BOOL EnumSystemLocalesW( 1167 - LOCALE_ENUMPROCW lpLocaleEnumProc, 1168 - DWORD dwFlags); 1169 -// #ifdef UNICODE 1170 -alias EnumSystemLocalesW EnumSystemLocales; 1171 -// #else 1172 -// #... 1173 -// #endif // !UNICODE 1174 - 1175 -extern(Windows) export BOOL EnumSystemCodePagesA( 1176 - CODEPAGE_ENUMPROCA lpCodePageEnumProc, 1177 - DWORD dwFlags); 1178 -extern(Windows) export BOOL EnumSystemCodePagesW( 1179 - CODEPAGE_ENUMPROCW lpCodePageEnumProc, 1180 - DWORD dwFlags); 1181 -// #ifdef UNICODE 1182 -alias EnumSystemCodePagesW EnumSystemCodePages; 1183 -// #else 1184 -// #... 1185 -// #endif // !UNICODE 1186 - 1187 -// #endif // NONLS 1188 - 1189 -// #ifdef __cplusplus 1190 -// } 1191 -// #endif 1192 - 1193 -// #endif // _WINNLS_ 806 + static if (_WIN32_WINNT_ONLY && WINVER >= 0x500) { 807 + alias EnumSystemLanguageGroupsA EnumSystemLanguageGroups; 808 + alias EnumLanguageGroupLocalesA EnumLanguageGroupLocales; 809 + alias EnumUILanguagesA EnumUILanguages; 810 + } 811 +}

Modified src/win32/winnt.d from [5400bf8ccf4a147f] to [217222ad3190ccc6].

1 +/***********************************************************************\ 2 +* winnt.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW API for MS-Windows 3.12 * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.winnt; 2 11 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.windef; 7 -alias void _TEB; 8 -alias void _EXCEPTION_REGISTRATION_RECORD; 9 -private extern(C) { 10 - int memcmp(void*, void*, uint); 11 - void* memmove(void*, void*, uint); 12 - void* memcpy(void*, void*, uint); 13 - void* memset(void*, uint, uint); 14 -} 15 - 16 -// #ifndef _WINNT_ 17 -// #define _WINNT_ 18 - 19 -// #ifdef __cplusplus 20 -// extern "C" { 21 -// #endif 22 - 23 -// #include <ctype.h> 24 -enum : uint { ANYSIZE_ARRAY = 1 } 25 - 26 -// #if defined(_M_MRX000) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) && defined(ENABLE_RESTRICTED) 27 -// #... 28 -// #else 29 -// #define RESTRICTED_POINTER 30 -// #endif 31 - 32 -// #if defined(_M_MRX000) || defined(_M_ALPHA) || defined(_M_PPC) || defined(_M_IA64) || defined(_M_AMD64) 33 -// #... 34 -// #if defined(_WIN64) 35 -// #... 36 -// #else 37 -// #... 38 -// #endif 39 -// #else 40 -// #define UNALIGNED 41 -// #define UNALIGNED64 42 -// #endif 43 - 44 -// #if defined(_WIN64) || defined(_M_ALPHA) 45 -// #... 46 -// #... 47 -// #else 48 -const uint MAX_NATURAL_ALIGNMENT = DWORD.sizeof; 49 -enum : uint { MEMORY_ALLOCATION_ALIGNMENT = 8 } 50 -// #endif 51 - 52 -// #ifdef __cplusplus 53 -// #if _MSC_VER >= 1300 54 -// #define TYPE_ALIGNMENT( t ) __alignof(t) 55 -// #endif 56 -// #else 57 -// #... 58 -// ... 59 -// #endif 60 - 61 -// #if defined(_WIN64) 62 - 63 -// #... 64 -// ... 65 - 66 -// #... 67 - 68 -// #else 69 - 70 -// #define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD ) 71 - 72 -// #endif 73 - 74 -// #define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1] 75 - 76 -// #if !defined(_MAC) && (defined(_M_MRX000) || defined(_M_AMD64) || defined(_M_IA64)) && (_MSC_VER >= 1100) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) 77 -// #... 78 -// ... 79 -// #if defined(_WIN64) 80 -// #... 81 -// #else 82 -// #... 83 -// #endif 84 -// #else 85 -// #if defined(_MAC) && defined(_MAC_INT_64) 86 -// #... 87 -// ... 88 -// #else 89 -// #define POINTER_64 90 -alias uint POINTER_64_INT; 91 -// #endif 92 -alias void* POINTER_32; 93 -// #endif 94 - 95 -// #if defined(_IA64_) || defined(_AMD64_) 96 -// #... 97 -// #else 98 -alias POINTER_32 FIRMWARE_PTR; 99 -// #endif 100 - 101 -// #include <basetsd.h> 102 - 103 -// #if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64)) && !defined(MIDL_PASS) 104 -// #define DECLSPEC_IMPORT __declspec(dllimport) 105 -// #else 106 -// #... 107 -// #endif 108 - 109 -// #ifndef DECLSPEC_NORETURN 110 -// #if (_MSC_VER >= 1200) && !defined(MIDL_PASS) 111 -// #define DECLSPEC_NORETURN __declspec(noreturn) 112 -// #else 113 -// #... 114 -// #endif 115 -// #endif 116 - 117 -// #ifndef DECLSPEC_ALIGN 118 -// #if (_MSC_VER >= 1300) && !defined(MIDL_PASS) 119 -// #define DECLSPEC_ALIGN(x) __declspec(align(x)) 120 -// #else 121 -// #... 122 -// #endif 123 -// #endif 124 - 125 -// #ifndef DECLSPEC_CACHEALIGN 126 -// #define DECLSPEC_CACHEALIGN DECLSPEC_ALIGN(128) 127 -// #endif 128 - 129 -// #ifndef DECLSPEC_UUID 130 -// #if (_MSC_VER >= 1100) && defined (__cplusplus) 131 -// #define DECLSPEC_UUID(x) __declspec(uuid(x)) 132 -// #else 133 -// #... 134 -// #endif 135 -// #endif 136 - 137 -// #ifndef DECLSPEC_NOVTABLE 138 -// #if (_MSC_VER >= 1100) && defined(__cplusplus) 139 -// #define DECLSPEC_NOVTABLE __declspec(novtable) 140 -// #else 141 -// #... 142 -// #endif 143 -// #endif 144 - 145 -// #ifndef DECLSPEC_SELECTANY 146 -// #if (_MSC_VER >= 1100) 147 -// #define DECLSPEC_SELECTANY __declspec(selectany) 148 -// #else 149 -// #... 150 -// #endif 151 -// #endif 152 - 153 -// #ifndef NOP_FUNCTION 154 -// #if (_MSC_VER >= 1210) 155 -// #... 156 -// #else 157 -// #... 158 -// #endif 159 -// #endif 160 - 161 -// #ifndef DECLSPEC_ADDRSAFE 162 -// #if (_MSC_VER >= 1200) && (defined(_M_ALPHA) || defined(_M_AXP64)) 163 -// #... 164 -// #else 165 -// #define DECLSPEC_ADDRSAFE 166 -// #endif 167 -// #endif 168 - 169 -// #ifndef FORCEINLINE 170 -// #if (_MSC_VER >= 1200) 171 -// #define FORCEINLINE __forceinline 172 -// #else 173 -// #... 174 -// #endif 175 -// #endif 176 - 177 -// #ifndef DECLSPEC_DEPRECATED 178 -// #if (_MSC_VER >= 1300) && !defined(MIDL_PASS) 179 -// #define DECLSPEC_DEPRECATED __declspec(deprecated) 180 -// #define DEPRECATE_SUPPORTED 181 -// #else 182 -// #... 183 -// #... 184 -// #endif 185 -// #endif 186 - 187 -alias void* PVOID; 188 -deprecated alias void* PVOID64; /* warning: 64-bit */ 189 - 190 -// #if ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)) && !defined(_M_AMD64) 191 -// #define NTAPI __stdcall 192 -// #else 193 -// #... 194 -// #... 195 -// #endif 196 - 197 -// #if !defined(_NTSYSTEM_) 198 -// #define NTSYSAPI DECLSPEC_IMPORT 199 -// #define NTSYSCALLAPI DECLSPEC_IMPORT 200 -// #else 201 -// #... 202 -// #if defined(_NTDLLBUILD_) 203 -// #... 204 -// #else 205 -// #... 206 -// #endif 207 - 208 -// #endif 209 - 210 -// #ifndef VOID 211 -alias void VOID; 212 -alias char CHAR; 213 -alias short SHORT; 214 -alias int LONG; 215 -// #endif 216 - 217 -// #ifndef _MAC 218 -alias wchar WCHAR; 219 -// #else 220 - 221 -// ... 222 -// #endif 223 - 224 -alias WCHAR* PWCHAR; 225 -alias WCHAR* LPWCH; 226 -alias WCHAR* PWCH; 227 -alias WCHAR* LPCWCH; 228 -alias WCHAR* PCWCH; 229 -alias WCHAR* NWPSTR; 230 -alias WCHAR* LPWSTR; 231 -alias WCHAR* PWSTR; 232 -alias WCHAR* LPUWSTR; 233 -alias WCHAR* PUWSTR; 234 - 235 -alias WCHAR* LPCWSTR; 236 -alias WCHAR* PCWSTR; 237 -alias WCHAR* LPCUWSTR; 238 -alias WCHAR* PCUWSTR; 239 - 240 -alias CHAR* PCHAR; 241 -alias CHAR* LPCH; 242 -alias CHAR* PCH; 243 - 244 -alias CHAR* LPCCH; 245 -alias CHAR* PCCH; 246 -alias CHAR* NPSTR; 247 -alias CHAR* LPSTR; 248 -alias CHAR* PSTR; 249 -alias CHAR* LPCSTR; 250 -alias CHAR* PCSTR; 251 - 252 -// #ifdef UNICODE // r_winnt 253 - 254 -// #ifndef _TCHAR_DEFINED 255 -alias WCHAR TCHAR; 256 -alias WCHAR* PTCHAR; 257 -alias WCHAR TBYTE; 258 -alias WCHAR* PTBYTE; 259 -// #define _TCHAR_DEFINED 260 -// #endif /* !_TCHAR_DEFINED */ 261 - 262 -alias LPWSTR LPTCH; 263 -alias LPWSTR PTCH; 264 -alias LPWSTR PTSTR; 265 -alias LPWSTR LPTSTR; 266 -alias LPCWSTR PCTSTR; 267 -alias LPCWSTR LPCTSTR; 268 -alias LPUWSTR PUTSTR; 269 -alias LPUWSTR LPUTSTR; 270 -alias LPCUWSTR PCUTSTR; 271 -alias LPCUWSTR LPCUTSTR; 272 -alias LPWSTR LP; 273 -// #define __TEXT(quote) L##quote 274 - 275 -// #else /* UNICODE */ // r_winnt 276 - 277 -// #ifndef _TCHAR_DEFINED 278 -// ... 279 -// #... 280 -// #endif /* !_TCHAR_DEFINED */ 281 - 282 -// ... 283 -// #... 284 - 285 -// #endif /* UNICODE */ // r_winnt 286 -TCHAR[] TEXT(TCHAR[] quote){ return quote; } 287 - 288 -alias SHORT* PSHORT; 289 -alias LONG* PLONG; 290 - 291 -// #ifdef STRICT 292 -alias void* HANDLE; 293 -// #define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name 294 -// #else 295 -// ... 296 -// #... 297 -// #endif 298 -alias HANDLE* PHANDLE; 299 - 300 -alias BYTE FCHAR; 301 -alias WORD FSHORT; 302 -alias DWORD FLONG; 303 - 304 -// #ifndef _HRESULT_DEFINED 305 -// #define _HRESULT_DEFINED 306 -alias LONG HRESULT; 307 - 308 -// #endif // !_HRESULT_DEFINED 309 - 310 -// #ifdef __cplusplus 311 -// #define EXTERN_C extern "C" 312 -// #else 313 -// #... 314 -// #endif 315 - 316 -// #if defined(_WIN32) || defined(_MPPC_) 317 - 318 -// #ifdef _68K_ 319 -// #... 320 -// #else 321 -// #define STDMETHODCALLTYPE __stdcall 322 -// #endif 323 -// #define STDMETHODVCALLTYPE __cdecl 324 - 325 -// #define STDAPICALLTYPE __stdcall 326 -// #define STDAPIVCALLTYPE __cdecl 327 - 328 -// #else 329 - 330 -// #... 331 -// #... 332 - 333 -// #... 334 -// #... 335 - 336 -// #endif 337 - 338 -// #define STDAPI EXTERN_C HRESULT STDAPICALLTYPE 339 -// #define STDAPI_(type) EXTERN_C type STDAPICALLTYPE 340 - 341 -// #define STDMETHODIMP HRESULT STDMETHODCALLTYPE 342 -// #define STDMETHODIMP_(type) type STDMETHODCALLTYPE 343 - 344 -// #define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE 345 -// #define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE 346 - 347 -// #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE 348 -// #define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE 349 - 350 -alias char CCHAR; 351 -alias DWORD LCID; 352 -alias PDWORD PLCID; 353 -alias WORD LANGID; 354 -enum : uint { APPLICATION_ERROR_MASK = 0x20000000 } 355 -enum : uint { ERROR_SEVERITY_SUCCESS = 0x00000000 } 356 -enum : uint { ERROR_SEVERITY_INFORMATIONAL = 0x40000000 } 357 -enum : uint { ERROR_SEVERITY_WARNING = 0x80000000 } 358 -enum : uint { ERROR_SEVERITY_ERROR = 0xC0000000 } 359 - 360 -// #if defined(_M_IA64) && !defined(MIDL_PASS) 361 -// ... 362 -// #endif 363 -struct _FLOAT128 { 364 - __int64 LowPart; 365 - __int64 HighPart; 366 -} 367 -alias _FLOAT128 FLOAT128; 368 - 369 -alias FLOAT128* PFLOAT128; 370 - 371 -// #define _ULONGLONG_ 372 -// #if (!defined (_MAC) && (!defined(MIDL_PASS) || defined(__midl)) && (!defined(_M_IX86) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64))) 373 -// ... 374 - 375 -// #... 376 -// #else 377 - 378 -// #if defined(_MAC) && defined(_MAC_INT_64) 379 -// ... 380 - 381 -// #... 382 -// #else 383 -alias double LONGLONG; 384 -alias double ULONGLONG; 385 -// #endif //_MAC and int64 386 - 387 -// #endif 388 - 389 -alias LONGLONG* PLONGLONG; 390 -alias ULONGLONG* PULONGLONG; 391 - 392 -alias LONGLONG USN; 393 - 394 -// #if defined(MIDL_PASS) 395 -// ... 396 -// #else // MIDL_PASS 397 -union _LARGE_INTEGER { 398 -struct _0 { 399 - DWORD LowPart; 400 - LONG HighPart; 401 -} 402 -_0 _; 403 - 404 -struct _1 { 405 - DWORD LowPart; 406 - LONG HighPart; 407 -} 408 -_1 u; 409 - 410 -// #endif //MIDL_PASS 411 - LONGLONG QuadPart; 412 -} 413 -alias _LARGE_INTEGER LARGE_INTEGER; 414 - 415 -alias LARGE_INTEGER* PLARGE_INTEGER; 416 - 417 -// #if defined(MIDL_PASS) 418 -// ... 419 -// #else // MIDL_PASS 420 -union _ULARGE_INTEGER { 421 -struct _2 { 422 - DWORD LowPart; 423 - DWORD HighPart; 424 -} 425 -_2 _; 426 - 427 -struct _3 { 428 - DWORD LowPart; 429 - DWORD HighPart; 430 -} 431 -_3 u; 432 - 433 -// #endif //MIDL_PASS 434 - ULONGLONG QuadPart; 435 -} 436 -alias _ULARGE_INTEGER ULARGE_INTEGER; 437 - 438 -alias ULARGE_INTEGER* PULARGE_INTEGER; 439 - 440 -struct _LUID { 441 - DWORD LowPart; 442 - LONG HighPart; 443 -} 444 -alias _LUID LUID; 445 -alias _LUID* PLUID; 446 - 447 -// #define _DWORDLONG_ 448 -alias ULONGLONG DWORDLONG; 449 -alias DWORDLONG* PDWORDLONG; 450 - 451 -// #if defined(MIDL_PASS) || defined(RC_INVOKED) 452 - 453 -// #... 454 -// #... 455 - 456 -// #... 457 -// #... 458 -// #... 459 - 460 -// #elif defined(_M_MRX000) 461 - 462 -// #... 463 -// #... 464 - 465 -// #... 466 -// #... 467 -// #... 468 - 469 -// #if defined (__cplusplus) 470 -// ... 471 -// #endif 472 - 473 -// ... 474 - 475 -// ... 476 - 477 -// ... 478 - 479 -// ... 480 - 481 -// ... 482 - 483 -// #if defined (__cplusplus) 484 -// ... 485 -// #endif 486 - 487 -// #... 488 -// #... 489 - 490 -// #... 491 -// #... 492 -// #... 493 - 494 -// #elif defined(_M_IX86) 495 - 496 -long Int32x32To64(int a, int b) { return (cast(long)a) * b; } 497 -ulong UInt32x32To64(uint a, uint b) { return (cast(ulong)a) * b; } 498 - 499 -extern(Windows) export ULONGLONG Int64ShllMod32( 500 - ULONGLONG Value, 501 - DWORD ShiftCount); 502 - 503 -extern(Windows) export LONGLONG Int64ShraMod32( 504 - LONGLONG Value, 505 - DWORD ShiftCount); 506 - 507 -extern(Windows) export ULONGLONG Int64ShrlMod32( 508 - ULONGLONG Value, 509 - DWORD ShiftCount); 510 - 511 -// #if _MSC_VER >= 1200 512 -// #pragma warning(push) 513 -// #endif 514 -// #pragma warning(disable:4035) // re-enable below 515 - 516 -// __inline ULONGLONG Int64ShllMod32( ULONGLONG Value, DWORD ShiftCount ); 517 - 518 -// __inline LONGLONG Int64ShraMod32( LONGLONG Value, DWORD ShiftCount ); 519 - 520 -// __inline ULONGLONG Int64ShrlMod32( ULONGLONG Value, DWORD ShiftCount ); 521 - 522 -// #if _MSC_VER >= 1200 523 -// #pragma warning(pop) 524 -// #else 525 -// #... 526 -// #endif 527 - 528 -// #elif defined(_M_ALPHA) 529 - 530 -// #... 531 -// #... 532 - 533 -// #... 534 -// #... 535 -// #... 536 - 537 -// #elif defined(_M_PPC) 538 - 539 -// #... 540 -// #... 541 - 542 -// #... 543 -// #... 544 -// #... 545 - 546 -// #elif defined(_68K_) || defined(_MPPC_) 547 - 548 -// #... 549 -// #... 550 - 551 -// #... 552 -// #... 553 -// #... 554 - 555 -// #elif defined(_M_IA64) || defined(_M_AMD64) 556 - 557 -// #... 558 -// #... 559 - 560 -// #... 561 -// #... 562 -// #... 563 - 564 -// #else 565 - 566 -// #... 567 - 568 -// #endif 569 - 570 -enum : CHAR { ANSI_NULL = 0 } 571 -enum : WCHAR { UNICODE_NULL = 0 } 572 -enum : WORD { UNICODE_STRING_MAX_BYTES = 65534 } 573 -enum : uint { UNICODE_STRING_MAX_CHARS = 32767 } 574 -alias BYTE BOOLEAN; 575 -alias BOOLEAN* PBOOLEAN; 576 - 577 -struct _LIST_ENTRY { 578 - _LIST_ENTRY *Flink; 579 - _LIST_ENTRY *Blink; 580 -} 581 -alias _LIST_ENTRY LIST_ENTRY; 582 -alias _LIST_ENTRY* PLIST_ENTRY; 583 -alias _LIST_ENTRY* RESTRICTED_POINTERPRLIST_ENTRY; 584 - 585 -struct _SINGLE_LIST_ENTRY { 586 - _SINGLE_LIST_ENTRY *Next; 587 -} 588 -alias _SINGLE_LIST_ENTRY SINGLE_LIST_ENTRY; 589 -alias _SINGLE_LIST_ENTRY* PSINGLE_LIST_ENTRY; 590 - 591 -struct LIST_ENTRY32 { 592 - DWORD Flink; 593 - DWORD Blink; 594 -} 595 - 596 -alias LIST_ENTRY32* PLIST_ENTRY32; 597 - 598 -struct LIST_ENTRY64 { 599 - ULONGLONG Flink; 600 - ULONGLONG Blink; 601 -} 602 - 603 -alias LIST_ENTRY64* PLIST_ENTRY64; 604 - 605 -import win32.guiddef; 606 - 607 -// #ifndef __OBJECTID_DEFINED 608 -// #define __OBJECTID_DEFINED 609 - 610 -struct _OBJECTID { 611 - GUID Lineage; 612 - DWORD Uniquifier; 613 -} 614 -alias _OBJECTID OBJECTID; 615 - 616 -// #endif // !_OBJECTID_DEFINED 617 - 618 -enum : uint { MINCHAR = 0x80 } 619 -enum : uint { MAXCHAR = 0x7f } 620 -enum : uint { MINSHORT = 0x8000 } 621 -enum : uint { MAXSHORT = 0x7fff } 622 -enum : uint { MINLONG = 0x80000000 } 623 -enum : uint { MAXLONG = 0x7fffffff } 624 -enum : uint { MAXBYTE = 0xff } 625 -enum : uint { MAXWORD = 0xffff } 626 -enum : uint { MAXDWORD = 0xffffffff } 627 - 628 -// #define FIELD_OFFSET(type, field) ((LONG)(LONG_PTR)&(((type *)0)->field)) 629 - 630 -// #if(_WIN32_WINNT > 0x0500) 631 - 632 -// #define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field)) 633 - 634 -// #define RTL_SIZEOF_THROUGH_FIELD(type, field) (FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field)) 635 - 636 -// #define RTL_CONTAINS_FIELD(Struct, Size, Field) ( (((PCHAR)(&(Struct)->Field)) + sizeof((Struct)->Field)) <= (((PCHAR)(Struct))+(Size)) ) 637 - 638 -// #define RTL_NUMBER_OF(A) (sizeof(A)/sizeof((A)[0])) 639 - 640 -// #define RTL_FIELD_TYPE(type, field) (((type*)0)->field) 641 - 642 -// #define RTL_NUMBER_OF_FIELD(type, field) (RTL_NUMBER_OF(RTL_FIELD_TYPE(type, field))) 643 - 644 -// #define RTL_PADDING_BETWEEN_FIELDS(T, F1, F2) ((FIELD_OFFSET(T, F2) > FIELD_OFFSET(T, F1)) ? (FIELD_OFFSET(T, F2) - FIELD_OFFSET(T, F1) - RTL_FIELD_SIZE(T, F1)) : (FIELD_OFFSET(T, F1) - FIELD_OFFSET(T, F2) - RTL_FIELD_SIZE(T, F2))) 645 - 646 -// #if defined(__cplusplus) 647 -// #define RTL_CONST_CAST(type) const_cast<type> 648 -// #else 649 -// #... 650 -// #endif 651 - 652 -// #define RTL_BITS_OF(sizeOfArg) (sizeof(sizeOfArg) * 8) 653 - 654 -// #define RTL_BITS_OF_FIELD(type, field) (RTL_BITS_OF(RTL_FIELD_TYPE(type, field))) 655 - 656 -// #endif /* _WIN32_WINNT > 0x0500 */ 657 - 658 -// #define CONTAINING_RECORD(address, type, field) ((type *)( (PCHAR)(address) - (ULONG_PTR)(&((type *)0)->field))) 659 - 660 -enum : uint { VER_SERVER_NT = 0x80000000 } 661 -enum : uint { VER_WORKSTATION_NT = 0x40000000 } 662 -enum : uint { VER_SUITE_SMALLBUSINESS = 0x00000001 } 663 -enum : uint { VER_SUITE_ENTERPRISE = 0x00000002 } 664 -enum : uint { VER_SUITE_BACKOFFICE = 0x00000004 } 665 -enum : uint { VER_SUITE_COMMUNICATIONS = 0x00000008 } 666 -enum : uint { VER_SUITE_TERMINAL = 0x00000010 } 667 -enum : uint { VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x00000020 } 668 -enum : uint { VER_SUITE_EMBEDDEDNT = 0x00000040 } 669 -enum : uint { VER_SUITE_DATACENTER = 0x00000080 } 670 -enum : uint { VER_SUITE_SINGLEUSERTS = 0x00000100 } 671 -enum : uint { VER_SUITE_PERSONAL = 0x00000200 } 672 -enum : uint { VER_SUITE_BLADE = 0x00000400 } 673 - 674 -enum : uint { LANG_NEUTRAL = 0x00 } 675 -enum : uint { LANG_INVARIANT = 0x7f } 676 - 677 -enum : uint { LANG_AFRIKAANS = 0x36 } 678 -enum : uint { LANG_ALBANIAN = 0x1c } 679 -enum : uint { LANG_ARABIC = 0x01 } 680 -enum : uint { LANG_ARMENIAN = 0x2b } 681 -enum : uint { LANG_ASSAMESE = 0x4d } 682 -enum : uint { LANG_AZERI = 0x2c } 683 -enum : uint { LANG_BASQUE = 0x2d } 684 -enum : uint { LANG_BELARUSIAN = 0x23 } 685 -enum : uint { LANG_BENGALI = 0x45 } 686 -enum : uint { LANG_BULGARIAN = 0x02 } 687 -enum : uint { LANG_CATALAN = 0x03 } 688 -enum : uint { LANG_CHINESE = 0x04 } 689 -enum : uint { LANG_CROATIAN = 0x1a } 690 -enum : uint { LANG_CZECH = 0x05 } 691 -enum : uint { LANG_DANISH = 0x06 } 692 -enum : uint { LANG_DIVEHI = 0x65 } 693 -enum : uint { LANG_DUTCH = 0x13 } 694 -enum : uint { LANG_ENGLISH = 0x09 } 695 -enum : uint { LANG_ESTONIAN = 0x25 } 696 -enum : uint { LANG_FAEROESE = 0x38 } 697 -enum : uint { LANG_FARSI = 0x29 } 698 -enum : uint { LANG_FINNISH = 0x0b } 699 -enum : uint { LANG_FRENCH = 0x0c } 700 -enum : uint { LANG_GALICIAN = 0x56 } 701 -enum : uint { LANG_GEORGIAN = 0x37 } 702 -enum : uint { LANG_GERMAN = 0x07 } 703 -enum : uint { LANG_GREEK = 0x08 } 704 -enum : uint { LANG_GUJARATI = 0x47 } 705 -enum : uint { LANG_HEBREW = 0x0d } 706 -enum : uint { LANG_HINDI = 0x39 } 707 -enum : uint { LANG_HUNGARIAN = 0x0e } 708 -enum : uint { LANG_ICELANDIC = 0x0f } 709 -enum : uint { LANG_INDONESIAN = 0x21 } 710 -enum : uint { LANG_ITALIAN = 0x10 } 711 -enum : uint { LANG_JAPANESE = 0x11 } 712 -enum : uint { LANG_KANNADA = 0x4b } 713 -enum : uint { LANG_KASHMIRI = 0x60 } 714 -enum : uint { LANG_KAZAK = 0x3f } 715 -enum : uint { LANG_KONKANI = 0x57 } 716 -enum : uint { LANG_KOREAN = 0x12 } 717 -enum : uint { LANG_KYRGYZ = 0x40 } 718 -enum : uint { LANG_LATVIAN = 0x26 } 719 -enum : uint { LANG_LITHUANIAN = 0x27 } 720 -enum : uint { LANG_MACEDONIAN = 0x2f } 721 -enum : uint { LANG_MALAY = 0x3e } 722 -enum : uint { LANG_MALAYALAM = 0x4c } 723 -enum : uint { LANG_MANIPURI = 0x58 } 724 -enum : uint { LANG_MARATHI = 0x4e } 725 -enum : uint { LANG_MONGOLIAN = 0x50 } 726 -enum : uint { LANG_NEPALI = 0x61 } 727 -enum : uint { LANG_NORWEGIAN = 0x14 } 728 -enum : uint { LANG_ORIYA = 0x48 } 729 -enum : uint { LANG_POLISH = 0x15 } 730 -enum : uint { LANG_PORTUGUESE = 0x16 } 731 -enum : uint { LANG_PUNJABI = 0x46 } 732 -enum : uint { LANG_ROMANIAN = 0x18 } 733 -enum : uint { LANG_RUSSIAN = 0x19 } 734 -enum : uint { LANG_SANSKRIT = 0x4f } 735 -enum : uint { LANG_SERBIAN = 0x1a } 736 -enum : uint { LANG_SINDHI = 0x59 } 737 -enum : uint { LANG_SLOVAK = 0x1b } 738 -enum : uint { LANG_SLOVENIAN = 0x24 } 739 -enum : uint { LANG_SPANISH = 0x0a } 740 -enum : uint { LANG_SWAHILI = 0x41 } 741 -enum : uint { LANG_SWEDISH = 0x1d } 742 -enum : uint { LANG_SYRIAC = 0x5a } 743 -enum : uint { LANG_TAMIL = 0x49 } 744 -enum : uint { LANG_TATAR = 0x44 } 745 -enum : uint { LANG_TELUGU = 0x4a } 746 -enum : uint { LANG_THAI = 0x1e } 747 -enum : uint { LANG_TURKISH = 0x1f } 748 -enum : uint { LANG_UKRAINIAN = 0x22 } 749 -enum : uint { LANG_URDU = 0x20 } 750 -enum : uint { LANG_UZBEK = 0x43 } 751 -enum : uint { LANG_VIETNAMESE = 0x2a } 752 - 753 -enum : uint { SUBLANG_NEUTRAL = 0x00 } 754 -enum : uint { SUBLANG_DEFAULT = 0x01 } 755 -enum : uint { SUBLANG_SYS_DEFAULT = 0x02 } 756 - 757 -enum : uint { SUBLANG_ARABIC_SAUDI_ARABIA = 0x01 } 758 -enum : uint { SUBLANG_ARABIC_IRAQ = 0x02 } 759 -enum : uint { SUBLANG_ARABIC_EGYPT = 0x03 } 760 -enum : uint { SUBLANG_ARABIC_LIBYA = 0x04 } 761 -enum : uint { SUBLANG_ARABIC_ALGERIA = 0x05 } 762 -enum : uint { SUBLANG_ARABIC_MOROCCO = 0x06 } 763 -enum : uint { SUBLANG_ARABIC_TUNISIA = 0x07 } 764 -enum : uint { SUBLANG_ARABIC_OMAN = 0x08 } 765 -enum : uint { SUBLANG_ARABIC_YEMEN = 0x09 } 766 -enum : uint { SUBLANG_ARABIC_SYRIA = 0x0a } 767 -enum : uint { SUBLANG_ARABIC_JORDAN = 0x0b } 768 -enum : uint { SUBLANG_ARABIC_LEBANON = 0x0c } 769 -enum : uint { SUBLANG_ARABIC_KUWAIT = 0x0d } 770 -enum : uint { SUBLANG_ARABIC_UAE = 0x0e } 771 -enum : uint { SUBLANG_ARABIC_BAHRAIN = 0x0f } 772 -enum : uint { SUBLANG_ARABIC_QATAR = 0x10 } 773 -enum : uint { SUBLANG_AZERI_LATIN = 0x01 } 774 -enum : uint { SUBLANG_AZERI_CYRILLIC = 0x02 } 775 -enum : uint { SUBLANG_CHINESE_TRADITIONAL = 0x01 } 776 -enum : uint { SUBLANG_CHINESE_SIMPLIFIED = 0x02 } 777 -enum : uint { SUBLANG_CHINESE_HONGKONG = 0x03 } 778 -enum : uint { SUBLANG_CHINESE_SINGAPORE = 0x04 } 779 -enum : uint { SUBLANG_CHINESE_MACAU = 0x05 } 780 -enum : uint { SUBLANG_DUTCH = 0x01 } 781 -enum : uint { SUBLANG_DUTCH_BELGIAN = 0x02 } 782 -enum : uint { SUBLANG_ENGLISH_US = 0x01 } 783 -enum : uint { SUBLANG_ENGLISH_UK = 0x02 } 784 -enum : uint { SUBLANG_ENGLISH_AUS = 0x03 } 785 -enum : uint { SUBLANG_ENGLISH_CAN = 0x04 } 786 -enum : uint { SUBLANG_ENGLISH_NZ = 0x05 } 787 -enum : uint { SUBLANG_ENGLISH_EIRE = 0x06 } 788 -enum : uint { SUBLANG_ENGLISH_SOUTH_AFRICA = 0x07 } 789 -enum : uint { SUBLANG_ENGLISH_JAMAICA = 0x08 } 790 -enum : uint { SUBLANG_ENGLISH_CARIBBEAN = 0x09 } 791 -enum : uint { SUBLANG_ENGLISH_BELIZE = 0x0a } 792 -enum : uint { SUBLANG_ENGLISH_TRINIDAD = 0x0b } 793 -enum : uint { SUBLANG_ENGLISH_ZIMBABWE = 0x0c } 794 -enum : uint { SUBLANG_ENGLISH_PHILIPPINES = 0x0d } 795 -enum : uint { SUBLANG_FRENCH = 0x01 } 796 -enum : uint { SUBLANG_FRENCH_BELGIAN = 0x02 } 797 -enum : uint { SUBLANG_FRENCH_CANADIAN = 0x03 } 798 -enum : uint { SUBLANG_FRENCH_SWISS = 0x04 } 799 -enum : uint { SUBLANG_FRENCH_LUXEMBOURG = 0x05 } 800 -enum : uint { SUBLANG_FRENCH_MONACO = 0x06 } 801 -enum : uint { SUBLANG_GERMAN = 0x01 } 802 -enum : uint { SUBLANG_GERMAN_SWISS = 0x02 } 803 -enum : uint { SUBLANG_GERMAN_AUSTRIAN = 0x03 } 804 -enum : uint { SUBLANG_GERMAN_LUXEMBOURG = 0x04 } 805 -enum : uint { SUBLANG_GERMAN_LIECHTENSTEIN = 0x05 } 806 -enum : uint { SUBLANG_ITALIAN = 0x01 } 807 -enum : uint { SUBLANG_ITALIAN_SWISS = 0x02 } 808 -// #if _WIN32_WINNT >= 0x0501 809 -enum : uint { SUBLANG_KASHMIRI_SASIA = 0x02 } 810 -// #endif 811 -enum : uint { SUBLANG_KASHMIRI_INDIA = 0x02 } 812 -enum : uint { SUBLANG_KOREAN = 0x01 } 813 -enum : uint { SUBLANG_LITHUANIAN = 0x01 } 814 -enum : uint { SUBLANG_MALAY_MALAYSIA = 0x01 } 815 -enum : uint { SUBLANG_MALAY_BRUNEI_DARUSSALAM = 0x02 } 816 -enum : uint { SUBLANG_NEPALI_INDIA = 0x02 } 817 -enum : uint { SUBLANG_NORWEGIAN_BOKMAL = 0x01 } 818 -enum : uint { SUBLANG_NORWEGIAN_NYNORSK = 0x02 } 819 -enum : uint { SUBLANG_PORTUGUESE = 0x02 } 820 -enum : uint { SUBLANG_PORTUGUESE_BRAZILIAN = 0x01 } 821 -enum : uint { SUBLANG_SERBIAN_LATIN = 0x02 } 822 -enum : uint { SUBLANG_SERBIAN_CYRILLIC = 0x03 } 823 -enum : uint { SUBLANG_SPANISH = 0x01 } 824 -enum : uint { SUBLANG_SPANISH_MEXICAN = 0x02 } 825 -enum : uint { SUBLANG_SPANISH_MODERN = 0x03 } 826 -enum : uint { SUBLANG_SPANISH_GUATEMALA = 0x04 } 827 -enum : uint { SUBLANG_SPANISH_COSTA_RICA = 0x05 } 828 -enum : uint { SUBLANG_SPANISH_PANAMA = 0x06 } 829 -enum : uint { SUBLANG_SPANISH_DOMINICAN_REPUBLIC = 0x07 } 830 -enum : uint { SUBLANG_SPANISH_VENEZUELA = 0x08 } 831 -enum : uint { SUBLANG_SPANISH_COLOMBIA = 0x09 } 832 -enum : uint { SUBLANG_SPANISH_PERU = 0x0a } 833 -enum : uint { SUBLANG_SPANISH_ARGENTINA = 0x0b } 834 -enum : uint { SUBLANG_SPANISH_ECUADOR = 0x0c } 835 -enum : uint { SUBLANG_SPANISH_CHILE = 0x0d } 836 -enum : uint { SUBLANG_SPANISH_URUGUAY = 0x0e } 837 -enum : uint { SUBLANG_SPANISH_PARAGUAY = 0x0f } 838 -enum : uint { SUBLANG_SPANISH_BOLIVIA = 0x10 } 839 -enum : uint { SUBLANG_SPANISH_EL_SALVADOR = 0x11 } 840 -enum : uint { SUBLANG_SPANISH_HONDURAS = 0x12 } 841 -enum : uint { SUBLANG_SPANISH_NICARAGUA = 0x13 } 842 -enum : uint { SUBLANG_SPANISH_PUERTO_RICO = 0x14 } 843 -enum : uint { SUBLANG_SWEDISH = 0x01 } 844 -enum : uint { SUBLANG_SWEDISH_FINLAND = 0x02 } 845 -enum : uint { SUBLANG_URDU_PAKISTAN = 0x01 } 846 -enum : uint { SUBLANG_URDU_INDIA = 0x02 } 847 -enum : uint { SUBLANG_UZBEK_LATIN = 0x01 } 848 -enum : uint { SUBLANG_UZBEK_CYRILLIC = 0x02 } 849 - 850 -enum : uint { SORT_DEFAULT = 0x0 } 851 - 852 -enum : uint { SORT_JAPANESE_XJIS = 0x0 } 853 -enum : uint { SORT_JAPANESE_UNICODE = 0x1 } 854 - 855 -enum : uint { SORT_CHINESE_BIG5 = 0x0 } 856 -enum : uint { SORT_CHINESE_PRCP = 0x0 } 857 -enum : uint { SORT_CHINESE_UNICODE = 0x1 } 858 -enum : uint { SORT_CHINESE_PRC = 0x2 } 859 -enum : uint { SORT_CHINESE_BOPOMOFO = 0x3 } 860 - 861 -enum : uint { SORT_KOREAN_KSC = 0x0 } 862 -enum : uint { SORT_KOREAN_UNICODE = 0x1 } 863 - 864 -enum : uint { SORT_GERMAN_PHONE_BOOK = 0x1 } 865 - 866 -enum : uint { SORT_HUNGARIAN_DEFAULT = 0x0 } 867 -enum : uint { SORT_HUNGARIAN_TECHNICAL = 0x1 } 868 - 869 -enum : uint { SORT_GEORGIAN_TRADITIONAL = 0x0 } 870 -enum : uint { SORT_GEORGIAN_MODERN = 0x1 } 871 - 872 -WORD MAKELANGID(USHORT p, USHORT s) { return (((cast(WORD)(s)) << 10) | cast(WORD)(p)); } 873 -WORD PRIMARYLANGID(WORD lgid) { return lgid & 0x3ff; } 874 -WORD SUBLANGID(WORD lgid) { return lgid >>> 10; } 875 - 876 -enum : uint { NLS_VALID_LOCALE_MASK = 0x000fffff } 877 - 878 -DWORD MAKELCID(WORD lgid, WORD srtid) { return ((cast(DWORD)srtid) << 16) | (cast(DWORD)lgid); } 879 -DWORD MAKESORTLCID(WORD lgid, WORD srtid, WORD ver) { return (MAKELCID(lgid, srtid)) | ((cast(DWORD)ver) << 20); } 880 -WORD LANGIDFROMLCID(LCID lcid) { return lcid; } 881 -WORD SORTIDFROMLCID(LCID lcid) { return (cast(DWORD)lcid >>> 16) & 0xf; } 882 -WORD SORTVERSIONFROMLCID(LCID lcid) { return (cast(DWORD)lcid >>> 20) & 0xf; } 883 - 884 -enum : uint { LANG_SYSTEM_DEFAULT = (SUBLANG_SYS_DEFAULT << 10) | LANG_NEUTRAL } 885 -enum : uint { LANG_USER_DEFAULT = (SUBLANG_DEFAULT << 10) | LANG_NEUTRAL } 886 - 887 -enum : uint { LOCALE_SYSTEM_DEFAULT = (SORT_DEFAULT << 16) | LANG_SYSTEM_DEFAULT } 888 -enum : uint { LOCALE_USER_DEFAULT = (SORT_DEFAULT << 16) | LANG_USER_DEFAULT } 889 - 890 -enum : uint { LOCALE_NEUTRAL = (SORT_DEFAULT << 16) | (SUBLANG_NEUTRAL << 10) | LANG_NEUTRAL } 891 - 892 -enum : uint { LOCALE_INVARIANT = (SORT_DEFAULT << 16) | (SUBLANG_NEUTRAL << 10) | LANG_INVARIANT } 893 - 894 -// #if ! defined(lint) 895 -// #... 896 -// #... 897 -// #... 898 - 899 -// #else // lint 900 - 901 -// #define UNREFERENCED_PARAMETER(P) { (P) = (P); } 902 -// #define DBG_UNREFERENCED_PARAMETER(P) { (P) = (P); } 903 -// #define DBG_UNREFERENCED_LOCAL_VARIABLE(V) { (V) = (V); } 904 - 905 -// #endif // lint 906 - 907 -// #if (_MSC_VER > 1200) 908 -// #define DEFAULT_UNREACHABLE default: __assume(0) 909 -// #else 910 - 911 -// #... 912 - 913 -// #endif 914 - 915 -// #ifndef WIN32_NO_STATUS 916 - 917 -enum : DWORD { STATUS_WAIT_0 = 0x00000000 } 918 -enum : DWORD { STATUS_ABANDONED_WAIT_0 = 0x00000080 } 919 -enum : DWORD { STATUS_USER_APC = 0x000000C0 } 920 -enum : DWORD { STATUS_TIMEOUT = 0x00000102 } 921 -enum : DWORD { STATUS_PENDING = 0x00000103 } 922 -enum : DWORD { DBG_EXCEPTION_HANDLED = 0x00010001 } 923 -enum : DWORD { DBG_CONTINUE = 0x00010002 } 924 -enum : DWORD { STATUS_SEGMENT_NOTIFICATION = 0x40000005 } 925 -enum : DWORD { DBG_TERMINATE_THREAD = 0x40010003 } 926 -enum : DWORD { DBG_TERMINATE_PROCESS = 0x40010004 } 927 -enum : DWORD { DBG_CONTROL_C = 0x40010005 } 928 -enum : DWORD { DBG_CONTROL_BREAK = 0x40010008 } 929 -enum : DWORD { STATUS_GUARD_PAGE_VIOLATION = 0x80000001 } 930 -enum : DWORD { STATUS_DATATYPE_MISALIGNMENT = 0x80000002 } 931 -enum : DWORD { STATUS_BREAKPOINT = 0x80000003 } 932 -enum : DWORD { STATUS_SINGLE_STEP = 0x80000004 } 933 -enum : DWORD { DBG_EXCEPTION_NOT_HANDLED = 0x80010001 } 934 -enum : DWORD { STATUS_ACCESS_VIOLATION = 0xC0000005 } 935 -enum : DWORD { STATUS_IN_PAGE_ERROR = 0xC0000006 } 936 -enum : DWORD { STATUS_INVALID_HANDLE = 0xC0000008 } 937 -enum : DWORD { STATUS_NO_MEMORY = 0xC0000017 } 938 -enum : DWORD { STATUS_ILLEGAL_INSTRUCTION = 0xC000001D } 939 -enum : DWORD { STATUS_NONCONTINUABLE_EXCEPTION = 0xC0000025 } 940 -enum : DWORD { STATUS_INVALID_DISPOSITION = 0xC0000026 } 941 -enum : DWORD { STATUS_ARRAY_BOUNDS_EXCEEDED = 0xC000008C } 942 -enum : DWORD { STATUS_FLOAT_DENORMAL_OPERAND = 0xC000008D } 943 -enum : DWORD { STATUS_FLOAT_DIVIDE_BY_ZERO = 0xC000008E } 944 -enum : DWORD { STATUS_FLOAT_INEXACT_RESULT = 0xC000008F } 945 -enum : DWORD { STATUS_FLOAT_INVALID_OPERATION = 0xC0000090 } 946 -enum : DWORD { STATUS_FLOAT_OVERFLOW = 0xC0000091 } 947 -enum : DWORD { STATUS_FLOAT_STACK_CHECK = 0xC0000092 } 948 -enum : DWORD { STATUS_FLOAT_UNDERFLOW = 0xC0000093 } 949 -enum : DWORD { STATUS_INTEGER_DIVIDE_BY_ZERO = 0xC0000094 } 950 -enum : DWORD { STATUS_INTEGER_OVERFLOW = 0xC0000095 } 951 -enum : DWORD { STATUS_PRIVILEGED_INSTRUCTION = 0xC0000096 } 952 -enum : DWORD { STATUS_STACK_OVERFLOW = 0xC00000FD } 953 -enum : DWORD { STATUS_CONTROL_C_EXIT = 0xC000013A } 954 -enum : DWORD { STATUS_FLOAT_MULTIPLE_FAULTS = 0xC00002B4 } 955 -enum : DWORD { STATUS_FLOAT_MULTIPLE_TRAPS = 0xC00002B5 } 956 -enum : DWORD { STATUS_REG_NAT_CONSUMPTION = 0xC00002C9 } 957 -// #if defined(STATUS_SUCCESS) || (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) 958 -enum : DWORD { STATUS_SXS_EARLY_DEACTIVATION = 0xC015000F } 959 -enum : DWORD { STATUS_SXS_INVALID_DEACTIVATION = 0xC0150010 } 960 -// #endif 961 - 962 -// #endif 963 -enum : uint { MAXIMUM_WAIT_OBJECTS = 64 } 964 - 965 -alias MAXCHAR MAXIMUM_SUSPEND_COUNT; 966 - 967 -alias ULONG_PTR KSPIN_LOCK; 968 -alias KSPIN_LOCK* PKSPIN_LOCK; 969 - 970 -// #if defined(_AMD64_) 971 - 972 -// #if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS) 973 - 974 -// #... 975 - 976 -// ... 977 - 978 -// #... 979 - 980 -// #... 981 - 982 -// ... 983 - 984 -// #... 985 - 986 -// ... 987 - 988 -// ... 989 - 990 -// ... 991 - 992 -// ... 993 - 994 -// #... 995 -// #... 996 -// #... 997 -// #... 998 - 999 -// #... 1000 -// #... 1001 - 1002 -// ... 1003 - 1004 -// ... 1005 - 1006 -// #... 1007 -// #... 1008 - 1009 -// ... 1010 - 1011 -// ... 1012 - 1013 -// ... 1014 - 1015 -// ... 1016 - 1017 -// ... 1018 - 1019 -// ... 1020 - 1021 -// ... 1022 - 1023 -// ... 1024 - 1025 -// #... 1026 -// #... 1027 -// #... 1028 -// #... 1029 -// #... 1030 -// #... 1031 -// #... 1032 -// #... 1033 - 1034 -// #endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS) 1035 - 1036 -// #if !defined(RC_INVOKED) 1037 - 1038 -// #... 1039 - 1040 -// #... 1041 -// #... 1042 -// #... 1043 -// #... 1044 -// #... 1045 - 1046 -// #... 1047 - 1048 -// #endif // !defined(RC_INVOKED) 1049 - 1050 -// ... 1051 - 1052 -// ... 1053 - 1054 -// #... 1055 - 1056 -// ... 1057 - 1058 -// ... 1059 - 1060 -// ... 1061 - 1062 -// ... 1063 - 1064 -// ... 1065 - 1066 -// ... 1067 - 1068 -// ... 1069 - 1070 -// ... 1071 - 1072 -// ... 1073 - 1074 -// #endif // _AMD64_ 1075 - 1076 -// #ifdef _ALPHA_ // winnt 1077 -// ... 1078 -// #if defined(_M_ALPHA) // winnt 1079 -// #... 1080 -// #endif // winnt 1081 -// #endif // winnt 1082 - 1083 -// #if defined(_M_ALPHA) 1084 -// #... 1085 -// #else 1086 -extern(Windows) export _TEB NtCurrentTeb(); 1087 -// #endif 1088 - 1089 -// #ifdef _ALPHA_ 1090 - 1091 -// #... 1092 -// #... 1093 - 1094 -// #if !defined(RC_INVOKED) 1095 - 1096 -// #... 1097 - 1098 -// #... 1099 -// #... 1100 -// #... 1101 - 1102 -// #... 1103 - 1104 -// #endif 1105 - 1106 -// #ifndef _PORTABLE_32BIT_CONTEXT 1107 - 1108 -// ... 1109 - 1110 -// ... 1111 - 1112 -// ... 1113 - 1114 -// ... 1115 - 1116 -// ... 1117 - 1118 -// ... 1119 - 1120 -// ... 1121 - 1122 -// #else 1123 - 1124 -// #... 1125 - 1126 -// #endif // _PORTABLE_32BIT_CONTEXT 1127 - 1128 -// #endif // _ALPHA_ 1129 - 1130 -// #ifdef _ALPHA_ 1131 - 1132 -// ... 1133 - 1134 -// #endif // _ALPHA_ 1135 - 1136 -// #ifdef _X86_ 1137 - 1138 -// #if !defined(MIDL_PASS) 1139 -// #if !defined(RC_INVOKED) 1140 - 1141 -// #if _MSC_VER >= 1200 1142 -// #pragma warning(push) 1143 -// #endif 1144 -// #pragma warning(disable:4164) // disable C4164 warning so that apps that 1145 - 1146 -// #ifdef _M_IX86 1147 -// #pragma function(_enable) 1148 -// #pragma function(_disable) 1149 -// #endif 1150 - 1151 -// #if _MSC_VER >= 1200 1152 -// #pragma warning(pop) 1153 -// #else 1154 -// #... 1155 -// #endif 1156 - 1157 -// #endif 1158 -// #endif 1159 - 1160 -// #if !defined(MIDL_PASS) && defined(_M_IX86) 1161 -// #if _MSC_VER >= 1200 1162 -// #pragma warning(push) 1163 -// #endif 1164 -// #pragma warning (disable:4035) // disable 4035 (function must return something) 1165 -PVOID GetFiberData() { asm { mov EAX, FS:[0x10]; mov EAX, [EAX]; } } 1166 -PVOID GetCurrentFiber() { asm { mov EAX, FS:[0x10]; } } 1167 - 1168 -// #if _MSC_VER >= 1200 1169 -// #pragma warning(pop) 1170 -// #else 1171 -// #... 1172 -// #endif 1173 -// #endif 1174 - 1175 -enum : uint { SIZE_OF_80387_REGISTERS = 80 } 1176 - 1177 -// #if !defined(RC_INVOKED) 1178 - 1179 -enum : uint { CONTEXT_i386 = 0x00010000 } 1180 -enum : uint { CONTEXT_i486 = 0x00010000 } 1181 - 1182 -enum : uint { CONTEXT_CONTROL = CONTEXT_i386 | 0x00000001L } 1183 -enum : uint { CONTEXT_INTEGER = CONTEXT_i386 | 0x00000002L } 1184 -enum : uint { CONTEXT_SEGMENTS = CONTEXT_i386 | 0x00000004L } 1185 -enum : uint { CONTEXT_FLOATING_POINT = CONTEXT_i386 | 0x00000008L } 1186 -enum : uint { CONTEXT_DEBUG_REGISTERS = CONTEXT_i386 | 0x00000010L } 1187 -enum : uint { CONTEXT_EXTENDED_REGISTERS = CONTEXT_i386 | 0x00000020L } 1188 - 1189 -enum : uint { CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS } 1190 - 1191 -// #endif 1192 - 1193 -enum : uint { MAXIMUM_SUPPORTED_EXTENSION = 512 } 1194 - 1195 -struct _FLOATING_SAVE_AREA { 1196 - DWORD ControlWord; 1197 - DWORD StatusWord; 1198 - DWORD TagWord; 1199 - DWORD ErrorOffset; 1200 - DWORD ErrorSelector; 1201 - DWORD DataOffset; 1202 - DWORD DataSelector; 1203 - BYTE RegisterArea[SIZE_OF_80387_REGISTERS]; 1204 - DWORD Cr0NpxState; 1205 -} 1206 -alias _FLOATING_SAVE_AREA FLOATING_SAVE_AREA; 1207 - 1208 -alias FLOATING_SAVE_AREA* PFLOATING_SAVE_AREA; 1209 - 1210 -struct _CONTEXT { 1211 - 1212 - DWORD ContextFlags; 1213 - 1214 - DWORD Dr0; 1215 - DWORD Dr1; 1216 - DWORD Dr2; 1217 - DWORD Dr3; 1218 - DWORD Dr6; 1219 - DWORD Dr7; 1220 - 1221 - FLOATING_SAVE_AREA FloatSave; 1222 - 1223 - DWORD SegGs; 1224 - DWORD SegFs; 1225 - DWORD SegEs; 1226 - DWORD SegDs; 1227 - 1228 - DWORD Edi; 1229 - DWORD Esi; 1230 - DWORD Ebx; 1231 - DWORD Edx; 1232 - DWORD Ecx; 1233 - DWORD Eax; 1234 - 1235 - DWORD Ebp; 1236 - DWORD Eip; 1237 - DWORD SegCs; 1238 - DWORD EFlags; 1239 - DWORD Esp; 1240 - DWORD SegSs; 1241 - 1242 - BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; 1243 -} 1244 -alias _CONTEXT CONTEXT; 1245 - 1246 -alias CONTEXT* PCONTEXT; 1247 - 1248 -// #endif //_X86_ 1249 - 1250 -// #ifndef _LDT_ENTRY_DEFINED 1251 -// #define _LDT_ENTRY_DEFINED 1252 - 1253 -struct _LDT_ENTRY { 1254 - WORD LimitLow; 1255 - WORD BaseLow; 1256 -union { 1257 -struct { 1258 - BYTE BaseMid; 1259 - BYTE Flags1; 1260 - BYTE Flags2; 1261 - BYTE BaseHi; 1262 -} 1263 - 1264 -struct { 1265 -// DWORD BaseMid : 8; 1266 -// DWORD Type : 5; 1267 -// DWORD Dpl : 2; 1268 -// DWORD Pres : 1; 1269 -// DWORD LimitHi : 4; 1270 -// DWORD Sys : 1; 1271 -// DWORD Reserved_0 : 1; 1272 -// DWORD Default_Big : 1; 1273 -// DWORD Granularity : 1; 1274 -// DWORD BaseHi : 8; 1275 -} 1276 - 1277 -} 1278 - 1279 -} 1280 -alias _LDT_ENTRY LDT_ENTRY; 1281 -alias _LDT_ENTRY* PLDT_ENTRY; 1282 - 1283 -// #endif 1284 - 1285 -// #if defined(_MIPS_) 1286 - 1287 -// #... 1288 -// #... 1289 - 1290 -// #if !defined(RC_INVOKED) 1291 - 1292 -// #... 1293 - 1294 -// #... 1295 -// #... 1296 -// #... 1297 -// #... 1298 -// #... 1299 - 1300 -// #... 1301 -// ... 1302 - 1303 -// #endif 1304 - 1305 -// ... 1306 - 1307 -// ... 1308 - 1309 -// ... 1310 - 1311 -// ... 1312 - 1313 -// ... 1314 - 1315 -// ... 1316 - 1317 -// ... 1318 - 1319 -// ... 1320 - 1321 -// ... 1322 - 1323 -// ... 1324 - 1325 -// ... 1326 - 1327 -// ... 1328 - 1329 -// ... 1330 - 1331 -// ... 1332 - 1333 -// ... 1334 - 1335 -// ... 1336 - 1337 -// #... 1338 - 1339 -// #endif // MIPS 1340 - 1341 -// #if defined(_MIPS_) 1342 - 1343 -// ... 1344 - 1345 -// #endif // MIPS 1346 - 1347 -// #if defined(_PPC_) 1348 - 1349 -// #if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000) 1350 -// ... 1351 -// #... 1352 -// #elif defined(_M_PPC) 1353 -// ... 1354 -// #... 1355 -// #endif 1356 - 1357 -// #... 1358 -// #... 1359 - 1360 -// #if !defined(RC_INVOKED) 1361 - 1362 -// #... 1363 -// #... 1364 -// #... 1365 -// #... 1366 - 1367 -// #... 1368 - 1369 -// #endif 1370 - 1371 -// ... 1372 - 1373 -// ... 1374 - 1375 -// ... 1376 - 1377 -// ... 1378 - 1379 -// ... 1380 - 1381 -// ... 1382 - 1383 -// ... 1384 - 1385 -// ... 1386 - 1387 -// ... 1388 - 1389 -// ... 1390 - 1391 -// ... 1392 - 1393 -// ... 1394 - 1395 -// ... 1396 - 1397 -// #endif // defined(_PPC_) 1398 - 1399 -// #if defined(_MPPC_) 1400 - 1401 -// #if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000) 1402 -// ... 1403 -// #... 1404 -// #elif defined(_M_PPC) 1405 -// ... 1406 -// #... 1407 -// #endif 1408 - 1409 -// #... 1410 -// #... 1411 - 1412 -// #if !defined(RC_INVOKED) 1413 - 1414 -// #... 1415 -// #... 1416 -// #... 1417 -// #... 1418 - 1419 -// #... 1420 - 1421 -// #endif 1422 - 1423 -// ... 1424 - 1425 -// ... 1426 - 1427 -// ... 1428 - 1429 -// ... 1430 - 1431 -// ... 1432 - 1433 -// ... 1434 - 1435 -// ... 1436 - 1437 -// ... 1438 - 1439 -// ... 1440 - 1441 -// ... 1442 - 1443 -// ... 1444 - 1445 -// ... 1446 - 1447 -// ... 1448 - 1449 -// #endif // defined(_MPPC_) 1450 - 1451 -// #if !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_IA64_) 1452 - 1453 -// ... 1454 -// #if defined(_M_IA64) // winnt 1455 -// #... 1456 -// #endif // winnt 1457 - 1458 -// #if defined(_M_IA64) 1459 -// #... 1460 -// #else 1461 -// ... 1462 -// #endif 1463 - 1464 -// #... 1465 -// #... 1466 - 1467 -// #endif // !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_M_IA64) 1468 - 1469 -// #ifdef _IA64_ 1470 - 1471 -// #if !defined(RC_INVOKED) 1472 - 1473 -// #... 1474 - 1475 -// #... 1476 -// #... 1477 -// #... 1478 -// #... 1479 -// #... 1480 -// #... 1481 - 1482 -// #... 1483 -// #... 1484 - 1485 -// #endif // !defined(RC_INVOKED) 1486 - 1487 -// ... 1488 - 1489 -// ... 1490 - 1491 -// ... 1492 - 1493 -// ... 1494 - 1495 -// ... 1496 - 1497 -// ... 1498 - 1499 -// ... 1500 - 1501 -// ... 1502 - 1503 -// ... 1504 - 1505 -// ... 1506 - 1507 -// ... 1508 - 1509 -// ... 1510 - 1511 -// ... 1512 - 1513 -// ... 1514 - 1515 -// ... 1516 - 1517 -// ... 1518 - 1519 -// ... 1520 - 1521 -// ... 1522 - 1523 -// ... 1524 - 1525 -// ... 1526 - 1527 -// ... 1528 - 1529 -// ... 1530 - 1531 -// ... 1532 - 1533 -// ... 1534 - 1535 -// ... 1536 - 1537 -// ... 1538 - 1539 -// ... 1540 - 1541 -// #endif // _IA64_ 1542 - 1543 -// #ifdef _IA64_ 1544 - 1545 -// ... 1546 - 1547 -// #endif // _IA64_ 1548 - 1549 -enum : uint { EXCEPTION_NONCONTINUABLE = 0x1 } 1550 -enum : uint { EXCEPTION_MAXIMUM_PARAMETERS = 15 } 1551 - 1552 -struct _EXCEPTION_RECORD { 1553 - DWORD ExceptionCode; 1554 - DWORD ExceptionFlags; 1555 - _EXCEPTION_RECORD *ExceptionRecord; 1556 - PVOID ExceptionAddress; 1557 - DWORD NumberParameters; 1558 - ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; 1559 -} 1560 -alias _EXCEPTION_RECORD EXCEPTION_RECORD; 1561 - 1562 -alias EXCEPTION_RECORD* PEXCEPTION_RECORD; 1563 - 1564 -struct _EXCEPTION_RECORD32 { 1565 - DWORD ExceptionCode; 1566 - DWORD ExceptionFlags; 1567 - DWORD ExceptionRecord; 1568 - DWORD ExceptionAddress; 1569 - DWORD NumberParameters; 1570 - DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; 1571 -} 1572 -alias _EXCEPTION_RECORD32 EXCEPTION_RECORD32; 1573 -alias _EXCEPTION_RECORD32* PEXCEPTION_RECORD32; 1574 - 1575 -struct _EXCEPTION_RECORD64 { 1576 - DWORD ExceptionCode; 1577 - DWORD ExceptionFlags; 1578 - DWORD64 ExceptionRecord; 1579 - DWORD64 ExceptionAddress; 1580 - DWORD NumberParameters; 1581 - DWORD __unusedAlignment; 1582 - DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; 1583 -} 1584 -alias _EXCEPTION_RECORD64 EXCEPTION_RECORD64; 1585 -alias _EXCEPTION_RECORD64* PEXCEPTION_RECORD64; 1586 - 1587 -struct _EXCEPTION_POINTERS { 1588 - PEXCEPTION_RECORD ExceptionRecord; 1589 - PCONTEXT ContextRecord; 1590 -} 1591 -alias _EXCEPTION_POINTERS EXCEPTION_POINTERS; 1592 -alias _EXCEPTION_POINTERS* PEXCEPTION_POINTERS; 1593 - 1594 -alias PVOID PACCESS_TOKEN; 1595 -alias PVOID PSECURITY_DESCRIPTOR; 1596 -alias PVOID PSID; 1597 - 1598 -alias DWORD ACCESS_MASK; 1599 -alias ACCESS_MASK* PACCESS_MASK; 1600 - 1601 -enum : uint { DELETE = 0x00010000 } 1602 -enum : uint { READ_CONTROL = 0x00020000 } 1603 -enum : uint { WRITE_DAC = 0x00040000 } 1604 -enum : uint { WRITE_OWNER = 0x00080000 } 1605 -enum : uint { SYNCHRONIZE = 0x00100000 } 1606 - 1607 -enum : uint { STANDARD_RIGHTS_REQUIRED = 0x000F0000 } 1608 - 1609 -enum : uint { STANDARD_RIGHTS_READ = READ_CONTROL } 1610 -enum : uint { STANDARD_RIGHTS_WRITE = READ_CONTROL } 1611 -enum : uint { STANDARD_RIGHTS_EXECUTE = READ_CONTROL } 1612 - 1613 -enum : uint { STANDARD_RIGHTS_ALL = 0x001F0000 } 1614 - 1615 -enum : uint { SPECIFIC_RIGHTS_ALL = 0x0000FFFF } 1616 - 1617 -enum : uint { ACCESS_SYSTEM_SECURITY = 0x01000000 } 1618 - 1619 -enum : uint { MAXIMUM_ALLOWED = 0x02000000 } 1620 - 1621 -enum : uint { GENERIC_READ = 0x80000000 } 1622 -enum : uint { GENERIC_WRITE = 0x40000000 } 1623 -enum : uint { GENERIC_EXECUTE = 0x20000000 } 1624 -enum : uint { GENERIC_ALL = 0x10000000 } 1625 - 1626 -struct _GENERIC_MAPPING { 1627 - ACCESS_MASK GenericRead; 1628 - ACCESS_MASK GenericWrite; 1629 - ACCESS_MASK GenericExecute; 1630 - ACCESS_MASK GenericAll; 1631 -} 1632 -alias _GENERIC_MAPPING GENERIC_MAPPING; 1633 - 1634 -alias GENERIC_MAPPING* PGENERIC_MAPPING; 1635 - 1636 -align(4): 1637 - 1638 -struct _LUID_AND_ATTRIBUTES { 1639 - LUID Luid; 1640 - DWORD Attributes; 1641 -} 1642 -alias _LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES; 1643 -alias _LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES; 1644 - 1645 -alias LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; 1646 -alias LUID_AND_ATTRIBUTES_ARRAY* PLUID_AND_ATTRIBUTES_ARRAY; 1647 - 1648 -align: 1649 - 1650 -// #ifndef SID_IDENTIFIER_AUTHORITY_DEFINED 1651 -// #define SID_IDENTIFIER_AUTHORITY_DEFINED 1652 -struct _SID_IDENTIFIER_AUTHORITY { 1653 - BYTE Value[6]; 1654 -} 1655 -alias _SID_IDENTIFIER_AUTHORITY SID_IDENTIFIER_AUTHORITY; 1656 -alias _SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY; 1657 - 1658 -// #endif 1659 - 1660 -// #ifndef SID_DEFINED 1661 -// #define SID_DEFINED 1662 -struct _SID { 1663 - BYTE Revision; 1664 - BYTE SubAuthorityCount; 1665 - SID_IDENTIFIER_AUTHORITY IdentifierAuthority; 1666 -// #ifdef MIDL_PASS 1667 -// ... 1668 -// #else // MIDL_PASS 1669 - DWORD SubAuthority[ANYSIZE_ARRAY]; 1670 -// #endif // MIDL_PASS 1671 -} 1672 -alias _SID SID; 1673 -alias _SID* PISID; 1674 - 1675 -// #endif 1676 - 1677 -enum : uint { SID_REVISION = 1 } 1678 -enum : uint { SID_MAX_SUB_AUTHORITIES = 15 } 1679 -enum : uint { SID_RECOMMENDED_SUB_AUTHORITIES = 1 } 1680 - 1681 -// #ifndef MIDL_PASS 1682 -const uint SECURITY_MAX_SID_SIZE = SID.sizeof - DWORD.sizeof + (SID_MAX_SUB_AUTHORITIES * DWORD.sizeof); 1683 -// #endif // MIDL_PASS 1684 - 1685 -alias int _SID_NAME_USE; 12 +public import win32.basetsd, win32.windef, win32.winerror; 13 +private import win32.w32api; 14 + 15 +/* Translation Notes: 16 +The following macros are unneeded for D: 17 +FIELD_OFFSET(t,f), CONTAINING_RECORD(address, type, field) 18 +*/ 19 + 20 +alias void VOID; 21 +alias char CHAR, CCHAR; 22 +alias wchar WCHAR; 23 +alias bool BOOLEAN; 24 +alias byte FCHAR; 25 +alias ubyte UCHAR; 26 +alias short SHORT; 27 +alias ushort LANGID, FSHORT; 28 +alias uint LCID, FLONG, ACCESS_MASK; 29 +alias long LONGLONG, USN; 30 +alias ulong DWORDLONG, ULONGLONG; 31 + 32 +alias void* PVOID, LPVOID; 33 +alias char* PSZ, PCHAR, PCCHAR, LPCH, PCH, LPSTR, PSTR; 34 +alias wchar* PWCHAR, LPWCH, PWCH, LPWSTR, PWSTR; 35 +alias bool* PBOOLEAN; 36 +alias ubyte* PUCHAR; 37 +alias short* PSHORT; 38 +alias int* PLONG; 39 +alias uint* PLCID, PACCESS_MASK; 40 +alias long* PLONGLONG; 41 +alias ulong* PDWORDLONG, PULONGLONG; 42 + 43 +// FIXME(MinGW) for __WIN64 44 +alias void* PVOID64; 45 + 46 +// const versions 47 +alias CPtr!(char) LPCCH, PCSTR, LPCSTR; 48 +alias CPtr!(wchar) LPCWCH, PCWCH, LPCWSTR, PCWSTR; 49 + 50 +version (Unicode) { 51 + alias WCHAR TCHAR, _TCHAR; 52 +} else { 53 + alias CHAR TCHAR, _TCHAR; 54 +} 55 + 56 +alias TCHAR TBYTE; 57 +alias TCHAR* PTCH, PTBYTE, LPTCH, PTSTR, LPTSTR, LP, PTCHAR; 58 +alias CPtr!(TCHAR) LPCTSTR; 59 + 60 +const char ANSI_NULL = '\0'; 61 +const wchar UNICODE_NULL = '\0'; 62 + 63 +const APPLICATION_ERROR_MASK = 0x20000000; 64 +const ERROR_SEVERITY_SUCCESS = 0x00000000; 65 +const ERROR_SEVERITY_INFORMATIONAL = 0x40000000; 66 +const ERROR_SEVERITY_WARNING = 0x80000000; 67 +const ERROR_SEVERITY_ERROR = 0xC0000000; 68 + 69 +// MinGW: also in ddk/ntifs.h 70 +enum : USHORT { 71 + COMPRESSION_FORMAT_NONE = 0x0000, 72 + COMPRESSION_FORMAT_DEFAULT = 0x0001, 73 + COMPRESSION_FORMAT_LZNT1 = 0x0002, 74 + COMPRESSION_ENGINE_STANDARD = 0x0000, 75 + COMPRESSION_ENGINE_MAXIMUM = 0x0100, 76 + COMPRESSION_ENGINE_HIBER = 0x0200 77 +} 78 + 79 +// ACCESS_DENIED_OBJECT_ACE, etc 80 +const DWORD 81 + ACE_OBJECT_TYPE_PRESENT = 0x00000001, 82 + ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x00000002; 83 + 84 +// ACE_HEADER.AceType 85 +// also in ddk/ntifs.h 86 +enum : BYTE { 87 + ACCESS_ALLOWED_ACE_TYPE, 88 + ACCESS_DENIED_ACE_TYPE, 89 + SYSTEM_AUDIT_ACE_TYPE, 90 + SYSTEM_ALARM_ACE_TYPE 91 +} 92 + 93 +// ACE_HEADER.AceFlags 94 +const BYTE 95 + OBJECT_INHERIT_ACE = 0x01, 96 + CONTAINER_INHERIT_ACE = 0x02, 97 + NO_PROPAGATE_INHERIT_ACE = 0x04, 98 + INHERIT_ONLY_ACE = 0x08, 99 + INHERITED_ACE = 0x10, 100 + VALID_INHERIT_FLAGS = 0x1F, 101 + SUCCESSFUL_ACCESS_ACE_FLAG = 0x40, 102 + FAILED_ACCESS_ACE_FLAG = 0x80; 103 + 104 +// Access Mask Format 105 +const ACCESS_MASK 106 + DELETE = 0x00010000, 107 + READ_CONTROL = 0x00020000, 108 + WRITE_DAC = 0x00040000, 109 + WRITE_OWNER = 0x00080000, 110 + SYNCHRONIZE = 0x00100000, 111 + ACCESS_SYSTEM_SECURITY = 0x01000000, 112 + MAXIMUM_ALLOWED = 0x02000000, 113 + GENERIC_READ = 0x80000000, 114 + GENERIC_WRITE = 0x40000000, 115 + GENERIC_EXECUTE = 0x20000000, 116 + GENERIC_ALL = 0x10000000, 117 + STANDARD_RIGHTS_REQUIRED = 0x000F0000, 118 + STANDARD_RIGHTS_READ = 0x00020000, 119 + STANDARD_RIGHTS_WRITE = 0x00020000, 120 + STANDARD_RIGHTS_EXECUTE = 0x00020000, 121 + STANDARD_RIGHTS_ALL = 0x001F0000, 122 + SPECIFIC_RIGHTS_ALL = 0x0000FFFF; 123 + 124 + 125 +const DWORD INVALID_FILE_ATTRIBUTES = -1; 126 + 127 +// MinGW: Also in ddk/winddk.h 128 +const DWORD 129 + FILE_LIST_DIRECTORY = 0x00000001, 130 + FILE_READ_DATA = 0x00000001, 131 + FILE_ADD_FILE = 0x00000002, 132 + FILE_WRITE_DATA = 0x00000002, 133 + FILE_ADD_SUBDIRECTORY = 0x00000004, 134 + FILE_APPEND_DATA = 0x00000004, 135 + FILE_CREATE_PIPE_INSTANCE = 0x00000004, 136 + FILE_READ_EA = 0x00000008, 137 + FILE_READ_PROPERTIES = 0x00000008, 138 + FILE_WRITE_EA = 0x00000010, 139 + FILE_WRITE_PROPERTIES = 0x00000010, 140 + FILE_EXECUTE = 0x00000020, 141 + FILE_TRAVERSE = 0x00000020, 142 + FILE_DELETE_CHILD = 0x00000040, 143 + FILE_READ_ATTRIBUTES = 0x00000080, 144 + FILE_WRITE_ATTRIBUTES = 0x00000100; 145 + 146 +const DWORD 147 + FILE_SHARE_READ = 0x00000001, 148 + FILE_SHARE_WRITE = 0x00000002, 149 + FILE_SHARE_DELETE = 0x00000004, 150 + FILE_SHARE_VALID_FLAGS = 0x00000007; 151 + 152 +const DWORD 153 + FILE_ATTRIBUTE_READONLY = 0x00000001, 154 + FILE_ATTRIBUTE_HIDDEN = 0x00000002, 155 + FILE_ATTRIBUTE_SYSTEM = 0x00000004, 156 + FILE_ATTRIBUTE_DIRECTORY = 0x00000010, 157 + FILE_ATTRIBUTE_ARCHIVE = 0x00000020, 158 + FILE_ATTRIBUTE_DEVICE = 0x00000040, 159 + FILE_ATTRIBUTE_NORMAL = 0x00000080, 160 + FILE_ATTRIBUTE_TEMPORARY = 0x00000100, 161 + FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200, 162 + FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400, 163 + FILE_ATTRIBUTE_COMPRESSED = 0x00000800, 164 + FILE_ATTRIBUTE_OFFLINE = 0x00001000, 165 + FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000, 166 + FILE_ATTRIBUTE_ENCRYPTED = 0x00004000, 167 + FILE_ATTRIBUTE_VALID_FLAGS = 0x00007fb7, 168 + FILE_ATTRIBUTE_VALID_SET_FLAGS = 0x000031a7; 169 + 170 +// These are not documented on MSDN 171 +const FILE_COPY_STRUCTURED_STORAGE = 0x00000041; 172 +const FILE_STRUCTURED_STORAGE = 0x00000441; 173 + 174 +// Nor are these 175 +const FILE_VALID_OPTION_FLAGS = 0x00ffffff; 176 +const FILE_VALID_PIPE_OPTION_FLAGS = 0x00000032; 177 +const FILE_VALID_MAILSLOT_OPTION_FLAGS = 0x00000032; 178 +const FILE_VALID_SET_FLAGS = 0x00000036; 179 + 180 +const ULONG 181 + FILE_SUPERSEDE = 0x00000000, 182 + FILE_OPEN = 0x00000001, 183 + FILE_CREATE = 0x00000002, 184 + FILE_OPEN_IF = 0x00000003, 185 + FILE_OVERWRITE = 0x00000004, 186 + FILE_OVERWRITE_IF = 0x00000005, 187 + FILE_MAXIMUM_DISPOSITION = 0x00000005; 188 + 189 +const ULONG 190 + FILE_DIRECTORY_FILE = 0x00000001, 191 + FILE_WRITE_THROUGH = 0x00000002, 192 + FILE_SEQUENTIAL_ONLY = 0x00000004, 193 + FILE_NO_INTERMEDIATE_BUFFERING = 0x00000008, 194 + FILE_SYNCHRONOUS_IO_ALERT = 0x00000010, 195 + FILE_SYNCHRONOUS_IO_NONALERT = 0x00000020, 196 + FILE_NON_DIRECTORY_FILE = 0x00000040, 197 + FILE_CREATE_TREE_CONNECTION = 0x00000080, 198 + FILE_COMPLETE_IF_OPLOCKED = 0x00000100, 199 + FILE_NO_EA_KNOWLEDGE = 0x00000200, 200 + FILE_OPEN_FOR_RECOVERY = 0x00000400, 201 + FILE_RANDOM_ACCESS = 0x00000800, 202 + FILE_DELETE_ON_CLOSE = 0x00001000, 203 + FILE_OPEN_BY_FILE_ID = 0x00002000, 204 + FILE_OPEN_FOR_BACKUP_INTENT = 0x00004000, 205 + FILE_NO_COMPRESSION = 0x00008000, 206 + FILE_RESERVE_OPFILTER = 0x00100000, 207 + FILE_OPEN_REPARSE_POINT = 0x00200000, 208 + FILE_OPEN_NO_RECALL = 0x00400000, 209 + FILE_OPEN_FOR_FREE_SPACE_QUERY = 0x00800000; 210 + 211 + 212 +const ACCESS_MASK 213 + FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x01FF, 214 + FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES 215 + | FILE_EXECUTE | SYNCHRONIZE, 216 + FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA 217 + | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE, 218 + FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA 219 + | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA 220 + | SYNCHRONIZE; 221 + 222 +// MinGW: end winddk.h 223 +// MinGW: also in ddk/ntifs.h 224 +const DWORD 225 + FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001, 226 + FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002, 227 + FILE_NOTIFY_CHANGE_NAME = 0x00000003, 228 + FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004, 229 + FILE_NOTIFY_CHANGE_SIZE = 0x00000008, 230 + FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010, 231 + FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020, 232 + FILE_NOTIFY_CHANGE_CREATION = 0x00000040, 233 + FILE_NOTIFY_CHANGE_EA = 0x00000080, 234 + FILE_NOTIFY_CHANGE_SECURITY = 0x00000100, 235 + FILE_NOTIFY_CHANGE_STREAM_NAME = 0x00000200, 236 + FILE_NOTIFY_CHANGE_STREAM_SIZE = 0x00000400, 237 + FILE_NOTIFY_CHANGE_STREAM_WRITE = 0x00000800, 238 + FILE_NOTIFY_VALID_MASK = 0x00000fff; 239 + 240 +const DWORD 241 + FILE_CASE_SENSITIVE_SEARCH = 0x00000001, 242 + FILE_CASE_PRESERVED_NAMES = 0x00000002, 243 + FILE_UNICODE_ON_DISK = 0x00000004, 244 + FILE_PERSISTENT_ACLS = 0x00000008, 245 + FILE_FILE_COMPRESSION = 0x00000010, 246 + FILE_VOLUME_QUOTAS = 0x00000020, 247 + FILE_SUPPORTS_SPARSE_FILES = 0x00000040, 248 + FILE_SUPPORTS_REPARSE_POINTS = 0x00000080, 249 + FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100, 250 + FS_LFN_APIS = 0x00004000, 251 + FILE_VOLUME_IS_COMPRESSED = 0x00008000, 252 + FILE_SUPPORTS_OBJECT_IDS = 0x00010000, 253 + FILE_SUPPORTS_ENCRYPTION = 0x00020000, 254 + FILE_NAMED_STREAMS = 0x00040000, 255 + FILE_READ_ONLY_VOLUME = 0x00080000, 256 + FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000, 257 + FILE_SUPPORTS_TRANSACTIONS = 0x00200000; 258 + 259 +// These are not documented on MSDN 260 +const ACCESS_MASK 261 + IO_COMPLETION_QUERY_STATE = 1, 262 + IO_COMPLETION_MODIFY_STATE = 2, 263 + IO_COMPLETION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 3; 264 +// MinGW: end ntifs.h 265 + 266 +// MinGW: also in ddk/winddk.h 267 +const DWORD 268 + DUPLICATE_CLOSE_SOURCE = 1, 269 + DUPLICATE_SAME_ACCESS = 2, 270 + DUPLICATE_SAME_ATTRIBUTES = 4; 271 +// MinGW: end winddk.k 272 + 273 +const DWORD 274 + MAILSLOT_NO_MESSAGE = -1, 275 + MAILSLOT_WAIT_FOREVER = -1; 276 + 277 +const ACCESS_MASK 278 + PROCESS_TERMINATE = 0x0001, 279 + PROCESS_CREATE_THREAD = 0x0002, 280 + PROCESS_SET_SESSIONID = 0x0004, 281 + PROCESS_VM_OPERATION = 0x0008, 282 + PROCESS_VM_READ = 0x0010, 283 + PROCESS_VM_WRITE = 0x0020, 284 + PROCESS_DUP_HANDLE = 0x0040, 285 + PROCESS_CREATE_PROCESS = 0x0080, 286 + PROCESS_SET_QUOTA = 0x0100, 287 + PROCESS_SET_INFORMATION = 0x0200, 288 + PROCESS_QUERY_INFORMATION = 0x0400, 289 + PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x0FFF; 290 + 291 +const ACCESS_MASK 292 + THREAD_TERMINATE = 0x0001, 293 + THREAD_SUSPEND_RESUME = 0x0002, 294 + THREAD_GET_CONTEXT = 0x0008, 295 + THREAD_SET_CONTEXT = 0x0010, 296 + THREAD_SET_INFORMATION = 0x0020, 297 + THREAD_QUERY_INFORMATION = 0x0040, 298 + THREAD_SET_THREAD_TOKEN = 0x0080, 299 + THREAD_IMPERSONATE = 0x0100, 300 + THREAD_DIRECT_IMPERSONATION = 0x0200, 301 + THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF; 302 + 303 +// These are not documented on MSDN 304 +const THREAD_BASE_PRIORITY_LOWRT = 15; 305 +const THREAD_BASE_PRIORITY_MAX = 2; 306 +const THREAD_BASE_PRIORITY_MIN = -2; 307 +const THREAD_BASE_PRIORITY_IDLE = -15; 308 + 309 +const DWORD EXCEPTION_NONCONTINUABLE = 1; 310 +const size_t EXCEPTION_MAXIMUM_PARAMETERS = 15; 311 + 312 +// These are not documented on MSDN 313 +const ACCESS_MASK 314 + MUTANT_QUERY_STATE = 1, 315 + MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE; 316 + 317 +const ACCESS_MASK 318 + TIMER_QUERY_STATE = 1, 319 + TIMER_MODIFY_STATE = 2, 320 + TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE 321 + | TIMER_MODIFY_STATE; 322 + 323 +const SID_IDENTIFIER_AUTHORITY 324 + SECURITY_NULL_SID_AUTHORITY = {[5: 0]}, 325 + SECURITY_WORLD_SID_AUTHORITY = {[5: 1]}, 326 + SECURITY_LOCAL_SID_AUTHORITY = {[5: 2]}, 327 + SECURITY_CREATOR_SID_AUTHORITY = {[5: 3]}, 328 + SECURITY_NON_UNIQUE_AUTHORITY = {[5: 4]}, 329 + SECURITY_NT_AUTHORITY = {[5: 5]}, 330 + SECURITY_MANDATORY_LABEL_AUTHORITY = {[5: 6]}; 331 + 332 +const DWORD 333 + SECURITY_NULL_RID = 0, 334 + SECURITY_WORLD_RID = 0, 335 + SECURITY_LOCAL_RID = 0, 336 + SECURITY_CREATOR_OWNER_RID = 0, 337 + SECURITY_CREATOR_GROUP_RID = 1, 338 + SECURITY_DIALUP_RID = 1, 339 + SECURITY_NETWORK_RID = 2, 340 + SECURITY_BATCH_RID = 3, 341 + SECURITY_INTERACTIVE_RID = 4, 342 + SECURITY_LOGON_IDS_RID = 5, 343 + SECURITY_SERVICE_RID = 6, 344 + SECURITY_LOCAL_SYSTEM_RID = 18, 345 + SECURITY_BUILTIN_DOMAIN_RID = 32, 346 + SECURITY_PRINCIPAL_SELF_RID = 10, 347 + SECURITY_CREATOR_OWNER_SERVER_RID = 2, 348 + SECURITY_CREATOR_GROUP_SERVER_RID = 3, 349 + SECURITY_LOGON_IDS_RID_COUNT = 3, 350 + SECURITY_ANONYMOUS_LOGON_RID = 7, 351 + SECURITY_PROXY_RID = 8, 352 + SECURITY_ENTERPRISE_CONTROLLERS_RID = 9, 353 + SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID, 354 + SECURITY_AUTHENTICATED_USER_RID = 11, 355 + SECURITY_RESTRICTED_CODE_RID = 12, 356 + SECURITY_NT_NON_UNIQUE_RID = 21, 357 + SID_REVISION = 1; 358 + 359 +enum : DWORD { 360 + DOMAIN_USER_RID_ADMIN = 0x01F4, 361 + DOMAIN_USER_RID_GUEST = 0x01F5, 362 + DOMAIN_GROUP_RID_ADMINS = 0x0200, 363 + DOMAIN_GROUP_RID_USERS = 0x0201, 364 + DOMAIN_ALIAS_RID_ADMINS = 0x0220, 365 + DOMAIN_ALIAS_RID_USERS = 0x0221, 366 + DOMAIN_ALIAS_RID_GUESTS = 0x0222, 367 + DOMAIN_ALIAS_RID_POWER_USERS = 0x0223, 368 + DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x0224, 369 + DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x0225, 370 + DOMAIN_ALIAS_RID_PRINT_OPS = 0x0226, 371 + DOMAIN_ALIAS_RID_BACKUP_OPS = 0x0227, 372 + DOMAIN_ALIAS_RID_REPLICATOR = 0x0228 373 +} 374 + 375 +enum : WORD { 376 + SECURITY_MANDATORY_UNTRUSTED_RID = 0, 377 + SECURITY_MANDATORY_LOW_RID = 0x1000, 378 + SECURITY_MANDATORY_MEDIUM_RID = 0x2000, 379 + SECURITY_MANDATORY_HIGH_RID = 0x3000, 380 + SECURITY_MANDATORY_SYSTEM_RID = 0x4000, 381 + SECURITY_MANDATORY_PROTECTED_PROCESS_RID = 0x5000, 382 + SECURITY_MANDATORY_MAXIMUM_USER_RID = SECURITY_MANDATORY_SYSTEM_RID 383 +} 384 + 385 +const TCHAR[] 386 + SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege", 387 + SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege", 388 + SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege", 389 + SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege", 390 + SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege", 391 + SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege", 392 + SE_TCB_NAME = "SeTcbPrivilege", 393 + SE_SECURITY_NAME = "SeSecurityPrivilege", 394 + SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege", 395 + SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege", 396 + SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege", 397 + SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege", 398 + SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege", 399 + SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege", 400 + SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege", 401 + SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege", 402 + SE_BACKUP_NAME = "SeBackupPrivilege", 403 + SE_RESTORE_NAME = "SeRestorePrivilege", 404 + SE_SHUTDOWN_NAME = "SeShutdownPrivilege", 405 + SE_DEBUG_NAME = "SeDebugPrivilege", 406 + SE_AUDIT_NAME = "SeAuditPrivilege", 407 + SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege", 408 + SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege", 409 + SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege", 410 + SE_CREATE_GLOBAL_NAME = "SeCreateGlobalPrivilege", 411 + SE_UNDOCK_NAME = "SeUndockPrivilege", 412 + SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege", 413 + SE_IMPERSONATE_NAME = "SeImpersonatePrivilege", 414 + SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege", 415 + SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege", 416 + SE_TRUSTED_CREDMAN_ACCESS_NAME = "SeTrustedCredManAccessPrivilege", 417 + SE_RELABEL_NAME = "SeRelabelPrivilege", 418 + SE_INCREASE_WORKING_SET_NAME = "SeIncreaseWorkingSetPrivilege", 419 + SE_TIME_ZONE_NAME = "SeTimeZonePrivilege", 420 + SE_CREATE_SYMBOLIC_LINK_NAME = "SeCreateSymbolicLinkPrivilege"; 421 + 422 +const DWORD 423 + SE_GROUP_MANDATORY = 0x00000001, 424 + SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002, 425 + SE_GROUP_ENABLED = 0x00000004, 426 + SE_GROUP_OWNER = 0x00000008, 427 + SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010, 428 + SE_GROUP_INTEGRITY = 0x00000020, 429 + SE_GROUP_INTEGRITY_ENABLED = 0x00000040, 430 + SE_GROUP_RESOURCE = 0x20000000, 431 + SE_GROUP_LOGON_ID = 0xC0000000; 432 + 433 +// Primary language identifiers 434 +enum : USHORT { 435 + LANG_NEUTRAL, 436 + LANG_ARABIC, 437 + LANG_BULGARIAN, 438 + LANG_CATALAN, 439 + LANG_CHINESE, 440 + LANG_CZECH, 441 + LANG_DANISH, 442 + LANG_GERMAN, 443 + LANG_GREEK, 444 + LANG_ENGLISH, 445 + LANG_SPANISH, 446 + LANG_FINNISH, 447 + LANG_FRENCH, 448 + LANG_HEBREW, 449 + LANG_HUNGARIAN, 450 + LANG_ICELANDIC, 451 + LANG_ITALIAN, 452 + LANG_JAPANESE, 453 + LANG_KOREAN, 454 + LANG_DUTCH, 455 + LANG_NORWEGIAN, 456 + LANG_POLISH, 457 + LANG_PORTUGUESE, // = 0x16 458 + LANG_ROMANIAN = 0x18, 459 + LANG_RUSSIAN, 460 + LANG_CROATIAN, // = 0x1A 461 + LANG_SERBIAN = 0x1A, 462 + LANG_BOSNIAN = 0x1A, 463 + LANG_SLOVAK, 464 + LANG_ALBANIAN, 465 + LANG_SWEDISH, 466 + LANG_THAI, 467 + LANG_TURKISH, 468 + LANG_URDU, 469 + LANG_INDONESIAN, 470 + LANG_UKRAINIAN, 471 + LANG_BELARUSIAN, 472 + LANG_SLOVENIAN, 473 + LANG_ESTONIAN, 474 + LANG_LATVIAN, 475 + LANG_LITHUANIAN, // = 0x27 476 + LANG_FARSI = 0x29, 477 + LANG_PERSIAN = 0x29, 478 + LANG_VIETNAMESE, 479 + LANG_ARMENIAN, 480 + LANG_AZERI, 481 + LANG_BASQUE, 482 + LANG_LOWER_SORBIAN, // = 0x2E 483 + LANG_UPPER_SORBIAN = 0x2E, 484 + LANG_MACEDONIAN, // = 0x2F 485 + LANG_TSWANA = 0x32, 486 + LANG_XHOSA = 0x34, 487 + LANG_ZULU, 488 + LANG_AFRIKAANS, 489 + LANG_GEORGIAN, 490 + LANG_FAEROESE, 491 + LANG_HINDI, 492 + LANG_MALTESE, 493 + LANG_SAMI, 494 + LANG_IRISH, // = 0x3C 495 + LANG_MALAY = 0x3E, 496 + LANG_KAZAK, 497 + LANG_KYRGYZ, 498 + LANG_SWAHILI, // = 0x41 499 + LANG_UZBEK = 0x43, 500 + LANG_TATAR, 501 + LANG_BENGALI, 502 + LANG_PUNJABI, 503 + LANG_GUJARATI, 504 + LANG_ORIYA, 505 + LANG_TAMIL, 506 + LANG_TELUGU, 507 + LANG_KANNADA, 508 + LANG_MALAYALAM, 509 + LANG_ASSAMESE, 510 + LANG_MARATHI, 511 + LANG_SANSKRIT, 512 + LANG_MONGOLIAN, 513 + LANG_TIBETAN, 514 + LANG_WELSH, 515 + LANG_KHMER, 516 + LANG_LAO, // = 0x54 517 + LANG_GALICIAN = 0x56, 518 + LANG_KONKANI, 519 + LANG_MANIPURI, 520 + LANG_SINDHI, 521 + LANG_SYRIAC, 522 + LANG_SINHALESE, // = 0x5B 523 + LANG_INUKTITUT = 0x5D, 524 + LANG_AMHARIC, 525 + LANG_TAMAZIGHT, 526 + LANG_KASHMIRI, 527 + LANG_NEPALI, 528 + LANG_FRISIAN, 529 + LANG_PASHTO, 530 + LANG_FILIPINO, 531 + LANG_DIVEHI, // = 0x65 532 + LANG_HAUSA = 0x68, 533 + LANG_YORUBA = 0x6A, 534 + LANG_QUECHUA, 535 + LANG_SOTHO, 536 + LANG_BASHKIR, 537 + LANG_LUXEMBOURGISH, 538 + LANG_GREENLANDIC, 539 + LANG_IGBO, // = 0x70 540 + LANG_TIGRIGNA = 0x73, 541 + LANG_YI = 0x78, 542 + LANG_MAPUDUNGUN = 0x7A, 543 + LANG_MOHAWK = 0x7C, 544 + LANG_BRETON = 0x7E, 545 + LANG_UIGHUR = 0x80, 546 + LANG_MAORI, 547 + LANG_OCCITAN, 548 + LANG_CORSICAN, 549 + LANG_ALSATIAN, 550 + LANG_YAKUT, 551 + LANG_KICHE, 552 + LANG_KINYARWANDA, 553 + LANG_WOLOF, // = 0x88 554 + LANG_DARI = 0x8C, 555 + LANG_MALAGASY, // = 0x8D 556 + 557 + LANG_SERBIAN_NEUTRAL = 0x7C1A, 558 + LANG_BOSNIAN_NEUTRAL = 0x781A, 559 + 560 + LANG_INVARIANT = 0x7F 561 +} 562 + 563 + 564 +// Sublanguage identifiers 565 +enum : USHORT { 566 + SUBLANG_NEUTRAL, 567 + SUBLANG_DEFAULT, 568 + SUBLANG_SYS_DEFAULT, 569 + SUBLANG_CUSTOM_DEFAULT, // = 3 570 + SUBLANG_UI_CUSTOM_DEFAULT = 3, 571 + SUBLANG_CUSTOM_UNSPECIFIED, // = 4 572 + 573 + SUBLANG_AFRIKAANS_SOUTH_AFRICA = 1, 574 + SUBLANG_ALBANIAN_ALBANIA = 1, 575 + SUBLANG_ALSATIAN_FRANCE = 1, 576 + SUBLANG_AMHARIC_ETHIOPIA = 1, 577 + 578 + SUBLANG_ARABIC_SAUDI_ARABIA = 1, 579 + SUBLANG_ARABIC_IRAQ, 580 + SUBLANG_ARABIC_EGYPT, 581 + SUBLANG_ARABIC_LIBYA, 582 + SUBLANG_ARABIC_ALGERIA, 583 + SUBLANG_ARABIC_MOROCCO, 584 + SUBLANG_ARABIC_TUNISIA, 585 + SUBLANG_ARABIC_OMAN, 586 + SUBLANG_ARABIC_YEMEN, 587 + SUBLANG_ARABIC_SYRIA, 588 + SUBLANG_ARABIC_JORDAN, 589 + SUBLANG_ARABIC_LEBANON, 590 + SUBLANG_ARABIC_KUWAIT, 591 + SUBLANG_ARABIC_UAE, 592 + SUBLANG_ARABIC_BAHRAIN, 593 + SUBLANG_ARABIC_QATAR, // = 16 594 + 595 + SUBLANG_ARMENIAN_ARMENIA = 1, 596 + SUBLANG_ASSAMESE_INDIA = 1, 597 + 598 + SUBLANG_AZERI_LATIN = 1, 599 + SUBLANG_AZERI_CYRILLIC, // = 2 600 + 601 + SUBLANG_BASHKIR_RUSSIA = 1, 602 + SUBLANG_BASQUE_BASQUE = 1, 603 + SUBLANG_BELARUSIAN_BELARUS = 1, 604 + SUBLANG_BENGALI_INDIA = 1, 605 + 606 + SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN = 5, 607 + SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC = 8, 608 + 609 + SUBLANG_BRETON_FRANCE = 1, 610 + SUBLANG_BULGARIAN_BULGARIA = 1, 611 + SUBLANG_CATALAN_CATALAN = 1, 612 + 613 + SUBLANG_CHINESE_TRADITIONAL = 1, 614 + SUBLANG_CHINESE_SIMPLIFIED, 615 + SUBLANG_CHINESE_HONGKONG, 616 + SUBLANG_CHINESE_SINGAPORE, 617 + SUBLANG_CHINESE_MACAU, // = 5 618 + 619 + SUBLANG_CORSICAN_FRANCE = 1, 620 + 621 + SUBLANG_CROATIAN_CROATIA = 1, 622 + SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN = 4, 623 + 624 + SUBLANG_CZECH_CZECH_REPUBLIC = 1, 625 + SUBLANG_DANISH_DENMARK = 1, 626 + SUBLANG_DIVEHI_MALDIVES = 1, 627 + 628 + SUBLANG_DUTCH = 1, 629 + SUBLANG_DUTCH_BELGIAN, // = 2 630 + 631 + SUBLANG_ENGLISH_US = 1, 632 + SUBLANG_ENGLISH_UK, 633 + SUBLANG_ENGLISH_AUS, 634 + SUBLANG_ENGLISH_CAN, 635 + SUBLANG_ENGLISH_NZ, 636 + SUBLANG_ENGLISH_EIRE, // = 6 637 + SUBLANG_ENGLISH_IRELAND = 6, 638 + SUBLANG_ENGLISH_SOUTH_AFRICA, 639 + SUBLANG_ENGLISH_JAMAICA, 640 + SUBLANG_ENGLISH_CARIBBEAN, 641 + SUBLANG_ENGLISH_BELIZE, 642 + SUBLANG_ENGLISH_TRINIDAD, 643 + SUBLANG_ENGLISH_ZIMBABWE, 644 + SUBLANG_ENGLISH_PHILIPPINES, // = 13 645 + SUBLANG_ENGLISH_INDIA = 16, 646 + SUBLANG_ENGLISH_MALAYSIA, 647 + SUBLANG_ENGLISH_SINGAPORE, // = 18 648 + 649 + SUBLANG_ESTONIAN_ESTONIA = 1, 650 + SUBLANG_FAEROESE_FAROE_ISLANDS = 1, 651 + SUBLANG_FILIPINO_PHILIPPINES = 1, 652 + SUBLANG_FINNISH_FINLAND = 1, 653 + 654 + SUBLANG_FRENCH = 1, 655 + SUBLANG_FRENCH_BELGIAN, 656 + SUBLANG_FRENCH_CANADIAN, 657 + SUBLANG_FRENCH_SWISS, 658 + SUBLANG_FRENCH_LUXEMBOURG, 659 + SUBLANG_FRENCH_MONACO, // = 6 660 + 661 + SUBLANG_FRISIAN_NETHERLANDS = 1, 662 + SUBLANG_GALICIAN_GALICIAN = 1, 663 + SUBLANG_GEORGIAN_GEORGIA = 1, 664 + 665 + SUBLANG_GERMAN = 1, 666 + SUBLANG_GERMAN_SWISS, 667 + SUBLANG_GERMAN_AUSTRIAN, 668 + SUBLANG_GERMAN_LUXEMBOURG, 669 + SUBLANG_GERMAN_LIECHTENSTEIN, // = 5 670 + 671 + SUBLANG_GREEK_GREECE = 1, 672 + SUBLANG_GREENLANDIC_GREENLAND = 1, 673 + SUBLANG_GUJARATI_INDIA = 1, 674 + SUBLANG_HAUSA_NIGERIA = 1, 675 + SUBLANG_HEBREW_ISRAEL = 1, 676 + SUBLANG_HINDI_INDIA = 1, 677 + SUBLANG_HUNGARIAN_HUNGARY = 1, 678 + SUBLANG_ICELANDIC_ICELAND = 1, 679 + SUBLANG_IGBO_NIGERIA = 1, 680 + SUBLANG_INDONESIAN_INDONESIA = 1, 681 + 682 + SUBLANG_INUKTITUT_CANADA = 1, 683 + SUBLANG_INUKTITUT_CANADA_LATIN = 1, 684 + 685 + SUBLANG_IRISH_IRELAND = 1, 686 + 687 + SUBLANG_ITALIAN = 1, 688 + SUBLANG_ITALIAN_SWISS, // = 2 689 + 690 + SUBLANG_JAPANESE_JAPAN = 1, 691 + 692 + SUBLANG_KASHMIRI_INDIA = 2, 693 + SUBLANG_KASHMIRI_SASIA = 2, 694 + 695 + SUBLANG_KAZAK_KAZAKHSTAN = 1, 696 + SUBLANG_KHMER_CAMBODIA = 1, 697 + SUBLANG_KICHE_GUATEMALA = 1, 698 + SUBLANG_KINYARWANDA_RWANDA = 1, 699 + SUBLANG_KONKANI_INDIA = 1, 700 + SUBLANG_KOREAN = 1, 701 + SUBLANG_KYRGYZ_KYRGYZSTAN = 1, 702 + SUBLANG_LAO_LAO_PDR = 1, 703 + SUBLANG_LATVIAN_LATVIA = 1, 704 + 705 + SUBLANG_LITHUANIAN = 1, 706 + SUBLANG_LITHUANIAN_LITHUANIA = 1, 707 + 708 + SUBLANG_LOWER_SORBIAN_GERMANY = 1, 709 + SUBLANG_LUXEMBOURGISH_LUXEMBOURG = 1, 710 + SUBLANG_MACEDONIAN_MACEDONIA = 1, 711 + SUBLANG_MALAYALAM_INDIA = 1, 712 + SUBLANG_MALTESE_MALTA = 1, 713 + SUBLANG_MAORI_NEW_ZEALAND = 1, 714 + SUBLANG_MAPUDUNGUN_CHILE = 1, 715 + SUBLANG_MARATHI_INDIA = 1, 716 + SUBLANG_MOHAWK_MOHAWK = 1, 717 + 718 + SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA = 1, 719 + SUBLANG_MONGOLIAN_PRC, // = 2 720 + 721 + SUBLANG_MALAY_MALAYSIA = 1, 722 + SUBLANG_MALAY_BRUNEI_DARUSSALAM, // = 2 723 + 724 + SUBLANG_NEPALI_NEPAL = 1, 725 + SUBLANG_NEPALI_INDIA, // = 2 726 + 727 + SUBLANG_NORWEGIAN_BOKMAL = 1, 728 + SUBLANG_NORWEGIAN_NYNORSK, // = 2 729 + 730 + SUBLANG_OCCITAN_FRANCE = 1, 731 + SUBLANG_ORIYA_INDIA = 1, 732 + SUBLANG_PASHTO_AFGHANISTAN = 1, 733 + SUBLANG_PERSIAN_IRAN = 1, 734 + SUBLANG_POLISH_POLAND = 1, 735 + 736 + SUBLANG_PORTUGUESE_BRAZILIAN = 1, 737 + SUBLANG_PORTUGUESE = 2, 738 + SUBLANG_PORTUGUESE_PORTUGAL, // = 2 739 + 740 + SUBLANG_PUNJABI_INDIA = 1, 741 + 742 + SUBLANG_QUECHUA_BOLIVIA = 1, 743 + SUBLANG_QUECHUA_ECUADOR, 744 + SUBLANG_QUECHUA_PERU, // = 3 745 + 746 + SUBLANG_ROMANIAN_ROMANIA = 1, 747 + SUBLANG_ROMANSH_SWITZERLAND = 1, 748 + SUBLANG_RUSSIAN_RUSSIA = 1, 749 + 750 + SUBLANG_SAMI_NORTHERN_NORWAY = 1, 751 + SUBLANG_SAMI_NORTHERN_SWEDEN, 752 + SUBLANG_SAMI_NORTHERN_FINLAND, // = 3 753 + SUBLANG_SAMI_SKOLT_FINLAND = 3, 754 + SUBLANG_SAMI_INARI_FINLAND = 3, 755 + SUBLANG_SAMI_LULE_NORWAY, 756 + SUBLANG_SAMI_LULE_SWEDEN, 757 + SUBLANG_SAMI_SOUTHERN_NORWAY, 758 + SUBLANG_SAMI_SOUTHERN_SWEDEN, // = 7 759 + 760 + SUBLANG_SANSKRIT_INDIA = 1, 761 + 762 + SUBLANG_SERBIAN_LATIN = 2, 763 + SUBLANG_SERBIAN_CYRILLIC, // = 3 764 + SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN = 6, 765 + SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC = 7, 766 + 767 + SUBLANG_SINDHI_AFGHANISTAN = 2, 768 + SUBLANG_SINHALESE_SRI_LANKA = 1, 769 + SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA = 1, 770 + SUBLANG_SLOVAK_SLOVAKIA = 1, 771 + SUBLANG_SLOVENIAN_SLOVENIA = 1, 772 + 773 + SUBLANG_SPANISH = 1, 774 + SUBLANG_SPANISH_MEXICAN, 775 + SUBLANG_SPANISH_MODERN, 776 + SUBLANG_SPANISH_GUATEMALA, 777 + SUBLANG_SPANISH_COSTA_RICA, 778 + SUBLANG_SPANISH_PANAMA, 779 + SUBLANG_SPANISH_DOMINICAN_REPUBLIC, 780 + SUBLANG_SPANISH_VENEZUELA, 781 + SUBLANG_SPANISH_COLOMBIA, 782 + SUBLANG_SPANISH_PERU, 783 + SUBLANG_SPANISH_ARGENTINA, 784 + SUBLANG_SPANISH_ECUADOR, 785 + SUBLANG_SPANISH_CHILE, 786 + SUBLANG_SPANISH_URUGUAY, 787 + SUBLANG_SPANISH_PARAGUAY, 788 + SUBLANG_SPANISH_BOLIVIA, 789 + SUBLANG_SPANISH_EL_SALVADOR, 790 + SUBLANG_SPANISH_HONDURAS, 791 + SUBLANG_SPANISH_NICARAGUA, 792 + SUBLANG_SPANISH_PUERTO_RICO, 793 + SUBLANG_SPANISH_US, // = 21 794 + 795 + SUBLANG_SWEDISH = 1, 796 + SUBLANG_SWEDISH_SWEDEN = 1, 797 + SUBLANG_SWEDISH_FINLAND, // = 2 798 + 799 + SUBLANG_SYRIAC = 1, 800 + SUBLANG_TAJIK_TAJIKISTAN = 1, 801 + SUBLANG_TAMAZIGHT_ALGERIA_LATIN = 2, 802 + SUBLANG_TAMIL_INDIA = 1, 803 + SUBLANG_TATAR_RUSSIA = 1, 804 + SUBLANG_TELUGU_INDIA = 1, 805 + SUBLANG_THAI_THAILAND = 1, 806 + SUBLANG_TIBETAN_PRC = 1, 807 + SUBLANG_TIBETAN_BHUTAN = 2, 808 + SUBLANG_TIGRIGNA_ERITREA = 1, 809 + SUBLANG_TSWANA_SOUTH_AFRICA = 1, 810 + SUBLANG_TURKISH_TURKEY = 1, 811 + SUBLANG_TURKMEN_TURKMENISTAN = 1, 812 + SUBLANG_UIGHUR_PRC = 1, 813 + SUBLANG_UKRAINIAN_UKRAINE = 1, 814 + SUBLANG_UPPER_SORBIAN_GERMANY = 1, 815 + 816 + SUBLANG_URDU_PAKISTAN = 1, 817 + SUBLANG_URDU_INDIA, // = 2 818 + 819 + SUBLANG_UZBEK_LATIN = 1, 820 + SUBLANG_UZBEK_CYRILLIC, // = 2 821 + 822 + SUBLANG_VIETNAMESE_VIETNAM = 1, 823 + SUBLANG_WELSH_UNITED_KINGDOM = 1, 824 + SUBLANG_WOLOF_SENEGAL = 1, 825 + SUBLANG_YORUBA_NIGERIA = 1, 826 + SUBLANG_XHOSA_SOUTH_AFRICA = 1, 827 + SUBLANG_YAKUT_RUSSIA = 1, 828 + SUBLANG_YI_PRC = 1, 829 + SUBLANG_ZULU_SOUTH_AFRICA = 1 830 +} 831 + 832 +// This is not documented on MSDN 833 +const NLS_VALID_LOCALE_MASK = 1048575; 834 + 835 +// Sorting identifiers 836 +enum : WORD { 837 + SORT_DEFAULT = 0, 838 + SORT_JAPANESE_XJIS = 0, 839 + SORT_JAPANESE_UNICODE = 1, 840 + SORT_CHINESE_BIG5 = 0, 841 + SORT_CHINESE_PRCP = 0, 842 + SORT_CHINESE_UNICODE = 1, 843 + SORT_CHINESE_PRC = 2, 844 + SORT_CHINESE_BOPOMOFO = 3, 845 + SORT_KOREAN_KSC = 0, 846 + SORT_KOREAN_UNICODE = 1, 847 + SORT_GERMAN_PHONE_BOOK = 1, 848 + SORT_HUNGARIAN_DEFAULT = 0, 849 + SORT_HUNGARIAN_TECHNICAL = 1, 850 + SORT_GEORGIAN_TRADITIONAL = 0, 851 + SORT_GEORGIAN_MODERN = 1 852 +} 853 + 854 +WORD MAKELANGID(USHORT p, USHORT s) { return cast(WORD)((s << 10) | p); } 855 +WORD PRIMARYLANGID(WORD lgid) { return cast(WORD)(lgid & 0x3FF); } 856 +WORD SUBLANGID(WORD lgid) { return cast(WORD)(lgid >>> 10); } 857 + 858 +DWORD MAKELCID(WORD lgid, WORD srtid) { return (cast(DWORD) srtid << 16) | cast(DWORD) lgid; } 859 +// ??? 860 +//DWORD MAKESORTLCID(WORD lgid, WORD srtid, WORD ver) { return (MAKELCID(lgid, srtid)) | ((cast(DWORD)ver) << 20); } 861 +WORD LANGIDFROMLCID(LCID lcid) { return cast(WORD) lcid; } 862 +WORD SORTIDFROMLCID(LCID lcid) { return cast(WORD) ((lcid >>> 16) & 0x0F); } 863 +WORD SORTVERSIONFROMLCID(LCID lcid) { return cast(WORD) ((lcid >>> 20) & 0x0F); } 864 + 865 +const WORD LANG_SYSTEM_DEFAULT = (SUBLANG_SYS_DEFAULT << 10) | LANG_NEUTRAL; 866 +const WORD LANG_USER_DEFAULT = (SUBLANG_DEFAULT << 10) | LANG_NEUTRAL; 867 +const DWORD LOCALE_NEUTRAL = (SORT_DEFAULT << 16) 868 + | (SUBLANG_NEUTRAL << 10) | LANG_NEUTRAL; 869 + 870 +// --- 871 +enum : BYTE { 872 + ACL_REVISION = 2, 873 + ACL_REVISION_DS = 4 874 +} 875 + 876 +// These are not documented on MSDN 877 +enum : BYTE { 878 + ACL_REVISION1 = 1, 879 + ACL_REVISION2, 880 + ACL_REVISION3, 881 + ACL_REVISION4 // = 4 882 +} 883 + 884 +const BYTE 885 + MIN_ACL_REVISION = 2, 886 + MAX_ACL_REVISION = 4; 887 + 888 +/+ 889 +// These aren't necessary for D. 890 +const MINCHAR=0x80; 891 +const MAXCHAR=0x7f; 892 +const MINSHORT=0x8000; 893 +const MAXSHORT=0x7fff; 894 +const MINLONG=0x80000000; 895 +const MAXLONG=0x7fffffff; 896 +const MAXBYTE=0xff; 897 +const MAXWORD=0xffff; 898 +const MAXDWORD=0xffffffff; 899 ++/ 900 + 901 +// SYSTEM_INFO.dwProcessorType 902 +enum : DWORD { 903 + PROCESSOR_INTEL_386 = 386, 904 + PROCESSOR_INTEL_486 = 486, 905 + PROCESSOR_INTEL_PENTIUM = 586, 906 + PROCESSOR_MIPS_R4000 = 4000, 907 + PROCESSOR_ALPHA_21064 = 21064, 908 + PROCESSOR_INTEL_IA64 = 2200 909 +} 910 + 911 +// SYSTEM_INFO.wProcessorArchitecture 912 +enum : WORD { 913 + PROCESSOR_ARCHITECTURE_INTEL, 914 + PROCESSOR_ARCHITECTURE_MIPS, 915 + PROCESSOR_ARCHITECTURE_ALPHA, 916 + PROCESSOR_ARCHITECTURE_PPC, 917 + PROCESSOR_ARCHITECTURE_SHX, 918 + PROCESSOR_ARCHITECTURE_ARM, 919 + PROCESSOR_ARCHITECTURE_IA64, 920 + PROCESSOR_ARCHITECTURE_ALPHA64, 921 + PROCESSOR_ARCHITECTURE_MSIL, 922 + PROCESSOR_ARCHITECTURE_AMD64, 923 + PROCESSOR_ARCHITECTURE_IA32_ON_WIN64, // = 10 924 + PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF 925 +} 926 + 927 +// IsProcessorFeaturePresent() 928 +enum : DWORD { 929 + PF_FLOATING_POINT_PRECISION_ERRATA, 930 + PF_FLOATING_POINT_EMULATED, 931 + PF_COMPARE_EXCHANGE_DOUBLE, 932 + PF_MMX_INSTRUCTIONS_AVAILABLE, 933 + PF_PPC_MOVEMEM_64BIT_OK, 934 + PF_ALPHA_BYTE_INSTRUCTIONS, 935 + PF_XMMI_INSTRUCTIONS_AVAILABLE, 936 + PF_3DNOW_INSTRUCTIONS_AVAILABLE, 937 + PF_RDTSC_INSTRUCTION_AVAILABLE, 938 + PF_PAE_ENABLED, 939 + PF_XMMI64_INSTRUCTIONS_AVAILABLE 940 +} 941 + 942 +// MinGW: also in ddk/ntifs.h 943 +enum : DWORD { 944 + FILE_ACTION_ADDED = 1, 945 + FILE_ACTION_REMOVED, 946 + FILE_ACTION_MODIFIED, 947 + FILE_ACTION_RENAMED_OLD_NAME, 948 + FILE_ACTION_RENAMED_NEW_NAME, 949 + FILE_ACTION_ADDED_STREAM, 950 + FILE_ACTION_REMOVED_STREAM, 951 + FILE_ACTION_MODIFIED_STREAM, 952 + FILE_ACTION_REMOVED_BY_DELETE, 953 + FILE_ACTION_ID_NOT_TUNNELLED, 954 + FILE_ACTION_TUNNELLED_ID_COLLISION // = 11 955 +} 956 +// MinGW: end ntifs.h 957 + 958 +const DWORD 959 + HEAP_NO_SERIALIZE = 0x01, 960 + HEAP_GROWABLE = 0x02, 961 + HEAP_GENERATE_EXCEPTIONS = 0x04, 962 + HEAP_ZERO_MEMORY = 0x08, 963 + HEAP_REALLOC_IN_PLACE_ONLY = 0x10, 964 + HEAP_TAIL_CHECKING_ENABLED = 0x20, 965 + HEAP_FREE_CHECKING_ENABLED = 0x40, 966 + HEAP_DISABLE_COALESCE_ON_FREE = 0x80; 967 + 968 +// These are not documented on MSDN 969 +const HEAP_CREATE_ALIGN_16 = 0; 970 +const HEAP_CREATE_ENABLE_TRACING = 0x020000; 971 +const HEAP_MAXIMUM_TAG = 0x000FFF; 972 +const HEAP_PSEUDO_TAG_FLAG = 0x008000; 973 +const HEAP_TAG_SHIFT = 16; 974 +// ??? 975 +//MACRO #define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16))) 976 + 977 +const ACCESS_MASK 978 + KEY_QUERY_VALUE = 0x000001, 979 + KEY_SET_VALUE = 0x000002, 980 + KEY_CREATE_SUB_KEY = 0x000004, 981 + KEY_ENUMERATE_SUB_KEYS = 0x000008, 982 + KEY_NOTIFY = 0x000010, 983 + KEY_CREATE_LINK = 0x000020, 984 + KEY_WRITE = 0x020006, 985 + KEY_EXECUTE = 0x020019, 986 + KEY_READ = 0x020019, 987 + KEY_ALL_ACCESS = 0x0F003F; 988 + 989 +static if (WINVER >= 0x502) { 990 + const ACCESS_MASK 991 + KEY_WOW64_64KEY = 0x000100, 992 + KEY_WOW64_32KEY = 0x000200; 993 +} 994 + 995 +const DWORD 996 + REG_WHOLE_HIVE_VOLATILE = 1, 997 + REG_REFRESH_HIVE = 2, 998 + REG_NO_LAZY_FLUSH = 4; 999 + 1000 +const DWORD 1001 + REG_OPTION_RESERVED = 0, 1002 + REG_OPTION_NON_VOLATILE = 0, 1003 + REG_OPTION_VOLATILE = 1, 1004 + REG_OPTION_CREATE_LINK = 2, 1005 + REG_OPTION_BACKUP_RESTORE = 4, 1006 + REG_OPTION_OPEN_LINK = 8, 1007 + REG_LEGAL_OPTION = 15; 1008 + 1009 +const SECURITY_INFORMATION 1010 + OWNER_SECURITY_INFORMATION = 0x00000001, 1011 + GROUP_SECURITY_INFORMATION = 0x00000002, 1012 + DACL_SECURITY_INFORMATION = 0x00000004, 1013 + SACL_SECURITY_INFORMATION = 0x00000008, 1014 + LABEL_SECURITY_INFORMATION = 0x00000010, 1015 + UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000, 1016 + UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000, 1017 + PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000, 1018 + PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000; 1019 + 1020 +const DWORD MAXIMUM_PROCESSORS = 32; 1021 + 1022 +// VirtualAlloc(), etc 1023 +// ------------------- 1024 + 1025 +enum : DWORD { 1026 + PAGE_NOACCESS = 0x0001, 1027 + PAGE_READONLY = 0x0002, 1028 + PAGE_READWRITE = 0x0004, 1029 + PAGE_WRITECOPY = 0x0008, 1030 + PAGE_EXECUTE = 0x0010, 1031 + PAGE_EXECUTE_READ = 0x0020, 1032 + PAGE_EXECUTE_READWRITE = 0x0040, 1033 + PAGE_EXECUTE_WRITECOPY = 0x0080, 1034 + PAGE_GUARD = 0x0100, 1035 + PAGE_NOCACHE = 0x0200 1036 +} 1037 + 1038 +enum : DWORD { 1039 + MEM_COMMIT = 0x00001000, 1040 + MEM_RESERVE = 0x00002000, 1041 + MEM_DECOMMIT = 0x00004000, 1042 + MEM_RELEASE = 0x00008000, 1043 + MEM_FREE = 0x00010000, 1044 + MEM_PRIVATE = 0x00020000, 1045 + MEM_MAPPED = 0x00040000, 1046 + MEM_RESET = 0x00080000, 1047 + MEM_TOP_DOWN = 0x00100000, 1048 + MEM_WRITE_WATCH = 0x00200000, // MinGW (???): 98/Me 1049 + MEM_PHYSICAL = 0x00400000, 1050 + MEM_4MB_PAGES = 0x80000000 1051 +} 1052 + 1053 +// MinGW: also in ddk/ntifs.h 1054 +// CreateFileMapping() 1055 +const DWORD 1056 + SEC_BASED = 0x00200000, 1057 + SEC_NO_CHANGE = 0x00400000, 1058 + SEC_FILE = 0x00800000, 1059 + SEC_IMAGE = 0x01000000, 1060 + SEC_VLM = 0x02000000, 1061 + SEC_RESERVE = 0x04000000, 1062 + SEC_COMMIT = 0x08000000, 1063 + SEC_NOCACHE = 0x10000000, 1064 + MEM_IMAGE = SEC_IMAGE; 1065 +// MinGW: end ntifs.h 1066 + 1067 +// ??? 1068 +const ACCESS_MASK 1069 + SECTION_QUERY = 0x000001, 1070 + SECTION_MAP_WRITE = 0x000002, 1071 + SECTION_MAP_READ = 0x000004, 1072 + SECTION_MAP_EXECUTE = 0x000008, 1073 + SECTION_EXTEND_SIZE = 0x000010, 1074 + SECTION_ALL_ACCESS = 0x0F001F; 1075 + 1076 +// These are not documented on MSDN 1077 +const MESSAGE_RESOURCE_UNICODE = 1; 1078 +const RTL_CRITSECT_TYPE = 0; 1079 +const RTL_RESOURCE_TYPE = 1; 1080 + 1081 +// COFF file format 1082 +// ---------------- 1083 + 1084 +// IMAGE_FILE_HEADER.Characteristics 1085 +const WORD 1086 + IMAGE_FILE_RELOCS_STRIPPED = 0x0001, 1087 + IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002, 1088 + IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004, 1089 + IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008, 1090 + IMAGE_FILE_AGGRESIVE_WS_TRIM = 0x0010, 1091 + IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020, 1092 + IMAGE_FILE_BYTES_REVERSED_LO = 0x0080, 1093 + IMAGE_FILE_32BIT_MACHINE = 0x0100, 1094 + IMAGE_FILE_DEBUG_STRIPPED = 0x0200, 1095 + IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400, 1096 + IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800, 1097 + IMAGE_FILE_SYSTEM = 0x1000, 1098 + IMAGE_FILE_DLL = 0x2000, 1099 + IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000, 1100 + IMAGE_FILE_BYTES_REVERSED_HI = 0x8000; 1101 + 1102 +// IMAGE_FILE_HEADER.Machine 1103 +enum : WORD { 1104 + IMAGE_FILE_MACHINE_UNKNOWN = 0x0000, 1105 + IMAGE_FILE_MACHINE_I386 = 0x014C, 1106 + IMAGE_FILE_MACHINE_R3000 = 0x0162, 1107 + IMAGE_FILE_MACHINE_R4000 = 0x0166, 1108 + IMAGE_FILE_MACHINE_R10000 = 0x0168, 1109 + IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169, 1110 + IMAGE_FILE_MACHINE_ALPHA = 0x0184, 1111 + IMAGE_FILE_MACHINE_SH3 = 0x01A2, 1112 + IMAGE_FILE_MACHINE_SH3DSP = 0x01A3, 1113 + IMAGE_FILE_MACHINE_SH4 = 0x01A6, 1114 + IMAGE_FILE_MACHINE_SH5 = 0x01A8, 1115 + IMAGE_FILE_MACHINE_ARM = 0x01C0, 1116 + IMAGE_FILE_MACHINE_THUMB = 0x01C2, 1117 + IMAGE_FILE_MACHINE_AM33 = 0x01D3, 1118 + IMAGE_FILE_MACHINE_POWERPC = 0x01F0, 1119 + IMAGE_FILE_MACHINE_POWERPCFP = 0x01F1, 1120 + IMAGE_FILE_MACHINE_IA64 = 0x0200, 1121 + IMAGE_FILE_MACHINE_MIPS16 = 0x0266, 1122 + IMAGE_FILE_MACHINE_MIPSFPU = 0x0366, 1123 + IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466, 1124 + IMAGE_FILE_MACHINE_EBC = 0x0EBC, 1125 + IMAGE_FILE_MACHINE_AMD64 = 0x8664, 1126 + IMAGE_FILE_MACHINE_M32R = 0x9041 1127 +} 1128 + 1129 +// ??? 1130 +enum { 1131 + IMAGE_DOS_SIGNATURE = 0x5A4D, 1132 + IMAGE_OS2_SIGNATURE = 0x454E, 1133 + IMAGE_OS2_SIGNATURE_LE = 0x454C, 1134 + IMAGE_VXD_SIGNATURE = 0x454C, 1135 + IMAGE_NT_SIGNATURE = 0x4550 1136 +} 1137 + 1138 +// IMAGE_OPTIONAL_HEADER.Magic 1139 +enum : WORD { 1140 + IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x010B, 1141 + IMAGE_ROM_OPTIONAL_HDR_MAGIC = 0x0107, 1142 + IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x020B 1143 +} 1144 + 1145 +// IMAGE_OPTIONAL_HEADER.Subsystem 1146 +enum : WORD { 1147 + IMAGE_SUBSYSTEM_UNKNOWN = 0, 1148 + IMAGE_SUBSYSTEM_NATIVE, 1149 + IMAGE_SUBSYSTEM_WINDOWS_GUI, 1150 + IMAGE_SUBSYSTEM_WINDOWS_CUI, // = 3 1151 + IMAGE_SUBSYSTEM_OS2_CUI = 5, 1152 + IMAGE_SUBSYSTEM_POSIX_CUI = 7, 1153 + IMAGE_SUBSYSTEM_NATIVE_WINDOWS, 1154 + IMAGE_SUBSYSTEM_WINDOWS_CE_GUI, 1155 + IMAGE_SUBSYSTEM_EFI_APPLICATION, 1156 + IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER, 1157 + IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER, 1158 + IMAGE_SUBSYSTEM_EFI_ROM, 1159 + IMAGE_SUBSYSTEM_XBOX, // = 14 1160 + IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16 1161 +} 1162 + 1163 +// IMAGE_OPTIONAL_HEADER.DllCharacteristics 1164 +const WORD 1165 + IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040, 1166 + IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY = 0x0080, 1167 + IMAGE_DLL_CHARACTERISTICS_NX_COMPAT = 0x0100, 1168 + IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = 0x0200, 1169 + IMAGE_DLLCHARACTERISTICS_NO_SEH = 0x0400, 1170 + IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800, 1171 + IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000, 1172 + IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000; 1173 + 1174 +// ??? 1175 +const IMAGE_SEPARATE_DEBUG_SIGNATURE = 0x4944; 1176 + 1177 +const size_t 1178 + IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16, 1179 + IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56, 1180 + IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28, 1181 + IMAGE_SIZEOF_NT_OPTIONAL_HEADER = 224, 1182 + IMAGE_SIZEOF_SHORT_NAME = 8, 1183 + IMAGE_SIZEOF_SECTION_HEADER = 40, 1184 + IMAGE_SIZEOF_SYMBOL = 18, 1185 + IMAGE_SIZEOF_AUX_SYMBOL = 18, 1186 + IMAGE_SIZEOF_RELOCATION = 10, 1187 + IMAGE_SIZEOF_BASE_RELOCATION = 8, 1188 + IMAGE_SIZEOF_LINENUMBER = 6, 1189 + IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR = 60, 1190 + SIZEOF_RFPO_DATA = 16; 1191 + 1192 +PIMAGE_SECTION_HEADER IMAGE_FIRST_SECTION(PIMAGE_NT_HEADERS h) { 1193 + return cast(PIMAGE_SECTION_HEADER) 1194 + (&h.OptionalHeader + h.FileHeader.SizeOfOptionalHeader); 1195 +} 1196 + 1197 +// ImageDirectoryEntryToDataEx() 1198 +enum : USHORT { 1199 + IMAGE_DIRECTORY_ENTRY_EXPORT = 0, 1200 + IMAGE_DIRECTORY_ENTRY_IMPORT, 1201 + IMAGE_DIRECTORY_ENTRY_RESOURCE, 1202 + IMAGE_DIRECTORY_ENTRY_EXCEPTION, 1203 + IMAGE_DIRECTORY_ENTRY_SECURITY, 1204 + IMAGE_DIRECTORY_ENTRY_BASERELOC, 1205 + IMAGE_DIRECTORY_ENTRY_DEBUG, 1206 + IMAGE_DIRECTORY_ENTRY_COPYRIGHT, // = 7 1207 + IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7, 1208 + IMAGE_DIRECTORY_ENTRY_GLOBALPTR, 1209 + IMAGE_DIRECTORY_ENTRY_TLS, 1210 + IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG, 1211 + IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT, 1212 + IMAGE_DIRECTORY_ENTRY_IAT, 1213 + IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT, 1214 + IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR, // = 14 1215 +} 1216 + 1217 +// IMAGE_SECTION_HEADER.Characteristics 1218 +const DWORD 1219 + IMAGE_SCN_TYPE_REG = 0x00000000, 1220 + IMAGE_SCN_TYPE_DSECT = 0x00000001, 1221 + IMAGE_SCN_TYPE_NOLOAD = 0x00000002, 1222 + IMAGE_SCN_TYPE_GROUP = 0x00000004, 1223 + IMAGE_SCN_TYPE_NO_PAD = 0x00000008, 1224 + IMAGE_SCN_TYPE_COPY = 0x00000010, 1225 + IMAGE_SCN_CNT_CODE = 0x00000020, 1226 + IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040, 1227 + IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080, 1228 + IMAGE_SCN_LNK_OTHER = 0x00000100, 1229 + IMAGE_SCN_LNK_INFO = 0x00000200, 1230 + IMAGE_SCN_TYPE_OVER = 0x00000400, 1231 + IMAGE_SCN_LNK_REMOVE = 0x00000800, 1232 + IMAGE_SCN_LNK_COMDAT = 0x00001000, 1233 + IMAGE_SCN_MEM_FARDATA = 0x00008000, 1234 + IMAGE_SCN_GPREL = 0x00008000, 1235 + IMAGE_SCN_MEM_PURGEABLE = 0x00020000, 1236 + IMAGE_SCN_MEM_16BIT = 0x00020000, 1237 + IMAGE_SCN_MEM_LOCKED = 0x00040000, 1238 + IMAGE_SCN_MEM_PRELOAD = 0x00080000, 1239 + IMAGE_SCN_ALIGN_1BYTES = 0x00100000, 1240 + IMAGE_SCN_ALIGN_2BYTES = 0x00200000, 1241 + IMAGE_SCN_ALIGN_4BYTES = 0x00300000, 1242 + IMAGE_SCN_ALIGN_8BYTES = 0x00400000, 1243 + IMAGE_SCN_ALIGN_16BYTES = 0x00500000, 1244 + IMAGE_SCN_ALIGN_32BYTES = 0x00600000, 1245 + IMAGE_SCN_ALIGN_64BYTES = 0x00700000, 1246 + IMAGE_SCN_ALIGN_128BYTES = 0x00800000, 1247 + IMAGE_SCN_ALIGN_256BYTES = 0x00900000, 1248 + IMAGE_SCN_ALIGN_512BYTES = 0x00A00000, 1249 + IMAGE_SCN_ALIGN_1024BYTES = 0x00B00000, 1250 + IMAGE_SCN_ALIGN_2048BYTES = 0x00C00000, 1251 + IMAGE_SCN_ALIGN_4096BYTES = 0x00D00000, 1252 + IMAGE_SCN_ALIGN_8192BYTES = 0x00E00000, 1253 + IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000, 1254 + IMAGE_SCN_MEM_DISCARDABLE = 0x02000000, 1255 + IMAGE_SCN_MEM_NOT_CACHED = 0x04000000, 1256 + IMAGE_SCN_MEM_NOT_PAGED = 0x08000000, 1257 + IMAGE_SCN_MEM_SHARED = 0x10000000, 1258 + IMAGE_SCN_MEM_EXECUTE = 0x20000000, 1259 + IMAGE_SCN_MEM_READ = 0x40000000, 1260 + IMAGE_SCN_MEM_WRITE = 0x80000000; 1261 + 1262 +/* The following constants are mostlydocumented at 1263 + * http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/pecoff.doc 1264 + * but don't seem to be defined in the HTML docs. 1265 + */ 1266 +enum : SHORT { 1267 + IMAGE_SYM_UNDEFINED = 0, 1268 + IMAGE_SYM_ABSOLUTE = -1, 1269 + IMAGE_SYM_DEBUG = -2 1270 +} 1271 + 1272 +enum : ubyte { 1273 + IMAGE_SYM_TYPE_NULL, 1274 + IMAGE_SYM_TYPE_VOID, 1275 + IMAGE_SYM_TYPE_CHAR, 1276 + IMAGE_SYM_TYPE_SHORT, 1277 + IMAGE_SYM_TYPE_INT, 1278 + IMAGE_SYM_TYPE_LONG, 1279 + IMAGE_SYM_TYPE_FLOAT, 1280 + IMAGE_SYM_TYPE_DOUBLE, 1281 + IMAGE_SYM_TYPE_STRUCT, 1282 + IMAGE_SYM_TYPE_UNION, 1283 + IMAGE_SYM_TYPE_ENUM, 1284 + IMAGE_SYM_TYPE_MOE, 1285 + IMAGE_SYM_TYPE_BYTE, 1286 + IMAGE_SYM_TYPE_WORD, 1287 + IMAGE_SYM_TYPE_UINT, 1288 + IMAGE_SYM_TYPE_DWORD // = 15 1289 +} 1290 +const IMAGE_SYM_TYPE_PCODE = 32768; // ??? 1291 + 1292 +enum : ubyte { 1293 + IMAGE_SYM_DTYPE_NULL, 1294 + IMAGE_SYM_DTYPE_POINTER, 1295 + IMAGE_SYM_DTYPE_FUNCTION, 1296 + IMAGE_SYM_DTYPE_ARRAY 1297 +} 1298 + 1299 +enum : BYTE { 1300 + IMAGE_SYM_CLASS_END_OF_FUNCTION = 0xFF, 1301 + IMAGE_SYM_CLASS_NULL = 0, 1302 + IMAGE_SYM_CLASS_AUTOMATIC, 1303 + IMAGE_SYM_CLASS_EXTERNAL, 1304 + IMAGE_SYM_CLASS_STATIC, 1305 + IMAGE_SYM_CLASS_REGISTER, 1306 + IMAGE_SYM_CLASS_EXTERNAL_DEF, 1307 + IMAGE_SYM_CLASS_LABEL, 1308 + IMAGE_SYM_CLASS_UNDEFINED_LABEL, 1309 + IMAGE_SYM_CLASS_MEMBER_OF_STRUCT, 1310 + IMAGE_SYM_CLASS_ARGUMENT, 1311 + IMAGE_SYM_CLASS_STRUCT_TAG, 1312 + IMAGE_SYM_CLASS_MEMBER_OF_UNION, 1313 + IMAGE_SYM_CLASS_UNION_TAG, 1314 + IMAGE_SYM_CLASS_TYPE_DEFINITION, 1315 + IMAGE_SYM_CLASS_UNDEFINED_STATIC, 1316 + IMAGE_SYM_CLASS_ENUM_TAG, 1317 + IMAGE_SYM_CLASS_MEMBER_OF_ENUM, 1318 + IMAGE_SYM_CLASS_REGISTER_PARAM, 1319 + IMAGE_SYM_CLASS_BIT_FIELD, // = 18 1320 + IMAGE_SYM_CLASS_FAR_EXTERNAL = 68, 1321 + IMAGE_SYM_CLASS_BLOCK = 100, 1322 + IMAGE_SYM_CLASS_FUNCTION, 1323 + IMAGE_SYM_CLASS_END_OF_STRUCT, 1324 + IMAGE_SYM_CLASS_FILE, 1325 + IMAGE_SYM_CLASS_SECTION, 1326 + IMAGE_SYM_CLASS_WEAK_EXTERNAL,// = 105 1327 + IMAGE_SYM_CLASS_CLR_TOKEN = 107 1328 +} 1329 + 1330 +enum : BYTE { 1331 + IMAGE_COMDAT_SELECT_NODUPLICATES = 1, 1332 + IMAGE_COMDAT_SELECT_ANY, 1333 + IMAGE_COMDAT_SELECT_SAME_SIZE, 1334 + IMAGE_COMDAT_SELECT_EXACT_MATCH, 1335 + IMAGE_COMDAT_SELECT_ASSOCIATIVE, 1336 + IMAGE_COMDAT_SELECT_LARGEST, 1337 + IMAGE_COMDAT_SELECT_NEWEST // = 7 1338 +} 1339 + 1340 +enum : DWORD { 1341 + IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1, 1342 + IMAGE_WEAK_EXTERN_SEARCH_LIBRARY, 1343 + IMAGE_WEAK_EXTERN_SEARCH_ALIAS 1344 +} 1345 + 1346 +enum : WORD { 1347 + IMAGE_REL_I386_ABSOLUTE = 0x0000, 1348 + IMAGE_REL_I386_DIR16 = 0x0001, 1349 + IMAGE_REL_I386_REL16 = 0x0002, 1350 + IMAGE_REL_I386_DIR32 = 0x0006, 1351 + IMAGE_REL_I386_DIR32NB = 0x0007, 1352 + IMAGE_REL_I386_SEG12 = 0x0009, 1353 + IMAGE_REL_I386_SECTION = 0x000A, 1354 + IMAGE_REL_I386_SECREL = 0x000B, 1355 + IMAGE_REL_I386_TOKEN = 0x000C, 1356 + IMAGE_REL_I386_SECREL7 = 0x000D, 1357 + IMAGE_REL_I386_REL32 = 0x0014 1358 +} 1359 + 1360 +enum : WORD { 1361 + IMAGE_REL_AMD64_ABSOLUTE = 0x0000, 1362 + IMAGE_REL_AMD64_ADDR64 = 0x0001, 1363 + IMAGE_REL_AMD64_ADDR32 = 0x0002, 1364 + IMAGE_REL_AMD64_ADDR32NB = 0x0003, 1365 + IMAGE_REL_AMD64_REL32 = 0x0004, 1366 + IMAGE_REL_AMD64_REL32_1 = 0x0005, 1367 + IMAGE_REL_AMD64_REL32_2 = 0x0006, 1368 + IMAGE_REL_AMD64_REL32_3 = 0x0007, 1369 + IMAGE_REL_AMD64_REL32_4 = 0x0008, 1370 + IMAGE_REL_AMD64_REL32_5 = 0x0009, 1371 + IMAGE_REL_AMD64_SECTION = 0x000A, 1372 + IMAGE_REL_AMD64_SECREL = 0x000B, 1373 + IMAGE_REL_AMD64_SECREL7 = 0x000C, 1374 + IMAGE_REL_AMD64_TOKEN = 0x000D, 1375 + IMAGE_REL_AMD64_SREL32 = 0x000E, 1376 + IMAGE_REL_AMD64_PAIR = 0x000F, 1377 + IMAGE_REL_AMD64_SSPAN32 = 0x0010 1378 +} 1379 + 1380 +enum : WORD { 1381 + IMAGE_REL_IA64_ABSOLUTE = 0x0000, 1382 + IMAGE_REL_IA64_IMM14 = 0x0001, 1383 + IMAGE_REL_IA64_IMM22 = 0x0002, 1384 + IMAGE_REL_IA64_IMM64 = 0x0003, 1385 + IMAGE_REL_IA64_DIR32 = 0x0004, 1386 + IMAGE_REL_IA64_DIR64 = 0x0005, 1387 + IMAGE_REL_IA64_PCREL21B = 0x0006, 1388 + IMAGE_REL_IA64_PCREL21M = 0x0007, 1389 + IMAGE_REL_IA64_PCREL21F = 0x0008, 1390 + IMAGE_REL_IA64_GPREL22 = 0x0009, 1391 + IMAGE_REL_IA64_LTOFF22 = 0x000A, 1392 + IMAGE_REL_IA64_SECTION = 0x000B, 1393 + IMAGE_REL_IA64_SECREL22 = 0x000C, 1394 + IMAGE_REL_IA64_SECREL64I = 0x000D, 1395 + IMAGE_REL_IA64_SECREL32 = 0x000E, 1396 + IMAGE_REL_IA64_DIR32NB = 0x0010, 1397 + IMAGE_REL_IA64_SREL14 = 0x0011, 1398 + IMAGE_REL_IA64_SREL22 = 0x0012, 1399 + IMAGE_REL_IA64_SREL32 = 0x0013, 1400 + IMAGE_REL_IA64_UREL32 = 0x0014, 1401 + IMAGE_REL_IA64_PCREL60X = 0x0015, 1402 + IMAGE_REL_IA64_PCREL60B = 0x0016, 1403 + IMAGE_REL_IA64_PCREL60F = 0x0017, 1404 + IMAGE_REL_IA64_PCREL60I = 0x0018, 1405 + IMAGE_REL_IA64_PCREL60M = 0x0019, 1406 + IMAGE_REL_IA64_IMMGPREL64 = 0x001A, 1407 + IMAGE_REL_IA64_TOKEN = 0x001B, 1408 + IMAGE_REL_IA64_GPREL32 = 0x001C, 1409 + IMAGE_REL_IA64_ADDEND = 0x001F 1410 +} 1411 + 1412 +enum : WORD { 1413 + IMAGE_REL_SH3_ABSOLUTE = 0x0000, 1414 + IMAGE_REL_SH3_DIRECT16 = 0x0001, 1415 + IMAGE_REL_SH3_DIRECT32 = 0x0002, 1416 + IMAGE_REL_SH3_DIRECT8 = 0x0003, 1417 + IMAGE_REL_SH3_DIRECT8_WORD = 0x0004, 1418 + IMAGE_REL_SH3_DIRECT8_LONG = 0x0005, 1419 + IMAGE_REL_SH3_DIRECT4 = 0x0006, 1420 + IMAGE_REL_SH3_DIRECT4_WORD = 0x0007, 1421 + IMAGE_REL_SH3_DIRECT4_LONG = 0x0008, 1422 + IMAGE_REL_SH3_PCREL8_WORD = 0x0009, 1423 + IMAGE_REL_SH3_PCREL8_LONG = 0x000A, 1424 + IMAGE_REL_SH3_PCREL12_WORD = 0x000B, 1425 + IMAGE_REL_SH3_STARTOF_SECTION = 0x000C, 1426 + IMAGE_REL_SH3_SIZEOF_SECTION = 0x000D, 1427 + IMAGE_REL_SH3_SECTION = 0x000E, 1428 + IMAGE_REL_SH3_SECREL = 0x000F, 1429 + IMAGE_REL_SH3_DIRECT32_NB = 0x0010, 1430 + IMAGE_REL_SH3_GPREL4_LONG = 0x0011, 1431 + IMAGE_REL_SH3_TOKEN = 0x0012, 1432 + IMAGE_REL_SHM_PCRELPT = 0x0013, 1433 + IMAGE_REL_SHM_REFLO = 0x0014, 1434 + IMAGE_REL_SHM_REFHALF = 0x0015, 1435 + IMAGE_REL_SHM_RELLO = 0x0016, 1436 + IMAGE_REL_SHM_RELHALF = 0x0017, 1437 + IMAGE_REL_SHM_PAIR = 0x0018, 1438 + IMAGE_REL_SHM_NOMODE = 0x8000 1439 +} 1440 + 1441 +enum : WORD { 1442 + IMAGE_REL_M32R_ABSOLUTE = 0x0000, 1443 + IMAGE_REL_M32R_ADDR32 = 0x0001, 1444 + IMAGE_REL_M32R_ADDR32NB = 0x0002, 1445 + IMAGE_REL_M32R_ADDR24 = 0x0003, 1446 + IMAGE_REL_M32R_GPREL16 = 0x0004, 1447 + IMAGE_REL_M32R_PCREL24 = 0x0005, 1448 + IMAGE_REL_M32R_PCREL16 = 0x0006, 1449 + IMAGE_REL_M32R_PCREL8 = 0x0007, 1450 + IMAGE_REL_M32R_REFHALF = 0x0008, 1451 + IMAGE_REL_M32R_REFHI = 0x0009, 1452 + IMAGE_REL_M32R_REFLO = 0x000A, 1453 + IMAGE_REL_M32R_PAIR = 0x000B, 1454 + IMAGE_REL_M32R_SECTION = 0x000C, 1455 + IMAGE_REL_M32R_SECREL = 0x000D, 1456 + IMAGE_REL_M32R_TOKEN = 0x000E 1457 +} 1458 + 1459 +enum : WORD { 1460 + IMAGE_REL_MIPS_ABSOLUTE = 0x0000, 1461 + IMAGE_REL_MIPS_REFHALF = 0x0001, 1462 + IMAGE_REL_MIPS_REFWORD = 0x0002, 1463 + IMAGE_REL_MIPS_JMPADDR = 0x0003, 1464 + IMAGE_REL_MIPS_REFHI = 0x0004, 1465 + IMAGE_REL_MIPS_REFLO = 0x0005, 1466 + IMAGE_REL_MIPS_GPREL = 0x0006, 1467 + IMAGE_REL_MIPS_LITERAL = 0x0007, 1468 + IMAGE_REL_MIPS_SECTION = 0x000A, 1469 + IMAGE_REL_MIPS_SECREL = 0x000B, 1470 + IMAGE_REL_MIPS_SECRELLO = 0x000C, 1471 + IMAGE_REL_MIPS_SECRELHI = 0x000D, 1472 + IMAGE_REL_MIPS_JMPADDR16 = 0x0010, 1473 + IMAGE_REL_MIPS_REFWORDNB = 0x0022, 1474 + IMAGE_REL_MIPS_PAIR = 0x0025 1475 +} 1476 + 1477 + 1478 +enum : WORD { 1479 + IMAGE_REL_ALPHA_ABSOLUTE, 1480 + IMAGE_REL_ALPHA_REFLONG, 1481 + IMAGE_REL_ALPHA_REFQUAD, 1482 + IMAGE_REL_ALPHA_GPREL32, 1483 + IMAGE_REL_ALPHA_LITERAL, 1484 + IMAGE_REL_ALPHA_LITUSE, 1485 + IMAGE_REL_ALPHA_GPDISP, 1486 + IMAGE_REL_ALPHA_BRADDR, 1487 + IMAGE_REL_ALPHA_HINT, 1488 + IMAGE_REL_ALPHA_INLINE_REFLONG, 1489 + IMAGE_REL_ALPHA_REFHI, 1490 + IMAGE_REL_ALPHA_REFLO, 1491 + IMAGE_REL_ALPHA_PAIR, 1492 + IMAGE_REL_ALPHA_MATCH, 1493 + IMAGE_REL_ALPHA_SECTION, 1494 + IMAGE_REL_ALPHA_SECREL, 1495 + IMAGE_REL_ALPHA_REFLONGNB, 1496 + IMAGE_REL_ALPHA_SECRELLO, 1497 + IMAGE_REL_ALPHA_SECRELHI // = 18 1498 +} 1499 + 1500 +enum : WORD { 1501 + IMAGE_REL_PPC_ABSOLUTE, 1502 + IMAGE_REL_PPC_ADDR64, 1503 + IMAGE_REL_PPC_ADDR32, 1504 + IMAGE_REL_PPC_ADDR24, 1505 + IMAGE_REL_PPC_ADDR16, 1506 + IMAGE_REL_PPC_ADDR14, 1507 + IMAGE_REL_PPC_REL24, 1508 + IMAGE_REL_PPC_REL14, 1509 + IMAGE_REL_PPC_TOCREL16, 1510 + IMAGE_REL_PPC_TOCREL14, 1511 + IMAGE_REL_PPC_ADDR32NB, 1512 + IMAGE_REL_PPC_SECREL, 1513 + IMAGE_REL_PPC_SECTION, 1514 + IMAGE_REL_PPC_IFGLUE, 1515 + IMAGE_REL_PPC_IMGLUE, 1516 + IMAGE_REL_PPC_SECREL16, 1517 + IMAGE_REL_PPC_REFHI, 1518 + IMAGE_REL_PPC_REFLO, 1519 + IMAGE_REL_PPC_PAIR // = 18 1520 +} 1521 + 1522 +// ??? 1523 +const IMAGE_REL_PPC_TYPEMASK = 0x00FF; 1524 +const IMAGE_REL_PPC_NEG = 0x0100; 1525 +const IMAGE_REL_PPC_BRTAKEN = 0x0200; 1526 +const IMAGE_REL_PPC_BRNTAKEN = 0x0400; 1527 +const IMAGE_REL_PPC_TOCDEFN = 0x0800; 1528 + 1686 1529 enum { 1687 - SidTypeUser = 1, 1688 - SidTypeGroup, 1689 - SidTypeDomain, 1690 - SidTypeAlias, 1691 - SidTypeWellKnownGroup, 1692 - SidTypeDeletedAccount, 1693 - SidTypeInvalid, 1694 - SidTypeUnknown, 1695 - SidTypeComputer, 1696 -} 1697 -alias _SID_NAME_USE SID_NAME_USE; 1698 -alias _SID_NAME_USE* PSID_NAME_USE; 1699 - 1700 -struct _SID_AND_ATTRIBUTES { 1701 - PSID Sid; 1702 - DWORD Attributes; 1703 -} 1704 -alias _SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES; 1705 -alias _SID_AND_ATTRIBUTES* PSID_AND_ATTRIBUTES; 1706 - 1707 -alias SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; 1708 -alias SID_AND_ATTRIBUTES_ARRAY* PSID_AND_ATTRIBUTES_ARRAY; 1709 - 1710 -// #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} 1711 -// #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} 1712 -// #define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} 1713 -// #define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} 1714 -// #define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} 1715 -// #define SECURITY_RESOURCE_MANAGER_AUTHORITY {0,0,0,0,0,9} 1716 - 1717 -enum : uint { SECURITY_NULL_RID = 0x00000000 } 1718 -enum : uint { SECURITY_WORLD_RID = 0x00000000 } 1719 -enum : uint { SECURITY_LOCAL_RID = 0x00000000 } 1720 - 1721 -enum : uint { SECURITY_CREATOR_OWNER_RID = 0x00000000 } 1722 -enum : uint { SECURITY_CREATOR_GROUP_RID = 0x00000001 } 1723 - 1724 -enum : uint { SECURITY_CREATOR_OWNER_SERVER_RID = 0x00000002 } 1725 -enum : uint { SECURITY_CREATOR_GROUP_SERVER_RID = 0x00000003 } 1726 - 1727 -// #define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} 1728 - 1729 -enum : uint { SECURITY_DIALUP_RID = 0x00000001 } 1730 -enum : uint { SECURITY_NETWORK_RID = 0x00000002 } 1731 -enum : uint { SECURITY_BATCH_RID = 0x00000003 } 1732 -enum : uint { SECURITY_INTERACTIVE_RID = 0x00000004 } 1733 -enum : uint { SECURITY_SERVICE_RID = 0x00000006 } 1734 -enum : uint { SECURITY_ANONYMOUS_LOGON_RID = 0x00000007 } 1735 -enum : uint { SECURITY_PROXY_RID = 0x00000008 } 1736 -enum : uint { SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x00000009 } 1737 -alias SECURITY_ENTERPRISE_CONTROLLERS_RID SECURITY_SERVER_LOGON_RID; 1738 -enum : uint { SECURITY_PRINCIPAL_SELF_RID = 0x0000000A } 1739 -enum : uint { SECURITY_AUTHENTICATED_USER_RID = 0x0000000B } 1740 -enum : uint { SECURITY_RESTRICTED_CODE_RID = 0x0000000C } 1741 -enum : uint { SECURITY_TERMINAL_SERVER_RID = 0x0000000D } 1742 -enum : uint { SECURITY_REMOTE_LOGON_RID = 0x0000000E } 1743 - 1744 -enum : uint { SECURITY_LOGON_IDS_RID = 0x00000005 } 1745 -enum : uint { SECURITY_LOGON_IDS_RID_COUNT = 3 } 1746 - 1747 -enum : uint { SECURITY_LOCAL_SYSTEM_RID = 0x00000012 } 1748 -enum : uint { SECURITY_LOCAL_SERVICE_RID = 0x00000013 } 1749 -enum : uint { SECURITY_NETWORK_SERVICE_RID = 0x00000014 } 1750 - 1751 -enum : uint { SECURITY_NT_NON_UNIQUE = 0x00000015 } 1752 -enum : uint { SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT = 3 } 1753 - 1754 -enum : uint { SECURITY_BUILTIN_DOMAIN_RID = 0x00000020 } 1755 - 1756 -enum : uint { DOMAIN_USER_RID_ADMIN = 0x000001F4 } 1757 -enum : uint { DOMAIN_USER_RID_GUEST = 0x000001F5 } 1758 -enum : uint { DOMAIN_USER_RID_KRBTGT = 0x000001F6 } 1759 - 1760 -enum : uint { DOMAIN_GROUP_RID_ADMINS = 0x00000200 } 1761 -enum : uint { DOMAIN_GROUP_RID_USERS = 0x00000201 } 1762 -enum : uint { DOMAIN_GROUP_RID_GUESTS = 0x00000202 } 1763 -enum : uint { DOMAIN_GROUP_RID_COMPUTERS = 0x00000203 } 1764 -enum : uint { DOMAIN_GROUP_RID_CONTROLLERS = 0x00000204 } 1765 -enum : uint { DOMAIN_GROUP_RID_CERT_ADMINS = 0x00000205 } 1766 -enum : uint { DOMAIN_GROUP_RID_SCHEMA_ADMINS = 0x00000206 } 1767 -enum : uint { DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = 0x00000207 } 1768 -enum : uint { DOMAIN_GROUP_RID_POLICY_ADMINS = 0x00000208 } 1769 - 1770 -enum : uint { DOMAIN_ALIAS_RID_ADMINS = 0x00000220 } 1771 -enum : uint { DOMAIN_ALIAS_RID_USERS = 0x00000221 } 1772 -enum : uint { DOMAIN_ALIAS_RID_GUESTS = 0x00000222 } 1773 -enum : uint { DOMAIN_ALIAS_RID_POWER_USERS = 0x00000223 } 1774 - 1775 -enum : uint { DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x00000224 } 1776 -enum : uint { DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x00000225 } 1777 -enum : uint { DOMAIN_ALIAS_RID_PRINT_OPS = 0x00000226 } 1778 -enum : uint { DOMAIN_ALIAS_RID_BACKUP_OPS = 0x00000227 } 1779 - 1780 -enum : uint { DOMAIN_ALIAS_RID_REPLICATOR = 0x00000228 } 1781 -enum : uint { DOMAIN_ALIAS_RID_RAS_SERVERS = 0x00000229 } 1782 -enum : uint { DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x0000022A } 1783 -enum : uint { DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x0000022B } 1784 -enum : uint { DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x0000022C } 1785 - 1786 -const LUID SYSTEM_LUID = {LowPart: 0x3e7, HighPart: 0x0}; 1787 -const LUID ANONYMOUS_LOGON_LUID = {LowPart: 0x3e6, HighPart: 0x0}; 1788 -const LUID LOCALSERVICE_LUID = {LowPart: 0x3e5, HighPart: 0x0}; 1789 -const LUID NETWORKSERVICE_LUID = {LowPart: 0x3e4, HighPart: 0x0}; 1790 - 1791 -enum : uint { SE_GROUP_MANDATORY = 0x00000001 } 1792 -enum : uint { SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 } 1793 -enum : uint { SE_GROUP_ENABLED = 0x00000004 } 1794 -enum : uint { SE_GROUP_OWNER = 0x00000008 } 1795 -enum : uint { SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 } 1796 -enum : uint { SE_GROUP_LOGON_ID = 0xC0000000 } 1797 -enum : uint { SE_GROUP_RESOURCE = 0x20000000 } 1798 - 1799 -enum : uint { ACL_REVISION = 2 } 1800 -enum : uint { ACL_REVISION_DS = 4 } 1801 - 1802 -enum : uint { ACL_REVISION1 = 1 } 1803 -enum { MIN_ACL_REVISION = 2 } 1804 -enum : uint { ACL_REVISION2 = 2 } 1805 -enum : uint { ACL_REVISION3 = 3 } 1806 -enum : uint { ACL_REVISION4 = 4 } 1807 -alias ACL_REVISION4 MAX_ACL_REVISION; 1808 - 1809 -struct _ACL { 1810 - BYTE AclRevision; 1811 - BYTE Sbz1; 1812 - WORD AclSize; 1813 - WORD AceCount; 1814 - WORD Sbz2; 1815 -} 1816 -alias _ACL ACL; 1817 - 1818 -alias ACL* PACL; 1819 - 1820 -struct _ACE_HEADER { 1821 - BYTE AceType; 1822 - BYTE AceFlags; 1823 - WORD AceSize; 1824 -} 1825 -alias _ACE_HEADER ACE_HEADER; 1826 - 1530 + IMAGE_REL_BASED_ABSOLUTE, 1531 + IMAGE_REL_BASED_HIGH, 1532 + IMAGE_REL_BASED_LOW, 1533 + IMAGE_REL_BASED_HIGHLOW, 1534 + IMAGE_REL_BASED_HIGHADJ, 1535 + IMAGE_REL_BASED_MIPS_JMPADDR 1536 +} 1537 +// End of constants documented in pecoff.doc 1538 + 1539 +const size_t IMAGE_ARCHIVE_START_SIZE = 8; 1540 + 1541 +const TCHAR[] 1542 + IMAGE_ARCHIVE_START = "!<arch>\n", 1543 + IMAGE_ARCHIVE_END = "`\n", 1544 + IMAGE_ARCHIVE_PAD = "\n", 1545 + IMAGE_ARCHIVE_LINKER_MEMBER = "/ ", 1546 + IMAGE_ARCHIVE_LONGNAMES_MEMBER = "// "; 1547 + 1548 +const IMAGE_ORDINAL_FLAG32 = 0x80000000; 1549 + 1550 +ulong IMAGE_ORDINAL64(ulong Ordinal) { return Ordinal & 0xFFFF; } 1551 +uint IMAGE_ORDINAL32(uint Ordinal) { return Ordinal & 0xFFFF; } 1552 + 1553 +bool IMAGE_SNAP_BY_ORDINAL32(uint Ordinal) { 1554 + return (Ordinal & IMAGE_ORDINAL_FLAG32) != 0; 1555 +} 1556 + 1557 +const ulong IMAGE_ORDINAL_FLAG64 = 0x8000000000000000; 1558 + 1559 +bool IMAGE_SNAP_BY_ORDINAL64(ulong Ordinal) { 1560 + return (Ordinal & IMAGE_ORDINAL_FLAG64) != 0; 1561 +} 1562 + 1563 +// ??? 1564 +const IMAGE_RESOURCE_NAME_IS_STRING = 0x80000000; 1565 +const IMAGE_RESOURCE_DATA_IS_DIRECTORY = 0x80000000; 1566 + 1567 +enum : DWORD { 1568 + IMAGE_DEBUG_TYPE_UNKNOWN, 1569 + IMAGE_DEBUG_TYPE_COFF, 1570 + IMAGE_DEBUG_TYPE_CODEVIEW, 1571 + IMAGE_DEBUG_TYPE_FPO, 1572 + IMAGE_DEBUG_TYPE_MISC, 1573 + IMAGE_DEBUG_TYPE_EXCEPTION, 1574 + IMAGE_DEBUG_TYPE_FIXUP, 1575 + IMAGE_DEBUG_TYPE_OMAP_TO_SRC, 1576 + IMAGE_DEBUG_TYPE_OMAP_FROM_SRC, 1577 + IMAGE_DEBUG_TYPE_BORLAND // = 9 1578 +} 1579 + 1580 +enum : ubyte { 1581 + FRAME_FPO, 1582 + FRAME_TRAP, 1583 + FRAME_TSS, 1584 + FRAME_NONFPO 1585 +} 1586 + 1587 +// ??? 1588 +const IMAGE_DEBUG_MISC_EXENAME = 1; 1589 + 1590 +// ??? 1591 +const N_BTMASK = 0x000F; 1592 +const N_TMASK = 0x0030; 1593 +const N_TMASK1 = 0x00C0; 1594 +const N_TMASK2 = 0x00F0; 1595 +const N_BTSHFT = 4; 1596 +const N_TSHIFT = 2; 1597 + 1598 +const int 1599 + IS_TEXT_UNICODE_ASCII16 = 0x0001, 1600 + IS_TEXT_UNICODE_STATISTICS = 0x0002, 1601 + IS_TEXT_UNICODE_CONTROLS = 0x0004, 1602 + IS_TEXT_UNICODE_SIGNATURE = 0x0008, 1603 + IS_TEXT_UNICODE_REVERSE_ASCII16 = 0x0010, 1604 + IS_TEXT_UNICODE_REVERSE_STATISTICS = 0x0020, 1605 + IS_TEXT_UNICODE_REVERSE_CONTROLS = 0x0040, 1606 + IS_TEXT_UNICODE_REVERSE_SIGNATURE = 0x0080, 1607 + IS_TEXT_UNICODE_ILLEGAL_CHARS = 0x0100, 1608 + IS_TEXT_UNICODE_ODD_LENGTH = 0x0200, 1609 + IS_TEXT_UNICODE_NULL_BYTES = 0x1000, 1610 + IS_TEXT_UNICODE_UNICODE_MASK = 0x000F, 1611 + IS_TEXT_UNICODE_REVERSE_MASK = 0x00F0, 1612 + IS_TEXT_UNICODE_NOT_UNICODE_MASK = 0x0F00, 1613 + IS_TEXT_UNICODE_NOT_ASCII_MASK = 0xF000; 1614 + 1615 +const DWORD 1616 + SERVICE_KERNEL_DRIVER = 0x0001, 1617 + SERVICE_FILE_SYSTEM_DRIVER = 0x0002, 1618 + SERVICE_ADAPTER = 0x0004, 1619 + SERVICE_RECOGNIZER_DRIVER = 0x0008, 1620 + SERVICE_WIN32_OWN_PROCESS = 0x0010, 1621 + SERVICE_WIN32_SHARE_PROCESS = 0x0020, 1622 + SERVICE_INTERACTIVE_PROCESS = 0x0100, 1623 + SERVICE_DRIVER = 0x000B, 1624 + SERVICE_WIN32 = 0x0030, 1625 + SERVICE_TYPE_ALL = 0x013F; 1626 + 1627 +enum : DWORD { 1628 + SERVICE_BOOT_START = 0, 1629 + SERVICE_SYSTEM_START = 1, 1630 + SERVICE_AUTO_START = 2, 1631 + SERVICE_DEMAND_START = 3, 1632 + SERVICE_DISABLED = 4 1633 +} 1634 + 1635 +enum : DWORD { 1636 + SERVICE_ERROR_IGNORE = 0, 1637 + SERVICE_ERROR_NORMAL = 1, 1638 + SERVICE_ERROR_SEVERE = 2, 1639 + SERVICE_ERROR_CRITICAL = 3 1640 +} 1641 + 1642 + 1643 +const uint 1644 + SE_OWNER_DEFAULTED = 0x0001, 1645 + SE_GROUP_DEFAULTED = 0x0002, 1646 + SE_DACL_PRESENT = 0x0004, 1647 + SE_DACL_DEFAULTED = 0x0008, 1648 + SE_SACL_PRESENT = 0x0010, 1649 + SE_SACL_DEFAULTED = 0x0020, 1650 + SE_DACL_AUTO_INHERIT_REQ = 0x0100, 1651 + SE_SACL_AUTO_INHERIT_REQ = 0x0200, 1652 + SE_DACL_AUTO_INHERITED = 0x0400, 1653 + SE_SACL_AUTO_INHERITED = 0x0800, 1654 + SE_DACL_PROTECTED = 0x1000, 1655 + SE_SACL_PROTECTED = 0x2000, 1656 + SE_SELF_RELATIVE = 0x8000; 1657 + 1658 +enum SECURITY_IMPERSONATION_LEVEL { 1659 + SecurityAnonymous, 1660 + SecurityIdentification, 1661 + SecurityImpersonation, 1662 + SecurityDelegation 1663 +} 1664 +alias SECURITY_IMPERSONATION_LEVEL* PSECURITY_IMPERSONATION_LEVEL; 1665 + 1666 +alias BOOLEAN SECURITY_CONTEXT_TRACKING_MODE; 1667 +alias BOOLEAN* PSECURITY_CONTEXT_TRACKING_MODE; 1668 + 1669 +const size_t SECURITY_DESCRIPTOR_MIN_LENGTH = 20; 1670 + 1671 +const DWORD 1672 + SECURITY_DESCRIPTOR_REVISION = 1, 1673 + SECURITY_DESCRIPTOR_REVISION1 = 1; 1674 + 1675 +const DWORD 1676 + SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001, 1677 + SE_PRIVILEGE_ENABLED = 0x00000002, 1678 + SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000; 1679 + 1680 +const DWORD PRIVILEGE_SET_ALL_NECESSARY = 1; 1681 + 1682 +const SECURITY_IMPERSONATION_LEVEL 1683 + SECURITY_MAX_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL.SecurityDelegation, 1684 + DEFAULT_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation; 1685 + 1686 +const BOOLEAN 1687 + SECURITY_DYNAMIC_TRACKING = true, 1688 + SECURITY_STATIC_TRACKING = false; 1689 + 1690 +// also in ddk/ntifs.h 1691 +const DWORD 1692 + TOKEN_ASSIGN_PRIMARY = 0x0001, 1693 + TOKEN_DUPLICATE = 0x0002, 1694 + TOKEN_IMPERSONATE = 0x0004, 1695 + TOKEN_QUERY = 0x0008, 1696 + TOKEN_QUERY_SOURCE = 0x0010, 1697 + TOKEN_ADJUST_PRIVILEGES = 0x0020, 1698 + TOKEN_ADJUST_GROUPS = 0x0040, 1699 + TOKEN_ADJUST_DEFAULT = 0x0080, 1700 + 1701 + TOKEN_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED 1702 + | TOKEN_ASSIGN_PRIMARY 1703 + | TOKEN_DUPLICATE 1704 + | TOKEN_IMPERSONATE 1705 + | TOKEN_QUERY 1706 + | TOKEN_QUERY_SOURCE 1707 + | TOKEN_ADJUST_PRIVILEGES 1708 + | TOKEN_ADJUST_GROUPS 1709 + | TOKEN_ADJUST_DEFAULT, 1710 + TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY, 1711 + TOKEN_WRITE = STANDARD_RIGHTS_WRITE 1712 + | TOKEN_ADJUST_PRIVILEGES 1713 + | TOKEN_ADJUST_GROUPS 1714 + | TOKEN_ADJUST_DEFAULT, 1715 + TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE; 1716 + 1717 +const size_t TOKEN_SOURCE_LENGTH = 8; 1718 +// end ddk/ntifs.h 1719 + 1720 +enum : DWORD { 1721 + DLL_PROCESS_DETACH, 1722 + DLL_PROCESS_ATTACH, 1723 + DLL_THREAD_ATTACH, 1724 + DLL_THREAD_DETACH 1725 +} 1726 + 1727 +enum : DWORD { 1728 + DBG_CONTINUE = 0x00010002, 1729 + DBG_TERMINATE_THREAD = 0x40010003, 1730 + DBG_TERMINATE_PROCESS = 0x40010004, 1731 + DBG_CONTROL_C = 0x40010005, 1732 + DBG_CONTROL_BREAK = 0x40010008, 1733 + DBG_EXCEPTION_NOT_HANDLED = 0x80010001 1734 +} 1735 + 1736 +enum : DWORD { 1737 + TAPE_ABSOLUTE_POSITION, 1738 + TAPE_LOGICAL_POSITION, 1739 + TAPE_PSEUDO_LOGICAL_POSITION 1740 +} 1741 + 1742 +enum : DWORD { 1743 + TAPE_REWIND, 1744 + TAPE_ABSOLUTE_BLOCK, 1745 + TAPE_LOGICAL_BLOCK, 1746 + TAPE_PSEUDO_LOGICAL_BLOCK, 1747 + TAPE_SPACE_END_OF_DATA, 1748 + TAPE_SPACE_RELATIVE_BLOCKS, 1749 + TAPE_SPACE_FILEMARKS, 1750 + TAPE_SPACE_SEQUENTIAL_FMKS, 1751 + TAPE_SPACE_SETMARKS, 1752 + TAPE_SPACE_SEQUENTIAL_SMKS 1753 +} 1754 + 1755 +const DWORD 1756 + TAPE_DRIVE_FIXED = 0x00000001, 1757 + TAPE_DRIVE_SELECT = 0x00000002, 1758 + TAPE_DRIVE_INITIATOR = 0x00000004, 1759 + TAPE_DRIVE_ERASE_SHORT = 0x00000010, 1760 + TAPE_DRIVE_ERASE_LONG = 0x00000020, 1761 + TAPE_DRIVE_ERASE_BOP_ONLY = 0x00000040, 1762 + TAPE_DRIVE_ERASE_IMMEDIATE = 0x00000080, 1763 + TAPE_DRIVE_TAPE_CAPACITY = 0x00000100, 1764 + TAPE_DRIVE_TAPE_REMAINING = 0x00000200, 1765 + TAPE_DRIVE_FIXED_BLOCK = 0x00000400, 1766 + TAPE_DRIVE_VARIABLE_BLOCK = 0x00000800, 1767 + TAPE_DRIVE_WRITE_PROTECT = 0x00001000, 1768 + TAPE_DRIVE_EOT_WZ_SIZE = 0x00002000, 1769 + TAPE_DRIVE_ECC = 0x00010000, 1770 + TAPE_DRIVE_COMPRESSION = 0x00020000, 1771 + TAPE_DRIVE_PADDING = 0x00040000, 1772 + TAPE_DRIVE_REPORT_SMKS = 0x00080000, 1773 + TAPE_DRIVE_GET_ABSOLUTE_BLK = 0x00100000, 1774 + TAPE_DRIVE_GET_LOGICAL_BLK = 0x00200000, 1775 + TAPE_DRIVE_SET_EOT_WZ_SIZE = 0x00400000, 1776 + TAPE_DRIVE_EJECT_MEDIA = 0x01000000, 1777 + TAPE_DRIVE_CLEAN_REQUESTS = 0x02000000, 1778 + TAPE_DRIVE_SET_CMP_BOP_ONLY = 0x04000000, 1779 + TAPE_DRIVE_RESERVED_BIT = 0x80000000; 1780 + 1781 +const DWORD 1782 + TAPE_DRIVE_LOAD_UNLOAD = 0x80000001, 1783 + TAPE_DRIVE_TENSION = 0x80000002, 1784 + TAPE_DRIVE_LOCK_UNLOCK = 0x80000004, 1785 + TAPE_DRIVE_REWIND_IMMEDIATE = 0x80000008, 1786 + TAPE_DRIVE_SET_BLOCK_SIZE = 0x80000010, 1787 + TAPE_DRIVE_LOAD_UNLD_IMMED = 0x80000020, 1788 + TAPE_DRIVE_TENSION_IMMED = 0x80000040, 1789 + TAPE_DRIVE_LOCK_UNLK_IMMED = 0x80000080, 1790 + TAPE_DRIVE_SET_ECC = 0x80000100, 1791 + TAPE_DRIVE_SET_COMPRESSION = 0x80000200, 1792 + TAPE_DRIVE_SET_PADDING = 0x80000400, 1793 + TAPE_DRIVE_SET_REPORT_SMKS = 0x80000800, 1794 + TAPE_DRIVE_ABSOLUTE_BLK = 0x80001000, 1795 + TAPE_DRIVE_ABS_BLK_IMMED = 0x80002000, 1796 + TAPE_DRIVE_LOGICAL_BLK = 0x80004000, 1797 + TAPE_DRIVE_LOG_BLK_IMMED = 0x80008000, 1798 + TAPE_DRIVE_END_OF_DATA = 0x80010000, 1799 + TAPE_DRIVE_RELATIVE_BLKS = 0x80020000, 1800 + TAPE_DRIVE_FILEMARKS = 0x80040000, 1801 + TAPE_DRIVE_SEQUENTIAL_FMKS = 0x80080000, 1802 + TAPE_DRIVE_SETMARKS = 0x80100000, 1803 + TAPE_DRIVE_SEQUENTIAL_SMKS = 0x80200000, 1804 + TAPE_DRIVE_REVERSE_POSITION = 0x80400000, 1805 + TAPE_DRIVE_SPACE_IMMEDIATE = 0x80800000, 1806 + TAPE_DRIVE_WRITE_SETMARKS = 0x81000000, 1807 + TAPE_DRIVE_WRITE_FILEMARKS = 0x82000000, 1808 + TAPE_DRIVE_WRITE_SHORT_FMKS = 0x84000000, 1809 + TAPE_DRIVE_WRITE_LONG_FMKS = 0x88000000, 1810 + TAPE_DRIVE_WRITE_MARK_IMMED = 0x90000000, 1811 + TAPE_DRIVE_FORMAT = 0xA0000000, 1812 + TAPE_DRIVE_FORMAT_IMMEDIATE = 0xC0000000, 1813 + TAPE_DRIVE_HIGH_FEATURES = 0x80000000; 1814 + 1815 +enum : DWORD { 1816 + TAPE_FIXED_PARTITIONS = 0, 1817 + TAPE_SELECT_PARTITIONS = 1, 1818 + TAPE_INITIATOR_PARTITIONS = 2 1819 +} 1820 + 1821 +enum : DWORD { 1822 + TAPE_SETMARKS, 1823 + TAPE_FILEMARKS, 1824 + TAPE_SHORT_FILEMARKS, 1825 + TAPE_LONG_FILEMARKS 1826 +} 1827 + 1828 +enum : DWORD { 1829 + TAPE_ERASE_SHORT, 1830 + TAPE_ERASE_LONG 1831 +} 1832 + 1833 +enum : DWORD { 1834 + TAPE_LOAD, 1835 + TAPE_UNLOAD, 1836 + TAPE_TENSION, 1837 + TAPE_LOCK, 1838 + TAPE_UNLOCK, 1839 + TAPE_FORMAT 1840 +} 1841 + 1842 +enum : ULONG32 { 1843 + VER_PLATFORM_WIN32s, 1844 + VER_PLATFORM_WIN32_WINDOWS, 1845 + VER_PLATFORM_WIN32_NT 1846 +} 1847 + 1848 +enum : UCHAR { 1849 + VER_NT_WORKSTATION = 1, 1850 + VER_NT_DOMAIN_CONTROLLER, 1851 + VER_NT_SERVER 1852 +} 1853 + 1854 +const USHORT 1855 + VER_SUITE_SMALLBUSINESS = 0x0001, 1856 + VER_SUITE_ENTERPRISE = 0x0002, 1857 + VER_SUITE_BACKOFFICE = 0x0004, 1858 + VER_SUITE_TERMINAL = 0x0010, 1859 + VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x0020, 1860 + VER_SUITE_EMBEDDEDNT = 0x0040, 1861 + VER_SUITE_DATACENTER = 0x0080, 1862 + VER_SUITE_SINGLEUSERTS = 0x0100, 1863 + VER_SUITE_PERSONAL = 0x0200, 1864 + VER_SUITE_BLADE = 0x0400, 1865 + VER_SUITE_STORAGE_SERVER = 0x2000, 1866 + VER_SUITE_COMPUTE_SERVER = 0x4000; 1867 + 1868 +const ULONG 1869 + WT_EXECUTEDEFAULT = 0x00000000, 1870 + WT_EXECUTEINIOTHREAD = 0x00000001, 1871 + WT_EXECUTEINWAITTHREAD = 0x00000004, 1872 + WT_EXECUTEONLYONCE = 0x00000008, 1873 + WT_EXECUTELONGFUNCTION = 0x00000010, 1874 + WT_EXECUTEINTIMERTHREAD = 0x00000020, 1875 + WT_EXECUTEINPERSISTENTTHREAD = 0x00000080, 1876 + WT_TRANSFER_IMPERSONATION = 0x00000100; 1877 + 1878 +static if (_WIN32_WINNT_ONLY) { 1879 + static if (_WIN32_WINNT >= 0x500) { 1880 + const DWORD 1881 + VER_MINORVERSION = 0x01, 1882 + VER_MAJORVERSION = 0x02, 1883 + VER_BUILDNUMBER = 0x04, 1884 + VER_PLATFORMID = 0x08, 1885 + VER_SERVICEPACKMINOR = 0x10, 1886 + VER_SERVICEPACKMAJOR = 0x20, 1887 + VER_SUITENAME = 0x40, 1888 + VER_PRODUCT_TYPE = 0x80; 1889 + 1890 + enum : DWORD { 1891 + VER_EQUAL = 1, 1892 + VER_GREATER, 1893 + VER_GREATER_EQUAL, 1894 + VER_LESS, 1895 + VER_LESS_EQUAL, 1896 + VER_AND, 1897 + VER_OR // = 7 1898 + } 1899 + } 1900 + 1901 + static if (_WIN32_WINNT >= 0x501) { 1902 + enum : ULONG { 1903 + ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1, 1904 + ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION, 1905 + ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, 1906 + ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION, 1907 + ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION, 1908 + ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION, 1909 + ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION, // = 7 1910 + ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES = 9 1911 + } 1912 + } 1913 +} 1914 + 1915 +// Macros 1916 +BYTE BTYPE(BYTE x) { return cast(BYTE) (x & N_BTMASK); } 1917 +bool ISPTR(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT); } 1918 +bool ISFCN(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT); } 1919 +bool ISARY(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT); } 1920 +bool ISTAG(uint x) { 1921 + return x == IMAGE_SYM_CLASS_STRUCT_TAG 1922 + || x == IMAGE_SYM_CLASS_UNION_TAG 1923 + || x == IMAGE_SYM_CLASS_ENUM_TAG; 1924 +} 1925 +uint INCREF(uint x) { 1926 + return ((x & ~N_BTMASK) << N_TSHIFT) | (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT) 1927 + | (x & N_BTMASK); 1928 +} 1929 +uint DECREF(uint x) { return ((x >>> N_TSHIFT) & ~N_BTMASK) | (x & N_BTMASK); } 1930 + 1931 +const DWORD TLS_MINIMUM_AVAILABLE = 64; 1932 + 1933 +const ULONG 1934 + IO_REPARSE_TAG_RESERVED_ZERO = 0, 1935 + IO_REPARSE_TAG_RESERVED_ONE = 1, 1936 + IO_REPARSE_TAG_RESERVED_RANGE = IO_REPARSE_TAG_RESERVED_ONE, 1937 + IO_REPARSE_TAG_SYMBOLIC_LINK = IO_REPARSE_TAG_RESERVED_ZERO, 1938 + IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003, 1939 + IO_REPARSE_TAG_SYMLINK = 0xA000000C, 1940 + IO_REPARSE_TAG_VALID_VALUES = 0xE000FFFF; 1941 + 1942 +/* Although these are semantically boolean, they are documented and 1943 + * implemented to return ULONG; this behaviour is preserved for compatibility 1944 + */ 1945 +ULONG IsReparseTagMicrosoft(ULONG x) { return x & 0x80000000; } 1946 +ULONG IsReparseTagHighLatency(ULONG x) { return x & 0x40000000; } 1947 +ULONG IsReparseTagNameSurrogate(ULONG x) { return x & 0x20000000; } 1948 + 1949 +bool IsReparseTagValid(ULONG x) { 1950 + return !(x & ~IO_REPARSE_TAG_VALID_VALUES) && (x > IO_REPARSE_TAG_RESERVED_RANGE); 1951 +} 1952 + 1953 +// Doesn't seem to make sense, but anyway.... 1954 +ULONG WT_SET_MAX_THREADPOOL_THREADS(ref ULONG Flags, ushort Limit) { 1955 + return Flags |= Limit << 16; 1956 +} 1957 + 1958 +import win32.basetyps; 1959 +/* also in win32.basetyps 1960 +struct GUID { 1961 + uint Data1; 1962 + ushort Data2; 1963 + ushort Data3; 1964 + ubyte Data4[8]; 1965 +} 1966 +alias GUID* REFGUID, LPGUID; 1967 +*/ 1968 + 1969 +struct GENERIC_MAPPING { 1970 + ACCESS_MASK GenericRead; 1971 + ACCESS_MASK GenericWrite; 1972 + ACCESS_MASK GenericExecute; 1973 + ACCESS_MASK GenericAll; 1974 +} 1975 +alias GENERIC_MAPPING* PGENERIC_MAPPING; 1976 + 1977 +struct ACE_HEADER { 1978 + BYTE AceType; 1979 + BYTE AceFlags; 1980 + WORD AceSize; 1981 +} 1827 1982 alias ACE_HEADER* PACE_HEADER; 1828 1983 1829 -enum : uint { ACCESS_MIN_MS_ACE_TYPE = 0x0 } 1830 -enum : uint { ACCESS_ALLOWED_ACE_TYPE = 0x0 } 1831 -enum : uint { ACCESS_DENIED_ACE_TYPE = 0x1 } 1832 -enum : uint { SYSTEM_AUDIT_ACE_TYPE = 0x2 } 1833 -enum : uint { SYSTEM_ALARM_ACE_TYPE = 0x3 } 1834 -enum : uint { ACCESS_MAX_MS_V2_ACE_TYPE = 0x3 } 1835 - 1836 -enum : uint { ACCESS_ALLOWED_COMPOUND_ACE_TYPE = 0x4 } 1837 -enum : uint { ACCESS_MAX_MS_V3_ACE_TYPE = 0x4 } 1838 - 1839 -enum : uint { ACCESS_MIN_MS_OBJECT_ACE_TYPE = 0x5 } 1840 -enum : uint { ACCESS_ALLOWED_OBJECT_ACE_TYPE = 0x5 } 1841 -enum : uint { ACCESS_DENIED_OBJECT_ACE_TYPE = 0x6 } 1842 -enum : uint { SYSTEM_AUDIT_OBJECT_ACE_TYPE = 0x7 } 1843 -enum : uint { SYSTEM_ALARM_OBJECT_ACE_TYPE = 0x8 } 1844 -enum : uint { ACCESS_MAX_MS_OBJECT_ACE_TYPE = 0x8 } 1845 - 1846 -enum : uint { ACCESS_MAX_MS_V4_ACE_TYPE = 0x8 } 1847 -enum : uint { ACCESS_MAX_MS_ACE_TYPE = 0x8 } 1848 - 1849 -enum : uint { ACCESS_ALLOWED_CALLBACK_ACE_TYPE = 0x9 } 1850 -enum : uint { ACCESS_DENIED_CALLBACK_ACE_TYPE = 0xA } 1851 -enum : uint { ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = 0xB } 1852 -enum : uint { ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = 0xC } 1853 -enum : uint { SYSTEM_AUDIT_CALLBACK_ACE_TYPE = 0xD } 1854 -enum : uint { SYSTEM_ALARM_CALLBACK_ACE_TYPE = 0xE } 1855 -enum : uint { SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = 0xF } 1856 -enum : uint { SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = 0x10 } 1857 - 1858 -enum : uint { ACCESS_MAX_MS_V5_ACE_TYPE = 0x10 } 1859 - 1860 -enum : uint { OBJECT_INHERIT_ACE = 0x1 } 1861 -enum : uint { CONTAINER_INHERIT_ACE = 0x2 } 1862 -enum : uint { NO_PROPAGATE_INHERIT_ACE = 0x4 } 1863 -enum : uint { INHERIT_ONLY_ACE = 0x8 } 1864 -enum : uint { INHERITED_ACE = 0x10 } 1865 -enum : uint { VALID_INHERIT_FLAGS = 0x1F } 1866 - 1867 -enum : uint { SUCCESSFUL_ACCESS_ACE_FLAG = 0x40 } 1868 -enum : uint { FAILED_ACCESS_ACE_FLAG = 0x80 } 1869 - 1870 -struct _ACCESS_ALLOWED_ACE { 1871 - ACE_HEADER Header; 1872 - ACCESS_MASK Mask; 1873 - DWORD SidStart; 1984 +struct ACCESS_ALLOWED_ACE { 1985 + ACE_HEADER Header; 1986 + ACCESS_MASK Mask; 1987 + DWORD SidStart; 1874 1988 } 1875 -alias _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE; 1876 - 1877 1989 alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; 1878 1990 1879 -struct _ACCESS_DENIED_ACE { 1880 - ACE_HEADER Header; 1881 - ACCESS_MASK Mask; 1882 - DWORD SidStart; 1991 +struct ACCESS_DENIED_ACE { 1992 + ACE_HEADER Header; 1993 + ACCESS_MASK Mask; 1994 + DWORD SidStart; 1883 1995 } 1884 -alias _ACCESS_DENIED_ACE ACCESS_DENIED_ACE; 1885 - 1886 1996 alias ACCESS_DENIED_ACE* PACCESS_DENIED_ACE; 1887 1997 1888 -struct _SYSTEM_AUDIT_ACE { 1889 - ACE_HEADER Header; 1890 - ACCESS_MASK Mask; 1891 - DWORD SidStart; 1998 +struct SYSTEM_AUDIT_ACE { 1999 + ACE_HEADER Header; 2000 + ACCESS_MASK Mask; 2001 + DWORD SidStart; 1892 2002 } 1893 -alias _SYSTEM_AUDIT_ACE SYSTEM_AUDIT_ACE; 2003 +alias SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE; 1894 2004 1895 -alias SYSTEM_AUDIT_ACE* PSYSTEM_AUDIT_ACE; 1896 - 1897 -struct _SYSTEM_ALARM_ACE { 1898 - ACE_HEADER Header; 1899 - ACCESS_MASK Mask; 1900 - DWORD SidStart; 2005 +struct SYSTEM_ALARM_ACE { 2006 + ACE_HEADER Header; 2007 + ACCESS_MASK Mask; 2008 + DWORD SidStart; 1901 2009 } 1902 -alias _SYSTEM_ALARM_ACE SYSTEM_ALARM_ACE; 1903 - 1904 2010 alias SYSTEM_ALARM_ACE* PSYSTEM_ALARM_ACE; 1905 2011 1906 -struct _ACCESS_ALLOWED_OBJECT_ACE { 1907 - ACE_HEADER Header; 1908 - ACCESS_MASK Mask; 1909 - DWORD Flags; 1910 - GUID ObjectType; 1911 - GUID InheritedObjectType; 1912 - DWORD SidStart; 1913 -} 1914 -alias _ACCESS_ALLOWED_OBJECT_ACE ACCESS_ALLOWED_OBJECT_ACE; 1915 -alias _ACCESS_ALLOWED_OBJECT_ACE* PACCESS_ALLOWED_OBJECT_ACE; 1916 - 1917 -struct _ACCESS_DENIED_OBJECT_ACE { 1918 - ACE_HEADER Header; 1919 - ACCESS_MASK Mask; 1920 - DWORD Flags; 1921 - GUID ObjectType; 1922 - GUID InheritedObjectType; 1923 - DWORD SidStart; 1924 -} 1925 -alias _ACCESS_DENIED_OBJECT_ACE ACCESS_DENIED_OBJECT_ACE; 1926 -alias _ACCESS_DENIED_OBJECT_ACE* PACCESS_DENIED_OBJECT_ACE; 1927 - 1928 -struct _SYSTEM_AUDIT_OBJECT_ACE { 1929 - ACE_HEADER Header; 1930 - ACCESS_MASK Mask; 1931 - DWORD Flags; 1932 - GUID ObjectType; 1933 - GUID InheritedObjectType; 1934 - DWORD SidStart; 1935 -} 1936 -alias _SYSTEM_AUDIT_OBJECT_ACE SYSTEM_AUDIT_OBJECT_ACE; 1937 -alias _SYSTEM_AUDIT_OBJECT_ACE* PSYSTEM_AUDIT_OBJECT_ACE; 1938 - 1939 -struct _SYSTEM_ALARM_OBJECT_ACE { 1940 - ACE_HEADER Header; 1941 - ACCESS_MASK Mask; 1942 - DWORD Flags; 1943 - GUID ObjectType; 1944 - GUID InheritedObjectType; 1945 - DWORD SidStart; 1946 -} 1947 -alias _SYSTEM_ALARM_OBJECT_ACE SYSTEM_ALARM_OBJECT_ACE; 1948 -alias _SYSTEM_ALARM_OBJECT_ACE* PSYSTEM_ALARM_OBJECT_ACE; 1949 - 1950 -struct _ACCESS_ALLOWED_CALLBACK_ACE { 1951 - ACE_HEADER Header; 1952 - ACCESS_MASK Mask; 1953 - DWORD SidStart; 1954 -} 1955 -alias _ACCESS_ALLOWED_CALLBACK_ACE ACCESS_ALLOWED_CALLBACK_ACE; 1956 -alias _ACCESS_ALLOWED_CALLBACK_ACE* PACCESS_ALLOWED_CALLBACK_ACE; 1957 - 1958 -struct _ACCESS_DENIED_CALLBACK_ACE { 1959 - ACE_HEADER Header; 1960 - ACCESS_MASK Mask; 1961 - DWORD SidStart; 1962 -} 1963 -alias _ACCESS_DENIED_CALLBACK_ACE ACCESS_DENIED_CALLBACK_ACE; 1964 -alias _ACCESS_DENIED_CALLBACK_ACE* PACCESS_DENIED_CALLBACK_ACE; 1965 - 1966 -struct _SYSTEM_AUDIT_CALLBACK_ACE { 1967 - ACE_HEADER Header; 1968 - ACCESS_MASK Mask; 1969 - DWORD SidStart; 1970 -} 1971 -alias _SYSTEM_AUDIT_CALLBACK_ACE SYSTEM_AUDIT_CALLBACK_ACE; 1972 -alias _SYSTEM_AUDIT_CALLBACK_ACE* PSYSTEM_AUDIT_CALLBACK_ACE; 1973 - 1974 -struct _SYSTEM_ALARM_CALLBACK_ACE { 1975 - ACE_HEADER Header; 1976 - ACCESS_MASK Mask; 1977 - DWORD SidStart; 1978 -} 1979 -alias _SYSTEM_ALARM_CALLBACK_ACE SYSTEM_ALARM_CALLBACK_ACE; 1980 -alias _SYSTEM_ALARM_CALLBACK_ACE* PSYSTEM_ALARM_CALLBACK_ACE; 1981 - 1982 -struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { 1983 - ACE_HEADER Header; 1984 - ACCESS_MASK Mask; 1985 - DWORD Flags; 1986 - GUID ObjectType; 1987 - GUID InheritedObjectType; 1988 - DWORD SidStart; 1989 -} 1990 -alias _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; 1991 -alias _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE* PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; 1992 - 1993 -struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { 1994 - ACE_HEADER Header; 1995 - ACCESS_MASK Mask; 1996 - DWORD Flags; 1997 - GUID ObjectType; 1998 - GUID InheritedObjectType; 1999 - DWORD SidStart; 2000 -} 2001 -alias _ACCESS_DENIED_CALLBACK_OBJECT_ACE ACCESS_DENIED_CALLBACK_OBJECT_ACE; 2002 -alias _ACCESS_DENIED_CALLBACK_OBJECT_ACE* PACCESS_DENIED_CALLBACK_OBJECT_ACE; 2003 - 2004 -struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { 2005 - ACE_HEADER Header; 2006 - ACCESS_MASK Mask; 2007 - DWORD Flags; 2008 - GUID ObjectType; 2009 - GUID InheritedObjectType; 2010 - DWORD SidStart; 2011 -} 2012 -alias _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; 2013 -alias _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE* PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE; 2014 - 2015 -struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { 2016 - ACE_HEADER Header; 2017 - ACCESS_MASK Mask; 2018 - DWORD Flags; 2019 - GUID ObjectType; 2020 - GUID InheritedObjectType; 2021 - DWORD SidStart; 2022 -} 2023 -alias _SYSTEM_ALARM_CALLBACK_OBJECT_ACE SYSTEM_ALARM_CALLBACK_OBJECT_ACE; 2024 -alias _SYSTEM_ALARM_CALLBACK_OBJECT_ACE* PSYSTEM_ALARM_CALLBACK_OBJECT_ACE; 2025 - 2026 -enum : uint { ACE_OBJECT_TYPE_PRESENT = 0x1 } 2027 -enum : uint { ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2 } 2028 - 2029 -alias int _ACL_INFORMATION_CLASS; 2030 -enum { 2031 - AclRevisionInformation = 1, 2032 - AclSizeInformation, 2033 -} 2034 -alias _ACL_INFORMATION_CLASS ACL_INFORMATION_CLASS; 2035 - 2036 -struct _ACL_REVISION_INFORMATION { 2037 - DWORD AclRevision; 2038 -} 2039 -alias _ACL_REVISION_INFORMATION ACL_REVISION_INFORMATION; 2040 - 2041 -alias ACL_REVISION_INFORMATION* PACL_REVISION_INFORMATION; 2042 - 2043 -struct _ACL_SIZE_INFORMATION { 2044 - DWORD AceCount; 2045 - DWORD AclBytesInUse; 2046 - DWORD AclBytesFree; 2047 -} 2048 -alias _ACL_SIZE_INFORMATION ACL_SIZE_INFORMATION; 2049 - 2050 -alias ACL_SIZE_INFORMATION* PACL_SIZE_INFORMATION; 2051 - 2052 -enum : uint { SECURITY_DESCRIPTOR_REVISION = 1 } 2053 -enum : uint { SECURITY_DESCRIPTOR_REVISION1 = 1 } 2054 - 2055 -const uint SECURITY_DESCRIPTOR_MIN_LENGTH = SECURITY_DESCRIPTOR.sizeof; 2056 - 2057 -alias WORD SECURITY_DESCRIPTOR_CONTROL; 2058 -alias WORD* PSECURITY_DESCRIPTOR_CONTROL; 2059 - 2060 -enum : uint { SE_OWNER_DEFAULTED = 0x0001 } 2061 -enum : uint { SE_GROUP_DEFAULTED = 0x0002 } 2062 -enum : uint { SE_DACL_PRESENT = 0x0004 } 2063 -enum : uint { SE_DACL_DEFAULTED = 0x0008 } 2064 -enum : uint { SE_SACL_PRESENT = 0x0010 } 2065 -enum : uint { SE_SACL_DEFAULTED = 0x0020 } 2066 -enum : uint { SE_DACL_AUTO_INHERIT_REQ = 0x0100 } 2067 -enum : uint { SE_SACL_AUTO_INHERIT_REQ = 0x0200 } 2068 -enum : uint { SE_DACL_AUTO_INHERITED = 0x0400 } 2069 -enum : uint { SE_SACL_AUTO_INHERITED = 0x0800 } 2070 -enum : uint { SE_DACL_PROTECTED = 0x1000 } 2071 -enum : uint { SE_SACL_PROTECTED = 0x2000 } 2072 -enum : uint { SE_RM_CONTROL_VALID = 0x4000 } 2073 -enum : uint { SE_SELF_RELATIVE = 0x8000 } 2074 - 2075 -struct _SECURITY_DESCRIPTOR_RELATIVE { 2076 - BYTE Revision; 2077 - BYTE Sbz1; 2078 - SECURITY_DESCRIPTOR_CONTROL Control; 2079 - DWORD Owner; 2080 - DWORD Group; 2081 - DWORD Sacl; 2082 - DWORD Dacl; 2083 -} 2084 -alias _SECURITY_DESCRIPTOR_RELATIVE SECURITY_DESCRIPTOR_RELATIVE; 2085 -alias _SECURITY_DESCRIPTOR_RELATIVE* PISECURITY_DESCRIPTOR_RELATIVE; 2086 - 2087 -struct _SECURITY_DESCRIPTOR { 2088 - BYTE Revision; 2089 - BYTE Sbz1; 2090 - SECURITY_DESCRIPTOR_CONTROL Control; 2091 - PSID Owner; 2092 - PSID Group; 2093 - PACL Sacl; 2094 - PACL Dacl; 2095 -} 2096 -alias _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR; 2097 -alias _SECURITY_DESCRIPTOR* PISECURITY_DESCRIPTOR; 2098 - 2099 -struct _OBJECT_TYPE_LIST { 2100 - WORD Level; 2101 - WORD Sbz; 2102 - GUID *ObjectType; 2103 -} 2104 -alias _OBJECT_TYPE_LIST OBJECT_TYPE_LIST; 2105 -alias _OBJECT_TYPE_LIST* POBJECT_TYPE_LIST; 2106 - 2107 -enum : uint { ACCESS_OBJECT_GUID = 0 } 2108 -enum : uint { ACCESS_PROPERTY_SET_GUID = 1 } 2109 -enum : uint { ACCESS_PROPERTY_GUID = 2 } 2110 - 2111 -enum : uint { ACCESS_MAX_LEVEL = 4 } 2112 - 2113 -alias int _AUDIT_EVENT_TYPE; 2114 -enum { 2115 - AuditEventObjectAccess, 2116 - AuditEventDirectoryServiceAccess, 2117 -} 2118 -alias _AUDIT_EVENT_TYPE AUDIT_EVENT_TYPE; 2119 -alias _AUDIT_EVENT_TYPE* PAUDIT_EVENT_TYPE; 2120 - 2121 -enum : uint { AUDIT_ALLOW_NO_PRIVILEGE = 0x1 } 2122 - 2123 -const char[] ACCESS_DS_SOURCE_A = "DS"; 2124 -const wchar[] ACCESS_DS_SOURCE_W = "DS"; 2125 -const char[] ACCESS_DS_OBJECT_TYPE_NAME_A = "Directory Service Object"; 2126 -const wchar[] ACCESS_DS_OBJECT_TYPE_NAME_W = "Directory Service Object"; 2127 - 2128 -enum : uint { SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001 } 2129 -enum : uint { SE_PRIVILEGE_ENABLED = 0x00000002 } 2130 -enum : uint { SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000 } 2131 - 2132 -enum : uint { PRIVILEGE_SET_ALL_NECESSARY = 1 } 2133 - 2134 -struct _PRIVILEGE_SET { 2135 - DWORD PrivilegeCount; 2136 - DWORD Control; 2137 - LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY]; 2138 -} 2139 -alias _PRIVILEGE_SET PRIVILEGE_SET; 2140 -alias _PRIVILEGE_SET* PPRIVILEGE_SET; 2141 - 2142 -const TCHAR[] SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"; 2143 -const TCHAR[] SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"; 2144 -const TCHAR[] SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"; 2145 -const TCHAR[] SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"; 2146 -const TCHAR[] SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"; 2147 -const TCHAR[] SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"; 2148 -const TCHAR[] SE_TCB_NAME = "SeTcbPrivilege"; 2149 -const TCHAR[] SE_SECURITY_NAME = "SeSecurityPrivilege"; 2150 -const TCHAR[] SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"; 2151 -const TCHAR[] SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"; 2152 -const TCHAR[] SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"; 2153 -const TCHAR[] SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"; 2154 -const TCHAR[] SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"; 2155 -const TCHAR[] SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"; 2156 -const TCHAR[] SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"; 2157 -const TCHAR[] SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"; 2158 -const TCHAR[] SE_BACKUP_NAME = "SeBackupPrivilege"; 2159 -const TCHAR[] SE_RESTORE_NAME = "SeRestorePrivilege"; 2160 -const TCHAR[] SE_SHUTDOWN_NAME = "SeShutdownPrivilege"; 2161 -const TCHAR[] SE_DEBUG_NAME = "SeDebugPrivilege"; 2162 -const TCHAR[] SE_AUDIT_NAME = "SeAuditPrivilege"; 2163 -const TCHAR[] SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"; 2164 -const TCHAR[] SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"; 2165 -const TCHAR[] SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"; 2166 -const TCHAR[] SE_UNDOCK_NAME = "SeUndockPrivilege"; 2167 -const TCHAR[] SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege"; 2168 -const TCHAR[] SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege"; 2169 -const TCHAR[] SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege"; 2170 - 2171 -alias int _SECURITY_IMPERSONATION_LEVEL; 2172 -enum { 2173 - SecurityAnonymous, 2174 - SecurityIdentification, 2175 - SecurityImpersonation, 2176 - SecurityDelegation, 2177 -} 2178 -alias _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL; 2179 -alias _SECURITY_IMPERSONATION_LEVEL* PSECURITY_IMPERSONATION_LEVEL; 2180 - 2181 -alias SecurityDelegation SECURITY_MAX_IMPERSONATION_LEVEL; 2182 -alias SecurityAnonymous SECURITY_MIN_IMPERSONATION_LEVEL; 2183 -alias SecurityImpersonation DEFAULT_IMPERSONATION_LEVEL; 2184 -bit VALID_IMPERSONATION_LEVEL(SECURITY_IMPERSONATION_LEVEL L){ return (L >= SECURITY_MIN_IMPERSONATION_LEVEL) && (L <= SECURITY_MAX_IMPERSONATION_LEVEL); } 2185 - 2186 -enum : uint { TOKEN_ASSIGN_PRIMARY = 0x0001 } 2187 -enum : uint { TOKEN_DUPLICATE = 0x0002 } 2188 -enum : uint { TOKEN_IMPERSONATE = 0x0004 } 2189 -enum : uint { TOKEN_QUERY = 0x0008 } 2190 -enum : uint { TOKEN_QUERY_SOURCE = 0x0010 } 2191 -enum : uint { TOKEN_ADJUST_PRIVILEGES = 0x0020 } 2192 -enum : uint { TOKEN_ADJUST_GROUPS = 0x0040 } 2193 -enum : uint { TOKEN_ADJUST_DEFAULT = 0x0080 } 2194 -enum : uint { TOKEN_ADJUST_SESSIONID = 0x0100 } 2195 - 2196 -enum : uint { TOKEN_ALL_ACCESS_P = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT } 2197 - 2198 -// #if ((defined(_WIN32_WINNT) && (_WIN32_WINNT > 0x0400)) || (!defined(_WIN32_WINNT))) 2199 -enum : uint { TOKEN_ALL_ACCESS = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID } 2200 -// #else 2201 -// #... 2202 -// #endif 2203 - 2204 -enum : uint { TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY } 2205 - 2206 -enum : uint { TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT } 2207 - 2208 -enum : uint { TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE } 2209 - 2210 -alias int _TOKEN_TYPE; 2211 -enum { 2212 - TokenPrimary = 1, 2213 - TokenImpersonation, 2214 -} 2215 -alias _TOKEN_TYPE TOKEN_TYPE; 2216 - 2012 +struct ACCESS_ALLOWED_OBJECT_ACE { 2013 + ACE_HEADER Header; 2014 + ACCESS_MASK Mask; 2015 + DWORD Flags; 2016 + GUID ObjectType; 2017 + GUID InheritedObjectType; 2018 + DWORD SidStart; 2019 +} 2020 +alias ACCESS_ALLOWED_OBJECT_ACE* PACCESS_ALLOWED_OBJECT_ACE; 2021 + 2022 +struct ACCESS_DENIED_OBJECT_ACE { 2023 + ACE_HEADER Header; 2024 + ACCESS_MASK Mask; 2025 + DWORD Flags; 2026 + GUID ObjectType; 2027 + GUID InheritedObjectType; 2028 + DWORD SidStart; 2029 +} 2030 +alias ACCESS_DENIED_OBJECT_ACE* PACCESS_DENIED_OBJECT_ACE; 2031 + 2032 +struct SYSTEM_AUDIT_OBJECT_ACE { 2033 + ACE_HEADER Header; 2034 + ACCESS_MASK Mask; 2035 + DWORD Flags; 2036 + GUID ObjectType; 2037 + GUID InheritedObjectType; 2038 + DWORD SidStart; 2039 +} 2040 +alias SYSTEM_AUDIT_OBJECT_ACE* PSYSTEM_AUDIT_OBJECT_ACE; 2041 + 2042 +struct SYSTEM_ALARM_OBJECT_ACE { 2043 + ACE_HEADER Header; 2044 + ACCESS_MASK Mask; 2045 + DWORD Flags; 2046 + GUID ObjectType; 2047 + GUID InheritedObjectType; 2048 + DWORD SidStart; 2049 +} 2050 +alias SYSTEM_ALARM_OBJECT_ACE* PSYSTEM_ALARM_OBJECT_ACE; 2051 + 2052 +struct ACL { 2053 + BYTE AclRevision; 2054 + BYTE Sbz1; 2055 + WORD AclSize; 2056 + WORD AceCount; 2057 + WORD Sbz2; 2058 +} 2059 +alias ACL* PACL; 2060 + 2061 +struct ACL_REVISION_INFORMATION { 2062 + DWORD AclRevision; 2063 +} 2064 + 2065 +struct ACL_SIZE_INFORMATION { 2066 + DWORD AceCount; 2067 + DWORD AclBytesInUse; 2068 + DWORD AclBytesFree; 2069 +} 2070 + 2071 +version (X86) { 2072 + // ??? 2073 + const SIZE_OF_80387_REGISTERS = 80; 2074 + const CONTEXT_i386 = 0x010000; 2075 + const CONTEXT_i486 = 0x010000; 2076 + const CONTEXT_CONTROL = CONTEXT_i386 | 0x01; 2077 + const CONTEXT_INTEGER = CONTEXT_i386 | 0x02; 2078 + const CONTEXT_SEGMENTS = CONTEXT_i386 | 0x04; 2079 + const CONTEXT_FLOATING_POINT = CONTEXT_i386 | 0x08; 2080 + const CONTEXT_DEBUG_REGISTERS = CONTEXT_i386 | 0x10; 2081 + const CONTEXT_EXTENDED_REGISTERS = CONTEXT_i386 | 0x20; 2082 + const CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS; 2083 + const MAXIMUM_SUPPORTED_EXTENSION = 512; 2084 + 2085 + struct FLOATING_SAVE_AREA { 2086 + DWORD ControlWord; 2087 + DWORD StatusWord; 2088 + DWORD TagWord; 2089 + DWORD ErrorOffset; 2090 + DWORD ErrorSelector; 2091 + DWORD DataOffset; 2092 + DWORD DataSelector; 2093 + BYTE[80] RegisterArea; 2094 + DWORD Cr0NpxState; 2095 + } 2096 + 2097 + struct CONTEXT { 2098 + DWORD ContextFlags; 2099 + DWORD Dr0; 2100 + DWORD Dr1; 2101 + DWORD Dr2; 2102 + DWORD Dr3; 2103 + DWORD Dr6; 2104 + DWORD Dr7; 2105 + FLOATING_SAVE_AREA FloatSave; 2106 + DWORD SegGs; 2107 + DWORD SegFs; 2108 + DWORD SegEs; 2109 + DWORD SegDs; 2110 + DWORD Edi; 2111 + DWORD Esi; 2112 + DWORD Ebx; 2113 + DWORD Edx; 2114 + DWORD Ecx; 2115 + DWORD Eax; 2116 + DWORD Ebp; 2117 + DWORD Eip; 2118 + DWORD SegCs; 2119 + DWORD EFlags; 2120 + DWORD Esp; 2121 + DWORD SegSs; 2122 + BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters; 2123 + } 2124 + 2125 +} else { 2126 + static assert(false, "Unsupported CPU"); 2127 + // Versions for PowerPC, Alpha, SHX, and MIPS removed. 2128 +} 2129 + 2130 +alias CONTEXT* PCONTEXT, LPCONTEXT; 2131 + 2132 +struct EXCEPTION_RECORD { 2133 + DWORD ExceptionCode; 2134 + DWORD ExceptionFlags; 2135 + EXCEPTION_RECORD* ExceptionRecord; 2136 + PVOID ExceptionAddress; 2137 + DWORD NumberParameters; 2138 + DWORD[EXCEPTION_MAXIMUM_PARAMETERS] ExceptionInformation; 2139 +} 2140 +alias EXCEPTION_RECORD* PEXCEPTION_RECORD, LPEXCEPTION_RECORD; 2141 + 2142 +struct EXCEPTION_POINTERS { 2143 + PEXCEPTION_RECORD ExceptionRecord; 2144 + PCONTEXT ContextRecord; 2145 +} 2146 +alias EXCEPTION_POINTERS* PEXCEPTION_POINTERS, LPEXCEPTION_POINTERS; 2147 + 2148 +union LARGE_INTEGER { 2149 + struct { 2150 + uint LowPart; 2151 + int HighPart; 2152 + } 2153 + long QuadPart; 2154 +} 2155 +alias LARGE_INTEGER* PLARGE_INTEGER; 2156 + 2157 +union ULARGE_INTEGER { 2158 + struct { 2159 + uint LowPart; 2160 + uint HighPart; 2161 + } 2162 + ulong QuadPart; 2163 +} 2164 +alias ULARGE_INTEGER* PULARGE_INTEGER; 2165 + 2166 +alias LARGE_INTEGER LUID; 2167 +alias LUID* PLUID; 2168 + 2169 +const LUID SYSTEM_LUID = { QuadPart:999 }; 2170 + 2171 +align(4) struct LUID_AND_ATTRIBUTES { 2172 + LUID Luid; 2173 + DWORD Attributes; 2174 +} 2175 +alias LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES; 2176 + 2177 +struct PRIVILEGE_SET { 2178 + DWORD PrivilegeCount; 2179 + DWORD Control; 2180 + LUID_AND_ATTRIBUTES _Privilege; 2181 + 2182 + LUID_AND_ATTRIBUTES* Privilege() { return &_Privilege; } 2183 +} 2184 +alias PRIVILEGE_SET* PPRIVILEGE_SET; 2185 + 2186 +struct SECURITY_ATTRIBUTES { 2187 + DWORD nLength; 2188 + LPVOID lpSecurityDescriptor; 2189 + BOOL bInheritHandle; 2190 +} 2191 +alias SECURITY_ATTRIBUTES* PSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES; 2192 + 2193 +struct SECURITY_QUALITY_OF_SERVICE { 2194 + DWORD Length; 2195 + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 2196 + SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; 2197 + BOOLEAN EffectiveOnly; 2198 +} 2199 +alias SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; 2200 + 2201 +alias PVOID PACCESS_TOKEN; 2202 + 2203 +struct SE_IMPERSONATION_STATE { 2204 + PACCESS_TOKEN Token; 2205 + BOOLEAN CopyOnOpen; 2206 + BOOLEAN EffectiveOnly; 2207 + SECURITY_IMPERSONATION_LEVEL Level; 2208 +} 2209 +alias SE_IMPERSONATION_STATE* PSE_IMPERSONATION_STATE; 2210 + 2211 +struct SID_IDENTIFIER_AUTHORITY { 2212 + BYTE[6] Value; 2213 +} 2214 +alias SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY, LPSID_IDENTIFIER_AUTHORITY; 2215 + 2216 +alias PVOID PSID; 2217 + 2218 +struct SID { 2219 + BYTE Revision; 2220 + BYTE SubAuthorityCount; 2221 + SID_IDENTIFIER_AUTHORITY IdentifierAuthority; 2222 + DWORD _SubAuthority; 2223 + 2224 + DWORD* SubAuthority() { return &_SubAuthority; } 2225 +} 2226 +alias SID* PISID; 2227 + 2228 +struct SID_AND_ATTRIBUTES { 2229 + PSID Sid; 2230 + DWORD Attributes; 2231 +} 2232 +alias SID_AND_ATTRIBUTES* PSID_AND_ATTRIBUTES; 2233 + 2234 +struct TOKEN_SOURCE { 2235 + CHAR[TOKEN_SOURCE_LENGTH] SourceName; 2236 + LUID SourceIdentifier; 2237 +} 2238 +alias TOKEN_SOURCE* PTOKEN_SOURCE; 2239 + 2240 +struct TOKEN_CONTROL { 2241 + LUID TokenId; 2242 + LUID AuthenticationId; 2243 + LUID ModifiedId; 2244 + TOKEN_SOURCE TokenSource; 2245 +} 2246 +alias TOKEN_CONTROL* PTOKEN_CONTROL; 2247 + 2248 +struct TOKEN_DEFAULT_DACL { 2249 + PACL DefaultDacl; 2250 +} 2251 +alias TOKEN_DEFAULT_DACL* PTOKEN_DEFAULT_DACL; 2252 + 2253 +struct TOKEN_GROUPS { 2254 + DWORD GroupCount; 2255 + SID_AND_ATTRIBUTES _Groups; 2256 + 2257 + SID_AND_ATTRIBUTES* Groups() { return &_Groups; } 2258 +} 2259 +alias TOKEN_GROUPS* PTOKEN_GROUPS, LPTOKEN_GROUPS; 2260 + 2261 +struct TOKEN_OWNER { 2262 + PSID Owner; 2263 +} 2264 +alias TOKEN_OWNER* PTOKEN_OWNER; 2265 + 2266 +struct TOKEN_PRIMARY_GROUP { 2267 + PSID PrimaryGroup; 2268 +} 2269 +alias TOKEN_PRIMARY_GROUP* PTOKEN_PRIMARY_GROUP; 2270 + 2271 +struct TOKEN_PRIVILEGES { 2272 + DWORD PrivilegeCount; 2273 + LUID_AND_ATTRIBUTES _Privileges; 2274 + 2275 + LUID_AND_ATTRIBUTES* Privileges() { return &_Privileges; } 2276 +} 2277 +alias TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES, LPTOKEN_PRIVILEGES; 2278 + 2279 +enum TOKEN_TYPE { 2280 + TokenPrimary = 1, 2281 + TokenImpersonation 2282 +} 2217 2283 alias TOKEN_TYPE* PTOKEN_TYPE; 2218 2284 2219 -alias int _TOKEN_INFORMATION_CLASS; 2220 -enum { 2221 - TokenUser = 1, 2222 - TokenGroups, 2223 - TokenPrivileges, 2224 - TokenOwner, 2225 - TokenPrimaryGroup, 2226 - TokenDefaultDacl, 2227 - TokenSource, 2228 - TokenType, 2229 - TokenImpersonationLevel, 2230 - TokenStatistics, 2231 - TokenRestrictedSids, 2232 - TokenSessionId, 2233 - TokenGroupsAndPrivileges, 2234 - TokenSessionReference, 2235 - TokenSandBoxInert, 2236 -} 2237 -alias _TOKEN_INFORMATION_CLASS TOKEN_INFORMATION_CLASS; 2238 -alias _TOKEN_INFORMATION_CLASS* PTOKEN_INFORMATION_CLASS; 2239 - 2240 -struct _TOKEN_USER { 2241 - SID_AND_ATTRIBUTES User; 2242 -} 2243 -alias _TOKEN_USER TOKEN_USER; 2244 -alias _TOKEN_USER* PTOKEN_USER; 2245 - 2246 -struct _TOKEN_GROUPS { 2247 - DWORD GroupCount; 2248 - SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; 2249 -} 2250 -alias _TOKEN_GROUPS TOKEN_GROUPS; 2251 -alias _TOKEN_GROUPS* PTOKEN_GROUPS; 2252 - 2253 -struct _TOKEN_PRIVILEGES { 2254 - DWORD PrivilegeCount; 2255 - LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; 2256 -} 2257 -alias _TOKEN_PRIVILEGES TOKEN_PRIVILEGES; 2258 -alias _TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES; 2259 - 2260 -struct _TOKEN_OWNER { 2261 - PSID Owner; 2262 -} 2263 -alias _TOKEN_OWNER TOKEN_OWNER; 2264 -alias _TOKEN_OWNER* PTOKEN_OWNER; 2265 - 2266 -struct _TOKEN_PRIMARY_GROUP { 2267 - PSID PrimaryGroup; 2268 -} 2269 -alias _TOKEN_PRIMARY_GROUP TOKEN_PRIMARY_GROUP; 2270 -alias _TOKEN_PRIMARY_GROUP* PTOKEN_PRIMARY_GROUP; 2271 - 2272 -struct _TOKEN_DEFAULT_DACL { 2273 - PACL DefaultDacl; 2274 -} 2275 -alias _TOKEN_DEFAULT_DACL TOKEN_DEFAULT_DACL; 2276 -alias _TOKEN_DEFAULT_DACL* PTOKEN_DEFAULT_DACL; 2277 - 2278 -struct _TOKEN_GROUPS_AND_PRIVILEGES { 2279 - DWORD SidCount; 2280 - DWORD SidLength; 2281 - PSID_AND_ATTRIBUTES Sids; 2282 - DWORD RestrictedSidCount; 2283 - DWORD RestrictedSidLength; 2284 - PSID_AND_ATTRIBUTES RestrictedSids; 2285 - DWORD PrivilegeCount; 2286 - DWORD PrivilegeLength; 2287 - PLUID_AND_ATTRIBUTES Privileges; 2288 - LUID AuthenticationId; 2289 -} 2290 -alias _TOKEN_GROUPS_AND_PRIVILEGES TOKEN_GROUPS_AND_PRIVILEGES; 2291 -alias _TOKEN_GROUPS_AND_PRIVILEGES* PTOKEN_GROUPS_AND_PRIVILEGES; 2292 - 2293 -enum : uint { TOKEN_SOURCE_LENGTH = 8 } 2294 - 2295 -struct _TOKEN_SOURCE { 2296 - CHAR SourceName[TOKEN_SOURCE_LENGTH]; 2297 - LUID SourceIdentifier; 2298 -} 2299 -alias _TOKEN_SOURCE TOKEN_SOURCE; 2300 -alias _TOKEN_SOURCE* PTOKEN_SOURCE; 2301 - 2302 -struct _TOKEN_STATISTICS { 2303 - LUID TokenId; 2304 - LUID AuthenticationId; 2305 - LARGE_INTEGER ExpirationTime; 2306 - TOKEN_TYPE TokenType; 2307 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 2308 - DWORD DynamicCharged; 2309 - DWORD DynamicAvailable; 2310 - DWORD GroupCount; 2311 - DWORD PrivilegeCount; 2312 - LUID ModifiedId; 2313 -} 2314 -alias _TOKEN_STATISTICS TOKEN_STATISTICS; 2315 -alias _TOKEN_STATISTICS* PTOKEN_STATISTICS; 2316 - 2317 -struct _TOKEN_CONTROL { 2318 - LUID TokenId; 2319 - LUID AuthenticationId; 2320 - LUID ModifiedId; 2321 - TOKEN_SOURCE TokenSource; 2322 -} 2323 -alias _TOKEN_CONTROL TOKEN_CONTROL; 2324 -alias _TOKEN_CONTROL* PTOKEN_CONTROL; 2325 - 2326 -enum : uint { SECURITY_DYNAMIC_TRACKING = TRUE } 2327 -enum : uint { SECURITY_STATIC_TRACKING = FALSE } 2328 - 2329 -alias BOOLEAN SECURITY_CONTEXT_TRACKING_MODE; 2330 -alias BOOLEAN* PSECURITY_CONTEXT_TRACKING_MODE; 2331 - 2332 -struct _SECURITY_QUALITY_OF_SERVICE { 2333 - DWORD Length; 2334 - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 2335 - SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; 2336 - BOOLEAN EffectiveOnly; 2337 -} 2338 -alias _SECURITY_QUALITY_OF_SERVICE SECURITY_QUALITY_OF_SERVICE; 2339 -alias _SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; 2340 - 2341 -struct _SE_IMPERSONATION_STATE { 2342 - PACCESS_TOKEN Token; 2343 - BOOLEAN CopyOnOpen; 2344 - BOOLEAN EffectiveOnly; 2345 - SECURITY_IMPERSONATION_LEVEL Level; 2346 -} 2347 -alias _SE_IMPERSONATION_STATE SE_IMPERSONATION_STATE; 2348 -alias _SE_IMPERSONATION_STATE* PSE_IMPERSONATION_STATE; 2349 - 2350 -enum : uint { DISABLE_MAX_PRIVILEGE = 0x1 } 2351 -enum : uint { SANDBOX_INERT = 0x2 } 2285 +struct TOKEN_STATISTICS { 2286 + LUID TokenId; 2287 + LUID AuthenticationId; 2288 + LARGE_INTEGER ExpirationTime; 2289 + TOKEN_TYPE TokenType; 2290 + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 2291 + DWORD DynamicCharged; 2292 + DWORD DynamicAvailable; 2293 + DWORD GroupCount; 2294 + DWORD PrivilegeCount; 2295 + LUID ModifiedId; 2296 +} 2297 +alias TOKEN_STATISTICS* PTOKEN_STATISTICS; 2298 + 2299 +struct TOKEN_USER { 2300 + SID_AND_ATTRIBUTES User; 2301 +} 2302 +alias TOKEN_USER* PTOKEN_USER; 2352 2303 2353 2304 alias DWORD SECURITY_INFORMATION; 2354 -alias DWORD* PSECURITY_INFORMATION; 2355 - 2356 -enum : uint { OWNER_SECURITY_INFORMATION = 0x00000001 } 2357 -enum : uint { GROUP_SECURITY_INFORMATION = 0x00000002 } 2358 -enum : uint { DACL_SECURITY_INFORMATION = 0x00000004 } 2359 -enum : uint { SACL_SECURITY_INFORMATION = 0x00000008 } 2360 - 2361 -enum : uint { PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000 } 2362 -enum : uint { PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000 } 2363 -enum : uint { UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000 } 2364 -enum : uint { UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000 } 2365 - 2366 -enum : uint { PROCESS_TERMINATE = 0x0001 } 2367 -enum : uint { PROCESS_CREATE_THREAD = 0x0002 } 2368 -enum : uint { PROCESS_SET_SESSIONID = 0x0004 } 2369 -enum : uint { PROCESS_VM_OPERATION = 0x0008 } 2370 -enum : uint { PROCESS_VM_READ = 0x0010 } 2371 -enum : uint { PROCESS_VM_WRITE = 0x0020 } 2372 -enum : uint { PROCESS_DUP_HANDLE = 0x0040 } 2373 -enum : uint { PROCESS_CREATE_PROCESS = 0x0080 } 2374 -enum : uint { PROCESS_SET_QUOTA = 0x0100 } 2375 -enum : uint { PROCESS_SET_INFORMATION = 0x0200 } 2376 -enum : uint { PROCESS_QUERY_INFORMATION = 0x0400 } 2377 -enum : uint { PROCESS_SUSPEND_RESUME = 0x0800 } 2378 -enum : uint { PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF } 2379 - 2380 -// #if defined(_WIN64) 2381 - 2382 -// #... 2383 - 2384 -// #else 2385 - 2386 -enum : uint { MAXIMUM_PROCESSORS = 32 } 2387 - 2388 -// #endif 2389 - 2390 -enum : uint { THREAD_TERMINATE = 0x0001 } 2391 -enum : uint { THREAD_SUSPEND_RESUME = 0x0002 } 2392 -enum : uint { THREAD_GET_CONTEXT = 0x0008 } 2393 -enum : uint { THREAD_SET_CONTEXT = 0x0010 } 2394 -enum : uint { THREAD_SET_INFORMATION = 0x0020 } 2395 -enum : uint { THREAD_QUERY_INFORMATION = 0x0040 } 2396 -enum : uint { THREAD_SET_THREAD_TOKEN = 0x0080 } 2397 -enum : uint { THREAD_IMPERSONATE = 0x0100 } 2398 -enum : uint { THREAD_DIRECT_IMPERSONATION = 0x0200 } 2399 - 2400 -enum : uint { THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF } 2401 - 2402 -enum : uint { JOB_OBJECT_ASSIGN_PROCESS = 0x0001 } 2403 -enum : uint { JOB_OBJECT_SET_ATTRIBUTES = 0x0002 } 2404 -enum : uint { JOB_OBJECT_QUERY = 0x0004 } 2405 -enum : uint { JOB_OBJECT_TERMINATE = 0x0008 } 2406 -enum : uint { JOB_OBJECT_SET_SECURITY_ATTRIBUTES = 0x0010 } 2407 -enum : uint { JOB_OBJECT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F } 2408 - 2409 -struct _JOB_SET_ARRAY { 2410 - HANDLE JobHandle; 2411 - DWORD MemberLevel; 2412 - DWORD Flags; 2413 -} 2414 -alias _JOB_SET_ARRAY JOB_SET_ARRAY; 2415 -alias _JOB_SET_ARRAY* PJOB_SET_ARRAY; 2416 - 2417 -enum : uint { TLS_MINIMUM_AVAILABLE = 64 } 2418 - 2419 -struct _NT_TIB { 2420 - _EXCEPTION_REGISTRATION_RECORD *ExceptionList; 2421 - PVOID StackBase; 2422 - PVOID StackLimit; 2423 - PVOID SubSystemTib; 2424 -union { 2425 - PVOID FiberData; 2426 - DWORD Version; 2427 -} 2428 - 2429 - PVOID ArbitraryUserPointer; 2430 - _NT_TIB *Self; 2431 -} 2432 -alias _NT_TIB NT_TIB; 2433 - 2434 -alias NT_TIB* PNT_TIB; 2435 - 2436 -struct _NT_TIB32 { 2437 - DWORD ExceptionList; 2438 - DWORD StackBase; 2439 - DWORD StackLimit; 2440 - DWORD SubSystemTib; 2441 -union { 2442 - DWORD FiberData; 2443 - DWORD Version; 2444 -} 2445 - 2446 - DWORD ArbitraryUserPointer; 2447 - DWORD Self; 2448 -} 2449 -alias _NT_TIB32 NT_TIB32; 2450 -alias _NT_TIB32* PNT_TIB32; 2451 - 2452 -struct _NT_TIB64 { 2453 - DWORD64 ExceptionList; 2454 - DWORD64 StackBase; 2455 - DWORD64 StackLimit; 2456 - DWORD64 SubSystemTib; 2457 -union { 2458 - DWORD64 FiberData; 2459 - DWORD Version; 2460 -} 2461 - 2462 - DWORD64 ArbitraryUserPointer; 2463 - DWORD64 Self; 2464 -} 2465 -alias _NT_TIB64 NT_TIB64; 2466 -alias _NT_TIB64* PNT_TIB64; 2467 - 2468 -// #if !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) 2469 -// #... 2470 -// #endif 2471 - 2472 -enum : uint { THREAD_BASE_PRIORITY_LOWRT = 15 } 2473 -enum : uint { THREAD_BASE_PRIORITY_MAX = 2 } 2474 -enum { THREAD_BASE_PRIORITY_MIN = -2 } 2475 -enum { THREAD_BASE_PRIORITY_IDLE = -15 } 2476 - 2477 -struct _QUOTA_LIMITS { 2478 - SIZE_T PagedPoolLimit; 2479 - SIZE_T NonPagedPoolLimit; 2480 - SIZE_T MinimumWorkingSetSize; 2481 - SIZE_T MaximumWorkingSetSize; 2482 - SIZE_T PagefileLimit; 2483 - LARGE_INTEGER TimeLimit; 2484 -} 2485 -alias _QUOTA_LIMITS QUOTA_LIMITS; 2486 - 2305 +alias SECURITY_INFORMATION* PSECURITY_INFORMATION; 2306 +alias WORD SECURITY_DESCRIPTOR_CONTROL; 2307 +alias SECURITY_DESCRIPTOR_CONTROL* PSECURITY_DESCRIPTOR_CONTROL; 2308 + 2309 +struct SECURITY_DESCRIPTOR { 2310 + BYTE Revision; 2311 + BYTE Sbz1; 2312 + SECURITY_DESCRIPTOR_CONTROL Control; 2313 + PSID Owner; 2314 + PSID Group; 2315 + PACL Sacl; 2316 + PACL Dacl; 2317 +} 2318 +alias SECURITY_DESCRIPTOR* PSECURITY_DESCRIPTOR, PISECURITY_DESCRIPTOR; 2319 + 2320 +enum TOKEN_INFORMATION_CLASS { 2321 + TokenUser = 1, 2322 + TokenGroups, 2323 + TokenPrivileges, 2324 + TokenOwner, 2325 + TokenPrimaryGroup, 2326 + TokenDefaultDacl, 2327 + TokenSource, 2328 + TokenType, 2329 + TokenImpersonationLevel, 2330 + TokenStatistics, 2331 + TokenRestrictedSids, 2332 + TokenSessionId, 2333 + TokenGroupsAndPrivileges, 2334 + TokenSessionReference, 2335 + TokenSandBoxInert, 2336 + TokenAuditPolicy, 2337 + TokenOrigin 2338 +} 2339 + 2340 +enum SID_NAME_USE { 2341 + SidTypeUser = 1, 2342 + SidTypeGroup, 2343 + SidTypeDomain, 2344 + SidTypeAlias, 2345 + SidTypeWellKnownGroup, 2346 + SidTypeDeletedAccount, 2347 + SidTypeInvalid, 2348 + SidTypeUnknown, 2349 + SidTypeComputer 2350 +} 2351 +alias SID_NAME_USE* PSID_NAME_USE; 2352 + 2353 +struct QUOTA_LIMITS { 2354 + SIZE_T PagedPoolLimit; 2355 + SIZE_T NonPagedPoolLimit; 2356 + SIZE_T MinimumWorkingSetSize; 2357 + SIZE_T MaximumWorkingSetSize; 2358 + SIZE_T PagefileLimit; 2359 + LARGE_INTEGER TimeLimit; 2360 +} 2487 2361 alias QUOTA_LIMITS* PQUOTA_LIMITS; 2488 2362 2489 -struct _IO_COUNTERS { 2490 - ULONGLONG ReadOperationCount; 2491 - ULONGLONG WriteOperationCount; 2492 - ULONGLONG OtherOperationCount; 2493 - ULONGLONG ReadTransferCount; 2494 - ULONGLONG WriteTransferCount; 2495 - ULONGLONG OtherTransferCount; 2363 +struct IO_COUNTERS { 2364 + ULONGLONG ReadOperationCount; 2365 + ULONGLONG WriteOperationCount; 2366 + ULONGLONG OtherOperationCount; 2367 + ULONGLONG ReadTransferCount; 2368 + ULONGLONG WriteTransferCount; 2369 + ULONGLONG OtherTransferCount; 2496 2370 } 2497 -alias _IO_COUNTERS IO_COUNTERS; 2498 - 2499 2371 alias IO_COUNTERS* PIO_COUNTERS; 2500 2372 2501 -struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { 2502 - LARGE_INTEGER TotalUserTime; 2503 - LARGE_INTEGER TotalKernelTime; 2504 - LARGE_INTEGER ThisPeriodTotalUserTime; 2505 - LARGE_INTEGER ThisPeriodTotalKernelTime; 2506 - DWORD TotalPageFaultCount; 2507 - DWORD TotalProcesses; 2508 - DWORD ActiveProcesses; 2509 - DWORD TotalTerminatedProcesses; 2510 -} 2511 -alias _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; 2512 -alias _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION; 2513 - 2514 -struct _JOBOBJECT_BASIC_LIMIT_INFORMATION { 2515 - LARGE_INTEGER PerProcessUserTimeLimit; 2516 - LARGE_INTEGER PerJobUserTimeLimit; 2517 - DWORD LimitFlags; 2518 - SIZE_T MinimumWorkingSetSize; 2519 - SIZE_T MaximumWorkingSetSize; 2520 - DWORD ActiveProcessLimit; 2521 - ULONG_PTR Affinity; 2522 - DWORD PriorityClass; 2523 - DWORD SchedulingClass; 2524 -} 2525 -alias _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION; 2526 -alias _JOBOBJECT_BASIC_LIMIT_INFORMATION* PJOBOBJECT_BASIC_LIMIT_INFORMATION; 2527 - 2528 -struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION { 2529 - JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; 2530 - IO_COUNTERS IoInfo; 2531 - SIZE_T ProcessMemoryLimit; 2532 - SIZE_T JobMemoryLimit; 2533 - SIZE_T PeakProcessMemoryUsed; 2534 - SIZE_T PeakJobMemoryUsed; 2535 -} 2536 -alias _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION; 2537 -alias _JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATION; 2538 - 2539 -struct _JOBOBJECT_BASIC_PROCESS_ID_LIST { 2540 - DWORD NumberOfAssignedProcesses; 2541 - DWORD NumberOfProcessIdsInList; 2542 - ULONG_PTR ProcessIdList[1]; 2543 -} 2544 -alias _JOBOBJECT_BASIC_PROCESS_ID_LIST JOBOBJECT_BASIC_PROCESS_ID_LIST; 2545 -alias _JOBOBJECT_BASIC_PROCESS_ID_LIST* PJOBOBJECT_BASIC_PROCESS_ID_LIST; 2546 - 2547 -struct _JOBOBJECT_BASIC_UI_RESTRICTIONS { 2548 - DWORD UIRestrictionsClass; 2549 -} 2550 -alias _JOBOBJECT_BASIC_UI_RESTRICTIONS JOBOBJECT_BASIC_UI_RESTRICTIONS; 2551 -alias _JOBOBJECT_BASIC_UI_RESTRICTIONS* PJOBOBJECT_BASIC_UI_RESTRICTIONS; 2552 - 2553 -struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION { 2554 - DWORD SecurityLimitFlags ; 2555 - HANDLE JobToken ; 2556 - PTOKEN_GROUPS SidsToDisable ; 2557 - PTOKEN_PRIVILEGES PrivilegesToDelete ; 2558 - PTOKEN_GROUPS RestrictedSids ; 2559 -} 2560 -alias _JOBOBJECT_SECURITY_LIMIT_INFORMATION JOBOBJECT_SECURITY_LIMIT_INFORMATION; 2561 -alias _JOBOBJECT_SECURITY_LIMIT_INFORMATION* PJOBOBJECT_SECURITY_LIMIT_INFORMATION; 2562 - 2563 -struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION { 2564 - DWORD EndOfJobTimeAction; 2565 -} 2566 -alias _JOBOBJECT_END_OF_JOB_TIME_INFORMATION JOBOBJECT_END_OF_JOB_TIME_INFORMATION; 2567 -alias _JOBOBJECT_END_OF_JOB_TIME_INFORMATION* PJOBOBJECT_END_OF_JOB_TIME_INFORMATION; 2568 - 2569 -struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT { 2570 - PVOID CompletionKey; 2571 - HANDLE CompletionPort; 2572 -} 2573 -alias _JOBOBJECT_ASSOCIATE_COMPLETION_PORT JOBOBJECT_ASSOCIATE_COMPLETION_PORT; 2574 -alias _JOBOBJECT_ASSOCIATE_COMPLETION_PORT* PJOBOBJECT_ASSOCIATE_COMPLETION_PORT; 2575 - 2576 -struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { 2577 - JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; 2578 - IO_COUNTERS IoInfo; 2579 -} 2580 -alias _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; 2581 -alias _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; 2582 - 2583 -struct _JOBOBJECT_JOBSET_INFORMATION { 2584 - DWORD MemberLevel; 2585 -} 2586 -alias _JOBOBJECT_JOBSET_INFORMATION JOBOBJECT_JOBSET_INFORMATION; 2587 -alias _JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; 2588 - 2589 -enum : uint { JOB_OBJECT_TERMINATE_AT_END_OF_JOB = 0 } 2590 -enum : uint { JOB_OBJECT_POST_AT_END_OF_JOB = 1 } 2591 - 2592 -enum : uint { JOB_OBJECT_MSG_END_OF_JOB_TIME = 1 } 2593 -enum : uint { JOB_OBJECT_MSG_END_OF_PROCESS_TIME = 2 } 2594 -enum : uint { JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT = 3 } 2595 -enum : uint { JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO = 4 } 2596 -enum : uint { JOB_OBJECT_MSG_NEW_PROCESS = 6 } 2597 -enum : uint { JOB_OBJECT_MSG_EXIT_PROCESS = 7 } 2598 -enum : uint { JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS = 8 } 2599 -enum : uint { JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT = 9 } 2600 -enum : uint { JOB_OBJECT_MSG_JOB_MEMORY_LIMIT = 10 } 2601 - 2602 -enum : uint { JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001 } 2603 -enum : uint { JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002 } 2604 -enum : uint { JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004 } 2605 -enum : uint { JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008 } 2606 -enum : uint { JOB_OBJECT_LIMIT_AFFINITY = 0x00000010 } 2607 -enum : uint { JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020 } 2608 -enum : uint { JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040 } 2609 -enum : uint { JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080 } 2610 - 2611 -enum : uint { JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100 } 2612 -enum : uint { JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200 } 2613 -enum : uint { JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400 } 2614 -enum : uint { JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 } 2615 -enum : uint { JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000 } 2616 -enum : uint { JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 } 2617 - 2618 -enum : uint { JOB_OBJECT_LIMIT_RESERVED2 = 0x00004000 } 2619 -enum : uint { JOB_OBJECT_LIMIT_RESERVED3 = 0x00008000 } 2620 -enum : uint { JOB_OBJECT_LIMIT_RESERVED4 = 0x00010000 } 2621 -enum : uint { JOB_OBJECT_LIMIT_RESERVED5 = 0x00020000 } 2622 -enum : uint { JOB_OBJECT_LIMIT_RESERVED6 = 0x00040000 } 2623 - 2624 -enum : uint { JOB_OBJECT_LIMIT_VALID_FLAGS = 0x0007ffff } 2625 - 2626 -enum : uint { JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS = 0x000000ff } 2627 -enum : uint { JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS = 0x00003fff } 2628 -enum : uint { JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS = 0x0007ffff } 2629 - 2630 -enum : uint { JOB_OBJECT_UILIMIT_NONE = 0x00000000 } 2631 - 2632 -enum : uint { JOB_OBJECT_UILIMIT_HANDLES = 0x00000001 } 2633 -enum : uint { JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002 } 2634 -enum : uint { JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004 } 2635 -enum : uint { JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008 } 2636 -enum : uint { JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010 } 2637 -enum : uint { JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020 } 2638 -enum : uint { JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040 } 2639 -enum : uint { JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080 } 2640 - 2641 -enum : uint { JOB_OBJECT_UILIMIT_ALL = 0x000000FF } 2642 - 2643 -enum : uint { JOB_OBJECT_UI_VALID_FLAGS = 0x000000FF } 2644 - 2645 -enum : uint { JOB_OBJECT_SECURITY_NO_ADMIN = 0x00000001 } 2646 -enum : uint { JOB_OBJECT_SECURITY_RESTRICTED_TOKEN = 0x00000002 } 2647 -enum : uint { JOB_OBJECT_SECURITY_ONLY_TOKEN = 0x00000004 } 2648 -enum : uint { JOB_OBJECT_SECURITY_FILTER_TOKENS = 0x00000008 } 2649 - 2650 -enum : uint { JOB_OBJECT_SECURITY_VALID_FLAGS = 0x0000000f } 2651 - 2652 -alias int _JOBOBJECTINFOCLASS; 2653 -enum { 2654 - JobObjectBasicAccountingInformation = 1, 2655 - JobObjectBasicLimitInformation, 2656 - JobObjectBasicProcessIdList, 2657 - JobObjectBasicUIRestrictions, 2658 - JobObjectSecurityLimitInformation, 2659 - JobObjectEndOfJobTimeInformation, 2660 - JobObjectAssociateCompletionPortInformation, 2661 - JobObjectBasicAndIoAccountingInformation, 2662 - JobObjectExtendedLimitInformation, 2663 - JobObjectJobSetInformation, 2664 - MaxJobObjectInfoClass, 2665 -} 2666 -alias _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS; 2667 - 2668 -enum : uint { EVENT_MODIFY_STATE = 0x0002 } 2669 -enum : uint { EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } 2670 -enum : uint { MUTANT_QUERY_STATE = 0x0001 } 2671 - 2672 -enum : uint { MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| MUTANT_QUERY_STATE } 2673 -enum : uint { SEMAPHORE_MODIFY_STATE = 0x0002 } 2674 -enum : uint { SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } 2675 - 2676 -enum : uint { TIMER_QUERY_STATE = 0x0001 } 2677 -enum : uint { TIMER_MODIFY_STATE = 0x0002 } 2678 - 2679 -enum : uint { TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| TIMER_QUERY_STATE|TIMER_MODIFY_STATE } 2680 - 2681 -enum : uint { TIME_ZONE_ID_UNKNOWN = 0 } 2682 -enum : uint { TIME_ZONE_ID_STANDARD = 1 } 2683 -enum : uint { TIME_ZONE_ID_DAYLIGHT = 2 } 2684 - 2685 -enum : uint { MAXIMUM_NUMA_NODES = 16 } 2686 - 2687 -struct _SYSTEM_NUMA_INFORMATION { 2688 - DWORD HighestNodeNumber; 2689 - DWORD Reserved; 2690 -union { 2691 - ULONGLONG ActiveProcessorsAffinityMask[MAXIMUM_NUMA_NODES]; 2692 - ULONGLONG AvailableMemory[MAXIMUM_NUMA_NODES]; 2693 -} 2694 - 2695 -} 2696 -alias _SYSTEM_NUMA_INFORMATION SYSTEM_NUMA_INFORMATION; 2697 -alias _SYSTEM_NUMA_INFORMATION* PSYSTEM_NUMA_INFORMATION; 2698 - 2699 -enum : uint { PROCESSOR_INTEL_386 = 386 } 2700 -enum : uint { PROCESSOR_INTEL_486 = 486 } 2701 -enum : uint { PROCESSOR_INTEL_PENTIUM = 586 } 2702 -enum : uint { PROCESSOR_INTEL_IA64 = 2200 } 2703 -enum : uint { PROCESSOR_MIPS_R4000 = 4000 } 2704 -enum : uint { PROCESSOR_ALPHA_21064 = 21064 } 2705 -enum : uint { PROCESSOR_PPC_601 = 601 } 2706 -enum : uint { PROCESSOR_PPC_603 = 603 } 2707 -enum : uint { PROCESSOR_PPC_604 = 604 } 2708 -enum : uint { PROCESSOR_PPC_620 = 620 } 2709 -enum : uint { PROCESSOR_HITACHI_SH3 = 10003 } 2710 -enum : uint { PROCESSOR_HITACHI_SH3E = 10004 } 2711 -enum : uint { PROCESSOR_HITACHI_SH4 = 10005 } 2712 -enum : uint { PROCESSOR_MOTOROLA_821 = 821 } 2713 -enum : uint { PROCESSOR_SHx_SH3 = 103 } 2714 -enum : uint { PROCESSOR_SHx_SH4 = 104 } 2715 -enum : uint { PROCESSOR_STRONGARM = 2577 } 2716 -enum : uint { PROCESSOR_ARM720 = 1824 } 2717 -enum : uint { PROCESSOR_ARM820 = 2080 } 2718 -enum : uint { PROCESSOR_ARM920 = 2336 } 2719 -enum : uint { PROCESSOR_ARM_7TDMI = 70001 } 2720 -enum : uint { PROCESSOR_OPTIL = 0x494f } 2721 - 2722 -enum : uint { PROCESSOR_ARCHITECTURE_INTEL = 0 } 2723 -enum : uint { PROCESSOR_ARCHITECTURE_MIPS = 1 } 2724 -enum : uint { PROCESSOR_ARCHITECTURE_ALPHA = 2 } 2725 -enum : uint { PROCESSOR_ARCHITECTURE_PPC = 3 } 2726 -enum : uint { PROCESSOR_ARCHITECTURE_SHX = 4 } 2727 -enum : uint { PROCESSOR_ARCHITECTURE_ARM = 5 } 2728 -enum : uint { PROCESSOR_ARCHITECTURE_IA64 = 6 } 2729 -enum : uint { PROCESSOR_ARCHITECTURE_ALPHA64 = 7 } 2730 -enum : uint { PROCESSOR_ARCHITECTURE_MSIL = 8 } 2731 -enum : uint { PROCESSOR_ARCHITECTURE_AMD64 = 9 } 2732 -enum : uint { PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 = 10 } 2733 - 2734 -enum : uint { PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF } 2735 - 2736 -enum : uint { PF_FLOATING_POINT_PRECISION_ERRATA = 0 } 2737 -enum : uint { PF_FLOATING_POINT_EMULATED = 1 } 2738 -enum : uint { PF_COMPARE_EXCHANGE_DOUBLE = 2 } 2739 -enum : uint { PF_MMX_INSTRUCTIONS_AVAILABLE = 3 } 2740 -enum : uint { PF_PPC_MOVEMEM_64BIT_OK = 4 } 2741 -enum : uint { PF_ALPHA_BYTE_INSTRUCTIONS = 5 } 2742 -enum : uint { PF_XMMI_INSTRUCTIONS_AVAILABLE = 6 } 2743 -enum : uint { PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7 } 2744 -enum : uint { PF_RDTSC_INSTRUCTION_AVAILABLE = 8 } 2745 -enum : uint { PF_PAE_ENABLED = 9 } 2746 -enum : uint { PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10 } 2747 - 2748 -struct _MEMORY_BASIC_INFORMATION { 2749 - PVOID BaseAddress; 2750 - PVOID AllocationBase; 2751 - DWORD AllocationProtect; 2752 - SIZE_T RegionSize; 2753 - DWORD State; 2754 - DWORD Protect; 2755 - DWORD Type; 2756 -} 2757 -alias _MEMORY_BASIC_INFORMATION MEMORY_BASIC_INFORMATION; 2758 -alias _MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; 2759 - 2760 -struct _MEMORY_BASIC_INFORMATION32 { 2761 - DWORD BaseAddress; 2762 - DWORD AllocationBase; 2763 - DWORD AllocationProtect; 2764 - DWORD RegionSize; 2765 - DWORD State; 2766 - DWORD Protect; 2767 - DWORD Type; 2768 -} 2769 -alias _MEMORY_BASIC_INFORMATION32 MEMORY_BASIC_INFORMATION32; 2770 -alias _MEMORY_BASIC_INFORMATION32* PMEMORY_BASIC_INFORMATION32; 2771 - 2772 -struct _MEMORY_BASIC_INFORMATION64 { 2773 - ULONGLONG BaseAddress; 2774 - ULONGLONG AllocationBase; 2775 - DWORD AllocationProtect; 2776 - DWORD __alignment1; 2777 - ULONGLONG RegionSize; 2778 - DWORD State; 2779 - DWORD Protect; 2780 - DWORD Type; 2781 - DWORD __alignment2; 2782 -} 2783 -alias _MEMORY_BASIC_INFORMATION64 MEMORY_BASIC_INFORMATION64; 2784 -alias _MEMORY_BASIC_INFORMATION64* PMEMORY_BASIC_INFORMATION64; 2785 - 2786 -enum : uint { SECTION_QUERY = 0x0001 } 2787 -enum : uint { SECTION_MAP_WRITE = 0x0002 } 2788 -enum : uint { SECTION_MAP_READ = 0x0004 } 2789 -enum : uint { SECTION_MAP_EXECUTE = 0x0008 } 2790 -enum : uint { SECTION_EXTEND_SIZE = 0x0010 } 2791 - 2792 -enum : uint { SECTION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE } 2793 -enum : uint { PAGE_NOACCESS = 0x01 } 2794 -enum : uint { PAGE_READONLY = 0x02 } 2795 -enum : uint { PAGE_READWRITE = 0x04 } 2796 -enum : uint { PAGE_WRITECOPY = 0x08 } 2797 -enum : uint { PAGE_EXECUTE = 0x10 } 2798 -enum : uint { PAGE_EXECUTE_READ = 0x20 } 2799 -enum : uint { PAGE_EXECUTE_READWRITE = 0x40 } 2800 -enum : uint { PAGE_EXECUTE_WRITECOPY = 0x80 } 2801 -enum : uint { PAGE_GUARD = 0x100 } 2802 -enum : uint { PAGE_NOCACHE = 0x200 } 2803 -enum : uint { PAGE_WRITECOMBINE = 0x400 } 2804 -enum : uint { MEM_COMMIT = 0x1000 } 2805 -enum : uint { MEM_RESERVE = 0x2000 } 2806 -enum : uint { MEM_DECOMMIT = 0x4000 } 2807 -enum : uint { MEM_RELEASE = 0x8000 } 2808 -enum : uint { MEM_FREE = 0x10000 } 2809 -enum : uint { MEM_PRIVATE = 0x20000 } 2810 -enum : uint { MEM_MAPPED = 0x40000 } 2811 -enum : uint { MEM_RESET = 0x80000 } 2812 -enum : uint { MEM_TOP_DOWN = 0x100000 } 2813 -enum : uint { MEM_WRITE_WATCH = 0x200000 } 2814 -enum : uint { MEM_PHYSICAL = 0x400000 } 2815 -enum : uint { MEM_4MB_PAGES = 0x80000000 } 2816 -enum : uint { SEC_FILE = 0x800000 } 2817 -enum : uint { SEC_IMAGE = 0x1000000 } 2818 -enum : uint { SEC_RESERVE = 0x4000000 } 2819 -enum : uint { SEC_COMMIT = 0x8000000 } 2820 -enum : uint { SEC_NOCACHE = 0x10000000 } 2821 -alias SEC_IMAGE MEM_IMAGE; 2822 -enum : uint { WRITE_WATCH_FLAG_RESET = 0x01 } 2823 - 2824 -enum : uint { FILE_READ_DATA = 0x0001 } 2825 -enum : uint { FILE_LIST_DIRECTORY = 0x0001 } 2826 - 2827 -enum : uint { FILE_WRITE_DATA = 0x0002 } 2828 -enum : uint { FILE_ADD_FILE = 0x0002 } 2829 - 2830 -enum : uint { FILE_APPEND_DATA = 0x0004 } 2831 -enum : uint { FILE_ADD_SUBDIRECTORY = 0x0004 } 2832 -enum : uint { FILE_CREATE_PIPE_INSTANCE = 0x0004 } 2833 - 2834 -enum : uint { FILE_READ_EA = 0x0008 } 2835 - 2836 -enum : uint { FILE_WRITE_EA = 0x0010 } 2837 - 2838 -enum : uint { FILE_EXECUTE = 0x0020 } 2839 -enum : uint { FILE_TRAVERSE = 0x0020 } 2840 - 2841 -enum : uint { FILE_DELETE_CHILD = 0x0040 } 2842 - 2843 -enum : uint { FILE_READ_ATTRIBUTES = 0x0080 } 2844 - 2845 -enum : uint { FILE_WRITE_ATTRIBUTES = 0x0100 } 2846 - 2847 -enum : uint { FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF } 2848 - 2849 -enum : uint { FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE } 2850 - 2851 -enum : uint { FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE } 2852 - 2853 -enum : uint { FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE } 2854 - 2855 -enum : uint { FILE_SHARE_READ = 0x00000001 } 2856 -enum : uint { FILE_SHARE_WRITE = 0x00000002 } 2857 -enum : uint { FILE_SHARE_DELETE = 0x00000004 } 2858 -enum : uint { FILE_ATTRIBUTE_READONLY = 0x00000001 } 2859 -enum : uint { FILE_ATTRIBUTE_HIDDEN = 0x00000002 } 2860 -enum : uint { FILE_ATTRIBUTE_SYSTEM = 0x00000004 } 2861 -enum : uint { FILE_ATTRIBUTE_DIRECTORY = 0x00000010 } 2862 -enum : uint { FILE_ATTRIBUTE_ARCHIVE = 0x00000020 } 2863 -enum : uint { FILE_ATTRIBUTE_DEVICE = 0x00000040 } 2864 -enum : uint { FILE_ATTRIBUTE_NORMAL = 0x00000080 } 2865 -enum : uint { FILE_ATTRIBUTE_TEMPORARY = 0x00000100 } 2866 -enum : uint { FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 } 2867 -enum : uint { FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 } 2868 -enum : uint { FILE_ATTRIBUTE_COMPRESSED = 0x00000800 } 2869 -enum : uint { FILE_ATTRIBUTE_OFFLINE = 0x00001000 } 2870 -enum : uint { FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 } 2871 -enum : uint { FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 } 2872 -enum : uint { FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001 } 2873 -enum : uint { FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002 } 2874 -enum : uint { FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004 } 2875 -enum : uint { FILE_NOTIFY_CHANGE_SIZE = 0x00000008 } 2876 -enum : uint { FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010 } 2877 -enum : uint { FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020 } 2878 -enum : uint { FILE_NOTIFY_CHANGE_CREATION = 0x00000040 } 2879 -enum : uint { FILE_NOTIFY_CHANGE_SECURITY = 0x00000100 } 2880 -enum : uint { FILE_ACTION_ADDED = 0x00000001 } 2881 -enum : uint { FILE_ACTION_REMOVED = 0x00000002 } 2882 -enum : uint { FILE_ACTION_MODIFIED = 0x00000003 } 2883 -enum : uint { FILE_ACTION_RENAMED_OLD_NAME = 0x00000004 } 2884 -enum : uint { FILE_ACTION_RENAMED_NEW_NAME = 0x00000005 } 2885 -enum : DWORD { MAILSLOT_NO_MESSAGE = cast(DWORD)-1 } 2886 -enum : DWORD { MAILSLOT_WAIT_FOREVER = cast(DWORD)-1 } 2887 -enum : uint { FILE_CASE_SENSITIVE_SEARCH = 0x00000001 } 2888 -enum : uint { FILE_CASE_PRESERVED_NAMES = 0x00000002 } 2889 -enum : uint { FILE_UNICODE_ON_DISK = 0x00000004 } 2890 -enum : uint { FILE_PERSISTENT_ACLS = 0x00000008 } 2891 -enum : uint { FILE_FILE_COMPRESSION = 0x00000010 } 2892 -enum : uint { FILE_VOLUME_QUOTAS = 0x00000020 } 2893 -enum : uint { FILE_SUPPORTS_SPARSE_FILES = 0x00000040 } 2894 -enum : uint { FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 } 2895 -enum : uint { FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100 } 2896 -enum : uint { FILE_VOLUME_IS_COMPRESSED = 0x00008000 } 2897 -enum : uint { FILE_SUPPORTS_OBJECT_IDS = 0x00010000 } 2898 -enum : uint { FILE_SUPPORTS_ENCRYPTION = 0x00020000 } 2899 -enum : uint { FILE_NAMED_STREAMS = 0x00040000 } 2900 -enum : uint { FILE_READ_ONLY_VOLUME = 0x00080000 } 2901 - 2902 -struct _FILE_NOTIFY_INFORMATION { 2903 - DWORD NextEntryOffset; 2904 - DWORD Action; 2905 - DWORD FileNameLength; 2906 - WCHAR FileName[1]; 2907 -} 2908 -alias _FILE_NOTIFY_INFORMATION FILE_NOTIFY_INFORMATION; 2909 -alias _FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION; 2910 - 2911 -union _FILE_SEGMENT_ELEMENT { 2912 - PVOID64 Buffer; 2913 - ULONGLONG Alignment; 2914 -} 2915 -alias _FILE_SEGMENT_ELEMENT FILE_SEGMENT_ELEMENT; 2916 -alias _FILE_SEGMENT_ELEMENT* PFILE_SEGMENT_ELEMENT; 2917 - 2918 -struct _REPARSE_GUID_DATA_BUFFER { 2919 - DWORD ReparseTag; 2920 - WORD ReparseDataLength; 2921 - WORD Reserved; 2922 - GUID ReparseGuid; 2923 -struct { 2924 - BYTE DataBuffer[1]; 2925 -} 2926 - 2927 -} 2928 -alias _REPARSE_GUID_DATA_BUFFER REPARSE_GUID_DATA_BUFFER; 2929 -alias _REPARSE_GUID_DATA_BUFFER* PREPARSE_GUID_DATA_BUFFER; 2930 - 2931 -// #define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer) 2932 - 2933 -enum : uint { MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 } 2934 - 2935 -enum : uint { IO_REPARSE_TAG_RESERVED_ZERO = 0 } 2936 -enum : uint { IO_REPARSE_TAG_RESERVED_ONE = 1 } 2937 - 2938 -alias IO_REPARSE_TAG_RESERVED_ONE IO_REPARSE_TAG_RESERVED_RANGE; 2939 - 2940 -// #define IsReparseTagMicrosoft(_tag) ( ((_tag) & 0x80000000) ) 2941 - 2942 -// #define IsReparseTagNameSurrogate(_tag) ( ((_tag) & 0x20000000) ) 2943 - 2944 -enum : uint { IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 } 2945 -enum : uint { IO_REPARSE_TAG_HSM = 0xC0000004 } 2946 -enum : uint { IO_REPARSE_TAG_SIS = 0x80000007 } 2947 -enum : uint { IO_REPARSE_TAG_FILTER_MANAGER = 0x8000000B } 2948 -enum : uint { IO_COMPLETION_MODIFY_STATE = 0x0002 } 2949 -enum : uint { IO_COMPLETION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } 2950 -enum : uint { DUPLICATE_CLOSE_SOURCE = 0x00000001 } 2951 -enum : uint { DUPLICATE_SAME_ACCESS = 0x00000002 } 2952 - 2953 -alias int _SYSTEM_POWER_STATE; 2954 -enum { 2955 - PowerSystemUnspecified = 0, 2956 - PowerSystemWorking = 1, 2957 - PowerSystemSleeping1 = 2, 2958 - PowerSystemSleeping2 = 3, 2959 - PowerSystemSleeping3 = 4, 2960 - PowerSystemHibernate = 5, 2961 - PowerSystemShutdown = 6, 2962 - PowerSystemMaximum = 7, 2963 -} 2964 -alias _SYSTEM_POWER_STATE SYSTEM_POWER_STATE; 2965 -alias _SYSTEM_POWER_STATE* PSYSTEM_POWER_STATE; 2966 - 2967 -enum : uint { POWER_SYSTEM_MAXIMUM = 7 } 2968 - 2969 -enum _4 { 2970 - PowerActionNone = 0, 2971 - PowerActionReserved, 2972 - PowerActionSleep, 2973 - PowerActionHibernate, 2974 - PowerActionShutdown, 2975 - PowerActionShutdownReset, 2976 - PowerActionShutdownOff, 2977 - PowerActionWarmEject, 2978 -} 2979 -alias _4 POWER_ACTION; 2980 -alias _4* PPOWER_ACTION; 2981 - 2982 -alias int _DEVICE_POWER_STATE; 2983 -enum { 2984 - PowerDeviceUnspecified = 0, 2985 - PowerDeviceD0, 2986 - PowerDeviceD1, 2987 - PowerDeviceD2, 2988 - PowerDeviceD3, 2989 - PowerDeviceMaximum, 2990 -} 2991 -alias _DEVICE_POWER_STATE DEVICE_POWER_STATE; 2992 -alias _DEVICE_POWER_STATE* PDEVICE_POWER_STATE; 2993 - 2994 -enum : DWORD { ES_SYSTEM_REQUIRED = 0x00000001 } 2995 -enum : DWORD { ES_DISPLAY_REQUIRED = 0x00000002 } 2996 -enum : DWORD { ES_USER_PRESENT = 0x00000004 } 2997 -enum : DWORD { ES_CONTINUOUS = 0x80000000 } 2998 - 2999 -alias DWORD EXECUTION_STATE; 3000 - 3001 -enum _5 { 3002 - LT_DONT_CARE, 3003 - LT_LOWEST_LATENCY, 3004 -} 3005 -alias _5 LATENCY_TIME; 3006 - 3007 -enum : uint { PDCAP_D0_SUPPORTED = 0x00000001 } 3008 -enum : uint { PDCAP_D1_SUPPORTED = 0x00000002 } 3009 -enum : uint { PDCAP_D2_SUPPORTED = 0x00000004 } 3010 -enum : uint { PDCAP_D3_SUPPORTED = 0x00000008 } 3011 -enum : uint { PDCAP_WAKE_FROM_D0_SUPPORTED = 0x00000010 } 3012 -enum : uint { PDCAP_WAKE_FROM_D1_SUPPORTED = 0x00000020 } 3013 -enum : uint { PDCAP_WAKE_FROM_D2_SUPPORTED = 0x00000040 } 3014 -enum : uint { PDCAP_WAKE_FROM_D3_SUPPORTED = 0x00000080 } 3015 -enum : uint { PDCAP_WARM_EJECT_SUPPORTED = 0x00000100 } 3016 - 3017 -struct CM_Power_Data_s { 3018 - DWORD PD_Size; 3019 - DEVICE_POWER_STATE PD_MostRecentPowerState; 3020 - DWORD PD_Capabilities; 3021 - DWORD PD_D1Latency; 3022 - DWORD PD_D2Latency; 3023 - DWORD PD_D3Latency; 3024 - DEVICE_POWER_STATE PD_PowerStateMapping[POWER_SYSTEM_MAXIMUM]; 3025 - SYSTEM_POWER_STATE PD_DeepestSystemWake; 3026 -} 3027 -alias CM_Power_Data_s CM_POWER_DATA; 3028 -alias CM_Power_Data_s* PCM_POWER_DATA; 3029 - 3030 -enum _6 { 3031 - SystemPowerPolicyAc, 3032 - SystemPowerPolicyDc, 3033 - VerifySystemPolicyAc, 3034 - VerifySystemPolicyDc, 3035 - SystemPowerCapabilities, 3036 - SystemBatteryState, 3037 - SystemPowerStateHandler, 3038 - ProcessorStateHandler, 3039 - SystemPowerPolicyCurrent, 3040 - AdministratorPowerPolicy, 3041 - SystemReserveHiberFile, 3042 - ProcessorInformation, 3043 - SystemPowerInformation, 3044 - ProcessorStateHandler2, 3045 - LastWakeTime, 3046 - LastSleepTime, 3047 - SystemExecutionState, 3048 - SystemPowerStateNotifyHandler, 3049 - ProcessorPowerPolicyAc, 3050 - ProcessorPowerPolicyDc, 3051 - VerifyProcessorPowerPolicyAc, 3052 - VerifyProcessorPowerPolicyDc, 3053 - ProcessorPowerPolicyCurrent, 3054 -} 3055 -alias _6 POWER_INFORMATION_LEVEL; 3056 - 3057 -struct _7 { 3058 - DWORD Granularity; 3059 - DWORD Capacity; 3060 -} 3061 -alias _7 BATTERY_REPORTING_SCALE; 3062 -alias _7* PBATTERY_REPORTING_SCALE; 3063 - 3064 -struct _8 { 3065 - POWER_ACTION Action; 3066 - DWORD Flags; 3067 - DWORD EventCode; 3068 -} 3069 -alias _8 POWER_ACTION_POLICY; 3070 -alias _8* PPOWER_ACTION_POLICY; 3071 - 3072 -enum : uint { POWER_ACTION_QUERY_ALLOWED = 0x00000001 } 3073 -enum : uint { POWER_ACTION_UI_ALLOWED = 0x00000002 } 3074 -enum : uint { POWER_ACTION_OVERRIDE_APPS = 0x00000004 } 3075 -enum : uint { POWER_ACTION_LIGHTEST_FIRST = 0x10000000 } 3076 -enum : uint { POWER_ACTION_LOCK_CONSOLE = 0x20000000 } 3077 -enum : uint { POWER_ACTION_DISABLE_WAKES = 0x40000000 } 3078 -enum : uint { POWER_ACTION_CRITICAL = 0x80000000 } 3079 - 3080 -enum : uint { POWER_LEVEL_USER_NOTIFY_TEXT = 0x00000001 } 3081 -enum : uint { POWER_LEVEL_USER_NOTIFY_SOUND = 0x00000002 } 3082 -enum : uint { POWER_LEVEL_USER_NOTIFY_EXEC = 0x00000004 } 3083 -enum : uint { POWER_USER_NOTIFY_BUTTON = 0x00000008 } 3084 -enum : uint { POWER_USER_NOTIFY_SHUTDOWN = 0x00000010 } 3085 -enum : uint { POWER_FORCE_TRIGGER_RESET = 0x80000000 } 3086 - 3087 -struct _9 { 3088 - BOOLEAN Enable; 3089 - BYTE Spare[3]; 3090 - DWORD BatteryLevel; 3091 - POWER_ACTION_POLICY PowerPolicy; 3092 - SYSTEM_POWER_STATE MinSystemState; 3093 -} 3094 -alias _9 SYSTEM_POWER_LEVEL; 3095 -alias _9* PSYSTEM_POWER_LEVEL; 3096 - 3097 -enum : uint { NUM_DISCHARGE_POLICIES = 4 } 3098 -enum : uint { DISCHARGE_POLICY_CRITICAL = 0 } 3099 -enum : uint { DISCHARGE_POLICY_LOW = 1 } 3100 - 3101 -enum : uint { PO_THROTTLE_NONE = 0 } 3102 -enum : uint { PO_THROTTLE_CONSTANT = 1 } 3103 -enum : uint { PO_THROTTLE_DEGRADE = 2 } 3104 -enum : uint { PO_THROTTLE_ADAPTIVE = 3 } 3105 -enum : uint { PO_THROTTLE_MAXIMUM = 4 } 3106 - 3107 -struct _SYSTEM_POWER_POLICY { 3108 - DWORD Revision; 3109 - 3110 - POWER_ACTION_POLICY PowerButton; 3111 - POWER_ACTION_POLICY SleepButton; 3112 - POWER_ACTION_POLICY LidClose; 3113 - SYSTEM_POWER_STATE LidOpenWake; 3114 - DWORD Reserved; 3115 - POWER_ACTION_POLICY Idle; 3116 - DWORD IdleTimeout; 3117 - BYTE IdleSensitivity; 3118 - 3119 - BYTE DynamicThrottle; 3120 - BYTE Spare2[2]; 3121 - SYSTEM_POWER_STATE MinSleep; 3122 - SYSTEM_POWER_STATE MaxSleep; 3123 - SYSTEM_POWER_STATE ReducedLatencySleep; 3124 - DWORD WinLogonFlags; 3125 - DWORD Spare3; 3126 - DWORD DozeS4Timeout; 3127 - DWORD BroadcastCapacityResolution; 3128 - SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES]; 3129 - DWORD VideoTimeout; 3130 - BOOLEAN VideoDimDisplay; 3131 - DWORD VideoReserved[3]; 3132 - DWORD SpindownTimeout; 3133 - BOOLEAN OptimizeForPower; 3134 - BYTE FanThrottleTolerance; 3135 - BYTE ForcedThrottle; 3136 - BYTE MinThrottle; 3137 - POWER_ACTION_POLICY OverThrottled; 3138 -} 3139 -alias _SYSTEM_POWER_POLICY SYSTEM_POWER_POLICY; 3140 -alias _SYSTEM_POWER_POLICY* PSYSTEM_POWER_POLICY; 3141 - 3142 -struct _PROCESSOR_POWER_POLICY_INFO { 3143 - 3144 - DWORD TimeCheck; 3145 - DWORD DemoteLimit; 3146 - DWORD PromoteLimit; 3147 - 3148 - BYTE DemotePercent; 3149 - BYTE PromotePercent; 3150 - BYTE Spare[2]; 3151 -// DWORD AllowDemotion:1; 3152 -// DWORD AllowPromotion:1; 3153 -// DWORD Reserved:30; 3154 - 3155 -} 3156 -alias _PROCESSOR_POWER_POLICY_INFO PROCESSOR_POWER_POLICY_INFO; 3157 -alias _PROCESSOR_POWER_POLICY_INFO* PPROCESSOR_POWER_POLICY_INFO; 3158 - 3159 -struct _PROCESSOR_POWER_POLICY { 3160 - DWORD Revision; 3161 - 3162 - BYTE DynamicThrottle; 3163 - BYTE Spare[3]; 3164 - DWORD Reserved; 3165 - 3166 - DWORD PolicyCount; 3167 - PROCESSOR_POWER_POLICY_INFO Policy[3]; 3168 -} 3169 -alias _PROCESSOR_POWER_POLICY PROCESSOR_POWER_POLICY; 3170 -alias _PROCESSOR_POWER_POLICY* PPROCESSOR_POWER_POLICY; 3171 - 3172 -struct _ADMINISTRATOR_POWER_POLICY { 3173 - 3174 - SYSTEM_POWER_STATE MinSleep; 3175 - SYSTEM_POWER_STATE MaxSleep; 3176 - DWORD MinVideoTimeout; 3177 - DWORD MaxVideoTimeout; 3178 - DWORD MinSpindownTimeout; 3179 - DWORD MaxSpindownTimeout; 3180 -} 3181 -alias _ADMINISTRATOR_POWER_POLICY ADMINISTRATOR_POWER_POLICY; 3182 -alias _ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; 3183 - 3184 -struct _10 { 3185 - 3186 - BOOLEAN PowerButtonPresent; 3187 - BOOLEAN SleepButtonPresent; 3188 - BOOLEAN LidPresent; 3189 - BOOLEAN SystemS1; 3190 - BOOLEAN SystemS2; 3191 - BOOLEAN SystemS3; 3192 - BOOLEAN SystemS4; 3193 - BOOLEAN SystemS5; 3194 - BOOLEAN HiberFilePresent; 3195 - BOOLEAN FullWake; 3196 - BOOLEAN VideoDimPresent; 3197 - BOOLEAN ApmPresent; 3198 - BOOLEAN UpsPresent; 3199 - BOOLEAN ThermalControl; 3200 - BOOLEAN ProcessorThrottle; 3201 - BYTE ProcessorMinThrottle; 3202 - BYTE ProcessorMaxThrottle; 3203 - BYTE spare2[4]; 3204 - BOOLEAN DiskSpinDown; 3205 - BYTE spare3[8]; 3206 - BOOLEAN SystemBatteriesPresent; 3207 - BOOLEAN BatteriesAreShortTerm; 3208 - BATTERY_REPORTING_SCALE BatteryScale[3]; 3209 - SYSTEM_POWER_STATE AcOnLineWake; 3210 - SYSTEM_POWER_STATE SoftLidWake; 3211 - SYSTEM_POWER_STATE RtcWake; 3212 - SYSTEM_POWER_STATE MinDeviceWakeState; 3213 - SYSTEM_POWER_STATE DefaultLowLatencyWake; 3214 -} 3215 -alias _10 SYSTEM_POWER_CAPABILITIES; 3216 -alias _10* PSYSTEM_POWER_CAPABILITIES; 3217 - 3218 -struct _11 { 3219 - BOOLEAN AcOnLine; 3220 - BOOLEAN BatteryPresent; 3221 - BOOLEAN Charging; 3222 - BOOLEAN Discharging; 3223 - BOOLEAN Spare1[4]; 3224 - DWORD MaxCapacity; 3225 - DWORD RemainingCapacity; 3226 - DWORD Rate; 3227 - DWORD EstimatedTime; 3228 - DWORD DefaultAlert1; 3229 - DWORD DefaultAlert2; 3230 -} 3231 -alias _11 SYSTEM_BATTERY_STATE; 3232 -alias _11* PSYSTEM_BATTERY_STATE; 3233 - 3234 -// #ifndef _MAC 2373 +struct FILE_NOTIFY_INFORMATION { 2374 + DWORD NextEntryOffset; 2375 + DWORD Action; 2376 + DWORD FileNameLength; 2377 + WCHAR _FileName; 2378 + 2379 + WCHAR* FileName() { return &_FileName; } 2380 +} 2381 +alias FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION; 2382 + 2383 +struct TAPE_ERASE { 2384 + DWORD Type; 2385 + BOOLEAN Immediate; 2386 +} 2387 +alias TAPE_ERASE* PTAPE_ERASE; 2388 + 2389 +struct TAPE_GET_DRIVE_PARAMETERS { 2390 + BOOLEAN ECC; 2391 + BOOLEAN Compression; 2392 + BOOLEAN DataPadding; 2393 + BOOLEAN ReportSetmarks; 2394 + DWORD DefaultBlockSize; 2395 + DWORD MaximumBlockSize; 2396 + DWORD MinimumBlockSize; 2397 + DWORD MaximumPartitionCount; 2398 + DWORD FeaturesLow; 2399 + DWORD FeaturesHigh; 2400 + DWORD EOTWarningZoneSize; 2401 +} 2402 +alias TAPE_GET_DRIVE_PARAMETERS* PTAPE_GET_DRIVE_PARAMETERS; 2403 + 2404 +struct TAPE_GET_MEDIA_PARAMETERS { 2405 + LARGE_INTEGER Capacity; 2406 + LARGE_INTEGER Remaining; 2407 + DWORD BlockSize; 2408 + DWORD PartitionCount; 2409 + BOOLEAN WriteProtected; 2410 +} 2411 +alias TAPE_GET_MEDIA_PARAMETERS* PTAPE_GET_MEDIA_PARAMETERS; 2412 + 2413 +struct TAPE_GET_POSITION { 2414 + ULONG Type; 2415 + ULONG Partition; 2416 + ULONG OffsetLow; 2417 + ULONG OffsetHigh; 2418 +} 2419 +alias TAPE_GET_POSITION* PTAPE_GET_POSITION; 2420 + 2421 +struct TAPE_PREPARE { 2422 + DWORD Operation; 2423 + BOOLEAN Immediate; 2424 +} 2425 +alias TAPE_PREPARE* PTAPE_PREPARE; 2426 + 2427 +struct TAPE_SET_DRIVE_PARAMETERS { 2428 + BOOLEAN ECC; 2429 + BOOLEAN Compression; 2430 + BOOLEAN DataPadding; 2431 + BOOLEAN ReportSetmarks; 2432 + ULONG EOTWarningZoneSize; 2433 +} 2434 +alias TAPE_SET_DRIVE_PARAMETERS* PTAPE_SET_DRIVE_PARAMETERS; 2435 + 2436 +struct TAPE_SET_MEDIA_PARAMETERS { 2437 + ULONG BlockSize; 2438 +} 2439 +alias TAPE_SET_MEDIA_PARAMETERS* PTAPE_SET_MEDIA_PARAMETERS; 2440 + 2441 +struct TAPE_SET_POSITION { 2442 + DWORD Method; 2443 + DWORD Partition; 2444 + LARGE_INTEGER Offset; 2445 + BOOLEAN Immediate; 2446 +} 2447 +alias TAPE_SET_POSITION* PTAPE_SET_POSITION; 2448 + 2449 +struct TAPE_WRITE_MARKS { 2450 + DWORD Type; 2451 + DWORD Count; 2452 + BOOLEAN Immediate; 2453 +} 2454 +alias TAPE_WRITE_MARKS* PTAPE_WRITE_MARKS; 2455 + 2456 +struct TAPE_CREATE_PARTITION { 2457 + DWORD Method; 2458 + DWORD Count; 2459 + DWORD Size; 2460 +} 2461 +alias TAPE_CREATE_PARTITION* PTAPE_CREATE_PARTITION; 2462 + 2463 +struct MEMORY_BASIC_INFORMATION { 2464 + PVOID BaseAddress; 2465 + PVOID AllocationBase; 2466 + DWORD AllocationProtect; 2467 + DWORD RegionSize; 2468 + DWORD State; 2469 + DWORD Protect; 2470 + DWORD Type; 2471 +} 2472 +alias MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; 2473 + 2474 +struct MESSAGE_RESOURCE_ENTRY { 2475 + WORD Length; 2476 + WORD Flags; 2477 + BYTE _Text; 2478 + 2479 + BYTE* Text() { return &_Text; } 2480 +} 2481 +alias MESSAGE_RESOURCE_ENTRY* PMESSAGE_RESOURCE_ENTRY; 2482 + 2483 +struct MESSAGE_RESOURCE_BLOCK { 2484 + DWORD LowId; 2485 + DWORD HighId; 2486 + DWORD OffsetToEntries; 2487 +} 2488 +alias MESSAGE_RESOURCE_BLOCK* PMESSAGE_RESOURCE_BLOCK; 2489 + 2490 +struct MESSAGE_RESOURCE_DATA { 2491 + DWORD NumberOfBlocks; 2492 + MESSAGE_RESOURCE_BLOCK _Blocks; 2493 + 2494 + MESSAGE_RESOURCE_BLOCK* Blocks() { return &_Blocks; } 2495 +} 2496 +alias MESSAGE_RESOURCE_DATA* PMESSAGE_RESOURCE_DATA; 2497 + 2498 +struct LIST_ENTRY { 2499 + LIST_ENTRY* Flink; 2500 + LIST_ENTRY* Blink; 2501 +} 2502 +alias LIST_ENTRY* PLIST_ENTRY; 2503 + 2504 +struct SINGLE_LIST_ENTRY { 2505 + SINGLE_LIST_ENTRY* Next; 2506 +} 2507 +alias SINGLE_LIST_ENTRY SLIST_ENTRY; 2508 +alias SINGLE_LIST_ENTRY* PSINGLE_LIST_ENTRY, PSLIST_ENTRY; 2509 + 2510 +union SLIST_HEADER { 2511 + ULONGLONG Alignment; 2512 + struct { 2513 + SLIST_ENTRY Next; 2514 + WORD Depth; 2515 + WORD Sequence; 2516 + } 2517 +} 2518 +alias SLIST_HEADER* PSLIST_HEADER; 2519 + 2520 +struct RTL_CRITICAL_SECTION_DEBUG { 2521 + WORD Type; 2522 + WORD CreatorBackTraceIndex; 2523 + RTL_CRITICAL_SECTION* CriticalSection; 2524 + LIST_ENTRY ProcessLocksList; 2525 + DWORD EntryCount; 2526 + DWORD ContentionCount; 2527 + DWORD[2] Spare; 2528 +} 2529 +alias RTL_CRITICAL_SECTION_DEBUG* PRTL_CRITICAL_SECTION_DEBUG; 2530 + 2531 +struct RTL_CRITICAL_SECTION { 2532 + PRTL_CRITICAL_SECTION_DEBUG DebugInfo; 2533 + LONG LockCount; 2534 + LONG RecursionCount; 2535 + HANDLE OwningThread; 2536 + HANDLE LockSemaphore; 2537 + DWORD Reserved; 2538 +} 2539 +alias RTL_CRITICAL_SECTION* PRTL_CRITICAL_SECTION; 2540 + 2541 +struct EVENTLOGRECORD { 2542 + DWORD Length; 2543 + DWORD Reserved; 2544 + DWORD RecordNumber; 2545 + DWORD TimeGenerated; 2546 + DWORD TimeWritten; 2547 + DWORD EventID; 2548 + WORD EventType; 2549 + WORD NumStrings; 2550 + WORD EventCategory; 2551 + WORD ReservedFlags; 2552 + DWORD ClosingRecordNumber; 2553 + DWORD StringOffset; 2554 + DWORD UserSidLength; 2555 + DWORD UserSidOffset; 2556 + DWORD DataLength; 2557 + DWORD DataOffset; 2558 +} 2559 +alias EVENTLOGRECORD* PEVENTLOGRECORD; 2560 + 2561 +struct OSVERSIONINFOA { 2562 + DWORD dwOSVersionInfoSize; 2563 + DWORD dwMajorVersion; 2564 + DWORD dwMinorVersion; 2565 + DWORD dwBuildNumber; 2566 + DWORD dwPlatformId; 2567 + CHAR[128] szCSDVersion; 2568 +} 2569 +alias OSVERSIONINFOA* POSVERSIONINFOA, LPOSVERSIONINFOA; 2570 + 2571 +struct OSVERSIONINFOW { 2572 + DWORD dwOSVersionInfoSize; 2573 + DWORD dwMajorVersion; 2574 + DWORD dwMinorVersion; 2575 + DWORD dwBuildNumber; 2576 + DWORD dwPlatformId; 2577 + WCHAR[128] szCSDVersion; 2578 +} 2579 +alias OSVERSIONINFOW* POSVERSIONINFOW, LPOSVERSIONINFOW; 2580 + 2581 +struct OSVERSIONINFOEXA { 2582 + DWORD dwOSVersionInfoSize; 2583 + DWORD dwMajorVersion; 2584 + DWORD dwMinorVersion; 2585 + DWORD dwBuildNumber; 2586 + DWORD dwPlatformId; 2587 + CHAR[128] szCSDVersion; 2588 + WORD wServicePackMajor; 2589 + WORD wServicePackMinor; 2590 + WORD wSuiteMask; 2591 + BYTE wProductType; 2592 + BYTE wReserved; 2593 +} 2594 +alias OSVERSIONINFOEXA* POSVERSIONINFOEXA, LPOSVERSIONINFOEXA; 2595 + 2596 +struct OSVERSIONINFOEXW { 2597 + DWORD dwOSVersionInfoSize; 2598 + DWORD dwMajorVersion; 2599 + DWORD dwMinorVersion; 2600 + DWORD dwBuildNumber; 2601 + DWORD dwPlatformId; 2602 + WCHAR[128] szCSDVersion; 2603 + WORD wServicePackMajor; 2604 + WORD wServicePackMinor; 2605 + WORD wSuiteMask; 2606 + BYTE wProductType; 2607 + BYTE wReserved; 2608 +} 2609 +alias OSVERSIONINFOEXW* POSVERSIONINFOEXW, LPOSVERSIONINFOEXW; 2610 + 2611 +align(2) struct IMAGE_VXD_HEADER { 2612 + WORD e32_magic; 2613 + BYTE e32_border; 2614 + BYTE e32_worder; 2615 + DWORD e32_level; 2616 + WORD e32_cpu; 2617 + WORD e32_os; 2618 + DWORD e32_ver; 2619 + DWORD e32_mflags; 2620 + DWORD e32_mpages; 2621 + DWORD e32_startobj; 2622 + DWORD e32_eip; 2623 + DWORD e32_stackobj; 2624 + DWORD e32_esp; 2625 + DWORD e32_pagesize; 2626 + DWORD e32_lastpagesize; 2627 + DWORD e32_fixupsize; 2628 + DWORD e32_fixupsum; 2629 + DWORD e32_ldrsize; 2630 + DWORD e32_ldrsum; 2631 + DWORD e32_objtab; 2632 + DWORD e32_objcnt; 2633 + DWORD e32_objmap; 2634 + DWORD e32_itermap; 2635 + DWORD e32_rsrctab; 2636 + DWORD e32_rsrccnt; 2637 + DWORD e32_restab; 2638 + DWORD e32_enttab; 2639 + DWORD e32_dirtab; 2640 + DWORD e32_dircnt; 2641 + DWORD e32_fpagetab; 2642 + DWORD e32_frectab; 2643 + DWORD e32_impmod; 2644 + DWORD e32_impmodcnt; 2645 + DWORD e32_impproc; 2646 + DWORD e32_pagesum; 2647 + DWORD e32_datapage; 2648 + DWORD e32_preload; 2649 + DWORD e32_nrestab; 2650 + DWORD e32_cbnrestab; 2651 + DWORD e32_nressum; 2652 + DWORD e32_autodata; 2653 + DWORD e32_debuginfo; 2654 + DWORD e32_debuglen; 2655 + DWORD e32_instpreload; 2656 + DWORD e32_instdemand; 2657 + DWORD e32_heapsize; 2658 + BYTE[12] e32_res3; 2659 + DWORD e32_winresoff; 2660 + DWORD e32_winreslen; 2661 + WORD e32_devid; 2662 + WORD e32_ddkver; 2663 +} 2664 +alias IMAGE_VXD_HEADER* PIMAGE_VXD_HEADER; 2665 + 2666 +align(4): 2667 +struct IMAGE_FILE_HEADER { 2668 + WORD Machine; 2669 + WORD NumberOfSections; 2670 + DWORD TimeDateStamp; 2671 + DWORD PointerToSymbolTable; 2672 + DWORD NumberOfSymbols; 2673 + WORD SizeOfOptionalHeader; 2674 + WORD Characteristics; 2675 +} 2676 +alias IMAGE_FILE_HEADER* PIMAGE_FILE_HEADER; 2677 +// const IMAGE_SIZEOF_FILE_HEADER = IMAGE_FILE_HEADER.sizeof; 2678 + 2679 +struct IMAGE_DATA_DIRECTORY { 2680 + DWORD VirtualAddress; 2681 + DWORD Size; 2682 +} 2683 +alias IMAGE_DATA_DIRECTORY* PIMAGE_DATA_DIRECTORY; 2684 + 2685 +struct IMAGE_OPTIONAL_HEADER32 { 2686 + WORD Magic; 2687 + BYTE MajorLinkerVersion; 2688 + BYTE MinorLinkerVersion; 2689 + DWORD SizeOfCode; 2690 + DWORD SizeOfInitializedData; 2691 + DWORD SizeOfUninitializedData; 2692 + DWORD AddressOfEntryPoint; 2693 + DWORD BaseOfCode; 2694 + DWORD BaseOfData; 2695 + DWORD ImageBase; 2696 + DWORD SectionAlignment; 2697 + DWORD FileAlignment; 2698 + WORD MajorOperatingSystemVersion; 2699 + WORD MinorOperatingSystemVersion; 2700 + WORD MajorImageVersion; 2701 + WORD MinorImageVersion; 2702 + WORD MajorSubsystemVersion; 2703 + WORD MinorSubsystemVersion; 2704 + DWORD Win32VersionValue; 2705 + DWORD SizeOfImage; 2706 + DWORD SizeOfHeaders; 2707 + DWORD CheckSum; 2708 + WORD Subsystem; 2709 + WORD DllCharacteristics; 2710 + DWORD SizeOfStackReserve; 2711 + DWORD SizeOfStackCommit; 2712 + DWORD SizeOfHeapReserve; 2713 + DWORD SizeOfHeapCommit; 2714 + DWORD LoaderFlags; 2715 + DWORD NumberOfRvaAndSizes; 2716 + IMAGE_DATA_DIRECTORY[IMAGE_NUMBEROF_DIRECTORY_ENTRIES] DataDirectory; 2717 +} 2718 +alias IMAGE_OPTIONAL_HEADER32* PIMAGE_OPTIONAL_HEADER32; 2719 + 2720 +struct IMAGE_OPTIONAL_HEADER64 { 2721 + WORD Magic; 2722 + BYTE MajorLinkerVersion; 2723 + BYTE MinorLinkerVersion; 2724 + DWORD SizeOfCode; 2725 + DWORD SizeOfInitializedData; 2726 + DWORD SizeOfUninitializedData; 2727 + DWORD AddressOfEntryPoint; 2728 + DWORD BaseOfCode; 2729 + ULONGLONG ImageBase; 2730 + DWORD SectionAlignment; 2731 + DWORD FileAlignment; 2732 + WORD MajorOperatingSystemVersion; 2733 + WORD MinorOperatingSystemVersion; 2734 + WORD MajorImageVersion; 2735 + WORD MinorImageVersion; 2736 + WORD MajorSubsystemVersion; 2737 + WORD MinorSubsystemVersion; 2738 + DWORD Win32VersionValue; 2739 + DWORD SizeOfImage; 2740 + DWORD SizeOfHeaders; 2741 + DWORD CheckSum; 2742 + WORD Subsystem; 2743 + WORD DllCharacteristics; 2744 + ULONGLONG SizeOfStackReserve; 2745 + ULONGLONG SizeOfStackCommit; 2746 + ULONGLONG SizeOfHeapReserve; 2747 + ULONGLONG SizeOfHeapCommit; 2748 + DWORD LoaderFlags; 2749 + DWORD NumberOfRvaAndSizes; 2750 + IMAGE_DATA_DIRECTORY[IMAGE_NUMBEROF_DIRECTORY_ENTRIES] DataDirectory; 2751 +} 2752 +alias IMAGE_OPTIONAL_HEADER64* PIMAGE_OPTIONAL_HEADER64; 2753 + 2754 +struct IMAGE_ROM_OPTIONAL_HEADER { 2755 + WORD Magic; 2756 + BYTE MajorLinkerVersion; 2757 + BYTE MinorLinkerVersion; 2758 + DWORD SizeOfCode; 2759 + DWORD SizeOfInitializedData; 2760 + DWORD SizeOfUninitializedData; 2761 + DWORD AddressOfEntryPoint; 2762 + DWORD BaseOfCode; 2763 + DWORD BaseOfData; 2764 + DWORD BaseOfBss; 2765 + DWORD GprMask; 2766 + DWORD[4] CprMask; 2767 + DWORD GpValue; 2768 +} 2769 +alias IMAGE_ROM_OPTIONAL_HEADER* PIMAGE_ROM_OPTIONAL_HEADER; 2770 + 2771 +align(2): 2772 +struct IMAGE_DOS_HEADER { 2773 + WORD e_magic; 2774 + WORD e_cblp; 2775 + WORD e_cp; 2776 + WORD e_crlc; 2777 + WORD e_cparhdr; 2778 + WORD e_minalloc; 2779 + WORD e_maxalloc; 2780 + WORD e_ss; 2781 + WORD e_sp; 2782 + WORD e_csum; 2783 + WORD e_ip; 2784 + WORD e_cs; 2785 + WORD e_lfarlc; 2786 + WORD e_ovno; 2787 + WORD[4] e_res; 2788 + WORD e_oemid; 2789 + WORD e_oeminfo; 2790 + WORD[10] e_res2; 2791 + LONG e_lfanew; 2792 +} 2793 +alias IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; 2794 + 2795 +struct IMAGE_OS2_HEADER { 2796 + WORD ne_magic; 2797 + CHAR ne_ver; 2798 + CHAR ne_rev; 2799 + WORD ne_enttab; 2800 + WORD ne_cbenttab; 2801 + LONG ne_crc; 2802 + WORD ne_flags; 2803 + WORD ne_autodata; 2804 + WORD ne_heap; 2805 + WORD ne_stack; 2806 + LONG ne_csip; 2807 + LONG ne_sssp; 2808 + WORD ne_cseg; 2809 + WORD ne_cmod; 2810 + WORD ne_cbnrestab; 2811 + WORD ne_segtab; 2812 + WORD ne_rsrctab; 2813 + WORD ne_restab; 2814 + WORD ne_modtab; 2815 + WORD ne_imptab; 2816 + LONG ne_nrestab; 2817 + WORD ne_cmovent; 2818 + WORD ne_align; 2819 + WORD ne_cres; 2820 + BYTE ne_exetyp; 2821 + BYTE ne_flagsothers; 2822 + WORD ne_pretthunks; 2823 + WORD ne_psegrefbytes; 2824 + WORD ne_swaparea; 2825 + WORD ne_expver; 2826 +} 2827 +alias IMAGE_OS2_HEADER* PIMAGE_OS2_HEADER; 2828 + 2829 +align(4) struct IMAGE_NT_HEADERS32 { 2830 + DWORD Signature; 2831 + IMAGE_FILE_HEADER FileHeader; 2832 + IMAGE_OPTIONAL_HEADER OptionalHeader; 2833 +} 2834 +alias IMAGE_NT_HEADERS32* PIMAGE_NT_HEADERS32; 2835 + 2836 +align(4) struct IMAGE_NT_HEADERS64 { 2837 + DWORD Signature; 2838 + IMAGE_FILE_HEADER FileHeader; 2839 + IMAGE_OPTIONAL_HEADER OptionalHeader; 2840 +} 2841 +alias IMAGE_NT_HEADERS64* PIMAGE_NT_HEADERS64; 2842 + 2843 +struct IMAGE_ROM_HEADERS { 2844 + IMAGE_FILE_HEADER FileHeader; 2845 + IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; 2846 +} 2847 +alias IMAGE_ROM_HEADERS* PIMAGE_ROM_HEADERS; 2848 + 2849 +struct IMAGE_SECTION_HEADER { 2850 + BYTE[IMAGE_SIZEOF_SHORT_NAME] Name; 2851 + union _Misc { 2852 + DWORD PhysicalAddress; 2853 + DWORD VirtualSize; 2854 + } 2855 + _Misc Misc; 2856 + DWORD VirtualAddress; 2857 + DWORD SizeOfRawData; 2858 + DWORD PointerToRawData; 2859 + DWORD PointerToRelocations; 2860 + DWORD PointerToLinenumbers; 2861 + WORD NumberOfRelocations; 2862 + WORD NumberOfLinenumbers; 2863 + DWORD Characteristics; 2864 +} 2865 +alias IMAGE_SECTION_HEADER* PIMAGE_SECTION_HEADER; 2866 + 2867 +struct IMAGE_SYMBOL { 2868 + union _N { 2869 + BYTE[8] ShortName; 2870 + struct Name { 2871 + DWORD Short; 2872 + DWORD Long; 2873 + } 2874 + PBYTE[2] LongName; 2875 + } 2876 + _N N; 2877 + DWORD Value; 2878 + SHORT SectionNumber; 2879 + WORD Type; 2880 + BYTE StorageClass; 2881 + BYTE NumberOfAuxSymbols; 2882 +} 2883 +alias IMAGE_SYMBOL* PIMAGE_SYMBOL; 2884 + 2885 +union IMAGE_AUX_SYMBOL { 2886 + struct _Sym { 2887 + DWORD TagIndex; 2888 + union _Misc { 2889 + struct _LnSz { 2890 + WORD Linenumber; 2891 + WORD Size; 2892 + } 2893 + _LnSz LnSz; 2894 + DWORD TotalSize; 2895 + } 2896 + _Misc Misc; 2897 + union _FcnAry { 2898 + struct _Function { 2899 + DWORD PointerToLinenumber; 2900 + DWORD PointerToNextFunction; 2901 + } 2902 + _Function Function; 2903 + struct _Array { 2904 + WORD[4] Dimension; 2905 + } 2906 + _Array Array; 2907 + } 2908 + _FcnAry FcnAry; 2909 + WORD TvIndex; 2910 + } 2911 + _Sym Sym; 2912 + struct _File { 2913 + BYTE[IMAGE_SIZEOF_SYMBOL] Name; 2914 + } 2915 + _File File; 2916 + struct _Section { 2917 + DWORD Length; 2918 + WORD NumberOfRelocations; 2919 + WORD NumberOfLinenumbers; 2920 + DWORD CheckSum; 2921 + SHORT Number; 2922 + BYTE Selection; 2923 + } 2924 + _Section Section; 2925 +} 2926 +alias IMAGE_AUX_SYMBOL* PIMAGE_AUX_SYMBOL; 2927 + 2928 +struct IMAGE_COFF_SYMBOLS_HEADER { 2929 + DWORD NumberOfSymbols; 2930 + DWORD LvaToFirstSymbol; 2931 + DWORD NumberOfLinenumbers; 2932 + DWORD LvaToFirstLinenumber; 2933 + DWORD RvaToFirstByteOfCode; 2934 + DWORD RvaToLastByteOfCode; 2935 + DWORD RvaToFirstByteOfData; 2936 + DWORD RvaToLastByteOfData; 2937 +} 2938 +alias IMAGE_COFF_SYMBOLS_HEADER* PIMAGE_COFF_SYMBOLS_HEADER; 2939 + 2940 +struct IMAGE_RELOCATION { 2941 + union { 2942 + DWORD VirtualAddress; 2943 + DWORD RelocCount; 2944 + } 2945 + DWORD SymbolTableIndex; 2946 + WORD Type; 2947 +} 2948 +alias IMAGE_RELOCATION* PIMAGE_RELOCATION; 2949 + 2950 +align(4) struct IMAGE_BASE_RELOCATION { 2951 + DWORD VirtualAddress; 2952 + DWORD SizeOfBlock; 2953 +} 2954 +alias IMAGE_BASE_RELOCATION* PIMAGE_BASE_RELOCATION; 2955 + 2956 +align(2) struct IMAGE_LINENUMBER { 2957 + union _Type { 2958 + DWORD SymbolTableIndex; 2959 + DWORD VirtualAddress; 2960 + } 2961 + _Type Type; 2962 + WORD Linenumber; 2963 +} 2964 +alias IMAGE_LINENUMBER* PIMAGE_LINENUMBER; 3235 2965 3236 2966 align(4): 3237 - 3238 -enum : uint { IMAGE_DOS_SIGNATURE = 0x5A4D } 3239 -enum : uint { IMAGE_OS2_SIGNATURE = 0x454E } 3240 -enum : uint { IMAGE_OS2_SIGNATURE_LE = 0x454C } 3241 -enum : uint { IMAGE_VXD_SIGNATURE = 0x454C } 3242 -enum : uint { IMAGE_NT_SIGNATURE = 0x00004550 } 3243 - 3244 -align(2): 3245 - 3246 -// #else 3247 - 3248 -// #... 3249 - 3250 -// #... 3251 -// #... 3252 -// #... 3253 -// #... 3254 -// #endif 3255 - 3256 -struct _IMAGE_DOS_HEADER { 3257 - WORD e_magic; 3258 - WORD e_cblp; 3259 - WORD e_cp; 3260 - WORD e_crlc; 3261 - WORD e_cparhdr; 3262 - WORD e_minalloc; 3263 - WORD e_maxalloc; 3264 - WORD e_ss; 3265 - WORD e_sp; 3266 - WORD e_csum; 3267 - WORD e_ip; 3268 - WORD e_cs; 3269 - WORD e_lfarlc; 3270 - WORD e_ovno; 3271 - WORD e_res[4]; 3272 - WORD e_oemid; 3273 - WORD e_oeminfo; 3274 - WORD e_res2[10]; 3275 - LONG e_lfanew; 3276 -} 3277 -alias _IMAGE_DOS_HEADER IMAGE_DOS_HEADER; 3278 -alias _IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; 3279 - 3280 -struct _IMAGE_OS2_HEADER { 3281 - WORD ne_magic; 3282 - CHAR ne_ver; 3283 - CHAR ne_rev; 3284 - WORD ne_enttab; 3285 - WORD ne_cbenttab; 3286 - LONG ne_crc; 3287 - WORD ne_flags; 3288 - WORD ne_autodata; 3289 - WORD ne_heap; 3290 - WORD ne_stack; 3291 - LONG ne_csip; 3292 - LONG ne_sssp; 3293 - WORD ne_cseg; 3294 - WORD ne_cmod; 3295 - WORD ne_cbnrestab; 3296 - WORD ne_segtab; 3297 - WORD ne_rsrctab; 3298 - WORD ne_restab; 3299 - WORD ne_modtab; 3300 - WORD ne_imptab; 3301 - LONG ne_nrestab; 3302 - WORD ne_cmovent; 3303 - WORD ne_align; 3304 - WORD ne_cres; 3305 - BYTE ne_exetyp; 3306 - BYTE ne_flagsothers; 3307 - WORD ne_pretthunks; 3308 - WORD ne_psegrefbytes; 3309 - WORD ne_swaparea; 3310 - WORD ne_expver; 3311 -} 3312 -alias _IMAGE_OS2_HEADER IMAGE_OS2_HEADER; 3313 -alias _IMAGE_OS2_HEADER* PIMAGE_OS2_HEADER; 3314 - 3315 -struct _IMAGE_VXD_HEADER { 3316 - WORD e32_magic; 3317 - BYTE e32_border; 3318 - BYTE e32_worder; 3319 - DWORD e32_level; 3320 - WORD e32_cpu; 3321 - WORD e32_os; 3322 - DWORD e32_ver; 3323 - DWORD e32_mflags; 3324 - DWORD e32_mpages; 3325 - DWORD e32_startobj; 3326 - DWORD e32_eip; 3327 - DWORD e32_stackobj; 3328 - DWORD e32_esp; 3329 - DWORD e32_pagesize; 3330 - DWORD e32_lastpagesize; 3331 - DWORD e32_fixupsize; 3332 - DWORD e32_fixupsum; 3333 - DWORD e32_ldrsize; 3334 - DWORD e32_ldrsum; 3335 - DWORD e32_objtab; 3336 - DWORD e32_objcnt; 3337 - DWORD e32_objmap; 3338 - DWORD e32_itermap; 3339 - DWORD e32_rsrctab; 3340 - DWORD e32_rsrccnt; 3341 - DWORD e32_restab; 3342 - DWORD e32_enttab; 3343 - DWORD e32_dirtab; 3344 - DWORD e32_dircnt; 3345 - DWORD e32_fpagetab; 3346 - DWORD e32_frectab; 3347 - DWORD e32_impmod; 3348 - DWORD e32_impmodcnt; 3349 - DWORD e32_impproc; 3350 - DWORD e32_pagesum; 3351 - DWORD e32_datapage; 3352 - DWORD e32_preload; 3353 - DWORD e32_nrestab; 3354 - DWORD e32_cbnrestab; 3355 - DWORD e32_nressum; 3356 - DWORD e32_autodata; 3357 - DWORD e32_debuginfo; 3358 - DWORD e32_debuglen; 3359 - DWORD e32_instpreload; 3360 - DWORD e32_instdemand; 3361 - DWORD e32_heapsize; 3362 - BYTE e32_res3[12]; 3363 - DWORD e32_winresoff; 3364 - DWORD e32_winreslen; 3365 - WORD e32_devid; 3366 - WORD e32_ddkver; 3367 -} 3368 -alias _IMAGE_VXD_HEADER IMAGE_VXD_HEADER; 3369 -alias _IMAGE_VXD_HEADER* PIMAGE_VXD_HEADER; 3370 - 3371 -// #ifndef _MAC 2967 +struct IMAGE_ARCHIVE_MEMBER_HEADER { 2968 + BYTE[16] Name; 2969 + BYTE[12] Date; 2970 + BYTE[6] UserID; 2971 + BYTE[6] GroupID; 2972 + BYTE[8] Mode; 2973 + BYTE[10] Size; 2974 + BYTE[2] EndHeader; 2975 +} 2976 +alias IMAGE_ARCHIVE_MEMBER_HEADER* PIMAGE_ARCHIVE_MEMBER_HEADER; 2977 + 2978 +struct IMAGE_EXPORT_DIRECTORY { 2979 + DWORD Characteristics; 2980 + DWORD TimeDateStamp; 2981 + WORD MajorVersion; 2982 + WORD MinorVersion; 2983 + DWORD Name; 2984 + DWORD Base; 2985 + DWORD NumberOfFunctions; 2986 + DWORD NumberOfNames; 2987 + DWORD AddressOfFunctions; 2988 + DWORD AddressOfNames; 2989 + DWORD AddressOfNameOrdinals; 2990 +} 2991 +alias IMAGE_EXPORT_DIRECTORY* PIMAGE_EXPORT_DIRECTORY; 2992 + 2993 +struct IMAGE_IMPORT_BY_NAME { 2994 + WORD Hint; 2995 + BYTE _Name; 2996 + 2997 + BYTE* Name() { 2998 + return &_Name; 2999 + } 3000 +} 3001 +alias IMAGE_IMPORT_BY_NAME* PIMAGE_IMPORT_BY_NAME; 3002 + 3003 +struct IMAGE_THUNK_DATA32 { 3004 + union _u1 { 3005 + DWORD ForwarderString; 3006 + DWORD Function; 3007 + DWORD Ordinal; 3008 + DWORD AddressOfData; 3009 + } 3010 + _u1 u1; 3011 +} 3012 +alias IMAGE_THUNK_DATA32* PIMAGE_THUNK_DATA32; 3013 + 3014 +struct IMAGE_THUNK_DATA64 { 3015 + union _u1 { 3016 + ULONGLONG ForwarderString; 3017 + ULONGLONG Function; 3018 + ULONGLONG Ordinal; 3019 + ULONGLONG AddressOfData; 3020 + } 3021 + _u1 u1; 3022 +} 3023 +alias IMAGE_THUNK_DATA64* PIMAGE_THUNK_DATA64; 3024 + 3025 +struct IMAGE_IMPORT_DESCRIPTOR { 3026 + union { 3027 + DWORD Characteristics; 3028 + DWORD OriginalFirstThunk; 3029 + } 3030 + DWORD TimeDateStamp; 3031 + DWORD ForwarderChain; 3032 + DWORD Name; 3033 + DWORD FirstThunk; 3034 +} 3035 +alias IMAGE_IMPORT_DESCRIPTOR* PIMAGE_IMPORT_DESCRIPTOR; 3036 + 3037 +struct IMAGE_BOUND_IMPORT_DESCRIPTOR { 3038 + DWORD TimeDateStamp; 3039 + WORD OffsetModuleName; 3040 + WORD NumberOfModuleForwarderRefs; 3041 +} 3042 +alias IMAGE_BOUND_IMPORT_DESCRIPTOR* PIMAGE_BOUND_IMPORT_DESCRIPTOR; 3043 + 3044 +struct IMAGE_BOUND_FORWARDER_REF { 3045 + DWORD TimeDateStamp; 3046 + WORD OffsetModuleName; 3047 + WORD Reserved; 3048 +} 3049 +alias IMAGE_BOUND_FORWARDER_REF* PIMAGE_BOUND_FORWARDER_REF; 3050 + 3051 +struct IMAGE_TLS_DIRECTORY32 { 3052 + DWORD StartAddressOfRawData; 3053 + DWORD EndAddressOfRawData; 3054 + DWORD AddressOfIndex; 3055 + DWORD AddressOfCallBacks; 3056 + DWORD SizeOfZeroFill; 3057 + DWORD Characteristics; 3058 +} 3059 +alias IMAGE_TLS_DIRECTORY32* PIMAGE_TLS_DIRECTORY32; 3060 + 3061 +struct IMAGE_TLS_DIRECTORY64 { 3062 + ULONGLONG StartAddressOfRawData; 3063 + ULONGLONG EndAddressOfRawData; 3064 + ULONGLONG AddressOfIndex; 3065 + ULONGLONG AddressOfCallBacks; 3066 + DWORD SizeOfZeroFill; 3067 + DWORD Characteristics; 3068 +} 3069 +alias IMAGE_TLS_DIRECTORY64* PIMAGE_TLS_DIRECTORY64; 3070 + 3071 +struct IMAGE_RESOURCE_DIRECTORY { 3072 + DWORD Characteristics; 3073 + DWORD TimeDateStamp; 3074 + WORD MajorVersion; 3075 + WORD MinorVersion; 3076 + WORD NumberOfNamedEntries; 3077 + WORD NumberOfIdEntries; 3078 +} 3079 +alias IMAGE_RESOURCE_DIRECTORY* PIMAGE_RESOURCE_DIRECTORY; 3080 + 3081 +struct IMAGE_RESOURCE_DIRECTORY_ENTRY { 3082 + union { 3083 + /+struct { 3084 + DWORD NameOffset:31; 3085 + DWORD NameIsString:1; 3086 + }+/ 3087 + DWORD Name; 3088 + WORD Id; 3089 + } 3090 + DWORD OffsetToData; 3091 + /+struct { 3092 + DWORD OffsetToDirectory:31; 3093 + DWORD DataIsDirectory:1; 3094 + }+/ 3095 + 3096 + uint NameOffset() { return Name & 0x7FFFFFFF; } 3097 + bool NameIsString() { return cast(bool)(Name & 0x80000000); } 3098 + uint OffsetToDirectory() { return OffsetToData & 0x7FFFFFFF; } 3099 + bool DataIsDirectory() { return cast(bool)(OffsetToData & 0x80000000); } 3100 + 3101 + uint NameOffset(uint n) { 3102 + Name = (Name & 0x80000000) | (n & 0x7FFFFFFF); 3103 + return n & 0x7FFFFFFF; 3104 + } 3105 + 3106 + bool NameIsString(bool n) { 3107 + Name = (Name & 0x7FFFFFFF) | (n << 31); return n; 3108 + } 3109 + 3110 + uint OffsetToDirectory(uint o) { 3111 + OffsetToData = (OffsetToData & 0x80000000) | (o & 0x7FFFFFFF); 3112 + return o & 0x7FFFFFFF; 3113 + } 3114 + 3115 + bool DataIsDirectory(bool d) { 3116 + OffsetToData = (OffsetToData & 0x7FFFFFFF) | (d << 31); return d; 3117 + } 3118 +} 3119 +alias IMAGE_RESOURCE_DIRECTORY_ENTRY* PIMAGE_RESOURCE_DIRECTORY_ENTRY; 3120 + 3121 +struct IMAGE_RESOURCE_DIRECTORY_STRING { 3122 + WORD Length; 3123 + CHAR _NameString; 3124 + 3125 + CHAR* NameString() { return &_NameString; } 3126 +} 3127 +alias IMAGE_RESOURCE_DIRECTORY_STRING* PIMAGE_RESOURCE_DIRECTORY_STRING; 3128 + 3129 +struct IMAGE_RESOURCE_DIR_STRING_U { 3130 + WORD Length; 3131 + WCHAR _NameString; 3132 + 3133 + WCHAR* NameString() { return &_NameString; } 3134 +} 3135 +alias IMAGE_RESOURCE_DIR_STRING_U* PIMAGE_RESOURCE_DIR_STRING_U; 3136 + 3137 +struct IMAGE_RESOURCE_DATA_ENTRY { 3138 + DWORD OffsetToData; 3139 + DWORD Size; 3140 + DWORD CodePage; 3141 + DWORD Reserved; 3142 +} 3143 +alias IMAGE_RESOURCE_DATA_ENTRY* PIMAGE_RESOURCE_DATA_ENTRY; 3144 + 3145 +struct IMAGE_LOAD_CONFIG_DIRECTORY { 3146 + DWORD Characteristics; 3147 + DWORD TimeDateStamp; 3148 + WORD MajorVersion; 3149 + WORD MinorVersion; 3150 + DWORD GlobalFlagsClear; 3151 + DWORD GlobalFlagsSet; 3152 + DWORD CriticalSectionDefaultTimeout; 3153 + DWORD DeCommitFreeBlockThreshold; 3154 + DWORD DeCommitTotalFreeThreshold; 3155 + PVOID LockPrefixTable; 3156 + DWORD MaximumAllocationSize; 3157 + DWORD VirtualMemoryThreshold; 3158 + DWORD ProcessHeapFlags; 3159 + DWORD[4] Reserved; 3160 +} 3161 +alias IMAGE_LOAD_CONFIG_DIRECTORY* PIMAGE_LOAD_CONFIG_DIRECTORY; 3162 + 3163 +struct IMAGE_LOAD_CONFIG_DIRECTORY64 { 3164 + DWORD Characteristics; 3165 + DWORD TimeDateStamp; 3166 + WORD MajorVersion; 3167 + WORD MinorVersion; 3168 + DWORD GlobalFlagsClear; 3169 + DWORD GlobalFlagsSet; 3170 + DWORD CriticalSectionDefaultTimeout; 3171 + ULONGLONG DeCommitFreeBlockThreshold; 3172 + ULONGLONG DeCommitTotalFreeThreshold; 3173 + ULONGLONG LockPrefixTable; 3174 + ULONGLONG MaximumAllocationSize; 3175 + ULONGLONG VirtualMemoryThreshold; 3176 + ULONGLONG ProcessAffinityMask; 3177 + DWORD ProcessHeapFlags; 3178 + WORD CSDFlags; 3179 + WORD Reserved1; 3180 + ULONGLONG EditList; 3181 + DWORD[2] Reserved; 3182 +} 3183 +alias IMAGE_LOAD_CONFIG_DIRECTORY64* PIMAGE_LOAD_CONFIG_DIRECTORY64; 3184 + 3185 +struct IMAGE_RUNTIME_FUNCTION_ENTRY { 3186 + DWORD BeginAddress; 3187 + DWORD EndAddress; 3188 + PVOID ExceptionHandler; 3189 + PVOID HandlerData; 3190 + DWORD PrologEndAddress; 3191 +} 3192 +alias IMAGE_RUNTIME_FUNCTION_ENTRY* PIMAGE_RUNTIME_FUNCTION_ENTRY; 3193 + 3194 +struct IMAGE_CE_RUNTIME_FUNCTION_ENTRY { 3195 + uint FuncStart; 3196 + union { 3197 + ubyte PrologLen; 3198 + uint _bf; 3199 + } 3200 +/+ 3201 + unsigned int FuncLen:22; 3202 + unsigned int ThirtyTwoBit:1; 3203 + unsigned int ExceptionFlag:1; 3204 ++/ 3205 + uint FuncLen() { return (_bf >> 8) & 0x3FFFFF; } 3206 + bool ThirtyTwoBit() { return cast(bool)(_bf & 0x40000000); } 3207 + bool ExceptionFlag() { return cast(bool)(_bf & 0x80000000); } 3208 + 3209 + uint FuncLen(uint f) { 3210 + _bf = (_bf & ~0x3FFFFF00) | ((f & 0x3FFFFF) << 8); return f & 0x3FFFFF; 3211 + } 3212 + 3213 + bool ThirtyTwoBit(bool t) { 3214 + _bf = (_bf & ~0x40000000) | (t << 30); return t; 3215 + } 3216 + 3217 + bool ExceptionFlag(bool e) { 3218 + _bf = (_bf & ~0x80000000) | (e << 31); return e; 3219 + } 3220 +} 3221 +alias IMAGE_CE_RUNTIME_FUNCTION_ENTRY* PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; 3222 + 3223 +struct IMAGE_DEBUG_DIRECTORY { 3224 + DWORD Characteristics; 3225 + DWORD TimeDateStamp; 3226 + WORD MajorVersion; 3227 + WORD MinorVersion; 3228 + DWORD Type; 3229 + DWORD SizeOfData; 3230 + DWORD AddressOfRawData; 3231 + DWORD PointerToRawData; 3232 +} 3233 +alias IMAGE_DEBUG_DIRECTORY* PIMAGE_DEBUG_DIRECTORY; 3234 + 3235 +struct FPO_DATA { 3236 + DWORD ulOffStart; 3237 + DWORD cbProcSize; 3238 + DWORD cdwLocals; 3239 + WORD cdwParams; 3240 + ubyte cbProlog; 3241 + ubyte _bf; 3242 +/+ 3243 + WORD cbRegs:3; 3244 + WORD fHasSEH:1; 3245 + WORD fUseBP:1; 3246 + WORD reserved:1; 3247 + WORD cbFrame:2; 3248 ++/ 3249 + ubyte cbRegs() { return cast(ubyte)(_bf & 0x07); } 3250 + bool fHasSEH() { return cast(bool)(_bf & 0x08); } 3251 + bool fUseBP() { return cast(bool)(_bf & 0x10); } 3252 + bool reserved() { return cast(bool)(_bf & 0x20); } 3253 + ubyte cbFrame() { return cast(ubyte)(_bf >> 6); } 3254 + 3255 + ubyte cbRegs(ubyte c) { 3256 + _bf = cast(ubyte) ((_bf & ~0x07) | (c & 0x07)); 3257 + return cast(ubyte)(c & 0x07); 3258 + } 3259 + 3260 + bool fHasSEH(bool f) { _bf = cast(ubyte)((_bf & ~0x08) | (f << 3)); return f; } 3261 + bool fUseBP(bool f) { _bf = cast(ubyte)((_bf & ~0x10) | (f << 4)); return f; } 3262 + bool reserved(bool r) { _bf = cast(ubyte)((_bf & ~0x20) | (r << 5)); return r; } 3263 + 3264 + ubyte cbFrame(ubyte c) { 3265 + _bf = cast(ubyte) ((_bf & ~0xC0) | ((c & 0x03) << 6)); 3266 + return cast(ubyte)(c & 0x03); 3267 + } 3268 +} 3269 +alias FPO_DATA* PFPO_DATA; 3270 + 3271 +struct IMAGE_DEBUG_MISC { 3272 + DWORD DataType; 3273 + DWORD Length; 3274 + BOOLEAN Unicode; 3275 + BYTE[3] Reserved; 3276 + BYTE _Data; 3277 + 3278 + BYTE* Data() { return &_Data; } 3279 +} 3280 +alias IMAGE_DEBUG_MISC* PIMAGE_DEBUG_MISC; 3281 + 3282 +struct IMAGE_FUNCTION_ENTRY { 3283 + DWORD StartingAddress; 3284 + DWORD EndingAddress; 3285 + DWORD EndOfPrologue; 3286 +} 3287 +alias IMAGE_FUNCTION_ENTRY* PIMAGE_FUNCTION_ENTRY; 3288 + 3289 +struct IMAGE_FUNCTION_ENTRY64 { 3290 + ULONGLONG StartingAddress; 3291 + ULONGLONG EndingAddress; 3292 + union { 3293 + ULONGLONG EndOfPrologue; 3294 + ULONGLONG UnwindInfoAddress; 3295 + } 3296 +} 3297 +alias IMAGE_FUNCTION_ENTRY64* PIMAGE_FUNCTION_ENTRY64; 3298 + 3299 +struct IMAGE_SEPARATE_DEBUG_HEADER { 3300 + WORD Signature; 3301 + WORD Flags; 3302 + WORD Machine; 3303 + WORD Characteristics; 3304 + DWORD TimeDateStamp; 3305 + DWORD CheckSum; 3306 + DWORD ImageBase; 3307 + DWORD SizeOfImage; 3308 + DWORD NumberOfSections; 3309 + DWORD ExportedNamesSize; 3310 + DWORD DebugDirectorySize; 3311 + DWORD SectionAlignment; 3312 + DWORD[2] Reserved; 3313 +} 3314 +alias IMAGE_SEPARATE_DEBUG_HEADER* PIMAGE_SEPARATE_DEBUG_HEADER; 3315 + 3316 +enum SERVICE_NODE_TYPE { 3317 + DriverType = SERVICE_KERNEL_DRIVER, 3318 + FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, 3319 + Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, 3320 + Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, 3321 + AdapterType = SERVICE_ADAPTER, 3322 + RecognizerType = SERVICE_RECOGNIZER_DRIVER 3323 +} 3324 + 3325 +enum SERVICE_LOAD_TYPE { 3326 + BootLoad = SERVICE_BOOT_START, 3327 + SystemLoad = SERVICE_SYSTEM_START, 3328 + AutoLoad = SERVICE_AUTO_START, 3329 + DemandLoad = SERVICE_DEMAND_START, 3330 + DisableLoad = SERVICE_DISABLED 3331 +} 3332 + 3333 +enum SERVICE_ERROR_TYPE { 3334 + IgnoreError = SERVICE_ERROR_IGNORE, 3335 + NormalError = SERVICE_ERROR_NORMAL, 3336 + SevereError = SERVICE_ERROR_SEVERE, 3337 + CriticalError = SERVICE_ERROR_CRITICAL 3338 +} 3339 +alias SERVICE_ERROR_TYPE _CM_ERROR_CONTROL_TYPE; 3340 + 3341 +//DAC: According to MSJ, 'UnderTheHood', May 1996, this 3342 +// structure is not documented in any official Microsoft header file. 3343 +alias void EXCEPTION_REGISTRATION_RECORD; 3344 + 3372 3345 align: 3373 -// #endif 3374 - 3375 -struct _IMAGE_FILE_HEADER { 3376 - WORD Machine; 3377 - WORD NumberOfSections; 3378 - DWORD TimeDateStamp; 3379 - DWORD PointerToSymbolTable; 3380 - DWORD NumberOfSymbols; 3381 - WORD SizeOfOptionalHeader; 3382 - WORD Characteristics; 3346 +struct NT_TIB { 3347 + EXCEPTION_REGISTRATION_RECORD *ExceptionList; 3348 + PVOID StackBase; 3349 + PVOID StackLimit; 3350 + PVOID SubSystemTib; 3351 + union { 3352 + PVOID FiberData; 3353 + DWORD Version; 3354 + } 3355 + PVOID ArbitraryUserPointer; 3356 + NT_TIB *Self; 3357 +} 3358 +alias NT_TIB* PNT_TIB; 3359 + 3360 +struct REPARSE_DATA_BUFFER { 3361 + DWORD ReparseTag; 3362 + WORD ReparseDataLength; 3363 + WORD Reserved; 3364 + union { 3365 + struct _GenericReparseBuffer { 3366 + BYTE _DataBuffer; 3367 + 3368 + BYTE* DataBuffer() { return &_DataBuffer; } 3369 + } 3370 + _GenericReparseBuffer GenericReparseBuffer; 3371 + struct _SymbolicLinkReparseBuffer { 3372 + WORD SubstituteNameOffset; 3373 + WORD SubstituteNameLength; 3374 + WORD PrintNameOffset; 3375 + WORD PrintNameLength; 3376 + // ??? This is in MinGW, but absent in MSDN docs 3377 + ULONG Flags; 3378 + WCHAR _PathBuffer; 3379 + 3380 + WCHAR* PathBuffer() { return &_PathBuffer; } 3381 + } 3382 + _SymbolicLinkReparseBuffer SymbolicLinkReparseBuffer; 3383 + struct _MountPointReparseBuffer { 3384 + WORD SubstituteNameOffset; 3385 + WORD SubstituteNameLength; 3386 + WORD PrintNameOffset; 3387 + WORD PrintNameLength; 3388 + WCHAR _PathBuffer; 3389 + 3390 + WCHAR* PathBuffer() { return &_PathBuffer; } 3391 + } 3392 + _MountPointReparseBuffer MountPointReparseBuffer; 3393 + } 3394 +} 3395 +alias REPARSE_DATA_BUFFER *PREPARSE_DATA_BUFFER; 3396 + 3397 +struct REPARSE_GUID_DATA_BUFFER { 3398 + DWORD ReparseTag; 3399 + WORD ReparseDataLength; 3400 + WORD Reserved; 3401 + GUID ReparseGuid; 3402 + struct _GenericReparseBuffer { 3403 + BYTE _DataBuffer; 3404 + 3405 + BYTE* DataBuffer() { return &_DataBuffer; } 3406 + } 3407 + _GenericReparseBuffer GenericReparseBuffer; 3408 +} 3409 +alias REPARSE_GUID_DATA_BUFFER* PREPARSE_GUID_DATA_BUFFER; 3410 + 3411 +const size_t 3412 + REPARSE_DATA_BUFFER_HEADER_SIZE = REPARSE_DATA_BUFFER.GenericReparseBuffer.offsetof, 3413 + REPARSE_GUID_DATA_BUFFER_HEADER_SIZE = REPARSE_GUID_DATA_BUFFER.GenericReparseBuffer.offsetof, 3414 + MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16384; 3415 + 3416 + 3417 +struct REPARSE_POINT_INFORMATION { 3418 + WORD ReparseDataLength; 3419 + WORD UnparsedNameLength; 3420 +} 3421 +alias REPARSE_POINT_INFORMATION* PREPARSE_POINT_INFORMATION; 3422 + 3423 +union FILE_SEGMENT_ELEMENT { 3424 + PVOID64 Buffer; 3425 + ULONGLONG Alignment; 3426 +} 3427 +alias FILE_SEGMENT_ELEMENT* PFILE_SEGMENT_ELEMENT; 3428 + 3429 +// JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags constants 3430 +const DWORD 3431 + JOB_OBJECT_LIMIT_WORKINGSET = 0x0001, 3432 + JOB_OBJECT_LIMIT_PROCESS_TIME = 0x0002, 3433 + JOB_OBJECT_LIMIT_JOB_TIME = 0x0004, 3434 + JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x0008, 3435 + JOB_OBJECT_LIMIT_AFFINITY = 0x0010, 3436 + JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x0020, 3437 + JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x0040, 3438 + JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x0080, 3439 + JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x0100, 3440 + JOB_OBJECT_LIMIT_JOB_MEMORY = 0x0200, 3441 + JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x0400, 3442 + JOB_OBJECT_BREAKAWAY_OK = 0x0800, 3443 + JOB_OBJECT_SILENT_BREAKAWAY = 0x1000; 3444 + 3445 +// JOBOBJECT_BASIC_UI_RESTRICTIONS.UIRestrictionsClass constants 3446 +const DWORD 3447 + JOB_OBJECT_UILIMIT_HANDLES = 0x0001, 3448 + JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x0002, 3449 + JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x0004, 3450 + JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x0008, 3451 + JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x0010, 3452 + JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x0020, 3453 + JOB_OBJECT_UILIMIT_DESKTOP = 0x0040, 3454 + JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x0080; 3455 + 3456 +// JOBOBJECT_SECURITY_LIMIT_INFORMATION.SecurityLimitFlags constants 3457 +const DWORD 3458 + JOB_OBJECT_SECURITY_NO_ADMIN = 0x0001, 3459 + JOB_OBJECT_SECURITY_RESTRICTED_TOKEN = 0x0002, 3460 + JOB_OBJECT_SECURITY_ONLY_TOKEN = 0x0004, 3461 + JOB_OBJECT_SECURITY_FILTER_TOKENS = 0x0008; 3462 + 3463 +// JOBOBJECT_END_OF_JOB_TIME_INFORMATION.EndOfJobTimeAction constants 3464 +enum : DWORD { 3465 + JOB_OBJECT_TERMINATE_AT_END_OF_JOB, 3466 + JOB_OBJECT_POST_AT_END_OF_JOB 3467 +} 3468 + 3469 +enum : DWORD { 3470 + JOB_OBJECT_MSG_END_OF_JOB_TIME = 1, 3471 + JOB_OBJECT_MSG_END_OF_PROCESS_TIME, 3472 + JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT, 3473 + JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO, 3474 + JOB_OBJECT_MSG_NEW_PROCESS, 3475 + JOB_OBJECT_MSG_EXIT_PROCESS, 3476 + JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS, 3477 + JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT, 3478 + JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 3479 +} 3480 + 3481 +enum JOBOBJECTINFOCLASS { 3482 + JobObjectBasicAccountingInformation = 1, 3483 + JobObjectBasicLimitInformation, 3484 + JobObjectBasicProcessIdList, 3485 + JobObjectBasicUIRestrictions, 3486 + JobObjectSecurityLimitInformation, 3487 + JobObjectEndOfJobTimeInformation, 3488 + JobObjectAssociateCompletionPortInformation, 3489 + JobObjectBasicAndIoAccountingInformation, 3490 + JobObjectExtendedLimitInformation, 3491 + JobObjectJobSetInformation, 3492 + MaxJobObjectInfoClass 3493 +} 3494 + 3495 +struct JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { 3496 + LARGE_INTEGER TotalUserTime; 3497 + LARGE_INTEGER TotalKernelTime; 3498 + LARGE_INTEGER ThisPeriodTotalUserTime; 3499 + LARGE_INTEGER ThisPeriodTotalKernelTime; 3500 + DWORD TotalPageFaultCount; 3501 + DWORD TotalProcesses; 3502 + DWORD ActiveProcesses; 3503 + DWORD TotalTerminatedProcesses; 3504 +} 3505 +alias JOBOBJECT_BASIC_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION; 3506 + 3507 +struct JOBOBJECT_BASIC_LIMIT_INFORMATION { 3508 + LARGE_INTEGER PerProcessUserTimeLimit; 3509 + LARGE_INTEGER PerJobUserTimeLimit; 3510 + DWORD LimitFlags; 3511 + SIZE_T MinimumWorkingSetSize; 3512 + SIZE_T MaximumWorkingSetSize; 3513 + DWORD ActiveProcessLimit; 3514 + ULONG_PTR Affinity; 3515 + DWORD PriorityClass; 3516 + DWORD SchedulingClass; 3517 +} 3518 +alias JOBOBJECT_BASIC_LIMIT_INFORMATION* PJOBOBJECT_BASIC_LIMIT_INFORMATION; 3519 + 3520 +struct JOBOBJECT_BASIC_PROCESS_ID_LIST { 3521 + DWORD NumberOfAssignedProcesses; 3522 + DWORD NumberOfProcessIdsInList; 3523 + ULONG_PTR _ProcessIdList; 3524 + 3525 + ULONG_PTR* ProcessIdList() { return &_ProcessIdList; } 3526 +} 3527 +alias JOBOBJECT_BASIC_PROCESS_ID_LIST* PJOBOBJECT_BASIC_PROCESS_ID_LIST; 3528 + 3529 +struct JOBOBJECT_BASIC_UI_RESTRICTIONS { 3530 + DWORD UIRestrictionsClass; 3531 +} 3532 +alias JOBOBJECT_BASIC_UI_RESTRICTIONS* PJOBOBJECT_BASIC_UI_RESTRICTIONS; 3533 + 3534 +struct JOBOBJECT_SECURITY_LIMIT_INFORMATION { 3535 + DWORD SecurityLimitFlags; 3536 + HANDLE JobToken; 3537 + PTOKEN_GROUPS SidsToDisable; 3538 + PTOKEN_PRIVILEGES PrivilegesToDelete; 3539 + PTOKEN_GROUPS RestrictedSids; 3540 +} 3541 +alias JOBOBJECT_SECURITY_LIMIT_INFORMATION* PJOBOBJECT_SECURITY_LIMIT_INFORMATION; 3542 + 3543 +struct JOBOBJECT_END_OF_JOB_TIME_INFORMATION { 3544 + DWORD EndOfJobTimeAction; 3545 +} 3546 +alias JOBOBJECT_END_OF_JOB_TIME_INFORMATION* PJOBOBJECT_END_OF_JOB_TIME_INFORMATION; 3547 + 3548 +struct JOBOBJECT_ASSOCIATE_COMPLETION_PORT { 3549 + PVOID CompletionKey; 3550 + HANDLE CompletionPort; 3551 +} 3552 +alias JOBOBJECT_ASSOCIATE_COMPLETION_PORT* PJOBOBJECT_ASSOCIATE_COMPLETION_PORT; 3553 + 3554 +struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { 3555 + JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; 3556 + IO_COUNTERS IoInfo; 3557 +} 3558 +alias JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION *PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; 3559 + 3560 +struct JOBOBJECT_EXTENDED_LIMIT_INFORMATION { 3561 + JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; 3562 + IO_COUNTERS IoInfo; 3563 + SIZE_T ProcessMemoryLimit; 3564 + SIZE_T JobMemoryLimit; 3565 + SIZE_T PeakProcessMemoryUsed; 3566 + SIZE_T PeakJobMemoryUsed; 3567 +} 3568 +alias JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATION; 3569 + 3570 +struct JOBOBJECT_JOBSET_INFORMATION { 3571 + DWORD MemberLevel; 3572 +} 3573 +alias JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; 3574 + 3575 +// MinGW: Making these defines conditional on WINVER will break ddk includes 3576 +//static if (WINVER >= 0x0500) { 3577 + 3578 +const DWORD 3579 + ES_SYSTEM_REQUIRED = 0x00000001, 3580 + ES_DISPLAY_REQUIRED = 0x00000002, 3581 + ES_USER_PRESENT = 0x00000004, 3582 + ES_CONTINUOUS = 0x80000000; 3583 + 3584 +enum LATENCY_TIME { 3585 + LT_DONT_CARE, 3586 + LT_LOWEST_LATENCY 3587 +} 3588 +alias LATENCY_TIME* PLATENCY_TIME; 3589 + 3590 +enum SYSTEM_POWER_STATE { 3591 + PowerSystemUnspecified, 3592 + PowerSystemWorking, 3593 + PowerSystemSleeping1, 3594 + PowerSystemSleeping2, 3595 + PowerSystemSleeping3, 3596 + PowerSystemHibernate, 3597 + PowerSystemShutdown, 3598 + PowerSystemMaximum 3599 +} 3600 +alias SYSTEM_POWER_STATE* PSYSTEM_POWER_STATE; 3601 + 3602 +const POWER_SYSTEM_MAXIMUM = SYSTEM_POWER_STATE.PowerSystemMaximum; 3603 + 3604 +enum POWER_ACTION { 3605 + PowerActionNone, 3606 + PowerActionReserved, 3607 + PowerActionSleep, 3608 + PowerActionHibernate, 3609 + PowerActionShutdown, 3610 + PowerActionShutdownReset, 3611 + PowerActionShutdownOff, 3612 + PowerActionWarmEject 3613 +} 3614 +alias POWER_ACTION* PPOWER_ACTION; 3615 + 3616 +static if (WINVER >= 0x600) { 3617 + enum SYSTEM_POWER_CONDITION { 3618 + PoAc, 3619 + PoDc, 3620 + PoHot, 3621 + PoConditionMaximum 3622 + } 3623 + alias SYSTEM_POWER_CONDITION* PSYSTEM_POWER_CONDITION; 3624 +} 3625 + 3626 +enum DEVICE_POWER_STATE { 3627 + PowerDeviceUnspecified, 3628 + PowerDeviceD0, 3629 + PowerDeviceD1, 3630 + PowerDeviceD2, 3631 + PowerDeviceD3, 3632 + PowerDeviceMaximum 3633 +} 3634 +alias DEVICE_POWER_STATE* PDEVICE_POWER_STATE; 3635 + 3636 +align(4): 3637 +struct BATTERY_REPORTING_SCALE { 3638 + DWORD Granularity; 3639 + DWORD Capacity; 3640 +} 3641 +alias BATTERY_REPORTING_SCALE* PBATTERY_REPORTING_SCALE; 3642 + 3643 +struct POWER_ACTION_POLICY { 3644 + POWER_ACTION Action; 3645 + ULONG Flags; 3646 + ULONG EventCode; 3647 +} 3648 +alias POWER_ACTION_POLICY* PPOWER_ACTION_POLICY; 3649 + 3650 +// POWER_ACTION_POLICY.Flags constants 3651 +const ULONG 3652 + POWER_ACTION_QUERY_ALLOWED = 0x00000001, 3653 + POWER_ACTION_UI_ALLOWED = 0x00000002, 3654 + POWER_ACTION_OVERRIDE_APPS = 0x00000004, 3655 + POWER_ACTION_LIGHTEST_FIRST = 0x10000000, 3656 + POWER_ACTION_LOCK_CONSOLE = 0x20000000, 3657 + POWER_ACTION_DISABLE_WAKES = 0x40000000, 3658 + POWER_ACTION_CRITICAL = 0x80000000; 3659 + 3660 +// POWER_ACTION_POLICY.EventCode constants 3661 +const ULONG 3662 + POWER_LEVEL_USER_NOTIFY_TEXT = 0x00000001, 3663 + POWER_LEVEL_USER_NOTIFY_SOUND = 0x00000002, 3664 + POWER_LEVEL_USER_NOTIFY_EXEC = 0x00000004, 3665 + POWER_USER_NOTIFY_BUTTON = 0x00000008, 3666 + POWER_USER_NOTIFY_SHUTDOWN = 0x00000010, 3667 + POWER_FORCE_TRIGGER_RESET = 0x80000000; 3668 + 3669 +const size_t 3670 + DISCHARGE_POLICY_CRITICAL = 0, 3671 + DISCHARGE_POLICY_LOW = 1, 3672 + NUM_DISCHARGE_POLICIES = 4; 3673 + 3674 +enum : BYTE { 3675 + PO_THROTTLE_NONE, 3676 + PO_THROTTLE_CONSTANT, 3677 + PO_THROTTLE_DEGRADE, 3678 + PO_THROTTLE_ADAPTIVE, 3679 + PO_THROTTLE_MAXIMUM 3680 +} 3681 + 3682 +struct SYSTEM_POWER_LEVEL { 3683 + BOOLEAN Enable; 3684 + UCHAR[3] Spare; 3685 + ULONG BatteryLevel; 3686 + POWER_ACTION_POLICY PowerPolicy; 3687 + SYSTEM_POWER_STATE MinSystemState; 3688 +} 3689 +alias SYSTEM_POWER_LEVEL* PSYSTEM_POWER_LEVEL; 3690 + 3691 +struct SYSTEM_POWER_POLICY { 3692 + ULONG Revision; 3693 + POWER_ACTION_POLICY PowerButton; 3694 + POWER_ACTION_POLICY SleepButton; 3695 + POWER_ACTION_POLICY LidClose; 3696 + SYSTEM_POWER_STATE LidOpenWake; 3697 + ULONG Reserved; 3698 + POWER_ACTION_POLICY Idle; 3699 + ULONG IdleTimeout; 3700 + UCHAR IdleSensitivity; 3701 + UCHAR DynamicThrottle; 3702 + UCHAR[2] Spare2; 3703 + SYSTEM_POWER_STATE MinSleep; 3704 + SYSTEM_POWER_STATE MaxSleep; 3705 + SYSTEM_POWER_STATE ReducedLatencySleep; 3706 + ULONG WinLogonFlags; 3707 + ULONG Spare3; 3708 + ULONG DozeS4Timeout; 3709 + ULONG BroadcastCapacityResolution; 3710 + SYSTEM_POWER_LEVEL[NUM_DISCHARGE_POLICIES] DischargePolicy; 3711 + ULONG VideoTimeout; 3712 + BOOLEAN VideoDimDisplay; 3713 + ULONG[3] VideoReserved; 3714 + ULONG SpindownTimeout; 3715 + BOOLEAN OptimizeForPower; 3716 + UCHAR FanThrottleTolerance; 3717 + UCHAR ForcedThrottle; 3718 + UCHAR MinThrottle; 3719 + POWER_ACTION_POLICY OverThrottled; 3720 +} 3721 +alias SYSTEM_POWER_POLICY* PSYSTEM_POWER_POLICY; 3722 + 3723 +struct SYSTEM_POWER_CAPABILITIES { 3724 + BOOLEAN PowerButtonPresent; 3725 + BOOLEAN SleepButtonPresent; 3726 + BOOLEAN LidPresent; 3727 + BOOLEAN SystemS1; 3728 + BOOLEAN SystemS2; 3729 + BOOLEAN SystemS3; 3730 + BOOLEAN SystemS4; 3731 + BOOLEAN SystemS5; 3732 + BOOLEAN HiberFilePresent; 3733 + BOOLEAN FullWake; 3734 + BOOLEAN VideoDimPresent; 3735 + BOOLEAN ApmPresent; 3736 + BOOLEAN UpsPresent; 3737 + BOOLEAN ThermalControl; 3738 + BOOLEAN ProcessorThrottle; 3739 + UCHAR ProcessorMinThrottle; 3740 + UCHAR ProcessorMaxThrottle; 3741 + UCHAR[4] spare2; 3742 + BOOLEAN DiskSpinDown; 3743 + UCHAR[8] spare3; 3744 + BOOLEAN SystemBatteriesPresent; 3745 + BOOLEAN BatteriesAreShortTerm; 3746 + BATTERY_REPORTING_SCALE[3] BatteryScale; 3747 + SYSTEM_POWER_STATE AcOnLineWake; 3748 + SYSTEM_POWER_STATE SoftLidWake; 3749 + SYSTEM_POWER_STATE RtcWake; 3750 + SYSTEM_POWER_STATE MinDeviceWakeState; 3751 + SYSTEM_POWER_STATE DefaultLowLatencyWake; 3752 +} 3753 +alias SYSTEM_POWER_CAPABILITIES* PSYSTEM_POWER_CAPABILITIES; 3754 + 3755 +struct SYSTEM_BATTERY_STATE { 3756 + BOOLEAN AcOnLine; 3757 + BOOLEAN BatteryPresent; 3758 + BOOLEAN Charging; 3759 + BOOLEAN Discharging; 3760 + BOOLEAN[4] Spare1; 3761 + ULONG MaxCapacity; 3762 + ULONG RemainingCapacity; 3763 + ULONG Rate; 3764 + ULONG EstimatedTime; 3765 + ULONG DefaultAlert1; 3766 + ULONG DefaultAlert2; 3767 +} 3768 +alias SYSTEM_BATTERY_STATE* PSYSTEM_BATTERY_STATE; 3769 + 3770 +enum POWER_INFORMATION_LEVEL { 3771 + SystemPowerPolicyAc, 3772 + SystemPowerPolicyDc, 3773 + VerifySystemPolicyAc, 3774 + VerifySystemPolicyDc, 3775 + SystemPowerCapabilities, 3776 + SystemBatteryState, 3777 + SystemPowerStateHandler, 3778 + ProcessorStateHandler, 3779 + SystemPowerPolicyCurrent, 3780 + AdministratorPowerPolicy, 3781 + SystemReserveHiberFile, 3782 + ProcessorInformation, 3783 + SystemPowerInformation, 3784 + ProcessorStateHandler2, 3785 + LastWakeTime, 3786 + LastSleepTime, 3787 + SystemExecutionState, 3788 + SystemPowerStateNotifyHandler, 3789 + ProcessorPowerPolicyAc, 3790 + ProcessorPowerPolicyDc, 3791 + VerifyProcessorPowerPolicyAc, 3792 + VerifyProcessorPowerPolicyDc, 3793 + ProcessorPowerPolicyCurrent 3794 +} 3795 + 3796 +//#if 1 /* (WIN32_WINNT >= 0x0500) */ 3797 +struct SYSTEM_POWER_INFORMATION { 3798 + ULONG MaxIdlenessAllowed; 3799 + ULONG Idleness; 3800 + ULONG TimeRemaining; 3801 + UCHAR CoolingMode; 3802 +} 3803 +alias SYSTEM_POWER_INFORMATION* PSYSTEM_POWER_INFORMATION; 3804 +//#endif 3805 + 3806 +struct PROCESSOR_POWER_POLICY_INFO { 3807 + ULONG TimeCheck; 3808 + ULONG DemoteLimit; 3809 + ULONG PromoteLimit; 3810 + UCHAR DemotePercent; 3811 + UCHAR PromotePercent; 3812 + UCHAR[2] Spare; 3813 + uint _bf; 3814 + 3815 + bool AllowDemotion() { return cast(bool)(_bf & 1); } 3816 + bool AllowPromotion() { return cast(bool)(_bf & 2); } 3817 + 3818 + bool AllowDemotion(bool a) { _bf = (_bf & ~1) | a; return a; } 3819 + bool AllowPromotion(bool a) { _bf = (_bf & ~2) | (a << 1); return a; } 3820 +/+ 3821 + ULONG AllowDemotion : 1; 3822 + ULONG AllowPromotion : 1; 3823 + ULONG Reserved : 30; 3824 ++/ 3825 +} 3826 +alias PROCESSOR_POWER_POLICY_INFO* PPROCESSOR_POWER_POLICY_INFO; 3827 + 3828 +struct PROCESSOR_POWER_POLICY { 3829 + ULONG Revision; 3830 + UCHAR DynamicThrottle; 3831 + UCHAR[3] Spare; 3832 + ULONG Reserved; 3833 + ULONG PolicyCount; 3834 + PROCESSOR_POWER_POLICY_INFO[3] Policy; 3835 +} 3836 +alias PROCESSOR_POWER_POLICY* PPROCESSOR_POWER_POLICY; 3837 + 3838 +struct ADMINISTRATOR_POWER_POLICY { 3839 + SYSTEM_POWER_STATE MinSleep; 3840 + SYSTEM_POWER_STATE MaxSleep; 3841 + ULONG MinVideoTimeout; 3842 + ULONG MaxVideoTimeout; 3843 + ULONG MinSpindownTimeout; 3844 + ULONG MaxSpindownTimeout; 3383 3845 } 3384 -alias _IMAGE_FILE_HEADER IMAGE_FILE_HEADER; 3385 -alias _IMAGE_FILE_HEADER* PIMAGE_FILE_HEADER; 3386 - 3387 -enum : uint { IMAGE_SIZEOF_FILE_HEADER = 20 } 3388 - 3389 -enum : uint { IMAGE_FILE_RELOCS_STRIPPED = 0x0001 } 3390 -enum : uint { IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002 } 3391 -enum : uint { IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004 } 3392 -enum : uint { IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008 } 3393 -enum : uint { IMAGE_FILE_AGGRESIVE_WS_TRIM = 0x0010 } 3394 -enum : uint { IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020 } 3395 -enum : uint { IMAGE_FILE_BYTES_REVERSED_LO = 0x0080 } 3396 -enum : uint { IMAGE_FILE_32BIT_MACHINE = 0x0100 } 3397 -enum : uint { IMAGE_FILE_DEBUG_STRIPPED = 0x0200 } 3398 -enum : uint { IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400 } 3399 -enum : uint { IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800 } 3400 -enum : uint { IMAGE_FILE_SYSTEM = 0x1000 } 3401 -enum : uint { IMAGE_FILE_DLL = 0x2000 } 3402 -enum : uint { IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000 } 3403 -enum : uint { IMAGE_FILE_BYTES_REVERSED_HI = 0x8000 } 3404 - 3405 -enum : uint { IMAGE_FILE_MACHINE_UNKNOWN = 0 } 3406 -enum : uint { IMAGE_FILE_MACHINE_I386 = 0x014c } 3407 -enum : uint { IMAGE_FILE_MACHINE_R3000 = 0x0162 } 3408 -enum : uint { IMAGE_FILE_MACHINE_R4000 = 0x0166 } 3409 -enum : uint { IMAGE_FILE_MACHINE_R10000 = 0x0168 } 3410 -enum : uint { IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169 } 3411 -enum : uint { IMAGE_FILE_MACHINE_ALPHA = 0x0184 } 3412 -enum : uint { IMAGE_FILE_MACHINE_SH3 = 0x01a2 } 3413 -enum : uint { IMAGE_FILE_MACHINE_SH3DSP = 0x01a3 } 3414 -enum : uint { IMAGE_FILE_MACHINE_SH3E = 0x01a4 } 3415 -enum : uint { IMAGE_FILE_MACHINE_SH4 = 0x01a6 } 3416 -enum : uint { IMAGE_FILE_MACHINE_SH5 = 0x01a8 } 3417 -enum : uint { IMAGE_FILE_MACHINE_ARM = 0x01c0 } 3418 -enum : uint { IMAGE_FILE_MACHINE_THUMB = 0x01c2 } 3419 -enum : uint { IMAGE_FILE_MACHINE_AM33 = 0x01d3 } 3420 -enum : uint { IMAGE_FILE_MACHINE_POWERPC = 0x01F0 } 3421 -enum : uint { IMAGE_FILE_MACHINE_POWERPCFP = 0x01f1 } 3422 -enum : uint { IMAGE_FILE_MACHINE_IA64 = 0x0200 } 3423 -enum : uint { IMAGE_FILE_MACHINE_MIPS16 = 0x0266 } 3424 -enum : uint { IMAGE_FILE_MACHINE_ALPHA64 = 0x0284 } 3425 -enum : uint { IMAGE_FILE_MACHINE_MIPSFPU = 0x0366 } 3426 -enum : uint { IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466 } 3427 -alias IMAGE_FILE_MACHINE_ALPHA64 IMAGE_FILE_MACHINE_AXP64; 3428 -enum : uint { IMAGE_FILE_MACHINE_TRICORE = 0x0520 } 3429 -enum : uint { IMAGE_FILE_MACHINE_CEF = 0x0CEF } 3430 -enum : uint { IMAGE_FILE_MACHINE_EBC = 0x0EBC } 3431 -enum : uint { IMAGE_FILE_MACHINE_AMD64 = 0x8664 } 3432 -enum : uint { IMAGE_FILE_MACHINE_M32R = 0x9041 } 3433 -enum : uint { IMAGE_FILE_MACHINE_CEE = 0xC0EE } 3434 - 3435 -struct _IMAGE_DATA_DIRECTORY { 3436 - DWORD VirtualAddress; 3437 - DWORD Size; 3846 +alias ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; 3847 + 3848 +//}//#endif /* WINVER >= 0x0500 */ 3849 + 3850 +extern (Windows) { 3851 + alias void function(PVOID, DWORD, PVOID) PIMAGE_TLS_CALLBACK; 3852 + 3853 + static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 3854 + alias LONG function(PEXCEPTION_POINTERS) PVECTORED_EXCEPTION_HANDLER; 3855 + alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACKFUNC; 3856 + } 3438 3857 } 3439 -alias _IMAGE_DATA_DIRECTORY IMAGE_DATA_DIRECTORY; 3440 -alias _IMAGE_DATA_DIRECTORY* PIMAGE_DATA_DIRECTORY; 3441 3858 3442 -enum : uint { IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16 } 3859 +static if (WINVER >= 0x501) { 3860 + enum HEAP_INFORMATION_CLASS { 3861 + HeapCompatibilityInformation 3862 + } 3863 + 3864 + enum ACTIVATION_CONTEXT_INFO_CLASS { 3865 + ActivationContextBasicInformation = 1, 3866 + ActivationContextDetailedInformation, 3867 + AssemblyDetailedInformationInActivationContext, 3868 + FileInformationInAssemblyOfAssemblyInActivationContext 3869 + } 3870 + 3871 + struct ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { 3872 + DWORD ulFlags; 3873 + DWORD ulEncodedAssemblyIdentityLength; 3874 + DWORD ulManifestPathType; 3875 + DWORD ulManifestPathLength; 3876 + LARGE_INTEGER liManifestLastWriteTime; 3877 + DWORD ulPolicyPathType; 3878 + DWORD ulPolicyPathLength; 3879 + LARGE_INTEGER liPolicyLastWriteTime; 3880 + DWORD ulMetadataSatelliteRosterIndex; 3881 + DWORD ulManifestVersionMajor; 3882 + DWORD ulManifestVersionMinor; 3883 + DWORD ulPolicyVersionMajor; 3884 + DWORD ulPolicyVersionMinor; 3885 + DWORD ulAssemblyDirectoryNameLength; 3886 + PCWSTR lpAssemblyEncodedAssemblyIdentity; 3887 + PCWSTR lpAssemblyManifestPath; 3888 + PCWSTR lpAssemblyPolicyPath; 3889 + PCWSTR lpAssemblyDirectoryName; 3890 + } 3891 + alias ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* 3892 + PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 3893 + alias CPtr!(ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) 3894 + PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 3443 3895 3444 -struct _IMAGE_OPTIONAL_HEADER { 3896 + struct ACTIVATION_CONTEXT_DETAILED_INFORMATION { 3897 + DWORD dwFlags; 3898 + DWORD ulFormatVersion; 3899 + DWORD ulAssemblyCount; 3900 + DWORD ulRootManifestPathType; 3901 + DWORD ulRootManifestPathChars; 3902 + DWORD ulRootConfigurationPathType; 3903 + DWORD ulRootConfigurationPathChars; 3904 + DWORD ulAppDirPathType; 3905 + DWORD ulAppDirPathChars; 3906 + PCWSTR lpRootManifestPath; 3907 + PCWSTR lpRootConfigurationPath; 3908 + PCWSTR lpAppDirPath; 3909 + } 3910 + alias ACTIVATION_CONTEXT_DETAILED_INFORMATION* 3911 + PACTIVATION_CONTEXT_DETAILED_INFORMATION; 3912 + alias CPtr!(ACTIVATION_CONTEXT_DETAILED_INFORMATION) 3913 + PCACTIVATION_CONTEXT_DETAILED_INFORMATION; 3445 3914 3446 - WORD Magic; 3447 - BYTE MajorLinkerVersion; 3448 - BYTE MinorLinkerVersion; 3449 - DWORD SizeOfCode; 3450 - DWORD SizeOfInitializedData; 3451 - DWORD SizeOfUninitializedData; 3452 - DWORD AddressOfEntryPoint; 3453 - DWORD BaseOfCode; 3454 - DWORD BaseOfData; 3915 + struct ACTIVATION_CONTEXT_QUERY_INDEX { 3916 + ULONG ulAssemblyIndex; 3917 + ULONG ulFileIndexInAssembly; 3918 + } 3919 + alias ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_INDEX; 3920 + alias CPtr!(ACTIVATION_CONTEXT_QUERY_INDEX) PCACTIVATION_CONTEXT_QUERY_INDEX; 3455 3921 3456 - DWORD ImageBase; 3457 - DWORD SectionAlignment; 3458 - DWORD FileAlignment; 3459 - WORD MajorOperatingSystemVersion; 3460 - WORD MinorOperatingSystemVersion; 3461 - WORD MajorImageVersion; 3462 - WORD MinorImageVersion; 3463 - WORD MajorSubsystemVersion; 3464 - WORD MinorSubsystemVersion; 3465 - DWORD Win32VersionValue; 3466 - DWORD SizeOfImage; 3467 - DWORD SizeOfHeaders; 3468 - DWORD CheckSum; 3469 - WORD Subsystem; 3470 - WORD DllCharacteristics; 3471 - DWORD SizeOfStackReserve; 3472 - DWORD SizeOfStackCommit; 3473 - DWORD SizeOfHeapReserve; 3474 - DWORD SizeOfHeapCommit; 3475 - DWORD LoaderFlags; 3476 - DWORD NumberOfRvaAndSizes; 3477 - IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; 3922 + struct ASSEMBLY_FILE_DETAILED_INFORMATION { 3923 + DWORD ulFlags; 3924 + DWORD ulFilenameLength; 3925 + DWORD ulPathLength; 3926 + PCWSTR lpFileName; 3927 + PCWSTR lpFilePath; 3928 + } 3929 + alias ASSEMBLY_FILE_DETAILED_INFORMATION* 3930 + PASSEMBLY_FILE_DETAILED_INFORMATION; 3931 + alias CPtr!(ASSEMBLY_FILE_DETAILED_INFORMATION) 3932 + PCASSEMBLY_FILE_DETAILED_INFORMATION; 3478 3933 } 3479 -alias _IMAGE_OPTIONAL_HEADER IMAGE_OPTIONAL_HEADER32; 3480 -alias _IMAGE_OPTIONAL_HEADER* PIMAGE_OPTIONAL_HEADER32; 3481 - 3482 -struct _IMAGE_ROM_OPTIONAL_HEADER { 3483 - WORD Magic; 3484 - BYTE MajorLinkerVersion; 3485 - BYTE MinorLinkerVersion; 3486 - DWORD SizeOfCode; 3487 - DWORD SizeOfInitializedData; 3488 - DWORD SizeOfUninitializedData; 3489 - DWORD AddressOfEntryPoint; 3490 - DWORD BaseOfCode; 3491 - DWORD BaseOfData; 3492 - DWORD BaseOfBss; 3493 - DWORD GprMask; 3494 - DWORD CprMask[4]; 3495 - DWORD GpValue; 3496 -} 3497 -alias _IMAGE_ROM_OPTIONAL_HEADER IMAGE_ROM_OPTIONAL_HEADER; 3498 -alias _IMAGE_ROM_OPTIONAL_HEADER* PIMAGE_ROM_OPTIONAL_HEADER; 3499 3934 3500 -struct _IMAGE_OPTIONAL_HEADER64 { 3501 - WORD Magic; 3502 - BYTE MajorLinkerVersion; 3503 - BYTE MinorLinkerVersion; 3504 - DWORD SizeOfCode; 3505 - DWORD SizeOfInitializedData; 3506 - DWORD SizeOfUninitializedData; 3507 - DWORD AddressOfEntryPoint; 3508 - DWORD BaseOfCode; 3509 - ULONGLONG ImageBase; 3510 - DWORD SectionAlignment; 3511 - DWORD FileAlignment; 3512 - WORD MajorOperatingSystemVersion; 3513 - WORD MinorOperatingSystemVersion; 3514 - WORD MajorImageVersion; 3515 - WORD MinorImageVersion; 3516 - WORD MajorSubsystemVersion; 3517 - WORD MinorSubsystemVersion; 3518 - DWORD Win32VersionValue; 3519 - DWORD SizeOfImage; 3520 - DWORD SizeOfHeaders; 3521 - DWORD CheckSum; 3522 - WORD Subsystem; 3523 - WORD DllCharacteristics; 3524 - ULONGLONG SizeOfStackReserve; 3525 - ULONGLONG SizeOfStackCommit; 3526 - ULONGLONG SizeOfHeapReserve; 3527 - ULONGLONG SizeOfHeapCommit; 3528 - DWORD LoaderFlags; 3529 - DWORD NumberOfRvaAndSizes; 3530 - IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; 3935 +version (Unicode) { 3936 + alias OSVERSIONINFOW OSVERSIONINFO; 3937 + alias OSVERSIONINFOEXW OSVERSIONINFOEX; 3938 +} else { 3939 + alias OSVERSIONINFOA OSVERSIONINFO; 3940 + alias OSVERSIONINFOEXA OSVERSIONINFOEX; 3531 3941 } 3532 -alias _IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER64; 3533 -alias _IMAGE_OPTIONAL_HEADER64* PIMAGE_OPTIONAL_HEADER64; 3534 3942 3535 -enum : uint { IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56 } 3536 -enum : uint { IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28 } 3537 -enum : uint { IMAGE_SIZEOF_NT_OPTIONAL32_HEADER = 224 } 3538 -enum : uint { IMAGE_SIZEOF_NT_OPTIONAL64_HEADER = 240 } 3943 +alias OSVERSIONINFO* POSVERSIONINFO, LPOSVERSIONINFO; 3944 +alias OSVERSIONINFOEX* POSVERSIONINFOEX, LPOSVERSIONINFOEX; 3945 + 3539 3946 3540 -enum : uint { IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b } 3541 -enum : uint { IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b } 3542 -enum : uint { IMAGE_ROM_OPTIONAL_HDR_MAGIC = 0x107 } 3543 - 3544 -// #ifdef _WIN64 3545 -// ... 3546 -// #... 3547 -// #... 3548 -// #else 3549 -alias IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; 3550 -alias PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER; 3551 -alias IMAGE_SIZEOF_NT_OPTIONAL32_HEADER IMAGE_SIZEOF_NT_OPTIONAL_HEADER; 3552 -alias IMAGE_NT_OPTIONAL_HDR32_MAGIC IMAGE_NT_OPTIONAL_HDR_MAGIC; 3553 -// #endif 3554 - 3555 -struct _IMAGE_NT_HEADERS64 { 3556 - DWORD Signature; 3557 - IMAGE_FILE_HEADER FileHeader; 3558 - IMAGE_OPTIONAL_HEADER64 OptionalHeader; 3559 -} 3560 -alias _IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS64; 3561 -alias _IMAGE_NT_HEADERS64* PIMAGE_NT_HEADERS64; 3562 - 3563 -struct _IMAGE_NT_HEADERS { 3564 - DWORD Signature; 3565 - IMAGE_FILE_HEADER FileHeader; 3566 - IMAGE_OPTIONAL_HEADER32 OptionalHeader; 3567 -} 3568 -alias _IMAGE_NT_HEADERS IMAGE_NT_HEADERS32; 3569 -alias _IMAGE_NT_HEADERS* PIMAGE_NT_HEADERS32; 3570 - 3571 -struct _IMAGE_ROM_HEADERS { 3572 - IMAGE_FILE_HEADER FileHeader; 3573 - IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; 3574 -} 3575 -alias _IMAGE_ROM_HEADERS IMAGE_ROM_HEADERS; 3576 -alias _IMAGE_ROM_HEADERS* PIMAGE_ROM_HEADERS; 3577 - 3578 -// #ifdef _WIN64 3579 -// ... 3580 -// #else 3581 -alias IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS; 3582 -alias PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS; 3583 -// #endif 3584 - 3585 -// #define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR)ntheader + FIELD_OFFSET( IMAGE_NT_HEADERS, OptionalHeader ) + ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader )) 3586 - 3587 -enum : uint { IMAGE_SUBSYSTEM_UNKNOWN = 0 } 3588 -enum : uint { IMAGE_SUBSYSTEM_NATIVE = 1 } 3589 -enum : uint { IMAGE_SUBSYSTEM_WINDOWS_GUI = 2 } 3590 -enum : uint { IMAGE_SUBSYSTEM_WINDOWS_CUI = 3 } 3591 -enum : uint { IMAGE_SUBSYSTEM_OS2_CUI = 5 } 3592 -enum : uint { IMAGE_SUBSYSTEM_POSIX_CUI = 7 } 3593 -enum : uint { IMAGE_SUBSYSTEM_NATIVE_WINDOWS = 8 } 3594 -enum : uint { IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9 } 3595 -enum : uint { IMAGE_SUBSYSTEM_EFI_APPLICATION = 10 } 3596 -enum : uint { IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11 } 3597 -enum : uint { IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12 } 3598 -enum : uint { IMAGE_SUBSYSTEM_EFI_ROM = 13 } 3599 -enum : uint { IMAGE_SUBSYSTEM_XBOX = 14 } 3600 - 3601 -enum : uint { IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800 } 3602 - 3603 -enum : uint { IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000 } 3604 - 3605 -enum : uint { IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000 } 3606 - 3607 -enum : uint { IMAGE_DIRECTORY_ENTRY_EXPORT = 0 } 3608 -enum : uint { IMAGE_DIRECTORY_ENTRY_IMPORT = 1 } 3609 -enum : uint { IMAGE_DIRECTORY_ENTRY_RESOURCE = 2 } 3610 -enum : uint { IMAGE_DIRECTORY_ENTRY_EXCEPTION = 3 } 3611 -enum : uint { IMAGE_DIRECTORY_ENTRY_SECURITY = 4 } 3612 -enum : uint { IMAGE_DIRECTORY_ENTRY_BASERELOC = 5 } 3613 -enum : uint { IMAGE_DIRECTORY_ENTRY_DEBUG = 6 } 3614 - 3615 -enum : uint { IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7 } 3616 -enum : uint { IMAGE_DIRECTORY_ENTRY_GLOBALPTR = 8 } 3617 -enum : uint { IMAGE_DIRECTORY_ENTRY_TLS = 9 } 3618 -enum : uint { IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = 10 } 3619 -enum : uint { IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = 11 } 3620 -enum : uint { IMAGE_DIRECTORY_ENTRY_IAT = 12 } 3621 -enum : uint { IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = 13 } 3622 -enum : uint { IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = 14 } 3623 - 3624 -struct ANON_OBJECT_HEADER { 3625 - WORD Sig1; 3626 - WORD Sig2; 3627 - WORD Version; 3628 - WORD Machine; 3629 - DWORD TimeDateStamp; 3630 - CLSID ClassID; 3631 - DWORD SizeOfData; 3947 +static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 3948 + extern (Windows) ULONGLONG VerSetConditionMask(ULONGLONG, DWORD, BYTE); 3632 3949 } 3633 3950 3634 -enum : uint { IMAGE_SIZEOF_SHORT_NAME = 8 } 3635 - 3636 -struct _IMAGE_SECTION_HEADER { 3637 - BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; 3638 -union { 3639 - DWORD PhysicalAddress; 3640 - DWORD VirtualSize; 3641 -} 3642 - 3643 - DWORD VirtualAddress; 3644 - DWORD SizeOfRawData; 3645 - DWORD PointerToRawData; 3646 - DWORD PointerToRelocations; 3647 - DWORD PointerToLinenumbers; 3648 - WORD NumberOfRelocations; 3649 - WORD NumberOfLinenumbers; 3650 - DWORD Characteristics; 3651 -} 3652 -alias _IMAGE_SECTION_HEADER IMAGE_SECTION_HEADER; 3653 -alias _IMAGE_SECTION_HEADER* PIMAGE_SECTION_HEADER; 3951 +version (Win64) { 3952 + const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR64_MAGIC; 3654 3953 3655 -enum : uint { IMAGE_SIZEOF_SECTION_HEADER = 40 } 3656 - 3657 -enum : uint { IMAGE_SCN_TYPE_NO_PAD = 0x00000008 } 3658 - 3659 -enum : uint { IMAGE_SCN_CNT_CODE = 0x00000020 } 3660 -enum : uint { IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040 } 3661 -enum : uint { IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080 } 3662 - 3663 -enum : uint { IMAGE_SCN_LNK_OTHER = 0x00000100 } 3664 -enum : uint { IMAGE_SCN_LNK_INFO = 0x00000200 } 3665 - 3666 -enum : uint { IMAGE_SCN_LNK_REMOVE = 0x00000800 } 3667 -enum : uint { IMAGE_SCN_LNK_COMDAT = 0x00001000 } 3668 - 3669 -enum : uint { IMAGE_SCN_NO_DEFER_SPEC_EXC = 0x00004000 } 3670 -enum : uint { IMAGE_SCN_GPREL = 0x00008000 } 3671 -enum : uint { IMAGE_SCN_MEM_FARDATA = 0x00008000 } 3672 - 3673 -enum : uint { IMAGE_SCN_MEM_PURGEABLE = 0x00020000 } 3674 -enum : uint { IMAGE_SCN_MEM_16BIT = 0x00020000 } 3675 -enum : uint { IMAGE_SCN_MEM_LOCKED = 0x00040000 } 3676 -enum : uint { IMAGE_SCN_MEM_PRELOAD = 0x00080000 } 3677 - 3678 -enum : uint { IMAGE_SCN_ALIGN_1BYTES = 0x00100000 } 3679 -enum : uint { IMAGE_SCN_ALIGN_2BYTES = 0x00200000 } 3680 -enum : uint { IMAGE_SCN_ALIGN_4BYTES = 0x00300000 } 3681 -enum : uint { IMAGE_SCN_ALIGN_8BYTES = 0x00400000 } 3682 -enum : uint { IMAGE_SCN_ALIGN_16BYTES = 0x00500000 } 3683 -enum : uint { IMAGE_SCN_ALIGN_32BYTES = 0x00600000 } 3684 -enum : uint { IMAGE_SCN_ALIGN_64BYTES = 0x00700000 } 3685 -enum : uint { IMAGE_SCN_ALIGN_128BYTES = 0x00800000 } 3686 -enum : uint { IMAGE_SCN_ALIGN_256BYTES = 0x00900000 } 3687 -enum : uint { IMAGE_SCN_ALIGN_512BYTES = 0x00A00000 } 3688 -enum : uint { IMAGE_SCN_ALIGN_1024BYTES = 0x00B00000 } 3689 -enum : uint { IMAGE_SCN_ALIGN_2048BYTES = 0x00C00000 } 3690 -enum : uint { IMAGE_SCN_ALIGN_4096BYTES = 0x00D00000 } 3691 -enum : uint { IMAGE_SCN_ALIGN_8192BYTES = 0x00E00000 } 3692 - 3693 -enum : uint { IMAGE_SCN_ALIGN_MASK = 0x00F00000 } 3694 - 3695 -enum : uint { IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000 } 3696 -enum : uint { IMAGE_SCN_MEM_DISCARDABLE = 0x02000000 } 3697 -enum : uint { IMAGE_SCN_MEM_NOT_CACHED = 0x04000000 } 3698 -enum : uint { IMAGE_SCN_MEM_NOT_PAGED = 0x08000000 } 3699 -enum : uint { IMAGE_SCN_MEM_SHARED = 0x10000000 } 3700 -enum : uint { IMAGE_SCN_MEM_EXECUTE = 0x20000000 } 3701 -enum : uint { IMAGE_SCN_MEM_READ = 0x40000000 } 3702 -enum : uint { IMAGE_SCN_MEM_WRITE = 0x80000000 } 3703 - 3704 -enum : uint { IMAGE_SCN_SCALE_INDEX = 0x00000001 } 3705 - 3706 -// #ifndef _MAC 3707 -align(2): 3708 -// #endif 3709 - 3710 -struct _IMAGE_SYMBOL { 3711 -union { 3712 - BYTE ShortName[8]; 3713 -struct { 3714 - DWORD Short; 3715 - DWORD Long; 3716 -} 3717 - 3718 - DWORD LongName[2]; 3719 -} 3720 - 3721 - DWORD Value; 3722 - SHORT SectionNumber; 3723 - WORD Type; 3724 - BYTE StorageClass; 3725 - BYTE NumberOfAuxSymbols; 3726 -} 3727 -alias _IMAGE_SYMBOL IMAGE_SYMBOL; 3728 - 3729 -alias IMAGE_SYMBOL* PIMAGE_SYMBOL; 3730 - 3731 -enum : uint { IMAGE_SIZEOF_SYMBOL = 18 } 3954 + alias IMAGE_ORDINAL_FLAG64 IMAGE_ORDINAL_FLAG; 3955 + alias IMAGE_SNAP_BY_ORDINAL64 IMAGE_SNAP_BY_ORDINAL; 3956 + alias IMAGE_ORDINAL64 IMAGE_ORDINAL; 3957 + alias IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER; 3958 + alias IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS; 3959 + alias IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA; 3960 + alias IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY; 3961 +} else { 3962 + const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR32_MAGIC; 3732 3963 3733 -enum : SHORT { IMAGE_SYM_UNDEFINED = 0 } 3734 -enum : SHORT { IMAGE_SYM_ABSOLUTE = -1 } 3735 -enum : SHORT { IMAGE_SYM_DEBUG = -2 } 3736 -enum : uint { IMAGE_SYM_SECTION_MAX = 0xFEFF } 3737 - 3738 -enum : uint { IMAGE_SYM_TYPE_NULL = 0x0000 } 3739 -enum : uint { IMAGE_SYM_TYPE_VOID = 0x0001 } 3740 -enum : uint { IMAGE_SYM_TYPE_CHAR = 0x0002 } 3741 -enum : uint { IMAGE_SYM_TYPE_SHORT = 0x0003 } 3742 -enum : uint { IMAGE_SYM_TYPE_INT = 0x0004 } 3743 -enum : uint { IMAGE_SYM_TYPE_LONG = 0x0005 } 3744 -enum : uint { IMAGE_SYM_TYPE_FLOAT = 0x0006 } 3745 -enum : uint { IMAGE_SYM_TYPE_DOUBLE = 0x0007 } 3746 -enum : uint { IMAGE_SYM_TYPE_STRUCT = 0x0008 } 3747 -enum : uint { IMAGE_SYM_TYPE_UNION = 0x0009 } 3748 -enum : uint { IMAGE_SYM_TYPE_ENUM = 0x000A } 3749 -enum : uint { IMAGE_SYM_TYPE_MOE = 0x000B } 3750 -enum : uint { IMAGE_SYM_TYPE_BYTE = 0x000C } 3751 -enum : uint { IMAGE_SYM_TYPE_WORD = 0x000D } 3752 -enum : uint { IMAGE_SYM_TYPE_UINT = 0x000E } 3753 -enum : uint { IMAGE_SYM_TYPE_DWORD = 0x000F } 3754 -enum : uint { IMAGE_SYM_TYPE_PCODE = 0x8000 } 3755 - 3756 -enum : uint { IMAGE_SYM_DTYPE_NULL = 0 } 3757 -enum : uint { IMAGE_SYM_DTYPE_POINTER = 1 } 3758 -enum : uint { IMAGE_SYM_DTYPE_FUNCTION = 2 } 3759 -enum : uint { IMAGE_SYM_DTYPE_ARRAY = 3 } 3760 - 3761 -enum : BYTE { IMAGE_SYM_CLASS_END_OF_FUNCTION = cast(BYTE)-1 } 3762 -enum : uint { IMAGE_SYM_CLASS_NULL = 0x0000 } 3763 -enum : uint { IMAGE_SYM_CLASS_AUTOMATIC = 0x0001 } 3764 -enum : uint { IMAGE_SYM_CLASS_EXTERNAL = 0x0002 } 3765 -enum : uint { IMAGE_SYM_CLASS_STATIC = 0x0003 } 3766 -enum : uint { IMAGE_SYM_CLASS_REGISTER = 0x0004 } 3767 -enum : uint { IMAGE_SYM_CLASS_EXTERNAL_DEF = 0x0005 } 3768 -enum : uint { IMAGE_SYM_CLASS_LABEL = 0x0006 } 3769 -enum : uint { IMAGE_SYM_CLASS_UNDEFINED_LABEL = 0x0007 } 3770 -enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_STRUCT = 0x0008 } 3771 -enum : uint { IMAGE_SYM_CLASS_ARGUMENT = 0x0009 } 3772 -enum : uint { IMAGE_SYM_CLASS_STRUCT_TAG = 0x000A } 3773 -enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_UNION = 0x000B } 3774 -enum : uint { IMAGE_SYM_CLASS_UNION_TAG = 0x000C } 3775 -enum : uint { IMAGE_SYM_CLASS_TYPE_DEFINITION = 0x000D } 3776 -enum : uint { IMAGE_SYM_CLASS_UNDEFINED_STATIC = 0x000E } 3777 -enum : uint { IMAGE_SYM_CLASS_ENUM_TAG = 0x000F } 3778 -enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_ENUM = 0x0010 } 3779 -enum : uint { IMAGE_SYM_CLASS_REGISTER_PARAM = 0x0011 } 3780 -enum : uint { IMAGE_SYM_CLASS_BIT_FIELD = 0x0012 } 3781 - 3782 -enum : uint { IMAGE_SYM_CLASS_FAR_EXTERNAL = 0x0044 } 3783 - 3784 -enum : uint { IMAGE_SYM_CLASS_BLOCK = 0x0064 } 3785 -enum : uint { IMAGE_SYM_CLASS_FUNCTION = 0x0065 } 3786 -enum : uint { IMAGE_SYM_CLASS_END_OF_STRUCT = 0x0066 } 3787 -enum : uint { IMAGE_SYM_CLASS_FILE = 0x0067 } 3788 - 3789 -enum : uint { IMAGE_SYM_CLASS_SECTION = 0x0068 } 3790 -enum : uint { IMAGE_SYM_CLASS_WEAK_EXTERNAL = 0x0069 } 3791 - 3792 -enum : uint { IMAGE_SYM_CLASS_CLR_TOKEN = 0x006B } 3793 - 3794 -enum : uint { N_BTMASK = 0x000F } 3795 -enum : uint { N_TMASK = 0x0030 } 3796 -enum : uint { N_TMASK1 = 0x00C0 } 3797 -enum : uint { N_TMASK2 = 0x00F0 } 3798 -enum : uint { N_BTSHFT = 4 } 3799 -enum : uint { N_TSHIFT = 2 } 3800 - 3801 -BYTE BTYPE(BYTE x){ return x & N_BTMASK; } 3802 - 3803 -// #ifndef ISPTR 3804 -bit ISPTR(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT); } 3805 -// #endif 3806 - 3807 -// #ifndef ISFCN 3808 -bit ISFCN(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT); } 3809 -// #endif 3810 - 3811 -// #ifndef ISARY 3812 -bit ISARY(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT); } 3813 -// #endif 3814 - 3815 -// #ifndef ISTAG 3816 -bit ISTAG(uint x){ return x == IMAGE_SYM_CLASS_STRUCT_TAG || x == IMAGE_SYM_CLASS_UNION_TAG || x == IMAGE_SYM_CLASS_ENUM_TAG; } 3817 -// #endif 3818 - 3819 -// #ifndef INCREF 3820 -uint INCREF(uint x){ return ((x&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|(x&N_BTMASK); } 3821 -// #endif 3822 -// #ifndef DECREF 3823 -uint DECREF(uint x){ return ((x >>> N_TSHIFT) & ~N_BTMASK)|(x & N_BTMASK); } 3824 -// #endif 3825 - 3826 -union _IMAGE_AUX_SYMBOL { 3827 -struct { 3828 - DWORD TagIndex; 3829 -union { 3830 -struct { 3831 - WORD Linenumber; 3832 - WORD Size; 3964 + alias IMAGE_ORDINAL_FLAG32 IMAGE_ORDINAL_FLAG; 3965 + alias IMAGE_ORDINAL32 IMAGE_ORDINAL; 3966 + alias IMAGE_SNAP_BY_ORDINAL32 IMAGE_SNAP_BY_ORDINAL; 3967 + alias IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; 3968 + alias IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS; 3969 + alias IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; 3970 + alias IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; 3833 3971 } 3834 3972 3835 - DWORD TotalSize; 3836 -} 3837 - 3838 -union { 3839 -struct { 3840 - DWORD PointerToLinenumber; 3841 - DWORD PointerToNextFunction; 3842 -} 3843 - 3844 -struct { 3845 - WORD Dimension[4]; 3846 -} 3847 - 3848 -} 3849 - 3850 - WORD TvIndex; 3851 -} 3852 - 3853 -struct { 3854 - BYTE Name[IMAGE_SIZEOF_SYMBOL]; 3855 -} 3856 - 3857 -struct { 3858 - DWORD Length; 3859 - WORD NumberOfRelocations; 3860 - WORD NumberOfLinenumbers; 3861 - DWORD CheckSum; 3862 - SHORT Number; 3863 - BYTE Selection; 3864 -} 3865 - 3866 -} 3867 -alias _IMAGE_AUX_SYMBOL IMAGE_AUX_SYMBOL; 3868 - 3869 -alias IMAGE_AUX_SYMBOL* PIMAGE_AUX_SYMBOL; 3870 - 3871 -enum : uint { IMAGE_SIZEOF_AUX_SYMBOL = 18 } 3872 - 3873 -alias int IMAGE_AUX_SYMBOL_TYPE; 3874 -enum { 3875 - IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1, 3876 -} 3877 - 3878 -align(2): 3879 - 3880 -struct IMAGE_AUX_SYMBOL_TOKEN_DEF { 3881 - BYTE bAuxType; 3882 - BYTE bReserved; 3883 - DWORD SymbolTableIndex; 3884 - BYTE rgbReserved[12]; 3885 -} 3886 - 3887 -alias IMAGE_AUX_SYMBOL_TOKEN_DEF* PIMAGE_AUX_SYMBOL_TOKEN_DEF; 3888 - 3889 -align: 3890 - 3891 -enum : uint { IMAGE_COMDAT_SELECT_NODUPLICATES = 1 } 3892 -enum : uint { IMAGE_COMDAT_SELECT_ANY = 2 } 3893 -enum : uint { IMAGE_COMDAT_SELECT_SAME_SIZE = 3 } 3894 -enum : uint { IMAGE_COMDAT_SELECT_EXACT_MATCH = 4 } 3895 -enum : uint { IMAGE_COMDAT_SELECT_ASSOCIATIVE = 5 } 3896 -enum : uint { IMAGE_COMDAT_SELECT_LARGEST = 6 } 3897 -enum : uint { IMAGE_COMDAT_SELECT_NEWEST = 7 } 3898 - 3899 -enum : uint { IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1 } 3900 -enum : uint { IMAGE_WEAK_EXTERN_SEARCH_LIBRARY = 2 } 3901 -enum : uint { IMAGE_WEAK_EXTERN_SEARCH_ALIAS = 3 } 3902 - 3903 -struct _IMAGE_RELOCATION { 3904 -union { 3905 - DWORD VirtualAddress; 3906 - DWORD RelocCount; 3907 -} 3908 - 3909 - DWORD SymbolTableIndex; 3910 - WORD Type; 3911 -} 3912 -alias _IMAGE_RELOCATION IMAGE_RELOCATION; 3913 - 3914 -alias IMAGE_RELOCATION* PIMAGE_RELOCATION; 3915 - 3916 -enum : uint { IMAGE_SIZEOF_RELOCATION = 10 } 3917 - 3918 -enum : uint { IMAGE_REL_I386_ABSOLUTE = 0x0000 } 3919 -enum : uint { IMAGE_REL_I386_DIR16 = 0x0001 } 3920 -enum : uint { IMAGE_REL_I386_REL16 = 0x0002 } 3921 -enum : uint { IMAGE_REL_I386_DIR32 = 0x0006 } 3922 -enum : uint { IMAGE_REL_I386_DIR32NB = 0x0007 } 3923 -enum : uint { IMAGE_REL_I386_SEG12 = 0x0009 } 3924 -enum : uint { IMAGE_REL_I386_SECTION = 0x000A } 3925 -enum : uint { IMAGE_REL_I386_SECREL = 0x000B } 3926 -enum : uint { IMAGE_REL_I386_TOKEN = 0x000C } 3927 -enum : uint { IMAGE_REL_I386_SECREL7 = 0x000D } 3928 -enum : uint { IMAGE_REL_I386_REL32 = 0x0014 } 3929 - 3930 -enum : uint { IMAGE_REL_MIPS_ABSOLUTE = 0x0000 } 3931 -enum : uint { IMAGE_REL_MIPS_REFHALF = 0x0001 } 3932 -enum : uint { IMAGE_REL_MIPS_REFWORD = 0x0002 } 3933 -enum : uint { IMAGE_REL_MIPS_JMPADDR = 0x0003 } 3934 -enum : uint { IMAGE_REL_MIPS_REFHI = 0x0004 } 3935 -enum : uint { IMAGE_REL_MIPS_REFLO = 0x0005 } 3936 -enum : uint { IMAGE_REL_MIPS_GPREL = 0x0006 } 3937 -enum : uint { IMAGE_REL_MIPS_LITERAL = 0x0007 } 3938 -enum : uint { IMAGE_REL_MIPS_SECTION = 0x000A } 3939 -enum : uint { IMAGE_REL_MIPS_SECREL = 0x000B } 3940 -enum : uint { IMAGE_REL_MIPS_SECRELLO = 0x000C } 3941 -enum : uint { IMAGE_REL_MIPS_SECRELHI = 0x000D } 3942 -enum : uint { IMAGE_REL_MIPS_TOKEN = 0x000E } 3943 -enum : uint { IMAGE_REL_MIPS_JMPADDR16 = 0x0010 } 3944 -enum : uint { IMAGE_REL_MIPS_REFWORDNB = 0x0022 } 3945 -enum : uint { IMAGE_REL_MIPS_PAIR = 0x0025 } 3946 - 3947 -enum : uint { IMAGE_REL_ALPHA_ABSOLUTE = 0x0000 } 3948 -enum : uint { IMAGE_REL_ALPHA_REFLONG = 0x0001 } 3949 -enum : uint { IMAGE_REL_ALPHA_REFQUAD = 0x0002 } 3950 -enum : uint { IMAGE_REL_ALPHA_GPREL32 = 0x0003 } 3951 -enum : uint { IMAGE_REL_ALPHA_LITERAL = 0x0004 } 3952 -enum : uint { IMAGE_REL_ALPHA_LITUSE = 0x0005 } 3953 -enum : uint { IMAGE_REL_ALPHA_GPDISP = 0x0006 } 3954 -enum : uint { IMAGE_REL_ALPHA_BRADDR = 0x0007 } 3955 -enum : uint { IMAGE_REL_ALPHA_HINT = 0x0008 } 3956 -enum : uint { IMAGE_REL_ALPHA_INLINE_REFLONG = 0x0009 } 3957 -enum : uint { IMAGE_REL_ALPHA_REFHI = 0x000A } 3958 -enum : uint { IMAGE_REL_ALPHA_REFLO = 0x000B } 3959 -enum : uint { IMAGE_REL_ALPHA_PAIR = 0x000C } 3960 -enum : uint { IMAGE_REL_ALPHA_MATCH = 0x000D } 3961 -enum : uint { IMAGE_REL_ALPHA_SECTION = 0x000E } 3962 -enum : uint { IMAGE_REL_ALPHA_SECREL = 0x000F } 3963 -enum : uint { IMAGE_REL_ALPHA_REFLONGNB = 0x0010 } 3964 -enum : uint { IMAGE_REL_ALPHA_SECRELLO = 0x0011 } 3965 -enum : uint { IMAGE_REL_ALPHA_SECRELHI = 0x0012 } 3966 -enum : uint { IMAGE_REL_ALPHA_REFQ3 = 0x0013 } 3967 -enum : uint { IMAGE_REL_ALPHA_REFQ2 = 0x0014 } 3968 -enum : uint { IMAGE_REL_ALPHA_REFQ1 = 0x0015 } 3969 -enum : uint { IMAGE_REL_ALPHA_GPRELLO = 0x0016 } 3970 -enum : uint { IMAGE_REL_ALPHA_GPRELHI = 0x0017 } 3971 - 3972 -enum : uint { IMAGE_REL_PPC_ABSOLUTE = 0x0000 } 3973 -enum : uint { IMAGE_REL_PPC_ADDR64 = 0x0001 } 3974 -enum : uint { IMAGE_REL_PPC_ADDR32 = 0x0002 } 3975 -enum : uint { IMAGE_REL_PPC_ADDR24 = 0x0003 } 3976 -enum : uint { IMAGE_REL_PPC_ADDR16 = 0x0004 } 3977 -enum : uint { IMAGE_REL_PPC_ADDR14 = 0x0005 } 3978 -enum : uint { IMAGE_REL_PPC_REL24 = 0x0006 } 3979 -enum : uint { IMAGE_REL_PPC_REL14 = 0x0007 } 3980 -enum : uint { IMAGE_REL_PPC_TOCREL16 = 0x0008 } 3981 -enum : uint { IMAGE_REL_PPC_TOCREL14 = 0x0009 } 3982 - 3983 -enum : uint { IMAGE_REL_PPC_ADDR32NB = 0x000A } 3984 -enum : uint { IMAGE_REL_PPC_SECREL = 0x000B } 3985 -enum : uint { IMAGE_REL_PPC_SECTION = 0x000C } 3986 -enum : uint { IMAGE_REL_PPC_IFGLUE = 0x000D } 3987 -enum : uint { IMAGE_REL_PPC_IMGLUE = 0x000E } 3988 -enum : uint { IMAGE_REL_PPC_SECREL16 = 0x000F } 3989 -enum : uint { IMAGE_REL_PPC_REFHI = 0x0010 } 3990 -enum : uint { IMAGE_REL_PPC_REFLO = 0x0011 } 3991 -enum : uint { IMAGE_REL_PPC_PAIR = 0x0012 } 3992 -enum : uint { IMAGE_REL_PPC_SECRELLO = 0x0013 } 3993 -enum : uint { IMAGE_REL_PPC_SECRELHI = 0x0014 } 3994 -enum : uint { IMAGE_REL_PPC_GPREL = 0x0015 } 3995 -enum : uint { IMAGE_REL_PPC_TOKEN = 0x0016 } 3996 - 3997 -enum : uint { IMAGE_REL_PPC_TYPEMASK = 0x00FF } 3998 - 3999 -enum : uint { IMAGE_REL_PPC_NEG = 0x0100 } 4000 -enum : uint { IMAGE_REL_PPC_BRTAKEN = 0x0200 } 4001 -enum : uint { IMAGE_REL_PPC_BRNTAKEN = 0x0400 } 4002 -enum : uint { IMAGE_REL_PPC_TOCDEFN = 0x0800 } 4003 - 4004 -enum : uint { IMAGE_REL_SH3_ABSOLUTE = 0x0000 } 4005 -enum : uint { IMAGE_REL_SH3_DIRECT16 = 0x0001 } 4006 -enum : uint { IMAGE_REL_SH3_DIRECT32 = 0x0002 } 4007 -enum : uint { IMAGE_REL_SH3_DIRECT8 = 0x0003 } 4008 -enum : uint { IMAGE_REL_SH3_DIRECT8_WORD = 0x0004 } 4009 -enum : uint { IMAGE_REL_SH3_DIRECT8_LONG = 0x0005 } 4010 -enum : uint { IMAGE_REL_SH3_DIRECT4 = 0x0006 } 4011 -enum : uint { IMAGE_REL_SH3_DIRECT4_WORD = 0x0007 } 4012 -enum : uint { IMAGE_REL_SH3_DIRECT4_LONG = 0x0008 } 4013 -enum : uint { IMAGE_REL_SH3_PCREL8_WORD = 0x0009 } 4014 -enum : uint { IMAGE_REL_SH3_PCREL8_LONG = 0x000A } 4015 -enum : uint { IMAGE_REL_SH3_PCREL12_WORD = 0x000B } 4016 -enum : uint { IMAGE_REL_SH3_STARTOF_SECTION = 0x000C } 4017 -enum : uint { IMAGE_REL_SH3_SIZEOF_SECTION = 0x000D } 4018 -enum : uint { IMAGE_REL_SH3_SECTION = 0x000E } 4019 -enum : uint { IMAGE_REL_SH3_SECREL = 0x000F } 4020 -enum : uint { IMAGE_REL_SH3_DIRECT32_NB = 0x0010 } 4021 -enum : uint { IMAGE_REL_SH3_GPREL4_LONG = 0x0011 } 4022 -enum : uint { IMAGE_REL_SH3_TOKEN = 0x0012 } 4023 - 4024 -enum : uint { IMAGE_REL_ARM_ABSOLUTE = 0x0000 } 4025 -enum : uint { IMAGE_REL_ARM_ADDR32 = 0x0001 } 4026 -enum : uint { IMAGE_REL_ARM_ADDR32NB = 0x0002 } 4027 -enum : uint { IMAGE_REL_ARM_BRANCH24 = 0x0003 } 4028 -enum : uint { IMAGE_REL_ARM_BRANCH11 = 0x0004 } 4029 -enum : uint { IMAGE_REL_ARM_TOKEN = 0x0005 } 4030 -enum : uint { IMAGE_REL_ARM_GPREL12 = 0x0006 } 4031 -enum : uint { IMAGE_REL_ARM_GPREL7 = 0x0007 } 4032 -enum : uint { IMAGE_REL_ARM_BLX24 = 0x0008 } 4033 -enum : uint { IMAGE_REL_ARM_BLX11 = 0x0009 } 4034 -enum : uint { IMAGE_REL_ARM_SECTION = 0x000E } 4035 -enum : uint { IMAGE_REL_ARM_SECREL = 0x000F } 4036 - 4037 -enum : uint { IMAGE_REL_AM_ABSOLUTE = 0x0000 } 4038 -enum : uint { IMAGE_REL_AM_ADDR32 = 0x0001 } 4039 -enum : uint { IMAGE_REL_AM_ADDR32NB = 0x0002 } 4040 -enum : uint { IMAGE_REL_AM_CALL32 = 0x0003 } 4041 -enum : uint { IMAGE_REL_AM_FUNCINFO = 0x0004 } 4042 -enum : uint { IMAGE_REL_AM_REL32_1 = 0x0005 } 4043 -enum : uint { IMAGE_REL_AM_REL32_2 = 0x0006 } 4044 -enum : uint { IMAGE_REL_AM_SECREL = 0x0007 } 4045 -enum : uint { IMAGE_REL_AM_SECTION = 0x0008 } 4046 -enum : uint { IMAGE_REL_AM_TOKEN = 0x0009 } 4047 - 4048 -enum : uint { IMAGE_REL_AMD64_ABSOLUTE = 0x0000 } 4049 -enum : uint { IMAGE_REL_AMD64_ADDR64 = 0x0001 } 4050 -enum : uint { IMAGE_REL_AMD64_ADDR32 = 0x0002 } 4051 -enum : uint { IMAGE_REL_AMD64_ADDR32NB = 0x0003 } 4052 -enum : uint { IMAGE_REL_AMD64_REL32 = 0x0004 } 4053 -enum : uint { IMAGE_REL_AMD64_REL32_1 = 0x0005 } 4054 -enum : uint { IMAGE_REL_AMD64_REL32_2 = 0x0006 } 4055 -enum : uint { IMAGE_REL_AMD64_REL32_3 = 0x0007 } 4056 -enum : uint { IMAGE_REL_AMD64_REL32_4 = 0x0008 } 4057 -enum : uint { IMAGE_REL_AMD64_REL32_5 = 0x0009 } 4058 -enum : uint { IMAGE_REL_AMD64_SECTION = 0x000A } 4059 -enum : uint { IMAGE_REL_AMD64_SECREL = 0x000B } 4060 -enum : uint { IMAGE_REL_AMD64_SECREL7 = 0x000C } 4061 -enum : uint { IMAGE_REL_AMD64_TOKEN = 0x000D } 4062 - 4063 -enum : uint { IMAGE_REL_IA64_ABSOLUTE = 0x0000 } 4064 -enum : uint { IMAGE_REL_IA64_IMM14 = 0x0001 } 4065 -enum : uint { IMAGE_REL_IA64_IMM22 = 0x0002 } 4066 -enum : uint { IMAGE_REL_IA64_IMM64 = 0x0003 } 4067 -enum : uint { IMAGE_REL_IA64_DIR32 = 0x0004 } 4068 -enum : uint { IMAGE_REL_IA64_DIR64 = 0x0005 } 4069 -enum : uint { IMAGE_REL_IA64_PCREL21B = 0x0006 } 4070 -enum : uint { IMAGE_REL_IA64_PCREL21M = 0x0007 } 4071 -enum : uint { IMAGE_REL_IA64_PCREL21F = 0x0008 } 4072 -enum : uint { IMAGE_REL_IA64_GPREL22 = 0x0009 } 4073 -enum : uint { IMAGE_REL_IA64_LTOFF22 = 0x000A } 4074 -enum : uint { IMAGE_REL_IA64_SECTION = 0x000B } 4075 -enum : uint { IMAGE_REL_IA64_SECREL22 = 0x000C } 4076 -enum : uint { IMAGE_REL_IA64_SECREL64I = 0x000D } 4077 -enum : uint { IMAGE_REL_IA64_SECREL32 = 0x000E } 4078 - 4079 -enum : uint { IMAGE_REL_IA64_DIR32NB = 0x0010 } 4080 -enum : uint { IMAGE_REL_IA64_SREL14 = 0x0011 } 4081 -enum : uint { IMAGE_REL_IA64_SREL22 = 0x0012 } 4082 -enum : uint { IMAGE_REL_IA64_SREL32 = 0x0013 } 4083 -enum : uint { IMAGE_REL_IA64_UREL32 = 0x0014 } 4084 -enum : uint { IMAGE_REL_IA64_PCREL60X = 0x0015 } 4085 -enum : uint { IMAGE_REL_IA64_PCREL60B = 0x0016 } 4086 -enum : uint { IMAGE_REL_IA64_PCREL60F = 0x0017 } 4087 -enum : uint { IMAGE_REL_IA64_PCREL60I = 0x0018 } 4088 -enum : uint { IMAGE_REL_IA64_PCREL60M = 0x0019 } 4089 -enum : uint { IMAGE_REL_IA64_IMMGPREL64 = 0x001A } 4090 -enum : uint { IMAGE_REL_IA64_TOKEN = 0x001B } 4091 -enum : uint { IMAGE_REL_IA64_GPREL32 = 0x001C } 4092 -enum : uint { IMAGE_REL_IA64_ADDEND = 0x001F } 4093 - 4094 -enum : uint { IMAGE_REL_CEF_ABSOLUTE = 0x0000 } 4095 -enum : uint { IMAGE_REL_CEF_ADDR32 = 0x0001 } 4096 -enum : uint { IMAGE_REL_CEF_ADDR64 = 0x0002 } 4097 -enum : uint { IMAGE_REL_CEF_ADDR32NB = 0x0003 } 4098 -enum : uint { IMAGE_REL_CEF_SECTION = 0x0004 } 4099 -enum : uint { IMAGE_REL_CEF_SECREL = 0x0005 } 4100 -enum : uint { IMAGE_REL_CEF_TOKEN = 0x0006 } 4101 - 4102 -enum : uint { IMAGE_REL_CEE_ABSOLUTE = 0x0000 } 4103 -enum : uint { IMAGE_REL_CEE_ADDR32 = 0x0001 } 4104 -enum : uint { IMAGE_REL_CEE_ADDR64 = 0x0002 } 4105 -enum : uint { IMAGE_REL_CEE_ADDR32NB = 0x0003 } 4106 -enum : uint { IMAGE_REL_CEE_SECTION = 0x0004 } 4107 -enum : uint { IMAGE_REL_CEE_SECREL = 0x0005 } 4108 -enum : uint { IMAGE_REL_CEE_TOKEN = 0x0006 } 4109 - 4110 -enum : uint { IMAGE_REL_M32R_ABSOLUTE = 0x0000 } 4111 -enum : uint { IMAGE_REL_M32R_ADDR32 = 0x0001 } 4112 -enum : uint { IMAGE_REL_M32R_ADDR32NB = 0x0002 } 4113 -enum : uint { IMAGE_REL_M32R_ADDR24 = 0x0003 } 4114 -enum : uint { IMAGE_REL_M32R_GPREL16 = 0x0004 } 4115 -enum : uint { IMAGE_REL_M32R_PCREL24 = 0x0005 } 4116 -enum : uint { IMAGE_REL_M32R_PCREL16 = 0x0006 } 4117 -enum : uint { IMAGE_REL_M32R_PCREL8 = 0x0007 } 4118 -enum : uint { IMAGE_REL_M32R_REFHALF = 0x0008 } 4119 -enum : uint { IMAGE_REL_M32R_REFHI = 0x0009 } 4120 -enum : uint { IMAGE_REL_M32R_REFLO = 0x000A } 4121 -enum : uint { IMAGE_REL_M32R_PAIR = 0x000B } 4122 -enum : uint { IMAGE_REL_M32R_SECTION = 0x000C } 4123 -enum : uint { IMAGE_REL_M32R_SECREL32 = 0x000D } 4124 -enum : uint { IMAGE_REL_M32R_TOKEN = 0x000E } 3973 +alias IMAGE_OPTIONAL_HEADER* PIMAGE_OPTIONAL_HEADER; 3974 +alias IMAGE_NT_HEADERS* PIMAGE_NT_HEADERS; 3975 +alias IMAGE_THUNK_DATA* PIMAGE_THUNK_DATA; 3976 +alias IMAGE_TLS_DIRECTORY* PIMAGE_TLS_DIRECTORY; 4125 3977 4126 -// #define EXT_IMM64(Value, Address, Size, InstPos, ValPos) Value |= (((ULONGLONG)((*(Address) >> InstPos) & (((ULONGLONG)1 << Size) - 1))) << ValPos) 4127 - 4128 -// #define INS_IMM64(Value, Address, Size, InstPos, ValPos) *(PDWORD)Address = (*(PDWORD)Address & ~(((1 << Size) - 1) << InstPos)) | ((DWORD)((((ULONGLONG)Value >> ValPos) & (((ULONGLONG)1 << Size) - 1))) << InstPos) 4129 - 4130 -enum : uint { EMARCH_ENC_I17_IMM7B_INST_WORD_X = 3 } 4131 -enum : uint { EMARCH_ENC_I17_IMM7B_SIZE_X = 7 } 4132 -enum : uint { EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X = 4 } 4133 -enum : uint { EMARCH_ENC_I17_IMM7B_VAL_POS_X = 0 } 4134 - 4135 -enum : uint { EMARCH_ENC_I17_IMM9D_INST_WORD_X = 3 } 4136 -enum : uint { EMARCH_ENC_I17_IMM9D_SIZE_X = 9 } 4137 -enum : uint { EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X = 18 } 4138 -enum : uint { EMARCH_ENC_I17_IMM9D_VAL_POS_X = 7 } 4139 - 4140 -enum : uint { EMARCH_ENC_I17_IMM5C_INST_WORD_X = 3 } 4141 -enum : uint { EMARCH_ENC_I17_IMM5C_SIZE_X = 5 } 4142 -enum : uint { EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X = 13 } 4143 -enum : uint { EMARCH_ENC_I17_IMM5C_VAL_POS_X = 16 } 4144 - 4145 -enum : uint { EMARCH_ENC_I17_IC_INST_WORD_X = 3 } 4146 -enum : uint { EMARCH_ENC_I17_IC_SIZE_X = 1 } 4147 -enum : uint { EMARCH_ENC_I17_IC_INST_WORD_POS_X = 12 } 4148 -enum : uint { EMARCH_ENC_I17_IC_VAL_POS_X = 21 } 4149 - 4150 -enum : uint { EMARCH_ENC_I17_IMM41a_INST_WORD_X = 1 } 4151 -enum : uint { EMARCH_ENC_I17_IMM41a_SIZE_X = 10 } 4152 -enum : uint { EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X = 14 } 4153 -enum : uint { EMARCH_ENC_I17_IMM41a_VAL_POS_X = 22 } 4154 - 4155 -enum : uint { EMARCH_ENC_I17_IMM41b_INST_WORD_X = 1 } 4156 -enum : uint { EMARCH_ENC_I17_IMM41b_SIZE_X = 8 } 4157 -enum : uint { EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X = 24 } 4158 -enum : uint { EMARCH_ENC_I17_IMM41b_VAL_POS_X = 32 } 4159 - 4160 -enum : uint { EMARCH_ENC_I17_IMM41c_INST_WORD_X = 2 } 4161 -enum : uint { EMARCH_ENC_I17_IMM41c_SIZE_X = 23 } 4162 -enum : uint { EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X = 0 } 4163 -enum : uint { EMARCH_ENC_I17_IMM41c_VAL_POS_X = 40 } 4164 - 4165 -enum : uint { EMARCH_ENC_I17_SIGN_INST_WORD_X = 3 } 4166 -enum : uint { EMARCH_ENC_I17_SIGN_SIZE_X = 1 } 4167 -enum : uint { EMARCH_ENC_I17_SIGN_INST_WORD_POS_X = 27 } 4168 -enum : uint { EMARCH_ENC_I17_SIGN_VAL_POS_X = 63 } 4169 - 4170 -struct _IMAGE_LINENUMBER { 4171 -union { 4172 - DWORD SymbolTableIndex; 4173 - DWORD VirtualAddress; 4174 -} 4175 - 4176 - WORD Linenumber; 4177 -} 4178 -alias _IMAGE_LINENUMBER IMAGE_LINENUMBER; 4179 - 4180 -alias IMAGE_LINENUMBER* PIMAGE_LINENUMBER; 4181 - 4182 -enum : uint { IMAGE_SIZEOF_LINENUMBER = 6 } 4183 - 4184 -// #ifndef _MAC 4185 -align: 4186 -// #endif 4187 - 4188 -struct _IMAGE_BASE_RELOCATION { 4189 - DWORD VirtualAddress; 4190 - DWORD SizeOfBlock; 4191 -} 4192 -alias _IMAGE_BASE_RELOCATION IMAGE_BASE_RELOCATION; 4193 - 4194 -alias IMAGE_BASE_RELOCATION* PIMAGE_BASE_RELOCATION; 4195 - 4196 -enum : uint { IMAGE_SIZEOF_BASE_RELOCATION = 8 } 4197 - 4198 -enum : uint { IMAGE_REL_BASED_ABSOLUTE = 0 } 4199 -enum : uint { IMAGE_REL_BASED_HIGH = 1 } 4200 -enum : uint { IMAGE_REL_BASED_LOW = 2 } 4201 -enum : uint { IMAGE_REL_BASED_HIGHLOW = 3 } 4202 -enum : uint { IMAGE_REL_BASED_HIGHADJ = 4 } 4203 -enum : uint { IMAGE_REL_BASED_MIPS_JMPADDR = 5 } 4204 -enum : uint { IMAGE_REL_BASED_MIPS_JMPADDR16 = 9 } 4205 -enum : uint { IMAGE_REL_BASED_IA64_IMM64 = 9 } 4206 -enum : uint { IMAGE_REL_BASED_DIR64 = 10 } 4207 - 4208 -enum : uint { IMAGE_ARCHIVE_START_SIZE = 8 } 4209 -const char[] IMAGE_ARCHIVE_START = "!<arch>\n"; 4210 -const char[] IMAGE_ARCHIVE_END = "`\n"; 4211 -const char[] IMAGE_ARCHIVE_PAD = "\n"; 4212 -const char[] IMAGE_ARCHIVE_LINKER_MEMBER = "/ "; 4213 -const char[] IMAGE_ARCHIVE_LONGNAMES_MEMBER = "// "; 4214 - 4215 -struct _IMAGE_ARCHIVE_MEMBER_HEADER { 4216 - BYTE Name[16]; 4217 - BYTE Date[12]; 4218 - BYTE UserID[6]; 4219 - BYTE GroupID[6]; 4220 - BYTE Mode[8]; 4221 - BYTE Size[10]; 4222 - BYTE EndHeader[2]; 4223 -} 4224 -alias _IMAGE_ARCHIVE_MEMBER_HEADER IMAGE_ARCHIVE_MEMBER_HEADER; 4225 -alias _IMAGE_ARCHIVE_MEMBER_HEADER* PIMAGE_ARCHIVE_MEMBER_HEADER; 4226 - 4227 -enum : uint { IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR = 60 } 4228 - 4229 -struct _IMAGE_EXPORT_DIRECTORY { 4230 - DWORD Characteristics; 4231 - DWORD TimeDateStamp; 4232 - WORD MajorVersion; 4233 - WORD MinorVersion; 4234 - DWORD Name; 4235 - DWORD Base; 4236 - DWORD NumberOfFunctions; 4237 - DWORD NumberOfNames; 4238 - DWORD AddressOfFunctions; 4239 - DWORD AddressOfNames; 4240 - DWORD AddressOfNameOrdinals; 4241 -} 4242 -alias _IMAGE_EXPORT_DIRECTORY IMAGE_EXPORT_DIRECTORY; 4243 -alias _IMAGE_EXPORT_DIRECTORY* PIMAGE_EXPORT_DIRECTORY; 4244 - 4245 -struct _IMAGE_IMPORT_BY_NAME { 4246 - WORD Hint; 4247 - BYTE Name[1]; 4248 -} 4249 -alias _IMAGE_IMPORT_BY_NAME IMAGE_IMPORT_BY_NAME; 4250 -alias _IMAGE_IMPORT_BY_NAME* PIMAGE_IMPORT_BY_NAME; 4251 - 4252 -align(8): 4253 - 4254 -struct _IMAGE_THUNK_DATA64 { 4255 -union { 4256 - ULONGLONG ForwarderString; 4257 - ULONGLONG Function; 4258 - ULONGLONG Ordinal; 4259 - ULONGLONG AddressOfData; 4260 -} 4261 - 4262 -} 4263 -alias _IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA64; 4264 - 4265 -alias IMAGE_THUNK_DATA64* PIMAGE_THUNK_DATA64; 4266 - 4267 -align: 4268 - 4269 -struct _IMAGE_THUNK_DATA32 { 4270 -union { 4271 - DWORD ForwarderString; 4272 - DWORD Function; 4273 - DWORD Ordinal; 4274 - DWORD AddressOfData; 4275 -} 4276 - 4277 -} 4278 -alias _IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA32; 4279 - 4280 -alias IMAGE_THUNK_DATA32* PIMAGE_THUNK_DATA32; 4281 - 4282 -const ulong IMAGE_ORDINAL_FLAG64 = 0x8000000000000000; 4283 -enum : uint { IMAGE_ORDINAL_FLAG32 = 0x80000000 } 4284 -ulong IMAGE_ORDINAL64(ulong Ordinal){ return Ordinal & 0xffff; } 4285 -uint IMAGE_ORDINAL32(uint Ordinal){ return Ordinal & 0xffff; } 4286 -bit IMAGE_SNAP_BY_ORDINAL64(ulong Ordinal){ return (Ordinal & IMAGE_ORDINAL_FLAG64) != 0; } 4287 -bit IMAGE_SNAP_BY_ORDINAL32(uint Ordinal){ return (Ordinal & IMAGE_ORDINAL_FLAG32) != 0; } 4288 - 4289 -extern(Windows) alias VOID function( PVOID DllHandle, DWORD Reason, PVOID Reserved ) PIMAGE_TLS_CALLBACK; 4290 - 4291 -struct _IMAGE_TLS_DIRECTORY64 { 4292 - ULONGLONG StartAddressOfRawData; 4293 - ULONGLONG EndAddressOfRawData; 4294 - ULONGLONG AddressOfIndex; 4295 - ULONGLONG AddressOfCallBacks; 4296 - DWORD SizeOfZeroFill; 4297 - DWORD Characteristics; 4298 -} 4299 -alias _IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY64; 4300 - 4301 -alias IMAGE_TLS_DIRECTORY64* PIMAGE_TLS_DIRECTORY64; 4302 - 4303 -struct _IMAGE_TLS_DIRECTORY32 { 4304 - DWORD StartAddressOfRawData; 4305 - DWORD EndAddressOfRawData; 4306 - DWORD AddressOfIndex; 4307 - DWORD AddressOfCallBacks; 4308 - DWORD SizeOfZeroFill; 4309 - DWORD Characteristics; 4310 -} 4311 -alias _IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY32; 4312 - 4313 -alias IMAGE_TLS_DIRECTORY32* PIMAGE_TLS_DIRECTORY32; 4314 - 4315 -// #ifdef _WIN64 4316 -// #... 4317 -// #... 4318 -// ... 4319 -// #... 4320 -// ... 4321 -// #else 4322 -alias IMAGE_ORDINAL_FLAG32 IMAGE_ORDINAL_FLAG; 4323 -alias IMAGE_ORDINAL32 IMAGE_ORDINAL; 4324 -alias IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; 4325 -alias PIMAGE_THUNK_DATA32 PIMAGE_THUNK_DATA; 4326 -alias IMAGE_SNAP_BY_ORDINAL32 IMAGE_SNAP_BY_ORDINAL; 4327 -alias IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; 4328 -alias PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY; 4329 -// #endif 4330 - 4331 -struct _IMAGE_IMPORT_DESCRIPTOR { 4332 -union { 4333 - DWORD Characteristics; 4334 - DWORD OriginalFirstThunk; 4335 -} 4336 - 4337 - DWORD TimeDateStamp; 4338 - 4339 - DWORD ForwarderChain; 4340 - DWORD Name; 4341 - DWORD FirstThunk; 4342 -} 4343 -alias _IMAGE_IMPORT_DESCRIPTOR IMAGE_IMPORT_DESCRIPTOR; 4344 - 4345 -alias IMAGE_IMPORT_DESCRIPTOR* PIMAGE_IMPORT_DESCRIPTOR; 4346 - 4347 -struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { 4348 - DWORD TimeDateStamp; 4349 - WORD OffsetModuleName; 4350 - WORD NumberOfModuleForwarderRefs; 4351 -} 4352 -alias _IMAGE_BOUND_IMPORT_DESCRIPTOR IMAGE_BOUND_IMPORT_DESCRIPTOR; 4353 -alias _IMAGE_BOUND_IMPORT_DESCRIPTOR* PIMAGE_BOUND_IMPORT_DESCRIPTOR; 4354 - 4355 -struct _IMAGE_BOUND_FORWARDER_REF { 4356 - DWORD TimeDateStamp; 4357 - WORD OffsetModuleName; 4358 - WORD Reserved; 4359 -} 4360 -alias _IMAGE_BOUND_FORWARDER_REF IMAGE_BOUND_FORWARDER_REF; 4361 -alias _IMAGE_BOUND_FORWARDER_REF* PIMAGE_BOUND_FORWARDER_REF; 4362 - 4363 -struct _IMAGE_RESOURCE_DIRECTORY { 4364 - DWORD Characteristics; 4365 - DWORD TimeDateStamp; 4366 - WORD MajorVersion; 4367 - WORD MinorVersion; 4368 - WORD NumberOfNamedEntries; 4369 - WORD NumberOfIdEntries; 4370 -} 4371 -alias _IMAGE_RESOURCE_DIRECTORY IMAGE_RESOURCE_DIRECTORY; 4372 -alias _IMAGE_RESOURCE_DIRECTORY* PIMAGE_RESOURCE_DIRECTORY; 4373 - 4374 -enum : uint { IMAGE_RESOURCE_NAME_IS_STRING = 0x80000000 } 4375 -enum : uint { IMAGE_RESOURCE_DATA_IS_DIRECTORY = 0x80000000 } 4376 - 4377 -struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { 4378 -union { 4379 -struct { 4380 -// DWORD NameOffset:31; 4381 -// DWORD NameIsString:1; 4382 -} 4383 - 4384 - DWORD Name; 4385 - WORD Id; 4386 -} 4387 - 4388 -union { 4389 - DWORD OffsetToData; 4390 -struct { 4391 -// DWORD OffsetToDirectory:31; 4392 -// DWORD DataIsDirectory:1; 4393 -} 4394 - 4395 -} 4396 - 4397 -} 4398 -alias _IMAGE_RESOURCE_DIRECTORY_ENTRY IMAGE_RESOURCE_DIRECTORY_ENTRY; 4399 -alias _IMAGE_RESOURCE_DIRECTORY_ENTRY* PIMAGE_RESOURCE_DIRECTORY_ENTRY; 4400 - 4401 -struct _IMAGE_RESOURCE_DIRECTORY_STRING { 4402 - WORD Length; 4403 - CHAR NameString[ 1 ]; 4404 -} 4405 -alias _IMAGE_RESOURCE_DIRECTORY_STRING IMAGE_RESOURCE_DIRECTORY_STRING; 4406 -alias _IMAGE_RESOURCE_DIRECTORY_STRING* PIMAGE_RESOURCE_DIRECTORY_STRING; 4407 - 4408 -struct _IMAGE_RESOURCE_DIR_STRING_U { 4409 - WORD Length; 4410 - WCHAR NameString[ 1 ]; 4411 -} 4412 -alias _IMAGE_RESOURCE_DIR_STRING_U IMAGE_RESOURCE_DIR_STRING_U; 4413 -alias _IMAGE_RESOURCE_DIR_STRING_U* PIMAGE_RESOURCE_DIR_STRING_U; 4414 - 4415 -struct _IMAGE_RESOURCE_DATA_ENTRY { 4416 - DWORD OffsetToData; 4417 - DWORD Size; 4418 - DWORD CodePage; 4419 - DWORD Reserved; 4420 -} 4421 -alias _IMAGE_RESOURCE_DATA_ENTRY IMAGE_RESOURCE_DATA_ENTRY; 4422 -alias _IMAGE_RESOURCE_DATA_ENTRY* PIMAGE_RESOURCE_DATA_ENTRY; 4423 - 4424 -struct _12 { 4425 - DWORD Characteristics; 4426 - DWORD TimeDateStamp; 4427 - WORD MajorVersion; 4428 - WORD MinorVersion; 4429 - DWORD GlobalFlagsClear; 4430 - DWORD GlobalFlagsSet; 4431 - DWORD CriticalSectionDefaultTimeout; 4432 - DWORD DeCommitFreeBlockThreshold; 4433 - DWORD DeCommitTotalFreeThreshold; 4434 - DWORD LockPrefixTable; 4435 - DWORD MaximumAllocationSize; 4436 - DWORD VirtualMemoryThreshold; 4437 - DWORD ProcessHeapFlags; 4438 - DWORD ProcessAffinityMask; 4439 - WORD CSDVersion; 4440 - WORD Reserved1; 4441 - DWORD EditList; 4442 - DWORD Reserved[ 1 ]; 4443 -} 4444 -alias _12 IMAGE_LOAD_CONFIG_DIRECTORY32; 4445 -alias _12* PIMAGE_LOAD_CONFIG_DIRECTORY32; 4446 - 4447 -struct _13 { 4448 - DWORD Characteristics; 4449 - DWORD TimeDateStamp; 4450 - WORD MajorVersion; 4451 - WORD MinorVersion; 4452 - DWORD GlobalFlagsClear; 4453 - DWORD GlobalFlagsSet; 4454 - DWORD CriticalSectionDefaultTimeout; 4455 - ULONGLONG DeCommitFreeBlockThreshold; 4456 - ULONGLONG DeCommitTotalFreeThreshold; 4457 - ULONGLONG LockPrefixTable; 4458 - ULONGLONG MaximumAllocationSize; 4459 - ULONGLONG VirtualMemoryThreshold; 4460 - ULONGLONG ProcessAffinityMask; 4461 - DWORD ProcessHeapFlags; 4462 - WORD CSDVersion; 4463 - WORD Reserved1; 4464 - ULONGLONG EditList; 4465 - DWORD Reserved[ 2 ]; 4466 -} 4467 -alias _13 IMAGE_LOAD_CONFIG_DIRECTORY64; 4468 -alias _13* PIMAGE_LOAD_CONFIG_DIRECTORY64; 4469 - 4470 -// #ifdef _WIN64 4471 -// ... 4472 -// #else 4473 -alias IMAGE_LOAD_CONFIG_DIRECTORY32 IMAGE_LOAD_CONFIG_DIRECTORY; 4474 -alias PIMAGE_LOAD_CONFIG_DIRECTORY32 PIMAGE_LOAD_CONFIG_DIRECTORY; 4475 -// #endif 4476 - 4477 -struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { 4478 - DWORD FuncStart; 4479 -// DWORD PrologLen : 8; 4480 -// DWORD FuncLen : 22; 4481 -// DWORD ThirtyTwoBit : 1; 4482 -// DWORD ExceptionFlag : 1; 4483 -} 4484 -alias _IMAGE_CE_RUNTIME_FUNCTION_ENTRY IMAGE_CE_RUNTIME_FUNCTION_ENTRY; 4485 -alias _IMAGE_CE_RUNTIME_FUNCTION_ENTRY* PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; 4486 - 4487 -struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { 4488 - ULONGLONG BeginAddress; 4489 - ULONGLONG EndAddress; 4490 - ULONGLONG ExceptionHandler; 4491 - ULONGLONG HandlerData; 4492 - ULONGLONG PrologEndAddress; 4493 -} 4494 -alias _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; 4495 -alias _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY* PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; 4496 - 4497 -struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { 4498 - DWORD BeginAddress; 4499 - DWORD EndAddress; 4500 - DWORD ExceptionHandler; 4501 - DWORD HandlerData; 4502 - DWORD PrologEndAddress; 4503 -} 4504 -alias _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; 4505 -alias _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY* PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; 4506 - 4507 -struct _IMAGE_RUNTIME_FUNCTION_ENTRY { 4508 - DWORD BeginAddress; 4509 - DWORD EndAddress; 4510 - DWORD UnwindInfoAddress; 4511 -} 4512 -alias _IMAGE_RUNTIME_FUNCTION_ENTRY* _PIMAGE_RUNTIME_FUNCTION_ENTRY; 4513 - 4514 -alias _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_IA64_RUNTIME_FUNCTION_ENTRY; 4515 -alias _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY; 4516 - 4517 -// #if defined(_AXP64_) 4518 - 4519 -// ... 4520 - 4521 -// #elif defined(_ALPHA_) 4522 - 4523 -// ... 4524 - 4525 -// #else 4526 - 4527 -alias _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; 4528 -alias _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; 4529 - 4530 -// #endif 4531 - 4532 -struct _IMAGE_DEBUG_DIRECTORY { 4533 - DWORD Characteristics; 4534 - DWORD TimeDateStamp; 4535 - WORD MajorVersion; 4536 - WORD MinorVersion; 4537 - DWORD Type; 4538 - DWORD SizeOfData; 4539 - DWORD AddressOfRawData; 4540 - DWORD PointerToRawData; 4541 -} 4542 -alias _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY; 4543 -alias _IMAGE_DEBUG_DIRECTORY* PIMAGE_DEBUG_DIRECTORY; 4544 - 4545 -enum : uint { IMAGE_DEBUG_TYPE_UNKNOWN = 0 } 4546 -enum : uint { IMAGE_DEBUG_TYPE_COFF = 1 } 4547 -enum : uint { IMAGE_DEBUG_TYPE_CODEVIEW = 2 } 4548 -enum : uint { IMAGE_DEBUG_TYPE_FPO = 3 } 4549 -enum : uint { IMAGE_DEBUG_TYPE_MISC = 4 } 4550 -enum : uint { IMAGE_DEBUG_TYPE_EXCEPTION = 5 } 4551 -enum : uint { IMAGE_DEBUG_TYPE_FIXUP = 6 } 4552 -enum : uint { IMAGE_DEBUG_TYPE_OMAP_TO_SRC = 7 } 4553 -enum : uint { IMAGE_DEBUG_TYPE_OMAP_FROM_SRC = 8 } 4554 -enum : uint { IMAGE_DEBUG_TYPE_BORLAND = 9 } 4555 -enum : uint { IMAGE_DEBUG_TYPE_RESERVED10 = 10 } 4556 -enum : uint { IMAGE_DEBUG_TYPE_CLSID = 11 } 4557 - 4558 -struct _IMAGE_COFF_SYMBOLS_HEADER { 4559 - DWORD NumberOfSymbols; 4560 - DWORD LvaToFirstSymbol; 4561 - DWORD NumberOfLinenumbers; 4562 - DWORD LvaToFirstLinenumber; 4563 - DWORD RvaToFirstByteOfCode; 4564 - DWORD RvaToLastByteOfCode; 4565 - DWORD RvaToFirstByteOfData; 4566 - DWORD RvaToLastByteOfData; 4567 -} 4568 -alias _IMAGE_COFF_SYMBOLS_HEADER IMAGE_COFF_SYMBOLS_HEADER; 4569 -alias _IMAGE_COFF_SYMBOLS_HEADER* PIMAGE_COFF_SYMBOLS_HEADER; 4570 - 4571 -enum : uint { FRAME_FPO = 0 } 4572 -enum : uint { FRAME_TRAP = 1 } 4573 -enum : uint { FRAME_TSS = 2 } 4574 -enum : uint { FRAME_NONFPO = 3 } 4575 - 4576 -struct _FPO_DATA { 4577 - DWORD ulOffStart; 4578 - DWORD cbProcSize; 4579 - DWORD cdwLocals; 4580 - WORD cdwParams; 4581 -// WORD cbProlog : 8; 4582 -// WORD cbRegs : 3; 4583 -// WORD fHasSEH : 1; 4584 -// WORD fUseBP : 1; 4585 -// WORD reserved : 1; 4586 -// WORD cbFrame : 2; 4587 -} 4588 -alias _FPO_DATA FPO_DATA; 4589 -alias _FPO_DATA* PFPO_DATA; 4590 - 4591 -enum : uint { SIZEOF_RFPO_DATA = 16 } 4592 - 4593 -enum : uint { IMAGE_DEBUG_MISC_EXENAME = 1 } 4594 - 4595 -struct _IMAGE_DEBUG_MISC { 4596 - DWORD DataType; 4597 - DWORD Length; 4598 - 4599 - BOOLEAN Unicode; 4600 - BYTE Reserved[ 3 ]; 4601 - BYTE Data[ 1 ]; 4602 -} 4603 -alias _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC; 4604 -alias _IMAGE_DEBUG_MISC* PIMAGE_DEBUG_MISC; 4605 - 4606 -struct _IMAGE_FUNCTION_ENTRY { 4607 - DWORD StartingAddress; 4608 - DWORD EndingAddress; 4609 - DWORD EndOfPrologue; 4610 -} 4611 -alias _IMAGE_FUNCTION_ENTRY IMAGE_FUNCTION_ENTRY; 4612 -alias _IMAGE_FUNCTION_ENTRY* PIMAGE_FUNCTION_ENTRY; 4613 - 4614 -struct _IMAGE_FUNCTION_ENTRY64 { 4615 - ULONGLONG StartingAddress; 4616 - ULONGLONG EndingAddress; 4617 -union { 4618 - ULONGLONG EndOfPrologue; 4619 - ULONGLONG UnwindInfoAddress; 4620 -} 4621 - 4622 -} 4623 -alias _IMAGE_FUNCTION_ENTRY64 IMAGE_FUNCTION_ENTRY64; 4624 -alias _IMAGE_FUNCTION_ENTRY64* PIMAGE_FUNCTION_ENTRY64; 4625 - 4626 -struct _IMAGE_SEPARATE_DEBUG_HEADER { 4627 - WORD Signature; 4628 - WORD Flags; 4629 - WORD Machine; 4630 - WORD Characteristics; 4631 - DWORD TimeDateStamp; 4632 - DWORD CheckSum; 4633 - DWORD ImageBase; 4634 - DWORD SizeOfImage; 4635 - DWORD NumberOfSections; 4636 - DWORD ExportedNamesSize; 4637 - DWORD DebugDirectorySize; 4638 - DWORD SectionAlignment; 4639 - DWORD Reserved[2]; 4640 -} 4641 -alias _IMAGE_SEPARATE_DEBUG_HEADER IMAGE_SEPARATE_DEBUG_HEADER; 4642 -alias _IMAGE_SEPARATE_DEBUG_HEADER* PIMAGE_SEPARATE_DEBUG_HEADER; 4643 - 4644 -struct _NON_PAGED_DEBUG_INFO { 4645 - WORD Signature; 4646 - WORD Flags; 4647 - DWORD Size; 4648 - WORD Machine; 4649 - WORD Characteristics; 4650 - DWORD TimeDateStamp; 4651 - DWORD CheckSum; 4652 - DWORD SizeOfImage; 4653 - ULONGLONG ImageBase; 4654 - 4655 -} 4656 -alias _NON_PAGED_DEBUG_INFO NON_PAGED_DEBUG_INFO; 4657 -alias _NON_PAGED_DEBUG_INFO* PNON_PAGED_DEBUG_INFO; 4658 - 4659 -// #ifndef _MAC 4660 -enum : uint { IMAGE_SEPARATE_DEBUG_SIGNATURE = 0x4944 } 4661 -enum : uint { NON_PAGED_DEBUG_SIGNATURE = 0x494E } 4662 -// #else 4663 -// #... 4664 -// #... 4665 -// #endif 4666 - 4667 -enum : uint { IMAGE_SEPARATE_DEBUG_FLAGS_MASK = 0x8000 } 4668 -enum : uint { IMAGE_SEPARATE_DEBUG_MISMATCH = 0x8000 } 4669 - 4670 -struct _ImageArchitectureHeader { 4671 -// unsigned int AmaskValue: 1; 4672 - 4673 -// int :7; 4674 -// unsigned int AmaskShift: 8; 4675 -// int :16; 4676 - DWORD FirstEntryRVA; 4677 -} 4678 -alias _ImageArchitectureHeader IMAGE_ARCHITECTURE_HEADER; 4679 -alias _ImageArchitectureHeader* PIMAGE_ARCHITECTURE_HEADER; 4680 - 4681 -struct _ImageArchitectureEntry { 4682 - DWORD FixupInstRVA; 4683 - DWORD NewInst; 4684 -} 4685 -alias _ImageArchitectureEntry IMAGE_ARCHITECTURE_ENTRY; 4686 -alias _ImageArchitectureEntry* PIMAGE_ARCHITECTURE_ENTRY; 4687 - 4688 -align: 4689 - 4690 -enum : uint { IMPORT_OBJECT_HDR_SIG2 = 0xffff } 4691 - 4692 -struct IMPORT_OBJECT_HEADER { 4693 - WORD Sig1; 4694 - WORD Sig2; 4695 - WORD Version; 4696 - WORD Machine; 4697 - DWORD TimeDateStamp; 4698 - DWORD SizeOfData; 4699 - 4700 -union { 4701 - WORD Ordinal; 4702 - WORD Hint; 4703 -} 4704 - 4705 -// WORD Type : 2; 4706 -// WORD NameType : 3; 4707 -// WORD Reserved : 11; 4708 -} 4709 - 4710 -alias int IMPORT_OBJECT_TYPE; 4711 -enum { 4712 - IMPORT_OBJECT_CODE = 0, 4713 - IMPORT_OBJECT_DATA = 1, 4714 - IMPORT_OBJECT_CONST = 2, 4715 -} 4716 - 4717 -alias int IMPORT_OBJECT_NAME_TYPE; 4718 -enum { 4719 - IMPORT_OBJECT_ORDINAL = 0, 4720 - IMPORT_OBJECT_NAME = 1, 4721 - IMPORT_OBJECT_NAME_NO_PREFIX = 2, 4722 - IMPORT_OBJECT_NAME_UNDECORATE = 3, 4723 - 4724 -} 4725 - 4726 -// #ifndef __IMAGE_COR20_HEADER_DEFINED__ 4727 -// #define __IMAGE_COR20_HEADER_DEFINED__ 4728 - 4729 -alias int ReplacesCorHdrNumericDefines; 4730 -enum { 4731 - 4732 - COMIMAGE_FLAGS_ILONLY = 0x00000001, 4733 - COMIMAGE_FLAGS_32BITREQUIRED = 0x00000002, 4734 - COMIMAGE_FLAGS_IL_LIBRARY = 0x00000004, 4735 - COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x00010000, 4736 - 4737 - COR_VERSION_MAJOR_V2 = 2, 4738 - COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2, 4739 - COR_VERSION_MINOR = 0, 4740 - COR_DELETED_NAME_LENGTH = 8, 4741 - COR_VTABLEGAP_NAME_LENGTH = 8, 4742 - 4743 - NATIVE_TYPE_MAX_CB = 1, 4744 - COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 0xFF, 4745 - 4746 - IMAGE_COR_MIH_METHODRVA = 0x01, 4747 - IMAGE_COR_MIH_EHRVA = 0x02, 4748 - IMAGE_COR_MIH_BASICBLOCK = 0x08, 4749 - 4750 - COR_VTABLE_32BIT = 0x01, 4751 - COR_VTABLE_64BIT = 0x02, 4752 - COR_VTABLE_FROM_UNMANAGED = 0x04, 4753 - COR_VTABLE_CALL_MOST_DERIVED = 0x10, 4754 - 4755 - IMAGE_COR_EATJ_THUNK_SIZE = 32, 4756 - 4757 - MAX_CLASS_NAME = 1024, 4758 - MAX_PACKAGE_NAME = 1024, 4759 -} 4760 - 4761 -struct IMAGE_COR20_HEADER { 4762 - 4763 - DWORD cb; 4764 - WORD MajorRuntimeVersion; 4765 - WORD MinorRuntimeVersion; 4766 - IMAGE_DATA_DIRECTORY MetaData; 4767 - DWORD Flags; 4768 - DWORD EntryPointToken; 4769 - IMAGE_DATA_DIRECTORY Resources; 4770 - IMAGE_DATA_DIRECTORY StrongNameSignature; 4771 - IMAGE_DATA_DIRECTORY CodeManagerTable; 4772 - IMAGE_DATA_DIRECTORY VTableFixups; 4773 - IMAGE_DATA_DIRECTORY ExportAddressTableJumps; 4774 - IMAGE_DATA_DIRECTORY ManagedNativeHeader; 4775 -} 4776 -alias IMAGE_COR20_HEADER* PIMAGE_COR20_HEADER; 4777 - 4778 -// #endif // __IMAGE_COR20_HEADER_DEFINED__ 4779 - 4780 -// #ifdef _MAC 4781 -// #ifndef _INC_STRING 4782 -// #... 4783 -// #endif /* _INC_STRING */ 4784 -// #else 4785 -// #include <string.h> 4786 -// #endif // _MAC 4787 - 4788 -// #ifndef _SLIST_HEADER_ 4789 -// #define _SLIST_HEADER_ 4790 - 4791 -alias SINGLE_LIST_ENTRY SLIST_ENTRY; 4792 -alias _SINGLE_LIST_ENTRY _SLIST_ENTRY; 4793 -alias PSINGLE_LIST_ENTRY PSLIST_ENTRY; 4794 - 4795 -// #if defined(_WIN64) 4796 - 4797 -// ... 4798 - 4799 -// ... 4800 - 4801 -// #else 4802 - 4803 -union _SLIST_HEADER { 4804 - ULONGLONG Alignment; 4805 -struct { 4806 - SLIST_ENTRY Next; 4807 - WORD Depth; 4808 - WORD Sequence; 4809 -} 4810 - 4811 -} 4812 -alias _SLIST_HEADER SLIST_HEADER; 4813 -alias _SLIST_HEADER* PSLIST_HEADER; 4814 - 4815 -// #endif 4816 - 4817 -// #endif 4818 - 4819 -extern(Windows) export VOID RtlInitializeSListHead( 4820 - PSLIST_HEADER ListHead); 4821 - 4822 -extern(Windows) export PSLIST_ENTRY RtlFirstEntrySList( 4823 - SLIST_HEADER *ListHead); 4824 - 4825 -extern(Windows) export PSLIST_ENTRY RtlInterlockedPopEntrySList( 4826 - PSLIST_HEADER ListHead); 4827 - 4828 -extern(Windows) export PSLIST_ENTRY RtlInterlockedPushEntrySList( 4829 - PSLIST_HEADER ListHead, 4830 - PSLIST_ENTRY ListEntry); 4831 - 4832 -extern(Windows) export PSLIST_ENTRY RtlInterlockedFlushSList( 4833 - PSLIST_HEADER ListHead); 4834 - 4835 -extern(Windows) export WORD RtlQueryDepthSList( 4836 - PSLIST_HEADER ListHead); 4837 - 4838 -enum : uint { HEAP_NO_SERIALIZE = 0x00000001 } 4839 -enum : uint { HEAP_GROWABLE = 0x00000002 } 4840 -enum : uint { HEAP_GENERATE_EXCEPTIONS = 0x00000004 } 4841 -enum : uint { HEAP_ZERO_MEMORY = 0x00000008 } 4842 -enum : uint { HEAP_REALLOC_IN_PLACE_ONLY = 0x00000010 } 4843 -enum : uint { HEAP_TAIL_CHECKING_ENABLED = 0x00000020 } 4844 -enum : uint { HEAP_FREE_CHECKING_ENABLED = 0x00000040 } 4845 -enum : uint { HEAP_DISABLE_COALESCE_ON_FREE = 0x00000080 } 4846 -enum : uint { HEAP_CREATE_ALIGN_16 = 0x00010000 } 4847 -enum : uint { HEAP_CREATE_ENABLE_TRACING = 0x00020000 } 4848 -enum : uint { HEAP_MAXIMUM_TAG = 0x0FFF } 4849 -enum : uint { HEAP_PSEUDO_TAG_FLAG = 0x8000 } 4850 -enum : uint { HEAP_TAG_SHIFT = 18 } 4851 -uint HEAP_MAKE_TAG_FLAGS(uint b, uint o){ return b + (o << 18); } 4852 - 4853 -enum : uint { IS_TEXT_UNICODE_ASCII16 = 0x0001 } 4854 -enum : uint { IS_TEXT_UNICODE_REVERSE_ASCII16 = 0x0010 } 4855 - 4856 -enum : uint { IS_TEXT_UNICODE_STATISTICS = 0x0002 } 4857 -enum : uint { IS_TEXT_UNICODE_REVERSE_STATISTICS = 0x0020 } 4858 - 4859 -enum : uint { IS_TEXT_UNICODE_CONTROLS = 0x0004 } 4860 -enum : uint { IS_TEXT_UNICODE_REVERSE_CONTROLS = 0x0040 } 4861 - 4862 -enum : uint { IS_TEXT_UNICODE_SIGNATURE = 0x0008 } 4863 -enum : uint { IS_TEXT_UNICODE_REVERSE_SIGNATURE = 0x0080 } 4864 - 4865 -enum : uint { IS_TEXT_UNICODE_ILLEGAL_CHARS = 0x0100 } 4866 -enum : uint { IS_TEXT_UNICODE_ODD_LENGTH = 0x0200 } 4867 -enum : uint { IS_TEXT_UNICODE_DBCS_LEADBYTE = 0x0400 } 4868 -enum : uint { IS_TEXT_UNICODE_NULL_BYTES = 0x1000 } 4869 - 4870 -enum : uint { IS_TEXT_UNICODE_UNICODE_MASK = 0x000F } 4871 -enum : uint { IS_TEXT_UNICODE_REVERSE_MASK = 0x00F0 } 4872 -enum : uint { IS_TEXT_UNICODE_NOT_UNICODE_MASK = 0x0F00 } 4873 -enum : uint { IS_TEXT_UNICODE_NOT_ASCII_MASK = 0xF000 } 4874 - 4875 -enum : uint { COMPRESSION_FORMAT_NONE = 0x0000 } 4876 -enum : uint { COMPRESSION_FORMAT_DEFAULT = 0x0001 } 4877 -enum : uint { COMPRESSION_FORMAT_LZNT1 = 0x0002 } 4878 -enum : uint { COMPRESSION_ENGINE_STANDARD = 0x0000 } 4879 -enum : uint { COMPRESSION_ENGINE_MAXIMUM = 0x0100 } 4880 -enum : uint { COMPRESSION_ENGINE_HIBER = 0x0200 } 4881 - 4882 -extern(Windows) export SIZE_T RtlCompareMemory( 4883 - VOID *Source1, 4884 - VOID *Source2, 4885 - SIZE_T Length); 4886 - 4887 -// #if defined(_M_AMD64) || defined(_M_IA64) 4888 - 4889 -// #... 4890 -// ... 4891 - 4892 -// ... 4893 - 4894 -// #if !defined(_M_AMD64) 4895 - 4896 -// ... 4897 - 4898 -// #endif 4899 - 4900 -// ... 4901 - 4902 -// ... 4903 - 4904 -// ... 4905 - 4906 -// #else 4907 - 4908 -bit RtlEqualMemory(void* x, void* y, uint len){ return memcmp(x, y, len) == 0; } 4909 -void RtlMoveMemory(void* d, void* s, uint len){ memmove(d, s, len); } 4910 -void RtlCopyMemory(void* d, void* s, uint len){ memcpy(d, s, len); } 4911 -void RtlFillMemory(void* d, uint len, ubyte f){ memset(d, f, len); } 4912 -void RtlZeroMemory(void* d, uint len){ memset(d, 0, len); } 4913 - 4914 -// #endif 4915 - 4916 -struct _MESSAGE_RESOURCE_ENTRY { 4917 - WORD Length; 4918 - WORD Flags; 4919 - BYTE Text[ 1 ]; 4920 -} 4921 -alias _MESSAGE_RESOURCE_ENTRY MESSAGE_RESOURCE_ENTRY; 4922 -alias _MESSAGE_RESOURCE_ENTRY* PMESSAGE_RESOURCE_ENTRY; 4923 - 4924 -enum : uint { MESSAGE_RESOURCE_UNICODE = 0x0001 } 4925 - 4926 -struct _MESSAGE_RESOURCE_BLOCK { 4927 - DWORD LowId; 4928 - DWORD HighId; 4929 - DWORD OffsetToEntries; 4930 -} 4931 -alias _MESSAGE_RESOURCE_BLOCK MESSAGE_RESOURCE_BLOCK; 4932 -alias _MESSAGE_RESOURCE_BLOCK* PMESSAGE_RESOURCE_BLOCK; 4933 - 4934 -struct _MESSAGE_RESOURCE_DATA { 4935 - DWORD NumberOfBlocks; 4936 - MESSAGE_RESOURCE_BLOCK Blocks[ 1 ]; 4937 -} 4938 -alias _MESSAGE_RESOURCE_DATA MESSAGE_RESOURCE_DATA; 4939 -alias _MESSAGE_RESOURCE_DATA* PMESSAGE_RESOURCE_DATA; 4940 - 4941 -struct _OSVERSIONINFOA { 4942 - DWORD dwOSVersionInfoSize; 4943 - DWORD dwMajorVersion; 4944 - DWORD dwMinorVersion; 4945 - DWORD dwBuildNumber; 4946 - DWORD dwPlatformId; 4947 - CHAR szCSDVersion[ 128 ]; 4948 -} 4949 -alias _OSVERSIONINFOA OSVERSIONINFOA; 4950 -alias _OSVERSIONINFOA* POSVERSIONINFOA; 4951 -alias _OSVERSIONINFOA* LPOSVERSIONINFOA; 4952 - 4953 -struct _OSVERSIONINFOW { 4954 - DWORD dwOSVersionInfoSize; 4955 - DWORD dwMajorVersion; 4956 - DWORD dwMinorVersion; 4957 - DWORD dwBuildNumber; 4958 - DWORD dwPlatformId; 4959 - WCHAR szCSDVersion[ 128 ]; 4960 -} 4961 -alias _OSVERSIONINFOW OSVERSIONINFOW; 4962 -alias _OSVERSIONINFOW* POSVERSIONINFOW; 4963 -alias _OSVERSIONINFOW* LPOSVERSIONINFOW; 4964 -alias _OSVERSIONINFOW RTL_OSVERSIONINFOW; 4965 -alias _OSVERSIONINFOW* PRTL_OSVERSIONINFOW; 4966 - 4967 -// #ifdef UNICODE 4968 -alias OSVERSIONINFOW OSVERSIONINFO; 4969 -alias POSVERSIONINFOW POSVERSIONINFO; 4970 -alias LPOSVERSIONINFOW LPOSVERSIONINFO; 4971 -// #else 4972 -// ... 4973 -// #endif // UNICODE 4974 - 4975 -struct _OSVERSIONINFOEXA { 4976 - DWORD dwOSVersionInfoSize; 4977 - DWORD dwMajorVersion; 4978 - DWORD dwMinorVersion; 4979 - DWORD dwBuildNumber; 4980 - DWORD dwPlatformId; 4981 - CHAR szCSDVersion[ 128 ]; 4982 - WORD wServicePackMajor; 4983 - WORD wServicePackMinor; 4984 - WORD wSuiteMask; 4985 - BYTE wProductType; 4986 - BYTE wReserved; 4987 -} 4988 -alias _OSVERSIONINFOEXA OSVERSIONINFOEXA; 4989 -alias _OSVERSIONINFOEXA* POSVERSIONINFOEXA; 4990 -alias _OSVERSIONINFOEXA* LPOSVERSIONINFOEXA; 4991 - 4992 -struct _OSVERSIONINFOEXW { 4993 - DWORD dwOSVersionInfoSize; 4994 - DWORD dwMajorVersion; 4995 - DWORD dwMinorVersion; 4996 - DWORD dwBuildNumber; 4997 - DWORD dwPlatformId; 4998 - WCHAR szCSDVersion[ 128 ]; 4999 - WORD wServicePackMajor; 5000 - WORD wServicePackMinor; 5001 - WORD wSuiteMask; 5002 - BYTE wProductType; 5003 - BYTE wReserved; 5004 -} 5005 -alias _OSVERSIONINFOEXW OSVERSIONINFOEXW; 5006 -alias _OSVERSIONINFOEXW* POSVERSIONINFOEXW; 5007 -alias _OSVERSIONINFOEXW* LPOSVERSIONINFOEXW; 5008 -alias _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW; 5009 -alias _OSVERSIONINFOEXW* PRTL_OSVERSIONINFOEXW; 5010 - 5011 -// #ifdef UNICODE 5012 -alias OSVERSIONINFOEXW OSVERSIONINFOEX; 5013 -alias POSVERSIONINFOEXW POSVERSIONINFOEX; 5014 -alias LPOSVERSIONINFOEXW LPOSVERSIONINFOEX; 5015 -// #else 5016 -// ... 5017 -// #endif // UNICODE 5018 - 5019 -enum : uint { VER_EQUAL = 1 } 5020 -enum : uint { VER_GREATER = 2 } 5021 -enum : uint { VER_GREATER_EQUAL = 3 } 5022 -enum : uint { VER_LESS = 4 } 5023 -enum : uint { VER_LESS_EQUAL = 5 } 5024 -enum : uint { VER_AND = 6 } 5025 -enum : uint { VER_OR = 7 } 5026 - 5027 -enum : uint { VER_CONDITION_MASK = 7 } 5028 -enum : uint { VER_NUM_BITS_PER_CONDITION_MASK = 3 } 5029 - 5030 -enum : uint { VER_MINORVERSION = 0x0000001 } 5031 -enum : uint { VER_MAJORVERSION = 0x0000002 } 5032 -enum : uint { VER_BUILDNUMBER = 0x0000004 } 5033 -enum : uint { VER_PLATFORMID = 0x0000008 } 5034 -enum : uint { VER_SERVICEPACKMINOR = 0x0000010 } 5035 -enum : uint { VER_SERVICEPACKMAJOR = 0x0000020 } 5036 -enum : uint { VER_SUITENAME = 0x0000040 } 5037 -enum : uint { VER_PRODUCT_TYPE = 0x0000080 } 5038 - 5039 -enum : uint { VER_NT_WORKSTATION = 0x0000001 } 5040 -enum : uint { VER_NT_DOMAIN_CONTROLLER = 0x0000002 } 5041 -enum : uint { VER_NT_SERVER = 0x0000003 } 5042 - 5043 -enum : uint { VER_PLATFORM_WIN32s = 0 } 5044 -enum : uint { VER_PLATFORM_WIN32_WINDOWS = 1 } 5045 -enum : uint { VER_PLATFORM_WIN32_NT = 2 } 5046 - 5047 -// #define VER_SET_CONDITION(_m_,_t_,_c_) ((_m_)=VerSetConditionMask((_m_),(_t_),(_c_))) 5048 - 5049 -extern(Windows) export ULONGLONG VerSetConditionMask( 5050 - ULONGLONG ConditionMask, 5051 - DWORD TypeMask, 5052 - BYTE Condition); 5053 - 5054 -struct _RTL_CRITICAL_SECTION_DEBUG { 5055 - WORD Type; 5056 - WORD CreatorBackTraceIndex; 5057 - _RTL_CRITICAL_SECTION *CriticalSection; 5058 - LIST_ENTRY ProcessLocksList; 5059 - DWORD EntryCount; 5060 - DWORD ContentionCount; 5061 - DWORD Spare[ 2 ]; 5062 -} 5063 -alias _RTL_CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG; 5064 -alias _RTL_CRITICAL_SECTION_DEBUG* PRTL_CRITICAL_SECTION_DEBUG; 5065 -alias _RTL_CRITICAL_SECTION_DEBUG RTL_RESOURCE_DEBUG; 5066 -alias _RTL_CRITICAL_SECTION_DEBUG* PRTL_RESOURCE_DEBUG; 5067 - 5068 -enum : uint { RTL_CRITSECT_TYPE = 0 } 5069 -enum : uint { RTL_RESOURCE_TYPE = 1 } 5070 - 5071 -struct _RTL_CRITICAL_SECTION { 5072 - PRTL_CRITICAL_SECTION_DEBUG DebugInfo; 5073 - 5074 - LONG LockCount; 5075 - LONG RecursionCount; 5076 - HANDLE OwningThread; 5077 - HANDLE LockSemaphore; 5078 - ULONG_PTR SpinCount; 5079 -} 5080 -alias _RTL_CRITICAL_SECTION RTL_CRITICAL_SECTION; 5081 -alias _RTL_CRITICAL_SECTION* PRTL_CRITICAL_SECTION; 5082 - 5083 -extern(Windows) alias VOID function( PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved ) RTL_VERIFIER_DLL_LOAD_CALLBACK; 5084 - 5085 -extern(Windows) alias VOID function( PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved ) RTL_VERIFIER_DLL_UNLOAD_CALLBACK; 5086 - 5087 -struct _RTL_VERIFIER_THUNK_DESCRIPTOR { 5088 - 5089 - PCHAR ThunkName; 5090 - PVOID ThunkOldAddress; 5091 - PVOID ThunkNewAddress; 5092 -} 5093 -alias _RTL_VERIFIER_THUNK_DESCRIPTOR RTL_VERIFIER_THUNK_DESCRIPTOR; 5094 -alias _RTL_VERIFIER_THUNK_DESCRIPTOR* PRTL_VERIFIER_THUNK_DESCRIPTOR; 5095 - 5096 -struct _RTL_VERIFIER_DLL_DESCRIPTOR { 5097 - 5098 - PWCHAR DllName; 5099 - DWORD DllFlags; 5100 - PVOID DllAddress; 5101 - PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks; 5102 -} 5103 -alias _RTL_VERIFIER_DLL_DESCRIPTOR RTL_VERIFIER_DLL_DESCRIPTOR; 5104 -alias _RTL_VERIFIER_DLL_DESCRIPTOR* PRTL_VERIFIER_DLL_DESCRIPTOR; 5105 - 5106 -struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR { 5107 - 5108 - DWORD Length; 5109 - PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls; 5110 - RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback; 5111 - RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback; 5112 - 5113 - PWSTR VerifierImage; 5114 - DWORD VerifierFlags; 5115 - DWORD VerifierDebug; 5116 -} 5117 -alias _RTL_VERIFIER_PROVIDER_DESCRIPTOR RTL_VERIFIER_PROVIDER_DESCRIPTOR; 5118 -alias _RTL_VERIFIER_PROVIDER_DESCRIPTOR* PRTL_VERIFIER_PROVIDER_DESCRIPTOR; 5119 - 5120 -enum : uint { RTL_VRF_FLG_FULL_PAGE_HEAP = 0x0001 } 5121 -enum : uint { RTL_VRF_FLG_LOCK_CHECKS = 0x0002 } 5122 -enum : uint { RTL_VRF_FLG_HANDLE_CHECKS = 0x0004 } 5123 -enum : uint { RTL_VRF_FLG_STACK_CHECKS = 0x0008 } 5124 -enum : uint { RTL_VRF_FLG_APPCOMPAT_CHECKS = 0x0010 } 5125 - 5126 -enum : uint { APPLICATION_VERIFIER_INTERNAL_ERROR = 0x80000000 } 5127 -enum : uint { APPLICATION_VERIFIER_INTERNAL_WARNING = 0x40000000 } 5128 -enum : uint { APPLICATION_VERIFIER_NO_BREAK = 0x20000000 } 5129 -enum : uint { APPLICATION_VERIFIER_RESERVED_BIT_28 = 0x10000000 } 5130 - 5131 -enum : uint { APPLICATION_VERIFIER_UNKNOWN_ERROR = 0x0001 } 5132 -enum : uint { APPLICATION_VERIFIER_ACCESS_VIOLATION = 0x0002 } 5133 -enum : uint { APPLICATION_VERIFIER_UNSYNCHRONIZED_ACCESS = 0x0003 } 5134 -enum : uint { APPLICATION_VERIFIER_EXTREME_SIZE_REQUEST = 0x0004 } 5135 -enum : uint { APPLICATION_VERIFIER_BAD_HEAP_HANDLE = 0x0005 } 5136 -enum : uint { APPLICATION_VERIFIER_SWITCHED_HEAP_HANDLE = 0x0006 } 5137 -enum : uint { APPLICATION_VERIFIER_DOUBLE_FREE = 0x0007 } 5138 -enum : uint { APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK = 0x0008 } 5139 -enum : uint { APPLICATION_VERIFIER_DESTROY_PROCESS_HEAP = 0x0009 } 5140 -enum : uint { APPLICATION_VERIFIER_UNEXPECTED_EXCEPTION = 0x000A } 5141 -enum : uint { APPLICATION_VERIFIER_STACK_OVERFLOW = 0x000B } 5142 - 5143 -enum : uint { APPLICATION_VERIFIER_TERMINATE_THREAD_CALL = 0x0100 } 5144 - 5145 -enum : uint { APPLICATION_VERIFIER_EXIT_THREAD_OWNS_LOCK = 0x0200 } 5146 -enum : uint { APPLICATION_VERIFIER_LOCK_IN_UNLOADED_DLL = 0x0201 } 5147 -enum : uint { APPLICATION_VERIFIER_LOCK_IN_FREED_HEAP = 0x0202 } 5148 -enum : uint { APPLICATION_VERIFIER_LOCK_DOUBLE_INITIALIZE = 0x0203 } 5149 -enum : uint { APPLICATION_VERIFIER_LOCK_IN_FREED_MEMORY = 0x0204 } 5150 -enum : uint { APPLICATION_VERIFIER_LOCK_CORRUPTED = 0x0205 } 5151 -enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_OWNER = 0x0206 } 5152 -enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_RECURSION_COUNT = 0x0207 } 5153 -enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_LOCK_COUNT = 0x0208 } 5154 -enum : uint { APPLICATION_VERIFIER_LOCK_OVER_RELEASED = 0x0209 } 5155 -enum : uint { APPLICATION_VERIFIER_LOCK_NOT_INITIALIZED = 0x0210 } 5156 - 5157 -enum : uint { APPLICATION_VERIFIER_INVALID_HANDLE = 0x0300 } 5158 - 5159 -// #define VERIFIER_STOP(Code, Msg, P1, S1, P2, S2, P3, S3, P4, S4) { RtlApplicationVerifierStop ((Code), (Msg), (ULONG_PTR)(P1),(S1), (ULONG_PTR)(P2),(S2), (ULONG_PTR)(P3),(S3), (ULONG_PTR)(P4),(S4)); } 5160 - 5161 -extern(Windows) export VOID RtlApplicationVerifierStop( 5162 - ULONG_PTR Code, 5163 - PCHAR Message, 5164 - ULONG_PTR Param1, PCHAR Description1, 5165 - ULONG_PTR Param2, PCHAR Description2, 5166 - ULONG_PTR Param3, PCHAR Description3, 5167 - ULONG_PTR Param4, PCHAR Description4); 5168 - 5169 -extern(Windows) alias LONG function( _EXCEPTION_POINTERS *ExceptionInfo ) PVECTORED_EXCEPTION_HANDLER; 5170 -enum : uint { SEF_DACL_AUTO_INHERIT = 0x01 } 5171 -enum : uint { SEF_SACL_AUTO_INHERIT = 0x02 } 5172 -enum : uint { SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT = 0x04 } 5173 -enum : uint { SEF_AVOID_PRIVILEGE_CHECK = 0x08 } 5174 -enum : uint { SEF_AVOID_OWNER_CHECK = 0x10 } 5175 -enum : uint { SEF_DEFAULT_OWNER_FROM_PARENT = 0x20 } 5176 -enum : uint { SEF_DEFAULT_GROUP_FROM_PARENT = 0x40 } 5177 - 5178 -alias int _HEAP_INFORMATION_CLASS; 5179 -enum { 5180 - 5181 - HeapCompatibilityInformation, 5182 - 5183 -} 5184 -alias _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS; 5185 - 5186 -extern(Windows) export DWORD RtlSetHeapInformation( 5187 - PVOID HeapHandle, 5188 - HEAP_INFORMATION_CLASS HeapInformationClass, 5189 - PVOID HeapInformation , 5190 - SIZE_T HeapInformationLength ); 5191 - 5192 -extern(Windows) export DWORD RtlQueryHeapInformation( 5193 - PVOID HeapHandle, 5194 - HEAP_INFORMATION_CLASS HeapInformationClass, 5195 - PVOID HeapInformation , 5196 - SIZE_T HeapInformationLength , 5197 - PSIZE_T ReturnLength ); 5198 - 5199 -enum : uint { WT_EXECUTEDEFAULT = 0x00000000 } 5200 -enum : uint { WT_EXECUTEINIOTHREAD = 0x00000001 } 5201 -enum : uint { WT_EXECUTEINUITHREAD = 0x00000002 } 5202 -enum : uint { WT_EXECUTEINWAITTHREAD = 0x00000004 } 5203 -enum : uint { WT_EXECUTEONLYONCE = 0x00000008 } 5204 -enum : uint { WT_EXECUTEINTIMERTHREAD = 0x00000020 } 5205 -enum : uint { WT_EXECUTELONGFUNCTION = 0x00000010 } 5206 -enum : uint { WT_EXECUTEINPERSISTENTIOTHREAD = 0x00000040 } 5207 -enum : uint { WT_EXECUTEINPERSISTENTTHREAD = 0x00000080 } 5208 -// #define WT_SET_MAX_THREADPOOL_THREADS(Flags, Limit) ((Flags) |= (Limit)<<16) 5209 -extern(Windows) alias VOID function(PVOID, BOOLEAN ) WAITORTIMERCALLBACKFUNC; 5210 -extern(Windows) alias VOID function(PVOID ) WORKERCALLBACKFUNC; 5211 -extern(Windows) alias VOID function(DWORD , PVOID, PVOID) APC_CALLBACK_FUNCTION; 5212 -enum : uint { WT_EXECUTEINLONGTHREAD = 0x00000010 } 5213 -enum : uint { WT_EXECUTEDELETEWAIT = 0x00000008 } 5214 - 5215 -alias int _ACTIVATION_CONTEXT_INFO_CLASS; 5216 -enum { 5217 - ActivationContextBasicInformation = 1, 5218 - ActivationContextDetailedInformation = 2, 5219 - AssemblyDetailedInformationInActivationContext = 3, 5220 - FileInformationInAssemblyOfAssemblyInActivationContext = 4, 5221 - MaxActivationContextInfoClass, 5222 - 5223 - AssemblyDetailedInformationInActivationContxt = 3, 5224 - FileInformationInAssemblyOfAssemblyInActivationContxt = 4, 5225 -} 5226 -alias _ACTIVATION_CONTEXT_INFO_CLASS ACTIVATION_CONTEXT_INFO_CLASS; 5227 - 5228 -alias ACTIVATION_CONTEXT_INFO_CLASS ACTIVATIONCONTEXTINFOCLASS; 5229 - 5230 -struct _ACTIVATION_CONTEXT_QUERY_INDEX { 5231 - DWORD ulAssemblyIndex; 5232 - DWORD ulFileIndexInAssembly; 5233 -} 5234 -alias _ACTIVATION_CONTEXT_QUERY_INDEX ACTIVATION_CONTEXT_QUERY_INDEX; 5235 -alias _ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_INDEX; 5236 - 5237 -alias _ACTIVATION_CONTEXT_QUERY_INDEX* PCACTIVATION_CONTEXT_QUERY_INDEX; 5238 - 5239 -enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_NONE = 1 } 5240 -enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE = 2 } 5241 -enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_URL = 3 } 5242 -enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF = 4 } 5243 - 5244 -struct _ASSEMBLY_FILE_DETAILED_INFORMATION { 5245 - DWORD ulFlags; 5246 - DWORD ulFilenameLength; 5247 - DWORD ulPathLength; 5248 - PCWSTR lpFileName; 5249 - PCWSTR lpFilePath; 5250 -} 5251 -alias _ASSEMBLY_FILE_DETAILED_INFORMATION ASSEMBLY_FILE_DETAILED_INFORMATION; 5252 -alias _ASSEMBLY_FILE_DETAILED_INFORMATION* PASSEMBLY_FILE_DETAILED_INFORMATION; 5253 - 5254 -alias ASSEMBLY_FILE_DETAILED_INFORMATION* PCASSEMBLY_FILE_DETAILED_INFORMATION; 5255 - 5256 -alias _ASSEMBLY_FILE_DETAILED_INFORMATION _ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; 5257 -alias ASSEMBLY_FILE_DETAILED_INFORMATION ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; 5258 -alias PASSEMBLY_FILE_DETAILED_INFORMATION PASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; 5259 -alias PCASSEMBLY_FILE_DETAILED_INFORMATION PCASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; 5260 - 5261 -struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { 5262 - DWORD ulFlags; 5263 - DWORD ulEncodedAssemblyIdentityLength; 5264 - DWORD ulManifestPathType; 5265 - DWORD ulManifestPathLength; 5266 - LARGE_INTEGER liManifestLastWriteTime; 5267 - DWORD ulPolicyPathType; 5268 - DWORD ulPolicyPathLength; 5269 - LARGE_INTEGER liPolicyLastWriteTime; 5270 - DWORD ulMetadataSatelliteRosterIndex; 5271 - DWORD ulManifestVersionMajor; 5272 - DWORD ulManifestVersionMinor; 5273 - DWORD ulPolicyVersionMajor; 5274 - DWORD ulPolicyVersionMinor; 5275 - DWORD ulAssemblyDirectoryNameLength; 5276 - 5277 - PCWSTR lpAssemblyEncodedAssemblyIdentity; 5278 - PCWSTR lpAssemblyManifestPath; 5279 - PCWSTR lpAssemblyPolicyPath; 5280 - PCWSTR lpAssemblyDirectoryName; 5281 - DWORD ulFileCount; 5282 -} 5283 -alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 5284 -alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 5285 - 5286 -alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 5287 - 5288 -struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION { 5289 - DWORD dwFlags; 5290 - DWORD ulFormatVersion; 5291 - DWORD ulAssemblyCount; 5292 - DWORD ulRootManifestPathType; 5293 - DWORD ulRootManifestPathChars; 5294 - DWORD ulRootConfigurationPathType; 5295 - DWORD ulRootConfigurationPathChars; 5296 - DWORD ulAppDirPathType; 5297 - DWORD ulAppDirPathChars; 5298 - PCWSTR lpRootManifestPath; 5299 - PCWSTR lpRootConfigurationPath; 5300 - PCWSTR lpAppDirPath; 5301 -} 5302 -alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION ACTIVATION_CONTEXT_DETAILED_INFORMATION; 5303 -alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION* PACTIVATION_CONTEXT_DETAILED_INFORMATION; 5304 - 5305 -alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION* PCACTIVATION_CONTEXT_DETAILED_INFORMATION; 5306 - 5307 -enum : uint { DLL_PROCESS_ATTACH = 1 } 5308 -enum : uint { DLL_THREAD_ATTACH = 2 } 5309 -enum : uint { DLL_THREAD_DETACH = 3 } 5310 -enum : uint { DLL_PROCESS_DETACH = 0 } 5311 -enum : uint { DLL_PROCESS_VERIFIER = 4 } 5312 - 5313 -enum : uint { EVENTLOG_SEQUENTIAL_READ = 0x0001 } 5314 -enum : uint { EVENTLOG_SEEK_READ = 0x0002 } 5315 -enum : uint { EVENTLOG_FORWARDS_READ = 0x0004 } 5316 -enum : uint { EVENTLOG_BACKWARDS_READ = 0x0008 } 5317 - 5318 -enum : uint { EVENTLOG_SUCCESS = 0x0000 } 5319 -enum : uint { EVENTLOG_ERROR_TYPE = 0x0001 } 5320 -enum : uint { EVENTLOG_WARNING_TYPE = 0x0002 } 5321 -enum : uint { EVENTLOG_INFORMATION_TYPE = 0x0004 } 5322 -enum : uint { EVENTLOG_AUDIT_SUCCESS = 0x0008 } 5323 -enum : uint { EVENTLOG_AUDIT_FAILURE = 0x0010 } 5324 - 5325 -enum : uint { EVENTLOG_START_PAIRED_EVENT = 0x0001 } 5326 -enum : uint { EVENTLOG_END_PAIRED_EVENT = 0x0002 } 5327 -enum : uint { EVENTLOG_END_ALL_PAIRED_EVENTS = 0x0004 } 5328 -enum : uint { EVENTLOG_PAIRED_EVENT_ACTIVE = 0x0008 } 5329 -enum : uint { EVENTLOG_PAIRED_EVENT_INACTIVE = 0x0010 } 5330 - 5331 -struct _EVENTLOGRECORD { 5332 - DWORD Length; 5333 - DWORD Reserved; 5334 - DWORD RecordNumber; 5335 - DWORD TimeGenerated; 5336 - DWORD TimeWritten; 5337 - DWORD EventID; 5338 - WORD EventType; 5339 - WORD NumStrings; 5340 - WORD EventCategory; 5341 - WORD ReservedFlags; 5342 - DWORD ClosingRecordNumber; 5343 - DWORD StringOffset; 5344 - DWORD UserSidLength; 5345 - DWORD UserSidOffset; 5346 - DWORD DataLength; 5347 - DWORD DataOffset; 5348 - 5349 -} 5350 -alias _EVENTLOGRECORD EVENTLOGRECORD; 5351 -alias _EVENTLOGRECORD* PEVENTLOGRECORD; 5352 - 5353 -enum : uint { MAXLOGICALLOGNAMESIZE = 256 } 5354 - 5355 -// #if _MSC_VER >= 1200 5356 -// #pragma warning(push) 5357 -// #endif 5358 -// #pragma warning(disable : 4200) 5359 -struct _EVENTSFORLOGFILE { 5360 - DWORD ulSize; 5361 - WCHAR szLogicalLogFile[MAXLOGICALLOGNAMESIZE]; 5362 - DWORD ulNumRecords; 5363 - EVENTLOGRECORD pEventLogRecords[]; 5364 -} 5365 -alias _EVENTSFORLOGFILE EVENTSFORLOGFILE; 5366 -alias _EVENTSFORLOGFILE* PEVENTSFORLOGFILE; 5367 - 5368 -struct _PACKEDEVENTINFO { 5369 - DWORD ulSize; 5370 - DWORD ulNumEventsForLogFile; 5371 - DWORD ulOffsets[]; 5372 -} 5373 -alias _PACKEDEVENTINFO PACKEDEVENTINFO; 5374 -alias _PACKEDEVENTINFO* PPACKEDEVENTINFO; 5375 - 5376 -// #if _MSC_VER >= 1200 5377 -// #pragma warning(pop) 5378 -// #else 5379 -// #... 5380 -// #endif 5381 - 5382 -enum : uint { KEY_QUERY_VALUE = 0x0001 } 5383 -enum : uint { KEY_SET_VALUE = 0x0002 } 5384 -enum : uint { KEY_CREATE_SUB_KEY = 0x0004 } 5385 -enum : uint { KEY_ENUMERATE_SUB_KEYS = 0x0008 } 5386 -enum : uint { KEY_NOTIFY = 0x0010 } 5387 -enum : uint { KEY_CREATE_LINK = 0x0020 } 5388 -enum : uint { KEY_WOW64_32KEY = 0x0200 } 5389 -enum : uint { KEY_WOW64_64KEY = 0x0100 } 5390 -enum : uint { KEY_WOW64_RES = 0x0300 } 5391 - 5392 -enum : uint { KEY_READ = (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & (~SYNCHRONIZE) } 5393 - 5394 -enum : uint { KEY_WRITE = (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & (~SYNCHRONIZE) } 5395 - 5396 -enum : uint { KEY_EXECUTE = KEY_READ & ~SYNCHRONIZE } 5397 - 5398 -enum : uint { KEY_ALL_ACCESS = (STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY | KEY_CREATE_LINK) & (~SYNCHRONIZE) } 5399 - 5400 -enum : uint { REG_OPTION_RESERVED = 0x00000000 } 5401 - 5402 -enum : uint { REG_OPTION_NON_VOLATILE = 0x00000000 } 5403 - 5404 -enum : uint { REG_OPTION_VOLATILE = 0x00000001 } 5405 - 5406 -enum : uint { REG_OPTION_CREATE_LINK = 0x00000002 } 5407 - 5408 -enum : uint { REG_OPTION_BACKUP_RESTORE = 0x00000004 } 5409 - 5410 -enum : uint { REG_OPTION_OPEN_LINK = 0x00000008 } 5411 - 5412 -enum : uint { REG_LEGAL_OPTION = REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK | REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK } 5413 - 5414 -enum : uint { REG_CREATED_NEW_KEY = 0x00000001 } 5415 -enum : uint { REG_OPENED_EXISTING_KEY = 0x00000002 } 5416 - 5417 -enum : uint { REG_STANDARD_FORMAT = 1 } 5418 -enum : uint { REG_LATEST_FORMAT = 2 } 5419 -enum : uint { REG_NO_COMPRESSION = 4 } 5420 - 5421 -enum : uint { REG_WHOLE_HIVE_VOLATILE = 0x00000001 } 5422 -enum : uint { REG_REFRESH_HIVE = 0x00000002 } 5423 -enum : uint { REG_NO_LAZY_FLUSH = 0x00000004 } 5424 -enum : uint { REG_FORCE_RESTORE = 0x00000008 } 5425 - 5426 -enum : uint { REG_NOTIFY_CHANGE_NAME = 0x00000001 } 5427 -enum : uint { REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002 } 5428 -enum : uint { REG_NOTIFY_CHANGE_LAST_SET = 0x00000004 } 5429 -enum : uint { REG_NOTIFY_CHANGE_SECURITY = 0x00000008 } 5430 - 5431 -enum : uint { REG_LEGAL_CHANGE_FILTER = REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY } 5432 - 5433 -enum : uint { REG_NONE = 0 } 5434 -enum : uint { REG_SZ = 1 } 5435 -enum : uint { REG_EXPAND_SZ = 2 } 5436 - 5437 -enum : uint { REG_BINARY = 3 } 5438 -enum : uint { REG_DWORD = 4 } 5439 -enum : uint { REG_DWORD_LITTLE_ENDIAN = 4 } 5440 -enum : uint { REG_DWORD_BIG_ENDIAN = 5 } 5441 -enum : uint { REG_LINK = 6 } 5442 -enum : uint { REG_MULTI_SZ = 7 } 5443 -enum : uint { REG_RESOURCE_LIST = 8 } 5444 -enum : uint { REG_FULL_RESOURCE_DESCRIPTOR = 9 } 5445 -enum : uint { REG_RESOURCE_REQUIREMENTS_LIST = 10 } 5446 -enum : uint { REG_QWORD = 11 } 5447 -enum : uint { REG_QWORD_LITTLE_ENDIAN = 11 } 5448 - 5449 -enum : uint { SERVICE_KERNEL_DRIVER = 0x00000001 } 5450 -enum : uint { SERVICE_FILE_SYSTEM_DRIVER = 0x00000002 } 5451 -enum : uint { SERVICE_ADAPTER = 0x00000004 } 5452 -enum : uint { SERVICE_RECOGNIZER_DRIVER = 0x00000008 } 5453 - 5454 -enum : uint { SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER } 5455 - 5456 -enum : uint { SERVICE_WIN32_OWN_PROCESS = 0x00000010 } 5457 -enum : uint { SERVICE_WIN32_SHARE_PROCESS = 0x00000020 } 5458 -enum : uint { SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS } 5459 - 5460 -enum : uint { SERVICE_INTERACTIVE_PROCESS = 0x00000100 } 5461 - 5462 -enum : uint { SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS } 5463 - 5464 -enum : uint { SERVICE_BOOT_START = 0x00000000 } 5465 -enum : uint { SERVICE_SYSTEM_START = 0x00000001 } 5466 -enum : uint { SERVICE_AUTO_START = 0x00000002 } 5467 -enum : uint { SERVICE_DEMAND_START = 0x00000003 } 5468 -enum : uint { SERVICE_DISABLED = 0x00000004 } 5469 - 5470 -enum : uint { SERVICE_ERROR_IGNORE = 0x00000000 } 5471 -enum : uint { SERVICE_ERROR_NORMAL = 0x00000001 } 5472 -enum : uint { SERVICE_ERROR_SEVERE = 0x00000002 } 5473 -enum : uint { SERVICE_ERROR_CRITICAL = 0x00000003 } 5474 - 5475 -alias int _CM_SERVICE_NODE_TYPE; 5476 -enum { 5477 - DriverType = SERVICE_KERNEL_DRIVER, 5478 - FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, 5479 - Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, 5480 - Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, 5481 - AdapterType = SERVICE_ADAPTER, 5482 - RecognizerType = SERVICE_RECOGNIZER_DRIVER, 5483 -} 5484 -alias _CM_SERVICE_NODE_TYPE SERVICE_NODE_TYPE; 5485 - 5486 -alias int _CM_SERVICE_LOAD_TYPE; 5487 -enum { 5488 - BootLoad = SERVICE_BOOT_START, 5489 - SystemLoad = SERVICE_SYSTEM_START, 5490 - AutoLoad = SERVICE_AUTO_START, 5491 - DemandLoad = SERVICE_DEMAND_START, 5492 - DisableLoad = SERVICE_DISABLED, 5493 -} 5494 -alias _CM_SERVICE_LOAD_TYPE SERVICE_LOAD_TYPE; 5495 - 5496 -alias int _CM_ERROR_CONTROL_TYPE; 5497 -enum { 5498 - IgnoreError = SERVICE_ERROR_IGNORE, 5499 - NormalError = SERVICE_ERROR_NORMAL, 5500 - SevereError = SERVICE_ERROR_SEVERE, 5501 - CriticalError = SERVICE_ERROR_CRITICAL, 5502 -} 5503 -alias _CM_ERROR_CONTROL_TYPE SERVICE_ERROR_TYPE; 5504 - 5505 -enum : uint { TAPE_ERASE_SHORT = 0 } 5506 -enum : uint { TAPE_ERASE_LONG = 1 } 5507 - 5508 -struct _TAPE_ERASE { 5509 - DWORD Type; 5510 - BOOLEAN Immediate; 5511 -} 5512 -alias _TAPE_ERASE TAPE_ERASE; 5513 -alias _TAPE_ERASE* PTAPE_ERASE; 5514 - 5515 -enum : uint { TAPE_LOAD = 0 } 5516 -enum : uint { TAPE_UNLOAD = 1 } 5517 -enum : uint { TAPE_TENSION = 2 } 5518 -enum : uint { TAPE_LOCK = 3 } 5519 -enum : uint { TAPE_UNLOCK = 4 } 5520 -enum : uint { TAPE_FORMAT = 5 } 5521 - 5522 -struct _TAPE_PREPARE { 5523 - DWORD Operation; 5524 - BOOLEAN Immediate; 5525 -} 5526 -alias _TAPE_PREPARE TAPE_PREPARE; 5527 -alias _TAPE_PREPARE* PTAPE_PREPARE; 5528 - 5529 -enum : uint { TAPE_SETMARKS = 0 } 5530 -enum : uint { TAPE_FILEMARKS = 1 } 5531 -enum : uint { TAPE_SHORT_FILEMARKS = 2 } 5532 -enum : uint { TAPE_LONG_FILEMARKS = 3 } 5533 - 5534 -struct _TAPE_WRITE_MARKS { 5535 - DWORD Type; 5536 - DWORD Count; 5537 - BOOLEAN Immediate; 5538 -} 5539 -alias _TAPE_WRITE_MARKS TAPE_WRITE_MARKS; 5540 -alias _TAPE_WRITE_MARKS* PTAPE_WRITE_MARKS; 5541 - 5542 -enum : uint { TAPE_ABSOLUTE_POSITION = 0 } 5543 -enum : uint { TAPE_LOGICAL_POSITION = 1 } 5544 -enum : uint { TAPE_PSEUDO_LOGICAL_POSITION = 2 } 5545 - 5546 -struct _TAPE_GET_POSITION { 5547 - DWORD Type; 5548 - DWORD Partition; 5549 - LARGE_INTEGER Offset; 5550 -} 5551 -alias _TAPE_GET_POSITION TAPE_GET_POSITION; 5552 -alias _TAPE_GET_POSITION* PTAPE_GET_POSITION; 5553 - 5554 -enum : uint { TAPE_REWIND = 0 } 5555 -enum : uint { TAPE_ABSOLUTE_BLOCK = 1 } 5556 -enum : uint { TAPE_LOGICAL_BLOCK = 2 } 5557 -enum : uint { TAPE_PSEUDO_LOGICAL_BLOCK = 3 } 5558 -enum : uint { TAPE_SPACE_END_OF_DATA = 4 } 5559 -enum : uint { TAPE_SPACE_RELATIVE_BLOCKS = 5 } 5560 -enum : uint { TAPE_SPACE_FILEMARKS = 6 } 5561 -enum : uint { TAPE_SPACE_SEQUENTIAL_FMKS = 7 } 5562 -enum : uint { TAPE_SPACE_SETMARKS = 8 } 5563 -enum : uint { TAPE_SPACE_SEQUENTIAL_SMKS = 9 } 5564 - 5565 -struct _TAPE_SET_POSITION { 5566 - DWORD Method; 5567 - DWORD Partition; 5568 - LARGE_INTEGER Offset; 5569 - BOOLEAN Immediate; 5570 -} 5571 -alias _TAPE_SET_POSITION TAPE_SET_POSITION; 5572 -alias _TAPE_SET_POSITION* PTAPE_SET_POSITION; 5573 - 5574 -enum : uint { TAPE_DRIVE_FIXED = 0x00000001 } 5575 -enum : uint { TAPE_DRIVE_SELECT = 0x00000002 } 5576 -enum : uint { TAPE_DRIVE_INITIATOR = 0x00000004 } 5577 - 5578 -enum : uint { TAPE_DRIVE_ERASE_SHORT = 0x00000010 } 5579 -enum : uint { TAPE_DRIVE_ERASE_LONG = 0x00000020 } 5580 -enum : uint { TAPE_DRIVE_ERASE_BOP_ONLY = 0x00000040 } 5581 -enum : uint { TAPE_DRIVE_ERASE_IMMEDIATE = 0x00000080 } 5582 - 5583 -enum : uint { TAPE_DRIVE_TAPE_CAPACITY = 0x00000100 } 5584 -enum : uint { TAPE_DRIVE_TAPE_REMAINING = 0x00000200 } 5585 -enum : uint { TAPE_DRIVE_FIXED_BLOCK = 0x00000400 } 5586 -enum : uint { TAPE_DRIVE_VARIABLE_BLOCK = 0x00000800 } 5587 - 5588 -enum : uint { TAPE_DRIVE_WRITE_PROTECT = 0x00001000 } 5589 -enum : uint { TAPE_DRIVE_EOT_WZ_SIZE = 0x00002000 } 5590 - 5591 -enum : uint { TAPE_DRIVE_ECC = 0x00010000 } 5592 -enum : uint { TAPE_DRIVE_COMPRESSION = 0x00020000 } 5593 -enum : uint { TAPE_DRIVE_PADDING = 0x00040000 } 5594 -enum : uint { TAPE_DRIVE_REPORT_SMKS = 0x00080000 } 5595 - 5596 -enum : uint { TAPE_DRIVE_GET_ABSOLUTE_BLK = 0x00100000 } 5597 -enum : uint { TAPE_DRIVE_GET_LOGICAL_BLK = 0x00200000 } 5598 -enum : uint { TAPE_DRIVE_SET_EOT_WZ_SIZE = 0x00400000 } 5599 - 5600 -enum : uint { TAPE_DRIVE_EJECT_MEDIA = 0x01000000 } 5601 -enum : uint { TAPE_DRIVE_CLEAN_REQUESTS = 0x02000000 } 5602 -enum : uint { TAPE_DRIVE_SET_CMP_BOP_ONLY = 0x04000000 } 5603 - 5604 -enum : uint { TAPE_DRIVE_RESERVED_BIT = 0x80000000 } 5605 - 5606 -enum : uint { TAPE_DRIVE_LOAD_UNLOAD = 0x80000001 } 5607 -enum : uint { TAPE_DRIVE_TENSION = 0x80000002 } 5608 -enum : uint { TAPE_DRIVE_LOCK_UNLOCK = 0x80000004 } 5609 -enum : uint { TAPE_DRIVE_REWIND_IMMEDIATE = 0x80000008 } 5610 - 5611 -enum : uint { TAPE_DRIVE_SET_BLOCK_SIZE = 0x80000010 } 5612 -enum : uint { TAPE_DRIVE_LOAD_UNLD_IMMED = 0x80000020 } 5613 -enum : uint { TAPE_DRIVE_TENSION_IMMED = 0x80000040 } 5614 -enum : uint { TAPE_DRIVE_LOCK_UNLK_IMMED = 0x80000080 } 5615 - 5616 -enum : uint { TAPE_DRIVE_SET_ECC = 0x80000100 } 5617 -enum : uint { TAPE_DRIVE_SET_COMPRESSION = 0x80000200 } 5618 -enum : uint { TAPE_DRIVE_SET_PADDING = 0x80000400 } 5619 -enum : uint { TAPE_DRIVE_SET_REPORT_SMKS = 0x80000800 } 5620 - 5621 -enum : uint { TAPE_DRIVE_ABSOLUTE_BLK = 0x80001000 } 5622 -enum : uint { TAPE_DRIVE_ABS_BLK_IMMED = 0x80002000 } 5623 -enum : uint { TAPE_DRIVE_LOGICAL_BLK = 0x80004000 } 5624 -enum : uint { TAPE_DRIVE_LOG_BLK_IMMED = 0x80008000 } 5625 - 5626 -enum : uint { TAPE_DRIVE_END_OF_DATA = 0x80010000 } 5627 -enum : uint { TAPE_DRIVE_RELATIVE_BLKS = 0x80020000 } 5628 -enum : uint { TAPE_DRIVE_FILEMARKS = 0x80040000 } 5629 -enum : uint { TAPE_DRIVE_SEQUENTIAL_FMKS = 0x80080000 } 5630 - 5631 -enum : uint { TAPE_DRIVE_SETMARKS = 0x80100000 } 5632 -enum : uint { TAPE_DRIVE_SEQUENTIAL_SMKS = 0x80200000 } 5633 -enum : uint { TAPE_DRIVE_REVERSE_POSITION = 0x80400000 } 5634 -enum : uint { TAPE_DRIVE_SPACE_IMMEDIATE = 0x80800000 } 5635 - 5636 -enum : uint { TAPE_DRIVE_WRITE_SETMARKS = 0x81000000 } 5637 -enum : uint { TAPE_DRIVE_WRITE_FILEMARKS = 0x82000000 } 5638 -enum : uint { TAPE_DRIVE_WRITE_SHORT_FMKS = 0x84000000 } 5639 -enum : uint { TAPE_DRIVE_WRITE_LONG_FMKS = 0x88000000 } 5640 - 5641 -enum : uint { TAPE_DRIVE_WRITE_MARK_IMMED = 0x90000000 } 5642 -enum : uint { TAPE_DRIVE_FORMAT = 0xA0000000 } 5643 -enum : uint { TAPE_DRIVE_FORMAT_IMMEDIATE = 0xC0000000 } 5644 -enum : uint { TAPE_DRIVE_HIGH_FEATURES = 0x80000000 } 5645 - 5646 -struct _TAPE_GET_DRIVE_PARAMETERS { 5647 - BOOLEAN ECC; 5648 - BOOLEAN Compression; 5649 - BOOLEAN DataPadding; 5650 - BOOLEAN ReportSetmarks; 5651 - DWORD DefaultBlockSize; 5652 - DWORD MaximumBlockSize; 5653 - DWORD MinimumBlockSize; 5654 - DWORD MaximumPartitionCount; 5655 - DWORD FeaturesLow; 5656 - DWORD FeaturesHigh; 5657 - DWORD EOTWarningZoneSize; 5658 -} 5659 -alias _TAPE_GET_DRIVE_PARAMETERS TAPE_GET_DRIVE_PARAMETERS; 5660 -alias _TAPE_GET_DRIVE_PARAMETERS* PTAPE_GET_DRIVE_PARAMETERS; 5661 - 5662 -struct _TAPE_SET_DRIVE_PARAMETERS { 5663 - BOOLEAN ECC; 5664 - BOOLEAN Compression; 5665 - BOOLEAN DataPadding; 5666 - BOOLEAN ReportSetmarks; 5667 - DWORD EOTWarningZoneSize; 5668 -} 5669 -alias _TAPE_SET_DRIVE_PARAMETERS TAPE_SET_DRIVE_PARAMETERS; 5670 -alias _TAPE_SET_DRIVE_PARAMETERS* PTAPE_SET_DRIVE_PARAMETERS; 5671 - 5672 -struct _TAPE_GET_MEDIA_PARAMETERS { 5673 - LARGE_INTEGER Capacity; 5674 - LARGE_INTEGER Remaining; 5675 - DWORD BlockSize; 5676 - DWORD PartitionCount; 5677 - BOOLEAN WriteProtected; 5678 -} 5679 -alias _TAPE_GET_MEDIA_PARAMETERS TAPE_GET_MEDIA_PARAMETERS; 5680 -alias _TAPE_GET_MEDIA_PARAMETERS* PTAPE_GET_MEDIA_PARAMETERS; 5681 - 5682 -struct _TAPE_SET_MEDIA_PARAMETERS { 5683 - DWORD BlockSize; 5684 -} 5685 -alias _TAPE_SET_MEDIA_PARAMETERS TAPE_SET_MEDIA_PARAMETERS; 5686 -alias _TAPE_SET_MEDIA_PARAMETERS* PTAPE_SET_MEDIA_PARAMETERS; 5687 - 5688 -enum : uint { TAPE_FIXED_PARTITIONS = 0 } 5689 -enum : uint { TAPE_SELECT_PARTITIONS = 1 } 5690 -enum : uint { TAPE_INITIATOR_PARTITIONS = 2 } 5691 - 5692 -struct _TAPE_CREATE_PARTITION { 5693 - DWORD Method; 5694 - DWORD Count; 5695 - DWORD Size; 5696 -} 5697 -alias _TAPE_CREATE_PARTITION TAPE_CREATE_PARTITION; 5698 -alias _TAPE_CREATE_PARTITION* PTAPE_CREATE_PARTITION; 5699 - 5700 -enum : uint { TAPE_QUERY_DRIVE_PARAMETERS = 0 } 5701 -enum : uint { TAPE_QUERY_MEDIA_CAPACITY = 1 } 5702 -enum : uint { TAPE_CHECK_FOR_DRIVE_PROBLEM = 2 } 5703 -enum : uint { TAPE_QUERY_IO_ERROR_DATA = 3 } 5704 -enum : uint { TAPE_QUERY_DEVICE_ERROR_DATA = 4 } 5705 - 5706 -struct _TAPE_WMI_OPERATIONS { 5707 - DWORD Method; 5708 - DWORD DataBufferSize; 5709 - PVOID DataBuffer; 5710 -} 5711 -alias _TAPE_WMI_OPERATIONS TAPE_WMI_OPERATIONS; 5712 -alias _TAPE_WMI_OPERATIONS* PTAPE_WMI_OPERATIONS; 5713 - 5714 -alias int _TAPE_DRIVE_PROBLEM_TYPE; 5715 -enum { 5716 - TapeDriveProblemNone, 5717 - TapeDriveReadWriteWarning, 5718 - TapeDriveReadWriteError, 5719 - TapeDriveReadWarning, 5720 - TapeDriveWriteWarning, 5721 - TapeDriveReadError, 5722 - TapeDriveWriteError, 5723 - TapeDriveHardwareError, 5724 - TapeDriveUnsupportedMedia, 5725 - TapeDriveScsiConnectionError, 5726 - TapeDriveTimetoClean, 5727 - TapeDriveCleanDriveNow, 5728 - TapeDriveMediaLifeExpired, 5729 - TapeDriveSnappedTape, 5730 -} 5731 -alias _TAPE_DRIVE_PROBLEM_TYPE TAPE_DRIVE_PROBLEM_TYPE; 5732 - 5733 -// #if defined(_M_AMD64) && !defined(__midl) 5734 - 5735 -// ... 5736 - 5737 -// ... 5738 - 5739 -// ... 5740 - 5741 -// ... 5742 - 5743 -// ... 5744 - 5745 -// ... 5746 - 5747 -// #endif // _M_AMD64 && !defined(__midl) 5748 - 5749 -// #if (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED // winnt_only 5750 -enum : uint { ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1 } 5751 -enum : uint { ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION = 2 } 5752 -enum : uint { ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION = 3 } 5753 -enum : uint { ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION = 4 } 5754 -enum : uint { ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION = 5 } 5755 -enum : uint { ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION = 6 } 5756 -enum : uint { ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION = 7 } 5757 -enum : uint { ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE = 8 } 5758 -// #endif // winnt_only 5759 - 5760 -// #ifdef __cplusplus 5761 -// } 5762 -// #endif 5763 - 5764 -// #endif /* _WINNT_ */ 5765 - 3978 +// TODO: MinGW implements these in assembly. How to translate? 3979 +PVOID GetCurrentFiber(); 3980 +PVOID GetFiberData();

Added src/win32/winperf.d version [785b79f8bda055b1]

1 +/***********************************************************************\ 2 +* winperf.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.winperf; 11 + 12 +import win32.windef; 13 +import win32.winbase; // for SYSTEMTIME 14 + 15 +const PERF_DATA_VERSION=1; 16 +const PERF_DATA_REVISION=1; 17 +const PERF_NO_INSTANCES=-1; 18 +const PERF_SIZE_DWORD=0; 19 +const PERF_SIZE_LARGE=256; 20 +const PERF_SIZE_ZERO=512; 21 +const PERF_SIZE_VARIABLE_LEN=768; 22 +const PERF_TYPE_NUMBER=0; 23 +const PERF_TYPE_COUNTER=1024; 24 +const PERF_TYPE_TEXT=2048; 25 +const PERF_TYPE_ZERO=0xC00; 26 +const PERF_NUMBER_HEX=0; 27 +const PERF_NUMBER_DECIMAL=0x10000; 28 +const PERF_NUMBER_DEC_1000=0x20000; 29 +const PERF_COUNTER_VALUE=0; 30 +const PERF_COUNTER_RATE=0x10000; 31 +const PERF_COUNTER_FRACTION=0x20000; 32 +const PERF_COUNTER_BASE=0x30000; 33 +const PERF_COUNTER_ELAPSED=0x40000; 34 +const PERF_COUNTER_QUEUELEN=0x50000; 35 +const PERF_COUNTER_HISTOGRAM=0x60000; 36 +const PERF_TEXT_UNICODE=0; 37 +const PERF_TEXT_ASCII=0x10000; 38 +const PERF_TIMER_TICK=0; 39 +const PERF_TIMER_100NS=0x100000; 40 +const PERF_OBJECT_TIMER=0x200000; 41 +const PERF_DELTA_COUNTER=0x400000; 42 +const PERF_DELTA_BASE=0x800000; 43 +const PERF_INVERSE_COUNTER=0x1000000; 44 +const PERF_MULTI_COUNTER=0x2000000; 45 +const PERF_DISPLAY_NO_SUFFIX=0; 46 +const PERF_DISPLAY_PER_SEC=0x10000000; 47 +const PERF_DISPLAY_PERCENT=0x20000000; 48 +const PERF_DISPLAY_SECONDS=0x30000000; 49 +const PERF_DISPLAY_NOSHOW=0x40000000; 50 +const PERF_COUNTER_HISTOGRAM_TYPE=0x80000000; 51 +const PERF_NO_UNIQUE_ID=(-1); 52 +const PERF_DETAIL_NOVICE=100; 53 +const PERF_DETAIL_ADVANCED=200; 54 +const PERF_DETAIL_EXPERT=300; 55 +const PERF_DETAIL_WIZARD=400; 56 +const PERF_COUNTER_COUNTER=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC); 57 +const PERF_COUNTER_TIMER=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT); 58 +const PERF_COUNTER_QUEUELEN_TYPE=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_QUEUELEN|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX); 59 +const PERF_COUNTER_BULK_COUNT=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_PER_SEC); 60 +const PERF_COUNTER_TEXT=(PERF_SIZE_VARIABLE_LEN|PERF_TYPE_TEXT|PERF_TEXT_UNICODE|PERF_DISPLAY_NO_SUFFIX); 61 +const PERF_COUNTER_RAWCOUNT=(PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX); 62 +const PERF_COUNTER_LARGE_RAWCOUNT=(PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_DECIMAL|PERF_DISPLAY_NO_SUFFIX); 63 +const PERF_COUNTER_RAWCOUNT_HEX=(PERF_SIZE_DWORD|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX); 64 +const PERF_COUNTER_LARGE_RAWCOUNT_HEX=(PERF_SIZE_LARGE|PERF_TYPE_NUMBER|PERF_NUMBER_HEX|PERF_DISPLAY_NO_SUFFIX); 65 +const PERF_SAMPLE_FRACTION=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DELTA_COUNTER|PERF_DELTA_BASE|PERF_DISPLAY_PERCENT); 66 +const PERF_SAMPLE_COUNTER=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_DISPLAY_NO_SUFFIX); 67 +const PERF_COUNTER_NODATA=(PERF_SIZE_ZERO|PERF_DISPLAY_NOSHOW); 68 +const PERF_COUNTER_TIMER_INV=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_TICK|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT); 69 +const PERF_SAMPLE_BASE=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|1); 70 +const PERF_AVERAGE_TIMER=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_SECONDS); 71 +const PERF_AVERAGE_BASE=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|2); 72 +const PERF_AVERAGE_BULK=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_NOSHOW); 73 +const PERF_100NSEC_TIMER=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_DISPLAY_PERCENT); 74 +const PERF_100NSEC_TIMER_INV=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_DELTA_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT); 75 +const PERF_COUNTER_MULTI_TIMER=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_TIMER_TICK|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT); 76 +const PERF_COUNTER_MULTI_TIMER_INV=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_RATE|PERF_DELTA_COUNTER|PERF_MULTI_COUNTER|PERF_TIMER_TICK|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT); 77 +const PERF_COUNTER_MULTI_BASE=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_MULTI_COUNTER|PERF_DISPLAY_NOSHOW); 78 +const PERF_100NSEC_MULTI_TIMER=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_DISPLAY_PERCENT); 79 +const PERF_100NSEC_MULTI_TIMER_INV=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_DELTA_COUNTER|PERF_COUNTER_RATE|PERF_TIMER_100NS|PERF_MULTI_COUNTER|PERF_INVERSE_COUNTER|PERF_DISPLAY_PERCENT); 80 +const PERF_RAW_FRACTION=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_FRACTION|PERF_DISPLAY_PERCENT); 81 +const PERF_RAW_BASE=(PERF_SIZE_DWORD|PERF_TYPE_COUNTER|PERF_COUNTER_BASE|PERF_DISPLAY_NOSHOW|3); 82 +const PERF_ELAPSED_TIME=(PERF_SIZE_LARGE|PERF_TYPE_COUNTER|PERF_COUNTER_ELAPSED|PERF_OBJECT_TIMER|PERF_DISPLAY_SECONDS); 83 + 84 +struct PERF_DATA_BLOCK { 85 + WCHAR Signature[4]; 86 + DWORD LittleEndian; 87 + DWORD Version; 88 + DWORD Revision; 89 + DWORD TotalByteLength; 90 + DWORD HeaderLength; 91 + DWORD NumObjectTypes; 92 + LONG DefaultObject; 93 + SYSTEMTIME SystemTime; 94 + LARGE_INTEGER PerfTime; 95 + LARGE_INTEGER PerfFreq; 96 + LARGE_INTEGER PerfTime100nSec; 97 + DWORD SystemNameLength; 98 + DWORD SystemNameOffset; 99 +} 100 +alias PERF_DATA_BLOCK * PPERF_DATA_BLOCK; 101 + 102 +struct PERF_OBJECT_TYPE { 103 + DWORD TotalByteLength; 104 + DWORD DefinitionLength; 105 + DWORD HeaderLength; 106 + DWORD ObjectNameTitleIndex; 107 + LPWSTR ObjectNameTitle; 108 + DWORD ObjectHelpTitleIndex; 109 + LPWSTR ObjectHelpTitle; 110 + DWORD DetailLevel; 111 + DWORD NumCounters; 112 + LONG DefaultCounter; 113 + LONG NumInstances; 114 + DWORD CodePage; 115 + LARGE_INTEGER PerfTime; 116 + LARGE_INTEGER PerfFreq; 117 +} 118 +alias PERF_OBJECT_TYPE * PPERF_OBJECT_TYPE; 119 + 120 +struct PERF_COUNTER_DEFINITION { 121 + DWORD ByteLength; 122 + DWORD CounterNameTitleIndex; 123 + LPWSTR CounterNameTitle; 124 + DWORD CounterHelpTitleIndex; 125 + LPWSTR CounterHelpTitle; 126 + LONG DefaultScale; 127 + DWORD DetailLevel; 128 + DWORD CounterType; 129 + DWORD CounterSize; 130 + DWORD CounterOffset; 131 +} 132 +alias PERF_COUNTER_DEFINITION * PPERF_COUNTER_DEFINITION; 133 + 134 +struct PERF_INSTANCE_DEFINITION { 135 + DWORD ByteLength; 136 + DWORD ParentObjectTitleIndex; 137 + DWORD ParentObjectInstance; 138 + LONG UniqueID; 139 + DWORD NameOffset; 140 + DWORD NameLength; 141 +} 142 +alias PERF_INSTANCE_DEFINITION * PPERF_INSTANCE_DEFINITION; 143 + 144 +struct PERF_COUNTER_BLOCK { 145 + DWORD ByteLength; 146 +} 147 +alias PERF_COUNTER_BLOCK * PPERF_COUNTER_BLOCK; 148 + 149 +extern (Windows): 150 +alias DWORD function (LPWSTR) PM_OPEN_PROC; 151 +alias DWORD function (LPWSTR,PVOID*,PDWORD,PDWORD) PM_COLLECT_PROC; 152 +alias DWORD function () PM_CLOSE_PROC;

Modified src/win32/winreg.d from [76d5fcec592c7fdf] to [e5d43e62c628c0b0].

1 +/***********************************************************************\ 2 +* winreg.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.winreg; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.winnt, win32.winbase; 7 - 8 -// #ifndef _WINREG_ 9 -// #define _WINREG_ 10 - 11 -// #ifdef _MAC 12 -// #... 13 -// #endif 14 - 15 -// #ifdef __cplusplus 16 -// extern "C" { 17 -// #endif 18 - 19 -// #ifndef WINVER 20 -// #... 21 -// #endif /* !WINVER */ 12 +pragma(lib, "advapi32.lib"); 13 + 14 +private import win32.w32api, win32.winbase, win32.windef; 15 + 16 +const HKEY 17 + HKEY_CLASSES_ROOT = cast(HKEY) 0x80000000, 18 + HKEY_CURRENT_USER = cast(HKEY) 0x80000001, 19 + HKEY_LOCAL_MACHINE = cast(HKEY) 0x80000002, 20 + HKEY_USERS = cast(HKEY) 0x80000003, 21 + HKEY_PERFORMANCE_DATA = cast(HKEY) 0x80000004, 22 + HKEY_CURRENT_CONFIG = cast(HKEY) 0x80000005, 23 + HKEY_DYN_DATA = cast(HKEY) 0x80000006; 24 + 25 +enum : DWORD { 26 + REG_OPTION_NON_VOLATILE, 27 + REG_OPTION_VOLATILE 28 +} 29 + 30 +enum : DWORD { 31 + REG_CREATED_NEW_KEY = 1, 32 + REG_OPENED_EXISTING_KEY 33 +} 34 + 35 +enum : DWORD { 36 + REG_NONE = 0, 37 + REG_SZ, 38 + REG_EXPAND_SZ, 39 + REG_BINARY, 40 + REG_DWORD_LITTLE_ENDIAN, 41 + REG_DWORD = REG_DWORD_LITTLE_ENDIAN, 42 + REG_DWORD_BIG_ENDIAN, 43 + REG_LINK, 44 + REG_MULTI_SZ, 45 + REG_RESOURCE_LIST, 46 + REG_FULL_RESOURCE_DESCRIPTOR, 47 + REG_RESOURCE_REQUIREMENTS_LIST, 48 + REG_QWORD_LITTLE_ENDIAN, 49 + REG_QWORD = REG_QWORD_LITTLE_ENDIAN 50 +} 51 + 52 +const DWORD 53 + REG_NOTIFY_CHANGE_NAME = 1, 54 + REG_NOTIFY_CHANGE_ATTRIBUTES = 2, 55 + REG_NOTIFY_CHANGE_LAST_SET = 4, 56 + REG_NOTIFY_CHANGE_SECURITY = 8; 22 57 23 58 alias ACCESS_MASK REGSAM; 24 59 25 -const HKEY HKEY_CLASSES_ROOT = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000000) ; 26 -const HKEY HKEY_CURRENT_USER = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000001) ; 27 -const HKEY HKEY_LOCAL_MACHINE = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000002) ; 28 -const HKEY HKEY_USERS = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000003) ; 29 -const HKEY HKEY_PERFORMANCE_DATA = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000004) ; 30 -const HKEY HKEY_PERFORMANCE_TEXT = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000050) ; 31 -const HKEY HKEY_PERFORMANCE_NLSTEXT = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000060) ; 32 -// #if(WINVER >= 0x0400) 33 -const HKEY HKEY_CURRENT_CONFIG = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000005) ; 34 -const HKEY HKEY_DYN_DATA = cast(HKEY)cast(ULONG_PTR)(cast(LONG)0x80000006) ; 60 +struct VALENTA { 61 + LPSTR ve_valuename; 62 + DWORD ve_valuelen; 63 + DWORD ve_valueptr; 64 + DWORD ve_type; 65 +} 66 +alias VALENTA* PVALENTA; 67 + 68 +struct VALENTW { 69 + LPWSTR ve_valuename; 70 + DWORD ve_valuelen; 71 + DWORD ve_valueptr; 72 + DWORD ve_type; 73 +} 74 +alias VALENTW* PVALENTW; 35 75 36 -// #ifndef _PROVIDER_STRUCTS_DEFINED 37 -// #define _PROVIDER_STRUCTS_DEFINED 38 - 39 -enum : uint { PROVIDER_KEEPS_VALUE_LENGTH = 0x1 } 40 -struct val_context { 41 - int valuelen; 42 - LPVOID value_context; 43 - LPVOID val_buff_ptr; 76 +// RRF - Registry Routine Flags (for RegGetValue) 77 +static if (WINVER >= 0x600) { 78 + enum : DWORD { 79 + RRF_RT_REG_NONE = 0x00000001, 80 + RRF_RT_REG_SZ = 0x00000002, 81 + RRF_RT_REG_EXPAND_SZ = 0x00000004, 82 + RRF_RT_REG_BINARY = 0x00000008, 83 + RRF_RT_REG_DWORD = 0x00000010, 84 + RRF_RT_REG_MULTI_SZ = 0x00000020, 85 + RRF_RT_REG_QWORD = 0x00000040, 86 + RRF_RT_DWORD = RRF_RT_REG_BINARY | RRF_RT_REG_DWORD, 87 + RRF_RT_QWORD = RRF_RT_REG_BINARY | RRF_RT_REG_QWORD, 88 + RRF_RT_ANY = 0x0000FFFF, 89 + RRF_NOEXPAND = 0x10000000, 90 + RRF_ZEROONFAILURE = 0x20000000 91 + } 44 92 } 45 93 46 -alias val_context* PVALCONTEXT; 94 +extern (Windows) { 95 + LONG RegCloseKey(HKEY); 96 + LONG RegConnectRegistryA(LPCSTR, HKEY, PHKEY); 97 + LONG RegConnectRegistryW(LPCWSTR, HKEY, PHKEY); 98 + LONG RegCreateKeyExA(HKEY, LPCSTR, DWORD, LPSTR, DWORD, REGSAM, 99 + LPSECURITY_ATTRIBUTES, PHKEY, PDWORD); 100 + LONG RegCreateKeyExW(HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM, 101 + LPSECURITY_ATTRIBUTES, PHKEY, PDWORD); 102 + LONG RegDeleteKeyA(HKEY, LPCSTR); 103 + LONG RegDeleteKeyW(HKEY, LPCWSTR); 104 + LONG RegDeleteValueA(HKEY, LPCSTR); 105 + LONG RegDeleteValueW(HKEY, LPCWSTR); 106 + LONG RegEnumKeyExA(HKEY, DWORD, LPSTR, PDWORD, PDWORD, LPSTR, PDWORD, 107 + PFILETIME); 108 + LONG RegEnumKeyExW(HKEY, DWORD, LPWSTR, PDWORD, PDWORD, LPWSTR, PDWORD, 109 + PFILETIME); 110 + LONG RegEnumValueA(HKEY, DWORD, LPSTR, PDWORD, PDWORD, PDWORD, LPBYTE, 111 + PDWORD); 112 + LONG RegEnumValueW(HKEY, DWORD, LPWSTR, PDWORD, PDWORD, PDWORD, LPBYTE, 113 + PDWORD); 114 + LONG RegFlushKey(HKEY); 115 + LONG RegLoadKeyA(HKEY, LPCSTR, LPCSTR); 116 + LONG RegLoadKeyW(HKEY, LPCWSTR, LPCWSTR); 117 + LONG RegOpenKeyExA(HKEY, LPCSTR, DWORD, REGSAM, PHKEY); 118 + LONG RegOpenKeyExW(HKEY, LPCWSTR, DWORD, REGSAM, PHKEY); 119 + LONG RegQueryInfoKeyA(HKEY, LPSTR, PDWORD, PDWORD, PDWORD, PDWORD, 120 + PDWORD, PDWORD, PDWORD, PDWORD, PDWORD, PFILETIME); 121 + LONG RegQueryInfoKeyW(HKEY, LPWSTR, PDWORD, PDWORD, PDWORD, PDWORD, 122 + PDWORD, PDWORD, PDWORD, PDWORD, PDWORD, PFILETIME); 123 + LONG RegQueryMultipleValuesA(HKEY, PVALENTA, DWORD, LPSTR, LPDWORD); 124 + LONG RegQueryMultipleValuesW(HKEY, PVALENTW, DWORD, LPWSTR, LPDWORD); 125 + LONG RegQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD); 126 + LONG RegQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD); 127 + LONG RegReplaceKeyA(HKEY, LPCSTR, LPCSTR, LPCSTR); 128 + LONG RegReplaceKeyW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR); 129 + LONG RegSaveKeyA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES); 130 + LONG RegSaveKeyW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES); 131 + LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 132 + LONG RegSetValueExA(HKEY, LPCSTR, DWORD, DWORD, CPtr!(BYTE), DWORD); 133 + LONG RegSetValueExW(HKEY, LPCWSTR, DWORD, DWORD, CPtr!(BYTE), DWORD); 134 + LONG RegUnLoadKeyA(HKEY, LPCSTR); 135 + LONG RegUnLoadKeyW(HKEY, LPCWSTR); 136 + static if (_WIN32_WINDOWS >= 0x410) { 137 + LONG RegNotifyChangeKeyValue(HKEY, BOOL, DWORD, HANDLE, BOOL); 138 + } 139 + 140 + static if (_WIN32_WINNT_ONLY) { 141 + BOOL AbortSystemShutdownA(LPCSTR); 142 + BOOL AbortSystemShutdownW(LPCWSTR); 143 + BOOL InitiateSystemShutdownA(LPSTR, LPSTR, DWORD, BOOL, BOOL); 144 + BOOL InitiateSystemShutdownW(LPWSTR, LPWSTR, DWORD, BOOL, BOOL); 145 + LONG RegGetKeySecurity(HKEY, SECURITY_INFORMATION, 146 + PSECURITY_DESCRIPTOR, PDWORD); 147 + LONG RegRestoreKeyA(HKEY, LPCSTR, DWORD); 148 + LONG RegRestoreKeyW(HKEY, LPCWSTR, DWORD); 149 + LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, 150 + PSECURITY_DESCRIPTOR); 47 151 48 -struct pvalueA { 49 - LPSTR pv_valuename; 50 - int pv_valuelen; 51 - LPVOID pv_value_context; 52 - DWORD pv_type; 53 -} 54 -alias pvalueA PVALUEA; 55 -alias pvalueA* PPVALUEA; 152 + static if (_WIN32_WINNT >= 0x500) { 153 + LONG RegDisablePredefinedCache(); 154 + LONG RegOpenCurrentUser(REGSAM, PHKEY); 155 + LONG RegOpenUserClassesRoot(HANDLE, DWORD, REGSAM, PHKEY); 156 + } 56 157 57 -struct pvalueW { 58 - LPWSTR pv_valuename; 59 - int pv_valuelen; 60 - LPVOID pv_value_context; 61 - DWORD pv_type; 62 -} 63 -alias pvalueW PVALUEW; 64 -alias pvalueW* PPVALUEW; 158 + static if (_WIN32_WINNT >= 0x501) { 159 + LONG RegSaveKeyExA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES, DWORD); 160 + LONG RegSaveKeyExW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES, DWORD); 161 + } 65 162 66 -// #ifdef UNICODE 67 -alias PVALUEW PVALUE; 68 -alias PPVALUEW PPVALUE; 69 -// #else 70 -// ... 71 -// #endif // UNICODE 163 + static if (_WIN32_WINNT >= 0x600) { 164 + LONG RegGetValueA(HKEY hkey, LPCSTR lpSubKey, LPCSTR lpValue, 165 + DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData); 166 + LONG RegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, 167 + DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData); 168 + } 169 + } 72 170 73 -// typedef DWORD _cdecl QUERYHANDLER (LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals, LPVOID outputbuffer, DWORD FAR *total_outlen, DWORD input_blen); 74 - 75 -extern(Windows) alias DWORD function(LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals, LPVOID outputbuffer, DWORD* total_outlen, DWORD input_blen) PQUERYHANDLER; 76 - 77 -struct provider_info { 78 - PQUERYHANDLER pi_R0_1val; 79 - PQUERYHANDLER pi_R0_allvals; 80 - PQUERYHANDLER pi_R3_1val; 81 - PQUERYHANDLER pi_R3_allvals; 82 - DWORD pi_flags; 83 - LPVOID pi_key_context; 84 -} 85 -alias provider_info REG_PROVIDER; 86 - 87 -alias provider_info* PPROVIDER; 88 - 89 -struct value_entA { 90 - LPSTR ve_valuename; 91 - DWORD ve_valuelen; 92 - DWORD_PTR ve_valueptr; 93 - DWORD ve_type; 171 + deprecated { 172 + LONG RegCreateKeyA(HKEY, LPCSTR, PHKEY); 173 + LONG RegCreateKeyW(HKEY, LPCWSTR, PHKEY); 174 + LONG RegEnumKeyA(HKEY, DWORD, LPSTR, DWORD); 175 + LONG RegEnumKeyW(HKEY, DWORD, LPWSTR, DWORD); 176 + LONG RegOpenKeyA(HKEY, LPCSTR, PHKEY); 177 + LONG RegOpenKeyW(HKEY, LPCWSTR, PHKEY); 178 + LONG RegQueryValueA(HKEY, LPCSTR, LPSTR, PLONG); 179 + LONG RegQueryValueW(HKEY, LPCWSTR, LPWSTR, PLONG); 180 + LONG RegSetValueA(HKEY, LPCSTR, DWORD, LPCSTR, DWORD); 181 + LONG RegSetValueW(HKEY, LPCWSTR, DWORD, LPCWSTR, DWORD); 182 + } 94 183 } 95 -alias value_entA VALENTA; 96 -alias value_entA* PVALENTA; 97 184 98 -struct value_entW { 99 - LPWSTR ve_valuename; 100 - DWORD ve_valuelen; 101 - DWORD_PTR ve_valueptr; 102 - DWORD ve_type; 103 -} 104 -alias value_entW VALENTW; 105 -alias value_entW* PVALENTW; 106 - 107 -// #ifdef UNICODE 108 -alias VALENTW VALENT; 109 -alias PVALENTW PVALENT; 110 -// #else 111 -// ... 112 -// #endif // UNICODE 113 - 114 -// #endif // not(_PROVIDER_STRUCTS_DEFINED) 115 - 116 -// #endif /* WINVER >= 0x0400 */ 117 - 118 -alias NULL WIN31_CLASS; 119 - 120 -extern(Windows) export LONG RegCloseKey( 121 - HKEY hKey); 122 - 123 -extern(Windows) export LONG RegOverridePredefKey( 124 - HKEY hKey, 125 - HKEY hNewHKey); 126 - 127 -extern(Windows) export LONG RegOpenUserClassesRoot( 128 - HANDLE hToken, 129 - DWORD dwOptions, 130 - REGSAM samDesired, 131 - PHKEY phkResult); 132 - 133 -extern(Windows) export LONG RegOpenCurrentUser( 134 - REGSAM samDesired, 135 - PHKEY phkResult); 136 - 137 -extern(Windows) export LONG RegDisablePredefinedCache(); 138 - 139 -extern(Windows) export LONG RegConnectRegistryA( 140 - LPCSTR lpMachineName, 141 - HKEY hKey, 142 - PHKEY phkResult); 143 -extern(Windows) export LONG RegConnectRegistryW( 144 - LPCWSTR lpMachineName, 145 - HKEY hKey, 146 - PHKEY phkResult); 147 -// #ifdef UNICODE 148 -alias RegConnectRegistryW RegConnectRegistry; 149 -// #else 150 -// #... 151 -// #endif // !UNICODE 185 +version (Unicode) { 186 + alias VALENTW VALENT; 187 + alias RegConnectRegistryW RegConnectRegistry; 188 + alias RegCreateKeyExW RegCreateKeyEx; 189 + alias RegDeleteKeyW RegDeleteKey; 190 + alias RegDeleteValueW RegDeleteValue; 191 + alias RegEnumKeyExW RegEnumKeyEx; 192 + alias RegEnumValueW RegEnumValue; 193 + alias RegLoadKeyW RegLoadKey; 194 + alias RegOpenKeyExW RegOpenKeyEx; 195 + alias RegQueryInfoKeyW RegQueryInfoKey; 196 + alias RegQueryMultipleValuesW RegQueryMultipleValues; 197 + alias RegQueryValueExW RegQueryValueEx; 198 + alias RegReplaceKeyW RegReplaceKey; 199 + alias RegSaveKeyW RegSaveKey; 200 + alias RegSetValueExW RegSetValueEx; 201 + alias RegUnLoadKeyW RegUnLoadKey; 152 202 153 -extern(Windows) export LONG RegCreateKeyA( 154 - HKEY hKey, 155 - LPCSTR lpSubKey, 156 - PHKEY phkResult); 157 -extern(Windows) export LONG RegCreateKeyW( 158 - HKEY hKey, 159 - LPCWSTR lpSubKey, 160 - PHKEY phkResult); 161 -// #ifdef UNICODE 162 -alias RegCreateKeyW RegCreateKey; 163 -// #else 164 -// #... 165 -// #endif // !UNICODE 166 - 167 -extern(Windows) export LONG RegCreateKeyExA( 168 - HKEY hKey, 169 - LPCSTR lpSubKey, 170 - DWORD Reserved, 171 - LPSTR lpClass, 172 - DWORD dwOptions, 173 - REGSAM samDesired, 174 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 175 - PHKEY phkResult, 176 - LPDWORD lpdwDisposition); 177 -extern(Windows) export LONG RegCreateKeyExW( 178 - HKEY hKey, 179 - LPCWSTR lpSubKey, 180 - DWORD Reserved, 181 - LPWSTR lpClass, 182 - DWORD dwOptions, 183 - REGSAM samDesired, 184 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 185 - PHKEY phkResult, 186 - LPDWORD lpdwDisposition); 187 -// #ifdef UNICODE 188 -alias RegCreateKeyExW RegCreateKeyEx; 189 -// #else 190 -// #... 191 -// #endif // !UNICODE 192 - 193 -extern(Windows) export LONG RegDeleteKeyA( 194 - HKEY hKey, 195 - LPCSTR lpSubKey); 196 -extern(Windows) export LONG RegDeleteKeyW( 197 - HKEY hKey, 198 - LPCWSTR lpSubKey); 199 -// #ifdef UNICODE 200 -alias RegDeleteKeyW RegDeleteKey; 201 -// #else 202 -// #... 203 -// #endif // !UNICODE 204 - 205 -extern(Windows) export LONG RegDeleteValueA( 206 - HKEY hKey, 207 - LPCSTR lpValueName); 208 -extern(Windows) export LONG RegDeleteValueW( 209 - HKEY hKey, 210 - LPCWSTR lpValueName); 211 -// #ifdef UNICODE 212 -alias RegDeleteValueW RegDeleteValue; 213 -// #else 214 -// #... 215 -// #endif // !UNICODE 216 - 217 -extern(Windows) export LONG RegEnumKeyA( 218 - HKEY hKey, 219 - DWORD dwIndex, 220 - LPSTR lpName, 221 - DWORD cbName); 222 -extern(Windows) export LONG RegEnumKeyW( 223 - HKEY hKey, 224 - DWORD dwIndex, 225 - LPWSTR lpName, 226 - DWORD cbName); 227 -// #ifdef UNICODE 228 -alias RegEnumKeyW RegEnumKey; 229 -// #else 230 -// #... 231 -// #endif // !UNICODE 232 - 233 -extern(Windows) export LONG RegEnumKeyExA( 234 - HKEY hKey, 235 - DWORD dwIndex, 236 - LPSTR lpName, 237 - LPDWORD lpcbName, 238 - LPDWORD lpReserved, 239 - LPSTR lpClass, 240 - LPDWORD lpcbClass, 241 - PFILETIME lpftLastWriteTime); 242 -extern(Windows) export LONG RegEnumKeyExW( 243 - HKEY hKey, 244 - DWORD dwIndex, 245 - LPWSTR lpName, 246 - LPDWORD lpcbName, 247 - LPDWORD lpReserved, 248 - LPWSTR lpClass, 249 - LPDWORD lpcbClass, 250 - PFILETIME lpftLastWriteTime); 251 -// #ifdef UNICODE 252 -alias RegEnumKeyExW RegEnumKeyEx; 253 -// #else 254 -// #... 255 -// #endif // !UNICODE 256 - 257 -extern(Windows) export LONG RegEnumValueA( 258 - HKEY hKey, 259 - DWORD dwIndex, 260 - LPSTR lpValueName, 261 - LPDWORD lpcbValueName, 262 - LPDWORD lpReserved, 263 - LPDWORD lpType, 264 - LPBYTE lpData, 265 - LPDWORD lpcbData); 266 -extern(Windows) export LONG RegEnumValueW( 267 - HKEY hKey, 268 - DWORD dwIndex, 269 - LPWSTR lpValueName, 270 - LPDWORD lpcbValueName, 271 - LPDWORD lpReserved, 272 - LPDWORD lpType, 273 - LPBYTE lpData, 274 - LPDWORD lpcbData); 275 -// #ifdef UNICODE 276 -alias RegEnumValueW RegEnumValue; 277 -// #else 278 -// #... 279 -// #endif // !UNICODE 203 + static if (_WIN32_WINNT_ONLY) { 204 + alias AbortSystemShutdownW AbortSystemShutdown; 205 + alias InitiateSystemShutdownW InitiateSystemShutdown; 206 + alias RegRestoreKeyW RegRestoreKey; 207 + static if (_WIN32_WINNT >= 0x501) { 208 + alias RegSaveKeyExA RegSaveKeyEx; 209 + } 210 + static if (_WIN32_WINNT >= 0x600) { 211 + alias RegGetValueW RegGetValue; 212 + } 213 + } 214 + deprecated { 215 + alias RegCreateKeyW RegCreateKey; 216 + alias RegEnumKeyW RegEnumKey; 217 + alias RegOpenKeyW RegOpenKey; 218 + alias RegQueryValueW RegQueryValue; 219 + alias RegSetValueW RegSetValue; 220 + } 221 +} else { 222 + alias VALENTA VALENT; 223 + alias RegConnectRegistryA RegConnectRegistry; 224 + alias RegCreateKeyExA RegCreateKeyEx; 225 + alias RegDeleteKeyA RegDeleteKey; 226 + alias RegDeleteValueA RegDeleteValue; 227 + alias RegEnumKeyExA RegEnumKeyEx; 228 + alias RegEnumValueA RegEnumValue; 229 + alias RegLoadKeyA RegLoadKey; 230 + alias RegOpenKeyExA RegOpenKeyEx; 231 + alias RegQueryInfoKeyA RegQueryInfoKey; 232 + alias RegQueryMultipleValuesA RegQueryMultipleValues; 233 + alias RegQueryValueExA RegQueryValueEx; 234 + alias RegReplaceKeyA RegReplaceKey; 235 + alias RegSaveKeyA RegSaveKey; 236 + alias RegSetValueExA RegSetValueEx; 237 + alias RegUnLoadKeyA RegUnLoadKey; 238 + static if (_WIN32_WINNT_ONLY) { 239 + alias AbortSystemShutdownA AbortSystemShutdown; 240 + alias InitiateSystemShutdownA InitiateSystemShutdown; 241 + alias RegRestoreKeyW RegRestoreKey; 242 + static if (_WIN32_WINNT >= 0x501) { 243 + alias RegSaveKeyExA RegSaveKeyEx; 244 + } 245 + static if (_WIN32_WINNT >= 0x600) { 246 + alias RegGetValueA RegGetValue; 247 + } 248 + } 249 + deprecated { 250 + alias RegCreateKeyA RegCreateKey; 251 + alias RegEnumKeyA RegEnumKey; 252 + alias RegOpenKeyA RegOpenKey; 253 + alias RegQueryValueA RegQueryValue; 254 + alias RegSetValueA RegSetValue; 255 + } 256 +} 280 257 281 -extern(Windows) export LONG RegFlushKey( 282 - HKEY hKey); 283 - 284 -extern(Windows) export LONG RegGetKeySecurity( 285 - HKEY hKey, 286 - SECURITY_INFORMATION SecurityInformation, 287 - PSECURITY_DESCRIPTOR pSecurityDescriptor, 288 - LPDWORD lpcbSecurityDescriptor); 289 - 290 -extern(Windows) export LONG RegLoadKeyA( 291 - HKEY hKey, 292 - LPCSTR lpSubKey, 293 - LPCSTR lpFile); 294 -extern(Windows) export LONG RegLoadKeyW( 295 - HKEY hKey, 296 - LPCWSTR lpSubKey, 297 - LPCWSTR lpFile); 298 -// #ifdef UNICODE 299 -alias RegLoadKeyW RegLoadKey; 300 -// #else 301 -// #... 302 -// #endif // !UNICODE 303 - 304 -extern(Windows) export LONG RegNotifyChangeKeyValue( 305 - HKEY hKey, 306 - BOOL bWatchSubtree, 307 - DWORD dwNotifyFilter, 308 - HANDLE hEvent, 309 - BOOL fAsynchronus); 310 - 311 -extern(Windows) export LONG RegOpenKeyA( 312 - HKEY hKey, 313 - LPCSTR lpSubKey, 314 - PHKEY phkResult); 315 -extern(Windows) export LONG RegOpenKeyW( 316 - HKEY hKey, 317 - LPCWSTR lpSubKey, 318 - PHKEY phkResult); 319 -// #ifdef UNICODE 320 -alias RegOpenKeyW RegOpenKey; 321 -// #else 322 -// #... 323 -// #endif // !UNICODE 324 - 325 -extern(Windows) export LONG RegOpenKeyExA( 326 - HKEY hKey, 327 - LPCSTR lpSubKey, 328 - DWORD ulOptions, 329 - REGSAM samDesired, 330 - PHKEY phkResult); 331 -extern(Windows) export LONG RegOpenKeyExW( 332 - HKEY hKey, 333 - LPCWSTR lpSubKey, 334 - DWORD ulOptions, 335 - REGSAM samDesired, 336 - PHKEY phkResult); 337 -// #ifdef UNICODE 338 -alias RegOpenKeyExW RegOpenKeyEx; 339 -// #else 340 -// #... 341 -// #endif // !UNICODE 342 - 343 -extern(Windows) export LONG RegQueryInfoKeyA( 344 - HKEY hKey, 345 - LPSTR lpClass, 346 - LPDWORD lpcbClass, 347 - LPDWORD lpReserved, 348 - LPDWORD lpcSubKeys, 349 - LPDWORD lpcbMaxSubKeyLen, 350 - LPDWORD lpcbMaxClassLen, 351 - LPDWORD lpcValues, 352 - LPDWORD lpcbMaxValueNameLen, 353 - LPDWORD lpcbMaxValueLen, 354 - LPDWORD lpcbSecurityDescriptor, 355 - PFILETIME lpftLastWriteTime); 356 -extern(Windows) export LONG RegQueryInfoKeyW( 357 - HKEY hKey, 358 - LPWSTR lpClass, 359 - LPDWORD lpcbClass, 360 - LPDWORD lpReserved, 361 - LPDWORD lpcSubKeys, 362 - LPDWORD lpcbMaxSubKeyLen, 363 - LPDWORD lpcbMaxClassLen, 364 - LPDWORD lpcValues, 365 - LPDWORD lpcbMaxValueNameLen, 366 - LPDWORD lpcbMaxValueLen, 367 - LPDWORD lpcbSecurityDescriptor, 368 - PFILETIME lpftLastWriteTime); 369 -// #ifdef UNICODE 370 -alias RegQueryInfoKeyW RegQueryInfoKey; 371 -// #else 372 -// #... 373 -// #endif // !UNICODE 374 - 375 -extern(Windows) export LONG RegQueryValueA( 376 - HKEY hKey, 377 - LPCSTR lpSubKey, 378 - LPSTR lpValue, 379 - PLONG lpcbValue); 380 -extern(Windows) export LONG RegQueryValueW( 381 - HKEY hKey, 382 - LPCWSTR lpSubKey, 383 - LPWSTR lpValue, 384 - PLONG lpcbValue); 385 -// #ifdef UNICODE 386 -alias RegQueryValueW RegQueryValue; 387 -// #else 388 -// #... 389 -// #endif // !UNICODE 390 - 391 -// #if(WINVER >= 0x0400) 392 -extern(Windows) export LONG RegQueryMultipleValuesA( 393 - HKEY hKey, 394 - PVALENTA val_list, 395 - DWORD num_vals, 396 - LPSTR lpValueBuf, 397 - LPDWORD ldwTotsize); 398 -extern(Windows) export LONG RegQueryMultipleValuesW( 399 - HKEY hKey, 400 - PVALENTW val_list, 401 - DWORD num_vals, 402 - LPWSTR lpValueBuf, 403 - LPDWORD ldwTotsize); 404 -// #ifdef UNICODE 405 -alias RegQueryMultipleValuesW RegQueryMultipleValues; 406 -// #else 407 -// #... 408 -// #endif // !UNICODE 409 -// #endif /* WINVER >= 0x0400 */ 410 - 411 -extern(Windows) export LONG RegQueryValueExA( 412 - HKEY hKey, 413 - LPCSTR lpValueName, 414 - LPDWORD lpReserved, 415 - LPDWORD lpType, 416 - LPBYTE lpData, 417 - LPDWORD lpcbData); 418 -extern(Windows) export LONG RegQueryValueExW( 419 - HKEY hKey, 420 - LPCWSTR lpValueName, 421 - LPDWORD lpReserved, 422 - LPDWORD lpType, 423 - LPBYTE lpData, 424 - LPDWORD lpcbData); 425 -// #ifdef UNICODE 426 -alias RegQueryValueExW RegQueryValueEx; 427 -// #else 428 -// #... 429 -// #endif // !UNICODE 430 - 431 -extern(Windows) export LONG RegReplaceKeyA( 432 - HKEY hKey, 433 - LPCSTR lpSubKey, 434 - LPCSTR lpNewFile, 435 - LPCSTR lpOldFile); 436 -extern(Windows) export LONG RegReplaceKeyW( 437 - HKEY hKey, 438 - LPCWSTR lpSubKey, 439 - LPCWSTR lpNewFile, 440 - LPCWSTR lpOldFile); 441 -// #ifdef UNICODE 442 -alias RegReplaceKeyW RegReplaceKey; 443 -// #else 444 -// #... 445 -// #endif // !UNICODE 446 - 447 -extern(Windows) export LONG RegRestoreKeyA( 448 - HKEY hKey, 449 - LPCSTR lpFile, 450 - DWORD dwFlags); 451 -extern(Windows) export LONG RegRestoreKeyW( 452 - HKEY hKey, 453 - LPCWSTR lpFile, 454 - DWORD dwFlags); 455 -// #ifdef UNICODE 456 -alias RegRestoreKeyW RegRestoreKey; 457 -// #else 458 -// #... 459 -// #endif // !UNICODE 460 - 461 -extern(Windows) export LONG RegSaveKeyA( 462 - HKEY hKey, 463 - LPCSTR lpFile, 464 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 465 -extern(Windows) export LONG RegSaveKeyW( 466 - HKEY hKey, 467 - LPCWSTR lpFile, 468 - LPSECURITY_ATTRIBUTES lpSecurityAttributes); 469 -// #ifdef UNICODE 470 -alias RegSaveKeyW RegSaveKey; 471 -// #else 472 -// #... 473 -// #endif // !UNICODE 474 - 475 -extern(Windows) export LONG RegSetKeySecurity( 476 - HKEY hKey, 477 - SECURITY_INFORMATION SecurityInformation, 478 - PSECURITY_DESCRIPTOR pSecurityDescriptor); 479 - 480 -extern(Windows) export LONG RegSetValueA( 481 - HKEY hKey, 482 - LPCSTR lpSubKey, 483 - DWORD dwType, 484 - LPCSTR lpData, 485 - DWORD cbData); 486 -extern(Windows) export LONG RegSetValueW( 487 - HKEY hKey, 488 - LPCWSTR lpSubKey, 489 - DWORD dwType, 490 - LPCWSTR lpData, 491 - DWORD cbData); 492 -// #ifdef UNICODE 493 -alias RegSetValueW RegSetValue; 494 -// #else 495 -// #... 496 -// #endif // !UNICODE 497 - 498 -extern(Windows) export LONG RegSetValueExA( 499 - HKEY hKey, 500 - LPCSTR lpValueName, 501 - DWORD Reserved, 502 - DWORD dwType, 503 - BYTE* lpData, 504 - DWORD cbData); 505 -extern(Windows) export LONG RegSetValueExW( 506 - HKEY hKey, 507 - LPCWSTR lpValueName, 508 - DWORD Reserved, 509 - DWORD dwType, 510 - BYTE* lpData, 511 - DWORD cbData); 512 -// #ifdef UNICODE 513 -alias RegSetValueExW RegSetValueEx; 514 -// #else 515 -// #... 516 -// #endif // !UNICODE 517 - 518 -extern(Windows) export LONG RegUnLoadKeyA( 519 - HKEY hKey, 520 - LPCSTR lpSubKey); 521 -extern(Windows) export LONG RegUnLoadKeyW( 522 - HKEY hKey, 523 - LPCWSTR lpSubKey); 524 -// #ifdef UNICODE 525 -alias RegUnLoadKeyW RegUnLoadKey; 526 -// #else 527 -// #... 528 -// #endif // !UNICODE 529 - 530 -extern(Windows) export BOOL InitiateSystemShutdownA( 531 - LPSTR lpMachineName, 532 - LPSTR lpMessage, 533 - DWORD dwTimeout, 534 - BOOL bForceAppsClosed, 535 - BOOL bRebootAfterShutdown); 536 -extern(Windows) export BOOL InitiateSystemShutdownW( 537 - LPWSTR lpMachineName, 538 - LPWSTR lpMessage, 539 - DWORD dwTimeout, 540 - BOOL bForceAppsClosed, 541 - BOOL bRebootAfterShutdown); 542 -// #ifdef UNICODE 543 -alias InitiateSystemShutdownW InitiateSystemShutdown; 544 -// #else 545 -// #... 546 -// #endif // !UNICODE 547 - 548 -extern(Windows) export BOOL AbortSystemShutdownA( 549 - LPSTR lpMachineName); 550 -extern(Windows) export BOOL AbortSystemShutdownW( 551 - LPWSTR lpMachineName); 552 -// #ifdef UNICODE 553 -alias AbortSystemShutdownW AbortSystemShutdown; 554 -// #else 555 -// #... 556 -// #endif // !UNICODE 557 - 558 -// inline #include <reason.h> 559 -// ---- 560 - 561 -// #if !defined SENTINEL_Reason 562 -// # define SENTINEL_Reason 563 - 564 -enum : uint { SHTDN_REASON_FLAG_COMMENT_REQUIRED = 0x01000000 } 565 -enum : uint { SHTDN_REASON_FLAG_DIRTY_PROBLEM_ID_REQUIRED = 0x02000000 } 566 -enum : uint { SHTDN_REASON_FLAG_CLEAN_UI = 0x04000000 } 567 -enum : uint { SHTDN_REASON_FLAG_DIRTY_UI = 0x08000000 } 568 - 569 -enum : uint { SHTDN_REASON_FLAG_USER_DEFINED = 0x40000000 } 570 -enum : uint { SHTDN_REASON_FLAG_PLANNED = 0x80000000 } 571 - 572 -enum : uint { SHTDN_REASON_MAJOR_OTHER = 0x00000000 } 573 -enum : uint { SHTDN_REASON_MAJOR_NONE = 0x00000000 } 574 -enum : uint { SHTDN_REASON_MAJOR_HARDWARE = 0x00010000 } 575 -enum : uint { SHTDN_REASON_MAJOR_OPERATINGSYSTEM = 0x00020000 } 576 -enum : uint { SHTDN_REASON_MAJOR_SOFTWARE = 0x00030000 } 577 -enum : uint { SHTDN_REASON_MAJOR_APPLICATION = 0x00040000 } 578 -enum : uint { SHTDN_REASON_MAJOR_SYSTEM = 0x00050000 } 579 -enum : uint { SHTDN_REASON_MAJOR_POWER = 0x00060000 } 580 - 581 -enum : uint { SHTDN_REASON_MINOR_OTHER = 0x00000000 } 582 -enum : uint { SHTDN_REASON_MINOR_NONE = 0x000000ff } 583 -enum : uint { SHTDN_REASON_MINOR_MAINTENANCE = 0x00000001 } 584 -enum : uint { SHTDN_REASON_MINOR_INSTALLATION = 0x00000002 } 585 -enum : uint { SHTDN_REASON_MINOR_UPGRADE = 0x00000003 } 586 -enum : uint { SHTDN_REASON_MINOR_RECONFIG = 0x00000004 } 587 -enum : uint { SHTDN_REASON_MINOR_HUNG = 0x00000005 } 588 -enum : uint { SHTDN_REASON_MINOR_UNSTABLE = 0x00000006 } 589 -enum : uint { SHTDN_REASON_MINOR_DISK = 0x00000007 } 590 -enum : uint { SHTDN_REASON_MINOR_PROCESSOR = 0x00000008 } 591 -enum : uint { SHTDN_REASON_MINOR_NETWORKCARD = 0x00000009 } 592 -enum : uint { SHTDN_REASON_MINOR_POWER_SUPPLY = 0x0000000a } 593 -enum : uint { SHTDN_REASON_MINOR_CORDUNPLUGGED = 0x0000000b } 594 -enum : uint { SHTDN_REASON_MINOR_ENVIRONMENT = 0x0000000c } 595 -enum : uint { SHTDN_REASON_MINOR_HARDWARE_DRIVER = 0x0000000d } 596 -enum : uint { SHTDN_REASON_MINOR_OTHERDRIVER = 0x0000000e } 597 -enum : uint { SHTDN_REASON_MINOR_BLUESCREEN = 0x0000000F } 598 - 599 -alias SHTDN_REASON_MINOR_NONE SHTDN_REASON_UNKNOWN; 600 - 601 -enum : uint { SHTDN_REASON_VALID_BIT_MASK = 0xc0ffffff } 602 - 603 -enum : uint { PCLEANUI = SHTDN_REASON_FLAG_PLANNED | SHTDN_REASON_FLAG_CLEAN_UI } 604 -enum : uint { UCLEANUI = SHTDN_REASON_FLAG_CLEAN_UI } 605 -enum : uint { UDIRTYUI = SHTDN_REASON_FLAG_DIRTY_UI } 606 - 607 -enum : uint { MAX_REASON_NAME_LEN = 64 } 608 -enum : uint { MAX_REASON_DESC_LEN = 256 } 609 -enum : uint { MAX_REASON_BUGID_LEN = 32 } 610 -enum : uint { MAX_REASON_COMMENT_LEN = 4096 } 611 - 612 -// #endif // !defined SENTINEL_Reason 613 -// ---- 614 - 615 -enum : uint { REASON_SWINSTALL = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_INSTALLATION } 616 -enum : uint { REASON_HWINSTALL = SHTDN_REASON_MAJOR_HARDWARE | SHTDN_REASON_MINOR_INSTALLATION } 617 -enum : uint { REASON_SERVICEHANG = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_HUNG } 618 -enum : uint { REASON_UNSTABLE = SHTDN_REASON_MAJOR_SYSTEM | SHTDN_REASON_MINOR_UNSTABLE } 619 -enum : uint { REASON_SWHWRECONF = SHTDN_REASON_MAJOR_SOFTWARE | SHTDN_REASON_MINOR_RECONFIG } 620 -enum : uint { REASON_OTHER = SHTDN_REASON_MAJOR_OTHER | SHTDN_REASON_MINOR_OTHER } 621 -alias SHTDN_REASON_UNKNOWN REASON_UNKNOWN; 622 -alias SHTDN_REASON_FLAG_PLANNED REASON_PLANNED_FLAG; 623 - 624 -extern(Windows) export BOOL InitiateSystemShutdownExA( 625 - LPSTR lpMachineName, 626 - LPSTR lpMessage, 627 - DWORD dwTimeout, 628 - BOOL bForceAppsClosed, 629 - BOOL bRebootAfterShutdown, 630 - DWORD dwReason); 631 -extern(Windows) export BOOL InitiateSystemShutdownExW( 632 - LPWSTR lpMachineName, 633 - LPWSTR lpMessage, 634 - DWORD dwTimeout, 635 - BOOL bForceAppsClosed, 636 - BOOL bRebootAfterShutdown, 637 - DWORD dwReason); 638 -// #ifdef UNICODE 639 -alias InitiateSystemShutdownExW InitiateSystemShutdownEx; 640 -// #else 641 -// #... 642 -// #endif // !UNICODE 643 - 644 -extern(Windows) export LONG RegSaveKeyExA( 645 - HKEY hKey, 646 - LPCSTR lpFile, 647 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 648 - DWORD Flags); 649 -extern(Windows) export LONG RegSaveKeyExW( 650 - HKEY hKey, 651 - LPCWSTR lpFile, 652 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, 653 - DWORD Flags); 654 -// #ifdef UNICODE 655 -alias RegSaveKeyExW RegSaveKeyEx; 656 -// #else 657 -// #... 658 -// #endif // !UNICODE 659 - 660 -extern(Windows) export LONG Wow64Win32ApiEntry( 661 - DWORD dwFuncNumber, 662 - DWORD dwFlag, 663 - DWORD dwRes); 664 - 665 -// #ifdef __cplusplus 666 -// } 667 -// #endif 668 - 669 -// #endif // _WINREG_ 670 - 258 +alias VALENT* PVALENT;

Deleted src/win32/winsock.d version [4798081e9cfbad32]

1 -module win32.winsock; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 - 7 -// #ifndef _WINSOCKAPI_ 8 -// #define _WINSOCKAPI_ 9 - 10 -// #if _MSC_VER > 1000 11 -// #pragma once 12 -// #endif 13 - 14 -// #ifndef _INC_WINDOWS 15 -import win32.windows; 16 -// #endif /* _INC_WINDOWS */ 17 - 18 -alias ubyte u_char; 19 -alias ushort u_short; 20 -alias uint u_int; 21 -alias uint u_long; 22 - 23 -alias UINT_PTR SOCKET; 24 - 25 -// #ifndef FD_SETSIZE 26 -enum : uint { FD_SETSIZE = 64 } 27 -// #endif /* FD_SETSIZE */ 28 - 29 -struct fd_set { 30 - u_int fd_count; 31 - SOCKET fd_array[FD_SETSIZE]; 32 -} 33 - 34 -// #ifdef __cplusplus 35 -// extern "C" { 36 -// #endif 37 - 38 -extern(Windows) export int __WSAFDIsSet(SOCKET, fd_set *); 39 - 40 -// #ifdef __cplusplus 41 -// } 42 -// #endif 43 - 44 -// #define FD_CLR(fd, set) do { u_int __i; for (__i = 0; __i < ((fd_set FAR *)(set))->fd_count ; __i++) { if (((fd_set FAR *)(set))->fd_array[__i] == fd) { while (__i < ((fd_set FAR *)(set))->fd_count-1) { ((fd_set FAR *)(set))->fd_array[__i] = ((fd_set FAR *)(set))->fd_array[__i+1]; __i++; } ((fd_set FAR *)(set))->fd_count--; break; } } } while(0) 45 - 46 -void FD_SET(int fd, fd_set* set){ if(set.fd_count < FD_SETSIZE){ set.fd_array[set.fd_count++] = fd; }} 47 - 48 -void FD_ZERO(fd_set* set){ set.fd_count = 0; } 49 - 50 -// #define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR *)(set)) 51 - 52 -struct timeval { 53 - int tv_sec; 54 - int tv_usec; 55 -} 56 - 57 -// #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) 58 -// #define timercmp(tvp, uvp, cmp) ((tvp)->tv_sec cmp (uvp)->tv_sec || (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec) 59 -// #define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 60 - 61 -enum : uint { IOCPARM_MASK = 0x7f } 62 -enum : uint { IOC_VOID = 0x20000000 } 63 -enum : uint { IOC_OUT = 0x40000000 } 64 -enum : uint { IOC_IN = 0x80000000 } 65 -enum : uint { IOC_INOUT = IOC_IN|IOC_OUT } 66 - 67 -// #define _IO(x,y) (IOC_VOID|((x)<<8)|(y)) 68 - 69 -// #define _IOR(x,y,t) (IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) 70 - 71 -// #define _IOW(x,y,t) (IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) 72 - 73 -// #define FIONREAD _IOR('f', 127, u_long) 74 -// #define FIONBIO _IOW('f', 126, u_long) 75 -// #define FIOASYNC _IOW('f', 125, u_long) 76 - 77 -// #define SIOCSHIWAT _IOW('s', 0, u_long) 78 -// #define SIOCGHIWAT _IOR('s', 1, u_long) 79 -// #define SIOCSLOWAT _IOW('s', 2, u_long) 80 -// #define SIOCGLOWAT _IOR('s', 3, u_long) 81 -// #define SIOCATMARK _IOR('s', 7, u_long) 82 - 83 -struct hostent { 84 - char * h_name; 85 - char** h_aliases; 86 - short h_addrtype; 87 - short h_length; 88 - char** h_addr_list; 89 -// #define h_addr h_addr_list[0] 90 -} 91 - 92 -struct netent { 93 - char * n_name; 94 - char** n_aliases; 95 - short n_addrtype; 96 - u_long n_net; 97 -} 98 - 99 -struct servent { 100 - char * s_name; 101 - char** s_aliases; 102 -// #ifdef _WIN64 103 -// ... 104 -// #else 105 - short s_port; 106 - char * s_proto; 107 -// #endif 108 -} 109 - 110 -struct protoent { 111 - char * p_name; 112 - char** p_aliases; 113 - short p_proto; 114 -} 115 - 116 -enum : uint { IPPROTO_IP = 0 } 117 -enum : uint { IPPROTO_ICMP = 1 } 118 -enum : uint { IPPROTO_IGMP = 2 } 119 -enum : uint { IPPROTO_GGP = 3 } 120 -enum : uint { IPPROTO_TCP = 6 } 121 -enum : uint { IPPROTO_PUP = 12 } 122 -enum : uint { IPPROTO_UDP = 17 } 123 -enum : uint { IPPROTO_IDP = 22 } 124 -enum : uint { IPPROTO_ND = 77 } 125 - 126 -enum : uint { IPPROTO_RAW = 255 } 127 -enum : uint { IPPROTO_MAX = 256 } 128 - 129 -enum : uint { IPPORT_ECHO = 7 } 130 -enum : uint { IPPORT_DISCARD = 9 } 131 -enum : uint { IPPORT_SYSTAT = 11 } 132 -enum : uint { IPPORT_DAYTIME = 13 } 133 -enum : uint { IPPORT_NETSTAT = 15 } 134 -enum : uint { IPPORT_FTP = 21 } 135 -enum : uint { IPPORT_TELNET = 23 } 136 -enum : uint { IPPORT_SMTP = 25 } 137 -enum : uint { IPPORT_TIMESERVER = 37 } 138 -enum : uint { IPPORT_NAMESERVER = 42 } 139 -enum : uint { IPPORT_WHOIS = 43 } 140 -enum : uint { IPPORT_MTP = 57 } 141 - 142 -enum : uint { IPPORT_TFTP = 69 } 143 -enum : uint { IPPORT_RJE = 77 } 144 -enum : uint { IPPORT_FINGER = 79 } 145 -enum : uint { IPPORT_TTYLINK = 87 } 146 -enum : uint { IPPORT_SUPDUP = 95 } 147 - 148 -enum : uint { IPPORT_EXECSERVER = 512 } 149 -enum : uint { IPPORT_LOGINSERVER = 513 } 150 -enum : uint { IPPORT_CMDSERVER = 514 } 151 -enum : uint { IPPORT_EFSSERVER = 520 } 152 - 153 -enum : uint { IPPORT_BIFFUDP = 512 } 154 -enum : uint { IPPORT_WHOSERVER = 513 } 155 -enum : uint { IPPORT_ROUTESERVER = 520 } 156 - 157 -enum : uint { IPPORT_RESERVED = 1024 } 158 - 159 -enum : uint { IMPLINK_IP = 155 } 160 -enum : uint { IMPLINK_LOWEXPER = 156 } 161 -enum : uint { IMPLINK_HIGHEXPER = 158 } 162 - 163 -struct in_addr { 164 -union { 165 - struct { u_char s_b1,s_b2,s_b3,s_b4; } 166 - struct { u_short s_w1,s_w2; } 167 - u_long S_addr; 168 -} 169 - 170 -// #define s_addr S_un.S_addr 171 - 172 -// #define s_host S_un.S_un_b.s_b2 173 - 174 -// #define s_net S_un.S_un_b.s_b1 175 - 176 -// #define s_imp S_un.S_un_w.s_w2 177 - 178 -// #define s_impno S_un.S_un_b.s_b4 179 - 180 -// #define s_lh S_un.S_un_b.s_b3 181 - 182 -} 183 - 184 -// #define IN_CLASSA(i) (((long)(i) & 0x80000000) == 0) 185 -enum : uint { IN_CLASSA_NET = 0xff000000 } 186 -enum : uint { IN_CLASSA_NSHIFT = 24 } 187 -enum : uint { IN_CLASSA_HOST = 0x00ffffff } 188 -enum : uint { IN_CLASSA_MAX = 128 } 189 - 190 -// #define IN_CLASSB(i) (((long)(i) & 0xc0000000) == 0x80000000) 191 -// #define IN_CLASSB_NET 0xffff0000 192 -// #define IN_CLASSB_NSHIFT 16 193 -enum : uint { IN_CLASSB_HOST = 0x0000ffff } 194 -enum : uint { IN_CLASSB_MAX = 65536 } 195 - 196 -// #define IN_CLASSC(i) (((long)(i) & 0xe0000000) == 0xc0000000) 197 -// #define IN_CLASSC_NET 0xffffff00 198 -// #define IN_CLASSC_NSHIFT 8 199 -enum : uint { IN_CLASSC_HOST = 0x000000ff } 200 - 201 -enum : uint { INADDR_ANY = 0 } 202 -enum : uint { INADDR_LOOPBACK = 0x7f000001 } 203 -// #define INADDR_BROADCAST (u_long)0xffffffff 204 -enum : uint { INADDR_NONE = uint.max } 205 - 206 -struct sockaddr_in { 207 - short sin_family; 208 - u_short sin_port; 209 - in_addr sin_addr; 210 - char sin_zero[8]; 211 -} 212 - 213 -enum : uint { WSADESCRIPTION_LEN = 256 } 214 -enum : uint { WSASYS_STATUS_LEN = 128 } 215 - 216 -struct WSAData { 217 - WORD wVersion; 218 - WORD wHighVersion; 219 -// #ifdef _WIN64 220 -// ... 221 -// #else 222 - char szDescription[WSADESCRIPTION_LEN+1]; 223 - char szSystemStatus[WSASYS_STATUS_LEN+1]; 224 - ushort iMaxSockets; 225 - ushort iMaxUdpDg; 226 - char * lpVendorInfo; 227 -// #endif 228 -} 229 -alias WSAData WSADATA; 230 - 231 -alias WSADATA* LPWSADATA; 232 - 233 -enum : uint { IP_OPTIONS = 1 } 234 -enum : uint { IP_MULTICAST_IF = 2 } 235 -enum : uint { IP_MULTICAST_TTL = 3 } 236 -enum : uint { IP_MULTICAST_LOOP = 4 } 237 -enum : uint { IP_ADD_MEMBERSHIP = 5 } 238 -enum : uint { IP_DROP_MEMBERSHIP = 6 } 239 -enum : uint { IP_TTL = 7 } 240 -enum : uint { IP_TOS = 8 } 241 -enum : uint { IP_DONTFRAGMENT = 9 } 242 - 243 -enum : uint { IP_DEFAULT_MULTICAST_TTL = 1 } 244 -enum : uint { IP_DEFAULT_MULTICAST_LOOP = 1 } 245 -enum : uint { IP_MAX_MEMBERSHIPS = 20 } 246 - 247 -struct ip_mreq { 248 - in_addr imr_multiaddr; 249 - in_addr imr_interface; 250 -} 251 - 252 -enum : uint { INVALID_SOCKET = uint.max } 253 -enum { SOCKET_ERROR = -1 } 254 - 255 -enum : uint { SOCK_STREAM = 1 } 256 -enum : uint { SOCK_DGRAM = 2 } 257 -enum : uint { SOCK_RAW = 3 } 258 -enum : uint { SOCK_RDM = 4 } 259 -enum : uint { SOCK_SEQPACKET = 5 } 260 - 261 -enum : uint { SO_DEBUG = 0x0001 } 262 -enum : uint { SO_ACCEPTCONN = 0x0002 } 263 -enum : uint { SO_REUSEADDR = 0x0004 } 264 -enum : uint { SO_KEEPALIVE = 0x0008 } 265 -enum : uint { SO_DONTROUTE = 0x0010 } 266 -enum : uint { SO_BROADCAST = 0x0020 } 267 -enum : uint { SO_USELOOPBACK = 0x0040 } 268 -enum : uint { SO_LINGER = 0x0080 } 269 -enum : uint { SO_OOBINLINE = 0x0100 } 270 - 271 -enum : uint { SO_DONTLINGER = ~SO_LINGER } 272 - 273 -enum : uint { SO_SNDBUF = 0x1001 } 274 -enum : uint { SO_RCVBUF = 0x1002 } 275 -enum : uint { SO_SNDLOWAT = 0x1003 } 276 -enum : uint { SO_RCVLOWAT = 0x1004 } 277 -enum : uint { SO_SNDTIMEO = 0x1005 } 278 -enum : uint { SO_RCVTIMEO = 0x1006 } 279 -enum : uint { SO_ERROR = 0x1007 } 280 -enum : uint { SO_TYPE = 0x1008 } 281 - 282 -enum : uint { SO_CONNDATA = 0x7000 } 283 -enum : uint { SO_CONNOPT = 0x7001 } 284 -enum : uint { SO_DISCDATA = 0x7002 } 285 -enum : uint { SO_DISCOPT = 0x7003 } 286 -enum : uint { SO_CONNDATALEN = 0x7004 } 287 -enum : uint { SO_CONNOPTLEN = 0x7005 } 288 -enum : uint { SO_DISCDATALEN = 0x7006 } 289 -enum : uint { SO_DISCOPTLEN = 0x7007 } 290 - 291 -enum : uint { SO_OPENTYPE = 0x7008 } 292 - 293 -enum : uint { SO_SYNCHRONOUS_ALERT = 0x10 } 294 -enum : uint { SO_SYNCHRONOUS_NONALERT = 0x20 } 295 - 296 -enum : uint { SO_MAXDG = 0x7009 } 297 -enum : uint { SO_MAXPATHDG = 0x700A } 298 -enum : uint { SO_UPDATE_ACCEPT_CONTEXT = 0x700B } 299 -enum : uint { SO_CONNECT_TIME = 0x700C } 300 - 301 -enum : uint { TCP_NODELAY = 0x0001 } 302 -enum : uint { TCP_BSDURGENT = 0x7000 } 303 - 304 -enum : uint { AF_UNSPEC = 0 } 305 -enum : uint { AF_UNIX = 1 } 306 -enum : uint { AF_INET = 2 } 307 -enum : uint { AF_IMPLINK = 3 } 308 -enum : uint { AF_PUP = 4 } 309 -enum : uint { AF_CHAOS = 5 } 310 -enum : uint { AF_IPX = 6 } 311 -enum : uint { AF_NS = 6 } 312 -enum : uint { AF_ISO = 7 } 313 -alias AF_ISO AF_OSI; 314 -enum : uint { AF_ECMA = 8 } 315 -enum : uint { AF_DATAKIT = 9 } 316 -enum : uint { AF_CCITT = 10 } 317 -enum : uint { AF_SNA = 11 } 318 -enum : uint { AF_DECnet = 12 } 319 -enum : uint { AF_DLI = 13 } 320 -enum : uint { AF_LAT = 14 } 321 -enum : uint { AF_HYLINK = 15 } 322 -enum : uint { AF_APPLETALK = 16 } 323 -enum : uint { AF_NETBIOS = 17 } 324 -enum : uint { AF_VOICEVIEW = 18 } 325 -enum : uint { AF_FIREFOX = 19 } 326 -enum : uint { AF_UNKNOWN1 = 20 } 327 -enum : uint { AF_BAN = 21 } 328 - 329 -enum : uint { AF_MAX = 22 } 330 - 331 -struct sockaddr { 332 - u_short sa_family; 333 - char sa_data[14]; 334 -} 335 - 336 -struct sockproto { 337 - u_short sp_family; 338 - u_short sp_protocol; 339 -} 340 - 341 -alias AF_UNSPEC PF_UNSPEC; 342 -alias AF_UNIX PF_UNIX; 343 -alias AF_INET PF_INET; 344 -alias AF_IMPLINK PF_IMPLINK; 345 -alias AF_PUP PF_PUP; 346 -alias AF_CHAOS PF_CHAOS; 347 -alias AF_NS PF_NS; 348 -alias AF_IPX PF_IPX; 349 -alias AF_ISO PF_ISO; 350 -alias AF_OSI PF_OSI; 351 -alias AF_ECMA PF_ECMA; 352 -alias AF_DATAKIT PF_DATAKIT; 353 -alias AF_CCITT PF_CCITT; 354 -alias AF_SNA PF_SNA; 355 -alias AF_DECnet PF_DECnet; 356 -alias AF_DLI PF_DLI; 357 -alias AF_LAT PF_LAT; 358 -alias AF_HYLINK PF_HYLINK; 359 -alias AF_APPLETALK PF_APPLETALK; 360 -alias AF_VOICEVIEW PF_VOICEVIEW; 361 -alias AF_FIREFOX PF_FIREFOX; 362 -alias AF_UNKNOWN1 PF_UNKNOWN1; 363 -alias AF_BAN PF_BAN; 364 - 365 -alias AF_MAX PF_MAX; 366 - 367 -struct linger { 368 - u_short l_onoff; 369 - u_short l_linger; 370 -} 371 - 372 -enum : uint { SOL_SOCKET = 0xffff } 373 - 374 -enum : uint { SOMAXCONN = 5 } 375 - 376 -enum : uint { MSG_OOB = 0x1 } 377 -enum : uint { MSG_PEEK = 0x2 } 378 -enum : uint { MSG_DONTROUTE = 0x4 } 379 - 380 -enum : uint { MSG_MAXIOVLEN = 16 } 381 - 382 -enum : uint { MSG_PARTIAL = 0x8000 } 383 - 384 -enum : uint { MAXGETHOSTSTRUCT = 1024 } 385 - 386 -enum : uint { FD_READ = 0x01 } 387 -enum : uint { FD_WRITE = 0x02 } 388 -enum : uint { FD_OOB = 0x04 } 389 -enum : uint { FD_ACCEPT = 0x08 } 390 -enum : uint { FD_CONNECT = 0x10 } 391 -enum : uint { FD_CLOSE = 0x20 } 392 - 393 -// #ifndef WSABASEERR 394 - 395 -enum : uint { WSABASEERR = 10000 } 396 - 397 -enum : uint { WSAEINTR = WSABASEERR+4 } 398 -enum : uint { WSAEBADF = WSABASEERR+9 } 399 -enum : uint { WSAEACCES = WSABASEERR+13 } 400 -enum : uint { WSAEFAULT = WSABASEERR+14 } 401 -enum : uint { WSAEINVAL = WSABASEERR+22 } 402 -enum : uint { WSAEMFILE = WSABASEERR+24 } 403 - 404 -enum : uint { WSAEWOULDBLOCK = WSABASEERR+35 } 405 -enum : uint { WSAEINPROGRESS = WSABASEERR+36 } 406 -enum : uint { WSAEALREADY = WSABASEERR+37 } 407 -enum : uint { WSAENOTSOCK = WSABASEERR+38 } 408 -enum : uint { WSAEDESTADDRREQ = WSABASEERR+39 } 409 -enum : uint { WSAEMSGSIZE = WSABASEERR+40 } 410 -enum : uint { WSAEPROTOTYPE = WSABASEERR+41 } 411 -enum : uint { WSAENOPROTOOPT = WSABASEERR+42 } 412 -enum : uint { WSAEPROTONOSUPPORT = WSABASEERR+43 } 413 -enum : uint { WSAESOCKTNOSUPPORT = WSABASEERR+44 } 414 -enum : uint { WSAEOPNOTSUPP = WSABASEERR+45 } 415 -enum : uint { WSAEPFNOSUPPORT = WSABASEERR+46 } 416 -enum : uint { WSAEAFNOSUPPORT = WSABASEERR+47 } 417 -enum : uint { WSAEADDRINUSE = WSABASEERR+48 } 418 -enum : uint { WSAEADDRNOTAVAIL = WSABASEERR+49 } 419 -enum : uint { WSAENETDOWN = WSABASEERR+50 } 420 -enum : uint { WSAENETUNREACH = WSABASEERR+51 } 421 -enum : uint { WSAENETRESET = WSABASEERR+52 } 422 -enum : uint { WSAECONNABORTED = WSABASEERR+53 } 423 -enum : uint { WSAECONNRESET = WSABASEERR+54 } 424 -enum : uint { WSAENOBUFS = WSABASEERR+55 } 425 -enum : uint { WSAEISCONN = WSABASEERR+56 } 426 -enum : uint { WSAENOTCONN = WSABASEERR+57 } 427 -enum : uint { WSAESHUTDOWN = WSABASEERR+58 } 428 -enum : uint { WSAETOOMANYREFS = WSABASEERR+59 } 429 -enum : uint { WSAETIMEDOUT = WSABASEERR+60 } 430 -enum : uint { WSAECONNREFUSED = WSABASEERR+61 } 431 -enum : uint { WSAELOOP = WSABASEERR+62 } 432 -enum : uint { WSAENAMETOOLONG = WSABASEERR+63 } 433 -enum : uint { WSAEHOSTDOWN = WSABASEERR+64 } 434 -enum : uint { WSAEHOSTUNREACH = WSABASEERR+65 } 435 -enum : uint { WSAENOTEMPTY = WSABASEERR+66 } 436 -enum : uint { WSAEPROCLIM = WSABASEERR+67 } 437 -enum : uint { WSAEUSERS = WSABASEERR+68 } 438 -enum : uint { WSAEDQUOT = WSABASEERR+69 } 439 -enum : uint { WSAESTALE = WSABASEERR+70 } 440 -enum : uint { WSAEREMOTE = WSABASEERR+71 } 441 - 442 -enum : uint { WSAEDISCON = WSABASEERR+101 } 443 - 444 -enum : uint { WSASYSNOTREADY = WSABASEERR+91 } 445 -enum : uint { WSAVERNOTSUPPORTED = WSABASEERR+92 } 446 -enum : uint { WSANOTINITIALISED = WSABASEERR+93 } 447 - 448 -enum : uint { WSAHOST_NOT_FOUND = WSABASEERR+1001 } 449 - 450 -enum : uint { WSATRY_AGAIN = WSABASEERR+1002 } 451 - 452 -enum : uint { WSANO_RECOVERY = WSABASEERR+1003 } 453 - 454 -enum : uint { WSANO_DATA = WSABASEERR+1004 } 455 - 456 -// #endif /* ifdef WSABASEERR */ 457 - 458 -// #define h_errno WSAGetLastError() 459 -alias WSAHOST_NOT_FOUND HOST_NOT_FOUND; 460 -alias WSATRY_AGAIN TRY_AGAIN; 461 -alias WSANO_RECOVERY NO_RECOVERY; 462 -alias WSANO_DATA NO_DATA; 463 - 464 -alias WSANO_DATA WSANO_ADDRESS; 465 -alias WSANO_ADDRESS NO_ADDRESS; 466 - 467 -// #if 0 468 -// #... 469 -// #... 470 -// #... 471 -// #... 472 -// #... 473 -// #... 474 -// #... 475 -// #... 476 -// #... 477 -// #... 478 -// #... 479 -// #... 480 -// #... 481 -// #... 482 -// #... 483 -// #... 484 -// #... 485 -// #... 486 -// #... 487 -// #... 488 -// #... 489 -// #... 490 -// #... 491 -// #... 492 -// #... 493 -// #... 494 -// #... 495 -// #... 496 -// #... 497 -// #... 498 -// #... 499 -// #... 500 -// #... 501 -// #... 502 -// #... 503 -// #... 504 -// #... 505 -// #endif 506 - 507 -// #ifdef __cplusplus 508 -// extern "C" { 509 -// #endif 510 - 511 -extern(Windows) export SOCKET accept( 512 - SOCKET s, 513 - sockaddr *addr, 514 - int *addrlen); 515 - 516 -extern(Windows) export int bind( 517 - SOCKET s, 518 - sockaddr *addr, 519 - int namelen); 520 - 521 -extern(Windows) export int closesocket(SOCKET s); 522 - 523 -extern(Windows) export int connect( 524 - SOCKET s, 525 - sockaddr *name, 526 - int namelen); 527 - 528 -extern(Windows) export int ioctlsocket( 529 - SOCKET s, 530 - int cmd, 531 - u_long *argp); 532 - 533 -extern(Windows) export int getpeername( 534 - SOCKET s, 535 - sockaddr *name, 536 - int * namelen); 537 - 538 -extern(Windows) export int getsockname( 539 - SOCKET s, 540 - sockaddr *name, 541 - int * namelen); 542 - 543 -extern(Windows) export int getsockopt( 544 - SOCKET s, 545 - int level, 546 - int optname, 547 - char * optval, 548 - int *optlen); 549 - 550 -extern(Windows) export u_long htonl(u_long hostlong); 551 - 552 -extern(Windows) export u_short htons(u_short hostshort); 553 - 554 -extern(Windows) export uint inet_addr( char * cp); 555 - 556 -extern(Windows) export char* inet_ntoa(uint in_); 557 -extern(Windows) export int listen( 558 - SOCKET s, 559 - int backlog); 560 - 561 -extern(Windows) export u_long ntohl(u_long netlong); 562 - 563 -extern(Windows) export u_short ntohs(u_short netshort); 564 - 565 -extern(Windows) export int recv( 566 - SOCKET s, 567 - char * buf, 568 - int len, 569 - int flags); 570 - 571 -extern(Windows) export int recvfrom( 572 - SOCKET s, 573 - char * buf, 574 - int len, 575 - int flags, 576 - sockaddr *from, 577 - int * fromlen); 578 - 579 -extern(Windows) export int select( 580 - int nfds, 581 - fd_set *readfds, 582 - fd_set *writefds, 583 - fd_set *exceptfds, 584 - timeval *timeout); 585 - 586 -extern(Windows) export int send( 587 - SOCKET s, 588 - char * buf, 589 - int len, 590 - int flags); 591 - 592 -extern(Windows) export int sendto( 593 - SOCKET s, 594 - char * buf, 595 - int len, 596 - int flags, 597 - sockaddr *to, 598 - int tolen); 599 - 600 -extern(Windows) export int setsockopt( 601 - SOCKET s, 602 - int level, 603 - int optname, 604 - char * optval, 605 - int optlen); 606 - 607 -extern(Windows) export int shutdown( 608 - SOCKET s, 609 - int how); 610 - 611 -extern(Windows) export SOCKET socket( 612 - int af, 613 - int type, 614 - int protocol); 615 - 616 -extern(Windows) export hostent* gethostbyaddr( 617 - char * addr, 618 - int len, 619 - int type); 620 -extern(Windows) export hostent* gethostbyname( char * name); 621 -extern(Windows) export int gethostname( 622 - char * name, 623 - int namelen); 624 - 625 -extern(Windows) export servent* getservbyport( 626 - int port, 627 - char * proto); 628 -extern(Windows) export servent* getservbyname( 629 - char * name, 630 - char * proto); 631 -extern(Windows) export protoent* getprotobynumber( int proto); 632 -extern(Windows) export protoent* getprotobyname( char * name); 633 - 634 -extern(Windows) export int WSAStartup( 635 - WORD wVersionRequired, 636 - LPWSADATA lpWSAData); 637 - 638 -extern(Windows) export int WSACleanup(); 639 - 640 -extern(Windows) export void WSASetLastError(int iError); 641 - 642 -extern(Windows) export int WSAGetLastError(); 643 - 644 -extern(Windows) export BOOL WSAIsBlocking(); 645 - 646 -extern(Windows) export int WSAUnhookBlockingHook(); 647 - 648 -extern(Windows) export FARPROC WSASetBlockingHook(FARPROC lpBlockFunc); 649 - 650 -extern(Windows) export int WSACancelBlockingCall(); 651 - 652 -extern(Windows) export HANDLE WSAAsyncGetServByName( 653 - HWND hWnd, 654 - u_int wMsg, 655 - char * name, 656 - char * proto, 657 - char * buf, 658 - int buflen); 659 - 660 -extern(Windows) export HANDLE WSAAsyncGetServByPort( 661 - HWND hWnd, 662 - u_int wMsg, 663 - int port, 664 - char * proto, 665 - char * buf, 666 - int buflen); 667 - 668 -extern(Windows) export HANDLE WSAAsyncGetProtoByName( 669 - HWND hWnd, 670 - u_int wMsg, 671 - char * name, 672 - char * buf, 673 - int buflen); 674 - 675 -extern(Windows) export HANDLE WSAAsyncGetProtoByNumber( 676 - HWND hWnd, 677 - u_int wMsg, 678 - int number, 679 - char * buf, 680 - int buflen); 681 - 682 -extern(Windows) export HANDLE WSAAsyncGetHostByName( 683 - HWND hWnd, 684 - u_int wMsg, 685 - char * name, 686 - char * buf, 687 - int buflen); 688 - 689 -extern(Windows) export HANDLE WSAAsyncGetHostByAddr( 690 - HWND hWnd, 691 - u_int wMsg, 692 - char * addr, 693 - int len, 694 - int type, 695 - char * buf, 696 - int buflen); 697 - 698 -extern(Windows) export int WSACancelAsyncRequest(HANDLE hAsyncTaskHandle); 699 - 700 -extern(Windows) export int WSAAsyncSelect( 701 - SOCKET s, 702 - HWND hWnd, 703 - u_int wMsg, 704 - int lEvent); 705 - 706 -extern(Windows) export int WSARecvEx( 707 - SOCKET s, 708 - char * buf, 709 - int len, 710 - int *flags); 711 - 712 -struct _TRANSMIT_FILE_BUFFERS { 713 - PVOID Head; 714 - DWORD HeadLength; 715 - PVOID Tail; 716 - DWORD TailLength; 717 -} 718 -alias _TRANSMIT_FILE_BUFFERS TRANSMIT_FILE_BUFFERS; 719 -alias _TRANSMIT_FILE_BUFFERS* PTRANSMIT_FILE_BUFFERS; 720 -alias _TRANSMIT_FILE_BUFFERS* LPTRANSMIT_FILE_BUFFERS; 721 - 722 -enum : uint { TF_DISCONNECT = 0x01 } 723 -enum : uint { TF_REUSE_SOCKET = 0x02 } 724 -enum : uint { TF_WRITE_BEHIND = 0x04 } 725 - 726 -extern(Windows) export BOOL TransmitFile( 727 - SOCKET hSocket, 728 - HANDLE hFile, 729 - DWORD nNumberOfBytesToWrite, 730 - DWORD nNumberOfBytesPerSend, 731 - LPOVERLAPPED lpOverlapped, 732 - LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers, 733 - DWORD dwReserved); 734 - 735 -extern(Windows) export BOOL AcceptEx( 736 - SOCKET sListenSocket, 737 - SOCKET sAcceptSocket, 738 - PVOID lpOutputBuffer, 739 - DWORD dwReceiveDataLength, 740 - DWORD dwLocalAddressLength, 741 - DWORD dwRemoteAddressLength, 742 - LPDWORD lpdwBytesReceived, 743 - LPOVERLAPPED lpOverlapped); 744 - 745 -extern(Windows) export VOID GetAcceptExSockaddrs( 746 - PVOID lpOutputBuffer, 747 - DWORD dwReceiveDataLength, 748 - DWORD dwLocalAddressLength, 749 - DWORD dwRemoteAddressLength, 750 - sockaddr **LocalSockaddr, 751 - LPINT LocalSockaddrLength, 752 - sockaddr **RemoteSockaddr, 753 - LPINT RemoteSockaddrLength); 754 - 755 -// #ifdef __cplusplus 756 -// } 757 -// #endif 758 - 759 -alias sockaddr SOCKADDR; 760 -alias sockaddr* PSOCKADDR; 761 -alias sockaddr* LPSOCKADDR; 762 - 763 -alias sockaddr_in SOCKADDR_IN; 764 -alias sockaddr_in* PSOCKADDR_IN; 765 -alias sockaddr_in* LPSOCKADDR_IN; 766 - 767 -alias linger LINGER; 768 -alias linger* PLINGER; 769 -alias linger* LPLINGER; 770 - 771 -alias in_addr IN_ADDR; 772 -alias in_addr* PIN_ADDR; 773 -alias in_addr* LPIN_ADDR; 774 - 775 -alias fd_set FD_SET; 776 -alias fd_set* PFD_SET; 777 -alias fd_set* LPFD_SET; 778 - 779 -alias hostent HOSTENT; 780 -alias hostent* PHOSTENT; 781 -alias hostent* LPHOSTENT; 782 - 783 -alias servent SERVENT; 784 -alias servent* PSERVENT; 785 -alias servent* LPSERVENT; 786 - 787 -alias protoent PROTOENT; 788 -alias protoent* PPROTOENT; 789 -alias protoent* LPPROTOENT; 790 - 791 -alias timeval TIMEVAL; 792 -alias timeval* PTIMEVAL; 793 -alias timeval* LPTIMEVAL; 794 - 795 -// #define WSAMAKEASYNCREPLY(buflen,error) MAKELONG(buflen,error) 796 - 797 -// #define WSAMAKESELECTREPLY(event,error) MAKELONG(event,error) 798 - 799 -// #define WSAGETASYNCBUFLEN(lParam) LOWORD(lParam) 800 - 801 -// #define WSAGETASYNCERROR(lParam) HIWORD(lParam) 802 - 803 -// #define WSAGETSELECTEVENT(lParam) LOWORD(lParam) 804 - 805 -// #define WSAGETSELECTERROR(lParam) HIWORD(lParam) 806 - 807 -// #ifdef IPV6STRICT 808 -// #... 809 -// #endif // IPV6STRICT 810 - 811 -// #endif /* _WINSOCKAPI_ */

Added src/win32/winsock2.d version [81fbdf8d3c153cba]

1 +/***********************************************************************\ 2 +* winsock2.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Daniel Keep * 8 +\***********************************************************************/ 9 +module win32.winsock2; 10 +pragma(lib, "Ws2_32.lib"); 11 + 12 +/* 13 + Definitions for winsock 2 14 + 15 + Contributed by the WINE project. 16 + 17 + Portions Copyright (c) 1980, 1983, 1988, 1993 18 + The Regents of the University of California. All rights reserved. 19 + 20 + Portions Copyright (c) 1993 by Digital Equipment Corporation. 21 + */ 22 + 23 +/* DRK: This module should not be included if -version=Win32_Winsock2 has 24 + * not been set. If it has, assert. I think it's better this way than 25 + * letting the user believe that it's worked. 26 + * 27 + * SG: It has now been changed so that winsock2 is the default, and 28 + * -version=Win32_Winsock1 must be set to use winsock. 29 + */ 30 +version(Win32_Winsock1) { 31 + pragma(msg, "Cannot use win32.winsock2 with Win32_Winsock1 defined."); 32 + static assert(false); 33 +} 34 + 35 +import win32.winbase; 36 +import win32.windef; 37 +import win32.basetyps; 38 + 39 +alias char u_char; 40 +alias ushort u_short; 41 +alias uint u_int, u_long, SOCKET; 42 + 43 +const size_t FD_SETSIZE = 64; 44 + 45 +/* shutdown() how types */ 46 +enum : int { 47 + SD_RECEIVE, 48 + SD_SEND, 49 + SD_BOTH 50 +} 51 + 52 +/* Good grief this is stupid... is it a struct? A preprocessor macro? A 53 + struct tag? Who the hell knows!? */ 54 +struct FD_SET { 55 + u_int fd_count; 56 + SOCKET[FD_SETSIZE] fd_array; 57 + 58 + /* this differs from the define in winsock.h and in cygwin sys/types.h */ 59 + static void opCall(SOCKET fd, FD_SET set) { 60 + u_int i; 61 + for (i = 0; i < set.fd_count; i++) 62 + if (set.fd_array[i] == fd) 63 + break; 64 + if (i == set.fd_count) 65 + if (set.fd_count < FD_SETSIZE) { 66 + set.fd_array[i] = fd; 67 + set.fd_count++; 68 + } 69 + } 70 +} 71 +alias FD_SET* PFD_SET, LPFD_SET; 72 + 73 +// Keep this alias, since fd_set isn't a tag name in the original header. 74 +alias FD_SET fd_set; 75 + 76 +extern(Windows) int __WSAFDIsSet(SOCKET, FD_SET*); 77 +alias __WSAFDIsSet FD_ISSET; 78 + 79 +void FD_CLR(SOCKET fd, FD_SET* set) { 80 + for (u_int i = 0; i < set.fd_count; i++) { 81 + if (set.fd_array[i] == fd) { 82 + while (i < set.fd_count - 1) { 83 + set.fd_array[i] = set.fd_array[i+1]; 84 + i++; 85 + } 86 + set.fd_count--; 87 + break; 88 + } 89 + } 90 +} 91 + 92 +void FD_ZERO(FD_SET* set) { 93 + set.fd_count = 0; 94 +} 95 + 96 + 97 +struct TIMEVAL { 98 + int tv_sec; 99 + int tv_usec; 100 + 101 + int opCmp(TIMEVAL tv) { 102 + if (tv_sec < tv.tv_sec) return -1; 103 + if (tv_sec > tv.tv_sec) return 1; 104 + if (tv_usec < tv.tv_usec) return -1; 105 + if (tv_usec > tv.tv_usec) return 1; 106 + return 0; 107 + } 108 +} 109 +alias TIMEVAL* PTIMEVAL, LPTIMEVAL; 110 + 111 +bool timerisset(TIMEVAL* tvp) { 112 + return tvp.tv_sec || tvp.tv_usec; 113 +} 114 + 115 +/+ 116 +/* DRK: These have been commented out because it was felt that using 117 + * omCmp on the TIMEVAL struct was cleaner. Still, perhaps these should 118 + * be enabled under a version tag for compatibility's sake? 119 + * If it is decided that it's just ugly and unwanted, then feel free to 120 + * delete this section :) 121 + */ 122 +int timercmp(TIMEVAL* tvp, TIMEVAL* uvp) { 123 + return tvp.tv_sec != uvp.tv_sec ? 124 + (tvp.tv_sec < uvp.tv_sec ? -1 : 125 + (tvp.tv_sec > uvp.tv_sec ? 1 : 0)) : 126 + (tvp.tv_usec < uvp.tv_usec ? -1 : 127 + (tvp.tv_usec > uvp.tv_usec ? 1 : 0)); 128 +} 129 + 130 +int timercmp(TIMEVAL* tvp, TIMEVAL* uvp, int function(long,long) cmp) { 131 + return tvp.tv_sec != uvp.tv_sec ? 132 + cmp(tvp.tv_sec, uvp.tv_sec) : 133 + cmp(tvp.tv_usec, uvp.tv_usec); 134 +}+/ 135 + 136 +void timerclear(ref TIMEVAL tvp) { 137 + tvp.tv_sec = tvp.tv_usec = 0; 138 +} 139 + 140 +struct HOSTENT { 141 + char* h_name; 142 + char** h_aliases; 143 + short h_addrtype; 144 + short h_length; 145 + char** h_addr_list; 146 + 147 + char* h_addr() { return h_addr_list[0]; } 148 + char* h_addr(char* h) { return h_addr_list[0] = h; } 149 +} 150 +alias HOSTENT* PHOSTENT, LPHOSTENT; 151 + 152 +struct LINGER { 153 + u_short l_onoff; 154 + u_short l_linger; 155 +} 156 +alias LINGER* PLINGER, LPLINGER; 157 + 158 +enum : DWORD { 159 + IOCPARAM_MASK = 0x7f, 160 + IOC_VOID = 0x20000000, 161 + IOC_OUT = 0x40000000, 162 + IOC_IN = 0x80000000, 163 + IOC_INOUT = IOC_IN|IOC_OUT 164 +} 165 + 166 +// NOTE: This isn't even used anywhere... 167 +template _IO(char x, ubyte y) { 168 + const DWORD _IO = IOC_VOID | (cast(ubyte)x<<8) | y; 169 +} 170 + 171 +template _IOR(char x, ubyte y, t) { 172 + const DWORD _IOR = IOC_OUT | ((t.sizeof & IOCPARAM_MASK)<<16) 173 + | (cast(ubyte)x<<8) | y; 174 +} 175 + 176 +template _IOW(char x, ubyte y, t) { 177 + const DWORD _IOW = IOC_IN | ((t.sizeof & IOCPARAM_MASK)<<16) 178 + | (cast(ubyte)x<<8) | y; 179 +} 180 + 181 +enum : DWORD { 182 + FIONBIO = _IOW!('f', 126, u_long), 183 + FIONREAD = _IOR!('f', 127, u_long), 184 + FIOASYNC = _IOW!('f', 125, u_long), 185 + SIOCSHIWAT = _IOW!('s', 0, u_long), 186 + SIOCGHIWAT = _IOR!('s', 1, u_long), 187 + SIOCSLOWAT = _IOW!('s', 2, u_long), 188 + SIOCGLOWAT = _IOR!('s', 3, u_long), 189 + SIOCATMARK = _IOR!('s', 7, u_long) 190 +} 191 + 192 +struct netent { 193 + char* n_name; 194 + char** n_aliases; 195 + short n_addrtype; 196 + u_long n_net; 197 +} 198 + 199 +struct SERVENT { 200 + char* s_name; 201 + char** s_aliases; 202 + short s_port; 203 + char* s_proto; 204 +} 205 +alias SERVENT* PSERVENT, LPSERVENT; 206 + 207 +struct PROTOENT { 208 + char* p_name; 209 + char** p_aliases; 210 + short p_proto; 211 +} 212 +alias PROTOENT* PPROTOENT, LPPROTOENT; 213 + 214 +enum : int { 215 + IPPROTO_IP = 0, 216 + IPPROTO_ICMP = 1, 217 + IPPROTO_IGMP = 2, 218 + IPPROTO_GGP = 3, 219 + IPPROTO_TCP = 6, 220 + IPPROTO_PUP = 12, 221 + IPPROTO_UDP = 17, 222 + IPPROTO_IDP = 22, 223 + IPPROTO_ND = 77, 224 + IPPROTO_RAW = 255, 225 + IPPROTO_MAX = 256, 226 + 227 + // IPv6 options 228 + IPPROTO_HOPOPTS = 0, // IPv6 Hop-by-Hop options 229 + IPPROTO_IPV6 = 41, // IPv6 header 230 + IPPROTO_ROUTING = 43, // IPv6 Routing header 231 + IPPROTO_FRAGMENT = 44, // IPv6 fragmentation header 232 + IPPROTO_ESP = 50, // encapsulating security payload 233 + IPPROTO_AH = 51, // authentication header 234 + IPPROTO_ICMPV6 = 58, // ICMPv6 235 + IPPROTO_NONE = 59, // IPv6 no next header 236 + IPPROTO_DSTOPTS = 60 // IPv6 Destination options 237 +} 238 + 239 +enum { 240 + IPPORT_ECHO = 7, 241 + IPPORT_DISCARD = 9, 242 + IPPORT_SYSTAT = 11, 243 + IPPORT_DAYTIME = 13, 244 + IPPORT_NETSTAT = 15, 245 + IPPORT_FTP = 21, 246 + IPPORT_TELNET = 23, 247 + IPPORT_SMTP = 25, 248 + IPPORT_TIMESERVER = 37, 249 + IPPORT_NAMESERVER = 42, 250 + IPPORT_WHOIS = 43, 251 + IPPORT_MTP = 57, 252 + IPPORT_TFTP = 69, 253 + IPPORT_RJE = 77, 254 + IPPORT_FINGER = 79, 255 + IPPORT_TTYLINK = 87, 256 + IPPORT_SUPDUP = 95, 257 + IPPORT_EXECSERVER = 512, 258 + IPPORT_LOGINSERVER = 513, 259 + IPPORT_CMDSERVER = 514, 260 + IPPORT_EFSSERVER = 520, 261 + IPPORT_BIFFUDP = 512, 262 + IPPORT_WHOSERVER = 513, 263 + IPPORT_ROUTESERVER = 520, 264 + IPPORT_RESERVED = 1024 265 +} 266 + 267 +enum { 268 + IMPLINK_IP = 155, 269 + IMPLINK_LOWEXPER = 156, 270 + IMPLINK_HIGHEXPER = 158 271 +} 272 + 273 +struct IN_ADDR { 274 + union { 275 + struct { u_char s_b1, s_b2, s_b3, s_b4; } 276 + struct { u_char s_net, s_host, s_lh, s_impno; } 277 + struct { u_short s_w1, s_w2; } 278 + struct { u_short s_w_, s_imp; } // Can I get rid of s_w_ using alignment tricks? 279 + u_long S_addr; 280 + u_long s_addr; 281 + } 282 +} 283 +alias IN_ADDR* PIN_ADDR, LPIN_ADDR; 284 + 285 +// IN_CLASSx are not used anywhere or documented on MSDN. 286 +bool IN_CLASSA(int i) { return (i & 0x80000000) == 0; } 287 + 288 +const IN_CLASSA_NET = 0xff000000; 289 +const IN_CLASSA_NSHIFT = 24; 290 +const IN_CLASSA_HOST = 0x00ffffff; 291 +const IN_CLASSA_MAX = 128; 292 + 293 +bool IN_CLASSB(int i) { return (i & 0xc0000000) == 0x80000000; } 294 + 295 +const IN_CLASSB_NET = 0xffff0000; 296 +const IN_CLASSB_NSHIFT = 16; 297 +const IN_CLASSB_HOST = 0x0000ffff; 298 +const IN_CLASSB_MAX = 65536; 299 + 300 +bool IN_CLASSC(int i) { return (i & 0xe0000000) == 0xc0000000; } 301 + 302 +const IN_CLASSC_NET = 0xffffff00; 303 +const IN_CLASSC_NSHIFT = 8; 304 +const IN_CLASSC_HOST = 0x000000ff; 305 + 306 +const u_long 307 + INADDR_ANY = 0, 308 + INADDR_LOOPBACK = 0x7F000001, 309 + INADDR_BROADCAST = 0xFFFFFFFF, 310 + INADDR_NONE = 0xFFFFFFFF; 311 + 312 +struct SOCKADDR_IN { 313 + short sin_family; 314 + u_short sin_port; 315 + IN_ADDR sin_addr; 316 + char[8] sin_zero; 317 +} 318 +alias SOCKADDR_IN* PSOCKADDR_IN, LPSOCKADDR_IN; 319 + 320 +const size_t 321 + WSADESCRIPTION_LEN = 256, 322 + WSASYS_STATUS_LEN = 128; 323 + 324 +struct WSADATA { 325 + WORD wVersion; 326 + WORD wHighVersion; 327 + char[WSADESCRIPTION_LEN+1] szDescription; 328 + char[WSASYS_STATUS_LEN+1] szSystemStatus; 329 + ushort iMaxSockets; 330 + ushort iMaxUdpDg; 331 + char* lpVendorInfo; 332 +} 333 +alias WSADATA* LPWSADATA; 334 + 335 +// This is not documented on the MSDN site 336 +const IP_OPTIONS = 1; 337 + 338 +const int 339 + SO_OPTIONS = 1, 340 + SO_DEBUG = 1, 341 + SO_ACCEPTCONN = 2, 342 + SO_REUSEADDR = 4, 343 + SO_KEEPALIVE = 8, 344 + SO_DONTROUTE = 16, 345 + SO_BROADCAST = 32, 346 + SO_USELOOPBACK = 64, 347 + SO_LINGER = 128, 348 + SO_OOBINLINE = 256, 349 + SO_DONTLINGER = ~SO_LINGER, 350 + SO_EXCLUSIVEADDRUSE= ~SO_REUSEADDR; 351 + 352 +enum : int { 353 + SO_SNDBUF = 0x1001, 354 + SO_RCVBUF, 355 + SO_SNDLOWAT, 356 + SO_RCVLOWAT, 357 + SO_SNDTIMEO, 358 + SO_RCVTIMEO, 359 + SO_ERROR, 360 + SO_TYPE // = 0x1008 361 +} 362 + 363 +const SOCKET INVALID_SOCKET = cast(SOCKET)(~0); 364 +const int SOCKET_ERROR = -1; 365 + 366 +enum : int { 367 + SOCK_STREAM = 1, 368 + SOCK_DGRAM, 369 + SOCK_RAW, 370 + SOCK_RDM, 371 + SOCK_SEQPACKET 372 +} 373 + 374 +const int TCP_NODELAY = 0x0001; 375 + 376 +enum : int { 377 + AF_UNSPEC, 378 + AF_UNIX, 379 + AF_INET, 380 + AF_IMPLINK, 381 + AF_PUP, 382 + AF_CHAOS, 383 + AF_IPX, // = 6 384 + AF_NS = 6, 385 + AF_ISO, 386 + AF_OSI = AF_ISO, 387 + AF_ECMA, 388 + AF_DATAKIT, 389 + AF_CCITT, 390 + AF_SNA, 391 + AF_DECnet, 392 + AF_DLI, 393 + AF_LAT, 394 + AF_HYLINK, 395 + AF_APPLETALK, 396 + AF_NETBIOS, 397 + AF_VOICEVIEW, 398 + AF_FIREFOX, 399 + AF_UNKNOWN1, 400 + AF_BAN, 401 + AF_ATM, 402 + AF_INET6, 403 + // AF_CLUSTER, AF_12844 nad AF_NETDES are not documented on MSDN 404 + AF_CLUSTER, 405 + AF_12844, 406 + AF_IRDA, // = 26 407 + AF_NETDES = 28, 408 + AF_MAX // = 29 409 +} 410 + 411 +struct SOCKADDR { 412 + u_short sa_family; 413 + char[14] sa_data; 414 +} 415 +alias SOCKADDR* PSOCKADDR, LPSOCKADDR; 416 + 417 +/* Portable IPv6/IPv4 version of sockaddr. 418 + Uses padding to force 8 byte alignment 419 + and maximum size of 128 bytes */ 420 +struct SOCKADDR_STORAGE { 421 + short ss_family; 422 + char[6] __ss_pad1; // pad to 8 423 + long __ss_align; // force alignment 424 + char[112] __ss_pad2; // pad to 128 425 +} 426 +alias SOCKADDR_STORAGE* PSOCKADDR_STORAGE; 427 + 428 +struct sockproto { 429 + u_short sp_family; 430 + u_short sp_protocol; 431 +} 432 + 433 +enum : int { 434 + PF_UNSPEC = AF_UNSPEC, 435 + PF_UNIX = AF_UNIX, 436 + PF_INET = AF_INET, 437 + PF_IMPLINK = AF_IMPLINK, 438 + PF_PUP = AF_PUP, 439 + PF_CHAOS = AF_CHAOS, 440 + PF_NS = AF_NS, 441 + PF_IPX = AF_IPX, 442 + PF_ISO = AF_ISO, 443 + PF_OSI = AF_OSI, 444 + PF_ECMA = AF_ECMA, 445 + PF_DATAKIT = AF_DATAKIT, 446 + PF_CCITT = AF_CCITT, 447 + PF_SNA = AF_SNA, 448 + PF_DECnet = AF_DECnet, 449 + PF_DLI = AF_DLI, 450 + PF_LAT = AF_LAT, 451 + PF_HYLINK = AF_HYLINK, 452 + PF_APPLETALK = AF_APPLETALK, 453 + PF_VOICEVIEW = AF_VOICEVIEW, 454 + PF_FIREFOX = AF_FIREFOX, 455 + PF_UNKNOWN1 = AF_UNKNOWN1, 456 + PF_BAN = AF_BAN, 457 + PF_ATM = AF_ATM, 458 + PF_INET6 = AF_INET6, 459 + PF_MAX = AF_MAX 460 +} 461 + 462 +const int SOL_SOCKET = 0xFFFF; 463 + 464 +const int SOMAXCONN = 5; 465 + 466 +const int 467 + MSG_OOB = 1, 468 + MSG_PEEK = 2, 469 + MSG_DONTROUTE = 4, 470 + MSG_MAXIOVLEN = 16, 471 + MSG_PARTIAL = 0x8000; 472 + 473 +const size_t MAXGETHOSTSTRUCT = 1024; 474 + 475 +// Not documented on MSDN 476 +enum { 477 + FD_READ_BIT, 478 + FD_WRITE_BIT, 479 + FD_OOB_BIT, 480 + FD_ACCEPT_BIT, 481 + FD_CONNECT_BIT, 482 + FD_CLOSE_BIT, 483 + FD_QOS_BIT, 484 + FD_GROUP_QOS_BIT, 485 + FD_ROUTING_INTERFACE_CHANGE_BIT, 486 + FD_ADDRESS_LIST_CHANGE_BIT, 487 + FD_MAX_EVENTS // = 10 488 +} 489 + 490 +const int 491 + FD_READ = 1 << FD_READ_BIT, 492 + FD_WRITE = 1 << FD_WRITE_BIT, 493 + FD_OOB = 1 << FD_OOB_BIT, 494 + FD_ACCEPT = 1 << FD_ACCEPT_BIT, 495 + FD_CONNECT = 1 << FD_CONNECT_BIT, 496 + FD_CLOSE = 1 << FD_CLOSE_BIT, 497 + FD_QOS = 1 << FD_QOS_BIT, 498 + FD_GROUP_QOS = 1 << FD_GROUP_QOS_BIT, 499 + FD_ROUTING_INTERFACE_CHANGE = 1 << FD_ROUTING_INTERFACE_CHANGE_BIT, 500 + FD_ADDRESS_LIST_CHANGE = 1 << FD_ADDRESS_LIST_CHANGE_BIT, 501 + FD_ALL_EVENTS = (1 << FD_MAX_EVENTS) - 1; 502 + 503 +enum : int { 504 + WSABASEERR = 10000, 505 + WSAEINTR = WSABASEERR + 4, 506 + WSAEBADF = WSABASEERR + 9, 507 + WSAEACCES = WSABASEERR + 13, 508 + WSAEFAULT = WSABASEERR + 14, 509 + WSAEINVAL = WSABASEERR + 22, 510 + WSAEMFILE = WSABASEERR + 24, 511 + WSAEWOULDBLOCK = WSABASEERR + 35, 512 + WSAEINPROGRESS = WSABASEERR + 36, // deprecated on WinSock2 513 + WSAEALREADY = WSABASEERR + 37, 514 + WSAENOTSOCK = WSABASEERR + 38, 515 + WSAEDESTADDRREQ = WSABASEERR + 39, 516 + WSAEMSGSIZE = WSABASEERR + 40, 517 + WSAEPROTOTYPE = WSABASEERR + 41, 518 + WSAENOPROTOOPT = WSABASEERR + 42, 519 + WSAEPROTONOSUPPORT = WSABASEERR + 43, 520 + WSAESOCKTNOSUPPORT = WSABASEERR + 44, 521 + WSAEOPNOTSUPP = WSABASEERR + 45, 522 + WSAEPFNOSUPPORT = WSABASEERR + 46, 523 + WSAEAFNOSUPPORT = WSABASEERR + 47, 524 + WSAEADDRINUSE = WSABASEERR + 48, 525 + WSAEADDRNOTAVAIL = WSABASEERR + 49, 526 + WSAENETDOWN = WSABASEERR + 50, 527 + WSAENETUNREACH = WSABASEERR + 51, 528 + WSAENETRESET = WSABASEERR + 52, 529 + WSAECONNABORTED = WSABASEERR + 53, 530 + WSAECONNRESET = WSABASEERR + 54, 531 + WSAENOBUFS = WSABASEERR + 55, 532 + WSAEISCONN = WSABASEERR + 56, 533 + WSAENOTCONN = WSABASEERR + 57, 534 + WSAESHUTDOWN = WSABASEERR + 58, 535 + WSAETOOMANYREFS = WSABASEERR + 59, 536 + WSAETIMEDOUT = WSABASEERR + 60, 537 + WSAECONNREFUSED = WSABASEERR + 61, 538 + WSAELOOP = WSABASEERR + 62, 539 + WSAENAMETOOLONG = WSABASEERR + 63, 540 + WSAEHOSTDOWN = WSABASEERR + 64, 541 + WSAEHOSTUNREACH = WSABASEERR + 65, 542 + WSAENOTEMPTY = WSABASEERR + 66, 543 + WSAEPROCLIM = WSABASEERR + 67, 544 + WSAEUSERS = WSABASEERR + 68, 545 + WSAEDQUOT = WSABASEERR + 69, 546 + WSAESTALE = WSABASEERR + 70, 547 + WSAEREMOTE = WSABASEERR + 71, 548 + WSAEDISCON = WSABASEERR + 101, 549 + WSASYSNOTREADY = WSABASEERR + 91, 550 + WSAVERNOTSUPPORTED = WSABASEERR + 92, 551 + WSANOTINITIALISED = WSABASEERR + 93, 552 + WSAHOST_NOT_FOUND = WSABASEERR + 1001, 553 + WSATRY_AGAIN = WSABASEERR + 1002, 554 + WSANO_RECOVERY = WSABASEERR + 1003, 555 + WSANO_DATA = WSABASEERR + 1004, 556 + WSANO_ADDRESS = WSANO_DATA, 557 + 558 + // WinSock2 specific error codes 559 + WSAENOMORE = WSABASEERR + 102, 560 + WSAECANCELLED = WSABASEERR + 103, 561 + WSAEINVALIDPROCTABLE = WSABASEERR + 104, 562 + WSAEINVALIDPROVIDER = WSABASEERR + 105, 563 + WSAEPROVIDERFAILEDINIT = WSABASEERR + 106, 564 + WSASYSCALLFAILURE = WSABASEERR + 107, 565 + WSASERVICE_NOT_FOUND = WSABASEERR + 108, 566 + WSATYPE_NOT_FOUND = WSABASEERR + 109, 567 + WSA_E_NO_MORE = WSABASEERR + 110, 568 + WSA_E_CANCELLED = WSABASEERR + 111, 569 + WSAEREFUSED = WSABASEERR + 112, 570 + 571 + // WS QualityofService errors 572 + WSA_QOS_RECEIVERS = WSABASEERR + 1005, 573 + WSA_QOS_SENDERS = WSABASEERR + 1006, 574 + WSA_QOS_NO_SENDERS = WSABASEERR + 1007, 575 + WSA_QOS_NO_RECEIVERS = WSABASEERR + 1008, 576 + WSA_QOS_REQUEST_CONFIRMED = WSABASEERR + 1009, 577 + WSA_QOS_ADMISSION_FAILURE = WSABASEERR + 1010, 578 + WSA_QOS_POLICY_FAILURE = WSABASEERR + 1011, 579 + WSA_QOS_BAD_STYLE = WSABASEERR + 1012, 580 + WSA_QOS_BAD_OBJECT = WSABASEERR + 1013, 581 + WSA_QOS_TRAFFIC_CTRL_ERROR = WSABASEERR + 1014, 582 + WSA_QOS_GENERIC_ERROR = WSABASEERR + 1015, 583 + WSA_QOS_ESERVICETYPE = WSABASEERR + 1016, 584 + WSA_QOS_EFLOWSPEC = WSABASEERR + 1017, 585 + WSA_QOS_EPROVSPECBUF = WSABASEERR + 1018, 586 + WSA_QOS_EFILTERSTYLE = WSABASEERR + 1019, 587 + WSA_QOS_EFILTERTYPE = WSABASEERR + 1020, 588 + WSA_QOS_EFILTERCOUNT = WSABASEERR + 1021, 589 + WSA_QOS_EOBJLENGTH = WSABASEERR + 1022, 590 + WSA_QOS_EFLOWCOUNT = WSABASEERR + 1023, 591 + WSA_QOS_EUNKOWNPSOBJ = WSABASEERR + 1024, 592 + WSA_QOS_EPOLICYOBJ = WSABASEERR + 1025, 593 + WSA_QOS_EFLOWDESC = WSABASEERR + 1026, 594 + WSA_QOS_EPSFLOWSPEC = WSABASEERR + 1027, 595 + WSA_QOS_EPSFILTERSPEC = WSABASEERR + 1028, 596 + WSA_QOS_ESDMODEOBJ = WSABASEERR + 1029, 597 + WSA_QOS_ESHAPERATEOBJ = WSABASEERR + 1030, 598 + WSA_QOS_RESERVED_PETYPE = WSABASEERR + 1031 599 +} 600 + 601 +alias WSAGetLastError h_errno; 602 + 603 +enum : int { 604 + HOST_NOT_FOUND = WSAHOST_NOT_FOUND, 605 + TRY_AGAIN = WSATRY_AGAIN, 606 + NO_RECOVERY = WSANO_RECOVERY, 607 + NO_DATA = WSANO_DATA, 608 + NO_ADDRESS = WSANO_ADDRESS 609 +} 610 + 611 +extern (Windows) { 612 + SOCKET accept(SOCKET, SOCKADDR*, int*); 613 + int bind(SOCKET, CPtr!(SOCKADDR), int); 614 + int closesocket(SOCKET); 615 + int connect(SOCKET, CPtr!(SOCKADDR), int); 616 + int ioctlsocket(SOCKET, int, u_long*); 617 + int getpeername(SOCKET, SOCKADDR*, int*); 618 + int getsockname(SOCKET, SOCKADDR*, int*); 619 + int getsockopt(SOCKET, int, int, void*, int*); 620 + uint inet_addr(CPtr!(char)); 621 + int listen(SOCKET, int); 622 + int recv(SOCKET, ubyte*, int, int); 623 + int recvfrom(SOCKET, ubyte*, int, int, SOCKADDR*, int*); 624 + int send(SOCKET, CPtr!(ubyte), int, int); 625 + int sendto(SOCKET, CPtr!(ubyte), int, int, CPtr!(SOCKADDR), int); 626 + int setsockopt(SOCKET, int, int, CPtr!(void), int); 627 + int shutdown(SOCKET, int); 628 + SOCKET socket(int, int, int); 629 + 630 + alias typeof(&accept) LPFN_ACCEPT; 631 + alias typeof(&bind) LPFN_BIND; 632 + alias typeof(&closesocket) LPFN_CLOSESOCKET; 633 + alias typeof(&connect) LPFN_CONNECT; 634 + alias typeof(&ioctlsocket) LPFN_IOCTLSOCKET; 635 + alias typeof(&getpeername) LPFN_GETPEERNAME; 636 + alias typeof(&getsockname) LPFN_GETSOCKNAME; 637 + alias typeof(&getsockopt) LPFN_GETSOCKOPT; 638 + alias typeof(&inet_addr) LPFN_INET_ADDR; 639 + alias typeof(&listen) LPFN_LISTEN; 640 + alias typeof(&recv) LPFN_RECV; 641 + alias typeof(&recvfrom) LPFN_RECVFROM; 642 + alias typeof(&send) LPFN_SEND; 643 + alias typeof(&sendto) LPFN_SENDTO; 644 + alias typeof(&setsockopt) LPFN_SETSOCKOPT; 645 + alias typeof(&shutdown) LPFN_SHUTDOWN; 646 + alias typeof(&socket) LPFN_SOCKET; 647 +} 648 + 649 +extern(Windows) { 650 + char* inet_ntoa(IN_ADDR); 651 + HOSTENT* gethostbyaddr(CPtr!(char), int, int); 652 + HOSTENT* gethostbyname(CPtr!(char)); 653 + SERVENT* getservbyport(int, CPtr!(char)); 654 + SERVENT* getservbyname(CPtr!(char), CPtr!(char)); 655 + PROTOENT* getprotobynumber(int); 656 + PROTOENT* getprotobyname(CPtr!(char)); 657 + 658 + /* NOTE: DK: in the original headers, these were declared with 659 + PASCAL linkage. Since this is at odds with the definition 660 + of the functions themselves, and also since MinGW seems to 661 + treat the two interchangably, I have moved them here. */ 662 + alias typeof(&inet_ntoa) LPFN_INET_NTOA; 663 + alias typeof(&gethostbyaddr) LPFN_GETHOSTBYADDR; 664 + alias typeof(&gethostbyname) LPFN_GETHOSTBYNAME; 665 + alias typeof(&getservbyport) LPFN_GETSERVBYPORT; 666 + alias typeof(&getservbyname) LPFN_GETSERVBYNAME; 667 + alias typeof(&getprotobynumber) LPFN_GETPROTOBYNUMBER; 668 + alias typeof(&getprotobyname) LPFN_GETPROTOBYNAME; 669 +} 670 + 671 +extern(Windows) { 672 + int WSAStartup(WORD, LPWSADATA); 673 + int WSACleanup(); 674 + void WSASetLastError(int); 675 + int WSAGetLastError(); 676 + 677 + alias typeof(&WSAStartup) LPFN_WSASTARTUP; 678 + alias typeof(&WSACleanup) LPFN_WSACLEANUP; 679 + alias typeof(&WSASetLastError) LPFN_WSASETLASTERROR; 680 + alias typeof(&WSAGetLastError) LPFN_WSAGETLASTERROR; 681 +} 682 + 683 +/* 684 + * Pseudo-blocking functions are deprecated in WinSock2 685 + * spec. Use threads instead. 686 + */ 687 +deprecated extern(Windows) { 688 + BOOL WSAIsBlocking(); 689 + int WSAUnhookBlockingHook(); 690 + FARPROC WSASetBlockingHook(FARPROC); 691 + int WSACancelBlockingCall(); 692 + 693 + alias typeof(&WSAIsBlocking) LPFN_WSAISBLOCKING; 694 + alias typeof(&WSAUnhookBlockingHook) LPFN_WSAUNHOOKBLOCKINGHOOK; 695 + alias typeof(&WSASetBlockingHook) LPFN_WSASETBLOCKINGHOOK; 696 + alias typeof(&WSACancelBlockingCall) LPFN_WSACANCELBLOCKINGCALL; 697 +} 698 + 699 +extern(Windows) { 700 + HANDLE WSAAsyncGetServByName(HWND, u_int, CPtr!(char), CPtr!(char), char*, int); 701 + HANDLE WSAAsyncGetServByPort(HWND, u_int, int, CPtr!(char), char*, int); 702 + HANDLE WSAAsyncGetProtoByName(HWND, u_int, CPtr!(char), char*, int); 703 + HANDLE WSAAsyncGetProtoByNumber(HWND, u_int, int, char*, int); 704 + HANDLE WSAAsyncGetHostByName(HWND, u_int, CPtr!(char), char*, int); 705 + HANDLE WSAAsyncGetHostByAddr(HWND, u_int, CPtr!(char), int, int, char*, int); 706 + int WSACancelAsyncRequest(HANDLE); 707 + int WSAAsyncSelect(SOCKET, HWND, u_int, long); 708 + 709 + alias typeof(&WSAAsyncGetServByName) LPFN_WSAAsyncGetServByName; 710 + alias typeof(&WSAAsyncGetServByPort) LPFN_WSAASYNCGETSERVBYPORT; 711 + alias typeof(&WSAAsyncGetProtoByName) LPFN_WSAASYNCGETPROTOBYNAME; 712 + alias typeof(&WSAAsyncGetProtoByNumber) LPFN_WSAASYNCGETPROTOBYNUMBER; 713 + alias typeof(&WSAAsyncGetHostByName) LPFN_WSAASYNCGETHOSTBYNAME; 714 + alias typeof(&WSAAsyncGetHostByAddr) LPFN_WSAASYNCGETHOSTBYADDR; 715 + alias typeof(&WSACancelAsyncRequest) LPFN_WSACANCELASYNCREQUEST; 716 + alias typeof(&WSAAsyncSelect) LPFN_WSAASYNCSELECT; 717 +} 718 + 719 +extern(Windows) { 720 + u_long htonl(u_long); 721 + u_long ntohl(u_long); 722 + u_short htons(u_short); 723 + u_short ntohs(u_short); 724 + int select(int nfds, fd_set*, fd_set*, fd_set*, CPtr!(TIMEVAL)); 725 + 726 + alias typeof(&htonl) LPFN_HTONL; 727 + alias typeof(&ntohl) LPFN_NTOHL; 728 + alias typeof(&htons) LPFN_HTONS; 729 + alias typeof(&ntohs) LPFN_NTOHS; 730 + alias typeof(&select) LPFN_SELECT; 731 + 732 + int gethostname(char*, int); 733 + alias typeof(&gethostname) LPFN_GETHOSTNAME; 734 +} 735 + 736 +alias MAKELONG WSAMAKEASYNCREPLY, WSAMAKESELECTREPLY; 737 +alias LOWORD WSAGETASYNCBUFLEN, WSAGETSELECTEVENT; 738 +alias HIWORD WSAGETASYNCERROR, WSAGETSELECTERROR; 739 + 740 + 741 +alias INADDR_ANY ADDR_ANY; 742 + 743 +bool IN_CLASSD(int i) { return (i & 0xf0000000) == 0xe0000000; } 744 + 745 +const IN_CLASSD_NET = 0xf0000000; 746 +const IN_CLASSD_NSHIFT = 28; 747 +const IN_CLASSD_HOST = 0x0fffffff; 748 + 749 +alias IN_CLASSD IN_MULTICAST; 750 + 751 +const FROM_PROTOCOL_INFO = -1; 752 + 753 +enum : int { 754 + SO_GROUP_ID = 0x2001, 755 + SO_GROUP_PRIORITY, 756 + SO_MAX_MSG_SIZE, 757 + SO_PROTOCOL_INFOA, 758 + SO_PROTOCOL_INFOW 759 +} 760 +// NOTE: These are logically part of the previous enum, but you can't 761 +// have version statements in an enum body... 762 +version(Unicode) 763 + const int SO_PROTOCOL_INFO = SO_PROTOCOL_INFOW; 764 +else 765 + const int SO_PROTOCOL_INFO = SO_PROTOCOL_INFOA; 766 + 767 +const PVD_CONFIG = 0x3001; 768 + 769 +const MSG_INTERRUPT = 0x10; 770 +//const MSG_MAXIOVLEN = 16; // Already declared above 771 + 772 +alias HANDLE WSAEVENT; 773 +alias LPHANDLE LPWSAEVENT; 774 +alias OVERLAPPED WSAOVERLAPPED; 775 +alias OVERLAPPED* LPWSAOVERLAPPED; 776 + 777 +private import win32.winerror; 778 +private import win32.winbase; 779 + 780 +enum { 781 + WSA_IO_PENDING = ERROR_IO_PENDING, 782 + WSA_IO_INCOMPLETE = ERROR_IO_INCOMPLETE, 783 + WSA_INVALID_HANDLE = ERROR_INVALID_HANDLE, 784 + WSA_INVALID_PARAMETER = ERROR_INVALID_PARAMETER, 785 + WSA_NOT_ENOUGH_MEMORY = ERROR_NOT_ENOUGH_MEMORY, 786 + WSA_OPERATION_ABORTED = ERROR_OPERATION_ABORTED 787 +} 788 + 789 +const WSA_INVALID_EVENT = cast(WSAEVENT)null; 790 +const WSA_MAXIMUM_WAIT_EVENTS = MAXIMUM_WAIT_OBJECTS; 791 +const WSA_WAIT_FAILED = cast(DWORD)-1; 792 +const WSA_WAIT_EVENT_0 = WAIT_OBJECT_0; 793 +const WSA_WAIT_IO_COMPLETION = WAIT_IO_COMPLETION; 794 +const WSA_WAIT_TIMEOUT = WAIT_TIMEOUT; 795 +const WSA_INFINITE = INFINITE; 796 + 797 +struct WSABUF { 798 + uint len; 799 + char* buf; 800 +} 801 + 802 +alias WSABUF* LPWSABUF; 803 + 804 +enum GUARANTEE { 805 + BestEffortService, 806 + ControlledLoadService, 807 + PredictiveService, 808 + GuaranteedDelayService, 809 + GuaranteedService 810 +} 811 + 812 +/* TODO: FLOWSPEC and related definitions belong in qos.h */ 813 + 814 +/* 815 + Windows Sockets 2 Application Programming Interface, 816 + revision 2.2.2 (1997) uses the type uint32 for SERVICETYPE 817 + and the elements of _flowspec, but the type uint32 is not defined 818 + or used anywhere else in the w32api. For now, just use 819 + unsigned int, which is 32 bits on _WIN32 and _WIN64. 820 +*/ 821 + 822 +alias uint SERVICETYPE; 823 + 824 +struct FLOWSPEC { 825 + uint TokenRate; 826 + uint TokenBucketSize; 827 + uint PeakBandwidth; 828 + uint Latency; 829 + uint DelayVariation; 830 + SERVICETYPE ServiceType; 831 + uint MaxSduSize; 832 + uint MinimumPolicedSize; 833 +} 834 + 835 +alias FLOWSPEC* PFLOWSPEC, LPFLOWSPEC; 836 + 837 +struct QOS 838 +{ 839 + FLOWSPEC SendingFlowspec; 840 + FLOWSPEC ReceivingFlowspec; 841 + WSABUF ProviderSpecific; 842 +} 843 + 844 +alias QOS* LPQOS; 845 + 846 +enum { 847 + CF_ACCEPT, 848 + CF_REJECT, 849 + CF_DEFER 850 +} 851 + 852 +// REM: Already defined above 853 +/*enum { 854 + SD_RECEIVE, 855 + SD_SEND, 856 + SD_BOTH 857 +}*/ 858 + 859 +alias uint GROUP; 860 + 861 +enum { 862 + SG_UNCONSTRAINED_GROUP = 0x01, 863 + SG_CONSTRAINED_GROUP 864 +} 865 + 866 +struct WSANETWORKEVENTS { 867 + int lNetworkEvents; 868 + int[FD_MAX_EVENTS] iErrorCode; 869 +} 870 + 871 +alias WSANETWORKEVENTS* LPWSANETWORKEVENTS; 872 + 873 +const MAX_PROTOCOL_CHAIN = 7; 874 + 875 +const BASE_PROTOCOL = 1; 876 +const LAYERED_PROTOCOL = 0; 877 + 878 +enum WSAESETSERVICEOP 879 +{ 880 + RNRSERVICE_REGISTER = 0, 881 + RNRSERVICE_DEREGISTER, 882 + RNRSERVICE_DELETE 883 +} 884 + 885 +alias WSAESETSERVICEOP* PWSAESETSERVICEOP, LPWSAESETSERVICEOP; 886 + 887 +struct AFPROTOCOLS { 888 + INT iAddressFamily; 889 + INT iProtocol; 890 +} 891 + 892 +alias AFPROTOCOLS* PAFPROTOCOLS, LPAFPROTOCOLS; 893 + 894 +enum WSAECOMPARATOR 895 +{ 896 + COMP_EQUAL = 0, 897 + COMP_NOTLESS 898 +} 899 + 900 +alias WSAECOMPARATOR* PWSAECOMPARATOR, LPWSAECOMPARATOR; 901 + 902 +struct WSAVERSION 903 +{ 904 + DWORD dwVersion; 905 + WSAECOMPARATOR ecHow; 906 +} 907 + 908 +alias WSAVERSION* PWSAVERSION, LPWSAVERSION; 909 + 910 +// Import for SOCKET_ADDRESS, CSADDR_INFO 911 +// import win32.nspapi; 912 +//#ifndef __CSADDR_T_DEFINED /* also in nspapi.h */ 913 +//#define __CSADDR_T_DEFINED 914 + 915 +struct SOCKET_ADDRESS { 916 + LPSOCKADDR lpSockaddr; 917 + INT iSockaddrLength; 918 +} 919 + 920 +alias SOCKET_ADDRESS* PSOCKET_ADDRESS, LPSOCKET_ADDRESS; 921 + 922 +struct CSADDR_INFO { 923 + SOCKET_ADDRESS LocalAddr; 924 + SOCKET_ADDRESS RemoteAddr; 925 + INT iSocketType; 926 + INT iProtocol; 927 +} 928 + 929 +alias CSADDR_INFO* PCSADDR_INFO, LPCSADDR_INFO; 930 + 931 +//#endif 932 + 933 +struct SOCKET_ADDRESS_LIST { 934 + INT iAddressCount; 935 + SOCKET_ADDRESS[1] _Address; 936 + SOCKET_ADDRESS* Address() { return _Address.ptr; } 937 +} 938 + 939 +alias SOCKET_ADDRESS_LIST* LPSOCKET_ADDRESS_LIST; 940 + 941 +// TODO: Import wtypes/nspapi? 942 +//#ifndef __BLOB_T_DEFINED /* also in wtypes.h and nspapi.h */ 943 +//#define __BLOB_T_DEFINED 944 +struct BLOB { 945 + ULONG cbSize; 946 + BYTE* pBlobData; 947 +} 948 + 949 +alias BLOB* PBLOB, LPBLOB; 950 +//#endif 951 + 952 +struct WSAQUERYSETA 953 +{ 954 + DWORD dwSize; 955 + LPSTR lpszServiceInstanceName; 956 + LPGUID lpServiceClassId; 957 + LPWSAVERSION lpVersion; 958 + LPSTR lpszComment; 959 + DWORD dwNameSpace; 960 + LPGUID lpNSProviderId; 961 + LPSTR lpszContext; 962 + DWORD dwNumberOfProtocols; 963 + LPAFPROTOCOLS lpafpProtocols; 964 + LPSTR lpszQueryString; 965 + DWORD dwNumberOfCsAddrs; 966 + LPCSADDR_INFO lpcsaBuffer; 967 + DWORD dwOutputFlags; 968 + LPBLOB lpBlob; 969 +} 970 + 971 +alias WSAQUERYSETA* PWSAQUERYSETA, LPWSAQUERYSETA; 972 + 973 +struct WSAQUERYSETW 974 +{ 975 + DWORD dwSize; 976 + LPWSTR lpszServiceInstanceName; 977 + LPGUID lpServiceClassId; 978 + LPWSAVERSION lpVersion; 979 + LPWSTR lpszComment; 980 + DWORD dwNameSpace; 981 + LPGUID lpNSProviderId; 982 + LPWSTR lpszContext; 983 + DWORD dwNumberOfProtocols; 984 + LPAFPROTOCOLS lpafpProtocols; 985 + LPWSTR lpszQueryString; 986 + DWORD dwNumberOfCsAddrs; 987 + LPCSADDR_INFO lpcsaBuffer; 988 + DWORD dwOutputFlags; 989 + LPBLOB lpBlob; 990 +} 991 + 992 + 993 +alias WSAQUERYSETW* PWSAQUERYSETW, LPWSAQUERYSETW; 994 + 995 +version(Unicode) { 996 + alias WSAQUERYSETW WSAQUERYSET; 997 + alias PWSAQUERYSETW PWSAQUERYSET; 998 + alias LPWSAQUERYSETW LPWSAQUERYSET; 999 +} else { 1000 + alias WSAQUERYSETA WSAQUERYSET; 1001 + alias PWSAQUERYSETA PWSAQUERYSET; 1002 + alias LPWSAQUERYSETA LPWSAQUERYSET; 1003 +} 1004 + 1005 +const int 1006 + LUP_DEEP = 0x0001, 1007 + LUP_CONTAINERS = 0x0002, 1008 + LUP_NOCONTAINERS = 0x0004, 1009 + LUP_NEAREST = 0x0008, 1010 + LUP_RETURN_NAME = 0x0010, 1011 + LUP_RETURN_TYPE = 0x0020, 1012 + LUP_RETURN_VERSION = 0x0040, 1013 + LUP_RETURN_COMMENT = 0x0080, 1014 + LUP_RETURN_ADDR = 0x0100, 1015 + LUP_RETURN_BLOB = 0x0200, 1016 + LUP_RETURN_ALIASES = 0x0400, 1017 + LUP_RETURN_QUERY_STRING = 0x0800, 1018 + LUP_RETURN_ALL = 0x0FF0, 1019 + LUP_RES_SERVICE = 0x8000, 1020 + LUP_FLUSHCACHE = 0x1000, 1021 + LUP_FLUSHPREVIOUS = 0x2000; 1022 + 1023 +struct WSANSCLASSINFOA 1024 +{ 1025 + LPSTR lpszName; 1026 + DWORD dwNameSpace; 1027 + DWORD dwValueType; 1028 + DWORD dwValueSize; 1029 + LPVOID lpValue; 1030 +} 1031 + 1032 +alias WSANSCLASSINFOA* PWSANSCLASSINFOA, LPWSANSCLASSINFOA; 1033 + 1034 +struct WSANSCLASSINFOW 1035 +{ 1036 + LPWSTR lpszName; 1037 + DWORD dwNameSpace; 1038 + DWORD dwValueType; 1039 + DWORD dwValueSize; 1040 + LPVOID lpValue; 1041 +} 1042 + 1043 +alias WSANSCLASSINFOW* PWSANSCLASSINFOW, LPWSANSCLASSINFOW; 1044 + 1045 +version(Unicode) { 1046 + alias WSANSCLASSINFOW WSANSCLASSINFO; 1047 + alias PWSANSCLASSINFOW PWSANSCLASSINFO; 1048 + alias LPWSANSCLASSINFOW LPWSANSCLASSINFO; 1049 +} else { 1050 + alias WSANSCLASSINFOA WSANSCLASSINFO; 1051 + alias PWSANSCLASSINFOA PWSANSCLASSINFO; 1052 + alias LPWSANSCLASSINFOA LPWSANSCLASSINFO; 1053 +} 1054 + 1055 +struct WSASERVICECLASSINFOA 1056 +{ 1057 + LPGUID lpServiceClassId; 1058 + LPSTR lpszServiceClassName; 1059 + DWORD dwCount; 1060 + LPWSANSCLASSINFOA lpClassInfos; 1061 +} 1062 + 1063 +alias WSASERVICECLASSINFOA* PWSASERVICECLASSINFOA, LPWSASERVICECLASSINFOA; 1064 + 1065 +struct WSASERVICECLASSINFOW 1066 +{ 1067 + LPGUID lpServiceClassId; 1068 + LPWSTR lpszServiceClassName; 1069 + DWORD dwCount; 1070 + LPWSANSCLASSINFOW lpClassInfos; 1071 +} 1072 + 1073 +alias WSASERVICECLASSINFOW* PWSASERVICECLASSINFOW, LPWSASERVICECLASSINFOW; 1074 + 1075 +version(Unicode) { 1076 + alias WSASERVICECLASSINFOW WSASERVICECLASSINFO; 1077 + alias PWSASERVICECLASSINFOW PWSASERVICECLASSINFO; 1078 + alias LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO; 1079 +} else { 1080 + alias WSASERVICECLASSINFOA WSASERVICECLASSINFO; 1081 + alias PWSASERVICECLASSINFOA PWSASERVICECLASSINFO; 1082 + alias LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFO; 1083 +} 1084 + 1085 +struct WSANAMESPACE_INFOA { 1086 + GUID NSProviderId; 1087 + DWORD dwNameSpace; 1088 + BOOL fActive; 1089 + DWORD dwVersion; 1090 + LPSTR lpszIdentifier; 1091 +} 1092 + 1093 +alias WSANAMESPACE_INFOA* PWSANAMESPACE_INFOA, LPWSANAMESPACE_INFOA; 1094 + 1095 +struct WSANAMESPACE_INFOW { 1096 + GUID NSProviderId; 1097 + DWORD dwNameSpace; 1098 + BOOL fActive; 1099 + DWORD dwVersion; 1100 + LPWSTR lpszIdentifier; 1101 +} 1102 + 1103 +alias WSANAMESPACE_INFOW* PWSANAMESPACE_INFOW, LPWSANAMESPACE_INFOW; 1104 + 1105 +version(Unicode) { 1106 + alias WSANAMESPACE_INFOW WSANAMESPACE_INFO; 1107 + alias PWSANAMESPACE_INFOW PWSANAMESPACE_INFO; 1108 + alias LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO; 1109 +} else { 1110 + alias WSANAMESPACE_INFOA WSANAMESPACE_INFO; 1111 + alias PWSANAMESPACE_INFOA PWSANAMESPACE_INFO; 1112 + alias LPWSANAMESPACE_INFOA LPWSANAMESPACE_INFO; 1113 +} 1114 + 1115 +struct WSAPROTOCOLCHAIN { 1116 + int ChainLen; 1117 + DWORD[MAX_PROTOCOL_CHAIN] ChainEntries; 1118 +} 1119 + 1120 +alias WSAPROTOCOLCHAIN* LPWSAPROTOCOLCHAIN; 1121 + 1122 +const WSAPROTOCOL_LEN = 255; 1123 + 1124 +struct WSAPROTOCOL_INFOA { 1125 + DWORD dwServiceFlags1; 1126 + DWORD dwServiceFlags2; 1127 + DWORD dwServiceFlags3; 1128 + DWORD dwServiceFlags4; 1129 + DWORD dwProviderFlags; 1130 + GUID ProviderId; 1131 + DWORD dwCatalogEntryId; 1132 + WSAPROTOCOLCHAIN ProtocolChain; 1133 + int iVersion; 1134 + int iAddressFamily; 1135 + int iMaxSockAddr; 1136 + int iMinSockAddr; 1137 + int iSocketType; 1138 + int iProtocol; 1139 + int iProtocolMaxOffset; 1140 + int iNetworkByteOrder; 1141 + int iSecurityScheme; 1142 + DWORD dwMessageSize; 1143 + DWORD dwProviderReserved; 1144 + CHAR[WSAPROTOCOL_LEN+1] szProtocol; 1145 +} 1146 + 1147 +alias WSAPROTOCOL_INFOA* LPWSAPROTOCOL_INFOA; 1148 + 1149 +struct WSAPROTOCOL_INFOW { 1150 + DWORD dwServiceFlags1; 1151 + DWORD dwServiceFlags2; 1152 + DWORD dwServiceFlags3; 1153 + DWORD dwServiceFlags4; 1154 + DWORD dwProviderFlags; 1155 + GUID ProviderId; 1156 + DWORD dwCatalogEntryId; 1157 + WSAPROTOCOLCHAIN ProtocolChain; 1158 + int iVersion; 1159 + int iAddressFamily; 1160 + int iMaxSockAddr; 1161 + int iMinSockAddr; 1162 + int iSocketType; 1163 + int iProtocol; 1164 + int iProtocolMaxOffset; 1165 + int iNetworkByteOrder; 1166 + int iSecurityScheme; 1167 + DWORD dwMessageSize; 1168 + DWORD dwProviderReserved; 1169 + WCHAR[WSAPROTOCOL_LEN+1] szProtocol; 1170 +} 1171 + 1172 +alias WSAPROTOCOL_INFOW* LPWSAPROTOCOL_INFOW; 1173 + 1174 +// TODO: Below fptr was defined as "CALLBACK" for linkage; is this right? 1175 +extern(C) { 1176 + alias int function(LPWSABUF, LPWSABUF, LPQOS, LPQOS, LPWSABUF, LPWSABUF, GROUP *, DWORD) LPCONDITIONPROC; 1177 +} 1178 + 1179 +extern(Windows) { 1180 + alias void function(DWORD, DWORD, LPWSAOVERLAPPED, DWORD) LPWSAOVERLAPPED_COMPLETION_ROUTINE; 1181 +} 1182 + 1183 +version(Unicode) { 1184 + alias WSAPROTOCOL_INFOW WSAPROTOCOL_INFO; 1185 + alias LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO; 1186 +} else { 1187 + alias WSAPROTOCOL_INFOA WSAPROTOCOL_INFO; 1188 + alias LPWSAPROTOCOL_INFOA LPWSAPROTOCOL_INFO; 1189 +} 1190 + 1191 +/* Needed for XP & .NET Server function WSANSPIoctl. */ 1192 +enum WSACOMPLETIONTYPE { 1193 + NSP_NOTIFY_IMMEDIATELY = 0, 1194 + NSP_NOTIFY_HWND, 1195 + NSP_NOTIFY_EVENT, 1196 + NSP_NOTIFY_PORT, 1197 + NSP_NOTIFY_APC 1198 +} 1199 + 1200 +alias WSACOMPLETIONTYPE* PWSACOMPLETIONTYPE, LPWSACOMPLETIONTYPE; 1201 + 1202 +struct WSACOMPLETION { 1203 + WSACOMPLETIONTYPE Type; 1204 + union WSACOMPLETION_PARAMETERS { 1205 + struct WSACOMPLETION_WINDOWMESSAGE { 1206 + HWND hWnd; 1207 + UINT uMsg; 1208 + WPARAM context; 1209 + } 1210 + WSACOMPLETION_WINDOWMESSAGE WindowMessage; 1211 + struct WSACOMPLETION_EVENT { 1212 + LPWSAOVERLAPPED lpOverlapped; 1213 + } 1214 + WSACOMPLETION_EVENT Event; 1215 + struct WSACOMPLETION_APC { 1216 + LPWSAOVERLAPPED lpOverlapped; 1217 + LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc; 1218 + } 1219 + WSACOMPLETION_APC Apc; 1220 + struct WSACOMPLETION_PORT { 1221 + LPWSAOVERLAPPED lpOverlapped; 1222 + HANDLE hPort; 1223 + ULONG_PTR Key; 1224 + } 1225 + WSACOMPLETION_PORT Port; 1226 + } 1227 + WSACOMPLETION_PARAMETERS Parameters; 1228 +} 1229 + 1230 +alias WSACOMPLETION* PWSACOMPLETION, LPWSACOMPLETION; 1231 + 1232 +const int 1233 + PFL_MULTIPLE_PROTO_ENTRIES = 0x00000001, 1234 + PFL_RECOMMENDED_PROTO_ENTRY = 0x00000002, 1235 + PFL_HIDDEN = 0x00000004, 1236 + PFL_MATCHES_PROTOCOL_ZERO = 0x00000008; 1237 + 1238 +const int 1239 + XP1_CONNECTIONLESS = 0x00000001, 1240 + XP1_GUARANTEED_DELIVERY = 0x00000002, 1241 + XP1_GUARANTEED_ORDER = 0x00000004, 1242 + XP1_MESSAGE_ORIENTED = 0x00000008, 1243 + XP1_PSEUDO_STREAM = 0x00000010, 1244 + XP1_GRACEFUL_CLOSE = 0x00000020, 1245 + XP1_EXPEDITED_DATA = 0x00000040, 1246 + XP1_CONNECT_DATA = 0x00000080, 1247 + XP1_DISCONNECT_DATA = 0x00000100, 1248 + XP1_SUPPORT_BROADCAST = 0x00000200, 1249 + XP1_SUPPORT_MULTIPOINT = 0x00000400, 1250 + XP1_MULTIPOINT_CONTROL_PLANE = 0x00000800, 1251 + XP1_MULTIPOINT_DATA_PLANE = 0x00001000, 1252 + XP1_QOS_SUPPORTED = 0x00002000, 1253 + XP1_INTERRUPT = 0x00004000, 1254 + XP1_UNI_SEND = 0x00008000, 1255 + XP1_UNI_RECV = 0x00010000, 1256 + XP1_IFS_HANDLES = 0x00020000, 1257 + XP1_PARTIAL_MESSAGE = 0x00040000; 1258 + 1259 +enum : int { 1260 + BIGENDIAN = 0x0000, 1261 + LITTLEENDIAN = 0x0001 1262 +} 1263 + 1264 +const SECURITY_PROTOCOL_NONE = 0x0000; 1265 + 1266 +const JL_SENDER_ONLY = 0x01; 1267 +const JL_RECEIVER_ONLY = 0x02; 1268 +const JL_BOTH = 0x04; 1269 + 1270 +const WSA_FLAG_OVERLAPPED = 0x01; 1271 +const WSA_FLAG_MULTIPOINT_C_ROOT = 0x02; 1272 +const WSA_FLAG_MULTIPOINT_C_LEAF = 0x04; 1273 +const WSA_FLAG_MULTIPOINT_D_ROOT = 0x08; 1274 +const WSA_FLAG_MULTIPOINT_D_LEAF = 0x10; 1275 + 1276 +const int IOC_UNIX = 0x00000000; 1277 +const int IOC_WS2 = 0x08000000; 1278 +const int IOC_PROTOCOL = 0x10000000; 1279 +const int IOC_VENDOR = 0x18000000; 1280 + 1281 +template _WSAIO(int x, int y) { const int _WSAIO = IOC_VOID | x | y; } 1282 +template _WSAIOR(int x, int y) { const int _WSAIOR = IOC_OUT | x | y; } 1283 +template _WSAIOW(int x, int y) { const int _WSAIOW = IOC_IN | x | y; } 1284 +template _WSAIORW(int x, int y) { const int _WSAIORW = IOC_INOUT | x | y; } 1285 + 1286 +const int SIO_ASSOCIATE_HANDLE = _WSAIOW!(IOC_WS2,1); 1287 +const int SIO_ENABLE_CIRCULAR_QUEUEING = _WSAIO!(IOC_WS2,2); 1288 +const int SIO_FIND_ROUTE = _WSAIOR!(IOC_WS2,3); 1289 +const int SIO_FLUSH = _WSAIO!(IOC_WS2,4); 1290 +const int SIO_GET_BROADCAST_ADDRESS = _WSAIOR!(IOC_WS2,5); 1291 +const int SIO_GET_EXTENSION_FUNCTION_POINTER = _WSAIORW!(IOC_WS2,6); 1292 +const int SIO_GET_QOS = _WSAIORW!(IOC_WS2,7); 1293 +const int SIO_GET_GROUP_QOS = _WSAIORW!(IOC_WS2,8); 1294 +const int SIO_MULTIPOINT_LOOPBACK = _WSAIOW!(IOC_WS2,9); 1295 +const int SIO_MULTICAST_SCOPE = _WSAIOW!(IOC_WS2,10); 1296 +const int SIO_SET_QOS = _WSAIOW!(IOC_WS2,11); 1297 +const int SIO_SET_GROUP_QOS = _WSAIOW!(IOC_WS2,12); 1298 +const int SIO_TRANSLATE_HANDLE = _WSAIORW!(IOC_WS2,13); 1299 +const int SIO_ROUTING_INTERFACE_QUERY = _WSAIORW!(IOC_WS2,20); 1300 +const int SIO_ROUTING_INTERFACE_CHANGE = _WSAIOW!(IOC_WS2,21); 1301 +const int SIO_ADDRESS_LIST_QUERY = _WSAIOR!(IOC_WS2,22); 1302 +const int SIO_ADDRESS_LIST_CHANGE = _WSAIO!(IOC_WS2,23); 1303 +const int SIO_QUERY_TARGET_PNP_HANDLE = _WSAIOR!(IOC_WS2,24); 1304 +const int SIO_NSP_NOTIFY_CHANGE = _WSAIOW!(IOC_WS2,25); 1305 + 1306 +const int TH_NETDEV = 1; 1307 +const int TH_TAPI = 2; 1308 + 1309 + 1310 +extern(Windows) { 1311 + SOCKET WSAAccept(SOCKET, SOCKADDR*, LPINT, LPCONDITIONPROC, DWORD); 1312 + INT WSAAddressToStringA(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOA, LPSTR, LPDWORD); 1313 + INT WSAAddressToStringW(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD); 1314 + BOOL WSACloseEvent(WSAEVENT); 1315 + int WSAConnect(SOCKET, CPtr!(SOCKADDR), int, LPWSABUF, LPWSABUF, LPQOS, LPQOS); 1316 + WSAEVENT WSACreateEvent(); 1317 + int WSADuplicateSocketA(SOCKET, DWORD, LPWSAPROTOCOL_INFOA); 1318 + int WSADuplicateSocketW(SOCKET, DWORD, LPWSAPROTOCOL_INFOW); 1319 + INT WSAEnumNameSpaceProvidersA(LPDWORD, LPWSANAMESPACE_INFOA); 1320 + INT WSAEnumNameSpaceProvidersW(LPDWORD, LPWSANAMESPACE_INFOW); 1321 + int WSAEnumNetworkEvents(SOCKET, WSAEVENT, LPWSANETWORKEVENTS); 1322 + int WSAEnumProtocolsA(LPINT, LPWSAPROTOCOL_INFOA, LPDWORD); 1323 + int WSAEnumProtocolsW(LPINT, LPWSAPROTOCOL_INFOW, LPDWORD); 1324 + int WSAEventSelect(SOCKET, WSAEVENT, int); 1325 + BOOL WSAGetOverlappedResult(SOCKET, LPWSAOVERLAPPED, LPDWORD, BOOL, LPDWORD); 1326 + BOOL WSAGetQOSByName(SOCKET, LPWSABUF, LPQOS); 1327 + INT WSAGetServiceClassInfoA(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOA); 1328 + INT WSAGetServiceClassInfoW(LPGUID, LPGUID, LPDWORD, LPWSASERVICECLASSINFOW); 1329 + INT WSAGetServiceClassNameByClassIdA(LPGUID, LPSTR, LPDWORD); 1330 + INT WSAGetServiceClassNameByClassIdW(LPGUID, LPWSTR, LPDWORD); 1331 + int WSAHtonl(SOCKET, uint, uint*); 1332 + int WSAHtons(SOCKET, ushort, ushort*); 1333 + INT WSAInstallServiceClassA(LPWSASERVICECLASSINFOA); 1334 + INT WSAInstallServiceClassW(LPWSASERVICECLASSINFOW); 1335 + int WSAIoctl(SOCKET, DWORD, LPVOID, DWORD, LPVOID, DWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE); 1336 + SOCKET WSAJoinLeaf(SOCKET, CPtr!(SOCKADDR), int, LPWSABUF, LPWSABUF, LPQOS, LPQOS, DWORD); 1337 + INT WSALookupServiceBeginA(LPWSAQUERYSETA, DWORD, LPHANDLE); 1338 + INT WSALookupServiceBeginW(LPWSAQUERYSETW lpqsRestrictions, DWORD, LPHANDLE); 1339 + INT WSALookupServiceNextA(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETA); 1340 + INT WSALookupServiceNextW(HANDLE, DWORD, LPDWORD, LPWSAQUERYSETW); 1341 + INT WSALookupServiceEnd(HANDLE); 1342 + int WSANSPIoctl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPWSACOMPLETION); /* XP or .NET Server */ 1343 + int WSANtohl(SOCKET, uint, uint*); 1344 + int WSANtohs(SOCKET, ushort, ushort*); 1345 + int WSARecv(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE); 1346 + int WSARecvDisconnect(SOCKET, LPWSABUF); 1347 + int WSARecvFrom(SOCKET, LPWSABUF, DWORD, LPDWORD, LPDWORD, SOCKADDR*, LPINT, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE); 1348 + INT WSARemoveServiceClass(LPGUID); 1349 + BOOL WSAResetEvent(WSAEVENT); 1350 + int WSASend(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE); 1351 + int WSASendDisconnect(SOCKET, LPWSABUF); 1352 + int WSASendTo(SOCKET, LPWSABUF, DWORD, LPDWORD, DWORD, CPtr!(SOCKADDR), int, LPWSAOVERLAPPED, LPWSAOVERLAPPED_COMPLETION_ROUTINE); 1353 + BOOL WSASetEvent(WSAEVENT); 1354 + INT WSASetServiceA(LPWSAQUERYSETA, WSAESETSERVICEOP, DWORD); // NB: was declared with "WSAAPI" linkage 1355 + INT WSASetServiceW(LPWSAQUERYSETW, WSAESETSERVICEOP, DWORD); 1356 + SOCKET WSASocketA(int, int, int, LPWSAPROTOCOL_INFOA, GROUP, DWORD); 1357 + SOCKET WSASocketW(int, int, int, LPWSAPROTOCOL_INFOW, GROUP, DWORD); 1358 + INT WSAStringToAddressA(LPSTR, INT, LPWSAPROTOCOL_INFOA, LPSOCKADDR, LPINT); 1359 + INT WSAStringToAddressW(LPWSTR, INT, LPWSAPROTOCOL_INFOW, LPSOCKADDR, LPINT); 1360 + DWORD WSAWaitForMultipleEvents(DWORD, CPtr!(WSAEVENT), BOOL, DWORD, BOOL); 1361 + 1362 + alias typeof(&WSAAccept) LPFN_WSAACCEPT; 1363 + alias typeof(&WSAAddressToStringA) LPFN_WSAADDRESSTOSTRINGA; 1364 + alias typeof(&WSAAddressToStringW) LPFN_WSAADDRESSTOSTRINGW; 1365 + alias typeof(&WSACloseEvent) LPFN_WSACLOSEEVENT; 1366 + alias typeof(&WSAConnect) LPFN_WSACONNECT; 1367 + alias typeof(&WSACreateEvent) LPFN_WSACREATEEVENT; 1368 + alias typeof(&WSADuplicateSocketA) LPFN_WSADUPLICATESOCKETA; 1369 + alias typeof(&WSADuplicateSocketW) LPFN_WSADUPLICATESOCKETW; 1370 + alias typeof(&WSAEnumNameSpaceProvidersA) LPFN_WSAENUMNAMESPACEPROVIDERSA; 1371 + alias typeof(&WSAEnumNameSpaceProvidersW) LPFN_WSAENUMNAMESPACEPROVIDERSW; 1372 + alias typeof(&WSAEnumNetworkEvents) LPFN_WSAENUMNETWORKEVENTS; 1373 + alias typeof(&WSAEnumProtocolsA) LPFN_WSAENUMPROTOCOLSA; 1374 + alias typeof(&WSAEnumProtocolsW) LPFN_WSAENUMPROTOCOLSW; 1375 + alias typeof(&WSAEventSelect) LPFN_WSAEVENTSELECT; 1376 + alias typeof(&WSAGetOverlappedResult) LPFN_WSAGETOVERLAPPEDRESULT; 1377 + alias typeof(&WSAGetQOSByName) LPFN_WSAGETQOSBYNAME; 1378 + alias typeof(&WSAGetServiceClassInfoA) LPFN_WSAGETSERVICECLASSINFOA; 1379 + alias typeof(&WSAGetServiceClassInfoW) LPFN_WSAGETSERVICECLASSINFOW; 1380 + alias typeof(&WSAGetServiceClassNameByClassIdA) LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA; 1381 + alias typeof(&WSAGetServiceClassNameByClassIdW) LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW; 1382 + alias typeof(&WSAHtonl) LPFN_WSAHTONL; 1383 + alias typeof(&WSAHtons) LPFN_WSAHTONS; 1384 + alias typeof(&WSAInstallServiceClassA) LPFN_WSAINSTALLSERVICECLASSA; 1385 + alias typeof(&WSAInstallServiceClassW) LPFN_WSAINSTALLSERVICECLASSW; 1386 + alias typeof(&WSAIoctl) LPFN_WSAIOCTL; 1387 + alias typeof(&WSAJoinLeaf) LPFN_WSAJOINLEAF; 1388 + alias typeof(&WSALookupServiceBeginA) LPFN_WSALOOKUPSERVICEBEGINA; 1389 + alias typeof(&WSALookupServiceBeginW) LPFN_WSALOOKUPSERVICEBEGINW; 1390 + alias typeof(&WSALookupServiceNextA) LPFN_WSALOOKUPSERVICENEXTA; 1391 + alias typeof(&WSALookupServiceNextW) LPFN_WSALOOKUPSERVICENEXTW; 1392 + alias typeof(&WSALookupServiceEnd) LPFN_WSALOOKUPSERVICEEND; 1393 + alias typeof(&WSANSPIoctl) LPFN_WSANSPIoctl; 1394 + alias typeof(&WSANtohl) LPFN_WSANTOHL; 1395 + alias typeof(&WSANtohs) LPFN_WSANTOHS; 1396 + alias typeof(&WSARecv) LPFN_WSARECV; 1397 + alias typeof(&WSARecvDisconnect) LPFN_WSARECVDISCONNECT; 1398 + alias typeof(&WSARecvFrom) LPFN_WSARECVFROM; 1399 + alias typeof(&WSARemoveServiceClass) LPFN_WSAREMOVESERVICECLASS; 1400 + alias typeof(&WSAResetEvent) LPFN_WSARESETEVENT; 1401 + alias typeof(&WSASend) LPFN_WSASEND; 1402 + alias typeof(&WSASendDisconnect) LPFN_WSASENDDISCONNECT; 1403 + alias typeof(&WSASendTo) LPFN_WSASENDTO; 1404 + alias typeof(&WSASetEvent) LPFN_WSASETEVENT; 1405 + alias typeof(&WSASetServiceA) LPFN_WSASETSERVICEA; 1406 + alias typeof(&WSASetServiceW) LPFN_WSASETSERVICEW; 1407 + alias typeof(&WSASocketA) LPFN_WSASOCKETA; 1408 + alias typeof(&WSASocketW) LPFN_WSASOCKETW; 1409 + alias typeof(&WSAStringToAddressA) LPFN_WSASTRINGTOADDRESSA; 1410 + alias typeof(&WSAStringToAddressW) LPFN_WSASTRINGTOADDRESSW; 1411 + alias typeof(&WSAWaitForMultipleEvents) LPFN_WSAWAITFORMULTIPLEEVENTS; 1412 +} 1413 + 1414 +version(Unicode) { 1415 + alias LPFN_WSAADDRESSTOSTRINGW LPFN_WSAADDRESSTOSTRING; 1416 + alias LPFN_WSADUPLICATESOCKETW LPFN_WSADUPLICATESOCKET; 1417 + alias LPFN_WSAENUMNAMESPACEPROVIDERSW LPFN_WSAENUMNAMESPACEPROVIDERS; 1418 + alias LPFN_WSAENUMPROTOCOLSW LPFN_WSAENUMPROTOCOLS; 1419 + alias LPFN_WSAGETSERVICECLASSINFOW LPFN_WSAGETSERVICECLASSINFO; 1420 + alias LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW LPFN_WSAGETSERVICECLASSNAMEBYCLASSID; 1421 + alias LPFN_WSAINSTALLSERVICECLASSW LPFN_WSAINSTALLSERVICECLASS; 1422 + alias LPFN_WSALOOKUPSERVICEBEGINW LPFN_WSALOOKUPSERVICEBEGIN; 1423 + alias LPFN_WSALOOKUPSERVICENEXTW LPFN_WSALOOKUPSERVICENEXT; 1424 + alias LPFN_WSASETSERVICEW LPFN_WSASETSERVICE; 1425 + alias LPFN_WSASOCKETW LPFN_WSASOCKET; 1426 + alias LPFN_WSASTRINGTOADDRESSW LPFN_WSASTRINGTOADDRESS; 1427 + alias WSAAddressToStringW WSAAddressToString; 1428 + alias WSADuplicateSocketW WSADuplicateSocket; 1429 + alias WSAEnumNameSpaceProvidersW WSAEnumNameSpaceProviders; 1430 + alias WSAEnumProtocolsW WSAEnumProtocols; 1431 + alias WSAGetServiceClassInfoW WSAGetServiceClassInfo; 1432 + alias WSAGetServiceClassNameByClassIdW WSAGetServiceClassNameByClassId; 1433 + alias WSASetServiceW WSASetService; 1434 + alias WSASocketW WSASocket; 1435 + alias WSAStringToAddressW WSAStringToAddress; 1436 + alias WSALookupServiceBeginW WSALookupServiceBegin; 1437 + alias WSALookupServiceNextW WSALookupServiceNext; 1438 + alias WSAInstallServiceClassW WSAInstallServiceClass; 1439 +} else { 1440 + alias LPFN_WSAADDRESSTOSTRINGA LPFN_WSAADDRESSTOSTRING; 1441 + alias LPFN_WSADUPLICATESOCKETW LPFN_WSADUPLICATESOCKET; 1442 + alias LPFN_WSAENUMNAMESPACEPROVIDERSA LPFN_WSAENUMNAMESPACEPROVIDERS; 1443 + alias LPFN_WSAENUMPROTOCOLSA LPFN_WSAENUMPROTOCOLS; 1444 + alias LPFN_WSAGETSERVICECLASSINFOA LPFN_WSAGETSERVICECLASSINFO; 1445 + alias LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA LPFN_WSAGETSERVICECLASSNAMEBYCLASSID; 1446 + alias LPFN_WSAINSTALLSERVICECLASSA LPFN_WSAINSTALLSERVICECLASS; 1447 + alias LPFN_WSALOOKUPSERVICEBEGINA LPFN_WSALOOKUPSERVICEBEGIN; 1448 + alias LPFN_WSALOOKUPSERVICENEXTA LPFN_WSALOOKUPSERVICENEXT; 1449 + alias LPFN_WSASETSERVICEA LPFN_WSASETSERVICE; 1450 + alias LPFN_WSASOCKETA LPFN_WSASOCKET; 1451 + alias LPFN_WSASTRINGTOADDRESSA LPFN_WSASTRINGTOADDRESS; 1452 + alias WSAAddressToStringA WSAAddressToString; 1453 + alias WSADuplicateSocketA WSADuplicateSocket; 1454 + alias WSAEnumNameSpaceProvidersA WSAEnumNameSpaceProviders; 1455 + alias WSAEnumProtocolsA WSAEnumProtocols; 1456 + alias WSAGetServiceClassInfoA WSAGetServiceClassInfo; 1457 + alias WSAGetServiceClassNameByClassIdA WSAGetServiceClassNameByClassId; 1458 + alias WSAInstallServiceClassA WSAInstallServiceClass; 1459 + alias WSALookupServiceBeginA WSALookupServiceBegin; 1460 + alias WSALookupServiceNextA WSALookupServiceNext; 1461 + alias WSASocketA WSASocket; 1462 + alias WSAStringToAddressA WSAStringToAddress; 1463 + alias WSASetServiceA WSASetService; 1464 +}

Modified src/win32/winspool.d from [cc2fc3e0b2848583] to [fa72ba923e60f447].

1 +/***********************************************************************\ 2 +* winspool.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.winspool; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 5 - 6 -import win32.windef; 7 -import win32.winbase; 8 -import win32.wingdi; 9 - 10 -// #ifndef _WINSPOOL_ 11 -// #define _WINSPOOL_ 12 - 13 -// #ifdef _WINUSER_ 14 -// #... 15 -// #endif 16 - 17 -// #ifdef __cplusplus 18 -// extern "C" { 19 -// #endif 20 - 21 -struct _PRINTER_INFO_1A { 22 - DWORD Flags; 23 - LPSTR pDescription; 24 - LPSTR pName; 25 - LPSTR pComment; 11 +pragma(lib, "winspool.lib"); 12 + 13 +private import win32.w32api, win32.windef, win32.wingdi; 14 +private import win32.winbase; // for SYSTEMTIME 15 + 16 +// FIXME: clean up Windows version support 17 + 18 +const DI_CHANNEL=1; 19 +const DI_CHANNEL_WRITE=2; 20 +const DI_READ_SPOOL_JOB=3; 21 + 22 +const FORM_BUILTIN=1; 23 + 24 +const JOB_CONTROL_PAUSE=1; 25 +const JOB_CONTROL_RESUME=2; 26 +const JOB_CONTROL_CANCEL=3; 27 +const JOB_CONTROL_RESTART=4; 28 +const JOB_CONTROL_DELETE=5; 29 +const JOB_STATUS_PAUSED=1; 30 +const JOB_STATUS_ERROR=2; 31 +const JOB_STATUS_DELETING=4; 32 +const JOB_STATUS_SPOOLING=8; 33 +const JOB_STATUS_PRINTING=16; 34 +const JOB_STATUS_OFFLINE=32; 35 +const JOB_STATUS_PAPEROUT=0x40; 36 +const JOB_STATUS_PRINTED=0x80; 37 +const JOB_STATUS_DELETED=0x100; 38 +const JOB_STATUS_BLOCKED_DEVQ=0x200; 39 +const JOB_STATUS_USER_INTERVENTION=0x400; 40 + 41 +const JOB_POSITION_UNSPECIFIED=0; 42 + 43 +const JOB_NOTIFY_TYPE=1; 44 + 45 +const JOB_NOTIFY_FIELD_PRINTER_NAME=0; 46 +const JOB_NOTIFY_FIELD_MACHINE_NAME=1; 47 +const JOB_NOTIFY_FIELD_PORT_NAME=2; 48 +const JOB_NOTIFY_FIELD_USER_NAME=3; 49 +const JOB_NOTIFY_FIELD_NOTIFY_NAME=4; 50 +const JOB_NOTIFY_FIELD_DATATYPE=5; 51 +const JOB_NOTIFY_FIELD_PRINT_PROCESSOR=6; 52 +const JOB_NOTIFY_FIELD_PARAMETERS=7; 53 +const JOB_NOTIFY_FIELD_DRIVER_NAME=8; 54 +const JOB_NOTIFY_FIELD_DEVMODE=9; 55 +const JOB_NOTIFY_FIELD_STATUS=10; 56 +const JOB_NOTIFY_FIELD_STATUS_STRING=11; 57 +const JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR=12; 58 +const JOB_NOTIFY_FIELD_DOCUMENT=13; 59 +const JOB_NOTIFY_FIELD_PRIORITY=14; 60 +const JOB_NOTIFY_FIELD_POSITION=15; 61 +const JOB_NOTIFY_FIELD_SUBMITTED=16; 62 +const JOB_NOTIFY_FIELD_START_TIME=17; 63 +const JOB_NOTIFY_FIELD_UNTIL_TIME=18; 64 +const JOB_NOTIFY_FIELD_TIME=19; 65 +const JOB_NOTIFY_FIELD_TOTAL_PAGES=20; 66 +const JOB_NOTIFY_FIELD_PAGES_PRINTED=21; 67 +const JOB_NOTIFY_FIELD_TOTAL_BYTES=22; 68 +const JOB_NOTIFY_FIELD_BYTES_PRINTED=23; 69 + 70 +const JOB_ACCESS_ADMINISTER = 16; 71 +const JOB_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER; 72 +const JOB_READ = STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER; 73 +const JOB_WRITE = STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER; 74 +const JOB_EXECUTE = STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER; 75 + 76 +const PRINTER_NOTIFY_OPTIONS_REFRESH=1; 77 +const PRINTER_ACCESS_ADMINISTER=4; 78 +const PRINTER_ACCESS_USE=8; 79 + 80 +const PRINTER_ERROR_INFORMATION=0x80000000; 81 +const PRINTER_ERROR_WARNING=0x40000000; 82 +const PRINTER_ERROR_SEVERE=0x20000000; 83 +const PRINTER_ERROR_OUTOFPAPER=1; 84 +const PRINTER_ERROR_JAM=2; 85 +const PRINTER_ERROR_OUTOFTONER=4; 86 + 87 +const PRINTER_CONTROL_PAUSE=1; 88 +const PRINTER_CONTROL_RESUME=2; 89 +const PRINTER_CONTROL_PURGE=3; 90 +const PRINTER_CONTROL_SET_STATUS=4; 91 + 92 +const PRINTER_STATUS_PAUSED = 1; 93 +const PRINTER_STATUS_ERROR = 2; 94 +const PRINTER_STATUS_PENDING_DELETION = 4; 95 +const PRINTER_STATUS_PAPER_JAM = 8; 96 +const PRINTER_STATUS_PAPER_OUT = 0x10; 97 +const PRINTER_STATUS_MANUAL_FEED = 0x20; 98 +const PRINTER_STATUS_PAPER_PROBLEM = 0x40; 99 +const PRINTER_STATUS_OFFLINE = 0x80; 100 +const PRINTER_STATUS_IO_ACTIVE = 0x100; 101 +const PRINTER_STATUS_BUSY = 0x200; 102 +const PRINTER_STATUS_PRINTING = 0x400; 103 +const PRINTER_STATUS_OUTPUT_BIN_FULL = 0x800; 104 +const PRINTER_STATUS_NOT_AVAILABLE = 0x1000; 105 +const PRINTER_STATUS_WAITING = 0x2000; 106 +const PRINTER_STATUS_PROCESSING = 0x4000; 107 +const PRINTER_STATUS_INITIALIZING = 0x8000; 108 +const PRINTER_STATUS_WARMING_UP = 0x10000; 109 +const PRINTER_STATUS_TONER_LOW = 0x20000; 110 +const PRINTER_STATUS_NO_TONER = 0x40000; 111 +const PRINTER_STATUS_PAGE_PUNT = 0x80000; 112 +const PRINTER_STATUS_USER_INTERVENTION = 0x100000; 113 +const PRINTER_STATUS_OUT_OF_MEMORY = 0x200000; 114 +const PRINTER_STATUS_DOOR_OPEN = 0x400000; 115 +const PRINTER_STATUS_SERVER_UNKNOWN = 0x800000; 116 +const PRINTER_STATUS_POWER_SAVE = 0x1000000; 117 + 118 +const PRINTER_ATTRIBUTE_QUEUED=1; 119 +const PRINTER_ATTRIBUTE_DIRECT=2; 120 +const PRINTER_ATTRIBUTE_DEFAULT=4; 121 +const PRINTER_ATTRIBUTE_SHARED=8; 122 +const PRINTER_ATTRIBUTE_NETWORK=0x10; 123 +const PRINTER_ATTRIBUTE_HIDDEN=0x20; 124 +const PRINTER_ATTRIBUTE_LOCAL=0x40; 125 +const PRINTER_ATTRIBUTE_ENABLE_DEVQ=0x80; 126 +const PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS=0x100; 127 +const PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST=0x200; 128 +const PRINTER_ATTRIBUTE_WORK_OFFLINE=0x400; 129 +const PRINTER_ATTRIBUTE_ENABLE_BIDI=0x800; 130 +const PRINTER_ATTRIBUTE_RAW_ONLY=0x1000; 131 +const PRINTER_ATTRIBUTE_PUBLISHED=0x2000; 132 + 133 +const PRINTER_ENUM_DEFAULT=1; 134 +const PRINTER_ENUM_LOCAL=2; 135 +const PRINTER_ENUM_CONNECTIONS=4; 136 +const PRINTER_ENUM_FAVORITE=4; 137 +const PRINTER_ENUM_NAME=8; 138 +const PRINTER_ENUM_REMOTE=16; 139 +const PRINTER_ENUM_SHARED=32; 140 +const PRINTER_ENUM_NETWORK=0x40; 141 +const PRINTER_ENUM_EXPAND=0x4000; 142 +const PRINTER_ENUM_CONTAINER=0x8000; 143 +const PRINTER_ENUM_ICONMASK=0xff0000; 144 +const PRINTER_ENUM_ICON1=0x10000; 145 +const PRINTER_ENUM_ICON2=0x20000; 146 +const PRINTER_ENUM_ICON3=0x40000; 147 +const PRINTER_ENUM_ICON4=0x80000; 148 +const PRINTER_ENUM_ICON5=0x100000; 149 +const PRINTER_ENUM_ICON6=0x200000; 150 +const PRINTER_ENUM_ICON7=0x400000; 151 +const PRINTER_ENUM_ICON8=0x800000; 152 + 153 +const PRINTER_NOTIFY_TYPE=0; 154 + 155 +const PRINTER_NOTIFY_FIELD_SERVER_NAME=0; 156 +const PRINTER_NOTIFY_FIELD_PRINTER_NAME=1; 157 +const PRINTER_NOTIFY_FIELD_SHARE_NAME=2; 158 +const PRINTER_NOTIFY_FIELD_PORT_NAME=3; 159 +const PRINTER_NOTIFY_FIELD_DRIVER_NAME=4; 160 +const PRINTER_NOTIFY_FIELD_COMMENT=5; 161 +const PRINTER_NOTIFY_FIELD_LOCATION=6; 162 +const PRINTER_NOTIFY_FIELD_DEVMODE=7; 163 +const PRINTER_NOTIFY_FIELD_SEPFILE=8; 164 +const PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR=9; 165 +const PRINTER_NOTIFY_FIELD_PARAMETERS=10; 166 +const PRINTER_NOTIFY_FIELD_DATATYPE=11; 167 +const PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR=12; 168 +const PRINTER_NOTIFY_FIELD_ATTRIBUTES=13; 169 +const PRINTER_NOTIFY_FIELD_PRIORITY=14; 170 +const PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY=15; 171 +const PRINTER_NOTIFY_FIELD_START_TIME=16; 172 +const PRINTER_NOTIFY_FIELD_UNTIL_TIME=17; 173 +const PRINTER_NOTIFY_FIELD_STATUS=18; 174 +const PRINTER_NOTIFY_FIELD_STATUS_STRING=19; 175 +const PRINTER_NOTIFY_FIELD_CJOBS=20; 176 +const PRINTER_NOTIFY_FIELD_AVERAGE_PPM=21; 177 +const PRINTER_NOTIFY_FIELD_TOTAL_PAGES=22; 178 +const PRINTER_NOTIFY_FIELD_PAGES_PRINTED=23; 179 +const PRINTER_NOTIFY_FIELD_TOTAL_BYTES=24; 180 +const PRINTER_NOTIFY_FIELD_BYTES_PRINTED=25; 181 + 182 +const PRINTER_CHANGE_ADD_PRINTER=1; 183 +const PRINTER_CHANGE_SET_PRINTER=2; 184 +const PRINTER_CHANGE_DELETE_PRINTER=4; 185 +const PRINTER_CHANGE_FAILED_CONNECTION_PRINTER=8; 186 +const PRINTER_CHANGE_PRINTER=0xFF; 187 +const PRINTER_CHANGE_ADD_JOB=0x100; 188 +const PRINTER_CHANGE_SET_JOB=0x200; 189 +const PRINTER_CHANGE_DELETE_JOB=0x400; 190 +const PRINTER_CHANGE_WRITE_JOB=0x800; 191 +const PRINTER_CHANGE_JOB=0xFF00; 192 +const PRINTER_CHANGE_ADD_FORM=0x10000; 193 +const PRINTER_CHANGE_SET_FORM=0x20000; 194 +const PRINTER_CHANGE_DELETE_FORM=0x40000; 195 +const PRINTER_CHANGE_FORM=0x70000; 196 +const PRINTER_CHANGE_ADD_PORT=0x100000; 197 +const PRINTER_CHANGE_CONFIGURE_PORT=0x200000; 198 +const PRINTER_CHANGE_DELETE_PORT=0x400000; 199 +const PRINTER_CHANGE_PORT=0x700000; 200 +const PRINTER_CHANGE_ADD_PRINT_PROCESSOR=0x1000000; 201 +const PRINTER_CHANGE_DELETE_PRINT_PROCESSOR=0x4000000; 202 +const PRINTER_CHANGE_PRINT_PROCESSOR=0x7000000; 203 +const PRINTER_CHANGE_ADD_PRINTER_DRIVER=0x10000000; 204 +const PRINTER_CHANGE_SET_PRINTER_DRIVER=0x20000000; 205 +const PRINTER_CHANGE_DELETE_PRINTER_DRIVER=0x40000000; 206 +const PRINTER_CHANGE_PRINTER_DRIVER=0x70000000; 207 +const PRINTER_CHANGE_TIMEOUT=0x80000000; 208 +const PRINTER_CHANGE_ALL=0x7777FFFF; 209 + 210 +const PRINTER_NOTIFY_INFO_DISCARDED=1; 211 +const PRINTER_ALL_ACCESS=(STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE); 212 +const PRINTER_READ=(STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE); 213 +const PRINTER_WRITE=(STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE); 214 +const PRINTER_EXECUTE=(STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE); 215 +const NO_PRIORITY=0; 216 +const MAX_PRIORITY=99; 217 +const MIN_PRIORITY=1; 218 +const DEF_PRIORITY=1; 219 +const PORT_TYPE_WRITE=1; 220 +const PORT_TYPE_READ=2; 221 +const PORT_TYPE_REDIRECTED=4; 222 +const PORT_TYPE_NET_ATTACHED=8; 223 +const SERVER_ACCESS_ADMINISTER=1; 224 +const SERVER_ACCESS_ENUMERATE=2; 225 + 226 +const SERVER_ALL_ACCESS=(STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE); 227 +const SERVER_READ=(STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE); 228 +const SERVER_WRITE=(STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE); 229 +const SERVER_EXECUTE=(STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE); 230 + 231 +const PORT_STATUS_TYPE_ERROR=1; 232 +const PORT_STATUS_TYPE_WARNING=2; 233 +const PORT_STATUS_TYPE_INFO=3; 234 + 235 +const PORT_STATUS_OFFLINE=1; 236 +const PORT_STATUS_PAPER_JAM=2; 237 +const PORT_STATUS_PAPER_OUT=3; 238 +const PORT_STATUS_OUTPUT_BIN_FULL=4; 239 +const PORT_STATUS_PAPER_PROBLEM=5; 240 +const PORT_STATUS_NO_TONER=6; 241 +const PORT_STATUS_DOOR_OPEN=7; 242 +const PORT_STATUS_USER_INTERVENTION=8; 243 +const PORT_STATUS_OUT_OF_MEMORY=9; 244 +const PORT_STATUS_TONER_LOW=10; 245 +const PORT_STATUS_WARMING_UP=11; 246 +const PORT_STATUS_POWER_SAVE=12; 247 + 248 +struct ADDJOB_INFO_1A { 249 + LPSTR Path; 250 + DWORD JobId; 251 +} 252 +alias ADDJOB_INFO_1A* PADDJOB_INFO_1A, LPADDJOB_INFO_1A; 253 + 254 +struct ADDJOB_INFO_1W { 255 + LPWSTR Path; 256 + DWORD JobId; 257 +} 258 +alias ADDJOB_INFO_1W* PADDJOB_INFO_1W, LPADDJOB_INFO_1W; 259 + 260 +struct DATATYPES_INFO_1A { 261 + LPSTR pName; 262 +} 263 +alias DATATYPES_INFO_1A* PDATATYPES_INFO_1A, LPDATATYPES_INFO_1A; 264 + 265 +struct DATATYPES_INFO_1W { 266 + LPWSTR pName; 267 +} 268 +alias DATATYPES_INFO_1W* PDATATYPES_INFO_1W, LPDATATYPES_INFO_1W; 269 + 270 +struct JOB_INFO_1A { 271 + DWORD JobId; 272 + LPSTR pPrinterName; 273 + LPSTR pMachineName; 274 + LPSTR pUserName; 275 + LPSTR pDocument; 276 + LPSTR pDatatype; 277 + LPSTR pStatus; 278 + DWORD Status; 279 + DWORD Priority; 280 + DWORD Position; 281 + DWORD TotalPages; 282 + DWORD PagesPrinted; 283 + SYSTEMTIME Submitted; 284 +} 285 +alias JOB_INFO_1A* PJOB_INFO_1A, LPJOB_INFO_1A; 286 + 287 +struct JOB_INFO_1W { 288 + DWORD JobId; 289 + LPWSTR pPrinterName; 290 + LPWSTR pMachineName; 291 + LPWSTR pUserName; 292 + LPWSTR pDocument; 293 + LPWSTR pDatatype; 294 + LPWSTR pStatus; 295 + DWORD Status; 296 + DWORD Priority; 297 + DWORD Position; 298 + DWORD TotalPages; 299 + DWORD PagesPrinted; 300 + SYSTEMTIME Submitted; 301 +} 302 +alias JOB_INFO_1W* PJOB_INFO_1W, LPJOB_INFO_1W; 303 + 304 +struct JOB_INFO_2A { 305 + DWORD JobId; 306 + LPSTR pPrinterName; 307 + LPSTR pMachineName; 308 + LPSTR pUserName; 309 + LPSTR pDocument; 310 + LPSTR pNotifyName; 311 + LPSTR pDatatype; 312 + LPSTR pPrintProcessor; 313 + LPSTR pParameters; 314 + LPSTR pDriverName; 315 + LPDEVMODEA pDevMode; 316 + LPSTR pStatus; 317 + PSECURITY_DESCRIPTOR pSecurityDescriptor; 318 + DWORD Status; 319 + DWORD Priority; 320 + DWORD Position; 321 + DWORD StartTime; 322 + DWORD UntilTime; 323 + DWORD TotalPages; 324 + DWORD Size; 325 + SYSTEMTIME Submitted; 326 + DWORD Time; 327 + DWORD PagesPrinted; 328 +} 329 +alias JOB_INFO_2A* PJOB_INFO_2A, LPJOB_INFO_2A; 330 + 331 +struct JOB_INFO_2W { 332 + DWORD JobId; 333 + LPWSTR pPrinterName; 334 + LPWSTR pMachineName; 335 + LPWSTR pUserName; 336 + LPWSTR pDocument; 337 + LPWSTR pNotifyName; 338 + LPWSTR pDatatype; 339 + LPWSTR pPrintProcessor; 340 + LPWSTR pParameters; 341 + LPWSTR pDriverName; 342 + LPDEVMODEW pDevMode; 343 + LPWSTR pStatus; 344 + PSECURITY_DESCRIPTOR pSecurityDescriptor; 345 + DWORD Status; 346 + DWORD Priority; 347 + DWORD Position; 348 + DWORD StartTime; 349 + DWORD UntilTime; 350 + DWORD TotalPages; 351 + DWORD Size; 352 + SYSTEMTIME Submitted; 353 + DWORD Time; 354 + DWORD PagesPrinted; 355 +} 356 +alias JOB_INFO_2W* PJOB_INFO_2W, LPJOB_INFO_2W; 357 + 358 +struct DOC_INFO_1A { 359 + LPSTR pDocName; 360 + LPSTR pOutputFile; 361 + LPSTR pDatatype; 362 +} 363 +alias DOC_INFO_1A* PDOC_INFO_1A, LPDOC_INFO_1A; 364 + 365 +struct DOC_INFO_1W { 366 + LPWSTR pDocName; 367 + LPWSTR pOutputFile; 368 + LPWSTR pDatatype; 369 +} 370 +alias DOC_INFO_1W* PDOC_INFO_1W, LPDOC_INFO_1W; 371 + 372 +struct DOC_INFO_2A { 373 + LPSTR pDocName; 374 + LPSTR pOutputFile; 375 + LPSTR pDatatype; 376 + DWORD dwMode; 377 + DWORD JobId; 378 +} 379 +alias DOC_INFO_2A* PDOC_INFO_2A, LPDOC_INFO_2A; 380 + 381 +struct DOC_INFO_2W { 382 + LPWSTR pDocName; 383 + LPWSTR pOutputFile; 384 + LPWSTR pDatatype; 385 + DWORD dwMode; 386 + DWORD JobId; 387 +} 388 +alias DOC_INFO_2W* PDOC_INFO_2W, LPDOC_INFO_2W; 389 + 390 +struct DRIVER_INFO_1A { 391 + LPSTR pName; 392 +} 393 +alias DRIVER_INFO_1A* PDRIVER_INFO_1A, LPDRIVER_INFO_1A; 394 + 395 +struct DRIVER_INFO_1W { 396 + LPWSTR pName; 397 +} 398 +alias DRIVER_INFO_1W* PDRIVER_INFO_1W, LPDRIVER_INFO_1W; 399 + 400 +struct DRIVER_INFO_2A { 401 + DWORD cVersion; 402 + LPSTR pName; 403 + LPSTR pEnvironment; 404 + LPSTR pDriverPath; 405 + LPSTR pDataFile; 406 + LPSTR pConfigFile; 407 +} 408 +alias DRIVER_INFO_2A* PDRIVER_INFO_2A, LPDRIVER_INFO_2A; 409 + 410 +struct DRIVER_INFO_2W { 411 + DWORD cVersion; 412 + LPWSTR pName; 413 + LPWSTR pEnvironment; 414 + LPWSTR pDriverPath; 415 + LPWSTR pDataFile; 416 + LPWSTR pConfigFile; 417 +} 418 +alias DRIVER_INFO_2W* PDRIVER_INFO_2W, LPDRIVER_INFO_2W; 419 + 420 +struct DRIVER_INFO_3A { 421 + DWORD cVersion; 422 + LPSTR pName; 423 + LPSTR pEnvironment; 424 + LPSTR pDriverPath; 425 + LPSTR pDataFile; 426 + LPSTR pConfigFile; 427 + LPSTR pHelpFile; 428 + LPSTR pDependentFiles; 429 + LPSTR pMonitorName; 430 + LPSTR pDefaultDataType; 431 +} 432 +alias DRIVER_INFO_3A* PDRIVER_INFO_3A, LPDRIVER_INFO_3A; 433 + 434 +struct DRIVER_INFO_3W { 435 + DWORD cVersion; 436 + LPWSTR pName; 437 + LPWSTR pEnvironment; 438 + LPWSTR pDriverPath; 439 + LPWSTR pDataFile; 440 + LPWSTR pConfigFile; 441 + LPWSTR pHelpFile; 442 + LPWSTR pDependentFiles; 443 + LPWSTR pMonitorName; 444 + LPWSTR pDefaultDataType; 445 +} 446 +alias DRIVER_INFO_3W* PDRIVER_INFO_3W, LPDRIVER_INFO_3W; 447 + 448 +struct MONITOR_INFO_1A { 449 + LPSTR pName; 450 +} 451 +alias MONITOR_INFO_1A* PMONITOR_INFO_1A, LPMONITOR_INFO_1A; 452 + 453 +struct MONITOR_INFO_1W { 454 + LPWSTR pName; 455 +} 456 +alias MONITOR_INFO_1W* PMONITOR_INFO_1W, LPMONITOR_INFO_1W; 457 + 458 +struct PORT_INFO_1A { 459 + LPSTR pName; 460 +} 461 +alias PORT_INFO_1A* PPORT_INFO_1A, LPPORT_INFO_1A; 462 + 463 +struct PORT_INFO_1W { 464 + LPWSTR pName; 465 +} 466 +alias PORT_INFO_1W* PPORT_INFO_1W, LPPORT_INFO_1W; 467 + 468 +struct MONITOR_INFO_2A { 469 + LPSTR pName; 470 + LPSTR pEnvironment; 471 + LPSTR pDLLName; 472 +} 473 +alias MONITOR_INFO_2A* PMONITOR_INFO_2A, LPMONITOR_INFO_2A; 474 + 475 +struct MONITOR_INFO_2W { 476 + LPWSTR pName; 477 + LPWSTR pEnvironment; 478 + LPWSTR pDLLName; 479 +} 480 +alias MONITOR_INFO_2W* PMONITOR_INFO_2W, LPMONITOR_INFO_2W; 481 + 482 +struct PORT_INFO_2A { 483 + LPSTR pPortName; 484 + LPSTR pMonitorName; 485 + LPSTR pDescription; 486 + DWORD fPortType; 487 + DWORD Reserved; 488 +} 489 +alias PORT_INFO_2A* PPORT_INFO_2A, LPPORT_INFO_2A; 490 + 491 +struct PORT_INFO_2W { 492 + LPWSTR pPortName; 493 + LPWSTR pMonitorName; 494 + LPWSTR pDescription; 495 + DWORD fPortType; 496 + DWORD Reserved; 497 +} 498 +alias PORT_INFO_2W* PPORT_INFO_2W, LPPORT_INFO_2W; 499 + 500 +struct PORT_INFO_3A { 501 + DWORD dwStatus; 502 + LPSTR pszStatus; 503 + DWORD dwSeverity; 504 +} 505 +alias PORT_INFO_3A* PPORT_INFO_3A, LPPORT_INFO_3A; 506 + 507 +struct PORT_INFO_3W { 508 + DWORD dwStatus; 509 + LPWSTR pszStatus; 510 + DWORD dwSeverity; 511 +} 512 +alias PORT_INFO_3W* PPORT_INFO_3W, LPPORT_INFO_3W; 513 + 514 +struct PRINTER_INFO_1A { 515 + DWORD Flags; 516 + LPSTR pDescription; 517 + LPSTR pName; 518 + LPSTR pComment; 519 +} 520 +alias PRINTER_INFO_1A* PPRINTER_INFO_1A, LPPRINTER_INFO_1A; 521 + 522 +struct PRINTER_INFO_1W { 523 + DWORD Flags; 524 + LPWSTR pDescription; 525 + LPWSTR pName; 526 + LPWSTR pComment; 527 +} 528 +alias PRINTER_INFO_1W* PPRINTER_INFO_1W, LPPRINTER_INFO_1W; 529 + 530 +struct PRINTER_INFO_2A { 531 + LPSTR pServerName; 532 + LPSTR pPrinterName; 533 + LPSTR pShareName; 534 + LPSTR pPortName; 535 + LPSTR pDriverName; 536 + LPSTR pComment; 537 + LPSTR pLocation; 538 + LPDEVMODEA pDevMode; 539 + LPSTR pSepFile; 540 + LPSTR pPrintProcessor; 541 + LPSTR pDatatype; 542 + LPSTR pParameters; 543 + PSECURITY_DESCRIPTOR pSecurityDescriptor; 544 + DWORD Attributes; 545 + DWORD Priority; 546 + DWORD DefaultPriority; 547 + DWORD StartTime; 548 + DWORD UntilTime; 549 + DWORD Status; 550 + DWORD cJobs; 551 + DWORD AveragePPM; 552 +} 553 +alias PRINTER_INFO_2A* PPRINTER_INFO_2A, LPPRINTER_INFO_2A; 554 + 555 +struct PRINTER_INFO_2W { 556 + LPWSTR pServerName; 557 + LPWSTR pPrinterName; 558 + LPWSTR pShareName; 559 + LPWSTR pPortName; 560 + LPWSTR pDriverName; 561 + LPWSTR pComment; 562 + LPWSTR pLocation; 563 + LPDEVMODEW pDevMode; 564 + LPWSTR pSepFile; 565 + LPWSTR pPrintProcessor; 566 + LPWSTR pDatatype; 567 + LPWSTR pParameters; 568 + PSECURITY_DESCRIPTOR pSecurityDescriptor; 569 + DWORD Attributes; 570 + DWORD Priority; 571 + DWORD DefaultPriority; 572 + DWORD StartTime; 573 + DWORD UntilTime; 574 + DWORD Status; 575 + DWORD cJobs; 576 + DWORD AveragePPM; 577 +} 578 +alias PRINTER_INFO_2W* PPRINTER_INFO_2W, LPPRINTER_INFO_2W; 579 + 580 +struct PRINTER_INFO_3 { 581 + PSECURITY_DESCRIPTOR pSecurityDescriptor; 582 +} 583 +alias PRINTER_INFO_3* PPRINTER_INFO_3, LPPRINTER_INFO_3; 584 + 585 +struct PRINTER_INFO_4A { 586 + LPSTR pPrinterName; 587 + LPSTR pServerName; 588 + DWORD Attributes; 589 +} 590 +alias PRINTER_INFO_4A* PPRINTER_INFO_4A, LPPRINTER_INFO_4A; 591 + 592 +struct PRINTER_INFO_4W { 593 + LPWSTR pPrinterName; 594 + LPWSTR pServerName; 595 + DWORD Attributes; 596 +} 597 +alias PRINTER_INFO_4W* PPRINTER_INFO_4W, LPPRINTER_INFO_4W; 598 + 599 +struct PRINTER_INFO_5A { 600 + LPSTR pPrinterName; 601 + LPSTR pPortName; 602 + DWORD Attributes; 603 + DWORD DeviceNotSelectedTimeout; 604 + DWORD TransmissionRetryTimeout; 605 +} 606 +alias PRINTER_INFO_5A* PPRINTER_INFO_5A, LPPRINTER_INFO_5A; 607 + 608 +struct PRINTER_INFO_5W { 609 + LPWSTR pPrinterName; 610 + LPWSTR pPortName; 611 + DWORD Attributes; 612 + DWORD DeviceNotSelectedTimeout; 613 + DWORD TransmissionRetryTimeout; 614 +} 615 +alias PRINTER_INFO_5W* PPRINTER_INFO_5W, LPPRINTER_INFO_5W; 616 + 617 +struct PRINTER_INFO_6 { 618 + DWORD dwStatus; 619 +} 620 +alias PRINTER_INFO_6* PPRINTER_INFO_6, LPPRINTER_INFO_6; 621 + 622 +struct PRINTPROCESSOR_INFO_1A { 623 + LPSTR pName; 624 +} 625 +alias PRINTPROCESSOR_INFO_1A* PPRINTPROCESSOR_INFO_1A, LPPRINTPROCESSOR_INFO_1A; 626 + 627 +struct PRINTPROCESSOR_INFO_1W { 628 + LPWSTR pName; 629 +} 630 +alias PRINTPROCESSOR_INFO_1W* PPRINTPROCESSOR_INFO_1W, LPPRINTPROCESSOR_INFO_1W; 631 + 632 +struct PRINTER_NOTIFY_INFO_DATA { 633 + WORD Type; 634 + WORD Field; 635 + DWORD Reserved; 636 + DWORD Id; 637 + union _NotifyData { 638 + DWORD adwData[2]; 639 + struct Data { 640 + DWORD cbBuf; 641 + PVOID pBuf; 642 + } 643 + } 644 + _NotifyData NotifyData; 645 +} 646 +alias PRINTER_NOTIFY_INFO_DATA* PPRINTER_NOTIFY_INFO_DATA, LPPRINTER_NOTIFY_INFO_DATA; 647 + 648 +struct PRINTER_NOTIFY_INFO { 649 + DWORD Version; 650 + DWORD Flags; 651 + DWORD Count; 652 + PRINTER_NOTIFY_INFO_DATA aData[1]; 26 653 } 27 -alias _PRINTER_INFO_1A PRINTER_INFO_1A; 28 -alias _PRINTER_INFO_1A* PPRINTER_INFO_1A; 29 -alias _PRINTER_INFO_1A* LPPRINTER_INFO_1A; 654 +alias PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO, LPPRINTER_NOTIFY_INFO; 30 655 31 -struct _PRINTER_INFO_1W { 32 - DWORD Flags; 33 - LPWSTR pDescription; 34 - LPWSTR pName; 35 - LPWSTR pComment; 656 +struct FORM_INFO_1A { 657 + DWORD Flags; 658 + LPSTR pName; 659 + SIZEL Size; 660 + RECTL ImageableArea; 36 661 } 37 -alias _PRINTER_INFO_1W PRINTER_INFO_1W; 38 -alias _PRINTER_INFO_1W* PPRINTER_INFO_1W; 39 -alias _PRINTER_INFO_1W* LPPRINTER_INFO_1W; 662 +alias FORM_INFO_1A* PFORM_INFO_1A, LPFORM_INFO_1A; 40 663 41 -// #ifdef UNICODE 42 -alias PRINTER_INFO_1W PRINTER_INFO_1; 43 -alias PPRINTER_INFO_1W PPRINTER_INFO_1; 44 -alias LPPRINTER_INFO_1W LPPRINTER_INFO_1; 45 -// #else 46 -// ... 47 -// #endif // UNICODE 48 - 49 -struct _PRINTER_INFO_2A { 50 - LPSTR pServerName; 51 - LPSTR pPrinterName; 52 - LPSTR pShareName; 53 - LPSTR pPortName; 54 - LPSTR pDriverName; 55 - LPSTR pComment; 56 - LPSTR pLocation; 57 - LPDEVMODEA pDevMode; 58 - LPSTR pSepFile; 59 - LPSTR pPrintProcessor; 60 - LPSTR pDatatype; 61 - LPSTR pParameters; 62 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 63 - DWORD Attributes; 64 - DWORD Priority; 65 - DWORD DefaultPriority; 66 - DWORD StartTime; 67 - DWORD UntilTime; 68 - DWORD Status; 69 - DWORD cJobs; 70 - DWORD AveragePPM; 664 +struct FORM_INFO_1W { 665 + DWORD Flags; 666 + LPWSTR pName; 667 + SIZEL Size; 668 + RECTL ImageableArea; 71 669 } 72 -alias _PRINTER_INFO_2A PRINTER_INFO_2A; 73 -alias _PRINTER_INFO_2A* PPRINTER_INFO_2A; 74 -alias _PRINTER_INFO_2A* LPPRINTER_INFO_2A; 670 +alias FORM_INFO_1W* PFORM_INFO_1W, LPFORM_INFO_1W; 75 671 76 -struct _PRINTER_INFO_2W { 77 - LPWSTR pServerName; 78 - LPWSTR pPrinterName; 79 - LPWSTR pShareName; 80 - LPWSTR pPortName; 81 - LPWSTR pDriverName; 82 - LPWSTR pComment; 83 - LPWSTR pLocation; 84 - LPDEVMODEW pDevMode; 85 - LPWSTR pSepFile; 86 - LPWSTR pPrintProcessor; 87 - LPWSTR pDatatype; 88 - LPWSTR pParameters; 89 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 90 - DWORD Attributes; 91 - DWORD Priority; 92 - DWORD DefaultPriority; 93 - DWORD StartTime; 94 - DWORD UntilTime; 95 - DWORD Status; 96 - DWORD cJobs; 97 - DWORD AveragePPM; 98 -} 99 -alias _PRINTER_INFO_2W PRINTER_INFO_2W; 100 -alias _PRINTER_INFO_2W* PPRINTER_INFO_2W; 101 -alias _PRINTER_INFO_2W* LPPRINTER_INFO_2W; 102 - 103 -// #ifdef UNICODE 104 -alias PRINTER_INFO_2W PRINTER_INFO_2; 105 -alias PPRINTER_INFO_2W PPRINTER_INFO_2; 106 -alias LPPRINTER_INFO_2W LPPRINTER_INFO_2; 107 -// #else 108 -// ... 109 -// #endif // UNICODE 110 - 111 -struct _PRINTER_INFO_3 { 112 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 113 -} 114 -alias _PRINTER_INFO_3 PRINTER_INFO_3; 115 -alias _PRINTER_INFO_3* PPRINTER_INFO_3; 116 -alias _PRINTER_INFO_3* LPPRINTER_INFO_3; 117 - 118 -struct _PRINTER_INFO_4A { 119 - LPSTR pPrinterName; 120 - LPSTR pServerName; 121 - DWORD Attributes; 672 +struct PRINTER_DEFAULTSA { 673 + LPSTR pDatatype; 674 + LPDEVMODE pDevMode; 675 + ACCESS_MASK DesiredAccess; 122 676 } 123 -alias _PRINTER_INFO_4A PRINTER_INFO_4A; 124 -alias _PRINTER_INFO_4A* PPRINTER_INFO_4A; 125 -alias _PRINTER_INFO_4A* LPPRINTER_INFO_4A; 126 - 127 -struct _PRINTER_INFO_4W { 128 - LPWSTR pPrinterName; 129 - LPWSTR pServerName; 130 - DWORD Attributes; 131 -} 132 -alias _PRINTER_INFO_4W PRINTER_INFO_4W; 133 -alias _PRINTER_INFO_4W* PPRINTER_INFO_4W; 134 -alias _PRINTER_INFO_4W* LPPRINTER_INFO_4W; 135 - 136 -// #ifdef UNICODE 137 -alias PRINTER_INFO_4W PRINTER_INFO_4; 138 -alias PPRINTER_INFO_4W PPRINTER_INFO_4; 139 -alias LPPRINTER_INFO_4W LPPRINTER_INFO_4; 140 -// #else 141 -// ... 142 -// #endif // UNICODE 143 - 144 -struct _PRINTER_INFO_5A { 145 - LPSTR pPrinterName; 146 - LPSTR pPortName; 147 - DWORD Attributes; 148 - DWORD DeviceNotSelectedTimeout; 149 - DWORD TransmissionRetryTimeout; 150 -} 151 -alias _PRINTER_INFO_5A PRINTER_INFO_5A; 152 -alias _PRINTER_INFO_5A* PPRINTER_INFO_5A; 153 -alias _PRINTER_INFO_5A* LPPRINTER_INFO_5A; 154 - 155 -struct _PRINTER_INFO_5W { 156 - LPWSTR pPrinterName; 157 - LPWSTR pPortName; 158 - DWORD Attributes; 159 - DWORD DeviceNotSelectedTimeout; 160 - DWORD TransmissionRetryTimeout; 161 -} 162 -alias _PRINTER_INFO_5W PRINTER_INFO_5W; 163 -alias _PRINTER_INFO_5W* PPRINTER_INFO_5W; 164 -alias _PRINTER_INFO_5W* LPPRINTER_INFO_5W; 165 - 166 -// #ifdef UNICODE 167 -alias PRINTER_INFO_5W PRINTER_INFO_5; 168 -alias PPRINTER_INFO_5W PPRINTER_INFO_5; 169 -alias LPPRINTER_INFO_5W LPPRINTER_INFO_5; 170 -// #else 171 -// ... 172 -// #endif // UNICODE 173 - 174 -struct _PRINTER_INFO_6 { 175 - DWORD dwStatus; 176 -} 177 -alias _PRINTER_INFO_6 PRINTER_INFO_6; 178 -alias _PRINTER_INFO_6* PPRINTER_INFO_6; 179 -alias _PRINTER_INFO_6* LPPRINTER_INFO_6; 180 - 181 -struct _PRINTER_INFO_7A { 182 - LPSTR pszObjectGUID; 183 - DWORD dwAction; 184 -} 185 -alias _PRINTER_INFO_7A PRINTER_INFO_7A; 186 -alias _PRINTER_INFO_7A* PPRINTER_INFO_7A; 187 -alias _PRINTER_INFO_7A* LPPRINTER_INFO_7A; 188 - 189 -struct _PRINTER_INFO_7W { 190 - LPWSTR pszObjectGUID; 191 - DWORD dwAction; 192 -} 193 -alias _PRINTER_INFO_7W PRINTER_INFO_7W; 194 -alias _PRINTER_INFO_7W* PPRINTER_INFO_7W; 195 -alias _PRINTER_INFO_7W* LPPRINTER_INFO_7W; 196 - 197 -// #ifdef UNICODE 198 -alias PRINTER_INFO_7W PRINTER_INFO_7; 199 -alias PPRINTER_INFO_7W PPRINTER_INFO_7; 200 -alias LPPRINTER_INFO_7W LPPRINTER_INFO_7; 201 -// #else 202 -// ... 203 -// #endif // UNICODE 204 - 205 -enum : uint { DSPRINT_PUBLISH = 0x00000001 } 206 -enum : uint { DSPRINT_UPDATE = 0x00000002 } 207 -enum : uint { DSPRINT_UNPUBLISH = 0x00000004 } 208 -enum : uint { DSPRINT_REPUBLISH = 0x00000008 } 209 -enum : uint { DSPRINT_PENDING = 0x80000000 } 210 - 211 -struct _PRINTER_INFO_8A { 212 - LPDEVMODEA pDevMode; 677 +alias PRINTER_DEFAULTSA* PPRINTER_DEFAULTSA, LPPRINTER_DEFAULTSA; 678 + 679 +struct PRINTER_DEFAULTSW { 680 + LPWSTR pDatatype; 681 + LPDEVMODE pDevMode; 682 + ACCESS_MASK DesiredAccess; 213 683 } 214 -alias _PRINTER_INFO_8A PRINTER_INFO_8A; 215 -alias _PRINTER_INFO_8A* PPRINTER_INFO_8A; 216 -alias _PRINTER_INFO_8A* LPPRINTER_INFO_8A; 217 - 218 -struct _PRINTER_INFO_8W { 219 - LPDEVMODEW pDevMode; 220 -} 221 -alias _PRINTER_INFO_8W PRINTER_INFO_8W; 222 -alias _PRINTER_INFO_8W* PPRINTER_INFO_8W; 223 -alias _PRINTER_INFO_8W* LPPRINTER_INFO_8W; 224 - 225 -// #ifdef UNICODE 226 -alias PRINTER_INFO_8W PRINTER_INFO_8; 227 -alias PPRINTER_INFO_8W PPRINTER_INFO_8; 228 -alias LPPRINTER_INFO_8W LPPRINTER_INFO_8; 229 -// #else 230 -// ... 231 -// #endif // UNICODE 232 - 233 -struct _PRINTER_INFO_9A { 234 - LPDEVMODEA pDevMode; 235 -} 236 -alias _PRINTER_INFO_9A PRINTER_INFO_9A; 237 -alias _PRINTER_INFO_9A* PPRINTER_INFO_9A; 238 -alias _PRINTER_INFO_9A* LPPRINTER_INFO_9A; 239 - 240 -struct _PRINTER_INFO_9W { 241 - LPDEVMODEW pDevMode; 242 -} 243 -alias _PRINTER_INFO_9W PRINTER_INFO_9W; 244 -alias _PRINTER_INFO_9W* PPRINTER_INFO_9W; 245 -alias _PRINTER_INFO_9W* LPPRINTER_INFO_9W; 246 - 247 -// #ifdef UNICODE 248 -alias PRINTER_INFO_9W PRINTER_INFO_9; 249 -alias PPRINTER_INFO_9W PPRINTER_INFO_9; 250 -alias LPPRINTER_INFO_9W LPPRINTER_INFO_9; 251 -// #else 252 -// ... 253 -// #endif // UNICODE 254 - 255 -enum : uint { PRINTER_CONTROL_PAUSE = 1 } 256 -enum : uint { PRINTER_CONTROL_RESUME = 2 } 257 -enum : uint { PRINTER_CONTROL_PURGE = 3 } 258 -enum : uint { PRINTER_CONTROL_SET_STATUS = 4 } 259 - 260 -enum : uint { PRINTER_STATUS_PAUSED = 0x00000001 } 261 -enum : uint { PRINTER_STATUS_ERROR = 0x00000002 } 262 -enum : uint { PRINTER_STATUS_PENDING_DELETION = 0x00000004 } 263 -enum : uint { PRINTER_STATUS_PAPER_JAM = 0x00000008 } 264 -enum : uint { PRINTER_STATUS_PAPER_OUT = 0x00000010 } 265 -enum : uint { PRINTER_STATUS_MANUAL_FEED = 0x00000020 } 266 -enum : uint { PRINTER_STATUS_PAPER_PROBLEM = 0x00000040 } 267 -enum : uint { PRINTER_STATUS_OFFLINE = 0x00000080 } 268 -enum : uint { PRINTER_STATUS_IO_ACTIVE = 0x00000100 } 269 -enum : uint { PRINTER_STATUS_BUSY = 0x00000200 } 270 -enum : uint { PRINTER_STATUS_PRINTING = 0x00000400 } 271 -enum : uint { PRINTER_STATUS_OUTPUT_BIN_FULL = 0x00000800 } 272 -enum : uint { PRINTER_STATUS_NOT_AVAILABLE = 0x00001000 } 273 -enum : uint { PRINTER_STATUS_WAITING = 0x00002000 } 274 -enum : uint { PRINTER_STATUS_PROCESSING = 0x00004000 } 275 -enum : uint { PRINTER_STATUS_INITIALIZING = 0x00008000 } 276 -enum : uint { PRINTER_STATUS_WARMING_UP = 0x00010000 } 277 -enum : uint { PRINTER_STATUS_TONER_LOW = 0x00020000 } 278 -enum : uint { PRINTER_STATUS_NO_TONER = 0x00040000 } 279 -enum : uint { PRINTER_STATUS_PAGE_PUNT = 0x00080000 } 280 -enum : uint { PRINTER_STATUS_USER_INTERVENTION = 0x00100000 } 281 -enum : uint { PRINTER_STATUS_OUT_OF_MEMORY = 0x00200000 } 282 -enum : uint { PRINTER_STATUS_DOOR_OPEN = 0x00400000 } 283 -enum : uint { PRINTER_STATUS_SERVER_UNKNOWN = 0x00800000 } 284 -enum : uint { PRINTER_STATUS_POWER_SAVE = 0x01000000 } 285 - 286 -enum : uint { PRINTER_ATTRIBUTE_QUEUED = 0x00000001 } 287 -enum : uint { PRINTER_ATTRIBUTE_DIRECT = 0x00000002 } 288 -enum : uint { PRINTER_ATTRIBUTE_DEFAULT = 0x00000004 } 289 -enum : uint { PRINTER_ATTRIBUTE_SHARED = 0x00000008 } 290 -enum : uint { PRINTER_ATTRIBUTE_NETWORK = 0x00000010 } 291 -enum : uint { PRINTER_ATTRIBUTE_HIDDEN = 0x00000020 } 292 -enum : uint { PRINTER_ATTRIBUTE_LOCAL = 0x00000040 } 293 - 294 -enum : uint { PRINTER_ATTRIBUTE_ENABLE_DEVQ = 0x00000080 } 295 -enum : uint { PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = 0x00000100 } 296 -enum : uint { PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = 0x00000200 } 297 - 298 -enum : uint { PRINTER_ATTRIBUTE_WORK_OFFLINE = 0x00000400 } 299 -enum : uint { PRINTER_ATTRIBUTE_ENABLE_BIDI = 0x00000800 } 300 -enum : uint { PRINTER_ATTRIBUTE_RAW_ONLY = 0x00001000 } 301 -enum : uint { PRINTER_ATTRIBUTE_PUBLISHED = 0x00002000 } 302 -enum : uint { PRINTER_ATTRIBUTE_FAX = 0x00004000 } 303 - 304 -enum : uint { NO_PRIORITY = 0 } 305 -enum : uint { MAX_PRIORITY = 99 } 306 -enum : uint { MIN_PRIORITY = 1 } 307 -enum : uint { DEF_PRIORITY = 1 } 308 - 309 -struct _JOB_INFO_1A { 310 - DWORD JobId; 311 - LPSTR pPrinterName; 312 - LPSTR pMachineName; 313 - LPSTR pUserName; 314 - LPSTR pDocument; 315 - LPSTR pDatatype; 316 - LPSTR pStatus; 317 - DWORD Status; 318 - DWORD Priority; 319 - DWORD Position; 320 - DWORD TotalPages; 321 - DWORD PagesPrinted; 322 - SYSTEMTIME Submitted; 323 -} 324 -alias _JOB_INFO_1A JOB_INFO_1A; 325 -alias _JOB_INFO_1A* PJOB_INFO_1A; 326 -alias _JOB_INFO_1A* LPJOB_INFO_1A; 327 - 328 -struct _JOB_INFO_1W { 329 - DWORD JobId; 330 - LPWSTR pPrinterName; 331 - LPWSTR pMachineName; 332 - LPWSTR pUserName; 333 - LPWSTR pDocument; 334 - LPWSTR pDatatype; 335 - LPWSTR pStatus; 336 - DWORD Status; 337 - DWORD Priority; 338 - DWORD Position; 339 - DWORD TotalPages; 340 - DWORD PagesPrinted; 341 - SYSTEMTIME Submitted; 342 -} 343 -alias _JOB_INFO_1W JOB_INFO_1W; 344 -alias _JOB_INFO_1W* PJOB_INFO_1W; 345 -alias _JOB_INFO_1W* LPJOB_INFO_1W; 346 - 347 -// #ifdef UNICODE 348 -alias JOB_INFO_1W JOB_INFO_1; 349 -alias PJOB_INFO_1W PJOB_INFO_1; 350 -alias LPJOB_INFO_1W LPJOB_INFO_1; 351 -// #else 352 -// ... 353 -// #endif // UNICODE 354 - 355 -struct _JOB_INFO_2A { 356 - DWORD JobId; 357 - LPSTR pPrinterName; 358 - LPSTR pMachineName; 359 - LPSTR pUserName; 360 - LPSTR pDocument; 361 - LPSTR pNotifyName; 362 - LPSTR pDatatype; 363 - LPSTR pPrintProcessor; 364 - LPSTR pParameters; 365 - LPSTR pDriverName; 366 - LPDEVMODEA pDevMode; 367 - LPSTR pStatus; 368 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 369 - DWORD Status; 370 - DWORD Priority; 371 - DWORD Position; 372 - DWORD StartTime; 373 - DWORD UntilTime; 374 - DWORD TotalPages; 375 - DWORD Size; 376 - SYSTEMTIME Submitted; 377 - DWORD Time; 378 - DWORD PagesPrinted; 684 +alias PRINTER_DEFAULTSW* PPRINTER_DEFAULTSW, LPPRINTER_DEFAULTSW; 685 + 686 +extern (Windows): 687 +BOOL AbortPrinter(HANDLE); 688 +BOOL AddFormA(HANDLE, DWORD, PBYTE); 689 +BOOL AddFormW(HANDLE, DWORD, PBYTE); 690 +BOOL AddJobA(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 691 +BOOL AddJobW(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 692 +BOOL AddMonitorA(LPSTR, DWORD, PBYTE); 693 +BOOL AddMonitorW(LPWSTR, DWORD, PBYTE); 694 +BOOL AddPortA(LPSTR, HWND, LPSTR); 695 +BOOL AddPortW(LPWSTR, HWND, LPWSTR); 696 +HANDLE AddPrinterA(LPSTR, DWORD, PBYTE); 697 +HANDLE AddPrinterW(LPWSTR, DWORD, PBYTE); 698 +BOOL AddPrinterConnectionA(LPSTR); 699 +BOOL AddPrinterConnectionW(LPWSTR); 700 +BOOL AddPrinterDriverA(LPSTR, DWORD, PBYTE); 701 +BOOL AddPrinterDriverW(LPWSTR, DWORD, PBYTE); 702 +BOOL AddPrintProcessorA(LPSTR, LPSTR, LPSTR, LPSTR); 703 +BOOL AddPrintProcessorW(LPWSTR, LPWSTR, LPWSTR, LPWSTR); 704 +BOOL AddPrintProvidorA(LPSTR, DWORD, PBYTE); 705 +BOOL AddPrintProvidorW(LPWSTR, DWORD, PBYTE); 706 +LONG AdvancedDocumentPropertiesA(HWND, HANDLE, LPSTR, PDEVMODE, PDEVMODEA); 707 +LONG AdvancedDocumentPropertiesW(HWND, HANDLE, LPWSTR, PDEVMODE, PDEVMODEW); 708 +BOOL ClosePrinter(HANDLE); 709 +BOOL ConfigurePortA(LPSTR, HWND, LPSTR); 710 +BOOL ConfigurePortW(LPWSTR, HWND, LPWSTR); 711 +HANDLE ConnectToPrinterDlg(HWND, DWORD); 712 +BOOL DeleteFormA(HANDLE, LPSTR); 713 +BOOL DeleteFormW(HANDLE, LPWSTR); 714 +BOOL DeleteMonitorA(LPSTR, LPSTR, LPSTR); 715 +BOOL DeleteMonitorW(LPWSTR, LPWSTR, LPWSTR); 716 +BOOL DeletePortA(LPSTR, HWND, LPSTR); 717 +BOOL DeletePortW(LPWSTR, HWND, LPWSTR); 718 +BOOL DeletePrinter(HANDLE); 719 +BOOL DeletePrinterConnectionA(LPSTR); 720 +BOOL DeletePrinterConnectionW(LPWSTR); 721 +DWORD DeletePrinterDataA(HANDLE, LPSTR); 722 +DWORD DeletePrinterDataW(HANDLE, LPWSTR); 723 +BOOL DeletePrinterDriverA(LPSTR, LPSTR, LPSTR); 724 +BOOL DeletePrinterDriverW(LPWSTR, LPWSTR, LPWSTR); 725 +BOOL DeletePrintProcessorA(LPSTR, LPSTR, LPSTR); 726 +BOOL DeletePrintProcessorW(LPWSTR, LPWSTR, LPWSTR); 727 +BOOL DeletePrintProvidorA(LPSTR, LPSTR, LPSTR); 728 +BOOL DeletePrintProvidorW(LPWSTR, LPWSTR, LPWSTR); 729 +LONG DocumentPropertiesA(HWND, HANDLE, LPSTR, PDEVMODEA, PDEVMODEA, DWORD); 730 +LONG DocumentPropertiesW(HWND, HANDLE, LPWSTR, PDEVMODEW, PDEVMODEW, DWORD); 731 +BOOL EndDocPrinter(HANDLE); 732 +BOOL EndPagePrinter(HANDLE); 733 +BOOL EnumFormsA(HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 734 +BOOL EnumFormsW(HANDLE, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 735 +BOOL EnumJobsA(HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 736 +BOOL EnumJobsW(HANDLE, DWORD, DWORD, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 737 +BOOL EnumMonitorsA(LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 738 +BOOL EnumMonitorsW(LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 739 +BOOL EnumPortsA(LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 740 +BOOL EnumPortsW(LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 741 +DWORD EnumPrinterDataA(HANDLE, DWORD, LPSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD, PDWORD); 742 +DWORD EnumPrinterDataW(HANDLE, DWORD, LPWSTR, DWORD, PDWORD, PDWORD, PBYTE, DWORD, PDWORD); 743 +BOOL EnumPrinterDriversA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 744 +BOOL EnumPrinterDriversW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 745 +BOOL EnumPrintersA(DWORD, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 746 +BOOL EnumPrintersW(DWORD, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 747 +BOOL EnumPrintProcessorDatatypesA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 748 +BOOL EnumPrintProcessorDatatypesW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 749 +BOOL EnumPrintProcessorsA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 750 +BOOL EnumPrintProcessorsW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD, PDWORD); 751 +BOOL FindClosePrinterChangeNotification(HANDLE); 752 +HANDLE FindFirstPrinterChangeNotification(HANDLE, DWORD, DWORD, PVOID); 753 +HANDLE FindNextPrinterChangeNotification(HANDLE, PDWORD, PVOID, PVOID*); 754 +BOOL FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO); 755 + 756 +static if (_WIN32_WINNT >= 0x0500) { 757 +BOOL GetDefaultPrinterA(LPSTR, LPDWORD); 758 +BOOL GetDefaultPrinterW(LPWSTR, LPDWORD); 379 759 } 380 -alias _JOB_INFO_2A JOB_INFO_2A; 381 -alias _JOB_INFO_2A* PJOB_INFO_2A; 382 -alias _JOB_INFO_2A* LPJOB_INFO_2A; 383 760 384 -struct _JOB_INFO_2W { 385 - DWORD JobId; 386 - LPWSTR pPrinterName; 387 - LPWSTR pMachineName; 388 - LPWSTR pUserName; 389 - LPWSTR pDocument; 390 - LPWSTR pNotifyName; 391 - LPWSTR pDatatype; 392 - LPWSTR pPrintProcessor; 393 - LPWSTR pParameters; 394 - LPWSTR pDriverName; 395 - LPDEVMODEW pDevMode; 396 - LPWSTR pStatus; 397 - PSECURITY_DESCRIPTOR pSecurityDescriptor; 398 - DWORD Status; 399 - DWORD Priority; 400 - DWORD Position; 401 - DWORD StartTime; 402 - DWORD UntilTime; 403 - DWORD TotalPages; 404 - DWORD Size; 405 - SYSTEMTIME Submitted; 406 - DWORD Time; 407 - DWORD PagesPrinted; 408 -} 409 -alias _JOB_INFO_2W JOB_INFO_2W; 410 -alias _JOB_INFO_2W* PJOB_INFO_2W; 411 -alias _JOB_INFO_2W* LPJOB_INFO_2W; 761 +BOOL GetFormA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 762 +BOOL GetFormW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 763 +BOOL GetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD); 764 +BOOL GetJobW(HANDLE, DWORD, DWORD, PBYTE, DWORD, PDWORD); 765 +BOOL GetPrinterA(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 766 +BOOL GetPrinterW(HANDLE, DWORD, PBYTE, DWORD, PDWORD); 767 +DWORD GetPrinterDataA(HANDLE, LPSTR, PDWORD, PBYTE, DWORD, PDWORD); 768 +DWORD GetPrinterDataW(HANDLE, LPWSTR, PDWORD, PBYTE, DWORD, PDWORD); 769 +DWORD GetPrinterDriverA(HANDLE, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 770 +DWORD GetPrinterDriverW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 771 +DWORD GetPrinterDriverDirectoryA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 772 +DWORD GetPrinterDriverDirectoryW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 773 +DWORD GetPrintProcessorDirectoryA(LPSTR, LPSTR, DWORD, PBYTE, DWORD, PDWORD); 774 +DWORD GetPrintProcessorDirectoryW(LPWSTR, LPWSTR, DWORD, PBYTE, DWORD, PDWORD); 775 +BOOL OpenPrinterA(LPSTR, PHANDLE, LPPRINTER_DEFAULTSA); 776 +BOOL OpenPrinterW(LPWSTR, PHANDLE, LPPRINTER_DEFAULTSW); 777 +DWORD PrinterMessageBoxA(HANDLE, DWORD, HWND, LPSTR, LPSTR, DWORD); 778 +DWORD PrinterMessageBoxW(HANDLE, DWORD, HWND, LPWSTR, LPWSTR, DWORD); 779 +BOOL PrinterProperties(HWND, HANDLE); 780 +BOOL ReadPrinter(HANDLE, PVOID, DWORD, PDWORD); 781 +BOOL ResetPrinterA(HANDLE, LPPRINTER_DEFAULTSA); 782 +BOOL ResetPrinterW(HANDLE, LPPRINTER_DEFAULTSW); 783 +BOOL ScheduleJob(HANDLE, DWORD); 784 +BOOL SetFormA(HANDLE, LPSTR, DWORD, PBYTE); 785 +BOOL SetFormW(HANDLE, LPWSTR, DWORD, PBYTE); 786 +BOOL SetJobA(HANDLE, DWORD, DWORD, PBYTE, DWORD); 787 +BOOL SetJobW(HANDLE, DWORD, DWORD, PBYTE, DWORD); 788 +BOOL SetPrinterA(HANDLE, DWORD, PBYTE, DWORD); 789 +BOOL SetPrinterW(HANDLE, DWORD, PBYTE, DWORD); 790 +BOOL SetPrinterDataA(HANDLE, LPSTR, DWORD, PBYTE, DWORD); 791 +BOOL SetPrinterDataW(HANDLE, LPWSTR, DWORD, PBYTE, DWORD); 792 +DWORD StartDocPrinterA(HANDLE, DWORD, PBYTE); 793 +DWORD StartDocPrinterW(HANDLE, DWORD, PBYTE); 794 +BOOL StartPagePrinter(HANDLE); 795 +DWORD WaitForPrinterChange(HANDLE, DWORD); 796 +BOOL WritePrinter(HANDLE, PVOID, DWORD, PDWORD); 412 797 413 -// #ifdef UNICODE 414 -alias JOB_INFO_2W JOB_INFO_2; 415 -alias PJOB_INFO_2W PJOB_INFO_2; 416 -alias LPJOB_INFO_2W LPJOB_INFO_2; 417 -// #else 418 -// ... 419 -// #endif // UNICODE 798 +version(Unicode) { 420 799 421 -struct _JOB_INFO_3 { 422 - DWORD JobId; 423 - DWORD NextJobId; 424 - DWORD Reserved; 425 -} 426 -alias _JOB_INFO_3 JOB_INFO_3; 427 -alias _JOB_INFO_3* PJOB_INFO_3; 428 -alias _JOB_INFO_3* LPJOB_INFO_3; 429 - 430 -enum : uint { JOB_CONTROL_PAUSE = 1 } 431 -enum : uint { JOB_CONTROL_RESUME = 2 } 432 -enum : uint { JOB_CONTROL_CANCEL = 3 } 433 -enum : uint { JOB_CONTROL_RESTART = 4 } 434 -enum : uint { JOB_CONTROL_DELETE = 5 } 435 -enum : uint { JOB_CONTROL_SENT_TO_PRINTER = 6 } 436 -enum : uint { JOB_CONTROL_LAST_PAGE_EJECTED = 7 } 437 - 438 -enum : uint { JOB_STATUS_PAUSED = 0x00000001 } 439 -enum : uint { JOB_STATUS_ERROR = 0x00000002 } 440 -enum : uint { JOB_STATUS_DELETING = 0x00000004 } 441 -enum : uint { JOB_STATUS_SPOOLING = 0x00000008 } 442 -enum : uint { JOB_STATUS_PRINTING = 0x00000010 } 443 -enum : uint { JOB_STATUS_OFFLINE = 0x00000020 } 444 -enum : uint { JOB_STATUS_PAPEROUT = 0x00000040 } 445 -enum : uint { JOB_STATUS_PRINTED = 0x00000080 } 446 -enum : uint { JOB_STATUS_DELETED = 0x00000100 } 447 -enum : uint { JOB_STATUS_BLOCKED_DEVQ = 0x00000200 } 448 -enum : uint { JOB_STATUS_USER_INTERVENTION = 0x00000400 } 449 -enum : uint { JOB_STATUS_RESTART = 0x00000800 } 450 -enum : uint { JOB_STATUS_COMPLETE = 0x00001000 } 451 - 452 -enum : uint { JOB_POSITION_UNSPECIFIED = 0 } 453 - 454 -struct _ADDJOB_INFO_1A { 455 - LPSTR Path; 456 - DWORD JobId; 457 -} 458 -alias _ADDJOB_INFO_1A ADDJOB_INFO_1A; 459 -alias _ADDJOB_INFO_1A* PADDJOB_INFO_1A; 460 -alias _ADDJOB_INFO_1A* LPADDJOB_INFO_1A; 461 - 462 -struct _ADDJOB_INFO_1W { 463 - LPWSTR Path; 464 - DWORD JobId; 465 -} 466 -alias _ADDJOB_INFO_1W ADDJOB_INFO_1W; 467 -alias _ADDJOB_INFO_1W* PADDJOB_INFO_1W; 468 -alias _ADDJOB_INFO_1W* LPADDJOB_INFO_1W; 469 - 470 -// #ifdef UNICODE 800 +alias JOB_INFO_1W JOB_INFO_1; 801 +alias JOB_INFO_2W JOB_INFO_2; 471 802 alias ADDJOB_INFO_1W ADDJOB_INFO_1; 472 -alias PADDJOB_INFO_1W PADDJOB_INFO_1; 473 -alias LPADDJOB_INFO_1W LPADDJOB_INFO_1; 474 -// #else 475 -// ... 476 -// #endif // UNICODE 477 - 478 -struct _DRIVER_INFO_1A { 479 - LPSTR pName; 480 -} 481 -alias _DRIVER_INFO_1A DRIVER_INFO_1A; 482 -alias _DRIVER_INFO_1A* PDRIVER_INFO_1A; 483 -alias _DRIVER_INFO_1A* LPDRIVER_INFO_1A; 484 - 485 -struct _DRIVER_INFO_1W { 486 - LPWSTR pName; 487 -} 488 -alias _DRIVER_INFO_1W DRIVER_INFO_1W; 489 -alias _DRIVER_INFO_1W* PDRIVER_INFO_1W; 490 -alias _DRIVER_INFO_1W* LPDRIVER_INFO_1W; 491 - 492 -// #ifdef UNICODE 493 -alias DRIVER_INFO_1W DRIVER_INFO_1; 494 -alias PDRIVER_INFO_1W PDRIVER_INFO_1; 495 -alias LPDRIVER_INFO_1W LPDRIVER_INFO_1; 496 -// #else 497 -// ... 498 -// #endif // UNICODE 499 - 500 -struct _DRIVER_INFO_2A { 501 - DWORD cVersion; 502 - LPSTR pName; 503 - LPSTR pEnvironment; 504 - LPSTR pDriverPath; 505 - LPSTR pDataFile; 506 - LPSTR pConfigFile; 507 -} 508 -alias _DRIVER_INFO_2A DRIVER_INFO_2A; 509 -alias _DRIVER_INFO_2A* PDRIVER_INFO_2A; 510 -alias _DRIVER_INFO_2A* LPDRIVER_INFO_2A; 511 - 512 -struct _DRIVER_INFO_2W { 513 - DWORD cVersion; 514 - LPWSTR pName; 515 - LPWSTR pEnvironment; 516 - LPWSTR pDriverPath; 517 - LPWSTR pDataFile; 518 - LPWSTR pConfigFile; 519 -} 520 -alias _DRIVER_INFO_2W DRIVER_INFO_2W; 521 -alias _DRIVER_INFO_2W* PDRIVER_INFO_2W; 522 -alias _DRIVER_INFO_2W* LPDRIVER_INFO_2W; 523 - 524 -// #ifdef UNICODE 525 -alias DRIVER_INFO_2W DRIVER_INFO_2; 526 -alias PDRIVER_INFO_2W PDRIVER_INFO_2; 527 -alias LPDRIVER_INFO_2W LPDRIVER_INFO_2; 528 -// #else 529 -// ... 530 -// #endif // UNICODE 531 - 532 -struct _DRIVER_INFO_3A { 533 - DWORD cVersion; 534 - LPSTR pName; 535 - LPSTR pEnvironment; 536 - LPSTR pDriverPath; 537 - LPSTR pDataFile; 538 - LPSTR pConfigFile; 539 - LPSTR pHelpFile; 540 - LPSTR pDependentFiles; 541 - LPSTR pMonitorName; 542 - LPSTR pDefaultDataType; 543 -} 544 -alias _DRIVER_INFO_3A DRIVER_INFO_3A; 545 -alias _DRIVER_INFO_3A* PDRIVER_INFO_3A; 546 -alias _DRIVER_INFO_3A* LPDRIVER_INFO_3A; 547 - 548 -struct _DRIVER_INFO_3W { 549 - DWORD cVersion; 550 - LPWSTR pName; 551 - LPWSTR pEnvironment; 552 - LPWSTR pDriverPath; 553 - LPWSTR pDataFile; 554 - LPWSTR pConfigFile; 555 - LPWSTR pHelpFile; 556 - LPWSTR pDependentFiles; 557 - LPWSTR pMonitorName; 558 - LPWSTR pDefaultDataType; 559 -} 560 -alias _DRIVER_INFO_3W DRIVER_INFO_3W; 561 -alias _DRIVER_INFO_3W* PDRIVER_INFO_3W; 562 -alias _DRIVER_INFO_3W* LPDRIVER_INFO_3W; 563 - 564 -// #ifdef UNICODE 565 -alias DRIVER_INFO_3W DRIVER_INFO_3; 566 -alias PDRIVER_INFO_3W PDRIVER_INFO_3; 567 -alias LPDRIVER_INFO_3W LPDRIVER_INFO_3; 568 -// #else 569 -// ... 570 -// #endif // UNICODE 571 - 572 -struct _DRIVER_INFO_4A { 573 - DWORD cVersion; 574 - LPSTR pName; 575 - LPSTR pEnvironment; 576 - LPSTR pDriverPath; 577 - LPSTR pDataFile; 578 - LPSTR pConfigFile; 579 - LPSTR pHelpFile; 580 - LPSTR pDependentFiles; 581 - LPSTR pMonitorName; 582 - LPSTR pDefaultDataType; 583 - LPSTR pszzPreviousNames; 584 -} 585 -alias _DRIVER_INFO_4A DRIVER_INFO_4A; 586 -alias _DRIVER_INFO_4A* PDRIVER_INFO_4A; 587 -alias _DRIVER_INFO_4A* LPDRIVER_INFO_4A; 588 - 589 -struct _DRIVER_INFO_4W { 590 - DWORD cVersion; 591 - LPWSTR pName; 592 - LPWSTR pEnvironment; 593 - LPWSTR pDriverPath; 594 - LPWSTR pDataFile; 595 - LPWSTR pConfigFile; 596 - LPWSTR pHelpFile; 597 - LPWSTR pDependentFiles; 598 - LPWSTR pMonitorName; 599 - LPWSTR pDefaultDataType; 600 - LPWSTR pszzPreviousNames; 601 -} 602 -alias _DRIVER_INFO_4W DRIVER_INFO_4W; 603 -alias _DRIVER_INFO_4W* PDRIVER_INFO_4W; 604 -alias _DRIVER_INFO_4W* LPDRIVER_INFO_4W; 605 - 606 -// #ifdef UNICODE 607 -alias DRIVER_INFO_4W DRIVER_INFO_4; 608 -alias PDRIVER_INFO_4W PDRIVER_INFO_4; 609 -alias LPDRIVER_INFO_4W LPDRIVER_INFO_4; 610 -// #else 611 -// ... 612 -// #endif // UNICODE 613 - 614 -struct _DRIVER_INFO_5A { 615 - DWORD cVersion; 616 - LPSTR pName; 617 - LPSTR pEnvironment; 618 - LPSTR pDriverPath; 619 - LPSTR pDataFile; 620 - LPSTR pConfigFile; 621 - DWORD dwDriverAttributes; 622 - DWORD dwConfigVersion; 623 - DWORD dwDriverVersion; 624 -} 625 -alias _DRIVER_INFO_5A DRIVER_INFO_5A; 626 -alias _DRIVER_INFO_5A* PDRIVER_INFO_5A; 627 -alias _DRIVER_INFO_5A* LPDRIVER_INFO_5A; 628 - 629 -struct _DRIVER_INFO_5W { 630 - DWORD cVersion; 631 - LPWSTR pName; 632 - LPWSTR pEnvironment; 633 - LPWSTR pDriverPath; 634 - LPWSTR pDataFile; 635 - LPWSTR pConfigFile; 636 - DWORD dwDriverAttributes; 637 - DWORD dwConfigVersion; 638 - DWORD dwDriverVersion; 639 -} 640 -alias _DRIVER_INFO_5W DRIVER_INFO_5W; 641 -alias _DRIVER_INFO_5W* PDRIVER_INFO_5W; 642 -alias _DRIVER_INFO_5W* LPDRIVER_INFO_5W; 643 - 644 -// #ifdef UNICODE 645 -alias DRIVER_INFO_5W DRIVER_INFO_5; 646 -alias PDRIVER_INFO_5W PDRIVER_INFO_5; 647 -alias LPDRIVER_INFO_5W LPDRIVER_INFO_5; 648 -// #else 649 -// ... 650 -// #endif // UNICODE 651 - 652 -struct _DRIVER_INFO_6A { 653 - DWORD cVersion; 654 - LPSTR pName; 655 - LPSTR pEnvironment; 656 - LPSTR pDriverPath; 657 - LPSTR pDataFile; 658 - LPSTR pConfigFile; 659 - LPSTR pHelpFile; 660 - LPSTR pDependentFiles; 661 - LPSTR pMonitorName; 662 - LPSTR pDefaultDataType; 663 - LPSTR pszzPreviousNames; 664 - FILETIME ftDriverDate; 665 - DWORDLONG dwlDriverVersion; 666 - LPSTR pszMfgName; 667 - LPSTR pszOEMUrl; 668 - LPSTR pszHardwareID; 669 - LPSTR pszProvider; 670 -} 671 -alias _DRIVER_INFO_6A DRIVER_INFO_6A; 672 -alias _DRIVER_INFO_6A* PDRIVER_INFO_6A; 673 -alias _DRIVER_INFO_6A* LPDRIVER_INFO_6A; 674 - 675 -struct _DRIVER_INFO_6W { 676 - DWORD cVersion; 677 - LPWSTR pName; 678 - LPWSTR pEnvironment; 679 - LPWSTR pDriverPath; 680 - LPWSTR pDataFile; 681 - LPWSTR pConfigFile; 682 - LPWSTR pHelpFile; 683 - LPWSTR pDependentFiles; 684 - LPWSTR pMonitorName; 685 - LPWSTR pDefaultDataType; 686 - LPWSTR pszzPreviousNames; 687 - FILETIME ftDriverDate; 688 - DWORDLONG dwlDriverVersion; 689 - LPWSTR pszMfgName; 690 - LPWSTR pszOEMUrl; 691 - LPWSTR pszHardwareID; 692 - LPWSTR pszProvider; 693 -} 694 -alias _DRIVER_INFO_6W DRIVER_INFO_6W; 695 -alias _DRIVER_INFO_6W* PDRIVER_INFO_6W; 696 -alias _DRIVER_INFO_6W* LPDRIVER_INFO_6W; 697 - 698 -// #ifdef UNICODE 699 -alias DRIVER_INFO_6W DRIVER_INFO_6; 700 -alias PDRIVER_INFO_6W PDRIVER_INFO_6; 701 -alias LPDRIVER_INFO_6W LPDRIVER_INFO_6; 702 -// #else 703 -// ... 704 -// #endif // UNICODE 705 - 706 -enum : uint { DRIVER_KERNELMODE = 0x00000001 } 707 -enum : uint { DRIVER_USERMODE = 0x00000002 } 708 - 709 -enum : uint { DPD_DELETE_UNUSED_FILES = 0x00000001 } 710 -enum : uint { DPD_DELETE_SPECIFIC_VERSION = 0x00000002 } 711 -enum : uint { DPD_DELETE_ALL_FILES = 0x00000004 } 712 - 713 -enum : uint { APD_STRICT_UPGRADE = 0x00000001 } 714 -enum : uint { APD_STRICT_DOWNGRADE = 0x00000002 } 715 -enum : uint { APD_COPY_ALL_FILES = 0x00000004 } 716 -enum : uint { APD_COPY_NEW_FILES = 0x00000008 } 717 -enum : uint { APD_COPY_FROM_DIRECTORY = 0x00000010 } 718 - 719 -struct _DOC_INFO_1A { 720 - LPSTR pDocName; 721 - LPSTR pOutputFile; 722 - LPSTR pDatatype; 723 -} 724 -alias _DOC_INFO_1A DOC_INFO_1A; 725 -alias _DOC_INFO_1A* PDOC_INFO_1A; 726 -alias _DOC_INFO_1A* LPDOC_INFO_1A; 727 - 728 -struct _DOC_INFO_1W { 729 - LPWSTR pDocName; 730 - LPWSTR pOutputFile; 731 - LPWSTR pDatatype; 732 -} 733 -alias _DOC_INFO_1W DOC_INFO_1W; 734 -alias _DOC_INFO_1W* PDOC_INFO_1W; 735 -alias _DOC_INFO_1W* LPDOC_INFO_1W; 736 - 737 -// #ifdef UNICODE 803 +alias DATATYPES_INFO_1W DATATYPES_INFO_1; 804 +alias MONITOR_INFO_1W MONITOR_INFO_1; 805 +alias MONITOR_INFO_2W MONITOR_INFO_2; 738 806 alias DOC_INFO_1W DOC_INFO_1; 739 -alias PDOC_INFO_1W PDOC_INFO_1; 740 -alias LPDOC_INFO_1W LPDOC_INFO_1; 741 -// #else 742 -// ... 743 -// #endif // UNICODE 744 - 745 -struct _FORM_INFO_1A { 746 - DWORD Flags; 747 - LPSTR pName; 748 - SIZEL Size; 749 - RECTL ImageableArea; 750 -} 751 -alias _FORM_INFO_1A FORM_INFO_1A; 752 -alias _FORM_INFO_1A* PFORM_INFO_1A; 753 -alias _FORM_INFO_1A* LPFORM_INFO_1A; 807 +alias DOC_INFO_2W DOC_INFO_2; 808 +alias PORT_INFO_1W PORT_INFO_1; 809 +alias PORT_INFO_2W PORT_INFO_2; 810 +alias PORT_INFO_3W PORT_INFO_3; 811 +alias DRIVER_INFO_2W DRIVER_INFO_2; 812 +alias PRINTER_INFO_1W PRINTER_INFO_1; 813 +alias PRINTER_INFO_2W PRINTER_INFO_2; 814 +alias PRINTER_INFO_4W PRINTER_INFO_4; 815 +alias PRINTER_INFO_5W PRINTER_INFO_5; 816 +alias PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1; 817 +alias FORM_INFO_1W FORM_INFO_1; 818 +alias PRINTER_DEFAULTSW PRINTER_DEFAULTS; 754 819 755 -struct _FORM_INFO_1W { 756 - DWORD Flags; 757 - LPWSTR pName; 758 - SIZEL Size; 759 - RECTL ImageableArea; 760 -} 761 -alias _FORM_INFO_1W FORM_INFO_1W; 762 -alias _FORM_INFO_1W* PFORM_INFO_1W; 763 -alias _FORM_INFO_1W* LPFORM_INFO_1W; 764 - 765 -// #ifdef UNICODE 766 -alias FORM_INFO_1W FORM_INFO_1; 767 -alias PFORM_INFO_1W PFORM_INFO_1; 768 -alias LPFORM_INFO_1W LPFORM_INFO_1; 769 -// #else 770 -// ... 771 -// #endif // UNICODE 820 +alias AddFormW AddForm; 821 +alias AddJobW AddJob; 822 +alias AddMonitorW AddMonitor; 823 +alias AddPortW AddPort; 824 +alias AddPrinterW AddPrinter; 825 +alias AddPrinterConnectionW AddPrinterConnection; 826 +alias AddPrinterDriverW AddPrinterDriver; 827 +alias AddPrintProcessorW AddPrintProcessor; 828 +alias AddPrintProvidorW AddPrintProvidor; 829 +alias AdvancedDocumentPropertiesW AdvancedDocumentProperties; 830 +alias ConfigurePortW ConfigurePort; 831 +alias DeleteFormW DeleteForm; 832 +alias DeleteMonitorW DeleteMonitor; 833 +alias DeletePortW DeletePort; 834 +alias DeletePrinterConnectionW DeletePrinterConnection; 835 +alias DeletePrinterDataW DeletePrinterData; 836 +alias DeletePrinterDriverW DeletePrinterDriver; 837 +alias DeletePrintProcessorW DeletePrintProcessor; 838 +alias DeletePrintProvidorW DeletePrintProvidor; 839 +alias DocumentPropertiesW DocumentProperties; 840 +alias EnumFormsW EnumForms; 841 +alias EnumJobsW EnumJobs; 842 +alias EnumMonitorsW EnumMonitors; 843 +alias EnumPortsW EnumPorts; 844 +alias EnumPrinterDataW EnumPrinterData; 845 +alias EnumPrinterDriversW EnumPrinterDrivers; 846 +alias EnumPrintersW EnumPrinters; 847 +alias EnumPrintProcessorDatatypesW EnumPrintProcessorDatatypes; 848 +alias EnumPrintProcessorsW EnumPrintProcessors; 772 849 773 -struct _DOC_INFO_2A { 774 - LPSTR pDocName; 775 - LPSTR pOutputFile; 776 - LPSTR pDatatype; 777 - DWORD dwMode; 778 - DWORD JobId; 779 -} 780 -alias _DOC_INFO_2A DOC_INFO_2A; 781 -alias _DOC_INFO_2A* PDOC_INFO_2A; 782 -alias _DOC_INFO_2A* LPDOC_INFO_2A; 783 - 784 -struct _DOC_INFO_2W { 785 - LPWSTR pDocName; 786 - LPWSTR pOutputFile; 787 - LPWSTR pDatatype; 788 - DWORD dwMode; 789 - DWORD JobId; 850 +static if (_WIN32_WINNT >= 0x0500) { 851 +alias GetDefaultPrinterW GetDefaultPrinter; 790 852 } 791 -alias _DOC_INFO_2W DOC_INFO_2W; 792 -alias _DOC_INFO_2W* PDOC_INFO_2W; 793 -alias _DOC_INFO_2W* LPDOC_INFO_2W; 794 853 795 -// #ifdef UNICODE 796 -alias DOC_INFO_2W DOC_INFO_2; 797 -alias PDOC_INFO_2W PDOC_INFO_2; 798 -alias LPDOC_INFO_2W LPDOC_INFO_2; 799 -// #else 800 -// ... 801 -// #endif // UNICODE 854 +alias GetFormW GetForm; 855 +alias GetJobW GetJob; 856 +alias GetPrinterW GetPrinter; 857 +alias GetPrinterDataW GetPrinterData; 858 +alias GetPrinterDriverW GetPrinterDriver; 859 +alias GetPrinterDriverDirectoryW GetPrinterDriverDirectory; 860 +alias GetPrintProcessorDirectoryW GetPrintProcessorDirectory; 861 +alias OpenPrinterW OpenPrinter; 862 +alias PrinterMessageBoxW PrinterMessageBox; 863 +alias ResetPrinterW ResetPrinter; 864 +alias SetFormW SetForm; 865 +alias SetJobW SetJob; 866 +alias SetPrinterW SetPrinter; 867 +alias SetPrinterDataW SetPrinterData; 868 +alias StartDocPrinterW StartDocPrinter; 802 869 803 -enum : uint { DI_CHANNEL = 1 } 870 +} else { 804 871 805 -enum : uint { DI_READ_SPOOL_JOB = 3 } 806 - 807 -struct _DOC_INFO_3A { 808 - LPSTR pDocName; 809 - LPSTR pOutputFile; 810 - LPSTR pDatatype; 811 - DWORD dwFlags; 812 -} 813 -alias _DOC_INFO_3A DOC_INFO_3A; 814 -alias _DOC_INFO_3A* PDOC_INFO_3A; 815 -alias _DOC_INFO_3A* LPDOC_INFO_3A; 872 +alias JOB_INFO_1A JOB_INFO_1; 873 +alias JOB_INFO_2A JOB_INFO_2; 874 +alias ADDJOB_INFO_1A ADDJOB_INFO_1; 875 +alias DATATYPES_INFO_1A DATATYPES_INFO_1; 876 +alias MONITOR_INFO_1A MONITOR_INFO_1; 877 +alias MONITOR_INFO_2A MONITOR_INFO_2; 878 +alias DOC_INFO_1A DOC_INFO_1; 879 +alias DOC_INFO_2A DOC_INFO_2; 880 +alias PORT_INFO_1A PORT_INFO_1; 881 +alias PORT_INFO_2A PORT_INFO_2; 882 +alias PORT_INFO_3A PORT_INFO_3; 883 +alias DRIVER_INFO_2A DRIVER_INFO_2; 884 +alias PRINTER_INFO_1A PRINTER_INFO_1; 885 +alias PRINTER_INFO_2A PRINTER_INFO_2; 886 +alias PRINTER_INFO_4A PRINTER_INFO_4; 887 +alias PRINTER_INFO_5A PRINTER_INFO_5; 888 +alias PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1; 889 +alias FORM_INFO_1A FORM_INFO_1; 890 +alias PRINTER_DEFAULTSA PRINTER_DEFAULTS; 816 891 817 -struct _DOC_INFO_3W { 818 - LPWSTR pDocName; 819 - LPWSTR pOutputFile; 820 - LPWSTR pDatatype; 821 - DWORD dwFlags; 822 -} 823 -alias _DOC_INFO_3W DOC_INFO_3W; 824 -alias _DOC_INFO_3W* PDOC_INFO_3W; 825 -alias _DOC_INFO_3W* LPDOC_INFO_3W; 826 - 827 -// #ifdef UNICODE 828 -alias DOC_INFO_3W DOC_INFO_3; 829 -alias PDOC_INFO_3W PDOC_INFO_3; 830 -alias LPDOC_INFO_3W LPDOC_INFO_3; 831 -// #else 832 -// ... 833 -// #endif // UNICODE 892 +alias AddFormA AddForm; 893 +alias AddJobA AddJob; 894 +alias AddMonitorA AddMonitor; 895 +alias AddPortA AddPort; 896 +alias AddPrinterA AddPrinter; 897 +alias AddPrinterConnectionA AddPrinterConnection; 898 +alias AddPrinterDriverA AddPrinterDriver; 899 +alias AddPrintProcessorA AddPrintProcessor; 900 +alias AddPrintProvidorA AddPrintProvidor; 901 +alias AdvancedDocumentPropertiesA AdvancedDocumentProperties; 902 +alias ConfigurePortA ConfigurePort; 903 +alias DeleteFormA DeleteForm; 904 +alias DeleteMonitorA DeleteMonitor; 905 +alias DeletePortA DeletePort; 906 +alias DeletePrinterConnectionA DeletePrinterConnection; 907 +alias DeletePrinterDataA DeletePrinterData; 908 +alias DeletePrinterDriverA DeletePrinterDriver; 909 +alias DeletePrintProcessorA DeletePrintProcessor; 910 +alias DeletePrintProvidorA DeletePrintProvidor; 911 +alias DocumentPropertiesA DocumentProperties; 912 +alias EnumFormsA EnumForms; 913 +alias EnumJobsA EnumJobs; 914 +alias EnumMonitorsA EnumMonitors; 915 +alias EnumPortsA EnumPorts; 916 +alias EnumPrinterDataA EnumPrinterData; 917 +alias EnumPrinterDriversA EnumPrinterDrivers; 918 +alias EnumPrintersA EnumPrinters; 919 +alias EnumPrintProcessorDatatypesA EnumPrintProcessorDatatypes; 920 +alias EnumPrintProcessorsA EnumPrintProcessors; 834 921 835 -enum : uint { DI_MEMORYMAP_WRITE = 0x00000001 } 836 - 837 -enum : uint { FORM_USER = 0x00000000 } 838 -enum : uint { FORM_BUILTIN = 0x00000001 } 839 -enum : uint { FORM_PRINTER = 0x00000002 } 840 - 841 -struct _PRINTPROCESSOR_INFO_1A { 842 - LPSTR pName; 843 -} 844 -alias _PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1A; 845 -alias _PRINTPROCESSOR_INFO_1A* PPRINTPROCESSOR_INFO_1A; 846 -alias _PRINTPROCESSOR_INFO_1A* LPPRINTPROCESSOR_INFO_1A; 847 - 848 -struct _PRINTPROCESSOR_INFO_1W { 849 - LPWSTR pName; 922 +static if (_WIN32_WINNT >= 0x0500) { 923 +alias GetDefaultPrinterA GetDefaultPrinter; 850 924 } 851 -alias _PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1W; 852 -alias _PRINTPROCESSOR_INFO_1W* PPRINTPROCESSOR_INFO_1W; 853 -alias _PRINTPROCESSOR_INFO_1W* LPPRINTPROCESSOR_INFO_1W; 854 925 855 -// #ifdef UNICODE 856 -alias PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1; 857 -alias PPRINTPROCESSOR_INFO_1W PPRINTPROCESSOR_INFO_1; 858 -alias LPPRINTPROCESSOR_INFO_1W LPPRINTPROCESSOR_INFO_1; 859 -// #else 860 -// ... 861 -// #endif // UNICODE 862 - 863 -struct _PRINTPROCESSOR_CAPS_1 { 864 - DWORD dwLevel; 865 - DWORD dwNupOptions; 866 - DWORD dwPageOrderFlags; 867 - DWORD dwNumberOfCopies; 868 -} 869 -alias _PRINTPROCESSOR_CAPS_1 PRINTPROCESSOR_CAPS_1; 870 -alias _PRINTPROCESSOR_CAPS_1* PPRINTPROCESSOR_CAPS_1; 871 - 872 -enum : uint { NORMAL_PRINT = 0x00000000 } 873 -enum : uint { REVERSE_PRINT = 0x00000001 } 874 - 875 -struct _PORT_INFO_1A { 876 - LPSTR pName; 877 -} 878 -alias _PORT_INFO_1A PORT_INFO_1A; 879 -alias _PORT_INFO_1A* PPORT_INFO_1A; 880 -alias _PORT_INFO_1A* LPPORT_INFO_1A; 881 - 882 -struct _PORT_INFO_1W { 883 - LPWSTR pName; 884 -} 885 -alias _PORT_INFO_1W PORT_INFO_1W; 886 -alias _PORT_INFO_1W* PPORT_INFO_1W; 887 -alias _PORT_INFO_1W* LPPORT_INFO_1W; 888 - 889 -// #ifdef UNICODE 890 -alias PORT_INFO_1W PORT_INFO_1; 891 -alias PPORT_INFO_1W PPORT_INFO_1; 892 -alias LPPORT_INFO_1W LPPORT_INFO_1; 893 -// #else 894 -// ... 895 -// #endif // UNICODE 896 - 897 -struct _PORT_INFO_2A { 898 - LPSTR pPortName; 899 - LPSTR pMonitorName; 900 - LPSTR pDescription; 901 - DWORD fPortType; 902 - DWORD Reserved; 903 -} 904 -alias _PORT_INFO_2A PORT_INFO_2A; 905 -alias _PORT_INFO_2A* PPORT_INFO_2A; 906 -alias _PORT_INFO_2A* LPPORT_INFO_2A; 907 - 908 -struct _PORT_INFO_2W { 909 - LPWSTR pPortName; 910 - LPWSTR pMonitorName; 911 - LPWSTR pDescription; 912 - DWORD fPortType; 913 - DWORD Reserved; 914 -} 915 -alias _PORT_INFO_2W PORT_INFO_2W; 916 -alias _PORT_INFO_2W* PPORT_INFO_2W; 917 -alias _PORT_INFO_2W* LPPORT_INFO_2W; 918 - 919 -// #ifdef UNICODE 920 -alias PORT_INFO_2W PORT_INFO_2; 921 -alias PPORT_INFO_2W PPORT_INFO_2; 922 -alias LPPORT_INFO_2W LPPORT_INFO_2; 923 -// #else 924 -// ... 925 -// #endif // UNICODE 926 - 927 -enum : uint { PORT_TYPE_WRITE = 0x0001 } 928 -enum : uint { PORT_TYPE_READ = 0x0002 } 929 -enum : uint { PORT_TYPE_REDIRECTED = 0x0004 } 930 -enum : uint { PORT_TYPE_NET_ATTACHED = 0x0008 } 931 - 932 -struct _PORT_INFO_3A { 933 - DWORD dwStatus; 934 - LPSTR pszStatus; 935 - DWORD dwSeverity; 936 -} 937 -alias _PORT_INFO_3A PORT_INFO_3A; 938 -alias _PORT_INFO_3A* PPORT_INFO_3A; 939 -alias _PORT_INFO_3A* LPPORT_INFO_3A; 940 - 941 -struct _PORT_INFO_3W { 942 - DWORD dwStatus; 943 - LPWSTR pszStatus; 944 - DWORD dwSeverity; 945 -} 946 -alias _PORT_INFO_3W PORT_INFO_3W; 947 -alias _PORT_INFO_3W* PPORT_INFO_3W; 948 -alias _PORT_INFO_3W* LPPORT_INFO_3W; 949 - 950 -// #ifdef UNICODE 951 -alias PORT_INFO_3W PORT_INFO_3; 952 -alias PPORT_INFO_3W PPORT_INFO_3; 953 -alias LPPORT_INFO_3W LPPORT_INFO_3; 954 -// #else 955 -// ... 956 -// #endif // UNICODE 926 +alias GetFormA GetForm; 927 +alias GetJobA GetJob; 928 +alias GetPrinterA GetPrinter; 929 +alias GetPrinterDataA GetPrinterData; 930 +alias GetPrinterDriverA GetPrinterDriver; 931 +alias GetPrinterDriverDirectoryA GetPrinterDriverDirectory; 932 +alias GetPrintProcessorDirectoryA GetPrintProcessorDirectory; 933 +alias OpenPrinterA OpenPrinter; 934 +alias PrinterMessageBoxA PrinterMessageBox; 935 +alias ResetPrinterA ResetPrinter; 936 +alias SetFormA SetForm; 937 +alias SetJobA SetJob; 938 +alias SetPrinterA SetPrinter; 939 +alias SetPrinterDataA SetPrinterData; 940 +alias StartDocPrinterA StartDocPrinter; 941 +} 957 942 958 -enum : uint { PORT_STATUS_TYPE_ERROR = 1 } 959 -enum : uint { PORT_STATUS_TYPE_WARNING = 2 } 960 -enum : uint { PORT_STATUS_TYPE_INFO = 3 } 961 - 962 -enum : uint { PORT_STATUS_OFFLINE = 1 } 963 -enum : uint { PORT_STATUS_PAPER_JAM = 2 } 964 -enum : uint { PORT_STATUS_PAPER_OUT = 3 } 965 -enum : uint { PORT_STATUS_OUTPUT_BIN_FULL = 4 } 966 -enum : uint { PORT_STATUS_PAPER_PROBLEM = 5 } 967 -enum : uint { PORT_STATUS_NO_TONER = 6 } 968 -enum : uint { PORT_STATUS_DOOR_OPEN = 7 } 969 -enum : uint { PORT_STATUS_USER_INTERVENTION = 8 } 970 -enum : uint { PORT_STATUS_OUT_OF_MEMORY = 9 } 971 - 972 -enum : uint { PORT_STATUS_TONER_LOW = 10 } 973 - 974 -enum : uint { PORT_STATUS_WARMING_UP = 11 } 975 -enum : uint { PORT_STATUS_POWER_SAVE = 12 } 976 - 977 -struct _MONITOR_INFO_1A { 978 - LPSTR pName; 979 -} 980 -alias _MONITOR_INFO_1A MONITOR_INFO_1A; 981 -alias _MONITOR_INFO_1A* PMONITOR_INFO_1A; 982 -alias _MONITOR_INFO_1A* LPMONITOR_INFO_1A; 983 - 984 -struct _MONITOR_INFO_1W { 985 - LPWSTR pName; 986 -} 987 -alias _MONITOR_INFO_1W MONITOR_INFO_1W; 988 -alias _MONITOR_INFO_1W* PMONITOR_INFO_1W; 989 -alias _MONITOR_INFO_1W* LPMONITOR_INFO_1W; 990 - 991 -// #ifdef UNICODE 992 -alias MONITOR_INFO_1W MONITOR_INFO_1; 993 -alias PMONITOR_INFO_1W PMONITOR_INFO_1; 994 -alias LPMONITOR_INFO_1W LPMONITOR_INFO_1; 995 -// #else 996 -// ... 997 -// #endif // UNICODE 998 - 999 -struct _MONITOR_INFO_2A { 1000 - LPSTR pName; 1001 - LPSTR pEnvironment; 1002 - LPSTR pDLLName; 1003 -} 1004 -alias _MONITOR_INFO_2A MONITOR_INFO_2A; 1005 -alias _MONITOR_INFO_2A* PMONITOR_INFO_2A; 1006 -alias _MONITOR_INFO_2A* LPMONITOR_INFO_2A; 1007 - 1008 -struct _MONITOR_INFO_2W { 1009 - LPWSTR pName; 1010 - LPWSTR pEnvironment; 1011 - LPWSTR pDLLName; 1012 -} 1013 -alias _MONITOR_INFO_2W MONITOR_INFO_2W; 1014 -alias _MONITOR_INFO_2W* PMONITOR_INFO_2W; 1015 -alias _MONITOR_INFO_2W* LPMONITOR_INFO_2W; 1016 - 1017 -// #ifdef UNICODE 1018 -alias MONITOR_INFO_2W MONITOR_INFO_2; 1019 -alias PMONITOR_INFO_2W PMONITOR_INFO_2; 1020 -alias LPMONITOR_INFO_2W LPMONITOR_INFO_2; 1021 -// #else 1022 -// ... 1023 -// #endif // UNICODE 1024 - 1025 -struct _DATATYPES_INFO_1A { 1026 - LPSTR pName; 1027 -} 1028 -alias _DATATYPES_INFO_1A DATATYPES_INFO_1A; 1029 -alias _DATATYPES_INFO_1A* PDATATYPES_INFO_1A; 1030 -alias _DATATYPES_INFO_1A* LPDATATYPES_INFO_1A; 1031 - 1032 -struct _DATATYPES_INFO_1W { 1033 - LPWSTR pName; 1034 -} 1035 -alias _DATATYPES_INFO_1W DATATYPES_INFO_1W; 1036 -alias _DATATYPES_INFO_1W* PDATATYPES_INFO_1W; 1037 -alias _DATATYPES_INFO_1W* LPDATATYPES_INFO_1W; 1038 - 1039 -// #ifdef UNICODE 1040 -alias DATATYPES_INFO_1W DATATYPES_INFO_1; 1041 -alias PDATATYPES_INFO_1W PDATATYPES_INFO_1; 1042 -alias LPDATATYPES_INFO_1W LPDATATYPES_INFO_1; 1043 -// #else 1044 -// ... 1045 -// #endif // UNICODE 1046 - 1047 -struct _PRINTER_DEFAULTSA { 1048 - LPSTR pDatatype; 1049 - LPDEVMODEA pDevMode; 1050 - ACCESS_MASK DesiredAccess; 1051 -} 1052 -alias _PRINTER_DEFAULTSA PRINTER_DEFAULTSA; 1053 -alias _PRINTER_DEFAULTSA* PPRINTER_DEFAULTSA; 1054 -alias _PRINTER_DEFAULTSA* LPPRINTER_DEFAULTSA; 1055 - 1056 -struct _PRINTER_DEFAULTSW { 1057 - LPWSTR pDatatype; 1058 - LPDEVMODEW pDevMode; 1059 - ACCESS_MASK DesiredAccess; 1060 -} 1061 -alias _PRINTER_DEFAULTSW PRINTER_DEFAULTSW; 1062 -alias _PRINTER_DEFAULTSW* PPRINTER_DEFAULTSW; 1063 -alias _PRINTER_DEFAULTSW* LPPRINTER_DEFAULTSW; 1064 - 1065 -// #ifdef UNICODE 1066 -alias PRINTER_DEFAULTSW PRINTER_DEFAULTS; 1067 -alias PPRINTER_DEFAULTSW PPRINTER_DEFAULTS; 1068 -alias LPPRINTER_DEFAULTSW LPPRINTER_DEFAULTS; 1069 -// #else 1070 -// ... 1071 -// #endif // UNICODE 1072 - 1073 -struct _PRINTER_ENUM_VALUESA { 1074 - LPSTR pValueName; 1075 - DWORD cbValueName; 1076 - DWORD dwType; 1077 - LPBYTE pData; 1078 - DWORD cbData; 1079 -} 1080 -alias _PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUESA; 1081 -alias _PRINTER_ENUM_VALUESA* PPRINTER_ENUM_VALUESA; 1082 -alias _PRINTER_ENUM_VALUESA* LPPRINTER_ENUM_VALUESA; 1083 - 1084 -struct _PRINTER_ENUM_VALUESW { 1085 - LPWSTR pValueName; 1086 - DWORD cbValueName; 1087 - DWORD dwType; 1088 - LPBYTE pData; 1089 - DWORD cbData; 1090 -} 1091 -alias _PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUESW; 1092 -alias _PRINTER_ENUM_VALUESW* PPRINTER_ENUM_VALUESW; 1093 -alias _PRINTER_ENUM_VALUESW* LPPRINTER_ENUM_VALUESW; 1094 - 1095 -// #ifdef UNICODE 1096 -alias PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUES; 1097 -alias PPRINTER_ENUM_VALUESW PPRINTER_ENUM_VALUES; 1098 -alias LPPRINTER_ENUM_VALUESW LPPRINTER_ENUM_VALUES; 1099 -// #else 1100 -// ... 1101 -// #endif // UNICODE 1102 - 1103 -extern(Windows) export BOOL EnumPrintersA( 1104 - DWORD Flags, 1105 - LPSTR Name, 1106 - DWORD Level, 1107 - LPBYTE pPrinterEnum, 1108 - DWORD cbBuf, 1109 - LPDWORD pcbNeeded, 1110 - LPDWORD pcReturned 1111 -); 1112 -extern(Windows) export BOOL EnumPrintersW( 1113 - DWORD Flags, 1114 - LPWSTR Name, 1115 - DWORD Level, 1116 - LPBYTE pPrinterEnum, 1117 - DWORD cbBuf, 1118 - LPDWORD pcbNeeded, 1119 - LPDWORD pcReturned 1120 -); 1121 -// #ifdef UNICODE 1122 -alias EnumPrintersW EnumPrinters; 1123 -// #else 1124 -// #... 1125 -// #endif // !UNICODE 1126 - 1127 -enum : uint { PRINTER_ENUM_DEFAULT = 0x00000001 } 1128 -enum : uint { PRINTER_ENUM_LOCAL = 0x00000002 } 1129 -enum : uint { PRINTER_ENUM_CONNECTIONS = 0x00000004 } 1130 -enum : uint { PRINTER_ENUM_FAVORITE = 0x00000004 } 1131 -enum : uint { PRINTER_ENUM_NAME = 0x00000008 } 1132 -enum : uint { PRINTER_ENUM_REMOTE = 0x00000010 } 1133 -enum : uint { PRINTER_ENUM_SHARED = 0x00000020 } 1134 -enum : uint { PRINTER_ENUM_NETWORK = 0x00000040 } 1135 - 1136 -enum : uint { PRINTER_ENUM_EXPAND = 0x00004000 } 1137 -enum : uint { PRINTER_ENUM_CONTAINER = 0x00008000 } 1138 - 1139 -enum : uint { PRINTER_ENUM_ICONMASK = 0x00ff0000 } 1140 -enum : uint { PRINTER_ENUM_ICON1 = 0x00010000 } 1141 -enum : uint { PRINTER_ENUM_ICON2 = 0x00020000 } 1142 -enum : uint { PRINTER_ENUM_ICON3 = 0x00040000 } 1143 -enum : uint { PRINTER_ENUM_ICON4 = 0x00080000 } 1144 -enum : uint { PRINTER_ENUM_ICON5 = 0x00100000 } 1145 -enum : uint { PRINTER_ENUM_ICON6 = 0x00200000 } 1146 -enum : uint { PRINTER_ENUM_ICON7 = 0x00400000 } 1147 -enum : uint { PRINTER_ENUM_ICON8 = 0x00800000 } 1148 -enum : uint { PRINTER_ENUM_HIDE = 0x01000000 } 1149 - 1150 -enum : uint { SPOOL_FILE_PERSISTENT = 0x00000001 } 1151 -enum : uint { SPOOL_FILE_TEMPORARY = 0x00000002 } 1152 - 1153 -extern(Windows) export BOOL OpenPrinterA( 1154 - LPSTR pPrinterName, 1155 - LPHANDLE phPrinter, 1156 - LPPRINTER_DEFAULTSA pDefault 1157 -); 1158 -extern(Windows) export BOOL OpenPrinterW( 1159 - LPWSTR pPrinterName, 1160 - LPHANDLE phPrinter, 1161 - LPPRINTER_DEFAULTSW pDefault 1162 -); 1163 -// #ifdef UNICODE 1164 -alias OpenPrinterW OpenPrinter; 1165 -// #else 1166 -// #... 1167 -// #endif // !UNICODE 1168 - 1169 -extern(Windows) export BOOL ResetPrinterA( 1170 - HANDLE hPrinter, 1171 - LPPRINTER_DEFAULTSA pDefault 1172 -); 1173 -extern(Windows) export BOOL ResetPrinterW( 1174 - HANDLE hPrinter, 1175 - LPPRINTER_DEFAULTSW pDefault 1176 -); 1177 -// #ifdef UNICODE 1178 -alias ResetPrinterW ResetPrinter; 1179 -// #else 1180 -// #... 1181 -// #endif // !UNICODE 1182 - 1183 -extern(Windows) export BOOL SetJobA( 1184 - HANDLE hPrinter, 1185 - DWORD JobId, 1186 - DWORD Level, 1187 - LPBYTE pJob, 1188 - DWORD Command 1189 -); 1190 -extern(Windows) export BOOL SetJobW( 1191 - HANDLE hPrinter, 1192 - DWORD JobId, 1193 - DWORD Level, 1194 - LPBYTE pJob, 1195 - DWORD Command 1196 -); 1197 -// #ifdef UNICODE 1198 -alias SetJobW SetJob; 1199 -// #else 1200 -// #... 1201 -// #endif // !UNICODE 1202 - 1203 -extern(Windows) export BOOL GetJobA( 1204 - HANDLE hPrinter, 1205 - DWORD JobId, 1206 - DWORD Level, 1207 - LPBYTE pJob, 1208 - DWORD cbBuf, 1209 - LPDWORD pcbNeeded 1210 -); 1211 -extern(Windows) export BOOL GetJobW( 1212 - HANDLE hPrinter, 1213 - DWORD JobId, 1214 - DWORD Level, 1215 - LPBYTE pJob, 1216 - DWORD cbBuf, 1217 - LPDWORD pcbNeeded 1218 -); 1219 -// #ifdef UNICODE 1220 -alias GetJobW GetJob; 1221 -// #else 1222 -// #... 1223 -// #endif // !UNICODE 1224 - 1225 -extern(Windows) export BOOL EnumJobsA( 1226 - HANDLE hPrinter, 1227 - DWORD FirstJob, 1228 - DWORD NoJobs, 1229 - DWORD Level, 1230 - LPBYTE pJob, 1231 - DWORD cbBuf, 1232 - LPDWORD pcbNeeded, 1233 - LPDWORD pcReturned 1234 -); 1235 -extern(Windows) export BOOL EnumJobsW( 1236 - HANDLE hPrinter, 1237 - DWORD FirstJob, 1238 - DWORD NoJobs, 1239 - DWORD Level, 1240 - LPBYTE pJob, 1241 - DWORD cbBuf, 1242 - LPDWORD pcbNeeded, 1243 - LPDWORD pcReturned 1244 -); 1245 -// #ifdef UNICODE 1246 -alias EnumJobsW EnumJobs; 1247 -// #else 1248 -// #... 1249 -// #endif // !UNICODE 1250 - 1251 -extern(Windows) export HANDLE AddPrinterA( 1252 - LPSTR pName, 1253 - DWORD Level, 1254 - LPBYTE pPrinter 1255 -); 1256 -extern(Windows) export HANDLE AddPrinterW( 1257 - LPWSTR pName, 1258 - DWORD Level, 1259 - LPBYTE pPrinter 1260 -); 1261 -// #ifdef UNICODE 1262 -alias AddPrinterW AddPrinter; 1263 -// #else 1264 -// #... 1265 -// #endif // !UNICODE 1266 - 1267 -extern(Windows) export BOOL DeletePrinter( 1268 - HANDLE hPrinter 1269 -); 1270 - 1271 -extern(Windows) export BOOL SetPrinterA( 1272 - HANDLE hPrinter, 1273 - DWORD Level, 1274 - LPBYTE pPrinter, 1275 - DWORD Command 1276 -); 1277 -extern(Windows) export BOOL SetPrinterW( 1278 - HANDLE hPrinter, 1279 - DWORD Level, 1280 - LPBYTE pPrinter, 1281 - DWORD Command 1282 -); 1283 -// #ifdef UNICODE 1284 -alias SetPrinterW SetPrinter; 1285 -// #else 1286 -// #... 1287 -// #endif // !UNICODE 1288 - 1289 -extern(Windows) export BOOL GetPrinterA( 1290 - HANDLE hPrinter, 1291 - DWORD Level, 1292 - LPBYTE pPrinter, 1293 - DWORD cbBuf, 1294 - LPDWORD pcbNeeded 1295 -); 1296 -extern(Windows) export BOOL GetPrinterW( 1297 - HANDLE hPrinter, 1298 - DWORD Level, 1299 - LPBYTE pPrinter, 1300 - DWORD cbBuf, 1301 - LPDWORD pcbNeeded 1302 -); 1303 -// #ifdef UNICODE 1304 -alias GetPrinterW GetPrinter; 1305 -// #else 1306 -// #... 1307 -// #endif // !UNICODE 1308 - 1309 -extern(Windows) export BOOL AddPrinterDriverA( 1310 - LPSTR pName, 1311 - DWORD Level, 1312 - LPBYTE pDriverInfo 1313 -); 1314 -extern(Windows) export BOOL AddPrinterDriverW( 1315 - LPWSTR pName, 1316 - DWORD Level, 1317 - LPBYTE pDriverInfo 1318 -); 1319 -// #ifdef UNICODE 1320 -alias AddPrinterDriverW AddPrinterDriver; 1321 -// #else 1322 -// #... 1323 -// #endif // !UNICODE 1324 - 1325 -extern(Windows) export BOOL AddPrinterDriverExA( 1326 - LPSTR pName, 1327 - DWORD Level, 1328 - LPBYTE pDriverInfo, 1329 - DWORD dwFileCopyFlags 1330 -); 1331 -extern(Windows) export BOOL AddPrinterDriverExW( 1332 - LPWSTR pName, 1333 - DWORD Level, 1334 - LPBYTE pDriverInfo, 1335 - DWORD dwFileCopyFlags 1336 -); 1337 -// #ifdef UNICODE 1338 -alias AddPrinterDriverExW AddPrinterDriverEx; 1339 -// #else 1340 -// #... 1341 -// #endif // !UNICODE 1342 - 1343 -extern(Windows) export BOOL EnumPrinterDriversA( 1344 - LPSTR pName, 1345 - LPSTR pEnvironment, 1346 - DWORD Level, 1347 - LPBYTE pDriverInfo, 1348 - DWORD cbBuf, 1349 - LPDWORD pcbNeeded, 1350 - LPDWORD pcReturned 1351 -); 1352 -extern(Windows) export BOOL EnumPrinterDriversW( 1353 - LPWSTR pName, 1354 - LPWSTR pEnvironment, 1355 - DWORD Level, 1356 - LPBYTE pDriverInfo, 1357 - DWORD cbBuf, 1358 - LPDWORD pcbNeeded, 1359 - LPDWORD pcReturned 1360 -); 1361 -// #ifdef UNICODE 1362 -alias EnumPrinterDriversW EnumPrinterDrivers; 1363 -// #else 1364 -// #... 1365 -// #endif // !UNICODE 1366 - 1367 -extern(Windows) export BOOL GetPrinterDriverA( 1368 - HANDLE hPrinter, 1369 - LPSTR pEnvironment, 1370 - DWORD Level, 1371 - LPBYTE pDriverInfo, 1372 - DWORD cbBuf, 1373 - LPDWORD pcbNeeded 1374 -); 1375 -extern(Windows) export BOOL GetPrinterDriverW( 1376 - HANDLE hPrinter, 1377 - LPWSTR pEnvironment, 1378 - DWORD Level, 1379 - LPBYTE pDriverInfo, 1380 - DWORD cbBuf, 1381 - LPDWORD pcbNeeded 1382 -); 1383 -// #ifdef UNICODE 1384 -alias GetPrinterDriverW GetPrinterDriver; 1385 -// #else 1386 -// #... 1387 -// #endif // !UNICODE 1388 - 1389 -extern(Windows) export BOOL GetPrinterDriverDirectoryA( 1390 - LPSTR pName, 1391 - LPSTR pEnvironment, 1392 - DWORD Level, 1393 - LPBYTE pDriverDirectory, 1394 - DWORD cbBuf, 1395 - LPDWORD pcbNeeded 1396 -); 1397 -extern(Windows) export BOOL GetPrinterDriverDirectoryW( 1398 - LPWSTR pName, 1399 - LPWSTR pEnvironment, 1400 - DWORD Level, 1401 - LPBYTE pDriverDirectory, 1402 - DWORD cbBuf, 1403 - LPDWORD pcbNeeded 1404 -); 1405 -// #ifdef UNICODE 1406 -alias GetPrinterDriverDirectoryW GetPrinterDriverDirectory; 1407 -// #else 1408 -// #... 1409 -// #endif // !UNICODE 1410 - 1411 -extern(Windows) export BOOL DeletePrinterDriverA( 1412 - LPSTR pName, 1413 - LPSTR pEnvironment, 1414 - LPSTR pDriverName 1415 -); 1416 -extern(Windows) export BOOL DeletePrinterDriverW( 1417 - LPWSTR pName, 1418 - LPWSTR pEnvironment, 1419 - LPWSTR pDriverName 1420 -); 1421 -// #ifdef UNICODE 1422 -alias DeletePrinterDriverW DeletePrinterDriver; 1423 -// #else 1424 -// #... 1425 -// #endif // !UNICODE 1426 - 1427 -extern(Windows) export BOOL DeletePrinterDriverExA( 1428 - LPSTR pName, 1429 - LPSTR pEnvironment, 1430 - LPSTR pDriverName, 1431 - DWORD dwDeleteFlag, 1432 - DWORD dwVersionFlag 1433 -); 1434 -extern(Windows) export BOOL DeletePrinterDriverExW( 1435 - LPWSTR pName, 1436 - LPWSTR pEnvironment, 1437 - LPWSTR pDriverName, 1438 - DWORD dwDeleteFlag, 1439 - DWORD dwVersionFlag 1440 -); 1441 -// #ifdef UNICODE 1442 -alias DeletePrinterDriverExW DeletePrinterDriverEx; 1443 -// #else 1444 -// #... 1445 -// #endif // !UNICODE 1446 - 1447 -extern(Windows) export BOOL AddPrintProcessorA( 1448 - LPSTR pName, 1449 - LPSTR pEnvironment, 1450 - LPSTR pPathName, 1451 - LPSTR pPrintProcessorName 1452 -); 1453 -extern(Windows) export BOOL AddPrintProcessorW( 1454 - LPWSTR pName, 1455 - LPWSTR pEnvironment, 1456 - LPWSTR pPathName, 1457 - LPWSTR pPrintProcessorName 1458 -); 1459 -// #ifdef UNICODE 1460 -alias AddPrintProcessorW AddPrintProcessor; 1461 -// #else 1462 -// #... 1463 -// #endif // !UNICODE 1464 - 1465 -extern(Windows) export BOOL EnumPrintProcessorsA( 1466 - LPSTR pName, 1467 - LPSTR pEnvironment, 1468 - DWORD Level, 1469 - LPBYTE pPrintProcessorInfo, 1470 - DWORD cbBuf, 1471 - LPDWORD pcbNeeded, 1472 - LPDWORD pcReturned 1473 -); 1474 -extern(Windows) export BOOL EnumPrintProcessorsW( 1475 - LPWSTR pName, 1476 - LPWSTR pEnvironment, 1477 - DWORD Level, 1478 - LPBYTE pPrintProcessorInfo, 1479 - DWORD cbBuf, 1480 - LPDWORD pcbNeeded, 1481 - LPDWORD pcReturned 1482 -); 1483 -// #ifdef UNICODE 1484 -alias EnumPrintProcessorsW EnumPrintProcessors; 1485 -// #else 1486 -// #... 1487 -// #endif // !UNICODE 1488 - 1489 -extern(Windows) export BOOL GetPrintProcessorDirectoryA( 1490 - LPSTR pName, 1491 - LPSTR pEnvironment, 1492 - DWORD Level, 1493 - LPBYTE pPrintProcessorInfo, 1494 - DWORD cbBuf, 1495 - LPDWORD pcbNeeded 1496 -); 1497 -extern(Windows) export BOOL GetPrintProcessorDirectoryW( 1498 - LPWSTR pName, 1499 - LPWSTR pEnvironment, 1500 - DWORD Level, 1501 - LPBYTE pPrintProcessorInfo, 1502 - DWORD cbBuf, 1503 - LPDWORD pcbNeeded 1504 -); 1505 -// #ifdef UNICODE 1506 -alias GetPrintProcessorDirectoryW GetPrintProcessorDirectory; 1507 -// #else 1508 -// #... 1509 -// #endif // !UNICODE 1510 - 1511 -extern(Windows) export BOOL EnumPrintProcessorDatatypesA( 1512 - LPSTR pName, 1513 - LPSTR pPrintProcessorName, 1514 - DWORD Level, 1515 - LPBYTE pDatatypes, 1516 - DWORD cbBuf, 1517 - LPDWORD pcbNeeded, 1518 - LPDWORD pcReturned 1519 -); 1520 -extern(Windows) export BOOL EnumPrintProcessorDatatypesW( 1521 - LPWSTR pName, 1522 - LPWSTR pPrintProcessorName, 1523 - DWORD Level, 1524 - LPBYTE pDatatypes, 1525 - DWORD cbBuf, 1526 - LPDWORD pcbNeeded, 1527 - LPDWORD pcReturned 1528 -); 1529 -// #ifdef UNICODE 1530 -alias EnumPrintProcessorDatatypesW EnumPrintProcessorDatatypes; 1531 -// #else 1532 -// #... 1533 -// #endif // !UNICODE 1534 - 1535 -extern(Windows) export BOOL DeletePrintProcessorA( 1536 - LPSTR pName, 1537 - LPSTR pEnvironment, 1538 - LPSTR pPrintProcessorName 1539 -); 1540 -extern(Windows) export BOOL DeletePrintProcessorW( 1541 - LPWSTR pName, 1542 - LPWSTR pEnvironment, 1543 - LPWSTR pPrintProcessorName 1544 -); 1545 -// #ifdef UNICODE 1546 -alias DeletePrintProcessorW DeletePrintProcessor; 1547 -// #else 1548 -// #... 1549 -// #endif // !UNICODE 1550 - 1551 -extern(Windows) export DWORD StartDocPrinterA( 1552 - HANDLE hPrinter, 1553 - DWORD Level, 1554 - LPBYTE pDocInfo 1555 -); 1556 -extern(Windows) export DWORD StartDocPrinterW( 1557 - HANDLE hPrinter, 1558 - DWORD Level, 1559 - LPBYTE pDocInfo 1560 -); 1561 -// #ifdef UNICODE 1562 -alias StartDocPrinterW StartDocPrinter; 1563 -// #else 1564 -// #... 1565 -// #endif // !UNICODE 1566 - 1567 -extern(Windows) export BOOL StartPagePrinter( 1568 - HANDLE hPrinter 1569 -); 1570 - 1571 -extern(Windows) export BOOL WritePrinter( 1572 - HANDLE hPrinter, 1573 - LPVOID pBuf, 1574 - DWORD cbBuf, 1575 - LPDWORD pcWritten 1576 -); 1577 - 1578 -extern(Windows) export BOOL FlushPrinter( 1579 - HANDLE hPrinter, 1580 - LPVOID pBuf, 1581 - DWORD cbBuf, 1582 - LPDWORD pcWritten, 1583 - DWORD cSleep 1584 -); 1585 - 1586 -extern(Windows) export BOOL EndPagePrinter( 1587 - HANDLE hPrinter 1588 -); 1589 - 1590 -extern(Windows) export BOOL AbortPrinter( 1591 - HANDLE hPrinter 1592 -); 1593 - 1594 -extern(Windows) export BOOL ReadPrinter( 1595 - HANDLE hPrinter, 1596 - LPVOID pBuf, 1597 - DWORD cbBuf, 1598 - LPDWORD pNoBytesRead 1599 -); 1600 - 1601 -extern(Windows) export BOOL EndDocPrinter( 1602 - HANDLE hPrinter 1603 -); 1604 - 1605 -extern(Windows) export BOOL AddJobA( 1606 - HANDLE hPrinter, 1607 - DWORD Level, 1608 - LPBYTE pData, 1609 - DWORD cbBuf, 1610 - LPDWORD pcbNeeded 1611 -); 1612 -extern(Windows) export BOOL AddJobW( 1613 - HANDLE hPrinter, 1614 - DWORD Level, 1615 - LPBYTE pData, 1616 - DWORD cbBuf, 1617 - LPDWORD pcbNeeded 1618 -); 1619 -// #ifdef UNICODE 1620 -alias AddJobW AddJob; 1621 -// #else 1622 -// #... 1623 -// #endif // !UNICODE 1624 - 1625 -extern(Windows) export BOOL ScheduleJob( 1626 - HANDLE hPrinter, 1627 - DWORD JobId 1628 -); 1629 - 1630 -extern(Windows) export BOOL PrinterProperties( 1631 - HWND hWnd, 1632 - HANDLE hPrinter 1633 -); 1634 - 1635 -extern(Windows) export LONG DocumentPropertiesA( 1636 - HWND hWnd, 1637 - HANDLE hPrinter, 1638 - LPSTR pDeviceName, 1639 - PDEVMODEA pDevModeOutput, 1640 - PDEVMODEA pDevModeInput, 1641 - DWORD fMode 1642 -); 1643 -extern(Windows) export LONG DocumentPropertiesW( 1644 - HWND hWnd, 1645 - HANDLE hPrinter, 1646 - LPWSTR pDeviceName, 1647 - PDEVMODEW pDevModeOutput, 1648 - PDEVMODEW pDevModeInput, 1649 - DWORD fMode 1650 -); 1651 -// #ifdef UNICODE 1652 -alias DocumentPropertiesW DocumentProperties; 1653 -// #else 1654 -// #... 1655 -// #endif // !UNICODE 1656 - 1657 -extern(Windows) export LONG AdvancedDocumentPropertiesA( 1658 - HWND hWnd, 1659 - HANDLE hPrinter, 1660 - LPSTR pDeviceName, 1661 - PDEVMODEA pDevModeOutput, 1662 - PDEVMODEA pDevModeInput 1663 -); 1664 -extern(Windows) export LONG AdvancedDocumentPropertiesW( 1665 - HWND hWnd, 1666 - HANDLE hPrinter, 1667 - LPWSTR pDeviceName, 1668 - PDEVMODEW pDevModeOutput, 1669 - PDEVMODEW pDevModeInput 1670 -); 1671 -// #ifdef UNICODE 1672 -alias AdvancedDocumentPropertiesW AdvancedDocumentProperties; 1673 -// #else 1674 -// #... 1675 -// #endif // !UNICODE 1676 - 1677 -extern(Windows) export DWORD GetPrinterDataA( 1678 - HANDLE hPrinter, 1679 - LPSTR pValueName, 1680 - LPDWORD pType, 1681 - LPBYTE pData, 1682 - DWORD nSize, 1683 - LPDWORD pcbNeeded 1684 -); 1685 -extern(Windows) export DWORD GetPrinterDataW( 1686 - HANDLE hPrinter, 1687 - LPWSTR pValueName, 1688 - LPDWORD pType, 1689 - LPBYTE pData, 1690 - DWORD nSize, 1691 - LPDWORD pcbNeeded 1692 -); 1693 -// #ifdef UNICODE 1694 -alias GetPrinterDataW GetPrinterData; 1695 -// #else 1696 -// #... 1697 -// #endif // !UNICODE 1698 - 1699 -extern(Windows) export DWORD GetPrinterDataExA( 1700 - HANDLE hPrinter, 1701 - LPCSTR pKeyName, 1702 - LPCSTR pValueName, 1703 - LPDWORD pType, 1704 - LPBYTE pData, 1705 - DWORD nSize, 1706 - LPDWORD pcbNeeded 1707 -); 1708 -extern(Windows) export DWORD GetPrinterDataExW( 1709 - HANDLE hPrinter, 1710 - LPCWSTR pKeyName, 1711 - LPCWSTR pValueName, 1712 - LPDWORD pType, 1713 - LPBYTE pData, 1714 - DWORD nSize, 1715 - LPDWORD pcbNeeded 1716 -); 1717 -// #ifdef UNICODE 1718 -alias GetPrinterDataExW GetPrinterDataEx; 1719 -// #else 1720 -// #... 1721 -// #endif // !UNICODE 1722 - 1723 -extern(Windows) export DWORD EnumPrinterDataA( 1724 - HANDLE hPrinter, 1725 - DWORD dwIndex, 1726 - LPSTR pValueName, 1727 - DWORD cbValueName, 1728 - LPDWORD pcbValueName, 1729 - LPDWORD pType, 1730 - LPBYTE pData, 1731 - DWORD cbData, 1732 - LPDWORD pcbData 1733 -); 1734 -extern(Windows) export DWORD EnumPrinterDataW( 1735 - HANDLE hPrinter, 1736 - DWORD dwIndex, 1737 - LPWSTR pValueName, 1738 - DWORD cbValueName, 1739 - LPDWORD pcbValueName, 1740 - LPDWORD pType, 1741 - LPBYTE pData, 1742 - DWORD cbData, 1743 - LPDWORD pcbData 1744 -); 1745 -// #ifdef UNICODE 1746 -alias EnumPrinterDataW EnumPrinterData; 1747 -// #else 1748 -// #... 1749 -// #endif // !UNICODE 1750 - 1751 -extern(Windows) export DWORD EnumPrinterDataExA( 1752 - HANDLE hPrinter, 1753 - LPCSTR pKeyName, 1754 - LPBYTE pEnumValues, 1755 - DWORD cbEnumValues, 1756 - LPDWORD pcbEnumValues, 1757 - LPDWORD pnEnumValues 1758 -); 1759 -extern(Windows) export DWORD EnumPrinterDataExW( 1760 - HANDLE hPrinter, 1761 - LPCWSTR pKeyName, 1762 - LPBYTE pEnumValues, 1763 - DWORD cbEnumValues, 1764 - LPDWORD pcbEnumValues, 1765 - LPDWORD pnEnumValues 1766 -); 1767 -// #ifdef UNICODE 1768 -alias EnumPrinterDataExW EnumPrinterDataEx; 1769 -// #else 1770 -// #... 1771 -// #endif // !UNICODE 1772 - 1773 -extern(Windows) export DWORD EnumPrinterKeyA( 1774 - HANDLE hPrinter, 1775 - LPCSTR pKeyName, 1776 - LPSTR pSubkey, 1777 - DWORD cbSubkey, 1778 - LPDWORD pcbSubkey 1779 -); 1780 -extern(Windows) export DWORD EnumPrinterKeyW( 1781 - HANDLE hPrinter, 1782 - LPCWSTR pKeyName, 1783 - LPWSTR pSubkey, 1784 - DWORD cbSubkey, 1785 - LPDWORD pcbSubkey 1786 -); 1787 -// #ifdef UNICODE 1788 -alias EnumPrinterKeyW EnumPrinterKey; 1789 -// #else 1790 -// #... 1791 -// #endif // !UNICODE 1792 - 1793 -extern(Windows) export DWORD SetPrinterDataA( 1794 - HANDLE hPrinter, 1795 - LPSTR pValueName, 1796 - DWORD Type, 1797 - LPBYTE pData, 1798 - DWORD cbData 1799 -); 1800 -extern(Windows) export DWORD SetPrinterDataW( 1801 - HANDLE hPrinter, 1802 - LPWSTR pValueName, 1803 - DWORD Type, 1804 - LPBYTE pData, 1805 - DWORD cbData 1806 -); 1807 -// #ifdef UNICODE 1808 -alias SetPrinterDataW SetPrinterData; 1809 -// #else 1810 -// #... 1811 -// #endif // !UNICODE 1812 - 1813 -extern(Windows) export DWORD SetPrinterDataExA( 1814 - HANDLE hPrinter, 1815 - LPCSTR pKeyName, 1816 - LPCSTR pValueName, 1817 - DWORD Type, 1818 - LPBYTE pData, 1819 - DWORD cbData 1820 -); 1821 -extern(Windows) export DWORD SetPrinterDataExW( 1822 - HANDLE hPrinter, 1823 - LPCWSTR pKeyName, 1824 - LPCWSTR pValueName, 1825 - DWORD Type, 1826 - LPBYTE pData, 1827 - DWORD cbData 1828 -); 1829 -// #ifdef UNICODE 1830 -alias SetPrinterDataExW SetPrinterDataEx; 1831 -// #else 1832 -// #... 1833 -// #endif // !UNICODE 1834 - 1835 -extern(Windows) export DWORD DeletePrinterDataA( 1836 - HANDLE hPrinter, 1837 - LPSTR pValueName 1838 -); 1839 -extern(Windows) export DWORD DeletePrinterDataW( 1840 - HANDLE hPrinter, 1841 - LPWSTR pValueName 1842 -); 1843 -// #ifdef UNICODE 1844 -alias DeletePrinterDataW DeletePrinterData; 1845 -// #else 1846 -// #... 1847 -// #endif // !UNICODE 1848 - 1849 -extern(Windows) export DWORD DeletePrinterDataExA( 1850 - HANDLE hPrinter, 1851 - LPCSTR pKeyName, 1852 - LPCSTR pValueName 1853 -); 1854 -extern(Windows) export DWORD DeletePrinterDataExW( 1855 - HANDLE hPrinter, 1856 - LPCWSTR pKeyName, 1857 - LPCWSTR pValueName 1858 -); 1859 -// #ifdef UNICODE 1860 -alias DeletePrinterDataExW DeletePrinterDataEx; 1861 -// #else 1862 -// #... 1863 -// #endif // !UNICODE 1864 - 1865 -extern(Windows) export DWORD DeletePrinterKeyA( 1866 - HANDLE hPrinter, 1867 - LPCSTR pKeyName 1868 -); 1869 -extern(Windows) export DWORD DeletePrinterKeyW( 1870 - HANDLE hPrinter, 1871 - LPCWSTR pKeyName 1872 -); 1873 -// #ifdef UNICODE 1874 -alias DeletePrinterKeyW DeletePrinterKey; 1875 -// #else 1876 -// #... 1877 -// #endif // !UNICODE 1878 - 1879 -enum : uint { PRINTER_NOTIFY_TYPE = 0x00 } 1880 -enum : uint { JOB_NOTIFY_TYPE = 0x01 } 1881 - 1882 -enum : uint { PRINTER_NOTIFY_FIELD_SERVER_NAME = 0x00 } 1883 -enum : uint { PRINTER_NOTIFY_FIELD_PRINTER_NAME = 0x01 } 1884 -enum : uint { PRINTER_NOTIFY_FIELD_SHARE_NAME = 0x02 } 1885 -enum : uint { PRINTER_NOTIFY_FIELD_PORT_NAME = 0x03 } 1886 -enum : uint { PRINTER_NOTIFY_FIELD_DRIVER_NAME = 0x04 } 1887 -enum : uint { PRINTER_NOTIFY_FIELD_COMMENT = 0x05 } 1888 -enum : uint { PRINTER_NOTIFY_FIELD_LOCATION = 0x06 } 1889 -enum : uint { PRINTER_NOTIFY_FIELD_DEVMODE = 0x07 } 1890 -enum : uint { PRINTER_NOTIFY_FIELD_SEPFILE = 0x08 } 1891 -enum : uint { PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR = 0x09 } 1892 -enum : uint { PRINTER_NOTIFY_FIELD_PARAMETERS = 0x0A } 1893 -enum : uint { PRINTER_NOTIFY_FIELD_DATATYPE = 0x0B } 1894 -enum : uint { PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR = 0x0C } 1895 -enum : uint { PRINTER_NOTIFY_FIELD_ATTRIBUTES = 0x0D } 1896 -enum : uint { PRINTER_NOTIFY_FIELD_PRIORITY = 0x0E } 1897 -enum : uint { PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY = 0x0F } 1898 -enum : uint { PRINTER_NOTIFY_FIELD_START_TIME = 0x10 } 1899 -enum : uint { PRINTER_NOTIFY_FIELD_UNTIL_TIME = 0x11 } 1900 -enum : uint { PRINTER_NOTIFY_FIELD_STATUS = 0x12 } 1901 -enum : uint { PRINTER_NOTIFY_FIELD_STATUS_STRING = 0x13 } 1902 -enum : uint { PRINTER_NOTIFY_FIELD_CJOBS = 0x14 } 1903 -enum : uint { PRINTER_NOTIFY_FIELD_AVERAGE_PPM = 0x15 } 1904 -enum : uint { PRINTER_NOTIFY_FIELD_TOTAL_PAGES = 0x16 } 1905 -enum : uint { PRINTER_NOTIFY_FIELD_PAGES_PRINTED = 0x17 } 1906 -enum : uint { PRINTER_NOTIFY_FIELD_TOTAL_BYTES = 0x18 } 1907 -enum : uint { PRINTER_NOTIFY_FIELD_BYTES_PRINTED = 0x19 } 1908 -enum : uint { PRINTER_NOTIFY_FIELD_OBJECT_GUID = 0x1A } 1909 - 1910 -enum : uint { JOB_NOTIFY_FIELD_PRINTER_NAME = 0x00 } 1911 -enum : uint { JOB_NOTIFY_FIELD_MACHINE_NAME = 0x01 } 1912 -enum : uint { JOB_NOTIFY_FIELD_PORT_NAME = 0x02 } 1913 -enum : uint { JOB_NOTIFY_FIELD_USER_NAME = 0x03 } 1914 -enum : uint { JOB_NOTIFY_FIELD_NOTIFY_NAME = 0x04 } 1915 -enum : uint { JOB_NOTIFY_FIELD_DATATYPE = 0x05 } 1916 -enum : uint { JOB_NOTIFY_FIELD_PRINT_PROCESSOR = 0x06 } 1917 -enum : uint { JOB_NOTIFY_FIELD_PARAMETERS = 0x07 } 1918 -enum : uint { JOB_NOTIFY_FIELD_DRIVER_NAME = 0x08 } 1919 -enum : uint { JOB_NOTIFY_FIELD_DEVMODE = 0x09 } 1920 -enum : uint { JOB_NOTIFY_FIELD_STATUS = 0x0A } 1921 -enum : uint { JOB_NOTIFY_FIELD_STATUS_STRING = 0x0B } 1922 -enum : uint { JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR = 0x0C } 1923 -enum : uint { JOB_NOTIFY_FIELD_DOCUMENT = 0x0D } 1924 -enum : uint { JOB_NOTIFY_FIELD_PRIORITY = 0x0E } 1925 -enum : uint { JOB_NOTIFY_FIELD_POSITION = 0x0F } 1926 -enum : uint { JOB_NOTIFY_FIELD_SUBMITTED = 0x10 } 1927 -enum : uint { JOB_NOTIFY_FIELD_START_TIME = 0x11 } 1928 -enum : uint { JOB_NOTIFY_FIELD_UNTIL_TIME = 0x12 } 1929 -enum : uint { JOB_NOTIFY_FIELD_TIME = 0x13 } 1930 -enum : uint { JOB_NOTIFY_FIELD_TOTAL_PAGES = 0x14 } 1931 -enum : uint { JOB_NOTIFY_FIELD_PAGES_PRINTED = 0x15 } 1932 -enum : uint { JOB_NOTIFY_FIELD_TOTAL_BYTES = 0x16 } 1933 -enum : uint { JOB_NOTIFY_FIELD_BYTES_PRINTED = 0x17 } 1934 - 1935 -struct _PRINTER_NOTIFY_OPTIONS_TYPE { 1936 - WORD Type; 1937 - WORD Reserved0; 1938 - DWORD Reserved1; 1939 - DWORD Reserved2; 1940 - DWORD Count; 1941 - PWORD pFields; 1942 -} 1943 -alias _PRINTER_NOTIFY_OPTIONS_TYPE PRINTER_NOTIFY_OPTIONS_TYPE; 1944 -alias _PRINTER_NOTIFY_OPTIONS_TYPE* PPRINTER_NOTIFY_OPTIONS_TYPE; 1945 -alias _PRINTER_NOTIFY_OPTIONS_TYPE* LPPRINTER_NOTIFY_OPTIONS_TYPE; 1946 - 1947 -enum : uint { PRINTER_NOTIFY_OPTIONS_REFRESH = 0x01 } 1948 - 1949 -struct _PRINTER_NOTIFY_OPTIONS { 1950 - DWORD Version; 1951 - DWORD Flags; 1952 - DWORD Count; 1953 - PPRINTER_NOTIFY_OPTIONS_TYPE pTypes; 1954 -} 1955 -alias _PRINTER_NOTIFY_OPTIONS PRINTER_NOTIFY_OPTIONS; 1956 -alias _PRINTER_NOTIFY_OPTIONS* PPRINTER_NOTIFY_OPTIONS; 1957 -alias _PRINTER_NOTIFY_OPTIONS* LPPRINTER_NOTIFY_OPTIONS; 1958 - 1959 -enum : uint { PRINTER_NOTIFY_INFO_DISCARDED = 0x01 } 1960 - 1961 -struct _PRINTER_NOTIFY_INFO_DATA { 1962 - WORD Type; 1963 - WORD Field; 1964 - DWORD Reserved; 1965 - DWORD Id; 1966 -union { 1967 - DWORD adwData[2]; 1968 -struct { 1969 - DWORD cbBuf; 1970 - LPVOID pBuf; 1971 -} 1972 - 1973 -} 1974 - 1975 -} 1976 -alias _PRINTER_NOTIFY_INFO_DATA PRINTER_NOTIFY_INFO_DATA; 1977 -alias _PRINTER_NOTIFY_INFO_DATA* PPRINTER_NOTIFY_INFO_DATA; 1978 -alias _PRINTER_NOTIFY_INFO_DATA* LPPRINTER_NOTIFY_INFO_DATA; 1979 - 1980 -struct _PRINTER_NOTIFY_INFO { 1981 - DWORD Version; 1982 - DWORD Flags; 1983 - DWORD Count; 1984 - PRINTER_NOTIFY_INFO_DATA aData[1]; 1985 -} 1986 -alias _PRINTER_NOTIFY_INFO PRINTER_NOTIFY_INFO; 1987 -alias _PRINTER_NOTIFY_INFO* PPRINTER_NOTIFY_INFO; 1988 -alias _PRINTER_NOTIFY_INFO* LPPRINTER_NOTIFY_INFO; 1989 - 1990 -struct _BINARY_CONTAINER { 1991 - DWORD cbBuf; 1992 - LPBYTE pData; 1993 -} 1994 -alias _BINARY_CONTAINER BINARY_CONTAINER; 1995 -alias _BINARY_CONTAINER* PBINARY_CONTAINER; 1996 - 1997 -struct _BIDI_DATA { 1998 - DWORD dwBidiType; 1999 -union { 2000 - BOOL bData; 2001 - LONG iData; 2002 - LPWSTR sData; 2003 - FLOAT fData; 2004 - BINARY_CONTAINER biData; 2005 -} 2006 - 2007 -} 2008 -alias _BIDI_DATA BIDI_DATA; 2009 -alias _BIDI_DATA* PBIDI_DATA; 2010 -alias _BIDI_DATA* LPBIDI_DATA; 2011 - 2012 -struct _BIDI_REQUEST_DATA { 2013 - DWORD dwReqNumber; 2014 - LPWSTR pSchema; 2015 - BIDI_DATA data; 2016 -} 2017 -alias _BIDI_REQUEST_DATA BIDI_REQUEST_DATA; 2018 -alias _BIDI_REQUEST_DATA* PBIDI_REQUEST_DATA; 2019 -alias _BIDI_REQUEST_DATA* LPBIDI_REQUEST_DATA; 2020 - 2021 -struct _BIDI_REQUEST_CONTAINER { 2022 - DWORD Version; 2023 - DWORD Flags; 2024 - DWORD Count; 2025 - BIDI_REQUEST_DATA aData[ 1 ]; 2026 -} 2027 -alias _BIDI_REQUEST_CONTAINER BIDI_REQUEST_CONTAINER; 2028 -alias _BIDI_REQUEST_CONTAINER* PBIDI_REQUEST_CONTAINER; 2029 -alias _BIDI_REQUEST_CONTAINER* LPBIDI_REQUEST_CONTAINER; 2030 - 2031 -struct _BIDI_RESPONSE_DATA { 2032 - DWORD dwResult; 2033 - DWORD dwReqNumber; 2034 - LPWSTR pSchema; 2035 - BIDI_DATA data; 2036 -} 2037 -alias _BIDI_RESPONSE_DATA BIDI_RESPONSE_DATA; 2038 -alias _BIDI_RESPONSE_DATA* PBIDI_RESPONSE_DATA; 2039 -alias _BIDI_RESPONSE_DATA* LPBIDI_RESPONSE_DATA; 2040 - 2041 -struct _BIDI_RESPONSE_CONTAINER { 2042 - DWORD Version; 2043 - DWORD Flags; 2044 - DWORD Count; 2045 - BIDI_RESPONSE_DATA aData[ 1 ]; 2046 -} 2047 -alias _BIDI_RESPONSE_CONTAINER BIDI_RESPONSE_CONTAINER; 2048 -alias _BIDI_RESPONSE_CONTAINER* PBIDI_RESPONSE_CONTAINER; 2049 -alias _BIDI_RESPONSE_CONTAINER* LPBIDI_RESPONSE_CONTAINER; 2050 - 2051 -const wchar[] BIDI_ACTION_ENUM_SCHEMA = "EnumSchema"; 2052 -const wchar[] BIDI_ACTION_GET = "Get"; 2053 -const wchar[] BIDI_ACTION_SET = "Set"; 2054 -const wchar[] BIDI_ACTION_GET_ALL = "GetAll"; 2055 - 2056 -enum _0 { 2057 - BIDI_NULL = 0, 2058 - BIDI_INT = 1, 2059 - BIDI_FLOAT = 2, 2060 - BIDI_BOOL = 3, 2061 - BIDI_STRING = 4, 2062 - BIDI_TEXT = 5, 2063 - BIDI_ENUM = 6, 2064 - BIDI_BLOB = 7, 2065 -} 2066 -alias _0 BIDI_TYPE; 2067 - 2068 -enum : uint { BIDI_ACCESS_ADMINISTRATOR = 0x1 } 2069 -enum : uint { BIDI_ACCESS_USER = 0x2 } 2070 - 2071 -enum : uint { ERROR_BIDI_STATUS_OK = 0 } 2072 -alias ERROR_NOT_SUPPORTED ERROR_BIDI_NOT_SUPPORTED; 2073 - 2074 -enum : uint { ERROR_BIDI_ERROR_BASE = 13000 } 2075 -const uint ERROR_BIDI_STATUS_WARNING = ERROR_BIDI_ERROR_BASE + 1; 2076 -const uint ERROR_BIDI_SCHEMA_READ_ONLY = ERROR_BIDI_ERROR_BASE + 2; 2077 -const uint ERROR_BIDI_SERVER_OFFLINE = ERROR_BIDI_ERROR_BASE + 3; 2078 -const uint ERROR_BIDI_DEVICE_OFFLINE = ERROR_BIDI_ERROR_BASE + 4; 2079 -const uint ERROR_BIDI_SCHEMA_NOT_SUPPORTED = ERROR_BIDI_ERROR_BASE + 5; 2080 - 2081 -extern(Windows) export DWORD WaitForPrinterChange( 2082 - HANDLE hPrinter, 2083 - DWORD Flags 2084 -); 2085 - 2086 -extern(Windows) export HANDLE FindFirstPrinterChangeNotification( 2087 - HANDLE hPrinter, 2088 - DWORD fdwFlags, 2089 - DWORD fdwOptions, 2090 - LPVOID pPrinterNotifyOptions 2091 -); 2092 - 2093 -extern(Windows) export BOOL FindNextPrinterChangeNotification( 2094 - HANDLE hChange, 2095 - PDWORD pdwChange, 2096 - LPVOID pvReserved, 2097 - LPVOID *ppPrinterNotifyInfo 2098 -); 2099 - 2100 -extern(Windows) export BOOL FreePrinterNotifyInfo( 2101 - PPRINTER_NOTIFY_INFO pPrinterNotifyInfo 2102 -); 2103 - 2104 -extern(Windows) export BOOL FindClosePrinterChangeNotification( 2105 - HANDLE hChange 2106 -); 2107 - 2108 -enum : uint { PRINTER_CHANGE_ADD_PRINTER = 0x00000001 } 2109 -enum : uint { PRINTER_CHANGE_SET_PRINTER = 0x00000002 } 2110 -enum : uint { PRINTER_CHANGE_DELETE_PRINTER = 0x00000004 } 2111 -enum : uint { PRINTER_CHANGE_FAILED_CONNECTION_PRINTER = 0x00000008 } 2112 -enum : uint { PRINTER_CHANGE_PRINTER = 0x000000FF } 2113 -enum : uint { PRINTER_CHANGE_ADD_JOB = 0x00000100 } 2114 -enum : uint { PRINTER_CHANGE_SET_JOB = 0x00000200 } 2115 -enum : uint { PRINTER_CHANGE_DELETE_JOB = 0x00000400 } 2116 -enum : uint { PRINTER_CHANGE_WRITE_JOB = 0x00000800 } 2117 -enum : uint { PRINTER_CHANGE_JOB = 0x0000FF00 } 2118 -enum : uint { PRINTER_CHANGE_ADD_FORM = 0x00010000 } 2119 -enum : uint { PRINTER_CHANGE_SET_FORM = 0x00020000 } 2120 -enum : uint { PRINTER_CHANGE_DELETE_FORM = 0x00040000 } 2121 -enum : uint { PRINTER_CHANGE_FORM = 0x00070000 } 2122 -enum : uint { PRINTER_CHANGE_ADD_PORT = 0x00100000 } 2123 -enum : uint { PRINTER_CHANGE_CONFIGURE_PORT = 0x00200000 } 2124 -enum : uint { PRINTER_CHANGE_DELETE_PORT = 0x00400000 } 2125 -enum : uint { PRINTER_CHANGE_PORT = 0x00700000 } 2126 -enum : uint { PRINTER_CHANGE_ADD_PRINT_PROCESSOR = 0x01000000 } 2127 -enum : uint { PRINTER_CHANGE_DELETE_PRINT_PROCESSOR = 0x04000000 } 2128 -enum : uint { PRINTER_CHANGE_PRINT_PROCESSOR = 0x07000000 } 2129 -enum : uint { PRINTER_CHANGE_ADD_PRINTER_DRIVER = 0x10000000 } 2130 -enum : uint { PRINTER_CHANGE_SET_PRINTER_DRIVER = 0x20000000 } 2131 -enum : uint { PRINTER_CHANGE_DELETE_PRINTER_DRIVER = 0x40000000 } 2132 -enum : uint { PRINTER_CHANGE_PRINTER_DRIVER = 0x70000000 } 2133 -enum : uint { PRINTER_CHANGE_TIMEOUT = 0x80000000 } 2134 -enum : uint { PRINTER_CHANGE_ALL = 0x7777FFFF } 2135 - 2136 -extern(Windows) export DWORD PrinterMessageBoxA( 2137 - HANDLE hPrinter, 2138 - DWORD Error, 2139 - HWND hWnd, 2140 - LPSTR pText, 2141 - LPSTR pCaption, 2142 - DWORD dwType 2143 -); 2144 -extern(Windows) export DWORD PrinterMessageBoxW( 2145 - HANDLE hPrinter, 2146 - DWORD Error, 2147 - HWND hWnd, 2148 - LPWSTR pText, 2149 - LPWSTR pCaption, 2150 - DWORD dwType 2151 -); 2152 -// #ifdef UNICODE 2153 -alias PrinterMessageBoxW PrinterMessageBox; 2154 -// #else 2155 -// #... 2156 -// #endif // !UNICODE 2157 - 2158 -enum : uint { PRINTER_ERROR_INFORMATION = 0x80000000 } 2159 -enum : uint { PRINTER_ERROR_WARNING = 0x40000000 } 2160 -enum : uint { PRINTER_ERROR_SEVERE = 0x20000000 } 2161 - 2162 -enum : uint { PRINTER_ERROR_OUTOFPAPER = 0x00000001 } 2163 -enum : uint { PRINTER_ERROR_JAM = 0x00000002 } 2164 -enum : uint { PRINTER_ERROR_OUTOFTONER = 0x00000004 } 2165 - 2166 -extern(Windows) export BOOL ClosePrinter( 2167 - HANDLE hPrinter 2168 -); 2169 - 2170 -extern(Windows) export BOOL AddFormA( 2171 - HANDLE hPrinter, 2172 - DWORD Level, 2173 - LPBYTE pForm 2174 -); 2175 -extern(Windows) export BOOL AddFormW( 2176 - HANDLE hPrinter, 2177 - DWORD Level, 2178 - LPBYTE pForm 2179 -); 2180 -// #ifdef UNICODE 2181 -alias AddFormW AddForm; 2182 -// #else 2183 -// #... 2184 -// #endif // !UNICODE 2185 - 2186 -extern(Windows) export BOOL DeleteFormA( 2187 - HANDLE hPrinter, 2188 - LPSTR pFormName 2189 -); 2190 -extern(Windows) export BOOL DeleteFormW( 2191 - HANDLE hPrinter, 2192 - LPWSTR pFormName 2193 -); 2194 -// #ifdef UNICODE 2195 -alias DeleteFormW DeleteForm; 2196 -// #else 2197 -// #... 2198 -// #endif // !UNICODE 2199 - 2200 -extern(Windows) export BOOL GetFormA( 2201 - HANDLE hPrinter, 2202 - LPSTR pFormName, 2203 - DWORD Level, 2204 - LPBYTE pForm, 2205 - DWORD cbBuf, 2206 - LPDWORD pcbNeeded 2207 -); 2208 -extern(Windows) export BOOL GetFormW( 2209 - HANDLE hPrinter, 2210 - LPWSTR pFormName, 2211 - DWORD Level, 2212 - LPBYTE pForm, 2213 - DWORD cbBuf, 2214 - LPDWORD pcbNeeded 2215 -); 2216 -// #ifdef UNICODE 2217 -alias GetFormW GetForm; 2218 -// #else 2219 -// #... 2220 -// #endif // !UNICODE 2221 - 2222 -extern(Windows) export BOOL SetFormA( 2223 - HANDLE hPrinter, 2224 - LPSTR pFormName, 2225 - DWORD Level, 2226 - LPBYTE pForm 2227 -); 2228 -extern(Windows) export BOOL SetFormW( 2229 - HANDLE hPrinter, 2230 - LPWSTR pFormName, 2231 - DWORD Level, 2232 - LPBYTE pForm 2233 -); 2234 -// #ifdef UNICODE 2235 -alias SetFormW SetForm; 2236 -// #else 2237 -// #... 2238 -// #endif // !UNICODE 2239 - 2240 -extern(Windows) export BOOL EnumFormsA( 2241 - HANDLE hPrinter, 2242 - DWORD Level, 2243 - LPBYTE pForm, 2244 - DWORD cbBuf, 2245 - LPDWORD pcbNeeded, 2246 - LPDWORD pcReturned 2247 -); 2248 -extern(Windows) export BOOL EnumFormsW( 2249 - HANDLE hPrinter, 2250 - DWORD Level, 2251 - LPBYTE pForm, 2252 - DWORD cbBuf, 2253 - LPDWORD pcbNeeded, 2254 - LPDWORD pcReturned 2255 -); 2256 -// #ifdef UNICODE 2257 -alias EnumFormsW EnumForms; 2258 -// #else 2259 -// #... 2260 -// #endif // !UNICODE 2261 - 2262 -extern(Windows) export BOOL EnumMonitorsA( 2263 - LPSTR pName, 2264 - DWORD Level, 2265 - LPBYTE pMonitors, 2266 - DWORD cbBuf, 2267 - LPDWORD pcbNeeded, 2268 - LPDWORD pcReturned 2269 -); 2270 -extern(Windows) export BOOL EnumMonitorsW( 2271 - LPWSTR pName, 2272 - DWORD Level, 2273 - LPBYTE pMonitors, 2274 - DWORD cbBuf, 2275 - LPDWORD pcbNeeded, 2276 - LPDWORD pcReturned 2277 -); 2278 -// #ifdef UNICODE 2279 -alias EnumMonitorsW EnumMonitors; 2280 -// #else 2281 -// #... 2282 -// #endif // !UNICODE 2283 - 2284 -extern(Windows) export BOOL AddMonitorA( 2285 - LPSTR pName, 2286 - DWORD Level, 2287 - LPBYTE pMonitors 2288 -); 2289 -extern(Windows) export BOOL AddMonitorW( 2290 - LPWSTR pName, 2291 - DWORD Level, 2292 - LPBYTE pMonitors 2293 -); 2294 -// #ifdef UNICODE 2295 -alias AddMonitorW AddMonitor; 2296 -// #else 2297 -// #... 2298 -// #endif // !UNICODE 2299 - 2300 -extern(Windows) export BOOL DeleteMonitorA( 2301 - LPSTR pName, 2302 - LPSTR pEnvironment, 2303 - LPSTR pMonitorName 2304 -); 2305 -extern(Windows) export BOOL DeleteMonitorW( 2306 - LPWSTR pName, 2307 - LPWSTR pEnvironment, 2308 - LPWSTR pMonitorName 2309 -); 2310 -// #ifdef UNICODE 2311 -alias DeleteMonitorW DeleteMonitor; 2312 -// #else 2313 -// #... 2314 -// #endif // !UNICODE 2315 - 2316 -extern(Windows) export BOOL EnumPortsA( 2317 - LPSTR pName, 2318 - DWORD Level, 2319 - LPBYTE pPorts, 2320 - DWORD cbBuf, 2321 - LPDWORD pcbNeeded, 2322 - LPDWORD pcReturned 2323 -); 2324 -extern(Windows) export BOOL EnumPortsW( 2325 - LPWSTR pName, 2326 - DWORD Level, 2327 - LPBYTE pPorts, 2328 - DWORD cbBuf, 2329 - LPDWORD pcbNeeded, 2330 - LPDWORD pcReturned 2331 -); 2332 -// #ifdef UNICODE 2333 -alias EnumPortsW EnumPorts; 2334 -// #else 2335 -// #... 2336 -// #endif // !UNICODE 2337 - 2338 -extern(Windows) export BOOL AddPortA( 2339 - LPSTR pName, 2340 - HWND hWnd, 2341 - LPSTR pMonitorName 2342 -); 2343 -extern(Windows) export BOOL AddPortW( 2344 - LPWSTR pName, 2345 - HWND hWnd, 2346 - LPWSTR pMonitorName 2347 -); 2348 -// #ifdef UNICODE 2349 -alias AddPortW AddPort; 2350 -// #else 2351 -// #... 2352 -// #endif // !UNICODE 2353 - 2354 -extern(Windows) export BOOL ConfigurePortA( 2355 - LPSTR pName, 2356 - HWND hWnd, 2357 - LPSTR pPortName 2358 -); 2359 -extern(Windows) export BOOL ConfigurePortW( 2360 - LPWSTR pName, 2361 - HWND hWnd, 2362 - LPWSTR pPortName 2363 -); 2364 -// #ifdef UNICODE 2365 -alias ConfigurePortW ConfigurePort; 2366 -// #else 2367 -// #... 2368 -// #endif // !UNICODE 2369 - 2370 -extern(Windows) export BOOL DeletePortA( 2371 - LPSTR pName, 2372 - HWND hWnd, 2373 - LPSTR pPortName 2374 -); 2375 -extern(Windows) export BOOL DeletePortW( 2376 - LPWSTR pName, 2377 - HWND hWnd, 2378 - LPWSTR pPortName 2379 -); 2380 -// #ifdef UNICODE 2381 -alias DeletePortW DeletePort; 2382 -// #else 2383 -// #... 2384 -// #endif // !UNICODE 2385 - 2386 -extern(Windows) export BOOL XcvDataW( 2387 - HANDLE hXcv, 2388 - PCWSTR pszDataName, 2389 - PBYTE pInputData, 2390 - DWORD cbInputData, 2391 - PBYTE pOutputData, 2392 - DWORD cbOutputData, 2393 - PDWORD pcbOutputNeeded, 2394 - PDWORD pdwStatus 2395 -); 2396 -alias XcvDataW XcvData; 2397 - 2398 -extern(Windows) export BOOL GetDefaultPrinterA( 2399 - LPSTR pszBuffer, 2400 - LPDWORD pcchBuffer 2401 - ); 2402 -extern(Windows) export BOOL GetDefaultPrinterW( 2403 - LPWSTR pszBuffer, 2404 - LPDWORD pcchBuffer 2405 - ); 2406 -// #ifdef UNICODE 2407 -alias GetDefaultPrinterW GetDefaultPrinter; 2408 -// #else 2409 -// #... 2410 -// #endif // !UNICODE 2411 - 2412 -extern(Windows) export BOOL SetDefaultPrinterA( 2413 - LPCSTR pszPrinter 2414 - ); 2415 -extern(Windows) export BOOL SetDefaultPrinterW( 2416 - LPCWSTR pszPrinter 2417 - ); 2418 -// #ifdef UNICODE 2419 -alias SetDefaultPrinterW SetDefaultPrinter; 2420 -// #else 2421 -// #... 2422 -// #endif // !UNICODE 2423 - 2424 -extern(Windows) export BOOL SetPortA( 2425 - LPSTR pName, 2426 - LPSTR pPortName, 2427 - DWORD dwLevel, 2428 - LPBYTE pPortInfo 2429 -); 2430 -extern(Windows) export BOOL SetPortW( 2431 - LPWSTR pName, 2432 - LPWSTR pPortName, 2433 - DWORD dwLevel, 2434 - LPBYTE pPortInfo 2435 -); 2436 -// #ifdef UNICODE 2437 -alias SetPortW SetPort; 2438 -// #else 2439 -// #... 2440 -// #endif // !UNICODE 2441 - 2442 -extern(Windows) export BOOL AddPrinterConnectionA( 2443 - LPSTR pName 2444 -); 2445 -extern(Windows) export BOOL AddPrinterConnectionW( 2446 - LPWSTR pName 2447 -); 2448 -// #ifdef UNICODE 2449 -alias AddPrinterConnectionW AddPrinterConnection; 2450 -// #else 2451 -// #... 2452 -// #endif // !UNICODE 2453 - 2454 -extern(Windows) export BOOL DeletePrinterConnectionA( 2455 - LPSTR pName 2456 -); 2457 -extern(Windows) export BOOL DeletePrinterConnectionW( 2458 - LPWSTR pName 2459 -); 2460 -// #ifdef UNICODE 2461 -alias DeletePrinterConnectionW DeletePrinterConnection; 2462 -// #else 2463 -// #... 2464 -// #endif // !UNICODE 2465 - 2466 -extern(Windows) export HANDLE ConnectToPrinterDlg( 2467 - HWND hwnd, 2468 - DWORD Flags 2469 -); 2470 - 2471 -struct _PROVIDOR_INFO_1A { 2472 - LPSTR pName; 2473 - LPSTR pEnvironment; 2474 - LPSTR pDLLName; 2475 -} 2476 -alias _PROVIDOR_INFO_1A PROVIDOR_INFO_1A; 2477 -alias _PROVIDOR_INFO_1A* PPROVIDOR_INFO_1A; 2478 -alias _PROVIDOR_INFO_1A* LPPROVIDOR_INFO_1A; 2479 - 2480 -struct _PROVIDOR_INFO_1W { 2481 - LPWSTR pName; 2482 - LPWSTR pEnvironment; 2483 - LPWSTR pDLLName; 2484 -} 2485 -alias _PROVIDOR_INFO_1W PROVIDOR_INFO_1W; 2486 -alias _PROVIDOR_INFO_1W* PPROVIDOR_INFO_1W; 2487 -alias _PROVIDOR_INFO_1W* LPPROVIDOR_INFO_1W; 2488 - 2489 -// #ifdef UNICODE 2490 -alias PROVIDOR_INFO_1W PROVIDOR_INFO_1; 2491 -alias PPROVIDOR_INFO_1W PPROVIDOR_INFO_1; 2492 -alias LPPROVIDOR_INFO_1W LPPROVIDOR_INFO_1; 2493 -// #else 2494 -// ... 2495 -// #endif // UNICODE 2496 - 2497 -struct _PROVIDOR_INFO_2A { 2498 - LPSTR pOrder; 2499 -} 2500 -alias _PROVIDOR_INFO_2A PROVIDOR_INFO_2A; 2501 -alias _PROVIDOR_INFO_2A* PPROVIDOR_INFO_2A; 2502 -alias _PROVIDOR_INFO_2A* LPPROVIDOR_INFO_2A; 2503 - 2504 -struct _PROVIDOR_INFO_2W { 2505 - LPWSTR pOrder; 2506 -} 2507 -alias _PROVIDOR_INFO_2W PROVIDOR_INFO_2W; 2508 -alias _PROVIDOR_INFO_2W* PPROVIDOR_INFO_2W; 2509 -alias _PROVIDOR_INFO_2W* LPPROVIDOR_INFO_2W; 2510 - 2511 -// #ifdef UNICODE 2512 -alias PROVIDOR_INFO_2W PROVIDOR_INFO_2; 2513 -alias PPROVIDOR_INFO_2W PPROVIDOR_INFO_2; 2514 -alias LPPROVIDOR_INFO_2W LPPROVIDOR_INFO_2; 2515 -// #else 2516 -// ... 2517 -// #endif // UNICODE 2518 - 2519 -extern(Windows) export BOOL AddPrintProvidorA( 2520 - LPSTR pName, 2521 - DWORD level, 2522 - LPBYTE pProvidorInfo 2523 -); 2524 -extern(Windows) export BOOL AddPrintProvidorW( 2525 - LPWSTR pName, 2526 - DWORD level, 2527 - LPBYTE pProvidorInfo 2528 -); 2529 -// #ifdef UNICODE 2530 -alias AddPrintProvidorW AddPrintProvidor; 2531 -// #else 2532 -// #... 2533 -// #endif // !UNICODE 2534 - 2535 -extern(Windows) export BOOL DeletePrintProvidorA( 2536 - LPSTR pName, 2537 - LPSTR pEnvironment, 2538 - LPSTR pPrintProvidorName 2539 -); 2540 -extern(Windows) export BOOL DeletePrintProvidorW( 2541 - LPWSTR pName, 2542 - LPWSTR pEnvironment, 2543 - LPWSTR pPrintProvidorName 2544 -); 2545 -// #ifdef UNICODE 2546 -alias DeletePrintProvidorW DeletePrintProvidor; 2547 -// #else 2548 -// #... 2549 -// #endif // !UNICODE 2550 - 2551 -const TCHAR[] SPLREG_DEFAULT_SPOOL_DIRECTORY = "DefaultSpoolDirectory"; 2552 -const TCHAR[] SPLREG_PORT_THREAD_PRIORITY_DEFAULT = "PortThreadPriorityDefault"; 2553 -const TCHAR[] SPLREG_PORT_THREAD_PRIORITY = "PortThreadPriority"; 2554 -const TCHAR[] SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT = "SchedulerThreadPriorityDefault"; 2555 -const TCHAR[] SPLREG_SCHEDULER_THREAD_PRIORITY = "SchedulerThreadPriority"; 2556 -const TCHAR[] SPLREG_BEEP_ENABLED = "BeepEnabled"; 2557 -const TCHAR[] SPLREG_NET_POPUP = "NetPopup"; 2558 -const TCHAR[] SPLREG_RETRY_POPUP = "RetryPopup"; 2559 -const TCHAR[] SPLREG_NET_POPUP_TO_COMPUTER = "NetPopupToComputer"; 2560 -const TCHAR[] SPLREG_EVENT_LOG = "EventLog"; 2561 -const TCHAR[] SPLREG_MAJOR_VERSION = "MajorVersion"; 2562 -const TCHAR[] SPLREG_MINOR_VERSION = "MinorVersion"; 2563 -const TCHAR[] SPLREG_ARCHITECTURE = "Architecture"; 2564 -const TCHAR[] SPLREG_OS_VERSION = "OSVersion"; 2565 -const TCHAR[] SPLREG_OS_VERSIONEX = "OSVersionEx"; 2566 -const TCHAR[] SPLREG_DS_PRESENT = "DsPresent"; 2567 -const TCHAR[] SPLREG_DS_PRESENT_FOR_USER = "DsPresentForUser"; 2568 -const TCHAR[] SPLREG_REMOTE_FAX = "RemoteFax"; 2569 -const TCHAR[] SPLREG_RESTART_JOB_ON_POOL_ERROR = "RestartJobOnPoolError"; 2570 -const TCHAR[] SPLREG_RESTART_JOB_ON_POOL_ENABLED = "RestartJobOnPoolEnabled"; 2571 -const TCHAR[] SPLREG_DNS_MACHINE_NAME = "DNSMachineName"; 2572 - 2573 -enum : uint { SERVER_ACCESS_ADMINISTER = 0x00000001 } 2574 -enum : uint { SERVER_ACCESS_ENUMERATE = 0x00000002 } 2575 - 2576 -enum : uint { PRINTER_ACCESS_ADMINISTER = 0x00000004 } 2577 -enum : uint { PRINTER_ACCESS_USE = 0x00000008 } 2578 - 2579 -enum : uint { JOB_ACCESS_ADMINISTER = 0x00000010 } 2580 - 2581 -const uint SERVER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE; 2582 - 2583 -const uint SERVER_READ = STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE; 2584 - 2585 -const uint SERVER_WRITE = STANDARD_RIGHTS_WRITE | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE; 2586 - 2587 -const uint SERVER_EXECUTE = STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE; 2588 - 2589 -const uint PRINTER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE; 2590 - 2591 -const uint PRINTER_READ = STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE; 2592 - 2593 -const uint PRINTER_WRITE = STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE; 2594 - 2595 -const uint PRINTER_EXECUTE = STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE; 2596 - 2597 -const uint JOB_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER; 2598 - 2599 -const uint JOB_READ = STANDARD_RIGHTS_READ | JOB_ACCESS_ADMINISTER; 2600 - 2601 -const uint JOB_WRITE = STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER; 2602 - 2603 -const uint JOB_EXECUTE = STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER; 2604 - 2605 -const TCHAR[] SPLDS_SPOOLER_KEY = "DsSpooler"; 2606 -const TCHAR[] SPLDS_DRIVER_KEY = "DsDriver"; 2607 -const TCHAR[] SPLDS_USER_KEY = "DsUser"; 2608 - 2609 -const TCHAR[] SPLDS_ASSET_NUMBER = "assetNumber"; 2610 -const TCHAR[] SPLDS_BYTES_PER_MINUTE = "bytesPerMinute"; 2611 -const TCHAR[] SPLDS_DESCRIPTION = "description"; 2612 -const TCHAR[] SPLDS_DRIVER_NAME = "driverName"; 2613 -const TCHAR[] SPLDS_DRIVER_VERSION = "driverVersion"; 2614 -const TCHAR[] SPLDS_LOCATION = "location"; 2615 -const TCHAR[] SPLDS_PORT_NAME = "portName"; 2616 -const TCHAR[] SPLDS_PRINT_ATTRIBUTES = "printAttributes"; 2617 -const TCHAR[] SPLDS_PRINT_BIN_NAMES = "printBinNames"; 2618 -const TCHAR[] SPLDS_PRINT_COLLATE = "printCollate"; 2619 -const TCHAR[] SPLDS_PRINT_COLOR = "printColor"; 2620 -const TCHAR[] SPLDS_PRINT_DUPLEX_SUPPORTED = "printDuplexSupported"; 2621 -const TCHAR[] SPLDS_PRINT_END_TIME = "printEndTime"; 2622 -const TCHAR[] SPLDS_PRINTER_CLASS = "printQueue"; 2623 -const TCHAR[] SPLDS_PRINTER_NAME = "printerName"; 2624 -const TCHAR[] SPLDS_PRINT_KEEP_PRINTED_JOBS = "printKeepPrintedJobs"; 2625 -const TCHAR[] SPLDS_PRINT_LANGUAGE = "printLanguage"; 2626 -const TCHAR[] SPLDS_PRINT_MAC_ADDRESS = "printMACAddress"; 2627 -const TCHAR[] SPLDS_PRINT_MAX_X_EXTENT = "printMaxXExtent"; 2628 -const TCHAR[] SPLDS_PRINT_MAX_Y_EXTENT = "printMaxYExtent"; 2629 -const TCHAR[] SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED = "printMaxResolutionSupported"; 2630 -const TCHAR[] SPLDS_PRINT_MEDIA_READY = "printMediaReady"; 2631 -const TCHAR[] SPLDS_PRINT_MEDIA_SUPPORTED = "printMediaSupported"; 2632 -const TCHAR[] SPLDS_PRINT_MEMORY = "printMemory"; 2633 -const TCHAR[] SPLDS_PRINT_MIN_X_EXTENT = "printMinXExtent"; 2634 -const TCHAR[] SPLDS_PRINT_MIN_Y_EXTENT = "printMinYExtent"; 2635 -const TCHAR[] SPLDS_PRINT_NETWORK_ADDRESS = "printNetworkAddress"; 2636 -const TCHAR[] SPLDS_PRINT_NOTIFY = "printNotify"; 2637 -const TCHAR[] SPLDS_PRINT_NUMBER_UP = "printNumberUp"; 2638 -const TCHAR[] SPLDS_PRINT_ORIENTATIONS_SUPPORTED = "printOrientationsSupported"; 2639 -const TCHAR[] SPLDS_PRINT_OWNER = "printOwner"; 2640 -const TCHAR[] SPLDS_PRINT_PAGES_PER_MINUTE = "printPagesPerMinute"; 2641 -const TCHAR[] SPLDS_PRINT_RATE = "printRate"; 2642 -const TCHAR[] SPLDS_PRINT_RATE_UNIT = "printRateUnit"; 2643 -const TCHAR[] SPLDS_PRINT_SEPARATOR_FILE = "printSeparatorFile"; 2644 -const TCHAR[] SPLDS_PRINT_SHARE_NAME = "printShareName"; 2645 -const TCHAR[] SPLDS_PRINT_SPOOLING = "printSpooling"; 2646 -const TCHAR[] SPLDS_PRINT_STAPLING_SUPPORTED = "printStaplingSupported"; 2647 -const TCHAR[] SPLDS_PRINT_START_TIME = "printStartTime"; 2648 -const TCHAR[] SPLDS_PRINT_STATUS = "printStatus"; 2649 -const TCHAR[] SPLDS_PRIORITY = "priority"; 2650 -const TCHAR[] SPLDS_SERVER_NAME = "serverName"; 2651 -const TCHAR[] SPLDS_SHORT_SERVER_NAME = "shortServerName"; 2652 -const TCHAR[] SPLDS_UNC_NAME = "uNCName"; 2653 -const TCHAR[] SPLDS_URL = "url"; 2654 -const TCHAR[] SPLDS_FLAGS = "flags"; 2655 -const TCHAR[] SPLDS_VERSION_NUMBER = "versionNumber"; 2656 - 2657 -const TCHAR[] SPLDS_PRINTER_NAME_ALIASES = "printerNameAliases"; 2658 -const TCHAR[] SPLDS_PRINTER_LOCATIONS = "printerLocations"; 2659 -const TCHAR[] SPLDS_PRINTER_MODEL = "printerModel"; 2660 - 2661 -// #ifdef __cplusplus 2662 -// } 2663 -// #endif 2664 - 2665 -// #endif // _WINSPOOL_ 943 +alias JOB_INFO_1* PJOB_INFO_1, LPJOB_INFO_1; 944 +alias JOB_INFO_2* PJOB_INFO_2, LPJOB_INFO_2; 945 +alias ADDJOB_INFO_1* PADDJOB_INFO_1, LPADDJOB_INFO_1; 946 +alias DATATYPES_INFO_1* PDATATYPES_INFO_1, LPDATATYPES_INFO_1; 947 +alias MONITOR_INFO_1* PMONITOR_INFO_1, LPMONITOR_INFO_1; 948 +alias MONITOR_INFO_2* PMONITOR_INFO_2, LPMONITOR_INFO_2; 949 +alias DOC_INFO_1* PDOC_INFO_1, LPDOC_INFO_1; 950 +alias DOC_INFO_2* PDOC_INFO_2, LPDOC_INFO_2; 951 +alias PORT_INFO_1* PPORT_INFO_1, LPPORT_INFO_1; 952 +alias PORT_INFO_2* PPORT_INFO_2, LPPORT_INFO_2; 953 +alias PORT_INFO_3* PPORT_INFO_3, LPPORT_INFO_3; 954 +alias DRIVER_INFO_2* PDRIVER_INFO_2, LPDRIVER_INFO_2; 955 +alias PRINTER_INFO_1* PPRINTER_INFO_1, LPPRINTER_INFO_1; 956 +alias PRINTER_INFO_2* PPRINTER_INFO_2, LPPRINTER_INFO_2; 957 +alias PRINTER_INFO_4* PPRINTER_INFO_4, LPPRINTER_INFO_4; 958 +alias PRINTER_INFO_5* PPRINTER_INFO_5, LPPRINTER_INFO_5; 959 +alias PRINTPROCESSOR_INFO_1* PPRINTPROCESSOR_INFO_1, LPPRINTPROCESSOR_INFO_1; 960 +alias FORM_INFO_1* PFORM_INFO_1, LPFORM_INFO_1; 961 +alias PRINTER_DEFAULTS* PPRINTER_DEFAULTS, LPPRINTER_DEFAULTS;

Added src/win32/winsvc.d version [59233b3c2f66ba16]

1 +/***********************************************************************\ 2 +* winsvc.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 11 +module win32.winsvc; 12 +pragma(lib, "advapi32.lib"); 13 + 14 +private import win32.w32api, win32.windef; 15 + 16 +static assert (_WIN32_WINNT_ONLY, 17 + "win32.winsvc is available only if version WindowsNTonly, WindowsXP, " 18 + "Windows2003 or WindowsVista is set"); 19 + 20 + 21 +// FIXME: check Windows version support 22 + 23 +const TCHAR[] 24 + SERVICES_ACTIVE_DATABASE = "ServicesActive", 25 + SERVICES_FAILED_DATABASE = "ServicesFailed"; 26 + 27 +const TCHAR SC_GROUP_IDENTIFIER = '+'; 28 + 29 +const DWORD 30 + SC_MANAGER_ALL_ACCESS = 0xf003f, 31 + SC_MANAGER_CONNECT = 1, 32 + SC_MANAGER_CREATE_SERVICE = 2, 33 + SC_MANAGER_ENUMERATE_SERVICE = 4, 34 + SC_MANAGER_LOCK = 8, 35 + SC_MANAGER_QUERY_LOCK_STATUS = 16, 36 + SC_MANAGER_MODIFY_BOOT_CONFIG = 32; 37 + 38 +const DWORD SERVICE_NO_CHANGE = 0xffffffff; 39 + 40 +enum : DWORD { 41 + SERVICE_STOPPED = 1, 42 + SERVICE_START_PENDING, 43 + SERVICE_STOP_PENDING, 44 + SERVICE_RUNNING, 45 + SERVICE_CONTINUE_PENDING, 46 + SERVICE_PAUSE_PENDING, 47 + SERVICE_PAUSED // = 7 48 +} 49 + 50 +const DWORD 51 + SERVICE_ACCEPT_STOP = 1, 52 + SERVICE_ACCEPT_PAUSE_CONTINUE = 2, 53 + SERVICE_ACCEPT_SHUTDOWN = 4, 54 + SERVICE_ACCEPT_PARAMCHANGE = 8, 55 + SERVICE_ACCEPT_NETBINDCHANGE = 16, 56 + SERVICE_ACCEPT_HARDWAREPROFILECHANGE = 32, 57 + SERVICE_ACCEPT_POWEREVENT = 64, 58 + SERVICE_ACCEPT_SESSIONCHANGE = 128; 59 + 60 +enum : DWORD { 61 + SERVICE_CONTROL_STOP = 1, 62 + SERVICE_CONTROL_PAUSE, 63 + SERVICE_CONTROL_CONTINUE, 64 + SERVICE_CONTROL_INTERROGATE, 65 + SERVICE_CONTROL_SHUTDOWN, 66 + SERVICE_CONTROL_PARAMCHANGE, 67 + SERVICE_CONTROL_NETBINDADD, 68 + SERVICE_CONTROL_NETBINDREMOVE, 69 + SERVICE_CONTROL_NETBINDENABLE, 70 + SERVICE_CONTROL_NETBINDDISABLE, 71 + SERVICE_CONTROL_DEVICEEVENT, 72 + SERVICE_CONTROL_HARDWAREPROFILECHANGE, 73 + SERVICE_CONTROL_POWEREVENT, 74 + SERVICE_CONTROL_SESSIONCHANGE, // = 14 75 +} 76 + 77 +enum : DWORD { 78 + SERVICE_ACTIVE = 1, 79 + SERVICE_INACTIVE, 80 + SERVICE_STATE_ALL 81 +} 82 + 83 +const DWORD 84 + SERVICE_QUERY_CONFIG = 0x0001, 85 + SERVICE_CHANGE_CONFIG = 0x0002, 86 + SERVICE_QUERY_STATUS = 0x0004, 87 + SERVICE_ENUMERATE_DEPENDENTS = 0x0008, 88 + SERVICE_START = 0x0010, 89 + SERVICE_STOP = 0x0020, 90 + SERVICE_PAUSE_CONTINUE = 0x0040, 91 + SERVICE_INTERROGATE = 0x0080, 92 + SERVICE_USER_DEFINED_CONTROL = 0x0100, 93 + SERVICE_ALL_ACCESS = 0x01FF | STANDARD_RIGHTS_REQUIRED; 94 + 95 +// This is not documented on the MSDN site 96 +const SERVICE_RUNS_IN_SYSTEM_PROCESS = 1; 97 + 98 +enum : DWORD { 99 + SERVICE_CONFIG_DESCRIPTION = 1, 100 + SERVICE_CONFIG_FAILURE_ACTIONS, 101 + SERVICE_CONFIG_DELAYED_AUTO_START_INFO, 102 + SERVICE_CONFIG_FAILURE_ACTIONS_FLAG, 103 + SERVICE_CONFIG_SERVICE_SID_INFO, 104 + SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO, 105 + SERVICE_CONFIG_PRESHUTDOWN_INFO // = 7 106 +} 107 + 108 +struct SERVICE_STATUS { 109 + DWORD dwServiceType; 110 + DWORD dwCurrentState; 111 + DWORD dwControlsAccepted; 112 + DWORD dwWin32ExitCode; 113 + DWORD dwServiceSpecificExitCode; 114 + DWORD dwCheckPoint; 115 + DWORD dwWaitHint; 116 +} 117 +alias SERVICE_STATUS* LPSERVICE_STATUS; 118 + 119 +struct ENUM_SERVICE_STATUSA { 120 + LPSTR lpServiceName; 121 + LPSTR lpDisplayName; 122 + SERVICE_STATUS ServiceStatus; 123 +} 124 +alias ENUM_SERVICE_STATUSA* LPENUM_SERVICE_STATUSA; 125 + 126 +struct ENUM_SERVICE_STATUSW { 127 + LPWSTR lpServiceName; 128 + LPWSTR lpDisplayName; 129 + SERVICE_STATUS ServiceStatus; 130 +} 131 +alias ENUM_SERVICE_STATUSW* LPENUM_SERVICE_STATUSW; 132 + 133 +struct QUERY_SERVICE_CONFIGA { 134 + DWORD dwServiceType; 135 + DWORD dwStartType; 136 + DWORD dwErrorControl; 137 + LPSTR lpBinaryPathName; 138 + LPSTR lpLoadOrderGroup; 139 + DWORD dwTagId; 140 + LPSTR lpDependencies; 141 + LPSTR lpServiceStartName; 142 + LPSTR lpDisplayName; 143 +} 144 +alias QUERY_SERVICE_CONFIGA* LPQUERY_SERVICE_CONFIGA; 145 + 146 +struct QUERY_SERVICE_CONFIGW { 147 + DWORD dwServiceType; 148 + DWORD dwStartType; 149 + DWORD dwErrorControl; 150 + LPWSTR lpBinaryPathName; 151 + LPWSTR lpLoadOrderGroup; 152 + DWORD dwTagId; 153 + LPWSTR lpDependencies; 154 + LPWSTR lpServiceStartName; 155 + LPWSTR lpDisplayName; 156 +} 157 +alias QUERY_SERVICE_CONFIGW* LPQUERY_SERVICE_CONFIGW; 158 + 159 +struct QUERY_SERVICE_LOCK_STATUSA { 160 + DWORD fIsLocked; 161 + LPSTR lpLockOwner; 162 + DWORD dwLockDuration; 163 +} 164 +alias QUERY_SERVICE_LOCK_STATUSA* LPQUERY_SERVICE_LOCK_STATUSA; 165 + 166 +struct QUERY_SERVICE_LOCK_STATUSW { 167 + DWORD fIsLocked; 168 + LPWSTR lpLockOwner; 169 + DWORD dwLockDuration; 170 +} 171 +alias QUERY_SERVICE_LOCK_STATUSW* LPQUERY_SERVICE_LOCK_STATUSW; 172 + 173 +extern (Windows) { 174 + alias void function(DWORD, LPSTR*) LPSERVICE_MAIN_FUNCTIONA; 175 + alias void function(DWORD, LPWSTR*) LPSERVICE_MAIN_FUNCTIONW; 176 +} 177 + 178 +struct SERVICE_TABLE_ENTRYA { 179 + LPSTR lpServiceName; 180 + LPSERVICE_MAIN_FUNCTIONA lpServiceProc; 181 +} 182 +alias SERVICE_TABLE_ENTRYA* LPSERVICE_TABLE_ENTRYA; 183 + 184 +struct SERVICE_TABLE_ENTRYW { 185 + LPWSTR lpServiceName; 186 + LPSERVICE_MAIN_FUNCTIONW lpServiceProc; 187 +} 188 +alias SERVICE_TABLE_ENTRYW* LPSERVICE_TABLE_ENTRYW; 189 + 190 +alias HANDLE SC_HANDLE; 191 +alias HANDLE* LPSC_HANDLE; 192 +alias void* SC_LOCK; 193 +alias DWORD SERVICE_STATUS_HANDLE; 194 + 195 +extern (Windows) { 196 + alias void function(DWORD) LPHANDLER_FUNCTION; 197 + alias DWORD function(DWORD, DWORD, LPVOID, LPVOID) LPHANDLER_FUNCTION_EX; 198 +} 199 + 200 +static if (_WIN32_WINNT >= 0x500) { 201 + struct SERVICE_STATUS_PROCESS { 202 + DWORD dwServiceType; 203 + DWORD dwCurrentState; 204 + DWORD dwControlsAccepted; 205 + DWORD dwWin32ExitCode; 206 + DWORD dwServiceSpecificExitCode; 207 + DWORD dwCheckPoint; 208 + DWORD dwWaitHint; 209 + DWORD dwProcessId; 210 + DWORD dwServiceFlags; 211 + } 212 + alias SERVICE_STATUS_PROCESS* LPSERVICE_STATUS_PROCESS; 213 + 214 + enum SC_STATUS_TYPE { 215 + SC_STATUS_PROCESS_INFO = 0 216 + } 217 + 218 + enum SC_ENUM_TYPE { 219 + SC_ENUM_PROCESS_INFO = 0 220 + } 221 + 222 + struct ENUM_SERVICE_STATUS_PROCESSA { 223 + LPSTR lpServiceName; 224 + LPSTR lpDisplayName; 225 + SERVICE_STATUS_PROCESS ServiceStatusProcess; 226 + } 227 + alias ENUM_SERVICE_STATUS_PROCESSA* LPENUM_SERVICE_STATUS_PROCESSA; 228 + 229 + struct ENUM_SERVICE_STATUS_PROCESSW { 230 + LPWSTR lpServiceName; 231 + LPWSTR lpDisplayName; 232 + SERVICE_STATUS_PROCESS ServiceStatusProcess; 233 + } 234 + alias ENUM_SERVICE_STATUS_PROCESSW* LPENUM_SERVICE_STATUS_PROCESSW; 235 + 236 + struct SERVICE_DESCRIPTIONA { 237 + LPSTR lpDescription; 238 + } 239 + alias SERVICE_DESCRIPTIONA* LPSERVICE_DESCRIPTIONA; 240 + 241 + struct SERVICE_DESCRIPTIONW { 242 + LPWSTR lpDescription; 243 + } 244 + alias SERVICE_DESCRIPTIONW* LPSERVICE_DESCRIPTIONW; 245 + 246 + enum SC_ACTION_TYPE { 247 + SC_ACTION_NONE, 248 + SC_ACTION_RESTART, 249 + SC_ACTION_REBOOT, 250 + SC_ACTION_RUN_COMMAND 251 + } 252 + 253 + struct SC_ACTION { 254 + SC_ACTION_TYPE Type; 255 + DWORD Delay; 256 + } 257 + alias SC_ACTION* LPSC_ACTION; 258 + 259 + struct SERVICE_FAILURE_ACTIONSA { 260 + DWORD dwResetPeriod; 261 + LPSTR lpRebootMsg; 262 + LPSTR lpCommand; 263 + DWORD cActions; 264 + SC_ACTION* lpsaActions; 265 + } 266 + alias SERVICE_FAILURE_ACTIONSA* LPSERVICE_FAILURE_ACTIONSA; 267 + 268 + struct SERVICE_FAILURE_ACTIONSW { 269 + DWORD dwResetPeriod; 270 + LPWSTR lpRebootMsg; 271 + LPWSTR lpCommand; 272 + DWORD cActions; 273 + SC_ACTION* lpsaActions; 274 + } 275 + alias SERVICE_FAILURE_ACTIONSW* LPSERVICE_FAILURE_ACTIONSW; 276 +} 277 + 278 +extern (Windows) { 279 + BOOL ChangeServiceConfigA(SC_HANDLE, DWORD, DWORD, DWORD, LPCSTR, 280 + LPCSTR, LPDWORD, LPCSTR, LPCSTR, LPCSTR, LPCSTR); 281 + BOOL ChangeServiceConfigW(SC_HANDLE, DWORD, DWORD, DWORD, LPCWSTR, 282 + LPCWSTR, LPDWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR); 283 + BOOL CloseServiceHandle(SC_HANDLE); 284 + BOOL ControlService(SC_HANDLE, DWORD, LPSERVICE_STATUS); 285 + SC_HANDLE CreateServiceA(SC_HANDLE, LPCSTR, LPCSTR, DWORD, DWORD, 286 + DWORD, DWORD, LPCSTR, LPCSTR, PDWORD, LPCSTR, LPCSTR, LPCSTR); 287 + SC_HANDLE CreateServiceW(SC_HANDLE, LPCWSTR, LPCWSTR, DWORD, DWORD, 288 + DWORD, DWORD, LPCWSTR, LPCWSTR, PDWORD, LPCWSTR, LPCWSTR, LPCWSTR); 289 + BOOL DeleteService(SC_HANDLE); 290 + BOOL EnumDependentServicesA(SC_HANDLE, DWORD, LPENUM_SERVICE_STATUSA, 291 + DWORD, PDWORD, PDWORD); 292 + BOOL EnumDependentServicesW(SC_HANDLE, DWORD, LPENUM_SERVICE_STATUSW, 293 + DWORD, PDWORD, PDWORD); 294 + BOOL EnumServicesStatusA(SC_HANDLE, DWORD, DWORD, LPENUM_SERVICE_STATUSA, 295 + DWORD, PDWORD, PDWORD, PDWORD); 296 + BOOL EnumServicesStatusW(SC_HANDLE, DWORD, DWORD, LPENUM_SERVICE_STATUSW, 297 + DWORD, PDWORD, PDWORD, PDWORD); 298 + BOOL GetServiceDisplayNameA(SC_HANDLE, LPCSTR, LPSTR, PDWORD); 299 + BOOL GetServiceDisplayNameW(SC_HANDLE, LPCWSTR, LPWSTR, PDWORD); 300 + BOOL GetServiceKeyNameA(SC_HANDLE, LPCSTR, LPSTR, PDWORD); 301 + BOOL GetServiceKeyNameW(SC_HANDLE, LPCWSTR, LPWSTR, PDWORD); 302 + SC_LOCK LockServiceDatabase(SC_HANDLE); 303 + BOOL NotifyBootConfigStatus(BOOL); 304 + SC_HANDLE OpenSCManagerA(LPCSTR, LPCSTR, DWORD); 305 + SC_HANDLE OpenSCManagerW(LPCWSTR, LPCWSTR, DWORD); 306 + SC_HANDLE OpenServiceA(SC_HANDLE, LPCSTR, DWORD); 307 + SC_HANDLE OpenServiceW(SC_HANDLE, LPCWSTR, DWORD); 308 + BOOL QueryServiceConfigA(SC_HANDLE, LPQUERY_SERVICE_CONFIGA, DWORD, 309 + PDWORD); 310 + BOOL QueryServiceConfigW(SC_HANDLE, LPQUERY_SERVICE_CONFIGW, DWORD, 311 + PDWORD); 312 + BOOL QueryServiceLockStatusA(SC_HANDLE, LPQUERY_SERVICE_LOCK_STATUSA, 313 + DWORD, PDWORD); 314 + BOOL QueryServiceLockStatusW(SC_HANDLE, LPQUERY_SERVICE_LOCK_STATUSW, 315 + DWORD, PDWORD); 316 + BOOL QueryServiceObjectSecurity(SC_HANDLE, SECURITY_INFORMATION, 317 + PSECURITY_DESCRIPTOR, DWORD, LPDWORD); 318 + BOOL QueryServiceStatus(SC_HANDLE, LPSERVICE_STATUS); 319 + SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerA(LPCSTR, 320 + LPHANDLER_FUNCTION); 321 + SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerW(LPCWSTR, 322 + LPHANDLER_FUNCTION); 323 + BOOL SetServiceObjectSecurity(SC_HANDLE, SECURITY_INFORMATION, 324 + PSECURITY_DESCRIPTOR); 325 + BOOL SetServiceStatus(SERVICE_STATUS_HANDLE, LPSERVICE_STATUS); 326 + BOOL StartServiceA(SC_HANDLE, DWORD, LPCSTR*); 327 + BOOL StartServiceW(SC_HANDLE, DWORD, LPCWSTR*); 328 + BOOL StartServiceCtrlDispatcherA(LPSERVICE_TABLE_ENTRYA); 329 + BOOL StartServiceCtrlDispatcherW(LPSERVICE_TABLE_ENTRYW); 330 + BOOL UnlockServiceDatabase(SC_LOCK); 331 + 332 + static if (_WIN32_WINNT >= 0x500) { 333 + BOOL EnumServicesStatusExA(SC_HANDLE, SC_ENUM_TYPE, DWORD, DWORD, LPBYTE, 334 + DWORD, LPDWORD, LPDWORD, LPDWORD, LPCSTR); 335 + BOOL EnumServicesStatusExW(SC_HANDLE, SC_ENUM_TYPE, DWORD, DWORD, LPBYTE, 336 + DWORD, LPDWORD, LPDWORD, LPDWORD, LPCWSTR); 337 + BOOL QueryServiceConfig2A(SC_HANDLE, DWORD, LPBYTE, DWORD, LPDWORD); 338 + BOOL QueryServiceConfig2W(SC_HANDLE, DWORD, LPBYTE, DWORD, LPDWORD); 339 + BOOL QueryServiceStatusEx(SC_HANDLE, SC_STATUS_TYPE, LPBYTE, DWORD, 340 + LPDWORD); 341 + SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerExA(LPCSTR, 342 + LPHANDLER_FUNCTION_EX, LPVOID); 343 + SERVICE_STATUS_HANDLE RegisterServiceCtrlHandlerExW(LPCWSTR, 344 + LPHANDLER_FUNCTION_EX, LPVOID); 345 + } 346 + 347 + static if (_WIN32_WINNT >= 0x501) { 348 + BOOL ChangeServiceConfig2A(SC_HANDLE, DWORD, LPVOID); 349 + BOOL ChangeServiceConfig2W(SC_HANDLE, DWORD, LPVOID); 350 + } 351 +} 352 + 353 +version (Unicode) { 354 + alias ENUM_SERVICE_STATUSW ENUM_SERVICE_STATUS; 355 + alias QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG; 356 + alias QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS; 357 + alias LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION; 358 + alias SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY; 359 + alias ChangeServiceConfigW ChangeServiceConfig; 360 + alias CreateServiceW CreateService; 361 + alias EnumDependentServicesW EnumDependentServices; 362 + alias EnumServicesStatusW EnumServicesStatus; 363 + alias GetServiceDisplayNameW GetServiceDisplayName; 364 + alias GetServiceKeyNameW GetServiceKeyName; 365 + alias OpenSCManagerW OpenSCManager; 366 + alias OpenServiceW OpenService; 367 + alias QueryServiceConfigW QueryServiceConfig; 368 + alias QueryServiceLockStatusW QueryServiceLockStatus; 369 + alias RegisterServiceCtrlHandlerW RegisterServiceCtrlHandler; 370 + alias StartServiceW StartService; 371 + alias StartServiceCtrlDispatcherW StartServiceCtrlDispatcher; 372 + 373 + static if (_WIN32_WINNT >= 0x500) { 374 + alias ENUM_SERVICE_STATUS_PROCESSW ENUM_SERVICE_STATUS_PROCESS; 375 + alias SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION; 376 + alias SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS; 377 + alias EnumServicesStatusExW EnumServicesStatusEx; 378 + alias QueryServiceConfig2W QueryServiceConfig2; 379 + alias RegisterServiceCtrlHandlerExW RegisterServiceCtrlHandlerEx; 380 + } 381 + 382 + static if (_WIN32_WINNT >= 0x501) { 383 + alias ChangeServiceConfig2W ChangeServiceConfig2; 384 + } 385 + 386 +} else { 387 + alias ENUM_SERVICE_STATUSA ENUM_SERVICE_STATUS; 388 + alias QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG; 389 + alias QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS; 390 + alias LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION; 391 + alias SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY; 392 + alias ChangeServiceConfigA ChangeServiceConfig; 393 + alias CreateServiceA CreateService; 394 + alias EnumDependentServicesA EnumDependentServices; 395 + alias EnumServicesStatusA EnumServicesStatus; 396 + alias GetServiceDisplayNameA GetServiceDisplayName; 397 + alias GetServiceKeyNameA GetServiceKeyName; 398 + alias OpenSCManagerA OpenSCManager; 399 + alias OpenServiceA OpenService; 400 + alias QueryServiceConfigA QueryServiceConfig; 401 + alias QueryServiceLockStatusA QueryServiceLockStatus; 402 + alias RegisterServiceCtrlHandlerA RegisterServiceCtrlHandler; 403 + alias StartServiceA StartService; 404 + alias StartServiceCtrlDispatcherA StartServiceCtrlDispatcher; 405 + 406 + static if (_WIN32_WINNT >= 0x500) { 407 + alias ENUM_SERVICE_STATUS_PROCESSA ENUM_SERVICE_STATUS_PROCESS; 408 + alias SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION; 409 + alias SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS; 410 + alias EnumServicesStatusExA EnumServicesStatusEx; 411 + alias QueryServiceConfig2A QueryServiceConfig2; 412 + alias RegisterServiceCtrlHandlerExA RegisterServiceCtrlHandlerEx; 413 + } 414 + 415 + static if (_WIN32_WINNT >= 0x501) { 416 + alias ChangeServiceConfig2A ChangeServiceConfig2; 417 + } 418 + 419 +} 420 + 421 +alias ENUM_SERVICE_STATUS* LPENUM_SERVICE_STATUS; 422 +alias QUERY_SERVICE_CONFIG* LPQUERY_SERVICE_CONFIG; 423 +alias QUERY_SERVICE_LOCK_STATUS* LPQUERY_SERVICE_LOCK_STATUS; 424 +alias SERVICE_TABLE_ENTRY* LPSERVICE_TABLE_ENTRY; 425 + 426 +static if (_WIN32_WINNT >= 0x500) { 427 + alias ENUM_SERVICE_STATUS_PROCESS* LPENUM_SERVICE_STATUS_PROCESS; 428 + alias SERVICE_DESCRIPTION* LPSERVICE_DESCRIPTION; 429 + alias SERVICE_FAILURE_ACTIONS* LPSERVICE_FAILURE_ACTIONS; 430 +}

Modified src/win32/winuser.d from [48b85ca4f30327f3] to [b45c73c216c900bc].

1 +/***********************************************************************\ 2 +* winuser.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 1 10 module win32.winuser; 2 - 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino (demoonlit@inter7.jp) 5 - 6 -import win32.winbase, win32.wingdi; 7 -enum : uint { 8 - QS_POSTMESSAGE = 0x0008, 9 - QS_TIMER = 0x0010, 10 - QS_PAINT = 0x0020, 11 - QS_SENDMESSAGE = 0x0040, 12 - QS_HOTKEY = 0x0080, 13 - QS_INPUT = 0x0407 14 -} 15 - 16 -// #ifndef _WINUSER_ 17 -// #define _WINUSER_ 18 - 19 -// #if !defined(_USER32_) 20 -// #define WINUSERAPI DECLSPEC_IMPORT 21 -// #else 22 -// #... 23 -// #endif 24 - 25 -// #ifdef _MAC 26 -// #... 27 -// #endif 28 - 29 -// #ifdef __cplusplus 30 -// extern "C" { 31 -// #endif /* __cplusplus */ 32 - 33 -// #ifndef WINVER 34 -// #... 35 -// #endif /* !WINVER */ 36 - 37 -// #include <stdarg.h> 38 - 39 -// #ifndef NOUSER 40 - 11 +pragma(lib, "user32.lib"); 12 + 13 +// Conversion Notes: 14 +// The following macros were for win16 only, and are not included in this file: 15 +//#define EnumTaskWindows(h, f, p) EnumThreadWindows((DWORD)h, f, p) 16 +//#define PostAppMessageA(t, m, w, l) PostThreadMessageA((DWORD)t, m, w, l) 17 +//#define PostAppMessageW(t, m, w, l) PostThreadMessageW((DWORD)t, m, w, l) 18 +//#define GetSysModalWindow() (NULL) 19 +//#define SetSysModalWindow(h) (NULL) 20 +//#define GetWindowTask(hWnd) ((HANDLE)GetWindowThreadProcessId(hWnd, NULL)) 21 +//#define DefHookProc(c, p, lp, h) CallNextHookEx((HHOOK)*h, c, p, lp) 22 + 23 +private import win32.w32api, win32.winbase, win32.wingdi; 24 +private import win32.windef; // for HMONITOR 25 + 26 +// FIXME: clean up Windows version support 27 + 28 +template MAKEINTATOM_T(int i) { 29 + const LPTSTR MAKEINTATOM_T = cast(LPTSTR) i; 30 +} 31 + 32 +const WC_DIALOG = MAKEINTATOM_T!(0x8002); 33 + 34 +const FVIRTKEY = 1; 35 +const FNOINVERT = 2; 36 +const FSHIFT = 4; 37 +const FCONTROL = 8; 38 +const FALT = 16; 39 + 40 +const ATF_TIMEOUTON = 1; 41 +const ATF_ONOFFFEEDBACK = 2; 42 +const ATF_AVAILABLE = 4; // May be obsolete. Not in recent MS docs. 43 + 44 +const WH_MIN = -1; 45 +const WH_MSGFILTER = -1; 46 +const WH_JOURNALRECORD = 0; 47 +const WH_JOURNALPLAYBACK = 1; 48 +const WH_KEYBOARD = 2; 49 +const WH_GETMESSAGE = 3; 50 +const WH_CALLWNDPROC = 4; 51 +const WH_CBT = 5; 52 +const WH_SYSMSGFILTER = 6; 53 +const WH_MOUSE = 7; 54 +const WH_HARDWARE = 8; 55 +const WH_DEBUG = 9; 56 +const WH_SHELL = 10; 57 +const WH_FOREGROUNDIDLE = 11; 58 +const WH_CALLWNDPROCRET = 12; 59 +const WH_KEYBOARD_LL = 13; 60 +const WH_MOUSE_LL = 14; 61 +const WH_MAX = 14; 62 +const WH_MINHOOK = WH_MIN; 63 +const WH_MAXHOOK = WH_MAX; 64 + 65 +enum { 66 + HC_ACTION = 0, 67 + HC_GETNEXT, 68 + HC_SKIP, 69 + HC_NOREMOVE, // = 3 70 + HC_NOREM = HC_NOREMOVE, 71 + HC_SYSMODALON, 72 + HC_SYSMODALOFF 73 +} 74 + 75 +enum { 76 + HCBT_MOVESIZE = 0, 77 + HCBT_MINMAX, 78 + HCBT_QS, 79 + HCBT_CREATEWND, 80 + HCBT_DESTROYWND, 81 + HCBT_ACTIVATE, 82 + HCBT_CLICKSKIPPED, 83 + HCBT_KEYSKIPPED, 84 + HCBT_SYSCOMMAND, 85 + HCBT_SETFOCUS // = 9 86 +} 87 + 88 +enum { 89 + CF_TEXT = 1, 90 + CF_BITMAP, 91 + CF_METAFILEPICT, 92 + CF_SYLK, 93 + CF_DIF, 94 + CF_TIFF, 95 + CF_OEMTEXT, 96 + CF_DIB, 97 + CF_PALETTE, 98 + CF_PENDATA, 99 + CF_RIFF, 100 + CF_WAVE, 101 + CF_UNICODETEXT, 102 + CF_ENHMETAFILE, 103 + CF_HDROP, 104 + CF_LOCALE, 105 + CF_MAX, // = 17 106 + CF_OWNERDISPLAY = 128, 107 + CF_DSPTEXT, 108 + CF_DSPBITMAP, 109 + CF_DSPMETAFILEPICT, // = 131 110 + CF_DSPENHMETAFILE = 142, 111 + CF_PRIVATEFIRST = 512, 112 + CF_PRIVATELAST = 767, 113 + CF_GDIOBJFIRST = 768, 114 + CF_GDIOBJLAST = 1023 115 +} 116 + 117 +const HKL_PREV = 0; 118 +const HKL_NEXT = 1; 119 + 120 +const KLF_ACTIVATE = 1; 121 +const KLF_SUBSTITUTE_OK = 2; 122 +const KLF_UNLOADPREVIOUS = 4; 123 +const KLF_REORDER = 8; 124 +const KLF_REPLACELANG = 16; 125 +const KLF_NOTELLSHELL = 128; 126 +const KLF_SETFORPROCESS = 256; 127 +const KL_NAMELENGTH = 9; 128 + 129 +const MF_ENABLED = 0; 130 +const MF_GRAYED = 1; 131 +const MF_DISABLED = 2; 132 +const MF_BITMAP = 4; 133 +const MF_CHECKED = 8; 134 +const MF_MENUBARBREAK = 32; 135 +const MF_MENUBREAK = 64; 136 +const MF_OWNERDRAW = 256; 137 +const MF_POPUP = 16; 138 +const MF_SEPARATOR = 0x800; 139 +const MF_STRING = 0; 140 +const MF_UNCHECKED = 0; 141 +const MF_DEFAULT = 4096; 142 +const MF_SYSMENU = 0x2000; 143 +const MF_HELP = 0x4000; 144 +const MF_END = 128; 145 +const MF_RIGHTJUSTIFY = 0x4000; 146 +const MF_MOUSESELECT = 0x8000; 147 +const MF_INSERT = 0; 148 +const MF_CHANGE = 128; 149 +const MF_APPEND = 256; 150 +const MF_DELETE = 512; 151 +const MF_REMOVE = 4096; 152 +const MF_USECHECKBITMAPS = 512; 153 +const MF_UNHILITE = 0; 154 +const MF_HILITE = 128; 155 + 156 +// Also defined in dbt.h 157 +const BSM_ALLCOMPONENTS = 0; 158 +const BSM_VXDS = 1; 159 +const BSM_NETDRIVER = 2; 160 +const BSM_INSTALLABLEDRIVERS = 4; 161 +const BSM_APPLICATIONS = 8; 162 +const BSM_ALLDESKTOPS = 16; 163 + 164 +const BSF_QUERY = 0x00000001; 165 +const BSF_IGNORECURRENTTASK = 0x00000002; 166 +const BSF_FLUSHDISK = 0x00000004; 167 +const BSF_NOHANG = 0x00000008; 168 +const BSF_POSTMESSAGE = 0x00000010; 169 +const BSF_FORCEIFHUNG = 0x00000020; 170 +const BSF_NOTIMEOUTIFNOTHUNG = 0x00000040; 171 + 172 +static if (_WIN32_WINNT >= 0x500) { 173 + const BSF_ALLOWSFW = 0x00000080; 174 + const BSF_SENDNOTIFYMESSAGE = 0x00000100; 175 +} 176 +static if (_WIN32_WINNT >= 0x501) { 177 + const BSF_RETURNHDESK = 0x00000200; 178 + const BSF_LUID = 0x00000400; 179 +} 180 + 181 +const BROADCAST_QUERY_DENY = 1112363332; 182 +const DWORD ENUM_CURRENT_SETTINGS = -1; 183 +const DWORD ENUM_REGISTRY_SETTINGS = -2; 184 + 185 +const CDS_UPDATEREGISTRY = 1; 186 +const CDS_TEST = 2; 187 +const CDS_FULLSCREEN = 4; 188 +const CDS_GLOBAL = 8; 189 +const CDS_SET_PRIMARY = 16; 190 +const CDS_NORESET = 0x10000000; 191 +const CDS_SETRECT = 0x20000000; 192 +const CDS_RESET = 0x40000000; 193 + 194 +const DISP_CHANGE_RESTART = 1; 195 +const DISP_CHANGE_SUCCESSFUL = 0; 196 +const DISP_CHANGE_FAILED = -1; 197 +const DISP_CHANGE_BADMODE = -2; 198 +const DISP_CHANGE_NOTUPDATED = -3; 199 +const DISP_CHANGE_BADFLAGS = -4; 200 +const DISP_CHANGE_BADPARAM = -5; 201 + 202 +const BST_UNCHECKED = 0; 203 +const BST_CHECKED = 1; 204 +const BST_INDETERMINATE = 2; 205 +const BST_PUSHED = 4; 206 +const BST_FOCUS = 8; 207 + 208 +const MF_BYCOMMAND = 0; 209 +const MF_BYPOSITION = 1024; 210 +// [Redefined] MF_UNCHECKED=0 211 +// [Redefined] MF_HILITE=128 212 +// [Redefined] MF_UNHILITE=0 213 + 214 +const CWP_ALL = 0; 215 +const CWP_SKIPINVISIBLE = 1; 216 +const CWP_SKIPDISABLED = 2; 217 +const CWP_SKIPTRANSPARENT = 4; 218 + 219 +const IMAGE_BITMAP=0; 220 +const IMAGE_ICON=1; 221 +const IMAGE_CURSOR=2; 222 +const IMAGE_ENHMETAFILE=3; 223 + 224 +const DF_ALLOWOTHERACCOUNTHOOK = 1; 225 + 226 +const DESKTOP_READOBJECTS = 1; 227 +const DESKTOP_CREATEWINDOW = 2; 228 +const DESKTOP_CREATEMENU = 4; 229 +const DESKTOP_HOOKCONTROL = 8; 230 +const DESKTOP_JOURNALRECORD = 16; 231 +const DESKTOP_JOURNALPLAYBACK = 32; 232 +const DESKTOP_ENUMERATE = 64; 233 +const DESKTOP_WRITEOBJECTS = 128; 234 +const DESKTOP_SWITCHDESKTOP = 256; 235 + 236 +const CW_USEDEFAULT = 0x80000000; 237 + 238 +enum { 239 + WS_OVERLAPPED = 0, 240 + WS_TILED = WS_OVERLAPPED, 241 + WS_MAXIMIZEBOX = 0x00010000, 242 + WS_MINIMIZEBOX = 0x00020000, 243 + WS_TABSTOP = 0x00010000, 244 + WS_GROUP = 0x00020000, 245 + WS_THICKFRAME = 0x00040000, 246 + WS_SIZEBOX = WS_THICKFRAME, 247 + WS_SYSMENU = 0x00080000, 248 + WS_HSCROLL = 0x00100000, 249 + WS_VSCROLL = 0x00200000, 250 + WS_DLGFRAME = 0x00400000, 251 + WS_BORDER = 0x00800000, 252 + WS_CAPTION = 0x00c00000, 253 + WS_OVERLAPPEDWINDOW = WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX, 254 + WS_TILEDWINDOW = WS_OVERLAPPEDWINDOW, 255 + WS_MAXIMIZE = 0x01000000, 256 + WS_CLIPCHILDREN = 0x02000000, 257 + WS_CLIPSIBLINGS = 0x04000000, 258 + WS_DISABLED = 0x08000000, 259 + WS_VISIBLE = 0x10000000, 260 + WS_MINIMIZE = 0x20000000, 261 + WS_ICONIC = WS_MINIMIZE, 262 + WS_CHILD = 0x40000000, 263 + WS_CHILDWINDOW = 0x40000000, 264 + WS_POPUP = 0x80000000, 265 + WS_POPUPWINDOW = WS_POPUP|WS_BORDER|WS_SYSMENU, 266 +} 267 + 268 +const MDIS_ALLCHILDSTYLES = 1; 269 + 270 +const BS_3STATE = 5; 271 +const BS_AUTO3STATE = 6; 272 +const BS_AUTOCHECKBOX = 3; 273 +const BS_AUTORADIOBUTTON = 9; 274 +const BS_BITMAP = 128; 275 +const BS_BOTTOM = 0x800; 276 +const BS_CENTER = 0x300; 277 +const BS_CHECKBOX = 2; 278 +const BS_DEFPUSHBUTTON = 1; 279 +const BS_GROUPBOX = 7; 280 +const BS_ICON = 64; 281 +const BS_LEFT = 256; 282 +const BS_LEFTTEXT = 32; 283 +const BS_MULTILINE = 0x2000; 284 +const BS_NOTIFY = 0x4000; 285 +const BS_OWNERDRAW = 0xb; 286 +const BS_PUSHBUTTON = 0; 287 +const BS_PUSHLIKE = 4096; 288 +const BS_RADIOBUTTON = 4; 289 +const BS_RIGHT = 512; 290 +const BS_RIGHTBUTTON = 32; 291 +const BS_TEXT = 0; 292 +const BS_TOP = 0x400; 293 +const BS_USERBUTTON = 8; 294 +const BS_VCENTER = 0xc00; 295 +const BS_FLAT = 0x8000; 296 + 297 +const CBS_AUTOHSCROLL = 64; 298 +const CBS_DISABLENOSCROLL = 0x800; 299 +const CBS_DROPDOWN = 2; 300 +const CBS_DROPDOWNLIST = 3; 301 +const CBS_HASSTRINGS = 512; 302 +const CBS_LOWERCASE = 0x4000; 303 +const CBS_NOINTEGRALHEIGHT = 0x400; 304 +const CBS_OEMCONVERT = 128; 305 +const CBS_OWNERDRAWFIXED = 16; 306 +const CBS_OWNERDRAWVARIABLE = 32; 307 +const CBS_SIMPLE = 1; 308 +const CBS_SORT = 256; 309 +const CBS_UPPERCASE = 0x2000; 310 + 311 +const ES_AUTOHSCROLL = 128; 312 +const ES_AUTOVSCROLL = 64; 313 +const ES_CENTER = 1; 314 +const ES_LEFT = 0; 315 +const ES_LOWERCASE = 16; 316 +const ES_MULTILINE = 4; 317 +const ES_NOHIDESEL = 256; 318 +const ES_NUMBER = 0x2000; 319 +const ES_OEMCONVERT = 0x400; 320 +const ES_PASSWORD = 32; 321 +const ES_READONLY = 0x800; 322 +const ES_RIGHT = 2; 323 +const ES_UPPERCASE = 8; 324 +const ES_WANTRETURN = 4096; 325 + 326 +const LBS_DISABLENOSCROLL = 4096; 327 +const LBS_EXTENDEDSEL = 0x800; 328 +const LBS_HASSTRINGS = 64; 329 +const LBS_MULTICOLUMN = 512; 330 +const LBS_MULTIPLESEL = 8; 331 +const LBS_NODATA = 0x2000; 332 +const LBS_NOINTEGRALHEIGHT = 256; 333 +const LBS_NOREDRAW = 4; 334 +const LBS_NOSEL = 0x4000; 335 +const LBS_NOTIFY = 1; 336 +const LBS_OWNERDRAWFIXED = 16; 337 +const LBS_OWNERDRAWVARIABLE = 32; 338 +const LBS_SORT = 2; 339 +const LBS_STANDARD = 0xa00003; 340 +const LBS_USETABSTOPS = 128; 341 +const LBS_WANTKEYBOARDINPUT = 0x400; 342 + 343 +const SBS_BOTTOMALIGN = 4; 344 +const SBS_HORZ = 0; 345 +const SBS_LEFTALIGN = 2; 346 +const SBS_RIGHTALIGN = 4; 347 +const SBS_SIZEBOX = 8; 348 +const SBS_SIZEBOXBOTTOMRIGHTALIGN = 4; 349 +const SBS_SIZEBOXTOPLEFTALIGN = 2; 350 +const SBS_SIZEGRIP = 16; 351 +const SBS_TOPALIGN = 2; 352 +const SBS_VERT = 1; 353 + 354 +const SS_BITMAP = 14; 355 +const SS_BLACKFRAME = 7; 356 +const SS_BLACKRECT = 4; 357 +const SS_CENTER = 1; 358 +const SS_CENTERIMAGE = 512; 359 +const SS_ENHMETAFILE = 15; 360 +const SS_ETCHEDFRAME = 18; 361 +const SS_ETCHEDHORZ = 16; 362 +const SS_ETCHEDVERT = 17; 363 +const SS_GRAYFRAME = 8; 364 +const SS_GRAYRECT = 5; 365 +const SS_ICON = 3; 366 +const SS_LEFT = 0; 367 +const SS_LEFTNOWORDWRAP = 0xc; 368 +const SS_NOPREFIX = 128; 369 +const SS_NOTIFY = 256; 370 +const SS_OWNERDRAW = 0xd; 371 +const SS_REALSIZEIMAGE = 0x800; 372 +const SS_RIGHT = 2; 373 +const SS_RIGHTJUST = 0x400; 374 +const SS_SIMPLE = 11; 375 +const SS_SUNKEN = 4096; 376 +const SS_WHITEFRAME = 9; 377 +const SS_WHITERECT = 6; 378 +const SS_USERITEM = 10; 379 +const SS_TYPEMASK = 0x0000001FL; 380 +const SS_ENDELLIPSIS = 0x00004000L; 381 +const SS_PATHELLIPSIS = 0x00008000L; 382 +const SS_WORDELLIPSIS = 0x0000C000L; 383 +const SS_ELLIPSISMASK = 0x0000C000L; 384 + 385 +const DS_ABSALIGN = 0x0001; 386 +const DS_3DLOOK = 0x0004; 387 +const DS_SYSMODAL = 0x0002; 388 +const DS_FIXEDSYS = 0x0008; 389 +const DS_NOFAILCREATE = 0x0010; 390 +const DS_LOCALEDIT = 0x0020; 391 +const DS_SETFONT = 0x0040; 392 +const DS_MODALFRAME = 0x0080; 393 +const DS_NOIDLEMSG = 0x0100; 394 +const DS_SETFOREGROUND = 0x0200; 395 +const DS_CONTROL = 0x0400; 396 +const DS_CENTER = 0x0800; 397 +const DS_CENTERMOUSE = 0x1000; 398 +const DS_CONTEXTHELP = 0x2000; 399 +const DS_SHELLFONT = DS_SETFONT | DS_FIXEDSYS; 400 + 401 +const WS_EX_ACCEPTFILES = 16; 402 +const WS_EX_APPWINDOW = 0x40000; 403 +const WS_EX_CLIENTEDGE = 512; 404 +const WS_EX_COMPOSITED = 0x2000000; // XP 405 +const WS_EX_CONTEXTHELP = 0x400; 406 +const WS_EX_CONTROLPARENT = 0x10000; 407 +const WS_EX_DLGMODALFRAME = 1; 408 +const WS_EX_LAYERED = 0x80000; // w2k 409 +const WS_EX_LAYOUTRTL = 0x400000; // w98, w2k 410 +const WS_EX_LEFT = 0; 411 +const WS_EX_LEFTSCROLLBAR = 0x4000; 412 +const WS_EX_LTRREADING = 0; 413 +const WS_EX_MDICHILD = 64; 414 +const WS_EX_NOACTIVATE = 0x8000000; // w2k 415 +const WS_EX_NOINHERITLAYOUT = 0x100000; // w2k 416 +const WS_EX_NOPARENTNOTIFY = 4; 417 +const WS_EX_OVERLAPPEDWINDOW = 0x300; 418 +const WS_EX_PALETTEWINDOW = 0x188; 419 +const WS_EX_RIGHT = 0x1000; 420 +const WS_EX_RIGHTSCROLLBAR = 0; 421 +const WS_EX_RTLREADING = 0x2000; 422 +const WS_EX_STATICEDGE = 0x20000; 423 +const WS_EX_TOOLWINDOW = 128; 424 +const WS_EX_TOPMOST = 8; 425 +const WS_EX_TRANSPARENT = 32; 426 +const WS_EX_WINDOWEDGE = 256; 427 + 428 +const WINSTA_ENUMDESKTOPS = 1; 429 +const WINSTA_READATTRIBUTES = 2; 430 +const WINSTA_ACCESSCLIPBOARD = 4; 431 +const WINSTA_CREATEDESKTOP = 8; 432 +const WINSTA_WRITEATTRIBUTES = 16; 433 +const WINSTA_ACCESSGLOBALATOMS = 32; 434 +const WINSTA_EXITWINDOWS = 64; 435 +const WINSTA_ENUMERATE = 256; 436 +const WINSTA_READSCREEN = 512; 437 + 438 +const DDL_READWRITE = 0; 439 +const DDL_READONLY = 1; 440 +const DDL_HIDDEN = 2; 441 +const DDL_SYSTEM = 4; 442 +const DDL_DIRECTORY = 16; 443 +const DDL_ARCHIVE = 32; 444 +const DDL_POSTMSGS = 8192; 445 +const DDL_DRIVES = 16384; 446 +const DDL_EXCLUSIVE = 32768; 447 + 448 +const DC_ACTIVE = 0x00000001; 449 +const DC_SMALLCAP = 0x00000002; 450 +const DC_ICON = 0x00000004; 451 +const DC_TEXT = 0x00000008; 452 +const DC_INBUTTON = 0x00000010; 453 + 454 +static if (WINVER >= 0x500) { 455 +const DC_GRADIENT=0x00000020; 456 +} 457 +static if (_WIN32_WINNT >= 0x501) { 458 +const DC_BUTTONS=0x00001000; 459 +} 460 + 461 +// Where are these documented? 462 +//const DC_CAPTION = DC_ICON|DC_TEXT|DC_BUTTONS; 463 +//const DC_NC = DC_CAPTION|DC_FRAME; 464 + 465 +const BDR_RAISEDOUTER = 1; 466 +const BDR_SUNKENOUTER = 2; 467 +const BDR_RAISEDINNER = 4; 468 +const BDR_SUNKENINNER = 8; 469 +const BDR_OUTER = 3; 470 +const BDR_INNER = 0xc; 471 +const BDR_RAISED = 5; 472 +const BDR_SUNKEN = 10; 473 + 474 +const EDGE_RAISED = BDR_RAISEDOUTER|BDR_RAISEDINNER; 475 +const EDGE_SUNKEN = BDR_SUNKENOUTER|BDR_SUNKENINNER; 476 +const EDGE_ETCHED = BDR_SUNKENOUTER|BDR_RAISEDINNER; 477 +const EDGE_BUMP = BDR_RAISEDOUTER|BDR_SUNKENINNER; 478 + 479 +const BF_LEFT = 1; 480 +const BF_TOP = 2; 481 +const BF_RIGHT = 4; 482 +const BF_BOTTOM = 8; 483 +const BF_TOPLEFT = BF_TOP|BF_LEFT; 484 +const BF_TOPRIGHT = BF_TOP|BF_RIGHT; 485 +const BF_BOTTOMLEFT = BF_BOTTOM|BF_LEFT; 486 +const BF_BOTTOMRIGHT = BF_BOTTOM|BF_RIGHT; 487 +const BF_RECT = BF_LEFT|BF_TOP|BF_RIGHT|BF_BOTTOM ; 488 +const BF_DIAGONAL = 16; 489 +const BF_DIAGONAL_ENDTOPRIGHT = BF_DIAGONAL|BF_TOP|BF_RIGHT; 490 +const BF_DIAGONAL_ENDTOPLEFT = BF_DIAGONAL|BF_TOP|BF_LEFT; 491 +const BF_DIAGONAL_ENDBOTTOMLEFT = BF_DIAGONAL|BF_BOTTOM|BF_LEFT; 492 +const BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL|BF_BOTTOM|BF_RIGHT; 493 +const BF_MIDDLE = 0x800; 494 +const BF_SOFT = 0x1000; 495 +const BF_ADJUST = 0x2000; 496 +const BF_FLAT = 0x4000; 497 +const BF_MONO = 0x8000; 498 + 499 +const DFC_CAPTION=1; 500 +const DFC_MENU=2; 501 +const DFC_SCROLL=3; 502 +const DFC_BUTTON=4; 503 +static if (WINVER >= 0x500) { 504 +const DFC_POPUPMENU=5; 505 +}// WINVER >= 0x500 506 + 507 +const DFCS_CAPTIONCLOSE = 0; 508 +const DFCS_CAPTIONMIN = 1; 509 +const DFCS_CAPTIONMAX = 2; 510 +const DFCS_CAPTIONRESTORE = 3; 511 +const DFCS_CAPTIONHELP = 4; 512 + 513 +const DFCS_MENUARROW = 0; 514 +const DFCS_MENUCHECK = 1; 515 +const DFCS_MENUBULLET = 2; 516 +const DFCS_MENUARROWRIGHT = 4; 517 + 518 +const DFCS_SCROLLUP = 0; 519 +const DFCS_SCROLLDOWN = 1; 520 +const DFCS_SCROLLLEFT = 2; 521 +const DFCS_SCROLLRIGHT = 3; 522 +const DFCS_SCROLLCOMBOBOX = 5; 523 +const DFCS_SCROLLSIZEGRIP = 8; 524 +const DFCS_SCROLLSIZEGRIPRIGHT = 16; 525 + 526 +const DFCS_BUTTONCHECK = 0; 527 +const DFCS_BUTTONRADIOIMAGE = 1; 528 +const DFCS_BUTTONRADIOMASK = 2; 529 +const DFCS_BUTTONRADIO = 4; 530 +const DFCS_BUTTON3STATE = 8; 531 +const DFCS_BUTTONPUSH = 16; 532 +const DFCS_INACTIVE = 256; 533 +const DFCS_PUSHED = 512; 534 +const DFCS_CHECKED = 1024; 535 +static if (WINVER >= 0x500) { 536 +const DFCS_TRANSPARENT = 0x800; 537 +const DFCS_HOT = 0x1000; 538 +} 539 +const DFCS_ADJUSTRECT = 0x2000; 540 +const DFCS_FLAT = 0x4000; 541 +const DFCS_MONO = 0x8000; 542 + 543 +enum { 544 + DST_COMPLEX = 0, 545 + DST_TEXT, 546 + DST_PREFIXTEXT, 547 + DST_ICON, 548 + DST_BITMAP // = 4 549 +} 550 + 551 +const DSS_NORMAL = 0; 552 +const DSS_UNION = 16; 553 +const DSS_DISABLED = 32; 554 +const DSS_MONO = 128; 555 +const DSS_RIGHT = 0x8000; 556 + 557 +const DT_BOTTOM = 8; 558 +const DT_CALCRECT = 1024; 559 +const DT_CENTER = 1; 560 +const DT_EDITCONTROL = 8192; 561 +const DT_END_ELLIPSIS = 32768; 562 +const DT_PATH_ELLIPSIS = 16384; 563 +const DT_WORD_ELLIPSIS = 0x40000; 564 +const DT_EXPANDTABS = 64; 565 +const DT_EXTERNALLEADING = 512; 566 +const DT_LEFT = 0; 567 +const DT_MODIFYSTRING = 65536; 568 +const DT_NOCLIP = 256; 569 +const DT_NOPREFIX = 2048; 570 +const DT_RIGHT = 2; 571 +const DT_RTLREADING = 131072; 572 +const DT_SINGLELINE = 32; 573 +const DT_TABSTOP = 128; 574 +const DT_TOP = 0; 575 +const DT_VCENTER = 4; 576 +const DT_WORDBREAK = 16; 577 +const DT_INTERNAL = 4096; 578 + 579 +const WB_ISDELIMITER = 2; 580 +const WB_LEFT = 0; 581 +const WB_RIGHT = 1; 582 + 583 +const SB_HORZ = 0; 584 +const SB_VERT = 1; 585 +const SB_CTL = 2; 586 +const SB_BOTH = 3; 587 + 588 +const ESB_DISABLE_BOTH = 3; 589 +const ESB_DISABLE_DOWN = 2; 590 +const ESB_DISABLE_LEFT = 1; 591 +const ESB_DISABLE_LTUP = 1; 592 +const ESB_DISABLE_RIGHT = 2; 593 +const ESB_DISABLE_RTDN = 2; 594 +const ESB_DISABLE_UP = 1; 595 +const ESB_ENABLE_BOTH = 0; 596 + 597 +const SB_LINEUP = 0; 598 +const SB_LINEDOWN = 1; 599 +const SB_LINELEFT = 0; 600 +const SB_LINERIGHT = 1; 601 +const SB_PAGEUP = 2; 602 +const SB_PAGEDOWN = 3; 603 +const SB_PAGELEFT = 2; 604 +const SB_PAGERIGHT = 3; 605 +const SB_THUMBPOSITION = 4; 606 +const SB_THUMBTRACK = 5; 607 +const SB_ENDSCROLL = 8; 608 +const SB_LEFT = 6; 609 +const SB_RIGHT = 7; 610 +const SB_BOTTOM = 7; 611 +const SB_TOP = 6; 612 + 613 +//MACRO #define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0) 614 + 615 +template MAKEINTRESOURCE_T (WORD i) 616 +{ 617 + const LPTSTR MAKEINTRESOURCE_T = cast(LPTSTR)(i); 618 +} 619 + 620 +LPSTR MAKEINTRESOURCEA(WORD i) 621 +{ 622 + return cast(LPSTR)(i); 623 +} 624 + 625 +LPWSTR MAKEINTRESOURCEW(WORD i) 626 +{ 627 + return cast(LPWSTR)(i); 628 +} 629 + 630 +const RT_CURSOR = MAKEINTRESOURCE_T!(1); 631 +const RT_BITMAP = MAKEINTRESOURCE_T!(2); 632 +const RT_ICON = MAKEINTRESOURCE_T!(3); 633 +const RT_MENU = MAKEINTRESOURCE_T!(4); 634 +const RT_DIALOG = MAKEINTRESOURCE_T!(5); 635 +const RT_STRING = MAKEINTRESOURCE_T!(6); 636 +const RT_FONTDIR = MAKEINTRESOURCE_T!(7); 637 +const RT_FONT = MAKEINTRESOURCE_T!(8); 638 +const RT_ACCELERATOR = MAKEINTRESOURCE_T!(9); 639 +const RT_RCDATA = MAKEINTRESOURCE_T!(10); 640 +const RT_MESSAGETABLE = MAKEINTRESOURCE_T!(11); 641 + 642 +const RT_GROUP_CURSOR = MAKEINTRESOURCE_T!(12); 643 +const RT_GROUP_ICON = MAKEINTRESOURCE_T!(14); 644 +const RT_VERSION = MAKEINTRESOURCE_T!(16); 645 +const RT_DLGINCLUDE = MAKEINTRESOURCE_T!(17); 646 +const RT_PLUGPLAY = MAKEINTRESOURCE_T!(19); 647 +const RT_VXD = MAKEINTRESOURCE_T!(20); 648 +const RT_ANICURSOR = MAKEINTRESOURCE_T!(21); 649 +const RT_ANIICON = MAKEINTRESOURCE_T!(22); 650 +const RT_HTML = MAKEINTRESOURCE_T!(23); 651 +const RT_MANIFEST = MAKEINTRESOURCE_T!(24); 652 + 653 +const CREATEPROCESS_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(1); 654 +const ISOLATIONAWARE_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(2); 655 +const ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID = MAKEINTRESOURCE_T!(3); 656 + 657 +const EWX_LOGOFF = 0; 658 +const EWX_SHUTDOWN = 1; 659 +const EWX_REBOOT = 2; 660 +const EWX_FORCE = 4; 661 +const EWX_POWEROFF = 8; 662 +static if (_WIN32_WINNT >= 0x500) { 663 +const EWX_FORCEIFHUNG = 16; 664 +} 665 + 666 +const CS_BYTEALIGNCLIENT = 4096; 667 +const CS_BYTEALIGNWINDOW = 8192; 668 +const CS_KEYCVTWINDOW = 4; 669 +const CS_NOKEYCVT = 256; 670 +const CS_CLASSDC = 64; 671 +const CS_DBLCLKS = 8; 672 +const CS_GLOBALCLASS = 16384; 673 +const CS_HREDRAW = 2; 674 +const CS_NOCLOSE = 512; 675 +const CS_OWNDC = 32; 676 +const CS_PARENTDC = 128; 677 +const CS_SAVEBITS = 2048; 678 +const CS_VREDRAW = 1; 679 +const CS_IME = 0x10000; 680 + 681 +const GCW_ATOM = -32; 682 +const GCL_CBCLSEXTRA = -20; 683 +const GCL_CBWNDEXTRA = -18; 684 +const GCL_HBRBACKGROUND = -10; 685 +const GCL_HCURSOR = -12; 686 +const GCL_HICON = -14; 687 +const GCL_HICONSM = -34; 688 +const GCL_HMODULE = -16; 689 +const GCL_MENUNAME = -8; 690 +const GCL_STYLE = -26; 691 +const GCL_WNDPROC = -24; 692 + 693 +alias GCL_HICONSM GCLP_HICONSM; 694 +alias GCL_HICON GCLP_HICON; 695 +alias GCL_HCURSOR GCLP_HCURSOR; 696 +alias GCL_HBRBACKGROUND GCLP_HBRBACKGROUND; 697 +alias GCL_HMODULE GCLP_HMODULE; 698 +alias GCL_MENUNAME GCLP_MENUNAME; 699 +alias GCL_WNDPROC GCLP_WNDPROC; 700 + 701 +const IDC_ARROW = MAKEINTRESOURCE_T!(32512); 702 +const IDC_IBEAM = MAKEINTRESOURCE_T!(32513); 703 +const IDC_WAIT = MAKEINTRESOURCE_T!(32514); 704 +const IDC_CROSS = MAKEINTRESOURCE_T!(32515); 705 +const IDC_UPARROW = MAKEINTRESOURCE_T!(32516); 706 +const IDC_SIZENWSE = MAKEINTRESOURCE_T!(32642); 707 +const IDC_SIZENESW = MAKEINTRESOURCE_T!(32643); 708 +const IDC_SIZEWE = MAKEINTRESOURCE_T!(32644); 709 +const IDC_SIZENS = MAKEINTRESOURCE_T!(32645); 710 +const IDC_SIZEALL = MAKEINTRESOURCE_T!(32646); 711 +const IDC_NO = MAKEINTRESOURCE_T!(32648); 712 +const IDC_HAND = MAKEINTRESOURCE_T!(32649); 713 +const IDC_APPSTARTING = MAKEINTRESOURCE_T!(32650); 714 +const IDC_HELP = MAKEINTRESOURCE_T!(32651); 715 +const IDC_ICON = MAKEINTRESOURCE_T!(32641); 716 +const IDC_SIZE = MAKEINTRESOURCE_T!(32640); 717 +const IDI_APPLICATION = MAKEINTRESOURCE_T!(32512); 718 +const IDI_HAND = MAKEINTRESOURCE_T!(32513); 719 +const IDI_QUESTION = MAKEINTRESOURCE_T!(32514); 720 +const IDI_EXCLAMATION = MAKEINTRESOURCE_T!(32515); 721 +const IDI_ASTERISK = MAKEINTRESOURCE_T!(32516); 722 +const IDI_WINLOGO = MAKEINTRESOURCE_T!(32517); 723 +const IDI_WARNING = IDI_EXCLAMATION; 724 +const IDI_ERROR = IDI_HAND; 725 +const IDI_INFORMATION = IDI_ASTERISK; 726 + 727 +const MIIM_STATE = 1; 728 +const MIIM_ID = 2; 729 +const MIIM_SUBMENU = 4; 730 +const MIIM_CHECKMARKS = 8; 731 +const MIIM_TYPE = 16; 732 +const MIIM_DATA = 32; 733 +const MIIM_STRING = 64; 734 +const MIIM_BITMAP = 128; 735 +const MIIM_FTYPE = 256; 736 + 737 +static if (WINVER >= 0x500) { 738 + 739 +const MIM_MAXHEIGHT = 1; 740 +const MIM_BACKGROUND = 2; 741 +const MIM_HELPID = 4; 742 +const MIM_MENUDATA = 8; 743 +const MIM_STYLE = 16; 744 +const MIM_APPLYTOSUBMENUS = 0x80000000L; 745 + 746 +const MNS_NOCHECK = 0x80000000; 747 +const MNS_MODELESS = 0x40000000; 748 +const MNS_DRAGDROP = 0x20000000; 749 +const MNS_AUTODISMISS = 0x10000000; 750 +const MNS_NOTIFYBYPOS = 0x08000000; 751 +const MNS_CHECKORBMP = 0x04000000; 752 + 753 +} 754 + 755 +const MFT_BITMAP = 4; 756 +const MFT_MENUBARBREAK = 32; 757 +const MFT_MENUBREAK = 64; 758 +const MFT_OWNERDRAW = 256; 759 +const MFT_RADIOCHECK = 512; 760 +const MFT_RIGHTJUSTIFY = 0x4000; 761 +const MFT_SEPARATOR = 0x800; 762 +const MFT_RIGHTORDER = 0x2000L; 763 +const MFT_STRING = 0; 764 + 765 +const MFS_CHECKED = 8; 766 +const MFS_DEFAULT = 4096; 767 +const MFS_DISABLED = 3; 768 +const MFS_ENABLED = 0; 769 +const MFS_GRAYED = 3; 770 +const MFS_HILITE = 128; 771 +const MFS_UNCHECKED = 0; 772 +const MFS_UNHILITE = 0; 773 + 774 +const GW_HWNDNEXT = 2; 775 +const GW_HWNDPREV = 3; 776 +const GW_CHILD = 5; 777 +const GW_HWNDFIRST = 0; 778 +const GW_HWNDLAST = 1; 779 +const GW_OWNER = 4; 780 + 781 +const SW_HIDE = 0; 782 +const SW_NORMAL = 1; 783 +const SW_SHOWNORMAL = 1; 784 +const SW_SHOWMINIMIZED = 2; 785 +const SW_MAXIMIZE = 3; 786 +const SW_SHOWMAXIMIZED = 3; 787 +const SW_SHOWNOACTIVATE = 4; 788 +const SW_SHOW = 5; 789 +const SW_MINIMIZE = 6; 790 +const SW_SHOWMINNOACTIVE = 7; 791 +const SW_SHOWNA = 8; 792 +const SW_RESTORE = 9; 793 +const SW_SHOWDEFAULT = 10; 794 +const SW_FORCEMINIMIZE = 11; 795 +const SW_MAX = 11; 796 + 797 +const MB_USERICON = 128; 798 +const MB_ICONASTERISK = 64; 799 +const MB_ICONEXCLAMATION = 0x30; 800 +const MB_ICONWARNING = 0x30; 801 +const MB_ICONERROR = 16; 802 +const MB_ICONHAND = 16; 803 +const MB_ICONQUESTION = 32; 804 +const MB_OK = 0; 805 +const MB_ABORTRETRYIGNORE = 2; 806 +const MB_APPLMODAL = 0; 807 +const MB_DEFAULT_DESKTOP_ONLY = 0x20000; 808 +const MB_HELP = 0x4000; 809 +const MB_RIGHT = 0x80000; 810 +const MB_RTLREADING = 0x100000; 811 +const MB_TOPMOST = 0x40000; 812 +const MB_DEFBUTTON1 = 0; 813 +const MB_DEFBUTTON2 = 256; 814 +const MB_DEFBUTTON3 = 512; 815 +const MB_DEFBUTTON4 = 0x300; 816 +const MB_ICONINFORMATION = 64; 817 +const MB_ICONSTOP = 16; 818 +const MB_OKCANCEL = 1; 819 +const MB_RETRYCANCEL = 5; 820 + 821 +static if (_WIN32_WINNT_ONLY) { 822 + static if (_WIN32_WINNT >= 0x400) { 823 + const MB_SERVICE_NOTIFICATION = 0x00200000; 824 + } else { 825 + const MB_SERVICE_NOTIFICATION = 0x00040000; 826 + } 827 + const MB_SERVICE_NOTIFICATION_NT3X = 0x00040000; 828 +} 829 + 830 +const MB_SETFOREGROUND = 0x10000; 831 +const MB_SYSTEMMODAL = 4096; 832 +const MB_TASKMODAL = 0x2000; 833 +const MB_YESNO = 4; 834 +const MB_YESNOCANCEL = 3; 835 +const MB_ICONMASK = 240; 836 +const MB_DEFMASK = 3840; 837 +const MB_MODEMASK = 0x00003000; 838 +const MB_MISCMASK = 0x0000C000; 839 +const MB_NOFOCUS = 0x00008000; 840 +const MB_TYPEMASK = 15; 841 +// [Redefined] MB_TOPMOST=0x40000 842 +static if (WINVER >= 0x500) { 843 + const MB_CANCELTRYCONTINUE=6; 844 +} 845 + 846 +const IDOK = 1; 847 +const IDCANCEL = 2; 848 +const IDABORT = 3; 849 +const IDRETRY = 4; 850 +const IDIGNORE = 5; 851 +const IDYES = 6; 852 +const IDNO = 7; 853 +static if (WINVER >= 0x400) { 854 +const IDCLOSE = 8; 855 +const IDHELP = 9; 856 +} 857 +static if (WINVER >= 0x500) { 858 +const IDTRYAGAIN = 10; 859 +const IDCONTINUE = 11; 860 +} 861 + 862 +const GWL_EXSTYLE = -20; 863 +const GWL_STYLE = -16; 864 +const GWL_WNDPROC = -4; 865 +const GWLP_WNDPROC = -4; 866 +const GWL_HINSTANCE = -6; 867 +const GWLP_HINSTANCE = -6; 868 +const GWL_HWNDPARENT = -8; 869 +const GWLP_HWNDPARENT = -8; 870 +const GWL_ID = -12; 871 +const GWLP_ID = -12; 872 +const GWL_USERDATA = -21; 873 +const GWLP_USERDATA = -21; 874 + 875 +const DWL_DLGPROC = 4; 876 +const DWLP_DLGPROC = 4; 877 +const DWL_MSGRESULT = 0; 878 +const DWLP_MSGRESULT = 0; 879 +const DWL_USER = 8; 880 +const DWLP_USER = 8; 881 + 882 +const QS_KEY = 1; 883 +const QS_MOUSEMOVE = 2; 884 +const QS_MOUSEBUTTON = 4; 885 +const QS_MOUSE = 6; 886 +const QS_POSTMESSAGE = 8; 887 +const QS_TIMER = 16; 888 +const QS_PAINT = 32; 889 +const QS_SENDMESSAGE = 64; 890 +const QS_HOTKEY = 128; 891 +const QS_ALLPOSTMESSAGE = 256; 892 +static if (_WIN32_WINNT >= 0x501) { 893 +const QS_RAWINPUT = 1024; 894 +const QS_INPUT = 1031; 895 +const QS_ALLEVENTS = 1215; 896 +const QS_ALLINPUT = 1279; 897 +} else { 898 +const QS_INPUT = 7; 899 +const QS_ALLEVENTS = 191; 900 +const QS_ALLINPUT = 255; 901 +} 902 + 903 +const MWMO_WAITALL = 1; 904 +const MWMO_ALERTABLE = 2; 905 +const MWMO_INPUTAVAILABLE = 4; 906 + 907 +const COLOR_3DDKSHADOW=21; 908 +const COLOR_3DFACE=15; 909 +const COLOR_3DHILIGHT=20; 910 +const COLOR_3DHIGHLIGHT=20; 911 +const COLOR_3DLIGHT=22; 912 +const COLOR_BTNHILIGHT=20; 913 +const COLOR_3DSHADOW=16; 914 +const COLOR_ACTIVEBORDER=10; 915 +const COLOR_ACTIVECAPTION=2; 916 +const COLOR_APPWORKSPACE=12; 917 +const COLOR_BACKGROUND=1; 918 +const COLOR_DESKTOP=1; 919 +const COLOR_BTNFACE=15; 920 +const COLOR_BTNHIGHLIGHT=20; 921 +const COLOR_BTNSHADOW=16; 922 +const COLOR_BTNTEXT=18; 923 +const COLOR_CAPTIONTEXT=9; 924 +const COLOR_GRAYTEXT=17; 925 +const COLOR_HIGHLIGHT=13; 926 +const COLOR_HIGHLIGHTTEXT=14; 927 +const COLOR_INACTIVEBORDER=11; 928 +const COLOR_INACTIVECAPTION=3; 929 +const COLOR_INACTIVECAPTIONTEXT=19; 930 +const COLOR_INFOBK=24; 931 +const COLOR_INFOTEXT=23; 932 +const COLOR_MENU=4; 933 +const COLOR_MENUTEXT=7; 934 +const COLOR_SCROLLBAR=0; 935 +const COLOR_WINDOW=5; 936 +const COLOR_WINDOWFRAME=6; 937 +const COLOR_WINDOWTEXT=8; 938 +const COLOR_HOTLIGHT=26; 939 +const COLOR_GRADIENTACTIVECAPTION=27; 940 +const COLOR_GRADIENTINACTIVECAPTION=28; 941 + 942 +const CTLCOLOR_MSGBOX=0; 943 +const CTLCOLOR_EDIT=1; 944 +const CTLCOLOR_LISTBOX=2; 945 +const CTLCOLOR_BTN=3; 946 +const CTLCOLOR_DLG=4; 947 +const CTLCOLOR_SCROLLBAR=5; 948 +const CTLCOLOR_STATIC=6; 949 +const CTLCOLOR_MAX=7; 950 + 951 +// For GetSystemMetrics() 952 +enum : int { 953 + SM_CXSCREEN = 0, 954 + SM_CYSCREEN, 955 + SM_CXVSCROLL, 956 + SM_CYHSCROLL, 957 + SM_CYCAPTION, 958 + SM_CXBORDER, 959 + SM_CYBORDER, 960 + SM_CXDLGFRAME, // = 7, 961 + SM_CXFIXEDFRAME = SM_CXDLGFRAME, 962 + SM_CYDLGFRAME, // =8, 963 + SM_CYFIXEDFRAME = SM_CYDLGFRAME, 964 + SM_CYVTHUMB = 9, 965 + SM_CXHTHUMB, 966 + SM_CXICON, 967 + SM_CYICON, 968 + SM_CXCURSOR, 969 + SM_CYCURSOR, 970 + SM_CYMENU, 971 + SM_CXFULLSCREEN, 972 + SM_CYFULLSCREEN, 973 + SM_CYKANJIWINDOW, 974 + SM_MOUSEPRESENT, 975 + SM_CYVSCROLL, 976 + SM_CXHSCROLL, 977 + SM_DEBUG, 978 + SM_SWAPBUTTON, 979 + SM_RESERVED1, 980 + SM_RESERVED2, 981 + SM_RESERVED3, 982 + SM_RESERVED4, 983 + SM_CXMIN, 984 + SM_CYMIN, 985 + SM_CXSIZE, 986 + SM_CYSIZE, 987 + SM_CXSIZEFRAME, // = 32, 988 + SM_CXFRAME = SM_CXSIZEFRAME, 989 + SM_CYSIZEFRAME, // = 33 990 + SM_CYFRAME = SM_CYSIZEFRAME, 991 + SM_CXMINTRACK, 992 + SM_CYMINTRACK, 993 + SM_CXDOUBLECLK, 994 + SM_CYDOUBLECLK, 995 + SM_CXICONSPACING, 996 + SM_CYICONSPACING, 997 + SM_MENUDROPALIGNMENT, 998 + SM_PENWINDOWS, 999 + SM_DBCSENABLED, 1000 + SM_CMOUSEBUTTONS, 1001 + SM_SECURE, 1002 + SM_CXEDGE, 1003 + SM_CYEDGE, 1004 + SM_CXMINSPACING, 1005 + SM_CYMINSPACING, 1006 + SM_CXSMICON, 1007 + SM_CYSMICON, 1008 + SM_CYSMCAPTION, 1009 + SM_CXSMSIZE, 1010 + SM_CYSMSIZE, 1011 + SM_CXMENUSIZE, 1012 + SM_CYMENUSIZE, 1013 + SM_ARRANGE, 1014 + SM_CXMINIMIZED, 1015 + SM_CYMINIMIZED, 1016 + SM_CXMAXTRACK, 1017 + SM_CYMAXTRACK, 1018 + SM_CXMAXIMIZED, 1019 + SM_CYMAXIMIZED, 1020 + SM_NETWORK, // = 63 1021 + SM_CLEANBOOT = 67, 1022 + SM_CXDRAG, 1023 + SM_CYDRAG, 1024 + SM_SHOWSOUNDS, 1025 + SM_CXMENUCHECK, 1026 + SM_CYMENUCHECK, 1027 + SM_SLOWMACHINE, 1028 + SM_MIDEASTENABLED, 1029 + // The next values aren't supported in Win95. 1030 + SM_MOUSEWHEELPRESENT, 1031 + SM_XVIRTUALSCREEN, 1032 + SM_YVIRTUALSCREEN, 1033 + SM_CXVIRTUALSCREEN, 1034 + SM_CYVIRTUALSCREEN, 1035 + SM_CMONITORS, 1036 + SM_SAMEDISPLAYFORMAT, 1037 + SM_IMMENABLED, 1038 + SM_CXFOCUSBORDER, 1039 + SM_CYFOCUSBORDER, // = 84 1040 + SM_TABLETPC = 86, 1041 + SM_MEDIACENTER = 87, 1042 + SM_REMOTESESSION = 0x1000, 1043 + // These are only for WinXP and later 1044 + SM_SHUTTINGDOWN = 0x2000, 1045 + SM_REMOTECONTROL = 0x2001 1046 +} 1047 + 1048 +const ARW_BOTTOMLEFT=0; 1049 +const ARW_BOTTOMRIGHT=1; 1050 +const ARW_HIDE=8; 1051 +const ARW_TOPLEFT=2; 1052 +const ARW_TOPRIGHT=3; 1053 +const ARW_DOWN=4; 1054 +const ARW_LEFT=0; 1055 +const ARW_RIGHT=0; 1056 +const ARW_UP=4; 1057 + 1058 +const UOI_FLAGS=1; 1059 +const UOI_NAME=2; 1060 +const UOI_TYPE=3; 1061 +const UOI_USER_SID=4; 1062 + 1063 +// For the fuLoad parameter of LoadImage() 1064 +enum : UINT { 1065 + LR_DEFAULTCOLOR = 0, 1066 + LR_MONOCHROME = 1, 1067 + LR_COLOR = 2, 1068 + LR_COPYRETURNORG = 4, 1069 + LR_COPYDELETEORG = 8, 1070 + LR_LOADFROMFILE = 16, 1071 + LR_LOADTRANSPARENT = 32, 1072 + LR_DEFAULTSIZE = 64, 1073 + LR_LOADREALSIZE = 128, 1074 + LR_LOADMAP3DCOLORS = 4096, 1075 + LR_CREATEDIBSECTION = 8192, 1076 + LR_COPYFROMRESOURCE = 16384, 1077 + LR_SHARED = 32768 1078 +} 1079 + 1080 +const KEYEVENTF_EXTENDEDKEY = 0x00000001; 1081 +const KEYEVENTF_KEYUP = 00000002; 1082 +static if (_WIN32_WINNT >= 0x500) { 1083 +const KEYEVENTF_UNICODE = 0x00000004; 1084 +const KEYEVENTF_SCANCODE = 0x00000008; 1085 +} 1086 + 1087 +const OBM_BTNCORNERS = 32758; 1088 +const OBM_BTSIZE = 32761; 1089 +const OBM_CHECK = 32760; 1090 +const OBM_CHECKBOXES = 32759; 1091 +const OBM_CLOSE = 32754; 1092 +const OBM_COMBO = 32738; 1093 +const OBM_DNARROW = 32752; 1094 +const OBM_DNARROWD = 32742; 1095 +const OBM_DNARROWI = 32736; 1096 +const OBM_LFARROW = 32750; 1097 +const OBM_LFARROWI = 32734; 1098 +const OBM_LFARROWD = 32740; 1099 +const OBM_MNARROW = 32739; 1100 +const OBM_OLD_CLOSE = 32767; 1101 +const OBM_OLD_DNARROW = 32764; 1102 +const OBM_OLD_LFARROW = 32762; 1103 +const OBM_OLD_REDUCE = 32757; 1104 +const OBM_OLD_RESTORE = 32755; 1105 +const OBM_OLD_RGARROW = 32763; 1106 +const OBM_OLD_UPARROW = 32765; 1107 +const OBM_OLD_ZOOM = 32756; 1108 +const OBM_REDUCE = 32749; 1109 +const OBM_REDUCED = 32746; 1110 +const OBM_RESTORE = 32747; 1111 +const OBM_RESTORED = 32744; 1112 +const OBM_RGARROW = 32751; 1113 +const OBM_RGARROWD = 32741; 1114 +const OBM_RGARROWI = 32735; 1115 +const OBM_SIZE = 32766; 1116 +const OBM_UPARROW = 32753; 1117 +const OBM_UPARROWD = 32743; 1118 +const OBM_UPARROWI = 32737; 1119 +const OBM_ZOOM = 32748; 1120 +const OBM_ZOOMD = 32745; 1121 + 1122 +const OCR_NORMAL = 32512; 1123 +const OCR_IBEAM = 32513; 1124 +const OCR_WAIT = 32514; 1125 +const OCR_CROSS = 32515; 1126 +const OCR_UP = 32516; 1127 +const OCR_SIZE = 32640; 1128 +const OCR_ICON = 32641; 1129 +const OCR_SIZENWSE = 32642; 1130 +const OCR_SIZENESW = 32643; 1131 +const OCR_SIZEWE = 32644; 1132 +const OCR_SIZENS = 32645; 1133 +const OCR_SIZEALL = 32646; 1134 +const OCR_NO = 32648; 1135 +const OCR_APPSTARTING = 32650; 1136 + 1137 +const OIC_SAMPLE = 32512; 1138 +const OIC_HAND = 32513; 1139 +const OIC_QUES = 32514; 1140 +const OIC_BANG = 32515; 1141 +const OIC_NOTE = 32516; 1142 +const OIC_WINLOGO = 32517; 1143 +const OIC_WARNING = OIC_BANG; 1144 +const OIC_ERROR = OIC_HAND; 1145 +const OIC_INFORMATION = OIC_NOTE; 1146 + 1147 +const HELPINFO_MENUITEM = 2; 1148 +const HELPINFO_WINDOW = 1; 1149 + 1150 +const MSGF_DIALOGBOX = 0; 1151 +const MSGF_MESSAGEBOX = 1; 1152 +const MSGF_MENU = 2; 1153 +const MSGF_MOVE = 3; 1154 +const MSGF_SIZE = 4; 1155 +const MSGF_SCROLLBAR = 5; 1156 +const MSGF_NEXTWINDOW = 6; 1157 +const MSGF_MAINLOOP = 8; 1158 +const MSGF_USER = 4096; 1159 + 1160 +const MOUSEEVENTF_MOVE = 1; 1161 +const MOUSEEVENTF_LEFTDOWN = 2; 1162 +const MOUSEEVENTF_LEFTUP = 4; 1163 +const MOUSEEVENTF_RIGHTDOWN = 8; 1164 +const MOUSEEVENTF_RIGHTUP = 16; 1165 +const MOUSEEVENTF_MIDDLEDOWN = 32; 1166 +const MOUSEEVENTF_MIDDLEUP = 64; 1167 +const MOUSEEVENTF_WHEEL = 0x0800; 1168 +const MOUSEEVENTF_ABSOLUTE = 32768; 1169 + 1170 +const PM_NOREMOVE = 0; 1171 +const PM_REMOVE = 1; 1172 +const PM_NOYIELD = 2; 1173 + 1174 +static if (WINVER >= 0x500) { 1175 +const PM_QS_INPUT = (QS_INPUT << 16); 1176 +const PM_QS_POSTMESSAGE = ((QS_POSTMESSAGE|QS_HOTKEY|QS_TIMER) << 16); 1177 +const PM_QS_PAINT = (QS_PAINT << 16); 1178 +const PM_QS_SENDMESSAGE = (QS_SENDMESSAGE << 16); 1179 +} 1180 +const HWND 1181 + HWND_BROADCAST = cast(HWND)0xffff, 1182 + HWND_BOTTOM = cast(HWND)1, 1183 + HWND_NOTOPMOST = cast(HWND)(-2), 1184 + HWND_TOP = cast(HWND)0, 1185 + HWND_TOPMOST = cast(HWND)(-1), 1186 + HWND_DESKTOP = cast(HWND)0, 1187 + HWND_MESSAGE = cast(HWND)(-3);// w2k 1188 + 1189 +const RDW_INVALIDATE = 1; 1190 +const RDW_INTERNALPAINT = 2; 1191 +const RDW_ERASE = 4; 1192 +const RDW_VALIDATE = 8; 1193 +const RDW_NOINTERNALPAINT = 16; 1194 +const RDW_NOERASE = 32; 1195 +const RDW_NOCHILDREN = 64; 1196 +const RDW_ALLCHILDREN = 128; 1197 +const RDW_UPDATENOW = 256; 1198 +const RDW_ERASENOW = 512; 1199 +const RDW_FRAME = 1024; 1200 +const RDW_NOFRAME = 2048; 1201 + 1202 +const SMTO_NORMAL = 0; 1203 +const SMTO_BLOCK = 1; 1204 +const SMTO_ABORTIFHUNG = 2; 1205 + 1206 +const SIF_ALL = 23; 1207 +const SIF_PAGE = 2; 1208 +const SIF_POS = 4; 1209 +const SIF_RANGE = 1; 1210 +const SIF_DISABLENOSCROLL = 8; 1211 +const SIF_TRACKPOS = 16; 1212 + 1213 +const SWP_DRAWFRAME = 32; 1214 +const SWP_FRAMECHANGED = 32; 1215 +const SWP_HIDEWINDOW = 128; 1216 +const SWP_NOACTIVATE = 16; 1217 +const SWP_NOCOPYBITS = 256; 1218 +const SWP_NOMOVE = 2; 1219 +const SWP_NOSIZE = 1; 1220 +const SWP_NOREDRAW = 8; 1221 +const SWP_NOZORDER = 4; 1222 +const SWP_SHOWWINDOW = 64; 1223 +const SWP_NOOWNERZORDER = 512; 1224 +const SWP_NOREPOSITION = 512; 1225 +const SWP_NOSENDCHANGING = 1024; 1226 +const SWP_DEFERERASE = 8192; 1227 +const SWP_ASYNCWINDOWPOS = 16384; 1228 + 1229 +const HSHELL_ACTIVATESHELLWINDOW = 3; 1230 +const HSHELL_GETMINRECT = 5; 1231 +const HSHELL_LANGUAGE = 8; 1232 +const HSHELL_REDRAW = 6; 1233 +const HSHELL_TASKMAN = 7; 1234 +const HSHELL_WINDOWACTIVATED = 4; 1235 +const HSHELL_WINDOWCREATED = 1; 1236 +const HSHELL_WINDOWDESTROYED = 2; 1237 +const HSHELL_FLASH = 32774; 1238 + 1239 +static if (WINVER >= 0x500) { 1240 +const SPI_SETFOREGROUNDLOCKTIMEOUT=0x2001; 1241 +const SPI_GETFOREGROUNDLOCKTIMEOUT=0x2000; 1242 +} 1243 + 1244 +const SPI_GETACCESSTIMEOUT=60; 1245 +const SPI_GETACTIVEWNDTRKTIMEOUT=8194; 1246 +const SPI_GETANIMATION=72; 1247 +const SPI_GETBEEP=1; 1248 +const SPI_GETBORDER=5; 1249 +const SPI_GETDEFAULTINPUTLANG=89; 1250 +const SPI_GETDRAGFULLWINDOWS=38; 1251 +const SPI_GETFASTTASKSWITCH=35; 1252 +const SPI_GETFILTERKEYS=50; 1253 +const SPI_GETFONTSMOOTHING=74; 1254 +const SPI_GETGRIDGRANULARITY=18; 1255 +const SPI_GETHIGHCONTRAST=66; 1256 +const SPI_GETICONMETRICS=45; 1257 +const SPI_GETICONTITLELOGFONT=31; 1258 +const SPI_GETICONTITLEWRAP=25; 1259 +const SPI_GETKEYBOARDDELAY=22; 1260 +const SPI_GETKEYBOARDPREF=68; 1261 +const SPI_GETKEYBOARDSPEED=10; 1262 +const SPI_GETLOWPOWERACTIVE=83; 1263 +const SPI_GETLOWPOWERTIMEOUT=79; 1264 +const SPI_GETMENUDROPALIGNMENT=27; 1265 +const SPI_GETMINIMIZEDMETRICS=43; 1266 +const SPI_GETMOUSE=3; 1267 +const SPI_GETMOUSEKEYS=54; 1268 +const SPI_GETMOUSETRAILS=94; 1269 +const SPI_GETNONCLIENTMETRICS=41; 1270 +const SPI_GETPOWEROFFACTIVE=84; 1271 +const SPI_GETPOWEROFFTIMEOUT=80; 1272 +const SPI_GETSCREENREADER=70; 1273 +const SPI_GETSCREENSAVEACTIVE=16; 1274 +const SPI_GETSCREENSAVETIMEOUT=14; 1275 +const SPI_GETSERIALKEYS=62; 1276 +const SPI_GETSHOWSOUNDS=56; 1277 +const SPI_GETSOUNDSENTRY=64; 1278 +const SPI_GETSTICKYKEYS=58; 1279 +const SPI_GETTOGGLEKEYS=52; 1280 +const SPI_GETWHEELSCROLLLINES=104; 1281 +const SPI_GETWINDOWSEXTENSION=92; 1282 +const SPI_GETWORKAREA=48; 1283 +const SPI_ICONHORIZONTALSPACING=13; 1284 +const SPI_ICONVERTICALSPACING=24; 1285 +const SPI_LANGDRIVER=12; 1286 +const SPI_SCREENSAVERRUNNING=97; 1287 +const SPI_SETACCESSTIMEOUT=61; 1288 +const SPI_SETACTIVEWNDTRKTIMEOUT=8195; 1289 +const SPI_SETANIMATION=73; 1290 +const SPI_SETBEEP=2; 1291 +const SPI_SETBORDER=6; 1292 +const SPI_SETDEFAULTINPUTLANG=90; 1293 +const SPI_SETDESKPATTERN=21; 1294 +const SPI_SETDESKWALLPAPER=20; 1295 +const SPI_SETDOUBLECLICKTIME=32; 1296 +const SPI_SETDOUBLECLKHEIGHT=30; 1297 +const SPI_SETDOUBLECLKWIDTH=29; 1298 +const SPI_SETDRAGFULLWINDOWS=37; 1299 +const SPI_SETDRAGHEIGHT=77; 1300 +const SPI_SETDRAGWIDTH=76; 1301 +const SPI_SETFASTTASKSWITCH=36; 1302 +const SPI_SETFILTERKEYS=51; 1303 +const SPI_SETFONTSMOOTHING=75; 1304 +const SPI_SETGRIDGRANULARITY=19; 1305 +const SPI_SETHANDHELD=78; 1306 +const SPI_SETHIGHCONTRAST=67; 1307 +const SPI_SETICONMETRICS=46; 1308 +const SPI_SETICONTITLELOGFONT=34; 1309 +const SPI_SETICONTITLEWRAP=26; 1310 +const SPI_SETKEYBOARDDELAY=23; 1311 +const SPI_SETKEYBOARDPREF=69; 1312 +const SPI_SETKEYBOARDSPEED=11; 1313 +const SPI_SETLANGTOGGLE=91; 1314 +const SPI_SETLOWPOWERACTIVE=85; 1315 +const SPI_SETLOWPOWERTIMEOUT=81; 1316 +const SPI_SETMENUDROPALIGNMENT=28; 1317 +const SPI_SETMINIMIZEDMETRICS=44; 1318 +const SPI_SETMOUSE=4; 1319 +const SPI_SETMOUSEBUTTONSWAP=33; 1320 +const SPI_SETMOUSEKEYS=55; 1321 +const SPI_SETMOUSETRAILS=93; 1322 +const SPI_SETNONCLIENTMETRICS=42; 1323 +const SPI_SETPENWINDOWS=49; 1324 +const SPI_SETPOWEROFFACTIVE=86; 1325 +const SPI_SETPOWEROFFTIMEOUT=82; 1326 +const SPI_SETSCREENREADER=71; 1327 +const SPI_SETSCREENSAVEACTIVE=17; 1328 +const SPI_SETSCREENSAVERRUNNING=97; 1329 +const SPI_SETSCREENSAVETIMEOUT=15; 1330 +const SPI_SETSERIALKEYS=63; 1331 +const SPI_SETSHOWSOUNDS=57; 1332 +const SPI_SETSOUNDSENTRY=65; 1333 +const SPI_SETSTICKYKEYS=59; 1334 +const SPI_SETTOGGLEKEYS=53; 1335 +const SPI_SETWHEELSCROLLLINES=105; 1336 +const SPI_SETWORKAREA=47; 1337 + 1338 +static if (WINVER >= 0x500) { 1339 +const SPI_GETDESKWALLPAPER=115; 1340 +const SPI_GETMOUSESPEED=112; 1341 +const SPI_GETSCREENSAVERRUNNING=114; 1342 +const SPI_GETACTIVEWINDOWTRACKING=0x1000; 1343 +const SPI_GETACTIVEWNDTRKZORDER=0x100C; 1344 +const SPI_GETCOMBOBOXANIMATION=0x1004; 1345 +const SPI_GETCURSORSHADOW=0x101A; 1346 +const SPI_GETGRADIENTCAPTIONS=0x1008; 1347 +const SPI_GETHOTTRACKING=0x100E; 1348 +const SPI_GETKEYBOARDCUES=0x100A; 1349 +const SPI_GETLISTBOXSMOOTHSCROLLING=0x1006; 1350 +const SPI_GETMENUANIMATION=0x1002; 1351 +const SPI_GETMENUFADE=0x1012; 1352 +const SPI_GETMENUUNDERLINES=0x100A; 1353 +const SPI_GETSELECTIONFADE=0x1014; 1354 +const SPI_GETTOOLTIPANIMATION=0x1016; 1355 +const SPI_GETTOOLTIPFADE=0x1018; 1356 +const SPI_SETACTIVEWINDOWTRACKING=0x1001; 1357 +const SPI_SETACTIVEWNDTRKZORDER=0x100D; 1358 +const SPI_SETCOMBOBOXANIMATION=0x1005; 1359 +const SPI_SETCURSORSHADOW=0x101B; 1360 +const SPI_SETGRADIENTCAPTIONS=0x1009; 1361 +const SPI_SETHOTTRACKING=0x100F; 1362 +const SPI_SETKEYBOARDCUES=0x100B; 1363 +const SPI_SETLISTBOXSMOOTHSCROLLING=0x1007; 1364 +const SPI_SETMENUANIMATION=0x1003; 1365 +const SPI_SETMENUFADE=0x1013; 1366 +const SPI_SETMENUUNDERLINES=0x100B; 1367 +const SPI_SETMOUSESPEED=113; 1368 +const SPI_SETSELECTIONFADE=0x1015; 1369 +const SPI_SETTOOLTIPANIMATION=0x1017; 1370 +const SPI_SETTOOLTIPFADE=0x1019; 1371 +} 1372 + 1373 +const SPIF_UPDATEINIFILE=1; 1374 +const SPIF_SENDWININICHANGE=2; 1375 +const SPIF_SENDCHANGE=2; 1376 +// [Redefined] ATF_ONOFFFEEDBACK=2 1377 +// [Redefined] ATF_TIMEOUTON=1 1378 +const WM_APP=32768; 1379 +const WM_ACTIVATE=6; 1380 +const WM_ACTIVATEAPP=28; 1381 +// FIXME/CHECK: Are WM_AFX {FIRST, LAST} valid for WINVER < 0x400? 1382 +const WM_AFXFIRST=864; 1383 +const WM_AFXLAST=895; 1384 +const WM_ASKCBFORMATNAME=780; 1385 +const WM_CANCELJOURNAL=75; 1386 +const WM_CANCELMODE=31; 1387 +const WM_CAPTURECHANGED=533; 1388 +const WM_CHANGECBCHAIN=781; 1389 +const WM_CHAR=258; 1390 +const WM_CHARTOITEM=47; 1391 +const WM_CHILDACTIVATE=34; 1392 +const WM_CLEAR=771; 1393 +const WM_CLOSE=16; 1394 +const WM_COMMAND=273; 1395 +const WM_COMMNOTIFY=68; // obsolete 1396 +const WM_COMPACTING=65; 1397 +const WM_COMPAREITEM=57; 1398 +const WM_CONTEXTMENU=123; 1399 +const WM_COPY=769; 1400 +const WM_COPYDATA=74; 1401 +const WM_CREATE=1; 1402 +const WM_CTLCOLORBTN=309; 1403 +const WM_CTLCOLORDLG=310; 1404 +const WM_CTLCOLOREDIT=307; 1405 +const WM_CTLCOLORLISTBOX=308; 1406 +const WM_CTLCOLORMSGBOX=306; 1407 +const WM_CTLCOLORSCROLLBAR=311; 1408 +const WM_CTLCOLORSTATIC=312; 1409 +const WM_CUT=768; 1410 +const WM_DEADCHAR=259; 1411 +const WM_DELETEITEM=45; 1412 +const WM_DESTROY=2; 1413 +const WM_DESTROYCLIPBOARD=775; 1414 +const WM_DEVICECHANGE=537; 1415 +const WM_DEVMODECHANGE=27; 1416 +const WM_DISPLAYCHANGE=126; 1417 +const WM_DRAWCLIPBOARD=776; 1418 +const WM_DRAWITEM=43; 1419 +const WM_DROPFILES=563; 1420 +const WM_ENABLE=10; 1421 +const WM_ENDSESSION=22; 1422 +const WM_ENTERIDLE=289; 1423 +const WM_ENTERMENULOOP=529; 1424 +const WM_ENTERSIZEMOVE=561; 1425 +const WM_ERASEBKGND=20; 1426 +const WM_EXITMENULOOP=530; 1427 +const WM_EXITSIZEMOVE=562; 1428 +const WM_FONTCHANGE=29; 1429 +const WM_GETDLGCODE=135; 1430 +const WM_GETFONT=49; 1431 +const WM_GETHOTKEY=51; 1432 +const WM_GETICON=127; 1433 +const WM_GETMINMAXINFO=36; 1434 +const WM_GETTEXT=13; 1435 +const WM_GETTEXTLENGTH=14; 1436 +const WM_HANDHELDFIRST=856; 1437 +const WM_HANDHELDLAST=863; 1438 +const WM_HELP=83; 1439 +const WM_HOTKEY=786; 1440 +const WM_HSCROLL=276; 1441 +const WM_HSCROLLCLIPBOARD=782; 1442 +const WM_ICONERASEBKGND=39; 1443 +const WM_INITDIALOG=272; 1444 +const WM_INITMENU=278; 1445 +const WM_INITMENUPOPUP=279; 1446 +const WM_INPUTLANGCHANGE=81; 1447 +const WM_INPUTLANGCHANGEREQUEST=80; 1448 +const WM_KEYDOWN=256; 1449 +const WM_KEYUP=257; 1450 +const WM_KILLFOCUS=8; 1451 +const WM_MDIACTIVATE=546; 1452 +const WM_MDICASCADE=551; 1453 +const WM_MDICREATE=544; 1454 +const WM_MDIDESTROY=545; 1455 +const WM_MDIGETACTIVE=553; 1456 +const WM_MDIICONARRANGE=552; 1457 +const WM_MDIMAXIMIZE=549; 1458 +const WM_MDINEXT=548; 1459 +const WM_MDIREFRESHMENU=564; 1460 +const WM_MDIRESTORE=547; 1461 +const WM_MDISETMENU=560; 1462 +const WM_MDITILE=550; 1463 +const WM_MEASUREITEM=44; 1464 +static if (WINVER >= 0x500) { 1465 +const WM_UNINITMENUPOPUP=0x0125; 1466 +const WM_MENURBUTTONUP=290; 1467 +const WM_MENUCOMMAND=0x0126; 1468 +const WM_MENUGETOBJECT=0x0124; 1469 +const WM_MENUDRAG=0x0123; 1470 +} 1471 + 1472 +static if (_WIN32_WINNT >= 0x500) { 1473 + 1474 + enum { 1475 + WM_CHANGEUISTATE = 0x0127, 1476 + WM_UPDATEUISTATE = 0x0128, 1477 + WM_QUERYUISTATE = 0x0129 1478 + } 1479 + 1480 + // LOWORD(wParam) values in WM_*UISTATE* 1481 + enum { 1482 + UIS_SET = 1, 1483 + UIS_CLEAR = 2, 1484 + UIS_INITIALIZE = 3 1485 + } 1486 + 1487 + // HIWORD(wParam) values in WM_*UISTATE* 1488 + enum { 1489 + UISF_HIDEFOCUS = 0x1, 1490 + UISF_HIDEACCEL = 0x2 1491 + } 1492 + 1493 +} 1494 + 1495 +static if (_WIN32_WINNT >= 0x501) { 1496 + 1497 + // HIWORD(wParam) values in WM_*UISTATE* 1498 + enum { 1499 + UISF_ACTIVE = 0x4 1500 + } 1501 + 1502 +} 1503 + 1504 +const WM_MENUCHAR=288; 1505 +const WM_MENUSELECT=287; 1506 +const WM_MOVE=3; 1507 +const WM_MOVING=534; 1508 +const WM_NCACTIVATE=134; 1509 +const WM_NCCALCSIZE=131; 1510 +const WM_NCCREATE=129; 1511 +const WM_NCDESTROY=130; 1512 +const WM_NCHITTEST=132; 1513 +const WM_NCLBUTTONDBLCLK=163; 1514 +const WM_NCLBUTTONDOWN=161; 1515 +const WM_NCLBUTTONUP=162; 1516 +const WM_NCMBUTTONDBLCLK=169; 1517 +const WM_NCMBUTTONDOWN=167; 1518 +const WM_NCMBUTTONUP=168; 1519 +static if (_WIN32_WINNT >= 0x500) { 1520 +const WM_NCXBUTTONDOWN=171; 1521 +const WM_NCXBUTTONUP=172; 1522 +const WM_NCXBUTTONDBLCLK=173; 1523 +const WM_NCMOUSEHOVER=0x02A0; 1524 +const WM_NCMOUSELEAVE=0x02A2; 1525 +} 1526 +const WM_NCMOUSEMOVE=160; 1527 +const WM_NCPAINT=133; 1528 +const WM_NCRBUTTONDBLCLK=166; 1529 +const WM_NCRBUTTONDOWN=164; 1530 +const WM_NCRBUTTONUP=165; 1531 +const WM_NEXTDLGCTL=40; 1532 +const WM_NEXTMENU=531; 1533 +const WM_NOTIFY=78; 1534 +const WM_NOTIFYFORMAT=85; 1535 +const WM_NULL=0; 1536 +const WM_PAINT=15; 1537 +const WM_PAINTCLIPBOARD=777; 1538 +const WM_PAINTICON=38; 1539 +const WM_PALETTECHANGED=785; 1540 +const WM_PALETTEISCHANGING=784; 1541 +const WM_PARENTNOTIFY=528; 1542 +const WM_PASTE=770; 1543 +const WM_PENWINFIRST=896; 1544 +const WM_PENWINLAST=911; 1545 +const WM_POWER=72; 1546 +const WM_POWERBROADCAST=536; 1547 +const WM_PRINT=791; 1548 +const WM_PRINTCLIENT=792; 1549 +const WM_APPCOMMAND = 0x0319; 1550 +const WM_QUERYDRAGICON=55; 1551 +const WM_QUERYENDSESSION=17; 1552 +const WM_QUERYNEWPALETTE=783; 1553 +const WM_QUERYOPEN=19; 1554 +const WM_QUEUESYNC=35; 1555 +const WM_QUIT=18; 1556 +const WM_RENDERALLFORMATS=774; 1557 +const WM_RENDERFORMAT=773; 1558 +const WM_SETCURSOR=32; 1559 +const WM_SETFOCUS=7; 1560 +const WM_SETFONT=48; 1561 +const WM_SETHOTKEY=50; 1562 +const WM_SETICON=128; 1563 +const WM_SETREDRAW=11; 1564 +const WM_SETTEXT=12; 1565 +const WM_SETTINGCHANGE=26; 1566 +const WM_SHOWWINDOW=24; 1567 +const WM_SIZE=5; 1568 +const WM_SIZECLIPBOARD=779; 1569 +const WM_SIZING=532; 1570 +const WM_SPOOLERSTATUS=42; 1571 +const WM_STYLECHANGED=125; 1572 +const WM_STYLECHANGING=124; 1573 +const WM_SYSCHAR=262; 1574 +const WM_SYSCOLORCHANGE=21; 1575 +const WM_SYSCOMMAND=274; 1576 +const WM_SYSDEADCHAR=263; 1577 +const WM_SYSKEYDOWN=260; 1578 +const WM_SYSKEYUP=261; 1579 +const WM_TCARD=82; 1580 +const WM_THEMECHANGED=794; 1581 +const WM_TIMECHANGE=30; 1582 +const WM_TIMER=275; 1583 +const WM_UNDO=772; 1584 +const WM_USER=1024; 1585 +const WM_USERCHANGED=84; 1586 +const WM_VKEYTOITEM=46; 1587 +const WM_VSCROLL=277; 1588 +const WM_VSCROLLCLIPBOARD=778; 1589 +const WM_WINDOWPOSCHANGED=71; 1590 +const WM_WINDOWPOSCHANGING=70; 1591 +const WM_WININICHANGE=26; 1592 +const WM_INPUT=255; 1593 +const WM_KEYFIRST=256; 1594 +const WM_KEYLAST=264; 1595 +const WM_SYNCPAINT=136; 1596 +const WM_MOUSEACTIVATE=33; 1597 +const WM_MOUSEMOVE=512; 1598 +const WM_LBUTTONDOWN=513; 1599 +const WM_LBUTTONUP=514; 1600 +const WM_LBUTTONDBLCLK=515; 1601 +const WM_RBUTTONDOWN=516; 1602 +const WM_RBUTTONUP=517; 1603 +const WM_RBUTTONDBLCLK=518; 1604 +const WM_MBUTTONDOWN=519; 1605 +const WM_MBUTTONUP=520; 1606 +const WM_MBUTTONDBLCLK=521; 1607 +const WM_MOUSEWHEEL=522; 1608 +const WM_MOUSEFIRST=512; 1609 +static if (_WIN32_WINNT >= 0x500) { 1610 +const WM_XBUTTONDOWN=523; 1611 +const WM_XBUTTONUP=524; 1612 +const WM_XBUTTONDBLCLK=525; 1613 +const WM_MOUSELAST=525; 1614 +} else { 1615 +const WM_MOUSELAST=522; 1616 +} 1617 +const WM_MOUSEHOVER=0x2A1; 1618 +const WM_MOUSELEAVE=0x2A3; 1619 +static if (_WIN32_WINNT >= 0x400) { 1620 +const WHEEL_DELTA=120; 1621 + 1622 +SHORT GET_WHEEL_DELTA_WPARAM(WPARAM wparam) 1623 +{ 1624 +return cast(SHORT) HIWORD(wparam); 1625 +} 1626 + 1627 +const WHEEL_PAGESCROLL = uint.max; 1628 +} 1629 +const BM_CLICK=245; 1630 +const BM_GETCHECK=240; 1631 +const BM_GETIMAGE=246; 1632 +const BM_GETSTATE=242; 1633 +const BM_SETCHECK=241; 1634 +const BM_SETIMAGE=247; 1635 +const BM_SETSTATE=243; 1636 +const BM_SETSTYLE=244; 1637 +const BN_CLICKED=0; 1638 +const BN_DBLCLK=5; 1639 +const BN_DISABLE=4; 1640 +const BN_DOUBLECLICKED=5; 1641 +const BN_HILITE=2; 1642 +const BN_KILLFOCUS=7; 1643 +const BN_PAINT=1; 1644 +const BN_PUSHED=2; 1645 +const BN_SETFOCUS=6; 1646 +const BN_UNHILITE=3; 1647 +const BN_UNPUSHED=3; 1648 +const CB_ADDSTRING=323; 1649 +const CB_DELETESTRING=324; 1650 +const CB_DIR=325; 1651 +const CB_FINDSTRING=332; 1652 +const CB_FINDSTRINGEXACT=344; 1653 +const CB_GETCOUNT=326; 1654 +const CB_GETCURSEL=327; 1655 +const CB_GETDROPPEDCONTROLRECT=338; 1656 +const CB_GETDROPPEDSTATE=343; 1657 +const CB_GETDROPPEDWIDTH=351; 1658 +const CB_GETEDITSEL=320; 1659 +const CB_GETEXTENDEDUI=342; 1660 +const CB_GETHORIZONTALEXTENT=349; 1661 +const CB_GETITEMDATA=336; 1662 +const CB_GETITEMHEIGHT=340; 1663 +const CB_GETLBTEXT=328; 1664 +const CB_GETLBTEXTLEN=329; 1665 +const CB_GETLOCALE=346; 1666 +const CB_GETTOPINDEX=347; 1667 +const CB_INITSTORAGE=353; 1668 +const CB_INSERTSTRING=330; 1669 +const CB_LIMITTEXT=321; 1670 +const CB_RESETCONTENT=331; 1671 +const CB_SELECTSTRING=333; 1672 +const CB_SETCURSEL=334; 1673 +const CB_SETDROPPEDWIDTH=352; 1674 +const CB_SETEDITSEL=322; 1675 +const CB_SETEXTENDEDUI=341; 1676 +const CB_SETHORIZONTALEXTENT=350; 1677 +const CB_SETITEMDATA=337; 1678 +const CB_SETITEMHEIGHT=339; 1679 +const CB_SETLOCALE=345; 1680 +const CB_SETTOPINDEX=348; 1681 +const CB_SHOWDROPDOWN=335; 1682 + 1683 +const CBN_CLOSEUP=8; 1684 +const CBN_DBLCLK=2; 1685 +const CBN_DROPDOWN=7; 1686 +const CBN_EDITCHANGE=5; 1687 +const CBN_EDITUPDATE=6; 1688 +const CBN_ERRSPACE=(-1); 1689 +const CBN_KILLFOCUS=4; 1690 +const CBN_SELCHANGE=1; 1691 +const CBN_SELENDCANCEL=10; 1692 +const CBN_SELENDOK=9; 1693 +const CBN_SETFOCUS=3; 1694 + 1695 +const EM_CANUNDO=198; 1696 +const EM_CHARFROMPOS=215; 1697 +const EM_EMPTYUNDOBUFFER=205; 1698 +const EM_FMTLINES=200; 1699 +const EM_GETFIRSTVISIBLELINE=206; 1700 +const EM_GETHANDLE=189; 1701 +const EM_GETLIMITTEXT=213; 1702 +const EM_GETLINE=196; 1703 +const EM_GETLINECOUNT=186; 1704 +const EM_GETMARGINS=212; 1705 +const EM_GETMODIFY=184; 1706 +const EM_GETPASSWORDCHAR=210; 1707 +const EM_GETRECT=178; 1708 +const EM_GETSEL=176; 1709 +const EM_GETTHUMB=190; 1710 +const EM_GETWORDBREAKPROC=209; 1711 +const EM_LIMITTEXT=197; 1712 +const EM_LINEFROMCHAR=201; 1713 +const EM_LINEINDEX=187; 1714 +const EM_LINELENGTH=193; 1715 +const EM_LINESCROLL=182; 1716 +const EM_POSFROMCHAR=214; 1717 +const EM_REPLACESEL=194; 1718 +const EM_SCROLL=181; 1719 +const EM_SCROLLCARET=183; 1720 +const EM_SETHANDLE=188; 1721 +const EM_SETLIMITTEXT=197; 1722 +const EM_SETMARGINS=211; 1723 +const EM_SETMODIFY=185; 1724 +const EM_SETPASSWORDCHAR=204; 1725 +const EM_SETREADONLY=207; 1726 +const EM_SETRECT=179; 1727 +const EM_SETRECTNP=180; 1728 +const EM_SETSEL=177; 1729 +const EM_SETTABSTOPS=203; 1730 +const EM_SETWORDBREAKPROC=208; 1731 +const EM_UNDO=199; 1732 + 1733 +const EN_CHANGE=768; 1734 +const EN_ERRSPACE=1280; 1735 +const EN_HSCROLL=1537; 1736 +const EN_KILLFOCUS=512; 1737 +const EN_MAXTEXT=1281; 1738 +const EN_SETFOCUS=256; 1739 +const EN_UPDATE=1024; 1740 +const EN_VSCROLL=1538; 1741 + 1742 +const LB_ADDFILE=406; 1743 +const LB_ADDSTRING=384; 1744 +const LB_DELETESTRING=386; 1745 +const LB_DIR=397; 1746 +const LB_FINDSTRING=399; 1747 +const LB_FINDSTRINGEXACT=418; 1748 +const LB_GETANCHORINDEX=413; 1749 +const LB_GETCARETINDEX=415; 1750 +const LB_GETCOUNT=395; 1751 +const LB_GETCURSEL=392; 1752 +const LB_GETHORIZONTALEXTENT=403; 1753 +const LB_GETITEMDATA=409; 1754 +const LB_GETITEMHEIGHT=417; 1755 +const LB_GETITEMRECT=408; 1756 +const LB_GETLOCALE=422; 1757 +const LB_GETSEL=391; 1758 +const LB_GETSELCOUNT=400; 1759 +const LB_GETSELITEMS=401; 1760 +const LB_GETTEXT=393; 1761 +const LB_GETTEXTLEN=394; 1762 +const LB_GETTOPINDEX=398; 1763 +const LB_INITSTORAGE=424; 1764 +const LB_INSERTSTRING=385; 1765 +const LB_ITEMFROMPOINT=425; 1766 +const LB_RESETCONTENT=388; 1767 +const LB_SELECTSTRING=396; 1768 +const LB_SELITEMRANGE=411; 1769 +const LB_SELITEMRANGEEX=387; 1770 +const LB_SETANCHORINDEX=412; 1771 +const LB_SETCARETINDEX=414; 1772 +const LB_SETCOLUMNWIDTH=405; 1773 +const LB_SETCOUNT=423; 1774 +const LB_SETCURSEL=390; 1775 +const LB_SETHORIZONTALEXTENT=404; 1776 +const LB_SETITEMDATA=410; 1777 +const LB_SETITEMHEIGHT=416; 1778 +const LB_SETLOCALE=421; 1779 +const LB_SETSEL=389; 1780 +const LB_SETTABSTOPS=402; 1781 +const LB_SETTOPINDEX=407; 1782 + 1783 +const LBN_DBLCLK=2; 1784 +const LBN_ERRSPACE=-2; 1785 +const LBN_KILLFOCUS=5; 1786 +const LBN_SELCANCEL=3; 1787 +const LBN_SELCHANGE=1; 1788 +const LBN_SETFOCUS=4; 1789 + 1790 +const SBM_ENABLE_ARROWS=228; 1791 +const SBM_GETPOS=225; 1792 +const SBM_GETRANGE=227; 1793 +const SBM_GETSCROLLINFO=234; 1794 +const SBM_SETPOS=224; 1795 +const SBM_SETRANGE=226; 1796 +const SBM_SETRANGEREDRAW=230; 1797 +const SBM_SETSCROLLINFO=233; 1798 +const STM_GETICON=369; 1799 +const STM_GETIMAGE=371; 1800 +const STM_SETICON=368; 1801 +const STM_SETIMAGE=370; 1802 +const STN_CLICKED=0; 1803 +const STN_DBLCLK=1; 1804 +const STN_DISABLE=3; 1805 +const STN_ENABLE=2; 1806 + 1807 +const DM_GETDEFID = WM_USER; 1808 +const DM_SETDEFID = WM_USER+1; 1809 +const DM_REPOSITION = WM_USER+2; 1810 + 1811 +const PSM_PAGEINFO = WM_USER+100; 1812 +const PSM_SHEETINFO = WM_USER+101; 1813 + 1814 +const PSI_SETACTIVE=1; 1815 +const PSI_KILLACTIVE=2; 1816 +const PSI_APPLY=3; 1817 +const PSI_RESET=4; 1818 +const PSI_HASHELP=5; 1819 +const PSI_HELP=6; 1820 +const PSI_CHANGED=1; 1821 +const PSI_GUISTART=2; 1822 +const PSI_REBOOT=3; 1823 +const PSI_GETSIBLINGS=4; 1824 + 1825 +const DCX_WINDOW=1; 1826 +const DCX_CACHE=2; 1827 +const DCX_PARENTCLIP=32; 1828 +const DCX_CLIPSIBLINGS=16; 1829 +const DCX_CLIPCHILDREN=8; 1830 +const DCX_NORESETATTRS=4; 1831 +const DCX_INTERSECTUPDATE=0x200; 1832 +const DCX_LOCKWINDOWUPDATE=0x400; 1833 +const DCX_EXCLUDERGN=64; 1834 +const DCX_INTERSECTRGN=128; 1835 +const DCX_VALIDATE=0x200000; 1836 + 1837 +const GMDI_GOINTOPOPUPS=2; 1838 +const GMDI_USEDISABLED=1; 1839 +const FKF_AVAILABLE=2; 1840 +const FKF_CLICKON=64; 1841 +const FKF_FILTERKEYSON=1; 1842 +const FKF_HOTKEYACTIVE=4; 1843 +const FKF_HOTKEYSOUND=16; 1844 +const FKF_CONFIRMHOTKEY=8; 1845 +const FKF_INDICATOR=32; 1846 +const HCF_HIGHCONTRASTON=1; 1847 +const HCF_AVAILABLE=2; 1848 +const HCF_HOTKEYACTIVE=4; 1849 +const HCF_CONFIRMHOTKEY=8; 1850 +const HCF_HOTKEYSOUND=16; 1851 +const HCF_INDICATOR=32; 1852 +const HCF_HOTKEYAVAILABLE=64; 1853 +const MKF_AVAILABLE=2; 1854 +const MKF_CONFIRMHOTKEY=8; 1855 +const MKF_HOTKEYACTIVE=4; 1856 +const MKF_HOTKEYSOUND=16; 1857 +const MKF_INDICATOR=32; 1858 +const MKF_MOUSEKEYSON=1; 1859 +const MKF_MODIFIERS=64; 1860 +const MKF_REPLACENUMBERS=128; 1861 +const SERKF_ACTIVE=8; // May be obsolete. Not in recent MS docs. 1862 +const SERKF_AVAILABLE=2; 1863 +const SERKF_INDICATOR=4; 1864 +const SERKF_SERIALKEYSON=1; 1865 +const SSF_AVAILABLE=2; 1866 +const SSF_SOUNDSENTRYON=1; 1867 +const SSTF_BORDER=2; 1868 +const SSTF_CHARS=1; 1869 +const SSTF_DISPLAY=3; 1870 +const SSTF_NONE=0; 1871 +const SSGF_DISPLAY=3; 1872 +const SSGF_NONE=0; 1873 +const SSWF_CUSTOM=4; 1874 +const SSWF_DISPLAY=3; 1875 +const SSWF_NONE=0; 1876 +const SSWF_TITLE=1; 1877 +const SSWF_WINDOW=2; 1878 +const SKF_AUDIBLEFEEDBACK=64; 1879 +const SKF_AVAILABLE=2; 1880 +const SKF_CONFIRMHOTKEY=8; 1881 +const SKF_HOTKEYACTIVE=4; 1882 +const SKF_HOTKEYSOUND=16; 1883 +const SKF_INDICATOR=32; 1884 +const SKF_STICKYKEYSON=1; 1885 +const SKF_TRISTATE=128; 1886 +const SKF_TWOKEYSOFF=256; 1887 +const TKF_AVAILABLE=2; 1888 +const TKF_CONFIRMHOTKEY=8; 1889 +const TKF_HOTKEYACTIVE=4; 1890 +const TKF_HOTKEYSOUND=16; 1891 +const TKF_TOGGLEKEYSON=1; 1892 +const MDITILE_SKIPDISABLED=2; 1893 +const MDITILE_HORIZONTAL=1; 1894 +const MDITILE_VERTICAL=0; 1895 + 1896 +enum { 1897 + VK_LBUTTON = 0x01, 1898 + VK_RBUTTON = 0x02, 1899 + VK_CANCEL = 0x03, 1900 + VK_MBUTTON = 0x04, 1901 + //static if (_WIN32_WINNT > = 0x500) { 1902 + VK_XBUTTON1 = 0x05, 1903 + VK_XBUTTON2 = 0x06, 1904 + //} 1905 + VK_BACK = 0x08, 1906 + VK_TAB = 0x09, 1907 + VK_CLEAR = 0x0C, 1908 + VK_RETURN = 0x0D, 1909 + VK_SHIFT = 0x10, 1910 + VK_CONTROL = 0x11, 1911 + VK_MENU = 0x12, 1912 + VK_PAUSE = 0x13, 1913 + VK_CAPITAL = 0x14, 1914 + VK_KANA = 0x15, 1915 + VK_HANGEUL = 0x15, 1916 + VK_HANGUL = 0x15, 1917 + VK_JUNJA = 0x17, 1918 + VK_FINAL = 0x18, 1919 + VK_HANJA = 0x19, 1920 + VK_KANJI = 0x19, 1921 + VK_ESCAPE = 0x1B, 1922 + VK_CONVERT = 0x1C, 1923 + VK_NONCONVERT = 0x1D, 1924 + VK_ACCEPT = 0x1E, 1925 + VK_MODECHANGE = 0x1F, 1926 + VK_SPACE = 0x20, 1927 + VK_PRIOR = 0x21, 1928 + VK_NEXT = 0x22, 1929 + VK_END = 0x23, 1930 + VK_HOME = 0x24, 1931 + VK_LEFT = 0x25, 1932 + VK_UP = 0x26, 1933 + VK_RIGHT = 0x27, 1934 + VK_DOWN = 0x28, 1935 + VK_SELECT = 0x29, 1936 + VK_PRINT = 0x2A, 1937 + VK_EXECUTE = 0x2B, 1938 + VK_SNAPSHOT = 0x2C, 1939 + VK_INSERT = 0x2D, 1940 + VK_DELETE = 0x2E, 1941 + VK_HELP = 0x2F, 1942 + VK_LWIN = 0x5B, 1943 + VK_RWIN = 0x5C, 1944 + VK_APPS = 0x5D, 1945 + VK_SLEEP = 0x5F, 1946 + VK_NUMPAD0 = 0x60, 1947 + VK_NUMPAD1 = 0x61, 1948 + VK_NUMPAD2 = 0x62, 1949 + VK_NUMPAD3 = 0x63, 1950 + VK_NUMPAD4 = 0x64, 1951 + VK_NUMPAD5 = 0x65, 1952 + VK_NUMPAD6 = 0x66, 1953 + VK_NUMPAD7 = 0x67, 1954 + VK_NUMPAD8 = 0x68, 1955 + VK_NUMPAD9 = 0x69, 1956 + VK_MULTIPLY = 0x6A, 1957 + VK_ADD = 0x6B, 1958 + VK_SEPARATOR = 0x6C, 1959 + VK_SUBTRACT = 0x6D, 1960 + VK_DECIMAL = 0x6E, 1961 + VK_DIVIDE = 0x6F, 1962 + VK_F1 = 0x70, 1963 + VK_F2 = 0x71, 1964 + VK_F3 = 0x72, 1965 + VK_F4 = 0x73, 1966 + VK_F5 = 0x74, 1967 + VK_F6 = 0x75, 1968 + VK_F7 = 0x76, 1969 + VK_F8 = 0x77, 1970 + VK_F9 = 0x78, 1971 + VK_F10 = 0x79, 1972 + VK_F11 = 0x7A, 1973 + VK_F12 = 0x7B, 1974 + VK_F13 = 0x7C, 1975 + VK_F14 = 0x7D, 1976 + VK_F15 = 0x7E, 1977 + VK_F16 = 0x7F, 1978 + VK_F17 = 0x80, 1979 + VK_F18 = 0x81, 1980 + VK_F19 = 0x82, 1981 + VK_F20 = 0x83, 1982 + VK_F21 = 0x84, 1983 + VK_F22 = 0x85, 1984 + VK_F23 = 0x86, 1985 + VK_F24 = 0x87, 1986 + VK_NUMLOCK = 0x90, 1987 + VK_SCROLL = 0x91, 1988 + VK_LSHIFT = 0xA0, 1989 + VK_RSHIFT = 0xA1, 1990 + VK_LCONTROL = 0xA2, 1991 + VK_RCONTROL = 0xA3, 1992 + VK_LMENU = 0xA4, 1993 + VK_RMENU = 0xA5, 1994 + //static if (_WIN32_WINNT > = 0x500) { 1995 + VK_BROWSER_BACK = 0xA6, 1996 + VK_BROWSER_FORWARD = 0xA7, 1997 + VK_BROWSER_REFRESH = 0xA8, 1998 + VK_BROWSER_STOP = 0xA9, 1999 + VK_BROWSER_SEARCH = 0xAA, 2000 + VK_BROWSER_FAVORITES = 0xAB, 2001 + VK_BROWSER_HOME = 0xAC, 2002 + VK_VOLUME_MUTE = 0xAD, 2003 + VK_VOLUME_DOWN = 0xAE, 2004 + VK_VOLUME_UP = 0xAF, 2005 + VK_MEDIA_NEXT_TRACK = 0xB0, 2006 + VK_MEDIA_PREV_TRACK = 0xB1, 2007 + VK_MEDIA_STOP = 0xB2, 2008 + VK_MEDIA_PLAY_PAUSE = 0xB3, 2009 + VK_LAUNCH_MAIL = 0xB4, 2010 + VK_LAUNCH_MEDIA_SELECT = 0xB5, 2011 + VK_LAUNCH_APP1 = 0xB6, 2012 + VK_LAUNCH_APP2 = 0xB7, 2013 + //} 2014 + VK_OEM_1 = 0xBA, 2015 + //static if (_WIN32_WINNT > = 0x500) { 2016 + VK_OEM_PLUS = 0xBB, 2017 + VK_OEM_COMMA = 0xBC, 2018 + VK_OEM_MINUS = 0xBD, 2019 + VK_OEM_PERIOD = 0xBE, 2020 + //} 2021 + VK_OEM_2 = 0xBF, 2022 + VK_OEM_3 = 0xC0, 2023 + VK_OEM_4 = 0xDB, 2024 + VK_OEM_5 = 0xDC, 2025 + VK_OEM_6 = 0xDD, 2026 + VK_OEM_7 = 0xDE, 2027 + VK_OEM_8 = 0xDF, 2028 + //static if (_WIN32_WINNT > = 0x500) { 2029 + VK_OEM_102 = 0xE2, 2030 + //} 2031 + VK_PROCESSKEY = 0xE5, 2032 + //static if (_WIN32_WINNT > = 0x500) { 2033 + VK_PACKET = 0xE7, 2034 + //} 2035 + VK_ATTN = 0xF6, 2036 + VK_CRSEL = 0xF7, 2037 + VK_EXSEL = 0xF8, 2038 + VK_EREOF = 0xF9, 2039 + VK_PLAY = 0xFA, 2040 + VK_ZOOM = 0xFB, 2041 + VK_NONAME = 0xFC, 2042 + VK_PA1 = 0xFD, 2043 + VK_OEM_CLEAR = 0xFE, 2044 +} 2045 + 2046 +const TME_HOVER=1; 2047 +const TME_LEAVE=2; 2048 +const TME_QUERY=0x40000000; 2049 +const TME_CANCEL=0x80000000; 2050 + 2051 +const HOVER_DEFAULT=0xFFFFFFFF; 2052 + 2053 +const MK_LBUTTON=1; 2054 +const MK_RBUTTON=2; 2055 +const MK_SHIFT=4; 2056 +const MK_CONTROL=8; 2057 +const MK_MBUTTON=16; 2058 +static if (_WIN32_WINNT >= 0x500) { 2059 +const MK_XBUTTON1=32; 2060 +const MK_XBUTTON2=64; 2061 +} 2062 +const TPM_CENTERALIGN=4; 2063 +const TPM_LEFTALIGN=0; 2064 +const TPM_RIGHTALIGN=8; 2065 +const TPM_LEFTBUTTON=0; 2066 +const TPM_RIGHTBUTTON=2; 2067 +const TPM_HORIZONTAL=0; 2068 +const TPM_VERTICAL=64; 2069 +const TPM_TOPALIGN=0; 2070 +const TPM_VCENTERALIGN=16; 2071 +const TPM_BOTTOMALIGN=32; 2072 +const TPM_NONOTIFY=128; 2073 +const TPM_RETURNCMD=256; 2074 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 2075 +const TPM_RECURSE=1; 2076 +} 2077 + 2078 +const HELP_COMMAND=0x102; 2079 +const HELP_CONTENTS=3; 2080 +const HELP_CONTEXT=1; 2081 +const HELP_CONTEXTPOPUP=8; 2082 +const HELP_FORCEFILE=9; 2083 +const HELP_HELPONHELP=4; 2084 +const HELP_INDEX=3; 2085 +const HELP_KEY=0x101; 2086 +const HELP_MULTIKEY=0x201; 2087 +const HELP_PARTIALKEY=0x105; 2088 +const HELP_QUIT=2; 2089 +const HELP_SETCONTENTS=5; 2090 +const HELP_SETINDEX=5; 2091 +const HELP_SETWINPOS=0x203; 2092 +const HELP_CONTEXTMENU=0xa; 2093 +const HELP_FINDER=0xb; 2094 +const HELP_WM_HELP=0xc; 2095 +const HELP_TCARD=0x8000; 2096 +const HELP_TCARD_DATA=16; 2097 +const HELP_TCARD_OTHER_CALLER=0x11; 2098 + 2099 +const IDH_NO_HELP=28440; 2100 +const IDH_MISSING_CONTEXT=28441; 2101 +const IDH_GENERIC_HELP_BUTTON=28442; 2102 +const IDH_OK=28443; 2103 +const IDH_CANCEL=28444; 2104 +const IDH_HELP=28445; 2105 + 2106 +const LB_CTLCODE=0; 2107 +const LB_OKAY=0; 2108 +const LB_ERR=-1; 2109 +const LB_ERRSPACE=-2; 2110 + 2111 +const CB_OKAY=0; 2112 +const CB_ERR=-1; 2113 +const CB_ERRSPACE=-2; 2114 + 2115 +const HIDE_WINDOW=0; 2116 + 2117 +const SHOW_OPENWINDOW=1; 2118 +const SHOW_ICONWINDOW=2; 2119 +const SHOW_FULLSCREEN=3; 2120 +const SHOW_OPENNOACTIVATE=4; 2121 + 2122 +const SW_PARENTCLOSING=1; 2123 +const SW_OTHERZOOM=2; 2124 +const SW_PARENTOPENING=3; 2125 +const SW_OTHERUNZOOM=4; 2126 + 2127 +const KF_EXTENDED=256; 2128 +const KF_DLGMODE=2048; 2129 +const KF_MENUMODE=4096; 2130 +const KF_ALTDOWN=8192; 2131 +const KF_REPEAT=16384; 2132 +const KF_UP=32768; 2133 + 2134 +const WSF_VISIBLE=1; 2135 + 2136 +const PWR_OK=1; 2137 +const PWR_FAIL=-1; 2138 +const PWR_SUSPENDREQUEST=1; 2139 +const PWR_SUSPENDRESUME=2; 2140 +const PWR_CRITICALRESUME=3; 2141 + 2142 +const NFR_ANSI=1; 2143 +const NFR_UNICODE=2; 2144 +const NF_QUERY=3; 2145 +const NF_REQUERY=4; 2146 + 2147 +const MENULOOP_WINDOW=0; 2148 +const MENULOOP_POPUP=1; 2149 + 2150 +const WMSZ_LEFT=1; 2151 +const WMSZ_RIGHT=2; 2152 +const WMSZ_TOP=3; 2153 +const WMSZ_TOPLEFT=4; 2154 +const WMSZ_TOPRIGHT=5; 2155 +const WMSZ_BOTTOM=6; 2156 +const WMSZ_BOTTOMLEFT=7; 2157 +const WMSZ_BOTTOMRIGHT=8; 2158 + 2159 +const HTERROR=-2; 2160 +const HTTRANSPARENT=-1; 2161 +const HTNOWHERE=0; 2162 +const HTCLIENT=1; 2163 +const HTCAPTION=2; 2164 +const HTSYSMENU=3; 2165 +const HTGROWBOX=4; 2166 +const HTSIZE=4; 2167 +const HTMENU=5; 2168 +const HTHSCROLL=6; 2169 +const HTVSCROLL=7; 2170 +const HTMINBUTTON=8; 2171 +const HTMAXBUTTON=9; 2172 +const HTREDUCE=8; 2173 +const HTZOOM=9; 2174 +const HTLEFT=10; 2175 +const HTSIZEFIRST=10; 2176 +const HTRIGHT=11; 2177 +const HTTOP=12; 2178 +const HTTOPLEFT=13; 2179 +const HTTOPRIGHT=14; 2180 +const HTBOTTOM=15; 2181 +const HTBOTTOMLEFT=16; 2182 +const HTBOTTOMRIGHT=17; 2183 +const HTSIZELAST=17; 2184 +const HTBORDER=18; 2185 +const HTOBJECT=19; 2186 +const HTCLOSE=20; 2187 +const HTHELP=21; 2188 + 2189 +const MA_ACTIVATE=1; 2190 +const MA_ACTIVATEANDEAT=2; 2191 +const MA_NOACTIVATE=3; 2192 +const MA_NOACTIVATEANDEAT=4; 2193 + 2194 +const SIZE_RESTORED=0; 2195 +const SIZE_MINIMIZED=1; 2196 +const SIZE_MAXIMIZED=2; 2197 +const SIZE_MAXSHOW=3; 2198 +const SIZE_MAXHIDE=4; 2199 + 2200 +const SIZENORMAL=0; 2201 +const SIZEICONIC=1; 2202 +const SIZEFULLSCREEN=2; 2203 +const SIZEZOOMSHOW=3; 2204 +const SIZEZOOMHIDE=4; 2205 + 2206 +const WVR_ALIGNTOP=16; 2207 +const WVR_ALIGNLEFT=32; 2208 +const WVR_ALIGNBOTTOM=64; 2209 +const WVR_ALIGNRIGHT=128; 2210 +const WVR_HREDRAW=256; 2211 +const WVR_VREDRAW=512; 2212 +const WVR_REDRAW=(WVR_HREDRAW|WVR_VREDRAW); 2213 +const WVR_VALIDRECTS=1024; 2214 + 2215 +const PRF_CHECKVISIBLE=1; 2216 +const PRF_NONCLIENT=2; 2217 +const PRF_CLIENT=4; 2218 +const PRF_ERASEBKGND=8; 2219 +const PRF_CHILDREN=16; 2220 +const PRF_OWNED=32; 2221 + 2222 +const IDANI_OPEN=1; 2223 +const IDANI_CLOSE=2; 2224 +const IDANI_CAPTION=3; 2225 + 2226 +const WPF_RESTORETOMAXIMIZED=2; 2227 +const WPF_SETMINPOSITION=1; 2228 + 2229 +const ODT_MENU=1; 2230 +const ODT_LISTBOX=2; 2231 +const ODT_COMBOBOX=3; 2232 +const ODT_BUTTON=4; 2233 +const ODT_STATIC=5; 2234 +const ODA_DRAWENTIRE=1; 2235 +const ODA_SELECT=2; 2236 +const ODA_FOCUS=4; 2237 +const ODS_SELECTED=1; 2238 +const ODS_GRAYED=2; 2239 +const ODS_DISABLED=4; 2240 +const ODS_CHECKED=8; 2241 +const ODS_FOCUS=16; 2242 +const ODS_DEFAULT=32; 2243 +const ODS_COMBOBOXEDIT=4096; 2244 + 2245 +const IDHOT_SNAPWINDOW=-1; 2246 +const IDHOT_SNAPDESKTOP=-2; 2247 + 2248 +const DBWF_LPARAMPOINTER=0x8000; 2249 +const DLGWINDOWEXTRA=30; 2250 +const MNC_IGNORE=0; 2251 +const MNC_CLOSE=1; 2252 +const MNC_EXECUTE=2; 2253 +const MNC_SELECT=3; 2254 +const DOF_EXECUTABLE=0x8001; 2255 +const DOF_DOCUMENT=0x8002; 2256 +const DOF_DIRECTORY=0x8003; 2257 +const DOF_MULTIPLE=0x8004; 2258 +const DOF_PROGMAN=1; 2259 +const DOF_SHELLDATA=2; 2260 +const DO_DROPFILE=0x454C4946; 2261 +const DO_PRINTFILE=0x544E5250; 2262 + 2263 +const SW_SCROLLCHILDREN=1; 2264 +const SW_INVALIDATE=2; 2265 +const SW_ERASE=4; 2266 + 2267 +const SC_SIZE=0xF000; 2268 +const SC_MOVE=0xF010; 2269 +const SC_MINIMIZE=0xF020; 2270 +const SC_ICON=0xf020; 2271 +const SC_MAXIMIZE=0xF030; 2272 +const SC_ZOOM=0xF030; 2273 +const SC_NEXTWINDOW=0xF040; 2274 +const SC_PREVWINDOW=0xF050; 2275 +const SC_CLOSE=0xF060; 2276 +const SC_VSCROLL=0xF070; 2277 +const SC_HSCROLL=0xF080; 2278 +const SC_MOUSEMENU=0xF090; 2279 +const SC_KEYMENU=0xF100; 2280 +const SC_ARRANGE=0xF110; 2281 +const SC_RESTORE=0xF120; 2282 +const SC_TASKLIST=0xF130; 2283 +const SC_SCREENSAVE=0xF140; 2284 +const SC_HOTKEY=0xF150; 2285 +const SC_DEFAULT=0xF160; 2286 +const SC_MONITORPOWER=0xF170; 2287 +const SC_CONTEXTHELP=0xF180; 2288 +const SC_SEPARATOR=0xF00F; 2289 + 2290 +const EC_LEFTMARGIN=1; 2291 +const EC_RIGHTMARGIN=2; 2292 +const EC_USEFONTINFO=0xffff; 2293 + 2294 +const DC_HASDEFID=0x534B; 2295 + 2296 +const DLGC_WANTARROWS=1; 2297 +const DLGC_WANTTAB=2; 2298 +const DLGC_WANTALLKEYS=4; 2299 +const DLGC_WANTMESSAGE=4; 2300 +const DLGC_HASSETSEL=8; 2301 +const DLGC_DEFPUSHBUTTON=16; 2302 +const DLGC_UNDEFPUSHBUTTON=32; 2303 +const DLGC_RADIOBUTTON=64; 2304 +const DLGC_WANTCHARS=128; 2305 +const DLGC_STATIC=256; 2306 +const DLGC_BUTTON=0x2000; 2307 + 2308 +const WA_INACTIVE=0; 2309 +const WA_ACTIVE=1; 2310 +const WA_CLICKACTIVE=2; 2311 + 2312 +const ICON_SMALL=0; 2313 +const ICON_BIG=1; 2314 +static if (_WIN32_WINNT >= 0x501) { 2315 +const ICON_SMALL2=2; 2316 +} 2317 + 2318 +const HBITMAP 2319 + HBMMENU_CALLBACK = cast(HBITMAP)-1, 2320 + HBMMENU_SYSTEM = cast(HBITMAP)1, 2321 + HBMMENU_MBAR_RESTORE = cast(HBITMAP)2, 2322 + HBMMENU_MBAR_MINIMIZE = cast(HBITMAP)3, 2323 + HBMMENU_MBAR_CLOSE = cast(HBITMAP)5, 2324 + HBMMENU_MBAR_CLOSE_D = cast(HBITMAP)6, 2325 + HBMMENU_MBAR_MINIMIZE_D = cast(HBITMAP)7, 2326 + HBMMENU_POPUP_CLOSE = cast(HBITMAP)8, 2327 + HBMMENU_POPUP_RESTORE = cast(HBITMAP)9, 2328 + HBMMENU_POPUP_MAXIMIZE = cast(HBITMAP)10, 2329 + HBMMENU_POPUP_MINIMIZE = cast(HBITMAP)11; 2330 + 2331 +const MOD_ALT=1; 2332 +const MOD_CONTROL=2; 2333 +const MOD_SHIFT=4; 2334 +const MOD_WIN=8; 2335 +const MOD_IGNORE_ALL_MODIFIER=1024; 2336 +const MOD_ON_KEYUP=2048; 2337 +const MOD_RIGHT=16384; 2338 +const MOD_LEFT=32768; 2339 + 2340 +const LLKHF_EXTENDED=(KF_EXTENDED >> 8); 2341 +const LLKHF_INJECTED=0x00000010; 2342 +const LLKHF_ALTDOWN=(KF_ALTDOWN >> 8); 2343 +const LLKHF_UP=(KF_UP >> 8); 2344 + 2345 +static if (WINVER >= 0x500) { 2346 +const FLASHW_STOP=0; 2347 +const FLASHW_CAPTION=1; 2348 +const FLASHW_TRAY=2; 2349 +const FLASHW_ALL=(FLASHW_CAPTION|FLASHW_TRAY); 2350 +const FLASHW_TIMER=4; 2351 +const FLASHW_TIMERNOFG=12; 2352 +} 2353 + 2354 +const CURSOR_SHOWING=0x00000001; 2355 +const WS_ACTIVECAPTION=0x00000001; 2356 +static if (_WIN32_WINNT >= 0x403) { 2357 +const INPUT_MOUSE=0x00000000; 2358 +const INPUT_KEYBOARD=0x00000001; 2359 +const INPUT_HARDWARE=0x00000002; 2360 +} 2361 +static if (WINVER >= 0x400) { 2362 +const ENDSESSION_LOGOFF = 0x80000000; 2363 +} 2364 + 2365 +static if (WINVER >= 0x500) { 2366 +const CHILDID_SELF = 0; 2367 +const OBJID_WINDOW = 0x00000000; 2368 +const OBJID_SYSMENU = 0xFFFFFFFF; 2369 +const OBJID_TITLEBAR = 0xFFFFFFFE; 2370 +const OBJID_MENU = 0xFFFFFFFD; 2371 +const OBJID_CLIENT = 0xFFFFFFFC; 2372 +const OBJID_VSCROLL = 0xFFFFFFFB; 2373 +const OBJID_HSCROLL = 0xFFFFFFFA; 2374 +const OBJID_SIZEGRIP = 0xFFFFFFF9; 2375 +const OBJID_CARET = 0xFFFFFFF8; 2376 +const OBJID_CURSOR = 0xFFFFFFF7; 2377 +const OBJID_ALERT = 0xFFFFFFF6; 2378 +const OBJID_SOUND = 0xFFFFFFF5; 2379 + 2380 +const GUI_CARETBLINKING = 0x00000001; 2381 +const GUI_INMOVESIZE = 0x00000002; 2382 +const GUI_INMENUMODE = 0x00000004; 2383 +const GUI_SYSTEMMENUMODE = 0x00000008; 2384 +const GUI_POPUPMENUMODE = 0x00000010; 2385 + 2386 +static if (_WIN32_WINNT >= 0x501) { 2387 +const GUI_16BITTASK = 0x00000020; 2388 +} 2389 +const WINEVENT_OUTOFCONTEXT=0x0000; 2390 +const WINEVENT_SKIPOWNTHREAD=0x0001; 2391 +const WINEVENT_SKIPOWNPROCESS=0x0002; 2392 +const WINEVENT_INCONTEXT=0x0004; 2393 +const AW_HOR_POSITIVE=0x00000001; 2394 +const AW_HOR_NEGATIVE=0x00000002; 2395 +const AW_VER_POSITIVE=0x00000004; 2396 +const AW_VER_NEGATIVE=0x00000008; 2397 +const AW_CENTER=0x00000010; 2398 +const AW_HIDE=0x00010000; 2399 +const AW_ACTIVATE=0x00020000; 2400 +const AW_SLIDE=0x00040000; 2401 +const AW_BLEND=0x00080000; 2402 +const DEVICE_NOTIFY_WINDOW_HANDLE=0x00000000; 2403 +const DEVICE_NOTIFY_SERVICE_HANDLE=0x00000001; 2404 + 2405 +static if (_WIN32_WINNT >= 0x501) { 2406 +const DEVICE_NOTIFY_ALL_INTERFACE_CLASSES=0x00000004; 2407 +} 2408 + 2409 +const EVENT_MIN = 0x00000001; 2410 +const EVENT_SYSTEM_SOUND = 0x00000001; 2411 +const EVENT_SYSTEM_ALERT = 0x00000002; 2412 +const EVENT_SYSTEM_FOREGROUND = 0x00000003; 2413 +const EVENT_SYSTEM_MENUSTART = 0x00000004; 2414 +const EVENT_SYSTEM_MENUEND = 0x00000005; 2415 +const EVENT_SYSTEM_MENUPOPUPSTART = 0x00000006; 2416 +const EVENT_SYSTEM_MENUPOPUPEND = 0x00000007; 2417 +const EVENT_SYSTEM_CAPTURESTART = 0x00000008; 2418 +const EVENT_SYSTEM_CAPTUREEND = 0x00000009; 2419 +const EVENT_SYSTEM_MOVESIZESTART = 0x0000000a; 2420 +const EVENT_SYSTEM_MOVESIZEEND = 0x0000000b; 2421 +const EVENT_SYSTEM_CONTEXTHELPSTART = 0x0000000c; 2422 +const EVENT_SYSTEM_CONTEXTHELPEND = 0x0000000d; 2423 +const EVENT_SYSTEM_DRAGDROPSTART = 0x0000000e; 2424 +const EVENT_SYSTEM_DRAGDROPEND = 0x0000000f; 2425 +const EVENT_SYSTEM_DIALOGSTART = 0x00000010; 2426 +const EVENT_SYSTEM_DIALOGEND = 0x00000011; 2427 +const EVENT_SYSTEM_SCROLLINGSTART = 0x00000012; 2428 +const EVENT_SYSTEM_SCROLLINGEND = 0x00000013; 2429 +const EVENT_SYSTEM_SWITCHSTART = 0x00000014; 2430 +const EVENT_SYSTEM_SWITCHEND = 0x00000015; 2431 +const EVENT_SYSTEM_MINIMIZESTART = 0x00000016; 2432 +const EVENT_SYSTEM_MINIMIZEEND = 0x00000017; 2433 + 2434 +const EVENT_OBJECT_CREATE = 0x00008000; 2435 +const EVENT_OBJECT_DESTROY = 0x00008001; 2436 +const EVENT_OBJECT_SHOW = 0x00008002; 2437 +const EVENT_OBJECT_HIDE = 0x00008003; 2438 +const EVENT_OBJECT_REORDER = 0x00008004; 2439 +const EVENT_OBJECT_FOCUS = 0x00008005; 2440 +const EVENT_OBJECT_SELECTION = 0x00008006; 2441 +const EVENT_OBJECT_SELECTIONADD = 0x00008007; 2442 +const EVENT_OBJECT_SELECTIONREMOVE = 0x00008008; 2443 +const EVENT_OBJECT_SELECTIONWITHIN = 0x00008009; 2444 +const EVENT_OBJECT_STATECHANGE = 0x0000800a; 2445 +const EVENT_OBJECT_LOCATIONCHANGE = 0x0000800b; 2446 +const EVENT_OBJECT_NAMECHANGE = 0x0000800c; 2447 +const EVENT_OBJECT_DESCRIPTIONCHANGE = 0x0000800d; 2448 +const EVENT_OBJECT_VALUECHANGE = 0x0000800e; 2449 +const EVENT_OBJECT_PARENTCHANGE = 0x0000800f; 2450 +const EVENT_OBJECT_HELPCHANGE = 0x00008010; 2451 +const EVENT_OBJECT_DEFACTIONCHANGE = 0x00008011; 2452 +const EVENT_OBJECT_ACCELERATORCHANGE = 0x00008012; 2453 + 2454 +static if (_WIN32_WINNT >= 0x501) { 2455 +const EVENT_CONSOLE_CARET = 0x00004001; 2456 +const EVENT_CONSOLE_UPDATE_REGION = 0x00004002; 2457 +const EVENT_CONSOLE_UPDATE_SIMPLE = 0x00004003; 2458 +const EVENT_CONSOLE_UPDATE_SCROLL = 0x00004004; 2459 +const EVENT_CONSOLE_LAYOUT = 0x00004005; 2460 +const EVENT_CONSOLE_START_APPLICATION = 0x00004006; 2461 +const EVENT_CONSOLE_END_APPLICATION = 0x00004007; 2462 + 2463 +const CONSOLE_CARET_SELECTION = 0x00000001; 2464 +const CONSOLE_CARET_VISIBLE = 0x00000002; 2465 + 2466 +const CONSOLE_APPLICATION_16BIT = 0x00000001; 2467 + 2468 +} 2469 +const EVENT_MAX=0x7fffffff; 2470 + 2471 +}//(WINVER >= 0x500) 2472 + 2473 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { 2474 +const DWORD ASFW_ANY = -1; 2475 +const LSFW_LOCK = 1; 2476 +const LSFW_UNLOCK = 2; 2477 +} 2478 + 2479 +static if (_WIN32_WINNT >= 0x500) { 2480 +const LWA_COLORKEY=0x01; 2481 +const LWA_ALPHA=0x02; 2482 +const ULW_COLORKEY=0x01; 2483 +const ULW_ALPHA=0x02; 2484 +const ULW_OPAQUE=0x04; 2485 +} 2486 + 2487 +const GA_PARENT = 1; 2488 +const GA_ROOT = 2; 2489 +const GA_ROOTOWNER = 3; 2490 + 2491 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 2492 + 2493 +const MONITOR_DEFAULTTONULL = 0; 2494 +const MONITOR_DEFAULTTOPRIMARY = 1; 2495 +const MONITOR_DEFAULTTONEAREST = 2; 2496 +const MONITORINFOF_PRIMARY = 1; 2497 + 2498 +const EDS_RAWMODE = 0x00000002; 2499 + 2500 +const ISMEX_NOSEND = 0x00000000; 2501 +const ISMEX_SEND = 0x00000001; 2502 +const ISMEX_NOTIFY = 0x00000002; 2503 +const ISMEX_CALLBACK = 0x00000004; 2504 +const ISMEX_REPLIED = 0x00000008; 2505 +} 2506 + 2507 +static if (_WIN32_WINNT >= 0x500) { 2508 +const GR_GDIOBJECTS = 0; 2509 +const GR_USEROBJECTS = 1; 2510 +} 2511 + 2512 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { 2513 +const GMMP_USE_DISPLAY_POINTS = 1; 2514 +const GMMP_USE_HIGH_RESOLUTION_POINTS = 2; 2515 +} 2516 + 2517 +static if (_WIN32_WINNT >= 0x501) { 2518 +const PW_CLIENTONLY = 0x00000001; 2519 +const RIM_INPUT = 0x00000000; 2520 +const RIM_INPUTSINK = 0x00000001; 2521 +const RIM_TYPEMOUSE = 0x00000000; 2522 +const RIM_TYPEKEYBOARD = 0x00000001; 2523 +const RIM_TYPEHID = 0x00000002; 2524 +const MOUSE_MOVE_RELATIVE = 0x00000000; 2525 +const MOUSE_MOVE_ABSOLUTE = 0x00000001; 2526 +const MOUSE_VIRTUAL_DESKTOP = 0x00000002; 2527 +const MOUSE_ATTRIBUTES_CHANGED = 0x00000004; 2528 +const RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001; 2529 +const RI_MOUSE_LEFT_BUTTON_UP = 0x0002; 2530 +const RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004; 2531 +const RI_MOUSE_RIGHT_BUTTON_UP = 0x0008; 2532 +const RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010; 2533 +const RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020; 2534 +const RI_MOUSE_BUTTON_1_DOWN = RI_MOUSE_LEFT_BUTTON_DOWN; 2535 +const RI_MOUSE_BUTTON_1_UP = RI_MOUSE_LEFT_BUTTON_UP; 2536 +const RI_MOUSE_BUTTON_2_DOWN = RI_MOUSE_RIGHT_BUTTON_DOWN; 2537 +const RI_MOUSE_BUTTON_2_UP = RI_MOUSE_RIGHT_BUTTON_UP; 2538 +const RI_MOUSE_BUTTON_3_DOWN = RI_MOUSE_MIDDLE_BUTTON_DOWN; 2539 +const RI_MOUSE_BUTTON_3_UP = RI_MOUSE_MIDDLE_BUTTON_UP; 2540 +const RI_MOUSE_BUTTON_4_DOWN = 0x0040; 2541 +const RI_MOUSE_BUTTON_4_UP = 0x0080; 2542 +const RI_MOUSE_BUTTON_5_DOWN = 0x0100; 2543 +const RI_MOUSE_BUTTON_5_UP = 0x0200; 2544 +const RI_MOUSE_WHEEL = 0x0400; 2545 +const KEYBOARD_OVERRUN_MAKE_CODE = 0x00ff; 2546 +const RI_KEY_MAKE = 0x0000; 2547 +const RI_KEY_BREAK = 0x0001; 2548 +const RI_KEY_E0 = 0x0002; 2549 +const RI_KEY_E1 = 0x0004; 2550 +const RI_KEY_TERMSRV_SET_LED = 0x0008; 2551 +const RI_KEY_TERMSRV_SHADOW = 0x0010; 2552 + 2553 +const RID_INPUT = 0x10000003; 2554 +const RID_HEADER = 0x10000005; 2555 + 2556 +const RIDI_PREPARSEDDATA = 0x20000005; 2557 +const RIDI_DEVICENAME = 0x20000007; 2558 +const RIDI_DEVICEINFO = 0x2000000b; 2559 + 2560 +const RIDEV_REMOVE = 0x00000001; 2561 +const RIDEV_EXCLUDE = 0x00000010; 2562 +const RIDEV_PAGEONLY = 0x00000020; 2563 +const RIDEV_NOLEGACY = 0x00000030; 2564 +const RIDEV_INPUTSINK = 0x00000100; 2565 +const RIDEV_CAPTUREMOUSE = 0x00000200; 2566 +const RIDEV_NOHOTKEYS = 0x00000200; 2567 +const RIDEV_APPKEYS = 0x00000400; 2568 +} 2569 + 2570 +// Callbacks 2571 +// --------- 2572 +extern (Windows) { 2573 + alias BOOL function (HWND, UINT, WPARAM, LPARAM) DLGPROC; 2574 + alias void function (HWND, UINT, UINT, DWORD) TIMERPROC; 2575 + alias BOOL function (HDC, LPARAM, int) GRAYSTRINGPROC; 2576 + alias LRESULT function (int, WPARAM, LPARAM) HOOKPROC; 2577 + alias BOOL function (HWND, LPCSTR, HANDLE) PROPENUMPROCA; 2578 + alias BOOL function (HWND, LPCWSTR, HANDLE) PROPENUMPROCW; 2579 + alias BOOL function (HWND, LPSTR, HANDLE, DWORD) PROPENUMPROCEXA; 2580 + alias BOOL function (HWND, LPWSTR, HANDLE, DWORD) PROPENUMPROCEXW; 2581 + alias int function (LPSTR, int, int, int) EDITWORDBREAKPROCA; 2582 + alias int function (LPWSTR, int, int, int) EDITWORDBREAKPROCW; 2583 + alias LRESULT function (HWND, UINT, WPARAM, LPARAM) WNDPROC; 2584 + alias BOOL function (HDC, LPARAM, WPARAM, int, int) DRAWSTATEPROC; 2585 + alias BOOL function (HWND, LPARAM) WNDENUMPROC; 2586 + alias BOOL function (HWND, LPARAM) ENUMWINDOWSPROC; 2587 + alias void function (LPHELPINFO) MSGBOXCALLBACK; 2588 + 2589 + static if (WINVER >= 0x410) { 2590 + alias BOOL function (HMONITOR, HDC, LPRECT, LPARAM) MONITORENUMPROC; 2591 + } 2592 + alias BOOL function (LPSTR, LPARAM) NAMEENUMPROCA; 2593 + alias BOOL function (LPWSTR, LPARAM) NAMEENUMPROCW; 2594 + alias void function (HWND, UINT, DWORD, LRESULT) SENDASYNCPROC; 2595 + 2596 + alias NAMEENUMPROCA DESKTOPENUMPROCA; 2597 + alias NAMEENUMPROCW DESKTOPENUMPROCW; 2598 + alias NAMEENUMPROCA WINSTAENUMPROCA; 2599 + alias NAMEENUMPROCW WINSTAENUMPROCW; 2600 +} 2601 + 2602 +alias HANDLE HHOOK; 41 2603 alias HANDLE HDWP; 42 -alias VOID MENUTEMPLATEA; 43 -alias VOID MENUTEMPLATEW; 44 -// #ifdef UNICODE 45 -alias MENUTEMPLATEW MENUTEMPLATE; 46 -// #else 47 -// ... 48 -// #endif // UNICODE 49 -alias PVOID LPMENUTEMPLATEA; 50 -alias PVOID LPMENUTEMPLATEW; 51 -// #ifdef UNICODE 52 -alias LPMENUTEMPLATEW LPMENUTEMPLATE; 53 -// #else 54 -// ... 55 -// #endif // UNICODE 56 - 57 -extern(Windows) alias LRESULT function(HWND, UINT, WPARAM, LPARAM) WNDPROC; 58 - 59 -// #ifdef STRICT 60 - 61 -extern(Windows) alias INT_PTR function(HWND, UINT, WPARAM, LPARAM) DLGPROC; 62 -extern(Windows) alias VOID function(HWND, UINT, UINT_PTR, DWORD) TIMERPROC; 63 -extern(Windows) alias BOOL function(HDC, LPARAM, int) GRAYSTRINGPROC; 64 -extern(Windows) alias BOOL function(HWND, LPARAM) WNDENUMPROC; 65 -extern(Windows) alias LRESULT function(int code, WPARAM wParam, LPARAM lParam) HOOKPROC; 66 -extern(Windows) alias VOID function(HWND, UINT, ULONG_PTR, LRESULT) SENDASYNCPROC; 67 - 68 -extern(Windows) alias BOOL function(HWND, LPCSTR, HANDLE) PROPENUMPROCA; 69 -extern(Windows) alias BOOL function(HWND, LPCWSTR, HANDLE) PROPENUMPROCW; 70 - 71 -extern(Windows) alias BOOL function(HWND, LPSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXA; 72 -extern(Windows) alias BOOL function(HWND, LPWSTR, HANDLE, ULONG_PTR) PROPENUMPROCEXW; 73 - 74 -extern(Windows) alias int function(LPSTR lpch, int ichCurrent, int cch, int code) EDITWORDBREAKPROCA; 75 -extern(Windows) alias int function(LPWSTR lpch, int ichCurrent, int cch, int code) EDITWORDBREAKPROCW; 76 - 77 -// #if(WINVER >= 0x0400) 78 -extern(Windows) alias BOOL function(HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy) DRAWSTATEPROC; 79 -// #endif /* WINVER >= 0x0400 */ 80 -// #else /* !STRICT */ 81 - 82 -// ... 83 - 84 -// ... 85 - 86 -// ... 87 - 88 -// ... 89 - 90 -// #if(WINVER >= 0x0400) 91 -// ... 92 -// #endif /* WINVER >= 0x0400 */ 93 -// #endif /* !STRICT */ 94 - 95 -// #ifdef UNICODE 96 -alias PROPENUMPROCW PROPENUMPROC; 97 -alias PROPENUMPROCEXW PROPENUMPROCEX; 98 -alias EDITWORDBREAKPROCW EDITWORDBREAKPROC; 99 -// #else /* !UNICODE */ 100 -// ... 101 -// #endif /* UNICODE */ 102 - 103 -// #ifdef STRICT 104 - 105 -extern(Windows) alias BOOL function(LPSTR, LPARAM) NAMEENUMPROCA; 106 -extern(Windows) alias BOOL function(LPWSTR, LPARAM) NAMEENUMPROCW; 107 - 108 -alias NAMEENUMPROCA WINSTAENUMPROCA; 109 -alias NAMEENUMPROCA DESKTOPENUMPROCA; 110 -alias NAMEENUMPROCW WINSTAENUMPROCW; 111 -alias NAMEENUMPROCW DESKTOPENUMPROCW; 112 - 113 -// #else /* !STRICT */ 114 - 115 -// ... 116 - 117 -// #endif /* !STRICT */ 118 - 119 -// #ifdef UNICODE 120 -alias WINSTAENUMPROCW WINSTAENUMPROC; 121 -alias DESKTOPENUMPROCW DESKTOPENUMPROC; 122 - 123 -// #else /* !UNICODE */ 124 -// ... 125 - 126 -// #endif /* UNICODE */ 127 - 128 -bit IS_INTRESOURCE(LPTSTR _r){ return ((cast(ULONG_PTR)(_r) >> 16) == 0); } 129 -LPSTR MAKEINTRESOURCEA(WORD i){ return cast(LPSTR)(cast(ULONG_PTR)(cast(WORD)(i))); } 130 -LPWSTR MAKEINTRESOURCEW(WORD i){ return cast(LPWSTR)(cast(ULONG_PTR)(cast(WORD)(i))); } 131 -// #ifdef UNICODE 132 -alias MAKEINTRESOURCEW MAKEINTRESOURCE; 133 -// #else 134 -// #... 135 -// #endif // !UNICODE 136 - 137 -// #ifndef NORESOURCE 138 - 139 -const LPTSTR RT_CURSOR = cast(LPTSTR)(1); 140 -const LPTSTR RT_BITMAP = cast(LPTSTR)(2); 141 -const LPTSTR RT_ICON = cast(LPTSTR)(3); 142 -const LPTSTR RT_MENU = cast(LPTSTR)(4); 143 -const LPTSTR RT_DIALOG = cast(LPTSTR)(5); 144 -const LPTSTR RT_STRING = cast(LPTSTR)(6); 145 -const LPTSTR RT_FONTDIR = cast(LPTSTR)(7); 146 -const LPTSTR RT_FONT = cast(LPTSTR)(8); 147 -const LPTSTR RT_ACCELERATOR = cast(LPTSTR)(9); 148 -const LPTSTR RT_RCDATA = cast(LPTSTR)(10); 149 -const LPTSTR RT_MESSAGETABLE = cast(LPTSTR)(11); 150 - 151 -enum : uint { DIFFERENCE = 11 } 152 -const LPTSTR RT_GROUP_CURSOR = cast(LPTSTR)(cast(ULONG_PTR)RT_CURSOR + DIFFERENCE); 153 -const LPTSTR RT_GROUP_ICON = cast(LPTSTR)(cast(ULONG_PTR)RT_ICON + DIFFERENCE); 154 -const LPTSTR RT_VERSION = cast(LPTSTR)(16); 155 -const LPTSTR RT_DLGINCLUDE = cast(LPTSTR)(17); 156 -// #if(WINVER >= 0x0400) 157 -const LPTSTR RT_PLUGPLAY = cast(LPTSTR)(19); 158 -const LPTSTR RT_VXD = cast(LPTSTR)(20); 159 -const LPTSTR RT_ANICURSOR = cast(LPTSTR)(21); 160 -const LPTSTR RT_ANIICON = cast(LPTSTR)(22); 161 -// #endif /* WINVER >= 0x0400 */ 162 -const LPTSTR RT_HTML = cast(LPTSTR)(23); 163 -// #ifdef RC_INVOKED 164 -// #... 165 -// #... 166 -// #... 167 -// #... 168 -// #... 169 -// #... 170 -// #else /* RC_INVOKED */ 171 -const LPTSTR RT_MANIFEST = cast(LPTSTR)(24); 172 -const LPTSTR CREATEPROCESS_MANIFEST_RESOURCE_ID = cast(LPTSTR)( 1); 173 -const LPTSTR ISOLATIONAWARE_MANIFEST_RESOURCE_ID = cast(LPTSTR)(2); 174 -const LPTSTR ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID = cast(LPTSTR)(3); 175 -const LPTSTR MINIMUM_RESERVED_MANIFEST_RESOURCE_ID = cast(LPTSTR)( 1 ); 176 -const LPTSTR MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID = cast(LPTSTR)(16 ); 177 -// #endif /* RC_INVOKED */ 178 - 179 -// #endif /* !NORESOURCE */ 180 - 181 -extern(Windows) export int wvsprintfA( 182 - LPSTR, 183 - LPCSTR, 184 - va_list arglist); 185 -extern(Windows) export int wvsprintfW( 186 - LPWSTR, 187 - LPCWSTR, 188 - va_list arglist); 189 -// #ifdef UNICODE 190 -alias wvsprintfW wvsprintf; 191 -// #else 192 -// #... 193 -// #endif // !UNICODE 194 - 195 -extern(C) export int wsprintfA( 196 - LPSTR, 197 - LPCSTR, 198 - ...); 199 -extern(C) export int wsprintfW( 200 - LPWSTR, 201 - LPCWSTR, 202 - ...); 203 -// #ifdef UNICODE 204 -alias wsprintfW wsprintf; 205 -// #else 206 -// #... 207 -// #endif // !UNICODE 208 - 209 -const LPWSTR SETWALLPAPER_DEFAULT = cast(LPWSTR)-1; 210 - 211 -// #ifndef NOSCROLL 212 - 213 -enum : uint { SB_HORZ = 0 } 214 -enum : uint { SB_VERT = 1 } 215 -enum : uint { SB_CTL = 2 } 216 -enum : uint { SB_BOTH = 3 } 217 - 218 -enum : uint { SB_LINEUP = 0 } 219 -enum : uint { SB_LINELEFT = 0 } 220 -enum : uint { SB_LINEDOWN = 1 } 221 -enum : uint { SB_LINERIGHT = 1 } 222 -enum : uint { SB_PAGEUP = 2 } 223 -enum : uint { SB_PAGELEFT = 2 } 224 -enum : uint { SB_PAGEDOWN = 3 } 225 -enum : uint { SB_PAGERIGHT = 3 } 226 -enum : uint { SB_THUMBPOSITION = 4 } 227 -enum : uint { SB_THUMBTRACK = 5 } 228 -enum : uint { SB_TOP = 6 } 229 -enum : uint { SB_LEFT = 6 } 230 -enum : uint { SB_BOTTOM = 7 } 231 -enum : uint { SB_RIGHT = 7 } 232 -enum : uint { SB_ENDSCROLL = 8 } 233 - 234 -// #endif /* !NOSCROLL */ 235 - 236 -// #ifndef NOSHOWWINDOW 237 - 238 -enum : uint { SW_HIDE = 0 } 239 -enum : uint { SW_SHOWNORMAL = 1 } 240 -enum : uint { SW_NORMAL = 1 } 241 -enum : uint { SW_SHOWMINIMIZED = 2 } 242 -enum : uint { SW_SHOWMAXIMIZED = 3 } 243 -enum : uint { SW_MAXIMIZE = 3 } 244 -enum : uint { SW_SHOWNOACTIVATE = 4 } 245 -enum : uint { SW_SHOW = 5 } 246 -enum : uint { SW_MINIMIZE = 6 } 247 -enum : uint { SW_SHOWMINNOACTIVE = 7 } 248 -enum : uint { SW_SHOWNA = 8 } 249 -enum : uint { SW_RESTORE = 9 } 250 -enum : uint { SW_SHOWDEFAULT = 10 } 251 -enum : uint { SW_FORCEMINIMIZE = 11 } 252 -enum : uint { SW_MAX = 11 } 253 - 254 -enum : uint { HIDE_WINDOW = 0 } 255 -enum : uint { SHOW_OPENWINDOW = 1 } 256 -enum : uint { SHOW_ICONWINDOW = 2 } 257 -enum : uint { SHOW_FULLSCREEN = 3 } 258 -enum : uint { SHOW_OPENNOACTIVATE = 4 } 259 - 260 -enum : uint { SW_PARENTCLOSING = 1 } 261 -enum : uint { SW_OTHERZOOM = 2 } 262 -enum : uint { SW_PARENTOPENING = 3 } 263 -enum : uint { SW_OTHERUNZOOM = 4 } 264 - 265 -// #endif /* !NOSHOWWINDOW */ 266 - 267 -// #if(WINVER >= 0x0500) 268 - 269 -enum : uint { AW_HOR_POSITIVE = 0x00000001 } 270 -enum : uint { AW_HOR_NEGATIVE = 0x00000002 } 271 -enum : uint { AW_VER_POSITIVE = 0x00000004 } 272 -enum : uint { AW_VER_NEGATIVE = 0x00000008 } 273 -enum : uint { AW_CENTER = 0x00000010 } 274 -enum : uint { AW_HIDE = 0x00010000 } 275 -enum : uint { AW_ACTIVATE = 0x00020000 } 276 -enum : uint { AW_SLIDE = 0x00040000 } 277 -enum : uint { AW_BLEND = 0x00080000 } 278 - 279 -// #endif /* WINVER >= 0x0500 */ 280 - 281 -enum : uint { KF_EXTENDED = 0x0100 } 282 -enum : uint { KF_DLGMODE = 0x0800 } 283 -enum : uint { KF_MENUMODE = 0x1000 } 284 -enum : uint { KF_ALTDOWN = 0x2000 } 285 -enum : uint { KF_REPEAT = 0x4000 } 286 -enum : uint { KF_UP = 0x8000 } 287 - 288 -// #ifndef NOVIRTUALKEYCODES 289 - 290 -enum : uint { VK_LBUTTON = 0x01 } 291 -enum : uint { VK_RBUTTON = 0x02 } 292 -enum : uint { VK_CANCEL = 0x03 } 293 -enum : uint { VK_MBUTTON = 0x04 } 294 - 295 -// #if(_WIN32_WINNT >= 0x0500) 296 -enum : uint { VK_XBUTTON1 = 0x05 } 297 -enum : uint { VK_XBUTTON2 = 0x06 } 298 -// #endif /* _WIN32_WINNT >= 0x0500 */ 299 - 300 -enum : uint { VK_BACK = 0x08 } 301 -enum : uint { VK_TAB = 0x09 } 302 - 303 -enum : uint { VK_CLEAR = 0x0C } 304 -enum : uint { VK_RETURN = 0x0D } 305 - 306 -enum : uint { VK_SHIFT = 0x10 } 307 -enum : uint { VK_CONTROL = 0x11 } 308 -enum : uint { VK_MENU = 0x12 } 309 -enum : uint { VK_PAUSE = 0x13 } 310 -enum : uint { VK_CAPITAL = 0x14 } 311 - 312 -enum : uint { VK_KANA = 0x15 } 313 -enum : uint { VK_HANGEUL = 0x15 } 314 -enum : uint { VK_HANGUL = 0x15 } 315 -enum : uint { VK_JUNJA = 0x17 } 316 -enum : uint { VK_FINAL = 0x18 } 317 -enum : uint { VK_HANJA = 0x19 } 318 -enum : uint { VK_KANJI = 0x19 } 319 - 320 -enum : uint { VK_ESCAPE = 0x1B } 321 - 322 -enum : uint { VK_CONVERT = 0x1C } 323 -enum : uint { VK_NONCONVERT = 0x1D } 324 -enum : uint { VK_ACCEPT = 0x1E } 325 -enum : uint { VK_MODECHANGE = 0x1F } 326 - 327 -enum : uint { VK_SPACE = 0x20 } 328 -enum : uint { VK_PRIOR = 0x21 } 329 -enum : uint { VK_NEXT = 0x22 } 330 -enum : uint { VK_END = 0x23 } 331 -enum : uint { VK_HOME = 0x24 } 332 -enum : uint { VK_LEFT = 0x25 } 333 -enum : uint { VK_UP = 0x26 } 334 -enum : uint { VK_RIGHT = 0x27 } 335 -enum : uint { VK_DOWN = 0x28 } 336 -enum : uint { VK_SELECT = 0x29 } 337 -enum : uint { VK_PRINT = 0x2A } 338 -enum : uint { VK_EXECUTE = 0x2B } 339 -enum : uint { VK_SNAPSHOT = 0x2C } 340 -enum : uint { VK_INSERT = 0x2D } 341 -enum : uint { VK_DELETE = 0x2E } 342 -enum : uint { VK_HELP = 0x2F } 343 - 344 -enum : uint { VK_LWIN = 0x5B } 345 -enum : uint { VK_RWIN = 0x5C } 346 -enum : uint { VK_APPS = 0x5D } 347 - 348 -enum : uint { VK_SLEEP = 0x5F } 349 - 350 -enum : uint { VK_NUMPAD0 = 0x60 } 351 -enum : uint { VK_NUMPAD1 = 0x61 } 352 -enum : uint { VK_NUMPAD2 = 0x62 } 353 -enum : uint { VK_NUMPAD3 = 0x63 } 354 -enum : uint { VK_NUMPAD4 = 0x64 } 355 -enum : uint { VK_NUMPAD5 = 0x65 } 356 -enum : uint { VK_NUMPAD6 = 0x66 } 357 -enum : uint { VK_NUMPAD7 = 0x67 } 358 -enum : uint { VK_NUMPAD8 = 0x68 } 359 -enum : uint { VK_NUMPAD9 = 0x69 } 360 -enum : uint { VK_MULTIPLY = 0x6A } 361 -enum : uint { VK_ADD = 0x6B } 362 -enum : uint { VK_SEPARATOR = 0x6C } 363 -enum : uint { VK_SUBTRACT = 0x6D } 364 -enum : uint { VK_DECIMAL = 0x6E } 365 -enum : uint { VK_DIVIDE = 0x6F } 366 -enum : uint { VK_F1 = 0x70 } 367 -enum : uint { VK_F2 = 0x71 } 368 -enum : uint { VK_F3 = 0x72 } 369 -enum : uint { VK_F4 = 0x73 } 370 -enum : uint { VK_F5 = 0x74 } 371 -enum : uint { VK_F6 = 0x75 } 372 -enum : uint { VK_F7 = 0x76 } 373 -enum : uint { VK_F8 = 0x77 } 374 -enum : uint { VK_F9 = 0x78 } 375 -enum : uint { VK_F10 = 0x79 } 376 -enum : uint { VK_F11 = 0x7A } 377 -enum : uint { VK_F12 = 0x7B } 378 -enum : uint { VK_F13 = 0x7C } 379 -enum : uint { VK_F14 = 0x7D } 380 -enum : uint { VK_F15 = 0x7E } 381 -enum : uint { VK_F16 = 0x7F } 382 -enum : uint { VK_F17 = 0x80 } 383 -enum : uint { VK_F18 = 0x81 } 384 -enum : uint { VK_F19 = 0x82 } 385 -enum : uint { VK_F20 = 0x83 } 386 -enum : uint { VK_F21 = 0x84 } 387 -enum : uint { VK_F22 = 0x85 } 388 -enum : uint { VK_F23 = 0x86 } 389 -enum : uint { VK_F24 = 0x87 } 390 - 391 -enum : uint { VK_NUMLOCK = 0x90 } 392 -enum : uint { VK_SCROLL = 0x91 } 393 - 394 -enum : uint { VK_OEM_NEC_EQUAL = 0x92 } 395 - 396 -enum : uint { VK_OEM_FJ_JISHO = 0x92 } 397 -enum : uint { VK_OEM_FJ_MASSHOU = 0x93 } 398 -enum : uint { VK_OEM_FJ_TOUROKU = 0x94 } 399 -enum : uint { VK_OEM_FJ_LOYA = 0x95 } 400 -enum : uint { VK_OEM_FJ_ROYA = 0x96 } 401 - 402 -enum : uint { VK_LSHIFT = 0xA0 } 403 -enum : uint { VK_RSHIFT = 0xA1 } 404 -enum : uint { VK_LCONTROL = 0xA2 } 405 -enum : uint { VK_RCONTROL = 0xA3 } 406 -enum : uint { VK_LMENU = 0xA4 } 407 -enum : uint { VK_RMENU = 0xA5 } 408 - 409 -// #if(_WIN32_WINNT >= 0x0500) 410 -enum : uint { VK_BROWSER_BACK = 0xA6 } 411 -enum : uint { VK_BROWSER_FORWARD = 0xA7 } 412 -enum : uint { VK_BROWSER_REFRESH = 0xA8 } 413 -enum : uint { VK_BROWSER_STOP = 0xA9 } 414 -enum : uint { VK_BROWSER_SEARCH = 0xAA } 415 -enum : uint { VK_BROWSER_FAVORITES = 0xAB } 416 -enum : uint { VK_BROWSER_HOME = 0xAC } 417 - 418 -enum : uint { VK_VOLUME_MUTE = 0xAD } 419 -enum : uint { VK_VOLUME_DOWN = 0xAE } 420 -enum : uint { VK_VOLUME_UP = 0xAF } 421 -enum : uint { VK_MEDIA_NEXT_TRACK = 0xB0 } 422 -enum : uint { VK_MEDIA_PREV_TRACK = 0xB1 } 423 -enum : uint { VK_MEDIA_STOP = 0xB2 } 424 -enum : uint { VK_MEDIA_PLAY_PAUSE = 0xB3 } 425 -enum : uint { VK_LAUNCH_MAIL = 0xB4 } 426 -enum : uint { VK_LAUNCH_MEDIA_SELECT = 0xB5 } 427 -enum : uint { VK_LAUNCH_APP1 = 0xB6 } 428 -enum : uint { VK_LAUNCH_APP2 = 0xB7 } 429 - 430 -// #endif /* _WIN32_WINNT >= 0x0500 */ 431 - 432 -enum : uint { VK_OEM_1 = 0xBA } 433 -enum : uint { VK_OEM_PLUS = 0xBB } 434 -enum : uint { VK_OEM_COMMA = 0xBC } 435 -enum : uint { VK_OEM_MINUS = 0xBD } 436 -enum : uint { VK_OEM_PERIOD = 0xBE } 437 -enum : uint { VK_OEM_2 = 0xBF } 438 -enum : uint { VK_OEM_3 = 0xC0 } 439 - 440 -enum : uint { VK_OEM_4 = 0xDB } 441 -enum : uint { VK_OEM_5 = 0xDC } 442 -enum : uint { VK_OEM_6 = 0xDD } 443 -enum : uint { VK_OEM_7 = 0xDE } 444 -enum : uint { VK_OEM_8 = 0xDF } 445 - 446 -enum : uint { VK_OEM_AX = 0xE1 } 447 -enum : uint { VK_OEM_102 = 0xE2 } 448 -enum : uint { VK_ICO_HELP = 0xE3 } 449 -enum : uint { VK_ICO_00 = 0xE4 } 450 - 451 -// #if(WINVER >= 0x0400) 452 -enum : uint { VK_PROCESSKEY = 0xE5 } 453 -// #endif /* WINVER >= 0x0400 */ 454 - 455 -enum : uint { VK_ICO_CLEAR = 0xE6 } 456 - 457 -// #if(_WIN32_WINNT >= 0x0500) 458 -enum : uint { VK_PACKET = 0xE7 } 459 -// #endif /* _WIN32_WINNT >= 0x0500 */ 460 - 461 -enum : uint { VK_OEM_RESET = 0xE9 } 462 -enum : uint { VK_OEM_JUMP = 0xEA } 463 -enum : uint { VK_OEM_PA1 = 0xEB } 464 -enum : uint { VK_OEM_PA2 = 0xEC } 465 -enum : uint { VK_OEM_PA3 = 0xED } 466 -enum : uint { VK_OEM_WSCTRL = 0xEE } 467 -enum : uint { VK_OEM_CUSEL = 0xEF } 468 -enum : uint { VK_OEM_ATTN = 0xF0 } 469 -enum : uint { VK_OEM_FINISH = 0xF1 } 470 -enum : uint { VK_OEM_COPY = 0xF2 } 471 -enum : uint { VK_OEM_AUTO = 0xF3 } 472 -enum : uint { VK_OEM_ENLW = 0xF4 } 473 -enum : uint { VK_OEM_BACKTAB = 0xF5 } 474 - 475 -enum : uint { VK_ATTN = 0xF6 } 476 -enum : uint { VK_CRSEL = 0xF7 } 477 -enum : uint { VK_EXSEL = 0xF8 } 478 -enum : uint { VK_EREOF = 0xF9 } 479 -enum : uint { VK_PLAY = 0xFA } 480 -enum : uint { VK_ZOOM = 0xFB } 481 -enum : uint { VK_NONAME = 0xFC } 482 -enum : uint { VK_PA1 = 0xFD } 483 -enum : uint { VK_OEM_CLEAR = 0xFE } 484 - 485 -// #endif /* !NOVIRTUALKEYCODES */ 486 - 487 -// #ifndef NOWH 488 - 489 -enum { WH_MIN = -1 } 490 -enum { WH_MSGFILTER = -1 } 491 -enum : uint { WH_JOURNALRECORD = 0 } 492 -enum : uint { WH_JOURNALPLAYBACK = 1 } 493 -enum : uint { WH_KEYBOARD = 2 } 494 -enum : uint { WH_GETMESSAGE = 3 } 495 -enum : uint { WH_CALLWNDPROC = 4 } 496 -enum : uint { WH_CBT = 5 } 497 -enum : uint { WH_SYSMSGFILTER = 6 } 498 -enum : uint { WH_MOUSE = 7 } 499 -// #if defined(_WIN32_WINDOWS) 500 -// #... 501 -// #endif 502 -enum : uint { WH_DEBUG = 9 } 503 -enum : uint { WH_SHELL = 10 } 504 -enum : uint { WH_FOREGROUNDIDLE = 11 } 505 -// #if(WINVER >= 0x0400) 506 -enum : uint { WH_CALLWNDPROCRET = 12 } 507 -// #endif /* WINVER >= 0x0400 */ 508 - 509 -// #if (_WIN32_WINNT >= 0x0400) 510 -enum : uint { WH_KEYBOARD_LL = 13 } 511 -enum : uint { WH_MOUSE_LL = 14 } 512 -// #endif // (_WIN32_WINNT >= 0x0400) 513 - 514 -// #if(WINVER >= 0x0400) 515 -// #if (_WIN32_WINNT >= 0x0400) 516 -enum : uint { WH_MAX = 14 } 517 -// #else 518 -// #... 519 -// #endif // (_WIN32_WINNT >= 0x0400) 520 -// #else 521 -// #... 522 -// #endif 523 - 524 -alias WH_MIN WH_MINHOOK; 525 -alias WH_MAX WH_MAXHOOK; 526 - 527 -enum : uint { HC_ACTION = 0 } 528 -enum : uint { HC_GETNEXT = 1 } 529 -enum : uint { HC_SKIP = 2 } 530 -enum : uint { HC_NOREMOVE = 3 } 531 -alias HC_NOREMOVE HC_NOREM; 532 -enum : uint { HC_SYSMODALON = 4 } 533 -enum : uint { HC_SYSMODALOFF = 5 } 534 - 535 -enum : uint { HCBT_MOVESIZE = 0 } 536 -enum : uint { HCBT_MINMAX = 1 } 537 -enum : uint { HCBT_QS = 2 } 538 -enum : uint { HCBT_CREATEWND = 3 } 539 -enum : uint { HCBT_DESTROYWND = 4 } 540 -enum : uint { HCBT_ACTIVATE = 5 } 541 -enum : uint { HCBT_CLICKSKIPPED = 6 } 542 -enum : uint { HCBT_KEYSKIPPED = 7 } 543 -enum : uint { HCBT_SYSCOMMAND = 8 } 544 -enum : uint { HCBT_SETFOCUS = 9 } 545 - 546 -struct tagCBT_CREATEWNDA { 547 - tagCREATESTRUCTA *lpcs; 548 - HWND hwndInsertAfter; 549 -} 550 -alias tagCBT_CREATEWNDA CBT_CREATEWNDA; 551 -alias tagCBT_CREATEWNDA* LPCBT_CREATEWNDA; 552 - 553 -struct tagCBT_CREATEWNDW { 554 - tagCREATESTRUCTW *lpcs; 555 - HWND hwndInsertAfter; 556 -} 557 -alias tagCBT_CREATEWNDW CBT_CREATEWNDW; 558 -alias tagCBT_CREATEWNDW* LPCBT_CREATEWNDW; 559 - 560 -// #ifdef UNICODE 561 -alias CBT_CREATEWNDW CBT_CREATEWND; 562 -alias LPCBT_CREATEWNDW LPCBT_CREATEWND; 563 -// #else 564 -// ... 565 -// #endif // UNICODE 566 - 567 -struct tagCBTACTIVATESTRUCT { 568 - BOOL fMouse; 569 - HWND hWndActive; 570 -} 571 -alias tagCBTACTIVATESTRUCT CBTACTIVATESTRUCT; 572 -alias tagCBTACTIVATESTRUCT* LPCBTACTIVATESTRUCT; 573 - 574 -// #if(_WIN32_WINNT >= 0x0501) 575 - 576 -struct tagWTSSESSION_NOTIFICATION { 577 - DWORD cbSize; 578 - DWORD dwSessionId; 579 -} 580 -alias tagWTSSESSION_NOTIFICATION WTSSESSION_NOTIFICATION; 581 -alias tagWTSSESSION_NOTIFICATION* PWTSSESSION_NOTIFICATION; 582 - 583 -enum : uint { WTS_CONSOLE_CONNECT = 0x1 } 584 -enum : uint { WTS_CONSOLE_DISCONNECT = 0x2 } 585 -enum : uint { WTS_REMOTE_CONNECT = 0x3 } 586 -enum : uint { WTS_REMOTE_DISCONNECT = 0x4 } 587 -enum : uint { WTS_SESSION_LOGON = 0x5 } 588 -enum : uint { WTS_SESSION_LOGOFF = 0x6 } 589 -enum : uint { WTS_SESSION_LOCK = 0x7 } 590 -enum : uint { WTS_SESSION_UNLOCK = 0x8 } 591 - 592 -// #endif /* _WIN32_WINNT >= 0x0501 */ 593 - 594 -enum : uint { MSGF_DIALOGBOX = 0 } 595 -enum : uint { MSGF_MESSAGEBOX = 1 } 596 -enum : uint { MSGF_MENU = 2 } 597 -enum : uint { MSGF_SCROLLBAR = 5 } 598 -enum : uint { MSGF_NEXTWINDOW = 6 } 599 -enum : uint { MSGF_MAX = 8 } 600 -enum : uint { MSGF_USER = 4096 } 601 - 602 -enum : uint { HSHELL_WINDOWCREATED = 1 } 603 -enum : uint { HSHELL_WINDOWDESTROYED = 2 } 604 -enum : uint { HSHELL_ACTIVATESHELLWINDOW = 3 } 605 - 606 -// #if(WINVER >= 0x0400) 607 -enum : uint { HSHELL_WINDOWACTIVATED = 4 } 608 -enum : uint { HSHELL_GETMINRECT = 5 } 609 -enum : uint { HSHELL_REDRAW = 6 } 610 -enum : uint { HSHELL_TASKMAN = 7 } 611 -enum : uint { HSHELL_LANGUAGE = 8 } 612 -// #endif /* WINVER >= 0x0400 */ 613 -// #if(_WIN32_WINNT >= 0x0500) 614 -enum : uint { HSHELL_ACCESSIBILITYSTATE = 11 } 615 -enum : uint { HSHELL_APPCOMMAND = 12 } 616 -// #endif /* _WIN32_WINNT >= 0x0500 */ 617 - 618 -// #if(_WIN32_WINNT >= 0x0501) 619 -enum : uint { HSHELL_WINDOWREPLACED = 13 } 620 -// #endif /* _WIN32_WINNT >= 0x0501 */ 621 - 622 -// #if(_WIN32_WINNT >= 0x0500) 623 - 624 -enum : uint { ACCESS_STICKYKEYS = 0x0001 } 625 -enum : uint { ACCESS_FILTERKEYS = 0x0002 } 626 -enum : uint { ACCESS_MOUSEKEYS = 0x0003 } 627 - 628 -enum : uint { APPCOMMAND_BROWSER_BACKWARD = 1 } 629 -enum : uint { APPCOMMAND_BROWSER_FORWARD = 2 } 630 -enum : uint { APPCOMMAND_BROWSER_REFRESH = 3 } 631 -enum : uint { APPCOMMAND_BROWSER_STOP = 4 } 632 -enum : uint { APPCOMMAND_BROWSER_SEARCH = 5 } 633 -enum : uint { APPCOMMAND_BROWSER_FAVORITES = 6 } 634 -enum : uint { APPCOMMAND_BROWSER_HOME = 7 } 635 -enum : uint { APPCOMMAND_VOLUME_MUTE = 8 } 636 -enum : uint { APPCOMMAND_VOLUME_DOWN = 9 } 637 -enum : uint { APPCOMMAND_VOLUME_UP = 10 } 638 -enum : uint { APPCOMMAND_MEDIA_NEXTTRACK = 11 } 639 -enum : uint { APPCOMMAND_MEDIA_PREVIOUSTRACK = 12 } 640 -enum : uint { APPCOMMAND_MEDIA_STOP = 13 } 641 -enum : uint { APPCOMMAND_MEDIA_PLAY_PAUSE = 14 } 642 -enum : uint { APPCOMMAND_LAUNCH_MAIL = 15 } 643 -enum : uint { APPCOMMAND_LAUNCH_MEDIA_SELECT = 16 } 644 -enum : uint { APPCOMMAND_LAUNCH_APP1 = 17 } 645 -enum : uint { APPCOMMAND_LAUNCH_APP2 = 18 } 646 -enum : uint { APPCOMMAND_BASS_DOWN = 19 } 647 -enum : uint { APPCOMMAND_BASS_BOOST = 20 } 648 -enum : uint { APPCOMMAND_BASS_UP = 21 } 649 -enum : uint { APPCOMMAND_TREBLE_DOWN = 22 } 650 -enum : uint { APPCOMMAND_TREBLE_UP = 23 } 651 -// #if(_WIN32_WINNT >= 0x0501) 652 -enum : uint { APPCOMMAND_MICROPHONE_VOLUME_MUTE = 24 } 653 -enum : uint { APPCOMMAND_MICROPHONE_VOLUME_DOWN = 25 } 654 -enum : uint { APPCOMMAND_MICROPHONE_VOLUME_UP = 26 } 655 -enum : uint { APPCOMMAND_HELP = 27 } 656 -enum : uint { APPCOMMAND_FIND = 28 } 657 -enum : uint { APPCOMMAND_NEW = 29 } 658 -enum : uint { APPCOMMAND_OPEN = 30 } 659 -enum : uint { APPCOMMAND_CLOSE = 31 } 660 -enum : uint { APPCOMMAND_SAVE = 32 } 661 -enum : uint { APPCOMMAND_PRINT = 33 } 662 -enum : uint { APPCOMMAND_UNDO = 34 } 663 -enum : uint { APPCOMMAND_REDO = 35 } 664 -enum : uint { APPCOMMAND_COPY = 36 } 665 -enum : uint { APPCOMMAND_CUT = 37 } 666 -enum : uint { APPCOMMAND_PASTE = 38 } 667 -enum : uint { APPCOMMAND_REPLY_TO_MAIL = 39 } 668 -enum : uint { APPCOMMAND_FORWARD_MAIL = 40 } 669 -enum : uint { APPCOMMAND_SEND_MAIL = 41 } 670 -enum : uint { APPCOMMAND_SPELL_CHECK = 42 } 671 -enum : uint { APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE = 43 } 672 -enum : uint { APPCOMMAND_MIC_ON_OFF_TOGGLE = 44 } 673 -enum : uint { APPCOMMAND_CORRECTION_LIST = 45 } 674 -// #endif /* _WIN32_WINNT >= 0x0501 */ 675 - 676 -enum : uint { FAPPCOMMAND_MOUSE = 0x8000 } 677 -enum : uint { FAPPCOMMAND_KEY = 0 } 678 -enum : uint { FAPPCOMMAND_OEM = 0x1000 } 679 -enum : uint { FAPPCOMMAND_MASK = 0xF000 } 680 - 681 -// #define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK)) 682 -// #define GET_DEVICE_LPARAM(lParam) ((WORD)(HIWORD(lParam) & FAPPCOMMAND_MASK)) 683 -// #define GET_MOUSEORKEY_LPARAM GET_DEVICE_LPARAM 684 -// #define GET_FLAGS_LPARAM(lParam) (LOWORD(lParam)) 685 -// #define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam) 686 -// #endif /* _WIN32_WINNT >= 0x0500 */ 687 - 688 -struct tagEVENTMSG { 689 - UINT message; 690 - UINT paramL; 691 - UINT paramH; 692 - DWORD time; 693 - HWND hwnd; 694 -} 695 -alias tagEVENTMSG EVENTMSG; 696 -alias tagEVENTMSG* PEVENTMSGMSG; 697 -alias tagEVENTMSG* NPEVENTMSGMSG; 698 -alias tagEVENTMSG* LPEVENTMSGMSG; 699 - 700 -alias tagEVENTMSG* PEVENTMSG; 701 -alias tagEVENTMSG* NPEVENTMSG; 702 -alias tagEVENTMSG* LPEVENTMSG; 703 - 704 -struct tagCWPSTRUCT { 705 - LPARAM lParam; 706 - WPARAM wParam; 707 - UINT message; 708 - HWND hwnd; 709 -} 710 -alias tagCWPSTRUCT CWPSTRUCT; 711 -alias tagCWPSTRUCT* PCWPSTRUCT; 712 -alias tagCWPSTRUCT* NPCWPSTRUCT; 713 -alias tagCWPSTRUCT* LPCWPSTRUCT; 714 - 715 -// #if(WINVER >= 0x0400) 716 - 717 -struct tagCWPRETSTRUCT { 718 - LRESULT lResult; 719 - LPARAM lParam; 720 - WPARAM wParam; 721 - UINT message; 722 - HWND hwnd; 723 -} 724 -alias tagCWPRETSTRUCT CWPRETSTRUCT; 725 -alias tagCWPRETSTRUCT* PCWPRETSTRUCT; 726 -alias tagCWPRETSTRUCT* NPCWPRETSTRUCT; 727 -alias tagCWPRETSTRUCT* LPCWPRETSTRUCT; 728 - 729 -// #endif /* WINVER >= 0x0400 */ 730 - 731 -// #if (_WIN32_WINNT >= 0x0400) 732 - 733 -enum : uint { LLKHF_EXTENDED = KF_EXTENDED >> 8 } 734 -enum : uint { LLKHF_INJECTED = 0x00000010 } 735 -enum : uint { LLKHF_ALTDOWN = KF_ALTDOWN >> 8 } 736 -enum : uint { LLKHF_UP = KF_UP >> 8 } 737 - 738 -enum : uint { LLMHF_INJECTED = 0x00000001 } 739 - 740 -struct tagKBDLLHOOKSTRUCT { 741 - DWORD vkCode; 742 - DWORD scanCode; 743 - DWORD flags; 744 - DWORD time; 745 - ULONG_PTR dwExtraInfo; 746 -} 747 -alias tagKBDLLHOOKSTRUCT KBDLLHOOKSTRUCT; 748 -alias tagKBDLLHOOKSTRUCT* LPKBDLLHOOKSTRUCT; 749 -alias tagKBDLLHOOKSTRUCT* PKBDLLHOOKSTRUCT; 750 - 751 -struct tagMSLLHOOKSTRUCT { 752 - POINT pt; 753 - DWORD mouseData; 754 - DWORD flags; 755 - DWORD time; 756 - ULONG_PTR dwExtraInfo; 757 -} 758 -alias tagMSLLHOOKSTRUCT MSLLHOOKSTRUCT; 759 -alias tagMSLLHOOKSTRUCT* LPMSLLHOOKSTRUCT; 760 -alias tagMSLLHOOKSTRUCT* PMSLLHOOKSTRUCT; 761 - 762 -// #endif // (_WIN32_WINNT >= 0x0400) 763 - 764 -struct tagDEBUGHOOKINFO { 765 - DWORD idThread; 766 - DWORD idThreadInstaller; 767 - LPARAM lParam; 768 - WPARAM wParam; 769 - int code; 770 -} 771 -alias tagDEBUGHOOKINFO DEBUGHOOKINFO; 772 -alias tagDEBUGHOOKINFO* PDEBUGHOOKINFO; 773 -alias tagDEBUGHOOKINFO* NPDEBUGHOOKINFO; 774 -alias tagDEBUGHOOKINFO* LPDEBUGHOOKINFO; 775 - 776 -struct tagMOUSEHOOKSTRUCT { 777 - POINT pt; 778 - HWND hwnd; 779 - UINT wHitTestCode; 780 - ULONG_PTR dwExtraInfo; 781 -} 782 -alias tagMOUSEHOOKSTRUCT MOUSEHOOKSTRUCT; 783 -alias tagMOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT; 784 -alias tagMOUSEHOOKSTRUCT* PMOUSEHOOKSTRUCT; 785 - 786 -// #if(_WIN32_WINNT >= 0x0500) 787 -// #ifdef __cplusplus 788 -struct tagMOUSEHOOKSTRUCTEX { 789 - POINT pt; 790 - HWND hwnd; 791 - UINT wHitTestCode; 792 - ULONG_PTR dwExtraInfo; 793 - DWORD mouseData; 794 -} 795 -alias tagMOUSEHOOKSTRUCTEX MOUSEHOOKSTRUCTEX; 796 -alias tagMOUSEHOOKSTRUCTEX* LPMOUSEHOOKSTRUCTEX; 797 -alias tagMOUSEHOOKSTRUCTEX* PMOUSEHOOKSTRUCTEX; 798 - 799 -// #else // ndef __cplusplus 800 -// ... 801 -// #endif 802 -// #endif /* _WIN32_WINNT >= 0x0500 */ 803 - 804 -// #if(WINVER >= 0x0400) 805 - 806 -struct tagHARDWAREHOOKSTRUCT { 807 - HWND hwnd; 808 - UINT message; 809 - WPARAM wParam; 810 - LPARAM lParam; 811 -} 812 -alias tagHARDWAREHOOKSTRUCT HARDWAREHOOKSTRUCT; 813 -alias tagHARDWAREHOOKSTRUCT* LPHARDWAREHOOKSTRUCT; 814 -alias tagHARDWAREHOOKSTRUCT* PHARDWAREHOOKSTRUCT; 815 - 816 -// #endif /* WINVER >= 0x0400 */ 817 -// #endif /* !NOWH */ 818 - 819 -enum : uint { HKL_PREV = 0 } 820 -enum : uint { HKL_NEXT = 1 } 821 - 822 -enum : uint { KLF_ACTIVATE = 0x00000001 } 823 -enum : uint { KLF_SUBSTITUTE_OK = 0x00000002 } 824 -enum : uint { KLF_REORDER = 0x00000008 } 825 -// #if(WINVER >= 0x0400) 826 -enum : uint { KLF_REPLACELANG = 0x00000010 } 827 -enum : uint { KLF_NOTELLSHELL = 0x00000080 } 828 -// #endif /* WINVER >= 0x0400 */ 829 -enum : uint { KLF_SETFORPROCESS = 0x00000100 } 830 -// #if(_WIN32_WINNT >= 0x0500) 831 -enum : uint { KLF_SHIFTLOCK = 0x00010000 } 832 -enum : uint { KLF_RESET = 0x40000000 } 833 -// #endif /* _WIN32_WINNT >= 0x0500 */ 834 - 835 -// #if(WINVER >= 0x0500) 836 - 837 -enum : uint { INPUTLANGCHANGE_SYSCHARSET = 0x0001 } 838 -enum : uint { INPUTLANGCHANGE_FORWARD = 0x0002 } 839 -enum : uint { INPUTLANGCHANGE_BACKWARD = 0x0004 } 840 -// #endif /* WINVER >= 0x0500 */ 841 - 842 -enum : uint { KL_NAMELENGTH = 9 } 843 - 844 -extern(Windows) export HKL LoadKeyboardLayoutA( 845 - LPCSTR pwszKLID, 846 - UINT Flags); 847 -extern(Windows) export HKL LoadKeyboardLayoutW( 848 - LPCWSTR pwszKLID, 849 - UINT Flags); 850 -// #ifdef UNICODE 851 -alias LoadKeyboardLayoutW LoadKeyboardLayout; 852 -// #else 853 -// #... 854 -// #endif // !UNICODE 855 - 856 -// #if(WINVER >= 0x0400) 857 -extern(Windows) export HKL ActivateKeyboardLayout( 858 - HKL hkl, 859 - UINT Flags); 860 -// #else 861 -// ... 862 -// #endif /* WINVER >= 0x0400 */ 863 - 864 -// #if(WINVER >= 0x0400) 865 -extern(Windows) export int ToUnicodeEx( 866 - UINT wVirtKey, 867 - UINT wScanCode, 868 - BYTE *lpKeyState, 869 - LPWSTR pwszBuff, 870 - int cchBuff, 871 - UINT wFlags, 872 - HKL dwhkl); 873 -// #endif /* WINVER >= 0x0400 */ 874 - 875 -extern(Windows) export BOOL UnloadKeyboardLayout( 876 - HKL hkl); 877 - 878 -extern(Windows) export BOOL GetKeyboardLayoutNameA( 879 - LPSTR pwszKLID); 880 -extern(Windows) export BOOL GetKeyboardLayoutNameW( 881 - LPWSTR pwszKLID); 882 -// #ifdef UNICODE 883 -alias GetKeyboardLayoutNameW GetKeyboardLayoutName; 884 -// #else 885 -// #... 886 -// #endif // !UNICODE 887 - 888 -// #if(WINVER >= 0x0400) 889 -extern(Windows) export int GetKeyboardLayoutList( 890 - int nBuff, 891 - HKL *lpList); 892 - 893 -extern(Windows) export HKL GetKeyboardLayout( 894 - DWORD idThread 895 -); 896 -// #endif /* WINVER >= 0x0400 */ 897 - 898 -// #if(WINVER >= 0x0500) 899 - 900 -struct tagMOUSEMOVEPOINT { 901 - int x; 902 - int y; 903 - DWORD time; 904 - ULONG_PTR dwExtraInfo; 905 -} 906 -alias tagMOUSEMOVEPOINT MOUSEMOVEPOINT; 907 -alias tagMOUSEMOVEPOINT* PMOUSEMOVEPOINT; 908 -alias tagMOUSEMOVEPOINT* LPMOUSEMOVEPOINT; 909 - 910 -enum : uint { GMMP_USE_DISPLAY_POINTS = 1 } 911 -enum : uint { GMMP_USE_HIGH_RESOLUTION_POINTS = 2 } 912 - 913 -extern(Windows) export int GetMouseMovePointsEx( 914 - UINT cbSize, 915 - LPMOUSEMOVEPOINT lppt, 916 - LPMOUSEMOVEPOINT lpptBuf, 917 - int nBufPoints, 918 - DWORD resolution 919 -); 920 - 921 -// #endif /* WINVER >= 0x0500 */ 922 - 923 -// #ifndef NODESKTOP 924 - 925 -enum : uint { DESKTOP_READOBJECTS = 0x0001 } 926 -enum : uint { DESKTOP_CREATEWINDOW = 0x0002 } 927 -enum : uint { DESKTOP_CREATEMENU = 0x0004 } 928 -enum : uint { DESKTOP_HOOKCONTROL = 0x0008 } 929 -enum : uint { DESKTOP_JOURNALRECORD = 0x0010 } 930 -enum : uint { DESKTOP_JOURNALPLAYBACK = 0x0020 } 931 -enum : uint { DESKTOP_ENUMERATE = 0x0040 } 932 -enum : uint { DESKTOP_WRITEOBJECTS = 0x0080 } 933 -enum : uint { DESKTOP_SWITCHDESKTOP = 0x0100 } 934 - 935 -enum : uint { DF_ALLOWOTHERACCOUNTHOOK = 0x0001 } 936 - 937 -// #ifdef _WINGDI_ 938 -// #ifndef NOGDI 939 - 940 -// ... 941 -// #ifdef UNICODE 942 -// #... 943 -// #else 944 -// #... 945 -// #endif // !UNICODE 946 - 947 -// #endif /* NOGDI */ 948 -// #endif /* _WINGDI_ */ 949 - 950 -extern(Windows) export HDESK OpenDesktopA( 951 - LPCSTR lpszDesktop, 952 - DWORD dwFlags, 953 - BOOL fInherit, 954 - ACCESS_MASK dwDesiredAccess); 955 -extern(Windows) export HDESK OpenDesktopW( 956 - LPCWSTR lpszDesktop, 957 - DWORD dwFlags, 958 - BOOL fInherit, 959 - ACCESS_MASK dwDesiredAccess); 960 -// #ifdef UNICODE 961 -alias OpenDesktopW OpenDesktop; 962 -// #else 963 -// #... 964 -// #endif // !UNICODE 965 - 966 -extern(Windows) export HDESK OpenInputDesktop( 967 - DWORD dwFlags, 968 - BOOL fInherit, 969 - ACCESS_MASK dwDesiredAccess); 970 - 971 -extern(Windows) export BOOL EnumDesktopsA( 972 - HWINSTA hwinsta, 973 - DESKTOPENUMPROCA lpEnumFunc, 974 - LPARAM lParam); 975 -extern(Windows) export BOOL EnumDesktopsW( 976 - HWINSTA hwinsta, 977 - DESKTOPENUMPROCW lpEnumFunc, 978 - LPARAM lParam); 979 -// #ifdef UNICODE 980 -alias EnumDesktopsW EnumDesktops; 981 -// #else 982 -// #... 983 -// #endif // !UNICODE 984 - 985 -extern(Windows) export BOOL EnumDesktopWindows( 986 - HDESK hDesktop, 987 - WNDENUMPROC lpfn, 988 - LPARAM lParam); 989 - 990 -extern(Windows) export BOOL SwitchDesktop( 991 - HDESK hDesktop); 992 - 993 -extern(Windows) export BOOL SetThreadDesktop( 994 - HDESK hDesktop); 995 - 996 -extern(Windows) export BOOL CloseDesktop( 997 - HDESK hDesktop); 998 - 999 -extern(Windows) export HDESK GetThreadDesktop( 1000 - DWORD dwThreadId); 1001 -// #endif /* !NODESKTOP */ 1002 - 1003 -// #ifndef NOWINDOWSTATION 1004 - 1005 -enum : uint { WINSTA_ENUMDESKTOPS = 0x0001 } 1006 -enum : uint { WINSTA_READATTRIBUTES = 0x0002 } 1007 -enum : uint { WINSTA_ACCESSCLIPBOARD = 0x0004 } 1008 -enum : uint { WINSTA_CREATEDESKTOP = 0x0008 } 1009 -enum : uint { WINSTA_WRITEATTRIBUTES = 0x0010 } 1010 -enum : uint { WINSTA_ACCESSGLOBALATOMS = 0x0020 } 1011 -enum : uint { WINSTA_EXITWINDOWS = 0x0040 } 1012 -enum : uint { WINSTA_ENUMERATE = 0x0100 } 1013 -enum : uint { WINSTA_READSCREEN = 0x0200 } 1014 - 1015 -enum : uint { WSF_VISIBLE = 0x0001 } 1016 - 1017 -extern(Windows) export HWINSTA CreateWindowStationA( 1018 - LPCSTR lpwinsta, 1019 - DWORD dwReserved, 1020 - ACCESS_MASK dwDesiredAccess, 1021 - LPSECURITY_ATTRIBUTES lpsa); 1022 -extern(Windows) export HWINSTA CreateWindowStationW( 1023 - LPCWSTR lpwinsta, 1024 - DWORD dwReserved, 1025 - ACCESS_MASK dwDesiredAccess, 1026 - LPSECURITY_ATTRIBUTES lpsa); 1027 -// #ifdef UNICODE 1028 -alias CreateWindowStationW CreateWindowStation; 1029 -// #else 1030 -// #... 1031 -// #endif // !UNICODE 1032 - 1033 -extern(Windows) export HWINSTA OpenWindowStationA( 1034 - LPCSTR lpszWinSta, 1035 - BOOL fInherit, 1036 - ACCESS_MASK dwDesiredAccess); 1037 -extern(Windows) export HWINSTA OpenWindowStationW( 1038 - LPCWSTR lpszWinSta, 1039 - BOOL fInherit, 1040 - ACCESS_MASK dwDesiredAccess); 1041 -// #ifdef UNICODE 1042 -alias OpenWindowStationW OpenWindowStation; 1043 -// #else 1044 -// #... 1045 -// #endif // !UNICODE 1046 - 1047 -extern(Windows) export BOOL EnumWindowStationsA( 1048 - WINSTAENUMPROCA lpEnumFunc, 1049 - LPARAM lParam); 1050 -extern(Windows) export BOOL EnumWindowStationsW( 1051 - WINSTAENUMPROCW lpEnumFunc, 1052 - LPARAM lParam); 1053 -// #ifdef UNICODE 1054 -alias EnumWindowStationsW EnumWindowStations; 1055 -// #else 1056 -// #... 1057 -// #endif // !UNICODE 1058 - 1059 -extern(Windows) export BOOL CloseWindowStation( 1060 - HWINSTA hWinSta); 1061 - 1062 -extern(Windows) export BOOL SetProcessWindowStation( 1063 - HWINSTA hWinSta); 1064 - 1065 -extern(Windows) export HWINSTA GetProcessWindowStation(); 1066 -// #endif /* !NOWINDOWSTATION */ 1067 - 1068 -// #ifndef NOSECURITY 1069 - 1070 -extern(Windows) export BOOL SetUserObjectSecurity( 1071 - HANDLE hObj, 1072 - PSECURITY_INFORMATION pSIRequested, 1073 - PSECURITY_DESCRIPTOR pSID); 1074 - 1075 -extern(Windows) export BOOL GetUserObjectSecurity( 1076 - HANDLE hObj, 1077 - PSECURITY_INFORMATION pSIRequested, 1078 - PSECURITY_DESCRIPTOR pSID, 1079 - DWORD nLength, 1080 - LPDWORD lpnLengthNeeded); 1081 - 1082 -enum : uint { UOI_FLAGS = 1 } 1083 -enum : uint { UOI_NAME = 2 } 1084 -enum : uint { UOI_TYPE = 3 } 1085 -enum : uint { UOI_USER_SID = 4 } 1086 - 1087 -struct tagUSEROBJECTFLAGS { 1088 - BOOL fInherit; 1089 - BOOL fReserved; 1090 - DWORD dwFlags; 1091 -} 1092 -alias tagUSEROBJECTFLAGS USEROBJECTFLAGS; 1093 -alias tagUSEROBJECTFLAGS* PUSEROBJECTFLAGS; 1094 - 1095 -extern(Windows) export BOOL GetUserObjectInformationA( 1096 - HANDLE hObj, 1097 - int nIndex, 1098 - PVOID pvInfo, 1099 - DWORD nLength, 1100 - LPDWORD lpnLengthNeeded); 1101 -extern(Windows) export BOOL GetUserObjectInformationW( 1102 - HANDLE hObj, 1103 - int nIndex, 1104 - PVOID pvInfo, 1105 - DWORD nLength, 1106 - LPDWORD lpnLengthNeeded); 1107 -// #ifdef UNICODE 1108 -alias GetUserObjectInformationW GetUserObjectInformation; 1109 -// #else 1110 -// #... 1111 -// #endif // !UNICODE 1112 - 1113 -extern(Windows) export BOOL SetUserObjectInformationA( 1114 - HANDLE hObj, 1115 - int nIndex, 1116 - PVOID pvInfo, 1117 - DWORD nLength); 1118 -extern(Windows) export BOOL SetUserObjectInformationW( 1119 - HANDLE hObj, 1120 - int nIndex, 1121 - PVOID pvInfo, 1122 - DWORD nLength); 1123 -// #ifdef UNICODE 1124 -alias SetUserObjectInformationW SetUserObjectInformation; 1125 -// #else 1126 -// #... 1127 -// #endif // !UNICODE 1128 - 1129 -// #endif /* !NOSECURITY */ 1130 - 1131 -// #if(WINVER >= 0x0400) 1132 -struct tagWNDCLASSEXA { 1133 - UINT cbSize; 1134 - UINT style; 1135 - WNDPROC lpfnWndProc; 1136 - int cbClsExtra; 1137 - int cbWndExtra; 1138 - HINSTANCE hInstance; 1139 - HICON hIcon; 1140 - HCURSOR hCursor; 1141 - HBRUSH hbrBackground; 1142 - LPCSTR lpszMenuName; 1143 - LPCSTR lpszClassName; 1144 - HICON hIconSm; 1145 -} 1146 -alias tagWNDCLASSEXA WNDCLASSEXA; 1147 -alias tagWNDCLASSEXA* PWNDCLASSEXA; 1148 -alias tagWNDCLASSEXA* NPWNDCLASSEXA; 1149 -alias tagWNDCLASSEXA* LPWNDCLASSEXA; 1150 - 1151 -struct tagWNDCLASSEXW { 1152 - UINT cbSize; 1153 - UINT style; 1154 - WNDPROC lpfnWndProc; 1155 - int cbClsExtra; 1156 - int cbWndExtra; 1157 - HINSTANCE hInstance; 1158 - HICON hIcon; 1159 - HCURSOR hCursor; 1160 - HBRUSH hbrBackground; 1161 - LPCWSTR lpszMenuName; 1162 - LPCWSTR lpszClassName; 1163 - HICON hIconSm; 1164 -} 1165 -alias tagWNDCLASSEXW WNDCLASSEXW; 1166 -alias tagWNDCLASSEXW* PWNDCLASSEXW; 1167 -alias tagWNDCLASSEXW* NPWNDCLASSEXW; 1168 -alias tagWNDCLASSEXW* LPWNDCLASSEXW; 1169 - 1170 -// #ifdef UNICODE 1171 -alias WNDCLASSEXW WNDCLASSEX; 1172 -alias PWNDCLASSEXW PWNDCLASSEX; 1173 -alias NPWNDCLASSEXW NPWNDCLASSEX; 1174 -alias LPWNDCLASSEXW LPWNDCLASSEX; 1175 -// #else 1176 -// ... 1177 -// #endif // UNICODE 1178 -// #endif /* WINVER >= 0x0400 */ 1179 - 1180 -struct tagWNDCLASSA { 1181 - UINT style; 1182 - WNDPROC lpfnWndProc; 1183 - int cbClsExtra; 1184 - int cbWndExtra; 1185 - HINSTANCE hInstance; 1186 - HICON hIcon; 1187 - HCURSOR hCursor; 1188 - HBRUSH hbrBackground; 1189 - LPCSTR lpszMenuName; 1190 - LPCSTR lpszClassName; 1191 -} 1192 -alias tagWNDCLASSA WNDCLASSA; 1193 -alias tagWNDCLASSA* PWNDCLASSA; 1194 -alias tagWNDCLASSA* NPWNDCLASSA; 1195 -alias tagWNDCLASSA* LPWNDCLASSA; 1196 - 1197 -struct tagWNDCLASSW { 1198 - UINT style; 1199 - WNDPROC lpfnWndProc; 1200 - int cbClsExtra; 1201 - int cbWndExtra; 1202 - HINSTANCE hInstance; 1203 - HICON hIcon; 1204 - HCURSOR hCursor; 1205 - HBRUSH hbrBackground; 1206 - LPCWSTR lpszMenuName; 1207 - LPCWSTR lpszClassName; 1208 -} 1209 -alias tagWNDCLASSW WNDCLASSW; 1210 -alias tagWNDCLASSW* PWNDCLASSW; 1211 -alias tagWNDCLASSW* NPWNDCLASSW; 1212 -alias tagWNDCLASSW* LPWNDCLASSW; 1213 - 1214 -// #ifdef UNICODE 1215 -alias WNDCLASSW WNDCLASS; 1216 -alias PWNDCLASSW PWNDCLASS; 1217 -alias NPWNDCLASSW NPWNDCLASS; 1218 -alias LPWNDCLASSW LPWNDCLASS; 1219 -// #else 1220 -// ... 1221 -// #endif // UNICODE 1222 - 1223 -// #ifndef NOMSG 1224 - 1225 -struct tagMSG { 1226 - HWND hwnd; 1227 - UINT message; 1228 - WPARAM wParam; 1229 - LPARAM lParam; 1230 - DWORD time; 1231 - POINT pt; 1232 -// #ifdef _MAC 1233 -// ... 1234 -// #endif 1235 -} 1236 -alias tagMSG MSG; 1237 -alias tagMSG* PMSG; 1238 -alias tagMSG* NPMSG; 1239 -alias tagMSG* LPMSG; 1240 - 1241 -// #define POINTSTOPOINT(pt, pts) { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts); (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); } 1242 - 1243 -// #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y))) 1244 -alias MAKELONG MAKEWPARAM; 1245 -alias MAKELONG MAKELPARAM; 1246 -alias MAKELONG MAKELRESULT; 1247 - 1248 -// #endif /* !NOMSG */ 1249 - 1250 -// #ifndef NOWINOFFSETS 1251 - 1252 -enum { GWL_WNDPROC = -4 } 1253 -enum { GWL_HINSTANCE = -6 } 1254 -enum { GWL_HWNDPARENT = -8 } 1255 -enum { GWL_STYLE = -16 } 1256 -enum { GWL_EXSTYLE = -20 } 1257 -enum { GWL_USERDATA = -21 } 1258 -enum { GWL_ID = -12 } 1259 - 1260 -// #ifdef _WIN64 1261 - 1262 -// #... 1263 -// #... 1264 -// #... 1265 -// #... 1266 - 1267 -// #endif /* _WIN64 */ 1268 - 1269 -enum { GWLP_WNDPROC = -4 } 1270 -enum { GWLP_HINSTANCE = -6 } 1271 -enum { GWLP_HWNDPARENT = -8 } 1272 -enum { GWLP_USERDATA = -21 } 1273 -enum { GWLP_ID = -12 } 1274 - 1275 -enum { GCL_MENUNAME = -8 } 1276 -enum { GCL_HBRBACKGROUND = -10 } 1277 -enum { GCL_HCURSOR = -12 } 1278 -enum { GCL_HICON = -14 } 1279 -enum { GCL_HMODULE = -16 } 1280 -enum { GCL_CBWNDEXTRA = -18 } 1281 -enum { GCL_CBCLSEXTRA = -20 } 1282 -enum { GCL_WNDPROC = -24 } 1283 -enum { GCL_STYLE = -26 } 1284 -enum { GCW_ATOM = -32 } 1285 - 1286 -// #if(WINVER >= 0x0400) 1287 -enum { GCL_HICONSM = -34 } 1288 -// #endif /* WINVER >= 0x0400 */ 1289 - 1290 -// #ifdef _WIN64 1291 - 1292 -// #... 1293 -// #... 1294 -// #... 1295 -// #... 1296 -// #... 1297 -// #... 1298 -// #... 1299 - 1300 -// #endif /* _WIN64 */ 1301 - 1302 -enum { GCLP_MENUNAME = -8 } 1303 -enum { GCLP_HBRBACKGROUND = -10 } 1304 -enum { GCLP_HCURSOR = -12 } 1305 -enum { GCLP_HICON = -14 } 1306 -enum { GCLP_HMODULE = -16 } 1307 -enum { GCLP_WNDPROC = -24 } 1308 -enum { GCLP_HICONSM = -34 } 1309 - 1310 -// #endif /* !NOWINOFFSETS */ 1311 - 1312 -// #ifndef NOWINMESSAGES 1313 - 1314 -enum : uint { WM_NULL = 0x0000 } 1315 -enum : uint { WM_CREATE = 0x0001 } 1316 -enum : uint { WM_DESTROY = 0x0002 } 1317 -enum : uint { WM_MOVE = 0x0003 } 1318 -enum : uint { WM_SIZE = 0x0005 } 1319 - 1320 -enum : uint { WM_ACTIVATE = 0x0006 } 1321 - 1322 -enum : uint { WA_INACTIVE = 0 } 1323 -enum : uint { WA_ACTIVE = 1 } 1324 -enum : uint { WA_CLICKACTIVE = 2 } 1325 - 1326 -enum : uint { WM_SETFOCUS = 0x0007 } 1327 -enum : uint { WM_KILLFOCUS = 0x0008 } 1328 -enum : uint { WM_ENABLE = 0x000A } 1329 -enum : uint { WM_SETREDRAW = 0x000B } 1330 -enum : uint { WM_SETTEXT = 0x000C } 1331 -enum : uint { WM_GETTEXT = 0x000D } 1332 -enum : uint { WM_GETTEXTLENGTH = 0x000E } 1333 -enum : uint { WM_PAINT = 0x000F } 1334 -enum : uint { WM_CLOSE = 0x0010 } 1335 -// #ifndef _WIN32_WCE 1336 -enum : uint { WM_QUERYENDSESSION = 0x0011 } 1337 -enum : uint { WM_QUERYOPEN = 0x0013 } 1338 -enum : uint { WM_ENDSESSION = 0x0016 } 1339 -// #endif 1340 -enum : uint { WM_QUIT = 0x0012 } 1341 -enum : uint { WM_ERASEBKGND = 0x0014 } 1342 -enum : uint { WM_SYSCOLORCHANGE = 0x0015 } 1343 -enum : uint { WM_SHOWWINDOW = 0x0018 } 1344 -enum : uint { WM_WININICHANGE = 0x001A } 1345 -// #if(WINVER >= 0x0400) 1346 -alias WM_WININICHANGE WM_SETTINGCHANGE; 1347 -// #endif /* WINVER >= 0x0400 */ 1348 - 1349 -enum : uint { WM_DEVMODECHANGE = 0x001B } 1350 -enum : uint { WM_ACTIVATEAPP = 0x001C } 1351 -enum : uint { WM_FONTCHANGE = 0x001D } 1352 -enum : uint { WM_TIMECHANGE = 0x001E } 1353 -enum : uint { WM_CANCELMODE = 0x001F } 1354 -enum : uint { WM_SETCURSOR = 0x0020 } 1355 -enum : uint { WM_MOUSEACTIVATE = 0x0021 } 1356 -enum : uint { WM_CHILDACTIVATE = 0x0022 } 1357 -enum : uint { WM_QUEUESYNC = 0x0023 } 1358 - 1359 -enum : uint { WM_GETMINMAXINFO = 0x0024 } 1360 - 1361 -struct tagMINMAXINFO { 1362 - POINT ptReserved; 1363 - POINT ptMaxSize; 1364 - POINT ptMaxPosition; 1365 - POINT ptMinTrackSize; 1366 - POINT ptMaxTrackSize; 1367 -} 1368 -alias tagMINMAXINFO MINMAXINFO; 1369 -alias tagMINMAXINFO* PMINMAXINFO; 1370 -alias tagMINMAXINFO* LPMINMAXINFO; 1371 - 1372 -enum : uint { WM_PAINTICON = 0x0026 } 1373 -enum : uint { WM_ICONERASEBKGND = 0x0027 } 1374 -enum : uint { WM_NEXTDLGCTL = 0x0028 } 1375 -enum : uint { WM_SPOOLERSTATUS = 0x002A } 1376 -enum : uint { WM_DRAWITEM = 0x002B } 1377 -enum : uint { WM_MEASUREITEM = 0x002C } 1378 -enum : uint { WM_DELETEITEM = 0x002D } 1379 -enum : uint { WM_VKEYTOITEM = 0x002E } 1380 -enum : uint { WM_CHARTOITEM = 0x002F } 1381 -enum : uint { WM_SETFONT = 0x0030 } 1382 -enum : uint { WM_GETFONT = 0x0031 } 1383 -enum : uint { WM_SETHOTKEY = 0x0032 } 1384 -enum : uint { WM_GETHOTKEY = 0x0033 } 1385 -enum : uint { WM_QUERYDRAGICON = 0x0037 } 1386 -enum : uint { WM_COMPAREITEM = 0x0039 } 1387 -// #if(WINVER >= 0x0500) 1388 -// #ifndef _WIN32_WCE 1389 -enum : uint { WM_GETOBJECT = 0x003D } 1390 -// #endif 1391 -// #endif /* WINVER >= 0x0500 */ 1392 -enum : uint { WM_COMPACTING = 0x0041 } 1393 -enum : uint { WM_COMMNOTIFY = 0x0044 } 1394 -enum : uint { WM_WINDOWPOSCHANGING = 0x0046 } 1395 -enum : uint { WM_WINDOWPOSCHANGED = 0x0047 } 1396 - 1397 -enum : uint { WM_POWER = 0x0048 } 1398 - 1399 -enum : uint { PWR_OK = 1 } 1400 -enum { PWR_FAIL = -1 } 1401 -enum : uint { PWR_SUSPENDREQUEST = 1 } 1402 -enum : uint { PWR_SUSPENDRESUME = 2 } 1403 -enum : uint { PWR_CRITICALRESUME = 3 } 1404 - 1405 -enum : uint { WM_COPYDATA = 0x004A } 1406 -enum : uint { WM_CANCELJOURNAL = 0x004B } 1407 - 1408 -struct tagCOPYDATASTRUCT { 1409 - ULONG_PTR dwData; 1410 - DWORD cbData; 1411 - PVOID lpData; 1412 -} 1413 -alias tagCOPYDATASTRUCT COPYDATASTRUCT; 1414 -alias tagCOPYDATASTRUCT* PCOPYDATASTRUCT; 1415 - 1416 -// #if(WINVER >= 0x0400) 1417 -struct tagMDINEXTMENU { 1418 - HMENU hmenuIn; 1419 - HMENU hmenuNext; 1420 - HWND hwndNext; 1421 -} 1422 -alias tagMDINEXTMENU MDINEXTMENU; 1423 -alias tagMDINEXTMENU* PMDINEXTMENU; 1424 -alias tagMDINEXTMENU* LPMDINEXTMENU; 1425 - 1426 -// #endif /* WINVER >= 0x0400 */ 1427 - 1428 -// #if(WINVER >= 0x0400) 1429 -enum : uint { WM_NOTIFY = 0x004E } 1430 -enum : uint { WM_INPUTLANGCHANGEREQUEST = 0x0050 } 1431 -enum : uint { WM_INPUTLANGCHANGE = 0x0051 } 1432 -enum : uint { WM_TCARD = 0x0052 } 1433 -enum : uint { WM_HELP = 0x0053 } 1434 -enum : uint { WM_USERCHANGED = 0x0054 } 1435 -enum : uint { WM_NOTIFYFORMAT = 0x0055 } 1436 - 1437 -enum : uint { NFR_ANSI = 1 } 1438 -enum : uint { NFR_UNICODE = 2 } 1439 -enum : uint { NF_QUERY = 3 } 1440 -enum : uint { NF_REQUERY = 4 } 1441 - 1442 -enum : uint { WM_CONTEXTMENU = 0x007B } 1443 -enum : uint { WM_STYLECHANGING = 0x007C } 1444 -enum : uint { WM_STYLECHANGED = 0x007D } 1445 -enum : uint { WM_DISPLAYCHANGE = 0x007E } 1446 -enum : uint { WM_GETICON = 0x007F } 1447 -enum : uint { WM_SETICON = 0x0080 } 1448 -// #endif /* WINVER >= 0x0400 */ 1449 - 1450 -enum : uint { WM_NCCREATE = 0x0081 } 1451 -enum : uint { WM_NCDESTROY = 0x0082 } 1452 -enum : uint { WM_NCCALCSIZE = 0x0083 } 1453 -enum : uint { WM_NCHITTEST = 0x0084 } 1454 -enum : uint { WM_NCPAINT = 0x0085 } 1455 -enum : uint { WM_NCACTIVATE = 0x0086 } 1456 -enum : uint { WM_GETDLGCODE = 0x0087 } 1457 -// #ifndef _WIN32_WCE 1458 -enum : uint { WM_SYNCPAINT = 0x0088 } 1459 -// #endif 1460 -enum : uint { WM_NCMOUSEMOVE = 0x00A0 } 1461 -enum : uint { WM_NCLBUTTONDOWN = 0x00A1 } 1462 -enum : uint { WM_NCLBUTTONUP = 0x00A2 } 1463 -enum : uint { WM_NCLBUTTONDBLCLK = 0x00A3 } 1464 -enum : uint { WM_NCRBUTTONDOWN = 0x00A4 } 1465 -enum : uint { WM_NCRBUTTONUP = 0x00A5 } 1466 -enum : uint { WM_NCRBUTTONDBLCLK = 0x00A6 } 1467 -enum : uint { WM_NCMBUTTONDOWN = 0x00A7 } 1468 -enum : uint { WM_NCMBUTTONUP = 0x00A8 } 1469 -enum : uint { WM_NCMBUTTONDBLCLK = 0x00A9 } 1470 - 1471 -// #if(_WIN32_WINNT >= 0x0500) 1472 -enum : uint { WM_NCXBUTTONDOWN = 0x00AB } 1473 -enum : uint { WM_NCXBUTTONUP = 0x00AC } 1474 -enum : uint { WM_NCXBUTTONDBLCLK = 0x00AD } 1475 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1476 - 1477 -// #if(_WIN32_WINNT >= 0x0501) 1478 -enum : uint { WM_INPUT = 0x00FF } 1479 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1480 - 1481 -enum : uint { WM_KEYFIRST = 0x0100 } 1482 -enum : uint { WM_KEYDOWN = 0x0100 } 1483 -enum : uint { WM_KEYUP = 0x0101 } 1484 -enum : uint { WM_CHAR = 0x0102 } 1485 -enum : uint { WM_DEADCHAR = 0x0103 } 1486 -enum : uint { WM_SYSKEYDOWN = 0x0104 } 1487 -enum : uint { WM_SYSKEYUP = 0x0105 } 1488 -enum : uint { WM_SYSCHAR = 0x0106 } 1489 -enum : uint { WM_SYSDEADCHAR = 0x0107 } 1490 -// #if(_WIN32_WINNT >= 0x0501) 1491 -enum : uint { WM_UNICHAR = 0x0109 } 1492 -enum : uint { WM_KEYLAST = 0x0109 } 1493 -enum : uint { UNICODE_NOCHAR = 0xFFFF } 1494 -// #else 1495 -// #... 1496 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1497 - 1498 -// #if(WINVER >= 0x0400) 1499 -enum : uint { WM_IME_STARTCOMPOSITION = 0x010D } 1500 -enum : uint { WM_IME_ENDCOMPOSITION = 0x010E } 1501 -enum : uint { WM_IME_COMPOSITION = 0x010F } 1502 -enum : uint { WM_IME_KEYLAST = 0x010F } 1503 -// #endif /* WINVER >= 0x0400 */ 1504 - 1505 -enum : uint { WM_INITDIALOG = 0x0110 } 1506 -enum : uint { WM_COMMAND = 0x0111 } 1507 -enum : uint { WM_SYSCOMMAND = 0x0112 } 1508 -enum : uint { WM_TIMER = 0x0113 } 1509 -enum : uint { WM_HSCROLL = 0x0114 } 1510 -enum : uint { WM_VSCROLL = 0x0115 } 1511 -enum : uint { WM_INITMENU = 0x0116 } 1512 -enum : uint { WM_INITMENUPOPUP = 0x0117 } 1513 -enum : uint { WM_MENUSELECT = 0x011F } 1514 -enum : uint { WM_MENUCHAR = 0x0120 } 1515 -enum : uint { WM_ENTERIDLE = 0x0121 } 1516 -// #if(WINVER >= 0x0500) 1517 -// #ifndef _WIN32_WCE 1518 -enum : uint { WM_MENURBUTTONUP = 0x0122 } 1519 -enum : uint { WM_MENUDRAG = 0x0123 } 1520 -enum : uint { WM_MENUGETOBJECT = 0x0124 } 1521 -enum : uint { WM_UNINITMENUPOPUP = 0x0125 } 1522 -enum : uint { WM_MENUCOMMAND = 0x0126 } 1523 - 1524 -// #ifndef _WIN32_WCE 1525 -// #if(_WIN32_WINNT >= 0x0500) 1526 -enum : uint { WM_CHANGEUISTATE = 0x0127 } 1527 -enum : uint { WM_UPDATEUISTATE = 0x0128 } 1528 -enum : uint { WM_QUERYUISTATE = 0x0129 } 1529 - 1530 -enum : uint { UIS_SET = 1 } 1531 -enum : uint { UIS_CLEAR = 2 } 1532 -enum : uint { UIS_INITIALIZE = 3 } 1533 - 1534 -enum : uint { UISF_HIDEFOCUS = 0x1 } 1535 -enum : uint { UISF_HIDEACCEL = 0x2 } 1536 -// #if(_WIN32_WINNT >= 0x0501) 1537 -enum : uint { UISF_ACTIVE = 0x4 } 1538 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1539 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1540 -// #endif 1541 - 1542 -// #endif 1543 -// #endif /* WINVER >= 0x0500 */ 1544 - 1545 -enum : uint { WM_CTLCOLORMSGBOX = 0x0132 } 1546 -enum : uint { WM_CTLCOLOREDIT = 0x0133 } 1547 -enum : uint { WM_CTLCOLORLISTBOX = 0x0134 } 1548 -enum : uint { WM_CTLCOLORBTN = 0x0135 } 1549 -enum : uint { WM_CTLCOLORDLG = 0x0136 } 1550 -enum : uint { WM_CTLCOLORSCROLLBAR = 0x0137 } 1551 -enum : uint { WM_CTLCOLORSTATIC = 0x0138 } 1552 - 1553 -enum : uint { WM_MOUSEFIRST = 0x0200 } 1554 -enum : uint { WM_MOUSEMOVE = 0x0200 } 1555 -enum : uint { WM_LBUTTONDOWN = 0x0201 } 1556 -enum : uint { WM_LBUTTONUP = 0x0202 } 1557 -enum : uint { WM_LBUTTONDBLCLK = 0x0203 } 1558 -enum : uint { WM_RBUTTONDOWN = 0x0204 } 1559 -enum : uint { WM_RBUTTONUP = 0x0205 } 1560 -enum : uint { WM_RBUTTONDBLCLK = 0x0206 } 1561 -enum : uint { WM_MBUTTONDOWN = 0x0207 } 1562 -enum : uint { WM_MBUTTONUP = 0x0208 } 1563 -enum : uint { WM_MBUTTONDBLCLK = 0x0209 } 1564 -// #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 1565 -enum : uint { WM_MOUSEWHEEL = 0x020A } 1566 -// #endif 1567 -// #if (_WIN32_WINNT >= 0x0500) 1568 -enum : uint { WM_XBUTTONDOWN = 0x020B } 1569 -enum : uint { WM_XBUTTONUP = 0x020C } 1570 -enum : uint { WM_XBUTTONDBLCLK = 0x020D } 1571 -// #endif 1572 -// #if (_WIN32_WINNT >= 0x0500) 1573 -enum : uint { WM_MOUSELAST = 0x020D } 1574 -// #elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 1575 -// #... 1576 -// #else 1577 -// #... 1578 -// #endif /* (_WIN32_WINNT >= 0x0500) */ 1579 - 1580 -// #if(_WIN32_WINNT >= 0x0400) 1581 - 1582 -enum : uint { WHEEL_DELTA = 120 } 1583 -// #define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam)) 1584 - 1585 -enum : uint { WHEEL_PAGESCROLL = UINT_MAX } 1586 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1587 - 1588 -// #if(_WIN32_WINNT >= 0x0500) 1589 -// #define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam)) 1590 -// #define GET_NCHITTEST_WPARAM(wParam) ((short)LOWORD(wParam)) 1591 -// #define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam)) 1592 - 1593 -enum : uint { XBUTTON1 = 0x0001 } 1594 -enum : uint { XBUTTON2 = 0x0002 } 1595 - 1596 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1597 - 1598 -enum : uint { WM_PARENTNOTIFY = 0x0210 } 1599 -enum : uint { WM_ENTERMENULOOP = 0x0211 } 1600 -enum : uint { WM_EXITMENULOOP = 0x0212 } 1601 - 1602 -// #if(WINVER >= 0x0400) 1603 -enum : uint { WM_NEXTMENU = 0x0213 } 1604 -enum : uint { WM_SIZING = 0x0214 } 1605 -enum : uint { WM_CAPTURECHANGED = 0x0215 } 1606 -enum : uint { WM_MOVING = 0x0216 } 1607 -// #endif /* WINVER >= 0x0400 */ 1608 - 1609 -// #if(WINVER >= 0x0400) 1610 - 1611 -enum : uint { WM_POWERBROADCAST = 0x0218 } 1612 - 1613 -// #ifndef _WIN32_WCE 1614 -enum : uint { PBT_APMQUERYSUSPEND = 0x0000 } 1615 -enum : uint { PBT_APMQUERYSTANDBY = 0x0001 } 1616 - 1617 -enum : uint { PBT_APMQUERYSUSPENDFAILED = 0x0002 } 1618 -enum : uint { PBT_APMQUERYSTANDBYFAILED = 0x0003 } 1619 - 1620 -enum : uint { PBT_APMSUSPEND = 0x0004 } 1621 -enum : uint { PBT_APMSTANDBY = 0x0005 } 1622 - 1623 -enum : uint { PBT_APMRESUMECRITICAL = 0x0006 } 1624 -enum : uint { PBT_APMRESUMESUSPEND = 0x0007 } 1625 -enum : uint { PBT_APMRESUMESTANDBY = 0x0008 } 1626 - 1627 -enum : uint { PBTF_APMRESUMEFROMFAILURE = 0x00000001 } 1628 - 1629 -enum : uint { PBT_APMBATTERYLOW = 0x0009 } 1630 -enum : uint { PBT_APMPOWERSTATUSCHANGE = 0x000A } 1631 - 1632 -enum : uint { PBT_APMOEMEVENT = 0x000B } 1633 -enum : uint { PBT_APMRESUMEAUTOMATIC = 0x0012 } 1634 -// #endif 1635 - 1636 -// #endif /* WINVER >= 0x0400 */ 1637 - 1638 -// #if(WINVER >= 0x0400) 1639 -enum : uint { WM_DEVICECHANGE = 0x0219 } 1640 -// #endif /* WINVER >= 0x0400 */ 1641 - 1642 -enum : uint { WM_MDICREATE = 0x0220 } 1643 -enum : uint { WM_MDIDESTROY = 0x0221 } 1644 -enum : uint { WM_MDIACTIVATE = 0x0222 } 1645 -enum : uint { WM_MDIRESTORE = 0x0223 } 1646 -enum : uint { WM_MDINEXT = 0x0224 } 1647 -enum : uint { WM_MDIMAXIMIZE = 0x0225 } 1648 -enum : uint { WM_MDITILE = 0x0226 } 1649 -enum : uint { WM_MDICASCADE = 0x0227 } 1650 -enum : uint { WM_MDIICONARRANGE = 0x0228 } 1651 -enum : uint { WM_MDIGETACTIVE = 0x0229 } 1652 - 1653 -enum : uint { WM_MDISETMENU = 0x0230 } 1654 -enum : uint { WM_ENTERSIZEMOVE = 0x0231 } 1655 -enum : uint { WM_EXITSIZEMOVE = 0x0232 } 1656 -enum : uint { WM_DROPFILES = 0x0233 } 1657 -enum : uint { WM_MDIREFRESHMENU = 0x0234 } 1658 - 1659 -// #if(WINVER >= 0x0400) 1660 -enum : uint { WM_IME_SETCONTEXT = 0x0281 } 1661 -enum : uint { WM_IME_NOTIFY = 0x0282 } 1662 -enum : uint { WM_IME_CONTROL = 0x0283 } 1663 -enum : uint { WM_IME_COMPOSITIONFULL = 0x0284 } 1664 -enum : uint { WM_IME_SELECT = 0x0285 } 1665 -enum : uint { WM_IME_CHAR = 0x0286 } 1666 -// #endif /* WINVER >= 0x0400 */ 1667 -// #if(WINVER >= 0x0500) 1668 -enum : uint { WM_IME_REQUEST = 0x0288 } 1669 -// #endif /* WINVER >= 0x0500 */ 1670 -// #if(WINVER >= 0x0400) 1671 -enum : uint { WM_IME_KEYDOWN = 0x0290 } 1672 -enum : uint { WM_IME_KEYUP = 0x0291 } 1673 -// #endif /* WINVER >= 0x0400 */ 1674 - 1675 -// #if((_WIN32_WINNT >= 0x0400) || (WINVER >= 0x0500)) 1676 -enum : uint { WM_MOUSEHOVER = 0x02A1 } 1677 -enum : uint { WM_MOUSELEAVE = 0x02A3 } 1678 -// #endif 1679 -// #if(WINVER >= 0x0500) 1680 -enum : uint { WM_NCMOUSEHOVER = 0x02A0 } 1681 -enum : uint { WM_NCMOUSELEAVE = 0x02A2 } 1682 -// #endif /* WINVER >= 0x0500 */ 1683 - 1684 -// #if(_WIN32_WINNT >= 0x0501) 1685 -enum : uint { WM_WTSSESSION_CHANGE = 0x02B1 } 1686 - 1687 -enum : uint { WM_TABLET_FIRST = 0x02c0 } 1688 -enum : uint { WM_TABLET_LAST = 0x02df } 1689 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1690 - 1691 -enum : uint { WM_CUT = 0x0300 } 1692 -enum : uint { WM_COPY = 0x0301 } 1693 -enum : uint { WM_PASTE = 0x0302 } 1694 -enum : uint { WM_CLEAR = 0x0303 } 1695 -enum : uint { WM_UNDO = 0x0304 } 1696 -enum : uint { WM_RENDERFORMAT = 0x0305 } 1697 -enum : uint { WM_RENDERALLFORMATS = 0x0306 } 1698 -enum : uint { WM_DESTROYCLIPBOARD = 0x0307 } 1699 -enum : uint { WM_DRAWCLIPBOARD = 0x0308 } 1700 -enum : uint { WM_PAINTCLIPBOARD = 0x0309 } 1701 -enum : uint { WM_VSCROLLCLIPBOARD = 0x030A } 1702 -enum : uint { WM_SIZECLIPBOARD = 0x030B } 1703 -enum : uint { WM_ASKCBFORMATNAME = 0x030C } 1704 -enum : uint { WM_CHANGECBCHAIN = 0x030D } 1705 -enum : uint { WM_HSCROLLCLIPBOARD = 0x030E } 1706 -enum : uint { WM_QUERYNEWPALETTE = 0x030F } 1707 -enum : uint { WM_PALETTEISCHANGING = 0x0310 } 1708 -enum : uint { WM_PALETTECHANGED = 0x0311 } 1709 -enum : uint { WM_HOTKEY = 0x0312 } 1710 - 1711 -// #if(WINVER >= 0x0400) 1712 -enum : uint { WM_PRINT = 0x0317 } 1713 -enum : uint { WM_PRINTCLIENT = 0x0318 } 1714 -// #endif /* WINVER >= 0x0400 */ 1715 - 1716 -// #if(_WIN32_WINNT >= 0x0500) 1717 -enum : uint { WM_APPCOMMAND = 0x0319 } 1718 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1719 - 1720 -// #if(_WIN32_WINNT >= 0x0501) 1721 -enum : uint { WM_THEMECHANGED = 0x031A } 1722 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1723 - 1724 -// #if(WINVER >= 0x0400) 1725 - 1726 -enum : uint { WM_HANDHELDFIRST = 0x0358 } 1727 -enum : uint { WM_HANDHELDLAST = 0x035F } 1728 - 1729 -enum : uint { WM_AFXFIRST = 0x0360 } 1730 -enum : uint { WM_AFXLAST = 0x037F } 1731 -// #endif /* WINVER >= 0x0400 */ 1732 - 1733 -enum : uint { WM_PENWINFIRST = 0x0380 } 1734 -enum : uint { WM_PENWINLAST = 0x038F } 1735 - 1736 -// #if(WINVER >= 0x0400) 1737 -enum : uint { WM_APP = 0x8000 } 1738 -// #endif /* WINVER >= 0x0400 */ 1739 - 1740 -enum : uint { WM_USER = 0x0400 } 1741 - 1742 -// #if(WINVER >= 0x0400) 1743 - 1744 -enum : uint { WMSZ_LEFT = 1 } 1745 -enum : uint { WMSZ_RIGHT = 2 } 1746 -enum : uint { WMSZ_TOP = 3 } 1747 -enum : uint { WMSZ_TOPLEFT = 4 } 1748 -enum : uint { WMSZ_TOPRIGHT = 5 } 1749 -enum : uint { WMSZ_BOTTOM = 6 } 1750 -enum : uint { WMSZ_BOTTOMLEFT = 7 } 1751 -enum : uint { WMSZ_BOTTOMRIGHT = 8 } 1752 -// #endif /* WINVER >= 0x0400 */ 1753 - 1754 -// #ifndef NONCMESSAGES 1755 - 1756 -enum { HTERROR = -2 } 1757 -enum { HTTRANSPARENT = -1 } 1758 -enum : uint { HTNOWHERE = 0 } 1759 -enum : uint { HTCLIENT = 1 } 1760 -enum : uint { HTCAPTION = 2 } 1761 -enum : uint { HTSYSMENU = 3 } 1762 -enum : uint { HTGROWBOX = 4 } 1763 -alias HTGROWBOX HTSIZE; 1764 -enum : uint { HTMENU = 5 } 1765 -enum : uint { HTHSCROLL = 6 } 1766 -enum : uint { HTVSCROLL = 7 } 1767 -enum : uint { HTMINBUTTON = 8 } 1768 -enum : uint { HTMAXBUTTON = 9 } 1769 -enum : uint { HTLEFT = 10 } 1770 -enum : uint { HTRIGHT = 11 } 1771 -enum : uint { HTTOP = 12 } 1772 -enum : uint { HTTOPLEFT = 13 } 1773 -enum : uint { HTTOPRIGHT = 14 } 1774 -enum : uint { HTBOTTOM = 15 } 1775 -enum : uint { HTBOTTOMLEFT = 16 } 1776 -enum : uint { HTBOTTOMRIGHT = 17 } 1777 -enum : uint { HTBORDER = 18 } 1778 -alias HTMINBUTTON HTREDUCE; 1779 -alias HTMAXBUTTON HTZOOM; 1780 -alias HTLEFT HTSIZEFIRST; 1781 -alias HTBOTTOMRIGHT HTSIZELAST; 1782 -// #if(WINVER >= 0x0400) 1783 -enum : uint { HTOBJECT = 19 } 1784 -enum : uint { HTCLOSE = 20 } 1785 -enum : uint { HTHELP = 21 } 1786 -// #endif /* WINVER >= 0x0400 */ 1787 - 1788 -enum : uint { SMTO_NORMAL = 0x0000 } 1789 -enum : uint { SMTO_BLOCK = 0x0001 } 1790 -enum : uint { SMTO_ABORTIFHUNG = 0x0002 } 1791 -// #if(WINVER >= 0x0500) 1792 -enum : uint { SMTO_NOTIMEOUTIFNOTHUNG = 0x0008 } 1793 -// #endif /* WINVER >= 0x0500 */ 1794 -// #endif /* !NONCMESSAGES */ 1795 - 1796 -enum : uint { MA_ACTIVATE = 1 } 1797 -enum : uint { MA_ACTIVATEANDEAT = 2 } 1798 -enum : uint { MA_NOACTIVATE = 3 } 1799 -enum : uint { MA_NOACTIVATEANDEAT = 4 } 1800 - 1801 -enum : uint { ICON_SMALL = 0 } 1802 -enum : uint { ICON_BIG = 1 } 1803 -// #if(_WIN32_WINNT >= 0x0501) 1804 -enum : uint { ICON_SMALL2 = 2 } 1805 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1806 - 1807 -extern(Windows) export UINT RegisterWindowMessageA( 1808 - LPCSTR lpString); 1809 -extern(Windows) export UINT RegisterWindowMessageW( 1810 - LPCWSTR lpString); 1811 -// #ifdef UNICODE 1812 -alias RegisterWindowMessageW RegisterWindowMessage; 1813 -// #else 1814 -// #... 1815 -// #endif // !UNICODE 1816 - 1817 -enum : uint { SIZE_RESTORED = 0 } 1818 -enum : uint { SIZE_MINIMIZED = 1 } 1819 -enum : uint { SIZE_MAXIMIZED = 2 } 1820 -enum : uint { SIZE_MAXSHOW = 3 } 1821 -enum : uint { SIZE_MAXHIDE = 4 } 1822 - 1823 -alias SIZE_RESTORED SIZENORMAL; 1824 -alias SIZE_MINIMIZED SIZEICONIC; 1825 -alias SIZE_MAXIMIZED SIZEFULLSCREEN; 1826 -alias SIZE_MAXSHOW SIZEZOOMSHOW; 1827 -alias SIZE_MAXHIDE SIZEZOOMHIDE; 1828 - 1829 -struct tagWINDOWPOS { 1830 - HWND hwnd; 1831 - HWND hwndInsertAfter; 1832 - int x; 1833 - int y; 1834 - int cx; 1835 - int cy; 1836 - UINT flags; 1837 -} 1838 -alias tagWINDOWPOS WINDOWPOS; 1839 -alias tagWINDOWPOS* LPWINDOWPOS; 1840 -alias tagWINDOWPOS* PWINDOWPOS; 1841 - 1842 -struct tagNCCALCSIZE_PARAMS { 1843 - RECT rgrc[3]; 1844 - PWINDOWPOS lppos; 1845 -} 1846 -alias tagNCCALCSIZE_PARAMS NCCALCSIZE_PARAMS; 1847 -alias tagNCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 1848 - 1849 -enum : uint { WVR_ALIGNTOP = 0x0010 } 1850 -enum : uint { WVR_ALIGNLEFT = 0x0020 } 1851 -enum : uint { WVR_ALIGNBOTTOM = 0x0040 } 1852 -enum : uint { WVR_ALIGNRIGHT = 0x0080 } 1853 -enum : uint { WVR_HREDRAW = 0x0100 } 1854 -enum : uint { WVR_VREDRAW = 0x0200 } 1855 -enum : uint { WVR_REDRAW = WVR_HREDRAW | WVR_VREDRAW } 1856 -enum : uint { WVR_VALIDRECTS = 0x0400 } 1857 - 1858 -// #ifndef NOKEYSTATES 1859 - 1860 -enum : uint { MK_LBUTTON = 0x0001 } 1861 -enum : uint { MK_RBUTTON = 0x0002 } 1862 -enum : uint { MK_SHIFT = 0x0004 } 1863 -enum : uint { MK_CONTROL = 0x0008 } 1864 -enum : uint { MK_MBUTTON = 0x0010 } 1865 -// #if(_WIN32_WINNT >= 0x0500) 1866 -enum : uint { MK_XBUTTON1 = 0x0020 } 1867 -enum : uint { MK_XBUTTON2 = 0x0040 } 1868 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1869 - 1870 -// #endif /* !NOKEYSTATES */ 1871 - 1872 -// #if(_WIN32_WINNT >= 0x0400) 1873 -// #ifndef NOTRACKMOUSEEVENT 1874 - 1875 -enum : uint { TME_HOVER = 0x00000001 } 1876 -enum : uint { TME_LEAVE = 0x00000002 } 1877 -// #if(WINVER >= 0x0500) 1878 -enum : uint { TME_NONCLIENT = 0x00000010 } 1879 -// #endif /* WINVER >= 0x0500 */ 1880 -enum : uint { TME_QUERY = 0x40000000 } 1881 -enum : uint { TME_CANCEL = 0x80000000 } 1882 - 1883 -enum : uint { HOVER_DEFAULT = 0xFFFFFFFF } 1884 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1885 - 1886 -// #if(_WIN32_WINNT >= 0x0400) 1887 -struct tagTRACKMOUSEEVENT { 1888 - DWORD cbSize; 1889 - DWORD dwFlags; 1890 - HWND hwndTrack; 1891 - DWORD dwHoverTime; 1892 -} 1893 -alias tagTRACKMOUSEEVENT TRACKMOUSEEVENT; 1894 -alias tagTRACKMOUSEEVENT* LPTRACKMOUSEEVENT; 1895 - 1896 -extern(Windows) export BOOL TrackMouseEvent( 1897 - LPTRACKMOUSEEVENT lpEventTrack); 1898 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1899 - 1900 -// #if(_WIN32_WINNT >= 0x0400) 1901 - 1902 -// #endif /* !NOTRACKMOUSEEVENT */ 1903 -// #endif /* _WIN32_WINNT >= 0x0400 */ 1904 - 1905 -// #endif /* !NOWINMESSAGES */ 1906 - 1907 -// #ifndef NOWINSTYLES 1908 - 1909 -enum : uint { WS_OVERLAPPED = 0x00000000 } 1910 -enum : uint { WS_POPUP = 0x80000000 } 1911 -enum : uint { WS_CHILD = 0x40000000 } 1912 -enum : uint { WS_MINIMIZE = 0x20000000 } 1913 -enum : uint { WS_VISIBLE = 0x10000000 } 1914 -enum : uint { WS_DISABLED = 0x08000000 } 1915 -enum : uint { WS_CLIPSIBLINGS = 0x04000000 } 1916 -enum : uint { WS_CLIPCHILDREN = 0x02000000 } 1917 -enum : uint { WS_MAXIMIZE = 0x01000000 } 1918 -enum : uint { WS_CAPTION = 0x00C00000 } 1919 -enum : uint { WS_BORDER = 0x00800000 } 1920 -enum : uint { WS_DLGFRAME = 0x00400000 } 1921 -enum : uint { WS_VSCROLL = 0x00200000 } 1922 -enum : uint { WS_HSCROLL = 0x00100000 } 1923 -enum : uint { WS_SYSMENU = 0x00080000 } 1924 -enum : uint { WS_THICKFRAME = 0x00040000 } 1925 -enum : uint { WS_GROUP = 0x00020000 } 1926 -enum : uint { WS_TABSTOP = 0x00010000 } 1927 - 1928 -enum : uint { WS_MINIMIZEBOX = 0x00020000 } 1929 -enum : uint { WS_MAXIMIZEBOX = 0x00010000 } 1930 - 1931 -alias WS_OVERLAPPED WS_TILED; 1932 -alias WS_MINIMIZE WS_ICONIC; 1933 -alias WS_THICKFRAME WS_SIZEBOX; 1934 -// #define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW 1935 - 1936 -enum : uint { WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX } 1937 - 1938 -enum : uint { WS_POPUPWINDOW = WS_POPUP | WS_BORDER | WS_SYSMENU } 1939 - 1940 -enum : uint { WS_CHILDWINDOW = WS_CHILD } 1941 - 1942 -enum : uint { WS_EX_DLGMODALFRAME = 0x00000001 } 1943 -enum : uint { WS_EX_NOPARENTNOTIFY = 0x00000004 } 1944 -enum : uint { WS_EX_TOPMOST = 0x00000008 } 1945 -enum : uint { WS_EX_ACCEPTFILES = 0x00000010 } 1946 -enum : uint { WS_EX_TRANSPARENT = 0x00000020 } 1947 -// #if(WINVER >= 0x0400) 1948 -enum : uint { WS_EX_MDICHILD = 0x00000040 } 1949 -enum : uint { WS_EX_TOOLWINDOW = 0x00000080 } 1950 -enum : uint { WS_EX_WINDOWEDGE = 0x00000100 } 1951 -enum : uint { WS_EX_CLIENTEDGE = 0x00000200 } 1952 -enum : uint { WS_EX_CONTEXTHELP = 0x00000400 } 1953 - 1954 -// #endif /* WINVER >= 0x0400 */ 1955 -// #if(WINVER >= 0x0400) 1956 - 1957 -enum : uint { WS_EX_RIGHT = 0x00001000 } 1958 -enum : uint { WS_EX_LEFT = 0x00000000 } 1959 -enum : uint { WS_EX_RTLREADING = 0x00002000 } 1960 -enum : uint { WS_EX_LTRREADING = 0x00000000 } 1961 -enum : uint { WS_EX_LEFTSCROLLBAR = 0x00004000 } 1962 -enum : uint { WS_EX_RIGHTSCROLLBAR = 0x00000000 } 1963 - 1964 -enum : uint { WS_EX_CONTROLPARENT = 0x00010000 } 1965 -enum : uint { WS_EX_STATICEDGE = 0x00020000 } 1966 -enum : uint { WS_EX_APPWINDOW = 0x00040000 } 1967 - 1968 -enum : uint { WS_EX_OVERLAPPEDWINDOW = WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE } 1969 -enum : uint { WS_EX_PALETTEWINDOW = WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST } 1970 - 1971 -// #endif /* WINVER >= 0x0400 */ 1972 - 1973 -// #if(_WIN32_WINNT >= 0x0500) 1974 -enum : uint { WS_EX_LAYERED = 0x00080000 } 1975 - 1976 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1977 - 1978 -// #if(WINVER >= 0x0500) 1979 -enum : uint { WS_EX_NOINHERITLAYOUT = 0x00100000 } 1980 -enum : uint { WS_EX_LAYOUTRTL = 0x00400000 } 1981 -// #endif /* WINVER >= 0x0500 */ 1982 - 1983 -// #if(_WIN32_WINNT >= 0x0501) 1984 -enum : uint { WS_EX_COMPOSITED = 0x02000000 } 1985 -// #endif /* _WIN32_WINNT >= 0x0501 */ 1986 -// #if(_WIN32_WINNT >= 0x0500) 1987 -enum : uint { WS_EX_NOACTIVATE = 0x08000000 } 1988 -// #endif /* _WIN32_WINNT >= 0x0500 */ 1989 - 1990 -enum : uint { CS_VREDRAW = 0x0001 } 1991 -enum : uint { CS_HREDRAW = 0x0002 } 1992 -enum : uint { CS_DBLCLKS = 0x0008 } 1993 -enum : uint { CS_OWNDC = 0x0020 } 1994 -enum : uint { CS_CLASSDC = 0x0040 } 1995 -enum : uint { CS_PARENTDC = 0x0080 } 1996 -enum : uint { CS_NOCLOSE = 0x0200 } 1997 -enum : uint { CS_SAVEBITS = 0x0800 } 1998 -enum : uint { CS_BYTEALIGNCLIENT = 0x1000 } 1999 -enum : uint { CS_BYTEALIGNWINDOW = 0x2000 } 2000 -enum : uint { CS_GLOBALCLASS = 0x4000 } 2001 - 2002 -enum : uint { CS_IME = 0x00010000 } 2003 -// #if(_WIN32_WINNT >= 0x0501) 2004 -enum : uint { CS_DROPSHADOW = 0x00020000 } 2005 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2006 - 2007 -// #endif /* !NOWINSTYLES */ 2008 -// #if(WINVER >= 0x0400) 2009 - 2010 -enum : uint { PRF_CHECKVISIBLE = 0x00000001 } 2011 -enum : uint { PRF_NONCLIENT = 0x00000002 } 2012 -enum : uint { PRF_CLIENT = 0x00000004 } 2013 -enum : uint { PRF_ERASEBKGND = 0x00000008 } 2014 -enum : uint { PRF_CHILDREN = 0x00000010 } 2015 -enum : uint { PRF_OWNED = 0x00000020 } 2016 - 2017 -enum : uint { BDR_RAISEDOUTER = 0x0001 } 2018 -enum : uint { BDR_SUNKENOUTER = 0x0002 } 2019 -enum : uint { BDR_RAISEDINNER = 0x0004 } 2020 -enum : uint { BDR_SUNKENINNER = 0x0008 } 2021 - 2022 -enum : uint { BDR_OUTER = BDR_RAISEDOUTER | BDR_SUNKENOUTER } 2023 -enum : uint { BDR_INNER = BDR_RAISEDINNER | BDR_SUNKENINNER } 2024 -enum : uint { BDR_RAISED = BDR_RAISEDOUTER | BDR_RAISEDINNER } 2025 -enum : uint { BDR_SUNKEN = BDR_SUNKENOUTER | BDR_SUNKENINNER } 2026 - 2027 -enum : uint { EDGE_RAISED = BDR_RAISEDOUTER | BDR_RAISEDINNER } 2028 -enum : uint { EDGE_SUNKEN = BDR_SUNKENOUTER | BDR_SUNKENINNER } 2029 -enum : uint { EDGE_ETCHED = BDR_SUNKENOUTER | BDR_RAISEDINNER } 2030 -enum : uint { EDGE_BUMP = BDR_RAISEDOUTER | BDR_SUNKENINNER } 2031 - 2032 -enum : uint { BF_LEFT = 0x0001 } 2033 -enum : uint { BF_TOP = 0x0002 } 2034 -enum : uint { BF_RIGHT = 0x0004 } 2035 -enum : uint { BF_BOTTOM = 0x0008 } 2036 - 2037 -enum : uint { BF_TOPLEFT = BF_TOP | BF_LEFT } 2038 -enum : uint { BF_TOPRIGHT = BF_TOP | BF_RIGHT } 2039 -enum : uint { BF_BOTTOMLEFT = BF_BOTTOM | BF_LEFT } 2040 -enum : uint { BF_BOTTOMRIGHT = BF_BOTTOM | BF_RIGHT } 2041 -enum : uint { BF_RECT = BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM } 2042 - 2043 -enum : uint { BF_DIAGONAL = 0x0010 } 2044 - 2045 -enum : uint { BF_DIAGONAL_ENDTOPRIGHT = BF_DIAGONAL | BF_TOP | BF_RIGHT } 2046 -enum : uint { BF_DIAGONAL_ENDTOPLEFT = BF_DIAGONAL | BF_TOP | BF_LEFT } 2047 -enum : uint { BF_DIAGONAL_ENDBOTTOMLEFT = BF_DIAGONAL | BF_BOTTOM | BF_LEFT } 2048 -enum : uint { BF_DIAGONAL_ENDBOTTOMRIGHT = BF_DIAGONAL | BF_BOTTOM | BF_RIGHT } 2049 - 2050 -enum : uint { BF_MIDDLE = 0x0800 } 2051 -enum : uint { BF_SOFT = 0x1000 } 2052 -enum : uint { BF_ADJUST = 0x2000 } 2053 -enum : uint { BF_FLAT = 0x4000 } 2054 -enum : uint { BF_MONO = 0x8000 } 2055 - 2056 -extern(Windows) export BOOL DrawEdge( 2057 - HDC hdc, 2058 - LPRECT qrc, 2059 - UINT edge, 2060 - UINT grfFlags); 2061 - 2062 -enum : uint { DFC_CAPTION = 1 } 2063 -enum : uint { DFC_MENU = 2 } 2064 -enum : uint { DFC_SCROLL = 3 } 2065 -enum : uint { DFC_BUTTON = 4 } 2066 -// #if(WINVER >= 0x0500) 2067 -enum : uint { DFC_POPUPMENU = 5 } 2068 -// #endif /* WINVER >= 0x0500 */ 2069 - 2070 -enum : uint { DFCS_CAPTIONCLOSE = 0x0000 } 2071 -enum : uint { DFCS_CAPTIONMIN = 0x0001 } 2072 -enum : uint { DFCS_CAPTIONMAX = 0x0002 } 2073 -enum : uint { DFCS_CAPTIONRESTORE = 0x0003 } 2074 -enum : uint { DFCS_CAPTIONHELP = 0x0004 } 2075 - 2076 -enum : uint { DFCS_MENUARROW = 0x0000 } 2077 -enum : uint { DFCS_MENUCHECK = 0x0001 } 2078 -enum : uint { DFCS_MENUBULLET = 0x0002 } 2079 -enum : uint { DFCS_MENUARROWRIGHT = 0x0004 } 2080 -enum : uint { DFCS_SCROLLUP = 0x0000 } 2081 -enum : uint { DFCS_SCROLLDOWN = 0x0001 } 2082 -enum : uint { DFCS_SCROLLLEFT = 0x0002 } 2083 -enum : uint { DFCS_SCROLLRIGHT = 0x0003 } 2084 -enum : uint { DFCS_SCROLLCOMBOBOX = 0x0005 } 2085 -enum : uint { DFCS_SCROLLSIZEGRIP = 0x0008 } 2086 -enum : uint { DFCS_SCROLLSIZEGRIPRIGHT = 0x0010 } 2087 - 2088 -enum : uint { DFCS_BUTTONCHECK = 0x0000 } 2089 -enum : uint { DFCS_BUTTONRADIOIMAGE = 0x0001 } 2090 -enum : uint { DFCS_BUTTONRADIOMASK = 0x0002 } 2091 -enum : uint { DFCS_BUTTONRADIO = 0x0004 } 2092 -enum : uint { DFCS_BUTTON3STATE = 0x0008 } 2093 -enum : uint { DFCS_BUTTONPUSH = 0x0010 } 2094 - 2095 -enum : uint { DFCS_INACTIVE = 0x0100 } 2096 -enum : uint { DFCS_PUSHED = 0x0200 } 2097 -enum : uint { DFCS_CHECKED = 0x0400 } 2098 - 2099 -// #if(WINVER >= 0x0500) 2100 -enum : uint { DFCS_TRANSPARENT = 0x0800 } 2101 -enum : uint { DFCS_HOT = 0x1000 } 2102 -// #endif /* WINVER >= 0x0500 */ 2103 - 2104 -enum : uint { DFCS_ADJUSTRECT = 0x2000 } 2105 -enum : uint { DFCS_FLAT = 0x4000 } 2106 -enum : uint { DFCS_MONO = 0x8000 } 2107 - 2108 -extern(Windows) export BOOL DrawFrameControl( 2109 - HDC, 2110 - LPRECT, 2111 - UINT, 2112 - UINT); 2113 - 2114 -enum : uint { DC_ACTIVE = 0x0001 } 2115 -enum : uint { DC_SMALLCAP = 0x0002 } 2116 -enum : uint { DC_ICON = 0x0004 } 2117 -enum : uint { DC_TEXT = 0x0008 } 2118 -enum : uint { DC_INBUTTON = 0x0010 } 2119 -// #if(WINVER >= 0x0500) 2120 -enum : uint { DC_GRADIENT = 0x0020 } 2121 -// #endif /* WINVER >= 0x0500 */ 2122 -// #if(_WIN32_WINNT >= 0x0501) 2123 -enum : uint { DC_BUTTONS = 0x1000 } 2124 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2125 - 2126 -extern(Windows) export BOOL DrawCaption(HWND, HDC, RECT *, UINT); 2127 - 2128 -enum : uint { IDANI_OPEN = 1 } 2129 -enum : uint { IDANI_CAPTION = 3 } 2130 - 2131 -extern(Windows) export BOOL DrawAnimatedRects( 2132 - HWND hwnd, 2133 - int idAni, 2134 - RECT * lprcFrom, 2135 - RECT * lprcTo); 2136 - 2137 -// #endif /* WINVER >= 0x0400 */ 2138 - 2139 -// #ifndef NOCLIPBOARD 2140 - 2141 -enum : uint { CF_TEXT = 1 } 2142 -enum : uint { CF_BITMAP = 2 } 2143 -enum : uint { CF_METAFILEPICT = 3 } 2144 -enum : uint { CF_SYLK = 4 } 2145 -enum : uint { CF_DIF = 5 } 2146 -enum : uint { CF_TIFF = 6 } 2147 -enum : uint { CF_OEMTEXT = 7 } 2148 -enum : uint { CF_DIB = 8 } 2149 -enum : uint { CF_PALETTE = 9 } 2150 -enum : uint { CF_PENDATA = 10 } 2151 -enum : uint { CF_RIFF = 11 } 2152 -enum : uint { CF_WAVE = 12 } 2153 -enum : uint { CF_UNICODETEXT = 13 } 2154 -enum : uint { CF_ENHMETAFILE = 14 } 2155 -// #if(WINVER >= 0x0400) 2156 -enum : uint { CF_HDROP = 15 } 2157 -enum : uint { CF_LOCALE = 16 } 2158 -// #endif /* WINVER >= 0x0400 */ 2159 -// #if(WINVER >= 0x0500) 2160 -enum : uint { CF_DIBV5 = 17 } 2161 -// #endif /* WINVER >= 0x0500 */ 2162 - 2163 -// #if(WINVER >= 0x0500) 2164 -enum : uint { CF_MAX = 18 } 2165 -// #elif(WINVER >= 0x0400) 2166 -// #... 2167 -// #else 2168 -// #... 2169 -// #endif 2170 - 2171 -enum : uint { CF_OWNERDISPLAY = 0x0080 } 2172 -enum : uint { CF_DSPTEXT = 0x0081 } 2173 -enum : uint { CF_DSPBITMAP = 0x0082 } 2174 -enum : uint { CF_DSPMETAFILEPICT = 0x0083 } 2175 -enum : uint { CF_DSPENHMETAFILE = 0x008E } 2176 - 2177 -enum : uint { CF_PRIVATEFIRST = 0x0200 } 2178 -enum : uint { CF_PRIVATELAST = 0x02FF } 2179 - 2180 -enum : uint { CF_GDIOBJFIRST = 0x0300 } 2181 -enum : uint { CF_GDIOBJLAST = 0x03FF } 2182 - 2183 -// #endif /* !NOCLIPBOARD */ 2184 - 2185 -alias TRUE FVIRTKEY; 2186 -enum : uint { FNOINVERT = 0x02 } 2187 -enum : uint { FSHIFT = 0x04 } 2188 -enum : uint { FCONTROL = 0x08 } 2189 -enum : uint { FALT = 0x10 } 2190 - 2191 -struct tagACCEL { 2192 -// #ifndef _MAC 2193 - BYTE fVirt; 2194 - WORD key; 2195 - WORD cmd; 2196 -// #else 2197 -// ... 2198 -// #endif 2199 -} 2200 -alias tagACCEL ACCEL; 2201 -alias tagACCEL* LPACCEL; 2202 - 2203 -struct tagPAINTSTRUCT { 2204 - HDC hdc; 2205 - BOOL fErase; 2206 - RECT rcPaint; 2207 - BOOL fRestore; 2208 - BOOL fIncUpdate; 2209 - BYTE rgbReserved[32]; 2210 -} 2211 -alias tagPAINTSTRUCT PAINTSTRUCT; 2212 -alias tagPAINTSTRUCT* PPAINTSTRUCT; 2213 -alias tagPAINTSTRUCT* NPPAINTSTRUCT; 2214 -alias tagPAINTSTRUCT* LPPAINTSTRUCT; 2215 - 2216 -struct tagCREATESTRUCTA { 2217 - LPVOID lpCreateParams; 2218 - HINSTANCE hInstance; 2219 - HMENU hMenu; 2220 - HWND hwndParent; 2221 - int cy; 2222 - int cx; 2223 - int y; 2224 - int x; 2225 - LONG style; 2226 - LPCSTR lpszName; 2227 - LPCSTR lpszClass; 2228 - DWORD dwExStyle; 2229 -} 2230 -alias tagCREATESTRUCTA CREATESTRUCTA; 2231 -alias tagCREATESTRUCTA* LPCREATESTRUCTA; 2232 - 2233 -struct tagCREATESTRUCTW { 2234 - LPVOID lpCreateParams; 2235 - HINSTANCE hInstance; 2236 - HMENU hMenu; 2237 - HWND hwndParent; 2238 - int cy; 2239 - int cx; 2240 - int y; 2241 - int x; 2242 - LONG style; 2243 - LPCWSTR lpszName; 2244 - LPCWSTR lpszClass; 2245 - DWORD dwExStyle; 2246 -} 2247 -alias tagCREATESTRUCTW CREATESTRUCTW; 2248 -alias tagCREATESTRUCTW* LPCREATESTRUCTW; 2249 - 2250 -// #ifdef UNICODE 2251 -alias CREATESTRUCTW CREATESTRUCT; 2252 -alias LPCREATESTRUCTW LPCREATESTRUCT; 2253 -// #else 2254 -// ... 2255 -// #endif // UNICODE 2256 - 2257 -struct tagWINDOWPLACEMENT { 2258 - UINT length; 2259 - UINT flags; 2260 - UINT showCmd; 2261 - POINT ptMinPosition; 2262 - POINT ptMaxPosition; 2263 - RECT rcNormalPosition; 2264 -// #ifdef _MAC 2265 -// ... 2266 -// #endif 2267 -} 2268 -alias tagWINDOWPLACEMENT WINDOWPLACEMENT; 2269 - 2270 -alias WINDOWPLACEMENT* PWINDOWPLACEMENT; 2271 -alias WINDOWPLACEMENT* LPWINDOWPLACEMENT; 2272 - 2273 -enum : uint { WPF_SETMINPOSITION = 0x0001 } 2274 -enum : uint { WPF_RESTORETOMAXIMIZED = 0x0002 } 2275 -// #if(_WIN32_WINNT >= 0x0500) 2276 -enum : uint { WPF_ASYNCWINDOWPLACEMENT = 0x0004 } 2277 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2278 - 2279 -// #if(WINVER >= 0x0400) 2280 -struct tagNMHDR { 2281 - HWND hwndFrom; 2282 - UINT_PTR idFrom; 2283 - UINT code; 2284 -} 2285 -alias tagNMHDR NMHDR; 2286 - 2604 +alias HANDLE HDEVNOTIFY; 2605 + 2606 +struct ACCEL { 2607 + BYTE fVirt; 2608 + WORD key; 2609 + WORD cmd; 2610 +} 2611 +alias ACCEL* LPACCEL; 2612 + 2613 +struct ACCESSTIMEOUT { 2614 + UINT cbSize = ACCESSTIMEOUT.sizeof; 2615 + DWORD dwFlags; 2616 + DWORD iTimeOutMSec; 2617 +} 2618 +alias ACCESSTIMEOUT* LPACCESSTIMEOUT; 2619 + 2620 +struct ANIMATIONINFO { 2621 + UINT cbSize = ANIMATIONINFO.sizeof; 2622 + int iMinAnimate; 2623 +} 2624 +alias ANIMATIONINFO* LPANIMATIONINFO; 2625 + 2626 +struct CREATESTRUCTA { 2627 + LPVOID lpCreateParams; 2628 + HINSTANCE hInstance; 2629 + HMENU hMenu; 2630 + HWND hwndParent; 2631 + int cy; 2632 + int cx; 2633 + int y; 2634 + int x; 2635 + LONG style; 2636 + LPCSTR lpszName; 2637 + LPCSTR lpszClass; 2638 + DWORD dwExStyle; 2639 +} 2640 +alias CREATESTRUCTA* LPCREATESTRUCTA; 2641 + 2642 +struct CREATESTRUCTW { 2643 + LPVOID lpCreateParams; 2644 + HINSTANCE hInstance; 2645 + HMENU hMenu; 2646 + HWND hwndParent; 2647 + int cy; 2648 + int cx; 2649 + int y; 2650 + int x; 2651 + LONG style; 2652 + LPCWSTR lpszName; 2653 + LPCWSTR lpszClass; 2654 + DWORD dwExStyle; 2655 +} 2656 +alias CREATESTRUCTW* LPCREATESTRUCTW; 2657 + 2658 +struct CBT_CREATEWNDA { 2659 + LPCREATESTRUCTA lpcs; 2660 + HWND hwndInsertAfter; 2661 +} 2662 +alias CBT_CREATEWNDA* LPCBT_CREATEWNDA; 2663 + 2664 +struct CBT_CREATEWNDW { 2665 + LPCREATESTRUCTW lpcs; 2666 + HWND hwndInsertAfter; 2667 +} 2668 +alias CBT_CREATEWNDW* LPCBT_CREATEWNDW; 2669 + 2670 +struct CBTACTIVATESTRUCT { 2671 + BOOL fMouse; 2672 + HWND hWndActive; 2673 +} 2674 +alias CBTACTIVATESTRUCT* LPCBTACTIVATESTRUCT; 2675 + 2676 +struct CLIENTCREATESTRUCT { 2677 + HANDLE hWindowMenu; 2678 + UINT idFirstChild; 2679 +} 2680 +alias CLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 2681 + 2682 +struct COMPAREITEMSTRUCT { 2683 + UINT CtlType; 2684 + UINT CtlID; 2685 + HWND hwndItem; 2686 + UINT itemID1; 2687 + DWORD itemData1; 2688 + UINT itemID2; 2689 + DWORD itemData2; 2690 + DWORD dwLocaleId; 2691 +} 2692 +alias COMPAREITEMSTRUCT* LPCOMPAREITEMSTRUCT; 2693 + 2694 +struct COPYDATASTRUCT { 2695 + DWORD dwData; 2696 + DWORD cbData; 2697 + PVOID lpData; 2698 +} 2699 +alias COPYDATASTRUCT* PCOPYDATASTRUCT; 2700 + 2701 +struct CURSORSHAPE { 2702 + int xHotSpot; 2703 + int yHotSpot; 2704 + int cx; 2705 + int cy; 2706 + int cbWidth; 2707 + BYTE Planes; 2708 + BYTE BitsPixel; 2709 +} 2710 +alias CURSORSHAPE* LPCURSORSHAPE; 2711 + 2712 +struct CWPRETSTRUCT { 2713 + LRESULT lResult; 2714 + LPARAM lParam; 2715 + WPARAM wParam; 2716 + DWORD message; 2717 + HWND hwnd; 2718 +} 2719 + 2720 +struct CWPSTRUCT { 2721 + LPARAM lParam; 2722 + WPARAM wParam; 2723 + UINT message; 2724 + HWND hwnd; 2725 +} 2726 +alias CWPSTRUCT* PCWPSTRUCT; 2727 + 2728 +struct DEBUGHOOKINFO { 2729 + DWORD idThread; 2730 + DWORD idThreadInstaller; 2731 + LPARAM lParam; 2732 + WPARAM wParam; 2733 + int code; 2734 +} 2735 +alias DEBUGHOOKINFO* PDEBUGHOOKINFO, LPDEBUGHOOKINFO; 2736 + 2737 +struct DELETEITEMSTRUCT { 2738 + UINT CtlType; 2739 + UINT CtlID; 2740 + UINT itemID; 2741 + HWND hwndItem; 2742 + UINT itemData; 2743 +} 2744 +alias DELETEITEMSTRUCT* PDELETEITEMSTRUCT, LPDELETEITEMSTRUCT; 2745 + 2746 +align(2): 2747 +struct DLGITEMTEMPLATE { 2748 + DWORD style; 2749 + DWORD dwExtendedStyle; 2750 + short x; 2751 + short y; 2752 + short cx; 2753 + short cy; 2754 + WORD id; 2755 +} 2756 +alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATE; 2757 + 2758 +struct DLGTEMPLATE { 2759 + DWORD style; 2760 + DWORD dwExtendedStyle; 2761 + WORD cdit; 2762 + short x; 2763 + short y; 2764 + short cx; 2765 + short cy; 2766 +} 2767 +alias DLGTEMPLATE* LPDLGTEMPLATE, LPDLGTEMPLATEA, LPDLGTEMPLATEW; 2768 +alias CPtr!(DLGTEMPLATE) LPCDLGTEMPLATE; 2769 + 2770 +align: 2771 + 2772 +struct DRAWITEMSTRUCT { 2773 + UINT CtlType; 2774 + UINT CtlID; 2775 + UINT itemID; 2776 + UINT itemAction; 2777 + UINT itemState; 2778 + HWND hwndItem; 2779 + HDC hDC; 2780 + RECT rcItem; 2781 + DWORD itemData; 2782 +} 2783 +alias DRAWITEMSTRUCT* LPDRAWITEMSTRUCT, PDRAWITEMSTRUCT; 2784 + 2785 +struct DRAWTEXTPARAMS { 2786 + UINT cbSize = DRAWTEXTPARAMS.sizeof; 2787 + int iTabLength; 2788 + int iLeftMargin; 2789 + int iRightMargin; 2790 + UINT uiLengthDrawn; 2791 +} 2792 +alias DRAWTEXTPARAMS* LPDRAWTEXTPARAMS; 2793 + 2794 +struct PAINTSTRUCT { 2795 + HDC hdc; 2796 + BOOL fErase; 2797 + RECT rcPaint; 2798 + BOOL fRestore; 2799 + BOOL fIncUpdate; 2800 + BYTE[32] rgbReserved; 2801 +} 2802 +alias PAINTSTRUCT* LPPAINTSTRUCT; 2803 + 2804 +struct MSG { 2805 + HWND hwnd; 2806 + UINT message; 2807 + WPARAM wParam; 2808 + LPARAM lParam; 2809 + DWORD time; 2810 + POINT pt; 2811 +} 2812 +alias MSG* LPMSG, PMSG; 2813 + 2814 +struct ICONINFO { 2815 + BOOL fIcon; 2816 + DWORD xHotspot; 2817 + DWORD yHotspot; 2818 + HBITMAP hbmMask; 2819 + HBITMAP hbmColor; 2820 +} 2821 +alias ICONINFO* PICONINFO; 2822 + 2823 +struct NMHDR { 2824 + HWND hwndFrom; 2825 + UINT idFrom; 2826 + UINT code; 2827 +} 2287 2828 alias NMHDR* LPNMHDR; 2288 2829 2289 -struct tagSTYLESTRUCT { 2290 - DWORD styleOld; 2291 - DWORD styleNew; 2292 -} 2293 -alias tagSTYLESTRUCT STYLESTRUCT; 2294 -alias tagSTYLESTRUCT* LPSTYLESTRUCT; 2295 - 2296 -// #endif /* WINVER >= 0x0400 */ 2297 - 2298 -enum : uint { ODT_MENU = 1 } 2299 -enum : uint { ODT_LISTBOX = 2 } 2300 -enum : uint { ODT_COMBOBOX = 3 } 2301 -enum : uint { ODT_BUTTON = 4 } 2302 -// #if(WINVER >= 0x0400) 2303 -enum : uint { ODT_STATIC = 5 } 2304 -// #endif /* WINVER >= 0x0400 */ 2305 - 2306 -enum : uint { ODA_DRAWENTIRE = 0x0001 } 2307 -enum : uint { ODA_SELECT = 0x0002 } 2308 -enum : uint { ODA_FOCUS = 0x0004 } 2309 - 2310 -enum : uint { ODS_SELECTED = 0x0001 } 2311 -enum : uint { ODS_GRAYED = 0x0002 } 2312 -enum : uint { ODS_DISABLED = 0x0004 } 2313 -enum : uint { ODS_CHECKED = 0x0008 } 2314 -enum : uint { ODS_FOCUS = 0x0010 } 2315 -// #if(WINVER >= 0x0400) 2316 -enum : uint { ODS_DEFAULT = 0x0020 } 2317 -enum : uint { ODS_COMBOBOXEDIT = 0x1000 } 2318 -// #endif /* WINVER >= 0x0400 */ 2319 -// #if(WINVER >= 0x0500) 2320 -enum : uint { ODS_HOTLIGHT = 0x0040 } 2321 -enum : uint { ODS_INACTIVE = 0x0080 } 2322 -// #if(_WIN32_WINNT >= 0x0500) 2323 -enum : uint { ODS_NOACCEL = 0x0100 } 2324 -enum : uint { ODS_NOFOCUSRECT = 0x0200 } 2325 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2326 -// #endif /* WINVER >= 0x0500 */ 2327 - 2328 -struct tagMEASUREITEMSTRUCT { 2329 - UINT CtlType; 2330 - UINT CtlID; 2331 - UINT itemID; 2332 - UINT itemWidth; 2333 - UINT itemHeight; 2334 - ULONG_PTR itemData; 2335 -} 2336 -alias tagMEASUREITEMSTRUCT MEASUREITEMSTRUCT; 2337 -alias tagMEASUREITEMSTRUCT* PMEASUREITEMSTRUCT; 2338 -alias tagMEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT; 2339 - 2340 -struct tagDRAWITEMSTRUCT { 2341 - UINT CtlType; 2342 - UINT CtlID; 2343 - UINT itemID; 2344 - UINT itemAction; 2345 - UINT itemState; 2346 - HWND hwndItem; 2347 - HDC hDC; 2348 - RECT rcItem; 2349 - ULONG_PTR itemData; 2350 -} 2351 -alias tagDRAWITEMSTRUCT DRAWITEMSTRUCT; 2352 -alias tagDRAWITEMSTRUCT* PDRAWITEMSTRUCT; 2353 -alias tagDRAWITEMSTRUCT* LPDRAWITEMSTRUCT; 2354 - 2355 -struct tagDELETEITEMSTRUCT { 2356 - UINT CtlType; 2357 - UINT CtlID; 2358 - UINT itemID; 2359 - HWND hwndItem; 2360 - ULONG_PTR itemData; 2361 -} 2362 -alias tagDELETEITEMSTRUCT DELETEITEMSTRUCT; 2363 -alias tagDELETEITEMSTRUCT* PDELETEITEMSTRUCT; 2364 -alias tagDELETEITEMSTRUCT* LPDELETEITEMSTRUCT; 2365 - 2366 -struct tagCOMPAREITEMSTRUCT { 2367 - UINT CtlType; 2368 - UINT CtlID; 2369 - HWND hwndItem; 2370 - UINT itemID1; 2371 - ULONG_PTR itemData1; 2372 - UINT itemID2; 2373 - ULONG_PTR itemData2; 2374 - DWORD dwLocaleId; 2375 -} 2376 -alias tagCOMPAREITEMSTRUCT COMPAREITEMSTRUCT; 2377 -alias tagCOMPAREITEMSTRUCT* PCOMPAREITEMSTRUCT; 2378 -alias tagCOMPAREITEMSTRUCT* LPCOMPAREITEMSTRUCT; 2379 - 2380 -// #ifndef NOMSG 2381 - 2382 -extern(Windows) export BOOL GetMessageA( 2383 - LPMSG lpMsg, 2384 - HWND hWnd, 2385 - UINT wMsgFilterMin, 2386 - UINT wMsgFilterMax); 2387 -extern(Windows) export BOOL GetMessageW( 2388 - LPMSG lpMsg, 2389 - HWND hWnd, 2390 - UINT wMsgFilterMin, 2391 - UINT wMsgFilterMax); 2392 -// #ifdef UNICODE 2393 -alias GetMessageW GetMessage; 2394 -// #else 2395 -// #... 2396 -// #endif // !UNICODE 2397 - 2398 -extern(Windows) export BOOL TranslateMessage( 2399 - MSG *lpMsg); 2400 - 2401 -extern(Windows) export LRESULT DispatchMessageA( 2402 - MSG *lpMsg); 2403 -extern(Windows) export LRESULT DispatchMessageW( 2404 - MSG *lpMsg); 2405 -// #ifdef UNICODE 2406 -alias DispatchMessageW DispatchMessage; 2407 -// #else 2408 -// #... 2409 -// #endif // !UNICODE 2410 - 2411 -extern(Windows) export BOOL SetMessageQueue( 2412 - int cMessagesMax); 2413 - 2414 -extern(Windows) export BOOL PeekMessageA( 2415 - LPMSG lpMsg, 2416 - HWND hWnd, 2417 - UINT wMsgFilterMin, 2418 - UINT wMsgFilterMax, 2419 - UINT wRemoveMsg); 2420 -extern(Windows) export BOOL PeekMessageW( 2421 - LPMSG lpMsg, 2422 - HWND hWnd, 2423 - UINT wMsgFilterMin, 2424 - UINT wMsgFilterMax, 2425 - UINT wRemoveMsg); 2426 -// #ifdef UNICODE 2427 -alias PeekMessageW PeekMessage; 2428 -// #else 2429 -// #... 2430 -// #endif // !UNICODE 2431 - 2432 -enum : uint { PM_NOREMOVE = 0x0000 } 2433 -enum : uint { PM_REMOVE = 0x0001 } 2434 -enum : uint { PM_NOYIELD = 0x0002 } 2435 -// #if(WINVER >= 0x0500) 2436 -enum : uint { PM_QS_INPUT = QS_INPUT << 16 } 2437 -enum : uint { PM_QS_POSTMESSAGE = (QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16 } 2438 -enum : uint { PM_QS_PAINT = QS_PAINT << 16 } 2439 -enum : uint { PM_QS_SENDMESSAGE = QS_SENDMESSAGE << 16 } 2440 -// #endif /* WINVER >= 0x0500 */ 2441 - 2442 -// #endif /* !NOMSG */ 2443 - 2444 -extern(Windows) export BOOL RegisterHotKey( 2445 - HWND hWnd, 2446 - int id, 2447 - UINT fsModifiers, 2448 - UINT vk); 2449 - 2450 -extern(Windows) export BOOL UnregisterHotKey( 2451 - HWND hWnd, 2452 - int id); 2453 - 2454 -enum : uint { MOD_ALT = 0x0001 } 2455 -enum : uint { MOD_CONTROL = 0x0002 } 2456 -enum : uint { MOD_SHIFT = 0x0004 } 2457 -enum : uint { MOD_WIN = 0x0008 } 2458 - 2459 -enum { IDHOT_SNAPWINDOW = -1 } 2460 -enum { IDHOT_SNAPDESKTOP = -2 } 2461 - 2462 -// #ifdef WIN_INTERNAL 2463 -// #ifndef LSTRING 2464 -// #... 2465 -// #endif /* LSTRING */ 2466 -// #ifndef LFILEIO 2467 -// #... 2468 -// #endif /* LFILEIO */ 2469 -// #endif /* WIN_INTERNAL */ 2470 - 2471 -// #if(WINVER >= 0x0400) 2472 - 2473 -enum : uint { ENDSESSION_LOGOFF = 0x80000000 } 2474 -// #endif /* WINVER >= 0x0400 */ 2475 - 2476 -enum : uint { EWX_LOGOFF = 0 } 2477 -enum : uint { EWX_SHUTDOWN = 0x00000001 } 2478 -enum : uint { EWX_REBOOT = 0x00000002 } 2479 -enum : uint { EWX_FORCE = 0x00000004 } 2480 -enum : uint { EWX_POWEROFF = 0x00000008 } 2481 -// #if(_WIN32_WINNT >= 0x0500) 2482 -enum : uint { EWX_FORCEIFHUNG = 0x00000010 } 2483 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2484 - 2485 -BOOL ExitWindows(DWORD dwReserved, UINT Code){ return ExitWindowsEx(EWX_LOGOFF, 0xFFFFFFFF); } 2486 - 2487 -extern(Windows) export BOOL ExitWindowsEx( 2488 - UINT uFlags, 2489 - DWORD dwReserved); 2490 - 2491 -extern(Windows) export BOOL SwapMouseButton( 2492 - BOOL fSwap); 2493 - 2494 -extern(Windows) export DWORD GetMessagePos(); 2495 - 2496 -extern(Windows) export LONG GetMessageTime(); 2497 - 2498 -extern(Windows) export LPARAM GetMessageExtraInfo(); 2499 - 2500 -// #if(WINVER >= 0x0400) 2501 -extern(Windows) export LPARAM SetMessageExtraInfo( 2502 - LPARAM lParam); 2503 -// #endif /* WINVER >= 0x0400 */ 2504 - 2505 -extern(Windows) export LRESULT SendMessageA( 2506 - HWND hWnd, 2507 - UINT Msg, 2508 - WPARAM wParam, 2509 - LPARAM lParam); 2510 -extern(Windows) export LRESULT SendMessageW( 2511 - HWND hWnd, 2512 - UINT Msg, 2513 - WPARAM wParam, 2514 - LPARAM lParam); 2515 -// #ifdef UNICODE 2516 -alias SendMessageW SendMessage; 2517 -// #else 2518 -// #... 2519 -// #endif // !UNICODE 2520 - 2521 -extern(Windows) export LRESULT SendMessageTimeoutA( 2522 - HWND hWnd, 2523 - UINT Msg, 2524 - WPARAM wParam, 2525 - LPARAM lParam, 2526 - UINT fuFlags, 2527 - UINT uTimeout, 2528 - PDWORD_PTR lpdwResult); 2529 -extern(Windows) export LRESULT SendMessageTimeoutW( 2530 - HWND hWnd, 2531 - UINT Msg, 2532 - WPARAM wParam, 2533 - LPARAM lParam, 2534 - UINT fuFlags, 2535 - UINT uTimeout, 2536 - PDWORD_PTR lpdwResult); 2537 -// #ifdef UNICODE 2538 -alias SendMessageTimeoutW SendMessageTimeout; 2539 -// #else 2540 -// #... 2541 -// #endif // !UNICODE 2542 - 2543 -extern(Windows) export BOOL SendNotifyMessageA( 2544 - HWND hWnd, 2545 - UINT Msg, 2546 - WPARAM wParam, 2547 - LPARAM lParam); 2548 -extern(Windows) export BOOL SendNotifyMessageW( 2549 - HWND hWnd, 2550 - UINT Msg, 2551 - WPARAM wParam, 2552 - LPARAM lParam); 2553 -// #ifdef UNICODE 2554 -alias SendNotifyMessageW SendNotifyMessage; 2555 -// #else 2556 -// #... 2557 -// #endif // !UNICODE 2558 - 2559 -extern(Windows) export BOOL SendMessageCallbackA( 2560 - HWND hWnd, 2561 - UINT Msg, 2562 - WPARAM wParam, 2563 - LPARAM lParam, 2564 - SENDASYNCPROC lpResultCallBack, 2565 - ULONG_PTR dwData); 2566 -extern(Windows) export BOOL SendMessageCallbackW( 2567 - HWND hWnd, 2568 - UINT Msg, 2569 - WPARAM wParam, 2570 - LPARAM lParam, 2571 - SENDASYNCPROC lpResultCallBack, 2572 - ULONG_PTR dwData); 2573 -// #ifdef UNICODE 2574 -alias SendMessageCallbackW SendMessageCallback; 2575 -// #else 2576 -// #... 2577 -// #endif // !UNICODE 2578 - 2579 -// #if(_WIN32_WINNT >= 0x0501) 2580 -struct _0 { 2581 - UINT cbSize; 2582 - HDESK hdesk; 2583 - HWND hwnd; 2584 - LUID luid; 2585 -} 2586 -alias _0 BSMINFO; 2587 -alias _0* PBSMINFO; 2588 - 2589 -extern(Windows) export int BroadcastSystemMessageExA( 2590 - DWORD, 2591 - LPDWORD, 2592 - UINT, 2593 - WPARAM, 2594 - LPARAM, 2595 - PBSMINFO); 2596 -extern(Windows) export int BroadcastSystemMessageExW( 2597 - DWORD, 2598 - LPDWORD, 2599 - UINT, 2600 - WPARAM, 2601 - LPARAM, 2602 - PBSMINFO); 2603 -// #ifdef UNICODE 2604 -alias BroadcastSystemMessageExW BroadcastSystemMessageEx; 2605 -// #else 2606 -// #... 2607 -// #endif // !UNICODE 2608 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2609 - 2610 -// #if(WINVER >= 0x0400) 2611 - 2612 -// #if defined(_WIN32_WINNT) 2613 -extern(Windows) export int BroadcastSystemMessageA( 2614 - DWORD, 2615 - LPDWORD, 2616 - UINT, 2617 - WPARAM, 2618 - LPARAM); 2619 -extern(Windows) export int BroadcastSystemMessageW( 2620 - DWORD, 2621 - LPDWORD, 2622 - UINT, 2623 - WPARAM, 2624 - LPARAM); 2625 -// #ifdef UNICODE 2626 -alias BroadcastSystemMessageW BroadcastSystemMessage; 2627 -// #else 2628 -// #... 2629 -// #endif // !UNICODE 2630 -// #elif defined(_WIN32_WINDOWS) 2631 - 2632 -// ... 2633 - 2634 -// #endif 2635 - 2636 -enum : uint { BSM_ALLCOMPONENTS = 0x00000000 } 2637 -enum : uint { BSM_VXDS = 0x00000001 } 2638 -enum : uint { BSM_NETDRIVER = 0x00000002 } 2639 -enum : uint { BSM_INSTALLABLEDRIVERS = 0x00000004 } 2640 -enum : uint { BSM_APPLICATIONS = 0x00000008 } 2641 -enum : uint { BSM_ALLDESKTOPS = 0x00000010 } 2642 - 2643 -enum : uint { BSF_QUERY = 0x00000001 } 2644 -enum : uint { BSF_IGNORECURRENTTASK = 0x00000002 } 2645 -enum : uint { BSF_FLUSHDISK = 0x00000004 } 2646 -enum : uint { BSF_NOHANG = 0x00000008 } 2647 -enum : uint { BSF_POSTMESSAGE = 0x00000010 } 2648 -enum : uint { BSF_FORCEIFHUNG = 0x00000020 } 2649 -enum : uint { BSF_NOTIMEOUTIFNOTHUNG = 0x00000040 } 2650 -// #if(_WIN32_WINNT >= 0x0500) 2651 -enum : uint { BSF_ALLOWSFW = 0x00000080 } 2652 -enum : uint { BSF_SENDNOTIFYMESSAGE = 0x00000100 } 2653 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2654 -// #if(_WIN32_WINNT >= 0x0501) 2655 -enum : uint { BSF_RETURNHDESK = 0x00000200 } 2656 -enum : uint { BSF_LUID = 0x00000400 } 2657 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2658 - 2659 -enum : uint { BROADCAST_QUERY_DENY = 0x424D5144 } 2660 -// #endif /* WINVER >= 0x0400 */ 2661 - 2662 -// #if(WINVER >= 0x0500) 2663 -alias PVOID HDEVNOTIFY; 2664 -alias HDEVNOTIFY* PHDEVNOTIFY; 2665 - 2666 -enum : uint { DEVICE_NOTIFY_WINDOW_HANDLE = 0x00000000 } 2667 -enum : uint { DEVICE_NOTIFY_SERVICE_HANDLE = 0x00000001 } 2668 -// #if(_WIN32_WINNT >= 0x0501) 2669 -enum : uint { DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = 0x00000004 } 2670 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2671 - 2672 -extern(Windows) export HDEVNOTIFY RegisterDeviceNotificationA( 2673 - HANDLE hRecipient, 2674 - LPVOID NotificationFilter, 2675 - DWORD Flags); 2676 -extern(Windows) export HDEVNOTIFY RegisterDeviceNotificationW( 2677 - HANDLE hRecipient, 2678 - LPVOID NotificationFilter, 2679 - DWORD Flags); 2680 -// #ifdef UNICODE 2681 -alias RegisterDeviceNotificationW RegisterDeviceNotification; 2682 -// #else 2683 -// #... 2684 -// #endif // !UNICODE 2685 - 2686 -extern(Windows) export BOOL UnregisterDeviceNotification( 2687 - HDEVNOTIFY Handle); 2688 -// #endif /* WINVER >= 0x0500 */ 2689 - 2690 -extern(Windows) export BOOL PostMessageA( 2691 - HWND hWnd, 2692 - UINT Msg, 2693 - WPARAM wParam, 2694 - LPARAM lParam); 2695 -extern(Windows) export BOOL PostMessageW( 2696 - HWND hWnd, 2697 - UINT Msg, 2698 - WPARAM wParam, 2699 - LPARAM lParam); 2700 -// #ifdef UNICODE 2701 -alias PostMessageW PostMessage; 2702 -// #else 2703 -// #... 2704 -// #endif // !UNICODE 2705 - 2706 -extern(Windows) export BOOL PostThreadMessageA( 2707 - DWORD idThread, 2708 - UINT Msg, 2709 - WPARAM wParam, 2710 - LPARAM lParam); 2711 -extern(Windows) export BOOL PostThreadMessageW( 2712 - DWORD idThread, 2713 - UINT Msg, 2714 - WPARAM wParam, 2715 - LPARAM lParam); 2716 -// #ifdef UNICODE 2717 -alias PostThreadMessageW PostThreadMessage; 2718 -// #else 2719 -// #... 2720 -// #endif // !UNICODE 2721 - 2722 -alias PostThreadMessageA PostAppMessageA; 2723 -alias PostThreadMessageW PostAppMessageW; 2724 -// #ifdef UNICODE 2725 -alias PostAppMessageW PostAppMessage; 2726 -// #else 2727 -// #... 2728 -// #endif // !UNICODE 2729 - 2730 -const HWND HWND_BROADCAST = cast(HWND)0xffff; 2731 - 2732 -// #if(WINVER >= 0x0500) 2733 -const HWND HWND_MESSAGE = cast(HWND)-3; 2734 -// #endif /* WINVER >= 0x0500 */ 2735 - 2736 -extern(Windows) export BOOL AttachThreadInput( 2737 - DWORD idAttach, 2738 - DWORD idAttachTo, 2739 - BOOL fAttach); 2740 - 2741 -extern(Windows) export BOOL ReplyMessage( 2742 - LRESULT lResult); 2743 - 2744 -extern(Windows) export BOOL WaitMessage(); 2745 - 2746 -extern(Windows) export DWORD WaitForInputIdle( 2747 - HANDLE hProcess, 2748 - DWORD dwMilliseconds); 2749 - 2750 -extern(Windows) export LRESULT DefWindowProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2751 -extern(Windows) export LRESULT DefWindowProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 2752 -// #ifdef UNICODE 2753 -alias DefWindowProcW DefWindowProc; 2754 -// #else 2755 -// #... 2756 -// #endif // !UNICODE 2757 - 2758 -extern(Windows) export VOID PostQuitMessage( 2759 - int nExitCode); 2760 - 2761 -// #ifdef STRICT 2762 - 2763 -extern(Windows) export LRESULT CallWindowProcA( 2764 - WNDPROC lpPrevWndFunc, 2765 - HWND hWnd, 2766 - UINT Msg, 2767 - WPARAM wParam, 2768 - LPARAM lParam); 2769 -extern(Windows) export LRESULT CallWindowProcW( 2770 - WNDPROC lpPrevWndFunc, 2771 - HWND hWnd, 2772 - UINT Msg, 2773 - WPARAM wParam, 2774 - LPARAM lParam); 2775 -// #ifdef UNICODE 2776 -alias CallWindowProcW CallWindowProc; 2777 -// #else 2778 -// #... 2779 -// #endif // !UNICODE 2780 - 2781 -// #else /* !STRICT */ 2782 - 2783 -// ... 2784 -// #ifdef UNICODE 2785 -// #... 2786 -// #else 2787 -// #... 2788 -// #endif // !UNICODE 2789 - 2790 -// #endif /* !STRICT */ 2791 - 2792 -extern(Windows) export BOOL InSendMessage(); 2793 - 2794 -// #if(WINVER >= 0x0500) 2795 -extern(Windows) export DWORD InSendMessageEx( 2796 - LPVOID lpReserved); 2797 - 2798 -enum : uint { ISMEX_NOSEND = 0x00000000 } 2799 -enum : uint { ISMEX_SEND = 0x00000001 } 2800 -enum : uint { ISMEX_NOTIFY = 0x00000002 } 2801 -enum : uint { ISMEX_CALLBACK = 0x00000004 } 2802 -enum : uint { ISMEX_REPLIED = 0x00000008 } 2803 -// #endif /* WINVER >= 0x0500 */ 2804 - 2805 -extern(Windows) export UINT GetDoubleClickTime(); 2806 - 2807 -extern(Windows) export BOOL SetDoubleClickTime( 2808 - UINT); 2809 - 2810 -extern(Windows) export ATOM RegisterClassA( 2811 - WNDCLASSA *lpWndClass); 2812 -extern(Windows) export ATOM RegisterClassW( 2813 - WNDCLASSW *lpWndClass); 2814 -// #ifdef UNICODE 2815 -alias RegisterClassW RegisterClass; 2816 -// #else 2817 -// #... 2818 -// #endif // !UNICODE 2819 - 2820 -extern(Windows) export BOOL UnregisterClassA( 2821 - LPCSTR lpClassName, 2822 - HINSTANCE hInstance); 2823 -extern(Windows) export BOOL UnregisterClassW( 2824 - LPCWSTR lpClassName, 2825 - HINSTANCE hInstance); 2826 -// #ifdef UNICODE 2827 -alias UnregisterClassW UnregisterClass; 2828 -// #else 2829 -// #... 2830 -// #endif // !UNICODE 2831 - 2832 -extern(Windows) export BOOL GetClassInfoA( 2833 - HINSTANCE hInstance, 2834 - LPCSTR lpClassName, 2835 - LPWNDCLASSA lpWndClass); 2836 -extern(Windows) export BOOL GetClassInfoW( 2837 - HINSTANCE hInstance, 2838 - LPCWSTR lpClassName, 2839 - LPWNDCLASSW lpWndClass); 2840 -// #ifdef UNICODE 2841 -alias GetClassInfoW GetClassInfo; 2842 -// #else 2843 -// #... 2844 -// #endif // !UNICODE 2845 - 2846 -// #if(WINVER >= 0x0400) 2847 -extern(Windows) export ATOM RegisterClassExA( 2848 - WNDCLASSEXA *); 2849 -extern(Windows) export ATOM RegisterClassExW( 2850 - WNDCLASSEXW *); 2851 -// #ifdef UNICODE 2852 -alias RegisterClassExW RegisterClassEx; 2853 -// #else 2854 -// #... 2855 -// #endif // !UNICODE 2856 - 2857 -extern(Windows) export BOOL GetClassInfoExA( 2858 - HINSTANCE, 2859 - LPCSTR, 2860 - LPWNDCLASSEXA); 2861 -extern(Windows) export BOOL GetClassInfoExW( 2862 - HINSTANCE, 2863 - LPCWSTR, 2864 - LPWNDCLASSEXW); 2865 -// #ifdef UNICODE 2866 -alias GetClassInfoExW GetClassInfoEx; 2867 -// #else 2868 -// #... 2869 -// #endif // !UNICODE 2870 - 2871 -// #endif /* WINVER >= 0x0400 */ 2872 - 2873 -enum { CW_USEDEFAULT = int.min } 2874 - 2875 -const HWND HWND_DESKTOP = cast(HWND)0; 2876 - 2877 -// #if(_WIN32_WINNT >= 0x0501) 2878 -extern(Windows) alias BOOLEAN function(LPCWSTR) PREGISTERCLASSNAMEW; 2879 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2880 - 2881 -extern(Windows) export HWND CreateWindowExA( 2882 - DWORD dwExStyle, 2883 - LPCSTR lpClassName, 2884 - LPCSTR lpWindowName, 2885 - DWORD dwStyle, 2886 - int X, 2887 - int Y, 2888 - int nWidth, 2889 - int nHeight, 2890 - HWND hWndParent, 2891 - HMENU hMenu, 2892 - HINSTANCE hInstance, 2893 - LPVOID lpParam); 2894 -extern(Windows) export HWND CreateWindowExW( 2895 - DWORD dwExStyle, 2896 - LPCWSTR lpClassName, 2897 - LPCWSTR lpWindowName, 2898 - DWORD dwStyle, 2899 - int X, 2900 - int Y, 2901 - int nWidth, 2902 - int nHeight, 2903 - HWND hWndParent, 2904 - HMENU hMenu, 2905 - HINSTANCE hInstance, 2906 - LPVOID lpParam); 2907 -// #ifdef UNICODE 2908 -alias CreateWindowExW CreateWindowEx; 2909 -// #else 2910 -// #... 2911 -// #endif // !UNICODE 2912 - 2913 -HWND CreateWindowA(LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam){ return CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); } 2914 -HWND CreateWindowW(LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam){ return CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); } 2915 -// #ifdef UNICODE 2916 -alias CreateWindowW CreateWindow; 2917 -// #else 2918 -// #... 2919 -// #endif // !UNICODE 2920 - 2921 -extern(Windows) export BOOL IsWindow( 2922 - HWND hWnd); 2923 - 2924 -extern(Windows) export BOOL IsMenu( 2925 - HMENU hMenu); 2926 - 2927 -extern(Windows) export BOOL IsChild( 2928 - HWND hWndParent, 2929 - HWND hWnd); 2930 - 2931 -extern(Windows) export BOOL DestroyWindow( 2932 - HWND hWnd); 2933 - 2934 -extern(Windows) export BOOL ShowWindow( 2935 - HWND hWnd, 2936 - int nCmdShow); 2937 - 2938 -// #if(WINVER >= 0x0500) 2939 -extern(Windows) export BOOL AnimateWindow( 2940 - HWND hWnd, 2941 - DWORD dwTime, 2942 - DWORD dwFlags); 2943 -// #endif /* WINVER >= 0x0500 */ 2944 - 2945 -// #if(_WIN32_WINNT >= 0x0500) 2946 -// #if defined(_WINGDI_) && !defined (NOGDI) 2947 - 2948 -// ... 2949 -// #endif 2950 - 2951 -// #if(_WIN32_WINNT >= 0x0501) 2952 -extern(Windows) export BOOL GetLayeredWindowAttributes( 2953 - HWND hwnd, 2954 - COLORREF *pcrKey, 2955 - BYTE *pbAlpha, 2956 - DWORD *pdwFlags); 2957 - 2958 -enum : uint { PW_CLIENTONLY = 0x00000001 } 2959 - 2960 -extern(Windows) export BOOL PrintWindow( 2961 - HWND hwnd, 2962 - HDC hdcBlt, 2963 - UINT nFlags); 2964 - 2965 -// #endif /* _WIN32_WINNT >= 0x0501 */ 2966 - 2967 -extern(Windows) export BOOL SetLayeredWindowAttributes( 2968 - HWND hwnd, 2969 - COLORREF crKey, 2970 - BYTE bAlpha, 2971 - DWORD dwFlags); 2972 - 2973 -enum : uint { LWA_COLORKEY = 0x00000001 } 2974 -enum : uint { LWA_ALPHA = 0x00000002 } 2975 - 2976 -enum : uint { ULW_COLORKEY = 0x00000001 } 2977 -enum : uint { ULW_ALPHA = 0x00000002 } 2978 -enum : uint { ULW_OPAQUE = 0x00000004 } 2979 - 2980 -// #endif /* _WIN32_WINNT >= 0x0500 */ 2981 - 2982 -// #if(WINVER >= 0x0400) 2983 -extern(Windows) export BOOL ShowWindowAsync( 2984 - HWND hWnd, 2985 - int nCmdShow); 2986 -// #endif /* WINVER >= 0x0400 */ 2987 - 2988 -extern(Windows) export BOOL FlashWindow( 2989 - HWND hWnd, 2990 - BOOL bInvert); 2991 - 2992 -// #if(WINVER >= 0x0500) 2993 -struct _1 { 2994 - UINT cbSize; 2995 - HWND hwnd; 2996 - DWORD dwFlags; 2997 - UINT uCount; 2998 - DWORD dwTimeout; 2999 -} 3000 -alias _1 FLASHWINFO; 3001 -alias _1* PFLASHWINFO; 3002 - 3003 -extern(Windows) export BOOL FlashWindowEx( 3004 - PFLASHWINFO pfwi); 3005 - 3006 -enum : uint { FLASHW_STOP = 0 } 3007 -enum : uint { FLASHW_CAPTION = 0x00000001 } 3008 -enum : uint { FLASHW_TRAY = 0x00000002 } 3009 -enum : uint { FLASHW_ALL = FLASHW_CAPTION | FLASHW_TRAY } 3010 -enum : uint { FLASHW_TIMER = 0x00000004 } 3011 -enum : uint { FLASHW_TIMERNOFG = 0x0000000C } 3012 - 3013 -// #endif /* WINVER >= 0x0500 */ 3014 - 3015 -extern(Windows) export BOOL ShowOwnedPopups( 3016 - HWND hWnd, 3017 - BOOL fShow); 3018 - 3019 -extern(Windows) export BOOL OpenIcon( 3020 - HWND hWnd); 3021 - 3022 -extern(Windows) export BOOL CloseWindow( 3023 - HWND hWnd); 3024 - 3025 -extern(Windows) export BOOL MoveWindow( 3026 - HWND hWnd, 3027 - int X, 3028 - int Y, 3029 - int nWidth, 3030 - int nHeight, 3031 - BOOL bRepaint); 3032 - 3033 -extern(Windows) export BOOL SetWindowPos( 3034 - HWND hWnd, 3035 - HWND hWndInsertAfter, 3036 - int X, 3037 - int Y, 3038 - int cx, 3039 - int cy, 3040 - UINT uFlags); 3041 - 3042 -extern(Windows) export BOOL GetWindowPlacement( 3043 - HWND hWnd, 3044 - WINDOWPLACEMENT *lpwndpl); 3045 - 3046 -extern(Windows) export BOOL SetWindowPlacement( 3047 - HWND hWnd, 3048 - WINDOWPLACEMENT *lpwndpl); 3049 - 3050 -// #ifndef NODEFERWINDOWPOS 3051 - 3052 -extern(Windows) export HDWP BeginDeferWindowPos( 3053 - int nNumWindows); 3054 - 3055 -extern(Windows) export HDWP DeferWindowPos( 3056 - HDWP hWinPosInfo, 3057 - HWND hWnd, 3058 - HWND hWndInsertAfter, 3059 - int x, 3060 - int y, 3061 - int cx, 3062 - int cy, 3063 - UINT uFlags); 3064 - 3065 -extern(Windows) export BOOL EndDeferWindowPos( 3066 - HDWP hWinPosInfo); 3067 - 3068 -// #endif /* !NODEFERWINDOWPOS */ 3069 - 3070 -extern(Windows) export BOOL IsWindowVisible( 3071 - HWND hWnd); 3072 - 3073 -extern(Windows) export BOOL IsIconic( 3074 - HWND hWnd); 3075 - 3076 -extern(Windows) export BOOL AnyPopup(); 3077 - 3078 -extern(Windows) export BOOL BringWindowToTop( 3079 - HWND hWnd); 3080 - 3081 -extern(Windows) export BOOL IsZoomed( 3082 - HWND hWnd); 3083 - 3084 -enum : uint { SWP_NOSIZE = 0x0001 } 3085 -enum : uint { SWP_NOMOVE = 0x0002 } 3086 -enum : uint { SWP_NOZORDER = 0x0004 } 3087 -enum : uint { SWP_NOREDRAW = 0x0008 } 3088 -enum : uint { SWP_NOACTIVATE = 0x0010 } 3089 -enum : uint { SWP_FRAMECHANGED = 0x0020 } 3090 -enum : uint { SWP_SHOWWINDOW = 0x0040 } 3091 -enum : uint { SWP_HIDEWINDOW = 0x0080 } 3092 -enum : uint { SWP_NOCOPYBITS = 0x0100 } 3093 -enum : uint { SWP_NOOWNERZORDER = 0x0200 } 3094 -enum : uint { SWP_NOSENDCHANGING = 0x0400 } 3095 - 3096 -alias SWP_FRAMECHANGED SWP_DRAWFRAME; 3097 -alias SWP_NOOWNERZORDER SWP_NOREPOSITION; 3098 - 3099 -// #if(WINVER >= 0x0400) 3100 -enum : uint { SWP_DEFERERASE = 0x2000 } 3101 -enum : uint { SWP_ASYNCWINDOWPOS = 0x4000 } 3102 -// #endif /* WINVER >= 0x0400 */ 3103 - 3104 -const HWND HWND_TOP = cast(HWND)0; 3105 -const HWND HWND_BOTTOM = cast(HWND)1; 3106 -const HWND HWND_TOPMOST = cast(HWND)-1; 3107 -const HWND HWND_NOTOPMOST = cast(HWND)-2; 3108 - 3109 -// #ifndef NOCTLMGR 3110 - 3111 -align(2): 3112 - 3113 -struct _2 { 3114 - DWORD style; 3115 - DWORD dwExtendedStyle; 3116 - WORD cdit; 3117 - short x; 3118 - short y; 3119 - short cx; 3120 - short cy; 3121 -} 3122 -alias _2 DLGTEMPLATE; 3123 - 3124 -alias DLGTEMPLATE* LPDLGTEMPLATEA; 3125 -alias DLGTEMPLATE* LPDLGTEMPLATEW; 3126 -// #ifdef UNICODE 3127 -alias LPDLGTEMPLATEW LPDLGTEMPLATE; 3128 -// #else 3129 -// ... 3130 -// #endif // UNICODE 3131 -alias DLGTEMPLATE* LPCDLGTEMPLATEA; 3132 -alias DLGTEMPLATE* LPCDLGTEMPLATEW; 3133 -// #ifdef UNICODE 3134 -alias LPCDLGTEMPLATEW LPCDLGTEMPLATE; 3135 -// #else 3136 -// ... 3137 -// #endif // UNICODE 3138 - 3139 -struct _3 { 3140 - DWORD style; 3141 - DWORD dwExtendedStyle; 3142 - short x; 3143 - short y; 3144 - short cx; 3145 - short cy; 3146 - WORD id; 3147 -} 3148 -alias _3 DLGITEMTEMPLATE; 3149 - 3150 -alias DLGITEMTEMPLATE* PDLGITEMTEMPLATEA; 3151 -alias DLGITEMTEMPLATE* PDLGITEMTEMPLATEW; 3152 -// #ifdef UNICODE 3153 -alias PDLGITEMTEMPLATEW PDLGITEMTEMPLATE; 3154 -// #else 3155 -// ... 3156 -// #endif // UNICODE 3157 -alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATEA; 3158 -alias DLGITEMTEMPLATE* LPDLGITEMTEMPLATEW; 3159 -// #ifdef UNICODE 3160 -alias LPDLGITEMTEMPLATEW LPDLGITEMTEMPLATE; 3161 -// #else 3162 -// ... 3163 -// #endif // UNICODE 3164 - 3165 -align: 3166 - 3167 -extern(Windows) export HWND CreateDialogParamA( 3168 - HINSTANCE hInstance, 3169 - LPCSTR lpTemplateName, 3170 - HWND hWndParent, 3171 - DLGPROC lpDialogFunc, 3172 - LPARAM dwInitParam); 3173 -extern(Windows) export HWND CreateDialogParamW( 3174 - HINSTANCE hInstance, 3175 - LPCWSTR lpTemplateName, 3176 - HWND hWndParent, 3177 - DLGPROC lpDialogFunc, 3178 - LPARAM dwInitParam); 3179 -// #ifdef UNICODE 3180 -alias CreateDialogParamW CreateDialogParam; 3181 -// #else 3182 -// #... 3183 -// #endif // !UNICODE 3184 - 3185 -extern(Windows) export HWND CreateDialogIndirectParamA( 3186 - HINSTANCE hInstance, 3187 - LPCDLGTEMPLATEA lpTemplate, 3188 - HWND hWndParent, 3189 - DLGPROC lpDialogFunc, 3190 - LPARAM dwInitParam); 3191 -extern(Windows) export HWND CreateDialogIndirectParamW( 3192 - HINSTANCE hInstance, 3193 - LPCDLGTEMPLATEW lpTemplate, 3194 - HWND hWndParent, 3195 - DLGPROC lpDialogFunc, 3196 - LPARAM dwInitParam); 3197 -// #ifdef UNICODE 3198 -alias CreateDialogIndirectParamW CreateDialogIndirectParam; 3199 -// #else 3200 -// #... 3201 -// #endif // !UNICODE 3202 - 3203 -HWND CreateDialogA(HINSTANCE hInstance, LPCSTR lpName, HWND hWndParent, DLGPROC lpDialogFunc){ return CreateDialogParamA(hInstance, lpName, hWndParent, lpDialogFunc, 0L); } 3204 -HWND CreateDialogW(HINSTANCE hInstance, LPCWSTR lpName, HWND hWndParent, DLGPROC lpDialogFunc){ return CreateDialogParamW(hInstance, lpName, hWndParent, lpDialogFunc, 0L); } 3205 -// #ifdef UNICODE 3206 -alias CreateDialogW CreateDialog; 3207 -// #else 3208 -// #... 3209 -// #endif // !UNICODE 3210 - 3211 -HWND CreateDialogIndirectA(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc){ return CreateDialogIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L); } 3212 -HWND CreateDialogIndirectW(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc){ return CreateDialogIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L); } 3213 -// #ifdef UNICODE 3214 -alias CreateDialogIndirectW CreateDialogIndirect; 3215 -// #else 3216 -// #... 3217 -// #endif // !UNICODE 3218 - 3219 -extern(Windows) export INT_PTR DialogBoxParamA( 3220 - HINSTANCE hInstance, 3221 - LPCSTR lpTemplateName, 3222 - HWND hWndParent, 3223 - DLGPROC lpDialogFunc, 3224 - LPARAM dwInitParam); 3225 -extern(Windows) export INT_PTR DialogBoxParamW( 3226 - HINSTANCE hInstance, 3227 - LPCWSTR lpTemplateName, 3228 - HWND hWndParent, 3229 - DLGPROC lpDialogFunc, 3230 - LPARAM dwInitParam); 3231 -// #ifdef UNICODE 3232 -alias DialogBoxParamW DialogBoxParam; 3233 -// #else 3234 -// #... 3235 -// #endif // !UNICODE 3236 - 3237 -extern(Windows) export INT_PTR DialogBoxIndirectParamA( 3238 - HINSTANCE hInstance, 3239 - LPCDLGTEMPLATEA hDialogTemplate, 3240 - HWND hWndParent, 3241 - DLGPROC lpDialogFunc, 3242 - LPARAM dwInitParam); 3243 -extern(Windows) export INT_PTR DialogBoxIndirectParamW( 3244 - HINSTANCE hInstance, 3245 - LPCDLGTEMPLATEW hDialogTemplate, 3246 - HWND hWndParent, 3247 - DLGPROC lpDialogFunc, 3248 - LPARAM dwInitParam); 3249 -// #ifdef UNICODE 3250 -alias DialogBoxIndirectParamW DialogBoxIndirectParam; 3251 -// #else 3252 -// #... 3253 -// #endif // !UNICODE 3254 - 3255 -// #define DialogBoxA(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) 3256 -// #define DialogBoxW(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) 3257 -// #ifdef UNICODE 3258 -// #define DialogBox DialogBoxW 3259 -// #else 3260 -// #... 3261 -// #endif // !UNICODE 3262 - 3263 -// #define DialogBoxIndirectA(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxIndirectParamA(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) 3264 -// #define DialogBoxIndirectW(hInstance, lpTemplate, hWndParent, lpDialogFunc) DialogBoxIndirectParamW(hInstance, lpTemplate, hWndParent, lpDialogFunc, 0L) 3265 -// #ifdef UNICODE 3266 -// #define DialogBoxIndirect DialogBoxIndirectW 3267 -// #else 3268 -// #... 3269 -// #endif // !UNICODE 3270 - 3271 -extern(Windows) export BOOL EndDialog( 3272 - HWND hDlg, 3273 - INT_PTR nResult); 3274 - 3275 -extern(Windows) export HWND GetDlgItem( 3276 - HWND hDlg, 3277 - int nIDDlgItem); 3278 - 3279 -extern(Windows) export BOOL SetDlgItemInt( 3280 - HWND hDlg, 3281 - int nIDDlgItem, 3282 - UINT uValue, 3283 - BOOL bSigned); 3284 - 3285 -extern(Windows) export UINT GetDlgItemInt( 3286 - HWND hDlg, 3287 - int nIDDlgItem, 3288 - BOOL *lpTranslated, 3289 - BOOL bSigned); 3290 - 3291 -extern(Windows) export BOOL SetDlgItemTextA( 3292 - HWND hDlg, 3293 - int nIDDlgItem, 3294 - LPCSTR lpString); 3295 -extern(Windows) export BOOL SetDlgItemTextW( 3296 - HWND hDlg, 3297 - int nIDDlgItem, 3298 - LPCWSTR lpString); 3299 -// #ifdef UNICODE 3300 -alias SetDlgItemTextW SetDlgItemText; 3301 -// #else 3302 -// #... 3303 -// #endif // !UNICODE 3304 - 3305 -extern(Windows) export UINT GetDlgItemTextA( 3306 - HWND hDlg, 3307 - int nIDDlgItem, 3308 - LPSTR lpString, 3309 - int nMaxCount); 3310 -extern(Windows) export UINT GetDlgItemTextW( 3311 - HWND hDlg, 3312 - int nIDDlgItem, 3313 - LPWSTR lpString, 3314 - int nMaxCount); 3315 -// #ifdef UNICODE 3316 -alias GetDlgItemTextW GetDlgItemText; 3317 -// #else 3318 -// #... 3319 -// #endif // !UNICODE 3320 - 3321 -extern(Windows) export BOOL CheckDlgButton( 3322 - HWND hDlg, 3323 - int nIDButton, 3324 - UINT uCheck); 3325 - 3326 -extern(Windows) export BOOL CheckRadioButton( 3327 - HWND hDlg, 3328 - int nIDFirstButton, 3329 - int nIDLastButton, 3330 - int nIDCheckButton); 3331 - 3332 -extern(Windows) export UINT IsDlgButtonChecked( 3333 - HWND hDlg, 3334 - int nIDButton); 3335 - 3336 -extern(Windows) export LRESULT SendDlgItemMessageA( 3337 - HWND hDlg, 3338 - int nIDDlgItem, 3339 - UINT Msg, 3340 - WPARAM wParam, 3341 - LPARAM lParam); 3342 -extern(Windows) export LRESULT SendDlgItemMessageW( 3343 - HWND hDlg, 3344 - int nIDDlgItem, 3345 - UINT Msg, 3346 - WPARAM wParam, 3347 - LPARAM lParam); 3348 -// #ifdef UNICODE 3349 -alias SendDlgItemMessageW SendDlgItemMessage; 3350 -// #else 3351 -// #... 3352 -// #endif // !UNICODE 3353 - 3354 -extern(Windows) export HWND GetNextDlgGroupItem( 3355 - HWND hDlg, 3356 - HWND hCtl, 3357 - BOOL bPrevious); 3358 - 3359 -extern(Windows) export HWND GetNextDlgTabItem( 3360 - HWND hDlg, 3361 - HWND hCtl, 3362 - BOOL bPrevious); 3363 - 3364 -extern(Windows) export int GetDlgCtrlID( 3365 - HWND hWnd); 3366 - 3367 -extern(Windows) export int GetDialogBaseUnits(); 3368 - 3369 -extern(Windows) export LRESULT DefDlgProcA(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); 3370 -extern(Windows) export LRESULT DefDlgProcW(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); 3371 -// #ifdef UNICODE 3372 -alias DefDlgProcW DefDlgProc; 3373 -// #else 3374 -// #... 3375 -// #endif // !UNICODE 3376 - 3377 -// #ifndef _MAC 3378 -enum : uint { DLGWINDOWEXTRA = 30 } 3379 -// #else 3380 -// #... 3381 -// #endif 3382 - 3383 -// #endif /* !NOCTLMGR */ 3384 - 3385 -// #ifndef NOMSG 3386 - 3387 -extern(Windows) export BOOL CallMsgFilterA( 3388 - LPMSG lpMsg, 3389 - int nCode); 3390 -extern(Windows) export BOOL CallMsgFilterW( 3391 - LPMSG lpMsg, 3392 - int nCode); 3393 -// #ifdef UNICODE 3394 -alias CallMsgFilterW CallMsgFilter; 3395 -// #else 3396 -// #... 3397 -// #endif // !UNICODE 3398 - 3399 -// #endif /* !NOMSG */ 3400 - 3401 -// #ifndef NOCLIPBOARD 3402 - 3403 -extern(Windows) export BOOL OpenClipboard( 3404 - HWND hWndNewOwner); 3405 - 3406 -extern(Windows) export BOOL CloseClipboard(); 3407 - 3408 -// #if(WINVER >= 0x0500) 3409 - 3410 -extern(Windows) export DWORD GetClipboardSequenceNumber(); 3411 - 3412 -// #endif /* WINVER >= 0x0500 */ 3413 - 3414 -extern(Windows) export HWND GetClipboardOwner(); 3415 - 3416 -extern(Windows) export HWND SetClipboardViewer( 3417 - HWND hWndNewViewer); 3418 - 3419 -extern(Windows) export HWND GetClipboardViewer(); 3420 - 3421 -extern(Windows) export BOOL ChangeClipboardChain( 3422 - HWND hWndRemove, 3423 - HWND hWndNewNext); 3424 - 3425 -extern(Windows) export HANDLE SetClipboardData( 3426 - UINT uFormat, 3427 - HANDLE hMem); 3428 - 3429 -extern(Windows) export HANDLE GetClipboardData( 3430 - UINT uFormat); 3431 - 3432 -extern(Windows) export UINT RegisterClipboardFormatA( 3433 - LPCSTR lpszFormat); 3434 -extern(Windows) export UINT RegisterClipboardFormatW( 3435 - LPCWSTR lpszFormat); 3436 -// #ifdef UNICODE 3437 -alias RegisterClipboardFormatW RegisterClipboardFormat; 3438 -// #else 3439 -// #... 3440 -// #endif // !UNICODE 3441 - 3442 -extern(Windows) export int CountClipboardFormats(); 3443 - 3444 -extern(Windows) export UINT EnumClipboardFormats( 3445 - UINT format); 3446 - 3447 -extern(Windows) export int GetClipboardFormatNameA( 3448 - UINT format, 3449 - LPSTR lpszFormatName, 3450 - int cchMaxCount); 3451 -extern(Windows) export int GetClipboardFormatNameW( 3452 - UINT format, 3453 - LPWSTR lpszFormatName, 3454 - int cchMaxCount); 3455 -// #ifdef UNICODE 3456 -alias GetClipboardFormatNameW GetClipboardFormatName; 3457 -// #else 3458 -// #... 3459 -// #endif // !UNICODE 3460 - 3461 -extern(Windows) export BOOL EmptyClipboard(); 3462 - 3463 -extern(Windows) export BOOL IsClipboardFormatAvailable( 3464 - UINT format); 3465 - 3466 -extern(Windows) export int GetPriorityClipboardFormat( 3467 - UINT *paFormatPriorityList, 3468 - int cFormats); 3469 - 3470 -extern(Windows) export HWND GetOpenClipboardWindow(); 3471 - 3472 -// #endif /* !NOCLIPBOARD */ 3473 - 3474 -extern(Windows) export BOOL CharToOemA( 3475 - LPCSTR lpszSrc, 3476 - LPSTR lpszDst); 3477 -extern(Windows) export BOOL CharToOemW( 3478 - LPCWSTR lpszSrc, 3479 - LPSTR lpszDst); 3480 -// #ifdef UNICODE 3481 -alias CharToOemW CharToOem; 3482 -// #else 3483 -// #... 3484 -// #endif // !UNICODE 3485 - 3486 -extern(Windows) export BOOL OemToCharA( 3487 - LPCSTR lpszSrc, 3488 - LPSTR lpszDst); 3489 -extern(Windows) export BOOL OemToCharW( 3490 - LPCSTR lpszSrc, 3491 - LPWSTR lpszDst); 3492 -// #ifdef UNICODE 3493 -alias OemToCharW OemToChar; 3494 -// #else 3495 -// #... 3496 -// #endif // !UNICODE 3497 - 3498 -extern(Windows) export BOOL CharToOemBuffA( 3499 - LPCSTR lpszSrc, 3500 - LPSTR lpszDst, 3501 - DWORD cchDstLength); 3502 -extern(Windows) export BOOL CharToOemBuffW( 3503 - LPCWSTR lpszSrc, 3504 - LPSTR lpszDst, 3505 - DWORD cchDstLength); 3506 -// #ifdef UNICODE 3507 -alias CharToOemBuffW CharToOemBuff; 3508 -// #else 3509 -// #... 3510 -// #endif // !UNICODE 3511 - 3512 -extern(Windows) export BOOL OemToCharBuffA( 3513 - LPCSTR lpszSrc, 3514 - LPSTR lpszDst, 3515 - DWORD cchDstLength); 3516 -extern(Windows) export BOOL OemToCharBuffW( 3517 - LPCSTR lpszSrc, 3518 - LPWSTR lpszDst, 3519 - DWORD cchDstLength); 3520 -// #ifdef UNICODE 3521 -alias OemToCharBuffW OemToCharBuff; 3522 -// #else 3523 -// #... 3524 -// #endif // !UNICODE 3525 - 3526 -extern(Windows) export LPSTR CharUpperA( 3527 - LPSTR lpsz); 3528 -extern(Windows) export LPWSTR CharUpperW( 3529 - LPWSTR lpsz); 3530 -// #ifdef UNICODE 3531 -alias CharUpperW CharUpper; 3532 -// #else 3533 -// #... 3534 -// #endif // !UNICODE 3535 - 3536 -extern(Windows) export DWORD CharUpperBuffA( 3537 - LPSTR lpsz, 3538 - DWORD cchLength); 3539 -extern(Windows) export DWORD CharUpperBuffW( 3540 - LPWSTR lpsz, 3541 - DWORD cchLength); 3542 -// #ifdef UNICODE 3543 -alias CharUpperBuffW CharUpperBuff; 3544 -// #else 3545 -// #... 3546 -// #endif // !UNICODE 3547 - 3548 -extern(Windows) export LPSTR CharLowerA( 3549 - LPSTR lpsz); 3550 -extern(Windows) export LPWSTR CharLowerW( 3551 - LPWSTR lpsz); 3552 -// #ifdef UNICODE 3553 -alias CharLowerW CharLower; 3554 -// #else 3555 -// #... 3556 -// #endif // !UNICODE 3557 - 3558 -extern(Windows) export DWORD CharLowerBuffA( 3559 - LPSTR lpsz, 3560 - DWORD cchLength); 3561 -extern(Windows) export DWORD CharLowerBuffW( 3562 - LPWSTR lpsz, 3563 - DWORD cchLength); 3564 -// #ifdef UNICODE 3565 -alias CharLowerBuffW CharLowerBuff; 3566 -// #else 3567 -// #... 3568 -// #endif // !UNICODE 3569 - 3570 -extern(Windows) export LPSTR CharNextA( 3571 - LPCSTR lpsz); 3572 -extern(Windows) export LPWSTR CharNextW( 3573 - LPCWSTR lpsz); 3574 -// #ifdef UNICODE 3575 -alias CharNextW CharNext; 3576 -// #else 3577 -// #... 3578 -// #endif // !UNICODE 3579 - 3580 -extern(Windows) export LPSTR CharPrevA( 3581 - LPCSTR lpszStart, 3582 - LPCSTR lpszCurrent); 3583 -extern(Windows) export LPWSTR CharPrevW( 3584 - LPCWSTR lpszStart, 3585 - LPCWSTR lpszCurrent); 3586 -// #ifdef UNICODE 3587 -alias CharPrevW CharPrev; 3588 -// #else 3589 -// #... 3590 -// #endif // !UNICODE 3591 - 3592 -// #if(WINVER >= 0x0400) 3593 -extern(Windows) export LPSTR CharNextExA( 3594 - WORD CodePage, 3595 - LPCSTR lpCurrentChar, 3596 - DWORD dwFlags); 3597 - 3598 -extern(Windows) export LPSTR CharPrevExA( 3599 - WORD CodePage, 3600 - LPCSTR lpStart, 3601 - LPCSTR lpCurrentChar, 3602 - DWORD dwFlags); 3603 -// #endif /* WINVER >= 0x0400 */ 2830 +struct WNDCLASSA { 2831 + UINT style; 2832 + WNDPROC lpfnWndProc; 2833 + int cbClsExtra; 2834 + int cbWndExtra; 2835 + HINSTANCE hInstance; 2836 + HICON hIcon; 2837 + HCURSOR hCursor; 2838 + HBRUSH hbrBackground; 2839 + LPCSTR lpszMenuName; 2840 + LPCSTR lpszClassName; 2841 +} 2842 +alias WNDCLASSA* LPWNDCLASSA, PWNDCLASSA; 2843 + 2844 +struct WNDCLASSW { 2845 + UINT style; 2846 + WNDPROC lpfnWndProc; 2847 + int cbClsExtra; 2848 + int cbWndExtra; 2849 + HINSTANCE hInstance; 2850 + HICON hIcon; 2851 + HCURSOR hCursor; 2852 + HBRUSH hbrBackground; 2853 + LPCWSTR lpszMenuName; 2854 + LPCWSTR lpszClassName; 2855 +} 2856 +alias WNDCLASSW* LPWNDCLASSW, PWNDCLASSW; 2857 + 2858 +struct WNDCLASSEXA { 2859 + UINT cbSize = WNDCLASSEXA.sizeof; 2860 + UINT style; 2861 + WNDPROC lpfnWndProc; 2862 + int cbClsExtra; 2863 + int cbWndExtra; 2864 + HINSTANCE hInstance; 2865 + HICON hIcon; 2866 + HCURSOR hCursor; 2867 + HBRUSH hbrBackground; 2868 + LPCSTR lpszMenuName; 2869 + LPCSTR lpszClassName; 2870 + HICON hIconSm; 2871 +} 2872 +alias WNDCLASSEXA* LPWNDCLASSEXA, PWNDCLASSEXA; 2873 + 2874 +struct WNDCLASSEXW { 2875 + UINT cbSize = WNDCLASSEXW.sizeof; 2876 + UINT style; 2877 + WNDPROC lpfnWndProc; 2878 + int cbClsExtra; 2879 + int cbWndExtra; 2880 + HINSTANCE hInstance; 2881 + HICON hIcon; 2882 + HCURSOR hCursor; 2883 + HBRUSH hbrBackground; 2884 + LPCWSTR lpszMenuName; 2885 + LPCWSTR lpszClassName; 2886 + HICON hIconSm; 2887 +} 2888 +alias WNDCLASSEXW* LPWNDCLASSEXW, PWNDCLASSEXW; 2889 + 2890 +struct MENUITEMINFOA { 2891 + UINT cbSize = MENUITEMINFOA.sizeof; 2892 + UINT fMask; 2893 + UINT fType; 2894 + UINT fState; 2895 + UINT wID; 2896 + HMENU hSubMenu; 2897 + HBITMAP hbmpChecked; 2898 + HBITMAP hbmpUnchecked; 2899 + DWORD dwItemData; 2900 + LPSTR dwTypeData; 2901 + UINT cch; 2902 + static if (_WIN32_WINNT >= 0x500) { 2903 + HBITMAP hbmpItem; 2904 + } 2905 +} 2906 +alias MENUITEMINFOA* LPMENUITEMINFOA; 2907 +alias CPtr!(MENUITEMINFOA) LPCMENUITEMINFOA; 2908 + 2909 +struct MENUITEMINFOW { 2910 + UINT cbSize = MENUITEMINFOW.sizeof; 2911 + UINT fMask; 2912 + UINT fType; 2913 + UINT fState; 2914 + UINT wID; 2915 + HMENU hSubMenu; 2916 + HBITMAP hbmpChecked; 2917 + HBITMAP hbmpUnchecked; 2918 + DWORD dwItemData; 2919 + LPWSTR dwTypeData; 2920 + UINT cch; 2921 + static if (_WIN32_WINNT >= 0x500) { 2922 + HBITMAP hbmpItem; 2923 + } 2924 +} 2925 +alias MENUITEMINFOW* LPMENUITEMINFOW; 2926 +alias CPtr!(MENUITEMINFOW) LPCMENUITEMINFOW; 2927 + 2928 +struct SCROLLINFO { 2929 + UINT cbSize = this.sizeof; 2930 + UINT fMask; 2931 + int nMin; 2932 + int nMax; 2933 + UINT nPage; 2934 + int nPos; 2935 + int nTrackPos; 2936 +} 2937 +alias SCROLLINFO* LPSCROLLINFO; 2938 +alias CPtr!(SCROLLINFO) LPCSCROLLINFO; 2939 + 2940 +struct WINDOWPLACEMENT { 2941 + UINT length; 2942 + UINT flags; 2943 + UINT showCmd; 2944 + POINT ptMinPosition; 2945 + POINT ptMaxPosition; 2946 + RECT rcNormalPosition; 2947 +} 2948 +alias WINDOWPLACEMENT* LPWINDOWPLACEMENT, PWINDOWPLACEMENT; 2949 + 2950 +struct MENUITEMTEMPLATEHEADER { 2951 + WORD versionNumber; 2952 + WORD offset; 2953 +} 2954 + 2955 +struct MENUITEMTEMPLATE { 2956 + WORD mtOption; 2957 + WORD mtID; 2958 + WCHAR mtString[1]; 2959 +} 2960 + 2961 +alias void MENUTEMPLATE, MENUTEMPLATEA, MENUTEMPLATEW; 2962 + 2963 +alias MENUTEMPLATE* LPMENUTEMPLATEA, LPMENUTEMPLATEW, LPMENUTEMPLATE; 2964 + 2965 +struct HELPINFO { 2966 + UINT cbSize = this.sizeof; 2967 + int iContextType; 2968 + int iCtrlId; 2969 + HANDLE hItemHandle; 2970 + DWORD dwContextId; 2971 + POINT MousePos; 2972 +} 2973 +alias HELPINFO* LPHELPINFO; 2974 + 2975 +struct MSGBOXPARAMSA { 2976 + UINT cbSize = this.sizeof; 2977 + HWND hwndOwner; 2978 + HINSTANCE hInstance; 2979 + LPCSTR lpszText; 2980 + LPCSTR lpszCaption; 2981 + DWORD dwStyle; 2982 + LPCSTR lpszIcon; 2983 + DWORD dwContextHelpId; 2984 + MSGBOXCALLBACK lpfnMsgBoxCallback; 2985 + DWORD dwLanguageId; 2986 +} 2987 +alias MSGBOXPARAMSA* PMSGBOXPARAMSA, LPMSGBOXPARAMSA; 2988 + 2989 +struct MSGBOXPARAMSW { 2990 + UINT cbSize = this.sizeof; 2991 + HWND hwndOwner; 2992 + HINSTANCE hInstance; 2993 + LPCWSTR lpszText; 2994 + LPCWSTR lpszCaption; 2995 + DWORD dwStyle; 2996 + LPCWSTR lpszIcon; 2997 + DWORD dwContextHelpId; 2998 + MSGBOXCALLBACK lpfnMsgBoxCallback; 2999 + DWORD dwLanguageId; 3000 +} 3001 +alias MSGBOXPARAMSW* PMSGBOXPARAMSW, LPMSGBOXPARAMSW; 3002 + 3003 +struct USEROBJECTFLAGS { 3004 + BOOL fInherit; 3005 + BOOL fReserved; 3006 + DWORD dwFlags; 3007 +} 3008 + 3009 +struct FILTERKEYS { 3010 + UINT cbSize = this.sizeof; 3011 + DWORD dwFlags; 3012 + DWORD iWaitMSec; 3013 + DWORD iDelayMSec; 3014 + DWORD iRepeatMSec; 3015 + DWORD iBounceMSec; 3016 +} 3017 + 3018 +struct HIGHCONTRASTA { 3019 + UINT cbSize = this.sizeof; 3020 + DWORD dwFlags; 3021 + LPSTR lpszDefaultScheme; 3022 +} 3023 +alias HIGHCONTRASTA* LPHIGHCONTRASTA; 3024 + 3025 +struct HIGHCONTRASTW { 3026 + UINT cbSize = this.sizeof; 3027 + DWORD dwFlags; 3028 + LPWSTR lpszDefaultScheme; 3029 +} 3030 +alias HIGHCONTRASTW* LPHIGHCONTRASTW; 3031 + 3032 +struct ICONMETRICSA { 3033 + UINT cbSize = this.sizeof; 3034 + int iHorzSpacing; 3035 + int iVertSpacing; 3036 + int iTitleWrap; 3037 + LOGFONTA lfFont; 3038 +} 3039 +alias ICONMETRICSA* LPICONMETRICSA; 3040 + 3041 +struct ICONMETRICSW { 3042 + UINT cbSize = this.sizeof; 3043 + int iHorzSpacing; 3044 + int iVertSpacing; 3045 + int iTitleWrap; 3046 + LOGFONTW lfFont; 3047 +} 3048 +alias ICONMETRICSW* LPICONMETRICSW; 3049 + 3050 +struct MINIMIZEDMETRICS { 3051 + UINT cbSize = this.sizeof; 3052 + int iWidth; 3053 + int iHorzGap; 3054 + int iVertGap; 3055 + int iArrange; 3056 +} 3057 +alias MINIMIZEDMETRICS* LPMINIMIZEDMETRICS; 3058 + 3059 +struct MOUSEKEYS { 3060 + UINT cbSize = this.sizeof; 3061 + DWORD dwFlags; 3062 + DWORD iMaxSpeed; 3063 + DWORD iTimeToMaxSpeed; 3064 + DWORD iCtrlSpeed; 3065 + DWORD dwReserved1; 3066 + DWORD dwReserved2; 3067 +} 3068 +alias MOUSEKEYS* LPMOUSEKEYS; 3069 + 3070 +struct NONCLIENTMETRICSA { 3071 + UINT cbSize = this.sizeof; 3072 + int iBorderWidth; 3073 + int iScrollWidth; 3074 + int iScrollHeight; 3075 + int iCaptionWidth; 3076 + int iCaptionHeight; 3077 + LOGFONTA lfCaptionFont; 3078 + int iSmCaptionWidth; 3079 + int iSmCaptionHeight; 3080 + LOGFONTA lfSmCaptionFont; 3081 + int iMenuWidth; 3082 + int iMenuHeight; 3083 + LOGFONTA lfMenuFont; 3084 + LOGFONTA lfStatusFont; 3085 + LOGFONTA lfMessageFont; 3086 +} 3087 +alias NONCLIENTMETRICSA* LPNONCLIENTMETRICSA; 3088 + 3089 +struct NONCLIENTMETRICSW { 3090 + UINT cbSize = this.sizeof; 3091 + int iBorderWidth; 3092 + int iScrollWidth; 3093 + int iScrollHeight; 3094 + int iCaptionWidth; 3095 + int iCaptionHeight; 3096 + LOGFONTW lfCaptionFont; 3097 + int iSmCaptionWidth; 3098 + int iSmCaptionHeight; 3099 + LOGFONTW lfSmCaptionFont; 3100 + int iMenuWidth; 3101 + int iMenuHeight; 3102 + LOGFONTW lfMenuFont; 3103 + LOGFONTW lfStatusFont; 3104 + LOGFONTW lfMessageFont; 3105 +} 3106 +alias NONCLIENTMETRICSW* LPNONCLIENTMETRICSW; 3107 + 3108 +struct SERIALKEYSA { 3109 + UINT cbSize = this.sizeof; 3110 + DWORD dwFlags; 3111 + LPSTR lpszActivePort; 3112 + LPSTR lpszPort; 3113 + UINT iBaudRate; 3114 + UINT iPortState; 3115 + UINT iActive; 3116 +} 3117 +alias SERIALKEYSA* LPSERIALKEYSA; 3118 + 3119 +struct SERIALKEYSW { 3120 + UINT cbSize = this.sizeof; 3121 + DWORD dwFlags; 3122 + LPWSTR lpszActivePort; 3123 + LPWSTR lpszPort; 3124 + UINT iBaudRate; 3125 + UINT iPortState; 3126 + UINT iActive; 3127 +} 3128 +alias SERIALKEYSW* LPSERIALKEYSW; 3129 + 3130 +struct SOUNDSENTRYA { 3131 + UINT cbSize = this.sizeof; 3132 + DWORD dwFlags; 3133 + DWORD iFSTextEffect; 3134 + DWORD iFSTextEffectMSec; 3135 + DWORD iFSTextEffectColorBits; 3136 + DWORD iFSGrafEffect; 3137 + DWORD iFSGrafEffectMSec; 3138 + DWORD iFSGrafEffectColor; 3139 + DWORD iWindowsEffect; 3140 + DWORD iWindowsEffectMSec; 3141 + LPSTR lpszWindowsEffectDLL; 3142 + DWORD iWindowsEffectOrdinal; 3143 +} 3144 +alias SOUNDSENTRYA* LPSOUNDSENTRYA; 3145 + 3146 +struct SOUNDSENTRYW { 3147 + UINT cbSize = this.sizeof; 3148 + DWORD dwFlags; 3149 + DWORD iFSTextEffect; 3150 + DWORD iFSTextEffectMSec; 3151 + DWORD iFSTextEffectColorBits; 3152 + DWORD iFSGrafEffect; 3153 + DWORD iFSGrafEffectMSec; 3154 + DWORD iFSGrafEffectColor; 3155 + DWORD iWindowsEffect; 3156 + DWORD iWindowsEffectMSec; 3157 + LPWSTR lpszWindowsEffectDLL; 3158 + DWORD iWindowsEffectOrdinal; 3159 +} 3160 +alias SOUNDSENTRYW* LPSOUNDSENTRYW; 3161 + 3162 +struct STICKYKEYS { 3163 + DWORD cbSize = this.sizeof; 3164 + DWORD dwFlags; 3165 +} 3166 +alias STICKYKEYS* LPSTICKYKEYS; 3167 + 3168 +struct TOGGLEKEYS { 3169 + DWORD cbSize = this.sizeof; 3170 + DWORD dwFlags; 3171 +} 3172 + 3173 +struct MOUSEHOOKSTRUCT { 3174 + POINT pt; 3175 + HWND hwnd; 3176 + UINT wHitTestCode; 3177 + DWORD dwExtraInfo; 3178 +} 3179 +alias MOUSEHOOKSTRUCT* LPMOUSEHOOKSTRUCT, PMOUSEHOOKSTRUCT; 3180 + 3181 +struct TRACKMOUSEEVENT { 3182 + DWORD cbSize = this.sizeof; 3183 + DWORD dwFlags; 3184 + HWND hwndTrack; 3185 + DWORD dwHoverTime; 3186 +} 3187 +alias TRACKMOUSEEVENT* LPTRACKMOUSEEVENT; 3188 + 3189 +struct TPMPARAMS { 3190 + UINT cbSize = this.sizeof; 3191 + RECT rcExclude; 3192 +} 3193 +alias TPMPARAMS* LPTPMPARAMS; 3194 + 3195 +struct EVENTMSG { 3196 + UINT message; 3197 + UINT paramL; 3198 + UINT paramH; 3199 + DWORD time; 3200 + HWND hwnd; 3201 +} 3202 +alias EVENTMSG* PEVENTMSGMSG, LPEVENTMSGMSG, PEVENTMSG, LPEVENTMSG; 3203 + 3204 +struct WINDOWPOS { 3205 + HWND hwnd; 3206 + HWND hwndInsertAfter; 3207 + int x; 3208 + int y; 3209 + int cx; 3210 + int cy; 3211 + UINT flags; 3212 +} 3213 +alias WINDOWPOS* PWINDOWPOS, LPWINDOWPOS; 3214 + 3215 +struct NCCALCSIZE_PARAMS { 3216 + RECT rgrc[3]; 3217 + PWINDOWPOS lppos; 3218 +} 3219 +alias NCCALCSIZE_PARAMS* LPNCCALCSIZE_PARAMS; 3220 + 3221 +struct MDICREATESTRUCTA { 3222 + LPCSTR szClass; 3223 + LPCSTR szTitle; 3224 + HANDLE hOwner; 3225 + int x; 3226 + int y; 3227 + int cx; 3228 + int cy; 3229 + DWORD style; 3230 + LPARAM lParam; 3231 +} 3232 +alias MDICREATESTRUCTA* LPMDICREATESTRUCTA; 3233 + 3234 +struct MDICREATESTRUCTW { 3235 + LPCWSTR szClass; 3236 + LPCWSTR szTitle; 3237 + HANDLE hOwner; 3238 + int x; 3239 + int y; 3240 + int cx; 3241 + int cy; 3242 + DWORD style; 3243 + LPARAM lParam; 3244 +} 3245 +alias MDICREATESTRUCTW* LPMDICREATESTRUCTW; 3246 + 3247 +struct MINMAXINFO { 3248 + POINT ptReserved; 3249 + POINT ptMaxSize; 3250 + POINT ptMaxPosition; 3251 + POINT ptMinTrackSize; 3252 + POINT ptMaxTrackSize; 3253 +} 3254 +alias MINMAXINFO* PMINMAXINFO, LPMINMAXINFO; 3255 + 3256 +struct MDINEXTMENU { 3257 + HMENU hmenuIn; 3258 + HMENU hmenuNext; 3259 + HWND hwndNext; 3260 +} 3261 +alias MDINEXTMENU* PMDINEXTMENU, LPMDINEXTMENU; 3262 + 3263 +struct MEASUREITEMSTRUCT { 3264 + UINT CtlType; 3265 + UINT CtlID; 3266 + UINT itemID; 3267 + UINT itemWidth; 3268 + UINT itemHeight; 3269 + DWORD itemData; 3270 +} 3271 +alias MEASUREITEMSTRUCT* PMEASUREITEMSTRUCT, LPMEASUREITEMSTRUCT; 3272 + 3273 +struct DROPSTRUCT { 3274 + HWND hwndSource; 3275 + HWND hwndSink; 3276 + DWORD wFmt; 3277 + DWORD dwData; 3278 + POINT ptDrop; 3279 + DWORD dwControlData; 3280 +} 3281 +alias DROPSTRUCT* PDROPSTRUCT, LPDROPSTRUCT; 3282 + 3283 +alias DWORD HELPPOLY; 3284 + 3285 +struct MULTIKEYHELPA { 3286 + DWORD mkSize; 3287 + CHAR mkKeylist; 3288 + CHAR szKeyphrase[1]; 3289 +} 3290 +alias MULTIKEYHELPA* PMULTIKEYHELPA, LPMULTIKEYHELPA; 3291 + 3292 +struct MULTIKEYHELPW { 3293 + DWORD mkSize; 3294 + WCHAR mkKeylist; 3295 + WCHAR szKeyphrase[1]; 3296 +} 3297 +alias MULTIKEYHELPW* PMULTIKEYHELPW, LPMULTIKEYHELPW; 3298 + 3299 +struct HELPWININFOA { 3300 + int wStructSize; 3301 + int x; 3302 + int y; 3303 + int dx; 3304 + int dy; 3305 + int wMax; 3306 + CHAR rgchMember[2]; 3307 +} 3308 +alias HELPWININFOA* PHELPWININFOA, LPHELPWININFOA; 3309 + 3310 +struct HELPWININFOW { 3311 + int wStructSize; 3312 + int x; 3313 + int y; 3314 + int dx; 3315 + int dy; 3316 + int wMax; 3317 + WCHAR rgchMember[2]; 3318 +} 3319 +alias HELPWININFOW* PHELPWININFOW, LPHELPWININFOW; 3320 + 3321 +struct STYLESTRUCT { 3322 + DWORD styleOld; 3323 + DWORD styleNew; 3324 +} 3325 +alias STYLESTRUCT* LPSTYLESTRUCT; 3326 + 3327 +struct ALTTABINFO { 3328 + DWORD cbSize = this.sizeof; 3329 + int cItems; 3330 + int cColumns; 3331 + int cRows; 3332 + int iColFocus; 3333 + int iRowFocus; 3334 + int cxItem; 3335 + int cyItem; 3336 + POINT ptStart; 3337 +} 3338 +alias ALTTABINFO* PALTTABINFO, LPALTTABINFO; 3339 + 3340 +struct COMBOBOXINFO { 3341 + DWORD cbSize = this.sizeof; 3342 + RECT rcItem; 3343 + RECT rcButton; 3344 + DWORD stateButton; 3345 + HWND hwndCombo; 3346 + HWND hwndItem; 3347 + HWND hwndList; 3348 +} 3349 +alias COMBOBOXINFO* PCOMBOBOXINFO, LPCOMBOBOXINFO; 3350 + 3351 +struct CURSORINFO { 3352 + DWORD cbSize = this.sizeof; 3353 + DWORD flags; 3354 + HCURSOR hCursor; 3355 + POINT ptScreenPos; 3356 +} 3357 +alias CURSORINFO* PCURSORINFO, LPCURSORINFO; 3358 + 3359 +struct MENUBARINFO { 3360 + DWORD cbSize = this.sizeof; 3361 + RECT rcBar; 3362 + HMENU hMenu; 3363 + HWND hwndMenu; 3364 + byte bf_; // Simulated bitfield 3365 +// BOOL fBarFocused:1; 3366 +// BOOL fFocused:1; 3367 + bool fBarFocused() { return (bf_ & 1) == 1; } 3368 + bool fFocused() { return (bf_ & 2) == 2; } 3369 + void fBarFocused(bool b) { bf_ = cast(byte)((bf_ & 0xFE) | b); } 3370 + void fFocused(bool b) { bf_ = cast(byte)(b ? (bf_ | 2) : bf_ & 0xFD); } 3371 +} 3372 +alias MENUBARINFO* PMENUBARINFO; 3373 + 3374 +struct MENUINFO { 3375 + DWORD cbSize = this.sizeof; 3376 + DWORD fMask; 3377 + DWORD dwStyle; 3378 + UINT cyMax; 3379 + HBRUSH hbrBack; 3380 + DWORD dwContextHelpID; 3381 + ULONG_PTR dwMenuData; 3382 +} 3383 +alias MENUINFO* LPMENUINFO; 3384 +alias CPtr!(MENUINFO) LPCMENUINFO; 3385 + 3386 + 3387 +const CCHILDREN_SCROLLBAR=5; 3388 + 3389 +struct SCROLLBARINFO { 3390 + DWORD cbSize = this.sizeof; 3391 + RECT rcScrollBar; 3392 + int dxyLineButton; 3393 + int xyThumbTop; 3394 + int xyThumbBottom; 3395 + int reserved; 3396 + DWORD rgstate[CCHILDREN_SCROLLBAR+1]; 3397 +} 3398 +alias SCROLLBARINFO* PSCROLLBARINFO, LPSCROLLBARINFO; 3399 + 3400 +const CCHILDREN_TITLEBAR=5; 3401 + 3402 +struct TITLEBARINFO { 3403 + DWORD cbSize = TITLEBARINFO.sizeof; 3404 + RECT rcTitleBar; 3405 + DWORD[CCHILDREN_TITLEBAR+1] rgstate; 3406 +} 3407 +alias TITLEBARINFO* PTITLEBARINFO, LPTITLEBARINFO; 3408 + 3409 +struct WINDOWINFO { 3410 + DWORD cbSize = WINDOWINFO.sizeof; 3411 + RECT rcWindow; 3412 + RECT rcClient; 3413 + DWORD dwStyle; 3414 + DWORD dwExStyle; 3415 + DWORD dwWindowStatus; 3416 + UINT cxWindowBorders; 3417 + UINT cyWindowBorders; 3418 + ATOM atomWindowType; 3419 + WORD wCreatorVersion; 3420 +} 3421 +alias WINDOWINFO* PWINDOWINFO, LPWINDOWINFO; 3422 + 3423 +struct LASTINPUTINFO { 3424 + UINT cbSize = this.sizeof; 3425 + DWORD dwTime; 3426 +} 3427 +alias LASTINPUTINFO* PLASTINPUTINFO; 3428 + 3429 +struct MONITORINFO { 3430 + DWORD cbSize = this.sizeof; 3431 + RECT rcMonitor; 3432 + RECT rcWork; 3433 + DWORD dwFlags; 3434 +} 3435 +alias MONITORINFO* LPMONITORINFO; 3436 + 3437 +const CCHDEVICENAME=32; 3438 + 3439 +struct MONITORINFOEXA { 3440 + DWORD cbSize = MONITORINFOEXA.sizeof; 3441 + RECT rcMonitor; 3442 + RECT rcWork; 3443 + DWORD dwFlags; 3444 + CHAR[CCHDEVICENAME] szDevice; 3445 +} 3446 +alias MONITORINFOEXA* LPMONITORINFOEXA; 3447 + 3448 +struct MONITORINFOEXW { 3449 + DWORD cbSize = MONITORINFOEXW.sizeof; 3450 + RECT rcMonitor; 3451 + RECT rcWork; 3452 + DWORD dwFlags; 3453 + WCHAR[CCHDEVICENAME] szDevice; 3454 +} 3455 +alias MONITORINFOEXW* LPMONITORINFOEXW; 3456 + 3457 +struct KBDLLHOOKSTRUCT { 3458 + DWORD vkCode; 3459 + DWORD scanCode; 3460 + DWORD flags; 3461 + DWORD time; 3462 + DWORD dwExtraInfo; 3463 +} 3464 +alias KBDLLHOOKSTRUCT* LPKBDLLHOOKSTRUCT, PKBDLLHOOKSTRUCT; 3465 + 3466 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 3467 + 3468 +struct FLASHWINFO { 3469 + UINT cbSize = this.sizeof; 3470 + HWND hwnd; 3471 + DWORD dwFlags; 3472 + UINT uCount; 3473 + DWORD dwTimeout; 3474 +} 3475 +alias FLASHWINFO* PFLASHWINFO; 3476 + 3477 +} 3478 + 3479 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { 3480 + 3481 +struct MOUSEMOVEPOINT { 3482 + int x; 3483 + int y; 3484 + DWORD time; 3485 + ULONG_PTR dwExtraInfo; 3486 +} 3487 +alias MOUSEMOVEPOINT* PMOUSEMOVEPOINT, LPMOUSEMOVEPOINT; 3488 +} 3489 + 3490 +static if (_WIN32_WINNT >= 0x403) { 3491 +struct MOUSEINPUT { 3492 + LONG dx; 3493 + LONG dy; 3494 + DWORD mouseData; 3495 + DWORD dwFlags; 3496 + DWORD time; 3497 + ULONG_PTR dwExtraInfo; 3498 +} 3499 +alias MOUSEINPUT* PMOUSEINPUT; 3500 + 3501 +struct KEYBDINPUT { 3502 + WORD wVk; 3503 + WORD wScan; 3504 + DWORD dwFlags; 3505 + DWORD time; 3506 + ULONG_PTR dwExtraInfo; 3507 +} 3508 +alias KEYBDINPUT* PKEYBDINPUT; 3509 + 3510 +struct HARDWAREINPUT { 3511 + DWORD uMsg; 3512 + WORD wParamL; 3513 + WORD wParamH; 3514 +} 3515 +alias HARDWAREINPUT* PHARDWAREINPUT; 3516 + 3517 +struct INPUT { 3518 + DWORD type; 3519 + union { 3520 + MOUSEINPUT mi; 3521 + KEYBDINPUT ki; 3522 + HARDWAREINPUT hi; 3523 + } 3524 +} 3525 +alias INPUT* PINPUT, LPINPUT; 3526 +}// (_WIN32_WINNT >= 0x403) 3527 + 3528 +static if (WINVER >= 0x500) { 3529 +struct GUITHREADINFO { 3530 + DWORD cbSize = this.sizeof; 3531 + DWORD flags; 3532 + HWND hwndActive; 3533 + HWND hwndFocus; 3534 + HWND hwndCapture; 3535 + HWND hwndMenuOwner; 3536 + HWND hwndMoveSize; 3537 + HWND hwndCaret; 3538 + RECT rcCaret; 3539 +} 3540 +alias GUITHREADINFO* PGUITHREADINFO, LPGUITHREADINFO; 3541 +extern (Windows) { 3542 +alias void function (HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD) WINEVENTPROC; 3543 +} 3544 + 3545 +}// (WINVER >= 0x500) 3546 + 3547 +static if (_WIN32_WINNT >= 0x501) { 3548 +struct BSMINFO { 3549 + UINT cbSize = this.sizeof; 3550 + HDESK hdesk; 3551 + HWND hwnd; 3552 + LUID luid; 3553 +} 3554 +alias BSMINFO* PBSMINFO; 3555 + 3556 +alias HANDLE HRAWINPUT; 3557 + 3558 +struct RAWINPUTHEADER { 3559 + DWORD dwType; 3560 + DWORD dwSize; 3561 + HANDLE hDevice; 3562 + WPARAM wParam; 3563 +} 3564 +alias RAWINPUTHEADER* PRAWINPUTHEADER; 3565 + 3566 +struct RAWMOUSE { 3567 + USHORT usFlags; 3568 + union { 3569 + ULONG ulButtons; 3570 + struct { 3571 + USHORT usButtonFlags; 3572 + USHORT usButtonData; 3573 + } 3574 + } 3575 + ULONG ulRawButtons; 3576 + LONG lLastX; 3577 + LONG lLastY; 3578 + ULONG ulExtraInformation; 3579 +} 3580 +alias RAWMOUSE* PRAWMOUSE, LPRAWMOUSE; 3581 + 3582 +struct RAWKEYBOARD { 3583 + USHORT MakeCode; 3584 + USHORT Flags; 3585 + USHORT Reserved; 3586 + USHORT VKey; 3587 + UINT Message; 3588 + ULONG ExtraInformation; 3589 +} 3590 +alias RAWKEYBOARD* PRAWKEYBOARD, LPRAWKEYBOARD; 3591 + 3592 +struct RAWHID { 3593 + DWORD dwSizeHid; 3594 + DWORD dwCount; 3595 + BYTE bRawData; 3596 +} 3597 +alias RAWHID* PRAWHID, LPRAWHID; 3598 + 3599 +struct RAWINPUT { 3600 + RAWINPUTHEADER header; 3601 + union _data { 3602 + RAWMOUSE mouse; 3603 + RAWKEYBOARD keyboard; 3604 + RAWHID hid; 3605 + } 3606 + _data data; 3607 +} 3608 +alias RAWINPUT* PRAWINPUT, LPRAWINPUT; 3609 + 3610 +struct RAWINPUTDEVICE { 3611 + USHORT usUsagePage; 3612 + USHORT usUsage; 3613 + DWORD dwFlags; 3614 + HWND hwndTarget; 3615 +} 3616 +alias RAWINPUTDEVICE* PRAWINPUTDEVICE, LPRAWINPUTDEVICE; 3617 +alias CPtr!(RAWINPUTDEVICE) PCRAWINPUTDEVICE; 3618 + 3619 +struct RAWINPUTDEVICELIST { 3620 + HANDLE hDevice; 3621 + DWORD dwType; 3622 +} 3623 +alias RAWINPUTDEVICELIST* PRAWINPUTDEVICELIST; 3624 + 3625 +struct RID_DEVICE_INFO_MOUSE { 3626 + DWORD dwId; 3627 + DWORD dwNumberOfButtons; 3628 + DWORD dwSampleRate; 3629 + BOOL fHasHorizontalWheel; 3630 +} 3631 + 3632 +struct RID_DEVICE_INFO_KEYBOARD { 3633 + DWORD dwType; 3634 + DWORD dwSubType; 3635 + DWORD dwKeyboardMode; 3636 + DWORD dwNumberOfFunctionKeys; 3637 + DWORD dwNumberOfIndicators; 3638 + DWORD dwNumberOfKeysTotal; 3639 +} 3640 + 3641 +struct RID_DEVICE_INFO_HID { 3642 + DWORD dwVendorId; 3643 + DWORD dwProductId; 3644 + DWORD dwVersionNumber; 3645 + USHORT usUsagePage; 3646 + USHORT usUsage; 3647 +} 3648 + 3649 +struct RID_DEVICE_INFO { 3650 + DWORD cbSize = this.sizeof; 3651 + DWORD dwType; 3652 + union { 3653 + RID_DEVICE_INFO_MOUSE mouse; 3654 + RID_DEVICE_INFO_KEYBOARD keyboard; 3655 + RID_DEVICE_INFO_HID hid; 3656 + } 3657 +} 3658 +}// (_WIN32_WINNT >= 0x501) 3659 + 3660 +struct MSLLHOOKSTRUCT { 3661 + POINT pt; 3662 + DWORD mouseData; 3663 + DWORD flags; 3664 + DWORD time; 3665 + ULONG_PTR dwExtraInfo; 3666 +} 3667 +alias MSLLHOOKSTRUCT* PMSLLHOOKSTRUCT; 3604 3668 3605 3669 alias CharToOemA AnsiToOem; 3606 3670 alias OemToCharA OemToAnsi; 3607 3671 alias CharToOemBuffA AnsiToOemBuff; 3608 3672 alias OemToCharBuffA OemToAnsiBuff; 3609 3673 alias CharUpperA AnsiUpper; 3610 3674 alias CharUpperBuffA AnsiUpperBuff; 3611 3675 alias CharLowerA AnsiLower; 3612 3676 alias CharLowerBuffA AnsiLowerBuff; 3613 3677 alias CharNextA AnsiNext; 3614 3678 alias CharPrevA AnsiPrev; 3615 3679 3616 -// #ifndef NOLANGUAGE 3617 - 3618 -extern(Windows) export BOOL IsCharAlphaA( 3619 - CHAR ch); 3620 -extern(Windows) export BOOL IsCharAlphaW( 3621 - WCHAR ch); 3622 -// #ifdef UNICODE 3623 -alias IsCharAlphaW IsCharAlpha; 3624 -// #else 3625 -// #... 3626 -// #endif // !UNICODE 3627 - 3628 -extern(Windows) export BOOL IsCharAlphaNumericA( 3629 - CHAR ch); 3630 -extern(Windows) export BOOL IsCharAlphaNumericW( 3631 - WCHAR ch); 3632 -// #ifdef UNICODE 3633 -alias IsCharAlphaNumericW IsCharAlphaNumeric; 3634 -// #else 3635 -// #... 3636 -// #endif // !UNICODE 3637 - 3638 -extern(Windows) export BOOL IsCharUpperA( 3639 - CHAR ch); 3640 -extern(Windows) export BOOL IsCharUpperW( 3641 - WCHAR ch); 3642 -// #ifdef UNICODE 3643 -alias IsCharUpperW IsCharUpper; 3644 -// #else 3645 -// #... 3646 -// #endif // !UNICODE 3647 - 3648 -extern(Windows) export BOOL IsCharLowerA( 3649 - CHAR ch); 3650 -extern(Windows) export BOOL IsCharLowerW( 3651 - WCHAR ch); 3652 -// #ifdef UNICODE 3653 -alias IsCharLowerW IsCharLower; 3654 -// #else 3655 -// #... 3656 -// #endif // !UNICODE 3657 - 3658 -// #endif /* !NOLANGUAGE */ 3659 - 3660 -extern(Windows) export HWND SetFocus( 3661 - HWND hWnd); 3662 - 3663 -extern(Windows) export HWND GetActiveWindow(); 3664 - 3665 -extern(Windows) export HWND GetFocus(); 3666 - 3667 -extern(Windows) export UINT GetKBCodePage(); 3668 - 3669 -extern(Windows) export SHORT GetKeyState( 3670 - int nVirtKey); 3671 - 3672 -extern(Windows) export SHORT GetAsyncKeyState( 3673 - int vKey); 3674 - 3675 -extern(Windows) export BOOL GetKeyboardState( 3676 - PBYTE lpKeyState); 3677 - 3678 -extern(Windows) export BOOL SetKeyboardState( 3679 - LPBYTE lpKeyState); 3680 - 3681 -extern(Windows) export int GetKeyNameTextA( 3682 - LONG lParam, 3683 - LPSTR lpString, 3684 - int nSize); 3685 -extern(Windows) export int GetKeyNameTextW( 3686 - LONG lParam, 3687 - LPWSTR lpString, 3688 - int nSize); 3689 -// #ifdef UNICODE 3690 -alias GetKeyNameTextW GetKeyNameText; 3691 -// #else 3692 -// #... 3693 -// #endif // !UNICODE 3694 - 3695 -extern(Windows) export int GetKeyboardType( 3696 - int nTypeFlag); 3697 - 3698 -extern(Windows) export int ToAscii( 3699 - UINT uVirtKey, 3700 - UINT uScanCode, 3701 - BYTE *lpKeyState, 3702 - LPWORD lpChar, 3703 - UINT uFlags); 3680 +alias MAKELONG MAKEWPARAM; 3681 +alias MAKELONG MAKELPARAM; 3682 +alias MAKELONG MAKELRESULT; 3683 + 3684 +//MACRO #define POINTSTOPOINT(p, ps) { (p).x=LOWORD(*(DWORD* )&ps); (p).y=HIWORD(*(DWORD* )&ps); } 3685 +//MACRO #define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x, (p).y)) 3686 + 3687 +extern (Windows) { 3688 + 3689 +HKL ActivateKeyboardLayout(HKL, UINT); 3690 +BOOL AdjustWindowRect(LPRECT, DWORD, BOOL); 3691 +BOOL AdjustWindowRectEx(LPRECT, DWORD, BOOL, DWORD); 3692 +BOOL AnyPopup(); 3693 +BOOL AppendMenuA(HMENU, UINT, UINT_PTR, LPCSTR); 3694 +BOOL AppendMenuW(HMENU, UINT, UINT_PTR, LPCWSTR); 3695 +UINT ArrangeIconicWindows(HWND); 3696 +BOOL AttachThreadInput(DWORD, DWORD, BOOL); 3697 +HDWP BeginDeferWindowPos(int); 3698 +HDC BeginPaint(HWND, LPPAINTSTRUCT); 3699 +BOOL BringWindowToTop(HWND); 3700 +BOOL CallMsgFilterA(LPMSG, INT); 3701 +BOOL CallMsgFilterW(LPMSG, INT); 3702 +LRESULT CallNextHookEx(HHOOK, int, WPARAM, LPARAM); 3703 +LRESULT CallWindowProcA(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3704 +LRESULT CallWindowProcW(WNDPROC, HWND, UINT, WPARAM, LPARAM); 3705 +WORD CascadeWindows(HWND, UINT, LPCRECT, UINT, CPtr!(HWND)); 3706 +BOOL ChangeClipboardChain(HWND, HWND); 3707 + 3708 +LONG ChangeDisplaySettingsA(PDEVMODEA, DWORD); 3709 +LONG ChangeDisplaySettingsW(PDEVMODEW, DWORD); 3710 +LONG ChangeDisplaySettingsExA(LPCSTR, LPDEVMODEA, HWND, DWORD, LPVOID); 3711 +LONG ChangeDisplaySettingsExW(LPCWSTR, LPDEVMODEW, HWND, DWORD, LPVOID); 3712 + 3713 +BOOL ChangeMenuA(HMENU, UINT, LPCSTR, UINT, UINT); 3714 +BOOL ChangeMenuW(HMENU, UINT, LPCWSTR, UINT, UINT); 3715 +LPSTR CharLowerA(LPSTR); 3716 +LPWSTR CharLowerW(LPWSTR); 3717 +DWORD CharLowerBuffA(LPSTR, DWORD); 3718 +DWORD CharLowerBuffW(LPWSTR, DWORD); 3719 +LPSTR CharNextA(LPCSTR); 3720 +LPWSTR CharNextW(LPCWSTR); 3721 +LPSTR CharNextExA(WORD, LPCSTR, DWORD); 3722 +LPWSTR CharNextExW(WORD, LPCWSTR, DWORD); 3723 +LPSTR CharPrevA(LPCSTR, LPCSTR); 3724 +LPWSTR CharPrevW(LPCWSTR, LPCWSTR); 3725 +LPSTR CharPrevExA(WORD, LPCSTR, LPCSTR, DWORD); 3726 +LPWSTR CharPrevExW(WORD, LPCWSTR, LPCWSTR, DWORD); 3727 +BOOL CharToOemA(LPCSTR, LPSTR); 3728 +BOOL CharToOemW(LPCWSTR, LPSTR); 3729 +BOOL CharToOemBuffA(LPCSTR, LPSTR, DWORD); 3730 +BOOL CharToOemBuffW(LPCWSTR, LPSTR, DWORD); 3731 +LPSTR CharUpperA(LPSTR); 3732 +LPWSTR CharUpperW(LPWSTR); 3733 +DWORD CharUpperBuffA(LPSTR, DWORD); 3734 +DWORD CharUpperBuffW(LPWSTR, DWORD); 3735 +BOOL CheckDlgButton(HWND, int, UINT); 3736 +DWORD CheckMenuItem(HMENU, UINT, UINT); 3737 +BOOL CheckMenuRadioItem(HMENU, UINT, UINT, UINT, UINT); 3738 +BOOL CheckRadioButton(HWND, int, int, int); 3739 +HWND ChildWindowFromPoint(HWND, POINT); 3740 +HWND ChildWindowFromPointEx(HWND, POINT, UINT); 3741 +BOOL ClientToScreen(HWND, LPPOINT); 3742 +BOOL ClipCursor(LPCRECT); 3743 +BOOL CloseClipboard(); 3744 +BOOL CloseDesktop(HDESK); 3745 +BOOL CloseWindow(HWND); 3746 +BOOL CloseWindowStation(HWINSTA); 3747 +int CopyAcceleratorTableA(HACCEL, LPACCEL, int); 3748 +int CopyAcceleratorTableW(HACCEL, LPACCEL, int); 3749 + 3750 +HICON CopyIcon(HICON); 3751 +HANDLE CopyImage(HANDLE, UINT, int, int, UINT); 3752 +BOOL CopyRect(LPRECT, LPCRECT); 3753 +int CountClipboardFormats(); 3754 +HACCEL CreateAcceleratorTableA(LPACCEL, int); 3755 +HACCEL CreateAcceleratorTableW(LPACCEL, int); 3756 +BOOL CreateCaret(HWND, HBITMAP, int, int); 3757 +HCURSOR CreateCursor(HINSTANCE, int, int, int, int, PCVOID, PCVOID); 3758 + 3759 +HDESK CreateDesktopA(LPCSTR, LPCSTR, LPDEVMODEA, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES); 3760 +HDESK CreateDesktopW(LPCWSTR, LPCWSTR, LPDEVMODEW, DWORD, ACCESS_MASK, LPSECURITY_ATTRIBUTES); 3761 + 3762 +HWND CreateDialogParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3763 +HWND CreateDialogParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3764 +HWND CreateDialogIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3765 +HWND CreateDialogIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3766 + 3767 +HICON CreateIcon(HINSTANCE, int, int, BYTE, BYTE, CPtr!(BYTE), BYTE*); 3768 +HICON CreateIconFromResource(PBYTE, DWORD, BOOL, DWORD); 3769 +HICON CreateIconFromResourceEx(PBYTE, DWORD, BOOL, DWORD, int, int, UINT); 3770 +HICON CreateIconIndirect(PICONINFO); 3771 +HWND CreateMDIWindowA(LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM); 3772 +HWND CreateMDIWindowW(LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HINSTANCE, LPARAM); 3773 +HMENU CreateMenu(); 3774 +HMENU CreatePopupMenu(); 3775 + 3776 +HWND CreateWindowExA(DWORD, LPCSTR, LPCSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID); 3777 +HWND CreateWindowExW(DWORD, LPCWSTR, LPCWSTR, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, LPVOID); 3778 + 3779 +HWINSTA CreateWindowStationA(LPSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 3780 +HWINSTA CreateWindowStationW(LPWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES); 3781 +LRESULT DefDlgProcA(HWND, UINT, WPARAM, LPARAM); 3782 +LRESULT DefDlgProcW(HWND, UINT, WPARAM, LPARAM); 3783 +HDWP DeferWindowPos(HDWP, HWND, HWND, int, int, int, int, UINT); 3784 +LRESULT DefFrameProcA(HWND, HWND, UINT, WPARAM, LPARAM); 3785 +LRESULT DefFrameProcW(HWND, HWND, UINT, WPARAM, LPARAM); 3786 + 3787 +LRESULT DefMDIChildProcA(HWND, UINT, WPARAM, LPARAM); 3788 +LRESULT DefMDIChildProcW(HWND, UINT, WPARAM, LPARAM); 3789 +LRESULT DefWindowProcA(HWND, UINT, WPARAM, LPARAM); 3790 +LRESULT DefWindowProcW(HWND, UINT, WPARAM, LPARAM); 3791 +BOOL DeleteMenu(HMENU, UINT, UINT); 3792 +BOOL DeregisterShellHookWindow(HWND); 3793 +BOOL DestroyAcceleratorTable(HACCEL); 3794 +BOOL DestroyCaret(); 3795 +BOOL DestroyCursor(HCURSOR); 3796 +BOOL DestroyIcon(HICON); 3797 +BOOL DestroyMenu(HMENU); 3798 +BOOL DestroyWindow(HWND); 3799 + 3800 +int DialogBoxParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM); 3801 +int DialogBoxParamW(HINSTANCE, LPCWSTR, HWND, DLGPROC, LPARAM); 3802 +int DialogBoxIndirectParamA(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3803 +int DialogBoxIndirectParamW(HINSTANCE, LPCDLGTEMPLATE, HWND, DLGPROC, LPARAM); 3804 + 3805 +} // extern (Windows) 3806 + 3807 +HCURSOR CopyCursor(HCURSOR c) 3808 +{ 3809 + return cast(HCURSOR)CopyIcon(cast(HICON)c); 3810 +} 3811 + 3812 +HWND CreateDialogA(HINSTANCE h, LPCSTR n, HWND w, DLGPROC f) 3813 +{ 3814 + return CreateDialogParamA(h, n, w, f, 0); 3815 +} 3816 + 3817 +HWND CreateDialogW(HINSTANCE h, LPCWSTR n, HWND w, DLGPROC f) 3818 +{ 3819 + return CreateDialogParamW(h, n, w, f, 0); 3820 +} 3821 + 3822 +HWND CreateDialogIndirectA(HINSTANCE h, LPCDLGTEMPLATE t, HWND w , DLGPROC f) 3823 +{ 3824 + return CreateDialogIndirectParamA(h, t, w, f, 0); 3825 +} 3826 + 3827 +HWND CreateDialogIndirectW(HINSTANCE h, LPCDLGTEMPLATE t, HWND w , DLGPROC f) 3828 +{ 3829 + return CreateDialogIndirectParamW(h, t, w, f, 0); 3830 +} 3831 + 3832 + 3833 +HWND CreateWindowA(LPCSTR a, LPCSTR b, DWORD c, int d, int e, int f, int g, HWND h, HMENU i, HINSTANCE j, LPVOID k) 3834 +{ 3835 + return CreateWindowExA(0, a, b, c, d, e, f, g, h, i, j, k); 3836 +} 3837 + 3838 +HWND CreateWindowW(LPCWSTR a, LPCWSTR b, DWORD c, int d, int e, int f, int g, HWND h, HMENU i, HINSTANCE j, LPVOID k) 3839 +{ 3840 + return CreateWindowExW(0, a, b, c, d, e, f, g, h, i, j, k); 3841 +} 3842 + 3843 +int DialogBoxA(HINSTANCE i, LPCSTR t, HWND p, DLGPROC f) 3844 +{ 3845 + return DialogBoxParamA(i, t, p, f, 0); 3846 +} 3847 + 3848 +int DialogBoxW(HINSTANCE i, LPCWSTR t, HWND p, DLGPROC f) 3849 +{ 3850 + return DialogBoxParamW(i, t, p, f, 0); 3851 +} 3852 + 3853 +int DialogBoxIndirectA(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) 3854 +{ 3855 + return DialogBoxIndirectParamA(i, t, p, f, 0); 3856 +} 3857 + 3858 +int DialogBoxIndirectW(HINSTANCE i, LPCDLGTEMPLATE t, HWND p, DLGPROC f) 3859 +{ 3860 + return DialogBoxIndirectParamW(i, t, p, f, 0); 3861 +} 3862 + 3863 +BOOL ExitWindows(UINT r, DWORD c) 3864 +{ 3865 + return ExitWindowsEx(EWX_LOGOFF, 0); 3866 +} 3867 +alias GetWindow GetNextWindow; 3868 + 3869 +extern (Windows): 3870 +LONG DispatchMessageA( CPtr!(MSG)); 3871 +LONG DispatchMessageW( CPtr!(MSG)); 3872 +int DlgDirListA(HWND, LPSTR, int, int, UINT); 3873 +int DlgDirListW(HWND, LPWSTR, int, int, UINT); 3874 +int DlgDirListComboBoxA(HWND, LPSTR, int, int, UINT); 3875 +int DlgDirListComboBoxW(HWND, LPWSTR, int, int, UINT); 3876 +BOOL DlgDirSelectComboBoxExA(HWND, LPSTR, int, int); 3877 +BOOL DlgDirSelectComboBoxExW(HWND, LPWSTR, int, int); 3878 +BOOL DlgDirSelectExA(HWND, LPSTR, int, int); 3879 +BOOL DlgDirSelectExW(HWND, LPWSTR, int, int); 3880 +BOOL DragDetect(HWND, POINT); 3881 +DWORD DragObject(HWND, HWND, UINT, DWORD, HCURSOR); 3882 +BOOL DrawAnimatedRects(HWND, int, LPCRECT, LPCRECT); 3883 +BOOL DrawCaption(HWND, HDC, LPCRECT, UINT); 3884 +BOOL DrawEdge(HDC, LPRECT, UINT, UINT); 3885 +BOOL DrawFocusRect(HDC, LPCRECT); 3886 +BOOL DrawFrameControl(HDC, LPRECT, UINT, UINT); 3887 +BOOL DrawIcon(HDC, int, int, HICON); 3888 +BOOL DrawIconEx(HDC, int, int, HICON, int, int, UINT, HBRUSH, UINT); 3889 +BOOL DrawMenuBar(HWND); 3890 +BOOL DrawStateA(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT); 3891 +BOOL DrawStateW(HDC, HBRUSH, DRAWSTATEPROC, LPARAM, WPARAM, int, int, int, int, UINT); 3892 +int DrawTextA(HDC, LPCSTR, int, LPRECT, UINT); 3893 +int DrawTextW(HDC, LPCWSTR, int, LPRECT, UINT); 3894 +int DrawTextExA(HDC, LPSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3895 +int DrawTextExW(HDC, LPWSTR, int, LPRECT, UINT, LPDRAWTEXTPARAMS); 3896 +BOOL EmptyClipboard(); 3897 +BOOL EnableMenuItem(HMENU, UINT, UINT); 3898 +BOOL EnableScrollBar(HWND, UINT, UINT); 3899 +BOOL EnableWindow(HWND, BOOL); 3900 +BOOL EndDeferWindowPos(HDWP); 3901 +BOOL EndDialog(HWND, int); 3902 +BOOL EndMenu(); 3903 +BOOL EndPaint(HWND, CPtr!(PAINTSTRUCT)); 3904 +BOOL EnumChildWindows(HWND, ENUMWINDOWSPROC, LPARAM); 3905 +UINT EnumClipboardFormats(UINT); 3906 +BOOL EnumDesktopsA(HWINSTA, DESKTOPENUMPROCA, LPARAM); 3907 +BOOL EnumDesktopsW(HWINSTA, DESKTOPENUMPROCW, LPARAM); 3908 +BOOL EnumDesktopWindows(HDESK, ENUMWINDOWSPROC, LPARAM); 3909 +BOOL EnumDisplaySettingsA(LPCSTR, DWORD, PDEVMODEA); 3910 +BOOL EnumDisplaySettingsW(LPCWSTR, DWORD, PDEVMODEW); 3911 + 3912 +BOOL EnumDisplayDevicesA(LPCSTR, DWORD, PDISPLAY_DEVICEA, DWORD); 3913 +BOOL EnumDisplayDevicesW(LPCWSTR, DWORD, PDISPLAY_DEVICEW, DWORD); 3914 + 3915 +int EnumPropsA(HWND, PROPENUMPROCA); 3916 +int EnumPropsW(HWND, PROPENUMPROCW); 3917 +int EnumPropsExA(HWND, PROPENUMPROCEXA, LPARAM); 3918 +int EnumPropsExW(HWND, PROPENUMPROCEXW, LPARAM); 3919 + 3920 +BOOL EnumThreadWindows(DWORD, WNDENUMPROC, LPARAM); 3921 +BOOL EnumWindows(WNDENUMPROC, LPARAM); 3922 +BOOL EnumWindowStationsA(WINSTAENUMPROCA, LPARAM); 3923 +BOOL EnumWindowStationsW(WINSTAENUMPROCW, LPARAM); 3924 +BOOL EqualRect(LPCRECT, LPCRECT); 3925 + 3926 +BOOL ExitWindowsEx(UINT, DWORD); 3927 +HWND FindWindowA(LPCSTR, LPCSTR); 3928 +HWND FindWindowExA(HWND, HWND, LPCSTR, LPCSTR); 3929 +HWND FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR); 3930 +HWND FindWindowW(LPCWSTR, LPCWSTR); 3931 +BOOL FlashWindow(HWND, BOOL); 3932 + 3933 +int FrameRect(HDC, LPCRECT, HBRUSH); 3934 +BOOL FrameRgn(HDC, HRGN, HBRUSH, int, int); 3935 +HWND GetActiveWindow(); 3936 +HWND GetAncestor(HWND, UINT); 3937 +SHORT GetAsyncKeyState(int); 3938 +HWND GetCapture(); 3939 +UINT GetCaretBlinkTime(); 3940 +BOOL GetCaretPos(LPPOINT); 3941 +BOOL GetClassInfoA(HINSTANCE, LPCSTR, LPWNDCLASSA); 3942 +BOOL GetClassInfoExA(HINSTANCE, LPCSTR, LPWNDCLASSEXA); 3943 +BOOL GetClassInfoW(HINSTANCE, LPCWSTR, LPWNDCLASSW); 3944 +BOOL GetClassInfoExW(HINSTANCE, LPCWSTR, LPWNDCLASSEXW); 3945 +DWORD GetClassLongA(HWND, int); 3946 +DWORD GetClassLongW(HWND, int); 3947 +int GetClassNameA(HWND, LPSTR, int); 3948 +int GetClassNameW(HWND, LPWSTR, int); 3949 +WORD GetClassWord(HWND, int); 3950 +BOOL GetClientRect(HWND, LPRECT); 3951 +HANDLE GetClipboardData(UINT); 3952 +int GetClipboardFormatNameA(UINT, LPSTR, int); 3953 +int GetClipboardFormatNameW(UINT, LPWSTR, int); 3954 +HWND GetClipboardOwner(); 3955 +HWND GetClipboardViewer(); 3956 +BOOL GetClipCursor(LPRECT); 3957 +BOOL GetCursorPos(LPPOINT); 3958 +HDC GetDC(HWND); 3959 +HDC GetDCEx(HWND, HRGN, DWORD); 3960 +HWND GetDesktopWindow(); 3961 +int GetDialogBaseUnits(); 3962 +int GetDlgCtrlID(HWND); 3963 +HWND GetDlgItem(HWND, int); 3964 +UINT GetDlgItemInt(HWND, int, PBOOL, BOOL); 3965 +UINT GetDlgItemTextA(HWND, int, LPSTR, int); 3966 +UINT GetDlgItemTextW(HWND, int, LPWSTR, int); 3967 +UINT GetDoubleClickTime(); 3968 +HWND GetFocus(); 3969 +HWND GetForegroundWindow(); 3970 + 3971 +BOOL GetIconInfo(HICON, PICONINFO); 3972 +BOOL GetInputState(); 3973 +UINT GetKBCodePage(); 3974 +HKL GetKeyboardLayout(DWORD); 3975 +UINT GetKeyboardLayoutList(int, HKL*); 3976 +BOOL GetKeyboardLayoutNameA(LPSTR); 3977 +BOOL GetKeyboardLayoutNameW(LPWSTR); 3978 +BOOL GetKeyboardState(PBYTE); 3979 +int GetKeyboardType(int); 3980 +int GetKeyNameTextA(LONG, LPSTR, int); 3981 +int GetKeyNameTextW(LONG, LPWSTR, int); 3982 +SHORT GetKeyState(int); 3983 +HWND GetLastActivePopup(HWND); 3984 +HMENU GetMenu(HWND); 3985 +LONG GetMenuCheckMarkDimensions(); 3986 +DWORD GetMenuContextHelpId(HMENU); 3987 +UINT GetMenuDefaultItem(HMENU, UINT, UINT); 3988 +int GetMenuItemCount(HMENU); 3989 +UINT GetMenuItemID(HMENU, int); 3990 +BOOL GetMenuItemInfoA(HMENU, UINT, BOOL, LPMENUITEMINFOA); 3991 +BOOL GetMenuItemInfoW(HMENU, UINT, BOOL, LPMENUITEMINFOW); 3992 +BOOL GetMenuItemRect(HWND, HMENU, UINT, LPRECT); 3993 +UINT GetMenuState(HMENU, UINT, UINT); 3994 +int GetMenuStringA(HMENU, UINT, LPSTR, int, UINT); 3995 +int GetMenuStringW(HMENU, UINT, LPWSTR, int, UINT); 3996 +BOOL GetMessageA(LPMSG, HWND, UINT, UINT); 3997 +BOOL GetMessageW(LPMSG, HWND, UINT, UINT); 3998 +LONG GetMessageExtraInfo(); 3999 +DWORD GetMessagePos(); 4000 +LONG GetMessageTime(); 4001 + 4002 +HWND GetNextDlgGroupItem(HWND, HWND, BOOL); 4003 +HWND GetNextDlgTabItem(HWND, HWND, BOOL); 4004 + 4005 +HWND GetOpenClipboardWindow(); 4006 +HWND GetParent(HWND); 4007 +int GetPriorityClipboardFormat(UINT*, int); 4008 +HANDLE GetPropA(HWND, LPCSTR); 4009 +HANDLE GetPropW(HWND, LPCWSTR); 4010 + 4011 +DWORD GetQueueStatus(UINT); 4012 +BOOL GetScrollInfo(HWND, int, LPSCROLLINFO); 4013 +int GetScrollPos(HWND, int); 4014 +BOOL GetScrollRange(HWND, int, LPINT, LPINT); 4015 + 4016 +HMENU GetSubMenu(HMENU, int); 4017 +DWORD GetSysColor(int); 4018 +HBRUSH GetSysColorBrush(int); 4019 + 4020 +HMENU GetSystemMenu(HWND, BOOL); 4021 +int GetSystemMetrics(int); 4022 +DWORD GetTabbedTextExtentA(HDC, LPCSTR, int, int, LPINT); 4023 +DWORD GetTabbedTextExtentW(HDC, LPCWSTR, int, int, LPINT); 4024 +LONG GetWindowLongA(HWND, int); 4025 +LONG GetWindowLongW(HWND, int); 4026 + 4027 +HDESK GetThreadDesktop(DWORD); 4028 +HWND GetTopWindow(HWND); 4029 +BOOL GetUpdateRect(HWND, LPRECT, BOOL); 4030 +int GetUpdateRgn(HWND, HRGN, BOOL); 4031 +BOOL GetUserObjectInformationA(HANDLE, int, PVOID, DWORD, PDWORD); 4032 +BOOL GetUserObjectInformationW(HANDLE, int, PVOID, DWORD, PDWORD); 4033 +BOOL GetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD); 4034 +HWND GetWindow(HWND, UINT); 4035 +DWORD GetWindowContextHelpId(HWND); 4036 +HDC GetWindowDC(HWND); 4037 +BOOL GetWindowPlacement(HWND, WINDOWPLACEMENT*); 4038 +BOOL GetWindowRect(HWND, LPRECT); 4039 +int GetWindowRgn(HWND, HRGN); 4040 +int GetWindowTextA(HWND, LPSTR, int); 4041 +int GetWindowTextLengthA(HWND); 4042 +int GetWindowTextLengthW(HWND); 4043 +int GetWindowTextW(HWND, LPWSTR, int); 4044 +WORD GetWindowWord(HWND, int); 4045 +BOOL GetAltTabInfoA(HWND, int, PALTTABINFO, LPSTR, UINT); 4046 +BOOL GetAltTabInfoW(HWND, int, PALTTABINFO, LPWSTR, UINT); 4047 +BOOL GetComboBoxInfo(HWND, PCOMBOBOXINFO); 4048 +BOOL GetCursorInfo(PCURSORINFO); 4049 +BOOL GetLastInputInfo(PLASTINPUTINFO); 4050 +DWORD GetListBoxInfo(HWND); 4051 +BOOL GetMenuBarInfo(HWND, LONG, LONG, PMENUBARINFO); 4052 +BOOL GetMenuInfo(HMENU, LPMENUINFO); 4053 +BOOL GetScrollBarInfo(HWND, LONG, PSCROLLBARINFO); 4054 +BOOL GetTitleBarInfo(HWND, PTITLEBARINFO); 4055 +BOOL GetWindowInfo(HWND, PWINDOWINFO); 4056 +UINT GetWindowModuleFileNameA(HWND, LPSTR, UINT); 4057 +UINT GetWindowModuleFileNameW(HWND, LPWSTR, UINT); 4058 +BOOL GrayStringA(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 4059 +BOOL GrayStringW(HDC, HBRUSH, GRAYSTRINGPROC, LPARAM, int, int, int, int, int); 4060 +BOOL HideCaret(HWND); 4061 +BOOL HiliteMenuItem(HWND, HMENU, UINT, UINT); 4062 +BOOL InflateRect(LPRECT, int, int); 4063 +BOOL InSendMessage(); 4064 +BOOL InsertMenuA(HMENU, UINT, UINT, UINT, LPCSTR); 4065 +BOOL InsertMenuW(HMENU, UINT, UINT, UINT, LPCWSTR); 4066 +BOOL InsertMenuItemA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4067 +BOOL InsertMenuItemW(HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4068 +INT InternalGetWindowText(HWND, LPWSTR, INT); 4069 +BOOL IntersectRect(LPRECT, LPCRECT, LPCRECT); 4070 +BOOL InvalidateRect(HWND, LPCRECT, BOOL); 4071 +BOOL InvalidateRgn(HWND, HRGN, BOOL); 4072 +BOOL InvertRect(HDC, LPCRECT); 4073 +BOOL IsCharAlphaA(CHAR ch); 4074 +BOOL IsCharAlphaNumericA(CHAR); 4075 +BOOL IsCharAlphaNumericW(WCHAR); 4076 +BOOL IsCharAlphaW(WCHAR); 4077 +BOOL IsCharLowerA(CHAR); 4078 +BOOL IsCharLowerW(WCHAR); 4079 +BOOL IsCharUpperA(CHAR); 4080 +BOOL IsCharUpperW(WCHAR); 4081 +BOOL IsChild(HWND, HWND); 4082 +BOOL IsClipboardFormatAvailable(UINT); 4083 +BOOL IsDialogMessageA(HWND, LPMSG); 4084 +BOOL IsDialogMessageW(HWND, LPMSG); 4085 +UINT IsDlgButtonChecked(HWND, int); 4086 +BOOL IsIconic(HWND); 4087 +BOOL IsMenu(HMENU); 4088 +BOOL IsRectEmpty(LPCRECT); 4089 +BOOL IsWindow(HWND); 4090 +BOOL IsWindowEnabled(HWND); 4091 +BOOL IsWindowUnicode(HWND); 4092 +BOOL IsWindowVisible(HWND); 4093 +BOOL IsZoomed(HWND); 4094 +void keybd_event(BYTE, BYTE, DWORD, DWORD); 4095 +BOOL KillTimer(HWND, UINT); 4096 +HACCEL LoadAcceleratorsA(HINSTANCE, LPCSTR); 4097 +HACCEL LoadAcceleratorsW(HINSTANCE, LPCWSTR); 4098 +HBITMAP LoadBitmapA(HINSTANCE, LPCSTR); 4099 +HBITMAP LoadBitmapW(HINSTANCE, LPCWSTR); 4100 +HCURSOR LoadCursorA(HINSTANCE, LPCSTR); 4101 +HCURSOR LoadCursorFromFileA(LPCSTR); 4102 +HCURSOR LoadCursorFromFileW(LPCWSTR); 4103 +HCURSOR LoadCursorW(HINSTANCE, LPCWSTR); 4104 +HICON LoadIconA(HINSTANCE, LPCSTR); 4105 +HICON LoadIconW(HINSTANCE, LPCWSTR); 4106 +HANDLE LoadImageA(HINSTANCE, LPCSTR, UINT, int, int, UINT); 4107 +HANDLE LoadImageW(HINSTANCE, LPCWSTR, UINT, int, int, UINT); 4108 +HKL LoadKeyboardLayoutA(LPCSTR, UINT); 4109 +HKL LoadKeyboardLayoutW(LPCWSTR, UINT); 4110 +HMENU LoadMenuA(HINSTANCE, LPCSTR); 4111 +HMENU LoadMenuIndirectA( CPtr!(MENUTEMPLATE)); 4112 +HMENU LoadMenuIndirectW( CPtr!(MENUTEMPLATE)); 4113 +HMENU LoadMenuW(HINSTANCE, LPCWSTR); 4114 +int LoadStringA(HINSTANCE, UINT, LPSTR, int); 4115 +int LoadStringW(HINSTANCE, UINT, LPWSTR, int); 4116 +BOOL LockWindowUpdate(HWND); 4117 +int LookupIconIdFromDirectory(PBYTE, BOOL); 4118 +int LookupIconIdFromDirectoryEx(PBYTE, BOOL, int, int, UINT); 4119 +BOOL MapDialogRect(HWND, LPRECT); 4120 +UINT MapVirtualKeyA(UINT, UINT); 4121 +UINT MapVirtualKeyExA(UINT, UINT, HKL); 4122 +UINT MapVirtualKeyExW(UINT, UINT, HKL); 4123 +UINT MapVirtualKeyW(UINT, UINT); 4124 +int MapWindowPoints(HWND, HWND, LPPOINT, UINT); 4125 +int MenuItemFromPoint(HWND, HMENU, POINT); 4126 +BOOL MessageBeep(UINT); 4127 +int MessageBoxA(HWND, LPCSTR, LPCSTR, UINT); 4128 +int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT); 4129 +int MessageBoxExA(HWND, LPCSTR, LPCSTR, UINT, WORD); 4130 +int MessageBoxExW(HWND, LPCWSTR, LPCWSTR, UINT, WORD); 4131 +int MessageBoxIndirectA(CPtr!(MSGBOXPARAMSA)); 4132 +int MessageBoxIndirectW(CPtr!(MSGBOXPARAMSW)); 4133 +BOOL ModifyMenuA(HMENU, UINT, UINT, UINT, LPCSTR); 4134 +BOOL ModifyMenuW(HMENU, UINT, UINT, UINT, LPCWSTR); 4135 +void mouse_event(DWORD, DWORD, DWORD, DWORD, ULONG_PTR); 4136 +BOOL MoveWindow(HWND, int, int, int, int, BOOL); 4137 +DWORD MsgWaitForMultipleObjects(DWORD, CPtr!(HANDLE), BOOL, DWORD, DWORD); 4138 +DWORD MsgWaitForMultipleObjectsEx(DWORD, CPtr!(HANDLE), DWORD, DWORD, DWORD); 4139 +DWORD OemKeyScan(WORD); 4140 +BOOL OemToCharA(LPCSTR, LPSTR); 4141 +BOOL OemToCharBuffA(LPCSTR, LPSTR, DWORD); 4142 +BOOL OemToCharBuffW(LPCSTR, LPWSTR, DWORD); 4143 +BOOL OemToCharW(LPCSTR, LPWSTR); 4144 +BOOL OffsetRect(LPRECT, int, int); 4145 +BOOL OpenClipboard(HWND); 4146 +HDESK OpenDesktopA(LPSTR, DWORD, BOOL, DWORD); 4147 +HDESK OpenDesktopW(LPWSTR, DWORD, BOOL, DWORD); 4148 +BOOL OpenIcon(HWND); 4149 +HDESK OpenInputDesktop(DWORD, BOOL, DWORD); 4150 +HWINSTA OpenWindowStationA(LPSTR, BOOL, DWORD); 4151 +HWINSTA OpenWindowStationW(LPWSTR, BOOL, DWORD); 4152 +BOOL PaintDesktop(HDC); 4153 +BOOL PeekMessageA(LPMSG, HWND, UINT, UINT, UINT); 4154 +BOOL PeekMessageW(LPMSG, HWND, UINT, UINT, UINT); 4155 +BOOL PostMessageA(HWND, UINT, WPARAM, LPARAM); 4156 +BOOL PostMessageW(HWND, UINT, WPARAM, LPARAM); 4157 +void PostQuitMessage(int); 4158 +BOOL PostThreadMessageA(DWORD, UINT, WPARAM, LPARAM); 4159 +BOOL PostThreadMessageW(DWORD, UINT, WPARAM, LPARAM); 4160 +BOOL PtInRect(LPCRECT, POINT); 4161 +HWND RealChildWindowFromPoint(HWND, POINT); 4162 +UINT RealGetWindowClassA(HWND, LPSTR, UINT); 4163 +UINT RealGetWindowClassW(HWND, LPWSTR, UINT); 4164 +BOOL RedrawWindow(HWND, LPCRECT, HRGN, UINT); 4165 +ATOM RegisterClassA(CPtr!(WNDCLASSA)); 4166 +ATOM RegisterClassW(CPtr!(WNDCLASSW)); 4167 +ATOM RegisterClassExA(CPtr!(WNDCLASSEXA)); 4168 +ATOM RegisterClassExW(CPtr!(WNDCLASSEXW)); 4169 +UINT RegisterClipboardFormatA(LPCSTR); 4170 +UINT RegisterClipboardFormatW(LPCWSTR); 4171 +BOOL RegisterHotKey(HWND, int, UINT, UINT); 4172 +UINT RegisterWindowMessageA(LPCSTR); 4173 +UINT RegisterWindowMessageW(LPCWSTR); 4174 +BOOL ReleaseCapture(); 4175 +int ReleaseDC(HWND, HDC); 4176 +BOOL RemoveMenu(HMENU, UINT, UINT); 4177 +HANDLE RemovePropA(HWND, LPCSTR); 4178 +HANDLE RemovePropW(HWND, LPCWSTR); 4179 +BOOL ReplyMessage(LRESULT); 4180 +BOOL ScreenToClient(HWND, LPPOINT); 4181 +BOOL ScrollDC(HDC, int, int, LPCRECT, LPCRECT, HRGN, LPRECT); 4182 +BOOL ScrollWindow(HWND, int, int, LPCRECT, LPCRECT); 4183 +int ScrollWindowEx(HWND, int, int, LPCRECT, LPCRECT, HRGN, LPRECT, UINT); 4184 +LONG SendDlgItemMessageA(HWND, int, UINT, WPARAM, LPARAM); 4185 +LONG SendDlgItemMessageW(HWND, int, UINT, WPARAM, LPARAM); 4186 +LRESULT SendMessageA(HWND, UINT, WPARAM, LPARAM); 4187 +BOOL SendMessageCallbackA(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD); 4188 +BOOL SendMessageCallbackW(HWND, UINT, WPARAM, LPARAM, SENDASYNCPROC, DWORD); 4189 +LRESULT SendMessageTimeoutA(HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD); 4190 +LRESULT SendMessageTimeoutW(HWND, UINT, WPARAM, LPARAM, UINT, UINT, PDWORD); 4191 +LRESULT SendMessageW(HWND, UINT, WPARAM, LPARAM); 4192 +BOOL SendNotifyMessageA(HWND, UINT, WPARAM, LPARAM); 4193 +BOOL SendNotifyMessageW(HWND, UINT, WPARAM, LPARAM); 4194 +HWND SetActiveWindow(HWND); 4195 +HWND SetCapture(HWND hWnd); 4196 +BOOL SetCaretBlinkTime(UINT); 4197 +BOOL SetCaretPos(int, int); 4198 +DWORD SetClassLongA(HWND, int, LONG); 4199 +DWORD SetClassLongW(HWND, int, LONG); 4200 +WORD SetClassWord(HWND, int, WORD); 4201 +HANDLE SetClipboardData(UINT, HANDLE); 4202 +HWND SetClipboardViewer(HWND); 4203 +HCURSOR SetCursor(HCURSOR); 4204 +BOOL SetCursorPos(int, int); 4205 +void SetDebugErrorLevel(DWORD); 4206 +BOOL SetDlgItemInt(HWND, int, UINT, BOOL); 4207 +BOOL SetDlgItemTextA(HWND, int, LPCSTR); 4208 +BOOL SetDlgItemTextW(HWND, int, LPCWSTR); 4209 +BOOL SetDoubleClickTime(UINT); 4210 +HWND SetFocus(HWND); 4211 +BOOL SetForegroundWindow(HWND); 4212 +BOOL SetKeyboardState(PBYTE); 4213 +BOOL SetMenu(HWND, HMENU); 4214 +BOOL SetMenuContextHelpId(HMENU, DWORD); 4215 +BOOL SetMenuDefaultItem(HMENU, UINT, UINT); 4216 +BOOL SetMenuInfo(HMENU, LPCMENUINFO); 4217 +BOOL SetMenuItemBitmaps(HMENU, UINT, UINT, HBITMAP, HBITMAP); 4218 +BOOL SetMenuItemInfoA(HMENU, UINT, BOOL, LPCMENUITEMINFOA); 4219 +BOOL SetMenuItemInfoW( HMENU, UINT, BOOL, LPCMENUITEMINFOW); 4220 +LPARAM SetMessageExtraInfo(LPARAM); 4221 +BOOL SetMessageQueue(int); 4222 +HWND SetParent(HWND, HWND); 4223 +BOOL SetProcessWindowStation(HWINSTA); 4224 +BOOL SetPropA(HWND, LPCSTR, HANDLE); 4225 +BOOL SetPropW(HWND, LPCWSTR, HANDLE); 4226 +BOOL SetRect(LPRECT, int, int, int, int); 4227 +BOOL SetRectEmpty(LPRECT); 4228 +int SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL); 4229 +int SetScrollPos(HWND, int, int, BOOL); 4230 +BOOL SetScrollRange(HWND, int, int, int, BOOL); 4231 +BOOL SetSysColors(int, CPtr!(INT) , CPtr!(COLORREF) ); 4232 +BOOL SetSystemCursor(HCURSOR, DWORD); 4233 +BOOL SetThreadDesktop(HDESK); 4234 +UINT SetTimer(HWND, UINT, UINT, TIMERPROC); 4235 +BOOL SetUserObjectInformationA(HANDLE, int, PVOID, DWORD); 4236 +BOOL SetUserObjectInformationW(HANDLE, int, PVOID, DWORD); 4237 +BOOL SetUserObjectSecurity(HANDLE, PSECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 4238 +BOOL SetWindowContextHelpId(HWND, DWORD); 4239 +LONG SetWindowLongA(HWND, int, LONG); 4240 +LONG SetWindowLongW(HWND, int, LONG); 4241 +BOOL SetWindowPlacement(HWND hWnd, CPtr!(WINDOWPLACEMENT)); 4242 +BOOL SetWindowPos(HWND, HWND, int, int, int, int, UINT); 4243 +int SetWindowRgn(HWND, HRGN, BOOL); 4244 +HHOOK SetWindowsHookA(int, HOOKPROC); 4245 +HHOOK SetWindowsHookW(int, HOOKPROC); 4246 +HHOOK SetWindowsHookExA(int, HOOKPROC, HINSTANCE, DWORD); 4247 +HHOOK SetWindowsHookExW(int, HOOKPROC, HINSTANCE, DWORD); 4248 +BOOL SetWindowTextA(HWND, LPCSTR); 4249 +BOOL SetWindowTextW(HWND, LPCWSTR); 4250 +WORD SetWindowWord(HWND, int, WORD); 4251 +BOOL ShowCaret(HWND); 4252 +int ShowCursor(BOOL); 4253 +BOOL ShowOwnedPopups(HWND, BOOL); 4254 +BOOL ShowScrollBar(HWND, int, BOOL); 4255 +BOOL ShowWindow(HWND, int); 4256 +BOOL ShowWindowAsync(HWND, int); 4257 +BOOL SubtractRect(LPRECT, LPCRECT, LPCRECT); 4258 +BOOL SwapMouseButton(BOOL); 4259 +BOOL SwitchDesktop(HDESK); 4260 +BOOL SystemParametersInfoA(UINT, UINT, PVOID, UINT); 4261 +BOOL SystemParametersInfoW(UINT, UINT, PVOID, UINT); 4262 +LONG TabbedTextOutA(HDC, int, int, LPCSTR, int, int, LPINT, int); 4263 +LONG TabbedTextOutW(HDC, int, int, LPCWSTR, int, int, LPINT, int); 4264 +WORD TileWindows(HWND, UINT, LPCRECT, UINT, CPtr!(HWND) ); 4265 +int ToAscii(UINT, UINT, PBYTE, LPWORD, UINT); 4266 +int ToAsciiEx(UINT, UINT, PBYTE, LPWORD, UINT, HKL); 4267 +int ToUnicode(UINT, UINT, PBYTE, LPWSTR, int, UINT); 4268 +int ToUnicodeEx(UINT, UINT, PBYTE, LPWSTR, int, UINT, HKL); 4269 +BOOL TrackMouseEvent(LPTRACKMOUSEEVENT); 4270 +BOOL TrackPopupMenu(HMENU, UINT, int, int, int, HWND, LPCRECT); 4271 +BOOL TrackPopupMenuEx(HMENU, UINT, int, int, HWND, LPTPMPARAMS); 4272 +int TranslateAcceleratorA(HWND, HACCEL, LPMSG); 4273 +int TranslateAcceleratorW(HWND, HACCEL, LPMSG); 4274 +BOOL TranslateMDISysAccel(HWND, LPMSG); 4275 +BOOL TranslateMessage( CPtr!(MSG)); 4276 +BOOL UnhookWindowsHook(int, HOOKPROC); 4277 +BOOL UnhookWindowsHookEx(HHOOK); 4278 +BOOL UnionRect(LPRECT, LPCRECT, LPCRECT); 4279 +BOOL UnloadKeyboardLayout(HKL); 4280 +BOOL UnregisterClassA(LPCSTR, HINSTANCE); 4281 +BOOL UnregisterClassW(LPCWSTR, HINSTANCE); 4282 +BOOL UnregisterHotKey(HWND, int); 4283 +BOOL UpdateWindow(HWND); 4284 +BOOL ValidateRect(HWND, LPCRECT); 4285 +BOOL ValidateRgn(HWND, HRGN); 4286 +SHORT VkKeyScanA(CHAR); 4287 +SHORT VkKeyScanExA(CHAR, HKL); 4288 +SHORT VkKeyScanExW(WCHAR, HKL); 4289 +SHORT VkKeyScanW(WCHAR); 4290 +DWORD WaitForInputIdle(HANDLE, DWORD); 4291 +BOOL WaitMessage(); 4292 +HWND WindowFromDC(HDC hDC); 4293 +HWND WindowFromPoint(POINT); 4294 +UINT WinExec(LPCSTR, UINT); 4295 +BOOL WinHelpA(HWND, LPCSTR, UINT, DWORD); 4296 +BOOL WinHelpW(HWND, LPCWSTR, UINT, DWORD); 4297 + 4298 +extern (C) { 4299 + int wsprintfA(LPSTR, LPCSTR, ...); 4300 + int wsprintfW(LPWSTR, LPCWSTR, ...); 4301 +} 4302 + 4303 + 4304 +// These shouldn't be necessary for D. 4305 +alias char* va_list_; 4306 +int wvsprintfA(LPSTR, LPCSTR, va_list_ arglist); 4307 +int wvsprintfW(LPWSTR, LPCWSTR, va_list_ arglist); 4308 + 4309 + 4310 +static if (_WIN32_WINDOWS == 0x400) { 4311 +// On Win95, there's only one version. 4312 +int BroadcastSystemMessage(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4313 +} 4314 +static if (_WIN32_WINNT >= 0x400) { 4315 +int BroadcastSystemMessageA(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4316 +int BroadcastSystemMessageW(DWORD, LPDWORD, UINT, WPARAM, LPARAM); 4317 +} 4318 +static if (_WIN32_WINNT >= 0x501) { 4319 +int BroadcastSystemMessageExA(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); 4320 +int BroadcastSystemMessageExW(DWORD, LPDWORD, UINT, WPARAM, LPARAM, PBSMINFO); 4321 +} 4322 + 4323 +static if (_WIN32_WINNT >= 0x403) { 4324 +UINT SendInput(UINT, LPINPUT, int); 4325 +} 4326 +static if (_WIN32_WINNT >= 0x500) { 4327 +BOOL AnimateWindow(HWND, DWORD, DWORD); 4328 +BOOL EndTask(HWND, BOOL, BOOL); 4329 +DWORD GetGuiResources(HANDLE, DWORD); 4330 +HWND GetShellWindow(); 4331 +BOOL GetProcessDefaultLayout(DWORD*); 4332 +BOOL IsHungAppWindow(HWND); 4333 +BOOL LockWorkStation(); 4334 +HDEVNOTIFY RegisterDeviceNotificationA(HANDLE, LPVOID, DWORD); 4335 +HDEVNOTIFY RegisterDeviceNotificationW(HANDLE, LPVOID, DWORD); 4336 +BOOL SetProcessDefaultLayout(DWORD); 4337 +void SwitchToThisWindow(HWND, BOOL); 4338 +BOOL SetLayeredWindowAttributes(HWND, COLORREF, BYTE, DWORD); 4339 +BOOL UpdateLayeredWindow(HWND, HDC, POINT*, SIZE*, HDC, POINT*, COLORREF, BLENDFUNCTION*, DWORD); 4340 +BOOL UserHandleGrantAccess(HANDLE, HANDLE, BOOL); 4341 +} 4342 +static if (_WIN32_WINNT >= 0x501) { 4343 +UINT GetRawInputBuffer(PRAWINPUT, PUINT, UINT); 4344 +UINT GetRawInputData(HRAWINPUT, UINT, LPVOID, PUINT, UINT); 4345 +UINT GetRawInputDeviceInfoA(HANDLE, UINT, LPVOID, PUINT); 4346 +UINT GetRawInputDeviceInfoW(HANDLE, UINT, LPVOID, PUINT); 4347 +UINT GetRawInputDeviceList(PRAWINPUTDEVICELIST, PUINT, UINT); 4348 +UINT GetRegisteredRawInputDevices(PRAWINPUTDEVICE, PUINT, UINT); 4349 +LRESULT DefRawInputProc(PRAWINPUT*, INT, UINT); 4350 +BOOL RegisterRawInputDevices(PCRAWINPUTDEVICE, UINT, UINT); 4351 + 4352 +BOOL IsGUIThread(BOOL); 4353 +BOOL IsWinEventHookInstalled(DWORD); 4354 +BOOL PrintWindow(HWND, HDC, UINT); 4355 +BOOL GetLayeredWindowAttributes(HWND, COLORREF*, BYTE*, DWORD*); 4356 +} 4357 +static if (WINVER >= 0x410) { 4358 + BOOL EnumDisplayMonitors(HDC, LPCRECT, MONITORENUMPROC, LPARAM); 4359 + BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFO); 4360 + BOOL GetMonitorInfoA(HMONITOR, LPMONITORINFOEXA); 4361 + BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFO); 4362 + BOOL GetMonitorInfoW(HMONITOR, LPMONITORINFOEXW); 4363 + HMONITOR MonitorFromPoint(POINT, DWORD); 4364 + HMONITOR MonitorFromRect(LPCRECT, DWORD); 4365 + HMONITOR MonitorFromWindow(HWND, DWORD); 4366 +} 4367 +static if (WINVER >= 0x500) { 4368 +BOOL GetGUIThreadInfo(DWORD, LPGUITHREADINFO); 4369 +void NotifyWinEvent(DWORD, HWND, LONG, LONG); 4370 +HWINEVENTHOOK SetWinEventHook(UINT, UINT, HMODULE, WINEVENTPROC, DWORD, DWORD, UINT); 4371 +BOOL UnhookWinEvent(HWINEVENTHOOK); 4372 +BOOL UnregisterDeviceNotification(HANDLE); 4373 +} 4374 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 4375 +BOOL EnumDisplaySettingsExA(LPCSTR, DWORD, LPDEVMODEA, DWORD); 4376 +BOOL EnumDisplaySettingsExW(LPCWSTR, DWORD, LPDEVMODEW, DWORD); 4377 +BOOL FlashWindowEx(PFLASHWINFO); 4378 +DWORD GetClipboardSequenceNumber(); 4379 +DWORD InSendMessageEx(LPVOID); 4380 +} 4381 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x490)) { 4382 +BOOL AllowSetForegroundWindow(DWORD); 4383 +BOOL LockSetForegroundWindow(UINT); 4384 +int GetMouseMovePointsEx(UINT, LPMOUSEMOVEPOINT, LPMOUSEMOVEPOINT, int, DWORD); 4385 +} 4386 + 4387 +version (Win64) { 4388 +LONG_PTR GetWindowLongPtrA(HWND, int); 4389 +LONG_PTR GetWindowLongPtrW(HWND, int); 4390 +LONG_PTR SetWindowLongPtrA(HWND, int, LONG_PTR); 4391 +LONG_PTR SetWindowLongPtrW(HWND, int, LONG_PTR); 4392 +} else { 4393 +alias GetWindowLongA GetWindowLongPtrA; 4394 +alias GetWindowLongW GetWindowLongPtrW; 4395 +alias SetWindowLongA SetWindowLongPtrA; 4396 +alias SetWindowLongW SetWindowLongPtrW; 4397 +} 4398 + 3704 4399 3705 -// #if(WINVER >= 0x0400) 3706 -extern(Windows) export int ToAsciiEx( 3707 - UINT uVirtKey, 3708 - UINT uScanCode, 3709 - BYTE *lpKeyState, 3710 - LPWORD lpChar, 3711 - UINT uFlags, 3712 - HKL dwhkl); 3713 -// #endif /* WINVER >= 0x0400 */ 3714 - 3715 -extern(Windows) export int ToUnicode( 3716 - UINT wVirtKey, 3717 - UINT wScanCode, 3718 - BYTE *lpKeyState, 3719 - LPWSTR pwszBuff, 3720 - int cchBuff, 3721 - UINT wFlags); 3722 - 3723 -extern(Windows) export DWORD OemKeyScan( 3724 - WORD wOemChar); 3725 - 3726 -extern(Windows) export SHORT VkKeyScanA( 3727 - CHAR ch); 3728 -extern(Windows) export SHORT VkKeyScanW( 3729 - WCHAR ch); 3730 -// #ifdef UNICODE 3731 -alias VkKeyScanW VkKeyScan; 3732 -// #else 3733 -// #... 3734 -// #endif // !UNICODE 3735 - 3736 -// #if(WINVER >= 0x0400) 3737 -extern(Windows) export SHORT VkKeyScanExA( 3738 - CHAR ch, 3739 - HKL dwhkl); 3740 -extern(Windows) export SHORT VkKeyScanExW( 3741 - WCHAR ch, 3742 - HKL dwhkl); 3743 -// #ifdef UNICODE 3744 -alias VkKeyScanExW VkKeyScanEx; 3745 -// #else 3746 -// #... 3747 -// #endif // !UNICODE 3748 -// #endif /* WINVER >= 0x0400 */ 3749 -enum : uint { KEYEVENTF_EXTENDEDKEY = 0x0001 } 3750 -enum : uint { KEYEVENTF_KEYUP = 0x0002 } 3751 -// #if(_WIN32_WINNT >= 0x0500) 3752 -enum : uint { KEYEVENTF_UNICODE = 0x0004 } 3753 -enum : uint { KEYEVENTF_SCANCODE = 0x0008 } 3754 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4400 +// ----- 4401 +// Aliases for Unicode or Ansi 4402 +version(Unicode) { 3755 4403 3756 -extern(Windows) export VOID keybd_event( 3757 - BYTE bVk, 3758 - BYTE bScan, 3759 - DWORD dwFlags, 3760 - ULONG_PTR dwExtraInfo); 3761 - 3762 -enum : uint { MOUSEEVENTF_MOVE = 0x0001 } 3763 -enum : uint { MOUSEEVENTF_LEFTDOWN = 0x0002 } 3764 -enum : uint { MOUSEEVENTF_LEFTUP = 0x0004 } 3765 -enum : uint { MOUSEEVENTF_RIGHTDOWN = 0x0008 } 3766 -enum : uint { MOUSEEVENTF_RIGHTUP = 0x0010 } 3767 -enum : uint { MOUSEEVENTF_MIDDLEDOWN = 0x0020 } 3768 -enum : uint { MOUSEEVENTF_MIDDLEUP = 0x0040 } 3769 -enum : uint { MOUSEEVENTF_XDOWN = 0x0080 } 3770 -enum : uint { MOUSEEVENTF_XUP = 0x0100 } 3771 -enum : uint { MOUSEEVENTF_WHEEL = 0x0800 } 3772 -enum : uint { MOUSEEVENTF_VIRTUALDESK = 0x4000 } 3773 -enum : uint { MOUSEEVENTF_ABSOLUTE = 0x8000 } 3774 - 3775 -extern(Windows) export VOID mouse_event( 3776 - DWORD dwFlags, 3777 - DWORD dx, 3778 - DWORD dy, 3779 - DWORD dwData, 3780 - ULONG_PTR dwExtraInfo); 3781 - 3782 -// #if (_WIN32_WINNT > 0x0400) 3783 - 3784 -struct tagMOUSEINPUT { 3785 - LONG dx; 3786 - LONG dy; 3787 - DWORD mouseData; 3788 - DWORD dwFlags; 3789 - DWORD time; 3790 - ULONG_PTR dwExtraInfo; 3791 -} 3792 -alias tagMOUSEINPUT MOUSEINPUT; 3793 -alias tagMOUSEINPUT* PMOUSEINPUT; 3794 -alias tagMOUSEINPUT* LPMOUSEINPUT; 3795 - 3796 -struct tagKEYBDINPUT { 3797 - WORD wVk; 3798 - WORD wScan; 3799 - DWORD dwFlags; 3800 - DWORD time; 3801 - ULONG_PTR dwExtraInfo; 3802 -} 3803 -alias tagKEYBDINPUT KEYBDINPUT; 3804 -alias tagKEYBDINPUT* PKEYBDINPUT; 3805 -alias tagKEYBDINPUT* LPKEYBDINPUT; 3806 - 3807 -struct tagHARDWAREINPUT { 3808 - DWORD uMsg; 3809 - WORD wParamL; 3810 - WORD wParamH; 3811 -} 3812 -alias tagHARDWAREINPUT HARDWAREINPUT; 3813 -alias tagHARDWAREINPUT* PHARDWAREINPUT; 3814 -alias tagHARDWAREINPUT* LPHARDWAREINPUT; 3815 - 3816 -enum : uint { INPUT_MOUSE = 0 } 3817 -enum : uint { INPUT_KEYBOARD = 1 } 3818 -enum : uint { INPUT_HARDWARE = 2 } 3819 - 3820 -struct tagINPUT { 3821 - DWORD type; 3822 -union { 3823 - MOUSEINPUT mi; 3824 - KEYBDINPUT ki; 3825 - HARDWAREINPUT hi; 3826 -} 3827 - 3828 -} 3829 -alias tagINPUT INPUT; 3830 -alias tagINPUT* PINPUT; 3831 -alias tagINPUT* LPINPUT; 3832 - 3833 -extern(Windows) export UINT SendInput( 3834 - UINT cInputs, // number of input in the array 3835 - LPINPUT pInputs, // array of inputs 3836 - int cbSize); 3837 - 3838 -// #endif // (_WIN32_WINNT > 0x0400) 3839 - 3840 -// #if(_WIN32_WINNT >= 0x0500) 3841 -struct tagLASTINPUTINFO { 3842 - UINT cbSize; 3843 - DWORD dwTime; 3844 -} 3845 -alias tagLASTINPUTINFO LASTINPUTINFO; 3846 -alias tagLASTINPUTINFO* PLASTINPUTINFO; 3847 - 3848 -extern(Windows) export BOOL GetLastInputInfo( 3849 - PLASTINPUTINFO plii); 3850 -// #endif /* _WIN32_WINNT >= 0x0500 */ 3851 - 3852 -extern(Windows) export UINT MapVirtualKeyA( 3853 - UINT uCode, 3854 - UINT uMapType); 3855 -extern(Windows) export UINT MapVirtualKeyW( 3856 - UINT uCode, 3857 - UINT uMapType); 3858 -// #ifdef UNICODE 3859 -alias MapVirtualKeyW MapVirtualKey; 3860 -// #else 3861 -// #... 3862 -// #endif // !UNICODE 3863 - 3864 -// #if(WINVER >= 0x0400) 3865 -extern(Windows) export UINT MapVirtualKeyExA( 3866 - UINT uCode, 3867 - UINT uMapType, 3868 - HKL dwhkl); 3869 -extern(Windows) export UINT MapVirtualKeyExW( 3870 - UINT uCode, 3871 - UINT uMapType, 3872 - HKL dwhkl); 3873 -// #ifdef UNICODE 3874 -alias MapVirtualKeyExW MapVirtualKeyEx; 3875 -// #else 3876 -// #... 3877 -// #endif // !UNICODE 3878 -// #endif /* WINVER >= 0x0400 */ 4404 +alias EDITWORDBREAKPROCW EDITWORDBREAKPROC; 4405 +alias PROPENUMPROCW PROPENUMPROC; 4406 +alias PROPENUMPROCEXW PROPENUMPROCEX; 4407 +alias DESKTOPENUMPROCW DESKTOPENUMPROC; 4408 +alias WINSTAENUMPROCW WINSTAENUMPROC; 4409 +alias MAKEINTRESOURCEW MAKEINTRESOURCE; 3879 4410 3880 -extern(Windows) export BOOL GetInputState(); 3881 - 3882 -extern(Windows) export DWORD GetQueueStatus( 3883 - UINT flags); 3884 - 3885 -extern(Windows) export HWND GetCapture(); 3886 - 3887 -extern(Windows) export HWND SetCapture( 3888 - HWND hWnd); 3889 - 3890 -extern(Windows) export BOOL ReleaseCapture(); 3891 - 3892 -extern(Windows) export DWORD MsgWaitForMultipleObjects( 3893 - DWORD nCount, 3894 - HANDLE *pHandles, 3895 - BOOL fWaitAll, 3896 - DWORD dwMilliseconds, 3897 - DWORD dwWakeMask); 3898 - 3899 -extern(Windows) export DWORD MsgWaitForMultipleObjectsEx( 3900 - DWORD nCount, 3901 - HANDLE *pHandles, 3902 - DWORD dwMilliseconds, 3903 - DWORD dwWakeMask, 3904 - DWORD dwFlags); 3905 - 3906 -enum : uint { MWMO_WAITALL = 0x0001 } 3907 -enum : uint { MWMO_ALERTABLE = 0x0002 } 3908 -enum : uint { MWMO_INPUTAVAILABLE = 0x0004 } 3909 - 3910 -enum : uint { QS_KEY = 0x0001 } 3911 -enum : uint { QS_MOUSEMOVE = 0x0002 } 3912 -enum : uint { QS_MOUSEBUTTON = 0x0004 } 3913 -// #define QS_POSTMESSAGE 0x0008 3914 -// #define QS_TIMER 0x0010 3915 -// #define QS_PAINT 0x0020 3916 -// #define QS_SENDMESSAGE 0x0040 3917 -// #define QS_HOTKEY 0x0080 3918 -enum : uint { QS_ALLPOSTMESSAGE = 0x0100 } 3919 -// #if(_WIN32_WINNT >= 0x0501) 3920 -enum : uint { QS_RAWINPUT = 0x0400 } 3921 -// #endif /* _WIN32_WINNT >= 0x0501 */ 3922 - 3923 -enum : uint { QS_MOUSE = QS_MOUSEMOVE | QS_MOUSEBUTTON } 3924 - 3925 -// #if (_WIN32_WINNT >= 0x0501) 3926 -// #define QS_INPUT (QS_MOUSE | QS_KEY | QS_RAWINPUT) 3927 -// #else 3928 -// #... 3929 -// ... 3930 -// #endif // (_WIN32_WINNT >= 0x0501) 3931 - 3932 -enum : uint { QS_ALLEVENTS = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY } 3933 - 3934 -enum : uint { QS_ALLINPUT = QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE } 3935 - 3936 -extern(Windows) export UINT_PTR SetTimer( 3937 - HWND hWnd, 3938 - UINT_PTR nIDEvent, 3939 - UINT uElapse, 3940 - TIMERPROC lpTimerFunc); 3941 - 3942 -extern(Windows) export BOOL KillTimer( 3943 - HWND hWnd, 3944 - UINT_PTR uIDEvent); 3945 - 3946 -extern(Windows) export BOOL IsWindowUnicode( 3947 - HWND hWnd); 3948 - 3949 -extern(Windows) export BOOL EnableWindow( 3950 - HWND hWnd, 3951 - BOOL bEnable); 3952 - 3953 -extern(Windows) export BOOL IsWindowEnabled( 3954 - HWND hWnd); 3955 - 3956 -extern(Windows) export HACCEL LoadAcceleratorsA( 3957 - HINSTANCE hInstance, 3958 - LPCSTR lpTableName); 3959 -extern(Windows) export HACCEL LoadAcceleratorsW( 3960 - HINSTANCE hInstance, 3961 - LPCWSTR lpTableName); 3962 -// #ifdef UNICODE 3963 -alias LoadAcceleratorsW LoadAccelerators; 3964 -// #else 3965 -// #... 3966 -// #endif // !UNICODE 3967 - 3968 -extern(Windows) export HACCEL CreateAcceleratorTableA( 3969 - LPACCEL, int); 3970 -extern(Windows) export HACCEL CreateAcceleratorTableW( 3971 - LPACCEL, int); 3972 -// #ifdef UNICODE 3973 -alias CreateAcceleratorTableW CreateAcceleratorTable; 3974 -// #else 3975 -// #... 3976 -// #endif // !UNICODE 3977 - 3978 -extern(Windows) export BOOL DestroyAcceleratorTable( 3979 - HACCEL hAccel); 3980 - 3981 -extern(Windows) export int CopyAcceleratorTableA( 3982 - HACCEL hAccelSrc, 3983 - LPACCEL lpAccelDst, 3984 - int cAccelEntries); 3985 -extern(Windows) export int CopyAcceleratorTableW( 3986 - HACCEL hAccelSrc, 3987 - LPACCEL lpAccelDst, 3988 - int cAccelEntries); 3989 -// #ifdef UNICODE 3990 -alias CopyAcceleratorTableW CopyAcceleratorTable; 3991 -// #else 3992 -// #... 3993 -// #endif // !UNICODE 3994 - 3995 -// #ifndef NOMSG 3996 - 3997 -extern(Windows) export int TranslateAcceleratorA( 3998 - HWND hWnd, 3999 - HACCEL hAccTable, 4000 - LPMSG lpMsg); 4001 -extern(Windows) export int TranslateAcceleratorW( 4002 - HWND hWnd, 4003 - HACCEL hAccTable, 4004 - LPMSG lpMsg); 4005 -// #ifdef UNICODE 4006 -alias TranslateAcceleratorW TranslateAccelerator; 4007 -// #else 4008 -// #... 4009 -// #endif // !UNICODE 4010 - 4011 -// #endif /* !NOMSG */ 4012 - 4013 -// #ifndef NOSYSMETRICS 4014 - 4015 -enum : uint { SM_CXSCREEN = 0 } 4016 -enum : uint { SM_CYSCREEN = 1 } 4017 -enum : uint { SM_CXVSCROLL = 2 } 4018 -enum : uint { SM_CYHSCROLL = 3 } 4019 -enum : uint { SM_CYCAPTION = 4 } 4020 -enum : uint { SM_CXBORDER = 5 } 4021 -enum : uint { SM_CYBORDER = 6 } 4022 -enum : uint { SM_CXDLGFRAME = 7 } 4023 -enum : uint { SM_CYDLGFRAME = 8 } 4024 -enum : uint { SM_CYVTHUMB = 9 } 4025 -enum : uint { SM_CXHTHUMB = 10 } 4026 -enum : uint { SM_CXICON = 11 } 4027 -enum : uint { SM_CYICON = 12 } 4028 -enum : uint { SM_CXCURSOR = 13 } 4029 -enum : uint { SM_CYCURSOR = 14 } 4030 -enum : uint { SM_CYMENU = 15 } 4031 -enum : uint { SM_CXFULLSCREEN = 16 } 4032 -enum : uint { SM_CYFULLSCREEN = 17 } 4033 -enum : uint { SM_CYKANJIWINDOW = 18 } 4034 -enum : uint { SM_MOUSEPRESENT = 19 } 4035 -enum : uint { SM_CYVSCROLL = 20 } 4036 -enum : uint { SM_CXHSCROLL = 21 } 4037 -enum : uint { SM_DEBUG = 22 } 4038 -enum : uint { SM_SWAPBUTTON = 23 } 4039 -enum : uint { SM_RESERVED1 = 24 } 4040 -enum : uint { SM_RESERVED2 = 25 } 4041 -enum : uint { SM_RESERVED3 = 26 } 4042 -enum : uint { SM_RESERVED4 = 27 } 4043 -enum : uint { SM_CXMIN = 28 } 4044 -enum : uint { SM_CYMIN = 29 } 4045 -enum : uint { SM_CXSIZE = 30 } 4046 -enum : uint { SM_CYSIZE = 31 } 4047 -enum : uint { SM_CXFRAME = 32 } 4048 -enum : uint { SM_CYFRAME = 33 } 4049 -enum : uint { SM_CXMINTRACK = 34 } 4050 -enum : uint { SM_CYMINTRACK = 35 } 4051 -enum : uint { SM_CXDOUBLECLK = 36 } 4052 -enum : uint { SM_CYDOUBLECLK = 37 } 4053 -enum : uint { SM_CXICONSPACING = 38 } 4054 -enum : uint { SM_CYICONSPACING = 39 } 4055 -enum : uint { SM_MENUDROPALIGNMENT = 40 } 4056 -enum : uint { SM_PENWINDOWS = 41 } 4057 -enum : uint { SM_DBCSENABLED = 42 } 4058 -enum : uint { SM_CMOUSEBUTTONS = 43 } 4059 - 4060 -// #if(WINVER >= 0x0400) 4061 -alias SM_CXDLGFRAME SM_CXFIXEDFRAME; 4062 -alias SM_CYDLGFRAME SM_CYFIXEDFRAME; 4063 -alias SM_CXFRAME SM_CXSIZEFRAME; 4064 -alias SM_CYFRAME SM_CYSIZEFRAME; 4065 - 4066 -enum : uint { SM_SECURE = 44 } 4067 -enum : uint { SM_CXEDGE = 45 } 4068 -enum : uint { SM_CYEDGE = 46 } 4069 -enum : uint { SM_CXMINSPACING = 47 } 4070 -enum : uint { SM_CYMINSPACING = 48 } 4071 -enum : uint { SM_CXSMICON = 49 } 4072 -enum : uint { SM_CYSMICON = 50 } 4073 -enum : uint { SM_CYSMCAPTION = 51 } 4074 -enum : uint { SM_CXSMSIZE = 52 } 4075 -enum : uint { SM_CYSMSIZE = 53 } 4076 -enum : uint { SM_CXMENUSIZE = 54 } 4077 -enum : uint { SM_CYMENUSIZE = 55 } 4078 -enum : uint { SM_ARRANGE = 56 } 4079 -enum : uint { SM_CXMINIMIZED = 57 } 4080 -enum : uint { SM_CYMINIMIZED = 58 } 4081 -enum : uint { SM_CXMAXTRACK = 59 } 4082 -enum : uint { SM_CYMAXTRACK = 60 } 4083 -enum : uint { SM_CXMAXIMIZED = 61 } 4084 -enum : uint { SM_CYMAXIMIZED = 62 } 4085 -enum : uint { SM_NETWORK = 63 } 4086 -enum : uint { SM_CLEANBOOT = 67 } 4087 -enum : uint { SM_CXDRAG = 68 } 4088 -enum : uint { SM_CYDRAG = 69 } 4089 -// #endif /* WINVER >= 0x0400 */ 4090 -enum : uint { SM_SHOWSOUNDS = 70 } 4091 -// #if(WINVER >= 0x0400) 4092 -enum : uint { SM_CXMENUCHECK = 71 } 4093 -enum : uint { SM_CYMENUCHECK = 72 } 4094 -enum : uint { SM_SLOWMACHINE = 73 } 4095 -enum : uint { SM_MIDEASTENABLED = 74 } 4096 -// #endif /* WINVER >= 0x0400 */ 4411 +alias WNDCLASSW WNDCLASS; 4412 +alias WNDCLASSEXW WNDCLASSEX; 4413 +alias MENUITEMINFOW MENUITEMINFO; 4414 +alias LPCMENUITEMINFOW LPCMENUITEMINFO; 4415 +alias MSGBOXPARAMSW MSGBOXPARAMS; 4416 +alias HIGHCONTRASTW HIGHCONTRAST; 4417 +alias SERIALKEYSW SERIALKEYS; 4418 +alias SOUNDSENTRYW SOUNDSENTRY; 4419 +alias CREATESTRUCTW CREATESTRUCT; 4420 +alias CBT_CREATEWNDW CBT_CREATEWND; 4421 +alias MDICREATESTRUCTW MDICREATESTRUCT; 4422 +alias MULTIKEYHELPW MULTIKEYHELP; 4423 +alias MONITORINFOEXW MONITORINFOEX; 4424 +alias ICONMETRICSW ICONMETRICS; 4425 +alias NONCLIENTMETRICSW NONCLIENTMETRICS; 4097 4426 4098 -// #if (WINVER >= 0x0500) || (_WIN32_WINNT >= 0x0400) 4099 -enum : uint { SM_MOUSEWHEELPRESENT = 75 } 4100 -// #endif 4101 -// #if(WINVER >= 0x0500) 4102 -enum : uint { SM_XVIRTUALSCREEN = 76 } 4103 -enum : uint { SM_YVIRTUALSCREEN = 77 } 4104 -enum : uint { SM_CXVIRTUALSCREEN = 78 } 4105 -enum : uint { SM_CYVIRTUALSCREEN = 79 } 4106 -enum : uint { SM_CMONITORS = 80 } 4107 -enum : uint { SM_SAMEDISPLAYFORMAT = 81 } 4108 -// #endif /* WINVER >= 0x0500 */ 4109 -// #if(_WIN32_WINNT >= 0x0500) 4110 -enum : uint { SM_IMMENABLED = 82 } 4111 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4112 -// #if(_WIN32_WINNT >= 0x0501) 4113 -enum : uint { SM_CXFOCUSBORDER = 83 } 4114 -enum : uint { SM_CYFOCUSBORDER = 84 } 4115 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4116 - 4117 -// #if (WINVER < 0x0500) && (!defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0400)) 4118 -// #... 4119 -// #else 4120 -enum : uint { SM_CMETRICS = 86 } 4121 -// #endif 4122 - 4123 -// #if(WINVER >= 0x0500) 4124 -enum : uint { SM_REMOTESESSION = 0x1000 } 4125 - 4126 -// #if(_WIN32_WINNT >= 0x0501) 4127 -enum : uint { SM_SHUTTINGDOWN = 0x2000 } 4128 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4129 - 4130 -// #endif /* WINVER >= 0x0500 */ 4131 - 4132 -extern(Windows) export int GetSystemMetrics( 4133 - int nIndex); 4134 - 4135 -// #endif /* !NOSYSMETRICS */ 4136 - 4137 -// #ifndef NOMENUS 4138 - 4139 -extern(Windows) export HMENU LoadMenuA( 4140 - HINSTANCE hInstance, 4141 - LPCSTR lpMenuName); 4142 -extern(Windows) export HMENU LoadMenuW( 4143 - HINSTANCE hInstance, 4144 - LPCWSTR lpMenuName); 4145 -// #ifdef UNICODE 4146 -alias LoadMenuW LoadMenu; 4147 -// #else 4148 -// #... 4149 -// #endif // !UNICODE 4150 - 4151 -extern(Windows) export HMENU LoadMenuIndirectA( 4152 - MENUTEMPLATEA *lpMenuTemplate); 4153 -extern(Windows) export HMENU LoadMenuIndirectW( 4154 - MENUTEMPLATEW *lpMenuTemplate); 4155 -// #ifdef UNICODE 4156 -alias LoadMenuIndirectW LoadMenuIndirect; 4157 -// #else 4158 -// #... 4159 -// #endif // !UNICODE 4160 - 4161 -extern(Windows) export HMENU GetMenu( 4162 - HWND hWnd); 4163 - 4164 -extern(Windows) export BOOL SetMenu( 4165 - HWND hWnd, 4166 - HMENU hMenu); 4167 - 4168 -extern(Windows) export BOOL ChangeMenuA( 4169 - HMENU hMenu, 4170 - UINT cmd, 4171 - LPCSTR lpszNewItem, 4172 - UINT cmdInsert, 4173 - UINT flags); 4174 -extern(Windows) export BOOL ChangeMenuW( 4175 - HMENU hMenu, 4176 - UINT cmd, 4177 - LPCWSTR lpszNewItem, 4178 - UINT cmdInsert, 4179 - UINT flags); 4180 -// #ifdef UNICODE 4427 +alias AppendMenuW AppendMenu; 4428 +alias BroadcastSystemMessageW BroadcastSystemMessage; 4429 +static if (_WIN32_WINNT >= 0x501) { 4430 +alias BroadcastSystemMessageExW BroadcastSystemMessageEx; 4431 +} 4432 +alias CallMsgFilterW CallMsgFilter; 4433 +alias CallWindowProcW CallWindowProc; 4181 4434 alias ChangeMenuW ChangeMenu; 4182 -// #else 4183 -// #... 4184 -// #endif // !UNICODE 4185 - 4186 -extern(Windows) export BOOL HiliteMenuItem( 4187 - HWND hWnd, 4188 - HMENU hMenu, 4189 - UINT uIDHiliteItem, 4190 - UINT uHilite); 4191 - 4192 -extern(Windows) export int GetMenuStringA( 4193 - HMENU hMenu, 4194 - UINT uIDItem, 4195 - LPSTR lpString, 4196 - int nMaxCount, 4197 - UINT uFlag); 4198 -extern(Windows) export int GetMenuStringW( 4199 - HMENU hMenu, 4200 - UINT uIDItem, 4201 - LPWSTR lpString, 4202 - int nMaxCount, 4203 - UINT uFlag); 4204 -// #ifdef UNICODE 4435 +alias CharLowerW CharLower; 4436 +alias CharLowerBuffW CharLowerBuff; 4437 +alias CharNextW CharNext; 4438 +alias CharNextExW CharNextEx; 4439 +alias CharPrevW CharPrev; 4440 +alias CharPrevExW CharPrevEx; 4441 +alias CharToOemW CharToOem; 4442 +alias CharToOemBuffW CharToOemBuff; 4443 +alias CharUpperW CharUpper; 4444 +alias CharUpperBuffW CharUpperBuff; 4445 +alias CopyAcceleratorTableW CopyAcceleratorTable; 4446 +alias CreateAcceleratorTableW CreateAcceleratorTable; 4447 +alias CreateDialogW CreateDialog; 4448 +alias CreateDialogIndirectW CreateDialogIndirect; 4449 +alias CreateDialogIndirectParamW CreateDialogIndirectParam; 4450 +alias CreateDialogParamW CreateDialogParam; 4451 +alias CreateMDIWindowW CreateMDIWindow; 4452 +alias CreateWindowW CreateWindow; 4453 +alias CreateWindowExW CreateWindowEx; 4454 +alias CreateWindowStationW CreateWindowStation; 4455 +alias DefDlgProcW DefDlgProc; 4456 +alias DefFrameProcW DefFrameProc; 4457 +alias DefMDIChildProcW DefMDIChildProc; 4458 +alias DefWindowProcW DefWindowProc; 4459 +alias DialogBoxW DialogBox; 4460 +alias DialogBoxIndirectW DialogBoxIndirect; 4461 +alias DialogBoxIndirectParamW DialogBoxIndirectParam; 4462 +alias DialogBoxParamW DialogBoxParam; 4463 +alias DispatchMessageW DispatchMessage; 4464 +alias DlgDirListW DlgDirList; 4465 +alias DlgDirListComboBoxW DlgDirListComboBox; 4466 +alias DlgDirSelectComboBoxExW DlgDirSelectComboBoxEx; 4467 +alias DlgDirSelectExW DlgDirSelectEx; 4468 +alias DrawStateW DrawState; 4469 +alias DrawTextW DrawText; 4470 +alias DrawTextExW DrawTextEx; 4471 +alias EnumDesktopsW EnumDesktops; 4472 +alias EnumPropsW EnumProps; 4473 +alias EnumPropsExW EnumPropsEx; 4474 +alias EnumWindowStationsW EnumWindowStations; 4475 +alias FindWindowW FindWindow; 4476 +alias FindWindowExW FindWindowEx; 4477 +alias GetClassInfoW GetClassInfo; 4478 +alias GetClassInfoExW GetClassInfoEx; 4479 +alias GetClassLongW GetClassLong; 4480 +alias GetClassNameW GetClassName; 4481 +alias GetClipboardFormatNameW GetClipboardFormatName; 4482 +alias GetDlgItemTextW GetDlgItemText; 4483 +alias GetKeyboardLayoutNameW GetKeyboardLayoutName; 4484 +alias GetKeyNameTextW GetKeyNameText; 4485 +alias GetMenuItemInfoW GetMenuItemInfo; 4205 4486 alias GetMenuStringW GetMenuString; 4206 -// #else 4207 -// #... 4208 -// #endif // !UNICODE 4209 - 4210 -extern(Windows) export UINT GetMenuState( 4211 - HMENU hMenu, 4212 - UINT uId, 4213 - UINT uFlags); 4214 - 4215 -extern(Windows) export BOOL DrawMenuBar( 4216 - HWND hWnd); 4217 - 4218 -// #if(_WIN32_WINNT >= 0x0501) 4219 -enum : uint { PMB_ACTIVE = 0x00000001 } 4220 - 4221 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4222 - 4223 -extern(Windows) export HMENU GetSystemMenu( 4224 - HWND hWnd, 4225 - BOOL bRevert); 4226 - 4227 -extern(Windows) export HMENU CreateMenu(); 4228 - 4229 -extern(Windows) export HMENU CreatePopupMenu(); 4230 - 4231 -extern(Windows) export BOOL DestroyMenu( 4232 - HMENU hMenu); 4233 - 4234 -extern(Windows) export DWORD CheckMenuItem( 4235 - HMENU hMenu, 4236 - UINT uIDCheckItem, 4237 - UINT uCheck); 4238 - 4239 -extern(Windows) export BOOL EnableMenuItem( 4240 - HMENU hMenu, 4241 - UINT uIDEnableItem, 4242 - UINT uEnable); 4243 - 4244 -extern(Windows) export HMENU GetSubMenu( 4245 - HMENU hMenu, 4246 - int nPos); 4247 - 4248 -extern(Windows) export UINT GetMenuItemID( 4249 - HMENU hMenu, 4250 - int nPos); 4251 - 4252 -extern(Windows) export int GetMenuItemCount( 4253 - HMENU hMenu); 4254 - 4255 -extern(Windows) export BOOL InsertMenuA( 4256 - HMENU hMenu, 4257 - UINT uPosition, 4258 - UINT uFlags, 4259 - UINT_PTR uIDNewItem, 4260 - LPCSTR lpNewItem); 4261 -extern(Windows) export BOOL InsertMenuW( 4262 - HMENU hMenu, 4263 - UINT uPosition, 4264 - UINT uFlags, 4265 - UINT_PTR uIDNewItem, 4266 - LPCWSTR lpNewItem); 4267 -// #ifdef UNICODE 4268 -alias InsertMenuW InsertMenu; 4269 -// #else 4270 -// #... 4271 -// #endif // !UNICODE 4272 - 4273 -extern(Windows) export BOOL AppendMenuA( 4274 - HMENU hMenu, 4275 - UINT uFlags, 4276 - UINT_PTR uIDNewItem, 4277 - LPCSTR lpNewItem); 4278 -extern(Windows) export BOOL AppendMenuW( 4279 - HMENU hMenu, 4280 - UINT uFlags, 4281 - UINT_PTR uIDNewItem, 4282 - LPCWSTR lpNewItem); 4283 -// #ifdef UNICODE 4284 -alias AppendMenuW AppendMenu; 4285 -// #else 4286 -// #... 4287 -// #endif // !UNICODE 4288 - 4289 -extern(Windows) export BOOL ModifyMenuA( 4290 - HMENU hMnu, 4291 - UINT uPosition, 4292 - UINT uFlags, 4293 - UINT_PTR uIDNewItem, 4294 - LPCSTR lpNewItem); 4295 -extern(Windows) export BOOL ModifyMenuW( 4296 - HMENU hMnu, 4297 - UINT uPosition, 4298 - UINT uFlags, 4299 - UINT_PTR uIDNewItem, 4300 - LPCWSTR lpNewItem); 4301 -// #ifdef UNICODE 4302 -alias ModifyMenuW ModifyMenu; 4303 -// #else 4304 -// #... 4305 -// #endif // !UNICODE 4306 - 4307 -extern(Windows) export BOOL RemoveMenu( 4308 - HMENU hMenu, 4309 - UINT uPosition, 4310 - UINT uFlags); 4311 - 4312 -extern(Windows) export BOOL DeleteMenu( 4313 - HMENU hMenu, 4314 - UINT uPosition, 4315 - UINT uFlags); 4316 - 4317 -extern(Windows) export BOOL SetMenuItemBitmaps( 4318 - HMENU hMenu, 4319 - UINT uPosition, 4320 - UINT uFlags, 4321 - HBITMAP hBitmapUnchecked, 4322 - HBITMAP hBitmapChecked); 4323 - 4324 -extern(Windows) export LONG GetMenuCheckMarkDimensions(); 4325 - 4326 -extern(Windows) export BOOL TrackPopupMenu( 4327 - HMENU hMenu, 4328 - UINT uFlags, 4329 - int x, 4330 - int y, 4331 - int nReserved, 4332 - HWND hWnd, 4333 - RECT *prcRect); 4334 - 4335 -// #if(WINVER >= 0x0400) 4336 - 4337 -enum : uint { MNC_IGNORE = 0 } 4338 -enum : uint { MNC_CLOSE = 1 } 4339 -enum : uint { MNC_EXECUTE = 2 } 4340 -enum : uint { MNC_SELECT = 3 } 4341 - 4342 -struct tagTPMPARAMS { 4343 - UINT cbSize; 4344 - RECT rcExclude; 4487 +alias GetMessageW GetMessage; 4488 +static if (WINVER >=0x410) { 4489 +alias GetMonitorInfoW GetMonitorInfo; 4490 +} 4491 +alias GetPropW GetProp; 4492 +static if (_WIN32_WINNT >= 0x501) { 4493 +alias GetRawInputDeviceInfoW GetRawInputDeviceInfo; 4345 4494 } 4346 -alias tagTPMPARAMS TPMPARAMS; 4347 - 4348 -alias TPMPARAMS* LPTPMPARAMS; 4349 - 4350 -extern(Windows) export BOOL TrackPopupMenuEx( 4351 - HMENU, 4352 - UINT, 4353 - int, 4354 - int, 4355 - HWND, 4356 - LPTPMPARAMS); 4357 -// #endif /* WINVER >= 0x0400 */ 4358 - 4359 -// #if(WINVER >= 0x0500) 4360 - 4361 -enum : uint { MNS_NOCHECK = 0x80000000 } 4362 -enum : uint { MNS_MODELESS = 0x40000000 } 4363 -enum : uint { MNS_DRAGDROP = 0x20000000 } 4364 -enum : uint { MNS_AUTODISMISS = 0x10000000 } 4365 -enum : uint { MNS_NOTIFYBYPOS = 0x08000000 } 4366 -enum : uint { MNS_CHECKORBMP = 0x04000000 } 4367 - 4368 -enum : uint { MIM_MAXHEIGHT = 0x00000001 } 4369 -enum : uint { MIM_BACKGROUND = 0x00000002 } 4370 -enum : uint { MIM_HELPID = 0x00000004 } 4371 -enum : uint { MIM_MENUDATA = 0x00000008 } 4372 -enum : uint { MIM_STYLE = 0x00000010 } 4373 -enum : uint { MIM_APPLYTOSUBMENUS = 0x80000000 } 4374 - 4375 -struct tagMENUINFO { 4376 - DWORD cbSize; 4377 - DWORD fMask; 4378 - DWORD dwStyle; 4379 - UINT cyMax; 4380 - HBRUSH hbrBack; 4381 - DWORD dwContextHelpID; 4382 - ULONG_PTR dwMenuData; 4383 -} 4384 -alias tagMENUINFO MENUINFO; 4385 -alias tagMENUINFO* LPMENUINFO; 4386 - 4387 -alias MENUINFO* LPCMENUINFO; 4388 - 4389 -extern(Windows) export BOOL GetMenuInfo( 4390 - HMENU, 4391 - LPMENUINFO); 4392 - 4393 -extern(Windows) export BOOL SetMenuInfo( 4394 - HMENU, 4395 - LPCMENUINFO); 4396 - 4397 -extern(Windows) export BOOL EndMenu(); 4398 - 4399 -enum : uint { MND_CONTINUE = 0 } 4400 -enum : uint { MND_ENDMENU = 1 } 4401 - 4402 -struct tagMENUGETOBJECTINFO { 4403 - DWORD dwFlags; 4404 - UINT uPos; 4405 - HMENU hmenu; 4406 - PVOID riid; 4407 - PVOID pvObj; 4408 -} 4409 -alias tagMENUGETOBJECTINFO MENUGETOBJECTINFO; 4410 -alias tagMENUGETOBJECTINFO* PMENUGETOBJECTINFO; 4411 - 4412 -enum : uint { MNGOF_TOPGAP = 0x00000001 } 4413 -enum : uint { MNGOF_BOTTOMGAP = 0x00000002 } 4414 - 4415 -enum : uint { MNGO_NOINTERFACE = 0x00000000 } 4416 -enum : uint { MNGO_NOERROR = 0x00000001 } 4417 -// #endif /* WINVER >= 0x0500 */ 4418 - 4419 -// #if(WINVER >= 0x0400) 4420 -enum : uint { MIIM_STATE = 0x00000001 } 4421 -enum : uint { MIIM_ID = 0x00000002 } 4422 -enum : uint { MIIM_SUBMENU = 0x00000004 } 4423 -enum : uint { MIIM_CHECKMARKS = 0x00000008 } 4424 -enum : uint { MIIM_TYPE = 0x00000010 } 4425 -enum : uint { MIIM_DATA = 0x00000020 } 4426 -// #endif /* WINVER >= 0x0400 */ 4427 - 4428 -// #if(WINVER >= 0x0500) 4429 -enum : uint { MIIM_STRING = 0x00000040 } 4430 -enum : uint { MIIM_BITMAP = 0x00000080 } 4431 -enum : uint { MIIM_FTYPE = 0x00000100 } 4432 - 4433 -const HBITMAP HBMMENU_CALLBACK = cast(HBITMAP)-1; 4434 -const HBITMAP HBMMENU_SYSTEM = cast(HBITMAP)1; 4435 -const HBITMAP HBMMENU_MBAR_RESTORE = cast(HBITMAP)2; 4436 -const HBITMAP HBMMENU_MBAR_MINIMIZE = cast(HBITMAP)3; 4437 -const HBITMAP HBMMENU_MBAR_CLOSE = cast(HBITMAP)5; 4438 -const HBITMAP HBMMENU_MBAR_CLOSE_D = cast(HBITMAP)6; 4439 -const HBITMAP HBMMENU_MBAR_MINIMIZE_D = cast(HBITMAP)7; 4440 -const HBITMAP HBMMENU_POPUP_CLOSE = cast(HBITMAP)8; 4441 -const HBITMAP HBMMENU_POPUP_RESTORE = cast(HBITMAP)9; 4442 -const HBITMAP HBMMENU_POPUP_MAXIMIZE = cast(HBITMAP)10; 4443 -const HBITMAP HBMMENU_POPUP_MINIMIZE = cast(HBITMAP)11; 4444 -// #endif /* WINVER >= 0x0500 */ 4445 - 4446 -// #if(WINVER >= 0x0400) 4447 -struct tagMENUITEMINFOA { 4448 - UINT cbSize; 4449 - UINT fMask; 4450 - UINT fType; 4451 - UINT fState; 4452 - UINT wID; 4453 - HMENU hSubMenu; 4454 - HBITMAP hbmpChecked; 4455 - HBITMAP hbmpUnchecked; 4456 - ULONG_PTR dwItemData; 4457 - LPSTR dwTypeData; 4458 - UINT cch; 4459 -// #if(WINVER >= 0x0500) 4460 - HBITMAP hbmpItem; 4461 -// #endif /* WINVER >= 0x0500 */ 4462 -} 4463 -alias tagMENUITEMINFOA MENUITEMINFOA; 4464 -alias tagMENUITEMINFOA* LPMENUITEMINFOA; 4465 - 4466 -struct tagMENUITEMINFOW { 4467 - UINT cbSize; 4468 - UINT fMask; 4469 - UINT fType; 4470 - UINT fState; 4471 - UINT wID; 4472 - HMENU hSubMenu; 4473 - HBITMAP hbmpChecked; 4474 - HBITMAP hbmpUnchecked; 4475 - ULONG_PTR dwItemData; 4476 - LPWSTR dwTypeData; 4477 - UINT cch; 4478 -// #if(WINVER >= 0x0500) 4479 - HBITMAP hbmpItem; 4480 -// #endif /* WINVER >= 0x0500 */ 4481 -} 4482 -alias tagMENUITEMINFOW MENUITEMINFOW; 4483 -alias tagMENUITEMINFOW* LPMENUITEMINFOW; 4484 - 4485 -// #ifdef UNICODE 4486 -alias MENUITEMINFOW MENUITEMINFO; 4487 -alias LPMENUITEMINFOW LPMENUITEMINFO; 4488 -// #else 4489 -// ... 4490 -// #endif // UNICODE 4491 -alias MENUITEMINFOA* LPCMENUITEMINFOA; 4492 -alias MENUITEMINFOW* LPCMENUITEMINFOW; 4493 -// #ifdef UNICODE 4494 -alias LPCMENUITEMINFOW LPCMENUITEMINFO; 4495 -// #else 4496 -// ... 4497 -// #endif // UNICODE 4498 - 4499 -extern(Windows) export BOOL InsertMenuItemA( 4500 - HMENU, 4501 - UINT, 4502 - BOOL, 4503 - LPCMENUITEMINFOA); 4504 -extern(Windows) export BOOL InsertMenuItemW( 4505 - HMENU, 4506 - UINT, 4507 - BOOL, 4508 - LPCMENUITEMINFOW); 4509 -// #ifdef UNICODE 4495 +alias GetTabbedTextExtentW GetTabbedTextExtent; 4496 +alias GetUserObjectInformationW GetUserObjectInformation; 4497 +alias GetWindowLongW GetWindowLong; 4498 +alias GetWindowLongPtrW GetWindowLongPtr; 4499 +alias GetWindowTextW GetWindowText; 4500 +alias GetWindowTextLengthW GetWindowTextLength; 4501 +alias GetAltTabInfoW GetAltTabInfo; 4502 +alias GetWindowModuleFileNameW GetWindowModuleFileName; 4503 +alias GrayStringW GrayString; 4504 +alias InsertMenuW InsertMenu; 4510 4505 alias InsertMenuItemW InsertMenuItem; 4511 -// #else 4512 -// #... 4513 -// #endif // !UNICODE 4514 - 4515 -extern(Windows) export BOOL GetMenuItemInfoA( 4516 - HMENU, 4517 - UINT, 4518 - BOOL, 4519 - LPMENUITEMINFOA); 4520 -extern(Windows) export BOOL GetMenuItemInfoW( 4521 - HMENU, 4522 - UINT, 4523 - BOOL, 4524 - LPMENUITEMINFOW); 4525 -// #ifdef UNICODE 4526 -alias GetMenuItemInfoW GetMenuItemInfo; 4527 -// #else 4528 -// #... 4529 -// #endif // !UNICODE 4530 - 4531 -extern(Windows) export BOOL SetMenuItemInfoA( 4532 - HMENU, 4533 - UINT, 4534 - BOOL, 4535 - LPCMENUITEMINFOA); 4536 -extern(Windows) export BOOL SetMenuItemInfoW( 4537 - HMENU, 4538 - UINT, 4539 - BOOL, 4540 - LPCMENUITEMINFOW); 4541 -// #ifdef UNICODE 4506 +alias IsCharAlphaW IsCharAlpha; 4507 +alias IsCharAlphaNumericW IsCharAlphaNumeric; 4508 +alias IsCharLowerW IsCharLower; 4509 +alias IsCharUpperW IsCharUpper; 4510 +alias IsDialogMessageW IsDialogMessage; 4511 +alias LoadAcceleratorsW LoadAccelerators; 4512 +alias LoadBitmapW LoadBitmap; 4513 +alias LoadCursorW LoadCursor; 4514 +alias LoadCursorFromFileW LoadCursorFromFile; 4515 +alias LoadIconW LoadIcon; 4516 +alias LoadImageW LoadImage; 4517 +alias LoadKeyboardLayoutW LoadKeyboardLayout; 4518 +alias LoadMenuW LoadMenu; 4519 +alias LoadMenuIndirectW LoadMenuIndirect; 4520 +alias LoadStringW LoadString; 4521 +alias MapVirtualKeyW MapVirtualKey; 4522 +alias MapVirtualKeyExW MapVirtualKeyEx; 4523 +alias MessageBoxW MessageBox; 4524 +alias MessageBoxExW MessageBoxEx; 4525 +alias MessageBoxIndirectW MessageBoxIndirect; 4526 +alias ModifyMenuW ModifyMenu; 4527 +alias OemToCharW OemToChar; 4528 +alias OemToCharBuffW OemToCharBuff; 4529 +alias OpenDesktopW OpenDesktop; 4530 +alias OpenWindowStationW OpenWindowStation; 4531 +alias PeekMessageW PeekMessage; 4532 +alias PostMessageW PostMessage; 4533 +alias PostThreadMessageW PostThreadMessage; 4534 +alias RealGetWindowClassW RealGetWindowClass; 4535 +alias RegisterClassW RegisterClass; 4536 +alias RegisterClassExW RegisterClassEx; 4537 +alias RegisterClipboardFormatW RegisterClipboardFormat; 4538 +static if (WINVER >= 0x500) { 4539 +alias RegisterDeviceNotificationW RegisterDeviceNotification; 4540 +} 4541 +alias RegisterWindowMessageW RegisterWindowMessage; 4542 +alias RemovePropW RemoveProp; 4543 +alias SendDlgItemMessageW SendDlgItemMessage; 4544 +alias SendMessageW SendMessage; 4545 +alias SendMessageCallbackW SendMessageCallback; 4546 +alias SendMessageTimeoutW SendMessageTimeout; 4547 +alias SendNotifyMessageW SendNotifyMessage; 4548 +alias SetClassLongW SetClassLong; 4549 +alias SetDlgItemTextW SetDlgItemText; 4542 4550 alias SetMenuItemInfoW SetMenuItemInfo; 4543 -// #else 4544 -// #... 4545 -// #endif // !UNICODE 4546 - 4547 -enum : uint { GMDI_USEDISABLED = 0x0001 } 4548 -enum : uint { GMDI_GOINTOPOPUPS = 0x0002 } 4551 +alias SetPropW SetProp; 4552 +alias SetUserObjectInformationW SetUserObjectInformation; 4553 +alias SetWindowLongW SetWindowLong; 4554 +alias SetWindowLongPtrW SetWindowLongPtr; 4555 +alias SetWindowsHookW SetWindowsHook; 4556 +alias SetWindowsHookExW SetWindowsHookEx; 4557 +alias SetWindowTextW SetWindowText; 4558 +alias SystemParametersInfoW SystemParametersInfo; 4559 +alias TabbedTextOutW TabbedTextOut; 4560 +alias TranslateAcceleratorW TranslateAccelerator; 4561 +alias UnregisterClassW UnregisterClass; 4562 +alias VkKeyScanW VkKeyScan; 4563 +alias VkKeyScanExW VkKeyScanEx; 4564 +alias WinHelpW WinHelp; 4565 +alias wsprintfW wsprintf; 4566 +alias wvsprintfW wvsprintf; 4549 4567 4550 -extern(Windows) export UINT GetMenuDefaultItem(HMENU hMenu, UINT fByPos, UINT gmdiFlags); 4551 -extern(Windows) export BOOL SetMenuDefaultItem(HMENU hMenu, UINT uItem, UINT fByPos); 4552 - 4553 -extern(Windows) export BOOL GetMenuItemRect(HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem); 4554 -extern(Windows) export int MenuItemFromPoint(HWND hWnd, HMENU hMenu, POINT ptScreen); 4555 -// #endif /* WINVER >= 0x0400 */ 4568 +alias ChangeDisplaySettingsW ChangeDisplaySettings; 4569 +alias ChangeDisplaySettingsExW ChangeDisplaySettingsEx; 4570 +alias CreateDesktopW CreateDesktop; 4571 +alias EnumDisplaySettingsW EnumDisplaySettings; 4572 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 4573 +alias EnumDisplaySettingsExW EnumDisplaySettingsEx; 4574 +} 4575 +alias EnumDisplayDevicesW EnumDisplayDevices; 4556 4576 4557 -enum : uint { TPM_LEFTBUTTON = 0x0000 } 4558 -enum : uint { TPM_RIGHTBUTTON = 0x0002 } 4559 -enum : uint { TPM_LEFTALIGN = 0x0000 } 4560 -enum : uint { TPM_CENTERALIGN = 0x0004 } 4561 -enum : uint { TPM_RIGHTALIGN = 0x0008 } 4562 -// #if(WINVER >= 0x0400) 4563 -enum : uint { TPM_TOPALIGN = 0x0000 } 4564 -enum : uint { TPM_VCENTERALIGN = 0x0010 } 4565 -enum : uint { TPM_BOTTOMALIGN = 0x0020 } 4577 +} else { // ANSI 4566 4578 4567 -enum : uint { TPM_HORIZONTAL = 0x0000 } 4568 -enum : uint { TPM_VERTICAL = 0x0040 } 4569 -enum : uint { TPM_NONOTIFY = 0x0080 } 4570 -enum : uint { TPM_RETURNCMD = 0x0100 } 4571 -// #endif /* WINVER >= 0x0400 */ 4572 -// #if(WINVER >= 0x0500) 4573 -enum : uint { TPM_RECURSE = 0x0001 } 4574 -enum : uint { TPM_HORPOSANIMATION = 0x0400 } 4575 -enum : uint { TPM_HORNEGANIMATION = 0x0800 } 4576 -enum : uint { TPM_VERPOSANIMATION = 0x1000 } 4577 -enum : uint { TPM_VERNEGANIMATION = 0x2000 } 4578 -// #if(_WIN32_WINNT >= 0x0500) 4579 -enum : uint { TPM_NOANIMATION = 0x4000 } 4580 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4581 -// #if(_WIN32_WINNT >= 0x0501) 4582 -enum : uint { TPM_LAYOUTRTL = 0x8000 } 4583 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4584 -// #endif /* WINVER >= 0x0500 */ 4579 +alias EDITWORDBREAKPROCA EDITWORDBREAKPROC; 4580 +alias PROPENUMPROCA PROPENUMPROC; 4581 +alias PROPENUMPROCEXA PROPENUMPROCEX; 4582 +alias DESKTOPENUMPROCA DESKTOPENUMPROC; 4583 +alias WINSTAENUMPROCA WINSTAENUMPROC; 4584 +alias MAKEINTRESOURCEA MAKEINTRESOURCE; 4585 4585 4586 -// #endif /* !NOMENUS */ 4587 - 4588 -// #if(WINVER >= 0x0400) 4589 - 4590 -struct tagDROPSTRUCT { 4591 - HWND hwndSource; 4592 - HWND hwndSink; 4593 - DWORD wFmt; 4594 - ULONG_PTR dwData; 4595 - POINT ptDrop; 4596 - DWORD dwControlData; 4597 -} 4598 -alias tagDROPSTRUCT DROPSTRUCT; 4599 -alias tagDROPSTRUCT* PDROPSTRUCT; 4600 -alias tagDROPSTRUCT* LPDROPSTRUCT; 4601 - 4602 -enum : uint { DOF_EXECUTABLE = 0x8001 } 4603 -enum : uint { DOF_DOCUMENT = 0x8002 } 4604 -enum : uint { DOF_DIRECTORY = 0x8003 } 4605 -enum : uint { DOF_MULTIPLE = 0x8004 } 4606 -enum : uint { DOF_PROGMAN = 0x0001 } 4607 -enum : uint { DOF_SHELLDATA = 0x0002 } 4586 +alias WNDCLASSA WNDCLASS; 4587 +alias WNDCLASSEXA WNDCLASSEX; 4588 +alias MENUITEMINFOA MENUITEMINFO; 4589 +alias LPCMENUITEMINFOA LPCMENUITEMINFO; 4590 +alias MSGBOXPARAMSA MSGBOXPARAMS; 4591 +alias HIGHCONTRASTA HIGHCONTRAST; 4592 +alias SERIALKEYSA SERIALKEYS; 4593 +alias SOUNDSENTRYA SOUNDSENTRY; 4594 +alias CREATESTRUCTA CREATESTRUCT; 4595 +alias CBT_CREATEWNDA CBT_CREATEWND; 4596 +alias MDICREATESTRUCTA MDICREATESTRUCT; 4597 +alias MULTIKEYHELPA MULTIKEYHELP; 4598 +alias MONITORINFOEXA MONITORINFOEX; 4599 +alias ICONMETRICSA ICONMETRICS; 4600 +alias NONCLIENTMETRICSA NONCLIENTMETRICS; 4608 4601 4609 -enum : uint { DO_DROPFILE = 0x454C4946 } 4610 -enum : uint { DO_PRINTFILE = 0x544E5250 } 4611 - 4612 -extern(Windows) export DWORD DragObject( 4613 - HWND, 4614 - HWND, 4615 - UINT, 4616 - ULONG_PTR, 4617 - HCURSOR); 4618 - 4619 -extern(Windows) export BOOL DragDetect( 4620 - HWND, 4621 - POINT); 4622 -// #endif /* WINVER >= 0x0400 */ 4623 - 4624 -extern(Windows) export BOOL DrawIcon( 4625 - HDC hDC, 4626 - int X, 4627 - int Y, 4628 - HICON hIcon); 4629 - 4630 -// #ifndef NODRAWTEXT 4631 - 4632 -enum : uint { DT_TOP = 0x00000000 } 4633 -enum : uint { DT_LEFT = 0x00000000 } 4634 -enum : uint { DT_CENTER = 0x00000001 } 4635 -enum : uint { DT_RIGHT = 0x00000002 } 4636 -enum : uint { DT_VCENTER = 0x00000004 } 4637 -enum : uint { DT_BOTTOM = 0x00000008 } 4638 -enum : uint { DT_WORDBREAK = 0x00000010 } 4639 -enum : uint { DT_SINGLELINE = 0x00000020 } 4640 -enum : uint { DT_EXPANDTABS = 0x00000040 } 4641 -enum : uint { DT_TABSTOP = 0x00000080 } 4642 -enum : uint { DT_NOCLIP = 0x00000100 } 4643 -enum : uint { DT_EXTERNALLEADING = 0x00000200 } 4644 -enum : uint { DT_CALCRECT = 0x00000400 } 4645 -enum : uint { DT_NOPREFIX = 0x00000800 } 4646 -enum : uint { DT_INTERNAL = 0x00001000 } 4647 - 4648 -// #if(WINVER >= 0x0400) 4649 -enum : uint { DT_EDITCONTROL = 0x00002000 } 4650 -enum : uint { DT_PATH_ELLIPSIS = 0x00004000 } 4651 -enum : uint { DT_END_ELLIPSIS = 0x00008000 } 4652 -enum : uint { DT_MODIFYSTRING = 0x00010000 } 4653 -enum : uint { DT_RTLREADING = 0x00020000 } 4654 -enum : uint { DT_WORD_ELLIPSIS = 0x00040000 } 4655 -// #if(WINVER >= 0x0500) 4656 -enum : uint { DT_NOFULLWIDTHCHARBREAK = 0x00080000 } 4657 -// #if(_WIN32_WINNT >= 0x0500) 4658 -enum : uint { DT_HIDEPREFIX = 0x00100000 } 4659 -enum : uint { DT_PREFIXONLY = 0x00200000 } 4660 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4661 -// #endif /* WINVER >= 0x0500 */ 4662 - 4663 -struct tagDRAWTEXTPARAMS { 4664 - UINT cbSize; 4665 - int iTabLength; 4666 - int iLeftMargin; 4667 - int iRightMargin; 4668 - UINT uiLengthDrawn; 4602 +alias AppendMenuA AppendMenu; 4603 +alias BroadcastSystemMessageA BroadcastSystemMessage; 4604 +static if (_WIN32_WINNT >= 0x501) { 4605 +alias BroadcastSystemMessageExA BroadcastSystemMessageEx; 4606 +} 4607 +alias CallMsgFilterA CallMsgFilter; 4608 +alias CallWindowProcA CallWindowProc; 4609 +alias ChangeMenuA ChangeMenu; 4610 +alias CharLowerA CharLower; 4611 +alias CharLowerBuffA CharLowerBuff; 4612 +alias CharNextA CharNext; 4613 +alias CharNextExA CharNextEx; 4614 +alias CharPrevA CharPrev; 4615 +alias CharPrevExA CharPrevEx; 4616 +alias CharToOemA CharToOem; 4617 +alias CharToOemBuffA CharToOemBuff; 4618 +alias CharUpperA CharUpper; 4619 +alias CharUpperBuffA CharUpperBuff; 4620 +alias CopyAcceleratorTableA CopyAcceleratorTable; 4621 +alias CreateAcceleratorTableA CreateAcceleratorTable; 4622 +alias CreateDialogA CreateDialog; 4623 +alias CreateDialogIndirectA CreateDialogIndirect; 4624 +alias CreateDialogIndirectParamA CreateDialogIndirectParam; 4625 +alias CreateDialogParamA CreateDialogParam; 4626 +alias CreateMDIWindowA CreateMDIWindow; 4627 +alias CreateWindowA CreateWindow; 4628 +alias CreateWindowExA CreateWindowEx; 4629 +alias CreateWindowStationA CreateWindowStation; 4630 +alias DefDlgProcA DefDlgProc; 4631 +alias DefFrameProcA DefFrameProc; 4632 +alias DefMDIChildProcA DefMDIChildProc; 4633 +alias DefWindowProcA DefWindowProc; 4634 +alias DialogBoxA DialogBox; 4635 +alias DialogBoxIndirectA DialogBoxIndirect; 4636 +alias DialogBoxIndirectParamA DialogBoxIndirectParam; 4637 +alias DialogBoxParamA DialogBoxParam; 4638 +alias DispatchMessageA DispatchMessage; 4639 +alias DlgDirListA DlgDirList; 4640 +alias DlgDirListComboBoxA DlgDirListComboBox; 4641 +alias DlgDirSelectComboBoxExA DlgDirSelectComboBoxEx; 4642 +alias DlgDirSelectExA DlgDirSelectEx; 4643 +alias DrawStateA DrawState; 4644 +alias DrawTextA DrawText; 4645 +alias DrawTextExA DrawTextEx; 4646 +alias EnumDesktopsA EnumDesktops; 4647 +alias EnumPropsA EnumProps; 4648 +alias EnumPropsExA EnumPropsEx; 4649 +alias EnumWindowStationsA EnumWindowStations; 4650 +alias FindWindowA FindWindow; 4651 +alias FindWindowExA FindWindowEx; 4652 +alias GetClassInfoA GetClassInfo; 4653 +alias GetClassInfoExA GetClassInfoEx; 4654 +alias GetClassLongA GetClassLong; 4655 +alias GetClassNameA GetClassName; 4656 +alias GetClipboardFormatNameA GetClipboardFormatName; 4657 +alias GetDlgItemTextA GetDlgItemText; 4658 +alias GetKeyboardLayoutNameA GetKeyboardLayoutName; 4659 +alias GetKeyNameTextA GetKeyNameText; 4660 +alias GetMenuItemInfoA GetMenuItemInfo; 4661 +alias GetMenuStringA GetMenuString; 4662 +alias GetMessageA GetMessage; 4663 +static if (WINVER >=0x410) { 4664 +alias GetMonitorInfoA GetMonitorInfo; 4665 +} 4666 +alias GetPropA GetProp; 4667 +static if (_WIN32_WINNT >= 0x501) { 4668 +alias GetRawInputDeviceInfoA GetRawInputDeviceInfo; 4669 +} 4670 +alias GetTabbedTextExtentA GetTabbedTextExtent; 4671 +alias GetUserObjectInformationA GetUserObjectInformation; 4672 +alias GetWindowLongA GetWindowLong; 4673 +alias GetWindowLongPtrA GetWindowLongPtr; 4674 +alias GetWindowTextA GetWindowText; 4675 +alias GetWindowTextLengthA GetWindowTextLength; 4676 +alias GetAltTabInfoA GetAltTabInfo; 4677 +alias GetWindowModuleFileNameA GetWindowModuleFileName; 4678 +alias GrayStringA GrayString; 4679 +alias InsertMenuA InsertMenu; 4680 +alias InsertMenuItemA InsertMenuItem; 4681 +alias IsCharAlphaA IsCharAlpha; 4682 +alias IsCharAlphaNumericA IsCharAlphaNumeric; 4683 +alias IsCharLowerA IsCharLower; 4684 +alias IsCharUpperA IsCharUpper; 4685 +alias IsDialogMessageA IsDialogMessage; 4686 +alias LoadAcceleratorsA LoadAccelerators; 4687 +alias LoadBitmapA LoadBitmap; 4688 +alias LoadCursorA LoadCursor; 4689 +alias LoadIconA LoadIcon; 4690 +alias LoadCursorFromFileA LoadCursorFromFile; 4691 +alias LoadImageA LoadImage; 4692 +alias LoadKeyboardLayoutA LoadKeyboardLayout; 4693 +alias LoadMenuA LoadMenu; 4694 +alias LoadMenuIndirectA LoadMenuIndirect; 4695 +alias LoadStringA LoadString; 4696 +alias MapVirtualKeyA MapVirtualKey; 4697 +alias MapVirtualKeyExA MapVirtualKeyEx; 4698 +alias MessageBoxA MessageBox; 4699 +alias MessageBoxExA MessageBoxEx; 4700 +alias MessageBoxIndirectA MessageBoxIndirect; 4701 +alias ModifyMenuA ModifyMenu; 4702 +alias OemToCharA OemToChar; 4703 +alias OemToCharBuffA OemToCharBuff; 4704 +alias OpenDesktopA OpenDesktop; 4705 +alias OpenWindowStationA OpenWindowStation; 4706 +alias PeekMessageA PeekMessage; 4707 +alias PostMessageA PostMessage; 4708 +alias PostThreadMessageA PostThreadMessage; 4709 +alias RealGetWindowClassA RealGetWindowClass; 4710 +alias RegisterClassA RegisterClass; 4711 +alias RegisterClassExA RegisterClassEx; 4712 +alias RegisterClipboardFormatA RegisterClipboardFormat; 4713 +static if (WINVER >= 0x500) { 4714 +alias RegisterDeviceNotificationA RegisterDeviceNotification; 4669 4715 } 4670 -alias tagDRAWTEXTPARAMS DRAWTEXTPARAMS; 4671 -alias tagDRAWTEXTPARAMS* LPDRAWTEXTPARAMS; 4672 - 4673 -// #endif /* WINVER >= 0x0400 */ 4674 - 4675 -extern(Windows) export int DrawTextA( 4676 - HDC hDC, 4677 - LPCSTR lpString, 4678 - int nCount, 4679 - LPRECT lpRect, 4680 - UINT uFormat); 4681 -extern(Windows) export int DrawTextW( 4682 - HDC hDC, 4683 - LPCWSTR lpString, 4684 - int nCount, 4685 - LPRECT lpRect, 4686 - UINT uFormat); 4687 -// #ifdef UNICODE 4688 -alias DrawTextW DrawText; 4689 -// #else 4690 -// #... 4691 -// #endif // !UNICODE 4692 - 4693 -// #if(WINVER >= 0x0400) 4694 -extern(Windows) export int DrawTextExA( 4695 - HDC, 4696 - LPSTR, 4697 - int, 4698 - LPRECT, 4699 - UINT, 4700 - LPDRAWTEXTPARAMS); 4701 -extern(Windows) export int DrawTextExW( 4702 - HDC, 4703 - LPWSTR, 4704 - int, 4705 - LPRECT, 4706 - UINT, 4707 - LPDRAWTEXTPARAMS); 4708 -// #ifdef UNICODE 4709 -alias DrawTextExW DrawTextEx; 4710 -// #else 4711 -// #... 4712 -// #endif // !UNICODE 4713 -// #endif /* WINVER >= 0x0400 */ 4714 - 4715 -// #endif /* !NODRAWTEXT */ 4716 +alias RegisterWindowMessageA RegisterWindowMessage; 4717 +alias RemovePropA RemoveProp; 4718 +alias SendDlgItemMessageA SendDlgItemMessage; 4719 +alias SendMessageA SendMessage; 4720 +alias SendMessageCallbackA SendMessageCallback; 4721 +alias SendMessageTimeoutA SendMessageTimeout; 4722 +alias SendNotifyMessageA SendNotifyMessage; 4723 +alias SetClassLongA SetClassLong; 4724 +alias SetDlgItemTextA SetDlgItemText; 4725 +alias SetMenuItemInfoA SetMenuItemInfo; 4726 +alias SetPropA SetProp; 4727 +alias SetUserObjectInformationA SetUserObjectInformation; 4728 +alias SetWindowLongA SetWindowLong; 4729 +alias SetWindowLongPtrA SetWindowLongPtr; 4730 +alias SetWindowsHookA SetWindowsHook; 4731 +alias SetWindowsHookExA SetWindowsHookEx; 4732 +alias SetWindowTextA SetWindowText; 4733 +alias SystemParametersInfoA SystemParametersInfo; 4734 +alias TabbedTextOutA TabbedTextOut; 4735 +alias TranslateAcceleratorA TranslateAccelerator; 4736 +alias UnregisterClassA UnregisterClass; 4737 +alias VkKeyScanA VkKeyScan; 4738 +alias VkKeyScanExA VkKeyScanEx; 4739 +alias WinHelpA WinHelp; 4740 +alias wsprintfA wsprintf; 4741 +alias wvsprintfA wvsprintf; 4716 4742 4717 -extern(Windows) export BOOL GrayStringA( 4718 - HDC hDC, 4719 - HBRUSH hBrush, 4720 - GRAYSTRINGPROC lpOutputFunc, 4721 - LPARAM lpData, 4722 - int nCount, 4723 - int X, 4724 - int Y, 4725 - int nWidth, 4726 - int nHeight); 4727 -extern(Windows) export BOOL GrayStringW( 4728 - HDC hDC, 4729 - HBRUSH hBrush, 4730 - GRAYSTRINGPROC lpOutputFunc, 4731 - LPARAM lpData, 4732 - int nCount, 4733 - int X, 4734 - int Y, 4735 - int nWidth, 4736 - int nHeight); 4737 -// #ifdef UNICODE 4738 -alias GrayStringW GrayString; 4739 -// #else 4740 -// #... 4741 -// #endif // !UNICODE 4742 - 4743 -// #if(WINVER >= 0x0400) 4744 - 4745 -enum : uint { DST_COMPLEX = 0x0000 } 4746 -enum : uint { DST_TEXT = 0x0001 } 4747 -enum : uint { DST_PREFIXTEXT = 0x0002 } 4748 -enum : uint { DST_ICON = 0x0003 } 4749 -enum : uint { DST_BITMAP = 0x0004 } 4750 - 4751 -enum : uint { DSS_NORMAL = 0x0000 } 4752 -enum : uint { DSS_UNION = 0x0010 } 4753 -enum : uint { DSS_DISABLED = 0x0020 } 4754 -enum : uint { DSS_MONO = 0x0080 } 4755 -// #if(_WIN32_WINNT >= 0x0500) 4756 -enum : uint { DSS_HIDEPREFIX = 0x0200 } 4757 -enum : uint { DSS_PREFIXONLY = 0x0400 } 4758 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4759 -enum : uint { DSS_RIGHT = 0x8000 } 4743 +alias ChangeDisplaySettingsA ChangeDisplaySettings; 4744 +alias ChangeDisplaySettingsExA ChangeDisplaySettingsEx; 4745 +alias CreateDesktopA CreateDesktop; 4746 +alias EnumDisplaySettingsA EnumDisplaySettings; 4747 +static if ((_WIN32_WINNT >= 0x500) || (_WIN32_WINDOWS >= 0x410)) { 4748 + alias EnumDisplaySettingsExA EnumDisplaySettingsEx; 4749 +} 4750 + alias EnumDisplayDevicesA EnumDisplayDevices; 4751 +} 4752 + 4760 4753 4761 -extern(Windows) export BOOL DrawStateA( 4762 - HDC, 4763 - HBRUSH, 4764 - DRAWSTATEPROC, 4765 - LPARAM, 4766 - WPARAM, 4767 - int, 4768 - int, 4769 - int, 4770 - int, 4771 - UINT); 4772 -extern(Windows) export BOOL DrawStateW( 4773 - HDC, 4774 - HBRUSH, 4775 - DRAWSTATEPROC, 4776 - LPARAM, 4777 - WPARAM, 4778 - int, 4779 - int, 4780 - int, 4781 - int, 4782 - UINT); 4783 -// #ifdef UNICODE 4784 -alias DrawStateW DrawState; 4785 -// #else 4786 -// #... 4787 -// #endif // !UNICODE 4788 -// #endif /* WINVER >= 0x0400 */ 4789 - 4790 -extern(Windows) export LONG TabbedTextOutA( 4791 - HDC hDC, 4792 - int X, 4793 - int Y, 4794 - LPCSTR lpString, 4795 - int nCount, 4796 - int nTabPositions, 4797 - INT *lpnTabStopPositions, 4798 - int nTabOrigin); 4799 -extern(Windows) export LONG TabbedTextOutW( 4800 - HDC hDC, 4801 - int X, 4802 - int Y, 4803 - LPCWSTR lpString, 4804 - int nCount, 4805 - int nTabPositions, 4806 - INT *lpnTabStopPositions, 4807 - int nTabOrigin); 4808 -// #ifdef UNICODE 4809 -alias TabbedTextOutW TabbedTextOut; 4810 -// #else 4811 -// #... 4812 -// #endif // !UNICODE 4813 - 4814 -extern(Windows) export DWORD GetTabbedTextExtentA( 4815 - HDC hDC, 4816 - LPCSTR lpString, 4817 - int nCount, 4818 - int nTabPositions, 4819 - INT *lpnTabStopPositions); 4820 -extern(Windows) export DWORD GetTabbedTextExtentW( 4821 - HDC hDC, 4822 - LPCWSTR lpString, 4823 - int nCount, 4824 - int nTabPositions, 4825 - INT *lpnTabStopPositions); 4826 -// #ifdef UNICODE 4827 -alias GetTabbedTextExtentW GetTabbedTextExtent; 4828 -// #else 4829 -// #... 4830 -// #endif // !UNICODE 4831 - 4832 -extern(Windows) export BOOL UpdateWindow( 4833 - HWND hWnd); 4834 - 4835 -extern(Windows) export HWND SetActiveWindow( 4836 - HWND hWnd); 4837 - 4838 -extern(Windows) export HWND GetForegroundWindow(); 4839 - 4840 -// #if(WINVER >= 0x0400) 4841 -extern(Windows) export BOOL PaintDesktop( 4842 - HDC hdc); 4843 - 4844 -// #endif /* WINVER >= 0x0400 */ 4845 - 4846 -extern(Windows) export BOOL SetForegroundWindow( 4847 - HWND hWnd); 4848 - 4849 -// #if(_WIN32_WINNT >= 0x0500) 4850 -extern(Windows) export BOOL AllowSetForegroundWindow( 4851 - DWORD dwProcessId); 4852 - 4853 -enum : DWORD { ASFW_ANY = cast(DWORD)-1 } 4854 - 4855 -extern(Windows) export BOOL LockSetForegroundWindow( 4856 - UINT uLockCode); 4857 - 4858 -enum : uint { LSFW_LOCK = 1 } 4859 -enum : uint { LSFW_UNLOCK = 2 } 4860 - 4861 -// #endif /* _WIN32_WINNT >= 0x0500 */ 4862 - 4863 -extern(Windows) export HWND WindowFromDC( 4864 - HDC hDC); 4865 - 4866 -extern(Windows) export HDC GetDC( 4867 - HWND hWnd); 4868 - 4869 -extern(Windows) export HDC GetDCEx( 4870 - HWND hWnd, 4871 - HRGN hrgnClip, 4872 - DWORD flags); 4873 - 4874 -enum : uint { DCX_WINDOW = 0x00000001 } 4875 -enum : uint { DCX_CACHE = 0x00000002 } 4876 -enum : uint { DCX_NORESETATTRS = 0x00000004 } 4877 -enum : uint { DCX_CLIPCHILDREN = 0x00000008 } 4878 -enum : uint { DCX_CLIPSIBLINGS = 0x00000010 } 4879 -enum : uint { DCX_PARENTCLIP = 0x00000020 } 4880 -enum : uint { DCX_EXCLUDERGN = 0x00000040 } 4881 -enum : uint { DCX_INTERSECTRGN = 0x00000080 } 4882 -enum : uint { DCX_EXCLUDEUPDATE = 0x00000100 } 4883 -enum : uint { DCX_INTERSECTUPDATE = 0x00000200 } 4884 -enum : uint { DCX_LOCKWINDOWUPDATE = 0x00000400 } 4885 - 4886 -enum : uint { DCX_VALIDATE = 0x00200000 } 4887 - 4888 -extern(Windows) export HDC GetWindowDC( 4889 - HWND hWnd); 4890 - 4891 -extern(Windows) export int ReleaseDC( 4892 - HWND hWnd, 4893 - HDC hDC); 4894 - 4895 -extern(Windows) export HDC BeginPaint( 4896 - HWND hWnd, 4897 - LPPAINTSTRUCT lpPaint); 4898 - 4899 -extern(Windows) export BOOL EndPaint( 4900 - HWND hWnd, 4901 - PAINTSTRUCT *lpPaint); 4902 - 4903 -extern(Windows) export BOOL GetUpdateRect( 4904 - HWND hWnd, 4905 - LPRECT lpRect, 4906 - BOOL bErase); 4907 - 4908 -extern(Windows) export int GetUpdateRgn( 4909 - HWND hWnd, 4910 - HRGN hRgn, 4911 - BOOL bErase); 4912 - 4913 -extern(Windows) export int SetWindowRgn( 4914 - HWND hWnd, 4915 - HRGN hRgn, 4916 - BOOL bRedraw); 4917 - 4918 -extern(Windows) export int GetWindowRgn( 4919 - HWND hWnd, 4920 - HRGN hRgn); 4921 - 4922 -// #if(_WIN32_WINNT >= 0x0501) 4923 - 4924 -extern(Windows) export int GetWindowRgnBox( 4925 - HWND hWnd, 4926 - LPRECT lprc); 4927 - 4928 -// #endif /* _WIN32_WINNT >= 0x0501 */ 4929 - 4930 -extern(Windows) export int ExcludeUpdateRgn( 4931 - HDC hDC, 4932 - HWND hWnd); 4933 - 4934 -extern(Windows) export BOOL InvalidateRect( 4935 - HWND hWnd, 4936 - RECT *lpRect, 4937 - BOOL bErase); 4938 - 4939 -extern(Windows) export BOOL ValidateRect( 4940 - HWND hWnd, 4941 - RECT *lpRect); 4942 - 4943 -extern(Windows) export BOOL InvalidateRgn( 4944 - HWND hWnd, 4945 - HRGN hRgn, 4946 - BOOL bErase); 4947 - 4948 -extern(Windows) export BOOL ValidateRgn( 4949 - HWND hWnd, 4950 - HRGN hRgn); 4951 - 4952 -extern(Windows) export BOOL RedrawWindow( 4953 - HWND hWnd, 4954 - RECT *lprcUpdate, 4955 - HRGN hrgnUpdate, 4956 - UINT flags); 4957 - 4958 -enum : uint { RDW_INVALIDATE = 0x0001 } 4959 -enum : uint { RDW_INTERNALPAINT = 0x0002 } 4960 -enum : uint { RDW_ERASE = 0x0004 } 4961 - 4962 -enum : uint { RDW_VALIDATE = 0x0008 } 4963 -enum : uint { RDW_NOINTERNALPAINT = 0x0010 } 4964 -enum : uint { RDW_NOERASE = 0x0020 } 4965 - 4966 -enum : uint { RDW_NOCHILDREN = 0x0040 } 4967 -enum : uint { RDW_ALLCHILDREN = 0x0080 } 4968 - 4969 -enum : uint { RDW_UPDATENOW = 0x0100 } 4970 -enum : uint { RDW_ERASENOW = 0x0200 } 4971 - 4972 -enum : uint { RDW_FRAME = 0x0400 } 4973 -enum : uint { RDW_NOFRAME = 0x0800 } 4974 - 4975 -extern(Windows) export BOOL LockWindowUpdate( 4976 - HWND hWndLock); 4977 - 4978 -extern(Windows) export BOOL ScrollWindow( 4979 - HWND hWnd, 4980 - int XAmount, 4981 - int YAmount, 4982 - RECT *lpRect, 4983 - RECT *lpClipRect); 4984 - 4985 -extern(Windows) export BOOL ScrollDC( 4986 - HDC hDC, 4987 - int dx, 4988 - int dy, 4989 - RECT *lprcScroll, 4990 - RECT *lprcClip, 4991 - HRGN hrgnUpdate, 4992 - LPRECT lprcUpdate); 4993 - 4994 -extern(Windows) export int ScrollWindowEx( 4995 - HWND hWnd, 4996 - int dx, 4997 - int dy, 4998 - RECT *prcScroll, 4999 - RECT *prcClip, 5000 - HRGN hrgnUpdate, 5001 - LPRECT prcUpdate, 5002 - UINT flags); 5003 - 5004 -enum : uint { SW_SCROLLCHILDREN = 0x0001 } 5005 -enum : uint { SW_INVALIDATE = 0x0002 } 5006 -enum : uint { SW_ERASE = 0x0004 } 5007 -// #if(WINVER >= 0x0500) 5008 -enum : uint { SW_SMOOTHSCROLL = 0x0010 } 5009 -// #endif /* WINVER >= 0x0500 */ 5010 - 5011 -// #ifndef NOSCROLL 5012 - 5013 -extern(Windows) export int SetScrollPos( 5014 - HWND hWnd, 5015 - int nBar, 5016 - int nPos, 5017 - BOOL bRedraw); 5018 - 5019 -extern(Windows) export int GetScrollPos( 5020 - HWND hWnd, 5021 - int nBar); 5022 - 5023 -extern(Windows) export BOOL SetScrollRange( 5024 - HWND hWnd, 5025 - int nBar, 5026 - int nMinPos, 5027 - int nMaxPos, 5028 - BOOL bRedraw); 5029 - 5030 -extern(Windows) export BOOL GetScrollRange( 5031 - HWND hWnd, 5032 - int nBar, 5033 - LPINT lpMinPos, 5034 - LPINT lpMaxPos); 5035 - 5036 -extern(Windows) export BOOL ShowScrollBar( 5037 - HWND hWnd, 5038 - int wBar, 5039 - BOOL bShow); 5040 - 5041 -extern(Windows) export BOOL EnableScrollBar( 5042 - HWND hWnd, 5043 - UINT wSBflags, 5044 - UINT wArrows); 5045 - 5046 -enum : uint { ESB_ENABLE_BOTH = 0x0000 } 5047 -enum : uint { ESB_DISABLE_BOTH = 0x0003 } 5048 - 5049 -enum : uint { ESB_DISABLE_LEFT = 0x0001 } 5050 -enum : uint { ESB_DISABLE_RIGHT = 0x0002 } 5051 - 5052 -enum : uint { ESB_DISABLE_UP = 0x0001 } 5053 -enum : uint { ESB_DISABLE_DOWN = 0x0002 } 5054 - 5055 -alias ESB_DISABLE_LEFT ESB_DISABLE_LTUP; 5056 -alias ESB_DISABLE_RIGHT ESB_DISABLE_RTDN; 5057 - 5058 -// #endif /* !NOSCROLL */ 5059 - 5060 -extern(Windows) export BOOL SetPropA( 5061 - HWND hWnd, 5062 - LPCSTR lpString, 5063 - HANDLE hData); 5064 -extern(Windows) export BOOL SetPropW( 5065 - HWND hWnd, 5066 - LPCWSTR lpString, 5067 - HANDLE hData); 5068 -// #ifdef UNICODE 5069 -alias SetPropW SetProp; 5070 -// #else 5071 -// #... 5072 -// #endif // !UNICODE 5073 - 5074 -extern(Windows) export HANDLE GetPropA( 5075 - HWND hWnd, 5076 - LPCSTR lpString); 5077 -extern(Windows) export HANDLE GetPropW( 5078 - HWND hWnd, 5079 - LPCWSTR lpString); 5080 -// #ifdef UNICODE 5081 -alias GetPropW GetProp; 5082 -// #else 5083 -// #... 5084 -// #endif // !UNICODE 5085 - 5086 -extern(Windows) export HANDLE RemovePropA( 5087 - HWND hWnd, 5088 - LPCSTR lpString); 5089 -extern(Windows) export HANDLE RemovePropW( 5090 - HWND hWnd, 5091 - LPCWSTR lpString); 5092 -// #ifdef UNICODE 5093 -alias RemovePropW RemoveProp; 5094 -// #else 5095 -// #... 5096 -// #endif // !UNICODE 5097 - 5098 -extern(Windows) export int EnumPropsExA( 5099 - HWND hWnd, 5100 - PROPENUMPROCEXA lpEnumFunc, 5101 - LPARAM lParam); 5102 -extern(Windows) export int EnumPropsExW( 5103 - HWND hWnd, 5104 - PROPENUMPROCEXW lpEnumFunc, 5105 - LPARAM lParam); 5106 -// #ifdef UNICODE 5107 -alias EnumPropsExW EnumPropsEx; 5108 -// #else 5109 -// #... 5110 -// #endif // !UNICODE 5111 - 5112 -extern(Windows) export int EnumPropsA( 5113 - HWND hWnd, 5114 - PROPENUMPROCA lpEnumFunc); 5115 -extern(Windows) export int EnumPropsW( 5116 - HWND hWnd, 5117 - PROPENUMPROCW lpEnumFunc); 5118 -// #ifdef UNICODE 5119 -alias EnumPropsW EnumProps; 5120 -// #else 5121 -// #... 5122 -// #endif // !UNICODE 5123 - 5124 -extern(Windows) export BOOL SetWindowTextA( 5125 - HWND hWnd, 5126 - LPCSTR lpString); 5127 -extern(Windows) export BOOL SetWindowTextW( 5128 - HWND hWnd, 5129 - LPCWSTR lpString); 5130 -// #ifdef UNICODE 5131 -alias SetWindowTextW SetWindowText; 5132 -// #else 5133 -// #... 5134 -// #endif // !UNICODE 5135 - 5136 -extern(Windows) export int GetWindowTextA( 5137 - HWND hWnd, 5138 - LPSTR lpString, 5139 - int nMaxCount); 5140 -extern(Windows) export int GetWindowTextW( 5141 - HWND hWnd, 5142 - LPWSTR lpString, 5143 - int nMaxCount); 5144 -// #ifdef UNICODE 5145 -alias GetWindowTextW GetWindowText; 5146 -// #else 5147 -// #... 5148 -// #endif // !UNICODE 5149 - 5150 -extern(Windows) export int GetWindowTextLengthA( 5151 - HWND hWnd); 5152 -extern(Windows) export int GetWindowTextLengthW( 5153 - HWND hWnd); 5154 -// #ifdef UNICODE 5155 -alias GetWindowTextLengthW GetWindowTextLength; 5156 -// #else 5157 -// #... 5158 -// #endif // !UNICODE 5159 - 5160 -extern(Windows) export BOOL GetClientRect( 5161 - HWND hWnd, 5162 - LPRECT lpRect); 5163 - 5164 -extern(Windows) export BOOL GetWindowRect( 5165 - HWND hWnd, 5166 - LPRECT lpRect); 5167 - 5168 -extern(Windows) export BOOL AdjustWindowRect( 5169 - LPRECT lpRect, 5170 - DWORD dwStyle, 5171 - BOOL bMenu); 5172 - 5173 -extern(Windows) export BOOL AdjustWindowRectEx( 5174 - LPRECT lpRect, 5175 - DWORD dwStyle, 5176 - BOOL bMenu, 5177 - DWORD dwExStyle); 5178 - 5179 -// #if(WINVER >= 0x0400) 5180 -enum : uint { HELPINFO_WINDOW = 0x0001 } 5181 -enum : uint { HELPINFO_MENUITEM = 0x0002 } 5182 -struct tagHELPINFO { 5183 - UINT cbSize; 5184 - int iContextType; 5185 - int iCtrlId; 5186 - HANDLE hItemHandle; 5187 - DWORD_PTR dwContextId; 5188 - POINT MousePos; 5189 -} 5190 -alias tagHELPINFO HELPINFO; 5191 -alias tagHELPINFO* LPHELPINFO; 5192 - 5193 -extern(Windows) export BOOL SetWindowContextHelpId( 5194 - HWND, 5195 - DWORD); 5196 - 5197 -extern(Windows) export DWORD GetWindowContextHelpId( 5198 - HWND); 5199 - 5200 -extern(Windows) export BOOL SetMenuContextHelpId( 5201 - HMENU, 5202 - DWORD); 5203 - 5204 -extern(Windows) export DWORD GetMenuContextHelpId( 5205 - HMENU); 5206 - 5207 -// #endif /* WINVER >= 0x0400 */ 5208 - 5209 -// #ifndef NOMB 5210 - 5211 -enum : uint { MB_OK = 0x00000000 } 5212 -enum : uint { MB_OKCANCEL = 0x00000001 } 5213 -enum : uint { MB_ABORTRETRYIGNORE = 0x00000002 } 5214 -enum : uint { MB_YESNOCANCEL = 0x00000003 } 5215 -enum : uint { MB_YESNO = 0x00000004 } 5216 -enum : uint { MB_RETRYCANCEL = 0x00000005 } 5217 -// #if(WINVER >= 0x0500) 5218 -enum : uint { MB_CANCELTRYCONTINUE = 0x00000006 } 5219 -// #endif /* WINVER >= 0x0500 */ 5220 - 5221 -enum : uint { MB_ICONHAND = 0x00000010 } 5222 -enum : uint { MB_ICONQUESTION = 0x00000020 } 5223 -enum : uint { MB_ICONEXCLAMATION = 0x00000030 } 5224 -enum : uint { MB_ICONASTERISK = 0x00000040 } 5225 - 5226 -// #if(WINVER >= 0x0400) 5227 -enum : uint { MB_USERICON = 0x00000080 } 5228 -alias MB_ICONEXCLAMATION MB_ICONWARNING; 5229 -alias MB_ICONHAND MB_ICONERROR; 5230 -// #endif /* WINVER >= 0x0400 */ 5231 - 5232 -alias MB_ICONASTERISK MB_ICONINFORMATION; 5233 -alias MB_ICONHAND MB_ICONSTOP; 5234 - 5235 -enum : uint { MB_DEFBUTTON1 = 0x00000000 } 5236 -enum : uint { MB_DEFBUTTON2 = 0x00000100 } 5237 -enum : uint { MB_DEFBUTTON3 = 0x00000200 } 5238 -// #if(WINVER >= 0x0400) 5239 -enum : uint { MB_DEFBUTTON4 = 0x00000300 } 5240 -// #endif /* WINVER >= 0x0400 */ 5241 - 5242 -enum : uint { MB_APPLMODAL = 0x00000000 } 5243 -enum : uint { MB_SYSTEMMODAL = 0x00001000 } 5244 -enum : uint { MB_TASKMODAL = 0x00002000 } 5245 -// #if(WINVER >= 0x0400) 5246 -enum : uint { MB_HELP = 0x00004000 } 5247 -// #endif /* WINVER >= 0x0400 */ 5248 - 5249 -enum : uint { MB_NOFOCUS = 0x00008000 } 5250 -enum : uint { MB_SETFOREGROUND = 0x00010000 } 5251 -enum : uint { MB_DEFAULT_DESKTOP_ONLY = 0x00020000 } 5252 - 5253 -// #if(WINVER >= 0x0400) 5254 -enum : uint { MB_TOPMOST = 0x00040000 } 5255 -enum : uint { MB_RIGHT = 0x00080000 } 5256 -enum : uint { MB_RTLREADING = 0x00100000 } 5257 - 5258 -// #endif /* WINVER >= 0x0400 */ 5259 - 5260 -// #ifdef _WIN32_WINNT 5261 -// #if (_WIN32_WINNT >= 0x0400) 5262 -enum : uint { MB_SERVICE_NOTIFICATION = 0x00200000 } 5263 -// #else 5264 -// #... 5265 -// #endif 5266 -enum : uint { MB_SERVICE_NOTIFICATION_NT3X = 0x00040000 } 5267 -// #endif 5268 - 5269 -enum : uint { MB_TYPEMASK = 0x0000000F } 5270 -enum : uint { MB_ICONMASK = 0x000000F0 } 5271 -enum : uint { MB_DEFMASK = 0x00000F00 } 5272 -enum : uint { MB_MODEMASK = 0x00003000 } 5273 -enum : uint { MB_MISCMASK = 0x0000C000 } 5274 - 5275 -extern(Windows) export int MessageBoxA( 5276 - HWND hWnd, 5277 - LPCSTR lpText, 5278 - LPCSTR lpCaption, 5279 - UINT uType); 5280 -extern(Windows) export int MessageBoxW( 5281 - HWND hWnd, 5282 - LPCWSTR lpText, 5283 - LPCWSTR lpCaption, 5284 - UINT uType); 5285 -// #ifdef UNICODE 5286 -alias MessageBoxW MessageBox; 5287 -// #else 5288 -// #... 5289 -// #endif // !UNICODE 5290 - 5291 -extern(Windows) export int MessageBoxExA( 5292 - HWND hWnd, 5293 - LPCSTR lpText, 5294 - LPCSTR lpCaption, 5295 - UINT uType, 5296 - WORD wLanguageId); 5297 -extern(Windows) export int MessageBoxExW( 5298 - HWND hWnd, 5299 - LPCWSTR lpText, 5300 - LPCWSTR lpCaption, 5301 - UINT uType, 5302 - WORD wLanguageId); 5303 -// #ifdef UNICODE 5304 -alias MessageBoxExW MessageBoxEx; 5305 -// #else 5306 -// #... 5307 -// #endif // !UNICODE 5308 - 5309 -// #if(WINVER >= 0x0400) 5310 - 5311 -extern(Windows) alias void function(LPHELPINFO lpHelpInfo) MSGBOXCALLBACK; 5312 - 5313 -struct tagMSGBOXPARAMSA { 5314 - UINT cbSize; 5315 - HWND hwndOwner; 5316 - HINSTANCE hInstance; 5317 - LPCSTR lpszText; 5318 - LPCSTR lpszCaption; 5319 - DWORD dwStyle; 5320 - LPCSTR lpszIcon; 5321 - DWORD_PTR dwContextHelpId; 5322 - MSGBOXCALLBACK lpfnMsgBoxCallback; 5323 - DWORD dwLanguageId; 5324 -} 5325 -alias tagMSGBOXPARAMSA MSGBOXPARAMSA; 5326 -alias tagMSGBOXPARAMSA* PMSGBOXPARAMSA; 5327 -alias tagMSGBOXPARAMSA* LPMSGBOXPARAMSA; 5328 - 5329 -struct tagMSGBOXPARAMSW { 5330 - UINT cbSize; 5331 - HWND hwndOwner; 5332 - HINSTANCE hInstance; 5333 - LPCWSTR lpszText; 5334 - LPCWSTR lpszCaption; 5335 - DWORD dwStyle; 5336 - LPCWSTR lpszIcon; 5337 - DWORD_PTR dwContextHelpId; 5338 - MSGBOXCALLBACK lpfnMsgBoxCallback; 5339 - DWORD dwLanguageId; 5340 -} 5341 -alias tagMSGBOXPARAMSW MSGBOXPARAMSW; 5342 -alias tagMSGBOXPARAMSW* PMSGBOXPARAMSW; 5343 -alias tagMSGBOXPARAMSW* LPMSGBOXPARAMSW; 5344 - 5345 -// #ifdef UNICODE 5346 -alias MSGBOXPARAMSW MSGBOXPARAMS; 5347 -alias PMSGBOXPARAMSW PMSGBOXPARAMS; 5348 -alias LPMSGBOXPARAMSW LPMSGBOXPARAMS; 5349 -// #else 5350 -// ... 5351 -// #endif // UNICODE 5352 - 5353 -extern(Windows) export int MessageBoxIndirectA( 5354 - MSGBOXPARAMSA *); 5355 -extern(Windows) export int MessageBoxIndirectW( 5356 - MSGBOXPARAMSW *); 5357 -// #ifdef UNICODE 5358 -alias MessageBoxIndirectW MessageBoxIndirect; 5359 -// #else 5360 -// #... 5361 -// #endif // !UNICODE 5362 -// #endif /* WINVER >= 0x0400 */ 5363 - 5364 -extern(Windows) export BOOL MessageBeep( 5365 - UINT uType); 5366 - 5367 -// #endif /* !NOMB */ 5368 - 5369 -extern(Windows) export int ShowCursor( 5370 - BOOL bShow); 5371 - 5372 -extern(Windows) export BOOL SetCursorPos( 5373 - int X, 5374 - int Y); 5375 - 5376 -extern(Windows) export HCURSOR SetCursor( 5377 - HCURSOR hCursor); 5378 - 5379 -extern(Windows) export BOOL GetCursorPos( 5380 - LPPOINT lpPoint); 5381 - 5382 -extern(Windows) export BOOL ClipCursor( 5383 - RECT *lpRect); 5384 - 5385 -extern(Windows) export BOOL GetClipCursor( 5386 - LPRECT lpRect); 5387 - 5388 -extern(Windows) export HCURSOR GetCursor(); 5389 - 5390 -extern(Windows) export BOOL CreateCaret( 5391 - HWND hWnd, 5392 - HBITMAP hBitmap, 5393 - int nWidth, 5394 - int nHeight); 5395 - 5396 -extern(Windows) export UINT GetCaretBlinkTime(); 5397 - 5398 -extern(Windows) export BOOL SetCaretBlinkTime( 5399 - UINT uMSeconds); 5400 - 5401 -extern(Windows) export BOOL DestroyCaret(); 5402 - 5403 -extern(Windows) export BOOL HideCaret( 5404 - HWND hWnd); 5405 - 5406 -extern(Windows) export BOOL ShowCaret( 5407 - HWND hWnd); 5408 - 5409 -extern(Windows) export BOOL SetCaretPos( 5410 - int X, 5411 - int Y); 5412 - 5413 -extern(Windows) export BOOL GetCaretPos( 5414 - LPPOINT lpPoint); 5415 - 5416 -extern(Windows) export BOOL ClientToScreen( 5417 - HWND hWnd, 5418 - LPPOINT lpPoint); 5419 - 5420 -extern(Windows) export BOOL ScreenToClient( 5421 - HWND hWnd, 5422 - LPPOINT lpPoint); 5423 - 5424 -extern(Windows) export int MapWindowPoints( 5425 - HWND hWndFrom, 5426 - HWND hWndTo, 5427 - LPPOINT lpPoints, 5428 - UINT cPoints); 5429 - 5430 -extern(Windows) export HWND WindowFromPoint( 5431 - POINT Point); 5432 - 5433 -extern(Windows) export HWND ChildWindowFromPoint( 5434 - HWND hWndParent, 5435 - POINT Point); 5436 - 5437 -// #if(WINVER >= 0x0400) 5438 -enum : uint { CWP_ALL = 0x0000 } 5439 -enum : uint { CWP_SKIPINVISIBLE = 0x0001 } 5440 -enum : uint { CWP_SKIPDISABLED = 0x0002 } 5441 -enum : uint { CWP_SKIPTRANSPARENT = 0x0004 } 5442 - 5443 -extern(Windows) export HWND ChildWindowFromPointEx(HWND, POINT, UINT); 5444 -// #endif /* WINVER >= 0x0400 */ 5445 - 5446 -// #ifndef NOCOLOR 5447 - 5448 -enum : uint { CTLCOLOR_MSGBOX = 0 } 5449 -enum : uint { CTLCOLOR_EDIT = 1 } 5450 -enum : uint { CTLCOLOR_LISTBOX = 2 } 5451 -enum : uint { CTLCOLOR_BTN = 3 } 5452 -enum : uint { CTLCOLOR_DLG = 4 } 5453 -enum : uint { CTLCOLOR_SCROLLBAR = 5 } 5454 -enum : uint { CTLCOLOR_STATIC = 6 } 5455 -enum : uint { CTLCOLOR_MAX = 7 } 5456 - 5457 -enum : uint { COLOR_SCROLLBAR = 0 } 5458 -enum : uint { COLOR_BACKGROUND = 1 } 5459 -enum : uint { COLOR_ACTIVECAPTION = 2 } 5460 -enum : uint { COLOR_INACTIVECAPTION = 3 } 5461 -enum : uint { COLOR_MENU = 4 } 5462 -enum : uint { COLOR_WINDOW = 5 } 5463 -enum : uint { COLOR_WINDOWFRAME = 6 } 5464 -enum : uint { COLOR_MENUTEXT = 7 } 5465 -enum : uint { COLOR_WINDOWTEXT = 8 } 5466 -enum : uint { COLOR_CAPTIONTEXT = 9 } 5467 -enum : uint { COLOR_ACTIVEBORDER = 10 } 5468 -enum : uint { COLOR_INACTIVEBORDER = 11 } 5469 -enum : uint { COLOR_APPWORKSPACE = 12 } 5470 -enum : uint { COLOR_HIGHLIGHT = 13 } 5471 -enum : uint { COLOR_HIGHLIGHTTEXT = 14 } 5472 -enum : uint { COLOR_BTNFACE = 15 } 5473 -enum : uint { COLOR_BTNSHADOW = 16 } 5474 -enum : uint { COLOR_GRAYTEXT = 17 } 5475 -enum : uint { COLOR_BTNTEXT = 18 } 5476 -enum : uint { COLOR_INACTIVECAPTIONTEXT = 19 } 5477 -enum : uint { COLOR_BTNHIGHLIGHT = 20 } 5478 - 5479 -// #if(WINVER >= 0x0400) 5480 -enum : uint { COLOR_3DDKSHADOW = 21 } 5481 -enum : uint { COLOR_3DLIGHT = 22 } 5482 -enum : uint { COLOR_INFOTEXT = 23 } 5483 -enum : uint { COLOR_INFOBK = 24 } 5484 -// #endif /* WINVER >= 0x0400 */ 5485 - 5486 -// #if(WINVER >= 0x0500) 5487 -enum : uint { COLOR_HOTLIGHT = 26 } 5488 -enum : uint { COLOR_GRADIENTACTIVECAPTION = 27 } 5489 -enum : uint { COLOR_GRADIENTINACTIVECAPTION = 28 } 5490 -// #if(WINVER >= 0x0501) 5491 -enum : uint { COLOR_MENUHILIGHT = 29 } 5492 -enum : uint { COLOR_MENUBAR = 30 } 5493 -// #endif /* WINVER >= 0x0501 */ 5494 -// #endif /* WINVER >= 0x0500 */ 5495 - 5496 -// #if(WINVER >= 0x0400) 5497 -alias COLOR_BACKGROUND COLOR_DESKTOP; 5498 -alias COLOR_BTNFACE COLOR_3DFACE; 5499 -alias COLOR_BTNSHADOW COLOR_3DSHADOW; 5500 -alias COLOR_BTNHIGHLIGHT COLOR_3DHIGHLIGHT; 5501 -alias COLOR_BTNHIGHLIGHT COLOR_3DHILIGHT; 5502 -alias COLOR_BTNHIGHLIGHT COLOR_BTNHILIGHT; 5503 -// #endif /* WINVER >= 0x0400 */ 5504 - 5505 -extern(Windows) export DWORD GetSysColor( 5506 - int nIndex); 5507 - 5508 -// #if(WINVER >= 0x0400) 5509 -extern(Windows) export HBRUSH GetSysColorBrush( 5510 - int nIndex); 5511 - 5512 -// #endif /* WINVER >= 0x0400 */ 5513 - 5514 -extern(Windows) export BOOL SetSysColors( 5515 - int cElements, 5516 - INT * lpaElements, 5517 - COLORREF * lpaRgbValues); 5518 - 5519 -// #endif /* !NOCOLOR */ 5520 - 5521 -extern(Windows) export BOOL DrawFocusRect( 5522 - HDC hDC, 5523 - RECT * lprc); 5524 - 5525 -extern(Windows) export int FillRect( 5526 - HDC hDC, 5527 - RECT *lprc, 5528 - HBRUSH hbr); 5529 - 5530 -extern(Windows) export int FrameRect( 5531 - HDC hDC, 5532 - RECT *lprc, 5533 - HBRUSH hbr); 5534 - 5535 -extern(Windows) export BOOL InvertRect( 5536 - HDC hDC, 5537 - RECT *lprc); 5538 - 5539 -extern(Windows) export BOOL SetRect( 5540 - LPRECT lprc, 5541 - int xLeft, 5542 - int yTop, 5543 - int xRight, 5544 - int yBottom); 5545 - 5546 -extern(Windows) export BOOL SetRectEmpty( 5547 - LPRECT lprc); 5548 - 5549 -extern(Windows) export BOOL CopyRect( 5550 - LPRECT lprcDst, 5551 - RECT *lprcSrc); 5552 - 5553 -extern(Windows) export BOOL InflateRect( 5554 - LPRECT lprc, 5555 - int dx, 5556 - int dy); 5557 - 5558 -extern(Windows) export BOOL IntersectRect( 5559 - LPRECT lprcDst, 5560 - RECT *lprcSrc1, 5561 - RECT *lprcSrc2); 5562 - 5563 -extern(Windows) export BOOL UnionRect( 5564 - LPRECT lprcDst, 5565 - RECT *lprcSrc1, 5566 - RECT *lprcSrc2); 5567 - 5568 -extern(Windows) export BOOL SubtractRect( 5569 - LPRECT lprcDst, 5570 - RECT *lprcSrc1, 5571 - RECT *lprcSrc2); 5572 - 5573 -extern(Windows) export BOOL OffsetRect( 5574 - LPRECT lprc, 5575 - int dx, 5576 - int dy); 5577 - 5578 -extern(Windows) export BOOL IsRectEmpty( 5579 - RECT *lprc); 5580 - 5581 -extern(Windows) export BOOL EqualRect( 5582 - RECT *lprc1, 5583 - RECT *lprc2); 5584 - 5585 -extern(Windows) export BOOL PtInRect( 5586 - RECT *lprc, 5587 - POINT pt); 5588 - 5589 -// #ifndef NOWINOFFSETS 5590 - 5591 -extern(Windows) export WORD GetWindowWord( 5592 - HWND hWnd, 5593 - int nIndex); 5594 - 5595 -extern(Windows) export WORD SetWindowWord( 5596 - HWND hWnd, 5597 - int nIndex, 5598 - WORD wNewWord); 5599 - 5600 -extern(Windows) export LONG GetWindowLongA( 5601 - HWND hWnd, 5602 - int nIndex); 5603 -extern(Windows) export LONG GetWindowLongW( 5604 - HWND hWnd, 5605 - int nIndex); 5606 -// #ifdef UNICODE 5607 -alias GetWindowLongW GetWindowLong; 5608 -// #else 5609 -// #... 5610 -// #endif // !UNICODE 5611 - 5612 -extern(Windows) export LONG SetWindowLongA( 5613 - HWND hWnd, 5614 - int nIndex, 5615 - LONG dwNewLong); 5616 -extern(Windows) export LONG SetWindowLongW( 5617 - HWND hWnd, 5618 - int nIndex, 5619 - LONG dwNewLong); 5620 -// #ifdef UNICODE 5621 -alias SetWindowLongW SetWindowLong; 5622 -// #else 5623 -// #... 5624 -// #endif // !UNICODE 5625 - 5626 -// #ifdef _WIN64 5627 - 5628 -// ... 5629 -// #ifdef UNICODE 5630 -// #... 5631 -// #else 5632 -// #... 5633 -// #endif // !UNICODE 5634 - 5635 -// ... 5636 -// #ifdef UNICODE 5637 -// #... 5638 -// #else 5639 -// #... 5640 -// #endif // !UNICODE 5641 - 5642 -// #else /* _WIN64 */ 5643 - 5644 -alias GetWindowLongA GetWindowLongPtrA; 5645 -alias GetWindowLongW GetWindowLongPtrW; 5646 -// #ifdef UNICODE 5647 -alias GetWindowLongPtrW GetWindowLongPtr; 5648 -// #else 5649 -// #... 5650 -// #endif // !UNICODE 5651 - 5652 -alias SetWindowLongA SetWindowLongPtrA; 5653 -alias SetWindowLongW SetWindowLongPtrW; 5654 -// #ifdef UNICODE 5655 -alias SetWindowLongPtrW SetWindowLongPtr; 5656 -// #else 5657 -// #... 5658 -// #endif // !UNICODE 5659 - 5660 -// #endif /* _WIN64 */ 5661 - 5662 -extern(Windows) export WORD GetClassWord( 5663 - HWND hWnd, 5664 - int nIndex); 5665 - 5666 -extern(Windows) export WORD SetClassWord( 5667 - HWND hWnd, 5668 - int nIndex, 5669 - WORD wNewWord); 5670 - 5671 -extern(Windows) export DWORD GetClassLongA( 5672 - HWND hWnd, 5673 - int nIndex); 5674 -extern(Windows) export DWORD GetClassLongW( 5675 - HWND hWnd, 5676 - int nIndex); 5677 -// #ifdef UNICODE 5678 -alias GetClassLongW GetClassLong; 5679 -// #else 5680 -// #... 5681 -// #endif // !UNICODE 5682 - 5683 -extern(Windows) export DWORD SetClassLongA( 5684 - HWND hWnd, 5685 - int nIndex, 5686 - LONG dwNewLong); 5687 -extern(Windows) export DWORD SetClassLongW( 5688 - HWND hWnd, 5689 - int nIndex, 5690 - LONG dwNewLong); 5691 -// #ifdef UNICODE 5692 -alias SetClassLongW SetClassLong; 5693 -// #else 5694 -// #... 5695 -// #endif // !UNICODE 5696 - 5697 -// #ifdef _WIN64 5698 - 5699 -// ... 5700 -// #ifdef UNICODE 5701 -// #... 5702 -// #else 5703 -// #... 5704 -// #endif // !UNICODE 5705 - 5706 -// ... 5707 -// #ifdef UNICODE 5708 -// #... 5709 -// #else 5710 -// #... 5711 -// #endif // !UNICODE 5712 - 5713 -// #else /* _WIN64 */ 5714 - 5715 -alias GetClassLongA GetClassLongPtrA; 5716 -alias GetClassLongW GetClassLongPtrW; 5717 -// #ifdef UNICODE 5718 -alias GetClassLongPtrW GetClassLongPtr; 5719 -// #else 5720 -// #... 5721 -// #endif // !UNICODE 5722 - 5723 -alias SetClassLongA SetClassLongPtrA; 5724 -alias SetClassLongW SetClassLongPtrW; 5725 -// #ifdef UNICODE 5726 -alias SetClassLongPtrW SetClassLongPtr; 5727 -// #else 5728 -// #... 5729 -// #endif // !UNICODE 5730 - 5731 -// #endif /* _WIN64 */ 5732 - 5733 -// #endif /* !NOWINOFFSETS */ 5734 - 5735 -// #if(WINVER >= 0x0500) 5736 -extern(Windows) export BOOL GetProcessDefaultLayout( 5737 - DWORD *pdwDefaultLayout); 5738 - 5739 -extern(Windows) export BOOL SetProcessDefaultLayout( 5740 - DWORD dwDefaultLayout); 5741 -// #endif /* WINVER >= 0x0500 */ 5742 - 5743 -extern(Windows) export HWND GetDesktopWindow(); 5744 - 5745 -extern(Windows) export HWND GetParent( 5746 - HWND hWnd); 5747 - 5748 -extern(Windows) export HWND SetParent( 5749 - HWND hWndChild, 5750 - HWND hWndNewParent); 5751 - 5752 -extern(Windows) export BOOL EnumChildWindows( 5753 - HWND hWndParent, 5754 - WNDENUMPROC lpEnumFunc, 5755 - LPARAM lParam); 5756 - 5757 -extern(Windows) export HWND FindWindowA( 5758 - LPCSTR lpClassName, 5759 - LPCSTR lpWindowName); 5760 -extern(Windows) export HWND FindWindowW( 5761 - LPCWSTR lpClassName, 5762 - LPCWSTR lpWindowName); 5763 -// #ifdef UNICODE 5764 -alias FindWindowW FindWindow; 5765 -// #else 5766 -// #... 5767 -// #endif // !UNICODE 5768 - 5769 -// #if(WINVER >= 0x0400) 5770 -extern(Windows) export HWND FindWindowExA(HWND, HWND, LPCSTR, LPCSTR); 5771 -extern(Windows) export HWND FindWindowExW(HWND, HWND, LPCWSTR, LPCWSTR); 5772 -// #ifdef UNICODE 5773 -alias FindWindowExW FindWindowEx; 5774 -// #else 5775 -// #... 5776 -// #endif // !UNICODE 5777 - 5778 -// #endif /* WINVER >= 0x0400 */ 5779 - 5780 -extern(Windows) export BOOL EnumWindows( 5781 - WNDENUMPROC lpEnumFunc, 5782 - LPARAM lParam); 5783 - 5784 -extern(Windows) export BOOL EnumThreadWindows( 5785 - DWORD dwThreadId, 5786 - WNDENUMPROC lpfn, 5787 - LPARAM lParam); 5788 - 5789 -// #define EnumTaskWindows(hTask, lpfn, lParam) EnumThreadWindows(HandleToUlong(hTask), lpfn, lParam) 5790 - 5791 -extern(Windows) export int GetClassNameA( 5792 - HWND hWnd, 5793 - LPSTR lpClassName, 5794 - int nMaxCount); 5795 -extern(Windows) export int GetClassNameW( 5796 - HWND hWnd, 5797 - LPWSTR lpClassName, 5798 - int nMaxCount); 5799 -// #ifdef UNICODE 5800 -alias GetClassNameW GetClassName; 5801 -// #else 5802 -// #... 5803 -// #endif // !UNICODE 5804 - 5805 -extern(Windows) export HWND GetTopWindow( 5806 - HWND hWnd); 5807 - 5808 -// #define GetNextWindow(hWnd, wCmd) GetWindow(hWnd, wCmd) 5809 -// #define GetSysModalWindow() (NULL) 5810 -// #define SetSysModalWindow(hWnd) (NULL) 5811 - 5812 -extern(Windows) export DWORD GetWindowThreadProcessId( 5813 - HWND hWnd, 5814 - LPDWORD lpdwProcessId); 5815 - 5816 -// #if(_WIN32_WINNT >= 0x0501) 5817 -extern(Windows) export BOOL IsGUIThread( 5818 - BOOL bConvert); 5819 - 5820 -// #endif /* _WIN32_WINNT >= 0x0501 */ 5821 - 5822 -// #define GetWindowTask(hWnd) ((HANDLE)(DWORD_PTR)GetWindowThreadProcessId(hWnd, NULL)) 5823 - 5824 -extern(Windows) export HWND GetLastActivePopup( 5825 - HWND hWnd); 5826 - 5827 -enum : uint { GW_HWNDFIRST = 0 } 5828 -enum : uint { GW_HWNDLAST = 1 } 5829 -enum : uint { GW_HWNDNEXT = 2 } 5830 -enum : uint { GW_HWNDPREV = 3 } 5831 -enum : uint { GW_OWNER = 4 } 5832 -enum : uint { GW_CHILD = 5 } 5833 -// #if(WINVER <= 0x0400) 5834 -// #... 5835 -// #else 5836 -enum : uint { GW_ENABLEDPOPUP = 6 } 5837 -enum : uint { GW_MAX = 6 } 5838 -// #endif 5839 - 5840 -extern(Windows) export HWND GetWindow( 5841 - HWND hWnd, 5842 - UINT uCmd); 5843 - 5844 -// #ifndef NOWH 5845 - 5846 -// #ifdef STRICT 5847 - 5848 -extern(Windows) export HHOOK SetWindowsHookA( 5849 - int nFilterType, 5850 - HOOKPROC pfnFilterProc); 5851 -extern(Windows) export HHOOK SetWindowsHookW( 5852 - int nFilterType, 5853 - HOOKPROC pfnFilterProc); 5854 -// #ifdef UNICODE 5855 -alias SetWindowsHookW SetWindowsHook; 5856 -// #else 5857 -// #... 5858 -// #endif // !UNICODE 5859 - 5860 -// #else /* !STRICT */ 5861 - 5862 -// ... 5863 -// #ifdef UNICODE 5864 -// #... 5865 -// #else 5866 -// #... 5867 -// #endif // !UNICODE 5868 - 5869 -// #endif /* !STRICT */ 5870 - 5871 -extern(Windows) export BOOL UnhookWindowsHook( 5872 - int nCode, 5873 - HOOKPROC pfnFilterProc); 5874 - 5875 -extern(Windows) export HHOOK SetWindowsHookExA( 5876 - int idHook, 5877 - HOOKPROC lpfn, 5878 - HINSTANCE hmod, 5879 - DWORD dwThreadId); 5880 -extern(Windows) export HHOOK SetWindowsHookExW( 5881 - int idHook, 5882 - HOOKPROC lpfn, 5883 - HINSTANCE hmod, 5884 - DWORD dwThreadId); 5885 -// #ifdef UNICODE 5886 -alias SetWindowsHookExW SetWindowsHookEx; 5887 -// #else 5888 -// #... 5889 -// #endif // !UNICODE 5890 - 5891 -extern(Windows) export BOOL UnhookWindowsHookEx( 5892 - HHOOK hhk); 5893 - 5894 -extern(Windows) export LRESULT CallNextHookEx( 5895 - HHOOK hhk, 5896 - int nCode, 5897 - WPARAM wParam, 5898 - LPARAM lParam); 5899 - 5900 -// #ifdef STRICT 5901 -// #define DefHookProc(nCode, wParam, lParam, phhk) CallNextHookEx(*phhk, nCode, wParam, lParam) 5902 -// #else 5903 -// #... 5904 -// ... 5905 -// #endif /* STRICT */ 5906 -// #endif /* !NOWH */ 5907 - 5908 -// #ifndef NOMENUS 5909 - 5910 -enum : uint { MF_INSERT = 0x00000000 } 5911 -enum : uint { MF_CHANGE = 0x00000080 } 5912 -enum : uint { MF_APPEND = 0x00000100 } 5913 -enum : uint { MF_DELETE = 0x00000200 } 5914 -enum : uint { MF_REMOVE = 0x00001000 } 5915 - 5916 -enum : uint { MF_BYCOMMAND = 0x00000000 } 5917 -enum : uint { MF_BYPOSITION = 0x00000400 } 5918 - 5919 -enum : uint { MF_SEPARATOR = 0x00000800 } 5920 - 5921 -enum : uint { MF_ENABLED = 0x00000000 } 5922 -enum : uint { MF_GRAYED = 0x00000001 } 5923 -enum : uint { MF_DISABLED = 0x00000002 } 5924 - 5925 -enum : uint { MF_UNCHECKED = 0x00000000 } 5926 -enum : uint { MF_CHECKED = 0x00000008 } 5927 -enum : uint { MF_USECHECKBITMAPS = 0x00000200 } 5928 - 5929 -enum : uint { MF_STRING = 0x00000000 } 5930 -enum : uint { MF_BITMAP = 0x00000004 } 5931 -enum : uint { MF_OWNERDRAW = 0x00000100 } 5932 - 5933 -enum : uint { MF_POPUP = 0x00000010 } 5934 -enum : uint { MF_MENUBARBREAK = 0x00000020 } 5935 -enum : uint { MF_MENUBREAK = 0x00000040 } 5936 - 5937 -enum : uint { MF_UNHILITE = 0x00000000 } 5938 -enum : uint { MF_HILITE = 0x00000080 } 5939 - 5940 -// #if(WINVER >= 0x0400) 5941 -enum : uint { MF_DEFAULT = 0x00001000 } 5942 -// #endif /* WINVER >= 0x0400 */ 5943 -enum : uint { MF_SYSMENU = 0x00002000 } 5944 -enum : uint { MF_HELP = 0x00004000 } 5945 -// #if(WINVER >= 0x0400) 5946 -enum : uint { MF_RIGHTJUSTIFY = 0x00004000 } 5947 -// #endif /* WINVER >= 0x0400 */ 5948 - 5949 -enum : uint { MF_MOUSESELECT = 0x00008000 } 5950 -// #if(WINVER >= 0x0400) 5951 -enum : uint { MF_END = 0x00000080 } 5952 -// #endif /* WINVER >= 0x0400 */ 5953 - 5954 -// #if(WINVER >= 0x0400) 5955 -alias MF_STRING MFT_STRING; 5956 -alias MF_BITMAP MFT_BITMAP; 5957 -alias MF_MENUBARBREAK MFT_MENUBARBREAK; 5958 -alias MF_MENUBREAK MFT_MENUBREAK; 5959 -alias MF_OWNERDRAW MFT_OWNERDRAW; 5960 -enum : uint { MFT_RADIOCHECK = 0x00000200 } 5961 -alias MF_SEPARATOR MFT_SEPARATOR; 5962 -enum : uint { MFT_RIGHTORDER = 0x00002000 } 5963 -alias MF_RIGHTJUSTIFY MFT_RIGHTJUSTIFY; 5964 - 5965 -enum : uint { MFS_GRAYED = 0x00000003 } 5966 -alias MFS_GRAYED MFS_DISABLED; 5967 -alias MF_CHECKED MFS_CHECKED; 5968 -alias MF_HILITE MFS_HILITE; 5969 -alias MF_ENABLED MFS_ENABLED; 5970 -alias MF_UNCHECKED MFS_UNCHECKED; 5971 -alias MF_UNHILITE MFS_UNHILITE; 5972 -alias MF_DEFAULT MFS_DEFAULT; 5973 -// #endif /* WINVER >= 0x0400 */ 5974 - 5975 -// #if(WINVER >= 0x0400) 5976 - 5977 -extern(Windows) export BOOL CheckMenuRadioItem( 5978 - HMENU, 5979 - UINT, 5980 - UINT, 5981 - UINT, 5982 - UINT); 5983 -// #endif /* WINVER >= 0x0400 */ 5984 - 5985 -struct _4 { 5986 - WORD versionNumber; 5987 - WORD offset; 5988 -} 5989 -alias _4 MENUITEMTEMPLATEHEADER; 5990 -alias _4* PMENUITEMTEMPLATEHEADER; 5991 - 5992 -struct _5 { 5993 - WORD mtOption; 5994 - WORD mtID; 5995 - WCHAR mtString[1]; 5996 -} 5997 -alias _5 MENUITEMTEMPLATE; 5998 -alias _5* PMENUITEMTEMPLATE; 5999 - 6000 -// skip #define MF_END 0x00000080L 6001 - 6002 -// #endif /* !NOMENUS */ 6003 - 6004 -// #ifndef NOSYSCOMMANDS 6005 - 6006 -enum : uint { SC_SIZE = 0xF000 } 6007 -enum : uint { SC_MOVE = 0xF010 } 6008 -enum : uint { SC_MINIMIZE = 0xF020 } 6009 -enum : uint { SC_MAXIMIZE = 0xF030 } 6010 -enum : uint { SC_NEXTWINDOW = 0xF040 } 6011 -enum : uint { SC_PREVWINDOW = 0xF050 } 6012 -enum : uint { SC_CLOSE = 0xF060 } 6013 -enum : uint { SC_VSCROLL = 0xF070 } 6014 -enum : uint { SC_HSCROLL = 0xF080 } 6015 -enum : uint { SC_MOUSEMENU = 0xF090 } 6016 -enum : uint { SC_KEYMENU = 0xF100 } 6017 -enum : uint { SC_ARRANGE = 0xF110 } 6018 -enum : uint { SC_RESTORE = 0xF120 } 6019 -enum : uint { SC_TASKLIST = 0xF130 } 6020 -enum : uint { SC_SCREENSAVE = 0xF140 } 6021 -enum : uint { SC_HOTKEY = 0xF150 } 6022 -// #if(WINVER >= 0x0400) 6023 -enum : uint { SC_DEFAULT = 0xF160 } 6024 -enum : uint { SC_MONITORPOWER = 0xF170 } 6025 -enum : uint { SC_CONTEXTHELP = 0xF180 } 6026 -enum : uint { SC_SEPARATOR = 0xF00F } 6027 -// #endif /* WINVER >= 0x0400 */ 6028 - 6029 -alias SC_MINIMIZE SC_ICON; 6030 -alias SC_MAXIMIZE SC_ZOOM; 6031 - 6032 -// #endif /* !NOSYSCOMMANDS */ 6033 - 6034 -extern(Windows) export HBITMAP LoadBitmapA( 6035 - HINSTANCE hInstance, 6036 - LPCSTR lpBitmapName); 6037 -extern(Windows) export HBITMAP LoadBitmapW( 6038 - HINSTANCE hInstance, 6039 - LPCWSTR lpBitmapName); 6040 -// #ifdef UNICODE 6041 -alias LoadBitmapW LoadBitmap; 6042 -// #else 6043 -// #... 6044 -// #endif // !UNICODE 6045 - 6046 -extern(Windows) export HCURSOR LoadCursorA( 6047 - HINSTANCE hInstance, 6048 - LPCSTR lpCursorName); 6049 -extern(Windows) export HCURSOR LoadCursorW( 6050 - HINSTANCE hInstance, 6051 - LPCWSTR lpCursorName); 6052 -// #ifdef UNICODE 6053 -alias LoadCursorW LoadCursor; 6054 -// #else 6055 -// #... 6056 -// #endif // !UNICODE 6057 - 6058 -extern(Windows) export HCURSOR LoadCursorFromFileA( 6059 - LPCSTR lpFileName); 6060 -extern(Windows) export HCURSOR LoadCursorFromFileW( 6061 - LPCWSTR lpFileName); 6062 -// #ifdef UNICODE 6063 -alias LoadCursorFromFileW LoadCursorFromFile; 6064 -// #else 6065 -// #... 6066 -// #endif // !UNICODE 6067 - 6068 -extern(Windows) export HCURSOR CreateCursor( 6069 - HINSTANCE hInst, 6070 - int xHotSpot, 6071 - int yHotSpot, 6072 - int nWidth, 6073 - int nHeight, 6074 - VOID *pvANDPlane, 6075 - VOID *pvXORPlane); 6076 - 6077 -extern(Windows) export BOOL DestroyCursor( 6078 - HCURSOR hCursor); 6079 - 6080 -// #ifndef _MAC 6081 -alias CopyIcon CopyCursor; 6082 -// #else 6083 -// ... 6084 -// #endif 6085 - 6086 -const LPTSTR IDC_ARROW = cast(LPTSTR)(32512); 6087 -const LPTSTR IDC_IBEAM = cast(LPTSTR)(32513); 6088 -const LPTSTR IDC_WAIT = cast(LPTSTR)(32514); 6089 -const LPTSTR IDC_CROSS = cast(LPTSTR)(32515); 6090 -const LPTSTR IDC_UPARROW = cast(LPTSTR)(32516); 6091 -const LPTSTR IDC_SIZE = cast(LPTSTR)(32640); 6092 -const LPTSTR IDC_ICON = cast(LPTSTR)(32641); 6093 -const LPTSTR IDC_SIZENWSE = cast(LPTSTR)(32642); 6094 -const LPTSTR IDC_SIZENESW = cast(LPTSTR)(32643); 6095 -const LPTSTR IDC_SIZEWE = cast(LPTSTR)(32644); 6096 -const LPTSTR IDC_SIZENS = cast(LPTSTR)(32645); 6097 -const LPTSTR IDC_SIZEALL = cast(LPTSTR)(32646); 6098 -const LPTSTR IDC_NO = cast(LPTSTR)(32648); 6099 -// #if(WINVER >= 0x0500) 6100 -const LPTSTR IDC_HAND = cast(LPTSTR)(32649); 6101 -// #endif /* WINVER >= 0x0500 */ 6102 -const LPTSTR IDC_APPSTARTING = cast(LPTSTR)(32650); 6103 -// #if(WINVER >= 0x0400) 6104 -const LPTSTR IDC_HELP = cast(LPTSTR)(32651); 6105 -// #endif /* WINVER >= 0x0400 */ 6106 - 6107 -extern(Windows) export BOOL SetSystemCursor( 6108 - HCURSOR hcur, 6109 - DWORD id); 6110 - 6111 -struct _ICONINFO { 6112 - BOOL fIcon; 6113 - DWORD xHotspot; 6114 - DWORD yHotspot; 6115 - HBITMAP hbmMask; 6116 - HBITMAP hbmColor; 6117 -} 6118 -alias _ICONINFO ICONINFO; 6119 - 6120 -alias ICONINFO* PICONINFO; 6121 - 6122 -extern(Windows) export HICON LoadIconA( 6123 - HINSTANCE hInstance, 6124 - LPCSTR lpIconName); 6125 -extern(Windows) export HICON LoadIconW( 6126 - HINSTANCE hInstance, 6127 - LPCWSTR lpIconName); 6128 -// #ifdef UNICODE 6129 -alias LoadIconW LoadIcon; 6130 -// #else 6131 -// #... 6132 -// #endif // !UNICODE 6133 - 6134 -extern(Windows) export HICON CreateIcon( 6135 - HINSTANCE hInstance, 6136 - int nWidth, 6137 - int nHeight, 6138 - BYTE cPlanes, 6139 - BYTE cBitsPixel, 6140 - BYTE *lpbANDbits, 6141 - BYTE *lpbXORbits); 6142 - 6143 -extern(Windows) export BOOL DestroyIcon( 6144 - HICON hIcon); 6145 - 6146 -extern(Windows) export int LookupIconIdFromDirectory( 6147 - PBYTE presbits, 6148 - BOOL fIcon); 6149 - 6150 -// #if(WINVER >= 0x0400) 6151 -extern(Windows) export int LookupIconIdFromDirectoryEx( 6152 - PBYTE presbits, 6153 - BOOL fIcon, 6154 - int cxDesired, 6155 - int cyDesired, 6156 - UINT Flags); 6157 -// #endif /* WINVER >= 0x0400 */ 6158 - 6159 -extern(Windows) export HICON CreateIconFromResource( 6160 - PBYTE presbits, 6161 - DWORD dwResSize, 6162 - BOOL fIcon, 6163 - DWORD dwVer); 6164 - 6165 -// #if(WINVER >= 0x0400) 6166 -extern(Windows) export HICON CreateIconFromResourceEx( 6167 - PBYTE presbits, 6168 - DWORD dwResSize, 6169 - BOOL fIcon, 6170 - DWORD dwVer, 6171 - int cxDesired, 6172 - int cyDesired, 6173 - UINT Flags); 6174 - 6175 -struct tagCURSORSHAPE { 6176 - int xHotSpot; 6177 - int yHotSpot; 6178 - int cx; 6179 - int cy; 6180 - int cbWidth; 6181 - BYTE Planes; 6182 - BYTE BitsPixel; 6183 -} 6184 -alias tagCURSORSHAPE CURSORSHAPE; 6185 -alias tagCURSORSHAPE* LPCURSORSHAPE; 6186 - 6187 -// #endif /* WINVER >= 0x0400 */ 6188 - 6189 -enum : uint { IMAGE_BITMAP = 0 } 6190 -enum : uint { IMAGE_ICON = 1 } 6191 -enum : uint { IMAGE_CURSOR = 2 } 6192 -// #if(WINVER >= 0x0400) 6193 -enum : uint { IMAGE_ENHMETAFILE = 3 } 6194 - 6195 -enum : uint { LR_DEFAULTCOLOR = 0x0000 } 6196 -enum : uint { LR_MONOCHROME = 0x0001 } 6197 -enum : uint { LR_COLOR = 0x0002 } 6198 -enum : uint { LR_COPYRETURNORG = 0x0004 } 6199 -enum : uint { LR_COPYDELETEORG = 0x0008 } 6200 -enum : uint { LR_LOADFROMFILE = 0x0010 } 6201 -enum : uint { LR_LOADTRANSPARENT = 0x0020 } 6202 -enum : uint { LR_DEFAULTSIZE = 0x0040 } 6203 -enum : uint { LR_VGACOLOR = 0x0080 } 6204 -enum : uint { LR_LOADMAP3DCOLORS = 0x1000 } 6205 -enum : uint { LR_CREATEDIBSECTION = 0x2000 } 6206 -enum : uint { LR_COPYFROMRESOURCE = 0x4000 } 6207 -enum : uint { LR_SHARED = 0x8000 } 6208 - 6209 -extern(Windows) export HANDLE LoadImageA( 6210 - HINSTANCE, 6211 - LPCSTR, 6212 - UINT, 6213 - int, 6214 - int, 6215 - UINT); 6216 -extern(Windows) export HANDLE LoadImageW( 6217 - HINSTANCE, 6218 - LPCWSTR, 6219 - UINT, 6220 - int, 6221 - int, 6222 - UINT); 6223 -// #ifdef UNICODE 6224 -alias LoadImageW LoadImage; 6225 -// #else 6226 -// #... 6227 -// #endif // !UNICODE 6228 - 6229 -extern(Windows) export HANDLE CopyImage( 6230 - HANDLE, 6231 - UINT, 6232 - int, 6233 - int, 6234 - UINT); 6235 - 6236 -enum : uint { DI_MASK = 0x0001 } 6237 -enum : uint { DI_IMAGE = 0x0002 } 6238 -enum : uint { DI_NORMAL = 0x0003 } 6239 -enum : uint { DI_COMPAT = 0x0004 } 6240 -enum : uint { DI_DEFAULTSIZE = 0x0008 } 6241 -// #if(_WIN32_WINNT >= 0x0501) 6242 -enum : uint { DI_NOMIRROR = 0x0010 } 6243 -// #endif /* _WIN32_WINNT >= 0x0501 */ 6244 - 6245 -extern(Windows) export BOOL DrawIconEx(HDC hdc, int xLeft, int yTop, 6246 - HICON hIcon, int cxWidth, int cyWidth, 6247 - UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); 6248 -// #endif /* WINVER >= 0x0400 */ 6249 - 6250 -extern(Windows) export HICON CreateIconIndirect( 6251 - PICONINFO piconinfo); 6252 - 6253 -extern(Windows) export HICON CopyIcon( 6254 - HICON hIcon); 6255 - 6256 -extern(Windows) export BOOL GetIconInfo( 6257 - HICON hIcon, 6258 - PICONINFO piconinfo); 6259 - 6260 -// #if(WINVER >= 0x0400) 6261 -enum : uint { RES_ICON = 1 } 6262 -enum : uint { RES_CURSOR = 2 } 6263 -// #endif /* WINVER >= 0x0400 */ 6264 - 6265 -// #ifdef OEMRESOURCE 6266 - 6267 -// #... 6268 -// #... 6269 -// #... 6270 -// #... 6271 -// #... 6272 -// #... 6273 -// #... 6274 -// #... 6275 -// #... 6276 -// #... 6277 -// #... 6278 -// #... 6279 -// #... 6280 -// #... 6281 -// #... 6282 -// #... 6283 -// #... 6284 -// #... 6285 -// #... 6286 -// #... 6287 -// #... 6288 - 6289 -// #... 6290 -// #... 6291 -// #... 6292 -// #... 6293 -// #... 6294 -// #... 6295 -// #... 6296 -// #... 6297 -// #... 6298 -// #... 6299 -// #... 6300 -// #... 6301 -// #... 6302 - 6303 -// #... 6304 -// #... 6305 -// #... 6306 -// #... 6307 -// #... 6308 -// #... 6309 -// #... 6310 -// #... 6311 -// #... 6312 -// #... 6313 -// #... 6314 -// #... 6315 -// #... 6316 -// #... 6317 -// #if(WINVER >= 0x0500) 6318 -// #... 6319 -// #endif /* WINVER >= 0x0500 */ 6320 -// #if(WINVER >= 0x0400) 6321 -// #... 6322 -// #endif /* WINVER >= 0x0400 */ 6323 - 6324 -// #... 6325 -// #... 6326 -// #... 6327 -// #... 6328 -// #... 6329 -// #if(WINVER >= 0x0400) 6330 -// #... 6331 -// #... 6332 -// #... 6333 -// #... 6334 -// #endif /* WINVER >= 0x0400 */ 6335 - 6336 -// #endif /* OEMRESOURCE */ 6337 - 6338 -enum : uint { ORD_LANGDRIVER = 1 } 6339 - 6340 -// #ifndef NOICONS 6341 - 6342 -// #ifdef RC_INVOKED 6343 -// #... 6344 -// #... 6345 -// #... 6346 -// #... 6347 -// #... 6348 -// #if(WINVER >= 0x0400) 6349 -// #... 6350 -// #endif /* WINVER >= 0x0400 */ 6351 -// #else 6352 -const LPTSTR IDI_APPLICATION = cast(LPTSTR)(32512); 6353 -const LPTSTR IDI_HAND = cast(LPTSTR)(32513); 6354 -const LPTSTR IDI_QUESTION = cast(LPTSTR)(32514); 6355 -const LPTSTR IDI_EXCLAMATION = cast(LPTSTR)(32515); 6356 -const LPTSTR IDI_ASTERISK = cast(LPTSTR)(32516); 6357 -// #if(WINVER >= 0x0400) 6358 -const LPTSTR IDI_WINLOGO = cast(LPTSTR)(32517); 6359 -// #endif /* WINVER >= 0x0400 */ 6360 -// #endif /* RC_INVOKED */ 6361 - 6362 -// #if(WINVER >= 0x0400) 6363 -alias IDI_EXCLAMATION IDI_WARNING; 6364 -alias IDI_HAND IDI_ERROR; 6365 -alias IDI_ASTERISK IDI_INFORMATION; 6366 -// #endif /* WINVER >= 0x0400 */ 6367 - 6368 -// #endif /* !NOICONS */ 6369 - 6370 -extern(Windows) export int LoadStringA( 6371 - HINSTANCE hInstance, 6372 - UINT uID, 6373 - LPSTR lpBuffer, 6374 - int nBufferMax); 6375 -extern(Windows) export int LoadStringW( 6376 - HINSTANCE hInstance, 6377 - UINT uID, 6378 - LPWSTR lpBuffer, 6379 - int nBufferMax); 6380 -// #ifdef UNICODE 6381 -alias LoadStringW LoadString; 6382 -// #else 6383 -// #... 6384 -// #endif // !UNICODE 6385 - 6386 -enum : uint { IDOK = 1 } 6387 -enum : uint { IDCANCEL = 2 } 6388 -enum : uint { IDABORT = 3 } 6389 -enum : uint { IDRETRY = 4 } 6390 -enum : uint { IDIGNORE = 5 } 6391 -enum : uint { IDYES = 6 } 6392 -enum : uint { IDNO = 7 } 6393 -// #if(WINVER >= 0x0400) 6394 -enum : uint { IDCLOSE = 8 } 6395 -enum : uint { IDHELP = 9 } 6396 -// #endif /* WINVER >= 0x0400 */ 6397 - 6398 -// #if(WINVER >= 0x0500) 6399 -enum : uint { IDTRYAGAIN = 10 } 6400 -enum : uint { IDCONTINUE = 11 } 6401 -// #endif /* WINVER >= 0x0500 */ 6402 - 6403 -// #if(WINVER >= 0x0501) 6404 -// #ifndef IDTIMEOUT 6405 -enum : uint { IDTIMEOUT = 32000 } 6406 -// #endif 6407 -// #endif /* WINVER >= 0x0501 */ 6408 - 6409 -// #ifndef NOCTLMGR 6410 - 6411 -// #ifndef NOWINSTYLES 6412 - 6413 -enum : uint { ES_LEFT = 0x0000 } 6414 -enum : uint { ES_CENTER = 0x0001 } 6415 -enum : uint { ES_RIGHT = 0x0002 } 6416 -enum : uint { ES_MULTILINE = 0x0004 } 6417 -enum : uint { ES_UPPERCASE = 0x0008 } 6418 -enum : uint { ES_LOWERCASE = 0x0010 } 6419 -enum : uint { ES_PASSWORD = 0x0020 } 6420 -enum : uint { ES_AUTOVSCROLL = 0x0040 } 6421 -enum : uint { ES_AUTOHSCROLL = 0x0080 } 6422 -enum : uint { ES_NOHIDESEL = 0x0100 } 6423 -enum : uint { ES_OEMCONVERT = 0x0400 } 6424 -enum : uint { ES_READONLY = 0x0800 } 6425 -enum : uint { ES_WANTRETURN = 0x1000 } 6426 -// #if(WINVER >= 0x0400) 6427 -enum : uint { ES_NUMBER = 0x2000 } 6428 -// #endif /* WINVER >= 0x0400 */ 6429 - 6430 -// #endif /* !NOWINSTYLES */ 6431 - 6432 -enum : uint { EN_SETFOCUS = 0x0100 } 6433 -enum : uint { EN_KILLFOCUS = 0x0200 } 6434 -enum : uint { EN_CHANGE = 0x0300 } 6435 -enum : uint { EN_UPDATE = 0x0400 } 6436 -enum : uint { EN_ERRSPACE = 0x0500 } 6437 -enum : uint { EN_MAXTEXT = 0x0501 } 6438 -enum : uint { EN_HSCROLL = 0x0601 } 6439 -enum : uint { EN_VSCROLL = 0x0602 } 6440 - 6441 -// #if(_WIN32_WINNT >= 0x0500) 6442 -enum : uint { EN_ALIGN_LTR_EC = 0x0700 } 6443 -enum : uint { EN_ALIGN_RTL_EC = 0x0701 } 6444 -// #endif /* _WIN32_WINNT >= 0x0500 */ 6445 - 6446 -// #if(WINVER >= 0x0400) 6447 - 6448 -enum : uint { EC_LEFTMARGIN = 0x0001 } 6449 -enum : uint { EC_RIGHTMARGIN = 0x0002 } 6450 -enum : uint { EC_USEFONTINFO = 0xffff } 6451 -// #endif /* WINVER >= 0x0400 */ 6452 - 6453 -// #if(WINVER >= 0x0500) 6454 - 6455 -enum : uint { EMSIS_COMPOSITIONSTRING = 0x0001 } 6456 - 6457 -enum : uint { EIMES_GETCOMPSTRATONCE = 0x0001 } 6458 -enum : uint { EIMES_CANCELCOMPSTRINFOCUS = 0x0002 } 6459 -enum : uint { EIMES_COMPLETECOMPSTRKILLFOCUS = 0x0004 } 6460 -// #endif /* WINVER >= 0x0500 */ 6461 - 6462 -// #ifndef NOWINMESSAGES 6463 - 6464 -enum : uint { EM_GETSEL = 0x00B0 } 6465 -enum : uint { EM_SETSEL = 0x00B1 } 6466 -enum : uint { EM_GETRECT = 0x00B2 } 6467 -enum : uint { EM_SETRECT = 0x00B3 } 6468 -enum : uint { EM_SETRECTNP = 0x00B4 } 6469 -enum : uint { EM_SCROLL = 0x00B5 } 6470 -enum : uint { EM_LINESCROLL = 0x00B6 } 6471 -enum : uint { EM_SCROLLCARET = 0x00B7 } 6472 -enum : uint { EM_GETMODIFY = 0x00B8 } 6473 -enum : uint { EM_SETMODIFY = 0x00B9 } 6474 -enum : uint { EM_GETLINECOUNT = 0x00BA } 6475 -enum : uint { EM_LINEINDEX = 0x00BB } 6476 -enum : uint { EM_SETHANDLE = 0x00BC } 6477 -enum : uint { EM_GETHANDLE = 0x00BD } 6478 -enum : uint { EM_GETTHUMB = 0x00BE } 6479 -enum : uint { EM_LINELENGTH = 0x00C1 } 6480 -enum : uint { EM_REPLACESEL = 0x00C2 } 6481 -enum : uint { EM_GETLINE = 0x00C4 } 6482 -enum : uint { EM_LIMITTEXT = 0x00C5 } 6483 -enum : uint { EM_CANUNDO = 0x00C6 } 6484 -enum : uint { EM_UNDO = 0x00C7 } 6485 -enum : uint { EM_FMTLINES = 0x00C8 } 6486 -enum : uint { EM_LINEFROMCHAR = 0x00C9 } 6487 -enum : uint { EM_SETTABSTOPS = 0x00CB } 6488 -enum : uint { EM_SETPASSWORDCHAR = 0x00CC } 6489 -enum : uint { EM_EMPTYUNDOBUFFER = 0x00CD } 6490 -enum : uint { EM_GETFIRSTVISIBLELINE = 0x00CE } 6491 -enum : uint { EM_SETREADONLY = 0x00CF } 6492 -enum : uint { EM_SETWORDBREAKPROC = 0x00D0 } 6493 -enum : uint { EM_GETWORDBREAKPROC = 0x00D1 } 6494 -enum : uint { EM_GETPASSWORDCHAR = 0x00D2 } 6495 -// #if(WINVER >= 0x0400) 6496 -enum : uint { EM_SETMARGINS = 0x00D3 } 6497 -enum : uint { EM_GETMARGINS = 0x00D4 } 6498 -alias EM_LIMITTEXT EM_SETLIMITTEXT; 6499 -enum : uint { EM_GETLIMITTEXT = 0x00D5 } 6500 -enum : uint { EM_POSFROMCHAR = 0x00D6 } 6501 -enum : uint { EM_CHARFROMPOS = 0x00D7 } 6502 -// #endif /* WINVER >= 0x0400 */ 6503 - 6504 -// #if(WINVER >= 0x0500) 6505 -enum : uint { EM_SETIMESTATUS = 0x00D8 } 6506 -enum : uint { EM_GETIMESTATUS = 0x00D9 } 6507 -// #endif /* WINVER >= 0x0500 */ 6508 - 6509 -// #endif /* !NOWINMESSAGES */ 6510 - 6511 -enum : uint { WB_LEFT = 0 } 6512 -enum : uint { WB_RIGHT = 1 } 6513 -enum : uint { WB_ISDELIMITER = 2 } 6514 - 6515 -enum : uint { BS_PUSHBUTTON = 0x00000000 } 6516 -enum : uint { BS_DEFPUSHBUTTON = 0x00000001 } 6517 -enum : uint { BS_CHECKBOX = 0x00000002 } 6518 -enum : uint { BS_AUTOCHECKBOX = 0x00000003 } 6519 -enum : uint { BS_RADIOBUTTON = 0x00000004 } 6520 -enum : uint { BS_3STATE = 0x00000005 } 6521 -enum : uint { BS_AUTO3STATE = 0x00000006 } 6522 -enum : uint { BS_GROUPBOX = 0x00000007 } 6523 -enum : uint { BS_USERBUTTON = 0x00000008 } 6524 -enum : uint { BS_AUTORADIOBUTTON = 0x00000009 } 6525 -enum : uint { BS_OWNERDRAW = 0x0000000B } 6526 -enum : uint { BS_LEFTTEXT = 0x00000020 } 6527 -// #if(WINVER >= 0x0400) 6528 -enum : uint { BS_TEXT = 0x00000000 } 6529 -enum : uint { BS_ICON = 0x00000040 } 6530 -enum : uint { BS_BITMAP = 0x00000080 } 6531 -enum : uint { BS_LEFT = 0x00000100 } 6532 -enum : uint { BS_RIGHT = 0x00000200 } 6533 -enum : uint { BS_CENTER = 0x00000300 } 6534 -enum : uint { BS_TOP = 0x00000400 } 6535 -enum : uint { BS_BOTTOM = 0x00000800 } 6536 -enum : uint { BS_VCENTER = 0x00000C00 } 6537 -enum : uint { BS_PUSHLIKE = 0x00001000 } 6538 -enum : uint { BS_MULTILINE = 0x00002000 } 6539 -enum : uint { BS_NOTIFY = 0x00004000 } 6540 -enum : uint { BS_FLAT = 0x00008000 } 6541 -alias BS_LEFTTEXT BS_RIGHTBUTTON; 6542 -// #endif /* WINVER >= 0x0400 */ 6543 - 6544 -enum : uint { BN_CLICKED = 0 } 6545 -enum : uint { BN_PAINT = 1 } 6546 -enum : uint { BN_HILITE = 2 } 6547 -enum : uint { BN_UNHILITE = 3 } 6548 -enum : uint { BN_DISABLE = 4 } 6549 -enum : uint { BN_DOUBLECLICKED = 5 } 6550 -// #if(WINVER >= 0x0400) 6551 -alias BN_HILITE BN_PUSHED; 6552 -alias BN_UNHILITE BN_UNPUSHED; 6553 -alias BN_DOUBLECLICKED BN_DBLCLK; 6554 -enum : uint { BN_SETFOCUS = 6 } 6555 -enum : uint { BN_KILLFOCUS = 7 } 6556 -// #endif /* WINVER >= 0x0400 */ 6557 - 6558 -enum : uint { BM_GETCHECK = 0x00F0 } 6559 -enum : uint { BM_SETCHECK = 0x00F1 } 6560 -enum : uint { BM_GETSTATE = 0x00F2 } 6561 -enum : uint { BM_SETSTATE = 0x00F3 } 6562 -enum : uint { BM_SETSTYLE = 0x00F4 } 6563 -// #if(WINVER >= 0x0400) 6564 -enum : uint { BM_CLICK = 0x00F5 } 6565 -enum : uint { BM_GETIMAGE = 0x00F6 } 6566 -enum : uint { BM_SETIMAGE = 0x00F7 } 6567 - 6568 -enum : uint { BST_UNCHECKED = 0x0000 } 6569 -enum : uint { BST_CHECKED = 0x0001 } 6570 -enum : uint { BST_INDETERMINATE = 0x0002 } 6571 -enum : uint { BST_PUSHED = 0x0004 } 6572 -enum : uint { BST_FOCUS = 0x0008 } 6573 -// #endif /* WINVER >= 0x0400 */ 6574 - 6575 -enum : uint { SS_LEFT = 0x00000000 } 6576 -enum : uint { SS_CENTER = 0x00000001 } 6577 -enum : uint { SS_RIGHT = 0x00000002 } 6578 -enum : uint { SS_ICON = 0x00000003 } 6579 -enum : uint { SS_BLACKRECT = 0x00000004 } 6580 -enum : uint { SS_GRAYRECT = 0x00000005 } 6581 -enum : uint { SS_WHITERECT = 0x00000006 } 6582 -enum : uint { SS_BLACKFRAME = 0x00000007 } 6583 -enum : uint { SS_GRAYFRAME = 0x00000008 } 6584 -enum : uint { SS_WHITEFRAME = 0x00000009 } 6585 -enum : uint { SS_USERITEM = 0x0000000A } 6586 -enum : uint { SS_SIMPLE = 0x0000000B } 6587 -enum : uint { SS_LEFTNOWORDWRAP = 0x0000000C } 6588 -// #if(WINVER >= 0x0400) 6589 -enum : uint { SS_OWNERDRAW = 0x0000000D } 6590 -enum : uint { SS_BITMAP = 0x0000000E } 6591 -enum : uint { SS_ENHMETAFILE = 0x0000000F } 6592 -enum : uint { SS_ETCHEDHORZ = 0x00000010 } 6593 -enum : uint { SS_ETCHEDVERT = 0x00000011 } 6594 -enum : uint { SS_ETCHEDFRAME = 0x00000012 } 6595 -enum : uint { SS_TYPEMASK = 0x0000001F } 6596 -// #endif /* WINVER >= 0x0400 */ 6597 -// #if(WINVER >= 0x0501) 6598 -enum : uint { SS_REALSIZECONTROL = 0x00000040 } 6599 -// #endif /* WINVER >= 0x0501 */ 6600 -enum : uint { SS_NOPREFIX = 0x00000080 } 6601 -// #if(WINVER >= 0x0400) 6602 -enum : uint { SS_NOTIFY = 0x00000100 } 6603 -enum : uint { SS_CENTERIMAGE = 0x00000200 } 6604 -enum : uint { SS_RIGHTJUST = 0x00000400 } 6605 -enum : uint { SS_REALSIZEIMAGE = 0x00000800 } 6606 -enum : uint { SS_SUNKEN = 0x00001000 } 6607 -enum : uint { SS_ENDELLIPSIS = 0x00004000 } 6608 -enum : uint { SS_PATHELLIPSIS = 0x00008000 } 6609 -enum : uint { SS_WORDELLIPSIS = 0x0000C000 } 6610 -enum : uint { SS_ELLIPSISMASK = 0x0000C000 } 6611 -// #endif /* WINVER >= 0x0400 */ 6612 - 6613 -// #ifndef NOWINMESSAGES 6614 - 6615 -enum : uint { STM_SETICON = 0x0170 } 6616 -enum : uint { STM_GETICON = 0x0171 } 6617 -// #if(WINVER >= 0x0400) 6618 -enum : uint { STM_SETIMAGE = 0x0172 } 6619 -enum : uint { STM_GETIMAGE = 0x0173 } 6620 -enum : uint { STN_CLICKED = 0 } 6621 -enum : uint { STN_DBLCLK = 1 } 6622 -enum : uint { STN_ENABLE = 2 } 6623 -enum : uint { STN_DISABLE = 3 } 6624 -// #endif /* WINVER >= 0x0400 */ 6625 -enum : uint { STM_MSGMAX = 0x0174 } 6626 -// #endif /* !NOWINMESSAGES */ 6627 - 6628 -const ATOM WC_DIALOG = cast(ATOM)0x8002; 6629 - 6630 -enum : uint { DWL_MSGRESULT = 0 } 6631 -enum : uint { DWL_DLGPROC = 4 } 6632 -enum : uint { DWL_USER = 8 } 6633 - 6634 -// #ifdef _WIN64 6635 - 6636 -// #... 6637 -// #... 6638 -// #... 6639 - 6640 -// #endif /* _WIN64 */ 6641 - 6642 -enum : uint { DWLP_MSGRESULT = 0 } 6643 -enum : uint { DWLP_DLGPROC = DWLP_MSGRESULT + LRESULT.sizeof } 6644 -enum : uint { DWLP_USER = DWLP_DLGPROC + DLGPROC.sizeof } 6645 - 6646 -// #ifndef NOMSG 6647 - 6648 -extern(Windows) export BOOL IsDialogMessageA( 6649 - HWND hDlg, 6650 - LPMSG lpMsg); 6651 -extern(Windows) export BOOL IsDialogMessageW( 6652 - HWND hDlg, 6653 - LPMSG lpMsg); 6654 -// #ifdef UNICODE 6655 -alias IsDialogMessageW IsDialogMessage; 6656 -// #else 6657 -// #... 6658 -// #endif // !UNICODE 6659 - 6660 -// #endif /* !NOMSG */ 6661 - 6662 -extern(Windows) export BOOL MapDialogRect( 6663 - HWND hDlg, 6664 - LPRECT lpRect); 6665 - 6666 -extern(Windows) export int DlgDirListA( 6667 - HWND hDlg, 6668 - LPSTR lpPathSpec, 6669 - int nIDListBox, 6670 - int nIDStaticPath, 6671 - UINT uFileType); 6672 -extern(Windows) export int DlgDirListW( 6673 - HWND hDlg, 6674 - LPWSTR lpPathSpec, 6675 - int nIDListBox, 6676 - int nIDStaticPath, 6677 - UINT uFileType); 6678 -// #ifdef UNICODE 6679 -alias DlgDirListW DlgDirList; 6680 -// #else 6681 -// #... 6682 -// #endif // !UNICODE 6683 - 6684 -enum : uint { DDL_READWRITE = 0x0000 } 6685 -enum : uint { DDL_READONLY = 0x0001 } 6686 -enum : uint { DDL_HIDDEN = 0x0002 } 6687 -enum : uint { DDL_SYSTEM = 0x0004 } 6688 -enum : uint { DDL_DIRECTORY = 0x0010 } 6689 -enum : uint { DDL_ARCHIVE = 0x0020 } 6690 - 6691 -enum : uint { DDL_POSTMSGS = 0x2000 } 6692 -enum : uint { DDL_DRIVES = 0x4000 } 6693 -enum : uint { DDL_EXCLUSIVE = 0x8000 } 6694 - 6695 -extern(Windows) export BOOL DlgDirSelectExA( 6696 - HWND hDlg, 6697 - LPSTR lpString, 6698 - int nCount, 6699 - int nIDListBox); 6700 -extern(Windows) export BOOL DlgDirSelectExW( 6701 - HWND hDlg, 6702 - LPWSTR lpString, 6703 - int nCount, 6704 - int nIDListBox); 6705 -// #ifdef UNICODE 6706 -alias DlgDirSelectExW DlgDirSelectEx; 6707 -// #else 6708 -// #... 6709 -// #endif // !UNICODE 6710 - 6711 -extern(Windows) export int DlgDirListComboBoxA( 6712 - HWND hDlg, 6713 - LPSTR lpPathSpec, 6714 - int nIDComboBox, 6715 - int nIDStaticPath, 6716 - UINT uFiletype); 6717 -extern(Windows) export int DlgDirListComboBoxW( 6718 - HWND hDlg, 6719 - LPWSTR lpPathSpec, 6720 - int nIDComboBox, 6721 - int nIDStaticPath, 6722 - UINT uFiletype); 6723 -// #ifdef UNICODE 6724 -alias DlgDirListComboBoxW DlgDirListComboBox; 6725 -// #else 6726 -// #... 6727 -// #endif // !UNICODE 6728 - 6729 -extern(Windows) export BOOL DlgDirSelectComboBoxExA( 6730 - HWND hDlg, 6731 - LPSTR lpString, 6732 - int nCount, 6733 - int nIDComboBox); 6734 -extern(Windows) export BOOL DlgDirSelectComboBoxExW( 6735 - HWND hDlg, 6736 - LPWSTR lpString, 6737 - int nCount, 6738 - int nIDComboBox); 6739 -// #ifdef UNICODE 6740 -alias DlgDirSelectComboBoxExW DlgDirSelectComboBoxEx; 6741 -// #else 6742 -// #... 6743 -// #endif // !UNICODE 6744 - 6745 -enum : uint { DS_ABSALIGN = 0x01 } 6746 -enum : uint { DS_SYSMODAL = 0x02 } 6747 -enum : uint { DS_LOCALEDIT = 0x20 } 6748 -enum : uint { DS_SETFONT = 0x40 } 6749 -enum : uint { DS_MODALFRAME = 0x80 } 6750 -enum : uint { DS_NOIDLEMSG = 0x100 } 6751 -enum : uint { DS_SETFOREGROUND = 0x200 } 6752 - 6753 -// #if(WINVER >= 0x0400) 6754 -enum : uint { DS_3DLOOK = 0x0004 } 6755 -enum : uint { DS_FIXEDSYS = 0x0008 } 6756 -enum : uint { DS_NOFAILCREATE = 0x0010 } 6757 -enum : uint { DS_CONTROL = 0x0400 } 6758 -enum : uint { DS_CENTER = 0x0800 } 6759 -enum : uint { DS_CENTERMOUSE = 0x1000 } 6760 -enum : uint { DS_CONTEXTHELP = 0x2000 } 6761 - 6762 -enum : uint { DS_SHELLFONT = DS_SETFONT | DS_FIXEDSYS } 6763 -// #endif /* WINVER >= 0x0400 */ 6764 - 6765 -enum : uint { DM_GETDEFID = WM_USER+0 } 6766 -enum : uint { DM_SETDEFID = WM_USER+1 } 6767 - 6768 -// #if(WINVER >= 0x0400) 6769 -enum : uint { DM_REPOSITION = WM_USER+2 } 6770 -// #endif /* WINVER >= 0x0400 */ 6771 - 6772 -enum : uint { DC_HASDEFID = 0x534B } 6773 - 6774 -enum : uint { DLGC_WANTARROWS = 0x0001 } 6775 -enum : uint { DLGC_WANTTAB = 0x0002 } 6776 -enum : uint { DLGC_WANTALLKEYS = 0x0004 } 6777 -enum : uint { DLGC_WANTMESSAGE = 0x0004 } 6778 -enum : uint { DLGC_HASSETSEL = 0x0008 } 6779 -enum : uint { DLGC_DEFPUSHBUTTON = 0x0010 } 6780 -enum : uint { DLGC_UNDEFPUSHBUTTON = 0x0020 } 6781 -enum : uint { DLGC_RADIOBUTTON = 0x0040 } 6782 -enum : uint { DLGC_WANTCHARS = 0x0080 } 6783 -enum : uint { DLGC_STATIC = 0x0100 } 6784 -enum : uint { DLGC_BUTTON = 0x2000 } 6785 - 6786 -enum : uint { LB_CTLCODE = 0 } 6787 - 6788 -enum : uint { LB_OKAY = 0 } 6789 -enum { LB_ERR = -1 } 6790 -enum { LB_ERRSPACE = -2 } 6791 - 6792 -enum { LBN_ERRSPACE = -2 } 6793 -enum : uint { LBN_SELCHANGE = 1 } 6794 -enum : uint { LBN_DBLCLK = 2 } 6795 -enum : uint { LBN_SELCANCEL = 3 } 6796 -enum : uint { LBN_SETFOCUS = 4 } 6797 -enum : uint { LBN_KILLFOCUS = 5 } 6798 - 6799 -// #ifndef NOWINMESSAGES 6800 - 6801 -enum : uint { LB_ADDSTRING = 0x0180 } 6802 -enum : uint { LB_INSERTSTRING = 0x0181 } 6803 -enum : uint { LB_DELETESTRING = 0x0182 } 6804 -enum : uint { LB_SELITEMRANGEEX = 0x0183 } 6805 -enum : uint { LB_RESETCONTENT = 0x0184 } 6806 -enum : uint { LB_SETSEL = 0x0185 } 6807 -enum : uint { LB_SETCURSEL = 0x0186 } 6808 -enum : uint { LB_GETSEL = 0x0187 } 6809 -enum : uint { LB_GETCURSEL = 0x0188 } 6810 -enum : uint { LB_GETTEXT = 0x0189 } 6811 -enum : uint { LB_GETTEXTLEN = 0x018A } 6812 -enum : uint { LB_GETCOUNT = 0x018B } 6813 -enum : uint { LB_SELECTSTRING = 0x018C } 6814 -enum : uint { LB_DIR = 0x018D } 6815 -enum : uint { LB_GETTOPINDEX = 0x018E } 6816 -enum : uint { LB_FINDSTRING = 0x018F } 6817 -enum : uint { LB_GETSELCOUNT = 0x0190 } 6818 -enum : uint { LB_GETSELITEMS = 0x0191 } 6819 -enum : uint { LB_SETTABSTOPS = 0x0192 } 6820 -enum : uint { LB_GETHORIZONTALEXTENT = 0x0193 } 6821 -enum : uint { LB_SETHORIZONTALEXTENT = 0x0194 } 6822 -enum : uint { LB_SETCOLUMNWIDTH = 0x0195 } 6823 -enum : uint { LB_ADDFILE = 0x0196 } 6824 -enum : uint { LB_SETTOPINDEX = 0x0197 } 6825 -enum : uint { LB_GETITEMRECT = 0x0198 } 6826 -enum : uint { LB_GETITEMDATA = 0x0199 } 6827 -enum : uint { LB_SETITEMDATA = 0x019A } 6828 -enum : uint { LB_SELITEMRANGE = 0x019B } 6829 -enum : uint { LB_SETANCHORINDEX = 0x019C } 6830 -enum : uint { LB_GETANCHORINDEX = 0x019D } 6831 -enum : uint { LB_SETCARETINDEX = 0x019E } 6832 -enum : uint { LB_GETCARETINDEX = 0x019F } 6833 -enum : uint { LB_SETITEMHEIGHT = 0x01A0 } 6834 -enum : uint { LB_GETITEMHEIGHT = 0x01A1 } 6835 -enum : uint { LB_FINDSTRINGEXACT = 0x01A2 } 6836 -enum : uint { LB_SETLOCALE = 0x01A5 } 6837 -enum : uint { LB_GETLOCALE = 0x01A6 } 6838 -enum : uint { LB_SETCOUNT = 0x01A7 } 6839 -// #if(WINVER >= 0x0400) 6840 -enum : uint { LB_INITSTORAGE = 0x01A8 } 6841 -enum : uint { LB_ITEMFROMPOINT = 0x01A9 } 6842 -// #endif /* WINVER >= 0x0400 */ 6843 -// #if(_WIN32_WCE >= 0x0400) 6844 -// #... 6845 -// #endif 6846 - 6847 -// #if(_WIN32_WINNT >= 0x0501) 6848 -enum : uint { LB_GETLISTBOXINFO = 0x01B2 } 6849 -// #endif /* _WIN32_WINNT >= 0x0501 */ 6850 - 6851 -// #if(_WIN32_WINNT >= 0x0501) 6852 -enum : uint { LB_MSGMAX = 0x01B3 } 6853 -// #elif(_WIN32_WCE >= 0x0400) 6854 -// #... 6855 -// #elif(WINVER >= 0x0400) 6856 -// #... 6857 -// #else 6858 -// #... 6859 -// #endif 6860 - 6861 -// #endif /* !NOWINMESSAGES */ 6862 - 6863 -// #ifndef NOWINSTYLES 6864 - 6865 -enum : uint { LBS_NOTIFY = 0x0001 } 6866 -enum : uint { LBS_SORT = 0x0002 } 6867 -enum : uint { LBS_NOREDRAW = 0x0004 } 6868 -enum : uint { LBS_MULTIPLESEL = 0x0008 } 6869 -enum : uint { LBS_OWNERDRAWFIXED = 0x0010 } 6870 -enum : uint { LBS_OWNERDRAWVARIABLE = 0x0020 } 6871 -enum : uint { LBS_HASSTRINGS = 0x0040 } 6872 -enum : uint { LBS_USETABSTOPS = 0x0080 } 6873 -enum : uint { LBS_NOINTEGRALHEIGHT = 0x0100 } 6874 -enum : uint { LBS_MULTICOLUMN = 0x0200 } 6875 -enum : uint { LBS_WANTKEYBOARDINPUT = 0x0400 } 6876 -enum : uint { LBS_EXTENDEDSEL = 0x0800 } 6877 -enum : uint { LBS_DISABLENOSCROLL = 0x1000 } 6878 -enum : uint { LBS_NODATA = 0x2000 } 6879 -// #if(WINVER >= 0x0400) 6880 -enum : uint { LBS_NOSEL = 0x4000 } 6881 -// #endif /* WINVER >= 0x0400 */ 6882 -enum : uint { LBS_STANDARD = LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER } 6883 - 6884 -// #endif /* !NOWINSTYLES */ 6885 - 6886 -enum : uint { CB_OKAY = 0 } 6887 -enum { CB_ERR = -1 } 6888 -enum { CB_ERRSPACE = -2 } 6889 - 6890 -enum { CBN_ERRSPACE = -1 } 6891 -enum : uint { CBN_SELCHANGE = 1 } 6892 -enum : uint { CBN_DBLCLK = 2 } 6893 -enum : uint { CBN_SETFOCUS = 3 } 6894 -enum : uint { CBN_KILLFOCUS = 4 } 6895 -enum : uint { CBN_EDITCHANGE = 5 } 6896 -enum : uint { CBN_EDITUPDATE = 6 } 6897 -enum : uint { CBN_DROPDOWN = 7 } 6898 -enum : uint { CBN_CLOSEUP = 8 } 6899 -enum : uint { CBN_SELENDOK = 9 } 6900 -enum : uint { CBN_SELENDCANCEL = 10 } 6901 - 6902 -// #ifndef NOWINSTYLES 6903 - 6904 -enum : uint { CBS_SIMPLE = 0x0001 } 6905 -enum : uint { CBS_DROPDOWN = 0x0002 } 6906 -enum : uint { CBS_DROPDOWNLIST = 0x0003 } 6907 -enum : uint { CBS_OWNERDRAWFIXED = 0x0010 } 6908 -enum : uint { CBS_OWNERDRAWVARIABLE = 0x0020 } 6909 -enum : uint { CBS_AUTOHSCROLL = 0x0040 } 6910 -enum : uint { CBS_OEMCONVERT = 0x0080 } 6911 -enum : uint { CBS_SORT = 0x0100 } 6912 -enum : uint { CBS_HASSTRINGS = 0x0200 } 6913 -enum : uint { CBS_NOINTEGRALHEIGHT = 0x0400 } 6914 -enum : uint { CBS_DISABLENOSCROLL = 0x0800 } 6915 -// #if(WINVER >= 0x0400) 6916 -enum : uint { CBS_UPPERCASE = 0x2000 } 6917 -enum : uint { CBS_LOWERCASE = 0x4000 } 6918 -// #endif /* WINVER >= 0x0400 */ 6919 - 6920 -// #endif /* !NOWINSTYLES */ 6921 - 6922 -// #ifndef NOWINMESSAGES 6923 -enum : uint { CB_GETEDITSEL = 0x0140 } 6924 -enum : uint { CB_LIMITTEXT = 0x0141 } 6925 -enum : uint { CB_SETEDITSEL = 0x0142 } 6926 -enum : uint { CB_ADDSTRING = 0x0143 } 6927 -enum : uint { CB_DELETESTRING = 0x0144 } 6928 -enum : uint { CB_DIR = 0x0145 } 6929 -enum : uint { CB_GETCOUNT = 0x0146 } 6930 -enum : uint { CB_GETCURSEL = 0x0147 } 6931 -enum : uint { CB_GETLBTEXT = 0x0148 } 6932 -enum : uint { CB_GETLBTEXTLEN = 0x0149 } 6933 -enum : uint { CB_INSERTSTRING = 0x014A } 6934 -enum : uint { CB_RESETCONTENT = 0x014B } 6935 -enum : uint { CB_FINDSTRING = 0x014C } 6936 -enum : uint { CB_SELECTSTRING = 0x014D } 6937 -enum : uint { CB_SETCURSEL = 0x014E } 6938 -enum : uint { CB_SHOWDROPDOWN = 0x014F } 6939 -enum : uint { CB_GETITEMDATA = 0x0150 } 6940 -enum : uint { CB_SETITEMDATA = 0x0151 } 6941 -enum : uint { CB_GETDROPPEDCONTROLRECT = 0x0152 } 6942 -enum : uint { CB_SETITEMHEIGHT = 0x0153 } 6943 -enum : uint { CB_GETITEMHEIGHT = 0x0154 } 6944 -enum : uint { CB_SETEXTENDEDUI = 0x0155 } 6945 -enum : uint { CB_GETEXTENDEDUI = 0x0156 } 6946 -enum : uint { CB_GETDROPPEDSTATE = 0x0157 } 6947 -enum : uint { CB_FINDSTRINGEXACT = 0x0158 } 6948 -enum : uint { CB_SETLOCALE = 0x0159 } 6949 -enum : uint { CB_GETLOCALE = 0x015A } 6950 -// #if(WINVER >= 0x0400) 6951 -enum : uint { CB_GETTOPINDEX = 0x015b } 6952 -enum : uint { CB_SETTOPINDEX = 0x015c } 6953 -enum : uint { CB_GETHORIZONTALEXTENT = 0x015d } 6954 -enum : uint { CB_SETHORIZONTALEXTENT = 0x015e } 6955 -enum : uint { CB_GETDROPPEDWIDTH = 0x015f } 6956 -enum : uint { CB_SETDROPPEDWIDTH = 0x0160 } 6957 -enum : uint { CB_INITSTORAGE = 0x0161 } 6958 -// #if(_WIN32_WCE >= 0x0400) 6959 -// #... 6960 -// #endif 6961 -// #endif /* WINVER >= 0x0400 */ 6962 - 6963 -// #if(_WIN32_WINNT >= 0x0501) 6964 -enum : uint { CB_GETCOMBOBOXINFO = 0x0164 } 6965 -// #endif /* _WIN32_WINNT >= 0x0501 */ 6966 - 6967 -// #if(_WIN32_WINNT >= 0x0501) 6968 -enum : uint { CB_MSGMAX = 0x0165 } 6969 -// #elif(_WIN32_WCE >= 0x0400) 6970 -// #... 6971 -// #elif(WINVER >= 0x0400) 6972 -// #... 6973 -// #else 6974 -// #... 6975 -// #endif 6976 -// #endif /* !NOWINMESSAGES */ 6977 - 6978 -// #ifndef NOWINSTYLES 6979 - 6980 -enum : uint { SBS_HORZ = 0x0000 } 6981 -enum : uint { SBS_VERT = 0x0001 } 6982 -enum : uint { SBS_TOPALIGN = 0x0002 } 6983 -enum : uint { SBS_LEFTALIGN = 0x0002 } 6984 -enum : uint { SBS_BOTTOMALIGN = 0x0004 } 6985 -enum : uint { SBS_RIGHTALIGN = 0x0004 } 6986 -enum : uint { SBS_SIZEBOXTOPLEFTALIGN = 0x0002 } 6987 -enum : uint { SBS_SIZEBOXBOTTOMRIGHTALIGN = 0x0004 } 6988 -enum : uint { SBS_SIZEBOX = 0x0008 } 6989 -// #if(WINVER >= 0x0400) 6990 -enum : uint { SBS_SIZEGRIP = 0x0010 } 6991 -// #endif /* WINVER >= 0x0400 */ 6992 - 6993 -// #endif /* !NOWINSTYLES */ 6994 - 6995 -// #ifndef NOWINMESSAGES 6996 -enum : uint { SBM_SETPOS = 0x00E0 } 6997 -enum : uint { SBM_GETPOS = 0x00E1 } 6998 -enum : uint { SBM_SETRANGE = 0x00E2 } 6999 -enum : uint { SBM_SETRANGEREDRAW = 0x00E6 } 7000 -enum : uint { SBM_GETRANGE = 0x00E3 } 7001 -enum : uint { SBM_ENABLE_ARROWS = 0x00E4 } 7002 -// #if(WINVER >= 0x0400) 7003 -enum : uint { SBM_SETSCROLLINFO = 0x00E9 } 7004 -enum : uint { SBM_GETSCROLLINFO = 0x00EA } 7005 -// #endif /* WINVER >= 0x0400 */ 7006 - 7007 -// #if(_WIN32_WINNT >= 0x0501) 7008 -enum : uint { SBM_GETSCROLLBARINFO = 0x00EB } 7009 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7010 - 7011 -// #if(WINVER >= 0x0400) 7012 -enum : uint { SIF_RANGE = 0x0001 } 7013 -enum : uint { SIF_PAGE = 0x0002 } 7014 -enum : uint { SIF_POS = 0x0004 } 7015 -enum : uint { SIF_DISABLENOSCROLL = 0x0008 } 7016 -enum : uint { SIF_TRACKPOS = 0x0010 } 7017 -enum : uint { SIF_ALL = SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS } 7018 - 7019 -struct tagSCROLLINFO { 7020 - UINT cbSize; 7021 - UINT fMask; 7022 - int nMin; 7023 - int nMax; 7024 - UINT nPage; 7025 - int nPos; 7026 - int nTrackPos; 7027 -} 7028 -alias tagSCROLLINFO SCROLLINFO; 7029 -alias tagSCROLLINFO* LPSCROLLINFO; 7030 - 7031 -alias SCROLLINFO* LPCSCROLLINFO; 7032 - 7033 -extern(Windows) export int SetScrollInfo(HWND, int, LPCSCROLLINFO, BOOL); 7034 -extern(Windows) export BOOL GetScrollInfo(HWND, int, LPSCROLLINFO); 7035 - 7036 -// #endif /* WINVER >= 0x0400 */ 7037 -// #endif /* !NOWINMESSAGES */ 7038 -// #endif /* !NOCTLMGR */ 7039 - 7040 -// #ifndef NOMDI 7041 - 7042 -enum : uint { MDIS_ALLCHILDSTYLES = 0x0001 } 7043 - 7044 -enum : uint { MDITILE_VERTICAL = 0x0000 } 7045 -enum : uint { MDITILE_HORIZONTAL = 0x0001 } 7046 -enum : uint { MDITILE_SKIPDISABLED = 0x0002 } 7047 -// #if(_WIN32_WINNT >= 0x0500) 7048 -enum : uint { MDITILE_ZORDER = 0x0004 } 7049 -// #endif /* _WIN32_WINNT >= 0x0500 */ 7050 - 7051 -struct tagMDICREATESTRUCTA { 7052 - LPCSTR szClass; 7053 - LPCSTR szTitle; 7054 - HANDLE hOwner; 7055 - int x; 7056 - int y; 7057 - int cx; 7058 - int cy; 7059 - DWORD style; 7060 - LPARAM lParam; 7061 -} 7062 -alias tagMDICREATESTRUCTA MDICREATESTRUCTA; 7063 -alias tagMDICREATESTRUCTA* LPMDICREATESTRUCTA; 7064 - 7065 -struct tagMDICREATESTRUCTW { 7066 - LPCWSTR szClass; 7067 - LPCWSTR szTitle; 7068 - HANDLE hOwner; 7069 - int x; 7070 - int y; 7071 - int cx; 7072 - int cy; 7073 - DWORD style; 7074 - LPARAM lParam; 7075 -} 7076 -alias tagMDICREATESTRUCTW MDICREATESTRUCTW; 7077 -alias tagMDICREATESTRUCTW* LPMDICREATESTRUCTW; 7078 - 7079 -// #ifdef UNICODE 7080 -alias MDICREATESTRUCTW MDICREATESTRUCT; 7081 -alias LPMDICREATESTRUCTW LPMDICREATESTRUCT; 7082 -// #else 7083 -// ... 7084 -// #endif // UNICODE 7085 - 7086 -struct tagCLIENTCREATESTRUCT { 7087 - HANDLE hWindowMenu; 7088 - UINT idFirstChild; 7089 -} 7090 -alias tagCLIENTCREATESTRUCT CLIENTCREATESTRUCT; 7091 -alias tagCLIENTCREATESTRUCT* LPCLIENTCREATESTRUCT; 7092 - 7093 -extern(Windows) export LRESULT DefFrameProcA( 7094 - HWND hWnd, 7095 - HWND hWndMDIClient, 7096 - UINT uMsg, 7097 - WPARAM wParam, 7098 - LPARAM lParam); 7099 -extern(Windows) export LRESULT DefFrameProcW( 7100 - HWND hWnd, 7101 - HWND hWndMDIClient, 7102 - UINT uMsg, 7103 - WPARAM wParam, 7104 - LPARAM lParam); 7105 -// #ifdef UNICODE 7106 -alias DefFrameProcW DefFrameProc; 7107 -// #else 7108 -// #... 7109 -// #endif // !UNICODE 7110 - 7111 -extern(Windows) export LRESULT DefMDIChildProcA(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 7112 -extern(Windows) export LRESULT DefMDIChildProcW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); 7113 -// #ifdef UNICODE 7114 -alias DefMDIChildProcW DefMDIChildProc; 7115 -// #else 7116 -// #... 7117 -// #endif // !UNICODE 7118 - 7119 -// #ifndef NOMSG 7120 - 7121 -extern(Windows) export BOOL TranslateMDISysAccel( 7122 - HWND hWndClient, 7123 - LPMSG lpMsg); 7124 - 7125 -// #endif /* !NOMSG */ 7126 - 7127 -extern(Windows) export UINT ArrangeIconicWindows( 7128 - HWND hWnd); 7129 - 7130 -extern(Windows) export HWND CreateMDIWindowA( 7131 - LPCSTR lpClassName, 7132 - LPCSTR lpWindowName, 7133 - DWORD dwStyle, 7134 - int X, 7135 - int Y, 7136 - int nWidth, 7137 - int nHeight, 7138 - HWND hWndParent, 7139 - HINSTANCE hInstance, 7140 - LPARAM lParam); 7141 -extern(Windows) export HWND CreateMDIWindowW( 7142 - LPCWSTR lpClassName, 7143 - LPCWSTR lpWindowName, 7144 - DWORD dwStyle, 7145 - int X, 7146 - int Y, 7147 - int nWidth, 7148 - int nHeight, 7149 - HWND hWndParent, 7150 - HINSTANCE hInstance, 7151 - LPARAM lParam); 7152 -// #ifdef UNICODE 7153 -alias CreateMDIWindowW CreateMDIWindow; 7154 -// #else 7155 -// #... 7156 -// #endif // !UNICODE 7157 - 7158 -// #if(WINVER >= 0x0400) 7159 -extern(Windows) export WORD TileWindows(HWND hwndParent, UINT wHow, RECT * lpRect, UINT cKids, HWND * lpKids); 7160 -extern(Windows) export WORD CascadeWindows(HWND hwndParent, UINT wHow, RECT * lpRect, UINT cKids, HWND * lpKids); 7161 -// #endif /* WINVER >= 0x0400 */ 7162 -// #endif /* !NOMDI */ 7163 - 7164 -// #endif /* !NOUSER */ 7165 - 7166 -// #ifndef NOHELP 7167 - 7168 -alias DWORD HELPPOLY; 7169 -struct tagMULTIKEYHELPA { 7170 -// #ifndef _MAC 7171 - DWORD mkSize; 7172 -// #else 7173 -// ... 7174 -// #endif 7175 - CHAR mkKeylist; 7176 - CHAR szKeyphrase[1]; 7177 -} 7178 -alias tagMULTIKEYHELPA MULTIKEYHELPA; 7179 -alias tagMULTIKEYHELPA* PMULTIKEYHELPA; 7180 -alias tagMULTIKEYHELPA* LPMULTIKEYHELPA; 7181 - 7182 -struct tagMULTIKEYHELPW { 7183 -// #ifndef _MAC 7184 - DWORD mkSize; 7185 -// #else 7186 -// ... 7187 -// #endif 7188 - WCHAR mkKeylist; 7189 - WCHAR szKeyphrase[1]; 7190 -} 7191 -alias tagMULTIKEYHELPW MULTIKEYHELPW; 7192 -alias tagMULTIKEYHELPW* PMULTIKEYHELPW; 7193 -alias tagMULTIKEYHELPW* LPMULTIKEYHELPW; 7194 - 7195 -// #ifdef UNICODE 7196 -alias MULTIKEYHELPW MULTIKEYHELP; 7197 -alias PMULTIKEYHELPW PMULTIKEYHELP; 7198 -alias LPMULTIKEYHELPW LPMULTIKEYHELP; 7199 -// #else 7200 -// ... 7201 -// #endif // UNICODE 7202 - 7203 -struct tagHELPWININFOA { 7204 - int wStructSize; 7205 - int x; 7206 - int y; 7207 - int dx; 7208 - int dy; 7209 - int wMax; 7210 - CHAR rgchMember[2]; 7211 -} 7212 -alias tagHELPWININFOA HELPWININFOA; 7213 -alias tagHELPWININFOA* PHELPWININFOA; 7214 -alias tagHELPWININFOA* LPHELPWININFOA; 7215 - 7216 -struct tagHELPWININFOW { 7217 - int wStructSize; 7218 - int x; 7219 - int y; 7220 - int dx; 7221 - int dy; 7222 - int wMax; 7223 - WCHAR rgchMember[2]; 7224 -} 7225 -alias tagHELPWININFOW HELPWININFOW; 7226 -alias tagHELPWININFOW* PHELPWININFOW; 7227 -alias tagHELPWININFOW* LPHELPWININFOW; 7228 - 7229 -// #ifdef UNICODE 7230 -alias HELPWININFOW HELPWININFO; 7231 -alias PHELPWININFOW PHELPWININFO; 7232 -alias LPHELPWININFOW LPHELPWININFO; 7233 -// #else 7234 -// ... 7235 -// #endif // UNICODE 7236 - 7237 -enum : uint { HELP_CONTEXT = 0x0001 } 7238 -enum : uint { HELP_QUIT = 0x0002 } 7239 -enum : uint { HELP_INDEX = 0x0003 } 7240 -enum : uint { HELP_CONTENTS = 0x0003 } 7241 -enum : uint { HELP_HELPONHELP = 0x0004 } 7242 -enum : uint { HELP_SETINDEX = 0x0005 } 7243 -enum : uint { HELP_SETCONTENTS = 0x0005 } 7244 -enum : uint { HELP_CONTEXTPOPUP = 0x0008 } 7245 -enum : uint { HELP_FORCEFILE = 0x0009 } 7246 -enum : uint { HELP_KEY = 0x0101 } 7247 -enum : uint { HELP_COMMAND = 0x0102 } 7248 -enum : uint { HELP_PARTIALKEY = 0x0105 } 7249 -enum : uint { HELP_MULTIKEY = 0x0201 } 7250 -enum : uint { HELP_SETWINPOS = 0x0203 } 7251 -// #if(WINVER >= 0x0400) 7252 -enum : uint { HELP_CONTEXTMENU = 0x000a } 7253 -enum : uint { HELP_FINDER = 0x000b } 7254 -enum : uint { HELP_WM_HELP = 0x000c } 7255 -enum : uint { HELP_SETPOPUP_POS = 0x000d } 7256 - 7257 -enum : uint { HELP_TCARD = 0x8000 } 7258 -enum : uint { HELP_TCARD_DATA = 0x0010 } 7259 -enum : uint { HELP_TCARD_OTHER_CALLER = 0x0011 } 7260 - 7261 -enum : uint { IDH_NO_HELP = 28440 } 7262 -enum : uint { IDH_MISSING_CONTEXT = 28441 } 7263 -enum : uint { IDH_GENERIC_HELP_BUTTON = 28442 } 7264 -enum : uint { IDH_OK = 28443 } 7265 -enum : uint { IDH_CANCEL = 28444 } 7266 -enum : uint { IDH_HELP = 28445 } 7267 - 7268 -// #endif /* WINVER >= 0x0400 */ 7269 - 7270 -extern(Windows) export BOOL WinHelpA( 7271 - HWND hWndMain, 7272 - LPCSTR lpszHelp, 7273 - UINT uCommand, 7274 - ULONG_PTR dwData); 7275 -extern(Windows) export BOOL WinHelpW( 7276 - HWND hWndMain, 7277 - LPCWSTR lpszHelp, 7278 - UINT uCommand, 7279 - ULONG_PTR dwData); 7280 -// #ifdef UNICODE 7281 -alias WinHelpW WinHelp; 7282 -// #else 7283 -// #... 7284 -// #endif // !UNICODE 7285 - 7286 -// #endif /* !NOHELP */ 7287 - 7288 -// #if(WINVER >= 0x0500) 7289 - 7290 -enum : uint { GR_GDIOBJECTS = 0 } 7291 -enum : uint { GR_USEROBJECTS = 1 } 7292 - 7293 -extern(Windows) export DWORD GetGuiResources( 7294 - HANDLE hProcess, 7295 - DWORD uiFlags); 7296 - 7297 -// #endif /* WINVER >= 0x0500 */ 7298 - 7299 -// #ifndef NOSYSPARAMSINFO 7300 - 7301 -enum : uint { SPI_GETBEEP = 0x0001 } 7302 -enum : uint { SPI_SETBEEP = 0x0002 } 7303 -enum : uint { SPI_GETMOUSE = 0x0003 } 7304 -enum : uint { SPI_SETMOUSE = 0x0004 } 7305 -enum : uint { SPI_GETBORDER = 0x0005 } 7306 -enum : uint { SPI_SETBORDER = 0x0006 } 7307 -enum : uint { SPI_GETKEYBOARDSPEED = 0x000A } 7308 -enum : uint { SPI_SETKEYBOARDSPEED = 0x000B } 7309 -enum : uint { SPI_LANGDRIVER = 0x000C } 7310 -enum : uint { SPI_ICONHORIZONTALSPACING = 0x000D } 7311 -enum : uint { SPI_GETSCREENSAVETIMEOUT = 0x000E } 7312 -enum : uint { SPI_SETSCREENSAVETIMEOUT = 0x000F } 7313 -enum : uint { SPI_GETSCREENSAVEACTIVE = 0x0010 } 7314 -enum : uint { SPI_SETSCREENSAVEACTIVE = 0x0011 } 7315 -enum : uint { SPI_GETGRIDGRANULARITY = 0x0012 } 7316 -enum : uint { SPI_SETGRIDGRANULARITY = 0x0013 } 7317 -enum : uint { SPI_SETDESKWALLPAPER = 0x0014 } 7318 -enum : uint { SPI_SETDESKPATTERN = 0x0015 } 7319 -enum : uint { SPI_GETKEYBOARDDELAY = 0x0016 } 7320 -enum : uint { SPI_SETKEYBOARDDELAY = 0x0017 } 7321 -enum : uint { SPI_ICONVERTICALSPACING = 0x0018 } 7322 -enum : uint { SPI_GETICONTITLEWRAP = 0x0019 } 7323 -enum : uint { SPI_SETICONTITLEWRAP = 0x001A } 7324 -enum : uint { SPI_GETMENUDROPALIGNMENT = 0x001B } 7325 -enum : uint { SPI_SETMENUDROPALIGNMENT = 0x001C } 7326 -enum : uint { SPI_SETDOUBLECLKWIDTH = 0x001D } 7327 -enum : uint { SPI_SETDOUBLECLKHEIGHT = 0x001E } 7328 -enum : uint { SPI_GETICONTITLELOGFONT = 0x001F } 7329 -enum : uint { SPI_SETDOUBLECLICKTIME = 0x0020 } 7330 -enum : uint { SPI_SETMOUSEBUTTONSWAP = 0x0021 } 7331 -enum : uint { SPI_SETICONTITLELOGFONT = 0x0022 } 7332 -enum : uint { SPI_GETFASTTASKSWITCH = 0x0023 } 7333 -enum : uint { SPI_SETFASTTASKSWITCH = 0x0024 } 7334 -// #if(WINVER >= 0x0400) 7335 -enum : uint { SPI_SETDRAGFULLWINDOWS = 0x0025 } 7336 -enum : uint { SPI_GETDRAGFULLWINDOWS = 0x0026 } 7337 -enum : uint { SPI_GETNONCLIENTMETRICS = 0x0029 } 7338 -enum : uint { SPI_SETNONCLIENTMETRICS = 0x002A } 7339 -enum : uint { SPI_GETMINIMIZEDMETRICS = 0x002B } 7340 -enum : uint { SPI_SETMINIMIZEDMETRICS = 0x002C } 7341 -enum : uint { SPI_GETICONMETRICS = 0x002D } 7342 -enum : uint { SPI_SETICONMETRICS = 0x002E } 7343 -enum : uint { SPI_SETWORKAREA = 0x002F } 7344 -enum : uint { SPI_GETWORKAREA = 0x0030 } 7345 -enum : uint { SPI_SETPENWINDOWS = 0x0031 } 7346 - 7347 -enum : uint { SPI_GETHIGHCONTRAST = 0x0042 } 7348 -enum : uint { SPI_SETHIGHCONTRAST = 0x0043 } 7349 -enum : uint { SPI_GETKEYBOARDPREF = 0x0044 } 7350 -enum : uint { SPI_SETKEYBOARDPREF = 0x0045 } 7351 -enum : uint { SPI_GETSCREENREADER = 0x0046 } 7352 -enum : uint { SPI_SETSCREENREADER = 0x0047 } 7353 -enum : uint { SPI_GETANIMATION = 0x0048 } 7354 -enum : uint { SPI_SETANIMATION = 0x0049 } 7355 -enum : uint { SPI_GETFONTSMOOTHING = 0x004A } 7356 -enum : uint { SPI_SETFONTSMOOTHING = 0x004B } 7357 -enum : uint { SPI_SETDRAGWIDTH = 0x004C } 7358 -enum : uint { SPI_SETDRAGHEIGHT = 0x004D } 7359 -enum : uint { SPI_SETHANDHELD = 0x004E } 7360 -enum : uint { SPI_GETLOWPOWERTIMEOUT = 0x004F } 7361 -enum : uint { SPI_GETPOWEROFFTIMEOUT = 0x0050 } 7362 -enum : uint { SPI_SETLOWPOWERTIMEOUT = 0x0051 } 7363 -enum : uint { SPI_SETPOWEROFFTIMEOUT = 0x0052 } 7364 -enum : uint { SPI_GETLOWPOWERACTIVE = 0x0053 } 7365 -enum : uint { SPI_GETPOWEROFFACTIVE = 0x0054 } 7366 -enum : uint { SPI_SETLOWPOWERACTIVE = 0x0055 } 7367 -enum : uint { SPI_SETPOWEROFFACTIVE = 0x0056 } 7368 -enum : uint { SPI_SETCURSORS = 0x0057 } 7369 -enum : uint { SPI_SETICONS = 0x0058 } 7370 -enum : uint { SPI_GETDEFAULTINPUTLANG = 0x0059 } 7371 -enum : uint { SPI_SETDEFAULTINPUTLANG = 0x005A } 7372 -enum : uint { SPI_SETLANGTOGGLE = 0x005B } 7373 -enum : uint { SPI_GETWINDOWSEXTENSION = 0x005C } 7374 -enum : uint { SPI_SETMOUSETRAILS = 0x005D } 7375 -enum : uint { SPI_GETMOUSETRAILS = 0x005E } 7376 -enum : uint { SPI_SETSCREENSAVERRUNNING = 0x0061 } 7377 -alias SPI_SETSCREENSAVERRUNNING SPI_SCREENSAVERRUNNING; 7378 -// #endif /* WINVER >= 0x0400 */ 7379 -enum : uint { SPI_GETFILTERKEYS = 0x0032 } 7380 -enum : uint { SPI_SETFILTERKEYS = 0x0033 } 7381 -enum : uint { SPI_GETTOGGLEKEYS = 0x0034 } 7382 -enum : uint { SPI_SETTOGGLEKEYS = 0x0035 } 7383 -enum : uint { SPI_GETMOUSEKEYS = 0x0036 } 7384 -enum : uint { SPI_SETMOUSEKEYS = 0x0037 } 7385 -enum : uint { SPI_GETSHOWSOUNDS = 0x0038 } 7386 -enum : uint { SPI_SETSHOWSOUNDS = 0x0039 } 7387 -enum : uint { SPI_GETSTICKYKEYS = 0x003A } 7388 -enum : uint { SPI_SETSTICKYKEYS = 0x003B } 7389 -enum : uint { SPI_GETACCESSTIMEOUT = 0x003C } 7390 -enum : uint { SPI_SETACCESSTIMEOUT = 0x003D } 7391 -// #if(WINVER >= 0x0400) 7392 -enum : uint { SPI_GETSERIALKEYS = 0x003E } 7393 -enum : uint { SPI_SETSERIALKEYS = 0x003F } 7394 -// #endif /* WINVER >= 0x0400 */ 7395 -enum : uint { SPI_GETSOUNDSENTRY = 0x0040 } 7396 -enum : uint { SPI_SETSOUNDSENTRY = 0x0041 } 7397 -// #if(_WIN32_WINNT >= 0x0400) 7398 -enum : uint { SPI_GETSNAPTODEFBUTTON = 0x005F } 7399 -enum : uint { SPI_SETSNAPTODEFBUTTON = 0x0060 } 7400 -// #endif /* _WIN32_WINNT >= 0x0400 */ 7401 -// #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) 7402 -enum : uint { SPI_GETMOUSEHOVERWIDTH = 0x0062 } 7403 -enum : uint { SPI_SETMOUSEHOVERWIDTH = 0x0063 } 7404 -enum : uint { SPI_GETMOUSEHOVERHEIGHT = 0x0064 } 7405 -enum : uint { SPI_SETMOUSEHOVERHEIGHT = 0x0065 } 7406 -enum : uint { SPI_GETMOUSEHOVERTIME = 0x0066 } 7407 -enum : uint { SPI_SETMOUSEHOVERTIME = 0x0067 } 7408 -enum : uint { SPI_GETWHEELSCROLLLINES = 0x0068 } 7409 -enum : uint { SPI_SETWHEELSCROLLLINES = 0x0069 } 7410 -enum : uint { SPI_GETMENUSHOWDELAY = 0x006A } 7411 -enum : uint { SPI_SETMENUSHOWDELAY = 0x006B } 7412 - 7413 -enum : uint { SPI_GETSHOWIMEUI = 0x006E } 7414 -enum : uint { SPI_SETSHOWIMEUI = 0x006F } 7415 -// #endif 7416 - 7417 -// #if(WINVER >= 0x0500) 7418 -enum : uint { SPI_GETMOUSESPEED = 0x0070 } 7419 -enum : uint { SPI_SETMOUSESPEED = 0x0071 } 7420 -enum : uint { SPI_GETSCREENSAVERRUNNING = 0x0072 } 7421 -enum : uint { SPI_GETDESKWALLPAPER = 0x0073 } 7422 -// #endif /* WINVER >= 0x0500 */ 7423 - 7424 -// #if(WINVER >= 0x0500) 7425 -enum : uint { SPI_GETACTIVEWINDOWTRACKING = 0x1000 } 7426 -enum : uint { SPI_SETACTIVEWINDOWTRACKING = 0x1001 } 7427 -enum : uint { SPI_GETMENUANIMATION = 0x1002 } 7428 -enum : uint { SPI_SETMENUANIMATION = 0x1003 } 7429 -enum : uint { SPI_GETCOMBOBOXANIMATION = 0x1004 } 7430 -enum : uint { SPI_SETCOMBOBOXANIMATION = 0x1005 } 7431 -enum : uint { SPI_GETLISTBOXSMOOTHSCROLLING = 0x1006 } 7432 -enum : uint { SPI_SETLISTBOXSMOOTHSCROLLING = 0x1007 } 7433 -enum : uint { SPI_GETGRADIENTCAPTIONS = 0x1008 } 7434 -enum : uint { SPI_SETGRADIENTCAPTIONS = 0x1009 } 7435 -enum : uint { SPI_GETKEYBOARDCUES = 0x100A } 7436 -enum : uint { SPI_SETKEYBOARDCUES = 0x100B } 7437 -alias SPI_GETKEYBOARDCUES SPI_GETMENUUNDERLINES; 7438 -alias SPI_SETKEYBOARDCUES SPI_SETMENUUNDERLINES; 7439 -enum : uint { SPI_GETACTIVEWNDTRKZORDER = 0x100C } 7440 -enum : uint { SPI_SETACTIVEWNDTRKZORDER = 0x100D } 7441 -enum : uint { SPI_GETHOTTRACKING = 0x100E } 7442 -enum : uint { SPI_SETHOTTRACKING = 0x100F } 7443 -enum : uint { SPI_GETMENUFADE = 0x1012 } 7444 -enum : uint { SPI_SETMENUFADE = 0x1013 } 7445 -enum : uint { SPI_GETSELECTIONFADE = 0x1014 } 7446 -enum : uint { SPI_SETSELECTIONFADE = 0x1015 } 7447 -enum : uint { SPI_GETTOOLTIPANIMATION = 0x1016 } 7448 -enum : uint { SPI_SETTOOLTIPANIMATION = 0x1017 } 7449 -enum : uint { SPI_GETTOOLTIPFADE = 0x1018 } 7450 -enum : uint { SPI_SETTOOLTIPFADE = 0x1019 } 7451 -enum : uint { SPI_GETCURSORSHADOW = 0x101A } 7452 -enum : uint { SPI_SETCURSORSHADOW = 0x101B } 7453 -// #if(_WIN32_WINNT >= 0x0501) 7454 -enum : uint { SPI_GETMOUSESONAR = 0x101C } 7455 -enum : uint { SPI_SETMOUSESONAR = 0x101D } 7456 -enum : uint { SPI_GETMOUSECLICKLOCK = 0x101E } 7457 -enum : uint { SPI_SETMOUSECLICKLOCK = 0x101F } 7458 -enum : uint { SPI_GETMOUSEVANISH = 0x1020 } 7459 -enum : uint { SPI_SETMOUSEVANISH = 0x1021 } 7460 -enum : uint { SPI_GETFLATMENU = 0x1022 } 7461 -enum : uint { SPI_SETFLATMENU = 0x1023 } 7462 -enum : uint { SPI_GETDROPSHADOW = 0x1024 } 7463 -enum : uint { SPI_SETDROPSHADOW = 0x1025 } 7464 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7465 - 7466 -enum : uint { SPI_GETUIEFFECTS = 0x103E } 7467 -enum : uint { SPI_SETUIEFFECTS = 0x103F } 7468 - 7469 -enum : uint { SPI_GETFOREGROUNDLOCKTIMEOUT = 0x2000 } 7470 -enum : uint { SPI_SETFOREGROUNDLOCKTIMEOUT = 0x2001 } 7471 -enum : uint { SPI_GETACTIVEWNDTRKTIMEOUT = 0x2002 } 7472 -enum : uint { SPI_SETACTIVEWNDTRKTIMEOUT = 0x2003 } 7473 -enum : uint { SPI_GETFOREGROUNDFLASHCOUNT = 0x2004 } 7474 -enum : uint { SPI_SETFOREGROUNDFLASHCOUNT = 0x2005 } 7475 -enum : uint { SPI_GETCARETWIDTH = 0x2006 } 7476 -enum : uint { SPI_SETCARETWIDTH = 0x2007 } 7477 - 7478 -// #if(_WIN32_WINNT >= 0x0501) 7479 -enum : uint { SPI_GETMOUSECLICKLOCKTIME = 0x2008 } 7480 -enum : uint { SPI_SETMOUSECLICKLOCKTIME = 0x2009 } 7481 -enum : uint { SPI_GETFONTSMOOTHINGTYPE = 0x200A } 7482 -enum : uint { SPI_SETFONTSMOOTHINGTYPE = 0x200B } 7483 - 7484 -enum : uint { FE_FONTSMOOTHINGSTANDARD = 0x0001 } 7485 -enum : uint { FE_FONTSMOOTHINGCLEARTYPE = 0x0002 } 7486 -enum : uint { FE_FONTSMOOTHINGDOCKING = 0x8000 } 7487 - 7488 -enum : uint { SPI_GETFONTSMOOTHINGCONTRAST = 0x200C } 7489 -enum : uint { SPI_SETFONTSMOOTHINGCONTRAST = 0x200D } 7490 - 7491 -enum : uint { SPI_GETFOCUSBORDERWIDTH = 0x200E } 7492 -enum : uint { SPI_SETFOCUSBORDERWIDTH = 0x200F } 7493 -enum : uint { SPI_GETFOCUSBORDERHEIGHT = 0x2010 } 7494 -enum : uint { SPI_SETFOCUSBORDERHEIGHT = 0x2011 } 7495 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7496 - 7497 -// #endif /* WINVER >= 0x0500 */ 7498 - 7499 -enum : uint { SPIF_UPDATEINIFILE = 0x0001 } 7500 -enum : uint { SPIF_SENDWININICHANGE = 0x0002 } 7501 -alias SPIF_SENDWININICHANGE SPIF_SENDCHANGE; 7502 - 7503 -enum { METRICS_USEDEFAULT = -1 } 7504 -// #ifdef _WINGDI_ 7505 -// #ifndef NOGDI 7506 -// ... 7507 -// #ifdef UNICODE 7508 -// ... 7509 -// #else 7510 -// ... 7511 -// #endif // UNICODE 7512 -// #endif /* NOGDI */ 7513 -// #endif /* _WINGDI_ */ 7514 - 7515 -enum : uint { ARW_BOTTOMLEFT = 0x0000 } 7516 -enum : uint { ARW_BOTTOMRIGHT = 0x0001 } 7517 -enum : uint { ARW_TOPLEFT = 0x0002 } 7518 -enum : uint { ARW_TOPRIGHT = 0x0003 } 7519 -enum : uint { ARW_STARTMASK = 0x0003 } 7520 -enum : uint { ARW_STARTRIGHT = 0x0001 } 7521 -enum : uint { ARW_STARTTOP = 0x0002 } 7522 - 7523 -enum : uint { ARW_LEFT = 0x0000 } 7524 -enum : uint { ARW_RIGHT = 0x0000 } 7525 -enum : uint { ARW_UP = 0x0004 } 7526 -enum : uint { ARW_DOWN = 0x0004 } 7527 -enum : uint { ARW_HIDE = 0x0008 } 7528 - 7529 -struct tagMINIMIZEDMETRICS { 7530 - UINT cbSize; 7531 - int iWidth; 7532 - int iHorzGap; 7533 - int iVertGap; 7534 - int iArrange; 7535 -} 7536 -alias tagMINIMIZEDMETRICS MINIMIZEDMETRICS; 7537 -alias tagMINIMIZEDMETRICS* PMINIMIZEDMETRICS; 7538 -alias tagMINIMIZEDMETRICS* LPMINIMIZEDMETRICS; 7539 - 7540 -// #ifdef _WINGDI_ 7541 -// #ifndef NOGDI 7542 -// ... 7543 -// #ifdef UNICODE 7544 -// ... 7545 -// #else 7546 -// ... 7547 -// #endif // UNICODE 7548 -// #endif /* NOGDI */ 7549 -// #endif /* _WINGDI_ */ 7550 - 7551 -struct tagANIMATIONINFO { 7552 - UINT cbSize; 7553 - int iMinAnimate; 7554 -} 7555 -alias tagANIMATIONINFO ANIMATIONINFO; 7556 -alias tagANIMATIONINFO* LPANIMATIONINFO; 7557 - 7558 -struct tagSERIALKEYSA { 7559 - UINT cbSize; 7560 - DWORD dwFlags; 7561 - LPSTR lpszActivePort; 7562 - LPSTR lpszPort; 7563 - UINT iBaudRate; 7564 - UINT iPortState; 7565 - UINT iActive; 7566 -} 7567 -alias tagSERIALKEYSA SERIALKEYSA; 7568 -alias tagSERIALKEYSA* LPSERIALKEYSA; 7569 - 7570 -struct tagSERIALKEYSW { 7571 - UINT cbSize; 7572 - DWORD dwFlags; 7573 - LPWSTR lpszActivePort; 7574 - LPWSTR lpszPort; 7575 - UINT iBaudRate; 7576 - UINT iPortState; 7577 - UINT iActive; 7578 -} 7579 -alias tagSERIALKEYSW SERIALKEYSW; 7580 -alias tagSERIALKEYSW* LPSERIALKEYSW; 7581 - 7582 -// #ifdef UNICODE 7583 -alias SERIALKEYSW SERIALKEYS; 7584 -alias LPSERIALKEYSW LPSERIALKEYS; 7585 -// #else 7586 -// ... 7587 -// #endif // UNICODE 7588 - 7589 -enum : uint { SERKF_SERIALKEYSON = 0x00000001 } 7590 -enum : uint { SERKF_AVAILABLE = 0x00000002 } 7591 -enum : uint { SERKF_INDICATOR = 0x00000004 } 7592 - 7593 -struct tagHIGHCONTRASTA { 7594 - UINT cbSize; 7595 - DWORD dwFlags; 7596 - LPSTR lpszDefaultScheme; 7597 -} 7598 -alias tagHIGHCONTRASTA HIGHCONTRASTA; 7599 -alias tagHIGHCONTRASTA* LPHIGHCONTRASTA; 7600 - 7601 -struct tagHIGHCONTRASTW { 7602 - UINT cbSize; 7603 - DWORD dwFlags; 7604 - LPWSTR lpszDefaultScheme; 7605 -} 7606 -alias tagHIGHCONTRASTW HIGHCONTRASTW; 7607 -alias tagHIGHCONTRASTW* LPHIGHCONTRASTW; 7608 - 7609 -// #ifdef UNICODE 7610 -alias HIGHCONTRASTW HIGHCONTRAST; 7611 -alias LPHIGHCONTRASTW LPHIGHCONTRAST; 7612 -// #else 7613 -// ... 7614 -// #endif // UNICODE 7615 - 7616 -enum : uint { HCF_HIGHCONTRASTON = 0x00000001 } 7617 -enum : uint { HCF_AVAILABLE = 0x00000002 } 7618 -enum : uint { HCF_HOTKEYACTIVE = 0x00000004 } 7619 -enum : uint { HCF_CONFIRMHOTKEY = 0x00000008 } 7620 -enum : uint { HCF_HOTKEYSOUND = 0x00000010 } 7621 -enum : uint { HCF_INDICATOR = 0x00000020 } 7622 -enum : uint { HCF_HOTKEYAVAILABLE = 0x00000040 } 7623 - 7624 -enum : uint { CDS_UPDATEREGISTRY = 0x00000001 } 7625 -enum : uint { CDS_TEST = 0x00000002 } 7626 -enum : uint { CDS_FULLSCREEN = 0x00000004 } 7627 -enum : uint { CDS_GLOBAL = 0x00000008 } 7628 -enum : uint { CDS_SET_PRIMARY = 0x00000010 } 7629 -enum : uint { CDS_VIDEOPARAMETERS = 0x00000020 } 7630 -enum : uint { CDS_RESET = 0x40000000 } 7631 -enum : uint { CDS_NORESET = 0x10000000 } 7632 - 7633 -// #include <tvout.h> 7634 - 7635 -enum : uint { DISP_CHANGE_SUCCESSFUL = 0 } 7636 -enum : uint { DISP_CHANGE_RESTART = 1 } 7637 -enum { DISP_CHANGE_FAILED = -1 } 7638 -enum { DISP_CHANGE_BADMODE = -2 } 7639 -enum { DISP_CHANGE_NOTUPDATED = -3 } 7640 -enum { DISP_CHANGE_BADFLAGS = -4 } 7641 -enum { DISP_CHANGE_BADPARAM = -5 } 7642 -// #if(_WIN32_WINNT >= 0x0501) 7643 -enum { DISP_CHANGE_BADDUALVIEW = -6 } 7644 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7645 - 7646 -// #ifdef _WINGDI_ 7647 -// #ifndef NOGDI 7648 - 7649 -// ... 7650 -// #ifdef UNICODE 7651 -// #... 7652 -// #else 7653 -// #... 7654 -// #endif // !UNICODE 7655 - 7656 -// ... 7657 -// #ifdef UNICODE 7658 -// #... 7659 -// #else 7660 -// #... 7661 -// #endif // !UNICODE 7662 - 7663 -// #... 7664 -// #... 7665 - 7666 -// ... 7667 -// #ifdef UNICODE 7668 -// #... 7669 -// #else 7670 -// #... 7671 -// #endif // !UNICODE 7672 - 7673 -// #if(WINVER >= 0x0500) 7674 - 7675 -// ... 7676 -// #ifdef UNICODE 7677 -// #... 7678 -// #else 7679 -// #... 7680 -// #endif // !UNICODE 7681 - 7682 -// #... 7683 - 7684 -// ... 7685 -// #ifdef UNICODE 7686 -// #... 7687 -// #else 7688 -// #... 7689 -// #endif // !UNICODE 7690 -// #endif /* WINVER >= 0x0500 */ 7691 - 7692 -// #endif /* NOGDI */ 7693 -// #endif /* _WINGDI_ */ 7694 - 7695 -extern(Windows) export BOOL SystemParametersInfoA( 7696 - UINT uiAction, 7697 - UINT uiParam, 7698 - PVOID pvParam, 7699 - UINT fWinIni); 7700 -extern(Windows) export BOOL SystemParametersInfoW( 7701 - UINT uiAction, 7702 - UINT uiParam, 7703 - PVOID pvParam, 7704 - UINT fWinIni); 7705 -// #ifdef UNICODE 7706 -alias SystemParametersInfoW SystemParametersInfo; 7707 -// #else 7708 -// #... 7709 -// #endif // !UNICODE 7710 - 7711 -// #endif /* !NOSYSPARAMSINFO */ 7712 - 7713 -struct tagFILTERKEYS { 7714 - UINT cbSize; 7715 - DWORD dwFlags; 7716 - DWORD iWaitMSec; 7717 - DWORD iDelayMSec; 7718 - DWORD iRepeatMSec; 7719 - DWORD iBounceMSec; 7720 -} 7721 -alias tagFILTERKEYS FILTERKEYS; 7722 -alias tagFILTERKEYS* LPFILTERKEYS; 7723 - 7724 -enum : uint { FKF_FILTERKEYSON = 0x00000001 } 7725 -enum : uint { FKF_AVAILABLE = 0x00000002 } 7726 -enum : uint { FKF_HOTKEYACTIVE = 0x00000004 } 7727 -enum : uint { FKF_CONFIRMHOTKEY = 0x00000008 } 7728 -enum : uint { FKF_HOTKEYSOUND = 0x00000010 } 7729 -enum : uint { FKF_INDICATOR = 0x00000020 } 7730 -enum : uint { FKF_CLICKON = 0x00000040 } 7731 - 7732 -struct tagSTICKYKEYS { 7733 - UINT cbSize; 7734 - DWORD dwFlags; 7735 -} 7736 -alias tagSTICKYKEYS STICKYKEYS; 7737 -alias tagSTICKYKEYS* LPSTICKYKEYS; 7738 - 7739 -enum : uint { SKF_STICKYKEYSON = 0x00000001 } 7740 -enum : uint { SKF_AVAILABLE = 0x00000002 } 7741 -enum : uint { SKF_HOTKEYACTIVE = 0x00000004 } 7742 -enum : uint { SKF_CONFIRMHOTKEY = 0x00000008 } 7743 -enum : uint { SKF_HOTKEYSOUND = 0x00000010 } 7744 -enum : uint { SKF_INDICATOR = 0x00000020 } 7745 -enum : uint { SKF_AUDIBLEFEEDBACK = 0x00000040 } 7746 -enum : uint { SKF_TRISTATE = 0x00000080 } 7747 -enum : uint { SKF_TWOKEYSOFF = 0x00000100 } 7748 -// #if(_WIN32_WINNT >= 0x0500) 7749 -enum : uint { SKF_LALTLATCHED = 0x10000000 } 7750 -enum : uint { SKF_LCTLLATCHED = 0x04000000 } 7751 -enum : uint { SKF_LSHIFTLATCHED = 0x01000000 } 7752 -enum : uint { SKF_RALTLATCHED = 0x20000000 } 7753 -enum : uint { SKF_RCTLLATCHED = 0x08000000 } 7754 -enum : uint { SKF_RSHIFTLATCHED = 0x02000000 } 7755 -enum : uint { SKF_LWINLATCHED = 0x40000000 } 7756 -enum : uint { SKF_RWINLATCHED = 0x80000000 } 7757 -enum : uint { SKF_LALTLOCKED = 0x00100000 } 7758 -enum : uint { SKF_LCTLLOCKED = 0x00040000 } 7759 -enum : uint { SKF_LSHIFTLOCKED = 0x00010000 } 7760 -enum : uint { SKF_RALTLOCKED = 0x00200000 } 7761 -enum : uint { SKF_RCTLLOCKED = 0x00080000 } 7762 -enum : uint { SKF_RSHIFTLOCKED = 0x00020000 } 7763 -enum : uint { SKF_LWINLOCKED = 0x00400000 } 7764 -enum : uint { SKF_RWINLOCKED = 0x00800000 } 7765 -// #endif /* _WIN32_WINNT >= 0x0500 */ 7766 - 7767 -struct tagMOUSEKEYS { 7768 - UINT cbSize; 7769 - DWORD dwFlags; 7770 - DWORD iMaxSpeed; 7771 - DWORD iTimeToMaxSpeed; 7772 - DWORD iCtrlSpeed; 7773 - DWORD dwReserved1; 7774 - DWORD dwReserved2; 7775 -} 7776 -alias tagMOUSEKEYS MOUSEKEYS; 7777 -alias tagMOUSEKEYS* LPMOUSEKEYS; 7778 - 7779 -enum : uint { MKF_MOUSEKEYSON = 0x00000001 } 7780 -enum : uint { MKF_AVAILABLE = 0x00000002 } 7781 -enum : uint { MKF_HOTKEYACTIVE = 0x00000004 } 7782 -enum : uint { MKF_CONFIRMHOTKEY = 0x00000008 } 7783 -enum : uint { MKF_HOTKEYSOUND = 0x00000010 } 7784 -enum : uint { MKF_INDICATOR = 0x00000020 } 7785 -enum : uint { MKF_MODIFIERS = 0x00000040 } 7786 -enum : uint { MKF_REPLACENUMBERS = 0x00000080 } 7787 -// #if(_WIN32_WINNT >= 0x0500) 7788 -enum : uint { MKF_LEFTBUTTONSEL = 0x10000000 } 7789 -enum : uint { MKF_RIGHTBUTTONSEL = 0x20000000 } 7790 -enum : uint { MKF_LEFTBUTTONDOWN = 0x01000000 } 7791 -enum : uint { MKF_RIGHTBUTTONDOWN = 0x02000000 } 7792 -enum : uint { MKF_MOUSEMODE = 0x80000000 } 7793 -// #endif /* _WIN32_WINNT >= 0x0500 */ 7794 - 7795 -struct tagACCESSTIMEOUT { 7796 - UINT cbSize; 7797 - DWORD dwFlags; 7798 - DWORD iTimeOutMSec; 7799 -} 7800 -alias tagACCESSTIMEOUT ACCESSTIMEOUT; 7801 -alias tagACCESSTIMEOUT* LPACCESSTIMEOUT; 7802 - 7803 -enum : uint { ATF_TIMEOUTON = 0x00000001 } 7804 -enum : uint { ATF_ONOFFFEEDBACK = 0x00000002 } 7805 - 7806 -enum : uint { SSGF_NONE = 0 } 7807 -enum : uint { SSGF_DISPLAY = 3 } 7808 - 7809 -enum : uint { SSTF_NONE = 0 } 7810 -enum : uint { SSTF_CHARS = 1 } 7811 -enum : uint { SSTF_BORDER = 2 } 7812 -enum : uint { SSTF_DISPLAY = 3 } 7813 - 7814 -enum : uint { SSWF_NONE = 0 } 7815 -enum : uint { SSWF_TITLE = 1 } 7816 -enum : uint { SSWF_WINDOW = 2 } 7817 -enum : uint { SSWF_DISPLAY = 3 } 7818 -enum : uint { SSWF_CUSTOM = 4 } 7819 - 7820 -struct tagSOUNDSENTRYA { 7821 - UINT cbSize; 7822 - DWORD dwFlags; 7823 - DWORD iFSTextEffect; 7824 - DWORD iFSTextEffectMSec; 7825 - DWORD iFSTextEffectColorBits; 7826 - DWORD iFSGrafEffect; 7827 - DWORD iFSGrafEffectMSec; 7828 - DWORD iFSGrafEffectColor; 7829 - DWORD iWindowsEffect; 7830 - DWORD iWindowsEffectMSec; 7831 - LPSTR lpszWindowsEffectDLL; 7832 - DWORD iWindowsEffectOrdinal; 7833 -} 7834 -alias tagSOUNDSENTRYA SOUNDSENTRYA; 7835 -alias tagSOUNDSENTRYA* LPSOUNDSENTRYA; 7836 - 7837 -struct tagSOUNDSENTRYW { 7838 - UINT cbSize; 7839 - DWORD dwFlags; 7840 - DWORD iFSTextEffect; 7841 - DWORD iFSTextEffectMSec; 7842 - DWORD iFSTextEffectColorBits; 7843 - DWORD iFSGrafEffect; 7844 - DWORD iFSGrafEffectMSec; 7845 - DWORD iFSGrafEffectColor; 7846 - DWORD iWindowsEffect; 7847 - DWORD iWindowsEffectMSec; 7848 - LPWSTR lpszWindowsEffectDLL; 7849 - DWORD iWindowsEffectOrdinal; 7850 -} 7851 -alias tagSOUNDSENTRYW SOUNDSENTRYW; 7852 -alias tagSOUNDSENTRYW* LPSOUNDSENTRYW; 7853 - 7854 -// #ifdef UNICODE 7855 -alias SOUNDSENTRYW SOUNDSENTRY; 7856 -alias LPSOUNDSENTRYW LPSOUNDSENTRY; 7857 -// #else 7858 -// ... 7859 -// #endif // UNICODE 7860 - 7861 -enum : uint { SSF_SOUNDSENTRYON = 0x00000001 } 7862 -enum : uint { SSF_AVAILABLE = 0x00000002 } 7863 -enum : uint { SSF_INDICATOR = 0x00000004 } 7864 - 7865 -struct tagTOGGLEKEYS { 7866 - UINT cbSize; 7867 - DWORD dwFlags; 7868 -} 7869 -alias tagTOGGLEKEYS TOGGLEKEYS; 7870 -alias tagTOGGLEKEYS* LPTOGGLEKEYS; 7871 - 7872 -enum : uint { TKF_TOGGLEKEYSON = 0x00000001 } 7873 -enum : uint { TKF_AVAILABLE = 0x00000002 } 7874 -enum : uint { TKF_HOTKEYACTIVE = 0x00000004 } 7875 -enum : uint { TKF_CONFIRMHOTKEY = 0x00000008 } 7876 -enum : uint { TKF_HOTKEYSOUND = 0x00000010 } 7877 -enum : uint { TKF_INDICATOR = 0x00000020 } 7878 - 7879 -extern(Windows) export VOID SetDebugErrorLevel( 7880 - DWORD dwLevel); 7881 - 7882 -enum : uint { SLE_ERROR = 0x00000001 } 7883 -enum : uint { SLE_MINORERROR = 0x00000002 } 7884 -enum : uint { SLE_WARNING = 0x00000003 } 7885 - 7886 -extern(Windows) export VOID SetLastErrorEx( 7887 - DWORD dwErrCode, 7888 - DWORD dwType); 7889 - 7890 -// #if(WINVER >= 0x0500) 7891 - 7892 -enum : uint { MONITOR_DEFAULTTONULL = 0x00000000 } 7893 -enum : uint { MONITOR_DEFAULTTOPRIMARY = 0x00000001 } 7894 -enum : uint { MONITOR_DEFAULTTONEAREST = 0x00000002 } 7895 - 7896 -extern(Windows) export HMONITOR MonitorFromPoint( 7897 - POINT pt, 7898 - DWORD dwFlags); 7899 - 7900 -extern(Windows) export HMONITOR MonitorFromRect( 7901 - LPCRECT lprc, 7902 - DWORD dwFlags); 7903 - 7904 -extern(Windows) export HMONITOR MonitorFromWindow(HWND hwnd, DWORD dwFlags); 7905 - 7906 -enum : uint { MONITORINFOF_PRIMARY = 0x00000001 } 7907 - 7908 -// #ifndef CCHDEVICENAME 7909 -// #... 7910 -// #endif 7911 - 7912 -struct tagMONITORINFO { 7913 - DWORD cbSize; 7914 - RECT rcMonitor; 7915 - RECT rcWork; 7916 - DWORD dwFlags; 7917 -} 7918 -alias tagMONITORINFO MONITORINFO; 7919 -alias tagMONITORINFO* LPMONITORINFO; 7920 - 7921 -// #ifdef __cplusplus 7922 -struct tagMONITORINFOEXA { 7923 - DWORD cbSize; 7924 - RECT rcMonitor; 7925 - RECT rcWork; 7926 - DWORD dwFlags; 7927 - CHAR szDevice[CCHDEVICENAME]; 7928 -} 7929 -alias tagMONITORINFOEXA MONITORINFOEXA; 7930 -alias tagMONITORINFOEXA* LPMONITORINFOEXA; 7931 - 7932 -struct tagMONITORINFOEXW { 7933 - DWORD cbSize; 7934 - RECT rcMonitor; 7935 - RECT rcWork; 7936 - DWORD dwFlags; 7937 - WCHAR szDevice[CCHDEVICENAME]; 7938 -} 7939 -alias tagMONITORINFOEXW MONITORINFOEXW; 7940 -alias tagMONITORINFOEXW* LPMONITORINFOEXW; 7941 - 7942 -// #ifdef UNICODE 7943 -alias MONITORINFOEXW MONITORINFOEX; 7944 -alias LPMONITORINFOEXW LPMONITORINFOEX; 7945 -// #else 7946 -// ... 7947 -// #endif // UNICODE 7948 -// #else // ndef __cplusplus 7949 -// ... 7950 -// #ifdef UNICODE 7951 -// ... 7952 -// #else 7953 -// ... 7954 -// #endif // UNICODE 7955 -// #endif 7956 - 7957 -extern(Windows) export BOOL GetMonitorInfoA(HMONITOR hMonitor, LPMONITORINFO lpmi); 7958 -extern(Windows) export BOOL GetMonitorInfoW(HMONITOR hMonitor, LPMONITORINFO lpmi); 7959 -// #ifdef UNICODE 7960 -alias GetMonitorInfoW GetMonitorInfo; 7961 -// #else 7962 -// #... 7963 -// #endif // !UNICODE 7964 - 7965 -extern(Windows) alias BOOL function(HMONITOR, HDC, LPRECT, LPARAM) MONITORENUMPROC; 7966 - 7967 -extern(Windows) export BOOL EnumDisplayMonitors( 7968 - HDC hdc, 7969 - LPCRECT lprcClip, 7970 - MONITORENUMPROC lpfnEnum, 7971 - LPARAM dwData); 7972 - 7973 -// #ifndef NOWINABLE 7974 - 7975 -extern(Windows) export VOID NotifyWinEvent( 7976 - DWORD event, 7977 - HWND hwnd, 7978 - LONG idObject, 7979 - LONG idChild); 7980 - 7981 -extern(Windows) alias VOID function( HWINEVENTHOOK hWinEventHook, DWORD event, HWND hwnd, LONG idObject, LONG idChild, DWORD idEventThread, DWORD dwmsEventTime) WINEVENTPROC; 7982 - 7983 -extern(Windows) export HWINEVENTHOOK SetWinEventHook( 7984 - DWORD eventMin, 7985 - DWORD eventMax, 7986 - HMODULE hmodWinEventProc, 7987 - WINEVENTPROC pfnWinEventProc, 7988 - DWORD idProcess, 7989 - DWORD idThread, 7990 - DWORD dwFlags); 7991 - 7992 -// #if(_WIN32_WINNT >= 0x0501) 7993 -extern(Windows) export BOOL IsWinEventHookInstalled( 7994 - DWORD event); 7995 -// #endif /* _WIN32_WINNT >= 0x0501 */ 7996 - 7997 -enum : uint { WINEVENT_OUTOFCONTEXT = 0x0000 } 7998 -enum : uint { WINEVENT_SKIPOWNTHREAD = 0x0001 } 7999 -enum : uint { WINEVENT_SKIPOWNPROCESS = 0x0002 } 8000 -enum : uint { WINEVENT_INCONTEXT = 0x0004 } 8001 - 8002 -extern(Windows) export BOOL UnhookWinEvent( 8003 - HWINEVENTHOOK hWinEventHook); 8004 - 8005 -enum : uint { CHILDID_SELF = 0 } 8006 -enum : uint { INDEXID_OBJECT = 0 } 8007 -enum : uint { INDEXID_CONTAINER = 0 } 8008 - 8009 -enum : uint { OBJID_WINDOW = cast(LONG)0x00000000 } 8010 -enum : uint { OBJID_SYSMENU = cast(LONG)0xFFFFFFFF } 8011 -enum : uint { OBJID_TITLEBAR = cast(LONG)0xFFFFFFFE } 8012 -enum : uint { OBJID_MENU = cast(LONG)0xFFFFFFFD } 8013 -enum : uint { OBJID_CLIENT = cast(LONG)0xFFFFFFFC } 8014 -enum : uint { OBJID_VSCROLL = cast(LONG)0xFFFFFFFB } 8015 -enum : uint { OBJID_HSCROLL = cast(LONG)0xFFFFFFFA } 8016 -enum : uint { OBJID_SIZEGRIP = cast(LONG)0xFFFFFFF9 } 8017 -enum : uint { OBJID_CARET = cast(LONG)0xFFFFFFF8 } 8018 -enum : uint { OBJID_CURSOR = cast(LONG)0xFFFFFFF7 } 8019 -enum : uint { OBJID_ALERT = cast(LONG)0xFFFFFFF6 } 8020 -enum : uint { OBJID_SOUND = cast(LONG)0xFFFFFFF5 } 8021 -enum : uint { OBJID_QUERYCLASSNAMEIDX = cast(LONG)0xFFFFFFF4 } 8022 -enum : uint { OBJID_NATIVEOM = cast(LONG)0xFFFFFFF0 } 8023 - 8024 -enum : uint { EVENT_MIN = 0x00000001 } 8025 -enum : uint { EVENT_MAX = 0x7FFFFFFF } 8026 - 8027 -enum : uint { EVENT_SYSTEM_SOUND = 0x0001 } 8028 - 8029 -enum : uint { EVENT_SYSTEM_ALERT = 0x0002 } 8030 - 8031 -enum : uint { EVENT_SYSTEM_FOREGROUND = 0x0003 } 8032 - 8033 -enum : uint { EVENT_SYSTEM_MENUSTART = 0x0004 } 8034 -enum : uint { EVENT_SYSTEM_MENUEND = 0x0005 } 8035 - 8036 -enum : uint { EVENT_SYSTEM_MENUPOPUPSTART = 0x0006 } 8037 -enum : uint { EVENT_SYSTEM_MENUPOPUPEND = 0x0007 } 8038 - 8039 -enum : uint { EVENT_SYSTEM_CAPTURESTART = 0x0008 } 8040 -enum : uint { EVENT_SYSTEM_CAPTUREEND = 0x0009 } 8041 - 8042 -enum : uint { EVENT_SYSTEM_MOVESIZESTART = 0x000A } 8043 -enum : uint { EVENT_SYSTEM_MOVESIZEEND = 0x000B } 8044 - 8045 -enum : uint { EVENT_SYSTEM_CONTEXTHELPSTART = 0x000C } 8046 -enum : uint { EVENT_SYSTEM_CONTEXTHELPEND = 0x000D } 8047 - 8048 -enum : uint { EVENT_SYSTEM_DRAGDROPSTART = 0x000E } 8049 -enum : uint { EVENT_SYSTEM_DRAGDROPEND = 0x000F } 8050 - 8051 -enum : uint { EVENT_SYSTEM_DIALOGSTART = 0x0010 } 8052 -enum : uint { EVENT_SYSTEM_DIALOGEND = 0x0011 } 8053 - 8054 -enum : uint { EVENT_SYSTEM_SCROLLINGSTART = 0x0012 } 8055 -enum : uint { EVENT_SYSTEM_SCROLLINGEND = 0x0013 } 8056 - 8057 -enum : uint { EVENT_SYSTEM_SWITCHSTART = 0x0014 } 8058 -enum : uint { EVENT_SYSTEM_SWITCHEND = 0x0015 } 8059 - 8060 -enum : uint { EVENT_SYSTEM_MINIMIZESTART = 0x0016 } 8061 -enum : uint { EVENT_SYSTEM_MINIMIZEEND = 0x0017 } 8062 - 8063 -// #if(_WIN32_WINNT >= 0x0501) 8064 -enum : uint { EVENT_CONSOLE_CARET = 0x4001 } 8065 -enum : uint { EVENT_CONSOLE_UPDATE_REGION = 0x4002 } 8066 -enum : uint { EVENT_CONSOLE_UPDATE_SIMPLE = 0x4003 } 8067 -enum : uint { EVENT_CONSOLE_UPDATE_SCROLL = 0x4004 } 8068 -enum : uint { EVENT_CONSOLE_LAYOUT = 0x4005 } 8069 -enum : uint { EVENT_CONSOLE_START_APPLICATION = 0x4006 } 8070 -enum : uint { EVENT_CONSOLE_END_APPLICATION = 0x4007 } 8071 - 8072 -enum : uint { CONSOLE_APPLICATION_16BIT = 0x0001 } 8073 - 8074 -enum : uint { CONSOLE_CARET_SELECTION = 0x0001 } 8075 -enum : uint { CONSOLE_CARET_VISIBLE = 0x0002 } 8076 -// #endif /* _WIN32_WINNT >= 0x0501 */ 8077 - 8078 -enum : uint { EVENT_OBJECT_CREATE = 0x8000 } 8079 -enum : uint { EVENT_OBJECT_DESTROY = 0x8001 } 8080 -enum : uint { EVENT_OBJECT_SHOW = 0x8002 } 8081 -enum : uint { EVENT_OBJECT_HIDE = 0x8003 } 8082 -enum : uint { EVENT_OBJECT_REORDER = 0x8004 } 8083 - 8084 -enum : uint { EVENT_OBJECT_FOCUS = 0x8005 } 8085 -enum : uint { EVENT_OBJECT_SELECTION = 0x8006 } 8086 -enum : uint { EVENT_OBJECT_SELECTIONADD = 0x8007 } 8087 -enum : uint { EVENT_OBJECT_SELECTIONREMOVE = 0x8008 } 8088 -enum : uint { EVENT_OBJECT_SELECTIONWITHIN = 0x8009 } 8089 - 8090 -enum : uint { EVENT_OBJECT_STATECHANGE = 0x800A } 8091 - 8092 -enum : uint { EVENT_OBJECT_LOCATIONCHANGE = 0x800B } 8093 - 8094 -enum : uint { EVENT_OBJECT_NAMECHANGE = 0x800C } 8095 -enum : uint { EVENT_OBJECT_DESCRIPTIONCHANGE = 0x800D } 8096 -enum : uint { EVENT_OBJECT_VALUECHANGE = 0x800E } 8097 -enum : uint { EVENT_OBJECT_PARENTCHANGE = 0x800F } 8098 -enum : uint { EVENT_OBJECT_HELPCHANGE = 0x8010 } 8099 -enum : uint { EVENT_OBJECT_DEFACTIONCHANGE = 0x8011 } 8100 -enum : uint { EVENT_OBJECT_ACCELERATORCHANGE = 0x8012 } 8101 - 8102 -enum : uint { SOUND_SYSTEM_STARTUP = 1 } 8103 -enum : uint { SOUND_SYSTEM_SHUTDOWN = 2 } 8104 -enum : uint { SOUND_SYSTEM_BEEP = 3 } 8105 -enum : uint { SOUND_SYSTEM_ERROR = 4 } 8106 -enum : uint { SOUND_SYSTEM_QUESTION = 5 } 8107 -enum : uint { SOUND_SYSTEM_WARNING = 6 } 8108 -enum : uint { SOUND_SYSTEM_INFORMATION = 7 } 8109 -enum : uint { SOUND_SYSTEM_MAXIMIZE = 8 } 8110 -enum : uint { SOUND_SYSTEM_MINIMIZE = 9 } 8111 -enum : uint { SOUND_SYSTEM_RESTOREUP = 10 } 8112 -enum : uint { SOUND_SYSTEM_RESTOREDOWN = 11 } 8113 -enum : uint { SOUND_SYSTEM_APPSTART = 12 } 8114 -enum : uint { SOUND_SYSTEM_FAULT = 13 } 8115 -enum : uint { SOUND_SYSTEM_APPEND = 14 } 8116 -enum : uint { SOUND_SYSTEM_MENUCOMMAND = 15 } 8117 -enum : uint { SOUND_SYSTEM_MENUPOPUP = 16 } 8118 -enum : uint { CSOUND_SYSTEM = 16 } 8119 - 8120 -enum : uint { ALERT_SYSTEM_INFORMATIONAL = 1 } 8121 -enum : uint { ALERT_SYSTEM_WARNING = 2 } 8122 -enum : uint { ALERT_SYSTEM_ERROR = 3 } 8123 -enum : uint { ALERT_SYSTEM_QUERY = 4 } 8124 -enum : uint { ALERT_SYSTEM_CRITICAL = 5 } 8125 -enum : uint { CALERT_SYSTEM = 6 } 8126 - 8127 -struct tagGUITHREADINFO { 8128 - DWORD cbSize; 8129 - DWORD flags; 8130 - HWND hwndActive; 8131 - HWND hwndFocus; 8132 - HWND hwndCapture; 8133 - HWND hwndMenuOwner; 8134 - HWND hwndMoveSize; 8135 - HWND hwndCaret; 8136 - RECT rcCaret; 8137 -} 8138 -alias tagGUITHREADINFO GUITHREADINFO; 8139 -alias tagGUITHREADINFO* PGUITHREADINFO; 8140 -alias tagGUITHREADINFO* LPGUITHREADINFO; 8141 - 8142 -enum : uint { GUI_CARETBLINKING = 0x00000001 } 8143 -enum : uint { GUI_INMOVESIZE = 0x00000002 } 8144 -enum : uint { GUI_INMENUMODE = 0x00000004 } 8145 -enum : uint { GUI_SYSTEMMENUMODE = 0x00000008 } 8146 -enum : uint { GUI_POPUPMENUMODE = 0x00000010 } 8147 -// #if(_WIN32_WINNT >= 0x0501) 8148 -enum : uint { GUI_16BITTASK = 0x00000020 } 8149 -// #endif /* _WIN32_WINNT >= 0x0501 */ 8150 - 8151 -extern(Windows) export BOOL GetGUIThreadInfo( 8152 - DWORD idThread, 8153 - PGUITHREADINFO pgui); 8154 - 8155 -extern(Windows) export UINT GetWindowModuleFileNameA( 8156 - HWND hwnd, 8157 - LPSTR pszFileName, 8158 - UINT cchFileNameMax); 8159 -extern(Windows) export UINT GetWindowModuleFileNameW( 8160 - HWND hwnd, 8161 - LPWSTR pszFileName, 8162 - UINT cchFileNameMax); 8163 -// #ifdef UNICODE 8164 -alias GetWindowModuleFileNameW GetWindowModuleFileName; 8165 -// #else 8166 -// #... 8167 -// #endif // !UNICODE 8168 - 8169 -// #ifndef NO_STATE_FLAGS 8170 -enum : uint { STATE_SYSTEM_UNAVAILABLE = 0x00000001 } 8171 -enum : uint { STATE_SYSTEM_SELECTED = 0x00000002 } 8172 -enum : uint { STATE_SYSTEM_FOCUSED = 0x00000004 } 8173 -enum : uint { STATE_SYSTEM_PRESSED = 0x00000008 } 8174 -enum : uint { STATE_SYSTEM_CHECKED = 0x00000010 } 8175 -enum : uint { STATE_SYSTEM_MIXED = 0x00000020 } 8176 -alias STATE_SYSTEM_MIXED STATE_SYSTEM_INDETERMINATE; 8177 -enum : uint { STATE_SYSTEM_READONLY = 0x00000040 } 8178 -enum : uint { STATE_SYSTEM_HOTTRACKED = 0x00000080 } 8179 -enum : uint { STATE_SYSTEM_DEFAULT = 0x00000100 } 8180 -enum : uint { STATE_SYSTEM_EXPANDED = 0x00000200 } 8181 -enum : uint { STATE_SYSTEM_COLLAPSED = 0x00000400 } 8182 -enum : uint { STATE_SYSTEM_BUSY = 0x00000800 } 8183 -enum : uint { STATE_SYSTEM_FLOATING = 0x00001000 } 8184 -enum : uint { STATE_SYSTEM_MARQUEED = 0x00002000 } 8185 -enum : uint { STATE_SYSTEM_ANIMATED = 0x00004000 } 8186 -enum : uint { STATE_SYSTEM_INVISIBLE = 0x00008000 } 8187 -enum : uint { STATE_SYSTEM_OFFSCREEN = 0x00010000 } 8188 -enum : uint { STATE_SYSTEM_SIZEABLE = 0x00020000 } 8189 -enum : uint { STATE_SYSTEM_MOVEABLE = 0x00040000 } 8190 -enum : uint { STATE_SYSTEM_SELFVOICING = 0x00080000 } 8191 -enum : uint { STATE_SYSTEM_FOCUSABLE = 0x00100000 } 8192 -enum : uint { STATE_SYSTEM_SELECTABLE = 0x00200000 } 8193 -enum : uint { STATE_SYSTEM_LINKED = 0x00400000 } 8194 -enum : uint { STATE_SYSTEM_TRAVERSED = 0x00800000 } 8195 -enum : uint { STATE_SYSTEM_MULTISELECTABLE = 0x01000000 } 8196 -enum : uint { STATE_SYSTEM_EXTSELECTABLE = 0x02000000 } 8197 -enum : uint { STATE_SYSTEM_ALERT_LOW = 0x04000000 } 8198 -enum : uint { STATE_SYSTEM_ALERT_MEDIUM = 0x08000000 } 8199 -enum : uint { STATE_SYSTEM_ALERT_HIGH = 0x10000000 } 8200 -enum : uint { STATE_SYSTEM_PROTECTED = 0x20000000 } 8201 -enum : uint { STATE_SYSTEM_VALID = 0x3FFFFFFF } 8202 -// #endif 8203 - 8204 -enum : uint { CCHILDREN_TITLEBAR = 5 } 8205 -enum : uint { CCHILDREN_SCROLLBAR = 5 } 8206 - 8207 -struct tagCURSORINFO { 8208 - DWORD cbSize; 8209 - DWORD flags; 8210 - HCURSOR hCursor; 8211 - POINT ptScreenPos; 8212 -} 8213 -alias tagCURSORINFO CURSORINFO; 8214 -alias tagCURSORINFO* PCURSORINFO; 8215 -alias tagCURSORINFO* LPCURSORINFO; 8216 - 8217 -enum : uint { CURSOR_SHOWING = 0x00000001 } 8218 - 8219 -extern(Windows) export BOOL GetCursorInfo( 8220 - PCURSORINFO pci 8221 -); 8222 - 8223 -struct tagWINDOWINFO { 8224 - DWORD cbSize; 8225 - RECT rcWindow; 8226 - RECT rcClient; 8227 - DWORD dwStyle; 8228 - DWORD dwExStyle; 8229 - DWORD dwWindowStatus; 8230 - UINT cxWindowBorders; 8231 - UINT cyWindowBorders; 8232 - ATOM atomWindowType; 8233 - WORD wCreatorVersion; 8234 -} 8235 -alias tagWINDOWINFO WINDOWINFO; 8236 -alias tagWINDOWINFO* PWINDOWINFO; 8237 -alias tagWINDOWINFO* LPWINDOWINFO; 8238 - 8239 -enum : uint { WS_ACTIVECAPTION = 0x0001 } 8240 - 8241 -extern(Windows) export BOOL GetWindowInfo( 8242 - HWND hwnd, 8243 - PWINDOWINFO pwi 8244 -); 8245 - 8246 -struct tagTITLEBARINFO { 8247 - DWORD cbSize; 8248 - RECT rcTitleBar; 8249 - DWORD rgstate[CCHILDREN_TITLEBAR+1]; 8250 -} 8251 -alias tagTITLEBARINFO TITLEBARINFO; 8252 -alias tagTITLEBARINFO* PTITLEBARINFO; 8253 -alias tagTITLEBARINFO* LPTITLEBARINFO; 8254 - 8255 -extern(Windows) export BOOL GetTitleBarInfo( 8256 - HWND hwnd, 8257 - PTITLEBARINFO pti 8258 -); 8259 - 8260 -struct tagMENUBARINFO { 8261 - DWORD cbSize; 8262 - RECT rcBar; 8263 - HMENU hMenu; 8264 - HWND hwndMenu; 8265 -// BOOL fBarFocused:1; 8266 -// BOOL fFocused:1; 8267 -} 8268 -alias tagMENUBARINFO MENUBARINFO; 8269 -alias tagMENUBARINFO* PMENUBARINFO; 8270 -alias tagMENUBARINFO* LPMENUBARINFO; 8271 - 8272 -extern(Windows) export BOOL GetMenuBarInfo( 8273 - HWND hwnd, 8274 - LONG idObject, 8275 - LONG idItem, 8276 - PMENUBARINFO pmbi 8277 -); 8278 - 8279 -struct tagSCROLLBARINFO { 8280 - DWORD cbSize; 8281 - RECT rcScrollBar; 8282 - int dxyLineButton; 8283 - int xyThumbTop; 8284 - int xyThumbBottom; 8285 - int reserved; 8286 - DWORD rgstate[CCHILDREN_SCROLLBAR+1]; 8287 -} 8288 -alias tagSCROLLBARINFO SCROLLBARINFO; 8289 -alias tagSCROLLBARINFO* PSCROLLBARINFO; 8290 -alias tagSCROLLBARINFO* LPSCROLLBARINFO; 8291 - 8292 -extern(Windows) export BOOL GetScrollBarInfo( 8293 - HWND hwnd, 8294 - LONG idObject, 8295 - PSCROLLBARINFO psbi 8296 -); 8297 - 8298 -struct tagCOMBOBOXINFO { 8299 - DWORD cbSize; 8300 - RECT rcItem; 8301 - RECT rcButton; 8302 - DWORD stateButton; 8303 - HWND hwndCombo; 8304 - HWND hwndItem; 8305 - HWND hwndList; 8306 -} 8307 -alias tagCOMBOBOXINFO COMBOBOXINFO; 8308 -alias tagCOMBOBOXINFO* PCOMBOBOXINFO; 8309 -alias tagCOMBOBOXINFO* LPCOMBOBOXINFO; 8310 - 8311 -extern(Windows) export BOOL GetComboBoxInfo( 8312 - HWND hwndCombo, 8313 - PCOMBOBOXINFO pcbi 8314 -); 8315 - 8316 -enum : uint { GA_PARENT = 1 } 8317 -enum : uint { GA_ROOT = 2 } 8318 -enum : uint { GA_ROOTOWNER = 3 } 8319 - 8320 -extern(Windows) export HWND GetAncestor( 8321 - HWND hwnd, 8322 - UINT gaFlags 8323 -); 8324 - 8325 -extern(Windows) export HWND RealChildWindowFromPoint( 8326 - HWND hwndParent, 8327 - POINT ptParentClientCoords 8328 -); 8329 - 8330 -extern(Windows) export UINT RealGetWindowClassA( 8331 - HWND hwnd, 8332 - LPSTR pszType, 8333 - UINT cchType 8334 -); 8335 - 8336 -extern(Windows) export UINT RealGetWindowClassW( 8337 - HWND hwnd, 8338 - LPWSTR pszType, 8339 - UINT cchType 8340 -); 8341 -// #ifdef UNICODE 8342 -alias RealGetWindowClassW RealGetWindowClass; 8343 -// #else 8344 -// #... 8345 -// #endif // !UNICODE 8346 - 8347 -struct tagALTTABINFO { 8348 - DWORD cbSize; 8349 - int cItems; 8350 - int cColumns; 8351 - int cRows; 8352 - int iColFocus; 8353 - int iRowFocus; 8354 - int cxItem; 8355 - int cyItem; 8356 - POINT ptStart; 8357 -} 8358 -alias tagALTTABINFO ALTTABINFO; 8359 -alias tagALTTABINFO* PALTTABINFO; 8360 -alias tagALTTABINFO* LPALTTABINFO; 8361 - 8362 -extern(Windows) export BOOL GetAltTabInfoA( 8363 - HWND hwnd, 8364 - int iItem, 8365 - PALTTABINFO pati, 8366 - LPSTR pszItemText, 8367 - UINT cchItemText 8368 -); 8369 -extern(Windows) export BOOL GetAltTabInfoW( 8370 - HWND hwnd, 8371 - int iItem, 8372 - PALTTABINFO pati, 8373 - LPWSTR pszItemText, 8374 - UINT cchItemText 8375 -); 8376 -// #ifdef UNICODE 8377 -alias GetAltTabInfoW GetAltTabInfo; 8378 -// #else 8379 -// #... 8380 -// #endif // !UNICODE 8381 - 8382 -extern(Windows) export DWORD GetListBoxInfo( 8383 - HWND hwnd 8384 -); 8385 - 8386 -// #endif /* NOWINABLE */ 8387 -// #endif /* WINVER >= 0x0500 */ 8388 - 8389 -// #if(_WIN32_WINNT >= 0x0500) 8390 -extern(Windows) export BOOL LockWorkStation(); 8391 -// #endif /* _WIN32_WINNT >= 0x0500 */ 8392 - 8393 -// #if(_WIN32_WINNT >= 0x0500) 8394 - 8395 -extern(Windows) export BOOL UserHandleGrantAccess( 8396 - HANDLE hUserHandle, 8397 - HANDLE hJob, 8398 - BOOL bGrant); 8399 - 8400 -// #endif /* _WIN32_WINNT >= 0x0500 */ 8401 - 8402 -// #if(_WIN32_WINNT >= 0x0501) 8403 - 8404 -alias void* HRAWINPUT; 8405 - 8406 -// #define GET_RAWINPUT_CODE_WPARAM(wParam) ((wParam) & 0xff) 8407 - 8408 -enum : uint { RIM_INPUT = 0 } 8409 - 8410 -enum : uint { RIM_INPUTSINK = 1 } 8411 - 8412 -struct tagRAWINPUTHEADER { 8413 - DWORD dwType; 8414 - DWORD dwSize; 8415 - HANDLE hDevice; 8416 - WPARAM wParam; 8417 -} 8418 -alias tagRAWINPUTHEADER RAWINPUTHEADER; 8419 -alias tagRAWINPUTHEADER* PRAWINPUTHEADER; 8420 -alias tagRAWINPUTHEADER* LPRAWINPUTHEADER; 8421 - 8422 -enum : uint { RIM_TYPEMOUSE = 0 } 8423 -enum : uint { RIM_TYPEKEYBOARD = 1 } 8424 -enum : uint { RIM_TYPEHID = 2 } 8425 - 8426 -struct tagRAWMOUSE { 8427 - 8428 - USHORT usFlags; 8429 -union { 8430 - ULONG ulButtons; 8431 -struct { 8432 - USHORT usButtonFlags; 8433 - USHORT usButtonData; 8434 -} 8435 - 8436 -} 8437 - 8438 - ULONG ulRawButtons; 8439 - LONG lLastX; 8440 - LONG lLastY; 8441 - ULONG ulExtraInformation; 8442 -} 8443 -alias tagRAWMOUSE RAWMOUSE; 8444 -alias tagRAWMOUSE* PRAWMOUSE; 8445 -alias tagRAWMOUSE* LPRAWMOUSE; 8446 - 8447 -enum : uint { RI_MOUSE_LEFT_BUTTON_DOWN = 0x0001 } 8448 -enum : uint { RI_MOUSE_LEFT_BUTTON_UP = 0x0002 } 8449 -enum : uint { RI_MOUSE_RIGHT_BUTTON_DOWN = 0x0004 } 8450 -enum : uint { RI_MOUSE_RIGHT_BUTTON_UP = 0x0008 } 8451 -enum : uint { RI_MOUSE_MIDDLE_BUTTON_DOWN = 0x0010 } 8452 -enum : uint { RI_MOUSE_MIDDLE_BUTTON_UP = 0x0020 } 8453 - 8454 -alias RI_MOUSE_LEFT_BUTTON_DOWN RI_MOUSE_BUTTON_1_DOWN; 8455 -alias RI_MOUSE_LEFT_BUTTON_UP RI_MOUSE_BUTTON_1_UP; 8456 -alias RI_MOUSE_RIGHT_BUTTON_DOWN RI_MOUSE_BUTTON_2_DOWN; 8457 -alias RI_MOUSE_RIGHT_BUTTON_UP RI_MOUSE_BUTTON_2_UP; 8458 -alias RI_MOUSE_MIDDLE_BUTTON_DOWN RI_MOUSE_BUTTON_3_DOWN; 8459 -alias RI_MOUSE_MIDDLE_BUTTON_UP RI_MOUSE_BUTTON_3_UP; 8460 - 8461 -enum : uint { RI_MOUSE_BUTTON_4_DOWN = 0x0040 } 8462 -enum : uint { RI_MOUSE_BUTTON_4_UP = 0x0080 } 8463 -enum : uint { RI_MOUSE_BUTTON_5_DOWN = 0x0100 } 8464 -enum : uint { RI_MOUSE_BUTTON_5_UP = 0x0200 } 8465 - 8466 -enum : uint { RI_MOUSE_WHEEL = 0x0400 } 8467 - 8468 -enum : uint { MOUSE_MOVE_RELATIVE = 0 } 8469 -enum : uint { MOUSE_MOVE_ABSOLUTE = 1 } 8470 -enum : uint { MOUSE_VIRTUAL_DESKTOP = 0x02 } 8471 -enum : uint { MOUSE_ATTRIBUTES_CHANGED = 0x04 } 8472 - 8473 -struct tagRAWKEYBOARD { 8474 - 8475 - USHORT MakeCode; 8476 - USHORT Flags; 8477 - USHORT Reserved; 8478 - USHORT VKey; 8479 - UINT Message; 8480 - ULONG ExtraInformation; 8481 -} 8482 -alias tagRAWKEYBOARD RAWKEYBOARD; 8483 -alias tagRAWKEYBOARD* PRAWKEYBOARD; 8484 -alias tagRAWKEYBOARD* LPRAWKEYBOARD; 8485 - 8486 -enum : uint { KEYBOARD_OVERRUN_MAKE_CODE = 0xFF } 8487 - 8488 -enum : uint { RI_KEY_MAKE = 0 } 8489 -enum : uint { RI_KEY_BREAK = 1 } 8490 -enum : uint { RI_KEY_E0 = 2 } 8491 -enum : uint { RI_KEY_E1 = 4 } 8492 -enum : uint { RI_KEY_TERMSRV_SET_LED = 8 } 8493 -enum : uint { RI_KEY_TERMSRV_SHADOW = 0x10 } 8494 - 8495 -struct tagRAWHID { 8496 - DWORD dwSizeHid; 8497 - DWORD dwCount; 8498 - BYTE bRawData[1]; 8499 -} 8500 -alias tagRAWHID RAWHID; 8501 -alias tagRAWHID* PRAWHID; 8502 -alias tagRAWHID* LPRAWHID; 8503 - 8504 -struct tagRAWINPUT { 8505 - RAWINPUTHEADER header; 8506 -union { 8507 - RAWMOUSE mouse; 8508 - RAWKEYBOARD keyboard; 8509 - RAWHID hid; 8510 -} 8511 - 8512 -} 8513 -alias tagRAWINPUT RAWINPUT; 8514 -alias tagRAWINPUT* PRAWINPUT; 8515 -alias tagRAWINPUT* LPRAWINPUT; 8516 - 8517 -// #ifdef _WIN64 8518 -// #... 8519 -// #else // _WIN64 8520 -uint RAWINPUT_ALIGN(uint x){ return ((x + DWORD.sizeof - 1) & ~(DWORD.sizeof - 1)); } 8521 -// #endif // _WIN64 8522 - 8523 -// #define NEXTRAWINPUTBLOCK(ptr) ((PRAWINPUT)RAWINPUT_ALIGN((ULONG_PTR)((PBYTE)(ptr) + (ptr)->header.dwSize))) 8524 - 8525 -enum : uint { RID_INPUT = 0x10000003 } 8526 -enum : uint { RID_HEADER = 0x10000005 } 8527 - 8528 -extern(Windows) export UINT GetRawInputData( 8529 - HRAWINPUT hRawInput, 8530 - UINT uiCommand, 8531 - LPVOID pData, 8532 - PUINT pcbSize, 8533 - UINT cbSizeHeader); 8534 - 8535 -enum : uint { RIDI_PREPARSEDDATA = 0x20000005 } 8536 -enum : uint { RIDI_DEVICENAME = 0x20000007 } 8537 -enum : uint { RIDI_DEVICEINFO = 0x2000000b } 8538 - 8539 -struct tagRID_DEVICE_INFO_MOUSE { 8540 - DWORD dwId; 8541 - DWORD dwNumberOfButtons; 8542 - DWORD dwSampleRate; 8543 -} 8544 -alias tagRID_DEVICE_INFO_MOUSE RID_DEVICE_INFO_MOUSE; 8545 -alias tagRID_DEVICE_INFO_MOUSE* PRID_DEVICE_INFO_MOUSE; 8546 - 8547 -struct tagRID_DEVICE_INFO_KEYBOARD { 8548 - DWORD dwType; 8549 - DWORD dwSubType; 8550 - DWORD dwKeyboardMode; 8551 - DWORD dwNumberOfFunctionKeys; 8552 - DWORD dwNumberOfIndicators; 8553 - DWORD dwNumberOfKeysTotal; 8554 -} 8555 -alias tagRID_DEVICE_INFO_KEYBOARD RID_DEVICE_INFO_KEYBOARD; 8556 -alias tagRID_DEVICE_INFO_KEYBOARD* PRID_DEVICE_INFO_KEYBOARD; 8557 - 8558 -struct tagRID_DEVICE_INFO_HID { 8559 - DWORD dwVendorId; 8560 - DWORD dwProductId; 8561 - DWORD dwVersionNumber; 8562 - USHORT usUsagePage; 8563 - USHORT usUsage; 8564 -} 8565 -alias tagRID_DEVICE_INFO_HID RID_DEVICE_INFO_HID; 8566 -alias tagRID_DEVICE_INFO_HID* PRID_DEVICE_INFO_HID; 8567 - 8568 -struct tagRID_DEVICE_INFO { 8569 - DWORD cbSize; 8570 - DWORD dwType; 8571 -union { 8572 - RID_DEVICE_INFO_MOUSE mouse; 8573 - RID_DEVICE_INFO_KEYBOARD keyboard; 8574 - RID_DEVICE_INFO_HID hid; 8575 -} 8576 - 8577 -} 8578 -alias tagRID_DEVICE_INFO RID_DEVICE_INFO; 8579 -alias tagRID_DEVICE_INFO* PRID_DEVICE_INFO; 8580 -alias tagRID_DEVICE_INFO* LPRID_DEVICE_INFO; 8581 - 8582 -extern(Windows) export UINT GetRawInputDeviceInfoA( 8583 - HANDLE hDevice, 8584 - UINT uiCommand, 8585 - LPVOID pData, 8586 - PUINT pcbSize); 8587 -extern(Windows) export UINT GetRawInputDeviceInfoW( 8588 - HANDLE hDevice, 8589 - UINT uiCommand, 8590 - LPVOID pData, 8591 - PUINT pcbSize); 8592 -// #ifdef UNICODE 8593 -alias GetRawInputDeviceInfoW GetRawInputDeviceInfo; 8594 -// #else 8595 -// #... 8596 -// #endif // !UNICODE 8597 - 8598 -extern(Windows) export UINT GetRawInputBuffer( 8599 - PRAWINPUT pData, 8600 - PUINT pcbSize, 8601 - UINT cbSizeHeader); 8602 - 8603 -struct tagRAWINPUTDEVICE { 8604 - USHORT usUsagePage; 8605 - USHORT usUsage; 8606 - DWORD dwFlags; 8607 - HWND hwndTarget; 8608 -} 8609 -alias tagRAWINPUTDEVICE RAWINPUTDEVICE; 8610 -alias tagRAWINPUTDEVICE* PRAWINPUTDEVICE; 8611 -alias tagRAWINPUTDEVICE* LPRAWINPUTDEVICE; 8612 - 8613 -alias RAWINPUTDEVICE* PCRAWINPUTDEVICE; 8614 - 8615 -enum : uint { RIDEV_REMOVE = 0x00000001 } 8616 -enum : uint { RIDEV_EXCLUDE = 0x00000010 } 8617 -enum : uint { RIDEV_PAGEONLY = 0x00000020 } 8618 -enum : uint { RIDEV_NOLEGACY = 0x00000030 } 8619 -enum : uint { RIDEV_CAPTUREMOUSE = 0x00000200 } 8620 -enum : uint { RIDEV_NOHOTKEYS = 0x00000200 } 8621 -enum : uint { RIDEV_EXMODEMASK = 0x000000F0 } 8622 - 8623 -// #define RIDEV_EXMODE(mode) ((mode) & RIDEV_EXMODEMASK) 8624 - 8625 -extern(Windows) export BOOL RegisterRawInputDevices( 8626 - PCRAWINPUTDEVICE pRawInputDevices, 8627 - UINT uiNumDevices, 8628 - UINT cbSize); 8629 - 8630 -extern(Windows) export UINT GetRegisteredRawInputDevices( 8631 - PRAWINPUTDEVICE pRawInputDevices, 8632 - PUINT puiNumDevices, 8633 - UINT cbSize); 8634 - 8635 -struct tagRAWINPUTDEVICELIST { 8636 - HANDLE hDevice; 8637 - DWORD dwType; 8638 -} 8639 -alias tagRAWINPUTDEVICELIST RAWINPUTDEVICELIST; 8640 -alias tagRAWINPUTDEVICELIST* PRAWINPUTDEVICELIST; 8641 - 8642 -extern(Windows) export UINT GetRawInputDeviceList( 8643 - PRAWINPUTDEVICELIST pRawInputDeviceList, 8644 - PUINT puiNumDevices, 8645 - UINT cbSize); 8646 - 8647 -extern(Windows) export LRESULT DefRawInputProc( 8648 - PRAWINPUT* paRawInput, 8649 - INT nInput, 8650 - UINT cbSizeHeader); 8651 - 8652 -// #endif /* _WIN32_WINNT >= 0x0501 */ 8653 - 8654 -// #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ 8655 -// #if ISOLATION_AWARE_ENABLED 8656 -// #... 8657 -// #endif /* ISOLATION_AWARE_ENABLED */ 8658 -// #endif /* RC */ 8659 - 8660 -// #ifdef __cplusplus 8661 -// } 8662 -// #endif /* __cplusplus */ 8663 - 8664 -// #endif /* !_WINUSER_ */ 8665 - 4754 +alias WNDCLASS* LPWNDCLASS, PWNDCLASS; 4755 +alias WNDCLASSEX* LPWNDCLASSEX, PWNDCLASSEX; 4756 +alias MENUITEMINFO* LPMENUITEMINFO; 4757 +alias MSGBOXPARAMS* PMSGBOXPARAMS, LPMSGBOXPARAMS; 4758 +alias HIGHCONTRAST* LPHIGHCONTRAST; 4759 +alias SERIALKEYS* LPSERIALKEYS; 4760 +alias SOUNDSENTRY* LPSOUNDSENTRY; 4761 +alias CREATESTRUCT* LPCREATESTRUCT; 4762 +alias CBT_CREATEWND* LPCBT_CREATEWND; 4763 +alias MDICREATESTRUCT* LPMDICREATESTRUCT; 4764 +alias MULTIKEYHELP* PMULTIKEYHELP, LPMULTIKEYHELP; 4765 +alias MONITORINFOEX* LPMONITORINFOEX; 4766 +alias ICONMETRICS* LPICONMETRICS; 4767 +alias NONCLIENTMETRICS* LPNONCLIENTMETRICS;

Modified src/win32/winver.d from [e2bb31df25854a97] to [4fd71adb18fd2e65].

1 +/***********************************************************************\ 2 +* winver.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* by Stewart Gordon * 8 +* * 9 +* Placed into public domain * 10 +\***********************************************************************/ 1 11 module win32.winver; 2 12 3 -// Translated from Microsoft Platform SDK August 2001 Edition 4 -// by Y.Tomino 13 +private import win32.windef; 14 + 15 +// FIXME: type weirdness 16 +enum { 17 + VS_FILE_INFO = 16, 18 + VS_VERSION_INFO = 1, 19 + VS_USER_DEFINED = 100 20 +} 21 + 22 +enum { 23 + VS_FFI_SIGNATURE = 0xFEEF04BD, 24 + VS_FFI_STRUCVERSION = 0x10000, 25 + VS_FFI_FILEFLAGSMASK = 0x3F 26 +} 5 27 6 -import win32.winuser; 28 +enum { 29 + VS_FF_DEBUG = 1, 30 + VS_FF_PRERELEASE = 2, 31 + VS_FF_PATCHED = 4, 32 + VS_FF_PRIVATEBUILD = 8, 33 + VS_FF_INFOINFERRED = 16, 34 + VS_FF_SPECIALBUILD = 32 35 +} 7 36 8 -// #ifndef VER_H 9 -// #define VER_H 37 +enum { 38 + VOS_UNKNOWN = 0, 39 + VOS_DOS = 0x10000, 40 + VOS_OS216 = 0x20000, 41 + VOS_OS232 = 0x30000, 42 + VOS_NT = 0x40000, 43 + VOS__BASE = 0, 44 + VOS__WINDOWS16 = 1, 45 + VOS__PM16 = 2, 46 + VOS__PM32 = 3, 47 + VOS__WINDOWS32 = 4, 48 + VOS_DOS_WINDOWS16 = 0x10001, 49 + VOS_DOS_WINDOWS32 = 0x10004, 50 + VOS_OS216_PM16 = 0x20002, 51 + VOS_OS232_PM32 = 0x30003, 52 + VOS_NT_WINDOWS32 = 0x40004 53 +} 10 54 11 -// #ifdef __cplusplus 12 -// extern "C" { 13 -// #endif 55 +enum { 56 + VFT_UNKNOWN = 0, 57 + VFT_APP = 1, 58 + VFT_DLL = 2, 59 + VFT_DRV = 3, 60 + VFT_FONT = 4, 61 + VFT_VXD = 5, 62 + VFT_STATIC_LIB = 7 63 +} 14 64 15 -alias RT_VERSION VS_FILE_INFO; 16 -enum : uint { VS_VERSION_INFO = 1 } 17 -enum : uint { VS_USER_DEFINED = 100 } 65 +enum { 66 + VFT2_UNKNOWN = 0, 67 + VFT2_DRV_PRINTER = 1, 68 + VFT2_DRV_KEYBOARD = 2, 69 + VFT2_DRV_LANGUAGE = 3, 70 + VFT2_DRV_DISPLAY = 4, 71 + VFT2_DRV_MOUSE = 5, 72 + VFT2_DRV_NETWORK = 6, 73 + VFT2_DRV_SYSTEM = 7, 74 + VFT2_DRV_INSTALLABLE = 8, 75 + VFT2_DRV_SOUND = 9, 76 + VFT2_DRV_COMM = 10, 77 + VFT2_DRV_INPUTMETHOD = 11, 78 + VFT2_FONT_RASTER = 1, 79 + VFT2_FONT_VECTOR = 2, 80 + VFT2_FONT_TRUETYPE = 3 81 +} 18 82 19 -// #ifndef _MAC 20 -enum : uint { VS_FFI_SIGNATURE = 0xFEEF04BD } 21 -// #else 22 -// #... 23 -// #endif 24 -enum : uint { VS_FFI_STRUCVERSION = 0x00010000 } 25 -enum : uint { VS_FFI_FILEFLAGSMASK = 0x0000003F } 83 +enum : DWORD { 84 + VFFF_ISSHAREDFILE = 1 85 +} 26 86 27 -enum : uint { VS_FF_DEBUG = 0x00000001 } 28 -enum : uint { VS_FF_PRERELEASE = 0x00000002 } 29 -enum : uint { VS_FF_PATCHED = 0x00000004 } 30 -enum : uint { VS_FF_PRIVATEBUILD = 0x00000008 } 31 -enum : uint { VS_FF_INFOINFERRED = 0x00000010 } 32 -enum : uint { VS_FF_SPECIALBUILD = 0x00000020 } 33 - 34 -enum : uint { VOS_UNKNOWN = 0x00000000 } 35 -enum : uint { VOS_DOS = 0x00010000 } 36 -enum : uint { VOS_OS216 = 0x00020000 } 37 -enum : uint { VOS_OS232 = 0x00030000 } 38 -enum : uint { VOS_NT = 0x00040000 } 87 +enum : DWORD { 88 + VFF_CURNEDEST = 1, 89 + VFF_FILEINUSE = 2, 90 + VFF_BUFFTOOSMALL = 4 91 +} 39 92 40 -enum : uint { VOS__BASE = 0x00000000 } 41 -enum : uint { VOS__WINDOWS16 = 0x00000001 } 42 -enum : uint { VOS__PM16 = 0x00000002 } 43 -enum : uint { VOS__PM32 = 0x00000003 } 44 -enum : uint { VOS__WINDOWS32 = 0x00000004 } 45 - 46 -enum : uint { VOS_DOS_WINDOWS16 = 0x00010001 } 47 -enum : uint { VOS_DOS_WINDOWS32 = 0x00010004 } 48 -enum : uint { VOS_OS216_PM16 = 0x00020002 } 49 -enum : uint { VOS_OS232_PM32 = 0x00030003 } 50 -enum : uint { VOS_NT_WINDOWS32 = 0x00040004 } 93 +enum : DWORD { 94 + VIFF_FORCEINSTALL = 1, 95 + VIFF_DONTDELETEOLD 96 +} 51 97 52 -enum : uint { VFT_UNKNOWN = 0x00000000 } 53 -enum : uint { VFT_APP = 0x00000001 } 54 -enum : uint { VFT_DLL = 0x00000002 } 55 -enum : uint { VFT_DRV = 0x00000003 } 56 -enum : uint { VFT_FONT = 0x00000004 } 57 -enum : uint { VFT_VXD = 0x00000005 } 58 -enum : uint { VFT_STATIC_LIB = 0x00000007 } 98 +enum { 99 + VIF_TEMPFILE = 0x00001, 100 + VIF_MISMATCH = 0x00002, 101 + VIF_SRCOLD = 0x00004, 102 + VIF_DIFFLANG = 0x00008, 103 + VIF_DIFFCODEPG = 0x00010, 104 + VIF_DIFFTYPE = 0x00020, 105 + VIF_WRITEPROT = 0x00040, 106 + VIF_FILEINUSE = 0x00080, 107 + VIF_OUTOFSPACE = 0x00100, 108 + VIF_ACCESSVIOLATION = 0x00200, 109 + VIF_SHARINGVIOLATION = 0x00400, 110 + VIF_CANNOTCREATE = 0x00800, 111 + VIF_CANNOTDELETE = 0x01000, 112 + VIF_CANNOTRENAME = 0x02000, 113 + VIF_CANNOTDELETECUR = 0x04000, 114 + VIF_OUTOFMEMORY = 0x08000, 115 + VIF_CANNOTREADSRC = 0x10000, 116 + VIF_CANNOTREADDST = 0x20000, 117 + VIF_BUFFTOOSMALL = 0x40000 118 +} 59 119 60 -enum : uint { VFT2_UNKNOWN = 0x00000000 } 61 -enum : uint { VFT2_DRV_PRINTER = 0x00000001 } 62 -enum : uint { VFT2_DRV_KEYBOARD = 0x00000002 } 63 -enum : uint { VFT2_DRV_LANGUAGE = 0x00000003 } 64 -enum : uint { VFT2_DRV_DISPLAY = 0x00000004 } 65 -enum : uint { VFT2_DRV_MOUSE = 0x00000005 } 66 -enum : uint { VFT2_DRV_NETWORK = 0x00000006 } 67 -enum : uint { VFT2_DRV_SYSTEM = 0x00000007 } 68 -enum : uint { VFT2_DRV_INSTALLABLE = 0x00000008 } 69 -enum : uint { VFT2_DRV_SOUND = 0x00000009 } 70 -enum : uint { VFT2_DRV_COMM = 0x0000000A } 71 -enum : uint { VFT2_DRV_INPUTMETHOD = 0x0000000B } 72 -enum : uint { VFT2_DRV_VERSIONED_PRINTER = 0x0000000C } 73 - 74 -enum : uint { VFT2_FONT_RASTER = 0x00000001 } 75 -enum : uint { VFT2_FONT_VECTOR = 0x00000002 } 76 -enum : uint { VFT2_FONT_TRUETYPE = 0x00000003 } 77 - 78 -enum : uint { VFFF_ISSHAREDFILE = 0x0001 } 79 - 80 -enum : uint { VFF_CURNEDEST = 0x0001 } 81 -enum : uint { VFF_FILEINUSE = 0x0002 } 82 -enum : uint { VFF_BUFFTOOSMALL = 0x0004 } 83 - 84 -enum : uint { VIFF_FORCEINSTALL = 0x0001 } 85 -enum : uint { VIFF_DONTDELETEOLD = 0x0002 } 86 - 87 -enum : uint { VIF_TEMPFILE = 0x00000001 } 88 -enum : uint { VIF_MISMATCH = 0x00000002 } 89 -enum : uint { VIF_SRCOLD = 0x00000004 } 90 - 91 -enum : uint { VIF_DIFFLANG = 0x00000008 } 92 -enum : uint { VIF_DIFFCODEPG = 0x00000010 } 93 -enum : uint { VIF_DIFFTYPE = 0x00000020 } 94 - 95 -enum : uint { VIF_WRITEPROT = 0x00000040 } 96 -enum : uint { VIF_FILEINUSE = 0x00000080 } 97 -enum : uint { VIF_OUTOFSPACE = 0x00000100 } 98 -enum : uint { VIF_ACCESSVIOLATION = 0x00000200 } 99 -enum : uint { VIF_SHARINGVIOLATION = 0x00000400 } 100 -enum : uint { VIF_CANNOTCREATE = 0x00000800 } 101 -enum : uint { VIF_CANNOTDELETE = 0x00001000 } 102 -enum : uint { VIF_CANNOTRENAME = 0x00002000 } 103 -enum : uint { VIF_CANNOTDELETECUR = 0x00004000 } 104 -enum : uint { VIF_OUTOFMEMORY = 0x00008000 } 105 - 106 -enum : uint { VIF_CANNOTREADSRC = 0x00010000 } 107 -enum : uint { VIF_CANNOTREADDST = 0x00020000 } 108 - 109 -enum : uint { VIF_BUFFTOOSMALL = 0x00040000 } 110 -enum : uint { VIF_CANNOTLOADLZ32 = 0x00080000 } 111 -enum : uint { VIF_CANNOTLOADCABINET = 0x00100000 } 120 +struct VS_FIXEDFILEINFO { 121 + DWORD dwSignature; 122 + DWORD dwStrucVersion; 123 + DWORD dwFileVersionMS; 124 + DWORD dwFileVersionLS; 125 + DWORD dwProductVersionMS; 126 + DWORD dwProductVersionLS; 127 + DWORD dwFileFlagsMask; 128 + DWORD dwFileFlags; 129 + DWORD dwFileOS; 130 + DWORD dwFileType; 131 + DWORD dwFileSubtype; 132 + DWORD dwFileDateMS; 133 + DWORD dwFileDateLS; 134 +} 112 135 113 -// #ifndef RC_INVOKED /* RC doesn't need to see the rest of this */ 114 - 115 -struct tagVS_FIXEDFILEINFO { 116 - DWORD dwSignature; 117 - DWORD dwStrucVersion; 118 - DWORD dwFileVersionMS; 119 - DWORD dwFileVersionLS; 120 - DWORD dwProductVersionMS; 121 - DWORD dwProductVersionLS; 122 - DWORD dwFileFlagsMask; 123 - DWORD dwFileFlags; 124 - DWORD dwFileOS; 125 - DWORD dwFileType; 126 - DWORD dwFileSubtype; 127 - DWORD dwFileDateMS; 128 - DWORD dwFileDateLS; 136 +extern (Windows) { 137 + DWORD VerFindFileA(DWORD, LPCSTR, LPCSTR, LPCSTR, LPSTR, PUINT, LPSTR, 138 + PUINT); 139 + DWORD VerFindFileW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, PUINT, LPWSTR, 140 + PUINT); 141 + DWORD VerInstallFileA(DWORD, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPCSTR, LPSTR, 142 + PUINT); 143 + DWORD VerInstallFileW(DWORD, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, 144 + LPWSTR, PUINT); 145 + DWORD GetFileVersionInfoSizeA(LPCSTR, PDWORD); 146 + DWORD GetFileVersionInfoSizeW(LPCWSTR, PDWORD); 147 + BOOL GetFileVersionInfoA(LPCSTR, DWORD, DWORD, PVOID); 148 + BOOL GetFileVersionInfoW(LPCWSTR, DWORD, DWORD, PVOID); 149 + DWORD VerLanguageNameA(DWORD, LPSTR, DWORD); 150 + DWORD VerLanguageNameW(DWORD, LPWSTR, DWORD); 151 + BOOL VerQueryValueA(LPCVOID, LPCSTR, LPVOID*, PUINT); 152 + BOOL VerQueryValueW(LPCVOID, LPCWSTR, LPVOID*, PUINT); 129 153 } 130 -alias tagVS_FIXEDFILEINFO VS_FIXEDFILEINFO; 131 154 132 -extern(Windows) export DWORD VerFindFileA( 133 - DWORD uFlags, 134 - LPSTR szFileName, 135 - LPSTR szWinDir, 136 - LPSTR szAppDir, 137 - LPSTR szCurDir, 138 - PUINT lpuCurDirLen, 139 - LPSTR szDestDir, 140 - PUINT lpuDestDirLen 141 - ); 142 -extern(Windows) export DWORD VerFindFileW( 143 - DWORD uFlags, 144 - LPWSTR szFileName, 145 - LPWSTR szWinDir, 146 - LPWSTR szAppDir, 147 - LPWSTR szCurDir, 148 - PUINT lpuCurDirLen, 149 - LPWSTR szDestDir, 150 - PUINT lpuDestDirLen 151 - ); 152 -// #ifdef UNICODE 153 -alias VerFindFileW VerFindFile; 154 -// #else 155 -// #... 156 -// #endif // !UNICODE 157 - 158 -extern(Windows) export DWORD VerInstallFileA( 159 - DWORD uFlags, 160 - LPSTR szSrcFileName, 161 - LPSTR szDestFileName, 162 - LPSTR szSrcDir, 163 - LPSTR szDestDir, 164 - LPSTR szCurDir, 165 - LPSTR szTmpFile, 166 - PUINT lpuTmpFileLen 167 - ); 168 -extern(Windows) export DWORD VerInstallFileW( 169 - DWORD uFlags, 170 - LPWSTR szSrcFileName, 171 - LPWSTR szDestFileName, 172 - LPWSTR szSrcDir, 173 - LPWSTR szDestDir, 174 - LPWSTR szCurDir, 175 - LPWSTR szTmpFile, 176 - PUINT lpuTmpFileLen 177 - ); 178 -// #ifdef UNICODE 179 -alias VerInstallFileW VerInstallFile; 180 -// #else 181 -// #... 182 -// #endif // !UNICODE 183 - 184 -extern(Windows) export DWORD GetFileVersionInfoSizeA( 185 - LPSTR lptstrFilename, 186 - LPDWORD lpdwHandle 187 - ); 188 - 189 -extern(Windows) export DWORD GetFileVersionInfoSizeW( 190 - LPWSTR lptstrFilename, 191 - LPDWORD lpdwHandle 192 - ); 193 -// #ifdef UNICODE 194 -alias GetFileVersionInfoSizeW GetFileVersionInfoSize; 195 -// #else 196 -// #... 197 -// #endif // !UNICODE 198 - 199 -extern(Windows) export BOOL GetFileVersionInfoA( 200 - LPSTR lptstrFilename, 201 - DWORD dwHandle, 202 - DWORD dwLen, 203 - LPVOID lpData 204 - ); 205 - 206 -extern(Windows) export BOOL GetFileVersionInfoW( 207 - LPWSTR lptstrFilename, 208 - DWORD dwHandle, 209 - DWORD dwLen, 210 - LPVOID lpData 211 - ); 212 -// #ifdef UNICODE 213 -alias GetFileVersionInfoW GetFileVersionInfo; 214 -// #else 215 -// #... 216 -// #endif // !UNICODE 217 - 218 -extern(Windows) export DWORD VerLanguageNameA( 219 - DWORD wLang, 220 - LPSTR szLang, 221 - DWORD nSize 222 - ); 223 -extern(Windows) export DWORD VerLanguageNameW( 224 - DWORD wLang, 225 - LPWSTR szLang, 226 - DWORD nSize 227 - ); 228 -// #ifdef UNICODE 229 -alias VerLanguageNameW VerLanguageName; 230 -// #else 231 -// #... 232 -// #endif // !UNICODE 233 - 234 -extern(Windows) export BOOL VerQueryValueA( 235 - LPVOID pBlock, 236 - LPSTR lpSubBlock, 237 - LPVOID * lplpBuffer, 238 - PUINT puLen 239 - ); 240 -extern(Windows) export BOOL VerQueryValueW( 241 - LPVOID pBlock, 242 - LPWSTR lpSubBlock, 243 - LPVOID * lplpBuffer, 244 - PUINT puLen 245 - ); 246 -// #ifdef UNICODE 247 -alias VerQueryValueW VerQueryValue; 248 -// #else 249 -// #... 250 -// #endif // !UNICODE 251 - 252 -// #endif /* !RC_INVOKED */ 253 - 254 -// #ifdef __cplusplus 255 -// } 256 -// #endif 257 - 258 -// #endif /* !VER_H */ 259 - 155 +version (Unicode) { 156 + alias VerFindFileW VerFindFile; 157 + alias VerQueryValueW VerQueryValue; 158 + alias VerInstallFileW VerInstallFile; 159 + alias GetFileVersionInfoSizeW GetFileVersionInfoSize; 160 + alias GetFileVersionInfoW GetFileVersionInfo; 161 + alias VerLanguageNameW VerLanguageName; 162 + alias VerQueryValueW VerQueryValue; 163 +} else { 164 + alias VerQueryValueA VerQueryValue; 165 + alias VerFindFileA VerFindFile; 166 + alias VerInstallFileA VerInstallFile; 167 + alias GetFileVersionInfoSizeA GetFileVersionInfoSize; 168 + alias GetFileVersionInfoA GetFileVersionInfo; 169 + alias VerLanguageNameA VerLanguageName; 170 + alias VerQueryValueA VerQueryValue; 171 +}

Added src/win32/ws2tcpip.d version [8a3ffcdad49f7276]

1 +/***********************************************************************\ 2 +* ws2tcpip.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 + 11 +module win32.ws2tcpip; 12 + 13 +import win32.w32api; 14 +//import win32.winbase; 15 +import win32.windef; 16 +//import win32.basetyps; 17 +import win32.winsock2; 18 + 19 +enum { 20 + IP_OPTIONS = 1, 21 + 22 + IP_HDRINCL = 2, 23 + IP_TOS = 3, 24 + IP_TTL = 4, 25 + IP_MULTICAST_IF = 9, 26 + IP_MULTICAST_TTL = 10, 27 + IP_MULTICAST_LOOP = 11, 28 + IP_ADD_MEMBERSHIP = 12, 29 + IP_DROP_MEMBERSHIP = 13, 30 + IP_DONTFRAGMENT = 14, 31 + IP_ADD_SOURCE_MEMBERSHIP = 15, 32 + IP_DROP_SOURCE_MEMBERSHIP = 16, 33 + IP_BLOCK_SOURCE = 17, 34 + IP_UNBLOCK_SOURCE = 18, 35 + IP_PKTINFO = 19 36 +} 37 + 38 +enum { 39 + IPV6_UNICAST_HOPS = 4, 40 + IPV6_MULTICAST_IF = 9, 41 + IPV6_MULTICAST_HOPS = 10, 42 + IPV6_MULTICAST_LOOP = 11, 43 + IPV6_ADD_MEMBERSHIP = 12, 44 + IPV6_DROP_MEMBERSHIP = 13, 45 + IPV6_JOIN_GROUP = IPV6_ADD_MEMBERSHIP, 46 + IPV6_LEAVE_GROUP = IPV6_DROP_MEMBERSHIP, 47 + IPV6_PKTINFO = 19 48 +} 49 + 50 +const IP_DEFAULT_MULTICAST_TTL = 1; 51 +const IP_DEFAULT_MULTICAST_LOOP = 1; 52 +const IP_MAX_MEMBERSHIPS = 20; 53 + 54 +const TCP_EXPEDITED_1122 = 2; 55 + 56 +const UDP_NOCHECKSUM = 1; 57 + 58 +enum { 59 + IFF_UP = 1, 60 + IFF_BROADCAST = 2, 61 + IFF_LOOPBACK = 4, 62 + IFF_POINTTOPOINT = 8, 63 + IFF_MULTICAST = 16 64 +} 65 + 66 +const SIO_GET_INTERFACE_LIST = _IOR!('t', 127, u_long); 67 + 68 +const INET_ADDRSTRLEN = 16; 69 +const INET6_ADDRSTRLEN = 46; 70 + 71 +const NI_MAXHOST = 1025; 72 +const NI_MAXSERV = 32; 73 + 74 +const NI_NOFQDN = 0x01; 75 +const NI_NUMERICHOST = 0x02; 76 +const NI_NAMEREQD = 0x04; 77 +const NI_NUMERICSERV = 0x08; 78 +const NI_DGRAM = 0x10; 79 + 80 +const AI_PASSIVE = 1; 81 +const AI_CANONNAME = 2; 82 +const AI_NUMERICHOST = 4; 83 + 84 +const EAI_AGAIN = WSATRY_AGAIN; 85 +const EAI_BADFLAGS = WSAEINVAL; 86 +const EAI_FAIL = WSANO_RECOVERY; 87 +const EAI_FAMILY = WSAEAFNOSUPPORT; 88 +const EAI_MEMORY = WSA_NOT_ENOUGH_MEMORY; 89 +const EAI_NODATA = WSANO_DATA; 90 +const EAI_NONAME = WSAHOST_NOT_FOUND; 91 +const EAI_SERVICE = WSATYPE_NOT_FOUND; 92 +const EAI_SOCKTYPE = WSAESOCKTNOSUPPORT; 93 + 94 +struct ip_mreq { 95 + IN_ADDR imr_multiaddr; 96 + IN_ADDR imr_interface; 97 +} 98 + 99 +struct ip_mreq_source { 100 + IN_ADDR imr_multiaddr; 101 + IN_ADDR imr_sourceaddr; 102 + IN_ADDR imr_interface; 103 +} 104 + 105 +struct ip_msfilter { 106 + IN_ADDR imsf_multiaddr; 107 + IN_ADDR imsf_interface; 108 + u_long imsf_fmode; 109 + u_long imsf_numsrc; 110 + IN_ADDR[1] imsf_slist; 111 +} 112 + 113 +template IP_MSFILTER_SIZE(ULONG numsrc) { 114 + const DWORD IP_MSFILTER_SIZE = ip_msfilter.sizeof - IN_ADDR.sizeof + numsrc * IN_ADDR.sizeof; 115 +} 116 + 117 +struct IN_PKTINFO { 118 + IN_ADDR ipi_addr; 119 + UINT ipi_ifindex; 120 +} 121 + 122 +struct IN6_ADDR { 123 + union { 124 + u_char[16] _S6_u8; 125 + u_short[8] _S6_u16; 126 + u_long[4] _S6_u32; 127 + } 128 +} 129 +alias IN6_ADDR* PIN6_ADDR, LPIN6_ADDR; 130 + 131 +struct SOCKADDR_IN6 { 132 + short sin6_family; 133 + u_short sin6_port; 134 + u_long sin6_flowinfo; 135 + IN6_ADDR sin6_addr; 136 + u_long sin6_scope_id; 137 +}; 138 +alias SOCKADDR_IN6* PSOCKADDR_IN6, LPSOCKADDR_IN6; 139 + 140 +extern IN6_ADDR in6addr_any; 141 +extern IN6_ADDR in6addr_loopback; 142 + 143 +/+ TODO: 144 +#define IN6_ARE_ADDR_EQUAL(a, b) \ 145 + (memcmp ((void*)(a), (void*)(b), sizeof (struct in6_addr)) == 0) 146 + 147 +#define IN6_IS_ADDR_UNSPECIFIED(_addr) \ 148 + ( (((const u_long *)(_addr))[0] == 0) \ 149 + && (((const u_long *)(_addr))[1] == 0) \ 150 + && (((const u_long *)(_addr))[2] == 0) \ 151 + && (((const u_long *)(_addr))[3] == 0)) 152 + 153 +#define IN6_IS_ADDR_LOOPBACK(_addr) \ 154 + ( (((const u_long *)(_addr))[0] == 0) \ 155 + && (((const u_long *)(_addr))[1] == 0) \ 156 + && (((const u_long *)(_addr))[2] == 0) \ 157 + && (((const u_long *)(_addr))[3] == 0x01000000)) 158 + 159 +#define IN6_IS_ADDR_MULTICAST(_addr) (((const u_char *) (_addr))[0] == 0xff) 160 + 161 +#define IN6_IS_ADDR_LINKLOCAL(_addr) \ 162 + ( (((const u_char *)(_addr))[0] == 0xfe) \ 163 + && ((((const u_char *)(_addr))[1] & 0xc0) == 0x80)) 164 + 165 +#define IN6_IS_ADDR_SITELOCAL(_addr) \ 166 + ( (((const u_char *)(_addr))[0] == 0xfe) \ 167 + && ((((const u_char *)(_addr))[1] & 0xc0) == 0xc0)) 168 + 169 +#define IN6_IS_ADDR_V4MAPPED(_addr) \ 170 + ( (((const u_long *)(_addr))[0] == 0) \ 171 + && (((const u_long *)(_addr))[1] == 0) \ 172 + && (((const u_long *)(_addr))[2] == 0xffff0000)) 173 + 174 +#define IN6_IS_ADDR_V4COMPAT(_addr) \ 175 + ( (((const u_long *)(_addr))[0] == 0) \ 176 + && (((const u_long *)(_addr))[1] == 0) \ 177 + && (((const u_long *)(_addr))[2] == 0) \ 178 + && (((const u_long *)(_addr))[3] != 0) \ 179 + && (((const u_long *)(_addr))[3] != 0x01000000)) 180 + 181 +#define IN6_IS_ADDR_MC_NODELOCAL(_addr) \ 182 + ( IN6_IS_ADDR_MULTICAST(_addr) \ 183 + && ((((const u_char *)(_addr))[1] & 0xf) == 0x1)) 184 + 185 +#define IN6_IS_ADDR_MC_LINKLOCAL(_addr) \ 186 + ( IN6_IS_ADDR_MULTICAST (_addr) \ 187 + && ((((const u_char *)(_addr))[1] & 0xf) == 0x2)) 188 + 189 +#define IN6_IS_ADDR_MC_SITELOCAL(_addr) \ 190 + ( IN6_IS_ADDR_MULTICAST(_addr) \ 191 + && ((((const u_char *)(_addr))[1] & 0xf) == 0x5)) 192 + 193 +#define IN6_IS_ADDR_MC_ORGLOCAL(_addr) \ 194 + ( IN6_IS_ADDR_MULTICAST(_addr) \ 195 + && ((((const u_char *)(_addr))[1] & 0xf) == 0x8)) 196 + 197 +#define IN6_IS_ADDR_MC_GLOBAL(_addr) \ 198 + ( IN6_IS_ADDR_MULTICAST(_addr) \ 199 + && ((((const u_char *)(_addr))[1] & 0xf) == 0xe)) 200 ++/ 201 + 202 +alias int socklen_t; 203 + 204 +struct IPV6_MREG { 205 + IN6_ADDR ipv6mr_multiaddr; 206 + uint ipv6mr_interface; 207 +} 208 + 209 +struct IN6_PKTINFO { 210 + IN6_ADDR ipi6_addr; 211 + UINT ipi6_ifindex; 212 +} 213 + 214 +struct addrinfo { 215 + int ai_flags; 216 + int ai_family; 217 + int ai_socktype; 218 + int ai_protocol; 219 + size_t ai_addrlen; 220 + char* ai_canonname; 221 + SOCKADDR* ai_addr; 222 + addrinfo* ai_next; 223 +} 224 + 225 +extern(Windows) { 226 + static if (_WIN32_WINNT >= 0x0501) { 227 + void freeaddrinfo(addrinfo*); 228 + int getaddrinfo (CPtr!(char), CPtr!(char), CPtr!(addrinfo), addrinfo**); 229 + int getnameinfo(CPtr!(SOCKADDR), socklen_t, char*, DWORD, char*, DWORD, int); 230 + } 231 +} 232 + 233 +/+ TODO 234 +static __inline char* 235 +gai_strerrorA(int ecode) 236 +{ 237 + static char message[1024+1]; 238 + DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM 239 + | FORMAT_MESSAGE_IGNORE_INSERTS 240 + | FORMAT_MESSAGE_MAX_WIDTH_MASK; 241 + DWORD dwLanguageId = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); 242 + FormatMessageA(dwFlags, NULL, ecode, dwLanguageId, (LPSTR)message, 1024, NULL); 243 + return message; 244 +} 245 +static __inline WCHAR* 246 +gai_strerrorW(int ecode) 247 +{ 248 + static WCHAR message[1024+1]; 249 + DWORD dwFlags = FORMAT_MESSAGE_FROM_SYSTEM 250 + | FORMAT_MESSAGE_IGNORE_INSERTS 251 + | FORMAT_MESSAGE_MAX_WIDTH_MASK; 252 + DWORD dwLanguageId = MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT); 253 + FormatMessageW(dwFlags, NULL, ecode, dwLanguageId, (LPWSTR)message, 1024, NULL); 254 + return message; 255 +} 256 +#ifdef UNICODE 257 +#define gai_strerror gai_strerrorW 258 +#else 259 +#define gai_strerror gai_strerrorA 260 +#endif 261 ++/ 262 + 263 +extern(Windows) { 264 + INT getnameinfo(SOCKADDR* pSockaddr, socklen_t SockaddrLength, 265 + PCHAR pNodeBuffer, DWORD NodeBufferSize, PCHAR pServiceBuffer, 266 + DWORD ServiceBufferSize, INT Flags); 267 + 268 + static if (_WIN32_WINNT >= 0x0502) { 269 + INT GetNameInfoW(SOCKADDR* pSockaddr, socklen_t SockaddrLength, 270 + PWCHAR pNodeBuffer, DWORD NodeBufferSize, PWCHAR pServiceBuffer, 271 + DWORD ServiceBufferSize, INT Flags); 272 + 273 + alias getnameinfo GetNameInfoA; 274 + 275 + version(Unicode) { 276 + alias GetNameInfoW GetNameInfo; 277 + } else { 278 + alias GetNameInfoA GetNameInfo; 279 + } 280 + } 281 +}

Added src/win32/wtypes.d version [aa198bc3f64df113]

1 +/***********************************************************************\ 2 +* wtypes.d * 3 +* * 4 +* Windows API header module * 5 +* * 6 +* Translated from MinGW Windows headers * 7 +* * 8 +* Placed into public domain * 9 +\***********************************************************************/ 10 +module win32.wtypes; 11 + 12 +import win32.rpc, win32.rpcndr; 13 +private import win32.windef; 14 +private import win32.uuid; // for GUID_NULL 15 + 16 +alias GUID_NULL IID_NULL, CLSID_NULL; 17 + 18 +const ROTFLAGS_REGISTRATIONKEEPSALIVE = 0x01; 19 +const ROTFLAGS_ALLOWANYCLIENT = 0x02; 20 + 21 +// also in winsock2.h 22 +struct BLOB { 23 + ULONG cbSize; 24 + BYTE* pBlobData; 25 +} 26 +alias BLOB* PBLOB, LPBLOB; 27 + 28 +enum DVASPECT { 29 + DVASPECT_CONTENT = 1, 30 + DVASPECT_THUMBNAIL = 2, 31 + DVASPECT_ICON = 4, 32 + DVASPECT_DOCPRINT = 8 33 +} 34 + 35 +enum DVASPECT2 { 36 + DVASPECT_OPAQUE = 16, 37 + DVASPECT_TRANSPARENT = 32 38 +} 39 + 40 +enum STATFLAG { 41 + STATFLAG_DEFAULT = 0, 42 + STATFLAG_NONAME = 1 43 +} 44 + 45 +enum MEMCTX { 46 + MEMCTX_LOCAL = 0, 47 + MEMCTX_TASK, 48 + MEMCTX_SHARED, 49 + MEMCTX_MACSYSTEM, 50 + MEMCTX_UNKNOWN = -1, 51 + MEMCTX_SAME = -2 52 +} 53 + 54 +enum MSHCTX { 55 + MSHCTX_LOCAL = 0, 56 + MSHCTX_NOSHAREDMEM, 57 + MSHCTX_DIFFERENTMACHINE, 58 + MSHCTX_INPROC, 59 + MSHCTX_CROSSCTX 60 +} 61 + 62 +enum CLSCTX { 63 + CLSCTX_INPROC_SERVER = 1, 64 + CLSCTX_INPROC_HANDLER = 2, 65 + CLSCTX_LOCAL_SERVER = 4, 66 + CLSCTX_INPROC_SERVER16 = 8, 67 + CLSCTX_REMOTE_SERVER = 16 68 +} 69 + 70 +enum MSHLFLAGS { 71 + MSHLFLAGS_NORMAL, 72 + MSHLFLAGS_TABLESTRONG, 73 + MSHLFLAGS_TABLEWEAK 74 +} 75 + 76 +struct FLAGGED_WORD_BLOB { 77 + uint fFlags; 78 + uint clSize; 79 + ushort asData[1]; 80 +} 81 + 82 +alias WCHAR OLECHAR; 83 +alias LPWSTR LPOLESTR; 84 +alias LPCWSTR LPCOLESTR; 85 + 86 +alias ushort VARTYPE; 87 +alias short VARIANT_BOOL; 88 +alias VARIANT_BOOL _VARIANT_BOOL; 89 +const VARIANT_BOOL VARIANT_TRUE = -1; // 0xffff; 90 +const VARIANT_BOOL VARIANT_FALSE = 0; 91 + 92 +alias OLECHAR* BSTR; 93 +alias FLAGGED_WORD_BLOB* wireBSTR; 94 +alias BSTR* LPBSTR; 95 +//alias LONG SCODE; // also in winerror 96 +alias HANDLE HCONTEXT, HMETAFILEPICT; 97 + 98 +union CY { 99 + struct { 100 + uint Lo; 101 + int Hi; 102 + } 103 + LONGLONG int64; 104 +} 105 + 106 +alias double DATE; 107 +struct BSTRBLOB { 108 + ULONG cbSize; 109 + PBYTE pData; 110 +} 111 +alias BSTRBLOB* LPBSTRBLOB; 112 + 113 +// Used only in the PROPVARIANT structure 114 +// According to the 2003 SDK, this should be in propidl.h, not here. 115 +struct CLIPDATA { 116 + ULONG cbSize; 117 + int ulClipFmt; 118 + PBYTE pClipData; 119 +} 120 + 121 +enum STGC { 122 + STGC_DEFAULT, 123 + STGC_OVERWRITE, 124 + STGC_ONLYIFCURRENT, 125 + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE 126 +} 127 + 128 +enum STGMOVE { 129 + STGMOVE_MOVE, 130 + STGMOVE_COPY, 131 + STGMOVE_SHALLOWCOPY 132 +} 133 + 134 +enum VARENUM { 135 + VT_EMPTY, 136 + VT_NULL, 137 + VT_I2, 138 + VT_I4, 139 + VT_R4, 140 + VT_R8, 141 + VT_CY, 142 + VT_DATE, 143 + VT_BSTR, 144 + VT_DISPATCH, 145 + VT_ERROR, 146 + VT_BOOL, 147 + VT_VARIANT, 148 + VT_UNKNOWN, 149 + VT_DECIMAL, 150 + VT_I1 = 16, 151 + VT_UI1, 152 + VT_UI2, 153 + VT_UI4, 154 + VT_I8, 155 + VT_UI8, 156 + VT_INT, 157 + VT_UINT, 158 + VT_VOID, 159 + VT_HRESULT, 160 + VT_PTR, 161 + VT_SAFEARRAY, 162 + VT_CARRAY, 163 + VT_USERDEFINED, 164 + VT_LPSTR, 165 + VT_LPWSTR, 166 + VT_RECORD = 36, 167 + VT_INT_PTR = 37, 168 + VT_UINT_PTR = 38, 169 + VT_FILETIME = 64, 170 + VT_BLOB, 171 + VT_STREAM, 172 + VT_STORAGE, 173 + VT_STREAMED_OBJECT, 174 + VT_STORED_OBJECT, 175 + VT_BLOB_OBJECT, 176 + VT_CF, 177 + VT_CLSID, 178 + VT_BSTR_BLOB = 0xfff, 179 + VT_VECTOR = 0x1000, 180 + VT_ARRAY = 0x2000, 181 + VT_BYREF = 0x4000, 182 + VT_RESERVED = 0x8000, 183 + VT_ILLEGAL = 0xffff, 184 + VT_ILLEGALMASKED = 0xfff, 185 + VT_TYPEMASK = 0xfff 186 +}; 187 + 188 +struct BYTE_SIZEDARR { 189 + uint clSize; 190 + byte* pData; 191 +} 192 + 193 +struct WORD_SIZEDARR { 194 + uint clSize; 195 + ushort* pData; 196 +} 197 + 198 +struct DWORD_SIZEDARR { 199 +uint clSize; 200 +uint* pData; 201 +} 202 + 203 +struct HYPER_SIZEDARR { 204 + uint clSize; 205 + hyper* pData; 206 +} 207 + 208 +alias double DOUBLE; 209 + 210 + 211 +struct DECIMAL { 212 + USHORT wReserved; 213 + union { 214 + struct { 215 + ubyte scale; // valid values are 0 to 28 216 + ubyte sign; // 0 for positive, DECIMAL_NEG for negatives. 217 + ubyte DECIMAL_NEG = 0x80; 218 + } 219 + USHORT signscale; 220 + } 221 + ULONG Hi32; 222 + union { 223 + struct { 224 + ULONG Lo32; 225 + ULONG Mid32; 226 + } 227 + ULONGLONG Lo64; 228 + } 229 + // #define DECIMAL_SETZERO(d) {(d).Lo64=(d).Hi32=(d).signscale=0;} 230 + void setZero() { Lo64 = 0; Hi32 = 0; signscale = 0; } 231 +}

Deleted src/win32a.lib version [139cb548220b7d2b]

cannot compute difference between binary files

Modified src/windll.d from [66565a0003521f7b] to [109289fec72a32d4].

1 -サソprivate import win32.ansi.windows; 1 +サソprivate import win32.windows; 2 +private import std.string; 2 3 3 4 class WinDLLException : Exception 4 5 { 5 - private this( char[] msg ) { super(msg); } 6 + private this( string msg ) { super(msg); } 6 7 } 7 8 8 9 class WinDLL 9 10 { 10 11 // constructor: 11 12 // Load a DLL with specified name 12 13 13 - this( char[] dllname ) 14 + this( string dllname ) 14 15 { 15 16 char original_cur[MAX_PATH]; 16 17 char sys[MAX_PATH]; 17 - GetCurrentDirectory(MAX_PATH, original_cur); 18 - GetSystemDirectory(sys, MAX_PATH); 19 - SetCurrentDirectory(sys); 20 - handle = LoadLibrary( dllname ); 21 - SetCurrentDirectory(original_cur); 18 + GetCurrentDirectoryA(MAX_PATH, original_cur.ptr); 19 + GetSystemDirectoryA(sys.ptr, MAX_PATH); 20 + SetCurrentDirectoryA(sys.ptr); 21 + handle = LoadLibraryA( dllname.ptr ); 22 + SetCurrentDirectoryA(original_cur.ptr); 22 23 if( handle is null ) 23 24 throw new WinDLLException( dllname ~ " not found" ); 24 25 } 25 26 26 - static WinDLL load( char[] name ) 27 + static WinDLL load( string name ) 27 28 { 28 29 try { 29 30 return new WinDLL(name); 30 31 } catch(WinDLLException e) { return null; } 31 32 } 32 33 33 34 // close: ................................................................................ 44 45 45 46 // get_api: 46 47 // extract a function with specified name from the DLL. 47 48 // may return null. 48 49 49 50 template get_api(FnT) 50 51 { 51 - FnT get_api( char[] apiname ) 52 + FnT get_api( string apiname ) 52 53 in { assert(handle); } 53 54 body 54 55 { 55 - return cast(FnT) GetProcAddress( handle, apiname ); 56 + return cast(FnT) GetProcAddress( handle, apiname.toStringz() ); 56 57 } 57 58 } 58 59 59 60 // load_resource: 60 61 // extract a resource 61 62 62 - void* load_resource( char[] resname, char* type ) 63 + void* load_resource( string resname, char* type ) 63 64 in { assert(handle); } 64 65 body 65 66 { 66 - HRSRC hi = FindResource( handle, resname, type ); 67 + HRSRC hi = FindResource( handle, resname.toStringz(), type ); 67 68 if( hi is null ) 68 69 return null; 69 70 HGLOBAL hr = LoadResource( handle, hi ); 70 71 if( hr is null ) 71 72 return null; 72 73 return LockResource( hr ); 73 74 } 74 75 75 76 // load_diaglog: 76 77 // specialized version of load_resource 77 78 78 - void* load_dialog( char[] resname ) 79 + void* load_dialog( string resname ) 79 80 { 80 81 return load_resource( resname, RT_DIALOG ); 81 82 } 82 83 83 84 private HINSTANCE handle; 84 85 }