Check-in [c2b7a98c21]

Not logged in
Overview
SHA1 Hash:c2b7a98c2184f5ec81c265e39f8cb64d93ee3fb6
Date: 2011-02-23 12:53:16
User: kinaba
Comment:Initial import
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

Added readme.txt version [0d3d287f0db238f3]

1 +---------------------------- 2 + Quasi-Bga32.DLL 2010/11/25 3 +---------------------------- 4 + 5 +http://www.forest.impress.co.jp/article/2004/07/30/arcsecurity.html 6 +などで脆弱性と指摘されている問題が気になるけれど、Bga32.dllは使い続け 7 +たいという人のための回避策です。展開処理はこの問題に対処しつつ内部で 8 +行い、圧縮などの他の処理は全てオリジナルのBga32.dllに処理を回します。 9 + 10 +本家Bga32.dllが更新されるまでのピンチヒッターということで。 11 + 12 + 13 +★使い方 14 + 15 + * オリジナルの Bga32.dll を _Bga32.dll に、名前を変更する。 16 + * QBga32.dll を Bga32.dll に、名前を変更する。 17 + * 後は DLL を利用する各ソフトウェアの使用方法に従って… 18 + 19 +★オリジナルのBga32.DLLとの相違点 20 + 21 + Bga() API にxコマンドを与えたときの動作のみが変化します。 22 + 23 + * 書庫内の格納ファイルパスの".."を"__"に書き換えながら解凍します。 24 + 25 + * 今のところ、レジストリの設定を読み込みません。 26 + * エラー時の返値が非常にいい加減です。 27 + * 上書き確認ダイアログが簡素なものになっています。 28 + * コマンドラインやオプション、ワイルドカードの解釈は 29 + オリジナルと同じになるように作ったつもりです。 30 + * ただし、突貫で作ったのでたぶんバグだらけです。 31 + 32 +★更新履歴 33 + 34 + 2010/11/25 (0.04) 35 + * _Bga32.dll を探す対象パスからカレントディレクトリを外しました 36 + 2004/8/31 (0.03) 37 + * レスポンスファイルが扱えてなかったバグを修正 38 + * .gzaを正しく展開できないケースがあったっぽいので修正 39 + * 基底ディレクトリの指定がないと正しく動作しないバグ修正 40 + * 進捗状況ダイアログ表示を実装 41 + * SetOwnerWindowProc系APIを実装 42 + * QBgaGetVersion() API を追加。このAPIが必要になる機会は 43 + 基本的には無いようにしたいですが…。オリジナルの 44 + Bga32と偽Bga32を区別したい場合はこのAPIの有無で。 45 + 2004/8/22 46 + * FreeLibrary時に標準入出力を勝手に閉じちゃうバグを修正 47 + 2004/8/20 48 + * 初版公開 49 + 50 +★ソースからコンパイルするには 51 + 52 + Digital Mars D Compiler 0.99 53 + http://www.kmonos.net/alang/d/1.0/changelog1.html#new099 54 + が必要です。 55 + 56 +★著作権等 57 + 58 + src/libbz2ディレクトリの中身は、 59 + libbzip2 60 + http://sources.redhat.com/bzip2/ 61 + をビルドしたライブラリなどです。この部分は 62 + Copyright (C) 1996-2002 Julian R Seward. All rights reserved. 63 + で。 64 + 65 + win32.lib と win32 ディレクトリの中身は 66 + windows.h for D 67 + http://hp.vector.co.jp/authors/VA028375/d/windows.h.html 68 + を利用しています。 69 + 70 + 他は NYSL 0.9982 ( http://www.kmonos.net/nysl/ )に基づいてご自由に。

Added src/Makefile version [0e4ee8cbc0d43860]

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

Added src/bga_melter.d version [9075347c70b2342c]

1 +サソprivate import std.string; 2 +private import std.file; 3 +private import std.c.stdio; 4 +private import etc.c.zlib; 5 +private import win32.ansi.windows; 6 +private import libbz2.bzlib; 7 +private import util; 8 + 9 +//---------------------------------------------------------------- 10 +// Bga譖ク蠎ォ縺ョ繝輔ぃ繧、繝ォ繝倥ャ繝蠖「蠑 11 +//---------------------------------------------------------------- 12 + 13 +align(1) struct BgaHeader 14 +{ 15 + int checksum; // typeス枅name 縺ョsigned char縺ァ縺ョ蜥 16 + char method[4]; // "GZIP" 縺セ縺溘ッ "BZ2\0" 17 + uint compressed_size; // 蝨ァ邵ョ蠕後ョ繝繝シ繧ソ繧オ繧、繧コ( 繝倥ャ繝縺ッ蜷ォ縺セ縺ェ縺 ) 18 + uint original_size; // 蜈縺ョ繝輔ぃ繧、繝ォ繧オ繧、繧コ 19 + ushort date; // 繝輔ぃ繧、繝ォ縺ョ譖エ譁ー譌・莉( DOS蠖「蠑 ) 20 + ushort time; // 繝輔ぃ繧、繝ォ縺ョ譖エ譁ー譎ょ綾( DOS蠖「蠑 ) 21 + ubyte attrib; // 繝輔ぃ繧、繝ォ縺ョ螻樊ァ 22 + // ( 1:RO 2:Hid 4:Sys 8:Vol 16:Dir 32:Arc ) 23 + ubyte header_type; // 繝倥ャ繝縺ョ遞ョ鬘( 迴セ蝨ィ縺ッ蟶ク縺ォ 0 ) 24 + ushort arc_type; // 繧「繝シ繧ォ繧、繝悶ち繧、繝 25 + // 0:(ext==竊?髱槫悸邵ョ:蝨ァ邵ョ) 1:蝨ァ邵ョ 2:髱槫悸邵ョ 26 + // .ARC, .ARJ, .BZ2, .BZA, .CAB, .GZ, .GZA, .LZH, 27 + // .LZS, .PAK, .RAR, .TAZ, .TBZ, .TGZ, .Z, .ZIP, .ZOO 28 + ushort dir_name_len; // 繝繧」繝ャ繧ッ繝医Μ蜷阪ョ髟キ縺 29 + ushort file_name_len; // 繝輔ぃ繧、繝ォ蜷阪ョ髟キ縺 30 + char[] fname; // dir_name_len + file_name_len ( no '\0' ) 31 +} 32 + 33 +//---------------------------------------------------------------- 34 +// 繧ィ繝ゥ繝シ逋コ逕滓凾縺ォ謚輔£繧倶セ句、 35 +//---------------------------------------------------------------- 36 + 37 +class BgaMelterError : Error 38 +{ 39 + int errcode; 40 + this( int e ) { super("BgaMelterError"); errcode=e; } 41 +} 42 + 43 +enum 44 +{ 45 + ERROR_FILE_OPEN=0x800D,// 繝輔ぃ繧、繝ォ繧帝幕縺代∪縺帙s縺ァ縺励◆縲 46 + ERROR_MAKEDIRECTORY=0x8012,// 繝繧」繝ャ繧ッ繝医Μ縺御ス懈舌〒縺阪∪縺帙s縲 47 + ERROR_CANNOT_WRITE=0x8013,// 譖ク縺崎セシ縺ソ繧ィ繝ゥ繝シ縺檎函縺倥∪縺励◆縲 48 + ERROR_HEADER_CRC=0x8016,// 譖ク蠎ォ縺ョ繝倥ャ繝縺ョ繝√ぉ繝繧ッ繧オ繝縺悟粋縺」縺ヲ縺縺セ縺帙s縲 49 + ERROR_ARC_FILE_OPEN=0x8018,// 譖ク蠎ォ繧帝幕縺丈コ九′蜃コ譚・縺セ縺帙s縲 50 + ERROR_NOT_ARC_FILE=0x8019,// 譖ク蠎ォ縺ョ繝輔ぃ繧、繝ォ蜷阪′謖螳壹&繧後※縺縺セ縺帙s縲 51 + ERROR_CANNOT_READ=0x801A,// 繝輔ぃ繧、繝ォ縺ョ隱ュ縺ソ霎シ縺ソ譎ゅ↓繧ィ繝ゥ繝シ縺檎函縺倥∪縺励◆縲 52 + ERROR_FILE_STYLE=0x801B,// 謖螳壹&繧後◆繝輔ぃ繧、繝ォ縺ッ譛牙柑縺ェ譖ク蠎ォ縺ァ縺ッ縺ゅj縺セ縺帙s縲 53 + ERROR_COMMAND_NAME=0x801C,// 繧ウ繝槭Φ繝画欠螳壹′髢馴&縺」縺ヲ縺縺セ縺吶 54 + ERROR_MORE_HEAP_MEMORY=0x801D,// 菴懈・ュ逕ィ縺ョ縺溘a縺ョ繝偵シ繝励Γ繝「繝ェ縺御ク崎カウ縺励※縺縺セ縺吶 55 + ERROR_ALREADY_RUNNING=0x801F,// 譌「縺ォ BGA32.DLL 縺悟虚菴應クュ縺ァ縺吶 56 + ERROR_USER_CANCEL=0x8020,// 繝ヲ繝シ繧カ繝シ縺ォ繧医▲縺ヲ蜃ヲ逅繧剃クュ譁ュ縺輔l縺セ縺励◆縲 57 + ERROR_TMP_OPEN=0x8025,// 菴懈・ュ繝輔ぃ繧、繝ォ縺御ス懈舌〒縺阪∪縺帙s縲 58 + ERROR_ARC_READ_ONLY=0x8027,// 譖ク縺崎セシ縺ソ蟆ら畑螻樊ァ縺ョ譖ク蠎ォ縺ォ蟇セ縺吶k謫堺ス懊ッ縺ァ縺阪∪縺帙s縲 59 + ERROR_NOT_FIND_ARC_FILE=0x8029,// 謖螳壹&繧後◆繝繧」繝ャ繧ッ繝医Μ縺ォ縺ッ譖ク蠎ォ縺後≠繧翫∪縺帙s縺ァ縺励◆縲 60 + ERROR_RESPONSE_READ=0x802A,// 繝ャ繧ケ繝昴Φ繧ケ繝輔ぃ繧、繝ォ縺ョ隱ュ縺ソ霎シ縺ソ譎ゅ↓繧ィ繝ゥ繝シ縺檎函縺倥∪縺励◆縲 61 + ERROR_TMP_COPY=0x802C,// 菴懈・ュ繝輔ぃ繧、繝ォ縺ョ譖ク蠎ォ縺ク縺ョ譖ク縺肴綾縺励′縺ァ縺阪∪縺帙s縺ァ縺励◆縲 62 + ERROR_NOT_FIND_FILE=0x8031,// 繝輔ぃ繧、繝ォ縺瑚ヲ九▽縺九j縺セ縺帙s縲 63 + ERROR_GET_ATTRIBUTES=0x8034,// 繝輔ぃ繧、繝ォ螻樊ァ縺悟叙蠕励〒縺阪∪縺帙s縲 64 + ERROR_GET_INFORMATION=0x8036,// 繝輔ぃ繧、繝ォ諠蝣ア縺悟叙蠕励〒縺阪∪縺帙s縲 65 +} 66 + 67 +//---------------------------------------------------------------- 68 +// 繧ウ繝シ繝ォ繝舌ャ繧ッ髢「謨ー縺ョ霑皮ュ皮畑蝙 69 +//---------------------------------------------------------------- 70 + 71 +enum BgaAnswer 72 +{ 73 + MeltIt, SkipIt, Abort 74 +} 75 + 76 +//---------------------------------------------------------------- 77 +// Filep 78 +// D險隱槭i縺励°繧峨〓縺ョ縺ァ縺吶′zlib繧libbz2縺ィ邁。蜊倥↓騾」謳コ縺吶k 79 +// 驛ス蜷井ク郭td.c.stdio.FILE*縺ァ繝輔ぃ繧、繝ォ繧定ェュ縺ソ譖ク縺阪@縺セ縺吶 80 +//---------------------------------------------------------------- 81 + 82 +extern(C) 83 +{ 84 + // stdio.h 85 + int fileno( FILE *fp ) { return fp._file; } 86 + // io.h 87 + int lseek( int fd, int offset, int mode ); 88 + int dup( int fd ); 89 + int close( int fd ); 90 +} 91 + 92 +class Filep 93 +{ 94 + private FILE* fp; 95 + private this( FILE* p ) { fp = p; } 96 + 97 + static Filep open( char[] filename, bool read ) 98 + { 99 + FILE* fp = fopen( toStringz(filename), read?"rb":"wb" ); 100 + return (fp ? new Filep(fp) : null); 101 + } 102 + 103 + int dup_han() 104 + { 105 + int fd = dup( fileno(fp) ); 106 + lseek( fd, cur(), 0 ); 107 + return fd; 108 + } 109 + 110 + void[] read( int siz ) 111 + { 112 + char[] buf; buf.length = siz; 113 + int rsiz = fread( buf, 1, siz, fp ); 114 + if( rsiz < 0 ) 115 + throw new BgaMelterError(ERROR_FILE_OPEN); 116 + buf.length = rsiz; 117 + return buf; 118 + } 119 + 120 + void write( void[] buf ) 121 + { 122 + while( buf.length > 0 ) 123 + { 124 + int rsiz = fwrite( buf, 1, buf.length, fp ); 125 + if( rsiz < 0 ) return; 126 + buf = buf[rsiz .. length]; 127 + } 128 + } 129 + 130 + int cur() 131 + { 132 + return ftell(fp); 133 + } 134 + 135 + void seek_to( int i ) 136 + { 137 + fseek( fp, i, std.c.stdio.SEEK_SET ); 138 + } 139 + 140 + void close() 141 + { 142 + fclose(fp); 143 + } 144 + 145 + FILE* get_fp() 146 + { 147 + return fp; 148 + } 149 +} 150 + 151 + 152 +//---------------------------------------------------------------- 153 +// 繝。繧、繝ウ繧ッ繝ゥ繧ケ 154 +//---------------------------------------------------------------- 155 + 156 +class BgaMelter 157 +{ 158 + alias BgaAnswer delegate(inout BgaHeader) FileHandler; 159 + alias BgaAnswer delegate(int, int) ProgressHandler; 160 + 161 + private Filep fp = null; 162 + 163 + this( char[] arc_name ) 164 + { 165 + fp = Filep.open( arc_name, true ); 166 + if( fp is null ) 167 + throw new BgaMelterError(ERROR_FILE_OPEN); 168 + } 169 + 170 + void close() 171 + { 172 + if( fp ) { fp.close(); fp = null; } 173 + } 174 + 175 + void start( FileHandler fh, ProgressHandler ph ) 176 + { 177 + try 178 + { 179 + // 繝倥ャ繝繧呈爾縺 180 + int hpos = find_header(); 181 + if( hpos == -1 ) 182 + throw new BgaMelterError(ERROR_NOT_ARC_FILE); 183 + fp.seek_to(hpos); 184 + 185 + // 繝ォ繝シ繝暦シ 186 + // 繝倥ャ繝隱ュ縺ソ縺ィ繧 187 + BgaHeader hdr; 188 + while( read_header(hdr) ) 189 + { 190 + // 谺。縺ョ繝倥ャ繝菴咲スョ繧定ィ育ョ励@縺ヲ縺翫¥ 191 + uint nextpos = fp.cur() + hdr.compressed_size; 192 + try 193 + { 194 + // callback 195 + BgaAnswer a = fh(hdr); 196 + if( a == BgaAnswer.Abort ) return; 197 + if( a == BgaAnswer.SkipIt ) continue; 198 + 199 + // 蜃コ蜉帛医ヵ繧。繧、繝ォ繧帝幕縺 200 + if( lastChar(hdr.fname)=='\\' ) 201 + { pathMake(hdr.fname); continue; } 202 + 203 + Filep outf = Filep.open( pathMake(hdr.fname), false ); 204 + if( outf is null ) 205 + throw new BgaMelterError(ERROR_FILE_OPEN); 206 + 207 + // 隗」蜃榊ヲ逅 208 + bool bContinue = true; 209 + if( !is_compressed(hdr) ) 210 + bContinue = NcDec( hdr.original_size, outf, ph ); 211 + else if( hdr.method == "GZIP" ) 212 + bContinue = GzDec( hdr.compressed_size, hdr.original_size, outf, ph ); 213 + else if( hdr.method == "BZ2\0" ) 214 + bContinue = BzDec( hdr.original_size, outf, ph ); 215 + 216 + // 髢峨§縺ヲ螻樊ァ險ュ螳 217 + outf.close(); 218 + dosSetFTime( hdr.fname, hdr.date, hdr.time ); 219 + SetFileAttributes( hdr.fname, hdr.attrib ); 220 + if( !bContinue ) 221 + return; 222 + } 223 + finally { fp.seek_to(nextpos); } 224 + } 225 + } 226 + finally { close(); } 227 + } 228 + 229 + static int signed_char( char c ) 230 + { 231 + int cn = c; 232 + return (cn>=0x80 ? cn|0xffffff00 : cn); 233 + } 234 + 235 + private int find_header() 236 + { 237 + char[] dat = cast(char[]) fp.read(0x10000); 238 + 239 + for( int i=0; i<dat.length-28; ++i ) 240 + { 241 + if( dat[i+4]!='G' && dat[i+4]!='B' ) continue; 242 + if( dat[i+5]!='Z' ) continue; 243 + if( dat[i+6]!='I' && dat[i+6]!='2' ) continue; 244 + if( dat[i+7]!='P' && dat[i+7]!='\0') continue; 245 + 246 + int checksum = dat[i+0]+(dat[i+1]<<8)+(dat[i+2]<<16)+(dat[i+3]<<24); 247 + uint fnlen = dat[i+24]+(dat[i+25]<<8)+dat[i+26]+(dat[i+27]<<8); 248 + if( i+28+fnlen > dat.length ) continue; 249 + 250 + int sum = 0; 251 + for( int j=i+4; j!=i+28+fnlen; ++j ) 252 + sum += signed_char(dat[j]); 253 + if( checksum == sum ) 254 + return i; 255 + } 256 + 257 + return -1; 258 + } 259 + 260 + private bool read_header( out BgaHeader hdr ) 261 + { 262 + // 繝ェ繝医Ν繧ィ繝ウ繝繧」繧「繝ウ繧剃サョ螳壹ゅ倥ャ繝隱ュ縺ソ霎シ縺ソ 263 + char[] buf = cast(char[]) fp.read(28); 264 + if( buf.length < 28 ) return false; 265 + buf.length = BgaHeader.sizeof; 266 + hdr = (cast(BgaHeader[]) buf)[0]; 267 + hdr.fname = ""; 268 + 269 + // 繝輔ぃ繧、繝ォ蜷 270 + hdr.fname = cast(char[]) fp.read(hdr.dir_name_len + hdr.file_name_len); 271 + if( hdr.fname.length < hdr.dir_name_len + hdr.file_name_len ) return false; 272 + 273 + // 繝√ぉ繝繧ッ繧オ繝 274 + int sum = 0; 275 + for( int i=4; i!=28; ++i ) sum += signed_char(buf[i]); 276 + foreach( char c ; hdr.fname ) sum += signed_char(c); 277 + return (sum == hdr.checksum); 278 + } 279 + 280 + private bool is_compressed( inout BgaHeader hdr ) // inout=just for optimization 281 + { 282 + // 繝倥ャ繝縺九i縲√ヵ繧。繧、繝ォ縺悟悸邵ョ譬シ邏阪&繧後※縺繧九°縺ゥ縺縺九r蛻、螳 283 + if( hdr.arc_type==2 ) 284 + return false; 285 + if( hdr.arc_type==0 && hdr.compressed_size==hdr.original_size ) 286 + { 287 + int x = rfind( hdr.fname, '.' ); 288 + if( x == -1 ) 289 + return true; 290 + char[] ext = tolower(hdr.fname[x+1 .. length]); 291 + if( ext=="arc" || ext=="arj" || ext=="bz2" || ext=="bza" 292 + || ext=="cab" || ext=="gz" || ext=="gza" || ext=="lzh" 293 + || ext=="lzs" || ext=="pak" || ext=="rar" || ext=="taz" 294 + || ext=="tbz" || ext=="tgz" || ext=="z" || ext=="zip" 295 + || ext=="zoo" ) 296 + return false; 297 + } 298 + return true; 299 + } 300 + 301 + static char[] pathMake( char[] path ) 302 + { 303 + char* ps = toStringz(path); 304 + for(char* p=ps;;) 305 + { 306 + for(; *p!=0&&*p!='\\'&&*p!='/'; p=CharNext(p)) {} 307 + if( *p==0 ) 308 + break; 309 + CreateDirectory( toStringz(ps[0..(p-ps)]), null ); 310 + ++p; 311 + } 312 + return path; 313 + } 314 + 315 + enum { BUFSIZ = 65536 } 316 + 317 + private bool NcDec( uint usiz, Filep outf, ProgressHandler ph ) 318 + { 319 + uint init_usiz = usiz; 320 + 321 + // 髱槫悸邵ョ縲ゅさ繝斐シ縺吶k縺縺 322 + while( usiz ) 323 + { 324 + char[] r = cast(char[]) fp.read( BUFSIZ<usiz?BUFSIZ:usiz ); 325 + usiz -= r.length; 326 + outf.write(r); 327 + 328 + // dlg 329 + if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 330 + } 331 + 332 + // dlg 333 + if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 334 + return true; 335 + } 336 + 337 + private bool GzDec( uint csiz, uint usiz, Filep outf, ProgressHandler ph ) 338 + { 339 + uint init_usiz = usiz; 340 + 341 + // zlib縺ァ螻暮幕 342 + fp.read(10); csiz -= 10; // 繝倥ャ繝,繝輔ャ繧ソ繧ケ繧ュ繝繝 343 + 344 + ubyte[] inbuf; inbuf.length = 65536; 345 + ubyte[] outbuf; outbuf.length = 65536; 346 + 347 + // zlib貅門y 348 + z_stream zs; 349 + zs.zalloc = null; 350 + zs.zfree = null; 351 + 352 + // 蜃コ蜉帙ヰ繝繝輔ぃ 353 + zs.next_out = outbuf; 354 + zs.avail_out = outbuf.length; 355 + 356 + // 蜈・蜉帙ヰ繝繝輔ぃ 357 + inbuf = cast(ubyte[]) fp.read( csiz<65536 ? csiz : 65536 ); 358 + csiz -= inbuf.length; 359 + zs.next_in = inbuf; 360 + zs.avail_in = inbuf.length; 361 + 362 + // 繧ケ繧ソ繝シ繝 363 + inflateInit2( &zs, -15 ); 364 + try { 365 + 366 + // 譖ク蠎ォ縺九i蜈・蜉帙@邨ゅo繧九∪縺ァ繝ォ繝シ繝 367 + int err = Z_OK; 368 + while( csiz&&usiz ) 369 + { 370 + while( zs.avail_out > 0 ) 371 + { 372 + err = etc.c.zlib.inflate( &zs, Z_PARTIAL_FLUSH ); 373 + if( err!=Z_STREAM_END && err!=Z_OK ) 374 + csiz=0; 375 + if( !csiz ) 376 + break; 377 + 378 + if( zs.avail_in<=0 ) 379 + { 380 + inbuf = cast(ubyte[]) fp.read( csiz<65536 ? csiz : 65536 ); 381 + csiz -= inbuf.length; 382 + zs.next_in = inbuf; 383 + zs.avail_in = inbuf.length; 384 + 385 + if( inbuf.length==0 ) 386 + { 387 + err = Z_STREAM_END; 388 + csiz = 0; 389 + break; 390 + } 391 + } 392 + } 393 + 394 + int written = outbuf.length - zs.avail_out; 395 + if( usiz < written ) written = usiz; 396 + usiz -= written; 397 + outf.write( outbuf[0..written] ); 398 + zs.next_out = outbuf; 399 + zs.avail_out = outbuf.length; 400 + 401 + // dlg 402 + if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 403 + } 404 + 405 + // 蜃コ蜉帶ョ九@繧堤┌縺上☆縲 406 + while( err!=Z_STREAM_END&&usiz ) 407 + { 408 + err = etc.c.zlib.inflate(&zs,Z_PARTIAL_FLUSH); 409 + if( err!=Z_STREAM_END && err!=Z_OK ) 410 + break; 411 + 412 + int written = outbuf.length - zs.avail_out; 413 + if( usiz < written ) written = usiz; 414 + usiz -= written; 415 + outf.write( outbuf[0..written] ); 416 + zs.next_out = outbuf; 417 + zs.avail_out = outbuf.length; 418 + 419 + // dlg 420 + if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 421 + } 422 + 423 + // 邨ゆコ 424 + } finally { inflateEnd(&zs); } 425 + 426 + // dlg 427 + if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 428 + return true; 429 + } 430 + 431 + private bool BzDec( uint usiz, Filep outf, ProgressHandler ph ) 432 + { 433 + uint init_usiz = usiz; 434 + 435 + // libbz2縺ァ螻暮幕 436 + int err; 437 + BZFILE* b = BZ2_bzReadOpen( &err, fp.get_fp(), 0, 0, NULL, 0 ); 438 + if( err!=BZ_OK || b is null ) 439 + return true; 440 + 441 + try 442 + { 443 + char[] buf; buf.length = BUFSIZ; 444 + int len; 445 + while( 0<(len=BZ2_bzRead( &err, b, buf, BUFSIZ<usiz?BUFSIZ:usiz )) ) 446 + { 447 + outf.write( buf[0..len] ); 448 + usiz -= len; 449 + if( err != BZ_OK ) 450 + break; 451 + 452 + // dlg 453 + if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 454 + } 455 + } finally { BZ2_bzReadClose( &err, b ); } 456 + 457 + // dlg 458 + if( BgaAnswer.Abort==ph(init_usiz-usiz,usiz) ) return false; 459 + return true; 460 + } 461 +}

Added src/hack.d version [3a5fb6fa17d9e24a]

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

Added src/libbz2/LICENSE version [e01790025972d525]

1 + 2 +This program, "bzip2" and associated library "libbzip2", are 3 +copyright (C) 1996-2002 Julian R Seward. All rights reserved. 4 + 5 +Redistribution and use in source and binary forms, with or without 6 +modification, are permitted provided that the following conditions 7 +are met: 8 + 9 +1. Redistributions of source code must retain the above copyright 10 + notice, this list of conditions and the following disclaimer. 11 + 12 +2. The origin of this software must not be misrepresented; you must 13 + not claim that you wrote the original software. If you use this 14 + software in a product, an acknowledgment in the product 15 + documentation would be appreciated but is not required. 16 + 17 +3. Altered source versions must be plainly marked as such, and must 18 + not be misrepresented as being the original software. 19 + 20 +4. The name of the author may not be used to endorse or promote 21 + products derived from this software without specific prior written 22 + permission. 23 + 24 +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 25 +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 26 +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27 +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 28 +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 30 +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31 +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 32 +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 33 +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 34 +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 35 + 36 +Julian Seward, Cambridge, UK. 37 +jseward@acm.org 38 +bzip2/libbzip2 version 1.0.2 of 30 December 2001 39 +

Added src/libbz2/bzlib.d version [cc821f48ad26f7f1]

1 +サソmodule libbz2.bzlib; 2 +private import std.c.stdio; 3 + 4 +//---------------------------------------------------------------- 5 +// bzlib.d : 6 +// manually translated from "bzlib.h" to d header module. 7 +// 2004/08/19 k.inaba 8 +//---------------------------------------------------------------- 9 + 10 +// VVV original copyright notice of "bzlib.h" VVV // 11 +/*-- 12 + This file is a part of bzip2 and/or libbzip2, a program and 13 + library for lossless, block-sorting data compression. 14 + 15 + Copyright (C) 1996-2002 Julian R Seward. All rights reserved. 16 + 17 + Redistribution and use in source and binary forms, with or without 18 + modification, are permitted provided that the following conditions 19 + are met: 20 + 21 + 1. Redistributions of source code must retain the above copyright 22 + notice, this list of conditions and the following disclaimer. 23 + 24 + 2. The origin of this software must not be misrepresented; you must 25 + not claim that you wrote the original software. If you use this 26 + software in a product, an acknowledgment in the product 27 + documentation would be appreciated but is not required. 28 + 29 + 3. Altered source versions must be plainly marked as such, and must 30 + not be misrepresented as being the original software. 31 + 32 + 4. The name of the author may not be used to endorse or promote 33 + products derived from this software without specific prior written 34 + permission. 35 + 36 + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 37 + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 38 + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 39 + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 40 + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 41 + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 42 + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 43 + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 44 + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 45 + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 46 + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 47 + 48 + Julian Seward, Cambridge, UK. 49 + jseward@acm.org 50 + bzip2/libbzip2 version 1.0 of 21 March 2000 51 + 52 + This program is based on (at least) the work of: 53 + Mike Burrows 54 + David Wheeler 55 + Peter Fenwick 56 + Alistair Moffat 57 + Radford Neal 58 + Ian H. Witten 59 + Robert Sedgewick 60 + Jon L. Bentley 61 + 62 + For more information on these sources, see the manual. 63 +--*/ 64 + 65 +enum 66 +{ 67 + BZ_RUN = 0, 68 + BZ_FLUSH = 1, 69 + BZ_FINISH = 2, 70 +} 71 + 72 +enum 73 +{ 74 + BZ_OK = 0, 75 + BZ_RUN_OK = 1, 76 + BZ_FLUSH_OK = 2, 77 + BZ_FINISH_OK = 3, 78 + BZ_STREAM_END = 4, 79 + BZ_SEQUENCE_ERROR = (-1), 80 + BZ_PARAM_ERROR = (-2), 81 + BZ_MEM_ERROR = (-3), 82 + BZ_DATA_ERROR = (-4), 83 + BZ_DATA_ERROR_MAGIC = (-5), 84 + BZ_IO_ERROR = (-6), 85 + BZ_UNEXPECTED_EOF = (-7), 86 + BZ_OUTBUFF_FULL = (-8), 87 + BZ_CONFIG_ERROR = (-9), 88 +} 89 + 90 +struct bz_stream 91 +{ 92 + char *next_in; 93 + uint avail_in; 94 + uint total_in_lo32; 95 + uint total_in_hi32; 96 + 97 + char *next_out; 98 + uint avail_out; 99 + uint total_out_lo32; 100 + uint total_out_hi32; 101 + 102 + void *state; 103 + 104 + void *(*bzalloc)(void *,int,int); 105 + void (*bzfree)(void *,void *); 106 + void *opaque; 107 +} 108 + 109 +extern(Windows) 110 +{ 111 +/*-- Core (low-level) library functions --*/ 112 + 113 + int BZ2_bzCompressInit( 114 + bz_stream* strm, 115 + int blockSize100k, 116 + int verbosity, 117 + int workFactor 118 + ); 119 + 120 + int BZ2_bzCompress( 121 + bz_stream* strm, 122 + int action 123 + ); 124 + 125 + int BZ2_bzCompressEnd( 126 + bz_stream* strm 127 + ); 128 + 129 + int BZ2_bzDecompressInit( 130 + bz_stream *strm, 131 + int verbosity, 132 + int small 133 + ); 134 + 135 + int BZ2_bzDecompress( 136 + bz_stream* strm 137 + ); 138 + 139 + int BZ2_bzDecompressEnd( 140 + bz_stream *strm 141 + ); 142 + 143 +/*-- High(er) level library functions --*/ 144 + 145 + enum { BZ_MAX_UNUSED = 5000 } 146 + alias void BZFILE; 147 + 148 + BZFILE* BZ2_bzReadOpen( 149 + int* bzerror, 150 + FILE* f, 151 + int verbosity, 152 + int small, 153 + void* unused, 154 + int nUnused 155 + ); 156 + 157 + void BZ2_bzReadClose( 158 + int* bzerror, 159 + BZFILE* b 160 + ); 161 + 162 + void BZ2_bzReadGetUnused( 163 + int* bzerror, 164 + BZFILE* b, 165 + void** unused, 166 + int* nUnused 167 + ); 168 + 169 + int BZ2_bzRead( 170 + int* bzerror, 171 + BZFILE* b, 172 + void* buf, 173 + int len 174 + ); 175 + 176 + BZFILE* BZ2_bzWriteOpen( 177 + int* bzerror, 178 + FILE* f, 179 + int blockSize100k, 180 + int verbosity, 181 + int workFactor 182 + ); 183 + 184 + void BZ2_bzWrite( 185 + int* bzerror, 186 + BZFILE* b, 187 + void* buf, 188 + int len 189 + ); 190 + 191 + void BZ2_bzWriteClose( 192 + int* bzerror, 193 + BZFILE* b, 194 + int abandon, 195 + uint* nbytes_in, 196 + uint* nbytes_out 197 + ); 198 + 199 + void BZ2_bzWriteClose64( 200 + int* bzerror, 201 + BZFILE* b, 202 + int abandon, 203 + uint* nbytes_in_lo32, 204 + uint* nbytes_in_hi32, 205 + uint* nbytes_out_lo32, 206 + uint* nbytes_out_hi32 207 + ); 208 + 209 +/*-- Utility functions --*/ 210 + 211 + int BZ2_bzBuffToBuffCompress( 212 + char* dest, 213 + uint* destLen, 214 + char* source, 215 + uint sourceLen, 216 + int blockSize100k, 217 + int verbosity, 218 + int workFactor 219 + ); 220 + 221 + int BZ2_bzBuffToBuffDecompress( 222 + char* dest, 223 + uint* destLen, 224 + char* source, 225 + int sourceLen, 226 + int small, 227 + int verbosity 228 + ); 229 + 230 +/*-- 231 + Code contributed by Yoshioka Tsuneo 232 + (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp), 233 + to support better zlib compatibility. 234 + This code is not _officially_ part of libbzip2 (yet); 235 + I haven't tested it, documented it, or considered the 236 + threading-safeness of it. 237 + If this code breaks, please contact both Yoshioka and me. 238 +--*/ 239 + 240 + char* BZ2_bzlibVersion( 241 + ); 242 + 243 + BZFILE * BZ2_bzopen( 244 + char *path, 245 + char *mode 246 + ); 247 + 248 + BZFILE * BZ2_bzdopen( 249 + int fd, 250 + char *mode 251 + ); 252 + 253 + int BZ2_bzread( 254 + BZFILE* b, 255 + void* buf, 256 + int len 257 + ); 258 + 259 + int BZ2_bzwrite( 260 + BZFILE* b, 261 + void* buf, 262 + int len 263 + ); 264 + 265 + int BZ2_bzflush( 266 + BZFILE* b 267 + ); 268 + 269 + void BZ2_bzclose( 270 + BZFILE* b 271 + ); 272 + 273 + char * BZ2_bzerror( 274 + BZFILE *b, 275 + int *errnum 276 + ); 277 +}

Added src/libbz2/libbz2.lib version [0e9d59d11e954835]

cannot compute difference between binary files

Added src/qbga32.d version [f1f9b8362f0839ce]

1 +private import std.string; 2 +private import std.file; 3 +private import win32.ansi.windows; 4 +private import util; 5 +private import windll; 6 +private import bga_melter; 7 +private import qbga_gui; 8 + 9 +//---------------------------------------------------------------- 10 +// 縺翫″縺セ繧翫ョDLL蛻晄悄蛹悶Ν繝シ繝√Φ 11 +//---------------------------------------------------------------- 12 + 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 +} 24 + 25 +extern (Windows) 26 +BOOL DllMain( HINSTANCE inst, ULONG reason, void* reserved ) 27 +{ 28 + switch( reason ) 29 + { 30 + case DLL_PROCESS_ATTACH: 31 + g_hinst = inst; 32 + gc_init(); // GC蛻晄悄蛹 33 + _minit(); // 繝「繧ク繝・繝シ繝ォ繝ェ繧ケ繝亥晄悄蛹 34 + _moduleCtor(); // 繝「繧ク繝・繝シ繝ォ繧ウ繝ウ繧ケ繝医Λ繧ッ繧ソ螳溯。 35 + _moduleUnitTests(); // 蜊倅ス薙ユ繧ケ繝亥ョ溯。 36 + if( g_orig_dll is null ) 37 + return false; 38 + break; 39 + 40 + case DLL_PROCESS_DETACH: 41 + _moduleDtor(); 42 + gc_term(); // GC邨ゆコ 43 + break; 44 + 45 + default: 46 + case DLL_THREAD_ATTACH: 47 + case DLL_THREAD_DETACH: 48 + break; 49 + } 50 + return true; 51 +} 52 + 53 +//---------------------------------------------------------------- 54 +// API霆「騾∝ヲ逅 55 +//---------------------------------------------------------------- 56 + 57 +WinDLL g_orig_dll = null; 58 +UINT WM_ARCEXTRACT; 59 + 60 +static this() 61 +{ 62 + g_orig_dll = WinDLL.load( "_Bga32.DLL" ); 63 + WM_ARCEXTRACT = RegisterWindowMessage("wm_arcextract"); 64 +} 65 + 66 +static ~this() 67 +{ 68 + g_orig_dll.close(); 69 +} 70 + 71 +template api(FnT) 72 +{ 73 + FnT api( char[] name ) 74 + { 75 + return g_orig_dll.get_api!(FnT)( name ); 76 + } 77 +} 78 + 79 +//---------------------------------------------------------------- 80 +// 邨ア蜷医い繝シ繧ォ繧、繝植PIシ夊サ「騾 81 +//---------------------------------------------------------------- 82 + 83 +extern(Windows) 84 +{ 85 + int Bga( HWND a, char* b, char* c, DWORD d ) 86 + { 87 + int r = Bga_impl( a, toString(b) ); 88 + if( r < 0 ) // 縺薙ョ繝繝溘シDLL縺ァ縺ッ蜃ヲ逅縺ァ縺阪↑縺繧ウ繝槭Φ繝峨□縺」縺滓凾 89 + return api!(typeof(&Bga))("Bga")(a,b,c,d); 90 + return r; 91 + } 92 + 93 + WORD QBgaGetVersion() 94 + { 95 + return 4; 96 + } 97 + 98 + WORD BgaGetVersion() 99 + { 100 + return api!(typeof(&BgaGetVersion))("BgaGetVersion")(); 101 + } 102 + 103 + BOOL BgaGetRunning() 104 + { 105 + return api!(typeof(&BgaGetRunning))("BgaGetRunning")(); 106 + } 107 + 108 + BOOL BgaCheckArchive( char* a, int b ) 109 + { 110 + return api!(typeof(&BgaCheckArchive))("BgaCheckArchive")(a,b); 111 + } 112 + 113 + BOOL BgaConfigDialog( HWND a, char* b, int c ) 114 + { 115 + return api!(typeof(&BgaConfigDialog))("BgaConfigDialog")(a,b,c); 116 + } 117 + 118 + int BgaGetFileCount( char* a ) 119 + { 120 + return api!(typeof(&BgaGetFileCount))("BgaGetFileCount")(a); 121 + } 122 + 123 + BOOL BgaQueryFunctionList( int a ) 124 + { 125 + return api!(typeof(&BgaQueryFunctionList))("BgaQueryFunctionList")(a); 126 + } 127 + 128 + alias void* HARC; 129 + HARC BgaOpenArchive( HWND a, char* b, DWORD c ) 130 + { 131 + return api!(typeof(&BgaOpenArchive))("BgaOpenArchive")(a,b,c); 132 + } 133 + 134 + int BgaCloseArchive( HARC a ) 135 + { 136 + return api!(typeof(&BgaCloseArchive))("BgaCloseArchive")(a); 137 + } 138 + 139 + alias void* LPINDIVIDUALINFO; 140 + int BgaFindFirst( HARC a, char* b, LPINDIVIDUALINFO c ) 141 + { 142 + return api!(typeof(&BgaFindFirst))("BgaFindFirst")(a,b,c); 143 + } 144 + 145 + int BgaFindNext( HARC a, LPINDIVIDUALINFO b ) 146 + { 147 + return api!(typeof(&BgaFindNext))("BgaFindNext")(a,b); 148 + } 149 + 150 + DWORD BgaGetArcOriginalSize( HARC a ) 151 + { 152 + return api!(typeof(&BgaGetArcOriginalSize))("BgaGetArcOriginalSize")(a); 153 + } 154 + 155 + DWORD BgaGetArcCompressedSize( HARC a ) 156 + { 157 + return api!(typeof(&BgaGetArcCompressedSize))("BgaGetArcCompressedSize")(a); 158 + } 159 + 160 + WORD BgaGetArcRatio( HARC a ) 161 + { 162 + return api!(typeof(&BgaGetArcRatio))("BgaGetArcRatio")(a); 163 + } 164 + 165 + BOOL BgaSetOwnerWindow( HWND a ) 166 + { 167 + BOOL r = api!(typeof(&BgaSetOwnerWindow))("BgaSetOwnerWindow")(a); 168 + if( r ) BgaSetOwnerWindow_impl(a); 169 + return r; 170 + } 171 + 172 + BOOL BgaClearOwnerWindow() 173 + { 174 + BOOL r = api!(typeof(&BgaClearOwnerWindow))("BgaClearOwnerWindow")(); 175 + BgaClearOwnerWindow_impl(); 176 + return r; 177 + } 178 + 179 + alias BOOL function(HWND,UINT,UINT,EXTRACTINGINFOEX*) ARCHIVERPROC; 180 + BOOL BgaSetOwnerWindowEx( HWND a, ARCHIVERPROC* b ) 181 + { 182 + BOOL r = api!(typeof(&BgaSetOwnerWindowEx))("BgaSetOwnerWindowEx")(a,b); 183 + if( r ) BgaSetOwnerWindowEx_impl(a,b); 184 + return r; 185 + } 186 + 187 + BOOL BgaKillOwnerWindowEx( HWND a ) 188 + { 189 + BOOL r = api!(typeof(&BgaKillOwnerWindowEx))("BgaKillOwnerWindowEx")(a); 190 + BgaClearOwnerWindow_impl(); 191 + return r; 192 + } 193 + 194 + alias void* UNLHA_WND_ENUMMEMBPROC; 195 + BOOL BgaSetEnumMembersProc( UNLHA_WND_ENUMMEMBPROC a ) 196 + { 197 + return api!(typeof(&BgaSetEnumMembersProc))("BgaSetEnumMembersProc")(a); 198 + } 199 + 200 + BOOL BgaClearEnumMembersProc() 201 + { 202 + return api!(typeof(&BgaClearEnumMembersProc))("BgaClearEnumMembersProc")(); 203 + } 204 +} 205 + 206 +//---------------------------------------------------------------- 207 +// 邨ア蜷医い繝シ繧ォ繧、繝植PIシ壼ョ溯」( Bga ) 208 +//---------------------------------------------------------------- 209 + 210 +int Bga_impl( HWND wnd, char[] cmd_str ) 211 +{ 212 + enum { UNSUPPORTED = -1 } 213 + 214 + // 215 + // 繧ウ繝槭Φ繝峨Λ繧、繝ウ隗」譫 216 + // 217 + char[][] cmd = cmd_parse(cmd_str); 218 + 219 + // x莉・螟悶ョ繧ウ繝槭Φ繝峨ッ謇ア繧上↑縺縺ァ譛ャ迚ゥDLL縺ォ蝗槭@縺セ縺吶よウィ諢冗せ縺ィ縺励※シ 220 + // > command 縺ッ繧ウ繝槭Φ繝峨Λ繧、繝ウ縺ョ譛蛻昴ョ蠑墓焚縺ィ縺励※縺上□縺輔>縲ゅ↑縺翫…ommand 繧堤怐逡・ 221 + // > 縺励◆蝣エ蜷医ッ 'x' command 縺梧欠螳壹&繧後◆繧ゅョ縺ィ縺ソ縺ェ縺励∪縺吶 222 + if( cmd.length == 0 ) 223 + return UNSUPPORTED; 224 + if( cmd[0].length == 1 ) 225 + { 226 + if( 0 <= find("adjlmnstvADJLMNSTV", cmd[0][0]) ) 227 + return UNSUPPORTED; 228 + if( cmd[0][0]=='x' || cmd[0][0]=='X' ) 229 + cmd = cmd[1 .. length]; 230 + } 231 + 232 + // 窶サ 縺薙ョ譎らせ縺ァ縲…md縺ォ縺ッcommand繧帝勁縺縺滓ョ九j縺ョ蠑墓焚縺悟・縺」縺ヲ縺繧九ッ縺 233 + 234 + // 235 + // 繧ケ繧、繝繝∬ァ」譫舌∝シ墓焚隗」譫 236 + // 237 + bool all_attrs = false; // -a 238 + bool silent = false; // -i 239 + bool ignore_dir = false; // -j 240 + bool newfile_only = false; // -n 241 + bool force_overwrite = false; // -o 242 + bool recursive = false; // -r 243 + bool sanitize_path = true; 244 + 245 + char[] arc_name = null; 246 + char[] base_dir = null; 247 + char[][] paths; 248 + 249 + foreach( char[] param ; cmd ) 250 + if( param[0] == '-' ) 251 + switch( param[1] ) 252 + { 253 + case 'a','A': all_attrs = true; break; 254 + case 'i','I': silent = true; break; 255 + case 'j','J': ignore_dir = true; break; 256 + case 'n','N': newfile_only = true; break; 257 + case 'o','O': force_overwrite = true; break; 258 + case 'r','R': recursive = true; break; 259 + default: break; 260 + } 261 + else if( arc_name is null ) 262 + { 263 + arc_name = param; 264 + } 265 + else if( base_dir is null ) 266 + { 267 + if( lastChar(param) == '\\' ) 268 + base_dir = param; 269 + else { 270 + base_dir.length = GetCurrentDirectory(0,null)+1; 271 + GetCurrentDirectory(base_dir.length, base_dir); 272 + base_dir.length = strlen(base_dir); 273 + if( lastChar(base_dir) != '\\' ) 274 + base_dir ~= '\\'; 275 + } 276 + } 277 + else 278 + paths ~= param; 279 + 280 + // 281 + // 螻暮幕蜃ヲ逅縺ォGo! 282 + // 283 + ProgressDlg dlg = null; 284 + if( !do_ownerwnd_proc( OP_ARC_BEGIN, null, 0, arc_name ) ) 285 + return 0x8020; 286 + 287 + try 288 + { 289 + if( !silent && g_handler is null ) // -i / OwnerWndProc 290 + { 291 + dlg = new ProgressDlg( 292 + cast(DLGTEMPLATE*) g_orig_dll.load_dialog("#2025"), wnd ); 293 + dlg.set_arcname(arc_name); 294 + } 295 + 296 + char[] src_fname; // OwnerWndProc髢「菫 297 + BgaHeader cur_hdr; // OwnerWndProc髢「菫 298 + 299 + BgaAnswer handler( inout BgaHeader hdr ) 300 + { 301 + src_fname = hdr.fname; 302 + process_messages(); 303 + 304 + // paths 305 + if( paths.length > 0 ) 306 + { 307 + char[] fname = // -r 308 + (recursive ? hdr.fname[hdr.dir_name_len..length] 309 + : hdr.fname); 310 + foreach( char[] w ; paths ) 311 + if( wild_match( w, fname ) ) 312 + goto ok; 313 + return BgaAnswer.SkipIt; 314 + ok:; 315 + } 316 + // -a 317 + if( !all_attrs && (hdr.attrib&6) ) 318 + return BgaAnswer.SkipIt; 319 + // dialog 320 + if( dlg ) 321 + if( dlg.closed ) 322 + return BgaAnswer.Abort; 323 + else 324 + dlg.set_filename( hdr.fname[hdr.dir_name_len .. length] ); 325 + // -j 326 + if( ignore_dir ) 327 + hdr.fname = hdr.fname[hdr.dir_name_len .. length]; 328 + // sanitize 329 + if( sanitize_path ) 330 + hdr.fname = check_path(hdr.fname); 331 + // base_dir 332 + hdr.fname = base_dir ~ hdr.fname; 333 + // -o 334 + if( !force_overwrite ) 335 + try { 336 + if( std.file.exists(hdr.fname) && std.file.isfile(hdr.fname) ) 337 + // -n 338 + if( newfile_only ) 339 + { 340 + if( newer_than(hdr.date,hdr.time,hdr.fname) ) 341 + return BgaAnswer.SkipIt; 342 + } 343 + else 344 + { 345 + int r = MessageBox( dlg?dlg.hwnd:wnd, 346 + toStringz("Overwrite "~hdr.fname~" ?"), 347 + "QBga32.dll", MB_YESNOCANCEL ); 348 + if( r == IDNO ) return BgaAnswer.SkipIt; 349 + if( r == IDCANCEL ) return BgaAnswer.Abort; 350 + } 351 + } catch {} 352 + 353 + cur_hdr = hdr; 354 + if( !do_ownerwnd_proc( OP_FILE_BEGIN, &cur_hdr, 0, src_fname ) ) 355 + return BgaAnswer.Abort; 356 + return BgaAnswer.MeltIt; 357 + } 358 + 359 + BgaAnswer progress_handler( int cur, int max ) 360 + { 361 + process_messages(); 362 + if( dlg ) 363 + if( dlg.closed ) 364 + return BgaAnswer.Abort; 365 + else 366 + dlg.set_pos( cast(real)(cur)/max ); 367 + if( !do_ownerwnd_proc( OP_FILE_MIDDLE, &cur_hdr, cur, src_fname ) ) 368 + return BgaAnswer.Abort; 369 + return BgaAnswer.MeltIt; 370 + } 371 + 372 + (new BgaMelter(arc_name)).start(&handler,&progress_handler); 373 + } 374 + catch( BgaMelterError e ) 375 + { 376 + return e.errcode; 377 + } 378 + finally 379 + { 380 + do_ownerwnd_proc( OP_ARC_END, null, 0, arc_name ); 381 + if( dlg ) 382 + dlg.close(); 383 + } 384 + return 0; 385 +} 386 + 387 +//---------------------------------------------------------------- 388 +// 邨ア蜷医い繝シ繧ォ繧、繝植PIシ壼ョ溯」( SetOwnerWindow ) 389 +//---------------------------------------------------------------- 390 + 391 +align(1) struct EXTRACTINGINFO 392 +{ 393 + DWORD dwFileSize; 394 + DWORD dwWriteSize; 395 + char szSourceFileName[512 + 1]; 396 + char dummy1[3]; 397 + char szDestFileName[512 + 1]; 398 + char dummy[3]; 399 +} 400 +align(1) struct EXTRACTINGINFOEX 401 +{ 402 + EXTRACTINGINFO exinfo; 403 + DWORD dwCompressedSize; 404 + DWORD dwCRC; 405 + UINT uOSType; 406 + WORD wRatio; 407 + WORD wDate; 408 + WORD wTime; 409 + char szAttribute[8]; 410 + char szMode[8]; 411 +} 412 + 413 +HWND g_owner_window; 414 +extern(Windows) BOOL function(HWND,UINT,UINT,EXTRACTINGINFOEX*) g_handler; 415 +extern(Windows) BOOL noex_handler( HWND w,UINT m,UINT s, EXTRACTINGINFOEX* e ) 416 +{ 417 + return !SendMessage( w, m, s, cast(LPARAM) &e.exinfo ); 418 +} 419 + 420 +void BgaSetOwnerWindow_impl( HWND wnd ) 421 +{ 422 + g_owner_window = wnd; 423 + g_handler = &noex_handler; 424 +} 425 + 426 +void BgaClearOwnerWindow_impl() 427 +{ 428 + g_owner_window = null; 429 + g_handler = null; 430 +} 431 + 432 +void BgaSetOwnerWindowEx_impl( HWND wnd, ARCHIVERPROC* proc ) 433 +{ 434 + g_owner_window = wnd; 435 + g_handler = *proc; 436 +} 437 + 438 +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 ) 440 +{ 441 + if( g_handler is null ) 442 + return true; 443 + EXTRACTINGINFOEX ex; 444 + if( uState == OP_ARC_BEGIN || uState == OP_ARC_END ) 445 + { 446 + lstrcpyn( ex.exinfo.szSourceFileName, toStringz(src_fname), 512 ); 447 + } 448 + else 449 + { 450 + ex.exinfo.dwFileSize = hdr.original_size; 451 + ex.exinfo.dwWriteSize = cur; 452 + lstrcpyn( ex.exinfo.szSourceFileName, toStringz(src_fname), 512 ); 453 + lstrcpyn( ex.exinfo.szDestFileName, toStringz(hdr.fname), 512 ); 454 + ex.dwCompressedSize = hdr.compressed_size; 455 + ex.wRatio = cast(int)( (cast(real)hdr.compressed_size)/hdr.original_size*1000 ); 456 + ex.wDate = hdr.date; 457 + ex.wTime = hdr.time; 458 + ex.szAttribute[0] = (hdr.attrib&32 ? 'A': '-'); 459 + ex.szAttribute[1] = (hdr.attrib&1 ? 'R': '-'); 460 + ex.szAttribute[2] = (hdr.attrib&2 ? 'H': '-'); 461 + ex.szAttribute[3] = (hdr.attrib&4 ? 'S': '-'); 462 + ex.szAttribute[4] = (hdr.attrib&16 ? 'D': '-'); 463 + ex.szAttribute[5] = '\0'; 464 + if( hdr.method[0]=='G' ) 465 + lstrcpy(ex.szMode,"-gzip-"); 466 + else 467 + lstrcpy(ex.szMode,"-bzip2-"); 468 + } 469 + 470 + return false != g_handler( g_owner_window, WM_ARCEXTRACT, uState, &ex ); 471 +} 472 + 473 +//---------------------------------------------------------------- 474 +// 繝代せ讀懈渊邉サ 475 +//---------------------------------------------------------------- 476 + 477 +alias std.c.windows.windows.IsDBCSLeadByte isDL; 478 +char[] replace_yen( char[] s ) 479 +{ 480 + char[] ans; 481 + int j=0; 482 + for(int i=0; i!=s.length; i=i+(isDL(s[i])?2:1)) 483 + if( s[i] == '\\' ) 484 + ans~=s[j .. i], ans~='/', j=i+1; 485 + ans ~= s[j .. length]; 486 + return ans; 487 +} 488 + 489 +bool wild_match( char[] wild, char[] name ) 490 +{ 491 + bool wild_match_nopath( char[] w, char[] s ) 492 + { 493 + char[] advance( char[] s ) 494 + { 495 + return s[(IsDBCSLeadByte(s[0])?2:1) .. length]; 496 + } 497 + 498 + while( w.length>0 ) 499 + switch( w[0] ) 500 + { 501 + case '?': 502 + if( s.length==0 ) 503 + return false; 504 + w = advance(w); 505 + s = advance(s); 506 + break; 507 + case '*': 508 + if( s.length==0 ) 509 + return false; 510 + w = advance(w); 511 + if( w.length == 0 ) 512 + return true; 513 + for( ; s.length!=0; s=advance(s) ) 514 + if( wild_match_nopath(w,s) ) 515 + return true; 516 + return false; 517 + default: 518 + if( s.length==0 ) 519 + return false; 520 + if( isDL(w[0]) ) 521 + { if( w[0..2] != s[0..2] ) return false; } 522 + else 523 + { if( w[0] != s[0] ) return false; } 524 + w = advance(w); 525 + s = advance(s); 526 + break; 527 + } 528 + return s.length==0; 529 + } 530 + 531 + if( wild=="" || wild=="*.*" || wild=="*" || wild=="**" ) 532 + return true; 533 + 534 + char[][] wilds = split( replace_yen( tolower(wild) ), "/" ); 535 + char[][] names = split( replace_yen( tolower(name) ), "/" ); 536 + 537 + if( wilds.length != names.length ) 538 + return false; 539 + for(int i=0; i!=wilds.length; ++i) 540 + if( wilds[i]!="*.*" && wilds[i]!="*" && wilds[i]!="**" ) 541 + if( !wild_match_nopath( wilds[i], names[i] ) ) 542 + return false; 543 + return true; 544 +} 545 + 546 +char[] check_path( char[] path ) 547 +{ 548 + // C:\ ==> C_\ 549 + if( path.length>=2 && path[1]==':' ) 550 + path = path.dup, path[1] = '_'; 551 + 552 + // \\hoge ==> hoge 553 + // /hoge ==> hoge 554 + while( path.length>0 && (path[0]=='\\'||path[0]=='/') ) 555 + path = path[1..length]; 556 + 557 + // .. ==> __ 558 + char[][] paths = split( replace_yen(path), "/" ); 559 + L1: 560 + foreach( inout char[] pc ; paths ) 561 + if( pc.length >= 2 ) 562 + { 563 + foreach( char c ; pc ) 564 + if( c != '.' ) 565 + continue L1; 566 + pc = replace( pc, ".", "_" ); 567 + } 568 + 569 + return join( paths, "\\" ); 570 +} 571 + 572 + 573 + 574 +//---------------------------------------------------------------- 575 +// 邁。譏薙ユ繧ケ繝茨シ繧ゅ▲縺ィ繝槭ず繝。縺ォ譖ク縺九↑縺阪c窶ヲ 576 +//---------------------------------------------------------------- 577 + 578 +unittest 579 +{ 580 + assert( check_path(`\\\\hoge\fuga`)==`hoge\fuga` ); 581 + assert( check_path(`/usr/local/`)==`usr\local\` ); 582 + assert( check_path(`..\abc def\...\.\g`)==`__\abc def\___\.\g` ); 583 + assert( wild_match(`a/b/c`,`A\b\C`) ); 584 + assert( wild_match(`a/*.*/a?x`,`A\hoge\Afx`) ); 585 + assert( Bga_impl(null,"a hoge") < 0 ); 586 +}

Added src/qbga32.def version [de6ead6df7563eae]

1 +LIBRARY QBGA32 2 +DESCRIPTION 'Quasi Bga32 DLL' 3 + 4 +EXETYPE NT 5 +CODE PRELOAD DISCARDABLE 6 +DATA PRELOAD SINGLE 7 + 8 +EXPORTS 9 + Bga @1 10 + BgaGetVersion @2 11 + BgaGetRunning @10 12 + BgaCheckArchive @11 13 + BgaConfigDialog @12 14 + BgaGetFileCount @17 15 + BgaQueryFunctionList @18 16 + BgaOpenArchive @21 17 + BgaCloseArchive @22 18 + BgaFindFirst @23 19 + BgaFindNext @24 20 + BgaGetArcOriginalSize @33 21 + BgaGetArcCompressedSize @34 22 + BgaGetArcRatio @35 23 + BgaSetOwnerWindow @90 24 + BgaClearOwnerWindow @91 25 + BgaSetOwnerWindowEx @51 26 + BgaKillOwnerWindowEx @52 27 + BgaSetEnumMembersProc @99 28 + BgaClearEnumMembersProc @100 29 + QBgaGetVersion @178

Added src/qbga_gui.d version [983218cb4853f610]

1 +サソprivate import std.string; 2 +private import win32.ansi.windows; 3 +private import win32.ansi.commctrl; 4 +private import qbga32; 5 + 6 +void process_messages() 7 +{ 8 + for( MSG msg; PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ); ) 9 + { 10 + TranslateMessage( &msg ); 11 + DispatchMessage( &msg ); 12 + } 13 +} 14 + 15 +// 螳溯」邯呎価(w 16 + 17 +class Dialog 18 +{ 19 +public: 20 + HWND hwnd() 21 + { 22 + return handle; 23 + } 24 + 25 +protected: 26 + void on_init() { MessageBox(null,"xxx",null,MB_OK); } 27 + bool on_ok() { return false; } 28 + bool on_cancel() { return false; } 29 + bool on_command( UINT cmd ) { return false; } 30 + bool on_message( UINT msg, WPARAM wp, LPARAM lp ) { return false; } 31 + 32 + extern(Windows) private static BOOL 33 + static_dlg_proc( HWND dlg, UINT msg, WPARAM wp, LPARAM lp ) 34 + { 35 + if( msg == WM_INITDIALOG ) 36 + { 37 + SetWindowLong( dlg, GWL_USERDATA, lp ); 38 + 39 + Dialog ptr = cast(Dialog) cast(Dialog*) lp; 40 + ptr.handle = dlg; 41 + ptr.on_init(); 42 + return FALSE; 43 + } 44 + 45 + Dialog ptr = cast(Dialog) cast(Dialog*) GetWindowLong(dlg,GWL_USERDATA); 46 + if( ptr is null ) 47 + return FALSE; 48 + 49 + if( msg == WM_COMMAND ) 50 + if( LOWORD(wp) == IDOK ) 51 + return ptr.on_ok(); 52 + else if( LOWORD(wp) == IDCANCEL ) 53 + return ptr.on_cancel(); 54 + else 55 + return ptr.on_command( LOWORD(wp) ); 56 + return ptr.on_message(msg,wp,lp); 57 + } 58 + 59 +protected: 60 + HWND handle; 61 + void BeginModeless( DLGTEMPLATE* dlg_template, HWND parent ) 62 + { 63 + CreateDialogIndirectParam( 64 + g_hinst, 65 + dlg_template, 66 + parent, 67 + &static_dlg_proc, 68 + cast(LPARAM) cast(Dialog*) this 69 + ); 70 + } 71 + 72 + int BeginModal( DLGTEMPLATE* dlg_template, HWND parent ) 73 + { 74 + return DialogBoxIndirectParam( 75 + g_hinst, 76 + dlg_template, 77 + parent, 78 + &static_dlg_proc, 79 + cast(LPARAM) cast(Dialog*) this 80 + ); 81 + } 82 + 83 + void set_item_text( int ID, char[] str ) 84 + { 85 + SetDlgItemText( handle, ID, toStringz(str) ); 86 + } 87 + 88 + int send_item_msg( int ID, UINT msg, WPARAM wp=0, LPARAM lp=0 ) 89 + { 90 + return SendDlgItemMessage( handle, ID, msg, wp, lp ); 91 + } 92 +} 93 + 94 +//------------------------------------------------------------ 95 +// #2025 [繝輔ぃ繧、繝ォ繧呈桃菴應クュ] 96 +// 2006 : 譖ク蠎ォ蜷 97 +// 2007 : 繝輔ぃ繧、繝ォ蜷搾シ医ヱ繧ケ辟。縺暦シ 98 +// 2024 : 繝励Ο繧ー繝ャ繧ケ繝舌シ 99 +// 2 : 繧ュ繝」繝ウ繧サ繝ォ繝懊ち繝ウ 100 +//------------------------------------------------------------ 101 + 102 +class ProgressDlg : Dialog 103 +{ 104 + this( DLGTEMPLATE* dlg_template, HWND parent ) 105 + { 106 + BeginModeless( dlg_template, parent ); 107 + } 108 + 109 + void set_arcname ( char[] str ){ set_item_text( 2006, str ); } 110 + void set_filename( char[] str ){ set_item_text( 2007, str ); } 111 + void set_max( real m ) { max = m; } 112 + void set_pos( real p ) { send_item_msg(2024,PBM_SETPOS,cast(int)(p/max*65535),0); } 113 + 114 + bool closed() 115 + { 116 + return !alive; 117 + } 118 + 119 + void close() 120 + { 121 + if( !closed ) 122 + on_cancel(); 123 + } 124 + 125 +protected: 126 + bool alive = false; 127 + real max = 1.0; 128 + 129 + override void on_init() 130 + { 131 + alive = true; 132 + send_item_msg( 2024, PBM_SETRANGE, 0, MAKELPARAM(0,65535) ); 133 + 134 + // 繧サ繝ウ繧ソ繝ェ繝ウ繧ー 135 + RECT rc,pr; 136 + GetWindowRect( handle, &rc ); 137 + HWND par = GetParent(handle); 138 + if( par ) 139 + GetWindowRect( par, &pr ); 140 + else 141 + SystemParametersInfo( SPI_GETWORKAREA, 0, &pr, 0 ); 142 + SetWindowPos( handle, null, 143 + pr.left + ( (pr.right-pr.left)-(rc.right-rc.left) )/2, 144 + pr.top + ( (pr.bottom-pr.top)-(rc.bottom-rc.top) )/2, 145 + 0, 0, SWP_NOSIZE|SWP_NOZORDER ); 146 + 147 + // 陦ィ遉コ 148 + ShowWindow(handle,SW_SHOW); 149 + UpdateWindow(handle); 150 + } 151 + 152 + override bool on_cancel() 153 + { 154 + alive = false; 155 + DestroyWindow(handle); 156 + return true; 157 + } 158 +} 159 + 160 +//------------------------------------------------------------ 161 +// #2000 [繝輔ぃ繧、繝ォ縺ョ荳頑嶌縺咲「コ隱江 162 +// 2006 譖ク蠎ォ蜀繝輔ぃ繧、繝ォ蜷 163 +// 2009 繝輔ぃ繧、繝ォ繧オ繧、繧コ 564,590 Byte 164 +// 2010 譖エ譁ー譌・譎 2004\08\27 03:57:18 165 +// 2007 螟夜Κ繝輔ぃ繧、繝ォ蜷 166 +// 2011 繝輔ぃ繧、繝ォ繧オ繧、繧コ 167 +// 2012 譖エ譁ー譌・譎 168 +// 169 +// 2002:荳頑嶌縺 2004:譌・莉倥′譁ー縺励¢繧後ー荳頑嶌縺 2003:荳頑嶌縺阪@縺ェ縺 170 +// 171 +// 1: OK繝懊ち繝ウ 172 +// 2005: 莉・髯榊ィ縺ヲ縺ォ驕ゥ逕ィ繝懊ち繝ウ 173 +// 2: 繧ュ繝」繝ウ繧サ繝ォ繝懊ち繝ウ 174 +//------------------------------------------------------------ 175 +

Added src/util.d version [97a142a9264ab72a]

1 +サソprivate import std.string; 2 +private import std.file; 3 +private import win32.ansi.windows; 4 + 5 +char lastChar( char[] s ) 6 + { return *CharPrev(s, cast(char*)s+s.length); } 7 + 8 +//---------------------------------------------------------------- 9 +// int do_opApply!(E, C)( collection, delegate ); 10 +// int do_opApply!(E) ( array, delegate ); 11 +// forwarding the opApply call to another collection 12 +//---------------------------------------------------------------- 13 + 14 +template do_opApply( Elem, Collection ) 15 +{ 16 + int do_opApply( Collection c, int delegate(inout Elem) dg ) 17 + { 18 + int result = 0; 19 + foreach( Elem x ; c ) 20 + if( 0 != (result=dg(x)) ) 21 + break; 22 + return result; 23 + } 24 +} 25 + 26 +template do_opApply( E ) 27 +{ 28 + int do_opApply( E[] c, int delegate(inout E) dg ) 29 + { 30 + return .do_opApply!(E,E[])( c, dg ); 31 + } 32 +} 33 + 34 +//---------------------------------------------------------------- 35 +// class set!(T) 36 +// add : T -> void 37 +// remove : T -> void 38 +// has : T -> bool 39 +// elems : () -> T[] 40 +// length : () -> int 41 +//---------------------------------------------------------------- 42 + 43 +class set(T) 44 +{ 45 + void add ( T x ) { data[x]; } 46 + void remove( T x ) { delete data[x]; } 47 + bool has ( T x ) { return x in data; } 48 + T[] elems () { return data.keys; } 49 + int opApply( int delegate(inout T) dg ) 50 + { return do_opApply!(T)( elems, dg ); } 51 + int length() { return data.length; } 52 + private void[T] data; 53 +} 54 + 55 +unittest 56 +{ 57 + set!(int) x = new set!(int); 58 + x.add(1); 59 + x.add(2); 60 + x.add(3); 61 + assert( x.elems[0] + x.elems[1] + x.elems[2] == 6 ); 62 + assert( x.length == 3 ); 63 + x.remove(4); 64 + x.remove(3); 65 + x.remove(1); 66 + assert( x.length == 1 ); 67 + foreach( int t ; x ) assert( t==2 ); 68 +} 69 + 70 +//---------------------------------------------------------------- 71 +// 繧ウ繝槭Φ繝峨Λ繧、繝ウ隗」譫 72 +//---------------------------------------------------------------- 73 + 74 +char[][] cmd_parse( char[] str, bool in_resp=false ) 75 +{ 76 + char[][] ans; 77 + char resp_char = '@'; 78 + 79 + for(int i=0; i!=str.length; ) 80 + { 81 + // 遨コ逋ス繧ケ繧ュ繝繝 82 + while( i!=str.length && 0<=str[i] && str[i]<=' ' ) 83 + ++i; 84 + if( i == str.length ) 85 + break; 86 + 87 + // ""繧定諷ョ縺励※荳蛟九ヱ繝ゥ繝。繧ソ蛻繧雁コ縺 88 + char[] param; 89 + if( str[i] == '"' ) 90 + { 91 + int j = ++i; 92 + while( j!=str.length ) 93 + { 94 + if( str[j]=='"' && 95 + (j+1==str.length || 0<=str[j+1] && str[j+1]<=' ') ) 96 + break; 97 + ++j; 98 + } 99 + param = str[i .. j]; 100 + i = (j==str.length ? j : j+1); 101 + } 102 + else 103 + { 104 + int j=i; 105 + while( j!=str.length && (str[j]<0 || ' '<str[j]) ) 106 + ++j; 107 + param = str[i .. j]; 108 + i = j; 109 + } 110 + 111 + // 繝ャ繧ケ繝昴Φ繧ケ繝輔ぃ繧、繝ォ髢「騾」縺ョ蜃ヲ逅 112 + if( !in_resp && param[0]==resp_char ) 113 + { 114 + try { 115 + char[] rsp = cast(char[]) std.file.read( param[1 .. param.length] ); 116 + ans ~= cmd_parse(rsp,true); 117 + } catch( FileException e ) {} 118 + } 119 + else if( param.length>=2 && param[0..2]=="--" ) 120 + { 121 + resp_char = (param.length==2 ? '\0' : param[2]); 122 + } 123 + else 124 + { 125 + ans ~= param; // 譎ョ騾壹↓繝代Λ繝。繧ソ霑ス蜉 126 + } 127 + } 128 + return ans; 129 +} 130 + 131 +//---------------------------------------------------------------- 132 +// DOS蠖「蠑上〒繝輔ぃ繧、繝ォ髻ウ譖エ譁ー譎ょ綾繧呈嶌縺肴鋤縺 133 +//---------------------------------------------------------------- 134 + 135 +void dosSetFTime( char[] fname, ushort date, ushort time ) 136 +{ 137 + FILETIME ft,lc; 138 + if( DosDateTimeToFileTime( date, time, &lc ) ) 139 + if( LocalFileTimeToFileTime( &lc, &ft ) ) 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 ); 147 + if( han==INVALID_HANDLE_VALUE ) 148 + return; 149 + 150 + SetFileTime( han,&ft,NULL,&ft ); 151 + CloseHandle( han ); 152 + } 153 +} 154 + 155 +//---------------------------------------------------------------- 156 +// 謖螳壽凾蛻サ(DOS蠖「蠑)繧医j譁ー縺励>繝輔ぃ繧、繝ォ縺具シ 157 +//---------------------------------------------------------------- 158 + 159 +bool newer_than( ushort d1, ushort t1, char[] fname ) 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 ); 167 + if( han==INVALID_HANDLE_VALUE ) 168 + return false; 169 + FILETIME ft; 170 + GetFileTime( han, null, null, &ft ); 171 + CloseHandle( han ); 172 + 173 + FILETIME lc; 174 + FileTimeToLocalFileTime( &ft, &lc ); 175 + ushort d2, t2; 176 + FileTimeToDosDateTime( &lc, &d2, &t2 ); 177 + 178 + if( d1 < d2 ) 179 + return true; 180 + if( d1 == d2 ) 181 + return (t1 < t2); 182 + return false; 183 +} 184 +

Added 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 +

Added 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 +

Added 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_

Added 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 +

Added 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_

Added 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 +

Added 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_

Added 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 +

Added 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 +

Added 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 +

Added 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 +

Added 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 +

Added 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 +

Added 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_

Added 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 +

Added 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_

Added 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 +

Added 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 +

Added 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_

Added 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 +

Added 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/commctrl.d version [6ba0cccf1cb3b0a8]

1 +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) 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 +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; 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 +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 } 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 +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) 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 +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) 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 +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) 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 +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; 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 +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; 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 +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; 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 +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; 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 +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; 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 +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) 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 +alias NMTVDISPINFOW NMTVDISPINFO; 5616 +alias LPNMTVDISPINFOW LPNMTVDISPINFO; 5617 +// #else 5618 +// #... 5619 +// #... 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 +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) 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 +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 +

Added src/win32/commdlg.d version [6d620068807bb293]

1 +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; 155 +} 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) 253 +} 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; 344 +} 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; 371 + 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 387 + 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 429 + 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 +} 645 +alias tagCHOOSEFONTW CHOOSEFONTW; 646 +alias tagCHOOSEFONTW* LPCHOOSEFONTW; 647 + 648 +// #ifdef UNICODE 649 +alias CHOOSEFONTW CHOOSEFONT; 650 +alias LPCHOOSEFONTW LPCHOOSEFONT; 651 +// #else 652 +// ... 653 +// #endif // UNICODE 654 + 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 662 + 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 */ 695 + 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 } 702 + 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 +

Added src/win32/dde.d version [32515530001c4a7e]

1 +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 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_

Added src/win32/ddeml.d version [cc5f44d13c1d8af5]

1 +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 + 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 +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 } 127 + 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 } 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 +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]; 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 +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 +

Added src/win32/dlgs.d version [ebb2b912f1a508b2]

1 +module win32.dlgs; 2 + 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 + 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_

Added 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/imm.d version [6732090e27c6d34a]

1 +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 + 26 +alias HKL* LPHKL; 27 +alias UINT* LPUINT; 28 + 29 +struct tagCOMPOSITIONFORM { 30 + DWORD dwStyle; 31 + POINT ptCurrentPos; 32 + RECT rcArea; 33 +} 34 +alias tagCOMPOSITIONFORM COMPOSITIONFORM; 35 +alias tagCOMPOSITIONFORM* PCOMPOSITIONFORM; 36 +alias tagCOMPOSITIONFORM* NPCOMPOSITIONFORM; 37 +alias tagCOMPOSITIONFORM* LPCOMPOSITIONFORM; 38 + 39 +struct tagCANDIDATEFORM { 40 + DWORD dwIndex; 41 + DWORD dwStyle; 42 + POINT ptCurrentPos; 43 + RECT rcArea; 44 +} 45 +alias tagCANDIDATEFORM CANDIDATEFORM; 46 +alias tagCANDIDATEFORM* PCANDIDATEFORM; 47 +alias tagCANDIDATEFORM* NPCANDIDATEFORM; 48 +alias tagCANDIDATEFORM* LPCANDIDATEFORM; 49 + 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]; 58 +} 59 +alias tagCANDIDATELIST CANDIDATELIST; 60 +alias tagCANDIDATELIST* PCANDIDATELIST; 61 +alias tagCANDIDATELIST* NPCANDIDATELIST; 62 +alias tagCANDIDATELIST* LPCANDIDATELIST; 63 + 64 +struct tagREGISTERWORDA { 65 + LPSTR lpReading; 66 + LPSTR lpWord; 67 +} 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 90 + 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]; 115 +} 116 +alias tagSTYLEBUFA STYLEBUFA; 117 +alias tagSTYLEBUFA* PSTYLEBUFA; 118 +alias tagSTYLEBUFA* NPSTYLEBUFA; 119 +alias tagSTYLEBUFA* LPSTYLEBUFA; 120 + 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 138 + 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; 190 +} 191 +alias tagIMECHARPOSITION IMECHARPOSITION; 192 +alias tagIMECHARPOSITION* PIMECHARPOSITION; 193 +alias tagIMECHARPOSITION* NPIMECHARPOSITION; 194 +alias tagIMECHARPOSITION* LPIMECHARPOSITION; 195 + 196 +extern(Windows) alias BOOL function(HIMC, LPARAM) IMCENUMPROC; 197 + 198 +// #endif /* WINVER >= 0x040A */ 199 + 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 217 + 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 */ 240 + 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 360 + 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_

Added src/win32/mmsystem.d version [f5def972cae0b61c]

1 +module win32.mmsystem; 2 + 3 +// Translated from Microsoft Platform SDK August 2001 Edition 4 +// by Y.Tomino (demoonlit@inter7.jp) 5 + 6 +import win32.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 +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; 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 +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; 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 +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; 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 +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 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 +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; 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 +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; 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 +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; 1481 + 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); 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 +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; 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 +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 +

Added src/win32/shellapi.d version [165235cd7bb780a4]

1 +module win32.shellapi; 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.winuser; 9 + 10 +// #ifndef _INC_SHELLAPI 11 +// #define _INC_SHELLAPI 12 + 13 +// #ifndef WINSHELLAPI 14 +// #if !defined(_SHELL32_) 15 +// #define WINSHELLAPI DECLSPEC_IMPORT 16 +// #else 17 +// #... 18 +// #endif 19 +// #endif // WINSHELLAPI 20 + 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 30 + 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 40 + 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); 77 + 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; 108 +} 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 + 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; 162 +} 163 +alias _AppBarData APPBARDATA; 164 +alias _AppBarData* PAPPBARDATA; 165 + 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; 248 +} 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 258 + 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; 368 +} 369 + 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; 393 +} 394 + 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 +

Added src/win32/winbase.d version [59684aebe49706fd]

1 +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 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 +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; 1389 +// #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 + 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 +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; 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 +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); 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 +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); 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 +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); 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 +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 ] ; 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 +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; 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 +

Added src/win32/wincon.d version [5ebbf537eec215cc]

1 +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 + 12 +// #ifdef __cplusplus 13 +// extern "C" { 14 +// #endif 15 + 16 +struct _COORD { 17 + SHORT X; 18 + SHORT Y; 19 +} 20 +alias _COORD COORD; 21 +alias _COORD* PCOORD; 22 + 23 +struct _SMALL_RECT { 24 + SHORT Left; 25 + SHORT Top; 26 + SHORT Right; 27 + SHORT Bottom; 28 +} 29 +alias _SMALL_RECT SMALL_RECT; 30 +alias _SMALL_RECT* PSMALL_RECT; 31 + 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; 40 +} 41 + 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; 69 +} 70 +alias _MOUSE_EVENT_RECORD MOUSE_EVENT_RECORD; 71 +alias _MOUSE_EVENT_RECORD* PMOUSE_EVENT_RECORD; 72 + 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 } 78 + 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; 94 + 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; 109 +} 110 + 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; 125 +} 126 + 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 261 + 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 +

Added src/win32/windef.d version [ea907e90fcf49ce3]

1 +module win32.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.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 +

Added src/win32/windows.d version [df032703cbe98ced]

1 +module win32.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.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 +

Added src/win32/winerror.d version [e6836976082781cc]

1 +module win32.winerror; 2 + 3 +// Translated from Microsoft Platform SDK August 2001 Edition 4 +// by Y.Tomino (demoonlit@inter7.jp) 5 + 6 +import win32.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_

Added src/win32/wingdi.d version [8dc90b344401d2c4]

1 +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 } 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 +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 + 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 +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) 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 +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; 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 +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; 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 +alias GetKerningPairsW GetKerningPairs; 3736 +// #else 3737 +// #... 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 +alias ICMENUMPROCW ICMENUMPROC; 3759 +// #else 3760 +// #... 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 +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 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 +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 +

Added src/win32/winnls.d version [50bd587780b74515]

1 +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 } 609 + 610 +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, 622 +} 623 + 624 +enum SYSGEOCLASS { 625 + GEOCLASS_NATION = 16, 626 + GEOCLASS_REGION = 14, 627 +} 628 + 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; 648 + 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; 659 + 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 +// #... 687 + 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 759 + 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 887 + 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_

Added src/win32/winnt.d version [5400bf8ccf4a147f]

1 +module win32.winnt; 2 + 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; 1686 +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 + 1827 +alias ACE_HEADER* PACE_HEADER; 1828 + 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; 1874 +} 1875 +alias _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE; 1876 + 1877 +alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; 1878 + 1879 +struct _ACCESS_DENIED_ACE { 1880 + ACE_HEADER Header; 1881 + ACCESS_MASK Mask; 1882 + DWORD SidStart; 1883 +} 1884 +alias _ACCESS_DENIED_ACE ACCESS_DENIED_ACE; 1885 + 1886 +alias ACCESS_DENIED_ACE* PACCESS_DENIED_ACE; 1887 + 1888 +struct _SYSTEM_AUDIT_ACE { 1889 + ACE_HEADER Header; 1890 + ACCESS_MASK Mask; 1891 + DWORD SidStart; 1892 +} 1893 +alias _SYSTEM_AUDIT_ACE SYSTEM_AUDIT_ACE; 1894 + 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; 1901 +} 1902 +alias _SYSTEM_ALARM_ACE SYSTEM_ALARM_ACE; 1903 + 1904 +alias SYSTEM_ALARM_ACE* PSYSTEM_ALARM_ACE; 1905 + 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 + 2217 +alias TOKEN_TYPE* PTOKEN_TYPE; 2218 + 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 } 2352 + 2353 +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 + 2487 +alias QUOTA_LIMITS* PQUOTA_LIMITS; 2488 + 2489 +struct _IO_COUNTERS { 2490 + ULONGLONG ReadOperationCount; 2491 + ULONGLONG WriteOperationCount; 2492 + ULONGLONG OtherOperationCount; 2493 + ULONGLONG ReadTransferCount; 2494 + ULONGLONG WriteTransferCount; 2495 + ULONGLONG OtherTransferCount; 2496 +} 2497 +alias _IO_COUNTERS IO_COUNTERS; 2498 + 2499 +alias IO_COUNTERS* PIO_COUNTERS; 2500 + 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 3235 + 3236 +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 3372 +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; 3383 +} 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; 3438 +} 3439 +alias _IMAGE_DATA_DIRECTORY IMAGE_DATA_DIRECTORY; 3440 +alias _IMAGE_DATA_DIRECTORY* PIMAGE_DATA_DIRECTORY; 3441 + 3442 +enum : uint { IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16 } 3443 + 3444 +struct _IMAGE_OPTIONAL_HEADER { 3445 + 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; 3455 + 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]; 3478 +} 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 + 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]; 3531 +} 3532 +alias _IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER64; 3533 +alias _IMAGE_OPTIONAL_HEADER64* PIMAGE_OPTIONAL_HEADER64; 3534 + 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 } 3539 + 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; 3632 +} 3633 + 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; 3654 + 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 } 3732 + 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; 3833 +} 3834 + 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 } 4125 + 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 +

Added src/win32/winreg.d version [76d5fcec592c7fdf]

1 +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 */ 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 +alias PVALUEW PVALUE; 68 +alias PPVALUEW PPVALUE; 69 +// #else 70 +// ... 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 +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 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 +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 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 +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 +

Added 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/winspool.d version [cc2fc3e0b2848583]

1 +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; 26 +} 27 +alias _PRINTER_INFO_1A PRINTER_INFO_1A; 28 +alias _PRINTER_INFO_1A* PPRINTER_INFO_1A; 29 +alias _PRINTER_INFO_1A* LPPRINTER_INFO_1A; 30 + 31 +struct _PRINTER_INFO_1W { 32 + DWORD Flags; 33 + LPWSTR pDescription; 34 + LPWSTR pName; 35 + LPWSTR pComment; 36 +} 37 +alias _PRINTER_INFO_1W PRINTER_INFO_1W; 38 +alias _PRINTER_INFO_1W* PPRINTER_INFO_1W; 39 +alias _PRINTER_INFO_1W* LPPRINTER_INFO_1W; 40 + 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; 71 +} 72 +alias _PRINTER_INFO_2A PRINTER_INFO_2A; 73 +alias _PRINTER_INFO_2A* PPRINTER_INFO_2A; 74 +alias _PRINTER_INFO_2A* LPPRINTER_INFO_2A; 75 + 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; 122 +} 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; 213 +} 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; 379 +} 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 + 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; 412 + 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 420 + 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 471 +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 738 +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; 754 + 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 772 + 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; 790 +} 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 + 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 802 + 803 +enum : uint { DI_CHANNEL = 1 } 804 + 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; 816 + 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 834 + 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; 850 +} 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 + 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 957 + 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_

Added src/win32/winuser.d version [48b85ca4f30327f3]

1 +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 + 41 +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 + 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 +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 */ 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 +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); 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 +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 */ 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 +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 */ 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 +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 */ 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 +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 4181 +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 4205 +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; 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 +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 4510 +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 4542 +alias SetMenuItemInfoW SetMenuItemInfo; 4543 +// #else 4544 +// #... 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 +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 + 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 } 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 +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 +

Added src/win32/winver.d version [e2bb31df25854a97]

1 +module win32.winver; 2 + 3 +// Translated from Microsoft Platform SDK August 2001 Edition 4 +// by Y.Tomino 5 + 6 +import win32.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 + ); 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 +

Added src/win32a.lib version [139cb548220b7d2b]

cannot compute difference between binary files

Added src/windll.d version [66565a0003521f7b]

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